(57)【要約】【課題】リモートインターフェイス装置、制御システム、及びそれらの方法を提供する。【解決手段】リモートインターフェイス装置は、ネットワークインターフェイスと、周辺デバイスインターフェイスと、インターフェイス提供メカニズムと、ネットワークアドレス設定メカニズムとを備える。ネットワークインターフェイスは、リモートホストと通信するように構成される。周辺デバイスインターフェイスは、周辺デバイスに接続するように構成される。インターフェイス提供メカニズムは、ネットワークインターフェイスと連携して、周辺デバイスインターフェイスをホストのリモート周辺デバイス接続ポートに転送する。ネットワークアドレス設定メカニズムは、ネットワークへの接続時にネットワークアドレスを自動的に取得し、周辺デバイスインターフェイスの情報をブロードキャストするように構成される。【選択図】  図１
2012069164.tif 000002
【特許請求の範囲】
【請求項１】
リモートインターフェイス装置であって、
リモートホストと通信するように構成されるネットワークインターフェイスと、
周辺デバイスと接続するように構成されるハードウェア周辺デバイスインターフェイスと、
前記ネットワークインターフェイスと連携して前記ハードウェア周辺デバイスインターフェイスを前記ホストのリモート周辺デバイスの接続ポートに転送するインターフェイス提供メカニズムであって、当該インターフェイス提供メカニズムが、前記ハードウェア周辺デバイスインターフェイス用のドライバを仮想インターフェイスに物理的に転送するように構成されているものと、
ネットワークへの接続時にネットワークアドレスを自動的に取得し、前記ハードウェア周辺デバイスインターフェイスの情報をブロードキャストするように構成されるネットワークアドレス構成メカニズムと、
前記周辺デバイスのドライバ命令をネットワークプロトコルにて前記ハードウェア周辺デバイスインターフェイスの前記ドライバに転送するためのメカニズムと、
前記周辺デバイスの実行結果をネットワークプロトコルにて前記ホストに転送するためのメカニズムと、
前記ハードウェア周辺デバイスインターフェイス及び／又は前記周辺デバイスのステータス情報について、前記ホストに返信するための呼出しメカニズムと、
前記ハードウェア周辺デバイスインターフェイス及び／又は前記周辺デバイスのステータス情報を前記ホストに自発的に転送するためのイベントメカニズムと
を有することを特徴とするリモートインターフェイス装置。
【請求項２】
デバイスタイプ及び／又はデバイス識別子をブロードキャストするように構成されるアドバタイジングメカニズムと、
前記ネットワーク内の他のデバイスからの問合せを受信したときにデバイスタイプ及び／又はデバイス識別子で応答するように構成されるディスカバリメカニズムと
を更に有することを特徴とする請求項１に記載のリモートインターフェイス装置。
【請求項３】
リモートインターフェイス装置であって、
リモートホストと通信するように構成されるネットワークインターフェイスと、
周辺デバイスと接続するように構成される周辺デバイスインターフェイスと、
前記ネットワークインターフェイスと連携して前記周辺デバイスインターフェイスを前記ホストのリモート周辺デバイスの接続ポートに転送するインターフェイス提供メカニズムであって、当該インターフェイス提供メカニズムが、前記周辺デバイスインターフェイス用のドライバを仮想インターフェイスに物理的に転送するように構成されているものと、
アドバタイジング又はディスカバリによってネットワークアドレスを受信したときに、前記デバイスインターフェイスの情報を提供するように構成される情報提供メカニズムと
を有することを特徴とするリモートインターフェイス装置。
【請求項４】
Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＤＨＣＰ）による前記ネットワークアドレスを取得するネットワークアドレス構成メカニズムを更に有することを特徴とする請求項３に記載のリモートインターフェイス装置。
【請求項５】
前記情報提供メカニズムが、
デバイスタイプ及び／又はデバイス識別子をブロードキャストするように構成されるアドバタイジングメカニズムと、
前記ネットワーク内の他のデバイスからの問合せを受信したときにデバイスタイプ及び／又はデバイス識別子で応答するように構成されるディスカバリメカニズムと
を有することを特徴とする請求項３に記載のリモートインターフェイス装置。
【請求項６】
リモートインターフェイスシステムであって、
リモートホストと通信するように構成されるネットワークインターフェイスと、
周辺デバイスと接続するように構成される周辺デバイスインターフェイスと、
前記ネットワークインターフェイスと連携して前記周辺デバイスインターフェイスを前記ホストのリモート周辺デバイスの接続ポートに転送するインターフェイス提供メカニズムであって、当該インターフェイス提供メカニズムが、前記ハードウェア周辺デバイスインターフェイス用のドライバを仮想インターフェイスに物理的に転送するように構成されているものと、
前記ネットワークへの接続時にネットワークアドレスを自動的に取得し、前記周辺デバイスインターフェイスの情報をブロードキャストするように構成されるネットワークアドレス設定メカニズムと
を備えるリモートインターフェイス装置と、仮想周辺デバイスインターフェイスオブジェクトを備えるホストと、を有し、
前記仮想周辺デバイスインターフェイスオブジェクトが前記周辺デバイスのドライバ命令をネットワークプロトコルにて前記リモートインターフェイス装置に転送し、その後、前記リモートインターフェイス装置の実行結果を受信することを特徴とするリモートインターフェイスシステム。
【請求項７】
前記リモートインターフェイス装置が、
前記周辺デバイスのドライバ命令をネットワークプロトコルにて前記周辺デバイスインターフェイスの前記ドライバに転送するためのメカニズムと、
前記周辺デバイスの実行結果をネットワークプロトコルにて前記ホストに転送するためのメカニズムと
を備えることを特徴とする請求項６に記載のリモートインターフェイスシステム。
【請求項８】
前記リモートインターフェイス装置が、
前記周辺デバイスインターフェイス及び／又は前記周辺デバイスのステータス情報について、前記ホストに返信するための呼出しメカニズムと
前記周辺デバイスインターフェイス及び／又は前記周辺デバイスのステータス情報を前記ホストに自発的に転送するためのイベントメカニズムと
を備えることを特徴とする請求項７に記載のリモートインターフェイスシステム。
【請求項９】
前記周辺デバイスインターフェイスが、有線ネットワークインターフェイス又は短距離無線インターフェイスであることを特徴とする請求項１又は３に記載のリモートインターフェイス装置。
【請求項１０】
前記周辺デバイスインターフェイスが、有線ネットワークインターフェイス又は短距離無線インターフェイスであることを特徴とする請求項６に記載のリモートインターフェイスシステム。
【請求項１１】
リモートインターフェイスシステムを使用するための方法であって、
リモートインターフェイス装置によってネットワークアドレスを自動的に取得するステップと、
前記リモートインターフェイス装置で提供されるデバイスインターフェイスサービスをブロードキャストするステップと、
前記リモートインターフェイス装置とホストとの接続を設定するステップと、
前記リモートインターフェイス装置に接続された周辺デバイス用のドライバを自動的にインストールするステップと、
前記周辺デバイスに対応する仮想周辺デバイスインターフェイスオブジェクトを前記ホストによって設定するステップと、
前記周辺デバイス用の前記ドライバを仮想インターフェイスに転送するステップと
を含むことを特徴とする方法。
【請求項１２】
前記周辺デバイスインターフェイス及び／又は前記周辺デバイスの情報について、前記ホストに返信するステップと、
前記ホストによって要求されたイベント通知のサブスクリプションを受け入れるステップと、
ステータスイベント又はステータス変動イベントを送信するステップと
を更に含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記周辺デバイスインターフェイスが、有線ネットワークインターフェイス又は短距離無線インターフェイスであることを特徴とする請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリモートデバイスの接続制御システム、より詳細には、リモート周辺デバイス用の接続制御システムに関する。
【背景技術】
【０００２】
様々なインハウスサービス（セキュリティ、健康管理、自動化など）、近隣サービス、ファシリティサービス、ファクトリーオートメーション、又はスーパーマーケットでのレジ支払いの自動化については、ホストの接続ポート（たとえばＲＳ２３２、ＩｒＤＡ、ＵＳＢ、Ｚｉｇｂｅｅ（登録商標）、又はＢｌｕｅｔｏｏｔｈ（登録商標））を介してサービスを提供するか、或いはホストのデバイスに接続する必要がある。このようなサービスに共通して必要なことは、通信接続とリモートデバイスの制御である。
【０００３】
関連する重要な問題点として、周辺デバイスの接続ポートの数と種類の増大が懸念される。これまでのところ、市場で優位に立つ製品は、次の２つのタイプに分類される。第１のタイプは、ネットワークベースのインターフェイスアダプタ／ゲートウェイ技術を使用している。この技術では、ホスト側でＴＣＰ／ＩＰソケットプログラムを利用し、更にインターフェイスアダプタ／ゲートウェイ側でもＴＣＰ／ＩＰソケットプログラムを利用することで、元の周辺デバイスインターフェイスドライバをネットワークに展開している。第２のタイプは、デジタルホームユース対応の技術として主流をなすＵＰｎＰデバイスアダプタ技術を使用している。ホスト側では、ＵＰｎＰのコントロールポイントのプロトコル（通信）スタックの技術を追加することにより、ホストのアプリケーションプログラムがＵＰｎＰのコントロールポイントの機能を使用できるようになる。デバイス側には、元のデバイスをＵＰｎＰデバイスに変換するために、ＵＰｎＰのコントロールポイントのプロトコルスタックが使用可能なＵＰｎＰデバイスアダプタが使用されている。このため、ホストは、ＵＰｎＰ通信プロトコルを介してデバイスとやり取りすることで、自動コンフィグレーション、ディスカバリ、ディスクリプション、デバイスディスクリプション・サービスディスクリプション、リモートプロシージャ呼出し、又はイベント応答等の機能を実現できる。
【０００４】
現在のところ、利用可能なネットワーク型のインターフェイスアダプタ／ゲートウェイデバイスは、ＴＣＰ／ＩＰとＲＳ２３２との間の変換又はＴＣＰ／ＩＰとＵＳＢとの間の変換等のインターフェイス変換を実行するだけである。このような製品のネットワークアドレスは、手動で設定し、既定のＴＣＰ／ＵＤＰポートで使用する必要がある。更に、これらの製品とホストとの間にはディスクリプション機能もステータスレポートも存在しない。
【０００５】
特許文献１及び特許文献２では、ＵＰｎＰデバイスの構造とインターフェイスを開示している。該デバイスは使いやすさが向上しているが、それと引き換えにハードウェアとソフトウェアのコストが高くなっている。他の問題点は、他のデバイスとの互換性に制限があることである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６，７７９，００４号明細書
【特許文献２】米国特許第７，１７１，４７５号明細書
【発明の概要】
【課題を解決するための手段】
【０００７】
本発明では、ネットワークインターフェイスと、周辺デバイスインターフェイスと、インターフェイス提供メカニズムと、ネットワークアドレス設定メカニズムとを備えるリモートインターフェイス装置を提案する。ネットワークのインターフェイスは、リモートホストと通信するように構成される。周辺デバイスのインターフェイスは、周辺デバイスに接続するように構成される。インターフェイスを提供しているメカニズムは、ネットワークインターフェイスと連携して、周辺デバイスのインターフェイスをホストのリモート周辺デバイスの接続ポートに転送する。ネットワークアドレス設定のメカニズムは、ネットワークへの接続時にネットワークアドレスを自動的に取得し、周辺デバイスのインターフェイスの情報をブロードキャストするように構成される。
【０００８】
本発明では、ホストとリモートインターフェイス装置とを備えるリモートインターフェイスシステムを提案する。ホストは、仮想周辺デバイスのインターフェイスオブジェクトを備える。該仮想周辺デバイスのオブジェクトは周辺デバイスのドライバの命令を受信し、その周辺デバイスのドライバの命令をネットワークプロトコルでリモートインターフェイス装置に転送する。その後、仮想周辺デバイスのインターフェイスオブジェクトは、リモートインターフェイス装置の実行結果を受信し、その結果をアプリケーションに転送する。
【０００９】
リモートインターフェイスシステムを使用するための方法は、リモートインターフェイス装置によってネットワークアドレスを自動的に取得するステップと、リモートインターフェイス装置で提供されるデバイスインターフェイスサービスをブロードキャストするステップと、リモートインターフェイス装置とホストとの接続を設定するステップと、リモートインターフェイス装置に接続された周辺デバイス用のドライバを自動的にインストールするステップと、周辺デバイスに対応する仮想周辺デバイスのインターフェイスオブジェクトをホストによって設定するステップと、を含む。
【００１０】
添付の図面に従って本発明を以下に説明する。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係るリモートインターフェイスデバイスを示す。
【図２】本発明の一実施形態に係るリモートインターフェイスデバイスのソフトウェア構造を示す。
【図３】本発明の一実施形態に係るリモートインターフェイスデバイスを示す。
【図４】リモートインターフェイスシステムのホストのヒント図を示す。
【図５】本発明の一実施形態に係るリモートインターフェイスシステムを示す。
【図６】本発明の一実施形態に係るリモートインターフェイスシステムについてのホストによる制御を示す。
【図７】本発明の一実施形態に係るインターフェイス提供メカニズムに対応するフローチャートを示す。
【図８】本発明の一実施形態に係るネットワークアドレス設定メカニズムに対応するフローチャートを示す。
【図９】本発明の一実施形態に係るディスカバリメカニズムに対応するフローチャートを示す。
【図１０】本発明の一実施形態に係るリモート制御を示すフローチャートを示す。
【発明を実施するための形態】
【００１２】
図１は、本発明の一実施形態に係るリモートインターフェイスデバイスを示す。ＲＳ２３２デバイス１０１、ＵＳＢデバイス１０２、及び短距離無線デバイス１０３（Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、ＩｒＤＡなど）は、リモートインターフェイスデバイス１０４に接続される。リモートインターフェイスデバイス１０４は、周辺デバイスのインターフェイスを、ネットワークを介してネットワークのホストに提供する。リモートインターフェイスデバイス１０４はネットワークに接続すると、ＤＨＣＰからネットワークアドレスを取得するか、ネットワークアドレス設定メカニズムを介して自動ＩＰアルゴリズムによりネットワークアドレスを自動的に設定及びテストすることでネットワークアドレスを取得し、次いで、ブロードキャストメカニズムを介してネットワーク内にブロードキャストし、リモートインターフェイスデバイス１０４が所有する周辺デバイスのインターフェイスのタイプを示す。これにより、ネットワーク内のホストは、どのような種類の周辺デバイスのインターフェイスを使用すれば、リモート周辺デバイスに接続できるかを認識することができる。ホストは、周辺デバイスのインターフェイスサービスに関する通知を受信、又はインターフェイス提供メカニズムを介して周辺デバイスのインターフェイスの位置を特定すると、次に、周辺デバイスのインターフェイスがホストの仮想周辺デバイスの接続ポートとなるように、リモート周辺デバイスを設定する。ホストのアプリケーションプログラムに対して、仮想周辺デバイスの接続ポートがホストの他の接続ポートと同様に機能する。ホストは、このようなサービスを通して、どのようなタイプの接続ポートがリモート側で使用可能であるか、又は使用する適切な接続ポートが十分に存在するかどうかを把握する。ホスト側の使用者が適切な仮想周辺デバイスの接続ポートの位置を特定すると、周辺デバイスはその仮想周辺デバイスの接続ポートに接続するように設定される。リモートインターフェイスデバイス１０４は、ＵＰｎＰ通信プロトコルの通信フォーマット等の特定のプロトコルをサポートする。例えば、ディスカバリのプロトコルを利用することで、リモートインターフェイスデバイス１０４により提供されるサービスを検索する場合、ホスト１０５は、ＨＴＴＰのＧＥＴ命令を使用してリモートインターフェイスデバイス１０４から周辺デバイスのインターフェイス又はそれに関するデバイスの記述ドキュメントを取得することができる。周辺デバイスにリモートインターフェイスデバイス１０４がインストールされると、ホスト１０５は、周辺デバイスに対応する仮想周辺デバイスインターフェイスオブジェクト１０９をその仮想リモートインターフェイスドライバ１０８内に順次設定する。ホスト１０５のアプリケーションプログラム１１０は、仮想周辺デバイスインターフェイスオブジェクト１０９を用いて周辺デバイスへの接続を制御する。例えば、ＲＳ２３２デバイス１０１のアプリケーションプログラムがそのＲＳ２３２デバイスに命令を与える場合、命令はＲＳ２３２デバイスの仮想周辺デバイスインターフェイスオブジェクト１０９を介してネットワークドライバ１０７に送信され、次いでネットワークインターフェイス１０６によって、ＲＳ２３２デバイスに付加されたリモートインターフェイスデバイス１０４に送信される。リモートインターフェイスデバイス１０４は命令を受信すると、ＲＳ２３２デバイス１０１のドライバにネットワークプロトコルで命令を転送するためのメカニズムを動かす。ＲＳ２３２デバイス１０１が必要な実行を終了すると、リモートインターフェイスデバイス１０４は、別のメカニズムを動かす。このメカニズムでは、実行結果が、リモートインターフェイスデバイス１０４のネットワーク機能を介したネットワークプロトコルでホストのネットワークインターフェイス１０６に送信され、更にネットワークドライバ１０７と仮想周辺デバイスインターフェイスオブジェクト１０９を経てアプリケーションプログラム１１０に達する。
【００１３】
図２は、本発明の一実施形態に係るリモートインターフェイスデバイスのソフトウェア構造を示す。主に図２を参照し、更に図１も参照するに、リモートインターフェイスデバイス１０４の主な目的は、リモート周辺デバイスを制御するために、ネットワークのホスト１０５への周辺デバイスインターフェイスを提供することにある。したがって、リモートインターフェイスデバイス１０４の主要部分は、該デバイスとホストとの通信及び該デバイスと周辺デバイスとの通信のためのハードウェアとソフトウェアである。リモートインターフェイスデバイス１０４は更に、プロセッサやメモリ等、演算に必要なハードウェアも備えている。プロセッサとしては、Ｉｎｔｅｌ、ＡＭＤ、ＩＢＭ、Ｍｏｔｏｒｏｌａ、ＡＲＭ、ＶＩＡ等のマイクロプロセッサやマイクロコントローラが挙げられる。メモリとしては、例えば、実行プログラムやデータを格納するための揮発性メモリや非揮発性メモリ（ＤＲＡＭ、Ｆｌａｓｈ、ＥＰＲＯＭ、又はＲＯＭ等）がある。ネットワークインターフェイス２０１及びネットワークインターフェイスドライバ２０２は、リモートインターフェイスデバイス１０４とホスト１０５との間の通信の基礎を形成する。ネットワークインターフェイス２０１としては、有線ネットワークインターフェイスや無線ネットワークインターフェイスが挙げられる。周辺デバイスのインターフェイス２０３は、周辺デバイス２０４の接続ポートを提供する。このような接続ポートとしては、有線ネットワークインターフェイス（ＲＳ２３２、ＲＳ４８５、ＲＳ４２２、ＵＳＢ、ＩＥＥＥ  １３９４、Ｆｉｒｅｗｉｒｅ等）や無線インターフェイス（Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｚｉｇｂｅｅ（登録商標）、ＩｒＤＡ等）が挙げられる。リモートインターフェイスデバイス１０４は、周辺デバイス２０４に対応するハードウェアに依存したドライバ２０５を備え、該ハードウェアに依存したドライバ２０５を使用して対応する周辺デバイス２０４を駆動する。周辺デバイスインターフェイス２０３は、ブリッジ２０６を介して周辺デバイス２０７に接続され得る。ハードウェアに依存したドライバ２０５より上位の層には、ホスト１０５側に置くことも可能なハードウェアに依存しないドライバ（ハードウェア非依存ドライバ）２０８を含むことができる。ハードウェアに依存しないドライバ２０８がホスト１０５側に置かれると、ホスト１０５のアプリケーションプログラムはハードウェアに依存しないドライバ２０８と直接やり取りして、ネットワーク通信によってデバイスに命令を送信する。ハードウェアに依存しないドライバ２０８がデバイス内にインストールされると、ホストのアプリケーションプログラムは、まず、ネットワーク通信によりデバイスに命令を転送する。この命令はハードウェアに依存しないドライバ２０８を経由して、ハードウェアに依存するドライバ２０５に達する。リモートインターフェイスエージェント２０９は、アドレス指定及びブロードキャストを自動的に行う機能を提供している。これにより、周辺デバイスのインターフェイス２０３の位置がホスト１０５によって特定され、その後、周辺デバイス２０４とホスト１０５との通信接続が確立される。ネットワークにデバイ���が接続された後に、リモートインターフェイスエージェント２０９は、どのようなタイプの周辺デバイスのインターフェイスのメッセージがデバイスによってネットワークのホスト１０５に提供されるかを示す情報を、ネットワーク内にブロードキャストする。デバイスがＵＰｎＰ通信を行う機能を備えている場合、リモートインターフェイスエージェント２０９は、ネットワークアドレスの取得や自己コンフィギュレーション等の自動セットアップだけでなく、ＵＰｎＰの機能のディスカバリ、ディスクリプション、及びコントロールを行うこともできる。通信機能の他に、リモートインターフェイスエージェント２０９は、周辺デバイスを駆動する命令をネットワークプロトコルで周辺デバイスのドライバに転送する役割も果たす。続いて、周辺デバイスの実行結果がネットワークプロトコルで変換され、ホスト１０５に返送される。
【００１４】
図３は、本発明の一実施形態に係るリモートインターフェイスデバイスを示す。ＲＳ２３２デバイス３０１は、ＲＳ２３２インターフェイスを有する周辺デバイスに接続される。この実施形態では例として２つの接続ポートを使用しているが、同じ通信プロトコルによるかどうかに関係なく、複数の接続ポートを搭載するように本デバイスを設計することができる。ＲＳ２３２リモートデバイスは、ＲＳ２３２ドライバ３０２を備え、これを使用して全てのＲＳ２３２の周辺デバイス３０１を制御する。各ＲＳ２３２デバイス３０１は、対応するＲＳ２３２ドライバインスタンス３０３を所有し、該ＲＳ２３２ドライバインスタンス３０３は、ＵＰｎＰスタックと一緒にリモートインターフェイスエージェント３０５を構成する。ＲＳ２３２リモートデバイスは、Ｅｔｈｅｒｎｅｔ（登録商標）ネットワークデバイス３０６を介して、「Ｅｔｈｅｒｎｅｔ」ネットワークドライバ、ホスト、又は他のリモートインターフェイスデバイスに接続される。
【００１５】
図４は、リモートインターフェイスシステムのホストを示したヒント図である。主に図４を参照し、更に図１も参照するに、ホスト１０５は、ネットワークインターフェイス４０１及びネットワークインターフェイスドライバ４０２を介して複数の周辺デバイスを制御する。ネットワーク内にあるサービス可能な周辺デバイスとそのインターフェイスが検出されると、ホスト１０５は、システム内で該当する周辺デバイスの仮想周辺デバイスインターフェイスオブジェクト１０９とハードウェアに依存しないホストドライバ（ハードウェア非依存ホストドライバ）４０３を設定する。ホスト１０５は、仮想周辺デバイスインターフェイスオブジェクト１０９及びハードウェアに依存しないホストドライバ４０３を使用して周辺デバイスを制御する。更に、ハードウェアに依存しないホストドライバ４０３は、設計上の要求及び使用者の要求に従って、リモートインターフェイスデバイス１０４内に設計することが可能である。使用者は、アプリケーションプログラム４０４を介してネットワーク内にあるサービス可能な周辺デバイスを検索することができる。更に、使用者はアプリケーションプログラム４０４を介してリモートインターフェイスデバイス１０４を使用することで、周辺デバイスに関連する説明情報を提供し、周辺デバイスが提供可能なサービスの種類を認識する。更に、仮想周辺デバイスインターフェイスオブジェクト１０９及びハードウェアに依存しないホストドライバ４０３によって、リモートインターフェイスデバイス１０４を介して周辺デバイスの制御が可能である。
【００１６】
図５に、本発明の一実施形態に係るリモートインターフェイスシステムを示す。この実施形態は、ＯＳＧｉ（Ｏｐｅｎ  Ｓｅｒｖｉｃｅ  Ｇａｔｅｗａｙ  Ｉｎｉｔｉａｔｉｖｅｓ  Ｓｅｒｖｉｃｅ  Ｐｌａｔｆｏｒｍ）／Ｘ８６ホスト５０１、Ｌｉｎｕｘ（登録商標）／ＡＲＭ  ９  ＲＳ２３２リモートインターフェイスデバイス５０２、ＲＳ２３２インターフェイスを搭載した血圧モニター５０３、及びＲＳ２３２インターフェイスを搭載した血糖値メーター５０４を含んでいる。ホスト５０１は、ＵＰｎＰ通信プロトコルを使用して、リモート血圧モニター５０３及び血糖値メーター５０４によって観測される生理学的なデータをＵＰｎＰベースのＲＳ２３２リモートインターフェイスデバイス５０２を介して収集及び管理する。ＲＳ２３２リモートインターフェイスデバイス５０２は、Ｌｉｎｕｘ（登録商標）オペレーティングシステム５０５を使用しており、該Ｌｉｎｕｘ（登録商標）オペレーティングシステムは、ドライバとして、「Ｅｔｈｅｒｎｅｔ」ハードウェア５０７を駆動するための「Ｅｔｈｅｒｎｅｔ」ドライバ５０６とＲＳ２３２ハードウェア５０８を駆動するためのＲＳ２３２ドライバ５０９とを有する。リモートインターフェイスエージェント３０５は、ＵＰｎＰスタック３０４と２つのＲＳ２３２ドライバインスタンス３０３を含む。リモートインターフェイスエージェント３０５は、ＵＰｎＰ関連のメカニズム、例えば、アドレス指定メカニズム、ネーミングメカニズム、アドバタイジングメカニズム、ディスクリプションメカニズム、呼出しメカニズム、イベントメカニズム等を実装する。リモートインターフェイスエージェント３０５は呼出しメカニズムを実装することで、ステータス情報サービスに対する要求を実行することができ、ＲＳ２３２リモートインターフェイスデバイス５０２において変化があるとイベントメカニズムによってイベントが作成される。リモートインターフェイスエージェント３０５は、ＵＰｎＰスタック３０４を使用して、ネットワークアドレス指定及びＯＳＧｉホスト５０１との接続に関する自動設定を完了させる。該メカニズムは、ＲＳ２３２リモートインターフェイスデバイス５０２のＵＰｎＰ関連のアドバタイズメカニズム、ディスカバリメカニズム、デバイス識別又はデバイス分類メカニズムを含んでいる。リモートインターフェイスエージェント３０５は、２つのＲＳ２３２ドライバをネットワーク内の仮想インターフェイスに物理的に転送する。各ＲＳ２３２ドライバにはそれぞれ連番が割り当てられる。この２つのＲＳ２３２ドライバがネットワーク内の２つのＵＰｎＰデバイスに物理的に転送される前に、ＲＳ２３２ドライバで提供される機能とＵＰｎＰ  ＳＯＡＰメッセージとの関係がまず定義される。リモートインターフェイスエージェント３０５がＯＳＧｉホスト５０１からＵＰｎＰメッセージを受信すると、ＲＳ２３２の仮想周辺デバイスのインターフェイスオブジェクトとメッセージに対応する関数とがまず検索され、次いで命令を実行するための関数が要求される。命令が実行されると、その実行結果がＯＳＧｉホスト５０１のアプリケーションプログラムへ反対に送信される。
【００１７】
ＯＳＧｉホスト５０１とリモートＲＳ２３２デバイスとの間で接続が確立すると、リモートＲＳ２３２デバイスのイベント通知が登録され得る。リモートＲＳ２３２デバイスは、サブスクリプションのステータスに従ってイベント通知を発行し、そのステータスをＯＳＧｉホスト５０１にレポートする。
【００１８】
この実施形態では、ＯＳＧｉホスト５０１のオペレーティングシステム５１０はＬｉｎｕｘ（登録商標）であり、ソフトウェアとしてＪａｖａ（登録商標）仮想マシン５１１とＯＳＧｉサービスプラットフォーム５１２を含んでいる。アプリケーションソフトウェア層は、血糖値メーターサービスバンドル５１３と、血圧モニターサービスバンドル５１４と、ＵＰｎＰベースのドライバ５１５とを含む。ここで、ＵＰｎＰベースのドライバ５１５には、ＵＰｎＰコントロールポイントスタックが組み込まれている。
【００１９】
血圧モニター及び／又は血糖値メーターサービスバンドルは、ＯＳＧｉサービス登録５１７の助けを借りて、仮想ＲＳ２３２インターフェイスオブジェクト５１６を検索する。対応する仮想ＲＳ２３２インターフェイスオブジェクト５１６が見つかった後、アプリケーションプログラムはＡｓｓｉｇｎ（  ）関数を呼び出して使用者権限を取得する必要がある。使用者権限が取得されると、収集されるデータの正確さを確認するために、ｓｅｎｄ（ＧＥＴ＿ＤＥＶＩＣＥ＿ＩＤ＿ＣＯＭＭＡＮＤ）関数が呼び出されてＲＳ２３２リモートインターフェイスデバイス５０２の健康管理用デバイス識別子が取得される。その正確さが確認されると、血圧モニター及び／又は血糖値メーターのデータを収集するコマンドが発行され、データがＯＳＧｉホスト５０１に収集される。アプリケーションプログラムが所定のジョブを終了したら、解除関数を呼び出して仮想ＲＳ２３２インターフェイスオブジェクト５１６の使用者権限を解除する必要がある。
【００２０】
仮想ＲＳ２３２インターフェイスオブジェクト５１６は、アプリケーションプログラムからコマンドを受信すると、ＵＰｎＰベースのドライバのＵＰｎＰスタックを使用して、コマンドを、対応するＳＯＡＰメッセージ内に転送し、このメッセージをＲＳ２３２リモートインターフェイスデバイス５０２に配信する。ＲＳ２３２リモートインターフェイスデバイス５０２は、ＲＳ２３２ドライバを呼び出してコマンドを実行する。コマンドが実行されると、その結果が反対にＯＳＧｉホスト５０１のアプリケーションプログラムへ送信される。
【００２１】
図６に、本発明の一実施形態に係るリモートインターフェイスシステムについてのホストによる制御を示す。ＵＰｎＰベースのドライバ５１５は、ネットワーク内にある全てのＵＰｎＰデバイス６０１を収集する。次いで、仮想周辺デバイスオブジェクト６０２を生成するように、明確なドライバ関数とＵＰｎＰ ＳＯＡＰとの関係が求められる。最後に、見つかったＵＰｎＰデバイスがＯＳＧｉサービスレジストリ５１７に登録され、アプリケーションプログラムがＵＰｎＰデバイスを使用する場合の基礎が提供される。リモートデバイスがネットワークから外されようとしているのをＵＰｎＰベースのドライバ５１５が検出した場合、そのリモートデバイスに対応する仮想インターフェイスオブジェクト６０３は削除される。また、ＯＳＧｉサービスレジストリ５１７からＵＰｎＰデバイスが削除される。ＵＰｎＰデバイスがイベント通知を発行した場合は、ベースのドライバ５１５が、その通知の内容に従って、ＵＰｎＰ対応する仮想周辺デバイスインターフェイスオブジェクト６０３を変更又は削除して、更にＯＳＧｉサービスレジストリ５１７からも削除する。
【００２２】
図７は、本発明の一実施形態に係るインターフェイス提供メカニズムに対応するフローチャートを示す。ステップＳ７０１で、リモートインターフェイスデバイスは、そのＩ／Ｏポートの情報を取得し、どのポートが誰によって使用されているかも明らかにする。情報には、ポートタイプやマルチポート識別子などが含まれる。ステップＳ７０２では、ステップＳ７０１で収集された情報が、通信システムの設計方法に応じて、インターネット標準形式又はテキスト形式のいずれかにパックされる。インターネット標準形式は、任意のインターネットプロトコルとすることも、ＳＳＤＰ（Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）やＳＬＰ（Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等のように、インターネット上で利用可能なサービスを検出するのに使用される任意のプロトコルとすることもできる。ステップＳ７０３で、デバイスはインターネット接続により情報を送出する。ホストは、情報を受信すると、リモートインターフェイスデバイスに対応する仮想周辺デバイスインターフェイスオブジェクトを仮想リモートインターフェイスドライバ内で順次設定し、これらのポートをインターフェイスオブジェクトを介して使用者に提供する。
【００２３】
図８は、本発明の一実施形態に係るネットワークアドレス設定メカニズムに対応するフローチャートを示す。ステップＳ８０１で、リモートインターフェイスデバイスは、ネットワークに接続されるとＤＨＣＰＤＩＳＣＯＶＥＲＹメッセージを送信する。ステップＳ８０２で、ＤＨＣＰサーバが存在する場合、デバイスはＤＨＣＰＯＦＦＥＲＳを取得する。ステップＳ８０３で、デバイスはＤＨＣＰＯＦＦＥＲＳを受信すると、ＩＰアドレスをどのＤＨＣＰサーバから取得するかを決定し、この決定に従ってＤＨＣＰＲＥＱＵＥＳＴメッセージを該当するサーバに送信する。ステップＳ８０４で、サーバがデバイスにＤＨＣＰＰＡＣＫを返信すると、デバイスはＩＰアドレスを使用開始できる。ステップＳ８０５では、ネットワーク上に利用できるＤＨＣＰが存在しない場合、デバイスは特定のアドレス範囲（例えば、１６９．２５４／１６の範囲）内のＩＰアドレスを選択する。ステップＳ８０６で、選択されたアドレスは、すでに使用されているかどうかを判定するためのテストにかけられる。アドレスが別のデバイスで使用されている場合、別のアドレスが選択されテストにかけられるといった処理が、実装されている回数まで繰り返される。ネットワークアドレス設定メカニズムは、上述した２つのアプローチのうちの一方だけを備えることも両方備えることも可能である。
【００２４】
図９は、本発明の一実施形態に係るディスカバリメカニズムに対応するフローチャートを示す。ステップＳ９０１で、ホストは、ネットワーク上で利用できるサービスを認識する必要がある場合、マルチキャストアドレスにディスカバリ（発見）メッセージを送出し、全てのデバイスがこれを受信するようにする。例えば、ＵＰｎＰのもとでは、ＵＤＰプロトコルによりポート上のマルチキャストアドレス２３９．２５５．２５５．２５０にディスカバリ（発見）メッセージが送信される。このメッセージには、ＨＴＴＰリクエストに類似したヘッダーが付いている。ステップＳ９０２で、ホストは、ネットワーク上のリモートインターフェイスデバイスからの応答を受信する。応答メッセージの送信は、ＵＤＰユニキャストを使用して行うことができ、応答メッセージによりデバイスで実装するプロファイルがアナウンスされる。ステップＳ９０３で、ホストは応答メッセージを受信すると、メッセージの解析を行う。ステップＳ９０４で、ホストは応答メッセージに従って、新規に追加されたデバイスに対して仮想周辺デバイスインターフェイスオブジェクトを設定し、接続解除されたデバイスに対する仮想周辺デバイスインターフェイスオブジェクトを削除する。アドバタイズメカニズムの場合は、まず、デバイスがメッセージをマルチキャストアドレスに送信し、次に、ホストがそのメッセージに応答する点を除けば、ディスカバリメカニズムによく似ている。
【００２５】
図１０は、本発明の一実施形態に係るリモート制御を示すフローチャートである。この実施形態は、ドライバ命令を転送するためのメカニズム、及び実行結果を転送するためのメカニズムに対応する。ステップＳ１００１で、リモートインターフェイスデバイスはサービスに関するリクエスト又は命令を受信する。リクエスト／命令は、ＳＯＡＰプロトコルを使用して送信可能である。ステップＳ１００２で、デバイスはリクエスト／命令を逆コンパイルして、サービスとそのパラメータを明らかにする。ステップＳ１００３で、デバイスはサービスに対応するデバイスドライバを呼び出して、パラメータをそのデバイスドライバに渡す。ステップＳ１００４で、サービスが終了して結果を作成した後で、デバイスはリクエストの場合と同じフォーマットに、作成された結果をパックする。ステップＳ１００５で、デバイスは、リクエスト／命令に結果をもって応答する。
【００２６】
上述した本発明の各実施形態は、単なる説明のためのものである。当業者であれば、添付したクレームの範囲を逸脱することなく、実施形態を他に多数考案することが可能である。
【符号の説明】
【００２７】
１０１  ＲＳ２３２デバイス
１０２  ＵＳＢデバイス
１０３  短距離無線デバイス
１０４  リモートインターフェイスデバイス
１０５  ホスト
１０６  ネットワークインターフェイス
１０７  ネットワークドライバ
１０８  仮想リモートインターフェイスドライバ
１０９  仮想周辺デバイスインターフェイスオブジェクト
１１０  アプリケーションプログラム
２０１  ネットワークインターフェイス
２０２  ネットワークインターフェイスドライバ
２０３  周辺デバイスインターフェイス
２０４  周辺デバイス
２０５  ハードウェア依存ドライバ
２０６  ブリッジ
２０７  周辺デバイス
２０８  ハードウェア非依存ドライバ
２０９  リモートインターフェイスエージェント
３０１  ＲＳ２３２デバイス
３０２  ＲＳ２３２ドライバ
３０３  ＲＳ２３２ドライバインスタンス
３０４  ＵＰｎＰスタック
３０５  リモートインターフェイスエージェント
３０６  「Ｅｔｈｅｒｎｅｔ」ネットワークデバイス
３０７  「Ｅｔｈｅｒｎｅｔ」ドライバ
４０１  ネットワークインターフェイス
４０２  ネットワークインターフェイスドライバ
４０３  ハードウェア非依存ホストドライバ
４０４  アプリケーションプログラム
５０１  ホスト
５０２  ＲＳ２３２リモートインターフェイスデバイス
５０３  リモート血圧モニター
５０４  血糖値メーター
５０５  Ｌｉｎｕｘ（登録商標）オペレーティングシステム
５０６  「Ｅｔｈｅｒｎｅｔ」ドライバ
５０７  「Ｅｔｈｅｒｎｅｔ」ハードウェア
５０８  ＲＳ２３２ハードウェア
５０９  ＲＳ２３２ドライバ
５１０  オペレーティングシステム
５１１  「Ｊａｖａ」仮想マシン
５１２  ＯＳＧｉサービスプラットフォーム
５１３  血糖値メーターサービスバンドル
５１４  血圧モニターサービスバンドル
５１５  ＵＰｎＰベースのドライバ
５１６  仮想ＲＳ２３２インターフェイスオブジェクト
５１７  ＯＳＧｉサービス登録
６０１  ＵＰｎＰデバイス
６０２  仮想周辺デバイスオブジェクト
６０３  仮想インターフェイスオブジェクト
【図１】
2012069164.tif 000003
【図２】
2012069164.tif 000004
【図３】
2012069164.tif 000005
【図４】
2012069164.tif 000006
【図５】
2012069164.tif 000007
【図６】
2012069164.tif 000008
【図７】
2012069164.tif 000009
【図８】
2012069164.tif 000010
【図９】
2012069164.tif 000011
【図１０】
2012069164.tif 000012