(57)【要約】【課題】コンフリクトを動的に検知して解決することが可能なコンフリクト管理システムを提供する。【解決手段】コンフリクト管理システムは、コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決するコンフリクト管理システムであって、アプリケーションからサービスの要請を受けるコンテクスト消費部１１０と、要請されたサービスの意味を分析し、分析された意味をデータ構造に対して登録／削除する動作意味管理部１３０と、データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断し、コンフリクトが発生している場合に、コンフリクトが発生しているサービスの動作の意味をデータ構造から削除することを動作意味管理部１３０に要請し、コンフリクトに対する解決ポリシーを生成し、解決ポリシーに応じて新たなサービスを要請するサービス相互仲介部１２０と、を備えている。【選択図】      図２
2006228219.tif 000002
【特許請求の範囲】
【請求項１】
コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決するコンフリクト管理方法であって、
アプリケーションからサービスの要請を受けるステップと、
要請された前記サービスを分析してデータ構造に登録するステップと、
前記データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断するステップと、
コンフリクトが発生している場合に、前記データ構造からコンフリクトが発生している前記サービスの動作の意味を削除し、コンフリクトに対する解決ポリシーを生成し、前記解決ポリシーに応じて新たなサービスを要請するステップと、
を含むことを特徴とするコンフリクト管理方法。
【請求項２】
コンフリクトが発生していない場合に、要請された前記サービスを実行するステップをさらに含むことを特徴とする請求項１に記載のコンフリクト管理方法。
【請求項３】
前記データ構造は、前記アプリケーションのサービスの動作がコンテクスト情報に及ぼす影響の種類と、影響を受けた前記コンテクスト情報とを表現するオントロジー構造であることを特徴とする請求項１または請求項２に記載のコンフリクト管理方法。
【請求項４】
前記コンテクスト情報の変化を検知し、所与のコンテクスト情報を満足しないサービスの動作の意味を前記データ構造から削除するステップをさらに含むことを特徴とする請求項１から請求項３のいずれか一項に記載のコンフリクト管理方法。
【請求項５】
前記データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断するステップにおいて、
前記データ構造において、ユーザポリシーに対応する前記アプリケーションの有効な動作が、同一のコンテクスト情報に対して相反する意味として作用する場合に、コンフリクトが発生していると判断することを特徴とする請求項１から請求項４のいずれか一項に記載のコンフリクト管理方法。
【請求項６】
前記アプリケーションの動作の名前および種類にかかわらず、前記サービスの動作が影響を及ぼすコンテクスト情報の種類と、前記サービスの動作の影響の種類とに基づいて、前記データ構造に予め定義されていない動作間のコンフリクトを検知するステップをさらに含むことを特徴とする請求項１から請求項５のいずれか一項に記載のコンフリクト管理方法。
【請求項７】
コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決するコンフリクト管理システムであって、
アプリケーションからサービスの要請を受けるコンテクスト消費部と、
要請された前記サービスの意味を分析し、分析された前記意味をデータ構造に対して登録／削除する動作意味管理部と、
前記データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断し、コンフリクトが発生している場合に、コンフリクトが発生しているサービスの動作の意味を前記データ構造から削除することを前記動作意味管理部に要請し、コンフリクトに対する解決ポリシーを生成し、前記解決ポリシーに応じて新たなサービスを要請するサービス相互仲介部と、
を備えていることを特徴とするコンフリクト管理システム。
【請求項８】
前記データ構造は、前記アプリケーションのサービスの動作がコンテクスト情報に及ぼす影響の種類と、影響を受けた前記コンテクスト情報とを表現するオントロジー構造であることを特徴とする請求項７に記載のコンフリクト管理システム。
【請求項９】
前記サービス相互仲介部は、コンフリクトが発生していない場合に、要請された前記サービスを実行することを特徴とする請求項７または請求項８に記載のコンフリクト管理システム。
【請求項１０】
前記サービス相互仲介部は、前記データ構造において、ユーザポリシーに対応する前記アプリケーションの有効な動作が、同一のコンテクスト情報に対して相反する意味として作用する場合に、コンフリクトが発生していると判断することを特徴とする請求項７から請求項９のいずれか一項に記載のコンフリクト管理システム。
【請求項１１】
前記サービス相互仲介部は、前記アプリケーションの動作の名前および種類にかかわらず、前記サービスの動作が影響を及ぼすコンテクスト情報の種類と、前記サービスの動作の影響の種類とに基づいて、前記データ構造に予め定義されていない動作間のコンフリクトを検知することを特徴とする請求項７から請求項１０のいずれか一項に記載のコンフリクト管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション間のコンフリクトを管理するコンフリクト管理方法およびコンフリクト管理システムに関し、詳細には、グループコンテクスト情報管理のための抽象的なサービスの意味を用いることにより、コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決するコンフリクト管理方法およびコンフリクト管理システムに関する。
【背景技術】
【０００２】
コンテクストアウェアネス技術（context-awareness technology）は、ユビキタスコンピューティングにおいて重要な技術の一つであり、ユーザの位置、周辺環境、状態などに関する情報を収集することにより、ユーザが意図・所望するサービスをユーザに提供する技術である。かかるコンテクストアウェアネス技術を用いることにより、ユーザからの明確な要請がなくてもユーザが意図・所望するサービスを提供するアプリケーションをコンテクストアウェアなアプリケーション（context-aware application）という。
【０００３】
従来のコンテクストアウェアなアプリケーションに関する研究は、ユーザのコンテクスト情報を正確に認識することにより、一部のユーザの要請を効率的に満足させ、コンテクストアウェアなアプリケーションを活用することができるようにコンテクスト情報（cotext information）を処理・管理することに成功している。しかし、コンテクストアウェアなアプリケーションは、家庭のように複数のユーザが一緒に住んでいる環境下では他のユーザを考慮しないことがあるので、あるユーザのためのコンテクストアウェアなアプリケーションのサービスが他のユーザの関心事を侵害する状況を引き起こすおそれがある。かかる状況は、同一環境下であっても、コンテクスト情報が各ユーザを考慮して異なって解釈されてしまうために生じる。
【０００４】
前記した状況を回避するため、従来のコンテクストアウェアなアプリケーションは、開発の際に近隣の他のユーザのコンテクスト情報を考慮することにより開発されてきた。しかし、かかる開発のアプローチは、コンテクストアウェアなアプリケーションの開発の複雑さを著しく増大させてしまう。したがって、ユーザの移動性が高く、環境が頻繁に変化するといったユビキタスコンピューティングの特性のため、潜在的なコンフリクトを予想して解決することは実際には困難である。それ故、従来の個人向けのコンテクストアウェアなアプリケーションをユビキタス環境下でコンフリクトを発生させずに実行するためには、アプリケーションではなくミドルウェアにおいて、コンフリクトを動的に検知して解決する機能が要求される。
【０００５】
コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決する従来の手法として、Ｇａｉａシステム、ＣＡＲＩＳＭＡシステムが挙げられる。Ｇａｉａシステムは、コンテクストに依存するアプリケーション（context-dependent application）の動作をルールで定義し、ルール間に優先順位をつける。Ｇａｉａシステムは、同一状況において二つ以上のルールが同時に選択された場合に、優先順位の高いアプリケーションを実行することにより、コンテクストアウェアなアプリケーション間のコンフリクトを解決する。しかし、ルールの優先順位をコンテクストアウェアなアプリケーションの開発段階で予め定義しなければならず、ルールの優先順位に応じて一つのルールだけが選択・実行されるので、Ｇａｉａシステムは、常にすべてのユーザを満足させることはできない。
【０００６】
ＣＡＲＩＳＭＡシステムは、一つのコンテクストアウェアなアプリケーションで所与の状況を満足する複数のユーザポリシー（user policy）が同時に選択された場合（intra-profile）、および、チャット、ビデオ会議などのコラボレーションのために複数のユーザのコンテクストアウェアなアプリケーションによりサービスが共有され、かかるサービスが異なるポリシーにより利用される場合（inter-profile）に、コンフリクトが発生していると仮定する。さらに、検知されたコンフリクトに関して解決法を予め定義することなく、サービスの品質項目および品質項目に対するユーザの嗜好性に基づいて、すべてのユーザの要求を最大限に満たすことができるように、アプリケーションを動的に適用することが可能なアルゴリズムが開発されている。しかし、ＣＡＲＩＳＭＡシステムは、他のユーザのために別途開発されたコンテクストアウェアなアプリケーション間のコンフリクトを検出することはできない。
【０００７】
前記したように、従来のコンテクストアウェアなアプリケーションにおけるコンフリクト検知・解決手法は、複数のユーザポリシーが所与の状況に同時に反応する場合と、複数のアプリケーションが同一サービスを用いて相互作用し、所与のコンテクスト情報に関して異なるポリシーを使用する場合とだけをアプリケーションのコンフリクトと仮定している。しかし、アプリケーションのユーザポリシーが所与の状況に同時に反応する場合だけでなく、前のユーザポリシーにより変えられたコンテクスト情報が他のユーザのユーザポリシーにより修正または破棄された場合にもコンフリクトが発生する。従来の手法は、このようなコンフリクトを検知することはできない。
【０００８】
さらに、従来の手法は、ユーザポリシーの優先順位またはユーザポリシーのユーザ嗜好性（user preference）に基づいてコンフリクトの原因となるユーザポリシーのいずれかを選択することによりコンフリクトを解決しており、かかるユーザポリシーは、検知されたコンフリクトに対してアプリケーション開発時に予め規定されている。したがって、従来の手法は、すべてのユーザを満足させることはできない。また、予め規定されたコンフリクトのみが検知・解決可能であるので、予期せぬコンフリクトを検知して解決することは困難である。しかし、ユビキタス環境下では移動性が高い複数のユーザが存在するので、発生可能なすべてのコンフリクトを予め定義することはほとんど不可能であり、従来の手法は、現実的な解決策とは言いがたい。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、前記問題点を解決するために創案されたものであり、コンフリクトを動的に検知して解決することが可能なコンフリクト管理方法およびコンフリクト管理システムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するため、本発明のコンフリクト管理方法は、コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決するコンフリクト管理方法であって、アプリケーションからサービスの要請を受けるステップと、要請された前記サービスを分析してデータ構造に登録するステップと、前記データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断するステップと、コンフリクトが発生している場合に、前記データ構造からコンフリクトが発生している前記サービスの動作の意味を削除し、コンフリクトに対する解決ポリシーを生成し、前記解決ポリシーに応じて新たなサービスを要請するステップと、を含むことを特徴とする。
【００１１】
また、コンフリクト管理方法は、コンフリクトが発生していない場合に、要請された前記サービスを実行するステップをさらに含むことが望ましい。
【００１２】
前記データ構造は、前記アプリケーションのサービスの動作がコンテクスト情報に及ぼす影響の種類と、影響を受けた前記コンテクスト情報とを表現するオントロジー構造であることが望ましい。
【００１３】
また、コンフリクト管理方法は、前記コンテクスト情報の変化を検知し、所与のコンテクスト情報を満足しないサービスの動作の意味を前記データ構造から削除するステップをさらに含むことが望ましい。
【００１４】
また、コンフリクト管理方法は、前記データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断するステップにおいて、前記データ構造において、ユーザポリシーに対応する前記アプリケーションの有効な動作が、同一のコンテクスト情報に対して相反する意味として作用する場合に、コンフリクトが発生していると判断することが望ましい。
【００１５】
また、コンフリクト管理方法は、前記アプリケーションの動作の名前および種類にかかわらず、前記サービスの動作が影響を及ぼすコンテクスト情報の種類と、前記サービスの動作の影響の種類とに基づいて、前記データ構造に予め定義されていない動作間のコンフリクトを検知するステップをさらに含むことが望ましい。
【００１６】
一方、本発明のコンフリクト管理システムは、コンテクストアウェアなアプリケーション間のコンフリクトを検知して解決するコンフリクト管理システムであって、アプリケーションからサービスの要請を受けるコンテクスト消費部と、要請された前記サービスの意味を分析し、分析された前記意味をデータ構造に対して登録／削除する動作意味管理部と、前記データ構造に登録されたサービスの動作間にコンフリクトが発生しているか否かを判断し、コンフリクトが発生している場合に、コンフリクトが発生しているサービスの動作の意味を前記データ構造から削除することを前記動作意味管理部に要請し、コンフリクトに対する解決ポリシーを生成し、前記解決ポリシーに応じて新たなサービスを要請するサービス相互仲介部と、を備えていることを特徴とする。
【００１７】
前記データ構造は、前記アプリケーションのサービスの動作がコンテクスト情報に及ぼす影響の種類と、影響を受けた前記コンテクスト情報とを表現するオントロジー構造であることが望ましい。
【００１８】
前記サービス相互仲介部は、コンフリクトが発生していない場合に、要請された前記サービスを実行することが望ましい。
【００１９】
前記サービス相互仲介部は、前記データ構造において、ユーザポリシーに対応する前記アプリケーションの有効な動作が、同一のコンテクスト情報に対して相反する意味として作用する場合に、コンフリクトが発生していると判断することが望ましい。
【００２０】
前記サービス相互仲介部は、前記アプリケーションの動作の名前および種類にかかわらず、前記サービスの動作が影響を及ぼすコンテクスト情報の種類と、前記サービスの動作の影響の種類とに基づいて、前記データ構造に予め定義されていない動作間のコンフリクトを検知することが望ましい。
【発明の効果】
【００２１】
本発明によると、従来のコンテクストアウェアなアプリケーションにより支援されたコンフリクト、すなわち、複数のユーザポリシーが所与の状況に同時に反応する場合だけでなく、複数のユーザポリシーが同時に反応しないが、前のユーザポリシーが有効であるときに他のユーザポリシーが前のユーザポリシーにより変えられたコンテクスト情報を修正または破棄しようとする場合であってもコンフリクトを検知することができる。すなわち、コンテクストアウェアなアプリケーションのコンフリクト検知範囲が拡大する。したがって、アプリケーションの開発時に所与の状況においてコンフリクトを発生するユーザポリシーを特に記述しなくても、ユーザポリシーに応じたアプリケーションの動作により影響を受けたコンテクスト情報の種類と、影響の種類とを用いるだけで、コンフリクトを動的に検知することができる。さらに、開発時に他のアプリケーションのユーザポリシーとのコンフリクトを考慮せずにアプリケーションを開発することができる。結果として、アプリケーション開発者の負担が軽減し、アプリケーション開発の複雑さが低減する。
【発明を実施するための最良の形態】
【００２２】
以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。
【００２３】
本発明は、複数のユーザが同一空間にいる場合に、他のユーザを考慮せずに個々のユーザを支援するために開発されたコンテクストアウェアなアプリケーション間のグループコンテクスト情報（group context information）のコンフリクトを管理するためのものであり、アプリケーションに予め定義されていないコンフリクトを動的に検知する。
【００２４】
本発明の実施形態は、複数のユーザのためのユビキタス環境下において、独立したコンテクストアウェアなアプリケーションが、他のユーザを考慮せずに各ユーザに対して開発され、同一空間で一緒に実行されることを仮定している。複数のユーザが同一空間にいる場合には、アプリケーションの動作が他のユーザにも影響を及ぼすおそれがある。特に、アプリケーションは、特定のユーザ以外の他のユーザに対して独立的であるので、アプリケーションの動作は、他のユーザが意図・所望しない動作を偶然含んでしまうことにより、他のユーザに被害を与えるおそれがある。このような状況では、いつ、どこで、どのようにしてユーザが他のユーザと出会うかをアプリケーションの開発時に予測することは困難である。したがって、コンフリクト検知・解決モデルは、アプリケーション開発時にコンフリクトを予め定義することなく、動的にコンフリクトを検知して解決する必要がある。
【００２５】
開発者が他のユーザのアプリケーションを考慮する必要なくアプリケーションを開発することができるように、コンフリクト検知・解決モデルをアプリケーション開発環境から分離してミドルウェアに任せることにより、アプリケーション間のコンフリクトに関する透過性とアプリケーション開発の複雑さの低減を開発者に対して保証することが必要である。したがって、複数のユーザを支援する一つのアプリケーション、または、共同作業を行う複数のユーザのアプリケーション間だけでなく、独立した動作を実行する複数のユーザのアプリケーション間においてもコンフリクトを検知する必要がある。かかる要求が満たされた場合にのみ、既存のコンテクストアウェアなアプリケーションがユビキタス環境下において正常に動作することができる。
【００２６】
図１は、コンテクストアウェアなアプリケーション間のコンフリクトを管理するミドルウェアモジュールを示す模式図である。ホームサーバなどにインストールされたミドルウェアは、コンテクスト管理モジュール（context management module）１０を含んで構成されている。図１に示すように、コンテクスト管理モジュール１０は、コンフリクト管理モジュール（conflict management module）１２を含んで構成されている。コンフリクト管理モジュール１２は、コンフリクト表現モジュール（conflict representation module）１４と、コンフリクト検知モジュール（conflict detection module）１６と、コンフリクト解決モジュール（conflict resolution module）１８と、を含んで構成されている。
【００２７】
コンフリクト表現モジュール１４は、アプリケーションの動作（action）として使用されるサービスをコンテクスト情報（context information）に対する影響に応じて抽象化して表現するためのオントロジーを定義する。コンフリクト検知モジュール１６は、ユーザポリシー（user policy）に応じて実行されたアプリケーションの動作をオントロジーで抽象化された意味（semantic）として表現し、動作の有効期限を管理する。アプリケーションのユーザポリシーにより定義された動作の要請がある度に、コンフリクト検知モジュール１６は、要請された動作の意味をオントロジーにおいて修正する。異なる二つの動作が有効で、あるコンテクスト情報に対して相反する影響を有する場合には、コンフリクト検知モジュール１６は、かかる状況をコンフリクトとして検知する。コンフリクト解決モジュール１８は、検知されたコンフリクトに対する解決ポリシー（resolution policy）を生成する。
【００２８】
本発明の実施形態に係るアプリケーション間のコンフリクト管理方法は、所与の状況下で同時に選択されたコンテクストに依存したユーザポリシーが互いにコンフリクトを発生する場合のコンフリクト検知を目的とするだけでなく、状況の変化により選択されたユーザポリシーが、予め選択され前記した状況の変化の時点で有効な他のユーザポリシーを修正または破棄する場合のコンフリクト検知をも目的としている。かかる目的を達成するためには、所与の状況下で選択されてコンテクスト情報に影響を及ぼすユーザポリシーと、かかるユーザポリシーにより実行されるサービスとを動的に管理するモジュールが必要である。
【００２９】
さらに、サービス間のコンフリクトを記述することなくコンフリクトを動的に検知するためには、サービス動作の意味をコンテクスト情報（context information）またはサービスの状態情報（state information）に対する影響により抽象化して表現し、表現された情報を実行中に管理して記憶することができるデータ構造が必要である。
【００３０】
開発者が所与の状況下でユーザの意図・所望したサービス要請（service request）を記述するときには、ＪＡＸ／ＲＰＣ（Java Application program interface of eXtensible markup language/Remote Procedure Call）のＤＩＩ（Dynamic Invocation Interface）が利用される。ミドルウェアは、コンテクスト検知のために、サービス動作（service action）の意味管理を行う。このようにして、コンテクストのコンフリクトに対して透過的な開発環境が開発者に提供される。コンテクストのコンフリクトに対して透過的な開発環境を開発者に提供するためには、サービス動作の実行時に、ミドルウェアがサービス動作の名前および引数に応じてサービス動作の意味を分析し、後記する動作意味オントロジーを修正し、コンテクスト情報の変化を検知することにより所与のコンテクスト情報を満足しないサービス動作の意味を動作意味オントロジーにおいて無効化することが必要である。
【００３１】
図２は、本発明の実施形態に係るアプリケーション間のコンフリクト管理システムのブロック図である。図２に示すように、コンフリクト管理システムは、コンテクスト解釈部（context interpreter）１００と、コンテクスト消費部（context consumer）１１０と、サービス相互仲介部（service interaction broker）１２０と、動作意味管理部（action semantic manager）１３０と、動作意味判断部（action semantic determiner）１４０と、コンフリクト管理部（conflict manager）１５０と、コンフリクト検知部（conflict detector）１６０と、コンテクスト管理部（context manager）１７０と、を備えている。サービス相互仲介部１２０は、コンフリクト処理部（conflict handler）１２２を備えている。動作意味管理部１３０は、動作意味無効化部（action semantic invalidator）１３２と、動作意味登録部（action semantic register）１３４と、を備えている。動作意味判断部１４０は、動作意味オントロジー（action semantic ontology）１４２を備えている。
【００３２】
コンテクスト解釈部１００は、アプリケーションのコンテクスト情報に変化がある場合に、所与の状況がユーザの意図・所望する状況と一致するか否かを検査する。コンテクスト解釈部１００は、所与の状況とユーザの意図・所望する状況とが一致する場合に、イベントを伝送することによりかかる状況の一致をコンテクスト消費部１１０に通知する。コンテクスト消費部１１０は、アプリケーションプログラムのテンプレートであり、サービスを表現するためのメッセージオブジェクトを有している。コンテクスト消費部１１０は、所与の状況がユーザの意図・所望する状況と一致する場合にコンテクスト解釈部１００からイベントを受信すると、ＪＡＸ／ＲＰＣなどのアプリケーション・プログラミング・インターフェース（ＡＰＩ；Application Programming Interface）を介してミドルウェアにサービスを要請する、または、予め要請されたサービスの無効化を要請する。
【００３３】
サービス相互仲介部１２０内のコンフリクト処理部１２２は、コンテクスト消費部１１０から伝送されたアプリケーションからのサービス要請をインターセプトして、サービス実行前にコンフリクトが発生しているか否かを検査する。アプリケーションからのサービス要請は、通信チャネルとして機能するコンフリクト処理部１２２に、例えばシンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ；Simple Object Access Protocol）の形態で伝送される。コンフリクト処理部１２２は、動作意味管理部１３０を利用することによりサービス意味を分析し、動作意味オントロジー１４２の更新を要請する。
【００３４】
動作意味管理部１３０の動作意味登録部１３４は、サービス要請をアプリケーションから受信した場合に、サービス意味を分析し、分析した意味を動作意味オントロジー１４２に登録する。動作意味無効化部１３２は、コンテクスト情報の変化を検知し、所与のコンテクスト情報を満足しないサービス動作を動作意味オントロジー１４２から削除する。コンフリクト処理部１２２は、動作意味管理部１３０によりサービスの意味が動作意味オントロジー１４２に追加された場合に、要請されたサービスがコンフリクトを発生しているか否かを推測することをコンフリクト管理部１５０に要請する。コンフリクト管理部１５０は、要請されたサービスがコンフリクトを発生しているか否かを判断することをコンフリクト検知部１６０に要請する。コンフリクト検知部１６０は、動作意味判断部１４０を介して動作意味オントロジー１４２に登録されたサービス意味において、同一のコンテクスト情報またはサービス状態情報に対して相反するサービス動作を探索する。探索の結果、コンフリクトが検知された場合には、コンフリクト検知部１６０は、コンフリクト管理部１５０にコンフリクトの存在を通知する。コンフリクト管理部１５０は、動作意味オントロジー１４２からコンフリクトを発生しているサービス意味を削除することを動作意味管理部１３０に要請し、新たなサービス要請メッセージを生成し、生成したサービス要請メッセージを用いて、帰納的に実行されるコンフリクト検知処理を制御する。一方、コンフリクトが検出されない場合には、サービスを実行するために、サービス要請メッセージがサービス相互仲介部１２０に伝送される。
【００３５】
図３は、本発明の実施形態に係る動作意味オントロジーの例を示す模式図である。オントロジーは、語彙や概念の定義または特定であり、システムのコンテンツの要素（概念）を表現する。本発明の実施形態では、オントロジーは、コンテクスト情報に対する動作の影響を示すことにより、アプリケーションの動作により定義されるサービスを抽象化して表現する。特に本発明の実施形態では、図４に示すように、サービス動作の影響を表現するためにオントロジーを定義しており、コンテクスト情報に対する各サービス動作の影響およびサービス状態情報によりサービス動作を抽象化する。
【００３６】
さらに、図４に示すように、ユーザポリシーに応じて実行されたアプリケーションの動作は、動作意味管理機能を用いて、オントロジーにおいて抽象化された意味として表現され、動作の有効期間が管理される。このように、ユーザポリシーにより定義された動作がアプリケーションによって要請される度に、要請された動作の意味が行動意味オントロジー１４２で修正される。二つの相反する動作があるコンテクスト情報に対して有効である場合には、かかる状況がコンフリクトとして検知される。
【００３７】
図３および図４に示すように、動作意味管理機能サービス開発時に、記述されたサービスメソッドに対する抽象化情報を用いることにより、所与のコンテクスト情報に応答してサービスメソッドの実行を要請する場合には、抽象化情報がオントロジーに記録される。サービス動作の影響は、対応する値の増加または減少として表される。本発明の実施形態において、サービスは、状態情報を用いることにより、状態情報の値を変化させる動作として定義される。かかるサービスの定義は、ＵＰＮＰ（Universal Plug aNd Play）のサービスモデルに準拠する。サービス動作は、サービスにより管理されている状態情報を変化させる。この場合には、サービス意味は、常に一つに設定されていても良く、引数または引数と状態情報との関係の特性とは関係なく設定されていても良い。すなわち、サービス意味は適宜変更可能である。
【００３８】
例えば、照明サービス（LightService）の点灯（turnON）動作は、負荷レベル状態（LoadLevelState）の変数を常に増加させるように作用するが、オーディオサービス（AudioService）の音量変更（addVolume）動作は、引数が正の場合には音量（Volume）の変数を増加させ、引数が負の場合には音量を減少させるように作用する。したがって、サービス動作は、常に一つだけの意味を有する動作（Action）型と、引数に応じた複数の意味を有する条件付き動作（ConditionalAction）型と、に分類される。
【００３９】
条件付き動作型の場合には、意味は、引数の特性に基づいて、呼び出しごとに異なって解釈される。このことに関連するルールは、サービス開発者またはアプリケーション開発者により、図４に示すルール文（rule expression）として定義される。サービス動作は、サービスにより管理される状態情報だけでなくサービスが実行される環境に対応するコンテクスト情報の値も変化させる。例えば、アプリケーションが照明サービスに対して点灯動作を要請する場合には、照明サービスの状態情報である負荷レベル状態と同様に、部屋の明るさを変化させる。したがって、動作（Action）は、状態（State）に対してもコンテクスト（Context）と同様な関係を有している。このようなサービス動作の意味は、同一のサービスに関する状態情報を相反するように変化させる二つの動作間のコンフリクトの検知だけでなく、異なるサービスにおいて状態情報に影響を及ぼす相反する動作間のコンフリクトの検知も可能とする。
【００４０】
図５は、本発明の実施形態に係るアプリケーション間のコンフリクト管理方法を説明するためのフローチャートである。図５に示すように、アプリケーションからサービス要請を受けると（ステップＳ２００）、サービス意味を分析し、分析されたサービス意味を動作意味オントロジーに登録する（ステップＳ２０５）。続いて、動作意味オントロジーにおいて、同一のコンテクスト情報またはサービスの状態情報に対するコンフリクトが発生しているか否かを検知する（ステップＳ２１０）。ステップＳ２１０において、コンフリクトが発生しているサービス動作がある場合、すなわち、コンフリクトが検知された場合には（Ｙｅｓ）、コンフリクトを発生しているサービス動作の動作意味を動作意味オントロジーから削除する（ステップＳ２１５）。続いて、コンフリクトを発生しているサービス動作に対するコンフリクト解決ポリシーを生成する（ステップＳ２２０）。続いて、コンフリクト解決ポリシーに応じて新たなサービスを要請する（ステップＳ２２５）。一方、ステップＳ２１０において、コンフリクトを発生しているサービス動作がない場合、すなわち、コンフリクトが検知されなかった場合には（Ｎｏ）、要請されたサービスを実行する（ステップＳ２３０）。前記した一連の処理は、コンフリクトを発生しているサービス動作がなくなるまで、すなわち、コンフリクトが検知されなくなるまで繰り返し行われる。
【００４１】
図６は、照明サービス動作の意味を示す模式図である。前記したように、アプリケーションの動作として用いられるサービスの開発時に、サービスメソッドに影響されるコンテクスト情報の種類とコンテクスト情報に対する影響の種類（増加または減少）が記述される。
【００４２】
例えば、図６に示すように、調光サービス（Dimming service）の点灯（StartLampToLevel）メソッドが実行される場合には、コンテクスト情報の明るさ（Brightness）を増加させる。また、消灯（StopLamp）メソッドが実行される場合には、コンテクスト情報の明るさを減少させる。このように、ユーザが就寝する場合に、消灯を管理するアプリケーションは、ユーザの状態情報に応じて調光メソッドまたは消灯メソッドの実行を要請する。かかる要請は、動作意味管理モジュールに伝送され、オントロジーにおいて消灯ノードと明るさノードとの間に減少接続（decrease connection）を生成する。かかる接続は、ユーザの状態情報が変化するまで有効とみなされて管理される。
【００４３】
他のユーザが部屋に入室した場合には、点灯を管理するアプリケーションは、他のユーザの位置情報に基づいて他のユーザの入室を検知し、調光サービスに点灯メソッドの実行を要請する。かかる要請は、前記したのと同様に、オントロジーにおいて点灯ノードから明るさノードへの増加接続（increase connection）を生成する。したがって、あるユーザが就寝している部屋に他のユーザが入室する場合には、減少接続が有効である一方で増加接続が生成される。このように、相反する意味接続が同一の状態情報に対して同時に有効となる場合には、検知メソッドの実行中に、オントロジーに基づくインターフェースを介して、状態情報に対して相反する意味の接続パターンが発見され、このようにしてコンフリクトが検知される。すなわち、調光サービスの二つの動作（消灯および点灯）は、相反する方法で負荷レベル状態（LoadLevelStatus）サービスに影響する。
【００４４】
図７は、本発明の実施形態に係るサービス動作の意味を示す模式図であり、ＰＩＰ（Picture-In-Picture）ディスプレイでのサービス動作の意味を示す模式図である。図７に示すように、メイン画面サイズ（MainDisplaySize）に対して、メイン画面表示（MainDisplayShow）の減少とサブ画面表示（SubDisplayShow）の増加とにコンフリクトが発生している。さらに、サブ画面サイズ（SubDisplaySize）に対して、メイン画面表示の減少とサブ画面表示の増加とにコンフリクトが発生している。これら以外にも、メイン画面オフ（MainDisplayOff）動作とサブ画面オフ（SubDisplayOff）とがある。サブ画面オフが要求された場合には、メイン画面サイズを増加させてサブ画面サイズを減少させる。メイン画面オフが要求された場合には、メイン画面サイズを減少させてサブ画面サイズを増加させる。
【００４５】
本発明の実施形態におけるオントロジーを用いた推測では、コンテクスト情報において表現された接続の意味のみが用いられる。したがって、サービス開発時にサービスごとにコンフリクトを発生しうる他のサービスを詳細に記述することなく、コンフリクトを動的に検知して解決することができる。
【００４６】
すなわち、本発明の実施形態に係るコンフリクト管理方法およびコンフリクト管理システムは、アプリケーションの動作がコンテクスト情報に及ぼす影響と、影響を受けるコンテクスト情報の種類と、動作の有効期間とを管理し、あるユーザのためのアプリケーションの動作が他のユーザに被害を与えるか否かを判断し、コンフリクトを動的に検知して解決することができる。
【００４７】
以上、本発明の実施形態について図面を参照して詳細に説明したが、本発明は、前記実施形態に限定されず、適宜設計変更可能である。本発明の権利範囲は、特許請求の範囲の記載に基づいて定義され、特許請求の範囲に記載された発明およびその均等物に及ぶ。
【図面の簡単な説明】
【００４８】
【図１】コンテクストアウェアなアプリケーション間のコンフリクトを管理するミドルウェアモジュールを示す模式図である。
【図２】本発明の実施形態に係るアプリケーション間のコンフリクト管理システムのブロック図である。
【図３】本発明の実施形態に係る動作意味オントロジーの例を示す模式図である。
【図４】動作意味管理機能を用いたプログラムの一例である。
【図５】本発明の実施形態に係るアプリケーション間のコンフリクト管理方法を説明するためのフローチャートである。
【図６】照明サービス動作の意味を示す模式図である。
【図７】本発明の実施形態に係るサービス動作の意味を示す模式図であり、ＰＩＰディスプレイでのサービス動作の意味を示す模式図である。
【符号の説明】
【００４９】
１００  コンテクスト解釈部
１１０  コンテクスト消費部
１２０  サービス相互仲介部
１３０  動作意味管理部
１４０  動作意味判断部
１５０  コンフリクト管理部
１６０  コンフリクト検知部
１７０  コンテクスト管理部
【図１】
2006228219.tif 000003
【図２】
2006228219.tif 000004
【図３】
2006228219.tif 000005
【図４】
2006228219.tif 000006
【図５】
2006228219.tif 000007
【図６】
2006228219.tif 000008
【図７】
2006228219.tif 000009