(57)【要約】      （修正有）【課題】アクセスの時期をずらすための待機時間を、より適正にする機器、情報処理方法、情報処理プログラム及び情報処理システムを提供する。【解決手段】機器は、イベントの発生源となる信号を受信した場合に、イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、機器数と、サービス又は装置に係る条件とに基づいて、イベントの発生時から待機する時間を算出する第２算出部と、イベントの発生時から上記時間が経過するまで待機した後に、装置へアクセスするアクセス部とを有する。【選択図】図１３
2018036831.tif 000002
【特許請求の範囲】
【請求項１】
イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出する第２算出部と、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスするアクセス部と
を有する機器。
【請求項２】
前記条件は、前記装置における応答速度を含む
請求項１記載の機器。
【請求項３】
前記条件は、前記待機する時間の上限値を含む
請求項１又は２記載の機器。
【請求項４】
前記第１算出部は、発信装置から送出される前記信号の到達距離に基づいて、前記機器数を算出する
請求項１乃至３のいずれか１つ記載の機器。
【請求項５】
前記第１算出部は、前記信号の前記到達距離を半径とする円状エリアの面積に基づいて、前記機器数を算出する
請求項４記載の機器。
【請求項６】
前記第１算出部は、前記信号の前記到達距離を外円の半径とする環状エリアの面積に基づいて、前記機器数を算出する
請求項４記載の機器。
【請求項７】
更に、
複数の発信装置の各々から送出された前記信号のいずれかを受信した場合に、前記イベントの発生を検出する検出部
を有し、
前記第１算出部は、前記複数の発信装置の各々について当該発信装置から送出される前記信号の前記到達距離に基づき算出された前記機器数を合計する
請求項４乃至６のいずれか１つ記載の機器。
【請求項８】
更に、
複数の発信装置の各々から送出された前記信号を同時に受信した場合に、前記イベントの発生を検出する検出部
を有し、
前記第１算出部は、前記複数の発信装置の各々について当該発信装置から送出される前記信号の到達距離に基づき算出された前記機器数のうち、最少の前記機器数を特定する
請求項４乃至６のいずれか１つ記載の機器。
【請求項９】
イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出し、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出し、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスする
処理を含み、プロセッサにより実行される情報処理方法。
【請求項１０】
イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出し、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出し、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスする
処理をプロセッサに実行させる情報処理プログラム。
【請求項１１】
複数の機器とサービスを提供する装置とを含み、
前記複数の機器の各々は、
イベントの発生源となる信号を受信した場合に、前記装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出する第２算出部と、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスするアクセス部と
を有し、
前記装置は、前記機器からのアクセスを受け付けた場合に、前記サービスを提供する
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器からサービスを提供する装置へのアクセスを制御する技術に関する。
【背景技術】
【０００２】
例えばスマートフォンのようなユーザ端末がイベントの発生源となる信号を受信した場合に、当該イベントの発生に基づいて自動的にサーバにアクセスして、コンテンツを取得するという自動配信システムがある。
【０００３】
このような自動配信システムを利用する多くのユーザ端末が一箇所に集中すると、同時にイベントが発生し、各ユーザ端末が一斉にサーバへアクセスすることになる。その結果、コンテンツ配信のサービスが停滞する。
【０００４】
これに対して、同時期にイベントが発生した各ユーザ端末におけるアクセスの時期をずらすようにすれば、アクセスの集中を回避できる。但し、アクセスの時期を分散させる範囲を広く設定すれば、無意味な遅延が生じるかも知れない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１３４８７４号公報
【特許文献２】特開２０００−２５８５６７号公報
【特許文献３】特開２００４−１１２１２８号公報
【特許文献４】特開２０１２−２０３６５０号公報
【特許文献５】特開２０１６−０１９１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、一側面では、アクセスの時期をずらすための待機時間を、より適正にすることである。
【課題を解決するための手段】
【０００７】
一態様に係る機器は、（Ａ）イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、（Ｂ）機器数と、サービス又は装置に係る条件とに基づいて、イベントの発生時から待機する時間を算出する第２算出部と、（Ｃ）イベントの発生時から上記時間が経過するまで待機した後に、装置へアクセスするアクセス部とを有する。
【発明の効果】
【０００８】
一側面としては、アクセスの時期をずらすための待機時間を、より適正にすることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、ネットワーク構成例を示す図である。
【図２】図２は、コンテンツ配信サービスのシーケンス例を示す図である。
【図３】図３は、イベント発生の様子を示す図である。
【図４Ａ】図４Ａは、イベント発生とアクセスとのシーケンス例を示す図である。
【図４Ｂ】図４Ｂは、アクセスのシーケンス例を示す図である。
【図５】図５は、アクセス期間と待機時間との例を示す図である。
【図６】図６は、円状エリアの例を示す図である。
【図７】図７は、複数の円状エリア内のユーザ端末からサーバへアクセスが集中する様子を示す図である。
【図８】図８は、イベント発生の様子を示す図である。
【図９Ａ】図９Ａは、イベント発生とアクセスとのシーケンス例を示す図である。
【図９Ｂ】図９Ｂは、イベント発生とアクセスとのシーケンス例を示す図である。
【図１０】図１０は、環状エリアの例を示す図である。
【図１１】図１１は、複数の環状エリア内のユーザ端末からサーバへアクセスが集中する様子を示す図である。
【図１２】図１２は、ユーザ端末のハードウエア構成例を示す図である。
【図１３】図１３は、ユーザ端末のモジュール構成例を示す図である。
【図１４】図１４は、サービステーブルの例を示す図である。
【図１５】図１５は、イベントテーブルの例を示す図である。
【図１６】図１６は、エリアテーブルの例を示す図である。
【図１７】図１７は、パラメータテーブルの例を示す図である。
【図１８】図１８は、メイン処理フローを示す図である。
【図１９】図１９は、スレッド処理フローを示す図である。
【図２０】図２０は、端末数算出処理フローを示す図である。
【図２１】図２１は、エリア処理フローを示す図である。
【図２２】図２２は、面積算出処理フローを示す図である。
【図２３】図２３は、待機時間算出処理（Ａ）フローを示す図である。
【図２４】図２４は、待機時間算出処理（Ｂ）フローを示す図である。
【図２５】図２５は、サーバが１台で足りる場合のアクセス期間を示す図である。
【図２６】図２６は、待機時間算出処理（Ｂ）フローを示す図である。
【図２７】図２７は、理想台数がサーバの全数を超えない例を示す図である。
【図２８】図２８は、理想台数がサーバの全数を超えない場合のアクセス期間を示す図である。
【図２９】図２９は、待機時間算出処理（Ｂ）フローを示す図である。
【図３０】図３０は、理想台数がサーバの全数を超える例を示す図である。
【図３１】図３１は、自端末の優先指数が制限値を超える場合のアクセス期間を示す図である。
【図３２】図３２は、待機時間算出処理（Ｂ）フローを示す図である。
【図３３】図３３は、自端末の優先指数が制限値を超えない場合のアクセス期間を示す図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１に、ネットワーク構成例を示す。サーバ１０７は、コンテンツ配信サービスを提供する。コンテンツ配信サービスを利用するユーザは、ユーザ端末１０１を保持している。ユーザ端末１０１は、ビーコン発信装置１０３に近づいたときに、サーバ１０７からコンテンツを受け取る。尚、ユーザ端末１０１は、アクセスポイント１０５を経由してサーバ１０７へアクセスする機能を有している。
【００１１】
図２に、コンテンツ配信サービスのシーケンス例を示す。ビーコン発信装置１０３は、ビーコン信号を送出し（Ｓ２０１）、ユーザ端末１０１は、当該ビーコン信号を受信する。ユーザ端末１０１は、受信したビーコン信号に基づいてイベントが発生したと判定すると（Ｓ２０３）、サーバ１０７に対してコンテンツを要求する（Ｓ２０５）。
【００１２】
サーバ１０７は、ユーザ端末１０１から送られたリクエストを受け付けると（Ｓ２０７）、ユーザ端末１０１へコンテンツを配信する（Ｓ２０９）。そして、ユーザ端末１０１は、当該コンテンツを受信して、記憶する（Ｓ２１１）。
【００１３】
図３を用いて、複数のユーザ端末１０１が一斉にサーバ１０７へアクセスしようとする動作について説明する。図３の上段は、ビーコン発信装置１０３ａの近くにコンテンツ配信サービスを利用するユーザ端末１０１が多数存在することを想定している。この時点で、ビーコン発信装置１０３ａはビーコン信号を送出していないものとする。そして、ビーコン発信装置１０３ａの近くに存在するユーザ端末１０１ａ乃至ｈは、いずれも未だコンテンツを受信していないものとする。
【００１４】
図３の下段は、ビーコン発信装置１０３ａがビーコン発信を開始した状態を示している。大きな円は、ビーコン発信装置１０３ａから送出されたビーコン信号の電波が届く範囲を示している。この範囲内に存在するユーザ端末１０１ａ乃至ｈは、同時にビーコン信号を受信し、同時期にイベントの発生を検出する。そして、ユーザ端末１０１ａ乃至ｈは、一斉にサーバ１０７へアクセスしようとする。本実施の形態では、このようなアクセスの集中を回避するために、アクセスの時期を分散させる。
【００１５】
図４Ａ及び図４Ｂを用いて、アクセスの時期の分散について説明する。ビーコン発信装置１０３ａがビーコン発信を開始すると（Ｓ４０１）、ビーコン信号が、ユーザ端末１０１ａ乃至ｃに到達する（Ｓ４０３）。
【００１６】
ビーコン信号を受信したユーザ端末１０１ａは、当該ビーコン信号に基づいてイベントが発生したと判定する（Ｓ４０５）。同時にビーコン信号を受信したユーザ端末１０１ｂも、当該ビーコン信号に基づいてイベントが発生したと判定する（Ｓ４０７）。更に、同時にビーコン信号を受信したユーザ端末１０１ｃも、当該ビーコン信号に基づいてイベントが発生したと判定する（Ｓ４０９）。
【００１７】
この例で、ユーザ端末１０１ａは、短い待機時間が経過した後コンテンツを要求する（Ｓ４１１）。サーバ１０７は、ユーザ端末１０１ａから送られたリクエストを受け付けると（Ｓ４１３）、ユーザ端末１０１ａへコンテンツを配信する（Ｓ４１５）。そして、ユーザ端末１０１ａは、当該コンテンツを受信して、記憶する（Ｓ４１７）。端子Ａ、端子Ｂ及び端子Ｃを介して、図４Ｂのシーケンスに移る。
【００１８】
図４Ｂの説明に移る。この例で、ユーザ端末１０１ｂは、ユーザ端末１０１ａよりも長く待機した後にコンテンツを要求する（Ｓ４１９）。サーバ１０７は、ユーザ端末１０１ｂから送られたリクエストを受け付けると（Ｓ４２１）、ユーザ端末１０１ｂへコンテンツを配信する（Ｓ４２３）。そして、ユーザ端末１０１ｂは、当該コンテンツを受信して、記憶する（Ｓ４２５）。
【００１９】
この例で、ユーザ端末１０１ｃは、ユーザ端末１０１ｂよりも長く待機した後にコンテンツを要求する（Ｓ４２７）。サーバ１０７は、ユーザ端末１０１ｃから送られたリクエストを受け付けると（Ｓ４２９）、ユーザ端末１０１ｃへコンテンツを配信する（Ｓ４３１）。そして、ユーザ端末１０１ｃは、当該コンテンツを受信して、記憶する（Ｓ４３３）。
【００２０】
他のユーザ端末１０１ｄ乃至ｈも、同様に自ら待機時間を設定してアクセスを遅らせる。
【００２１】
続いて、図５を用いて、待機時間の設定の仕方について説明する。ユーザ端末１０１ａは、Ｓ４０５でイベントが発生したと判定した時点で、アクセス期間を設定する。そして、ユーザ端末１０１ａは、アクセス期間内の或る時点をコンテンツ要求の時期として特定する。このとき、ユーザ端末１０１ａは、無作為にコンテンツ要求の時期を決定する。つまり、アクセス期間内におけるいずれの時点がコンテンツ要求の時期となるかは、偏りなく均等な確率で選ばれる。
【００２２】
ユーザ端末１０１ｂも、Ｓ４０７でイベントが発生したと判定した時点で、ユーザ端末１０１ａの場合と同様のアクセス期間を設定する。そして、ユーザ端末１０１ｂは、ユーザ端末１０１ａの場合と同様に、無作為にアクセス期間内におけるコンテンツ要求の時期を特定する。従って、ユーザ端末１０１ｂにおける待機時間は、ユーザ端末１０１ａにおける待機時間と関連がない。
【００２３】
更に、ユーザ端末１０１ｃも、Ｓ４０９でイベントが発生したと判定した時点で、ユーザ端末１０１ａ及びユーザ端末１０１ｂの場合と同様のアクセス期間を設定する。そして、ユーザ端末１０１ｃは、ユーザ端末１０１ａ及びユーザ端末１０１ｂの場合と同様に、無作為にアクセス期間内におけるコンテンツ要求の時期を特定する。ユーザ端末１０１ｃにおける待機時間も、ユーザ端末１０１ａにおける待機時間及びユーザ端末１０１ｂにおける待機時間と関連がない。
【００２４】
ユーザ端末１０１ｄ乃至ｈについても、同様に処理される。このように、ユーザ端末１０１ａ乃至ｈにおいて独立して待機時間が設定されると、結果的にアクセスの時期が均等に分散することになる。
【００２５】
但し、アクセス期間長が短すぎれば、アクセス頻度が高くなり、サーバ１０７における処理能力を超えることがある。一方、アクセス期間長が長すぎれば、ユーザ端末１０１ａ乃至ｈの各々におけるアクセスが完了する時点が無意味に遅れることになる。従って、各ユーザ端末１０１において、適切なアクセス期間を設定することが重要になる。
【００２６】
本実施の形態では、サーバ１０７が所定の応答速度でアクセスを処理することを前提として、サーバ１０７における処理能力を超えないようにアクセスを分散させる。そのために、ユーザ端末１０１は、同時期にイベント発生を検出するユーザ端末１０１の数を推定する。具体的には、これらのユーザ端末１０１が存在し得る面積に、ユーザ端末１０１の密度を乗じることによって、ユーザ端末１０１の数を推定する。
【００２７】
図６に、同時期にイベント発生を検出するユーザ端末１０１が存在し得るエリアの例を示す。この例におけるエリアは、ビーコン発信装置１０３ａから送出されるビーコン信号の電波が到達する距離を半径６０１とする円形の内側である。この円の面積にユーザ端末１０１の密度を乗じれば、このエリアにおいて同時期にイベント発生を検出するユーザ端末１０１の推定数が求められる。
【００２８】
また、共通のイベントが複数のエリア内のユーザ端末１０１において同時に発生する態様も考えられる。このような態様の場合には、各エリアにおいて同時期にイベントを検出するユーザ端末１０１の数を合算する。
【００２９】
図７に、複数の円状エリア内のユーザ端末１０１からサーバ１０７へアクセスが集中する様子を示す。図７に示した例では、ビーコン発信装置１０３ａから送出されたビーコン信号によるイベントによって発生するアクセスの数がｎ1であるものとする。ビーコン発信装置１０３ｂから送出されたビーコン信号によるイベントによって発生するアクセスの数がｎ2であるものとする。ビーコン発信装置１０３ｃから送出されたビーコン信号によるイベントによって発生するアクセスの数がｎ3であるものとする。そして、アクセス数ｎ1、ｎ2及びｎ3を合算すれば、全体のアクセス数を求めることができる。
【００３０】
このように一斉に多くのユーザ端末１０１がイベントを検出する態様の他に、ビーコン発信装置１０３に近づいたユーザ端末１０１が、それぞれイベントを検出する態様も考えられる。図８の上段に示したビーコン発信装置１０３ｄは、継続的にビーコン信号を送出しているものとする。大きな円は、ビーコン発信装置１０３ｄから送出されたビーコン信号の電波が届く範囲を示している。このとき、ユーザ端末１０１ｉ乃至ｐの各々は、既にコンテンツを保持しているものとする。そして、未だコンテンツを受信してないユーザ端末１０１ｑ及びユーザ端末１０１ｒがビーコン発信装置１０３ｄに近づいて来ているものとする。
【００３１】
図８の下段に示すように、ユーザ端末１０１ｑ及びユーザ端末１０１ｒがビーコン信号の電波が届く範囲に進入すると、ユーザ端末１０１ｑ及びユーザ端末１０１ｒは、夫々ビーコン信号を受信し、イベントの発生を検出する。そして、ユーザ端末１０１ｑ及びユーザ端末１０１ｒは、夫々サーバ１０７にアクセスしようとする。このように、同時期にサーバ１０７に近づいた複数のユーザ端末１０１からのアクセスが集中することもある。
【００３２】
本実施の形態では、このような態様においても、アクセスの集中を回避する。図９Ａ及び図９Ｂに、図８の例でアクセスを分散させるシーケンス例を示す。ビーコン発信装置１０３ｄは、継続的にビーコン信号を発信している（Ｓ９０１）。まず、ユーザ端末１０１ｉがビーコン発信装置１０３ｄに近づくと、ビーコン信号がユーザ端末１０１ｉに到達する（Ｓ９０３）。ビーコン信号を受信したユーザ端末１０１ｉは、当該ビーコン信号に基づいてイベントが発生したと判定する（Ｓ９０５）。
【００３３】
この例で、ユーザ端末１０１ｉは、短い待機時間が経過した後コンテンツを要求する（Ｓ９０７）。サーバ１０７は、ユーザ端末１０１ｉから送られたリクエストを受け付けると（Ｓ９０９）、ユーザ端末１０１ｉへコンテンツを配信する（Ｓ９１１）。そして、ユーザ端末１０１ｉは、当該コンテンツを受信して、記憶する（Ｓ９１３）。端子Ｄ、端子Ｅ、端子Ｆ、端子Ｇ及び端子Ｈを介して、図９Ｂのシーケンスに移る。
【００３４】
その後、ユーザ端末１０１ｊ乃至ｐの各々も、同様にしてコンテンツを受信し、記憶する。そして、ユーザ端末１０１ｑ及びユーザ端末１０１ｒが、ビーコン信号の電波が届く範囲に同時に進入したものとする。このとき、ユーザ端末１０１ｑ及びユーザ端末１０１ｒは、ビーコン発信装置１０３ｄから送出されたビーコン信号を同時に受信する（Ｓ９１５）。そして、ユーザ端末１０１ｑは、当該ビーコン信号に基づいてイベントが発生したと判定する（Ｓ９１７）。同時期にユーザ端末１０１ｒも、当該ビーコン信号に基づいてイベントが発生したと判定する（Ｓ９１９）。
【００３５】
この例で、ユーザ端末１０１ｑは、短い待機時間が経過した後コンテンツを要求する（Ｓ９２１）。サーバ１０７は、ユーザ端末１０１ｑから送られたリクエストを受け付けると（Ｓ９２３）、ユーザ端末１０１ｑへコンテンツを配信する（Ｓ９２５）。そして、ユーザ端末１０１ｑは、当該コンテンツを受信して、記憶する（Ｓ９２７）。
【００３６】
この例で、ユーザ端末１０１ｒは、ユーザ端末１０１ｑよりも長く待機した後にコンテンツを要求する（Ｓ９２９）。サーバ１０７は、ユーザ端末１０１ｒから送られたリクエストを受け付けると（Ｓ９３１）、ユーザ端末１０１ｒへコンテンツを配信する（Ｓ９３３）。そして、ユーザ端末１０１ｒは、当該コンテンツを受信して、記憶する（Ｓ９３５）。
【００３７】
ユーザ端末１０１ｒ及びｑが、それぞれ待機時間の長さを設定することによって、アクセスの集中を回避する点は、上述の態様の場合と同様である。但し、同時期にイベント発生を検出するユーザ端末１０１が存在し得るエリアの形状が、上述の例の場合とは異なる。
【００３８】
この例におけるエリアは、図１０に示すように環状である。当該環の外側は、ビーコン発信装置１０３ｄから送出されるビーコン信号の電波が到達する距離を半径１００１とする円によって仕切られる。そして、当該環は、ユーザ端末１０１の受信間隔におけるユーザの進入距離に相当する幅１００３を有する。この環状エリアの面積にユーザ端末１０１の密度を乗じれば、このエリアに同時期に進入したユーザ端末１０１の推定数が求められる。
【００３９】
図７の場合と同様に、共通のイベントが複数のエリア内のユーザ端末１０１において同時に発生する態様も考えられる。このような態様の場合には、各エリアにおいて同時期にイベントを検出するユーザ端末１０１の数を合算する。
【００４０】
図１１に、複数の環状エリア内のユーザ端末１０１からサーバ１０７へアクセスが集中する様子を示す。図１１に示した例では、ビーコン発信装置１０３ｄから送出されたビーコン信号によるイベントによって発生するアクセスの数がｎ4であるものとする。ビーコン発信装置１０３ｅから送出されたビーコン信号によるイベントによって発生するアクセスの数がｎ5であるものとする。ビーコン発信装置１０３ｆから送出されたビーコン信号によるイベントによって発生するアクセスの数がｎ6であるものとする。アクセス数ｎ4、ｎ5及びｎ6を合算すれば、全体のアクセス数を求めることができる。尚、円状エリアと環状エリアとが混在することも考えられる。
【００４１】
続いて、ユーザ端末１０１について説明する。図１２に、ユーザ端末１０１のハードウエア構成例を示す。ユーザ端末１０１は、ＣＰＵ（Central Processing Unit）１２０１、記憶回路１２０３、第１アンテナ１２１１、第１通信制御回路１２１３、第２アンテナ１２１５、第２通信制御回路１２１７、ＬＣＤ（Liquid Crystal Display）制御回路１２２３、ＬＣＤ１２２５、タッチセンサ１２２７、キー群１２２９、ＧＰＳ（Global Positioning System）装置１２３１、タイマー回路１２３３、マイクロコントローラ１２３５及び無線センサ１２３７を有している。
【００４２】
ＣＰＵ１２０１は、記憶回路１２０３に記憶されているプログラムを実行する。記憶回路１２０３は、例えば、ＲＯＭ（Read Only Memory）１２０５とＲＡＭ（Random Access Memory）１２０７とフラッシュメモリ１２０９とを有している。ＲＯＭ１２０５は、例えば基礎的なプログラムや初期データを格納している。ＲＡＭ１２０７は、プログラムを展開する領域を含んでいる。ＲＡＭ１２０７は、一時的なデータを格納する領域も含んでいる。フラッシュメモリ１２０９は、例えば、アプリケーションなどのプログラムやユーザデータを格納している。
【００４３】
ＬＣＤ制御回路１２２３は、所定の動作周波数でクロック回路を動作させ、ＬＣＤ１２２５を駆動させる。ＬＣＤ１２２５は、各種画面を表示する。タッチセンサ１２２７は、例えば、ＬＣＤ１２２５の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、ＬＣＤ１２２５とタッチセンサ１２２７とを一体としたタッチパネルとして用いられる。キー群１２２９の各ハードキーは、筐体の一部に設けられている。
【００４４】
第１アンテナ１２１１は、無線ＬＡＮ（Local Area Network）方式による無線電波を受信する。第１通信制御回路１２１３は、無線ＬＡＮ方式における使用周波数に応じて無線通信の制御を行う。第２アンテナ１２１５は、第１無線通信方式（例えば、Bluetooth（登録商標） Low Energy）方式による無線電波を受信する。第２通信制御回路１２１７は、第１無線通信方式における使用周波数に応じて無線通信の制御を行う。第１無線通信方式は、近距離無線に係る通信方式である。第２アンテナ１２１５及び第２通信制御回路１２１７は、第１無線通信方式によるビーコン信号を受信する。
【００４５】
ＣＰＵ１２０１には、マイクロコントローラ１２３５が接続されている。マイクロコントローラ１２３５には、センサが接続されている。そして、マイクロコントローラ１２３５は、センサを制御する。ＣＰＵ１２０１は、マイクロコントローラ１２３５を介してセンサの測定結果を取得する。この例では、無線センサ１２３７が接続されている。無線センサ１２３７は、第２無線通信方式による無線電波を受信するアンテナ及び第２無線通信方式による通信を制御する回路を含む。第２無線通信方式は、近距離無線に係る通信方式である。無線センサ１２３７は、第２無線通信方式によるビーコン信号を受信する。
【００４６】
ユーザ端末１０１は、例えばスマートフォンである。但し、ユーザ端末１０１は、スマートフォン以外の携帯電話装置であってもよい。また、ユーザ端末１０１は、携帯電話装置以外の携帯型の電子機器であってもよい。例えば腕時計型やめがね型などのウェアラブル端末、タブレット端末、ゲーム機、歩数計、録音機、音楽再生機、カメラ、画像再生機、テレビ放送受信機、ラジオ放送受信機、コントローラ、電子時計、電子辞書、電子翻訳機、無線機、ＧＰＳ発信機、計測器、健康支援機器又は医療機器などの携帯型の電子機器において、本実施の形態を適用するようにしてもよい。
【００４７】
続いて、ソフトウエアのモジュールについて説明する。図１３に、ユーザ端末１０１のモジュール構成例を示す。ユーザ端末１０１は、ドライバ１３０１ａ、ドライバ１３０１ｂ、検出部１３０３、起動部１３０５、スレッド処理部１３０７、送信部１３１５、受信部１３１７、サービス記憶部１３３１、イベント記憶部１３３３、エリア記憶部１３３５、パラメータ記憶部１３３７及びコンテンツ格納部１３３９を有する。
【００４８】
ドライバ１３０１ａは、第１無線通信方式を制御するドライバである。ドライバ１３０１ｂは、第２無線通信方式を制御するドライバである。検出部１３０３は、イベントの発生を検出する。起動部１３０５は、スレッド処理を起動する。
【００４９】
スレッド処理部１３０７は、イベントに応じたスレッド処理を行う。スレッド処理部１３０７は、第１算出部１３０９、第２算出部１３１１、アクセス部１３１３及び表示処理部１３１４を有している。
【００５０】
第１算出部１３０９は、同時期に共通のサービスに係るビーコン発信装置１０３から初めてビーコン信号を受信すると推定されるユーザ端末１０１の数を算出する。第２算出部１３１１は、ユーザ端末１０１がアクセスまでに待機する時間を算出する。アクセス部１３１３は、待機した後にサーバ１０７にアクセスする。表示処理部１３１４は、メッセージを表示する。
【００５１】
送信部１３１５は、各種データを送信する。受信部１３１７は、各種データを受信する。
【００５２】
サービス記憶部１３３１は、サービステーブルを記憶する。サービステーブルについては、図１４を用いて後述する。サービステーブルは、後述するメイン処理に先立って記憶されているものとする。
【００５３】
イベント記憶部１３３３は、イベントテーブルを記憶する。イベントテーブルについては、図１５を用いて後述する。イベントテーブルは、後述するメイン処理に先立って記憶されているものとする。
【００５４】
エリア記憶部１３３５は、エリアテーブルを記憶する。エリアテーブルについては、図１６を用いて後述する。エリアテーブルは、後述するメイン処理に先立って記憶されているものとする。
【００５５】
パラメータ記憶部１３３７は、パラメータテーブルを記憶する。パラメータテーブルについては、図１７を用いて後述する。パラメータテーブルは、後述するメイン処理に先立って記憶されているものとする。
【００５６】
コンテンツ格納部１３３９は、受信したコンテンツを格納する。
【００５７】
上述したドライバ１３０１ａ、ドライバ１３０１ｂ、検出部１３０３、起動部１３０５、スレッド処理部１３０７、第１算出部１３０９、第２算出部１３１１、アクセス部１３１３、表示処理部１３１４、送信部１３１５及び受信部１３１７は、ハードウエア資源（例えば、図１２）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００５８】
上述したサービス記憶部１３３１、イベント記憶部１３３３、エリア記憶部１３３５、パラメータ記憶部１３３７及びコンテンツ格納部１３３９は、ハードウエア資源（例えば、図１２）を用いて実現される。
【００５９】
図１４に、サービステーブルの例を示す。サービステーブルは、サービス毎に設けられる。この例におけるサービステーブルは、ヘッダ部に、サービス名が格納されるフィールドと、サービスＩＤが格納されるフィールドと、サーバ１０７の応答速度が格納されるフィールドと、待機時間の上限値が格納されるフィールドと、自端末の優先指数が格納されるフィールドと、サーバ台数が格納されるフィールドとを有している。
【００６０】
サービス名及びサービスＩＤは、夫々当該サービスを識別する。サーバ１０７の応答速度は、当該サービスを提供するサーバ１０７が単位時間（この例では、秒）において安定的に処理するリクエスト数である。待機時間の上限値は、当該サービスの要件として許容されている最長の待機時間である。自端末の優先指数は、当該ユーザ端末１０１に割り当てられた優先度を示す値である。この例で、優先指数は０乃至１の値である。優先指数が大きければ、優先度が高い。サーバ台数は、当該サービスのために用意されているサーバ１０７の数である。
【００６１】
また、サービステーブルは、サーバ定義に相当するレコードも有している。当該レコードは、サーバ台数分設けられる。当該レコードは、サーバ１０７の優先順位が格納されるフィールドと、サーバＩＤが格納されるフィールドと、ＩＰアドレスが格納されるフィールドとを含んでいる。なおサービステーブルが有するサーバ１０７の応答速度について、レコードに格納される各サーバで応答速度が異なる場合は、応答速度を各レコードに格納してもよい。
【００６２】
優先順位が高いサーバ１０７が、優先的にユーザ端末１０１からのアクセスを処理する。サーバＩＤは、当該サーバ１０７を識別する。ＩＰアドレスは、当該サーバ１０７にデータを送信する際の宛先となる。
【００６３】
図１５に、イベントテーブルの例を示す。イベントテーブルは、イベント毎に設けられる。イベントテーブルは、ヘッダ部に、イベント名が格納されるフィールドと、イベントＩＤが格納されるフィールドと、サービスＩＤが格納されるフィールドと、イベント発生条件が格納されるフィールドとを有している。
【００６４】
イベント名及びイベントＩＤは、夫々当該イベントを識別する。サービスＩＤは、当該イベントに対応するサービスを特定する。イベント発生条件が格納されるフィールドは、論理演算子が格納されるフィールドと、組み合わせ数が格納されるフィールドと、信号検出条件に相当するレコードとを含んでいる。
【００６５】
論理演算子は、複数の信号検出条件をＯＲ又はＡＮＤのいずれで組み合わせるかを示す。組み合わせ数は、組み合わせられる信号検出条件の数である。
【００６６】
信号検出条件に相当するレコードは、通信方式が格納されるフィールドと、信号値が格納されるフィールドと、発信装置ＩＤが格納されるフィールドとを有している。
【００６７】
通信方式は、いずれの通信方式によるビーコン信号であるかを特定する。信号値は、ビーコン信号に含まれる値である。発信装置ＩＤは、ビーコン信号を送出したビーコン発信装置１０３を特定する。発信装置ＩＤは、ビーコン信号に含まれている。尚、信号値は、発信装置ＩＤであってもよい。
【００６８】
図１６に、エリアテーブルの例を示す。エリアテーブルは、ビーコン発信装置１０３毎に設けられる。エリアテーブルは、エリア名が格納されるフィールドと、エリアＩＤが格納されるフィールドと、通信方式が格納されるフィールドと、発信装置ＩＤが格納されるフィールドと、検出形態が格納されるフィールドと、無線距離が格納されるフィールドと、密度が格納されるフィールドとを有している。
【００６９】
エリア名及びエリアＩＤは、夫々当該エリアを識別する。通信方式は、当該エリアに送出されるビーコン信号の種類を特定する。発信装置ＩＤは、当該エリアにビーコン信号を送出するビーコン発信装置１０３を特定する。検出形態は、当該エリアにおけるイベント発生の検出のタイプを示す。具体的には、図３乃至図７を用いて説明した一斉タイプ、又は図８乃至図１１を用いて説明した継続タイプのいずれかが該当する。無線距離は、ビーコン発信装置１０３から送出されるビーコン信号の電波がユーザ端末１０１で受信される状態で届く距離である。密度は、ビーコン発信装置１０３にアクセスしようとするユーザ端末１０１の単位面積当たりの数である。
【００７０】
図１７に、パラメータテーブルの例を示す。パラメータテーブルには、後述する処理において用いられるパラメータが設定されている。この例におけるパラメータテーブルは、受信間隔が格納されるフィールドと、移動速度が格納されるフィールドとを有している。受信間隔は、ユーザ端末１０１がビーコン信号を受信する間隔である。移動速度は、ユーザ端末１０１が移動する際の速度である。移動速度は、例えばユーザの歩行速度に相当する。
【００７１】
この例における受信間隔は、いずれの場合も共通である。但し、受信間隔をサービスＩＤに対応付けて記憶するようにしてもよい。或いは、受信間隔をイベントＩＤに対応付けて記憶するようにしてもよい。或いは、受信間隔をエリアＩＤに対応付けて記憶するようにしてもよい。
【００７２】
この例における移動速度は、いずれの場合も共通である。但し、移動速度をサービスＩＤに対応付けて記憶するようにしてもよい。或いは、移動速度をイベントＩＤに対応付けて記憶するようにしてもよい。或いは、移動速度をエリアＩＤに対応付けて記憶するようにしてもよい。
【００７３】
続いて、ユーザ端末１０１における処理について説明する。図１８に、メイン処理フローを示す。検出部１３０３は、ドライバ１３０１ａから第１無線通信方式のセンサデータを取得し、ドライバ１３０１ｂから第２無線通信方式のセンサデータを取得する（Ｓ１８０１）。
【００７４】
検出部１３０３は、第１無線通信方式のセンサデータに基づいて、第１無線通信方式の新たなビーコン信号を受信したか否かを判定する（Ｓ１８０３）。第１無線通信方式の新たなビーコン信号を受信したと判定した場合には、Ｓ１８０７の処理に移る。
【００７５】
一方、第１無線通信方式の新たなビーコン信号を受信していないと判定した場合には、検出部１３０３は、第２無線通信方式のセンサデータに基づいて、第２無線通信方式の新たなビーコン信号を受信したか否かを判定する（Ｓ１８０５）。第２無線通信方式の新たなビーコン信号を受信したと判定した場合には、Ｓ１８０７の処理に移る。
【００７６】
一方、第２無線通信方式の新たなビーコン信号を受信していないと判定した場合には、Ｓ１８０１に示した処理に戻って、上述した処理を繰り返す。
【００７７】
Ｓ１８０７において、検出部１３０３は、イベント発生条件を１つ特定する。具体的には、検出部１３０３は、イベント記憶部１３３３に記憶されているイベントテーブルを１つ特定する。
【００７８】
検出部１３０３は、第１無線通信方式の新たなビーコン信号又は第２無線通信方式の新たなビーコン信号がイベント発生条件に該当するか否かを判定する（Ｓ１８０９）。
【００７９】
検出部１３０３は、例えば通信方式及び信号値が一致する場合に、ビーコン信号が信号検出条件を満たすと判定する。また、発信装置ＩＤではない信号値を比較対象とする場合には、通信方式、信号値及び発信装置ＩＤが一致する場合に、ビーコン信号が信号検出条件を満たすと判定するようにしてもよい。
【００８０】
論理演算子がＯＲである場合に、検出部１３０３は、いずれかの信号検出条件における通信方式及び信号値が合致すれば、イベント発生条件に該当すると判定する。論理演算子がＡＮＤである場合には、それぞれの信号検出条件における通信方式及び信号値が合致すれば、イベント発生条件に該当すると判定する。
【００８１】
第１無線通信方式の新たなビーコン信号又は第２無線通信方式の新たなビーコン信号がイベント発生条件に該当しないと判定した場合には、検出部１３０３は、未特定のイベント発生条件があるか否かを判定する（Ｓ１８１１）。未特定のイベント発生条件があると判定した場合には、Ｓ１８０７に示した処理に戻って、上述した処理を繰り返す。
【００８２】
一方、未特定のイベント発生条件がないと判定した場合には、Ｓ１８０１に示した処理に戻って、上述した処理を繰り返す。
【００８３】
Ｓ１８０９における判定の説明に戻る。Ｓ１８０９において、第１無線通信方式の新たなビーコン信号又は第２無線通信方式の新たなビーコン信号がイベント発生条件に該当すると判定した場合には、検出部１３０３は、発信装置ＩＤを特定する（Ｓ１８１３）。具体的には、検出部１３０３は、合致した信号検出条件に含まれる発信装置ＩＤを読む。信号値が発信装置ＩＤである場合には、当該信号値を特定するようにしてもよい。
【００８４】
更に、検出部１３０３は、イベントＩＤ及びサービスＩＤを特定する（Ｓ１８１５）。具体的には、検出部１３０３は、合致したイベント発生条件を含むイベントテーブルからイベントＩＤ及びサービスＩＤを読む。
【００８５】
そして、起動部１３０５は、発信装置ＩＤ、イベントＩＤ及びサービスＩＤを引数として渡してスレッド処理を起動する（Ｓ１８１７）。スレッド処理を起動すると、スレッド処理の終了を待たずに、Ｓ１８０１に示した処理に戻って、上述した処理を繰り返す。
【００８６】
続いて、スレッド処理について説明する。図１９に、スレッド処理フローを示す。第１算出部１３０９は、端末数算出処理を実行する（Ｓ１９０１）。端末数算出処理では、同時期に共通のサービスに係るビーコン発信装置１０３から初めてビーコン信号を受信すると推定されるユーザ端末１０１の数が算出される。
【００８７】
図２０に、端末数算出処理フローを示す。第１算出部１３０９は、引数として渡されたイベントＩＤによって特定されるイベントテーブルにおける信号検出条件を１つ特定する（Ｓ２００１）。特定する順番は、任意である。
【００８８】
そして、第１算出部１３０９は、エリア処理を実行する（Ｓ２００３）。具体的には、第１算出部１３０９は、特定された信号検出条件に含まれる発信装置ＩＤによって特定されるエリアに関して、推定されるユーザ端末１０１の数を算出する。
【００８９】
図２１に、エリア処理フローを示す。第１算出部１３０９は、面積算出処理を実行する（Ｓ２１０１）。面積算出処理では、発信装置ＩＤで特定されるビーコン発信装置１０３から初めてビーコン信号を受信すると推定されるユーザ端末１０１が存在し得るエリアの面積が算出される。
【００９０】
図２２に、面積算出処理フローを示す。第１算出部１３０９は、発信装置ＩＤで特定されるエリアテーブルに格納されている検出形態が、一斉タイプであるか否かを判定する（Ｓ２２０１）。
【００９１】
検出形態が一斉タイプであると判定した場合には、第１算出部１３０９は、当該エリアテーブルに格納されている無線距離を半径とする円状エリアの面積を算出する（Ｓ２２０３）。そして、面積算出処理を終える。
【００９２】
一方、検出形態が一斉タイプでないと判定した場合、つまり検出形態が継続タイプであると判定した場合には、第１算出部１３０９は、当該エリアテーブルに格納されている無線距離を半径とする外側の円の面積を算出する（Ｓ２２０５）。
【００９３】
第１算出部１３０９は、パラメータテーブルから受信間隔を取得する（Ｓ２２０７）。受信間隔がサービスＩＤに対応付けて記憶されている場合には、第１算出部１３０９は、サービスＩＤに対応する受信間隔を取得するようにしてもよい。受信間隔がイベントＩＤに対応付けて記憶されている場合には、第１算出部１３０９は、イベントＩＤに対応する受信間隔を取得するようにしてもよい。受信間隔がエリアＩＤに対応付けて記憶されている場合には、第１算出部１３０９は、エリアＩＤに対応する受信間隔を取得するようにしてもよい。
【００９４】
続いて、第１算出部１３０９は、移動速度を取得する（Ｓ２２０９）。移動速度がサービスＩＤに対応付けて記憶されている場合には、第１算出部１３０９は、サービスＩＤに対応する移動速度を取得するようにしてもよい。移動速度がイベントＩＤに対応付けて記憶されている場合には、第１算出部１３０９は、イベントＩＤに対応する移動速度を取得するようにしてもよい。移動速度がエリアＩＤに対応付けて記憶されている場合には、第１算出部１３０９は、エリアＩＤに対応する移動速度を取得するようにしてもよい。
【００９５】
第１算出部１３０９は、受信間隔に移動速度を乗じて、進入距離を求める（Ｓ２２１１）。第１算出部１３０９は、無線距離から進入距離を引いて、内側の円の半径を求める（Ｓ２２１３）。そして、第１算出部１３０９は、当該半径に基づいて内側の円の面積を算出する（Ｓ２２１５）。
【００９６】
第１算出部１３０９は、外側の円の面積から内側の円の面積を引いて、環状エリアの面積を求める（Ｓ２２１７）。面積算出処理を終えると、呼び出し元のエリア処理に復帰する。
【００９７】
図２１の説明に戻る。第１算出部１３０９は、Ｓ２１０１で算出した面積に密度を乗じて、当該エリアの端末数を求める（Ｓ２１０３）。このとき、密度は、発信装置ＩＤで特定されるエリアテーブルから得られる。エリア処理を終えると、呼び出し元の端末数算出処理に復帰する。
【００９８】
図２０の説明に戻る。第１算出部１３０９は、未特定の信号検出条件があるか否かを判定する（Ｓ２００５）。未特定の信号検出条件があると判定した場合には、Ｓ２００１に示した処理に戻って、上述した処理を繰り返す。
【００９９】
一方、未特定の信号検出条件がないと判定した場合には、第１算出部１３０９は、論理演算子がＯＲであるか否かを判定する（Ｓ２００７）。論理演算子がＯＲであると判定した場合には、第１算出部１３０９は、各エリアの端末数の合計を算出する（Ｓ２００９）。
【０１００】
一方、論理演算子がＯＲでないと判定した場合、つまり論理演算子がＡＮＤである場合には、第１算出部１３０９は、各エリアの端末数のうち、最も少ない端末数を特定する（Ｓ２０１１）。論理演算子をＡＮＤに設定する運用では、複数のエリアが完全に重複することが多いので、最も少ない端末数を特定することが妥当である場合が多い。また、複数のエリアが一部重複する場合であったことを考慮して、各エリアに位置情報を付加して、エリアの重複箇所を特定し、重複箇所の面積に密度を乗じて、端末数を求めてもよい。端末数算出処理を終えると、呼び出し元のスレッド処理に復帰する。
【０１０１】
図１９の説明に戻る。第２算出部１３１１は、待機時間算出処理を実行する（Ｓ１９０３）。待機時間算出処理では、ユーザ端末１０１がアクセスまでに待機する時間を算出する。
【０１０２】
本実施の形態では、待機時間算出処理（Ａ）を実行する。図２３に、待機時間算出処理（Ａ）フローを示す。待機時間算出処理（Ａ）は、用意されているサーバ１０７が１台であって、待機時間に上限値が設定されていないことを前提とする。
【０１０３】
第１算出部１３０９は、サービスＩＤによって特定されるサービステーブルに格納されているサーバ１０７の応答速度を取得する（Ｓ２３０１）。第１算出部１３０９は、Ｓ１９０１で算出された端末数を当該応答速度で除して、所要時間を求める（Ｓ２３０３）。所要時間は、当該端末数のアクセスが当該応答速度に従って処理された場合に要する時間である。この場合、各ユーザ端末１０１は、所要時間内にサーバ１０７にアクセスするようにする。つまり、ここで求めた所要時間は、アクセス期間長に相当する。
【０１０４】
以下の処理で、ユーザ端末１０１は、所要時間内における無作為な時期を特定する。第１算出部１３０９は、乱数を発生させる（Ｓ２３０５）。第１算出部１３０９は、乱数を所要時間で除した場合の余りを算出する（Ｓ２３０７）。そして、当該余りが待機時間となる。待機時間算出処理（Ａ）を終えると、呼び出し元のスレッド処理に復帰する。
【０１０５】
図１９の説明に戻る。アクセス部１３１３は、待機する（Ｓ１９０５）。つまりアクセス部１３１３は、待機時間の経過を待つ。待機時間が経過すると、アクセス部１３１３は、送信部１３１５を介してコンテンツ要求をサーバ１０７へ送信する（Ｓ１９０７）。
【０１０６】
その後、アクセス部１３１３は、受信部１３１７を介してコンテンツを受信する（Ｓ１９０９）。アクセス部１３１３は、受信したコンテンツをコンテンツ格納部１３３９に格納する（Ｓ１９１１）。そして、スレッド処理を終了する。
【０１０７】
尚、アクセスポイント１０５もビーコン信号を発信するので、アクセスポイント１０５をビーコン発信装置１０３と看做すようにしてもよい。また、近距離の無線通信方式に代えて、ＧＰＳ（Global Positioning System）によるエリア判定に、本実施の形態を適用するようにしてもよい。
【０１０８】
本実施の形態によれば、アクセスの時期をずらすための待機時間を、より適正にすることができる。
【０１０９】
また、装置における応答速度に基づいて待機時間を求めるので、装置における負荷超過を防ぎ易い。
【０１１０】
また、ビーコン発信装置１０３の出力の大きさに応じて、端末数をより正しく推定できる。
【０１１１】
また、ビーコン発信装置１０３の近くにあるユーザ端末１０１が一斉にアクセスする場合に、当該ユーザ端末１０１の数をより正しく推定できる。
【０１１２】
また、ビーコン発信装置１０３に近づいたユーザ端末１０１がアクセスする場合に、同時期に近づいたユーザ端末１０１の数をより正しく推定できる。
【０１１３】
また、論理演算子がＯＲである場合には、広い範囲にあるユーザ端末１０１、或いは離れた場所にあるユーザ端末１０１が同時期にアクセスしようとする場合にも対応できる。
【０１１４】
また、論理演算子がＡＮＤである場合には、複数のビーコン発信装置１０３のいずれにも近いユーザ端末１０１がアクセスしようとする場合にも対応できる。
【０１１５】
［実施の形態２］
本実施の形態では、用意されているユーザ端末１０１が複数台であって、待機時間に上限値が設定されている場合の待機時間算出処理について説明する。
【０１１６】
本実施の形態では、待機時間算出処理（Ａ）に代えて、待機時間算出処理（Ｂ）を実行する。図２４に、待機時間算出処理（Ｂ）フローを示す。Ｓ２４０１の処理は、待機時間算出処理（Ａ）におけるＳ２３０１の処理と同様である。Ｓ２４０３の処理は、待機時間算出処理（Ａ）におけるＳ２３０３の処理と同様である。
【０１１７】
第２算出部１３１１は、所要時間が待機時間の上限値を超えているか否かを判定する（Ｓ２４０５）。このとき、待機時間の上限値は、サービスＩＤで特定されるサービステーブルから読まれる。
【０１１８】
所要時間が待機時間の上限値を超えない場合には、アクセスに応じるサーバ１０７は１台で足りる。図２５に、サーバ１０７が１台で足りる場合のアクセス期間を示す。図示するように、アクセス期間長は、所要時間と同じである。そして、ユーザ端末１０１は、アクセス期間内の或る時期までを待機時間とする。
【０１１９】
図２４の説明に戻る。所要時間が待機時間の上限値を超えていないと判定した場合には、第２算出部１３１１は、サーバ１０７を１つ選択する（Ｓ２４０７）。具体的には、サービスＩＤで特定されるサービステーブルにおいて優先順位が１であるサーバ定義を選択する。そして、第２算出部１３１１は、所要時間をアクセス期間長とする（Ｓ２４０９）。
【０１２０】
第２算出部１３１１は、乱数を発生させる（Ｓ２４１１）。第２算出部１３１１は、当該乱数をアクセス期間長で除して、余りを算出する（Ｓ２４１３）。そして、当該余りが待機時間となる。待機時間算出処理（Ｂ）を終えると、呼び出し元のスレッド処理に復帰する。
【０１２１】
Ｓ２４０５における判定の説明に戻る。Ｓ２４０５において所要時間が待機時間の上限値を超えていると判定した場合には、端子Ｉを介して、図２６に示したＳ２６０１の処理に移る。
【０１２２】
図２６の説明に移る。所要時間が待機時間の上限値を超えている場合には、複数のサーバ１０７においてユーザ端末１０１からのアクセスを処理する。つまり、ユーザ端末１０１は、複数のサーバ１０７のうちいずれかのサーバ１０７へアクセスする。
【０１２３】
そのために、第２算出部１３１１は、想定されるアクセスを待機時間の上限までに処理するためのサーバ１０７の台数を求める。まず、第２算出部１３１１は、所要時間を待機時間の上限値で除して、商を求める（Ｓ２６０１）。そして、第２算出部１３１１は、商の小数点１位以下を切り上げて、サーバ１０７の理想台数を求める（Ｓ２６０３）。
【０１２４】
第２算出部１３１１は、理想台数がサーバ１０７の全数を超えるか否かを判定する（Ｓ２６０５）。
【０１２５】
図２７に、理想台数がサーバ１０７の全数を超えない例を示す。破線の矢印は、参考のため、上限の待機時間と同じ時間長を示している。この例では、サーバ１０７の全数が３であるものとする。図示した例では、所要時間が、待機時間の上限値のおよそ２．５倍であるので、理想台数は、３台となる。この例では、理想台数がサーバ１０７の全数と一致する。従って、３台のサーバ１０７によってユーザ端末１０１からのアクセスが処理される。
【０１２６】
図２８に、この場合のアクセス期間を示す。上述したように３台のサーバ１０７でユーザ端末１０１からのアクセスを分担すれば、アクセス期間長は、待機時間の上限値よりも小さくて済む。つまり、所要時間をサーバ１０７の台数で除することによって、アクセス期間長は求められる。
【０１２７】
図２６の説明に戻る。Ｓ２６０５において、理想台数がサーバ１０７の全数を超えないと判定した場合には、第２算出部１３１１は、理想台数の候補サーバを特定する（Ｓ２６０７）。そして、第２算出部１３１１は、候補サーバの中から、無作為にサーバ１０７を１つ選択する（Ｓ２６０９）。具体的には、第２算出部１３１１は、サービスＩＤで特定されるサービステーブルにおいて、理想台数に相当する優先順位までのサーバ定義のうち、いずれかを無作為に選択する。選択されたサーバ１０７が、アクセス先となる。
【０１２８】
第２算出部１３１１は、所要時間を理想台数で除して、アクセス期間長を求める（Ｓ２６１１）。第２算出部１３１１は、乱数を発生させる（Ｓ２６１３）。第２算出部１３１１は、当該乱数をアクセス期間長で除して、余りを算出する（Ｓ２６１５）。そして、当該余りが待機時間となる。待機時間算出処理（Ｂ）を終えると、呼び出し元のスレッド処理に復帰する。
【０１２９】
Ｓ２６０５における判定の説明に戻る。理想台数がサーバ１０７の全数を超えると判定した場合には、端子Ｊを介して、図２９に示したＳ２９０１の処理に移る。
【０１３０】
図２９の説明に移る。第２算出部１３１１は、優先指数の制限値を算出する（Ｓ２９０１）。当該制限値は、ユーザ端末１０１が優先的にサーバ１０７にアクセスするか否かを判定するための閾値である。ユーザ端末１０１に割り当てられている優先指数が制限値を超えていれば、当該ユーザ端末１０１は優先的にサーバ１０７にアクセスする。
【０１３１】
以下、優先的なアクセスの概要について、図３０及び図３１を用いて説明する。図３０における破線の矢印は、上限の待機時間と同じ時間長を示している。所要時間が待機時間の上限値のおよそ３．７５倍であるので、理想台数は４である。従って、理想台数は、サーバ１０７の全数である３を超える。このような場合には、用意されているサーバ１０７では、想定されるアクセスを待機時間の上限内に処理しきれない。
【０１３２】
そのため、優先されるユーザ端末１０１は、待機時間の上限までにアクセスする。一方、優先されないユーザ端末１０１は、待機時間の上限以降にアクセスする。
【０１３３】
図３１に、優先されるユーザ端末１０１、つまり自端末の優先指数が制限値を超えるユーザ端末１０１におけるアクセス期間を示す。優先されるユーザ端末１０１の場合には、アクセス期間は待機時間の上限値と同じになる。そして、ユーザ端末１０１は、アクセス期間内の或る時期までを待機時間とする。
【０１３４】
図２９の説明に戻る。Ｓ２９０１において、第２算出部１３１１は、１−（待機時間の上限値×サーバ１０７の全数／所要時間）によって、優先指数の制限値を算出する。尚、この例における制限値は、優先されないユーザ端末１０１の割合と一致する。
【０１３５】
第２算出部１３１１は、自端末の優先指数が制限値を超えるか否かを判定する（Ｓ２９０３）。このとき、自端末の優先指数は、サービスＩＤによって特定されるサービステーブルから読まれる。
【０１３６】
自端末の優先指数が制限値を超えると判定した場合、つまり優先されると判定した場合には、第２算出部１３１１は、用意されているサーバ１０７の中から、無作為にサーバ１０７を１つ選択する（Ｓ２９０５）。選択されたサーバ１０７が、アクセス先となる。そして、第２算出部１３１１は、待機時間の上限値をアクセス期間長とする（Ｓ２９０７）。
【０１３７】
第２算出部１３１１は、乱数を発生させる（Ｓ２９０９）。第２算出部１３１１は、当該乱数をアクセス期間長で除して、余りを算出する（Ｓ２９１１）。そして、当該余りが待機時間となる。待機時間算出処理（Ｂ）を終えると、呼び出し元のスレッド処理に復帰する。
【０１３８】
Ｓ２９０３における判定の説明に戻る。自端末の優先指数が制限値を超えてないと判定した場合、つまり優先されないと判定した場合には、端子Ｋを介して、図３２に示したＳ３２０１の処理に移る。
【０１３９】
図３２の説明に移る。表示処理部１３１４は、サーバアクセスの遅延が発生する旨のメッセージを表示する（Ｓ３２０１）。この処理は、省くようにしてもよい。
【０１４０】
ここで、優先されないユーザ端末１０１におけるアクセス期間の求め方について説明する。待機時間の上限に相当する時点から、これらのユーザ端末１０１がアクセスを終えるまでに要する時間を、所要時間の残余分という。所要時間の残余分は、所要時間−待機時間の上限値×サーバ１０７の全数によって求められる。図３０に示した例における所要時間の残余分は、待機時間の上限値のおよそ０．７５倍である。
【０１４１】
そして、この所要時間の残余分をサーバ１０７の全数で分担する。図３３に、所要時間の残余分に基づくアクセス期間の例を示す。優先されないユーザ端末１０１におけるアクセス期間は、待機時間の上限に相当する時点を起点とする。そして、アクセス期間長は、所要時間の残余分／サーバ１０７の全数によって求められる。この例で、アクセス期間長は、待機時間の上限値のおよそ０．２５倍である。
【０１４２】
図３２の説明に戻る。第２算出部１３１１は、上述の通り、所要時間の残余分を算出する（Ｓ３２０３）。第２算出部１３１１は、所要時間の残余分をサーバ１０７の全数で除して、１台当たりの残余分を算出する（Ｓ３２０５）。そして、第２算出部１３１１は、１台当たりの残余分をアクセス期間長とする（Ｓ３２０７）。
【０１４３】
第２算出部１３１１は、乱数を発生させる（Ｓ３２０９）。第２算出部１３１１は、当該乱数をアクセス期間長で除して、余りを算出する（Ｓ３２１１）。そして、第２算出部１３１１は、待機時間の上限値に当該余りを加えて、待機時間を求める（Ｓ３２１３）。待機時間算出処理（Ｂ）を終えると、呼び出し元のスレッド処理に復帰する。
【０１４４】
本実施の形態によれば、待機する時間の上限値を設けたので、サービスとして不適切な待機を回避し易い。
【０１４５】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０１４６】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０１４７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１４８】
本実施の形態に係る機器は、（Ａ）イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、（Ｂ）機器数と、サービス又は装置に係る条件とに基づいて、イベントの発生時から待機する時間を算出する第２算出部と、（Ｃ）イベントの発生時から上記時間が経過するまで待機した後に、装置へアクセスするアクセス部とを有する。
【０１４９】
このようにすれば、アクセスの時期をずらすための待機時間を、より適正にすることができる。
【０１５０】
更に、上記条件は、装置における応答速度を含むようにしてもよい。
【０１５１】
このようにすれば、装置における負荷超過を防ぎ易い。
【０１５２】
更に、上記条件は、上記待機する時間の上限値を含むようにしてもよい。
【０１５３】
このようにすれば、サービスとして不適切な待機を回避し易い。
【０１５４】
更に、上記第１算出部は、発信装置から送出される信号の到達距離に基づいて、機器数を算出するようにしてもよい。
【０１５５】
このようにすれば、発信装置の出力の大きさに応じて、機器数をより正しく推定できる。
【０１５６】
更に、上記第１算出部は、信号の到達距離を半径とする円状エリアの面積に基づいて、機器数を算出するようにしてもよい。
【０１５７】
このようにすれば、発信装置の近くにある機器が一斉にアクセスする場合に、当該機器の数をより正しく推定できる。
【０１５８】
更に、上記第１算出部は、信号の到達距離を外円の半径とする環状エリアの面積に基づいて、機器数を算出するようにしてもよい。
【０１５９】
このようにすれば、発信装置に近づいた機器がアクセスする場合に、同時期に近づいた機器の数をより正しく推定できる。
【０１６０】
更に、複数の発信装置の各々から送出された信号のいずれかを受信した場合に、イベントの発生を検出する検出部を有するようにしてもよい。そして、上記第１算出部は、複数の発信装置の各々について当該発信装置から送出される信号の到達距離に基づき算出された機器数を合計するようにしてもよい。
【０１６１】
このようにすれば、広い範囲にある機器、或いは離れた場所にある機器が同時期にアクセスしようとする場合にも対応できる。
【０１６２】
更に、複数の発信装置の各々から送出された信号を同時に受信した場合に、イベントの発生を検出する検出部を有するようにしてもよい。そして、上記第１算出部は、複数の発信装置の各々について当該発信装置から送出される信号の到達距離に基づき算出された機器数のうち、最少の機器数を特定するようにしてもよい。
【０１６３】
このようにすれば、複数の発信装置のいずれにも近い機器がアクセスしようとする場合にも対応できる。
【０１６４】
なお、上で述べた情報処理装置における処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０１６５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６６】
（付記１）
イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出する第２算出部と、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスするアクセス部と
を有する機器。
【０１６７】
（付記２）
前記条件は、前記装置における応答速度を含む
付記１記載の機器。
【０１６８】
（付記３）
前記条件は、前記待機する時間の上限値を含む
付記１又は２記載の機器。
【０１６９】
（付記４）
前記第１算出部は、発信装置から送出される前記信号の到達距離に基づいて、前記機器数を算出する
付記１乃至３のいずれか１つ記載の機器。
【０１７０】
（付記５）
前記第１算出部は、前記信号の前記到達距離を半径とする円状エリアの面積に基づいて、前記機器数を算出する
付記４記載の機器。
【０１７１】
（付記６）
前記第１算出部は、前記信号の前記到達距離を外円の半径とする環状エリアの面積に基づいて、前記機器数を算出する
付記４記載の機器。
【０１７２】
（付記７）
更に、
複数の発信装置の各々から送出された前記信号のいずれかを受信した場合に、前記イベントの発生を検出する検出部
を有し、
前記第１算出部は、前記複数の発信装置の各々について当該発信装置から送出される前記信号の前記到達距離に基づき算出された前記機器数を合計する
付記４乃至６のいずれか１つ記載の機器。
【０１７３】
（付記８）
更に、
複数の発信装置の各々から送出された前記信号を同時に受信した場合に、前記イベントの発生を検出する検出部
を有し、
前記第１算出部は、前記複数の発信装置の各々について当該発信装置から送出される前記信号の到達距離に基づき算出された前記機器数のうち、最少の前記機器数を特定する
付記４乃至６のいずれか１つ記載の機器。
【０１７４】
（付記９）
イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出し、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出し、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスする
処理を含み、プロセッサにより実行される情報処理方法。
【０１７５】
（付記１０）
イベントの発生源となる信号を受信した場合に、当該イベントに対応するサービスを提供する装置へ同時期にアクセスすると推定される機器数を算出し、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出し、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスする
処理をプロセッサに実行させる情報処理プログラム。
【０１７６】
（付記１１）
複数の機器とサービスを提供する装置とを含み、
前記複数の機器の各々は、
イベントの発生源となる信号を受信した場合に、前記装置へ同時期にアクセスすると推定される機器数を算出する第１算出部と、
前記機器数と、前記サービス又は前記装置に係る条件とに基づいて、前記イベントの発生時から待機する時間を算出する第２算出部と、
前記イベントの発生時から前記時間が経過するまで待機した後に、前記装置へアクセスするアクセス部と
を有し、
前記装置は、前記機器からのアクセスを受け付けた場合に、前記サービスを提供する
情報処理システム。
【符号の説明】
【０１７７】
１０１  ユーザ端末    １０３  ビーコン発信装置
１０５  アクセスポイント    １０７  サーバ
６０１  半径    １００１  半径
１００３  幅    １３０１  ドライバ
１３０３  検出部    １３０５  起動部
１３０７  スレッド処理部    １３０９  第１算出部
１３１１  第２算出部    １３１３  アクセス部
１３１４  表示処理部    １３１５  送信部
１３１７  受信部    １３３１  サービス記憶部
１３３３  イベント記憶部    １３３５  エリア記憶部
１３３７  パラメータ記憶部    １３３９  コンテンツ格納部
【図１】
2018036831.tif 000003
【図２】
2018036831.tif 000004
【図３】
2018036831.tif 000005
【図４Ａ】
2018036831.tif 000006
【図４Ｂ】
2018036831.tif 000007
【図５】
2018036831.tif 000008
【図６】
2018036831.tif 000009
【図７】
2018036831.tif 000010
【図８】
2018036831.tif 000011
【図９Ａ】
2018036831.tif 000012
【図９Ｂ】
2018036831.tif 000013
【図１０】
2018036831.tif 000014
【図１１】
2018036831.tif 000015
【図１２】
2018036831.tif 000016
【図１３】
2018036831.tif 000017
【図１４】
2018036831.tif 000018
【図１５】
2018036831.tif 000019
【図１６】
2018036831.tif 000020
【図１７】
2018036831.tif 000021
【図１８】
2018036831.tif 000022
【図１９】
2018036831.tif 000023
【図２０】
2018036831.tif 000024
【図２１】
2018036831.tif 000025
【図２２】
2018036831.tif 000026
【図２３】
2018036831.tif 000027
【図２４】
2018036831.tif 000028
【図２５】
2018036831.tif 000029
【図２６】
2018036831.tif 000030
【図２７】
2018036831.tif 000031
【図２８】
2018036831.tif 000032
【図２９】
2018036831.tif 000033
【図３０】
2018036831.tif 000034
【図３１】
2018036831.tif 000035
【図３２】
2018036831.tif 000036
【図３３】
2018036831.tif 000037