(57)【要約】【課題】  接続されるデバイス機器に対応したアプリケーションの起動をデバイス機器に応じて制限することによりデバイス機器の接続管理を有効に行う。【解決手段】  プラグアンドプレイ機能を有したホスト機器にプラグアンドプレイ機能を有したデバイス機器が接続されたときの制御を行う装置である。ホスト機器１は、接続されたデバイス機器２に応じたアプリケーション３を起動するアプリケーション起動手段４と、起動可能なアプリケーションの数が設定された設定データ５と、設定データに設定された数を超えたデバイス機器２が接続されたとき、そのデバイス機器２に対応したアプリケーションの起動を待機状態とする制御手段４とを備える。【選択図】  図１
2006259886.tif 000002
【特許請求の範囲】
【請求項１】
プラグアンドプレイ機能を有したホスト機器にプラグアンドプレイ機能を有したデバイス機器が接続されたときの制御を行う装置であって、
前記ホスト機器は、接続された前記デバイス機器に応じたアプリケーションを起動するアプリケーション起動手段と、起動可能なアプリケーションの数が設定された設定データと、該設定データに設定された数を超えた前記デバイス機器が接続されたとき、該デバイス機器に対応したアプリケーションの起動を待機状態とする制御手段とを有することを特徴とするプラグアンドプレイ機能を有した機器の制御装置。
【請求項２】
前記ホスト機器は、各アプリケーションの起動の際に必要となるメモリに関するメモリデータをさらに有し、前記制御手段は接続された前記デバイス機器に対応したアプリケーションのメモリが前記ホスト機器全体で使用可能なメモリ容量を超えたとき、該デバイス機器に対応したアプリケーションの起動を待機状態とする制御を行うことを特徴とする請求項１記載のプラグアンドプレイ機能を有した機器の制御装置。
【請求項３】
前記制御手段は、前記設定データを満たす状態となったとき、待機状態の前記デバイス機器に対応したアプリケーションを起動することを特徴とする請求項１記載のプラグアンドプレイ機能を有した機器の制御装置。
【請求項４】
前記制御手段は、待機状態の前記デバイス機器に対応したアプリケーションのメモリが前記ホスト機器自体のメモリ容量以下を満たす状態となったとき、該デバイス機器に対応したアプリケーションを起動することを特徴とする請求項２記載のプラグアンドプレイ機能を有した機器の制御装置。
【請求項５】
プラグアンドプレイ機能を有したホスト機器にプラグアンドプレイ機能を有したデバイス機器が接続されたときの制御を行う方法であって、
前記ホスト機器に接続される前記デバイス機器の数を監視するステップと、前記ホスト機器に接続される前記デバイス機器の数が設定データを超えたとき、該デバイス機器に対応したアプリケーションの起動を待機状態とするステップとを実行することを特徴とするプラグアンドプレイ機能を有した機器の制御方法。
【請求項６】
接続される前記デバイス機器に対応したアプリケーションの起動に要するメモリを監視するステップと、前記ホスト機器に接続された前記デバイス機器に対応するアプリケーションのメモリが前記ホスト機器全体のメモリ容量を超えたとき、該デバイス機器に対応したアプリケーションを待機状態とするステップとをさらに実行することを特徴とする請求項５記載のプラグアンドプレイ機能を有した機器の制御方法。
【請求項７】
接続される前記デバイス機器の数が前記設定データを満たす状態となったとき、待機状態の前記デバイス機器に対応したアプリケーションを起動することを特徴とする請求項５記載のプラグアンドプレイ機能を有した機器の制御方法。
【請求項８】
待機状態の前記デバイス機器に対応したアプリケーションのメモリが前記ホスト機器自体のメモリ容量以下を満たす状態となったとき、該デバイス機器に対応したアプリケーションを起動することを特徴とする請求項６記載のプラグアンドプレイ機能を有した機器の制御方法。
【請求項９】
ホスト機器に請求項５から８のいずれか１項に記載の各ステップを実行させるためのプラグアンドプレイ機能を有した機器の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス機器をホスト機器に接続して機能させる際の機器の制御装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
デバイス機器が接続可能なホスト機器としては、大きく以下の２パターンに分類される。
（１）パソコン（ＰＣ）のようにメモリ、ＣＰＵ的に余裕があり複数のアプリケーションを問題なく起動できるパターン
（２）組み込み系のようにメモリ、ＣＰＵが複数のアプリケーションを共存して接続数の制限なしでは動作が保証することが難しいパターン
【０００３】
上記パターン（１）のような場合には、制限を行う必要性は大きくないが、パターン（２）のような場合では、一つのアプリケーションで使用するメモリ、ＣＰＵ占有率が大きく影響するため、ホスト機器に対して何らかの制限を設けておく必要がある。
【０００４】
パターン（２）の場合において、単一のデバイス機器の接続のみを許容し、後のデバイス機器を有効にするためには、最初のデバイス機器の接続を外し、その後、有効にしたいデバイス機器の接続を行っている。例えば、ＵＳＢによって接続されるデバイス機器では、キーボード、マウスのような入力支援装置やフラッシュディスク、ハードディスクのようなストレージデバイス、スピーカのようなオーディオデバイス等さまざまなデバイス機器の種類があるため、同種類、異種類のデバイス機器が同時に接続されることがある。そして、これらのデバイス機器に応じた多種多様なアプリケーションが起動されることとなる。また、起動されるアプリケーションの種類によっては、マウスのように起動後から切断されるまで継続してアプリケーションが起動し続けるものもあれば、ＤＰＯＦ自動印刷のように接続して一定の処理が終わった時点で自動的にアプリケーションの終了を行うようなものもある。
【特許文献１】特開２００２−９４９１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上のデバイス機器の接続を行う最近の市場動向としては、ワイヤレスＵＳＢの開発が進められており、更なる利便性の向上が見込まれるため、組み込み系のホスト機器にとっては接続管理が重点的に問われるものとなる。
【０００６】
本発明は、このような事情を考慮してなされたものであり、接続されるデバイス機器に対応したアプリケーションの起動をデバイス機器に応じて制限することによりデバイス機器の接続管理を有効に行うことが可能なプラグアンドプレイ機能を有した制御装置及び制御方法並びに制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１記載の発明のプラグアンドプレイ機能を有した機器の制御装置は、プラグアンドプレイ機能を有したホスト機器にプラグアンドプレイ機能を有したデバイス機器が接続されたときの制御を行う装置であって、前記ホスト機器は、接続された前記デバイス機器に応じたアプリケーションを起動するアプリケーション起動手段と、起動可能なアプリケーションの数が設定された設定データと、該設定データに設定された数を超えた前記デバイス機器が接続されたとき、該デバイス機器に対応したアプリケーションの起動を待機状態とする制御手段とを有することを特徴とする。
【０００８】
請求項２記載の発明は、請求項１記載の制御装置であって、各アプリケーションの起動の際に必要となるメモリに関するメモリデータをさらに有し、前記制御手段は接続された前記デバイス機器に対応したアプリケーションのメモリが前記ホスト機器全体で使用可能なメモリ容量を超えたとき、該デバイス機器に対応したアプリケーションの起動を待機状態とする制御を行うことを特徴とする。
【０００９】
請求項３記載の発明は、請求項１記載の制御装置であって、前記制御手段は、前記設定データを満たす状態となったとき、待機状態の前記デバイス機器に対応したアプリケーションを起動することを特徴とする。
【００１０】
請求項４記載の発明は、請求項２記載の制御装置であって、前記制御手段は、待機状態の前記デバイス機器に対応したアプリケーションのメモリが前記ホスト機器自体のメモリ容量以下を満たす状態となったとき、該デバイス機器に対応したアプリケーションを起動することを特徴とする。
【００１１】
請求項５記載の発明のプラグアンドプレイ機能を有した機器の制御方法は、プラグアンドプレイ機能を有したホスト機器にプラグアンドプレイ機能を有したデバイス機器が接続されたときの制御を行う方法であって、前記ホスト機器に接続される前記デバイス機器の数を監視するステップと、前記ホスト機器に接続される前記デバイス機器の数が設定データを超えたとき、該デバイス機器に対応したアプリケーションの起動を待機状態とするステップとを実行することを特徴とする。
【００１２】
請求項６記載の発明は、請求項５記載の制御方法であって、接続される前記デバイス機器に対応したアプリケーションの起動に要するメモリを監視するステップと、前記ホスト機器に接続された前記デバイス機器に対応するアプリケーションのメモリが前記ホスト機器全体のメモリ容量を超えたとき、該デバイス機器に対応したアプリケーションを待機状態とするステップとをさらに実行することを特徴とする。
【００１３】
請求項７記載の発明は、請求項５記載の制御方法であって、  接続される前記デバイス機器の数が前記設定データを満たす状態となったとき、待機状態の前記デバイス機器に対応したアプリケーションを起動することを特徴とする。
【００１４】
請求項８記載の発明は、請求項６記載の制御方法であって、待機状態の前記デバイス機器に対応したアプリケーションのメモリが前記ホスト機器自体のメモリ容量以下を満たす状態となったとき、該デバイス機器に対応したアプリケーションを起動することを特徴とする。
【００１５】
請求項９記載の発明は、ホスト機器に請求項５から８のいずれか１項に記載の各ステップを実行させるためのプラグアンドプレイ機能を有した機器の制御プログラムである。
【発明の効果】
【００１６】
本発明によれば、ホスト機器に接続可能なデバイス機器の数を設定データに設定しておき、設定データの数を超えたデバイス機器が接続されたとき、そのデバイス機器に対応したアプリケーションの起動を待機状態とするため、デバイス機器の接続管理を有効に行うことができる。
【００１７】
また、接続されたデバイス機器に対応したアプリケーションのメモリがホスト機器全体で使用可能なメモリ容量を超えたとき、そのデバイスに対応したアプリケーションの起動を待機状態とする制御を行うため、上記と同様に、デバイス機器の接続管理を有効に行うことができる。
【発明を実施するための最良の形態】
【００１８】
図１は本発明の一実施形態の構成を示すブロック図である。図１に示すように、ホスト機器１に対しデバイス機器２が接続可能となっている。この場合、デバイス機器２は複数がホスト機器１に接続されるものである。これらのホスト機器１及びデバイス機器２は、いずれもプラグアンドプレイ機能を有している。
【００１９】
ホスト機器１は、デバイス機器２に個々に対応したアプリケーション３を複数備えている。デバイス機器２は、ホスト機器１内のプラグアンドプレイ検出制御部４に接続される。また、ホスト機器１は接続されるデバイス機器の数が設定された設定データ５と、起動待ちアプリケーションリンクリスト６と、起動中アプリケーションリンクリスト７と、起動終了アプリケーションリンクリスト８とを有している。
【００２０】
プラグアンドプレイ検出制御部４は、アプリケーションを起動する制御を行う。起動したアプリケーションは、その終了の後、プラグアンドプレイ検出制御部４に対して終了の通知を行う。この場合、プラグアンドプレイ検出制御部４は接続されたデバイス機器に対応したアプリケーションを起動するものである。
【００２１】
図２はプラグアンドプレイ検出制御部４に格納されているデバイス機器の管理情報であり、「次情報へのリンク」、「デバイス固有クッキー情報」、「デバイス接続位置情報」、「アプリケーションプロセス番号」、「デバイス固有情報」を備えている。
【００２２】
プラグアンドプレイ検出制御部４に対しては、設定データ５から接続可能なデバイス機器の数が入力される。そして、プラグアンドプレイ検出制御部４は接続されたデバイス機器の数と設定データ５からのデータとを比較する。比較の結果、設定データ５に設定されている数をデバイス機器の数が超えたとき、そのデバイス機器のアプリケーションの起動を待機状態とする。
【００２３】
さらに、プラグアンドプレイ検出制御部４は接続されているデバイス機器２に対応したアプリケーションが終了したとき、待機状態のデバイス機器のアプリケーションを自動的に起動する。これにより、デバイス機器２はホスト機器１に接続したままの状態で、アプリケーションが順序よく起動するため、デバイス機器２の接続管理を有効に行うことができる。
【００２４】
また、ホスト機器１は各アプリケーション３の起動の際に必要となるメモリに関するメモリデータを備えている。プラグアンドプレイ検出制御部４はこのメモリデータと、ホスト機器１で使用可能なメモリ容量とを比較し、比較の結果、デバイス機器２のメモリデータがメモリ容量を超えたとき、そのデバイス機器に対応したアプリケーションの起動を待機状態とする。
【００２５】
さらに、プラグアンドプレイ検出制御部４は起動しているアプリケーション３が終了してホスト機器１のメモリ容量に余裕ができたとき、待機状態のデバイス機器２のアプリケーション３を自動的に起動する。これによっても、デバイス機器２はホスト機器１に接続したままの状態で、アプリケーションが順序よく起動するため、デバイス機器２の接続管理を有効に行うことができる。
【００２６】
図３はこの実施形態のフローチャートを示し、プラグアンドプレイ検出制御部４内の制御プログラムに格納されている。ステップＳ１では、デバイス機器２の接続状態を監視し、ステップＳ２ではアプリケーション３が終了したかを監視する。ステップＳ３ではイベント監視及びループ起動を行い、ステップＳ４ではイベント受信を待機する。ステップＳ５では受信したイベントを比較する。
【００２７】
比較の結果、デバイス機器が接続されている場合にはステップＳ６に移行し、デバイス機器の切断がある場合にはステップＳ２１に移行し、アプリケーション３が終了したときはステップＳ３７に移行する。
【００２８】
ステップＳ６では接続されたデバイス機器に対応したアプリケーション３を選択し、起動アプリケーションの有無を検出し（ステップＳ７）、アプリケーションがある場合には、全アプリケーションの起動数をチェックする（ステップＳ９）。起動数が設定データ５における数を超える場合には、その情報をペンディングアプリケーションリンクリストに登録する（ステップＳ１５）。
【００２９】
起動数が設定データ５における数よりも少ない場合には、使用メモリをチェックする（ステップＳ１０）。その結果、ホスト機器全体のメモリ容量を超えているときには、その情報をペンディングアプリケーションリンクリストに登録する（ステップＳ１５）。それ以外の場合には、接続されたデバイス機器２に対応したアプリケーション３を起動し（ステップＳ１１）、起動したアプリケーション３を起動中アプリケーションリンクリストに登録し（ステップＳ１２）、その後、アプリケーション３の起動数及び起動メモリを加算し（ステップＳ１３）、ステップＳ１４に移行する。
【００３０】
一方、ステップＳ２１においては、切断されたデバイス機器２を検索し、ステップＳ２２において、そのデバイスの有無を比較する。ステップＳ２２においてデバイス機器２がない場合には、ペンディングアプリケーションデバイスより該当デバイス機器を検索し（ステップＳ２３）、ステップＳ２４でそのデバイスの有無を検出する。デバイス機器が検出されない場合には、終了アプリケーションデバイスより該当デバイス機器を検索し（ステップＳ２５）、ステップＳ２６でそのデバイスを検出する。デバイスが検出されない場合には、ステップＳ１４のイベント監視ループに移行する。
【００３１】
ステップＳ２２において、該当デバイスがある場合には、アプリケーション３を強制終了し（ステップＳ２８）、起動数及びメモリの減算を行い（ステップＳ２９）、起動中アプリケーションリンクリストから削除する（ステップＳ３０）。そして、ペンディングリストより情報収集を行い（ステップＳ３１）、ステップＳ３２において起動アプリケーションの有無を検出する。ステップＳ３３はステップＳ３２に続く処理であり、全アプリケーションの起動数をチェックする。その後、ステップＳ３４においては使用メモリをチェックし、メモリ容量を超えていない場合には、デバイス機器に対応したアプリケーションを起動する（ステップＳ４３）。以上のステップＳ３２，Ｓ３３、Ｓ３４においてアプリケーションがない場合、起動数が超えている場合、及び使用メモリをオーバーしている場合には、ステップＳ１４に移行する。
【００３２】
ステップＳ３７及びステップＳ３８では、起動中のアプリケーションから該当するデバイス機器２を検索し、ステップＳ３９においてデバイス機器の有無を検出し、ない場合にはステップＳ１４に移行する。デバイス機器がある場合には、ステップＳ４０に移行して、起動数及びメモリの減算を行い起動中アプリケーションリンクリストから削除する（ステップＳ４１）。そして、ステップＳ４２では起動中アプリケーションリンクリストから該当する情報を終了アプリケーションリンクリストに移動した後、ステップＳ３２に移行する。
【００３３】
図４〜図９は、以上のフローチャートに基づいた各リンクリストの内容を示す。これらの図においては、ホスト機器１のメモリが９メガ（Ｍ）の場合を例にとっている。
【００３４】
図４では、２つのデバイス機器２が接続されており、デバイス機器Ａでは５Ｍのメモリを使用し、デバイス機器Ｂでは、３Ｍのメモリを使用する。この場合には、デバイス機器Ａ及びＢを起動中アプリケーションリンクリストに登録し、ペンディングアプリケーションリンクリスト及び終了アプリケーションリンクリストは空いた状態となっている。
【００３５】
図５では、４Ｍのメモリを使用する別のデバイス機器Ｃが接続された状態であり、メモリオーバーとなるため、デバイス機器Ｃはペンディングアプリケーションリンクリストに登録され、そのアプリケーションは待機状態となる。
【００３６】
図６では、デバイス機器Ｂのアプリケーションが終了した状態であり、デバイス機器Ｂは終了アプリケーションリンクリストに登録される。これにより、ホスト機器１にメモリの余裕ができるため、デバイス機器Ｃに対応したアプリケーションが起動する。
【００３７】
図７では、７Ｍのメモリを使用するデバイス機器Ｄがさらに接続された状態であり、メモリオーバーとなるため、デバイス機器Ｄはペンディングアプリケーションリンクリストに登録され、そのアプリケーションは待機状態となる。
【００３８】
図８では、デバイス機器Ａの接続が切断された状態を示し、７Ｍのメモリを使用するデバイス機器Ｄを起動するには、メモリオーバーとなるため、デバイス機器Ｄに対するアプリケーションは依然として待機状態となる。
【００３９】
図９では、図８の状態からデバイス機器Ｃの切断が行われた状態を示し、デバイス機器Ｄに対するアプリケーションが起動され、起動中アプリケーションリンクリストにデバイス機器Ｄのアプリケーションが登録される。
【００４０】
図１０は、ＵＳＢの場合におけるプラグアンドプレイ設定データを示している。ＵＳＢの場合においては、デバイス情報のクラス、サブクラス、プロトコル情報でどのアプリケーションを起動すべきかの判断を行っている。すなわち、図１０に示すように、クラス６、サブクラス１、プロトコル１のデバイスが接続された場合に、プログラム／ｂｉｎ／ａｐｌ＿１が起動する。この場合において、ここで記載されている使用メモリを現在、使用中のメモリに加算した値が規定値を超えているとき、起動待機状態となる。同時起動可能数の上限を超えた場合も同様である。
【００４１】
一方、クラスが９である場合には、サブクラス２であれば、プログラム／ｂｉｎ／ａｐｌ＿２、サブクラスが２以外であれば、プログラム／ｂｉｎ／ａｐｌ＿３を起動する。図１０における「＊」はワイルドカードであり、すでに数値条件でマッチしているものがあればそのデータを使用するが、該当がない場合、この条件でマッチしたこととなる。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】接続されるデバイス機器の管理表である。
【図３】制御を示すフローチャートである。
【図４】デバイス機器の接続に対する制御を示す状態図である。
【図５】図４に続くデバイス機器の接続に対する制御を示す状態図である。
【図６】図５に続くデバイス機器の接続に対する制御を示す状態図である。
【図７】図６に続くデバイス機器の接続に対する制御を示す状態図である。
【図８】図７に続くデバイス機器の接続に対する制御を示す状態図である。
【図９】図８に続くデバイス機器の接続に対する制御を示す状態図である。
【図１０】ＵＳＢ接続におけるプラグアンドプレイ設定データを示す図である。
【符号の説明】
【００４３】
１    ホスト機器
２    デバイス機器
３    アプリケーション
４    プラグアンドプレイ検出制御部
５    プラグアンドプレイ設定データ
６    起動待ちアプリケーションリンクリスト
７    起動中アプリケーションリンクリスト
８    起動終了アプリケーションリンクリスト
【図１】
2006259886.tif 000003
【図２】
2006259886.tif 000004
【図３】
2006259886.tif 000005
【図４】
2006259886.tif 000006
【図５】
2006259886.tif 000007
【図６】
2006259886.tif 000008
【図７】
2006259886.tif 000009
【図８】
2006259886.tif 000010
【図９】
2006259886.tif 000011
【図１０】
2006259886.tif 000012