(57)【要約】【課題】あらゆる物を制御対象とし、それらの物同士の情報伝達を可能として、様々な処理を実現する装置、方法を提供する。【解決手段】固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトと、複数のチェインオブジェクトの各々に対応して設定され、チェインオブジェクトを適用した処理の制御を実行するチェインマネージャと、チェインオブジェクト各々の実行可能なサービス情報を格納したチェインディレクトリと、チェインオブジェクトのＩＤ取得処理を実行するとともに、取得ＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについて、チェインディレクトリに問い合わせ、該問い合わせに対する応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なうルートチェインマネージャとによって、様々なサービス提供、受領構成を実現した。【選択図】  図３
2004157713.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムであって、
１以上のチェインオブジェクトに関連する所定ファイル形式のデータを扱うデータ入力またはデータ出力少なくともいずれかのサービス制御を実行する複数のチェインマネージャと、
前記チェインマネージャに設定された識別子（ＩＤ）と、当該チェインマネージャに関連するチェインオブジェクトの識別子（ＩＤ）と、当該チェインオブジェクトに関連するデータ入力またはデータ出力少なくともいずれかのサービスと、当該データ入力またはデータ出力少なくともいずれかのサービスにおいて扱うことのできるファイル形式との対応関係を格納した対応関係データを保持し、ファイル形式のマッチングと、データ入力とデータ出力のサービスマッチングとにより実行可能なサービスの検索処理を実行するチェインディレクトリと、
１つのチェインオブジェクトのＩＤを取得し、ＩＤを取得したチェインオブジェクトに関連するデータ入力または出力サービスと同一のファイル形式を扱うデータ出力または入力サービスを扱うチェインオブジェクトを前記チェインディレクトリに問い合わせる処理を実行するルートチェインマネージャと、
を備え、
前記チェインマネージャのＩＤと、チェインオブジェクトのＩＤとは、異なるアドレス空間において定義される識別子であることを特徴とするデータ処理システム。
【請求項２】
前記ルートチェインマネージャは、
サービス問い合わせパケットを生成し、前記チェインディレクトリに対するサービス問い合わせを実行する構成であり、
前記チェインディレクトリは、
前記ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤに基づいて組み合わせ可能な２つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成であることを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
前記チェインマネージャのＩＤは、通信アドレスとして適用可能なＩＤであることを特徴とする請求項１に記載のデータ処理システム。
【請求項４】
前記ルートチェインマネージャは、
前記チェインディレクトリに対する問い合わせの応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なう構成であることを特徴とする請求項１に記載のデータ処理システム。
【請求項５】
前記ルートチェインマネージャは、
サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であることを特徴とする請求項１に記載のデータ処理システム。
【請求項６】
前記チェインマネージャは、
自己の管理するチェインオブジェクトに関するＩＤ、および実行可能なサービス情報としてのサービスプロファイル情報を記憶し、
前記ルートチェインマネージャからのＩＤ取得処理要求に応じて、前記サービスプロファイル情報に基づいて、管理対象のチェインオブジェクトに関するＩＤの通知処理を実行するとともに、
前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する構成であることを特徴とする請求項１に記載のデータ処理システム。
【請求項７】
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトの各々に対応して設定されるチェインマネージャとしての情報処理装置であり、
前記チェインオブジェクトに設定された識別子（ＩＤ）、および実行可能なサービス情報としてのサービスプロファイル情報を記憶した記憶手段と、
前記サービスチェイン内に設定されるルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する制御手段と、
を有することを特徴とする情報処理装置。
【請求項８】
前記制御手段は、
前記ルートチェインマネージャから受信するサービスの実行に必要なプログラム情報を取得するための第１のチェイントークンに対して、前記サービスプロファイル情報に格納したサービスの実行に必要なプログラム情報を格納する処理を実行する構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記制御手段は、
前記ルートチェインマネージャから受信するサービスの実行処理に対応するプログラムの起動を要求する第２のチェイントークンの受領に応じて、該第２のチェイントークンに格納されたサービスの実行に必要なプログラム情報を取得し、該取得情報に基づいてプログラム実行処理を行なう構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスの制御を行なうルートチェインマネージャとしての情報処理装置であり、
前記チェインオブジェクトのＩＤ取得処理を実行するとともに、取得ＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスを問い合わせるためのサービス問い合わせパケットを生成して、サービス情報を保有するチェインディレクトリに送信するとともに、該問い合わせに対する応答に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応して設定されるチェインマネージャに巡回させて実行サービスの制御を行なう制御手段を有することを特徴とする情報処理装置。
【請求項１１】
前記情報処理装置は、
サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理を実行する構成であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するチェインディレクトリとしての情報処理装置であり、
前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのＩＤに対応付けて格納したデータベースと、
複数のチェインオブジェクトのＩＤを格納したサービス問い合わせパケットの受信に応じて、該ＩＤに基づいて、前記サービス情報を格納したデータベースの検索処理を実行し、該検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成する制御手段と、
を有することを特徴とする情報処理装置。
【請求項１３】
前記情報処理装置は、
サービス情報として、前記チェインオブジェクト各々のＩＤと、チェインオブジェクト各々の実行可能なサービス情報と、チェインオブジェクトに対して設定されたチェインマネージャのアドレス情報とを対応付けた情報を有し、
前記サービス問い合わせパケットの受信に応じて、前記サービス情報に基づいて、サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報を検索し、該サービス情報を格納したサービス問い合わせ応答パケットを生成して、ルートチェインマネージャに対して送信する処理を実行する構成であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別および処理可能なデータフォーマット情報が格納され、
前記制御手段は、
前記サービス問い合わせパケットの受信に応じて、該サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして、該サービス問い合わせに対する応答を生成する構成であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
前記制御手段は、
前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤに基づいて組み合わせ可能な２つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する構成であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１６】
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおけるデータ処理方法であり、
前記チェインオブジェクトのＩＤの取得処理を実行するＩＤ取得ステップと、
前記ＩＤ取得ステップにおいて取得したＩＤを格納したサービス問い合わせパケットをサービス情報を持つチェインディレクトリに送信する問い合わせ実行ステップと、
前記サービス問い合わせパケット内のチェインオブジェクトＩＤに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成し、問い合わせ元に返信する問い合わせ応答ステップと、
前記サービス問い合わせ応答パケットの格納情報に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう制御ステップと、
を有することを特徴とするデータ処理方法。
【請求項１７】
前記制御ステップは、
サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理ステップを含むことを特徴とする請求項１６に記載のデータ処理方法。
【請求項１８】
前記制御ステップは、
前記チェインマネージャが、受信チェイントークンに対して、データ処理サービスに対応するプログラム実行に必要となる情報を格納する処理を実行するステップを含むことを特徴とする請求項１６に記載のデータ処理方法。
【請求項１９】
前記制御ステップは、
前記チェインマネージャが、受信チェイントークンに基づいてプログラム起動処理を実行するステップを含むことを特徴とする請求項１６に記載のデータ処理方法。
【請求項２０】
前記問い合わせ応答ステップは、
前記サービス問い合わせパケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するステップと、
同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤに基づいて組み合わせ可能な２つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成するステップと、
を含むことを特徴とする請求項１６に記載のデータ処理方法。
【請求項２１】
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、チェインオブジェクトの各々に対応して設定されるチェインマネージャの実行するデータ処理方法であり、
前記チェインオブジェクトに設定された識別子（ＩＤ）、および実行可能なサービス情報としてのサービスプロファイル情報を記憶する記憶ステップと、
前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する制御ステップと、
を有することを特徴とするデータ処理方法。
【請求項２２】
前記制御ステップは、
前記ルートチェインマネージャから受信するサービスの実行に必要なプログラム情報を取得するための第１のチェイントークンに対して、前記サービスプロファイル情報に格納したサービスの実行に必要なプログラム情報を格納する処理ステップを含むことを特徴とする請求項２１に記載のデータ処理方法。
【請求項２３】
前記制御ステップは、
前記ルートチェインマネージャから受信するサービスの実行処理に対応するプログラムの起動を要求する第２のチェイントークンの受領に応じて、該第２のチェイントークンに格納されたサービスの実行に必要なプログラム情報を取得し、該取得情報に基づいてプログラム実行処理を行なうステップを含むことを特徴とする請求項２１に記載のデータ処理方法。
【請求項２４】
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、複数のチェインオブジェクトを適用したデータ処理サービスのデータ処理制御方法であり、
前記チェインオブジェクトのＩＤ取得処理を実行するステップと、
取得したＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについてのサービス問い合わせパケットを生成し、サービス情報を保有するチェインディレクトリに送信するステップと、
前記問い合わせに対する応答に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応して設定されるチェインマネージャに巡回させてサービスの実行制御を行なう制御ステップと
を有することを特徴とするデータ処理制御方法。
【請求項２５】
前記制御ステップは、
サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理を実行するステップを含むことを特徴とする請求項２４に記載のデータ処理制御方法。
【請求項２６】
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理方法であり、
複数のチェインオブジェクトのＩＤを格納したサービス問い合わせパケットを受信するステップと、
サービス問い合わせパケットに格納されたＩＤに基づいて、前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのＩＤに対応付けて格納したデータベースの検索処理を実行する検索ステップと、
前記検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
前記サービス問い合わせ応答パケットを送信するステップと、
を有することを特徴とする情報提供処理方法。
【請求項２７】
前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別およびデータフォーマット情報が格納され、
前記検索ステップは、
前記サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして抽出する処理を実行するステップを含むことを特徴とする請求項２６に記載の情報提供処理方法。
【請求項２８】
前記情報提供処理方法は、さらに、
前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤも含めた３以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する処理ステップを有することを特徴とする請求項２６に記載の情報提供処理方法。
【請求項２９】
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、チェインオブジェクトの各々に対応して設定されるチェインマネージャの実行するデータ処理を実行するコンピュータ・プログラムであって、
前記チェインオブジェクトに設定された識別子（ＩＤ）、および実行可能なサービス情報としてのサービスプロファイル情報を記憶する記憶ステップと、
前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する制御ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項３０】
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、複数のチェインオブジェクトを適用したデータ処理サービスのデータ処理制御処理を実行するコンピュータ・プログラムであって、
前記チェインオブジェクトのＩＤを取得処理を実行するステップと、
取得したＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについてのサービス問い合わせパケットを生成し、サービス情報を保有するチェインディレクトリに送信するステップと、
前記問い合わせに対する応答に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応して設定されるチェインマネージャに巡回させ、サービスの実行制御を行なう制御ステップと
を有することを特徴とするコンピュータ・プログラム。
【請求項３１】
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するコンピュータ・プログラムであって、
複数のチェインオブジェクトのＩＤを格納したサービス問い合わせパケットを受信するステップと、
前記サービス問い合わせパケット内のチェインオブジェクトＩＤに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
前記サービス問い合わせ応答パケットを送信するステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、情報処理装置、あるいは情報処理装置以外のあらゆる物をサービスチェインの構成要素として接続し、接続したチェインオブジェクトを適用した様々なデータ処理を容易に実行可能とするとともに、フレキシブルなサービス提供および受領構成を実現するデータ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムに関する。
【０００２】
【従来の技術】
インターネットの普及により我々は、情報共有、資源共有などのネットワーク化の恩恵を受けている。ネットワーク化の波はコンピュータの世界だけに留まらず、家庭内の家電機器相互間での通信処理、携帯電話のインターネット接続による通信、さらには、冷蔵庫、電子レンジ等に通信手段を設け、インターネットを介した通信を可能とした構成が提案され、実用化されつつある。
【０００３】
特に、近年においては、いつでも、どこでも、誰とでもそしてどんな物でも、ネットワークを通じてコミュニケーションを可能とする環境、いわゆるユビキタス環境の実現に向けた研究が盛んに行なわれている。ユビキタス環境は、あらゆるものがコンピュータを搭載しネットワークを介してサービスを実現する環境である。このようにコンピュータが到る所に存在する環境では優れたユーザインタフェイスを利用して利便性を高めることが重要となる。実際にユビキタスの分野では、仮想現実や、実世界指向インタフェイスなど、サービス基盤よりユーザ側からの技術が先行しているのが現実である。
【０００４】
一方、既存のサービス基盤はインターネットを基本としパーソナルコンピュータや情報家電を想定して設計されており、これらのサービス基盤は、日々進歩するユーザ側のユビキタス環境を充分に活かすものとなっていない。この理由の一つは、ユビキタス環境では目の前に広がる無数の物を容易に制御できることが重要であるのに対し、これまでのインターネットを利用したサービスは、広域な環境で唯一のサービスを提供することに重点が置かれていたことにある。
【０００５】
しかし、昨今では、ユビキタス環境下におけるサービス提供に関する統合的な研究も頻繁に行なわれるようになってきている。その代表的な例はＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）が提案するサービス・ロケーション・プロトコル（ＳＬＰ：Ｓｅｒｖｉｃｅ  Ｌｏｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）（例えば非特許文献１参照）や、サンマイクロシステムズのＪｉｎｉ（例えば非特許文献２参照）、マイクロソフトのユニバーサル・プラグアンドプレイ（ＵＰｎＰ：Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）（例えば非特許文献３参照）、マサチューセッツ工科大学のインターナショナル・ネーミング・システム（ＩＮＳ：Ｉｎｔｅｎｔｉｏｎａｌ  Ｎａｍｉｎｇ  Ｓｙｓｔｅｍ）  （例えば非特許文献４参照）、カルフォルニアバークレイ大学の  Ｎｉｎｊａ（例えば非特許文献５参照）などがある。
【０００６】
【非特許文献１】
Ｍ．  Ｗｅｉｓｅｒ．  Ｓｏｍｅ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｉｓｓｕｅｓ  ｉｎ  Ｕｂｉｑｕｉｔｏｕｓ  Ｃｏｍｐｕｔｉｎｇ．  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｏｆ  ｔｈｅ  ＡＣＭ，  Ｊｕｌｙ  １９９３．
【非特許文献２】
Ｓｕｎ．  Ｊｉｎｉ  ｃｏｎｎｅｃｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ．  Ｉｎ  Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，  ｈｔｔｐ：／／ｗｗｗ．ｓｕｎ．ｃｏｍ／ｊｉｎｉ／，  ２０００．
【非特許文献３】
Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ．  Ｕｎｄｅｒｓｔａｎｄｉｎｇ  Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ：Ａ  Ｗｈｉｔｅ  Ｐａｐｅｒ．
【非特許文献４】
Ｗ．  Ａｄｊｉｅ−Ｗｉｎｏｔｏ，  Ｅ．  Ｓｃｈｅｗａｒｔｚ，  Ｈ．  Ｂａｌａｋｒｉｓｈｎａｎ，  ａｎｄ  Ｊ．  Ｌｉｌｌｅｙ．  Ｔｈｅ  Ｄｅｓｉｇｎ  ａｎｄ  Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ａｎ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｎａｍｉｎｇ  Ｓｙｓｔｅｍ．  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓｏｆ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍｓ  Ｐｒｉｎｃｉｐｌｅｓ｝，  Ｄｅｃｅｍｂｅｒ  １９９９．
【非特許文献５】
Ｓ．  Ｇｒｉｂｂｌｅ  ａｎｄ  ｅｔ．  ａｌ．  Ｔｈｅ  Ｎｉｎｊａ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｒｏｂｕｓｔ  Ｉｎｔｅｒｎｅｔ−Ｓｃａｌｅ  Ｓｙｓｔｅｍｓ  ａｎｄ  Ｓｅｒｖｉｃｅｓ．  Ｓｐｅｃｉａｌ  Ｉｓｓｕｅ  ｏｆ  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｎｅｔｗｏｒｋｓ  ｏｎ  Ｐｅｒｖａｓｉｖｅ  Ｃｏｍｐｕｔｉｎｇ，  Ｊｕｎｅ  ２０００．
【０００７】
上述したこれまでに提案されているサービス提供システムは、各々目的の違いはあるが基本的な仕組みはすべて共通する。すなわち、その仕組みは次の２つの手順を持つ。最初の手順は、（１）サービス提供機器が自分の存在を他の機器に知らせる。この方法としては、ディレクトリサービスを行なう機器への登録、特別なチャネルやアドレスへの定期的なサービス広告、また特別なチャネルやアドレスで待機し、要求があった場合に自らの存在を返答する、などの３つの形態に分類できる。
【０００８】
次の手順は、（２）クライアントがサービス提供機器を発見する。この方法としては、ディレクトリサービスを行なう機  器への問い合わせ、特別なチャネルやアドレスに対して要求パケットを送信する、また特別なチャネルやアドレスでサービス提供機器の広告を聞く、などの３つの形態に分類できる。通信の形態としてはディレクトリサービスを基本とした形態と、ピア・ツー・ピアで通信する形態に分けられる。両方の形態で利用可能なシステムも存在する。前者はクライアントとサービス提供機器の間にディレクトリサービスを行なう機器が存在する。後者はクライアントとサービス提供機器が直接お互いを認識してサービスの提供が行なわれる。
【０００９】
既存の技術ではサービス提供機器とクライアントの境界線が明確に分けられている。すなわちサービス提供機器はクライアントに対してサービスを提供することを前提として設計されている。しかし我々は常時、手元の機器がクライアントとなりサービスを提供してもらいたい訳ではない。テレビの画面をそのままプリンタに送ったり、遠隔のカメラをプロジェクタから出力するといった、我々がクライアントと定義している機器同士でデータのやり取りを行なってもらいたい場合も多々ある。
【００１０】
【発明が解決しようとする課題】
本発明は、上述した問題点に鑑みてなされたものであり、クライアントの身の回りにあるディスプレイ、プリンタ、ＰＣ、ＰＤＡ、スピーカ、情報家電は勿論のこと、これら情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体を制御の対象とし、それらの物体同士の情報伝達を可能として、様々な処理を実現することに重点をおいた拡張性に優れたシスム基盤を実現し、この基盤上でフレキシブルなサービスの提供および受領構成を実行するデータ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムを提供するものである。
【００１１】
本発明は、従来の技術が対象としているＰＣや家電などの電子機器だけでなく、その他の機器、物品、生き物、本、石、壁なども識別子を付加することで、様々なサービスの提供、受領処理を実現するサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の世界に取り込み、これらの物体を既存のインターネットの基盤に組み込み、他の物体と接続し、情報伝達を可能とすることで新たなサービスを実現することを目的とする。
【００１２】
なお、本発明で提案する物体の接続によるサービスの提供および受領構成を実現するためのユビキタス環境に適応したサービスアーキテクチャをサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）と呼ぶものとする。
【００１３】
【課題を解決するための手段】
本発明の第１の側面は、
データ処理システムであって、
１以上のチェインオブジェクトに関連する所定ファイル形式のデータを扱うデータ入力またはデータ出力少なくともいずれかのサービス制御を実行する複数のチェインマネージャと、
前記チェインマネージャに設定された識別子（ＩＤ）と、当該チェインマネージャに関連するチェインオブジェクトの識別子（ＩＤ）と、当該チェインオブジェクトに関連するデータ入力またはデータ出力少なくともいずれかのサービスと、当該データ入力またはデータ出力少なくともいずれかのサービスにおいて扱うことのできるファイル形式との対応関係を格納した対応関係データを保持し、ファイル形式のマッチングと、データ入力とデータ出力のサービスマッチングとにより実行可能なサービスの検索処理を実行するチェインディレクトリと、
１つのチェインオブジェクトのＩＤを取得し、ＩＤを取得したチェインオブジェクトに関連するデータ入力または出力サービスと同一のファイル形式を扱うデータ出力または入力サービスを扱うチェインオブジェクトを前記チェインディレクトリに問い合わせる処理を実行するルートチェインマネージャと、
を備え、
前記チェインマネージャのＩＤと、チェインオブジェクトのＩＤとは、異なるアドレス空間において定義される識別子であることを特徴とするデータ処理システムにある。
【００１４】
さらに、本発明のデータ処理システムの一実施態様において、前記ルートチェインマネージャは、サービス問い合わせパケットを生成し、前記チェインディレクトリに対するサービス問い合わせを実行する構成であり、前記チェインディレクトリは、前記ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤに基づいて組み合わせ可能な２つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成であることを特徴とする。
【００１５】
さらに、本発明のデータ処理システムの一実施態様において、前記チェインマネージャのＩＤは、通信アドレスとして適用可能なＩＤであることを特徴とする。
【００１６】
さらに、本発明のデータ処理システムの一実施態様において、前記ルートチェインマネージャは、前記チェインディレクトリに対する問い合わせの応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なう構成であることを特徴とする。
【００１７】
さらに、本発明のデータ処理システムの一実施態様において、前記ルートチェインマネージャは、サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であることを特徴とする。
【００１８】
さらに、本発明のデータ処理システムの一実施態様において、前記チェインマネージャは、自己の管理するチェインオブジェクトに関するＩＤ、および実行可能なサービス情報としてのサービスプロファイル情報を記憶し、前記ルートチェインマネージャからのＩＤ取得処理要求に応じて、前記サービスプロファイル情報に基づいて、管理対象のチェインオブジェクトに関するＩＤの通知処理を実行するとともに、前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の第２の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトの各々に対応して設定されるチェインマネージャとしての情報処理装置であり、
前記チェインオブジェクトに設定された識別子（ＩＤ）、および実行可能なサービス情報としてのサービスプロファイル情報を記憶した記憶手段と、
前記サービスチェイン内に設定されるルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する制御手段と、
を有することを特徴とする情報処理装置にある。
【００２０】
さらに、本発明の情報処理装置の一実施態様において、前記制御手段は、前記ルートチェインマネージャから受信するサービスの実行に必要なプログラム情報を取得するための第１のチェイントークンに対して、前記サービスプロファイル情報に格納したサービスの実行に必要なプログラム情報を格納する処理を実行する構成であることを特徴とする。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記制御手段は、前記ルートチェインマネージャから受信するサービスの実行処理に対応するプログラムの起動を要求する第２のチェイントークンの受領に応じて、該第２のチェイントークンに格納されたサービスの実行に必要なプログラム情報を取得し、該取得情報に基づいてプログラム実行処理を行なう構成であることを特徴とする。
【００２２】
さらに、本発明の第３の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスの制御を行なうルートチェインマネージャとしての情報処理装置であり、
前記チェインオブジェクトのＩＤ取得処理を実行するとともに、取得ＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスを問い合わせるためのサービス問い合わせパケットを生成して、サービス情報を保有するチェインディレクトリに送信するとともに、該問い合わせに対する応答に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応して設定されるチェインマネージャに巡回させて実行サービスの制御を行なう制御手段を有することを特徴とする情報処理装置にある。
【００２３】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理を実行する構成であることを特徴とする。
【００２４】
さらに、本発明の第４の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するチェインディレクトリとしての情報処理装置であり、
前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのＩＤに対応付けて格納したデータベースと、
複数のチェインオブジェクトのＩＤを格納したサービス問い合わせパケットの受信に応じて、該ＩＤに基づいて、前記サービス情報を格納したデータベースの検索処理を実行し、該検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成する制御手段と、
を有することを特徴とする情報処理装置にある。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、サービス情報として、前記チェインオブジェクト各々のＩＤと、チェインオブジェクト各々の実行可能なサービス情報と、チェインオブジェクトに対して設定されたチェインマネージャのアドレス情報とを対応付けた情報を有し、前記サービス問い合わせパケットの受信に応じて、前記サービス情報に基づいて、サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報を検索し、該サービス情報を格納したサービス問い合わせ応答パケットを生成して、ルートチェインマネージャに対して送信する処理を実行する構成であることを特徴とする。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別および処理可能なデータフォーマット情報が格納され、前記制御手段は、前記サービス問い合わせパケットの受信に応じて、該サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして、該サービス問い合わせに対する応答を生成する構成であることを特徴とする。
【００２７】
さらに、本発明の情報処理装置の一実施態様において、前記制御手段は、前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤに基づいて組み合わせ可能な２つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する構成であることを特徴とする。
【００２８】
さらに、本発明の第５の側面は、
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおけるデータ処理方法であり、
前記チェインオブジェクトのＩＤの取得処理を実行するＩＤ取得ステップと、前記ＩＤ取得ステップにおいて取得したＩＤを格納したサービス問い合わせパケットをサービス情報を持つチェインディレクトリに送信する問い合わせ実行ステップと、
前記サービス問い合わせパケット内のチェインオブジェクトＩＤに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成し、問い合わせ元に返信する問い合わせ応答ステップと、
前記サービス問い合わせ応答パケットの格納情報に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう制御ステップと、
を有することを特徴とするデータ処理方法にある。
【００２９】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理ステップを含むことを特徴とする。
【００３０】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、前記チェインマネージャが、受信チェイントークンに対して、データ処理サービスに対応するプログラム実行に必要となる情報を格納する処理を実行するステップを含むことを特徴とする。
【００３１】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、前記チェインマネージャが、受信チェイントークンに基づいてプログラム起動処理を実行するステップを含むことを特徴とする。
【００３２】
さらに、本発明のデータ処理方法の一実施態様において、前記問い合わせ応答ステップは、前記サービス問い合わせパケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するステップと、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤに基づいて組み合わせ可能な２つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成するステップと、を含むことを特徴とする。
【００３３】
さらに、本発明第６の側面は、
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、チェインオブジェクトの各々に対応して設定されるチェインマネージャの実行するデータ処理方法であり、
前記チェインオブジェクトに設定された識別子（ＩＤ）、および実行可能なサービス情報としてのサービスプロファイル情報を記憶する記憶ステップと、
前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する制御ステップと、
を有することを特徴とするデータ処理方法にある。
【００３４】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、前記ルートチェインマネージャから受信するサービスの実行に必要なプログラム情報を取得するための第１のチェイントークンに対して、前記サービスプロファイル情報に格納したサービスの実行に必要なプログラム情報を格納する処理ステップを含むことを特徴とする。
【００３５】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、前記ルートチェインマネージャから受信するサービスの実行処理に対応するプログラムの起動を要求する第２のチェイントークンの受領に応じて、該第２のチェイントークンに格納されたサービスの実行に必要なプログラム情報を取得し、該取得情報に基づいてプログラム実行処理を行なうステップを含むことを特徴とする。
【００３６】
さらに、本発明の第７の側面は、
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、複数のチェインオブジェクトを適用したデータ処理サービスのデータ処理制御方法であり、
前記チェインオブジェクトのＩＤ取得処理を実行するステップと、
取得したＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについてのサービス問い合わせパケットを生成し、サービス情報を保有するチェインディレクトリに送信するステップと、
前記問い合わせに対する応答に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応して設定されるチェインマネージャに巡回させてサービスの実行制御を行なう制御ステップと
を有することを特徴とするデータ処理制御方法にある。
【００３７】
さらに、本発明のデータ処理制御方法の一実施態様において、前記制御ステップは、サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理を実行するステップを含むことを特徴とする。
【００３８】
さらに、本発明の第８の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理方法であり、
複数のチェインオブジェクトのＩＤを格納したサービス問い合わせパケットを受信するステップと、
サービス問い合わせパケットに格納されたＩＤに基づいて、前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのＩＤに対応付けて格納したデータベースの検索処理を実行する検索ステップと、
前記検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
前記サービス問い合わせ応答パケットを送信するステップと、
を有することを特徴とする情報提供処理方法にある。
【００３９】
さらに、本発明の情報提供処理方法の一実施態様において、前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別およびデータフォーマット情報が格納され、前記検索ステップは、前記サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして抽出する処理を実行するステップを含むことを特徴とする。
【００４０】
さらに、本発明の情報提供処理方法の一実施態様において、前記情報提供処理方法は、さらに、前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたＩＤも含めた３以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する処理ステップを有することを特徴とする。
【００４１】
さらに、本発明の第９の側面は、
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、チェインオブジェクトの各々に対応して設定されるチェインマネージャの実行するデータ処理を実行するコンピュータ・プログラムであって、
前記チェインオブジェクトに設定された識別子（ＩＤ）、および実行可能なサービス情報としてのサービスプロファイル情報を記憶する記憶ステップと、
前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する制御ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００４２】
さらに、本発明の第１０の側面は、
固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおいて、複数のチェインオブジェクトを適用したデータ処理サービスのデータ処理制御処理を実行するコンピュータ・プログラムであって、
前記チェインオブジェクトのＩＤを取得処理を実行するステップと、
取得したＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについてのサービス問い合わせパケットを生成し、サービス情報を保有するチェインディレクトリに送信するステップと、
前記問い合わせに対する応答に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応して設定されるチェインマネージャに巡回させ、サービスの実行制御を行なう制御ステップと
を有することを特徴とするコンピュータ・プログラムにある。
【００４３】
さらに、本発明の第１１の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するコンピュータ・プログラムであって、
複数のチェインオブジェクトのＩＤを格納したサービス問い合わせパケットを受信するステップと、
前記サービス問い合わせパケット内のチェインオブジェクトＩＤに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
前記サービス問い合わせ応答パケットを送信するステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００４４】
【作用】
本発明の構成によれば、固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトと、複数のチェインオブジェクトの各々に対応して設定され、チェインオブジェクトを適用した処理の制御を実行するチェインマネージャと、チェインオブジェクト各々の実行可能なサービス情報を格納したチェインディレクトリと、チェインオブジェクトのＩＤ取得処理を実行するとともに、取得ＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについて、チェインディレクトリに問い合わせ、該問い合わせに対する応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なうルートチェインマネージャとによって、様々なサービス提供、受領構成を実現したので、クライアントの身の回りにあるディスプレイ、プリンタ、ＰＣ、ＰＤＡ、スピーカ、情報家電は勿論のこと、これら情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体をチェインオブジェクトとして設定するとともに、これらのチェインオブジェクトに対応するチェインマネージャを設定することで、あらゆる物を制御対象とし、それらの物同士の情報伝達を可能として、様々な処理を実現することが可能となり、フレキシブルなサービスの提供および受領構成が実現される。
【００４５】
さらに、本発明の構成によれば、ルートチェインマネージャは、サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であるので、各チェインマネージャが、プログラムの実行に必要な情報を予め保有していない場合においても、必要情報を取得した上で、プログラムを実行することが可能となる。
【００４６】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャからのサービス問い合わせに応答して、サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報中から、同一データフォーマットのデータ入力とデータ出力との組合わせを検索するマッチング処理を実行し、マッチングの成立したデータ入出力に対応するサービスを実行可能なデータ処理サービスとして、前記サービス問い合わせに対する応答を生成する構成であるので、同一のデータフォーマットの入出力処理が確実に実行できる機器同士を結びつけることが可能となり、データ処理エラー等を発生させることのないサービス提供、受領処理が実現される。
【００４７】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、チェインリストに記録されたＩＤも含めた３以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成としたので、２つの機器のみならず、３以上の任意数の機器において可能な２つの機器の組合わせによって実行可能なサービスの検索が可能となる。
【００４８】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００４９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【００５０】
【発明の実施の形態】
以下、図面を参照して、本発明のデータ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムについて詳細に説明する。なお、説明は以下の項目に従って行なう。
１．サービスチェインの概要
２．サービスチェインにおける基本技術
３．サービスチェインの実装
４．サービスチェイン適用処理フロー
５．サービスチェインの利用例
【００５１】
［１．サービスチェインの概要］
まず、サービスチェインの概要について説明する。サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）は、本発明で提案する物体の接続によるサービス提供受領構成を実現するためのユビキタス環境に適応したサービスアーキテクチャである。サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）に基づいて、クライアントの身の回りにあるディスプレイ、プリンタ、ＰＣ、ＰＤＡ、スピーカ、情報家電や、情報処理装置以外の生き物、本、石等、身の回りにある、あらゆる物体を制御の対象とし、それらの物体同士の情報伝達を可能として、様々な処理を実現する。
【００５２】
まず、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の基本構成要素を説明すると共に、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を利用したサービスの提供および受領処理の概要について説明する。
【００５３】
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）ではサービスのやり取りが可能なあらゆる物体をチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ：Ｃｈａｉｎ−Ｏｂｊｅｃｔ）として抽象化する。このチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）にはサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）において固有の識別子（ＩＤ）が付加される。図１にチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ：Ｃｈａｉｎ−Ｏｂｊｅｃｔ）の構成例を示す。
【００５４】
図１に示すように、クライアントの身の回りにあるディスプレイ、プリンタ、ＰＣ、ＰＤＡ、スピーカ、冷蔵庫、情報家電や、情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体をチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）として、識別子（ＩＤ）を設定する。このＩＤを基本としてサービスをやり取りする。
【００５５】
ＩＤを付加された、すべてのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）は、必ず１個のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が対応付けられる。チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、少なくとも１つのチェインオブジェクトの管理を行ない、管理対象のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤおよびその他の情報（プロファイル）を管理する。また、サービスチェインを利用したサービスの統括制御部としてのルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からのメッセージ、例えば、ユーザの希望するサービスの起動、制御、終了などのトリガとなるメッセージを受信し、受信メーセッジに基づく処理、例えば該当するサービスの起動、制御、終了等の処理を実行する機能要素である。
【００５６】
チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、およびルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、データ処理プログラムおよびデータ処理を実行するハードウェアとによって構成される。ハードウェアとしての基本要素は、メッセージの送受信処理を実行する通信インタフェースと、送受信メーセッジに関する処理、例えば受信メッセージに基づくサービスの起動、制御、終了等の処理を実行するデータ処理部である。従って、図１に示すように、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、例えば、ＰＣ、ＰＤＡ、携帯電話、携帯通信端末、情報家電等によって構成され得る。
【００５７】
なお、図１では、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）とチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）とを区別して示してあるが、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）がＰＣあるいはＰＤＡ等のように、データ処理、通信処理可能な機器である場合は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の中にチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）の機能を格納することが可能であり、この場合は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）とチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）とは、同一機器によって構成される。
【００５８】
すなわち、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を介したデータ送受信、および送受信データに関するデータ処理が可能なチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）は、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）としても機能可能であり、単独の機器構成において、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）とチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）として機能することが可能である。すなわち、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、データ通信、データ処理実行プログラムとしてチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）内に存在することができる。
【００５９】
ただし、データ通信、データ処理機能を持たない、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）、例えば生き物、植物、本、鉱物等は、情報処理装置以外のオブジェクトが、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を適用したサービスの提供、受領処理に参画する場合には、それらのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を、通信処理およびデータ処理機能を持つＰＣ、ＰＤＡ等の情報処理装置によって構成されるチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に対応付けることが必要となる。
【００６０】
情報処理装置または情報処理装置以外の物によって構成され、識別子（ＩＤ）が設定されたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）によって構成されるサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を適用して、サービスの提供、またはサービスの受領を実行するために必要となる主要なデータ処理要素について説明する、重要なデータ処理要素としては次に挙げる３要素がある。
【００６１】
（１）ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）において、サービスの実行に関わる制御を行なう最も重要な機能要素である。
【００６２】
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを収集し、そのＩＤから実現可能なサービスがあるかどうかチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に問い合わせる処理を実行する。また、サービス問い合わせに対するチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）からの応答結果に基づき、ユーザとのインタラクションを実行し、ユーザに実現したいサービスを選択してもらい、ユーザの選択したサービスの起動、制御、終了などのトリガとなるメッセージを格納したチェイントークンを生成し、選択したサービスを提供するために必要なチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に転送する。
【００６３】
（２）チェインディレクトリ（Ｃｈａｉｎ−Ｄｉｒｅｃｔｏｒｙ）
チェインディレクトリ（Ｃｈａｉｎ−Ｄｉｒｅｃｔｏｒｙ）は、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）においてディレクトリサービスの機能を提供する要素である。
【００６４】
チェインディレクトリ（Ｃｈａｉｎ−Ｄｉｒｅｃｔｏｒｙ）は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の情報、例えばサービスチェインに接続されたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）毎の提供可能なサービス情報を管理し、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からのサービス問い合わせを受け取り、問い合わせに応じてサービス検索を行ない、実現可能なサービス情報をルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に応答メッセージとして返す処理を実行する。
【００６５】
（３）チェインマネージャ（Ｃｈａｉｎ−Ｍａｎａｇｅｒ）
チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からのメッセージ、例えば、ユーザの希望するサービスの起動、制御、終了などのトリガとなるメッセージ（チェイントークン）を受信し、受信メーセッジに基づく処理、例えば該当するサービスの起動、制御、終了等の処理を実行する機能要素である。なお、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）にもＩＤが設定される。このチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＤは、ＩＰアドレス等、通信アドレスとして適用可能なＩＤであり、チェインオブジェクトのＩＤとは、異なるアドレス空間において定義される識別子である。
【００６６】
ＩＤを付加された、すべてのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）は、必ず１個のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に対応付けられる。またユーザとのインタラクションが可能なディスプレイなどの表示デバイスやＩＤを読みとる機器、例えば、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））、あるいはＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）のような赤外線通信方式を適用した特定のデバイスを持つチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）はルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）を保持し、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）として機能することが可能である。ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）を保持したチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）はサービスの制御機器の役割をもつため、以下では、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）と呼ぶ。
【００６７】
図２に、データ通信、データ処理を実行するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）、およびルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のハードウェア構成例として、ＰＣの例を示す。図２は、制御手段としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えた通信処理およびデータ処理可能なパーソナル・コンピュータの例を示している。
【００６８】
図２に示す構成について説明する。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１は、各種プログラムを実行するプロセッサである。ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ−Ｍｅｍｏｒｙ）１２は、ＣＰＵ１１が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３は、ＣＰＵ１１の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。ＨＤＤ１４はハードディスクの制御を実行し、ハードディスクに対する各種データ、プログラムの格納処理および読み出し処理を実行する。
【００６９】
バス２１はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｎｅｔ／Ｉｎｔｅｒｆａｃｅ）バス等により構成され、各モジュール、入出力インタフェース２２を介した各入出力装置とのデータ転送を可能にしている。
【００７０】
入力部１５は、例えば各種スイッチ、ボタン、キーボード、ポインティングデバイスを含む入力部である。ボタン等を介して入力部１５が操作された場合、あるいは、通信部１７からのデータを受信した場合などにＣＰＵ１１に指令が入力され、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２に格納されているプログラムを実行する。出力部１６は、例えばＣＲＴ、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。
【００７１】
通信部１７はサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を介して、他のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）、あるいはチェインディレクトリ（Ｃｈａｉｎ−Ｄｉｒｅｃｔｏｒｙ）との通信、あるいは、その他のエンティテイ、例えばコンテンツ配信サービスプロバイダとの通信処理を実行し、ＣＰＵ１１の制御の下に、各記憶部から供給されたデータ、あるいはＣＰＵ１１によって処理されたデータを送信したり、通信相手からのデータを受信する処理を実行する。また、ＩＤを付加されたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）から、ＩＤを読みとる処理を実行する機能も有する。
【００７２】
ドライブ１８は、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体１９の記録再生を実行するドライブであり、各リムーバブル記録媒体１９からのプログラムまたはデータ再生、リムーバブル記録媒体１９に対するプログラムまたはデータ格納を実行する。
【００７３】
各記憶媒体に記録されたプログラムまたはデータを読み出してＣＰＵ１１において実行または処理を行なう場合は、読み出したプログラム、データは入出力インタフェース２２、バス２１を介して例えば接続されているＲＡＭ１３に供給される。
【００７４】
なお、図２に示す構成例は、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）、およびルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）の機能を実行する機器の一例を示すものであり、これらの機能は、ＰＣ以外にも、情報家電、ＰＤＡ、携帯通信端末等、様々な機器において実行可能であり、それぞれの機器に応じた処理を実現するためのハードウェアによって構成可能である。また、チェインディレクトリ（Ｃｈａｉｎ−Ｄｉｒｅｃｔｏｒｙ）も、図２に示す構成によって実現可能である。
【００７５】
図３に、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を介したサービスを実現するための各構成要素の関係と基本動作を説明する図を示す。図３ではルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）１１１に対して、そのＩＤ管理を行なうチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）１１２が存在し、また、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１２１に対して、そのＩＤ管理を行なうチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）１２２が存在する。なお、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）１１１は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）を保持したチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）であり、サービスの制御機器の役割をもつ。
【００７６】
ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）１１１に対して設定されているルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）１１３は、各チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを読み込み、そのＩＤから実現可能なサービスがあるかどうかチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０に問い合わせる処理を実行する。
【００７７】
図３に示す構成において、まず、ステップＳ１１において、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）１１３は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１２１のＩＤを読みとり、自らが持つチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１１１のＩＤと併せてステップＳ１２において、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０にサービス問い合わせを行なうこととなる。
【００７８】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０へのサービス問い合わせはルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）１１３が、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）１１１のＩＤと、取得したチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１２１のＩＤの２個のＩＤをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０に送信し、これらのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）によって実現可能なサービスの問い合わせを行なう。
【００７９】
ステップＳ１２において、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０が返信するサービス応答には実行可能なサービスリストが含まれ、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）１１３はユーザ１８０とのインタラクションにより、その中から実行するサービスの選択処理を行なう。なお、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０が返信するサービス応答にはサービスに対応したチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）の情報が含まれている。
【００８０】
次に、図３のステップＳ１３において、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）１１３が、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）１５０が返信するサービス応答に従って、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）１１１のＩＤのサービスを管理するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）１１２とチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１２１のＩＤのサービスを管理するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）１２２を指定し、これらチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）１１２、１２２に対してサービスの設定を行なう。このサービス設定処理により、ステップＳ１４において、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１１１，１２１を適用したサービスが実現される。
【００８１】
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を利用したサービスの１つの具体例について、図４を参照して説明する。サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を利用したサービス例として、ＰＤＡ２１１でビデオ２２１を制御する例について説明する。この例では、ビデオ２２１がチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）であり、ＰＤＡ２１１がルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）である。これらは、それぞれユニークな識別子（ＩＤ）を持つ。
【００８２】
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）２１３が、自ら属するＰＤＡ２１１の識別子（ＩＤ＝２２３４４）を調べ、ビデオ２２１の識別子（ＩＤ＝４５５４３）をブルートゥース等の通信部を介して取得する。
【００８３】
次に、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）２１３は、ＰＤＡ２１１の識別子（ＩＤ＝２２３４４）と、取得したビデオ２２１の識別子（ＩＤ＝４５５４３）とを、併せてチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０に送信し、これらのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を適用して提供可能なサービスを問い合わせる。
【００８４】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０には、各チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の提供可能なサービスを登録したデータベースを有する。この例では、図に示すように、ビデオ２２１の「制御パネル表示出力」とＰＤＡ２１１の「制御パネル表示入力」が、それぞれのＩＤに対応付けて登録してある。ＰＤＡ２１１のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）２１３には「制御パネル表示」のサービスが実行可能であることが、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０に対する問い合わせの応答として通知される。
【００８５】
ＰＤＡ２１１に対応して設定されたルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）２１３はビデオ２２１のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）２２２とＰＤＡ２１１のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）２１２に「制御パネル表示」のサービスを実行することを通知し、ＰＤＡ２１１のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）２１２は該当するＷｅｂブラウザなどのプログラムを起動してビデオ２２１のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）２２２から制御パネルのサービスを受け取ることができる。
【００８６】
すなわち、ＰＤＡ２１１のディスプレイにビデオ２２１の再生、停止、早送り、巻戻し、ポース等の各操作ボタンを表示し、ＰＤＡをビデオ操作リモコンとして使用することが可能となる。
【００８７】
これらの処理構成は、例えばＵＰｎＰ、Ｊｉｎｉ、Ｈａｖｉなどの既存技術においても容易に実現可能である。しかしサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）では、これらのサービス基盤では実現できない次のような利用形態が可能である。
【００８８】
例えばＰＤＡ２１１でビデオ２２１の制御が可能となった時に、続けて近くのプロジェクタを制御対象として指定する。従来のＵＰｎＰ、Ｊｉｎｉ、Ｈａｖｉなどの技術でも、上述したと同様の処理により、プロジェクタのコントロールがＰＤＡで可能となる。
【００８９】
しかしサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）でプロジェクタを指定した際にＰＤＡの「制御パネル表示入力」はプロジェクタの「制御パネル表示出力」に変更され、プロジェクタの制御が可能となると同時にチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０に登録されているビデオの「動画（ＭＰＥＧ１）サービス出力」とプロジェクタの「動画（ＭＰＥＧ１）サービス入力」のマッチが検出され新たなサービスの実現が可能となる。
【００９０】
すなわち、ＰＤＡ２１１に対応して設定されたルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）２１３は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＰＤＡ、ビデオ、プロジェクタの３オブジェクトを適用して提供可能なサービスの問い合わせをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０に対して実行することにより、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０は、これら３つのチェインオブジェクト（ＰＤＡ、ビデオ、プロジェクタ）によって実現可能なサービスをリストとして、ＰＤＡ２１１に対応して設定されたルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）２１３に送信する。
【００９１】
リストは、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）２３０に登録されているビデオの「動画（ＭＰＥＧ１）サービス出力」とプロジェクタの「動画（ＭＰＥＧ１）サービス入力」を適用した「動画再生表示」処理が実行可能であることが示され、ＰＤＡ２１１の操作者であるユーザは、単に、ＰＤＡとビデオ、あるいはＰＤＡとプロジェクタの関係での処理のみならず、ＰＤＡとビデオとプロジェクタの３つのオブジェクトから実現可能な処理を選択することが可能となる。
【００９２】
本発明におけるサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を適用したサービス実現構成では、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、複数のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を指定して、指定したチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を適用して実現可能なサービスをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に問い合わせを行なう。チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、指定されたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）各々の持つデータ入力、データ出力、データ処理機能情報をデータベースから抽出し、これらの情報に基づいて、実現可能なサービス情報をルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に応答する。
【００９３】
従って、複数のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を利用した実現可能なサービスのすべてを実行するシステムを構築することができる。
【００９４】
図５を参照して、新たなチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてプロジェクタを追加した場合の、ビデオとプロジェクタによるサービス、すなわち、動画（ＭＰＥＧ１）サービス処理の実現に至るまでの処理について説明する。
【００９５】
まず、ステップＳ２１において、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）としてのＰＤＡ３１１に対応して設定されたルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）３１２は、あらたなチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）であるプロジェクタ３３１のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのプロジェクタ３３１のＩＤを特殊なデバイスを利用して取得する。
【００９６】
次に、ステップＳ２２において、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）３１２は、取得したプロジェクタ３３１のＩＤとルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）であるＰＤＡ３１１のＩＤを指定して、サービスの問い合わせをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）３５０に行なう。ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）の問い合わせ履歴の時間情報が閾値以内であることから、ＰＤＡ、プロジェクタ、ビデオの３つのチェインオブジェクトから任意の２つのチェインオブジェクトで実現可能なサービスをリストとして、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）３１２に送信する。
【００９７】
リストには、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）３５０に登録されているＰＤＡとビデオによる「制御パネル表示」処理の他に、ビデオの「動画（ＭＰＥＧ１）サービス出力」とプロジェクタの「動画（ＭＰＥＧ１）サービス入力」を適用した「動画（ＭＰＥＧ１）サービス」処理が実行可能であることが示されている。
【００９８】
ステップＳ２３において、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）３１２が、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）３５０から受信したサービス応答に従って、ビデオを管理するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）３２２とプロジェクタを管理するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）３３２を指定し、これらチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）３２２、３３２に対してサービスの設定を行なう。このサービス設定処理により、ステップＳ２４において、ビデオの「動画（ＭＰＥＧ１）サービス出力」とプロジェクタの「動画（ＭＰＥＧ１）サービス入力」を適用した「動画（ＭＰＥＧ１）」処理が実行される。
【００９９】
［２．サービスチェインにおける基本技術］
次に、個別にＰＤＡにより指定されたビデオとプロジェクタをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）がどのように認識してＰＤＡに利用可能なサービスリストを提供するのか。また、どのようにビデオからプロジェクタにデータ送信をするのか、その鍵となる技術について、説明する。
【０１００】
ここでは、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）をつなぎ合わせるためにサービスチェイン（Ｓｅｒｖｉｃｅ  Ｃｈａｉｎ）において利用するサービスの抽象化に関して説明をする。またルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）の問い合わせから実行可能なサービスを通知するチェインディレクトリ（Ｃ−Ｄｉｒｅｃｏｔｒｙ）の仕組みと、その通知をもとに実際にサービスを実現するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）の仕組みに関して説明する。
【０１０１】
（２．１）サービスの抽象化と結び付け
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）においてチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が提供するサービス、または受けるサービスはすべて［入力］または［出力］のサービスとして分類される。サービスの属性はデータを送受信するアプリケーションプログラムが扱うことが可能なデータ形式で示される。同一の属性のサービスの入力と出力を保持するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）同士が組み合わさることによって、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）間のサービスが実現する。
【０１０２】
例えば、ポストスクリプト（ｐｏｓｔｓｃｒｉｐｔ）形式のファイルを扱うプリンタのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が存在したと仮定する。このチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）はポストスクリプト（Ｐｏｓｔｓｃｒｉｐｔ）形式のファイルを入力する。すなわち、このプリンタは、ポストスクリプト（Ｐｏｓｔｓｃｒｉｐｔ）形式のファイルを出力するすべてのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）と結びつくことが可能となる。このチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が、カメラ、スキャナなど、どのような機器であろうがサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）は関知しない。プリンタは入力のあったポストスクリプト（Ｐｏｓｔｓｃｒｉｐｔ）形式のファイルをプリントアウトするだけである。
【０１０３】
また、同一のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が複数のサービスを持つことが可能である。例えばチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）自身がＪＰＥＧ形式のファイルをポストスクリプト（Ｐｏｓｔｓｃｒｉｐｔ）形式に変換するプログラムを保持していればＪＰＥＧ入力もサービスとして記述することができる。
【０１０４】
このファイル形式の表記方法には共通の規則が必要である。例えばＭＩＭＥタイプで定義されているファイル形式表記方法を利用することができる。ポストスクリプト（Ｐｏｓｔｓｃｒｉｐｔ）ファイルはＭＩＭＥ表記ではアプリケーション／ポストスクリプト（ａｐｐｌｉｃａｔｉｏｎ／ｐｏｓｔｓｃｒｉｐｔ）と表記される。
【０１０５】
図６は、複数のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が実行可能な［入力］または［出力］のファイル形式および、マッチング関係の概念図を示している。図６では５個のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が存在しており、それぞれ入力と出力のサービスを保持している。サービス名はここではフォーマットで記述してある。チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）  １，５０１がルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）とすると、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）１，５０１は、入力可能ファイル形式として、フォーマットＡ（Ｆｏｒｍａｔ  Ａ）を有し、フォーマットＡ（Ｆｏｒｍａｔ  Ａ）を出力可能ファイル形式として有するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）２，５０２と、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）３，５０３と、それぞれフォーマットＡ（Ｆｏｒｍａｔ  Ａ）でのデータ入出力を実行するサービスを、それぞれ実行可能である。
【０１０６】
図６に示す、複数のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が実行可能な［入力］または［出力］のファイル形式情報は、すべてチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）内に登録されている。
【０１０７】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを指定したサービス照会を受領すると、指定されたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の実行可能な［入力］または［出力］の処理可能ファイル形式情報のマッチング検索を実行し、マッチングした組み合わせによって提供可能なサービスについての情報をサービス照会に対する応答として、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に送信する。
【０１０８】
（２．２）ディレクトリサービスによるサービス提供方式
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）ではチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）がディレクトリサービスの役割をする。チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の識別子（ＩＤ）を何らかの方法により取得したルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）はルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤと共にチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に問い合わせを行なう。
【０１０９】
（２．２．ａ）識別子（ＩＤ）の取得
チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤの取得方法はサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）では規定しない。ＩＤを読み取るために赤外線通信やｒｆＩＤのような手法を利用しても良い。またサービス名からＩＤを取得するような機能を新たに追加することも可能である。
【０１１０】
なお、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の実態は個別にネットワークに接続している必要はない。例えば１００枚の音楽ＣＤがあり、各々の音楽ＣＤをチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）とし、個々のＣＤにＩＤを付与する。
【０１１１】
ユーザが操作可能なＰＤＡをルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）を持つルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）として、ＰＤＡで、このユーザの好みのＣＤのＩＤを読み込み、ＰＤＡのＩＤと、ＣＤのＩＤとをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に送信すると、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、例えば、リアルメディア（ＲｅａｌＭｅｄｉａ）形式で、音楽ＣＤの音楽ストリームを流すサーバーとＰＤＡの音楽再生アプリケーションとを接続し、音楽ＣＤに格納された曲の音楽ストリーム転送、再生処理を実行するサービスや、音楽の情報をＨＴＭＬの形式で送信するＷｅｂサーバーとＰＤＡのＷｅｂブラウザとを接続し、音楽の情報をＨＴＭＬデータをＰＤＡのディスプレイに表示するサービスなどを実行可能なサービスとして定義したサービスリストをルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）、ここではＰＤＡに送信し、ユーザは、送信されたサービスリストをＰＤＡのディスプレイに表示することができる。
【０１１２】
この場合は、１００枚のＣＤのＩＤを管理しているのは音楽ストリームを流すサーバーと、音楽の情報をＨＴＭＬの形式で送信するＷｅｂサーバーである。音楽ＣＤそのものからデータが提供されているのではない。すなわちサービスを提供する機器とＩＤが付加されたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の実態とは分けて考えることができる。このような枠組は実世界の物質をサービスのシンボルとみなすことができる。
【０１１３】
なお、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤの取得技術については、例えば、Ｊ．Ｒｅｋｉｍｏｔｏ．  Ｔｈｅ  Ｗｏｒｌｄ  ｔｈｒｏｕｇｈ  ｔｈｅ  Ｃｏｍｐｕｔｅｒ：  Ｃｏｍｐｕｔｅｒ  Ａｕｇｍｅｎｔｅｄ  Ｉｎｔｅｒａｃｔｉｏｎ  ｗｉｔｈ  Ｒｅａｌ  Ｗｏｒｌｄ  Ｅｎｖｉｒｏｎｍｅｎｔｓ．  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｏｆｔｗａｒｅ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ，  Ｖｉｒｔｕａｌ  ａｎｄ  Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｉｅｓ  （ＵＩＳＴ’９５）｝，  Ｎｏｖｅｍｂｅｒ  １９９５．に記載された実世界指向インターフェースを適用することが可能である。
【０１１４】
（２．２．ｂ）履歴に基づいたサービス提供
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）がチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）にサービス問い合わせのために送信するＩＤは必ず２個のＩＤである。１個目はルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）自身のＩＤで、２個目が取得した他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤである。ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は新たにＩＤを読み込む度にチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に問い合わせを行なう。
【０１１５】
従って、例えば、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）自身と他の２個のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を適用した実現可能なサービスについて、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に対してサービス照会を行なう場合は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に対して２回のサービス問い合わせが行なわれることになる。
【０１１６】
ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）自身と他のｎ個のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を適用した実現可能なサービスについて、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に対してサービス照会を行なう場合は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に対してｎ回のサービス問い合わせが行なわれる。
【０１１７】
ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）からのサービス問い合わせを受けたチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、問い合わせに含まれる２個のＩＤの組み合わせで提供可能なサービスがないかどうかを調べると同時に、問い合わせメッセージの受理時間と、問い合わせに含まれる２個のＩＤ、すなわち、問い合わせ元のＩＤ（ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤ）と、もう１つのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤをチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）として保持する。
【０１１８】
チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）はルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）がサービス問い合わせを行なった履歴である。チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）の例を図７に示す。図７に示すように、チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）はは、問い合わせメッセージの受理時間、問い合わせに含まれる２個のＩＤ、すなわち、問い合わせ元のＩＤ（ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤ）と、もう１つのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを対応付けたデータとして保持したリストである。
【０１１９】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からのサービス問い合わせがあると必ずチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）を参照し、サービス問い合わせが連続的に行われているか否かを判断する。問い合わせ受理時間を記録するのは、複数のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を問い合わせる際に、それらを長時間の間隔をあけて問い合わせたのか、短時間で問い合わせたのかで処理を分けるためである。
【０１２０】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、所定の閾値時間未満で、同一のルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤと、異なる他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとを組み合わせた問い合わせを受領した場合は、サービス問い合わせが連続的であると判断し、過去の問い合わせのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を含めた構成において提供可能なサービスについての情報を抽出し、応答として送信する。
【０１２１】
すなわち、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤをＩＤ−ｒとし、他の他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤをＩＤ−ａ１、ＩＤ−ａ２、ＩＤ−ａ３・・としたとき、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、［ＩＤ−ｒ，ＩＤ−ａ１］の組み合わせでのサービス問い合わせ、［ＩＤ−ｒ，ＩＤ−ａ２］の組み合わせでのサービス問い合わせ、［ＩＤ−ｒ，ＩＤ−ａ３］の組み合わせでのサービス問い合わせを式一時間内に連続して受領した場合、まず、［ＩＤ−ｒ，ＩＤ−ａ１］の組み合わせでのサービス問い合わせに対しては、［ＩＤ−ｒ，ＩＤ−ａ１］の組み合わせで提供可能なサービス情報を応答として送信するが、［ＩＤ−ｒ，ＩＤ−ａ２］の組み合わせでのサービス問い合わせに対しては、［ＩＤ−ｒ，ＩＤ−ａ２］の組み合わせで提供可能なサービス情報のみならず、［ＩＤ−ｒ，ＩＤ−ａ１］、［ＩＤ−ａ１，ＩＤ−ａ２］の組み合わせで提供可能なサービス情報を応答として送信する。
【０１２２】
［ＩＤ−ｒ，ＩＤ−ａ３］の組み合わせでのサービス問い合わせに対しては、ＩＤ−ｒ，ＩＤ−ａ１，ＩＤ−ａ２，ＩＤａ３の組み合わせにおいて提供可能なサービス情報を応答として送信する。
【０１２３】
一方、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、所定の閾値時間以上の間隔で、同一のルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤと、異なる他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとを組み合わせた問い合わせを受領した場合は、サービス問い合わせが連続的でないと判断し、過去の問い合わせのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を含めず、問い合わせに含まれるＩＤのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の組み合わせ構成において提供可能なサービスについてのみの情報を、問い合わせに対する応答として送信する。
【０１２４】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の処理としては、閾値時間内に同一のルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）から、異なるチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを組み合わせたサービス問い合わせを受領した場合は、チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）に含まれるＩＤに対応する全てのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を適用した実現可能なサービスの組み合わせを検索し、検索結果をリストとして提供する。
【０１２５】
図８は、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）Ａ５５１のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）５５４が、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）５５５に対して、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｂ５５２との組み合わせに基づくサービス問い合わせと、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｃ５５３との組み合わせに基づくサービス問い合わせとを連続的に実行した処理例を示している。
【０１２６】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）５５５は、時間［１２：００：５８］にルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）Ａ５５１のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）５５４から、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｃ５５３との組み合わせに基づくサービス問い合わせを受信すると、閾値時間内に同一のルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）Ａ５５１からのサービス問い合わせがあったか否かをチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）を検索して判定する。
【０１２７】
チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）には、時間［１２：００：５４］の問い合わせ情報が記録されており、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）Ａ５５１と、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｃ５５３との組み合わせによって実現可能なサービスのみならず、チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）に記録された時間［１２：００：５４］の問い合わせ情報に含まれるチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｂ５５２との組み合わせも考慮して実現可能なサービスのリストを生成する。
【０１２８】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）Ａ５５１と、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｂ５５２と、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）Ｃ５５３との組み合わせで実現可能な全てのサービスを含むサービス情報を生成して、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）Ａ５５１のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）５５４に対してサービス問い合わせに対する応答を送信する。チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）において設定する閾値時間は、ネットワークにおける通信パケットの転送状況等を考慮して適宜決定することが好ましい。例えば、５秒から１０秒程度の間に設定する。
【０１２９】
（２．３）チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）はチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）からの問い合わせ応答により提供可能なサービスを知ることができる。この応答に基づいて、実際にサービスを実現するためには何らかの手法によりチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）にその情報を伝え、サービス実行のためのアプリケーションプログラム、例えば動画データの再生および出力、音楽データの送信等、各チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の実行可能なデータ処理を実行するアプリケーションプログラムを実行させなくてはならない。
【０１３０】
しかし、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の持つアプリケーションが直接ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から情報を受信するように設計することは、それぞれの機器に応じたデータ処理に対応するアプリケーション開発の自由度を損なわせてしまう。そこで、本発明のシステムでは、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の実行するアプリケーションの独立性を確保するために、その情報の橋渡しを行なう役目としてチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）を構成している。以下、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）の詳細について説明する。
【０１３１】
（２．３．ａ）チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）
ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）の持つルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）とチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）の通信、および、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）同士の通信にはチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）が利用される。
【０１３２】
チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）は、必ずルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から送信されてチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）を経由して、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）で宛先ルーティング処理が実行され、最終的にルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に戻ってくる。
【０１３３】
図９を参照して、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の転送処理について説明する。この図９の例では、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）５７１のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）５７２が自分以外の２個のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）５８１，５９１を適用したサービスを実行する際のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）５６０の転送処理例を示している。
【０１３４】
サービスの実現に関してユーザからの何らかの情報が必要な場合は、このチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）５６０を利用して各々のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に、情報を伝えることができる。チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）はチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）間でプログラムを実行するために必要な情報の受渡しと、サービスの起動と終了などの制御に利用される。
【０１３５】
（２．３．ｂ）サービスの起動と終了
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が実現するサービスを決定してから、実際にサービスが起動されるまで、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）は２回送信される。１回目はサービスを実現するために必要な情報の取得、すなわち、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が他のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）あるいはユーザに必要情報を問い合わせるトークンとして適用され、２回目は実際にサービスを起動する起動要求メッセージとして利用される。特に問い合わせる必要がないサービスでは情報問い合わせトークンを利用することなく、起動要求用のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）のみが利用される。
【０１３６】
チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、対応するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に設定されたＩＤと、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が実行可能なプログラムの組み合せ表を保持している。さらに各々のプログラムを実行するために必要な情報を管理している。例えばＷｅｂブラウザのプログラムを実行するためには、ＵＲＬなどの情報が必要となり、Ｗｅｂブラウザのプログラムを実行するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応して設定されたチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、実行可能なプログラムとしてＷｅｂブラウザのプログラムを実行するために必要な情報としてＵＲＬ情報を保持することになる。
【０１３７】
１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受け取ったチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は指定されたサービスを実現するプログラムの実行に必要なプログラム情報としての［属性］と［値］とをチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に格納して、返送、あるいは、他のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に転送する。値はチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が初期設定不可能な場合は空白にしておく。さらにそのアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報も格納する。
【０１３８】
なお、ＴＣＰのようなコネクションでは受動的なプログラムから先に起動しなくてはならないという規則があるため、これらの情報は２回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する順序に利用される。
【０１３９】
１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）が戻って来た時、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）はユーザインタフェースを介したユーザとのインタラクションにより、空白の属性がある場合は、その値を決定し入力する。もしくは、２つのチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が指定した情報に差異がある場合等には、調停できる場合は調停する。２回目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する時、受動的にサービスを開始するプログラムを持つチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）を先の宛先にして宛先ルーティングを行なう。
【０１４０】
２回目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受け取ったチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、プログラムの起動に必要な情報を必要に応じて、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）から取得し、サービスに対応するプログラムを起動する。また、起動されたプログラムの制御を行なうために、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）  は実行プログラムのプロセス情報を保持し、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からのチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）をトリガとしてプログラム強制終了するなどの様々な制御を実行可能とする。
【０１４１】
なお、具体的なチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の構成、および、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を用いた処理については後述する。
【０１４２】
［３．サービスチェインの実装］
前章においてサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の鍵となる技術に関して説明した。これらの技術を統合し、動作させる実現方法は様々であるが、本章ではサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）において最低限の機能を実現する実装例を説明する。サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の処理は大きく２つに分けることができる。
【０１４３】
第１の処理は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）へのサービスの問い合わせと応答に関する処理であり、第２の処理は、サービスリストを受け取ったルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が、サービス実行に必要となるチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応して設定されたチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）にサービスの実行を要求する処理である。
【０１４４】
（３．１）サービスプロファイルの登録
新規にチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）をサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の要素として追加する際に、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）とチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に対して、そのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のサービスプロファイルを登録する必要がある。このサービスプロファイルの登録処理について説明する。
【０１４５】
チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に登録すべきサービスプロファイルは次の７項目である。
（１）識別子（ＩＤ）
（２）サービス名
（３）入力または出力
（４）能動的または受動的
（５）プログラムのパスと引数の使い方
（６）引数の属性
（７）値
【０１４６】
チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に登録すべきサービスプロファイルのデータ構成例を図１０に示す。図１０の例は、ＰＤＡ７１１によってビデオ７２１の制御を実行するために、ＰＤＡ７１１にＨＴＭＬによる制御パネル表示を実行するサービス例を示している。また、各チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のサービスプロファイルと、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の有するサービス情報との対応関係を図１１に示す。
【０１４７】
（１）識別子（ＩＤ）は、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に対応するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に設定された識別子（ＩＤ）である。図１０の例では、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＰＤＡ７１１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７１３のサービスプロファイルには、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＰＤＡ７１１に設定された識別子（ＩＤ）＝２２３４４が設定され、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのビデオ７２１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７２２のサービスプロファイルには、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのビデオ７２１に設定された識別子（ＩＤ）＝４５５４３が設定される。
【０１４８】
（２）サービス名は、個々のサービスに対して設定された名称である。図１０の例では、ＨＴＭＬによるビデオの「制御パネル表示」をＰＤＡのディスプレイにおいて実行する制御表示サービスを示すサービス名［ｃｏｎｔｒｏｌ／ｈｔｍｌ］が、ＰＤＡ７１１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７１３のサービスプロファイルと、ビデオ７２１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７２２のサービスプロファイルの双方に格納される。
【０１４９】
（３）入力または出力は、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に対応するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が実行する可能なデータ処理形式は、［入力］であるか［出力］であるかを示す情報である。図１０の例では、ＰＤＡ７１１は、ＨＴＭＬによる「制御パネル表示入力」処理を実行することになるので、ＨＴＭＬデータの入力を行なうＰＤＡ７１１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７１３のサービスプロファイルに入力［ｉｎ］が設定され、一方、ＨＴＭＬデータの出力を行なうビデオ７２１は、ビデオの「制御パネル表示出力」処理を実行することになるので、ビデオ７２１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７２２のサービスプロファイルに出力［ｏｕｔ］が設定される。
【０１５０】
これら（１）識別子（ＩＤ）、（２）サービス名、（３）入力または出力、の各情報は、図１１に示すように、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の有するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）毎のサービス情報にも対応情報が格納される。
【０１５１】
（４）能動的（Ｐｒｏａｃｔｉｖｅ）または受動的（Ｒｅａｃｔｉｖｅ）とは、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）において実行するアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報である。図１０の例では、ビデオの制御パネル表示データを用いた処理アプリケーション、すなわち、ビデオ７２１の制御は、ＰＤＡ７１１が能動的（ｐｒｏａｃｔｉｖｅ）に実行し、制御を受けるのは、ビデオ７２１であり、ビデオが受動的となる。従って、ＰＤＡ７１１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７１３のサービスプロファイルに能動的［ｐｒｏａｃｔｉｖｅ］が設定され、一方、ビデオ７２１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７２２のサービスプロファイルに受動的［Ｒｅａｃｔｉｖｅ］が設定される。
【０１５２】
（５）プログラムのパスと引数の使い方の項目には、サービスの実行のために必要となるプログラムのパスと引数の使い方が設定される。例えば、ポート番号とアドレスを引数として必要なプログラムとして、何らかのファイル取得処理プログラム［ｆｉｌｅｇｅｔ］を登録する場合、［／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ｆｉｌｅｇｅｔ  −ｐ  ＄ｐｏｒｔ  −ｉｐ  ＄ａｄｄｒｅｓｓ］と記述する。この場合、（６）引数の属性は［ｐｏｒｔ］と、［ａｄｄｒｅｓｓ］の２個となる。
【０１５３】
図１０の例では、ＰＤＡ７１１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７１３のサービスプロファイルのプログラムのパスと引数の使い方（ｐｒｏｇａｒｍ）の項目には、ＨＴＭＬによるビデオの「制御パネル表示」をＰＤＡのディスプレイにおいて実行するためのプログラムのパスと引数の使い方として、［／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ｎｅｔｓｃａｐｅ］が設定され、また、（６）引数の属性（ａｔｔｒｉｂｕｔｅ）には、ｕｒｌであるとの情報が格納される。一方、ビデオ７２１は、受動的処理であるので、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７２２のサービスプロファイルのプログラム項目には、には、［ｎｕｌｌ］が設定され、（６）引数の属性（ａｔｔｒｉｂｕｔｅ）にのみｕｒｌであるとの属性情報が格納される。
【０１５４】
（７）値は、サービス対応のプログラムを実行するために設定する属性に対応する値であり、図１０の例では、ＨＴＭＬによるビデオの「制御パネル表示」をＰＤＡのディスプレイにおいて実行するために、ｕｒｌの値がビデオ７２１のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７２２のサービスプロファイルの値（ｖａｌｕｅ）として設定される。
【０１５５】
なお、属性（Ａｔｔｒｉｂｕｔｅ）と、値（Ｖａｌｕｅ）との対応には、例えば以下に示すものがある。
属性：ｕｒｌ、値：ＵＲＬアドレス
属性：ｐｒｏｔｏｃｏｌ、値：プロトコル
属性：ｐｏｒｔ、値：ポート番号
属性：ｉｐａｄｄｒｅｓｓ、値：ＩＰアドレス
属性：ｍａｃａｄｄｒｅｓｓ、値：ＭＡＣアドレス
これらの属性名は、あらかじめ規定しておくことが必要である。
【０１５６】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に登録する情報は、図１１に示すように、次の４項目である。
（１）チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）の識別子（ＩＤ）
（２）入力サービス名のリスト（Ｓｅｒｖｉｃｅ  ｉｎ）
（３）出力サービス名のリスト（Ｓｅｒｖｉｃｅ  ｏｕｔ）
（４）チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレス
上記４項目中、ＩＰアドレス以外の３項目は、前述したようにチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のサービスプロファイルに登録された情報に対応する情報である。
【０１５７】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）にチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が登録情報を通知する形態では、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）はチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスを知ることができるので、上記４項目は、すべてチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）の登録情報から得ることができる。
【０１５８】
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）ではチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）へのサービスプロファイルの登録は手動により行なう必要がある。一方、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）はネットワーク上に複数台あり得る。また新規なチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が新たにサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）に加わったり、登録済みのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に新たなアプリケーションが導入されるなど、サービスプロファイルの変更は随時発生する可能性がある。それらの情報をすべて、手動で更新することは困難である。以下にサービスプロファイルの登録処理を述べる。
【０１５９】
（１）ユーザは新規にサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の要素として加えたいチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のサービスプロファイルをチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のデータベースに登録する。
（２）チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が保持するサービスプロファイルのデータベースが更新されると、更新時刻と保持するサービスプロファイルの情報をマルチキャストでネットワーク送信する。
（３）サービスプロファイルのマルチキャストを受け取ったチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、登録されているチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のサービスプロファイルを更新する。
【０１６０】
さらに、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）では、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）がチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）を発見したり、新規にチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）がネットワークの加わった時にチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）から既存のサービスプロファイル情報を受け取るためのプロトコルを用意し、このプロトコルに従って情報の伝達を実行する。また、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを読み込んだルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤに対応するサービス情報を登録したチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）を知らない場合、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）発見要求をマルチキャストする。このパケットを受信したすべてのチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は応答しなければならない。
【０１６１】
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）に参加しているチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤは、少なくとも１つのチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）にはサービス情報が登録されており、ＩＤに基づく問い合わせを行なったルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、そのチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）から、問い合わせに対応するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のサービス情報を取得することが可能となる。
【０１６２】
また、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）がネットワークに新規に参加する場合、サービスプロファイル要求パケットを送信することができる。このパケットを受信したすべてのチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、自己の保有するプロファイルデータ中、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に登録すべきデータ（図１１参照）を格納したパケットを応答パケットとして送信する。この応答によりチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）はネットワーク内に存在するサービスプロファイル情報を取得することができる。
【０１６３】
図１２は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＰＤＡ７５１に対応するルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）７５２が、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのスピーカ７６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７６２と、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＣＤ７７１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７７２からそれぞれチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを取得して、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）にサービス問い合わせを実行し、ＣＤ７７１のコンテンツ再生処理をスピーカ７６１を用いて実行するサービス実行形態において、各チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に登録されるサービスプロファイル・データ、およびチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）のサービス情報・データ例を示している。
【０１６４】
スピーカ７６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７６２のサービスプロファイルには、識別子（ＩＤ）として、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのスピーカ７６１のＩＤ＝６５４３３が登録され、サービス名は、ｍｐ３オーディオデータのフォーマットを示す［ａｕｄｉｏ／ｍｐ３］が登録され、データ処理形式として、ｍｐ３オーディオデータの入力であるので［ｉｎ］が設定される。
【０１６５】
また、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）において実行するアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報は、スピーカ７６１からの音楽再生要求に基づいて、音楽データが配信、再生される構成を想定しているので、スピーカ７６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７６２のサービスプロファイルには、能動的［ｐｒｏａｃｔｉｖｅ］が設定され、プログラムのパスと引数の使い方（ｐｒｏｇｒａｍ）の項目には、ｍｐ３データの受信、再生を実行するためのプログラムのパスと引数の使い方として、［／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ｍｓｓ］が設定され、また、引数の属性（ａｔｔｒｉｂｕｔｅ）には、ｕｒｌであるとの情報が格納される。
【０１６６】
一方、ＣＤ７７１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）７７２のサービスプロファイルには、識別子（ＩＤ）として、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＣＤ７７１のＩＤ＝６６７７８が登録され、サービス名は、ｍｐ３オーディオデータのフォーマットを示す［ａｕｄｉｏ／ｍｐ３］が登録され、データ処理形式として、ｍｐ３オーディオデータの出力であるので［ｏｕｔ］が設定される。
【０１６７】
また、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）において実行するアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報は、スピーカ７６１からの音楽再生要求に基づいて、音楽データの配信を行なうので、サービスプロファイルには、受動的［ｒｅａｃｔｉｖｅ］が設定され、プログラムのパスと引数の使い方（ｐｒｏｇｒａｍ）の項目には、プログラムが受動的処理として実行されるので［ｎｕｌｌ］が設定され、引数の属性（ａｔｔｒｉｂｕｔｅ）には、ｕｒｌであるとの情報が格納され、値として、ｍｐ３オーディオデータの配信を実行するためのｕｒｌの値が設定される。
【０１６８】
（３．２）サービスの問い合わせと応答
ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを読みとる必要がある。サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）ではＩＤの読みとり方法は規定しない。前述したように、サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）では、あらゆる物体がチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）となっていることを仮定している。チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のサービスを実際に提供するのはチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）であるため、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が通信デバイスを装着している必要はない。ネットワーク経由によるＩＤ取得だけでなく、赤外線、バーコード、ｒｆＩＤなどの手法によりチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを取得することができる。物体同士を接続したり、カメラでキャプチャすることによりチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを検知するような、前述した実世界指向インタフェイスを活用し利便性を高めることも可能である。
【０１６９】
図１３は、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを検知したルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）がチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に送信するサービス問い合わせフレームのフォーマットを示している。これはアプリケーション層で利用されるフレームであり、下位層ではＩＰとＵＤＰの通信プロトコルを利用している。
【０１７０】
トランザクションＩＤ（Ｔ−ｉｄ）は、サービス問い合わせを行なったフレームに対する応答を識別するための数字で乱数が格納される。ルートチェインオブジェクトＩＤ（ＲＣ−ｉｄ）と、チェインオブジェクトＩＤ（Ｃ−ｉｄ）は、サービス問い合わせにおいて格納する２つのオブジェクトＩＤであり、各々ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤとチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤである。
【０１７１】
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、２つのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを格納した図１３に示すサービス問い合わせフレームをチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に送信してサービス問い合わせを行なう。なお、前述したように、所定の閾値時間内に連続して異なるチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを格納したフレームを送信することで、２つ以上の様々な組み合わせのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）相互において実行されるサービス情報を取得することができる。
【０１７２】
図１４は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から、図１３に示すサービス問い合わせフレームを受領したチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）が、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に対して送信するサービス問い合わせ応答フレームのフォーマットを示している。
【０１７３】
トランザクションＩＤ（Ｔ−ｉｄ）にはサービス問い合わせのフレームのトランザクションＩＤ（Ｔ−ｉｄ）をそのまま格納する。実行可能サービス数（Ｓｎｕｍ）は、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）でサービス実現可能だと判断されたサービスの数を示す情報である。
【０１７４】
その後に、具体的にサービスの情報が格納される。領域８０１は、１個のサービスに関する情報であり、複数のサービスが可能であれば、領域８０１の情報が複数組、すなわち、実行可能サービス数（Ｓｎｕｍ）に対応する組数、付加される。例えば、Ｓｎｕｍ＝３の場合、Ｓｎｕｍの後には、３組のサービス領域が格納されることになる。
【０１７５】
サービス名（Ｓｎａｍｅ）はサービスの名称である。サービスはｔｅｘｔ／ｈｔｍｌ、あるいはｃｏｎｔｒｏｌ／ｈｔｍｌ、ａｐｐｌｉｃａｔｉｏｎ／ＥＤＩ−Ｃｏｎｓｔａｎｔ、ａｕｄｉｏ／ｍｐ４ａ−ｌａｔｍ、ｉｍａｇｅ／ｊｐｅｇなどのように［タイプ／サブタイプ］で示す。そのためＭＩＭＥ表記をそのまま利用することも可能である。また、サービス名からユーザが実行するサービスを選択するためには、この表記から必要に応じてユーザが理解できる文字列に変換し、ユーザに提示する。この変換処理は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が必要に応じて実行する。本発明の構成において適用可能なＭＩＭＥファイル形式の例を図１５に示す。
【０１７６】
［（Ｉｎ−ｉｄ  ＆  Ｉｎ−ｉｐ）サービス入力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］は、サービスの入力を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスが格納される。
【０１７７】
［（Ｏｕｔ−ｉｄ  ＆  Ｏｕｔ−ｉｐ）サービス出力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］は、サービスの出力を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスが格納される。
【０１７８】
（３．３）サービスの属性要求とサービス間の結合
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）から図１４に示すサービス問い合わせ応答フレームを受け取ったルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、複数のサービスが存在した場合、そのリストから実現したいサービスを１つ選択する必要がある。
【０１７９】
これは、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）とユーザのインタラクションにより決定する。利用したいサービスが決定した時、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は図１６のフォーマットのチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を作成する。
【０１８０】
［Ｔ−ｉｄ：トランザクションＩＤ］は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）フレームの識別子であるトランザクションＩＤである。
［Ｆｌａｇ：アプリケーションプログラム制御用フラグ］は、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に対してアプリケーションの開始、終了などの制御メッセージの種別を示すフラグである。
【０１８１】
［Ｈｎｕｍ：ホップ数］は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）フレームのホップ数を格納する。このホップ数をもとにチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）が何回受け渡しされたいるのかを知ることができ、次にどこに送れば良いのかを決定する。
【０１８２】
［Ｓｎａｍｅ：サービスネーム］には選択したサービス名が格納される。
［Ｉｎ−ｉｄ＆Ｉｎ−ｉｐ：サービス入力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］は、サービスの入力を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスが格納される。
［Ｏｕｔ−ｉｄ＆Ｏｕｔ−ｉｐ：サービス出力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］は、サービスの出力を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスが格納される。
これらの［Ｉｎ−ｉｄ  ＆  Ｉｎ−ｉｐ］、［Ｏｕｔ−ｉｄ  ＆  Ｏｕｔ−ｉｐ］は、図１４に示したチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）から受領したサービス問い合わせ応答フレームの格納情報を用いる。
【０１８３】
［ＲＣ−ｉｐ：ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）ＩＰアドレス］には、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）自らのＩＰアドレスを格納する。
【０１８４】
［Ｒｅａｃｔｉｖｅ−ｉｐ：受動アプリケーションプログラムを有するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレス］には、受動的に開始するアプリケーションを持つチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスが格納される。この領域の値は、１度目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を回す際に途中のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）によって格納される。そのためルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が最初に送信するチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）では空白となっている。
【０１８５】
［Ａｎｕｍ：属性数］と、［Ａｔｔｒｉｂｕｔｅ＆Ｖａｌｕｅ：属性および値］は、サービスの実行プログラムに対応する属性数と、属性および値を格納する領域である。これらの領域も、初期状態では空白で送信され、途中のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）によって格納される。
【０１８６】
前述したようにチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）は最初にサービス入力のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に送信される。チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）にはチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が管理するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤのサービスに対応したプログラムと、そのプログラムを実行するのに必要な属性［Ａｔｔｒｉｂｕｔｅ］と値［Ｖａｌｕｅ］を保持している。サービス入力のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）はその属性［Ａｔｔｒｉｂｕｔｅ］と値［Ｖａｌｕｅ］を、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に格納する。なお、値［Ｖａｌｕｅ］のデフォルト値が存在しない場合は、は空白にして送る。
【０１８７】
なお、［Ａｎｕｍ：属整数］は、属性［Ａｔｔｒｉｂｕｔｅ］の数を示していて、［Ａｎｕｍ：属整数］の数だけ属性［Ａｔｔｒｉｂｕｔｅ］と値［Ｖａｌｕｅ］の組が存在することになる。チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）がルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に戻ってきた際に値［Ｖａｌｕｅ］が未決定の属性［Ａｔｔｒｉｂｕｔｅ］が存在した場合のみユーザとのインタラクションにより必要な値［Ｖａｌｕｅ］を入力する処理を実行する。
【０１８８】
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が２度目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する際は、［Ｒｅａｃｔｉｖｅ−ｉｐ］に示してある受動的なプログラムを実行するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に先に、２度目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する。
【０１８９】
２度目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受け取ったチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、プログラム実行に必要な属性［Ａｔｔｒｉｂｕｔｅ］と値［Ｖａｌｕｅ］をチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）から読み込み、サービスのプログラムを起動する。
【０１９０】
具体的なサービス実行に対応するチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の構成、およびチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を用いた処理について図１７を参照して説明する。図１７に示す例は、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）としてのＰＤＡ８５１によってチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのビデオ８６１の制御を実行するために、ＰＤＡ８５１にＨＴＭＬによる制御パネル表示を実行するサービス例を示している。
【０１９１】
前述したように、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が実現するサービスを決定してから、実際にサービスが起動されるまで、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）は、原則として２回送信される。１回目はサービスを実現するために必要な情報をルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が取得するための情報取得処理用トークンであり、２回目は実際にサービスを起動する起動要求メッセージとして利用される。図１７には、ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）としてのＰＤＡ８５１に対応するルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）８５３の送信する１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）がＰＤＡ８５１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８５２と、ビデオ８６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８６２を経由して、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）８５３に戻るまでのチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）のデータ構成を示している。
【０１９２】
図１７（ａ）は、ＰＤＡ８５１に対応するルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）８５３から、ＰＤＡ８５１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８５２に送信されるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）のデータ構成を示している。
【０１９３】
［Ｔ−ｉｄ：トランザクションＩＤ］は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）フレームの識別子であるトランザクションＩＤとしての乱数が格納される。［Ｆｌａｇ：アプリケーションプログラム制御用フラグ］は、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に対してアプリケーションの開始、終了などの制御メッセージの種別を示すフラグであり、この場合は、１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）であり、情報取得処理用のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）であることを示す識別フラグ［１（ｅｘｅｃ）］が設定される。
【０１９４】
［Ｈｎｕｍ：ホップ数］は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）フレームのホップ数を格納し、この時点では、ホップ数＝０が設定される。［Ｓｎａｍｅ：サービスネーム］には選択したサービス名、ここでは、ＰＤＡ８５１にＨＴＭＬによる制御パネル表示を実行するサービスを示すサービス名［ｃｏｎｔｒｏｌ／ｈｔｍｌ］が格納される。
【０１９５】
［Ｉｎ−ｉｄ＆Ｉｎ−ｉｐ：サービス入力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］は、サービスの入力を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスであり、制御パネル表示の入力処理を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのＰＤＡ８５１のＩＤ＝２２３４４と、ＰＤＡ８５１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８５２のＩＰアドレス＝１３３．１３８．１．２２が格納される。
【０１９６】
［Ｏｕｔ−ｉｄ＆Ｏｕｔ−ｉｐ：サービス出力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］は、サービスの出力を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤとチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスであり、制御パネル表示の出力処理を行なうチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのビデオ８６１のＩＤ＝４５５４３と、ビデオ８６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８６２のＩＰアドレス＝１３３．１３８．１．１０が格納される。
【０１９７】
これらの［Ｉｎ−ｉｄ  ＆  Ｉｎ−ｉｐ］、［Ｏｕｔ−ｉｄ  ＆  Ｏｕｔ−ｉｐ］は、前述したように、図１４に示したチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）から受領したサービス問い合わせ応答フレームの格納情報を用いる。
【０１９８】
［ＲＣ−ｉｐ：ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）ＩＰアドレス］には、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）８５３自らのＩＰアドレス＝１３３．１３８．１．２２を格納する。
【０１９９】
［Ｒｅａｃｔｉｖｅ−ｉｐ：受動アプリケーションプログラムを有するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレス］には、受動的に開始するアプリケーションを持つチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスが格納される。この領域の値は、前述したように１度目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を回す際に途中のチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）によって格納される。そのためルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が最初に送信するチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）では空白［ｎｕｌｌ］となっている。［Ａｎｕｍ：属性数］も同様に、この時点では空白である。
【０２００】
図１７（ｂ）は、ＰＤＡ８５１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８５２からビデオ８６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８６２に送信されるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）のデータ構成を示している。
【０２０１】
図１７（ｂ）は、ＰＤＡ８５１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８５２がチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に対してデータ格納および更新処理を実行した結果を示している。
【０２０２】
まず、［Ｈｎｕｍ：ホップ数］を更新し、ホップ数＝１を設定する。さらに、［Ｒｅａｃｔｉｖｅ−ｉｐ：受動アプリケーションプログラムを有するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレス］に、受動的に開始するアプリケーションを持つチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレスとして、受動アプリケーションプログラムを有するチェインマネージャである自己のＩＰアドレス＝１３３．１３８．１．２２を格納する。
【０２０３】
さらに、［Ａｎｕｍ：属性数］として、サービスプログラム（ＨＴＭＬによる制御パネル表示）の実行に必要となる属整数（Ａｎｕｍ）＝１を設定し、属性（Ａｔｔｒｉｂｕｔｅ）＝ｕｒｌ、値（ｖａｌｕｅ）＝ＮＵＬＬを書き込む。これ、属性数（Ａｎｕｍ）、属性（Ａｔｔｒｉｂｕｔｅ）、値（ｖａｌｕｅ）は、いずれも、ＰＤＡ８５１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８５２の保有するプロファイル情報（図１０参照）に対応する情報であり、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたサービス名＝［ｃｏｎｔｒｏｌ／ｈｔｍｌ］に基づいて、プロファイル情報から同一のサービス名＝［ｃｏｎｔｒｏｌ／ｈｔｍｌ］に対応する属性数（Ａｎｕｍ）、属性（Ａｔｔｒｉｂｕｔｅ）、値（ｖａｌｕｅ）を取得して、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に格納する。
【０２０４】
図１７（ｃ）は、ビデオ８６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８６２から、ＰＤＡ８５１に対応するルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）８５３に送信されるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）のデータ構成を示している。
【０２０５】
図１７（ｃ）は、ビデオ８６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８６２がチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に対してデータ格納および更新処理を実行した結果を示している。
【０２０６】
まず、［Ｈｎｕｍ：ホップ数］を更新し、ホップ数＝２を設定する。さらに、［Ａｎｕｍ：属性数］として、サービスプログラム（ＨＴＭＬによる制御パネル表示）の実行に必要となる属整数（Ａｎｕｍ）を１から２に更新し、属性（Ａｔｔｒｉｂｕｔｅ）＝ｕｒｌ、値（ｖａｌｕｅ）＝ｈｔｔｐ：／／１３３．１３８．１．１０／ｖｉｄｅｏ．ｈｔｍｌを格納する。このｕｒｌは、ＨＴＭＬによる制御パネル表示データを取得するために必要となるｕｒｌを示している。
【０２０７】
このように、１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）をサービスに参加するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）間で巡回させて、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に戻すことで、サービスを実現するために必要な情報が取得される。
【０２０８】
１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）が戻って来た時、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、空白の属性がある場合は、ユーザインタフェースを介したユーザとのインタラクションにより値を決定し入力する。２回目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する時、受動的にサービスを開始するプログラムを持つチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）を先の宛先にして宛先ルーティングを行なう。図１７の例では、ビデオ８６１に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）８６２を先の宛先にして宛先ルーティングを行なう。
【０２０９】
２回目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受け取ったチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、プログラムの起動に必要な情報はすべて揃っているため、即座に該当するプログラムを起動する。また永続的に実行されるプログラムの制御を行なうために、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）  は実行プログラムのプロセス情報を保持しチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を用いてプログラム強制終了することもできる。
【０２１０】
［４．サービスチェイン適用処理フロー］
次に、図１８〜図２１のフローチャートを参照して、上述したサービスチェインを適用した処理について、処理プロセス毎に処理手順を説明する。
【０２１１】
（４．１）ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）によるサービス決定処理まず、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）の実行するサービス決定処理について、図１８の処理フローに従って説明する。
【０２１２】
まず、ステップＳ１２１において、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、サービスチェインを構成しサービスを実行するために必要となるチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを取得する。ＩＤ取得は、前述したようにネットワーク経由によるＩＤ取得だけでなく、赤外線、バーコード、ｒｆＩＤなどの手法により実行してもよい。
【０２１３】
ステップＳ１２２では、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）のＩＤと、取得した他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤを格納したサービス問い合わせパケット（図１３参照）を生成し、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に送信する。
【０２１４】
ステップＳ１２３で、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）からサービス問い合わせ応答フレーム（図１４参照）としてのサービスリストの受信の有無を判定し、未受信場合はタイムアウトまで（ステップＳ１２４）待機する。タイムアウトとなった場合は、取得したチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤと実現可能なサービスが存在しなかったことと判断してステップＳ１２１に戻る。
【０２１５】
チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）からリストを受信すると、ステップＳ１２５において、実行可能サービスについてのユーザからの指定の有無を判定し、ない場合は、ステップＳ１２１に戻る。ユーザの指定があると、ステップＳ１２６において、ユーザ指定に基づいて実行サービスを決定する。
【０２１６】
実行サービスが決定されると、実行サービスに従って、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）が生成されて、サービスに参加するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に送信される。
【０２１７】
（４．２）チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）によるサービス問い合わせ応答処理
次に、図１９を参照して、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から、サービス問い合わせパケット（図１３参照）を受信したチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の実行するサービス問い合わせ応答処理について説明する。
【０２１８】
なお、前述したように、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）がチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）にサービス問い合わせのために送信するＩＤは必ず２個のＩＤである。１個目はルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）自身のＩＤで、２個目が取得した他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤである。
【０２１９】
ステップＳ１５１において、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）は、サービス問い合わせパケットを受信したか否かを判定し、受信まで待機する。パケットを受信すると、ステップＳ１５２において、サービス問い合わせパケットに格納されたルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤ１）と、他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤ２）と、パケット受信時刻を、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）からのサービス問い合わせ履歴情報としてのチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）（図７参照）に格納する。
【０２２０】
次に、ステップＳ１５３において、履歴データベースとしてのチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）から、同一のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）のＩＤ（ＩＤ１）と組み合わされたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤｎ）が存在するか否かを検索する。なお、履歴データベースとしてのチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）は、予め定められた閾値時間内においてのみデータを格納し、予め定められた閾値時間を超えるとデータが消去される。従って、チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）に同一のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）のＩＤ（ＩＤ１）と組み合わされたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤｎ）が存在する場合には、同一のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から連続的にサービス問い合わせパケットを受信したと判定する。
【０２２１】
ステップＳ１５４において、チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）に同一のルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）のＩＤ（ＩＤ１）と組み合わされたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤｎ）が存在すると判定されると、ステップＳ１５５において、ＩＤ１、ＩＤ２、ＩＤ（ｎ）の全ての組合わせで実現可能なサービスを検索する。
【０２２２】
サービス検索は、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の有するサービス情報データベース、すなわちチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤに対応するサービス情報（図１１、図１２参照）を参照し、サービス入力（Ｓｅｒｖｉｃｅｉｎ）とサービス出力（Ｓｅｒｖｉｃｅ  ｏｕｔ）とのマッチングを検索することによって行われる。具体的には、例えば入力ファイルフォーマットがＭＰＥＧ２のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）と、出力ファイル形式がＭＰＥＧ２のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）はマッチングが成立し、ＭＰＥＧ２の画像データの入出力サービスが実現される等である。
【０２２３】
ステップＳ１５５では、ＩＤ１、ＩＤ２、ＩＤ（ｎ）の全ての組合わせで実現可能なサービスを検索する。一方、ステップＳ１５４の判定において、チェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）に同一のルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤ１）と組み合わされたチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）のＩＤ（ＩＤｎ）が存在しないと判定されると、ステップＳ１５６において、ＩＤ１、ＩＤ２のみの組合わせで実現可能なサービスを検索する。
【０２２４】
ステップＳ１５７では、検索されたサービスに関する情報としてのリストを作成する。リストは、図１４に示したサービス問い合わせ応答フレームの領域８０１に対応する情報を含む。すなわち、サービス名（Ｓｎａｍｅ）、［（Ｉｎ−ｉｄ  ＆  Ｉｎ−ｉｐ）サービス入力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］、および、［（Ｏｕｔ−ｉｄ  ＆  Ｏｕｔ−ｉｐ）サービス出力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］の各情報である。これらの情報は、いずれもチェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の有するサービス情報データベースから取得される。なお、複数のサービスが実現可能である場合は、複数のサービス各々について、図１４に示したサービス問い合わせ応答フレームの領域８０１に対応する情報を生成する。
【０２２５】
次に、ステップＳ１５８において、生成したサービスリストをサービス問い合わせ応答フレーム（図１４参照）に格納し、さらに、トランザクションＩＤ、サービス数（Ｓｎｕｍ）を格納してサービス問い合わせ応答フレームを生成する。
【０２２６】
次に、ステップＳ１５９において、生成したサービス問い合わせ応答フレームをルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）に対して送信する。
【０２２７】
（４．３）ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）におけるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の処理
次に、図２０のフローを参照して、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）におけるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の処理について説明する。
【０２２８】
ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）から受領したサービス問い合わせ応答フレームに基づいて、例えばユーザのインタラクションにより利用サービスを決定する。利用サービスが決定すると、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、ステップＳ２２１において、図１６のフォーマットのチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を作成する。
【０２２９】
ステップＳ２２２において、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）は、生成したチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を、サービス実現に必要なチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に巡回させて、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の戻りを待機する。所定のタイムアウト時間まで、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の戻りがなかった場合（Ｓ２２４：Ｙｅｓ）は、エラー終了となる。
【０２３０】
チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を所定時間内に受信すると、ステップＳ２２５において、受領トークンを検証し、空白［Ｎｕｌｌ］の設定された属性値［Ｖａｌｕｅ］があるか否かを判定し、ある場合は、ステップＳ２２６において、ユーザとのインタラクションまたは調停により空白の値［Ｖａｌｕｅ］を設定し、必要情報を格納する。
【０２３１】
ステップＳ２２７では、必要情報がすべて格納されたトークンを２回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）、すなわちサービス実行のためのプログラム起動を要求するチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）としてサービス実現に必要なチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に巡回させる。なお、２回目にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する時、受動的にサービスを開始するプログラムを持つチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）を先の宛先にして宛先ルーティングを行なう。
【０２３２】
次に、ステップＳ２２８で、２回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の戻りを待機する。所定のタイムアウト時間まで、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の戻りがなかった場合（Ｓ２２９：Ｙｅｓ）は、エラー終了となる。チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を所定時間内に受信（Ｓ２２８：Ｙｅｓ）すると、処理を終了する。
【０２３３】
この処理によって、２回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受領したチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）はサービス対応のプログラムを起動し、サービスが実行される。
【０２３４】
（４．４）チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）におけるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の処理
次に、図２１のフローを参照して、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）におけるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の処理について説明する。
【０２３５】
チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）から１回目、あるいは２回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受領して、それぞれのチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に基づく処理を実行する。
【０２３６】
ステップＳ２５１において、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を受領すると、ステップＳ２５２において、受信したチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）内から、自アドレスを検索する。
【０２３７】
図１６または図１７を参照して説明したように、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）には、［Ｉｎ−ｉｄ＆Ｉｎ−ｉｐ：サービス入力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］、および［Ｏｕｔ−ｉｄ＆Ｏｕｔ−ｉｐ：サービス出力用のチェインオブジェクトＩＤおよびチェインマネージャＩＰアドレス］が格納されており、これらのフィールドの情報に基づいて、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）は自身が入力処理を実行するか出力処理を実行するかを判定する。
【０２３８】
次に、ステップＳ２５３において、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたＩＤ、サービス名、ＩＮ／ＯＵＴ情報に基づいて、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）が保有するプロファイル（図１０、図１１参照）から、対応する情報を検索する。
【０２３９】
次に、ステップＳ２５４において、受信したチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）が情報収集用の１回目のトークンであるかを判定する。これは、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたホップ数（Ｈｎｕｍ）に基づいて判定する。
【０２４０】
１回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）であると判定した場合は、ステップＳ２５５において、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたサービスに対応する自己のプロファイルが受動的［Ｒｅａｃｔｉｖｅ］である場合、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の［Ｒｅａｃｔｉｖｅ−ｉｐ：受動アプリケーションプログラムを有するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）のＩＰアドレス］に、自己のＩＰアドレスを格納する。
【０２４１】
さらに、ステップＳ２５６において、プログラム起動に必要な、属性（Ａｔｔｒｉｂｕｔｅ）、値（ｖａｌｕｅ）を書き込み、ステップＳ２５７において、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の次送付先、すなわち、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、またはルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）のいずれかを決定する。この決定処理は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたホップ数（Ｈｎｕｍ）に基づいて実行する。ステップＳ２５８において、決定した送付先にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する。
【０２４２】
一方、ステップＳ２５４において、２回目のチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）であると判定した場合は、ステップＳ２６１において、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたプログラム起動に必要となる属性（Ａｔｔｒｉｂｕｔｅ）、値（ｖａｌｕｅ）を取得し、ステップＳ２６２において、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の設定フラグに基づいて、プログラムの起動要求であるか、終了要求であるかを判定し、要求に従った処理を実行する。
【０２４３】
次に、ステップＳ２５７において、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の次送付先、すなわち、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、またはルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）のいずれかを決定する。この決定処理は、チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）に設定されたホップ数（Ｈｎｕｍ）に基づいて実行する。ステップＳ２５８において、決定した送付先にチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を送信する。
【０２４４】
［５．サービスチェインの利用例］
上述したサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を利用する最大の利点は、その拡張性と利便性の高さである。今後、新たに製造される情報処理装置、あるいは情報処理装置以外の物体もチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）の基盤上で動作させることが可能である。さらに特定のサービスに特化して設計されていないため、データフォーマットの種類さえ合えば既存のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）間で容易に接続し、相互のオブジェクトを適用したサービスを実行することができる。具体的には、次のようなサービスの形態が考えられる。
【０２４５】
（ａ）付加情報配信サービス
Ｗｅｂのアノテーションのように、実世界において何かの物の付加情報を得るという仕組みを提供することが容易である。例えばポスターのＩＤを読み込むと、そのポスターの詳細な情報を得ることができたり。社員番号で情報を登録することもできる。バーコードの情報を読み込みＷｅｂを表示するようなサービスも、上述したチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）を接続したサービスチェイン（Ｓｅｒｖｉｃｅ  Ｃｈａｉｎ）で実現することができる。
【０２４６】
（ｂ）機器間接続支援サービス
現在、ビデオ、テレビ、ＤＶＤ、オーディオ機器など複数の機器が一般家庭にごく当たり前のように設置されている。さらにインターネットの世界になると、ビデオフォーマット一つ取っても多種であり、どの機器がどのフォーマットをサポートしているかを把握しておくことは容易ではない。サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）では機器のＩＤを読み込むという気軽な動作で、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としての機器がどのようなサービスが実現可能であるかそして実現が不可能であるかを知ることができる。従って、ユーザが各機器の詳細情報を知ることなく、処理可能なデータのみを提供し、処理させることが可能となる。
【０２４７】
（ｃ）実世界指向インタフェイス
サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）では、実際にサービスを提供するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）と、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としては分けて考えることができる。例えば、ＨＴＭＬのテキスト情報表示［ｔｅｘｔ／ｈｔｍｌ］を実行する際、チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としての壁に情報を表示したい場合はチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としての壁に付加しているＩＤを読みとる。実際に壁に対するデータ表示処理を実行するのは他のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてのプロジェクタとし、これらの壁と、プロジェクタとをサービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）で接続し、それぞれのチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）に対応するチェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）において、ＨＴＭＬのテキスト情報表示［ｔｅｘｔ／ｈｔｍｌ］処理のサービスを実行するためのプログラムを起動することが可能である。
【０２４８】
プロジェクタは、ＨＴＭＬデータをパソコン経由で映し出す処理を実行しているかもしれない。しかし利用者は、壁にどのように映し出されたかは気にする必要がないのである。これはまさにコンピュータは見えない存在となり、ユビキタスの世界におけるデータ処理を実現するものとなる。
【０２４９】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０２５０】
なお、明細書中において説明した各処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、フレキシブルディスクやＣＤ−ＲＯＭ等のプログラム読み取り可能な記録媒体にプログラムを格納して提供してもよいし、インターネットなどの通信網を介してプログラムをダウンロードしてもよい。
【０２５１】
具体的には、プログラムは記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０２５２】
また、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２５３】
また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【０２５４】
【発明の効果】
以上、説明したように、本発明の構成においては、固有の識別子（ＩＤ）を付与された複数のチェインオブジェクトと、複数のチェインオブジェクトの各々に対応して設定され、チェインオブジェクトを適用した処理の制御を実行するチェインマネージャと、チェインオブジェクト各々の実行可能なサービス情報を格納したチェインディレクトリと、チェインオブジェクトのＩＤ取得処理を実行するとともに、取得ＩＤを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについて、チェインディレクトリに問い合わせ、該問い合わせに対する応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なうルートチェインマネージャとによって、様々なサービス提供、受領構成を実現したので、クライアントの身の回りにあるディスプレイ、プリンタ、ＰＣ、ＰＤＡ、スピーカ、情報家電は勿論のこと、これら情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体をチェインオブジェクトとして設定するとともに、これらのチェインオブジェクトに対応するチェインマネージャを設定することで、あらゆる物を制御対象とし、それらの物同士の情報伝達を可能として、様々な処理を実現することが可能となり、フレキシブルなサービスの提供および受領構成が実現される。
【０２５５】
さらに、本発明の構成によれば、ルートチェインマネージャは、サービスの実行に必要なプログラム情報を取得するための第１のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第２のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であるので、各チェインマネージャが、プログラムの実行に必要な情報を予め保有していない場合においても、必要情報を取得した上で、プログラムを実行することが可能となる。
【０２５６】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャからのサービス問い合わせに応答して、サービス問い合わせパケットに格納されたチェインオブジェクトのＩＤに対応するサービス情報中から、同一データフォーマットのデータ入力とデータ出力との組合わせを検索するマッチング処理を実行し、マッチングの成立したデータ入出力に対応するサービスを実行可能なデータ処理サービスとして、前記サービス問い合わせに対する応答を生成する構成であるので、同一のデータフォーマットの入出力処理が確実に実行できる機器同士を結びつけることが可能となり、データ処理エラー等を発生させることのないサービス提供、受領処理が実現される。
【０２５７】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたＩＤ情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのＩＤを格納した新たなサービス問い合わせパケットを受信したことを条件として、チェインリストに記録されたＩＤも含めた３以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成としたので、２つの機器のみならず、３以上の任意数の機器間で実行可能なサービスの検索が可能となる。
【図面の簡単な説明】
【図１】チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）、チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）について説明する図である。
【図２】チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）、ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）、およびルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）のハードウェア構成例を示す図である。
【図３】サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を介したサービスを実現するための各構成要素の関係と基本動作を説明する図である。
【図４】サービスチェイン（Ｓｅｒｖｉｃｅ−Ｃｈａｉｎ）を利用したサービスの１つの具体例について説明する図である。
【図５】新たなチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）としてプロジェクタを追加した場合の、ビデオとプロジェクタによるサービス実行に至るまでの処理について説明する図である。
【図６】複数のチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）が実行可能な［入力］または［出力］のファイル形式および、マッチング関係の概念図を示す図である。
【図７】ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）がサービス問い合わせを行なった履歴であるチェインリスト（Ｃｈａｉｎ−Ｌｉｓｔ）の例を示す図である。
【図８】ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）が、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）に対して、サービス問い合わせを連続的に実行した処理例を示す図である。
【図９】チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の転送処理について説明する図である。
【図１０】チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に登録すべきサービスプロファイルのデータ構成例を示す図である。
【図１１】チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の有するチェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）毎のサービス情報を説明する図である。
【図１２】チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）に登録すべきサービスプロファイルのデータ、チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）の有するサービス情報の具体例を説明する図である。
【図１３】サービス問い合わせフレームのフォーマットを示す図である。
【図１４】サービス問い合わせ応答フレームのフォーマットを示す図である。
【図１５】本発明の構成において適用可能なＭＩＭＥファイル形式の例を示す図である。
【図１６】チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）のフォーマットを示す図である。
【図１７】具体的なサービス実行に対応するチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の構成、およびチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）を用いた処理について説明する図である。
【図１８】ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）によるサービス決定処理を説明するフロー図である。
【図１９】チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）によるサービス問い合わせ応答処理を説明するフロー図である。
【図２０】ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）におけるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の処理を説明するフロー図である。
【図２１】チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）におけるチェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）の処理を説明するフロー図である。
【符号の説明】
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＨＤＤ
１５  入力部
１６  出力部
１７  通信部
１８  ドライブ
１９  リムーバブル記憶媒体
２１  バス
２２  入出力インタフェース
１１１  ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）
１１２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
１１３  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
１２１  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
１２２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
１５０  チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）
１８０  ユーザ
２１１  ＰＤＡ
２１２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
２１３  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
２２１  ビデオ
２２２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
２３０  チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）
３１１  チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）
３１２  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
３２１  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
３２２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
３３１  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
３３２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
３５０  チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）
５０１〜５０５  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
５５１  ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）
５５２  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
５５３  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
５５４  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
５５５  チェインディレクトリ（Ｃ−Ｄｉｒｅｃｔｏｒｙ）
５６０  チェイントークン（Ｃｈａｉｎ−Ｔｏｋｅｎ）
５７１  ルートチェインオブジェクト（ＲＣ−Ｏｂｊｅｃｔ）
５７２  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
５８１  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
５８２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
５９１  チェインオブジェクト（Ｃ−Ｏｂｊｅｃｔ）
５９２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
７１１  ＰＤＡ
７１２  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
７１３  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
７２１  ビデオ
７２２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
７５１  ＰＤＡ
７５２  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
７６１  スピーカ
７６２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
７７１  ＣＤ
７７２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
８５１  ＰＤＡ
８５２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
８５３  ルートチェインマネージャ（ＲＣ−Ｍａｎａｇｅｒ）
８６１  ビデオ
８６２  チェインマネージャ（Ｃ−Ｍａｎａｇｅｒ）
【図１】
2004157713.tif 000003
【図２】
2004157713.tif 000004
【図３】
2004157713.tif 000005
【図４】
2004157713.tif 000006
【図５】
2004157713.tif 000007
【図６】
2004157713.tif 000008
【図７】
2004157713.tif 000009
【図８】
2004157713.tif 000010
【図９】
2004157713.tif 000011
【図１０】
2004157713.tif 000012
【図１１】
2004157713.tif 000013
【図１２】
2004157713.tif 000014
【図１３】
2004157713.tif 000015
【図１４】
2004157713.tif 000016
【図１５】
2004157713.tif 000017
【図１６】
2004157713.tif 000018
【図１７】
2004157713.tif 000019
【図１８】
2004157713.tif 000020
【図１９】
2004157713.tif 000021
【図２０】
2004157713.tif 000022
【図２１】
2004157713.tif 000023