(57)【特許請求の範囲】
【請求項１】
複数の携帯端末と、前記複数の携帯端末と直接通信可能な処理装置とを備える情報処理システムであって、
前記処理装置は、
前記複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得する取得部と、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末を２以上含む行列を特定する特定部と、
前記行列に含まれる携帯端末のいずれかが前記行列に含まれてから現在までに前記行列に含まれていた携帯端末及び前記行列に現在も含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでに要する時間を算出する算出部と、を備える情報処理システム。
【請求項２】
複数の携帯端末と、前記複数の携帯端末と直接通信可能な処理装置とを備える情報処理システムであって、
前記処理装置は、
前記複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得する取得部と、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末の少なくとも１つを含む行列を特定する特定部と、
前記行列に含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでに要する時間を算出する算出部と、を備え、
前記算出部は、前記行列に含まれる携帯端末のうち、第１の携帯端末の１つ前の第２の携帯端末が移動してから、前記第１の携帯端末が移動し始めるまでの第１時間と、前記行列に含まれる携帯端末のうち並び順が隣り合う２つの携帯端末のそれぞれについて算出した、一方が移動してから他方が移動し始めるまでの第２時間とに基づいて、前記第１の携帯端末の前に並ぶ前記携帯端末を持たない人の数を算出する情報処理システム。
【請求項３】
複数の携帯端末と、前記複数の携帯端末と直接通信可能な処理装置とを備える情報処理システムであって、
前記処理装置は、
前記複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得する取得部と、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末の少なくとも１つを含む行列を特定する特定部と、
前記行列に含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでに要する時間を算出する算出部と、を備え、
前記特定部は、前記行列に含まれる携帯端末の移動時刻の前後関係に基づいて、各携帯端末の順序を特定する情報処理システム。
【請求項４】
前記処理装置は、前記複数の携帯端末の少なくとも１つに搭載され、
前記特定部は、前記処理装置が搭載された携帯端末と同一の行列に含まれる携帯端末を特定する請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項５】
前記算出部は、前記処理装置が搭載された携帯端末が前記行列の先頭に達するまでに要する時間を算出する請求項４に記載の情報処理システム。
【請求項６】
前記処理装置が搭載された携帯端末同士で、前記処理装置が搭載された携帯端末が含まれる行列の情報を交換する請求項４又は５に記載の情報処理システム。
【請求項７】
前記処理装置は、前記複数の携帯端末とは異なる電子機器に搭載され、
前記算出部は、前記行列に含まれる携帯端末のうち前記行列の最後尾にある携帯端末が前記行列の先頭に達するまでに要する時間を算出する請求項１〜３のいずれか１項に記載の情報処理システム。
【請求項８】
複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得し、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末を２以上含む行列を特定し、
前記行列に含まれる携帯端末のいずれかが前記行列に含まれてから現在までに前記行列に含まれていた携帯端末及び前記行列に現在も含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでに要する時間を算出する
処理をコンピュータに実行させる情報処理プログラム。
【請求項９】
複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得し、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末を２以上含む行列を特定し、
前記行列に含まれる携帯端末のいずれかが前記行列に含まれてから現在までに前記行列に含まれていた携帯端末及び前記行列に現在も含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでに要する時間を算出する
処理をコンピュータにより実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、情報処理システム、情報処理プログラム、及び情報処理方法に関する。
【背景技術】
【０００２】
施設やサービスを利用しようとする人の数が、施設の利用可能人数やサービスを提供可能な人数を超えると待ち行列（以後、行列という）が発生する。行列には、例えば、スーパーのレジでの精算を待つ列、飲食店の空席を待つ列、美術館の入場待ちの列、空港でセキュリティチェックを受けるための列、及び、トイレの空きを待つ列等があげられる。このような行列に並んだ人は、施設を利用するまでに、または、サービスを受けるまでにどのくらいの時間待たなければならないのかを知りたい場合が多い。
【０００３】
行列に並んでいる人に待ち時間を案内するために、従来から、カメラで行列を含む画像を撮像し、撮像された画像に基づいて待ち時間を案内する方法が提案されている（例えば、特許文献１〜３）。また、行列に並んだ人が、行列に並んだことをサーバに登録し、当該サーバに登録された人数に基づいて施設の利用状況を案内する方法も提案されている（例えば、特許文献４〜５）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１３１３８９号公報
【特許文献２】特開平７−２８７７６３号公報
【特許文献３】特開２００２−３２９１９６号公報
【特許文献４】特開２００４−３８８２３号公報
【特許文献５】特開２００４−１６４５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術はいずれも、行列が発生する場所を事前に知っていないと、カメラを設置したり、待ち時間の算出を行うサーバ等を準備したりすることができない。したがって、普段は行列ができないような場所で行列ができた場合には、当該行列に並んだ人は、その待ち時間を知ることができない。
【０００６】
１つの側面では、本発明は、行列の発生場所に関わらず、行列に並ぶ人が行列の先頭に到達するまでにかかる時間を通知することができる情報処理システム、情報処理プログラム、及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、情報処理システムは、複数の携帯端末と、前記複数の携帯端末と直接通信可能な処理装置とを備える情報処理システムであって、前記処理装置は、前記複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得する取得部と、前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末を２以上含む行列を特定する特定部と、前記行列に含まれる携帯端末のいずれかが前記行列に含まれてから現在までに前記行列に含まれていた携帯端末及び前記行列に現在も含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでに要する時間を算出する算出部と、を備える。
【発明の効果】
【０００８】
１つの側面として、行列の発生場所に関わらず、行列に並ぶ人が行列の先頭に到達するまでにかかる時間を通知することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る情報処理システムの構成を概略的に示す図である。
【図２】処理装置のハードウェア構成を示す図である。
【図３】処理装置の機能ブロック図である。
【図４】動作パターンＤＢの一例を示す図である。
【図５】処理装置が実行する処理を示すフローチャートである。
【図６】自端末情報定期送信処理の詳細を示すフローチャートである。
【図７】他端末情報定期更新処理の詳細を示すフローチャートである。
【図８】自端末移動情報送信処理の詳細を示すフローチャートである。
【図９】他端末移動情報更新処理の詳細を示すフローチャートである。
【図１０】同一列端末特定処理の詳細を示すフローチャートである。
【図１１】待ち時間算出処理の詳細を示すフローチャートである。
【図１２】図１２（ａ）〜図１２（ｄ）は動作パターンＤＢの更新例を示す図である。
【図１３】動作パターンＤＢの更新例を示す図である。
【図１４】図１０のステップＳ５０７の処理について説明するための図である。
【図１５】図１５（ａ）及び図１５（ｂ）は、待ち時間算出処理について説明するための図である。
【図１６】列が長い場合の処理について説明するための図である。
【図１７】第２実施形態に係る情報処理システムの概要を示す図である。
【図１８】第２実施形態の動作パターンＤＢの一例を示す図である。
【図１９】第２実施形態の処理装置が実行する処理の一例を示すフローチャートである。
【図２０】他端末情報定期更新処理の詳細を示すフローチャートである。
【図２１】他端末移動情報更新処理の詳細を示すフローチャートである。
【図２２】待ち時間算出処理の詳細を示すフローチャートである。
【図２３】同一列端末特定処理の詳細を示すフローチャートである。
【図２４】図２４（ａ）及び図２４（ｂ）は、同一列端末特定処理について説明するための図である。
【図２５】待ち時間算出処理について説明するための図である。
【図２６】誤検出の排除について説明するための図である。
【発明を実施するための形態】
【００１０】
《第１実施形態》
以下、情報処理システムの第１実施形態について、図１〜図１５に基づいて詳細に説明する。第１実施形態の情報処理システム５００Ａは、行列に並んだユーザに、当該ユーザが行列の先頭に到達するまでの時間を通知するためのシステムである。
【００１１】
図１には、第１実施形態に係る情報処理システム５００Ａの構成が概略的に示されている。図１に示すように、情報処理システム５００Ａは、複数の携帯端末１０−Ａ〜１０−Ｘを備える。なお、以降の説明において、特に区別する必要がない場合には、携帯端末１０−Ａ〜１０−Ｘを携帯端末１０と記載する。
【００１２】
携帯端末１０は、例えば、携帯電話、スマートフォン、タブレット型端末等である。携帯端末１０は、検出装置１０１と、通信部１０３と、ユーザインタフェース１０５と、処理装置２０Ａと、を備える。
【００１３】
検出装置１０１は、例えば、加速度センサであって、携帯端末１０の移動及び停止（すなわち、携帯端末１０のユーザの移動及び停止）を検出し、処理装置２０Ａに出力する。
【００１４】
通信部１０３は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等により、他の携帯端末１０と直接無線通信を行う。処理装置２０Ａは、通信部１０３を介して、他の携帯端末１０との間で、種々の情報を送受信する。なお、通信部１０３の通信方法は、Ｂｌｕｅｔｏｏｔｈ（登録商標）に限られるものではなく、１００ｍ程度の範囲にある他の携帯端末１０と直接無線通信できる通信方法を採用すればよい。
【００１５】
ユーザインタフェース１０５は、例えば、タッチパネルを備える表示装置である。ユーザインタフェース１０５は、携帯端末１０の操作画面を表示して、ユーザから携帯端末１０に対する操作を受け付ける。例えば、ユーザインタフェース１０５は、携帯端末１０のユーザが行列に並んだ場合に、ユーザが当該行列の先頭に達するまでの時間（待ち時間）の算出要求をユーザから受け付ける。また、ユーザインタフェース１０５は、各種情報を表示する。例えば、ユーザインタフェース１０５は、ユーザが行列の先頭に達するまでの時間（待ち時間）を表示する。
【００１６】
次に、各携帯端末１０に搭載されている処理装置２０Ａについて説明する。図２には、処理装置２０Ａのハードウェア構成が示されている。図２に示すように、処理装置２０Ａは、ＣＰＵ（Central Processing Unit）２１１、ＲＯＭ(Read Only Memory)２１２、ＲＡＭ(Random Access Memory)２１３、記憶装置（ＨＤＤ：Hard Disk Drive）２１４、ネットワークインタフェース２１５、及び可搬型記憶媒体２１６に記憶されたデータを読み取り可能な可搬型記憶媒体用ドライブ２１７等を備えている。これら処理装置２０Ａの構成各部は、バス２１８に接続されている。ＣＰＵ２１１は、ＲＯＭ２１２あるいはＨＤＤ２１４に格納されているプログラム（情報処理プログラムを含む）、或いは可搬型記憶媒体用ドライブ２１７が可搬型記憶媒体２１６から読み取ったプログラムを実行することで、処理装置２０Ａを図３の各部として機能させる。
【００１７】
具体的には、ＣＰＵ２１１がプログラムを実行することにより、処理装置２０Ａは、図３に示すように、取得部２１、特定部２３、及び算出部２５として機能する。
【００１８】
取得部２１は、携帯端末１０の移動及び停止（携帯端末１０のユーザの移動及び停止）に関する情報を取得する。具体的には、取得部２１は、検出装置１０１から、携帯端末１０（自端末）の移動及び停止に関する情報（移動情報）を取得する。そして、取得部２１は、移動情報からユーザが行列に並んだと判断すると、所定時間（２〜３秒)毎に、自端末を一意に識別する端末ＩＤと、ユーザが行列に並び始めた時刻とを、通信部１０３を介して他の携帯端末１０に送信（ブロードキャスト）する。また、取得部２１は、ユーザが行列に並び始めた場合、検出装置１０１から取得した移動情報を動作パターンＤＢ２７に登録する。また、取得部２１は、検出装置１０１の検出結果に基づいて、ユーザが停止している状態から、移動し、再び停止したと判断すると、当該移動情報を、通信部１０３を介して他の携帯端末１０に送信（ブロードキャスト）する。
【００１９】
また、取得部２１は、行列に並んでいる他の携帯端末１０が所定時間（２〜３秒）毎に送信（ブロードキャスト）する端末ＩＤと、他の携帯端末１０のユーザが行列に並び始めた時刻とを、通信部１０３を介して取得し、動作パターンＤＢ２７に登録する。また、取得部２１は、行列に並んでいる他の携帯端末１０が送信（ブロードキャスト）した移動情報を、通信部１０３を介して取得し、動作パターンＤＢ２７に登録する。
【００２０】
ここで、動作パターンＤＢ２７について詳細に説明する。動作パターンＤＢ２７は、自端末及び他の携帯端末１０の移動情報を管理するためのデータベースである。動作パターンＤＢ２７は、処理装置２０ＡのＨＤＤ２１４等に格納される。動作パターンＤＢ２７は、図４に示すように、「端末ＩＤ」、「開始時刻」、「離脱時刻」、「移動情報」、「開始時同一列」、「現在同一列」、及び「通信時刻」のフィールドを備える。
【００２１】
「端末ＩＤ」のフィールドには、自端末及び他の携帯端末１０を一意に識別する端末ＩＤが格納される。なお、本実施形態において、説明の便宜上、自端末については「端末ＩＤ」のフィールドに、“自端末”と記載している。「開始時刻」のフィールドには、端末ＩＤで識別される携帯端末１０のユーザが、行列に並び始めた時刻が格納される。「離脱時刻」のフィールドには、端末ＩＤで識別される携帯端末１０のユーザが、行列から離れた時刻（途中で行列に並ぶのを止めた時刻、あるいは、行列の先頭から列を抜けた時刻）が格納される。
【００２２】
「移動情報」のフィールドには、各携帯端末１０の移動情報が格納される。「移動情報」のフィールドは、移動又は停止を表す「区分」のサブフィールドと、移動及び停止の開始時刻を表す「時刻」のサブフィールドと、を備える。本実施形態では、携帯端末１０が移動を開始した、すなわち、ユーザが移動を開始した場合、「区分」のサブフィールドには“Ｍ”が格納され、「時刻」のサブフィールドには、移動を開始した時刻が格納される。また、携帯端末１０が停止した（移動を止めた）場合、「区分」のサブフィールドには“Ｓ”が格納され、「時刻」のサブフィールドには、携帯端末１０が停止した時刻が格納される。
【００２３】
「開始時同一列」のフィールドには、自端末のユーザが行列に並び始めたときに、自端末と同一の行列に含まれる携帯端末１０に対して“Ｘ”が格納される。「現在同一列」のフィールドには、現在、自端末と同一の行列に含まれる携帯端末１０に対して“Ｘ”が格納される。「通信時刻」のフィールドには、他の携帯端末１０から最後に情報を受信した時刻が格納される。動作パターンＤＢ２７に格納される具体的なデータや、更新例については後述する。
【００２４】
図３に戻り、特定部２３は、動作パターンＤＢ２７を用いて、自端末と同一の行列に含まれる携帯端末１０を特定することにより、自端末を含む行列を特定する。具体的には、特定部２３は、動作パターンＤＢ２７に格納された他の携帯端末１０の移動情報から各携帯端末１０の動作パターンを取得し、自端末の移動情報から自端末の動作パターンを取得する。特定部２３は、他の携帯端末１０の動作パターンと、自端末の動作パターンとが類似するか否かに基づいて、自端末と同一の行列に含まれる携帯端末１０を特定する。
【００２５】
算出部２５は、行列に並ぶユーザが、行列の先頭に達するまでの時間（待ち時間）を算出し、ユーザインタフェース１０５に表示する。待ち時間の算出方法の詳細は、後述する。
【００２６】
次に処理装置２０Ａが実行する情報処理の詳細について、図５〜図１１のフローチャート及びその他図面を適宜参照しつつ説明する。
【００２７】
図５の処理は、携帯端末１０のユーザが、携帯端末１０にインストールされたアプリケーションを起動すると開始され、ユーザが当該アプリケーションを終了するまで繰り返し実行される。なお、アプリケーションの起動時、動作パターンＤＢ２７は初期化されており、データは登録されていないものとする。
【００２８】
図５の処理では、まず、ステップＳ１０１において、取得部２１は、検出装置１０１の検出結果に基づいて、携帯端末１０が、所定時間（例えば、１０〜３０秒）停止（停留）するまで、ステップＳ１０１の判断を繰り返す。そして、取得部２１は、携帯端末１０が所定時間停止した段階で、ステップＳ１０３に移行する。
【００２９】
ステップＳ１０３に移行すると、取得部２１は、ユーザが行列に並び始めた時刻を記録する。具体的には、取得部２１は、動作パターンＤＢ２７において、自端末の「開始時刻」のフィールドに、現在時刻を登録する。例えば、取得部２１が、１０：５０に、携帯端末１０が所定時間停止したと判断した場合、取得部２１は、図１２（ａ）に示すように、自端末の「開始時刻」のフィールドに“１０：５０”を登録する。
【００３０】
続くステップＳ１０５において、取得部２１は、自端末の端末ＩＤ及び開始時刻（ユーザが行列に並び始めた時刻）を他の携帯端末１０に向けて送信（ブロードキャスト）する。
【００３１】
ステップＳ１０５の終了後、処理装置２０Ａは、自端末情報定期送信処理（Ｓ２０）、他端末情報定期更新処理（Ｓ３０）、自端末移動情報送信処理（Ｓ４０）、他端末移動情報更新処理（Ｓ７０）、同一列端末特定処理（Ｓ５０）、及び待ち時間算出処理（Ｓ６０）を並列して実行する。
【００３２】
（自端末情報定期送信処理：Ｓ２０）
まず、図６を参照して、図５のステップＳ２０の自端末情報定期送信処理の詳細について説明する。自端末情報定期送信処理は、携帯端末１０のユーザが行列に並んでいることを他の携帯端末１０に通知するための処理である。
【００３３】
図６の処理では、まず、ステップＳ２０１において、取得部２１は、自端末の端末ＩＤ及び開始時刻を前回送信してから、所定時間（例えば、２〜３秒）が経過したか否かを判断する。ここでの判断が肯定された場合、ステップＳ２０５に移行し、取得部２１は、携帯端末１０の端末ＩＤ及び開始時刻を他の携帯端末１０に送信（ブロードキャスト）する。ステップＳ２０５の処理後は、ステップＳ２０１に戻る。
【００３４】
一方、ステップＳ２０１の判断が否定された場合、取得部２１は、ステップＳ２０３に移行し、自端末が行列から離脱したか否か、すなわち、ユーザが行列に並ぶのをやめた、あるいは、ユーザが行列の先頭から列を抜けたか否かを判断する。取得部２１は、例えば、検出装置１０１の検出結果に基づいて携帯端末１０が所定時間（例えば、３０秒）以上移動し続けたことを認識した場合に、携帯端末１０が行列から離脱したと判断する。取得部２１は、動作パターンＤＢ２７に登録された移動情報に基づいて携帯端末１０の動作パターンが変化したと認識した場合、すなわち、携帯端末１０が繰り返す移動と停止との間に存在する規則性に変化があったと認識した場合、携帯端末１０が行列から離脱したと判断してもよい。
【００３５】
携帯端末１０が行列から離脱していない場合には、ステップＳ２０１に戻るが、携帯端末１０が行列から離脱した場合には、図５のステップＳ１１１に移行する。
【００３６】
以上の自端末情報定期送信処理により、行列に並んでいる人の携帯端末１０に、自端末のユーザが行列に並んでいることを報知することができる。また、所定時間毎に自端末の情報（端末ＩＤ，開始時刻）を送信することで、自端末のユーザが行列に並び続けていることを、他の携帯端末１０に報知することができる。さらに、ユーザが行列に並んだ後に、行列に並んだユーザの携帯端末１０にも、自端末の情報を提供することができる。
【００３７】
（他端末情報定期更新処理：Ｓ３０）
次に、図７を参照して、図５のステップＳ３０の他端末情報定期更新処理の詳細について説明する。他端末情報定期更新処理は、他の携帯端末１０が、上述した自端末情報定期送信処理（図６）を実行することにより送信する端末ＩＤ及び開始時刻の情報を用いて、動作パターンＤＢ２７を更新する処理である。
【００３８】
図７の処理では、まず、ステップＳ３０１において、取得部２１は、他の携帯端末１０から端末ＩＤと開始時刻とを受信したか否かを判断する。ここでの判断が否定された場合には、ステップＳ３０９に移行するが、肯定された場合には、ステップＳ３０３に移行する。
【００３９】
ステップＳ３０３に移行すると、取得部２１は、受信した端末ＩＤが動作パターンＤＢ２７に既に登録されているか否かを判断する。ここでの判断が否定された場合、ステップＳ３０５に移行し、受信した端末ＩＤを動作パターンＤＢ２７に新規登録する。取得部２１は、例えば、図１２（ｂ）に示すように、動作パターンＤＢ２７において、他の携帯端末１０の「端末ＩＤ」及び「開始時刻」を新規登録する。また、取得部２１は、「通信時刻」のフィールドに現在時刻を登録する。一方、受信した端末ＩＤが動作パターンＤＢ２７に既に登録されている場合、取得部２１は、ステップＳ３０７に移行し、当該端末ＩＤの「通信時刻」のフィールドを現在時刻で更新する。
【００４０】
続くステップＳ３０９において、取得部２１は、行列から離脱した携帯端末１０が存在するか否かを判断する。具体的には、取得部２１は、動作パターンＤＢ２７を用いて、所定時間（例えば、３０秒）以上通信していない携帯端末１０が存在するか否かを判断する。より具体的には、取得部２１は、「通信時刻」と現在時刻との差が所定時間（例えば、３０秒）以上である携帯端末１０が存在するか否かを判断する。上述したように、行列に含まれる携帯端末１０はそれぞれ、所定時間（２〜３秒）毎に、端末ＩＤと開始時刻とをブロードキャストしており、取得部２１は、当該端末ＩＤと開始時刻とを受信した場合、「通信時刻」のフィールドを更新する。したがって、「通信時刻」が所定時間以上更新されていない携帯端末１０は、行列から離脱したと推定できる。
【００４１】
したがって、ステップＳ３０９の判断が肯定された場合、取得部２１は、ステップＳ３１１において、該当する端末の「離脱時刻」のフィールドに、現在時刻を登録する。
【００４２】
一方、ステップＳ３０９の判断が否定された場合、取得部２１は、ステップＳ３１３において、図６のステップＳ２０３と同様に、自端末が行列から離脱したか否かを判断する。ここでの判断が否定された場合、ステップＳ３０１に戻るが、肯定された場合、図５のステップＳ１１１に移行する。
【００４３】
以上の他端末情報定期更新処理によって、行列に含まれる他の携帯端末１０の情報を動作パターンＤＢ２７に登録できると共に、行列から離脱した携帯端末１０を特定することができる。
【００４４】
（自端末移動情報送信処理：Ｓ４０）
次に、図８を参照して、図５のステップＳ４０の自端末移動情報送信処理の詳細について説明する。自端末移動情報送信処理は、行列に並んだユーザが、停止している状態から移動し、再び停止した場合に、当該移動情報を他の携帯端末１０に送信する処理である。
【００４５】
図８の処理では、ステップＳ４０１において、取得部２１は、自端末が移動を開始するまで待機する。そして、取得部２１は、自端末が移動を開始したことを検出装置１０１の検出結果に基づいて認識すると、ステップＳ４０３に移行し、自端末が移動を開始した時刻を、動作パターンＤＢ２７の「移動情報」のフィールドに登録する。具体的には、取得部２１は、図１２（ｃ）に示すように、「移動情報」のフィールドにおいて、「区分」に移動を示す“Ｍ”を登録し、「時刻」に現在時刻を登録する。
【００４６】
続くステップＳ４０５において、取得部２１は、検出装置１０１の検出結果に基づいて自端末が停止したか否かを判断する。ここでの判断が否定された場合、ステップＳ４１３に移行する。
【００４７】
ステップＳ４１３に移行すると、取得部２１は、自端末が移動を開始してから所定時間（例えば、２０秒）が経過したか否かを判断する。本ステップＳ４１３では、ステップＳ４０１で検出した自端末の移動が、行列の移動に伴う移動（行列が進んだことによる移動）であるのか、それ以外の移動であるのかを判断している。行列の移動に伴う移動の場合、その移動時間は比較的短い（例えば、３〜１０秒程度）ため、所定時間以内の移動であれば、当該移動が行列の移動に伴う移動であると判断できる。ステップＳ４１３の判断が肯定された場合、ステップＳ４１１に移行し、否定された場合、ステップＳ４０５に戻る。
【００４８】
所定時間が経過するまでに（ステップＳ４１３／ＮＯ）、自端末が停止した場合、ステップＳ４０５の判断が肯定され、ステップＳ４０７に移行する。
【００４９】
ステップＳ４０７に移行すると、取得部２１は、自端末が停止を開始した時刻を、動作パターンＤＢ２７の「移動情報」のフィールドに登録する。具体的には、取得部２１は、図１２（ｄ）に示すように、「移動情報」のフィールドにおいて、「区分」に停止を示す“Ｓ”を登録し、「時刻」に現在時刻を登録する。
【００５０】
続くステップＳ４０９において、取得部２１は、自端末の移動情報（移動開始時刻及び停止開始時刻）を他の携帯端末１０に送信（ブロードキャスト）する。これにより、他の携帯端末１０の動作パターンＤＢ２７に格納されている自端末の移動情報が更新される。
【００５１】
続くステップＳ４１１において、取得部２１は、図６のステップＳ２０３と同様に、自端末が行列から離脱したか否かを判断する。ここでの判断が否定された場合、ステップＳ４０１に戻るが、肯定された場合、図５のステップＳ１１１に移行する。
【００５２】
以上の自端末移動情報送信処理により、他の携帯端末１０に、自端末の移動情報を提供することができる。他の携帯端末１０は、提供された移動情報に基づいて動作パターンＤＢ２７を更新する。
【００５３】
（他端末移動情報更新処理：Ｓ７０）
次に、図９を用いて、図５のステップＳ７０の他端末移動情報更新処理の詳細について説明する。他端末移動情報更新処理は、行列に含まれる他の携帯端末１０が、上述した自端末移動情報送信処理（図８）を実行することにより送信する移動情報に基づいて、動作パターンＤＢ２７を更新する処理である。
【００５４】
図９の処理では、まず、ステップＳ７０１において、取得部２１は、他の携帯端末１０から移動情報を受信したか否かを判断する。他の携帯端末１０が、上述した自端末移動情報送信処理（図８）を行った場合、ステップＳ７０１の判断が肯定される。ステップＳ７０１の判断が肯定された場合、ステップＳ７０３に移行する。
【００５５】
ステップＳ７０３に移行すると、取得部２１は、動作パターンＤＢ２７において、他の携帯端末１０の移動情報を更新する。例えば、図１３に示すように、他の携帯端末１０（端末ＩＤ：１０−Ｂ）の「移動情報」のフィールドを更新する。ステップＳ７０３の処理後は、ステップＳ７０１に戻る。
【００５６】
一方、ステップＳ７０１の判断が否定された場合、ステップＳ７０５に移行し、取得部２１は、図６のステップＳ２０３と同様に、自端末が行列から離脱したか否かを判断する。ここでの判断が否定された場合、ステップＳ７０１に戻るが、肯定された場合、図５のステップＳ１１１に移行する。
【００５７】
以上の他端末移動情報更新処理により、行列に含まれる他の携帯端末１０の移動情報が動作パターンＤＢ２７に蓄積される。
【００５８】
（同一列端末特定処理：Ｓ５０）
次に、図１０を用いて、図５のステップＳ５０の同一列端末特定処理の詳細について説明する。同一列端末特定処理は、自端末と同一の行列に含まれる他の携帯端末１０を特定することにより、自端末が含まれる行列を特定する処理である。
【００５９】
図１０の処理では、まず、ステップＳ５０５において、特定部２３は、自端末と同一の行列に含まれる他の携帯端末１０を特定するのに十分な移動情報が動作パターンＤＢ２７内に蓄積されるまで待機する。上述したように、特定部２３は、自端末の動作パターンと、他の携帯端末１０の動作パターンとが類似しているか否かに基づいて、自端末と同一の行列に含まれる他の携帯端末１０を特定する。したがって、動作パターンＤＢ２７には類似性を確認可能な程度に、移動情報が蓄積されている必要がある。ここで、例えば、特定部２３は、自端末の「移動情報」のフィールドに、移動→停止のサイクルが、所定数以上（例えば、２サイクル以上）登録されている場合に、特定に十分な移動情報が蓄積されていると判断する。
【００６０】
ステップＳ５０５の判断が肯定されると、特定部２３は、ステップＳ５０７に移行する。
【００６１】
ステップＳ５０７に移行すると、特定部２３は、自端末の動作パターンと、他の携帯端末１０の動作パターンとが類似しているか否かに基づいて、自端末と同一の行列に含まれる他の携帯端末１０を特定する。
【００６２】
ここで、ステップＳ５０７の具体的な処理について説明する。ここで、携帯端末１０−Ｘに搭載された処理装置２０Ａが同一端末特定処理を実行したものとする。この場合、特定部２３は、動作パターンＤＢ２７に登録された移動情報から、図１４に示すように、各携帯端末１０の動作パターンを取得する。
【００６３】
次に、特定部２３は、携帯端末１０−Ｘと移動→停止のサイクルが類似しており、携帯端末１０−Ｘの移動と他の携帯端末１０の移動との間に規則的な前後関係がある携帯端末１０を特定する。ここで、図１４において、携帯端末１０−Ａ及び携帯端末１０−Ｂの移動→停止のサイクルは、携帯端末１０−Ｘの移動→停止のサイクルと類似している。さらに、携帯端末１０−Ｂが移動を開始したｔ１秒後に携帯端末１０−Ａが移動を開始し、携帯端末１０−Ａが移動を開始したｔ１秒後に携帯端末１０−Ｘが移動を開始しており、携帯端末１０−Ｘの移動と携帯端末１０−Ａ，１０−Ｂの移動との間に規則的な前後関係があるといえる。
【００６４】
一方、携帯端末１０−Ｃの移動→停止のサイクルは、携帯端末１０−Ｘと類似しているものの、移動を開始するタイミングが、携帯端末１０−Ａ，１０−Ｂ，１０−Ｘとは異なっている。また、携帯端末１０−Ｄの移動→停止のサイクルは、携帯端末１０−Ｘとは異なる。この場合、特定部２３は、携帯端末１０−Ａ、携帯端末１０−Ｂ、及び携帯端末１０−Ｘの動作パターンは、類似していると判断し、携帯端末１０―Ａ及び携帯端末１０−Ｂが、携帯端末１０−Ｘと同一の行列に含まれる携帯端末１０であると特定する。これにより、携帯端末１０−Ｘが含まれる行列は、携帯端末１０−Ａ，１０−Ｂが含まれる行列であると特定できる。
【００６５】
なお、特定部２３は、各携帯端末１０が移動を開始するタイミングから、行列に並んでいる携帯端末１０の順序を特定してもよい。これにより、行列に並んでいる携帯端末１０の前後関係を把握することができる。図１４の場合、携帯端末１０は、携帯端末１０−Ｂ、１０−Ａ、及び１０−Ｘの順に列に並んでいる。
【００６６】
図１０に戻り、続くステップＳ５０９において、特定部２３は、動作パターンＤＢ２７において、ステップＳ５０７で特定した携帯端末１０の「開始時同一列」のフィールドに“Ｘ”を登録する。
【００６７】
続くステップＳ５１５からの処理は、現在、自端末と同一の行列に含まれる携帯端末１０を特定するための処理である。ステップＳ５１５において、特定部２３は、取得部２１が自端末の移動情報を送信したか否かを判断する。すなわち、特定部２３は、取得部２１が、図８のステップＳ４０９の処理を実行したか否かを判断する。現時点で自端末と同一の行列に含まれる携帯端末１０を特定するには、自端末の現在の動作パターンを取得する必要があるからである。
【００６８】
ステップＳ５１５の判断が否定された場合、ステップＳ５２１に移行するが、肯定された場合、ステップＳ５１７に移行する。
【００６９】
ステップＳ５１７に移行すると、特定部２３は、自端末の直近（例えば、移動→停止の直近２サイクル）の動作パターンと、他の携帯端末１０の直近の動作パターンとが類似するか否かに基づいて、ステップＳ５０７と同様の方法で、現在、自端末と同一の行列に含まれる携帯端末１０を特定する。
【００７０】
続くステップＳ５１９において、特定部２３は、動作パターンＤＢ２７において、ステップＳ５０７で特定した携帯端末１０の「現在同一列」のフィールドに“Ｘ”を登録する。
【００７１】
続くステップＳ５２１において、特定部２３は、図６のステップＳ２０３等と同様に、自端末が行列から離脱したか否かを判断する。ここでの判断が否定された場合、ステップＳ５１５に戻るが、肯定された場合、図５のステップＳ１１１に移行する。
【００７２】
以上の同一列端末特定処理によって、自端末と同一の行列に含まれる他の携帯端末１０を特定し、自端末が含まれる行列を特定することができる。
【００７３】
（待ち時間算出処理：Ｓ６０）
次に、図１１を参照して、図５のステップＳ６０の待ち時間算出処理の詳細について説明する。待ち時間算出処理は、行列に並んでいる自端末のユーザが、当該行列の先頭に到達するまでの時間（待ち時間）を算出する処理である。
【００７４】
図１１の処理では、まず、ステップＳ６０１において、算出部２５は、待ち時間の算出を要求する待ち時間算出要求をユーザインタフェース１０５を介してユーザから受け付けたか否かを判断する。ここでの判断が肯定された場合、ステップＳ６０３に移行する。
【００７５】
ステップＳ６０３に移行すると、算出部２５は、現在、自端末と同一の行列に含まれる携帯端末１０のうち、最も早く列に並び始めた人の携帯端末１０を特定する。具体的には、算出部２５は、動作パターンＤＢ２７の「現在同一列」のフィールドに“Ｘ”が登録され、かつ、「開始時刻」のフィールドに格納された時刻が最も早い携帯端末１０を特定する。例えば、図１５（ａ）に示す動作パターンＤＢ２７が登録されている場合、算出部２５は、端末ＩＤが“１０−Ｂ”の携帯端末１０を特定する。
【００７６】
続くステップＳ６０５において、算出部２５は、ステップＳ６０３で特定した携帯端末１０に、当該携帯端末１０のユーザが行列に並び始めてから現在までの間に、行列を離脱した携帯端末１０の数を問い合わせる。問い合わせを受けた携帯端末１０は、動作パターンＤＢ２７において、「開始時同一列」のフィールドに“Ｘ”が登録されている携帯端末１０のうち、「開始時刻」が自端末の「開始時刻」よりも先で、「離脱時刻」のフィールドにデータが格納されている携帯端末１０を数え、回答する。例えば、図１５（ｂ）に示す動作パターンＤＢ２７が登録されている場合、問い合わせを受けた携帯端末１０は、行列を離脱した携帯端末１０の数として“１”を回答する。
【００７７】
続くステップＳ６０７において、算出部２５は、１人あたりの待ち時間を算出する。具体的には、算出部２５は、まず、最も早く列に並び始めた人の携帯端末１０の「開始時刻」を現在時刻から差し引いた時間を計算する。次に、当該時間を、ステップＳ６０５で取得した行列を離脱した携帯端末１０の数で割って、１人あたりの待ち時間を計算する。
【００７８】
続くステップＳ６０９において、算出部２５は、自端末のユーザの前に並んでいる人の数を推定する。
【００７９】
ここで、ユーザの前に並んでいる人の数の推定方法について説明する。行列に並んでいる人の中に、携帯端末１０を持っていない人が存在する場合がある。携帯端末１０を持っていない人が、行列の中に偏りなく（均等に）存在する場合には、自端末の前に並んでいる携帯端末１０の数を、ユーザの前に並んでいる人の数として待ち時間を計算しても妥当な精度の結果を得ることができる。しかし、携帯端末１０を持っていない人が偏って存在している場合、例えば、ユーザの前だけに携帯端末１０を持っていない人がかたまって並んでいる場合、算出した待ち時間の精度が低くなってしまう。
【００８０】
そこで、本実施形態では、算出部２５は、まず、自端末の１つ前の携帯端末１０が移動してから、自端末が移動し始めるまでの時間の平均値（第１平均値とする）を求める。また、算出部２５は、動作パターンＤＢ２７のデータ上で並び順が隣り合う２つの携帯端末１０のそれぞれについて、一方の携帯端末１０が移動してから、他方の携帯端末１０が移動し始めるまでの時間を求め、当該時間を平均した値（第２平均値とする）を求める。そして、算出部２５は、第１平均値が第２平均値よりも大きい場合、第１平均値を第２平均値で割った値の整数部分を、自端末の前に並んでいる携帯端末１０を持たない人の数とする。算出部２５は、第１平均値を第２平均値で割った値を四捨五入した値を、自端末の前に並んでいる携帯端末１０を持たない人の数としてもよい。算出部２５は、自端末の前に並んでいる携帯端末１０を持たない人の数を、現在、自端末の前に並んでいる携帯端末１０の数に加算して、ユーザの前に並んでいる人の人数を算出する。
【００８１】
続くステップＳ６１１において、算出部２５は、ステップＳ６０７で算出した１人あたりの待ち時間に、ステップＳ６０９で推定したユーザの前に並んでいる人の数を乗算して、自端末のユーザが行列の先頭に達するまでにかかる時間（待ち時間）を算出する。
【００８２】
続くステップＳ６１３において、算出部２５は、ステップＳ６１１で算出した待ち時間をユーザに報知する。例えば、算出部２５は、ユーザインタフェース１０５に、待ち時間を表示する。算出部２５は、不図示のスピーカから、音声で待ち時間を案内してもよい。ステップＳ６１３の処理の終了後は、ステップＳ６０１に戻る。これにより、ユーザは、自分の待ち時間を知ることができる。
【００８３】
ところで、ステップＳ６０１の判断が否定された場合、算出部２５は、ステップＳ６１５において、図６のステップＳ２０３等と同様に、自端末が行列から離脱したか否かを判断する。ここでの判断が否定された場合、ステップＳ６０１に戻るが、肯定された場合、図５のステップＳ１１１に移行する。
【００８４】
図５のステップＳ１１１に移行すると、取得部２１は、動作パターンＤＢ２７を初期化し、図５の処理を終了する。
【００８５】
以上、詳細に述べたように、本第１実施形態によれば、情報処理システム５００Ａは、複数の携帯端末１０と、複数の携帯端末１０と直接通信可能な処理装置２０Ａとを備え、処理装置２０Ａは複数の携帯端末１０のそれぞれに搭載されている。また、処理装置２０Ａは、複数の携帯端末１０（自端末および他の携帯端末１０）のそれぞれから、各携帯端末１０の移動及び停止に関する情報を取得する取得部２１と、自端末の移動及び停止に関する情報から取得可能な動作パターンと、他の携帯端末１０の移動及び停止に関する情報から取得可能な動作パターンとが類似するか否かに基づいて、自端末を含む行列を特定する特定部２３と、行列に含まれる携帯端末１０の移動及び停止に関する情報から、自端末が行列の先頭に達するまでの時間を算出する算出部２５と、を備えている。これにより、カメラやサーバ等を設置することなく、ユーザが並ぶ行列を特定し、当該行列の先頭にユーザが到達するまでの時間をユーザに通知することができる。また、情報処理システム５００Ａでは、カメラ等の機器を設置する必要がないため、普段は行列が発生しないような場所（例えば、公園等）で発生した行列にユーザが並んだ場合にも、ユーザに待ち時間を通知することができる。
【００８６】
また、情報処理システム５００Ａでは、カメラの設置や、画像を分析するための装置が必要ないため、導入コストを削減することができる。また、ユーザはサーバに情報を登録する必要がないため、ユーザの利便性が向上する。
【００８７】
待ち時間を推測するためには、一般的に、待ち行列モデルなどを用意する必要があり、当該モデルが不明な場合には、待ち時間を推測しにくい。しかしながら、情報処理システム５００Ａでは、自端末の動作パターンと他の携帯端末１０の動作パターンとに基づいて、行列に含まれる自端末が行列の先頭に達するまでの時間を算出するので、モデルを用意する必要がない。さらに、特定部２３は、自端末の動作パターンと他の携帯端末１０の動作パターンとが類似するか否かに基づいて自端末が含まれる行列を特定するので、つづらおりになっている行列や、蛇行している行列であっても、自端末が含まれる行列を特定することができる。
【００８８】
また、本第１実施形態において、算出部２５は、行列に含まれる携帯端末１０のうち、自端末の１つ前の携帯端末１０が移動してから、自端末が移動し始めるまでの時間の平均値（第１平均値）と、行列に含まれる携帯端末１０のうち並び順が隣り合う２つの携帯端末１０のそれぞれについて算出した、一方が移動してから他方が移動し始めるまでの時間の平均値（第２平均値）とに基づいて、自端末の前に並ぶ携帯端末１０を持たない人の数を算出する。これにより、携帯端末１０を持たない人が行列に並んでいる場合にも、自端末の前に並ぶ携帯端末１０を持たない人の数を考慮して待ち時間を算出できるので、より精度の高い待ち時間の算出結果を得ることができる。
【００８９】
また、本第１実施形態において、特定部２３は、行列に含まれる携帯端末１０の移動時刻の前後関係に基づいて、各携帯端末１０の順序を特定するので、行列に含まれる携帯端末１０の前後関係を把握することができる。
【００９０】
なお、上記第１実施形態において、携帯端末１０のそれぞれに処理装置２０Ａが搭載されている場合について説明したが、これに限られるものではない。処理装置２０Ａは、携帯端末１０の少なくとも１つに搭載されていればよい。この場合、他の携帯端末１０に搭載される処理装置については、処理装置２０Ａの一部機能が省略されていてもよい。具体的には、他の携帯端末１０に搭載される処理装置は、例えば、図５の待ち時間算出処理（Ｓ６０）以外の処理を実行するものであればよい。
【００９１】
なお、上記第１実施形態の図１１のステップＳ６０９において、例えば、算出部２５は、現在、自端末と同一の行列に並んでいる携帯端末１０のうち、自端末のユーザよりも先に列に並び始めた人の携帯端末１０の数を数えてもよい。具体的には、動作パターンＤＢ２７の「現在同一列」のフィールドに“Ｘ”が登録され、かつ、「開始時刻」が自端末の「開始時刻」よりも先である携帯端末１０の数を、ユーザの前に並んでいる人の数としてもよい。この場合、上述した処理と比較して、簡易にユーザの前に並んでいる人を推定できるため、待ち時間を算出するのに要する時間を短縮することができる。
【００９２】
なお、上記第１実施形態において、行列が長い場合、自端末と、遠くの位置に並んでいる端末との移動の時間差はばらつきが大きくなり、規則的な前後関係の把握が難しくなる場合がある。また、行列が長くなると、通信方法によっては通信距離の制約により、行列に含まれる全ての携帯端末１０と通信できない場合がある。このような場合、携帯端末１０は、自端末から所定の範囲内に存在する行列を特定し、当該行列の先頭にある携帯端末１０から、当該携帯端末１０が有する動作パターンＤＢ２７の情報を取得し、自端末の動作パターンＤＢ２７と統合してもよい。これにより、行列に含まれる全ての携帯端末１０の情報を取得することができる。
【００９３】
また、さらに長い列の場合には、行列に含まれる携帯端末１０同士が、動作パターンＤＢ２７の情報を提供しあうことで、行列に含まれる全ての携帯端末１０の情報を取得することができる。例えば、図１６に示すように、携帯端末１０−Ｃが先頭で、携帯端末１０−Ｕが最後尾である行列を仮定する。この場合において、携帯端末１０−Ｂの動作パターンＤＢ２７には、携帯端末１０−Ｂが含まれる列Ｌ３に含まれる携帯端末１０の移動情報が格納されている。この場合、携帯端末１０−Ａは、携帯端末１０−Ａが含まれる列Ｌ２の先頭にいる携帯端末１０−Ｂから、携帯端末１０−Ｂが有する動作パターンＤＢ２７（列Ｌ３に含まれる携帯端末１０の情報が格納されている）を取得して、自端末の動作パターンＤＢ２７と統合する。これにより、携帯端末１０−Ａの動作パターンＤＢ２７には、携帯端末１０−Ｃ〜携帯端末１０−Ｘまでの移動情報が格納されることになる。また、携帯端末１０−Ｘは、携帯端末１０−Ｘが含まれる列Ｌ３の先頭にいる携帯端末１０−Ａから、携帯端末１０−Ａが有する動作パターンＤＢ２７を取得して、自端末の動作パターンＤＢ２７と統合する。これにより、携帯端末１０−Ｘの動作パターンＤＢ２７には、携帯端末１０−Ｃ〜携帯端末１０−Ｕまでの移動情報が格納されることになる。なお、携帯端末１０Ｂが、列Ｌ３の最後尾の携帯端末１０―Ａから、動作パターンＤＢ２７を取得して、列Ｌ２に含まれる携帯端末１０の移動情報を取得してもよい。
【００９４】
《第２実施形態》
次に、情報処理システムの第２実施形態について、図１７〜図２５に基づいて詳細に説明する。第２実施形態の情報処理システム５００Ｂは、行列に並んでいない管理者（例えば、行列を整理又は監視する係員等）に、行列の待ち時間を通知するためのシステムである。
【００９５】
図１７には、第２実施形態に係る情報処理システム５００Ｂの構成が概略的に示されている。図１７に示すように、情報処理システム５００Ｂは、複数の携帯端末１０−Ａ〜１０−Ｘと、電子機器３０と、を備える。なお、以後の説明において、特に区別する必要のない限り、携帯端末１０−Ａ〜１０−Ｘを携帯端末１０と記載する。
【００９６】
携帯端末１０の構成は、第１実施形態と同様であるため、その説明を省略する。なお、携帯端末１０の処理装置２０Ａは、図５に示す全ての処理を実行してもよいが、少なくとも、図５のステップＳ１０１〜Ｓ１０６、Ｓ２０、及びＳ４０を実行するものであればよい。この場合、携帯端末１０に搭載された処理装置２０Ａの動作パターンＤＢ２７は、少なくとも、「端末ＩＤ」及び「開始時刻」のフィールドを備えていればよい。
【００９７】
電子機器３０は、例えば、スマートフォン、タブレット型端末、専用端末等である。電子機器３０は、通信部３０３、ユーザインタフェース３０５、及び、処理装置２０Ｂを備える。
【００９８】
通信部３０３は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等により、携帯端末１０と直接無線通信を行う。処理装置２０Ｂは、通信部３０３を介して、携帯端末１０から、種々の情報を受信する。なお、通信部３０３の通信方法は、Ｂｌｕｅｔｏｏｔｈ（登録商標）に限られるものではなく、１００ｍ程度の範囲にある携帯端末１０と直接通信できる通信方法を採用すればよい。
【００９９】
ユーザインタフェース３０５は、例えば、タッチパネルを備える表示装置である。ユーザインタフェース３０５は、電子機器３０の操作画面を表示して、ユーザから電子機器３０に対する操作を受け付ける。具体的には、ユーザインタフェース３０５は、電子機器３０の周囲に行列が存在する場合に、当該行列の最後尾の携帯端末１０が先頭に達するまでの時間（待ち時間）の算出要求をユーザから受け付ける。また、ユーザインタフェース３０５は、各種情報を表示する。例えば、ユーザインタフェース３０５は、行列の最後尾の携帯端末１０が先頭に達するまでの時間（待ち時間）を表示する。
【０１００】
処理装置２０Ｂのハードウェア構成は、処理装置２０Ａと同一（図２参照）であるため、説明を省略する。処理装置２０Ｂは、動作パターンＤＢ２７の構成が異なる点を除き、処理装置２０Ａとほぼ同様の構成（図３参照）を備える。
【０１０１】
処理装置２０Ｂの動作パターンＤＢ２７は、図１８に示すように、「開始時同一列」及び「現在同一列」のフィールドの代わりに、「列番号」及び「処理済フラグ」のフィールドを備える点が処理装置２０Ａの動作パターンＤＢ２７（例えば、図４参照）と異なる。また、処理装置２０Ｂの動作パターンＤＢ２７には、自端末の情報が登録されない。
【０１０２】
「列番号」のフィールドには、各携帯端末１０が属する（含まれる）行列を一意に識別する番号が格納される。また、「処理済フラグ」のフィールドには、後述する同一列端末特定処理（図２３）において、同一の行列に含まれる携帯端末１０を特定する処理を実行したか否かを表すフラグが格納される。
【０１０３】
次に、処理装置２０Ｂが実行する情報処理について説明する。図１９は、処理装置２０Ｂが実行する情報処理を示すフローチャートである。図１９の処理は、電子機器３０のユーザが、電子機器３０にインストールされたアプリケーションを起動すると開始される。図１９と図５との比較から明らかなように、処理装置２０Ｂは、図５のステップＳ１０１〜Ｓ１０５の処理を実行しない。また、処理装置２０Ｂは、自端末情報定期送信処理（Ｓ２０）および自端末移動情報送信処理（Ｓ４０）を実行しない。また、処理装置２０Ｂは、同一列端末特定処理（Ｓ５０）を、待ち時間算出処理（Ｓ６０´）内で実行する（図２２参照）。
【０１０４】
（他端末情報定期更新処理：Ｓ３０´）
図２０は、図１９のステップＳ３０´の他端末情報定期更新処理の詳細を示すフローチャートである。図２０において、ステップＳ３０１〜ステップＳ３１１の処理は、図７のステップＳ３０１〜ステップＳ３１１の処理と同様であるため、その説明を省略する。
【０１０５】
ステップＳ３１５において、処理装置２０Ｂの取得部２１は、ユーザにより、アプリケーションが終了されたか否かを判断する。ここでの判断が否定された場合、ステップＳ３０１に戻るが、肯定された場合、図１９のステップＳ１１１に移行する。
【０１０６】
（他端末移動情報更新処理：Ｓ７０´）
図２１は、図１９のステップＳ７０´の他端末移動情報更新処理を示すフローチャートである。図２１において、ステップＳ７０１及びＳ７０３の処理は、図９のステップＳ７０１及びＳ７０３の処理と同様であるため、その説明を省略する。
【０１０７】
ステップＳ７１１において、処理装置２０Ｂの取得部２１は、ユーザにより、アプリケーションが終了されたか否かを判断する。ここでの判断が否定された場合、ステップＳ７０１に戻るが、肯定された場合、図１９のステップＳ１１１に移行する。
【０１０８】
（待ち時間算出処理：Ｓ６０´）
次に、図１９のステップＳ６０´の待ち時間算出処理の詳細について、図２２を参照しつつ説明する。
【０１０９】
図２２の処理では、ステップＳ６５１において、特定部２３は、待ち時間の算出を要求する待ち時間算出要求を、ユーザインタフェース３０５を介してユーザから受け付けたか否かを判断する。ここでの判断が肯定された場合、特定部２３は、同一列端末特定処理（Ｓ５０´）を実行する。
【０１１０】
ここで、同一列端末特定処理（Ｓ５０´）の詳細について、図２３を参照しつつ説明する。
【０１１１】
図２３の処理では、まず、ステップＳ５５１において、特定部２３は、動作パターンＤＢ２７に登録されている携帯端末１０のうち、処理済フラグ及び列番号のいずれも登録されていない携帯端末１０を１つ選択する。
【０１１２】
続くステップＳ５５３において、ステップＳ５５１で選択した携帯端末１０と同一の行列に含まれる携帯端末１０を特定するのに十分な移動情報が動作パターンＤＢ２７内に蓄積されているか否かを判断する。ここで、例えば、特定部２３は、ステップＳ５５１で選択した携帯端末１０の「移動情報」のフィールドに、移動→停止のサイクルが、所定数以上（例えば、２サイクル以上）登録されている場合に、特定に十分な移動情報が蓄積されていると判断する。
【０１１３】
ステップＳ５５３の判断が肯定された場合、特定部２３は、ステップＳ５５９に移行し、図１０のステップＳ５０７と同様の方法で、ステップＳ５５１で選択した携帯端末１０と同一の行列に含まれる携帯端末１０を特定する。なお、このとき、特定部２３は、ステップＳ５５１で選択した携帯端末１０及び他の携帯端末１０の直近の動作パターン（例えば、移動→停止サイクルのうち直近の２〜３サイクル）を用いて、同一の行列に含まれる携帯端末１０を特定するとよい。これにより、最初は行列に並んでいなかったが、後から行列に並んだ人の携帯端末１０等を考慮に入れることができる。
【０１１４】
続くステップＳ５６１において、特定部２３は、ステップＳ５５９で同一の行列に含まれると特定された携帯端末１０の「列番号」のフィールドに、列番号を登録する。例えば、特定部２３が、携帯端末１０−Ａと同一の行列に含まれる携帯端末１０として、携帯端末１０−Ｂ〜１０−Ｄを特定した場合、図２４（ａ）に示すように、携帯端末１０−Ａ〜１０−Ｄの「列番号」のフィールドに、“１”を登録する。なお、ステップＳ５５９において、同一の行列に含まれる携帯端末１０を特定できなかった場合には、特定部２３は、ステップＳ５５１で選択した携帯端末１０の「列番号」のフィールドに、列番号を登録する。例えば、携帯端末１０−Ｅと同一列に含まれる携帯端末１０を特定できなかった場合、特定部２３は、図２４（ａ）に示すように、携帯端末１０−Ｅの「列番号」のフィールドに、“２”を登録する。ステップＳ５６１の処理が終了すると、ステップＳ５５７に移行する。
【０１１５】
ところで、ステップＳ５５３の判断が否定された場合、特定部２３は、ステップＳ５５５に移行し、選択した携帯端末１０の「処理済フラグ」のフィールドに、処理済を示す“Ｘ”を設定する。例えば、特定部２３が、携帯端末１０−Ｆには、同一の行列に含まれる携帯端末１０を特定するのに十分な移動情報が動作パターンＤＢ２７内に蓄積されていないと判断したとする。この場合、特定部２３は、図２４（ｂ）に示すように、「処理済フラグ」のフィールドに“Ｘ”を設定する。
【０１１６】
続くステップＳ５５７において、特定部２３は、動作パターンＤＢ２７に登録されている全ての携帯端末１０に対して同一の行列に含まれる携帯端末１０を特定する処理を実行したか否かを判断する。具体的には、特定部２３は、動作パターンＤＢ２７において、全ての携帯端末１０に対して処理済フラグ又は列番号が登録されているか否かを判断する。ここでの判断が否定された場合、ステップＳ５５１に戻り、判断が肯定された場合、ステップＳ５６３に移行する。
【０１１７】
ステップＳ５６３に移行すると、特定部２３は、最も多くの携帯端末１０が含まれる列を、行列として決定する。図２４（ｂ）の場合、最も多くの携帯端末１０が含まれる列は、「列番号」が“１”の行列である。したがって、特定部２３は、「列番号」が“１”の列を、行列として決定する。ステップＳ５６３が終了すると、図２２のステップＳ６５３に戻る。
【０１１８】
図２２に戻り、ステップＳ６５３において、算出部２５は、図２３の同一列端末特定処理で特定した行列に並んでいる携帯端末１０のうち、最も早く列に並び始めた人の携帯端末１０を特定する。具体的には、算出部２５は、動作パターンＤＢ２７の「列番号」のフィールドに値が登録され、「離脱時刻」が格納されていない携帯端末１０のうち、「開始時刻」のフィールドに格納された時刻が最も早い携帯端末１０を特定する。例えば、図２５に示す動作パターンＤＢ２７が登録されている場合、算出部２５は、端末ＩＤが“１０−Ｄ”の携帯端末１０を特定する。
【０１１９】
続くステップＳ６５５において、算出部２５は、ステップＳ６５３で特定した携帯端末１０のユーザが行列に並び始めてから現在までの間に、行列を離脱した携帯端末１０の数をカウントする。具体的には、算出部２５は、「開始時刻」のフィールドに、Ｓ６５３で特定した携帯端末１０の「開始時刻」よりも前の時刻が登録されており、「離脱時刻」のフィールドに、Ｓ６５３で特定した携帯端末１０の「開始時刻」よりも後の時刻が登録されている携帯端末１０の数をカウントする。例えば、図２５に示す動作パターンＤＢ２７が登録されている場合、算出部２５は、携帯端末１０−Ａ〜１０−Ｃの３台を、行列を離脱した携帯端末１０の数とする。
【０１２０】
続くステップＳ６５７において、算出部２５は、１人あたりの待ち時間を算出する。具体的には、算出部２５は、まず、最も早く行列に並び始めた人の携帯端末１０の「開始時刻」を現在時刻から差し引いた時間を計算する。次に、当該時間を、ステップＳ６５５で取得した行列を離脱した携帯端末１０の数で割って、１人あたりの待ち時間を計算する。
【０１２１】
続くステップＳ６５９において、算出部２５は、行列に最後に並んだ人の携帯端末１０（最後尾の携帯端末１０）の前に並んでいる人の数を推定する。具体的には、算出部２５は、最後尾の携帯端末１０の１つ前の携帯端末１０が移動してから、最後尾の携帯端末１０が移動し始めるまでの時間の平均値（第３平均値とする）を求める。また、算出部２５は、並び順が隣り合う２つの携帯端末１０のそれぞれについて、一方の携帯端末１０が移動してから、他方の携帯端末１０が移動し始めるまでの時間を算出し、当該算出した時間の平均値（第４平均値とする）を求める。そして、算出部２５は、第３平均値が第４平均値よりも大きい場合、第３平均値を第４平均値で割った値の整数部分を、最後尾の携帯端末１０のユーザの前に並んでいる携帯端末１０を持たない人の数とする。算出部２５は、第３平均値を第４平均値で割った値を四捨五入した値を、最後尾の携帯端末１０のユーザの前に並んでいる携帯端末１０を持たない人の数としてもよい。
【０１２２】
算出部２５は、携帯端末１０を持たない人の数と、最後尾の携帯端末１０のユーザの前に並んでいる携帯端末１０の数とを足して、最後尾の携帯端末１０の前に並んでいる人の数を算出する。
【０１２３】
続くステップＳ６６１において、算出部２５は、ステップＳ６５７で算出した１人あたりの待ち時間に、ステップＳ６５９で推定した最後尾の携帯端末１０のユーザの前に並んでいる人の数を乗算して、最後尾の携帯端末１０が行列の先頭に達するまでにかかる時間（待ち時間）を算出する。
【０１２４】
続くステップＳ６６３において、算出部２５は、ステップＳ６６１で算出した待ち時間を管理者に報知する。例えば、算出部２５は、ユーザインタフェース３０５に、待ち時間を表示する。算出部２５は、不図示のスピーカから、音声で待ち時間を案内してもよい。ステップＳ６６３の処理の終了後は、ステップＳ６５１に戻る。これにより、管理者（例えば、行列を整理する係員）は、行列の待ち時間を知ることができ、行列に並ぼうとしている人に待ち時間を案内することができる。
【０１２５】
ところで、ステップＳ６５１の判断が否定された場合、算出部２５は、ステップＳ６６５に移行し、アプリケーションが終了されたか否かを判断する。ここでの判断が否定された場合、ステップＳ６５１に戻るが、肯定された場合、図１９のステップＳ１１１に移行する。
【０１２６】
図１９のステップＳ１１１に移行すると、取得部２１は、動作パターンＤＢ２７を初期化し、図１９の処理を終了する。
【０１２７】
以上詳細に述べたように、第２の実施形態によれば、情報処理システム５００Ｂは、複数の携帯端末１０と、複数の携帯端末１０と直接通信可能な処理装置２０Ｂとを備え、処理装置２０Ｂは、複数の携帯端末１０とは異なる電子機器３０に搭載されている。また、処理装置２０Ｂは、複数の携帯端末１０のそれぞれから、各携帯端末１０の移動及び停止に関する情報を取得する取得部２１と、携帯端末１０の移動及び停止に関する情報から取得可能な各携帯端末１０の動作パターンが類似するか否かに基づいて、複数の携帯端末１０の少なくとも１つを含む行列を特定する特定部２３と、行列に含まれる携帯端末１０の移動及び停止に関する情報から、行列の最後尾に並ぶ携帯端末１０が行列の先頭に達するまでの時間を算出する算出部２５と、を備える。これにより、電子機器３０の周囲に存在する行列を特定（検出）し、当該行列の待ち時間を電子機器３０のユーザに通知することができる。
【０１２８】
（変形例）
上記第２実施形態において、電子機器３０が実行する処理の一部を、電子機器３０とは別に設けられたサーバコンピュータ等の情報処理装置で行ってもよい。この場合、電子機器３０は、複数の携帯端末１０と通信し、当該通信により得た情報をサーバコンピュータに送信する。サーバコンピュータは、受信した情報に基づいて、図１９のステップＳ３０´、Ｓ６０´、Ｓ７０´の処理を実行する。また、電子機器３０は、電子機器３０のユーザから待ち時間の算出要求を受け付けると、サーバコンピュータに待ち時間算出要求を送信する。待ち時間算出要求を受信したサーバコンピュータは、例えば、図１９のステップＳ６０´の処理を実行し、算出した待ち時間を電子機器３０に送信する。電子機器３０が受信した待ち時間を、電子機器３０のユーザインタフェース３０５に表示することで、電子機器３０のユーザは、行列の待ち時間を知ることができる。
【０１２９】
なお、上記第２実施形態の処理装置２０Ｂを、第１実施形態の携帯端末１０に搭載してもよい。この場合、携帯端末１０のユーザは、行列に並ぶ前に、行列の待ち時間を知ることができるため、当該待ち時間を行列に並ぶか否かの判断材料とすることができる。
【０１３０】
なお、上記第１及び第２実施形態において、携帯端末１０の移動を加速度センサなどで検出する場合、行列の移動とは関係ない動きを「移動」と誤検出してしまう場合がある。この場合、「移動と停止とを繰り返す動き」が検出できており、誤検出の頻度がそれに対して十分に少なければ、動作パターンに見られる移動との違いから誤検出を排除することができる。例えば、図２６において、携帯端末１０−Ｘの動作パターンと、携帯端末１０−Ａの動作パターンを比較すると、携帯端末１０−Ｘが移動するｔ１秒前に、携帯端末１０−Ａが移動しているという規則性が存在している。したがって、携帯端末１０−Ａから移動情報を取得した携帯端末１０−Ｘ又は電子機器３０の特定部２３は、携帯端末１０−Ｘが移動するｔ１秒前の移動が行列の移動に伴う移動であると判断できる。この場合、特定部２３は、その他の時間に生じている移動は誤検出によるものと判断し、除去（動作パターンＤＢ２７から削除）してもよい。
【０１３１】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【０１３２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１３４】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【０１３５】
なお、以上実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  複数の携帯端末と、前記複数の携帯端末と直接通信可能な処理装置とを備える情報処理システムであって、
前記処理装置は、
前記複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得する取得部と、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末の少なくとも１つを含む行列を特定する特定部と、
前記行列に含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでの時間を算出する算出部と、を備える情報処理システム。
（付記２）  前記算出部は、前記行列に含まれる携帯端末のうち、第１の携帯端末の１つ前の第２の携帯端末が移動してから、前記第１の携帯端末が移動し始めるまでの第１時間と、前記行列に含まれる携帯端末のうち並び順が隣り合う２つの携帯端末のそれぞれについて算出した、一方が移動してから他方が移動し始めるまでの第２時間とに基づいて、前記第１の携帯端末の前に並んでいる前記携帯端末を持たない人の数を算出する付記１に記載の情報処理システム。
（付記３）  前記特定部は、前記行列に含まれる携帯端末の移動時刻の前後関係に基づいて、各携帯端末の順序を特定する付記１又は２に記載の情報処理システム。
（付記４）  前記処理装置は、前記複数の携帯端末の少なくとも１つに搭載され、
前記特定部は、前記処理装置が搭載された携帯端末と同一の行列に含まれる携帯端末を特定する付記１〜３のいずれかに記載の情報処理システム。
（付記５）  前記算出部は、前記処理装置が搭載された携帯端末が前記行列の先頭に達するまでの時間を算出する付記４に記載の情報処理システム。
（付記６）  前記処理装置が搭載された携帯端末同士で、前記処理装置が搭載された携帯端末が含まれる行列の情報を交換する付記４又は５に記載の情報処理システム。
（付記７）  前記処理装置は、前記複数の携帯端末とは異なる電子機器に搭載され、
前記算出部は、前記行列に含まれる携帯端末のうち前記行列の最後尾にある携帯端末が前記行列の先頭に達するまでの時間を算出する付記１〜３のいずれかに記載の情報処理システム。
（付記８）  複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得し、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末の少なくとも１つを含む行列を特定し、
前記行列に含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでの時間を算出する
処理をコンピュータに実行させる情報処理プログラム。
（付記９）  前記算出する処理では、前記行列に含まれる携帯端末のうち、第１の携帯端末の１つ前の第２の携帯端末が移動してから、前記第１の携帯端末が移動し始めるまでの第１時間と、前記行列に含まれる携帯端末のうち並び順が隣り合う２つの携帯端末のそれぞれについて算出した、一方が移動してから他方が移動し始めるまでの第２時間とに基づいて、前記第１の携帯端末の前に並んでいる前記携帯端末を持たない人の数を算出する付記８に記載の情報処理プログラム。
（付記１０）  前記特定する処理では、前記行列に含まれる携帯端末の移動時刻の前後関係に基づいて、各携帯端末の順序を特定する付記８又は９に記載の情報処理プログラム。
（付記１１）  複数の携帯端末のそれぞれから、各携帯端末の移動及び停止に関する情報を取得し、
前記各携帯端末の移動及び停止に関する情報から取得可能な各携帯端末の動作パターンが類似するか否かに基づいて、前記複数の携帯端末の少なくとも１つを含む行列を特定し、
前記行列に含まれる携帯端末の移動及び停止に関する情報から、前記行列に含まれる携帯端末のいずれかが前記行列の先頭に達するまでの時間を算出する
処理をコンピュータにより実行する情報処理方法。
（付記１２）  前記算出する処理では、前記行列に含まれる携帯端末のうち、第１の携帯端末の１つ前の第２の携帯端末が移動してから、前記第１の携帯端末が移動し始めるまでの第１時間と、前記行列に含まれる携帯端末のうち並び順が隣り合う２つの携帯端末のそれぞれについて算出した、一方が移動してから他方が移動し始めるまでの第２時間とに基づいて、前記第１の携帯端末の前に並んでいる前記携帯端末を持たない人の数を算出する付記１１に記載の情報処理方法。
（付記１３）  前記特定する処理では、前記行列に含まれる携帯端末の移動時刻の前後関係に基づいて、各携帯端末の順序を特定する付記１１又は１２に記載の情報処理方法。
【符号の説明】
【０１３６】
１０，１０−Ａ〜１０−Ｘ  携帯端末
２０Ａ，２０Ｂ  処理装置
２１  取得部
２３  特定部
２５  算出部
５００Ａ，５００Ｂ  情報処理システム
【図１】
0006701736.tif 000002
【図２】
0006701736.tif 000003
【図３】
0006701736.tif 000004
【図４】
0006701736.tif 000005
【図５】
0006701736.tif 000006
【図６】
0006701736.tif 000007
【図７】
0006701736.tif 000008
【図８】
0006701736.tif 000009
【図９】
0006701736.tif 000010
【図１０】
0006701736.tif 000011
【図１１】
0006701736.tif 000012
【図１２】
0006701736.tif 000013
【図１３】
0006701736.tif 000014
【図１４】
0006701736.tif 000015
【図１５】
0006701736.tif 000016
【図１６】
0006701736.tif 000017
【図１７】
0006701736.tif 000018
【図１８】
0006701736.tif 000019
【図１９】
0006701736.tif 000020
【図２０】
0006701736.tif 000021
【図２１】
0006701736.tif 000022
【図２２】
0006701736.tif 000023
【図２３】
0006701736.tif 000024
【図２４】
0006701736.tif 000025
【図２５】
0006701736.tif 000026
【図２６】
0006701736.tif 000027