説明

情報処理装置及び情報処理装置制御方法

【課題】搭載された遠隔操作通信装置による通信及び自装置における当該遠隔操作通信装置以外による通信の一方から他方に外部ネットワークとの通信を切り替える場合のネットワーク接続の一時不通を抑制する情報処理装置を提供する。
【解決手段】スイッチ17は、外部ネットワークの接続先をUSB通信部14又はUSB通信部104のいずれか一方から他方に切り替える。プロトコルスタック設定部103は、接続先をUSB通信部104からUSB通信部14へ切り替える場合、USB通信部104の通信設定を共通記憶部110に書込む。プロトコルスタック設定部13は、共通記憶部110に書込まれたUSB通信部104の通信設定を取得し、取得した該通信設定をUSB通信部14に設定する。スイッチ17は、USB通信部14にUSB通信部104の通信設定が設定された後、USB通信部14からUSB通信部104へ外部ネットワークの接続先を切り替える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理装置制御方法に関する。
【背景技術】
【0002】
近年、情報をサーバから端末装置に配信する、プッシュ型のデータ配信サービスが普及してきている。このようなサービスはPUSHサービスと呼ばれる。PUSHサービスとは、端末装置の電源のオン/オフの状態又は端末装置のネットワーク接続の有無に関わらず、サーバから端末装置に情報が配信されると、端末装置が自動的にその情報を受信できるサービスである。
【0003】
このようなサービスを実現するため、ユーザからの操作を待ち受け、端末装置の電源管理を行う遠隔操作通信装置を搭載する端末装置が提供されている。この遠隔操作通信装置は、独自のCPUを有し、端末装置のCPU(Central Processing Unit)による制御とは独立して端末装置の電源制御などを行うことができる装置である。以下では、端末装置のCPUにより制御される各部を総称して「端末装置本体」と言う。遠隔操作通信装置は、端末装置のソフトオフ時(以下では、「電源オフ」と言う。)にも動作することで機能を果たしている。このように、遠隔操作通信装置は、端末装置の電源オフ時にも動作することから常時電力を消費する。そこで、消費電力を減らすために、遠隔操作通信装置は、数MHz〜数十MHzで動作するMPU(Micro Processing Unit)を用いた通常低消費電力回路で実現されている。さらに、遠隔操作通信装置は、USB(Universal Serial Bus)などのインタフェースを介して通信デバイスを接続することで、ネットワーク接続が可能となる。
【0004】
このような常時通電である遠隔操作通信装置を使用すれば、端末装置の電源オフ時においても、プッシュ通知の送信や、ファイルのダウンロードといったPUSHサービスを提供することができる。
【0005】
ただし、遠隔操作通信装置は低クロックで実現されるため、遠隔操作通信装置の通信デバイスは、端末装置本体が有する通信デバイスに比べて十分な転送速度を得ることができない。端末装置が電源オフの場合には、端末装置において処理が行われていないため、低速な通信でも操作に影響はない。これに対して、端末装置が電源オンの場合には、操作者が端末装置を操作して端末装置本体に処理を行わせていることが考えられる。このような状況では、転送速度が低いと処理スピードが遅くなり、操作者の要求に十分に応えることが困難となる。すなわち、電源オンの場合に、遠隔操作通信装置経由で端末装置本体がデータを取得することは避けることが好ましい。そこで、例えばUSBインタフェースを介して通信デバイスと接続する場合には、端末装置本体及び遠隔操作通信装置のぞれぞれと通信デバイスとを結ぶUSBバスをUSBバススイッチを用いて選択的に切り替え、端末装置本体及び遠隔操作通信装置のいずれかをUSBホストとする方法がある。このような方法により、遠隔操作通信装置を搭載した端末装置において、電源オンの場合の通信速度を低下させることの無い常時接続を実現することが考えられる。
【0006】
ここで、二重化された通信制御装置において、現用系と待機系の共通のメモリにデータを退避させ、切り替え時に退避系が共通のメモリを参照することで、系切り替え後も通信制御を継続する従来技術が提案されている。また、端末装置の内部に複数の処理回路を有し、バスを切り替えていずれかの処理回路にプロトコル処理を行わせる従来技術が提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−145456号公報
【特許文献2】特開2004−147251号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、USBホストをUSBバススイッチにより端末装置本体及び遠隔操作通信装置の一方から他方に切り替えることは、端末装置本体及び遠隔操作通信装置の一方からUSBデバイスを取り外し、他方へ取り付ける物理的な操作と同じである。すなわち、端末装置本体及び遠隔操作通信装置の一方から他方への切り替え後には、USBのエニュメレーション処理、ネットワークコネクションの確立及びアプリケーションのサーバへの接続が発生する。このため、端末装置本体及び遠隔操作通信装置の一方から他方へ切り替えた場合、ネットワーク接続が切断され、一時不通となるおそれがある。このように、切り替え時にネットワーク接続が一時不通となるとすると、PUSHサービスの品質が低下してしまう危険がある。
【0009】
この点、二重化された通信制御装置において切り替え時に通信制御の継続性を維持する従来技術では、いずれの通信制御装置もネットワークとの接続はなされており、切り替えにおける通信デバイスのデタッチやアタッチの処理が必要ない。そこで、この従来技術では、通信デバイスのデタッチやアタッチによるネットワークの一時不通は考慮されておらず、そのような原因によるPUSHサービスの品質の低下を回避することはできない。また、バスを切り替えていずれかの処理回路にプロトコル処理を行わせる従来技術においても、切り替えにおけるネットワーク接続の一時不通を回避することができない。
【0010】
開示の技術は、上記に鑑みてなされたものであって、搭載された遠隔操作通信装置による通信及び自装置における当該遠隔操作通信装置以外による通信の一方から他方に外部ネットワークとの通信を切り替える場合のネットワーク接続の一時不通を抑制する情報処理装置及び情報処理装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本願の開示する情報処理装置及び情報処理装置制御方法は、一つの態様において、第1の制御部は、OSを実行する。第2の制御部は、前記OSから独立して動作する。第1通信部は、前記第1の制御部によって制御され、外部ネットワークに接続して通信を行う。第2通信部は、前記第2の制御部によって制御され、前記外部ネットワークに接続して通信を行う。共通記憶部は、入力された通信設定を記憶する。切替部は、前記外部ネットワークの接続先を前記第1通信部又は前記第2通信部のいずれか一方から他方に切り替える。第2通信設定部は、前記第2の制御部によって制御され、前記切替部が前記接続先を前記第2通信部から前記第1通信部へ切り替える場合、前記第2通信部の通信設定を前記共通記憶部に書込む。第1通信設定部は、前記第1の制御部によって制御され、前記第2通信設定部により前記共通記憶部に書込まれた前記第2通信部の通信設定を取得し、取得した該通信設定を前記第1通信部に設定する。そして、前記切替部は、前記第1通信設定部により前記第1通信部に前記第2通信部の通信設定が設定された後、前記第2通信部から前記第1通信部へ前記外部ネットワークの接続先を切り替える。
【発明の効果】
【0012】
本願の開示する情報処理装置及び情報処理装置制御方法の一つの態様によれば、搭載された遠隔操作通信装置による通信及び自装置における当該遠隔操作通信装置以外による通信の一方から他方に外部ネットワークとの通信を切り替える場合のネットワーク接続の一時不通を抑制できるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】図1は、実施例に係る情報処理装置のブロック図である。
【図2】図2は、共通記憶部に格納されるデータのデータフォーマットを示す図である。
【図3】図3は、遠隔操作通信装置から情報処理装置への切り替え時のデータの流れを説明するための図である。
【図4】図4は、切り替え処理のフローチャートである。
【図5】図5は、切り替え処理におけるデータの流れを表すシーケンス図である。
【図6】図6は、切り替え処理の概略を表すシーケンス図である。
【図7】図7は、情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示する情報処理装置及び情報処理装置制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置及び情報処理装置制御方法が限定されるものではない。
【実施例】
【0015】
図1は、実施例に係る情報処理装置のブロック図である。図1に示すように、本実施例に係る情報処理装置1は、切替部11、制御部12、プロトコルスタック設定部13、USB通信部14、同期部15、記憶部16、スイッチ17及び遠隔操作通信装置100を有している。また、以下の説明では、情報処理装置1のうち遠隔操作通信装置100を除いた部分を指す場合、「情報処理装置1本体」という。
【0016】
また、遠隔操作通信装置100は、切替部101、制御部102、プロトコルスタック設定部103、USB通信部104、同期部105、記憶部106及び共通記憶部110を有している。
【0017】
スイッチ17は、例えば図1に示す3G通信モジュール2などのUSBデバイスと接続されている。そして、本実施例では、3G通信モジュール2は、外部ネットワークと接続している。また、スイッチ17は、切替部11又は切替部101からの指示を受けて、USB通信部14又はUSB通信部104のいずれかが3G通信モジュール2と接続するように選択的に切り替える。すなわち、スイッチ17がUSB通信部14を3G通信モジュール2の接続先として選択した場合、3G通信モジュール2とUSB通信部14との間でデータの送受信が可能となる。また、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択した場合、3G通信モジュール2とUSB通信部104との間でデータの送受信が可能となる。
【0018】
以下では、スイッチ17により3G通信モジュールとの接続がUSB通信部14からUSB通信部104へ切り替えられる場合を、「USB通信部104への切り替え」と言う。また、スイッチ17により3G通信モジュール2との接続がUSB通信部104からUSB通信部14へ切り替えられる場合を、「USB通信部14への切り替え」という。また、いずれかへの切り替えかを特に区別しない場合、単に「切り替え」という。さらに、いずれかへの切り替えかを特に区別しない場合、USB通信部14及びUSB通信部104のうち、切り替えの前に3G通信モジュール2と接続していた側を「切替元」といい、切り替えの後に3G通信モジュール2に接続される側を「切替先」という。
【0019】
また、共通記憶部110は、メモリなどの記憶装置である。そして、共通記憶部110は、情報処理装置1本体の各部及び遠隔操作通信装置100の各部のいずれからもデータの読み書きが行える。図2は、共通記憶部に格納されるデータのデータフォーマットを示す図である。図2に示すように、共通記憶部110に格納されるデータのデータフォーマット200は、通知領域201、プロトコルスタック設定領域210及び同期領域220を有している。
【0020】
通知領域201は、接続元から接続先に対する、切り替えの発生の通知や設定完了の通知といったデータを格納する領域である。
【0021】
プロトコルスタック設定領域210は、プロトコルの各階層における通信設定を格納する領域である。プロトコルスタック設定領域210は、アプリ設定領域202、ネットワーク設定領域203及びUSB設定領域204を有している。後述するように、プロトコルスタック設定領域210に格納される通信設定は、切り替えの際に接続元から接続先へ通信設定を受け渡すために使用される。
【0022】
アプリ設定領域202は、アプリケーションの設定情報を表すアプリケーション情報を格納する領域である。アプリケーションとは、例えば、PUSHサービスを受信するアプリケーションなどである。そして、アプリケーション情報とは、例えば、認証先サーバ情報、認証情報及びデバイス識別子などである。
【0023】
また、ネットワーク設定領域203は、ネットワークの設定情報を表すネットワーク情報を格納する領域である。ネットワーク情報とは、例えば、IP(Internet Protocol)アドレスや、ポート番号、セッション管理情報及びPPP(Pont-to-Pont Protocol)におけるID(IDentification)やPW(Pass Word)などである。
【0024】
また、USB設定領域204は、USBの設定情報を表すUSB情報を格納する領域である。USB情報とは、例えば、デバイスアドレス、エンドポイント及びデバイスドライバなどである。
【0025】
また、同期領域220は、切り替え時に情報処理装置1本体及び遠隔操作通信装置100の動作を同期させるために必要な情報を格納する領域である。同期領域220は、データ転送領域205を有している。ここで、図2では、説明の便宜上、同期領域220は、データ転送領域205と同じ領域を指すように記載しているが、実際には、同期領域220にデータ転送領域205が含まれることを示しており、同期領域220には同期に必要な他の情報も書込まれる。
【0026】
データ転送領域205は、3G通信モジュール2から受信したデータを接続先から接続元へ転送するための領域である。
【0027】
図1に戻って、USB通信部14は、スイッチ17がUSB通信部14を3G通信モジュール2の接続先として選択している場合、3G通信モジュール2との間でデータの送受信を行う。さらに詳しくは、USB通信部14は、制御部12に指示されたデータを3G通信モジュール2を介して外部ネットワークへ送信する。また、USB通信部14は、3G通信モジュール2を介して外部ネットワークからのデータを受信する。USB通信部14は、受信したデータを制御部12へ出力する。ここで、USB通信部14は、1msの間隔でSOF(Start of Frame)パケットにより通信の同期を取っている。SOFパケットは、データの伝送を行う単位であるフレームの先頭に配置されている。言い換えれば、フレームは、1ms毎にSOFパケットを先頭にトランザクション群が続く構成となっている。そして、通信が発生する場合は、USB通信部14は、1つ又は複数のフレームにまたがったUSBトランザクションを送受信することで、データ通信を実現する。
【0028】
これに対して、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択している場合、USB通信部14は、通信を行わない。
【0029】
また、USB通信部104への切り替えの場合、制御部12からの切り替え通知を受けて、USB通信部14は、3G通信モジュール2から受信したデータを制御部12へ出力するとともに、同期部15へ出力する。
【0030】
これに対して、USB通信部14への切り替えの場合、USB通信部14は、同期部15からの制御を受けて、USB通信部104のSOFの受信タイミングでリセットが行われる。これにより、USB通信部14は、3G通信モジュール2と同期する。その後、USB通信部14は、後述するように共通記憶部110に構成された仮想的な3G通信モジュールである仮想3G通信モジュールと仮想的な接続が行われる。この、仮想的な3G通信モジュールについては後で詳細に説明する。これにより、USB通信部14は、共通記憶部110に構成された仮想3G通信モジュールとのデータの授受を行うことができる状態になる。そして、USB通信部14は、擬似的なUSB応答の仮想3G通信モジュールへの送信指示を制御部12から受ける。この指示を受けて、USB通信部14は、擬似的なUSB応答を共通記憶部110のデータ転送領域205に書き込む。そして、USB通信部14は、通知領域201を監視し、遠隔操作通信装置100の制御部102から擬似応答が通知領域201に書き込まれたかを判定する。擬似応答が通知領域201に書き込まれた場合、USB通信部14は、擬似応答を読み込む。そして、USB通信部14は、仮想3G通信モジュールとの通信が正常に確立したかを判定する。仮想3G通信モジュールとの通信が正常に確立したと判定した場合、USB通信部14は、同期完了を制御部12へ通知する。このUSB通信部14が、「第1通信部」の一例にあたる。
【0031】
USB通信部104への切り替えの場合、同期部15は、同期命令を制御部12から受ける。そして、同期部15は、USBデバイスである3G通信モジュール2のUSBディスクリプタを制御部12から受信する。そして、同期部15は、受信したUSBディスクリプタを共通記憶部110の同期領域220に書き込む。これにより、共通記憶部110は、仮想3G通信モジュールとして構成される。
【0032】
次に、同期部15は、3G通信モジュール2から受信したデータの入力をUSB通信部14から受ける。そして、同期部15は、受信したデータを共通記憶部110のデータ転送領域205に書き込む。
【0033】
これに対して、USB通信部14への切り替えの場合、同期部15は、同期命令を制御部12から受ける。制御部12からの同期命令に従って、USB通信部14は、共通記憶部110のデータ転送領域205を監視する。そして、同期部15は、データ転送領域205に書き込まれるデータのSOFを参照し、SOFの受信タイミングでUSB通信部14のリセットを行い、USB通信部14を3G通信モジュール2に同期させる。この同期部15が、「第1同期部」の一例にあたる。
【0034】
プロトコルスタック設定部13は、USB通信部104への切り替えの場合、通信設定格納命令を制御部12から受ける。そして、プロトコルスタック設定部13は、通信設定を共通記憶部110へ書き込む。具体的には、プロトコルスタック設定部13は、3G通信モジュール2を使用して行っている通信におけるアプリケーション情報をアプリ設定領域へ202書き込む。また、プロトコルスタック設定部13は、USB通信部14が3G通信モジュール2を介して行っていた外部ネットワークとの通信におけるネットワーク情報をネットワーク設定領域203へ書き込む。さらに、プロトコルスタック設定部13は、USBデバイスである3G通信モジュール2のUSB情報をUSB設定領域204へ書き込む。
【0035】
これに対して、USB通信部14への切替の場合、プロトコルスタック設定部13は、通信設定の取得命令を制御部12から受ける。そして、プロトコルスタック設定部13は、共通記憶部110からUSB通信部104が使用していた通信設定を取得する。具体的には、プロトコルスタック設定部13は、3G通信モジュール2を使用して通信を行っているアプリケーション情報をアプリ設定領域202から取得する。また、プロトコルスタック設定部13は、USB通信部104が3G通信モジュール2を介して行っていた外部ネットワークとの通信におけるネットワーク情報をネットワーク設定領域203から取得する。さらに、プロトコルスタック設定部13は、USBデバイスである3G通信モジュール2のUSB情報をUSB設定領域204から取得する。そして、プロトコルスタック設定部13は、取得した通信設定を制御部12へ出力する。このプロトコルスタック設定部13が、「第1通信設定部」の一例にあたる。
【0036】
記憶部16は、メモリやハードディスクなどの記憶装置である。そして、記憶部16には、OSやPUSHサービスのアプリケーションなどが記憶されている。
【0037】
制御部12について、スイッチ17がUSB通信部14を3G通信モジュール2の接続先として選択している場合を説明する。制御部12は、USB通信部14からデータの入力を受ける。そして、制御部12は、記憶部16などを用いてデータの処理を行う。また、制御部12は、外部へのデータの送信が必要な場合には、USB通信部14へデータを出力する。
【0038】
制御部12は、スイッチ17がUSB通信部14を3G通信モジュール2の接続先として選択している状態で、例えばシャットダウン命令などの切り替え要因が発生した場合、シャットダウンまたはスタンバイモードの制御部102を起動する。また、制御部12は、USB通信部14に切り替えを通知する。また、制御部12は、同期命令を同期部15に通知する。また、制御部12は、通信設定の格納命令をプロトコルスタック設定部13に通知する。さらに、制御部12は、共通記憶部110の通知領域201に切り替え開始の通知を書き込む。
【0039】
次に、制御部12は、共通記憶部110の通知領域201を監視し、遠隔操作通信装置100の制御部102から同期設定完了通知が書き込まれたことを確認する。
【0040】
次に、制御部12は、共通記憶部110の同期領域220を監視し、遠隔操作通信装置100のUSB通信部104からUSB応答が書き込まれたかを判定する。制御部12は、同期領域220にUSB応答が書き込まれた場合、擬似応答を同期領域220へ書き込む。その後、制御部12は、共通記憶部110の通知領域201を監視し、制御部102から同期完了の通知が書き込まれたことを判定する。さらに、制御部12は、共通記憶部110の通知領域201を監視し、通知領域201に切り替え通知が書き込まれたかを判定する。そして、同期完了通知及び切り替え通知が書き込まれると、制御部12は、USB通信部14からUSB通信部104へ3G通信モジュール2の接続先を切り替える命令を切替部11へ出力する。
【0041】
次に、制御部12について、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択している場合を説明する。この場合、制御部12は、通常はシャットダウンしている。そして、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択している状態で、切り替え要因が発生した場合、遠隔操作通信装置100の制御部102からの制御により電力供給が開始され、起動する。
【0042】
制御部12は、通信設定の取得命令をプロトコルスタック設定部13に通知する。その後、制御部12は、取得命令の応答として通信設定をプロトコルスタック設定部13から受信する。
【0043】
そして、制御部12は、受信した通信設定からUSB情報を取得し、USB通信部14の設定を行う。例えば、制御部12は、受信したUSB情報から、USB通信部104が使用しているUSBデバイスアドレス、使用しているエンドポイント、デバイスドライバなどを用いて、USB通信部104が構成しているUSBホストと同じ振る舞いをするUSBホストをUSB通信部14に構成する。
【0044】
また、制御部12は、受信した通信設定からネットワーク情報を取得し、USB通信部14に設定する。例えば、制御部12は、IPアドレス、ポート番号、セッション管理及びPPP接続情報などのネットワーク設定を行う。
【0045】
また、制御部12は、受信した通信設定の中からアプリケーション情報を受信し、該当するアプリケーションを起動する。そして、制御部12は、起動したアプリケーションにアプリケーション情報を適応する。例えば、制御部12は、起動したアプリケーションに対して、PUSHサーバ、認証情報及びデバイス識別しなどを設定する。そして、制御部12は、設定完了の通知を共通記憶部110の通知領域201へ書き込む。
【0046】
さらに、制御部12は、同期命令を同期部15に通知する。次に、制御部12は、USB通信部14における同期が完了したかを判定する。そして、制御部12は、USB通信部14の同期が完了した場合、同期完了通知を通知領域201に書き込む。
【0047】
その後、制御部12は、3G通信モジュール2に対するUSBエニュメレーションを実行して、USBデバイスを登録する。ここで、制御部12は、デバイスアドレス、エンドポイントとして、USB通信部14に設定したものと同じものを使用する。
【0048】
その後、制御部12は、USBディスクリプタの情報を共通記憶部110の同期領域220から取得する。制御部12は、同期領域220に書き込まれたUSBディスクリプタの情報を取得することで、3G通信モジュール2の仕様が取得できる。そこで、制御部12は、3G通信モジュール2のUSBディスクリプタを使用して、3G通信モジュール2に対するデータを作成することができる。そして、制御部12は、作成した3G通信モジュール2へのデータを共通記憶部110の通知領域201へ書き込むことができる。さらに、制御部12は、3G通信モジュール2の通知領域201から取得したデータを3G通信モジュール2から取得したデータとして取り扱う。このように、制御部12は、共通記憶部110を介して3G通信モジュール2との通信が行えるかのように振舞うことができる。すなわち、制御部12は、共通記憶部110を仮想3G通信モジュールとして使用することができる。
【0049】
そこで、制御部12は、仮想3G通信モジュールに対して擬似的なUSB応答を行う指示をUSB通信部14へ通知する。その後、制御部12は、USB通信部14から同期完了の通知を受信した場合、切り替え通知を通知領域201に書き込む。
【0050】
その後、制御部12は、USB通信部14への切り替えが行われ、USB通信部14からデータの入力を受けると、起動しているアプリケーションなどを用いて受信したデータに対する処理を開始する。
【0051】
切替部11は、USB通信部14からUSB通信部104へ3G通信モジュール2の接続先を切り替える命令の入力を制御部12から受ける。そして、切り替え命令を受信すると、切替部11は、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択するよう切替える。
【0052】
次に遠隔操作通信装置100について説明する。USB通信部104は、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択している場合、3G通信モジュール2と間でデータの送受信を行う。さらに詳しくは、USB通信部104は、制御部102に指示されたデータを3G通信モジュール2を介して外部ネットワークへ送信する。また、USB通信部104は、3G通信モジュール2を介して外部ネットワークからのデータを受信する。USB通信部104は、受信したデータを制御部102へ出力する。ここで、USB通信部104は、1msの間隔でSOFパケットにより通信の同期を取っている。
【0053】
これに対して、スイッチ17がUSB通信部14を3G通信モジュール2の接続先として選択している場合、USB通信部104は、通信を行わない。
【0054】
また、USB通信部14への切り替えの場合、制御部102からの切り替え通知を受けて、USB通信部104は、3G通信モジュール2から受信したデータを制御部102へ出力するとともに、同期部105へ出力する。
【0055】
これに対して、USB通信部104への切り替えの場合、USB通信部104は、同期部105からの制御を受けて、USB通信部14のSOFの受信タイミングでリセットが行われる。これにより、USB通信部104は、3G通信モジュール2と同期する。その後、USB通信部104は、後述するように共通記憶部110に構成された仮想3G通信モジュールと仮想的な接続が行われる。すなわち、USB通信部104は、共通記憶部110に構成された仮想3G通信モジュールとのデータの授受ができる状態となる。そして、USB通信部104は、擬似的なUSB応答の仮想3G通信モジュールへの送信指示を制御部102から受ける。この指示を受けて、USB通信部104は、擬似的なUSB応答を共通記憶部110のデータ転送領域205に書き込む。そして、USB通信部104は、通知領域201を監視し、情報処理装置1本体の制御部12から擬似応答が通知領域201に書き込まれたかを判定する。擬似応答が通知領域201に書き込まれた場合、USB通信部104は、擬似応答を読み込む。そして、USB通信部104は、仮想3G通信モジュールとの通信が正常に確立したかを判定する。仮想3G通信モジュールとの通信が正常に確立したと判定した場合、USB通信部104は、同期完了を制御部102へ通知する。このUSB通信部104が、「第2通信部」の一例にあたる。
【0056】
USB通信部14への切り替えの場合、同期部105は、同期命令を制御部102から受ける。そして、同期部105は、USBデバイスである3G通信モジュール2のUSBディスクリプタを制御部102から受信する。そして、同期部105は、受信したUSBディスクリプタを共通記憶部110の同期領域220に書き込む。これにより、共通記憶部110は、仮想3G通信モジュールとして構成される。
【0057】
次に、同期部105は、3G通信モジュール2から受信したデータの入力をUSB通信部104から受ける。そして、同期部105は、受信したデータを共通記憶部110のデータ転送領域205に書き込む。
【0058】
これに対して、USB通信部104への切り替えの場合、同期部105は、同期命令を制御部102から受ける。制御部102からの同期命令に従って、USB通信部104は、共通記憶部110のデータ転送領域205を監視する。そして、同期部105は、データ転送領域205に書き込まれるデータのSOFを参照し、SOFの受信タイミングでUSB通信部104のリセットを行い、USB通信部104を3G通信モジュール2に同期させる。この同期部105が、「第2同期部」の一例にあたる。
【0059】
プロトコルスタック設定部103は、USB通信部14への切り替えの場合、通信設定格納命令を制御部102から受ける。そして、プロトコルスタック設定部103は、通信設定を共通記憶部110へ書き込む。
【0060】
これに対して、USB通信部104への切替の場合、プロトコルスタック設定部103は、通信設定の取得命令を制御部102から受ける。そして、プロトコルスタック設定部103は、共通記憶部110からUSB通信部14が使用していた通信設定を取得する。具体的には、プロトコルスタック設定部103は、3G通信モジュール2を使用した通信におけるアプリケーション情報をアプリ設定領域202から取得する。また、プロトコルスタック設定部103は、USB通信部14が3G通信モジュール2を介して行っていた外部ネットワークとの通信におけるネットワーク情報をネットワーク設定領域203から取得する。さらに、プロトコルスタック設定部103は、USBデバイスである3G通信モジュール2のUSB情報をUSB設定領域204から取得する。そして、プロトコルスタック設定部103は、取得した通信設定を制御部102へ出力する。このプロトコルスタック設定部103が、「第2通信設定部」の一例にあたる。
【0061】
記憶部106は、メモリやハードディスクなどの記憶装置である。そして、記憶部106には、OSやPUSHサービスのアプリケーションなどが記憶されている。
【0062】
制御部102について、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択している場合を説明する。制御部102は、USB通信部104からデータの入力を受ける。そして、制御部102は、記憶部106などを用いてデータの処理を行う。また、制御部102は、外部へのデータの送信が必要な場合には、USB通信部104へデータを出力する。
【0063】
制御部102は、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択している状態で、情報処理装置1の起動などの切り替え要因が発生した場合、シャットダウンまたはスタンバイモードの制御部12を起動する。また、制御部102は、USB通信部104に切り替えを通知する。また、制御部102は、同期命令を同期部105に通知する。また、制御部102は、通信設定の格納命令をプロトコルスタック設定部103に通知する。
【0064】
次に、制御部12は、共通記憶部110の通知領域201を監視し、遠隔操作通信装置100の制御部102から同期設定完了通知が書き込まれたことを確認する。
【0065】
次に、制御部102は、共通記憶部110の同期領域220を監視し、情報処理装置1本体のUSB通信部14からからUSB応答が書き込まれたかを判定する。制御部102は、同期領域220にUSB応答が書き込まれた場合、擬似応答を同期領域220へ書き込む。その後、制御部102は、共通記憶部110の通知領域201を監視し、制御部12から同期完了の通知が書き込まれたことを判定する。さらに、制御部102は、共通記憶部110の通知領域201を監視し、通知領域201に切り替え通知が書き込まれたかを判定する。そして、同期完了通知及び切り替え通知が書き込まれると、制御部102は、USB通信部104からUSB通信部14へ3G通信モジュール2の接続先を切り替える命令を切替部101へ出力する。
【0066】
次に、制御部102について、スイッチ17がUSB通信部14を3G通信モジュール2の接続先として選択している場合を説明する。この場合でも、遠隔操作通信装置100は常時通電であるため、制御部102は、起動している。制御部102は、共通記憶部110の通知領域201を監視している。そして、情報処理装置1本体の制御部12により切り替え開始の通知が通知領域201に書き込まれた場合、制御部102は、通信設定の取得命令をプロトコルスタック設定部103に通知する。その後、制御部102は、取得命令の応答として通信設定をプロトコルスタック設定部103から受信する。
【0067】
そして、制御部102は、受信した通信設定からUSB情報を取得し、USB通信部104の設定を行う。例えば、制御部102は、受信したUSB情報から、USB通信部14が使用しているUSBデバイスアドレス、使用しているエンドポイント、デバイスドライバなどを用いて、USB通信部14が構成しているUSBホストと同じ振る舞いをするUSBホストをUSB通信部104に構成する。
【0068】
また、制御部102は、受信した通信設定からネットワーク情報を取得し、USB通信部104に設定する。例えば、制御部102は、IPアドレス、ポート番号、セッション管理及びPPP接続情報などのネットワーク設定を行う。
【0069】
また、制御部102は、受信した通信設定の中からアプリケーション情報を受信し、該当するアプリケーションを起動する。そして、制御部102は、起動したアプリケーションにアプリケーション情報を適応する。例えば、制御部102は、起動したアプリケーションに対して、PUSHサーバ、認証情報及びデバイス識別しなどを設定する。そして、制御部12は、設定完了の通知を共通記憶部110の通知領域201へ書き込む。
【0070】
さらに、制御部102は、同期命令を同期部105に通知する。次に、制御部102は、USB通信部104における同期が完了したかを判定する。そして、制御部102は、USB通信部104の同期が完了した場合、同期完了通知を通知領域201に書き込む。
【0071】
その後、制御部102は、3G通信モジュール2に対するUSBエニュメレーションを実行して、USBデバイスを登録する。ここで、制御部102は、デバイスアドレス、エンドポイントとして、USB通信部14に設定したものと同じものを使用する。
【0072】
その後、制御部102は、USBディスクリプタの情報を共通記憶部110の同期領域220から取得する。制御部102は、同期領域220に書き込まれたUSBディスクリプタの情報を取得することで、3G通信モジュール2の仕様が取得できる。そこで、制御部102は、3G通信モジュール2のUSBディスクリプタを使用して、3G通信モジュール2に対するデータを作成することができる。そして、制御部102は、作成した3G通信モジュール2へのデータを共通記憶部110の通知領域201へ書き込むことができる。さらに、制御部102は、3G通信モジュール2の通知領域201から取得したデータを3G通信モジュール2から取得したデータとして取り扱う。このように、制御部102は、共通記憶部110を介して3G通信モジュール2との通信が行えるかのように振舞うことができる。すなわち、制御部102は、共通記憶部110を仮想3G通信モジュールとして使用することができる。
【0073】
そこで、制御部12は、仮想3G通信モジュールに対して擬似的なUSB応答を行う指示をUSB通信部14へ通知する。その後、制御部12は、USB通信部14から同期完了の通知を受信した場合、切り替え通知を通知領域201に書き込む。
【0074】
その後、制御部102は、USB通信部104への切り替えが行われ、USB通信部104からデータの入力を受けると、起動しているアプリケーションなどを用いて受信したデータに対する処理を開始する。
【0075】
切替部101は、USB通信部104からUSB通信部14へ3G通信モジュール2の接続先を切り替える命令の入力を制御部102から受ける。そして、切り替え命令を受信すると、切替部11は、スイッチ17がUSB通信部104を3G通信モジュール2の接続先として選択するよう切替える。
【0076】
次に、図3を参照して、3G通信モジュール2の接続を遠隔操作通信装置100から情報処理装置1本体への切り替える場合のデータの流れについて説明する。図3は、遠隔操作通信装置から情報処理装置への切り替え時のデータの流れを説明するための図である。図3において、PUSHアプリ20及びPUSHアプリ120を点線で記載しているが、これは、図1における制御部12及び制御部102によって起動されたアプリケーションを表している。すなわち、PUSHアプリ20は、図1における制御部12及び記憶部16などにより実現され、図3におけるPUSHアプリ120は制御部102及び記憶部106により実現される。
【0077】
ユーザによるPC起動またはPUSHサービスによるPC起動によって、切り替え要因が発生すると、情報処理装置1が起動する。プロトコルスタック設定部103は、PUSHアプリ120から取得したアプリケーション情報であるPUSHアプリ情報を共通記憶部110へ書き込む(ステップS1)。
【0078】
また、プロトコルスタック設定部103は、USB通信部104が使用しているネットワーク情報を共通記憶部110へ書き込む(ステップS2)。
【0079】
さらに、プロトコルスタック設定部103は、USB通信部104が使用しているUSB情報を共通記憶部110へ書き込む(ステップS3)。
【0080】
これに対して、プロトコルスタック設定部13は、PUSHアプリ情報を共通記憶部110から取得する(ステップS4)。プロトコルスタック設定部13が取得したPUSHアプリ情報は、PUSHアプリ20へ通知される。
【0081】
また、プロトコルスタック設定部13は、ネットワーク情報を共通記憶部110から取得する(ステップS5)。
【0082】
さらに、プロトコルスタック設定部13は、USB情報を共通記憶部110から取得する(ステップS6)。
【0083】
その後、同期部105は、USB通信部104からの通信を共通記憶部110へ転送し、3G通信モジュール2のUSBディスクリプタを共通記憶部110へ書き込む(ステップS7)。ここで、図3におけるUSB通信部104から仮想3G通信モジュールへの矢印は、USB通信部104からの通信の共通記憶部110への転送を表している。これにより、共通記憶部110の中に仮想3G通信モジュールが構成される。
【0084】
そして、同期部15は、同期部105によって共通記憶部110に転送された通信のSOFを取得し(ステップS8)、USB通信部14をリセットすることで、USB通信部104とUSB通信部14との同期が取れる。
【0085】
これにより、USB通信部14は、取得した各種通信設定を用いて共通記憶部110に構成された仮想3G通信モジュールに対して接続を仮想的に行うことができる(ステップS9)。
【0086】
このように、USB通信部14を仮想3G通信モジュールとの接続を仮想的に確立しておくことで、USB通信部14は、スイッチ17の切り替えにより実際の3G通信モジュール2に接続されたときに、既に確立している設定を用いて接続を確立することができる。したがって、実際の切り替え後には通信設定などを行う必要が無いので、通信の中断を軽減することができる。
【0087】
ここでは、遠隔操作通信装置100のUSB通信部104から情報処理装置1本体のUSB通信部14へ接続を切り替える場合について説明した。この点、情報処理装置1本体のUSB通信部14から遠隔操作通信装置100のUSB通信部104に切り替える場合においても、データの流れが逆になるだけで同様のデータの受け渡しが行われ、仮想3G通信モジュールが共通記憶部110に構成される。
【0088】
次に、図4を参照して、遠隔操作通信装置100のUSB通信部104から情報処理装置1本体のUSB通信部14への接続の切り替え処理の流れを説明する。図4は、切り替え処理のフローチャートである。
【0089】
遠隔操作通信装置100の動作時に、シャットダウンなどの切り替え要因が発生する(ステップS101)。
【0090】
次に、制御部102は、移行先である情報処理装置1本体の制御部12が有するCPUに電源を供給し制御部12を起動させる(ステップS102)。
【0091】
プロトコルスタック設定部103は、USB通信部104が使用している通信設定を共通記憶部110へ書き込む(ステップS103)。
【0092】
プロトコルスタック設定部13は、通信設定を共通記憶部110から取得する。そして、制御部12は、プロトコルスタック設定部13が取得した通信設定をUSB通信部14などに設定する(ステップS104)。
【0093】
制御部12は、共通記憶部110の通知領域201に設定完了の通知を書き込み、設定完了を通知する(ステップS105)。
【0094】
同期部105は、USB通信部104が3G通信モジュール2から受信したデータを共通記憶部110のデータ転送領域205へ転送する(ステップS106)。
【0095】
そして、同期部15は、データ転送領域205に書き込まれたデータのSOFを取得し、USB通信部14とUSBデバイスである3G通信モジュール2との同期を取る(ステップS107)。
【0096】
そして、制御部12は、3G通信モジュール2に対するUSBエニュメレーションを実行して、USBデバイスを登録し設定する(ステップS108)。
【0097】
次に、USB通信部14は、擬似的なUSB応答の通知を共通記憶部110の通知領域201に書き込み、制御部102は、通知領域201に書き込まれた擬似的なUSB応答の通知を取得する。これにより、USB通信部14は、制御部102に対して擬似的なUSB応答を通知する(ステップS109)。
【0098】
次に、制御部102は、擬似応答の通知を共通記憶部110の通知領域201に書き込み、USB通信部14は、通知領域201に書き込まれた擬似応答の通知を取得する。これにより、制御部102は、USB通信部14に対して擬似応答を通知する(ステップS110)。
【0099】
そして、制御部12は、USB通信部14が擬似応答の通知を制御部102から受けると、同期完了の通知を共通記憶部110の通知領域201に書き込み、制御部102は、通知領域201に書き込まれた同期完了の通知を取得する。これにより、制御部12は、制御部102に対して同期完了の通知を行う(ステップS111)。
【0100】
さらに、制御部12は、切り替え通知を共通記憶部110の通知領域201に書き込み、制御部102は、通知領域201に書き込まれた切り替え通知を取得する。これにより、制御部12は、制御部102に対して切り替え通知を行う(ステップS112)。
【0101】
制御部102は、制御部12から切り替え通知を受けると、バススイッチであるスイッチ17の切り替えを切替部101へ通知する。そして、切替部101は、スイッチ17をUSB通信部14に切り替える(ステップS113)。
【0102】
その後、移行元である遠隔操作通信装置100のCPUが動作を停止する(ステップS114)。
【0103】
次に、図5を参照して、切替元、切替先及び3G通信モジュール2の間の切り替え処理におけるデータの流れを説明する。図5は、切り替え処理におけるデータの流れを表すシーケンス図である。ここで、紙面に向かって左端に書かれた切替元、3G通信モジュール2及び切替先のそれぞれから延びる線の間を結ぶ矢印はデータの流れを示している。また、図5は、紙面に向かって右に向かって時間の経過を表している。
【0104】
まず、切替元と3G通信モジュール2との間で通信が行われている(ステップS201)。ここで、点線250で表される時点で切り替え要因が発生したものとする。
【0105】
すると、切替元から切替先へ、アプリケーション情報が通知される(ステップS202)。これにより、切替先で、アプリケーションの設定が行われる。
【0106】
また、切替元から切替先へ、ネットワーク情報が通知される(ステップS203)。これにより、切替先で、ネットワークの設定が行われる。
【0107】
さらに、切替元から切替先へ、USB情報が通知される(ステップS204)。これにより、切替先で、USBの設定が行われる。
【0108】
ここで、範囲Pの間は、プロトコルスタック設定部13及びプロトコルスタック設定部103により各ステップの処理が実現される。
【0109】
その後、共通記憶部110に仮想3G通信モジュールが構成されると、切替元と3G通信モジュールとの間の通信が行われる(ステップS205)と共に、そのデータが切替元から切替先へ転送される(ステップS206)。これにより、切替先と3G通信モジュール2との間で同期が取られる。
【0110】
その後、切替先から切替元へ、切り替え通知が行われる(ステップS207)。
【0111】
これにより、スイッチ17により、3G通信モジュール2との接続が切替元から切替先へ切り替えられ(ステップS208)、これにより、切替元の通信は切断される(ステップS209)。
【0112】
ここで、範囲Qの間は、同期部15及び同期部105並びに制御部12及び制御部102により各ステップの処理が実現される。
【0113】
その後、接続先と3G通信モジュール2との間で通信が行われる(ステップS210)。
【0114】
次に、図6を参照して、遠隔操作通信装置100のUSB通信部104から情報処理装置1本体のUSB通信部14への接続の切り替えの概略についてさらに説明する。図6は、切り替え処理の概略を表すシーケンス図である。図6において示す情報処理装置1は情報処理装置1本体を表している。
【0115】
遠隔操作通信装置100は、受信したSOF300を用いて3G通信モジュール2と同期を取っている。ここで、一例として先頭のSOFにだけ符号を付けたが、遠隔操作通信装置100から延びている線上に記載されたブロックは全てSOFを表している。そして、遠隔操作通信装置100は、SOF300と同様にそれぞれのタイミングで他のSOFを用いて3G通信モジュール2と同期を取っている。
【0116】
そして、一点鎖線で表されるタイミングで情報処理装置1本体が起動されるなどの切り替え要因が発生する(ステップS301)。
【0117】
そこで、遠隔操作通信装置100は、情報処理装置1に対して、電源を供給すると共に、通信設定を通知する(ステップS302)。
【0118】
電源の供給を受けて、情報処理装置1本体は起動する(ステップS303)。
【0119】
次に、情報処理装置1は、各種通信設定を行う(ステップS304)。
【0120】
この間、遠隔操作通信装置100から共通記憶部110にUSBディスクリプタが書き込まれ、仮想3G通信モジュールが構成される(ステップS305)。
【0121】
そして、情報処理装置1本体では、3G通信モジュール2に対するUSBホストを構成する(ステップS306)。
【0122】
その後、遠隔操作通信装置100は、受信したSOF300を共通記憶部110を介して情報処理装置1本体に転送する(ステップS307)。これにより、情報処理装置1本体は、SOF301〜303を取得する。そして、情報処理装置1は、SOF301〜303を受信したタイミングでUSB通信部14をリセットすることにより、USB通信部14を3G通信モジュール2に同期させる。すなわち、矢印402で表される間に、情報処理装置1は、USBエニュメレーションを行う。
【0123】
そして、USBエニュメレーション完了後、情報処理装置1のUSB通信部14は、接続先を仮想3G通信モジュールから3G通信モジュール2へ切り替える(ステップS308)。この時点で、遠隔操作通信装置100のUSB通信部104と3G通信モジュール2との接続が切断される(ステップS309)。
【0124】
その後、情報処理装置1本体は、SOF304で表されるSOFを取得して、3G通信モジュール2と同期を取る。その後、情報処理装置1本体は、3G通信モジュール2とUSB通信を行う。
【0125】
すなわち、矢印401の間は遠隔操作通信装置100が3G通信モジュールとUSB通信を行い、その間の矢印402の間に情報処理装置1はUSBエニュメレーションを行ってしまい、矢印403では情報処理装置1が3G通信モジュールとUSB通信を行う。したがって、図6で示すように、矢印401と矢印403との間にタイムラグが無く、通信の中断が発生しないことが分かる。
【0126】
図7は、情報処理装置のハードウェア構成図である。図7に示すように、情報処理装置1は、グラフィックコントローラ501、メインCPU502、メモリ503、チップセット504、ストレージ505、USBホスト506、バススイッチ507及び遠隔操作通信装置100を有している。
【0127】
さらに、遠隔操作通信装置100は、サブCPU601、USBデバイス共通領域602、メモリ603、USBホスト604を有している。
【0128】
グラフィックコントローラ501、メモリ503及びチップセット504は、メインCPU502とバスで接続されている。そして、チップセット504は、ストレージ505及びUSBホスト506とバスで接続されている。さらに、USBホスト506は、USBデバイス共通領域602及びバススイッチ507とバスで接続されている。
【0129】
ストレージ505及びメモリ503により、図1における記憶部16の機能を実現している。また、ストレージ505にはOSやPUSHサービスのアプリケーションなどが記憶されている。
【0130】
そして、メインCPU502、チップセット504及びメモリ503は、例えば、図1に示した切替部11、制御部12、プロトコルスタック設定部13及び同期部15等の機能を実現する。例えば、メモリ503は、図1に例示した切替部11、制御部12、プロトコルスタック設定部13及び同期部15等による処理を実現する各種プログラムを記憶している。そして、メインCPU502及びチップセット504は、これらの各種プログラムを読み出して実行することで、上述した各機能を実現するプロセスを生成する。
【0131】
また、USBホスト506は、図1に示したUSB通信部14の機能を実現する。さらに、グラフィックコントローラ501は、プロセスの実行結果などといった各種データをモニタに表示する。
【0132】
バススイッチ507は、図1に示したスイッチ17の機能を実現する。バススイッチ507は、3G通信モジュール2と接続され、さらにUSBホスト506及びUSBホスト604が切り替え可能に接続されている。
【0133】
USBデバイス共通領域602、メモリ603及びUSBホスト604は、サブCPU601とバスで接続されている。USBデバイス共通領域602には、メインCPU502はUSBホスト506を介してアクセスでき、サブCPU601はUSBホスト604を介してアクセスできる。
【0134】
USBデバイス共通領域602は、共通記憶部110を実現する。そして、サブCPU601及びメモリ603は、例えば、図1に示した切替部101、制御部102、プロトコルスタック設定部103及び同期部105等の機能を実現する。例えば、メモリ603は、図1に例示した切替部101、制御部102、プロトコルスタック設定部103及び同期部105等による処理を実現する各種プログラムを記憶している。そして、サブCPU601は、これらの各種プログラムを読み出して実行することで、上述した各機能を実現するプロセスを生成する。また、サブCPU601は、情報処理装置1のメインCPU502とは独立して動作する。すなわち、メインCPU502が動作していない状態でも、サブCPU601は処理を行うことができる。
【0135】
また、USBホスト604は、図1に示したUSB通信部104の機能を実現する。
【0136】
以上に説明したように、本実施例に係る情報処理装置は、情報処理装置本体の通信部又は遠隔操作通信装置の通信部のいずれか一方から他方へUSBデバイスの接続先を切替える場合に、切り替え前に仮想の通信モジュールを構成する。そして、切替先の通信部を構成した仮想の通信モジュールに仮想的に接続させることで、情報処理装置は、実際のUSBデバイスとの接続に対して必要な通信設定を予め行い、切り替え後に予め設定した通信設定を用いて実際のUSBデバイスとの通信を行う。これにより、切り替え後のUSBデバイスに対する通信設定を省略することができる。したがって、通信の再接続による一時不通を発生させること無く、情報処理装置本体の通信部又は遠隔操作通信装置の通信部のいずれか一方から他方へUSBデバイスの接続先を切替えることができる。すなわち、情報処理装置の起動やシャットダウンといった使用状況に応じて、切り替えが発生した場合でも、PUSHサービスを中断無く継続して提供することが可能となり、PUSHサービスの品質を高めることが可能となる。
【符号の説明】
【0137】
1 情報処理装置
2 3G通信モジュール
11 切替部
12 制御部
13 プロトコルスタック設定部
14 USB通信部
15 同期部
16 記憶部
17 スイッチ
100 遠隔操作通信装置
101 切替部
102 制御部
103 プロトコルスタック設定部
104 USB通信部
105 同期部
106 記憶部
110 共通記憶部

【特許請求の範囲】
【請求項1】
OSを実行する第1の制御部と、
前記OSから独立して動作する第2の制御部と、
前記第1の制御部によって制御され、外部ネットワークに接続して通信を行う第1通信部と、
前記第2の制御部によって制御され、前記外部ネットワークに接続して通信を行う第2通信部と、
入力された通信設定を記憶する共通記憶部と、
前記外部ネットワークの接続先を前記第1通信部又は前記第2通信部のいずれか一方から他方に切り替える切替部と、
前記第2の制御部によって制御され、前記切替部が前記接続先を前記第2通信部から前記第1通信部へ切り替える場合、前記第2通信部の通信設定を前記共通記憶部に書込む第2通信設定部と、
前記第1の制御部によって制御され、前記第2通信設定部により前記共通記憶部に書込まれた前記第2通信部の通信設定を取得し、取得した該通信設定を前記第1通信部に設定する第1通信設定部とを備え、
前記切替部は、前記第1通信設定部により前記第1通信部に前記第2通信部の通信設定が設定された後、前記第2通信部から前記第1通信部へ前記外部ネットワークの接続先を切り替える
ことを特徴とする情報処理装置。
【請求項2】
前記第1通信部及び前記第2通信部はUSBインタフェースによって前記外部ネットワークと接続し、
前記第2通信設定部は、少なくともUSB設定及びネットワーク設定を含む前記通信設定を前記共通記憶部に書込むことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1通信部は、前記第1通信設定部により前記第2通信部の通信設定が自己に設定された場合、前記共通記憶部に対して情報を書込み、且つ該書込んだ情報に対する応答が前記共通記憶部に書込まれた場合、該応答を読込むことで擬似的な通信を行い、該擬似的な通信が確立したか否かを判定し、
前記第2通信部は、前記第1通信部により前記共通記憶部に書込まれた情報に対しする応答を前記共通記憶部に書込み、
前記切替部は、前記第1通信部によって擬似的な通信が確立したと判定された場合に、前記第2通信部から前記第1通信部への接続先の切り替えを行う
ことを特徴とする請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記第1の制御部によって制御され、前記切替部が前記接続先を前記第2通信部から前記第1通信部へ切り替える場合、前記第2通信部が前記外部ネットワークから受信した情報を前記共通記憶部に書込む第2同期部と、
前記第2の制御部によって制御され、前記第2同期部によって前記共通記憶部書き込まれた情報を基に、前記第1通信部の動作を外部ネットワークからの通信に同期させる第1同期部と
をさらに備えたことを特徴とする請求項1〜3のいずれか一つに記載の情報処理装置。
【請求項5】
前記切替部が前記接続先を前記第1通信部から前記第2通信部へ切り替える場合、
第1通信設定部は、前記第1通信部の通信設定を前記共通記憶部に書込み、
第2通信設定部は、前記第1通信設定部により前記共通記憶部に書込まれた前記第1通信部の通信設定を取得し、取得した該通信設定を前記第2通信部に設定し、
前記切替部は、前記第2通信設定部により前記第2通信部に前記通信設定が設定された後、前記第1通信部から前記第2通信部への接続先の切り替えを行う
ことを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。
【請求項6】
OSを実行する第1のCPU及び前記OSから独立して動作する第2のCPUとを有する情報処理装置の制御方法であって、
前記第1のCPUによって制御され、外部ネットワークに接続して通信を行う第1通信部から、前記第2のCPUによって制御され、前記外部ネットワークに接続して通信を行う第2通信部へ、前記外部ネットワークの接続先を切り替える場合、前記第2通信部における通信設定を共通メモリに書込み、
前記共通メモリに書込まれた前記第2通信部の通信設定を取得し、
取得した該通信設定を前記第1通信部に設定し、
前記第1通信部に前記第2通信部の通信設定が設定された後、前記外部ネットワークの接続先を前記第1通信部から前記第2通信部へ切り替える
ことを特徴とする情報処理装置制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate