JP3915663B2 - データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム - Google Patents

データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP3915663B2
JP3915663B2 JP2002322098A JP2002322098A JP3915663B2 JP 3915663 B2 JP3915663 B2 JP 3915663B2 JP 2002322098 A JP2002322098 A JP 2002322098A JP 2002322098 A JP2002322098 A JP 2002322098A JP 3915663 B2 JP3915663 B2 JP 3915663B2
Authority
JP
Japan
Prior art keywords
chain
service
manager
information
token
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002322098A
Other languages
English (en)
Other versions
JP2004157713A (ja
Inventor
陽介 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002322098A priority Critical patent/JP3915663B2/ja
Priority to US10/674,458 priority patent/US20040133678A1/en
Publication of JP2004157713A publication Critical patent/JP2004157713A/ja
Application granted granted Critical
Publication of JP3915663B2 publication Critical patent/JP3915663B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Description

【0001】
【発明の属する技術分野】
本発明は、データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、情報処理装置、あるいは情報処理装置以外のあらゆる物をサービスチェインの構成要素として接続し、接続したチェインオブジェクトを適用した様々なデータ処理を容易に実行可能とするとともに、フレキシブルなサービス提供および受領構成を実現するデータ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
インターネットの普及により我々は、情報共有、資源共有などのネットワーク化の恩恵を受けている。ネットワーク化の波はコンピュータの世界だけに留まらず、家庭内の家電機器相互間での通信処理、携帯電話のインターネット接続による通信、さらには、冷蔵庫、電子レンジ等に通信手段を設け、インターネットを介した通信を可能とした構成が提案され、実用化されつつある。
【0003】
特に、近年においては、いつでも、どこでも、誰とでもそしてどんな物でも、ネットワークを通じてコミュニケーションを可能とする環境、いわゆるユビキタス環境の実現に向けた研究が盛んに行なわれている。ユビキタス環境は、あらゆるものがコンピュータを搭載しネットワークを介してサービスを実現する環境である。このようにコンピュータが到る所に存在する環境では優れたユーザインタフェイスを利用して利便性を高めることが重要となる。実際にユビキタスの分野では、仮想現実や、実世界指向インタフェイスなど、サービス基盤よりユーザ側からの技術が先行しているのが現実である。
【0004】
一方、既存のサービス基盤はインターネットを基本としパーソナルコンピュータや情報家電を想定して設計されており、これらのサービス基盤は、日々進歩するユーザ側のユビキタス環境を充分に活かすものとなっていない。この理由の一つは、ユビキタス環境では目の前に広がる無数の物を容易に制御できることが重要であるのに対し、これまでのインターネットを利用したサービスは、広域な環境で唯一のサービスを提供することに重点が置かれていたことにある。
【0005】
しかし、昨今では、ユビキタス環境下におけるサービス提供に関する統合的な研究も頻繁に行なわれるようになってきている。その代表的な例はIETF(Internet Engineering Task Force)が提案するサービス・ロケーション・プロトコル(SLP:Service Location Protocol)(例えば非特許文献1参照)や、サンマイクロシステムズのJini(例えば非特許文献2参照)、マイクロソフトのユニバーサル・プラグアンドプレイ(UPnP:Universal Plug and Play)(例えば非特許文献3参照)、マサチューセッツ工科大学のインターナショナル・ネーミング・システム(INS:Intentional Naming System) (例えば非特許文献4参照)、カルフォルニアバークレイ大学の Ninja(例えば非特許文献5参照)などがある。
【0006】
【非特許文献1】
M. Weiser. Some Computer Science Issues in Ubiquitous Computing. Communication of the ACM, July 1993.
【非特許文献2】
Sun. Jini connection technology. In Sun Microsystems, http://www.sun.com/jini/, 2000.
【非特許文献3】
Microsoft Corporation. Understanding Universal Plug and Play:A White Paper.
【非特許文献4】
W. Adjie-Winoto, E. Schewartz, H. Balakrishnan, and J. Lilley. The Design and Implementation of an International Naming System. In Proceedings of ACM Symposium on Operating Systems Principles}, December 1999.
【非特許文献5】
S. Gribble and et. al. The Ninja Architecture for Robust Internet-Scale Systems and Services. Special Issue of IEEE Computer Networks on Pervasive Computing, June 2000.
【0007】
上述したこれまでに提案されているサービス提供システムは、各々目的の違いはあるが基本的な仕組みはすべて共通する。すなわち、その仕組みは次の2つの手順を持つ。最初の手順は、(1)サービス提供機器が自分の存在を他の機器に知らせる。この方法としては、ディレクトリサービスを行なう機器への登録、特別なチャネルやアドレスへの定期的なサービス広告、また特別なチャネルやアドレスで待機し、要求があった場合に自らの存在を返答する、などの3つの形態に分類できる。
【0008】
次の手順は、(2)クライアントがサービス提供機器を発見する。この方法としては、ディレクトリサービスを行なう機 器への問い合わせ、特別なチャネルやアドレスに対して要求パケットを送信する、また特別なチャネルやアドレスでサービス提供機器の広告を聞く、などの3つの形態に分類できる。通信の形態としてはディレクトリサービスを基本とした形態と、ピア・ツー・ピアで通信する形態に分けられる。両方の形態で利用可能なシステムも存在する。前者はクライアントとサービス提供機器の間にディレクトリサービスを行なう機器が存在する。後者はクライアントとサービス提供機器が直接お互いを認識してサービスの提供が行なわれる。
【0009】
既存の技術ではサービス提供機器とクライアントの境界線が明確に分けられている。すなわちサービス提供機器はクライアントに対してサービスを提供することを前提として設計されている。しかし我々は常時、手元の機器がクライアントとなりサービスを提供してもらいたい訳ではない。テレビの画面をそのままプリンタに送ったり、遠隔のカメラをプロジェクタから出力するといった、我々がクライアントと定義している機器同士でデータのやり取りを行なってもらいたい場合も多々ある。
【0010】
【発明が解決しようとする課題】
本発明は、上述した問題点に鑑みてなされたものであり、クライアントの身の回りにあるディスプレイ、プリンタ、PC、PDA、スピーカ、情報家電は勿論のこと、これら情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体を制御の対象とし、それらの物体同士の情報伝達を可能として、様々な処理を実現することに重点をおいた拡張性に優れたシスム基盤を実現し、この基盤上でフレキシブルなサービスの提供および受領構成を実行するデータ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムを提供するものである。
【0011】
本発明は、従来の技術が対象としているPCや家電などの電子機器だけでなく、その他の機器、物品、生き物、本、石、壁なども識別子を付加することで、様々なサービスの提供、受領処理を実現するサービスチェイン(Service-Chain)の世界に取り込み、これらの物体を既存のインターネットの基盤に組み込み、他の物体と接続し、情報伝達を可能とすることで新たなサービスを実現することを目的とする。
【0012】
なお、本発明で提案する物体の接続によるサービスの提供および受領構成を実現するためのユビキタス環境に適応したサービスアーキテクチャをサービスチェイン(Service-Chain)と呼ぶものとする。
【0013】
【課題を解決するための手段】
本発明の第1の側面は、
データ処理システムであって、
1以上のチェインオブジェクトに関連する所定ファイル形式のデータを扱うデータ入力またはデータ出力少なくともいずれかのサービス制御を実行する複数のチェインマネージャと、
前記チェインマネージャに設定された識別子(ID)と、当該チェインマネージャに関連するチェインオブジェクトの識別子(ID)と、当該チェインオブジェクトに関連するデータ入力またはデータ出力少なくともいずれかのサービスと、当該データ入力またはデータ出力少なくともいずれかのサービスにおいて扱うことのできるファイル形式との対応関係を格納した対応関係データを保持し、ファイル形式のマッチングと、データ入力とデータ出力のサービスマッチングとにより実行可能なサービスの検索処理を実行するチェインディレクトリと、
1つのチェインオブジェクトのIDを取得し、IDを取得したチェインオブジェクトに関連するデータ入力または出力サービスと同一のファイル形式を扱うデータ出力または入力サービスを扱うチェインオブジェクトを前記チェインディレクトリに問い合わせる処理を実行するルートチェインマネージャと、
を備え、
前記チェインマネージャのIDと、チェインオブジェクトのIDとは、異なるアドレス空間において定義される識別子であり、
前記ルートチェインマネージャは、
サービス問い合わせパケットを生成し、前記チェインディレクトリに対するサービス問い合わせを実行する構成であり、
前記チェインディレクトリは、
前記ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDに基づいて組み合わせ可能な2つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成であることを特徴とするデータ処理システムにある。
【0015】
さらに、本発明のデータ処理システムの一実施態様において、前記チェインマネージャのIDは、通信アドレスとして適用可能なIDであることを特徴とする。
【0016】
さらに、本発明のデータ処理システムの一実施態様において、前記ルートチェインマネージャは、前記チェインディレクトリに対する問い合わせの応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なう構成であることを特徴とする。
【0017】
さらに、本発明のデータ処理システムの一実施態様において、前記ルートチェインマネージャは、サービスの実行に必要なプログラム情報を取得するための第1のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第2のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であることを特徴とする。
【0018】
さらに、本発明のデータ処理システムの一実施態様において、前記チェインマネージャは、自己の管理するチェインオブジェクトに関するID、および実行可能なサービス情報としてのサービスプロファイル情報を記憶し、前記ルートチェインマネージャからのID取得処理要求に応じて、前記サービスプロファイル情報に基づいて、管理対象のチェインオブジェクトに関するIDの通知処理を実行するとともに、前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する構成であることを特徴とする。
【0024】
さらに、本発明の第の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するチェインディレクトリとしての情報処理装置であり、
前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのIDに対応付けて格納したデータベースと、
複数のチェインオブジェクトのIDを格納したサービス問い合わせパケットの受信に応じて、該IDに基づいて、前記サービス情報を格納したデータベースの検索処理を実行し、該検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成する制御手段とを有し、
前記制御手段は、
前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDに基づいて組み合わせ可能な2つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する構成であることを特徴とする情報処理装置にある。
【0025】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、サービス情報として、前記チェインオブジェクト各々のIDと、チェインオブジェクト各々の実行可能なサービス情報と、チェインオブジェクトに対して設定されたチェインマネージャのアドレス情報とを対応付けた情報を有し、前記サービス問い合わせパケットの受信に応じて、前記サービス情報に基づいて、サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報を検索し、該サービス情報を格納したサービス問い合わせ応答パケットを生成して、ルートチェインマネージャに対して送信する処理を実行する構成であることを特徴とする。
【0026】
さらに、本発明の情報処理装置の一実施態様において、前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別および処理可能なデータフォーマット情報が格納され、前記制御手段は、前記サービス問い合わせパケットの受信に応じて、該サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして、該サービス問い合わせに対する応答を生成する構成であることを特徴とする。
【0028】
さらに、本発明の第の側面は、
固有の識別子(ID)を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおけるデータ処理方法であり、
前記チェインオブジェクトのIDの取得処理を実行するID取得ステップと、
前記ID取得ステップにおいて取得したIDを格納したサービス問い合わせパケットをサービス情報を持つチェインディレクトリに送信する問い合わせ実行ステップと、
前記サービス問い合わせパケット内のチェインオブジェクトIDに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成し、問い合わせ元に返信する問い合わせ応答ステップと、
前記サービス問い合わせ応答パケットの格納情報に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう制御ステップとを有し、
前記問い合わせ応答ステップは、
前記サービス問い合わせパケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するステップと、
同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDに基づいて組み合わせ可能な2つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成するステップと、
を含むことを特徴とするデータ処理方法にある。
【0029】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、サービスの実行に必要なプログラム情報を取得するための第1のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第2のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理ステップを含むことを特徴とする。
【0030】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、前記チェインマネージャが、受信チェイントークンに対して、データ処理サービスに対応するプログラム実行に必要となる情報を格納する処理を実行するステップを含むことを特徴とする。
【0031】
さらに、本発明のデータ処理方法の一実施態様において、前記制御ステップは、前記チェインマネージャが、受信チェイントークンに基づいてプログラム起動処理を実行するステップを含むことを特徴とする。
【0038】
さらに、本発明の第の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理方法であり、
複数のチェインオブジェクトのIDを格納したサービス問い合わせパケットを受信するステップと、
サービス問い合わせパケットに格納されたIDに基づいて、前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのIDに対応付けて格納したデータベースの検索処理を実行する検索ステップと、
前記検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
前記サービス問い合わせ応答パケットを送信するステップと、
前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDも含めた3以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する処理ステップと、
を有することを特徴とする情報提供処理方法にある。
【0039】
さらに、本発明の情報提供処理方法の一実施態様において、前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別およびデータフォーマット情報が格納され、前記検索ステップは、前記サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして抽出する処理を実行するステップを含むことを特徴とする。
【0043】
さらに、本発明の第の側面は、
データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するコンピュータ・プログラムであって、
複数のチェインオブジェクトのIDを格納したサービス問い合わせパケットを受信するステップと、
前記サービス問い合わせパケット内のチェインオブジェクトIDに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
前記サービス問い合わせ応答パケットを送信するステップと、
前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDも含めた3以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する処理ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0044】
【作用】
本発明の構成によれば、固有の識別子(ID)を付与された複数のチェインオブジェクトと、複数のチェインオブジェクトの各々に対応して設定され、チェインオブジェクトを適用した処理の制御を実行するチェインマネージャと、チェインオブジェクト各々の実行可能なサービス情報を格納したチェインディレクトリと、チェインオブジェクトのID取得処理を実行するとともに、取得IDを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについて、チェインディレクトリに問い合わせ、該問い合わせに対する応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なうルートチェインマネージャとによって、様々なサービス提供、受領構成を実現したので、クライアントの身の回りにあるディスプレイ、プリンタ、PC、PDA、スピーカ、情報家電は勿論のこと、これら情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体をチェインオブジェクトとして設定するとともに、これらのチェインオブジェクトに対応するチェインマネージャを設定することで、あらゆる物を制御対象とし、それらの物同士の情報伝達を可能として、様々な処理を実現することが可能となり、フレキシブルなサービスの提供および受領構成が実現される。
【0045】
さらに、本発明の構成によれば、ルートチェインマネージャは、サービスの実行に必要なプログラム情報を取得するための第1のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第2のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であるので、各チェインマネージャが、プログラムの実行に必要な情報を予め保有していない場合においても、必要情報を取得した上で、プログラムを実行することが可能となる。
【0046】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャからのサービス問い合わせに応答して、サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報中から、同一データフォーマットのデータ入力とデータ出力との組合わせを検索するマッチング処理を実行し、マッチングの成立したデータ入出力に対応するサービスを実行可能なデータ処理サービスとして、前記サービス問い合わせに対する応答を生成する構成であるので、同一のデータフォーマットの入出力処理が確実に実行できる機器同士を結びつけることが可能となり、データ処理エラー等を発生させることのないサービス提供、受領処理が実現される。
【0047】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、チェインリストに記録されたIDも含めた3以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成としたので、2つの機器のみならず、3以上の任意数の機器において可能な2つの機器の組合わせによって実行可能なサービスの検索が可能となる。
【0048】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0049】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0050】
【発明の実施の形態】
以下、図面を参照して、本発明のデータ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラムについて詳細に説明する。なお、説明は以下の項目に従って行なう。
1.サービスチェインの概要
2.サービスチェインにおける基本技術
3.サービスチェインの実装
4.サービスチェイン適用処理フロー
5.サービスチェインの利用例
【0051】
[1.サービスチェインの概要]
まず、サービスチェインの概要について説明する。サービスチェイン(Service-Chain)は、本発明で提案する物体の接続によるサービス提供受領構成を実現するためのユビキタス環境に適応したサービスアーキテクチャである。サービスチェイン(Service-Chain)に基づいて、クライアントの身の回りにあるディスプレイ、プリンタ、PC、PDA、スピーカ、情報家電や、情報処理装置以外の生き物、本、石等、身の回りにある、あらゆる物体を制御の対象とし、それらの物体同士の情報伝達を可能として、様々な処理を実現する。
【0052】
まず、サービスチェイン(Service-Chain)の基本構成要素を説明すると共に、サービスチェイン(Service-Chain)を利用したサービスの提供および受領処理の概要について説明する。
【0053】
サービスチェイン(Service-Chain)ではサービスのやり取りが可能なあらゆる物体をチェインオブジェクト(C−Object:Chain-Object)として抽象化する。このチェインオブジェクト(C-Object)にはサービスチェイン(Service-Chain)において固有の識別子(ID)が付加される。図1にチェインオブジェクト(C−Object:Chain-Object)の構成例を示す。
【0054】
図1に示すように、クライアントの身の回りにあるディスプレイ、プリンタ、PC、PDA、スピーカ、冷蔵庫、情報家電や、情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体をチェインオブジェクト(C-Object)として、識別子(ID)を設定する。このIDを基本としてサービスをやり取りする。
【0055】
IDを付加された、すべてのチェインオブジェクト(C-Object)は、必ず1個のチェインマネージャ(C-Manager)が対応付けられる。チェインマネージャ(C-Manager)は、少なくとも1つのチェインオブジェクトの管理を行ない、管理対象のチェインオブジェクト(C-Object)のIDおよびその他の情報(プロファイル)を管理する。また、サービスチェインを利用したサービスの統括制御部としてのルートチェインマネージャ(RC-Manager)からのメッセージ、例えば、ユーザの希望するサービスの起動、制御、終了などのトリガとなるメッセージを受信し、受信メーセッジに基づく処理、例えば該当するサービスの起動、制御、終了等の処理を実行する機能要素である。
【0056】
チェインマネージャ(C-Manager)、およびルートチェインマネージャ(RC-Manager)は、データ処理プログラムおよびデータ処理を実行するハードウェアとによって構成される。ハードウェアとしての基本要素は、メッセージの送受信処理を実行する通信インタフェースと、送受信メーセッジに関する処理、例えば受信メッセージに基づくサービスの起動、制御、終了等の処理を実行するデータ処理部である。従って、図1に示すように、チェインマネージャ(C-Manager)は、例えば、PC、PDA、携帯電話、携帯通信端末、情報家電等によって構成され得る。
【0057】
なお、図1では、チェインオブジェクト(C-Object)とチェインマネージャ(C-Manager)とを区別して示してあるが、チェインオブジェクト(C-Object)がPCあるいはPDA等のように、データ処理、通信処理可能な機器である場合は、チェインオブジェクト(C-Object)の中にチェインマネージャ(C-Manager)の機能を格納することが可能であり、この場合は、チェインオブジェクト(C-Object)とチェインマネージャ(C-Manager)とは、同一機器によって構成される。
【0058】
すなわち、サービスチェイン(Service-Chain)を介したデータ送受信、および送受信データに関するデータ処理が可能なチェインオブジェクト(C-Object)は、チェインマネージャ(C-Manager)としても機能可能であり、単独の機器構成において、チェインオブジェクト(C-Object)とチェインマネージャ(C-Manager)として機能することが可能である。すなわち、チェインマネージャ(C-Manager)は、データ通信、データ処理実行プログラムとしてチェインオブジェクト(C-Object)内に存在することができる。
【0059】
ただし、データ通信、データ処理機能を持たない、チェインオブジェクト(C-Object)、例えば生き物、植物、本、鉱物等は、情報処理装置以外のオブジェクトが、サービスチェイン(Service-Chain)を適用したサービスの提供、受領処理に参画する場合には、それらのチェインオブジェクト(C-Object)を、通信処理およびデータ処理機能を持つPC、PDA等の情報処理装置によって構成されるチェインマネージャ(C-Manager)に対応付けることが必要となる。
【0060】
情報処理装置または情報処理装置以外の物によって構成され、識別子(ID)が設定されたチェインオブジェクト(C-Object)によって構成されるサービスチェイン(Service-Chain)を適用して、サービスの提供、またはサービスの受領を実行するために必要となる主要なデータ処理要素について説明する、重要なデータ処理要素としては次に挙げる3要素がある。
【0061】
(1)ルートチェインマネージャ(RC-Manager)
ルートチェインマネージャ(RC-Manager)は、サービスチェイン(Service-Chain)において、サービスの実行に関わる制御を行なう最も重要な機能要素である。
【0062】
ルートチェインマネージャ(RC-Manager)は、チェインオブジェクト(C-Object)のIDを収集し、そのIDから実現可能なサービスがあるかどうかチェインディレクトリ(C-Directory)に問い合わせる処理を実行する。また、サービス問い合わせに対するチェインディレクトリ(C-Directory)からの応答結果に基づき、ユーザとのインタラクションを実行し、ユーザに実現したいサービスを選択してもらい、ユーザの選択したサービスの起動、制御、終了などのトリガとなるメッセージを格納したチェイントークンを生成し、選択したサービスを提供するために必要なチェインマネージャ(C-Manager)に転送する。
【0063】
(2)チェインディレクトリ(Chain-Directory)
チェインディレクトリ(Chain-Directory)は、サービスチェイン(Service-Chain)においてディレクトリサービスの機能を提供する要素である。
【0064】
チェインディレクトリ(Chain-Directory)は、チェインオブジェクト(C-Object)の情報、例えばサービスチェインに接続されたチェインオブジェクト(C-Object)毎の提供可能なサービス情報を管理し、ルートチェインマネージャ(RC-Manager)からのサービス問い合わせを受け取り、問い合わせに応じてサービス検索を行ない、実現可能なサービス情報をルートチェインマネージャ(RC-Manager)に応答メッセージとして返す処理を実行する。
【0065】
(3)チェインマネージャ(Chain-Manager)
チェインマネージャ(C-Manager)は、ルートチェインマネージャ(RC-Manager)からのメッセージ、例えば、ユーザの希望するサービスの起動、制御、終了などのトリガとなるメッセージ(チェイントークン)を受信し、受信メーセッジに基づく処理、例えば該当するサービスの起動、制御、終了等の処理を実行する機能要素である。なお、チェインマネージャ(C-Manager)にもIDが設定される。このチェインマネージャ(C-Manager)のIDは、IPアドレス等、通信アドレスとして適用可能なIDであり、チェインオブジェクトのIDとは、異なるアドレス空間において定義される識別子である。
【0066】
IDを付加された、すべてのチェインオブジェクト(C-Object)は、必ず1個のチェインマネージャ(C-Manager)に対応付けられる。またユーザとのインタラクションが可能なディスプレイなどの表示デバイスやIDを読みとる機器、例えば、ブルートゥース(Bluetooth(登録商標))、あるいはIrDA(Infrared Data Association)のような赤外線通信方式を適用した特定のデバイスを持つチェインオブジェクト(C-Object)はルートチェインマネージャ(RC-Manager)を保持し、ルートチェインマネージャ(RC-Manager)として機能することが可能である。ルートチェインマネージャ(RC-Manager)を保持したチェインオブジェクト(C-Object)はサービスの制御機器の役割をもつため、以下では、ルートチェインオブジェクト(RC-Object)と呼ぶ。
【0067】
図2に、データ通信、データ処理を実行するチェインマネージャ(C-Manager)、ルートチェインマネージャ(RC-Manager)、およびルートチェインオブジェクト(RC-Object)のハードウェア構成例として、PCの例を示す。図2は、制御手段としてのCPU(Central Processing Unit)を備えた通信処理およびデータ処理可能なパーソナル・コンピュータの例を示している。
【0068】
図2に示す構成について説明する。CPU(Central Processing Unit)11は、各種プログラムを実行するプロセッサである。ROM(Read-Only-Memory)12は、CPU11が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。RAM(Random Access Memory)13は、CPU11の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。HDD14はハードディスクの制御を実行し、ハードディスクに対する各種データ、プログラムの格納処理および読み出し処理を実行する。
【0069】
バス21はPCI(Peripheral Component Internet/Interface)バス等により構成され、各モジュール、入出力インタフェース22を介した各入出力装置とのデータ転送を可能にしている。
【0070】
入力部15は、例えば各種スイッチ、ボタン、キーボード、ポインティングデバイスを含む入力部である。ボタン等を介して入力部15が操作された場合、あるいは、通信部17からのデータを受信した場合などにCPU11に指令が入力され、ROM(Read Only Memory)12に格納されているプログラムを実行する。出力部16は、例えばCRT、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。
【0071】
通信部17はサービスチェイン(Service-Chain)を介して、他のチェインマネージャ(C-Manager)、ルートチェインマネージャ(RC-Manager)、ルートチェインオブジェクト(RC-Object)、あるいはチェインディレクトリ(Chain-Directory)との通信、あるいは、その他のエンティテイ、例えばコンテンツ配信サービスプロバイダとの通信処理を実行し、CPU11の制御の下に、各記憶部から供給されたデータ、あるいはCPU11によって処理されたデータを送信したり、通信相手からのデータを受信する処理を実行する。また、IDを付加されたチェインオブジェクト(C-Object)から、IDを読みとる処理を実行する機能も有する。
【0072】
ドライブ18は、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体19の記録再生を実行するドライブであり、各リムーバブル記録媒体19からのプログラムまたはデータ再生、リムーバブル記録媒体19に対するプログラムまたはデータ格納を実行する。
【0073】
各記憶媒体に記録されたプログラムまたはデータを読み出してCPU11において実行または処理を行なう場合は、読み出したプログラム、データは入出力インタフェース22、バス21を介して例えば接続されているRAM13に供給される。
【0074】
なお、図2に示す構成例は、チェインマネージャ(C-Manager)、ルートチェインマネージャ(RC-Manager)、およびルートチェインオブジェクト(RC-Object)の機能を実行する機器の一例を示すものであり、これらの機能は、PC以外にも、情報家電、PDA、携帯通信端末等、様々な機器において実行可能であり、それぞれの機器に応じた処理を実現するためのハードウェアによって構成可能である。また、チェインディレクトリ(Chain-Directory)も、図2に示す構成によって実現可能である。
【0075】
図3に、サービスチェイン(Service-Chain)を介したサービスを実現するための各構成要素の関係と基本動作を説明する図を示す。図3ではルートチェインオブジェクト(RC-Object)111に対して、そのID管理を行なうチェインマネージャ(C-Manager)112が存在し、また、チェインオブジェクト(C-Object)121に対して、そのID管理を行なうチェインマネージャ(C-Manager)122が存在する。なお、ルートチェインオブジェクト(RC-Object)111は、ルートチェインマネージャ(RC-Manager)を保持したチェインオブジェクト(C-Object)であり、サービスの制御機器の役割をもつ。
【0076】
ルートチェインオブジェクト(RC-Object)111に対して設定されているルートチェインマネージャ(RC-Manager)113は、各チェインオブジェクト(C-Object)のIDを読み込み、そのIDから実現可能なサービスがあるかどうかチェインディレクトリ(C-Directory)150に問い合わせる処理を実行する。
【0077】
図3に示す構成において、まず、ステップS11において、ルートチェインマネージャ(RC-Manager)113は、チェインオブジェクト(C-Object)121のIDを読みとり、自らが持つチェインオブジェクト(C-Object)111のIDと併せてステップS12において、チェインディレクトリ(C-Directory)150にサービス問い合わせを行なうこととなる。
【0078】
チェインディレクトリ(C-Directory)150へのサービス問い合わせはルートチェインマネージャ(RC-Manager)113が、ルートチェインオブジェクト(RC-Object)111のIDと、取得したチェインオブジェクト(C-Object)121のIDの2個のIDをチェインディレクトリ(C-Directory)150に送信し、これらのチェインオブジェクト(C-Object)によって実現可能なサービスの問い合わせを行なう。
【0079】
ステップS12において、チェインディレクトリ(C-Directory)150が返信するサービス応答には実行可能なサービスリストが含まれ、ルートチェインマネージャ(RC-Manager)113はユーザ180とのインタラクションにより、その中から実行するサービスの選択処理を行なう。なお、チェインディレクトリ(C-Directory)150が返信するサービス応答にはサービスに対応したチェインマネージャ(C-Manager)の情報が含まれている。
【0080】
次に、図3のステップS13において、ルートチェインマネージャ(RC-Manager)113が、チェインディレクトリ(C-Directory)150が返信するサービス応答に従って、ルートチェインオブジェクト(RC-Object)111のIDのサービスを管理するチェインマネージャ(C-Manager)112とチェインオブジェクト(C-Object)121のIDのサービスを管理するチェインマネージャ(C-Manager)122を指定し、これらチェインマネージャ(C-Manager)112、122に対してサービスの設定を行なう。このサービス設定処理により、ステップS14において、チェインオブジェクト(C-Object)111,121を適用したサービスが実現される。
【0081】
サービスチェイン(Service-Chain)を利用したサービスの1つの具体例について、図4を参照して説明する。サービスチェイン(Service-Chain)を利用したサービス例として、PDA211でビデオ221を制御する例について説明する。この例では、ビデオ221がチェインオブジェクト(C-Object)であり、PDA211がルートチェインオブジェクト(RC-Object)である。これらは、それぞれユニークな識別子(ID)を持つ。
【0082】
ルートチェインマネージャ(RC-Manager)213が、自ら属するPDA211の識別子(ID=22344)を調べ、ビデオ221の識別子(ID=45543)をブルートゥース等の通信部を介して取得する。
【0083】
次に、ルートチェインマネージャ(RC-Manager)213は、PDA211の識別子(ID=22344)と、取得したビデオ221の識別子(ID=45543)とを、併せてチェインディレクトリ(C-Directory)230に送信し、これらのチェインオブジェクト(C-Object)を適用して提供可能なサービスを問い合わせる。
【0084】
チェインディレクトリ(C-Directory)230には、各チェインオブジェクト(C-Object)の提供可能なサービスを登録したデータベースを有する。この例では、図に示すように、ビデオ221の「制御パネル表示出力」とPDA211の「制御パネル表示入力」が、それぞれのIDに対応付けて登録してある。PDA211のルートチェインマネージャ(RC-Manager)213には「制御パネル表示」のサービスが実行可能であることが、チェインディレクトリ(C-Directory)230に対する問い合わせの応答として通知される。
【0085】
PDA211に対応して設定されたルートチェインマネージャ(RC-Manager)213はビデオ221のチェインマネージャ(C-Manager)222とPDA211のチェインマネージャ(C-Manager)212に「制御パネル表示」のサービスを実行することを通知し、PDA211のチェインマネージャ(C-Manager)212は該当するWebブラウザなどのプログラムを起動してビデオ221のチェインマネージャ(C-Manager)222から制御パネルのサービスを受け取ることができる。
【0086】
すなわち、PDA211のディスプレイにビデオ221の再生、停止、早送り、巻戻し、ポース等の各操作ボタンを表示し、PDAをビデオ操作リモコンとして使用することが可能となる。
【0087】
これらの処理構成は、例えばUPnP、Jini、Haviなどの既存技術においても容易に実現可能である。しかしサービスチェイン(Service-Chain)では、これらのサービス基盤では実現できない次のような利用形態が可能である。
【0088】
例えばPDA211でビデオ221の制御が可能となった時に、続けて近くのプロジェクタを制御対象として指定する。従来のUPnP、Jini、Haviなどの技術でも、上述したと同様の処理により、プロジェクタのコントロールがPDAで可能となる。
【0089】
しかしサービスチェイン(Service-Chain)でプロジェクタを指定した際にPDAの「制御パネル表示入力」はプロジェクタの「制御パネル表示出力」に変更され、プロジェクタの制御が可能となると同時にチェインディレクトリ(C-Directory)230に登録されているビデオの「動画(MPEG1)サービス出力」とプロジェクタの「動画(MPEG1)サービス入力」のマッチが検出され新たなサービスの実現が可能となる。
【0090】
すなわち、PDA211に対応して設定されたルートチェインマネージャ(RC-Manager)213は、チェインオブジェクト(C-Object)としてのPDA、ビデオ、プロジェクタの3オブジェクトを適用して提供可能なサービスの問い合わせをチェインディレクトリ(C-Directory)230に対して実行することにより、チェインディレクトリ(C-Directory)230は、これら3つのチェインオブジェクト(PDA、ビデオ、プロジェクタ)によって実現可能なサービスをリストとして、PDA211に対応して設定されたルートチェインマネージャ(RC-Manager)213に送信する。
【0091】
リストは、チェインディレクトリ(C-Directory)230に登録されているビデオの「動画(MPEG1)サービス出力」とプロジェクタの「動画(MPEG1)サービス入力」を適用した「動画再生表示」処理が実行可能であることが示され、PDA211の操作者であるユーザは、単に、PDAとビデオ、あるいはPDAとプロジェクタの関係での処理のみならず、PDAとビデオとプロジェクタの3つのオブジェクトから実現可能な処理を選択することが可能となる。
【0092】
本発明におけるサービスチェイン(Service-Chain)を適用したサービス実現構成では、ルートチェインマネージャ(RC-Manager)は、複数のチェインオブジェクト(C-Object)を指定して、指定したチェインオブジェクト(C-Object)を適用して実現可能なサービスをチェインディレクトリ(C-Directory)に問い合わせを行なう。チェインディレクトリ(C-Directory)は、指定されたチェインオブジェクト(C-Object)各々の持つデータ入力、データ出力、データ処理機能情報をデータベースから抽出し、これらの情報に基づいて、実現可能なサービス情報をルートチェインマネージャ(RC-Manager)に応答する。
【0093】
従って、複数のチェインオブジェクト(C-Object)を利用した実現可能なサービスのすべてを実行するシステムを構築することができる。
【0094】
図5を参照して、新たなチェインオブジェクト(C-Object)としてプロジェクタを追加した場合の、ビデオとプロジェクタによるサービス、すなわち、動画(MPEG1)サービス処理の実現に至るまでの処理について説明する。
【0095】
まず、ステップS21において、ルートチェインオブジェクト(RC-Object)としてのPDA311に対応して設定されたルートチェインマネージャ(RC-Manager)312は、あらたなチェインオブジェクト(C-Object)であるプロジェクタ331のチェインオブジェクト(C-Object)としてのプロジェクタ331のIDを特殊なデバイスを利用して取得する。
【0096】
次に、ステップS22において、ルートチェインマネージャ(RC-Manager)312は、取得したプロジェクタ331のIDとルートチェインオブジェクト(RC-Object)であるPDA311のIDを指定して、サービスの問い合わせをチェインディレクトリ(C-Directory)350に行なう。ルートチェインオブジェクト(RC-Object)の問い合わせ履歴の時間情報が閾値以内であることから、PDA、プロジェクタ、ビデオの3つのチェインオブジェクトから任意の2つのチェインオブジェクトで実現可能なサービスをリストとして、ルートチェインマネージャ(RC-Manager)312に送信する。
【0097】
リストには、チェインディレクトリ(C-Directory)350に登録されているPDAとビデオによる「制御パネル表示」処理の他に、ビデオの「動画(MPEG1)サービス出力」とプロジェクタの「動画(MPEG1)サービス入力」を適用した「動画(MPEG1)サービス」処理が実行可能であることが示されている。
【0098】
ステップS23において、ルートチェインマネージャ(RC-Manager)312が、チェインディレクトリ(C-Directory)350から受信したサービス応答に従って、ビデオを管理するチェインマネージャ(C-Manager)322とプロジェクタを管理するチェインマネージャ(C-Manager)332を指定し、これらチェインマネージャ(C-Manager)322、332に対してサービスの設定を行なう。このサービス設定処理により、ステップS24において、ビデオの「動画(MPEG1)サービス出力」とプロジェクタの「動画(MPEG1)サービス入力」を適用した「動画(MPEG1)」処理が実行される。
【0099】
[2.サービスチェインにおける基本技術]
次に、個別にPDAにより指定されたビデオとプロジェクタをチェインディレクトリ(C-Directory)がどのように認識してPDAに利用可能なサービスリストを提供するのか。また、どのようにビデオからプロジェクタにデータ送信をするのか、その鍵となる技術について、説明する。
【0100】
ここでは、チェインオブジェクト(C-Object)をつなぎ合わせるためにサービスチェイン(Service Chain)において利用するサービスの抽象化に関して説明をする。またルートチェインマネージャ(RC-Manager)の問い合わせから実行可能なサービスを通知するチェインディレクトリ(C-Direcotry)の仕組みと、その通知をもとに実際にサービスを実現するチェインマネージャ(C-Manager)の仕組みに関して説明する。
【0101】
(2.1)サービスの抽象化と結び付け
サービスチェイン(Service-Chain)においてチェインオブジェクト(C-Object)が提供するサービス、または受けるサービスはすべて[入力]または[出力]のサービスとして分類される。サービスの属性はデータを送受信するアプリケーションプログラムが扱うことが可能なデータ形式で示される。同一の属性のサービスの入力と出力を保持するチェインオブジェクト(C-Object)同士が組み合わさることによって、チェインオブジェクト(C-Object)間のサービスが実現する。
【0102】
例えば、ポストスクリプト(postscript)形式のファイルを扱うプリンタのチェインオブジェクト(C-Object)が存在したと仮定する。このチェインオブジェクト(C-Object)はポストスクリプト(Postscript)形式のファイルを入力する。すなわち、このプリンタは、ポストスクリプト(Postscript)形式のファイルを出力するすべてのチェインオブジェクト(C-Object)と結びつくことが可能となる。このチェインオブジェクト(C-Object)が、カメラ、スキャナなど、どのような機器であろうがサービスチェイン(Service-Chain)は関知しない。プリンタは入力のあったポストスクリプト(Postscript)形式のファイルをプリントアウトするだけである。
【0103】
また、同一のチェインオブジェクト(C-Object)が複数のサービスを持つことが可能である。例えばチェインオブジェクト(C-Object)自身がJPEG形式のファイルをポストスクリプト(Postscript)形式に変換するプログラムを保持していればJPEG入力もサービスとして記述することができる。
【0104】
このファイル形式の表記方法には共通の規則が必要である。例えばMIMEタイプで定義されているファイル形式表記方法を利用することができる。ポストスクリプト(Postscript)ファイルはMIME表記ではアプリケーション/ポストスクリプト(application/postscript)と表記される。
【0105】
図6は、複数のチェインオブジェクト(C-Object)が実行可能な[入力]または[出力]のファイル形式および、マッチング関係の概念図を示している。図6では5個のチェインオブジェクト(C-Object)が存在しており、それぞれ入力と出力のサービスを保持している。サービス名はここではフォーマットで記述してある。チェインオブジェクト(C-Object) 1,501がルートチェインオブジェクト(RC-Object)とすると、チェインオブジェクト(C-Object)1,501は、入力可能ファイル形式として、フォーマットA(Format A)を有し、フォーマットA(Format A)を出力可能ファイル形式として有するチェインオブジェクト(C-Object)2,502と、チェインオブジェクト(C-Object)3,503と、それぞれフォーマットA(Format A)でのデータ入出力を実行するサービスを、それぞれ実行可能である。
【0106】
図6に示す、複数のチェインオブジェクト(C-Object)が実行可能な[入力]または[出力]のファイル形式情報は、すべてチェインディレクトリ(C-Directory)内に登録されている。
【0107】
チェインディレクトリ(C-Directory)は、ルートチェインマネージャ(RC-Manager)から、チェインオブジェクト(C-Object)のIDを指定したサービス照会を受領すると、指定されたチェインオブジェクト(C-Object)の実行可能な[入力]または[出力]の処理可能ファイル形式情報のマッチング検索を実行し、マッチングした組み合わせによって提供可能なサービスについての情報をサービス照会に対する応答として、ルートチェインマネージャ(RC-Manager)に送信する。
【0108】
(2.2)ディレクトリサービスによるサービス提供方式
サービスチェイン(Service-Chain)ではチェインディレクトリ(C-Directory)がディレクトリサービスの役割をする。チェインオブジェクト(C-Object)の識別子(ID)を何らかの方法により取得したルートチェインマネージャ(RC-Manager)はルートチェインオブジェクト(RC-Object)のIDと共にチェインディレクトリ(C-Directory)に問い合わせを行なう。
【0109】
(2.2.a)識別子(ID)の取得
チェインオブジェクト(C-Object)のIDの取得方法はサービスチェイン(Service-Chain)では規定しない。IDを読み取るために赤外線通信やrfIDのような手法を利用しても良い。またサービス名からIDを取得するような機能を新たに追加することも可能である。
【0110】
なお、チェインオブジェクト(C-Object)の実態は個別にネットワークに接続している必要はない。例えば100枚の音楽CDがあり、各々の音楽CDをチェインオブジェクト(C-Object)とし、個々のCDにIDを付与する。
【0111】
ユーザが操作可能なPDAをルートチェインマネージャ(RC-Manager)を持つルートチェインオブジェクト(RC-Object)として、PDAで、このユーザの好みのCDのIDを読み込み、PDAのIDと、CDのIDとをチェインディレクトリ(C-Directory)に送信すると、チェインディレクトリ(C-Directory)は、例えば、リアルメディア(RealMedia)形式で、音楽CDの音楽ストリームを流すサーバーとPDAの音楽再生アプリケーションとを接続し、音楽CDに格納された曲の音楽ストリーム転送、再生処理を実行するサービスや、音楽の情報をHTMLの形式で送信するWebサーバーとPDAのWebブラウザとを接続し、音楽の情報をHTMLデータをPDAのディスプレイに表示するサービスなどを実行可能なサービスとして定義したサービスリストをルートチェインマネージャ(RC-Manager)、ここではPDAに送信し、ユーザは、送信されたサービスリストをPDAのディスプレイに表示することができる。
【0112】
この場合は、100枚のCDのIDを管理しているのは音楽ストリームを流すサーバーと、音楽の情報をHTMLの形式で送信するWebサーバーである。音楽CDそのものからデータが提供されているのではない。すなわちサービスを提供する機器とIDが付加されたチェインオブジェクト(C-Object)の実態とは分けて考えることができる。このような枠組は実世界の物質をサービスのシンボルとみなすことができる。
【0113】
なお、チェインオブジェクト(C-Object)のIDの取得技術については、例えば、J.Rekimoto. The World through the Computer: Computer Augmented Interaction with Real World Environments. In Proceedings of ACM Symposium on User Interface Software and Technology, Virtual and Augmented Realities (UIST'95)}, November 1995.に記載された実世界指向インターフェースを適用することが可能である。
【0114】
(2.2.b)履歴に基づいたサービス提供
ルートチェインマネージャ(RC-Manager)がチェインディレクトリ(C-Directory)にサービス問い合わせのために送信するIDは必ず2個のIDである。1個目はルートチェインオブジェクト(RC-Object)自身のIDで、2個目が取得した他のチェインオブジェクト(C-Object)のIDである。ルートチェインマネージャ(RC-Manager)は新たにIDを読み込む度にチェインディレクトリ(C-Directory)に問い合わせを行なう。
【0115】
従って、例えば、ルートチェインオブジェクト(RC-Object)自身と他の2個のチェインオブジェクト(C-Object)を適用した実現可能なサービスについて、チェインディレクトリ(C-Directory)に対してサービス照会を行なう場合は、ルートチェインマネージャ(RC-Manager)からチェインディレクトリ(C-Directory)に対して2回のサービス問い合わせが行なわれることになる。
【0116】
ルートチェインオブジェクト(RC-Object)自身と他のn個のチェインオブジェクト(C-Object)を適用した実現可能なサービスについて、チェインディレクトリ(C-Directory)に対してサービス照会を行なう場合は、ルートチェインマネージャ(RC-Manager)からチェインディレクトリ(C-Directory)に対してn回のサービス問い合わせが行なわれる。
【0117】
ルートチェインオブジェクト(RC-Object)からのサービス問い合わせを受けたチェインディレクトリ(C-Directory)は、問い合わせに含まれる2個のIDの組み合わせで提供可能なサービスがないかどうかを調べると同時に、問い合わせメッセージの受理時間と、問い合わせに含まれる2個のID、すなわち、問い合わせ元のID(ルートチェインオブジェクト(RC-Object)のID)と、もう1つのチェインオブジェクト(C-Object)のIDをチェインリスト(Chain-List)として保持する。
【0118】
チェインリスト(Chain-List)はルートチェインマネージャ(RC-Manager)がサービス問い合わせを行なった履歴である。チェインリスト(Chain-List)の例を図7に示す。図7に示すように、チェインリスト(Chain-List)はは、問い合わせメッセージの受理時間、問い合わせに含まれる2個のID、すなわち、問い合わせ元のID(ルートチェインオブジェクト(RC-Object)のID)と、もう1つのチェインオブジェクト(C-Object)のIDを対応付けたデータとして保持したリストである。
【0119】
チェインディレクトリ(C-Directory)は、ルートチェインマネージャ(RC-Manager)からのサービス問い合わせがあると必ずチェインリスト(Chain-List)を参照し、サービス問い合わせが連続的に行われているか否かを判断する。問い合わせ受理時間を記録するのは、複数のチェインオブジェクト(C-Object)を問い合わせる際に、それらを長時間の間隔をあけて問い合わせたのか、短時間で問い合わせたのかで処理を分けるためである。
【0120】
チェインディレクトリ(C-Directory)は、所定の閾値時間未満で、同一のルートチェインオブジェクト(RC-Object)のIDと、異なる他のチェインオブジェクト(C-Object)のIDとを組み合わせた問い合わせを受領した場合は、サービス問い合わせが連続的であると判断し、過去の問い合わせのチェインオブジェクト(C-Object)を含めた構成において提供可能なサービスについての情報を抽出し、応答として送信する。
【0121】
すなわち、ルートチェインオブジェクト(RC-Object)のIDをID−rとし、他の他のチェインオブジェクト(C-Object)のIDをID−a1、ID−a2、ID−a3・・としたとき、チェインディレクトリ(C-Directory)は、[ID−r,ID−a1]の組み合わせでのサービス問い合わせ、[ID−r,ID−a2]の組み合わせでのサービス問い合わせ、[ID−r,ID−a3]の組み合わせでのサービス問い合わせを式一時間内に連続して受領した場合、まず、[ID−r,ID−a1]の組み合わせでのサービス問い合わせに対しては、[ID−r,ID−a1]の組み合わせで提供可能なサービス情報を応答として送信するが、[ID−r,ID−a2]の組み合わせでのサービス問い合わせに対しては、[ID−r,ID−a2]の組み合わせで提供可能なサービス情報のみならず、[ID−r,ID−a1]、[ID−a1,ID−a2]の組み合わせで提供可能なサービス情報を応答として送信する。
【0122】
[ID−r,ID−a3]の組み合わせでのサービス問い合わせに対しては、ID−r,ID−a1,ID−a2,IDa3の組み合わせにおいて提供可能なサービス情報を応答として送信する。
【0123】
一方、チェインディレクトリ(C-Directory)は、所定の閾値時間以上の間隔で、同一のルートチェインオブジェクト(RC-Object)のIDと、異なる他のチェインオブジェクト(C-Object)のIDとを組み合わせた問い合わせを受領した場合は、サービス問い合わせが連続的でないと判断し、過去の問い合わせのチェインオブジェクト(C-Object)を含めず、問い合わせに含まれるIDのチェインオブジェクト(C-Object)の組み合わせ構成において提供可能なサービスについてのみの情報を、問い合わせに対する応答として送信する。
【0124】
チェインディレクトリ(C-Directory)の処理としては、閾値時間内に同一のルートチェインオブジェクト(RC-Object)から、異なるチェインオブジェクト(C-Object)のIDを組み合わせたサービス問い合わせを受領した場合は、チェインリスト(Chain-List)に含まれるIDに対応する全てのチェインオブジェクト(C-Object)を適用した実現可能なサービスの組み合わせを検索し、検索結果をリストとして提供する。
【0125】
図8は、ルートチェインオブジェクト(RC-Object)A551のルートチェインマネージャ(RC-Manager)554が、チェインディレクトリ(C-Directory)555に対して、チェインオブジェクト(C-Object)B552との組み合わせに基づくサービス問い合わせと、チェインオブジェクト(C-Object)C553との組み合わせに基づくサービス問い合わせとを連続的に実行した処理例を示している。
【0126】
チェインディレクトリ(C-Directory)555は、時間[12:00:58]にルートチェインオブジェクト(RC-Object)A551のルートチェインマネージャ(RC-Manager)554から、チェインオブジェクト(C-Object)C553との組み合わせに基づくサービス問い合わせを受信すると、閾値時間内に同一のルートチェインオブジェクト(RC-Object)A551からのサービス問い合わせがあったか否かをチェインリスト(Chain-List)を検索して判定する。
【0127】
チェインリスト(Chain-List)には、時間[12:00:54]の問い合わせ情報が記録されており、チェインディレクトリ(C-Directory)は、ルートチェインオブジェクト(RC-Object)A551と、チェインオブジェクト(C-Object)C553との組み合わせによって実現可能なサービスのみならず、チェインリスト(Chain-List)に記録された時間[12:00:54]の問い合わせ情報に含まれるチェインオブジェクト(C-Object)B552との組み合わせも考慮して実現可能なサービスのリストを生成する。
【0128】
チェインディレクトリ(C-Directory)は、ルートチェインオブジェクト(RC-Object)A551と、チェインオブジェクト(C-Object)B552と、チェインオブジェクト(C-Object)C553との組み合わせで実現可能な全てのサービスを含むサービス情報を生成して、ルートチェインオブジェクト(RC-Object)A551のルートチェインマネージャ(RC-Manager)554に対してサービス問い合わせに対する応答を送信する。チェインディレクトリ(C-Directory)において設定する閾値時間は、ネットワークにおける通信パケットの転送状況等を考慮して適宜決定することが好ましい。例えば、5秒から10秒程度の間に設定する。
【0129】
(2.3)チェインマネージャ(C-Manager)
ルートチェインマネージャ(RC-Manager)はチェインディレクトリ(C-Directory)からの問い合わせ応答により提供可能なサービスを知ることができる。この応答に基づいて、実際にサービスを実現するためには何らかの手法によりチェインオブジェクト(C-Object)にその情報を伝え、サービス実行のためのアプリケーションプログラム、例えば動画データの再生および出力、音楽データの送信等、各チェインオブジェクト(C-Object)の実行可能なデータ処理を実行するアプリケーションプログラムを実行させなくてはならない。
【0130】
しかし、チェインオブジェクト(C-Object)の持つアプリケーションが直接ルートチェインマネージャ(RC-Manager)から情報を受信するように設計することは、それぞれの機器に応じたデータ処理に対応するアプリケーション開発の自由度を損なわせてしまう。そこで、本発明のシステムでは、サービスチェイン(Service-Chain)の実行するアプリケーションの独立性を確保するために、その情報の橋渡しを行なう役目としてチェインマネージャ(C-Manager)を構成している。以下、チェインマネージャ(C-Manager)の詳細について説明する。
【0131】
(2.3.a)チェイントークン(Chain-Token)
ルートチェインオブジェクト(RC-Object)の持つルートチェインマネージャ(RC-Manager)とチェインマネージャ(C-Manager)の通信、および、チェインマネージャ(C-Manager)同士の通信にはチェイントークン(Chain-Token)が利用される。
【0132】
チェイントークン(Chain-Token)は、必ずルートチェインマネージャ(RC-Manager)から送信されてチェインマネージャ(C-Manager)を経由して、チェインマネージャ(C-Manager)で宛先ルーティング処理が実行され、最終的にルートチェインマネージャ(RC-Manager)に戻ってくる。
【0133】
図9を参照して、チェイントークン(Chain-Token)の転送処理について説明する。この図9の例では、ルートチェインオブジェクト(RC-Object)571のルートチェインマネージャ(RC-Manager)572が自分以外の2個のチェインオブジェクト(C-Object)581,591を適用したサービスを実行する際のチェイントークン(Chain-Token)560の転送処理例を示している。
【0134】
サービスの実現に関してユーザからの何らかの情報が必要な場合は、このチェイントークン(Chain-Token)560を利用して各々のチェインマネージャ(C-Manager)に、情報を伝えることができる。チェイントークン(Chain-Token)はチェインマネージャ(C-Manager)間でプログラムを実行するために必要な情報の受渡しと、サービスの起動と終了などの制御に利用される。
【0135】
(2.3.b)サービスの起動と終了
ルートチェインマネージャ(RC-Manager)が実現するサービスを決定してから、実際にサービスが起動されるまで、チェイントークン(Chain-Token)は2回送信される。1回目はサービスを実現するために必要な情報の取得、すなわち、ルートチェインマネージャ(RC-Manager)が他のチェインマネージャ(C-Manager)あるいはユーザに必要情報を問い合わせるトークンとして適用され、2回目は実際にサービスを起動する起動要求メッセージとして利用される。特に問い合わせる必要がないサービスでは情報問い合わせトークンを利用することなく、起動要求用のチェイントークン(Chain-Token)のみが利用される。
【0136】
チェインマネージャ(C-Manager)は、対応するチェインオブジェクト(C-Object)に設定されたIDと、チェインオブジェクト(C-Object)が実行可能なプログラムの組み合せ表を保持している。さらに各々のプログラムを実行するために必要な情報を管理している。例えばWebブラウザのプログラムを実行するためには、URLなどの情報が必要となり、Webブラウザのプログラムを実行するチェインオブジェクト(C-Object)に対応して設定されたチェインマネージャ(C-Manager)は、実行可能なプログラムとしてWebブラウザのプログラムを実行するために必要な情報としてURL情報を保持することになる。
【0137】
1回目のチェイントークン(Chain-Token)を受け取ったチェインマネージャ(C-Manager)は指定されたサービスを実現するプログラムの実行に必要なプログラム情報としての[属性]と[値]とをチェイントークン(Chain-Token)に格納して、返送、あるいは、他のチェインマネージャ(C-Manager)に転送する。値はチェインマネージャ(C-Manager)が初期設定不可能な場合は空白にしておく。さらにそのアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報も格納する。
【0138】
なお、TCPのようなコネクションでは受動的なプログラムから先に起動しなくてはならないという規則があるため、これらの情報は2回目のチェイントークン(Chain-Token)を送信する順序に利用される。
【0139】
1回目のチェイントークン(Chain-Token)が戻って来た時、ルートチェインマネージャ(RC-Manager)はユーザインタフェースを介したユーザとのインタラクションにより、空白の属性がある場合は、その値を決定し入力する。もしくは、2つのチェインマネージャ(C-Manager)が指定した情報に差異がある場合等には、調停できる場合は調停する。2回目にチェイントークン(Chain-Token)を送信する時、受動的にサービスを開始するプログラムを持つチェインマネージャ(C-Manager)を先の宛先にして宛先ルーティングを行なう。
【0140】
2回目にチェイントークン(Chain-Token)を受け取ったチェインマネージャ(C-Manager)は、プログラムの起動に必要な情報を必要に応じて、チェイントークン(Chain-Token)から取得し、サービスに対応するプログラムを起動する。また、起動されたプログラムの制御を行なうために、チェインマネージャ(C-Manager) は実行プログラムのプロセス情報を保持し、ルートチェインマネージャ(RC-Manager)からのチェイントークン(Chain-Token)をトリガとしてプログラム強制終了するなどの様々な制御を実行可能とする。
【0141】
なお、具体的なチェイントークン(Chain-Token)の構成、および、チェイントークン(Chain-Token)を用いた処理については後述する。
【0142】
[3.サービスチェインの実装]
前章においてサービスチェイン(Service-Chain)の鍵となる技術に関して説明した。これらの技術を統合し、動作させる実現方法は様々であるが、本章ではサービスチェイン(Service-Chain)において最低限の機能を実現する実装例を説明する。サービスチェイン(Service-Chain)の処理は大きく2つに分けることができる。
【0143】
第1の処理は、ルートチェインマネージャ(RC-Manager)からチェインディレクトリ(C-Directory)へのサービスの問い合わせと応答に関する処理であり、第2の処理は、サービスリストを受け取ったルートチェインマネージャ(RC-Manager)が、サービス実行に必要となるチェインオブジェクト(C-Object)に対応して設定されたチェインマネージャ(C-Manager)にサービスの実行を要求する処理である。
【0144】
(3.1)サービスプロファイルの登録
新規にチェインオブジェクト(C-Object)をサービスチェイン(Service-Chain)の要素として追加する際に、チェインマネージャ(C-Manager)とチェインディレクトリ(C-Directory)に対して、そのチェインオブジェクト(C-Object)のサービスプロファイルを登録する必要がある。このサービスプロファイルの登録処理について説明する。
【0145】
チェインマネージャ(C-Manager)に登録すべきサービスプロファイルは次の7項目である。
(1)識別子(ID)
(2)サービス名
(3)入力または出力
(4)能動的または受動的
(5)プログラムのパスと引数の使い方
(6)引数の属性
(7)値
【0146】
チェインマネージャ(C-Manager)に登録すべきサービスプロファイルのデータ構成例を図10に示す。図10の例は、PDA711によってビデオ721の制御を実行するために、PDA711にHTMLによる制御パネル表示を実行するサービス例を示している。また、各チェインマネージャ(C-Manager)のサービスプロファイルと、チェインディレクトリ(C-Directory)の有するサービス情報との対応関係を図11に示す。
【0147】
(1)識別子(ID)は、チェインマネージャ(C-Manager)に対応するチェインオブジェクト(C-Object)に設定された識別子(ID)である。図10の例では、チェインオブジェクト(C-Object)としてのPDA711に対応するチェインマネージャ(C-Manager)713のサービスプロファイルには、チェインオブジェクト(C-Object)としてのPDA711に設定された識別子(ID)=22344が設定され、チェインオブジェクト(C-Object)としてのビデオ721に対応するチェインマネージャ(C-Manager)722のサービスプロファイルには、チェインオブジェクト(C-Object)としてのビデオ721に設定された識別子(ID)=45543が設定される。
【0148】
(2)サービス名は、個々のサービスに対して設定された名称である。図10の例では、HTMLによるビデオの「制御パネル表示」をPDAのディスプレイにおいて実行する制御表示サービスを示すサービス名[control/html]が、PDA711に対応するチェインマネージャ(C-Manager)713のサービスプロファイルと、ビデオ721に対応するチェインマネージャ(C-Manager)722のサービスプロファイルの双方に格納される。
【0149】
(3)入力または出力は、チェインマネージャ(C-Manager)に対応するチェインオブジェクト(C-Object)が実行する可能なデータ処理形式は、[入力]であるか[出力]であるかを示す情報である。図10の例では、PDA711は、HTMLによる「制御パネル表示入力」処理を実行することになるので、HTMLデータの入力を行なうPDA711に対応するチェインマネージャ(C-Manager)713のサービスプロファイルに入力[in]が設定され、一方、HTMLデータの出力を行なうビデオ721は、ビデオの「制御パネル表示出力」処理を実行することになるので、ビデオ721に対応するチェインマネージャ(C-Manager)722のサービスプロファイルに出力[out]が設定される。
【0150】
これら(1)識別子(ID)、(2)サービス名、(3)入力または出力、の各情報は、図11に示すように、チェインディレクトリ(C-Directory)の有するチェインオブジェクト(C-Object)毎のサービス情報にも対応情報が格納される。
【0151】
(4)能動的(Proactive)または受動的(Reactive)とは、チェインオブジェクト(C-Object)において実行するアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報である。図10の例では、ビデオの制御パネル表示データを用いた処理アプリケーション、すなわち、ビデオ721の制御は、PDA711が能動的(proactive)に実行し、制御を受けるのは、ビデオ721であり、ビデオが受動的となる。従って、PDA711に対応するチェインマネージャ(C-Manager)713のサービスプロファイルに能動的[proactive]が設定され、一方、ビデオ721に対応するチェインマネージャ(C-Manager)722のサービスプロファイルに受動的[Reactive]が設定される。
【0152】
(5)プログラムのパスと引数の使い方の項目には、サービスの実行のために必要となるプログラムのパスと引数の使い方が設定される。例えば、ポート番号とアドレスを引数として必要なプログラムとして、何らかのファイル取得処理プログラム[fileget]を登録する場合、[/usr/local/bin/fileget -p $port -ip $address]と記述する。この場合、(6)引数の属性は[port]と、[address]の2個となる。
【0153】
図10の例では、PDA711に対応するチェインマネージャ(C-Manager)713のサービスプロファイルのプログラムのパスと引数の使い方(progarm)の項目には、HTMLによるビデオの「制御パネル表示」をPDAのディスプレイにおいて実行するためのプログラムのパスと引数の使い方として、[/usr/local/bin/netscape]が設定され、また、(6)引数の属性(attribute)には、urlであるとの情報が格納される。一方、ビデオ721は、受動的処理であるので、チェインマネージャ(C-Manager)722のサービスプロファイルのプログラム項目には、には、[null]が設定され、(6)引数の属性(attribute)にのみurlであるとの属性情報が格納される。
【0154】
(7)値は、サービス対応のプログラムを実行するために設定する属性に対応する値であり、図10の例では、HTMLによるビデオの「制御パネル表示」をPDAのディスプレイにおいて実行するために、urlの値がビデオ721のチェインマネージャ(C-Manager)722のサービスプロファイルの値(value)として設定される。
【0155】
なお、属性(Attribute)と、値(Value)との対応には、例えば以下に示すものがある。
属性:url、値:URLアドレス
属性:protocol、値:プロトコル
属性:port、値:ポート番号
属性:ipaddress、値:IPアドレス
属性:macaddress、値:MACアドレス
これらの属性名は、あらかじめ規定しておくことが必要である。
【0156】
チェインディレクトリ(C-Directory)に登録する情報は、図11に示すように、次の4項目である。
(1)チェインオブジェクト(C-Object)の識別子(ID)
(2)入力サービス名のリスト(Service in)
(3)出力サービス名のリスト(Service out)
(4)チェインマネージャ(C-Manager)のIPアドレス
上記4項目中、IPアドレス以外の3項目は、前述したようにチェインマネージャ(C-Manager)のサービスプロファイルに登録された情報に対応する情報である。
【0157】
チェインディレクトリ(C-Directory)にチェインマネージャ(C-Manager)が登録情報を通知する形態では、チェインディレクトリ(C-Directory)はチェインマネージャ(C-Manager)のIPアドレスを知ることができるので、上記4項目は、すべてチェインマネージャ(C-Manager)の登録情報から得ることができる。
【0158】
サービスチェイン(Service-Chain)ではチェインマネージャ(C-Manager)へのサービスプロファイルの登録は手動により行なう必要がある。一方、チェインディレクトリ(C-Directory)はネットワーク上に複数台あり得る。また新規なチェインオブジェクト(C-Object)が新たにサービスチェイン(Service-Chain)に加わったり、登録済みのチェインオブジェクト(C-Object)に新たなアプリケーションが導入されるなど、サービスプロファイルの変更は随時発生する可能性がある。それらの情報をすべて、手動で更新することは困難である。以下にサービスプロファイルの登録処理を述べる。
【0159】
(1)ユーザは新規にサービスチェイン(Service-Chain)の要素として加えたいチェインオブジェクト(C-Object)のサービスプロファイルをチェインマネージャ(C-Manager)のデータベースに登録する。
(2)チェインマネージャ(C-Manager)が保持するサービスプロファイルのデータベースが更新されると、更新時刻と保持するサービスプロファイルの情報をマルチキャストでネットワーク送信する。
(3)サービスプロファイルのマルチキャストを受け取ったチェインディレクトリ(C-Directory)は、登録されているチェインオブジェクト(C-Object)のサービスプロファイルを更新する。
【0160】
さらに、サービスチェイン(Service-Chain)では、ルートチェインマネージャ(RC-Manager)がチェインディレクトリ(C-Directory)を発見したり、新規にチェインディレクトリ(C-Directory)がネットワークの加わった時にチェインマネージャ(C-Manager)から既存のサービスプロファイル情報を受け取るためのプロトコルを用意し、このプロトコルに従って情報の伝達を実行する。また、チェインオブジェクト(C-Object)のIDを読み込んだルートチェインマネージャ(RC-Manager)が、チェインオブジェクト(C-Object)のIDに対応するサービス情報を登録したチェインディレクトリ(C-Directory)を知らない場合、チェインディレクトリ(C-Directory)発見要求をマルチキャストする。このパケットを受信したすべてのチェインディレクトリ(C-Directory)は応答しなければならない。
【0161】
サービスチェイン(Service-Chain)に参加しているチェインオブジェクト(C-Object)のIDは、少なくとも1つのチェインディレクトリ(C-Directory)にはサービス情報が登録されており、IDに基づく問い合わせを行なったルートチェインマネージャ(RC-Manager)は、そのチェインディレクトリ(C-Directory)から、問い合わせに対応するチェインオブジェクト(C-Object)のサービス情報を取得することが可能となる。
【0162】
また、チェインディレクトリ(C-Directory)がネットワークに新規に参加する場合、サービスプロファイル要求パケットを送信することができる。このパケットを受信したすべてのチェインマネージャ(C-Manager)は、自己の保有するプロファイルデータ中、チェインディレクトリ(C-Directory)に登録すべきデータ(図11参照)を格納したパケットを応答パケットとして送信する。この応答によりチェインディレクトリ(C-Directory)はネットワーク内に存在するサービスプロファイル情報を取得することができる。
【0163】
図12は、チェインオブジェクト(C-Object)としてのPDA751に対応するルートチェインマネージャ(RC-Manager)752が、チェインオブジェクト(C-Object)としてのスピーカ761に対応するチェインマネージャ(C-Manager)762と、チェインオブジェクト(C-Object)としてのCD771に対応するチェインマネージャ(C-Manager)772からそれぞれチェインオブジェクト(C-Object)のIDを取得して、チェインディレクトリ(C-Directory)にサービス問い合わせを実行し、CD771のコンテンツ再生処理をスピーカ761を用いて実行するサービス実行形態において、各チェインマネージャ(C-Manager)に登録されるサービスプロファイル・データ、およびチェインディレクトリ(C-Directory)のサービス情報・データ例を示している。
【0164】
スピーカ761に対応するチェインマネージャ(C-Manager)762のサービスプロファイルには、識別子(ID)として、チェインオブジェクト(C-Object)としてのスピーカ761のID=65433が登録され、サービス名は、mp3オーディオデータのフォーマットを示す[audio/mp3]が登録され、データ処理形式として、mp3オーディオデータの入力であるので[in]が設定される。
【0165】
また、チェインオブジェクト(C-Object)において実行するアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報は、スピーカ761からの音楽再生要求に基づいて、音楽データが配信、再生される構成を想定しているので、スピーカ761に対応するチェインマネージャ(C-Manager)762のサービスプロファイルには、能動的[proactive]が設定され、プログラムのパスと引数の使い方(program)の項目には、mp3データの受信、再生を実行するためのプログラムのパスと引数の使い方として、[/usr/local/bin/mss]が設定され、また、引数の属性(attribute)には、urlであるとの情報が格納される。
【0166】
一方、CD771に対応するチェインマネージャ(C-Manager)772のサービスプロファイルには、識別子(ID)として、チェインオブジェクト(C-Object)としてのCD771のID=66778が登録され、サービス名は、mp3オーディオデータのフォーマットを示す[audio/mp3]が登録され、データ処理形式として、mp3オーディオデータの出力であるので[out]が設定される。
【0167】
また、チェインオブジェクト(C-Object)において実行するアプリケーションが能動的に開始するものであるか、受動的に開始するものであるかの情報は、スピーカ761からの音楽再生要求に基づいて、音楽データの配信を行なうので、サービスプロファイルには、受動的[reactive]が設定され、プログラムのパスと引数の使い方(program)の項目には、プログラムが受動的処理として実行されるので[null]が設定され、引数の属性(attribute)には、urlであるとの情報が格納され、値として、mp3オーディオデータの配信を実行するためのurlの値が設定される。
【0168】
(3.2)サービスの問い合わせと応答
ルートチェインオブジェクト(RC-Object)のルートチェインマネージャ(RC-Manager)は他のチェインオブジェクト(C-Object)のIDを読みとる必要がある。サービスチェイン(Service-Chain)ではIDの読みとり方法は規定しない。前述したように、サービスチェイン(Service-Chain)では、あらゆる物体がチェインオブジェクト(C-Object)となっていることを仮定している。チェインオブジェクト(C-Object)のサービスを実際に提供するのはチェインマネージャ(C-Manager)であるため、チェインオブジェクト(C-Object)が通信デバイスを装着している必要はない。ネットワーク経由によるID取得だけでなく、赤外線、バーコード、rfIDなどの手法によりチェインオブジェクト(C-Object)のIDを取得することができる。物体同士を接続したり、カメラでキャプチャすることによりチェインオブジェクト(C-Object)のIDを検知するような、前述した実世界指向インタフェイスを活用し利便性を高めることも可能である。
【0169】
図13は、チェインオブジェクト(C-Object)のIDを検知したルートチェインマネージャ(RC-Manager)がチェインディレクトリ(C-Directory)に送信するサービス問い合わせフレームのフォーマットを示している。これはアプリケーション層で利用されるフレームであり、下位層ではIPとUDPの通信プロトコルを利用している。
【0170】
トランザクションID(T−id)は、サービス問い合わせを行なったフレームに対する応答を識別するための数字で乱数が格納される。ルートチェインオブジェクトID(RC-id)と、チェインオブジェクトID(C-id)は、サービス問い合わせにおいて格納する2つのオブジェクトIDであり、各々ルートチェインオブジェクト(RC-Object)のIDとチェインオブジェクト(C-Object)のIDである。
【0171】
ルートチェインマネージャ(RC-Manager)は、2つのチェインオブジェクト(C-Object)のIDを格納した図13に示すサービス問い合わせフレームをチェインディレクトリ(C-Directory)に送信してサービス問い合わせを行なう。なお、前述したように、所定の閾値時間内に連続して異なるチェインオブジェクト(C-Object)のIDを格納したフレームを送信することで、2つ以上の様々な組み合わせのチェインオブジェクト(C-Object)相互において実行されるサービス情報を取得することができる。
【0172】
図14は、ルートチェインマネージャ(RC-Manager)から、図13に示すサービス問い合わせフレームを受領したチェインディレクトリ(C-Directory)が、ルートチェインマネージャ(RC-Manager)に対して送信するサービス問い合わせ応答フレームのフォーマットを示している。
【0173】
トランザクションID(T-id)にはサービス問い合わせのフレームのトランザクションID(T-id)をそのまま格納する。実行可能サービス数(Snum)は、チェインディレクトリ(C-Directory)でサービス実現可能だと判断されたサービスの数を示す情報である。
【0174】
その後に、具体的にサービスの情報が格納される。領域801は、1個のサービスに関する情報であり、複数のサービスが可能であれば、領域801の情報が複数組、すなわち、実行可能サービス数(Snum)に対応する組数、付加される。例えば、Snum=3の場合、Snumの後には、3組のサービス領域が格納されることになる。
【0175】
サービス名(Sname)はサービスの名称である。サービスはtext/html、あるいはcontrol/html、application/EDI-Constant、audio/mp4a-latm、image/jpegなどのように[タイプ/サブタイプ]で示す。そのためMIME表記をそのまま利用することも可能である。また、サービス名からユーザが実行するサービスを選択するためには、この表記から必要に応じてユーザが理解できる文字列に変換し、ユーザに提示する。この変換処理は、ルートチェインマネージャ(RC-Manager)が必要に応じて実行する。本発明の構成において適用可能なMIMEファイル形式の例を図15に示す。
【0176】
[(In-id & In-ip)サービス入力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]は、サービスの入力を行なうチェインオブジェクト(C-Object)のIDとチェインマネージャ(C-Manager)のIPアドレスが格納される。
【0177】
[(Out-id & Out-ip)サービス出力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]は、サービスの出力を行なうチェインオブジェクト(C-Object)のIDとチェインマネージャ(C-Manager)のIPアドレスが格納される。
【0178】
(3.3)サービスの属性要求とサービス間の結合
チェインディレクトリ(C-Directory)から図14に示すサービス問い合わせ応答フレームを受け取ったルートチェインマネージャ(RC-Manager)は、複数のサービスが存在した場合、そのリストから実現したいサービスを1つ選択する必要がある。
【0179】
これは、ルートチェインマネージャ(RC-Manager)とユーザのインタラクションにより決定する。利用したいサービスが決定した時、ルートチェインマネージャ(RC-Manager)は図16のフォーマットのチェイントークン(Chain-Token)を作成する。
【0180】
[T−id:トランザクションID]は、チェイントークン(Chain-Token)フレームの識別子であるトランザクションIDである。
[Flag:アプリケーションプログラム制御用フラグ]は、チェインマネージャ(C-Manager)に対してアプリケーションの開始、終了などの制御メッセージの種別を示すフラグである。
【0181】
[Hnum:ホップ数]は、チェイントークン(Chain-Token)フレームのホップ数を格納する。このホップ数をもとにチェインマネージャ(C-Manager)は、チェイントークン(Chain-Token)が何回受け渡しされたいるのかを知ることができ、次にどこに送れば良いのかを決定する。
【0182】
[Sname:サービスネーム]には選択したサービス名が格納される。
[In−id&In−ip:サービス入力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]は、サービスの入力を行なうチェインオブジェクト(C-Object)のIDとチェインマネージャ(C-Manager)のIPアドレスが格納される。
[Out−id&Out−ip:サービス出力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]は、サービスの出力を行なうチェインオブジェクト(C-Object)のIDとチェインマネージャ(C-Manager)のIPアドレスが格納される。
これらの[In-id & In-ip]、[Out-id & Out-ip]は、図14に示したチェインディレクトリ(C-Directory)から受領したサービス問い合わせ応答フレームの格納情報を用いる。
【0183】
[RC−ip:ルートチェインマネージャ(RC-Manager)IPアドレス]には、ルートチェインマネージャ(RC-Manager)自らのIPアドレスを格納する。
【0184】
[Reactive−ip:受動アプリケーションプログラムを有するチェインマネージャ(C-Manager)のIPアドレス]には、受動的に開始するアプリケーションを持つチェインマネージャ(C-Manager)のIPアドレスが格納される。この領域の値は、1度目にチェイントークン(Chain-Token)を回す際に途中のチェインマネージャ(C-Manager)によって格納される。そのためルートチェインマネージャ(RC-Manager)が最初に送信するチェイントークン(Chain-Token)では空白となっている。
【0185】
[Anum:属性数]と、[Attribute&Value:属性および値]は、サービスの実行プログラムに対応する属性数と、属性および値を格納する領域である。これらの領域も、初期状態では空白で送信され、途中のチェインマネージャ(C-Manager)によって格納される。
【0186】
前述したようにチェイントークン(Chain-Token)は最初にサービス入力のチェインマネージャ(C-Manager)に送信される。チェインマネージャ(C-Manager)にはチェインマネージャ(C-Manager)が管理するチェインオブジェクト(C-Object)のIDのサービスに対応したプログラムと、そのプログラムを実行するのに必要な属性[Attribute]と値[Value]を保持している。サービス入力のチェインマネージャ(C-Manager)はその属性[Attribute]と値[Value]を、チェイントークン(Chain-Token)に格納する。なお、値[Value]のデフォルト値が存在しない場合は、は空白にして送る。
【0187】
なお、[Anum:属整数]は、属性[Attribute]の数を示していて、[Anum:属整数]の数だけ属性[Attribute]と値[Value]の組が存在することになる。チェイントークン(Chain-Token)がルートチェインマネージャ(RC-Manager)に戻ってきた際に値[Value]が未決定の属性[Attribute]が存在した場合のみユーザとのインタラクションにより必要な値[Value]を入力する処理を実行する。
【0188】
ルートチェインマネージャ(RC-Manager)が2度目にチェイントークン(Chain-Token)を送信する際は、[Reactive-ip]に示してある受動的なプログラムを実行するチェインマネージャ(C-Manager)に先に、2度目のチェイントークン(Chain-Token)を送信する。
【0189】
2度目のチェイントークン(Chain-Token)を受け取ったチェインマネージャ(C-Manager)は、プログラム実行に必要な属性[Attribute]と値[Value]をチェイントークン(Chain-Token)から読み込み、サービスのプログラムを起動する。
【0190】
具体的なサービス実行に対応するチェイントークン(Chain-Token)の構成、およびチェイントークン(Chain-Token)を用いた処理について図17を参照して説明する。図17に示す例は、ルートチェインオブジェクト(RC-Object)としてのPDA851によってチェインオブジェクト(C-Object)としてのビデオ861の制御を実行するために、PDA851にHTMLによる制御パネル表示を実行するサービス例を示している。
【0191】
前述したように、ルートチェインマネージャ(RC-Manager)が実現するサービスを決定してから、実際にサービスが起動されるまで、チェイントークン(Chain-Token)は、原則として2回送信される。1回目はサービスを実現するために必要な情報をルートチェインマネージャ(RC-Manager)が取得するための情報取得処理用トークンであり、2回目は実際にサービスを起動する起動要求メッセージとして利用される。図17には、ルートチェインオブジェクト(RC-Object)としてのPDA851に対応するルートチェインマネージャ(RC-Manager)853の送信する1回目のチェイントークン(Chain-Token)がPDA851に対応するチェインマネージャ(C-Manager)852と、ビデオ861に対応するチェインマネージャ(C-Manager)862を経由して、ルートチェインマネージャ(RC-Manager)853に戻るまでのチェイントークン(Chain-Token)のデータ構成を示している。
【0192】
図17(a)は、PDA851に対応するルートチェインマネージャ(RC-Manager)853から、PDA851に対応するチェインマネージャ(C-Manager)852に送信されるチェイントークン(Chain-Token)のデータ構成を示している。
【0193】
[T−id:トランザクションID]は、チェイントークン(Chain-Token)フレームの識別子であるトランザクションIDとしての乱数が格納される。[Flag:アプリケーションプログラム制御用フラグ]は、チェインマネージャ(C-Manager)に対してアプリケーションの開始、終了などの制御メッセージの種別を示すフラグであり、この場合は、1回目のチェイントークン(Chain-Token)であり、情報取得処理用のチェイントークン(Chain-Token)であることを示す識別フラグ[1(exec)]が設定される。
【0194】
[Hnum:ホップ数]は、チェイントークン(Chain-Token)フレームのホップ数を格納し、この時点では、ホップ数=0が設定される。[Sname:サービスネーム]には選択したサービス名、ここでは、PDA851にHTMLによる制御パネル表示を実行するサービスを示すサービス名[control/html]が格納される。
【0195】
[In−id&In−ip:サービス入力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]は、サービスの入力を行なうチェインオブジェクト(C-Object)のIDとチェインマネージャ(C-Manager)のIPアドレスであり、制御パネル表示の入力処理を行なうチェインオブジェクト(C-Object)としてのPDA851のID=22344と、PDA851に対応するチェインマネージャ(C-Manager)852のIPアドレス=133.138.1.22が格納される。
【0196】
[Out−id&Out−ip:サービス出力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]は、サービスの出力を行なうチェインオブジェクト(C-Object)のIDとチェインマネージャ(C-Manager)のIPアドレスであり、制御パネル表示の出力処理を行なうチェインオブジェクト(C-Object)としてのビデオ861のID=45543と、ビデオ861に対応するチェインマネージャ(C-Manager)862のIPアドレス=133.138.1.10が格納される。
【0197】
これらの[In-id & In-ip]、[Out-id & Out-ip]は、前述したように、図14に示したチェインディレクトリ(C-Directory)から受領したサービス問い合わせ応答フレームの格納情報を用いる。
【0198】
[RC−ip:ルートチェインマネージャ(RC-Manager)IPアドレス]には、ルートチェインマネージャ(RC-Manager)853自らのIPアドレス=133.138.1.22を格納する。
【0199】
[Reactive−ip:受動アプリケーションプログラムを有するチェインマネージャ(C-Manager)のIPアドレス]には、受動的に開始するアプリケーションを持つチェインマネージャ(C-Manager)のIPアドレスが格納される。この領域の値は、前述したように1度目にチェイントークン(Chain-Token)を回す際に途中のチェインマネージャ(C-Manager)によって格納される。そのためルートチェインマネージャ(RC-Manager)が最初に送信するチェイントークン(Chain-Token)では空白[null]となっている。[Anum:属性数]も同様に、この時点では空白である。
【0200】
図17(b)は、PDA851に対応するチェインマネージャ(C-Manager)852からビデオ861に対応するチェインマネージャ(C-Manager)862に送信されるチェイントークン(Chain-Token)のデータ構成を示している。
【0201】
図17(b)は、PDA851に対応するチェインマネージャ(C-Manager)852がチェイントークン(Chain-Token)に対してデータ格納および更新処理を実行した結果を示している。
【0202】
まず、[Hnum:ホップ数]を更新し、ホップ数=1を設定する。さらに、[Reactive−ip:受動アプリケーションプログラムを有するチェインマネージャ(C-Manager)のIPアドレス]に、受動的に開始するアプリケーションを持つチェインマネージャ(C-Manager)のIPアドレスとして、受動アプリケーションプログラムを有するチェインマネージャである自己のIPアドレス=133.138.1.22を格納する。
【0203】
さらに、[Anum:属性数]として、サービスプログラム(HTMLによる制御パネル表示)の実行に必要となる属整数(Anum)=1を設定し、属性(Attribute)=url、値(value)=NULLを書き込む。これ、属性数(Anum)、属性(Attribute)、値(value)は、いずれも、PDA851に対応するチェインマネージャ(C-Manager)852の保有するプロファイル情報(図10参照)に対応する情報であり、チェイントークン(Chain-Token)に設定されたサービス名=[control/html]に基づいて、プロファイル情報から同一のサービス名=[control/html]に対応する属性数(Anum)、属性(Attribute)、値(value)を取得して、チェイントークン(Chain-Token)に格納する。
【0204】
図17(c)は、ビデオ861に対応するチェインマネージャ(C-Manager)862から、PDA851に対応するルートチェインマネージャ(RC-Manager)853に送信されるチェイントークン(Chain-Token)のデータ構成を示している。
【0205】
図17(c)は、ビデオ861に対応するチェインマネージャ(C-Manager)862がチェイントークン(Chain-Token)に対してデータ格納および更新処理を実行した結果を示している。
【0206】
まず、[Hnum:ホップ数]を更新し、ホップ数=2を設定する。さらに、[Anum:属性数]として、サービスプログラム(HTMLによる制御パネル表示)の実行に必要となる属整数(Anum)を1から2に更新し、属性(Attribute)=url、値(value)=http://133.138.1.10/video.htmlを格納する。このurlは、HTMLによる制御パネル表示データを取得するために必要となるurlを示している。
【0207】
このように、1回目のチェイントークン(Chain-Token)をサービスに参加するチェインオブジェクト(C-Object)に対応するチェインマネージャ(C-Manager)間で巡回させて、ルートチェインマネージャ(RC-Manager)に戻すことで、サービスを実現するために必要な情報が取得される。
【0208】
1回目のチェイントークン(Chain-Token)が戻って来た時、ルートチェインマネージャ(RC-Manager)は、空白の属性がある場合は、ユーザインタフェースを介したユーザとのインタラクションにより値を決定し入力する。2回目にチェイントークン(Chain-Token)を送信する時、受動的にサービスを開始するプログラムを持つチェインマネージャ(C-Manager)を先の宛先にして宛先ルーティングを行なう。図17の例では、ビデオ861に対応するチェインマネージャ(C-Manager)862を先の宛先にして宛先ルーティングを行なう。
【0209】
2回目にチェイントークン(Chain-Token)を受け取ったチェインマネージャ(C-Manager)は、プログラムの起動に必要な情報はすべて揃っているため、即座に該当するプログラムを起動する。また永続的に実行されるプログラムの制御を行なうために、チェインマネージャ(C-Manager) は実行プログラムのプロセス情報を保持しチェイントークン(Chain-Token)を用いてプログラム強制終了することもできる。
【0210】
[4.サービスチェイン適用処理フロー]
次に、図18〜図21のフローチャートを参照して、上述したサービスチェインを適用した処理について、処理プロセス毎に処理手順を説明する。
【0211】
(4.1)ルートチェインマネージャ(RC-Manager)によるサービス決定処理まず、ルートチェインマネージャ(RC-Manager)の実行するサービス決定処理について、図18の処理フローに従って説明する。
【0212】
まず、ステップS121において、ルートチェインマネージャ(RC-Manager)は、サービスチェインを構成しサービスを実行するために必要となるチェインオブジェクト(C-Object)のIDを取得する。ID取得は、前述したようにネットワーク経由によるID取得だけでなく、赤外線、バーコード、rfIDなどの手法により実行してもよい。
【0213】
ステップS122では、ルートチェインマネージャ(RC-Manager)のIDと、取得した他のチェインオブジェクト(C-Object)のIDを格納したサービス問い合わせパケット(図13参照)を生成し、チェインディレクトリ(C-Directory)に送信する。
【0214】
ステップS123で、チェインディレクトリ(C-Directory)からサービス問い合わせ応答フレーム(図14参照)としてのサービスリストの受信の有無を判定し、未受信場合はタイムアウトまで(ステップS124)待機する。タイムアウトとなった場合は、取得したチェインオブジェクト(C-Object)のIDと実現可能なサービスが存在しなかったことと判断してステップS121に戻る。
【0215】
チェインディレクトリ(C-Directory)からリストを受信すると、ステップS125において、実行可能サービスについてのユーザからの指定の有無を判定し、ない場合は、ステップS121に戻る。ユーザの指定があると、ステップS126において、ユーザ指定に基づいて実行サービスを決定する。
【0216】
実行サービスが決定されると、実行サービスに従って、チェイントークン(Chain-Token)が生成されて、サービスに参加するチェインオブジェクト(C-Object)に対応するチェインマネージャ(C-Manager)に送信される。
【0217】
(4.2)チェインディレクトリ(C-Directory)によるサービス問い合わせ応答処理
次に、図19を参照して、ルートチェインマネージャ(RC-Manager)から、サービス問い合わせパケット(図13参照)を受信したチェインディレクトリ(C-Directory)の実行するサービス問い合わせ応答処理について説明する。
【0218】
なお、前述したように、ルートチェインマネージャ(RC-Manager)がチェインディレクトリ(C-Directory)にサービス問い合わせのために送信するIDは必ず2個のIDである。1個目はルートチェインオブジェクト(RC-Object)自身のIDで、2個目が取得した他のチェインオブジェクト(C-Object)のIDである。
【0219】
ステップS151において、チェインディレクトリ(C-Directory)は、サービス問い合わせパケットを受信したか否かを判定し、受信まで待機する。パケットを受信すると、ステップS152において、サービス問い合わせパケットに格納されたルートチェインオブジェクト(RC-Object)のID(ID1)と、他のチェインオブジェクト(C-Object)のID(ID2)と、パケット受信時刻を、ルートチェインマネージャ(RC-Manager)からのサービス問い合わせ履歴情報としてのチェインリスト(Chain-List)(図7参照)に格納する。
【0220】
次に、ステップS153において、履歴データベースとしてのチェインリスト(Chain-List)から、同一のルートチェインマネージャ(RC-Manager)のID(ID1)と組み合わされたチェインオブジェクト(C-Object)のID(IDn)が存在するか否かを検索する。なお、履歴データベースとしてのチェインリスト(Chain-List)は、予め定められた閾値時間内においてのみデータを格納し、予め定められた閾値時間を超えるとデータが消去される。従って、チェインリスト(Chain-List)に同一のルートチェインマネージャ(RC-Manager)のID(ID1)と組み合わされたチェインオブジェクト(C-Object)のID(IDn)が存在する場合には、同一のルートチェインマネージャ(RC-Manager)から連続的にサービス問い合わせパケットを受信したと判定する。
【0221】
ステップS154において、チェインリスト(Chain-List)に同一のルートチェインマネージャ(RC-Manager)のID(ID1)と組み合わされたチェインオブジェクト(C-Object)のID(IDn)が存在すると判定されると、ステップS155において、ID1、ID2、ID(n)の全ての組合わせで実現可能なサービスを検索する。
【0222】
サービス検索は、チェインディレクトリ(C-Directory)の有するサービス情報データベース、すなわちチェインオブジェクト(C-Object)のIDに対応するサービス情報(図11、図12参照)を参照し、サービス入力(Servicein)とサービス出力(Service out)とのマッチングを検索することによって行われる。具体的には、例えば入力ファイルフォーマットがMPEG2のチェインオブジェクト(C-Object)と、出力ファイル形式がMPEG2のチェインオブジェクト(C-Object)はマッチングが成立し、MPEG2の画像データの入出力サービスが実現される等である。
【0223】
ステップS155では、ID1、ID2、ID(n)の全ての組合わせで実現可能なサービスを検索する。一方、ステップS154の判定において、チェインリスト(Chain-List)に同一のルートチェインオブジェクト(RC-Object)のID(ID1)と組み合わされたチェインオブジェクト(C-Object)のID(IDn)が存在しないと判定されると、ステップS156において、ID1、ID2のみの組合わせで実現可能なサービスを検索する。
【0224】
ステップS157では、検索されたサービスに関する情報としてのリストを作成する。リストは、図14に示したサービス問い合わせ応答フレームの領域801に対応する情報を含む。すなわち、サービス名(Sname)、[(In-id & In-ip)サービス入力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]、および、[(Out-id & Out-ip)サービス出力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]の各情報である。これらの情報は、いずれもチェインディレクトリ(C-Directory)の有するサービス情報データベースから取得される。なお、複数のサービスが実現可能である場合は、複数のサービス各々について、図14に示したサービス問い合わせ応答フレームの領域801に対応する情報を生成する。
【0225】
次に、ステップS158において、生成したサービスリストをサービス問い合わせ応答フレーム(図14参照)に格納し、さらに、トランザクションID、サービス数(Snum)を格納してサービス問い合わせ応答フレームを生成する。
【0226】
次に、ステップS159において、生成したサービス問い合わせ応答フレームをルートチェインマネージャ(RC-Manager)に対して送信する。
【0227】
(4.3)ルートチェインマネージャ(RC-Manager)におけるチェイントークン(Chain-Token)の処理
次に、図20のフローを参照して、ルートチェインマネージャ(RC-Manager)におけるチェイントークン(Chain-Token)の処理について説明する。
【0228】
ルートチェインマネージャ(RC-Manager)は、チェインディレクトリ(C-Directory)から受領したサービス問い合わせ応答フレームに基づいて、例えばユーザのインタラクションにより利用サービスを決定する。利用サービスが決定すると、ルートチェインマネージャ(RC-Manager)は、ステップS221において、図16のフォーマットのチェイントークン(Chain-Token)を作成する。
【0229】
ステップS222において、ルートチェインマネージャ(RC-Manager)は、生成したチェイントークン(Chain-Token)を、サービス実現に必要なチェインオブジェクト(C-Object)に対応するチェインマネージャ(C-Manager)に巡回させて、チェイントークン(Chain-Token)の戻りを待機する。所定のタイムアウト時間まで、チェイントークン(Chain-Token)の戻りがなかった場合(S224:Yes)は、エラー終了となる。
【0230】
チェイントークン(Chain-Token)を所定時間内に受信すると、ステップS225において、受領トークンを検証し、空白[Null]の設定された属性値[Value]があるか否かを判定し、ある場合は、ステップS226において、ユーザとのインタラクションまたは調停により空白の値[Value]を設定し、必要情報を格納する。
【0231】
ステップS227では、必要情報がすべて格納されたトークンを2回目のチェイントークン(Chain-Token)、すなわちサービス実行のためのプログラム起動を要求するチェイントークン(Chain-Token)としてサービス実現に必要なチェインオブジェクト(C-Object)に対応するチェインマネージャ(C-Manager)に巡回させる。なお、2回目にチェイントークン(Chain-Token)を送信する時、受動的にサービスを開始するプログラムを持つチェインマネージャ(C-Manager)を先の宛先にして宛先ルーティングを行なう。
【0232】
次に、ステップS228で、2回目のチェイントークン(Chain-Token)の戻りを待機する。所定のタイムアウト時間まで、チェイントークン(Chain-Token)の戻りがなかった場合(S229:Yes)は、エラー終了となる。チェイントークン(Chain-Token)を所定時間内に受信(S228:Yes)すると、処理を終了する。
【0233】
この処理によって、2回目のチェイントークン(Chain-Token)を受領したチェインマネージャ(C-Manager)はサービス対応のプログラムを起動し、サービスが実行される。
【0234】
(4.4)チェインマネージャ(C-Manager)におけるチェイントークン(Chain-Token)の処理
次に、図21のフローを参照して、チェインマネージャ(C-Manager)におけるチェイントークン(Chain-Token)の処理について説明する。
【0235】
チェインマネージャ(C-Manager)は、ルートチェインマネージャ(RC-Manager)から1回目、あるいは2回目のチェイントークン(Chain-Token)を受領して、それぞれのチェイントークン(Chain-Token)に基づく処理を実行する。
【0236】
ステップS251において、チェインマネージャ(C-Manager)が、チェイントークン(Chain-Token)を受領すると、ステップS252において、受信したチェイントークン(Chain-Token)内から、自アドレスを検索する。
【0237】
図16または図17を参照して説明したように、チェイントークン(Chain-Token)には、[In−id&In−ip:サービス入力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]、および[Out−id&Out−ip:サービス出力用のチェインオブジェクトIDおよびチェインマネージャIPアドレス]が格納されており、これらのフィールドの情報に基づいて、チェインマネージャ(C-Manager)は自身が入力処理を実行するか出力処理を実行するかを判定する。
【0238】
次に、ステップS253において、チェイントークン(Chain-Token)に設定されたID、サービス名、IN/OUT情報に基づいて、チェインマネージャ(C-Manager)が保有するプロファイル(図10、図11参照)から、対応する情報を検索する。
【0239】
次に、ステップS254において、受信したチェイントークン(Chain-Token)が情報収集用の1回目のトークンであるかを判定する。これは、チェイントークン(Chain-Token)に設定されたホップ数(Hnum)に基づいて判定する。
【0240】
1回目のチェイントークン(Chain-Token)であると判定した場合は、ステップS255において、チェイントークン(Chain-Token)に設定されたサービスに対応する自己のプロファイルが受動的[Reactive]である場合、チェイントークン(Chain-Token)の[Reactive−ip:受動アプリケーションプログラムを有するチェインマネージャ(C-Manager)のIPアドレス]に、自己のIPアドレスを格納する。
【0241】
さらに、ステップS256において、プログラム起動に必要な、属性(Attribute)、値(value)を書き込み、ステップS257において、チェイントークン(Chain-Token)の次送付先、すなわち、チェインマネージャ(C-Manager)、またはルートチェインマネージャ(RC-Manager)のいずれかを決定する。この決定処理は、チェイントークン(Chain-Token)に設定されたホップ数(Hnum)に基づいて実行する。ステップS258において、決定した送付先にチェイントークン(Chain-Token)を送信する。
【0242】
一方、ステップS254において、2回目のチェイントークン(Chain-Token)であると判定した場合は、ステップS261において、チェイントークン(Chain-Token)に設定されたプログラム起動に必要となる属性(Attribute)、値(value)を取得し、ステップS262において、チェイントークン(Chain-Token)の設定フラグに基づいて、プログラムの起動要求であるか、終了要求であるかを判定し、要求に従った処理を実行する。
【0243】
次に、ステップS257において、チェイントークン(Chain-Token)の次送付先、すなわち、チェインマネージャ(C-Manager)、またはルートチェインマネージャ(RC-Manager)のいずれかを決定する。この決定処理は、チェイントークン(Chain-Token)に設定されたホップ数(Hnum)に基づいて実行する。ステップS258において、決定した送付先にチェイントークン(Chain-Token)を送信する。
【0244】
[5.サービスチェインの利用例]
上述したサービスチェイン(Service-Chain)を利用する最大の利点は、その拡張性と利便性の高さである。今後、新たに製造される情報処理装置、あるいは情報処理装置以外の物体もチェインオブジェクト(C-Object)としてサービスチェイン(Service-Chain)の基盤上で動作させることが可能である。さらに特定のサービスに特化して設計されていないため、データフォーマットの種類さえ合えば既存のチェインオブジェクト(C-Object)間で容易に接続し、相互のオブジェクトを適用したサービスを実行することができる。具体的には、次のようなサービスの形態が考えられる。
【0245】
(a)付加情報配信サービス
Webのアノテーションのように、実世界において何かの物の付加情報を得るという仕組みを提供することが容易である。例えばポスターのIDを読み込むと、そのポスターの詳細な情報を得ることができたり。社員番号で情報を登録することもできる。バーコードの情報を読み込みWebを表示するようなサービスも、上述したチェインオブジェクト(C-Object)を接続したサービスチェイン(Service Chain)で実現することができる。
【0246】
(b)機器間接続支援サービス
現在、ビデオ、テレビ、DVD、オーディオ機器など複数の機器が一般家庭にごく当たり前のように設置されている。さらにインターネットの世界になると、ビデオフォーマット一つ取っても多種であり、どの機器がどのフォーマットをサポートしているかを把握しておくことは容易ではない。サービスチェイン(Service-Chain)では機器のIDを読み込むという気軽な動作で、チェインオブジェクト(C-Object)としての機器がどのようなサービスが実現可能であるかそして実現が不可能であるかを知ることができる。従って、ユーザが各機器の詳細情報を知ることなく、処理可能なデータのみを提供し、処理させることが可能となる。
【0247】
(c)実世界指向インタフェイス
サービスチェイン(Service-Chain)では、実際にサービスを提供するチェインマネージャ(C-Manager)と、チェインオブジェクト(C-Object)としては分けて考えることができる。例えば、HTMLのテキスト情報表示[text/html]を実行する際、チェインオブジェクト(C-Object)としての壁に情報を表示したい場合はチェインオブジェクト(C-Object)としての壁に付加しているIDを読みとる。実際に壁に対するデータ表示処理を実行するのは他のチェインオブジェクト(C-Object)としてのプロジェクタとし、これらの壁と、プロジェクタとをサービスチェイン(Service-Chain)で接続し、それぞれのチェインオブジェクト(C-Object)に対応するチェインマネージャ(C-Manager)において、HTMLのテキスト情報表示[text/html]処理のサービスを実行するためのプログラムを起動することが可能である。
【0248】
プロジェクタは、HTMLデータをパソコン経由で映し出す処理を実行しているかもしれない。しかし利用者は、壁にどのように映し出されたかは気にする必要がないのである。これはまさにコンピュータは見えない存在となり、ユビキタスの世界におけるデータ処理を実現するものとなる。
【0249】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0250】
なお、明細書中において説明した各処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、又は各種のプログラムをインストールすることで各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、フレキシブルディスクやCD−ROM等のプログラム読み取り可能な記録媒体にプログラムを格納して提供してもよいし、インターネットなどの通信網を介してプログラムをダウンロードしてもよい。
【0251】
具体的には、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0252】
また、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0253】
また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0254】
【発明の効果】
以上、説明したように、本発明の構成においては、固有の識別子(ID)を付与された複数のチェインオブジェクトと、複数のチェインオブジェクトの各々に対応して設定され、チェインオブジェクトを適用した処理の制御を実行するチェインマネージャと、チェインオブジェクト各々の実行可能なサービス情報を格納したチェインディレクトリと、チェインオブジェクトのID取得処理を実行するとともに、取得IDを持つチェインオブジェクトを適用した実行可能なデータ処理サービスについて、チェインディレクトリに問い合わせ、該問い合わせに対する応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なうルートチェインマネージャとによって、様々なサービス提供、受領構成を実現したので、クライアントの身の回りにあるディスプレイ、プリンタ、PC、PDA、スピーカ、情報家電は勿論のこと、これら情報処理装置以外の機器、物品、生き物、本、石等、身の回りにある、あらゆる物体をチェインオブジェクトとして設定するとともに、これらのチェインオブジェクトに対応するチェインマネージャを設定することで、あらゆる物を制御対象とし、それらの物同士の情報伝達を可能として、様々な処理を実現することが可能となり、フレキシブルなサービスの提供および受領構成が実現される。
【0255】
さらに、本発明の構成によれば、ルートチェインマネージャは、サービスの実行に必要なプログラム情報を取得するための第1のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第2のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であるので、各チェインマネージャが、プログラムの実行に必要な情報を予め保有していない場合においても、必要情報を取得した上で、プログラムを実行することが可能となる。
【0256】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャからのサービス問い合わせに応答して、サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報中から、同一データフォーマットのデータ入力とデータ出力との組合わせを検索するマッチング処理を実行し、マッチングの成立したデータ入出力に対応するサービスを実行可能なデータ処理サービスとして、前記サービス問い合わせに対する応答を生成する構成であるので、同一のデータフォーマットの入出力処理が確実に実行できる機器同士を結びつけることが可能となり、データ処理エラー等を発生させることのないサービス提供、受領処理が実現される。
【0257】
さらに、本発明の構成によれば、チェインディレクトリは、ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、チェインリストに記録されたIDも含めた3以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成としたので、2つの機器のみならず、3以上の任意数の機器間で実行可能なサービスの検索が可能となる。
【図面の簡単な説明】
【図1】チェインオブジェクト(C-Object)、チェインマネージャ(C-Manager)について説明する図である。
【図2】チェインマネージャ(C-Manager)、ルートチェインマネージャ(RC-Manager)、およびルートチェインオブジェクト(RC-Object)のハードウェア構成例を示す図である。
【図3】サービスチェイン(Service-Chain)を介したサービスを実現するための各構成要素の関係と基本動作を説明する図である。
【図4】サービスチェイン(Service-Chain)を利用したサービスの1つの具体例について説明する図である。
【図5】新たなチェインオブジェクト(C-Object)としてプロジェクタを追加した場合の、ビデオとプロジェクタによるサービス実行に至るまでの処理について説明する図である。
【図6】複数のチェインオブジェクト(C-Object)が実行可能な[入力]または[出力]のファイル形式および、マッチング関係の概念図を示す図である。
【図7】ルートチェインマネージャ(RC-Manager)がサービス問い合わせを行なった履歴であるチェインリスト(Chain-List)の例を示す図である。
【図8】ルートチェインマネージャ(RC-Manager)が、チェインディレクトリ(C-Directory)に対して、サービス問い合わせを連続的に実行した処理例を示す図である。
【図9】チェイントークン(Chain-Token)の転送処理について説明する図である。
【図10】チェインマネージャ(C-Manager)に登録すべきサービスプロファイルのデータ構成例を示す図である。
【図11】チェインディレクトリ(C-Directory)の有するチェインオブジェクト(C-Object)毎のサービス情報を説明する図である。
【図12】チェインマネージャ(C-Manager)に登録すべきサービスプロファイルのデータ、チェインディレクトリ(C-Directory)の有するサービス情報の具体例を説明する図である。
【図13】サービス問い合わせフレームのフォーマットを示す図である。
【図14】サービス問い合わせ応答フレームのフォーマットを示す図である。
【図15】本発明の構成において適用可能なMIMEファイル形式の例を示す図である。
【図16】チェイントークン(Chain-Token)のフォーマットを示す図である。
【図17】具体的なサービス実行に対応するチェイントークン(Chain-Token)の構成、およびチェイントークン(Chain-Token)を用いた処理について説明する図である。
【図18】ルートチェインマネージャ(RC-Manager)によるサービス決定処理を説明するフロー図である。
【図19】チェインディレクトリ(C-Directory)によるサービス問い合わせ応答処理を説明するフロー図である。
【図20】ルートチェインマネージャ(RC-Manager)におけるチェイントークン(Chain-Token)の処理を説明するフロー図である。
【図21】チェインマネージャ(C-Manager)におけるチェイントークン(Chain-Token)の処理を説明するフロー図である。
【符号の説明】
11 CPU
12 ROM
13 RAM
14 HDD
15 入力部
16 出力部
17 通信部
18 ドライブ
19 リムーバブル記憶媒体
21 バス
22 入出力インタフェース
111 ルートチェインオブジェクト(RC-Object)
112 チェインマネージャ(C-Manager)
113 ルートチェインマネージャ(RC-Manager)
121 チェインオブジェクト(C-Object)
122 チェインマネージャ(C-Manager)
150 チェインディレクトリ(C-Directory)
180 ユーザ
211 PDA
212 チェインマネージャ(C-Manager)
213 ルートチェインマネージャ(RC-Manager)
221 ビデオ
222 チェインマネージャ(C-Manager)
230 チェインディレクトリ(C-Directory)
311 チェインディレクトリ(C-Directory)
312 ルートチェインマネージャ(RC-Manager)
321 チェインオブジェクト(C-Object)
322 チェインマネージャ(C-Manager)
331 チェインオブジェクト(C-Object)
332 チェインマネージャ(C-Manager)
350 チェインディレクトリ(C-Directory)
501〜505 チェインオブジェクト(C-Object)
551 ルートチェインオブジェクト(RC-Object)
552 チェインオブジェクト(C-Object)
553 チェインオブジェクト(C-Object)
554 ルートチェインマネージャ(RC-Manager)
555 チェインディレクトリ(C-Directory)
560 チェイントークン(Chain-Token)
571 ルートチェインオブジェクト(RC-Object)
572 ルートチェインマネージャ(RC-Manager)
581 チェインオブジェクト(C-Object)
582 チェインマネージャ(C-Manager)
591 チェインオブジェクト(C-Object)
592 チェインマネージャ(C-Manager)
711 PDA
712 ルートチェインマネージャ(RC-Manager)
713 チェインマネージャ(C-Manager)
721 ビデオ
722 チェインマネージャ(C-Manager)
751 PDA
752 ルートチェインマネージャ(RC-Manager)
761 スピーカ
762 チェインマネージャ(C-Manager)
771 CD
772 チェインマネージャ(C-Manager)
851 PDA
852 チェインマネージャ(C-Manager)
853 ルートチェインマネージャ(RC-Manager)
861 ビデオ
862 チェインマネージャ(C-Manager)

Claims (15)

  1. データ処理システムであって、
    1以上のチェインオブジェクトに関連する所定ファイル形式のデータを扱うデータ入力またはデータ出力少なくともいずれかのサービス制御を実行する複数のチェインマネージャと、
    前記チェインマネージャに設定された識別子(ID)と、当該チェインマネージャに関連するチェインオブジェクトの識別子(ID)と、当該チェインオブジェクトに関連するデータ入力またはデータ出力少なくともいずれかのサービスと、当該データ入力またはデータ出力少なくともいずれかのサービスにおいて扱うことのできるファイル形式との対応関係を格納した対応関係データを保持し、ファイル形式のマッチングと、データ入力とデータ出力のサービスマッチングとにより実行可能なサービスの検索処理を実行するチェインディレクトリと、
    1つのチェインオブジェクトのIDを取得し、IDを取得したチェインオブジェクトに関連するデータ入力または出力サービスと同一のファイル形式を扱うデータ出力または入力サービスを扱うチェインオブジェクトを前記チェインディレクトリに問い合わせる処理を実行するルートチェインマネージャと、
    を備え、
    前記チェインマネージャのIDと、チェインオブジェクトのIDとは、異なるアドレス空間において定義される識別子であり、
    前記ルートチェインマネージャは、
    サービス問い合わせパケットを生成し、前記チェインディレクトリに対するサービス問い合わせを実行する構成であり、
    前記チェインディレクトリは、
    前記ルートチェインマネージャから受信するサービス問い合わせパケットの受信時刻情報、および、サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDに基づいて組み合わせ可能な2つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、該検索結果に基づいてサービス問い合わせに対する応答を生成する構成であることを特徴とするデータ処理システム。
  2. 前記チェインマネージャのIDは、通信アドレスとして適用可能なIDであることを特徴とする請求項1に記載のデータ処理システム。
  3. 前記ルートチェインマネージャは、
    前記チェインディレクトリに対する問い合わせの応答に基づいてチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させ、サービスの実行制御を行なう構成であることを特徴とする請求項1に記載のデータ処理システム。
  4. 前記ルートチェインマネージャは、
    サービスの実行に必要なプログラム情報を取得するための第1のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第2のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう構成であることを特徴とする請求項1に記載のデータ処理システム。
  5. 前記チェインマネージャは、
    自己の管理するチェインオブジェクトに関するID、および実行可能なサービス情報としてのサービスプロファイル情報を記憶し、
    前記ルートチェインマネージャからのID取得処理要求に応じて、前記サービスプロファイル情報に基づいて、管理対象のチェインオブジェクトに関するIDの通知処理を実行するとともに、
    前記ルートチェインマネージャからのチェイントークン受信に応じて、前記サービスプロファイル情報に基づいて、受信チェイントークンに対するデータ格納処理、および受信チェイントークンに基づくプログラム起動処理を実行する構成であることを特徴とする請求項1に記載のデータ処理システム。
  6. データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するチェインディレクトリとしての情報処理装置であり、
    前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのIDに対応付けて格納したデータベースと、
    複数のチェインオブジェクトのIDを格納したサービス問い合わせパケットの受信に応じて、該IDに基づいて、前記サービス情報を格納したデータベースの検索処理を実行し、該検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成する制御手段とを有し、
    前記制御手段は、
    前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDに基づいて組み合わせ可能な2つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する構成であることを特徴とする情報処理装置。
  7. 前記情報処理装置は、
    サービス情報として、前記チェインオブジェクト各々のIDと、チェインオブジェクト各々の実行可能なサービス情報と、チェインオブジェクトに対して設定されたチェインマネージャのアドレス情報とを対応付けた情報を有し、
    前記サービス問い合わせパケットの受信に応じて、前記サービス情報に基づいて、サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報を検索し、該サービス情報を格納したサービス問い合わせ応答パケットを生成して、ルートチェインマネージャに対して送信する処理を実行する構成であることを特徴とする請求項に記載の情報処理装置。
  8. 前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別および処理可能なデータフォーマット情報が格納され、
    前記制御手段は、
    前記サービス問い合わせパケットの受信に応じて、該サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして、該サービス問い合わせに対する応答を生成する構成であることを特徴とする請求項に記載の情報処理装置。
  9. 固有の識別子(ID)を付与された複数のチェインオブジェクトによって構成されるサービスチェインにおけるデータ処理方法であり、
    前記チェインオブジェクトのIDの取得処理を実行するID取得ステップと、
    前記ID取得ステップにおいて取得したIDを格納したサービス問い合わせパケットをサービス情報を持つチェインディレクトリに送信する問い合わせ実行ステップと、
    前記サービス問い合わせパケット内のチェインオブジェクトIDに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成し、問い合わせ元に返信する問い合わせ応答ステップと、
    前記サービス問い合わせ応答パケットの格納情報に基づいて、チェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させてサービスの実行制御を行なう制御ステップとを有し、
    前記問い合わせ応答ステップは、
    前記サービス問い合わせパケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するステップと、
    同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDに基づいて組み合わせ可能な2つのチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成するステップと、
    を含むことを特徴とするデータ処理方法。
  10. 前記制御ステップは、
    サービスの実行に必要なプログラム情報を取得するための第1のチェイントークンと、サービスの実行処理に対応するプログラムの起動を要求するための第2のチェイントークンをサービスに参画するチェインオブジェクトに対応するチェインマネージャに巡回させる処理ステップを含むことを特徴とする請求項に記載のデータ処理方法。
  11. 前記制御ステップは、
    前記チェインマネージャが、受信チェイントークンに対して、データ処理サービスに対応するプログラム実行に必要となる情報を格納する処理を実行するステップを含むことを特徴とする請求項に記載のデータ処理方法。
  12. 前記制御ステップは、
    前記チェインマネージャが、受信チェイントークンに基づいてプログラム起動処理を実行するステップを含むことを特徴とする請求項に記載のデータ処理方法。
  13. データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理方法であり、
    複数のチェインオブジェクトのIDを格納したサービス問い合わせパケットを受信するステップと、
    サービス問い合わせパケットに格納されたIDに基づいて、前記チェインオブジェクト各々の実行可能なサービス情報を前記チェインオブジェクトのIDに対応付けて格納したデータベースの検索処理を実行する検索ステップと、
    前記検索処理の結果として得られた実行可能なサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
    前記サービス問い合わせ応答パケットを送信するステップと、
    前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成 するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDも含めた3以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する処理ステップと、
    を有することを特徴とする情報提供処理方法。
  14. 前記記憶手段に格納されたサービス情報には、チェインオブジェクト各々の実行可能なサービスがデータ入力態様であるかデータ出力態様であるかの種別およびデータフォーマット情報が格納され、
    前記検索ステップは、
    前記サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報中から、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行し、該マッチングの成立したサービスを実行可能なデータ処理サービスとして抽出する処理を実行するステップを含むことを特徴とする請求項13に記載の情報提供処理方法。
  15. データ処理システムを構成するサービスチェイン内に設定された複数のチェインオブジェクトを適用したデータ処理サービスについての情報提供処理を実行するコンピュータ・プログラムであって、
    複数のチェインオブジェクトのIDを格納したサービス問い合わせパケットを受信するステップと、
    前記サービス問い合わせパケット内のチェインオブジェクトIDに基づいて、前記サービス問い合わせパケットに格納されたチェインオブジェクトのIDに対応するサービス情報を検索するとともに、データ入力とデータ出力の可能な同一データフォーマットの組合わせを検索するマッチング処理を実行して、チェインオブジェクトを適用した実行可能なサービスの検索処理を実行し、検索結果としてのサービス情報を格納したサービス問い合わせ応答パケットを生成するステップと、
    前記サービス問い合わせ応答パケットを送信するステップと、
    前記サービス問い合わせパケットの受信に応じて、該パケットの受信時刻情報、および、該サービス問い合わせパケットに格納されたID情報を格納したチェインリストを生成するとともに、同一のルートチェインマネージャから、予め定めた閾値時間内に異なるチェインオブジェクトのIDを格納した新たなサービス問い合わせパケットを受信したことを条件として、前記チェインリストに記録されたIDも含めた3以上のチェインオブジェクト相互において実行可能なサービスの検索処理を実行し、サービス問い合わせに対する応答を生成する処理ステップと、
    を有することを特徴とするコンピュータ・プログラム。
JP2002322098A 2002-11-06 2002-11-06 データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム Expired - Fee Related JP3915663B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002322098A JP3915663B2 (ja) 2002-11-06 2002-11-06 データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
US10/674,458 US20040133678A1 (en) 2002-11-06 2003-10-01 Data processing system, information processing apparatus and method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002322098A JP3915663B2 (ja) 2002-11-06 2002-11-06 データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2004157713A JP2004157713A (ja) 2004-06-03
JP3915663B2 true JP3915663B2 (ja) 2007-05-16

Family

ID=32677003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002322098A Expired - Fee Related JP3915663B2 (ja) 2002-11-06 2002-11-06 データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US20040133678A1 (ja)
JP (1) JP3915663B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2400265A (en) * 2003-03-31 2004-10-06 Sony Uk Ltd Routing data
US20050216575A1 (en) * 2004-03-24 2005-09-29 John Armstrong Network devices for automatic network information access systems
US20050289531A1 (en) * 2004-06-08 2005-12-29 Daniel Illowsky Device interoperability tool set and method for processing interoperability application specifications into interoperable application packages
JP4689255B2 (ja) * 2004-12-10 2011-05-25 株式会社リコー サービス管理方法、サービス検索方法、サービス管理検索システム、およびサービス管理および検索プログラムを記憶した記憶媒体
CN1855095A (zh) * 2005-04-27 2006-11-01 国际商业机器公司 用于播放基于smil的多媒体内容的系统、方法及引擎
JP2008287674A (ja) * 2007-05-21 2008-11-27 Olympus Corp 情報処理装置、クライアント装置、情報処理システム及びサービス接続方法
US8818912B2 (en) 2007-12-07 2014-08-26 Z-Firm, LLC Methods and systems for supporting the production of shipping labels
US8805747B2 (en) * 2007-12-07 2014-08-12 Z-Firm, LLC Securing shipment information accessed based on data encoded in machine-readable data blocks
US8527429B2 (en) 2007-12-07 2013-09-03 Z-Firm, LLC Shipment preparation using network resource identifiers in packing lists
US8812409B2 (en) 2007-12-07 2014-08-19 Z-Firm, LLC Reducing payload size of machine-readable data blocks in shipment preparation packing lists
US8521656B2 (en) 2007-12-07 2013-08-27 Z-Firm, LLC Systems and methods for providing extended shipping options
US9584624B2 (en) * 2010-04-15 2017-02-28 Blackberry Limited Method and system for transmitting an application to a device
US10602000B2 (en) * 2014-10-29 2020-03-24 Nokia Of America Corporation Policy decisions based on offline charging rules when service chaining is implemented
US9462084B2 (en) * 2014-12-23 2016-10-04 Intel Corporation Parallel processing of service functions in service function chains
JP2017041846A (ja) 2015-08-21 2017-02-23 富士通株式会社 管理装置、制御装置、および、通信システム
US9973401B2 (en) * 2015-09-30 2018-05-15 Intel Corporation Service function path performance monitoring
CN106856474A (zh) * 2015-12-09 2017-06-16 阿里巴巴集团控股有限公司 一种验证信息的处理方法及装置
JP6926734B2 (ja) 2017-07-03 2021-08-25 富士通株式会社 経路制御装置および経路制御方法
US11227252B1 (en) 2018-09-28 2022-01-18 The Descartes Systems Group Inc. Token-based transport rules
CN112527537B (zh) * 2020-11-30 2023-10-27 北京百度网讯科技有限公司 在线服务系统的质量监控方法、装置、设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol

Also Published As

Publication number Publication date
US20040133678A1 (en) 2004-07-08
JP2004157713A (ja) 2004-06-03

Similar Documents

Publication Publication Date Title
JP3915663B2 (ja) データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
US8423671B2 (en) Middleware device and method of supporting compatibility of devices in home network
US7962097B2 (en) Method and system for identifying device on universal plug and play network and playing content using the device
JP4154364B2 (ja) 通知方法
US7526482B2 (en) System and method for enabling components on arbitrary networks to communicate
KR100736090B1 (ko) 홈 네트워크에서 제 3의 장치의 이벤트를 처리하는 방법 및장치
US20040139180A1 (en) Automobile media synchronization
US20030051009A1 (en) Discovery and control of devices on an area network from the internet
RU2367009C2 (ru) Представление слитного вида ярлыков на удаленные приложения от множества поставщиков
EP2151095B1 (en) Method and apparatus for discovering universal plug and play device using resource information
JP4518719B2 (ja) データ処理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
KR20150126578A (ko) 범용 웹 애플리케이션을 이용하여 홈 네트워크 장치를 제어하는 방법 및 장치
US20090116479A1 (en) UPnP-BASED NETWORK SYSTEM AND CONTROL METHOD THEREOF
US20070189486A1 (en) Communication apparatus, system, method and computer readable medium
KR20030024806A (ko) 정보 처리 장치
WO2007110754A2 (en) Remote access
JP4799005B2 (ja) 情報処理装置
KR100661856B1 (ko) 에이전트 기반의 서비스 디스커버리 시스템과 서비스디스커버리 방법 및 이를 기록한 기록매체
JP2003308264A (ja) ネットワーク装置とネットワーク装置制御方法
Hu et al. Mobile Media Content Sharing in UPnP-Based Home Network Environment.
CN101427519B (zh) 用于在网络中执行发现的设备、系统和方法
KR101329668B1 (ko) 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법
JP3840215B2 (ja) 通信装置、方法、機器制御装置、方法、及び、プログラム
JP5611576B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム
Ishikawa Middleware platform for smart home networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070129

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100216

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees