본 개시 내용 의 양상 에 따라 가상 허브 기능 성 을 사용 하 여 USB 주변 디바이스 의 방전 된 배터리 를 충전 하 기 위한 프로세스 는 도 6 을 참조 하 여 설명 된다 . 프로세스 는 표준 프로토콜 커맨드 들 에 응답 하 여 실행 된다 . 블록 ( 602 ) 에서 , USB 호스트 는 , USB 호스트 로부터 낮 은 전력 흐름 을 사용 하 여 , USB 주변 디바이스 를 가상 허브 로서 열거 한다 . 가상 USB 허브 는 낮 은 전류 ( < 100 mA ) 를 이용 하 여 열거 하 지만 , 블록 ( 604 ) 에서 , 열거 프로세스 동안 , 가상 USB 허브 는 열거 에 후속 하 여 승인 되 는 높 은 전류 ( 500 mA ) 를 요청 한다 . 이 는 세 컨 더리 USB 기능 을 로딩 하 고 USB 버스 뒤 에 열거 하 기 에 충분 한 전력 을 제공 한다 . 블록 ( 606 ) 에서 , 프로세스 는 높 은 전류 인출 의 적어도 일부분 을 이용 하 여 USB 주변 디바이스 의 방전 된 배터리 를 충전 하 는 것 을 포함 한다 . 블록 ( 608 ) 에서 , 주변 디바이스 는 USB 호스트 에 포트 상태 변경 을 송신 한다 . 블록 ( 610 ) 에서 , 프로세스 는 가상 허브 를 통해 USB 주변 디바이스 의 제 2 USB 기능 성 을 열거 하 는 것 을 포함 한다 . 블록 ( 606 ) 에서 배터리 충전 은 가상 USB 허브 가 열거 된 직후 , 그리고 블록 ( 608 ) 에서 제 2 USB 기능 을 로딩 하 기 전 에 시작 할 수 있 다 .