KR20010085354A - Usb 호스트에서 usb 장치 종속 프로그램을 실행하기위해 usb 장치에 의해 제공되는 에이전트 - Google Patents

Usb 호스트에서 usb 장치 종속 프로그램을 실행하기위해 usb 장치에 의해 제공되는 에이전트 Download PDF

Info

Publication number
KR20010085354A
KR20010085354A KR1020010006170A KR20010006170A KR20010085354A KR 20010085354 A KR20010085354 A KR 20010085354A KR 1020010006170 A KR1020010006170 A KR 1020010006170A KR 20010006170 A KR20010006170 A KR 20010006170A KR 20010085354 A KR20010085354 A KR 20010085354A
Authority
KR
South Korea
Prior art keywords
agent
peripheral device
usb
data processing
applet
Prior art date
Application number
KR1020010006170A
Other languages
English (en)
Other versions
KR100424993B1 (ko
Inventor
카토로버트토마스
도푹키
맥시밀렌유진마이클
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20010085354A publication Critical patent/KR20010085354A/ko
Application granted granted Critical
Publication of KR100424993B1 publication Critical patent/KR100424993B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Systems (AREA)

Abstract

유니버설 시리얼 버스(USB) 장치가 플러그인되는 경우, USB 장치는 실제로 "대용량 기억 장치"(또는 입력 가능한 소정의 장치)가 아니더라도, "대용량 기억 장치"로서 열거된다. USB 장치 에이전트가 실행 파일의 형태로 USB 장치상의 기억 장치에 포함될 것이다. 장치가 "대용량 기억 장치"로서 처음으로 열거된 후에, 사용자는 "대용량 기억 장치"를 선택하고 에이전트를 포함하는 적당한 실행 파일을 실행한다. 이어서, 에이전트는 호스트 하드 파일 상에 스스로를 인스톨할 것이고 그 후에 다른 호환 가능 USB 장치와 함께 기능할 수 있다. 그러면 에이전트는 호환 가능 장치가 실제대로 재열거되도록 명령할 수 있다. 에이전트는 또한 강화된 호스트/장치 상호작용 및 강화된 장치 기능 및 진단을 가능하게 할 수 있다.

Description

USB 호스트에서 USB 장치 종속 프로그램을 실행하기 위해 USB 장치에 의해 제공되는 에이전트{AGENT PROVIDED BY USB DEVICE FOR EXECUTING USB DEVICE DEPENDENT PROGRAM IN USB HOST}
본 발명은 일반적으로 데이터 처리 시스템에 관한 것으로, 특히 USB 장치에 결합하기에 적합한 데이터 처리 시스템에 관한 것이다.
과거 몇년 내에, 민간 제조업자 협회가 다수의 주변 장치를 개인용 컴퓨터에 동시에 연결하기 위한 보편적인 표준 및 방법을 만들었다. 이 표준은 유니버설 시리얼 버스(USB, Universal Serial Bus)라고 부른다. USB는 통신 아키텍쳐 또는 "버스(bus)" 인데, 이것은 상대적으로 단순한 케이블을 통해 광범위한 종류의 장치 또는 주변 장치를 상호접속할 수 있는 개인용 컴퓨터를 제공한다. 케이블이 설치된 주변 장치는 호스트 스케줄 부울 기반 프로토콜(host-scheduled, boolean based protocol)을 통해 USB 대역폭을 공유한다. 호스트 및 다른 주변 장치가 동작하는 동안, 버스는 주변 장치가 부착되고, 구성되고, 이용되고 분리되도록 하게 한다. USB는 이전에 특정 목적 인터페이스에 부착되고 직접 하드웨어 방법에 의해 액세스되었던 주변 장치의 재배치를 가능하게 한다.
입력/출력(I/O) 장치는 설치 또는 셋업 데이터, 진단 프로그램, 드라이버, 튜터리얼(tutorial), "리드미(readme)" 파일 및 다른 정보를 포함하는 디스켓에 설치된다. 필요할 때 그러한 디스켓은 종종 잘못 배치되거나 이용될 수 없게 된다.
USB 장치에 대해서, 본 발명은 그러한 디스켓을 제거하고 기능을 부가한다.
본 발명은 상술한 필요를 해결한다. 파워 업 후에, USB 장치는 상기 장치가 실제로 "대용량 기억 장치"가 아니더라도, "대용량 기억 장치"(통상적으로 하드 파일, CD ROM 또는 플로피 드라이브)로서 열거된다. 운영 시스템(OS) 독립 (예컨데 자바(Java)에 기록된) USB 장치 에이전트는 실행 파일(.exe)의 형태로 USB 장치의 ROM 또는 EPROM에 포함될 것이다. 장치가 처음에 "대용량 기억 장치"로서 열거된 후에, 사용자는 윈도우 익스플로러 또는 DOS 윈도우 등을 실행시키고, "대용량 기억 장치"(j: 또는 k: 와 같은 문자로 표시함)를 선택하고, 에이전트를 포함하는 적당한 .exe 파일을 실행하는 것이 필요하게 될 것이다. 그 다음 에이전트는 그 자체를 호스트 하드 파일에 설치할 것이고, 그런 다음에 어떤 다른 호환성 있는 USB 장치와 함께 기능할 수 있다. 에이전트 소프트웨어는 단지 로드될 필요가 있다.
장치 에이전트는 호환성 있는 USB 장치가 열거되는 때를 검출할 것이고, 그런 다음 장치 종속 정보에 대한 장치를 질의할 것이다. 이 정보는 어떤 종류의 정보와 소프트웨어가 장치를 지원하기에 유용한지와 어디에서 정보가 획득될 수 있는지를 포함할 것이다.
대안적으로, USB 장치는 호스트에 데이터를 입력할 수 있고 부가적인 드라이버에 대한 필요 없이 운영 시스템에 의해 인식될 수 있는 장치로서 열거될 수 있다.
상술한 것은 다음의 본 발명의 상세한 설명이 더 잘 이해되게 하기 위해서 본 발명의 특징 및 기술적 이점을 다소 넓게 약술한 것이다. 본 발명의 부가적인 특징과 이점은 이하에서 본 발명의 청구범위의 주제를 형성하도록 설명될 것이다.
본 발명과 본 발명의 이점의 더 완전한 이해를 위해서, 도면과 결부되어 상세한 설명이 이루어질 것이다.
도 1은 본 발명에 따른 순서도.
도 2는 다른 호환성있는 USB 장치가 대용량 기억 장치로서 열거되는 경우 에이전트 감지의 순서도.
<도면의 주요 부분에 대한 부호의 설명>
101: USB 장치
102: HUB
103: 호스트 컴퓨터
다음의 상세한 설명에서, 본 발명의 완전한 이해를 제공하도록 특정 워드 또는 바이트 길이 등과 같이 다양한 특정한 상세한 설명이 서술된다. 그러나, 본 발명은 그러한 특정한 상세한 설명없이 실행될 수 있다는 것이 당업자에게는 명백할 것이다. 예를 들어, 잘 알려진 회로는 불필요한 상세한 설명으로 본 발명을 불명료하게 하지 않도록 블럭도로 도시된다. 대부분 타이밍 고려 등에 관한 상세한 설명은 그러한 설명이 본 발명의 완전한 이해를 위해 필요하지 않고 관련 기술 분야의 통상적인 기술자의 기술적 범위 내에 있으므로 생략한다.
참조하는 도면에서, 상술되는 소자는 불필요하게 스케일을 표시하지 않고 동일하거나 유사한 소자는 여러 도면을 통해 동일한 참조 번호로 지시된다.
도 1을 참조하면, USB 장치(101)는 통상적으로 판독 전용 메모리(ROM) 또는 플래시 EPROM(electronically programmable read only memory)와 같은 종류의 기억 장치를 가진다. 본 발명의 일실시예에서, 그러한 메모리 장치는 자바(Java) 기반 소프트웨어 프로그램을 저장하기에 충분한 메모리 용량을 가질 것이고, 프로그램은 윈도우(Window)와 다른 운영 시스템과 함께 포함되는 자바 버츄얼 머신(Java Virtual Machine, JVM)과 넷스케이프 네비게이터의 이점을 취할 수 있다. 미사용된 EPROM 공간은 특정 I/O 장치와 관련하여 고객에 의해서 이용될 수 있던 하나 이상의 프로그램을 저장하는데 이용될 수 있다. 본 개시물은 하나의 그러한 프로그램인, "에이전트(agent)"가 USB 장치(101)로부터 호스트(103)로 업로드되는 방법을 설명한다. 에이전트는 호스트(103)와 작동할 것이고, 호스트(103)는 다른 USB 장치 특정 프로그램과의 인적 상호 작용에 필요한 디스플레이, 키보드, 마우스 등을 제공할 것이다. 장치 에이전트는 호스트의 하드 파일에 USB 장치 특정 정보 및/또는 소프트웨어를 저장할 수 있고 또한 (선택적으로) 호스트의 디스플레이 데스크탑에 아이콘을 생성할 수 있다. 사용자는 후일에 강화된 기능을 재사용할 수 있다.
기본적 사상은 일단 OS 독립 자바 에이전트가 호스트(103)로 로드되는 경우(USB 기억 장치로 나타낸) 장치(101)로부터 상호작용(진단 등) 클래스를 로드할 주문 클래스(customized class)를 이용할 것이라는 점이다. 이 클래스 파일(자바 실행 바이트 코드)은 USB 장치(101)와 상호작용하는 방식을 에이전트에게 설명할 것이다. USB 장치(101)와 상호작용한 후, 에이전트는 장치가 통상 사용을 위해 재열거되도록 명령할 것이다. 에이전트는 이어서 호환성있는 USB 장치가 대용량 기억장치로서 열거되는 때를 검출하여, 그것들이 실제대로 재열거되도록 (적절히) 명령한다. 그러한 에이전트는 USB 자바 API(application programming interface)와 자바가 USB 장치(101)에 엑세스하는 어떤 원시 코드의 합을 이용할 것이다.
상호 참조된 미국 특허 출원 번호 09/ (대리인 서류 번호 RA9-99-027)에 개시된 바와 같이, 호스트에 접속된 때, USB 장치는 호스트에 정체(what it is)를 알린다. USB 장치는 다른 어떤 것인 것을 가장할 수 있다. 즉, 장치가 동작하도록 가정된 방식을 아는 한, 정체와 다른 장치로서 열거될 수 있다.
도 1을 다시 참조하면, USB 장치(101)는 호스트 컴퓨터(103)에 결합된 HUB(102)에 접속된다. USB 장치(101)는 단계 111에서 대용량 기억 장치로서 열거된다. 장치(101)는 데이터를 입력할 수 있고, 부가적인 드라이버를 필요로 하지 않는 운영 시스템에 의해 인식가능한 어떤 장치로서 열거될 수 있다. 이하에, 그러한 장치가 "열거되는 입력 장치(enumerated input device)"로서 언급될 것이다.
단계 112에서, 호스트 컴퓨터(103)에 이미 로드된 에이전트 프로그램에 있는지의 결정이 이루어진다. 이미 로드된 에이젼트 프로그램이 있다면, 단계 S114에서, 장치(101)에서 실행 프로그램은 열거 후의 운영 시스템에 의해 로드되는 에이전트에 의해 시작된다. 그러나, 에이전트가 호스트(103)에 이미 로드되어 있지 않으면, 사용자는 단계 113에서 운영 시스템 파일 익스플로러를 진행하고 열거에 의해서 작성된 대용량 기억 장치에 대한 셋업 파일을 클릭하는 것(DOS 명령도 사용가능함)이 필요할 것이고, 또는 호스트 컴퓨터(103)의 기억 장치를 위해 인터넷으로부터 에이전트를 다운로드하는 것이 필요할 것이다. 단계 120은 에이전트가 원하는 기능을 제공하기 위해 인터넷으로부터 애플릿을 다운로드할 필요가 있는지를 결정한다. 다운로드할 필요가 있다면, 단계 115가 수행된다. 다운로드할 필요가 없다면, 단계 121에서, 프로세스는 부가적인 애플릿 없이 수행될 수 있는 무슨 기능이든지 수행한다. 그 후에 에이전트는 단계 129에서 완료된다.
단계 115에서, 네트워크 브라우징이 인에이블 되었는지의 결정이 이루어진다. 네트워크 브라우징이 인에이블 되었는지를 결정하는데 2 가지 가능한 방법이 있다. 한 방법은 시스템이 브라우저(즉, 마이크로소프트 인터넷 익스플로러(IE) 또는 넷스케이프 네비게이터)에 대한 진입이 있는지를 확인하도록 시스템 레지스트리를 돌아다니고, 그런 다음 브라우저를 시작하는 것을 시도하는 것이다. 만일 실패하거나 레지스트리로의 진입이 발견될 수 없으면, 네트워크 브라우징은 디스에이블되어야 한다. 마이크로소프트가 자신의 운영 시스템으로 IE를 포함하기 때문에, 브라우저는 항상 존재한다는 것에 주의해야 한다. 두 번째 방법은 대부분의 운영 시스템과 시스템 미들웨어(즉, 자바)에서, "아웃사이더"에 대한 인터페이스를 프로그램 가능 및 동적 질의로 노출할 수 있고 또는 통신할 수 있는 구성 소자라는 개념이 있다는 것이다. 예를 들어, 마이크로소프트 인터넷 익스플로러는 프로그래머가 인터넷 익스플로러의 기능을 그것들의 프로그램을 탑재하고 및/또는 인터넷 익스플로러를 직접(마이크로소프트 Win32/COM API를 통해) 시작하도록 하게 하는 COM 및 COM+ 인터페이스를 노출한다. 이 인터페이스는 또한 프로그램이 네트워크 브라우징이 인에이블되는지를 확인하도록 하는 특성을 노출한다. 로터스 노트(Lotus Notes), 마이크로소프트 머니(Microsoft Money) 99 및 2000모두 IE COM 인터페이스를 사용하는 애플리케이션의 예인 것에 주의해야 한다. 다른 운영 시스템이 코브라(COBRA), 자바빈스(JavaBeans, HotJava Network Browser)와 같은 다른 목적 통신 미들웨어를 이용하지만, 비슷하게 접근한다.
브라우징이 인에이블되지 않으면, 단계 116에서, 그러한 브라우징이 인에이블되지 않은 사용자에게 적당한 메시지가 표시될 것이다. 그러나, 네트워크 브라우징이 인에이블되면, 단계 117에서, 프로세스는 시스템 레지스트리를 통해 브라우저 외부 인터페이스를 액세스할 것이고 브라우저를 시작하고 장치에 대한 디폴트(default) 웹사이트를 따라 지날 것이다. 네트워크 브라우징이 인에이블되는지를 결정하기 위해 상술된 제2 옵션과 비슷한 방식으로 달성될 수 있다. 노출된 기능의 일부는 브라우저가 특정 사이트에 들어가도록 동적으로 명령하기 위한 인터페이스이다. 웹 사이트는 일단 방문되면 시작되는 실행가능 애플릿을 포함할 것이고 다음으로 장치(101)의 기능을 진단, 갱신, 유지보수 또는 강화할 수 있다.
후술된 기능을 제공하는 것 외에도, 에이전트 프로그램은 호환성 있는 USB 장치가 대용량 기억 장치로서 열거되는 때를 감지할 것이다. 그런 다음 에이전트는 최근 열거된 호환성 있는 "대용량 기억 장치" 로 명령을 보낼 것이다. 에이전트의 명령은 USB 장치가 USB로부터 단절되게 할 것이고 실제대로 재열거되게 할 것이다. 도 2의, 단계 201에서 새로운 USB 장치가 플러그인되고, 모든 레지스터된 에이전트에 대해 운영 시스템 이벤트 통지를 일으키는 것이 도시된다. 다른 모드에서 USB 장치 단절, 재접속 및 재열거의 프로세스는 상호 참조된 U.S. 특허 출원 번호 09/ [대리인 서류 번호 RA9-99-027]에 설명된다. 그 이후, 단계 202에서, 에이전트가 새 USB 장치가 플러그인되는 때를 통지하는 운영 시스템에 레지스터되는지에 대한 결정이 이루어진다. 에이젼트가 새 USB 장치가 플러그인되는 때를 통지하는 운영 시스템에 레지스터되지 않으면, 단계 203에서, 에이전트는 아무것도 하지 않는다. 그러나, 단계 202에서 대답이 긍정적이면, 프로세스는 단계 204로 진행한다. 단계 204에서, 새 장치가 "대용량 기억 장치"인지에 대한 결정이 이루어진다. 다시, 대안적으로, 입력이 가능한 어떤 장치도 충분하다. 호스트 또는 호스트에서의 에이전트는 열거동안 장치가 호스트를 제공하는 디스크립터(descriptors)를 찾음으로써 새로 열거된 장치의 특성을 결정할 수 있다. USB와 함께 열거되는 USB 장치의 표준 프로세스는 표준 USB 호스트 시스템에 익숙한 프로그래머 사이에서 일반적인 지식이다. 새 장치가 "대용량 기억 장치"로서 열거되면, 단계 207에서 새로운 장치가 에이전트와 호환성이 있는지에 대한 결정이 이루어진다. 다시 말하면, 새로운 장치가 에이전트의 명령에 응답하여 실제대로 재열거되는지에 대한 결정이 이루어진다. 만일 새로운 장치가 에이젼트와 호환성이 없으면, 프로세스는 새 장치가 대용량 기억 장치가 아닌 것으로서 지정되는 단계 206으로 진행하고, 상기 프로세스에서 어떤 것도 수행되지 않는다. 단계 207에서 새로운 장치가 에이전트와 호환성이 있으면, 프로세스는 에이전트가 (만약 있다면) 애플릿을 구동하고, 그러면 장치가 실제대로 재열거되도록 명령하는 단계 208로 진행한다.
상기의 부분을 다시 설명하면, 장치 에이전트는 호환성이 있는 USB 장치가 열거되는 때를 검출하고, 그러면 장치 종속 정보에 대해 장치에 질의할 것이다. 이 정보는 어떤 종류의 정보와 소프트웨어가 장치를 지원하기에 유용한지와 어디에서 정보가 획득될 수 있는지에 대한 것을 포함할 것이다, 정보 자체를 제공하는 것 외에도, 장치는 더 많은 정보를 제공할 웹 URL을 제공할 수 있다.
본 발명과 본 발명의 이점이 상세하게 설명되었지만, 첨부된 청구범위에 의해 규정된 본 발명의 본질과 범위에서 벗어나지 않으면서 다양한 변형, 대체 및 개조가 이루어질 수 있는 것이 이해되어야 한다.

Claims (19)

  1. 데이터 처리 시스템에서,
    주변 장치를 프로세서에 결합하는 단계;
    상기 주변 장치를 처음 열거된 입력 장치로서 열거하는 단계 - 상기 주변 장치는 실제로는 열거에 의해 나타나는 입력 장치가 아닐 수 있음 - ;
    상기 처음 열거된 입력 장치를 선택하는 단계;
    상기 처음 열거된 입력 장치내에 포함된 실행 파일을 실행하는 단계 - 이에 따라, 상기 프로세서에 결합된 데이터 처리 시스템의 메모리에 에이전트가 로딩이 됨 - ;
    상기 에이전트에 의해 상기 주변 장치를 재열거하여 상기 주변 장치가 그 자체로서 열거되도록 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 주변 장치는 유니버설 시리얼 버스("USB") 장치인 방법.
  3. 제1항에 있어서, 상기 열거 단계는 상기 주변 장치를 대용량 기억 장치로서 열거하는 단계를 더 포함하고, 상기 주변 장치는 실제의 대용량 기억 장치가 아닌 방법.
  4. 제1항에 있어서, 상기 에이전트내에 포함되고 상기 에이젼트에 의해 호출된 애플릿을 이용하여 웹 사이트를 액세스하는 단계를 더 포함하는 방법.
  5. 제4항에 있어서, 상기 웹 사이트로부터 애플릿을 시작하는 단계를 더 포함하고, 상기 웹 사이트로부터의 애플릿은 상기 주변 장치와 관련된 연산을 수행할 수 있는 방법.
  6. 제5항에 있어서, 상기 웹 사이트로부터의 상기 애플릿은 상기 주변 장치를 진단할 수 있는 방법.
  7. 제5항에 있어서, 상기 웹 사이트로부터의 상기 애플릿은 상기 주변 장치의 기능을 인에이블, 갱신 또는 강화할 수 있는 방법.
  8. 제5항에 있어서, 상기 웹 사이트로부터의 상기 애플릿은 상기 주변 장치를 유지보수할 수 있는 방법.
  9. USB 장치에 있어서,
    데이터 처리 시스템에 결합하기에 적합한 주변 장치; 및
    상기 주변 장치가 데이터 처리 시스템에 결합될 때 상기 주변 장치를 처음열거된 입력 장치로서 열거할 수 있는 에이전트와 코드를 포함하는 기억 장치
    를 포함하는 USB 장치.
  10. 제9항에 있어서,
    상기 코드는 또한 상기 데이터 처리 시스템에 결합된 메모리에 상기 에이전트의 로딩을 행하는 실행 파일을 포함하고,
    상기 에이전트는 상기 에이전트에 의한 상기 주변 장치의 재열거를 행하여 상기 주변 장치가 그 자체로서 열거되도록 할 수 있는 USB 장치.
  11. 제10항에 있어서, 상기 주변 장치는 유니버설 시리얼 버스("USB") 장치인 USB 장치.
  12. 제11항에 있어서, 상기 에이전트 내에 포함된 애플릿을 이용하여 웹 사이트를 액세스할 수 있는 코드를 더 포함하는 USB 장치.
  13. 데이터 처리 시스템에 있어서,
    프로세서;
    버스 시스템에 의해 상기 프로세서에 결합된 메모리;
    상기 버스 시스템에 의해 상기 프로세서에 결합된 주변 장치;
    실제 대용량 기억 장치가 아닌 상기 주변 장치를 가상 대용량 기억 장치로서열거하기 위한 회로;
    상기 가상 대용량 기억 장치를 선택하기 위한 회로;
    상기 가상 대용량 기억 장치내에 포함된 실행 파일을 실행하여 상기 프로세서에 결합된 메모리에 에이전트를 로딩하는 회로; 및
    상기 주변 장치가 그 자체로서 열거되도록 상기 에이전트에 의해 상기 주변 장치를 재열거하기 위한 회로
    를 포함하는 데이터 처리 시스템.
  14. 제13항에 있어서, 상기 주변 장치는 유니버설 시리얼 버스("USB") 장치인 데이터 처리 시스템.
  15. 제13항에 있어서, 상기 에이전트 내에 포함된 애플릿을 이용하여 웹 사이트를 액세싱하는 회로를 더 포함하는 데이터 처리 시스템.
  16. 제15항에 있어서, 상기 웹 사이트로부터 애플릿을 시작하기 위한 회로를 더 포함하고, 상기 웹사이트로부터의 상기 애플릿은 상기 데이터 처리 시스템에 결합된 주변 장치들에 관련된 연산을 수행할 수 있는 데이터 처리 시스템.
  17. 제16항에 있어서, 상기 웹 사이트로부터의 상기 애플릿은 상기 주변 장치를 인에이블 및 진단할 수 있는 데이터 처리 시스템.
  18. 제16항에 있어서, 상기 웹 사이트로부터의 상기 애플릿은 상기 주변 장치의 기능을 인에이블, 갱신 또는 강화할 수 있는 데이터 처리 시스템.
  19. 제16항에 있어서, 상기 웹 사이트로부터의 상기 애플릿은 상기 주변 장치를 유지보수할 수 있는 데이터 처리 시스템.
KR10-2001-0006170A 2000-02-24 2001-02-08 Usb 호스트에서 usb 장치 종속 프로그램을 실행하기위해 usb 장치에 의해 제공되는 에이전트 KR100424993B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/512,200 US6813669B1 (en) 2000-02-24 2000-02-24 Agent provided by USB device for executing USB device dependent program in USB host
US09/512,200 2000-02-24

Publications (2)

Publication Number Publication Date
KR20010085354A true KR20010085354A (ko) 2001-09-07
KR100424993B1 KR100424993B1 (ko) 2004-03-27

Family

ID=24038108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0006170A KR100424993B1 (ko) 2000-02-24 2001-02-08 Usb 호스트에서 usb 장치 종속 프로그램을 실행하기위해 usb 장치에 의해 제공되는 에이전트

Country Status (4)

Country Link
US (1) US6813669B1 (ko)
JP (1) JP3636080B2 (ko)
KR (1) KR100424993B1 (ko)
TW (1) TW498211B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004111828A1 (en) * 2003-06-16 2004-12-23 Iocell Corp. Information processing device and method for controlling the same
CN100430878C (zh) * 2003-06-16 2008-11-05 艾欧赛尔有限公司 信息处理设备和控制信息处理设备的方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW556096B (en) * 2002-05-01 2003-10-01 Prolific Technology Inc Installation method for driver of plug-and-play device
AU2003301696A1 (en) * 2002-11-01 2004-05-25 Shinya Kobayashi Detachable device, control circuit, control circuit firmware program, information processing method and circuit design pattern in control circuit, and log-in method
WO2004086363A2 (en) 2003-03-27 2004-10-07 M-Systems Flash Disk Pioneers Ltd. Data storage device with full access by all users
US7664839B1 (en) * 2004-06-30 2010-02-16 Symantec Operating Corporation Automatic device classification service on storage area network
SG123627A1 (en) * 2004-12-20 2006-07-26 Trek 2000 Int Ltd Method for overcoming system administration blockage
US8078788B2 (en) 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
US8135880B2 (en) * 2006-03-31 2012-03-13 Cypress Semiconductor Corporation USB mass storage locking
TWI312467B (en) * 2006-05-19 2009-07-21 Avermedia Tech Inc External device and operating method applied thereto
US20080022380A1 (en) * 2006-05-25 2008-01-24 Gemalto, Inc. Method of patching applications on small resource-constrained secure devices
GB2439579A (en) * 2006-06-30 2008-01-02 Advanced Risc Mach Ltd Target device programmer
US7711863B2 (en) * 2006-09-11 2010-05-04 Research In Motion Limited Method and apparatus for variably enabling USB interaction
US7707323B2 (en) 2006-09-11 2010-04-27 Research In Motion Limited Method and apparatus for enabling enhanced USB interaction
US7774027B2 (en) * 2006-09-28 2010-08-10 Sandisk Corporation Flash drive that configures generic bluetooth controller of the drive to be compatible with multiple bluetooth peripheral devices
US7801561B2 (en) * 2006-09-28 2010-09-21 Sandisk Corporation Methods of configuring a generic bluetooth controller of a flash drive to be compatible with multiple bluetooth peripheral devices
TWI362003B (en) * 2006-09-28 2012-04-11 Sandisk Corp Method, flash memory drive and system for bluetooth communication
KR100800589B1 (ko) 2006-12-20 2008-02-04 엘지전자 주식회사 정보 처리 장치 및 그 운용방법
US8595390B1 (en) 2007-05-28 2013-11-26 Sandisk Il Ltd. Multiple session accessiblity via a CD-ROM interface
WO2010057526A1 (en) * 2008-11-19 2010-05-27 Nec Europe Ltd. Virtualization mediated system and method
JP2011008311A (ja) * 2009-06-23 2011-01-13 Casio Computer Co Ltd 入出力制御装置および電子楽器
US8468180B1 (en) * 2010-12-31 2013-06-18 Emc Corporation Porting storage metadata
CN111104075B (zh) * 2019-12-18 2023-11-07 北京数衍科技有限公司 Usb设备模拟装置及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289854A (ja) 1992-04-08 1993-11-05 Olympus Optical Co Ltd 外部記憶装置のアクセス装置
US5465357A (en) 1992-06-22 1995-11-07 International Business Machines Corporation Method and apparatus for an automated dynamic load of an ABIOS device support layer in a computer system
US5689726A (en) 1995-05-03 1997-11-18 United Microelectronics Corporation Computer system interface adapter capable of automatic self-configuration and self-diagnosis before operating system initiation
US5854905A (en) 1996-09-03 1998-12-29 Intel Corporation Extensible bios for boot support of devices on multiple hierarchical buses
US5935224A (en) * 1997-04-24 1999-08-10 Microsoft Corporation Method and apparatus for adaptively coupling an external peripheral device to either a universal serial bus port on a computer or hub or a game port on a computer
US6012103A (en) * 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US5987530A (en) * 1997-07-10 1999-11-16 National Instruments Coporation Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system
US5958027A (en) * 1997-08-05 1999-09-28 Advanced Micro Devices, Inc. Method and system for optimizing the flow of isochronous data and clock rate information
US6009480A (en) * 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device
US6349352B1 (en) * 1998-01-06 2002-02-19 Sony Corporation Of Japan Home audio/video network with both generic and parameterized device control
TW444165B (en) * 1998-05-12 2001-07-01 Primax Electronics Ltd Hot plug and play universal serial bus switch device and control method
JP4146983B2 (ja) 1999-02-26 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ・オブジェクトのメソッドを呼び出すプロセス方法及びデータ処理システム
JP4809968B2 (ja) 1999-04-09 2011-11-09 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
US6516114B2 (en) 2000-06-27 2003-02-04 Oluma, Inc. Integration of fibers on substrates fabricated with grooves

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004111828A1 (en) * 2003-06-16 2004-12-23 Iocell Corp. Information processing device and method for controlling the same
CN100430878C (zh) * 2003-06-16 2008-11-05 艾欧赛尔有限公司 信息处理设备和控制信息处理设备的方法

Also Published As

Publication number Publication date
KR100424993B1 (ko) 2004-03-27
JP2001265705A (ja) 2001-09-28
JP3636080B2 (ja) 2005-04-06
US6813669B1 (en) 2004-11-02
TW498211B (en) 2002-08-11

Similar Documents

Publication Publication Date Title
KR100424993B1 (ko) Usb 호스트에서 usb 장치 종속 프로그램을 실행하기위해 usb 장치에 의해 제공되는 에이전트
US6754811B1 (en) Operating system device centric agent
US6009520A (en) Method and apparatus standardizing use of non-volatile memory within a BIOS-ROM
US5748980A (en) System for configuring a computer system
US6154836A (en) Method and system for configuring plug and play devices for a computer operating system
US6336152B1 (en) Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
EP1280058A2 (en) Method and system for creating and employing an operating system having selected functionality
US7519809B2 (en) Operating system-wide sandboxing via switchable user skins
US20040230963A1 (en) Method for updating firmware in an operating system agnostic manner
JP4117193B2 (ja) コンピューティング・デバイスにおいてポートを有効化する方法
KR20020082721A (ko) 디바이스 드라이버 설치방법
US20030069999A1 (en) Method for providing a single preloaded software image with an ability to support multiple hardware configurations and multiple types of computer systems
ZA200200836B (en) Method, system and computer readable storage medium for automatic device driver configuration.
JP2005085278A (ja) 統合ハードウェアデバイスを介したコンピュータ間通信のためのシステムおよび方法
US5838911A (en) Method and apparatus for obtaining network information by using a dynamic link library
US10379872B1 (en) Method for creation of a device driver for a peripheral device
KR20050004403A (ko) 이동식 저장장치 및 이동식 저장장치의 구동방법
US20020083426A1 (en) Installation of network components or services
US20020138680A1 (en) Apparatus and methods for controlling removable media devices using a BIOS abstraction layer
US7447900B2 (en) Method and a system for designating a user selected console device as the primary console device for a particular computer
Joy et al. Installing Linux
Hendrick Overview of NetWare Client 32 for Windows 95
JP2008535121A (ja) デュアルパーパスビデオアダプタポート
Chang Final report on the installation of Linux and other software on a Windows NT system
KR20040007128A (ko) 프레쉬웹오에스를 구비한 컴퓨터 및 이를 제어하는 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130221

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee