(57)【特許請求の範囲】
【請求項１】
第１のユーザの識別子と、当該第１のユーザに関連付けられたコンテンツの識別子と、前記第１のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、コンテンツをキャッシュするノードの識別子が格納されている第１のデータ格納部から、受信した前記識別データ、又は、受信した前記識別データと受信した前記第１のユーザの識別子との組み合わせに対応付けられている第１のノードの識別子を読み出す処理と、
前記第１のノード宛に、受信した前記第１のユーザの識別子と当該第１のユーザに関連付けられたコンテンツの識別子とを送信する処理と、
前記第１のノードの識別子と前記第１のユーザに関連付けられたコンテンツの識別子とを対応付けて、第２のデータ格納部に格納する処理と、
第２のユーザの識別子と、当該第２のユーザに関連付けられたコンテンツの識別子と、前記第２のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
前記第１のデータ格納部から、前記第２のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第２のユーザの識別子と当該第２のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第２のノードの識別子を読み出す処理と、
前記第２のデータ格納部に、前記第２のユーザに関連付けられたコンテンツの識別子に対応付けられている第３のノードの識別子が格納されているか判断する処理と、
前記第２のデータ格納部に前記第３のノードの識別子が格納されている場合には、前記第２のノード宛に、前記第２のユーザの識別子と前記第２のユーザに関連付けられたコンテンツの識別子と前記第３のノードから当該第２のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第１の通知、又は前記第２のユーザの識別子と前記第３のノードが取得元として設定され且つ前記第２のユーザに関連付けられたコンテンツの識別子とを含む第２の通知を送信する処理と、
を、コンピュータに実行させるためのプログラム。
【請求項２】
前記第１のユーザに関連付けられたコンテンツの識別子の送信先であるノードから、前記第１のユーザに関連付けられたコンテンツをキャッシュしないことを表す第３の通知を受信した場合に、前記送信先であるノードに予め関連付けられている他のノード宛に、前記第１のユーザに関連付けられたコンテンツの識別子を含むキャッシュ要求を送信する処理
をさらに、前記コンピュータに実行させるための請求項１記載のプログラム。
【請求項３】
前記第１のユーザの識別子と前記第１のユーザの識別子を読み取った第２のセンサに関する第２の識別データとを受信する処理と、
受信した前記識別データと前記第２の識別データとが異なる場合には、前記第１のノード宛に、前記第１のユーザの識別子を含むデータ削除要求を送信する処理と、
をさらに、前記コンピュータに実行させるための請求項１又は２記載のプログラム。
【請求項４】
前記第１のユーザの識別子と、当該第１のユーザに関連付けられたコンテンツの識別子と、前記第１のユーザの識別子を読み取ったセンサに関する識別データとを受信する際に、更に、前記コンテンツの出力条件を受信し、
前記第１のノード宛に、受信した前記第１のユーザの識別子と当該第１のユーザに関連付けられたコンテンツの識別子とを送信する際に、更に、前記コンテンツの出力条件を送信する
請求項１乃至３のいずれか１つ記載のプログラム。
【請求項５】
第１のユーザの識別子と当該第１のユーザに関連付けられたコンテンツの識別子と前記第１のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
センサに関する識別データ、又は、当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、コンテンツをキャッシュするノードの識別子が格納されている第１のデータ格納部から、受信した前記識別データ、又は、受信した前記識別データと受信した前記第１のユーザの識別子との組み合わせに対応付けられている第１のノードの識別子を読み出す処理と、
前記第１のノード宛に、受信した前記第１のユーザの識別子と当該第１のユーザに関連付けられたコンテンツの識別子とを送信する処理と、
前記第１のノードの識別子と前記第１のユーザに関連付けられたコンテンツの識別子とを対応付けて、第２のデータ格納部に格納する処理と、
第２のユーザの識別子と、当該第２のユーザに関連付けられたコンテンツの識別子と、前記第２のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
前記第１のデータ格納部から、前記第２のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第２のユーザの識別子と当該第２のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第２のノードの識別子を読み出す処理と、
前記第２のデータ格納部に、前記第２のユーザに関連付けられたコンテンツの識別子に対応付けられている第３のノードの識別子が格納されているか判断する処理と、
前記第２のデータ格納部に前記第３のノードの識別子が格納されている場合には、前記第２のノード宛に、前記第２のユーザの識別子と前記第２のユーザに関連付けられたコンテンツの識別子と前記第３のノードから当該第２のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第１の通知、又は前記第２のユーザの識別子と前記第３のノードが取得元として設定され且つ前記第２のユーザに関連付けられたコンテンツの識別子とを含む第２の通知を送信する処理と、
が、コンピュータにより実行される制御方法。
【請求項６】
第１のユーザの識別子と、当該第１のユーザに関連付けられたコンテンツの識別子と、前記第１のユーザの識別子を読み取ったセンサに関する識別データとを受信する第１の受信部と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、コンテンツをキャッシュするノードの識別子が格納されている第１のデータ格納部と、
前記第１のデータ格納部から、受信した前記識別データ、又は、受信した前記識別データと受信した前記第１のユーザの識別子との組み合わせに対応付けられている第１のノードの識別子を特定する第１の特定部と、
前記第１のノード宛に、受信した前記第１のユーザの識別子と当該第１のユーザに関連付けられたコンテンツの識別子とを送信する第１の送信部と、
前記第１のノードの識別子と前記第１のユーザに関連付けられたコンテンツの識別子とを対応付けて、第２のデータ格納部に格納する格納処理部と、
第２のユーザの識別子と、当該第２のユーザに関連付けられたコンテンツの識別子と、前記第２のユーザの識別子を読み取ったセンサに関する識別データとを受信する第２の受信部と、
前記第１のデータ格納部から、前記第２のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第２のユーザの識別子と当該第２のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第２のノードの識別子を特定する第２の特定部と、
前記第２のデータ格納部に、前記第２のユーザに関連付けられたコンテンツの識別子に対応付けられている第３のノードの識別子が格納されているか判断する判断部と、
前記第２のデータ格納部に前記第３のノードの識別子が格納されている場合には、前記第２のノード宛に、前記第２のユーザの識別子と前記第２のユーザに関連付けられたコンテンツの識別子と前記第３のノードから当該第２のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第１の通知、又は前記第２のユーザの識別子と前記第３のノードが取得元として設定され且つ前記第２のユーザに関連付けられたコンテンツの識別子とを含む第２の通知を送信する第２の送信部と、
を有する制御装置。
【請求項７】
制御装置と、
表示装置に接続されており、当該表示装置に出力すべきコンテンツを予めキャッシュする複数のノードと、
を有し、
前記制御装置は、
第１のユーザの識別子と、当該第１のユーザに関連付けられたコンテンツの識別子と、前記第１のユーザの識別子を読み取ったセンサに関する識別データとを受信する第１の受信部と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、ノードの識別子が格納されている第１のデータ格納部と、
前記第１のデータ格納部から、受信した前記識別データ、又は、受信した前記識別データと受信した前記第１のユーザの識別子との組み合わせに対応付けられている第１のノードの識別子を特定する第１の特定部と、
前記第１のノード宛に、受信した前記第１のユーザの識別子と当該第１のユーザに関連付けられたコンテンツの識別子とを送信する第１の送信部と、
前記第１のノードの識別子と前記第１のユーザに関連付けられたコンテンツの識別子とを対応付けて、第２のデータ格納部に格納する格納処理部と、
第２のユーザの識別子と、当該第２のユーザに関連付けられたコンテンツの識別子と、前記第２のユーザの識別子を読み取ったセンサに関する識別データとを受信する第２の受信部と、
前記第１のデータ格納部から、前記第２のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第２のユーザの識別子と当該第２のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第２のノードの識別子を特定する第２の特定部と、
前記第２のデータ格納部に、前記第２のユーザに関連付けられたコンテンツの識別子に対応付けられている第３のノードの識別子が格納されているか判断する第１の判断部と、
前記第２のデータ格納部に前記第３のノードの識別子が格納されている場合には、前記第２のノード宛に、前記第２のユーザの識別子と前記第２のユーザに関連付けられたコンテンツの識別子と前記第３のノードから当該第２のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第１の通知、又は前記第２のユーザの識別子と前記第３のノードが取得元として設定され且つ前記第２のユーザに関連付けられたコンテンツの識別子とを含む第２の通知を送信する第２の送信部と、
有し、
前記複数のノードの各々が、
前記制御装置から、第３のユーザの識別子と当該第３のユーザに関連付けられたコンテンツの識別子とを受信し、前記第３のユーザの識別子と前記第３のユーザに関連付けられたコンテンツの識別子とを対応付けて第３のデータ格納部に格納する第３の受信部と、
前記第３のユーザに関連付けられたコンテンツの識別子を用いて、前記第３のユーザに関連付けられたコンテンツを取得して、前記第３のデータ格納部に格納する取得部と、
前記ノードに接続されている表示装置から、前記第３のユーザの識別子を受信し、受信した前記第３のユーザの識別子に対応付けられている識別子のコンテンツを、前記第３のデータ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する第１の出力処理部と、
を有するシステム。
【請求項８】
コンテンツを管理する管理装置
をさらに有し、
前記複数のノードの各々の前記取得部が、
前記管理装置から、前記第３のユーザに関連付けられたコンテンツのデータ量を表すデータを受信し、
前記データ量が所定量以上である場合に、前記管理装置から前記第３のユーザに関連付けられたコンテンツを取得する
請求項７記載のシステム。
【請求項９】
前記複数のノードの各々が、
第４のユーザの識別子を含むデータ削除要求を受信した場合、前記第３のデータ格納部において前記第４のユーザの識別子に対応付けられている前記コンテンツの識別子を特定する第３の特定部と、
特定された前記コンテンツの識別子が、前記第３のデータ格納部において前記第４のユーザ以外のユーザの識別子に対応付けられているか判断する第３の判断部と、
特定された前記コンテンツの識別子が、前記第３のデータ格納部において前記第４のユーザ以外のユーザの識別子に対応付けられていない場合には、前記第４のユーザの識別子と前記コンテンツの識別子とを対応付けるデータと、特定された前記コンテンツの識別子から特定されるコンテンツのデータとを前記第３のデータ格納部から削除する削除部と、
をさらに有する請求項７又は８記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、コンテンツのデータを分散してキャッシュするための技術に関する。
【背景技術】
【０００２】
例えば、行動ターゲッティング広告システムのような、ユーザの属性や状況に応じて適切な広告配信をするようなシステムによって、お勧めの広告を表示するシステムが求められている。
【０００３】
このようなシステムでは、リアルタイムにコンテンツを配信して表示することが求められる。例えば駅構内に設置された自動販売機で広告を見せようとした場合、ユーザは数秒程度しかパネルを見ないため、以下のような一連の処理を数秒で終わらせないと、ユーザに見てもらえない。具体的には、ユーザＩＤが入力されると、表示すべきコンテンツを決定して、そのコンテンツを自動販売機に配信して自動販売機の表示装置に表示する。
【０００４】
しかし、遠方のデータセンタ１カ所に集めたサーバ資源を利用して、表示すべきコンテンツを決定してそのコンテンツを自動販売機等に配信する処理を行う場合、通信の遅延、トラフィック集中によるネットワーク及びサーバ負荷の集中が問題になる。
【０００５】
この解決方法として、分散キャッシュ技術の適用が考えられる。例えば、複数のクライアントが接続されたキャッシュサーバと、当該複数のキャッシュサーバを制御する制御サーバとを有するシステムを用意する。そして、制御サーバは、キャッシュサーバに対して将来アクセス要求されるデータを予測し、当該予測されたデータに対して現在アクセス要求の無いキャッシュサーバへ、当該予測されたデータをコピーするものである。これによって、データへのアクセスを高速化し、サーバの負荷を削減できる。但し、予測はアクセス履歴によって行われるので、アクセスがこれまで無かったコンテンツについてはキャッシュサーバにコピーされることはない。コピーされていないコンテンツを表示する際には、遠隔地に蓄積されているコンテンツを取得してから表示することになるので、時間がかかってしまう。
【０００６】
一方、入力の手間をかけずに、人それぞれの地域密着度や訪問予定、あるいは他の個人のプロフィールや趣味及び嗜好を考慮して、より個人にマッチした地域情報を提供する技術が存在している。具体的には、（Ａ）移動する個人あるいは物の位置情報と時刻情報を同時に取得し、（Ｂ）取得した位置情報と時刻情報の集合から時間軸を有する移動範囲を抽出し、（Ｃ）地域情報を取得し、（Ｄ）移動範囲情報と地域情報をマッチングし、（Ｅ）マッチングさせた情報を提示する。
【０００７】
さらに、広告を表示する複数の表示装置と、ユーザの携帯端末に蓄積された商品の購入履歴の情報を基にユーザ用の広告を選択し表示装置に配信する広告配信装置とを有する広告配信システムが知られている。このシステムにおいては、表示装置が、その近傍に存在するユーザの携帯端末から購入履歴を含む情報を受信し、受信した情報を購入履歴及びユーザの所在を示すユーザ位置情報として広告配信装置に送信する。広告配信装置が、携帯端末から購入履歴及びユーザ位置情報を受信し、当該履歴を複数個解析し、購入履歴から広告として表示すべき商品の情報を抽出する。そして、抽出した商品の情報から広告として表示する商品を選択し、当該商品に係る広告を、当該広告のコンテンツを格納した広告リポジトリから取得する。その後、ユーザ位置情報を基に、ユーザが次に接近する表示装置を割り出し、広告リポジトリから取得した広告のコンテンツを、当該割り出した表示装置に送信する。しかしながら、キャッシュの利用を考慮したものではないので、表示の遅延の問題が発生する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１０９７０号公報
【特許文献２】特開２００４−１０２９５０号公報
【特許文献３】特開２００９−２１０８８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本技術の目的は、一側面として、ユーザに提示する可能性のあるコンテンツを早期にキャッシュできるようにするための技術を提供することである。
【課題を解決するための手段】
【００１０】
本技術の第１の態様に係る制御方法は、（Ａ）ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、ユーザの識別子を読み取ったセンサに関する識別データとを受信するステップと、（Ｂ）センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された識別データ、又は、受信された識別データと受信されたユーザの識別子との組み合わせに対応付けられているノードの識別子を読み出すステップと、（Ｃ）識別子が読み出されたノード宛に、受信されたユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信するステップとを含む。
【００１１】
本技術の第２の態様に係る制御方法は、（Ａ）第２のコンピュータから、ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを受信し、ユーザの識別子とユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納するステップと、（Ｂ）ユーザに関連付けられたコンテンツの識別子を用いて、第３のコンピュータからユーザに関連付けられたコンテンツを取得して、データ格納部に格納するステップと、（Ｃ）本制御方法を実行する第１のコンピュータに接続されている表示装置から、ユーザの識別子と状態データとを受信するステップと、（Ｄ）受信された状態データが充足する出力条件とユーザの識別子とに対応付けられている識別子のコンテンツを、データ格納部から読み出し、読み出されたコンテンツを、表示装置に出力するステップとを含む。
【発明の効果】
【００１２】
ユーザに提示する可能性のあるコンテンツを早期にキャッシュできるようになる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第１の実施の形態に係るシステム概要を示す図である。
【図２】図２は、第１の実施の形態に係る制御装置の機能ブロック図である。
【図３】図３は、制御装置のデータ格納部に格納されるデータの一例を示す図である。
【図４】図４は、制御装置のデータ格納部に格納されるデータの一例を示す図である。
【図５】図５は、第１の実施の形態に係るノードの機能ブロック図である。
【図６】図６は、第１の実施の形態における処理の処理フローを示す図である。
【図７】図７は、第１の実施の形態における処理の処理フローを示す図である。
【図８】図８は、第２の実施の形態に係るシステム概要を示す図である。
【図９】図９は、第２の実施の形態に係る制御装置の機能ブロック図である。
【図１０】図１０は、ノード配置テーブルの一例を示す図である。
【図１１】図１１は、ユーザ位置テーブルの一例を示す図である。
【図１２】図１２は、関連付けデータテーブルの一例を示す図である。
【図１３】図１３は、第２の実施の形態に係る中継ノードの機能ブロック図を示す図である。
【図１４】図１４は、第２の実施の形態における受信処理の処理フローを示す図である。
【図１５】図１５は、第２の実施の形態における決定処理の処理フローを示す図である。
【図１６】図１６は、キャッシュデータテーブルの一例を示す図である。
【図１７】図１７は、第２の実施の形態における配布処理の処理フローを示す図である。
【図１８】図１８は、定義データの一例を示す図である。
【図１９】図１９は、中継ノードにおける受信部による処理の処理フローを示す図である。
【図２０】図２０は、キャッシュ更新処理の処理フローを示す図である。
【図２１】図２１は、キャッシュテーブルの一例を示す図である。
【図２２】図２２は、第２の実施の形態における中継ノード及び表示装置の処理を説明するための図である。
【図２３】図２３は、第２の実施の形態における中継ノード及び表示装置の処理を説明するための図である。
【図２４】図２４は、第４の実施の形態に係る制御装置の機能ブロック図である。
【図２５】図２５は、第４の実施の形態における受信処理の処理フローを示す図である。
【図２６】図２６は、キャッシュ配布先テーブルの一例を示す図である。
【図２７】図２７は、第４の実施の形態における決定処理の処理フローを示す図である。
【図２８】図２８は、第４の実施の形態における配布処理の処理フローを示す図である。
【図２９】図２９は、第５の実施の形態における中継ノード及び表示装置の処理の処理フローを示す図である。
【図３０】図３０は、第６の実施の形態における処理を説明するための図である。
【図３１】図３１は、第６の実施の形態におけるノード配置テーブルの一例を示す図である。
【図３２】図３２は、第７の実施の形態における配布処理の処理フローを示す図である。
【図３３】図３３は、第７の実施の形態における配布処理の処理フローを示す図である。
【図３４】図３４は、第８の実施の形態における受信処理の処理フローを示す図である。
【図３５】図３５は、第８の実施の形態に係るユーザ位置テーブルの一例を示す図である。
【図３６】図３６は、第８の実施の形態に係る関連付けデータテーブルの一例を示す図である。
【図３７】図３７は、第８の実施の形態における決定処理の処理フローを示す図である。
【図３８】図３８は、第８の実施の形態における配布処理の処理フローを示す図である。
【図３９】図３９は、削除処理の処理フローを示す図である。
【図４０】図４０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１４】
［実施の形態１］
図１に、本実施の形態のシステム概要を示す。例えばデータセンタ１０００には、分析装置１１００と、制御装置１２００と、サーバ１３００とが配置されている。分析装置１１００は、ユーザＩＤに対応付けて配信すべきコンテンツのＩＤを格納するデータベース（ＤＢ）１１０１を有する。また、サーバ１３００は、コンテンツを格納するコンテンツ格納部１３０１を管理している。データセンタ１０００は、インターネットなどのネットワーク３０００を介して１又は複数のエリア（図１ではエリアＡのみ示す）に設置されたセンサ及びノードに接続されている。
【００１５】
各エリアには、１又は複数のセンサ１５００と、ユーザに提示すべきコンテンツをキャッシュする１又は複数のノード１６０１及び１６０２と、ノード１６０１及び１６０２のいずれかに接続されている表示装置１７０１乃至１７０３とが設置されている。各ノードには、１又は複数の表示装置が接続されている。センサ１５００は、ユーザが有する例えば非接触式ＩＣ（Integrated Circuit）カードなどからユーザＩＤを読み出し、センサ１５００が設置されているエリアの識別子（ＩＤ）（又はセンサ１５００の識別子）と共に、ネットワーク３０００を介して分析装置１１００に出力する。ノード１６０１及び１６０２は、制御装置１２００からの指示に応じてサーバ１３００からコンテンツのデータを取得してキャッシュする。表示装置１７０１乃至１７０３は、エリア内のセンサ１５００とは異なる位置に配置されている。センサ１５００は、例えばエリアの入り口などに配置されており、表示装置１７０１乃至１７０３は、エリア内でユーザが立ち止まるような場所に配置される。また、表示装置１７０１乃至１７０３は、ユーザが有する非接触式ＩＣカードからユーザＩＤを読み取るセンサを有している。他のセンサを有する場合もある。例えば表示装置１７０１は、ユーザＩＤを読み取ると、接続されているノード１６０１に当該ユーザＩＤを出力する。これに対して、ノード１６０１は、ユーザＩＤに対応付けられているコンテンツのデータをキャッシュから特定し、表示装置１７０１に出力する。表示装置１７０１は、コンテンツのデータを受信すると、表示する。
【００１６】
図２に、本実施の形態における制御装置１２００の機能ブロック図を示す。制御装置１２００は、受信部１２１０と、データ格納部１２２０と、ノード特定部１２３０と、送信部１２４０とを有する。受信部１２１０は、分析装置１１００から、ユーザＩＤとエリアＩＤとユーザＩＤに対応付けられているコンテンツのＩＤとを受信し、ノード特定部１２３０に出力する。ノード特定部１２３０は、エリアＩＤ又はエリアＩＤ及びユーザＩＤの組み合わせで、データ格納部１２２０を検索して、該当するノードＩＤを読み出して、ユーザＩＤ及びコンテンツＩＤの組み合わせとノードＩＤとを、送信部１２４０に出力する。送信部１２４０は、ユーザＩＤ及びコンテンツＩＤの組み合わせを、ノードＩＤで特定されるノードに対して送信する。
【００１７】
データ格納部１２２０は、例えば図３に示すようなデータを格納している。図３の例では、エリアＩＤに対応付けて、当該エリアに配置されているノードのＩＤが登録されている。なお、データ格納部１２２０は、例えば図４に示すようなデータが格納されている場合もある。エリアＩＤとユーザＩＤとの組み合わせに対応付けてノードＩＤが登録されている。例えば、あるエリアＡにユーザＸが来た場合には、ノードａ２を利用する可能性が高いことが知られている場合には、このようなデータを用いるようにしても良い。
【００１８】
また、図５に、本実施の形態におけるノード１６０１の機能ブロック図を示す。ノード１６０１は、受信部１６５１と、データ格納部１６５２と、取得部１６５３と、出力処理部１６５４とを有する。受信部１６５１は、制御装置１２００から、ユーザＩＤとコンテンツＩＤの組み合わせを受信すると、データ格納部１６５２に格納する。取得部１６５３は、データ格納部１６５２に新たなコンテンツＩＤが格納されると、サーバ１３００から当該コンテンツＩＤのコンテンツのデータを取得して、データ格納部１６５２に格納する。これによって、ノード１６０１におけるキャッシュの準備ができたことになる。そして、出力処理部１６５４は、表示装置１７０１からユーザＩＤを受信すると、データ格納部１６５２を当該ユーザＩＤで検索して対応付けられているコンテンツＩＤを特定し、当該コンテンツＩＤのコンテンツのデータを読み出して、表示装置１７０１に出力する。
【００１９】
次に、図６及び図７を用いて、本システムの処理について説明する。ユーザが、エリアＡの例えば入り口に設置されているセンサ１５００の場所に来て、ＩＣカードなどをセンサ１５００にかざす動作を行ったものとする。そうすると、センサ１５００が、ユーザが保持するＩＣカードなどからユーザＩＤを読み取り（図６：ステップＳ１）、読み取ったユーザＩＤとセンサ１５００が属するエリアＩＤ（場合によってはセンサ１５００のＩＤ）を、分析装置１２００に送信する（ステップＳ３）。分析装置１２００は、センサ１５００から、ユーザＩＤ及びエリアＩＤを受信すると（ステップＳ５）、ユーザＩＤでＤＢ１１０１を検索して、当該ユーザＩＤに対応付けられているコンテンツＩＤを抽出する（ステップＳ７）。なお、コンテンツＩＤには出力条件（例えば温度条件）が付与されている場合もあり、このような場合にはコンテンツＩＤと出力条件とを併せて抽出する。例えば、気温が高い場合にはコンテンツＰを気温が低い場合にはコンテンツＱを出力する場合には、２つのコンテンツＩＤがそれぞれの出力条件と共に抽出される。また、センサ１５００からセンサのＩＤを受信した場合には、センサＩＤとエリアＩＤとの対応付けから、受信したセンサＩＤをエリアＩＤに変換することもある。
【００２０】
そして、分析装置１１００は、ユーザＩＤとエリアＩＤとコンテンツＩＤとを、制御装置１２００に送信する（ステップＳ９）。制御装置１２００の受信部１２１０は、分析装置１１００から、ユーザＩＤ、エリアＩＤ及びコンテンツＩＤを受信すると（ステップＳ１１）、ノード特定部１２３０に、ユーザＩＤ、エリアＩＤ及びコンテンツＩＤを出力する。ノード特定部１２３０は、データ格納部１２２０において、エリアＩＤ又はエリアＩＤ及びユーザＩＤの組み合わせに対応付けられている１又は複数のノードＩＤを特定し、ユーザＩＤ、コンテンツＩＤ及びノードＩＤを送信部１２４０に出力する（ステップＳ１３）。そして処理は端子Ａを介して図７の処理に移行する。
【００２１】
図７の処理の説明に移行して、制御装置１２００の送信部１２４０は、ノード特定部１２３０から取得したノードＩＤから特定されるノード宛に、ユーザＩＤ及びコンテンツＩＤの組み合わせを送信する（ステップＳ１５）。例えば、エリアＡのノード１６０１の受信部１６５１は、制御装置１２００からユーザＩＤ及びコンテンツＩＤの組み合わせを受信すると、データ格納部１６５２に格納する（ステップＳ１７）。そうすると、取得部１６５３は、新たにデータ格納部１６５２に格納されたコンテンツＩＤに係るコンテンツのデータがデータ格納部１６５２に格納されているか確認する。当該コンテンツのデータがデータ格納部１６５２に格納されていない場合には、取得部１６５３は、当該コンテンツＩＤに係るコンテンツの要求をサーバ１３００に送信する（ステップＳ１９）。サーバ１３００は、ノード１６０１から、コンテンツＩＤを含むコンテンツの要求を受信すると（ステップＳ２１）、コンテンツ格納部１３０１から当該コンテンツのデータを読み出して、ノード１６０１に送信する（ステップＳ２３）。ノード１６０１の取得部１６５３は、サーバ１３００からコンテンツのデータを受信すると、データ格納部１６５２に格納する（ステップＳ２５）。このような処理を実施することで、ユーザが表示装置１７０１乃至１７０３のところまで移動してきた時には、データ格納部１６５２に、予めコンテンツがキャッシュされているので、適切なコンテンツを、直ぐにユーザに提示できるようになる。
【００２２】
すなわち、表示装置１７０１が、ユーザのＩＣカードなどからユーザＩＤを読み取り、接続されているノード１６０１に送信する（ステップＳ３１）。ノード１６０１の出力処理部１６５４は、表示装置１７０１からユーザＩＤを受信すると（ステップＳ３３）、データ格納部１６５２において、受信されたユーザＩＤに対応付けられているコンテンツＩＤを特定する（ステップＳ３５）。ここで、コンテンツＩＤを表示装置１７０１に戻すようにして、再度表示装置１７０１からコンテンツＩＤに係るコンテンツの要求があった場合に、以下の処理を実施するようにしても良い。
【００２３】
そして、出力処理部１６５４は、特定されたコンテンツＩＤに係るコンテンツのデータを、データ格納部１６５２から読み出し、要求元の表示装置１７０１に送信する（ステップＳ３７）。そして、表示装置１７０１は、ノード１６０１からコンテンツのデータを受信すると、当該コンテンツのデータを表示部に表示する（ステップＳ３９）。
【００２４】
以上のような処理を実施することで、センサ１５００の周辺に設置されている又は関連する位置に配置されている表示装置１７０１乃至１７０３に接続されているノード１６０１及び１６０２に、センサ１５００で入場が検出されたユーザのためのデータを予めキャッシュするように準備する。そのため、ユーザが表示装置１７０１に到着したことを検出した場合には、当該表示装置１７０１に直ぐに適切なコンテンツを提示することができるようになる。
【００２５】
なお、表示装置１７０１に温度センサなどが搭載されており、当該温度センサからの状態データを、ユーザＩＤと共にノード１６０１に出力する場合には、ユーザＩＤと、状態データが充足する出力条件とに対応付けられているコンテンツＩＤを特定して、当該コンテンツＩＤに係るコンテンツを、表示装置１７０１に送信するようにしても良い。
【００２６】
［実施の形態２］
本実施の形態に係るシステムの概要を図８に示す。例えばデータセンタ１００には、分析装置１１０と、制御装置１２０と、コンテンツサーバ１３０とが配置されている。分析装置１１０は、ユーザＩＤに対応付けて出力条件及び出力すべきコンテンツのＩＤを格納するデータベース（ＤＢ）１１１を有する。また、コンテンツサーバ１３０は、コンテンツを格納するコンテンツ格納部１３１を管理している。データセンタ１００は、インターネットなどのネットワーク３００を介して１又は複数の駅（図８では駅Ａのみ示す）に設置された改札機２１０及び中継ノード２２１及び２２２に接続されている。なお、駅だけではなく、商店街、ショッピングセンター、百貨店、スーパーマーケット、遊園地、動物園その他の商業施設などであってもよい。
【００２７】
例えば各駅には、１又は複数の改札機２１０と、ユーザに提示すべきコンテンツをキャッシュする１又は複数の中継ノード２２１及び２２２と、中継ノード２２１及び２２２のいずれかに接続されている表示装置２３１乃至２３３とが設置されている。各中継ノードには、１又は複数の表示装置が接続されている。改札機２１０は、ユーザが有する例えば非接触式ＩＣカードなどからユーザＩＤを読み出し、改札機２１０が設置されている駅の識別子（ＩＤ）（又は改札機２１０の識別子）と共に、ネットワーク３００を介して分析装置１１０に出力する。
【００２８】
中継ノード２２１及び２２２は、制御装置１２０からの指示に応じてコンテンツサーバ１３０からコンテンツのデータを取得してキャッシュする。表示装置２３１乃至２３３は、改札機２１０とは異なる位置に配置されている。
【００２９】
改札機２１０は、駅構内への入退場を検出できる位置に配置されており、表示装置２３１乃至２３３は、駅構内でユーザが立ち止まるような場所に配置される。また、表示装置２３１乃至２３３は、ユーザが有する非接触式ＩＣカードからユーザＩＤを読み取るセンサと、温度センサなどの他のセンサとを有する。例えば表示装置２３１は、ユーザＩＤを読み取ると、温度センサなどの他のセンサから状態データを取得し、接続されている中継ノード２２１に当該ユーザＩＤ及び状態データを出力する。これに対して、中継ノード２３１は、ユーザＩＤと状態データが充足する出力条件に対応付けられているコンテンツのデータをキャッシュから読み出して、表示装置２３１に出力する。表示装置２３１は、コンテンツのデータを受信すると、表示部に表示する。
【００３０】
図９に、制御装置１２０の機能ブロック図を示す。制御装置１２０は、受信部１２１と、ノード配置テーブル１２２と、ユーザ位置テーブル１２３と、関連付けデータテーブル１２４と、決定処理部１２５と、キャッシュデータテーブル１２６と、配布部１２７とを有する。受信部１２１は、分析装置１１０からデータを受信し、ユーザ位置テーブル１２３又は関連付けデータテーブル１２４に格納する。ユーザ位置テーブル１２３は、各ユーザの位置データを格納するテーブルである。関連付けデータテーブル１２４は、ユーザＩＤと、出力条件と、コンテンツＩＤとの関連付けデータを格納するテーブルである。決定処理部１２５は、ノード配置テーブル１２２、ユーザ位置テーブル１２３及び関連付けデータテーブル１２４から、中継ノードのノードＩＤと当該中継ノードにキャッシュすべきコンテンツのＩＤとの対応付けを、キャッシュデータテーブル１２６に格納する。配布部１２７は、関連付けデータテーブル１２４と、ユーザ位置テーブル１２３と、ノード配置テーブル１２２とから、関連付けデータを含む定義データを生成し、当該定義データの配布先ノードを特定して、定義データを当該配布先ノードに送信する。
【００３１】
図１０に、ノード配置テーブル１２２の一例を示す。図１０の例では、中継ノードのＩＤであるノードＩＤと、改札機が設置されている駅（一般的にはユーザＩＤを読み取るセンサが設置されているエリア）のＩＤであるLocationIDとが対応付けて格納されている。例えば、駅Ａを表すLocationIDであるStationAに対応付けて、ノードＩＤであるＡ１及びＡ２が登録されている。
【００３２】
図１１に、ユーザ位置テーブル１２３の一例を示す。図１１の例では、ユーザの識別子であるユーザＩＤと、改札機が設置されている駅のＩＤであるLocationIDと、最新更新日時とが登録されるようになっている。ここではユーザＩＤ毎に、LocationIDと最新更新日時とを登録するようになっているが、移動の履歴を蓄積するようにしても良い。
【００３３】
図１２に、関連付けデータテーブル１２４の一例を示す。図１２の例では、ユーザＩＤと、コンテンツの識別子であるＣＩＤと、出力条件とが対応付けて格納されている。例えば温度が２５度未満という条件を表すtemp=coldという出力条件が満たされる場合には、ユーザＩＤがＵｓｅｒＡのユーザに対しては、ＣＩＤがＸであるコンテンツを出力し、温度が２５度以上という条件を表すtemp=hotという出力条件が満たされる場合には、同じユーザに対して、ＣＩＤがＹであるコンテンツを出力するような関連付けデータが登録されている。なお、ＣＩＤは、例えばＵＲＬ（Uniform Resource Locator）で表される。すなわち、ＣＩＤには、当該コンテンツの取得元サーバのアドレスが含まれる。
【００３４】
次に、図１３に、中継ノード２２１乃至２２２の機能ブロック図を示す。中継ノード２２１は、受信部２２１１と、キャッシュ制御部２２１２と、キャッシュデータ格納部２２１３と、出力処理部２２１４とを有する。受信部２２１１は、制御装置１２０から関連付けデータを含む定義データを受信して、キャッシュ制御部２２１２に出力する。キャッシュ制御部２２１２は、受信部２２１１から定義データを受け取ると、キャッシュデータ格納部２２１３に格納する。また、キャッシュ制御部２２１２は、キャッシュデータ格納部２２１３に、定義データに含まれるＣＩＤに係るコンテンツのデータが格納されていない場合には、コンテンツサーバ１３０又は他の中継ノードなどからコンテンツのデータを取得して、キャッシュデータ格納部２２１３に格納する。なお、キャッシュ制御部２２１２は、定義データ自体もキャッシュデータ格納部２２１３に格納されていない場合には、分析装置１１０から関連付けデータを取得することもある。さらに、出力処理部２２１４は、表示装置２３１からのユーザＩＤ及び状態データに応じて、キャッシュデータ格納部２２１３において、当該ユーザＩＤに係るユーザに現在適切とされるコンテンツを特定して、表示装置２３１に出力する。なお、キャッシュデータ格納部２２１３においてデータが不足している場合には、出力処理部２２１４は、キャッシュ制御部２２１２に要求する。
【００３５】
次に、図１４乃至図２３を用いて、制御装置１２０における処理を説明する。まず、図１４に、制御装置１２０の受信部１２１の処理の処理フローを示す。この処理の前に、改札機２１０は、ユーザが保持するＩＣカードなどからユーザＩＤを読み出し、当該ユーザＩＤとLocationIDとを分析装置１１０に送信する。分析装置１１０は、受信したユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータをＤＢ１１１から読み出し、ユーザＩＤ及びLocationIDと、ユーザＩＤ、ＣＩＤ及び出力条件のデータとを、制御装置１２０に送信する。
【００３６】
そして、制御装置１２０の受信部１２１は、分析装置１１０からデータを受信すると（図１４：ステップＳ１０１）、当該データがユーザ位置データであるか判断する（ステップＳ１０３）。本実施の形態では、ユーザＩＤとLocationIDとを含むユーザ位置データと、ユーザＩＤとＣＩＤと出力条件のデータとを含む関連付けデータとが、分析装置１１０から送信される。受信したデータがユーザ位置データであれば、受信部１２１は、ユーザ位置テーブル１２３において、受信したユーザＩＤに対応付けて、受信したLocationIDを登録すると共に、現在時刻を最新更新日時として登録する（ステップＳ１０５）。既に、受信したユーザＩＤが登録されている場合には、当該ユーザＩＤのエントリを、受信したLocationID及び現在時刻で更新する。一方、受信したデータが関連付けデータであれば、受信部１２１は、ユーザＩＤとＣＩＤと出力条件のデータとで、関連付けデータテーブル１２４を更新する（ステップＳ１０７）。例えば、ユーザＩＤとＣＩＤと出力条件のデータとを、関連付けデータテーブル１２４に追加登録する。但し、受信したユーザＩＤについてのレコードが既に登録されている場合には、上書き更新を行うようにしても良い。
【００３７】
次に、図１５に、制御装置１２０の決定処理部１２５の処理の処理フローを示す。決定処理部１２５は、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（図１５：ステップＳ１１１）。また、決定処理部１２５は、関連付けデータテーブル１２４から、更新に係るユーザＩＤに対応付けられているＣＩＤを特定する（ステップＳ１１３）。そして、決定処理部１２５は、ノード配置テーブル１２２から、LocationIDに対応付けられているノードＩＤを特定する（ステップＳ１１５）。
【００３８】
また、決定処理部１２５は、中継ノードにおけるコンテンツの最低保持期限を、例えば現時刻から所定時間（例えば１時間）後に決定する（ステップＳ１１７）。一律に所定時間後に設定するのではなく、ユーザＩＤ毎に所定時間を変更するようにしても良い。具体的には、分析装置１１０から所定時間の指定があればその指定に従うようにしても良いし、制御装置１２０にユーザの滞在時間についてのデータが存在する場合には、そのデータを用いても良い。その後、決定処理部１２５は、特定されたノードＩＤ及びＣＩＤと決定された最低保持期限とで、キャッシュデータテーブル１２６を更新する（ステップＳ１１９）。
【００３９】
キャッシュデータテーブル１２６には、例えば図１６に示すようなデータが格納される。図１６の例では、ノードＩＤと、ＣＩＤと、最低保持期限とが登録されるようになっている。ステップＳ１１３で複数のＣＩＤが特定され、ステップＳ１１５で複数のノードＩＤが特定された場合には、それらの組み合わせをキャッシュデータテーブル１２６に登録する。例えばノードＩＤがＡ１及びＡ２で、ＣＩＤがＸ及びＹであれば、Ａ１とＸとのエントリと、Ａ１とＹとのエントリと、Ａ２とＸとのエントリと、Ａ２とＹとのエントリとを登録することになる。なお、既にノードＩＤとＣＩＤとの同一の組み合わせについてエントリが登録されている場合には、最低保持期限を更新する。
【００４０】
なお、キャッシュデータテーブル１２６のエントリについては、最低保持期限が過ぎれば自動的に削除されるものとする。
【００４１】
次に、図１７を用いて、制御装置１２０における配布部１２７の処理を説明する。配布部１２７は、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（図１７：ステップＳ１２１）。なお、LocationIDが更新されたユーザＩＤを、決定処理部１２５から通知される場合もある。そして、配布部１２７は、関連付けデータテーブル１２４から、更新に係るユーザＩＤについての関連付けデータを読み出す（ステップＳ１２３）。すなわち、特定されたユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータを読み出す。
【００４２】
さらに、配布部１２７は、ノード配置テーブル１２２から、更新に係るLocationIDに対応付けられているノードＩＤを、配布先ノードのノードＩＤとして特定する（ステップＳ１２４）。そして、配布部１２７は、キャッシュデータテーブル１２６から、配布先ノードのノードＩＤ及び読み出した関連付けデータに含まれるＣＩＤについてのデータを読み出す（ステップＳ１２５）。例えばＵｓｅｒＡが更新に係るユーザＩＤとして特定された場合には、関連付けデータテーブル１２４（図１２）において第１及び第２行目が関連付けデータとして特定され、さらにノード配置テーブル１２２（図１０）において第１及び第２行目のノードＡ１及びＡ２が配布先ノードとして特定される。そして、キャッシュデータテーブル１２６（図１６）において、第１乃至第４行目のエントリが特定される。
【００４３】
そうすると、配布部１２７は、ステップＳ１２３及びＳ１２５で読み出されたデータから定義データを生成し（ステップＳ１２９）、当該定義データを、ステップＳ１２４で特定された配布先ノード宛に送信する（ステップＳ１３１）。
【００４４】
定義データは、例えば図１８のようなデータである。図１８の例では、ユーザＩＤと出力条件のデータと最低保持期限とＣＩＤとを含む。このようなデータを受信すれば、中継ノード２２１及び２２２は、表示装置２３１からコンテンツを要求された場合に、関連付けデータを分析装置１１０から取得することなく、提示すべきコンテンツを特定できる。さらに以下で述べるような処理を中継ノード２２１が予め実施することで、提示すべきコンテンツ自体も予めキャッシュすることができるので、表示装置２３１がユーザに対して迅速に適切なコンテンツを表示することができるようになる。
【００４５】
次に、図１９乃至図２３を用いて、中継ノードの処理について説明する。中継ノード２２１の受信部２２１１は、制御装置１２０から定義データを受信すると（図１９：ステップＳ１５１）、定義データをキャッシュ制御部２２１２に出力する。キャッシュ制御部２２１２は、受信部２２１１から定義データを受信すると、定義データに含まれるユーザＩＤ、出力条件のデータ及びＣＩＤで、キャッシュデータ格納部２２１３を検索して、最低保持期限以外が同一であるエントリが存在するか、すなわち利用可能な定義データが既にキャッシュ済みであるか判断する（ステップＳ１５３）。最低保持期限以外が同一であるエントリが既にキャッシュデータ格納部２２１３に格納されており、利用可能となっている場合には、キャッシュ制御部２２１２は、受信した定義データに含まれる最低保持期限の方が現在の最低保持期限より後であれば、受信した定義データに含まれる最低保持期限で更新する（ステップＳ１５５）。受信した定義データに含まれるＣＩＤについてのエントリに含まれる最低保持期限も更新する。そして処理を終了する。
【００４６】
一方、定義データに含まれるユーザＩＤ、出力条件のデータ及びＣＩＤの組み合わせがキャッシュデータ格納部２２１３に格納されていない場合には、キャッシュ制御部２２１２は、受信した定義データを、キャッシュデータ格納部２２１３に追加登録する（ステップＳ１５７）。さらに、キャッシュ制御部２２１２は、受信した定義データに含まれるＣＩＤについてのコンテンツについてキャッシュ更新処理を実施する（ステップＳ１５９）。そして処理を終了する。なお、キャッシュ更新処理については、図２０を用いて説明する。なお、図２０の処理は、定義データに含まれるＣＩＤ毎に行われる。
【００４７】
まず、キャッシュ制御部２２１２は、定義データに含まれるＣＩＤで特定されるコンテンツのデータがキャッシュ済みであるか判断する（図２０：ステップＳ１６０）。例えば図２１に示すようなキャッシュテーブルが、キャッシュデータ格納部２２１３に格納されているものとする。すなわち、図２１の例では、ユーザＩＤと出力条件のデータと最低保持期限とＣＩＤとを含む定義データについてのエントリと、ＣＩＤと最低保持期限とＣＩＤで特定されるコンテンツのファイル名とコンテンツ有効期限（コンテンツサーバ１３０等から得られるデータ）とを含むコンテンツ関連データについてのエントリとが登録されるようになっている。このようにキャッシュデータ格納部２２１３に格納されているコンテンツのデータについては、このキャッシュテーブルに登録されるので、ＣＩＤがＩＤの列に登録されているか否かでキャッシュ済みであるか否かを判断できる。他のユーザについての定義データを処理した際に同一のコンテンツのデータを既に取得している場合があるので、本ステップを実施する。なお、自動的に有効期限切れのエントリ及びコンテンツのデータについては削除し、自動的に最低保持期限切れのエントリ及びコンテンツのデータについても削除する。
【００４８】
ＣＩＤで特定されるコンテンツがキャッシュ済みである場合には、キャッシュ制御部２２１２は、定義データに含まれるＣＩＤを含む、コンテンツ関連データについてのエントリに含まれる最低保持期限より、定義データに含まれる最低保持期限の方が後であれば、定義データに含まれる最低保持期限でコンテンツ関連データについてのレコードにおける最低保持期限を更新する（ステップＳ１７３）。そして呼び出し元の処理に戻る。
【００４９】
一方、ＣＩＤで特定されるコンテンツがキャッシュデータ格納部２２１３に格納されていない場合には、キャッシュ制御部２２１２は、定義データに含まれるＣＩＤが示すサーバ（主にコンテンツサーバ１３０）にＣＩＤが示すコンテンツのデータを要求して、当該コンテンツのデータを取得する（ステップＳ１６１）。そして、キャッシュ制御部２２１２は、キャッシュデータ格納部２２１３に、取得したコンテンツのデータを格納できるだけの空き容量が存在するか判断する（ステップＳ１６３）。取得したコンテンツのデータを格納できるだけの空き容量が存在する場合には、キャッシュ制御部２２１２は、取得したコンテンツのコンテンツ関連データについてのエントリをキャッシュデータ格納部２２１３のテーブルに追加して、取得したコンテンツのデータをキャッシュデータ格納部２２１３に格納する（ステップＳ１６５）。そして呼び出し元の処理に戻る。
【００５０】
一方、キャッシュデータ格納部２２１３に、取得したコンテンツのデータを格納できるだけの空き容量が存在しない場合には、キャッシュ制御部２２１２は、有効期限切れのエントリ、即ち現時刻が有効期限より後になっているエントリがキャッシュテーブルに存在するか判断する（ステップＳ１６７）。存在する場合には、キャッシュ制御部２２１２は、当該エントリ及び当該エントリについてのコンテンツのデータをキャッシュデータ格納部２２１３において削除する（ステップＳ１７１）。そしてステップＳ１６５に移行する。
【００５１】
一方、有効期限切れエントリが存在しない場合には、キャッシュ制御部２２１２は、最低保持期限超過のコンテンツのデータ（現時刻が最低保持期限より後のエントリに係るコンテンツ）がキャッシュデータ格納部２２１３に存在するか判断する（ステップＳ１６９）。最低保持期限超過のコンテンツのデータがキャッシュデータ格納部２２１３に存在する場合には、ステップＳ１７１に移行する。一方、最低保持期限超過のコンテンツのデータがキャッシュデータ格納部２２１３に存在しない場合には、呼び出し元の処理に戻る。
【００５２】
このような処理を実施することで、実際にユーザが表示装置２３１乃至２３３の場所まで移動して来るまでに、キャッシュデータ格納部２２１３に、定義データ及び定義データに関連するコンテンツのデータが準備できるようになる。
【００５３】
次に、表示装置２３１までユーザがやってきて、表示装置２３１のセンサでＩＣカードなどからユーザＩＤを読み取った場合の処理を、図２２及び図２３を用いて説明する。なお、ユーザＩＤを読み取った段階で、温度センサなどにより温度を測定することで、状態データを生成する。状態データは温度データそのものの場合もあれば、高温又は低温というような判断結果であってもよい。そして、表示装置２３１は、読み取ったユーザＩＤ及び生成した状態データを中継ノード２２１に送信する（図２２：ステップＳ１８１）。これに対して、中継ノードの出力処理部２２１４は、表示装置２３１からユーザＩＤ及び状態データを受信すると（ステップＳ１８３）、キャッシュテーブルにおいて、ユーザＩＤと、状態データが充足する出力条件とに対応付けられているＣＩＤを探索する（ステップＳ１８５）。ＣＩＤが見つかってキャッシュヒットと判断できる場合には（ステップＳ１８７：Ｙｅｓルート）、出力処理部２２１４は、ＣＩＤを表示装置２３１に返信する（ステップＳ１９１）。表示装置２３１は、中継ノード２２１からＣＩＤを受信する（ステップＳ１９３）。そして図２３の処理に端子Ｂ及びＣを介して移行する。
【００５４】
一方、ＣＩＤが見つからず、キャッシュミスとなった場合には（ステップＳ１８７：Ｎｏルート）、出力処理部２２１４は、ユーザＩＤ及び状態データをキャッシュ制御部２２１２に出力する。そして、キャッシュ制御部２２１２は、分析装置１１０に対してユーザＩＤ及び状態データを送信して、分析装置１１０から、ユーザＩＤ及び状態データに対応するＣＩＤを取得する（ステップＳ１８９）。そして、キャッシュ制御部２２１２は、出力処理部２２１４にＣＩＤを出力する。出力処理部２２１４は、キャッシュ制御部２２１２からＣＩＤを受信する。そして処理はステップＳ１９１に移行する。
【００５５】
図２３の処理の説明に移行して、表示装置２３１は、受信したＣＩＤのコンテンツ要求を中継ノード２２１に送信する（ステップＳ１９５）。中継ノード２２１の出力処理部２２１４は、表示装置２３１から、ＣＩＤのコンテンツ要求を受信すると（ステップＳ１９７）、ＣＩＤでキャッシュテーブルを検索する（ステップＳ１９９）。受信したＣＩＤがＩＤの列に登録されている、即ちキャッシュヒットした場合には（ステップＳ２０１：Ｙｅｓルート）、出力処理部２２１４は、キャッシュデータ格納部２２１３からＣＩＤに係るコンテンツのデータを読み出して、当該コンテンツのデータを表示装置２３１に送信する（ステップＳ２０５）。一方、受信したＣＩＤがＩＤの列に登録されていない、即ちキャッシュミスした場合（ステップＳ２０１：Ｎｏルート）、出力処理部２２１４は、キャッシュ制御部２２１２に、ＣＩＤに係るコンテンツのデータの取得要求を出力し、キャッシュ制御部２２１２は、当該取得要求に応じて、キャッシュ更新処理（図２０）を実施する（ステップＳ２０３）。そして処理はステップＳ２０５に移行する。但し、コンテンツのデータが、キャッシュデータ格納部２２１３に格納できない場合でも、キャッシュ制御部２２１２は、取得したコンテンツのデータを出力処理部２２１４に出力する。また、キャッシュ更新処理を実施せずに、キャッシュ制御部２２１２が単にコンテンツのデータを取得して、出力処理部２２１４に出力するようにしても良い。
【００５６】
表示装置２３１は、中継ノード２２１からコンテンツのデータを受信して、表示部に表示する（ステップＳ２０７）。これにより、ユーザにコンテンツを提示することができるようになる。
【００５７】
このようにキャッシュデータ格納部２２１３にコンテンツのデータが格納されている場合には、迅速に当該コンテンツをユーザに提示することができる。
【００５８】
［実施の形態３］
キャッシュデータ格納部２２１３の容量が大きければ、空き容量に配慮することなくコンテンツのデータを蓄積できるが、実際には空き容量が不足する場合も出てくる。そこで、本実施の形態では、コンテンツのデータ量が所定量（表示装置２３１からコンテンツを提示するまでの時間が予め定められた時間以内となるようなデータ量）未満である場合には、その都度コンテンツサーバ１３０から取得して、表示装置２３１に出力する。具体的には、キャッシュ更新処理において、一旦ＣＩＤに係るコンテンツの要求をコンテンツサーバ１３０に送信して、コンテンツサーバ１３０から送信されてくるコンテンツのデータのパケット等におけるヘッダ（例えばＨＴＴＰ（Hyper Text Transfer Protocol）の場合、ヘッダ部分に含まれるContent-Size欄）に含まれるコンテンツのサイズのデータから、コンテンツのデータをキャッシュデータ格納部２２１３に格納するか否かを判断するようにしても良い。なお、データ量だけではなく、コンテンツのデータの取得にかかる時間を計測して、時間をベースに判断するようにしても良い。
【００５９】
［実施の形態４］
図１０に示すようなノード配置テーブル１２２をベースに、定義データの配布先ノードを特定する例を第２の実施の形態では採用していた。しかしながら、ユーザによっては駅Ａの構内に配置されている表示装置２３１乃至２３３のうち、実際に利用する表示装置に偏りがある場合もある。偏りがある場合には、よく利用する表示装置が接続されている中継ノードにのみ定義データを配信してコンテンツデータをキャッシュする方が効率的である。
【００６０】
そのため、例えば中継ノードにおいて、ユーザＩＤと当該ユーザＩＤを読み取った表示装置に接続されている中継ノードのノードＩＤとを含むログを蓄積しておき、分析装置１１０に所定時間毎に当該ログをアップロードする。そして、分析装置１１０が、ユーザ毎に、当該ユーザの利用頻度が高い表示装置が接続されている中継ノード及びその中継ノードが配置されている駅のLocationIDとを特定して、ユーザＩＤとLocationIDとノードＩＤとの組み合わせを、制御装置１２０に送信する。制御装置１２０は、分析装置１１０からこのようなデータを受信すると、以下で述べるキャッシュ配布先テーブルに蓄積しておき、定義データの配布先ノードを絞り込むものとする。
【００６１】
図２４に、本実施の形態に係る制御装置１２０ｂの機能ブロック図を示す。制御装置１２０ｂは、受信部１２１ｂと、ノード配置テーブル１２２と、ユーザ位置テーブル１２３と、関連付けデータテーブル１２４と、決定処理部１２５ｂと、キャッシュデータテーブル１２６と、配布部１２７ｂと、キャッシュ配布先テーブル１２８とを有する。
【００６２】
受信部１２１ｂは、分析装置１１０からデータを受信し、ユーザ位置テーブル１２３、関連付けデータテーブル１２４又はキャッシュ配布先テーブル１２８に格納する。ユーザ位置テーブル１２３は、各ユーザの位置データを格納するテーブルである。関連付けデータテーブル１２４は、ユーザＩＤと、出力条件と、コンテンツＩＤとを含む関連付けデータを格納するテーブルである。キャッシュ配布先テーブル１２８は、ユーザＩＤと、LocationIDと、中継ノードのノードＩＤとを対応付けて格納するテーブルである。決定処理部１２５ｂは、ノード配置テーブル１２２、ユーザ位置テーブル１２３、関連付けデータテーブル１２４及びキャッシュ配布先テーブル１２８から、中継ノードのノードＩＤと当該中継ノードにキャッシュすべきコンテンツのＩＤとの対応付けを、キャッシュデータテーブル１２６に格納する。配布部１２７ｂは、ノード配置テーブル１２２、キャッシュ配布先テーブル１２８、ユーザ位置テーブル１２３及び関連付けデータテーブル１２４から、関連付けデータを含む定義データを生成し、当該定義データの配布先ノードを特定して、定義データを配布先ノードに送信する。
【００６３】
次に、制御装置１２０ｂの処理内容について、図２５乃至図２８を用いて説明する。まず、図２５に、制御装置１２０ｂの受信部１２１ｂの処理の処理フローを示す。これより前に、改札機２１０は、ユーザが保持するＩＣカードなどからユーザＩＤを読み出し、当該ユーザＩＤとLocationIDとを分析装置１１０に送信する。分析装置１１０は、受信したユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータをＤＢ１１１から読み出し、ユーザＩＤ及びLocationIDと、ユーザＩＤ、ＣＩＤ及び出力条件のデータとを、制御装置１２０ｂに送信する。さらに、分析装置１１０は、ユーザＩＤ及びLocationIDの組み合わせに対応付けられているノードＩＤをＤＢ１１１から読み出して、制御装置１２０ｂに送信する。但し、ユーザＩＤ及びLocationIDの組み合わせに対応付けられているノードＩＤが存在しない場合もあるので、その場合にはこのようなデータは送られない。
【００６４】
そして、制御装置１２０ｂの受信部１２１ｂは、分析装置１１０からデータを受信すると（図２５：ステップＳ３０１）、当該データがユーザ位置データであるか判断する（ステップＳ３０３）。本実施の形態では、ユーザＩＤとLocationIDとを含むユーザ位置データと、ユーザＩＤとＣＩＤと出力条件のデータとを含む関連付けデータと、ユーザＩＤとLocationIDとノードＩＤとを含むノード指定データとが、分析装置１１０から送信される。受信したデータがユーザ位置データであれば、受信部１２１ｂは、ユーザ位置テーブル１２３において、受信したユーザＩＤに対応付けて、受信したLocationIDを登録すると共に、現在時刻を最新更新日時として登録する（ステップＳ３０５）。既に、受信したユーザＩＤが登録されている場合には、当該ユーザＩＤのエントリを、受信したLocationID及び現在時刻で更新する。
【００６５】
一方、受信したデータがユーザ位置データではない場合には、受信部１２１ｂは、受信したデータが関連付けデータであるか判断する（ステップＳ３０７）。受信したデータが関連付けデータであれば、受信部１２１ｂは、ユーザＩＤとＣＩＤと出力条件のデータとで、関連付けデータテーブル１２４を更新する（ステップＳ３０９）。例えば、ユーザＩＤとＣＩＤと出力条件のデータとを、関連付けデータテーブル１２４に追加登録する。但し、受信したユーザＩＤについてのレコードが既に登録されている場合には、上書き更新を行うようにしても良い。
【００６６】
一方、受信したデータが関連付けデータでない場合には、ノード指定データであるから、受信部１２１ｂは、ユーザＩＤ及びLocationIDの組み合わせに対応付けてノードＩＤを、キャッシュ配布先テーブル１２８に登録する（ステップＳ３１１）。例えば、ユーザＩＤ及びLocationIDの同一の組み合わせについてノードＩＤが既に登録されている場合には上書き登録し、未登録であれば追加登録する。
【００６７】
キャッシュ配布先テーブル１２８は、例えば図２６に示すようなデータである。図２６の例では、ユーザＩＤ及びLocationIDに対応付けてノードＩＤが登録されるようになっている。
【００６８】
次に、図２７を用いて、制御装置１２０ｂにおける決定処理部１２５ｂの処理を説明する。決定処理部１２５ｂは、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（図２７：ステップＳ３２１）。また、決定処理部１２５ｂは、関連付けデータテーブル１２４から、更新に係るユーザＩＤに対応付けられているＣＩＤを特定する（ステップＳ３２３）。そして、決定処理部１２５ｂは、更新に係るユーザＩＤ及びLocationIDでキャッシュ配布先テーブル１２８を検索し（ステップＳ３２５）、該当するエントリが存在するか判断する（ステップＳ３２７）。該当するエントリが存在しない場合には、決定処理部１２５ｂは、ノード配置テーブル１２２から、LocationIDに対応付けられているノードＩＤを特定する（ステップＳ３２９）。そしてステップＳ３３３に移行する。一方、該当エントリが存在する場合には、決定処理部１２５ｂは、該当エントリにおけるノードＩＤを特定する（ステップＳ３３１）。そして、ステップＳ３３３に移行する。
【００６９】
そして、決定処理部１２５ｂは、中継ノードにおけるコンテンツの最低保持期限を、例えば現時刻から所定時間（例えば１時間）後に決定する（ステップＳ３３３）。このステップは、ステップＳ１１７と同様である。その後、決定処理部１２５ｂは、特定されたノードＩＤ及びＣＩＤと決定された最低保持期限とで、キャッシュデータテーブル１２６を更新する（ステップＳ３３５）。
【００７０】
次に、図２８を用いて、制御装置１２０ｂにおける配布部１２７ｂの処理を説明する。配布部１２７ｂは、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（図２８：ステップＳ３４１）。なお、LocationIDが更新されたユーザＩＤを、決定処理部１２５ｂから通知される場合もある。そして、配布部１２７ｂは、関連付けデータテーブル１２４から、更新に係るユーザＩＤについての関連付けデータを読み出す（ステップＳ３４３）。すなわち、特定されたユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータを読み出す。
【００７１】
そして、配布部１２７ｂは、キャッシュ配布先テーブル１２８に、更新に係るユーザＩＤ及びLocationIDについてのエントリが存在するか判断する（ステップＳ３４５）。更新に係るユーザＩＤ及びLocationIDについてのエントリが存在する場合には、配布部１２７ｂは、キャッシュ配布先テーブル１２８から、更新に係るユーザＩＤ及びLocationIDに対応付けられているノードＩＤを配布先ノードのノードＩＤとして特定する（ステップＳ３４７）。処理はステップＳ３５１に移行する。一方、該当するエントリが存在しない場合には、配布部１２７ｂは、ノード配置テーブル１２２から、更新に係るLocationIDに対応付けられているノードＩＤを、配布先ノードのノードＩＤとして特定する（ステップＳ３４９）。
【００７２】
そして、配布部１２７ｂは、キャッシュデータテーブル１２６から、配布先ノードのノードＩＤ及び読み出した関連付けデータに含まれるＣＩＤについてのデータを読み出す（ステップＳ３５１）。そうすると、配布部１２７ｂは、ステップＳ３４３及びＳ３５１で読み出されたデータから定義データを生成し（ステップＳ３５３）、当該定義データを、ステップＳ３４７又はＳ３４９で特定された配布先ノード宛に送信する（ステップＳ３５５）。
【００７３】
このようにキャッシュ配布先テーブル１２８にエントリがある場合には、定義データの配布先ノードが限定されて、当該定義データに基づきコンテンツのデータのキャッシュを行う中継ノードが少なくなる。すなわち、ネットワーク３００の通信負荷を下げ、定義データが配布されなかった中継ノードのキャッシュデータ格納部２２１３の記憶容量を効率的に利用できるようになる。
【００７４】
［実施の形態５］
第２の実施の形態では図２２及び図２３で表示装置２３１は２回要求を中継ノード２２１に送信してコンテンツのデータを取得するが、以下のように表示装置２３１が１度要求を送信するだけでコンテンツのデータを取得できるようにしても良い。
【００７５】
具体的には、表示装置２３１は、読み取ったユーザＩＤ及び生成した状態データを中継ノード２２１に送信する（図２９：ステップＳ３６１）。これに対して、中継ノードの出力処理部２２１４は、表示装置２３１からユーザＩＤ及び状態データを受信すると（ステップＳ３６３）、キャッシュテーブルにおいて、ユーザＩＤと、状態データが充足する出力条件とに対応付けられているＣＩＤを探索する（ステップＳ３６５）。ＣＩＤが見つからず、キャッシュミスとなった場合には（ステップＳ３６７：Ｎｏルート）、出力処理部２２１４は、ユーザＩＤ及び状態データをキャッシュ制御部２２１２に出力する。そして、キャッシュ制御部２２１２は、分析装置１１０に対してユーザＩＤ及び状態データを送信して、分析装置１１０から、ユーザＩＤ及び状態データに対応するＣＩＤを取得する（ステップＳ３６９）。キャッシュ制御部２２１２は、出力処理部２２１４にＣＩＤを出力する。出力処理部２２１４は、キャッシュ制御部２２１２からＣＩＤを受信する。そして、ステップＳ３７１に移行する。一方、ＣＩＤが見つかってキャッシュヒットとなった場合にも（ステップＳ３６７：Ｙｅｓルート）、処理はステップＳ３７１に移行する。
【００７６】
出力処理部２２１４は、ＣＩＤでキャッシュテーブルを検索する（ステップＳ３７１）。受信したＣＩＤがＩＤの列に登録されている、即ちキャッシュヒットした場合には（ステップＳ３７３：Ｙｅｓルート）、出力処理部２２１４は、キャッシュデータ格納部２２１３からＣＩＤに係るコンテンツのデータを読み出して、当該コンテンツのデータを表示装置２３１に送信する（ステップＳ３７７）。一方、受信したＣＩＤがＩＤの列に登録されていない、即ちキャッシュミスした場合（ステップＳ３７３：Ｎｏルート）、出力処理部２２１４は、キャッシュ制御部２２１２に、ＣＩＤに係るコンテンツのデータの取得要求を出力し、キャッシュ制御部２２１２は、当該取得要求に応じて、キャッシュ更新処理（図２０）を実施する（ステップＳ３７５）。そして処理はステップＳ３７７に移行する。但し、コンテンツのデータが、キャッシュデータ格納部２２１３に格納できない場合でも、キャッシュ制御部２２１２は、取得したコンテンツのデータを出力処理部２２１４に出力する。また、キャッシュ更新処理を実施せずに、キャッシュ制御部２２１２が単にコンテンツのデータを取得して、出力処理部２２１４に出力するようにしても良い。
【００７７】
表示装置２３１は、中継ノード２２１からコンテンツのデータを受信して、表示部に表示する（ステップＳ３７９）。これにより、ユーザにコンテンツを提示することができるようになる。
【００７８】
このようにすれば、コンテンツ表示までの時間をより短縮することができる。
【００７９】
［実施の形態６］
各中継ノード２２１及び２２２におけるキャッシュデータ格納部２２１３の容量には限界があるので、定義データを制御装置１２０から受信したとしても定義データに関連するコンテンツデータを、キャッシュデータ格納部２２１３に格納できない場合もある。これではコンテンツ提示にかかる時間を短縮できない。そこで、本実施の形態では、例えば駅Ａに設置されている中継ノード２２１及び２２２の上位の中継ノードを設置して、中継ノード２２１及び２２２でキャッシュできなかったコンテンツのデータについては、上位の中継ノードに保持させるようにする。駅毎でなく、数駅毎といったように上位中継ノードを纏めるようにしても良い。
【００８０】
システム全体の処理フローを図３０に示す。図３０の例では、上位中継ノード２２５を新たに駅Ａに導入する。第２の実施の形態における中継ノード２２１及び２２２は、下位中継ノード２２１及び２２２である。
【００８１】
ユーザがＩＣカードなどを改札機２１０にかざすと、改札機２１０は、ユーザＩＤ及びLocationIDを分析装置１１０に送信する。分析装置１１０は、ユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータをＤＢ１１１から読み出して、ユーザＩＤ及びLocationIDの組み合わせと共に制御装置１２０に出力する（図３０：ステップ（１））。制御装置１２０の受信部１２１は、ユーザＩＤとＣＩＤと出力条件のデータとの組み合わせと、ユーザＩＤとLocationIDとの組み合わせとを受信すると、それぞれ関連付けデータテーブル１２４と、ユーザ位置テーブル１２３に格納する。その後、決定処理部１２５及び配布部１２７は処理を行って、配布部１２７は、上で述べた定義データを生成して、配布先ノードに定義データを送信する（ステップ（２））。ここまでは第２の実施の形態と同じである。
【００８２】
これに対して、下位中継ノード２２１のキャッシュ制御部２２１２は、キャッシュ更新処理（図２０）を実施する。キャッシュデータ格納部２２１３に定義データに関連するコンテンツのデータを格納できれば以下の処理を実施しないが、容量不足で定義データに関連するコンテンツのデータをキャッシュデータ格納部２２１３に格納できない場合がある。この場合、キャッシュ制御部２２１２（又は受信部２２１１）は、制御装置１２０に対して、例えばＣＩＤを含むキャッシュ拒否通知を返信する（ステップ（３））。定義データをキャッシュ拒否通知が含むようにしても良い。
【００８３】
配布部１２７は、下位中継ノード２２１から、例えばＣＩＤを含むキャッシュ拒否通知を受信すると、ノード配置テーブル１２２から、下位中継ノード２２１の上位中継ノード２２５を特定し、ＣＩＤを含むキャッシュ要求を送信する（ステップ（４））。本実施の形態においては、ノード配置テーブル１２２は、例えば図３１に示すようなデータである。図３１の例では、下位中継ノードのノードＩＤと、LocationＩＤと、上位中継ノードのノードＩＤとが対応付けて登録されている。このデータを用いれば、送信元の下位中継ノード２２１のノードＩＤから、上位中継ノードのノードＩＤを特定できる。
【００８４】
上位中継ノード２２５は、制御装置１２０から、ＣＩＤを含むキャッシュ要求を受信すると、ＣＩＤに従って例えばコンテンツサーバ１３０に対して、ＣＩＤのコンテンツのデータを要求し（ステップ（５））、コンテンツサーバ１３０からコンテンツのデータを取得する（ステップ（６））。上位中継ノード２２５は、データ格納部に、取得したコンテンツのデータを、蓄積する。
【００８５】
その後、ユーザが表示装置２３１のところにやってきてＩＣカードなどを読み取らせると、表示装置２３１は、ユーザＩＤ及び状態データを下位中継ノード２２１に出力する（ステップ（７））。これに対して、下位中継ノード２２１の出力処理部２２１４は、表示装置２３１から、ユーザＩＤ及び状態データを受信する。そして、出力処理部２２１４は、キャッシュデータ格納部２２１３におけるキャッシュテーブルにおいて、ユーザＩＤ及び状態データが充足する出力条件のデータに対応付けられているＣＩＤを特定し、表示装置２３１に返信する（ステップ（８））。表示装置２３１は、受信したＣＩＤのコンテンツ要求を、下位中継ノード２２１に出力する（ステップ（９））。下位中継ノード２２１の出力処理部２２１４は、ＣＩＤのコンテンツ要求を受信すると、キャッシュデータ格納部２２１３に、当該ＣＩＤのコンテンツのデータが格納されているか確認する。ここでＣＩＤのコンテンツのデータが格納されていない場合には、出力処理部２２１４は、ＣＩＤを含むコンテンツ取得要求をキャッシュ制御部２２１２に出力する。キャッシュ制御部２２１２は、第２の実施の形態ではＣＩＤで特定されるサーバ（例えばコンテンツサーバ１３０）に、コンテンツ要求を送信するが、本実施の形態では上位中継ノード２２５に、ＣＩＤを含むコンテンツ要求を送信する（ステップ（１０））。上位中継ノード２２５は、下位中継ノード２２１からコンテンツ要求を受信すると、データ格納部からＣＩＤのコンテンツのデータを読み出して、下位中継ノード２２１に送信する（ステップ（１１））。
【００８６】
下位中継ノード２２１のキャッシュ制御部２２１２は、上位中継ノード２２５からコンテンツのデータを受信すると、出力処理部２２１４に出力する。出力処理部２２１４は、表示装置２３１に、受信したコンテンツのデータを出力する（ステップ（１２））。表示装置２３１は、下位中継ノード２２１から受信したコンテンツのデータを、表示部に表示する。
【００８７】
このように上位中継ノードを配置することで、下位中継ノードにおいてキャッシュできない場合でも、上位中継ノードにおいてキャッシュできれば、コンテンツサーバ１３０などからその都度取得するより、表示装置２３１乃至２３３に迅速にコンテンツのデータを出力することができるようになる。
【００８８】
［実施の形態７］
第２の実施の形態では、ある駅にユーザが到着すると、当該ある駅のための全ての中継ノードが定義データに従って、コンテンツサーバ１３０などからコンテンツのデータをキャッシュしようとする。しかしながら、ある駅にある中継ノードが、コンテンツサーバ１３０からそのコンテンツのデータを既に取得しているのであれば、ある駅のための他の中継ノードは、既にコンテンツのデータを取得している中継ノードから、そのコンテンツのデータを取得すれば、コンテンツサーバ１３０の処理負荷を減らすことができ、さらにコンテンツサーバ１３０との間の通信経路の通信負荷も減らすことができる。このため、本実施の形態では、以下のような処理を実施する。
【００８９】
具体的には、配布部１２７が、図３２及び図３３に示すような処理を実施する。配布部１２７は、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（図３２：ステップＳ４０１）。なお、LocationIDが更新されたユーザＩＤを、決定処理部１２５から通知される場合もある。そして、配布部１２７は、関連付けデータテーブルから、更新に係るユーザＩＤについての関連付けデータを読み出す（ステップＳ４０３）。すなわち、特定されたユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータを読み出す。そして、配布部１２７は、ノード配置テーブル１２２から、更新に係るLocationIDに対応付けられているノードＩＤを、配布先ノードのノードＩＤとして特定する（ステップＳ４０５）。その後、配布部１２７は、キャッシュデータテーブル１２６から、配布先ノードのノードＩＤ及び読み出した関連付けデータに含まれるＣＩＤについてのデータを読み出す（ステップＳ４０７）。そして端子Ｄを介して図３３の処理に移行する。
【００９０】
図３３の処理の説明に移行して、配布部１２７は、ステップＳ４０５において特定された配布先ノードのＩＤのうち未処理の配布先ノードのＩＤを１つ特定する（ステップＳ４０９）。そして、配布部１２７は、特定された配布先ノードに関連する中継ノードが、ステップＳ４０３で読み出された関連付けデータに含まれるＣＩＤのコンテンツをキャッシュ済みであるか判断する（ステップＳ４１１）。具体的には、キャッシュデータテーブル１２６において、ステップＳ４０５で特定された配布先ノードのうち、処理に係る配布先ノード以外の配布先ノードのノードＩＤに対応付けて、関連付けデータに含まれるＣＩＤが登録されているかを判断する。例えば、ステップＳ４０５で特定された配布先ノードＡ１及びＡ２のうち、処理に係る配布先ノードＡ１以外の中継ノードのノードＩＤ「Ａ２」に対応付けて、関連付けデータに含まれるＣＩＤ「Ｘ」が登録されているかを判断する。ＣＩＤが複数であれば、各ＣＩＤについて判断する。
【００９１】
特定された配布先ノードに関連する中継ノードが、関連付けデータに含まれるＣＩＤのコンテンツをキャッシュ済みではない場合には、配布部１２７は、ステップＳ４０３及びＳ４０７で読み出されたデータから定義データを生成し（ステップＳ４１５）、当該定義データを、ステップＳ４０９で特定された配布先ノード宛に送信する（ステップＳ４１７）。
【００９２】
一方、特定された配布先ノードに関連する中継ノードが、関連付けデータに含まれるＣＩＤのコンテンツを既にキャッシュ済みである場合には、配布部１２７は、関連付けデータに含まれるＣＩＤを、関連する中継ノードのいずれかのＵＲＬ等を用いて変更する（ステップＳ４１３）。上でも述べたように、例えばＣＩＤがＵＲＬで表されている場合には、ＣＩＤは、変更前はコンテンツサーバ１３０のドメイン名、ディレクトリ名及びファイル名を含むＣＩＤとなっている。本ステップでは、コンテンツサーバ１３０のドメイン名及びディレクトリ名を、関連する中継ノードのドメイン名及び所定のディレクトリ名で置換する。そして、配布部１２７は、変更後のＣＩＤで、ステップＳ４１５で生成された定義データにおけるＣＩＤを更新する（ステップＳ４２１）。そしてステップＳ４１７に移行する。
【００９３】
そして、配布部１２７は、未処理の配布先ノードが存在しているか判断し（ステップＳ４１９）、未処理の配布先ノードが存在している場合には、処理はステップＳ４０９に戻る。一方、未処理の配布先ノードが存在していない場合には、処理を終了する。
【００９４】
以上のような処理を実施すれば、中継ノード２２１のキャッシュ制御部２２１２は、第２の実施の形態とほぼ同じ処理を行えば良い。すなわち、コンテンツの取得先が、１つの中継ノードについてはコンテンツサーバ１３０となるが、他の中継ノードについては、先にコンテンツサーバ１３０からコンテンツのデータを取得した中継ノードがコンテンツの取得先となる。キャッシュ制御部２２１２は、他の中継ノードからコンテンツのデータの要求を受信した場合に、キャッシュデータ格納部２２１３から要求に係るコンテンツのデータを読み出して、要求元の中継ノードに送信するようにする。
【００９５】
なお、同じ駅のための中継ノードであれば距離が近いので、関連する中継ノードがコンテンツの取得先となっている定義データを受信した中継ノードについては、キャッシュを行わないで、接続されている表示装置から要求があった場合に、関連する中継ノードから取得するようにしても、十分早くコンテンツを出力できる場合もある。
【００９６】
また、上では、ＣＩＤがＵＲＬで表されている例を示したが、ＣＩＤがコンテンツの取得元のデータを含まない場合には、関連する中継ノードのアドレスをＣＩＤに付加するような変形を行うようにしても良い。
【００９７】
［実施の形態８］
中継ノードのキャッシュデータ格納部の容量には限りがあるので、不要であることが明らかなデータについては早期に削除することで、キャッシュの利用効率を高めることが好ましい。
【００９８】
例えば、駅Ａの改札機で駅Ａ構内に入り、電車に乗って駅Ｂに移動し、駅Ｂの改札機を通過した後に電車を乗り換えて駅Ｃに移動し、そして駅Ｃの改札機を通過して駅Ｃ構内から外に出る、というケースを考える。この場合、駅Ａから駅Ｂ、駅Ｂから駅Ｃ、駅Ｃから「位置不定」へと変化することが検出される。駅Ａから駅Ｂに移動したことが検出されれば、駅Ａにおけるそのユーザのキャッシュは不要となる。駅Ｂから駅Ｃに移動したことが検出されれば、駅Ｂにおけるそのユーザのキャッシュは不要となる。さらに、駅Ｃから「位置不定」になったことが検出されれば、駅Ｃにおけるそのユーザのキャッシュは不要となる。このような移動及び「位置不定」という状態への遷移に応じて、不要なキャッシュを削除できれば、キャッシュデータ格納部の利用効率を上げられる。そこで以下に示すような処理を実施する。
【００９９】
なお、駅構内に入るための改札機と駅構内から出て行くための改札機とで、センサが出力するLocationIDを区別するようにする。例えば、StationAだけではなく、駅構内に入る場合にはStationA_inを、駅構内から出て行く場合にはStationA_outというように区別するものとする。
【０１００】
まず、図３４に、制御装置１２０の受信部１２１の処理の処理フローを示す。この前提としては、改札機２１０は、ユーザが保持するＩＣカードなどからユーザＩＤを読み出し、当該ユーザＩＤとLocationIDとを分析装置１１０に送信する。分析装置１１０は、受信したユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータをＤＢ１１１から読み出し、ユーザＩＤ及びLocationIDと、ユーザＩＤ、ＣＩＤ及び出力条件のデータとを、制御装置１２０に送信する。
【０１０１】
そして、制御装置１２０の受信部１２１は、分析装置１１０からデータを受信すると（図３４：ステップＳ４３１）、当該データがユーザ位置データであるか判断する（ステップＳ４３３）。本実施の形態では、ユーザＩＤとLocationIDとを含むユーザ位置データと、ユーザＩＤとＣＩＤと出力条件のデータとを含む関連付けデータとが、分析装置１１０から送信される。受信したデータがユーザ位置データであれば、受信部１２１は、受信したLocationIDがエリア外に出ることを表すものである（上で述べた例ではStationA_out）か判断する（ステップＳ４３５）。受信したLocationIDがエリア外に出ることを表すものである場合には、受信部１２１は、受信したユーザＩＤに対応付けて、現LocationIDとして登録されているLocationIDを旧LocationIDとして登録し、現時刻を最新更新日時として登録し、さらに受信したLocationIDの代わりに現LocationIDとして「位置不定」を登録する（ステップＳ４３９）。例えば図３５に示すようなデータが、ユーザ位置テーブル１２３に登録される。図３５の例では、ユーザＩＤに対応付けて、現在の所在地を表す現LocationIDと、最新更新日時と、直前の所在地を表す旧LocationIDとが登録されるようになっている。
【０１０２】
一方、受信したLocationIDがエリア外に出ることを表すものではない場合には、受信部１２１は、受信したユーザＩＤに対応付けて、現LocationIDとして登録されているLocationIDを旧LocationIDとして登録し、現時刻を最新更新日時として登録し、さらに受信したLocationIDを現LocationIDとして登録する（ステップＳ４３７）。
【０１０３】
一方、受信したデータがユーザ位置データではない場合には、受信部１２１は、ユーザＩＤとＣＩＤと出力条件のデータとで、関連付けデータテーブル１２４を更新する（ステップＳ４４１）。例えば、ユーザＩＤとＣＩＤと出力条件のデータとを、関連付けデータテーブル１２４に追加登録する。但し、本実施の形態では、新旧が分かるように、現在時刻を最新更新日時として追加で登録することにする。例えば、関連付けデータテーブル１２４には、図３６に示すようなデータが登録される。図３６の例では、ユーザＩＤと、ＣＩＤと、出力条件と、最新更新日時とが対応付けて登録されるようになっている。
【０１０４】
次に、決定処理部１２５の処理内容について、図３７を用いて説明する。決定処理部１２５は、ユーザ位置テーブル１２３において、更新に係るLocationIDが位置不定を表しているか判断する（図３７：ステップＳ４５１）。更新に係るLocationIDが位置不定を表している場合には処理を終了する。位置不定の場合には、いずれの中継ノードのコンテンツのデータをキャッシュすべきであるかを特定できないためである。一方、位置不定ではない場合、決定処理部１２５は、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（ステップＳ４５３）。そして、決定処理部１２５は、関連付けデータテーブル１２４から、更新に係るユーザＩＤに対応付けられているＣＩＤを特定する（ステップＳ４５５）。そして、決定処理部１２５は、ノード配置テーブル１２２から、LocationIDに対応付けられているノードＩＤを特定する（ステップＳ４５７）。
【０１０５】
また、決定処理部１２５は、中継ノードにおけるコンテンツの最低保持期限を、例えば現時刻から所定時間（例えば１時間）後に決定する（ステップＳ４５９）。その後、決定処理部１２５は、特定されたノードＩＤ及びＣＩＤと決定された最低保持期限とで、キャッシュデータテーブル１２６を更新する（ステップＳ４６１）。キャッシュデータテーブル１２６には図１６に示すようなデータが格納される。
【０１０６】
次に、配布部１２７の処理について図３８を用いて説明する。配布部１２７は、ユーザ位置テーブル１２３において、LocationIDが更新されたユーザＩＤを特定する（図３８：ステップＳ４７１）。なお、LocationIDが更新されたユーザＩＤを、決定処理部１２５から通知される場合もある。
【０１０７】
そして、配布部１２７は、ユーザ位置テーブル１２３において、更新に係るLocationIDが、位置不定を表しているか判断する（ステップＳ４７３）。更新に係るLocationIDが位置不定を表している場合には、配布部１２７等は、削除処理を実施する（ステップＳ４８７）。この削除処理については、後に詳細に説明する。そして処理を終了する。
【０１０８】
一方、更新に係るLocationIDが位置不定を表していない場合には、配布部１２７は、関連付けデータテーブル１２４から、更新に係るユーザＩＤについての関連付けデータを読み出す（ステップＳ４７５）。すなわち、特定されたユーザＩＤに対応付けられているＣＩＤ及び出力条件のデータを読み出す。そして、配布部１２７は、ノード配置テーブル１２２から、更新に係るLocationIDに対応付けられているノードＩＤを、配布先ノードのノードＩＤとして特定する（ステップＳ４７７）。その後、配布部１２７は、キャッシュデータテーブル１２６から、配布先ノードのノードＩＤ及び読み出した関連付けデータに含まれるＣＩＤについてのデータを読み出す（ステップＳ４７９）。
【０１０９】
そうすると、配布部１２７は、ステップＳ４７５及びＳ４７９で読み出されたデータから定義データを生成し（ステップＳ４８１）、当該定義データを、ステップＳ４７７で特定された配布先ノード宛に送信する（ステップＳ４８３）。
【０１１０】
そして、配布部１２７は、ユーザ位置テーブル１２３において、更新に係るLocationIDについてのエントリに旧LocationIDが含まれているか、すなわち旧LocationIDが「位置不定」ではないか判断する（ステップＳ４８５）。更新に係るLocationIDについてのエントリに旧LocationIDが含まれている場合には、処理はステップＳ４８７に移行する。一方、更新に係るLocationIDについてのエントリに旧LocationIDが含まれていない場合には、処理を終了する。
【０１１１】
次に、削除処理について図３９を用いて説明する。制御装置１２０の配布部１２７は、ユーザ位置テーブル１２３において、ステップＳ４７１で特定されたユーザＩＤの旧LocationIDを特定する（図３９：ステップＳ４９１）。また、配布部１２７は、ノード配置テーブル１２２から、旧LocationIDに対応付けられているノードのＩＤを特定する（ステップＳ４９３）。さらに、配布部１２７は、関連付けデータテーブル１２４から、特定されたユーザＩＤの旧関連付けデータ（最新更新日時が２番目に新しい関連付けデータ）を抽出する（ステップＳ４９５）。そうすると、配布部１２７は、ステップＳ４９３で特定されたノードＩＤの中継ノード宛に、抽出された旧関連付けデータの削除要求を送信する（ステップＳ４９７）。旧関連付けデータの代わりに旧関連付けデータに含まれるユーザＩＤのみを削除要求に含めるようにしても良い。
【０１１２】
これに対して、中継ノード２２１の受信部２２１１は、制御装置１２０から、旧関連付けデータの削除要求を受信し、旧関連付けデータの削除要求をキャッシュ制御部２２１２に出力する（ステップＳ４９９）。そして、キャッシュ制御部２２１２は、受信部２２１１から、旧関連付けデータの削除要求を受け取り、旧関連付けデータに含まれるＣＩＤで、キャッシュデータ格納部２２１３におけるキャッシュテーブルのＣＩＤ又はファイル名の列を検索する（ステップＳ５０１）。この処理の代わりに、ユーザＩＤでキャッシュテーブルを検索して対応するＣＩＤを抽出し、当該ＣＩＤでキャッシュテーブルのＣＩＤ又はファイル名の列を検索するようにしても良い。
【０１１３】
そして、キャッシュ制御部２２１２は、他のユーザＩＤに対応して同一ＣＩＤが設定されているエントリが存在しているか判断する（ステップＳ５０３）。他のユーザＩＤに対応して同一ＣＩＤが設定されているエントリが存在している場合には、当該ＣＩＤに係るコンテンツのデータを削除することはできないので、キャッシュ制御部２２１２は、受信した旧関連付けデータに対応するエントリをキャッシュデータ格納部２２１３におけるキャッシュテーブルから削除する（ステップＳ５０５）。なお、受信したユーザＩＤを含むエントリを削除するようにしても良い。
【０１１４】
一方、他のユーザＩＤに対応して同一ＣＩＤが設定されているエントリが存在していない場合には、キャッシュ制御部２２１２は、受信した旧関連付けデータに対応するエントリをキャッシュデータ格納部２２１３におけるキャッシュテーブルから削除する（ステップＳ５０７）。そして、キャッシュ制御部２２１２は、旧関連付けデータに含まれるＣＩＤに係るコンテンツのデータを、キャッシュデータ格納部２２１３から削除する（ステップＳ５０９）。キャッシュテーブルのエントリ及びコンテンツデータそのものを削除する。ユーザＩＤでキャッシュテーブルを検索して対応するＣＩＤを抽出し、当該ＣＩＤに係るコンテンツのデータを削除するようにしても良い。
【０１１５】
以上のような処理を実施することによって、中継ノード２２１及び２２２でもはや用いることがない定義データを削除することができ、キャッシュデータ格納部２２１３の効率的な利用が図られるようになる。
【０１１６】
以上本技術の実施の形態を説明したが、本技術はこれらに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致するわけではない。また、処理フローについても、処理結果が変わらなければ、処理順番を変更したり、並列処理を行う場合もある。
【０１１７】
繰り返しになるが、駅は一例に過ぎず、駅以外のエリアであっても良い。また、ビルの一部のフロアや、店舗の一部の販売エリアであってもよい。
【０１１８】
なお、上で述べた分析装置、制御装置、各種ノード及びサーバは、コンピュータ装置であって、図４０に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１１９】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１２０】
本実施の形態の第１の態様に係る制御方法は、（Ａ）ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とユーザの識別子を読み取ったセンサに関する識別データとを受信する第１のステップと、（Ｂ）センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された識別データ又は受信された識別データ及び受信されたユーザの識別子の組み合わせに対応付けられているノードの識別子を読み出す第２のステップと、（Ｃ）識別子が読み出されたノード宛に、受信されたユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する第３のステップとを含む。
【０１２１】
このようにユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを、上で述べたように特定されるノードに送信して、出力する可能性があるコンテンツを当該ノードに予めキャッシュさせることによって、表示装置にユーザが到着した際に早期に適切なコンテンツを出力できるようになる。
【０１２２】
本制御方法は、（Ｄ）ユーザに関連付けられたコンテンツの識別子の送信先であるノードから、ユーザに関連付けられたコンテンツをキャッシュしないことを表す通知を受信した場合、送信先であるノードに予め関連付けられている他のノード宛に、ユーザに関連付けられたコンテンツの識別子を含むキャッシュ要求を送信する第４のステップをさらに含むようにしても良い。このようにすれば、キャッシュの容量が不足している場合でも、送信先であるノードに予め関連付けられている他のノードにキャッシュさせることができるようになる。
【０１２３】
さらに、本制御方法は、（Ｅ）読み出されたノードの識別子とユーザに関連付けられたコンテンツの識別子とを対応付けて、第２のデータ格納部に格納する第５のステップと、（Ｆ）第２のユーザの識別子と当該第２のユーザに関連付けられたコンテンツの識別子と第２のユーザの識別子を読み取ったセンサに関する識別データとを受信する第６のステップと、（Ｇ）データ格納部から、第２のユーザの識別子を読み取ったセンサに関する識別データ又は第２のユーザの識別子及び当該第２のユーザの識別子を読み取ったセンサに関する識別データの組み合わせに対応付けられている第２のノードの識別子を読み出す第７のステップと、（Ｈ）第２のデータ格納部から、第２のユーザに関連付けられたコンテンツの識別子に対応付けられている第３のノードの識別子を読み出し、当該第３のノードが第２のノードに予め関連付けられているノードであるか判断する第８のステップと、（Ｉ）第３のノードが第２のノードに予め関連付けられているノードである場合には、第２のノード宛に、第２のユーザの識別子と第２のユーザに関連付けられたコンテンツの識別子と第３のノードから当該第２のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第１の通知又は第２のユーザの識別子と第３のノードが取得元として設定され且つ第２のユーザに関連付けられたコンテンツの識別子とを含む第２の通知を送信する第９のステップとをさらに含むようにしても良い。
【０１２４】
このようにすれば、例えば１つのコンテンツサーバにアクセスが集中するようなことを回避することで、コンテンツの取得によるサーバ負荷及びネットワーク負荷を下げることができるようになる。
【０１２５】
また、本制御方法は、（Ｊ）ユーザの識別子とユーザの識別子を読み取った第２のセンサに関する識別データとを受信する第１０のステップと、（Ｋ）第１のステップにおいて受信した識別データと第１０のステップにおいて受信した識別データとが異なる場合には、第２のステップにおいて識別子が読み出されたノード宛に、ユーザの識別子を含むデータ削除要求を送信する第１１のステップとをさらに含むようにしても良い。これによって、ユーザが他の場所に移動して使わなくなったキャッシュのデータを削除させることができるようになる。
【０１２６】
なお、上で述べた第１のステップにおいて、コンテンツの出力条件をさらに受信し、第３のステップにおいて、コンテンツの出力条件をさらに送信するようにしても良い。このようにすれば、状態に応じてコンテンツを切り替えて出力することもできるようになる。
【０１２７】
本実施の形態の第２の態様に係る制御方法は、第１のコンピュータにより実行され、（Ａ）第２のコンピュータから、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを受信し、ユーザの識別子とユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納する第１のステップと、（Ｂ）ユーザに関連付けられたコンテンツの識別子を用いて、第３のコンピュータからユーザに関連付けられたコンテンツを取得して、データ格納部に格納する第２のステップと、（Ｃ）第１のコンピュータに接続されている表示装置から、ユーザの識別子と状態データとを受信する第３のステップと、（Ｄ）受信された状態データが充足する出力条件とユーザの識別子とに対応付けられている識別子のコンテンツを、データ格納部から読み出し、読み出されたコンテンツを、表示装置に出力する第４のステップとを有する。
【０１２８】
このようにすれば、表示装置にユーザ及び状態に適してコンテンツを予め用意することができるので、迅速にコンテンツをユーザに対して出力することができる。
【０１２９】
第２の態様に係る制御方法において、上で述べた第２のステップが、（ｂ１）第３のコンピュータから、ユーザに関連付けられたコンテンツのデータ量のデータを受信するステップと、（ｂ２）データ量が所定量以上である場合に、第３のコンピュータからユーザに関連付けられたコンテンツを取得するステップとを含むようにしても良い。このようにすることで、ユーザに対する応答時間が要件を満たす限りにおいて、データ格納部の容量を有効活用できるようになる。
【０１３０】
さらに、第２の態様に係る制御方法は、（Ｅ）ユーザに関連付けられたコンテンツを格納できるだけの容量がデータ格納部に残っているか判断する第５のステップと、（Ｆ）第５のステップにおいてデータ格納部に容量が残っていないと判断された場合には、キャッシュ不能を表す通知を第２のコンピュータに送信する第６のステップと、（Ｇ）第４のステップにおいて、データ格納部において状態データが充足する出力条件とユーザの識別子とに対応付けられている識別子のコンテンツを、データ格納部から読み出せない場合には、予め定められた第４のコンピュータから当該コンテンツを取得して、取得したコンテンツを、表示装置に出力する第７のステップとをさらに含むようにしても良い。なお、第５のステップにおいてデータ格納部に容量が残っていると判断された場合には、第２のステップを実施するようにしても良い。第４のコンピュータを活用して、データ格納部の容量不足を補うものである。
【０１３１】
さらに、第２の態様に係る制御方法は、（Ｈ）第２のユーザの識別子を含むデータ削除要求を受信した場合、データ格納部において第２のユーザの識別子に対応付けられているコンテンツの識別子を特定する第８のステップと、（Ｉ）特定されたコンテンツの識別子が、データ格納部において第２のユーザ以外のユーザの識別子に対応付けられているか判断する第９のステップと、（Ｊ）特定されたコンテンツの識別子が、データ格納部において第２のユーザ以外のユーザの識別子に対応付けられていない場合には、第２のユーザの識別子とコンテンツの識別子とを対応付けるデータと、特定されたコンテンツの識別子から特定されるコンテンツのデータをデータ格納部から削除する第１０のステップとを含むようにしても良い。これによって、用いられることがないと分かったユーザのデータを削除することで、データ格納部の容量を有効活用することができるようになる。
【０１３２】
また、本実施の形態の第３の態様に係るシステムは、制御装置と、表示装置に接続されており、当該表示装置に出力すべきコンテンツを予めキャッシュする複数のノードとを有する。そして、制御装置は、（Ａ）ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とユーザの識別子を読み取ったセンサに関する識別データとを受信する受信部と、（Ｂ）センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に接続されているノードの識別子が格納されている第１のデータ格納部と、（Ｃ）第１のデータ格納部から、受信された識別データ又は受信された識別データ及び受信されたユーザの識別子の組み合わせに対応付けられているノードの識別子を特定する特定部と、（Ｄ）識別子が特定されたノード宛に、受信されたユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する送信部と有する。また、上記ノードの各々が、（Ｅ）制御装置から、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを受信し、ユーザの識別子とユーザに関連付けられたコンテンツの識別子とを対応付けて第２のデータ格納部に格納する受信部と、（Ｆ）ユーザに関連付けられたコンテンツの識別子を用いて、ユーザに関連付けられたコンテンツを取得して、第２のデータ格納部に格納する取得部と、（Ｇ）ノードに接続されている表示装置から、ユーザの識別子を受信し、受信されたユーザの識別子に対応付けられている識別子のコンテンツを、第２のデータ格納部から読み出し、読み出されたコンテンツを、表示装置に出力する出力処理部とを有する。
【０１３３】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１３４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１３５】
（付記１）
ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された前記識別データ、又は、受信された前記識別データと受信された前記ユーザの識別子との組み合わせに対応付けられているノードの識別子を読み出す処理と、
識別子が読み出されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する処理と、
を、コンピュータに実行させるためのプログラム。
【０１３６】
（付記２）
前記ユーザに関連付けられたコンテンツの識別子の送信先であるノードから、前記ユーザに関連付けられたコンテンツをキャッシュしないことを表す通知を受信した場合に、前記送信先であるノードに予め関連付けられている他のノード宛に、前記ユーザに関連付けられたコンテンツの識別子を含むキャッシュ要求を送信する処理
をさらに、前記コンピュータに実行させるための付記１記載のプログラム。
【０１３７】
（付記３）
読み出された前記ノードの識別子と前記ユーザに関連付けられたコンテンツの識別子とを対応付けて、第２のデータ格納部に格納する処理と、
第２のユーザの識別子と当該第２のユーザに関連付けられたコンテンツの識別子と前記第２のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
前記データ格納部から、前記第２のユーザの識別子を読み取ったセンサに関する識別データ又は前記第２のユーザの識別子及び当該第２のユーザの識別子を読み取ったセンサに関する識別データの組み合わせに対応付けられている第２のノードの識別子を読み出す処理と、
前記第２のデータ格納部から、前記第２のユーザに関連付けられたコンテンツの識別子に対応付けられている第３のノードの識別子を読み出し、当該第３のノードが前記第２のノードに予め関連付けられているノードであるか判断する処理と、
前記第３のノードが前記第２のノードに予め関連付けられているノードである場合には、前記第２のノード宛に、前記第２のユーザの識別子と前記第２のユーザに関連付けられたコンテンツの識別子と前記第３のノードから当該第２のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第１の通知又は前記第２のユーザの識別子と前記第３のノードが取得元として設定され且つ前記第２のユーザに関連付けられたコンテンツの識別子とを含む第２の通知を送信する処理と、
をさらに、前記コンピュータに実行させるための付記１又は２記載のプログラム。
【０１３８】
（付記４）
前記ユーザの識別子と前記ユーザの識別子を読み取った第２のセンサに関する第２の識別データとを受信する処理と、
受信した前記識別データと前記第２の識別データとが異なる場合には、前記データ格納部から識別子が読み出されたノード宛に、前記ユーザの識別子を含むデータ削除要求を送信する処理と、
をさらに、前記コンピュータに実行させるための付記１乃至３のいずれか１つ記載のプログラム。
【０１３９】
（付記５）
前記ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する際に、更に、前記コンテンツの出力条件を受信し、
前記識別子が読み出されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する際に、更に、前記コンテンツの出力条件を送信する
付記１乃至４のいずれか１つ記載のプログラム。
【０１４０】
（付記６）
第１のコンピュータに、
第２のコンピュータから、ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを受信し、前記ユーザの識別子と前記ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納する処理と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、第３のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する処理と、
前記第１のコンピュータに接続されている表示装置から、前記ユーザの識別子と状態データとを受信する処理と、
受信された前記状態データが充足する出力条件と前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する処理と、
を実行させるためのプログラム。
【０１４１】
（付記７）
前記コンテンツを取得する処理が、
前記第３のコンピュータから、前記ユーザに関連付けられたコンテンツのデータ量のデータを受信し、
前記データ量が所定量以上である場合に、前記第３のコンピュータから前記ユーザに関連付けられたコンテンツを取得する
処理を含む付記６記載のプログラム。
【０１４２】
（付記８）
前記ユーザに関連付けられたコンテンツを格納できるだけの容量が前記データ格納部に残っているかの判断を行う処理と、
前記判断において、前記データ格納部に容量が残っていないと判断された場合に、キャッシュ不能を表す通知を前記第２のコンピュータに送信する処理と、
前記データ格納部において前記状態データが充足する出力条件と前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出せない場合には、予め定められた第４のコンピュータから当該コンテンツを取得して、取得したコンテンツを、前記表示装置に出力する処理と、
をさらに前記第１のコンピュータに実行させ、
前記判断において、前記データ格納部に容量が残っていると判断された場合には、前記ユーザに関連付けられたコンテンツの識別子を用いて、前記第３のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する処理、
を前記第１のコンピュータに実行させる、
付記６記載のプログラム。
【０１４３】
（付記９）
第２のユーザの識別子を含むデータ削除要求を受信した場合、前記データ格納部において前記第２のユーザの識別子に対応付けられている前記コンテンツの識別子を特定する処理と、
特定された前記コンテンツの識別子が、前記データ格納部において前記第２のユーザ以外のユーザの識別子に対応付けられているか判断する処理と、
特定された前記コンテンツの識別子が、前記データ格納部において前記第２のユーザ以外のユーザの識別子に対応付けられていない場合には、前記第２のユーザの識別子と前記コンテンツの識別子とを対応付けるデータと、特定された前記コンテンツの識別子から特定されるコンテンツのデータを前記データ格納部から削除する処理と、
をさらに前記コンピュータに実行させるための付記６乃至８のいずれか１つ記載のプログラム。
【０１４４】
（付記１０）
ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子と前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された前記識別データ又は受信された前記識別データ及び受信された前記ユーザの識別子の組み合わせに対応付けられているノードの識別子を読み出す処理と、
識別子が読み出されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する処理と、
が、コンピュータにより実行される制御方法。
【０１４５】
（付記１１）
第１のコンピュータが、
第２のコンピュータから、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを受信し、前記ユーザの識別子と前記ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納する処理と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、第３のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する処理と、
前記第１のコンピュータに接続されている表示装置から、前記ユーザの識別子と状態データとを受信する処理と、
受信された前記状態データが充足する出力条件と前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する処理と、
を実行する制御方法。
【０１４６】
（付記１２）
ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する受信部と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部と、
前記データ格納部から、受信された前記識別データ、又は、受信された前記識別データと受信された前記ユーザの識別子との組み合わせに対応付けられているノードの識別子を特定する特定部と、
識別子が特定されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する送信部と、
を有する制御装置。
【０１４７】
（付記１３）
第１のコンピュータから、ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを受信し、前記ユーザの識別子と、前記ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを対応付けてデータ格納部に格納する受信部と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、第２のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する取得部と、
接続されている表示装置から、前記ユーザの識別子と状態データとを受信し、受信された前記状態データが充足する出力条件と、前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する出力処理部と、
を有する情報処理装置。
【０１４８】
（付記１４）
制御装置と、
表示装置に接続されており、当該表示装置に出力すべきコンテンツを予めキャッシュする複数のノードと、
を有し、
前記制御装置は、
ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する受信部と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に接続されているノードの識別子が格納されている第１のデータ格納部と、
前記第１のデータ格納部から、受信された前記識別データ、又は、受信された前記識別データと受信された前記ユーザの識別子との組み合わせに対応付けられているノードの識別子を特定する特定部と、
識別子が特定されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する送信部と、
有し、
前記複数のノードの各々が、
前記制御装置から、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを受信し、前記ユーザの識別子と前記ユーザに関連付けられたコンテンツの識別子とを対応付けて第２のデータ格納部に格納する受信部と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、前記ユーザに関連付けられたコンテンツを取得して、前記第２のデータ格納部に格納する取得部と、
前記ノードに接続されている表示装置から、前記ユーザの識別子を受信し、受信された前記ユーザの識別子に対応付けられている識別子のコンテンツを、前記第２のデータ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する出力処理部と、
を有するシステム。
【符号の説明】
【０１４９】
１０００  データセンタ
１１００  分析装置
１１０１  ＤＢ
１２００  制御装置
１３００  サーバ
１３０１  コンテンツ格納部
３０００  ネットワーク
１５００  センサ
１６０１，１６０２  ノード
１７０１，１７０２，１７０３  表示装置
１２１０  受信部
１２２０  データ格納部
１２３０  ノード特定部
１２４０  送信部
１６５１  受信部
１６５２  データ格納部
１６５３  取得部
１６５４  出力処理部
１００  データセンタ
１１０  分析装置
１１１  ＤＢ
１２０  制御装置
１３０  コンテンツサーバ
１３１  コンテンツ格納部
２１０  改札機
２２１，２２２  中継ノード
２３１，２３２，２３３  表示装置
１２１  受信部
１２２  ノード配置テーブル
１２３  ユーザ位置テーブル
１２４  関連付けデータテーブル
１２５  決定処理部
１２６  キャッシュデータテーブル
１２７  配布部
１２８  キャッシュ配布先テーブル
２２１１  受信部
２２１２  キャッシュ制御部
２２１３  キャッシュデータ格納部
２２１４  出力処理部
【図１】
0005786586.tif 000002
【図２】
0005786586.tif 000003
【図３】
0005786586.tif 000004
【図４】
0005786586.tif 000005
【図５】
0005786586.tif 000006
【図６】
0005786586.tif 000007
【図７】
0005786586.tif 000008
【図８】
0005786586.tif 000009
【図９】
0005786586.tif 000010
【図１０】
0005786586.tif 000011
【図１１】
0005786586.tif 000012
【図１２】
0005786586.tif 000013
【図１３】
0005786586.tif 000014
【図１４】
0005786586.tif 000015
【図１５】
0005786586.tif 000016
【図１６】
0005786586.tif 000017
【図１７】
0005786586.tif 000018
【図１８】
0005786586.tif 000019
【図１９】
0005786586.tif 000020
【図２０】
0005786586.tif 000021
【図２１】
0005786586.tif 000022
【図２２】
0005786586.tif 000023
【図２３】
0005786586.tif 000024
【図２４】
0005786586.tif 000025
【図２５】
0005786586.tif 000026
【図２６】
0005786586.tif 000027
【図２７】
0005786586.tif 000028
【図２８】
0005786586.tif 000029
【図２９】
0005786586.tif 000030
【図３０】
0005786586.tif 000031
【図３１】
0005786586.tif 000032
【図３２】
0005786586.tif 000033
【図３３】
0005786586.tif 000034
【図３４】
0005786586.tif 000035
【図３５】
0005786586.tif 000036
【図３６】
0005786586.tif 000037
【図３７】
0005786586.tif 000038
【図３８】
0005786586.tif 000039
【図３９】
0005786586.tif 000040
【図４０】
0005786586.tif 000041