アクティブコンテンツ流通システム、アクティブコンテンツ流通プログラム及びアクティブコンテンツ流通方法
【課題】コンテンツの振舞を制御するポリシーの定義、変更・追加が容易となり、ポリシーの動的なすり合わせを可能にする。
【解決手段】本発明のアクティブコンテンツ流通システムでは、アクティブコンテンツ1のプログラムは、コンテンツ2の利用制約、流通方法及び/又は提供方法5を定めたポリシー4を有し、アクティブコンテンツ1のポリシー4と他のエージェント・サービス10の利用ポリシー11に基づいて、アクティブコンテンツ1と他のエージェント・サービス10との間でアクティブコンテンツ1のコンテンツ2と他のエージェント・サービス10の利用方法、利用範囲及び/又は流通範囲の制御条件の調整を行う。
【解決手段】本発明のアクティブコンテンツ流通システムでは、アクティブコンテンツ1のプログラムは、コンテンツ2の利用制約、流通方法及び/又は提供方法5を定めたポリシー4を有し、アクティブコンテンツ1のポリシー4と他のエージェント・サービス10の利用ポリシー11に基づいて、アクティブコンテンツ1と他のエージェント・サービス10との間でアクティブコンテンツ1のコンテンツ2と他のエージェント・サービス10の利用方法、利用範囲及び/又は流通範囲の制御条件の調整を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、コンテンツと、コンテンツを制御するコンテンツ制御情報を有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システム、アクティブコンテンツ流通プログラム及びアクティブコンテンツ流通方法に関する。
【背景技術】
【0002】
従来、例えば、コンテンツの一部分のみを提供したり,利用期限を設定したりする提供コンテンツに関する部分利用の制御を簡易に実現できるようにするために、提供者装置では,提供するコンテンツを所定の暗号鍵により暗号化し,その暗号化コンテンツに利用制限に関する利用形態情報を付加してカプセルコンテンツを作成し利用者装置へ送信している。そして、利用者装置では,受信したカプセルコンテンツを暗号化コンテンツと利用形態情報とに分離し,ユーザのコンテンツに対する利用要求があったときに,利用要求の内容と利用形態情報との照合により利用可否を判定し,利用可である場合に,暗号化コンテンツを復号してユーザに利用させるコンテンツ提供システムが知られている(特許文献1参照)。
【0003】
また、コンテンツ所有者の意に反した流通が行われないようにコンテンツの流通を制御、管理しつつ、コンテンツを効率的に幅広く流通させることができるようにするために、ネットワークを介して相互に通信可能な装置間でコンテンツを流通する際に、各装置のコンテンツの扱い方に関するポリシーであるサービスポリシーを相互に交換する。そして、双方の装置において相手装置から受信したサービスポリシーを自装置のサービスポリシーと比較することにより、相手装置とコンテンツの流通を実施するか、実施しないかの判定を行い、双方の装置において相手装置とコンテンツの流通を実施すると判定した場合に限り、個々のコンテンツの流通段階へ進むコンテンツ流通方法も提案されていた(特許文献2参照)。
【0004】
さらに、この出願の発明者らによるコンテンツをエージェント化することにより、柔軟でかつ自由なコンテンツ流通及び利用を可能にするフレームワーク、具体的には、エージェント化したコンテンツの振る舞いを形式的に定義し、例題に基づきその有効性を示したモバイルエージェントによる柔軟なコンテンツ流通を実現するアクティブコンテンツも知られていた(非特許文献1参照)。
【0005】
【特許文献1】特開2002-353953号公報
【特許文献2】特開2003-186729号公報
【非特許文献1】「情報処理学会論文誌:データベース」、Vol.44 No.SIG 18(TOD20)別刷、P.45〜57、モバイルエージェントによる柔軟なコンテンツ流通を実現するアクティブコンテンツ、平成15年12月発行、社団法人 情報処理学会
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載のコンテンツ提供システムでは、第1に、コンテンツに状況に応じた利用モジュールの選択機能がないため、どのような状況でどう選択するのかを示すポリシーを記述・変更するのが困難である。第2に、コンテンツに利用制約に基づいて アクセスコントロールを変更する仕組みがないため、利用者のポリシーとのすり合わせを行なうことができない。第3に、コンテンツに利用条件に基づいて内容を変更する機能がないため、適切な抽象度で部分閲覧ができないという不都合があった。
【0007】
また、特許文献2に記載のコンテンツ流通方法では、第1に、ポリシー表現の柔軟性に関して、すり合わせの仕組みが固定的であるためポリシーのすりあわせる方法を個別に指定できず、また、パラメータの解釈が固定的であるためポリシーの拡張(種類の増減)が困難であり、また、矛盾のないポリシーの追加・削除が困難である。
【0008】
第2に、ポリシー遵守機構に関し、ポリシーを遵守する仕組みがクライアントに100%まかされているため、ポリシー違反を見つけることが困難であり、さらに、ポリシーを含む情報のカプセル化ができない。
第3に、ポリシーの制御動作に関して、複合コンテンツを構成するように制御できず、また、コンテンツ同士の協調動作を構成するように制御できないという不都合があった。
【0009】
また、非特許文献1に記載のモバイルエージェントによる柔軟なコンテンツ流通を実現するアクティブコンテンツでは、アクティブコンテンツの実現方法の詳細や、具体的なアルゴリズムや定義方法については述べられていない。また、協調方法の一部の例について述べているのにとどまっているため、実現方式が具体的に提示されていないという不都合があった。
【0010】
そこで、本発明は、コンテンツの振舞を制御するポリシーの定義、変更・追加が容易となり、ポリシーの動的なすり合わせを可能にすることができるアクティブコンテンツ流通システム、アクティブコンテンツ流通プログラム及びアクティブコンテンツ流通方法を提供することを目的とするものである。
【課題を解決するための手段】
【0011】
上記課題を解決し、本発明の目的を達成するため、本発明のアクティブコンテンツ流通システムは、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、上記コンテンツ制御情報格納部は、上記コンテンツの利用制約、流通方法及び/又は提供方法を定めたポリシーを記憶する記憶部を有し、上記端末は、上記アクティブコンテンツの上記ポリシーと他のアクティブコンテンツの他のポリシーに基づいて、上記アクティブコンテンツと他のアクティブコンテンツとの間で上記アクティブコンテンツの上記コンテンツ及び/又は上記他のアクティブコンテンツの上記他のコンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件の調整を行う制御部を備えたものである。
【0012】
また、本発明のアクティブコンテンツ流通システムは、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、上記アクティブコンテンツの上記コンテンツ制御情報格納部は、上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを記憶する協調ポリシー記憶部と、上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報格納部に格納された上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシーを記憶する自律ポリシー記憶部と、上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御部と、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶部と、を備え、上記アクティブコンテンツを流通させる端末は、上記協調ポリシーを登録し、解釈する協調ポリシー登録部と、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定部と、上記協調条件決定部により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御部と、上記実行状態記憶部に記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施部とを備えたものである。
【0013】
また、本発明のアクティブコンテンツ流通プログラムは、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるために上記端末のコンピュータに所定機能を実現させるためのアクティブコンテンツ流通プログラムであって、上記アクティブコンテンツの上記コンテンツ制御情報に対して、上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定める協調ポリシー機能と、上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシー機能と、上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御機能と、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶機能と、を実行し、上記アクティブコンテンツを流通させる端末に対して、上記協調ポリシーを登録し、解釈する協調ポリシー登録機能と、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定機能と、上記協調条件決定機能により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御機能と、上記実行状態記憶機能で記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施機能とを実行するものである。
【0014】
また、本発明のアクティブコンテンツ流通方法は、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うテップと、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、上記協調ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、を含むものである。
【0015】
また、本発明のアクティブコンテンツ流通方法は、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うステップと、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する制御条件を定めた自律ポリシーを選択するテップと、上記協調ポリシー及び上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、を含むものである。
【0016】
これにより、具体的作用として、機能面では、第1に、アクティブコンテンツの動的な連携相手・方法の決定・変更が可能となるため、アクティブコンテンツ同士の協調による複合アクティブコンテンツの動的合成が可能となり、コンテンツとサービスの協調により、コンテンツの表示方法・加工方法の動的決定・変更が可能となり、サービス同士の動的連携が可能となる。第2に、アクティブコンテンツの情報のアクセスコントロールが可能となるため、アクセス相手に応じたアクティブコンテンツの内容変更・情報のフィルタリングが可能となり、アクセスコントロール方法の動的決定・変更が可能となる。
【0017】
また、使い方の面では、第1に、アクティブコンテンツへのさまざまなポリシーの追加・変更が可能となり、第2に、状況に応じたアクティブコンテンツの表示内容・表示場所の変更が可能となる。第3に、アクティブコンテンツの自律的配布・流通が可能となり、第4に、コンテンツへの機能の動的追加・変更・削除が可能となる。
【発明の効果】
【0018】
本発明によれば、アクティブコンテンツの協調方式の柔軟性を確保することができ、また、協調条件に基づくアクティブコンテンツの流通・利用を図ることができ、さらに、アクティブコンテンツの協調の実施の際の制御を簡単に行なうことができる。
【0019】
協調方式の柔軟性の面では、第1に、協調ポリシー定義及び協調ポリシー制御によりさまざまな状況のアクティブコンテンツの流通に対しても、ポリシーを遵守可能にすることができ、動的に協調方式を変更・決定させることが可能となる。第2に、協調ポリシーの変更容易性によりポリシーを矛盾なく追加、変更可能とすることができ、ポリシーを容易に拡張・変更可能とすることができ、ポリシーを状況に応じて変更・決定可能とすることができる。第3に、協調ポリシーの独立性により協調方式だけ決めておけば中身の仕組みをブラックボックスにすることが出来る。ただし、アクティブコンテンツの間に特別な関係(親子関係など)を結ぶときは、両者に同じ解釈器が必要となる。
また、協調条件に基づくアクティブコンテンツの流通・利用の面では、協調条件下で安全性が確保されるためユーザ端末に存在するプライバシーの保護が可能となる。
【0020】
また、協調の実施方法の面では、第1に、協調ポリシーの変更容易性を確保することができ、第2に、協調の実施の制御を簡単にすることができ、第3に、効率・性能の面で効率のよいアクティブコンテンツ流通・表示が可能となる。
【発明を実施するための最良の形態】
【0021】
以下に、本発明の実施の形態について、適宜、図面を参照しながら、詳細に説明する。
図1は、アクティブコンテンツの概要を示す図である。
図1において、アクティブコンテンツ1は、コンテンツ2と、コンテンツ2の動作を制御するプログラム3とを有して構成されている。プログラム3には、コンテンツ2の制御条件を示すポリシー4が設けられている。ポリシー4は、例えば、コンテンツ2の製作者7や編集者などが、5で示すように、コンテンツ2の利用制約(使われ方)、コンテンツ2の流通方法、表示方法(使い方)などの情報が、6で示すように埋め込まれている。
【0022】
ここで、アクティブコンテンツ1は、コンテンツを利用するエージェント・サービス10に流通して利用される。コンテンツを利用するエージェント・サービス10には、流通するコンテンツ2を利用するための制御条件を示す利用ポリシー11が設けられている。このとき、利用ポリシー11は、利用者13により、12で示すように、利用方法、利用範囲、及び流通条件が埋め込まれている。
【0023】
そして、アクティブコンテンツ1とコンテンツを利用するエージェントやサービス(エージェント・サービス10)との間で、コンテンツ2を利用するために、14で示すように交渉が行われる。交渉14は、提供側のアクティブコンテンツ1のコンテンツ2の制御条件を示すポリシー4と、利用側のコンテンツを利用するエージェント・サービス10の流通するコンテンツ2を利用するための条件を示す利用ポリシー11との条件の一致、部分一致又は不一致の結果を得るためのすりあわせを通信を介して行う。
【0024】
これにより、すりあわされた条件に従い、提供側のアクティブコンテンツ1のコンテンツ2を、提供側のポリシー4の制御条件に適合した形式に、例えば、暗号化8したり、変換9したりする。
【0025】
従って、提供側のポリシー4と利用側の利用ポリシー11の双方に適合したコンテンツの流通を実現することができる。このとき、流通先での提供側のポリシー4を遵守することにより、流通先でアクティブコンテンツ1の制御が自律的に実行される。
ここで、エージェントやサービス(エージェント・サービス10)は、アクティブコンテンツと同様の構成を有していて、アクティブコンテンツの概念に含まれるものであり、アクティブコンテンツの一態様である。この場合、エージェント・サービス10は、それ自体には、コンテンツが設けられていない、他から提供されるコンテンツの利用をするものである。また、エージェント・サービス10がそれ自体にコンテンツを設けるようにしてもよい。
【0026】
図2は、前提環境を示す図である。
図2において、ホスト21ではアクティブコンテンツ23に他のアクティブコンテンツ24を合成25することにより、複合アクティブコンテンツ22を生成することが可能となっている。複合アクティブコンテンツ22は、例えば、図2に示したアクティブコンテンツ23のポリシーと、他のアクティブコンテンツ24のポリシーを考慮したポリシーを関係付けすることにより、合成25される。
【0027】
また、他のアクティブコンテンツ24は、それ自体でユーザーエージェント・インターフェース26により利用27されることが可能となっている。ユーザーエージェント・インターフェース26は、他のアクティブコンテンツ24を利用するための機能を有するものである。ユーザーエージェント・インターフェース26は、例えば、図2に示した他のアクティブコンテンツ24のポリシーが自分のポリシーに適合した場合、他のアクティブコンテンツ24を利用する。
【0028】
また、複合アクティブコンテンツ22や他のアクティブコンテンツ24は、ネットワーク上のさまざまなサービスを利用29することが可能となっている。例えば、情報変換・情報出力サービス28は、ホスト21とネットワークを介して接続されていて、コンテンツの情報変換・情報出力を行うサービスであり、複合アクティブコンテンツ22から利用29される。情報変換・情報出力サービス28は、そして、図2に示した複合アクティブコンテンツ22の要求に従い、コンテンツをディスプレイ等に出力する。
【0029】
また、複合アクティブコンテンツ22は、ホスト21からネットワークを介して接続されている他のホスト30へ流通31することが可能となっている。このとき、複合アクティブコンテンツ22は、流通31された先の他のホスト30で例えば、図2に示した複合アクティブコンテンツ22のポリシーに適合するようにコンテンツの利用の仕方を制御する。
このように、前提環境として、アクティブコンテンツとそれに関連付けられるサービス(エージェント)がネットワーク上に分散して存在していることになる。
【0030】
そして、アクティブコンテンツは、コンテンツの取り扱いを管理するため、コンテンツの流通を管理するため、さらにコンテンツの出力・表示方法(内容、手段)を管理するめ、及びシステム間の連携のための制御条件を定めたポリシーを有している。
ここで、アクティブコンテンツは、ホスト上のコンピュータで動作するオペレーティングシステム(OS)の中に組み込まれて動作するミドルウェアプログラムによって動作する。ミドルウェアプログラムは、アクティブコンテンツの実行するための後述する各機能を備えている。
【0031】
図3は、ポリシーの概要を示す図である。
図3において、アクティブコンテンツ41は、コンテンツ42と、コンテンツ42を制御する制御記述43と、他のアクティブコンテンツとの協調方法を定めた協調ポリシー46と、自アクティブコンテンツの変更方法を定めた自律ポリシー45とを有している。制御記述43は、コンテンツの生成・表示、編集・合成・流通などを制御する制御フローが記述された部分である(44参照)。
【0032】
また、協調ポリシー46には、アクティブコンテンツ41が協調する他のアクティブコンテンツとなる協調相手、他のアクティブコンテンツとの協調方法、他のアクティブコンテンツとの協調スタイル、他のアクティブコンテンツとの協調場所などの制御条件が定められている(47参照)。また、自律ポリシー45には、アクティブコンテンツ41が自らの制御を動的に変更したり、監視したりする制御条件が定められている(55参照)。
【0033】
ここで、アクティブコンテンツ41が他のアクティブコンテンツ48と協調する際には、まず第1に、点線57で示すように、アクティブコンテンツ41の協調ポリシー46と他のアクティブコンテンツ48の協調ポリシー50とのすりあわせと合意により、協調条件58が成立される。
第2に、点線59で示すように、協調準備としてアクティブコンテンツ41のコンテンツ42と、制御記述43と、自律ポリシー45と、協調ポリシー46の内容をさらに他のアクティブコンテンツ51となるようにコピーして移動することにより、さらに他のアクティブコンテンツ51の中に子コンテンツ52と、制御記述53と、自律ポリシー54と、協調ポリシー56を生成する。
【0034】
第3に、点線60で示すように、協調準備として他のアクティブコンテンツ48とさらに他のアクティブコンテンツ51との間に親子関係を形成する。このとき、他のアクティブコンテンツ48のコンテンツが親コンテンツ49に、さらに他のアクティブコンテンツ51のコンテンツが子コンテンツ52に関係付けられる。
【0035】
第4に、点線61で示すように、協調条件に基づいて他のアクティブコンテンツ48とさらに他のアクティブコンテンツ51との協調が行われる。
第5に、点線62で示すように、協調条件の遵守方法の決定により、さらに他のアクティブコンテンツ51の自律ポリシー54の制御条件に従って、制御記述53の内容に追加・変更63が施される。このとき、制御記述53の追加・変更63された内容を参照64することが可能である。
【0036】
このように、さまざまなポリシーをアクティブコンテンツに埋め込むことにより、ポリシーの制御条件がアクティブコンテンツの流通過程で遵守されるようになる。
ここで、協調ポリシーは、例えば、協調相手とプロトコル(協調手順)を定めたり、協調場所として属性や相対関係で指定したり、協調アーキテクチャとしてカプセル化もサポートすることができる。また、協調スタイル(親子関係)や、協調方法(メッセージ経路・方向)、さらには、協調中の制約・制限を設けることも可能である。
【0037】
また、ポリシーの遵守機構として、自律ポリシーによる遵守・監視を行なうことができ、フレームワークによるポリシーの遵守と制御記述の監視を行なうことができ、親子関係の親による子の遵守・監視を行なうことができ、さらに、流通するアクティブコンテンツの振る舞いを自律ポリシーにより制限・制御することができる。
さらに、自律ポリシーに基づいて、協調条件の遵守方法の動的決定を行うことにより、自己の制御記述を変更することができる。これにより、アクティブコンテンツの流通・利用に必要な環境・状況に対する対応を自律ポリシーに記述して準備・約束を実行することができ、制御記述の設計が容易になる。
【0038】
図4は、本実施の形態のシステム構成図である。
図4において、ネットワーク81上にホスト71、ホスト77、ホスト82、及びホスト85が接続されている。ホスト71には、アクティブコンテンツ72、アクティブコンテンツ73、アクティブコンテンツ75と、これらを解釈して制御するプレース76が設けられている。ここで、アクティブコンテンツ72と、アクティブコンテンツ73とは、協調条件74により協調されている。プレース76は、協調条件74により、アクティブコンテンツ72とティブコンテンツ73とが協調されるように制御し、アクティブコンテンツ75は単独で制御する。
【0039】
また、ホスト77には、アクティブコンテンツ78と、これを解釈して制御するプレース79が設けられている。ここで、ホスト71のアクティブコンテンツ73と、ホスト77のアクティブコンテンツ78とは、協調条件80により協調されている。ホスト71のプレース76とホスト77のプレース79は、協調条件80によりホスト71のアクティブコンテンツ73とホスト77のアクティブコンテンツ78とが協調されるように制御する。
【0040】
また、ホスト82には、他のホストのアクティブコンテンツを利用するサービス83と、これを解釈して制御するプレース84が設けられている。プレース84は、利用可能な他のホストのアクティブコンテンツを探して、これを利用するように制御する。サービス83は、他のホストから提供されるアクティブコンテンツのデータを受け取って表示や再生を行う、あるいは、それを変換して返す。
【0041】
また、ホスト85には、他のホストのアクティブコンテンツを利用するユーザーエージェント86と、これを解釈して制御するプレース87が設けられている。プレース87は、利用可能な他のホストのアクティブコンテンツを探して、これを利用するように制御する。ユーザーエージェント86は、他のホストから提供されるアクティブコンテンツを受け取って利用し、又は他のホストにアクティブコンテンツを提供して利用させる双方向の利用形態である。
【0042】
ここで、ホスト71のプレース76とホスト77のプレース79、ホスト82のプレース84とホスト85のプレース87には、各アクティブコンテンツのプログラムを解釈して制御するためのプログラムが格納されている。
【0043】
図5は、協調条件の成立と遵守手順を示す図である。図5は、図4に示したホスト71のアクティブコンテンツ72と、ホスト77のアクティブコンテンツ78との協調条件80の成立と遵守手順を示している。
図5において、まず第1に、91で示すように、ホスト71のプレース76は、ホスト71のアクティブコンテンツ73のポリシーに適合する協調相手を探し、ホスト77のプレース79は、ホスト77のアクティブコンテンツ78のポリシーに適合する協調相手を探して、互いのポリシーに全部一致、一部一致又は条件付一致の結果となるように、交渉を行う。
【0044】
そして、第2に、92で示すように、ホスト71のプレース76とホスト77のプレース79は、図4に示した協調条件80の成立によりホスト71のアクティブコンテンツ73とホスト77のアクティブコンテンツ78とが協調されるように制御する。このとき、ホスト71のアクティブコンテンツ73と、ホスト77のアクティブコンテンツ78とは、図4に示した協調条件80により協調されている。
【0045】
この協調により、第3に、93で示すように、ホスト77のアクティブコンテンツ78をコピーしてホスト71へ移動することにより、ホスト71にアクティブコンテンツ72が設けられる。ここで、アクティブコンテンツ72と、アクティブコンテンツ73とは、94で示すように、図4に示した協調条件80が遵守されることにより、協調条件74により協調される。
【0046】
図6は、アクティブコンテンツ及びプレースの構成図である。
図6において、ホスト101には、アクティブコンテンツ102と、アクティブコンテンツ102を解釈して制御するプレース112が設けられている。アクティブコンテンツ102は、流通可能なカプセル化されたコンテンツであり、コンテンツ素材を格納するコンテンツ素材格納部103と、コンテンツ素材を制御するためのコンテンツ制御情報を格納するコンテンツ制御情報格納部104を有している。
【0047】
ここで、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104は、協調ポリシーを記述した協調ポリシー記述105と、制御フローを記述した制御記述106と、自律ポリシーを記述した自律ポリシー記述107と、実行状態の情報を記憶する実行状態127を有している。なお、自律ポリシー記述107は、必要に応じて設けられるようにしてもよい。
【0048】
さらに、コンテンツ制御情報格納部104には、必要に応じて、協調ポリシーを登録する協調ポリシー登録部108と、協調条件を決定する協調条件決定部109と、交渉のための交渉ポリシーを記述した交渉ポリシー記述110と、ポリシーに従った変換ルールを記述した変換ルール記述111が設けられる。
【0049】
また、ホスト101のプレース112は、協調ポリシーを登録する協調ポリシー登録部113と、協調条件を生成して決定する協調条件生成決定部114と、自律ポリシーに従って制御記述を変更し、これを監視すると共に制御記述を実行する制御変更・監視・実行部115と、協調スタイルを実施する協調スタイル実施部128とを有している。
【0050】
また、ホスト101と接続される他のホスト116には、ユーザーエージェント117と、ホスト101から提供されるアクティブコンテンツ102からのメッセージを解釈するプレース119が設けられている。
【0051】
他のホスト116のユーザーエージェント117は、協調ポリシーを記述した協調ポリシー記述118を有している。ホスト116のプレース119は、協調ポリシーを登録する協調ポリシー登録部120と、協調条件を生成して決定する協調条件生成決定部121とを有している。
【0052】
また、ホスト101は、アクティブコンテンツ102のコンテンツ制御情報格納部104のソフトウェア(ホスト上のコンピュータで動作するオペレーティングシステム(OS)の中に組み込まれて動作するミドルウエアのプログラム)を実行する主体となるコンピュータのハードウェア機能を有するものである。
【0053】
また、ホスト101のプレース112とホスト116のプレース119には、アクティブコンテンツ102のプログラムを解釈して制御するためのプログラムが格納されている。
これにより、コンピュータがアクティブコンテンツのプログラムを実行することにより後述するアクティブコンテンツの各機能を実行し、プレースのプログラムを実行することにより後述するプレースの各機能を実行する。
【0054】
このように構成されたアクティブコンテンツ及びプレースの動作を以下に説明する。
ここで、第1に、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104の協調ポリシー記述105から、ホスト101のプレース112の協調ポリシー登録部113に対して、協調ポリシー記述105に記述した協調ポリシーを登録すると共に、登録した協調ポリシーに適合するユーザーエージェント117の検索を依頼する。
【0055】
次に、第2に、ホスト101のプレース112の協調条件生成決定部114は、ホスト101のアクティブコンテンツ102の協調ポリシー登録部108と、ユーザーエージェント117の協調ポリシー記述118との間の合意123に基づいて、協調条件124を生成して決定する。
そこで、第3に、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104の制御記述106から、ホスト101のプレース112の制御変更・監視・実行部115に対して、アクティブコンテンツ102とユーザーエージェント117の協調条件124を満たす制御の実行を依頼する。
【0056】
これにより、例えば、ホスト101のプレース112の制御変更・監視・実行部115は、協調条件124に基づいて、アクティブコンテンツ102とユーザーエージェント117の間で、126で示すように、生のコンテンツの送受信を行うように制御する。
また、このとき、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104の自律ポリシー記述107から、ホスト101のプレース112の制御変更・監視・実行部115に対して、125に示すように、自律ポリシーに従った制御記述変更の実行を依頼する。これにより、ホスト101のプレース112の制御変更・監視・実行部115は、自律ポリシーに従って制御記述を変更し、これを監視すると共に制御記述を実行する。
【0057】
なお、ここで、アクティブコンテンツ102は、コンテンツを保持し、コンテンツを流通する相手を選択して流通・利用を促す主体となる機能を有するものである。
プレース112は、アクティブコンテンツが動作するのに必要な機能を提供する機能を有するものである。プレース112、119は、アクティブコンテンツが流通するホスト101、利用したいホスト(ユーザーエージェント117)には必ず配置しておく必要があるものである。
【0058】
また、協調条件124は、アクティブコンテンツ102がどういう動作をしてもよいかの取り決めを示すものである。アクティブコンテンツ102と他のアクティブコンテンツ/プレース112、119/ユーザーエージェント117間で通信を行う際に必ずこの取り決めを決定する。
なお、サービスは、コンテンツのデータ変換や表示などアクティブコンテンツがコンテンツの生成/表示などに利用できる外部機能を有するものである。
また、ユーザーエージェント117は、制御記述を持たずに協調ポリシー記述118のみを有していてもよく、協調ポリシーの記述に基づいてアクティブコンテンツとの協調を行う機能を有するものである。
【0059】
図7は、アクティブコンテンツの各部の構成図であり、図7Aは制御記述の構造例(ワークフローで記述した場合)、図7Bは協調ポリシー記述の構造例、図7Cは変換ルール記述の構造例、図7Dは自律ポリシー記述の構造例、図7Eは協調条件の構造例、図7Fはコンテンツ素材格納部例、図7Gは実行状態の構造例である。
【0060】
図7Aにおいて、制御記述106の構造例(ワークフローで記述した場合)は、ホスト上のコンピュータに対するアクティビティ(命令)を定義するアクティビティ定義131と、制御フローを定義する制御フロー定義132と、データフローを定義するデータフロー定義133と、メッセージ通信を定義するメッセージ通信定義134と、イベント処理を定義するイベント処理定義135と、内部データに対するアクセスを定義する内部データアクセス定義136と、サービスの利用を定義するサービス利用定義137とを有している。
【0061】
図7Bにおいて、協調ポリシー記述105の構造例は、協調相手を定義する協調相手定義138と、協調方法を定義する協調方法定義139と、協調内容を定義する協調内容定義140と、協調効果を定義する協調効果定義141と、交渉手順を定義する交渉手順定義142とを有している。
図7Cにおいて、変換ルール記述111の構造例は、制御記述を選択するルールを示す制御記述選択ルール144と、自律ポリシーを選択するルールを示す自律ポリシー選択ルール145とを有している。
【0062】
図7Dにおいて、自律ポリシー記述107の構造例は、実行の制約を記述する実行制約146と、制御記述を書き換えるためのアスペクトを記述するアスペクト記述147とを有している。
図7Eにおいて、協調条件124の構造例は、協調する相手となる協調相手148と、協調する内容である協調内容149と、協調する方法である協調方法150と、協調する効果である協調効果151とを有している。
【0063】
図7Fにおいて、コンテンツ素材格納部103の例は、オーディオデータは、mp3形式のファイル、ビデオデータは、avi形式のファイルで格納される。
図7Gにおいて、実行状態127の構造例は、ホスト上のコンピュータに対するアクティビティ(命令)を実行のためにためておくアクティビティ実行キュー154と、協調する相手を保存する協調相手インスタンスリスト155と、有効な協調ポリシーのリストである有効協調ポリシーリスト156と、有効な自律ポリシーのリストである有効自律ポリシーリスト157と、制御の状態を保存する制御状態158とを有している。制御状態158は、メッセージキューやデータマッピング159を含んでいる。
【0064】
図8は、プレースの各部の構成図であり、図8Aは協調条件生成決定部の構造例、図8Bは制御変更・監視・実行部の構造例である。
図8Aにおいて、協調条件生成決定部114の構造例は、協調ポリシーの内容を解釈する協調ポリシー解釈部161と、交渉を実行する交渉実行部162と、協調条件を実行する協調条件実行部163とを有している。
【0065】
図8Bにおいて、制御変更・監視・実行部115の構造例は、制御記述を解釈する制御記述解釈部167と、自律ポリシーの内容を解釈する自律ポリシー解釈部168とを有していて、必要に応じて、ホスト上のコンピュータに対するアクティビティ(命令)を他のホスト上で実行する場合にアクティビティを他のホストに転送するアクティビティ転送部164と、実行制約を解釈する実行制約解釈部165と、変更ルールを解釈する変更ルール解釈部166と、アスペクト挿入部169が設けられる。
【0066】
次に、上述したように構成されたアクティブコンテンツの動作を詳細に説明すると共に、各種制御記述、協調ポリシー記述、自律ポリシー記述の例を示しながら具体的に説明する。
図9は、アクティブコンテンツのライフサイクルの動作を示すフローチャートである。
図9において、プレースの動作を開始すると、まず、アクティブコンテンツの生成を行う(ステップS1)。具体的には、171に示すように、製作者の意図に従ってプレース上の制御変更・監視・実行部115がアクティブコンテンツの構成要素の一部、または全てをメモリ上にロードすることによりアクティブコンテンツを生成する。又は、ユーザからの指示であるロードアクションによりユーザーエージェントのプレース上の制御変更・監視・実行部115がアクティブコンテンツの構成要素の一部、または全てをメモリ上にロードすることによりアクティブコンテンツを生成する。
【0067】
次に、アクティブコンテンツの流通及び利用が行われる(ステップS2)。具体的には、ステップS1で生成されたアクティブコンテンツがプレース上の制御変更・監視・実行部115により制御記述を実行することにより、例えば、ユーザーエージェントに流通されて、ユーザーエージェントにより利用される。
【0068】
そして、アクティブコンテンツの消滅が行われる(ステップS3)。具体的には、172に示すように、製作者の意図に従ってプレース112上の制御変更・監視・実行部115が制御記述106のプログラムを実行することによりアクティブコンテンツ102を削除する。又は、アクティブコンテンツ102に対する制御記述106の実行の終了により消滅する。
【0069】
図10は、アクティブコンテンツの実行の動作を示すフローチャートである。図10は、例えば、図6に示すアクティブコンテンツ102側の動作である。
図10において、まず、制御記述の断片を選択する(ステップS11)。具体的には、181に示すように、プレース112上の制御変更・監視・実行部115が次にアクティブコンテンツ102に対して実行すべき制御記述106の断片とそれに対応した協調ポリシー記述105を選択する。
【0070】
そして、実行すべき制御記述があるか否かを判断する(ステップS12)。具体的には、プレース112上の制御変更・監視・実行部115が次にアクティブコンテンツ102に対して実行すべき制御記述106があるか否かを判断する。
【0071】
判断ステップS12で次に実行すべき制御記述があるときは、協調ポリシーの登録及び検索を行う(ステップS13)。具体的には、182に示すように、プレース112上の協調ポリシー登録部113は、アクティブコンテンツ102に対して次に実行すべき制御記述106に対応するものであって、登録されている協調ポリシー記述105を読み出して、他のアクティブコンテンツの協調ポリシーと合致するものを検索する。判断ステップS12で次に実行すべき制御記述がないときは、終了する。
【0072】
そして、協調条件のすり合せを行う(ステップS14)。具体的には、183に示すように、プレース112上の協調条件生成決定部114は、ステップS13で検索した相手(例えば、図6に示したユーザーエージェント117)と互いの協調ポリシー記述105,118に基づいてすり合わせを行って、合意123のとれた協調条件124を決定する。
【0073】
次に、協調相手が見つかったか否かを判断する(ステップS15)。具体的には、プレース112上の協調条件生成決定部114は、ステップS13で検索した相手(例えば、図6に示したユーザーエージェント117)と互いの協調ポリシー記述105,118に基づいてすり合わせを行って、協調条件124による合意123がとれたか否かを判断する。ここで、プレース112上の協調条件生成決定部114は、184に示すように、自身の協調ポリシー記述105を変更する場合のタイムアウトを考慮して、例外処理を発生させるように処理してもよい。
【0074】
判断ステップS15で協調相手が見つかったときは、協調準備を行う(ステップS16)。具体的には、プレース112上の協調スタイル実施部128は、185に示すように、合意123のとれた協調条件124をもとに、協調のための準備を行う。協調のための準備は、例えば、ホスト101から協調相手(図6に示したユーザーエージェント117)へのアクティブコンテンツ102の移動、アクティブコンテンツ102と協調相手(例えば、図6に示したユーザーエージェント117)との親子関係付け、協調のための協調相手(例えば、図6に示したユーザーエージェント117)へのメッセージのルーティング、アクティブコンテンツ102のカプセル化などである。
判断ステップS15で協調相手が見つからなかったときは、ステップS13へ戻って、ステップS13〜ステップS15までの判断及び処理を、繰り返す。
【0075】
次に、協調相手がすべて決定したか否かを判断する(ステップS17)。具体的には、プレース112上の協調条件生成決定部114は、ステップS11で選択した制御記述において、 協調相手が複数必要なときは、ステップS13へ戻って、ステップS13〜ステップS17までの判断及び処理を、186で示すように、協調する相手の数だけループする。
【0076】
上述したステップS11〜ステップS17までの制御記述に対応する協調ポリシーに従った協調相手を見つけるための判断及び処理が、必須の処理である。これにより、プレース112上の制御変更・監視・実行部115が、制御記述106に対応した協調ポリシー記述105に従って、アクティブコンテンツ102に対する処理を実行することができる。
【0077】
これ以降の処理は、アクティブコンテンツ102に対する協調ポリシー記述105のほかに、自律ポリシー記述107に従った制御を行う場合の処理である。
判断ステップS17で協調相手がすべて決定したときは、自律ポリシーの選択及び生成を行う(ステップS18)。具体的には、187で示すように、プレース112上の制御変更・監視・実行部115が、ステップS14ですり合せを行った協調条件に適合するように、自律ポリシー記述107中の自律ポリシーを選択したり、変換ルール記述111の自律ポリシー選択ルールに基づいて自律ポリシーを生成する。
【0078】
そして、自律ポリシーに従い、次の制御を実行する(ステップS19)。具体的には、188で示すように、プレース112上の制御変更・監視・実行部115が、アクティブコンテンツ102に対する制御記述106に、自律ポリシーの記述を加えて、変更後の制御記述106の内容を協調条件に適合するように、解釈して実行する。
【0079】
さらに、実行すべき制御記述の断片があるか否かを判断する(ステップS20)。具体的には、プレース112上の制御変更・監視・実行部115が、アクティブコンテンツ102に対する制御記述106に、実行すべき断片があるか否かを判断する。
判断ステップS20で実行すべき制御記述の断片があるときは、ステップS19へ戻って、ステップS19〜ステップS20の判断及び処理を、実行すべき断片がなくなるまで繰り返す。判断ステップS20で実行すべき制御記述の断片がないときは、ステップS11へ戻って、ステップS11〜ステップS20の判断及び処理を、繰り返す。
【0080】
ここで、各種エージェントの記述例を説明する。
図11は、フィルタリングエージェントの各部の記述例を示す図であり、図11Aはフィルタリングエージェントの制御記述と自律ポリシー記述であり、図11Bは協調ポリシー記述である。フィルタリングエージェントは、条件に応じてアクティブコンテンツのコンテンツの中身にフィルターをかけて、コンテンツの利用に制約を設ける機能を有するものである。
【0081】
図11Aにおいて、フィルタリングエージェント195の制御記述106の例として、制御フロー191が示されている。この制御フロー191の第1命令(act1)192、第2命令(act2)193、第3命令(act3)194が、制御記述106のアクティビティ定義131に定義されている。また、制御フロー191の第1命令(act1)192から第2命令(act2)193への流れ、第2命令(act2)193から第3命令(act3)194への流れが、制御記述106の制御フロー定義132に定義されている。
【0082】
フィルタリングエージェント195は、その記述項目に協調ポリシーが記述されている。図11Bに示すように協調ポリシー記述105は、協調相手定義138として、198に示すように、相手のロールを要求項目(《required》)中の役割ラベル(role=ServiceControlProtocol/Requester)で定義し、相手及び自分のロールを提供項目(《provided》)中の役割ラベル(role=ServiceControlProtocol/Responder)で定義している。また、相手が保持すべき属性を要求項目(《required》)中の属性で定義し、自分が保持している属性を提供項目(《provided》)中の属性で定義している。
【0083】
また、協調方法定義139として、199に示すように、協調スタイルを効果項目(《effect》)中の結合スタイルラベル(BindingStyle =[Parent])で定義し、実行場所を協力場所ラベル(CollaborationPlace =[Responder/Requester])で定義している。また、メッセージ通信スタイルを、親子関係の子のメッセージをフィルタリングするなどを定義する。
【0084】
また、協調内容定義140として、200に示すように、サービスの種類、レベルを効果項目(《effect》)中の属性で定義している。
また、協調効果定義141として、201に示すように、協調効果を効果項目(《effect》)中の属性で定義している。
【0085】
また、交渉手順定義142として、202に示すように、公募メッセージ作成手順、応募メッセージ作成手順、協調条件作成手順、合格基準判定手順、後処理を各種メッセージとして定義している。
また、フィルタリングエージェント195は、図11Aに示す自律ポリシー196が付けられている。自律ポリシー記述107のアスペクト記述147として、自律ポリシー196には、197に示すように、メッセージを受け取ってその中の名前を匿名化する記述が設けられている。自律ポリシー196には、条件項目(《Cond》)中で動的な条件として、名前を匿名化するようにフィルタリングすることを定義し、適用箇所項目(《where》)中で適用する箇所として、子供向けのメッセージ送信の際を定義し、箇所の条件項目(《if》)中で名前を匿名化することを定義している。
【0086】
図12は、他のエージェントの各部の記述例を示す図であり、図12Aはコンテンツエージェントの制御記述と協調ポリシー記述であり、図12Bはユーザーエージェントの制御記述と協調ポリシー記述である。コンテンツエージェントは、アクティブコンテンツのコンテンツをフィルタリングする相手を探すと共にコンテンツを利用する相手を待ち、これらにコンテンツを提供する機能を有するものである。
【0087】
図12Aに示すように、コンテンツエージェント211は、その記述項目に協調ポリシーが記述されている。協調ポリシー記述は、アクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための条件を上側の協調ポリシー記述212で定義し、コンテンツを利用する相手となるユーザーエージェントを待つための条件を下側の協調ポリシー記述213で定義している。
【0088】
また、コンテンツエージェント211の制御記述の例として、制御フロー214が示されている。この制御フロー214の第1命令(act1)215、第2命令(act2)216、第3命令(act3)218と、制御フロー214の第1命令(act1)215から第2命令(act2)216への流れ、第2命令(act2)216から第3命令(act3)218への流れが、定義されている。また、第2命令(act2)216には、217に示すように、リクエストメッセージを受け取って、送信者にコンテンツを返すように定義されている。
【0089】
また、図12Bに示すようにユーザーエージェント219は、その記述項目に協調ポリシーが記述されている。協調ポリシー記述は、要求したコンテンツを利用するための条件を定義している。
また、ユーザーエージェント219の制御記述の例として、制御フロー220が示されている。この制御フロー220の第1命令(act1)221、第2命令(act2)222、第3命令(act3)224と、制御フロー220の第1命令(act1)221から第2命令(act2)222への流れ、第2命令(act2)222から第3命令(act3)224への流れが、定義されている。また、第2命令(act2)222には、223に示すように、ServiceControl/Responderの役割ラベルをもつエージェントへメッセージを送って、コンテンツの送信をもらうように定義されている。
以下の図10に示した処理の詳細の説明では、図12Aに示したコンテンツエージェント211、図12Bに示したユーザーエージェント219及び図11Aに示したフィルタリングエージェント195を適宜例としてあげて説明する。
【0090】
次に、図10に示したアクティブコンテンツの実行の動作の詳細の処理について説明する。
後述する図13及び図14は、図10のフローチャートのステップS11の制御記述断片選択処理を詳細に説明する図である。
図13は、ステップS11の制御記述断片選択処理の詳細を示すフローチャートである。
図13において、アクティビティ実行キューがあるか否かを判断する(ステップS21)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154があるか否かを判断する。
【0091】
判断ステップS21で、アクティビティ実行キューがないときは、制御記述から最初に実行すべきアクティビティを取り出し、アクティビティ実行キューへ保存する(ステップS22)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の制御記述106のアクティビティ定義131及び制御フロー定義132から最初に実行すべきアクティビティを取り出し、実行状態127のアクティビティ実行キュー154へ保存する。
【0092】
次に、アクティビティ実行キューがあるか否かを判断する(ステップS23)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154があるか否かを判断する。判断ステップS21で、アクティビティ実行キューがないときは、処理を終了する。
【0093】
判断ステップS21で、アクティビティ実行キューがあるときは、及び判断ステップS23で、アクティビティ実行キューがあるときは、アクティビティ実行キューの先頭にあるアクティビティに対応した協調ポリシーを取り出し、有効協調ポリシーリストに追加して格納する(ステップS24)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154の先頭にあるアクティビティに対応した協調ポリシーを協調ポリシー記述105から取り出し、有効協調ポリシーリスト156に追加して格納する。
ここでは、231で示すように、協調ポリシー記述105に複数の協調相手に関してポリシーが書かれていれば、複数の協調ポリシーが有効協調ポリシーリスト156に追加される。
【0094】
図14は、ステップS11の制御記述断片選択処理の例を示すフローチャートである。
例えば、ステップS22の制御記述から最初に実行すべきアクティビティを取り出し、アクティビティ実行キューへ保存する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の制御記述106のアクティビティ定義131及び制御フロー定義132に基づいて記述される制御フロー214(第1命令(act1)215、第2命令(act2)216、第3命令(act3)218)から最初に実行すべきアクティビティとして第1命令(act1)215を取り出し、実行状態127のアクティビティ実行キュー154へ保存する。
これにより、実行状態127のアクティビティ実行キュー154には、最初に実行すべきアクティビティとして第1命令(act1)215が保存される。
【0095】
また、ステップS24のアクティビティ実行キューの先頭にあるアクティビティに対応した協調ポリシーを取り出し、有効協調ポリシーリストに追加して格納する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154の先頭にあるアクティビティとして第1命令(act1)215に対応した協調ポリシーとして、図12に示したコンテンツエージェント211が図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212を協調ポリシー記述105から取り出し、有効協調ポリシーリスト156に追加して格納する。
【0096】
これにより、実行状態127の有効協調ポリシーリスト156には、コンテンツエージェント211のアクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212(FilterService )が格納される。
【0097】
図15及び図16は、図10のフローチャートにおけるステップS13の協調ポリシー登録・検索処理の動作の詳細を示す図である。
図15は、ステップS13の協調ポリシー登録・検索処理の詳細を示すフローチャートである。図15において、ステップS13に示す、協調ポリシー登録・検索処理は、以下のようにして実行される。
【0098】
追加された有効協調ポリシーリストの記述を取り出す(ステップS31)。具体的には、プレース112上の制御変更・監視・実行部115がステップS24で有効協調ポリシーリスト156に追加して格納した協調ポリシーを実行状態127の有効協調ポリシーリスト156から取り出す。
【0099】
次に、自分(例えば、図12に示したコンテンツエージェント211)の協調ポリシーの属性が要求を待つ側(responder)であるか否かを判断する(ステップS32)。具体的には、プレース112上の制御変更・監視・実行部115が図12に示したコンテンツエージェント211の協調ポリシー記述105において、241で示すように、属性の記号の記述が要求を待つ側(responder)であるか、又は相手を探す側(requester)であるかを判断する。
【0100】
判断ステップS32で、自分(例えば、図12に示したコンテンツエージェント211)の協調ポリシーの属性が要求を待つ側(responder)であるときは、243で示すサービス提供側のフローに移行する。243で示すサービス提供側では、協調ポリシー登録部を用いて、要求項目(《required》)、提供項目(《provided》)及び効果項目(《effect》)の公開情報を登録する(ステップS35)。具体的には、プレース112上の制御変更・監視・実行部115が協調ポリシー登録部113、又は108に、サービス提供側の要求項目(《required》)、提供項目(《provided》)及び効果項目(《effect》)の公開情報を登録する。
【0101】
次に、サービス利用者からのリクエストが来るまで待つ(ステップS36)。具体的には、プレース112上の制御変更・監視・実行部115がサービス利用者からのアクティブコンテンツやユーザーエージェントのリクエストが来るまで待つ。ここで、リクエストが来るまで待つ時間に、245に示すように、最小検索時間や最大検索時間(タイムアウト)を設定してもよい。
【0102】
そして、レスポンスが来た相手のアドレスと相手の要求となる協調ポリシー、協調ポリシーへの参照情報を協調相手インスタンスに協調相手候補として登録する(ステップS36)。具体的には、プレース112上の制御変更・監視・実行部115が、レスポンスが来た相手のアドレスと相手の要求となる協調ポリシー、協調ポリシーへの参照情報を実行状態127の協調相手インスタンスリスト155に協調相手候補として登録する。
【0103】
また、判断ステップS32で、自分(例えば、図12に示したコンテンツエージェント211)の協調ポリシーの属性が要求を待つ側(responder)でないときは、244で示すサービス利用側のフローに移行する。244で示すサービス利用側では、協調ポリシー登録部を用いて、登録した協調ポリシーに合致しそうな相手を検索する(ステップS33)。具体的には、プレース112上の制御変更・監視・実行部115が協調ポリシー登録部113、又は108から登録した自分(図12に示したコンテンツエージェント211)の協調ポリシーに合致しそうな相手の協調ポリシーを検索する。ここで、自分の協調ポリシーに合致しそうな相手の協調ポリシーを検索する時間に、245に示すように、最小検索時間や最大検索時間(タイムアウト)を設定してもよい。
【0104】
そして、ステップS33で検索された相手のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を協調相手インスタンスに協調相手候補として登録する(ステップS34)。具体的には、プレース112上の制御変更・監視・実行部115が、ステップS33で検索された相手のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を実行状態127の協調相手インスタンスリスト155に協調ポリシー記述105の協調相手定義138に対する協調相手候補として登録する。
【0105】
図16は、ステップS13の協調ポリシー登録・検索処理の例を示すフローチャートである。
例えば、ステップS31の追加された有効協調ポリシーリストの記述を取り出す処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115がステップS24で有効協調ポリシーリスト156に追加して格納した協調ポリシーとして、コンテンツエージェント211のアクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212(FilterService )を実行状態127の有効協調ポリシーリスト156から取り出す。
【0106】
また、例えば、ステップS33の協調ポリシー登録部を用いて、登録した協調ポリシーに合致しそうな相手を検索する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115が協調ポリシー登録部113、又は108から登録した自分の協調ポリシーである、コンテンツエージェント211のアクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212(FilterService )に合致しそうな相手の協調ポリシーとして、251に示すように、図11に示したフィルタリングエージェント195が検索される。
【0107】
また、ステップS34のステップS33で検索された相手のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を協調相手インスタンスに協調相手候補として登録する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115が、ステップS33で検索された相手の図11に示したフィルタリングエージェント195のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を、252に示すように、実行状態127の協調相手インスタンスリスト155に協調ポリシー記述105の協調相手定義138に対する協調相手候補として登録する。
【0108】
図17は、ステップS14の協調候補から協調する相手を決定する処理の詳細を示すフローチャートである。
図17において、協調相手の協調ポリシーの属性が相手を探す側(requester)であるか否かを判断する(ステップS41)。具体的には、プレース112上の制御変更・監視・実行部115が協調相手の協調ポリシー記述105において、261で示すように、属性の記号の記述が相手を探す側(requester)であるか、又は要求を待つ側(responder)であるかを判断する。
【0109】
この時、協調相手の協調ポリシーの属性情報は、協調相手インスタンスに登録された協調相手の情報を参照して判断する。具体的には、プレース112上の制御変更・監視・実行部115が、相手の協調ポリシーの属性情報を実行状態127の協調相手インスタンスリスト155に登録してある協調ポリシー記述105の属性情報から判断する。
【0110】
判断ステップS41で、協調相手の協調ポリシーの属性が相手を探す側(requester)であるときは、262で示すサービス提供側のフローに移行する。
262で示すサービス提供側のフローでは、サービスの提供条件をすり合わせる(ステップS42)。具体的には、264に示すように、プレース112上の協調条件生成決定部114は、サービス利用者からの公募してきた相手と互いの協調ポリシー記述105の属性情報に基づいてすり合わせを行って、協調条件124により合意123のとれた協調相手を決定する。
【0111】
また、判断ステップS41で、相手の協調ポリシーの属性が相手を探す側(requester)でないときは、263で示すサービス利用側のフローに移行する。
263で示すサービス利用側のフローでは、サービスの利用条件をすり合わせる(ステップS43)。具体的には、265に示すように、プレース112上の協調条件生成決定部114は、サービス提供候補者にメッセージを出して一つを選出して、サービス提供候補者と互いの協調ポリシー記述105の属性情報に基づいてすり合わせを行って、協調条件124により合意123のとれた協調相手を決定する。
【0112】
図18は、図17のステップS42の提供条件をすりあわせてサービスを提供する相手を決定する処理の詳細を示すフローチャートである。ここで、サービスを提供する相手は、例えば、図12で示したユーザーエージェント219である。
図18において、協調候補のすべての要求のあるポリシーについて、協調ポリシー解釈部を用いて提供するポリシーの一貫性を調べる(ステップS51)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー解釈部161を用いて、サービス利用者からの要求のある協調ポリシー記述105の情報について、自分のポリシーとの一貫性を調べる。
【0113】
提供するポリシーと矛盾する要求のあるポリシーを持つ相手には、提供の否認メッセージを送る(ステップS52)。具体的には、プレース112上の協調条件生成決定部114は、有効協調ポリシーリスト156に格納されている協調ポリシー記述105に基づいて、提供するポリシーと矛盾する要求のあるポリシーを持つ相手には、提供の否認メッセージを送る。
【0114】
提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する(ステップS53)。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンスリスト155に登録されている要求のある協調ポリシーのうち、提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する。
【0115】
判断ステップS53で、提供するポリシーと矛盾しない要求のあるポリシーが存在しないときは終了する。なお、この場合には、273で示すように、提供するポリシーを要求のあるポリシーに矛盾しないように変更するようにしてもよい。
【0116】
判断ステップS53で、提供するポリシーと矛盾しない要求のあるポリシーが存在するときは、交渉手順の応募優先順手順に従い、応募順を決定し、その順番で協調候補を並べ替える(ステップS54)。具体的には、プレース112上の協調条件生成決定部114は、提供するポリシーと矛盾しない要求のあるポリシーが複数存在するときは、予め定められた交渉手順の応募優先順手順に従い、応募順を決定し、その順番で複数の協調候補を並べ替える。応募優先順は、例えば、過去の応募頻度や協調実績などに基づいて決定してもよい。
【0117】
そして、協調候補が存在するか否かを判断する(ステップS55)。具体的には、プレース112上の協調条件生成決定部114は、ステップS54で並べ替えた協調候補のうちに、決定すべき協調候補が存在するか否かを判断する。
判断ステップS55で、協調候補が存在しないときは終了する。判断ステップS55で、協調候補が存在するときは、応募優先度の高い候補を選択し、その候補と提供条件をすり合わせる(ステップS56)。
【0118】
さらに、協調可能か否かを判断する(ステップS57)。具体的には、プレース112上の協調条件生成決定部114は、応募優先度の高い候補のうちに、ステップS55により、協調候補が協調可能であるか否かを判断する。
判断ステップS57で、協調可能な協調候補が存在するときは、協調相手インスタンスに協調可能な相手のアドレスを記入して、終了する(ステップS58)。
判断ステップS57で、協調可能な協調候補が存在しないときは、協調候補から協調できない相手を取り除いた後に(ステップS59)、ステップS55へ戻って、ステップS55〜ステップS59までの判断及び処理を繰り返す。
【0119】
図19は、図18のステップS56の応募優先度の高い候補を選択し、その候補と提供条件をすりあわせる処理の詳細を示すフローチャートである。
図19において、応募優先度の高い候補を選択する(ステップS61)。具体的には、プレース112上の協調条件生成決定部114は、応募優先度の高い候補を実行状態127の協調相手インスタンスリスト155に登録されている候補のうちから選択する。
【0120】
交渉手順定義に応募メッセージ作成手順が含まれているか否かを判断する(ステップS62)。具体的には、プレース112上の協調条件生成決定部114は、ステップS61で選択された応募優先度の高い候補のうち、協調ポリシー記述105の交渉手順定義142に応募メッセージ作成手順が含まれているか否かを判断する。交渉手順定義142は、281に示すように、公募メッセージ作成手順、協調条件作成手順、合格基準判定手順及び後処理を構成要素とするものである。
【0121】
判断ステップS62で、交渉手順定義に応募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを応募メッセージであると決定する(ステップS63)。具体的には、プレース112上の協調条件生成決定部114は、予め定められた交渉手順定義142に応募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを応募メッセージであると決定する。
【0122】
判断ステップS62で、交渉手順定義に応募メッセージ作成手順が含まれているときは、交渉手順に従って、応募メッセージを作成する(ステップS64)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105に予め定められた交渉手順定義に従って、応募メッセージを作成する。
【0123】
そして、協調相手に応募メッセージを送信する(ステップS65)。具体的には、プレース112上の協調条件生成決定部114は、ステップS63で決定され、又はステップS64で作成された応募メッセージを協調相手に送信する。
その後、応募メッセージを送信した協調相手からのメッセージを待つ(ステップS66)。具体的には、プレース112上の協調条件生成決定部114は、ステップS65で応募メッセージを送信した協調相手からの応募回答メッセージを待つ。
【0124】
受理メッセージであるか否かを判断する(ステップS67)。具体的には、プレース112上の協調条件生成決定部114は、ステップS66で受信した協調相手からの応募回答メッセージが受理メッセージであるか否かを判断する。
判断ステップS67で、応募回答メッセージが受理メッセージであるときは、受理メッセージに含まれる協調条件を交渉ポリシー中の合格基準に合うかどうかをチェックする(ステップS68)。具体的には、プレース112上の協調条件生成決定部114は、ステップS66で受信した協調相手からの受理メッセージに含まれる協調条件が、交渉手順定義142中の合格基準判定手順に合うかどうかをチェックする。
【0125】
そして、協調条件が合格基準に合っているか否かを判断する(ステップS69)。具体的には、プレース112上の協調条件生成決定部114は、ステップS68のチェックで受理メッセージに含まれる協調条件が、交渉手順定義142中の合格基準判定手順に合っているか否かを判断する。
判断ステップS69で、協調条件が合格基準に合っているときは、協調相手に協調条件の合意メッセージを送る(ステップS72)。具体的には、プレース112上の協調条件生成決定部114は、判断ステップS69で、協調条件が合格基準に合っているときは、協調相手に協調条件の合意メッセージを送る。
【0126】
そして、協調相手インスタンスにその協調相手を協調条件に書き込む(ステップS73)。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンス155にその協調相手を協調条件として登録する。
交渉手順に従って、後処理を行う(ステップS71)。具体的には、プレース112上の協調条件生成決定部114は、予め定められた交渉手順定義142に従って、後処理を行う。後処理は、例えば、283に示すように、協調ポリシーの変更などの処理である。
【0127】
判断ステップS69で、協調条件が合格基準に合っていないときは、協調相手に協調条件の辞退メッセージを送った後に(ステップS70)、ステップS71へ移行する。具体的には、プレース112上の協調条件生成決定部114は、判断ステップS69で、協調条件が合格基準に合っていないときは、協調相手に協調条件の辞退メッセージを送った後に、交渉手順に従って、後処理を行う。
【0128】
図20は、図17のステップS43の利用条件のすりあわせで協調候補からサービスを利用する相手を決定する処理の詳細を示すフローチャートである。ここで、協調候補からサービスを利用する相手は、例えば、図11で示したフィルタリングエージェント195である。
図20において、協調候補のすべての要求のあるポリシーについて、協調ポリシー解釈部を用いて提供するポリシーの一貫性を調べる(ステップS81)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー解釈部161を用いて、サービス提供候補者の協調ポリシー記述105の情報について、自分のポリシーとの一貫性を調べる。
【0129】
提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する(ステップS82)。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンスリスト155に登録されている要求のある協調ポリシーのうち、提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する。
【0130】
判断ステップS82で、提供するポリシーと矛盾しない要求のあるポリシーが存在しないときは終了する。なお、この場合には、292で示すように、提供するポリシーを要求のあるポリシーに矛盾しないように変更するようにしてもよい。
判断ステップS82で、提供するポリシーと矛盾しない要求のあるポリシーが存在するときは、交渉手順定義に公募メッセージ作成手順が含まれているか否かを判断する(ステップS83)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に公募メッセージ作成手順が含まれているか否かを判断する。
【0131】
判断ステップS83で、交渉手順定義に公募メッセージ作成手順が含まれているときは、交渉手順に従って、公募メッセージを作成する(ステップS85)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に従って、公募メッセージを作成する。
【0132】
判断ステップS83で、交渉手順定義に公募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを公募メッセージと決定する(ステップS84)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に公募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを公募メッセージと決定する。
【0133】
提供するポリシーと矛盾しない要求のあるポリシーを持つすべての相手に、公募メッセージを送る(ステップS86)。具体的には、プレース112上の協調条件生成決定部114は、提供するポリシーと矛盾しない要求のあるポリシーを持つすべての相手に、有効協調ポリシーリスト156に格納されている協調ポリシー記述105に基づいて作成された、又は交渉手順定義142に従って作成された、公募メッセージを送る。
【0134】
その後、公募メッセージを送信した協調相手からの応募メッセージが来るのを待つ(ステップS87)。具体的には、プレース112上の協調条件生成決定部114は、ステップS86で公募メッセージを送信した協調相手からの公募回答メッセージを待つ。
【0135】
応募メッセージのうち、メッセージに含まれる協調条件を交渉ポリシー中の合格基準に従い、合格者を1名決定する(ステップS88)。具体的には、プレース112上の協調条件生成決定部114は、ステップS87で受信した協調相手からの応募メッセージに含まれる協調条件が、交渉手順定義142中の293の構成要素で示す合格基準判定手順に合っているもののうちの1名を合格者として決定する。
【0136】
交渉手順定義の協調条件作成処理に従い、合格者の要求のあるポリシーと提供するポリシーから協調条件を作成する(ステップS89)。具体的には、プレース112上の協調条件生成決定部114は、交渉手順定義142の293の構成要素で示す協調条件作成処理に従い、ステップS88で決定した合格者の要求のあるポリシーと提供するポリシーから協調条件を作成する。
【0137】
合格者に対して協調条件として受理メッセージを送る(ステップS90)。具体的には、プレース112上の協調条件生成決定部114は、ステップS88で決定した合格者に対して協調条件として受理メッセージを送る。
合格者以外に対して却下メッセージを送る(ステップS91)。具体的には、プレース112上の協調条件生成決定部114は、ステップS88で決定した合格者以外に対して却下メッセージを送る。
【0138】
合格者からの受理メッセージに対する返答を待つ(ステップS92)。具体的には、プレース112上の協調条件生成決定部114は、ステップS90で合格者に対して送った受理メッセージに対する返答を待つ。
合格者が協調条件に合意したか否かを判断する(ステップS93)。具体的には、プレース112上の協調条件生成決定部114は、ステップS92の合格者からの受理メッセージに対する返答により、合格者が協調条件に合意したか否かを判断する。
【0139】
判断ステップS93で合格者が協調条件に合意したときは、協調相手インスタンスにその協調相手を協調条件に書き込んで(ステップS94)、終了する。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンス155リストにその協調相手を協調条件として登録して、終了する。
判断ステップS93で、協調条件が合格基準に合っていないときは、終了する。
【0140】
図21は、図17のステップS43の利用条件のすりあわせの例を示すフローチャートである。
例えば、ステップS81の協調候補のすべての要求のあるポリシーについて、協調ポリシー解釈部を用いて提供するポリシーの一貫性を調べる処理は、以下のように実行される。
具体的には、303に示すように、プレース112上の協調条件生成決定部114は、協調ポリシー解釈部161を用いて、自分(図12Aに示すコンテンツエージェント211)の協調ポリシーである提供するポリシー301と、相手(図11で示したフィルタリングエージェント195)となるサービス提供候補者の協調ポリシーである要求のあるポリシー302とで、両者の要求項目(《required》)、提供項目(《provided》)、及び効果項目(《effect》)に矛盾がないかそのマッチングを調べる。このマッチングは、全部一致、一部一致、条件付一致の場合もある。
【0141】
また、ステップS84の提供するポリシーの情報すべてを公募メッセージと決定する処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に公募メッセージ作成手順が含まれていないときは、提供するポリシー301の情報すべてを候補となる公募メッセージ304と決定する。
【0142】
また、ステップS86で提供するポリシーと矛盾しない要求のあるポリシーを持つすべての相手に、公募メッセージを送る処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、306に示すように、提供するポリシーと矛盾しない要求のあるポリシーを持つ相手である図11で示したフィルタリングエージェント195に、有効協調ポリシーリスト156に格納されている協調ポリシー記述105に基づいて作成された、又は交渉手順定義142に従って作成された、公募メッセージを送る。
【0143】
また、ステップS88の応募メッセージのうち、メッセージに含まれる協調条件を交渉ポリシー中の合格基準に従い、合格者を1名決定する処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、ステップS87で受信した協調相手である図11で示したフィルタリングエージェント195からの応募メッセージ307に含まれる協調条件が、交渉手順定義142中の293の構成要素で示す合格基準判定手順に合っているもののうちの1名の合格者として決定する。
【0144】
そして、ステップS90の合格者に対して協調条件として受理メッセージを送る処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、ステップS88で決定した合格者に対して協調条件として、候補となる公募メッセージ304に対して決定した受理メッセージ305を送る。
【0145】
図22は、協調ポリシーをすりあわせるときのプロトコルを示す図である。
図22において、T1時点で、相手を探す側(requester)311から要求を待つ側(responder)312へ、利用するポリシーについて公募メッセージ315を送信する。また、T2時点で、相手を探す側(requester)311から他の要求を待つ側(responder)313へ、利用するポリシーについて他の公募メッセージ316を送信する。さらに、T3時点で、相手を探す側(requester)311から他の要求を待つ側(responder)314へ、利用するポリシーについて他の公募メッセージ317を送信する。
【0146】
これに対して、T4時点で、相手を探す側(requester)311は要求を待つ側(responder)312から、提供されるポリシーについて応募メッセージ318を受信する。T5時点で、相手を探す側(requester)311は他の要求を待つ側(responder)313から、提供されるポリシーについて他の応募メッセージ319を受信する。
【0147】
そこで、T6時点で、相手を探す側(requester)311から要求を待つ側(responder)312へ、協調条件について受理メッセージ320を送信する。また、T7時点で、相手を探す側(requester)311から他の要求を待つ側(responder)313へ、協調条件について却下メッセージ321を送信する。
【0148】
さらに、T8時点で、相手を探す側(requester)311は要求を待つ側(responder)312から、協調条件について合意メッセージ322を受信する。又は、T9時点で、協調条件を呑めない場合324には、相手を探す側(requester)311は要求を待つ側(responder)312から、協調条件について辞退メッセージ325を受信する。
【0149】
また、以下に、図10の処理の詳細を説明する。
図23は、ステップS16の協調準備の処理の詳細を示すフローチャートである。
図23において、追加された協調相手インスタンス中の協調条件から協調場所を取り出す(ステップS121)。具体的には、プレース112上の協調スタイル実施部128は、実行状態127の協調相手インスタンスリスト155の合意123のとれた協調条件124中から、協調場所を取り出す。協調場所は、331に示すように、例えば、協調条件124協調場所のラベル部分(CollaborationPlace )で特定される。
【0150】
次に、協調場所が現在のプレースと異なるか否かを判断する(ステップS122)。具体的には、プレース112上の制御変更・監視・実行部115は、プレース112上の協調スタイル実施部128がステップS121で取り出した協調場所が現在のプレースと異なるか否かを判断する。
【0151】
判断ステップS122で、協調場所が現在のプレースと異ならないときは、追加された協調相手インスタンス中の協調条件から協調スタイルを取り出し、協調スタイル実施部に協調スタイルの実施を依頼する(ステップS124)。具体的には、プレース112上の制御変更・監視・実行部115が、プレース112上の協調スタイル実施部128に、協調スタイルの実施を依頼する。このとき、協調スタイルは、332に示すように、例えば、結合スタイルのラベル部分(BindingStyle)で特定され、ここで親子関係が築かれ、子のメッセージの一部が親のメッセージとして処理される。
【0152】
また、判断ステップS122で、協調場所が現在のプレースと異なるときは、協調場所に移動した後に(ステップS123)、ステップS124へ移行する。具体的には、プレース112上の制御変更・監視・実行部115が、アクティブコンテンツ102を協調場所に移動した後に、移動先プレースの協調スタイル実施部に協調スタイルの実施を依頼する。
【0153】
図24は、ステップS18の自律ポリシー選択・生成・登録の処理の詳細を示すフローチャートである。
図24において、変換ルール記述が登録されているか否かを判断する(ステップS131)。具体的には、プレース112上の制御変更・監視・実行部115は、変換ルール記述111がコンテンツ制御情報格納部104に登録されているか否かを判断する。
【0154】
判断ステップS131で、変換ルール記述が登録されていないときは、登録されている自律ポリシーを取り出す(ステップS133)。具体的には、プレース112上の制御変更・監視・実行部115は、コンテンツ制御情報格納部104の自律ポリシー記述107中の自律ポリシーを取り出す。
【0155】
そして、自律ポリシーを実行状態の有効自律ポリシーリストに加える(ステップS134)。具体的には、プレース112上の制御変更・監視・実行部115は、ステップS133で取り出した自律ポリシーを実行状態127の有効自律ポリシーリスト157に加える。
【0156】
また、判断ステップS131で、変換ルール記述が登録されているときは、変換ルールに従い、協調条件から自律ポリシーを生成した後に(ステップS132)、ステップS134へ移行する。具体的には、プレース112上の制御変更・監視・実行部115は、判断ステップS131で登録されている変換ルール記述111に従い、協調条件から自律ポリシーを生成した後に、自律ポリシーを実行状態の有効自律ポリシーリストに加える。
【0157】
図25は、ステップS16の協調準備の処理の例を示すフローチャートである。
図25において、例えば、ステップS121の追加された協調相手インスタンス中の協調条件から協調を取り出す処理は、以下のように実行される。
具体的には、341で示すように、協調場所のラベル部分(CollaborationPlace)が相手を探す側(requester)である図12に示したコンテンツエージェント211である。そこで、コンテンツエージェント211の存在している現在のプレースが、プレース112上の協調スタイル実施部128により、取り出される。
【0158】
また、例えば、ステップS124の追加された協調相手インスタンス中の協調条件から協調スタイルを取り出し、協調スタイル実施部に協調スタイルの実施を依頼する処理は、以下のように実行される。
具体的には、342で示すように、コンテンツエージェント211の結合スタイルのラベル部分(BindingStyle )は親(parent)で、相手は子(child)なので、プレース112上の制御変更・監視・実行部115が、プレース112上の協調スタイル実施部128に、相手となる図11に示したフィルタリングエージェント195と親子関係を結ぶ協調スタイルの実施を依頼する。このとき、協調スタイルは、343に示すように、例えば、結合スタイルのラベル部分(BindingStyle)で特定され、ここで親子関係が築かれ、子のメッセージの一部が親のメッセージとして処理される。
【0159】
図26は、ステップS18の自律ポリシー選択・生成・登録の処理の例を示すフローチャートである。
図26において、例えば、ステップS133で登録されているフィルタリングエージェント195の自律ポリシーを取り出す処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115は、フィルタリングエージェント195のコンテンツ制御情報格納部104の自律ポリシー記述107中の自律ポリシー196を取り出す。
【0160】
図27は、ステップS19の自律ポリシーに従い次の制御の実行の処理の詳細を示すフローチャートである。
図27において、実行状態のアクティビティ実行キューから次に実行すべきアクティビティを取り出す(ステップS141)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127のアクティビティ実行キュー154から次に実行すべきアクティビティを取り出す。
【0161】
次に、有効自律ポリシーから次に実行すべきアクティビティに関するものを取り出す(ステップS142)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の有効自律ポリシーリスト157から次に実行すべきアクティビティに関するものを取り出す。
そして、自律ポリシーのアスペクト記述にアクティビティの置き換えが定義されているか否かを判断する(ステップS143)。具体的には、プレース112上の制御変更・監視・実行部115が、自律ポリシー記述107のアスペクト記述147にアクティビティの置き換えが定義されているか否かを判断する。
【0162】
判断ステップS143で、自律ポリシーのアスペクト記述にアクティビティの置き換えが定義されているときは、アスペクト記述に従い、アクティビティを置き換える(ステップS145)。具体的には、プレース112上の制御変更・監視・実行部115が、自律ポリシー記述107のアスペクト記述147に従い、アクティビティを置き換える。
判断ステップS143で、自律ポリシーのアスペクト記述にアクティビティの置き換えが定義されていないとき、及びステップS145でアクティビティを置き換えた後は、アクティビティの事前処理を行う(ステップS144)。具体的には、プレース112上の制御変更・監視・実行部115が、実施の必要な予め定められたアクティビティの事前処理を行う。
【0163】
次に、アクティビティの実行位置のチェックを行う(ステップS146)。具体的には、プレース112上の制御変更・監視・実行部115が、アクティビティの実行位置がどのプレース上であるかのチェックを行う。
そして、実行位置が現在のプレースであるか否かを判断し(ステップS147)、実行位置が現在のプレースでないときは、実行位置が協調条件に違反していないか否かを判断し(ステップS148)、実行位置が協調条件に違反していないときは、プレース112上の制御変更・監視・実行部115が、アクティビティ転送部164を使って実行位置にアクティビティを転送する(ステップS150)。なお、ステップS147、ステップS148及びステップS150の処理はオプション363であり、必須の処理ではない。
【0164】
判断ステップS147で、実行位置が現在のプレースであるとき、及びステップS150の転送処理の後に、自律ポリシーに従いアクティビティを実行する(ステップS151)。具体的には、プレース112上の制御変更・監視・実行部115が、自律ポリシー記述107に従いアクティビティを実行する。具体的には、自律ポリシー107の実行制約146に従ってアクティブティを実行する。
次に、アクティビティの事後処理を行う(ステップS152)。具体的には、プレース112上の制御変更・監視・実行部115が、実施の必要な予め定められたアクティビティの事後処理を行う。
【0165】
そして、次に実行すべきアクティビティがあるか否かを判断する(ステップS153)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127のアクティビティ実行キュー154に次に実行すべきアクティビティがあるか否かを判断する。
判断ステップS153で、次に実行すべきアクティビティがなければ終了し、次に実行すべきアクティビティがなければ、ステップS141へ戻って、ステップS141〜ステップS153までの処理及び判断を繰り返す。
【0166】
このとき、361に示すように、ステップS143〜ステップS153までの処理及び判断と、メッセージを受信したときに起動される割り込み処理ルーチン364であるステップS154〜ステップS157までの処理及び判断が、並列に実行される。
以下に、割り込み処理ルーチン364であるステップS154〜ステップS157について説明する。
まず、割り込みが発生すると、メッセージキューを調べ、子のメッセージが届いていたら、自律ポリシーに登録されている手順に従って、メッセージを加工する(ステップS154)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の制御状態158に格納されるメッセージキュー159を調べ、子のメッセージが届いていたら、自律ポリシー記述107に登録されている手順に従って、メッセージを加工する。
【0167】
次に、ステップS154の加工が子との協調条件に違反していないか否かを判断する(ステップS155)。具体的には、プレース112上の制御変更・監視・実行部115が、メッセージの加工が、子との協調条件に違反していないか否かを判断する。
判断ステップS155で、加工が子との協調条件に違反しているとき、及び判断ステップS148で実行位置が協調条件に違反しているときは、362で示すように、実行例外を起こすなど、協調条件違反処理を行って終了する(ステップS149)。
【0168】
判断ステップS155で、加工が子との協調条件に違反していないときは、加工したメッセージを相手に送信し(ステップS146)、次に実行すべきアクティビティの実行が終了したか否かを判断する(ステップS157)。
判断ステップS157で、次に実行すべきアクティビティの実行が終了していれば終了し、次に実行すべきアクティビティの実行が終了していなければ、ステップS154へ戻って、ステップS154〜ステップS157までの処理及び判断を繰り返す。
【0169】
図28は、ステップS144及びステップS152のアクティビティの処理を示すフローチャートであり、図28AはステップS144のアクティビティの事前処理を示すフローチャート、図28BはステップS152のアクティビティの事後処理を示すフローチャートである。
図28Aにおいて、メッセージキューを調べ、自分のメッセージが届いていたら、自律ポリシーに従ってフィルタリングを行って、メッセージキューに戻す(ステップS161)。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の制御状態158に格納されるメッセージキュー159を調べ、自分のメッセージが届いていたら、実行状態127の有効自律ポリシーリスト157に従ってフィルタリングを行って、フィルタリング処理後の自分のメッセージをメッセージキュー159に戻す。
【0170】
次に、自律ポリシーに、次に実行すべきアクティビティの前に実行すべきアクティビティが登録されているか否かを判断する(ステップS162)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の有効自律ポリシーリスト157に次に実行すべきアクティビティの前に実行すべきアクティビティが登録されているか否かを判断する。
【0171】
判断ステップS162で、自律ポリシーに、次に実行すべきアクティビティの前に実行すべきアクティビティが登録されているときは、実行すべきアクティビティを自律ポリシーに従って実行する(ステップS163)。具体的には、プレース112上の制御変更・監視・実行部115が、実行すべきアクティビティを実行状態127の有効自律ポリシーリスト157に従って実行する。
【0172】
判断ステップS162で、自律ポリシーに、次に実行すべきアクティビティの前に実行すべきアクティビティが登録されていないとき、及びステップS163の処理後は、自律ポリシーに、次に実行するアクティビティの入力データの変更処理が登録されている場合、それに従い内部データを加工する(ステップS164)。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の有効自律ポリシーリスト157に、次に実行するアクティビティの入力データの変更処理が登録されている場合、それに従い内部データを加工する。
【0173】
そして、自律ポリシーに、内部データの変更処理が登録されている場合、それに従い内部データを加工する。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の有効自律ポリシーリスト157に、内部データの変更処理が登録されている場合、それに従い内部データを加工する。
【0174】
また、図28Bにおいて、自律ポリシーに、実行したアクティビティの出力データの変更処理が登録されている場合、それに従い出力データを加工する(ステップS171)。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の有効自律ポリシーリスト157に、実行したアクティビティの出力データの変更処理が登録されている場合、それに従い出力データを加工する。
【0175】
次に、自律ポリシーに、実行したアクティビティの後に実行すべきアクティビティが登録されているか否かを判断する(ステップS172)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の有効自律ポリシーリスト157に実行したアクティビティの後に実行すべきアクティビティが登録されているか否かを判断する。
【0176】
判断ステップS172で、自律ポリシーに、実行したアクティビティの後に実行すべきアクティビティが登録されているときは、実行すべきアクティビティを自律ポリシーに従って実行する(ステップS173)。具体的には、プレース112上の制御変更・監視・実行部115が、実行すべきアクティビティを実行状態127の有効自律ポリシーリスト157に従って実行する。
判断ステップS172で、自律ポリシーに、実行したアクティビティの後に実行すべきアクティビティが登録されていないとき、及びステップS173の処理後は、終了する。
【0177】
図29は、協調例を示す図である。
図29において、コンテンツエージェント211の協調ポリシー記述212に対して、アクティブコンテンツのコンテンツをフィルタリングする相手となるフィルタリングエージェント195が協調し、コンテンツエージェント211の協調ポリシー記述213に対して、フィルタリングエージェント195でフィルタリングされたンテンツを利用する相手となるユーザーエージェント219が協調する。
【0178】
このとき、コンテンツエージェント211の制御記述の例として、制御フロー214が示されている。この制御フロー214の第1命令(act1)215、第2命令(act2)216、第3命令(act3)218と、制御フロー214の第1命令(act1)215から第2命令(act2)216への流れ、第2命令(act2)216から第3命令(act3)218への流れが、定義されている。また、第2命令(act2)216には、217に示すように、リクエストメッセージを受け取って、送信者にコンテンツを返すように定義されている。
【0179】
また、フィルタリングエージェント195の制御記述の例として、制御フロー191が示されている。この制御フロー191の第1命令(act1)192、第2命令(act2)193、第3命令(act3)194が、制御記述106のアクティビティ定義131に定義されている。また、制御フロー191の第1命令(act1)192から第2命令(act2)193への流れ、第2命令(act2)193から第3命令(act3)194への流れが、制御記述106の制御フロー定義132に定義されている。
【0180】
また、フィルタリングエージェント195は、自律ポリシー196が付けられている。自律ポリシー記述107のアスペクト記述147として、自律ポリシー196には、197に示すように、メッセージを受け取ってその中の名前を匿名化する記述が設けられている。
【0181】
また、ユーザーエージェント219の制御記述の例として、制御フロー220が示されている。この制御フロー220の第1命令(act1)221、第2命令(act2)222、第3命令(act3)224と、制御フロー220の第1命令(act1)221から第2命令(act2)222への流れ、第2命令(act2)222から第3命令(act3)224への流れが、定義されている。また、第2命令(act2)222には、223に示すように、コンテンツエージェント211へメッセージを送って、コンテンツを送信してもらうように定義されている。
【0182】
上述した本実施の形態に限らず、本発明の要旨を逸脱しない限り、発明の構成を変更しうることはいうまでもない。
【図面の簡単な説明】
【0183】
【図1】アクティブコンテンツの概要を示す図である。
【図2】前提環境を示す図である。
【図3】ポリシーの概要を示す図である。
【図4】本実施の形態のシステム構成図である。
【図5】協調条件の成立と遵守手順を示す図である。
【図6】アクティブコンテンツ及びプレースの構成を示す図である。
【図7】アクティブコンテンツの各部の構成図であり、図7Aは制御記述の構造例(ワークフローで記述した場合)、図7Bは協調ポリシー記述の構造例、図7Cは変換ルール記述の構造例、図7Dは自律ポリシー記述の構造例、図7Eは協調条件の構造例、図7Fはコンテンツ素材格納部例、図7Gは実行状態の構造例である。
【図8】プレースの各部の構成図であり、図8Aは協調条件生成決定部の構造例、図8Bは制御変更・監視・実行部の構造例である。
【図9】アクティブコンテンツのライフサイクルの動作を示すフローチャートである。
【図10】アクティブコンテンツの実行の動作を示すフローチャートである。
【図11】フィルタリングエージェントの各部の記述例を示す図であり、図11Aはフィルタリングエージェントの制御記述と自律ポリシー記述であり、図11Bは協調ポリシー記述である。
【図12】他のエージェントの各部の記述例を示す図であり、図12Aはコンテンツエージェントの制御記述と協調ポリシー記述であり、図12Bはユーザーエージェントの制御記述と協調ポリシー記述である。
【図13】ステップS11の制御記述断片選択処理の詳細を示すフローチャートである。
【図14】ステップS11の制御記述断片選択処理の例を示すフローチャートである。
【図15】ステップS13の協調ポリシー登録・検索処理の詳細を示すフローチャートである。
【図16】ステップS13の協調ポリシー登録・検索処理の例を示すフローチャートである。
【図17】ステップS14の協調候補から協調する相手を決定する処理の詳細を示すフローチャートである。
【図18】ステップS42の提供条件のすりあわせで協調候補サービスを提供する相手を決定する処理の詳細を示すフローチャートである。
【図19】ステップS56の応募優先度の高い候補を選択し、その候補と提供条件をすりあわせる処理の詳細を示すフローチャートである。
【図20】ステップS43の利用条件のすりあわせで協調候補からサービスを利用する相手を決定する処理の詳細を示すフローチャートである。
【図21】ステップS43の利用条件のすりあわせの例を示すフローチャートである。
【図22】協調ポリシーをすりあわせるときのプロトコルを示す図である。
【図23】ステップS16の協調準備の処理の詳細を示すフローチャートである。
【図24】ステップS18の自律ポリシー選択・生成・登録の処理の詳細を示すフローチャートである。
【図25】ステップS16の協調準備の処理の例を示すフローチャートである。
【図26】ステップS18の自律ポリシー選択・生成・登録の処理の例を示すフローチャートである。
【図27】ステップS19の自律ポリシーに従い次の制御の実行の処理の詳細を示すフローチャートである。
【図28】ステップS144及びステップS152のアクティビティの処理を示すフローチャートであり、図28AはステップS144のアクティビティの事前処理を示すフローチャート、図28BはステップS152のアクティビティの事後処理を示すフローチャートである。
【図29】協調例を示す図である。
【符号の説明】
【0184】
1…アクティブコンテンツ、2…コンテンツ、3…プログラム、4…ポリシー、5…利用制約、流通方法、表示方法、6…埋め込み、7…製作者、8…暗号化、9…変換、10…エージェント・サービス,11…利用ポリシー、12…利用方法・利用範囲、流通条件、13…利用者、21、30…ホスト、22…複合アクティブコンテンツ、23、24、48…アクティブコンテンツ、25…合成、26…ユーザーエージェント・インターフェース、27,29…利用、28…情報変換・情報出力サービス、31…流通、41,51…アクティブコンテンツ、42…コンテンツ、52…子コンテンツ、43、53…制御記述、45,54…自律ポリシー、46,50、56…協調ポリシー、71,77,82,85…ホスト、76,79,84,87…プレース、72,75,73,78…アクティブコンテンツ、74…協調条件、83…サービス、86…ユーザーエージェント、101,116…ホスト、102…アクティブコンテンツ、112…プレース、117…ユーザーエージェント、104…コンテンツ情報格納部、105…協調ポリシー記述、106…制御記述、107…自律ポリシー記述、108…協調ポリシー登録部、109,114,121…協調条件生成決定部、110…交渉ポリシー記述、111…変換ルール記述、113,120…協調ポリシー登録部、115…制御変更・監視・実行部、127…実行状態、128…協調スタイル実施部
【技術分野】
【0001】
本発明は、例えば、コンテンツと、コンテンツを制御するコンテンツ制御情報を有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システム、アクティブコンテンツ流通プログラム及びアクティブコンテンツ流通方法に関する。
【背景技術】
【0002】
従来、例えば、コンテンツの一部分のみを提供したり,利用期限を設定したりする提供コンテンツに関する部分利用の制御を簡易に実現できるようにするために、提供者装置では,提供するコンテンツを所定の暗号鍵により暗号化し,その暗号化コンテンツに利用制限に関する利用形態情報を付加してカプセルコンテンツを作成し利用者装置へ送信している。そして、利用者装置では,受信したカプセルコンテンツを暗号化コンテンツと利用形態情報とに分離し,ユーザのコンテンツに対する利用要求があったときに,利用要求の内容と利用形態情報との照合により利用可否を判定し,利用可である場合に,暗号化コンテンツを復号してユーザに利用させるコンテンツ提供システムが知られている(特許文献1参照)。
【0003】
また、コンテンツ所有者の意に反した流通が行われないようにコンテンツの流通を制御、管理しつつ、コンテンツを効率的に幅広く流通させることができるようにするために、ネットワークを介して相互に通信可能な装置間でコンテンツを流通する際に、各装置のコンテンツの扱い方に関するポリシーであるサービスポリシーを相互に交換する。そして、双方の装置において相手装置から受信したサービスポリシーを自装置のサービスポリシーと比較することにより、相手装置とコンテンツの流通を実施するか、実施しないかの判定を行い、双方の装置において相手装置とコンテンツの流通を実施すると判定した場合に限り、個々のコンテンツの流通段階へ進むコンテンツ流通方法も提案されていた(特許文献2参照)。
【0004】
さらに、この出願の発明者らによるコンテンツをエージェント化することにより、柔軟でかつ自由なコンテンツ流通及び利用を可能にするフレームワーク、具体的には、エージェント化したコンテンツの振る舞いを形式的に定義し、例題に基づきその有効性を示したモバイルエージェントによる柔軟なコンテンツ流通を実現するアクティブコンテンツも知られていた(非特許文献1参照)。
【0005】
【特許文献1】特開2002-353953号公報
【特許文献2】特開2003-186729号公報
【非特許文献1】「情報処理学会論文誌:データベース」、Vol.44 No.SIG 18(TOD20)別刷、P.45〜57、モバイルエージェントによる柔軟なコンテンツ流通を実現するアクティブコンテンツ、平成15年12月発行、社団法人 情報処理学会
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載のコンテンツ提供システムでは、第1に、コンテンツに状況に応じた利用モジュールの選択機能がないため、どのような状況でどう選択するのかを示すポリシーを記述・変更するのが困難である。第2に、コンテンツに利用制約に基づいて アクセスコントロールを変更する仕組みがないため、利用者のポリシーとのすり合わせを行なうことができない。第3に、コンテンツに利用条件に基づいて内容を変更する機能がないため、適切な抽象度で部分閲覧ができないという不都合があった。
【0007】
また、特許文献2に記載のコンテンツ流通方法では、第1に、ポリシー表現の柔軟性に関して、すり合わせの仕組みが固定的であるためポリシーのすりあわせる方法を個別に指定できず、また、パラメータの解釈が固定的であるためポリシーの拡張(種類の増減)が困難であり、また、矛盾のないポリシーの追加・削除が困難である。
【0008】
第2に、ポリシー遵守機構に関し、ポリシーを遵守する仕組みがクライアントに100%まかされているため、ポリシー違反を見つけることが困難であり、さらに、ポリシーを含む情報のカプセル化ができない。
第3に、ポリシーの制御動作に関して、複合コンテンツを構成するように制御できず、また、コンテンツ同士の協調動作を構成するように制御できないという不都合があった。
【0009】
また、非特許文献1に記載のモバイルエージェントによる柔軟なコンテンツ流通を実現するアクティブコンテンツでは、アクティブコンテンツの実現方法の詳細や、具体的なアルゴリズムや定義方法については述べられていない。また、協調方法の一部の例について述べているのにとどまっているため、実現方式が具体的に提示されていないという不都合があった。
【0010】
そこで、本発明は、コンテンツの振舞を制御するポリシーの定義、変更・追加が容易となり、ポリシーの動的なすり合わせを可能にすることができるアクティブコンテンツ流通システム、アクティブコンテンツ流通プログラム及びアクティブコンテンツ流通方法を提供することを目的とするものである。
【課題を解決するための手段】
【0011】
上記課題を解決し、本発明の目的を達成するため、本発明のアクティブコンテンツ流通システムは、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、上記コンテンツ制御情報格納部は、上記コンテンツの利用制約、流通方法及び/又は提供方法を定めたポリシーを記憶する記憶部を有し、上記端末は、上記アクティブコンテンツの上記ポリシーと他のアクティブコンテンツの他のポリシーに基づいて、上記アクティブコンテンツと他のアクティブコンテンツとの間で上記アクティブコンテンツの上記コンテンツ及び/又は上記他のアクティブコンテンツの上記他のコンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件の調整を行う制御部を備えたものである。
【0012】
また、本発明のアクティブコンテンツ流通システムは、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、上記アクティブコンテンツの上記コンテンツ制御情報格納部は、上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを記憶する協調ポリシー記憶部と、上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報格納部に格納された上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシーを記憶する自律ポリシー記憶部と、上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御部と、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶部と、を備え、上記アクティブコンテンツを流通させる端末は、上記協調ポリシーを登録し、解釈する協調ポリシー登録部と、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定部と、上記協調条件決定部により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御部と、上記実行状態記憶部に記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施部とを備えたものである。
【0013】
また、本発明のアクティブコンテンツ流通プログラムは、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるために上記端末のコンピュータに所定機能を実現させるためのアクティブコンテンツ流通プログラムであって、上記アクティブコンテンツの上記コンテンツ制御情報に対して、上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定める協調ポリシー機能と、上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシー機能と、上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御機能と、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶機能と、を実行し、上記アクティブコンテンツを流通させる端末に対して、上記協調ポリシーを登録し、解釈する協調ポリシー登録機能と、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定機能と、上記協調条件決定機能により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御機能と、上記実行状態記憶機能で記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施機能とを実行するものである。
【0014】
また、本発明のアクティブコンテンツ流通方法は、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うテップと、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、上記協調ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、を含むものである。
【0015】
また、本発明のアクティブコンテンツ流通方法は、コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うステップと、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する制御条件を定めた自律ポリシーを選択するテップと、上記協調ポリシー及び上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、を含むものである。
【0016】
これにより、具体的作用として、機能面では、第1に、アクティブコンテンツの動的な連携相手・方法の決定・変更が可能となるため、アクティブコンテンツ同士の協調による複合アクティブコンテンツの動的合成が可能となり、コンテンツとサービスの協調により、コンテンツの表示方法・加工方法の動的決定・変更が可能となり、サービス同士の動的連携が可能となる。第2に、アクティブコンテンツの情報のアクセスコントロールが可能となるため、アクセス相手に応じたアクティブコンテンツの内容変更・情報のフィルタリングが可能となり、アクセスコントロール方法の動的決定・変更が可能となる。
【0017】
また、使い方の面では、第1に、アクティブコンテンツへのさまざまなポリシーの追加・変更が可能となり、第2に、状況に応じたアクティブコンテンツの表示内容・表示場所の変更が可能となる。第3に、アクティブコンテンツの自律的配布・流通が可能となり、第4に、コンテンツへの機能の動的追加・変更・削除が可能となる。
【発明の効果】
【0018】
本発明によれば、アクティブコンテンツの協調方式の柔軟性を確保することができ、また、協調条件に基づくアクティブコンテンツの流通・利用を図ることができ、さらに、アクティブコンテンツの協調の実施の際の制御を簡単に行なうことができる。
【0019】
協調方式の柔軟性の面では、第1に、協調ポリシー定義及び協調ポリシー制御によりさまざまな状況のアクティブコンテンツの流通に対しても、ポリシーを遵守可能にすることができ、動的に協調方式を変更・決定させることが可能となる。第2に、協調ポリシーの変更容易性によりポリシーを矛盾なく追加、変更可能とすることができ、ポリシーを容易に拡張・変更可能とすることができ、ポリシーを状況に応じて変更・決定可能とすることができる。第3に、協調ポリシーの独立性により協調方式だけ決めておけば中身の仕組みをブラックボックスにすることが出来る。ただし、アクティブコンテンツの間に特別な関係(親子関係など)を結ぶときは、両者に同じ解釈器が必要となる。
また、協調条件に基づくアクティブコンテンツの流通・利用の面では、協調条件下で安全性が確保されるためユーザ端末に存在するプライバシーの保護が可能となる。
【0020】
また、協調の実施方法の面では、第1に、協調ポリシーの変更容易性を確保することができ、第2に、協調の実施の制御を簡単にすることができ、第3に、効率・性能の面で効率のよいアクティブコンテンツ流通・表示が可能となる。
【発明を実施するための最良の形態】
【0021】
以下に、本発明の実施の形態について、適宜、図面を参照しながら、詳細に説明する。
図1は、アクティブコンテンツの概要を示す図である。
図1において、アクティブコンテンツ1は、コンテンツ2と、コンテンツ2の動作を制御するプログラム3とを有して構成されている。プログラム3には、コンテンツ2の制御条件を示すポリシー4が設けられている。ポリシー4は、例えば、コンテンツ2の製作者7や編集者などが、5で示すように、コンテンツ2の利用制約(使われ方)、コンテンツ2の流通方法、表示方法(使い方)などの情報が、6で示すように埋め込まれている。
【0022】
ここで、アクティブコンテンツ1は、コンテンツを利用するエージェント・サービス10に流通して利用される。コンテンツを利用するエージェント・サービス10には、流通するコンテンツ2を利用するための制御条件を示す利用ポリシー11が設けられている。このとき、利用ポリシー11は、利用者13により、12で示すように、利用方法、利用範囲、及び流通条件が埋め込まれている。
【0023】
そして、アクティブコンテンツ1とコンテンツを利用するエージェントやサービス(エージェント・サービス10)との間で、コンテンツ2を利用するために、14で示すように交渉が行われる。交渉14は、提供側のアクティブコンテンツ1のコンテンツ2の制御条件を示すポリシー4と、利用側のコンテンツを利用するエージェント・サービス10の流通するコンテンツ2を利用するための条件を示す利用ポリシー11との条件の一致、部分一致又は不一致の結果を得るためのすりあわせを通信を介して行う。
【0024】
これにより、すりあわされた条件に従い、提供側のアクティブコンテンツ1のコンテンツ2を、提供側のポリシー4の制御条件に適合した形式に、例えば、暗号化8したり、変換9したりする。
【0025】
従って、提供側のポリシー4と利用側の利用ポリシー11の双方に適合したコンテンツの流通を実現することができる。このとき、流通先での提供側のポリシー4を遵守することにより、流通先でアクティブコンテンツ1の制御が自律的に実行される。
ここで、エージェントやサービス(エージェント・サービス10)は、アクティブコンテンツと同様の構成を有していて、アクティブコンテンツの概念に含まれるものであり、アクティブコンテンツの一態様である。この場合、エージェント・サービス10は、それ自体には、コンテンツが設けられていない、他から提供されるコンテンツの利用をするものである。また、エージェント・サービス10がそれ自体にコンテンツを設けるようにしてもよい。
【0026】
図2は、前提環境を示す図である。
図2において、ホスト21ではアクティブコンテンツ23に他のアクティブコンテンツ24を合成25することにより、複合アクティブコンテンツ22を生成することが可能となっている。複合アクティブコンテンツ22は、例えば、図2に示したアクティブコンテンツ23のポリシーと、他のアクティブコンテンツ24のポリシーを考慮したポリシーを関係付けすることにより、合成25される。
【0027】
また、他のアクティブコンテンツ24は、それ自体でユーザーエージェント・インターフェース26により利用27されることが可能となっている。ユーザーエージェント・インターフェース26は、他のアクティブコンテンツ24を利用するための機能を有するものである。ユーザーエージェント・インターフェース26は、例えば、図2に示した他のアクティブコンテンツ24のポリシーが自分のポリシーに適合した場合、他のアクティブコンテンツ24を利用する。
【0028】
また、複合アクティブコンテンツ22や他のアクティブコンテンツ24は、ネットワーク上のさまざまなサービスを利用29することが可能となっている。例えば、情報変換・情報出力サービス28は、ホスト21とネットワークを介して接続されていて、コンテンツの情報変換・情報出力を行うサービスであり、複合アクティブコンテンツ22から利用29される。情報変換・情報出力サービス28は、そして、図2に示した複合アクティブコンテンツ22の要求に従い、コンテンツをディスプレイ等に出力する。
【0029】
また、複合アクティブコンテンツ22は、ホスト21からネットワークを介して接続されている他のホスト30へ流通31することが可能となっている。このとき、複合アクティブコンテンツ22は、流通31された先の他のホスト30で例えば、図2に示した複合アクティブコンテンツ22のポリシーに適合するようにコンテンツの利用の仕方を制御する。
このように、前提環境として、アクティブコンテンツとそれに関連付けられるサービス(エージェント)がネットワーク上に分散して存在していることになる。
【0030】
そして、アクティブコンテンツは、コンテンツの取り扱いを管理するため、コンテンツの流通を管理するため、さらにコンテンツの出力・表示方法(内容、手段)を管理するめ、及びシステム間の連携のための制御条件を定めたポリシーを有している。
ここで、アクティブコンテンツは、ホスト上のコンピュータで動作するオペレーティングシステム(OS)の中に組み込まれて動作するミドルウェアプログラムによって動作する。ミドルウェアプログラムは、アクティブコンテンツの実行するための後述する各機能を備えている。
【0031】
図3は、ポリシーの概要を示す図である。
図3において、アクティブコンテンツ41は、コンテンツ42と、コンテンツ42を制御する制御記述43と、他のアクティブコンテンツとの協調方法を定めた協調ポリシー46と、自アクティブコンテンツの変更方法を定めた自律ポリシー45とを有している。制御記述43は、コンテンツの生成・表示、編集・合成・流通などを制御する制御フローが記述された部分である(44参照)。
【0032】
また、協調ポリシー46には、アクティブコンテンツ41が協調する他のアクティブコンテンツとなる協調相手、他のアクティブコンテンツとの協調方法、他のアクティブコンテンツとの協調スタイル、他のアクティブコンテンツとの協調場所などの制御条件が定められている(47参照)。また、自律ポリシー45には、アクティブコンテンツ41が自らの制御を動的に変更したり、監視したりする制御条件が定められている(55参照)。
【0033】
ここで、アクティブコンテンツ41が他のアクティブコンテンツ48と協調する際には、まず第1に、点線57で示すように、アクティブコンテンツ41の協調ポリシー46と他のアクティブコンテンツ48の協調ポリシー50とのすりあわせと合意により、協調条件58が成立される。
第2に、点線59で示すように、協調準備としてアクティブコンテンツ41のコンテンツ42と、制御記述43と、自律ポリシー45と、協調ポリシー46の内容をさらに他のアクティブコンテンツ51となるようにコピーして移動することにより、さらに他のアクティブコンテンツ51の中に子コンテンツ52と、制御記述53と、自律ポリシー54と、協調ポリシー56を生成する。
【0034】
第3に、点線60で示すように、協調準備として他のアクティブコンテンツ48とさらに他のアクティブコンテンツ51との間に親子関係を形成する。このとき、他のアクティブコンテンツ48のコンテンツが親コンテンツ49に、さらに他のアクティブコンテンツ51のコンテンツが子コンテンツ52に関係付けられる。
【0035】
第4に、点線61で示すように、協調条件に基づいて他のアクティブコンテンツ48とさらに他のアクティブコンテンツ51との協調が行われる。
第5に、点線62で示すように、協調条件の遵守方法の決定により、さらに他のアクティブコンテンツ51の自律ポリシー54の制御条件に従って、制御記述53の内容に追加・変更63が施される。このとき、制御記述53の追加・変更63された内容を参照64することが可能である。
【0036】
このように、さまざまなポリシーをアクティブコンテンツに埋め込むことにより、ポリシーの制御条件がアクティブコンテンツの流通過程で遵守されるようになる。
ここで、協調ポリシーは、例えば、協調相手とプロトコル(協調手順)を定めたり、協調場所として属性や相対関係で指定したり、協調アーキテクチャとしてカプセル化もサポートすることができる。また、協調スタイル(親子関係)や、協調方法(メッセージ経路・方向)、さらには、協調中の制約・制限を設けることも可能である。
【0037】
また、ポリシーの遵守機構として、自律ポリシーによる遵守・監視を行なうことができ、フレームワークによるポリシーの遵守と制御記述の監視を行なうことができ、親子関係の親による子の遵守・監視を行なうことができ、さらに、流通するアクティブコンテンツの振る舞いを自律ポリシーにより制限・制御することができる。
さらに、自律ポリシーに基づいて、協調条件の遵守方法の動的決定を行うことにより、自己の制御記述を変更することができる。これにより、アクティブコンテンツの流通・利用に必要な環境・状況に対する対応を自律ポリシーに記述して準備・約束を実行することができ、制御記述の設計が容易になる。
【0038】
図4は、本実施の形態のシステム構成図である。
図4において、ネットワーク81上にホスト71、ホスト77、ホスト82、及びホスト85が接続されている。ホスト71には、アクティブコンテンツ72、アクティブコンテンツ73、アクティブコンテンツ75と、これらを解釈して制御するプレース76が設けられている。ここで、アクティブコンテンツ72と、アクティブコンテンツ73とは、協調条件74により協調されている。プレース76は、協調条件74により、アクティブコンテンツ72とティブコンテンツ73とが協調されるように制御し、アクティブコンテンツ75は単独で制御する。
【0039】
また、ホスト77には、アクティブコンテンツ78と、これを解釈して制御するプレース79が設けられている。ここで、ホスト71のアクティブコンテンツ73と、ホスト77のアクティブコンテンツ78とは、協調条件80により協調されている。ホスト71のプレース76とホスト77のプレース79は、協調条件80によりホスト71のアクティブコンテンツ73とホスト77のアクティブコンテンツ78とが協調されるように制御する。
【0040】
また、ホスト82には、他のホストのアクティブコンテンツを利用するサービス83と、これを解釈して制御するプレース84が設けられている。プレース84は、利用可能な他のホストのアクティブコンテンツを探して、これを利用するように制御する。サービス83は、他のホストから提供されるアクティブコンテンツのデータを受け取って表示や再生を行う、あるいは、それを変換して返す。
【0041】
また、ホスト85には、他のホストのアクティブコンテンツを利用するユーザーエージェント86と、これを解釈して制御するプレース87が設けられている。プレース87は、利用可能な他のホストのアクティブコンテンツを探して、これを利用するように制御する。ユーザーエージェント86は、他のホストから提供されるアクティブコンテンツを受け取って利用し、又は他のホストにアクティブコンテンツを提供して利用させる双方向の利用形態である。
【0042】
ここで、ホスト71のプレース76とホスト77のプレース79、ホスト82のプレース84とホスト85のプレース87には、各アクティブコンテンツのプログラムを解釈して制御するためのプログラムが格納されている。
【0043】
図5は、協調条件の成立と遵守手順を示す図である。図5は、図4に示したホスト71のアクティブコンテンツ72と、ホスト77のアクティブコンテンツ78との協調条件80の成立と遵守手順を示している。
図5において、まず第1に、91で示すように、ホスト71のプレース76は、ホスト71のアクティブコンテンツ73のポリシーに適合する協調相手を探し、ホスト77のプレース79は、ホスト77のアクティブコンテンツ78のポリシーに適合する協調相手を探して、互いのポリシーに全部一致、一部一致又は条件付一致の結果となるように、交渉を行う。
【0044】
そして、第2に、92で示すように、ホスト71のプレース76とホスト77のプレース79は、図4に示した協調条件80の成立によりホスト71のアクティブコンテンツ73とホスト77のアクティブコンテンツ78とが協調されるように制御する。このとき、ホスト71のアクティブコンテンツ73と、ホスト77のアクティブコンテンツ78とは、図4に示した協調条件80により協調されている。
【0045】
この協調により、第3に、93で示すように、ホスト77のアクティブコンテンツ78をコピーしてホスト71へ移動することにより、ホスト71にアクティブコンテンツ72が設けられる。ここで、アクティブコンテンツ72と、アクティブコンテンツ73とは、94で示すように、図4に示した協調条件80が遵守されることにより、協調条件74により協調される。
【0046】
図6は、アクティブコンテンツ及びプレースの構成図である。
図6において、ホスト101には、アクティブコンテンツ102と、アクティブコンテンツ102を解釈して制御するプレース112が設けられている。アクティブコンテンツ102は、流通可能なカプセル化されたコンテンツであり、コンテンツ素材を格納するコンテンツ素材格納部103と、コンテンツ素材を制御するためのコンテンツ制御情報を格納するコンテンツ制御情報格納部104を有している。
【0047】
ここで、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104は、協調ポリシーを記述した協調ポリシー記述105と、制御フローを記述した制御記述106と、自律ポリシーを記述した自律ポリシー記述107と、実行状態の情報を記憶する実行状態127を有している。なお、自律ポリシー記述107は、必要に応じて設けられるようにしてもよい。
【0048】
さらに、コンテンツ制御情報格納部104には、必要に応じて、協調ポリシーを登録する協調ポリシー登録部108と、協調条件を決定する協調条件決定部109と、交渉のための交渉ポリシーを記述した交渉ポリシー記述110と、ポリシーに従った変換ルールを記述した変換ルール記述111が設けられる。
【0049】
また、ホスト101のプレース112は、協調ポリシーを登録する協調ポリシー登録部113と、協調条件を生成して決定する協調条件生成決定部114と、自律ポリシーに従って制御記述を変更し、これを監視すると共に制御記述を実行する制御変更・監視・実行部115と、協調スタイルを実施する協調スタイル実施部128とを有している。
【0050】
また、ホスト101と接続される他のホスト116には、ユーザーエージェント117と、ホスト101から提供されるアクティブコンテンツ102からのメッセージを解釈するプレース119が設けられている。
【0051】
他のホスト116のユーザーエージェント117は、協調ポリシーを記述した協調ポリシー記述118を有している。ホスト116のプレース119は、協調ポリシーを登録する協調ポリシー登録部120と、協調条件を生成して決定する協調条件生成決定部121とを有している。
【0052】
また、ホスト101は、アクティブコンテンツ102のコンテンツ制御情報格納部104のソフトウェア(ホスト上のコンピュータで動作するオペレーティングシステム(OS)の中に組み込まれて動作するミドルウエアのプログラム)を実行する主体となるコンピュータのハードウェア機能を有するものである。
【0053】
また、ホスト101のプレース112とホスト116のプレース119には、アクティブコンテンツ102のプログラムを解釈して制御するためのプログラムが格納されている。
これにより、コンピュータがアクティブコンテンツのプログラムを実行することにより後述するアクティブコンテンツの各機能を実行し、プレースのプログラムを実行することにより後述するプレースの各機能を実行する。
【0054】
このように構成されたアクティブコンテンツ及びプレースの動作を以下に説明する。
ここで、第1に、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104の協調ポリシー記述105から、ホスト101のプレース112の協調ポリシー登録部113に対して、協調ポリシー記述105に記述した協調ポリシーを登録すると共に、登録した協調ポリシーに適合するユーザーエージェント117の検索を依頼する。
【0055】
次に、第2に、ホスト101のプレース112の協調条件生成決定部114は、ホスト101のアクティブコンテンツ102の協調ポリシー登録部108と、ユーザーエージェント117の協調ポリシー記述118との間の合意123に基づいて、協調条件124を生成して決定する。
そこで、第3に、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104の制御記述106から、ホスト101のプレース112の制御変更・監視・実行部115に対して、アクティブコンテンツ102とユーザーエージェント117の協調条件124を満たす制御の実行を依頼する。
【0056】
これにより、例えば、ホスト101のプレース112の制御変更・監視・実行部115は、協調条件124に基づいて、アクティブコンテンツ102とユーザーエージェント117の間で、126で示すように、生のコンテンツの送受信を行うように制御する。
また、このとき、ホスト101のアクティブコンテンツ102のコンテンツ制御情報格納部104の自律ポリシー記述107から、ホスト101のプレース112の制御変更・監視・実行部115に対して、125に示すように、自律ポリシーに従った制御記述変更の実行を依頼する。これにより、ホスト101のプレース112の制御変更・監視・実行部115は、自律ポリシーに従って制御記述を変更し、これを監視すると共に制御記述を実行する。
【0057】
なお、ここで、アクティブコンテンツ102は、コンテンツを保持し、コンテンツを流通する相手を選択して流通・利用を促す主体となる機能を有するものである。
プレース112は、アクティブコンテンツが動作するのに必要な機能を提供する機能を有するものである。プレース112、119は、アクティブコンテンツが流通するホスト101、利用したいホスト(ユーザーエージェント117)には必ず配置しておく必要があるものである。
【0058】
また、協調条件124は、アクティブコンテンツ102がどういう動作をしてもよいかの取り決めを示すものである。アクティブコンテンツ102と他のアクティブコンテンツ/プレース112、119/ユーザーエージェント117間で通信を行う際に必ずこの取り決めを決定する。
なお、サービスは、コンテンツのデータ変換や表示などアクティブコンテンツがコンテンツの生成/表示などに利用できる外部機能を有するものである。
また、ユーザーエージェント117は、制御記述を持たずに協調ポリシー記述118のみを有していてもよく、協調ポリシーの記述に基づいてアクティブコンテンツとの協調を行う機能を有するものである。
【0059】
図7は、アクティブコンテンツの各部の構成図であり、図7Aは制御記述の構造例(ワークフローで記述した場合)、図7Bは協調ポリシー記述の構造例、図7Cは変換ルール記述の構造例、図7Dは自律ポリシー記述の構造例、図7Eは協調条件の構造例、図7Fはコンテンツ素材格納部例、図7Gは実行状態の構造例である。
【0060】
図7Aにおいて、制御記述106の構造例(ワークフローで記述した場合)は、ホスト上のコンピュータに対するアクティビティ(命令)を定義するアクティビティ定義131と、制御フローを定義する制御フロー定義132と、データフローを定義するデータフロー定義133と、メッセージ通信を定義するメッセージ通信定義134と、イベント処理を定義するイベント処理定義135と、内部データに対するアクセスを定義する内部データアクセス定義136と、サービスの利用を定義するサービス利用定義137とを有している。
【0061】
図7Bにおいて、協調ポリシー記述105の構造例は、協調相手を定義する協調相手定義138と、協調方法を定義する協調方法定義139と、協調内容を定義する協調内容定義140と、協調効果を定義する協調効果定義141と、交渉手順を定義する交渉手順定義142とを有している。
図7Cにおいて、変換ルール記述111の構造例は、制御記述を選択するルールを示す制御記述選択ルール144と、自律ポリシーを選択するルールを示す自律ポリシー選択ルール145とを有している。
【0062】
図7Dにおいて、自律ポリシー記述107の構造例は、実行の制約を記述する実行制約146と、制御記述を書き換えるためのアスペクトを記述するアスペクト記述147とを有している。
図7Eにおいて、協調条件124の構造例は、協調する相手となる協調相手148と、協調する内容である協調内容149と、協調する方法である協調方法150と、協調する効果である協調効果151とを有している。
【0063】
図7Fにおいて、コンテンツ素材格納部103の例は、オーディオデータは、mp3形式のファイル、ビデオデータは、avi形式のファイルで格納される。
図7Gにおいて、実行状態127の構造例は、ホスト上のコンピュータに対するアクティビティ(命令)を実行のためにためておくアクティビティ実行キュー154と、協調する相手を保存する協調相手インスタンスリスト155と、有効な協調ポリシーのリストである有効協調ポリシーリスト156と、有効な自律ポリシーのリストである有効自律ポリシーリスト157と、制御の状態を保存する制御状態158とを有している。制御状態158は、メッセージキューやデータマッピング159を含んでいる。
【0064】
図8は、プレースの各部の構成図であり、図8Aは協調条件生成決定部の構造例、図8Bは制御変更・監視・実行部の構造例である。
図8Aにおいて、協調条件生成決定部114の構造例は、協調ポリシーの内容を解釈する協調ポリシー解釈部161と、交渉を実行する交渉実行部162と、協調条件を実行する協調条件実行部163とを有している。
【0065】
図8Bにおいて、制御変更・監視・実行部115の構造例は、制御記述を解釈する制御記述解釈部167と、自律ポリシーの内容を解釈する自律ポリシー解釈部168とを有していて、必要に応じて、ホスト上のコンピュータに対するアクティビティ(命令)を他のホスト上で実行する場合にアクティビティを他のホストに転送するアクティビティ転送部164と、実行制約を解釈する実行制約解釈部165と、変更ルールを解釈する変更ルール解釈部166と、アスペクト挿入部169が設けられる。
【0066】
次に、上述したように構成されたアクティブコンテンツの動作を詳細に説明すると共に、各種制御記述、協調ポリシー記述、自律ポリシー記述の例を示しながら具体的に説明する。
図9は、アクティブコンテンツのライフサイクルの動作を示すフローチャートである。
図9において、プレースの動作を開始すると、まず、アクティブコンテンツの生成を行う(ステップS1)。具体的には、171に示すように、製作者の意図に従ってプレース上の制御変更・監視・実行部115がアクティブコンテンツの構成要素の一部、または全てをメモリ上にロードすることによりアクティブコンテンツを生成する。又は、ユーザからの指示であるロードアクションによりユーザーエージェントのプレース上の制御変更・監視・実行部115がアクティブコンテンツの構成要素の一部、または全てをメモリ上にロードすることによりアクティブコンテンツを生成する。
【0067】
次に、アクティブコンテンツの流通及び利用が行われる(ステップS2)。具体的には、ステップS1で生成されたアクティブコンテンツがプレース上の制御変更・監視・実行部115により制御記述を実行することにより、例えば、ユーザーエージェントに流通されて、ユーザーエージェントにより利用される。
【0068】
そして、アクティブコンテンツの消滅が行われる(ステップS3)。具体的には、172に示すように、製作者の意図に従ってプレース112上の制御変更・監視・実行部115が制御記述106のプログラムを実行することによりアクティブコンテンツ102を削除する。又は、アクティブコンテンツ102に対する制御記述106の実行の終了により消滅する。
【0069】
図10は、アクティブコンテンツの実行の動作を示すフローチャートである。図10は、例えば、図6に示すアクティブコンテンツ102側の動作である。
図10において、まず、制御記述の断片を選択する(ステップS11)。具体的には、181に示すように、プレース112上の制御変更・監視・実行部115が次にアクティブコンテンツ102に対して実行すべき制御記述106の断片とそれに対応した協調ポリシー記述105を選択する。
【0070】
そして、実行すべき制御記述があるか否かを判断する(ステップS12)。具体的には、プレース112上の制御変更・監視・実行部115が次にアクティブコンテンツ102に対して実行すべき制御記述106があるか否かを判断する。
【0071】
判断ステップS12で次に実行すべき制御記述があるときは、協調ポリシーの登録及び検索を行う(ステップS13)。具体的には、182に示すように、プレース112上の協調ポリシー登録部113は、アクティブコンテンツ102に対して次に実行すべき制御記述106に対応するものであって、登録されている協調ポリシー記述105を読み出して、他のアクティブコンテンツの協調ポリシーと合致するものを検索する。判断ステップS12で次に実行すべき制御記述がないときは、終了する。
【0072】
そして、協調条件のすり合せを行う(ステップS14)。具体的には、183に示すように、プレース112上の協調条件生成決定部114は、ステップS13で検索した相手(例えば、図6に示したユーザーエージェント117)と互いの協調ポリシー記述105,118に基づいてすり合わせを行って、合意123のとれた協調条件124を決定する。
【0073】
次に、協調相手が見つかったか否かを判断する(ステップS15)。具体的には、プレース112上の協調条件生成決定部114は、ステップS13で検索した相手(例えば、図6に示したユーザーエージェント117)と互いの協調ポリシー記述105,118に基づいてすり合わせを行って、協調条件124による合意123がとれたか否かを判断する。ここで、プレース112上の協調条件生成決定部114は、184に示すように、自身の協調ポリシー記述105を変更する場合のタイムアウトを考慮して、例外処理を発生させるように処理してもよい。
【0074】
判断ステップS15で協調相手が見つかったときは、協調準備を行う(ステップS16)。具体的には、プレース112上の協調スタイル実施部128は、185に示すように、合意123のとれた協調条件124をもとに、協調のための準備を行う。協調のための準備は、例えば、ホスト101から協調相手(図6に示したユーザーエージェント117)へのアクティブコンテンツ102の移動、アクティブコンテンツ102と協調相手(例えば、図6に示したユーザーエージェント117)との親子関係付け、協調のための協調相手(例えば、図6に示したユーザーエージェント117)へのメッセージのルーティング、アクティブコンテンツ102のカプセル化などである。
判断ステップS15で協調相手が見つからなかったときは、ステップS13へ戻って、ステップS13〜ステップS15までの判断及び処理を、繰り返す。
【0075】
次に、協調相手がすべて決定したか否かを判断する(ステップS17)。具体的には、プレース112上の協調条件生成決定部114は、ステップS11で選択した制御記述において、 協調相手が複数必要なときは、ステップS13へ戻って、ステップS13〜ステップS17までの判断及び処理を、186で示すように、協調する相手の数だけループする。
【0076】
上述したステップS11〜ステップS17までの制御記述に対応する協調ポリシーに従った協調相手を見つけるための判断及び処理が、必須の処理である。これにより、プレース112上の制御変更・監視・実行部115が、制御記述106に対応した協調ポリシー記述105に従って、アクティブコンテンツ102に対する処理を実行することができる。
【0077】
これ以降の処理は、アクティブコンテンツ102に対する協調ポリシー記述105のほかに、自律ポリシー記述107に従った制御を行う場合の処理である。
判断ステップS17で協調相手がすべて決定したときは、自律ポリシーの選択及び生成を行う(ステップS18)。具体的には、187で示すように、プレース112上の制御変更・監視・実行部115が、ステップS14ですり合せを行った協調条件に適合するように、自律ポリシー記述107中の自律ポリシーを選択したり、変換ルール記述111の自律ポリシー選択ルールに基づいて自律ポリシーを生成する。
【0078】
そして、自律ポリシーに従い、次の制御を実行する(ステップS19)。具体的には、188で示すように、プレース112上の制御変更・監視・実行部115が、アクティブコンテンツ102に対する制御記述106に、自律ポリシーの記述を加えて、変更後の制御記述106の内容を協調条件に適合するように、解釈して実行する。
【0079】
さらに、実行すべき制御記述の断片があるか否かを判断する(ステップS20)。具体的には、プレース112上の制御変更・監視・実行部115が、アクティブコンテンツ102に対する制御記述106に、実行すべき断片があるか否かを判断する。
判断ステップS20で実行すべき制御記述の断片があるときは、ステップS19へ戻って、ステップS19〜ステップS20の判断及び処理を、実行すべき断片がなくなるまで繰り返す。判断ステップS20で実行すべき制御記述の断片がないときは、ステップS11へ戻って、ステップS11〜ステップS20の判断及び処理を、繰り返す。
【0080】
ここで、各種エージェントの記述例を説明する。
図11は、フィルタリングエージェントの各部の記述例を示す図であり、図11Aはフィルタリングエージェントの制御記述と自律ポリシー記述であり、図11Bは協調ポリシー記述である。フィルタリングエージェントは、条件に応じてアクティブコンテンツのコンテンツの中身にフィルターをかけて、コンテンツの利用に制約を設ける機能を有するものである。
【0081】
図11Aにおいて、フィルタリングエージェント195の制御記述106の例として、制御フロー191が示されている。この制御フロー191の第1命令(act1)192、第2命令(act2)193、第3命令(act3)194が、制御記述106のアクティビティ定義131に定義されている。また、制御フロー191の第1命令(act1)192から第2命令(act2)193への流れ、第2命令(act2)193から第3命令(act3)194への流れが、制御記述106の制御フロー定義132に定義されている。
【0082】
フィルタリングエージェント195は、その記述項目に協調ポリシーが記述されている。図11Bに示すように協調ポリシー記述105は、協調相手定義138として、198に示すように、相手のロールを要求項目(《required》)中の役割ラベル(role=ServiceControlProtocol/Requester)で定義し、相手及び自分のロールを提供項目(《provided》)中の役割ラベル(role=ServiceControlProtocol/Responder)で定義している。また、相手が保持すべき属性を要求項目(《required》)中の属性で定義し、自分が保持している属性を提供項目(《provided》)中の属性で定義している。
【0083】
また、協調方法定義139として、199に示すように、協調スタイルを効果項目(《effect》)中の結合スタイルラベル(BindingStyle =[Parent])で定義し、実行場所を協力場所ラベル(CollaborationPlace =[Responder/Requester])で定義している。また、メッセージ通信スタイルを、親子関係の子のメッセージをフィルタリングするなどを定義する。
【0084】
また、協調内容定義140として、200に示すように、サービスの種類、レベルを効果項目(《effect》)中の属性で定義している。
また、協調効果定義141として、201に示すように、協調効果を効果項目(《effect》)中の属性で定義している。
【0085】
また、交渉手順定義142として、202に示すように、公募メッセージ作成手順、応募メッセージ作成手順、協調条件作成手順、合格基準判定手順、後処理を各種メッセージとして定義している。
また、フィルタリングエージェント195は、図11Aに示す自律ポリシー196が付けられている。自律ポリシー記述107のアスペクト記述147として、自律ポリシー196には、197に示すように、メッセージを受け取ってその中の名前を匿名化する記述が設けられている。自律ポリシー196には、条件項目(《Cond》)中で動的な条件として、名前を匿名化するようにフィルタリングすることを定義し、適用箇所項目(《where》)中で適用する箇所として、子供向けのメッセージ送信の際を定義し、箇所の条件項目(《if》)中で名前を匿名化することを定義している。
【0086】
図12は、他のエージェントの各部の記述例を示す図であり、図12Aはコンテンツエージェントの制御記述と協調ポリシー記述であり、図12Bはユーザーエージェントの制御記述と協調ポリシー記述である。コンテンツエージェントは、アクティブコンテンツのコンテンツをフィルタリングする相手を探すと共にコンテンツを利用する相手を待ち、これらにコンテンツを提供する機能を有するものである。
【0087】
図12Aに示すように、コンテンツエージェント211は、その記述項目に協調ポリシーが記述されている。協調ポリシー記述は、アクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための条件を上側の協調ポリシー記述212で定義し、コンテンツを利用する相手となるユーザーエージェントを待つための条件を下側の協調ポリシー記述213で定義している。
【0088】
また、コンテンツエージェント211の制御記述の例として、制御フロー214が示されている。この制御フロー214の第1命令(act1)215、第2命令(act2)216、第3命令(act3)218と、制御フロー214の第1命令(act1)215から第2命令(act2)216への流れ、第2命令(act2)216から第3命令(act3)218への流れが、定義されている。また、第2命令(act2)216には、217に示すように、リクエストメッセージを受け取って、送信者にコンテンツを返すように定義されている。
【0089】
また、図12Bに示すようにユーザーエージェント219は、その記述項目に協調ポリシーが記述されている。協調ポリシー記述は、要求したコンテンツを利用するための条件を定義している。
また、ユーザーエージェント219の制御記述の例として、制御フロー220が示されている。この制御フロー220の第1命令(act1)221、第2命令(act2)222、第3命令(act3)224と、制御フロー220の第1命令(act1)221から第2命令(act2)222への流れ、第2命令(act2)222から第3命令(act3)224への流れが、定義されている。また、第2命令(act2)222には、223に示すように、ServiceControl/Responderの役割ラベルをもつエージェントへメッセージを送って、コンテンツの送信をもらうように定義されている。
以下の図10に示した処理の詳細の説明では、図12Aに示したコンテンツエージェント211、図12Bに示したユーザーエージェント219及び図11Aに示したフィルタリングエージェント195を適宜例としてあげて説明する。
【0090】
次に、図10に示したアクティブコンテンツの実行の動作の詳細の処理について説明する。
後述する図13及び図14は、図10のフローチャートのステップS11の制御記述断片選択処理を詳細に説明する図である。
図13は、ステップS11の制御記述断片選択処理の詳細を示すフローチャートである。
図13において、アクティビティ実行キューがあるか否かを判断する(ステップS21)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154があるか否かを判断する。
【0091】
判断ステップS21で、アクティビティ実行キューがないときは、制御記述から最初に実行すべきアクティビティを取り出し、アクティビティ実行キューへ保存する(ステップS22)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の制御記述106のアクティビティ定義131及び制御フロー定義132から最初に実行すべきアクティビティを取り出し、実行状態127のアクティビティ実行キュー154へ保存する。
【0092】
次に、アクティビティ実行キューがあるか否かを判断する(ステップS23)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154があるか否かを判断する。判断ステップS21で、アクティビティ実行キューがないときは、処理を終了する。
【0093】
判断ステップS21で、アクティビティ実行キューがあるときは、及び判断ステップS23で、アクティビティ実行キューがあるときは、アクティビティ実行キューの先頭にあるアクティビティに対応した協調ポリシーを取り出し、有効協調ポリシーリストに追加して格納する(ステップS24)。具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154の先頭にあるアクティビティに対応した協調ポリシーを協調ポリシー記述105から取り出し、有効協調ポリシーリスト156に追加して格納する。
ここでは、231で示すように、協調ポリシー記述105に複数の協調相手に関してポリシーが書かれていれば、複数の協調ポリシーが有効協調ポリシーリスト156に追加される。
【0094】
図14は、ステップS11の制御記述断片選択処理の例を示すフローチャートである。
例えば、ステップS22の制御記述から最初に実行すべきアクティビティを取り出し、アクティビティ実行キューへ保存する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の制御記述106のアクティビティ定義131及び制御フロー定義132に基づいて記述される制御フロー214(第1命令(act1)215、第2命令(act2)216、第3命令(act3)218)から最初に実行すべきアクティビティとして第1命令(act1)215を取り出し、実行状態127のアクティビティ実行キュー154へ保存する。
これにより、実行状態127のアクティビティ実行キュー154には、最初に実行すべきアクティビティとして第1命令(act1)215が保存される。
【0095】
また、ステップS24のアクティビティ実行キューの先頭にあるアクティビティに対応した協調ポリシーを取り出し、有効協調ポリシーリストに追加して格納する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115がアクティブコンテンツ102の実行状態127のアクティビティ実行キュー154の先頭にあるアクティビティとして第1命令(act1)215に対応した協調ポリシーとして、図12に示したコンテンツエージェント211が図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212を協調ポリシー記述105から取り出し、有効協調ポリシーリスト156に追加して格納する。
【0096】
これにより、実行状態127の有効協調ポリシーリスト156には、コンテンツエージェント211のアクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212(FilterService )が格納される。
【0097】
図15及び図16は、図10のフローチャートにおけるステップS13の協調ポリシー登録・検索処理の動作の詳細を示す図である。
図15は、ステップS13の協調ポリシー登録・検索処理の詳細を示すフローチャートである。図15において、ステップS13に示す、協調ポリシー登録・検索処理は、以下のようにして実行される。
【0098】
追加された有効協調ポリシーリストの記述を取り出す(ステップS31)。具体的には、プレース112上の制御変更・監視・実行部115がステップS24で有効協調ポリシーリスト156に追加して格納した協調ポリシーを実行状態127の有効協調ポリシーリスト156から取り出す。
【0099】
次に、自分(例えば、図12に示したコンテンツエージェント211)の協調ポリシーの属性が要求を待つ側(responder)であるか否かを判断する(ステップS32)。具体的には、プレース112上の制御変更・監視・実行部115が図12に示したコンテンツエージェント211の協調ポリシー記述105において、241で示すように、属性の記号の記述が要求を待つ側(responder)であるか、又は相手を探す側(requester)であるかを判断する。
【0100】
判断ステップS32で、自分(例えば、図12に示したコンテンツエージェント211)の協調ポリシーの属性が要求を待つ側(responder)であるときは、243で示すサービス提供側のフローに移行する。243で示すサービス提供側では、協調ポリシー登録部を用いて、要求項目(《required》)、提供項目(《provided》)及び効果項目(《effect》)の公開情報を登録する(ステップS35)。具体的には、プレース112上の制御変更・監視・実行部115が協調ポリシー登録部113、又は108に、サービス提供側の要求項目(《required》)、提供項目(《provided》)及び効果項目(《effect》)の公開情報を登録する。
【0101】
次に、サービス利用者からのリクエストが来るまで待つ(ステップS36)。具体的には、プレース112上の制御変更・監視・実行部115がサービス利用者からのアクティブコンテンツやユーザーエージェントのリクエストが来るまで待つ。ここで、リクエストが来るまで待つ時間に、245に示すように、最小検索時間や最大検索時間(タイムアウト)を設定してもよい。
【0102】
そして、レスポンスが来た相手のアドレスと相手の要求となる協調ポリシー、協調ポリシーへの参照情報を協調相手インスタンスに協調相手候補として登録する(ステップS36)。具体的には、プレース112上の制御変更・監視・実行部115が、レスポンスが来た相手のアドレスと相手の要求となる協調ポリシー、協調ポリシーへの参照情報を実行状態127の協調相手インスタンスリスト155に協調相手候補として登録する。
【0103】
また、判断ステップS32で、自分(例えば、図12に示したコンテンツエージェント211)の協調ポリシーの属性が要求を待つ側(responder)でないときは、244で示すサービス利用側のフローに移行する。244で示すサービス利用側では、協調ポリシー登録部を用いて、登録した協調ポリシーに合致しそうな相手を検索する(ステップS33)。具体的には、プレース112上の制御変更・監視・実行部115が協調ポリシー登録部113、又は108から登録した自分(図12に示したコンテンツエージェント211)の協調ポリシーに合致しそうな相手の協調ポリシーを検索する。ここで、自分の協調ポリシーに合致しそうな相手の協調ポリシーを検索する時間に、245に示すように、最小検索時間や最大検索時間(タイムアウト)を設定してもよい。
【0104】
そして、ステップS33で検索された相手のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を協調相手インスタンスに協調相手候補として登録する(ステップS34)。具体的には、プレース112上の制御変更・監視・実行部115が、ステップS33で検索された相手のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を実行状態127の協調相手インスタンスリスト155に協調ポリシー記述105の協調相手定義138に対する協調相手候補として登録する。
【0105】
図16は、ステップS13の協調ポリシー登録・検索処理の例を示すフローチャートである。
例えば、ステップS31の追加された有効協調ポリシーリストの記述を取り出す処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115がステップS24で有効協調ポリシーリスト156に追加して格納した協調ポリシーとして、コンテンツエージェント211のアクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212(FilterService )を実行状態127の有効協調ポリシーリスト156から取り出す。
【0106】
また、例えば、ステップS33の協調ポリシー登録部を用いて、登録した協調ポリシーに合致しそうな相手を検索する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115が協調ポリシー登録部113、又は108から登録した自分の協調ポリシーである、コンテンツエージェント211のアクティブコンテンツのコンテンツをフィルタリングする相手となる図11に示したフィルタリングエージェント195を探すための協調ポリシー記述212(FilterService )に合致しそうな相手の協調ポリシーとして、251に示すように、図11に示したフィルタリングエージェント195が検索される。
【0107】
また、ステップS34のステップS33で検索された相手のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を協調相手インスタンスに協調相手候補として登録する処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115が、ステップS33で検索された相手の図11に示したフィルタリングエージェント195のアドレスとその要求となる協調ポリシー、協調ポリシーへの参照情報を、252に示すように、実行状態127の協調相手インスタンスリスト155に協調ポリシー記述105の協調相手定義138に対する協調相手候補として登録する。
【0108】
図17は、ステップS14の協調候補から協調する相手を決定する処理の詳細を示すフローチャートである。
図17において、協調相手の協調ポリシーの属性が相手を探す側(requester)であるか否かを判断する(ステップS41)。具体的には、プレース112上の制御変更・監視・実行部115が協調相手の協調ポリシー記述105において、261で示すように、属性の記号の記述が相手を探す側(requester)であるか、又は要求を待つ側(responder)であるかを判断する。
【0109】
この時、協調相手の協調ポリシーの属性情報は、協調相手インスタンスに登録された協調相手の情報を参照して判断する。具体的には、プレース112上の制御変更・監視・実行部115が、相手の協調ポリシーの属性情報を実行状態127の協調相手インスタンスリスト155に登録してある協調ポリシー記述105の属性情報から判断する。
【0110】
判断ステップS41で、協調相手の協調ポリシーの属性が相手を探す側(requester)であるときは、262で示すサービス提供側のフローに移行する。
262で示すサービス提供側のフローでは、サービスの提供条件をすり合わせる(ステップS42)。具体的には、264に示すように、プレース112上の協調条件生成決定部114は、サービス利用者からの公募してきた相手と互いの協調ポリシー記述105の属性情報に基づいてすり合わせを行って、協調条件124により合意123のとれた協調相手を決定する。
【0111】
また、判断ステップS41で、相手の協調ポリシーの属性が相手を探す側(requester)でないときは、263で示すサービス利用側のフローに移行する。
263で示すサービス利用側のフローでは、サービスの利用条件をすり合わせる(ステップS43)。具体的には、265に示すように、プレース112上の協調条件生成決定部114は、サービス提供候補者にメッセージを出して一つを選出して、サービス提供候補者と互いの協調ポリシー記述105の属性情報に基づいてすり合わせを行って、協調条件124により合意123のとれた協調相手を決定する。
【0112】
図18は、図17のステップS42の提供条件をすりあわせてサービスを提供する相手を決定する処理の詳細を示すフローチャートである。ここで、サービスを提供する相手は、例えば、図12で示したユーザーエージェント219である。
図18において、協調候補のすべての要求のあるポリシーについて、協調ポリシー解釈部を用いて提供するポリシーの一貫性を調べる(ステップS51)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー解釈部161を用いて、サービス利用者からの要求のある協調ポリシー記述105の情報について、自分のポリシーとの一貫性を調べる。
【0113】
提供するポリシーと矛盾する要求のあるポリシーを持つ相手には、提供の否認メッセージを送る(ステップS52)。具体的には、プレース112上の協調条件生成決定部114は、有効協調ポリシーリスト156に格納されている協調ポリシー記述105に基づいて、提供するポリシーと矛盾する要求のあるポリシーを持つ相手には、提供の否認メッセージを送る。
【0114】
提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する(ステップS53)。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンスリスト155に登録されている要求のある協調ポリシーのうち、提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する。
【0115】
判断ステップS53で、提供するポリシーと矛盾しない要求のあるポリシーが存在しないときは終了する。なお、この場合には、273で示すように、提供するポリシーを要求のあるポリシーに矛盾しないように変更するようにしてもよい。
【0116】
判断ステップS53で、提供するポリシーと矛盾しない要求のあるポリシーが存在するときは、交渉手順の応募優先順手順に従い、応募順を決定し、その順番で協調候補を並べ替える(ステップS54)。具体的には、プレース112上の協調条件生成決定部114は、提供するポリシーと矛盾しない要求のあるポリシーが複数存在するときは、予め定められた交渉手順の応募優先順手順に従い、応募順を決定し、その順番で複数の協調候補を並べ替える。応募優先順は、例えば、過去の応募頻度や協調実績などに基づいて決定してもよい。
【0117】
そして、協調候補が存在するか否かを判断する(ステップS55)。具体的には、プレース112上の協調条件生成決定部114は、ステップS54で並べ替えた協調候補のうちに、決定すべき協調候補が存在するか否かを判断する。
判断ステップS55で、協調候補が存在しないときは終了する。判断ステップS55で、協調候補が存在するときは、応募優先度の高い候補を選択し、その候補と提供条件をすり合わせる(ステップS56)。
【0118】
さらに、協調可能か否かを判断する(ステップS57)。具体的には、プレース112上の協調条件生成決定部114は、応募優先度の高い候補のうちに、ステップS55により、協調候補が協調可能であるか否かを判断する。
判断ステップS57で、協調可能な協調候補が存在するときは、協調相手インスタンスに協調可能な相手のアドレスを記入して、終了する(ステップS58)。
判断ステップS57で、協調可能な協調候補が存在しないときは、協調候補から協調できない相手を取り除いた後に(ステップS59)、ステップS55へ戻って、ステップS55〜ステップS59までの判断及び処理を繰り返す。
【0119】
図19は、図18のステップS56の応募優先度の高い候補を選択し、その候補と提供条件をすりあわせる処理の詳細を示すフローチャートである。
図19において、応募優先度の高い候補を選択する(ステップS61)。具体的には、プレース112上の協調条件生成決定部114は、応募優先度の高い候補を実行状態127の協調相手インスタンスリスト155に登録されている候補のうちから選択する。
【0120】
交渉手順定義に応募メッセージ作成手順が含まれているか否かを判断する(ステップS62)。具体的には、プレース112上の協調条件生成決定部114は、ステップS61で選択された応募優先度の高い候補のうち、協調ポリシー記述105の交渉手順定義142に応募メッセージ作成手順が含まれているか否かを判断する。交渉手順定義142は、281に示すように、公募メッセージ作成手順、協調条件作成手順、合格基準判定手順及び後処理を構成要素とするものである。
【0121】
判断ステップS62で、交渉手順定義に応募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを応募メッセージであると決定する(ステップS63)。具体的には、プレース112上の協調条件生成決定部114は、予め定められた交渉手順定義142に応募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを応募メッセージであると決定する。
【0122】
判断ステップS62で、交渉手順定義に応募メッセージ作成手順が含まれているときは、交渉手順に従って、応募メッセージを作成する(ステップS64)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105に予め定められた交渉手順定義に従って、応募メッセージを作成する。
【0123】
そして、協調相手に応募メッセージを送信する(ステップS65)。具体的には、プレース112上の協調条件生成決定部114は、ステップS63で決定され、又はステップS64で作成された応募メッセージを協調相手に送信する。
その後、応募メッセージを送信した協調相手からのメッセージを待つ(ステップS66)。具体的には、プレース112上の協調条件生成決定部114は、ステップS65で応募メッセージを送信した協調相手からの応募回答メッセージを待つ。
【0124】
受理メッセージであるか否かを判断する(ステップS67)。具体的には、プレース112上の協調条件生成決定部114は、ステップS66で受信した協調相手からの応募回答メッセージが受理メッセージであるか否かを判断する。
判断ステップS67で、応募回答メッセージが受理メッセージであるときは、受理メッセージに含まれる協調条件を交渉ポリシー中の合格基準に合うかどうかをチェックする(ステップS68)。具体的には、プレース112上の協調条件生成決定部114は、ステップS66で受信した協調相手からの受理メッセージに含まれる協調条件が、交渉手順定義142中の合格基準判定手順に合うかどうかをチェックする。
【0125】
そして、協調条件が合格基準に合っているか否かを判断する(ステップS69)。具体的には、プレース112上の協調条件生成決定部114は、ステップS68のチェックで受理メッセージに含まれる協調条件が、交渉手順定義142中の合格基準判定手順に合っているか否かを判断する。
判断ステップS69で、協調条件が合格基準に合っているときは、協調相手に協調条件の合意メッセージを送る(ステップS72)。具体的には、プレース112上の協調条件生成決定部114は、判断ステップS69で、協調条件が合格基準に合っているときは、協調相手に協調条件の合意メッセージを送る。
【0126】
そして、協調相手インスタンスにその協調相手を協調条件に書き込む(ステップS73)。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンス155にその協調相手を協調条件として登録する。
交渉手順に従って、後処理を行う(ステップS71)。具体的には、プレース112上の協調条件生成決定部114は、予め定められた交渉手順定義142に従って、後処理を行う。後処理は、例えば、283に示すように、協調ポリシーの変更などの処理である。
【0127】
判断ステップS69で、協調条件が合格基準に合っていないときは、協調相手に協調条件の辞退メッセージを送った後に(ステップS70)、ステップS71へ移行する。具体的には、プレース112上の協調条件生成決定部114は、判断ステップS69で、協調条件が合格基準に合っていないときは、協調相手に協調条件の辞退メッセージを送った後に、交渉手順に従って、後処理を行う。
【0128】
図20は、図17のステップS43の利用条件のすりあわせで協調候補からサービスを利用する相手を決定する処理の詳細を示すフローチャートである。ここで、協調候補からサービスを利用する相手は、例えば、図11で示したフィルタリングエージェント195である。
図20において、協調候補のすべての要求のあるポリシーについて、協調ポリシー解釈部を用いて提供するポリシーの一貫性を調べる(ステップS81)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー解釈部161を用いて、サービス提供候補者の協調ポリシー記述105の情報について、自分のポリシーとの一貫性を調べる。
【0129】
提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する(ステップS82)。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンスリスト155に登録されている要求のある協調ポリシーのうち、提供するポリシーと矛盾しない要求のあるポリシーは存在するか否かを判断する。
【0130】
判断ステップS82で、提供するポリシーと矛盾しない要求のあるポリシーが存在しないときは終了する。なお、この場合には、292で示すように、提供するポリシーを要求のあるポリシーに矛盾しないように変更するようにしてもよい。
判断ステップS82で、提供するポリシーと矛盾しない要求のあるポリシーが存在するときは、交渉手順定義に公募メッセージ作成手順が含まれているか否かを判断する(ステップS83)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に公募メッセージ作成手順が含まれているか否かを判断する。
【0131】
判断ステップS83で、交渉手順定義に公募メッセージ作成手順が含まれているときは、交渉手順に従って、公募メッセージを作成する(ステップS85)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に従って、公募メッセージを作成する。
【0132】
判断ステップS83で、交渉手順定義に公募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを公募メッセージと決定する(ステップS84)。具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に公募メッセージ作成手順が含まれていないときは、提供するポリシーの情報すべてを公募メッセージと決定する。
【0133】
提供するポリシーと矛盾しない要求のあるポリシーを持つすべての相手に、公募メッセージを送る(ステップS86)。具体的には、プレース112上の協調条件生成決定部114は、提供するポリシーと矛盾しない要求のあるポリシーを持つすべての相手に、有効協調ポリシーリスト156に格納されている協調ポリシー記述105に基づいて作成された、又は交渉手順定義142に従って作成された、公募メッセージを送る。
【0134】
その後、公募メッセージを送信した協調相手からの応募メッセージが来るのを待つ(ステップS87)。具体的には、プレース112上の協調条件生成決定部114は、ステップS86で公募メッセージを送信した協調相手からの公募回答メッセージを待つ。
【0135】
応募メッセージのうち、メッセージに含まれる協調条件を交渉ポリシー中の合格基準に従い、合格者を1名決定する(ステップS88)。具体的には、プレース112上の協調条件生成決定部114は、ステップS87で受信した協調相手からの応募メッセージに含まれる協調条件が、交渉手順定義142中の293の構成要素で示す合格基準判定手順に合っているもののうちの1名を合格者として決定する。
【0136】
交渉手順定義の協調条件作成処理に従い、合格者の要求のあるポリシーと提供するポリシーから協調条件を作成する(ステップS89)。具体的には、プレース112上の協調条件生成決定部114は、交渉手順定義142の293の構成要素で示す協調条件作成処理に従い、ステップS88で決定した合格者の要求のあるポリシーと提供するポリシーから協調条件を作成する。
【0137】
合格者に対して協調条件として受理メッセージを送る(ステップS90)。具体的には、プレース112上の協調条件生成決定部114は、ステップS88で決定した合格者に対して協調条件として受理メッセージを送る。
合格者以外に対して却下メッセージを送る(ステップS91)。具体的には、プレース112上の協調条件生成決定部114は、ステップS88で決定した合格者以外に対して却下メッセージを送る。
【0138】
合格者からの受理メッセージに対する返答を待つ(ステップS92)。具体的には、プレース112上の協調条件生成決定部114は、ステップS90で合格者に対して送った受理メッセージに対する返答を待つ。
合格者が協調条件に合意したか否かを判断する(ステップS93)。具体的には、プレース112上の協調条件生成決定部114は、ステップS92の合格者からの受理メッセージに対する返答により、合格者が協調条件に合意したか否かを判断する。
【0139】
判断ステップS93で合格者が協調条件に合意したときは、協調相手インスタンスにその協調相手を協調条件に書き込んで(ステップS94)、終了する。具体的には、プレース112上の協調条件生成決定部114は、実行状態127の協調相手インスタンス155リストにその協調相手を協調条件として登録して、終了する。
判断ステップS93で、協調条件が合格基準に合っていないときは、終了する。
【0140】
図21は、図17のステップS43の利用条件のすりあわせの例を示すフローチャートである。
例えば、ステップS81の協調候補のすべての要求のあるポリシーについて、協調ポリシー解釈部を用いて提供するポリシーの一貫性を調べる処理は、以下のように実行される。
具体的には、303に示すように、プレース112上の協調条件生成決定部114は、協調ポリシー解釈部161を用いて、自分(図12Aに示すコンテンツエージェント211)の協調ポリシーである提供するポリシー301と、相手(図11で示したフィルタリングエージェント195)となるサービス提供候補者の協調ポリシーである要求のあるポリシー302とで、両者の要求項目(《required》)、提供項目(《provided》)、及び効果項目(《effect》)に矛盾がないかそのマッチングを調べる。このマッチングは、全部一致、一部一致、条件付一致の場合もある。
【0141】
また、ステップS84の提供するポリシーの情報すべてを公募メッセージと決定する処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、協調ポリシー記述105の交渉手順定義142に公募メッセージ作成手順が含まれていないときは、提供するポリシー301の情報すべてを候補となる公募メッセージ304と決定する。
【0142】
また、ステップS86で提供するポリシーと矛盾しない要求のあるポリシーを持つすべての相手に、公募メッセージを送る処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、306に示すように、提供するポリシーと矛盾しない要求のあるポリシーを持つ相手である図11で示したフィルタリングエージェント195に、有効協調ポリシーリスト156に格納されている協調ポリシー記述105に基づいて作成された、又は交渉手順定義142に従って作成された、公募メッセージを送る。
【0143】
また、ステップS88の応募メッセージのうち、メッセージに含まれる協調条件を交渉ポリシー中の合格基準に従い、合格者を1名決定する処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、ステップS87で受信した協調相手である図11で示したフィルタリングエージェント195からの応募メッセージ307に含まれる協調条件が、交渉手順定義142中の293の構成要素で示す合格基準判定手順に合っているもののうちの1名の合格者として決定する。
【0144】
そして、ステップS90の合格者に対して協調条件として受理メッセージを送る処理は、以下のように実行される。
具体的には、プレース112上の協調条件生成決定部114は、ステップS88で決定した合格者に対して協調条件として、候補となる公募メッセージ304に対して決定した受理メッセージ305を送る。
【0145】
図22は、協調ポリシーをすりあわせるときのプロトコルを示す図である。
図22において、T1時点で、相手を探す側(requester)311から要求を待つ側(responder)312へ、利用するポリシーについて公募メッセージ315を送信する。また、T2時点で、相手を探す側(requester)311から他の要求を待つ側(responder)313へ、利用するポリシーについて他の公募メッセージ316を送信する。さらに、T3時点で、相手を探す側(requester)311から他の要求を待つ側(responder)314へ、利用するポリシーについて他の公募メッセージ317を送信する。
【0146】
これに対して、T4時点で、相手を探す側(requester)311は要求を待つ側(responder)312から、提供されるポリシーについて応募メッセージ318を受信する。T5時点で、相手を探す側(requester)311は他の要求を待つ側(responder)313から、提供されるポリシーについて他の応募メッセージ319を受信する。
【0147】
そこで、T6時点で、相手を探す側(requester)311から要求を待つ側(responder)312へ、協調条件について受理メッセージ320を送信する。また、T7時点で、相手を探す側(requester)311から他の要求を待つ側(responder)313へ、協調条件について却下メッセージ321を送信する。
【0148】
さらに、T8時点で、相手を探す側(requester)311は要求を待つ側(responder)312から、協調条件について合意メッセージ322を受信する。又は、T9時点で、協調条件を呑めない場合324には、相手を探す側(requester)311は要求を待つ側(responder)312から、協調条件について辞退メッセージ325を受信する。
【0149】
また、以下に、図10の処理の詳細を説明する。
図23は、ステップS16の協調準備の処理の詳細を示すフローチャートである。
図23において、追加された協調相手インスタンス中の協調条件から協調場所を取り出す(ステップS121)。具体的には、プレース112上の協調スタイル実施部128は、実行状態127の協調相手インスタンスリスト155の合意123のとれた協調条件124中から、協調場所を取り出す。協調場所は、331に示すように、例えば、協調条件124協調場所のラベル部分(CollaborationPlace )で特定される。
【0150】
次に、協調場所が現在のプレースと異なるか否かを判断する(ステップS122)。具体的には、プレース112上の制御変更・監視・実行部115は、プレース112上の協調スタイル実施部128がステップS121で取り出した協調場所が現在のプレースと異なるか否かを判断する。
【0151】
判断ステップS122で、協調場所が現在のプレースと異ならないときは、追加された協調相手インスタンス中の協調条件から協調スタイルを取り出し、協調スタイル実施部に協調スタイルの実施を依頼する(ステップS124)。具体的には、プレース112上の制御変更・監視・実行部115が、プレース112上の協調スタイル実施部128に、協調スタイルの実施を依頼する。このとき、協調スタイルは、332に示すように、例えば、結合スタイルのラベル部分(BindingStyle)で特定され、ここで親子関係が築かれ、子のメッセージの一部が親のメッセージとして処理される。
【0152】
また、判断ステップS122で、協調場所が現在のプレースと異なるときは、協調場所に移動した後に(ステップS123)、ステップS124へ移行する。具体的には、プレース112上の制御変更・監視・実行部115が、アクティブコンテンツ102を協調場所に移動した後に、移動先プレースの協調スタイル実施部に協調スタイルの実施を依頼する。
【0153】
図24は、ステップS18の自律ポリシー選択・生成・登録の処理の詳細を示すフローチャートである。
図24において、変換ルール記述が登録されているか否かを判断する(ステップS131)。具体的には、プレース112上の制御変更・監視・実行部115は、変換ルール記述111がコンテンツ制御情報格納部104に登録されているか否かを判断する。
【0154】
判断ステップS131で、変換ルール記述が登録されていないときは、登録されている自律ポリシーを取り出す(ステップS133)。具体的には、プレース112上の制御変更・監視・実行部115は、コンテンツ制御情報格納部104の自律ポリシー記述107中の自律ポリシーを取り出す。
【0155】
そして、自律ポリシーを実行状態の有効自律ポリシーリストに加える(ステップS134)。具体的には、プレース112上の制御変更・監視・実行部115は、ステップS133で取り出した自律ポリシーを実行状態127の有効自律ポリシーリスト157に加える。
【0156】
また、判断ステップS131で、変換ルール記述が登録されているときは、変換ルールに従い、協調条件から自律ポリシーを生成した後に(ステップS132)、ステップS134へ移行する。具体的には、プレース112上の制御変更・監視・実行部115は、判断ステップS131で登録されている変換ルール記述111に従い、協調条件から自律ポリシーを生成した後に、自律ポリシーを実行状態の有効自律ポリシーリストに加える。
【0157】
図25は、ステップS16の協調準備の処理の例を示すフローチャートである。
図25において、例えば、ステップS121の追加された協調相手インスタンス中の協調条件から協調を取り出す処理は、以下のように実行される。
具体的には、341で示すように、協調場所のラベル部分(CollaborationPlace)が相手を探す側(requester)である図12に示したコンテンツエージェント211である。そこで、コンテンツエージェント211の存在している現在のプレースが、プレース112上の協調スタイル実施部128により、取り出される。
【0158】
また、例えば、ステップS124の追加された協調相手インスタンス中の協調条件から協調スタイルを取り出し、協調スタイル実施部に協調スタイルの実施を依頼する処理は、以下のように実行される。
具体的には、342で示すように、コンテンツエージェント211の結合スタイルのラベル部分(BindingStyle )は親(parent)で、相手は子(child)なので、プレース112上の制御変更・監視・実行部115が、プレース112上の協調スタイル実施部128に、相手となる図11に示したフィルタリングエージェント195と親子関係を結ぶ協調スタイルの実施を依頼する。このとき、協調スタイルは、343に示すように、例えば、結合スタイルのラベル部分(BindingStyle)で特定され、ここで親子関係が築かれ、子のメッセージの一部が親のメッセージとして処理される。
【0159】
図26は、ステップS18の自律ポリシー選択・生成・登録の処理の例を示すフローチャートである。
図26において、例えば、ステップS133で登録されているフィルタリングエージェント195の自律ポリシーを取り出す処理は、以下のように実行される。
具体的には、プレース112上の制御変更・監視・実行部115は、フィルタリングエージェント195のコンテンツ制御情報格納部104の自律ポリシー記述107中の自律ポリシー196を取り出す。
【0160】
図27は、ステップS19の自律ポリシーに従い次の制御の実行の処理の詳細を示すフローチャートである。
図27において、実行状態のアクティビティ実行キューから次に実行すべきアクティビティを取り出す(ステップS141)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127のアクティビティ実行キュー154から次に実行すべきアクティビティを取り出す。
【0161】
次に、有効自律ポリシーから次に実行すべきアクティビティに関するものを取り出す(ステップS142)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の有効自律ポリシーリスト157から次に実行すべきアクティビティに関するものを取り出す。
そして、自律ポリシーのアスペクト記述にアクティビティの置き換えが定義されているか否かを判断する(ステップS143)。具体的には、プレース112上の制御変更・監視・実行部115が、自律ポリシー記述107のアスペクト記述147にアクティビティの置き換えが定義されているか否かを判断する。
【0162】
判断ステップS143で、自律ポリシーのアスペクト記述にアクティビティの置き換えが定義されているときは、アスペクト記述に従い、アクティビティを置き換える(ステップS145)。具体的には、プレース112上の制御変更・監視・実行部115が、自律ポリシー記述107のアスペクト記述147に従い、アクティビティを置き換える。
判断ステップS143で、自律ポリシーのアスペクト記述にアクティビティの置き換えが定義されていないとき、及びステップS145でアクティビティを置き換えた後は、アクティビティの事前処理を行う(ステップS144)。具体的には、プレース112上の制御変更・監視・実行部115が、実施の必要な予め定められたアクティビティの事前処理を行う。
【0163】
次に、アクティビティの実行位置のチェックを行う(ステップS146)。具体的には、プレース112上の制御変更・監視・実行部115が、アクティビティの実行位置がどのプレース上であるかのチェックを行う。
そして、実行位置が現在のプレースであるか否かを判断し(ステップS147)、実行位置が現在のプレースでないときは、実行位置が協調条件に違反していないか否かを判断し(ステップS148)、実行位置が協調条件に違反していないときは、プレース112上の制御変更・監視・実行部115が、アクティビティ転送部164を使って実行位置にアクティビティを転送する(ステップS150)。なお、ステップS147、ステップS148及びステップS150の処理はオプション363であり、必須の処理ではない。
【0164】
判断ステップS147で、実行位置が現在のプレースであるとき、及びステップS150の転送処理の後に、自律ポリシーに従いアクティビティを実行する(ステップS151)。具体的には、プレース112上の制御変更・監視・実行部115が、自律ポリシー記述107に従いアクティビティを実行する。具体的には、自律ポリシー107の実行制約146に従ってアクティブティを実行する。
次に、アクティビティの事後処理を行う(ステップS152)。具体的には、プレース112上の制御変更・監視・実行部115が、実施の必要な予め定められたアクティビティの事後処理を行う。
【0165】
そして、次に実行すべきアクティビティがあるか否かを判断する(ステップS153)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127のアクティビティ実行キュー154に次に実行すべきアクティビティがあるか否かを判断する。
判断ステップS153で、次に実行すべきアクティビティがなければ終了し、次に実行すべきアクティビティがなければ、ステップS141へ戻って、ステップS141〜ステップS153までの処理及び判断を繰り返す。
【0166】
このとき、361に示すように、ステップS143〜ステップS153までの処理及び判断と、メッセージを受信したときに起動される割り込み処理ルーチン364であるステップS154〜ステップS157までの処理及び判断が、並列に実行される。
以下に、割り込み処理ルーチン364であるステップS154〜ステップS157について説明する。
まず、割り込みが発生すると、メッセージキューを調べ、子のメッセージが届いていたら、自律ポリシーに登録されている手順に従って、メッセージを加工する(ステップS154)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の制御状態158に格納されるメッセージキュー159を調べ、子のメッセージが届いていたら、自律ポリシー記述107に登録されている手順に従って、メッセージを加工する。
【0167】
次に、ステップS154の加工が子との協調条件に違反していないか否かを判断する(ステップS155)。具体的には、プレース112上の制御変更・監視・実行部115が、メッセージの加工が、子との協調条件に違反していないか否かを判断する。
判断ステップS155で、加工が子との協調条件に違反しているとき、及び判断ステップS148で実行位置が協調条件に違反しているときは、362で示すように、実行例外を起こすなど、協調条件違反処理を行って終了する(ステップS149)。
【0168】
判断ステップS155で、加工が子との協調条件に違反していないときは、加工したメッセージを相手に送信し(ステップS146)、次に実行すべきアクティビティの実行が終了したか否かを判断する(ステップS157)。
判断ステップS157で、次に実行すべきアクティビティの実行が終了していれば終了し、次に実行すべきアクティビティの実行が終了していなければ、ステップS154へ戻って、ステップS154〜ステップS157までの処理及び判断を繰り返す。
【0169】
図28は、ステップS144及びステップS152のアクティビティの処理を示すフローチャートであり、図28AはステップS144のアクティビティの事前処理を示すフローチャート、図28BはステップS152のアクティビティの事後処理を示すフローチャートである。
図28Aにおいて、メッセージキューを調べ、自分のメッセージが届いていたら、自律ポリシーに従ってフィルタリングを行って、メッセージキューに戻す(ステップS161)。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の制御状態158に格納されるメッセージキュー159を調べ、自分のメッセージが届いていたら、実行状態127の有効自律ポリシーリスト157に従ってフィルタリングを行って、フィルタリング処理後の自分のメッセージをメッセージキュー159に戻す。
【0170】
次に、自律ポリシーに、次に実行すべきアクティビティの前に実行すべきアクティビティが登録されているか否かを判断する(ステップS162)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の有効自律ポリシーリスト157に次に実行すべきアクティビティの前に実行すべきアクティビティが登録されているか否かを判断する。
【0171】
判断ステップS162で、自律ポリシーに、次に実行すべきアクティビティの前に実行すべきアクティビティが登録されているときは、実行すべきアクティビティを自律ポリシーに従って実行する(ステップS163)。具体的には、プレース112上の制御変更・監視・実行部115が、実行すべきアクティビティを実行状態127の有効自律ポリシーリスト157に従って実行する。
【0172】
判断ステップS162で、自律ポリシーに、次に実行すべきアクティビティの前に実行すべきアクティビティが登録されていないとき、及びステップS163の処理後は、自律ポリシーに、次に実行するアクティビティの入力データの変更処理が登録されている場合、それに従い内部データを加工する(ステップS164)。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の有効自律ポリシーリスト157に、次に実行するアクティビティの入力データの変更処理が登録されている場合、それに従い内部データを加工する。
【0173】
そして、自律ポリシーに、内部データの変更処理が登録されている場合、それに従い内部データを加工する。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の有効自律ポリシーリスト157に、内部データの変更処理が登録されている場合、それに従い内部データを加工する。
【0174】
また、図28Bにおいて、自律ポリシーに、実行したアクティビティの出力データの変更処理が登録されている場合、それに従い出力データを加工する(ステップS171)。具体的には、プレース112上の制御変更・監視・実行部115の自律ポリシー解釈部168が、実行状態127の有効自律ポリシーリスト157に、実行したアクティビティの出力データの変更処理が登録されている場合、それに従い出力データを加工する。
【0175】
次に、自律ポリシーに、実行したアクティビティの後に実行すべきアクティビティが登録されているか否かを判断する(ステップS172)。具体的には、プレース112上の制御変更・監視・実行部115が、実行状態127の有効自律ポリシーリスト157に実行したアクティビティの後に実行すべきアクティビティが登録されているか否かを判断する。
【0176】
判断ステップS172で、自律ポリシーに、実行したアクティビティの後に実行すべきアクティビティが登録されているときは、実行すべきアクティビティを自律ポリシーに従って実行する(ステップS173)。具体的には、プレース112上の制御変更・監視・実行部115が、実行すべきアクティビティを実行状態127の有効自律ポリシーリスト157に従って実行する。
判断ステップS172で、自律ポリシーに、実行したアクティビティの後に実行すべきアクティビティが登録されていないとき、及びステップS173の処理後は、終了する。
【0177】
図29は、協調例を示す図である。
図29において、コンテンツエージェント211の協調ポリシー記述212に対して、アクティブコンテンツのコンテンツをフィルタリングする相手となるフィルタリングエージェント195が協調し、コンテンツエージェント211の協調ポリシー記述213に対して、フィルタリングエージェント195でフィルタリングされたンテンツを利用する相手となるユーザーエージェント219が協調する。
【0178】
このとき、コンテンツエージェント211の制御記述の例として、制御フロー214が示されている。この制御フロー214の第1命令(act1)215、第2命令(act2)216、第3命令(act3)218と、制御フロー214の第1命令(act1)215から第2命令(act2)216への流れ、第2命令(act2)216から第3命令(act3)218への流れが、定義されている。また、第2命令(act2)216には、217に示すように、リクエストメッセージを受け取って、送信者にコンテンツを返すように定義されている。
【0179】
また、フィルタリングエージェント195の制御記述の例として、制御フロー191が示されている。この制御フロー191の第1命令(act1)192、第2命令(act2)193、第3命令(act3)194が、制御記述106のアクティビティ定義131に定義されている。また、制御フロー191の第1命令(act1)192から第2命令(act2)193への流れ、第2命令(act2)193から第3命令(act3)194への流れが、制御記述106の制御フロー定義132に定義されている。
【0180】
また、フィルタリングエージェント195は、自律ポリシー196が付けられている。自律ポリシー記述107のアスペクト記述147として、自律ポリシー196には、197に示すように、メッセージを受け取ってその中の名前を匿名化する記述が設けられている。
【0181】
また、ユーザーエージェント219の制御記述の例として、制御フロー220が示されている。この制御フロー220の第1命令(act1)221、第2命令(act2)222、第3命令(act3)224と、制御フロー220の第1命令(act1)221から第2命令(act2)222への流れ、第2命令(act2)222から第3命令(act3)224への流れが、定義されている。また、第2命令(act2)222には、223に示すように、コンテンツエージェント211へメッセージを送って、コンテンツを送信してもらうように定義されている。
【0182】
上述した本実施の形態に限らず、本発明の要旨を逸脱しない限り、発明の構成を変更しうることはいうまでもない。
【図面の簡単な説明】
【0183】
【図1】アクティブコンテンツの概要を示す図である。
【図2】前提環境を示す図である。
【図3】ポリシーの概要を示す図である。
【図4】本実施の形態のシステム構成図である。
【図5】協調条件の成立と遵守手順を示す図である。
【図6】アクティブコンテンツ及びプレースの構成を示す図である。
【図7】アクティブコンテンツの各部の構成図であり、図7Aは制御記述の構造例(ワークフローで記述した場合)、図7Bは協調ポリシー記述の構造例、図7Cは変換ルール記述の構造例、図7Dは自律ポリシー記述の構造例、図7Eは協調条件の構造例、図7Fはコンテンツ素材格納部例、図7Gは実行状態の構造例である。
【図8】プレースの各部の構成図であり、図8Aは協調条件生成決定部の構造例、図8Bは制御変更・監視・実行部の構造例である。
【図9】アクティブコンテンツのライフサイクルの動作を示すフローチャートである。
【図10】アクティブコンテンツの実行の動作を示すフローチャートである。
【図11】フィルタリングエージェントの各部の記述例を示す図であり、図11Aはフィルタリングエージェントの制御記述と自律ポリシー記述であり、図11Bは協調ポリシー記述である。
【図12】他のエージェントの各部の記述例を示す図であり、図12Aはコンテンツエージェントの制御記述と協調ポリシー記述であり、図12Bはユーザーエージェントの制御記述と協調ポリシー記述である。
【図13】ステップS11の制御記述断片選択処理の詳細を示すフローチャートである。
【図14】ステップS11の制御記述断片選択処理の例を示すフローチャートである。
【図15】ステップS13の協調ポリシー登録・検索処理の詳細を示すフローチャートである。
【図16】ステップS13の協調ポリシー登録・検索処理の例を示すフローチャートである。
【図17】ステップS14の協調候補から協調する相手を決定する処理の詳細を示すフローチャートである。
【図18】ステップS42の提供条件のすりあわせで協調候補サービスを提供する相手を決定する処理の詳細を示すフローチャートである。
【図19】ステップS56の応募優先度の高い候補を選択し、その候補と提供条件をすりあわせる処理の詳細を示すフローチャートである。
【図20】ステップS43の利用条件のすりあわせで協調候補からサービスを利用する相手を決定する処理の詳細を示すフローチャートである。
【図21】ステップS43の利用条件のすりあわせの例を示すフローチャートである。
【図22】協調ポリシーをすりあわせるときのプロトコルを示す図である。
【図23】ステップS16の協調準備の処理の詳細を示すフローチャートである。
【図24】ステップS18の自律ポリシー選択・生成・登録の処理の詳細を示すフローチャートである。
【図25】ステップS16の協調準備の処理の例を示すフローチャートである。
【図26】ステップS18の自律ポリシー選択・生成・登録の処理の例を示すフローチャートである。
【図27】ステップS19の自律ポリシーに従い次の制御の実行の処理の詳細を示すフローチャートである。
【図28】ステップS144及びステップS152のアクティビティの処理を示すフローチャートであり、図28AはステップS144のアクティビティの事前処理を示すフローチャート、図28BはステップS152のアクティビティの事後処理を示すフローチャートである。
【図29】協調例を示す図である。
【符号の説明】
【0184】
1…アクティブコンテンツ、2…コンテンツ、3…プログラム、4…ポリシー、5…利用制約、流通方法、表示方法、6…埋め込み、7…製作者、8…暗号化、9…変換、10…エージェント・サービス,11…利用ポリシー、12…利用方法・利用範囲、流通条件、13…利用者、21、30…ホスト、22…複合アクティブコンテンツ、23、24、48…アクティブコンテンツ、25…合成、26…ユーザーエージェント・インターフェース、27,29…利用、28…情報変換・情報出力サービス、31…流通、41,51…アクティブコンテンツ、42…コンテンツ、52…子コンテンツ、43、53…制御記述、45,54…自律ポリシー、46,50、56…協調ポリシー、71,77,82,85…ホスト、76,79,84,87…プレース、72,75,73,78…アクティブコンテンツ、74…協調条件、83…サービス、86…ユーザーエージェント、101,116…ホスト、102…アクティブコンテンツ、112…プレース、117…ユーザーエージェント、104…コンテンツ情報格納部、105…協調ポリシー記述、106…制御記述、107…自律ポリシー記述、108…協調ポリシー登録部、109,114,121…協調条件生成決定部、110…交渉ポリシー記述、111…変換ルール記述、113,120…協調ポリシー登録部、115…制御変更・監視・実行部、127…実行状態、128…協調スタイル実施部
【特許請求の範囲】
【請求項1】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、
上記コンテンツ制御情報格納部は、上記コンテンツの利用制約、流通方法及び/又は提供方法を定めたポリシーを記憶する記憶部を有し、
上記端末は、上記アクティブコンテンツの上記ポリシーと他のアクティブコンテンツの他のポリシーに基づいて、上記アクティブコンテンツと他のアクティブコンテンツとの間で上記アクティブコンテンツの上記コンテンツ及び/又は上記他のアクティブコンテンツの上記他のコンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件の調整を行う制御部を
備えたことを特徴とするアクティブコンテンツ流通システム。
【請求項2】
上記アクティブコンテンツの上記ポリシーは、
上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーと、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報格納部に格納された上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシーと
から構成されることを特徴とする請求項1記載のアクティブコンテンツ流通システム。
【請求項3】
上記アクティブコンテンツを流通させる端末は、
上記協調ポリシーを登録し、解釈する協調ポリシー登録部と、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定部と、
上記協調条件決定部により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御部とを
設けることを特徴とする請求項2記載のアクティブコンテンツ流通システム。
【請求項4】
上記協調条件決定部は、
上記協調条件の決定の際に、
上記アクティブコンテンツと上記他のアクティブコンテンツの間に親と子の関係又は提供側と利用側の関係を示す従属関係の属性を設ける
ことを特徴とする請求項3記載のアクティブコンテンツ流通システム。
【請求項5】
上記アクティブコンテンツの上記コンテンツ制御情報格納部は、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶部を有し、
上記アクティブコンテンツを流通させる端末は、上記実行状態記憶部に記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施部を有する
ことを特徴とする請求項2記載のアクティブコンテンツ流通システム。
【請求項6】
上記実行状態記憶部は、
上記協調相手の他に、上記コンテンツの実行におけるアクティビティ実行キュー、有効協調ポリシー、有効自律ポリシー、制御状態を記憶する
ことを特徴とする請求項5記載のアクティブコンテンツ流通システム。
【請求項7】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、
上記アクティブコンテンツの上記コンテンツ制御情報格納部は、
上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを記憶する協調ポリシー記憶部と、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報格納部に格納された上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシーを記憶する自律ポリシー記憶部と、
上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御部と、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶部と、
を備え、
上記アクティブコンテンツを流通させる端末は、
上記協調ポリシーを登録し、解釈する協調ポリシー登録部と、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定部と、
上記協調条件決定部により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御部と、
上記実行状態記憶部に記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施部と
を備えたことを特徴とするアクティブコンテンツ流通システム。
【請求項8】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるために上記端末のコンピュータに所定機能を実現させるためのアクティブコンテンツ流通プログラムであって、
上記アクティブコンテンツの上記コンテンツ制御情報に対して、
上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定める協調ポリシー機能と、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシー機能と、
上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御機能と、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶機能と、
を実行し、
上記アクティブコンテンツを流通させる端末に対して、
上記協調ポリシーを登録し、解釈する協調ポリシー登録機能と、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定機能と、
上記協調条件決定機能により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御機能と、
上記実行状態記憶機能で記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施機能と
を実行することを特徴とするアクティブコンテンツ流通プログラム。
【請求項9】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、
次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、
上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うステップと、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、
上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、
上記協調ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、
を含むことを特徴とするアクティブコンテンツ流通方法。
【請求項10】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、
次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、
上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うステップと、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、
上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する制御条件を定めた自律ポリシーを選択するテップと、
上記協調ポリシー及び上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、
を含むことを特徴とするアクティブコンテンツ流通方法。
【請求項1】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、
上記コンテンツ制御情報格納部は、上記コンテンツの利用制約、流通方法及び/又は提供方法を定めたポリシーを記憶する記憶部を有し、
上記端末は、上記アクティブコンテンツの上記ポリシーと他のアクティブコンテンツの他のポリシーに基づいて、上記アクティブコンテンツと他のアクティブコンテンツとの間で上記アクティブコンテンツの上記コンテンツ及び/又は上記他のアクティブコンテンツの上記他のコンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件の調整を行う制御部を
備えたことを特徴とするアクティブコンテンツ流通システム。
【請求項2】
上記アクティブコンテンツの上記ポリシーは、
上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーと、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報格納部に格納された上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシーと
から構成されることを特徴とする請求項1記載のアクティブコンテンツ流通システム。
【請求項3】
上記アクティブコンテンツを流通させる端末は、
上記協調ポリシーを登録し、解釈する協調ポリシー登録部と、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定部と、
上記協調条件決定部により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御部とを
設けることを特徴とする請求項2記載のアクティブコンテンツ流通システム。
【請求項4】
上記協調条件決定部は、
上記協調条件の決定の際に、
上記アクティブコンテンツと上記他のアクティブコンテンツの間に親と子の関係又は提供側と利用側の関係を示す従属関係の属性を設ける
ことを特徴とする請求項3記載のアクティブコンテンツ流通システム。
【請求項5】
上記アクティブコンテンツの上記コンテンツ制御情報格納部は、上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶部を有し、
上記アクティブコンテンツを流通させる端末は、上記実行状態記憶部に記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施部を有する
ことを特徴とする請求項2記載のアクティブコンテンツ流通システム。
【請求項6】
上記実行状態記憶部は、
上記協調相手の他に、上記コンテンツの実行におけるアクティビティ実行キュー、有効協調ポリシー、有効自律ポリシー、制御状態を記憶する
ことを特徴とする請求項5記載のアクティブコンテンツ流通システム。
【請求項7】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通システムであって、
上記アクティブコンテンツの上記コンテンツ制御情報格納部は、
上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを記憶する協調ポリシー記憶部と、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報格納部に格納された上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシーを記憶する自律ポリシー記憶部と、
上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御部と、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶部と、
を備え、
上記アクティブコンテンツを流通させる端末は、
上記協調ポリシーを登録し、解釈する協調ポリシー登録部と、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定部と、
上記協調条件決定部により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御部と、
上記実行状態記憶部に記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施部と
を備えたことを特徴とするアクティブコンテンツ流通システム。
【請求項8】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるために上記端末のコンピュータに所定機能を実現させるためのアクティブコンテンツ流通プログラムであって、
上記アクティブコンテンツの上記コンテンツ制御情報に対して、
上記アクティブコンテンツの上記コンテンツの利用制約、流通方法及び/又は提供方法として、上記他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定める協調ポリシー機能と、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する自律ポリシー機能と、
上記協調ポリシー及び/又は上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行う制御機能と、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶する実行状態記憶機能と、
を実行し、
上記アクティブコンテンツを流通させる端末に対して、
上記協調ポリシーを登録し、解釈する協調ポリシー登録機能と、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定する協調条件決定機能と、
上記協調条件決定機能により決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行う制御機能と、
上記実行状態記憶機能で記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施する協調スタイル実施機能と
を実行することを特徴とするアクティブコンテンツ流通プログラム。
【請求項9】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、
次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、
上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うステップと、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、
上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、
上記協調ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、
を含むことを特徴とするアクティブコンテンツ流通方法。
【請求項10】
コンテンツを格納するコンテンツ情報格納部と、上記コンテンツ情報格納部に格納されたコンテンツを制御するコンテンツ制御情報を格納するコンテンツ制御情報格納部とを有するアクティブコンテンツを端末間で流通させるアクティブコンテンツ流通方法であって、
次に実行すべき上記アクティブコンテンツの上記コンテンツ制御情報に対応するように、上記アクティブコンテンツに対して他のアクティブコンテンツとなる協調相手、上記他のアクティブコンテンツとの協調方法、協調形式及び/又は協調場所の協調条件を定めた協調ポリシーを選択するステップと、
上記他のアクティブコンテンツの他の協調ポリシーが上記アクティブコンテンツの上記協調ポリシーを満足するか否かを判定し、協調条件を決定するステップと、
上記決定された協調条件に従って、上記アクティブコンテンツの上記コンテンツと上記他のアクティブコンテンツの上記他のコンテンツを協調して実行するために必要な制御を行うステップと、
上記コンテンツの利用、流通及び/又は提供の際における、上記協調ポリシーの協調条件に従った上記コンテンツの実行状態を記憶するステップと、
上記記憶された上記協調ポリシーの協調条件に従った協調相手との協調スタイルを実施するステップと、
上記アクティブコンテンツの上記コンテンツの利用方法、利用範囲及び/又は流通範囲の制御条件に基づいて、上記アクティブコンテンツ自体の上記コンテンツ制御情報による制御状態を動的に変更又は追加し、監視する制御条件を定めた自律ポリシーを選択するテップと、
上記協調ポリシー及び上記自律ポリシーに従って上記コンテンツの利用、流通及び/又は提供の制御を行うステップと、
を含むことを特徴とするアクティブコンテンツ流通方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公開番号】特開2007−213214(P2007−213214A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−31165(P2006−31165)
【出願日】平成18年2月8日(2006.2.8)
【出願人】(504202472)大学共同利用機関法人情報・システム研究機構 (119)
【Fターム(参考)】
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願日】平成18年2月8日(2006.2.8)
【出願人】(504202472)大学共同利用機関法人情報・システム研究機構 (119)
【Fターム(参考)】
[ Back to top ]