(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本発明の実施形態に係るサーバ、端末、ならびに、情報処理装置について説明する。なお、以下に説明するサーバ、端末、ならびに、情報処理装置は、本発明の要旨を説明するためのものであり、本発明の技術的な範囲は、以下に説明する実施形態には限られない。また、各実施例にて説明する要素は、用途に応じて適宜省略することも可能である。このように、本発明の原理にしたがって構成された各種のサーバ、端末、および、情報処理装置、これらの各々にて実行される方法、これらの各々にて実行されるプログラム、ならびに、これらと均等な発明は、いずれも、本発明の範囲に含まれる。
【0011】
(サーバ、および端末が実現されるハードウェア)
本実施形態に係るサーバおよび端末は、典型的には、プログラムをコンピュータからなる情報処理装置が実行することによって実現される。ここで、コンピュータとしては、サーバコンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているもののほか、携帯電話、スマートホン、タブレット型電話等のように、電話機として製造、販売等されているもの、携帯ゲーム機、家庭用エンターテインメント装置等のように、ゲーム機やマルチメディア端末として製造、販売等されているものも含まれる。典型的には、本実施形態に係る情報処理装置は、高性能な据置型コンピュータやクラウド型コンピュータ等の上に実現され、端末は、スマートホンや携帯ゲーム機等の上に実現される。
【0012】
コンピュータにて実行されるプログラムや、当該プログラムにより参照される各種のデータは、当該コンピュータが通信可能に接続されたサーバにより配布、販売することができるほか、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk ROM)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable ROM)などの非一時的(non-transitory)な情報記録媒体に記録した上で、当該情報記録媒体を配布、販売等することも可能である。
【0013】
プログラムは、コンピュータが有するハードディスク、ソリッドステートドライブ、フラッシュメモリ、EEPROMなどの非一時的な情報記録媒体にインストールされる。すると、当該コンピュータにより、本実施形態における情報処理装置が実現されることになる。一般的には、コンピュータのCPU(Central Processing Unit)は、コンピュータのOS(Operating System)による管理の下、情報記録媒体からRAM(Random Access Memory)へプログラムを読み出してから、当該プログラムに含まれるコードを解釈、実行する。ただし、携帯ゲーム機などでは、CPUがアクセス可能なメモリ空間内に情報記録媒体をマッピングできるようなアーキテクチャが採用されることがある。この場合には、プログラムのインストールや、RAMへの明示的なプログラムのロードは不要である。
【0014】
なお、プログラムの実行の過程で必要とされる各種情報は、CPUのレジスタやRAM、キャッシュ内に一時的(temporary)に記録しておくことができる。
【0015】
情報処理装置における処理の結果は、ディスプレイやタッチスクリーン等の表示装置に文字や画像を用いて表示することができるほか、スピーカーやヘッドホンに、処理の結果に基づいた音声を出力することができる。
【0016】
また、処理の結果は、情報記録媒体に記録して、後日自身が利用したり、他の機器で参照することが可能である。さらに、コンピュータ通信網等を介して、処理の結果を配布、販売することができる。
【0017】
ユーザは、キーボード、マウス、トラックボール、タッチパッド、ジョイスティック等のゲーム装置用コントローラ、タッチスクリーン等の入力装置を介して、情報処理装置に対する各種の指示を与えることができる。
【0018】
また、情報処理装置が加速度センサや姿勢センサを備える場合には、当該情報処理装置を振り下げたり、振り上げたり、これらの動作を繰り返すシェイク動作をしたり、等、各種の動作をもって、当該情報処理装置に与える各種の指示とすることも可能である。
【0019】
さらに、情報処理装置が備えるマイクによって検出される音声によって当該情報処理装置に与える各種の指示とすることも可能である。
【0020】
なお、汎用のコンピュータでプログラムを実行することにより本実施形態の情報処理装置を実現するのではなく、専用の電子回路を構築して本実施形態の情報処理装置を構成することも可能である。
【0021】
この態様においても、コンピュータに実行させる実行用プログラムと同様に記述をしたり、実行用プログラムを比較的簡単な手直しをして移行することによって得られる定義プログラムを利用することができる。
【0022】
定義プログラムは、一見実行用プログラムのように見えるが、実際には、定義プログラムに記載された処理を順次実行するのではなく、定義プログラムに記載された処理を実現する電子的な素子を配線したり、各素子における演算のタイミングチャート等を決定したりするための仕様定義として機能する。
【0023】
このような態様では、プログラムに定められる仕様を満たすような電子回路が、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)により構成され、当該電子回路は、当該プログラムに定められた機能を果たす専用機器として機能して、本実施形態の情報処理装置を実現することができる。
【0024】
以下では、理解を容易にするため、コンピュータがプログラムを実行することによって、本実施形態に係る情報処理装置が実現される態様について説明する。
【0025】
(ゲームシステム)
図1は、本発明の実施形態に係るゲームシステムの一例を示す説明図である。以下、本図を参照して説明する。
【0026】
本実施形態に係るゲームシステム101において、1台のサーバ111と、複数の端末151と、が、インターネット191を介して通信可能に接続されている。
【0027】
本実施形態に係るサーバ111は、高性能の情報処理装置であるサーバコンピュータにおいて、サーバ用プログラムを実行することによって実現される。
【0028】
一方、各端末151は、可搬性のある情報処理装置であるスマートホンや携帯ゲーム機等において、端末用プログラムを実行することによって実現される。端末用プログラムは、ゲームアプリケーションの一部をなしており、GPSやWifiアクセスポイントのSSIDビーコンの受信状況から当該端末151の位置を間欠的に、たとえば数秒間隔で検知して、インターネット191を介してサーバ111へその位置を通知する。
【0029】
サーバ191は、各端末151の位置に応じて、ゲームの進行に応じた指示を当該端末151に送ると、当該端末151において動作するゲームアプリケーションは、当該指示に応じて画面表示や音声出力をして、ゲーム進行の様子をユーザに提示する。
【0030】
このように、ゲームの進行が定める要因の一つとして、各端末151の位置が利用されるゲームは、ロケーションゲームと呼ばれることがある。また、複数の端末151の位置、すなわち、複数のユーザ同士の位置関係を利用して進行するゲームは、ソーシャルロケーションゲームと呼ばれることがある。本実施形態は、ユーザ同士が近付いた場合に何らかのイベントが生じるような任意のロケーションゲームに適用が可能である。
【0031】
(サーバ)
図2は、本ゲームシステムにおけるサーバの概要構成を示す説明図である。以下、本図を参照して説明する。
【0032】
本図に示すように、サーバ111は、収集部112、計算部113、抽出部114、推定部115、保管部116、選択部117、指示部118を備える。
【0033】
ここで、収集部112は、複数の端末151の各端末151が所在する位置を間欠的に収集する。
【0034】
上記のように、端末151はGPSや接続可能なWifiアクセスポイントのSSIDを間欠的に検知して、サーバ111へ送信する。サーバ111の収集部112は、これを受信して、いずれの端末151がどこに所在しているか、の情報を蓄積する。
【0035】
一方、計算部113は、各端末151について、最新に収集された最新位置および最新日時と、最新位置及び最新日時の直前に収集された直前位置および直前日時と、から、当該各端末151が移動した速度を計算する。
【0036】
複数の端末151のうち、ある端末Aから収集された最新位置および最新日時と、当該端末Aからその直前に収集された直前位置および直前日時と、がわかれば、端末Aの速度は、「最新位置と直前位置の距離」を「最新日時と直前日時との差」によって除算することによって、計算できる。
【0037】
さらに、抽出部114は、計算された速度が所定基準にて遅い端末151について、マップを分割する複数の区画から、遅い端末151について収集された直前位置から最新位置までの経路が通過する通過区画を抽出する。
【0038】
ここで、マップとは、本ゲームが提供されている地域を表す地図であり、各区画の大きさは、ユーザ同士がどの程度近付いたらイベントを生じさせるか、および、GPSやWifiによる位置検出の誤差はどの程度か、によって、適宜定めることができる。典型的には、経線および緯線に沿った数メートル乃至数キロメートル程度の、地球表面に沿った正方形もしくは長方形を採用する。
【0039】
抽出部114は、端末Aの移動速度が所定基準にて十分に遅い場合に、端末Aの通過区画を抽出する。ここで、所定基準にて遅い、とは、人間が周囲を見回しながら歩いたり、立ち止まったり、その場所に留まったりしている状況に相当するものである。人間の徒歩による移動速度は、毎時3乃至4キロメートル程度であるから、たとえば、移動速度が毎時1キロメートル以下であれば、十分に遅い、などのように、遅い端末の基準を定めることができる。また、端末Aが所定基準にて十分に遅い、ということは、端末Aのユーザがその場所に滞在している可能性が高い、と考えることもできる。
【0040】
抽出部114は、遅い端末Aが直前位置から最新位置まで移動した際に、マップ内のいずれの区画を通過したか、を調べる。GPS等により得られる端末Aの位置情報は、緯度および経度によって表現されるので、通過区画の抽出は、線分と方形の交差問題に帰着させることができ、高速な計算が可能となる。なお、端末Aの速度が十分に遅く、最新日時と直前日時が近い場合には、直前位置と、最新位置と、は、同じ区画、もしくは、隣接する区画となることも多い。
【0041】
そして、推定部115は、抽出された通過区画を遅い端末151が通過した通過日時を推定する。端末Aが直前位置から最新位置までを、計算された速度で等速移動すると考えれば、各通過区画を通過した通過日時は、当該通過区画に進入(方形の一辺と経路が交差)した日時と、当該通過区画を離脱(方形の他辺と経路が交差)した日時と、の平均により表現することができる。また、直前位置のみを含む通過区画の通過日時は、直前日時とすれば良いし、最新位置のみを含む通過区画の通過日時は、最新日時とすれば良い。最新位置と直前位置の両方を含む通過区画の通過日時は、直前日時と最新日時の平均とすれば良い。
【0042】
一方、保管部116は、抽出された通過区画と、遅い端末151と、推定された通過日時と、を対応付けて、所定期間だけ保管する。
【0043】
すなわち、保管部116は上記の情報をハードディスク等の記憶装置、あるいは、各種の記憶媒体に記録する。そして、通過日時から所定期間(たとえば、数か月乃至数年程度。)が経過したら、当該通過日時に係る端末151および通過区画の情報を消去することによって、記憶装置や記憶媒体の容量負荷を抑制することができる。
【0044】
さらに、選択部117は、複数の端末151のうち、第1位置に所在する第1端末151と、第2位置に所在する第2端末151と、が、所定基準にて十分に遠ければ、複数の区画から、第1位置と、第2位置と、の中間に所在する区画であって、当該区画に対応付けられて保管された端末151を重複なく数えた数が、所定基準にて十分に多い区画を、目標区画として選択する。
【0045】
複数の端末151のうち、第1端末151(端末A)と第2端末151(端末B)とに対して目標区画が選択される必要条件は、端末Aと端末Bが十分に遠いことであるが、ここで「十分に遠い」とは、端末AのユーザXと端末BのユーザYの両方が近付こうとした場合に、徒歩、自転車、もしくは、電車やバス等の比較的安価な公共交通機関によって、合理的な時間(たとえば、数時間程度。)内で遭遇できる距離である。
【0046】
また、端末Aについて収集された最新日時と、端末Bについて収集された最新日時と、の差が、所定の閾値(たとえば、数時間乃至数日程度。)以下であることを、「十分に遠い」ことの必要条件として重課しても良い。
【0047】
なお、端末Aから見て、端末Bよりも近くに所在する他の端末Cが存在する場合には、端末Aと端末Bとに対する目標区画は選択しないこととしても良い。
【0048】
たとえば、端末Aに最も近い他の端末が端末Bであり、端末Bに最も近い他の端末が端末Aであり、端末Aと端末Bが離間する離間距離が所定の閾値(たとえば、数キロメートル乃至十数キロメートル程度。)以上であることを条件として、端末Aと端末Bとに対する目標区画を選択する、という態様を採用することができる。
【0049】
また、端末Aに近い順に他の端末を、端末B
1, B
2, B
3, …のように並べ、端末Aと最も近い端末B
1の距離が所定の閾値以上である場合に、端末Aに近い所定数N個(たとえば、数個程度。)の端末B
1, …, B
Nの各々と、端末Aと、の間で、目標区画を選択しても良い。たとえば、所定数を2とした場合、端末Aと端末B
1の間の目標区画、および、端末Aと端末B
2の間の目標区画が選択される。
【0050】
さて、本実施形態では、第1端末151(端末A)が所在する第1位置(位置P)と、と第2端末151(端末B)が所在する第2位置(位置Q)と、が十分に遠ければ、複数の区画から、第1位置(位置P)と、第2位置(位置Q)と、の中間に所在する区画であって、当該区画に対応付けられて保管された端末151を重複なく数えた数が、所定基準にて十分に多い区画が、目標区画として選択される。
【0051】
まず、ここで、位置Pと位置Qの中間に位置する中間区画は、たとえば以下のように定められる。
【0052】
最も単純には、所定の1より大きい数Aを用いて、位置Pからの距離と、位置Qからの距離と、の比が、A対1の円(距離の比がAに等しい円)、および、1対Aの円(距離の比がAの逆数である1/Aに等しい円)の共通部分Uに含まれる区画を、位置Pと位置Qの中間に位置する中間区画とするものである。
【0053】
この共通部分Uの中の任意の点と位置Pとの距離と、当該点と位置Qとの距離と、の比は、1/A乃至Aになる。
【0054】
2点からの距離の比が一定の軌跡により描かれる円は、アポロニウスの円と呼ばれる。
図3Aは、A=2の場合の中間領域Uを示す説明図である。
図3Bは、A=3の場合の中間領域Uを示す説明図である。
図3Cは、A=5の場合の中間領域Uを示す説明図である。これらの図に示すように、Aの値が大きくなると、共通部分U(斜線部)の面積は大きくなり、その縁は、位置P、位置Qに近付いていく。
【0055】
Aは定数(たとえば、2乃至3程度。)でも良いし、以下のように、線分PQの長さ(位置Pと、位置Qと、の間の距離)D等に応じて定めても良い。
【0056】
たとえば、位置Pと、位置Pから最短距離にある中間区画と、の距離は、D/(1+A)のように計算することができる。そこで、この距離を、人間が合理的な時間で踏破できる距離S(たとえば、500メートル乃至数キロメートル程度。)に等しいと考えれば、A = D/S-1 のように、数Aを定めることができる。
【0057】
このほか、位置Pと位置Qの中点を中心とし、D/(1+A)を直径とする円を中間領域としても良い。
【0058】
このほか、位置Pと位置Qの中点を中心とし、幅および高さがD/(1+A)で、一辺が線分PQに並行な正方形を中間領域としても良い。
【0059】
本実施形態では、このように定められた中間区画のうち、多くの人が留まることができる区画を、目標区画として選択する。ここで、本実施形態では、多くの人が留まることができる区画として、当該区画を十分に遅い速度で十分に多い数の人が通過していることを条件としている。
【0060】
十分に遅い速度で十分に多い数の人が通過していることは、当該区画について保管部116に保管された端末を重複なく数えると、ある閾値以上となることによって示される。当該区画について、1台の端末のみが、保管されているのであれば、当該区画は、当該1台の端末を利用しているユーザの自宅、あるいは、通学や通勤先と考えられるし、当該区画について、多くの端末が、保管されているのであれば、当該区画は、多くの人が立ち寄る公共施設、店、ランドマークと考えられ、当該区画について端末が保管されていなければ、当該区画は、誰も通過していない山奥等の人跡未踏の地、あるいは、高速道路など、人が立ち止まれない場所である、と考えられるからである。
【0061】
したがって、端末Aと端末Aに最も近い端末Bとの間の中間区画から選択できる目標区画の数は、0個以上の任意の数となる。
【0062】
目標区画の数が0個である、とは、端末Aと端末Bのユーザ同士が集まれるような場所が、端末Aと端末Bの間にないことになる。このような場合には、端末Aは、端末Bにかえて、次に近い端末Cとの間で目標区画を選ぶこととすれば良い。端末Bについても同様である。
【0063】
そして、指示部118は、第1端末151と、第2端末151と、に、選択された目標区画を提示するよう指示する。
【0064】
十分な数の目標領域が選択された場合には、端末151は、他方の端末151のユーザのプライバシーに配慮して、目標領域の一部のみを提示し、残りは隠すこととしても良い。
図4は、端末の画面における表示例を示す説明図である。本図では、画面201中央に端末自身の位置を表す自機マーク202(舵型)が表示され、周囲に目標領域を表す目標マーク203(星型)が複数表示されている。他のユーザと遭遇したいと考えるユーザは、この表示を見て、いずれかの目標マーク203に向かって進むことになる。
【0065】
一方で、選択された目標領域が少数である場合は、その地域には、集合可能な公共施設、店、ランドマーク等が少ないと考えられ、この場合は、目標領域をすべて提示したとしても、他方のユーザのプライバシーが侵されることはない。
【0066】
端末Aと端末Bのユーザ同士が、互いのプライバシーを侵すことなく邂逅するためには、両ユーザが移動をすることが望ましい。このため、本実施形態では、両ユーザがいずれかの目標区画に達すると、目標区画の選択をやり直すこととしても良い。
【0067】
上記のように、端末151の画面201には表示されない目標区画があり、そのような目標区画のいずれかに両ユーザが至ると、目標区画の再選択が行われる。このため、ユーザが行こうと思っていた目標区画に当該ユーザが到着していない場合であっても、目標区画の更新がなされ、他のユーザと邂逅するイベントが生じる場所が変化する。従来のロケーションゲームでは、あらかじめ固定された目標位置でのみイベントが生じることとなるのが通例であったが、本実施形態では、ユーザが集合できるような場所が順次移動して、ユーザを誘導していくことが可能となる。
【0068】
なお、サーバ101が、端末Aと端末Bが同じ区画に所在することを検知した場合には、サーバ101は、端末Aと端末Bに、イベントを生じさせる旨の指示を送信する。イベントの内容は、協力して共通の敵キャラクターと戦闘させたり、互いの端末A, Bの間で文字チャットを可能として相互にフレンド登録をさせたり等、ロケーションゲームの設定に応じて適宜変更が可能である。
【0069】
(サービス処理)
本実施形態に係るサーバ111は、上記の機能を果たすため、サービス処理を実行する。
図5Aは、サービス処理の制御の流れの前半を示すフローチャートである。以下、本図を参照して説明する。
【0070】
本処理が開始されると、サーバ111は、まず、各端末151から送信されたパケットを受信し(ステップS300)、当該パケットの種類を調べる(ステップS301)。
【0071】
このパケットは、上記のように、端末から送信された位置情報を表すこともあるし、それ以外の情報を表すこともある。
【0072】
ここで、端末から送信された位置情報には、一般には、最新位置および最新日時が指定される。最新位置は、典型的には、送信元の端末151(以下、適宜「端末A」と呼ぶ。)が検知した自機の位置の緯度・経度により表現される。最新日時としては、位置情報に指定された検知の日時を採用するのが一般的であるが、これにかえて、当該位置情報が受信された日時を利用しても良い。
【0073】
受信されたパケットが端末Aから送信された位置情報である場合(ステップS301;位置情報)、サーバ111は、端末Aから直前に収集された直前位置および直前日時を、記憶装置等から取得する試行を行う(ステップS302)。
【0074】
取得できなければ(ステップS302;No)、サーバ111は、端末Aの識別名と、最新位置と、最新日時と、を対応付けて、記憶装置等に所定期間記録する(ステップS303)ことにより、端末Aが所在した位置を収集してから、ステップS331に進む。
【0075】
なお、直前日時が取得された場合であっても、最新日時との差が閾値(たとえば、端末Aが位置情報をサーバ111に送信する間隔が十数秒乃至数分に設定されている場合には、数十分程度。)より大きい場合には、直前日時と直前位置が取得できなかったものとして、ステップS303に進むこととしても良い。
【0076】
一方、取得できれば(ステップS302;Yes)、サーバ111は、端末Aが移動した速度を、直前位置、直前日時、最新位置、最新日時から計算する(ステップS304)。
【0077】
そして、サーバ111は、端末Aの速度が、所定基準にて十分に遅いか否かを調べる(ステップS305)。遅ければ(ステップS305;Yes)、サーバ111は、端末Aの直前位置から最新位置までの経路が通過する通過区画を抽出し(ステップS306)、抽出された各通過区画を端末Aが通過した通過日時を推定し(ステップS307)、各通過区画と、端末Aの識別名と、当該各通過区画について推定された通過日時と、を対応付けて、記憶装置等に所定期間保管する(ステップS308)。なお、保管された記録に係る通過日時から所定期間が経過すると、記憶装置から当該記録は消去される(図示せず。)。
【0078】
そして、他の端末について収集された最新位置に基づいて、端末Aから十分に遠い端末を探し(ステップS309)、見つかった端末の各々(以下、「端末B」と呼ぶ。)について、以下の処理を繰り返す(ステップS310)。なお、端末Aから十分に遠い端末を1個だけ探す態様では、繰り返し回数は1回を超えることはない。
【0079】
すなわち、サーバ111は、端末Aと端末Bの対に対して、既に目標区画が選択されているか否かを調べ(ステップS311)、選択されていなければ(ステップS311;No)、端末Aの最新位置と、端末Bの最新位置と、の中間に所在する区画であって、当該区画に対応付けられて保管された端末を重複なく数えた数が、十分に多い区画を、目標区画として選択する(ステップS312)。
【0080】
そして、記憶装置等にサーバ111は、端末Aと、端末Bと、の対に対して選択された目標区画を表す選択情報を、記録装置等に記録するとともに(ステップS313)、端末Aと、端末Bと、へ、選択された目標区画を提示するよう指示して(ステップS314)、ステップS315に進む。
【0081】
一方、端末Aと端末Bとの対に対して既に目標区画が選択されていれば(ステップS311;Yes)、ステップS315に進む。
【0082】
サーバ111は、ステップS311-ステップS314の処理を、端末Aから十分に遠い端末の各々について繰り返してから(ステップS315)、ステップS303へ進む。
【0083】
一方、端末Aの速度が十分に遅いとはいえない場合(ステップS305;No)、ステップS303へ進む。
【0084】
以上のように、端末Aの最新位置および最新日時を記録し、端末Aが十分に遅ければ端末Aから十分に遠い他の端末と、の間で目標区画を選択して記録するという前半の処理(ステップS302-S315)が終わったら、サーバ111は、サービス処理の後半を実行する。
図5Bは、サービス処理の制御の流れの後半を示すフローチャートである。以下、本図を参照して説明する。
【0085】
すなわち、サーバ111は、端末Aに関して選択された目標区画のうち、端末Aの最新位置を包含する包含区画に係る選択情報を抽出する(ステップS331)。選択区画は、抽出されないこともあるし、1個だけ抽出されることもあるし、端末Aと、他の複数の端末の各々と、の各対について目標区画が選択されている場合には、複数抽出されることもある。
【0086】
そして、サーバ111は、抽出された選択情報の各々に対して(ステップS332)、端末Aが、目標区画に到達した旨の情報を追加する(ステップS333)。
【0087】
ついで、サーバ111は、当該選択情報において、端末A以外の端末が目標区画に到達した旨の情報が追加されているか否か、すなわち、他の端末が到達したか否かを調べる(ステップS334)。到達していなければ(ステップS334;No)、サーバ111は、ステップS342へ制御を進める。
【0088】
一方、到達していれば(ステップS334;Yes)、サーバ111は、端末Aと、当該選択情報における他の端末(以下、これを「端末B」と呼ぶ。)と、の対に係る当該選択情報を、記録装置等から消去する(ステップS335)。
【0089】
そして、端末Aについて収集された最新日時と、端末Bについて収集された最新日時と、の差が、所定の閾値(たとえば、数分程度。)以下であり、端末Aが到達した目標区画と、端末Bについて収集された最新位置を包含する区画と、が、一致するか否か、すなわち、両端末が近接しているか否かを調べる(ステップS336)。
【0090】
現時点で、端末Aと、端末Bと、が、近接していれば(ステップS336;Yes)、サーバ111は、端末Aと、端末Bと、に、イベントが生じた旨を提示するよう指示し(ステップS337)、端末Aと、端末Bと、が近接することによって生ずるイベントの処理の並行実行を起動してから(ステップS338)、ステップS342へ進む。当該イベント処理は、軽量プロセス、スレッド、コルーチン等によって並行実行することができる。
【0091】
一方、両端末が近接していなければ(ステップS336;No)、ステップS312-S314に相当する処理を実行することにより(ステップS339-S341)、目標区画の選択をやり直してから、ステップS342に進む。
【0092】
抽出された選択情報の各々について、ステップS333-S341の処理を繰り返した(ステップS342)後は、サーバ111は、ステップS300に制御を戻す。
【0093】
また、受信されたパケットが位置情報でない場合(ステップS301;その他)、サーバ111は、対応する処理を実行して(ステップS351)、ステップS300に制御を戻す。
【0094】
本実施形態によれば、他のユーザから遠い地域に居住しているユーザであっても、ユーザ同士が出会える動機付けを提供することができる。また、目的区画を適切に選択することで、ユーザのプライバシーに配慮することができる。
【0095】
(有効期間)
上記実施形態において選択された目標区画に対しては、有効期間を設けることができる。
【0096】
たとえば、第1端末151と第2端末151の組み合わせに対して目標区画を選択する際に、既定の有効期間(たとえば、数十分乃至数時間程度。)を当該目標区画について設定する。そして、一定以上の個数もしくは一定以上の割合(たとえば、過半数程度。)の目標区画について、有効期間が過ぎたら、選択部117による選択をやり直すこととすれば良い。
【0097】
なお、上記有効期間が経過しても双方のユーザが同じ区画に留まり続けている場合は、双方のユーザは現在ロケーションゲームに参加できない状況と考えられるので、選択部117による再度の選択は、十分な時間(たとえば、十数時間乃至数日程度。)が経過してから行うこととすれば良い。
【0098】
また、端末Aと端末Bの対に対して選択された目標区画につき、端末Aや端末Bが目標区画に近付いている場合には、目標区画の有効期限を(たとえば、数分乃至数十分程度。)延長することとしても良い。端末が目標区画に近付いているか否かは、当該端末の最新位置と目標区画との距離が、当該端末の直前位置と目標区画との距離よりも小さいか否か、によって判断することができる。
【0099】
また、目標区画を選択する際には、端末Aと端末Bとの間の距離に応じた有効期間を設定することができる。たとえば、両者の距離が長ければ長いほど、有効期間も長くすれば良い。
【0100】
また、ある区画を目標区画とする端末同士の組の数に応じて、当該区画を目標区画とする際の有効期間を設定することもできる。たとえば、その区画を目標区画とする端末同士の組の数が多ければ多いほど、当該区画を目標区画とする際の有効期間を長くする、等の態様が考えられる。
【0101】
このほか、目標区画の残存する有効期間に応じて、端末151の画面201に表示される目標区画の表示態様を変化させることもできる。たとえば、有効期間が長ければ長いほど、目標区画が目立つように、目標マーク203を大きくしたり、色を濃くしたり、明るく表示したり、等である。
図6は、目標区画の有効期間に応じた態様で目標マークを表示する例を示す説明図である。本図に示す例では、残りの有効期間が長い目標区画ほど、目標マーク203を大きく表示している。
【0102】
このように、目標区画に有効期間を設けることで、ユーザの目標を動的に変化させることが可能になる。また、ユーザは、いずれの目標に向かえば良いのかの戦略を立てる際に、目標マーク203の態様を参考にすることができるようになる。
【0103】
(まとめ)
以上説明した通り、本実施形態に係るサーバは、
複数の端末の各端末が所在する位置を間欠的に収集する収集部、
前記複数の端末のうち、第1位置に所在する第1端末と、第2位置に所在する第2端末と、が、所定基準にて十分に遠ければ、前記複数の区画から、
(a)前記第1位置と、前記第2位置と、の中間に所在する区画であって、
(b)前記収集された位置に基づいて、当該区画に滞在したことがある端末を重複なく数えた数が、所定基準にて十分に多い
区画を、目標区画として選択する選択部、
前記第1端末と、前記第2端末と、に、前記選択された目標区画を提示するよう指示する指示部
を備える。
【0104】
本サーバによれば、他のユーザから離間したユーザを、プライバシーに配慮しつつ、他のユーザと集合するように促すことができる。
【0105】
また、本実施形態に係るサーバにおいて、
前記各端末について、最新に収集された最新位置および最新日時と、前記最新位置及び前記最新日時の直前に収集された直前位置および直前日時と、から、当該各端末が移動した速度を計算する計算部、
前記計算された速度が所定基準にて遅い端末について、マップを分割する複数の区画から、前記遅い端末について収集された前記直前位置から前記最新位置までの経路が通過する通過区画を抽出する抽出部、
前記抽出された通過区画を前記遅い端末が通過した通過日時を推定する推定部、
前記抽出された通過区画と、前記遅い端末と、前記推定された通過日時と、を対応付けて、所定期間だけ保管する保管部
をさらに備え、
前記区画に対応付けられて前記保管された端末を、当該区画に滞在したことがある端末とみなす
ように構成することができる。
【0106】
本サーバによれば、端末の速度が遅いか否かに基づいて、ユーザの滞在を判定するとともに、端末の速度が遅いことを目標区画の選択の条件に利用することとしており、得られた情報を複数の用途に用いることで、計算負荷を抑制することができる。
【0107】
また、本実施形態に係るサーバにおいて、
前記目標区画と前記第1位置とが離間する第1距離と、前記目標区画と前記第2位置とが離間する第2距離と、の比が、1を超える定数と、当該定数の逆数と、の間であることを、
前記目標区画が前記第1位置と、前記第2位置と、の中間に所在する必要条件とする
ように構成することができる。
【0108】
本サーバによれば、目標区画を定めるための要件を、簡単な距離計算によって判定することができ、計算負荷を抑制することができる。
【0109】
また、本実施形態に係るサーバにおいて、
前記第1端末について最新に収集された第1最新位置が前記目標区画のうち第1目標区画に所在し、
前記第2端末について最新に収集された第2最新位置が前記目標区画のうち第2目標区画に所在し、
前記第1目標区画と、前記第2目標区画と、が、
異なれば、前記選択部による選択をやり直し、
一致すれば、前記指示部は、前記第1端末と、前記第2端末と、に、イベントが生じた旨を提示するよう指示する
ように構成することができる。
【0110】
本サーバによれば、互いに近付いたユーザ同士をさらに近付けて、互いが近接することを起因とするイベントを発生させるよう促すことができる。
【0111】
また、本実施形態に係るサーバにおいて、
前記第1位置に最も近い端末が所在する最近位置が前記所定基準にて十分に遠いことを、前記目標区画が選択される必要条件とする
ように構成することができる。
【0112】
本サーバによれば、ユーザ過疎地に居住するユーザに対して目標区画を選択することで、ユーザ密集地に居住するユーザとの格差を低減することができるようになる。
【0113】
また、本実施形態に係るサーバにおいて、
前記第1位置に近い順の所定数の端末の各々を、前記第2端末として、前記目標区画が選択される
ように構成することができる。
【0114】
本サーバによれば、ある端末について得られる目標区画の数を多くすることができる。
【0115】
また、本実施形態に係るサーバにおいて、
前記選択された目標区画には、前記目標区画の有効期間が設定され、
前記第1端末について直前に収集された第1直前位置より、最後に収集された第1最新位置の方が、前記目標区画に近ければ、前記目標区画の有効期間を延長し、
前記第2端末について直前に収集された第2直前位置より、最後に収集された第2最新位置の方が、前記目標区画に近ければ、前記目標区画の有効期間を延長し、
前記目標区画の有効期間が過ぎれば、前記選択部による選択をやり直す
ように構成することができる。
【0116】
本サーバによれば、目標区画を動的に変化させることができるようになる。
【0117】
また、本実施形態に係るサーバにおいて、
前記目標区画に設定される有効期間は、前記第1位置と、前記第2位置と、が離間する距離に応じて定められる
ように構成することができる。
【0118】
本サーバによれば、ユーザ同士の距離に応じて有効期間を定めることで、遠距離にいるユーザ同士であっても、目標区画に到達できる可能性を維持することができるようになる。
【0119】
また、本実施形態に係るサーバにおいて、
前記目標区画の有効期間は、当該目標区画を選択している端末の他の対の数に応じて定められる
ように構成することができる。
【0120】
本サーバによれば、たとえば、重複して目標区画となっている場合の有効期限を長くすることで、一人のユーザだけでなく多数のユーザと接近できる可能性を高めることができるようになる。
【0121】
また、本実施形態に係るサーバにおいて、
前記指示部は、前記目標区画の各々に設定される有効期間に応じて、当該目標区画を提示する態様を変化させるよう、前記第1端末と、前記第2端末と、に指示する
ように構成することができる。
【0122】
本サーバによれば、ユーザがいずれの目標区画に向かうかを決める際に有用な情報を、ユーザに提供することができるようになる。
【0123】
本実施形態に係るサービス方法では、サーバが、
複数の端末の各端末が所在する位置を間欠的に収集し、
前記複数の端末のうち、第1位置に所在する第1端末と、第2位置に所在する第2端末と、が、所定基準にて十分に遠ければ、前記複数の区画から、
(a)前記第1位置と、前記第2位置と、の中間に所在する区画であって、
(b)前記収集された位置に基づいて、当該区画に滞在したことがある端末を重複なく数えた数が、所定基準にて十分に多い
区画を、目標区画として選択し、
前記第1端末と、前記第2端末と、に、前記選択された目標区画を提示するよう指示する。
【0124】
本実施形態に係るプログラムは、
コンピュータを、
複数の端末の各端末が所在する位置を間欠的に収集する収集部、
前記複数の端末のうち、第1位置に所在する第1端末と、第2位置に所在する第2端末と、が、所定基準にて十分に遠ければ、前記複数の区画から、
(a)前記第1位置と、前記第2位置と、の中間に所在する区画であって、
(b)前記収集された位置に基づいて、当該区画に滞在したことがある端末を重複なく数えた数が、所定基準にて十分に多い
区画を、目標区画として選択する選択部、
前記第1端末と、前記第2端末と、に、前記選択された目標区画を提示するよう指示する指示部
として機能させる。
【0125】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。