(57)【要約】【課題】複数の通信モジュールを効率的に利用することを実現する情報処理装置を提供する。【解決手段】条件設定部１５１は、ユーザによって入力された各通信タスクの（通信負荷を数値化した）ポイントを条件テーブル１５５に格納する。通信経路選択部１５２は、このポイントを使って各Ｂｌｕｅｔｏｏｔｈモジュールの現在の通信負荷状況を把握し、新たに通信を開始する通信タスクの割り当て先を決定する。多重化制御部１５３は、この通信経路選択部１５２の決定を受けて、同一のＢｌｕｅｔｏｏｔｈモジュールに割り当てられた複数の通信タスクの無線通信を時分割で実行すべく多重化する。そして、Ｂｌｕｅｔｏｏｔｈドライバ１５４は、多重化制御部１５３によって多重化された無線通信を実行すべくそれぞれのＢｌｕｅｔｏｏｔｈモジュールを駆動制御する。【選択図】      図４
2008108125.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信モジュールと、
前記複数の通信モジュールの中のいずれかを用いて通信を行う複数の通信タスクそれぞれに付与された属性情報を管理する管理手段と、
前記管理手段により管理された属性情報に基づき、前記複数の通信モジュールに対する前記複数の通信タスクの割り当てを動的に制御する制御手段と、
を具備することを特徴とする情報処理装置。
【請求項２】
前記複数の通信モジュールは、Ｂｌｕｅｔｏｏｔｈ規格に準拠した無線通信を実行するものであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記属性情報は、各通信タスクの通信負荷を示す数値であり、
前記制御手段は、割り当てられたすべての通信タスクの属性情報を各通信モジュール毎に積算した値が前記複数の通信モジュール間で均等化されるように、前記複数の通信モジュールに対して前記複数の通信タスクを割り当てていくことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記制御手段は、いずれかの通信タスクが通信を開始する場合、前記属性情報の積算値が最も小さい通信モジュールに対して当該通信タスクを割り当てることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記制御手段は、同時に複数の通信タスクが通信を開始する場合、属性情報の値が大きい通信タスクから順に、前記属性情報の積算値が最も小さい通信モジュールへの割り当てを行っていくことを特徴とする請求項３記載の情報処理装置。
【請求項６】
前記制御手段は、１つの通信タスクをいずれかの通信モジュールに割り当てる毎に、前記属性情報の積算値を再計算することを特徴とする請求項５記載の情報処理装置。
【請求項７】
複数の通信モジュールを備えた情報処理装置の通信制御方法であって、
前記複数の通信モジュールの中のいずれかを用いて通信を行う複数の通信タスクそれぞれに付与された属性情報を管理し、
前記管理する属性情報に基づき、前記複数の通信モジュールに対する前記複数の通信タスクの割り当てを動的に制御する
ことを特徴とする通信制御方法。
【請求項８】
各通信タスクの通信負荷を示す数値を前記属性情報として管理し、
割り当てられたすべての通信タスクの属性情報を各通信モジュール毎に積算した値が前記複数の通信モジュール間で均等化されるように、前記複数の通信モジュールに対して前記複数の通信タスクを割り当てていくことを特徴とする請求項７記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばパーソナルコンピュータなどの情報処理装置に適用して好適な通信制御技術に関する。
【背景技術】
【０００２】
近年、ケーブルの敷設を必要としない無線通信が、それまで主流であった有線通信に代わって様々なシーンで利用されている。この無線通信の普及に伴い、無線通信路を効率的に確立するための手法が種々提案されるに至っている（例えば特許文献１等参照）。
【特許文献１】特開２００４−４８１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この無線通信は、他の電子機器とのデータ通信のほか、キーボードやマウス等との接続にも利用され始めている。また、例えばノートブックタイプのパーソナルコンピュータなどでは、機能拡張用のコネクタを複数備えているものが多く、必要に応じて無線通信モジュールを増設できるようになっている。従って、複数の無線通信モジュールを搭載することも可能である。
【０００４】
同軸ケーブルを使った有線通信の規格であるＥｔｈｅｒｎｅｔ（登録商標）を用いた通信では、ケーブルが動的に増減することを予定していないので、一意の物理的な通信経路を決めるのが一般的である。しかしながら、無線通信モジュールが必要に応じて増設される場合には、通信経路を固定的に定めることは現実的ではない。また、固定的に通信経路を定めたとすると、例えば、ある無線通信モジュールに割り当てた通信タスクは１つも通信を開始していないにも関わらず、他の無線通信モジュールに割り当てた通信タスクはそのすべてが通信を開始したような場合には、システム全体の通信負荷が特定の無線通信モジュールに偏ってしまう。
【０００５】
この発明は、このような事情を考慮してなされたものであり、複数の通信モジュールを効率的に利用することを実現する情報処理装置および情報処理装置の通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、この発明の情報処理装置は、複数の通信モジュールと、前記複数の通信モジュールの中のいずれかを用いて通信を行う複数の通信タスクそれぞれに付与された属性情報を管理する管理手段と、前記管理手段により管理された属性情報に基づき、前記複数の通信モジュールに対する前記複数の通信タスクの割り当てを動的に制御する制御手段とを具備することを特徴とする。
【０００７】
また、この発明の通信制御方法は、複数の通信モジュールを備えた情報処理装置の通信制御方法であって、前記複数の通信モジュールの中のいずれかを用いて通信を行う複数の通信タスクそれぞれに付与された属性情報を管理し、前記管理する属性情報に基づき、前記複数の通信モジュールに対する前記複数の通信タスクの割り当てを動的に制御することを特徴とする。
【発明の効果】
【０００８】
この発明によれば、複数の通信モジュールを効率的に利用することを実現する情報処理装置および情報処理装置の通信制御方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、この発明の実施の形態を説明する。この発明の一実施形態に係る情報処理装置は、例えばノートブック型パーソナルコンピュータ１０として実現されている。
【００１０】
図１は、ノートブック型パーソナルコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１と、ディスプレイユニット２とから構成されている。ディスプレイユニット２には、ＬＣＤ（Liquid Crystal Display）３から構成される表示装置が組み込まれており、そのＬＣＤ３の表示画面は、ディスプレイユニット２のほぼ中央に位置されている。
【００１１】
ディスプレイユニット２は、コンピュータ本体１に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１は薄い箱形の筐体を有しており、その上面にはキーボード４、本コンピュータ１０を電源オン／オフするためのパワーボタン５、入力操作パネル６およびタッチパッド７などが配置されている。
【００１２】
また、コンピュータ本体１の側面には、ＵＳＢ（Universal Serial Bus）コネクタ８が複数設けられており、様々な周辺機器を接続して増設できるようになっている。このＵＳＢコネクタ８に接続可能な周辺機器の１つに、Ｂｌｕｅｔｏｏｔｈ（登録商標）と呼ばれる近距離通信規格に準拠した無線通信を実行する通信モジュール９がある。この通信モジュール９を増設すれば、他のコンピュータとのファイル転送や、ワイヤレスキーボード、ワイヤレスマウス、ワイヤレスヘッドセット等の利用が可能となる。
【００１３】
例えば他のコンピュータとのファイル転送とワイヤレスヘッドセットの利用とを同時に行う場合等、複数の通信タスクが並存すると、Ｂｌｕｅｔｏｏｔｈでは、これら複数の無線通信を時分割で見かけ上同時に実行する。そのために、並存する通信タスクの数が増加すると、各通信タスクそれぞれのデータ転送レートは低下する。一方、本コンピュータ１０は、複数のＵＳＢコネクタ８を有しているので、複数の通信モジュール９を増設することも可能である。そして、複数の通信モジュール９が増設された場合には、通信負荷を適切に分散させるために、その時々の通信タスクの稼働状況に応じて、各通信タスクを通信モジュール９に割り当てることが非常に重要となる。そこで、本コンピュータ１０は、複数の通信モジュール９に対する複数の通信タスクの割り当てを動的かつ適切に行えるようにしたものであり、以下、この点について詳述する。
【００１４】
なお、ここでは、Ｂｌｕｅｔｏｏｔｈを例に説明するが、本通信制御手法は、Ｂｌｕｅｔｏｏｔｈに限らず、各通信タスクの再割り当てが可能な高速近距離通信を実現するＵＷＢ（Ultra Wide Band）全般にも応用できる。
【００１５】
図２は、本コンピュータ１０のシステム構成を示す図である。
【００１６】
コンピュータ１０は、図２に示すように、ＣＰＵ１１、ノースブリッジ１２、主メモリ１３、グラフィクスコントローラ１４、サウスブリッジ１５、ＢＩＯＳ（Basic Input Output System）−ＲＯＭ１６、ハードディスクドライブ（ＨＤＤ）１７、光ディスクドライブ（ＯＤＤ）１８、ＵＳＢコントローラ１９、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２０およびネットワークコントローラ２１等を備えている。
【００１７】
ＣＰＵ１１は、本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ＨＤＤ１７から主メモリ１３にロードされる、オペレーティングシステム１００を含む各種プログラムを実行する。また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１６に格納されたＢＩＯＳも実行する。ＢＩＯＳはハードウェア制御のためのプログラム群である。このプログラムの１つに、Ｂｌｕｅｔｏｏｔｈ規格に準拠した無線通信を実行制御するＢｌｕｅｔｏｏｔｈ通信制御モジュール１５０が存在する。
【００１８】
ノースブリッジ１２は、ＣＰＵ１１のローカルバスとサウスブリッジ１５との間を接続するブリッジデバイスである。ノースブリッジ１２には、主メモリ１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１４との通信を実行する機能も有している。
【００１９】
グラフィクスコントローラ１４は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ３を制御する表示コントローラである。このグラフィクスコントローラ１４は、ビデオメモリ（ＶＲＡＭ）１４Ａに書き込まれた画像データからＬＣＤ３に送出すべき表示信号を生成する。
【００２０】
サウスブリッジ１５は、ＬＰＣ（Low Pin Count）バス上の各デバイスと、ＰＣＩ（Peripheral Component Interconnect）バス上の各デバイスと、直結されるＢＩＯＳ−ＲＯＭ１６、ＨＤＤ１７、ＯＤＤ１８およびＵＳＢコントローラ１９とを制御する。サウスブリッジ１５には、ＨＤＤ１７を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラが内蔵されている。
【００２１】
ＨＤＤ１７およびＯＤＤ１８は、各種ソフトウェアおよび各種データを格納する記憶装置である。また、ＵＳＢコントローラ１９は、ＵＳＢコネクタ８（８ａ〜８ｃ）に接続された周辺機器との間の通信を実行するための制御ユニットである。
【００２２】
ＥＣ／ＫＢＣ２０は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）４およびタッチパッド７を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ２０は、ユーザによるパワーボタン５の操作に応じて本コンピュータ１０を電源オン／オフする機能を有している。そして、ネットワークコントローラ２１は、ＬＡＮ（Local Area Network）等との通信を実行する通信装置である。
【００２３】
図３は、このような構成のコンピュータ１０において複数の通信モジュール（以下、Ｂｌｕｅｔｏｏｔｈモジュールと称することがある）９に対する複数の通信タスクの割り当てが行われる様子を示す概念図である。
【００２４】
いま、２つのＵＳＢコネクタ８（８ａ，８ｂ）に、２つのＢｌｕｅｔｏｏｔｈモジュール９（９ａ，９ｂ）が装着されているものと想定する。また、ワイヤレスマウスおよびワイヤレスヘッドセットが利用されている状態で、他のコンピュータとのファイル転送が開始されたと想定する。
【００２５】
ワイヤレスマウスおよびヘッドセットの制御は、マウスドライバおよびヘッドセットドライバを介してそれぞれ実行され、他のコンピュータとのファイル転送は、ファイル転送ドライバを介して実行される。そして、これらマウスドライバ、ヘッドセットドライバおよびファイル転送ドライバとＢｌｕｅｔｏｏｔｈモジュール９との間に、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０は介在し、それぞれの通信経路を適宜に選択する。図３の例では、ワイヤレスマウスの利用による通信負荷よりも、ワイヤレスヘッドセットの利用による通信負荷の方が大きいために、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０は、（通信負荷の小さい方の）ワイヤレスマウスの利用のための通信タスクが割り当て済みのＢｌｕｅｔｏｏｔｈモジュール９ａに対して、他のコンピュータとのファイル転送のための通信タスクをさらに割り当てている。
【００２６】
このような割り当て制御を実行するために、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０は、図４に示すように、条件設定部１５１、通信経路選択部１５２、多重化制御部１５３、Ｂｌｕｅｔｏｏｔｈドライバ１５４および条件テーブル１５５を有している。
【００２７】
条件設定部１５１は、各通信タスクに対してポイントを付与するためのユーザインタフェースを提供する。ポイントは、各通信タスクの通信負荷を数値化したものであり、通信負荷が大きいものほどその値は大きくなる。条件設定部１５１は、ユーザによって入力された各通信タスクのポイントを条件テーブル１５５に格納する。図５は、条件設定部１５１によって条件テーブル１５５に格納されたポイントの一例を示す図である。通信タスクとして格納する情報は、マウスドライバやヘッドセットドライバ等の各ドライバのモジュール名など、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０が識別可能な情報であればどのような情報であっても構わない。
【００２８】
通信経路選択部１５２は、この条件テーブル１５５に格納されたポイントを使って、各Ｂｌｕｅｔｏｏｔｈモジュール９の現在の通信負荷状況を把握し、新たに通信を開始する通信タスクの割り当て先を決定する。図５に示すように、ワイヤレスマウスの利用による通信負荷のポイントは２０、ワイヤレスキーボードの利用による通信負荷のポイントは１０、ヘッドセットの利用による通信負荷のポイントは７０、他のコンピュータとのファイル転送による通信負荷のポイントは５０にそれぞれ設定されている。このポイントの比較によって、通信経路選択部１５２は、ワイヤレスマウスの利用による通信負荷よりも、ワイヤレスヘッドセットの利用による通信負荷の方が大きいと判断し（２０ポイント＜７０ポイント）、図３に示したように、他のコンピュータとのファイル転送のための通信タスクを（ワイヤレスマウスの利用のための通信タスクが割り当てられた方の）Ｂｌｕｅｔｏｏｔｈモジュール９ａに割り当てることを決定する。
【００２９】
この割り当て後、通信経路選択部１５２は、Ｂｌｕｅｔｏｏｔｈモジュール９ａ側の通信負荷を、２つの通信タスクのポイントの総合計である７０ポイント（２０ポイント＋５０ポイント）として考えて、それ以降の割り当て制御を継続する。つまり、本コンピュータ１０では、実際の通信状況を監視・計測するための複雑な機構を必要とせずに、条件テーブル１５５内の情報を参照するだけで、複数の通信モジュール９に対する複数の通信タスクの割り当てを動的かつ適切に行うことを実現する。
【００３０】
なお、ワイヤレスマウスの利用のための通信タスクと、ワイヤレスヘッドセットの利用のための通信タスクと、他のコンピュータとのファイル転送のための通信タスクとがほぼ同時に通信を開始させたとすると、通信経路選択部１５２は、ポイントの大きい通信タスクから順にＢｌｕｅｔｏｏｔｈモジュール９への割り当てを行っていく。ワイヤレスヘッドセットの利用のための通信タスクが７０ポイントで１番大きいので、通信経路選択部１５２は、これをＢｌｕｅｔｏｏｔｈモジュール９ａまたはＢｌｕｅｔｏｏｔｈモジュール９ｂのいずれかに割り当てる。そうすると、割り当てが行われた方のポイントが７０、他方のポイントが０なので、今度は、２番目に大きい５０ポイントの他のコンピュータとのファイル転送のための通信タスクが０ポイントのＢｌｕｅｔｏｏｔｈモジュール９の方に割り当てられる。これにより、一方のポイントが７０、他方のポイントが５０となり、一番ポイントの小さいワイヤレスマウスの利用のための通信タスクも、他のコンピュータとのファイル転送のための通信タスクを割り当てた方のＢｌｕｅｔｏｏｔｈモジュール９に割り当てる。その結果、これら３つの通信タスクがほぼ同時に通信を開始させた場合も図３に示した通りの割り当てとなる。
【００３１】
また、この手順によれば、本コンピュータ１０の稼働中にＢｌｕｅｔｏｏｔｈモジュール９が追加された場合、このＢｌｕｅｔｏｏｔｈモジュール９の通信負荷は０ポイントと計算され、いずれかの通信タスクが通信を開始した際には、このＢｌｕｅｔｏｏｔｈモジュール９への割り当てが優先的に行われる。即ち、Ｂｌｕｅｔｏｏｔｈモジュール９の追加にも動的に対応できることになる。
【００３２】
多重化制御部１５３は、この通信経路選択部１５２の決定を受けて、同一のＢｌｕｅｔｏｏｔｈモジュール９に割り当てられた複数の通信タスクの無線通信を時分割で実行すべく多重化する。Ｂｌｕｅｔｏｏｔｈドライバ１５４は、Ｂｌｕｅｔｏｏｔｈモジュール９の数だけ起動され、多重化制御部１５３によって多重化された無線通信を実行すべくそれぞれのＢｌｕｅｔｏｏｔｈモジュール９を駆動制御する。
【００３３】
図６は、本コンピュータ１０が実行する通信モジュールに対する通信タスクの割り当て制御の流れを示すフローチャートである。
【００３４】
いずれかの通信タスクが通信を開始させた場合、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０は、まず、各Ｂｌｕｅｔｏｏｔｈモジュール９の通信タスク割り当て状況を取得する（ステップＡ１）。次に、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０は、条件テーブル１５５を参照して、その時点で総ポイント数の最も小さいＢｌｕｅｔｏｏｔｈモジュール９を検出する（ステップＡ２）。そして、Ｂｌｕｅｔｏｏｔｈ通信制御モジュール１５０は、この検出したＢｌｕｅｔｏｏｔｈモジュール９に対して、通信を開始させた通信タスクを割り当てる（ステップＡ３）。
【００３５】
以上のように、本コンピュータ１０によれば、複数の通信モジュールを効率的に利用することが実現される。
【００３６】
なお、前述の実施形態では、Ｂｌｕｅｔｏｏｔｈ規格に準拠した無線通信を実行する通信モジュールに対する通信タスクの割り当てを例に説明したが、本実施形態の通信制御手法は、これに限定されず、Ｂｌｕｅｔｏｏｔｈ規格以外のいずれの無線通信を実行する通信モジュールであっても適用可能であり、また、有線通信を実行する通信モジュールであっても適用可能である。
【００３７】
つまり、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施形態に係るコンピュータの外観を示す斜視図
【図２】同実施形態のコンピュータのシステム構成を示す図
【図３】同実施形態のコンピュータにおいて行われる複数の通信モジュールに対する複数の通信タスクの割り当ての様子を示す概念図
【図４】同実施形態のコンピュータ上で動作するＢｌｕｅｔｏｏｔｈ通信制御モジュールの機能ブロックを示す図
【図５】同実施形態のコンピュータ上で動作するＢｌｕｅｔｏｏｔｈ通信制御モジュールが有する条件テーブルの一例を示す図
【図６】同実施形態のコンピュータが実行する通信モジュールに対する通信タスクの割り当て制御の流れを示すフローチャート
【符号の説明】
【００３９】
１…コンピュータ本体、２…ディスプレイユニット、３…ＬＣＤ、４…キーボード、５…パワーボタン、６…入力操作パネル、７…タッチパッド、８…ＵＳＢコネクタ、９…通信モジュール、１０…コンピュータ、１１…ＣＰＵ、１２…ノースブリッジ、１３…主メモリ、１４…グラフィクスコントローラ、１４Ａ…ビデオメモリ、１５…サウスブリッジ、１６…ＢＩＯＳ−ＲＯＭ、１７…ハードディスクドライブ（ＨＤＤ）、１８…光ディスクドライブ（ＯＤＤ）、１９…ＵＳＢコントローラ、２０…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、２１…ネットワークコントローラ、１００…オペレーティングシステム、１５０…通信制御モジュール、１５１…条件設定部、１５２…通信経路選択部、１５３…多重化制御部、１５４…Ｂｌｕｅｔｏｏｔｈドライバ、１５５…条件テーブル。
【図１】
2008108125.tif 000003
【図２】
2008108125.tif 000004
【図３】
2008108125.tif 000005
【図４】
2008108125.tif 000006
【図５】
2008108125.tif 000007
【図６】
2008108125.tif 000008