(57)【要約】      （修正有）【課題】最適なバディ・ファインダ電気通信サービスを提供する。【解決手段】地理的サービス・エリアの中にある通信デバイスのユーザに、サービスを提供する。通信デバイスは、ユーザの一人と関連付けられている。サービスは、ユーザに、サービス・エリア内にいる別のユーザの別デバイスの存在を条件付きで通知する。この通知は、別のユーザが前記特定のユーザのバディとして登録されている場合、そしてユーザのデバイスとバディのデバイスとの間の地理的距離が、所定の閾値よりも小さい場合に行われる。ポーリング・サイクルにおいて、地理的位置に関して、更に直前のサイクルにおいて決定されたランク付けに応じて、移動体デバイスを連続してポーリングする。項の総和の値を最小にするようにランク付けを選択する。項の各々は、ユーザの移動通信デバイスのランクと、バディの移動通信デバイスのランクとの間における差を示す。【選択図】図１
2011139438.tif 000002
【特許請求の範囲】
【請求項１】
サービスによってカバーされる地理的サービス・エリア（２００）内にある通信デバイスの複数のユーザ（２０１、２０２、２０３、２０４、２０５、２０６）に前記サービスを提供する方法であって、
前記通信デバイスの各具体的な１つは、前記複数のユーザの内具体的な一人と関連付けられており、
前記サービスは、前記複数のユーザの内特定の一人に、当該特定のユーザと関連付けられている通信デバイスを通じて、前記サービス・エリア内にいる前記複数のユーザの内別の一人の別の通信デバイスの存在を条件付きで通知することを含み、
前記通知は、以下の条件、
前記別のユーザが前記特定のユーザのバディとして登録されていること、
前記特定の通信デバイスおよび前記他の通信デバイスの内少なくとも１つが移動通信デバイスであること、ならびに、
前記特定の通信デバイスと前記他の通信デバイスとの間の地理的距離が、所定の閾値よりも小さいことが判定されていること、
という条件の下で行われ、
前記方法は、一連のポーリング・サイクルを実行するステップを含み、
前記ポーリング・サイクルの各具体的な１つにおいて、地理的位置に関して、そして、前記ポーリング・サイクルの内直前のサイクルにおいて決定された具体的なランク付けに応じて、前記通信デバイスの内移動通信デバイスを連続してポーリングし、
前記具体的なランク付けは、項の総和の値を最小にするように選択され、
前記項の各々は、前記それぞれのユーザのそれぞれの移動通信デバイスにおける可能なランクと、前記それぞれのユーザのバディとして登録されているそれぞれの他のユーザの前記それぞれの別の移動通信デバイスにおけるそれぞれの可能な別のランクとの間におけるそれぞれの差を示す、方法。
【請求項２】
請求項１記載の方法において、前記所定の閾値の大きさは、前記複数のユーザの内異なる者毎に異なる、方法。
【請求項３】
請求項１または２記載の方法において、前記総和におけるそれぞれの各項について、前記それぞれのユーザのそれぞれの移動通信デバイスと前記それぞれのユーザのバディとして登録されているそれぞれの別のユーザの前記それぞれの他の移動通信デバイスとの間におけるそれぞれの地理的距離が、前記所定の閾値よりも大きい別の所定の閾値よりも小さい、方法。
【請求項４】
コンピュータ読み取り可能媒体上の制御ソフトウェアであって、この制御ソフトウェアが、サービスによってカバーされる地理的サービス・エリア（２００）の中にある通信デバイスの複数のユーザ（２０１、２０２、２０３、２０４、２０５、２０６）に前記サービスを提供する方法において用いるように構成されており、
前記通信デバイスの各具体的な１つは、前記複数のユーザの内具体的な一人と関連付けられており、
前記サービスは、前記複数のユーザの内特定の一人に、前記特定のユーザと関連付けられている通信デバイスを通じて、前記サービス・エリア内にいる前記複数のユーザの内別の一人の別の通信デバイスの存在を条件付きで通知することを含み、
前記通知は、以下の条件、
前記別のユーザが前記特定のユーザのバディとして登録されていること、
前記特定の通信デバイスおよび前記他の通信デバイスの内少なくとも１つが移動通信デバイスであること、ならびに、
前記特定の通信デバイスと前記他の通信デバイスとの間の地理的距離が、所定の閾値よりも小さいことが判定されていること、
という条件の下で行われ、
前記方法は、一連のポーリング・サイクルを実行することを含み、
前記ポーリング・サイクルの各具体的な１つにおいて、地理的位置に関して、そして、前記ポーリング・サイクルの内直前のサイクルにおいて決定された具体的なランク付けに応じて、前記通信デバイスの内移動通信デバイスを連続してポーリングし、
前記制御ソフトウェアは、項の総和の値を最小にするように前記具体的なランク付けを選択する命令を備えており、前記項の各々は、前記それぞれのユーザのそれぞれの移動通信デバイスにおける可能なランクと、前記それぞれのユーザのバディとして登録されているそれぞれの他のユーザの前記それぞれの別の移動通信デバイスにおけるそれぞれの可能な別のランクとの間におけるそれぞれの差を示す、制御ソフトウェア。
【請求項５】
サービスによってカバーされる地理的サービス・エリア（２００）の中にある通信デバイスの複数のユーザ（２０１、２０２、２０３、２０４、２０５、２０６）に前記サービスを提供するように構成されているデータ処理システムであって、
前記通信デバイスの各具体的な１つは、前記複数のユーザの内具体的な一人と関連付けられており、
前記サービスは、前記複数のユーザの内特定の一人に、前記特定のユーザと関連付けられている通信デバイスを通じて、前記サービス・エリア内にいる前記複数のユーザの内別の一人の別の通信デバイスの存在を条件付きで通知することを含み、
前記通知は、以下の条件、
前記別のユーザが前記特定のユーザのバディとして登録されていること、
前記特定の通信デバイスおよび前記他の通信デバイスの内少なくとも１つが移動通信デバイスであること、ならびに、
前記特定の通信デバイスと前記他の通信デバイスとの間の地理的距離が、所定の閾値よりも小さいことが判定されていること、
という条件の下で行われ、
前記データ処理システムは、一連のポーリング・サイクルを実行するように構成されており、
前記ポーリング・サイクルの各具体的な１つにおいて、地理的位置に関して、そして、前記ポーリング・サイクルの内直前のサイクルにおいて決定された具体的なランク付けに応じて、前記通信デバイスの内移動通信デバイスを連続してポーリングし、
前記データ処理システムは、項の総和の値を最小にするように前記具体的なランク付けを選択するように動作し、前記項の各々は、前記それぞれのユーザのそれぞれの移動通信デバイスにおける可能なランクと、前記それぞれのユーザのバディとして登録されているそれぞれの他のユーザの前記それぞれの別の移動通信デバイスにおけるそれぞれの可能な別のランクとの間におけるそれぞれの差を示す、データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスによってカバーされる地理的サービス・エリア内にある通信デバイスの複数のユーザにサービスを提供する方法に関するものである。更に、本発明は、この方法における制御ソフトウェアまたは使用、およびそのサービスを提供するように構成されたデータ処理システムに関するものである。
【従来技術】
【０００２】
「バディ・ファインダ」(buddy finder)という表現は、電気通信のコンテキストにおいて用いられ、具体的なソーシャル・ネットワーキング・サービスに言及する。このサービスは、移動体電話機およびネットワーク対応パームトップ・コンピュータ等のような、電子通信機器の登録ユーザに提供される。このサービスは、第１のユーザのバディとして当該サービスと共にリストに載せられている第２のユーザが、第１のユーザの地理的位置から所定の距離以内に現在位置するという事実を、第１のユーザに通知する。このサービスは、例えば、移動体デバイスからもっと強い信号を受信した移動体電話ネットワークの基地局の位置に基づいて、または現在通信デバイスが位置しているセルを特定することに基づいて、または多数の基地局において受信された信号の三角測量に基づいて、移動通信デバイスの地理的位置を判断する。
【０００３】
人物「Ａ」がバディ・ファインダ・サービスに登録すると、人物「Ａ」の移動体電話機の地理的位置を表すデータがサーバにアップロードされる。このサーバにおいて、このデータは、例えば、人物「Ａ」によって通知されることが許されているとしてサービスに登録されている別の人物「Ｂ」に、人物「Ａ」の現在の地理的位置を通知するために用いることができる。次いで、通知(alerting)は、例えば、人物「Ｂ」の移動体電話機またはその他の移動体ネットワーク対応計算機を用いる。関連する地理的位置は、人物「Ｂ」の移動体電話機においてレンダリングされた地理的地図における一定のマークとして示すことができる。この通知は、人物「Ａ」および「Ｂ」について判定された地理的位置間の距離の大きさに応じて、条件付きにしてもよい。
【０００４】
バディ・ファインダ・サービスおよび技術についての一般的な背景の一部について、例えば、米国特許出願公開第２００２０１８３０５２号、日本国特許出願公開ＪＰ２００３−１５３５２２号、およびヨーロッパ特許出願公開第１  ６９１  ５６５号を参照のこと。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
先に論じたような、２人のバディの地理的位置間における距離に基づく条件付き通知について考える。本発明者は、既知のシステムにおけるサーバによって計算されるバディの位置は、容認できない程精度が低い場合があることを発見した。この理由の１つは、いずれのサーバも限られた性能を有するに過ぎず、しかもユーザは移動中である可能性があるということである。即ち、サーバが移動体ユーザのリスト上における最後の人の現在地を計算するときまでに、他のユーザが他の場所に移動していた場合、これらのユーザについて判定した位置は低精度となる。例えば、サーバが関連する地理的位置データを処理し特定の人についてその位置を判定するために要する典型的な時間長を１秒と仮定する。すると、９００人について位置を判定するには、１時間の１／４がかかることになる。ここで、「バディＡ」および「バディＢ」と呼ぶ２人のバディの位置が、１０分離れて判定されたという想定場面について考える。即ち、バディＡの位置は時点Ｔにおいて判定され、バディＢの位置は時点Ｔ＋１０分において判定される。バディＡが移動している間、またはバディＡが彼／彼女の地理的位置を変えようとする直前に、バディＡの位置が判定された可能性もある。その結果、バディＢの位置が判定された時点、即ち、１０分後には、一方では、１０分離れて判定されたバディＡおよびバディＢの地理的位置に基づいて計算された、バディＡおよびバディＢ間の地理的距離と、他方では、彼らの実際の距離との間に、大きな乖離が生ずることもあり得る。したがって、バディの位置が判定される時点間の時間期間の長さを短縮すれば、有利であろう。
【課題を解決するための手段】
【０００６】
したがって、本発明者は、通信ネットワーク上において、複数の通信デバイスがアクティブでありサービスによってカバーされる地理的サービス・エリア内にあるときに、そのユーザにサービスを提供する方法を提案する。通信デバイスの具体的な１つずつは、複数のユーザの内具体的な一人と関連付けられている。サービスは、複数のユーザの内特定の一人に、当該特定のユーザと関連付けられている通信デバイスを通じて、サービス・エリア内にいる複数のユーザの内別の一人の別の通信デバイスの存在を条件付きで通知することを含む。この通知は、別のユーザが特定のユーザのバディとして登録されていることという第１条件、特定の通信デバイスおよび他の通信デバイスの内少なくとも１つが移動通信デバイスであることという第２条件、ならびに、特定の通信デバイスと他の通信デバイスとの間の地理的距離が、所定の閾値よりも小さいことが判定されていることという第３条件の下で行われる。本方法は、一連のポーリング・サイクルを実行することを含む。ポーリング・サイクルの各具体的な１つにおいて、地理的位置に関して、更にポーリング・サイクルの内直前のサイクルにおいて決定された具体的なランク付けに応じて、通信デバイスの内移動通信デバイスを順次ポーリングする。具体的なランク付けは、項の総和の値を最小にするように選択される。項の各々は、それぞれのユーザのそれぞれの移動通信デバイスの可能なランクと、それぞれのユーザのバディとして登録されているそれぞれの他のユーザのそれぞれの別の移動通信デバイスのそれぞれの可能な別のランクとの間におけるそれぞれの差を示す。
【０００７】
可能なランクにおける差は、一方では、ユーザの移動通信デバイスのポーリング、他方では、最初に述べたユーザのバディとして登録されている別のユーザの別の移動通信デバイスのポーリングとの間における時間間隔の長さを示す。これらの項の総和を最小にすることは、ユーザおよびそのバディのポーリング間に経過する時間の集計を最短にすることに対応する。
【０００８】
「最小にする」という用語は、本明細書において用いる場合、最小化問題に対する解を決定するために得られる時間の制限というような実際の状況を想定して、総和の値をできるだけ小さくしようとする手法またはアルゴリズムもその範囲に該当することを意図している。この項の総和の値を最小化する問題は、数学的なＮＰ−完全問題(NP-complete problem)、即ち、問題を解くために必要な時間が、その問題のサイズ、ここでは、関与する項の数と共に指数的に増大する問題であってもよい。例えば、近似（即ち、最適解の代わりに、最適解の近似を求める）、ランダム化（例えば、多数の異なる具体的なランク付けを試み、項の総和の最小値を当てるものを残しておく）、パラメータ化（例えば、ある移動体電話機のランクを固定したままにしておき、残りのものに関して最適化する）等によって、実用上の目的に合わせて問題に取り組むことができる。「最小にする」という用語は、したがって、直前のポーリング・サイクルにおいて得られた値よりも小さい、項の総和の次の値を与える次のポーリング・サイクルについてランク付けを決定することも含むものとして理解することとする。
【０００９】
前述の方法の一実施形態では、それぞれの項は、それぞれの移動通信デバイスのそれぞれのランクと、それぞれの別の移動通信デバイスのそれぞれの別のランクとの間におけるそれぞれの差の、それぞれの絶対値、例えば、二乗を表す。
所定の閾値の大きさは、複数のユーザの内異なる者毎に異なるようにすることもできる。あるいは、ユーザの個々の一人毎に、所定の閾値の個々の大きさを指定してあってもよい。即ち、異なるユーザは、彼らのバディが異なる範囲内にいるときに、通知を受信することができる。
【００１０】
尚、第１ユーザが第２ユーザのバディとして登録していても、第２ユーザは第１ユーザのバディとして登録していない場合もあることを注記しておく。また、バディの存在をユーザに通知することは、ユーザの通信デバイスおよびバディの通信デバイスの内少なくとも一方が移動通信デバイスである場合にのみ意味があることも注記しておく。固定通信デバイス、例えば、陸線電話機の地理的位置は、例えば、ストリート・アドレス(street address)を判定し、この住所を地理的地図座標に変換することによって、１回だけ判定すれば済む。この地図座標は、参照テーブルに格納することができる。
【００１１】
次のランク付けが、直前のポーリング・サイクルに適用された直前のランク付けとコンフリクトすることもあり得る。更に具体的には、項の総和を最小にした結果として次のランク付けにおいて具体的なユーザに割り当てられたランクが、項の総和には出てこない、別のユーザの直前のランク付けにおけるランクとコンフリクトすることもある。例えば、この別のユーザは、サービス・エリア内にいるバディを有していなかったかもしれず、またはバディを有するがその通信デバイスがオフになっていたのかもしれない。本発明の方法は、組み合わされるユーザおよび関連のあるバディの全ての対について、ユーザのポーリングとこのユーザのバディのポーリングとの間における時間間隔を最小にしようとする。したがって、２人のユーザに同じランクを割り当てることを回避するために、項の総和には現れなかった他のユーザのランクを変更することができる。このランクの変更は、この他のユーザや、最小化される項の総和に現れたユーザのいずれに関しても、サービスの質に影響を及ぼさない。項の総和に現れなかったユーザのランクは、同じランクへの二重割り当てを回避するために、適したアルゴリズムであればいずれにしたがってでも変更することができる。例えば、項の総和を最小にすることによって具体的なユーザについて新たなランクを決定した場合、そしてこの新たなランクが、項の総和に現れなかった別のユーザによって占められていた直前のランク付けにおけるランクと一致した場合、この具体的なユーザおよび別のユーザは、次のランク付けにおいてランクを交換しさえすればよい。
【００１２】
本方法の一実施形態では、総和におけるそれぞれの各項について、それぞれのユーザのそれぞれの移動通信デバイスとそれぞれのユーザのバディとして登録されているそれぞれの別のユーザのそれぞれの他の移動通信デバイスとの間におけるそれぞれの地理的距離が、最初に述べた所定の閾値よりも大きい別の所定の閾値よりも小さい。
【００１３】
この実施形態では、項の総和の値を最適化するために、サービス・エリア内にある移動通信デバイスの内特定のもののみのランクを考慮する。１対の移動通信デバイス、一方はユーザのデバイス、他方はユーザのバディのデバイスを項の総和において考慮するのは、彼らが既に互いから一定の距離以内にあり、この距離が通知を発するための閾値よりも大きい場合だけである。この通知が発せられるのは、ユーザおよび／または彼／彼女のバディが第１範囲内にいる場合である。したがって、彼らが互いの第１範囲以内に入る正当な理由がある場合には、彼らのランク付けを最適化するため、つまり彼らのポーリング時点の間における差を最小にするためには、これらのユーザのみを選択することが好都合である。
【００１４】
上述の実施形態は、本発明を方法として利用した例を示す。このような方法は、例えば、サービス・プロバイダまたはネットワーク運用事業者に商業的に関連がある。
【００１５】
また、本発明は、コンピュータ読み取り可能媒体上の制御ソフトウェアとしても、商業的に利用することができる。この制御ソフトウェアは、サービスによってカバーされる地理的サービス・エリアの中にある通信デバイスの複数のユーザにサービスを提供する方法において用いるように構成されている。通信デバイスの各具体的な１つは、複数のユーザの内具体的な一人と関連付けられている。このサービスは、複数のユーザの内特定の一人に、特定のユーザと関連付けられている通信デバイスを通じて、サービス・エリア内にいる複数のユーザの内別の一人の別の通信デバイスの存在を条件付きで通知することを含む。通知は、以下の条件、即ち、別のユーザが特定のユーザのバディとして登録されていること、特定の通信デバイスおよび他の通信デバイスの内少なくとも１つが移動通信デバイスであること、ならびに、特定の通信デバイスと他の通信デバイスとの間の地理的距離が、所定の閾値よりも小さいことが判定されていることという条件の下で行われる。本方法は、一連のポーリング・サイクルを実行することを含む。ポーリング・サイクルの各具体的な１つにおいて、地理的位置に関して、更にポーリング・サイクルの内直前のサイクルにおいて決定された具体的なランク付けに応じて、通信デバイスの内移動通信デバイスを順次ポーリングする。制御ソフトウェアは、項の総和の値を最小にするように具体的なランク付けを選択する命令を備えており、項の各々は、それぞれのユーザのそれぞれの移動通信デバイスの可能なランクと、それぞれのユーザのバディとして登録されているそれぞれの他のユーザのそれぞれの別の移動通信デバイスのそれぞれの可能な別のランクとの間におけるそれぞれの差を示す。
【００１６】
コンピュータ読み取り可能媒体は、例えば、磁気ディスク（例えば、ハード・ディスク）または光ディスク（例えば、ＣＤ−ＲＯＭ）上に実施されたメモリ、あるいは半導体メモリ（例えば、メモリ・スティックまたは集積回路チップとして実施される）を含む。本発明による制御ソフトウェアは、例えば、ソフトウェア・プロバイダまたは製造業者(set maker)に商業的に関連がある。この制御ソフトウェアは、ソース・コード、またはオブジェクト・コードの形態、あるいは部分的にコンパイルされたフォーマットにおけるコードのような、ソース・コードとオブジェクト・コードとの間の中間コードの形態をなすことができる。本発明の制御ソフトウェアの更に別の実施形態は、追加の命令も有することができ、例えば、本明細書において論じられるおよび／または添付した従属方法の請求項において指定される、本発明における方法の種々の実施形態において出てくる１つ以上のステップの実行を制御する命令を有することもできる。
【００１７】
また、本発明は、サービスによってカバーされる地理的サービス・エリアの中にある通信デバイスの複数のユーザにサービスを提供するように構成されているデータ処理システムとして、商業的に利用することもできる。通信デバイスの各具体的な１つは、複数のユーザの内具体的な一人と関連付けられている。サービスは、複数のユーザの内特定の一人に、その特定のユーザと関連付けられている通信デバイスを通じて、サービス・エリア内にいる複数のユーザの内別の一人の別の通信デバイスの存在を条件付きで通知することを含む。この通知は、以下の条件、即ち、別のユーザが特定のユーザのバディとして登録されていること、特定の通信デバイスおよび他の通信デバイスの内少なくとも１つが移動通信デバイスであること、ならびに、特定の通信デバイスと他の通信デバイスとの間の地理的距離が、所定の閾値よりも小さいことが判定されていることという条件の下で行われる。データ処理システムは、一連のポーリング・サイクルを実行するように構成されている。ポーリング・サイクルの各具体的な１つにおいて、地理的位置に関して、更にポーリング・サイクルの内直前のサイクルにおいて決定された具体的なランク付けに応じて、通信デバイスの内移動通信デバイスを順次ポーリングする。データ処理システムは、項の総和の値を最小にするように具体的なランク付けを選択するように動作し、項の各々は、それぞれのユーザのそれぞれの移動通信デバイスの可能なランクと、それぞれのユーザのバディとして登録されているそれぞれの他のユーザのそれぞれの別の移動通信デバイスのそれぞれの可能な別のランクとの間におけるそれぞれの差を示す。
【００１８】
データ処理システムの更に別の実施形態は、追加の機構を有することもでき、例えば、本明細書において論じたおよび／または添付した従属方法請求項において指定した、本発明における方法の１つ以上のステップを実行するように動作する機構も有することができる。
【００１９】
一例として、添付図面を参照しながら本発明について更に詳しく説明する。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明における方法の一実施形態を示す流れ図である。
【図２】図２は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図３】図３は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図４】図４は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図５】図５は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図６】図６は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図７】図７は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図８】図８は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【図９】図９は、単純な例を用いて、本発明の方法の使用のコンテキストを示す図である。
【００２１】
図面全体を通じて、同様の特徴または対応する特徴を同じ参照番号で示すこととする。
【発明を実施するための形態】
【００２２】
通信デバイスの複数のＮ人のユーザから成るセットについて考える。数「Ｎ」は、正の整数である。Ｎ人のユーザの各々は、それぞれの通信デバイスを携行している。個々の通信デバイスの地理的位置は、その個々の通信デバイスのユーザの地理的位置と対応すると仮定する。ユーザの個人識別および彼／彼女の通信デバイスの個別識別は、この明細書では相互交換可能に用いられる。インデックスが「ｃ」であるポーリング・サークルにおいて、インデックスが「ｉ」である具体的な通信デバイスの地理的位置「ｐ」は、二次元ベクトル「ｐ（ｉ；ｃ）」によって示される。この二次元ベクトル「ｐ（ｉ；ｃ）」は、例えば、地理的位置「ｐ」の緯度および経度を示す。
【００２３】
Ｎ人のユーザは順次、即ち、一人ずつポーリングされること、および本発明では、ポーリング・シーケンスは一般にサイクル毎に異なることを頭に入れておくことは重要である。これについては、以下で説明する。
【００２４】
特定の(particular)ポーリング・サイクルｃの終了時におけるＮ人のユーザの具体的な(specific)状態は、順序付けされた地理的位置｛ｐ（ｋ；ｃ）；ｐ（ｌ；ｃ）；ｐ（ｍ；ｃ）；．．．；ｐ（ｑ；ｃ）}のセットによって表される。ここで、ｐ（ｋ；ｃ）は、インデックスがｋのユーザの地理的位置であり、このユーザは、サイクルｃにおいて最初にポーリングされた人である。ｐ（ｌ；ｃ）は、インデックスがｌであるユーザの地理的位置であり、このユーザはサイクルｃにおいて２番目にポーリングされた人である。ｐ（ｍ；ｃ）は、インデックスがｍであるユーザの地理的位置であり、このユーザはサイクルｃにおいて３番目にポーリングされた人である。そして、ｐ（ｑ；ｃ）は、インデックスがｑであるユーザの地理的位置であり、このユーザはサイクルｃにおいて最後にポーリングされた人である。
【００２５】
ここで、Ｎ次元ベクトル「Ｐ（ｃ）」を形成する。そのランク「ｘ」における成分は、ポーリング・サイクルｃにおいてｘ番目にポーリングされた人であるユーザｉの個人識別と対応する。即ち、前述の例のＮ次元ベクトル「Ｐ（ｃ）」は、成分（ｋ；ｌ；ｍ；．．．；ｑ）を有する。ここで、次のポーリング・サイクル「ｃ＋１」について考える。ポーリング・サイクル「ｃ＋１」では、ポーリング・シーケンスが現在のポーリング・サイクル「ｃ」のそれとは変化している。数学的には、この変化は、Ｎ次元ベクトルＰ（ｃ）に行列変換Ｐ（ｃ＋１）＝Ｔ・Ｐ（ｃ）を適用することによって表すことができる。ここで、行列Ｔはユニタリー行列である。行列Ｔは、直前のサイクルｃにおいて推定された(assumed)ポーリング・シーケンスの置換(permutation)を実施することによって、次のサイクルｃ＋１において新たなポーリング・シーケンスを実行する。行列Ｔの列は、相互に直交の単位ベクトルによって形成される。これらの単位ベクトルが一緒になって、ベクトルＰ（ｃ）のＮ次元ベクトル空間の範囲に及ぶ。
【００２６】
順序付けたＮ個のエレメントのセットに可能な順列の数は、数値Ｎの階乗に等しい。即ち、Ｎ！＝Ｎ・（Ｎ−１）・（Ｎ−２）．．．・２・１となる。ここで、記号「・」は、通常のスカラー積を示す。本発明では、求められる順列は、互いのバディとして登録されているＮ人のユーザ間におけるペアのポーリング時刻の差を短縮または最小にする順列である。尚、サイクルｃの間にユーザｉをポーリングするポーリング時刻は、Ｎ次元ベクトルＰ（ｃ）におけるユーザｉのランクに対応することを注記しておく。サイクルｃにおけるユーザｉのポーリング時刻とユーザｊのポーリング時刻との間の差は、したがって、ベクトルＰ（ｃ）におけるユーザｉおよびユーザｊのランクの差に対応する。つまり、バディとして登録されているこれらユーザの全てのペアのランク差の総和を最小にする順列は、Ｎ次元ベクトルＰにおけるバディのランク差の総和を最小にする。バディのペアのランク差は負になることもあり得るので、ランク差の二乗の総和、または差の絶対値の総和ｗを最小にする方が好ましい。総和を最小にする場合、直前のポーリング・サイクルによって、互いからある地理的距離以内にいることが判定されたバディのみを考慮することが好ましい。
【００２７】
したがって、本発明における方法の一実施形態は、以下のように実施する。サービスによってカバーされる地理的エリア内にいるそれぞれのユーザのそれぞれの地理的位置を順次ポーリングする。ポーリングされたユーザ間にバディのペアがあるか否か判断する。尚、個々のユーザには１人よりも多いバディがいることもあることを注記しておく。特定されたバディのペア毎に、それぞれのバディのペア間におけるそれぞれの地理的距離を判定する。それぞれのペア間のそれぞれの地理的距離が所定の閾値よりも小さい場合、それぞれのペアをアクティブと印する。一旦全てのアクティブ・ペアをこのように識別し終えたなら、アクティブ・ペア間のランク差の二乗の全てのアクティブ・ペアに亘る総和を最小にする。この最適化問題にペアする解から、アクティブ・ペアのバディに１セットの新たなポーリング・ランクが与えられる。次のサイクルｃ＋１では、新たなポーリング・ランクを用いることになる。次いで、サイクルｃにおいて最適化問題の考慮に入れられなかった残りのユーザが、バディのアクティブ・ペアによって占められなかったランクでポーリングされる。残りのユーザの内あらゆる具体的な一人のポーリング・ランクを決定するために、適した割り当て方針であればいずれでも用いることができる。例えば、具体的な(specific)アクティブ・ペアの内一方の具体的なバディが、サイクルｃでは特定の(particular)残りのユーザによって占められていた、新たなランクをサイクルｃ＋１において受け取った場合、この具体的なバディおよび残りのユーザは、サイクルｃ＋１ではランクを交換する。
【００２８】
図１は、本発明による方法の一実施形態におけるプロセスを示す流れ図１００である。サービス・エリア内にあるアクティブな移動通信デバイスの数が整数Ｎに等しいと仮定する。初期化ステップとして、Ｎ個の移動通信デバイスを任意の順序でランク付けする。Ｎ個のアクティブな移動通信デバイスの各々には、それぞれのインデックスｋが割り当てられる。インデックスｋは、ｋ＝１からｋ＝Ｎまでの範囲を取る整数である。Ｎ個のアクティブな移動通信デバイスの内具体的な１つ、例えば、インデックスがｋであるアクティブ移動通信デバイスは、インデックスがｃであるポーリング・サイクルにおいてランクｒ＝ｒ（ｃ；ｋ）を用いる。
【００２９】
第１ステップ１０２において、第１ポーリング・サイクルｃ＝１において、サービス・エリア内にあるアクティブな移動通信デバイスのポーリングを開始する準備を行う。第１ポーリング・サイクルｃ＝１におけるポーリングは、任意のランク付け配列ｒ＝ｒ（１；ｋ）を用いて行うことができ、インデックスｋは１からＮの範囲である。
【００３０】
第２ステップ１０４において、ランクｒ＝１において現れる移動通信デバイスを選択する。これは、インデックスｋを有する移動通信デバイスであると仮定する。
【００３１】
第３ステップ１０６において、インデックスがｋである移動通信デバイスの地理的位置ｐ＝ｐ（１；ｋ）を判定する。地理的位置ｐ＝ｐ（１；ｋ）をデータベースに一時的に格納する。
【００３２】
第４ステップ１０８において、インデックスがｋである移動通信デバイスのユーザには、サービス・エリア内にアクティブなバディがいるか否か判断する。いない場合、本プロセスは第５ステップ１１０に進み、ここで次のランクｒ：＝ｒ＋１において現れる移動通信デバイスを選択する。第５ステップ１１０から、プロセスは次に第３ステップ１０６に戻る。第３ステップ１０６において、ランクｒ：＝ｒ＋１において現れた移動通信デバイスの地理的位置を判定する。第４ステップ１０８において、サービス・エリア内に１つ以上のアクティブなバディがいると判断した場合、本プロセスは第６ステップ１１２に進み、ここで、そのバディについて判定した最新の地理的位置をデータベースから引き出す。多数のバディがいる場合、これらのバディについて判定した最新の地理的位置をデータベースから引き出す。尚、サービス・エリアに実際にいるアクティブなバディが一人である場合、このバディは未だポーリングされていないかもしれず、したがって後に同じポーリング・サイクルにおいてポーリングされるまでは、流れ図１００のプロセスにはこのバディは未だ見えないかもしれないことを注記しておく。したがって、現在ポーリングされている移動通信デバイスのユーザのバディがポーリングされていないと、本プロセスは第４ステップ１０８から第５ステップ１１０に移る。
【００３３】
一人以上のバディの最新の地理的位置が第６ステップ１１２において判定された場合、本プロセスは第７ステップ１１４に進む。
【００３４】
第７ステップ１１４において、一方では現在ポーリングされている通信デバイスの地理的位置と、他方では各バディの最新の地理的位置との間における地理的距離を判定する。
【００３５】
次の第８ステップ１１６において、第６ステップ１１２において関与した各バディについて、そのバディが、現在ポーリングされている移動通信デバイスのユーザから所定の距離以内にいるか否か判断する。
【００３６】
所定の距離以内にバディがいる場合、本プロセスは第９ステップ１１８に進み、ここで、現在ポーリングされている移動通信デバイスのユーザに、彼／彼女の通信デバイスを通じて、そのバディがいることを通知する。次いで、このユーザは、合流して、一緒においしいビールを飲みに行き、楽しみのためにその場だけの作り話(ad-hoc inventing)をすること等が都合がよいか否か確かめるために、彼／彼女のバディに電話することができる。
【００３７】
所定の距離は、サービス・エリア内にある移動通信デバイスのユーザ全てに均一に適用可能であるように選択するとよい。あるいは、これらのユーザの個々の各一人が、バディが個々に指定された距離以内にいる場合にそのバディの存在を通知すればよいことを、予め指定しておくこともできる。個々のユーザは、彼らの存在を通知してもらうための規準として、異なるバディ毎に異なる距離を指定していてもよい。
【００３８】
１つのオプションとして、既に通知されたユーザの移動通信デバイスを、次の１回以上のサイクルではランク付けから外して、同じバディの存在に関して多数の通知を受信することを回避する。代わりの選択肢として、具体的なバディについて、その存在が第９ステップ１１８においてユーザに通知されたならば、次の１回以上のポーリング・サイクルの間、そのバディを第８ステップ１０８における評価から除外する。
【００３９】
第８ステップ１１６において、所定の距離以内にはバディがいないと判断された場合、本プロセスは第１０ステップ１２０に進む。また、第９ステップ１１８においてユーザに通知した後にも、本プロセスは第１０ステップ１２０に進む。
【００４０】
第１０ステップ１２０において、現在のランク付けにおいてランクｒ＝Ｎを占める移動通信デバイスが既にポーリングされたか否か判断する。されていない場合、本プロセスは第５ステップ１１０に戻り、現在のポーリング・サイクルにおいて用いられているランク付けにおいて次のランクにある移動通信デバイスのポーリングの準備を行う。
【００４１】
第１０ステップ１２０において、現在のランク付けにおいて出てくる全ての移動通信デバイスにポーリングしたと判断した場合、本プロセスは第１１ステップ１２２に進む。
【００４２】
第１１ステップ１２２において、次のポーリング・サイクルｃ＋１のランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]を決定する。先に詳細に論じたように、次のポーリング・サイクルｃ＋１のランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]は、項の総和を最小にするランク付けとして選択され、項のそれぞれは、それぞれのユーザと彼／彼女のそれぞれのバディのランク間の差の絶対値を表す。利用可能な時間以内で最適解を見出すことが不可能である場合、最適解の近似を求めるために、様々なアルゴリズムを用いることができる。先に論じた用語「最小にする」の説明を参照のこと。一旦第１１ステップ１２２においてランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]が決定されたなら、本プロセスは第１２ステップ１２４に進み、ｃの値を単位量だけ増分する。この増分した値が次のポーリング・サイクルのインデックスとなる。次いで、本プロセスは第２ステップ１０４に戻り、ここで、移動通信デバイスが、次のランク付けアレイ［ｒ（ｃ＋１；ｋ）]のランクｒ＝１において現れる。
【００４３】
ここで、具体的なユーザが２人以上のバディを有し、これらのバディの各々がこの具体的なユーザから所定の距離以内にいるという想定場面について考える。これらのバディの一人が、これらのバディの別の一人よりも具体的なユーザに近くにいることは非常にありそうに思われる。したがって、具体的なユーザおよびバディの内近い方の一人のポーリング・ランク間の差が、具体的なユーザおよび遠い方のバディのポーリング・ランクの差よりも小さいことが望ましい。先に決定した次のポーリング・サイクルｃ＋１のランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]は、具体的なユーザと、ランク付けアレイに出てくるこのユーザのバディの各々との間の距離の差を考慮していない。したがって、図１に示すプロセスを以下のように拡張することができる。先に論じた第１１ステップ１２２において指定されたように、総和を最小にすることによって、ランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]が決定されたと仮定する。ここで、このランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]において出てくる２人以上のバディを有する各ユーザを、ランク付けアレイｒ＝［ｒ（ｃ＋１；ｋ）]において識別する。これらのバディのランクを並び換えても、総和を最小にすることの結果には影響しない、または実質的に影響しないのは当然である。この具体的なユーザのバディのランクを並び換えると結果に影響があるか否かは、この具体的なユーザのバディが、総和に出てくる他のユーザのバディとしても登録されているか否か如何による。例えば、連続するランクに出てくるバディのみに並び替えを制限することもできる。別の例として、具体的なユーザとこの具体的なユーザのバディの内地理的に最も近いバディとの間の時間間隔が、具体的なユーザおよび他のバディのいずれの一人のポーリングの間における別の時間間隔よりも短くなるように、具体的なユーザの２人のバディのランクを交換することもできる。
【００４４】
図２は、ユーザＮ＝５のセットを参照して、本発明における方法のコンテキストを示す図である。第１ユーザ２０１、第２ユーザ２０２、第３ユーザ２０３、第４ユーザ２０４、および第５ユーザ２０５が、地理的サービス・エリア２００の内部にいる。第１ユーザ２０１、第２ユーザ２０２、第３ユーザ２０３、第４ユーザ２０４、および第５ユーザ２０５の通信デバイスは、全て移動通信デバイス、例えば、移動電話機であると仮定する。更に、第５ユーザ２０５は第１ユーザ２０１のバディとして登録してあり、第２ユーザ２０２および第４ユーザ２０４は互いのバディとして登録してあると仮定する。また、現在のポーリング・サイクルでは、移動体ユーザ２０２〜２０５を次の順序でポーリングしたと仮定する。第１ユーザ２０１、第２ユーザ２０２、第３ユーザ２０３、第４ユーザ２０４、および第５ユーザ２０５。図２の線図における破線の円は、各々、ユーザ２０１〜２０５の内具体的な一人を中心に描かれており、少なくとも一方が他方のバディとして登録されている１ペアのユーザが、彼らの内の少なくとも一方に他方の存在が通知されるようにするために存在しなければならない範囲を示す。この範囲は、この例では、全てのユーザ２０１〜２０５について均一となるように選択する。あるいは、ユーザ２０１〜２０５のそれぞれが、それぞれ異なる範囲を指定していてもよい。
【００４５】
明らかであろうが、第１ユーザ２０１および第５ユーザ２０５は互いの範囲内にはなく、第２ユーザ２０２および第４ユーザ２０４も互いの範囲にはない。第３ユーザ２０３および第４ユーザ２０４は、互いの範囲内にいるが、いずれも他方のバディとして登録されていない。したがって、ユーザ２０１〜２０５の誰にも通知する必要はない。
【００４６】
第２ユーザ２０２および第４ユーザ２０４が互いにバディとして登録されているので、次のサイクルにおいて、第２ユーザ２０２および第４ユーザ２０４を連続ポーリング動作でポーリングすると都合がよい。また、第１ユーザ２０１および第５ユーザ２０５を連続ポーリング動作でポーリングすることも都合がよい。
【００４７】
したがって、次のサイクルでは、以下のポーリング・シーケンスを用いる。第１ユーザ２０１が彼／彼女のランクに留まり、第１ランクにおいてポーリングされる。第５ユーザ２０５は彼／彼女のランクを変更し、第２ランクにおいてポーリングされる。第２ユーザ２０２は、丁度第５ユーザ２０５によって明け渡された第５ランクに移動させられ、一方第３ユーザ２０３および第４ユーザ２０４は、それぞれ、第３および第４ランクに留まる。これらのランクを入れ替えることによって、バディ関係が登録されている具体的なユーザおよび他の具体的なユーザの、同じサイクルにおけるポーリング間の時間差を最小にする。
【００４８】
図３は、５次元ベクトル「Ｐ（ｃ＝１）」を示す。このベクトルのランク「ｍ」における成分は、ポーリング・サイクルｃ＝１においてｍ番目にポーリングされたユーザｉの個人識別と対応する。また、図３は、５次元ベクトル「Ｐ（ｃ＝２）」も示す。このベクトルのランク「ｍ」における成分は、ポーリング・サイクルｃ＝２においてｍ番目にポーリングされたユーザｉの個人識別と対応する。
【００４９】
尚、１ペアのユーザ間におけるバディ関係は、第１ユーザ２０１と第５ユーザ２０５との間におけるように、単一方向にすることができることを注記しておく。単一関係方向では、ユーザの一方のみが他方のユーザのバディとして登録される。双方向関係では、第２ユーザ２０２および第４ユーザ２０４のように、１ペアのユーザの各々が、この１ペアのユーザの他方に対するバディとして登録される。
【００５０】
このように決定されたポーリング・シーケンスは、ユーザ２０１〜２０５の内一人以上と既にバディ関係を有する他のユーザがサービス・エリア２００に現れない限り、あるいは既にサービス・エリア２００内にいるユーザ２０１〜２０５の内誰もサービス・エリアから実際に離れない限り、または彼／彼女の通信デバイスを不活性化することによって機能的にサービス・エリアから離れない限り、維持することができる。
【００５１】
図４は、ユーザＮ＝６のセットを参照して、本発明における方法のコンテキストを示す図であり、新たなユーザが加入した後に、図２の線図におけるコンテキストから発展したものである。新たな、第６ユーザ２０６がサービス・エリア２００に入り、こうして、既に地理的サービス・エリア２００内にいる第１ユーザ２０１、第２ユーザ２０２、第３ユーザ２０３、第４ユーザ２０４、および第５ユーザ２０５に加入する。第６ユーザ２０６は、第５ユーザ２０５のバディとして、そして第４ユーザ２０４のバディとして登録されている。第６ユーザ２０６がサービス・エリア２００に入る前では、ポーリング・シーケンス、即ち、ポーリング・サイクルにおけるランク付けは、図３における５次元ベクトルＰ（ｃ＝２）によって示されるように、第１ユーザ２０１、第５ユーザ２０５、第３ユーザ２０３、第４ユーザ２０４、および第２ユーザ２０２というポーリング順序であった。例えば、サイクルｃ＝１７において第６ユーザ２０６が現れた後では、図５の６次元ベクトルＰ（ｃ＝１７）で示されるように、ポーリング・シーケンスは次のようになる。第１ユーザ２０１、第５ユーザ２０５、第３ユーザ２０３、第４ユーザ２０４、第２ユーザ２０２、および第６ユーザ２０６。このポーリング・シーケンスは、バディのペア間におけるランク付けの差の総和を最小にすることによって、次のサイクルｃ＝１８に合わせて最適化することができる。したがって、次のサイクルｃ＝１８におけるポーリング・サイクルは、第１ユーザ２０１、第５ユーザ２０５、第６ユーザ２０６、第４ユーザ２０４、第２ユーザ２０２、および第３ユーザ２０３となる。これは、図５において６次元ベクトルＰ（ｃ＝１８）によって示されている。
【００５２】
図６は、ユーザＮ＝４のセットを参照して、本発明における方法のコンテキストを示す図であり、図４の線図におけるコンテキストから発展したものである。図６の線図では、第２ユーザ２０２および第４ユーザ２０４が互いの範囲内に移動しているので、通知を発することができる。これはサイクルｃ＝１９において確立される。第４ユーザ２０４が該当するポーリング・サイクルにおいてポーリングされた直後に第２ユーザ２０２をポーリングする。したがって、第２ユーザ２０２と第４ユーザ２０４との間における地理的距離についての最も精確な情報が、これらバディのペアの内最後のものがポーリングされた直後に、即ち、第２ユーザ２０２がポーリングされた直後に入手可能となる。第２ユーザ２０２または第４ユーザ２０４は、彼らのバディにコンタクトする好機について通知(notify)を受ける。第２ユーザ２０２および第４ユーザ２０４双方に同時に通知することも、選択肢の１つとしてもよいが、彼らの双方が、他方に通話しようとしているときに、「話中」信号を受信する可能性もある。
【００５３】
１つの通知、または両方の通知を発した後、サービス・エリア２０２には第２ユーザ２０２のバディはこれ以上いないので、第２ユーザ２０２をポーリング・シーケンスから除外することができる。この除外は、一時的にしてもよく、例えば、少なくとも通知を発した後のある時間間隔としてもよい。また、この除外は条件付きにしてもよく、例えば、第２ユーザ２０２が具体的な除外要求をサービス・プロバイダに、例えば、ＳＭＳを通じて送ったときであって、サービス・エリア２００の中に第２ユーザ２０２のバディが他にいない場合としてもよい。第２ユーザ２０２の移動通信デバイスにおけるソフトウェア・アプリケーションが、第２ユーザ２０２の通信デバイスのユーザ・インターフェースを通じて、専用ユーザ入力上にこの手順を実施することができ、また第２ユーザ２０２の通信デバイスと第４ユーザ２０４の通信デバイスとの間に通信を設定しているときに、第４ユーザ２０４の発呼者ＩＤを識別したときに、この手順を実施することもできる。尚、第４ユーザには他のバディ、即ち、第６ユーザ２０６があるので、第４ユーザ２０４をポーリング・シーケンスから除外する必要はないことを注記しておく。
【００５４】
図８は、次のサイクルｃ＝２０において第２ユーザ２０２をポーリング・リストから除外した後における、本発明の方法のコンテキストの図である。サイクルｃ＝２０において結果的に得られたポーリング・シーケンスは、図９における５次元ベクトルＰ（ｃ＝２０）によって示されている。
【図１】
2011139438.tif 000003
【図２】
2011139438.tif 000004
【図３】
2011139438.tif 000005
【図４】
2011139438.tif 000006
【図５】
2011139438.tif 000007
【図６】
2011139438.tif 000008
【図７】
2011139438.tif 000009
【図８】
2011139438.tif 000010
【図９】
2011139438.tif 000011
【外国語明細書】
2011139438000001.pdf