(57)【特許請求の範囲】
【請求項１】
ソーシャルネットワークサービス(SNS)における近傍ユーザを検索するための方法であって、
ユーザXのクライアント端末装置から、位置情報およびユーザ識別子(ID)を受信するステップと、
前記位置情報が属するグリッドYを決定するステップと、
前記ユーザXの前記ユーザIDおよび前記位置情報を、前記グリッドYのリストに保存するステップであって、前記グリッドYは、地表を前記グリッドに分割して得られるグリッド配列のグリッドの1つであるステップと、
前記グリッドYおよび他のグリッドの中の複数ユーザを検索するステップであって、前記グリッドYおよび前記他のグリッドがN-グリッドを形成しており、前記グリッドYが前記N-グリッドの中心であり、N=n×nであり、nが3以上の奇数であり、nの値は人口密度に応じて変化する、ステップと、
前記複数ユーザを、前記複数ユーザと前記ユーザXとの間の距離の昇順でランク付けするステップと、
前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップと
を含む方法。
【請求項２】
前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップが、
前記複数ユーザの数がM以下であるかどうか決定するステップと、
前記複数ユーザの数がM以下である場合は、前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップと、
前記複数ユーザの数がMより大きい場合は、ランク付けされた上位Mまでの前記複数ユーザのユーザIDおよび前記ユーザXと前記上位Mまでの前記複数ユーザとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップであって、Mが1より大きい正の整数であるステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記ユーザXの前記位置情報を受信するステップの前に、
前記ユーザXの前記クライアント端末装置により、方法1から方法Lまでに従って前記ユーザXの前記位置情報を取得するステップであって、Lが1より大きい正の整数であるステップと、
ある方法によって前記ユーザXの前記位置情報の取得に成功した場合に、前記ユーザXの前記クライアント端末装置により、前記ユーザXの前記位置情報を報告するステップと、
前記の方法によって前記ユーザXの前記位置情報の取得に成功しなかった場合に、前記ユーザXの前記クライアント端末装置により、次の番号の方法によって前記ユーザXの前記位置情報を取得するステップであって、前記Lが小さいほど前記位置情報の正確性が高いステップと
をさらに含む、請求項1または2に記載の方法。
【請求項４】
ソーシャルネットワークサービス(SNS)における近傍ユーザを検索するための方法であって、
ユーザXのクライアント端末装置から、位置情報およびユーザ識別子(ID)を受信するステップと、
前記位置情報が属するグリッドYを決定するステップと、
前記ユーザXの前記ユーザID、前記位置情報および報告時刻を、前記グリッドYのリストに保存するステップであって、前記グリッドYは、地表を前記グリッドに分割して得られるグリッド配列のグリッドの1つであるステップと、
前記グリッドYおよび他のグリッドの中の複数ユーザを検索するステップであって、前記グリッドYおよび前記他のグリッドがN-グリッドを形成しており、前記グリッドYが前記N-グリッドの中心であり、N=n×nであり、nが3以上の奇数であり、nの値は人口密度に応じて変化する、ステップと、
前記複数ユーザを、前記複数ユーザと前記ユーザXとの間の距離および前記ユーザXの前記報告時刻に従ってランク付けするステップであって、あるユーザと前記ユーザXとの間の距離が短いほど、前記ユーザのランクが高くなり、前記ユーザの前記報告時刻と現在時刻との間隔が短いほど、前記ユーザの前記ランクが高くなるステップと、
前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の前記距離を、前記ユーザXの前記クライアント端末装置に送信するステップと
を含む方法。
【請求項５】
前記複数ユーザを、前記複数ユーザと前記ユーザXとの間の前記距離および前記ユーザXの前記報告時刻に従ってランク付けするステップが、
ユーザiの重みAi=a×Di+b×Tiを計算するステップであって、aおよびbが重み付け係数であり、Diが前記ユーザiと前記ユーザXとの間の距離であり、Tiが前記現在時刻と前記ユーザiの前記報告時刻との時間間隔であるステップと、
前記重みの昇順で前記複数ユーザをランク付けするステップと
をさらに含む、請求項4に記載の方法。
【請求項６】
前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップが、
前記複数ユーザの数がM以下であるかどうか決定するステップと、
前記複数ユーザの数がM以下である場合は、前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップと、
前記複数ユーザの数がMより大きい場合は、ランク付けされた上位Mまでの前記複数ユーザのユーザIDおよび前記ユーザXと前記上位Mまでの前記複数ユーザとの間の距離を、前記ユーザXの前記クライアント端末装置に送信するステップであって、Mが1より大きい正の整数であるステップと
をさらに含む、請求項4に記載の方法。
【請求項７】
前記ユーザXの前記位置情報を受信するステップの前に、
前記ユーザXの前記クライアント端末装置により、方法1から方法Lまでに従い前記ユーザXの前記位置情報を取得するステップであって、Lが1より大きい正の整数であるステップと、
ある方法によって前記ユーザXの前記位置情報の取得に成功した場合に、前記ユーザXの前記クライアント端末装置により、前記ユーザXの前記位置情報を報告するステップと、
前記の方法によって前記ユーザXの前記位置情報の取得に成功しなかった場合に、前記ユーザXの前記クライアント端末装置により、次の番号の方法によって前記ユーザXの前記位置情報を取得し、前記Lが小さいほど前記位置情報の正確性が高いステップと
をさらに含む、請求項4から6のいずれかに記載の方法。
【請求項８】
地表を、グリッド配列に分割し、1つのグリッドに1つのリストをセットする、第1の処理モジュールと、
ユーザXのクライアント端末装置から位置情報およびユーザ識別子(ID)を受信したときに、前記位置情報が属するグリッドYを決定し、前記ユーザXの前記ユーザIDおよび前記位置情報を、前記グリッドYのリストに保存し、前記グリッドYおよび他のグリッドの中の複数ユーザを検索し、前記複数ユーザを、前記複数ユーザと前記ユーザXとの間の距離の昇順でランク付けし、前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を、前記ユーザXの前記クライアント端末装置に送信する、第2の処理モジュールであって、前記グリッドYおよび前記他のグリッドがN-グリッドを形成しており、前記グリッドYが前記N-グリッドの中心であり、N=n×nであり、nが3以上の奇数であり、nの値は人口密度に応じて変化する、第2の処理モジュールと
を備えるサーバ。
【請求項９】
前記第2の処理モジュールが、さらに、ユーザのランク付けが終了した後、前記複数ユーザの数がM以下であるかどうか決定し、前記複数ユーザの数がM以下である場合は、前記ランク付けされた前記複数ユーザのユーザIDおよび前記ユーザXと前記複数ユーザとの間の距離を、前記ユーザXの前記クライアント端末装置に送信し、前記複数ユーザの数がMより大きい場合は、ランク付けされた上位Mまでの複数ユーザのユーザIDおよび前記ユーザXと前記上位Mまでの前記複数ユーザとの間の距離を前記ユーザXの前記クライアント端末装置に送信するサーバであって、Mが1より大きい正の整数である、請求項8に記載のサーバ。
【請求項１０】
地表を、グリッド配列に分割し、1つのグリッドに1つのリストをセットする、第1の処理モジュールと、
ユーザXのクライアント端末装置から位置情報およびユーザ識別子(ID)を受信したときに、前記位置情報が属するグリッドYを決定し、前記ユーザXの前記ユーザID、前記位置情報および報告時刻を、前記グリッドYのリストに保存し、前記グリッドYおよび他のグリッドの中の複数ユーザを検索し、前記複数ユーザを、前記複数ユーザと前記ユーザXとの間の距離および前記ユーザXの報告時刻に従ってランク付けし、前記ランク付けされた前記複数ユーザのユーザIDおよび前記複数ユーザと前記ユーザXとの間の距離を前記ユーザXの前記クライアント端末装置に送信する、第2の処理モジュールであって、前記グリッドYおよび前記他のグリッドがN-グリッドを形成しており、前記グリッドYが前記N-グリッドの中心であり、N=n×nであり、nが3以上の奇数であり、nの値は人口密度に応じて変化し、あるユーザと前記ユーザXとの間の距離が短いほど、前記ユーザのランクが高くなり、前記ユーザの前記報告時刻と現在時刻との間隔が短いほど、前記ユーザのランクが高くなる第2の処理モジュールと
を備えるサーバ。
【請求項１１】
前記第2の処理モジュールが、ユーザiの重みAi=a×Di+b×Tiをさらに計算し、aおよびbが重み付け係数であり、Diが前記ユーザiと前記ユーザXとの間の距離であり、Tiが前記現在時刻と前記ユーザiの前記報告時刻との時間間隔であり、前記重みの昇順で前記複数ユーザをランク付けする、
請求項10に記載のサーバ。
【請求項１２】
前記第2の処理モジュールがさらに、ユーザのランク付けが終了した後、前記複数ユーザの数がM以下であるかどうか決定し、前記複数ユーザの数がM以下である場合は、前記ランク付けされた前記複数ユーザのユーザIDおよび前記ユーザXと前記複数ユーザとの間の距離を前記ユーザXの前記クライアント端末装置に送信し、前記複数ユーザの数がMより大きい場合は、ランク付けされた上位Mまでの前記複数ユーザの前記ユーザIDおよび前記ユーザXと前記上位Mまでの前記複数ユーザとの間の距離を、前記ユーザXの前記クライアント端末装置に送信し、Mが1より大きい正の整数である、
請求項10または11に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その全体が参照により本明細書に組み込まれている、2011年11月16日に出願された中国特許出願第201110363120.4号「Method and Server for Searching for Nearby User in Social Networking Services (SNS)」の優先権の利益を主張するものである。
【０００２】
本開示は、インターネット技術に関し、より詳細には、SNSにおける近傍ユーザを検索する方法とサーバに関する。
【背景技術】
【０００３】
SNSでは、あるユーザが近傍のユーザを検索して、そのユーザと友達になるか、またはそのユーザに助けを求めることなどがあり得る。
【０００４】
近傍ユーザは、下記の方法で検索し得る。経度および緯度の情報に基づいて、サーバは、地表面を、各グリッドの面積が同じであり得るグリッド配列に分割し得る。あるユーザXについて、ユーザXが近傍ユーザを探す必要がある場合、ユーザXは自分の位置情報およびユーザ識別子(ID)を、ユーザXに使用されているクライアント端末装置を介してサーバに送信し得る。クライアント端末装置は携帯端末装置であり得る。位置情報は経度および緯度の情報であり得る。サーバがユーザXから位置情報を受信した後、サーバは、まず、その位置情報が属するグリッドを決定し得る。次に、サーバは、このグリッド内の他のユーザを検索し、これら他のユーザのユーザIDおよびこれら他のユーザとユーザXとの間の距離を検索して、これらのユーザIDおよび距離を、ユーザXのクライアント端末装置に送信し得る。
【０００５】
しかし、上記の方法にはいくつかの欠点がある。ユーザXは隣接する2つのグリッドの境界に接近していることがあり得る。図1は、ユーザXの位置を示す概略図である。図1に示すように、隣接する2つのグリッドはグリッドAおよびグリッドBであり得る。ユーザXおよびユーザZはグリッドA内に位置し、ユーザYはグリッドBに位置する。ユーザXについて、ユーザXとユーザYとの間の距離は、ユーザXとユーザZとの間の距離より短い。ユーザXが助けを求める場合は、明らかにユーザZよりユーザYの方が良い選択肢である。1つの例によれば、ユーザXは、ユーザZを検索できるが、ユーザYを検索できないため、検索結果が不正確になり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、SNSにおける近傍ユーザを検索するための方法およびサーバを提供し、検索結果の正確性を向上させる。
【課題を解決するための手段】
【０００７】
一のソーシャルネットワークサービス(SNS)における近傍ユーザを検索するための方法は、
ユーザXのクライアント端末装置から、位置情報およびユーザ識別子(ID)を受信するステップと、
その位置情報が属するグリッドYを決定するステップと、
ユーザXのユーザIDおよび位置情報を、グリッドYのリストに保存するステップであって、グリッドYは、地表をグリッドに分割して得られたグリッド配列のグリッドの1つであり、各グリッドの面積は同じであるステップと、
グリッドYおよび他のグリッドの中の複数ユーザを検索するステップであって、グリッドYおよび他のグリッドはN-グリッドを形成し、グリッドYはN-グリッドの中心であり、N=n×nで、nは3以上の奇数であるステップと、
これらのユーザを、ユーザとユーザXとの間の距離の昇順でランク付けするステップと、
ランク付けされたユーザのユーザIDおよびユーザとユーザXとの間の距離を、ユーザXのクライアント端末装置に送信するステップと
を含む。
【０００８】
一のソーシャルネットワークサービス(SNS)における近傍ユーザを検索するための方法は、
ユーザXのクライアント端末装置から、位置情報およびユーザ識別子(ID)を受信するステップと、
その位置情報が属するグリッドYを決定するステップと、
ユーザXのユーザID、位置情報、および報告時刻を、グリッドYのリストに保存するステップであって、グリッドYは、地表をグリッドに分割して得られたグリッド配列のグリッドの1つであり、各グリッドの面積は同じであるステップと、
グリッドYおよび他のグリッドの中の複数ユーザを検索するステップであって、グリッドYおよび他のグリッドはN-グリッドを形成し、グリッドYはN-グリッドの中心であり、N=n×nで、nは3以上の奇数であるステップと、
ユーザを、ユーザとユーザXとの間の距離およびユーザXの報告時刻に従ってランク付けするステップであって、あるユーザとユーザXとの間の距離が短いほど、そのユーザのランクは高く、そのユーザの報告時刻と現在時刻との時間間隔が短いほど、そのユーザのランクは高いステップと、
ランク付けされたユーザのユーザIDおよびユーザとユーザXとの間の距離を、ユーザXのクライアント端末装置に送信するステップと
を含む。
【０００９】
一のサーバは、
地表を、各グリッドの面積が同じであるグリッド配列に分割し、各グリッドに1つのリストをセットする、第1の処理モジュールと、
ユーザXのクライアント端末装置から位置情報およびユーザ識別子(ID)を受信したときに、その位置情報が属するグリッドYを決定し、ユーザXのユーザIDおよび位置情報を、グリッドYのリストに保存し、グリッドYおよび他のグリッドの中の複数ユーザを検索し、ユーザを、ユーザとユーザXとの間の距離の昇順でランク付けし、ランク付けされたユーザのユーザIDおよびユーザとユーザXとの間の距離を、ユーザXのクライアント端末装置に送信する、第２の処理モジュールであって、グリッドYおよび他のグリッドはN-グリッドを形成しており、グリッドYがN-グリッドの中心であり、N=n×nで、nは3以上の奇数である、第２の処理モジュールと
を含む。
【００１０】
一のサーバは、
地表を、各グリッドの面積が同じであるグリッド配列に分割し、各グリッドに1つのリストをセットする、第1の処理モジュールと、
ユーザXのクライアント端末装置から位置情報およびユーザ識別子(ID)を受信したときに、その位置情報が属するグリッドYを決定し、ユーザXのユーザID、位置情報および報告時刻を、グリッドYのリストに保存し、グリッドYおよび他のグリッドの中の複数ユーザを検索し、ユーザを、ユーザとユーザXとの間の距離およびユーザXの報告時刻に従ってランク付けし、ランク付けされた、ユーザのユーザIDおよびユーザとユーザXとの間の距離を、ユーザXのクライアント端末装置に送信する、第2の処理モジュールであって、グリッドYおよび他のグリッドはN-グリッドを形成しており、グリッドYがN-グリッドの中心であり、N=n×nで、nは3以上の奇数であり、あるユーザとユーザXとの間の距離が短いほど、そのユーザのランクは高く、そのユーザの報告時刻と現在時刻との間隔が短いほど、そのユーザのランクは高い、第2の処理モジュールと
を含む。
【００１１】
本開示の技術的方式を使用すると、検索は、ユーザXが位置するグリッドおよびそのグリッドの近傍グリッドの中で行われる。検索されたユーザは、それらのユーザとユーザXとの間の距離の昇順でランク付けされる。あるユーザが上記のグリッドにいない場合でも、そのユーザとユーザXとの間の距離が短い場合は、そのユーザは検索されてユーザXに送信され得るので、検索結果の正確性の向上につながり得る。さらに、本開示の方式では、ランク付けは、ユーザXの位置情報およびユーザIDに加え、報告時刻に従って行い得る。あるユーザの報告時刻と現在時刻と間の時間間隔が短いほど、ユーザXがそのユーザと接触する可能性が高く、そのユーザのランクが高くなり、検索結果の正確性が向上し得る。
【図面の簡単な説明】
【００１２】
【図１】ユーザXの位置を示す概略図である。
【図２】本開示の1つの例による、SNSにおける近傍ユーザを検索するための第1の方法を示すフローチャートである。
【図３】グリッドYおよび近傍グリッドにより形成される9-グリッドを示す概略図である。
【図４】本開示の1つの例による、SNSにおける近傍ユーザを検索するための第2の方法を示すフローチャートである。
【図５】本開示の1つの例による、サーバの構造を示す概略図である。
【発明を実施するための形態】
【００１３】
簡単にするため、および説明の目的で、本開示は、主に非制限例を参照しながら記載する。下記の記載では、本開示を完全に理解できるよう、多数の特定の詳細が述べられている。しかし、本開示は、これらの特定の詳細に限定することなく実施し得ることは明らかである。他の例においては、本開示を不必要に曖昧にしないよう、いくつかの方法および構造は詳細には記載されていない。本開示全体で、「含む（ｉｎｃｌｕｄｅｓ）」という用語は「含んでいる（ｉｎｃｌｕｄｉｎｇ）」をも意味し範囲として含むが、これに限定するものではない。「基づく」という用語は、少なくとも部分的に基づくことを意味する。「ある（ａ）」という用語は、少なくとも1つの特定の要素を指すことを意味する。
【００１４】
検索結果の正確性を向上させるために、本開示は、近傍ユーザを検索するための方式を提供する。
【００１５】
図2は、本開示の1つの例により、SNSにおける近傍ユーザを検索するための第1の方法を示すフローチャートである。図2に示すように、この方法には下記のブロックが含まれる。
【００１６】
ブロック21で、地表を、各グリッドの面積が同じであり得るグリッド配列に分割し得る。各グリッドに1つのリストをセットし得る。1つの例によれば、各グリッドに1つのリストをセットし得る。
【００１７】
経度および緯度の情報に従って、地表を、各グリッドの面積が同じであり得るグリッド配列に分割し得る。グリッドの面積は、必要に応じて、1平方キロメートルなどのように設定し得る。
【００１８】
リストは、初期段階では空白であり得る。
【００１９】
ブロック22で、ユーザXのクライアント端末装置から位置情報およびユーザIDを受信すると、その位置情報が属するグリッドYを決定し得る。ユーザXについて、ユーザXのユーザIDおよび位置情報をグリッドYのリストに保存し得る。
【００２０】
位置情報は経度および緯度の情報であり得る。グリッドは、経度および緯度の情報に従って分割されているので、受信した位置情報が属するグリッドが決定され得る。
【００２１】
記載の便宜上、本開示のさまざまな例において、あらゆるユーザはユーザXによって示され得る。また、ユーザXが位置するグリッドはグリッドYにより示され得る。
【００２２】
グリッドYを決定した後、受信したユーザIDおよび位置情報を、グリッドYのリストに保存し得る。したがって、他のユーザがグリッドY内の近傍ユーザを検索した場合は、Xが検出され得る。
【００２３】
ユーザXは繰り返し近傍ユーザを検索し得ることに留意されたい。ユーザIDおよび位置情報は、何回も報告され得る。この例では、ユーザXのユーザIDおよび位置情報は、ユーザ情報の一意性を確保するために、グリッドYのリストに保存され得る。
【００２４】
例えば、ユーザXはグリッドA内におり、自分のユーザIDおよび位置情報を報告すると仮定する。ユーザXのユーザIDおよび位置情報は、グリッドAのリストに保存され得る。次に、ユーザXが位置するグリッドがグリッドBに変わると、ユーザXは自分のユーザIDおよび位置情報を再度報告し得る。したがって、グリッドAのリストに保存されている、ユーザXのユーザIDおよび位置情報が削除され、ユーザXのユーザIDおよび位置情報はグリッドBのリストに保存され得る。
【００２５】
ブロック23で、グリッドYおよび他のグリッド内の複数ユーザが検索され得る。グリッドYおよび他のグリッドはN-グリッドを形成し、グリッドYがNグリッドの中心であり得る。ここで、N=n×nで、nは3以上の奇数である。
【００２６】
N-グリッドの構造により、ユーザXの周囲の各方向にいるユーザが確実に検出され得る。
【００２７】
nの値は、実際の要件に従って決定され得る。例えば、青海省(Qinghai)および内モンゴル自治区(Neimenggu)などの人口の希薄な都市に比べて、広州(Guangzhou)、北京(Beijing)および上海(Shanghai)などの人口の密集した都市では、Nの値は5または7などであり得る。
【００２８】
図3は、グリッドYおよび近傍のグリッドにより形成される9-グリッドを示す概略図である。
【００２９】
このブロックで、N-グリッドが図3に示す9-グリッドである場合は、ユーザXを除く、この9-グリッドのリスト内のユーザが、検索されたユーザであり得る。
【００３０】
ブロック24で、検索されたユーザを、ユーザXとユーザとの間の距離の昇順でランク付けし、ランク付けされたユーザのユーザIDおよびユーザXとそれらのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し得る。
【００３１】
検索されたユーザの位置情報を知り得るので、ユーザXの位置情報は知り得る。したがって、ユーザXと検索されたユーザとの間の距離を計算され、ユーザのランク付けが行われ得る。
【００３２】
本開示の例における検索範囲は、拡大し得る。したがって、検索されるユーザの数は増加し得る。ユーザXにとって、低位にランク付けされたユーザは基本的に無関係である。したがって、これらのユーザの情報は、ユーザXに送信する必要はないので、送信されるデータの量を減少させて、帯域幅リソースなどを節約し得る。
【００３３】
ランク付けが終了した後、検索されたユーザの数がM以下であるかどうか決定し得る。検索されたユーザの数がM以下である場合は、それらのユーザのユーザIDおよびユーザXとそれらのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し得る。それらのユーザの数がMより大きい場合は、上位MまでのユーザのユーザIDおよびユーザXと上位Mまでのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し得る。Mは1より大きい正の整数であり得る。Mの値は、実際の要件に従って決定し得る。
【００３４】
ユーザのユーザIDおよびユーザXとユーザとの間の距離に加えて、ユーザのアバターなどの他の情報を、ユーザXのクライアント端末装置に送信し得る。
【００３５】
ユーザXが、情報が返送されたユーザと通信する方法は、一般的な方法であり得る。
【００３６】
図4は、本開示の1つの例による、SNSにおける近傍ユーザを検索するための第2の方法を示すフローチャートである。図4に示すように、この方法には下記のブロックが含まれ得る。
【００３７】
ブロック41で、地表を、各グリッドの面積が同じであり得るグリッド配列に分割し得る。各グリッドに1つのリストをセットし得る。
【００３８】
ブロック42で、ユーザXのクライアント端末装置から位置情報およびユーザIDを受信すると、その位置情報が属するグリッドYを決定し得る。ユーザXについて、ユーザXのユーザID、位置情報および報告時刻をグリッドYのリストに保存し得る。
【００３９】
ブロック43で、グリッドYおよび他のグリッド内の複数ユーザが検索され得る。グリッドYおよびそれらのグリッドはN-グリッドを形成し、グリッドYがNグリッドの中心であり得る。ここで、N=n×nで、nは3以上の奇数である。
【００４０】
ブロック44で、検索されたユーザを、それらのユーザとユーザXとの間の距離および報告時刻に従ってランク付けし、ランク付けされたユーザのユーザIDおよびユーザXとそれらユーザと間の距離を、ユーザXのクライアント端末装置に送信し得る。ユーザXと、あるユーザとの間の距離が短いほど、そのユーザのランクは高い。そのユーザの報告時刻と現在時刻との間隔が短いほど、そのユーザのランクは高い。
【００４１】
図2に示す例と比べると、この例では、ランク付けを実行するときは、報告時刻が考慮される。ブロック42で、ユーザの報告時刻、およびユーザXの位置情報がグリッドYのリストに保存され得る。
【００４２】
ブロック44で、ユーザiの重みAi=a×Di+b×Tiを計算し得る。ここでaおよびbは重み付け係数であり、aおよびbの値は必要に応じて決定され得る。Diは、ユーザiとユーザXとの間の距離を示す。Tiは、現在時刻とユーザiの報告時刻との時間間隔を示す。ユーザは、重みの昇順でランク付けされる。
【００４３】
ランク付けが終了した後、検索されたユーザの数がM以下であるかどうか決定し得る。検索されたユーザの数がM以下である場合は、それらのユーザのユーザIDおよびユーザXとそれらのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し得る。検索されたユーザの数がMより大きい場合は、上位MまでのユーザのユーザIDおよびユーザXと上位Mまでのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し得る。Mは1より大きい正の整数であり得る。
【００４４】
図4の特徴のうち、図2の特徴と同じであり得るものは、ここでは繰り返し記載されないことがあり得る。それらの特徴の詳細については、上記の記載を参照されたい。
【００４５】
上記の2つの例では、ユーザXのクライアント端末装置は、下記の方法でユーザXの位置情報を取得し得る。つまり、ユーザXのクライアント端末装置は、方法1から方法LまでによってユーザXの位置情報を取得し得る。ユーザXの位置情報を取得した後、クライアント端末装置は、その位置情報を報告し得る。ある方法でユーザXの位置情報が取得できない場合は、ユーザXのクライアント端末装置は、次の番号の方法で位置情報を取得し得る。Lは1より大きい正の整数であり得る。異なる方法については、番号が小さいほど、情報の正確性が高い。
【００４６】
Lの値は3であり得る。方法1は、全地球測位システム(GPS)機能を介して位置情報を取得し得る。方法2は、eNodeB(携帯電話無線基地局)のセルIDを介して位置情報を取得し得る。方法3は、接続されているワイヤレスフィディリティ(WiFi)アクセスポイントのメディアアクセスコントロール(MAC)アドレスを介して位置情報を取得し得る。
【００４７】
本開示の例における方法の記載は、ここまでである。
【００４８】
上記の記載に基づいて、図5は、本開示の1つの例による、サーバの構成を示す概略図である。図5に示すように、サーバには下記のモジュールが含まれ得る。
【００４９】
第1の処理モジュール。このモジュールは、地表を、各グリッドの面積が同じであり得るグリッド配列に分割し、各グリッドに1つのリストをセットする。
【００５０】
第2の処理モジュール。このモジュールは、ユーザXのクライアント端末装置から位置情報およびユーザ識別子(ID)を受信したときに、その位置情報が属するグリッドYを決定し、ユーザXのユーザIDおよび位置情報を、グリッドYのリストに保存し、グリッドYおよび他のグリッドの中の複数ユーザを検索し(ここで、グリッドYおよび他のグリッドはN-グリッドを形成しており、グリッドYがN-グリッドの中心であり、N=n×nで、nは3以上の奇数である)、これらのユーザを、ユーザとユーザXとの間の距離の昇順でランク付けし、ランク付けされたこれらのユーザのユーザIDおよびユーザとユーザXとの間の距離を、ユーザXのクライアント端末装置に送信する。
【００５１】
第2の処理モジュールは、さらに、ユーザのランク付けが終了した後、検索されたユーザの数がM以下であるかどうか決定し、検索されたユーザの数がM以下である場合は、それらのランク付けされたユーザのユーザIDおよびユーザXとそれらのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し、検索されたユーザの数がMより大きい場合は、ランク付けされた上位MまでのユーザのユーザIDおよびユーザXと上位Mまでのユーザとの間の距離を、ユーザXのクライアント端末装置に送信するステップを行い得る。Mは1より大きい正の整数であり得る。
【００５２】
本開示の他の例によれば、サーバには下記のモジュールが含まれ得る。
【００５３】
第1の処理モジュール。このモジュールは、地表を、各グリッドの面積が同じであり得るグリッド配列に分割し、各グリッドに1つのリストをセットする。
【００５４】
第2の処理モジュール。このモジュールは、ユーザXのクライアント端末装置から位置情報およびユーザ識別子(ID)を受信したときに、その位置情報が属するグリッドYを決定し、ユーザXのユーザID、位置情報および報告時刻を、グリッドYのリストに保存し、グリッドYおよび他のグリッドの中の複数ユーザを検索し(ここで、グリッドYおよび他のグリッドはN-グリッドを形成しており、グリッドYがN-グリッドの中心であり、N=n×nで、nは3以上の奇数である)、これらのユーザを、ユーザとユーザXとの間の距離およびユーザXの報告時刻に従ってランク付けし、ランク付けされたこれらのユーザのユーザIDおよびユーザとユーザXとの間の距離を、ユーザXのクライアント端末装置に送信する。ここで、あるユーザとユーザXとの間の距離が短いほど、そのユーザのランクは高く、そのユーザの報告時刻と現在時刻との間隔が短いほど、そのユーザのランクは高い。
【００５５】
第2の処理モジュールはさらに、ユーザiの重みAi=a×Di+b×Tiを計算し、重みの昇順でユーザをランク付けするステップを行い得る。ここでaおよびbは重み付け係数、DiはユーザiとユーザXとの間の距離、Tiは現在時刻とユーザiの報告時刻との時間間隔を示す。
【００５６】
第2の処理モジュールは、さらに、ユーザのランク付けが終了した後、ユーザの数がM以下であるかどうか決定し、ユーザの数がM以下である場合は、それらのランク付けされたユーザのユーザIDおよびユーザXとそれらのユーザとの間の距離を、ユーザXのクライアント端末装置に送信し、ユーザの数がMより大きい場合は、ランク付けされた上位MまでのユーザのユーザIDおよびユーザXと上位Mまでのユーザとの間の距離を、ユーザXのクライアント端末装置に送信するステップを行い得る。ここで、Mは1より大きい正の整数であり得る。
【００５７】
図5に示す装置の作業の流れは、上記の方法の記載を参照し得るので、ここでは繰り返して示さなくてもよい。
【００５８】
本開示の技術的方式を使用すると、検索は、ユーザXが位置するグリッドおよびそのグリッドの近傍グリッドの中で行われる。検索されたユーザは、それらのユーザとユーザXとの間の距離の昇順でランク付けされる。あるユーザが上記のグリッドにいない場合でも、そのユーザとユーザXとの間の距離が短い場合は、そのユーザは検索されてユーザXに送信され得るので、検索結果の正確性の向上につながり得る。さらに、本開示の方式では、ユーザXの位置情報およびユーザIDに加え、報告時刻に従って、ランク付けを行い得る。あるユーザの報告時刻と現在時刻と間の時間間隔が短いほど、ユーザXがそのユーザと接触する可能性が高く、そのユーザのランクが高くなり、検索結果の正確性が向上し得る。
【００５９】
上記の事項は、本発明の好ましい実施形態の記載に過ぎない。ただし、本発明の保護の範囲は上記の記載に限定されるものではない。当業者が容易に思いつく、いかなる変更または置き換えも、本発明の保護の範囲に含まれてしかるべきである。
【図１】
0005833768.tif 000002
【図２】
0005833768.tif 000003
【図３】
0005833768.tif 000004
【図４】
0005833768.tif 000005
【図５】
0005833768.tif 000006