(57)【特許請求の範囲】
【請求項１】
複数のサービス提供機器から構成される分散システムを用いてサービスを利用者に提供するサービス提供方法において、
前記サービス提供機器に含まれるサービス提供元機器が、当該探索要求の寿命及び前記サービスを前記利用者に提供するサービス提供先機器となる条件を含む探索要求を前記サービス提供機器にブロードキャストし、前記サービス提供機器からの返信を受け取った場合に、前記探索要求の転送元機器名と転送先機器名と転送条件を前記サービス提供元機器の経路テーブルに格納し、前記サービス提供先機器となる条件と前記探索要求の寿命を前記サービス提供元機器の寿命管理テーブルに格納し、
前記探索要求を受信したサービス提供機器が、前記探索要求を受信したサービス提供機器の属性を格納した機器プロファイルを参照して前記探索要求を受信したサービス提供機器が前記サービス提供先機器となる条件に合致するか否かを判定し、前記サービス提供先機器となる条件に合致する場合に、前記探索要求の転送元機器名と転送先機器名と転送条件とを前記探索要求を受信したサービス提供機器の経路テーブルに格納し、前記サービス提供元機器へ返信し、前記サービス提供先機器として前記サービス提供元機器と接続し、前記サービス提供先機器となる条件に合致しない場合に、前記探索要求が寿命内か否かを判定し、前記探索要求の寿命内である場合に前記探索要求を他のサービス提供機器へブロードキャストし、
前記サービス提供元機器に接続したサービス提供先機器が、前記サービス提供元機器から送信された前記サービスを提供するために必要なサービス情報に基づいて、前記サービスを提供するための情報処理を実行し、
機器構成変化通知を受信したサービス提供機器が、前記機器構成変化通知を受信したサービス提供機器の経路テーブルを参照して構成変化のあった機器が転送元又は転送先となっているものを検出し、前記構成変化のあった機器が転送先となっている場合に前記機器構成変化通知を受信したサービス提供機器の寿命管理テーブルを参照して探索要求を生成し、ブロードキャストし、前記構成変化のあった機器が転送元となっている場合に前記機器構成変化通知を受信したサービス提供機器の寿命管理テーブルを参照して機器構成変化前の経路を含む経路再構成メッセージを生成し、ブロードキャストすることを特徴とする分散システムによるサービス提供方法。
【請求項２】
請求項１に記載の分散システムによるサービス提供方法において、
前記条件には、前記サービス提供元機器と前記サービス提供先機器を中継する中継機器となる条件が含まれ、
前記条件を受信したサービス提供機器が、前記条件に合致する場合に、前記中継機器として、前記サービス提供元機器と前記サービス提供先機器を中継することを特徴とする分散システムによるサービス提供方法。
【請求項３】
請求項１又は２のいずれかに記載の分散システムによるサービス提供方法において、
前記サービスには、情報の提示が含まれ、
前記サービス提供元機器は、前記サービス情報として提示される前記情報を送信することを特徴とする分散システムによるサービス提供方法。
【請求項４】
請求項１乃至３のいずれかに記載の分散システムよるサービス提供方法において、
前記条件には、前記サービスの内容、前記利用者に関する利用者情報および前記中継機器もしくは前記サービス提供先機器の特徴を示す情報のうち少なくとも１つを含むことを特徴とする分散システムによるサービス提供方法。
【請求項５】
請求項１乃至４のいずれかに記載の分散システムによるサービス提供方法において、
前記サービス提供元機器は、前記サービス提供先機器の状況に応じて、前記サービス提供先機器を変更することを特徴とする分散システムによるサービス提供方法。
【請求項６】
分散システムを構成する機器において、
メッセージの転送元機器名と転送先機器名と転送条件を格納する経路テーブルと、
メッセージの宛先となる条件とメッセージの寿命とを格納する寿命管理テーブルと、
自機器の属性を格納する機器プロファイルと、
当該探索メッセージの寿命及び当該メッセージの宛先となる条件とを含む探索メッセージを他の機器へブロードキャストし、前記他の機器からの返信を受け取った場合に、前記探索メッセージの転送元機器名と転送先機器名と転送条件を前記経路テーブルに格納し、宛先となる条件と前記探索メッセージの寿命を前記寿命管理テーブルに格納する手段と、
前記探索メッセージを受信した場合に、前記機器プロファイルを参照して前記宛先となる条件に合致するか否かを判定し、前記宛先となる条件に合致する場合に、前記探索メッセージの転送元機器名と転送先機器名と転送条件とを前記経路テーブルに格納し、前記探索メッセージの転送元へ返信し、前記宛先となる条件に合致しない場合に、前記探索メッセージが寿命内か否かを判定し、前記探索メッセージの寿命内である場合に前記探索メッセージを他の機器へブロードキャストする手段と、
機器構成変化通知を受信した場合に、前記経路テーブルを参照して構成変化のあった機器が転送元又は転送先となっているものを検出し、前記構成変化のあった機器が転送先となっている場合に前記寿命管理テーブルを参照して探索メッセージを生成し、他の機器へブロードキャストし、前記構成変化のあった機器が転送元となっている場合に前記寿命管理テーブルを参照して機器構成変化前の経路を含む経路再構成メッセージを生成し、他の機器へブロードキャストする手段とを備えることを特徴とする機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、互いに連携をとり情報処理を実行する複数の機器から構成される分散システムに関する。この中でも特に、分散システムを利用して、所定のサービスを実現する技術に関する。この例としては、ビル・ホームオートメーションシステム、プラント制御や製造、物流などの社会システム、交通システムなどの制御システムが含まれる。また、近距離無線を用いた分散システムにも関する。
【０００２】
【従来の技術】
ダウンサイジングの進行に合わせ、機器や物にプロセッサが組み込まれつつある。さらに無線技術の発展により、これらの機器が相互に通信を行う手段も整いつつある。このような通信機能を持った機器間を連携動作させる場合に、連携相手機器を探索し通信経路を形成する技術として、基地局を用いて機器間を透過に接続させる技術がある。この技術としては、例えば無線LANがある。これは、基地局を用いて端末の所在を集中管理し、端末間の通信路を形成するものである。
【０００３】
また、基地局が移動する場合を考慮した方法として、アドホックネット（C. Perkins、"Highly Dynamic Destination Sequenced Distance Vector Routing for Mobile Computers", Proc. Of SIGCOMM'94、C. Perkins, "Ad-hoc On-Demand Distance Vector Routing", Proc. Of 2nd IEEE Workshop on Mobile Computing Systems and Applications）がある。これは、機器検索メッセージをFlood方式により伝播させて相手機器を探索し、該伝播経路を相手機器から返信することで機器間の通信路を形成する。さらに、この経路上の機器が周期的に経路テーブルを交換し、経路を維持するというものである。これらの方法においては、相手機器をアドレス指定して通信するため、機器の移動や停止に伴う構成変更時には、経路の再構成が行われる。
【０００４】
また、端末属性を指定して通信路を形成する方法として、例えば「" Wireless Networks of Devices", Proc.  of  the 17th Symposium on Operating Systems Principles」にある方法がある。これは、送信側で受信機器の属性を解析し、該属性に適した機器を宛先として動的に割り当てるものである。これらの属性は、宛先解析系で集中管理されている。
【０００５】
【発明が解決しようとする課題】
サービス提供先機器を、利用者の状況に応じて柔軟に変更したい場合がある。例えば、宅内においてドアホンにて取得した訪問者の映像及び音声を、宅内の任意の部屋で、在宅者周辺の機器を用いて受け応対する場合などである。サービス提供先機器は、サービスを利用者に対して提供するものもしくは、分散システム内でサービスの提供を受けるものである。サービス提供先機器には、例えば居間に居る場合のTVや、携帯電話を保持している場合の携帯電話、書斎に居る場合のPCなどが含まれる。
【０００６】
従来技術によると、受信機器や中継機器の移動に伴う通信路の構成方法については考慮されているが、利用者の移動に伴う受信機器の変更や、複数の機器で要求された処理を行う場合における該処理を行う機器間の接続条件は考慮されていない。また、サービス提供機器の選択条件は、提供するサービス毎に異なり、また利用者や機器の移動、機器の拡張に伴い動的に変化する。さらに、組込系では機器を接続するネットワークが異種であり、構成管理方法や性能が異なる場合も多い。こうした、各機器やネットワークの管理体系に応じて管理される機器構成や各機器の属性に応じてサービス提供する場合は、該複数の管理系によりサービス提供先の機器を決定することが必要であり、事前に全ての機器構成や属性を管理しておくことには限界があった。
【０００７】
また、機器移動時の経路再構成において、再度Flood方法により経路を再構成する、または各機器が常に経路テーブルを交換し、維持する必要あるが、組込機器ではメモリ量に制限あるものもあり、また全ての機器が常に接続されている必要はないため、常に経路を維持するには無駄が発生する。
【０００８】
さらに、利用者が移動する環境では、全ての端末がネットワークに接続されているとは限らない。このため、利用者がサービス利用可能なとき、または利用者端末がネットワークに接続されたときにタイムリーにサービス提供するために、ネットワーク構成が変わる度にサービス提供元がこれを検出してサービス提供することは性能的に限界があった。
【０００９】
【課題を解決するための手段】
本発明は上記課題を鑑みてなされたもので、利用者や分散システムを構成する機器であるサービス提供機器の状況に応じた機器間の処理接続を行うために、以下の構成をとる。なお、本願明細書中では、所定のデータを送信する送信元のサービス提供機器をサービス提供元機器、サービス提供元機器からデータを受信するサービス提供機器を中継機器と呼ぶ。また、利用者にサービスを提供するもしくはサービス提供のための情報を出力するサービス提供機器をサービス提供先機器と呼ぶ。なお、１つのサービス機器が、中継機器とサービス提供先機器を兼ねてもよい。
【００１０】
本発明では、サービス提供元機器が、データを送信することを予定する場合、当該分散システムを構成するサービス提供機器の少なくとも１部に、サービス提供先機器および中継機器の少なくとも一方となる条件を配布（もしくはブロードキャスト）する。配布されたされたサービス提供機器では、送信された条件に当該サービス提供機器が合致する場合には、サービス提供元機器との接続を行う。また、条件が合致しない場合は、送信された条件を、条件を受信したサービス提供機器がブロードキャスト（転送）する。このブロードキャストの結果に基づいて、ネットワークを構成する。
【００１１】
例えば、条件に合致しない場合、条件を転送したサービス機器からの条件を受信したサービス機器が条件に合致する場合に、この合致するサービス提供機器とサービス提供元機器を接続するよう構成してもよい。また、条件に合致するサービス提供機器が現れるまで、転送を繰り返してもよい。この繰り返しは、サービス提供元機器が、条件に合致するサービス機器から接続要求がくるまで続けてもよい。
【００１２】
なお、条件には、サービスの内容、利用者に関する利用者情報、中継機器もしくはサービス提供先機器の特徴を示す情報のなどが含まれる。また、条件を、サービスを提供するために必要なサービス情報と共に送信してもよい。このサービス情報には、サービスが情報提供である場合の提供する情報が含まれる。
【００１３】
また、１度構成されたネットワークに接続された（接続関係を有する）サービス提供機器間では、互いに他のサービス提供機器の状況を監視する。状況には、位置の移動、他のサービス機器との接続、利用者の状況変化などが含まれる。監視の結果、接続関係を変更することも本発明に含まれる。
【００１４】
さらに、利用者の移動時など常にサービス提供先機器が存在するとは限らない場合にタイムリーにサービス提供するために、サービス提供先機器となる可能性のあるサービス提供機器にサービスを送信しておき、条件を満たしたときにサービス提供できるよう提供サービスの寿命管理を行うものである。
【００１５】
【発明の実施の形態】
以下に、本発明の実施の形態を説明する。特に、相手機器の属性を用いてサービス提供先機器を選択する方法について、以下の例について説明する。
（１）機器属性である利用者データや、監視データに関するプロファイルを利用する場合
（２）連動するサービス提供先機器間の関係を利用する場合
次に、機器の移動に伴うサービス提供経路の再構成方法の例として、以下の例について説明する。
（３）中継機による枝葉探索と受信端末からのバックトレース
また、寿命管理の例として、以下の例につてい説明する。
（４）サービス提供完了時に、他の機器に格納された要求を解除する
図１は、本発明を適用したシステム構成例である。ビル内の機器を想定しており、機器101〜105から構成される。機器101〜105は、それぞれドアホン、入退室管理装置、照明制御コントローラ、ディスプレイ、スピーカーであり、無線または有線のネットワークで接続されている。エリア111及びエリア112は、それぞれドアホン101、入退室管理装置102の通信エリアであり、それぞれ無線エリア、設備管理ネットワークのセグメントを表す。入退室管理装置102には、ビル訪問者のバッチを検出するセンサが備えてある。
【００１６】
図２は、本発明の機器の処理構成を示す図である。本機器の処理は、機器構成管理処理111、通信処理112、サービスフロー管理処理113、処理プログラム114で構成される。通信処理112は、他の機器との間でのデータ送受信を行う処理であり、該通信処理112または周辺機器センサ133を介して、機器構成管理処理が周辺機器構成を認識し、周辺機器テーブル122に格納する。各機器の属性情報は機器プロファイル121に格納されている。サービスフロー管理処理113は、通信処理112とアプリケーションプログラムである処理プログラム114との間で、サービスの転送経路の探索及び経路維持、サービスの転送、寿命管理を行う処理であり、サービスの経路をサービス経路テーブル123に、サービスの条件や寿命をサービス寿命管理テーブル124に格納して管理する。
【００１７】
また、処理プログラム114は、外部入出力部132を介して、処理に必要なデータの入出力を行う。外部入出力部132は、例えばセンサやアクチュエータなどの処理プログラム114から制御されるデバイスであったり、液晶パネルやキーボード、タッチパネル等のマンマシンインタフェ−スを介して機器上で実行される処理プログラム114の制御や出力値参照を行ったりする機能を有するものである。ただしこれは必須ではなく、外部入出力部を持たない機器もある。
【００１８】
処理プログラムは、サービスフロー管理処理113及び通信処理112を介して、他の機器の処理プログラムへデータの送信、及び他の機器の処理プログラムからのデータ取得を行い、連携動作する。
【００１９】
図３（a）は、周辺機器構成テーブル122の構成例を示す図である。機器名311、機器種別312、相対位置313、更新時刻314から構成され、各機器のこうした情報がレコード321〜323に格納される。機器名311は各機器の名称を示す識別子を格納するフィールドであり、本識別子を用いて通信処理112は特定機器への通信を行うことができる。機器種別312は各機器の種別を示す識別子群を格納するフィールドで、各機器の持つ機能を表すものである。例えばディスプレイであれば「画像出力」などといった機能がこれに相当する。相対位置313は、各レコードの機器の、本テーブル保持機器からの相対位置を格納するフィールドである。これは、例えば特願平１１−３２２１１５号にある方法を用いて取得することができる。更新時刻314は、各レコードで示される機器の情報が更新された時刻を格納するフィールドである。
【００２０】
図３（b）は、機器プロファイル121の構成例を示す図である。機器名321、機器種別322、相対位置323、スキーマ324から構成される。機器名321、機器種別322は、それぞれ（a）図の機器名311、機器種別312と同様である。状態323は、稼動中や停止中といった自機器の状態を格納するフィールドである。スキーマ324は、自機器の属性として取得できるデータのスキーマを格納するフィールドであり、例えばログイン中のユーザを表す「User」や、処理プログラム114の公開するデータを表すタグなどが格納される。
【００２１】
図４は、機器構成管理処理111の処理の流れを示す図である。図４（a）は、Push型の送信処理の流れを示す図である。ここでPush型とは、例えばハートビートメッセージを用いて各機器が自発的に自機器の情報を発信するものを意味する。本処理は、自機器の機器プロファイル121を読み込み、自機器の属する通信セグメント内へこれをブロードキャストする（ステップ411）。その後指定時間待機し（ステップ412）、再度ステップ411から繰り返す。
【００２２】
図４（b）は、Push型の受信処理の流れを示す図である。図４（a）にて示した送信処理で発信された機器構成を受信している場合はこれを取り出し（ステップ421）、周辺機器テーブル122を更新する。新たに追加した機器がある場合はサービスフロー管理処理へ通知する（ステップ422）。受信した機器構成メッセージがない場合は、周辺機器テーブルを検索し、タイムアウトした機器を検出する。ここでタイムアウトは、例えば更新時刻314から一定時間経過したレコードの示す機器を検出する。検出された機器があった場合は、サービスフロー管理処理へ該機器情報を通知する（ステップ423）。その後ステップ421から再度繰り返す。
【００２３】
図４（c）は、Pull型の機器構成管理処理の流れを示す図である。ここでPull型とは、例えばRF-IDのように問合せメッセージに対する応答を得ることで相手機器の情報を得るものである。本処理においては周辺機器探索メッセージをブロードキャストし（ステップ431）、応答を待つ（ステップ432）。応答があった場合は、周辺機器テーブルの当該機器のレコードを更新し、新たに追加した機器がある場合はサービスフロー管理処理へ通知し（ステップ433）、再度ステップ432より他の機器からの応答を処理する。応答がなかった場合は、周辺機器テーブルを検索し、タイムアウトした機器を検出する（ステップ434）。ここでタイムアウト図４(b）にて説明したステップ423と同様の方法で検出できる。その後一定時間待機し（ステップ435）ステップ431から再度繰り返す。
【００２４】
図４にて説明した方法は、機器が各々周辺に存在する機器を検出するものである。この方法を用いることで、利用者が保持するRF-IDやアクティブバッチ、または小電力無線などの近距離通信機能を持った携帯機器の識別子を、各機器が検出することが可能となる。該識別子を指定したメッセージを受信した場合に、近傍の利用者へ送信すべきメッセージであると判断することができる。
【００２５】
図７は、通信処理112により機器間で送受信されるメッセージデータの構成例を示す図である。ヘッダ711、メッセージ種別712、シーケンス番号713、メッセージ寿命714、通信経路715、データ716から構成される。ヘッダ611は通信処理のための種々のフラグを格納したヘッダでメッセージ種別712はメッセージの種別を示す識別子を格納し、探索メッセージを示す「Explore」、第4の実施例にて説明する常駐型サービスを示す「Resident」、第３の実施例にて説明する経路再構成メッセージを示す「BackTrace」「Update」、処理プログラム間のデータを示す「App」などの識別子を格納する。シーケンス番号713は、転送時のループチェック及び重複転送回避を行うためのオリジナルメッセージの識別番号であり、例えば送信元機器の識別子と該機器内での通し番号の組で表される。メッセージ寿命714は、該メッセージ発行の寿命を示すフィールドであり、発信後のホップ数721、発信時刻722、常駐寿命723で構成される。通過経路715は該メッセージの送信元613は該メッセージの通過経路を示すフィールドであり、該メッセージの探索する経路を活用する、または該メッセージにて転送するサービスの識別子を示すサービスフロー識別子731、該メッセージを現在までに転送した機器数を示すノード数732、及び該メッセージの発信元と転送を行った機器の識別子を格納する中継ノード名733〜734にて構成される。ここで、中継ノード名はノード数に１加えた個数だけ格納される。データ716は、探索メッセージの場合は探索条件が、処理プログラムのデータ送信メッセージの場合は探索条件及び処理プログラムの用いるデータが格納される。ここで、探索条件は、図８にて説明する宛先条件832、寿命833に格納する条件である。
【００２６】
図８（a）は、本発明におけるサービス経路テーブルの構成例を示す図である。サービス経路テーブルは、サービスフロー識別子811、転送元機器名812、転送先機器名813、転送条件814で構成され、サービスフロー識別子ごとの情報がレコード821〜823に格納される。サービスフロー識別子811は、図７のサービスフロー識別子731と同様である。転送元機器名812及び転送先機器名813は、該サービスフローの転送元及び転送先の機器名を格納するフィールドであり、該機器の探索方法は実施例１にて説明する。転送条件814は、該サービスが本テーブルを保持する機器までに転送される条件を格納するフィールドであり、図７のメッセージ寿命714にて示した値を格納する。
【００２７】
図８（b）は、本発明におけるサービス寿命管理テーブルの構成例を示す図である。サービス寿命管理テーブルは、サービスフロー識別子831、宛先条件832、寿命833、経路834、データ名835で構成され、サービスフロー識別子ごとの情報がレコード851〜853に格納される。サービスフロー識別子831は、図７のサービスフロー識別子731と同様である。宛先条件832は該サービスの宛先機器の条件を格納するフィールドであり、機器プロファイル121のスキーマ324や、第２の実施例にて説明する複数機器の条件、が格納される。これは、図７のデータ716に格納された探索条件が格納される。
【００２８】
寿命833は図７の寿命714に相当する寿命の条件が格納され、転送元機器名812及び転送先機器名813は、該サービスフローの転送元及び転送先の機器名を格納するフィールドであり、該機器の探索方法は実施例１にて説明する。転送条件814は、該サービスが本テーブルを保持する機器までに転送される条件を格納するフィールドであり、図７のメッセージ寿命714にて照合するホップ数、発行時刻からの有効経過時間を格納する。経路834は、本テーブル保持機器が該サービスの最終宛先機器である場合に通過経路を格納する。また、データ名835は、第４の実施例にて示す常駐型サービスの場合に、受信したデータの格納先を格納するフィールドである。
（実施例１）
図５は、本発明の第１の実施例における、サービスフロー管理処理の探索処理の流れを示す図である。処理プログラム114から受け取った要求をもとに、デフォルトの探索範囲を設定して探索要求を他の機器へ発信し（ステップ511）、他機器からの返信を一定時間待つ（ステップ512）。ここで発信範囲は、例えば通信処理にてブロードキャスト可能なセグメントを設定することができる。返信があった場合は、サービスの転送情報や条件をサービス経路テーブル123及びサービス寿命管理テーブル124へ格納し（ステップ514）、アプリケーションに成功したことを応答する（ステップ517）。返信がなかった場合は、探索範囲を広く再設定し（ステップ515）、アプリケーションの指定の範囲内である場合はステップ511より再度繰り返す。指定の範囲外である場合は、アプリケーションに対して見つからなかったことを通知する（ステップ517）。ここで、探索範囲は、例えば要求転送のホップ数や、要求発行後の経過時間などを用いることができる。
【００２９】
図６は、本発明の第1の実施例における、サービスフロー管理処理の転送処理の流れを示す図である。図５にて説明した探索処理より発信された探索要求を受信し（ステップ611）、自機器の持つ機器プロファイル、周辺機器テーブル、サービス経路テーブルを検索する（ステップ612）。ここで条件を満たすものが存在する場合は、サービス経路テーブルへ当該情報を格納し（ステップ614）、探索メッセージ発行元へ返信する（ステップ615）。条件をみたすものが無かった場合は、探索寿命内か否かを判定し、寿命内であれば転送する（ステップ616）。
【００３０】
本実施例によれば、サービスを提供する宛先機器の条件を集中管理せずとも、当該機器の局所的に管理する条件を局所的に照合することで、サービス提供することが可能となる。
（実施例２）
図９は、本発明の第２の実施例におけるサービスフロー管理処理の探索転送処理の流れを示す図である。第1の実施例同様に探索要求を受信し（ステップ911）、機器プロファイルを検索する（ステップ912）。ここで、自機器が宛先条件の一部を満たすかどうか判定し（ステップ913）、満たさない場合は、メッセージ中のデータ716に格納された寿命条件とメッセージ寿命714に格納された値を照合し、寿命内であれば転送する（ステップ915）。転送は、当該機器の通信処理112のブロードキャスト可能な領域に対して発信することで行う。ステップ913において条件の一部を満たす場合は自機器からの相対条件を再構成して他の機器へサービス探索を行う（ステップ914）。この探索の処理は、第1の実施例同様である。
【００３１】
図１０は、本発明の第２の実施例における、宛先条件832の構成例を示す図である。図７のメッセージのデータ716に格納されており、フィールド1011〜1013で構成される。フィールド1011及び1012は宛先となる機器「Display」「Speaker」が格納されており、フィールド1013はこれらの間の通信条件として片道1秒「1[s]」であることが示されている。この条件を用いて、探索要求を受け取った機器「Display」は、メッセージの探索条件として時間1秒を設定し、宛先機器「Speaker」を設定し、探索メッセージを発行する。
【００３２】
本実施例によれば、第1の実施例同様に、機器構成や機器間の接続条件を集中管理せずとも、機器の局所的な連携動作によりサービス提供機器を接続することができる。
（実施例３）
図１１は、本発明の第3の実施例における、サービスフロー管理処理の経路維持処理の流れを示す図である。本処理は、機器構成管理処理より機器構成変化通知を受信し、該機器が転送元または転送先となっているサービスフローをサービス経路テーブルより検出する（ステップ1111）。転送先となっているサービスフローがあり、かつ自機器が最終宛先機器でない場合は（ステップ1112）、該機器より宛先機器を再探索する。
【００３３】
ここで、メッセージ中のデータ716に格納する探索条件は、サービス寿命管理テーブルを用いて、宛先に当該サービスフローの宛先条件832、寿命には、寿命833より転送条件814の値を差し引いたものを格納して探索メッセージを構成する。ステップ1112にて合致しなかった場合は、構成変化のあった機器が転送元となっているサービスフローがあり、かつ転送先がない、すなわち自機器が最終宛先となっているサービスフローを検出する（ステップ1114）。ある場合は、バックトレースメッセージを、通信処理112を介してブロードキャストする（ステップ1115）。ここで、バックトレースメッセージは、メッセージのメッセージ種別712に「BackTrace」、データ部には、機器構成変化が発生する前のサービスフローの経路、すなわちサービス寿命管理テーブルの経路834と、デフォルト設定された寿命条件を格納して発信する。
【００３４】
図１２は、本発明の第3の実施例における、サービスフロー管理処理の経路維持処理の流れを示す図である。図１１の処理にて発信されたバックトレースメッセージを受信し（ステップ1211）、該メッセージのデータ716に格納された寿命を判定し（ステップ1212）、条件を満たす場合は、データ716に格納された経路に自機器が存在し、メッセージのメッセージ寿命714に格納された条件と、自機器のサービス経路テーブル123に格納された転送条件814を加えて、サービス寿命833を満たすか否か判定する（ステップ1213）。満たさない場合はバックトレースメッセージをブロードキャストする（ステップ1214）。満たす場合は、自機器のサービス経路テーブルの転送先機器を、該バックトレースメッセージの送信元機器に更新し、バックトレースメッセージの通過経路715に格納された中継ノードに示された機器へ経路更新要求を送信する（ステップ1216）。中継ノードに示された機器は、該経路に従ってこれを転送し、サービス経路テーブルをそれぞれ更新することができる。
【００３５】
本実施例によれば、機器の移動時のサービス提供経路を、機器間の局所的な連携により処理の接続を変更することができる。
（実施例４）
本実施例は、サービス提供機器の探索時に、条件を満たす機器が存在しないことを想定し、サービスを宛先機器となりえる機器に常駐させ、条件を満たした場合にサービス提供するものである。例えば緊急メッセージをビル内ディスプレイへ常駐させ、対象者が接近した際に表示するというものである。本実施例においては、第２の実施例にて示した図９の探索転送処理において、ステップ914にてサービスを自機器へ格納しておく。ここで格納したデータの格納先を、サービス寿命管理テーブルのデータ名835が示すフィールドへ格納する。
【００３６】
図１３は、本発明の第４の実施例における、サービス寿命管理処理の流れを示す図である。機器構成管理処理より機器構成変化通知を受け取り、サービス寿命管理テーブルを検索する（ステップ1311）。ここで、常駐型サービスで、かつ該機器の宛先条件を満たすものが存在するか検出し（ステップ1312）、存在する場合は該サービスの提供先アプリケーションへデータを渡す（ステップ1313）。その後、メッセージ中の常駐寿命723にて送信され、サービス寿命管理テーブルの寿命833に格納された常駐寿命を照合し、寿命がつきた場合は常駐解除メッセージを発信する。ここで、寿命の判定には処理プログラムへの送信回数や、常駐時間を用いることができる。また、常駐解除メッセージは、該機器からブロードキャストにより他機器へ転送してもよく、サービス経路情報834を用いてサービス提供要求元へ戻し、ここからブロードキャストにより送信してもよい。または常駐解除メッセージを受信しなかったサービス提供要求元から再度常駐型サービスの要求を出すようにし、サービス提供の寿命を制御してもよい。
【００３７】
本実施例によれば、サービス提供先の機器が常にネットワーク接続されていない場合や、サービス利用者の移動に伴いサービス提供機器が変化する場合においても、タイムリーにサービスを提供することが可能となる。
【００３８】
【発明の効果】
本発明によれば、機器の局所的な条件や機器間の関係を用いてサービス提供先の機器や、提供経路を再構成することで、サービス提供元で意識せずとも、またサービス毎に異なる条件を柔軟に指定して、サービス提供を行うことができる。
【００３９】
また、非同期にネットワーク接続される機器に対しても、タイムリーにサービス提供することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したシステム構成の一例である
【図２】本発明の処理構成の一例を示す図である
【図３】周辺機器構成テーブルの構成例および機器プロファイル121の構成例を示す図である。
【図４】  Push型の送信処理の流れ、Push型の受信処理の流れおよびPull型の機器構成管理処理の流れを示す図である。
【図５】本発明の第１の実施例における、サービスフロー管理処理の探索処理の流れを示す図である。
【図６】本発明の第1の実施例における、サービスフロー管理処理の転送処理の流れを示す図である。
【図７】本発明におけるメッセージ構成の一例を示す図である。
【図８】本発明におけるサービス経路テーブルの構成の一例および本発明におけるサービス寿命管理テーブルの構成の一例を示す図である。
【図９】本発明の第２の実施例におけるサービスフロー管理処理の探索転送処理の流れを示す図である。
【図１０】本発明の第２の実施例における、宛先条件832の構成例を示す図である。
【図１１】本発明の第3の実施例における、サービスフロー管理処理の経路維持処理の流れを示す図である
【図１２】本発明の第3の実施例における、サービスフロー管理処理の経路維持処理の流れを示す図である
【図１３】本発明の第４の実施例における、サービス寿命管理処理の流れを示す図である。
【符号の説明】
111：機器構成管理処理、112：通信処理、113：サービスフロー管理処理、114：処理プログラム、121：機器プロファイル、122：周辺機器テーブル、123：サービス経路テーブル、124：サービス寿命管理テーブル、132：外部入出力部、133：周辺機器センサ
【図１】
0003826735.tif 000002
【図２】
0003826735.tif 000003
【図３】
0003826735.tif 000004
【図４】
0003826735.tif 000005
【図５】
0003826735.tif 000006
【図６】
0003826735.tif 000007
【図７】
0003826735.tif 000008
【図８】
0003826735.tif 000009
【図９】
0003826735.tif 000010
【図１０】
0003826735.tif 000011
【図１１】
0003826735.tif 000012
【図１２】
0003826735.tif 000013
【図１３】
0003826735.tif 000014