(57)【要約】      （修正有）【課題】デバイスネットワーキングを簡略化する方法でパーソナルコンピュータに通常接続される周辺機器へのリモートアクセスを可能にする仮想周辺ハブデバイスおよびシステムを提供する。【解決手段】仮想周辺ハブデバイス１１２は、リモートサーバ１４４にアクセスするためにセルラー２および/またはWiFiネットワークに接続し、周辺デバイス１０２，１０４，１０６，．．に接続するためにワイヤード６，８またはワイヤレス１０ローカルネットワークに接続する。仮想周辺ハブデバイス１１２は、ローカルエリアネットワークまたはインターネットにアタッチされたコンピュータ１３８が周辺デバイスにアクセスすることを可能にする。また、サーバベースサーバ１４０の、仮想周辺ハブデバイス１１２および周辺機器１０２，１０４，１０６，．．の発見を容易にし、周辺機器用のドライバの提供、データの記憶・転送、周辺機器へのリモートアクセスを可能にする。【選択図】図１Ａ
2014222507.tif 000002
【特許請求の範囲】
【請求項１】
パーソナルコンピュータに通常直接接続される周辺デバイスにリモートアクセスを可能とするための方法であって、
第1のワイヤレスネットワークを介して通信デバイスからリモートサーバにアクセスするステップと、
前記リモートサーバに前記通信デバイスの一意の識別子を与えるステップと、
前記周辺デバイスを前記通信デバイスに結合するステップと、
前記通信デバイスから前記リモートサーバに対して前記周辺デバイスを識別するステップと、
前記リモートサーバ内のデータストアにおいて前記周辺デバイスを前記通信デバイスに関連付けるステップと、
前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するステップと、
前記通信デバイスから前記リモートサーバに前記周辺デバイスデータを送信するステップと、
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記通信デバイスから前記リモートサーバに前記周辺デバイスデータを送信するステップと、
前記リモートサーバにおいて前記カプセル化IPパケットを受信するステップと、
前記周辺デバイスデータを取得するために前記カプセル化IPパケットをアンパックするステップと、
前記周辺デバイスに適したドライバを使用して前記リモートサーバにおいて前記周辺デバイスデータを処理するステップと、
を含む、方法。
【請求項２】
前記周辺デバイスと前記通信デバイスとの間に第2のワイヤレス通信リンクを確立するステップをさらに含み、
前記周辺デバイスを前記通信デバイスに結合するステップと、前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するステップとが、前記確立された第2のワイヤレス通信リンクを介して達成される、
請求項1に記載の方法。
【請求項３】
インターネットを介してパーソナルコンピュータから前記リモートサーバにアクセスするステップと、
前記パーソナルコンピュータにおいて前記インターネットを介して前記リモートサーバから前記周辺デバイスデータを受信するステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記第1のワイヤレスネットワークがセルラーデータネットワークであり、前記方法は、
前記セルラーデータネットワークを介して前記通信デバイスから前記リモートサーバにデータ呼を発するステップと、
前記通信デバイスと前記リモートサーバとの間で通信リンクが確立されたときを前記通信デバイス上に示すステップと、
インターネットを介してパーソナルコンピュータから前記リモートサーバにアクセスするステップと、
前記インターネットを介して前記パーソナルコンピュータから前記リモートサーバに、ユーザ識別子と、前記通信デバイス上にプリントされたコードとを送信するステップと、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致するかどうかを前記リモートサーバにおいて判断するステップと、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致すると判断された場合、前記通信デバイスを前記ユーザ識別子に関連付けるステップと
をさらに含む、請求項1に記載の方法。
【請求項５】
前記周辺デバイスにIPv6アドレスを割り当てるステップと、
前記周辺デバイスIPv6アドレスをウェブブラウザに通知するステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致すると判断された場合、前記パーソナルコンピュータに前記結合された周辺デバイスのための適切なドライバをダウンロードするステップ
をさらに含む、請求項4に記載の方法。
【請求項７】
前記処理された周辺デバイスデータを前記インターネットを介して別のサーバに送信するステップ
をさらに含む、請求項1に記載の方法。
【請求項８】
前記通信デバイスに結合された周辺デバイスを発見するステップと、
前記リモートサーバに対して各発見された周辺デバイスを識別するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
前記第1のワイヤレスネットワークがセルラー電話ネットワークであり、
前記方法が、前記セルラー電話ネットワークを介して前記リモートサーバから前記通信デバイスにメッセージを送信するステップをさらに含み、
第1のワイヤレスネットワークを介して通信デバイスから前記リモートサーバにアクセスするステップが、前記セルラー電話ネットワークを介して前記メッセージを受信するステップに応答して達成される、
請求項1に記載の方法。
【請求項１０】
前記送信されるメッセージがシンプルメッセージサービス(SMS)メッセージである、請求項9に記載の方法。
【請求項１１】
前記通信デバイスにおいて前記SMSメッセージを受信するステップと、
前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示しているかどうかを判断するステップと
をさらに含み、
第1のワイヤレスネットワークを介して通信デバイスから前記リモートサーバにアクセスするステップは、前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示していると判断するステップに応答して達成される、
請求項10に記載の方法。
【請求項１２】
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記通信デバイスから前記リモートサーバに前記周辺デバイスデータを送信するステップと、
前記リモートサーバにおいて前記カプセル化IPパケットを受信するステップと、
前記インターネットを介して前記リモートサーバから第2のサーバに前記カプセル化IPパケットを転送するステップと、
前記周辺デバイスデータを取得するために前記第2のサーバにおいて前記カプセル化IPパケットをアンパックするステップと、
前記周辺デバイスに適したドライバを使用して前記第2のサーバにおいて前記周辺デバイスデータを処理するステップと
をさらに含む、請求項1に記載の方法。
【請求項１３】
前記周辺デバイスが最後にアクセスされたときから所定の時間が満了したかどうかを判断するステップと、
前記所定の時間が満了したとき、電源切断するように前記周辺デバイスに指令する信号を前記周辺デバイスに送るステップと
をさらに含む、請求項1に記載の方法。
【請求項１４】
前記リモートサーバから前記通信デバイスに前記周辺デバイスのデータについての要求を送信するステップと、
前記通信デバイスにおいて前記周辺デバイスのデータについての前記要求を受信するステップに応答して、前記周辺デバイスにデータについての要求を送るステップと
をさらに含む、請求項1に記載の方法。
【請求項１５】
前記通信デバイスにおいて前記周辺デバイスのデータについての前記要求を受信するステップに応答して、前記周辺デバイスが電源切断されているかどうかを判断するステップと、
前記周辺デバイスが電源切断されていると判断された場合、電源投入するように前記周辺デバイスに指令する信号を前記周辺デバイスに送るステップと
をさらに含む、請求項14に記載の方法。
【請求項１６】
前記通信デバイス内の全地球測位システム(GPS)センサから前記通信デバイスのグローバルロケーションを判断するステップと、
前記通信デバイスから前記リモートサーバに前記GPSロケーション情報を送信するステップと、
前記GPSロケーション情報に基づいて前記リモートサーバにおいてユーザ識別情報を判断するステップと、
前記通信デバイスを前記判断されたユーザ識別情報に関連付けるステップと
をさらに含む、請求項1に記載の方法。
【請求項１７】
受信された周辺デバイスデータに変化が生じたかどうかを前記通信デバイスにおいて判断するステップと、
受信された周辺デバイスデータに変化が生じたと前記通信デバイスが判断したとき、前記第1のワイヤレスネットワークを介して前記リモートサーバとの通信リンクを確立するステップと、
前記通信デバイスから前記リモートサーバに前記変化した周辺デバイスデータを送信するステップと
をさらに含む、請求項1に記載の方法。
【請求項１８】
前記周辺デバイスが家庭用システムであり、
前記リモートサーバが、前記通信デバイスを介して前記家庭用システムに制御信号を与えるように構成された、
請求項1に記載の方法。
【請求項１９】
前記パーソナルコンピュータに前記周辺デバイスデータを与えるより前に、前記パーソナルコンピュータと、前記パーソナルコンピュータのユーザと、前記通信デバイスと、前記周辺デバイスとのうちの1つまたは複数を認証するステップ
をさらに含む、請求項3に記載の方法。
【請求項２０】
前記通信デバイスによって前記リモートサーバに送信される前記周辺デバイスデータを暗号化するステップをさらに含む、請求項1に記載の方法。
【請求項２１】
前記パーソナルコンピュータに送信される前記周辺デバイスデータを暗号化するステップをさらに含む、請求項3に記載の方法。
【請求項２２】
前記周辺デバイスが、ユーザデータを記憶するように構成されたデータ記憶デバイスであり、
前記方法が、前記通信デバイスにおいて前記リモートサーバからユーザデータについての要求を受信するステップをさらに含み、
前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するステップが、ユーザデータについての前記受信された要求に基づいて前記データ記憶デバイスからユーザデータにアクセスするステップを含み、
前記通信デバイスから前記リモートサーバに前記周辺デバイスデータを送信するステップが、前記データ記憶デバイスからアクセスされた前記ユーザデータを前記リモートサーバに送信するステップを含む、
請求項1に記載の方法。
【請求項２３】
パーソナルコンピュータに通常直接接続される周辺デバイスにリモートアクセスを可能とするための通信システムであって、
データストアおよび前記データストアに結合されたサーバプロセッサを含む、インターネットに結合されたサーバと、
通信デバイスであって、前記通信デバイスが、
プロセッサと、
前記プロセッサに結合され、第1のワイヤレスネットワークを介して通信するように構成された第1のワイヤレストランシーバと、
前記プロセッサに結合され、周辺デバイスとのデータ通信リンクを可能にするように構成されたローカルネットワーク接続回路と
を含み、
前記プロセッサが、
前記第1のワイヤレスネットワークを介して前記サーバにアクセスすることと、
前記サーバに前記通信デバイスの一意の識別子を与えることと、
ワイヤードネットワーク接続ソケットに接続された周辺デバイスを前記サーバに対して識別することと、
前記周辺デバイスから周辺デバイスデータを受信することと、
前記周辺デバイスデータを前記サーバに送信することと
を含む動作を実行するためのプロセッサ実行可能命令で構成された、通信デバイスと
を含む、通信システムであって、
前記サーバプロセッサが、
前記インターネットを介して前記通信デバイスと通信することと、
前記サーバ内のデータストアにおいて前記周辺デバイスを前記通信デバイスに関連付けることと、
を含む動作を実行するためのサーバ実行可能命令で構成され、
前記プロセッサが、
前記インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記サーバに前記周辺デバイスデータを送信すること
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記サーバプロセッサが、
前記カプセル化IPパケットを受信することと、
前記周辺デバイスデータを取得するために前記カプセル化IPパケットをアンパックすることと、
前記周辺デバイスに適したドライバを使用して前記周辺デバイスデータを処理することと
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、通信システム。
【請求項２４】
前記ローカルネットワーク接続回路が、前記プロセッサと前記周辺デバイスとの間に第2のワイヤレス通信リンクを確立するように構成された第2のワイヤレストランシーバを含み、
前記プロセッサは、前記周辺デバイスから周辺デバイスデータを受信することが、前記第2のワイヤレス通信リンクを介して前記周辺デバイスデータを受信することを含むような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項２５】
前記サーバプロセッサが、
前記インターネットを介してパーソナルコンピュータと通信することと、
前記インターネットを介して前記パーソナルコンピュータに前記周辺デバイスデータを送信することと
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、請求項23に記載の通信システム。
【請求項２６】
前記第1のワイヤレスネットワークがセルラーデータネットワークであり、
前記プロセッサは、
前記セルラーデータネットワークを介して前記サーバにデータ呼を発することと、
前記通信デバイスと前記サーバとの間に通信リンクが確立されたときを前記通信デバイス上で示すことと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記サーバプロセッサは、
前記インターネットを介してパーソナルコンピュータからアクセス照会を受信することと、
前記インターネットを介して前記パーソナルコンピュータから、ユーザ識別子と、前記通信デバイス上にプリントされたコードとを受信することと、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致するかどうかを判断することと、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致すると判断された場合、前記通信デバイスを前記ユーザ識別子に関連付けることと
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項２７】
前記サーバプロセッサが、
前記周辺デバイスにIPv6アドレスを割り当てることと、
前記周辺デバイスIPv6アドレスを前記パーソナルコンピュータ上のウェブブラウザに通知することと
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、請求項24に記載の通信システム。
【請求項２８】
前記サーバプロセッサが、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致すると判断された場合、前記パーソナルコンピュータに前記結合された周辺デバイスのための適切なドライバをダウンロードすること
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、請求項24に記載の通信システム。
【請求項２９】
前記サーバプロセッサが、
前記処理された周辺デバイスデータを前記インターネットを介して別のサーバに送信すること
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、請求項23に記載の通信システム。
【請求項３０】
前記通信デバイスが、前記プロセッサに結合され、複数の周辺デバイスとのデータ通信リンクを可能にするように構成された複数のワイヤードネットワーク接続ソケットを含み、
前記プロセッサが、
前記複数のワイヤードネットワーク接続ソケットのうちの1つまたは複数に結合された周辺デバイスを発見することと、
前記サーバに対して各発見された周辺デバイスを識別することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項３１】
前記第1のワイヤレスネットワークがセルラー電話ネットワークであり、
前記プロセッサが、前記セルラー電話ネットワークを介して前記サーバから前記通信デバイスにメッセージを送信することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスすることが、前記セルラー電話ネットワークを介して前記メッセージを受信することに応答して達成されるような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項３２】
前記サーバプロセッサは、前記送信されるメッセージがシンプルメッセージサービス(SMS)メッセージであるような動作を実行するためのサーバ実行可能命令で構成された、請求項31に記載の通信システム。
【請求項３３】
前記プロセッサは、
前記SMSメッセージを受信することと、
前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示しているかどうかを判断することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、第1のワイヤレスネットワークを介して前記サーバにアクセスすることが、前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示していると判断することに応答して達成されるような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項32に記載の通信システム。
【請求項３４】
前記インターネットに結合された第2のサーバをさらに含み、
前記プロセッサが、インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記通信デバイスから前記サーバに前記周辺デバイスデータを送信することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記サーバプロセッサが、
前記カプセル化IPパケットを受信することと、
前記インターネットを介して前記サーバから前記第2のサーバに前記カプセル化IPパケットを転送することと
をさらに含む動作を実行するためのサーバ実行可能命令で構成され、
前記第2のサーバが、
前記周辺デバイスデータを取得するために前記第2のサーバにおいて前記カプセル化IPパケットをアンパックすることと、
前記周辺デバイスに適したドライバを使用して前記第2のサーバにおいて前記周辺デバイスデータを処理することと
を含む動作を実行するためのプロセッサ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項３５】
前記プロセッサは、
前記周辺デバイスが最後にアクセスされたときから所定の時間が満了したかどうかを判断することと、
前記所定の時間が満了したとき、電源切断するように前記周辺デバイスに指令する信号を前記周辺デバイスに送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項23に記載の通信システム。
【請求項３６】
前記サーバプロセッサが、前記通信デバイスに前記周辺デバイスのデータについての要求を送信することをさらに含む動作を実行するためのサーバ実行可能命令で構成され、
前記プロセッサが、前記サーバから前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスにデータについての要求を送ることをさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項３７】
前記プロセッサは、
前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスが電源切断されているかどうかを判断することと、
前記周辺デバイスが電源切断されていると判断された場合、電源投入するように前記周辺デバイスに指令する信号を前記周辺デバイスに送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項36に記載の通信システム。
【請求項３８】
前記プロセッサが、
前記通信デバイス内の全地球測位システム(GPS)センサから前記通信デバイスのグローバルロケーションを判断することと、
前記通信デバイスから前記サーバに前記GPSロケーション情報を送信することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記サーバプロセッサが、
前記GPSロケーション情報に基づいて前記サーバにおいてユーザ識別情報を判断することと、
前記通信デバイスを前記判断されたユーザ識別情報に関連付けることと
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項３９】
前記プロセッサは、
受信された周辺デバイスデータに変化が生じたかどうかを判断することと、
受信された周辺デバイスデータに変化が生じたと前記通信デバイスが判断したとき、前記第1のワイヤレスネットワークを介して前記サーバとの通信リンクを確立することと、
前記変化した周辺デバイスデータを前記サーバに送信することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項23に記載の通信システム。
【請求項４０】
前記周辺デバイスが家庭用システムであり、
前記サーバプロセッサが、前記通信デバイスを介して前記家庭用システムに制御信号を与えることをさらに含む動作を実行するためのサーバ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項４１】
前記サーバプロセッサが、
前記パーソナルコンピュータに前記周辺デバイスデータを与えるより前に、前記パーソナルコンピュータと、前記パーソナルコンピュータのユーザと、前記通信デバイスと、前記周辺デバイスとのうちの1つまたは複数を認証すること
をさらに含む動作を実行するためのサーバ実行可能命令で構成された、請求項25に記載の通信システム。
【請求項４２】
前記プロセッサが、前記サーバに送信される前記周辺デバイスデータを暗号化することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項23に記載の通信システム。
【請求項４３】
前記サーバプロセッサが、前記パーソナルコンピュータに送信される前記周辺デバイスデータを暗号化することをさらに含む動作を実行するためのサーバ実行可能命令で構成された、請求項25に記載の通信システム。
【請求項４４】
前記周辺デバイスが、ユーザデータを記憶するように構成されたデータ記憶デバイスであり、
前記プロセッサが、前記サーバからユーザデータについての要求を受信することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、前記周辺デバイスから周辺デバイスデータを受信することが、ユーザデータについての前記受信された要求に基づいて前記データ記憶デバイスからユーザデータにアクセスすることを含むような動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、前記サーバに前記周辺デバイスデータを送信することが、前記データ記憶デバイスからアクセスされた前記ユーザデータを前記サーバに送信することを含むような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項23に記載の通信システム。
【請求項４５】
パーソナルコンピュータに通常直接接続される周辺デバイスにリモートアクセスを可能とするための通信システムであって、
第1のワイヤレスネットワークを介して通信デバイスからサーバにアクセスするための手段と、
前記サーバに前記通信デバイスの一意の識別子を与えるための手段と、
前記通信デバイスに周辺デバイスを結合するための手段と、
前記通信デバイスから前記サーバに対して前記周辺デバイスを識別するための手段と、
前記サーバ内のデータストアにおいて前記周辺デバイスを前記通信デバイスに関連付けるための手段と、
前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するための手段と、
前記通信デバイスから前記サーバに前記周辺デバイスデータを送信するための手段と、
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記通信デバイスから前記サーバに前記周辺デバイスデータを送信するための手段と、
前記サーバにおいて前記カプセル化IPパケットを受信するための手段と、
前記周辺デバイスデータを取得するために前記カプセル化IPパケットをアンパックするための手段と、
前記周辺デバイスに適したドライバを使用して前記サーバにおいて前記周辺デバイスデータを処理するための手段と
を含む、通信システム。
【請求項４６】
前記通信デバイスに周辺デバイスを結合するための手段が、前記周辺デバイスと前記通信デバイスとの間に第2のワイヤレス通信リンクを確立するための手段を含み、
前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するための手段が、前記第2のワイヤレス通信リンクを介して前記周辺デバイスデータを受信するための手段を含む、
請求項45に記載の通信システム。
【請求項４７】
インターネットを介してパーソナルコンピュータから前記サーバにアクセスするための手段と、
前記パーソナルコンピュータにおいて前記インターネットを介して前記サーバから前記周辺デバイスデータを受信するための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項４８】
前記第1のワイヤレスネットワークがセルラーデータネットワークであり、前記通信デバイスは、
前記セルラーデータネットワークを介して前記通信デバイスから前記サーバにデータ呼を発するための手段と、
前記通信デバイスと前記サーバとの間に通信リンクが確立されたときを前記通信デバイス上で示すための手段と、
インターネットを介してパーソナルコンピュータから前記サーバにアクセスするための手段と、
前記インターネットを介して前記パーソナルコンピュータから前記サーバに、ユーザ識別子と、前記通信デバイス上にプリントされたコードとを送信するための手段と、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致するかどうかを前記サーバにおいて判断するための手段と、
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致すると判断された場合、前記通信デバイスを前記ユーザ識別子に関連付けるための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項４９】
前記周辺デバイスにIPv6アドレスを割り当てるための手段と、
前記周辺デバイスIPv6アドレスをウェブブラウザに通知するための手段と
をさらに含む、請求項48に記載の通信システム。
【請求項５０】
前記送信されたコードが前記通信デバイスによって与えられた前記一意の識別子に一致すると判断された場合、前記パーソナルコンピュータに前記結合された周辺デバイスのための適切なドライバをダウンロードするための手段
をさらに含む、請求項48に記載の通信システム。
【請求項５１】
前記処理された周辺デバイスデータを前記インターネットを介して別のサーバに送信するための手段
をさらに含む、請求項45に記載の通信システム。
【請求項５２】
前記通信デバイスに結合された周辺デバイスを発見するための手段と、
前記サーバに対して各発見された周辺デバイスを識別するための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項５３】
前記第1のワイヤレスネットワークがセルラー電話ネットワークであり、
前記通信デバイスが、前記セルラー電話ネットワークを介して前記サーバから前記通信デバイスにメッセージを送信するための手段をさらに含み、
第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスするための手段が、前記セルラー電話ネットワークを介して前記メッセージを受信することに応答して、第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスするための手段を含む、
請求項45に記載の通信システム。
【請求項５４】
前記送信されるメッセージがシンプルメッセージサービス(SMS)メッセージである、請求項53に記載の通信システム。
【請求項５５】
前記通信デバイスにおいて前記SMSメッセージを受信するための手段と、
前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示しているかどうかを判断するための手段と
をさらに含み、
第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスするための手段は、前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示していると判断することに応答して、第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスするための手段を含む、
請求項54に記載の通信システム。
【請求項５６】
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記通信デバイスから前記サーバに前記周辺デバイスデータを送信するための手段と、
前記サーバにおいて前記カプセル化IPパケットを受信するための手段と、
前記インターネットを介して前記サーバから第2のサーバに前記カプセル化IPパケットを転送するための手段と、
前記周辺デバイスデータを取得するために前記第2のサーバにおいて前記カプセル化IPパケットをアンパックするための手段と、
前記周辺デバイスに適したドライバを使用して前記第2のサーバにおいて前記周辺デバイスデータを処理するための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項５７】
前記周辺デバイスが最後にアクセスされたときから所定の時間が満了したかどうかを判断するための手段と、
前記所定の時間が満了したとき、電源切断するように前記周辺デバイスに指令する信号を前記周辺デバイスに送るための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項５８】
前記サーバから前記通信デバイスに前記周辺デバイスのデータについての要求を送信するための手段と、
前記通信デバイスにおいて前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスにデータについての要求を送るための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項５９】
前記通信デバイスにおいて前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスが電源切断されているかどうかを判断するための手段と、
前記周辺デバイスが電源切断されていると判断された場合、電源投入するように前記周辺デバイスに指令する信号を前記周辺デバイスに送るための手段と
をさらに含む、請求項58に記載の通信システム。
【請求項６０】
前記通信デバイス内の全地球測位システム(GPS)センサから前記通信デバイスのグローバルロケーションを判断するための手段と、
前記通信デバイスから前記サーバに前記GPSロケーション情報を送信するための手段と、
前記GPSロケーション情報に基づいて前記サーバにおいてユーザ識別情報を判断するための手段と、
前記通信デバイスを前記判断されたユーザ識別情報に関連付けるための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項６１】
受信された周辺デバイスデータに変化が生じたかどうかを前記通信デバイスにおいて判断するための手段と、
受信された周辺デバイスデータに変化が生じたと前記通信デバイスが判断したとき、前記第1のワイヤレスネットワークを介して前記サーバとの通信リンクを確立するための手段と、
前記通信デバイスから前記サーバに前記変化した周辺デバイスデータを送信するための手段と
をさらに含む、請求項45に記載の通信システム。
【請求項６２】
前記周辺デバイスが家庭用システムであり、
前記サーバが、前記通信デバイスを介して前記家庭用システムに制御信号を与えるように構成された、
請求項45に記載の通信システム。
【請求項６３】
前記パーソナルコンピュータに前記周辺デバイスデータを与えるより前に、前記パーソナルコンピュータと、前記パーソナルコンピュータのユーザと、前記通信デバイスと、前記周辺デバイスとのうちの1つまたは複数を認証するための手段
をさらに含む、請求項47に記載の通信システム。
【請求項６４】
前記通信デバイスによって前記サーバに送信される前記周辺デバイスデータを暗号化するための手段をさらに含む、請求項45に記載の通信システム。
【請求項６５】
前記パーソナルコンピュータに送信される前記周辺デバイスデータを暗号化するための手段をさらに含む、請求項47に記載の通信システム。
【請求項６６】
前記周辺デバイスが、ユーザデータを記憶するように構成されたデータ記憶デバイスであり、
前記通信デバイスが、前記通信デバイスにおいて前記サーバからユーザデータについての要求を受信するための手段をさらに含み、
前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するための手段が、ユーザデータについての前記受信された要求に基づいて前記データ記憶デバイスからユーザデータにアクセスするための手段を含み、
前記通信デバイスから前記サーバに前記周辺デバイスデータを送信するための手段が、前記データ記憶デバイスからアクセスされた前記ユーザデータを前記サーバに送信するための手段を含む、
請求項45に記載の通信システム。
【請求項６７】
パーソナルコンピュータに通常直接接続される周辺デバイスにリモートアクセスを可能とするための通信デバイスであって、
プロセッサと、
前記プロセッサに結合され、第1のワイヤレスネットワークを介して通信するように構成されたワイドエリアワイヤレストランシーバと、
前記プロセッサに結合され、周辺デバイスとのデータ通信リンクを確立するように構成されたローカルネットワーク接続回路と
を含む、通信デバイスであって、
前記プロセッサが、
前記第1のワイヤレスネットワークを介して通信デバイスからサーバにアクセスすることと、
前記サーバに前記通信デバイスの一意の識別子を与えることと、
ワイヤードネットワーク接続ソケットに接続された周辺デバイスを前記サーバに対して識別することと、
前記周辺デバイスから周辺デバイスデータを受信することと、
前記サーバに前記周辺デバイスデータを送信することと
を含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサが、
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記通信デバイスから前記サーバに前記周辺デバイスデータを送信すること、
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、通信デバイス。
【請求項６８】
前記ローカルネットワーク接続回路が、前記プロセッサと前記周辺デバイスとの間に第2のワイヤレス通信リンクを確立するように構成された第2のワイヤレストランシーバを含み、
前記プロセッサは、前記周辺デバイスから周辺デバイスデータを受信することが、前記第2のワイヤレス通信リンクを介して前記周辺デバイスデータを受信することを含むような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項67に記載の通信デバイス。
【請求項６９】
前記ローカルネットワーク接続回路が、ユニバーサルシリアルバス(USB)ポートと、FireWireポートと、イーサネット(登録商標)ソケットとからなるグループから選択されたワイヤードネットワーク接続ソケットを含む、請求項67に記載の通信デバイス。
【請求項７０】
前記プロセッサに結合され、1つまたは複数の周辺デバイスとの第2のローカルエリアワイヤレス通信リンクを確立するように構成されたローカルエリアワイヤレストランシーバをさらに含む、請求項69に記載の通信デバイス。
【請求項７１】
前記通信デバイスのハウジング上に配置され、前記プロセッサに結合されたインジケータをさらに含み、
前記ワイドエリアワイヤレストランシーバが、セルラーデータネットワークとの第1のワイヤレス通信リンクを確立するように構成され、
前記プロセッサが、
前記セルラーデータネットワークを介して前記サーバにデータ呼を発することと、
前記通信デバイスと前記サーバとの間で通信リンクが確立されたとき、前記インジケータをアクティブ化することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、
請求項67に記載の通信デバイス。
【請求項７２】
前記プロセッサに結合され、複数の周辺デバイスとのデータ通信リンクを確立するように構成された複数のワイヤードネットワーク接続ソケットをさらに含み、
前記プロセッサが、
前記通信デバイスに結合された周辺デバイスを発見することと、
前記サーバに対して各発見された周辺デバイスを識別することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、
請求項67に記載の通信デバイス。
【請求項７３】
前記第1のワイヤレスネットワークがセルラー電話ネットワークであり、
前記プロセッサが、前記セルラー電話ネットワークを介して前記サーバから前記通信デバイスにメッセージを送信することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスすることが、前記セルラー電話ネットワークを介して前記メッセージを受信することに応答して達成されるような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項67に記載の通信デバイス。
【請求項７４】
前記プロセッサは、
SMSメッセージを受信することと、
前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示しているかどうかを判断することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、第1のワイヤレスネットワークを介して前記サーバにアクセスすることが、前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示していると判断することに応答して達成されるような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項73に記載の通信デバイス。
【請求項７５】
前記プロセッサは、
前記周辺デバイスが最後にアクセスされたときから所定の時間が満了したかどうかを判断することと、
前記所定の時間が満了したとき、電源切断するように前記周辺デバイスに指令する信号を前記周辺デバイスに送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項67に記載の通信デバイス。
【請求項７６】
前記プロセッサが、
前記サーバから前記周辺デバイスのデータについての要求を受信することと、
前記サーバから前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスにデータについての要求を送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項67に記載の通信デバイス。
【請求項７７】
前記プロセッサは、
前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスが電源切断されているかどうかを判断することと、
前記周辺デバイスが電源切断されていると判断された場合、電源投入するように前記周辺デバイスに指令する信号を前記周辺デバイスに送ることと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項76に記載の通信デバイス。
【請求項７８】
前記プロセッサが、
前記通信デバイス内の全地球測位システム(GPS)センサから前記通信デバイスのグローバルロケーションを判断することと、
前記通信デバイスから前記サーバに前記GPSロケーション情報を送信することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項67に記載の通信デバイス。
【請求項７９】
前記プロセッサは、
受信された周辺デバイスデータに変化が生じたかどうかを前記通信デバイスにおいて判断することと、
受信された周辺デバイスデータに変化が生じたと前記通信デバイスが判断したとき、前記第1のワイヤレスネットワークを介して前記サーバとの通信リンクを確立することと、
前記変化した周辺デバイスデータを前記サーバに送信することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項67に記載の通信デバイス。
【請求項８０】
前記プロセッサが、前記サーバに対して前記通信デバイスと前記周辺デバイスの一方または両方を認証することを可能にするために認証情報を前記サーバに提供することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項67に記載の通信デバイス。
【請求項８１】
前記プロセッサが、前記サーバに送信される前記周辺デバイスデータを暗号化することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項67に記載の通信デバイス。
【請求項８２】
前記周辺デバイスが、ユーザデータを記憶するように構成されたデータ記憶デバイスであり、
前記プロセッサが、前記通信デバイスにおいて前記サーバからユーザデータについての要求を受信することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信することが、ユーザデータについての前記受信された要求に基づいて前記データ記憶デバイスからユーザデータにアクセスすることを含むような動作を実行するためのプロセッサ実行可能命令で構成され、
前記プロセッサは、前記通信デバイスから前記サーバに前記周辺デバイスデータを送信することが、前記データ記憶デバイスからアクセスされた前記ユーザデータを前記サーバに送信することを含むような動作を実行するためのプロセッサ実行可能命令で構成された、
請求項67に記載の通信デバイス。
【請求項８３】
パーソナルコンピュータに通常直接接続される周辺デバイスにリモートアクセスを可能とするための通信デバイスであって、
第1のワイヤレスネットワークを介してサーバにアクセスするための手段と、
前記サーバに前記通信デバイスの一意の識別子を与えるための手段と、
前記通信デバイスに周辺デバイスを結合するための手段と、
前記サーバに対して前記周辺デバイスを識別するための手段と、
前記周辺デバイスから周辺デバイスデータを受信するための手段と、
前記サーバに前記周辺デバイスデータを送信するための手段と、
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして前記サーバに前記周辺デバイスデータを送信するための手段と、を含む、通信デバイス。
【請求項８４】
前記通信デバイスに周辺デバイスを結合するための手段が、前記周辺デバイスと前記通信デバイスとの間に第2のワイヤレス通信リンクを確立するための手段を含み、
前記周辺デバイスから周辺デバイスデータを受信するための手段が、前記第2のワイヤレス通信リンクを介して前記周辺デバイスデータを受信するための手段を含む、
請求項83に記載の通信デバイス。
【請求項８５】
前記通信デバイスと1つまたは複数の周辺デバイスとの間でデータをワイヤレス通信するための手段
をさらに含む、請求項83に記載の通信デバイス。
【請求項８６】
第1のワイヤレスネットワークを介してサーバにアクセスするための手段が、セルラーデータネットワークを介してサーバにアクセスするための手段を含み、前記通信デバイスは、
前記セルラーデータネットワークを介して前記サーバにデータ呼を発するための手段と、
前記通信デバイスと前記サーバとの間で通信リンクが確立されたときを示すための手段と
をさらに含む、請求項83に記載の通信デバイス。
【請求項８７】
複数の周辺デバイスとのデータ通信リンクを確立するための手段と、
前記通信デバイスに結合された周辺デバイスを発見するための手段と、
前記サーバに対して各発見された周辺デバイスを識別するための手段と
をさらに含む、請求項83に記載の通信デバイス。
【請求項８８】
第1のワイヤレスネットワークを介してサーバにアクセスするための手段が、セルラーデータネットワークを介してサーバにアクセスするための手段を含み、
前記通信デバイスが、セルラー電話ネットワークを介して前記サーバからメッセージを受信するための手段をさらに含み、
第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスするための手段が、前記セルラー電話ネットワークを介して前記メッセージを受信することに応答して、第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスするための手段を含む、
請求項83に記載の通信デバイス。
【請求項８９】
前記送信されるメッセージがシンプルメッセージサービス(SMS)メッセージである、請求項88に記載の通信デバイス。
【請求項９０】
前記SMSメッセージを受信するための手段と、
前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示しているかどうかを判断するための手段と
をさらに含み、
第1のワイヤレスネットワークを介して前記サーバにアクセスするための手段は、前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示していると判断することに応答して、第1のワイヤレスネットワークを介して前記サーバにアクセスするための手段を含む、
請求項89に記載の通信デバイス。
【請求項９１】
前記周辺デバイスが最後にアクセスされたときから所定の時間が満了したかどうかを判断するための手段と、
前記所定の時間が満了したとき、電源切断するように前記周辺デバイスに指令する信号を前記周辺デバイスに送るための手段と
をさらに含む、請求項83に記載の通信デバイス。
【請求項９２】
前記サーバから前記周辺デバイスのデータについての要求を受信するための手段と、
前記サーバから前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスにデータについての要求を送るための手段と
をさらに含む、請求項83に記載の通信デバイス。
【請求項９３】
前記サーバから前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスが電源切断されているかどうかを判断するための手段と、
前記周辺デバイスが電源切断されていると判断された場合、電源投入するように前記周辺デバイスに指令する信号を前記周辺デバイスに送るための手段と
をさらに含む、請求項92に記載の通信デバイス。
【請求項９４】
前記通信デバイスの全地球測位システム(GPS)ロケーションを判断するための手段と、
前記サーバに前記GPSロケーション情報を送信するための手段と
をさらに含む、請求項83に記載の通信デバイス。
【請求項９５】
受信された周辺デバイスデータに変化が生じたかどうかを判断するための手段と、
受信された周辺デバイスデータに変化が生じたと判断されたとき、前記第1のワイヤレスネットワークを介して前記サーバとの通信リンクを確立するための手段と、
前記変化した周辺デバイスデータを前記サーバに送信するための手段と
をさらに含む、請求項83に記載の通信デバイス。
【請求項９６】
前記サーバに対して前記通信デバイスと前記周辺デバイスの一方または両方を認証することを可能にするために認証情報を前記サーバに提供するための手段をさらに含む、請求項83に記載の通信デバイス。
【請求項９７】
前記通信デバイスによって前記サーバに送信される前記周辺デバイスデータを暗号化するための手段をさらに含む、請求項83に記載の通信デバイス。
【請求項９８】
前記周辺デバイスが、ユーザデータを記憶するように構成されたデータ記憶デバイスであり、
前記通信デバイスが、前記通信デバイスにおいて前記サーバからユーザデータについての要求を受信するための手段をさらに含み、
前記通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信するための手段が、ユーザデータについての前記受信された要求に基づいて前記データ記憶デバイスからユーザデータにアクセスするための手段を含み、
前記通信デバイスから前記サーバに前記周辺デバイスデータを送信するための手段が、前記データ記憶デバイスからアクセスされた前記ユーザデータを前記サーバに送信するための手段を含む、
請求項83に記載の通信デバイス。
【請求項９９】
第1のワイヤレスネットワークを介して、パーソナルコンピュータに通常直接接続される周辺デバイスにリモートアクセスを可能とする通信デバイスからサーバにアクセスすることと、
前記サーバに前記通信デバイスの一意の識別子を与えることと、
前記通信デバイスに接続された周辺デバイスを前記サーバに対して識別することと、
前記周辺デバイスから周辺デバイスデータを受信することと、
前記サーバに前記周辺デバイスデータを送信することと、
インターネットを介してカプセル化インターネットプロトコル(IP)パケットとして通信デバイスから前記サーバに前記周辺デバイスデータを送信すること、
を含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成されたプロセッサ実行可能命令を記録したプロセッサ可読記録媒体。
【請求項１００】
前記記録されたプロセッサ実行可能命令は、周辺デバイスデータが、ユニバーサルシリアルバス(USB)ポートと、FireWireポートと、イーサネット(登録商標)ソケットとからなるグループから選択された接続を介して受信されるような動作を実行することを通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１０１】
前記記録されたプロセッサ実行可能命令は、周辺デバイスデータが第2のワイヤレスネットワークを介して受信されるように、ローカルエリアワイヤレストランシーバを介して前記プロセッサと前記周辺デバイスとの間に前記第2のワイヤレスネットワークを確立することをさらに含む動作を実行することを通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１０２】
前記記録されたプロセッサ実行可能命令が、
セルラーデータネットワークを介して前記サーバにデータ呼を発することと、
通信デバイスと前記サーバとの間で通信リンクが確立されたとき、インジケータをアクティブ化することと
をさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１０３】
前記記録されたプロセッサ実行可能命令が、
前記通信デバイスに結合された周辺デバイスを発見することと、
前記サーバに対して各発見された周辺デバイスを識別することと
をさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１０４】
前記記録されたプロセッサ実行可能命令が、セルラー電話ネットワークを介して前記サーバから通信デバイスにメッセージを送信することをさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成され、
前記記録されたプロセッサ実行可能命令は、第1のワイヤレスネットワークを介して通信デバイスから前記サーバにアクセスすることが、前記セルラー電話ネットワークを介して前記メッセージを受信することに応答して達成されるような動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、
請求項99に記載のプロセッサ可読記録媒体。
【請求項１０５】
前記記録されたプロセッサ実行可能命令が、
SMSメッセージを受信することと、
通信デバイスがアクティブ化すべきことを前記SMSメッセージが示しているかどうかを判断することと
をさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成され、
前記記録されたプロセッサ実行可能命令は、第1のワイヤレスネットワークを介して前記サーバにアクセスすることが、前記通信デバイスがアクティブ化すべきことを前記SMSメッセージが示していると判断することに応答して達成されるような動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、
請求項103に記載のプロセッサ可読記録媒体。
【請求項１０６】
前記記録されたプロセッサ実行可能命令は、
前記周辺デバイスが最後にアクセスされたときから所定の時間が満了したかどうかを判断することと、
前記所定の時間が満了したとき、電源切断するように前記周辺デバイスに指令する信号を前記周辺デバイスに送ることと
をさらに含む動作を実行することを通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１０７】
前記記録されたプロセッサ実行可能命令が、
前記サーバから前記周辺デバイスのデータについての要求を受信することと、
前記サーバから前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスにデータについての要求を送ることと
をさらに含む動作を実行することを通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１０８】
前記記録されたプロセッサ実行可能命令は、
前記周辺デバイスのデータについての前記要求を受信することに応答して、前記周辺デバイスが電源切断されているかどうかを判断することと、
前記周辺デバイスが電源切断されていると判断された場合、電源投入するように前記周辺デバイスに指令する信号を前記周辺デバイスに送ることと
をさらに含む動作を実行することを通信デバイスのプロセッサに行わせるように構成された、請求項107に記載のプロセッサ可読記録媒体。
【請求項１０９】
前記記録されたプロセッサ実行可能命令が、
通信デバイス内の全地球測位システム(GPS)センサから前記通信デバイスのグローバルロケーションを判断することと、
前記通信デバイスから前記サーバに前記GPSロケーション情報を送信することと
をさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１１０】
前記記録されたプロセッサ実行可能命令は、
受信された周辺デバイスデータに変化が生じたかどうかを通信デバイスにおいて判断することと、
受信された周辺デバイスデータに変化が生じたと前記通信デバイスが判断したとき、前記第1のワイヤレスネットワークを介して前記サーバとの通信リンクを確立することと、
前記変化した周辺デバイスデータを前記サーバに送信することと
をさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１１１】
前記記録されたプロセッサ実行可能命令が、前記サーバに対して通信デバイスと前記周辺デバイスの一方または両方を認証することを可能にするために認証情報を前記サーバに提供することをさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１１２】
前記記録されたプロセッサ実行可能命令が、前記サーバに送信される前記周辺デバイスデータを暗号化することをさらに含む動作を実行することを通信デバイスのプロセッサに行わせるように構成された、請求項99に記載のプロセッサ可読記録媒体。
【請求項１１３】
前記周辺デバイスが、ユーザデータを記憶するように構成されたデータ記憶デバイスであり、
前記記録されたプロセッサ実行可能命令が、通信デバイスにおいて前記サーバからユーザデータについての要求を受信することをさらに含む動作を実行することを前記通信デバイスのプロセッサに行わせるように構成され、
前記記録されたプロセッサ実行可能命令は、通信デバイスにおいて前記周辺デバイスから周辺デバイスデータを受信することが、ユーザデータについての前記受信された要求に基づいて前記データ記憶デバイスからユーザデータにアクセスすることを含むような動作を実行することを前記通信デバイスのプロセッサに行わせるように構成され、
前記記録されたプロセッサ実行可能命令は、通信デバイスから前記サーバに前記周辺デバイスデータを送信することが、前記データ記憶デバイスからアクセスされた前記ユーザデータを前記サーバに送信することを含むような動作を実行することを前記通信デバイスのプロセッサに行わせるように構成された、
請求項99に記載のプロセッサ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その内容全体が参照により本明細書に組み込まれる、2009年11月19日に出願された「Virtual Peripheral Hub Device and System」と題する米国仮特許出願第61/262,653号の優先権の利益を主張する。
【０００２】
本発明は、一般にコンピュータネットワークに関し、より詳細には、中間サーバを介して電子デバイスをリモートコンピュータに結合するための仮想周辺ハブに関する。
【背景技術】
【０００３】
ユニバーサルシリアルバス(USB)および他の直接/ワイヤード接続を介してコンピュータに接続される周辺デバイスが急増している。これらのデバイスのいくつかの例には、カメラ、医用センサ、外部ハードドライブ、デジタル音楽プレーヤ、プリンタ、およびウェザーステーションなどのあまり一般的でないデバイスがある。現在、そのようなデバイスの使用は、アクセスしているコンピュータへの直接接続を必要とする。リモートアクセスは、利用可能なローカル(たとえば、LAN、WiFiなど)ネットワークを介した複雑な構成およびルーティングによってサポートされ得る。この複雑さおよびオーバーヘッドは、周辺機器の効用およびロケーションを制限し、デバイス、ネットワークおよびアタッチされたコンピュータを構成することの複雑さを理解している「技術に精通した(tech savvy)」ユーザの小集団以外のすべての人々へのリモートアクセスを退けている。
【発明の概要】
【課題を解決するための手段】
【０００４】
本発明は、中間コンピュータまたはローカルネットワークのいずれかの必要なしにパーソナルコンピュータに通常直接接続される周辺デバイスへのリモートアクセスを可能にする方法、デバイス、サービスおよびソフトウェアに関与する。様々な実施形態は、リモートサーバにアクセスするためにセルラーおよび/またはWiFi通信ネットワークに接続し、ローカル周辺デバイスに接続するためにコネクタおよび/またはワイヤレストランシーバに接続するように構成されたプロセッサ、通信トランシーバを含む通信デバイスを含む。
【０００５】
単純な実施形態では、通信デバイスは、電源(たとえば、コンセント)にプラグ接続され、接続された周辺機器と、サービスと、リモートでアクセスしているコンピュータとの間の効率的なデータ送信を可能にするためにソフトウェアで構成された1つまたは複数の周辺デバイス(たとえば、カメラ、ハードドライブ、プリンタ、デジタルピクチャフレームなど)にアタッチされた(本明細書では「仮想周辺ハブ」または「VPH」と呼ぶ)単体デバイスの形態をとり得る。接続された周辺機器のVPHの処理は汎用的であり得、VPHに接続され得るほとんどすべての現在および将来の周辺機器に対するサポートが可能である。VPHはまた、デバイスの代替実施形態ではバッテリーによって電力供給され得る。VPHは、デバイス上の物理接続ポートの数のみによって限定される、いくつかの接続された周辺機器をサポートし得る。
【０００６】
VPHとインターネットベースサービスとの間のデータ接続をサポートするセルラーネットワークと、VPHデバイスとの間のワイヤレス通信によって接続性が可能にされる。このサービスは、VPHに接続された周辺機器と周辺機器にアクセスしているリモートコンピュータとの間のユーザ認証された発見および通信をサポートする。周辺デバイスについてのVPHの処理と同様に、サーバと、VPHと、アクセスしているコンピュータとの間のデータプロトコルは汎用的であり得、ほとんどすべての現在および将来の周辺デバイスまたは接続されたコンピュータのタイプに対するサポートが可能である。VPHは、接続された周辺機器をサービスに登録して、周辺機器をリモートアクセスコンピュータにとって利用可能にし得る。
【０００７】
リモートアクセスコンピュータ上にインストールされたソフトウェアは、サービスとVPHとを介してVPHに接続された周辺機器と通信する。このソフトウェアも汎用的であり得、単にコンピュータ上の仮想ポート(USBなど)にアクセスしているアプリケーションに入来データを受け渡す。このようにして、リモート周辺機器は、アクセスしているコンピュータ上のアプリケーションソフトウェアにとってローカルデバイスのように見える。
【０００８】
VPHとサービスとにおけるインテリジェンスが、ワイヤレスデータ送信の効率を向上させて、ワイヤレス/セルラーネットワークオーバーヘッドを最小限に抑えながら、周辺機器への接続における持続性のアピアランスを可能にし得る。
【０００９】
周辺機器とアタッチされたコンピュータとの間の共通単一物理ケーブル接続とは異なり、VPHを介した周辺機器への接続性の仮想性質は、単一のコンピュータよりも多くのコンピュータが同じリモート周辺機器にアクセスすることを可能にする。たとえば、概して、単一のPCに直接接続されるであろうカメラは、シームレスに、多数のアクセスしているコンピュータまたはデバイスによってアクセスされるリモート周辺機器になり得る。同様に、VPHに接続された周辺機器は、いくつかの異なるリモートでアクセスしているコンピュータによってアクセスされ得る。この構成は、VPHサービスとインターフェースしているリモートコンピュータに基づいていつでも変更され得る。
【００１０】
VPHはインターネットベースサービスへの接続性に関与するので、リモート周辺機器へのアクセスは、そのコンピュータが、ローカルに接続された周辺機器をホスティングするネイティブの能力を有するかどうかにかかわらず、サーバにアクセスするのに必要なソフトウェアをホスティングすることが可能である任意のタイプのコンピュータに対して可能にされ得る。これは、サーバからのデータにアクセスすることが可能なアプリケーションをもつモバイルデバイス(電話、スマートフォンなど)を含み得る。それはまた、リモートでアクセスしているコンピュータが直接人間対話をサポートしない場合、「マシンツーマシン」(M2M)アプリケーションを含み得る。一例は、ユーザによって所有され、管理されるリモートで接続される上でサービスプロバイダからのプライベートユーザ電子メールデータのストレージである。
【００１１】
VPHのセットアップおよび構成と、接続された周辺機器の追加および削除と、リモートコンピュータによる接続性とはサービスレベルで管理され得る。認証されたユーザおよびコンピュータをVPHおよび周辺機器に関連付けるために、ユーザベースの認証機構が使用され得る。VPHとサーバとコンピュータとの間で送信されるデータは、送信されたデータのプライバシーをさらに向上させるために暗号化され得る。
【００１２】
要約すれば、サーバベースサービスを介した様々な周辺デバイスから多種多様なコンピュータへのデータにアクセスし、データを受信するこの能力は、多種多様なデータアプリケーションおよびビジネスサービスを可能にする。VPHはまた、現在、既存および将来の周辺デバイス(たとえば、カメラなど)の迅速および効率的な配備にはあまり向かないロケーションへのそのような配備を可能にする。
【００１３】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な実施形態を示し、上記の概略的な説明および下記の発明を実施するための形態とともに、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１４】
【図１Ａ】様々な実施形態とともに使用するのに好適な通信システムを示す通信システムブロック図である。
【図１Ｂ】様々な実施形態とともに使用するのに好適な通信システムを示す通信システムブロック図である。
【図１Ｃ】様々な実施形態とともに使用するのに好適な通信システムを示す通信システムブロック図である。
【図２Ａ】様々な実施形態の機能を示す通信システムブロック図である。
【図２Ｂ】様々な実施形態の機能を示す通信システムブロック図である。
【図２Ｃ】様々な実施形態の機能を示す通信システムブロック図である。
【図２Ｄ】様々な実施形態の機能を示す通信システムブロック図である。
【図３Ａ】一実施形態による仮想周辺ハブデバイスの構成要素ブロック図である。
【図３Ｂ】一実施形態による仮想周辺ハブデバイスの透視図である。
【図４】一実施形態による仮想周辺ハブデバイスのソフトウェア/ハードウェアモジュールブロック図である。
【図５】仮想周辺ハブデバイスを初期化し、利用するための実施方法のプロセスフロー図である。
【図６Ａ】仮想周辺ハブサーバを介して仮想周辺ハブデバイスを使用して周辺デバイスにアクセスするための実施方法のプロセスフロー図である。
【図６Ｂ】仮想周辺ハブサーバを介して仮想周辺ハブデバイスを使用して周辺デバイスにアクセスするための実施方法のプロセスフロー図である。
【図７Ａ】実施仮想周辺ハブデバイスの様々な動作中に様々な構成要素間で交換され得るメッセージを示すメッセージフロー図である。
【図７Ｂ】実施仮想周辺ハブデバイスの様々な動作中に様々な構成要素間で交換され得るメッセージを示すメッセージフロー図である。
【図８Ａ】仮想周辺ハブデバイスを低電力モードからアクティブ化するための実施方法のプロセスフロー図である。
【図８Ｂ】図8Aに示す実施方法中に様々な通信ネットワーク参加者間で交換され得るメッセージを示すメッセージフロー図である。
【図９Ａ】周辺デバイスから受信されたデータを報告するために仮想周辺ハブデバイスにおいて実装される実施方法のプロセスフロー図である。
【図９Ｂ】図9Aに示す実施方法中に様々な通信ネットワーク参加者間で交換され得るメッセージを示すメッセージフロー図である。
【図９Ｃ】周辺デバイスから受信されたデータを別の仮想周辺ハブデバイスに結合された別の周辺デバイスに送信するために仮想周辺ハブデバイスにおいて実装される実施方法のプロセスフロー図である。
【図９Ｄ】図9Cに示す実施方法中に様々な通信ネットワーク参加者間で交換され得るメッセージを示すメッセージフロー図である。
【図１０】様々な実施形態による、仮想周辺ハブサーバにおいて使用するのに好適な例示的なデータ構造を示す図である。
【図１１】様々な実施形態による、仮想周辺ハブデバイスにおいて使用するのに好適な例示的なデータ構造を示す図である。
【図１２】仮想周辺ハブデバイスから周辺デバイスをアクティブ化および非アクティブ化するための実施方法のプロセスフロー図である。
【図１３】仮想周辺ハブデバイスを介して取得されたデータを利用するためにサーバにおいて実装され得る実施方法のプロセスフロー図である。
【図１４】様々な実施形態とともに使用するのに好適なサーバの構成要素ブロック図である。
【図１５】様々な実施形態とともに使用するのに好適なモバイルデバイスの構成要素ブロック図である。
【発明を実施するための形態】
【００１５】
様々な実施形態について添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１６】
本明細書で使用する「モバイルデバイス」という用語は、セルラー電話、個人情報端末(PDA)、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラー電話、全地球測位システム(GPS)受信機、ワイヤレスゲームコントローラ、およびプログラマブルプロセッサとメモリとを含み、ワイヤレス通信ネットワークと通信する同様のパーソナル電子デバイスのうちのいずれか1つまたはすべてを指す。
【００１７】
本明細書で使用する「コンピュータ」、「パーソナルコンピュータ」および「コンピューティングデバイス」という用語は、知られているかまたは将来開発される任意のプログラマブルコンピュータシステムを指す。好ましい一実施形態では、コンピュータは、本明細書で説明するようなネットワークに結合される。コンピュータシステムは、本明細書で説明するプロセスを実行するためのソフトウェア命令で構成され得る。
【００１８】
本明細書で使用する「構成要素」、「モジュール」、「システム」などの用語は、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを指すものとする。たとえば、構成要素は、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で動作するアプリケーションと、そのサーバの両方を構成要素とすることができる。1つまたは複数の構成要素がプロセスおよび/または実行スレッド内に常駐し得、1つの構成要素を1つのコンピュータ上に配置し、および/または2つ以上のコンピュータ間に分散し得る。
【００１９】
本明細書で使用する「デバイス」という用語は任意の電子デバイスを指し、そのいくつかの例について本明細書で言及または説明する。好ましい一実施形態では、デバイスは、そのデバイスが別のコンピューティングデバイスまたはネットワークに結合されることを可能にする通信ポートを含む。
【００２０】
様々な態様を、いくつかの構成要素やモジュールなどを含み得るシステムに関して提示する。様々なシステムは、追加の構成要素やモジュールなどを含むことも、および/または各図に関連して論じる構成要素やモジュールなどのすべてを含まないこともあることを理解し、諒解されたい。また、いくつかの構成要素およびモジュールが集積回路またはチップセットに組み込まれ得ることを理解し、諒解されたい。これらの手法の組合せも使用され得る。
【００２１】
本明細書で説明する様々な実施形態は、デバイスとコンピューティングシステムとのネットワーク化を簡略化する仮想周辺ハブデバイスを使用して、USB、FireWire、シリアルポートなどを介してパーソナルコンピュータに通常接続される周辺機器へのリモートアクセスを可能にするデバイス、システムおよび方法を提供する。様々な実施形態は、(本明細書では、仮想周辺ハブデバイスまたはVPHと呼ぶ)通信デバイスを含み、通信デバイスは、セルラーおよび/またはWiFi通信ネットワークに接続するように構成されたプロセッサおよび通信トランシーバを含む。単純な実施形態では、仮想周辺ハブデバイスは、標準ユーティリティコンセントなどの電源にプラグ接続され、1つまたは複数の周辺デバイス(たとえば、デジタルカメラ、ハードドライブ、プリンタ、デジタルピクチャフレームなど)にアタッチされ得る、小型集積モジュールとして構成され得る。仮想周辺ハブデバイスは、接続された周辺デバイスが、ローカルエリアネットワークまたはインターネットにアタッチされた任意のコンピュータから使用されることを可能にするためのプロセッサ実行可能ソフトウェアで構成され得る。関連するインターネットサーバベースサービスが仮想周辺ハブデバイスおよび接続された周辺機器の発見を可能にする。仮想周辺ハブデバイスはまた、関連するサーバベースサービスを通してインターネットからアクセスされ得る。
【００２２】
仮想周辺ハブデバイス(図面では「VPH」)の様々な実施形態は、ホストシステムおよびローカルネットワークに従来課せられた要件の多くをなくすことによって、周辺デバイスを共有することの複雑さを最小限に抑える。仮想周辺ハブデバイスは、任意のロケーションに配置され得、固定または移動であり得、仮想周辺ハブデバイスに接続された周辺機器が、アクセスしているコンピュータにとってあたかもローカルに接続されているかのように見えるように構成される。これは、仮想周辺ハブデバイスと、関連するサーバベースサービスと、場合によっては、アクセスしているコンピュータ上でホスティングされ得るソフトウェアとにおけるインテリジェンスと接続性とによって達成される。
【００２３】
また、基本の仮想周辺ハブデバイス概念は、大規模サービスプロバイダ(たとえば、Google)がプライベートユーザデータを「所有」するサービスを可能にする。電子メールを始めとして、情報産業では、すべてのユーザコンテンツのリモートおよび集中型ストレージおよび管理に向かう傾向がある。サービスプロバイダにとっての利益は多い。しかしながら、この概念は、自分のプライベートデータに対する物理制御を維持したいという多くのユーザの要望に反する。仮想周辺ハブデバイスは、ローカルに「所有」されたままである、広くアクセス可能な消費者データを可能にする、リムーバブルUSBハードドライブなどの「ネットワーク対応」リムーバブル記憶メディアの能力を提供する。仮想周辺ハブデバイスは、データをサービスプロバイダに引き渡すことなしに、または任意のシステムからデータにアクセスする能力を失うことなしに、ユーザが、自分のデータを共有することを望むかどうかと、どのように共有することを望むかとを選定することを可能にする。仮想周辺ハブデバイス実施形態は、任意の接続された周辺デバイスを包含して、そのデバイスがあたかもリモートコンピュータに直接接続されているかのように見えるようにするために、この基本概念を拡大することおよび一般化することを可能にする。
【００２４】
様々な実施形態はまた、サーバベースサポートサービス要素によって、セットアップおよび初期化、セキュリティ、ドライバ管理、ならびにデバイス共有など、周辺デバイスをネットワーク化する旧来の難しい技術的プロセスを簡略化する。このサービスはまた、バッチ演算サポートなど、有益な通信およびデータ利用能力と、ユーザ定義および制御グループにわたるウェブおよびインテリジェント共有を介したアクセスとを可能にする。
【００２５】
仮想周辺ハブデバイスは、USB(ユニバーサルシリアルバス)ポートまたはFireWireポートを介してPCに接続され得るデバイスのタイプをミラーリングするモデルを使用するように構成され得る。仮想周辺ハブデバイスに結合され得るほんのいくつかの例には、リムーバブルストレージ、ウェブカメラ、リモート車両診断、デジタルカメラ、デジタルピクチャフレーム、デジタルスケール、ホームセキュリティシステムおよびセンサ、工業センサ、ならびに医用センサがある。要するに、仮想周辺ハブデバイス実施形態は、多くの接続された周辺機器の有用性を拡大および拡張することができる。仮想周辺ハブデバイスを採用することにより、周辺デバイスをほぼどこにでも配置し、グループにわたって共有し、インターネットまたはローカルネットワークを介してアクセスし、新しい使用モデルと収益機会とを可能にする拡張されたサービスによってサポートすることができる。
【００２６】
図1A〜図1Cに、仮想周辺ハブデバイス112を利用する3つの例示的な通信システム100中に含まれ得るシステム構成要素を示す。最初に図1Aを参照すると、仮想周辺ハブデバイスシステムは、2つのコア要素、すなわち仮想周辺ハブデバイス112と仮想周辺ハブサーバ(VPHサーバ)140とから構成される。仮想周辺ハブデバイス112は、消費者に販売され得、USB、FireWireまたはワイヤレス周辺機器102〜110にアタッチされ得る。VPHサーバ140は、インターネットに結合され、周辺機器102〜110に接続することを可能にするための、仮想周辺ハブデバイス112へのセキュアアクセスなどのVPHサービスを提供する。さらに、仮想周辺ハブデバイス112への直接セキュアアクセスと、仮想周辺ハブデバイス112またはVPHサーバ140を介した周辺機器102〜110への接続とをサポートするために、ユーザのパーソナルコンピュータ138上にソフトウェアドライバがプロビジョニングされ得る。これらの要素について以下でより詳細に説明する。
【００２７】
仮想周辺ハブデバイス112は、USB接続6、FireWire接続8またはローカルエリアネットワーク接続(たとえば、イーサネット(登録商標))などの直接(すなわち、ワイヤード)接続、ならびにBluetooth(登録商標)10、WiFi、およびZigBee(登録商標)ワイヤレス通信ネットワークなどのワイヤレス通信リンクを介して周辺デバイス102〜110に接続することができる。たとえば、ウェブカム102は、以下でより十分に説明するように、ユーザが、VPHサーバ140によって提供されるVPHサービスを使用して、そのデバイスからの画像にパーソナルコンピュータ138からアクセスすることを可能にするために、デバイスのUSBポートにプラグ接続されたUSBケーブル6によって仮想周辺ハブデバイス112に結合され得る。別の例として、外部ハードドライブデータ記憶デバイス108は、ユーザがリモートで自分のデータにアクセスすることを可能にするために、およびVPHサーバ140がユーザのデータ(たとえば、電子メールメッセージ)をユーザによって制御されるハードドライブに記憶することを可能にするために、USBケーブル6(あるいはFireWireまたはイーサネット(登録商標)ケーブル)によって仮想周辺ハブデバイス112に結合され得る。さらなる例として、ホームセキュリティシステム104またはそのシステム内のセンサはFireWire接続8を介して仮想周辺ハブデバイス112に結合され得る。そのように接続されたホームセキュリティシステム104によって発生された警報は、VPHサーバ140を介してホームセキュリティサービスプロバイダサーバ142などの適切な宛先に送信され得る。
【００２８】
VPHサーバ140は、仮想周辺ハブデバイスと、それらに接続され得る周辺デバイスと、そのような周辺デバイスから取得され得るデータとに関係する様々なデータおよび通信サービスを提供するように構成され得る。そのようなサービスを本明細書では概して「VPHサービス」と呼ぶ。VPHサーバによって提供される1つのVPHサービスは、VPHに接続された周辺機器と周辺機器にアクセスするリモートコンピュータとの間のユーザ認証された発見および通信をサポートし、ユーザが、アカウントに登録された(すなわち、ユーザのアカウントに関連付けられた)1つまたは複数の仮想周辺ハブデバイス112に結合された周辺機器へのアクセスを与えるアカウントをセットアップすることを可能にする。認証は、任意の知られているデバイスおよびユーザ認証方法を使用して、VPH、VPHに結合された周辺機器、インターネットを介してVPHサーバにアクセスするコンピュータ、および/またはコンピュータのユーザに関してVPHサーバによって達成され得る。このサービスは、仮想周辺ハブデバイス112に接続された特定の周辺デバイスと通信するためにカスタムプロトコルを採用し得る。
【００２９】
VPHサービスはまた、仮想周辺ハブデバイス112が無線(OTA)使用料を最小限に抑えるためにアイドルモードに入ることを可能にすることや、必要なときにアイドル仮想周辺ハブデバイス112を起動することなど、通常のインターフェースおよびデバイス管理問題を処理し得る。周辺デバイスについてのVPHの処理と同様に、VPHサーバ140と、VPH112と、アクセスしているコンピュータとの間のデータプロトコルは汎用的であり得、ほとんどすべての現在および将来の周辺デバイスまたは接続されたコンピュータのタイプに対するサポートが可能である。VPHは、接続された周辺機器をVPHサービスに登録して、周辺機器をリモートコンピュータにとって利用可能にし得る。
【００３０】
リモート周辺機器へのアクセスを可能にするVPHサービスは、そのコンピュータが、ローカルに接続された周辺機器をホスティングするネイティブの能力を有するかどうかにかかわらず、VPHサーバにアクセスするのに必要なソフトウェアをホスティングすることが可能な任意のタイプのコンピュータに対して可能にされ得る。したがって、アクセスしているコンピュータは、VPHサーバからのデータにアクセスすることが可能なアプリケーションをもつモバイルデバイス(たとえば、電話、スマートフォンなど)を含み得る。VPHサービスはまた、リモートでアクセスしているコンピュータが直接人間対話をサポートしない場合、「マシンツーマシン」(M2M)アプリケーションを含み得る。一例は、ユーザによって所有され、管理されるリモートで接続される上でサービスプロバイダからのプライベートユーザ電子メールデータのストレージである。
【００３１】
VPHサービスの別のサービスは、接続された周辺機器の追加および削除と、リモートコンピュータによる接続性とのサポートを含む、VPHのセットアップおよび構成であり得る。
【００３２】
VPHサービスの別のサービスは、認証されたユーザおよびコンピュータをVPHおよびそれの接続された周辺機器に関連付けるために使用され得る機構を使用したユーザベースの認証であり得る。VPHとVPHサーバとコンピュータとの間で送信されるデータは、送信されたデータのプライバシーをさらに向上させるために暗号化され得る。
【００３３】
VPHサービスはまた、ユーザがユーザのパーソナルコンピュータ138から離れているとき、任意のインターネット接続コンピュータ(たとえば、ウェブキオスク)から周辺デバイスにアクセスすることを可能にし得る。VPHサービスはまた、仮想周辺ハブデバイス112に接続された周辺デバイスから取得されたデータのストレージ、中継、および利用を含み得る。仮想周辺ハブシステムによって可能になる周辺デバイス供給データのそのような利用は、様々な有用な適用例および新しいビジネスモデルを可能にし得、そのいくつかの例について以下でより十分に説明する。
【００３４】
さらなる実施形態では、VPHおよびVPHサーバにおけるインテリジェンスが、ワイヤレスデータ送信の効率を向上させて、ワイヤレス/セルラーネットワークオーバーヘッドを最小限に抑えながら、周辺機器への接続における持続性のアピアランスを可能にし得る。このようにして、VPHサーバは、コンピュータによるアクセスのために周辺機器からの最新のデータまたはステータスを「ホスティング」して、周辺機器とVPHとVPHサーバとの間に固定通信リンクを維持する必要なしに、VPHサーバを介して周辺機器にアクセスするコンピュータに周辺機器が連続的に接続されているアピアランスを可能にし得る。周辺機器の性質、周辺機器によって供給されるデータ、周辺機器のステータス状態、または現在の状況に応じて、周辺機器からの送信された更新されたデータへのアクティブ通信リンクの確立が必要に応じて達成され得る。インテリジェンスを用いてVPHとVPHサーバとを構成することによって、通信コストを最小限に抑えながら、多種多様な周辺機器適用例がサポートされ得る。そのようなフレキシビリティは、いくつかの例によって示され得る。
【００３５】
周辺デバイスがホームセキュリティシステムである例示的な適用例では、VPHは、VPHサーバが現在のステータスとして記憶しポスティングし得るセキュリティステータスの変化を報告するためにのみVPHサーバと接続するようにインテリジェンスを用いて構成され得る。ホームセキュリティシステムのステータス(たとえば、ドアおよびウィンドウの開/閉ステータス、室温、動きセンサなど)は一般にめったに変化しない。したがって、ステータスの変化を感知し、ステータスの変化を検出すると、更新されたステータスを報告するためにVPHサーバへの接続を確立するように構成されたVPHによって、通信コストを最小限に抑えながら完全なシステム機能が提供され得る。このようにして、ユーザの自宅のステータスを点検するためにVPHサーバと交信するユーザは、VPHへのアクティブ通信リンクを有するかまたは確立する必要なしに、最新のステータス報告を受信するであろう。
【００３６】
周辺デバイスがウェブカムまたは防犯カメラである例示的な適用例では、VPHは、VPHサーバが現在の画像として記憶しポスティングし得る画像に変化があるときにカメラからの画像を与えるためにのみVPHサーバと接続するようにインテリジェンスを用いて構成され得る。ウェブカムおよび防犯カメラの多くの実装では、カメラ画像は、照準がどこであるかと時刻とに応じて、時々しか変化しないことがある。したがって、カメラ画像を分析して画像の変化を検出し、そのような変化を検出すると、更新されたイメージ(imagery)を送信するためにVPHサーバへの接続を確立するように構成されたVPHによって、通信コストを最小限に抑えながら「ライブ」フォトイメージが与えられ得る。このようにして、ウェブカム画像または防犯カメラ画像を閲覧するためにVPHサーバと交信するユーザは、VPHへの連続通信リンクを有するかまたは確立する必要なしに、最新の画像を受信するであろう。
【００３７】
同様にして、ステータスまたは出力データがエピソード的に変化する周辺機器には、そのような変化を感知し、変化が検出されたときにそれをVPHサーバに報告するようにVPHを構成することによって、持続性のアピアランスが与えられ得る。周辺機器ステータスまたは出力データが周期的に生成されるかまたは変化する適用例では、VPHサーバによって記憶され、ポスティングされる現在のステータス/データがほぼリアルタイムであるように、VPHは、VPHサーバへのリンクを周期的に確立するように構成され得る。
【００３８】
上述のように、ユーザのパーソナルコンピュータ138は仮想周辺ハブドライバソフトウェアをプロビジョニングされ得る。そのようなドライバソフトウェアの基本機能は、仮想周辺ハブデバイス112に接続された周辺デバイス102〜110への透過的なアクセスをサポートすることであり得る。そのようなドライバソフトウェアは、ローカルネットワーク150またはワイドエリアネットワーク(たとえば、インターネット114)上のUSBポートまたはFireWireポートへの仮想化されたアクセスを与え得、VPHサーバ140を通した仮想周辺ハブデバイス112へのセキュアなアクセスをサポートするために使用され得る。そのようなドライバソフトウェアは、(VPHサーバ140によってホスティングされ得るものなどの)VPHサービスウェブサイトから入手可能であり得、ユーザに関連する仮想周辺ハブデバイス112に結合された特定の周辺デバイスにアクセスするための必要な暗号化鍵を含み得る。そのような暗号化鍵は、図5を参照しながら以下で説明するデバイスセットアップ、登録および構成段階中に生成され得る。
【００３９】
周辺機器とアタッチされたコンピュータとの間の共通単一物理ケーブル接続とは異なり、VPHを介した周辺機器への接続性の仮想性質は、単一のコンピュータよりも多くのコンピュータが所与の時間において同じリモート周辺機器にアクセスすることを可能にする。たとえば、概して、単一のコンピュータシステムに直接接続されるであろうウェブカム、防犯カメラ、または他のカメラ周辺機器は、シームレスに、多数のアクセスしているコンピュータまたはデバイスによってアクセスされるリモート周辺機器になることができる。同様に、VPHに接続された周辺機器は、いくつかの異なるリモートでアクセスしているコンピュータによってアクセスされ得る。さらに、接続性およびアクセス許可構成は、VPHサービスとインターフェースするリモートコンピュータによっていつでも変更され得る。
【００４０】
サードパーティサーバ142、144は、仮想周辺ハブデバイス112に接続された周辺デバイス102〜110からデータを受信するかまたはそれにデータを通信するために、インターネット114を介してVPHサーバ140と通信し得る。通信システム100の構成要素の間でデータがどのように通信され得るかについてのさらなる説明は、図2A〜図2Dを参照しながら以下で与えられる。
【００４１】
一実施形態では、仮想周辺ハブデバイス112はまた、図1Bに示す通信ネットワーク101に示すように、WiFiネットワークなどのローカルワイヤレスネットワークと通信することが可能なワイヤレストランシーバを含み得る。図1Aを参照しながら上記で説明したように、仮想周辺ハブデバイス112は、セルラー信号2を介してセルラーデータネットワーク130と通信することを可能にするセルラートランシーバを含み得る。さらに、仮想周辺ハブデバイス112は、ワイヤレスルータ135を介してローカルワイヤレスネットワークと同じく通信することを可能にするローカルエリアワイヤレストランシーバ(たとえば、WiFiトランシーバ)を含み得る。この実施形態では、仮想周辺ハブデバイス112は、パーソナルコンピュータ138からローカルワイヤレス送信4によってワイヤレスルータ135を介してアクセスされ得る。さらに、仮想周辺ハブデバイス112は、(多くの家庭用ワイヤレスネットワーク実装において典型的であるように)ワイヤレスルータ135がインターネット114への接続を含むとき、ワイヤレスルータ135を介してインターネット114にアクセスし得る。様々な周辺デバイス102〜110およびVPHサーバ140との通信ならびにそれらの間の通信は、この実施形態では、図1Aを参照しながら上記で説明したように進み得る。
【００４２】
図1Cに示すさらなる実施形態では、仮想周辺ハブデバイス112は、通信ネットワーク150に示す自動車のセンサおよびシステムなどの非従来型周辺デバイスに接続され得る。自動車に仮想周辺ハブデバイス112を設置することによって、たとえば、様々な車両センサおよびシステムが、一般に自動車サービス整備士によってアクセスされる標準自動車インターフェースにつながれたケーブルなどによってデバイスに接続され得る。この標準インターフェースは、保守およびトラブルシューティング目的のために有用であり得る、エンジンおよび他の車両センサに関する情報を、接続されたコンピュータが受信することを可能にする。しかしながら、そのようなデータインターフェースを使用するために、たいていの車両所有者は彼らの自動車をサービスセンターに持って行かなければならない。仮想周辺ハブデバイス112をこの標準車両インターフェースにプラグ接続することによって、仮想周辺ハブデバイス112とVPHサーバ140とによって可能になる通信ネットワーク150は、ユーザの自動車がどこにあっても、車両データを整備士のコンピュータ160に配信することができる。
【００４３】
この実施形態では、仮想周辺ハブデバイス112は、シガレットライターソケットにプラグ接続されることなどによって、車両の電気系統によって電力供給され得る。ビデオカメラ152(たとえば、バックアップカメラ)、1つまたは複数のエンジンセンサ154、車両速度計156、エアバッグ展開センサ158、および他のセンサなどの車両センサからの情報が、標準車両インターフェースに接続するために使用される標準データケーブルなどのデータケーブル20によって仮想周辺ハブデバイス112に送信され得る。車両センサ152〜158から受信されたデータは、次いで、セルラーデータネットワーク130およびインターネット114を介してVPHサーバ140に通信され得る。VPHサーバ140は、車両データを記憶し、VPHサーバ140によってホスティングされるウェブページまたはデータベースにアクセスする整備士のコンピュータ160からなどの、インターネット114を介したデータへのアクセスを与え得る。また、ユーザが、インターネット114へのアクセスをもつ任意のパーソナルコンピュータ138からセンサデータにアクセスし得るように、車両センサデータを解釈するためのドライバソフトウェアがVPHサーバ140にロードされ得る。したがって、ユーザのコンピュータ138は、(たとえば、10代の運転者に関して点検するために)ユーザが現在の速度またはオドメータ読みを閲覧することを可能にするために、車両速度計156からのデータメッセージを解釈するのに必要なドライバソフトウェアを有する必要はない。ユーザのコンピュータ138上で直接車両センサデータを解釈する代わりに、所望の情報はインターネット114を介してVPHサーバ140からアクセスされ得る。
【００４４】
上述のように、仮想周辺ハブデバイス112は、周辺デバイスとの双方向データ通信を可能にし得る。したがって、図1Cに示す例では、整備士は、車両がどこにあっても整備士のコンピュータ160から車両設定を調整することが可能であり得る。これを達成するために、整備士はパーソナルコンピュータ160に命令を入力し得、パーソナルコンピュータ160はそれらの命令をインターネット114を介してVPHサーバ140に送信する。VPNサーバ140は、それらの命令をインターネット114およびセルラーネットワーク130を介して仮想周辺ハブデバイス112に関係づけることができる。コマンド命令の性質に応じて、VPHサーバ140は、仮想周辺ハブデバイス112がパケットコンテンツを解釈する必要なしに受信することができるカプセル化IPデータパケット中で整備士のコマンドを送信し得る。仮想周辺ハブデバイス112は、受信されたカプセル化IPデータパケットからコマンドメッセージをアンパックし、それらのコマンドをインターフェースデータケーブル20を介して適切な自動車周辺デバイスに中継し得る。
【００４５】
図1Cに示すように車両中に実装されたとき、仮想周辺ハブデバイス112は、OnStar(登録商標)システムを装備した車両上で利用可能なシステムと同様の緊急車両監視システムを可能にすることができる。したがって、どんな車両でも、セルラーネットワーク130を介して、(内蔵GPS受信機によって与えられる)現在のGPS座標情報とともにエアバッグセンサ158によって示されるエアバッグの展開などの緊急情報を報告するように迅速に構成され得る。そのような実装形態では、VPHサーバ140は、緊急信号および座標情報を受信し、その情報を適切な緊急応答センターのサーバ144に中継し得る。
【００４６】
図1Bを参照しながら上記で説明したように、仮想周辺ハブデバイスはまた、ローカルWiFiネットワークワイヤレスルータ135が利用可能なとき、仮想周辺ハブデバイスがローカルWiFiネットワークワイヤレスルータ135に接続することを可能にするローカルワイヤレスおよびネットワーク化トランシーバを含み得る。たとえば、車両が所有者のガレージに駐車してあり、したがって、所有者のホームワイヤレスルータ135にアクセスすることが可能であるとき、仮想周辺ハブデバイス112は、それのデータをワイヤレスルータ135を介してユーザのパーソナルコンピュータ138ならびにVPHサーバ140に報告し得る。同様に、車両が修理工場に持ち込まれたとき、仮想周辺ハブデバイス112は、整備士が車両に対して作業を開始する前でも、工場のローカルワイヤレスルータ135に接続し、整備士のコンピュータ160に車両センサデータを報告することを開始し得る。
【００４７】
車両の状態の保守および点検を可能にすることに加えて、車両センサから取得される車両部品および運転データは、いくつかの例を挙げれば、自動車メーカー、車両部品メーカー、保険会社、税務当局、および広告主など、いくつかの企業にとって有用であり得る。そのような情報は、VPHサーバ140によって取得され、インターネット114を介してそのようなデータユーザのサーバ142、144にとって利用可能になり得る。本明細書で説明するように、(エンジン製造に関係があり得る)エンジン性能データなど、特定のタイプの情報が欲しいエンティティは、サーバ142がVPHサーバ140にデータ要求を行うことによって、そのような情報を要求し得る。要求されたデータがVPHサーバデータストアにおいて利用可能でない場合、VPHサーバ140は、セルラーネットワーク130を介して仮想周辺ハブデバイス112にデータ照会を送り、仮想周辺ハブデバイス112に、適切なセンサをポーリングし、要求されたデータで返答することを要求し得る。
【００４８】
図1A〜図1Cに示すように、仮想周辺ハブデバイス112を介して利用可能なデータは、セルラーデータネットワーク130にアクセスするセルラー電話136など、仮想周辺ハブデバイス112が接続されているネットワークに接続することができる他のコンピューティングデバイスにとってもアクセス可能になり得る。したがって、ユーザは、ユーザのモバイルデバイス136上でウェブカム102画像を閲覧するか、ホームセキュリティ状況を点検するか、または車両センサによって検出された問題についての警報を受けることが可能であり得る。様々な周辺デバイスのためのドライバソフトウェアが、一般に限られたメモリ容量を有するモバイルデバイス136上に常駐する必要がないので、様々な実施形態はそのような適用例において特に有用であり得る。代わりに、モバイルデバイス136は、VPHサーバ140の大容量ディスクドライブに記憶されたすべての必要なデバイスドライバソフトウェアを有し得るVPHサーバ140を介して所望の情報にアクセスすることができる。
【００４９】
仮想周辺ハブデバイスおよびVPHサービスの動作は、説明する例において利用される構成要素および通信リンクを濃い線で強調し、説明しない構成要素およびリンクは強調していない図2A〜図2Dを参照すれば諒解できよう。
【００５０】
図2Aを参照すると、家庭用サーモスタット内で実装されるデジタル温度計などのサーモスタット111からの温度データは、Bluetooth(登録商標)またはWiFi通信リンクなど、ローカルワイヤレス通信リンク10を介して仮想周辺ハブデバイス112に通信され得る。仮想周辺ハブデバイス112は、このデータを受信し、セルラーデータ通信2を介して近くのセルラー基地局132に送信するように構成され得、セルラー基地局132は、その情報をセルラーネットワークインターネットアクセスサーバ134に中継する。仮想周辺ハブデバイス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がユーザ名およびパスワードの入力または適切な検証鍵の交換などによってVPHサーバ140に対して識別されると、ユーザのパーソナルコンピュータ138は、温度センサデータについての要求をインターネット114を介してVPHサーバ140に送信し得る。VPHサーバ140がメモリ中に要求されたデータを有する場合、クエリは直ちに返答され得る。そうでない場合、VPHサーバ140は、データ要求メッセージをインターネットおよびセルラーデータネットワーク130を介して仮想周辺ハブデバイス112に送り得る。以下でより詳細に説明するように、VPHサーバ140は、セルラーネットワーク130を介してSMSメッセージを送ることなどによって、仮想周辺ハブデバイス112を「起動」させるためのメッセージを仮想周辺ハブデバイス112に最初に送り得る。仮想周辺ハブデバイス112との通信リンクが確立され、データ要求メッセージが配信されると、仮想周辺ハブデバイス112は、要求された情報についてサーモスタット111をポーリングし、データをVPHサーバ140に中継し得る。VPHサーバ140は、要求されたデータを受信すると、そのデータをIPデータメッセージ14を介してパーソナルコンピュータ138に関係づけ得る。同様にして、ユーザは、パーソナルコンピュータ138からVPHサーバ140に設定を通信することによって(たとえば、温度設定を調整するために)サーモスタット111にコマンドを発行し得、VPHサーバ140は、適切なコマンドを、サーモスタット111への中継のためにインターネット114およびセルラーネットワーク130を介して仮想周辺ハブデバイス112に送信する。
【００５２】
VPHサービスによって可能になる通信ネットワーク100の有用な適用例の別の例を図2Cに示す。この例では、周辺デバイスは、血圧(「BP」)センサ110などの医用センサである。医用センサからのデータは、ほんのいくつかの例を挙げれば、ユーザの医師、ユーザを監視している地域病院、医療保険業者、ユーザの血圧薬品のメーカー、血圧センサ110のメーカーを含む、いくつかの異なる関係者にとって関心のあるものであり得る。図2Cに示すように、仮想周辺ハブデバイス112およびVPHサーバ140は、血圧センサ110をネットワークアクセス可能にすること、センサを包含するネットワークを確立すること、または血圧センサのためのドライバを他のコンピュータに配備することの複雑化なしに、そのような医療データを、それを必要とするエンティティにとって利用可能にすることができる。仮想周辺ハブデバイス112が設置され、VPHサーバ140に登録されると、仮想周辺ハブデバイス112は、ケーブル(たとえば、USBケーブル6またはFireWireケーブル8)またはワイヤレス通信リンク(たとえば、図示のBluetooth(登録商標)10)によって血圧センサ110などの医用センサに接続され得る。接続されると、仮想周辺ハブデバイス112は、センサから受信されたデータを記憶するためのデータレコードを維持し得るVPHサーバ140に血圧センサ110への接続を報告することができる。仮想周辺ハブデバイス112によって血圧センサ110から受信されたデータパケットはIPパケット中にカプセル化され得、IPパケットはセルラーデータ通信2としてセルラー通信ネットワーク130に中継され、セルラー通信ネットワーク130は、VPHサーバ140への配信のためにIPパケットをインターネット114に付与する。血圧センサ110から受信されたデータパケットをカプセル化IPパケット内でVPHサーバ140にトンネリングすることにより、仮想周辺ハブ112は、血圧センサ110と対話するためのドライバソフトウェアで構成される必要がなくなる。代わりに、仮想周辺ハブデバイス112からのカプセル化IPパケットはVPHサーバ140によって受信され得、VPHサーバ140はパケットをアンパックし、したがって、血圧センサ110データは、サーバ上に常駐する適切なドライバソフトウェアによって処理され得る。血圧センサデータがVPHサーバ140に記憶されることにより、この情報は、インターネット114を介して、データを必要とし得る他のエンティティにとってアクセス可能になり得る。たとえば、処理された血圧センサデータは、VPHサーバ140によってホスティングされるウェブサイトに提示されたクエリなどに応答して、ハイパーテキスト転送プロトコルIP(HTTP/IP)パケット16として医師のコンピュータまたは病院サーバ142に送信され得る。
【００５３】
図2Cに示す通信ネットワーク100はまた、ハードウェアメーカーが、それらが担当するデータまたは周辺デバイスに対する制御を維持するためにドライバソフトウェアの配信を制御または制限することを可能にし得る。たとえば、一部の医療デバイスメーカーは、それらの製品からのデータがそれらの社内サーバのみによって解釈され得るように、デバイスドライバをプロプライエタリソフトウェアとして維持することを選定し得る。そのような制限は、インターネット114を介してアクセス可能なデータベースへの機密患者情報の記憶を防ぐために適切であり得る。そのような制限はまた、医療デバイスが無認可の個人によって再プログラムまたは制御され得ないことを保証するために適切であり得る。そのような実装形態をサポートするために、VPHサーバ140は、そのようなプロプライエタリセンサ(たとえば、血圧センサ110)から受信された未処理データパケットをカプセル化IPパケット18としてインターネット114または別のネットワーク(図示せず)を介してデバイスメーカーのサーバ144に転送し得る。次いで、メーカーのサーバ144は、それのプロプライエタリドライバソフトウェアを使用して、周辺デバイスから受信されたデータを解釈し得る。
【００５４】
上記のように、VPHサーバ140と仮想周辺ハブデバイス112とによって可能になる周辺デバイス(たとえば、血圧センサ110)への通信リンクは、同様にして逆方向通信をサポートすることができる。したがって、医療施設または周辺デバイスのメーカーは、図2Cに示す通信リンクを使用してデバイスに設定コマンドを送信し得る。たとえば、医療サーバ142を介して血圧センサ110からの読みを受信した医師は、血圧センサ110または仮想周辺ハブデバイス112に結合された別の周辺デバイスのスクリーン上に表示されるべきメッセージを送信し得る。
【００５５】
VPHサービスの基本機能に加えて、ソフトウェア開発者、周辺デバイスメーカー、およびデータサービス会社によって追加され得る高度な特徴のため、多数の機会がある。いくつかの例示的な例には、グループにわたるデバイスおよびデータ共有、利用可能な場合、接続されたデバイスのLANおよびWiFi接続性の容易なセットアップ、セキュリティまたは他の監視目的のためのウェブアクセス可能ビデオカメラ(「ウェブカム」)などのデバイスへの周期的アクセス、およびシステム中を流れるデータに基づくユーザへのターゲット広告がある。仮想周辺ハブデバイス112とVPHサービスとによって可能になる様々なサービスの貨幣化は、新しいビジネスと新しい収益ストリームの発生とのための多数の機会を提供し得る。
【００５６】
上述のように、仮想周辺ハブデバイス112の一実施形態は、仮想周辺ハブデバイス112が、ローカルワイヤレスルータ135を介してネットワーク化されたコンピュータおよびデバイスと通信することを可能にするローカルワイヤレスネットワークトランシーバ(たとえば、WiFiトランシーバ)を含み得る。そのような通信は、様々な実施形態において提供されるVPHサーバ140とVPHサービスとによって可能にされ得る。これの一例を、仮想周辺ハブデバイス112とインターネット114の両方と通信しているワイヤレスルータ135に結合されたパーソナルコンピュータ138を示している図2Dに示す。
【００５７】
ローカルワイヤレスネットワークをセットアップする人々が直面する1つの課題は、ネットワークを介してアクセスされ得るすべてのデバイスとの通信リンクを発見することと確立することとに関与する。この課題は、仮想周辺ハブデバイス112とVPHサーバ140とによって提供されるサービスによって単純化される。図2Dを参照すると、仮想周辺ハブデバイス112が設置され、最初にアクティブ化されるとき、仮想周辺ハブデバイス112は、ワイヤードリンク(たとえば、USBコネクタ6、FireWire8)またはワイヤレスリンク(たとえば、BlueTooth(登録商標)リンク10)によってそれに結合された商用デバイスのすべてをVPHサーバ140に報告し得る。登録プロセスの一部として、VPHサーバ140は、仮想周辺ハブデバイス112に結合された周辺デバイスの各々に一意のIPv6にアドレスを割り当て得る。次いで、これらのIPv6アドレスは、仮想周辺ハブデバイス112を介して特定の周辺デバイスにアクセスするためにローカルコンピュータ138によって使用され得る。したがって、ウェブカム102などの特定の周辺ハブデバイスにアクセスするために、ユーザは、ローカルワイヤレスルータ135を介してインターネット114に結合されたパーソナルコンピュータ138を使用して、VPHサーバ140にアクセスし得る。ユーザ名およびパスワードを入力することまたは検証鍵を交換することなどによってVPHサーバ140に登録した後に、ユーザは、IPv6アドレスを含む、仮想周辺ハブデバイス112に結合されたすべての周辺デバイスのリストを要求し、受信し得る。ユーザのパーソナルコンピュータ138が周辺デバイスのIPv6アドレスを有すると、次いで、コンピュータ138は、仮想周辺ハブデバイス112へのワイヤレスルータ135を通したワイヤレス通信4を介して特定の周辺デバイスにアクセスし得る。VPHサーバ140によって与えられたIPv6アドレスを使用して、ウェブカム102などの特定の周辺デバイスにアドレス指定された、ローカルコンピュータ138によって送信されたデータアクセス要求などのコマンド信号は、仮想周辺ハブデバイス112によって中継されることになる。したがって、様々な実施形態によって可能になるVPHサービスのうちの1つは、仮想周辺ハブデバイス112に結合された周辺デバイスとの簡略化されたネットワーク確立である。
【００５８】
VPHおよびVPHサービスの様々な実施形態は、現在、既存および将来の周辺デバイス(たとえば、カメラなど)の迅速および効率的な配備にはあまり向かないロケーションおよび環境へのそのような配備を可能にすることができる。たとえば、ケーブルを引くか、ルータとネットワークとを構成するか、またはデバイスを構成する必要なしに、インスタント監視能力を確立するために、バッテリー電源式VPHがウェブカムまたはデジタルカメラに結合され得る。カメライメージを受信するためのドライバを提供することを含む、接続性および構成は、VPHとVPHサービスとによって自動的に処理され得る。別の例として、スタンドアロン動作のために通常構成されるプリンタが、ネットワーク接続またはネットワーク構成の必要なしに、ネットワーク化プリンタとして即座に構成され得る。このようにして、プリンタは、単にそれのUSB接続をVPHにプラグ接続することによって、一時的構成において任意の数のコンピュータによって迅速にアクセスされ得る。
【００５９】
仮想周辺ハブデバイス112実施形態の例示的な構成要素を図3Aに示す。仮想周辺ハブデバイス112は、ケースまたはハウジング300中に構成され得、内部メモリ302と、アンテナ304に結合されたセルラーデータネットワークトランシーバ303とに結合された、プログラマブルプロセッサ301を含み得る。電源308はプロセッサ301および他の構成要素に結合され得る。いくつかの実施形態では、電源308はバッテリーを含み得る。好ましい一実施形態では、電源308は、標準ユーティリティコンセントへのプラグ接続のための電源プラグ309に電気的に接続され得る。プロセッサ301は、USBポート310、FireWireポート311および/またはイーサネット(登録商標)ソケット312など、1つまたは複数のワイヤードネットワーク接続ソケットにも結合され得る。単純な実施形態では、単一のUSBポート310のみが設けられ得る。他の実施形態では、仮想周辺ハブデバイス112は、データケーブルを介していくつかの周辺デバイスを接続することを可能にするために、複数のUSBポート310と、FireWireポート311と、イーサネット(登録商標)ソケット312とを含み得る。仮想周辺ハブデバイス112内に随意のイーサネット(登録商標)ポート312を設けることにより、ハブをLANまたはローカルネットワークルータ135に直接接続することが可能になり得る。ポートの数は、ハウジングの物理設計と、仮想周辺ハブデバイス112が構成される特定の市場または適用例とに応じて様々な実施形態の間で異なり得る。
【００６０】
いくつかの実施形態では、仮想周辺ハブデバイス112はまた、ワイヤレス通信リンクを介して周辺デバイスに結合するための1つまたは複数のワイヤレスローカルエリアネットワークトランシーバを含み得る。たとえば、プロセッサ301は、周辺デバイスへのワイヤレス指示リンクを確立するために、アンテナ316に接続されたBluetooth(登録商標)トランシーバ314と、アンテナ324に結合されたIEEE802.11(すなわち、WiFi)トランシーバ322とに接続され得る。上記で説明したように、WiFiトランシーバ322はまた、仮想周辺ハブデバイス112をローカルエリアワイヤレスルータ135に結合する際に使用するためにプロセッサ301に接続され得る。ZigBee(登録商標)プロトコルネットワークに結合するためのZigBee(登録商標)トランシーバ(図示せず)など、他のローカルワイヤレストランシーバも含まれ得る。いくつかの実施形態では、仮想周辺ハブデバイス112は、プロセッサ301とアンテナ328とに結合された全地球測位システム(GPS)受信機326を含み得る。複数のアンテナ304、316、324、328を有する代わりに、仮想周辺ハブデバイス112が単一の集積アンテナを含み得るか、または2つ以上のトランシーバが共通のアンテナを共有し得ることに留意されたい。また、いくつかの実施形態では、仮想周辺ハブデバイス112はワイヤードネットワーク接続ソケットを含まないことがあり(すなわち、USBポート310、FireWireポート311およびイーサネット(登録商標)ソケット312は随意であり)、代わりに、ワイヤレス通信リンクを介して周辺デバイスに結合するための1つまたは複数のワイヤレスローカルエリアネットワークトランシーバのみを含み得る。
【００６１】
仮想周辺ハブデバイスは、ユーザにとって実装するのが簡単であることが意図されているので、極めて基本的なユーザインターフェースを含み得る。たとえば、プロセッサ301は、ステータスを通信するための1つまたは複数の発光ダイオード(LED)334と、単純なユーザコマンド入力(たとえば、アクティブ化または再始動するための押下)を受信するための1つまたは複数のボタン336とに結合され得る。
【００６２】
図3Aは仮想周辺ハブデバイス112の様々な構成要素を別々の集積回路として示しているが、いくつかの構成要素は、当技術分野でよく知られているように、単一の超大規模集積(VLSI)チップに組み込まれ得るか、または単一の回路板上の集積チップセットとして組み立てられ得る。たとえば、QUALCOMM社製のGobi(商標)セルラーチップセットモジュールなど、多くの現代のセルラー電話トランシーバは、強力なプロセッサと、WiFiネットワークとBluetooth(登録商標)対応デバイスとに接続するためのトランシーバと、内蔵GPS受信機と、USB、FireWireおよび/またはイーサネット(登録商標)接続を受信するためのデータポートなど、ワイヤード接続に接続するための回路とを含む。したがって一実施形態では、仮想周辺ハブデバイス112は、適切な電源308と、1つまたは複数のアンテナ304と、1つまたは複数のLED334と、1つまたは複数のボタン336と、USB、FireWire、イーサネット(登録商標)または他のワイヤード入力を受信するためのソケットへの接続とともにハウジング300内でGobi(商標)モジュール(または同様のセルラートランシーバ)を構成することによって組み立てられ得る。Gobi(商標)モジュールのような高度なセルラートランシーバモジュールを中心として仮想周辺ハブデバイスを構成することにより、単一の小型パッケージで3Gセルラー、WiFi、およびBluetooth(登録商標)接続性が提供され得る。
【００６３】
仮想周辺ハブデバイス112内のプロセッサ301は、本明細書で説明する様々な実施形態のプロセスおよび通信を可能にするための(メモリ302に記憶され得る)プロセッサ実行可能命令で構成され得る。そのようなソフトウェアは、セルラー通信ネットワーク130と通信することならびに周辺デバイスとのローカルネットワークを確立することに必要とされるプロセスを含み得る。そのようなソフトウェアは、仮想周辺ハブデバイス112とVPHサーバ140との間の通信ならびにユーザのパーソナルコンピュータ138との通信を管理するためのカスタムプロトコルをも含み得る。そのようなソフトウェアはまた、インターネットを介した「トンネリング」によるVPHサーバ140への送信のために受信データをパッケージングすることを含めて、プロセッサ301上にデバイスドライバがインストールされていなくても周辺デバイスを識別し、周辺デバイスと通信するためのプロセスを制御し得る。そのようなソフトウェアはまた、本明細書で説明するように、セルラートランシーバをアイドルモードに入らせ、周辺デバイスからの入力またはVPHサーバ140から受信された信号に応答して起動させることによって、動作コストを最小限に抑えるかまたは(バッテリー電源式構成で実装されたとき)バッテリー寿命を最大にするためのプロセスを含み得る。
【００６４】
一実施形態では、仮想周辺ハブデバイス112は、USBポート310またはイーサネット(登録商標)ソケット312などを介したパーソナルコンピュータ138への直接接続を可能にし得る。この実施形態では、パーソナルコンピュータ138は、仮想周辺ハブデバイス112に結合された周辺デバイスがあたかもコンピュータに直接接続されているかのように、それらの周辺デバイスにアクセスし得る。
【００６５】
上記のように、仮想周辺ハブデバイス112は、バッテリー電源式であり得るか、従来の家庭用AC電流によって電力供給され得るか、または自動車から(たとえば、シガレットライターから)12ボルトDC電流によって電力供給され得る。したがって、電源308は、デバイスが受信するように構成されたどんな形態の外部電源からでも電力を受信し、プロセッサ301およびトランシーバ回路によって必要とされる電力を構成するように構成される。バッテリー電源式実装形態では、電源308はまた、バッテリー(別個に図示せず)の充電を監視することと、コネクタプラグ309が電力ソケットにプラグ接続されたとき、バッテリーに充電電力を供給することとのための回路を含み得る。そのような機能を実行することができる電源回路は電子デバイス分野においてよく知られている。
【００６６】
本明細書でより十分に説明するように、仮想周辺ハブデバイス112は、異なるステータス状態を示すために、黄色、緑色および赤色の光を発することができる3色LEDセットなど、異なる色で照明するLED334を含み得る。そのようなLEDは、プロセッサ301からのコマンドに応答して、点滅するかまたは連続光を発するように構成され得る。
【００６７】
仮想周辺ハブデバイス112は様々な形態で構成され得る。コンセントにプラグ接続する基本的な小型デバイスの例を図3Bに示す。図示のように、仮想周辺ハブデバイス112は、多色LED334を提示し、単一のプッシュボタン332と1つまたは複数のUSBソケット310(および/または他のソケット)とを起用する、コンパクトなハウジング300内にパッケージングされ得る。以下でより十分に説明するように、VPHサーバ140への仮想周辺ハブデバイス112の登録を可能にするために、ハウジング300に一意の通し番号336がプリントされ得る。アンテナ304はハウジング300の一部として設けられ得る。電気プラグ309は、ケース300の一部として、または標準コンセント340にプラグ接続するように構成された(図示の)別個のモジュールとして設けられ得る。いくつかの実施形態では、電源308は、プラグ309を含むモジュールの一部として含まれ得る。
【００６８】
図4に、ソフトウェアモジュール、ハードウェア構成要素、またはハードウェアとソフトウェアモジュールの組合せとして仮想周辺ハブシステム400内に実装され得る機能モジュールを示す。仮想周辺ハブシステム400は、全体的なプロセスを監督し、他のモジュールを協調させる、プロセッサ301中に実装されたエグゼクティブ(executive)機能402を含み得る。通信モジュール404は、トランシーバと、トランシーバを動作させることならびに通信機能をエグゼクティブ機能402と協調させることのためのソフトウェアとを含み得る。通信モジュール404は、様々な通信プロトコルに準拠すること、ならびに通信リンクをネゴシエートすること、データ送信を検証すること、およびデジタル通信システムの他の共通機能を実行することに必要な処理を含み得る。また、ブリッジング論理モジュール406は、エグゼクティブ機能402に結合され、周辺デバイスとVPHサーバ140などの外部コンピュータとの間に通信リンクを与えることに関連するプロセスを実行するように構成され得る。ブリッジング論理モジュール406は、たとえば、VPHサーバ140へのトンネリングのために、周辺デバイスから受信されたデータをIPパケットにパッケージングするための論理を含み得る。同様に、ブリッジング論理モジュール406は、VPHサーバ140から受信されたコマンドパケットをアンパックし、埋め込まれたコマンドを適切な周辺デバイスに与えるための論理を含み得る。
【００６９】
様々な実施形態では、仮想周辺ハブシステム400は、デバイスが従来のルータの典型的なプロセスを実行することを可能にするためのルータ論理408などの追加のモジュールを含み得る。また、仮想周辺ハブシステム400は、デバイスがサーバの典型的なプロセスを実行することを可能にするためのサーバ論理410を含み得る。さらに、仮想周辺ハブシステム400の実施形態は、周辺デバイスからのデータを受信し記憶することと、後でそのデータを宛先コンピュータに中継することとのためのメモリおよび記憶転送(store-and-forward)論理412を含み得る。ルータ、サーバおよび記憶転送プロセスおよび論理はコンピュータ分野においてよく知られている。
【００７０】
仮想周辺ハブの初期構成および動作の一部を例示的な方法500として図5に示す。仮想周辺ハブデバイスシステムの有益な特性は、単純で高速な信頼できるセットアップである。簡略化されたセットアップを可能にするために、仮想周辺ハブデバイス112は、押下されるとアクティブ化を開始する単一のボタンで構成され得る。仮想周辺ハブデバイス112はまた、ハウジング300にプリントされたコード336を含み得る。仮想周辺ハブデバイス112は、セルラーサービス(たとえば、CDMA、3G、4Gなど)とのワイヤレス通信リンクを確立し、インターネット114を介してVPHサーバ140と直接通信するように事前構成され得る。アクティブ化ボタンを押下した後に、ユーザは、VPHサーバ140のインターネットウェブサイトにアクセスし、ユーザを仮想周辺ハブデバイス112の所有者として識別するためにデバイスのコード336をウェブページに入力することができる。その後、VPHサーバ140は、必要なドライバソフトウェアをユーザのコンピュータにダウンロードし得る。
【００７１】
図5を参照すると、仮想周辺ハブデバイス112は、アクティブ化ボタンの押下を受信したことに応答してアクティブ化プロセスを開始する(ステップ502)。代替的に、いくつかの実施形態では、デバイスが、コンセント340などの電源に最初にプラグ接続されたときにアクティブ化が開始され得る。アクティブ化が開始すると、仮想周辺ハブデバイス112は、LED334を点滅させることを開始する(ステップ504)。たとえば、プロセッサ301は、デバイスがセルラーネットワークと接続していることを示すために黄色のLEDを点滅させ得る。同時に、仮想周辺ハブデバイス112は、セルラーデータネットワークとの接続を行うことを試みる(ステップ506)。プロセッサは、トランシーバ303がセルラーネットワークへの接続を確立したと判断すると、セルラーネットワークを介してVPHサーバ140にデータ呼を発する(ステップ508)。このプロセス中に、プロセッサ301は、セルラートランシーバ303を監視して、VPHサーバ140との接続が確立されたかどうかを判断する(判断510)。トランシーバ303がVPHサーバ140への通信リンクを確立するプロセスにある限り(すなわち、判断510=「いいえ」)、プロセッサ301は黄色のLEDを点滅させ続ける。
【００７２】
プロセッサが、VPHサーバ140との通信リンクが確立されたと判断すると(すなわち、判断510=「はい」)、プロセッサ301は、登録および構成プロセスが進行中であることを示すために、黄色のLEDに一定の電力を印加する(ステップ512)。同時に、プロセッサ301は、仮想周辺ハブデバイス112の識別子をVPHサーバ140に通信して、それ自体を識別し、サーバに登録する(ステップ514)。仮想周辺ハブデバイスは、ある程度の事前構成された時間期間(たとえば、5分)の間この状態にとどまり得る。この時間中に、ユーザは、ウェブブラウザとインターネットへのアクセスとをもつ任意のコンピュータからVPHサーバ140にアクセスする(ステップ516)。最初に、ユーザは、ユーザ名およびパスワードとともに、仮想周辺ハブデバイス112にプリントされた番号を入力することによってVPHサーバ140上にアカウントをセットアップし得る。一実施形態では、VPHサーバ140に対して仮想周辺ハブデバイス112を識別するために使用される番号は6桁の番号である。VPHサーバ140は、仮想周辺ハブデバイス112のオンライン登録中にそれ自体によって与えられた番号を用いて、ユーザによって入力された番号を検証する(ステップ520)。ユーザ入力コードと、仮想周辺ハブデバイス112によって通信されたコードとが一致した場合、VPHサーバ140は、仮想周辺ハブデバイス112およびユーザのコンピュータとの将来の通信において使用されるべき暗号化鍵と認証鍵とを生成し、登録プロセスを完了するために、それらの鍵をデバイスとユーザのコンピュータとに送信する(ステップ522)。登録プロセスの一部として、ユーザのコンピュータは、仮想周辺ハブデバイス112および/またはVPHサーバ140と通信するために使用され得るドライバソフトウェアをダウンロードし得る。そのようなドライバは、特定の仮想周辺ハブデバイス112(すなわち、VPHサーバ140に入力された同じ6桁の番号をもつデバイス)とのセキュアな通信を可能にするように事前構成され得る。また登録プロセスの一部として、VPHサーバ140は、仮想周辺ハブデバイスのためのソフトウェア更新、仮想周辺ハブデバイスに結合された周辺デバイスとインターフェースするための適切な周辺機器ドライバ、通信ルックアップテーブル(たとえば、更新されたIPアドレス)など、様々な機能をサポートするためのデータおよびソフトウェアを仮想周辺ハブデバイス112にダウンロードし得る。
【００７３】
登録および構成プロセスが完了すると、プロセッサ301は、仮想周辺ハブデバイス112がVPHサーバ140に登録されたことをユーザに示すために一定の緑色のLEDを照明する(ステップ524)。
【００７４】
図5に示す登録プロセスは、仮想周辺ハブデバイス112がどのようにセットアップされ、VPHサーバ140上で維持されるユーザアカウントに登録され得るかの一例にすぎないことに留意されたい。仮想周辺ハブデバイス112を登録し、それらをVPHサーバ140上で維持されるユーザアカウントと相関させるための他の機構も実装され得る。たとえば、VPHサーバ140上で維持されるユーザアカウントとの(たとえば、仮想周辺ハブデバイス112の6桁の番号に基づく)仮想周辺ハブデバイス112の相関は、デバイスのポイントオブセールにおいて達成され得る。そのような実装形態では、ユーザアカウントを識別またはセットアップするのに必要なユーザ情報は、キャッシャーによって取得され得るか、または6桁のコードとともにその情報をVPHサーバ140に送信するポイントオブセール端末にユーザによって入力され得る。したがって、ユーザが仮想周辺デバイスを購入した後に店を出るとき、システムは、コンセントにプラグ接続され、周辺デバイスに接続されるとすぐに、VPHサービスを開始する準備ができている。
【００７５】
仮想周辺ハブデバイス112をアクティブ化し、それをユーザVPHアカウントに関連付けるための別の例示的な方法は、デバイス自体の中に含まれ得るGPS受信機からのロケーション情報を利用し得る。この実装形態では、仮想周辺ハブデバイス112がコンセントにプラグ接続されることなどによってアクティブ化されたとき、デバイスはそれのGPS受信機326からそれのロケーションを判断する。VPHサーバ140との通信リンクを確立すると、仮想周辺ハブデバイス112は、それの正確な緯度および経度座標とともにそれの識別コード(たとえば、ハウジングにプリントされた6桁の番号)をサーバに通知し得る。この座標情報を使用して、VPHサーバ140は、地図座標に基づいて判断された居住地住所などの公共情報からユーザを識別し、次いで、仮想周辺ハブデバイス112を、同じ居住地住所を有するユーザアカウントに関連付けることができる。
【００７６】
構成および登録プロセスが完了すると、仮想周辺ハブデバイス112は、セルラーネットワーク接続性を有するロケーションに移動され得る。様々な周辺機器が仮想周辺ハブデバイス112にプラグ接続され得る。一実施形態では、仮想周辺ハブデバイス112は、それにプラグ接続された周辺デバイス、またはそれにワイヤレスにリンクされた周辺デバイスを発見する(ステップ526)。仮想周辺ハブデバイス112に結合された周辺デバイスが識別されると、仮想周辺ハブデバイス112は、それらの媒体アクセス制御(MAC)識別子(ID)を送信することなどによって、VPHサーバ140に対してそれらを識別する(ステップ528)。VPHサーバ140は、周辺デバイス識別子を、ユーザまたは特定の仮想周辺ハブデバイス112に関連するデータフィールドに記憶する(ステップ530)。VPHサーバ140はまた、各周辺デバイスにIPv6アドレスを割り当て得、IPv6アドレスは同じくデータレコードに記憶され得る。
【００７７】
VPHサービス中に含まれ得るさらなる特徴は、特定の周辺デバイスに適したドライバソフトウェアをユーザのコンピュータ138にダウンロードすることに関与する。このサービスでは、仮想周辺ハブデバイス112は、上記で説明した登録およびデバイス発見プロセス中に、接続された周辺デバイスに関してVPHサーバ140に通知する。VPHサーバ140は、より古い周辺デバイスに適し得るドライバソフトウェアの履歴バージョンを含む、市場において入手可能なたいていの周辺デバイスのためのドライバソフトウェアを記憶するように構成され得る。したがって、仮想周辺ハブデバイス112が、各周辺デバイスのMAC IDを与えることなどによって、VPHサーバ140に対して、接続された周辺デバイスを識別すると、サーバは、それのメモリまたは関連するデータベースに記憶された適切なドライバソフトウェアを識別し、ユーザがサーバにアクセスしたときに適切なドライバをユーザのコンピュータ138にダウンロードすることができる。ドライバソフトウェアのこのダウンロードは、ユーザが最初にVPHサーバ140に登録するか、またはコンピュータ138をユーザのアカウントと特定の仮想周辺ハブデバイス112とに関連付けるときに達成され得る。また、VPHサーバ140は、アタッチされた周辺デバイスのMAC IDと、特定のユーザコンピュータにダウンロードされたドライバソフトウェアとのデータレコードを保持し得る。そのような記録を使用して、VPHサーバ140は、ユーザコンピュータ138が新しいまたは更新されたドライバを必要とするときを判断し、更新が受信されたときまたは仮想周辺ハブデバイス112に新しい周辺機器が接続されたとき、適切なドライバソフトウェアをダウンロードし得る。このようにして、ユーザのコンピュータ138は、ドライバソフトウェアを追跡し、自らドライバをダウンロードするか、または周辺デバイスに付属するドライバソフトウェアを含んでいるCDをわざわざ用いる必要なしに、仮想周辺ハブデバイス112にプラグ接続された周辺デバイスに必要な最新のドライバソフトウェアを自動的にプロビジョニングされ得る。したがって、このVPHサービスは、様々な周辺デバイスを使用することのユーザエクスペリエンスを簡略化するのに役立つことができる。
【００７８】
上述のように、仮想周辺ハブデバイス112は、ユーザがイーサネット(登録商標)またはWiFi接続によって仮想周辺ハブデバイス112をユーザのローカルネットワークに接続することを望むときなどにローカルネットワーク動作をサポートすることができる。そのような実施形態では、ユーザは、(たとえば、ウェブブラウザを介してサーバにアクセスすることによって)VPHサーバ140に関連情報を与え得、次いで、VPHサーバ140は、入力された情報を使用して仮想周辺ハブデバイス112を構成する。成功した場合、仮想周辺ハブデバイス112は、インターネット114にアクセスするためにローカルネットワークを活用し、セルラーデータネットワーク130を使用せずに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)。場合によっては、データ要求またはコマンドはIPパケット内にカプセル化され得、パケットペイロードが、VPHサーバ140によってフォーマットされた、デバイスドライバによって必要とされるフォーマットのデータ要求またはコマンドを含む。そのような場合、仮想周辺ハブデバイス112は、データ要求またはコマンドをアンパックし、それを周辺デバイスとの確立されたワイヤードまたはワイヤレス接続を介してそのデバイスに中継する。
【００８１】
周辺デバイスが(上記で説明したデータ要求メッセージに応答して発生し得るなどの)VPHサーバ140またはユーザコンピュータ138に通信するためのデータを与える場合、仮想周辺ハブデバイス112は、そのようなデータを受信し、VPHサーバ140に中継する(ステップ538)。場合によっては、デバイスデータが、適切なドライバソフトウェアを使用したVPHサーバ140による処理のためにインターネットを通してトンネリングされ得るように、仮想周辺ハブデバイス112はそのデータをIPパケット内にカプセル化し得る。上記で説明したように、データメッセージは、インターネット114へのセルラーまたはローカルエリアネットワーク接続を介してVPHサーバ140のインターネットアドレスに送信される。VPHサーバ140は、周辺デバイスデータパケットを受信し、必要な場合処理し、(適切な場合)インターネット114を介してユーザコンピュータに中継する(ステップ540)。
【００８２】
データ要求にアクティブに応答しないとき、または周辺デバイスからのデータを中継しないとき、仮想周辺ハブデバイス112は、VPHサーバ140からのメッセージあるいはデバイスまたはローカルエリアネットワークに結合されたコンピュータからのメッセージを待つ(ステップ542)。セルラーデータネットワークを介したデータ接続を維持することに関連するコストを最小限に抑えるために、仮想周辺ハブデバイス112は、アクティビティが所定の時間量(「タイムアウト間隔」)の間停止したときにアクティブデータ接続を終了するように構成され得る。したがって、仮想周辺ハブデバイス112のプロセッサ301は、最後の通信イベント以来タイムアウト間隔が発生したかどうかを判断する(判断544)ように構成され得る。タイムアウト間隔が満了していない場合(すなわち、判断544=「いいえ」)、仮想周辺ハブデバイス112は、VPHサーバ140からのメッセージのためにオープンセルラーデータ通信リンクを監視し続け得る。タイムアウト間隔が満了すると(すなわち、判断544=「はい」)、仮想周辺ハブデバイス112は、オープンセルラーデータ通信リンクを終了し、「スリープ」モードに入る(ステップ546)。仮想周辺ハブデバイス112が無尽蔵の電源(たとえばACコンセント)にプラグ接続される実施形態では、スリープモードは、オープンセルラーデータ通信リンクを終了することと、ただしデバイスの電話番号に発せられたメッセージまたは電話呼を監視し続けることとに関与し得る。たとえば、図8Aを参照しながら以下でより十分に説明するように、仮想周辺ハブデバイス112は、スリープモード中に、新しいデータ通信リンクを開始するためにVPHサーバ140にデータ呼を発するようにデバイスを促すシンプルメッセージサービス(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は、ウェブカム102に、アクティブ化し、画像データを仮想周辺ハブデバイス112に送信することを開始するようにシグナリングし得る。仮想周辺ハブデバイス112は、周辺デバイスデータを受信し、インターネット114を介してVPHサーバ140にトンネリングされ得るIPパケットにデータをパッケージングする(ステップ612)。インターネットを介してデータをトンネリングするための方法およびプロトコルはコンピュータ通信分野においてよく知られている。
【００８５】
VPHサーバ140は、仮想周辺ハブデバイス112からメッセージパケットを受信し、トンネリングIPパケットからデバイスデータをアンパックし、適切なドライバソフトウェアを使用して、受信されたデバイスデータを処理する(ステップ614)。次いで、VPHサーバ140は、ウェブページまたはビデオフィードなどの形態で標準IPフォーマットを使用して、要求されたデータをインターネット114を介して要求側のコンピュータ上に送信する(ステップ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)、コマンドがインターネット114を通して仮想周辺ハブデバイス112にトンネリングされるように、コマンドをIPメッセージパケット内にカプセル化する(ステップ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に登録されると、仮想周辺ハブデバイス112は、デバイス発見メッセージ706を送信し、デバイス返答メッセージ708を受信することなどによって、それに結合された周辺デバイス102を発見し得る。デバイス発見および返答メッセージフォーマットは、Bluetooth(登録商標)プロトコルなどのネットワーキングプロトコルにおいて十分に確立されている。仮想周辺ハブデバイス112は、アタッチされた周辺デバイスを識別すると、MAC IDなど、周辺デバイスに関する情報をVPHサーバ140に送信し得る(メッセージ710)。
【００８８】
登録プロセスが完了すると、ユーザは、VPHサーバ140にログオンすることによってコンピュータ138から周辺デバイス102にアクセスし得る。上記で説明したように、VPHサーバ140は、アクセスされ得る周辺デバイス102のメニューを提示するウェブページをユーザのコンピュータ138のブラウザに送り得る(メッセージ711)。そのようなメニューまたは直接コマンドを使用して、ユーザは、アクセス要求メッセージ712をインターネット114を介してVPHサーバ140に送ることによって特定の周辺デバイスへのアクセスを要求し得る。このメッセージを受信したことに応答して、VPHサーバ140は、インターネット114およびセルラーワイヤレスネットワーク130を介して仮想周辺ハブデバイス112とのオープンデータ通信リンク上で適切なデータ要求メッセージ714を送信し得る。仮想周辺ハブデバイス112はデータ要求メッセージ716を選択された周辺デバイス102に中継する。要求に応答して生成されたデータは、周辺デバイス102から、確立されたケーブルまたはワイヤレス通信リンクを介して仮想周辺ハブデバイス112に送信され得る(メッセージ718)。次いで、仮想周辺ハブデバイスは、セルラーワイヤレスネットワーク130およびインターネット114を介してオープンデータ通信リンク上でカプセル化IPパケット中などのデータをVPHサーバ140に中継する(メッセージ720)。VPHサーバ140は、デバイスデータをアンパックし、それを適切なデバイスドライバソフトウェアを使用して処理し(処理722)、そのデータをインターネット114を介して要求元コンピュータ138上に転送し得る(メッセージ724)。
【００８９】
上述のように、医療機関またはデバイスメーカーなど、他のデータユーザが、仮想周辺ハブデバイス112に結合された周辺デバイスにデータを要求し得る。そうするために、データユーザによって制御されるサーバ142、144は、データ要求メッセージをインターネット114を介してVPHサーバ140に送信し得る(メッセージ726)。VPHサーバ140がメモリ中に要求されたデータを有しない場合、VPHサーバ140は、データ要求メッセージ728を仮想周辺ハブデバイス112に送信し得る。仮想周辺ハブデバイス112はデータ要求メッセージ730を選択された周辺デバイス102に中継する。要求に応答して生成されたデータは、周辺デバイス102から、確立されたケーブルまたはワイヤレス通信リンクを介して仮想周辺ハブデバイス112に送信され得る(メッセージ732)。次いで、仮想周辺ハブデバイスは、セルラーワイヤレスネットワーク130およびインターネット114を介してオープンデータ通信リンク上でカプセル化IPパケット中などのデータをVPHサーバ140に中継する(メッセージ734)。VPHサーバ140は、デバイスデータをアンパックし、それを適切なデバイスドライバソフトウェアを使用して処理し(随意処理736)、そのデータをインターネット114を介して要求元サーバ142、144上に転送し得る(メッセージ738)。データ要求側がデバイスドライバを制御するときなど、VPHサーバ140が特定の周辺デバイスのためのデバイスドライバを所有しない状況では、VPHサーバ140は、処理なしにカプセル化デバイスデータを単に中継し得る。
【００９０】
VPHサービスは、データ要求メッセージを受信することなしに、周辺デバイス102によって生成されたデータを配信するように構成され得る。たとえば、ホームセキュリティシステムなどの周辺デバイス102は、確立された通信リンク(たとえば、USBまたはFireWireケーブルあるいはローカルワイヤレス通信リンク)によって仮想周辺ハブデバイス112に送信されるデータメッセージ740を生成し得る。そのようなデータメッセージ740を受信したことに応答して、仮想周辺ハブデバイス112は、VPHサーバ140にデータ呼を発し、セルラーデータネットワーク130およびインターネット114を介してデータを送信し得る(メッセージ742)。VPHサーバ140は、デバイスデータをアンパックし、それを適切なデバイスドライバソフトウェアを使用して処理し(随意処理744)、そのデータを、メッセージ746においてインターネット114を介してサーバ142、144などの適切な宛先コンピュータ上に転送し得るか、またはメッセージ748においてインターネット114を介してユーザコンピュータ138上に転送し得る。データ生成周辺デバイスがメーカーによって制御されるときなど、VPHサーバ140が特定の周辺デバイスのためのデバイスドライバを所有しない状況では、VPHサーバ140は、処理なしにカプセル化デバイスデータを単に中継し得る。
【００９１】
上述のように、仮想周辺ハブデバイス112はまた、ローカルワイヤレスルータ135を通したインターネット114への接続を介してVPHサーバ140と通信するように構成され得る。そのような通信システムにおいて様々な構成要素の間で送信され得る例示的なメッセージを図7Bに示す。たとえば、図5を参照しながら上記で説明した登録および構成プロセス中に、仮想周辺ハブデバイス112は、ワイヤレスルータ135を介してインターネット114にアクセスできるようになり得ることを発見し得る。その場合、仮想周辺ハブデバイス112は、ルータによって実装されたワイヤレスプロトコルにおいて規定されるように、メッセージ703の交換においてルータ135とのワイヤレス通信リンクを確立し得る。ルータに接続されると、仮想周辺ハブデバイス112は、それの識別番号(たとえば、一意の6桁)をワイヤレスルータ135を介してVPHサーバ140に送信し得(メッセージ704a)、ワイヤレスルータ135はそのメッセージをインターネット114を介して中継し得る(メッセージ704b)。同様に、仮想周辺ハブデバイス112は、ワイヤレスメッセージ710aにおいて、アタッチされた周辺デバイス102に関する情報をワイヤレスルータ135に送信し得、ワイヤレスルータ135はそのメッセージをインターネット114を介してVPHサーバ140に中継し得る(メッセージ710b)。他の同様の番号付きメッセージは、図7Aを参照しながら上記で説明した方法で交換され得る。
【００９２】
図7Bはまた、ローカルワイヤレスルータ135が利用可能なときの、ユーザのパーソナルコンピュータ138と、仮想周辺ハブデバイス112と、周辺デバイス102との間の通信のメッセージフローを示している。ユーザのパーソナルコンピュータ138は、ワイヤレスルータ135に結合されると、VPHサーバ140にログインし得、アクセスメッセージ712aがワイヤレスルータ135に送られる。ワイヤレスルータ135は、パーソナルコンピュータ138からのアクセスメッセージをインターネット114を介してVPHサーバ140に中継し得る(メッセージ712b)。VPHサーバ140から仮想周辺ハブデバイス112へのメッセージは、インターネット114を介してワイヤレスルータ135に通信され得(メッセージ714a)、ワイヤレスルータ135はそれらのメッセージを仮想周辺ハブデバイス112に中継し得る(メッセージ714b)。同様に、周辺デバイス102からのデータを中継するメッセージが仮想周辺ハブデバイス112からワイヤレスルータ135に送信され得(メッセージ720a)、ワイヤレスルータ135はそれらのメッセージをインターネット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を「起動」させるために、仮想周辺ハブデバイス112にメッセージを送るように構成され得る。これを達成するための例示的な方法800を図8Aに示し、その過程で交換され得る例示的なメッセージを図8Bに示す。(ステップに関して)図8Aおよび(メッセージに関して)図8Bを参照すると、VPHサーバが、仮想周辺ハブデバイス112に結合された特定の周辺デバイスに対するデータまたはアクセスについての要求を受信したとき(ステップ802およびメッセージ852、853)、VPHサーバは仮想周辺ハブデバイス112に起動メッセージを送信する(ステップ804)。そのような起動メッセージは、従来の手段によって送られ得るSMSメッセージとしてセルラーデータネットワーク130に送信され得(メッセージ854)、セルラーデータネットワーク130はそのメッセージを従来のSMSメッセージのように配信し得る(メッセージ856)。そのようなSMSメッセージは、仮想周辺ハブデバイス112に割り当てられた電話番号にアドレス指定され、仮想周辺ハブデバイスが、起動メッセージを構成するものとして認識することができるデータまたはコードを含み得る。代替的に、VPHサーバ140は、ページング受信機で構成され得る仮想周辺ハブデバイス112にページングタイプメッセージを送り得る。
【００９４】
仮想周辺ハブデバイス112がSMSまたはページメッセージを受信すると(ステップ806)、デバイスプロセッサ301は、受信されたメッセージをパースして、仮想周辺ハブデバイス112が起動すべきであることを示すコードを含むかどうかを判断する(判断808)。受信されたメッセージが適切な「起動コード」を含まない場合(すなわち、判断808=「いいえ」)、プロセッサ301は受信されたメッセージを単に無視する(ステップ810)。受信されたコードのこのテストは、メッセージが不適当にルーティングされたとき、または間違った番号がダイヤルされたときなど、仮想周辺ハブデバイス112の意図しないアクティブ化に対してガードすることができる。
【００９５】
プロセッサ301が、受信されたメッセージが適切な「起動コード」を含むと判断した場合(すなわち、判断808=「はい」)、仮想周辺ハブデバイス112は、それのセルラートランシーバ303をアクティブ化して、セルラーワイヤレスネットワーク130とのセルラーデータ通信リンクを確立するのに必要なネットワークシグナリングメッセージ702を交換し得る。インターネット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を通して、選択された周辺デバイスにコマンドまたはメッセージを返信することをも可能にする。これは、データユーザサーバ142、144が特定の周辺デバイスにアドレス指定されたメッセージ962をVPHサーバ140に送信することに関与し得、VPHサーバ140はインターネット114を介してメッセージを受信する(ステップ918)。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を参照すると、写真を撮ったユーザは、USBケーブル、FireWireケーブルまたはローカルワイヤレス接続(たとえば、Bluetooth(登録商標)ワイヤレスリンク)などによってユーザのデジタルカメラを仮想周辺ハブデバイス112にリンクする(ステップ972)。接続されると、仮想周辺ハブデバイスは、カメラから(たとえば、共有用に指定された)フォトファイルを受信する(ステップ974およびメッセージ990)。仮想周辺ハブデバイス112aは、VPHサーバ140へのリンクを確立し、受信されたフォトファイルを送信する(ステップ976およびメッセージ992)。VPHサーバ140は、(たとえば、オンラインセッションにおいて確立されたユーザ選好設定によって)フォトファイルをデジタルフォトフレームのIPv6アドレスなどの特定の宛先に転送するように構成され得る。したがって、VPHサーバ140は、仮想周辺ハブデバイス112aの識別子を使用して、受信されたフォトファイルの適切な宛先(たとえば、デジタルフォトフレームのIPv6アドレス)をルックアップし(ステップ978)、フォトファイルを、インターネット114を介して宛先周辺デバイス106に結合された仮想周辺ハブデバイス112bに送信する(ステップ980およびメッセージ994)。受信仮想周辺ハブデバイス112bは、受信されたフォトファイルを宛先デジタルフォトフレーム106に中継し(ステップ982およびメッセージ996)、デジタルフォトフレームはフォトを表示する(ステップ984)。
【０１０２】
VPHサーバ140は、様々な実施形態のVPHサービスをサポートするために、図10にその例が示されているよく知られているデータ構造を実装し得る。たとえば、VPHサーバ140は、サーバが特定のユーザを特定の仮想周辺ハブデバイスおよび接続された周辺デバイスに関連付けるために使用することができるユーザアカウント1000のデータベースを維持し得る。そのようなデータ構造1000は、各々が複数のデータフィールド1002〜1014を含む、(行として示されている)複数のデータレコードを含み得る。たとえば、データフィールド1002は、仮想周辺ハブデバイスの一意の識別子を記憶するために設けられ得、データフィールド1004は、ユーザ識別子(たとえば、ユーザアカウント番号またはユーザ名)を記憶するために設けられ得る。データ構造1000はまた、VPHサーバ140がインターネット114を介して仮想周辺ハブデバイス112にメッセージを送るために使用することができるIPアドレスを記憶するためのデータフィールド1006を含み得る。さらに、データ構造1000は、デバイスIPv6アドレス(データフィールド1008)、デバイスID(データフィールド1010)、デバイスデータを記憶するための1つまたは複数のデータフィールド(データフィールド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、および周辺デバイスから受信されたデータを記憶するための1つまたは複数のデータフィールド1114を含み得る。そのようなデータ構造1100を使用して、仮想周辺ハブデバイス112は、接続された周辺デバイスのための多種多様なデータ管理サービスをサポートするように構成され得る。
【０１０４】
仮想周辺ハブデバイス112によって可能にされる別のサービスは、アクセスされたときのみ周辺デバイスを電源投入する能力である。これを可能にするための例示的な方法1200を図12に示す。仮想周辺ハブデバイス112は、特定の周辺デバイスとの対話が完了したときアクティブ化され得るアイドルシャットダウンタイマーで構成され得る(ステップ1202)。仮想周辺ハブデバイスプロセッサ301は、シャットダウンタイマーを監視して、シャットダウンタイマーが満了したかどうかを判断する(判断1204)。カウントダウンタイマーが満了する前にその周辺デバイスとの別の対話が達成された場合、カウントダウンタイマーはステップ1202に戻ることによって再始動され得る。カウントダウンタイマーが満了した場合(すなわち、判断1204=「はい」)、プロセッサは、周辺デバイスに電源切断するように指令する信号を周辺デバイスに送信する(ステップ1206)。周辺デバイスを電源切断することにより、周辺デバイスが使用されていない間、バッテリー電力またはデバイス寿命を温存することを可能にし得る。仮想周辺ハブデバイス112が、その周辺デバイスからのデータまたはその周辺デバイスへのアクセスについての要求を受信したとき(ステップ1208)、仮想周辺ハブデバイス112は、電源投入するようにその周辺デバイスに指令する信号をその周辺デバイスに送信する(ステップ1210)。その周辺デバイスとの対話が完了すると、シャットダウンタイマーは再始動され、ステップ1202に戻り得る。
【０１０５】
仮想周辺ハブデバイス112およびVPHサービスは、消費者および企業に対して潜在的価値のある多数のサーバベース動作を可能にし得る。仮想周辺ハブデバイス112は、サーバおよびインターネットアクセスルータの設置を必要とすることなしに様々な周辺デバイスへの単純なアクセスを与えるので、広範囲の電子デバイスからのデータが、そのようなデータから利益を得ることができる機関および企業にとって利用可能になり得る。中間VPHサーバ140の使用から生じる1つの興味深い概念は、バッチまたはサーバ開始型動作の概念である。そのようなサービスおよび動作は、コンテキスト依存動作のために周辺デバイスにアクセスすることができるアドオンサービスの形態をとり得る。一例は、後の取出しのために小さいクリップまたはスナップショットが撮影され、VPHサーバに送信され得るようにウェブカム102が「アウェイクされる」、ウェブカムを介したセキュリティ監視である。別の例は、コンテンツサイトを監視し、特定のコンテンツを大容量ストレージにダウンロードすることに関与する。別の例は、デジタルカメラなど、接続された非ネットワーク対応デバイスからのバッチアップロードを含む。さらなる一例は、自動車診断システムからのサーバ開始型アップロードである。
【０１０６】
そのようなサーバベースサービスを与えるためにVPHサーバ140によって実装され得る例示的な方法1300を図13に示す。周期的に、VPHサーバ140は、上記で説明した方法を使用して仮想周辺ハブデバイス112への通信リンクを確立する(ステップ1302)。通信リンクが確立されると、VPHサーバ140は、上記で説明したように、接続された周辺デバイスをポーリングし、それらの周辺デバイスのデータを受信するためのメッセージを仮想周辺ハブデバイス112に送る(ステップ1304)。次いで、VPHサーバ140は、受信されたデバイスデータを使用してデータベースを更新し(ステップ1306)、データにサブスクライブしている個々のサーバにデバイスデータのこのデータベースを公開する(ステップ1308)。周辺デバイスデータへのサブスクライバ(たとえば、セキュリティサービス会社、病院、デバイスメーカー、自動車整備会社など)は、それらのサブスクライバにとって関心のあるデータのみにサブスクライブし得る。データサブスクライバはまた、VPHサーバが登録仮想周辺ハブデバイスを介して周辺デバイスへのポータルとして機能することができるので、必要な場合に周辺デバイスにアクセスし得る(ステップ1310)。
【０１０７】
様々な実施形態は多数の有用な適用例を可能にし、それのいくつかの例について以下で説明する。
【０１０８】
仮想周辺ハブデバイス112およびVPHサービスは、インターネットアクセスを用いて任意のコンピュータからユーザの周辺デバイスへのウェブアクセスを与えることができる。そのような適用例では、VPHサーバ140は、周辺デバイスに接続されたコンピュータとして働き、ウェブブラウザを介してデバイスデータおよびコマンドへのアクセスを与えることができる。たとえば、周辺デバイスはリモートハードドライブ108(たとえば、USBケーブル6を用いて仮想周辺ハブデバイス112に結合されたUSBハードドライブ)であり得、その場合、VPHサービスは、ユーザが任意のウェブブラウザからリモートハードドライブ108上のコンテンツをブラウズし、そのコンテンツにアクセスすることを可能にし得る。上記で説明した別の例は、仮想周辺ハブデバイス112に結合された被接続ウェブカムから画像を閲覧することに関与する。別の例は、任意のウェブブラウザからオフラインで行われた周辺デバイス動作の結果にアクセスすることに関係する。さらなる一例では、VPHサーバ140は、実際のデータが、仮想周辺ハブデバイス112に結合されたリモートハードドライブ108上に記憶される、電子メールアカウントをホスティングするように構成され得る。本出願は、電子メールメッセージデータがあたかもサーバ上にホスティングされているかのように電子メールサービスが機能しながら、ユーザが自分の個人電子メールデータに対する完全な制御を維持することを可能にし得る。
【０１０９】
VPHサービスはまた、大容量記憶デバイスへのリモートアクセスを迅速に可能にするために使用され得る。本出願では、ユーザがVPHサーバ140を介してストレージデバイスに記憶されたデータにアクセスし得るように、大容量記憶デバイスは仮想周辺ハブデバイス112にプラグ接続され得る。本出願は、データセキュリティを与えるだけでなく、ユーザがグループにわたってデータを共有するかまたは任意のウェブブラウザからデータにアクセスすることを可能にする。
【０１１０】
上記で説明した別のVPHサービスは、特殊なUSBケーブルを介して仮想周辺ハブデバイス112を車両診断ポートにプラグ接続することによってリモート車両診断を与えることに関与する。VPHサービスはセルラー電話ネットワークおよびインターネットのインフラストラクチャを利用するので、このUSBケーブルに接続された仮想周辺ハブデバイス112は、インフラストラクチャまたは電子機器のさらなる投資なしに車両のリモートおよびアクティブ診断および監視を可能にする。上述のように、そのようなサービスは、緊急通信サービスを提供することに拡張し得る。
【０１１１】
別のVPHサービスは、消費者のためにX10ホーム制御システムをプロビジョニングし得る。X10プロトコルは、デバイスが家庭電気配線を介して通信することを可能にし、家庭用器具の制御、セキュリティシステムのセットアップなどのために使用されている。本出願では、仮想周辺ハブデバイス112は、その仮想周辺ハブデバイス112がプラグ接続された電気配線などを介して他のX10システム構成要素と通信し、VPHサーバ140から受信された構成命令をX10構成要素に中継するように構成され得る。本出願は、デバイスを電気ソケットにプラグ接続すること以外のタスクの多くからユーザを解放することによって、そのようなホーム制御システムのセットアップおよび構成を簡略化し得る。
【０１１２】
さらなる実施形態では、VPHおよびVPHサービスは、専用オートメーションシステムの必要なしにホームオートメーションおよび制御能力を与え得る。本出願では、制御されるべきデバイスおよび家庭用システムは、それらのデバイスおよび家庭用システムの機能がVPHサーバまたはVPHサーバにアクセスしているコンピュータによって制御され得るように、直接的にまたはワイヤレスネットワーク(たとえば、BlueTooth(登録商標)、WiFiなど)を介してVPHにプラグ接続され得る。たとえば、VPHサービスのうちの1つは、コンピュータを介してVPHサーバにアクセスすることによってユーザが構成することができるサーバホスト制御システムを与えるホーム制御能力であり得る。ユーザによってホームオートメーション/制御設定が入力されると、VPHサーバは、VPHにプラグ接続されたデバイスおよび家庭用システムを制御するために必要に応じてVPHを介してコマンドを送り得る。このようにして、自宅内に配置された1つまたは複数のVPHモジュールに基づく、低コストの高度に構成可能なホームオートメーションシステムが提供され得る。
【０１１３】
上記で説明した実施形態は、図14に示すサーバ1400など、様々なサーバデバイスのいずれでも実装され得る。そのようなサーバ1400は、一般に、揮発性メモリ1402と、ディスクドライブ1403などの大容量不揮発性メモリとに結合されたプロセッサ1401を含む。サーバ1400はまた、プロセッサ1401に結合されたフレキシブルディスクドライブおよび/またはコンパクトディスク(CD)ドライブ1406をも含み得る。サーバ1400はまた、インターネットなど、ネットワーク回線1405とのデータ接続を確立するための、プロセッサ1401に結合されたネットワークアクセスポート1404を含み得る。
【０１１４】
スタンドアロン仮想周辺ハブデバイス112を参照しながら様々な実施形態について説明したが、VPH機能は、VPH機能を実行することができるプロセッサと、セルラーデータネットワーク130などのワイヤレスネットワークに結合するためのトランシーバとを装備した他の通信デバイスにおいても実装され得る。たとえば、VPH機能は、セルラー電話上で実行しているアプリケーションとして実装され得る。多くのセルラー電話は、VPH機能アプリケーションで構成され得るプログラマブルプロセッサ、ならびに周辺デバイスとの通信リンクを確立するために使用され得る複数のワイヤレストランシーバを含む。また、いくつかのセルラー電話は、周辺デバイスに結合され得るUSBまたはFireWireポートなど、ワイヤード接続ポートを含む。モバイルデバイスにおいてVPH機能を実装するために、たとえば、VPHアプリケーションをデバイスプロセッサにおいて実装し得、次いで、そのプロセッサは、様々な実施形態において説明する接続および通信機能を実行する。
【０１１５】
仮想周辺ハブ機能を実装するモバイルデバイスは図15に示す構成要素を共有し得る。たとえば、例示的なモバイルデバイス1500は、内部メモリ1502とディスプレイ1503とに結合されたプロセッサ1501を含み得る。さらに、モバイルデバイス1500は、プロセッサ1501に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ1505に接続される、電磁放射を送信および受信するためのアンテナ1504を有し得る。モバイルデバイスはまた、Bluetooth(登録商標)無線接続を介して周辺デバイスに接続するためのBluetooth(登録商標)トランシーバ、および/またはローカルエリアワイヤレスネットワークを介してコンピュータおよび周辺デバイスに結合するためのWiFiトランシーバなど、1つまたは複数のローカルワイヤレスネットワークに接続するための第2のトランシーバ1508を含み得る。モバイルデバイスはまた、USB(またはFireWire)ケーブルを介して周辺デバイスに接続するためのUSB(またはFireWire)ポート1509を含み得る。モバイルデバイスはまた、一般に、ユーザ入力を受け取るためのキーパッド1506または小型キーボードおよびメニュー選択ボタンまたはロッカースイッチ1507を含む。
【０１１６】
様々なデバイス中のプロセッサ1501、1401は、本明細書で説明する様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数のマルチプロセッサチップであり得る。デバイスによっては、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ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コアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【０１２０】
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。本明細書で開示した方法またはアルゴリズムのステップは、非一時的有形コンピュータ可読記憶媒体上に常駐し得る、実行されるプロセッサ実行可能ソフトウェアモジュールで実施され得る。非一時的コンピュータ可読媒体は、コンピュータによってアクセスされ得る任意の利用可能なコンピュータ記憶媒体を含む。限定ではなく、例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を含み得る。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フレキシブルディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読媒体および/または非一時的コンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐し得る。
【０１２１】
開示した実施形態の上記の説明は、当業者が本発明を製作または使用できるように提供したものである。これらの実施形態への様々な修正は当業者には容易に明らかであり、本明細書で定義した一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示した原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【０１２２】
2 セルラーデータ通信
2 セルラー信号
4 ローカルワイヤレス送信
6 USBケーブル
6 USBコネクタ
6 USB接続
6 通信接続
8 FireWireケーブル
8 FireWire接続
8 通信接続
10 Bluetooth(登録商標)
10 BlueTooth(登録商標)リンク
10 ローカルワイヤレス通信リンク
10 通信接続
12 IPパケット
12 インターネットプロトコル(IP)パケット
14 IPデータメッセージ
14 ウェブサイトアクセスIPメッセージ
16 ハイパーテキスト転送プロトコルIP(HTTP/IP)パケット
18 カプセル化IPパケット
20 インターフェースデータケーブル
20 データケーブル
100 通信システム
100 通信ネットワーク
101 通信ネットワーク
102 ウェブカム
102 ワイヤレス周辺機器
102 周辺デバイス
104 セキュリティシステム
104 ホームセキュリティシステム
104 ワイヤレス周辺機器
104 周辺デバイス
106 デジタルフォトフレーム
106 ワイヤレス周辺機器
106 周辺デバイス
108 リモートハードドライブ
108 ワイヤレス周辺機器
108 外部ハードドライブデータ記憶デバイス
108 周辺デバイス
110 ワイヤレス周辺機器
110 血圧センサ
110 周辺デバイス
111 サーモスタット
112 仮想周辺デバイス
112 仮想周辺ハブ
112 仮想周辺ハブデバイス
112a 仮想周辺ハブデバイス
112b 仮想周辺ハブデバイス
114 インターネット
130 セルラーデータネットワーク
130 セルラーネットワーク
130 セルラーワイヤレスネットワーク
130 セルラー通信ネットワーク
132 セルラー基地局
134 セルラーネットワークインターネットアクセスサーバ
135 ホームワイヤレスルータ
135 ルータ
135 ローカルWiFiネットワークワイヤレスルータ
135 ローカルエリアワイヤレスルータ
135 ローカルワイヤレスルータ
135 ワイヤレスルータ
136 セルラー電話
136 モバイルデバイス
138 コンピュータ
138 パーソナルコンピュータ
138 ローカルコンピュータ
140 VPHサーバ
140 仮想周辺ハブサーバ
140 中間VPHサーバ
142 サードパーティサーバ
142 サーバ
142 データユーザサーバ
142 ホームセキュリティサービスプロバイダサーバ
142 医療サーバ
142 医療施設サーバ
142 病院サーバ
144 サードパーティサーバ
144 サーバ
144 データユーザサーバ
150 ローカルネットワーク
150 通信ネットワーク
152 ビデオカメラ
152 車両センサ
154 エンジンセンサ
154 車両センサ
156 車両センサ
156 車両速度計
158 エアバッグセンサ
158 エアバッグ展開センサ
158 車両センサ
160 コンピュータ
160 パーソナルコンピュータ
300 ケース
300 ハウジング
301 デバイスプロセッサ
301 プログラマブルプロセッサ
301 プロセッサ
301 仮想周辺ハブデバイスプロセッサ
302 メモリ
302 内部メモリ
303 セルラーデータネットワークトランシーバ
303 セルラートランシーバ
304 アンテナ
308 電源
309 コネクタプラグ
309 プラグ
309 電源プラグ
310 USBソケット
310 USBポート
311 FireWireポート
312 イーサネット(登録商標)ソケット
312 イーサネット(登録商標)ポート
314 Bluetooth(登録商標)トランシーバ
316 アンテナ
322 IEEE802.11トランシーバ
322 WiFiトランシーバ
324 アンテナ
326 GPS受信機
326 全地球測位システム(GPS)受信機
328 アンテナ
332 プッシュボタン
334 LED
334 発光ダイオード(LED)
336 コード
336 ボタン
336 通し番号
340 コンセント
340 標準コンセント
400 仮想周辺ハブシステム
402 エグゼクティブ機能
404 通信モジュール
406 ブリッジング論理モジュール
408 ルータ論理
410 サーバ論理
412 記憶転送論理
1400 サーバ
1401 プロセッサ
1402 揮発性メモリ
1402 内部メモリ
1403 ディスクドライブ
1404 ネットワークアクセスポート
1405 ネットワーク回線
1406 フレキシブルディスクドライブおよび/またはコンパクトディスク(CD)ドライブ
1500 モバイルデバイス
1501 プロセッサ
1502 内部メモリ
1503 ディスプレイ
1504 アンテナ
1505 ワイヤレスデータリンクおよび/またはセルラー電話トランシーバ
1506 キーパッド
1507 メニュー選択ボタンまたはロッカースイッチ
1508 トランシーバ
1509 USB(またはFireWire)ポート
【図１Ａ】
2014222507.tif 000003
【図１Ｂ】
2014222507.tif 000004
【図１Ｃ】
2014222507.tif 000005
【図２Ａ】
2014222507.tif 000006
【図２Ｂ】
2014222507.tif 000007
【図２Ｃ】
2014222507.tif 000008
【図２Ｄ】
2014222507.tif 000009
【図３Ａ】
2014222507.tif 000010
【図４】
2014222507.tif 000011
【図５】
2014222507.tif 000012
【図６Ａ】
2014222507.tif 000013
【図６Ｂ】
2014222507.tif 000014
【図７Ａ】
2014222507.tif 000015
【図７Ｂ】
2014222507.tif 000016
【図８Ａ】
2014222507.tif 000017
【図８Ｂ】
2014222507.tif 000018
【図９Ａ】
2014222507.tif 000019
【図９Ｂ】
2014222507.tif 000020
【図９Ｃ】
2014222507.tif 000021
【図９Ｄ】
2014222507.tif 000022
【図１０】
2014222507.tif 000023
【図１１】
2014222507.tif 000024
【図１２】
2014222507.tif 000025
【図１３】
2014222507.tif 000026
【図１４】
2014222507.tif 000027
【図１５】
2014222507.tif 000028
【図３Ｂ】
2014222507.tif 000029