KR20120032102A - 유에스비 장치의 전력 절감을 위한 장치 및 방법 - Google Patents
유에스비 장치의 전력 절감을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR20120032102A KR20120032102A KR1020100093539A KR20100093539A KR20120032102A KR 20120032102 A KR20120032102 A KR 20120032102A KR 1020100093539 A KR1020100093539 A KR 1020100093539A KR 20100093539 A KR20100093539 A KR 20100093539A KR 20120032102 A KR20120032102 A KR 20120032102A
- Authority
- KR
- South Korea
- Prior art keywords
- driver
- composite
- bus
- packet
- state
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3253—Power saving in bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Sources (AREA)
- Small-Scale Networks (AREA)
Abstract
본 발명은 복합 네트워크 장치의 선택적 대기 모드(selective suspend)를 지원하기 위한 장치 및 방법에 관한 것이다. 복합 네트워크 장치의 선택적 대기 모드를 지원하기 위한 방법은, 상기 복합 네트워크 장치에서 선택적 대기 모드 천이를 요청하는 경우, 네트워크 드라이버를 구성하는 버스 드라이버는 대기 요청 정보와 활성 모드 천이 콜백(Wait Wake Callback)을 복합 드라이버로 전송하는 과정과, 상기 버스 드라이버는 상기 복합 드라이버로 전력 상태 천이 정보를 전송하여 상기 버스 드라이버의 전력 상태를 절전 모드로 천이하는 과정과, 상기 복합 드라이버는 상기 전력 상태 천이 정보에 따라 전력 상태를 절전 상태로 천이하는 과정을 포함하여, 상기 복합 네트워크 장치가 선택적 대기 모드로 천이한 경우, 상기 버스 드라이버와 상기 복합 드라이버의 전력 상태는 절전 상태이고, 상기 네트워크 드라이버를 구성하는 NDIS(Network Driver Interface Specification) 미니포트 드라이버는 일반 상태(normal state)인 것을 특징으로 한다.
Description
본 발명은 복합 네트워크 장치(Composite Network Device)에 관한 것으로, 특히, USB(Universal Serial Bus) 복합 네트워크 장치의 전력 절감을 위한 장치 및 방법에 관한 것이다.
호스트(host)에 연결된 포트들에 여러 개의 서브 장치들이 연결되는 경우, 상기 호스트는 전력 소모를 줄이기 위해 선택적 대기 모드(selective suspend)를 사용한다. 예를 들어, 상기 호스트에 연결된 USB 네트워크 장치가 일정 시간 동안 유휴(idle) 상태를 유지하는 경우, 상기 호스트는 USB 루트 허브(Root Hub)에 연결된 다른 포트의 동작에 영향을 주지 않고, 상기 USB 네트워크 장치가 연결된 포트만 대기(suspend) 상태로 동작시킨다.
상술한 바와 같이 전력 절감을 위해 상기 USB 네트워크 장치가 선택적 대리 모드로 동작하는 경우, USB 네트워크 드라이버는 절전 상태(Intermediate sleep: D2)가 되어 TCP(Transmission Control Protocol)/IP(Internet Protocol) 스택(stack)에서 패킷을 수신하지 못하는 문제가 발생한다.
따라서, 본 발명의 목적은 복합 장치의 선택적 대기 모드(selective suspend) 기능을 지원하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 USB 복합 네트워크 장치(USB Composite Network Device)의 선택적 대기 모드 기능을 지원하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 선택적인 대기 모드로 동작하는 USB 복합 네트워크 장치로 패킷을 전송하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 USB 복합 네트워크 장치의 드라이버를 버스 드라이버와 네트워크 드라이버로 구분하여 동작시키기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 USB 복합 네트워크 장치가 선택적 대기 모드인 경우, USB 네트워크 장치의 드라이버를 구성하는 버스 드라이버와 네트워크 드라이버 중 버스 드라이버만 절전 상태(Intermediate sleep)로 동작시키기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 USB 복합 네트워크 장치가 선택적 대기 모드인 경우, USB 네트워크 장치의 드라이버를 구성하는 버스 드라이버와 네트워크 드라이버 중 네트워크 드라이버는 일반 상태(normal state)를 유지하도록 제어하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 적어도 두 개의 장치들로 구성되는 복합 네트워크 장치의 선택적 대기 모드(selective suspend)를 지원하기 위한 방법은, 상기 복합 네트워크 장치에서 선택적 대기 모드 천이를 요청하는 경우, 네트워크 드라이버를 구성하는 버스 드라이버는 대기 요청 정보와 활성 모드 천이 콜백(Wait Wake Callback)을 복합 드라이버로 전송하는 과정과, 상기 버스 드라이버는 상기 복합 드라이버로 전력 상태 천이 정보를 전송하여 상기 버스 드라이버의 전력 상태를 절전 모드로 천이하는 과정과, 상기 복합 드라이버는 상기 전력 상태 천이 정보에 따라 전력 상태를 절전 상태로 천이하는 과정을 포함하여, 상기 복합 네트워크 장치가 선택적 대기 모드로 천이한 경우, 상기 버스 드라이버와 상기 복합 드라이버의 전력 상태는 절전 상태이고, 상기 네트워크 드라이버를 구성하는 NDIS(Network Driver Interface Specification) 미니포트 드라이버는 일반 상태(normal state)인 것을 특징으로 한다.
본 발명의 제 2 견지에 따르면, 적어도 두 개의 장치들로 구성되는 복합 네트워크 장치의 선택적 대기 모드(selective suspend)를 제어하기 위한 호스트 장치는, 상기 복합 네트워크 장치에서 선택적 대기 모드 천이를 요청하는 경우, 대기 요청 정보와 활성 모드 천이 콜백(Wait Wake Callback)을 복합 드라이버로 전송하고, 상기 복합 드라이버로 전력 상태 천이 정보를 전송하여 상기 버스 드라이버의 전력 상태를 절전 모드로 천이하는 버스 드라이버와, 상기 전력 상태 천이 정보에 따라 전력 상태를 절전 상태로 천이하는 상기 복합 드라이버를 포함하여 구성되며, 상기 복합 네트워크 장치가 선택적 대기 모드로 천이한 경우, 상기 버스 드라이버와 상기 복합 드라이버의 전력 상태는 절전 상태이고, 네트워크 드라이버를 구성하는 NDIS(Network Driver Interface Specification) 미니포트 드라이버는 일반 상태(normal state)이며, 상기 네트워크 드라이버는 상기 NDIS 미니포트 드라이버와 상기 버스 드라이버를 포함하여 구성되는 것을 특징으로 한다.
상술한 바와 같이 USB 복합 네트워크 장치의 드라이버를 구성하는 버스 드라이버와 네트워크 드라이버를 구분하여 동작시킴으로써, USB 복합 네트워크 장치가 선택적 대기 모드로 동작하여도 네트워크 드라이버를 일반 상태(normal status)를 유지시켜 선택적 대기 모드에서도 상위 노드로부터 패킷을 수신받을 수 있고, 전력 소모를 줄일 수 있는 이점이 있다.
도 1은 본 발명의 실시 예에 따른 호스트의 구성을 도시하는 도면,
도 2는 본 발명의 실시 예에 따른 USB 네트워크 장치를 대기 모드로 천이시키기 위한 절차를 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 USB 네트워크 장치를 활성 모드로 천이시키기 위한 절차를 도시하는 도면, 및
도 4는 본 발명의 다른 실시 예에 따른 USB 네트워크 장치를 활성 모드로 천이시키기 위한 절차를 도시하는 도면.
도 2는 본 발명의 실시 예에 따른 USB 네트워크 장치를 대기 모드로 천이시키기 위한 절차를 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 USB 네트워크 장치를 활성 모드로 천이시키기 위한 절차를 도시하는 도면, 및
도 4는 본 발명의 다른 실시 예에 따른 USB 네트워크 장치를 활성 모드로 천이시키기 위한 절차를 도시하는 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하 본 발명은 복합 장치의 선택적 대기 모드(Selective suspend)를 지원하기 위한 기술에 대해 설명한다. 여기서, 상기 선택적 대기 모드는 복합 네트워크 장치에 포함되는 적어도 두 개의 장치들 중 일부 장치만 유휴 모드(Idle mode)로 동작시키는 방식을 나타낸다. 다시 말해, 상기 선택적 대기 모드는 상기 복합 네트워크 장치 전체가 유휴 상태로 동작하는 유휴 모드와 다르게 일부 장치만 유휴 모드로 동작시키는 방식을 나타낸다.
이하 설명은 USB(Universal Serial Bus) 장치의 선택적 대기 모드를 지원하는 것으로 가정하여 설명한다. 여기서, 상기 USB 장치는 USB 복합 네트워크 장치(USB Composite Network Device)를 포함한다.
USB 장치에서 선택적 대기 모드를 지원하기 위해 호스트(Host)는 하기 도 1에 도시된 바와 같이 구성된다.
도 1은 본 발명의 실시 예에 따른 호스트의 구성을 도시하고 있다.
상기 도 1에 도시된 바와 같이 호스트(100)는 TCP/IPTCP(Transmission Control Protocol)/IP(Internet Protocol), NDIS(Network Driver Interface Specification), USB 네트워크 드라이버(USB Network Driver)(110), CD-ROM, COM, USB 복합 드라이버(USB composite Driver)(120), USB 루트 허브 드라이버(USB Root Hub Driver)(130) 및 USB 장치(USB Device)(140)를 포함하여 구성된다.
상기 USB 네트워크 드라이버(110)는 NDIS 미니포트 드라이버(NDIS miniport Driver)(112)와 버스 드라이버(Bus Driver)(114)를 포함하여 구성된다.
상기 NDIS 미니포트 드라이버(112)는 TCP/IP 스택(Stack)으로부터 네트워크 데이터 패킷들을 송수신하는 모듈이다. 예를 들어, 상기 NDIS 미니포트 드라이버(112)는 상기 버스 드라이버(114)에서 네트워크 패킷들의 전송이 완료되지 않은 경우, 내부 큐(Queue)에 패킷들을 큐잉한다. 한편, 상기 버스 드라이버(114)에서 네트워크 패킷들의 전송이 완료된 경우, 상기 NDIS 미니포트 드라이버(112)는 상기 버스 드라이버(114)로 패킷을 전송한다. 여기서, 상기 NDIS는 랜 매니저와 바인즈를 위한 랜 카드 드라이버로 각기 다른 운영체제를 사용하거나 서로 다른 네트워크 카드를 사용하는 환경을 하나로 묶어 주는 체계로 단일 호스트 내에서 다중 프로토콜 스택을 사용할 수 있게 해 준다.
또한, 상기 NDIS 미니포트 드라이버(112)는 입출력 관리 모듈(I/O Manager)로부터 단말의 전력 상태 요청을 전달받는 경우, 상기 버스 드라이버(114)로 단말의 전력 상태를 전송한다.
상기 버스 드라이버(114)는 하드웨어 인터페이스와 네트워크 패킷들을 송수신하는 데이터 모듈이다. 예를 들어, 상기 버스 드라이버(114)는 상기 USB 네트워크 드라이버(110)에서 네트워크 패킷들의 전송이 완료되지 않은 경우, 내부 큐에 패킷들을 큐잉한다. 한편, 상기 USB 네트워크 드라이버(110)에서 네트워크 패킷들의 전송이 완료된 경우, 상기 버스 드라이버(114)는 상기 USB 복합 드라이버(120)를 통해 패킷을 전송한다.
상기 USB 복합 드라이버(120)는 상기 USB 장치(140)를 제어하는 프로그램으로 FDO(Function Device Object)와 PDO(Physical Device Object)로 구성된다.
상기 USB 루트 허브 드라이버(130)는 상기 USB 복합 드라이버(120)와 상기 USB 장치(140)가 패킷을 송수신할 수 있도록 패킷의 경로를 제어하는 모듈이다.
상기 USB 장치(140)는 USB 네트워크 장치를 포함하여 적어도 두 개의 장치들로 구성된다. 예를 들어, 상기 USB 장치(140)는 USB 네트워크 장치와 USB 네트워크 장치에 대한 드라이버의 자동설치(Auto-installation)를 위한 CD롬을 포함하여 구성된다. 다른 예를 들어, 상기 USB 장치(140)는 적어도 두 개의 네트워크 장치들로 구성될 수도 있다.
USB 장치에서 선택적 대기 모드를 지원하기 위는 경우, USB 네트워크 드라이버를 하기 도 2에 도시된 바와 같이 동작한다.
도 2는 본 발명의 실시 예에 따른 USB 네트워크 장치를 대기 모드로 천이시키기 위한 절차를 도시하고 있다.
상기 도 2에 도시된 바와 같이 USB 장치(208)가 일반 모드(normal mode)로 동작하는 경우, NDIS 미니포트 드라이버(202), 버스 드라이버(204) 및 USB 복합 드라이버(206)의 전력 상태(power state)는 일반 상태(D0)이다(211단계).
상기 USB 장치(208)에서 대기 모드 천이 이벤트가 발생하는 경우, 상기 USB 장치(208)는 상기 USB 복합 드라이버(206)를 통해 상기 버스 드라이버(204)로 선택적 대기 모드 천이 요청(Selective Suspend ON Request) 메시지를 전송한다(213단계, 215단계).
상기 버스 드라이버(204)는 상기 USB 장치(208)의 대기 모드 요청에 따라 대기 요청 IRP(IDLE Request IRP(I/O Request Packet))와 활성 모드 천이 콜백(Wait Wake Callback)을 상기 USB 복합 드라이버(206)로 전송한다(217단계). 예를 들어, 상기 버스 드라이버(204)는 상기 대기 요청 IRP와 활성 모드 천이 콜백을 포함하는 IRP_MN_대기_활성 IRP(IRP_MN_WAIT_WAKE IRP)를 상기 USB 복합 드라이버(206)로 전송한다. 다른 예를 들어, 상기 버스 드라이버(204)는 상기 대기 요청 IRP를 상기 USB 복합 드라이버(206)로 전송한다. 이후, 상기 대기 요청 IRP에 대한 응답 신호가 수신되는 경우, 상기 버스 드라이버(204)는 활성 모드 천이 콜백을 상기 USB 복합 드라이버(206)로 전송할 수도 있다. 여기서, 상기 대기 요청 IRP는 대기 요청 복합 루틴(IDLE Request Completion Routine)을 포함한다.
이후, 상기 버스 드라이버(204)는 상기 USB 복합 드라이버(206)로 D2 설정 정보(Set power D2)를 전송한다(219단계). 이때, 상기 버스 드라이버(204)는 전력 상태를 절전 상태(D2)로 전환한다.
상기 USB 복합 드라이버(206)는 상기 D2 설정 정보에 따라 전력 상태를 절전 상태(D2)로 전환한다. 이후, 상기 USB 복합 드라이버(206)는 상기 버스 드라이버(204)로 전력 D2 완료 정보를 전송한다(221단계). 미 도시되었지만, 상기 USB 복합 드라이버(206)는 상기 D2 설정 정보를 상기 USB 장치(208)로 전송할 수도 있다. 이 경우, 상기 USB 장치(208)는 상기 D2 설정 정보에 따라 네트워크 장치를 대기 모드(suspend)로 천이시킨다.
상술한 바와 같이 USB 장치(208)가 선택적 대기 모드(suspend)로 전환한 경우, 상기 버스 드라이버(204), USB 복합 드라이버(206)의 전력 상태는 절전 상태(D2)이다. 하지만, NDIS 미니포트 드라이버(202)의 전력 상태는 일반 상태(D0)이다.
이하 설명은 대기 모드(suspend)인 USB 장치를 활성화시키기 위한 방법에 대해 설명한다. 하기 도 3은 호스트의 요청에 따라 대기 모드인 USB 장치를 활성 모드로 천이시키기 위한 방법에 대해 설명한다.
도 3은 본 발명의 실시 예에 따른 USB 장치를 활성 모드로 천이히기키 위한 절차를 도시하고 있다.
상기 도 3에 도시된 바와 같이 USB 장치(308)가 선택적인 대기 모드로 동작하는 경우, 버스 드라이버(304), USB 복합 드라이버(306)의 전력 상태는 절전 상태(D2)이고, NDIS 미니포트 드라이버(302)의 전력 상태는 일반 상태(D0)이다(311단계, 312단계).
상기 호스트에서 USB 장치(308)로 전송할 패킷이 발생한 경우, NDIS(300)는 상기 NDIS 미니포트 드라이버(302)로 패킷을 전송한다(313단계).
상기 NDIS 미니포트 드라이버(302)는 상기 패킷이 수신되는 경우, 쓰기(write) IRP를 이용하여 상기 버스 드라이버(304)로 상기 패킷을 전송한다(315단계). 이때, 상기 NDIS 미니포트 드라이버(302)는 상기 USB 장치(308)가 선택적인 대기 모드로 동작하여도 전력 상태가 일반 상태(D0)이므로 상위 노드로부터 패킷을 수신받을 수 있다.
상기 버스 드라이버(304)는 상기 NDIS 미니포트 드라이버(302)로부터 패킷이 수신되는 경우, 전력 상태를 일반 상태(D0)로 전환한다(317단계).
이후, 상기 버스 드라이버(304)는 대기 요청 IRP에 대한 취소 정보를 상기 USB 복합 드라이버(306)로 전송한다(319단계). 즉, 상기 버스 드라이버(304)는 상기 도 2에서 상기 USB 복합 드라이버(306)로 전송한 대기 요청 IRP를 취소한다.
상기 USB 복합 드라이버(306)는 상기 대기 요청 IRP의 취소가 완료되면 대기 요청 완료 루틴을 호출한다(321단계). 즉, 상기 USB 복합 드라이버(306)는 상기 버스 드라이버(304)와 대기 요청 완료 절차를 수행한다.
상기 버스 드라이버(304)는 상기 대기 요청 완료 루틴이 호출되면, 상기 USB 복합 드라이버(306)로 D0 설정 정보(Set power D0)를 전송한다(323단계).
상기 USB 복합 드라이버(306)는 상기 D0 설정 정보에 따라 전력 상태를 일반 상태(D0)로 전환한다. 이후, 상기 USB 복합 드라이버(306)는 상기 버스 드라이버(304)로 전력 D0 완료 정보를 전송한다(325단계). 미 도시되었지만, 상기 USB 복합 드라이버(306)는 상기 D0 설정 정보를 상기 USB 장치(308)로 전송할 수도 있다. 이 경우, 상기 USB 장치(308)는 상기 D0 설정 정보에 따라 네트워크 장치를 활성 모드로 천이시킨다.
상기 버스 드라이버(304)는 전력 D0 완료 정보가 수신되는 경우, 상기 USB 복합 드라이버(306)의 전력 상태가 D0인 것으로 인식한다(327단계). 이에 따라, 상기 버스 드라이버(304)는 상기 NDIS 미니포트 드라이버(302)로부터 제공받은 패킷을 상기 USB 복합 드라이버(306)를 통해 상기 USB 장치(308)로 전송한다(329단계, 331단계).
이하 설명은 USB 장치에서 자체적으로 활성 모드로 천이할 것을 요청하는 것으로 가정하여 설명한다.
도 4는 본 발명의 실시 예에 따른 USB 장치를 활성 모드로 천이히기키 위한 절차를 도시하고 있다.
상기 도 4에 도시된 바와 같이 USB 장치(408)가 선택적인 대기 모드로 동작하는 경우, 버스 드라이버(404), USB 복합 드라이버(406)의 전력 상태는 절전 상태(D2)이고, NDIS 미니포트 드라이버(402)의 전력 상태는 일반 상태(D0)이다(411단계, 412단계).
상기 USB 장치(408)는 활성 모드 천이 이벤트가 발생하는지 확인한다. 예를 들어, 상기 USB 장치(408)는 상위 노드로 전송할 패킷이 발생하는지 확인한다.
상기 USB 장치(408)에서 상위 노드로 전송할 패킷이 발생하는 것으로 가정하는 경우, 상기 USB 장치(408)는 USB 복합 드라이버(406)로 패킷을 전송한다(413단계).
상기 USB 복합 드라이버(406)는 활성 모드 천이 콜백을 호출한다(415단계). 즉, 상기 USB 복합 드라이버(406)는 활성 모드 천이 콜백을 통해 상기 버스 드라이버(404)로 활성 모드 천이 정보를 전송한다.
상기 버스 드라이버(404)는 상기 활성 모드 천이 콜백이 호출되면, 전력 상태를 일반 상태(D0)로 전환한다(417단계).
이후, 상기 버스 드라이버(404)는 상기 USB 복합 드라이버(406)로 D0 설정 정보(Set power D0)를 전송한다(419단계).
상기 USB 복합 드라이버(406)는 상기 D0 설정 정보에 따라 전력 상태를 일반 상태(D0)로 전환한다. 이후, 상기 USB 복합 드라이버(406)는 상기 버스 드라이버(304)로 전력 D0 완료 정보를 전송한다(421단계).
상기 USB 복합 드라이버(406)는 상기 D0 설정 정보에 따라 전력 상태를 일반 상태(D0)로 전환하면, 상기 버스 드라이버(404)의 전력 상태가 D0인 것으로 인식한다(423단계). 이에 따라, 상기 USB 복합 드라이버(406)는 상기 USB 장치(408)로부터 제공받은 패킷을 상기 버스 드라이버(404)와 NDIS 미니포트 드라이버(402)를 통해 NDIS(400)로 전송한다(425단계, 427단계, 429단계). 즉, TCP/IP 스택으로 패킷을 전송한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (14)
- 적어도 두 개의 장치들로 구성되는 복합 네트워크 장치의 선택적 대기 모드(selective suspend)를 지원하기 위한 방법에 있어서,
상기 복합 네트워크 장치에서 선택적 대기 모드 천이를 요청하는 경우, 네트워크 드라이버를 구성하는 버스 드라이버는 대기 요청 정보와 활성 모드 천이 콜백(Wait Wake Callback)을 복합 드라이버로 전송하는 과정과,
상기 버스 드라이버는 상기 복합 드라이버로 전력 상태 천이 정보를 전송하여 상기 버스 드라이버의 전력 상태를 절전 모드로 천이하는 과정과,
상기 복합 드라이버는 상기 전력 상태 천이 정보에 따라 전력 상태를 절전 상태로 천이하는 과정을 포함하여,
상기 복합 네트워크 장치가 선택적 대기 모드로 천이한 경우, 상기 버스 드라이버와 상기 복합 드라이버의 전력 상태는 절전 상태이고, 상기 네트워크 드라이버를 구성하는 NDIS(Network Driver Interface Specification) 미니포트 드라이버는 일반 상태(normal state)인 것을 특징으로 하는 방법.
- 제 1항에 있어서,
상기 복합 드라이버로 전송하는 과정은,
대기 요청 정보(IDLE Request IRP(I/O Request Packet))와 활성 모드 천이 콜백(Wait Wake Callback)을 포함하는 IPR_MN_WAIT_WAKE IRP를 상기 복합 드라이버로 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,
상기 대기 요청 정보는, 대기 요청 복합 루틴(IDLE Request Completion Routine)을 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,
상기 버스 드라이버와 상기 복합 드라이버가 절전 상태로 천이한 후, 상기 NDIS 미니포트 드라이버가 호스트로부터 패킷을 수신한 경우, 상기 NDIS 미니포트 드라이버는 상기 버스 드라이버로 상기 패킷을 전송하는 과정과,
상기 버스 드라이버는 상기 패킷이 수신되는 경우, 전력 상태를 일반 상태로 천이하는 과정과,
상기 버스 드라이버는 상기 복합 드라이버로 전력 상태 천이 정보를 전송하는 과정과,
상기 복합 드라이버는 상기 전력 상태 천이 정보에 따라 전력 상태를 일반 상태로 천이하는 과정을 더 포함하는 것을 특징으로 하는 방법.
- 제 4항에 있어서,
상기 버스 드라이버와 복합 드라이버의 전력 상태가 일반 상태로 천이된 후, 상기 버스 드라이버는 상기 복합 드라이버로 상기 패킷을 전송하는 과정과,
상기 복합 드라이버는 상기 복합 네트워크 장치로 상기 패킷을 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법.
- 제 1항에 있어서,
상기 버스 드라이버와 상기 복합 드라이버가 절전 상태로 천이한 후, 상기 복합 네트워크 장치에서 상위 노드로 전송할 패킷이 발생한 경우, 상기 복합 네트워크 장치는 상기 복합 드라이버로 패킷을 전송하는 과정과,
상기 복합 드라이버는 상기 패킷이 수신되는 경우, 상기 버스 드라이버로 상기 복합 네트워크 장치의 동작 모드 전환 정보를 전송하는 과정과,
상기 버스 드라이버는 상기 동작 모드 전환 정보가 수신되는 경우, 전력 상태를 일반 상태로 천이하는 과정과,
상기 버스 드라이버는 상기 복합 드라이버로 전력 상태 천이 정보를 전송하는 과정과,
상기 복합 드라이버는 상기 전력 상태 천이 정보에 따라 전력 상태를 일반 상태로 천이하는 과정을 더 포함하는 것을 특징으로 하는 방법.
- 제 4항에 있어서,
상기 버스 드라이버와 복합 드라이버의 전력 상태가 일반 상태로 천이된 후, 상기 복합 드라이버는 상기 버스 드라이버로 상기 패킷을 전송하는 과정과,
상기 버스 드라이버는 상기 NDIS 미니포트 드라이버로 상기 패킷을 전송하는 과정을 더 포함하는 것을 특징으로 하는 방법.
- 적어도 두 개의 장치들로 구성되는 복합 네트워크 장치의 선택적 대기 모드(selective suspend)를 제어하기 위한 호스트 장치에 있어서,
상기 복합 네트워크 장치에서 선택적 대기 모드 천이를 요청하는 경우, 대기 요청 정보와 활성 모드 천이 콜백(Wait Wake Callback)을 복합 드라이버로 전송하고, 상기 복합 드라이버로 전력 상태 천이 정보를 전송하여 상기 버스 드라이버의 전력 상태를 절전 모드로 천이하는 버스 드라이버와,
상기 전력 상태 천이 정보에 따라 전력 상태를 절전 상태로 천이하는 상기 복합 드라이버를 포함하여 구성되며,
상기 복합 네트워크 장치가 선택적 대기 모드로 천이한 경우, 상기 버스 드라이버와 상기 복합 드라이버의 전력 상태는 절전 상태이고, 네트워크 드라이버를 구성하는 NDIS(Network Driver Interface Specification) 미니포트 드라이버는 일반 상태(normal state)이며,
상기 네트워크 드라이버는 상기 NDIS 미니포트 드라이버와 상기 버스 드라이버를 포함하여 구성되는 것을 특징으로 하는 장치.
- 제 8항에 있어서,
상기 버스 드라이버는, 대기 요청 정보(IDLE Request IRP(I/O Request Packet))와 활성 모드 천이 콜백(Wait Wake Callback)을 포함하는 IPR_MN_WAIT_WAKE IRP를 상기 복합 드라이버로 전송하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,
상기 대기 요청 정보는, 대기 요청 복합 루틴(IDLE Request Completion Routine)을 포함하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,
상기 버스 드라이버와 상기 복합 드라이버가 절전 상태로 천이한 후, 상기 NDIS 미니포트 드라이버가 호스트로부터 패킷을 수신한 경우, 상기 NDIS 미니포트 드라이버는, 상기 버스 드라이버로 상기 패킷을 전송하고,
상기 버스 드라이버는, 상기 패킷이 수신되는 경우, 전력 상태를 일반 상태로 천이하고, 상기 복합 드라이버로 전력 상태 천이 정보를 전송하며,
상기 복합 드라이버는, 상기 전력 상태 천이 정보에 따라 전력 상태를 일반 상태로 천이하는 것을 특징으로 하는 장치.
- 제 12항에 있어서,
상기 버스 드라이버와 복합 드라이버의 전력 상태가 일반 상태로 천이된 후, 상기 버스 드라이버는, 상기 복합 드라이버로 상기 패킷을 전송하고,
상기 복합 드라이버는, 상기 복합 네트워크 장치로 상기 패킷을 전송하는 것을 특징으로 하는 장치.
- 제 8항에 있어서,
상기 복합 드라이버는, 절전 상태로 천이한 후, 상기 복합 네트워크 장치로부터 패킷이 수신되는 경우, 상기 버스 드라이버로 상기 복합 네트워크 장치의 동작 모드 전환 정보를 전송하고,
상기 버스 드라이버는, 상기 동작 모드 전환 정보가 수신되는 경우, 전력 상태를 일반 상태로 천이하고, 상기 복합 드라이버로 전력 상태 천이 정보를 전송하며,
상기 복합 드라이버는, 상기 전력 상태 천이 정보에 따라 전력 상태를 일반 상태로 천이하는 것을 특징으로 하는 장치.
- 제 13항에 있어서,
상기 버스 드라이버와 복합 드라이버의 전력 상태가 일반 상태로 천이된 후, 상기 복합 드라이버는, 상기 버스 드라이버로 상기 패킷을 전송하고,
상기 버스 드라이버는, 상기 NDIS 미니포트 드라이버로 상기 패킷을 전송하는 것을 특징으로 하는 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100093539A KR20120032102A (ko) | 2010-09-28 | 2010-09-28 | 유에스비 장치의 전력 절감을 위한 장치 및 방법 |
PCT/KR2011/007122 WO2012044050A2 (en) | 2010-09-28 | 2011-09-28 | Apparatus and method for saving power of usb device |
US13/876,117 US9619005B2 (en) | 2010-09-28 | 2011-09-28 | Apparatus and method for saving power of USB device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100093539A KR20120032102A (ko) | 2010-09-28 | 2010-09-28 | 유에스비 장치의 전력 절감을 위한 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120032102A true KR20120032102A (ko) | 2012-04-05 |
Family
ID=45893643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100093539A KR20120032102A (ko) | 2010-09-28 | 2010-09-28 | 유에스비 장치의 전력 절감을 위한 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9619005B2 (ko) |
KR (1) | KR20120032102A (ko) |
WO (1) | WO2012044050A2 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081581B (zh) * | 2010-10-01 | 2013-10-30 | 威盛电子股份有限公司 | 电源管理系统及方法 |
JP2014523584A (ja) * | 2011-06-30 | 2014-09-11 | エムシーシーアイ コーポレイション | Usbデバイスのための電力管理モジュール |
US10817043B2 (en) * | 2011-07-26 | 2020-10-27 | Nvidia Corporation | System and method for entering and exiting sleep mode in a graphics subsystem |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112070A1 (en) * | 2000-12-08 | 2002-08-15 | The Boeing Company | Network controller for digitally controlling remote devices via a common bus |
US7103788B1 (en) * | 2001-10-31 | 2006-09-05 | Microsoft Corporation | Selective suspension of bus devices |
US7313708B2 (en) * | 2004-04-28 | 2007-12-25 | Microsoft Corporation | Interlocked plug and play with power management for operating systems |
KR100752135B1 (ko) * | 2006-09-15 | 2007-08-27 | 삼성전자주식회사 | 휴대용 단말기에서 절전 모드 관리를 위한 장치 및 방법 |
KR101389077B1 (ko) | 2006-12-15 | 2014-04-28 | 삼성전자주식회사 | 통신 시스템에서 호스트에 접속된 범용 시리얼 버스네트워크 장치의 전력 소모를 제어하는 장치 및 방법 |
US7864720B2 (en) * | 2007-06-01 | 2011-01-04 | Intel Corporation | Power management for wireless devices |
US9081902B2 (en) * | 2008-06-20 | 2015-07-14 | Microsoft Technology Licensing, Llc. | Generalized architecture to support representation of multi-transport devices |
KR20100070465A (ko) | 2008-12-18 | 2010-06-28 | 삼성전자주식회사 | 유에스비 네트워크 장치의 선택적 대기 모드 지원 장치 및 방법 |
KR101587457B1 (ko) | 2009-05-26 | 2016-01-21 | 삼성전자주식회사 | 복합 네트워크 장치의 대기 모드 지원 장치 및 방법 |
US8200853B2 (en) * | 2010-01-14 | 2012-06-12 | Microsoft Corporation | Extensions for USB driver interface functions |
-
2010
- 2010-09-28 KR KR1020100093539A patent/KR20120032102A/ko not_active Application Discontinuation
-
2011
- 2011-09-28 WO PCT/KR2011/007122 patent/WO2012044050A2/en active Application Filing
- 2011-09-28 US US13/876,117 patent/US9619005B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9619005B2 (en) | 2017-04-11 |
WO2012044050A2 (en) | 2012-04-05 |
WO2012044050A3 (en) | 2012-06-21 |
US20130198548A1 (en) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10411971B2 (en) | Method for unified communication of server, baseboard management controller, and server | |
US6732218B2 (en) | Dual-role compatible USB hub device and method | |
US7286252B2 (en) | Printing system with enhanced efficiency in power-saving, printer, substitute server, and method and program used by the substitute server | |
US9413549B2 (en) | Method for activating a network component of a motor vehicle network system | |
JP5138100B2 (ja) | 複数の通信インターフェイスを有する情報処理装置、該情報処理装置の制御方法 | |
EP2224311B1 (en) | System and method for energy savings through emulation of wake on lan in energy efficient ethernet | |
JP5704904B2 (ja) | データ処理装置、データ処理装置の制御方法及びプログラム | |
WO2003069850A1 (fr) | Systeme de communication de donnees, dispositif de gestion de la communication de donnees, procede et programme informatiques | |
US8533501B2 (en) | Information processing apparatus and control method of information processing apparatus | |
US20110153879A1 (en) | Method for accessing usb device attached to home gateway, home gateway and terminal | |
US20120124595A1 (en) | Method and program for selective suspension of usb network device | |
US8959534B2 (en) | Enabling legacy applications to achieve end-to-end communication with corresponding legacy device services | |
US20110239024A1 (en) | Low Power Consumption Network Device and Communication Method Thereof | |
KR20120032102A (ko) | 유에스비 장치의 전력 절감을 위한 장치 및 방법 | |
JP2002244833A (ja) | プリンタ制御システム、プリンタ制御装置及びプリンタ制御方法 | |
JP5699756B2 (ja) | 情報処理装置及び情報処理装置制御方法 | |
EP2685385B1 (en) | Network system | |
US9087031B2 (en) | Method and program for selective suspension of USB device | |
KR101587457B1 (ko) | 복합 네트워크 장치의 대기 모드 지원 장치 및 방법 | |
JP2005086692A (ja) | ゲートウェイ装置 | |
JPH11110089A (ja) | 計算機システムおよびその計算機システムで使用されるネットワーク制御装置 | |
JP2004328262A (ja) | Usbハブ装置、usb周辺装置及びデータ送受信方法 | |
JP3570996B2 (ja) | ネットワーク中継装置およびネットワーク管理システム | |
KR101389077B1 (ko) | 통신 시스템에서 호스트에 접속된 범용 시리얼 버스네트워크 장치의 전력 소모를 제어하는 장치 및 방법 | |
WO2012164651A1 (ja) | インタフェース装置、計算機システム、及び計算機制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |