KR20120101458A - 가상 주변기기 허브 디바이스 및 시스템 - Google Patents

가상 주변기기 허브 디바이스 및 시스템 Download PDF

Info

Publication number
KR20120101458A
KR20120101458A KR1020127015812A KR20127015812A KR20120101458A KR 20120101458 A KR20120101458 A KR 20120101458A KR 1020127015812 A KR1020127015812 A KR 1020127015812A KR 20127015812 A KR20127015812 A KR 20127015812A KR 20120101458 A KR20120101458 A KR 20120101458A
Authority
KR
South Korea
Prior art keywords
server
peripheral device
data
communication device
processor
Prior art date
Application number
KR1020127015812A
Other languages
English (en)
Other versions
KR101390636B1 (ko
Inventor
스티븐 에이 스프리그
노암 에이 지브
크레이그 비 라우어
케다르나트 파티콘다
3세 리차드 더블유 가드너
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 KR20120101458A publication Critical patent/KR20120101458A/ko
Application granted granted Critical
Publication of KR101390636B1 publication Critical patent/KR101390636B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

방법들 및 디바이스들이 디바이스 네트워킹을 단순화하는 방식으로 개인용 컴퓨터들에 공통 접속된 주변기기들에 대한 원격 액세스를 가능하게 하는 가상 주변기기 허브 및 서비스들을 제공한다. 가상 주변기기 허브 디바이스는, 셀룰러 및/또는 WiFi 네트워크들에 접속되어 주변 디바이스들에 대한 접속을 위해 원격 서버, 및 유선 및/또는 무선 로컬 네트워크들에 액세스하도록 구성된 프로세서 및 무선 통신 송수신기들을 구비할 수도 있다. 가상 주변기기 허브 디바이스는, 주변 디바이스에 접속되는 전원 (예컨대, 벽 콘센트 또는 차량용 시그젝 (cigarette lighter)) 에 꽂아질 수도 있고, 주변 디바이스를 이용하거나 그 주변 디바이스에 액세스하도록 근거리 통신망 또는 상기 인터넷에 부착된 임의의 컴퓨터를 인에이블시키도록 구성될 수도 있다. 관련 서버 기반 서비스는 가상 주변기기 허브 디바이스 및 접속된 주변기기들의 발견 (discovery) 을 가능하게 한다. 관련된 서버 기반 서버는 다양한 주변기기들에 드라이버들을 제공하며, 데이터를 저장하고 포워딩하며, 그리고 다양한 주변기기들에 대한 원격 액세스를 제공할 수도 있다.

Description

가상 주변기기 허브 디바이스 및 시스템{VIRTUAL PERIPHERAL HUB DEVICE AND SYSTEM}
관련 출원들
본 출원은 2009년 11월 19일자로 출원된 발명의 명칭이 "Virtual Peripheral Hub Device and System"인 미국 특허 가출원 제61/262,653호를 우선권 주장하며, 그 전체 내용은 참조로 여기에 통합된다.
발명의 분야
본 발명은 대체로 컴퓨터 네트워크들에 관한 것이고, 더 상세하게는 전자 디바이스들을 중간 서버에 의해 원격 컴퓨터들에 결합시키는 가상 주변기기 허브에 관한 것이다.
범용 직렬 버스 (USB) 및 다른 직접/유선 접속부들에 의해 컴퓨터들에 접속되는 주변 디바이스들이 점점더 확산되고 있다. 이들 디바이스들의 몇 가지 예들은 카메라들, 의료용 센서들, 외장 하드 드라이브들, 디지털 뮤직 플레이어들, 프린터들 및 기상 관측소들과 같은 덜 흔한 디바이스들을 포함한다. 현재, 이러한 디바이스들의 사용은 액세싱 컴퓨터에 대한 직접 접속을 요구한다. 원격 액세스는 이용가능한 로컬 (예컨대, LAN, WiFi 등) 네트워크를 통한 복잡한 구성 및 라우팅에 의해 지원될 수도 있다. 이 복잡도 및 오버헤드는 주변기기들의 활용도 및 활용지 (location) 를 제한하고 디바이스들, 네트워크들 및 연결된 컴퓨터들을 구성하는 것의 복잡성을 이해하는 "기술에 정통한 (tech savvy)" 사용자들만의 작은 그룹으로 원격 액세스를 몰아내었다.
본 발명은 중재 컴퓨터 또는 로컬 네트워크의 필요 없이 개인용 컴퓨터들에 정상적으로 직접 접속된 주변 디바이스들에 대한 원격 액세스를 가능하게 하는 방법들, 디바이스들, 서비스들 및 소프트웨어와 관계가 있다. 다양한 실시예들이, 프로세서, 원격 서버에 액세스하기 위해 셀룰러 및/또는 WiFi 통신네트워크에 접속하도록 구성된 통신 송수신기들, 그리고 로컬 주변 디바이스들에 대한 접속을 위한 커넥터들 및/또는 무선 송수신기들을 구비하는 통신 디바이스를 포함한다.
간단한 실시예에서, 통신 디바이스는, 전원 (예컨대, 벽 소켓 (wall socket)) 에 꽂아지고 하나 이상의 주변 디바이스들 (예컨대, 카메라, 하드 드라이브, 프린터, 디지털 화상 프레임 등) 에 연결되어, 접속된 주변기기(들), 서비스 및 원격 액세싱 컴퓨터(들) 사이의 효율적인 데이터 전송을 용이하게 하는 소프트웨어로 구성되는 단일 디바이스 (여기서는 "가상 주변기기 허브(Virtual Peripheral Hub)" 또는 "VPH"라고 칭함) 의 형태를 취할 수도 있다. 이 VPH의 접속된 주변기기들의 핸들링은 포괄적일 수도 있어서, VPH에 꽂아질 수 있는 대부분의 임의의 현재 및 장래의 주변기기를 지원할 수 있다. VPH는 또한 디바이스의 대체 실시예들에서는 배터리에 의해 전원이 공급될 수도 있다. VPH는 디바이스 상의 물리적 접속 포트들의 수에 의해서만 제한되는 여러 개의 접속된 주변기기들을 지원할 수도 있다.
접속성은 VPH 및 인터넷 기반 서비스 사이의 데이터 접속을 지원하는, VPH 디바이스 및 셀룰러 네트워크 사이의 무선 통신에 의해 용이하게 될 수 있다. 이 서비스는 VPH에 접속된 주변기기들 및 주변기기들에 액세스하는 원격 컴퓨터들 사이의 사용자 인증된 디스커버리 및 통신을 지원한다. VPH의 주변 디바이스들의 핸들링과 비슷하게, 서버, VPH 및 액세싱 컴퓨터들 사이의 데이터 프로토콜은 포괄적일 수 있어서, 대부분 임의의 현재 및 장래의 주변 디바이스들 또는 접속된 컴퓨터의 유형에 대한 지원을 가능하게 한다. VPH는 접속된 주변기기들을 서비스에 등록하여, 그것들이 원격 액세싱 컴퓨터(들)에 이용가능하도록 만들 수도 있다.
원격 액세싱 컴퓨터들 상에 설치된 소프트웨어는 VPH에 접속된 주변기기들과 서비스 및 VPH에 의해 통신한다. 이 소프트웨어는 또한 포괄적일 수도 있고, 들어오는 데이터를 컴퓨터 상의 가상 포트 (USB 등) 에 액세스하는 애플리케이션들에 단순히 전해준다. 이런 방식으로, 원격 주변기기들은 액세싱 컴퓨터들 상의 애플리케이션 소프트웨어에 대해 로컬 디바이스들로서 여겨진다.
VPH 및 서비스에서의 지능은 무선 데이터 전송의 효율을 향상시킬 수도 있어서, 무선/셀룰러 네트워크 오버헤드를 최소화하면서도 주변기기들에 관련하여 지속성의 출현을 용이하게 한다.
주변기기들 및 연결된 컴퓨터 사이의 공통 단일의 물리적 케이블 접속과는 달리, VPH에 의한 주변기기들에 대한 접속성의 가상의 성질은 단일보다 많은 컴퓨터들이 동일한 원격 주변기기에 액세스하는 것을 허용한다. 예를 들어, 일반적으로 단일 PC에 직접 접속될 카메라는 끊긴 데 없이, 다수의 액세싱 컴퓨터들 또는 디바이스들에 의해 액세스되는 원격 주변기기가 될 수 있을 수도 있다. 비슷하게, VPH에 접속된 주변기기들은 다수의 상이한 원격 액세싱 컴퓨터들에 의해 액세스될 수도 있다. 이 구성은 VPH 서비스와 상호작용하는 원격 컴퓨터들에 기초하여 임의의 시간에 변경될 수도 있다.
VPH가 인터넷 기반 서비스에 대한 접속성을 수반함에 따라, 원격 주변기기들에 대한 액세스는, 서버에 액세스하는데 필요한 소프트웨어를 호스팅할 수 있는 임의의 유형의 컴퓨터에 대해, 그 컴퓨터가 국소적으로 접속된 주변기기들을 호스팅하는 타고난 능력을 가지는지에 무관하게 용이하게 될 수도 있다. 이는 서버로부터 데이터에 액세스할 수 있는 애플리케이션들을 갖는 모바일 디바이스들 (폰들, 스마트폰들 등) 을 포함할 수도 있다. 그것은 또한 원격 액세싱 컴퓨터가 직접 인간 상호작용을 지원하지 않는 "기계 대 기계" (M2M) 애플리케이션들을 포함할 수도 있다. 일 예는 사용자에 의해 소유 및 관리되는, 원격으로 접속된 서비스 제공자로부터의 개인 사용자 이메일 데이터의 저장소 (storage) 이다.
VPH의 셋업 및 구성, 접속된 주변기기들의 추가 및 제거, 및 원격 컴퓨터들에 의한 접속성은 서비스 레벨에서 관리될 수도 있다. 사용자 기반 인증 메커니즘이 인증된 사용자 및 컴퓨터를 VPH 및 주변기기들과 연관시키는데 사용될 수도 있다. VPH, 서버 및 컴퓨터들 사이에서 송신되는 데이터는 송신되는 데이터의 비공개성을 추가로 향상시키도록 암호화될 수도 있다.
요컨대, 다양한 주변 디바이스들로부터 서버 기반 서비스를 경유하여 매우 다양한 컴퓨터들에 액세스하고 데이터를 수신하는 이 능력은, 매우 다양한 데이터 애플리케이션들 및 비즈니스 서비스들을 용이하게 한다. VPH는 또한 현존하는 및 장래의 주변 디바이스들 (예컨대, 카메라들 등) 의 신속하고 효율적인 전개를, 이러한 디바이스들을 이러한 전개들에 현재 잘 제공할 수도 없는 위치들에 대해 허용한다.
첨부 도면들은 여기에 통합되고 이 출원서를 구성하는 부분으로서, 본 발명의 예시적인 실시예들을 도시하고, 위에서 주어진 전반적인 설명 및 아래에 주어지는 상세한 설명과 함께 본 발명의 특징들을 설명한다.
도 1a 내지 1c는 다양한 실시예들과 함께 사용하기에 적합한 통신 시스템들을 도시하는 통신 시스템 블록도들이다.
도 2a 내지 2d는 다양한 실시예들의 기능성을 도시하는 통신 시스템 블록도들이다.
도 3a는 일 실시예에 따른 가상 주변기기 허브 디바이스의 구성요소 블록도이다.
도 3b는 일 실시예에 따른 가상 주변기기 허브 디바이스의 사시도이다.
도 4는 일 실시예에 따른 가상 주변기기 허브 디바이스의 소프트웨어/하드웨어 모듈 블록도이다.
도 5는 가상 주변기기 허브 디바이스를 초기화하고 활용하는 실시예 방법의 프로세스 흐름도이다.
도 6a 및 6b는 가상 주변기기 허브 서버를 통해 가상 주변기기 허브 디바이스를 이용하여 주변 디바이스에 액세스하는 실시예 방법들의 프로세스 흐름도들이다.
도 7a 및 7b는 실시예의 가상 주변기기 허브 디바이스의 다양한 동작들 동안 다양한 구성요소들 사이에 교환될 수도 있는 메시지들을 도시하는 메시지 흐름도들이다.
도 8a는 저 전력 모드로부터 가상 주변기기 허브 디바이스를 활성화하는 실시예 방법의 프로세스 흐름도이다.
도 8b는 도 8a에 도시된 실시예 방법 동안 다양한 통신 네트워크 참가자들 사이에 교환될 수도 있는 메시지들을 도시하는 메시지 흐름도이다.
도 9a는 주변 디바이스로부터 수신된 데이터를 보고하기 위해 가상 주변기기 허브 디바이스에서 구현되는 실시예 방법의 프로세스 흐름도이다.
도 9b는 도 9a에 도시된 실시예 방법 동안 다양한 통신 네트워크 참가자들 사이에 교환될 수도 있는 메시지들을 도시하는 메시지 흐름도이다.
도 9c는 주변 디바이스로부터 수신된 데이터를 다른 가상 주변기기 허브 디바이스에 결합된 다른 주변 디바이스에 송신하기 위해 가상 주변기기 허브 디바이스에서 구현되는 실시예 방법의 프로세스 흐름도이다.
도 9d는 도 9c에 도시된 실시예 방법 동안 다양한 통신 네트워크 참가자들 사이에 교환될 수도 있는 메시지들을 도시하는 메시지 흐름도이다.
도 10은 다양한 실시예들에 따라 가상 주변기기 허브 서버에서 사용하기에 적합한 일 예의 데이터 구조이다.
도 11은 다양한 실시예들에 따른 가상 주변기기 허브 디바이스에서 사용하기에 적합한 일 예의 데이터 구조이다.
도 12는 가상 주변기기 허브 디바이스로부터 주변 디바이스들을 활성화하고 비활성화하기 위한 실시예 방법의 프로세스 흐름도이다.
도 13은 가상 주변기기 허브 디바이스를 통해 획득된 데이터를 활용하기 위해 서버에 구현될 수도 있는 실시예 방법의 프로세스 흐름도이다.
도 14는 다양한 실시예들과 함께 사용하기에 적합한 서버의 구성요소 블록도이다.
도 15는 다양한 실시예들과 함께 사용하기에 적합한 모바일 디바이스의 구성요소 블록도이다.
다양한 실시예들이 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능한 곳이라면 어디서든, 동일한 참조 번호들이 도면들 전체를 통해서 동일하거나 유사한 부분들을 참조하는데 사용될 것이다. 특정한 예들 및 구현예들에 대한 언급들은 예시의 목적을 위한 것이고, 발명 또는 청구항들의 범위를 제한하려는 의도는 아니다.
본 명세서에서 사용되는 바와 같이, 용어 "모바일 디바이스"는 셀룰러 전화기들, 개인휴대 정보단말들 (PDA들), 팜탑 컴퓨터들, 무선 전자 메일 수신기들, 멀티미디어 인터넷 가능 (enabled) 셀룰러 전화기들, 글로벌 포지셔닝 시스템 (GPS) 수신기들, 무선 게이밍 제어기들, 그리고 프로그램가능 프로세서 및 메모리를 구비하고 무선 통신 네트워크와 통신하는 유사한 개인용 전자 디바이스들 중의 임의의 하나 또는 전부를 말한다.
본 명세서에서 사용되는 바와 같이, "컴퓨터," "개인용 컴퓨터" 및 "컴퓨팅 디바이스"와 같은 용어들은 기지의 또는 장래에 개발될 임의의 프로그램가능 컴퓨터 시스템을 말한다. 바람직한 실시예에서 컴퓨터가 본 명세서에서 설명되는 바와 같은 네트워크에 결합될 것이다. 컴퓨터 시스템이 본 명세서에서 설명되는 처리들을 수행하도록 소프트웨어 명령들로 구성될 수도 있다.
본 명세서에서 사용되는 바와 같이, "구성요소," "모듈," "시스템" 등의 용어들은 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행 소프트웨어 (software in execution) 등의 컴퓨터 관련 엔티티를 말하는 것으로 의도된다. 예를 들어, 구성요소는 프로세서 상에서 실행중인 프로세스, 프로세서, 오브젝트, 실행가능한 것 (executable), 실행 스레드, 프로그램, 및/또는 컴퓨터일 수도 있지만 이것들로 제한되지는 않는다. 예시로서, 서버 상에서 실행중인 애플리케이션 및 서버 둘 다가 구성요소일 수 있다. 하나 이상의 구성요소들이 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고 구성요소가 국소화될 수도 있거나 그리고/또는 둘 이상의 컴퓨터들 상에 분산될 수도 있다.
본 명세서에서 사용되는 바와 같이, 용어 "디바이스"는 임의의 전자 디바이스를 말하고, 이것의 여러 예들은 본 명세서에서 언급되고 설명된다. 바람직한 실시예에서, 디바이스는 이 디바이스가 다른 컴퓨팅 디바이스 또는 네트워크에 결합되는 것을 가능하게 하는 통신 포트를 구비한다.
다양한 양태들이 다수의 구성요소들, 모듈들 등을 포함할 수도 있는 시스템들의 관점에서 제시될 것이다. 다양한 시스템들이 부가적인 구성요소들, 모듈들 등을 구비할 수도 있으며 그리고/또는 도면들에 관련하여 논의되는 구성요소들, 모듈들 등의 모두를 구비하지 않을 수도 있다는 것이 이해되고 인정된다. 또한, 다수의 구성요소들 및 모듈들이 집적회로들 또는 칩셋들에 결합될 수도 있다는 것이 이해되고 인정된다. 이들 접근법들의 조합 또한 이용될 수도 있다.
본 명세서에서 설명되는 다양한 실시예들은, 컴퓨팅 시스템들에 대한 디바이스들의 네트워킹을 단순화시키는 가상 주변기기 허브 디바이스를 이용하여, USB, 파이어와이어 (FireWire), 직렬 포트들 등을 통해 개인용 컴퓨터들에 공통 접속되는 주변기기들에 대한 원격 액세스를 가능하게 하는 디바이스들, 시스템들 및 방법들을 제공한다. 다양한 실시예들은, 셀룰러 및/또는 WiFi 통신네트워크들에 접속하도록 구성된 프로세서 및 통신 송수신기들을 구비하는 통신 디바이스 (가상 주변기기 허브 디바이스, 또는 VPH라 칭함) 를 포함한다. 간단한 실시예에서, 가상 주변기기 허브 디바이스는, 전원, 이를테면 표준 유틸리티 벽 콘센트에 꽂아질 수 있고 하나 이상의 주변 디바이스들 (예컨대, 디지털 카메라, 하드 드라이브, 프린터, 디지털 화상 프레임 등) 에 연결되는 소형의, 통합 모듈로서 구성될 수도 있다. 가상 주변기기 허브 디바이스는, 접속된 주변 디바이스들이 근거리 통신망 또는 인터넷에 연결된 임의의 컴퓨터로부터 사용되는 것을 가능하게 하는 프로세서 실행가능 소프트웨어로 구성될 수도 있다. 관련 인터넷 서버 기반 서비스는 가상 주변기기 허브 디바이스 및 접속된 주변기기들의 발견 (discovery) 을 가능하게 한다. 가상 주변기기 허브 디바이스는 또한 관련된 서버 기반 서비스를 통해 인터넷으로부터 액세스될 수도 있다.
가상 주변기기 허브 디바이스 (도면들에서는 "VPH") 의 다양한 실시예들은, 호스트 시스템 및 로컬 네트워크에 기존에 부과되는 대다수의 요구사항들을 제거하는 것에 의해 주변 디바이스들을 공유하는 복잡도를 최소화한다. 가상 주변기기 허브 디바이스들은 임의의 위치에, 고정식 또는 이동식으로 위치될 수 있고, 가상 주변기기 허브 디바이스에 접속된 주변기기들이 국소적으로 접속되는 것처럼 액세싱 컴퓨터들에 보이도록 구성된다. 이는 가상 주변기기 허브 디바이스, 관련된 서버 기반 서비스 및, 옵션으로, 액세싱 컴퓨터 상에서 호스팅될 수도 있는 소프트웨어에서 지능 및 접속성에 의해 달성된다.
기본 가상 주변기기 허브 디바이스 개념 또한 대형 서비스 제공자들 (예컨대, 구글) 이 사설 사용자 데이터를 "소유하는" 서비스들을 가능하게 한다. 이메일로 시작하여, 정보 비즈니스들에서 모든 사용자 콘텐츠의 원격 및 집중형 저장소 및 관리를 지향하는 경향이 있다. 서비스 제공자에게는 혜택이 많다. 그러나, 이 개념은 많은 사용자들의 사설 데이터에 대한 물리적인 제어를 유지하려는 욕구에 어긋난다. 가상 주변기기 허브 디바이스는, 범용 액세스가능 소비자 데이터가 국소적으로 "소유된" 채로 남아 있는 것을 가능하게 하는 "네트워크 가능 (network enabled)" 착탈식 저장 매체들, 이를테면 착탈식 USB 하드 드라이브의 능력을 제공한다. 가상 주변기기 허브 디바이스는, 사용자들이 그들의 데이터를 서비스 제공자에게 넘기는 일 또는 임의의 시스템으로부터 그들의 데이터에 액세스하는 능력을 잃어버리는 일 없이 그들의 데이터를 공유할 지의 여부 및 그들이 공유하기 원하는 방법을 선택하는 것을 가능하게 한다. 가상 주변기기 허브 디바이스 실시예들은 임의의 접속된 주변 디바이스를 망라하도록 이 기본 개념을 확장하고 일반화하는 것이 가능하여, 디바이스가 원격 컴퓨터에 직접 접속된 것처럼 보이게 한다.
다양한 실시예들은 또한 주변 디바이스들을 네트워킹하는 전통적으로 도전하는 기술적 프로세스들, 이를테면 서버 기반 지원 서비스 요소에 의한 셋업 및 초기화, 보안성, 드라이버 관리, 및 디바이스 공유를 단순화시킨다. 이 서비스는 또한 가치있는 통신 및 데이터 활용 능력들, 이를테면 일괄 동작 지원; 사용자 정의 및 제어형 그룹들에 걸쳐서 웹 및 인텔리전트 공유를 통한 액세스를 가능하게 한다.
가상 주변기기 허브 디바이스는, USB (Universal serial bus) 또는 파이어와이어 포트들을 통해 PC들에 접속될 수 있는 유형들의 디바이스들을 미러링하는 모델들을 사용하도록 구성될 수도 있다. 가상 주변기기 허브 디바이스에 결합될 수도 있는 몇몇 예들은, 착탈식 저장소, 웹 카메라들, 원격 운송수단 진단, 디지털 카메라들, 디지털 화상 프레임들, 디지털 스케일들, 홈 시큐리티 시스템들 및 센서들, 산업용 센서들, 및 의료용 센서들을 포함한다. 요컨대, 가상 주변기기 허브 디바이스 실시예들은 많은 접속된 주변기기들의 값을 확장하고 연장할 수 있다. 가상 개인용 허브 디바이스를 채용하여, 주변 디바이스들은 가상으로 어느 곳에나 위치될 수 있으며, 그룹들에 걸쳐서 공유될 수도 있으며, 인터넷 또는 로컬 네트워크들을 통해 액세스될 수도 있고, 새로운 사용 모델들 및 수익 기회들을 가능하게 하는 확장된 서비스들에 의해 지원될 수 있다.
도 1a-1c는 가상 주변기기 허브 디바이스 (112) 를 사용하는 3가지 예의 통신 시스템들 (100) 에 포함될 수도 있는 시스템 구성요소들을 도시한다. 먼저 도 1a를 참조하면, 가상 주변기기 허브 디바이스 시스템은 2개의 코어 요소들, 가상 주변기기 허브 디바이스 (112) 및 가상 주변기기 허브 서버 (VPH-서버) (140) 로 구성된다. 가상 주변기기 허브 디바이스 (112) 는 소비자들에게 판매될 수도 있고 USB, 파이어와이어 또는 무선 주변기기들 (102-110) 에 연결될 수 있다. VPH-서버 (140) 는 인터넷에 결합되고 VPH-서비스들, 이를테면 보안성 액세스를 가상 주변기기 허브 디바이스 (112) 에 제공하여 주변기기들 (102-110) 에 대한 접속을 가능하게 한다. 덧붙여, 소프트웨어 드라이버들은, 가상 주변기기 허브 디바이스 (112) 에 대한 직접 보안성 액세스 및 주변기기들 (102-110) 에 대한 접속을 가상 주변기기 허브 디바이스 (112) 또는 VPH-서버 (140) 를 통해 지원하도록 사용자의 개인용 컴퓨터 (138) 상에 준비될 수도 있다. 이들 요소들은 아래에서 더 상세히 설명된다.
가상 주변기기 허브 디바이스 (112) 는 주변 디바이스들 (102-110) 에 직접 (즉, 유선) 접속들, 이를테면 USB 접속 (6), 파이어와이어 접속 (8) 또는 근거리 통신망 접속 (예컨대, 이더넷), 뿐만 아니라 무선 통신 링크들, 이를테면 블루투스 (10), WiFi, 및 지그비 (ZigBee) 무선 통신 네트워크들을 통해 접속될 수 있다. 예를 들어, 웹캠 (102) 이 가상 주변기기 허브 디바이스 (112) 에 이 디바이스의 USB 포트에 꽂아진 USB 케이블 (6) 에 의해 결합되어, 아래에서 더 충분히 설명되는 바와 같이 VPH-서버 (140) 에 의해 제공되는 VPH 서비스들을 이용하여 개인용 컴퓨터 (138) 로부터 그 다비이스로부터의 이미지들에 사용자가 액세스하는 것을 가능하게 할 수도 있다. 다른 예로서, 외부 하드 드라이브 데이터 저장 디바이스 (108) 는 가상 주변기기 허브 디바이스 (112) 에 USB 케이블 (6) (또는 파이어와이어 또는 이더넷 케이블) 에 의해 결합되어, 사용자들이 그들의 데이터에 원격으로 액세스하는 것을 가능하게 할 수도 있고 VPH-서버 (140) 가 사용자의 데이터 (예컨대, 이메일 메시지들) 를 사용자에 의해 제어되는 하드 드라이브 상에 저장하는 것을 가능하게 할 수도 있다. 추가 예로서, 홈 시큐리티 시스템 (104) 또는 그 시스템 내의 센서는 가상 주변기기 허브 디바이스 (112) 에 파이어와이어 접속 (8) 을 경유하여 결합될 수도 있다. 그렇게 접속되면, 홈 시큐리티 시스템 (104) 에 의해 발생되는 경보들은 적절한 목적지, 이를테면 홈 시큐리티 서비스 제공자 서버 (142) 에 VPH-서버 (140) 를 통해 송신될 수도 있다.
VPH-서버 (140) 는 가상 주변기기 허브 디바이스들, 그것들에 접속될 수 있는 주변 디바이스들, 및 이러한 주변 디바이스들로부터 획득될 수도 있는 데이터에 관련된 다양한 데이터 및 통신 서비스들을 제공하도록 구성될 수도 있다. 이러한 서비스들은 일반적으로 본 명세서에서는 "VPH 서비스들"이라고 칭한다. VPH-서버에 의해 제공되는 하나의 VPH 서비스는 VPH에 접속된 주변기기들 및 주변기기들에 액세스하는 원격 컴퓨터들 사이에 사용자 인증된 디스커버리 및 통신을 지원하여, 사용자들이 그들에게 등록된 (즉, 그들의 계정에 연관되는) 하나 이상의 가상 주변기기 허브 디바이스들 (112) 에 결합되는 주변기기들에 대한 액세스를 제공하는 계정들을 셋업하는 것을 가능하게 한다. 인증은 VPH, VPH에 결합된 주변기기들, 인터넷을 통해 VPH 서버에 액세스하는 컴퓨터, 및/또는 임의의 알려진 디바이스 및 사용자 인증 방법들을 이용하는 컴퓨터의 사용자에 대하여 VPH 서버에 의해 달성될 수도 있다. 이 서비스는 가상 주변기기 허브 디바이스 (112) 에 접속된 특정 주변 디바이스들과 통신하도록 통상의 프로토콜을 채용할 수도 있다.
VPH 서비스들은 또한 이를테면 가상 주변기기 허브 디바이스들 (112) 이 OTA (over the air) 사용 요금을 최소화하도록 유휴 모드에 들어가는 것을 허용하는 것과, 필요할 때 유휴 가상 주변기기 허브 디바이스 (112) 를 깨우는 것과 같은 정상적인 인터페이싱 및 디바이스 관리 문제들을 핸들링한다. VPH의 주변 디바이스들의 핸들링과 비슷하게, VPH-서버 (140), VPH (112), 및 액세싱 컴퓨터들 사이의 데이터 프로토콜은 포괄적일 수 있어서, 대부분 임의의 현재 및 장래의 주변 디바이스들 또는 접속된 컴퓨터의 유형에 대한 지원을 가능하게 한다. VPH는 접속된 주변기기들을 VPH 서비스에 등록하여, 주변기기들을 원격 컴퓨터(들)에 이용가능하게 할 수도 있다.
원격 주변기기들에 대한 액세스를 가능하게 하는 VPH 서비스들은, VPH 서버에 액세스하는데 필요한 소프트웨어를 호스팅할 수 있는 임의의 유형의 컴퓨터에 대해, 그 컴퓨터가 국소적으로 접속된 주변기기들을 호스팅하는 타고난 능력을 가지는지에 무관하게, 용이하게 될 수도 있다. 그래서, 액세싱 컴퓨터들은 VPH 서버로부터 데이터를 액세스할 수 있는 애플리케이션들을 갖는 모바일 디바이스들 (예컨대, 폰들, 스마트폰들 등) 을 포함할 수도 있다. VPH 서비스들은 또한 원격 액세싱 컴퓨터가 직접 인간 상호작용을 지원하지 않는 "기계 대 기계"(M2M) 애플리케이션들을 포함할 수도 있다. 일 예는 사용자에 의해 소유 및 관리되는, 원격으로 접속된 서비스 제공자로부터의 개인 사용자 이메일 데이터의 저장소 (storage) 이다.
VPH 서비스들 중의 다른 서비스는 접속된 주변기기들의 추가 및 제거, 및 원격 컴퓨터들에 의한 접속성에 대한 지원을 포함하는 VPH의 셋업 및 구성일 수도 있다.
VPH 서비스들 중의 다른 서비스는 인증된 사용자 및 컴퓨터를 VPH 및 그것의 접속된 주변기기들에 연관시키는데 사용될 수 있는 메커니즘들을 이용하는 사용자 기반 인증일 수도 있다. VPH, VPH 서버 및 컴퓨터들 사이에서 송신되는 데이터는 송신되는 데이터의 비공개성을 추가로 향상시키도록 암호화될 수도 있다.
VPH 서비스들은 또한 사용자가 사용자의 개인용 컴퓨터 (138) 로부터 멀리 있을 때 임의의 인터넷-접속된 컴퓨터 (예컨대, 웹 키오스크들) 로부터 주변 디바이스들에 액세스하는 것을 가능하게 할 수도 있다. VPH 서비스들은 또한 가상 주변기기 허브 디바이스 (112) 에 접속된 주변 디바이스들로부터 획득된 데이터의 저장, 중계 및 활용을 포함할 수도 있다. 가상 주변기기 허브 시스템에 의해 가능하게 되는 주변 디바이스 제공 데이터의 이러한 활용은, 다양한 유용한 애플리케이션들 및 새로운 비즈니즈 모델들을 가능하게 할 수도 있으며, 그것들의 일부 예들은 아래에서 더욱 충분히 설명된다.
추가의 실시예에서, VPH 및 VPH 서버에서의 지능은 무선 데이터 전송의 효율을 향상시킬 수도 있어서, 무선/셀룰러 네트워크 오버헤드를 최소화하면서도 주변기기들에 관련하여 지속성의 출현을 용이하게 한다. 이런 방식으로, VPH 서버는, 주변기기들, VPH 및 VPH 서버 사이에 일정한 통신 링크를 유지할 필요 없이, VPH 서버를 통해 주변기기들에 액세스하는 컴퓨터에 주변기기들이 계속 접속되는 모습 (appearance) 을 가능하게 하는 컴퓨터들에 의한 액세스를 위해 주변기기들로부터 최신 데이터 또는 스테이터스 (status) 를 "호스팅"할 수도 있다. 주변기기의 성질에 의존하여, 주변기기에 의해 제공된 데이터, 주변기기의 스테이터스 상태들, 또는 현재 상황들, 주변기기로부터 송신되는 업데이트된 데이터에 대한 액티브 통신 링크의 확립이 필요 기반(as-needed basis)으로 달성될 수도 있다. VPH 및 VPH 서버를 지능적으로 구성하는 것에 의해, 통신 비용을 최소화하면서도 매우 다양한 주변기기 애플리케이션들이 지원될 수 있다. 이러한 유연성은 몇 개의 예들에 의해 예시될 수도 있다.
주변 디바이스가 홈 시큐리티 시스템인 일 예의 애플리케이션에서, VPH는, VPH 서버와만 접속되어 VPH 서버가 현재 스테이터스로서 저장하고 발송할 수도 있는 보안 스테이터스에서의 변경을 보고하도록 지능적으로 구성될 수도 있다. 홈 시큐리티 시스템의 스테이터스 (예컨대, 문들 및 윈도들, 실내 온도, 모션 센서들 등의 개방/폐쇄 스테이터스) 는 통상 드물게 변경될 것이다. 그래서, 스테이터스에서의 변경을 감지하도록 구성된 VPH에 의해 통신 비용을 최소화하면서도, VPH 서버에 대한 접속을 확립하여 스테이터스에서의 변경을 검출한 것에 의거하여 업데이트된 스테이터스를 보고할 수 있는 풀 (full) 시스템 기능성이 제공될 수도 있다. 이런 방식으로, VPH 서버에 접촉하여 사용자의 홈의 스테이터스를 점검하는 사용자는, VPH에 대한 액티브 통신 링크를 가지거나 확립할 필요 없이 최신 스테이터스 보고를 수신할 것이다.
주변 디바이스가 웹캠 또는 보안 카메라인 일 예의 애플리케이션에서, VPH는, VPH 서버와만 접속되어 VPH 서버가 현재 이미지로서 저장하고 발송할 수도 있는 이미지에서의 변경이 있을 때 카메라로부터 이미지를 제공하도록 지능적으로 구성될 수도 있다. 웹캠들 및 보안 카메라들의 많은 구현예들에서, 카메라 이미지는 겨냥된 곳과 하루 중의 시간에 의존하여 가끔씩만 변경될 수도 있다. 그래서, 카메라 이미지를 분석하여 이미지에서의 변경을 검출하도록 구성된 VPH에 의해 통신 비용을 최소화하면서도, VPH 서버에 대한 접속을 확립하여 업데이트된 화상을 이러한 변경의 검출에 의거하여 송신하는 "라이브" 사진 형상화 (imagery) 가 제공될 수도 있다. 이런 방식으로, VPH 서버에 접촉하여 웹캠 또는 보안 카메라 이미지를 관람하는 사용자는, VPH에 대한 연속 통신 링크를 가지거나 또는 확립하는 일 없이 최신 이미지를 수신할 것이다.
유사한 방식으로, 이러한 변경을 감지하고 변경이 검출될 때 그것을 VPH 서버에 보고하도록 VPH를 구성하는 것에 의해 스테이터스 또는 출력 데이터가 단편적으로 변경하는 주변기기들에 지속성의 모습이 제공될 수도 있다. 주변기기 스테이터스 또는 출력 데이터가 주기적으로 생성되거나 또는 변경되는 애플리케이션들에서, VPH는 VPH 서버에 의해 저장되거나 발송되는 현재 스테이터스/데이터가 거의 실시간이 되도록 VPH 서버에 대한 링크를 주기적으로 확립하도록 구성될 수도 있다.
위에서 언급했듯이, 사용자들의 개인용 컴퓨터들 (138) 에는 가상 주변기기 허브 드라이버 소프트웨어가 준비될 수도 있다. 이러한 드라이버 소프트웨어의 기본 기능은, 가상 주변기기 허브 디바이스 (112) 에 접속된 주변 디바이스들 (102-110) 에 대한 투명한 액세스를 지원하는 것이 될 수도 있다. 이러한 드라이버 소프트웨어는, 로컬 네트워크 (150) 또는 광역 네트워크 (예컨대, 인터넷 (114)) 에 걸쳐서 USB 또는 파이어와이어 포트에 대한 가상화된 액세스를 제공할 수도 있고, VPH-서버 (140) 를 통해 가상 주변기기 허브 디바이스 디바이스들 (112) 에 대한 보안성 액세스를 제공하는데 사용될 수도 있다. 이러한 드라이버 소프트웨어는, VPH 서비스들의 웹사이트로부터 이용가능할 수도 있고 (이를테면 VPH-서버 (140) 에 의해 호스팅될 수도 있고), 사용자에 관련된 가상 주변기기 허브 디바이스 (112) 에 결합된 특정 주변 디바이스들에 액세스하는데 필요한 암호화 키들을 구비할 수도 있다. 이러한 암호화 키들은 디바이스 셋업, 등록 및 구성 단계 동안 생성될 수도 있는데, 이는 도 5를 참조하여 아래에서 설명된다.
주변기기들 및 연결된 컴퓨터 사이의 공통 단일 물리적 케이블 접속과는 달리,VPH에 의한 주변기기들에 대한 접속성의 가상의 성질은 단일 보다 많은 컴퓨터들이 동일한 원격 주변기기에 주어진 시간에 액세스하는 것을 허용한다. 예를 들어, 일반적으로 단일 컴퓨터 시스템에 직접 접속될 웹캠, 보안 카메라, 또는 다른 카메라 주변기기는, 끊긴 데 없이, 다수의 액세싱 컴퓨터들 또는 디바이스들에 의해 액세스되는 원격 주변기기가 될 수 있다. 비슷하게, VPH에 접속된 주변기기들은 다수의 상이한 원격 액세싱 컴퓨터들에 의해 액세스될 수도 있다. 게다가, 접속성 및 액세스 허용 구성은 VPH 서비스와 상호작용하는 원격 컴퓨터들에 의해 임의의 시간에 변경될 수도 있다.
서드 파티 서버들 (142, 144) 은 VPH-서버 (140) 와는 인터넷 (114) 을 경유하여 통신하여, 가상 주변기기 허브 디바이스 (112) 에 접속된 주변 디바이스들 (102-110) 로부터 데이터를 수신하거나 또는 그 주변 디바이스들에 데이터를 전할 수도 있다. 데이터가 통신 시스템 (100) 의 구성요소들 사이에서 통신될 수 있는 방법의 추가 설명이 도 2a-2d를 참조하여 아래에서 제공된다.
일 실시예에서, 가상 주변기기 허브 디바이스 (112) 는 또한 도 1b에 나타낸 통신 네트워크 (101) 에서 도시된 바와 같은 로컬 무선 네트워크들, 이를테면 WiFi 네트워크와 통신할 수 있는 무선 송수신기를 구비한다. 도 1a를 참조하여 위에서 설명된 바와 같이, 가상 주변기기 허브 디바이스 (112) 는 이 가상 주변기기 허브 디바이스가 셀룰러 신호들 (2) 을 통해 셀룰러 데이터 네트워크 (130) 와 통신하는 것을 가능하게 하는 셀룰러 송수신기를 구비할 수도 있다. 덧붙여, 가상 주변기기 허브 디바이스 (112) 는, 무선 라우터 (135) 를 통해 로컬 무선 네트워크와 통신하는 것을 가능하게 하는 로컬 영역 무선 송수신기 (예컨대, WiFi 송수신기) 를 구비할 수도 있다. 이 실시예에서, 가상 주변기기 허브 디바이스 (112) 는 개인용 컴퓨터 (138) 로부터 무선 라우터 (135) 를 경유하여 로컬 무선 전송들 (4) 을 통해 액세스될 수도 있다. 덧붙여, 가상 주변기기 허브 디바이스 (112) 는 그것이 인터넷 (114) (많은 가정용 무선 네트워크 구현예들에서 전형적임) 에 대한 접속을 포함할 때 무선 라우터 (135) 를 통해 인터넷 (114) 에 액세스할 수도 있다. 다양한 주변 디바이스들 (102-110) 및 VPH-서버 (140) 와의 및 그것들 중의 통신들은 이 실시예에서는 도 1a를 참조하여 위에서 설명된 바와 같이 진행할 수도 있다.
도 1c에 도시된 추가 실시예에서, 비전통적인 주변 디바이스들, 이를테면 자동차의 센서들 및 시스템들에 접속될 수도 있는 가상 주변기기 허브 디바이스 (112) 가 통신 네트워크 (150) 에서 도시된다. 가상 주변기기 허브 디바이스 (112) 를 자동차에 설치하는 것에 의해, 예를 들어, 다양한 운송수단 센서들 및 시스템들은, 이 디바이스에, 이를테면 자동차 서비스 정비기구 (mechanics) 에 의해 전형적으로 액세스되는 표준 자동차 인터페이스에 접속된 케이블에 의해 접속될 수 있다. 이 표준 인터페이스는 접속된 컴퓨터가 유지보수 및 문제해결 목적들에 유용할 수도 있는, 엔진 및 다른 운송수단 센서들에 관한 정보를 수신하도록 하는 것이 가능하다. 그러나, 이러한 데이터 인터페이스를 이용하기 위해, 대부분의 운송수단 소유자들은 그들의 자동차를 서비스 센터에 가지고 가야만 한다. 가상 주변기기 허브 디바이스 (112) 를 이 표준 운송수단 인터페이스에 꽂는 것에 의해, 가상 주변기기 허브 디바이스 (112) 및 VPH-서버 (140) 에 의해 인에이블되는 통신 네트워크 (150) 는 사용자의 자동차가 어디에 위치해 있든지 간에 운송수단 데이터를 정비기구 컴퓨터 (160) 에 배달할 수 있다.
이 실시예에서, 가상 주변기기 허브 디바이스 (112) 는 운송수단의 전기 시스템에 의해, 이를테면 차량용 시거잭 (cigarette lighter socket) 에 꽂는 것에 의해 전력을 공급받을 수도 있다. 운송수단 센서들, 이를테면 비디오 카메라 (152) (예컨대, 백업 카메라), 하나 이상의 엔진 센서들 (154), 운송수단 속도계 (156), 에어백 전개 센서 (158), 및 다른 센서들로부터의 정보는 데이터 케이블 (20), 이를테면 표준 운송수단 인터페이스에 대한 접속을 위해 사용되는 표준 데이터 케이블에 의해 가상 주변기기 허브 디바이스 (112) 에 송신될 수도 있다. 그러면 운송수단 센서들 (152-158) 로부터 수신된 데이터는 셀룰러 데이터 네트워크 (130) 및 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 통신될 수도 있다. VPH-서버 (140) 는 운송수단 데이터를 저장할 수도 있고, 이 데이터에 대한 액세스를, 이를테면 VPH-서버 (140) 에 의해 호스팅되는 웹페이지 또는 데이터베이스에 액세스하는 정비기구의 컴퓨터 (160) 로부터 인터넷 (114) 을 경유하여 제공할 수도 있다. 운송수단 센서 데이터를 해석하기 위한 드라이버 소프트웨어는 또한 사용자가 운송수단 센서 데이터를 인터넷 (114) 에 대한 액세스를 갖는 임의의 개인용 컴퓨터 (138) 로부터 액세스할 수 있도록 VPH-서버 (140) 에 로딩될 수도 있다. 그래서, 사용자의 컴퓨터 (138) 는, 운송수단 속도계 (156) 로부터의 데이터 메시지들을 해석하는데 필요한 드라이버 소프트웨어를 가질 필요 없이, 사용자가 (예컨대, 십대 (teenage) 운전자에 대한 진위확인을 위해) 현재 속력 또는 오도미터 판독치 (reading) 를 보는 것이 가능하다. 사용자의 컴퓨터 (138) 상의 운송수단 센서 데이터를 직접 해석하는 대신, 소망의 정보는 VPH-서버 (140) 로부터 인터넷 (114) 을 경유하여 액세스될 수도 있다.
위에서 언급했듯이, 가상 주변기기 허브 디바이스 (112) 는 주변 디바이스들과의 2-방향 데이터 통신을 가능하게 할 수 있다. 그래서, 도 1c에 도시된 예에서, 정비기구는 운송수단이 어디에 있든지 간에 정비기구의 컴퓨터 (160) 로부터 운송수단 세팅을 조절할 수도 있다. 이것을 달성하기 위해, 정비기구는 명령들을 개인용 컴퓨터 (160) 에 입력할 수도 있고, 이 개인용 컴퓨터는 그 명령들을 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 송신한다. VPN-서버 (140) 는 그런 명령들을 인터넷 (114) 및 셀룰러 네트워크 (130) 를 경유하여 가상 주변기기 허브 디바이스 (112) 에 관련시킬 수 있다. 커맨드 명령들의 성질에 의존하여, VPH-서버 (140) 는 정비기구의 커맨드들을, 가상 주변기기 허브 디바이스 (112) 가 패킷 콘텐츠들을 해석하는 일 없이 수신할 수 있는 캡슐화된 IP 데이터 패킷들로 송신할 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 수신된 캡슐화된 IP 데이터 패킷들로부터의 커맨드 메시지들을 언팩하고 그 커맨드들을 인터페이스 데이터 케이블 (20) 을 경유하여 적절한 자동차 주변 디바이스에 중계할 수도 있다.
도 1c에서 도시된 바와 같이 운송수단에서 구현될 때, 가상 주변기기 허브 디바이스 (112) 는 긴급 (emergency) 운송수단 감시 시스템이 OnStar® 시스템을 구비한 운송수단들로 입수가능한 것과 유사해지게 할 수 있다. 그래서, 임의의 운송수단은 긴급 정보, 이를테면 에어백 센서 (158) 에 의해 표시된 바와 같은 에어백의 전개를 현재의 GPS 좌표 정보 (내장 GPS 수신기에 의해 제공됨) 와 함께 셀룰러 네트워크 (130) 를 경유하여 보고하도록 신속히 구성될 수 있다. 이러한 구현예에서, VPH-서버 (140) 는 긴급 신호 및 좌표 정보를 수신하고, 그 정보를 적절한 긴급 대응 센터의 서버 (144) 에 중계할 수도 있다.
도 1b를 참조하여 위에서 언급했듯이, 가상 주변기기 허브 디바이스는 또한 이용가능할 때 로컬 WiFi 네트워크 무선 라우터 (135) 에 접속하는 것을 가능하게 하는 로컬 무선 및 네트워크식 송수신기를 구비할 수도 있다. 예를 들어, 운송수단이 소유자의 차고에 주차되어 있고 이로 인해 소유자의 홈 무선 라우터 (135) 에 액세스할 수 있을 때, 가상 주변기기 허브 디바이스 (112) 는 그것의 데이터를 무선 라우터 (135) 를 경유하여 사용자의 개인용 컴퓨터 (138), 뿐만 아니라 VPH-서버 (140) 에 보고할 수도 있다. 마찬가지로, 운송수단을 수리센터로 몰고 갔을 때, 가상 주변기기 허브 디바이스 (112) 는, 정비기구가 운송수단에 대한 일을 시작하기 전이라도, 수리센터의 로컬 무선 라우터 (135) 에 접속하여 운송수단 센서 데이터를 정비기구의 컴퓨터 (160) 에 보고하는 것을 시작할 수도 있다.
운송수단의 상태에 대한 유지보수 및 점검을 용이하게 하는 것 외에도, 운송수단 센서들로부터 획득된 운송수단 구성요소 및 운전 데이터는, 몇몇 이름을 열거하면, 자동차 제조업자들, 운송수단 구성요소 제조업자들, 보험 회사들, 세금 관계자, 및 광고업자들과 같은 다수의 비즈니스들에 유용할 수도 있다. 이러한 정보는 VPH-서버 (140) 에 의해 획득되고 이러한 데이터 사용자들의 서버들 (142, 144) 에 인터넷 (114) 을 경유하여 이용가능하게 될 수도 있다. 본 명세서에서 설명되듯이, 특정 유형들의 정보, 이를테면 엔진 성능 데이터를 좋아할 것인 엔티티들 (이들은 엔진 제조에 관해 관심이 있을 것이다) 는, VPH-서버 (140) 에 대해 데이터 요구를 하는 서버 (142) 에 의해 이러한 정보를 요구할 수도 있다. 요구된 데이터가 VPH-서버 데이터 스토어에서 입수가능하지 않으면, VPH-서버 (140) 는, 적절한 센서들을 폴링하고 요구된 데이터로 응답할 것을 가상 주변기기 허브 디바이스 (112) 에 요구하는 데이터 질의 (query) 를 셀룰러 네트워크 (130) 를 경유하여 가상 주변기기 허브 디바이스 (112) 에 전송할 수도 있다.
도 1a-1c에 도시된 바와 같이, 가상 주변기기 허브 디바이스 (112) 를 통해 입수가능한 데이터는 또한, 가상 주변기기 허브 디바이스 (112) 가 접속되는 네트워크에 접속될 수 있는 다른 컴퓨팅 디바이스들, 이를테면 셀룰러 데이터 네트워크 (130) 에 액세스하는 셀룰러 전화기 (136) 에 액세스가능하게 만들어질 수도 있다. 그래서, 사용자는 웹캠 (102) 이미지를 보거나, 홈 시큐리티 상황을 점검하거나, 또는 사용자의 모바일 디바이스 (136) 상의 운송수단 센서에 의해 검출되는 문제에 대해 경보를 발하게 될 수도 있다. 다양한 실시예들은 이러한 애플리케이션들에서 특히 유용할 수도 있는데, 다양한 주변 디바이스들을 위한 드라이버 소프트웨어가 제한된 메모리 용량을 통상 가지는 모바일 디바이스 (136) 상에 상주할 필요는 없어서이다. 대신에, 모바일 디바이스 (136) 는 그것의 대용량 디스크 드라이브들에 저장된 모든 필요한 디바이스 드라이버 소프트웨어를 가질 수도 있는 VPH-서버 (140) 를 통해 소망의 정보에 액세스할 수 있다.
가상 주변기기 허브 디바이스 및 VPH 서비스들의 동작들은, 설명된 예들에서 활용되는 구성요소들 및 통신 링크들을 진한 선들로 하이라이트되는 반면 논의되지 않는 구성요소들 및 링크들은 강조되지 않는 도 2a-2d를 참조하여 이해될 수 있다.
도 2a를 참조하면, 서모스탯 (111), 이를테면 홈 서모스탯 내에 구현된 디지털 온도계로부터의 온도 데이터는 로컬 무선 통신 링크 (10), 이를테면 Bluetooth® 또는 WiFi 통신 링크를 통해 가상 주변기기 허브 디바이스 (112) 에 통신될 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 이 데이터를 수신하고 그것을 셀룰러 데이터 통신들 (2) 을 경유하여, 정보를 셀룰러 네트워크 인터넷 액세스 서버 (142) 에 중계하는 가까운 셀룰러 기지국 (132) 에 송신하도록 구성될 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 온도 센서 데이터를 데이터 패킷들로 패키징하여서 온도 센서 데이터가 인터넷 프로토콜 (IP) 패킷들 (12) 을 통해 VPH-서버 (140) 로 이동하도록 한다. 가상 주변기기 허브 디바이스 (112) 는 주지의 데이터 터널링 통신 기법들을 이용하여 온도 센서 데이터가 IP 패킷들 (12) 내에 캡슐화되도록 하여서 온도 센서 데이터가 VPH-서버 (140) 에 네이티브 포맷으로 도착되도록 할 수도 있다. VPH-서버 (140) 는 서모스탯 (111) 용 드라이버 소프트웨어를 활용하여 온도 센서 데이터를 수신 및 해석할 수도 있고, 그 데이터를 표준 포맷으로 (예컨대, HTTP 웹페이지 내에서처럼) 이용가능하게 만들 수도 있다. VPH-서버 (140) 는 또한, 데이터 또는 커맨드들, 이를테면 서모스탯 온도 셋팅을 변경하는 커맨드들을 셀룰러 네트워크 (130) 를 경유하여 가상 주변기기 허브 디바이스 (112) 에 통신하는 IP 패킷들 (12) 에 캡슐화하는 것에 의해, 이 커맨드들을 서모스탯 (111) 에 되송신할 수도 있다. 이러한 패킷들을 수신하자마자, 가상 주변기기 허브 디바이스 (112) 는 커맨드들을 언팩하고 그것들을 로컬 무선 통신 링크 (10) 를 경유하여 서모스탯 (111) 에 중계할 수도 있다.
서모스탯 (111) 으로부터 가상 주변기기 허브 디바이스 (112) 를 통해 VPH-서버 (140) 로의 데이터의 통신은 또한 이 데이터를 도 2b에 도시된 바와 같이 개인용 컴퓨터 (138) 를 통해 사용자에게 이용가능하게 만들 수도 있다. 서모스탯 (111) 에 액세스하기 위해, 사용자는 개인용 컴퓨터 (138) 를 사용하여 웹사이트 액세스 IP 메시지 (14) 를 통해 VPH-서버 (140) 에 액세스할 수도 있다. 일단 사용자 또는 사용자의 컴퓨터 (138) 가, 이를테면 사용자이름 및 패스워드의 기입 (entry), 또는 적절한 검증 키들의 교환에 의해 VPH-서버 (140)에 식별되었다면, 사용자의 개인용 컴퓨터 (138) 는 온도 센서 데이터에 대한 요구를 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 송신할 수도 있다. VPH-서버 (140) 가 요구된 데이터를 메모리에 가진다면, 질의는 즉시 응답될 수도 있다. 아니라면, VPH-서버 (140) 는 데이터 요구 메시지를 인터넷 및 셀룰러 데이터 네트워크 (130) 를 경유하여 가상 주변기기 허브 디바이스 (112) 에 전송할 수도 있다. 아래에서 더 상세히 설명되는 바와 같이, VPH-서버 (140) 는 먼저, 이를테면 SMS 메시지를 셀룰러 네트워크 (130) 를 경유하여 전송하는 것에 의해, 가상 주변기기 허브 디바이스 (112) 를 깨우도록 하는 메시지를 이 가상 주변기기 허브 디바이스에 전송할 수도 있다. 일단 가상 주변기기 허브 디바이스 (112) 와의 통신 링크가 확립되고 데이터 요구 메시지가 전달되면, 가상 주변기기 허브 디바이스 (112) 는 요구된 정보에 대해 서모스탯 (111) 을 폴링하고 데이터를 VPH-서버 (140) 로 되돌아가게 중계한다. 요구된 데이터를 수신할 때, VPH-서버 (140) 는 그 데이터를 IP 데이터 메시지들 (14) 을 통해 개인용 컴퓨터 (138) 에 이야기해 줄 수도 있다. 유사한 방식으로 사용자가, 서모스탯 (111) 으로의 중계를 위해, 개인용 컴퓨터 (138) 로부터의 세팅을, 적절한 커맨드를 인터넷 (114) 및 셀룰러 네트워크 (130) 를 경유하여 가상 주변기기 허브 디바이스 (112) 에 송신하는 VPH-서버 (140) 에 통신하는 것에 의해, 커맨드들을 서모스탯 (111) 에 (예컨대, 온도 셋팅을 조절하기 위해) 발행할 수도 있다.
VPH 서비스들에 의해 인에이블되는 통신 네트워크 (100) 의 유용한 애플리케이션의 다른 예가 도 2c에 도시되어 있다. 이 예에서, 주변 디바이스는 의료용 센서, 이를테면 혈압 ("BP") 센서 (110) 이다. 의료용 센서들로부터의 데이터는, 몇 가지만 이름을 대면, 사용자의 의사, 사용자를 모니터링하는 지역 병원, 의료 보험 회사들, 사용자의 혈압약의 제조업자들, 및 혈압 센서 (110) 의 제조업자들을 포함하여, 다수의 상이한 당사자들이 관심있어 할 수도 있다. 도 2c에 도시된 바와 같이, 가상 주변기기 허브 디바이스 (112) 및 VPH-서버 (140) 는 혈압 센서 (110) 네트워크를 이용가능하게 하거나, 센서를 포함하는 네트워크를 확립하거나, 또는 혈압 센서용 드라이브들을 다른 컴퓨터들에 배치하는 것의 복잡한 문제 없이, 의료 데이터를 필요로 했던 그런 엔티티들에게 의료 데이터를 이용가능하게 할 수 있다. 일단 가상 주변기기 허브 디바이스 (112) 가 설치되고 VPH-서버 (140) 에 등록되면, 그것은 케이블 (예컨대, USB 케이블 (6) 또는 파이어와이어 케이블 (8)) 또는 무선 통신 링크 (예컨대, 도시된 바와 같은 Bluetooth® (10)) 에 의해, 의료용 센서, 이를테면 혈압 센서 (110) 에 접속될 수 있다. 일단 접속되면, 가상 주변기기 허브 디바이스 (112) 는 혈압 센서 (110) 에 대한 접속을, 이 센서로부터 수신된 데이터를 저장하기 위한 데이터 레코드들을 유지할 수도 있는 VPH-서버 (140) 에 보고할 수 있다. 혈압 센서 (110) 로부터 가상 주변기기 허브 디바이스 (112) 에 의해 수신된 데이터 패킷들은 IP 패킷들로 캡슐화될 수도 있으며 이 IP 패킷들은 셀룰러 데이터 통신들 (2) 로서 셀룰러 통신 네트워크 (130) 에 중계되며 이 셀룰러 통신 네트워크는 그것들을 VPH-서버 (140) 로의 전달을 위해 인터넷 (114) 에 이용한다. 혈압 센서 (110) 로부터 수신된 데이터 패킷들을 캡슐화된 IP 패킷들 내에서 VPH-서버 (140) 에 터널링하는 것에 의해, 가상 주변기기 허브 (112) 는 혈압 센서 (110) 와의 상호작용을 위해 드라이버 소프트웨어로 구성되어야 할 필요는 없게 된다. 대신에, 가상 주변기기 허브 디바이스 (112) 로부터의 캡슐화 IP 패킷들은 VPH-서버 (140) 에 의해 수신될 수도 있으며, 이 VPH-서버는 이 패킷들을 언팩하여서 혈압 센서 (110) 데이터는 서버 상에 상주하는 적절한 드라이버 소프트웨어에 의해 처리될 수 있다. VPH-서버 (140) 상에 저장된 혈압 센서 데이터와 함께, 이 정보는 그 데이터를 사용할 수도 있는 다른 엔티티들에 인터넷 (114) 을 경유하여 액세스가능하게 될 수도 있다. 예를 들어, 처리된 혈압 센서 데이터는, 이를테면 VPH-서버 (140) 에 의해 호스팅되는 웹사이트에 제기되는 질의들에 응답하여, 의사의 컴퓨터 또는 병원 서버 (142) 에 하이퍼텍스트 전송 프로토콜 IP (HTTP/IP) 패킷들 (16) 로서 송신될 수도 있다.
도 2c에 도시된 통신 네트워크 (100) 는 또한 하드웨어 제조업자들이 책임을 맡은 데이터 또는 주변 디바이스들에 대한 통제를 유지하기 위하여 하드웨어 제조업자들이 드라이버 소프트웨어의 배포를 통제하고 제한하는 것이 가능하게 할 수도 있다. 예를 들어, 일부 의료용 디바이스 제조업자들은 그들의 제품들로부터의 데이터가 그들의 인-하우스 서버들에 의해서만 해석될 수 있도록 디바이스 드라이버들을 사유 소프트웨어로서 유지할 것을 선택할 수도 있다. 이러한 제한은 데이터베이스들 상의 민감한 환자 정보의 저장소가 인터넷 (114) 을 경유하여 액세스가능하게 되는 것을 방지하는데 적합할 수도 있다. 이러한 제한은 또한 의료용 디바이스들이 비인가 개인들에 의해 재프로그램되거나 또는 통제되지 않도록 하는 것을 보장하는데 적합할 수도 있다. 이러한 구현예를 지원하기 위해, VPH-서버 (140) 는 이러한 사유 센서 (예컨대, 혈압 센서 (110)) 로부터 수신된 처리되지 않은 데이터 패킷들을 캡슐화된 IP 패킷들 (18) 로 하여 인터넷 (114), 또는 다른 네트워크 (미도시) 를 경유하여 디바이스 제조업자의 서버 (144) 에 포워딩할 수도 있다. 그러면 제조업자의 서버 (144) 는 그것의 사유 드라이버 소프트웨어를 이용하여 주변 디바이스로부터 수신된 데이터를 해석할 수도 있다.
위에서 지적했듯이, VPH-서버 (140) 및 가상 주변 디바이스 (112) 에 의해 인에이블되는 주변 디바이스들 (예컨대, 혈압 센서 (110)) 에 대한 통신 링크는 역방향 통신들을 유사한 방식으로 지원할 수 있다. 그래서, 주변 디바이스의 의료 시설 또는 제조업체 (manufacture) 는 셋팅 커맨드들을 도 2c에 도시된 통신 링크들을 이용하는 디바이스들에 송신할 수도 있다. 예를 들어, 혈압 센서 (110) 로부터 의료용 서버 (142) 를 통한 의사 수신 판독치들은 가상 주변기기 허브 디바이스 (112) 에 결합된 혈압 센서 (110) 또는 다른 주변 디바이스의 스크린 상에 디스플레이될 메시지를 송신할 수도 있다.
VPH 서비스들의 기본 기능성 외에도, 소프트웨어 개발자들, 주변 디바이스 제조업체들, 및 데이터 서비스들 회사들에 의해 추가될 수도 있는 고급 특징들에 대한 수많은 기회들이 있다. 일부 구체적인 예들은, 그룹들에 걸친 디바이스 및 데이터 공유; 이용가능할 경우 접속된 디바이스들의 LAN 및 WiFi 접속성의 쉬운 셋업; 보안 또는 다른 모니터링 목적들을 위한 웹 액세스가능 비디오 카메라들 ("웹캠들") 과 같은 디바이스들에 대한 주기적인 액세스; 및 시스템을 통해 흐르는 데이터에 기초한 사용자들에 대한 표적형 (targeted) 광고를 포함한다. 가상 주변기기 허브 디바이스 (112) 및 VPH 서비스들에 의해 인에이블되는 다양한 서비스들의 화폐화 (monetization) 는 새로운 비즈니스들 및 새로운 수익 흐름들의 생성에 대한 수많은 기회들을 제공할 수도 있다.
위에서 언급했듯이, 가상 주변기기 허브 디바이스 (112) 의 실시예는, 로컬 무선 라우터 (135) 를 통해 네트워킹된 컴퓨터들 및 디바이스들과 가상 주변기기 허브 디바이스가 통신하는 것을 가능하게 하는 로컬 무선 네트워크 송수신기 (예컨대, WiFi 송수신기) 를 구비할 수도 있다. 이러한 통신들은 다양한 실시예들에서 제공되는 VPH-서버 (140) 및 VPH 서비스들에 의해 가능하게 될 수도 있다. 이것의 일 예는 도 2d에 도시되어 있는데, 이 도면은 가상 주변기기 허브 디바이스 (112) 및 인터넷 (114) 둘 다와 통신하는 무선 라우터 (135) 에 결합된 개인용 컴퓨터 (138) 를 나타내고 있다.
로컬 무선 네트워크들을 셋업하는 자들이 직면하는 하나의 도전은 네트워크를 경유하여 액세스가능할 수도 있는 모든 디바이스들과의 통신 링크들을 발견하는 것 및 확립하는 것을 수반한다. 이 도전은 가상 주변기기 허브 디바이스 (112) 및 VPH-서버 (140) 에 의해 제공되는 서비스들에 의해 단순화된다. 도 2d를 참조하면, 가상 주변기기 허브 디바이스 (112) 가 설치되고 처음 활성화될 때, 그것은 유선 (예컨대, USB 커넥터 (6), 와이파이 (8)) 또는 무선 링크들 (예컨대, BlueTooth® 링크 (10)) 에 의해 자신에 결합된 상업적 디바이스들의 모두를 VPH-서버 (140) 에 보고할 수도 있다. 등록 프로세스의 부분으로서 VPH-서버 (140) 는 고유 IPv6 어드레스들을 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들의 각각에 할당할 수도 있다. 이들 IPv6 어드레스들은 그 다음 가상 주변기기 허브 디바이스 (112) 를 통해 특정 주변 디바이스들에 액세스하는 로컬 컴퓨터 (138) 에 의해 사용될 수 있다. 그래서, 특정 주변기기 허브 디바이스, 이를테면 웹캠 (102) 에 액세스하기 위해, 사용자는 로컬 무선 라우터 (135) 를 통해 인터넷 (114) 에 결합된 개인용 컴퓨터 (138) 를 이용하여 VPH-서버 (140) 에 액세스할 수도 있다. 이를테면 사용자이름 및 패스워드를 입력하는 것 또는 검증 키들을 교환하는 것에 의해 VPH-서버 (140) 에 등록된 후, 사용자는 가상 주변기기 허브 디바이스 (112) 에 결합된 모든 주변 디바이스들과 그것들의 IPv6 어드레스들을 포함한 목록출력 (listing) 을 요구하고 수신할 수도 있다. 일단 사용자의 개인용 컴퓨터 (138) 가 주변 디바이스들의 IPv6 어드레스들을 가진다면, 이 컴퓨터 (138) 는, 가상 주변기기 허브 디바이스 (112) 에 대한 무선 라우터 (135) 를 통한 무선 통신들 (4) 을 통하여 특정 주변 디바이스들에 액세스할 수도 있다. VPH-서버 (140) 에 의해 제공된 IPv6 어드레스를 이용하여 특정 주변 디바이스, 이를테면 웹캠 (102) 에 어드레싱되는 로컬 컴퓨터 (138) 에 의해 송신되는 커맨드 신호들, 이를테면 데이터 액세스 요구들은 가상 주변기기 허브 디바이스 (112) 에 의해 중계될 것이다. 그래서, 다양한 실시예들에 의해 인에이블되는 VPH 서비스들 중의 하나는, 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들과의 단순화된 네트워크 확립이다.
VPH 및 VPH 서비스들의 다양한 실시예들은 현존하는 및 장래의 주변 디바이스들 (예컨대, 카메라들 등) 을 신속하고 효율적인 전개들로 현재 잘 제공할 수도 없는 위치들 및 환경들에, 신속하고 효율적인 전개를 가능하게 할 수 있다. 예를 들어, 배터리 전력공급형 VPH는 웹캠 또는 디지털 카메라에 결합되어, 케이블들 배설하는 것 (running), 라우터들 및 네트워크들을 구성하는 것, 또는 디바이스들을 구성하는 것에 대한 필요 없이 순간 감시 (surveillance) 능력을 확립할 수도 있다. 카메라 화상을 수신하는 드라이버들을 제공하는 것을 포함하여, 접속성 및 구성은 VPH 및 VPH 서비스들에 의해 자동으로 핸들링될 수 있다. 다른 예로서, 자립형 동작을 위해 정상적으로 구성된 프린터는 네트워크 접속, 또는 네트워크 구성에 대한 필요 없이 네트워크형 프린터로서 즉시 구성될 수도 있다. 이런 방식으로, 프린터가 단순히 그것의 USB 접속부를 VPH에 꽂는 것에 의해 임시 구성의 임의의 수의 컴퓨터들에 의해 빠르게 액세스될 수도 있다.
가상 주변기기 허브 디바이스 (112) 실시예의 예의 구성요소들은 도 3a에 도시되어 있다. 가상 주변기기 허브 디바이스 (112) 는 케이스 또는 하우징 (300) 으로 구성될 수도 있고, 내부 메모리 (302) 에, 그리고 안테나 (304) 에 결합된 셀룰러 데이터 네트워크 송수신기 (303) 에 결합되는 프로그램가능 프로세서 (301) 를 구비할 수도 있다. 전원 공급부 (308) 가 프로세서 (301) 및 다른 구성요소들에 결합될 수도 있다. 일부 실시예들에서, 전원 공급부 (308) 는 배터리를 구비할 수도 있다. 바람직한 실시예에서, 전원 공급부 (308) 는 표준 유틸리티 벽 콘센트에 꽂아지는 전원 플러그 (309) 에 전기 접속될 수도 있다. 프로세서 (301) 는 또한 하나 이상의 유선 네트워크 접속 소켓들, 이를테면 USB 포트 (310), 파이어와이어 포트 (311) 및/또는 이더넷 소켓 (312) 에 결합될 수도 있다. 간단한 실시예에서, 단일 USB 포트 (310) 만이 제공될 수도 있다. 다른 실시예들에서, 가상 주변기기 허브 디바이스 (112) 는 다수의 주변 디바이스들을 데이터 케이블들을 통해 접속하는 것을 가능하게 하는 다수의 USB 포트들 (310), 파이어와이어 포트들 (311), 및 이더넷 소켓들 (312) 을 구비할 수도 있다. 옵션의 이더넷 포트 (312) 를 가상 주변기기 허브 디바이스 (112) 내에 제공하는 것은 허브를 LAN 또는 로컬 네트워크 라우터 (135) 에 직접 접속하는 것을 가능하게 할 수도 있다. 포트들의 수는 하우징의 물리적 디자인 및 가상 주변기기 허브 디바이스 (112) 가 구성되는 특정한 시장 또는 애플리케이션에 의존하여 다양한 실시예들 간에 상이할 수도 있다.
일부 실시예들에서, 가상 주변기기 허브 디바이스 (112) 는 또한 무선 통신 링크들을 통해 주변 디바이스들에 결합되는 하나 이상의 무선 근거리 통신망 송수신기들을 구비할 수도 있다. 예를 들어, 프로세서 (301) 는 안테나 (316) 에 접속되는 Bluetooth® 송수신기 (314) 에, 그리고 안테나 (324) 에 접속되는 IEEE802.11 (즉, WiFi) 송수신기 (322) 에, 주변 디바이스들에 대한 무선 지시 링크들을 확립하기 위해 결합될 수도 있다. 위에서 설명된 바와 같이, WiFi 송수신기 (322) 는 또한 가상 주변기기 허브 디바이스 (112) 를 로컬 영역 무선 라우터 (135) 에 결합하는데 사용하기 위해 프로세서 (301) 에 접속될 수도 있다. 지그비 프로토콜 네트워크에 결합하기 위한 지그비 송수신기 (미도시) 와 같은 다른 로컬 무선 송수신기들 또한 구비될 수도 있다. 일부 실시예들에서, 가상 주변기기 허브 디바이스 (112) 는 프로세서 (301) 에 그리고 안테나 (328) 에 결합된 글로벌 포지셔닝 시스템 (GPS) 수신기 (326) 를 구비할 수도 있다. 다수의 안테나들 (304, 316, 324, 328) 을 갖는 대신에, 가상 주변기기 허브 디바이스 (112) 는 단일 통합형 안테나를 구비할 수도 있거나, 또는 둘 이상의 송수신기들이 공통 안테나를 공유할 수도 있다는 것에 주의해야 한다. 또한, 일부 실시예들에서, 가상 주변기기 허브 디바이스 (112) 는 유선 네트워크 접속 소켓들 (즉, USB 포트 (310), 파이어와이어 포트 (311) 및 이더넷 소켓 (312) 은 옵션이다) 을 구비하지 않을 수도 있고, 대신에 무선 통신 링크들을 통해 주변 디바이스들에 결합하기 위한 하나 이상의 무선 근거리 통신망 송수신기들만을 구비할 수도 있다.
가상 주변기기 허브 디바이스는 구현을 위해 사용자들에게 단순하게 될 것이 의도되고 있으므로, 매우 기초적인 사용자 인터페이스를 구비할 수도 있다. 예를 들어, 프로세서 (301) 는 스테이터스를 통신하기 위해 하나 이상의 발광 다이오드들 (LED들) (334) 에, 그리고 간단한 사용자 커맨드 입력들 (예컨대, 활성화 또는 재시작을 위한 푸시) 을 수신하기 위한 하나 이상의 버튼들 (336) 에 결합될 수도 있다.
도 3a가 가상 주변기기 허브 디바이스 (112) 의 다양한 구성요소들을 개별 집적회로들로서 나타내고 있지만, 여러 구성요소들은 이 기술분야에서 잘 알려진 바와 같이 단일 초대규모집적 (VLSI) 칩에 통합되거나 또는 단일 회로 보드 상의 통합 칩셋으로서 조립될 수도 있다. 예를 들어, 많은 현대의 셀룰러 전화기 송수신기들, 이를테면 QUALCOMM, Inc. 에서 제작한 Gobi™ 셀룰러 칩셋 모듈은, 강력한 프로세서, WiFi 네트워크들 및 블루투스 가능 디바이스들에 접속하기 위한 송수신기들, 내장 GPS 수신기, 그리고 USB, 파이어와이어 및/또는 이더넷 접속부들을 수용하기 위한 데이터 포트와 같은 유선 접속부들에 접속하기 위한 회로를 포함한다. 그래서 일 실시예에서, 가상 주변기기 허브 디바이스 (112) 는 적절한 전원 공급부 (308), 하나 이상의 안테나들 (304), 하나 이상의 LED들 (334), 하나 이상의 버튼들 (336), 그리고 USB, 파이어와이어, 이더넷 또는 다른 유선 입력단들을 수용하기 위한 소켓들에 대한 접속부들을 갖는 하우징 (300) 내에 Gobi™ 모듈 (또는 유사한 셀룰러 송수신기) 을 구성하는 것에 의해 조립될 수도 있다. Gobi™ 모듈과 같이, 복잡정교한 셀룰러 송수신기 모듈 주위에 가상 주변기기 허브 디바이스를 구성하는 것은, 3G 셀룰러, WiFi, 및 블루투스 접속성을 단일 소형 패키지에 제공할 수 있다.
가상 주변기기 허브 디바이스 (112) 내의 프로세서 (301) 는 본 명세서에서 설명되는 다양한 실시예들의 처리들 및 통신들을 가능하게 하는 프로세서 실행가능 명령들 (이것들은 메모리 (302) 에 저장될 수도 있음) 로 구성될 수도 있다. 이러한 소프트웨어는 셀룰러 통신 네트워크 (130) 와 통신하는데 필요할 뿐만 아니라 주변 디바이스들과의 로컬 네트워크들을 확립하는 프로세스들을 포함할 수도 있다. 이러한 소프트웨어는 또한 가상 주변기기 허브 디바이스 (112) 및 VPH-서버 (140) 사이뿐만 아니라 사용자의 개인용 컴퓨터 (138) 와의 통신들을 관리하기 위한 주문형 (custom) 프로토콜을 포함할 수도 있다. 이러한 소프트웨어는 또한, 프로세서 (301) 에 설치된 디바이스 드라이버가 없는 경우에도, 인터넷을 경유한 "터널링"에 의한 VPH-서버 (140) 로의 송신을 위해 수신된 데이터를 패키징하는 것을 포함하여, 주변 디바이스들을 식별하고 그 주변 디바이스들과 통신하기 위해 프로세스들을 제어할 수도 있다. 이러한 소프트웨어는 또한, 본 명세서에서 설명되는 바와 같이 주변 디바이스들로부터의 입력들 또는 VPH-서버 (140) 로부터 수신되는 신호들에 응답하여 셀룰러 송수신기를 유휴 모드로 진입하게 하고 깨우도록 하는 것에 의해, 동작 비용을 최소화하고 배터리 수명 (배터리 전력공급형 구성으로 구현될 때) 을 최대화하는 프로세스들을 포함할 수도 있다.
일 실시예에서, 가상 주변기기 허브 디바이스 (112) 는 개인용 컴퓨터 (138) 에 대한 직접 접속을 이를테면 USB 포트 (310) 또는 이더넷 소켓 (312) 을 통해 가능하게 할 수도 있다. 이 실시예에서, 개인용 컴퓨터 (138) 는 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들이 마치 컴퓨터에 직접 접속되어 있는 것처럼 이 디바이스들에 액세스할 수도 있다.
위에서 지적했듯이, 가상 주변기기 허브 디바이스 (112) 는 기존의 가정용 AC 전류에 의해 전력이 공급되는, 또는 자동차로부터 (예컨대, 차량용 시거잭으로부터) 의 12 볼트 DC 전류에 의해 전력이 공급되는 배터리 전력공급형일 수도 있다. 그래서, 전원 공급부 (308) 는, 디바이스가 수신하도록 구성되는 어떤 형태의 외부 소스라도 그 외부 소스로부터 전력을 수신하도록, 그리고 프로세서 (301) 및 송수신기 회로에 의해 요구된 대로 전력을 구성하도록 구성될 것이다. 배터리 전력공급형 구현예들에서, 전원 공급부 (308) 는 또한 커넥터 플러그 (309) 가 전력 소켓에 꽂아질 때 배터리 (별도로 보이지 않음) 의 충전을 모니터링하고 충전용 전력을 배터리에 제공하는 회로를 구비할 수도 있다. 이러한 기능들을 수행할 수 있는 전원 공급 회로들은 전자 디바이스 기술분야에서 잘 알려져 있다.
여기서 더 충분히 설명되는 바와 같이, 가상 주변기기 허브 디바이스 (112) 는 상이한 스테이터스 상태들을 나타내기 위해 노란색, 녹색 및 적색 광들을 방출할 수 있는 3가지 컬러 LED 세트와 같이, 상이한 컬러들로 조명하는 LED들 (334) 을 구비할 수도 있다. 이러한 LED들은 프로세서 (301) 로부터의 커맨드들에 응답하여 섬광 (flash) 을 비추거나 연속 광을 방출하도록 구성될 수도 있다.
가상 주변기기 허브 디바이스 (112) 는 다양한 형태들로 구성될 수도 있다. 벽 콘센트에 꽂아지는 기본적인 소형 디바이스의 예가 도 3b에 도시되어 있다. 도시된 바와 같이, 가상 주변기기 허브 디바이스 (112) 는 다중컬러 LED (334) 를 나타내고 단일 푸시 버튼 (332) 과 하나 이상의 USB 소켓들 (310) (및/또는 다른 소켓들) 을 특징으로 삼는 콤팩트 하우징 (300) 내에 패키징될 수도 있다. 고유 일련 번호 (336) 가 아래에서 더 충분히 설명되는 바와 같이 VPH-서버 (140) 에의 가상 주변기기 허브 디바이스 (112) 의 등록을 용이하기 위해 하우징 (300) 상에 인쇄될 수도 있다. 안테나 (304) 는 하우징 (300) 의 부분으로서 제공될 수도 있다. 전기 플러그 (309) 가 케이스 (300) 의 부분으로서 또는 표준 벽 콘센트 (340) 에 꽂아지도록 구성된 개별 모듈 (미도시) 로서 제공될 수도 있다. 일부 실시예들에서, 전원 공급부 (308) 는 플러그 (309) 를 구비한 모듈의 부분으로서 구비될 수도 있다.
도 4는 가상 주변기기 허브 시스템 (400) 내에 소프트웨어 모듈들, 하드웨어 구성요소들, 또는 하드웨어 및 소프트웨어 모듈들의 조합들로서 구현될 수도 있는 기능성 모듈들을 도시한다. 가상 주변기기 허브 시스템 (400) 은 전체 프로세스들을 감독하고 다른 모듈들을 조정하는, 프로세서 (301) 에 구현되는 실행 기능부 (402) 를 구비할 수도 있다. 통신 모듈 (404) 은 송수신기들과 송수신기들을 동작시킬 뿐만 아니라 실행 기능부 (402) 와의 통신 기능들을 조정하는 소프트웨어를 구비할 수도 있다. 통신 모듈 (404) 은 다양한 통신 프로토콜들을 준수하는데 필요한 처리, 뿐만 아니라 통신 링크들의 교섭, 데이터 전송물들의 검증, 및 디지털 통신 시스템들의 다른 공통 기능성의 수행을 포함할 수도 있다. 브리징 로직 모듈 (406) 또한 실행 기능부 (402) 에 결합될 수도 있고 주변 디바이스들 및 외부 컴퓨터, 이를테면 VPH-서버 (140) 사이에 통신 링크들을 제공하는 것에 관련된 처리들을 수행하게 하도록 구성될 수도 있다. 브리징 로직 모듈 (406) 은 주변 디바이스들로부터 수신된 데이터를, 예를 들어 VPH-서버 (140) 로의 터널링을 위해 IP 패킷들로 패키징하는 로직을 구비할 수도 있다. 마찬가지로, 브리징 로직 모듈 (406) 은 VPH-서버 (140) 로부터 수신된 커맨드 패킷들을 언팩하고 내재된 커맨드들을 적절한 주변 디바이스에 제공하는 로직을 구비할 수도 있다.
다양한 실시예들에서, 가상 주변기기 허브 시스템 (400) 은 디바이스가 기존의 라우터의 전형적인 프로세스들을 수행하는 것을 가능하게 하는 부가적인 모듈들, 이를테면 라우터 로직 (408) 을 구비할 수도 있다. 또한, 가상 주변기기 허브 시스템 (400) 은 디바이스가 서버의 전형적인 프로세스들을 수행하는 것을 가능하게 하는 서버 로직 (410) 을 구비할 수도 있다. 게다가, 가상 주변기기 허브 시스템 (400) 의 실시예들은, 주변 디바이스들로부터의 데이터를 수신 및 저장하고 그 데이터를 나중에 목적지 컴퓨터로 중계하는 메모리 및 저장-및-포워드 로직 (412) 을 구비할 수도 있다. 라우터, 서버 및 저장-및-포워드 프로세스들 및 로직은 컴퓨터 기술분야에서 잘 알려져 있다.
가상 주변기기 허브의 초기 구성 및 일부 동작들이 도 5에서 예시적인 방법 (500) 으로서 도시되어 있다. 가상 주변기기 허브 디바이스 시스템의 유익한 특징은 간단, 신속 및 신뢰성있는 셋업이다. 간단한 셋업을 가능하게 하기 위해, 가상 주변기기 허브 디바이스 (112) 는 눌러질 때 활성화를 개시하는 단일 버튼으로 구성될 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 또한 하우징 (300) 상에 인쇄된 코드 (336) 를 포함할 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 셀룰러 서비스 (예컨대, CDMA, 3G, 4G 등) 과의 무선 통신 링크들을 확립하고 인터넷 (114) 을 경유하여 VPH-서버 (140) 와 직접 통신하도록 사전구성될 수도 있다. 활성화 버튼을 누른 후, 사용자는 VPH-서버 (140) 의 인터넷 웹 사이트에 액세스하고 사용자를 가상 주변기기 허브 디바이스 (112) 의 소유자로서 식별하도록 디바이스의 코드 (336) 를 웹페이지에 입력할 수도 있다. 그 후, VPH-서버 (140) 는 임의의 요구된 드라이버 소프트웨어를 사용자의 컴퓨터에 다운로드할 수도 있다.
도 5를 참조하면, 가상 주변기기 허브 디바이스 (112) 는 활성화 버튼의 누름을 수신하는 것에 응답하여 활성화 프로세스를 개시할 수도 있다 (단계 502). 다르게는, 일부 실시예들에서 활성화는 디바이스가 처음으로 전원, 이를테면 벽 콘센트 (340) 에 꽂아질 때 개시될 수도 있다. 활성화가 시작됨에 따라, 가상 주변기기 허브 디바이스 (112) 는 LED (334) 를 반짝일 수 있다 (단계 504). 예를 들어, 프로세서 (301) 는 노란색 LED를 반짝여 디바이스가 셀룰러 네트워크에 연결중임을 나타낼 수도 있다. 동시에, 가상 주변기기 허브 디바이스 (112) 는 셀룰러 데이터 네트워크와의 접속을 시도할 수도 있다 (단계 206). 일단 송수신기 (302) 가 셀룰러 네트워크에 대한 접속을 확립하였다고 프로세서가 결정하면, 프로세서는 데이터 호를 셀룰러 네트워크를 경유하여 VPH-서버 (140) 에 발한다 (단계 508). 이 프로세스 동안 프로세서 (301) 는 셀룰러 송수신기 (302) 를 모니터링하여 VPH-서버 (140) 와의 접속이 확립되었는지의 여부를 결정할 수도 있다 (결정단계 510). 송수신기 (302) 가 VPH-서버 (140) 에 대한 통신 링크를 확립하는 프로세스에 있는 한 (즉, 결정단계 510 = "아니오"), 프로세서 (301) 는 노란색 LED를 계속 깜박인다.
일단 VPH-서버 (140) 와의 통신링크가 확립되었다고 프로세서가 결정하면 (즉, 결정단계 510 = "예"), 프로세서 (301) 는 정상 전력 (steady power) 을 노란색 LED에 인가하여 (단계 510), 등록 및 구성 프로세스가 진행중임을 나타낸다. 동시에 프로세서 (301) 는 가상 주변기기 허브 디바이스 (112) 의 식별자를 VPH-서버 (140) 에 통신하여 자신을 식별하고 서버에 등록할 수도 있다 (단계 514). 가상 주변기기 허브 디바이스는 얼마간의 사전설정된 기간 (예컨대, 5 분) 동안 이 상태로 머무른다. 이 시간 동안, 사용자는 임의의 컴퓨터로부터 웹 브라우저 및 인터넷에 대한 액세스를 이용하여 VPH-서버 (140) 에 액세스할 수 있다 (단계 516). 처음에는 사용자들이 가상 주변기기 허브 디바이스 (112) 상에 인쇄된 번호를 사용자 이름 및 패스워드와 함께 입력하는 것에 의해 VPH-서버 (140) 에 계정을 셋업할 수도 있다. 일 실시예에서, VPH-서버 (140) 에 대해 가상 주변기기 허브 디바이스 (112) 를 식별하는데 사용되는 번호는 6-자리 수 (six-digit number) 이다. VPH-서버 (140) 는 그 자체의 온라인 등록 동안, 가상 주변기기 허브 디바이스 (112) 에 의해 제공된 번호를 이용하여 사용자에 의해 입력된 번호를 검증한다 (단계 520). 사용자 입력 코드와 가상 주변기기 허브 디바이스 (112) 에 의해 전달된 코드가 일치하는 것으로 결정되면, VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112) 및 사용자의 컴퓨터와의 장래의 통신들에서 사용될 암호화 및 인증 키들을 생성할 수 있고, 그런 키들을 등록 프로세스를 완료할 수 있도록 디바이스 및 사용자의 컴퓨터에 송신할 수도 있다 (단계 522). 등록 프로세스의 부분으로서 사용자의 컴퓨터는 가상 주변기기 허브 디바이스 (112) 및/또는 VPH-서버 (140) 와의 통신에 사용될 수도 있는 드라이버 소프트웨어를 다운로드할 수도 있다. 이러한 드라이버들은 특정 가상 주변기기 허브 디바이스 (112) (즉, VPH-서버 (140) 에 입력된 동일한 6-자리 수를 갖는 디바이스) 와의 보안 통신들을 가능하게 하도록 사전구성될 수도 있다. 또한 등록 프로세스의 부분으로서, VPH-서버 (140) 는, 주변기기 허브 디바이스를 위한 소프트웨어 업데이트들, 가상 주변기기 허브 디바이스에 결합된 주변 디바이스들과의 인터페이싱을 위한 적절한 주변기기 드라이버들, 통신 룩업 테이블들 (예컨대, 업데이트된 IP 어드레스들) 등과 같은 다양한 기능들을 지원하는 데이터 및 소프트웨어를 가상 주변기기 허브 디바이스 (112) 에 다운로드할 수도 있다.
일단 등록 및 구성 프로세스가 완료되었다면, 프로세서 (301) 는 가상 주변기기 허브 디바이스 (112) 가 VPH-서버 (140) 에 등록되었음을 사용자에게 나타내기 위해, 정상 (steady) 녹색 LED를 조명할 수도 있다 (단계 524).
도 5에 도시된 등록 프로세스는 가상 주변 디바이스 (112) 가 VPH-서버 (140) 상에서 유지되는 사용자 계정으로 셋업되고 등록될 수 있는 방법의 하나의 예일 뿐임에 주의해야 한다. 가상 주변 디바이스들 (112) 을 등록하고 그것들을 VPH-서버 (140) 상에서 유지되는 사용자 계정들과 상관시키는 다른 메커니즘들 또한 구현될 수도 있다. 예를 들어, 가상 주변기기 허브 디바이스 (112) 의 (예컨대, 그것의 6-자리 수에 기초하는) VPH-서버 (140) 상에 유지된 사용자 계정과의 상관성은, 디바이스의 판매시점 (point-of-sale) 에 달성될 수도 있다. 이러한 구현예에서, 사용자 계정을 식별하고 셋업하는데 필요한 사용자 정보는 출납원에 의해 획득되거나 또는 정보를 6자리 코드와 함께 VPH-서버 (140) 에 송신하는 매장 단말에 사용자에 의해 입력될 수도 있다. 그래서, 사용자가 가상 주변 디바이스를 구입한 후 매장을 떠날 때, 시스템은 벽 콘센트에 꽂아지고 주변 디바이스들에 접속되자마자 VPH 서비스들을 시작할 준비를 한다.
가상 주변기기 허브 디바이스 (112) 를 활성화시키고 그것을 사용자 VPH 계정과 연관시키는 다른 예시적인 방법은, 디바이스 자체에 포함될 수도 있는 GPS 수신기로부터의 위치 정보를 이용할 수도 있다. 이 구현예에서, 가상 주변기기 허브 디바이스 (112) 가 이를테면 벽 아웃렛 (wall outlet) 에 꽂아지는 것에 의해 활성화될 때, 그 디바이스는 자신의 위치를 자신의 GPS 수신기 (326) 로부터 결정한다. VPH-서버 (140) 와의 통신 링크를 확립하자마자, 가상 주변 디바이스 (112) 는 자신의 식별 코드 (예컨대, 하우징 상에 인쇄된 6-자리 수) 를 자신의 정확한 위도 및 경도 좌표들과 함께 VPH-서버에 알려줄 수도 있다. 이 좌표 정보를 이용하여, VPH-서버 (140) 는 공공 정보, 이를테면 지도 좌표들에 기초하여 결정된 거주지 주소로부터 사용자를 식별할 수 있고, 그 다음 가상 주변기기 허브 디바이스 (112) 를 동일한 거주지 주소를 갖는 사용자 계정과 연관시킬 수 있다.
일단 구성 및 등록 프로세스가 완료되면, 가상 주변기기 허브 디바이스 (112) 는 셀룰러 네트워크 접속성을 갖는 임의의 위치로 이동될 수 있다. 상이한 주변기기들이 가상 주변기기 허브 디바이스 (112) 에 꽂아질 수 있다. 일 실시예에서 가상 주변기기 허브 디바이스 (112) 는 그것에 꽂아지거나 또는 무선 링크된 주변 디바이스들을 발견할 수도 있다 (단계 526). 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들이 식별됨에 따라, 가상 주변기기 허브 디바이스 (112) 는 이를테면 그것들의 매체 접근 제어 (MAC) 식별자 (ID) 를 송신하는 것에 의해 주변 디바이스들을 VPH-서버 (140) 에 식별해 준다 (단계 528). VPH-서버 (140) 는 사용자 또는 특정한 가상 주변기기 허브 디바이스 (112) 에 연관된 데이터 필드들에 주변 디바이스 식별자를 저장할 수도 있다 (단계 530). VPH-서버 (140) 는 또한 데이터 레코드들에 저장될 수도 있는 IPv6 어드레스를 각각의 주변 디바이스에 할당할 수도 있다.
VPH 서비스들에 포함될 수도 있는 추가의 특징은 특정 주변 디바이스들에 적합한 드라이버 소프트웨어를 사용자의 컴퓨터 (138) 에 다운로드하는 것을 수반한다. 이 서비스에서, 가상 주변기기 허브 디바이스 (112) 는 위에서 설명된 등록 및 디바이스 발견 (discovery) 프로세스 동안, 접속된 주변 디바이스들에 관해 VPH-서버 (140) 에 알려준다. VPH-서버 (140) 는, 구형의 주변 디바이스들에 적합할 수도 있는 드라이버 소프트웨어의 이력 버전들 (historical versions) 을 포함하여, 시장에서 입수가능한 대부분의 주변 디바이스들을 위한 드라이버 소프트웨어를 저장하도록 구성될 수도 있다. 그래서, 가상 주변기기 허브 디바이스 (112) 가 이를테면 각각의 주변 디바이스의 MAC ID들을 제공하는 것에 의해, 접속된 주변 디바이스들을 VPH-서버 (140) 에 식별해줄 때, VPH-서버는 그것의 메모리 또는 관련된 데이터베이스에 저장된 적절한 드라이버 소프트웨어를 식별하고 사용자가 VPH-서버에 액세스할 때 적절한 드라이버들을 사용자의 컴퓨터 (138) 에 다운로드할 수 있다. 이 드라이버 소프트웨어 디운로딩은 사용자가 먼저 VPH-서버 (140) 에 등록하거나 또는 컴퓨터 (138) 를 사용자의 계정 및 특정 가상 주변 디바이스 (112) 와 연관시킬 때 달성될 수도 있다. 또한, VPH-서버 (140) 는 연결된 주변 디바이스들의 MAC ID들의 데이터 레코드와, 특정 사용자 컴퓨터들에 다운로드 완료된 드라이버 소프트웨어를 유지할 수도 있다. 이러한 레코드들을 이용하여, VPH-서버 (140) 는 사용자 컴퓨터 (138) 가 새로운 또는 업데이트된 드라이버를 요구할 때를 결정하고, 업데이트들이 수신될 때 또는 새로운 주변기기들이 가상 주변 디바이스 (112) 에 접속될 때 적절한 드라이버 소프트웨어를 다운로드할 수도 있다. 이런 방식으로, 사용자들의 컴퓨터들 (138) 은, 드라이버 소프트웨어를 기록하거나, 드라이버들을 직접 다운로드하거나, 또는 주변 디바이스들에 딸려 있는 드라이버 소프트웨어를 담고 있는 CD들을 신경 쓰는 일 없이, 그들의 가상 주변기기 허브 디바이스 (112) 에 꽂아진 주변 디바이스들에 필요한 최신 드라이버 소프트웨어를 가지게끔 자동으로 준비될 수 있다. 그래서, 이 VPH 서비스는 다양한 주변 디바이스들을 사용하는 사용자 경험을 단순화하는 것을 도울 수 있다.
위에서 언급했듯이, 가상 주변기기 허브 디바이스 (112) 는 이를테면 사용자가 가상 주변기기 허브 디바이스 (112) 를 그의 로컬 네트워크에 이더넷 또는 WiFi 접속에 의해 접속하기를 원할 때 로컬 네트워크 동작을 지원할 수 있다. 이러한 실시예들에서, 사용자는 관련 정보를 VPH-서버 (140) 에 (예컨대, 웹 브라우저를 통해 이 서버에 액세스하는 것에 의해) 제공할 수도 있고 그러면 VPH-서버는 입력된 정보를 이용하여 가상 주변기기 허브 디바이스 (112) 를 구성한다. 성공적이라면, 가상 주변기기 허브 디바이스 (112) 는, 셀룰러 데이터 네트워크 (130) 를 이용하는 일 없이 인터넷 (114) 에 액세스하고 VPH-서버 (140) 에 대한 액세스를 얻도록 로컬 네트워크에 영향을 줄 수 있다. 이 등록 프로세스에서 실패한다면, 가상 주변기기 허브 디바이스 (112) 는 셀룰러 접속성으로 되돌아가게 절환되고 로컬 접속성으로의 절환 시도가 실패하였음을 VPH-서버 (140) 에 알려준다. 가상 주변기기 허브 디바이스 (112) 가 근거리 통신망 또는 WiFi 네트워크에 접속되는 경우, 국소 접속된 컴퓨터들 (138) 은 가상 주변기기 허브 디바이스 및 그것에 결합된 주변기기들에 직접 액세스할 수 있다. 이는 VPH-서버 (140) 에 의해 제공된 IPv6 어드레스들을 이용하여 달성될 수도 있다.
부가적인 컴퓨터들은 그것들이 초기 셋업을 수행하는 사용자에 의해 가상 주변기기 허브 디바이스에 대한 액세스를 허락하였다는 것을 전제로 하여 가상 주변기기 허브 디바이스 (112) 에 접속될 수 있다.
도 5는 또한 일단 가상 주변기기 허브 디바이스 (112) 가 VPH-서버 (140) 에 등록되었다면 행해질 수도 있는 일부 정상적인 동작 프로세스들을 도시한다. 예를 들어, 사용자가 VPH-서버 (140) 에 액세스하는 것에 의해 개인용 컴퓨터 (138) 로부터 주변 디바이스에 대한 액세스를 요구할 수도 있다 (단계 532). 이는 웹 브라우저를 호스팅하는 임의의 컴퓨터로부터 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 액세스하는 사용자에 의해 달성될 수도 있다. VPH-서버 웹페이지에 액세스하자마자, 사용자에게는 사용자이름 및 패스워드를 입력할 것 (또는 일부 다른 형태의 사용자/계정 식별 및 검증) 이 프롬프트된다. 사용자가 검증될 때, VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들의 (예컨대, HTTP 웹페이지 형태의) 메뉴를 제시하고, 사용자의 컴퓨터 (138) 로부터의 특정 주변 디바이스에 대한 데이터 요구 또는 구성 커맨드를 받아들일 수도 있다. 이 데이터 요구 또는 커맨드가 받아들여지면, VPH-서버 (140) 는 이 데이터 요구 또는 커맨드를 가상 주변기기 허브 디바이스 (112) 에 중계할 수도 있다 (단계 534). 일부 경우들에서, 사용자의 컴퓨터 (138) 로부터의 데이터 요구는, 주변 디바이스에 의해 수신되고 처리될 수 있도록 데이터 요구 또는 커맨드를 포맷하기 위하여 특정한 주변 디바이스를 위한 드라이버를 사용할 것을 VPH-서버 (140) 에 요구할 수도 있다. 이런 방식으로, 사용자는, 적절한 디바이스 드라이버 소프트웨어가 구비되지 않은 컴퓨터들을 포함하여, 인터넷 액세스를 이용하는 임의의 컴퓨터로부터 특정 주변 디바이스 (예컨대, 웹캠) 에 액세스할 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 VPH-서버 (140) 로부터 데이터 요구 명령들을 수신하고 그것들을 특정한 주변 디바이스에 중계한다 (단계 536). 일부 경우들에서 데이터 요구 또는 커맨드는, 패킷 패이로드가 VPH-서버 (140) 에 의해 포맷된 바와 같이 디바이스 드라이버에 의해 요구된 포맷으로 데이터 요구 또는 커맨드를 포함하게 IP 패킷들 내에 캡슐화될 수도 있다. 이러한 경우들에서, 가상 주변기기 허브 디바이스 (112) 는 데이터 요구 또는 커맨드를 언팩하고 그것을 주변 디바이스와 확립된 유선 또는 무선 접속을 통해 그 주변 디바이스에 중계한다.
주변 디바이스가 통신용 데이터를 VPH-서버 (140) 또는 사용자 컴퓨터 (138) 에 제공하면 (이를테면 위에서 논의된 데이터 요구 메시지들에 응답하여 발생할 수도 있음), 이러한 데이터는 가상 주변기기 허브 디바이스 (112) 에 의해 수신되고 VPH-서버 (140) 에 중계된다 (단계 538). 일부 경우들에서, 가상 주변기기 허브 디바이스 (112) 는 디바이스 데이터가 적절한 드라이버 소프트웨어를 이용하는 VPH-서버 (140) 에 의한 처리를 위해 인터넷을 통해 터널링될 수 있도록 디바이스 데이터를 IP 패킷들 내에 캡슐화할 수도 있다. 위에서 설명된 바와 같이, 데이터 메시지들은 인터넷 (114) 에 대한 셀룰러 또는 근거리 통신망 접속을 통해 VPH-서버 (140) 의 인터넷 어드레스로 송신된다. 주변 디바이스 데이터 패킷들은 VPH-서버 (140) 에 의해 수신되며, 필요하다면 처리되고, (적절하다면) 인터넷 (114) 을 경유하여 사용자 컴퓨터에 중계된다 (단계 540).
능동적으로 데이터 요구에 대해 응답하거나 또는 주변 디바이스로부터의 데이터를 중계하지 않을 때, 가상 주변기기 허브 디바이스 (112) 는, VPH-서버 (140) 또는 주변 디바이스 또는 근거리 통신망에 결합된 컴퓨터로부터의 메시지들을 기다릴 수도 있다 (단계 542). 셀룰러 데이터 네트워크를 통한 데이터 접속을 유지하는 것에 관련된 비용을 최소화하기 위해, 가상 주변기기 허브 디바이스 (112) 는 활동이 소정의 시간량 ("타임아웃 간격") 동안 중단될 때 액티브 데이터 접속을 종료하도록 구성될 수도 있다. 그래서, 가상 주변기기 허브 디바이스 (112) 의 프로세서 (301) 는 마지막 통신 이벤트 이후 타임아웃 간격이 발생하였는지의 여부를 결정하도록 구성될 수도 있다 (결정단계 544). 타임아웃 간격이 만료되지 않았다면 (즉, 결정단계 544 = "아니오"), 가상 주변기기 허브 디바이스 (112) 는 VPH-서버 (140) 로부터의 메시지들에 대해 개방된 셀룰러 데이터 통신 링크를 계속 모니터링할 수도 있다. 일단 타임아웃 간격이 만료되었다면 (즉, 결정단계 544 = "예"), 가상 주변기기 허브 디바이스 (112) 는 개방된 셀룰러 데이터 통신 링크를 종료하고 "슬립 " 모드로 진입한다 (단계 546). 가상 주변기기 허브 디바이스 (112) 가 무궁무진한 (inexhaustible) 전원 공급부, 이를테면 AC 벽 콘센트에 꽂아진 실시예들에서, 슬립 모드는 개방된 셀룰러 데이터 통신 링크를 종료하는 것과 디바이스의 전화 번호로 발해지는 메시지들 또는 전화 호들을 계속 모니터링하는 것을 수반할 수도 있다. 예를 들어, 도 8a를 참조하여 아래에서 더 충분히 설명되는 바와 같이, 가상 주변기기 허브 디바이스 (112) 는, 새 데이터 통신 링크를 개시하는 VPH-서버 (142) 에 데이터 호를 발할 것을 가상 주변기기 허브 디바이스에 프롬프트하는 단문 메시지 서비스 (SMS) 메시지를 슬립 모드 동안 수신하도록 구성될 수도 있다. 가상 주변기기 허브 디바이스 (112) 가 배터리로 전력공급되는 실시예들에서, 슬립 모드는 배터리 소비를 절약하기 위하여 디바이스 상에서 수행되는 처리를 감소시키는 것을 추가로 수반할 수도 있다.
위에서 언급했듯이, 가상 주변기기 허브 디바이스 (112) 및 VPH-서버 (140) 는 임의의 주변 디바이스용 디바이스 드라이버를 실행하기 위해 가상 주변기기 허브 디바이스 프로세서 (301) 를 요구하지 않는 포맷으로 데이터를 통신하도록 구성될 수도 있다. 도 6a는 주변 디바이스들로부터 인터넷을 경유하여 그리고 인터넷을 경유하여 주변 디바이스들로 데이터 및 커맨드들을 터널링하는 일 예시적인 방법 (600) 을 도시한다. 예시적인 방법 (600) 에서, 사용자가 임의의 컴퓨터로부터, 이를테면 웹 키오스크 컴퓨터로부터 인터넷에 액세스하고, VPH-서버 (140) 를 그것의 URL로 액세스할 수도 있다 (단계 602). 사용자가 VPH-서버 (140) 에 대해 식별되고 검증된 후, VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들의 메뉴를 열거하는 웹페이지를 생성할 수도 있다 (단계 603). 그 다음 사용자는 특정 주변 디바이스, 이를테면 웹캠 (102) 에 대한 액세스를 (예컨대, 사용자의 집에 대한 점검을 위해) 요구할 수도 있다 (단계 604). 이 요구는, 예를 들어, VPH-서버 (140) 에 의해 생성된 웹페이지에 열거되어 있는 이용가능한 주변 디바이스들의 메뉴 목록 상에서 웹캠 하이퍼링크를 선택하는 사용자에 의해 달성될 수도 있다. 예를 들어, 하이퍼링크들은 주변 디바이스 메뉴에서의 웹캠 하이퍼링크에 대한 더블 클릭이 디바이스 액세스 요구를 VPH-서버 (140) 에 송신할 수도 있도록, 또는 VPH-서버 (140) 가 그와 같이 인식할 코드를 송신할 수도 있도록 구성될 수도 있다.
사용자로부터의 디바이스 또는 데이터 액세스 요구를 수신하는 것에 응답하여, VPH-서버 (140) 는 사용자에 의해 요구된 액세스 또는 데이터를 획득하도록 적당한 요구 메시지를 가상 주변기기 허브 디바이스 (112) 에 송신할 수도 있다 (단계 606). 이 요구를 수신하자마자, 가상 주변기기 허브 디바이스 (112) 는 지시된 주변 디바이스에 요구된 데이터를 질의할 수도 있다 (단계 608). 응답하여, 질의된 주변 디바이스는 요구된 데이터를 그것의 네이티브 포맷으로 (즉, 수신하기 위해 디바이스 드라이버를 요구하는 포맷으로) 제공하기 시작할 수도 있다 (단계 610). 예를 들어, 요구가 웹캠 (102) 으로부터의 이미지들을 위한 것이라면, 가상 주변기기 허브 디바이스 (112) 는 활성화되어 이미지 데이터를 가상 주변기기 허브 디바이스 (112) 에 송신하기 시작할 것을 웹캠 (102) 에 신호할 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 주변 디바이스 데이터를 수신하고 그 데이터를, 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 터널링될 수 있는 IP 패킷들로 패키징한다 (단계 612). 인터넷을 경유하여 데이터를 터널링하는 방법들 및 프로토콜들은 컴퓨터 통신 분야에서 잘 알려져 있다.
VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112) 로부터 메시지 패킷들을 수신하며, 터널링 IP 패킷들로부터의 디바이스 데이터를 언팩하고, 적절한 드라이버 소프트웨어를 이용하여 수신된 디바이스 데이터를 처리한다 (단계 614). 그 다음 VPH-서버 (140) 는 요구된 데이터를 인터넷 (112) 을 경유하여 표준 IP 포맷들을 이용하여, 이를테면 웹페이지 또는 비디오 피드 (feed) 형태로 요구자의 컴퓨터에 송신할 수도 있다 (단계 616). 그래서, 사용자가 가상 주변기기 허브 디바이스 (112) 에 결합된 웹캠 (102) 으로부터 비디오 이미지들에 대한 액세스를 요구하는 예에서, 사용자는, 웹캠 드라이버 소프트웨어를 컴퓨터 상에 로딩하는 일 없이, 웹 브라우저 상에 제시된 비디오 피드를 수신할 수도 있다.
데이터 및 커맨드들의 터널링은 또한 사용자의 컴퓨터로부터 VPH-서버 (140) 를 경유하여 가상 주변기기 허브 디바이스 (112) 로 진행된다. 예를 들어, 사용자가 VPH 서비스들을 이용하여 웹 키오스크 컴퓨터 (즉, 적절한 디바이스 드라이버가 구비되지 않은 컴퓨터) 로부터 주변 디바이스를 동작시키거나 또는 구성할 수도 있다. 커맨드 메시지들을 가상 주변기기 허브 디바이스 (112) 를 경유하여 주변 디바이스에 터널링하는 일 예의 실시예 방법 (650) 이 도 6b에 도시되어 있다. 사용자가 임의의 컴퓨터로부터, 이를테면 웹 키오스크 컴퓨터로부터 인터넷에 액세스할 수도 있고, VPH-서버 (140) 를 그것의 URL로 액세스할 수도 있다 (단계 602). 사용자가 VPH-서버 (140) 에 대해 식별되고 검증된 후, VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들의 메뉴를 열거하는 웹페이지를 생성할 수도 있다 (단계 603). 그 다음 사용자는 특정 주변 디바이스, 이를테면 보안 시스템 (104) 에 대한 액세스를 (예컨대, 특정 경보 상태를 원격 설정하기 위해) 요구할 수도 있다 (단계 604). 이 요구는 VPH-서버 (140) 에 의해 생성된 웹페이지에 열거되어 있는 이용가능한 주변 디바이스들의 메뉴 목록 상에서 웹캠 하이퍼링크를 선택하는 사용자에 의해 달성될 수도 있다. 예를 들어, 주변 디바이스 메뉴에서의 보안 시스템 하이퍼링크에 대한 더블 클릭은 VPH-서버 (140) 에 송신되는 디바이스 액세스 요구로서 구성될 수도 있다. 선택된 디바이스가 사용자 커맨드들을 받아들인다면, VPH-서버 (140) 는 선택된 주변 디바이스에 이용가능한 커맨드들의 메뉴를 표시하는 웹페이지를 송신할 수도 있다 (단계 652). 사용자는, 이를테면 커맨드 설명에 관련된 하이퍼링크를 클릭하는 것에 의해 특정 커맨드를 선택할 수도 있으며, 사용자는 상응하는 커맨드를 가상 주변기기 허브 디바이스 (112) 를 경유하여 선택된 주변 디바이스에 송신할 것을 VPH-서버 (140) 에 신호할 수 있다. 이러한 커맨드 요구를 수신하자마자 (단계 654), VPH-서버 (140) 는 요구된 커맨드를 적절한 디바이스 드라이버 소프트웨어를 이용하여 포맷할 수도 있고 (단계 656), 그 커맨드를 IP 메시지 패킷들 내에 캡슐화하여 인터넷 (114) 을 통해 가상 주변기기 허브 디바이스 (112) 로 터널링되도록 할 수도 있다 (단계 658). 이러한 IP 패킷들을 수신하자마자, 가상 주변기기 허브 디바이스 (112) 는 커맨드 데이터를 언팩하고 커맨드 패킷들을 어드레싱된 주변 디바이스에 송신한다 (단계 660). 주변 디바이스는 커맨드를 그 주변 디바이스에 링크된 컴퓨터에 의해 직접 제공되고 적절한 디바이스 드라이버로 구성된 것처럼 수신하고 실행한다 (단계 662).
다양한 실시예 방법들에서 구현될 수도 있는 예의 메시지 흐름들이 도 7a 및 7b에서 실례로서 나타내고 있다. 도 7a를 참조하면, 가상 주변 디바이스 (112) 가 활성화될 때, 이를테면 그것이 벽 콘센트에 꽂아지고 사용자가 개시 버튼을 누를 때, 그 가장 주변 디바이스는 셀룰러 무선 네트워크 (130) 와의 셀룰러 데이터 통신 링크를 확립하는데 필요한 네트워크 시그널링 메시지들 (702) 을 교환할 수도 있다. 일단 셀룰러 무선 네트워크 (130) 에 접속되면, 가상 주변기기 허브 디바이스 (112) 는 VPH-서버 (140) 에 대한 데이터 호를 확립하고 디바이스의 식별자를 송신할 수도 있다 (메시지 704). 위에서 설명된 바와 같이, 가상 주변기기 허브 디바이스 (112) 는, 이를테면 정상 노란색 광을 디스플레이하는 것에 의해 VPH-서버 (140) 에 대한 접속이 이루어졌음을 사용자에게 신호할 수도 있고, 이때 사용자는 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 로그인하고 등록 정보 (예컨대, 가상 주변기기 허브 디바이스의 하우징 상의 6-자리 수) 를 입력할 수도 있다 (메시지 705). 일단 가상 주변기기 허브 디바이스 (112) 가 VPH-서버 (140) 에 등록되면, 가상 주변기기 허브 디바이스는 그것에 결합된 주변 디바이스들 (102) 을, 이를테면 디바이스 디스커버리 메시지들 (706) 을 송신하고 디바이스 응답 메시지들 (708) 을 수신하는 것에 의해 발견할 수도 있다. 디바이스 디스커버리 및 응답 메시지 포맷들은 네트워킹 프로토콜들, 이를테면 Bluetooth® 프로토콜에서 잘 확립되어 있다. 가상 주변기기 허브 디바이스 (112) 가 연결된 주변 디바이스들을 식별함에 따라, 가상 주변기기 허브 디바이스는 연결된 주변 디바이스들에 관한 정보, 이를테면 그것들의 MAC ID를 VPH-서버 (140) 에 송신할 수도 있다 (메시지 710).
일단 등록 프로세스가 완료되면, 사용자가 컴퓨터 (138) 로부터 VPH-서버 (140) 에 로그온하는 것에 의해 주변 디바이스 (102) 에 액세스할 수도 있다. 위에서 논의된 바와 같이, VPH-서버 (140) 는 액세스될 수도 있는 주변 디바이스들 (102) 의 메뉴를 표시하는 웹페이지를 사용자의 컴퓨터 (138) 의 브라우저에 전송할 수도 있다 (메시지 711). 이러한 메뉴 또는 직접 커맨드를 이용하여, 사용자는 액세스 요구 메시지 (712) 를 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 전송하는 것에 의해 특정 주변 디바이스에 대한 액세스를 요구할 수도 있다. 이 메시지를 수신하는 것에 응답하여, VPH-서버 (140) 는 인터넷 (114) 및 셀룰러 무선 네트워크 (130) 를 경유하는 가상 주변기기 허브 디바이스 (112) 와의 개방된 데이터 통신 링크를 통해 적절한 데이터 요구 메시지 (714) 를 송신할 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 데이터 요구 메시지 (716) 를 선택된 주변 디바이스 (102) 에 중계한다. 이 요구에 응답하여 생성된 데이터는 주변 디바이스 (102) 로부터 확립된 케이블 또는 무선 통신 링크를 통해 가상 주변기기 허브 디바이스 (112) 에 송신될 수도 있다 (메시지 718). 그러면 가상 주변기기 허브 디바이스는 그 데이터를, 이를테면 캡슐화된 IP 패킷으로 셀룰러 무선 네트워크 (130) 및 인터넷 (114) 을 경유하는 개방된 데이터 통신 링크를 통해 VPH-서버 (140) 에 중계한다 (메시지 720). VPH-서버 (140) 는 디바이스 데이터를 언팩하고 그것을 적절한 디바이스 드라이버 소프트웨어를 이용하여 처리하고 (처리 722), 그 데이터를 인터넷 (114) 을 경유하여 요구한 컴퓨터 (138) 에 포워딩한다 (메시지 724).
위에서 언급했듯이, 다른 데이터 사용자들, 이를테면 의료 기관들 또는 디바이스 제조업자들은, 가상 주변기기 허브 디바이스 (112) 에 결합된 주변 디바이스들로부터 데이터를 요구할 수도 있다. 그렇게 하기 위해, 데이터 사용자에 의해 제어되는 서버 (142, 144) 가 데이터 요구 메시지를 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 송신할 수도 있다 (메시지 726). VPH-서버 (140) 가 요구된 데이터를 메모리에 가지지 않는다면, VPH-서버는 데이터 요구 메시지 (728) 를 가상 주변기기 허브 디바이스 (112) 에 송신할 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 데이터 요구 메시지 (730) 를 선택된 주변 디바이스 (102) 에 중계한다. 이 요구에 응답하여 생성된 데이터는 주변 디바이스 (102) 로부터 확립된 케이블 또는 무선 통신 링크를 통해 가상 주변기기 허브 디바이스 (112) 에 송신될 수도 있다 (메시지 732). 그러면 가상 주변기기 허브 디바이스는 그 데이터를, 이를테면 캡슐화된 IP 패킷으로 셀룰러 무선 네트워크 (130) 및 인터넷 (114) 을 경유하는 개방된 데이터 통신 링크를 통해 VPH-서버 (140) 에 중계한다 (메시지 734). VPH-서버 (140) 는 디바이스 데이터를 언팩하고 그것을 적절한 디바이스 드라이버 소프트웨어를 이용하여 처리하고 (옵션 처리 736), 그 데이터를 요구한 컴퓨터 (142) 에 인터넷 (114) 을 경유하여 포워딩한다 (메시지 738). VPH-서버 (140) 가 특정한 주변 디바이스용의 디바이스 드라이버를 처리하지 않는 상황들에서, 이를테면 데이터 요구자가 디바이스 드라이버들을 제어할 때, VPH-서버 (140) 는 캡슐화된 디바이스 데이터를 처리 없이 단순히 중계할 수도 있다.
VPH 서비스들은 주변 디바이스 (102) 에 의해 생성된 데이터를 데이터 요구 메시지를 수신하는 일 없이 전달하도록 구성될 수도 있다. 예를 들어, 주변 디바이스 (102), 이를테면 홈 시큐리티 시스템은, 확립 통신 링크 (예컨대, USB 또는 파이어와이어 케이블 또는 로컬 무선 통신 링크) 에 의해 가상 주변기기 허브 디바이스 (112) 에 송신되는 데이터 메시지 (740) 를 생성할 수도 있다. 이러한 데이터 메시지 (740) 를 수신하는 것에 응답하여, 가상 주변기기 허브 디바이스 (112) 는 VPH-서버 (140) 에 데이터 호를 발하고 데이터를 셀룰러 데이터 네트워크 (130) 및 인터넷 (114) 을 경유하여 송신할 수도 있다 (메시지 742). VPH-서버 (140) 는 디바이스 데이터를 언팩하고 그것을 적절한 디바이스 드라이버 소프트웨어를 이용하여 처리하고 (옵션 처리 744), 그 데이터를 인터넷 (114) 을 경유하여 서버 (142, 144) 와 같은 적절한 목적지 컴퓨터에 메시지 746으로 또는 인터넷 (114) 을 경유하여 컴퓨터 (138) 에 메시지 748로 포워딩할 수도 있다. VPH-서버 (140) 가 특정한 주변 디바이스용의 디바이스 드라이버를 처리하지 않는 상황들에서, 데이터 생성 주변 디바이스가 제조업자에 의해 제어될 때, VPH-서버 (140) 는 캡슐화된 디바이스 데이터를 처리 없이 단순히 중계할 수도 있다.
위에서 언급했듯이, 가상 주변기기 허브 디바이스 (112) 는 또한 로컬 무선 라우터 (135) 를 통한 인터넷 (114) 으로의 접속을 경유하여 VPH-서버 (140) 와 통신하도록 구성될 수도 있다. 이러한 통신 시스템에서 다양한 구성요소들 간에 송신될 수도 있는 예의 메시지들이 도 7b에 도시되어 있다. 예를 들어, 도 5를 참조하여 위에서 설명된 등록 및 구성 프로세스 동안, 가상 주변기기 허브 디바이스 (112) 는 자신이 무선 라우터 (135) 를 통해 인터넷 (114) 에 액세스할 수 있다는 것을 발견할 수도 있다. 그 경우에, 가상 주변기기 허브 디바이스 (112) 는 라우터 (135) 에 의해 구현된 무선 프로토콜로 제공되는 메시지들 (703) 의 교환으로 이 라우터와의 무선 통신 링크를 확립할 수도 있다. 일단 라우터에 접속되면, 가상 주변기기 허브 디바이스 (112) 는 그것의 식별 번호 (예컨대, 고유 6-자리) 를 무선 라우터 (135) 를 경유하여 VPH-서버 (140) 에 송신할 수도 있고 (메시지 704a), VPH-서버는 그 메시지를 인터넷 (114) 을 경유하여 중계할 수도 있다 (메시지 704b). 마찬가지로, 가상 주변기기 허브 디바이스 (112) 는 연결된 주변 디바이스들 (102) 에 관한 정보를 무선 메시지 (710a) 로 하여, 무선 라우터 (135) 에 송신할 수도 있고 이 무선 라우터는 그 메시지를 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 중계할 수도 있다 (메시지 710b). 다른 유사한 번호의 메시지들은 도 7a을 참조하여 위에서 설명된 방식으로 교환될 수도 있다.
도 7b는 또한 로컬 무선 라우터 (135) 가 이용가능할 때 사용자의 개인용 컴퓨터 (138), 가상 주변기기 허브 디바이스 (112) 및 주변 디바이스들 (102) 사이의 통신들의 메시지 흐름들을 도시한다. 사용자의 개인용 컴퓨터 (138) 가 무선 라우터 (135) 에 결합될 때, 사용자의 개인용 컴퓨터는 무선 라우터 (135) 에 전송된 액세스 메시지 (712a) 로 VPH-서버 (140) 에 로그인할 수도 있다. 무선 라우터 (135) 는 개인용 컴퓨터 (138) 로부터의 이 액세스 메시지를 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 중계할 수도 있다 (메시지 712b). VPH-서버 (140) 로부터 가상 주변기기 허브 디바이스 (112) 로의 메시지들은 인터넷 (114) 을 경유하여 무선 라우터 (135) 에 통신될 수도 있고 (메시지들 714a), 이 무선 라우터는 그것들을 가상 주변기기 허브 디바이스 (112) 에 중계할 수도 있다 (메시지들 714b). 마찬가지로, 주변 디바이스들 (102) 로부터의 데이터를 중계하는 메시지들은 가상 주변기기 허브 디바이스 (112) 로부터 무선 라우터 (135) 에 송신될 수도 있고 (메시지들 720a), 무선 라우터는 그것들을 인터넷 (114) 을 경유하여 VPH-서버 (140) 에 라우팅할 수도 있다 (메시지들 720b). VPH-서버 (140) 는 데이터를 처리하고 (처리 722), 데이터 메시지들 인터넷 (114) 을 경유하여 무선 라우터에 송신하며 (메시지 724a), 무선 라우터는 그 메시지들을 개인용 컴퓨터 (138) 에 중계하는 (메시지 724b) 것에 의해 그 데이터를 개인용 컴퓨터 (138) 에 포워딩할 수도 있다. 위에서 언급했듯이, 가상 주변기기 허브 디바이스 (112) 는 또한 개인용 컴퓨터 (138) 와는 로컬 네트워크를 통해 직접 통신하도록 구성될 수도 있다. 그래서, 가상 주변기기 허브 디바이스 (112) 로부터의 메시지들은 무선 라우터 (135) 를 통해 개인용 컴퓨터 (138) 에 전송될 수도 있는데 (메시지 720c), 무선 라우터 (135) 는 메시지들을 개인용 컴퓨터 (138) 에 직접 중계할 수도 있다 (메시지 724d).
위에서 설명된 바와 같이, 가상 주변기기 허브 디바이스 (112) 는, 주변 디바이스들과의 또는 VPH-서버 (140) 와의 액티브 상호작용들이 없을 때 유휴 또는 "슬립 모드"에 진입하도록 구성될 수도 있다. 이러한 슬립 모드의 목적은, 이를테면 액티브 데이터 통신들이 일어나지 않을 때 셀룰러 네트워크 액세스 요금을 최소화하는 것에 의해, 가상 주변기기 허브의 동작 단가를 최소화하는 것일 수도 있다. 이러한 구현예에서, VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112) 에 주변 디바이스들과의 통신이 필요할 때 "그것을 깨우는" 메시지를 전송하도록 구성될 수도 있다. 이를 달성하는 일 예시적인 방법 (800) 이 도 8a에 도시되어 있고 프로세서스에서 교환될 수도 있는 예의 메시지들이 도 8b에 도시되어 있다. 도 8a (단계들용) 및 도 8b (메시지들용) 를 참조하면, VPH-서버가 가상 주변기기 허브 디바이스 (112) 에 결합된 특정 주변 디바이스에 대한 데이터 요청 또는 액세스를 수신할 때 (단계 802 및 메시지들 852, 853), VPH-서버는 기상 메시지를 가상 주변기기 허브 디바이스 (112) 에 송신할 수도 있다 (단계 804). 이러한 기상 메시지는 기존의 수단에 의해 셀룰러 데이터 네트워크 (130) 에 전송될 수도 있는 SMS 메시지로서 송신될 수도 있고 (메시지 854), 셀룰러 데이터 네트워크는 기존의 SMS 메시지와 같은 메시지를 전달할 수도 있다 (메시지 856). 이러한 SMS 메시지는 가상 주변기기 허브 디바이스 (112) 에 할당된 전화 번호에 어드레싱될 수도 있고 가상 주변기기 허브 디바이스가 기상 메시지를 구성하는 것으로서 인식할 수 있는 데이터 또는 코드들을 구비할 수도 있다. 다르게는, VPH-서버 (140) 는 페이징-유형 메시지를 가상 주변기기 허브 디바이스 (112) 에 송신할 수도 있고 가상 주변기기 허브 디바이스는 페이징 수신기로 구성될 수도 있다.
가상 주변기기 허브 디바이스 (112) 가 SMS 또는 페이지 메시지를 수신할 때 (단계 806), 디바이스 프로세서 (301) 는 수신된 메시지를 파싱하여, 가상 주변기기 허브 디바이스 (112) 가 기상해야함을 나타내는 코드를 수신된 메시지가 포함하는지의 여부를 결정할 수도 있다 (결정단계 808). 수신된 메시지가 적절한 "기상 코드"를 포함하지 않으면 (즉, 결정단계 808 = "아니오"), 프로세서 (301) 는 수신된 메시지를 단순히 무시한다 (단계 810). 이 수신된 코드 테스트는 가상 주변기기 허브 디바이스 (112) 의 의도하지 않은 활성화들, 이를테면 메시지가 부적절하게 라우팅되거나 또는 잘못된 번호가 다이얼링될 때를 막을 수 있다.
프로세서 (301) 가 수신된 메시지가 적절한 "기상 코드"를 포함한다고 결정하면 (즉, 결정단계 808 = "예"), 가상 주변기기 허브 디바이스 (112) 는 셀룰러 무선 네트워크 (130) 와의 셀룰러 데이터 통신 링크를 확립하는데 필요한 네트워크 시그널링 메시지들 (702) 을 교환하도록 그것의 셀룰러 송수신기 (303) 를 활성화할 수도 있다. 인터넷 (114) 에 대한 액세스를 갖는 로컬 무선 라우터 (135) 가 이용가능하다면, 가상 주변기기 허브 디바이스 (112) 는 대신에 무선 라우터와의 통신 링크를 협상할 수도 있다. 일단 셀룰러 무선 네트워크 (130) (또는 무선 라우터 (135)) 에 접속되면, 가상 주변기기 허브 디바이스 (112) 는 VPH-서버 (140) 에 데이터 호를 발할 수도 있다 (단계 506). VPH-서버 (140) 에 대한 접속이 (또는 이 접속을 확립하는 부분으로서) 확립되면, 가상 주변기기 허브 디바이스는 자신의 고유 식별자를 서버에 제공함으로써, 자신을 식별해줄 수도 있다 (단계 508 및 메시지 858). 가상 주변기기 허브 디바이스 (112) 및 VPH-서버 (140) 사이에 확립된 통신 링크를 가지고서, 서버 및 디바이스들은 도 5, 6a, 6b 및 7a를 참조하여 위에서 설명된 바와 같이 통신들을 실행할 수도 있다 (단계 812).
가상 주변기기 허브 디바이스와 같은 컴퓨팅 디바이스를 활성화하는 부가적인 방법들이 2009년 4월 27일자로 출원된 발명의 명칭이 "Apparatus and Method for Activating Computer Applications with SMS Messaging"인 미국 특허출원 제12/430,642호에 개시되어 있고, 그 전체 내용은 참고문헌으로 여기에 통합된다.
유휴 또는 슬립 모드에 있는 가상 주변기기 허브 디바이스 (112) 는 또한 접속된 주변 디바이스로부터 데이터 메시지를 수신하는 것에 응답하여 활성화될 수도 있다. 도 9a는 주변 디바이스 데이터 푸시에 의해 개시되는, 데이터 사용자들에게 데이터를 통신하는 일 예시적인 방법 (900) 을 도시한다. 방법 (900) 에서의 시스템 구성요소들 간에 건네질 수도 있는 예의 메시지들이 도 9b에 도시되어 있다. 도 9a (단계들용) 및 9b (메시지들용) 를 참조하면, 주변 디바이스 (102) 가 자신이 적절한 데이터 사용자 (예컨대, 의료 시설, 디바이스 제조업자, 사용자 등) 에게 송신되어야 하는 데이터를 가진다고 결정할 때, 그 주변 디바이스는 그 데이터를 확립된 통신 접속 (6, 8, 10) 을 통해 가상 주변기기 허브 디바이스 (112) 에 송신할 수도 있다 (단계 902 및 메시지 952). 이 데이터 메시지를 수신하자마자, 가상 주변기기 허브 디바이스 (112) 는 그 데이터를 제공하는 특정한 주변 디바이스를 인식할 수도 있다 (단계 904). 이는 데이터 신호가 수신되었던 특정한 통신 포트 또는 데이터 메시지로 제공된 정보, 이를테면 디바이스 식별자에 기초하여 달성될 수도 있다. 이 단계의 부분으로서, 가상 주변기기 허브 디바이스 프로세서 (301) 는, 주변 디바이스 VPH-서버 (140) 인 것으로 알려져 있는 보고용 주변 디바이스를 위한 IPv6 어드레스, MAC ID 또는 다른 고유 식별자 (즉, 등록 및 구성 프로세서 동안 서버에 보고되었던 식별자) 를 획득할 수도 있다. 데이터 접속이 셀룰러 데이터 네트워크 (130) 와는 미리 확립되지 않았다면, 가상 주변기기 허브 디바이스 (112) 는 셀룰러 송수신기 (303) 를 활성화시키고 셀룰러 무선 네트워크 (130) 와 셀룰러 데이터 통신 링크를 확립하는데 필요한 네트워크 시그널링 메시지들 (702) 을 교환할 수도 있다. 인터넷 (114) 에 대한 액세스를 갖는 로컬 무선 라우터 (135) 가 이용가능하다면, 가상 주변기기 허브 디바이스 (112) 는 대신에 무선 라우터와의 통신 링크를 협상할 수도 있다. 일단 셀룰러 무선 네트워크 (130) (또는 무선 라우터 (135)) 에 접속되면, 가상 주변기기 허브 디바이스 (112) 는 VPH-서버 (140) 에 데이터 호를 발할 수도 있다 (단계 506). VPH-서버 (140) 에 대한 접속이 (또는 이 접속을 확립하는 부분으로서) 확립되면, 가상 주변기기 허브 디바이스는 자신의 고유 식별자를 서버에 제공함으로써, 자신을 식별해줄 수도 있다 (단계 508). 일단 가상 주변기기 허브 디바이스 (112) 가 VPH-서버 (140) 에 등록되면 가상 주변기기 허브 디바이스는 주변 디바이스 (102) 로부터 수신된 데이터를 송신할 수도 있다 (단계 910 및 메시지 954). 단계 910 및 메시지 954로 송신되는 데이터 메시지는 또한 데이터를 제공하는 디바이스에 대한 식별자를 포함한다. VPH-서버 (140) 는 주변 디바이스 식별자를 이용하여 데이터에 대한 적절한 처리 및 목적지의 여부를 결정할 수도 있다 (단계 912 및 처리 956). 데이터가 다른 목적지, 이를테면 의료용 또는 디바이스 제조업자 서버 (142, 144) 에 즉시 송신되는 것이라면, VPH-서버 (140) 는 인터넷 (114) 을 경유하여 적절한 서버에 접촉하고 적절한 암호화된 통신 링크를 협상할 수도 있다 (단계 914). 일단 적절한 통신 링크가 확립되면, VPH-서버 (140) 는 수신된 디바이스 데이터를 인터넷 (114) 을 경유하여 목적지 서버 (142, 144) 에 송신할 수도 있다 (단계 916 및 메시지 958). 그 다음 이 데이터를 수신하는 서버 (142, 144) 는 다른 목적들, 이를테면 통지 메시지를 인터넷 (114) 을 경유하여 사용자의 개인용 컴퓨터 (138) 에 송신하는 것 (메시지 960) 을 위해 데이터를 이용하거나 사용할 수도 있다.
위에서 지적했듯이, VPH 서비스들은, 데이터 사용자들이 또한 커맨드들 또는 메시지들을 가상 주변기기 허브 디바이스 (112) 를 통해 선택된 주변 디바이스들에 되송신할 수도 있게 하는 2-방향이다. 이는 데이터 사용자 서버 (142, 144) 가 특정 주변 디바이스에 어드레싱된 메시지 (962) 를 VPH-서버 (140) 에 송신하는 것과, VPH-서버가 그 메시지를 인터넷 (114) 을 경유하여 수신하는 것을 수반할 수도 있다. VPH-서버는 그 메시지를 특정한 주변 디바이스 IPv6 어드레스에 다시 어드레싱하고 (단계 920), 그 메시지를 인터넷 (114) 을 경유하여 가상 주변기기 허브 디바이스 (112) 에 송신한다 (단계 922 및 메시지 964). 가상 주변기기 허브 디바이스는 그 메시지들을 수신하고 그것들을 어드레싱된 주변 디바이스에 중계한다 (단계 924 및 메시지 966). 그러면 어드레싱된 주변 디바이스는 그 메시지를 처리하거나 디스플레이한다 (단계 926).
특정 구현예가 도 9a 및 9b를 참조하여 위에서 설명된 처리를 명확하게 할 수도 있다. 갑작스런 체중 증가가 일부 심각한 의료 상태들의 지시자일 수도 있어서, 이러한 정보를 의료 시설에 제공하는 것은 환자들이 약물 치료를 필요로 하거나 또는 환자들을 의사에게 즉시 보여야할 때를 환자에게 조언하는데 유용할 수도 있다. 환자들에 의한 최소한의 노력으로 이러한 조기 경보를 가능하게 하기 위해, 전자 체중계는 사용자가 체중을 재기 시작할 때마다 체중 판독치들을 송신하도록 가상 주변기기 허브 디바이스 (112) 에 결합되는 무선 (또는 유선) 송수신기를 갖는 주변 디바이스로서 구성될 수도 있다. 체중계, 가상 주변기기 허브 디바이스 (112), 및/또는 VPH-서버 (140) 는 저울 판독치들을 환자의 체중을 추적하는 의료 시설 서버 (142) 에 지체 없이 포워딩하도록 (예컨대, 등록 프로세스의 부분으로서) 구성될 수도 있다. 사용자 체중계에 발을 디딜 때, 체중 판독치는,그 정보를 사용자의 임의의 작용 또는 부분적인 개입 없이 처리할 수 있는 목적지 서버에 자동으로 송신될 수도 있다. 의료 시설 서버 (142) 가 의료적 조정 (예컨대, 약물 치료 또는 의사에게 가는 것) 을 요하는 상태를 나타낼 수도 있는 급작스런 체중 변경을 검출하면, 그 의료 시설 서버는 사용자가 볼 필요가 있을 것 같은 메시지를 적절한 주변 디바이스 상에 디스플레이하도록 송신할 수도 있다. 그래서, 의료 시설 서버 (142) 는 메시지를 주변 디바이스, 이를테면 LCD 디스플레이, 디지털 화상 프레임, 또는 사용자에게 적당한 예방책을 강구할 것을 알리는 디스플레이를 갖는 다른 디바이스에 의해 수신되도록 VPH 서비스들을 이용하여 송신할 수도 있다.
VPH 서비스들의 유용한 애플리케이션들의 다른 예는 도 9c 및 9d에 도시된 바와 같은 디지털 카메라 이미지들의 자동 배포이다. 디지털 카메라들의 소유자들이 직면하는 공통의 문제는 그들의 사진들을 그들의 친구 및 가족에게 효율적으로 배포하는 것이다. 이 점에서 유용한 최근의 혁신물은 디지털 사진들을 저장하는 메모리에 결합된 LCD 디스플레이를 구비한 디지털 사진 프레임이다. 일부 디지털 사진 프레임들은, 이미지들을 다운로드하는 것이 매우 간단히 달성될 수 있도록 네트워크에 접속되도록 장비된다. 그러나, 디지털 사진 프레임들의 대다수의 잠재 구매자들은 홈 네트워크를 설치하고 그것을 디지털 사진 프레임에 결합하는 기술적 상식을 가지지 못할 수도 있다. 가상 주변기기 허브 디바이스 (112) 및 관련된 VPH 서비스들은 디지털 사진 프레임을 인터넷에 접속하는 과제들에 조치를 취할 수 있어 사용자들은 컴퓨터 네트워킹 기술들의 마스터들이 되지 않고서도 그들의 친구들과 가족으로부터 사진들을 쉽게 받을 수도 있다.
도 9c (단계들용) 및 9b (메시지들용) 를 참조하면, 사진들을 찍은 사용자는 그들의 디지털 카메라를 가상 주변기기 허브 디바이스 (112) 에 이를테면 USB 케이블, 파이어와이어 케이블 또는 로컬 무선 연결 (예컨대, Bluetooth® 무선 링크) 에 의해 링크할 수도 있다 (단계 972). 일단 접속되면, 가상 주변기기 허브 디바이스는 카메라 (공유가 지정됨) 로부터 사진 파일을 수신할 수도 있다 (단계 974 및 메시지 990). 가상 주변기기 허브 디바이스 (112a) 는 VPH-서버 (140) 에 대한 링크를 확립하고 수신된 사진 파일을 송신할 수도 있다 (단계 976 및 메시지 992). VPH-서버 (140) 는 사진 파일들을 특정 목적지, 이를테면 디지털 사진 프레임의 IPv6 어드레스에 포워딩하도록 (예컨대, 온라인 세션으로 확립되는 사용자 선호도 셋팅들에 의해) 구성될 수도 있다. 그래서, VPH-서버 (140) 는 가상 주변기기 허브 디바이스 (112a) 에 대한 식별자를 이용하여, 수신된 사진 파일에 대한 적절한 목적지 (예컨대, 디지털 사진 프레임의 IPv6 어드레스) 를 룩업하고 (단계 978), 사진 파일을 목적지 주변 디바이스 (106) 에 결합된 가상 주변기기 허브 디바이스 (112b) 에 인터넷 (114) 을 경유하여 송신한다 (단계 980 및 메시지 994). 수신용 가상 주변기기 허브 디바이스 (112b) 는 수신된 사진 파일을 목적지 디지털 사진 프레임 (106) 에 중계하고 (단계 982 및 메시지 996), 디지털 사진 프레임은 그 사진을 디스플레이할 수도 있다 (단계 984).
VPH-서버 (140) 는 일 실시예가 도 10에서 나타내고 있는 다양한 실시예들의 VPH 서비스들을 지원하기 위해 주지의 데이터 구조들을 구현할 수도 있다. 예를 들어, VPH-서버 (140) 는 서버가 특정 사용자들을 특정 가상 주변기기 허브 디바이스들 및 접속된 주변 디바이스들과 연관시키는데 사용할 수 있는 사용자 계정들 (1000) 의 데이터베이스를 유지할 수도 있다. 이러한 데이터 구조 (1000) 는 각각이 복수의 데이터 필드들 (1002-1014) 을 포함하는 복수의 데이터 레코드들 (행들로서 나타남) 을 포함할 수도 있다. 예를 들어, 데이터 필드 (1002) 가 가상 주변기기 허브 디바이스들에 대한 고유 식별자를 지정하기 위해 제공될 수도 있고, 데이터 필드 (1004) 가 사용자 식별자 (예컨대, 사용자 계정 번호 또는 사용자 이름) 를 저장하기 위해 제공될 수도 있다. 데이터 구조 (1000) 는 또한 VPH-서버 (140) 가 메시지들을 인터넷 (114) 을 경유하여 가상 주변기기 허브 디바이스 (112) 에 전송하는데 사용할 수 있는 IP 주소를 저장하는 데이터 필드 (1006) 를 포함할 수도 있다. 게다가, 데이터 구조 (1000) 는, 디바이스 IPv6 어드레스 (데이터 필드 1008), 디바이스 ID (데이터 필드 1010), 디바이스 데이터를 저장하는 하나 이상의 데이터 필드들 (데이터 필드 1012), 및 디바이스로부터 수신된 데이터가 포워딩되어야 하는 URL (또는 다른 유형의 어드레스) (데이터 필드 1014) 과 같은 정보를 포함하여, 가상 주변기기 허브에 꽂아진 각각의 주변 디바이스를 위한 복수의 데이터 필드들을 포함할 수도 있다. 이러한 데이터 테이블을 이용하여, 가상 주변기기 허브 디바이스 식별자를 포함한 메시지를 수신하는 VPH-서버 (140) 는, 특정 디바이스에 관련된 데이터 레코드를 신속히 찾고, 그것에 의해 관련된 사용자 및 그것의 접속된 주변 디바이스들을 결정할 수 있다. 마찬가지로, 사용자 이름 또는 사용자 계정 번호를 제공하는 사용자에 의해 인터넷을 경유하여 액세스되는 VPH-서버 (140) 는, 사용자에 관련된 데이터 레코드를 신속히 찾고, 그것에 의해 관련된 가상 주변기기 허브 디바이스, 그것의 어드레스 및 그것에 꽂아진 주변 디바이스들을 결정할 수도 있다.
가상 주변기기 허브 디바이스 (112) 는 또한 주변 디바이스 데이터를 데이터 구조 (1100) 로 저장하는 메모리로 구성될 수도 있다. 가상 주변기기 허브 디바이스 (112) 는 이러한 데이터 구조를 이용하여, 수신된 디바이스 데이터를 VPH-서버에 지체 없이 보고할지 또는 그 데이터를 나중에 포워딩하기 위해 일시적으로 저장할지의 여부를 결정할 수도 있다. 예를 들어, 데이터 구조 (1100) 는 가상 주변기기 허브 디바이스 (112) 에 꽂아진 각각의 주변 디바이스를 위한 데이터 레코드를 포함하고 각각의 데이터 레코드가 복수의 데이터 필드들 (1102-1114) 을 포함할 수도 있다. 예를 들어, 데이터 구조 (1100) 는, 주변 디바이스 식별자 (예컨대, MAC ID) 를 저장하는 데이터 필드 (1102), 그 특정 주변 디바이스에 결합된 통신 포트에 관한 정보를 저장하는 데이터 필드 (1104), 주변 디바이스에 할당된 IPv6 어드레스를 저장하는 데이터 필드 (1106), 가상 주변기기 허브 디바이스가 데이터를 처리할 방법에 관한 정보 (예컨대, 수신된 데이터를 지체 없이 보고할지의 여부) 를 저장하는 데이터 필드 (1108), 디바이스로부터 수신된 마지막 데이터의 날짜 및 시간을 저장하는 데이터 필드 (1110), 주변 디바이스로부터의 데이터가 VPH-서버 (140) 에 송신되었던 마지막 시간을 저장하는 데이터 필드 (1112), 그리고 주변 디바이스로부터 수신된 데이터를 저장하는 하나 이상의 데이터 필드들 (1114) 을 포함할 수도 있다. 이러한 데이터 구조 (1100) 를 이용하여, 가상 주변기기 허브 디바이스 (112) 는 접속된 주변 디바이스들에 대해 매우 다양한 데이터 관리 서비스들을 지원하도록 구성될 수 있다.
가상 주변기기 허브 디바이스 (112) 에 의해 인에이블되는 다른 서비스는 주변 디바이스들을 액세스될 때만 전원을 공급하는 능력이다. 이를 가능하게 하는 일 예시적인 방법 (1200) 이 도 12에 도시되어 있다. 가상 주변기기 허브 디바이스 (112) 는 특정 주변 디바이스와의 상호작용이 완료되었을 때 활성화될 수도 있는 유휴 셧다운 타이머로 구성될 수도 있다 (단계 1202). 가상 주변기기 허브 디바이스 프로세서 (301) 는 셧다운 타이머를 모니터링하여 타이머가 만료되었는지의 여부를 결정할 수도 있다 (결정단계 1204). 그 주변 디바이스와의 다른 상호작용이 카운트다운 타이머가 만료되기 전에 완수되었다면, 카운트다운 타이머는 단계 1202로 되돌아가는 것에 의해 재시작될 수도 있다. 카운트다운 타이머가 만료되었다면 (즉, 결정단계 1204 = "예"), 프로세서는 주변 디바이스의 전원 차단을 명령하는 신호를 주변 디바이스에 송신할 수도 있다 (단계 1206). 주변 디바이스를 전원 차단하는 것은 사용하지 않는 동안에 배터리 전력 또는 디바이스 수명을 보존하는 것을 허용한다. 가상 주변기기 허브 디바이스 (112) 가 그 주변 디바이스로부터의 데이터에 대한 요구 또는 그 주변 디바이스에 대한 액세스의 요구를 수신할 때 (단계 1208), 가상 주변기기 허브 디바이스 (112) 는 주변 디바이스의 전원 공급을 명령하는 신호를 그 주변 디바이스에 송신할 수도 있다 (단계 1210). 일단 그 주변 디바이스와의 상호작용이 완료되면, 셧다운 타이머는 재시작되어, 단계 1202로 되돌아 갈 수도 있다.
가상 주변기기 허브 디바이스 (112) 및 VPH 서비스들은 소비자들 및 비즈니스들에 대한 잠재 가치의 다수의 서버-기반 동작들을 가능하게 할 수도 있다. 가상 주변기기 허브 디바이스 (112) 가 서버들 및 인터넷 액세스 라우터들의 설치를 요하는 일 없이 다양한 주변 디바이스들에 간단한 액세스를 제공하므로, 넓은 범위의 전자 디바이스들로부터의 데이터는 이러한 데이터로부터 혜택을 누릴 수 있는 기관들 및 비즈니스들에 이용가능하게 될 수도 있다. 중간 VPH-서버 (140) 의 사용으로부터 나오는 하나의 흥미있는 개념은 배치형 또는 서버 개시형 동작들의 개념이다. 이러한 서비스들 및 동작들은 상황에 민감한 동작들을 위한 주변 디바이스들에 액세스할 수 있는 애드-온 서비스들의 형태를 취할 수 있다. 일 예는 작은 클립들 또는 스냅샷들이 취해질 수 있고 나중의 검색을 위해 VPH-서버에 송신될 수도 있도록 "깨워지는" 웹캠 (102) 을 통한 보안 모니터링이다. 다른 예는 콘텐츠 사이트들을 모니터링하며 특정 콘텐츠를 대용량 저장소에 다운로딩하는 것을 수반한다. 다른 예는 접속된, 비-네트워크-가능 디바이스들, 이를테면 디지털 카메라들로부터의 일괄 (batch) 업로드들을 포함한다. 추가 예는 자동 진단 시스템들로부터의 서버 개시 업로드들이다.
이러한 서버 기반 서비스들을 제공하도록 VPH-서버 (140) 에 의해 구현될 수도 있는 일 예시적인 방법 (1300) 이 도 13에 도시되어 있다. 주기적으로, VPH-서버 (140) 는 위에서 설명된 방법들을 이용하여 가상 주변기기 허브 디바이스 (112) 에 대한 통신 링크를 확립할 수도 있다 (단계 1302). 일단 통신 링크가 확립되면, VPH-서버 (140) 는 메시지들을 가상 주변기기 허브 디바이스 (112) 에 전송하여 위에서 설명된 바와 같이, 접속된 주변 디바이스들을 폴링하고 그것들의 데이터를 수신할 수도 있다 (단계 1304). 그 다음 VPH-서버 (140) 는 수신된 디바이스 데이터를 이용하여 데이터베이스를 업데이트하고 (단계 1306), 이 디바이스 데이터의 데이터베이스를 이 데이터를 구독하는 (subscribing) 개개의 서버들에 발행할 수도 있다 (단계 1308). 주변 디바이스 데이터의 구독자들 (예컨대, 보안 서비스 회사들, 병원들, 디바이스 제조업자들, 자동차 관리 업체들 등) 은 그들이 관심 있어 하는 데이터만을 구독할 수도 있다. 데이터 구독자들은 또한 필요하면 주변 디바이스들에 액세스할 수도 있는데, VPH-서버가 등록된 가상 주변기기 허브 디바이스들을 통해 주변 디바이스들에 대한 포탈로서 기능을 할 수 있어서이다 (단계 1310).
다양한 실시예들은 다수의 유용한 애플리케이션들을 가능하게 하는데 이러한 애플리케이션들의 일부 예들은 아래에서 설명된다.
가상 주변기기 허브 디바이스 (112) 및 VPH 서비스들은 인터넷 액세스로 임의의 컴퓨터로부터 사용자의 주변 디바이스들에 웹 액세스를 제공할 수 있다. 이러한 애플리케이션들에서, VPH-서버 (140) 는 주변 디바이스들에 접속된 컴퓨터로서 역할을 하고 웹 브라우저를 통한 디바이스 데이터 및 커맨드들에의 액세스를 제공할 수 있다. 예를 들어, 주변 디바이스가 원격 하드 드라이브 (108) (예컨대, 가상 주변기기 허브 디바이스 (112) 에 USB 케이블 (6) 로 결합된 USB 하드 드라이브) 일 수도 있고, 이 경우 VPH 서비스들은, 임의의 웹 브라우저로부터 원격 하드 드라이브 (108) 상의 콘텐츠를 브라우징하고 액세스하는 것을 가능하게 할 것이다. 위에서 설명된 다른 예는 가상 주변기기 허브 디바이스 (112) 에 결합되는 접속된 웹캠들로부터의 이미지를 관람하는 것을 수반한다. 다른 예는 임의의 웹 브라우저로부터 오프라인으로 행해진 주변 디바이스 동작들의 결과들에 액세스하는 것에 관련된다. 추가의 예에서, VPH-서버 (140) 는 실제 데이터가 가상 주변기기 허브 디바이스 (112) 에 결합된 원격 하드 드라이브 (108) 상에 저장되는 이메일 계정들을 호스팅하도록 구성될 수도 있다. 이 애플리케이션은 이메일 메시지 데이터가 서버 상에서 호스팅되었던 것처럼 이메일 서비스가 기능을 하면서도, 사용자들이 그들의 개인용 이메일 데이터에 대한 완전한 제어를 유지하는 것을 허용할 것이다.
VPH 서비스들은 또한 대용량 저장 디바이스들에 대한 원격 액세스를 신속히 가능하게 하는데 사용될 수도 있다. 이 애플리케이션에서, 대용량 저장 디바이스는 가상 주변기기 허브 디바이스 (112) 에 꽂아질 수도 있어서 사용자들은 저장 디바이스 상에 저장된 데이터를 VPH-서버 (140) 를 통해 액세스할 수도 있다. 이 애플리케이션은 데이터 보안을 제공할 뿐 아니라 사용자들이 그룹들에 걸쳐 데이터를 공유하거나 또는 이 데이터를 임의의 웹 브라우저로부터 액세스하는 것을 허용한다.
위에서 설명된 다른 VPH 서비스는 가상 주변기기 허브 디바이스 (112) 를 특수 USB 케이블을 통해 운송수단 진단 포트에 꽂는 것에 의해 원격 운송수단 진단을 제공하는 것을 수반한다. 이 USB 케이블에 접속된 가상 주변기기 허브 디바이스 (112) 는, 인프라스트럭쳐 또는 전자공학에서의 추가 투자 없이 운송수단들 원격 및 액티브 진단과 모니터링을 허용할 것인데, VPH 서비스들이 셀룰러 전화기 네트워크들 및 인터넷의 인프라스트럭쳐를 이용하여서이다. 위에서 언급했듯이, 이러한 서비스들은 긴급 통신 서비스들을 제공하는 것까지 확장될 수 있다.
다른 VPH 서비스는 소비자들에게 X10 홈 제어 시스템들을 공급할 수 있다. X10 프로토콜은 디바이스들이 가정용 전선을 통해 통신하는 것을 가능하게 하고 가정용 어플라이언스들을 제어하며, 보안 시스템들을 셋업하는 등에 이용되고 있다. 이 애플리케이션에서, 가상 주변기기 허브 디바이스 (112) 는 다른 X10 시스템 구성요소들과는, 이를테면 가상 주변기기 허브 디바이스에 꽂아지는 전선을 통해 통신하고 VPH-서버 (140) 로부터 수신된 구성 명령들을 X10 구성요소들에 중계하도록 구성될 수도 있다. 이 애플리케이션은 디바이스들을 전기 소켓들에 꽂는 것을 넘어서는 대다수의 태스크들로부터 사용자를 면제시켜 주는 것에 의해 이러한 홈 제어 시스템들의 셋업 및 구성을 단순화시킬 수도 있다.
추가의 실시예에서, VPH 및 VPH 서비스들은 홈 자동화 및 제어 능력들을 전용 자동화 시스템에 대한 요구 없이 제공할 수도 있다. 이 애플리케이션에서, 제어될 디바이스들 및 가정용 시스템들은 VPH에 직접 또는 무선 네트워크들 (예컨대, BlueTooth®, WiFi 등) 을 경유하여 꽂아질 수도 있고, 그래서 그것들의 기능들은 VPH 서버에 액세스하는 VPH 서버 또는 컴퓨터들에 의해 제어될 수 있다. 예를 들어, VPH 서비스들 중의 하나는 사용자들이 컴퓨터를 통해 VPH 서버에 액세스하는 것에 의해 구성할 수 있는 서버-호스트식 제어 시스템을 제공하는 홈 제어 능력들일 수 있다. 일단 홈 자동화/제어 셋팅들이 사용자에 의해 입력되면, VPH 서버는 VPH에 꽂아진 디바이스들 및 가정용 시스템들을 제어하는데 필요한 대로의 커맨드들을 VPH를 통해 전송할 수도 있다. 이런 방식으로, 낮은 단가, 고도 구성가능 홈 자동화 시스템이 홈 내에 위치된 대략 하나 이상의 VPH 모듈들에 기초하여 제공될 수 있다.
위에서 설명된 실시예들은 다양한 서버 디바이스들 중의 임의의 것, 이를테면 도 14에 도시된 서버 (1400) 로 구현될 수도 있다. 이러한 서버 (1400) 는 통상 프로세서 (1401), 이 프로세서에 결합된 휘발성 메모리 (1402), 및 대용량 비휘발성 메모리, 이를테면 디스크 드라이브 (1403) 를 구비한다. 서버 (1400) 는 또한 프로세서 (1401) 에 결합된 플로피 디스크 드라이브 (464) 및/또는 콤팩트 디스크 (CD) 드라이브 (1406) 를 구비할 수도 있다. 서버 (1400) 는 또한 네트워크 회선들 (1405), 이를테면 인터넷과의 데이터 접속들을 확립하기 위해 프로세서 (1401) 에 결합된 네트워크 액세스 포트들 (1404) 를 구비할 수도 있다.
다양한 실시예들이 자립형 가상 주변기기 허브 디바이스 (112) 를 참조하여 설명되었지만, VPH 기능성은 또한 VPH 기능성을 수행할 수 있는 프로세서가 구비된 다른 통신 디바이스들 및 무선 네트워크, 이를테면 셀룰러 데이터 네트워크 (130) 에 결합된 송수신기로 구현될 수도 있다. 예를 들어, VPH 기능성은 셀룰러 전화기 상에서 실행중인 애플리케이션으로서 구현될 수도 있다. 많은 셀룰러 전화기들은 VPH 기능성 애플리케이션으로 구성될 수 있는 프로그램가능 프로세서들, 뿐만 아니라 주변 디바이스들과의 통신 링크들을 확립하는데 사용될 수 있는 다수의 무선 송수신기들을 구비한다. 또한, 일부 셀룰러 전화기들은 주변 디바이스들에 결합될 수 있는 유선 접속 포트들, 이를테면 USB 또는 파이어와이어 포트들을 포함한다. VPH 기능성을 모바일 디바이스에 구현하기 위해, 예를 들어, VPH 애플리케이션이 디바이스 프로세서에 구현되어 다양한 실시예들에서 설명된 접속 및 통신 기능들을 수행할 수도 있다.
가상 주변기기 허브 기능성을 구현하는 모바일 디바이스는 도 15에 도시된 구성요소들을 공통으로 가질 수도 있다. 예를 들어, 예시적인 모바일 디바이스 (1506) 가 프로세서 (1501), 이 프로세서에 결합된 내부 메모리 (1502) 및 디스플레이 (1503) 를 구비할 수도 있다. 덧붙여, 모바일 디바이스 (1506) 는 프로세서 (1501) 에 결합된 무선 데이터 링크 및/또는 셀룰러 전화기 송수신기 (1505) 에 접속되는, 전자기 복사를 송신하고 수신하기 위한 안테나 (1504) 를 가질 수도 있다. 모바일 디바이스는 또한 하나 이상의 로컬 무선 네트워크들에 접속하기 위한 제 2 송수신기 (1508), 이를테면 블루투스 무선 접속부들을 통해 주변 디바이스들에 접속하는 블루투스 송수신기 및/또는 로컬 영역 무선 네트워크를 통해 컴퓨터들 및 주변 디바이스들에 접속하는 WiFi 송수신기를 구비할 수도 있다. 모바일 디바이스는 또한 USB (또는 파이어와이어) 케이블을 통해 주변 디바이스들에 접속하는 USB (또는 파이어와이어) 포트 (1509) 을 구비할 수도 있다. 또한 모바일 디바이스들은 통상 사용자 입력들을 수신하기 위한 키 패드 (1506) 또는 미니어처 키보드 및 메뉴 선택 버튼들 또는 로커 (rocker) 스위치들 (1507) 을 구비할 수도 있다.
다양한 기기들에서의 프로세서들 (1501, 1401) 은 본 명세서에서 설명된 다양한 양태들의 기능들을 포함한 다양한 기능들을 수행하도록 소프트웨어 명령어들 (애플리케이션들) 에 의해 구성될 수 있는 임의의 프로그램가능 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수도 있다. 일부 디바이스들에서는, 이를테면 하나의 프로세서가 무선 통신 기능들에 전용이고 하나의 프로세서가 다른 애플리케이션들에 전용인 다수의 프로세서들 (1501, 1401) 이 제공될 수도 있다. 통상, 소프트웨어 애플리케이션들은 그것들이 액세스되어 프로세서 (1501, 1401) 에 로딩되기 전에 내부 메모리 (1502, 1402) 에 저장될 수도 있다. 일부 모바일 디바이스들에서, 프로세서 (1501, 1401) 는 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 구비할 수도 있다. 일부 디바이스들에서, 보안 메모리는 프로세서 (1501, 1401) 에 결합된 개별 메모리 칩으로 있을 수도 있다. 많은 디바이스들에서, 내부 메모리 (1502, 1402) 는 휘발성 또는 비휘발성 메모리, 이를테면 플래시 메모리, 또는 양쪽 모두의 혼합체일 수도 있다. 이 설명의 목적을 위해, 메모리에 대한 종합적인 언급은 내부 메모리 (1502, 1402), 디바이스에 꽂아지는 착탈식 메모리, 및 프로세서 (1501, 1401) 자체 내의 메모리를 포함하여, 프로세서 (1501, 1401) 에 의해 액세스가능한 모든 메모리를 말한다.
앞서의 방법 설명들 및 프로세스 흐름도들은 구체적인 예들로서만 제공되고 다양한 실시예들의 단계들이 표시된 순서로 반드시 수행되어야 함을 요구하거나 의미하도록 의도된 것은 아니다. 이 기술분야의 숙련된 자에 의해 이해될 바와 같이 앞서의 실시예들에서의 순서의 단계들은 어떤 순서로도 수행될 수 있다. 단어들 이를테면 "그 후", "그러면", "다음에" 등은 단계들의 순서를 한정하려는 의도는 아니고; 이들 단어들은 단지 방법들의 기재를 통하여 독자에게 설명하는데 사용된다. 게다가, 단수형으로, 예를 들어, 관사 "a", "an" 또는 "the"의 사용에 해당하는 것으로 여겨질 수 있는 청구항 요소들에 대한 어떤 참조라도, 그 요소를 단수형으로 제한하는 것으로 해석되지는 않는다.
본 명세서에 개시된 실시예들과 관련하여 설명되는 각종 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이것 둘의 조합들로 구현될 수도 있다. 하드웨어 및 소프트웨어의 이러한 상호 교환 가능성을 명백하게 예증하기 위하여, 전술된 다양하고 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로 그것들의 기능성의 관점에서 설명되어 있다. 이러한 기능성이 하드웨어 또는 소프트웨어 중 어느 것으로 구현되는지는 전체 시스템에 부가되는 특정 애플리케이션 및 디자인 제약조건들에 의존한다. 당업자들은 전술된 기능을 각각의 특정한 애플리케이션에 대하여 다양한 방식으로 구현할 수 있지만, 이러한 구현 결정은 본 발명의 범위를 벗어나도록 하는 것으로 해석되지 않아야 한다.
본 명세서에서 개시된 양태들에 관련하여 설명된 다양한 실례의 로직들, 논리 블록들, 모듈들, 및 회로들을 구현하는데 사용되는 하드웨어는 여기에 설명된 기능들을 수행하도록 고안된 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 여타 프로그램가능 로직 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트들, 또는 그것들의 임의의 조합으로 구현되거나 실시될 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로는, 이 프로세서는 임의의 기존 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 기기들의 조합, 예를 들어 DSP 및 마이크로프로세서의 조합, 복수 개의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로도 구현될 수도 있다. 다르게는, 일부 단계들 또는 방법들이 주어진 기능에 특화된 회로에 의해 수행될 수도 있다.
하나 이상의 예시적인 양태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그것들의 어떤 조합으로도 구현될 수도 있다. 소프트웨어로 구현된다면, 기능들은 하나 이상의 명령어들 또는 코드로서 컴퓨터 판독가능 매체 상에 저장되거나 전송될 수도 있다. 본 명세서에 개시된 방법 또는 알고리즘의 단계들은 컴퓨터 판독가능 매체 상에 상주할 수 있는 프로세서 실행가능 소프트웨어 모듈로 실시될 수 있다. 비일시적 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수도 있는 이용가능한 임의의 컴퓨터 저장 매체라도 포함할 수도 있다. 예로서, 그리고 비제한적으로, 이러한 비일시적 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타의 광 디스크 저장소, 자기 디스크 저장소, 또는 기타 자기 저장 디바이스들, 또는 소망의 프로그램 코드를 컴퓨터에 의해 액세스될 수도 있는 명령어들 또는 데이터 구조들의 형태로 운반하거나 저장하는데 사용될 수도 있는 임의의 다른 매체를 포함할 수도 있다. 디스크 (Disk 및 disc) 는 여기서 사용되는 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하는데, disk들은 보통 데이터를 자기적으로 재생하지만, disc들은 레이저들로써 광적으로 데이터를 재생한다. 상기한 것들의 조합들은 컴퓨터 판독가능 매체의 범위 내에도 포함되어야 한다. 덧붙여, 방법 또는 알고리즘의 동작들은 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 세트로서 컴퓨터 프로그램 제품에 통합될 수도 있는 비일시적 기계 판독가능 매체 및/또는 비일시적 컴퓨터-판독가능 매체 상에 존재할 수 있다.
설명된 실시예들의 전술한 설명은 이 기술분야의 숙련된 사람이 본 발명을 제작하고 사용할 수 있게끔 제공된다. 이들 실시예들에 대한 다양한 변형예들은 이 기술분야의 숙련된 자들에게 쉽사리 명확하게 될 것이고, 본 명세서에서 정의된 일반 원리들은 본 발명의 정신 또는 범위로부터 벗어남 없이 다른 실시예들에 적용될 수 있다. 그래서, 본 발명은 여기에 나타낸 실시예들로 한정할 의도는 아니며 다음의 청구항들 및 여기에 개시된 원리들 및 신규한 특징들과 일치하는 가장 넓은 범위를 부여하는 것을 의도한다.

Claims (119)

  1. 주변 디바이스에 대한 액세스를 제공하는 방법으로서,
    통신 디바이스로부터 제 1 무선 네트워크를 경유하여 원격 서버에 액세스하는 단계;
    상기 통신 디바이스에 대한 고유 식별자를 상기 원격 서버에 제공하는 단계;
    상기 주변 디바이스를 상기 통신 디바이스에 결합시키는 단계;
    상기 원격 서버에 대한 상기 주변 디바이스를 상기 통신 디바이스로부터 식별하는 단계;
    상기 원격 서버의 데이터 저장소에서 상기 주변 디바이스와 상기 통신 디바이스를 연관시키는 단계;
    상기 통신 디바이스에서 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 단계; 및
    상기 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 원격 서버에 송신하는 단계를 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  2. 제 1 항에 있어서,
    상기 주변 디바이스와 상기 통신 디바이스 사이에 제 2 무선 통신 링크를 확립하는 단계를 더 포함하며,
    상기 주변 디바이스를 상기 통신 디바이스에 결합시키는 단계 및 상기 통신 디바이스에서 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 단계는, 상기 확립된 제 2 무선 통신 링크를 통하여 달성되는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  3. 제 1 항에 있어서,
    상기 원격 서버에 개인용 컴퓨터로부터 인터넷을 경유하여 액세스하는 단계; 및
    상기 원격 서버로부터 상기 인터넷을 경유하여 상기 개인용 컴퓨터에서 상기 주변 디바이스 데이터를 수신하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 데이터 네트워크이며,
    상기 주변 디바이스에 대한 액세스를 제공하는 방법은,
    상기 통신 디바이스로부터 상기 셀룰러 데이터 네트워크를 경유하여 상기 원격 서버에 데이터 호를 발하는 단계;
    통신 링크가 상기 통신 디바이스와 상기 원격 서버 사이에서 확립될 때를 상기 통신 디바이스에 표시하는 단계;
    개인용 컴퓨터로부터 인터넷을 경유하여 상기 원격 서버에 액세스하는 단계;
    사용자 식별자 및 상기 통신 디바이스 상에 인쇄된 코드를 상기 개인용 컴퓨터로부터 상기 인터넷을 경유하여 상기 원격 서버에 송신하는 단계;
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는지를 상기 원격 서버에서 결정하는 단계; 및
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는 것으로 결정되면, 상기 통신 디바이스를 상기 사용자 식별자와 연관시키는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  5. 제 4 항에 있어서,
    상기 주변 디바이스에 IPv6 어드레스를 할당하는 단계; 및
    상기 주변 디바이스 IPv6 어드레스를 웹 브라우저에 알려주는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  6. 제 4 항에 있어서,
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는 것으로 결정되면, 상기 결합된 주변 디바이스에 대한 적절한 드라이버를 상기 개인용 컴퓨터에 다운로드하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  7. 제 1 항에 있어서,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 원격 서버로 인터넷을 경유하여 송신하는 단계;
    상기 캡슐화된 IP 패킷들을 상기 원격 서버에서 수신하는 단계;
    상기 캡슐화된 IP 패킷들을 언패킹하여 상기 주변 디바이스 데이터를 획득하는 단계; 및
    상기 주변 디바이스에 적합한 드라이버를 이용하여 상기 원격 서버에서 상기 주변 디바이스 데이터를 처리하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  8. 제 70 항에 있어서,
    상기 처리된 주변 디바이스 데이터를 상기 인터넷을 경유하여 다른 서버에 송신하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  9. 제 1 항에 있어서,
    상기 통신 디바이스에 결합된 주변 디바이스들을 발견하는 단계; 및
    상기 원격 서버에 대한 각각의 발견된 주변 디바이스를 식별하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  10. 제 1 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 전화기 네트워크이며,
    상기 주변 디바이스에 대한 액세스를 제공하는 방법은, 상기 원격 서버로부터 상기 셀룰러 전화기 네트워크를 경유하여 상기 통신 디바이스에 메시지를 송신하는 단계를 더 포함하며,
    상기 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 원격 서버에 액세스하는 단계는, 상기 셀룰러 전화기 네트워크를 경유하여 상기 메시지를 수신하는 것에 응답하여 달성되는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  11. 제 10 항에 있어서,
    상기 송신된 메시지는 단문 메시지 서비스 (SMS) 메시지인, 주변 디바이스에 대한 액세스를 제공하는 방법.
  12. 제 11 항에 있어서,
    상기 통신 디바이스에서 상기 SMS 메시지를 수신하는 단계; 및
    상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타내는지의 여부를 결정하는 단계를 더 포함하며,
    상기 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 원격 서버에에 액세스하는 단계는, 상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타낸다는 결정에 응답하여 달성되는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  13. 제 1 항에 있어서,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 원격 서버로 인터넷을 경유하여 송신하는 단계;
    상기 캡슐화된 IP 패킷들을 상기 원격 서버에서 수신하는 단계;
    상기 캡슐화된 IP 패킷들을 상기 원격 서버로부터 상기 인터넷을 경유하여 제 2 서버로 포워딩하는 단계;
    상기 캡슐화된 IP 패킷들을 상기 제 2 서버에서 언패킹하여 상기 주변 디바이스 데이터를 획득하는 단계; 및
    상기 주변 디바이스에 적합한 드라이버를 이용하여 상기 제 2 서버에서 상기 주변 디바이스 데이터를 처리하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  14. 제 1 항에 있어서,
    상기 주변 디바이스가 마지막으로 액세스된 이후 소정의 시간이 만료되었는지의 여부를 결정하는 단계; 및
    상기 소정의 시간이 만료되었을 때 전원을 차단할 것을 상기 주변 디바이스에 명령하는 신호를 상기 주변 디바이스에 전송하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  15. 제 1 항에 있어서,
    상기 주변 디바이스의 데이터에 대한 요구를 상기 원격 서버로부터 상기 통신 디바이스로 송신하는 단계; 및
    상기 통신 디바이스에서 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스에 상기 데이터에 대한 요구를 전송하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  16. 제 15 항에 있어서,
    상기 통신 디바이스에서 상기 주변 디바이스의 상기 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스가 전원 차단되어 있는지의 여부를 결정하는 단계; 및
    상기 주변 디바이스가 전원 차단되어 있는 것으로 결정되면 상기 주변 디바이스에 전원을 공급할 것을 명령하는 신호를 상기 주변 디바이스에 전송하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  17. 제 1 항에 있어서,
    상기 통신 디바이스 내의 글로벌 포지셔닝 시스템 (GPS) 센서로부터 상기 통신 디바이스의 글로벌 위치를 결정하는 단계;
    상기 통신 디바이스로부터 상기 원격 서버로 GPS 위치 정보를 송신하는 단계;
    상기 GPS 위치 정보에 기초하여 상기 원격 서버에서 사용자 아이덴티티를 결정하는 단계; 및
    상기 통신 디바이스와 상기 결정된 사용자 아이덴티티를 연관시키는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  18. 제 1 항에 있어서,
    수신된 주변 디바이스 데이터에서 변경이 발생하였는지의 여부를 상기 통신 디바이스에서 결정하는 단계;
    수신된 주변 디바이스 데이터에서 변경이 발생하였다고 상기 통신 디바이스가 결정할 때 상기 제 1 무선 네트워크를 경유하여 상기 원격 서버와의 통신 링크를 확립하는 단계; 및
    상기 변경된 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 원격 서버에 송신하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  19. 제 1 항에 있어서,
    상기 주변 디바이스는 가정용 시스템이며; 그리고
    상기 원격 서버는 상기 통신 디바이스를 경유하여 상기 가정용 시스템에 제어 신호들을 제공하도록 구성되는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  20. 제 2 항에 있어서,
    상기 주변 디바이스 데이터를 개인용 컴퓨터에 제공하기 전에, 상기 개인용 컴퓨터, 상기 개인용 컴퓨터의 사용자, 상기 통신 디바이스 및 상기 주변 디바이스 중의 하나 이상을 인증하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  21. 제 1 항에 있어서,
    상기 통신 디바이스에 의해 상기 원격 서버에 송신된 상기 주변 디바이스 데이터를 암호화하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  22. 제 3 항에 있어서,
    상기 개인용 컴퓨터에 송신된 상기 주변 디바이스 데이터를 암호화하는 단계를 더 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  23. 제 1 항에 있어서,
    상기 주변 디바이스는 사용자 데이터를 저장하도록 구성된 데이터 저장 디바이스이며;
    상기 주변 디바이스에 대한 액세스를 제공하는 방법은, 상기 통신 디바이스에서 상기 원격 서버로부터의 사용자 데이터에 대한 요구를 수신하는 단계를 더 포함하며,
    상기 통신 디바이스에서 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 단계는, 사용자 데이터에 대한 상기 수신된 요구에 기초하여, 상기 데이터 저장 디바이스로부터 사용자 데이터에 액세스하는 단계를 포함하고;
    상기 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 원격 서버에 송신하는 단계는, 상기 데이터 저장 디바이스로부터 액세스된 상기 사용자 데이터를 상기 원격 서버에 송신하는 단계를 포함하는, 주변 디바이스에 대한 액세스를 제공하는 방법.
  24. 인터넷에 결합되며, 데이터 저장소, 및 상기 데이터 저장소에 결합된 서버 프로세서를 포함하는 서버; 및
    통신 디바이스를 포함하고,
    상기 통신 디바이스는,
    프로세서;
    상기 프로세서에 결합되고 제 1 무선 네트워크를 경유하여 통신하도록 구성된 제 1 무선 송수신기; 및
    상기 프로세서에 결합되고 주변 디바이스와의 데이터 통신 링크를 가능하게 하도록 구성된 로컬 네트워크 접속 회로를 포함하며,
    상기 프로세서는,
    상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 동작;
    상기 통신 디바이스에 대한 고유 식별자를 상기 서버에 제공하는 동작;
    유선 네트워크 접속 소켓에 접속된 주변 디바이스를 상기 서버에 식별해주는 동작;
    상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작; 및
    상기 주변 디바이스 데이터를 상기 서버에 송신하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    서버 프로세서는,
    상기 인터넷을 경유하여 상기 통신 디바이스와 통신하는 동작; 및
    상기 서버의 데이터 저장소에서 상기 주변 디바이스와 상기 통신 디바이스를 연관시키는 동작을 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  25. 제 24 항에 있어서,
    상기 로컬 네트워크 접속 회로는, 상기 프로세서와 상기 주변 디바이스 사이에 제 2 무선 통신 링크를 확립하도록 구성된 제 2 무선 송수신기를 포함하며,
    상기 프로세서는, 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작이 상기 제 2 무선 통신 링크를 경유하여 상기 주변 디바이스 데이터를 수신하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  26. 제 24 항에 있어서,
    상기 서버 프로세서는,
    상기 인터넷을 경유하여 개인용 컴퓨터와 통신하는 동작; 및
    상기 인터넷을 경유하여 상기 주변 디바이스 데이터를 상기 개인용 컴퓨터에 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  27. 제 24 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 데이터 네트워크이며;
    상기 프로세서는,
    상기 셀룰러 데이터 네트워크를 경유하여 상기 서버에 데이터 호를 발하는 동작; 및
    상기 통신 디바이스와 상기 원격 서버 사이에 통신 링크가 확립될 때를 상기 통신 디바이스에 표시하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 서버 프로세서는,
    상기 인터넷을 경유하여 개인용 컴퓨터로부터 액세스 질의 (inquiry) 를 수신하는 동작;
    사용자 식별자와 상기 통신 디바이스 상에 인쇄된 코드를 상기 개인용 컴퓨터로부터 상기 인터넷을 경유하여 수신하는 동작;
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는지의 여부를 결정하는 동작; 및
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는 것으로 결정되면, 상기 통신 디바이스와 상기 사용자 식별자를 연관시키는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  28. 제 25 항에 있어서,
    상기 서버 프로세서는,
    상기 주변 디바이스에 IPv6 어드레스를 할당하는 동작; 및
    상기 개인용 컴퓨터 상의 웹 브라우저에 상기 주변 디바이스 IPv6 어드레스를 알려주는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  29. 제 25 항에 있어서,
    상기 서버 프로세서는,
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는 것으로 결정되면, 상기 결합된 주변 디바이스에 적절한 드라이버를 상기 개인용 컴퓨터에 다운로드하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  30. 제 24 항에 있어서,
    상기 프로세서는,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 인터넷을 경유하여 상기 서버에 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 서버 프로세서는,
    상기 캡슐화된 IP 패킷들을 수신하는 동작;
    상기 캡슐화된 IP 패킷들을 언패킹하여 상기 주변 디바이스 데이터를 획득하는 동작; 및
    상기 주변 디바이스에 적합한 드라이버를 이용하여 상기 주변 디바이스 데이터를 처리하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  31. 제 30 항에 있어서,
    상기 서버 프로세서는,
    상기 처리된 주변 디바이스 데이터를 상기 인터넷을 경유하여 다른 서버에 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  32. 제 24 항에 있어서,
    상기 통신 디바이스는, 상기 프로세서에 결합되고 복수의 주변 디바이스들과의 데이터 통신 링크들을 가능하도록 구성된 복수의 유선 네트워크 접속 소켓들을 포함하며; 그리고
    상기 프로세서는,
    상기 복수의 유선 네트워크 접속 소켓들 중의 하나 이상에 결합된 주변 디바이스들을 발견하는 동작; 및
    상기 서버에 대한 각각의 상기 발견된 주변 디바이스를 식별하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  33. 제 24 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 전화기 네트워크이며,
    상기 프로세서는 상기 서버로부터 상기 셀룰러 전화기 네트워크를 경유하여 상기 통신 디바이스에 메시지를 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 프로세서는, 통신 디바이스로부터 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 동작이 상기 셀룰러 전화기 네트워크를 경유하여 상기 메시지를 수신하는 것에 응답하여 달성되도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  34. 제 33 항에 있어서,
    상기 서버 프로세서는, 상기 송신된 메시지가 단문 메시지 서비스 (SMS) 메시지이도록 하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  35. 제 34 항에 있어서,
    상기 프로세서는,
    상기 SMS 메시지를 수신하는 동작; 및
    상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타내는지의 여부를 결정하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 프로세서는, 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 동작이 상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타낸다는 결정에 응답하여 달성되도록 하는 동작들을 추가로 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  36. 제 24 항에 있어서,
    상기 통신 시스템은 상기 인터넷에 결합된 제 2 서버를 더 포함하며,
    상기 프로세서는, 상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 서버로 인터넷을 경유하여 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 서버 프로세서는,
    상기 캡슐화된 IP 패킷들을 수신하는 동작; 및
    상기 인터넷을 경유하여 상기 서버로부터 상기 제 2 서버로 상기 캡슐화된 IP 패킷들을 포워딩하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되며,
    상기 제 2 서버는,
    상기 캡슐화된 IP 패킷들을 상기 제 2 서버에서 언패킹하여 상기 주변 디바이스 데이터를 획득하는 동작; 및
    상기 주변 디바이스 데이터를 상기 제 2 서버에서 상기 주변 디바이스에 적합한 드라이버를 이용하여 처리하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  37. 제 24 항에 있어서,
    상기 프로세서는,
    상기 주변 디바이스가 마지막으로 액세스된 이후 소정의 시간이 만료되었는지의 여부를 결정하는 동작; 및
    상기 소정의 시간이 만료되었을 때 전원을 차단할 것을 상기 주변 디바이스에 명령하는 신호를 상기 주변 디바이스에 전송하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  38. 제 24 항에 있어서,
    상기 서버 프로세서는, 상기 주변 디바이스의 데이터에 대한 요구를 상기 통신 디바이스에 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되며; 그리고
    상기 프로세서는, 상기 서버로부터 상기 주변 디바이스의 데이터 요구를 수신하는 것에 응답하여 상기 주변 디바이스에 데이터에 대한 요구를 전송하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  39. 제 38 항에 있어서,
    상기 서버 프로세서는,
    상기 주변 디바이스의 상기 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스가 전원 차단되어있는지의 여부를 결정하는 동작; 및
    상기 주변 디바이스가 전원 차단되어 있는 것으로 결정되면 상기 주변 디바이스에 전원을 공급할 것을 명령하는 신호를 상기 주변 디바이스에 전송하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  40. 제 24 항에 있어서,
    상기 프로세서는,
    상기 통신 디바이스의 글로벌 위치를 상기 통신 디바이스 내의 글로벌 포지셔닝 시스템 (GPS) 센서로부터 결정하는 동작; 및
    상기 GPS 위치 정보를 상기 통신 디바이스로부터 상기 서버로 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 서버 프로세서는,
    상기 서버에서 상기 GPS 위치 정보에 기초하여 사용자 아이덴티티를 결정하는 동작; 및
    상기 통신 디바이스를 상기 결정된 사용자 아이덴티티와 연관시키는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  41. 제 24 항에 있어서,
    상기 프로세서는,
    수신된 주변 디바이스 데이터에서 변경이 발생하였는지의 여부를 결정하는 동작;
    상기 수신된 주변 디바이스 데이터에서 변경이 발생하였다고 상기 통신 디바이스가 결정할 때 상기 제 1 무선 네트워크를 경유하여 상기 서버와의 통신 링크를 확립하는 동작; 및
    상기 변경된 주변 디바이스 데이터를 상기 서버에 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  42. 제 24 항에 있어서,
    상기 주변 디바이스는 가정용 시스템이며; 그리고
    상기 서버 프로세서는 상기 통신 디바이스를 경유하여 상기 가정용 시스템에 제어 신호들을 제공하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  43. 제 26 항에 있어서,
    상기 서버 프로세서는,
    상기 주변 디바이스 데이터를 상기 개인용 컴퓨터에 제공하기 전에, 상기 개인용 컴퓨터, 상기 개인용 컴퓨터의 사용자, 상기 통신 디바이스 및 상기 주변 디바이스 중의 하나 이상을 인증하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  44. 제 24 항에 있어서,
    상기 프로세서는,
    상기 서버에 송신되는 상기 주변 디바이스 데이터를 암호화하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  45. 제 26 항에 있어서,
    상기 서버 프로세서는,
    상기 개인용 컴퓨터에 송신되는 상기 주변 디바이스 데이터를 암호화하는 동작을 더 포함하는 동작들을 수행하기 위한 서버 실행가능 명령들로 구성되는, 통신 시스템.
  46. 제 24 항에 있어서,
    상기 주변 디바이스는 사용자 데이터를 저장하도록 구성된 데이터 저장 디바이스이며;
    상기 프로세서는 상기 서버로부터 사용자 데이터에 대한 요구를 수신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며;
    상기 프로세서는, 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작이 사용자 데이터에 대한 상기 수신된 요구에 기초하여 상기 데이터 저장 디바이스로부터 사용자 데이터에 액세스하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며; 그리고
    상기 프로세서는, 상기 주변 디바이스 데이터를 상기 서버에 송신하는 동작이 상기 데이터 저장 디바이스로부터 액세스되는 상기 사용자 데이터를 상기 서버에 송신하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 시스템.
  47. 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단;
    상기 통신 디바이스에 대한 고유 식별자를 상기 서버에 제공하는 수단;
    주변 디바이스를 상기 통신 디바이스에 결합시키는 수단;
    상기 통신 디바이스로부터 상기 서버에 대한 상기 주변 디바이스를 식별하는 수단;
    상기 서버의 데이터 저장소에서 상기 주변 디바이스와 상기 통신 디바이스를 연관시키는 수단;
    상기 통신 디바이스에서 상기 주변 디바이스로부터의 주변 디바이스 데이터를 수신하는 수단; 및
    상기 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 서버로 송신하는 수단을 포함하는, 통신 시스템.
  48. 제 47 항에 있어서,
    상기 주변 디바이스를 상기 통신 디바이스에 결합시키는 수단은, 상기 주변 디바이스와 상기 통신 디바이스 사이에 제 2 무선 통신 링크를 확립하는 수단을 포함하며; 그리고
    상기 통신 디바이스에서 상기 주변 디바이스로부터의 주변 디바이스 데이터를 수신하는 수단은, 상기 제 2 무선 통신 링크를 경유하여 상기 주변 디바이스 데이터를 수신하는 수단을 포함하는, 통신 시스템.
  49. 제 47 항에 있어서,
    개인용 컴퓨터로부터 인터넷을 경유하여 상기 서버에 액세스하는 수단; 및
    상기 서버로부터 상기 인터넷을 경유하여 상기 개인용 컴퓨터에서 상기 주변 디바이스 데이터를 수신하는 수단을 더 포함하는, 통신 시스템.
  50. 제 47 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 데이터 네트워크이며,
    상기 통신 디바이스는,
    상기 통신 디바이스로부터 상기 셀룰러 데이터 네트워크를 경유하여 상기 서버에 데이터 호를 발하는 수단;
    상기 통신 디바이스와 상기 서버 사이에 통신 링크가 확립될 때를 상기 통신 디바이스에 표시하는 수단;
    개인용 컴퓨터로부터 인터넷을 경유하여 상기 서버에 액세스하는 수단;
    사용자 식별자 및 상기 통신 디바이스 상에 인쇄된 코드를 상기 개인용 컴퓨터로부터 상기 인터넷을 경유하여 상기 서버에 송신하는 수단;
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는지를 상기 서버에서 결정하는 수단; 및
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는 것으로 결정되면, 상기 통신 디바이스와 상기 사용자 식별자를 연관시키는 수단을 더 포함하는, 통신 시스템.
  51. 제 50 항에 있어서,
    상기 주변 디바이스에 IPv6 어드레스를 할당하는 수단; 및
    상기 주변 디바이스 IPv6 어드레스를 웹 브라우저에 알려주는 수단을 더 포함하는, 통신 시스템.
  52. 제 50 항에 있어서,
    상기 송신된 코드가 상기 통신 디바이스에 의해 제공된 상기 고유 식별자와 일치하는 것으로 결정되면, 상기 결합된 주변 디바이스에 적절한 드라이버를 상기 개인용 컴퓨터에 다운로드하는 수단을 더 포함하는, 통신 시스템.
  53. 제 47 항에 있어서,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 원격 서버로 인터넷을 경유하여 송신하는 수단;
    상기 캡슐화된 IP 패킷들을 상기 서버에서 수신하는 수단;
    상기 캡슐화된 IP 패킷들을 언패킹하여 상기 주변 디바이스 데이터를 획득하는 수단; 및
    상기 주변 디바이스 데이터를 상기 서버에서 상기 주변 디바이스에 적합한 드라이버를 이용하여 처리하는 수단을 더 포함하는, 통신 시스템.
  54. 제 53 항에 있어서,
    상기 처리된 주변 디바이스 데이터를 상기 인터넷을 경유하여 다른 서버에 송신하는 수단을 더 포함하는, 통신 시스템.
  55. 제 47 항에 있어서,
    상기 통신 디바이스에 결합된 주변 디바이스들을 발견하는 수단; 및
    상기 서버에 대한 각각의 발견된 주변 디바이스를 식별하는 수단을 더 포함하는, 통신 시스템.
  56. 제 47 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 전화기 네트워크이며,
    상기 통신 디바이스는, 상기 서버로부터 상기 셀룰러 전화기 네트워크를 경유하여 상기 통신 디바이스에 메시지를 송신하는 수단을 더 포함하며,
    상기 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단은, 상기 셀룰러 전화기 네트워크를 경유하여 상기 메시지가 수신되는 것에 응답하여 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 수단을 포함하는, 통신 시스템.
  57. 제 56 항에 있어서,
    상기 송신된 메시지는 단문 메시지 서비스 (SMS) 메시지인, 통신 시스템.
  58. 제 57 항에 있어서,
    상기 통신 시스템은,
    상기 SMS 메시지를 상기 통신 디바이스에서 수신하는 수단; 및
    상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타내는지의 여부를 결정하는 수단을 더 포함하며,
    상기 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단은, 상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타낸다는 결정에 응답하여 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 수단을 포함하는, 통신 시스템.
  59. 제 47 항에 있어서,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 원격 서버로 인터넷을 경유하여 송신하는 수단;
    상기 캡슐화된 IP 패킷들을 상기 서버에서 수신하는 수단;
    상기 캡슐화된 IP 패킷들을 상기 서버로부터 상기 인터넷을 경유하여 상기 제 2 서버로 포워딩하는 수단;
    상기 캡슐화된 IP 패킷들을 상기 제 2 서버에서 언패킹하여 상기 주변 디바이스 데이터를 획득하는 수단; 및
    상기 주변 디바이스 데이터를 상기 제 2 서버에서 상기 주변 디바이스에 적합한 드라이버를 이용하여 처리하는 수단을 더 포함하는, 통신 시스템.
  60. 제 47 항에 있어서,
    상기 주변 디바이스가 마지막으로 액세스된 이후 소정의 시간이 만료되었는지의 여부를 결정하는 수단; 및
    상기 소정의 시간이 만료되었을 때 전원을 차단할 것을 상기 주변 디바이스에 명령하는 신호를 상기 주변 디바이스에 전송하는 수단을 더 포함하는, 통신 시스템.
  61. 제 47 항에 있어서,
    상기 주변 디바이스의 데이터에 대한 요구를 상기 서버로부터 상기 통신 디바이스로 송신하는 수단; 및
    상기 통신 디바이스에서 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스에 상기 데이터에 대한 요구를 전송하는 수단을 더 포함하는, 통신 시스템.
  62. 제 60 항에 있어서,
    상기 통신 디바이스에서 상기 주변 디바이스의 상기 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스가 전원 차단되어 있는지의 여부를 결정하는 수단; 및
    상기 주변 디바이스가 전원 차단되어 있는 것으로 결정되면 상기 주변 디바이스에 전원을 공급할 것을 명령하는 신호를 상기 주변 디바이스에 전송하는 수단을 더 포함하는, 통신 시스템.
  63. 제 47 항에 있어서,
    상기 통신 디바이스의 글로벌 위치를 상기 통신 디바이스 내의 글로벌 포지셔닝 시스템 (GPS) 센서로부터 결정하는 수단;
    상기 통신 디바이스로부터 상기 서버로 상기 GPS 위치 정보를 송신하는 수단;
    상기 GPS 위치 정보에 기초하여 상기 서버에서 사용자 아이덴티티를 결정하는 수단; 및
    상기 통신 디바이스를 상기 결정된 사용자 아이덴티티와 연관시키는 수단을 더 포함하는, 통신 시스템.
  64. 제 47 항에 있어서,
    상기 통신 디바이스에서, 상기 수신된 주변 디바이스 데이터에서 변경이 발생하였는지의 여부를 결정하는 수단;
    상기 수신된 주변 디바이스 데이터에서 변경이 발생하였다고 상기 통신 디바이스가 결정할 때 상기 제 1 무선 네트워크를 경유하여 상기 서버와의 통신 링크를 확립하는 수단; 및
    상기 변경된 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 서버로 송신하는 수단을 더 포함하는, 통신 시스템.
  65. 제 47 항에 있어서,
    상기 주변 디바이스는 가정용 시스템이며; 그리고
    상기 서버는 상기 통신 디바이스를 경유하여 상기 가정용 시스템에 제어 신호들을 제공하도록 구성되는, 통신 시스템.
  66. 제 49 항에 있어서,
    상기 주변 디바이스 데이터를 상기 개인용 컴퓨터에 제공하기 전에, 상기 개인용 컴퓨터, 상기 개인용 컴퓨터의 사용자, 상기 통신 디바이스 및 상기 주변 디바이스 중의 하나 이상을 인증하는 수단을 더 포함하는, 통신 시스템.
  67. 제 47 항에 있어서,
    상기 통신 디바이스에 의해 상기 서버에 송신된 상기 주변 디바이스 데이터를 암호화하는 수단을 더 포함하는, 통신 시스템.
  68. 제 49 항에 있어서,
    상기 개인용 컴퓨터에 송신된 상기 주변 디바이스 데이터를 암호화하는 수단을 더 포함하는, 통신 시스템.
  69. 제 47 항에 있어서,
    상기 주변 디바이스는 사용자 데이터를 저장하도록 구성된 데이터 저장 디바이스이고;
    상기 통신 디바이스는 상기 통신 디바이스에서 상기 서버로부터의 사용자 데이터에 대한 요구를 수신하는 수단을 더 포함하고;
    상기 통신 디바이스에서 주변 디바이스 데이터를 상기 주변 디바이스로부터 수신하는 수단은, 사용자 데이터에 대한 상기 수신된 요구에 기초하여, 상기 데이터 저장 디바이스로부터 사용자 데이터에 액세스하는 수단을 더 포함하고;
    상기 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 서버에 송신하는 수단은, 상기 데이터 저장 디바이스로부터 액세스된 상기 사용자 데이터를 상기 서버에 송신하는 수단을 포함하는, 통신 시스템.
  70. 통신 디바이스로서,
    프로세서;
    상기 프로세서에 결합되고 제 1 무선 네트워크를 경유하여 통신하도록 구성된 광역 무선 송수신기; 및
    상기 프로세서에 결합되고 주변 디바이스와의 데이터 통신 링크를 확립하도록 구성된 로컬 네트워크 접속 회로를 포함하며,
    상기 프로세서는,
    상기 통신 디바이스로부터 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 동작;
    상기 통신 디바이스에 대한 고유 식별자를 상기 서버에 제공하는 동작;
    유선 네트워크 접속 소켓에 접속된 주변 디바이스를 상기 서버에 식별해주는 동작;
    상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작; 및
    상기 주변 디바이스 데이터를 상기 서버에 송신하는 동작을 포함하는 동작들을 수행하는 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  71. 제 70 항에 있어서,
    상기 로컬 네트워크 접속 회로는 상기 프로세서와 상기 주변 디바이스 사이에 제 2 무선 통신 링크를 확립하도록 구성된 제 2 무선 송수신기를 포함하며,
    상기 프로세서는, 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작이 상기 제 2 무선 통신 링크를 경유하여 상기 주변 디바이스 데이터를 수신하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  72. 제 70 항에 있어서,
    상기 로컬 네트워크 접속 회로는 범용 직렬 버스 (USB) 포트, 파이어와이어 포트, 및 이더넷 소켓으로 구성된 그룹으로부터 선택된 유선 네트워크 접속 소켓을 포함하는, 통신 디바이스.
  73. 제 72 항에 있어서,
    상기 프로세서에 결합되고 그리고 하나 이상의 주변 디바이스들과의 로컬 영역 제 2 무선 통신 링크를 확립하도록 구성된 로컬 영역 무선 송수신기를 더 포함하는, 통신 디바이스.
  74. 제 70 항에 있어서,
    상기 통신 디바이스의 하우징 상에 위치되고 상기 프로세서에 결합된 표시자 (indicator) 를 더 포함하며,
    상기 광역 무선 송수신기는 셀룰러 데이터 네트워크와의 제 1 무선 통신 링크를 확립하도록 구성되며, 그리고
    상기 프로세서는
    상기 셀룰러 데이터 네트워크를 경유하여 상기 서버에 데이터 호를 발하는 동작; 및
    통신 링크가 상기 통신 디바이스와 상기 서버 사이에서 확립될 때 상기 표시자를 활성화시키는 동작을 더 포함하는 동작들을 수행하는 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  75. 제 70 항에 있어서,
    상기 프로세서는,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 서버로 인터넷을 경유하여 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  76. 제 70 항에 있어서,
    상기 프로세서에 결합되고 복수의 주변 디바이스들과의 데이터 통신 링크들을 확립하도록 구성된 복수의 유선 네트워크 접속 소켓들을 더 포함하며,
    상기 프로세서는,
    상기 통신 디바이스에 결합된 주변 디바이스들을 발견하는 동작; 및
    각각의 발견된 주변 디바이스를 상기 서버에 식별해주는 동작을 더 포함하는 동작들을 수행하는 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  77. 제 70 항에 있어서,
    상기 제 1 무선 네트워크는 셀룰러 전화기 네트워크이며;
    상기 프로세서는 상기 서버로부터 상기 셀룰러 전화기 네트워크를 경유하여 상기 통신 디바이스에 메시지를 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며; 그리고
    상기 프로세서는, 상기 통신 디바이스로부터 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 동작이 상기 셀룰러 전화기 네트워크를 경유하여 상기 메시지를 수신하는 것에 응답하여 달성되도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  78. 제 77 항에 있어서,
    상기 프로세서는,
    SMS 메시지를 수신하는 동작; 및
    상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타내는지의 여부를 결정하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며,
    상기 프로세서는, 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 동작이 상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타낸다는 결정에 응답하여 달성되도록 하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  79. 제 70 항에 있어서,
    상기 프로세서는,
    상기 주변 디바이스가 마지막으로 액세스된 이후 소정의 시간이 만료되었는지의 여부를 결정하는 동작; 및
    상기 소정의 시간이 만료되었을 때 전원을 차단할 것을 상기 주변 디바이스에 명령하는 신호를 상기 주변 디바이스에 전송하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  80. 제 70 항에 있어서,
    상기 프로세서는,
    상기 서버로부터 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 동작; 및
    상기 서버로부터 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스에 상기 데이터에 대한 요구를 전송하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  81. 제 80 항에 있어서,
    상기 프로세서는,
    상기 주변 디바이스의 상기 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스가 전원 차단되어있는지의 여부를 결정하는 동작; 및
    상기 주변 디바이스가 전원 차단되어 있는 것으로 결정되면 상기 주변 디바이스에 전원을 공급할 것을 명령하는 신호를 상기 주변 디바이스에 전송하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  82. 제 70 항에 있어서,
    상기 프로세서는,
    상기 통신 디바이스의 글로벌 위치를 상기 통신 디바이스 내의 글로벌 포지셔닝 시스템 (GPS) 센서로부터 결정하는 동작; 및
    상기 GPS 위치 정보를 상기 통신 디바이스로부터 상기 서버로 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  83. 제 70 항에 있어서,
    상기 프로세서는,
    수신된 주변 디바이스 데이터에서 변경이 발생하였는지를 상기 통신 디바이스에서 결정하는 동작;
    상기 수신된 주변 디바이스 데이터에서 변경이 발생하였다고 상기 통신 디바이스가 결정할 때 상기 제 1 무선 네트워크를 경유하여 상기 서버와의 통신 링크를 확립하는 동작; 및
    상기 변경된 주변 디바이스 데이터를 상기 서버에 송신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  84. 제 70 항에 있어서,
    상기 프로세서는, 상기 통신 디바이스 및 상기 주변 디바이스 중의 하나 또는 양쪽 모두를 상기 서버에 대해 인증하는 것을 가능하게 하는 인증 정보를 상기 서버에 제공하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  85. 제 70 항에 있어서,
    상기 프로세서는,
    상기 서버에 송신되는 상기 주변 디바이스 데이터를 암호화하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  86. 제 70 항에 있어서,
    상기 주변 디바이스는 사용자 데이터를 저장하도록 구성된 데이터 저장 디바이스이며;
    상기 프로세서는, 상기 서버로부터의 사용자 데이터에 대한 요구를 상기 통신 디바이스에서 수신하는 동작을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며;
    상기 프로세서는, 상기 통신 디바이스에서 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작이 사용자 데이터에 대한 상기 수신된 요구에 기초하여 상기 데이터 저장 디바이스로부터 사용자 데이터에 액세스하는 단계를 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되며; 그리고
    상기 프로세서는, 상기 통신 디바이스로부터 상기 주변 디바이스 데이터를 상기 서버에 송신하는 동작이 상기 데이터 저장 디바이스로부터 액세스되는 상기 사용자 데이터를 상기 서버에 송신하는 동작을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 통신 디바이스.
  87. 통신 디바이스로서,
    제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단;
    상기 통신 디바이스에 대한 고유 식별자를 서버에 제공하는 수단;
    주변 디바이스를 상기 통신 디바이스에 결합시키는 수단;
    상기 주변 디바이스를 상기 서버에 식별해주는 수단;
    상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 수단; 및
    상기 주변 디바이스 데이터를 상기 서버에 송신하는 수단을 포함하는, 통신 디바이스.
  88. 제 87 항에 있어서,
    상기 주변 디바이스를 상기 통신 디바이스에 결합시키는 수단은, 상기 주변 디바이스와 상기 통신 디바이스 사이에 제 2 무선 통신 링크를 확립하는 수단을 포함하고;
    상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 수단은, 상기 주변 디바이스 데이터를 상기 제 2 무선 통신 링크를 경유하여 수신하는 수단을 포함하는, 통신 디바이스.
  89. 제 87 항에 있어서,
    상기 통신 디바이스 및 하나 이상의 주변 디바이스들 사이에 데이터를 무선 통신하는 수단을 더 포함하는, 통신 디바이스.
  90. 제 87 항에 있어서,
    상기 제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단은, 셀룰러 데이터 네트워크를 경유하여 상기 서버에 액세스하는 수단을 포함하며,
    상기 통신 디바이스는,
    상기 셀룰러 데이터 네트워크를 경유하여 상기 서버에 데이터 호를 발하는 수단; 및
    통신 링크가 상기 통신 디바이스 및 상기 서버 사이에서 확립될 때를 표시하는 수단을 더 포함하는, 통신 디바이스.
  91. 제 87 항에 있어서,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 인터넷을 경유하여 상기 서버에 송신하는 수단을 더 포함하는, 통신 디바이스.
  92. 제 87 항에 있어서,
    복수의 주변 디바이스들과의 데이터 통신 링크들을 확립하는 수단;
    상기 통신 디바이스에 결합된 주변 디바이스들을 발견하는 수단; 및
    각각의 발견된 주변 디바이스를 상기 서버에 식별해주는 수단을 더 포함하는, 통신 디바이스.
  93. 제 87 항에 있어서,
    상기 제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단은, 셀룰러 데이터 네트워크를 경유하여 서버에 액세스하는 수단을 포함하며,
    상기 통신 디바이스는 상기 서버로부터 상기 셀룰러 전화기 네트워크를 경유하여 메시지를 수신하는 수단을 더 포함하며; 그리고
    상기 통신 디바이스로부터 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 수단은, 상기 셀룰러 전화기 네트워크를 경유하여 상기 메시지가 수신되는 것에 응답하여 상기 통신 디바이스로부터 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 수단을 포함하는, 통신 디바이스.
  94. 제 93 항에 있어서,
    상기 송신된 메시지는 단문 메시지 서비스 (SMS) 메시지인, 통신 디바이스.
  95. 제 94 항에 있어서,
    상기 통신 디바이스는,
    상기 SMS 메시지를 수신하는 수단; 및
    상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타내는지의 여부를 결정하는 수단을 더 포함하며,
    상기 제 1 무선 네트워크를 경유하여 서버에 액세스하는 수단은, 상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타낸다는 결정에 응답하여 상기 제 1 무선 네트워크를 경유하여 상기 서버에 액세스하는 수단을 포함하는, 통신 디바이스.
  96. 제 87 항에 있어서,
    상기 주변 디바이스가 마지막으로 액세스된 이후 소정의 시간이 만료되었는지의 여부를 결정하는 수단; 및
    상기 소정의 시간이 만료되었을 때 전원을 차단할 것을 상기 주변 디바이스에 명령하는 신호를 상기 주변 디바이스에 전송하는 수단을 더 포함하는, 통신 디바이스.
  97. 제 87 항에 있어서,
    상기 서버로부터 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 수단; 및
    상기 서버로부터 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스에 상기 데이터에 대한 요구를 전송하는 수단을 더 포함하는, 통신 디바이스.
  98. 제 97 항에 있어서,
    상기 서버로부터 상기 주변 디바이스의 상기 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스가 전원 차단되어 있는지의 여부를 결정하는 수단; 및
    상기 주변 디바이스가 전원 차단되어 있는 것으로 결정되면 상기 주변 디바이스에 전원을 공급할 것을 명령하는 신호를 상기 주변 디바이스에 전송하는 수단을 더 포함하는, 통신 디바이스.
  99. 제 87 항에 있어서,
    상기 통신 디바이스의 글로벌 포지셔닝 시스템 (GPS) 위치를 결정하는 수단; 및
    상기 GPS 위치 정보를 상기 서버에 송신하는 수단을 더 포함하는, 통신 디바이스.
  100. 제 87 항에 있어서,
    수신된 주변 디바이스 데이터에서 변경이 발생하였는지의 여부를 결정하는 수단;
    상기 수신된 주변 디바이스 데이터에서 변경이 발생하였다고 결정될 때 상기 제 1 무선 네트워크를 경유하여 상기 서버와의 통신 링크를 확립하는 수단; 및
    상기 변경된 주변 디바이스 데이터를 상기 서버에 송신하는 수단을 더 포함하는, 통신 디바이스.
  101. 제 87 항에 있어서,
    상기 통신 디바이스 및 상기 주변 디바이스 중의 하나 또는 양쪽 모두를 상기 서버에 대해 인증하는 것을 가능하게 하는 인증 정보를 상기 서버에 제공하는 수단을 더 포함하는, 통신 디바이스.
  102. 제 87 항에 있어서,
    상기 통신 디바이스에 의해 상기 서버에 송신되는 상기 주변 디바이스 데이터를 암호화하는 수단을 더 포함하는, 통신 디바이스.
  103. 제 87 항에 있어서,
    상기 주변 디바이스는 사용자 데이터를 저장하도록 구성된 데이터 저장 디바이스이고;
    상기 통신 디바이스는 상기 서버로부터의 사용자 데이터에 대한 요구를 상기 통신 디바이스에서 수신하는 수단을 포함하고;
    상기 통신 디바이스에서 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 수단은, 사용자 데이터에 대한 상기 수신된 요구에 기초하여, 상기 데이터 저장 디바이스로부터 사용자 데이터를 액세스하는 수단을 포함하고;
    상기 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 서버에 송신하는 수단은, 상기 데이터 저장 디바이스로부터 액세스되는 상기 사용자 데이터를 상기 서버에 송신하는 수단을 포함하는, 통신 디바이스.
  104. 프로세서 실행가능 명령들을 저장하고 있는 비일시적 프로세서 판독가능 저장 매체로서, 상기 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    통신 디바이스로부터 제 1 무선 네트워크를 경유하여 서버에 액세스하는 동작;
    상기 통신 디바이스에 대한 고유 식별자를 상기 서버에 제공하는 동작;
    상기 통신 디바이스에 접속된 주변 디바이스를 상기 서버에 식별해주는 동작;
    상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작; 및
    상기 주변 디바이스 데이터를 상기 서버에 송신하는 동작을 포함하는 동작들을 수행하도록 하는, 비일시적 프로세서 판독가능 저장 매체.
  105. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    범용 직렬 버스 (USB) 포트, 파이어와이어 포트, 및 이더넷 소켓으로 구성된 그룹으로부터 선택된 커넥션을 경유하여 주변 디바이스 데이터가 수신되도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  106. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    주변 디바이스 데이터가 제 2 무선 네트워크를 경유하여 수신되도록 상기 프로세서와 상기 주변 디바이스 사이에 로컬 영역 무선 송수신기를 통해 상기 제 2 무선 네트워크를 확립하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  107. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 셀룰러 데이터 네트워크를 경유하여 상기 서버에 데이터 호를 발하는 동작; 및
    통신 링크가 상기 통신 디바이스 및 상기 서버 사이에서 확립될 때 상기 표시자를 활성화시키는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  108. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 주변 디바이스 데이터를 캡슐화된 인터넷 프로토콜 (IP) 패킷들로서 상기 통신 디바이스로부터 상기 원격 서버로 인터넷을 경유하여 송신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  109. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 통신 디바이스에 결합된 주변 디바이스들을 발견하는 동작; 및
    각각의 발견된 주변 디바이스를 상기 서버에 식별해주는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  110. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 서버로부터 상기 셀룰러 전화기 네트워크를 경유하여 상기 통신 디바이스에 메시지를 송신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되고;
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 통신 디바이스로부터 제 1 무선 네트워크를 경유하여 서버에 액세스하는 동작이, 상기 셀룰러 전화기 네트워크를 경유하여 상기 메시지를 수신하는 것에 응답하여 달성되도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  111. 제 109 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    SMS 메시지를 수신하는 동작; 및
    상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타내는지의 여부를 결정하는 동작을 더 포함하는 동작들을 수행하게 하고,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 제 1 무선 네트워크를 경유하여 서버에 액세스하는 동작이 상기 통신 디바이스가 활성화되어야 함을 상기 SMS 메시지가 나타낸다는 결정에 응답하여 달성되도록 하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  112. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 주변 디바이스가 마지막으로 액세스된 이후 소정의 시간이 만료되었는지의 여부를 결정하는 동작; 및
    상기 소정의 시간이 만료되었을 때 전원을 차단할 것을 상기 주변 디바이스에 명령하는 신호를 상기 주변 디바이스에 전송하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  113. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 서버로부터 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 동작; 및
    상기 서버로부터 상기 주변 디바이스의 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스에 상기 데이터에 대한 요구를 전송하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  114. 제 113 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 주변 디바이스의 상기 데이터에 대한 요구를 수신하는 것에 응답하여 상기 주변 디바이스가 전원 차단되어있는지의 여부를 결정하는 동작; 및
    상기 주변 디바이스가 전원 차단되어 있는 것으로 결정되면 상기 주변 디바이스에 전원을 공급할 것을 명령하는 신호를 상기 주변 디바이스에 전송하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  115. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    상기 통신 디바이스의 글로벌 위치를 상기 통신 디바이스 내의 글로벌 포지셔닝 시스템 (GPS) 센서로부터 결정하는 동작; 및
    상기 GPS 위치 정보를 상기 통신 디바이스로부터 상기 서버로 송신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  116. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금,
    수신된 주변 디바이스 데이터에서 변경이 발생하였는지의 여부를 상기 통신 디바이스에서 결정하는 동작;
    상기 수신된 주변 디바이스 데이터에서 변경이 발생한 것으로 상기 통신 디바이스가 결정할 때 상기 서버와는 상기 제 1 무선 네트워크를 경유하여 통신 링크를 확립하는 동작; 및
    상기 변경된 주변 디바이스 데이터를 상기 서버에 송신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  117. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 통신 디바이스 및 상기 주변 디바이스 중의 하나 또는 양쪽 모두를 상기 서버에 대해 인증하는 것을 가능하게 하는 인증 정보를 상기 서버에 제공하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  118. 제 104 항에 있어서,
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 서버에 송신되는 주변 디바이스 데이터를 암호화하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
  119. 제 104 항에 있어서,
    상기 주변 디바이스는 사용자 데이터를 저장하도록 구성된 데이터 저장 디바이스이고;
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 서버로부터 사용자 데이터에 대한 요구를 상기 통신 디바이스에서 수신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되고;
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 통신 디바이스에서 상기 주변 디바이스로부터 주변 디바이스 데이터를 수신하는 동작이, 사용자 데이터에 대한 상기 수신된 요구에 기초하여 상기 데이터 저장 디바이스로부터 사용자 데이터를 액세스하는 동작을 포함하는 동작들을 수행하게 하도록 구성되고;
    상기 저장된 프로세서 실행가능 명령들은, 통신 디바이스의 프로세서로 하여금, 상기 주변 디바이스 데이터를 상기 통신 디바이스로부터 상기 서버에 송신하는 동작이, 상기 데이터 저장 디바이스로부터 액세스되는 상기 사용자 데이터를 상기 서버에 송신하는 동작을 포함하는 동작들을 수행하게 하도록 구성되는, 비일시적 프로세서 판독가능 저장 매체.
KR1020127015812A 2009-11-19 2010-11-19 가상 주변기기 허브 디바이스 및 시스템 KR101390636B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US26265309P 2009-11-19 2009-11-19
US61/262,653 2009-11-19
US12/948,739 2010-11-17
US12/948,739 US8937930B2 (en) 2009-11-19 2010-11-17 Virtual peripheral hub device and system
PCT/US2010/057522 WO2011063300A1 (en) 2009-11-19 2010-11-19 Virtual peripheral hub device and system

Publications (2)

Publication Number Publication Date
KR20120101458A true KR20120101458A (ko) 2012-09-13
KR101390636B1 KR101390636B1 (ko) 2014-04-29

Family

ID=43808343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127015812A KR101390636B1 (ko) 2009-11-19 2010-11-19 가상 주변기기 허브 디바이스 및 시스템

Country Status (6)

Country Link
US (1) US8937930B2 (ko)
EP (1) EP2502145A1 (ko)
JP (2) JP5814251B2 (ko)
KR (1) KR101390636B1 (ko)
CN (1) CN102648454B (ko)
WO (1) WO2011063300A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170063701A (ko) * 2014-09-30 2017-06-08 케무리 리미티드 에너지 관리 캡슐
KR20230003209A (ko) * 2020-06-03 2023-01-05 미쓰비시 덴키 빌딩 솔루션즈 가부시키가이샤 통신중계장치 및 이의 접속설정방법

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10187916B2 (en) * 2010-01-08 2019-01-22 United States Foundation For Inspiration And Recognition Of Science And Technology Wireless adapter
US11164672B2 (en) 2010-01-22 2021-11-02 Deka Products Limited Partnership System and apparatus for electronic patient care
US10453157B2 (en) * 2010-01-22 2019-10-22 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
US11244745B2 (en) 2010-01-22 2022-02-08 Deka Products Limited Partnership Computer-implemented method, system, and apparatus for electronic patient care
US11881307B2 (en) 2012-05-24 2024-01-23 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
US11210611B2 (en) 2011-12-21 2021-12-28 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
US20110313789A1 (en) 2010-01-22 2011-12-22 Deka Products Limited Partnership Electronic patient monitoring system
US10911515B2 (en) 2012-05-24 2021-02-02 Deka Products Limited Partnership System, method, and apparatus for electronic patient care
US10242159B2 (en) 2010-01-22 2019-03-26 Deka Products Limited Partnership System and apparatus for electronic patient care
US8468007B1 (en) * 2010-08-13 2013-06-18 Google Inc. Emulating a peripheral mass storage device with a portable device
KR101705596B1 (ko) * 2010-09-14 2017-02-22 삼성전자 주식회사 Usb디바이스가 연결되는 서버 디바이스 및 디바이스 공유방법
US9370034B2 (en) * 2010-09-21 2016-06-14 Cisco Technology, Inc. Method and apparatus for a Bluetooth-enabled Ethernet interface
JP2012109944A (ja) * 2010-10-29 2012-06-07 Buffalo Inc 無線lanシステム、通信装置、設定情報の共有方法
US20120182939A1 (en) * 2011-01-14 2012-07-19 Qualcomm Incorporated Telehealth wireless communication hub and service platform system
JP5664273B2 (ja) * 2011-01-21 2015-02-04 ソニー株式会社 無線通信装置、プログラム、および無線通信システム
US20150262021A1 (en) * 2011-01-28 2015-09-17 Peter Som De Cerff Systems and methods for automating customer premises equipment registration
EP3429163B1 (en) * 2011-02-10 2020-08-19 Trilliant Holdings, Inc. Device and method for facilitating secure communications over a cellular network
CN103620612B (zh) * 2011-07-12 2016-04-13 惠普发展公司,有限责任合伙企业 包括端口和来宾域的计算设备
SG188690A1 (en) * 2011-09-27 2013-04-30 Dominopos Pte Ltd System and method for running applications from computer devices
US9247004B2 (en) * 2011-10-25 2016-01-26 Vital Connect, Inc. System and method for reliable and scalable health monitoring
US9071740B1 (en) 2011-10-28 2015-06-30 Google Inc. Modular camera system
DE102011087278A1 (de) * 2011-11-29 2013-05-29 BSH Bosch und Siemens Hausgeräte GmbH System für ein Hausgeräte-Energiemanagement unter Berücksichtigung eines evolutionären Mobilfunkstandards sowie zugehöriges Verfahren
CN104272868A (zh) * 2011-12-05 2015-01-07 高通股份有限公司 远程医疗无线通信集线器设备和服务平台系统
US9197686B1 (en) 2012-01-06 2015-11-24 Google Inc. Backfill of video stream
US9537968B1 (en) * 2012-01-06 2017-01-03 Google Inc. Communication of socket protocol based data over a storage protocol based interface
WO2013131234A1 (en) * 2012-03-05 2013-09-12 Renesas Mobile Corporation Methods, apparatuses, and computer-readable storage media for relaying traffic in d2d communications
US8897804B2 (en) 2012-05-01 2014-11-25 Adtran, Inc. System and method for providing customer support using a location-aware portable device
US8866583B2 (en) 2012-06-12 2014-10-21 Jeffrey Ordaz Garage door system and method
US10152704B2 (en) * 2012-06-26 2018-12-11 Tempus Technologies, Inc. Cloud-based transaction processing
FI125254B (en) * 2012-07-17 2015-08-14 Arm Finland Oy Method and device in a network service system
CN102819500B (zh) * 2012-07-20 2016-01-20 腾讯科技(深圳)有限公司 一种创建外部设备控制界面的方法及装置
US9229750B1 (en) 2012-08-17 2016-01-05 Google Inc. Virtual machine networking
FR2994781A1 (fr) * 2012-08-21 2014-02-28 France Telecom Acces a distance a des contenus a partir d'un client leger
CN102843315A (zh) * 2012-08-31 2012-12-26 鸿富锦精密工业(深圳)有限公司 智能家庭网络系统及其智能网关
US10083548B2 (en) * 2012-09-07 2018-09-25 Cellco Partnership Appliance diagnostic information via a wireless communication link
US10216957B2 (en) 2012-11-26 2019-02-26 Elwha Llc Methods and systems for managing data and/or services for devices
US10091325B2 (en) 2012-10-30 2018-10-02 Elwha Llc Methods and systems for data services
US10069703B2 (en) 2012-10-31 2018-09-04 Elwha Llc Methods and systems for monitoring and/or managing device data
US9088450B2 (en) 2012-10-31 2015-07-21 Elwha Llc Methods and systems for data services
WO2014092441A1 (en) * 2012-12-13 2014-06-19 Samsung Electronics Co., Ltd. Device control method for registering device information of peripheral device, and device and system thereof
RU2015129763A (ru) 2012-12-21 2017-01-26 Дека Продактс Лимитед Партнершип Система, способ и аппарат для электронного ухода за пациентом
US9686460B2 (en) 2012-12-27 2017-06-20 Intel Corporation Enabling a metadata storage subsystem
US9343903B2 (en) 2013-03-14 2016-05-17 Mark Hauenstein Methods and systems architecture to virtualize energy functions and processes into a cloud based model
CN105144077A (zh) * 2013-03-15 2015-12-09 明导公司 云服务平台
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
CN103648053A (zh) * 2013-12-23 2014-03-19 乐视致新电子科技(天津)有限公司 在智能电视中连接远程存储设备的方法和装置
KR20150079106A (ko) 2013-12-31 2015-07-08 삼성전자주식회사 디스플레이 장치, 단말 장치 및 그 제어 방법
US9509934B2 (en) * 2014-03-07 2016-11-29 Bby Solutions, Inc. Device control interface cable and associated control systems
TWM486082U (zh) * 2014-03-07 2014-09-11 Avision Inc 週邊裝置管理系統、週邊裝置使用系統及其共享系統
US20150281409A1 (en) * 2014-03-25 2015-10-01 Rupesh Tatiya Using usb over ip to share a non-usb sensor with another device
US10098164B2 (en) * 2014-07-17 2018-10-09 Benu Networks, Inc. System and methods for providing virtualized cloud peering emulation services
US9881422B2 (en) * 2014-12-04 2018-01-30 Htc Corporation Virtual reality system and method for controlling operation modes of virtual reality system
US9774507B2 (en) 2015-01-06 2017-09-26 Afero, Inc. System and method for collecting and utilizing user behavior data within an IoT system
US9933768B2 (en) 2015-01-06 2018-04-03 Afero, Inc. System and method for implementing internet of things (IOT) remote control applications
US9774497B2 (en) 2015-01-06 2017-09-26 Afero, Inc. System and method for implementing internet of things (IOT) remote control applications
US9860681B2 (en) * 2015-01-06 2018-01-02 Afero, Inc. System and method for selecting a cell carrier to connect an IOT hub
US10816944B2 (en) 2015-01-06 2020-10-27 Afero, Inc. System and method for using data collected from internet-of-things (IoT) sensors to disable IoT-enabled home devices
US9729340B2 (en) 2015-01-06 2017-08-08 Afero, Inc. System and method for notifying a user of conditions associated with an internet-of-things (IoT) hub
US10453461B1 (en) * 2015-03-17 2019-10-22 Amazon Technologies, Inc. Remote execution of secondary-device drivers
US9544485B2 (en) 2015-05-27 2017-01-10 Google Inc. Multi-mode LED illumination system
US9613423B2 (en) 2015-06-12 2017-04-04 Google Inc. Using a depth map of a monitored scene to identify floors, walls, and ceilings
US9626849B2 (en) 2015-06-12 2017-04-18 Google Inc. Using scene information from a security camera to reduce false security alerts
US9886620B2 (en) 2015-06-12 2018-02-06 Google Llc Using a scene illuminating infrared emitter array in a video monitoring camera to estimate the position of the camera
US9454820B1 (en) 2015-06-12 2016-09-27 Google Inc. Using a scene illuminating infrared emitter array in a video monitoring camera for depth determination
US9489745B1 (en) 2015-06-12 2016-11-08 Google Inc. Using depth maps of a scene to identify movement of a video camera
US9386230B1 (en) 2015-06-12 2016-07-05 Google Inc. Day and night detection based on one or more of illuminant detection, lux level detection, and tiling
US9235899B1 (en) 2015-06-12 2016-01-12 Google Inc. Simulating an infrared emitter array in a video monitoring camera to construct a lookup table for depth determination
US9554063B2 (en) 2015-06-12 2017-01-24 Google Inc. Using infrared images of a monitored scene to identify windows
US10655951B1 (en) 2015-06-25 2020-05-19 Amazon Technologies, Inc. Determining relative positions of user devices
CN108141395B (zh) * 2015-06-30 2021-04-16 K4连接股份有限公司 包括云和家庭消息队列同步的家庭自动化系统及相关方法
US10365620B1 (en) 2015-06-30 2019-07-30 Amazon Technologies, Inc. Interoperability of secondary-device hubs
US9628181B1 (en) 2015-07-09 2017-04-18 Adtran, Inc. Systems and methods for provisioning an optical network unit
US9986040B2 (en) 2015-07-21 2018-05-29 Amadeus S.A.S. Communications management system with a separate peripherals server
US9686279B2 (en) 2015-09-30 2017-06-20 Konica Minolta Laboratory U.S.A., Inc. Method and system for providing GPS location embedded in an IPv6 address using neighbor discovery
US10135954B2 (en) * 2015-12-21 2018-11-20 Intel Corporation Access dock device content on a remote client device wirelessly
KR102407127B1 (ko) 2016-01-05 2022-06-10 삼성전자주식회사 디스플레이 시스템, 디스플레이 장치 및 그의 제어 방법
US10135618B2 (en) * 2016-03-25 2018-11-20 Synergex Group (corp.) Method for using dynamic Public Key Infrastructure to send and receive encrypted messages between software applications
US10411879B2 (en) 2016-03-25 2019-09-10 Synergex Group Methods, systems, and media for using dynamic public key infrastructure to send and receive encrypted messages
US10181066B2 (en) * 2016-06-06 2019-01-15 Paypal, Inc. Smart harbor device for intelligent updating and selection for use of transaction processing terminal devices
CN106125709A (zh) * 2016-08-31 2016-11-16 上海青橙实业有限公司 一种智能插座及其智能家居系统
US9779405B1 (en) * 2016-09-26 2017-10-03 Stripe, Inc. Systems and methods for authenticating a user commerce account associated with a merchant of a commerce platform
DE102016219134A1 (de) * 2016-10-04 2018-04-05 Volkswagen Aktiengesellschaft Verfahren zum Zugriff auf ein fahrzeugexternes elektronisches Gerät
US10180615B2 (en) 2016-10-31 2019-01-15 Google Llc Electrochromic filtering in a camera
IT201700006600A1 (it) * 2017-01-23 2018-07-23 Riccardo Maritan Sistema e metodo per la creazione e gestionedell'interfaccia interattiva con i modelli solidi 3d
DE102017208503A1 (de) * 2017-05-19 2018-11-22 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Computerlesbares Medium, System und Fahrzeug umfassend das System zum Bereitstellen eines Datensatzes eines Fahrzeugs an einen Dritten
TWI699104B (zh) * 2017-08-30 2020-07-11 威摩科技股份有限公司 連網裝置及其控制系統與方法
US11943103B2 (en) * 2018-09-13 2024-03-26 Sony Corporation Network system, network management apparatus, and network management method executing setting of a path and parameters
US11025614B2 (en) 2018-10-17 2021-06-01 Synergex Group Systems, methods, and media for managing user credentials
US10746429B2 (en) * 2018-10-25 2020-08-18 Consumer 2.0 Inc. System and method for controlling temperature in a building
JP7250148B2 (ja) * 2019-03-13 2023-03-31 ヒタチ ヴァンタラ エルエルシー モバイルデバイスを介して外部デバイスを構成及び試験するためのシステム及び方法
US11088861B2 (en) 2019-08-16 2021-08-10 Logitech Europe S.A. Video conference system
US11095467B2 (en) 2019-08-16 2021-08-17 Logitech Europe S.A. Video conference system
US11038704B2 (en) * 2019-08-16 2021-06-15 Logitech Europe S.A. Video conference system
US11258982B2 (en) 2019-08-16 2022-02-22 Logitech Europe S.A. Video conference system
WO2021046704A1 (en) 2019-09-10 2021-03-18 Citrix Systems, Inc. Perhipheral device sharing over peer-to-peer connection
US11429395B2 (en) * 2020-01-02 2022-08-30 Jpmorgan Chase Bank, N.A. Peripheral device support in thin client environments
JP7111125B2 (ja) * 2020-04-15 2022-08-02 日本電気株式会社 通信処理システム、通信処理装置およびその制御方法と制御プログラム
WO2022251991A1 (en) * 2021-05-31 2022-12-08 Citrix Systems, Inc. Resource recommendation system
CN115550313A (zh) * 2021-06-29 2022-12-30 中兴通讯股份有限公司 外接设备的通信方法、装置、电子设备和存储介质
CN116015698A (zh) * 2021-10-21 2023-04-25 伊姆西Ip控股有限责任公司 用于外围设备认证的方法、设备和计算机程序产品

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0967590A1 (en) 1998-06-25 1999-12-29 Hewlett-Packard Company Optical display device using LEDs and its operating method
EP1006506A1 (en) 1998-12-03 2000-06-07 Hewlett-Packard Company Optical vehicle display
US6418535B1 (en) * 1999-04-28 2002-07-09 International Business Machines Corporation Bi-level power saver method for portable or laptop computer
US6301484B1 (en) 1999-08-31 2001-10-09 Qualcomm Incorporated Method and apparatus for remote activation of wireless device features using short message services (SMS)
JP2002125062A (ja) 2000-08-04 2002-04-26 Matsushita Electric Ind Co Ltd 生体情報管理システム
AU2002211822A1 (en) 2000-09-29 2002-04-08 Lifelink, Inc. System and method for wireless communication of sensed data to a central server
JP2002123493A (ja) 2000-10-16 2002-04-26 Sharp Corp 情報提供システム及びそのプログラムを記憶した記憶媒体
US20030093503A1 (en) * 2001-09-05 2003-05-15 Olympus Optical Co., Ltd. System for controling medical instruments
JP2003196128A (ja) 2001-12-26 2003-07-11 Hitachi Ltd 携帯通信端末、外部記憶装置及び情報通信システム
JP3856221B2 (ja) 2002-05-15 2006-12-13 シャープ株式会社 携帯電話機
US7618345B2 (en) 2002-07-26 2009-11-17 Unisen, Inc. Exercise equipment with universal PDA cradle
US20040064453A1 (en) * 2002-09-27 2004-04-01 Antonio Ruiz Large-scale hierarchical identification and verification for secured ingress and egress using biometrics
EP1411751B1 (en) 2002-10-14 2012-05-30 Philips Lumileds Lighting Company LLC Control circuit for LEDs
US20040073411A1 (en) 2002-10-15 2004-04-15 The Boeing Company System, method and computer program product for maintaining a structure
US7765280B2 (en) * 2002-11-06 2010-07-27 Scientific-Atlanta, Llc Downloadable remotely stored device drivers for communication with set-top box peripherals
JP2004208101A (ja) 2002-12-26 2004-07-22 Hitachi Ltd ゲートウェイ及びそれにおける通信方法
JP4092239B2 (ja) 2003-03-31 2008-05-28 株式会社エヌ・ティ・ティ・ドコモ デバイス相互接続装置、相互接続方法、通信システム及び通信制御方法
EP1614040A4 (en) 2003-04-08 2009-03-11 Medic4All Ag PORTABLE WIRELESS GATEWAY FOR MEDICAL REMOTE EXAMINATIONS
JP4163079B2 (ja) 2003-09-12 2008-10-08 ローム株式会社 発光制御回路
KR101198246B1 (ko) 2003-11-17 2012-11-07 텔레콤 이탈리아 소시에떼 퍼 아찌오니 서비스 품질 모니터링 구조, 관련 방법, 네트워크 및컴퓨터 프로그램 제품
US7164907B2 (en) 2004-01-13 2007-01-16 Qualcomm Inc. Automated over the air plug-in device recognition and software driver download
CA2563834C (en) * 2004-04-23 2016-08-16 Nielsen Media Research, Inc. Methods and apparatus to maintain audience privacy while determining viewing of video-on-demand programs
US7396143B2 (en) 2004-04-29 2008-07-08 Sloanled, Inc. RGB spa light using light emitting diodes
EP1753180B1 (en) 2004-05-20 2018-12-26 Freebit Co., Ltd. Server for routing a connection to a client device
US20050269580A1 (en) 2004-06-04 2005-12-08 D Angelo Kevin P Single wire serial protocol for RGB LED drivers
JP2006005789A (ja) 2004-06-18 2006-01-05 Ntt Docomo Inc 通信制御装置及び通信方法
US20060089542A1 (en) 2004-10-25 2006-04-27 Safe And Sound Solutions, Inc. Mobile patient monitoring system with automatic data alerts
DE602004015617D1 (de) 2004-11-23 2008-09-18 Dialog Semiconductor Gmbh Kombinierter exponentieller und linearer RGB LED-Stromsenkender Digital-Analaog-Wandler
US7644211B2 (en) * 2004-12-07 2010-01-05 Cisco Technology, Inc. Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers
JP2006203306A (ja) 2005-01-18 2006-08-03 Mitsubishi Electric Corp 家電遠隔制御システム
US20070005867A1 (en) 2005-06-30 2007-01-04 Nimrod Diamant Virtual peripheral device interface and protocol for use in peripheral device redirection communication
US20070011374A1 (en) 2005-07-08 2007-01-11 Kumar Sasi K Method and system for universal serial bus (USB) re-direct (USB-R) over a network
CN1976310B (zh) 2005-07-08 2014-04-16 美国博通公司 在网络中通过总线接口进行通信的方法
JP4298716B2 (ja) 2006-04-07 2009-07-22 三菱電機株式会社 通信制御システム
JP2007334581A (ja) 2006-06-14 2007-12-27 Hitachi Software Eng Co Ltd 個人認証方法及びシステム
JP4890989B2 (ja) 2006-07-27 2012-03-07 サンデン株式会社 通信システム及びネットワークルータ
US8126728B2 (en) 2006-10-24 2012-02-28 Medapps, Inc. Systems and methods for processing and transmittal of medical data through an intermediary device
TWI432095B (zh) 2006-11-03 2014-03-21 Clipsal Australia Pty Ltd 發光二極體驅動器及方法
JP2008139916A (ja) * 2006-11-30 2008-06-19 Canon Inc 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
EP2118759B1 (en) * 2006-12-22 2015-07-29 Qualcomm Incorporated Enhanced wireless usb protocol and hub
US9848058B2 (en) 2007-08-31 2017-12-19 Cardiac Pacemakers, Inc. Medical data transport over wireless life critical network employing dynamic communication link mapping
US20090146822A1 (en) 2007-11-13 2009-06-11 Elevate Technologies Pty Ltd. Telemedicine Application for Remote Monitoring, Viewing and Updating of Patient Records
US20100017471A1 (en) * 2008-07-15 2010-01-21 William Douglas Brown System and method for transmitting electrocardiogram data
US8700821B2 (en) * 2008-08-22 2014-04-15 Intel Corporation Unified multi-transport medium connector architecture
WO2010038918A1 (en) 2008-09-30 2010-04-08 Bionet Co., Ltd Portable multi diagnosis system with remote data transfer
KR101119261B1 (ko) 2009-01-14 2012-03-16 삼성전자주식회사 광원 구동 장치
US20100269157A1 (en) * 2009-04-20 2010-10-21 Bettina Experton System and Method for User Control of Authorizing and Tracking Access to Electronic Records
US8213971B2 (en) 2009-04-27 2012-07-03 Qualcomm Incorporated Apparatus and method for activating computer applications with SMS messaging
US8282261B2 (en) 2009-06-01 2012-10-09 Apple, Inc. White point adjustment for multicolor keyboard backlight
US20100315021A1 (en) 2009-06-11 2010-12-16 Aerielle Technologies, Inc. Circuit and method for controlling rgb led color balance using a variable boosted supply voltage
US8364857B2 (en) 2009-08-31 2013-01-29 Qualcomm Incorporated Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
US8890664B2 (en) * 2009-11-12 2014-11-18 At&T Intellectual Property I, L.P. Serial programming of a universal remote control
US20120182939A1 (en) 2011-01-14 2012-07-19 Qualcomm Incorporated Telehealth wireless communication hub and service platform system
CN104272868A (zh) 2011-12-05 2015-01-07 高通股份有限公司 远程医疗无线通信集线器设备和服务平台系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170063701A (ko) * 2014-09-30 2017-06-08 케무리 리미티드 에너지 관리 캡슐
KR20230003209A (ko) * 2020-06-03 2023-01-05 미쓰비시 덴키 빌딩 솔루션즈 가부시키가이샤 통신중계장치 및 이의 접속설정방법

Also Published As

Publication number Publication date
KR101390636B1 (ko) 2014-04-29
WO2011063300A1 (en) 2011-05-26
JP5814251B2 (ja) 2015-11-17
CN102648454A (zh) 2012-08-22
US20110205965A1 (en) 2011-08-25
EP2502145A1 (en) 2012-09-26
JP2014222507A (ja) 2014-11-27
US8937930B2 (en) 2015-01-20
JP5934292B2 (ja) 2016-06-15
CN102648454B (zh) 2015-08-12
JP2013511922A (ja) 2013-04-04

Similar Documents

Publication Publication Date Title
KR101390636B1 (ko) 가상 주변기기 허브 디바이스 및 시스템
US9035568B2 (en) Telehealth wireless communication hub device and service platform system
KR101956972B1 (ko) 원격의료 무선 통신 허브 디바이스 및 서비스 플랫폼 시스템
US11038710B2 (en) Controlling proxy devices through a managed gateway
JP7407423B2 (ja) 機器管理システム、及び、機器管理方法
CN108141395B (zh) 包括云和家庭消息队列同步的家庭自动化系统及相关方法
JP6739456B2 (ja) クラウド及びホームメッセージキュー同期を含むホームオートメーションシステム、並びに関連方法
JP7179836B2 (ja) 通信ネットワークにおける自動サービス登録
US10964189B2 (en) Home automation system determining deviated operation device pattern and related methods
US20210191345A1 (en) Home automation (ha) system including virtual assistant audible notification based upon learned device operational pattern and related methods
US11082248B2 (en) Home automation system including changed current usage notification and related methods

Legal Events

Date Code Title Description
A201 Request for examination
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: 20170330

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 6