1 |
1
클라이언트 디바이스와 통신 연결되어 데이터를 송수신하는 연결부와;
상기 연결부에 통신 연결된 상기 클라이언트 디바이스의 제1클래스 정보를 포함한 장치정보가 등록되는 저장부; 그리고
상기 저장부에 등록된 상기 장치정보에 따라 상기 클라이언트 디바이스를 제어하는 제어부를 포함하고:
상기 제어부는,
상기 클라이언트 디바이스의 클래스 변경 요구의 발생하는 경우, 상기 저장부에 등록된 상기 장치정보 내에 포함된 상기 제1클래스 정보를 삭제하고, 상기 연결부를 통해 상기 클라이언트 디바이스로 클래스 변경 명령을 전송함을 특징으로 하는 호스트 디바이스
|
2 |
2
제1항에 있어서,
상기 제어부는,
상기 클래스 변경 명령에 응답하여 상기 클라이언트 디바이스로부터 제2클래스 정보가 상기 연결부로 수신되면,
수신된 상기 제2클래스 정보를 상기 저장부에 등록함을 특징으로 하는 호스트 디바이스
|
3 |
3
제1항에 있어서,
상기 연결부는,
범용 직렬 버스 인터페이스(Universal Serial Bus Interface)에 의한 통신방식에 의함을 특징으로 하는 호스트 디바이스
|
4 |
4
제1항에 있어서,
상기 클래스 변경 요구의 발생 여부는,
상기 연결부로 송수신되는 데이터의 형식 또는 데이터 전송 방식에 의하여 판단됨을 특징으로 하는 호스트 디바이스
|
5 |
5
제1항에 있어서,
상기 클래스 변경 요구의 발생 여부는,
상기 호스트 디바이스에서 상기 클라이언트 디바이스와 연동되어 실행되는 응용프로그램의 종류에 의하여 판단됨을 특징으로 하는 호스트 디바이스
|
6 |
6
제1항에 있어서,
상기 클래스 변경 명령은,
ioctl(Input-Output-Control) 인터페이스에 의한 명령임을 특징으로 하는 호스트 디바이스
|
7 |
7
제2항에 있어서,
상기 클래스 변경 명령은,
상기 클라이언트 디바이스에 대한 상기 호스트 디바이스와의 연결 리셋 명령과, 변경될 클래스 정보를 포함하는 것을 특징으로 하는 호스트 디바이스
|
8 |
8
제2항에 있어서,
상기 호스트 디바이스는,
파일 전송 버퍼를 더 포함하여 구성됨을 특징으로 하는 호스트 디바이스
|
9 |
9
제8항에 있어서,
상기 제어부는,
상기 제1클래스 정보가 대용량저장매체클래스(Mass storage class) 정보이고, 스트리밍클래스(Streaming class)로의 클래스 변경 명령에 응답하여 상기 클라이언트 디바이스로부터 수신된 상기 제2클래스 정보가 상기 스트리밍 클래스 정보와 일치하지 않는 것으로 판단되면,
전송할 파일 데이터를 상기 파일 전송 버퍼에 저장되는 크기로 순차적으로 나누어 상기 파일 전송 버퍼에 기입하고, 상기 파일 전송 버퍼에 기입된 데이터를 상기 연결부를 통해 상기 클라이언트 디바이스로 전송하는 것을 반복수행함을 특징으로 하는 호스트 디바이스
|
10 |
10
호스트 디바이스와 통신 연결되어 데이터를 송수신하는 인터페이스와;
기본 클래스로 설정된 제1클래스 정보를 포함한 장치정보를 비롯한 각종 정보가 저장되는 메모리; 그리고
상기 인터페이스에 상기 호스트 디바이스가 통신 연결되면 상기 메모리에 저장된 상기 장치정보를 전송하는 컨트롤러를 포함하고:
상기 컨트롤러는,
상기 호스트 디바이스로부터 상기 인터페이스를 통해 클래스 변경 명령이 전송되면, 상기 호스트 디바이스와의 연결을 리셋하고, 상기 클래스 변경 명령에 포함된 제2클래스 정보가 상기 메모리 내에 저장되어 있는지 여부를 검색하여 상기 제2클래스 정보를 상기 인터페이스를 통해 상기 호스트 디바이스로 전송함을 특징으로 하는 클라이언트 디바이스
|
11 |
11
제10항에 있어서,
상기 컨트롤러는,
상기 클래스 변경 명령에 포함된 제2클래스 정보가 상기 메모리 내에 저장되어 있지 않으면, 상기 제1클래스 정보를 상기 인터페이스를 통해 상기 호스트 디바이스로 전송함을 특징으로 하는 클라이언트 디바이스
|
12 |
12
제10항에 있어서,
상기 인터페이스는,
범용 직렬 버스 인터페이스(Universal Serial Bus Interface)에 의한 통신방식에 의함을 특징으로 하는 호스트 디바이스
|
13 |
13
(A) 클라이언트 디바이스가 제1클래스 정보를 이용하여 호스트 디바이스에 통신 연결되는 단계와;
(B) 클래스 변경 요구가 발생하는지 여부를 판단하는 단계와;
(C) 상기 클래스 변경 요구가 발생 되면 변경할 클래스를 선택하는 단계; 그리고
(D) 선택된 클래스로의 클래스 변경 명령을 상기 클라이언트 디바이스로 전송하는 단계를 포함하여 수행됨을 특징으로 하는 디바이스 클래스 변경 방법
|
14 |
14
제13항에 있어서,
상기 (A) 단계는,
(A1) 상기 호스트 디바이스가 상기 클라이언트 디바이스의 연결을 감지하는 단계와;
(A2) 상기 호스트 디바이스가 상기 클라이언트 디바이스로 장치정보를 요청하는 단계와;
(A3) 상기 호스트 디바이스의 요청에 응답하여 상기 클라이언트 디바이스로부터 상기 제1클래스 정보를 포함한 장치정보가 수신되는 단계;그리고
(A4) 수신된 상기 장치정보를 저장하고, 상기 장치정보에 따라 디바이스 드라이버를 선택하여 실행하는 단계를 포함하여 수행됨을 특징으로 하는 디바이스 클래스 변경 방법
|
15 |
15
제13항에 있어서,
상기 (B) 단계에서 상기 클래스 변경 요구의 발생 여부는,
상기 호스트 디바이스와 상기 클라이언트 디바이스 사이에 송수신되는 데이터의 형식 또는 데이터 전송 방식에 의하여 판단됨을 특징으로 하는 디바이스 클래스 변경 방법
|
16 |
16
제13항에 있어서,
상기 (B) 단계에서 상기 클래스 변경 요구의 발생 여부는,
상기 호스트 디바이스에서 상기 클라이언트 디바이스와 연동되어 실행되는 응용프로그램의 종류에 의하여 판단됨을 특징으로 하는 디바이스 클래스 변경 방법
|
17 |
17
제13항에 있어서,
상기 클래스 변경 명령은,
ioctl(Input-Output-Control) 명령임을 특징으로 하는 디바이스 클래스 변경 방법
|
18 |
18
제13항에 있어서,
상기 디바이스 클래스 변경 방법은,
(E) 상기 클래스 변경 명령의 전송 후에 상기 호스트 디바이스와 상기 클라이언트 디바이스 사이의 통신연결이 리셋되는 단계와;
(F) 상기 클래스 변경 명령에 응답하여 상기 클라이언트 디바이스로부터 제2클래스 정보가 수신되는 단계; 그리고
(G) 수신된 상기 제2클래스 정보를 저장하고 상기 제2클래스 정보에 따라 상기 호스트 디바이스와 상기 클라이언트 디바이스의 연결을 재설정하는 단계를 더 포함하여 수행됨을 특징으로 하는 디바이스 클래스 변경 방법
|
19 |
19
(a) 호스트 디바이스로 클라이언트 디바이스가 대용량저장매체클래스(Mass storage class)로 통신연결되는 단계와;
(b) 호스트 디바이스 내에서 스트리밍(streaming) 방식의 파일 전송 명령이 발생하는 단계와;
(c) 상기 클라이언트 디바이스가 스트리밍클래스를 지원하는지 여부를 판단하는 단계와;
(d) 상기 클라이언트 디바이스가 스트리밍클래스를 지원하면 상기 호스트 디바이스와 상기 클라이언트 디바이스 사이의 연결을 스트리밍 클래스로 재설정하는 단계를 포함하여 수행됨을 특징으로 하는 디바이스 클래스 변경 방법
|
20 |
20
제19항에 있어서,
상기 클래스 변경 방법은,
(e1) 상기 (c) 단계에서 상기 클라이언트 디바이스가 스트리밍클래스를 지원하지 않는 것으로 판단되면, 상기 호스트 디바이스가 전송하고자 하는 파일 데이터를 상기 호스트 디바이스에 구비된 버퍼 크기로 나누어 상기 버퍼에 로드하는 단계와;
(e2) 상기 버퍼에 로드된 데이터를 상기 클라이언트 디바이스로 전송하는 단계; 그리고
(e3) 파일 전체의 전송이 완료될 때까지 상기 (e1)단계와, 상기 (e2)단계를 반복수행하는 단계를 더 포함하여 수행됨을 특징으로 하는 디바이스 클래스 변경 방법
|