JP5786586B2 - 分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置 - Google Patents

分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置 Download PDF

Info

Publication number
JP5786586B2
JP5786586B2 JP2011204583A JP2011204583A JP5786586B2 JP 5786586 B2 JP5786586 B2 JP 5786586B2 JP 2011204583 A JP2011204583 A JP 2011204583A JP 2011204583 A JP2011204583 A JP 2011204583A JP 5786586 B2 JP5786586 B2 JP 5786586B2
Authority
JP
Japan
Prior art keywords
user
identifier
content
node
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011204583A
Other languages
English (en)
Other versions
JP2013065248A (ja
Inventor
一峰 的場
一峰 的場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011204583A priority Critical patent/JP5786586B2/ja
Priority to US13/607,135 priority patent/US9442934B2/en
Publication of JP2013065248A publication Critical patent/JP2013065248A/ja
Application granted granted Critical
Publication of JP5786586B2 publication Critical patent/JP5786586B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Description

本技術は、コンテンツのデータを分散してキャッシュするための技術に関する。
例えば、行動ターゲッティング広告システムのような、ユーザの属性や状況に応じて適切な広告配信をするようなシステムによって、お勧めの広告を表示するシステムが求められている。
このようなシステムでは、リアルタイムにコンテンツを配信して表示することが求められる。例えば駅構内に設置された自動販売機で広告を見せようとした場合、ユーザは数秒程度しかパネルを見ないため、以下のような一連の処理を数秒で終わらせないと、ユーザに見てもらえない。具体的には、ユーザIDが入力されると、表示すべきコンテンツを決定して、そのコンテンツを自動販売機に配信して自動販売機の表示装置に表示する。
しかし、遠方のデータセンタ1カ所に集めたサーバ資源を利用して、表示すべきコンテンツを決定してそのコンテンツを自動販売機等に配信する処理を行う場合、通信の遅延、トラフィック集中によるネットワーク及びサーバ負荷の集中が問題になる。
この解決方法として、分散キャッシュ技術の適用が考えられる。例えば、複数のクライアントが接続されたキャッシュサーバと、当該複数のキャッシュサーバを制御する制御サーバとを有するシステムを用意する。そして、制御サーバは、キャッシュサーバに対して将来アクセス要求されるデータを予測し、当該予測されたデータに対して現在アクセス要求の無いキャッシュサーバへ、当該予測されたデータをコピーするものである。これによって、データへのアクセスを高速化し、サーバの負荷を削減できる。但し、予測はアクセス履歴によって行われるので、アクセスがこれまで無かったコンテンツについてはキャッシュサーバにコピーされることはない。コピーされていないコンテンツを表示する際には、遠隔地に蓄積されているコンテンツを取得してから表示することになるので、時間がかかってしまう。
一方、入力の手間をかけずに、人それぞれの地域密着度や訪問予定、あるいは他の個人のプロフィールや趣味及び嗜好を考慮して、より個人にマッチした地域情報を提供する技術が存在している。具体的には、(A)移動する個人あるいは物の位置情報と時刻情報を同時に取得し、(B)取得した位置情報と時刻情報の集合から時間軸を有する移動範囲を抽出し、(C)地域情報を取得し、(D)移動範囲情報と地域情報をマッチングし、(E)マッチングさせた情報を提示する。
さらに、広告を表示する複数の表示装置と、ユーザの携帯端末に蓄積された商品の購入履歴の情報を基にユーザ用の広告を選択し表示装置に配信する広告配信装置とを有する広告配信システムが知られている。このシステムにおいては、表示装置が、その近傍に存在するユーザの携帯端末から購入履歴を含む情報を受信し、受信した情報を購入履歴及びユーザの所在を示すユーザ位置情報として広告配信装置に送信する。広告配信装置が、携帯端末から購入履歴及びユーザ位置情報を受信し、当該履歴を複数個解析し、購入履歴から広告として表示すべき商品の情報を抽出する。そして、抽出した商品の情報から広告として表示する商品を選択し、当該商品に係る広告を、当該広告のコンテンツを格納した広告リポジトリから取得する。その後、ユーザ位置情報を基に、ユーザが次に接近する表示装置を割り出し、広告リポジトリから取得した広告のコンテンツを、当該割り出した表示装置に送信する。しかしながら、キャッシュの利用を考慮したものではないので、表示の遅延の問題が発生する。
特開2005−10970号公報 特開2004−102950号公報 特開2009−210887号公報
本技術の目的は、一側面として、ユーザに提示する可能性のあるコンテンツを早期にキャッシュできるようにするための技術を提供することである。
本技術の第1の態様に係る制御方法は、(A)ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、ユーザの識別子を読み取ったセンサに関する識別データとを受信するステップと、(B)センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された識別データ、又は、受信された識別データと受信されたユーザの識別子との組み合わせに対応付けられているノードの識別子を読み出すステップと、(C)識別子が読み出されたノード宛に、受信されたユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信するステップとを含む。
本技術の第2の態様に係る制御方法は、(A)第2のコンピュータから、ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを受信し、ユーザの識別子とユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納するステップと、(B)ユーザに関連付けられたコンテンツの識別子を用いて、第3のコンピュータからユーザに関連付けられたコンテンツを取得して、データ格納部に格納するステップと、(C)本制御方法を実行する第1のコンピュータに接続されている表示装置から、ユーザの識別子と状態データとを受信するステップと、(D)受信された状態データが充足する出力条件とユーザの識別子とに対応付けられている識別子のコンテンツを、データ格納部から読み出し、読み出されたコンテンツを、表示装置に出力するステップとを含む。
ユーザに提示する可能性のあるコンテンツを早期にキャッシュできるようになる。
図1は、第1の実施の形態に係るシステム概要を示す図である。 図2は、第1の実施の形態に係る制御装置の機能ブロック図である。 図3は、制御装置のデータ格納部に格納されるデータの一例を示す図である。 図4は、制御装置のデータ格納部に格納されるデータの一例を示す図である。 図5は、第1の実施の形態に係るノードの機能ブロック図である。 図6は、第1の実施の形態における処理の処理フローを示す図である。 図7は、第1の実施の形態における処理の処理フローを示す図である。 図8は、第2の実施の形態に係るシステム概要を示す図である。 図9は、第2の実施の形態に係る制御装置の機能ブロック図である。 図10は、ノード配置テーブルの一例を示す図である。 図11は、ユーザ位置テーブルの一例を示す図である。 図12は、関連付けデータテーブルの一例を示す図である。 図13は、第2の実施の形態に係る中継ノードの機能ブロック図を示す図である。 図14は、第2の実施の形態における受信処理の処理フローを示す図である。 図15は、第2の実施の形態における決定処理の処理フローを示す図である。 図16は、キャッシュデータテーブルの一例を示す図である。 図17は、第2の実施の形態における配布処理の処理フローを示す図である。 図18は、定義データの一例を示す図である。 図19は、中継ノードにおける受信部による処理の処理フローを示す図である。 図20は、キャッシュ更新処理の処理フローを示す図である。 図21は、キャッシュテーブルの一例を示す図である。 図22は、第2の実施の形態における中継ノード及び表示装置の処理を説明するための図である。 図23は、第2の実施の形態における中継ノード及び表示装置の処理を説明するための図である。 図24は、第4の実施の形態に係る制御装置の機能ブロック図である。 図25は、第4の実施の形態における受信処理の処理フローを示す図である。 図26は、キャッシュ配布先テーブルの一例を示す図である。 図27は、第4の実施の形態における決定処理の処理フローを示す図である。 図28は、第4の実施の形態における配布処理の処理フローを示す図である。 図29は、第5の実施の形態における中継ノード及び表示装置の処理の処理フローを示す図である。 図30は、第6の実施の形態における処理を説明するための図である。 図31は、第6の実施の形態におけるノード配置テーブルの一例を示す図である。 図32は、第7の実施の形態における配布処理の処理フローを示す図である。 図33は、第7の実施の形態における配布処理の処理フローを示す図である。 図34は、第8の実施の形態における受信処理の処理フローを示す図である。 図35は、第8の実施の形態に係るユーザ位置テーブルの一例を示す図である。 図36は、第8の実施の形態に係る関連付けデータテーブルの一例を示す図である。 図37は、第8の実施の形態における決定処理の処理フローを示す図である。 図38は、第8の実施の形態における配布処理の処理フローを示す図である。 図39は、削除処理の処理フローを示す図である。 図40は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に、本実施の形態のシステム概要を示す。例えばデータセンタ1000には、分析装置1100と、制御装置1200と、サーバ1300とが配置されている。分析装置1100は、ユーザIDに対応付けて配信すべきコンテンツのIDを格納するデータベース(DB)1101を有する。また、サーバ1300は、コンテンツを格納するコンテンツ格納部1301を管理している。データセンタ1000は、インターネットなどのネットワーク3000を介して1又は複数のエリア(図1ではエリアAのみ示す)に設置されたセンサ及びノードに接続されている。
各エリアには、1又は複数のセンサ1500と、ユーザに提示すべきコンテンツをキャッシュする1又は複数のノード1601及び1602と、ノード1601及び1602のいずれかに接続されている表示装置1701乃至1703とが設置されている。各ノードには、1又は複数の表示装置が接続されている。センサ1500は、ユーザが有する例えば非接触式IC(Integrated Circuit)カードなどからユーザIDを読み出し、センサ1500が設置されているエリアの識別子(ID)(又はセンサ1500の識別子)と共に、ネットワーク3000を介して分析装置1100に出力する。ノード1601及び1602は、制御装置1200からの指示に応じてサーバ1300からコンテンツのデータを取得してキャッシュする。表示装置1701乃至1703は、エリア内のセンサ1500とは異なる位置に配置されている。センサ1500は、例えばエリアの入り口などに配置されており、表示装置1701乃至1703は、エリア内でユーザが立ち止まるような場所に配置される。また、表示装置1701乃至1703は、ユーザが有する非接触式ICカードからユーザIDを読み取るセンサを有している。他のセンサを有する場合もある。例えば表示装置1701は、ユーザIDを読み取ると、接続されているノード1601に当該ユーザIDを出力する。これに対して、ノード1601は、ユーザIDに対応付けられているコンテンツのデータをキャッシュから特定し、表示装置1701に出力する。表示装置1701は、コンテンツのデータを受信すると、表示する。
図2に、本実施の形態における制御装置1200の機能ブロック図を示す。制御装置1200は、受信部1210と、データ格納部1220と、ノード特定部1230と、送信部1240とを有する。受信部1210は、分析装置1100から、ユーザIDとエリアIDとユーザIDに対応付けられているコンテンツのIDとを受信し、ノード特定部1230に出力する。ノード特定部1230は、エリアID又はエリアID及びユーザIDの組み合わせで、データ格納部1220を検索して、該当するノードIDを読み出して、ユーザID及びコンテンツIDの組み合わせとノードIDとを、送信部1240に出力する。送信部1240は、ユーザID及びコンテンツIDの組み合わせを、ノードIDで特定されるノードに対して送信する。
データ格納部1220は、例えば図3に示すようなデータを格納している。図3の例では、エリアIDに対応付けて、当該エリアに配置されているノードのIDが登録されている。なお、データ格納部1220は、例えば図4に示すようなデータが格納されている場合もある。エリアIDとユーザIDとの組み合わせに対応付けてノードIDが登録されている。例えば、あるエリアAにユーザXが来た場合には、ノードa2を利用する可能性が高いことが知られている場合には、このようなデータを用いるようにしても良い。
また、図5に、本実施の形態におけるノード1601の機能ブロック図を示す。ノード1601は、受信部1651と、データ格納部1652と、取得部1653と、出力処理部1654とを有する。受信部1651は、制御装置1200から、ユーザIDとコンテンツIDの組み合わせを受信すると、データ格納部1652に格納する。取得部1653は、データ格納部1652に新たなコンテンツIDが格納されると、サーバ1300から当該コンテンツIDのコンテンツのデータを取得して、データ格納部1652に格納する。これによって、ノード1601におけるキャッシュの準備ができたことになる。そして、出力処理部1654は、表示装置1701からユーザIDを受信すると、データ格納部1652を当該ユーザIDで検索して対応付けられているコンテンツIDを特定し、当該コンテンツIDのコンテンツのデータを読み出して、表示装置1701に出力する。
次に、図6及び図7を用いて、本システムの処理について説明する。ユーザが、エリアAの例えば入り口に設置されているセンサ1500の場所に来て、ICカードなどをセンサ1500にかざす動作を行ったものとする。そうすると、センサ1500が、ユーザが保持するICカードなどからユーザIDを読み取り(図6:ステップS1)、読み取ったユーザIDとセンサ1500が属するエリアID(場合によってはセンサ1500のID)を、分析装置1200に送信する(ステップS3)。分析装置1200は、センサ1500から、ユーザID及びエリアIDを受信すると(ステップS5)、ユーザIDでDB1101を検索して、当該ユーザIDに対応付けられているコンテンツIDを抽出する(ステップS7)。なお、コンテンツIDには出力条件(例えば温度条件)が付与されている場合もあり、このような場合にはコンテンツIDと出力条件とを併せて抽出する。例えば、気温が高い場合にはコンテンツPを気温が低い場合にはコンテンツQを出力する場合には、2つのコンテンツIDがそれぞれの出力条件と共に抽出される。また、センサ1500からセンサのIDを受信した場合には、センサIDとエリアIDとの対応付けから、受信したセンサIDをエリアIDに変換することもある。
そして、分析装置1100は、ユーザIDとエリアIDとコンテンツIDとを、制御装置1200に送信する(ステップS9)。制御装置1200の受信部1210は、分析装置1100から、ユーザID、エリアID及びコンテンツIDを受信すると(ステップS11)、ノード特定部1230に、ユーザID、エリアID及びコンテンツIDを出力する。ノード特定部1230は、データ格納部1220において、エリアID又はエリアID及びユーザIDの組み合わせに対応付けられている1又は複数のノードIDを特定し、ユーザID、コンテンツID及びノードIDを送信部1240に出力する(ステップS13)。そして処理は端子Aを介して図7の処理に移行する。
図7の処理の説明に移行して、制御装置1200の送信部1240は、ノード特定部1230から取得したノードIDから特定されるノード宛に、ユーザID及びコンテンツIDの組み合わせを送信する(ステップS15)。例えば、エリアAのノード1601の受信部1651は、制御装置1200からユーザID及びコンテンツIDの組み合わせを受信すると、データ格納部1652に格納する(ステップS17)。そうすると、取得部1653は、新たにデータ格納部1652に格納されたコンテンツIDに係るコンテンツのデータがデータ格納部1652に格納されているか確認する。当該コンテンツのデータがデータ格納部1652に格納されていない場合には、取得部1653は、当該コンテンツIDに係るコンテンツの要求をサーバ1300に送信する(ステップS19)。サーバ1300は、ノード1601から、コンテンツIDを含むコンテンツの要求を受信すると(ステップS21)、コンテンツ格納部1301から当該コンテンツのデータを読み出して、ノード1601に送信する(ステップS23)。ノード1601の取得部1653は、サーバ1300からコンテンツのデータを受信すると、データ格納部1652に格納する(ステップS25)。このような処理を実施することで、ユーザが表示装置1701乃至1703のところまで移動してきた時には、データ格納部1652に、予めコンテンツがキャッシュされているので、適切なコンテンツを、直ぐにユーザに提示できるようになる。
すなわち、表示装置1701が、ユーザのICカードなどからユーザIDを読み取り、接続されているノード1601に送信する(ステップS31)。ノード1601の出力処理部1654は、表示装置1701からユーザIDを受信すると(ステップS33)、データ格納部1652において、受信されたユーザIDに対応付けられているコンテンツIDを特定する(ステップS35)。ここで、コンテンツIDを表示装置1701に戻すようにして、再度表示装置1701からコンテンツIDに係るコンテンツの要求があった場合に、以下の処理を実施するようにしても良い。
そして、出力処理部1654は、特定されたコンテンツIDに係るコンテンツのデータを、データ格納部1652から読み出し、要求元の表示装置1701に送信する(ステップS37)。そして、表示装置1701は、ノード1601からコンテンツのデータを受信すると、当該コンテンツのデータを表示部に表示する(ステップS39)。
以上のような処理を実施することで、センサ1500の周辺に設置されている又は関連する位置に配置されている表示装置1701乃至1703に接続されているノード1601及び1602に、センサ1500で入場が検出されたユーザのためのデータを予めキャッシュするように準備する。そのため、ユーザが表示装置1701に到着したことを検出した場合には、当該表示装置1701に直ぐに適切なコンテンツを提示することができるようになる。
なお、表示装置1701に温度センサなどが搭載されており、当該温度センサからの状態データを、ユーザIDと共にノード1601に出力する場合には、ユーザIDと、状態データが充足する出力条件とに対応付けられているコンテンツIDを特定して、当該コンテンツIDに係るコンテンツを、表示装置1701に送信するようにしても良い。
[実施の形態2]
本実施の形態に係るシステムの概要を図8に示す。例えばデータセンタ100には、分析装置110と、制御装置120と、コンテンツサーバ130とが配置されている。分析装置110は、ユーザIDに対応付けて出力条件及び出力すべきコンテンツのIDを格納するデータベース(DB)111を有する。また、コンテンツサーバ130は、コンテンツを格納するコンテンツ格納部131を管理している。データセンタ100は、インターネットなどのネットワーク300を介して1又は複数の駅(図8では駅Aのみ示す)に設置された改札機210及び中継ノード221及び222に接続されている。なお、駅だけではなく、商店街、ショッピングセンター、百貨店、スーパーマーケット、遊園地、動物園その他の商業施設などであってもよい。
例えば各駅には、1又は複数の改札機210と、ユーザに提示すべきコンテンツをキャッシュする1又は複数の中継ノード221及び222と、中継ノード221及び222のいずれかに接続されている表示装置231乃至233とが設置されている。各中継ノードには、1又は複数の表示装置が接続されている。改札機210は、ユーザが有する例えば非接触式ICカードなどからユーザIDを読み出し、改札機210が設置されている駅の識別子(ID)(又は改札機210の識別子)と共に、ネットワーク300を介して分析装置110に出力する。
中継ノード221及び222は、制御装置120からの指示に応じてコンテンツサーバ130からコンテンツのデータを取得してキャッシュする。表示装置231乃至233は、改札機210とは異なる位置に配置されている。
改札機210は、駅構内への入退場を検出できる位置に配置されており、表示装置231乃至233は、駅構内でユーザが立ち止まるような場所に配置される。また、表示装置231乃至233は、ユーザが有する非接触式ICカードからユーザIDを読み取るセンサと、温度センサなどの他のセンサとを有する。例えば表示装置231は、ユーザIDを読み取ると、温度センサなどの他のセンサから状態データを取得し、接続されている中継ノード221に当該ユーザID及び状態データを出力する。これに対して、中継ノード231は、ユーザIDと状態データが充足する出力条件に対応付けられているコンテンツのデータをキャッシュから読み出して、表示装置231に出力する。表示装置231は、コンテンツのデータを受信すると、表示部に表示する。
図9に、制御装置120の機能ブロック図を示す。制御装置120は、受信部121と、ノード配置テーブル122と、ユーザ位置テーブル123と、関連付けデータテーブル124と、決定処理部125と、キャッシュデータテーブル126と、配布部127とを有する。受信部121は、分析装置110からデータを受信し、ユーザ位置テーブル123又は関連付けデータテーブル124に格納する。ユーザ位置テーブル123は、各ユーザの位置データを格納するテーブルである。関連付けデータテーブル124は、ユーザIDと、出力条件と、コンテンツIDとの関連付けデータを格納するテーブルである。決定処理部125は、ノード配置テーブル122、ユーザ位置テーブル123及び関連付けデータテーブル124から、中継ノードのノードIDと当該中継ノードにキャッシュすべきコンテンツのIDとの対応付けを、キャッシュデータテーブル126に格納する。配布部127は、関連付けデータテーブル124と、ユーザ位置テーブル123と、ノード配置テーブル122とから、関連付けデータを含む定義データを生成し、当該定義データの配布先ノードを特定して、定義データを当該配布先ノードに送信する。
図10に、ノード配置テーブル122の一例を示す。図10の例では、中継ノードのIDであるノードIDと、改札機が設置されている駅(一般的にはユーザIDを読み取るセンサが設置されているエリア)のIDであるLocationIDとが対応付けて格納されている。例えば、駅Aを表すLocationIDであるStationAに対応付けて、ノードIDであるA1及びA2が登録されている。
図11に、ユーザ位置テーブル123の一例を示す。図11の例では、ユーザの識別子であるユーザIDと、改札機が設置されている駅のIDであるLocationIDと、最新更新日時とが登録されるようになっている。ここではユーザID毎に、LocationIDと最新更新日時とを登録するようになっているが、移動の履歴を蓄積するようにしても良い。
図12に、関連付けデータテーブル124の一例を示す。図12の例では、ユーザIDと、コンテンツの識別子であるCIDと、出力条件とが対応付けて格納されている。例えば温度が25度未満という条件を表すtemp=coldという出力条件が満たされる場合には、ユーザIDがUserAのユーザに対しては、CIDがXであるコンテンツを出力し、温度が25度以上という条件を表すtemp=hotという出力条件が満たされる場合には、同じユーザに対して、CIDがYであるコンテンツを出力するような関連付けデータが登録されている。なお、CIDは、例えばURL(Uniform Resource Locator)で表される。すなわち、CIDには、当該コンテンツの取得元サーバのアドレスが含まれる。
次に、図13に、中継ノード221乃至222の機能ブロック図を示す。中継ノード221は、受信部2211と、キャッシュ制御部2212と、キャッシュデータ格納部2213と、出力処理部2214とを有する。受信部2211は、制御装置120から関連付けデータを含む定義データを受信して、キャッシュ制御部2212に出力する。キャッシュ制御部2212は、受信部2211から定義データを受け取ると、キャッシュデータ格納部2213に格納する。また、キャッシュ制御部2212は、キャッシュデータ格納部2213に、定義データに含まれるCIDに係るコンテンツのデータが格納されていない場合には、コンテンツサーバ130又は他の中継ノードなどからコンテンツのデータを取得して、キャッシュデータ格納部2213に格納する。なお、キャッシュ制御部2212は、定義データ自体もキャッシュデータ格納部2213に格納されていない場合には、分析装置110から関連付けデータを取得することもある。さらに、出力処理部2214は、表示装置231からのユーザID及び状態データに応じて、キャッシュデータ格納部2213において、当該ユーザIDに係るユーザに現在適切とされるコンテンツを特定して、表示装置231に出力する。なお、キャッシュデータ格納部2213においてデータが不足している場合には、出力処理部2214は、キャッシュ制御部2212に要求する。
次に、図14乃至図23を用いて、制御装置120における処理を説明する。まず、図14に、制御装置120の受信部121の処理の処理フローを示す。この処理の前に、改札機210は、ユーザが保持するICカードなどからユーザIDを読み出し、当該ユーザIDとLocationIDとを分析装置110に送信する。分析装置110は、受信したユーザIDに対応付けられているCID及び出力条件のデータをDB111から読み出し、ユーザID及びLocationIDと、ユーザID、CID及び出力条件のデータとを、制御装置120に送信する。
そして、制御装置120の受信部121は、分析装置110からデータを受信すると(図14:ステップS101)、当該データがユーザ位置データであるか判断する(ステップS103)。本実施の形態では、ユーザIDとLocationIDとを含むユーザ位置データと、ユーザIDとCIDと出力条件のデータとを含む関連付けデータとが、分析装置110から送信される。受信したデータがユーザ位置データであれば、受信部121は、ユーザ位置テーブル123において、受信したユーザIDに対応付けて、受信したLocationIDを登録すると共に、現在時刻を最新更新日時として登録する(ステップS105)。既に、受信したユーザIDが登録されている場合には、当該ユーザIDのエントリを、受信したLocationID及び現在時刻で更新する。一方、受信したデータが関連付けデータであれば、受信部121は、ユーザIDとCIDと出力条件のデータとで、関連付けデータテーブル124を更新する(ステップS107)。例えば、ユーザIDとCIDと出力条件のデータとを、関連付けデータテーブル124に追加登録する。但し、受信したユーザIDについてのレコードが既に登録されている場合には、上書き更新を行うようにしても良い。
次に、図15に、制御装置120の決定処理部125の処理の処理フローを示す。決定処理部125は、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(図15:ステップS111)。また、決定処理部125は、関連付けデータテーブル124から、更新に係るユーザIDに対応付けられているCIDを特定する(ステップS113)。そして、決定処理部125は、ノード配置テーブル122から、LocationIDに対応付けられているノードIDを特定する(ステップS115)。
また、決定処理部125は、中継ノードにおけるコンテンツの最低保持期限を、例えば現時刻から所定時間(例えば1時間)後に決定する(ステップS117)。一律に所定時間後に設定するのではなく、ユーザID毎に所定時間を変更するようにしても良い。具体的には、分析装置110から所定時間の指定があればその指定に従うようにしても良いし、制御装置120にユーザの滞在時間についてのデータが存在する場合には、そのデータを用いても良い。その後、決定処理部125は、特定されたノードID及びCIDと決定された最低保持期限とで、キャッシュデータテーブル126を更新する(ステップS119)。
キャッシュデータテーブル126には、例えば図16に示すようなデータが格納される。図16の例では、ノードIDと、CIDと、最低保持期限とが登録されるようになっている。ステップS113で複数のCIDが特定され、ステップS115で複数のノードIDが特定された場合には、それらの組み合わせをキャッシュデータテーブル126に登録する。例えばノードIDがA1及びA2で、CIDがX及びYであれば、A1とXとのエントリと、A1とYとのエントリと、A2とXとのエントリと、A2とYとのエントリとを登録することになる。なお、既にノードIDとCIDとの同一の組み合わせについてエントリが登録されている場合には、最低保持期限を更新する。
なお、キャッシュデータテーブル126のエントリについては、最低保持期限が過ぎれば自動的に削除されるものとする。
次に、図17を用いて、制御装置120における配布部127の処理を説明する。配布部127は、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(図17:ステップS121)。なお、LocationIDが更新されたユーザIDを、決定処理部125から通知される場合もある。そして、配布部127は、関連付けデータテーブル124から、更新に係るユーザIDについての関連付けデータを読み出す(ステップS123)。すなわち、特定されたユーザIDに対応付けられているCID及び出力条件のデータを読み出す。
さらに、配布部127は、ノード配置テーブル122から、更新に係るLocationIDに対応付けられているノードIDを、配布先ノードのノードIDとして特定する(ステップS124)。そして、配布部127は、キャッシュデータテーブル126から、配布先ノードのノードID及び読み出した関連付けデータに含まれるCIDについてのデータを読み出す(ステップS125)。例えばUserAが更新に係るユーザIDとして特定された場合には、関連付けデータテーブル124(図12)において第1及び第2行目が関連付けデータとして特定され、さらにノード配置テーブル122(図10)において第1及び第2行目のノードA1及びA2が配布先ノードとして特定される。そして、キャッシュデータテーブル126(図16)において、第1乃至第4行目のエントリが特定される。
そうすると、配布部127は、ステップS123及びS125で読み出されたデータから定義データを生成し(ステップS129)、当該定義データを、ステップS124で特定された配布先ノード宛に送信する(ステップS131)。
定義データは、例えば図18のようなデータである。図18の例では、ユーザIDと出力条件のデータと最低保持期限とCIDとを含む。このようなデータを受信すれば、中継ノード221及び222は、表示装置231からコンテンツを要求された場合に、関連付けデータを分析装置110から取得することなく、提示すべきコンテンツを特定できる。さらに以下で述べるような処理を中継ノード221が予め実施することで、提示すべきコンテンツ自体も予めキャッシュすることができるので、表示装置231がユーザに対して迅速に適切なコンテンツを表示することができるようになる。
次に、図19乃至図23を用いて、中継ノードの処理について説明する。中継ノード221の受信部2211は、制御装置120から定義データを受信すると(図19:ステップS151)、定義データをキャッシュ制御部2212に出力する。キャッシュ制御部2212は、受信部2211から定義データを受信すると、定義データに含まれるユーザID、出力条件のデータ及びCIDで、キャッシュデータ格納部2213を検索して、最低保持期限以外が同一であるエントリが存在するか、すなわち利用可能な定義データが既にキャッシュ済みであるか判断する(ステップS153)。最低保持期限以外が同一であるエントリが既にキャッシュデータ格納部2213に格納されており、利用可能となっている場合には、キャッシュ制御部2212は、受信した定義データに含まれる最低保持期限の方が現在の最低保持期限より後であれば、受信した定義データに含まれる最低保持期限で更新する(ステップS155)。受信した定義データに含まれるCIDについてのエントリに含まれる最低保持期限も更新する。そして処理を終了する。
一方、定義データに含まれるユーザID、出力条件のデータ及びCIDの組み合わせがキャッシュデータ格納部2213に格納されていない場合には、キャッシュ制御部2212は、受信した定義データを、キャッシュデータ格納部2213に追加登録する(ステップS157)。さらに、キャッシュ制御部2212は、受信した定義データに含まれるCIDについてのコンテンツについてキャッシュ更新処理を実施する(ステップS159)。そして処理を終了する。なお、キャッシュ更新処理については、図20を用いて説明する。なお、図20の処理は、定義データに含まれるCID毎に行われる。
まず、キャッシュ制御部2212は、定義データに含まれるCIDで特定されるコンテンツのデータがキャッシュ済みであるか判断する(図20:ステップS160)。例えば図21に示すようなキャッシュテーブルが、キャッシュデータ格納部2213に格納されているものとする。すなわち、図21の例では、ユーザIDと出力条件のデータと最低保持期限とCIDとを含む定義データについてのエントリと、CIDと最低保持期限とCIDで特定されるコンテンツのファイル名とコンテンツ有効期限(コンテンツサーバ130等から得られるデータ)とを含むコンテンツ関連データについてのエントリとが登録されるようになっている。このようにキャッシュデータ格納部2213に格納されているコンテンツのデータについては、このキャッシュテーブルに登録されるので、CIDがIDの列に登録されているか否かでキャッシュ済みであるか否かを判断できる。他のユーザについての定義データを処理した際に同一のコンテンツのデータを既に取得している場合があるので、本ステップを実施する。なお、自動的に有効期限切れのエントリ及びコンテンツのデータについては削除し、自動的に最低保持期限切れのエントリ及びコンテンツのデータについても削除する。
CIDで特定されるコンテンツがキャッシュ済みである場合には、キャッシュ制御部2212は、定義データに含まれるCIDを含む、コンテンツ関連データについてのエントリに含まれる最低保持期限より、定義データに含まれる最低保持期限の方が後であれば、定義データに含まれる最低保持期限でコンテンツ関連データについてのレコードにおける最低保持期限を更新する(ステップS173)。そして呼び出し元の処理に戻る。
一方、CIDで特定されるコンテンツがキャッシュデータ格納部2213に格納されていない場合には、キャッシュ制御部2212は、定義データに含まれるCIDが示すサーバ(主にコンテンツサーバ130)にCIDが示すコンテンツのデータを要求して、当該コンテンツのデータを取得する(ステップS161)。そして、キャッシュ制御部2212は、キャッシュデータ格納部2213に、取得したコンテンツのデータを格納できるだけの空き容量が存在するか判断する(ステップS163)。取得したコンテンツのデータを格納できるだけの空き容量が存在する場合には、キャッシュ制御部2212は、取得したコンテンツのコンテンツ関連データについてのエントリをキャッシュデータ格納部2213のテーブルに追加して、取得したコンテンツのデータをキャッシュデータ格納部2213に格納する(ステップS165)。そして呼び出し元の処理に戻る。
一方、キャッシュデータ格納部2213に、取得したコンテンツのデータを格納できるだけの空き容量が存在しない場合には、キャッシュ制御部2212は、有効期限切れのエントリ、即ち現時刻が有効期限より後になっているエントリがキャッシュテーブルに存在するか判断する(ステップS167)。存在する場合には、キャッシュ制御部2212は、当該エントリ及び当該エントリについてのコンテンツのデータをキャッシュデータ格納部2213において削除する(ステップS171)。そしてステップS165に移行する。
一方、有効期限切れエントリが存在しない場合には、キャッシュ制御部2212は、最低保持期限超過のコンテンツのデータ(現時刻が最低保持期限より後のエントリに係るコンテンツ)がキャッシュデータ格納部2213に存在するか判断する(ステップS169)。最低保持期限超過のコンテンツのデータがキャッシュデータ格納部2213に存在する場合には、ステップS171に移行する。一方、最低保持期限超過のコンテンツのデータがキャッシュデータ格納部2213に存在しない場合には、呼び出し元の処理に戻る。
このような処理を実施することで、実際にユーザが表示装置231乃至233の場所まで移動して来るまでに、キャッシュデータ格納部2213に、定義データ及び定義データに関連するコンテンツのデータが準備できるようになる。
次に、表示装置231までユーザがやってきて、表示装置231のセンサでICカードなどからユーザIDを読み取った場合の処理を、図22及び図23を用いて説明する。なお、ユーザIDを読み取った段階で、温度センサなどにより温度を測定することで、状態データを生成する。状態データは温度データそのものの場合もあれば、高温又は低温というような判断結果であってもよい。そして、表示装置231は、読み取ったユーザID及び生成した状態データを中継ノード221に送信する(図22:ステップS181)。これに対して、中継ノードの出力処理部2214は、表示装置231からユーザID及び状態データを受信すると(ステップS183)、キャッシュテーブルにおいて、ユーザIDと、状態データが充足する出力条件とに対応付けられているCIDを探索する(ステップS185)。CIDが見つかってキャッシュヒットと判断できる場合には(ステップS187:Yesルート)、出力処理部2214は、CIDを表示装置231に返信する(ステップS191)。表示装置231は、中継ノード221からCIDを受信する(ステップS193)。そして図23の処理に端子B及びCを介して移行する。
一方、CIDが見つからず、キャッシュミスとなった場合には(ステップS187:Noルート)、出力処理部2214は、ユーザID及び状態データをキャッシュ制御部2212に出力する。そして、キャッシュ制御部2212は、分析装置110に対してユーザID及び状態データを送信して、分析装置110から、ユーザID及び状態データに対応するCIDを取得する(ステップS189)。そして、キャッシュ制御部2212は、出力処理部2214にCIDを出力する。出力処理部2214は、キャッシュ制御部2212からCIDを受信する。そして処理はステップS191に移行する。
図23の処理の説明に移行して、表示装置231は、受信したCIDのコンテンツ要求を中継ノード221に送信する(ステップS195)。中継ノード221の出力処理部2214は、表示装置231から、CIDのコンテンツ要求を受信すると(ステップS197)、CIDでキャッシュテーブルを検索する(ステップS199)。受信したCIDがIDの列に登録されている、即ちキャッシュヒットした場合には(ステップS201:Yesルート)、出力処理部2214は、キャッシュデータ格納部2213からCIDに係るコンテンツのデータを読み出して、当該コンテンツのデータを表示装置231に送信する(ステップS205)。一方、受信したCIDがIDの列に登録されていない、即ちキャッシュミスした場合(ステップS201:Noルート)、出力処理部2214は、キャッシュ制御部2212に、CIDに係るコンテンツのデータの取得要求を出力し、キャッシュ制御部2212は、当該取得要求に応じて、キャッシュ更新処理(図20)を実施する(ステップS203)。そして処理はステップS205に移行する。但し、コンテンツのデータが、キャッシュデータ格納部2213に格納できない場合でも、キャッシュ制御部2212は、取得したコンテンツのデータを出力処理部2214に出力する。また、キャッシュ更新処理を実施せずに、キャッシュ制御部2212が単にコンテンツのデータを取得して、出力処理部2214に出力するようにしても良い。
表示装置231は、中継ノード221からコンテンツのデータを受信して、表示部に表示する(ステップS207)。これにより、ユーザにコンテンツを提示することができるようになる。
このようにキャッシュデータ格納部2213にコンテンツのデータが格納されている場合には、迅速に当該コンテンツをユーザに提示することができる。
[実施の形態3]
キャッシュデータ格納部2213の容量が大きければ、空き容量に配慮することなくコンテンツのデータを蓄積できるが、実際には空き容量が不足する場合も出てくる。そこで、本実施の形態では、コンテンツのデータ量が所定量(表示装置231からコンテンツを提示するまでの時間が予め定められた時間以内となるようなデータ量)未満である場合には、その都度コンテンツサーバ130から取得して、表示装置231に出力する。具体的には、キャッシュ更新処理において、一旦CIDに係るコンテンツの要求をコンテンツサーバ130に送信して、コンテンツサーバ130から送信されてくるコンテンツのデータのパケット等におけるヘッダ(例えばHTTP(Hyper Text Transfer Protocol)の場合、ヘッダ部分に含まれるContent-Size欄)に含まれるコンテンツのサイズのデータから、コンテンツのデータをキャッシュデータ格納部2213に格納するか否かを判断するようにしても良い。なお、データ量だけではなく、コンテンツのデータの取得にかかる時間を計測して、時間をベースに判断するようにしても良い。
[実施の形態4]
図10に示すようなノード配置テーブル122をベースに、定義データの配布先ノードを特定する例を第2の実施の形態では採用していた。しかしながら、ユーザによっては駅Aの構内に配置されている表示装置231乃至233のうち、実際に利用する表示装置に偏りがある場合もある。偏りがある場合には、よく利用する表示装置が接続されている中継ノードにのみ定義データを配信してコンテンツデータをキャッシュする方が効率的である。
そのため、例えば中継ノードにおいて、ユーザIDと当該ユーザIDを読み取った表示装置に接続されている中継ノードのノードIDとを含むログを蓄積しておき、分析装置110に所定時間毎に当該ログをアップロードする。そして、分析装置110が、ユーザ毎に、当該ユーザの利用頻度が高い表示装置が接続されている中継ノード及びその中継ノードが配置されている駅のLocationIDとを特定して、ユーザIDとLocationIDとノードIDとの組み合わせを、制御装置120に送信する。制御装置120は、分析装置110からこのようなデータを受信すると、以下で述べるキャッシュ配布先テーブルに蓄積しておき、定義データの配布先ノードを絞り込むものとする。
図24に、本実施の形態に係る制御装置120bの機能ブロック図を示す。制御装置120bは、受信部121bと、ノード配置テーブル122と、ユーザ位置テーブル123と、関連付けデータテーブル124と、決定処理部125bと、キャッシュデータテーブル126と、配布部127bと、キャッシュ配布テーブル128とを有する。
受信部121bは、分析装置110からデータを受信し、ユーザ位置テーブル123、関連付けデータテーブル124又はキャッシュ配布先テーブル128に格納する。ユーザ位置テーブル123は、各ユーザの位置データを格納するテーブルである。関連付けデータテーブル124は、ユーザIDと、出力条件と、コンテンツIDとを含む関連付けデータを格納するテーブルである。キャッシュ配布先テーブル128は、ユーザIDと、LocationIDと、中継ノードのノードIDとを対応付けて格納するテーブルである。決定処理部125bは、ノード配置テーブル122、ユーザ位置テーブル123、関連付けデータテーブル124及びキャッシュ配布先テーブル128から、中継ノードのノードIDと当該中継ノードにキャッシュすべきコンテンツのIDとの対応付けを、キャッシュデータテーブル126に格納する。配布部127bは、ノード配置テーブル122、キャッシュ配布先テーブル128、ユーザ位置テーブル123及び関連付けデータテーブル124から、関連付けデータを含む定義データを生成し、当該定義データの配布先ノードを特定して、定義データを配布先ノードに送信する。
次に、制御装置120bの処理内容について、図25乃至図28を用いて説明する。まず、図25に、制御装置120bの受信部121bの処理の処理フローを示す。これより前に、改札機210は、ユーザが保持するICカードなどからユーザIDを読み出し、当該ユーザIDとLocationIDとを分析装置110に送信する。分析装置110は、受信したユーザIDに対応付けられているCID及び出力条件のデータをDB111から読み出し、ユーザID及びLocationIDと、ユーザID、CID及び出力条件のデータとを、制御装置120bに送信する。さらに、分析装置110は、ユーザID及びLocationIDの組み合わせに対応付けられているノードIDをDB111から読み出して、制御装置120bに送信する。但し、ユーザID及びLocationIDの組み合わせに対応付けられているノードIDが存在しない場合もあるので、その場合にはこのようなデータは送られない。
そして、制御装置120bの受信部121bは、分析装置110からデータを受信すると(図25:ステップS301)、当該データがユーザ位置データであるか判断する(ステップS303)。本実施の形態では、ユーザIDとLocationIDとを含むユーザ位置データと、ユーザIDとCIDと出力条件のデータとを含む関連付けデータと、ユーザIDとLocationIDとノードIDとを含むノード指定データとが、分析装置110から送信される。受信したデータがユーザ位置データであれば、受信部121bは、ユーザ位置テーブル123において、受信したユーザIDに対応付けて、受信したLocationIDを登録すると共に、現在時刻を最新更新日時として登録する(ステップS305)。既に、受信したユーザIDが登録されている場合には、当該ユーザIDのエントリを、受信したLocationID及び現在時刻で更新する。
一方、受信したデータがユーザ位置データではない場合には、受信部121bは、受信したデータが関連付けデータであるか判断する(ステップS307)。受信したデータが関連付けデータであれば、受信部121bは、ユーザIDとCIDと出力条件のデータとで、関連付けデータテーブル124を更新する(ステップS309)。例えば、ユーザIDとCIDと出力条件のデータとを、関連付けデータテーブル124に追加登録する。但し、受信したユーザIDについてのレコードが既に登録されている場合には、上書き更新を行うようにしても良い。
一方、受信したデータが関連付けデータでない場合には、ノード指定データであるから、受信部121bは、ユーザID及びLocationIDの組み合わせに対応付けてノードIDを、キャッシュ配布先テーブル128に登録する(ステップS311)。例えば、ユーザID及びLocationIDの同一の組み合わせについてノードIDが既に登録されている場合には上書き登録し、未登録であれば追加登録する。
キャッシュ配布先テーブル128は、例えば図26に示すようなデータである。図26の例では、ユーザID及びLocationIDに対応付けてノードIDが登録されるようになっている。
次に、図27を用いて、制御装置120bにおける決定処理部125bの処理を説明する。決定処理部125bは、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(図27:ステップS321)。また、決定処理部125bは、関連付けデータテーブル124から、更新に係るユーザIDに対応付けられているCIDを特定する(ステップS323)。そして、決定処理部125bは、更新に係るユーザID及びLocationIDでキャッシュ配布先テーブル128を検索し(ステップS325)、該当するエントリが存在するか判断する(ステップS327)。該当するエントリが存在しない場合には、決定処理部125bは、ノード配置テーブル122から、LocationIDに対応付けられているノードIDを特定する(ステップS329)。そしてステップS333に移行する。一方、該当エントリが存在する場合には、決定処理部125bは、該当エントリにおけるノードIDを特定する(ステップS331)。そして、ステップS333に移行する。
そして、決定処理部125bは、中継ノードにおけるコンテンツの最低保持期限を、例えば現時刻から所定時間(例えば1時間)後に決定する(ステップS333)。このステップは、ステップS117と同様である。その後、決定処理部125bは、特定されたノードID及びCIDと決定された最低保持期限とで、キャッシュデータテーブル126を更新する(ステップS335)。
次に、図28を用いて、制御装置120bにおける配布部127bの処理を説明する。配布部127bは、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(図28:ステップS341)。なお、LocationIDが更新されたユーザIDを、決定処理部125bから通知される場合もある。そして、配布部127bは、関連付けデータテーブル124から、更新に係るユーザIDについての関連付けデータを読み出す(ステップS343)。すなわち、特定されたユーザIDに対応付けられているCID及び出力条件のデータを読み出す。
そして、配布部127bは、キャッシュ配布先テーブル128に、更新に係るユーザID及びLocationIDについてのエントリが存在するか判断する(ステップS345)。更新に係るユーザID及びLocationIDについてのエントリが存在する場合には、配布部127bは、キャッシュ配布先テーブル128から、更新に係るユーザID及びLocationIDに対応付けられているノードIDを配布先ノードのノードIDとして特定する(ステップS347)。処理はステップS351に移行する。一方、該当するエントリが存在しない場合には、配布部127bは、ノード配置テーブル122から、更新に係るLocationIDに対応付けられているノードIDを、配布先ノードのノードIDとして特定する(ステップS349)。
そして、配布部127bは、キャッシュデータテーブル126から、配布先ノードのノードID及び読み出した関連付けデータに含まれるCIDについてのデータを読み出す(ステップS351)。そうすると、配布部127bは、ステップS343及びS351で読み出されたデータから定義データを生成し(ステップS353)、当該定義データを、ステップS347又はS349で特定された配布先ノード宛に送信する(ステップS355)。
このようにキャッシュ配布先テーブル128にエントリがある場合には、定義データの配布先ノードが限定されて、当該定義データに基づきコンテンツのデータのキャッシュを行う中継ノードが少なくなる。すなわち、ネットワーク300の通信負荷を下げ、定義データが配布されなかった中継ノードのキャッシュデータ格納部2213の記憶容量を効率的に利用できるようになる。
[実施の形態5]
第2の実施の形態では図22及び図23で表示装置231は2回要求を中継ノード221に送信してコンテンツのデータを取得するが、以下のように表示装置231が1度要求を送信するだけでコンテンツのデータを取得できるようにしても良い。
具体的には、表示装置231は、読み取ったユーザID及び生成した状態データを中継ノード221に送信する(図29:ステップS361)。これに対して、中継ノードの出力処理部2214は、表示装置231からユーザID及び状態データを受信すると(ステップS363)、キャッシュテーブルにおいて、ユーザIDと、状態データが充足する出力条件とに対応付けられているCIDを探索する(ステップS365)。CIDが見つからず、キャッシュミスとなった場合には(ステップS367:Noルート)、出力処理部2214は、ユーザID及び状態データをキャッシュ制御部2212に出力する。そして、キャッシュ制御部2212は、分析装置110に対してユーザID及び状態データを送信して、分析装置110から、ユーザID及び状態データに対応するCIDを取得する(ステップS369)。キャッシュ制御部2212は、出力処理部2214にCIDを出力する。出力処理部2214は、キャッシュ制御部2212からCIDを受信する。そして、ステップS371に移行する。一方、CIDが見つかってキャッシュヒットとなった場合にも(ステップS367:Yesルート)、処理はステップS371に移行する。
出力処理部2214は、CIDでキャッシュテーブルを検索する(ステップS371)。受信したCIDがIDの列に登録されている、即ちキャッシュヒットした場合には(ステップS373:Yesルート)、出力処理部2214は、キャッシュデータ格納部2213からCIDに係るコンテンツのデータを読み出して、当該コンテンツのデータを表示装置231に送信する(ステップS377)。一方、受信したCIDがIDの列に登録されていない、即ちキャッシュミスした場合(ステップS373:Noルート)、出力処理部2214は、キャッシュ制御部2212に、CIDに係るコンテンツのデータの取得要求を出力し、キャッシュ制御部2212は、当該取得要求に応じて、キャッシュ更新処理(図20)を実施する(ステップS375)。そして処理はステップS377に移行する。但し、コンテンツのデータが、キャッシュデータ格納部2213に格納できない場合でも、キャッシュ制御部2212は、取得したコンテンツのデータを出力処理部2214に出力する。また、キャッシュ更新処理を実施せずに、キャッシュ制御部2212が単にコンテンツのデータを取得して、出力処理部2214に出力するようにしても良い。
表示装置231は、中継ノード221からコンテンツのデータを受信して、表示部に表示する(ステップS379)。これにより、ユーザにコンテンツを提示することができるようになる。
このようにすれば、コンテンツ表示までの時間をより短縮することができる。
[実施の形態6]
各中継ノード221及び222におけるキャッシュデータ格納部2213の容量には限界があるので、定義データを制御装置120から受信したとしても定義データに関連するコンテンツデータを、キャッシュデータ格納部2213に格納できない場合もある。これではコンテンツ提示にかかる時間を短縮できない。そこで、本実施の形態では、例えば駅Aに設置されている中継ノード221及び222の上位の中継ノードを設置して、中継ノード221及び222でキャッシュできなかったコンテンツのデータについては、上位の中継ノードに保持させるようにする。駅毎でなく、数駅毎といったように上位中継ノードを纏めるようにしても良い。
システム全体の処理フローを図30に示す。図30の例では、上位中継ノード225を新たに駅Aに導入する。第2の実施の形態における中継ノード221及び222は、下位中継ノード221及び222である。
ユーザがICカードなどを改札機210にかざすと、改札機210は、ユーザID及びLocationIDを分析装置110に送信する。分析装置110は、ユーザIDに対応付けられているCID及び出力条件のデータをDB111から読み出して、ユーザID及びLocationIDの組み合わせと共に制御装置120に出力する(図30:ステップ(1))。制御装置120の受信部121は、ユーザIDとCIDと出力条件のデータとの組み合わせと、ユーザIDとLocationIDとの組み合わせとを受信すると、それぞれ関連付けデータテーブル124と、ユーザ位置テーブル123に格納する。その後、決定処理部125及び配布部127は処理を行って、配布部127は、上で述べた定義データを生成して、配布先ノードに定義データを送信する(ステップ(2))。ここまでは第2の実施の形態と同じである。
これに対して、下位中継ノード221のキャッシュ制御部2212は、キャッシュ更新処理(図20)を実施する。キャッシュデータ格納部2213に定義データに関連するコンテンツのデータを格納できれば以下の処理を実施しないが、容量不足で定義データに関連するコンテンツのデータをキャッシュデータ格納部2213に格納できない場合がある。この場合、キャッシュ制御部2212(又は受信部2211)は、制御装置120に対して、例えばCIDを含むキャッシュ拒否通知を返信する(ステップ(3))。定義データをキャッシュ拒否通知が含むようにしても良い。
配布部127は、下位中継ノード221から、例えばCIDを含むキャッシュ拒否通知を受信すると、ノード配置テーブル122から、下位中継ノード221の上位中継ノード225を特定し、CIDを含むキャッシュ要求を送信する(ステップ(4))。本実施の形態においては、ノード配置テーブル122は、例えば図31に示すようなデータである。図31の例では、下位中継ノードのノードIDと、LocationIDと、上位中継ノードのノードIDとが対応付けて登録されている。このデータを用いれば、送信元の下位中継ノード221のノードIDから、上位中継ノードのノードIDを特定できる。
上位中継ノード225は、制御装置120から、CIDを含むキャッシュ要求を受信すると、CIDに従って例えばコンテンツサーバ130に対して、CIDのコンテンツのデータを要求し(ステップ(5))、コンテンツサーバ130からコンテンツのデータを取得する(ステップ(6))。上位中継ノード225は、データ格納部に、取得したコンテンツのデータを、蓄積する。
その後、ユーザが表示装置231のところにやってきてICカードなどを読み取らせると、表示装置231は、ユーザID及び状態データを下位中継ノード221に出力する(ステップ(7))。これに対して、下位中継ノード221の出力処理部2214は、表示装置231から、ユーザID及び状態データを受信する。そして、出力処理部2214は、キャッシュデータ格納部2213におけるキャッシュテーブルにおいて、ユーザID及び状態データが充足する出力条件のデータに対応付けられているCIDを特定し、表示装置231に返信する(ステップ(8))。表示装置231は、受信したCIDのコンテンツ要求を、下位中継ノード221に出力する(ステップ(9))。下位中継ノード221の出力処理部2214は、CIDのコンテンツ要求を受信すると、キャッシュデータ格納部2213に、当該CIDのコンテンツのデータが格納されているか確認する。ここでCIDのコンテンツのデータが格納されていない場合には、出力処理部2214は、CIDを含むコンテンツ取得要求をキャッシュ制御部2212に出力する。キャッシュ制御部2212は、第2の実施の形態ではCIDで特定されるサーバ(例えばコンテンツサーバ130)に、コンテンツ要求を送信するが、本実施の形態では上位中継ノード225に、CIDを含むコンテンツ要求を送信する(ステップ(10))。上位中継ノード225は、下位中継ノード221からコンテンツ要求を受信すると、データ格納部からCIDのコンテンツのデータを読み出して、下位中継ノード221に送信する(ステップ(11))。
下位中継ノード221のキャッシュ制御部2212は、上位中継ノード225からコンテンツのデータを受信すると、出力処理部2214に出力する。出力処理部2214は、表示装置231に、受信したコンテンツのデータを出力する(ステップ(12))。表示装置231は、下位中継ノード221から受信したコンテンツのデータを、表示部に表示する。
このように上位中継ノードを配置することで、下位中継ノードにおいてキャッシュできない場合でも、上位中継ノードにおいてキャッシュできれば、コンテンツサーバ130などからその都度取得するより、表示装置231乃至233に迅速にコンテンツのデータを出力することができるようになる。
[実施の形態7]
第2の実施の形態では、ある駅にユーザが到着すると、当該ある駅のための全ての中継ノードが定義データに従って、コンテンツサーバ130などからコンテンツのデータをキャッシュしようとする。しかしながら、ある駅にある中継ノードが、コンテンツサーバ130からそのコンテンツのデータを既に取得しているのであれば、ある駅のための他の中継ノードは、既にコンテンツのデータを取得している中継ノードから、そのコンテンツのデータを取得すれば、コンテンツサーバ130の処理負荷を減らすことができ、さらにコンテンツサーバ130との間の通信経路の通信負荷も減らすことができる。このため、本実施の形態では、以下のような処理を実施する。
具体的には、配布部127が、図32及び図33に示すような処理を実施する。配布部127は、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(図32:ステップS401)。なお、LocationIDが更新されたユーザIDを、決定処理部125から通知される場合もある。そして、配布部127は、関連付けデータテーブルから、更新に係るユーザIDについての関連付けデータを読み出す(ステップS403)。すなわち、特定されたユーザIDに対応付けられているCID及び出力条件のデータを読み出す。そして、配布部127は、ノード配置テーブル122から、更新に係るLocationIDに対応付けられているノードIDを、配布先ノードのノードIDとして特定する(ステップS405)。その後、配布部127は、キャッシュデータテーブル126から、配布先ノードのノードID及び読み出した関連付けデータに含まれるCIDについてのデータを読み出す(ステップS407)。そして端子Dを介して図33の処理に移行する。
図33の処理の説明に移行して、配布部127は、ステップS405において特定された配布先ノードのIDのうち未処理の配布先ノードのIDを1つ特定する(ステップS409)。そして、配布部127は、特定された配布先ノードに関連する中継ノードが、ステップS403で読み出された関連付けデータに含まれるCIDのコンテンツをキャッシュ済みであるか判断する(ステップS411)。具体的には、キャッシュデータテーブル126において、ステップS405で特定された配布先ノードのうち、処理に係る配布先ノード以外の配布先ノードのノードIDに対応付けて、関連付けデータに含まれるCIDが登録されているかを判断する。例えば、ステップS405で特定された配布先ノードA1及びA2のうち、処理に係る配布先ノードA1以外の中継ノードのノードID「A2」に対応付けて、関連付けデータに含まれるCID「X」が登録されているかを判断する。CIDが複数であれば、各CIDについて判断する。
特定された配布先ノードに関連する中継ノードが、関連付けデータに含まれるCIDのコンテンツをキャッシュ済みではない場合には、配布部127は、ステップS403及びS407で読み出されたデータから定義データを生成し(ステップS415)、当該定義データを、ステップS409で特定された配布先ノード宛に送信する(ステップS417)。
一方、特定された配布先ノードに関連する中継ノードが、関連付けデータに含まれるCIDのコンテンツを既にキャッシュ済みである場合には、配布部127は、関連付けデータに含まれるCIDを、関連する中継ノードのいずれかのURL等を用いて変更する(ステップS413)。上でも述べたように、例えばCIDがURLで表されている場合には、CIDは、変更前はコンテンツサーバ130のドメイン名、ディレクトリ名及びファイル名を含むCIDとなっている。本ステップでは、コンテンツサーバ130のドメイン名及びディレクトリ名を、関連する中継ノードのドメイン名及び所定のディレクトリ名で置換する。そして、配布部127は、変更後のCIDで、ステップS415で生成された定義データにおけるCIDを更新する(ステップS421)。そしてステップS417に移行する。
そして、配布部127は、未処理の配布先ノードが存在しているか判断し(ステップS419)、未処理の配布先ノードが存在している場合には、処理はステップS409に戻る。一方、未処理の配布先ノードが存在していない場合には、処理を終了する。
以上のような処理を実施すれば、中継ノード221のキャッシュ制御部2212は、第2の実施の形態とほぼ同じ処理を行えば良い。すなわち、コンテンツの取得先が、1つの中継ノードについてはコンテンツサーバ130となるが、他の中継ノードについては、先にコンテンツサーバ130からコンテンツのデータを取得した中継ノードがコンテンツの取得先となる。キャッシュ制御部2212は、他の中継ノードからコンテンツのデータの要求を受信した場合に、キャッシュデータ格納部2213から要求に係るコンテンツのデータを読み出して、要求元の中継ノードに送信するようにする。
なお、同じ駅のための中継ノードであれば距離が近いので、関連する中継ノードがコンテンツの取得先となっている定義データを受信した中継ノードについては、キャッシュを行わないで、接続されている表示装置から要求があった場合に、関連する中継ノードから取得するようにしても、十分早くコンテンツを出力できる場合もある。
また、上では、CIDがURLで表されている例を示したが、CIDがコンテンツの取得元のデータを含まない場合には、関連する中継ノードのアドレスをCIDに付加するような変形を行うようにしても良い。
[実施の形態8]
中継ノードのキャッシュデータ格納部の容量には限りがあるので、不要であることが明らかなデータについては早期に削除することで、キャッシュの利用効率を高めることが好ましい。
例えば、駅Aの改札機で駅A構内に入り、電車に乗って駅Bに移動し、駅Bの改札機を通過した後に電車を乗り換えて駅Cに移動し、そして駅Cの改札機を通過して駅C構内から外に出る、というケースを考える。この場合、駅Aから駅B、駅Bから駅C、駅Cから「位置不定」へと変化することが検出される。駅Aから駅Bに移動したことが検出されれば、駅Aにおけるそのユーザのキャッシュは不要となる。駅Bから駅Cに移動したことが検出されれば、駅Bにおけるそのユーザのキャッシュは不要となる。さらに、駅Cから「位置不定」になったことが検出されれば、駅Cにおけるそのユーザのキャッシュは不要となる。このような移動及び「位置不定」という状態への遷移に応じて、不要なキャッシュを削除できれば、キャッシュデータ格納部の利用効率を上げられる。そこで以下に示すような処理を実施する。
なお、駅構内に入るための改札機と駅構内から出て行くための改札機とで、センサが出力するLocationIDを区別するようにする。例えば、StationAだけではなく、駅構内に入る場合にはStationA_inを、駅構内から出て行く場合にはStationA_outというように区別するものとする。
まず、図34に、制御装置120の受信部121の処理の処理フローを示す。この前提としては、改札機210は、ユーザが保持するICカードなどからユーザIDを読み出し、当該ユーザIDとLocationIDとを分析装置110に送信する。分析装置110は、受信したユーザIDに対応付けられているCID及び出力条件のデータをDB111から読み出し、ユーザID及びLocationIDと、ユーザID、CID及び出力条件のデータとを、制御装置120に送信する。
そして、制御装置120の受信部121は、分析装置110からデータを受信すると(図34:ステップS431)、当該データがユーザ位置データであるか判断する(ステップS433)。本実施の形態では、ユーザIDとLocationIDとを含むユーザ位置データと、ユーザIDとCIDと出力条件のデータとを含む関連付けデータとが、分析装置110から送信される。受信したデータがユーザ位置データであれば、受信部121は、受信したLocationIDがエリア外に出ることを表すものである(上で述べた例ではStationA_out)か判断する(ステップS435)。受信したLocationIDがエリア外に出ることを表すものである場合には、受信部121は、受信したユーザIDに対応付けて、現LocationIDとして登録されているLocationIDを旧LocationIDとして登録し、現時刻を最新更新日時として登録し、さらに受信したLocationIDの代わりに現LocationIDとして「位置不定」を登録する(ステップS439)。例えば図35に示すようなデータが、ユーザ位置テーブル123に登録される。図35の例では、ユーザIDに対応付けて、現在の所在地を表す現LocationIDと、最新更新日時と、直前の所在地を表す旧LocationIDとが登録されるようになっている。
一方、受信したLocationIDがエリア外に出ることを表すものではない場合には、受信部121は、受信したユーザIDに対応付けて、現LocationIDとして登録されているLocationIDを旧LocationIDとして登録し、現時刻を最新更新日時として登録し、さらに受信したLocationIDを現LocationIDとして登録する(ステップS437)。
一方、受信したデータがユーザ位置データではない場合には、受信部121は、ユーザIDとCIDと出力条件のデータとで、関連付けデータテーブル124を更新する(ステップS441)。例えば、ユーザIDとCIDと出力条件のデータとを、関連付けデータテーブル124に追加登録する。但し、本実施の形態では、新旧が分かるように、現在時刻を最新更新日時として追加で登録することにする。例えば、関連付けデータテーブル124には、図36に示すようなデータが登録される。図36の例では、ユーザIDと、CIDと、出力条件と、最新更新日時とが対応付けて登録されるようになっている。
次に、決定処理部125の処理内容について、図37を用いて説明する。決定処理部125は、ユーザ位置テーブル123において、更新に係るLocationIDが位置不定を表しているか判断する(図37:ステップS451)。更新に係るLocationIDが位置不定を表している場合には処理を終了する。位置不定の場合には、いずれの中継ノードのコンテンツのデータをキャッシュすべきであるかを特定できないためである。一方、位置不定ではない場合、決定処理部125は、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(ステップS453)。そして、決定処理部125は、関連付けデータテーブル124から、更新に係るユーザIDに対応付けられているCIDを特定する(ステップS455)。そして、決定処理部125は、ノード配置テーブル122から、LocationIDに対応付けられているノードIDを特定する(ステップS457)。
また、決定処理部125は、中継ノードにおけるコンテンツの最低保持期限を、例えば現時刻から所定時間(例えば1時間)後に決定する(ステップS459)。その後、決定処理部125は、特定されたノードID及びCIDと決定された最低保持期限とで、キャッシュデータテーブル126を更新する(ステップS461)。キャッシュデータテーブル126には図16に示すようなデータが格納される。
次に、配布部127の処理について図38を用いて説明する。配布部127は、ユーザ位置テーブル123において、LocationIDが更新されたユーザIDを特定する(図38:ステップS471)。なお、LocationIDが更新されたユーザIDを、決定処理部125から通知される場合もある。
そして、配布部127は、ユーザ位置テーブル123において、更新に係るLocationIDが、位置不定を表しているか判断する(ステップS473)。更新に係るLocationIDが位置不定を表している場合には、配布部127等は、削除処理を実施する(ステップS487)。この削除処理については、後に詳細に説明する。そして処理を終了する。
一方、更新に係るLocationIDが位置不定を表していない場合には、配布部127は、関連付けデータテーブル124から、更新に係るユーザIDについての関連付けデータを読み出す(ステップS475)。すなわち、特定されたユーザIDに対応付けられているCID及び出力条件のデータを読み出す。そして、配布部127は、ノード配置テーブル122から、更新に係るLocationIDに対応付けられているノードIDを、配布先ノードのノードIDとして特定する(ステップS477)。その後、配布部127は、キャッシュデータテーブル126から、配布先ノードのノードID及び読み出した関連付けデータに含まれるCIDについてのデータを読み出す(ステップS479)。
そうすると、配布部127は、ステップS475及びS479で読み出されたデータから定義データを生成し(ステップS481)、当該定義データを、ステップS477で特定された配布先ノード宛に送信する(ステップS483)。
そして、配布部127は、ユーザ位置テーブル123において、更新に係るLocationIDについてのエントリに旧LocationIDが含まれているか、すなわち旧LocationIDが「位置不定」ではないか判断する(ステップS485)。更新に係るLocationIDについてのエントリに旧LocationIDが含まれている場合には、処理はステップS487に移行する。一方、更新に係るLocationIDについてのエントリに旧LocationIDが含まれていない場合には、処理を終了する。
次に、削除処理について図39を用いて説明する。制御装置120の配布部127は、ユーザ位置テーブル123において、ステップS471で特定されたユーザIDの旧LocationIDを特定する(図9:ステップS491)。また、配布部127は、ノード配置テーブル122から、旧LocationIDに対応付けられているノードのIDを特定する(ステップS493)。さらに、配布部127は、関連付けデータテーブル124から、特定されたユーザIDの旧関連付けデータ(最新更新日時が2番目に新しい関連付けデータ)を抽出する(ステップS495)。そうすると、配布部127は、ステップS493で特定されたノードIDの中継ノード宛に、抽出された旧関連付けデータの削除要求を送信する(ステップS497)。旧関連付けデータの代わりに旧関連付けデータに含まれるユーザIDのみを削除要求に含めるようにしても良い。
これに対して、中継ノード221の受信部2211は、制御装置120から、旧関連付けデータの削除要求を受信し、旧関連付けデータの削除要求をキャッシュ制御部2212に出力する(ステップS499)。そして、キャッシュ制御部2212は、受信部2211から、旧関連付けデータの削除要求を受け取り、旧関連付けデータに含まれるCIDで、キャッシュデータ格納部2213におけるキャッシュテーブルのCID又はファイル名の列を検索する(ステップS501)。この処理の代わりに、ユーザIDでキャッシュテーブルを検索して対応するCIDを抽出し、当該CIDでキャッシュテーブルのCID又はファイル名の列を検索するようにしても良い。
そして、キャッシュ制御部2212は、他のユーザIDに対応して同一CIDが設定されているエントリが存在しているか判断する(ステップS503)。他のユーザIDに対応して同一CIDが設定されているエントリが存在している場合には、当該CIDに係るコンテンツのデータを削除することはできないので、キャッシュ制御部2212は、受信した旧関連付けデータに対応するエントリをキャッシュデータ格納部2213におけるキャッシュテーブルから削除する(ステップS505)。なお、受信したユーザIDを含むエントリを削除するようにしても良い。
一方、他のユーザIDに対応して同一CIDが設定されているエントリが存在していない場合には、キャッシュ制御部2212は、受信した旧関連付けデータに対応するエントリをキャッシュデータ格納部2213におけるキャッシュテーブルから削除する(ステップS507)。そして、キャッシュ制御部2212は、旧関連付けデータに含まれるCIDに係るコンテンツのデータを、キャッシュデータ格納部2213から削除する(ステップS509)。キャッシュテーブルのエントリ及びコンテンツデータそのものを削除する。ユーザIDでキャッシュテーブルを検索して対応するCIDを抽出し、当該CIDに係るコンテンツのデータを削除するようにしても良い。
以上のような処理を実施することによって、中継ノード221及び222でもはや用いることがない定義データを削除することができ、キャッシュデータ格納部2213の効率的な利用が図られるようになる。
以上本技術の実施の形態を説明したが、本技術はこれらに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致するわけではない。また、処理フローについても、処理結果が変わらなければ、処理順番を変更したり、並列処理を行う場合もある。
繰り返しになるが、駅は一例に過ぎず、駅以外のエリアであっても良い。また、ビルの一部のフロアや、店舗の一部の販売エリアであってもよい。
なお、上で述べた分析装置、制御装置、各種ノード及びサーバは、コンピュータ装置であって、図40に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る制御方法は、(A)ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とユーザの識別子を読み取ったセンサに関する識別データとを受信する第1のステップと、(B)センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された識別データ又は受信された識別データ及び受信されたユーザの識別子の組み合わせに対応付けられているノードの識別子を読み出す第2のステップと、(C)識別子が読み出されたノード宛に、受信されたユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する第3のステップとを含む。
このようにユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを、上で述べたように特定されるノードに送信して、出力する可能性があるコンテンツを当該ノードに予めキャッシュさせることによって、表示装置にユーザが到着した際に早期に適切なコンテンツを出力できるようになる。
本制御方法は、(D)ユーザに関連付けられたコンテンツの識別子の送信先であるノードから、ユーザに関連付けられたコンテンツをキャッシュしないことを表す通知を受信した場合、送信先であるノードに予め関連付けられている他のノード宛に、ユーザに関連付けられたコンテンツの識別子を含むキャッシュ要求を送信する第4のステップをさらに含むようにしても良い。このようにすれば、キャッシュの容量が不足している場合でも、送信先であるノードに予め関連付けられている他のノードにキャッシュさせることができるようになる。
さらに、本制御方法は、(E)読み出されたノードの識別子とユーザに関連付けられたコンテンツの識別子とを対応付けて、第2のデータ格納部に格納する第5のステップと、(F)第2のユーザの識別子と当該第2のユーザに関連付けられたコンテンツの識別子と第2のユーザの識別子を読み取ったセンサに関する識別データとを受信する第6のステップと、(G)データ格納部から、第2のユーザの識別子を読み取ったセンサに関する識別データ又は第2のユーザの識別子及び当該第2のユーザの識別子を読み取ったセンサに関する識別データの組み合わせに対応付けられている第2のノードの識別子を読み出す第7のステップと、(H)第2のデータ格納部から、第2のユーザに関連付けられたコンテンツの識別子に対応付けられている第3のノードの識別子を読み出し、当該第3のノードが第2のノードに予め関連付けられているノードであるか判断する第8のステップと、(I)第3のノードが第2のノードに予め関連付けられているノードである場合には、第2のノード宛に、第2のユーザの識別子と第2のユーザに関連付けられたコンテンツの識別子と第3のノードから当該第2のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第1の通知又は第2のユーザの識別子と第3のノードが取得元として設定され且つ第2のユーザに関連付けられたコンテンツの識別子とを含む第2の通知を送信する第9のステップとをさらに含むようにしても良い。
このようにすれば、例えば1つのコンテンツサーバにアクセスが集中するようなことを回避することで、コンテンツの取得によるサーバ負荷及びネットワーク負荷を下げることができるようになる。
また、本制御方法は、(J)ユーザの識別子とユーザの識別子を読み取った第2のセンサに関する識別データとを受信する第10のステップと、(K)第1のステップにおいて受信した識別データと第10のステップにおいて受信した識別データとが異なる場合には、第2のステップにおいて識別子が読み出されたノード宛に、ユーザの識別子を含むデータ削除要求を送信する第11のステップとをさらに含むようにしても良い。これによって、ユーザが他の場所に移動して使わなくなったキャッシュのデータを削除させることができるようになる。
なお、上で述べた第1のステップにおいて、コンテンツの出力条件をさらに受信し、第3のステップにおいて、コンテンツの出力条件をさらに送信するようにしても良い。このようにすれば、状態に応じてコンテンツを切り替えて出力することもできるようになる。
本実施の形態の第2の態様に係る制御方法は、第1のコンピュータにより実行され、(A)第2のコンピュータから、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを受信し、ユーザの識別子とユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納する第1のステップと、(B)ユーザに関連付けられたコンテンツの識別子を用いて、第3のコンピュータからユーザに関連付けられたコンテンツを取得して、データ格納部に格納する第2のステップと、(C)第1のコンピュータに接続されている表示装置から、ユーザの識別子と状態データとを受信する第3のステップと、(D)受信された状態データが充足する出力条件とユーザの識別子とに対応付けられている識別子のコンテンツを、データ格納部から読み出し、読み出されたコンテンツを、表示装置に出力する第4のステップとを有する。
このようにすれば、表示装置にユーザ及び状態に適してコンテンツを予め用意することができるので、迅速にコンテンツをユーザに対して出力することができる。
第2の態様に係る制御方法において、上で述べた第2のステップが、(b1)第3のコンピュータから、ユーザに関連付けられたコンテンツのデータ量のデータを受信するステップと、(b2)データ量が所定量以上である場合に、第3のコンピュータからユーザに関連付けられたコンテンツを取得するステップとを含むようにしても良い。このようにすることで、ユーザに対する応答時間が要件を満たす限りにおいて、データ格納部の容量を有効活用できるようになる。
さらに、第2の態様に係る制御方法は、(E)ユーザに関連付けられたコンテンツを格納できるだけの容量がデータ格納部に残っているか判断する第5のステップと、(F)第5のステップにおいてデータ格納部に容量が残っていないと判断された場合には、キャッシュ不能を表す通知を第2のコンピュータに送信する第6のステップと、(G)第4のステップにおいて、データ格納部において状態データが充足する出力条件とユーザの識別子とに対応付けられている識別子のコンテンツを、データ格納部から読み出せない場合には、予め定められた第4のコンピュータから当該コンテンツを取得して、取得したコンテンツを、表示装置に出力する第7のステップとをさらに含むようにしても良い。なお、第5のステップにおいてデータ格納部に容量が残っていると判断された場合には、第2のステップを実施するようにしても良い。第4のコンピュータを活用して、データ格納部の容量不足を補うものである。
さらに、第2の態様に係る制御方法は、(H)第2のユーザの識別子を含むデータ削除要求を受信した場合、データ格納部において第2のユーザの識別子に対応付けられているコンテンツの識別子を特定する第8のステップと、(I)特定されたコンテンツの識別子が、データ格納部において第2のユーザ以外のユーザの識別子に対応付けられているか判断する第9のステップと、(J)特定されたコンテンツの識別子が、データ格納部において第2のユーザ以外のユーザの識別子に対応付けられていない場合には、第2のユーザの識別子とコンテンツの識別子とを対応付けるデータと、特定されたコンテンツの識別子から特定されるコンテンツのデータをデータ格納部から削除する第10のステップとを含むようにしても良い。これによって、用いられることがないと分かったユーザのデータを削除することで、データ格納部の容量を有効活用することができるようになる。
また、本実施の形態の第3の態様に係るシステムは、制御装置と、表示装置に接続されており、当該表示装置に出力すべきコンテンツを予めキャッシュする複数のノードとを有する。そして、制御装置は、(A)ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とユーザの識別子を読み取ったセンサに関する識別データとを受信する受信部と、(B)センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に接続されているノードの識別子が格納されている第1のデータ格納部と、(C)第1のデータ格納部から、受信された識別データ又は受信された識別データ及び受信されたユーザの識別子の組み合わせに対応付けられているノードの識別子を特定する特定部と、(D)識別子が特定されたノード宛に、受信されたユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する送信部と有する。また、上記ノードの各々が、(E)制御装置から、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを受信し、ユーザの識別子とユーザに関連付けられたコンテンツの識別子とを対応付けて第2のデータ格納部に格納する受信部と、(F)ユーザに関連付けられたコンテンツの識別子を用いて、ユーザに関連付けられたコンテンツを取得して、第2のデータ格納部に格納する取得部と、(G)ノードに接続されている表示装置から、ユーザの識別子を受信し、受信されたユーザの識別子に対応付けられている識別子のコンテンツを、第2のデータ格納部から読み出し、読み出されたコンテンツを、表示装置に出力する出力処理部とを有する。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された前記識別データ、又は、受信された前記識別データと受信された前記ユーザの識別子との組み合わせに対応付けられているノードの識別子を読み出す処理と、
識別子が読み出されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する処理と、
を、コンピュータに実行させるためのプログラム。
(付記2)
前記ユーザに関連付けられたコンテンツの識別子の送信先であるノードから、前記ユーザに関連付けられたコンテンツをキャッシュしないことを表す通知を受信した場合に、前記送信先であるノードに予め関連付けられている他のノード宛に、前記ユーザに関連付けられたコンテンツの識別子を含むキャッシュ要求を送信する処理
をさらに、前記コンピュータに実行させるための付記1記載のプログラム。
(付記3)
読み出された前記ノードの識別子と前記ユーザに関連付けられたコンテンツの識別子とを対応付けて、第2のデータ格納部に格納する処理と、
第2のユーザの識別子と当該第2のユーザに関連付けられたコンテンツの識別子と前記第2のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
前記データ格納部から、前記第2のユーザの識別子を読み取ったセンサに関する識別データ又は前記第2のユーザの識別子及び当該第2のユーザの識別子を読み取ったセンサに関する識別データの組み合わせに対応付けられている第2のノードの識別子を読み出す処理と、
前記第2のデータ格納部から、前記第2のユーザに関連付けられたコンテンツの識別子に対応付けられている第3のノードの識別子を読み出し、当該第3のノードが前記第2のノードに予め関連付けられているノードであるか判断する処理と、
前記第3のノードが前記第2のノードに予め関連付けられているノードである場合には、前記第2のノード宛に、前記第2のユーザの識別子と前記第2のユーザに関連付けられたコンテンツの識別子と前記第3のノードから当該第2のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第1の通知又は前記第2のユーザの識別子と前記第3のノードが取得元として設定され且つ前記第2のユーザに関連付けられたコンテンツの識別子とを含む第2の通知を送信する処理と、
をさらに、前記コンピュータに実行させるための付記1又は2記載のプログラム。
(付記4)
前記ユーザの識別子と前記ユーザの識別子を読み取った第2のセンサに関する第2の識別データとを受信する処理と、
受信した前記識別データと前記第2の識別データとが異なる場合には、前記データ格納部から識別子が読み出されたノード宛に、前記ユーザの識別子を含むデータ削除要求を送信する処理と、
をさらに、前記コンピュータに実行させるための付記1乃至3のいずれか1つ記載のプログラム。
(付記5)
前記ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する際に、更に、前記コンテンツの出力条件を受信し、
前記識別子が読み出されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する際に、更に、前記コンテンツの出力条件を送信する
付記1乃至4のいずれか1つ記載のプログラム。
(付記6)
第1のコンピュータに、
第2のコンピュータから、ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを受信し、前記ユーザの識別子と前記ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納する処理と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、第3のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する処理と、
前記第1のコンピュータに接続されている表示装置から、前記ユーザの識別子と状態データとを受信する処理と、
受信された前記状態データが充足する出力条件と前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する処理と、
を実行させるためのプログラム。
(付記7)
前記コンテンツを取得する処理が、
前記第3のコンピュータから、前記ユーザに関連付けられたコンテンツのデータ量のデータを受信し、
前記データ量が所定量以上である場合に、前記第3のコンピュータから前記ユーザに関連付けられたコンテンツを取得する
処理を含む付記6記載のプログラム。
(付記8)
前記ユーザに関連付けられたコンテンツを格納できるだけの容量が前記データ格納部に残っているかの判断を行う処理と、
前記判断において、前記データ格納部に容量が残っていないと判断された場合に、キャッシュ不能を表す通知を前記第2のコンピュータに送信する処理と、
前記データ格納部において前記状態データが充足する出力条件と前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出せない場合には、予め定められた第4のコンピュータから当該コンテンツを取得して、取得したコンテンツを、前記表示装置に出力する処理と、
をさらに前記第1のコンピュータに実行させ、
前記判断において、前記データ格納部に容量が残っていると判断された場合には、前記ユーザに関連付けられたコンテンツの識別子を用いて、前記第3のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する処理、
を前記第1のコンピュータに実行させる、
付記6記載のプログラム。
(付記9)
第2のユーザの識別子を含むデータ削除要求を受信した場合、前記データ格納部において前記第2のユーザの識別子に対応付けられている前記コンテンツの識別子を特定する処理と、
特定された前記コンテンツの識別子が、前記データ格納部において前記第2のユーザ以外のユーザの識別子に対応付けられているか判断する処理と、
特定された前記コンテンツの識別子が、前記データ格納部において前記第2のユーザ以外のユーザの識別子に対応付けられていない場合には、前記第2のユーザの識別子と前記コンテンツの識別子とを対応付けるデータと、特定された前記コンテンツの識別子から特定されるコンテンツのデータを前記データ格納部から削除する処理と、
をさらに前記コンピュータに実行させるための付記6乃至8のいずれか1つ記載のプログラム。
(付記10)
ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子と前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部から、受信された前記識別データ又は受信された前記識別データ及び受信された前記ユーザの識別子の組み合わせに対応付けられているノードの識別子を読み出す処理と、
識別子が読み出されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する処理と、
が、コンピュータにより実行される制御方法。
(付記11)
第1のコンピュータが、
第2のコンピュータから、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを受信し、前記ユーザの識別子と前記ユーザに関連付けられたコンテンツの識別子と当該コンテンツの出力条件とを対応付けてデータ格納部に格納する処理と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、第3のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する処理と、
前記第1のコンピュータに接続されている表示装置から、前記ユーザの識別子と状態データとを受信する処理と、
受信された前記状態データが充足する出力条件と前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する処理と、
を実行する制御方法。
(付記12)
ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する受信部と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に出力すべきコンテンツを予めキャッシュするノードの識別子が格納されているデータ格納部と、
前記データ格納部から、受信された前記識別データ、又は、受信された前記識別データと受信された前記ユーザの識別子との組み合わせに対応付けられているノードの識別子を特定する特定部と、
識別子が特定されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する送信部と、
を有する制御装置。
(付記13)
第1のコンピュータから、ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを受信し、前記ユーザの識別子と、前記ユーザに関連付けられたコンテンツの識別子と、当該コンテンツの出力条件とを対応付けてデータ格納部に格納する受信部と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、第2のコンピュータから前記ユーザに関連付けられたコンテンツを取得して、前記データ格納部に格納する取得部と、
接続されている表示装置から、前記ユーザの識別子と状態データとを受信し、受信された前記状態データが充足する出力条件と、前記ユーザの識別子とに対応付けられている識別子のコンテンツを、前記データ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する出力処理部と、
を有する情報処理装置。
(付記14)
制御装置と、
表示装置に接続されており、当該表示装置に出力すべきコンテンツを予めキャッシュする複数のノードと、
を有し、
前記制御装置は、
ユーザの識別子と、当該ユーザに関連付けられたコンテンツの識別子と、前記ユーザの識別子を読み取ったセンサに関する識別データとを受信する受信部と、
センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、当該センサの位置とは異なる位置に配置された表示装置に接続されているノードの識別子が格納されている第1のデータ格納部と、
前記第1のデータ格納部から、受信された前記識別データ、又は、受信された前記識別データと受信された前記ユーザの識別子との組み合わせに対応付けられているノードの識別子を特定する特定部と、
識別子が特定されたノード宛に、受信された前記ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを送信する送信部と、
有し、
前記複数のノードの各々が、
前記制御装置から、ユーザの識別子と当該ユーザに関連付けられたコンテンツの識別子とを受信し、前記ユーザの識別子と前記ユーザに関連付けられたコンテンツの識別子とを対応付けて第2のデータ格納部に格納する受信部と、
前記ユーザに関連付けられたコンテンツの識別子を用いて、前記ユーザに関連付けられたコンテンツを取得して、前記第2のデータ格納部に格納する取得部と、
前記ノードに接続されている表示装置から、前記ユーザの識別子を受信し、受信された前記ユーザの識別子に対応付けられている識別子のコンテンツを、前記第2のデータ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する出力処理部と、
を有するシステム。
1000 データセンタ
1100 分析装置
1101 DB
1200 制御装置
1300 サーバ
1301 コンテンツ格納部
3000 ネットワーク
1500 センサ
1601,1602 ノード
1701,1702,1703 表示装置
1210 受信部
1220 データ格納部
1230 ノード特定部
1240 送信部
1651 受信部
1652 データ格納部
1653 取得部
1654 出力処理部
100 データセンタ
110 分析装置
111 DB
120 制御装置
130 コンテンツサーバ
131 コンテンツ格納部
210 改札機
221,222 中継ノード
231,232,233 表示装置
121 受信部
122 ノード配置テーブル
123 ユーザ位置テーブル
124 関連付けデータテーブル
125 決定処理部
126 キャッシュデータテーブル
127 配布部
128 キャッシュ配布先テーブル
2211 受信部
2212 キャッシュ制御部
2213 キャッシュデータ格納部
2214 出力処理部

Claims (9)

  1. 第1のユーザの識別子と、当該第1のユーザに関連付けられたコンテンツの識別子と、前記第1のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
    センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、コンテンツをキャッシュするノードの識別子が格納されている第1のデータ格納部から、受信た前記識別データ、又は、受信た前記識別データと受信た前記第1のユーザの識別子との組み合わせに対応付けられている第1のノードの識別子を読み出す処理と、
    前記第1のノード宛に、受信た前記第1のユーザの識別子と当該第1のユーザに関連付けられたコンテンツの識別子とを送信する処理と、
    前記第1のノードの識別子と前記第1のユーザに関連付けられたコンテンツの識別子とを対応付けて、第2のデータ格納部に格納する処理と、
    第2のユーザの識別子と、当該第2のユーザに関連付けられたコンテンツの識別子と、前記第2のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
    前記第1のデータ格納部から、前記第2のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第2のユーザの識別子と当該第2のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第2のノードの識別子を読み出す処理と、
    前記第2のデータ格納部に、前記第2のユーザに関連付けられたコンテンツの識別子に対応付けられている第3のノードの識別子が格納されているか判断する処理と、
    前記第2のデータ格納部に前記第3のノードの識別子が格納されている場合には、前記第2のノード宛に、前記第2のユーザの識別子と前記第2のユーザに関連付けられたコンテンツの識別子と前記第3のノードから当該第2のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第1の通知、又は前記第2のユーザの識別子と前記第3のノードが取得元として設定され且つ前記第2のユーザに関連付けられたコンテンツの識別子とを含む第2の通知を送信する処理と、
    を、コンピュータに実行させるためのプログラム。
  2. 前記第1のユーザに関連付けられたコンテンツの識別子の送信先であるノードから、前記第1のユーザに関連付けられたコンテンツをキャッシュしないことを表す第3の通知を受信した場合に、前記送信先であるノードに予め関連付けられている他のノード宛に、前記第1のユーザに関連付けられたコンテンツの識別子を含むキャッシュ要求を送信する処理
    をさらに、前記コンピュータに実行させるための請求項1記載のプログラム。
  3. 前記第1のユーザの識別子と前記第1のユーザの識別子を読み取った第2のセンサに関する第2の識別データとを受信する処理と、
    受信した前記識別データと前記第2の識別データとが異なる場合には、前記第1のノード宛に、前記第1のユーザの識別子を含むデータ削除要求を送信する処理と、
    をさらに、前記コンピュータに実行させるための請求項1又は2記載のプログラム。
  4. 前記第1のユーザの識別子と、当該第1のユーザに関連付けられたコンテンツの識別子と、前記第1のユーザの識別子を読み取ったセンサに関する識別データとを受信する際に、更に、前記コンテンツの出力条件を受信し、
    前記第1のノード宛に、受信た前記第1のユーザの識別子と当該第1のユーザに関連付けられたコンテンツの識別子とを送信する際に、更に、前記コンテンツの出力条件を送信する
    請求項1乃至のいずれか1つ記載のプログラム。
  5. 第1のユーザの識別子と当該第1のユーザに関連付けられたコンテンツの識別子と前記第1のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
    センサに関する識別データ又は当該センサに関する識別データ及びユーザの識別子の組み合わせに対応付けて、コンテンツをキャッシュするノードの識別子が格納されている第1のデータ格納部から、受信た前記識別データ又は受信た前記識別データ受信た前記第1のユーザの識別子の組み合わせに対応付けられている第1のノードの識別子を読み出す処理と、
    前記第1のノード宛に、受信た前記第1のユーザの識別子と当該第1のユーザに関連付けられたコンテンツの識別子とを送信する処理と、
    前記第1のノードの識別子と前記第1のユーザに関連付けられたコンテンツの識別子とを対応付けて、第2のデータ格納部に格納する処理と、
    第2のユーザの識別子と、当該第2のユーザに関連付けられたコンテンツの識別子と、前記第2のユーザの識別子を読み取ったセンサに関する識別データとを受信する処理と、
    前記第1のデータ格納部から、前記第2のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第2のユーザの識別子と当該第2のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第2のノードの識別子を読み出す処理と、
    前記第2のデータ格納部に、前記第2のユーザに関連付けられたコンテンツの識別子に対応付けられている第3のノードの識別子が格納されているか判断する処理と、
    前記第2のデータ格納部に前記第3のノードの識別子が格納されている場合には、前記第2のノード宛に、前記第2のユーザの識別子と前記第2のユーザに関連付けられたコンテンツの識別子と前記第3のノードから当該第2のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第1の通知、又は前記第2のユーザの識別子と前記第3のノードが取得元として設定され且つ前記第2のユーザに関連付けられたコンテンツの識別子とを含む第2の通知を送信する処理と、
    が、コンピュータにより実行される制御方法。
  6. 第1のユーザの識別子と、当該第1のユーザに関連付けられたコンテンツの識別子と、前記第1のユーザの識別子を読み取ったセンサに関する識別データとを受信する第1の受信部と、
    センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、コンテンツをキャッシュするノードの識別子が格納されている第1のデータ格納部と、
    前記第1のデータ格納部から、受信た前記識別データ、又は、受信た前記識別データと受信た前記第1のユーザの識別子との組み合わせに対応付けられている第1のノードの識別子を特定する第1の特定部と、
    前記第1のノード宛に、受信た前記第1のユーザの識別子と当該第1のユーザに関連付けられたコンテンツの識別子とを送信する第1の送信部と、
    前記第1のノードの識別子と前記第1のユーザに関連付けられたコンテンツの識別子とを対応付けて、第2のデータ格納部に格納する格納処理部と、
    第2のユーザの識別子と、当該第2のユーザに関連付けられたコンテンツの識別子と、前記第2のユーザの識別子を読み取ったセンサに関する識別データとを受信する第2の受信部と、
    前記第1のデータ格納部から、前記第2のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第2のユーザの識別子と当該第2のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第2のノードの識別子を特定する第2の特定部と、
    前記第2のデータ格納部に、前記第2のユーザに関連付けられたコンテンツの識別子に対応付けられている第3のノードの識別子が格納されているか判断する判断部と、
    前記第2のデータ格納部に前記第3のノードの識別子が格納されている場合には、前記第2のノード宛に、前記第2のユーザの識別子と前記第2のユーザに関連付けられたコンテンツの識別子と前記第3のノードから当該第2のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第1の通知、又は前記第2のユーザの識別子と前記第3のノードが取得元として設定され且つ前記第2のユーザに関連付けられたコンテンツの識別子とを含む第2の通知を送信する第2の送信部と、
    を有する制御装置。
  7. 制御装置と、
    表示装置に接続されており、当該表示装置に出力すべきコンテンツを予めキャッシュする複数のノードと、
    を有し、
    前記制御装置は、
    第1のユーザの識別子と、当該第1のユーザに関連付けられたコンテンツの識別子と、前記第1のユーザの識別子を読み取ったセンサに関する識別データとを受信する第1の受信部と、
    センサに関する識別データ、又は、当該センサに関する識別データとユーザの識別子との組み合わせに対応付けて、ノードの識別子が格納されている第1のデータ格納部と、
    前記第1のデータ格納部から、受信た前記識別データ、又は、受信た前記識別データと受信た前記第1のユーザの識別子との組み合わせに対応付けられている第1のノードの識別子を特定する第1の特定部と、
    前記第1のノード宛に、受信た前記第1のユーザの識別子と当該第1のユーザに関連付けられたコンテンツの識別子とを送信する第1の送信部と、
    前記第1のノードの識別子と前記第1のユーザに関連付けられたコンテンツの識別子とを対応付けて、第2のデータ格納部に格納する格納処理部と、
    第2のユーザの識別子と、当該第2のユーザに関連付けられたコンテンツの識別子と、前記第2のユーザの識別子を読み取ったセンサに関する識別データとを受信する第2の受信部と、
    前記第1のデータ格納部から、前記第2のユーザの識別子を読み取ったセンサに関する識別データ、又は、前記第2のユーザの識別子と当該第2のユーザの識別子を読み取ったセンサに関する識別データとの組み合わせに対応付けられている第2のノードの識別子を特定する第2の特定部と、
    前記第2のデータ格納部に、前記第2のユーザに関連付けられたコンテンツの識別子に対応付けられている第3のノードの識別子が格納されているか判断する第1の判断部と、
    前記第2のデータ格納部に前記第3のノードの識別子が格納されている場合には、前記第2のノード宛に、前記第2のユーザの識別子と前記第2のユーザに関連付けられたコンテンツの識別子と前記第3のノードから当該第2のユーザに関連付けられたコンテンツを取得することを要求するデータとを含む第1の通知、又は前記第2のユーザの識別子と前記第3のノードが取得元として設定され且つ前記第2のユーザに関連付けられたコンテンツの識別子とを含む第2の通知を送信する第2の送信部と、
    有し、
    前記複数のノードの各々が、
    前記制御装置から、第3のユーザの識別子と当該第3のユーザに関連付けられたコンテンツの識別子とを受信し、前記第3のユーザの識別子と前記第3のユーザに関連付けられたコンテンツの識別子とを対応付けて第のデータ格納部に格納する第3の受信部と、
    前記第3のユーザに関連付けられたコンテンツの識別子を用いて、前記第3のユーザに関連付けられたコンテンツを取得して、前記第のデータ格納部に格納する取得部と、
    前記ノードに接続されている表示装置から、前記第3のユーザの識別子を受信し、受信た前記第3のユーザの識別子に対応付けられている識別子のコンテンツを、前記第のデータ格納部から読み出し、読み出された前記コンテンツを、前記表示装置に出力する第1の出力処理部と、
    を有するシステム。
  8. コンテンツを管理する管理装置
    をさらに有し、
    前記複数のノードの各々の前記取得部が、
    前記管理装置から、前記第3のユーザに関連付けられたコンテンツのデータ量を表すデータを受信し、
    前記データ量が所定量以上である場合に、前記管理装置から前記第3のユーザに関連付けられたコンテンツを取得する
    請求項7記載のシステム
  9. 前記複数のノードの各々が、
    第4のユーザの識別子を含むデータ削除要求を受信した場合、前記第3のデータ格納部において前記第4のユーザの識別子に対応付けられている前記コンテンツの識別子を特定する第3の特定部と、
    特定された前記コンテンツの識別子が、前記第3のデータ格納部において前記第4のユーザ以外のユーザの識別子に対応付けられているか判断する第3の判断部と、
    特定された前記コンテンツの識別子が、前記第3のデータ格納部において前記第4のユーザ以外のユーザの識別子に対応付けられていない場合には、前記第4のユーザの識別子と前記コンテンツの識別子とを対応付けるデータと、特定された前記コンテンツの識別子から特定されるコンテンツのデータとを前記第3のデータ格納部から削除する削除部と、
    をさらに有する請求項7又は8記載のシステム。
JP2011204583A 2011-09-20 2011-09-20 分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置 Expired - Fee Related JP5786586B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011204583A JP5786586B2 (ja) 2011-09-20 2011-09-20 分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置
US13/607,135 US9442934B2 (en) 2011-09-20 2012-09-07 Distributed cache control technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011204583A JP5786586B2 (ja) 2011-09-20 2011-09-20 分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2013065248A JP2013065248A (ja) 2013-04-11
JP5786586B2 true JP5786586B2 (ja) 2015-09-30

Family

ID=47881687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011204583A Expired - Fee Related JP5786586B2 (ja) 2011-09-20 2011-09-20 分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置

Country Status (2)

Country Link
US (1) US9442934B2 (ja)
JP (1) JP5786586B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5906950B2 (ja) * 2012-06-06 2016-04-20 富士通株式会社 コンテンツ配信のための情報処理方法及び装置
US10438259B1 (en) 2013-12-09 2019-10-08 Amazon Technologies, Inc. Propagating and presenting user specific information
JP6126525B2 (ja) * 2013-12-16 2017-05-10 日本電信電話株式会社 コンテンツ配信システム及びコンテンツ配信方法
US10410170B1 (en) * 2014-06-18 2019-09-10 Amazon Technologies, Inc. Propagating and expiring presentation information
JP2018014568A (ja) * 2016-07-19 2018-01-25 富士通株式会社 中継装置及び中継方法
EP3316186B1 (en) * 2016-10-31 2021-04-28 Nokia Technologies Oy Controlling display of data to a person via a display apparatus

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740369A (en) * 1994-06-17 1998-04-14 Hitachi, Ltd. Information delivery system and portable information terminal
JP2001111605A (ja) * 1999-10-07 2001-04-20 Hitachi Ltd デジタルコンテンツの配信システム
JP4377533B2 (ja) 2000-07-14 2009-12-02 財団法人鉄道総合技術研究所 利用者案内システム
JP2002049766A (ja) 2000-08-03 2002-02-15 Kddi Corp コンテンツ提供方法
WO2002041180A1 (fr) 2000-11-15 2002-05-23 Kabushiki Kaisha Toshiba Procede de diffusion d'informations, ordinateur pour la diffusion d'informations et systeme de diffusion d'informations dans lequel ils sont utilises
JP2003030037A (ja) 2001-07-19 2003-01-31 Nec Corp 事前予測処理システム及び方法
JP2004102950A (ja) 2002-09-13 2004-04-02 Hitachi Ltd 情報提供方法およびシステム
JP2004287934A (ja) 2003-03-24 2004-10-14 Alpha Systems:Kk 情報提供システムおよびコンテキスト情報抽出方法
JP2005010970A (ja) * 2003-06-18 2005-01-13 Hitachi Ltd 分散キャッシュ制御方法、ネットワークシステムおよび当該ネットワークに用いられる制御サーバないしルータ
JP4563450B2 (ja) * 2005-02-28 2010-10-13 三菱電機株式会社 コンテンツ配信システム
JP4885463B2 (ja) * 2005-03-03 2012-02-29 株式会社日立製作所 センサネットワークシステム、センサデータの処理方法及びプログラム
JP4519779B2 (ja) 2006-01-25 2010-08-04 株式会社東芝 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法
JP2007280303A (ja) * 2006-04-11 2007-10-25 Brother Ind Ltd 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP4850753B2 (ja) 2007-02-28 2012-01-11 シャープ株式会社 広告配信システム、端末装置、広告配信方法、プログラム及び記録媒体
JP2009110122A (ja) * 2007-10-26 2009-05-21 Panasonic Corp コンテンツ提供システムおよびコンテンツ提供方法
US20100312861A1 (en) * 2007-11-30 2010-12-09 Johan Kolhi Method, network, and node for distributing electronic content in a content distribution network
JP5163171B2 (ja) 2008-02-15 2013-03-13 日本電気株式会社 キャッシュシステムおよびサーバ
JP5125621B2 (ja) 2008-03-05 2013-01-23 日本電気株式会社 広告配信システム及びその方法
JP5471178B2 (ja) * 2009-08-28 2014-04-16 富士通株式会社 キャッシュ制御装置、キャッシュ制御システム、キャッシュ制御方法及びキャッシュ制御プログラム
JP5505009B2 (ja) * 2010-03-19 2014-05-28 富士通株式会社 通信端末装置、コンピュータプログラムおよびコンテンツ検索方法
FR2964287B1 (fr) * 2010-08-30 2012-09-21 Cybronics Sasu Systeme de diffusion de donnees ciblees
US20120117240A1 (en) 2010-11-05 2012-05-10 Verizon Patent And Licensing Inc. Systems and methods for allocating network bandwidth
US8576756B2 (en) * 2011-06-28 2013-11-05 International Business Machines Corporation Continuous cache service in cellular networks

Also Published As

Publication number Publication date
US9442934B2 (en) 2016-09-13
US20130073666A1 (en) 2013-03-21
JP2013065248A (ja) 2013-04-11

Similar Documents

Publication Publication Date Title
JP5786586B2 (ja) 分散キャッシュ制御のためのプログラム、制御方法及び情報処理装置
JP4339557B2 (ja) 情報共有方法、情報共有装置及び情報共有プログラム
TWI614703B (zh) 資訊推薦方法及資訊推薦裝置
US8812577B2 (en) Mobile middleware supporting context monitoring and context monitoring method using the same
JP5175790B2 (ja) コミュニティ情報流通装置、コミュニティ情報流通方法、およびコミュニティ情報流通プログラム。
US10404774B2 (en) Mobile device and method for controlling transmission to web server in mobile device
CN108920600A (zh) 一种基于数据关联性的分布式文件系统元数据预取方法
CN105959358A (zh) Cdn服务器及其缓存数据的方法
CN108984553A (zh) 缓存方法和装置
CN107767153A (zh) 一种数据处理方法及装置
JP2007287040A (ja) コンテキスト情報収集システム、その処理方式及びそのシステムで用いられる装置
JP2003085032A (ja) 自己組織化キャッシュ方法およびその方法を利用可能なキャッシュサーバ
JP2009181334A (ja) 情報管理代行装置、サービス提供システムおよびサービス提供方法
JP5835015B2 (ja) 分散キャッシュについてのシステム、プログラム及び方法
JP2002351729A (ja) データ共有システム
CN105577743A (zh) 用于管理装置的设备和方法
JP2006246421A (ja) 情報提供制御装置、移動機、情報提供システム、及び、情報提供方法
KR20120016334A (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
KR100706896B1 (ko) 맞춤형 컨텐츠 정보 제공 시스템 및 방법
US20170286562A1 (en) Information processing apparatus, data providing system, and data providing method
JP5084820B2 (ja) クロールシステム、サーバ及び有害urlリスト更新方法
KR101330806B1 (ko) 컨텐츠 업로드 고지 시스템
KR20090002325A (ko) 서비스 중계기를 이용한 콘텐츠 서비스 제공 시스템 및 그방법
KR20210111012A (ko) 여행상품 제공 시스템 및 방법
US6912583B2 (en) Control of an information flow in a digital network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees