(57)【特許請求の範囲】
【請求項１】
センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子と当該コンテンツの配信先の装置の識別子と当該コンテンツのデータを配信先の装置に配信するまでの時間とを特定する特定処理と、
特定された前記時間から、前記コンテンツの配信先の装置へのコンテンツ送信を行う装置にデータ送信を開始する時刻を算出する算出処理と、
特定された前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納する処理と、
前記データ格納部に格納されている時刻になると、前記コンテンツ送信を行う装置に当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子を送信する処理と、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、前記イベントデータを一旦保持して後に前記コンテンツ送信を行う装置に送信する処理と、
を、コンピュータに実行させるためのプログラム。
【請求項２】
センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子と当該コンテンツの配信先の装置の識別子と当該コンテンツのデータを配信先の装置に配信するまでの時間とを特定する特定処理と、
特定された前記時間から、前記コンテンツの配信先の装置へのコンテンツ送信を行う装置にデータ送信を開始する時刻を算出する算出処理と、
特定された前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納する処理と、
前記データ格納部に格納されている時刻になると、前記コンテンツ送信を行う装置に当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子を送信する処理と、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、当該ユーザ識別子を含む前記イベントデータを一旦保持して後に前記コンテンツ送信を行う装置に送信する処理と、当該ユーザ識別子を含む前記イベントデータを破棄する処理とを切り替える処理と、
を、コンピュータに実行させるためのプログラム。
【請求項３】
データ格納部と、
センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の装置へのコンテンツ送信を行う装置にデータ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けて前記データ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、前記コンテンツ送信を行う装置に当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子を送信する送信部と、
を有し、
前記スケジューラは、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、前記イベントデータを一旦保持し、
前記送信部は、
一旦保持した前記イベントデータを、後に前記コンテンツ送信を行う装置に送信する
情報処理装置。
【請求項４】
データ格納部と、
センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の装置へのコンテンツ送信を行う装置にデータ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けて前記データ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、前記コンテンツ送信を行う装置に当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子を送信する送信部と、
を有し、
前記スケジューラは、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、当該ユーザ識別子を含む前記イベントデータを一旦保持する処理と、当該ユーザ識別子を含む前記イベントデータを破棄する処理とを切り替え、
前記送信部は、
一旦保持した前記イベントデータを、後に前記コンテンツ送信を行う装置に送信する
情報処理装置。
【請求項５】
ユーザのユーザ識別子を読み取り当該ユーザ識別子を含むイベントデータを生成するセンサと、
前記センサから前記イベントデータを受信する第１の装置と、
前記第１の装置から前記ユーザ識別子に対応付けられているコンテンツの識別子を含むデータを受信すると、当該コンテンツの識別子に対応する前記コンテンツのデータを送信する第２の装置と、
前記第２の装置から送信される前記コンテンツのデータを格納する複数の第３の装置と、
を有し、
前記第１の装置は、
前記センサから前記イベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の第３の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の第３の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の第３の装置へのコンテンツ送信を行う第２の装置にデータ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の第３の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の第３の装置の識別子を、前記第２の装置に送信する送信部と、
を有し、
前記第２の装置は、
前記第１の装置から受信された前記コンテンツの識別子に対応するコンテンツのデータを、前記第１の装置から受信された前記コンテンツの配信先の第３の装置の識別子に対応する第３の装置に送信し、
前記スケジューラは、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、前記イベントデータを一旦保持し、
前記送信部は、
一旦保持した前記イベントデータを、後に前記第２の装置に送信する
システム。
【請求項６】
ユーザのユーザ識別子を読み取り当該ユーザ識別子を含むイベントデータを生成するセンサと、
前記センサから前記イベントデータを受信する第１の装置と、
前記第１の装置から前記ユーザ識別子に対応付けられているコンテンツの識別子を含むデータを受信すると、当該コンテンツの識別子に対応する前記コンテンツのデータを送信する第２の装置と、
前記第２の装置から送信される前記コンテンツのデータを格納する複数の第３の装置と、
を有し、
前記第１の装置は、
前記センサから前記イベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の第３の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の第３の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の第３の装置へのコンテンツ送信を行う第２の装置にデータ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の第３の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の第３の装置の識別子を、前記第２の装置に送信する送信部と、
を有し、
前記第２の装置は、
前記第１の装置から受信された前記コンテンツの識別子に対応するコンテンツのデータを、前記第１の装置から受信された前記コンテンツの配信先の第３の装置の識別子に対応する第３の装置に送信し、
前記スケジューラは、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、当該ユーザ識別子を含む前記イベントデータを一旦保持する処理と、当該ユーザ識別子を含む前記イベントデータを破棄する処理とを切り替え、
前記送信部は、
一旦保持した前記イベントデータを、後に前記第２の装置に送信する
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツ配信技術に関する。
【背景技術】
【０００２】
例えば購買履歴等で把握される人の嗜好や気温などのその時の状況に応じて、個々の人にお勧めの広告を表示する行動ターゲッティング広告システムが知られている。
【０００３】
このようなシステムでは、リアルタイムにコンテンツを配信することが求められている。例えば駅構内の広告表示システムにおいて、自動販売機で広告を表示しようとする場合、利用者は数秒程度しかパネルを見ないため、ユーザのＩＤ（識別子）の入力から広告の表示まで、一連の処理を数秒（例えば１秒乃至２秒）で終わらせることになる。
【０００４】
すなわち、自動販売機にユーザＩＤが入力されると、ユーザに提示すべきコンテンツを決定して、コンテンツのデータをその自動販売機に配信して表示する処理を、数秒で終わらせることで、ユーザにコンテンツを見てもらうことができるようになる。
【０００５】
しかし、遠方のデータセンター１箇所に集めたサーバ資源を利用してコンテンツのデータを配信する場合、通信の遅延に起因する配信遅延が問題になる。一般に、街中に置かれたディスプレイ付自動販売機とデータセンタに置かれたサーバとの間のスループットは小さく（数Ｍｂｐｓ程度）、配信される動画コンテンツのサイズは大きい（数十Ｍビット）。例えば、スループットが１０Ｍｂｐｓ、コンテンツのサイズが６０Ｍビットである場合、配信に６秒かかるが、ユーザは６秒も待てないことが多い。
【０００６】
このような表示に要する時間に関する問題に対し、以下のような技術が提案されている。すなわち、センタサーバは、ユーザが表示装置の近くに来たことを表すイベントを建物などの入退場システムから得て、それをトリガーにそのユーザ向けのコンテンツを予め表示装置の近くのキャッシュサーバに配信しておく。これにより、ユーザが表示装置にＩＣカードなどをかざしてユーザＩＤを読み取らせると、すぐにコンテンツを表示できるようになる。
【０００７】
しかしながら、このような技術では、入退場システムからのイベントをセンタサーバに直接送信する構成としていたため、利用するユーザが増えてくると、センタサーバにイベントが集中してしまい、センタサーバの処理速度の低下が起きてしまうことがある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２５２７３５号公報
【特許文献２】特開２００４−３１０５９３号公報
【特許文献３】特開２００９−１０００５７号公報
【非特許文献】
【０００９】
【非特許文献１】Matoba, K.; Abiru, K.; Ishihara, T., "Service oriented network architecture for scalable M2M and sensor network services", Intelligence in Next Generation Networks (ICIN), 2011 15th International Conference on 4-7, Oct. 2011, pp.35-40,
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従って、本技術の目的は、一側面において、ユーザに適したコンテンツデータをユーザに応じたタイミングで複数の表示装置のうちユーザに応じた表示装置で表示できるようにするための技術を提供することである。
【課題を解決するための手段】
【００１１】
本技術に係る情報処理方法は、（Ａ）センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子と当該コンテンツの配信先の装置の識別子と当該コンテンツのデータを配信先の装置に配信するまでの時間とを特定する特定処理と、（Ｂ）特定された時間から、コンテンツの配信先の装置へのコンテンツ送信を開始する時刻又は当該コンテンツ送信を行う装置にデータ送信を開始する時刻を算出する算出処理と、（Ｃ）特定されたコンテンツの識別子及びコンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納する処理と、（Ｄ）データ格納部に格納されている時刻になると、当該時刻に関連付けられているコンテンツの識別子に対応するコンテンツのデータを当該時刻に関連付けられているコンテンツの配信先の装置の識別子に対応するコンテンツの配信先の装置に送信するか、又はコンテンツ送信を行う装置に当該時刻に関連付けられているコンテンツの識別子及びコンテンツの配信先の装置の識別子を送信する処理とを含む。
【発明の効果】
【００１２】
ユーザに適したコンテンツデータをユーザに応じたタイミングで複数の表示装置のうちユーザに応じた表示装置で表示できるようになる。
【図面の簡単な説明】
【００１３】
【図１】図１は、イベント間隔格納部に格納されるデータの一例を示す図である。
【図２】図２は、第１の実施の形態に係るシステムの処理を模式的に示す図である。
【図３】図３は、第１の実施の形態に係るシステム概要を示す図である。
【図４】図４は、第１の実施の形態に係るシステム概要の他の例を示す図である。
【図５】図５は、表示装置の機能ブロック図である。
【図６】図６は、第１の実施の形態に係るコンテンツマネージャの機能ブロック図である。
【図７】図７は、トリガーイベントのメッセージフォーマットの一例を示す図である。
【図８】図８は、トリガーイベントＤＢに格納されるデータのフォーマット例を示す図である。
【図９】図９は、コンテンツＤＢに格納されているデータの一例を示す図である。
【図１０】図１０は、配備遅延データ格納部に格納されるデータのフォーマット例を示す図である。
【図１１】図１１は、帯域データ格納部に格納されるデータのフォーマット例を示す図である。
【図１２】図１２は、処理待ちタスク格納部に格納されるデータのフォーマット例を示す図である。
【図１３】図１３は、コンテンツ配信のためのメッセージのフォーマット例を示す図である。
【図１４】図１４は、コンテンツ要求のメッセージフォーマットの例を示す図である。
【図１５】図１５は、トリガーイベント受信部の処理フローを示す図である。
【図１６】図１６は、スケジューラの処理フローを示す図である。
【図１７】図１７は、配備部の処理フローを示す図である。
【図１８】図１８は、コンテンツ要求受信部の処理フローを示す図である。
【図１９】図１９は、イベント間隔算出部の処理フローを示す図である。
【図２０】図２０は、イベント相関テーブルの一例を示す図である。
【図２１】図２１は、イベント間隔の詳細データ例を示す図である。
【図２２】図２２は、トポロジデータの一例を示す図である。
【図２３】図２３は、第２の実施の形態に係るコンテンツマネージャの機能ブロック図である。
【図２４】図２４は、第２の実施の形態に係るイベント集配装置の機能ブロック図である。
【図２５】図２５は、コンテンツ情報配布部から送信されるメッセージのフォーマット例を示す図である。
【図２６】図２６は、配備遅延データ配布部から送信されるメッセージのフォーマット例を示す図である。
【図２７】図２７は、駅Ａについてのイベント集配装置におけるイベント間隔格納部に格納されるデータの一例を示す図である。
【図２８】図２８は、駅Ｂについてのイベント集配装置におけるイベント間隔格納部に格納されるデータの一例を示す図である。
【図２９】図２９は、イベント間隔配布部から送信されるメッセージのフォーマット例を示す図である。
【図３０】図３０は、第２の実施の形態に係る処理待ちタスク格納部に格納されるデータのフォーマット例を示す図である。
【図３１】図３１は、第２の実施の形態に係るイベント集配装置の処理フローを示す図である。
【図３２】図３２は、イベント集配装置における送信部の処理フローを示す図である。
【図３３】図３３は、第２の実施の形態においてコンテンツマネージャに送信されるトリガーイベントのメッセージのフォーマット例を示す図である。
【図３４】図３４は、第２の実施の形態に係るトリガーイベント受信部の処理フローを示す図である。
【図３５】図３５は、第２の実施の形態に係る配備部の処理フローを示す図である。
【図３６】図３６は、第２の実施の形態に係る配布部の処理フローを示す図である。
【図３７】図３７は、第３の実施の形態に係るスケジューラの処理フローを示す図である。
【図３８】図３８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１４】
［実施の形態１］
本実施の形態の概要を図１及び図２を用いて説明する。本実施の形態では、図１に示すようなイベント間隔に関するデータを用意する。すなわち、ユーザＩＤ（ＵＩＤとも記す）毎に、当該ユーザＩＤの検出場所（ｓｒｃ）（以下の説明ではトリガーイベントの発生場所に設けられているセンサの識別子）と、コンテンツの配備先装置（ｄｓｔ）（コンテンツ要求の発生場所に設けられている表示装置の識別子など）と、ユーザＩＤを検出したタイミングと表示装置でコンテンツを表示するタイミングとの時間間隔であるイベント間隔とが対応付けられている。なお、本実施の形態では、アドレスを識別子として用いる場合もあり、識別子を特定した場合でも、識別子とアドレスとの対応関係からアドレスを取得できるものとする。
【００１５】
例えば、ユーザＩＤが「００３」のユーザの場合、Ａ駅の改札（Ａ改札と記す）でユーザＩＤを検出すると、Ｂ駅のホームの自動販売機（Ｂ自販機ホームと記す）に、１０分後にコンテンツのデータの配備を完了するというルールが規定されている。一方、ユーザＩＤが「００４」のユーザの場合、Ａ駅の改札でユーザＩＤを検出すると、Ａ駅ホームの自動販売機（Ａ自販機ホームと記す）に、１分後にコンテンツのデータの配備を完了するというルールが規定されている。このようなデータについては、実績データから統計的に確率が高いデータを抽出して設定する。なお、ユーザＩＤの検出場所については複数あることを想定しているが、入場口が１箇所しかないといった状況であれば検出場所を管理せずとも良い。
【００１６】
このようにユーザＩＤ及び当該ユーザＩＤを検出する場所に応じて、コンテンツ配備先装置にコンテンツの配備を完了するまでの時間を用意しておくことで、ユーザＩＤ及び当該ユーザＩＤを検出したセンサのＩＤを取得できれば遅延などを考慮して実際にコンテンツを配備先装置に送信すべき時刻を特定できるようになる。
【００１７】
そうすると、図２に模式的に示すように、Ａ駅改札口に設置された位置センサにおいてユーザＩＤ「００２」、ユーザＩＤ「００４」、ユーザＩＤ「００３」、ユーザＩＤ「００１」の順番でユーザＩＤが検出されたものとする。そうすると、ユーザＩＤ及びセンサＩＤを含むトリガーイベントは、この順番でイベント集配装置を介してコンテンツマネージャに通知される。コンテンツマネージャは、図１に示すようなデータを有しているので、ユーザＩＤ「００２」に対応する配備先及びイベント間隔のデータが設定されていないことが分かる。このような場合、本実施の形態ではユーザＩＤ「００２」向けにコンテンツの配備を行わない。また、ユーザＩＤ「００４」については、当該ユーザＩＤ「００４」及びＡ駅改札口のセンサＩＤに対応付けて配備先「Ａ駅ホームの自動販売機」及びイベント間隔「１分」が得られるので、ユーザＩＤ「００４」検出後１分後にはコンテンツが「Ａ駅ホームの自動販売機」に配備されているようにコンテンツを配信する。ユーザＩＤ「００３」については、当該ユーザＩＤ「００３」及びＡ駅改札口のセンサＩＤに対応付けて配備先「Ｂ駅ホームの自動販売機」及びイベント間隔「１０分」が得られるので、ユーザＩＤ「００３」検出後１０分後にはコンテンツが「Ｂ駅ホームの自動販売機」に配備されているようにコンテンツを配信する。さらに、ユーザＩＤ「００１」については、当該ユーザＩＤ「００１」及びＡ駅改札口のセンサＩＤに対応付けて配備先「Ａ駅改札の自動販売機」及びイベント間隔「１０秒」が得られるので、ユーザＩＤ「００１」検出後１０秒後にはコンテンツが「Ａ駅改札の自動販売機」に配備されているようにコンテンツを配信する。コンテンツマネージャでは、図２においてキューのように模式的に示すように、各ユーザについてコンテンツ配備のタスクがスケジュールされることになる。この例では、ユーザＩＤ「００１」向けのコンテンツ配備、ユーザＩＤ「００４」向けのコンテンツ配備、ユーザＩＤ「００３」向けのコンテンツ配備の順番でコンテンツ配備が行われるようになる。このようにすれば、急いで配備を行わなければならないコンテンツについては、配備に時間的な余裕があるコンテンツより先に急いで配備するというような処理を行うことができるようになる。
【００１８】
そうすると、ユーザＩＤ「００１」のユーザが移動してＡ駅改札の自動販売機に到着して、ユーザＩＤを自動販売機に読み取らせると、ユーザＩＤ「００１」向けのコンテンツが配備されているので遅延無くコンテンツを表示することができるようになる。さらに、ユーザＩＤ「００４」のユーザが移動してＡ駅ホームの自動販売機に到着して、ユーザＩＤを自動販売機に読み取らせると、ユーザＩＤ「００４」向けのコンテンツが配備されているので遅延無くコンテンツを表示することができるようになる。また、ユーザＩＤ「００３」のユーザがＢ駅に到着してＢ駅ホームの自動販売機に移動してユーザＩＤを自動販売機に読み取らせると、ユーザＩＤ「００３」向けのコンテンツが配備されているので遅延無くコンテンツを表示できるようになる。
【００１９】
以上のような処理を実現するためのシステム構成例を図３に示す。本システムは、例えばデータセンタに設置されているコンテンツマネージャ１００と、１又は複数のイベント集配装置２００（図３では２００ａ及び２００ｂ）と、複数の表示装置４００（図３では４００ａ乃至４００ｃ）とがネットワーク１を介して接続されている。
【００２０】
イベント集配装置２００には、ユーザが保持するＩＣ（Integrated Circuit）カードからユーザＩＤを読み取る１又は複数の位置センサ３００ａが接続されている。本実施の形態では、イベント集配装置２００は、配下の位置センサ３００ａから受信したセンサＩＤ及びユーザＩＤ等を含むトリガーイベントをコンテンツマネージャ１００に送信する。
【００２１】
なお、コンテンツマネージャ１００から直接表示装置４００へコンテンツデータを送信する場合だけではなく、図４に部分的に示すような構成を採用する場合もある。すなわち、ネットワーク１には１又は複数のキャッシュサーバ５００（図４では５００ａ及び５００ｂ）が接続されており、コンテンツマネージャ１００からコンテンツデータがキャッシュサーバ５００に送信されるようにしてもよい。図４の例では、キャッシュサーバ５００ａには、表示装置４００ａ乃至４００ｃが接続されており、キャッシュサーバ５００ｂには、表示装置４００ｄ乃至４００ｆが接続されている。キャッシュサーバ５００と配下の表示装置４００とは比較的高速に通信できるようにする。この場合、キャッシュサーバ５００は、キャッシュを有しており、当該キャッシュにコンテンツデータを格納しておき、配下の表示装置４００からのコンテンツ要求に応じてコンテンツデータを表示装置４００に送信する。なお、キャッシュサーバ５００は、ユーザＩＤとコンテンツＩＤとの対応付けデータを保持している場合もある。
【００２２】
表示装置４００は、自動販売機などであるが、自動販売機等の基本的な機能に加えて、図５に示すように、受信部４１１と、データ格納部４１２と、表示部４１３と、ＩＣカードリーダ４１４と、送信部４１５とを有する。但し、ＩＣカードリーダ４１４については、自動販売機等の基本的な機能に含まれているものをそのまま利用しても良い。
【００２３】
例えばユーザがＩＣカードをＩＣカードリーダ４１４にかざしてユーザＩＤを読み取らせると、ＩＣカードリーダ４１４は、読み取ったユーザＩＤを、送信部４１５に出力する。送信部４１５は、読み取ったユーザＩＤを含むコンテンツ要求を、コンテンツマネージャ１００に送信する。なお、本実施の形態では、このようなコンテンツ要求については、図１に示したイベント間隔についてのデータを生成するための基礎的なデータとして蓄積するためにコンテンツマネージャ１００に送信する。
【００２４】
また、キャッシュサーバ５００を用いない場合には、ＩＣカードリーダ４１４は、表示部４１３に、読み取ったユーザＩＤを出力して、表示部４１３は、受け取ったユーザＩＤに対応付けてデータ格納部４１２に格納されているコンテンツデータを読み出して、表示画面に表示する。受信部４１１は、コンテンツマネージャ１００からコンテンツデータを受信すると、データ格納部４１２に格納する。
【００２５】
さらに、キャッシュサーバ５００を用いる場合には、送信部４１５は、コンテンツマネージャ１００に加えて、キャッシュサーバ５００にユーザＩＤを含むコンテンツ要求を送信する。キャッシュサーバ５００は、配下の表示装置４００からのコンテンツ要求を受信すると、コンテンツ要求に含まれるユーザＩＤに対応付けられているコンテンツを特定して当該コンテンツのコンテンツデータを読み出して、要求元の表示装置４００に送信する。表示装置４００の受信部４１１は、キャッシュサーバ５００からコンテンツデータを受信すると、データ格納部４１２に格納し、表示部４１３は、データ格納部４１２に格納されたコンテンツデータを、表示画面に表示する。
【００２６】
次に、図６に、コンテンツマネージャ１００の構成例を示す。コンテンツマネージャ１００は、イベント制御部１１０と、コンテンツサーバ部１６０とを有する。
【００２７】
イベント制御部１１０は、トリガーイベント受信部１１１と、トリガーイベントＤＢ（データベース）１１２と、イベント間隔算出部１１３と、スケジューラ１１４と、イベント間隔格納部１１５と、配備遅延データ格納部１１６と、帯域データ格納部１１７と、処理待ちタスク格納部１１８と、配備部１１９とを有する。
【００２８】
コンテンツサーバ部１６０は、コンテンツ要求受信部１６３と、コンテンツＤＢ１６１と、コンテンツ要求イベントＤＢ１６２とを有する。
【００２９】
トリガーイベント受信部１１１は、イベント集配装置２００からトリガーイベントを受信すると、トリガーイベントのデータをトリガーイベントＤＢ１１２に格納し、スケジューラ１１４にトリガーイベントのデータを出力する。本実施の形態では、イベント集配装置２００は、特別な処理を行わないので、イベント集配装置２００を設けないようようにしても良い。
【００３０】
トリガーイベントは、例えば図７に示すようなメッセージフォーマットを有する。トリガーイベントは、ヘッダ部とイベントデータ部とを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。イベントデータ部は、イベント発生時刻（ユーザＩＤを読み取った時刻）と、イベント発生場所の識別子（ユーザＩＤを読み取った位置センサ３００の識別子（すなわちセンサＩＤ））と、ユーザＩＤとを含む。
【００３１】
トリガーイベントＤＢ１１２に格納されるデータのフォーマット例を図８に示す。図８の例では、トリガーイベントに含まれているイベント発生時刻と、イベント発生場所の識別子等（センサＩＤ。アドレスの場合もある）と、ユーザＩＤとが登録されるようになっている。
【００３２】
スケジューラ１１４は、コンテンツＤＢ１６１を用いてユーザＩＤに対応付けられているコンテンツＩＤを特定する。また、スケジューラ１１４は、イベント間隔格納部１１５からユーザＩＤ及びイベント発生場所の識別子（検出場所の識別子。センサＩＤ）に対応付けられている配備先の装置の識別子又はアドレス及びイベント間隔を特定する。そして、スケジューラ１１４は、配備遅延データ格納部１１６や帯域データ格納部１１７に格納されているデータを用いて、トリガーイベントに対応する処理待ちタスクのデータを生成し、処理待ちタスク格納部１１８に格納する。
【００３３】
コンテンツＤＢ１６１は、例えば図９に示すようなデータを格納する。図９の例では、ユーザＩＤと、コンテンツＩＤと、コンテンツサイズと、コンテンツデータへのリンクとが対応付けられている。さらに、コンテンツデータ自体もコンテンツＤＢ１６１に格納されている。
【００３４】
イベント間隔格納部１１５は、図１に示したようなデータを格納している。
【００３５】
配備遅延データ格納部１１６に格納されるデータのフォーマット例を図１０に示す。図１０の例では、コンテンツＩＤとコンテンツの配備先の装置の識別子又はアドレスとの組み合わせ毎に、コンテンツマネージャ１００からコンテンツの配備先装置へ配備するためにかかる遅延時間とを格納するようになっている。
【００３６】
帯域データ格納部１１７に格納されるデータのフォーマット例を図１１に示す。図１１の例では、コンテンツの配備先装置の識別子又はアドレスと、コンテンツマネージャ１００とコンテンツの配備先装置との間のネットワーク帯域（例えば（Ｍｂｐｓ））とが格納されるようになっている。なお、図１０に示すような遅延時間が用意されていない場合には、図１１に示すような帯域データを用いて遅延時間を算出する。
【００３７】
処理待ちタスク格納部１１８に格納されるデータのフォーマット例を図１２に示す。図１２の例では、コンテンツを配備することになったトリガーイベント毎に、コンテンツの配備を開始する配備開始時刻と、コンテンツの配備先装置のアドレスと、表示対象ユーザのユーザＩＤと、配備すべきコンテンツの識別子とが格納されるようになっている。
【００３８】
配備部１１９は、処理待ちタスク格納部１１８に格納されている時刻になると、当該時刻に関連付けられているタスクのデータに従って、コンテンツデータをコンテンツＤＢ１６１から読み出して、配備先の装置に対して当該コンテンツデータを送信する。例えば、図１３に示すようなメッセージフォーマットでコンテンツのデータが送信される。図１３の例では、コンテンツを送信するためのメッセージは、ヘッダ部とデータ部とを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。データ部は、コンテンツの表示先となるユーザのユーザＩＤと、コンテンツデータとを含む。
【００３９】
また、配備部１１９は、このコンテンツデータの送信時刻と配備先の装置から受信するＡＣＫメッセージの送信時刻とから遅延時間を算出して、配備遅延データ格納部１１６に格納する。
【００４０】
コンテンツサーバ部１６０のコンテンツ要求イベントＤＢ１６２は、図８に示したようなデータフォーマットでデータを格納している。
【００４１】
コンテンツ要求受信部１６３は、表示装置４００からコンテンツ要求を受信し、当該コンテンツ要求に係るイベントのデータを、コンテンツ要求イベントＤＢ１６２に格納する。
【００４２】
コンテンツ要求のメッセージフォーマットの一例を図１４に示す。コンテンツ要求は、ヘッダ部とイベントデータ部とを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。イベントデータ部は、イベント発生時刻（ユーザＩＤを読み取った時刻）と、イベント発生場所の識別子（ユーザＩＤを読み取った表示装置４００の識別子（すなわち表示装置ＩＤ））と、ユーザＩＤとを含む。
【００４３】
次に、図１５乃至図２２を用いて第１の実施の形態に係る処理の内容を説明する。まず、図１５を用いて、イベント制御部１１０のトリガーイベント受信部１１１の処理を説明する。
【００４４】
トリガーイベント受信部１１１は、イベント集配装置２００からトリガーイベントを受信すると（ステップＳ１）、スケジューラ１１４に当該トリガーイベントを出力する（ステップＳ３）。また、トリガーイベント受信部１１１は、受信したトリガーイベントのデータを、トリガーイベントＤＢ１１２に格納する（ステップＳ５）。上でも述べたように、図８に示すようなデータフォーマットでトリガーイベントのデータを格納する。
【００４５】
次に、スケジューラ１１４の処理内容を図１６を用いて説明する。スケジューラ１１４は、トリガーイベント受信部１１１からトリガーイベントを受信すると（ステップＳ１１）、当該トリガーイベントからユーザＩＤ及びイベント発生場所のセンサＩＤを抽出する（ステップＳ１３）。そして、スケジューラ１１４は、イベント間隔格納部１１５から、ユーザＩＤ及びセンサＩＤに対応付けられているイベント間隔及びコンテンツの配備先装置の識別子を抽出する（ステップＳ１５）。
【００４６】
なお、イベント間隔格納部１１５には、トリガーイベントに含まれるユーザＩＤ及びセンサＩＤに対応付けてイベント間隔等のデータが格納されていない場合もある。これは新規ユーザや、例えば表示装置４００にユーザＩＤを読み取らせたことがないユーザの場合である。
【００４７】
スケジューラ１１４は、ステップＳ１５でイベント間隔を抽出できたか判断し（ステップＳ１７）、抽出できない場合には（ステップＳ１７：Ｎｏルート）、今回受信したトリガーイベントの処理を終了する。
【００４８】
一方、イベント間隔を抽出できた場合には（ステップＳ１７：Ｙｅｓルート）、スケジューラ１１４は、コンテンツＤＢ１６１から、トリガーイベントから抽出されたユーザＩＤに対応付けられているコンテンツＩＤ及びサイズを特定する（ステップＳ１９）。
【００４９】
そして、スケジューラ１１４は、コンテンツ配備のための遅延時間を決定する（ステップＳ２１）。配備遅延データ格納部１１６において、図１０に示すように、コンテンツＩＤとコンテンツの配備先装置の識別子との組み合わせに遅延時間が対応付けられている場合には、この遅延時間を読み出す。一方、配備遅延データ格納部１１６において、コンテンツＩＤとコンテンツの配備先装置の識別子との組み合わせに対して遅延時間が対応付けられていない場合には、帯域データ格納部１１７から、配備先装置の識別子に対応付けられている帯域データを読み出して、コンテンツのサイズ／帯域データにより遅延時間を算出する。
【００５０】
そして、スケジューラ１１４は、配備開始時刻を算出する（ステップＳ２３）。配備開始時刻ｔsendは、ｔ0＋［Ｔevev−（ｔnow−ｔ0）−Ｔdeploy］により算出する。なお、ｔ0は、トリガーイベントに含まれるイベント発生時刻であり、Ｔevevはイベント間隔であり、ｔnowは現在時刻であり、Ｔdeployはコンテンツ配備時刻である。イベント間隔から、既にロスしている（ｔnow−ｔ0）と、配信時にロスする時間Ｔdeployを差し引いた上で、配備開始時刻を算出している。
【００５１】
その後、スケジューラ１１４は、配備開始時刻とコンテンツの配備先装置の配備先アドレスとユーザＩＤとコンテンツＩＤとを含む処理待ちタスクを生成して、処理待ちタスク格納部１１８に登録する（ステップＳ２５）。
【００５２】
このような処理を実施すれば、ユーザが見る可能性が高い表示装置に、当該表示装置にユーザが到達するまでにコンテンツデータを配備することができるようになる。その際、ユーザが見る可能性が高い表示装置にユーザが移動するまでの時間の長短に応じて、コンテンツデータの配備というタスクに優先度を配備開始時刻として設定するので、トリガーイベントの発生順によらずコンテンツマネージャ１００の負荷を平準化させることができるようになる。
【００５３】
次に、図１７を用いて配備部１１９の処理内容を説明する。配備部１１９は、処理待ちタスク格納部１１８から、現在時刻が配備開始時刻となった処理待ちタスクを抽出する（ステップＳ３１）。配備部１１９は、処理待ちタスクに含まれるコンテンツＩＤのコンテンツをコンテンツＤＢ１６１から読み出して、図１３に示すようなコンテンツデータ及びユーザＩＤを含むメッセージを、処理待ちタスクに含まれる配備先装置アドレスに対して送信する（ステップＳ３３）。この際、コンテンツＩＤ、配備先装置アドレス、送信時刻を保持しておく。
【００５４】
そして、配備先装置からコンテンツの受信時刻を含むＡＣＫメッセージを受信すると、配備部１１９は、受信時刻−送信時刻により実遅延時間を算出して、当該実遅延時間を、コンテンツＩＤ及び配備先装置アドレスに対応付けて、配備遅延データ格納部１１６に格納する（ステップＳ３５）。なお、本登録するのではなく、平均値などを算出するために仮登録するような処理としても良い。
【００５５】
このような処理を実施すれば、実態に合わせて配備遅延データ格納部１１６の内容を修正することができるようになる。
【００５６】
次に、図１８を用いてコンテンツ要求受信部１６３の処理内容を説明する。コンテンツ要求受信部１６３は、コンテンツ要求（図１４）を表示装置４００から受信すると（ステップＳ４１）、当該コンテンツ要求に含まれるデータを基に、コンテンツ要求イベントのデータをコンテンツ要求イベントＤＢ１６２に格納する（ステップＳ４３）。コンテンツ要求イベントＤＢ１６２に格納されるデータのフォーマットは図８に示すようなものである。
【００５７】
次に、トリガーイベントＤＢ１１２に格納されているデータとコンテンツ要求イベントＤＢ１６２に格納されているデータとを用いて、イベント間隔格納部１１５に格納されるデータを生成するイベント間隔算出部１１３の処理を、図１９を用いて説明する。なお、図１９に示した処理は、所定の周期で又は任意のタイミングで実施する。
【００５８】
まず、イベント間隔算出部１１３は、例えばユーザリストに登録されているユーザのうち未処理のユーザを一人特定する（ステップＳ５１）。そして、イベント間隔算出部１１３は、イベント間隔算出処理を実施する（ステップＳ５３）。
【００５９】
イベント間隔算出処理は、コンテンツ配信のターゲッティングに依存して様々である。例えば、よく利用するユーザに対してさらに広告を打つ場合もあれば、数度は利用したが、継続利用していないユーザに対して広告を出す場合もある。このようにターゲットとするユーザと、そのユーザがどこの表示装置４００に到達したときにコンテンツを配信するかを策定し、その結果に従ってイベント間隔格納部１１５に格納されるデータを生成する。いずれもユーザの行動履歴から策定することが可能であるが、その方法の一例を以下に示す。すなわち、実際には様々な算出方法があり、以下の方法に限るものではない。
【００６０】
例えば、トリガーイベントＤＢ１１２及びコンテンツ要求イベントＤＢ１６２に格納されており且つ図８に示すようなデータフォーマットを有するデータに対して統計処理を施し、ユーザＩＤ毎に図２０に示すようなイベント相関テーブルを生成する。図２０の例では、トリガーイベントの発生場所（Source）を行で表し、コンテンツ要求イベントの発生場所（Destination）を列で表しており、SourceとDestinationとのペアについて相関値を保持するようになっている。このように、イベント相関テーブルは、例えば駅Ａ改札でトリガーイベントが発生し、その後駅Ａ改札横自販機１（表示装置１が付属する自動販売機）でコンテンツ要求イベント（自販機であれば購入イベントと同じ）が発生した際に、「駅Ａ改札」行の「駅Ａ改札表示装置１」列に値を加算する方法で生成する。
【００６１】
しかし、実際には全く相関が無いにもかかわらず、同一のユーザＩＤに対して、駅Ａ改札でのトリガーイベントと駅Ａ表示装置１でのコンテンツ要求イベントが時間をおいて発生することはありうる。この場合にイベント相関テーブルへの反映を回避するために、人の移動時間を考慮する。実際に駅Ａ改札から駅Ａ表示装置１へ移動して購入した場合のイベント間隔は、おおよそ平均値となる。イベントデータから算出されるイベント間隔がその平均値に近い場合には大きな値を、イベントデータから算出されるイベント間隔がその平均値から遠ければ遠いほど小さな値（又は０）を加算するようにすることで、実際には相関の無いイベント間を相関ありとする事態を回避する。さらに、イベントデータの統計処理によりユーザ毎のイベント間隔についても図２１に示すようなデータを保持しておく。図２１の例では、トリガーイベントの発生場所（Source）を行で表し、コンテンツ要求イベントの発生場所（Destination）を列で表しており、SourceとDestinationとのペアについてイベント間隔を保持するようになっている。
【００６２】
以上の処理はターゲッティングにかかわらず実施しておく処理である。次に広告配信ターゲットを定め、そのためのイベント間隔を生成する処理を行う。例えばよく利用するユーザに対して広告配信を狙う場合、各ユーザについてイベント相関テーブルで相関の高いトリガーイベントとコンテンツ要求イベントのペアを見つける。図２０の場合には、「駅Ａ改札」−「駅Ａ表示装置１」のペアが該当する。このデータに基づき、図２１のイベント間隔の詳細データから、コンテンツ配信に用いるイベント間隔「２０」を抽出する。
【００６３】
一方であまり購入していないユーザをターゲットとする場合、図２０に示したイベント相関テーブル及び図２１に示したイベント間隔の詳細データに加え、人の移動トポロジデータ（例えば図２２）を用いる。図２２のトポロジデータは、ユーザＩＤ「００１」のユーザが、例えば駅Ａ−駅Ｃ間を移動するが、駅Ｂは乗換駅であるといった情報である。イベント相関テーブルを参照しただけでは、ユーザＩＤ「００１」のユーザの駅Ｂでのイベントは発生しておらず、駅Ａから駅Ｃへ（またはその逆方向へ）移動していることしかわからないが、トポロジデータも併せて参照することで、駅Ａから駅Ｃへ移動する途中で駅Ｂ表示装置１を通過することは予測可能である。
【００６４】
そこで、駅Ａ改札でのトリガーイベントと駅Ｂ表示装置１のコンテンツ要求イベントとをペアに設定して、このようなデータと図２１で示したイベント間隔の詳細データから、コンテンツ配信に用いるイベント間隔「３２０」を生成する。
【００６５】
このような処理を実施した後、イベント間隔算出部１１３は、ユーザリストにおいて未処理のユーザが存在しているか判断する（ステップＳ５５）。未処理のユーザが存在している場合にはステップＳ５１に戻る。未処理のユーザが存在していない場合には、処理を終了する。
【００６６】
［実施の形態２］
第１の実施の形態においてもコンテンツマネージャ１００の処理負荷が問題となる場合がある。そこで、本実施の形態では、コンテンツマネージャ１００の機能を一部イベント集配装置２００に持たせることとする。
【００６７】
図２３に、本実施の形態に係るコンテンツマネージャ１００ｂの構成を示す。第１の実施の形態と同じ機能を有する構成要素については同じ参照番号を付している。
【００６８】
本実施の形態に係るコンテンツマネージャ１００ｂは、イベント制御部１１０ｂとコンテンツサーバ部１６０とを有する。コンテンツサーバ部１６０の構成は第１の実施の形態と同様であるから説明を省略する。
【００６９】
イベント制御部１１０ｂは、トリガーイベント受信部１２１と、トリガーイベントＤＢ１１２と、イベント間隔算出部１１３と、イベント間隔格納部１１５と、イベント間隔配布部１２３と、配備遅延データ配布部１２４と、コンテンツ情報配布部１２５と、構成データ格納部１２６と、配備遅延データ格納部１１６と、配備部１２７とを有する。
【００７０】
トリガーイベント受信部１２１は、イベント集配装置２００からトリガーイベントのデータを受信すると、トリガーイベントＤＢ１１２にそのトリガーイベントのデータを格納する。また、トリガーイベント受信部１２１は、コンテンツＩＤを含む、トリガーイベントのデータを受信した場合には、配備部１２７にもトリガーイベントのデータを出力する。
【００７１】
イベント間隔配布部１２３は、構成データ格納部１２６のデータに基づき、イベント間隔格納部１１５に格納されているデータを、本実施の形態に係るイベント集配装置２２００に配布する。配備遅延データ配布部１２４は、構成データ格納部１２６のデータに基づき、配備遅延データ格納部１１６に格納されているデータを、イベント集配装置２２００に配布する。コンテンツ情報配布部１２５は、構成データ格納部１２６のデータに基づき、コンテンツＤＢ１６１に格納されているデータを、イベント集配装置２２００に配布する。
【００７２】
配備部１２７は、トリガーイベント受信部１２１からトリガーイベントのデータを受信すると、コンテンツＤＢ１６１に格納されているコンテンツデータを、配備先装置に配備する。
【００７３】
なお、構成データ格納部１２６は、システムに含まれるイベント集配装置２２００毎に配下の位置センサのセンサＩＤが登録されている。
【００７４】
また、本実施の形態に係るイベント集配装置２２００は、図２４に示すような構成を有する。すなわち、イベント集配装置２２００は、受信部２２０１と、スケジューラ２２０２と、帯域データ格納部２２０３と、コンテンツＤＢ２２０４と、配備遅延データ格納部２２０５と、イベント間隔格納部２２０６と、処理待ちタスク格納部２２０７と、送信部２２０８とを有する。
【００７５】
帯域データ格納部２２０３は、帯域データ格納部１１７に格納されているデータと同様のデータフォーマットにて同様のデータを保持している。但し、本実施の形態では、イベント集配装置２２００とコンテンツマネージャ１００ｂとの間の伝送遅延も考慮することになるので、イベント集配装置２２００とコンテンツマネージャ１００ｂとの間の帯域データをも格納している。
【００７６】
コンテンツＤＢ２２０４は、コンテンツデータ自体は保持していないが、コンテンツＤＢ１６１と同様のデータを保持している。イベント集配装置２２００は、例えばコンテンツ情報配布部１２５から送信されるメッセージ（図２５）を受信して、コンテンツＤＢ２２０４にデータを格納する。図２５の例では、メッセージは、ヘッダ部とユーザ毎のコンテンツ情報リストとを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。ユーザ毎のコンテンツ情報リストは、ユーザＩＤと、コンテンツＩＤと、コンテンツサイズとの組み合わせを含む。
【００７７】
さらに、配備遅延データ格納部２２０５は、配備遅延データ格納部１１６と同様のデータフォーマットで同様のデータを有している。イベント集配装置２２００は、例えば配備遅延データ配布部１２４から送信されるメッセージ（図２６）を受信して、配備遅延データ格納部２２０５にデータを格納する。図２６の例では、メッセージは、ヘッダ部と配備遅延データリストとを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。配備遅延データリストは、コンテンツＩＤと、コンテンツの配備先装置の識別子又はアドレスと、コンテンツマネージャ１１０ｂからコンテンツの配備先装置へ本コンテンツデータを配信した場合の遅延時間との組み合わせを含む。コンテンツＩＤとコンテンツの配備先装置の識別子又はアドレスの組み合わせ毎に、配備遅延データリストが繰り返される。
【００７８】
また、イベント間隔格納部２２０６は、イベント間隔格納部１１５と同様のデータフォーマットで同様のデータを格納する。但し、格納されるデータは、本イベント集配装置２２００の配下の位置センサ４００についてのデータが含まれる。このようにイベント間隔格納部１１５の一部分のみが格納される。例えば図１の例の場合、駅Ａのイベント集配装置２２００のイベント間隔格納部２２０６であれば、図２７に示すように、検出場所（イベント発生場所）が配下の位置センサとなっているデータが格納される。また、駅Ｂのイベント集配装置２２００のイベント間隔格納部２２０６であれば、図２８に示すように、検出場所（イベント発生場所）が配下の位置センサとなっているデータが格納される。
【００７９】
イベント集配装置２２００は、例えばイベント間隔配布部１２３から送信されるメッセージ（図２９）を受信して、イベント間隔格納部２２０６にデータを格納する。図２９の例では、メッセージは、ヘッダ部とイベント間隔リストとを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。イベント間隔リストは、ユーザＩＤと、イベント発生場所（位置センサ）の識別子（センサＩＤ）と、コンテンツの配備先装置の識別子又はアドレスと、イベント間隔とを含む。ユーザＩＤとイベント発生場所の識別子との組み合わせ毎に、イベント間隔リストが繰り返される。
【００８０】
処理待ちタスク格納部２２０７は、図３０に示すようなデータフォーマットでデータを保持する。図３０の例では、イベント集配装置２２００から送信を開始する送信開始時刻と、送信先アドレス（ここではコンテンツマネージャ１００ｂのアドレス）と、イベントデータ（トリガーイベントのデータ本体）と、コンテンツの配備先装置のアドレス（又は識別子）と、配備すべきコンテンツのコンテンツＩＤとを、トリガーイベント毎に格納するようになっている。
【００８１】
次に、本実施の形態に係るイベント集配装置２２００の処理内容について図３１を用いて説明する。
【００８２】
なお、本実施の形態では、受信部２２０１は、位置センサ４００からトリガーイベント（図７）を受信すると、そのままスケジューラ２２０２にトリガーイベントを出力する。
【００８３】
スケジューラ２２０２は、受信部２２０１からトリガーイベントを受信すると（ステップＳ６１）、当該トリガーイベントからユーザＩＤ及びイベント発生場所のセンサＩＤを抽出する（ステップＳ６３）。そして、スケジューラ２２０２は、イベント間隔格納部２２０６から、ユーザＩＤ及びセンサＩＤに対応付けられているイベント間隔及びコンテンツの配備先装置の識別子を抽出する（ステップＳ６５）。
【００８４】
第１の実施の形態と同様に、イベント間隔格納部２２０６には、トリガーイベントに含まれるユーザＩＤ及びセンサＩＤに対応付けてイベント間隔等のデータが格納されていない場合もある。
【００８５】
スケジューラ２２０２は、ステップＳ６５でイベント間隔を抽出できたか判断し（ステップＳ６７）、抽出できない場合には（ステップＳ６７：Ｎｏルート）、スケジューラ２２０２は、このトリガーイベントのデータを、オフピーク時間などにコンテンツマネージャ１００ｂに送信するようにデータを、処理待ちタスク格納部２２０７に格納する（ステップＳ６９）。例えば、送信開始時刻、コンテンツ配備先装置のアドレス及びコンテンツＩＤを登録せずに、送信先アドレス（コンテンツマネージャ１００ｂのアドレス）及びトリガーイベントのデータ本体を、処理待ちタスク格納部２２０７に格納する。このように、送信開始時刻などが登録されていないトリガーイベントのデータについては、送信部２２０８が、オフピーク時間などの時間に送信するものとする。そして処理を終了する。
【００８６】
一方、イベント間隔を抽出できた場合には（ステップＳ６７：Ｙｅｓルート）、スケジューラ２２０２は、コンテンツＤＢ２２０４から、トリガーイベントから抽出されたユーザＩＤに対応付けられているコンテンツＩＤ及びサイズを特定する（ステップＳ７１）。
【００８７】
そして、スケジューラ２２０２は、コンテンツ配備のための遅延時間を決定する（ステップＳ７３）。配備遅延データ格納部２２０５において、図１０に示すように、コンテンツＩＤとコンテンツの配備先装置の識別子との組み合わせに遅延時間が対応付けられている場合には、この遅延時間を読み出す。一方、配備遅延データ格納部２２０５において、コンテンツＩＤとコンテンツの配備先装置の識別子との組み合わせに対して遅延時間が対応付けられていない場合には、帯域データ格納部２２０３から、配備先装置の識別子に対応付けられている帯域データを読み出して、コンテンツのサイズ／帯域データにより遅延時間を算出する。
【００８８】
そして、スケジューラ２２０２は、イベント送信開始時刻を算出する（ステップＳ７５）。本実施の形態に係るイベント送信開始時刻ｔsendは、ｔ0＋［Ｔevev−（ｔnow−ｔ0）−Ｔdeploy−Ｔevsnd］により算出する。なお、ｔ0は、トリガーイベントに含まれるイベント発生時刻であり、Ｔevevはイベント間隔であり、ｔnowは現在時刻であり、Ｔdeployはコンテンツ配備時刻である。さらに、本実施の形態では、イベント集配装置２２００とコンテンツマネージャ１００ｂとの間でトリガーイベントを送信するメッセージの伝送遅延Ｔevsndについても考慮に入れることになるので、帯域データ格納部２２０３に格納されている、イベント集配装置２２００とコンテンツマネージャ１００ｂとの間の帯域データを読み出して、トリガーイベントのデータサイズ（固定値の場合もある）／帯域データにより伝送遅延Ｔevsndを算出する。
【００８９】
その後、スケジューラ２２０２は、イベントの送信開始時刻と送信先アドレス（コンテンツマネージャ１００ｂのアドレス）とトリガーイベントのデータ本体とコンテンツの配備先装置のアドレスとユーザＩＤとコンテンツＩＤとを含む処理待ちタスクを生成して、処理待ちタスク格納部２２２０７に登録する（ステップＳ７７）。
【００９０】
このような処理を実施すれば、ユーザが見る可能性が高い表示装置に、当該表示装置にユーザが到達するまでにコンテンツデータを配備することができるようになる。その際、ユーザが見る可能性が高い表示装置にユーザが移動するまでの時間の長短に応じて、コンテンツデータの配備を指示するトリガーイベントの送信というタスクに優先度をイベント送信開始時刻として設定することになる。従って、トリガーイベントの発生順によらず早期にコンテンツデータを配備すべきトリガーイベントから処理できるようになる。また、大量のトリガーイベントの処理をコンテンツマネージャ１００ｂで行わないことになるので、コンテンツマネージャ１００ｂの処理負荷を下げることができるようになる。
【００９１】
次に、図３２を用いて送信部２２０８の処理内容を説明する。送信部２２０８は、処理待ちタスク格納部２２０７から、現在時刻がイベント送信開始時刻となった処理待ちタスクを抽出する（ステップＳ８１）。そして、送信部２２０８は、抽出された処理待ちタスクに係るトリガーイベントをメッセージとして、コンテンツマネージャ１００ｂに送信する（ステップＳ８３）。
【００９２】
ここで送信されるメッセージのフォーマットは、例えば図３３に示すようなフォーマットである。図３３の例では、メッセージは、ヘッダ部とイベントデータ部とを含む。ヘッダ部は、ＭＡＣ（Media Access Control）アドレス又はＩＰアドレスなどの送信元アドレス（Source address）及び宛先アドレス（Destination address）を含む。また、イベントデータ部は、トリガーイベントのデータ本体に含まれるイベント発生時刻と、トリガーイベントのデータ本体に含まれるイベント発生場所の識別子（センサＩＤ）と、トリガーイベントのデータ本体に含まれるユーザＩＤと、コンテンツの配備先装置のアドレス（又は識別子）と、コンテンツＩＤとを含む。
【００９３】
そして、送信部２２０８は、現在が、予め設定されているオフピーク時間等であるか否かを判断する（ステップＳ８５）。現在が、予め設定されているオフピーク時間等ではない場合には、処理を終了する。一方、現在が、予め設定されているオフピーク時間等である場合には、送信部２２０８は、処理待ちタスク格納部２２０７においてイベント送信開始時刻が登録されていない処理待ちタスクに係るトリガーイベントを、コンテンツマネージャ１００ｂに送信する（ステップＳ８７）。そして処理を終了する。
【００９４】
なお、ステップＳ８７でも、メッセージのフォーマットは図３３に示すようなフォーマットであるが、イベントデータ部におけるコンテンツの配備先装置のアドレス及びコンテンツＩＤは含まれていない。
【００９５】
このような処理を実施することで、適切なタイミングでトリガーイベントをコンテンツマネージャ１００ｂに送信できるようになる。また、オフピーク時間等においてコンテンツＩＤが特定されていないようなトリガーイベントについても、イベント間隔を算出するためのデータとしてコンテンツマネージャ１００ｂに送信できるようになる。
【００９６】
次に、図３４を用いて、コンテンツマネージャ１００ｂにおけるイベント制御部１１０ｂのトリガーイベント受信部１２１の処理内容を説明する。
【００９７】
トリガーイベント受信部１２１は、イベント集配装置２２００からトリガーイベントのメッセージ（図３３）を受信すると（ステップＳ９１）、当該トリガーイベントのデータを、トリガーイベントＤＢ１１２に格納する（ステップＳ９３）。上でも述べたように、図８に示すようなデータフォーマットでトリガーイベントのデータを格納する。
【００９８】
また、トリガーイベント受信部１２１は、受信したトリガーイベントのメッセージにコンテンツＩＤが含まれているか判断する（ステップＳ９５）。
【００９９】
コンテンツＩＤがトリガーイベントのメッセージに含まれない場合には（ステップＳ９７：Ｎｏルート）、コンテンツデータを配備しないトリガーイベントを受信したことになるので、処理を終了する。一方、コンテンツＩＤがトリガーイベントのメッセージに含まれる場合には（ステップＳ９７：Ｙｅｓルート）、トリガーイベント受信部１２１は、受信したトリガーイベントのメッセージのデータ（例えばイベントデータ部）を配備部１２７に出力する（ステップＳ９９）。そして処理を終了する。
【０１００】
このようにすれば、第１の実施の形態と同様で、イベント間隔を算出するデータを蓄積できるようになる。
【０１０１】
さらに、配備部１２７は、図３５に示すような処理を実施する。配備部１２７は、トリガーイベント受信部１２１からトリガーイベントのメッセージのデータを受信すると（ステップＳ１０１）、当該トリガーイベントのメッセージのデータに含まれるコンテンツＩＤのコンテンツをコンテンツＤＢ１６１から読み出して、図１３に示すようなコンテンツデータ及びトリガーイベントのメッセージのデータに含まれるユーザＩＤを含むメッセージを、トリガーイベントのメッセージのデータに含まれる配備先装置アドレスに対して送信する（ステップＳ１０３）。この際、コンテンツＩＤ、配備先装置アドレス、送信時刻を保持しておく。
【０１０２】
そして、配備先装置からコンテンツの受信時刻を含むＡＣＫメッセージを受信すると、配備部１２７は、受信時刻−送信時刻により実遅延時間を算出して、当該実遅延時間を、コンテンツＩＤ及び配備先装置アドレスに対応付けて、配備遅延データ格納部１１６に格納する（ステップＳ１０５）。なお、本登録するのではなく、平均値などを算出するために仮登録するような処理としても良い。
【０１０３】
このような処理を実施すれば、実態に合わせて配備遅延データ格納部１１６の内容を修正することができるようになる。
【０１０４】
次に、イベント間隔配布部１２３、配備遅延データ配布部１２４及びコンテンツ情報配布部１２５の処理内容を図３６を用いて説明する。
【０１０５】
これらの配布部は、構成データ格納部１２６に登録されているイベント集配装置２２００のうち未処理のイベント集配装置２２００を１つ選択する（ステップＳ１１１）。そして、これらの配布部は、選択されたイベント集配装置２２００へ配布すべきデータを、イベント間隔格納部１１５、配備遅延データ格納部１１６又はコンテンツＤＢ１６１から抽出する（ステップＳ１１３）。イベント間隔格納部１１５から抽出するデータは、構成データ格納部１２６に、選択されたイベント集配装置２２００の配下として登録されている位置センサについてのデータである。その他の格納部から抽出すべきデータは、基本的には全てであるが、例えば、選択されたイベント集配装置２２００の配下の位置センサを良く用いるユーザのユーザＩＤが対応付けられているデータに絞り込むことも可能である。さらに、最初は全データ配布することになるが、その後は更新のあった部分のみに限定することも可能である。
【０１０６】
そして、これらの配布部は、抽出されたデータを、選択されたイベント集配装置２２００に送信する（ステップＳ１１５）。その後、これらの配布部は、未処理のイベント集配装置２２００が存在するか判断する（ステップＳ１１７）。未処理のイベント集配装置２２００が存在する場合には処理はステップＳ１１１に戻る。一方、未処理のイベント集配装置２２００が存在しない場合には、処理を終了する。
【０１０７】
以上のような処理を、例えば定期的に実施することで、各イベント集配装置２２００で適切な処理を実施することができる。
【０１０８】
［実施の形態３］
コンテンツマネージャ１００ｂの性能が低い場合には、イベント集配装置２２００から送信するトリガーイベントのメッセージの数を削減することで、コンテンツマネージャ１００ｂの処理負荷を削減することが考えられる。しかしながら、コンテンツ配備に関係しないトリガーイベントを全てを破棄してしまうと、イベント間隔の学習が機能せず、コンテンツ事前配備が効果的に動作しない可能性がある。このため、コンテンツマネージャ１００ｂの負荷に応じてトリガーイベントの一部を破棄する処理をイベント集配装置２２００で実施する。破棄対象のトリガーイベントについては、ランダムに選択する、学習対象とするユーザ以外のユーザのイベントを選択する等、サービスの提供仕様に従ってどの方法を採用しても良い。
【０１０９】
すなわち、スケジューラ２２０２の処理（図３１）を、図３７の処理フローに変更する。
【０１１０】
スケジューラ２２０２は、受信部２２０１からトリガーイベントを受信すると（ステップＳ１２１）、当該トリガーイベントからユーザＩＤ及びイベント発生場所のセンサＩＤを抽出する（ステップＳ１２３）。そして、スケジューラ２２０２は、イベント間隔格納部２２０６から、ユーザＩＤ及びセンサＩＤに対応付けられているイベント間隔及びコンテンツの配備先装置の識別子を抽出する（ステップＳ１２５）。
【０１１１】
第１の実施の形態と同様に、イベント間隔格納部２２０６には、トリガーイベントに含まれるユーザＩＤ及びセンサＩＤに対応付けてイベント間隔等のデータが格納されていない場合もある。
【０１１２】
スケジューラ２２０２は、ステップＳ１２５でイベント間隔を抽出できたか判断し（ステップＳ１２７）、抽出できない場合には（ステップＳ１２７：Ｎｏルート）、スケジューラ２２０２は、収集するトリガーイベントであるか又は収集するタイミングであるか判断する（ステップＳ１２９）。収集するトリガーイベントであるか又は収集するタイミングである場合には、スケジューラ２２０２は、このトリガーイベントのデータを、オフピーク時間などにコンテンツマネージャ１００ｂに送信するようにデータを、処理待ちタスク格納部２２０７に格納する（ステップＳ１３１）。例えば、送信開始時刻、コンテンツ配備先装置のアドレス及びコンテンツＩＤを登録せずに、送信先アドレス（コンテンツマネージャ１００ｂのアドレス）及びトリガーイベントのデータ本体を、処理待ちタスク格納部２２０７に格納する。このように、送信開始時刻などが登録されていないトリガーイベントのデータについては、送信部２２０８が、オフピーク時間などの時間に送信するものとする。そして処理を終了する。
【０１１３】
一方、収集するトリガーイベントでもなく且つ収集するタイミングでもない場合には、スケジューラ２２０２は、このトリガーイベントを破棄する（ステップＳ１３３）。そして処理を終了する。
【０１１４】
また、イベント間隔を抽出できた場合には（ステップＳ１２７：Ｙｅｓルート）、スケジューラ２２０２は、コンテンツＤＢ２２０４から、トリガーイベントから抽出されたユーザＩＤに対応付けられているコンテンツＩＤ及びサイズを特定する（ステップＳ１３５）。
【０１１５】
そして、スケジューラ２２０２は、コンテンツ配備のための遅延時間を決定する（ステップＳ１３７）。配備遅延データ格納部２２０５において、図１０に示すように、コンテンツＩＤとコンテンツの配備先装置の識別子との組み合わせに遅延時間が対応付けられている場合には、この遅延時間を読み出す。一方、配備遅延データ格納部１１６において、コンテンツＩＤとコンテンツの配備先装置の識別子との組み合わせに対して遅延時間が対応付けられていない場合には、帯域データ格納部２２０３から、配備先装置の識別子に対応付けられている帯域データを読み出して、コンテンツのサイズ／帯域データにより遅延時間を算出する。
【０１１６】
そして、スケジューラ２２０２は、イベント送信開始時刻を算出する（ステップＳ１３９）。本実施の形態に係るイベント送信開始時刻ｔsendは、ｔ0＋［Ｔevev−（ｔnow−ｔ0）−Ｔdeploy−Ｔevsnd］により算出する。なお、ｔ0は、トリガーイベントに含まれるイベント発生時刻であり、Ｔevevはイベント間隔であり、ｔnowは現在時刻であり、Ｔdeployはコンテンツ配備時刻である。さらに、本実施の形態では、イベント集配装置２２００とコンテンツマネージャ１００ｂとの間でトリガーイベントを送信するメッセージの伝送遅延Ｔevsndについても考慮に入れることになるので、帯域データ格納部２２０３に格納されている、イベント集配装置２２００とコンテンツマネージャ１００ｂとの間の帯域データを読み出して、トリガーイベントのデータサイズ／帯域データにより伝送遅延Ｔevsndを算出する。
【０１１７】
その後、スケジューラ２２０２は、イベントの送信開始時刻と送信先アドレス（コンテンツマネージャ１００ｂのアドレス）とトリガーイベントのデータ本体とコンテンツの配備先装置のアドレスとユーザＩＤとコンテンツＩＤとを含む処理待ちタスクを生成して、処理待ちタスク格納部２２２０７に登録する（ステップＳ１４１）。
【０１１８】
このような処理を実施すれば、よりコンテンツマネージャ１００ｂの処理負荷を低下させることができるようになる。
【０１１９】
以上実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で述べた機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成とは一致しない場合もある。データ保持態様についても、実際のファイル構成などとは一致しない場合もある。さらに、処理フローについても、処理結果が変わらない限り、処理順番を入れ替えたり、並列実行できる場合もある。
【０１２０】
また、第１の実施の形態ではトリガーイベントを破棄するような処理を導入する例を示していないが、トリガーイベント受信部１２１が、トリガーイベントＤＢ１１２に登録するトリガーイベントを取捨選択するようにしても良い。
【０１２１】
また、上では駅での実施を想定した例を述べたが、例えば百貨店のビルなどにおいて実施するようにしても良い。例えば、１階入口でカードをかざしてユーザＩＤを読み取らせ、各階の表示装置でもカードをかざしてユーザＩＤを読み取らせるような実施形態にも適用可能である。さらに、テーマパークなどにおいても実施可能である。なお、トリガーイベントを発生させる位置センサがほぼ一箇所にしか存在しない場合には、センサＩＤは用いられない場合もある。
【０１２２】
さらに、コンテンツマネージャ１００及び１００ｂは、１台のコンピュータで実施する場合もあれば、複数台のコンピュータで実施する場合もある。ネットワーク構成も、図示したものは一例であって、他のネットワーク構成を採用するようにしても良い。
【０１２３】
キャッシュサーバ５００を用いる場合には、キャッシュサーバ５００とコンテンツマネージャ１００又は１００ｂとのやりとりで既にキャッシュ済みのコンテンツデータの配信を省略することも可能である。
【０１２４】
なお、上で述べたコンテンツマネージャ１００及び１００ｂは、コンピュータ装置であって、図３８に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１２５】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１２６】
本実施の形態の第１の態様に係る情報処理方法は、（Ａ）センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子と当該コンテンツの配信先の装置の識別子と当該コンテンツのデータを配信先の装置に配信するまでの時間とを特定する特定処理と、（Ｂ）特定された時間から、コンテンツの配信先の装置へのコンテンツ送信を開始する時刻又は当該コンテンツ送信を行う装置にデータ送信を開始する時刻を算出する算出処理と、（Ｃ）特定されたコンテンツの識別子及びコンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納する処理と、（Ｄ）データ格納部に格納されている時刻になると、当該時刻に関連付けられているコンテンツの識別子に対応するコンテンツのデータを当該時刻に関連付けられているコンテンツの配信先の装置の識別子に対応するコンテンツの配信先の装置に送信するか、又はコンテンツ送信を行う装置に当該時刻に関連付けられているコンテンツの識別子及びコンテンツの配信先の装置の識別子を送信する処理とを含む。
【０１２７】
このようにすれば、ユーザに応じたタイミングでユーザに応じた表示装置にてユーザに応じたコンテンツを出力できるようになる。また、ユーザに応じたタイミングでコンテンツを出力するため、コンテンツ送信を行う装置の負荷の平準化が可能となる場合もある。
【０１２８】
また、上で述べた算出処理において、特定された時間から、現在時刻とイベントデータに含まれるユーザ識別子をセンサが読み取った時刻との差とコンテンツ送信を行う装置からコンテンツの配信先の装置へのコンテンツ送信に要する時間とを差し引いた時間から、コンテンツの配信先の装置へのコンテンツ送信を開始する時刻を算出するか、又は特定された時間から、現在時刻とイベントデータに含まれるユーザ識別子をセンサが読み取った時刻との差とコンテンツ送信を行う装置からコンテンツの配信先の装置へのコンテンツ送信に要する時間とコンテンツ送信を行う装置へのデータ送信に要する時間とを差し引いた時間から、コンテンツ送信を行う装置にデータ送信を開始する時刻を算出するようにしても良い。
【０１２９】
このようにすれば適切な時刻にコンテンツ送信又はデータ送信を実施することができるようになる。
【０１３０】
また、上で述べた処理を実行するコンピュータが、コンテンツ送信を行う装置にデータ送信を行うコンピュータであれば、上で述べた特定処理が、ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、イベントデータを一旦保持して後にコンテンツ送信を行う装置に送信する処理を含むようにしても良い。このようにすれば、コンテンツ送信を行う装置は、イベント間隔等を算出するために用いるデータを、例えば処理量がピークでない時間帯などに得ることができるようになる。
【０１３１】
また、上で述べた処理を実行するコンピュータが、コンテンツ送信を行う装置にデータ送信を行うコンピュータであれば、上で述べた特定処理が、ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、当該ユーザ識別子を含むイベントデータを一旦保持して後にコンテンツ送信を行う装置に送信する処理と、当該ユーザ識別子を含むイベントデータを破棄する処理とを切り替える処理を含むようにしても良い。
【０１３２】
アプリケーションや負荷状況などに応じて切り替えることで、コンテンツ送信を行う処理の負荷を適切な状態に保つことができるようになる。
【０１３３】
さらに、上で述べたイベントデータが、センサの識別子を含んでいる場合もある。この場合、センサの識別子とユーザ識別子に、コンテンツの配信先の装置の識別子とコンテンツのデータを配信先の装置に配信するまでの時間とが対応付けられている場合もある。例えば複数の入場口などが存在する場合にも対応できるようになる。
【０１３４】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【０１３５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３６】
（付記１）
センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子と当該コンテンツの配信先の装置の識別子と当該コンテンツのデータを配信先の装置に配信するまでの時間とを特定する特定処理と、
特定された前記時間から、前記コンテンツの配信先の装置へのコンテンツ送信を開始する時刻又は当該コンテンツ送信を行う装置にデータ送信を開始する時刻を算出する算出処理と、
特定された前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納する処理と、
前記データ格納部に格納されている時刻になると、当該時刻に関連付けられている前記コンテンツの識別子に対応するコンテンツのデータを当該時刻に関連付けられている前記コンテンツの配信先の装置の識別子に対応する前記コンテンツの配信先の装置に送信するか、又は前記コンテンツ送信を行う装置に当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子を送信する処理と、
を、コンピュータに実行させるためのプログラム。
【０１３７】
（付記２）
前記算出処理において、
特定された前記時間から、現在時刻と前記イベントデータに含まれる前記ユーザ識別子を前記センサが読み取った時刻との差と前記コンテンツ送信を行う装置から前記コンテンツの配信先の装置へのコンテンツ送信に要する時間とを差し引いた時間から、前記コンテンツの配信先の装置へのコンテンツ送信を開始する時刻を算出するか、又は
特定された前記時間から、現在時刻と前記イベントデータに含まれる前記ユーザ識別子を前記センサが読み取った時刻との差と前記コンテンツ送信を行う装置から前記コンテンツの配信先の装置へのコンテンツ送信に要する時間と前記コンテンツ送信を行う装置へのデータ送信に要する時間とを差し引いた時間から、前記コンテンツ送信を行う装置にデータ送信を開始する時刻を算出する
付記１記載のプログラム。
【０１３８】
（付記３）
前記コンピュータが、前記コンテンツ送信を行う装置にデータ送信を行うコンピュータであり、
前記特定処理が、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、前記イベントデータを一旦保持して後に前記コンテンツ送信を行う装置に送信する処理
を含む付記１又は２記載のプログラム。
【０１３９】
（付記４）
前記コンピュータが、前記コンテンツ送信を行う装置にデータ送信を行うコンピュータであり、
前記特定処理が、
前記ユーザ識別子に対応付けられているコンテンツの識別子が特定されない場合には、当該ユーザ識別子を含む前記イベントデータを一旦保持して後に前記コンテンツ送信を行う装置に送信する処理と、当該ユーザ識別子を含む前記イベントデータを破棄する処理とを切り替える処理
を含む付記１又は２記載のプログラム。
【０１４０】
（付記５）
前記イベントデータが、センサの識別子を含んでおり、
前記センサの識別子と前記ユーザ識別子に、前記コンテンツの配信先の装置の識別子と前記コンテンツのデータを配信先の装置に配信するまでの時間とが対応付けられている
付記１乃至４のいずれか１つ記載のプログラム。
【０１４１】
（付記６）
データ格納部と、
センサにより読み取られたユーザ識別子を含むイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の装置へのコンテンツ送信を開始する時刻又は当該コンテンツ送信を行う装置にデータ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子と、算出された前記時刻とを関連付けて前記データ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、当該時刻に関連付けられている前記コンテンツの識別子に対応するコンテンツのデータを当該時刻に関連付けられている前記コンテンツの配信先の装置の識別子に対応する前記コンテンツの配信先の装置に送信するか、又は前記コンテンツ送信を行う装置に当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の装置の識別子を送信する送信部と、
を有する情報処理装置。
【０１４２】
（付記７）
ユーザのユーザ識別子を読み取り当該ユーザ識別子を含むイベントデータを生成するセンサと、
第１の装置と、
前記第１の装置から送信されるコンテンツのデータを格納する複数の第２の装置と、
を有し、
前記第１の装置は、
前記センサにより生成されたイベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の第２の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の第２の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の第２の装置へのコンテンツ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の第２の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、当該時刻に関連付けられている前記コンテンツの識別子に対応するコンテンツのデータを、当該時刻に関連付けられている前記コンテンツの配信先の第２の装置の識別子に対応する前記コンテンツの配信先の第２の装置に送信する送信部と、
を有するシステム。
【０１４３】
（付記８）
ユーザのユーザ識別子を読み取り当該ユーザ識別子を含むイベントデータを生成するセンサと、
前記センサから前記イベントデータを受信する第１の装置と、
前記第１の装置から前記ユーザ識別子に対応付けられているコンテンツの識別子を含むデータを受信すると、当該コンテンツの識別子に対応する前記コンテンツのデータを送信する第２の装置と、
前記第２の装置から送信される前記コンテンツのデータを格納する複数の第３の装置と、
を有し、
前記第１の装置は、
前記センサから前記イベントデータを受信すると、当該ユーザ識別子に対応付けられているコンテンツの識別子及び当該コンテンツの配信先の第３の装置の識別子を特定し、前記ユーザ識別子に対応付けられており且つコンテンツのデータを配信先の第３の装置に配信するまでの時間を特定し、特定された前記時間から、前記コンテンツの配信先の第３の装置へのコンテンツ送信を行う第２の装置にデータ送信を開始する時刻を算出し、特定された前記コンテンツの識別子及び前記コンテンツの配信先の第３の装置の識別子と、算出された前記時刻とを関連付けてデータ格納部に格納するスケジューラと、
前記データ格納部に格納されている時刻になると、当該時刻に関連付けられている前記コンテンツの識別子及び前記コンテンツの配信先の第３の装置の識別子を、前記第２の装置に送信する送信部と、
を有し、
前記第２の装置は、
前記第１の装置から受信された前記コンテンツの識別子に対応するコンテンツのデータを、前記第１の装置から受信された前記コンテンツの配信先の第３の装置の識別子に対応する第３の装置に送信する
システム。
【符号の説明】
【０１４４】
１  ネットワーク
１００  コンテンツマネージャ
２００，２２００  イベント集配装置
３００  位置センサ
４００  表示装置
【図１】
0005906950.tif 000002
【図２】
0005906950.tif 000003
【図３】
0005906950.tif 000004
【図４】
0005906950.tif 000005
【図５】
0005906950.tif 000006
【図６】
0005906950.tif 000007
【図７】
0005906950.tif 000008
【図８】
0005906950.tif 000009
【図９】
0005906950.tif 000010
【図１０】
0005906950.tif 000011
【図１１】
0005906950.tif 000012
【図１２】
0005906950.tif 000013
【図１３】
0005906950.tif 000014
【図１４】
0005906950.tif 000015
【図１５】
0005906950.tif 000016
【図１６】
0005906950.tif 000017
【図１７】
0005906950.tif 000018
【図１８】
0005906950.tif 000019
【図１９】
0005906950.tif 000020
【図２０】
0005906950.tif 000021
【図２１】
0005906950.tif 000022
【図２２】
0005906950.tif 000023
【図２３】
0005906950.tif 000024
【図２４】
0005906950.tif 000025
【図２５】
0005906950.tif 000026
【図２６】
0005906950.tif 000027
【図２７】
0005906950.tif 000028
【図２８】
0005906950.tif 000029
【図２９】
0005906950.tif 000030
【図３０】
0005906950.tif 000031
【図３１】
0005906950.tif 000032
【図３２】
0005906950.tif 000033
【図３３】
0005906950.tif 000034
【図３４】
0005906950.tif 000035
【図３５】
0005906950.tif 000036
【図３６】
0005906950.tif 000037
【図３７】
0005906950.tif 000038
【図３８】
0005906950.tif 000039