(57)【要約】  通信を実行するための通信デバイスを介して外部と通信可能な情報処理装置が、中央処理装置およびオペレーティングシステムを含む情報処理装置本体と通信デバイスとの間に設けられたサブシステムを備える。そして、サブシステムは、中央処理装置が電源オフ状態またはサスペンド状態の場合に、通信デバイスと中央処理装置との間の通信データを一時的に格納し、中央処理装置が電源オン状態の場合に、通信デバイスと中央処理装置との間で通信データを仲介する。これにより、通信デバイスとＯＳとの間にサブシステムを挟んでいる場合にも、ＯＳ上のコネクションマネージャを変更することなく、外部との通信を行うことができる。
2012132027.tif 000002
【特許請求の範囲】
【請求項１】
通信を実行するための通信デバイスを介して外部と通信可能な情報処理装置であって、
中央処理装置およびオペレーティングシステムを含む情報処理装置本体と前記通信デバイスとの間に設けられたサブシステムを備え、
前記サブシステムは、前記中央処理装置が電源オフ状態またはサスペンド状態の場合に、前記通信デバイスと前記中央処理装置との間の通信データを一時的に格納し、前記中央処理装置が電源オン状態の場合に、前記通信デバイスと前記中央処理装置との間で前記通信データを仲介することを特徴とする情報処理装置。
【請求項２】
前記サブシステムは、
前記サブシステムの起動時に、前記通信デバイスに関する情報を格納したディスクリプタを前記通信デバイスから読み取り、内部メモリ上に格納するディスクリプタコピー手段と、
前記通信デバイスを制御するために前記情報処理装置が備える通信デバイス制御手段からの要求に対して、前記通信デバイスによる応答の代わりに疑似的に前記通信デバイス制御手段に対して応答する疑似応答手段と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記サブシステムは、
前記通信デバイスと前記通信デバイス制御手段との間の通信データを一時的に格納する通信データバッファ手段と、
前記通信データバッファ手段に格納された通信データをコピーして格納する通信データコピー手段と、
前記通信データコピー手段に格納された通信データのうち、前記サブシステムの特定ポートに対する通信データであることを判断して前記通信データコピー手段から取り出す特定ポートデータ取出手段と、
を備えることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記通信データバッファ手段は、前記通信デバイスと前記通信デバイス制御手段との間で前記通信データを中継することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記サブシステムは、前記中央処理装置が電源オフ状態またはサスペンド状態の場合にも前記通信デバイスと通信することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
請求項１乃至５の何れか１項に記載のサブシステム。
【請求項７】
通信を実行するための通信デバイスを介して外部と通信可能な情報処理装置と前記通信デバイスとの間に設けられたサブシステムであって、
前記情報処理装置が備える中央処理装置が電源オフ状態またはサスペンド状態の場合に、前記通信デバイスと前記中央処理装置との間の通信データを一時的に格納し、前記中央処理装置が電源オン状態の場合に、前記通信デバイスと前記中央処理装置との間で前記通信データを仲介することを特徴とするサブシステム。
【請求項８】
前記サブシステムの起動時に、前記通信デバイスに関する情報を格納したディスクリプタを前記通信デバイスから読み取り、内部メモリ上に格納するディスクリプタコピー手段と、
前記通信デバイスを制御するために前記情報処理装置が備える通信デバイス制御手段からの要求に対して、前記通信デバイスによる応答の代わりに疑似的に前記通信デバイス制御手段に対して応答する疑似応答手段と、
を備えることを特徴とする請求項７に記載のサブシステム。
【請求項９】
通信を実行するための通信デバイスを介して外部と通信可能な情報処理装置と前記通信デバイスとの間に設けられたサブシステムのコンピュータに実行させる情報処理方法であって、
前記情報処理装置が備える中央処理装置が電源オフ状態またはサスペンド状態の場合に、前記通信デバイスと前記中央処理装置との間の通信データを一時的に格納し、前記中央処理装置が電源オン状態の場合に、前記通信デバイスと前記中央処理装置との間で前記通信データを仲介する処理をコンピュータに実行させる情報処理方法。
【請求項１０】
前記サブシステムの起動時に、前記通信デバイスに関する情報を格納したディスクリプタを前記通信デバイスから読み取り、内部メモリ上に格納し、
前記通信デバイスを制御するために前記情報処理装置が備える通信デバイス制御手段からの要求に対して、前記通信デバイスによる応答の代わりに疑似的に前記通信デバイス制御手段に対して応答する、
処理をコンピュータに実行させることを特徴とする請求項９に記載の情報処理方法。
【請求項１１】
通信を実行するための通信デバイスを介して外部と通信可能な情報処理装置と前記通信デバイスとの間に設けられたサブシステムのコンピュータに実行させる情報処理プログラムであって、
前記情報処理装置が備える中央処理装置が電源オフ状態またはサスペンド状態の場合に、前記通信デバイスと前記中央処理装置との間の通信データを一時的に格納し、前記中央処理装置が電源オン状態の場合に、前記通信デバイスと前記中央処理装置との間で前記通信データを仲介する処理をコンピュータに実行させる情報処理プログラム。
【請求項１２】
前記サブシステムの起動時に、前記通信デバイスに関する情報を格納したディスクリプタを前記通信デバイスから読み取り、内部メモリ上に格納し、
前記通信デバイスを制御するために前記情報処理装置が備える通信デバイス制御手段からの要求に対して、前記通信デバイスによる応答の代わりに疑似的に前記通信デバイス制御手段に対して応答する、
処理をコンピュータに実行させることを特徴とする請求項１１に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信回線を介して通信を行う情報処理装置、情報処理装置が備えるサブシステム、情報処理方法および情報処理プログラムに関し、特に、電源オフ状態またはサスペンド状態においても通信可能にするために、オペレーティングシステムと通信デバイスの間に設置されるサブシステム、前記サブシステムを備える情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、デスクトップ型やノート型等のパーソナルコンピュータ（ＰＣ：Personal Computer）に代表される情報処理装置は、３ＧＰＰ（3rd Generation Partnership Project）やＷｉＭＡＸ（Worldwide Interoperability for Microwave Access[IEEE 802.16a]）等の通信プロトコルを備えた通信デバイスを装着し、インターネットなどの通信に用いる場合がある。【０００３】
このようなＰＣにおいて、通信デバイスは、外付けデバイスと内蔵デバイスの２つのタイプに分けられる。
外付けタイプの通信デバイスは、ＰＣが備えるＵＳＢ（Universal Serial Bus）などの通信インタフェースに挿入される。そして、ＰＣのオペレーティングシステム（ＯＳ：Operating System）上に、デバイスドライバと、通信を司るコネクションを管理するアプリケーションであるコネクションマネージャをインストールし、通信接続してインターネット通信等の通信を行う。このコネクションマネージャは、通信接続の他、通信の切断や、通信状態などの管理および表示も行う。【０００４】
また、内蔵タイプでは、ＵＳＢやＰＣＩ（Peripheral Component Interconnect）−Ｅｘｐｒｅｓｓなどのインタフェースを経由して通信デバイスを接続して、コネクションマネージャにて通信を行う。【０００５】
図１は、通信デバイスを備えた従来のパーソナルコンピュータの概要を示す図である。
図１において、情報処理装置の１つであるパーソナルコンピュータ（ＰＣ）１００は、ＣＰＵ１１（Central Processing Unit）、データや情報を表示するディスプレイ等の表示デバイス１２、データやコマンド等を入力するキーボードやマウス等の入力デバイス１３、インタフェース（Ｉ／Ｆ）デバイス１４、書き換え可能なメモリであるＲＡＭ（Random Access Memory）や不揮発性メモリであるＲＯＭ（Read Only Memory）等の記憶デバイス１６、および通信デバイス制御部１８を備え、これらがバス１９に接続されている。記憶デバイス１６は、オペレーティングシステム（ＯＳ）１７を含め、種々の制御プログラムやデータを格納する。【０００６】
また、ＰＣ１００は、通信部３１およびインタフェース（Ｉ／Ｆ）デバイス３２を備える通信デバイス３０を有し、Ｉ／Ｆデバイス３２とＩ／Ｆデバイス１４を介し、通信部３１によりＰＣ１１０の外部のキャリア網２００に接続可能である。【０００７】
通信デバイス３０に関して、外付けデバイスと内蔵デバイスの違いは、内蔵デバイスの場合には、あるＰＣ１００に常に特定の通信デバイス３０が対応付けられた状態、すなわち、ＰＣ１００と通信デバイス３０とが１対１の状態で利用されることである。ただし、通信デバイス３０が外付けデバイスであっても、ユーザが常に通信デバイス３０をＰＣ１００に装着した状態で利用していれば、１対１での利用と見なすことができる。【０００８】
このようなＰＣ１００のＣＰＵ１１が、電源オフ状態またはサスペンド状態の場合にも通信状態を保ち、ＰＣ１００が備えるＣＰＵ１１とは別のＣＰＵを備え、ネットワークサービスを提供するサブシステムを追加する場合がある（例えば、特許文献１および非特許文献１参照。）。【０００９】
図２は、サブシステムを備えた従来のパーソナルコンピュータの概要を示す図である。
図２において、ＰＣ１００は、バス１９で接続されたＣＰＵ１１、表示デバイス１２、入力デバイス１３、Ｉ／Ｆデバイス１４、ＯＳ等を格納する記憶デバイス１６、および通信デバイス制御部１８を備えたパーソナルコンピュータ本体と、通信デバイス３０との間に、サブシステム２０が設けられている。【００１０】
サブシステム２０は、ＣＰＵ２１、種々の関数およびプログラムサブルーチンを格納したライブラリ（Ｌｉｂ）２２、ＯＳ２３、インタフェース（Ｉ／Ｆ）デバイス２４、およびインタフェース（Ｉ／Ｆ）デバイス２５を備える。【００１１】
このようなサブシステム２０は、ＰＣ１００および通信デバイス３０とは独立して存在する場合、ＰＣ１００側に機能が一体化される場合、通信デバイス３０側に機能が一体化される場合が考えられる。【００１２】
このうち、サブシステム２０が独立して存在する場合のメリットとして、通信デバイスメーカやＰＣメーカに依存することなく、機能を提供および実現できる点があげられる。すなわち、通信デバイス３０が新しくなった場合にも、独立したサブシステム２０を移行することで機能を継続利用できる。このような独立したサブシステム２０の構成においては、ＰＣ１００と通信デバイス３０の間に、サブシステム２０をバス接続で追加する。【００１３】
なお、外付けデバイスには、モバイルルータのようなタイプもある。モバイルルータは、３ＧＰＰやＷｉＭＡＸなどのキャリア通信サービスを受け、ＰＣ１００側にはＬＡＮ（Local Area Network）やＷｉＦｉ（Wireless Fidelity）などのインタフェースを使って接続する。ＬＡＮにてＰＣ１００と接続する場合やＷｉＦｉにて接続する場合には、ＰＣ１００側にはＬＡＮやＷｉＦｉデバイスとして見えるため、ＰＣ１００側の接続管理は、ＬＡＮのドライバ、ＷｉＦｉのドライバと接続管理ソフトによって行われる。このため上述のコネクションマネージャが用いられることはない。【００１４】
また、サブシステム２０は、ＣＰＵ１１が電源オフ状態またはサスペンド状態にある場合であっても、外部のサーバからキャリア網２００を介して自動的に情報を送り届けてくれる「ＰＵＳＨ」やダウンロードなどのサービスを提供する。これによりユーザが、あるイベントがあった場合にＰＵＳＨ通知を受けた後にＰＣ１００を利用したり、大きなファイルのダウンロードだけを行ったりしたい場合に、通信機能とストレージ機能等の最低限の機能を備えるサブシステム２０に処理を委ねる事で、トータルで見たＰＣ１００の利用電力を下げることが期待できる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平６−２６８６４１号公報
【非特許文献】
【００１６】
【非特許文献１】http://pr.fujitsu.com/jp/news/2009/08/24.html
【発明の開示】
【００１７】
しかしながら、通信デバイス３０から独立したサブシステム２０をＰＣ１００の通信インタフェースに挿入しただけでは、ＰＣ１００のＯＳ１７から通信デバイス３０として見えないため、ＯＳ１７上のコネクションマネージャ（通信デバイス制御部１８）から通信制御できない、という問題点があった。
【００１８】
本発明は、上述のような実状に鑑みたものであり、通信デバイス３０とＯＳ１７との間にサブシステム２０を挟んでいる場合にも、ＯＳ１７上のコネクションマネージャを変更することなく、外部との通信を行うことができる情報処理装置、サブシステム、情報処理方法および情報処理プログラムを提供することを目的とする。
【００１９】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、情報処理装置の一観点によれば、通信を実行するための通信デバイスを介して外部と通信可能な情報処理装置であって、中央処理装置およびオペレーティングシステムを含む情報処理装置本体と前記通信デバイスとの間に設けられたサブシステムを備える。そして、前記サブシステムは、前記中央処理装置が電源オフ状態またはサスペンド状態の場合に、前記通信デバイスと前記中央処理装置との間の通信データを一時的に格納し、前記中央処理装置が電源オン状態の場合に、前記通信デバイスと前記中央処理装置との間で前記通信データを仲介することを特徴とする。
【図面の簡単な説明】
【００２０】
【図１】通信デバイスを備えた従来のパーソナルコンピュータの概要を示す図である。
【図２】サブシステムを備えた従来のパーソナルコンピュータの概要を示す図である。
【図３】第１の実施の形態のパーソナルコンピュータの概要を示す図である。
【図４】サブシステム４０がとりうる３つの状態およびその状態遷移を説明するための図である。
【図５】サブシステム４０およびＯＳ１７が備える機能を説明するための図である。
【図６】サブシステム４０の構成を示す図である。
【図７】第１の実施の形態のサブシステム４０の起動時の処理の流れを示すフローチャートである。
【図８】サブシステム４０とＯＳ１７との通信時の処理の流れを示すフローチャートである。
【図９】ＯＳ１７からサブシステム４０へ送信されるＡＴコマンドのパケットの例を示す図である。
【図１０】サブシステム４０からＯＳ１７へ送信される返信コマンドのパケットの例を示す図である。
【図１１】サブシステム４０とＯＳ１７との通信切断時の処理の流れを示すフローチャートである。
【図１２】確立されるＰＣ１００とキャリア網２００との通信のシーケンスを示す図である。
【図１３】切断されるＰＣ１００とキャリア網２００との通信のシーケンスを示す図である。
【図１４】ＰＣ１００とキャリア網２００との通信接続が確立されない場合のシーケンスを示す図である。
【図１５】ＰＣ１００とキャリア網２００とのＰＰＰ接続が確立されない場合のシーケンスを示す図である。
【図１６】第２の実施の形態のパーソナルコンピュータの概要を示す図である。
【図１７】第２の実施の形態のサブシステム４０の起動時の処理の流れを示すフローチャートである。
【図１８】ブリッジ機能の第１の方式を説明するための図である。
【図１９】ブリッジ機能の第２の方式を説明するための図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
（第１の実施の形態）
図３は、第１の実施の形態のパーソナルコンピュータの概要を示す図である。
【００２２】
図３において、情報処理装置の１つであるパーソナルコンピュータ（ＰＣ）１００は、ＣＰＵ１１、データや情報を表示するディスプレイ等の表示デバイス１２、データやコマンド等を入力するキーボードやマウス等の入力デバイス１３、Ｉ／ＦデバイスとしてのＵＳＢホスト１５、書き換え可能なメモリであるＲＡＭや不揮発性メモリであるＲＯＭ等の記憶デバイス１６、および通信デバイス制御部１８を備え、これらがバス１９に接続されている。記憶デバイス１６は、ＯＳ１７を含め、種々の制御プログラムやデータを格納する。
【００２３】
また、ＰＣ１００は、通信部３１およびＩ／ＦデバイスとしてＵＳＢデバイス３３を備える通信デバイス３０を有し、ＵＳＢデバイス３３とＵＳＢホスト１５を介し、通信部３１によりＰＣ１１０の外部のキャリア網２００に接続可能である。ＰＣ１００は、バス１９で接続された通信デバイス制御部１８等を備えたパーソナルコンピュータ本体と、通信デバイス３０との間に、サブシステム４０が設けられている。
【００２４】
通信デバイス３０は、クラス、ＩＤ、名称、各種設定値等のディスクリプタと呼ばれる情報を内蔵のＵＳＢデバイス３３のメモリで保持している。このディスクリプタは、通信デバイス３０がＰＣ１００に接続されたときに、ＰＣ１００側に送信され、ＰＣ１００と通信デバイス３０との接続構成を確立する。
【００２５】
ここで、このようなＰＣ１００において、ＯＳ１７の動作に応じてサブシステム４０がとりうる３つの状態およびその状態遷移について説明する。
図４は、サブシステム４０がとりうる３つの状態およびその状態遷移を説明するための図である。
【００２６】
図４において、状態１は、ＣＰＵ１１が電源オフ状態またはサスペンド状態であり、サブシステム４０のみが機能している状態である。
状態２は、サブシステム４０が機能している状態に加え、ＣＰＵ１１が起動して状態ではあるが、通信デバイス制御部１８によるネットワーク接続が確立していない状態である。ＣＰＵ１１が起動することにより、状態１から状態２へ遷移する。ＣＰＵ１１の起動は、ユーザによる操作の場合もあれば、アプリケーションプログラムからの要求による場合もある。逆に、ＣＰＵ１１が電源オフ状態またはサスペンド状態へ移行することにより、状態２から状態１へ遷移する。
【００２７】
状態３は、サブシステム４０が機能している状態に加え、ＣＰＵ１１も起動しており、さらに通信デバイス制御部１８によるネットワーク接続も確立している状態である。ＣＰＵ１１で利用可能なネットワーク接続が確立されることにより、状態２から状態３へ遷移する。ネットワークの接続は、後述するようにユーザの操作により確立される。逆に、後述するようにユーザの指示によりネットワークの接続断が行われることにより、状態３から状態２へ遷移する。
【００２８】
なお、ネットワーク接続が確立されている際に、ＣＰＵ１１が電源オフ状態またはサスペンド状態に移行することで、状態３から状態１へ移行することもある。また、各状態におけるサブシステム４０への負荷は、状態１よりも状態２の方が大きく、さらに状態３の方が状態２よりも大きい。
本発明が適用されるのは、状態２と状態３との遷移におけるものであり、以下の説明では、特に断らない限り、状態２と状態３との関係が前提となっている。
【００２９】
図３の説明に戻る。
サブシステム４０は、ＣＰＵ２１、種々の関数およびプログラムサブルーチンを格納したライブラリ（Ｌｉｂ）２２、ＯＳ２３、Ｉ／ＦデバイスとしてのＵＳＢホスト４１、Ｉ／ＦデバイスとしてのＵＳＢデバイス４２、および制御部２６を備え、ＣＰＵ１１が電源オフ状態またはサスペンド状態の場合には、通信デバイス３０とＣＰＵ１１との間の通信データを一時的に格納し、ＣＰＵ１１が電源オン状態の場合には、通信デバイス３０とＣＰＵ１１との間で通信データを仲介する。
【００３０】
制御部２６は、サブシステム４０の起動時に、通信デバイス３０に関する情報を格納したディスクリプタを、通信デバイス３０のＵＳＢデバイス３３のメモリから読み取り、サブシステム４０のＵＳＢデバイス４２のメモリに格納するディスクリプタコピー機能を有する。
【００３１】
また、制御部２６は、ＵＳＢホスト４１とＵＳＢデバイス４２との間を接続し、ＰＣ１００が備える通信デバイス制御部１８と通信デバイス３０との間の通信を仲介する。
また、制御部２６は、通信デバイス制御部１８からの要求に対して、通信デバイス３０が応答しているように振舞うために、通信デバイス３０による応答の代わりに疑似的に通信デバイス制御部１８に対して応答する疑似応答機能を有する。例えば、通信デバイス制御部１８から通信デバイス３０に通信デバイス３０に対する通信接続依頼（Ｃｏｎｎｅｃｔ）が来た場合に、ＯＫを返す。また、通信切断依頼（Ｄｉｓｃｏｎｎｅｃｔ）が来た場合にＯＫを返す。さらに、ＰＰＰ（Point to Point Protocol）接続では、接続依頼及び認証依頼に対してＯＫを返す。
【００３２】
図５は、サブシステム４０およびＯＳ１７が備える機能を説明するための図である。
図５において、サブシステム４０は、ネットワーク接続機能、擬似応答機能、ブリッジ機能、解析・制御機能および共有ストレージ機能を備え、サブシステムソフトを有する。また、ＯＳ１７は、データ取得機能およびWake機能を備える。
【００３３】
ネットワーク接続機能は、ネットワーク接続を司る。擬似応答機能は、ＯＳ１７からの要求に対して擬似応答し、ネットワーク接続状態を通知する。ブリッジ機能は、ネットワーク通信をＯＳ１７に提供する。解析・制御機能は、ブリッジ機能によってサブシステム４０側に入ってきたメッセージ（通信データ）を解析し、予め定めたデータ形式であった場合、サブシステム４０内で処理を実行するようにする。解析・制御機能は、例えば特定のコマンドが入ってきた場合に、ＧＰＩＯ（General Purpose Input Output）を駆動してＯＳ１７に通知を伝える。例えば、必要に応じてＯＳ１７にWakeを通知する。ＯＳ１７はその通知により動作を変えるトリガーにできる。サブシステムソフトは、ネットワークを利用したサービスを提供する。
【００３４】
共有ストレージ機能は、ＯＳ１７に対して通信データを提供する。Wake機能は、サブシステム４０からの要求に応じてＣＰＵ１１を電源オンの状態にし、ＯＳ１７を稼働可能にする。データ取得機能は、共有ストレージ機能によって格納された通信データを監視・管理する。
【００３５】
なお、ここで、ネットワーク接続機能、擬似応答機能およびブリッジ機能は、独立したサブシステム４０を構築するために必要な基本機能であり、解析・制御機能、共有ストレージ機能およびサブシステムソフトは、サブシステム４０がＯＳ１７と連携を行うための拡張機能である。
【００３６】
図６は、サブシステム４０の構成を示す図である。
図６を用いて、サブシステム４０におけるネットワーク接続、および、ＯＳ１７がネットワーク接続する際のサブシステム４０の擬似応答について説明する。ここで、擬似応答には、ネットワーク接続に対するもの、およびＵＳＢ Descriptorに対するものの２つある。
【００３７】
サブシステム４０によるネットワーク接続は、サブシステム４０の起動時に接続プロトコルが駆動されるように実装し、この際、３ＧＰＰ TS27.060に”Example command sequences for dial-compatibility mode”として例示された標準のＡＴコマンドおよびＰＰＰ（Point-to-Point-Protocol）コマンドシーケンスの送受を通して接続を行う。
【００３８】
これにより接続が確立されると、サブシステム４０のアプリケーションソフトとネットワーク間で通信が利用できるようになる。仮にネットワークが何らかの理由で切断された場合、それを検知して再接続する機能を持たせることで、常にネットワーク接続が維持されるように実装している。 
【００３９】
擬似応答は、ＯＳ１７からネットワーク接続あるいは切断が発行された場合に機能する。ＯＳ１７が発行する標準のＡＴコマンドおよびＰＰＰコマンドに対して、サブシステム４０が擬似応答を行う。具体的には、ＯＳ１７のネットワーク接続ソフトウェアが、標準コマンドを発行した場合に、予め準備してある擬似応答をサブシステム４０が送出する。これにより、ＯＳ１７にサブシステム４０の存在を意識させないようにする。また、ネットワーク接続時に、ネットワークのパラメータとしてサブシステム４０が確立した際の情報（ＩＰアドレスなど）をそのまま渡すようにする。さらにＯＳ１７がネットワーク接続を確立する際には、後述するブリッジ機能が、ＯＳ１７とサブシステム４０のパスを結合してネットワークを利用できるようにする。
【００４０】
ＯＳ１７が通信を切断する場合には、ＯＳ１７が発行する切断コマンドに対して予め準備してある擬似応答を返すことによってＯＳ１７がネットワーク切断されたかのように動作させる。この状態においても、サブシステム４０とネットワーク間の通信は維持されている。
【００４１】
次に、ブリッジ機能について説明する。
ここでのブリッジ機能は、図６に示したように、外部のネットワークから来た通信データをＯＳ１７とサブシステム４０に分配する機能と、ＯＳ１７とサブシステム４０から来たデータを統合してネットワークに送出する機能である。このブリッジ機能を実現する方式は、２通りが考えられる。詳細は後述する。
【００４２】
次に、本発明における動作を説明する。
図７は、第１の実施の形態のサブシステム４０の起動時の処理の流れを示すフローチャートである。
【００４３】
まず、ステップＳ７０１において、サブシステム４０が起動すると、ステップＳ７０２において、通信デバイス３０に関する情報を格納したディスクリプタを、通信デバイス３０のＵＳＢデバイス３３のメモリから読み取り、サブシステム４０のＵＳＢデバイス４２のメモリにコピーする。これにより、擬似的にサブシステム４０を通信デバイス３０として、ＰＣ１００に見せることができるようになる。
【００４４】
そして、ステップＳ７０３において、サブシステム４０は、ＡＴコマンド、認証含むＰＰＰ接続により、通信デバイス３０を介してキャリア網２００との通信の確立を試みる。すなわち、サブシステム４０は、通信デバイス３０を介してＡＴコマンドまたはＰＰＰ接続に対するＡｃｋ（ＯＫ）をキャリア網２００から受け取ることにより、通信の確立を確認する。
【００４５】
なお、ここでは簡易化して記載しているが、詳細には、３Ｇ通信を想定する場合、3GPP TS 27.060 V3.5.0 (2001-03)で規定されているdial compatibility modeのPPP (Point to Point Protocol)のcommand sequencesを通信プロトコルとして利用する。
【００４６】
その後、ステップＳ７０４において、サブシステム４０は、通信切断が起こった場合や、ＰＰＰ接続が途切れた場合に、例えば、通信デバイス３０が接続断を通知してくることを検知し、再接続を行って通信を常に維持するように機能する。
【００４７】
図８は、サブシステム４０とＯＳ１７との通信時の処理の流れを示すフローチャートである。
まず、ＰＣ１００のＯＳ１７は、ステップＳ８０１において、通信デバイス制御部１８により通信を開始し、ステップＳ８０２において、サブシステム４０に対してＡＴコマンドでＣｏｎｎｅｃｔ（接続要求）を送信する。
【００４８】
図９は、ＯＳ１７からサブシステム４０へ送信されるＡＴコマンドのパケットの例を示す図である。
図９において、「メッセージヘッダ」は、ＰＣ１００のＯＳ１７からサブシステム４０へ送信されるＡＴコマンドのパケットであることを示す情報である。「サブシステムＩＤ」は、このパケットの送信先であるサブシステム４０を識別するためのＩＤを示す。「サーバＩＤ」は、このパケットを送信するＰＣ１００を識別するためのＩＤを示す。
【００４９】
「シーケンス番号」は、ＰＣ１００が割り振るパケットに対して一意に定まるＩＤである。「ＰＣ Wakeフラグ」は、この（メッセージ）パケットを受け取ったサブシステム４０がＰＣ１００をWakeするかしないか、より具体的には、ＰＣ１００のＣＰＵ１１を電源オンの状態にしてＯＳ１７を稼働可能にするか否かを表すフラグである。例えば、このフラグが「１」の場合には、ＰＣ１００をWakeし、「０」の場合には、ＰＣ１００に対するWakeを発行しない。
【００５０】
「消去フラグ」は、このパケットを受け取ったサブシステム４０が、消去を実行するかどうかを表すフラグである。サブシステム４０内の不揮発性メモリ（ＳＤメモリーカード１８１（図１８および図１９参照））を消去するかしないかを示すフラグや、ＰＣ１００のＨＤＤを消去するかしないかを表すフラグがある。ＰＣ１００のＨＤＤの消去については、ＰＣ１００をWakeした後、ＰＣ１００のＢＩＯＳなどのソフトウェアが、このフラグを見てＨＤＤの消去を実行する。
【００５１】
「ダウンロードフラグ」は、サブシステム４０がダウンロードを行うかどうかを表すフラグである。例えば、このフラグが「１」の場合には、「ダウンロード先情報」を認識してダウンロードを実行し、「０」の場合にはダウンロードを実行しない。そして、「ダウンロード先情報」は、「ダウンロードフラグ」に「１」が立っている場合に、どこからプログラムやデータをダウンロードするのかを示す情報が入っている。ここには、例えば複数のＵＲＬが入っており、プログラムを構成するモジュールをそれぞれ表している。
【００５２】
図８の説明に戻る。
ステップＳ８０２でＯＳ１７からサブシステム４０に対してＣｏｎｎｅｃｔ（接続要求）されると、サブシステム４０は、ステップＳ８０３において、通信デバイス３０を介してキャリア網２００との通信が確立しているか否かを判断する。すなわち、サブシステム４０は、起動時に、通信デバイス３０を介してキャリア網２００からＡＴコマンドに対するＯＫのＡｃｋを受信しているか否かにより、キャリア網２００との通信の確立を判断する。
【００５３】
サブシステム４０とキャリア網２００との通信が確立されていない場合（ステップＳ８０３：Ｎ）、サブシステム４０は、ステップＳ８０４において、制御部２６によってＮＧを返す。
【００５４】
他方、サブシステム４０とキャリア網２００との通信が確立されている場合（ステップＳ８０３：Ｙ）、サブシステム４０は、ステップＳ８０５において、制御部２６によって擬似Ａｃｋ（ＯＫ）を返す。
【００５５】
図１０は、サブシステム４０からＯＳ１７へ送信される返信コマンドのパケットの例を示す図である。
図１０において、「ＡＣＫ」は、図９に例示したような送信パケットをサブシステム４０が実行した際の、擬似Ａｃｋとしての「ＯＫ」または「ＮＧ」の情報を表す。「ＮＧ」の場合には、どのような問題があったのか分かる情報を返す。
【００５６】
図８の説明に戻る。
ステップＳ８０５でサブシステム４０とキャリア網２００との通信が確立されており、制御部２６によって擬似Ａｃｋ（ＯＫ）が返されている場合には、ＯＳ１７は、ステップＳ８０６において、通信デバイス制御部によって認証含むＰＰＰ接続を行う。
【００５７】
次に、サブシステム２０の制御部２６がＰＰＰ接続依頼を受け取った後に、サブシステム４０は、ステップＳ８０３において、通信デバイス３０を介してキャリア網２００とのＰＰＰ接続が可能か否かを判断する。すなわち、サブシステム４０は、起動時に、通信デバイス３０を介してキャリア網２００からＰＰＰ接続要求に対するＯＫのＡｃｋを受信しているか否かにより、キャリア網２００とのＰＰＰ接続が可能かを判断する。
【００５８】
サブシステム４０とキャリア網２００とのＰＰＰ接続が可能でない場合（ステップＳ８０７：Ｎ）、サブシステム４０は、ステップＳ８０８において、制御部２６によってＮＧを返す。
【００５９】
他方、サブシステム４０とキャリア網２００とのＰＰＰ接続が可能である場合（ステップＳ８０７：Ｙ）、サブシステム４０は、ステップＳ８０９において、ＰＰＰのシーケンスに従いキャリア網２００が返すように擬似レスポンスとして、制御部２６によって擬似Ａｃｋ（ＯＫ）を返す。
【００６０】
そして、サブシステム４０とキャリア網２００とのＰＰＰ接続が可能であり、制御部２６によって擬似Ａｃｋ（ＯＫ）が返されている場合には、ＯＳ１７は、ステップＳ８１０において、サブシステム４０は、ＵＳＢホスト４１とＵＳＢデバイス４２を接続して、ＯＳ１７にキャリア網２００との通信を提供する。
【００６１】
図１１は、サブシステム４０とＯＳ１７との通信切断時の処理の流れを示すフローチャートである。
まず、ステップＳ１１０１において、ユーザの操作により通信を終了する場合に、ＰＣ１００の通信デバイス制御部１８が通信を終了すると、ＰＣ１００のＯＳ１７は、ステップＳ１１０２において、通信デバイス制御部１８によりＡＴコマンドでＤｉｓｃｏｎｎｅｃｔ（切断要求）を発行する。
【００６２】
すると、サブシステム４０は、ステップＳ１１０３において、通信デバイス３０を介してキャリア網２００との通信が確立されているか否かに関わらず、Ｄｉｓｃｏｎｎｅｃｔ依頼に対する擬似Ａｃｋ（ＯＫ）を返す。なお、サブシステム４０が通信デバイス３０を介したキャリア網２００との通信を維持している場合であっても、サブシステム４０がＤｉｓｃｏｎｎｅｃｔ依頼に応じて実際に接続を切ることはしない。
【００６３】
そして、ＯＳ１７は、ステップＳ１１０４において、通信デバイス制御部１８へのＡｃｋ（ＯＫ）を受けて表示デバイス１２に接続断を表示する。
図１２は、確立されるＰＣ１００とキャリア網２００との通信のシーケンスを示す図である。
【００６４】
サブシステム４０の起動時に、サブシステム４０は、通信デバイス３０に対してＡＴコマンド（Ｃｏｎｎｅｃｔ）を送信する（１２０１）。このＡＴコマンドを受けた通信デバイス３０は、キャリア網２００にＣｏｎｎｅｃｔ信号を送信する（１２０２）。
【００６５】
キャリア網２００は、Ｃｏｎｎｅｃｔコマンドに対するＡｃｋ（ＯＫ）を通信デバイス３０に返し（１２０３）、通信デバイス３０は、サブシステム４０にＡＴコマンド（Ｃｏｎｎｅｃｔ）に対するＡｃｋ（ＯＫ）を返す（１２０４）。
【００６６】
また、サブシステム４０は、通信デバイス３０に対してＰＰＰ接続依頼を送信する（１２０５）。このＰＰＰ接続依頼を受けた通信デバイス３０は、キャリア網２００にＰＰＰ接続依頼を送信する（１２０６）。
【００６７】
キャリア網２００は、ＰＰＰ接続依頼に対するＡｃｋ（ＯＫ）を通信デバイス３０に返し（１２０７）、通信デバイス３０は、サブシステム４０にＰＰＰ接続依頼に対するＡｃｋ（ＯＫ）を返す（１２０８）。
【００６８】
キャリア網２００とＯＳ１７との通信時には、ＰＣ１００のＯＳ１７は、サブシステム４０に対してＡＴコマンドでＣｏｎｎｅｃｔ（接続要求）を送信し（１２０９）、これに対して、サブシステム４０は、擬似Ａｃｋ（ＯＫ）を返す（１２１０）。
【００６９】
また、ＰＣ１００のＯＳ１７は、サブシステム４０に対してＰＰＰ接続依頼を送信し（１２１１）、これに対して、サブシステム４０は、擬似Ａｃｋ（ＯＫ）を返す（１２１２）。
これにより、サブシステム４０は、ＵＳＢホスト４１とＵＳＢデバイス４２を接続し、ＯＳ１７は、キャリア網２００との通信を確立する（１２１３）。
【００７０】
図１３は、切断されるＰＣ１００とキャリア網２００との通信のシーケンスを示す図である。
図１２を用いて説明したように、ＯＳ１７は、キャリア網２００との通信を確立する（１２０１〜１２１３）。この後、ＰＣ１００のＯＳ１７は、サブシステム４０に対してＡＴコマンド（Ｄｉｓｃｏｎｎｅｃｔ）を送信する（１３１４）。このＡＴコマンドを受けたサブシステム４０は、ＰＣ１００のＯＳ１７に対してＡｃｋ（ＯＫ）を返す（１３１５）。
【００７１】
これにより、ＰＣ１００のＯＳ１７とサブシステム４０との通信は切断される（１３１６）。しかしながら、キャリア網２００とサブシステム４０との通信は維持されたままである（１３１７）。
【００７２】
図１４は、ＰＣ１００とキャリア網２００との通信接続が確立されない場合のシーケンスを示す図である。
サブシステム４０の起動時に、サブシステム４０は、通信デバイス３０に対してＡＴコマンド（Ｃｏｎｎｅｃｔ）を送信する（１４０１）。このＡＴコマンドを受けた通信デバイス３０は、キャリア網２００にＣｏｎｎｅｃｔコマンドを送信する（１４０２）。
【００７３】
キャリア網２００は、ＡＴコマンドに対するＡｃｋ（ＮＧ）を通信デバイス３０に返し（１４０３）、通信デバイス３０は、サブシステム４０にＡＴコマンドに対するＡｃｋ（ＮＧ）を返す（１４０４）。
【００７４】
サブシステム４０とＯＳ１７との通信時には、ＰＣ１００のＯＳ１７は、サブシステム４０に対してＡＴコマンドでＣｏｎｎｅｃｔ（接続要求）を送信し（１４０６）、これに対して、サブシステム４０は、Ａｃｋ（ＮＧ）を返す（１４０７）。よって、ＰＣ１００とキャリア網２００との通信接続は確立されない。
【００７５】
図１５は、ＰＣ１００とキャリア網２００とのＰＰＰ接続が確立されない場合のシーケンスを示す図である。
サブシステム４０の起動時に、サブシステム４０は、通信デバイス３０に対してＡＴコマンド（Ｃｏｎｎｅｃｔ）を送信する（１５０１）。このＡＴコマンドを受けた通信デバイス３０は、キャリア網２００にＣｏｎｎｅｃｔコマンドを送信する（１５０２）。
【００７６】
キャリア網２００は、ＡＴコマンドに対するＡｃｋ（ＯＫ）を通信デバイス３０に返し（１５０３）、通信デバイス３０は、サブシステム４０にＡＴコマンドに対するＡｃｋ（ＯＫ）を返す（１５０４）。
【００７７】
次に、サブシステム４０は、通信デバイス３０に対してＰＰＰ接続依頼を送信する（１５０５）。このＰＰＰ接続依頼を受けた通信デバイス３０は、キャリア網２００にＰＰＰ接続依頼を送信する（１５０６）。
【００７８】
キャリア網２００は、ＰＰＰ接続依頼に対するＡｃｋ（ＮＧ）を通信デバイス３０に返し（１５０７）、通信デバイス３０は、サブシステム４０にＰＰＰ接続依頼に対するＡｃｋ（ＮＧ）を返す（１５０８）。
【００７９】
サブシステム４０とＯＳ１７との通信時には、ＰＣ１００のＯＳ１７は、サブシステム４０に対してＡＴコマンドでＣｏｎｎｅｃｔ（接続要求）を送信し（１５０９）、これに対して、サブシステム４０は、Ａｃｋ（ＯＫ）を返す（１５１０）。
【００８０】
また、ＰＣ１００のＯＳ１７は、サブシステム４０に対してＰＰＰ接続依頼を送信し（１５１１）、これに対して、サブシステム４０は、Ａｃｋ（ＮＧ）を返す（１５１２）。よって、ＰＣ１００とキャリア網２００との通信接続は確立されない。
【００８１】
以上説明したように、ＰＣ１００のＯＳ１７と通信デバイス３０との間にサブシステム２０を挟んでいるような場合にも、ＯＳ１７の通信デバイス制御部１８を変更することなく、ＯＳ１７から外部のキャリア網２００に対して通信を行うことができる。
（第２の実施の形態）
サブシステム４０は、ＰＣ１００ＣＰＵ１１が電源オフ状態またはサスペンド状態の場合に、キャリア網２００を介してダウンロードを実施するようなサービスと共に、ＰＣ１００が稼動し通信をしている場合にも、サブシステム４０への通信路を確保することで、サブシステム４０へのプッシュ通知を検知し処理することが望ましい。
【００８２】
図１６は、第２の実施の形態のパーソナルコンピュータの概要を示す図である。
図１６に示した第２の実施の形態におけるサブシステム５０は、第１の実施の形態におけるサブシステム４０に、バッファ部２７、コピー部２８、および特定ポートデータ取り出し部２９が追加されている。
【００８３】
バッファ部２７は、通信デバイス３０と通信デバイス制御部１８との間の通信データを一時的に格納する。コピー部２８は、バッファ部２７に格納された通信データをコピーして格納する。特定ポートデータ取り出し部２９は、コピー部２８に格納された通信データのうち、サブシステム５０の特定ポートに対する通信データであることを判断して、コピー部２８から取り出す。
【００８４】
これにより、サブシステム５０は、通信デバイス３０から送られてきた通信データを、バッファ部２７を経由してＰＣ１００側にそのまま送信する通信路が設けられる。すなわち、バッファ部２７は、通信デバイス３０と通信デバイス制御部１８との間で通信データを中継する。
【００８５】
また、サブシステム５０は、ＰＣ１００のＣＰＵ１１が電源オフ状態またはサスペンド状態の場合にも、通信のタイムラグが殆ど無い状態で通信デバイス３０と通信し、ＰＣ１００側に通信を提供できる。なお、ＰＣ１００のＣＰＵ１１が電源オフ状態またはサスペンド状態の場合には、ＰＣ１００（ＯＳ１７）のコネクションマネージャが機能せず、インターネット通信をユーザが行うことがないので、サブシステム５０を経由しての通信は発生しないため、バッファ部２７を経由してＰＣ１００（ＯＳ１７）に通信が発生することは無い。
【００８６】
図１７は、第２の実施の形態のサブシステム４０の起動時の処理の流れを示すフローチャートである。
図７を用いて説明した第１の実施の形態におけるサブシステム４０の起動時の処理と同様、まず、ステップＳ７０１において、サブシステム４０が起動すると、ステップＳ７０２において、通信デバイス３０に関する情報を格納したディスクリプタを、通信デバイス３０のＵＳＢデバイス３３のメモリから読み取り、サブシステム４０のＵＳＢデバイス４２のメモリ上にコピーする。そして、ステップＳ７０３において、サブシステム４０は、ＡＴコマンド、認証含むＰＰＰ接続により、通信デバイス３０を介してキャリア網２００との通信の確立を試みる。
【００８７】
次に、ステップＳ１７０４において、サブシステム５０向けの特定ポートへのアクセスを待ち、ステップＳ１７０５において、特定ポートへのアクセスが生じたか否かを判断する。
【００８８】
特定ポートへのアクセスが生じた場合は（ステップＳ１７０５：Ｙ）、ステップＳ１７０６において、サブシステム５０内のアプリケーションによって処理を実行する。
その後、図７を用いて説明した第１の実施の形態におけるサブシステム４０の起動時の処理と同様、ステップＳ７０４において、サブシステム４０は、通信切断が起こった場合や、ＰＰＰ接続が途切れた場合に、例えば、通信デバイス３０が接続断を通知してくることを検知し、再接続を行って通信を常に維持するように機能する。
【００８９】
これにより、ＰＣ１００ＣＰＵ１１が電源オフ状態またはサスペンド状態であっても、キャリア網２００を介した外部からのサービスを透過的に提供できる。
次に、ブリッジ機能の２つの方式について説明する。
【００９０】
図１８は、ブリッジ機能の第１の方式を説明するための図である。
上述したように、ブリッジ機能は、外部のネットワークから来た通信データをＰＣ１００のＯＳ１７とサブシステム４０に分配する機能と、ＯＳ１７とサブシステム４０から来たデータを統合してネットワークに送出する機能である。この第１の方式では、ＵＳＢホスト４１に「ＴＣＰ組み立て・Frame Check」機能２４１と「二入力送出順番制御」機能２４２の２つの機能を追加している。
【００９１】
「ＴＣＰ組み立て・Frame Check」機能２４１は、ＵＳＢホスト４１の「受信Buffer」２４３と連動してＴＣＰ組み立て及びFrame Checkを行う。そしてポート番号の解析により、入ってきた通信データがＯＳ１７に向かうものか、サブシステム４０に向かうものか判断する。このときサブシステム４０向けの特定ポートへのアクセスであれば、サブシステム４０側に「送信スイッチ」２４４を倒し、それ以外であればＯＳ１７側（ＰＣ１００側）に「送信スイッチ」２４４を倒すように動作する。
【００９２】
「二入力送出順番制御」機能２４２は、ＵＳＢデバイス４２からの入力、およびサブシステム４０からの入力を、正しくまとめてネットワーク側に送出するためのもの。このために、ＯＳ１７とサブシステム４０から来るデータを保持する２つのバッファとして、それぞれ「受信Buffer」２５２および「シリアルバッファ」２１１を備える。
【００９３】
「二入力送出順番制御」機能２４２は、ＵＳＢホスト４１が通信データをこれら「受信Buffer」２５２および「シリアルバッファ」２１１から取り込む時に、どちらのバッファ（「受信Buffer」２５２または「シリアルバッファ」２１１）から取得するか制御する。「受信Buffer」２５２または「シリアルバッファ」２１１の何れか一方にしか通信データが入っていない場合には、その通信データをネットワーク側に送信すれば良いが、「受信Buffer」２５２および「シリアルバッファ」２１１の双方に通信データがある場合には、現在ネットワーク側に送信しているＵＳＢデバイス４２またはサブシステム４０からの通信データに続きがあるのかチェックを行う。そして、その送信が終了していなかった場合には、他方（サブシステム４０またはＵＳＢデバイス４２）からの通信データを送信するのを待つ。これによりネットワーク側に向かう通信データに、他方の通信データが紛れ込むことが無い。
【００９４】
次に、通信データの流れを説明する。
まず、ネットワークから、サブシステム４０を経由して、ＰＣ１００のＯＳ１７側に向かうパスの場合、先ずＵＳＢホスト４１の「受信Buffer」２４３にＵＳＢのパケットが届く。そして、「ＴＣＰ組み立て・Frame Check」機能２４１が、サブシステム４０向けのポートが無いかどうか、全ての通信データ（ＵＳＢパケット）のチェックを行う。基本的には、通信データ（ＵＳＢパケット）の開始信号が検出できた場合に、そのＰＰＰパケット内にあるＴＣＰ Portの値を取り出す。
【００９５】
そして、それがサブシステム４０で予め定義したものである場合には、サブシステム４０側に「送信スイッチ」２４４のパスをスイッチする。サブシステム４０向けのデータで無かった場合には、ＰＣ１００側にパスをスイッチする。ＵＳＢデバイス４２の持つＤＭＡ機能は、ＵＳＢホスト４１の「送信バッファ」２４５を指し示している。よって、ＰＣ１００側に向かうデータが、ＵＳＢホスト４１の「受信バッファ」２４３に届いた場合に、ＵＳＢデバイス４２のＤＭＡ機能を経由して、通信データがＰＣ１００側に渡る。
【００９６】
また、ＰＣ１００側から、サブシステム４０経由で、ネットワーク側に向かう情報は、ＵＳＢデバイス４２の「受信バッファ」２５２に置かれ、ＵＳＢホスト４１の「送信バッファ」２４２に渡される。このとき、ＵＳＢホスト４１の「送信バッファ」２４５には、サブシステム４０からの通信データが送出される場合もあるが、この通信データもＵＳＢホスト４１の「送信バッファ」２４５に渡される。
【００９７】
そして、これら２つの入力については、ＵＳＢホスト４１に連動する「二入力送出順番制御」機能２４２が、２つの入力を整理して送出することで、一方の通信データが、他方の通信データに紛れ込むようなことが無いように制御を行ってネットワークに送出する。
【００９８】
図１９は、ブリッジ機能の第２の方式を説明するための図である。
この第２の方式では、ＵＳＢホスト４１に「Pingチェックタスク」機能２４６を追加している。
【００９９】
「Pingチェックタスク」機能２４６は、特定のPingをサブシステム４０への情報送信のトリガーと見なし、それが送られてきた場合に、パスの「送信スイッチ」２４４をサブシステム４０側に切り替える。通常「送信スイッチ」２４４は、ＰＣ１００側に倒されており、このイベントがあった場合に切り替わり、サブシステム４０の処理が終わると、デフォルト位置であるＰＣ１００側に戻される。
【０１００】
次に、通信データの流れを説明する。
ネットワークから、サブシステム４０を経由して、ＰＣ１００側に向かうパスの場合、先ずＵＳＢホスト４１の「受信バッファ」２４３にＵＳＢのパケットが届く。「Pingチェックタスク」機能２４６は、このパケットの情報を確認し、Pingが無いかどうか、また、Pingがサブシステム４０向けのものかどうか確認する。もし、通常の送信データである場合、ＵＳＢデバイス４２の持つＤＭＡ機能は、ＵＳＢホスト４１の「送信バッファ」２４５を指し示している。よって、ＰＣ１００側に向かうデータが、ＵＳＢホスト４１の「受信バッファ」２４３に届いた場合に、ＵＳＢデバイス４２のＤＭＡ機能を経由して、通信データがＰＣ１００側に渡る。
【０１０１】
また、サブシステム４０にアクセスするためのPingが来ると、パスの「送信スイッチ」２４４をサブシステム４０側に切り替えて、サブシステム４０で処理を行った後、「送信スイッチ」２４４を元の状態に戻す。
【０１０２】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、情報処理装置またはサブシステムの一機能としてハードウェアまたはＤＳＰ（Digital Signal Processor）ボードやＣＰＵボードでのファームウェアもしくはソフトウェアにより実現することができる。
【０１０３】
また、Ｉ／ＦデバイスとしてＵＳＢデバイスを例に説明したが、ＵＳＢデバイスに限らず、ＰＣＩ（Peripheral Component Interconnect）−ＥｘｐｒｅｓｓやＣｒａｄＢｕｓなどの他のＩ／Ｆを用いてもよい。
【０１０４】
また、本発明が適用される情報処理装置またはサブシステムは、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、ＬＡＮ、ＷＡＮ等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
【０１０５】
また、バスに接続されたＣＰＵ、ＲＯＭやＲＡＭのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したＲＯＭやＲＡＭのメモリ、外部記録装置、可搬記録媒体を、情報処理装置またはサブシステムに供給し、その情報処理装置またはサブシステムのコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
【０１０６】
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
【０１０７】
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【０１０８】
また、コンピュータ（情報処理装置）がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【０１０９】
さらに、可搬型記録媒体から読み出されたプログラムやプログラム（データ）提供者から提供されたプログラム（データ）が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【０１１０】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
開示された技術により、ＰＣ１００のＯＳ１７と通信デバイス３０との間にサブシステム２０を挟んでいるような場合にも、ＯＳ１７の通信デバイス制御部１８を変更することなく、ＯＳ１７から外部のキャリア網２００に対して通信を行うことができる、という効果を奏する。
【０１１１】
また、ＰＣ１００のＣＰＵ１１が電源オフ状態またはサスペンド状態であっても、キャリア網２００を介した外部からのサービスを透過的に提供できる、という効果を奏する。
【図１】
2012132027.tif 000003
【図２】
2012132027.tif 000004
【図３】
2012132027.tif 000005
【図４】
2012132027.tif 000006
【図５】
2012132027.tif 000007
【図６】
2012132027.tif 000008
【図７】
2012132027.tif 000009
【図８】
2012132027.tif 000010
【図９】
2012132027.tif 000011
【図１０】
2012132027.tif 000012
【図１１】
2012132027.tif 000013
【図１２】
2012132027.tif 000014
【図１３】
2012132027.tif 000015
【図１４】
2012132027.tif 000016
【図１５】
2012132027.tif 000017
【図１６】
2012132027.tif 000018
【図１７】
2012132027.tif 000019
【図１８】
2012132027.tif 000020
【図１９】
2012132027.tif 000021
【国際調査報告】
2012132027.tif 000022
2012132027.tif 000023