(57)【特許請求の範囲】
【請求項１】
あるネットワークインフラストラクチャにおいて、選択されたノードへ配布するべきクエリの配布範囲を決定する方法であって、
ヒューリスティックスに基づいて肯定的なクエリ結果が期待されるノードへのみクエリを転送するために、前記ヒューリスティックスに基づいて前記クエリを配布するべきノードを選択するステップであって、前記ヒューリスティックスは、前記ネットワークのエンティティ間の関係として前記ヒューリスティックスを表現するコンピュータにより実現されたデータモデルを通して実現されるものであり、前記エンティティは前記ネットワーク内の要素または前記ネットワーク内のユーザであり、各々の関係は、ソースエンティティと１つ以上の宛先エンティティとを含むとともに、前記ソースエンティティに関連付けられた前記宛先エンティティの関連性に基づいたランク付けを提供するために、注釈されたウェイト属性またはコスト属性を有するものである、ステップと、
より高い関連性を表すウェイト属性のノードが、より低い関連性を表すウェイト属性のノードよりも優先されるようにするために、前記関係のウェイト属性に基づいて前記クエリがディスパッチされるべきノードを選択するステップと
を含む方法。
【請求項２】
（ａ）開始エンティティから開始して、前記関係により前記開始エンティティに関連付けられた前記宛先エンティティに基づいて前記クエリをディスパッチすることができる候補エンティティを決定するとともに、該候補エンティティに付随するコストまたはウェイトを決定するステップと、
（ｂ）前記コストまたは前記ウェイトに基づいて、クエリを転送すべき候補エンティティを選択するステップと、
（ｃ）前記候補エンティティを新たな開始エンティティとして使用し、前記候補エンティティを更なるエンティティに関連付ける関係に基づいて新たな候補エンティティを決定するステップと、
終了条件を満たすまで前記ステップ（ｂ）および前記ステップ（ｃ）を反復するステップと
を含む請求項１に記載の方法。
【請求項３】
ある関係のソースエンティティからその宛先まで関係をトラバースすることにより与えられるデータパスを、前記ソースエンティティから開始して追随することにより、前記ソースエンティティに基づくサーチグラフを生成するステップと、
前記データパスを追随するときに到達した各々の宛先について累積ウェイトまたは累積コストを決定するステップと、
ウェイトまたはコストに基づく前記ノードのランク付けに基づいて、前記ノードの累積ウェイトまたは累積コストに基づき前記クエリをディスパッチすべきノードを選択するステップと
をさらに含む請求項１または２に記載の方法。
【請求項４】
前記クエリについてウェイトまたはコストのバジェットが定められており、
最大のコストリミットに達したときに、前記ノードのサーチまたは前記クエリの配布を終了するステップ
を含む請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記ネットワーク内のエンティティは、割り当てられた１つ以上の関係を有することができるものであり、
各々の関係は、ソースエンティティおよび１つ以上の宛先エンティティとして前記エンティティを含むことができるものであり、
各々の関係は、ソースエンティティについての宛先エンティティの関連性に関する様々な情報を含む様々なヒューリスティックスを表すものである、
請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記関係は、
オブジェクトがユーザへ関連付けられるオブジェクトアソシエーションと、
オブジェクトが最後に発見されたセルの履歴をシステムが保持するオブジェクト位置履歴関係と、
ユーザにより関連性のあるセルに関する情報をシステムが記憶するセルプロファイル関係と、
ユーザが最近訪問した全てのセルをシステムが記憶するユーザ履歴関係と、
セルに基づく位置モデルが近傍のセルの情報を提供できる近傍関係と、
ユーザが他のユーザに関連付けられるユーザアソシエーションと、
広域ネットワークインフラストラクチャがオブジェクトに関するイベントの履歴を記憶し、イベントを発行したゲートウェイにオブジェクトを関係づけるオブジェクトゲートウェイ履歴関係と、
広域ネットワークインフラストラクチャが、ゲートウェイをそれらの現在のセルへ関係づけるデータベースを提供するゲートウェイレジストリ関係と、
ユーザが或るゲートウェイと関連付けられるゲートウェイアソシエーション関係と
のうちの１つ以上のタイプの関係を含むものである、
請求項５に記載の方法。
【請求項７】
前記ネットワークは、電子的にタグ付けされたオブジェクトからの信号を感知する複数のセンサを接続するネットワークであり、
前記センサは、ゲートウェイを介して前記ネットワークへ接続されるものであり、
前記ゲートウェイ自体は前記ネットワークインフラストラクチャを介して相互に接続されるものであり、
選択され、前記クエリが転送されるべきノードがゲートウェイであり、
前記ゲートウェイは、クエリ結果を得るために前記クエリの受信に応じて前記センサにクエリするものである、
請求項１〜６のいずれか一項に記載の方法。
【請求項８】
前記コストは、
前記関係に割り当てられたコスト属性と、
前記関係に割り当てられ、前記関係における宛先へ前記クエリを転送するときに肯定的なクエリ結果を発見する尤度を示す確率と、
ネットワーク要素にクエリするための通貨単位の実際のコストと
のうちの１つ以上により表現されるものである、
請求項１〜７のいずれか一項に記載の方法。
【請求項９】
ある関係に割り当てられたコストまたはウェイトは、他の関係に対する該関係の優先度を示すものであり、
ある関係に含まれる宛先にはランク付けパラメータが割り当てられ、その結果、宛先のコストまたはウェイトは、該関係に割り当てられたコストまたはウェイトと、宛先へ割り当てられたランク付けパラメータとに基づくものとなる、
請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記ヒューリスティックスを実現する前記関係は、前記ネットワーク内のエンティティへ配布する方式で少なくとも部分的に記憶されるものであるか、および／または、
クエリが配布されるべきノードを選択するアルゴリズムは、配布する方式で記憶された関係を使用することにより配布する方式で実行されるものである、
請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
配布されたクエリスコーピングは、ホップごとに減少したバジェットを割り当てることにより実現されるものであるか、または、
中央のノードはバジェットを処理し、配布されたノードはアドホック方式で配布させるためのバジェットを保持するものである、
請求項１０に記載の方法。
【請求項１２】
あるネットワークインフラストラクチャにおいて、選択されたノードへ配布するべきクエリの配布範囲を決定する装置であって、
ヒューリスティックスに基づいて肯定的なクエリ結果が期待されるノードへのみクエリを転送するために、前記ヒューリスティックスに基づいて前記クエリを配布するべきノードを選択する手段と、
前記ネットワークのエンティティ間の関係として前記ヒューリスティックスを表現するコンピュータにより実現されたデータモデルを通して前記ヒューリスティックスを実現する手段であって、前記エンティティは前記ネットワーク内の要素または前記ネットワーク内のユーザであり、各々の関係は、ソースエンティティと１つ以上の宛先エンティティとを含むとともに、前記ソースエンティティに関連付けられた前記宛先エンティティの関連性に基づいたランク付けを提供するために、注釈されたウェイト属性またはコスト属性を有するものである、手段と、
より高い関連性を表すウェイト属性のノードが、より低い関連性を表すウェイト属性のノードよりも優先されるようにするために、前記関係のウェイト属性に基づいて前記クエリがディスパッチされるべきノードを選択する手段と
を備える装置。
【請求項１３】
コンピュータ上で請求項１〜１１のいずれか一項に記載の方法を実行するコンピュータ実行可能なコードを含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多数のセンサが直接的にまたは中間ノードを介して相互に接続されている広域ネットワークインフラストラクチャにおいてクエリを配布する方法に関する。
【背景技術】
【０００２】
センサネットワークは、広域ネットワークを介して多数のセンサを接続することができる。このような広域インフラストラクチャは、広範囲のエンドユーザサービスを実現するプラットフォームとして使用することができる。例えば、個人のモバイルデバイスが、電子的にタグ付けされたオブジェクトを感知および識別できるオブジェクトセンサを備えているかまたは該オブジェクトセンサへアクセスできると仮定すると、ユーザのパーソナルオブジェクトを追跡し、これらオブジェクトがいつどこでユーザのパーソナルスペースを離脱したかを記憶するタスクを該モバイルデバイスに課すことができる。センサネットワークと広域ネットワークインフラストラクチャとを仲介するこのようなモバイルデバイスは、ユビキタスゲートウェイ（ＧＷ）と呼ばれる。得られたこれらのデータは、後にユーザの個人的な所有物がどこにあるかを見つける助けとなる。他の例ではユーザは、個人的なアイテムへの注意を、オブジェクトセンサを備えた他の日常的なデバイスへローカルに委任することができる。例えば、レストランの中にあるハンガーは、ユーザのコートを保護することができ、列車の乗客は荷物を電子荷物保管室（ｓｍａｒｔ  ｂａｇｇａｇｅ  ｓｈｅｌｖｅｓ）へ預けることができる。この電子荷物保管室は、旅行者が個人の所有物を置き忘れないことを確保する。大学または研究所では、オブジェクトセンサが（例えば、電子機器を使用して）研究所の入口に設置され、どのようなハードウェアがだれと一緒に入口を通過したかを追跡するために使用できる（このようにして、研究所のハードウェアの非常に直感的で簡単なチェックインおよびチェックアウトが可能になる）。
【０００３】
大規模分散（配布）システム、特に多数のセンサが相互に接続され、広域ネットワークインフラストラクチャを介して疎結合（ｌｏｏｓｅｌｙ  ｃｏｕｐｌｅｄ）されているシステムでは、全ての利用可能なセンサの中の部分集合へのみクエリを配信（ｄｉｓｓｅｍｉｎａｔｅ）し、効率的でスケーラブルなサーチを実行することが要求される。
【０００４】
出版購読型（Ｐｕｂｌｉｓｈ／ｓｕｂｓｃｒｉｂｅ）パラダイムは、一方ではオブジェクトおよびそれらの位置についてのクエリを発行する多数のクライアントと、他方では多くの異種のオブジェクトセンサとの間の対話の良好な機会を提供する。更に、このパラダイムはバックエンドサービスへ統合でき、例えばユーザのオブジェクトの履歴を記憶することができる。
【０００５】
出版購読型パラダイムは、疎結合アプリケーションとソフトウェアコンポーネントとが対話する分散（配布）システムで有用である。送信元によって発行されたメッセージは、メッセージとマッチする購読を有する購読者へイベントとして送信される。今日、広域ネットワークインフラストラクチャ、例えば、モバイルネットワークおよびインターネットによって相互に接続されたセンサネットワークが現れている。このセンサインターネットパラダイムにおいて、生成されるイベントおよび購読者の数は非常に多い。これは、ネットワークへ接続されている全てのセンサへクエリを配布することが容易ではないことを意味する。したがって、本発明の目的は、広域ネットワークによって接続された多数のセンサを効率的な方法で取り扱うことのできるメカニズムを提供することである。
【０００６】
イベントまたは購読のうちのいずれかまたは両方を実際のコンテンツに基づいてルーティングしようとするコンテンツベースの出版購読型システムがある。これらのシステムは、どのような種類のイベントがネットワークのそれぞれの部分で生成できるかを表現する集合述語（ａｇｇｒｅｇａｔｅ  ｐｒｅｄｉｃａｔｅ）に購読がマッチする場合のみ、購読をネットワークの所与の部分へ転送することに基づいている。同様にイベントの転送は、どのような種類の購読がネットワークのそれぞれの部分に存在するかを表現する集合述語に基づいて制限することができる。このようなシステムは、例えば、非特許文献１に記載されている。
【０００７】
しかし、クエンチングと呼ばれ、集合述語に基づくこのような購読またはイベントフィルタリングは、呈示された「記憶および発見する」アプリケーションの中に存在する非常に単純なイベントおよび購読との間、すなわち、一方で「オブジェクト発見」というイベントと、他方で所与のオブジェクトの購読との重要な区別を実行することができない。本質的には、全てのオブジェクトセンサがオブジェクト発見イベントを生成し、全てのクライアントがオブジェクトを購読することができる。したがって、イベントまたは予約の異なったタイプを区別することができない場合、購読のタイプに基づいて購読の転送を制限すること、またはイベントのタイプに基づいてイベントの転送を制限することは、容易な解決法ではない。
【０００８】
【非特許文献１】Ｂ．Ｓｅｇａｌｌ  ａｎｄ  Ｄ．Ａｒｎｏｌｄ．  Ｅｌｖｉｎ  ｈａｓ  ｌｅｆｔ  ｔｈｅ  ｂｕｉｌｄｉｎｇ：  Ａ  ｐｕｂｌｉｓｈ／ｓｕｂｓｃｒｉｂｅ  ｎｏｔｉｆｉｃａｔｉｏｎ  ｓｅｒｖｉｃｅ  ｗｉｔｈ  ｑｕｅｎｃｈｉｎｇ．  Ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９９７  Ａｕｓｔｒａｌｉａｎ  ＵＮＩＸ（登録商標）  Ｕｓｅｒｓ  Ｇｒｏｕｐ，  Ｂｒｉｓｂａｎｅ，  Ａｕｓｔｒａｌｉａ，  Ｓｅｐｔ．  １９９７
【発明の開示】
【０００９】
一実施形態によれば、ネットワークインフラストラクチャにおいて、選択されたノードへ配布するべきクエリの配布範囲を決定する方法であって、ヒューリスティックスに基づいて肯定的なクエリ結果が期待されるノードへのみクエリを転送するために、前記ヒューリスティックスに基づいて前記クエリを配布するべきノードを選択するステップであって、前記ヒューリスティックスは、前記ネットワークのエンティティ間の関係として前記ヒューリスティックスを表現するコンピュータにより実現されたデータモデルを通して実現されるものであり、前記エンティティは前記ネットワーク内の要素または前記ネットワーク内のユーザであり、各々の関係は、ソースエンティティと１つ以上の宛先エンティティとを含むとともに、前記ソースエンティティに関連付けられた前記宛先エンティティの関連性に基づいたランク付けを提供するために、注釈されたウェイト属性またはコスト属性を有するものである、ステップと、より高い関連性を表すウェイト属性のノードが、より低い関連性を表すウェイト属性のノードよりも優先されるようにするために、前記関係のウェイト属性に基づいて前記クエリがディスパッチされるべきノードを選択するステップとを含む方法が提供される。
【００１０】
各々の関係に対してウェイトまたはコストが割り当てられ、ヒューリスティックスがネットワークのエンティティ間の関係として実現されることは、遺失オブジェクトについて知られている全ての事実または情報（例えば、ユーザが最後に遺失オブジェクトを見たのはどこか、ユーザは遺失オブジェクトを誰に手渡したかなど）をユーザが反復する方法に類似したやり方でこのようなヒューリスティックスを使用するとともに、失ったオブジェクトの発見への手がかりとして前記事実または情報を使用することによりノードを選択することを可能にする。したがって、ある関係は、オブジェクトの所在、すなわちオブジェクトが現在の位置へ達するまでそのオブジェクトが取った「パス」を構成する関係を介して表現される所在に関する情報の表現と考えることができる。その他の場合、「パス」は、オブジェクトが取った実際の物理的なパスではなく、幾つかのチェーン要素を介してオブジェクトの最初の位置と現在の位置とを論理的に接続する「アソシエーションチェーン」のような論理的なパスである。最初のエンティティから開始して、関係がトラバースされ、関係をトラバースするコストまたはウェイトが評価され、それにより事実の組み合わせとこれらの事実に関連付けられたウェイト（またはコスト）が「プローブ」され、所与のヒューリスティックスが使用された場合には到達するセンサノードのコストまたはウェイトが得られる。注意すべきは、関係をトラバースすることによって生成されたデータパスは、クエリがディスパッチされたときに該クエリが実際に移動するネットワークパスに必ずしも一致しないということである。むしろ、データパスは、次にクエリがディスパッチされるノードを明示することができる。
【００１１】
本発明の実施形態は、携帯電話機がユーザの（小型の電子タグが備えられている）オブジェクトを追跡し、これらオブジェクトに関連する有用なコンテキスト情報を配布し、オブジェクトを遺失または置き忘れたときにそのオブジェクトを見つけることができるアプリケーションシナリオを対象とする。実施形態に基づくアルゴリズムは、アプリケーションドメインのデータモデルとともにパラメータ化され、成功確率によってオブジェクトセンサをランク付けして、所与のタグ付きオブジェクトについてクエリを実行するタスクをオブジェクトセンサに課すことができる。基礎となるデータモデルは、エンティティのアソシエーション（例えば、オブジェクト間のアソシエーション、人間と社会の関係）と履歴データ（例えば、位置の履歴、ユーザ履歴）とに基づいてヒューリスティックスを表現するために用いられる。一実施形態においては、（所与のオブジェクトセンサにクエリする）成功確率だけではなく、クエリの配布および実行についての実際のコストも考慮される。これは、成功応答の前にクエリ配布によって生成される、期待されるコストを最小化するサーチをもたらす。
【００１２】
一実施形態によれば、前記方法は、（ａ）開始エンティティから開始して、前記関係により前記開始エンティティに関連付けられた前記宛先エンティティに基づいて前記クエリをディスパッチすることができる候補エンティティを決定するとともに、該候補エンティティに付随するコストまたはウェイトを決定するステップと、（ｂ）前記コストまたは前記ウェイトに基づいて、クエリを転送すべき候補エンティティを選択するステップと、（ｃ）前記候補エンティティを新たな開始エンティティとして使用し、前記候補エンティティを更なるエンティティに関連付ける関係に基づいて新たな候補エンティティを決定するステップと、終了条件を満たすまで前記ステップ（ｂ）および前記ステップ（ｃ）を反復するステップと含む。
【００１３】
新たな候補エレメントを発見するため（ソースから宛先まで）関係を反復してトラバースすることにより、ノードがデータモデルのエンティティを表すグラフが確立される。このグラフは、関連したコスト値およびウェイト値を有する候補エレメントをノードとして含んでいる。このようにして、終了条件を満たすまで候補ノードのリストを取得することができる。終了条件は、例えば、所与のコストのバジェットが全て使用されたこと、肯定的なクエリ応答が得られたこと、またはタイムアウトになったこととすることができる。
【００１４】
一実施形態によれば、前記方法は、ある関係のソースエンティティからその宛先まで関係をトラバースすることにより与えられるデータパスを、前記ソースエンティティから開始して追随することにより、前記ソースエンティティに基づくサーチグラフを生成するステップと、前記データパスを追随するときに到達した各々の宛先について累積ウェイトまたは累積コストを決定するステップと、ウェイトまたはコストに基づく前記ノードのランク付けに基づいて、前記ノードの累積ウェイトまたは累積コストに基づき前記クエリをディスパッチすべきノードを選択するステップとをさらに含む。
【００１５】
コストまたはウェイトの累積は、グラフの生成と、コストまたはウェイトの対応する変化とを追跡する。このようにして、取得されたノードがランク付けされ、クエリをディスパッチするために最も期待できるノードを選択することができる。
【００１６】
一実施形態によれば、前記クエリについてウェイトまたはコストのバジェットが定められており、前記方法は、最大のコストリミットに達したときに、前記ノードのサーチまたは前記クエリの配布を終了するステップを含む。
【００１７】
コストリミットは、クエリをディスパッチすべく選択されるノードの数を制限することができる。代替的には、肯定的なクエリ応答が得られたときに処理を中止することができる。
【００１８】
一実施形態によれば、前記ネットワーク内のエンティティは、割り当てられた１つ以上の関係を有することができるものであり、各々の関係は、ソースエンティティおよび１つ以上の宛先エンティティとして前記エンティティを含むことができるものであり、各々の関係は、ソースエンティティについての宛先エンティティの関連性に関する様々な情報を含む様々なヒューリスティックスを表すものである。
【００１９】
（ある関係におけるソースエンティティである）同じネットワークエンティティについての複数の関係は、様々なヒューリスティックスを表現することができる。この様々なヒューリスティックスは、宛先エンティティの関連性と、これら宛先エンティティのソースエンティティとの関係とに関する情報の様々なタイプを表すものである。
【００２０】
システムに含まれている同じエンティティ間の複数の関係は、様々なヒューリスティックスを表すことができる。様々なヒューリスティックスは、宛先エンティティの関連性と、これら宛先エンティティのソースエンティティとの関係とに関する情報の様々なタイプを表す。例えば、ユーザとセルとの間の関係は、セルプロファイル（ユーザは、どのセルで時間の大部分を費やすか）およびユーザ履歴（ユーザが最近どのセルを訪問したか）である。
【００２１】
関係自体は、ソースエンティティ（例えば、セル、ノード、ユーザ）を、１つ以上の宛先エンティティ（同様に、セル、ユーザ、ノード）と関連付ける一対多数      の関係を含むことができる。ここで、「宛先」という用語は、メッセージがこの宛先に到着することを必ずしも意味しておらず、サーチグラフを生成するために関係を追随またはトラバースする場合に、該関係のソースエンティティから該関係の１つ以上の宛先エンティティへの方向で行われることを意味する。
【００２２】
一実施形態によれば、前記関係は、オブジェクトがユーザへ関連付けられるオブジェクトアソシエーションと、オブジェクトが最後に発見されたセルの履歴をシステムが保持するオブジェクト位置履歴関係と、ユーザにより関連性のあるセルに関する情報をシステムが記憶するセルプロファイル関係と、ユーザが最近訪問した全てのセルをシステムが記憶するユーザ履歴関係と、セルに基づく位置モデルが近傍のセルの情報を提供できる近傍関係と、ユーザが他のユーザに関連付けられるユーザアソシエーションと、広域ネットワークインフラストラクチャがオブジェクトに関するイベントの履歴を記憶し、イベントを発行したゲートウェイにオブジェクトを関係づけるオブジェクトゲートウェイ履歴関係と、広域ネットワークインフラストラクチャが、ゲートウェイをそれらの現在のセルへ関係づけるデータベースを提供するゲートウェイレジストリ関係と、ユーザが或るゲートウェイと関連付けられるゲートウェイアソシエーション関係とのうちの１つ以上のタイプの関係を含むものである。
【００２３】
複数の関係は、複数の様々なヒューリスティックスを実現することができる。
【００２４】
一実施形態によれば、前記ネットワークは、電子的にタグ付けされたオブジェクトからの信号を感知する複数のセンサを接続するネットワークであり、前記センサは、ゲートウェイを介して前記ネットワークへ接続されるものであり、前記ゲートウェイ自体は前記ネットワークインフラストラクチャを介して相互に接続されるものであり、選択され、前記クエリが転送されるべきノードがゲートウェイであり、前記ゲートウェイは、クエリ結果を得るために前記クエリの受信に応じて前記センサにクエリするものである。
【００２５】
センサを通してタグ付けされたオブジェクトを突き止めるアプリケーションは、特に本発明の実施形態に基づくクエリスコーピングを適用するのに適している。センサはゲートウェイとして機能する携帯電話機で実現されるか、またはそのような携帯電話機に統合することができる。
【００２６】
一実施形態によれば、前記コストは、前記関係に割り当てられたコスト属性と、前記関係に割り当てられ、前記関係における宛先へ前記クエリを転送するときに肯定的なクエリ結果を発見する尤度を示す確率と、ネットワーク要素（すなわちオブジェクトセンサ、ゲートウェイ）にクエリするための通貨単位（ｍｏｎｅｔａｒｙ  ｕｎｉｔ）の実際のコストとのうちの１つ以上により表現される。
【００２７】
注釈された値はコストまたは確率とすることができる。一実施形態によれば、確率はコストの関数として導くことができる。実際のコストを考慮に入れて、ネットワークの使用、サービスプロバイダのサービスなど、サービスから生じる実際のコストを勘案することができる。
【００２８】
一実施形態によれば、ある関係に割り当てられたコストまたはウェイトは、他の関係に対する該関係の優先度（ｐｒｅｆｅｒｅｎｃｅ）を示すものであり、ある関係に含まれる宛先にはランク付けパラメータが割り当てられ、その結果、宛先のコストまたはウェイトは、該関係に割り当てられたコストまたはウェイトと、宛先へ割り当てられたランク付けパラメータとに基づくものとなる。コストの場合にはコストが累積され、確率の場合には確率を掛け合わせることができる。
【００２９】
一実施形態によれば、前記ヒューリスティックスを実現する前記関係は、前記ネットワーク内のエンティティへ配布する方式で少なくとも部分的に記憶されるものであるか、および／または、クエリが配布されるべきノードを選択するアルゴリズムは、配布する方式で記憶された関係を使用することにより配布する方式で実行される。
【００３０】
ヒューリスティックスの配布によって、クエリスコーピングも配布する方式で実行することができる。データを配布して保存することにより、ユーザが手放したくないデータをユーザのデバイス、例えば、個人的なモバイルノードまたはゲートウェイだけに記憶することがさらに可能になる。
【００３１】
一実施形態によれば、配布されたクエリスコーピングは、ホップごとに減少したバジェットを割り当てることにより実現されるものであるか、または、中央のノードはバジェットを処理し、配布されたノードはアドホック方式で配布させるためのバジェットを保持する。
【００３２】
クエリスコーピングの配布は、ホップごとに減少したバジェットが割り当てられるように実現することができる。これにより、クエリスコーピングの間にバジェットを中央で管理する必要がなくなる。他の方法は、バジェットを中央で処理し、独立して機能する個々のノードへバジェットの一部分を割り当てることである。さらに想定されることとして、エンティティ間の関係に関連付けられた確率がホップごとに掛け合わされるように、配布を実現することができる。クエリの配布は、確率がある限度へ達したときに終了する。
【００３３】
一実施形態によれば、あるネットワークインフラストラクチャにおいて、選択されたノードへ配布するべきクエリの配布範囲を決定する装置であって、ヒューリスティックスに基づいて肯定的なクエリ結果が期待されるノードへのみクエリを転送するために、前記ヒューリスティックスに基づいて前記クエリを配布するべきノードを選択する手段と、前記ネットワークインフラストラクチャのエンティティ間の関係として前記ヒューリスティックスを表現するコンピュータにより実現されたデータモデルを通して前記ヒューリスティックスを実現する手段であって、前記エンティティは前記ネットワーク内の要素または前記ネットワーク内のユーザであり、各々の関係は、ソースエンティティと１つ以上の宛先エンティティとを含むとともに、前記ソースエンティティに関連付けられた前記宛先エンティティの関連性に基づいたランク付けを提供するために、注釈されたウェイト属性またはコスト属性を有するものである、手段と、より高い関連性を表すウェイト属性のノードが、より低い関連性を表すウェイト属性のノードよりも優先されるようにするために、前記関係のウェイト属性に基づいて前記クエリがディスパッチされるべきノードを選択する手段とを備える装置が提供される。
【００３４】
一実施形態によれば、本発明の実施形態に基づく方法を実行する手段を備える装置が提供される。
【００３５】
一実施形態によれば、コンピュータ上で本発明の実施形態に基づく方法を実行するコンピュータ実行可能なコードを含むコンピュータプログラムが提供される。
【発明を実施するための最良の形態】
【００３６】
以下、主にセンサネットワークに関連する本発明の典型的な実施形態を説明する。しかし、本発明の原理は、他のアプリケーションシナリオにも同様に応用できる。
【００３７】
本発明の実施形態の説明をする前に、実施形態で使用する「ヒューリスティックス」という用語について説明する。一般的に、「ヒューリスティックス」とは、学習、発見または問題解決において人の注意を方向づける反復可能な方法またはアプローチであると言える。これは、「Ｉ  ｆｉｎｄ」と翻訳されるギリシャ語の「ｈｅｕｒｉｓｋｏ」に由来する。したがって、ヒューリスティックスは、問題を解決するための一種の戦略である。
【００３８】
コンピュータサイエンスにおいて、ヒューリスティックスは、問題を解決するために考案された手法である。この手法は、解決法が正しいかどうかを無視するが、通常は良好な解決法を生み出すか、または、より複雑な問題の解決を含むかまたは交差するより簡単な問題を解決する。したがって、ヒューリスティックスは、常にではないが通常、ほとんど正しい解答をもたらすかまたは与えるアルゴリズムと考えてよい。ヒューリスティックスは、可能性として正確度または精度のコストを犠牲にして計算のパフォーマンスまたは単純性を得るように意図されている。
【００３９】
多数のセンサが中間ゲートウェイを介して相互に接続されている大規模環境において、イベント（センサの読み取り）と購読者（これらの読み取りについてクエリを送信するコンポーネント）とのマッチングは、送信者、購読者または二者の間の中央仲介サービスのいずれによっても実行できない。したがって、一実施形態によれば、ヒューリスティックスに基づくクエリのスコーピングが使用される。クエリのスコーピングとは、クエリ（例えば、「あるアイテムの検索」）を、ネットワーク内の全てのセンサへ配布するのではなく、限られた数のセンサだけに配布することを意味する。後で説明する実施形態に基づくクエリのスコーピングは、イベントのソース（すなわち、オブジェクトセンサＯＳまたはユビキタスゲートウェイＵＧ）の小さな部分集合を選択し、確率および実際のコストを考慮してクエリをディスパッチすることを可能にする。一実施形態におけるサーチアルゴリズムは、候補ゲートウェイをランク付けする。これは逐次的な処理を可能にし、所与の条件、例えばクエリが成功したときに打ち切ることを可能にする。
【００４０】
下記では、本発明の実施形態に基づくシステムを説明する。システムは、クエリをディスパッチすべきネットワークエンティティの適切な選択を可能にするクエリスコーピングを使用する。いわゆる「イベント購読者（ｅｖｅｎｔ−ｓｕｂｓｃｒｉｂｅｒ）パラダイム」が適用される１つのシナリオにおいて、これは、イベントと購読者との間、すなわち、センサとセンサデータを求める所与のクエリとの間の十分かつ効率的なマッチングによって実現することができる。
【００４１】
一実施形態において、クエリスコーピングを使用できる可能なアプリケーションは、個人的なアイテムを遺失または置き忘れたときに、センサインターネットでそれを突き止める記憶発見（Ｒｅｍｅｍｂｅｒ  ａｎｄ  Ｆｉｎｄ）アプリケーションである。日常のオブジェクト、例えば鍵、財布または傘は、小型の電子タグを備える。この電子タグは、短距離無線通信インタフェース、例えば、ＺｉｇＢｅｅ（例えば、ＺｉｇＢｅｅ  Ａｌｌｉａｎｃｅ、ｈｔｔｐ：／／ｗｗｗ．ｚｉｇｂｅｅ．ｏｒｇ／ｅｎ／ｉｎｄｅｘ．ａｓｐを参照）およびＮＦＣ（例えば、Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  （ＮＦＣ）  Ｆｏｒｕｍ、ｈｔｔｐ：／／ｗｗｗ．ｎｆｃ−ｆｏｒｕｍ．ｏｒｇ／ｈｏｍｅを参照）を介して、それらを見つけることを可能にする。
【００４２】
このようなタグを備えたオブジェクトは、以下タグ付けオブジェクト（ＴＯ）と呼ぶ。ＴＯを感知および識別することができ、携帯電話に組み込むことのできるデバイスは、以下オブジェクトセンサ（ＯＳ）と呼ぶ。ＯＳは、携帯電話を介して広域ネットワークと相互に接続されている。以下、ＯＳと広域ネットワーク構造との間の仲介者として機能する携帯電話は、ユビキタスゲートウェイ（ＵＧ）と呼ばれる。一実施形態におけるシステムは、ＵＧおよびＯＳが、ユーザおよびＴＯに関係した有用なコンテキスト情報を記録および配布することを可能にする。例えば、ＯＳを備えたＵＧは、ユーザの個人的なオブジェクトを追跡し、いつどこで、およびどのような状況のもとで、オブジェクトがＵＧの通信範囲を離脱したかをモニタすることができる。このデータは、ローカルまたはグローバルに（すなわち、広域インフラストラクチャで）記憶可能であり、後にユーザがオブジェクトを突き止めることを助ける。
【００４３】
このようなシステムはヒューリスティックスを使用して、ユーザのサーチクエリ（すなわち、購読）を配布するＯＳおよびＵＧ（すなわち、イベントソース）の部分集合を選択することができる。クエリのスコーピングは、多数のノードを使用し、その数が大きすぎて全ての可能なイベントソースへクエリを配布することができないアプリケーションによって使用することができる。センサネットワークまたはセンサインターネットは、センサノードの部分集合へクエリを配布するための、このようなクエリスコーピングのアプリケーションの１つの例である。ヒューリスティックスは、アプリケーションによって特定される方法とすることができる。例えば、前述したアプリケーションでは、ヒューリスティックスは、ユーザの選択によって動かされる個人的なオブジェクトの追跡方法とすることができる。
【００４４】
一実施形態によれば、システムは、オブジェクトをサーチするための配布された重要な情報、例えばアソシエーション（例えば、ユーザとオブジェクト、ユーザとユーザ、ユーザとゲートウェイ）と、位置プロファイル（ユーザの重要な位置）と、オブジェクト履歴（いつどこでそのオブジェクトを最後に見たか）とを記憶および提供する。一実施形態に基づくデータモデルは、クエリのスコーピングを決定するためヒューリスティックスとして使用されるこのような情報の間の複数の関係を表している。このデータモデルは、関係のタイプをウェイト（例えば、実際のコストおよび確率）で注釈することにより、広範囲の検索ストラテジーとユーザまたはサービスプロバイダの優先度（すなわち、ある優先順位に基づいてどの情報を使用するか）を表すために使用できる。一連のイベントソース（例えば、一実施形態ではＯＳおよびＵＧ）へのクエリ配布に使用されるヒューリスティックスは、データモデル内の関係をトラバースすることに対応する。スコーピングのアルゴリズムは、ウェイトを考慮しながら全てのヒューリスティックスを追随し、コスト属性を含む部分的なサーチグラフを作り、より高い順位を有するイベントソースのリストで応答し、終了条件を満たしたとき、例えば、最大コストに達したときにサーチを終了する。
【００４５】
以下、本発明の一実施形態の一例として記憶発見アプリケーションのアーキテクチャを概説し、更にヒューリスティックスを表すデータモデルを概説する。ウェイトを考慮して、所与のデータモデル内の全てのヒューリスティックスを検索することによって、一連のゲートウェイへクエリを配布し、オブジェクトを突き止めるアルゴリズムを説明する。
【００４６】
既に簡単に説明した記憶発見アプリケーションは、多様なコンテキスト情報をセンサから得ることが必要である。ＵＧにおけるセンサ情報の抽出は、ベーシックイベントソースと呼ばれる。所定の条件が検出されると（例えば、オブジェクトが範囲内または範囲外にあることが感知されると）、通知が生成される。通知は、多様なイベントソースによって記録された履歴値を含むことができる。ＵＧのクエリサービス（これは、ユビキタスゲートウェイクエリサービスと呼ばれる）は、どのような条件が検出されるべきかと、どのような通知が生成されるべきかとを指定するために使用される。通知は、ユビキタスゲートウェイ（すなわち、携帯電話）を携行しているローカルユーザ、別の携帯電話を携行するリモートユーザまたはインフラストラクチャ内の適切なサービス（例えば、グローバルまたは個人的なデータベースのようなストレージサービス）へ送ることができる。
【００４７】
図１は、システムアーキテクチャの概観を示している。グローバルクエリマネージャは、イベントのルーティングおよび大規模なクエリ配布を提供する。
【００４８】
グローバルクエリマネージャがクエリを受信すると、サーチスコーププロバイダを使用し、クライアントアプリケーションの必要性に応じて最も適切なノードまたはユビキタスゲートウェイへクエリを中継する。一実施形態によれば、グローバルクエリマネージャは、更にアクティブなクエリを追跡し、クエリが満了するか、検索対象のタグ付けオブジェクトが発見されたときにクエリを削除することができる。基礎となるサービスインフラストラクチャの複雑性からアプリケーション開発者を守ることとは別に、グローバルクエリマネージャは、クエリを受信する当事者からクエリを開始する当事者を隔離する目的を果たす。モバイルオペレータは、例えば、一方ではセンスデバイスとして端末を提供するエンドユーザと、他方ではこれらのサービスを受ける他のエンドユーザとの間で信頼された仲介者として機能できる。これは、プライバシーおよびアカウンティングポリシーの効果的な実現を可能にする。インタフェースは、更にクライアントアプリケーションのクエリ動作によって発生したコストを監視および管理する方法をクライアントアプリケーションに提供する。
【００４９】
クエリ配布は、アソシエーションおよび履歴データに基づいてクエリスコーピングの様々なヒューリスティックス基準を実現するスコーププロバイダに基づいている。例えば、スコーププロバイダは、過去のオブジェクト位置に関する情報を含む個人的またはグローバルなデータベースに基づくことができ、オブジェクトが最後に発見された場所から検索を開始するヒューリスティックスを実現することができる。
【００５０】
異なるスコーププロバイダは、位置プロファイルを使用することができる。位置プロファイルは、ユーザが最も頻繁にいる位置を抽出し、これらの位置のセンサへクエリを導くことができる。スコーププロバイダの第３の例は、アソシエーションレジストリに基づくことができる。アソシエーションレジストリは、ユーザをそのオブジェクトへ関係づけるか、またはシステム内の他のＵＧへ関係づける。図１において、スコーププロバイダは、「ダイナミックスコーピング」と名前を付けられたボックスとして描かれ、それが異なるデータベース、例えば、マイデータベースおよびアソシエーションレジストリにアクセスできることが分かる。マイデータベースおよびアソシエーションレジストリは、クエリスコープを導くために使用される様々なヒューリスティックスを記憶することができる。
【００５１】
このようなスコーププロバイダは、ユーザのオブジェクトを求めるクエリを、関連付けられたＵＧおよび関連付けられたユーザのＵＧへ導くことができる。ここで、これらＵＧはオブジェクトを発見できる見込みがあると仮定する。言い換えれば、スコーププロバイダは、宛先ノードをどのようにして選択するかについてのヒューリスティックスを表す関係を使用し、前記ヒューリスティックスに基づいてクエリを転送するための候補宛先ノードを返却することができる。ここで、候補ノードは、後で更に明らかになるように、ランク付けスキーム、例えばそれら候補ノードの関連性、コスト、ウェイトまたは確率に基づいてランク付けできる。一実施形態によれば、スコーププロバイダは、ネットワークのエンティティによって実現できる。このエンティティは、１つ以上のデータベースに記憶された関係にアクセスおよび評価し、クエリされる候補ノードのリストを返却するように適切にプログラムされている。
【００５２】
図１において、スコーププロバイダおよびグローバルクエリマネージャは別個のエンティティとして示されているが、当業者は、これらが単一のエンティティによって実現できることを理解されたい。
【００５３】
１つ以上の中央データベースにアクセスするグローバルスコーププロバイダに加えて、ローカルスコーププロバイダをＵＧで実現することができる。これは、任意にローカルに配布されたクエリのスコーピングをサポートするためである。これは、図１において、ローカルなクエリスコーピングコンポーネントを含むユビキタスゲートウェイによって示されている。
【００５４】
既に言及したように、一実施形態によれば、ヒューリスティックスを使用して多数のＵＧおよびＯＳへクエリを配布することができる。ＵＧおよびＯＳは、システム内のアソシエーションデータおよび履歴データに対して動作する。図２は、記憶発見アプリケーションおよびシステム内に含まれるエンティティ間の関係を表現する典型的なデータモデルを表している。図２において、エンティティは円によって示されており、関係は矢印によって示されている。矢印の方向は、サーチアルゴリズムを実行している間の遷移方向を示している。
【００５５】
ネットワークの「エンティティ」とは、例えば、ネットワークのノードであるが、ネットワークの他の要素、例えばセルまたはユーザとしてもよい。エンティティは、ネットワークへ直接属していない要素としてもよい。したがって、エンティティという用語は、比較的広い意味で理解しなければならない。エンティティは、ネットワークまたはそのユーザに少し関係を有する任意の要素、個人またはグループとすることができ、したがって、このエンティティを含む関係を提供することは意味があるかもしれない。エンティティは関係の一部分であり、そのエンティティは、この関係を介して直接に、または他のエンティティを中間に置いてネットワークへ関連づけられる。
【００５６】
他方、ノードは、ネットワークインフラストラクチャの要素、例えばルータ、ゲートウェイ、端末、携帯電話、その他のものとすることができる。
【００５７】
以下の関係が図２で表されている。各々の関係は、ウェイト属性により注釈付けがなされる。ウェイト属性は、関連付けられたエンティティの、関連性に基づくランクを提供することができる。
・オブジェクトアソシエーション：  オブジェクトはユーザへ関連付けられる。ユーザは、オブジェクトの携行に費やした時間によってオブジェクトをランク付けすることができる（オプション）。
・オブジェクト位置履歴：  システムは、オブジェクトが最後に発見されたセルの履歴を保持する。セルは、オブジェクトについての最後のレポートの時間に基づいてランク付けされる。
・セルプロファイル：  システムは、ユーザについて、より関連性のあるセル、すなわちユーザが時間の大部分を費やしたセルに関する情報を記憶する。訪問の継続時間および頻度はランク付けに使用できる。
・ユーザ履歴：  システムは、ユーザが最近訪問した全てのセルを記憶する。ユーザ履歴は、最後の訪問の時間によってランク付けされる。
・近傍：  セルに基づく位置モデルは、近傍のセルの情報を提供することができる。ランク付けは、セル間の近接度のメトリックに基づく。
・ユーザアソシエーション：  ユーザは他のユーザに関連付けられる。ランク付けは、ユーザがどれだけの時間を一緒に費やしたかに基づくことができる（オプション）。
・オブジェクトＧＷ履歴：  広域ネットワークインフラストラクチャは、オブジェクトに関するイベント（すなわちレポート）の履歴を記憶することができる。この履歴は、レポートを発行したゲートウェイへオブジェクトを関係づけることができる。ゲートウェイは、オブジェクトの最後のレポートが出された後に経過した時間に基づいてランク付けすることができる。
・ゲートウェイレジストリ：  広域ネットワークインフラストラクチャは、ゲートウェイをその現在のセルに関係づけるデータベースを提供する。ランク付けは、ゲートウェイの間のロードバランスおよびゲートウェイのカバー範囲を考慮して行うことができる。
・ＧＷアソシエーション：  ユーザはあるゲートウェイに関連付けられる。
【００５８】
一実施形態によれば、ヒューリスティックスの全部または一部分のみが、クエリスコープを決定するために使用される。使用されるべきヒューリスティックスは、一実施形態によれば、ユーザの優先度に依存することができる。言い換えれば、ユーザは、使用されるべきあるヒューリスティックスを選択し、他のヒューリスティックスを選択しなくてもよい。
【００５９】
クエリを一連のゲートウェイへ配布するために使用されるヒューリスティックスは、図２における関係のトラバースに対応することができる。例えば、オブジェクトが過去に発見された位置の近くで突き止められるゲートウェイは、パス（オブジェクト−セル−ＧＷ）に対応する。更に複雑な例は、ユーザが多くの時間を費やし、関連付けられた別のユーザを介してオブジェクトのオーナーに関連付けられる位置の近くでユーザが突き止められるゲートウェイである。これは、パス（オブジェクト−ユーザ−ユーザ−セル−ＧＷ）に対応する。この場合、パスは、オブジェクトから、オーナーとは異なるユーザへ進み、そこからオーナーへ進み、次にセル（プロファイル）を通り、最後にゲートウェイに進む。注意しなければならないのは、適用できるヒューリスティックスが、遺失したオブジェクトを表すエンティティから始まり、ＧＷタイプのエンティティで終わるということである。
【００６０】
ユーザ、アプリケーションプログラマまたはサービスプロバイダは、「ウェイト属性」または「コスト」により関係のタイプを注釈付けすることによって、ヒューリスティックスのどの組み合わせ（すなわち、どのパスまたはエンティティ間のどの関係）を使用するかの優先度を表現することができる。図３は、括弧の中にコストの注釈を有するパス、すなわちオブジェクト−セル−ＧＷの例を示している。図３では、コストの注釈を伴わない他の使用されないヒューリスティックスが示されている。これらヒューリスティックスは、非常に大きいかまたは（ほぼ）無限のコスト属性を割り当てることができる（図３には示されていない）。このようなコスト属性は、これらヒューリスティックスが考慮されないという効果を有する。他の実施形態では、これらヒューリスティックスも考慮されるという効果を有するコスト属性を割り当てることによって、これらヒューリスティックスも使用することができる。実施形態に基づくヒューリスティックスの評価は、原理的には、関係によって定義される全てのヒューリスティックスを考慮できるが、幾つかのヒューリスティックスへ非常に高いコスト属性を割り当てることによって、これらのヒューリスティックスは、図３で示されているように効果的に「スイッチオフ」することができる。
【００６１】
ウェイト属性または「コスト」は、ある数値によって、異なる関係の間の優先度を表現する。それによって、異なるヒューリスティックス（すなわち関係）を、どのヒューリスティックスが他のヒューリスティックスよりも優先されるかに関して比較できる。各々の関係へ「ウェイト」を注釈することによって、より高い「ウェイト」を有する関係が、好ましくは他の関係に優先して追跡することができる。注釈された属性が「コスト」であれば、より高いコストを有する関係は、より低いコストを有する関係よりも優先度が下がる。
【００６２】
クエリをどこへ配布するかについてある意思決定を行うためのヒューリスティックスの適用は、関係を実際に「通過」または「トラバース」すること、すなわち２つのエンティティ間で、例えばあるノードから別のノード、あるノードからセル、または、あるノードからユーザなどの間である関係をトラバースすることによって実現できる。関係をトラバースする各々のそのような個々のステップは、前述したデータモデルによって実現されるあるウェイト属性またはコスト属性に対応し、したがって各々のトラバースするステップは、コスト属性またはウェイト属性を比較することによって、他の「競合する」トラバースステップと比較できる。可能な選択肢（異なるトラバースステップ）のウェイト属性またはコスト属性のそのような評価は、一実施形態によれば、クエリスコーピングを提供するために適用されるヒューリスティックスを実現する。好ましく見える関係（すなわち、宛先への転送）は、好ましくは見えない関係よりも優先して追跡され、このようにして行われるトラバースは、肯定的なクエリ結果が得られるまで、または（累積された）コストまたはウェイトが所定の最大値へ達するまで継続することができる。前述した全体の手順は、ソースエンティティ（例えば、検索対象のオブジェクト）から開始することができる。手順は、この開始点から選択された宛先までトラバースし、前述したような関係によって表されたヒューリスティックスを適用する。このようにして、手順は次にクエリが転送される宛先（すなわちゲートウェイ）を提供し、クエリがネットワークの有望なエンティティへのみ転送されるクエリスコーピングを提供する。
【００６３】
ここで注意すべきことは、関係をトラバースすることによって生成されたサーチグラフに沿った移動は、クエリを送るべきノードがいったん決定されてからクエリが実際に取るデータパスと実際には対応していないということである。むしろ、クエリは、一般的に全く異なるパスを取り、ユーザの端末（これは、サーチグラフを生成する開始点とは既に異なっているかもしれない）からディスパッチされ、任意のルーティングプロトコル、例えばＴＣＰ／ＩＰ、または他のルーティングプロトコル、例えばＩＰｖ６を使用して任意のパスに沿って送ることができる。しかし、関係をトラバースすることによって生成されたサーチグラフは、「プローブパス」または「評価パス」と考えることができ、これらパスは、このパスに含まれるノードへクエリを送るコストを評価するために追跡される。これらのパスは、オブジェクトとゲートウェイとの関連付けを定義する「アソシエーションパス」と考えられる。このアソシエーションパスに含まれるヒューリスティックスを使用する場合に期待される「次善最適性（ｓｕｂｏｐｔｉｍａｌｉｔｙ）」、すなわち成功結果を有するゲートウェイにおける探索がどの程度「確からしいか、または確からしくないか」を表現する。
【００６４】
一実施形態によれば、上記のモデル化されたデータの全て（ヒューリスティックスは、それらの上で動作する）は、バックエンドインフラストラクチャにあるデータベースで利用できる。この場合、検索のヒューリスティックスの適用は、利用可能なデータに対する宣言型クエリの形式で実現できる（宣言型クエリは、実際の検索クエリと混同してはならない。宣言型クエリはヒューリスティックスを実現するだけであり、実際の検索クエリをどこへ配布するかを決定する。実際の検索クエリは、ヒューリスティックスが適用されて目標となるノードが選択された後にディスパッチされる）。このような宣言型クエリは、クエリの中で与えられたデータパスに沿った検索クエリのトラバースを表す（例えば、「ホップ数４までの近傍にあるセル」または「アソシエーションホップ数３までのフレンドのフレンド」）。宣言型クエリは、対応するウェイト属性またはコスト属性を返却する。次に、ウェイト属性またはコスト属性が評価されて、実際の検索クエリがどの宛先へ転送すべきかを決定できる。そのような宣言型クエリは、例えば、Ｒａｋｅｓｈ  Ａｇｒａｗａｌ  ａｎｄ  Ｈ．Ｖ．Ｊａｇａｄｉｓｈ．Ｄｉｒｅｃｔ  ａｌｇｏｒｉｔｈｍｓ  ｆｏｒ  ｃｏｍｐｕｔｉｎｇ  ｔｈｅ  ｔｒａｎｓｉｔｉｖｅ  ｃｌｏｓｕｒｅ  ｏｆ  ｄａｔａｂａｓｅ  ｒｅｌａｔｉｏｎｓ．ｉｎ  ＶＬＤＢ  ’８７：Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １３ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｖｅｒｙ  Ｌａｒｇｅ  Ｄａｔａ  Ｂａｓｅｓ，ｐａｇｅｓ  ２５５−２６６，Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，ＣＡ，ＵＳＡ，１９８７．Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ  Ｉｎｃ．に記載されている公知の技術を使用して実行できる。前述したように、バックエンドで全てのデータを有することは１つの可能性であり、他の可能性も存在する。特に、プライバシーに関心のあるユーザは、データのある部分を管理したいかもしれない。一実施形態において、これは、特に、ユーザのハンドヘルドデバイスに残すことができる位置プロファイルデータだけでなく、オブジェクトおよびユーザアソシエーションデータの場合である。プライバシーのほかに、他の理由が存在して、幾つかのソースまたはエンティティの間でデータを分割して維持することができる。
【００６５】
一実施形態によれば、各々の関係は、１対多数の関係をランク付けしたやり方で提供する軽量コンポーネントとして見なし、実現することができる。例えば、１つの所与のオブジェクト（ソースエンティティ）から開始して、オブジェクト−位置履歴型のコンポーネントは、オブジェクトが最後に発見されたｎ個のセル（宛先エンティティ）を生成する。１対多数の関係を実現するそのようなコンポーネントは、システム内の任意の場所、更にはユーザデバイスに置くことができる。
【００６６】
したがって、この実施形態において、図２の矢印で与えられている各々の関係は、１対多数の関係を有する。軽量の関係コンポーネントは、関係のランク付けを提供する。例えば、オブジェクト−位置履歴型のコンポーネントは、図４で示されているように、オブジェクトが最後に発見されたｎ個のセル（宛先エンティティ）を有する。
【００６７】
この実施形態においては、各々のソースエンティティ（例えば、各々のオブジェクト、ユーザ、セルなど）について関係インスタンスが存在し、状態（まだ検索されていない次の宛先エンティティへのポインタまたはカーソル）を維持する。ソースエンティティは、以下の説明から更に明らかになるようにネットワークを通るクエリのデータパスに対応するグラフのソースとすることができる。
【００６８】
一実施形態に基づくシステムは、次のメソッドをサポートする。
・ｉｎｉｔ（ｅ）：  所与のソースエンティティに対して関係インスタンスを初期化する。
・ｐｏｐ−ｅｎｔｉｔｙ：  次の宛先エンティティを返却し、カーソル（現在のエンティティのポインタ）を次のエンティティへ移動する。
・ｈａｓ−ｅｎｔｉｔｙ：  他の宛先エンティティが存在するかどうかを返却する。
・ｐｅｅｋ−ｃｏｓｔ：  次の宛先エンティティに関連付けられたコストを返却し、カーソルを移動しない。
【００６９】
一実施形態において、図５で示されているように、オペレーション「ｐｅｅｋ  ｃｏｓｔｓ」は、「ｃｕｒｒｅｎｔ  ｒａｎｋ  ｘ  ｃｏｓｔｓ」として実現することができる。更に粗い実現は、ランク付けに使用された属性を考慮することができる。時間についての例において、ｐｅｅｋ−ｃｏｓｔｓは、可能性としてコストで重み付けがなされた対応するセルの中でオブジェクトが発見されてから経過した分数を返却することができる。以下の例では簡単な実装に制限する。
【００７０】
一実施形態によれば、異なる軽量の関係コンポーネントを組み込むことができる。以下では、２種類のコストが与えられる。
【００７１】
（１）ヒューリスティックスの次善最適性のコスト：  宛先エンティティ（例えば、オブジェクト位置履歴、近傍）タイプとしてゲートウェイを有さない関係コンポーネントのｐｅｅｋ−ｃｏｓｔｓ（）は、検索に付加的な宛先エンティティを含むことの次善最適性を表現する。例えば、オブジェクトがずっと前に発見されたオブジェクト位置履歴セルは、結果を返却する確率が小さく、したがってオブジェクトが最近発見されたセルよりも高いコストを生じる。このようにして、低いｐｅｅｋ−ｃｏｓｔｓ（）は、宛先エンティティが検索において助けとなる高い確率として解釈できる。
【００７２】
（２）ゲートウェイクエリの実際のコスト：  宛先エンティティタイプとしてのゲートウェイを有する関係コンポーネントは、それらのｐｅｅｋ−ｃｏｓｔｓ（）メソッドの中であるゲートウェイにクエリする現実のコスト、すなわち後でユーザへ請求するコストを組み込むことができる。これは、１つのゲートウェイにクエリするときに生じる通信エフォートを反映するコスト単位とすることができるか、または各々のゲートウェイオーナーによって任意に設定することができる。
【００７３】
以下、前述した軽量の関係コンポーネントを使用する実施形態について説明する。グラフ探索ストラテジーを使用して、候補ゲートウェイの完全なランクを得ることができる。
【００７４】
開始エンティティｅ（一実施形態では、検索されるオブジェクト）が与えられると、アルゴリズム「オブジェクトサーチ」は、ｅへ関係づけられるエンティティのサーチグラフを（要求に応じて）生成する。これは次のようにして行われる。すなわち、開始エンティティｅが与えられると、アルゴリズムは、ｅに関係づけられたエンティティのサーチグラフを生成する。各々のエンティティｅには、集合Ｒeが関連付けられる。集合Ｒeは、ｅと他のエンティティとの間の１対多数の関係を表す多数の外向きの関係インスタンス｛ｒ1，ｒ2，．．．｝を含む（各々のｒは、前述した軽量の関係コンポーネントに対応する）。
【００７５】
アルゴリズムは、対応するＲeの中で関係インスタンスを使用して生成されたエッジによって相互接続されるエンティティインスタンスの集合を生成する。例えば、オブジェクトタイプのエンティティｅが与えられると、Ｒeは３つの要素｛ｒ１，ｒ２，ｒ３｝、すなわちオブジェクト位置履歴タイプと、オブジェクトアソシエーションタイプと、オブジェクトゲートウェイ履歴タイプとを有する。注意すべきは、更に、ｒ．ｈａｓ−ｅｎｔｉｔｙ（）が真である要素ｒのみをＲeが含むと仮定することができるということである。このようにして、Ｒeは、図３でｅのタイプを表すノードから外向きに示されている各々のエッジについて、高々１つの関係インスタンスを含むことができる。
【００７６】
生成されたサーチグラフＧsは、ノード（エンティティ）と、（対応するＲeの中で関係インスタンスのｒ．ｐｏｐ−ｅｎｔｉｔｙ（）メソッドへの呼び出しによって生成される）他のエンティティへ導く対応するエッジとから構成されている。このようにして、各々のエッジは、このエッジに寄与した１つの関係に対応する。図３で与えられている１つの例に基づく例示的なサーチグラフＧsは、図６に示されている。注意すべきは、エンティティが異なる関係の中で複数回生じなければ、サーチグラフはツリーになるということである。
【００７７】
以下は、一実施形態に基づくアルゴリズムの疑似コードである。
【表１】
0004403188.tif 000002
【００７８】
アルゴリズムは、ゲートウェイタイプのエンティティで終わるＧs内の全ての可能なパスを探査し、これらのパスのコストを累積する。Ｇsの各々のエンティティｅは、２つのコスト属性、すなわちｃmin（ｅ）およびｃnext（ｅ）が与えられる。属性ｃmin（ｅ）は、エンティティｅまでのＧs内の最短パスを計算するために使用される。
【００７９】
ｃminの更新は、各々のノードｖの長さ属性ｌ（ｖ）に対してＤｉｊｋｓｔｒａの最短パスアルゴリズムで実行されるそれぞれの更新に効果的に対応している。Ｄｉｊｋｓｔｒａのアルゴリズムの説明は、例えば、Ｂ．Ｋｏｒｔｅ  ａｎｄ  Ｊ．Ｖｙｇｅｎ．Ｃｏｍｂｉｎａｔｏｒｉａｌ  Ｏｐｔｉｍｉｚａｔｉｏｎ：Ｔｈｅｏｒｙ  ａｎｄ  Ａｌｇｏｒｉｔｈｍｓ，ｐａｇｅｓ  １４１−１４２．Ｓｐｒｉｎｇｅｒ−Ｖｅｒｌａｇ，２ｎｄ  ｅｄｉｔｉｏｎ，２００２に記載されている。
【００８０】
しかし、Ｄｉｊｋｓｔｒａのアルゴリズムと比較して、ｅへの最短パスが発見された後にエンティティｅを無視することはできない。その代わりに、（他の関係エンティティへ導く）外向きの他のエッジが、サーチに関連するようになったとき、アルゴリズムは常にエンティティｅを再処理する。このために、エンティティは第２の属性ｃnext（ｅ）によって継続してソートされる。第２の属性ｃnext（ｅ）は、（最初は）最短パスｃmin（ｅ）の長さに対応している。しかし、ｅの最初の子が生成された後、ｃnext（ｅ）はｅの追加の子エンティティへの最短パスを表すように上げられる。追加の子エンティティは、後の段階でｅの関係を使用して生成される。
【００８１】
上昇するｃnext（ｅ）の順序に基づいてエンティティを処理するため、一実施形態によれば、ヒープデータ構造が使用される。ヒープデータ構造は、ヒープの中で最小のｃnext（ｅ）を有する要素ｅを検索するオペレーションｄｅｌｅｔｅ−ｍｉｎと、要素を挿入するオペレーションｉｎｓｅｒｔとをサポートする。ヒープは、更にｄｅｃｒｅａｓｅ−ｋｅｙオペレーションを介してｃnext（ｅ）の変更（減少）をサポートする。
【００８２】
以下、上記アルゴリズムの実際のステップについて検討する。空のヒープが作り出され、開始エンティティｅ（この場合、検索されるオブジェクトを表す）の属性ｃminおよびｃnextの双方が０に設定され、ｅがヒープへ加えられる（第１〜３行）。それは、ヒープの中で最小のｃnext属性を有するエンティティｅに作用する（第５行）。ｅがゲートウェイタイプのエンティティであれば、それはクエリされて検索の中に含められる（第６〜８行）。ｅが、外向きの関係Ｒeの空ではない集合を有するならば、ループの残り部分は、次の３つのステップを実行する（第９〜２４行）。
・次の最小コストの子エンティティを検索する。このエンティティは、ｅから外向きの全ての関係の中で、最小のｐｅｅｋ−ｃｏｓｔｓを有する（第１０〜１２行）。
・ｅnの属性ｃminおよびｃnextを更新し（第１３、１４行）、ｅnをヒープへ加えるか（第１９〜２０行）、またはヒープ内でその位置を更新する（第１６〜１７行）。
・後の時点でｅから生成できる次の最小コストの子エンティティを表すため、ｃnext（ｅ）を上げてｅをヒープへ再挿入する（第２２、２３行）。
【００８３】
注意すべきは、関係集合Ｒeの要素が増加するコスト特性を有するため、第２２行の項「ｍｉｎ  ｒ．ｐｅｅｋ−ｃｏｓｔｓ（）」は、第１１行の対応するｃnよりも大きいということである。これは、ｒ．ｐｏｐ−ｅｎｔｉｔｙへの呼び出しが、第１２行で行われたからである。
【００８４】
図７は、アルゴリズム実行の典型的な点におけるｃminおよびｃnextの値を示している。３つのＧＷがクエリされてヒープから除去されている。なぜならば、それらは潜在的な子エンティティを残さないからである。セル１、セル１１および検索対象のオブジェクト１は、依然として追加の子エンティティに寄与する。各々の関係を使用して次に加えられる候補エンティティは、破線のエッジおよび白のノードとして示されている。
【００８５】
第５行の反復の始まりを考える。図７で示されている状態が与えられると、第５行は、ヒープ上で最小のｃnext（ｅ）を有するエンティティ、この場合はセル１に対してｅを設定する。次に、第１０行で選択されたｒのタイプは近傍であり、第１１、１２行で、ｅnがセル１２へ設定され、ｃnが８に設定される。このようにして、セル１２がヒープへ加えられ、ｃnextおよびｃminが第２０行で１８に設定される。最後にｃnext（セル１）が更新され、次の最良の潜在的な宛先エンティティのコストを反映する（この場合、第２２行で考慮されたｒ∈Ｒeはゲートウェイタイプである。なぜならば、セル１の更なるＧＷの子はコスト１９だからである）。このようにして、第２２行でｃnext（セル１）が１９に設定され、第２３行でセル１がヒープへ再挿入される。注意すべきは、ｃnext（ｅ）が、最良の可能な宛先エンティティのｃminとして解釈できるということである。この宛先エンティティは、まだ生成されていないが、ヒープ上に加えられるべきものである。更なる潜在的な宛先エンティティが存在しなければ、エンティティはヒープから除去される。
【００８６】
上記では、２種類のコストを紹介した。すなわち、ヒューリスティックスの次善最適性コスト（１種類目）およびゲートウェイクエリの実際のコストである。一実施形態に基づくアルゴリズムは、２種類のコストを次のようにして統合する。すなわち、ゲートウェイクエリ（２種類目）が次善最適性コスト（１種類目）と比較して安価であれば、サーチは確率が小さい位置を考慮する前に、最初の非常に確率が大きい位置で多数のゲートウェイにクエリする。幾つかのゲートウェイオーナーが、それらのゲートウェイのクエリについて、より高いコストを請求するのであれば、非常に確率の高い位置における高コストゲートウェイを含む前に、より小さい確率の位置における安価なゲートウェイを最初に考慮する。
【００８７】
次善最適性コスト（１種類目）が、宛先または子エンティティを探索する助けとなる確率の推定値として解釈できるならば、ユーザへ請求される、期待される総コストを最小化するものとしてアルゴリズムを検討することができる。以下、次善最適性コストのそのような再解釈に基づく実施形態を説明する。
【００８８】
これまで、要求に応じて子ノードを加えることによって、関係コンポーネントがどのようにしてアルゴリズムのサーチツリーを構築するかを説明した。その場合、図８（ａ）に示されているように、エッジは次善最適性コストおよび実際のコストでラベル付けがなされる。以下、図８（ｂ）に示されているように、サーチツリーのエッジを確率推定値でラベル付けすることによって、提示したアルゴリズムを示す。これまで取られたパスが正しいものと仮定して、エッジラベルは、検索されるオブジェクトを発見するＧＷへエッジを導く確率として解釈できる。エッジコストの合計を計算する代わりに、修正されたアルゴリズムは、エッジ確率の積を計算し、ゲートウェイｅgwの確率Ｐ（ｅgw）を決定する。
【００８９】
この実施形態において、軽量の関係コンポーネントのインタフェースメソッドｐｅｅｋ−ｃｏｓｔは、メソッドｐｅｅｋ−ｐｒｏｂａｂｉｌｉｔｙによって置き換えられる。メソッドｐｅｅｋ−ｐｒｏｂａｂｉｌｉｔｙは、これまで取られたパスが正しいものと仮定して、関係インスタンスによって指示された子エンティティが検索の成功に寄与するものとなる確率を推定する。
ｒ：  関係コンポーネント
ｓ：  ソースエンティティ
｛ｔ｝：  宛先エンティティのリスト
Ｐ（ｔ｜ｓ，ｒ）：  所与の宛先エンティティｔが成功パスの上にある条件付き確率。ただし、ソースエンティティｓは、このパスの一部分であると仮定し、ｒはｓからｔへ導く選択された関係であると仮定する。
ｒａｎｋ（ｔ）：  目標エンティティのランク
【００９０】
図８（ｃ）に示されている推定値Ｐ（ｔ｜ｓ，ｒ）の簡単な実現方法は、次のとおりである。
【数１】
0004403188.tif 000003
【００９１】
もちろん、より複雑な実現方法、例えば、時間属性に基づく実現方法もある。
【００９２】
Ｐ（ｔ｜ｓ，ｒ）を使用してＰ（ｔ，ｒ｜ｓ）を導くことができる。Ｐ（ｔ，ｒ｜ｓ）は、ｔがｒを介する成功パスの上にある確率を示す。ただし、このパスはｓを通過するものと仮定する。ベイズの定理によって次式が得られる。
【数２】
0004403188.tif 000004
【００９３】
Ｐ（ｒ）を使用して、関係コンポーネントｒが検索で成功する一般的な推定値を表すことができる。Ｐ（ｒ）は、例えばｒの使用に関する優先度を表現するユーザによって、簡単に設定することができる。例えば、ユーザが、オブジェクト位置履歴が重要であると考えるならば、ユーザは対応するＰ（ｒ）を１へ設定することができる。Ｐ（ｒ）は、更にコストｃrから推定できる。例えば、Ｐ（ｒ）は次のように定義可能である。
【数３】
0004403188.tif 000005
【００９４】
ここで、Ｒeがｅから外向きである関係の集合を表す。図３の最初の例が与えられると、次式が得られる。
【数４】
0004403188.tif 000006
【００９５】
注意すべきこととして、次の実施形態では、ただ１つの関係ｒがｓからｔに導き、したがって関係ｒから独立した項Ｐ（ｔ｜ｓ）が使用され、Ｐ（ｔ｜ｓ）＝Ｐ（ｔ，ｒ｜ｓ）に設定されるものと仮定する。実施形態において、結果のＰ（ｔ｜ｓ）は、以下説明するように使用されてリーフ（ゲートウェイ）の成功確率を推定する。ここで、図９で示されているように、開始エンティティ（サーチツリーのルート）ｅobjから目標ゲートウェイ（リーフ）ｅgwまでのパスを考える。
【００９６】
パス上の各々の関係コンポーネントｒkは、条件推定値Ｐ（ｅk｜ｅk+1）を生成する。確率Ｐ（ｅ1．．．ｅk）は、（ｒ1．．．ｒk）が成功パスである確率を表す。最初のｋ個のステップでは、条件付き確率にベイズの定理を適用し、最後のステップでは、確率Ｐ（ｅobj）は１に等しいと単純に仮定する。修正されたアルゴリズムでは、増加する総コストの順序でパスを処理する代わりに、減少する成功確率の順序でパスを処理する。
【数５】
0004403188.tif 000007
【００９７】
関係コンポーネントｒkの一般的な推定値を使用して、次のように成功パスの確率を再び定式化することができる。
【数６】
0004403188.tif 000008
【００９８】
修正されたアルゴリズムにおいては、増加する総コスト（すなわちエッジコストの合計）の順序でパスを処理する代わりに、減少する総コスト（すなわちエッジ確率の積）の順序でパスを処理する。図８に示されているように、パスの中の最後の関係ｒgwは、成功確率によって候補ゲートウェイをランク付けしないで、ゲートウェイクエリの実際のコストによってランク付けをする。これらのコストはｃ（ｅgw）によって表されている。
【００９９】
注意すべきこととして、パスｅl．．．ｅkが成功する場合の確率Ｐ（ｅl．．．ｅk）は、次式のように記述することができる。なぜなら、パスを下る子および全てのノードが成功すると仮定して、ノードが成功パスの上にある確率Ｐ（ｅj｜ｅj+1．．．ｅk）は、定義により１だからである。
【数７】
0004403188.tif 000009
【０１００】
最後の関係ｒgwによって定義される実際のクエリコストが与えられるとすれば、修正されたアルゴリズムの目的は、成功しないパス上にあるゲートウェイにクエリするコストを最小にすることである。
【０１０１】
ゲートウェイｅgwへのパスの期待される不要コストは、次式のようになる。
【数８】
0004403188.tif 000010
【０１０２】
修正されたアルゴリズムは、増加する不要コストの順序でゲートウェイにクエリする。すなわち、最高の成功確率を有する最も安価なゲートウェイに最初にクエリする。
【０１０３】
この後、前述したコストに基づくアルゴリズムを、どのようにして修正し、増加する不要コストの順序でゲートウェイにクエリするかについて説明する。前述した最初のアルゴリズムとの相違は、ツリーのリーフを処理するステップ４と５である。ゲートウェイにクエリする最小の（実際の）コストをｃlowで表すことにする。
【０１０４】
ステップ１：  ヒープの中でソートされたエンティティの空集合から開始する。エンティティは、減少する成功確率の順序にソートされる。
ステップ２：  各々のステップにおいて、ヒープの中で最大のＰ（ｅ）を有するエンティティｅを考える。ヒープからｅを除去し、最大のＰ（ｅ’｜ｅ）を有する子エンティティｅ’に寄与する関係を使用して子エンティティｅ’を生成する。
ステップ３：  ｅ’がゲートウェイでなければ、Ｐ（ｅ’）＝Ｐ（ｅ’｜ｅ）Ｐ（ｅ）を計算し、ウェイトＰ（ｅ’）と共にｅ’をヒープへ加える。ｅが追加の子エンティティに寄与するならば、最大のＰ（ｅ*）を有する次の１つのｅ*を発見する。
ステップ４：  ｅ’がゲートウェイであれば、それを別個のソートされた集合Ｇへ加える。Ｇは、期待された不要なコストＥ（ｅ’）によってソートされる。
ステップ５：  各々のステップの終わりに、検索されなかった最大のＰ（ｅ）を有するエンティティｅを考える。ｅの潜在的な子ｅ’は、より小さい成功確率Ｐ（ｅ’）を有するであろう。なぜなら、それは追加の因数∈（０，１）で掛け算されるからである。アルゴリズムは、より小さい不要なコストを有する他のゲートウェイが発見されそうもないＧからのゲートウェイの部分集合にクエリし、クエリされたゲートウェイをＧから除去する。
【０１０５】
注意すべきは、ゲートウェイでクエリする実際のコストを考慮しないで、より単純なアルゴリズムがステップ５の間に成功確率のみを使用できるということである。候補ゲートウェイは、パスの他の部分と同じようにしてランク付けすることができる。この場合、アルゴリズムは、減少する成功確率の順序でゲートウェイにクエリする。
【０１０６】
上述したアルゴリズムは、集中方式による広域インフラストラクチャ内のクエリスコーピングに使用できる。他の実施形態によれば、ＧＷおよびＯＳの間のローカルクエリ配布について、このアルゴリズムの適応化を使用する。この実施形態において、クエリがゲートウェイに導入されるとき、クエリは制限されたバジェットを有する。バジェットは、ゲートウェイのオーナーによって設定される実際のクエリコスト、その場限りの通信コスト、および次善最適性コスト（例えば、これらのコストのローカルな近似値）と共に減少する。ローカルな近似値は、例えば、ゲートウェイ上のローカルアソシエーション、ローカル履歴（例えば、オブジェクトがｎ分前に発見された）、または近傍の通信範囲に基づくことができる。このようにして、クエリスコーピングは配布形式で実現できる。
【０１０７】
これまで、本発明について典型的な実施形態により説明した。しかし、当業者は、本発明の範囲から逸脱することなく実施形態の修正が可能であることを容易に理解されたい。
【０１０８】
特に、実施形態は、可能性として遺失したあるオブジェクトを突き止めなければならないアプリケーションのクエリに関する。しかし、例えば１つ以上のセンサを探すときのように、他のアプリケーションシナリオを困難なく想像することができる。このようなセンサは、例えば、天候を監視しており、ある区域での天候の予測に有用なデータを提供するであろう。この場合、開始ノードは、天候が予測される区域のセンサであってよく、関係は、天候の影響の相互依存性を表現することができる。このようにして、開始センサが置かれた領域の天候を予測しなければならないとき、関係のトラバースが、クエリに有用な候補センサを生み出すことができる。類似したアプリケーションが、他のセンサネットワークシナリオでも同様に想像することができる。
【０１０９】
しかし、更にセンサ以外のネットワークのあるサービスノード、例えば、ダウンロードされるある関連データが記憶されるウェブサーバを探すためにシステムを応用できる。そのような場合、開始ノードは、検索されるデータが置かれていると想定されるウェブサーバとすることができ、ヒューリスティックスは他のウェブサーバへの関係を表現する。このようなウェブサーバは、それらのウェイトまたはコストに依存して、ダウンロードされるデータの成功した検索に寄与する。
【０１１０】
説明してきたシステムは、更に製品の広告に応用することができる。この場合、開始ノードは、目標にするユーザであり、宛先ノードは、ユーザが購入を勧誘される製品である。そのようなシステムでは、次のような関係が想定できる。すなわち、（ユーザを前の購入製品へ関係づける）ユーザの購買履歴、ある製品が他の製品の適切な付属品であるかどうかを記述する製品対製品の関係、ユーザの購買習慣の間の類似性を表現するユーザ対ユーザの関係、更にはユーザ対ユーザのアソシエーション（例えば、家族、友人の間）、または製品のある特徴関係（製品対製造業者の関係、書籍対著者の関係など）である。アプローチは、オンラインショッピングのために、製品推奨の異なるヒューリスティックス（更に、存在する協調的なフィルタリング手法を組み込んだヒューリスティックス）をテストし、組み合わせる強力なパラメータ化手法を提供できると言える。説明してきたシステムは、データベースが複数のデバイスにわたって配布される可能性が大きいモバイルデバイスと共に使用されるとき、特に有用であろう。更にＡＩアプローチ（例えば、強化学習）を使用して各々の関係タイプに関連付けられた実際のウェイトを適応化し、所与のユーザに対して良好に働くヒューリスティックスを強化することができる。代替的には、所与の広告される製品が開始ノードとして使用されるならば、アルゴリズムを使用して、この製品を広告するのに最も有望なユーザを決定することができる。
【０１１１】
一般的に言えば、関係を通して定義されたヒューリスティックスの適用に基づいて、メッセージの転送により肯定的な結果が返却されることが期待されるエンティティのみを宛先エンティティとして選択するために、本発明に係る方法および実施形態をネットワーク内のメッセージの配布範囲の決定に応用できる。この肯定的な結果は、クエリ結果、成功した商取引の結果、サービスの成功した検索その他を問わない。
【０１１２】
更に、これまでの説明と関連して説明し、記載した方法および装置は、ソフトウェア、ハードウェアまたはこれらの組み合わせで実現できることは当業者に明らかであろう。特に、ネットワーク要素またはエンティティ、例えばノード、ゲートウェイまたはセンサは標準的なコンポーネントを使用して実現でき、これら標準的なコンポーネントは、これまでに説明した操作に基づいて動作するように適切にプログラムできる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の実施形態に基づくシステム構成を概略的に示す図である。
【図２】本発明の実施形態に基づくデータモデルを概略的に示す図である。
【図３】図３に示されているデータモデルに対応して、注釈されたコストまたはウェイトを有するパスを概略的に示す図である。
【図４】本発明の実施形態に基づく関係を概略的に示す図である。
【図５】本発明の実施形態に基づくアルゴリズムの実行を概略的に示す図である。
【図６】本発明の更なる実施形態に基づくアルゴリズムの実行を概略的に示す図である。
【図７】本発明の実施形態に基づくアルゴリズムの実行を概略的に示す図である。
【図８】本発明の更なる実施形態に基づくアルゴリズムの実行を概略的に示す図である。
【図９】本発明の更なる実施形態に基づくアルゴリズムのスキーマを概略的に示す図である。
【図１】
0004403188.tif 000011
【図２】
0004403188.tif 000012
【図３】
0004403188.tif 000013
【図４】
0004403188.tif 000014
【図５】
0004403188.tif 000015
【図６】
0004403188.tif 000016
【図７】
0004403188.tif 000017
【図８】
0004403188.tif 000018
【図９】
0004403188.tif 000019