JP2013182349A - 分散キャッシュについてのシステム、プログラム及び方法 - Google Patents

分散キャッシュについてのシステム、プログラム及び方法 Download PDF

Info

Publication number
JP2013182349A
JP2013182349A JP2012044716A JP2012044716A JP2013182349A JP 2013182349 A JP2013182349 A JP 2013182349A JP 2012044716 A JP2012044716 A JP 2012044716A JP 2012044716 A JP2012044716 A JP 2012044716A JP 2013182349 A JP2013182349 A JP 2013182349A
Authority
JP
Japan
Prior art keywords
identifier
data
information processing
content
user
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.)
Granted
Application number
JP2012044716A
Other languages
English (en)
Other versions
JP5835015B2 (ja
Inventor
Hitoshi Ueno
仁 上野
Kazumine Matoba
一峰 的場
Kenichi Abiru
健一 阿比留
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 JP2012044716A priority Critical patent/JP5835015B2/ja
Priority to US13/719,401 priority patent/US9158732B2/en
Publication of JP2013182349A publication Critical patent/JP2013182349A/ja
Application granted granted Critical
Publication of JP5835015B2 publication Critical patent/JP5835015B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数の表示装置でユーザに適合したコンテンツデータを出力するシステムの効率を向上させる。
【解決手段】複数のコンテンツデータを保持する第1情報処理装置と、ユーザIDを読み取る機能を有する複数の表示装置と、複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータをユーザIDに基づき特定し、第1情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザIDを含む要求に応じて対応するコンテンツのデータを出力する複数の第2情報処理装置と、ユーザIDと複数の第2情報処理装置のうちの少なくとも1の第2情報処理装置とを対応付ける対応付けデータから、ユーザIDを含むイベントを検出すると、検出されたイベントに含まれるユーザIDに対応付けらた第2情報処理装置を特定し、当該特定された第2情報処理装置に対して検出されたイベントのユーザIDを送信する第3情報処理装置を有する。
【選択図】図1

Description

本技術は、データを分散してキャッシュする技術に関する。
近年の広帯域ネットワークの低価格化により、街中の店舗や自動販売機に大型のディスプレイを設置し、そこに地域の情報や広告など高解像度の動画をセンタサーバより配信するデータ配信システムが多数構築されてきている。これらの配信システムは、予め決められた時間に決められたコンテンツを表示装置に配信するものと、表示装置が定期的に又はユーザからの取得指示をトリガーにしてセンタサーバからコンテンツを取得するものがある。
特に後者は、情報を見ているユーザの嗜好に合わせた情報が表示できることから、今後増加することが見込まれている。しかし、センタサーバと表示装置の間のネットワークの通信遅延により、コンテンツの取得に時間がかかり、コンテンツが表示される前にユーザがその場を離れるケースがある、という問題がある。
コンテンツが表示されるまでの時間を短縮するための一つの方法として、表示装置の近くにキャッシュサーバを配備して、そこからコンテンツを配信する方法がある。多数の表示装置が分散してある場合、キャッシュサーバも複数台設置することになるが、キャッシュサーバに、今表示装置にきているユーザ向けのコンテンツがあれば表示にかかる時間を短縮することができる。但し、キャッシュサーバにコンテンツが無い場合にキャッシュサーバはセンタサーバからコンテンツを取得することになるため、やはり時間がかかってしまう。
このような表示に要する時間に関する問題に対し、以下のような技術が提案されている。すなわち、センタサーバは、ユーザが表示装置の近くに来たことを表すイベントを建物などの入退場システムから得て、それをトリガーにそのユーザ向けのコンテンツを予め表示装置の近くのキャッシュサーバに配信しておく。これにより、ユーザが表示装置にICカードなどをかざしてユーザIDを読み取らせると、すぐにコンテンツを表示できるようになる。
しかしながら、このような技術では、入退場システムからのイベントをセンタサーバに直接送信する構成としていたため、利用するユーザが増えてくると、センタサーバにイベントが集中してしまい、センタサーバの処理速度の低下が起きてしまうことがある。また、キャッシュサーバの容量には限界があるため、できるだけキャッシュサーバのリソースの無駄遣いとなるようなコンテンツのキャッシュを避けることが好ましい。
特開2003−30037号公報 特開2002−49766号公報
Matoba, K.; Abiru, K.; Ishihara, T., "Service oriented network architecture for scalable M2M and sensor network services", Intelligence in Next Generation Networks (ICIN), 2011 15th International Conference on 4-7, Oct. 2011, pp.35-40,
従って、本技術の目的は、一側面において、複数の表示装置でユーザに適合したコンテンツデータを出力するシステムの効率を向上させるための技術を提供することである。
第1の態様に係るシステムは、(A)複数のコンテンツのデータを保持する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子に基づき特定し、第1の情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)ユーザの識別子と複数の第2の情報処理装置のうちの少なくとも1の第2の情報処理装置とを対応付ける第1の対応付けデータを格納する第1のデータ格納部を有し、ユーザの識別子を含む所定のイベントを検出すると、第1のデータ格納部から、検出された所定のイベントに含まれるユーザの識別子に対応付けられている第2の情報処理装置を特定して、当該特定された第2の情報処理装置に対して検出された所定のイベントに含まれるユーザの識別子を送信する第3の情報処理装置とを有する。
第2の態様に係るシステムは、(A)複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、第1の情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)ユーザの識別子を含む所定のイベントを検出すると、第1の情報処理装置に当該ユーザの識別子を含むデータを送信する第3の情報処理装置とを有する。そして、上で述べた第1の情報処理装置は、(a1)ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部をさらに有する。そして、第1の情報処理装置は、(a2)第3の情報処理装置からユーザの識別子を含むデータを受信すると、第1の対応付けデータから、受信したデータに含まれるユーザの識別子に対応付けられているコンテンツの識別子を特定し、受信したデータに含まれるユーザの識別子と特定されたコンテンツの識別子とを対応付けて第3のデータ格納部に格納し、(a3)第3のデータ格納部において、コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている表示装置の識別子を第2の対応付けデータから特定し、特定された表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、(a4)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、同一の識別子が特定されたコンテンツのデータを第1のデータ格納部から読み出して送信するか又はコンテンツの同一の識別子を送信する。
第3の態様に係るシステムは、(A)複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子に基づき特定し、第1の情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部と第3のデータ格納部とを有する第3の情報処理装置とを有する。そして、上で述べた第3の情報処理装置は、(d1)ユーザの識別子を含む所定のイベントを検出すると、第1の対応付けデータから、検出した所定のイベントに含まれるユーザの識別子に対応付けられているコンテンツの識別子を特定し、検出した所定のイベントに含まれるユーザの識別子と特定されたコンテンツの識別子とを対応付けて第3のデータ格納部に格納し、(d2)第3のデータ格納部において、コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている表示装置の識別子を第2の対応付けデータから特定し、特定された表示装置の識別子に対応付けられている第2の情報処理装置の識別子を第3の対応付けデータから抽出し、(d3)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、上記少なくとも一部のユーザの識別子又はコンテンツの同一の識別子を送信する。
第4の態様に係るシステムは、(A)複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子又はコンテンツの識別子に基づき特定し、第1の情報処理装置から取得してキャッシュし、上記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)複数の第3の情報処理装置と、(E)ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、コンテンツの識別子と複数の第3の情報処理装置のうち1の第3の情報処理装置とを対応付ける第2の対応付けデータとを格納する第2のデータ格納部を有する第4の情報処理装置とを有する。そして、上で述べた第4の情報処理装置は、(d1)ユーザの識別子を含む所定のイベントを検出すると、第1の対応付けデータから、検出した所定のイベントに含まれるユーザの識別子に対応付けられているコンテンツの識別子を特定し、(d2)第2の対応付けデータから、特定されたコンテンツの識別子に対応付けられている第3の情報処理装置の識別子を特定し、(d3)検出した所定のイベントに含まれるユーザの識別子と特定されたコンテンツの識別子とを含むデータ又はユーザの識別子を含むデータを、特定された第3の情報処理装置に送信する。さらに、上で述べた複数の第3の情報処理装置の各々は、(c1)ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第3のデータ格納部を有する。そして、第3の情報処理装置は、(c2)第4の情報処理装置から受信したデータに含まれるユーザの識別子と前記コンテンツの識別子とを対応付けて第4のデータ格納部に格納するか、又は受信したデータに含まれるユーザの識別子に対応するコンテンツの識別子を特定してユーザの識別子と当該コンテンツの識別子とを対応付けて第4のデータ格納部に格納し、(c3)第4のデータ格納部において、コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている表示装置の識別子を第2の対応付けデータから特定し、特定された表示装置の識別子に対応付けられている第2の情報処理装置の識別子を第3の対応付けデータから抽出し、(c4)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、上記少なくとも一部のユーザの識別子又はコンテンツの同一の識別子を送信する。
複数の表示装置でユーザに適合したコンテンツデータを出力するシステムの効率を向上させることができる。
図1は、第1の実施の形態に係るシステムの概要を示す図である。 図2は、第1の実施の形態に係る表示装置の機能ブロック図である。 図3は、第1の実施の形態に係るセンタサーバの機能ブロック図である。 図4は、第1の実施の形態に係るイベント集配装置の機能ブロック図である。 図5は、イベント集配装置における第1管理テーブルに格納されるデータの一例を示す図である。 図6は、イベント集配装置における第2管理テーブルに格納されるデータの一例を示す図である。 図7は、第1の実施の形態に係るキャッシュサーバの機能ブロック図である。 図8は、キャッシュサーバにおける第1管理テーブルに格納されているデータの一例を示す図である。 図9は、キャッシュサーバにおける第2管理テーブルに格納されているデータの一例を示す図である。 図10は、第1の実施の形態に係る処理フローを示す図である。 図11は、第1の実施の形態に係る設定データの一例を示す図である。 図12は、第1の実施の形態に係る処理フローを示す図である。 図13は、第2の実施の形態に係る処理フローを示す図である。 図14は、第2の実施の形態に係る処理フローを示す図である。 図15は、第3の実施の形態に係るイベント集配装置の機能ブロック図である。 図16は、第3の実施の形態に係るセンタサーバの機能ブロック図である。 図17は、センタサーバにおける第1管理テーブルに格納されているデータの一例を示す図である。 図18は、センタサーバにおけるユーザアクセスリストに格納されているデータの一例を示す図である。 図19は、センタサーバにおける第3管理テーブルに格納されているデータの一例を示す図である。 図20は、センタサーバにおける第4管理テーブルに格納されているデータの一例を示す図である。 図21は、センタサーバにおける第5管理テーブルに格納されているデータの一例を示す図である。 図22は、第3の実施の形態に係るキャッシュサーバの機能ブロック図である。 図23は、第3の実施の形態における処理フローを示す図である。 図24は、第3の実施の形態における処理フローを示す図である。 図25は、単一ユーザ処理の処理フローを示す図である。 図26は、複数ユーザ処理の処理フローを示す図である。 図27は、具体例を模式的に示したシステム概要図である。 図28は、組み合わせリストの一例を示す図である。 図29は、複数ユーザ処理の処理フローを示す図である。 図30は、複数ユーザ処理の処理フローを示す図である。 図31Aは、組み合わせリストの処理後の状態を示す図である。 図31Bは、表示装置の処理フローを示す図である。 図32は、第4の実施の形態に係るイベント集配装置の機能ブロック図である。 図33は、第4の実施の形態の処理フローを示す図である。 図34は、第5の実施の形態に係るシステム構成の概要図である。 図35は、第5の実施の形態におけるイベント集配装置の機能ブロック図である。 図36は、第5の実施の形態に係るイベント集配装置における第3管理テーブルに格納されるデータの一例を示す図である。 図37は、第5の実施の形態に係るイベント集配装置における第4管理テーブルに格納されるデータの一例を示す図である。 図38は、コンテンツ配備先決定サーバの機能ブロック図である。 図39は、第5の実施の形態に係る処理フローを示す図である。 図40は、第6の実施の形態に係る第6管理テーブルに格納されるデータの一例を示す図である。 図41は、第6の実施の形態に係る処理フローを示す図である。 図42は、コンピュータの機能ブロック図である。
[実施の形態1]
図1に本実施の形態に係るシステムの概要を示す。図1の例では、ネットワーク1aに、システムで用いられるコンテンツデータを保持するセンタサーバ3と、イベント集配装置5(図1では5a及び5b)と、キャッシュサーバ7(図1では7a及び7b)とが接続されている。また、ネットワーク1bには、イベント集配装置5a及び5bと、複数のセンサ9(図1では9a,9b及び9c)とが接続されている。また、ネットワーク1cには、キャッシュサーバ7a及び7bと、表示装置11(図1では11a,11b及び11c)とが接続されている。
センサ9a乃至9cは、例えば建物や施設の入口及び出口に設置されている。センサ9a乃至9cは入退場管理のための装置と共用されることもあれば、入退場管理を行わない場合に独立に設置される場合もある。また、表示装置11a乃至11cは、例えば建物や施設内に分散して配置されている。さらに、キャッシュサーバ7a及び7cは、表示装置11a乃至11cの配置に従って、表示装置11a乃至11cにおけるコンテンツ表示のレスポンス時間を所定時間内に抑えることができる位置に配置される。
センサ9a乃至9bは、1又は複数のイベント集配装置5に対応付けられている。また、表示装置11a乃至11cも、1又は複数のキャッシュサーバ7に対応付けられている。センタサーバ3は、例えば建物や施設に1つ設置される。
センサ9a乃至9cの各々は、ユーザが保持しており且つユーザIDが格納されているICカードなどからユーザIDを読み取ると、当該ユーザIDを含むイベントのデータを、自身に対応するイベント集配装置5に送信する。イベント集配装置5aは、以下で述べる処理を行ってキャッシュサーバ7にイベントのデータを転送する。キャッシュサーバ7は、イベント集配装置5からイベントのデータを受信すると、表示装置11で表示すべきコンテンツデータを保持していなければセンタサーバ3からコンテンツデータを取得してキャッシュする。ユーザが、例えば表示装置11aに来てICカードをかざすと、表示装置11aが有する第1のセンサでユーザIDを読み取り、さらに温度センサなどの第2のセンサで温度を測定して、ユーザID及び温度を含むデータを、自身に対応するキャッシュサーバ7に送信する。キャッシュサーバ7は、表示装置11aから受信したデータに応じたコンテンツデータを表示装置に出力し、表示装置11aは、当該コンテンツデータを表示する。
表示装置11aの構成例を図2に示す。図2に示すように、ICカードリーダ111と、温度センサ112と、送信部113と、受信部114と、バッファ115と、出力部116と、表示部117とを有する。ICカードリーダ111は、ユーザが保持するICカードからユーザIDを読み取り、送信部113に出力する。温度センサ112は、例えば送信部113からの要求に応じて温度の測定値を送信部113に出力する。なお、温度センサは一例であり、他のセンサであっても良い。例えば、カメラでユーザの顔画像を撮影し、当該顔画像を処理して表情を認識するようなものであっても良い。送信部113は、ユーザID及び温度を含むコンテンツ要求を、予め登録されているキャッシュサーバ7に送信する。なお、複数のキャッシュサーバ7が登録されている場合には、例えば優先度を決めておき、優先度順にコンテンツ要求を送信する場合もある。
受信部114は、キャッシュサーバ7からコンテンツデータを受信し、バッファ115に格納する。出力部116は、バッファ115に格納されたコンテンツデータを、表示部117に出力する。なお、表示装置は、自動販売機やキオスク端末など他の機能を有する装置に組み込まれている場合もあれば、表示装置単体で設置される場合もある。
また、センタサーバ3の構成例を図3に示す。センタサーバ3は、キャッシュサーバ7との通信を行う通信部31と、データ抽出部32と、表示装置11で表示されるコンテンツのデータを格納するコンテンツ格納部33とを有する。通信部31は、キャッシュサーバ7からコンテンツIDを含むコンテンツ要求を受信すると、コンテンツIDをデータ抽出部32に出力する。データ抽出部32は、キャッシュサーバ7から要求されたコンテンツIDのコンテンツデータを、コンテンツ格納部33から読み出して、通信部31に出力する。通信部31は、データ抽出部32から受け取ったコンテンツデータを、要求元のキャッシュサーバ7に送信する。
次に、イベント集配装置5の構成例を図4に示す。イベント集配装置5は、イベント受信部51と、転送先決定部52と、イベント転送部54と、データ格納部53とを有する。データ格納部53には、第1管理テーブル531と、第2管理テーブル532とが格納されている。イベント受信部51は、センサ9からユーザIDを含むイベントデータを受信し、イベントデータを転送先決定部52に出力する。転送先決定部52は、データ格納部53に格納されている第1管理テーブル531及び第2管理テーブル532から、イベントデータの転送先のキャッシュサーバ7(CS(Cache Server)と略する場合もある)のアドレスを特定し、イベント転送部54にイベントデータと共に出力する。イベント転送部54は、特定されたキャッシュサーバ7へイベントデータを送信する。
イベントデータは、ユーザIDだけではなく、例えばイベントのタイプ(入場又は出場など)と、イベント発生時刻と、センサIDなどを含む。
第1管理テーブル531には、例えば図5に示すようなデータを格納されている。図5の例では、ユーザIDに対応付けて1又は複数の表示装置IDが登録されるようになっている。このように、予めユーザがよく使用する表示装置を特定しておき、ユーザIDに対応付けてその表示装置の表示装置IDを登録しておく。
第2管理テーブル532には、例えば図6に示すようなデータが格納されている。図6の例では、表示装置IDに対応付けてキャッシュサーバ7のアドレス(CSアドレス)が登録されるようになっている。このように表示装置11と当該表示装置を担当するキャッシュサーバ7の対応付けが登録される。
また、キャッシュサーバ7の構成例を図7に示す。キャッシュサーバ7は、メッセージ受信部71と、キャッシュ確認部72と、コンテンツ取得部73と、第1データ格納部74と、コンテンツ要求処理部75と、第2データ格納部76とを有する。第1データ格納部74は、第1管理テーブル741と第2管理テーブル742とを格納している。
メッセージ受信部71は、イベント集配装置5からイベントデータを受信し、イベントデータをキャッシュ確認部72に出力する。キャッシュ確認部72は、第1データ格納部74に格納されているデータから、表示装置11に出力される予定のコンテンツデータが第2データ格納部76に既に格納されているか否かを判断する。表示装置11に出力される予定のコンテンツデータが第2データ格納部76に既に格納されていれば、ここで処理を終了する。一方、表示装置11に出力される予定のコンテンツデータが第2データ格納部76に格納されていない場合には、コンテンツIDをコンテンツ取得部73に出力する。コンテンツ取得部73は、コンテンツIDをキャッシュ確認部72から受信すると、センタサーバ3に当該コンテンツIDを含むコンテンツ要求を送信し、センタサーバ3からコンテンツデータを受信すると、第2データ格納部76に格納し、第1データ格納部74に格納されているデータを更新する。
また、コンテンツ要求処理部75は、表示装置11からコンテンツ要求を受信すると、第1データ格納部74に格納されているデータから出力すべきコンテンツを特定し、当該コンテンツのデータが第2データ格納部76に格納されている場合には、第2データ格納部76から当該コンテンツのデータを読み出して、表示装置11に出力する。一方、出力すべきコンテンツのデータが第2データ格納部76に格納されていない場合には、コンテンツ要求処理部75は、コンテンツIDをコンテンツ取得部73に出力して、コンテンツ取得部73に当該コンテンツIDのコンテンツデータを取得させる。
第1管理テーブル741に格納されるデータの一例を図8に示す。図8の例では、ユーザIDに対応付けて当該ユーザに適合したコンテンツのコンテンツIDが登録されるようになっている。
第2管理テーブル742に格納されるデータの一例を図9に示す。図9の例では、コンテンツIDに対応付けて、1又は複数の出力条件と、各出力条件についての実コンテンツデータの格納先と、最終利用ユーザIDと、最終利用日時とが登録されるようになっている。例えば、出力すべきコンテンツのコンテンツIDが「c20」と特定され、温度が15度の場合には、a2.mpgを表示装置に出力する。
このようなシステムの処理内容の詳細について、図10乃至図12を用いて説明する。イベント集配装置5のイベント受信部51は、例えば入場口のセンサ9からユーザIDを含むイベントデータ(例えば入場イベント)を受信すると(図10:ステップS1)、当該イベントデータを転送先決定部52に出力する。転送先決定部52は、イベントデータを受信すると、イベントデータに含まれるユーザIDで第1管理テーブル531を検索して対応付けられている表示装置IDを特定し、さらにこの表示装置IDで第2管理テーブル532を検索して対応付けられているキャッシュサーバ7のアドレス(CSアドレス)を特定する(ステップS3)。
本実施の形態では、第1管理テーブル531には、予めユーザIDに対応する表示装置IDを登録しておくものとしているが、登録が間に合わない場合なども生じ得る。その場合には第1管理テーブル531に、イベントデータに含まれるユーザIDが見つからないので、キャッシュサーバ7のアドレスは特定できなかったということになる。但し、このような場合のために、データ格納部53に、図11に示すような設定データを格納しておき、このような設定データに従うようにしても良い。図11の例では、エラー処理フラグに対応して「全て(All)」又は「0(Zero)」が登録されるようになっている。すなわち、「全て」ならば、例えば第2管理テーブル532に登録されている全てのキャッシュサーバ7を転送先に設定する。また、「0」であれば、キャッシュサーバ7を特定できなかったことになる。
キャッシュサーバ7のアドレスが特定できなかった場合には(ステップS5:Noルート)、エラーとして処理を終了する。
一方、キャッシュサーバ7のアドレスが特定できた場合には、転送先決定部52は、特定されたキャッシュサーバ7のアドレスとイベントデータとをイベント転送部54に出力する。
イベント転送部54は、ユーザIDを含むイベントデータ(例えば入場イベントのイベントデータ)を、特定されたキャッシュサーバ7に転送する(ステップS7)。
キャッシュサーバ7のメッセージ受信部71は、イベント集配装置5からイベントデータ(入場イベントのイベントデータ)を受信すると(ステップS11)、当該イベントデータをキャッシュ確認部72に出力する。
キャッシュ確認部72は、イベントデータに含まれるユーザIDで、第1データ格納部74に格納されている第1管理テーブル741を検索して、対応付けられているコンテンツIDを特定し、さらに当該コンテンツIDで第2管理テーブル742を検索して、当該コンテンツIDについてのエントリが第2管理テーブル742に登録されているか、すなわち第2データ格納部76にコンテンツデータが格納されているか否かを判断する(ステップS13)。なお、上で述べた場合と同様に第1管理テーブル741へのユーザIDの登録が遅れてしまっている場合もある。この場合には、コンテンツIDが特定できないので、ここで処理を終了する。また、特定されたコンテンツIDが第2管理テーブル742に登録済みである場合には、ここで処理を終了する。なお、第2管理テーブル742において、当該コンテンツIDに対応付けて、最終利用ユーザIDを、受信したイベントデータに含まれるユーザIDで更新し、最終利用日時を、現在時刻で更新するようにしても良い。
一方、特定されたコンテンツIDが第2管理テーブル742において登録済みではない場合には、キャッシュ確認部72は、コンテンツID及びユーザIDをコンテンツ取得部73に出力し、コンテンツ取得部73は、コンテンツIDを含むコンテンツ要求をセンタサーバ3に送信する(ステップS15)。
センタサーバ3の通信部31は、コンテンツIDを含むコンテンツ要求を受信し(ステップS17)、コンテンツIDをデータ抽出部32に出力し、データ抽出部32は、受信されたコンテンツIDのコンテンツデータをコンテンツ格納部33から読み出して、通信部31に出力する。そして、通信部31は、コンテンツIDに対応するコンテンツデータをキャッシュサーバ7に送信する(ステップS19)。なお、コンテンツデータには、出力条件のデータ及び出力条件に対応する個別のコンテンツデータを含む。
キャッシュサーバ7のコンテンツ取得部73は、コンテンツデータをセンタサーバ3から受信すると、当該コンテンツデータを第2データ格納部76に格納すると共に、第1データ格納部74の第2管理テーブル742において、当該コンテンツデータのコンテンツIDに対応付けて、出力条件のデータ及びコンテンツデータの格納先のデータを登録する(ステップS21)。
なお、第2管理テーブル742において、当該コンテンツIDに対応付けて、最終利用ユーザIDを、受信したイベントデータに含まれるユーザIDで更新し、最終利用日時を、現在時刻で更新するようにしても良い。
以上の処理が、ユーザが入場口でICカードをセンサ9に読み取らせて、いずれかの表示装置11に行く前に行われる処理である。
次に、図12及び図13を用いて、ユーザが表示装置11の設置場所にやってきてICカードをICカードリーダ111に読み込ませた際の処理を説明する。
表示装置11のICカードリーダ111は、ICカードからユーザIDを読み出し、温度センサ112が温度を測定すると、送信部113は、ユーザID及び温度(一般的にはセンサ値)を含むコンテンツ要求をキャッシュサーバ7に送信する(図12:ステップS31)。キャッシュサーバ7のコンテンツ要求処理部75は、表示装置11からユーザID及び温度を含むコンテンツ要求を受信すると(ステップS33)、コンテンツ要求に含まれるユーザIDで第1管理テーブル741を検索してコンテンツIDを読み出し、コンテンツID及びコンテンツ要求に含まれる温度で第2管理テーブル742を検索して、該当するコンテンツデータが第2データ格納部76に格納されているか否かを判断する(ステップS35)。例えば温度が15度である場合には、特定されたコンテンツIDと温度15度という条件とで第2管理テーブル742を検索して、コンテンツデータの格納先が登録されているか判断する。
なお、ユーザIDが第1管理テーブル741に登録されていない場合には、コンテンツ要求処理部75は、エラー通知を表示装置11に送信し、例えば表示装置11は一般的なコンテンツを出力する。
該当するコンテンツデータが第2データ格納部76に格納されている場合には(ステップS37:Noルート)、処理はステップS45に移行する。一方、該当するコンテンツデータが第2データ格納部76に格納されていない場合には、コンテンツ要求処理部75は、コンテンツID及びユーザIDをコンテンツ取得部73に出力する。そうすると、コンテンツ要求処理部75は、ユーザIDに対応するコンテンツIDを含むコンテンツ要求をセンタサーバ3に送信する(ステップS39)。
センタサーバ3の通信部31は、コンテンツIDを含むコンテンツ要求を受信し、コンテンツIDをデータ抽出部32に出力し、データ抽出部32は、受信されたコンテンツIDのコンテンツデータをコンテンツ格納部33から読み出して、通信部31に出力する。そして、通信部31は、コンテンツIDに対応するコンテンツデータをキャッシュサーバ7に送信する(ステップS41)。なお、コンテンツデータには、出力条件のデータ及び出力条件に対応する個別のコンテンツデータを含む。
キャッシュサーバ7のコンテンツ取得部73は、コンテンツデータをセンタサーバ3から受信すると、当該コンテンツデータを第2データ格納部76に格納すると共に、第1データ格納部74の第2管理テーブル742において、当該コンテンツデータのコンテンツIDに対応付けて、出力条件のデータ及びコンテンツデータの格納先のデータを登録する(ステップS43)。そして処理はステップS45に移行する。
なお、第2管理テーブル742において、当該コンテンツIDに対応付けて、最終利用ユーザIDを、受信したイベントデータに含まれるユーザIDで更新し、最終利用日時を、現在時刻で更新するようにしても良い。
その後、キャッシュサーバ7のコンテンツ要求処理部75は、ユーザID及び温度に対応するコンテンツデータを第2データ格納部76から読み出して、要求元の表示装置11に出力する(ステップS45)。
表示装置11の受信部114は、キャッシュサーバ7からコンテンツデータを受信し、バッファ115に格納する。出力部116は、バッファ115に格納されたコンテンツデータを、表示部117に出力する(ステップS47)。
以上のような処理を実施することで、センタサーバ3に直接多数のイベントデータを送信して処理させることなく、表示装置11にユーザに適合したコンテンツデータを出力することができる。すなわち、センタサーバ3のレスポンスが遅くなるといったようなことがなく、分散配置されているキャッシュサーバ7で分散処理されることになるので、システム全体でも効率的な処理が行われるようになる。
[実施の形態2]
第1の実施の形態でも、キャッシュサーバ7の第2データ格納部76におけるガベージコレクションは一般的なアルゴリズムにて行うことになる。しかし、例えば特定のユーザ向けのコンテンツデータをキャッシュサーバ7の第2データ格納部76に格納した後、特定のユーザが出場してしまった場合には、その特定のユーザ向けのコンテンツデータは他の一般的なユーザには用いられない場合もある。このような場合には第2データ格納部76の容量を無駄に消費することになるので、本実施の形態ではこのようなケースに対処して、キャッシュサーバ7の第2データ格納部76の容量を効率的に利用する。
本実施の形態のシステム構成は、第1の実施の形態のシステム構成と同様であり、処理内容が以下に述べる部分で異なるだけである。従って、システム構成の説明を省略して、図13及び図14を用いて処理内容の異なる部分だけを説明する。
イベント集配装置5のイベント受信部51は、例えば入場口のセンサ9からユーザIDを含む入場イベントデータを受信すると(図13:ステップS51)、当該入場イベントデータを転送先決定部52に出力する。転送先決定部52は、入場イベントデータを受信すると、入場イベントデータに含まれるユーザIDで第1管理テーブル531を検索して対応付けられている表示装置IDを特定し、さらにこの表示装置IDで第2管理テーブル532を検索して対応付けられているキャッシュサーバ7のアドレス(CSアドレス)を特定する(ステップS53)。
第1管理テーブル531に、ユーザIDが登録されていない場合の処理については第1の実施の形態と同様であり、ここでは説明を省略する。
そして、転送先決定部52は、特定されたキャッシュサーバ7のアドレスと入場イベントデータとをイベント転送部54に出力する。
イベント転送部54は、ユーザIDを含む入場イベントデータを、特定されたキャッシュサーバ7に転送する(ステップS55)。
キャッシュサーバ7のメッセージ受信部71は、イベント集配装置5から入場イベントデータを受信すると(ステップS57)、当該入場イベントデータをキャッシュ確認部72に出力する。
キャッシュ確認部72は、入場イベントデータに含まれるユーザIDで、第1データ格納部74に格納されている第1管理テーブル741を検索して、対応付けられているコンテンツIDを特定し、さらに当該コンテンツIDで第2管理テーブル742を検索して、当該コンテンツIDについてのエントリが第2管理テーブル742に登録されているか、すなわち第2データ格納部76にコンテンツデータが格納されているか否かを判断する(ステップS59)。なお、第1管理テーブル741にユーザIDが登録されていない場合もあるが、この場合の処理は第1の実施の形態と同様であるからここでは説明を省略する。また、コンテンツIDについてのエントリが第2管理テーブル742に登録されている場合には(ステップS61:Noルート)、キャッシュ確認部72は、第2管理テーブル742において、当該コンテンツIDに対応付けられている最終利用ユーザIDを、受信した入場イベントデータに含まれるユーザIDで更新し、最終利用日時を、現在時刻で更新する(ステップS70)。
一方、コンテンツIDについてのエントリが第2管理テーブル742に登録されていない場合(ステップS61:Yesルート)、キャッシュ確認部72は、コンテンツID及びユーザIDをコンテンツ取得部73に出力し、コンテンツ取得部73は、コンテンツID含むコンテンツ要求をセンタサーバ3に送信する(ステップS63)。
センタサーバ3の通信部31は、コンテンツIDを含むコンテンツ要求を受信し(ステップS65)、コンテンツIDをデータ抽出部32に出力し、データ抽出部32は、受信されたコンテンツIDのコンテンツデータをコンテンツ格納部33から読み出して、通信部31に出力する。そして、通信部31は、コンテンツIDに対応するコンテンツデータをキャッシュサーバ7に送信する(ステップS67)。なお、コンテンツデータには、出力条件のデータ及び出力条件に対応する個別のコンテンツデータを含む。
キャッシュサーバ7のコンテンツ取得部73は、コンテンツデータをセンタサーバ3から受信すると、当該コンテンツデータを第2データ格納部76に格納すると共に、第1データ格納部74の第2管理テーブル742において、当該コンテンツデータのコンテンツIDに対応付けて、出力条件のデータ及びコンテンツデータの格納先のデータと、入場イベントデータに含まれるユーザID及び現在時刻を登録する(ステップS69)。
以上の処理が、ユーザが入場口でICカードをセンサ9に読み取らせて、いずれかの表示装置11に行く前に行われる処理である。
次に、ユーザが建物出口などから出場する場合の処理について図14を用いて説明する。
イベント集配装置5のイベント受信部51は、例えば出口のセンサ9からユーザIDを含む出場イベントデータを受信すると(図14:ステップS71)、当該出場イベントデータを転送先決定部52に出力する。転送先決定部52は、出場イベントデータを受信すると、出場イベントデータに含まれるユーザIDで第1管理テーブル531を検索して対応付けられている表示装置IDを特定し、さらにこの表示装置IDで第2管理テーブル532を検索して対応付けられているキャッシュサーバ7のアドレス(CSアドレス)を特定する(ステップS73)。
第1管理テーブル531に、ユーザIDが登録されていない場合の処理については第1の実施の形態と同様であり、ここでは説明を省略する。
そして、転送先決定部52は、特定されたキャッシュサーバ7のアドレスと出場イベントデータとをイベント転送部54に出力する。
イベント転送部54は、ユーザIDを含む出場イベントデータを、特定されたキャッシュサーバ7に転送する(ステップS75)。
キャッシュサーバ7のメッセージ受信部71は、イベント集配装置5から出場イベントデータを受信すると(ステップS77)、当該出場イベントデータをキャッシュ確認部72に出力する。
キャッシュ確認部72は、出場イベントデータに含まれるユーザIDで第1データ格納部74に格納されている第1管理テーブル741を検索して、対応付けられているコンテンツIDを特定する(ステップS79)。そして、キャッシュ確認部72は、特定されたコンテンツIDで、第2管理テーブル742を検索して該当エントリを特定する。該当エントリが存在しない場合には、ここで処理を終了する。一方、該当エントリが存在する場合には、キャッシュ確認部72は、該当エントリにおける最終利用ユーザIDが、出場イベントデータに含まれるユーザIDと一致するか否かを判断する(ステップS81)。
ここで該当エントリにおける最終利用ユーザIDが、出場イベントデータに含まれるユーザIDと一致しない場合には、ここで処理は終了する。
一方、該当エントリにおける最終利用ユーザIDが、出場イベントデータに含まれるユーザIDと一致する場合には、キャッシュ確認部72は、該当エントリを第2管理テーブル742から削除し、該当エントリに含まれる格納先のコンテンツデータを第2データ格納部76において削除する(ステップS83)。この処理については、コンテンツ取得部73が行うようにしても良い。
第1のユーザが入場時にキャッシュサーバ7に格納されたコンテンツデータと同一のコンテンツデータに対応付けられている第2のユーザが建物などに入場した場合には、第2管理テーブル742におけるこのコンテンツデータのエントリにおける最終利用ユーザIDは第2のユーザのユーザIDで置換される。従ってステップS83で削除されることはない。しかし、第1のユーザが入場してから出場するまでに同一のコンテンツデータに対応付けられている他のユーザが入場しない場合には、このコンテンツデータを保持し続けるのは容量効率が良くない。そこで、このような処理にてコンテンツデータを削除することで、第2データ格納部76を有効活用する。
[実施の形態3]
第1及び第2の実施の形態では、センタサーバ3にイベントデータが集中する問題を取り扱ったが、本実施の形態では、キャッシュサーバ7の容量利用効率を高めるための構成例を示す。
本実施の形態でも、システム全体の概要は図1を用いて第1の実施の形態で説明したもの同様である。また、表示装置11の構成も第1の実施の形態と同様である。
イベント集配装置5の構成例を図15に示す。図15に示すように、本実施の形態におけるイベント集配装置5は、イベント受信部51と、イベント転送部54とを有する。すなわち、イベント受信部51は、センサ9からイベントデータを受信すると、当該イベントデータをイベント転送部54に出力し、イベント転送部54は、当該イベントデータを、センタサーバ3に送信する。
次に、本実施の形態におけるセンタサーバ3の構成例を図16に示す。センタサーバ3は、イベント受信部311と、コンテンツ判定部312と、第1データ格納部313と、第2データ格納部314と、第3データ格納部315と、送信先判定部316と、コンテンツ格納部318と、コンテンツ配信部317とを有する。第1データ格納部313は、第1管理テーブル3131を格納している。第2データ格納部314は、ユーザアクセスリスト3141を格納している。第3データ格納部315は、第3管理テーブル3151と、第4管理テーブル3152と、第5管理テーブル3153とを格納している。コンテンツ格納部318は、システムにおける表示装置11に配信するコンテンツデータを格納する。
第1管理テーブル3131に格納されるデータの一例を、図17に示す。図17の例では、ユーザIDに対応付けて当該ユーザIDのユーザに適合したコンテンツのコンテンツIDが登録されるようになっている。
また、ユーザアクセスリスト3141に格納されるデータの一例を、図18に示す。図18の例では、コンテンツIDとユーザIDのペアを格納するようになっている。なお、ユーザアクセスリスト3141のエントリは、コンテンツ判定部312により登録され、送信先判定部316により取り出される。
第3管理テーブル3151に格納されるデータの一例を、図19に示す。図19の例では、ユーザIDに対応付けて、当該ユーザが良く用いる1又は複数の表示装置の表示装置IDが登録されるようになっている。
第4管理テーブル3152に格納されるデータの一例を、図20に示す。図20の例では、表示装置IDに対して、当該表示装置IDの表示装置11がアクセスするキャッシュサーバ7のアドレス(CSアドレス)と、当該表示装置11とキャッシュサーバ7との間の平均スループット(例えばbit per second)とが登録されるようになっている。この例では、表示装置d100は2つのキャッシュサーバ7にアクセスし、表示装置d101も同じ2つのキャッシュサーバ7にアクセスするようになっている。但し、表示装置11とキャッシュサーバ7のペアが異なれば、ネットワークの経路も異なるので、平均スループットも異なる可能性がある。
第5管理テーブル3153に格納されるデータの一例を、図21に示す。図21の例では、コンテンツID毎に、1又は複数の出力条件と、各出力条件に対応するコンテンツデータの格納先と、コンテンツデータのサイズとが格納されるようになっている。なお、本実施の形態では、図21に示すように、複数のファイルがコンテンツIDに対応付けられている場合には、それらは出力条件と共にセットで取り扱われるものとする。
イベント受信部311は、イベント集配装置5からイベントデータを受信すると、コンテンツ判定部312に出力する。コンテンツ判定部312は、第1データ格納部313に格納されている第1管理テーブル3131からデータを読み出して、第2データ格納部314におけるユーザアクセスリスト3141を更新する。送信先判定部316は、例えば定期的にユーザアクセスリスト3141からエントリを読み出し、第3データ格納部315に格納されている第3乃至第5管理テーブル3151乃至3153を用いて、コンテンツID及び当該コンテンツIDのコンテンツデータの配信先であるキャッシュサーバ7を特定し、コンテンツ配信部317に出力する。コンテンツ配信部317は、コンテンツIDのコンテンツをコンテンツ格納部318から読み出して、配信先であるキャッシュサーバ7にコンテンツデータを配信する。
なお、キャッシュサーバ7から、コンテンツ要求を受信した場合には、コンテンツ配信部317は、コンテンツ格納部318から該当するコンテンツのデータを読み出して、要求元のキャッシュサーバ7に送信する。
次に、本実施の形態に係るキャッシュサーバ7の構成例を図22に示す。図22に示すように、本実施の形態に係るキャッシュサーバ7は、第1の実施の形態におけるキャッシュサーバ7において、メッセージ受信部71及びキャッシュ確認部72が除去されている点を除くと、ほぼ同様の構成を有する。但し、コンテンツ取得部73は、センタサーバ3からコンテンツデータの配信を受けて、当該コンテンツデータを第2データ格納部76に格納すると共に、当該コンテンツデータに関するデータを、ユーザIDとの関連付けなしに、第2管理テーブル742に登録する点が異なる。第1管理テーブル741及び第2管理テーブル742のデータフォーマットについては、第1の実施の形態におけるデータフォーマットと同様のデータフォーマットとなる。
次に、本実施の形態の処理内容について、図23乃至図31を用いて説明する。
イベント集配装置5のイベント受信部51は、センサ9からユーザID(例えば「u123」)を含むイベントデータAを受信し(図23:ステップS91)、当該イベントデータAをイベント転送部54に出力する。イベント転送部54は、イベントデータAをセンタサーバ3に送信する(ステップS92)。センタサーバ3のイベント受信部311は、イベント集配装置5からイベントデータAを受信し(ステップS93)、当該イベントデータAを、コンテンツ判定部312に出力する。
コンテンツ判定部312は、イベントデータAを受信すると、当該イベントデータAに含まれるユーザIDに対応するコンテンツID(例えば「c20」)を、第1管理テーブル3131から抽出する(ステップS95)。そして、コンテンツ判定部312は、ユーザIDとコンテンツIDのペアを、ユーザアクセスリスト3141に登録する(ステップS97)。
また、イベント集配装置5のイベント受信部51は、センサからユーザID(例えば「u222」)を含むイベントデータBを受信し(ステップS99)、当該イベントデータBをイベント転送部54に出力する。イベント転送部54は、イベントデータBをセンタサーバ3に送信する(ステップS100)。センタサーバ3のイベント受信部311は、イベント集配装置5からイベントデータBを受信し(ステップS101)、当該イベントデータAを、コンテンツ判定部312に出力する。
コンテンツ判定部312は、イベントデータBを受信すると、当該イベントデータBに含まれるユーザIDに対応するコンテンツID(例えば「c20」)を、第1管理テーブル3131から抽出する(ステップS103)。そして、コンテンツ判定部312は、ユーザIDとコンテンツIDのペアを、ユーザアクセスリスト3141に登録する(ステップS105)。
このような処理を実施すると、図18に示すような最初の2つのエントリが、ユーザアクセスリスト3141に格納されることになる。このような処理が繰り返される。
次に、送信先判定部316等の処理を図24乃至図30を用いて説明する。この処理は、図23の処理とは非同期に例えば一定間隔(1秒間隔等)で行われる。
送信先判定部316は、ユーザアクセスリスト3141から現在登録されているエントリを全て読み出す(図24:ステップS111)。なお、読み出したエントリのデータについては、ユーザアクセスリスト3141から削除する。
そして、送信先判定部316は、読み出したエントリの集合において、未処理のエントリを1つ特定する(ステップS113)。このように特定されたエントリは、エントリの集合から削除する。そして、送信先判定部316は、特定されたエントリに含まれるコンテンツIDと同一のコンテンツIDを含む他のエントリをエントリの集合から抽出する(ステップS115)。
例えば図18に示したような3エントリがアクセスリスト3141に登録されている場合には、この3エントリをエントリの集合に登録し、そのうちの最初のエントリ(「c20」と「u123」)に含まれるコンテンツID「c20」と同一のコンテンツIDを含む他のエントリは、2番目のエントリ(「c20」と「u222」)と3番目のエントリ(「c20」と「u333」)である。ステップS115で他のエントリが抽出されると、当該他のエントリについても、エントリの集合から削除する。
そして、ステップS115で他のエントリが抽出されなかった場合(ステップS117:Noルート)、同一のコンテンツデータを配信することになるユーザが、このタイミングでは単数であったことになるので、送信先判定部316等は、単一ユーザ処理を実施する(ステップS119)。そして処理はステップS123に移行する。
一方、ステップS115で他のエントリが抽出された場合(ステップS117:Yesルート)、同一のコンテンツデータを配信することになるユーザが、このタイミングでは複数であったことになるので、送信先判定部316等は、複数ユーザ処理を実施する(ステップS121)。
ステップS119又はステップS121の後に、送信先判定部316は、エントリの集合において未処理のエントリが存在するか判断する(ステップS123)。エントリの集合において未処理のエントリが存在する場合にはステップS113に戻る。一方、エントリの集合において未処理のエントリが存在しない場合には、このタイミングでの処理を終了する。
次に、図25を用いて単一ユーザ処理を説明する。送信先判定部316は、特定されたエントリに含まれるユーザIDで第3管理テーブル3151を検索して、ユーザIDに対応する表示装置IDを取得する(図25:ステップS131)。そして、送信先判定部316は、取得された表示装置IDで第4管理データ3152を検索して、表示装置IDに対応するキャッシュサーバ7のアドレスを1つ選択する(ステップS133)。図20の例では、表示装置ID「d100」に対応して2つのキャッシュサーバ7が登録されているが、例えばランダムに選択しても良いし、平均スループットが最も大きい値のキャッシュサーバ7を選択しても良い。
そうすると、送信先判定部316は、コンテンツIDとキャッシュサーバ7のアドレスとを、コンテンツ配信部317に出力する。コンテンツ配信部317は、コンテンツIDとキャッシュサーバ7のアドレスとを受け取ると、コンテンツIDに対応するコンテンツデータ(出力条件及び実際のコンテンツデータを含む)を、コンテンツ格納部318から読み出して、選択されたキャッシュサーバ7に配信する(ステップS135)。
これによってキャッシュサーバ7のコンテンツ取得部73は、コンテンツデータをセンタサーバ3から受信すると、第2データ格納部76に格納する。そして、第2管理テーブル742において、コンテンツIDと出力条件とコンテンツデータの格納先とに登録する。
また、図26乃至図30を用いて複数ユーザ処理を説明する。
まず、送信先判定部316は、ステップS113で特定されたエントリ及びステップS115で抽出されたエントリ(以下、処理対象のエントリと呼ぶ)に含まれるユーザIDで第3管理テーブル3151を検索して、ユーザIDに対応する表示装置IDを特定する(ステップS141)。特定された表示装置IDを含む表示装置リストを生成し、例えば第3データ格納部315に格納する。
また、送信先判定部316は、特定された表示装置IDで第4管理テーブル3152を検索して、表示装置IDに対応するキャッシュサーバ7のアドレス及び平均スループットを取得する(ステップS143)。
図18に示した3エントリを処理する場合には、図20に示すようなデータがステップS143から取得される。なお、表示装置d100及びd101は、キャッシュサーバ「10.25.25.10」及び「10.25.25.11」に共に接続されている。すなわち、表示装置d100及びd101から見れば、共通のキャッシュサーバ「10.25.25.10」があり、さらに別の共通のキャッシュサーバ「10.25.25.11」がある。一方、コンテンツIDが同じであるということで抽出された3番目のエントリについては、表示装置d201が抽出され、当該表示装置d201が接続されているキャッシュサーバ7は「10.25.25.19」であり、このキャッシュサーバ7は、表示装置d100及びd101には接続されていない。模式的に示せば、図27に示すような接続関係が得られる。このような場合には、共通のキャッシュサーバ「10.25.25.10」及び「10.25.25.11」のうちいずれかにコンテンツデータ「c20」を配信しておき、そのいずれかのキャッシュサーバに表示装置d100及びd101がアクセスすればキャッシュサーバ7の第2データ格納部76の利用効率が向上する。なお、共通のキャッシュサーバのうちいずれを選択するかは、表示装置におけるユーザに対するレスポンス時間を考慮することになる。すなわち、可能な限り多数の表示装置で共通のキャッシュサーバを共用しつつ、レスポンス時間に影響する表示装置とキャッシュサーバ間の通信時間については閾値未満に抑えるようにする。
一方、表示装置d201についてはキャッシュサーバ「10.25.25.19」を用いざるを得ないので、キャッシュサーバ「10.25.25.19」にコンテンツデータ「c20」を送信することになる。
また、送信先判定部316は、処理対象のコンテンツIDで第5管理テーブル3153を検索して、ファイルサイズを取得する(ステップS145)。例えば、ここではコンテンツID「c20」についてのファイルサイズ「20M」が得られたものとする。
そして、送信先判定部316は、表示装置リストに表示装置IDが登録されている表示装置とステップS143でアドレスが特定されたキャッシュサーバ7との組み合わせ毎に、ファイルサイズ/平均スループットにより通信時間を算出し、組み合わせリストに登録する(ステップS147)。
組み合わせリストの一例を図28に示す。3つのキャッシュサーバと3つの表示装置の組み合わせであるから、9通りの組み合わせが生成されるが、図27に示すような接続関係であるとすると、キャッシュサーバ「10.25.25.10」及び「10.25.25.11」と表示装置d201の組み合わせについては平均スループットが第3管理テーブル3152には登録されておらず、通信時間を算出できない。また、キャッシュサーバ「10.25.25.19」と表示装置d100及びd101の組み合わせについても平均スループットが第4管理テーブル3152に登録されておらず、通信時間を算出できない。
そして、送信先判定部316は、閾値(例えば「1.0」)を超えない通信時間のうち最も長い通信時間の組み合わせを特定する(ステップS149)。図28の例では、通信時間が「1.0」である表示装置d101とキャッシュサーバ「10.25.25.11」との組み合わせが特定される。
ここで、ステップS149の条件を満たす組み合わせが特定できた場合には、処理は端子Aを介して図29の処理に移行する。一方、ステップS149の条件を満たす組み合わせが特定できない場合には、送信先判定部316は、表示装置リストにおける各表示装置IDについて通信時間が最短のキャッシュサーバ7を選択する(ステップS153)。なお、各表示装置について優先するキャッシュサーバ7が分かっていれば、それを選択するようにしても良い。そして処理は端子Bを介して図30のステップS171へ移行する。
図29の処理の説明に移行して、送信先判定部316は、ステップS141で特定された表示装置リストに含まれる表示装置IDのうち未処理の表示装置IDを1つ特定する(ステップS155)。そして、送信先判定部316は、ステップS149で特定された組み合わせについてのキャッシュサーバ7と、特定された表示装置IDの表示装置との間の通信時間を、組み合わせリストから特定する(ステップS157)。キャッシュサーバ「10.25.25.11」と表示装置d100、d101及びd201との組み合わせに対応する通信時間を図28で確認すると、表示装置d100については「1.33」であり表示装置d201については「−」となる。
送信先判定部316は、通信時間が閾値以内であるか判断する(ステップS159)。通信時間が閾値以内であれば、送信先判定部316は、第2リストに表示装置IDを追加する(ステップS160)。そして処理はステップS163に移行する。一方、通信時間が閾値を超えている場合には、送信先判定部316は、第1リストに通信装置IDを追加する(ステップS161)。そして処理はステップS163に移行する。
そうすると、第1リストには、「d100」及び「d201」が登録され、第2リストには、「d101」が登録される。
そして、送信先判定部316は、未処理の表示装置IDが存在するか判断し、未処理の表示装置IDが存在する場合にはステップS155に戻る。一方、未処理の表示装置IDが存在しない場合には、送信先判定部316は、閾値を超えない通信時間が得られ且つ異なるキャッシュサーバについての未処理の組み合わせが存在するか判断する(ステップS165)。
閾値を超えない通信時間が得られ且つ異なるキャッシュサーバについての未処理の組み合わせが存在している場合には、送信先判定部316は、次に通信時間が長い組み合わせを特定する(ステップS167)。図28の例では、表示装置「d100」とキャッシュサーバ「10.25.25.10」との組み合わせが通信時間が「0.8」であるからこの組み合わせが特定される。そして処理はステップS155に戻る。なお、第1及び第2リストについては、キャッシュサーバ7のアドレスに対応付けて例えば第3データ格納部315等に格納しておく。
次の組み合わせについて処理を実施すると、第1リストには「d201」が登録され、第2リストには「d100」及び「d101」が登録される。
図28の例では、通信時間が「0.67」の組み合わせ(表示装置「d101」とキャッシュサーバ「10.25.25.10」)が存在するが、キャッシュサーバ「10.25.25.10」については既に処理しているので、この組み合わせについては処理しない。
一方、閾値を超えない通信時間が得られ且つ異なるキャッシュサーバについての未処理の組み合わせが存在していない場合には、送信先判定部316は、第2リストに最も多くの表示装置IDが登録されたキャッシュサーバ7を特定し、当該キャッシュサーバ7の時の第1リストを保持する(ステップS169)。なお、表示装置IDの数が同数である場合には、乱数などにより1つのキャッシュサーバ7を選択する。そして処理は端子Bを介して図30の処理に移行する。
このようにすれば、通信時間が一定時間以下となり且つできるだけ多くの表示装置がアクセス可能な共通するキャッシュサーバ7が特定されることになる。なお、このキャッシュサーバでは対処できない表示装置11の表示装置IDについては第1リストに含まれる。
上で述べた例では、キャッシュサーバ「10.25.25.10」が特定され、第1リストには「d201」が登録される。
図30の処理の説明に移行して、送信先判定部316は、ステップS169で特定されたキャッシュサーバ7又はステップS153で選択されたキャッシュサーバ7のアドレスと、処理に係るコンテンツIDを、コンテンツ配信部317に出力する。コンテンツ配信部317は、キャッシュサーバ7のアドレス及びコンテンツIDを受け取ると、コンテンツ格納部318から、コンテンツIDに対応するコンテンツデータを読み出し、キャッシュサーバ7のアドレスに送信する(ステップS171)。
そして、送信先判定部316は、第1リストが存在しているか判断する(ステップS173)。第1リストが存在しない場合、例えばステップS153経由で本ステップに達した場合には第1リストは存在しないので、呼出元の処理に戻る。
一方、第1リストが存在している場合には、送信先判定部316は、キャッシュサーバ7と表示装置11との組み合わせ(図28の組み合わせリスト)のうち、コンテンツデータの送信先キャッシュサーバについての組み合わせを削除し、さらに第1リストに含まれる表示装置IDについての組み合わせに処理対象を限定する(ステップS175)。そして端子Cを介して図26のステップS149に戻る。
上で述べた例では、キャッシュサーバ「10.25.25.10」についての組み合わせを削除し、表示装置「d201」についての組み合わせに処理対象を限定すると、図31Aに示すような組み合わせに処理対象が限定される。
このような処理で端子Cを介して図26のステップS149に戻ると、ステップS153に移行して、処理が進むようになる。すなわち、キャッシュサーバ「10.25.25.19」にコンテンツデータを送信することになる。
なお、各表示装置11は、図31Bに示すような処理を実施する。表示装置11のICカードリーダ111は、ユーザが保持するICカードからユーザIDを読み取り、送信部113に出力する。温度センサ112は、例えば送信部113からの要求に応じて温度の測定値を送信部113に出力する。送信部113は、ユーザID及びセンサ値(温度)を取得すると(ステップS401)、本表示装置11の最優先キャッシュサーバ7に、ユーザID及びセンサ値を含むコンテンツ要求を送信する(ステップS403)。受信部114は、所定時間以内にコンテンツデータを受信できたか判断する(ステップS405)。所定時間以内のコンテンツデータを受信できなければ、送信部113にその旨通知する。送信部113は、受信部114から通知を受けると、次の優先キャッシュサーバ7が存在するか確認する(ステップS409)。本実施の形態では、アクセス先のキャッシュサーバ7が優先順位付けされており、最優先のキャッシュサーバから順番にコンテンツ要求を送信する。次の優先キャッシュサーバ7が存在しない場合には、受信部114にコンテンツ要求が送信できない旨の通知を行い、受信部114は、この通知に応じて出力部116に対して一般のコンテンツの出力を指示する。出力部116は、バッファ115に格納されている一般のコンテンツを表示部117に出力する(ステップS411)。
一方、次の優先キャッシュサーバ7が存在する場合には、送信部113は、次の優先キャッシュサーバ7に、コンテンツ要求を送信する(ステップS413)。処理はステップS405に戻る。
このようにすれば、最優先のキャッシュサーバ7にコンテンツデータがない場合でも、他のアクセス可能なキャッシュサーバ7からコンテンツデータを取得できる。なお、本実施の形態では、キャッシュサーバ7は、表示装置11からのコンテンツ要求に係るコンテンツデータを保持していない場合、センタサーバ3にコンテンツ要求を送信しないようにしてもよい。センタサーバ3の処理負荷を下げるとともに、最優先のキャッシュサーバ7ではないキャッシュサーバ7に表示装置11がアクセスして取得する場合にはキャッシュするコンテンツが無駄になる可能性があるためである。
以上述べたような処理を実施することで、コンテンツデータの配信先が削減されることになるので、システム全体でキャッシュサーバ7にキャッシュされるデータ量を削減できるようになる。
なお、ステップS171では、コンテンツデータを送信する例を示したが、コンテンツIDを送信して、キャッシュサーバ7のコンテンツ取得部73が、第2データ格納部76にこのコンテンツIDに対応するコンテンツデータがキャッシュされているか否かを確認した上で、キャッシュされていない場合に要求するようにしても良い。これによって、配信データ量を削減できる。
さらに、各キャッシュサーバ7がキャッシュしているコンテンツのコンテンツIDをセンタサーバ3で管理しておき、実際に配信すべきか否かを管理データと照らして確認の上で配信するようにしても良い。これによっても配信データ量を削減できる。
[実施の形態4]
第2の実施の形態ではセンタサーバ3にて主要な処理を実施する例を示した。これは、複数のイベント集配装置5からイベントデータを集める方が、同一コンテンツを配信すべきユーザを見つけ易いという利点があるためである。一方、センタサーバ3にイベントデータを送信するとセンタサーバ3の処理負荷が高くなる可能性がある。
そこで、本実施の形態では、第2の実施の形態においてセンタサーバ3で行っていた処理を、イベント集配装置5において実施するものとする。
本実施の形態のシステム構成は、第1及び第2の実施の形態と同様のシステム構成となるので、ここでは説明を省略する。また、センタサーバ3及び表示装置11の構成については、第1の実施の形態と同様であるので、ここでは説明を省略する。
本実施の形態に係るイベント集配装置5の構成を、図32に示す。なお、第2の実施の形態に係るセンタサーバ3の構成とほぼ同じであるから、ほぼ同じ構成要素の参照符号には、図16で付したものに「b」を追加したものとして説明する。
イベント集配装置5は、イベント受信部311bと、コンテンツ判定部312bと、第1データ格納部313bと、第2データ格納部314bと、第3データ格納部315bと、送信先判定部316bと、イベント転送部56とを有する。図16との差異は、コンテンツ格納部318が存在せず、コンテンツ配信部317の代わりにイベント転送部56が設けられている点である。
また、第1データ格納部313bは、第1管理テーブル3131bを格納している。第2データ格納部314bは、ユーザアクセスリスト3141bを格納している。第3データ格納部315bは、第3管理テーブル3151bと、第4管理テーブル3152bと、第5管理テーブル3153bとを格納している。
イベント受信部311bは、センサ9からイベントデータを受信すると、コンテンツ判定部312bに出力する。コンテンツ判定部312bは、第1データ格納部313bに格納されている第1管理テーブル3131bからデータを読み出して、第2データ格納部314bにおけるユーザアクセスリスト3141bを更新する。送信先判定部316bは、例えば定期的にユーザアクセスリスト3141bからエントリを読み出し、第3データ格納部315bに格納されている第3乃至第5管理テーブル3151b乃至3153bを用いて、イベントデータの転送先であるキャッシュサーバ7を特定し、イベント転送部56に出力する。イベント転送部56は、処理に係るユーザIDを含むイベントデータを、特定されたキャッシュサーバ7に送信する。
本実施の形態における具体的な処理内容は、ほぼ第2の実施の形態で説明した処理フローに従う。各ステップの実行主体については、図32に示したイベント集配装置5の各構成要素となり、イベントデータの送信元はセンサ9である。
そして、異なる処理の部分は、第2の実施の形態における図30の部分であり、図33に示すような処理に置換される。
具体的には、送信先判定部316bは、ステップS169で特定されたキャッシュサーバ7又はステップS153で選択されたキャッシュサーバ7のアドレスと、処理に係るイベントのうちキャッシュサーバ7の特定または選択に関連する表示装置が対応付けられているユーザIDを、イベント転送部56に出力する。イベント転送部56は、キャッシュサーバ7のアドレス及びユーザIDを受け取ると、当該ユーザIDを含むイベントデータを、キャッシュサーバ7のアドレスに送信する(ステップS181)。
第2の実施の形態において用いた例では、キャッシュサーバ「10.25.25.10」には、表示装置「d100」及び「d101」が対応しており、これらの表示装置にはユーザID「u123」及び「u222」が関連付けられていた。従って、「u123」及び「u222」を含むイベントデータが、キャッシュサーバ「10.25.25.10」に送信される。
同様に、キャッシュサーバ「10.25.25.19」には、表示装置「d201」が対応付けられており、この表示装置にはユーザID「u333」が関連付けられていた。従って、「u333」を含むイベントデータが、キャッシュサーバ「10.25.25.19」に送信される。
そして、送信先判定部316bは、第1リストが存在しているか判断する(ステップS183)。第1リストが存在しない場合、例えばステップS153経由で本ステップに達した場合には第1リストは存在しないので、呼出元の処理に戻る。
一方、第1リストが存在している場合には、送信先判定部316bは、キャッシュサーバ7と表示装置との組み合わせ(図28の組み合わせリスト)のうち、コンテンツデータの送信先キャッシュサーバについての組み合わせを削除し、さらに第1リストに含まれる表示装置IDについての組み合わせに処理対象を限定する(ステップS185)。そして端子Cを介して図26のステップS149に戻る。
以上のような処理を実施すれば、イベント集配装置5で分散処理するので、センタサーバ3の処理負荷を下げることができる。
なお、コンテンツID自体もイベント集配装置5で特定されているので、ユーザIDに加えてコンテンツIDもキャッシュサーバ7に送信すれば、キャッシュサーバ7の処理量を削減することができる。
[実施の形態5]
第3の実施の形態では、コンテンツIDをキーにして、複数のユーザに対して当該コンテンツIDのコンテンツの配信予定があれば、キャッシュサーバ7を共用させることができるか否かを判断している。従って、センタサーバ3以外のコンピュータに第3の実施の形態に係る処理を行わせる際には、コンテンツIDをベースにイベントのデータが集まると、キャッシュサーバ7を共用させる機会が増加する。本実施の形態では、新たにコンテンツ配備先サーバを導入する。
すなわち、図34に示すようなシステムを導入する。図34の例では、ネットワーク1aに、システムで用いられるコンテンツデータを保持するセンタサーバ3と、イベント集配装置5(図34では5a及び5b)と、キャッシュサーバ7(図34では7a及び7b)と、新たに導入されるコンテンツ配備先決定サーバ13(図34では13a及び13b)が接続されている。また、ネットワーク1bには、イベント集配装置5a及び5bと、複数のセンサ9(図34では9a,9b及び9c)とが接続されている。また、ネットワーク1cには、キャッシュサーバ7a及び7bと、表示装置11(図34では11a,11b及び11c)とが接続されている。
例えばイベント集配装置5とコンテンツ配備先決定サーバ13とは多対多の関係にある。但し、コンテンツ配備先決定サーバ13については1台の場合もある。
本実施の形態では、センタサーバ3の構成は、例えば第1の実施の形態における構成と同様である。また、センサ9、キャッシュサーバ7及び表示装置11の構成は第1の実施の形態における構成と同様である。
イベント集配装置5の構成例を図35に示す。本実施の形態に係るイベント集配装置5は、イベント受信部51と、サーバ選択部58と、メッセージ送信部59と、データ格納部53とを有する。データ格納部53には、第3管理テーブル533と、第4管理テーブル534とが格納されている。
このようにサーバ選択部58とメッセージ送信部59とを新たに導入している。また、データ格納部53には、第3管理テーブル533及び第4管理テーブル534が新たに用意されている。
イベント受信部51は、センサ9からユーザIDを含むイベントデータを受信し、イベントデータをサーバ選択部58に出力する。サーバ選択部58は、データ格納部53に格納されている第3管理テーブル533及び第4管理テーブル534から、メッセージの送信先となるコンテンツ配備先決定サーバ13を特定し、送信すべきメッセージのためのデータ及びコンテンツ配備先決定サーバ13のアドレスを、メッセージ送信部59に出力する。メッセージ送信部59は、メッセージを、指定されたコンテンツ配備先決定サーバ13に送信する。
第3管理テーブル533には、例えば図36に示すようなデータが格納されている。図36の例では、ユーザIDに対応付けてコンテンツIDが登録されるようになっている。
さらに、第4管理テーブル534には、例えば図37に示すようなデータが格納されている。図37の例では、コンテンツIDに対応付けてコンテンツ配備先決定サーバのアドレスが登録されるようになっている。なお、コンテンツIDについては、ワイルドカード「*」でコンテンツIDの範囲を指定することもある。
また、本実施の形態に係るコンテンツ配備先決定サーバ13の構成例を図38に示す。なお、図16で示したセンタサーバ3と同様の構成要素については同じ参照番号で区別するための「c」を付加する。
コンテンツ配備先決定サーバ13は、メッセージ受信部1303と、登録部1301と、第2データ格納部314cと、第3データ格納部315cと、送信先判定部316cと、メッセージ送信部1302とを有する。第2データ格納部314cは、ユーザアクセスリスト3141cを格納している。第3データ格納部315cは、第3管理テーブル3151cと、第4管理テーブル3152cと、第5管理テーブル3153cとを格納している。
メッセージ受信部1303は、イベント集配装置5からユーザID及びコンテンツIDを含むメッセージを受信すると、登録部1301に出力する。登録部1301は、メッセージに含まれるユーザID及びコンテンツIDで、第2データ格納部314cにおけるユーザアクセスリスト3141cを更新する。送信先判定部316cは、例えば定期的にユーザアクセスリスト3141cからエントリを読み出し、第3データ格納部315cに格納されている第3乃至第5管理テーブル3151c乃至3153cを用いて、コンテンツID及び当該コンテンツIDのコンテンツデータの配信先であるキャッシュサーバ7を特定し、メッセージ送信部1302に出力する。メッセージ送信部1302は、コンテンツIDを含むメッセージを、特定されたキャッシュサーバ7に送信する。ユーザIDを併せて送信するようにしても良い。
次に、本実施の形態において、第3の実施の形態と異なる処理の部分を説明する。具体的には、イベント集配装置5のイベント受信部51は、例えば入場口のセンサ9からユーザIDを含むイベントデータ(入場イベント)を受信すると(図39:ステップS201)、当該イベントデータをサーバ選択部58に出力する。サーバ選択部58は、イベントデータを受信すると、イベントデータに含まれるユーザIDで第3管理テーブル533を検索して対応付けられているコンテンツIDを特定する(ステップS203)。
本実施の形態では、第3管理テーブル533には、予めユーザIDに対応する表示装置IDを登録しておくものとしているが、登録が間に合わない場合なども生じ得る。その場合には第3管理テーブル533に、イベントデータに含まれるユーザIDが見つからないので、コンテンツIDが特定できなかったことになる。このような場合には、本実施の形態では、エラーとして処理を終了する(ステップS213)。
一方、コンテンツIDが特定された場合には、サーバ選択部58は、コンテンツIDで第4管理テーブル534を検索して、コンテンツIDに対応するコンテンツ配備先決定サーバ13のアドレスを特定し(ステップS207)、ユーザID及びコンテンツIDとコンテンツ配備先決定サーバ13のアドレスとをメッセージ送信部59に出力する。メッセージ送信部59は、ユーザID及びコンテンツIDとコンテンツ配備先決定サーバ13のアドレスとを受信すると、ユーザID及びコンテンツIDを含むメッセージを、コンテンツ配備先決定サーバ13のアドレスに送信する(ステップS209)。
これに対して、コンテンツ配備先決定サーバ13のメッセージ受信部1303は、コンテンツID及びユーザIDを含むメッセージを受信すると、当該メッセージを登録部1301に出力する。そして、登録部1301は、メッセージを受信すると、メッセージに含まれるコンテンツID及びユーザIDを、ユーザアクセスリスト3141cに登録する(ステップS211)。
このような処理を実施すれば、特定のコンテンツ集合については、当該コンテンツの配信先となるユーザのユーザIDが当該特定のコンテンツ集合を担当するコンテンツ配備先決定サーバ13に集められることになるので、コンテンツデータを蓄積すべきキャッシュサーバ7を効率的に絞り込むことができるようになる。すなわち、キャッシュサーバ7の容量利用効率を上げることができる。
以降の処理は、第4の実施の形態のキャッシュサーバ7と同様の処理を行うことになる。
なお、ユーザIDのみを送信して、コンテンツIDについては、コンテンツ配備先サーバ13において、管理テーブルを用意しておくことによって特定するように変形しても良い。
[実施の形態6]
実施の形態3乃至5においては、送信先判定部316乃至316cは、キャッシュサーバ7においてコンテンツデータを蓄積する第2データ格納部76の容量状態を考慮せずにキャッシュサーバ7を選択していた。
そこで、例えば、図40に示すような第6管理テーブルを送信先判定部316乃至316cがアクセスする第3データ格納部315乃至315cに用意しておく。図40の例では、CSのアドレスに対応付けてコンテンツ数が登録されている。このような第6管理テーブルのデータについては、送信先判定部316乃至316c又は他の専用のモジュールなどが、定期的に各キャッシュサーバ7から、蓄積しているコンテンツの数のデータを取得することで更新する。
そうすると、例えば図29で示した送信先判定部316乃至316cの処理を、図41に示すように変更する。異なっている部分はステップS191であり、送信先判定部316乃至316cが、キャッシュサーバ7を1つ特定する際に、第2リストに最も多く表示装置IDが登録されていたキャッシュサーバ7が複数ある場合には、第6管理テーブルから、コンテンツ数を当該キャッシュサーバ7について読み出して、コンテンツ数が最も少ないサーバを、キャッシュサーバ7として特定する(ステップS191)。以上のような処理を実施すれば、同格であるキャッシュサーバ7の場合には、容量に余裕があるキャッシュサーバ7が特定されることになる。
本実施の形態は、第3乃至第5の実施の形態に適用可能である。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で述べたサーバ等の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても同様の結果が得られる限り、ステップの順番を入れ替えたり、ステップを並列実行しても良い場合がある。
さらに、上では、建物などの出入口に、入場センサ及び退場センサを設けるような例を示したが、これは一例に過ぎない。例えば、駅で改札で入退場管理を行っている場合にも適用可能な場合がある。このような場合、センタサーバ3をどのように配置するかについては様々なバリエーションが存在するが、例えば複数の駅に1台配置するような場合もある。このような場合、第3の実施の形態及びその変形例については、ユーザIDだけではなく、駅を識別する場所IDをも併せて管理して、コンテンツID及び場所IDが同一のエントリが複数見つかった場合に処理する。
さらに、各サーバ等を1台のコンピュータではなく、複数のコンピュータにて分担して実施させるようにしても良い。
さらに、1の実施の形態に述べた事項を他の実施の形態に適用するような変形も可能である。
なお、上で述べたイベント集配装置5、キャッシュサーバ7、センタサーバ3、及びコンテンツ配備先決定サーバ13等は、コンピュータ装置であって、図42に示すように、メモリ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)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子に基づき特定し、第1の情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)ユーザの識別子と複数の第2の情報処理装置のうちの少なくとも1の第2の情報処理装置とを対応付ける第1の対応付けデータを格納する第1のデータ格納部を有し、ユーザの識別子を含む所定のイベントを検出すると、第1のデータ格納部から、検出された所定のイベントに含まれるユーザの識別子に対応付けられている第2の情報処理装置を特定して、当該特定された第2の情報処理装置に対して検出された所定のイベントに含まれるユーザの識別子を送信する第3の情報処理装置とを有する。
このようにすることで、第1の情報処理装置の処理負荷を削減でき、システム全体の処理効率が向上する。
なお、上で述べた第2の情報処理装置の各々が、(c1)ユーザの識別子とコンテンツの識別子とを対応付ける第2の対応付けデータと、コンテンツの識別子と当該コンテンツのデータの格納先のアドレスと当該コンテンツに最後に関連付けられたユーザの識別子とを対応付ける第3の対応付けデータを格納する第2のデータ格納部をさらに有するようにしても良い。その際、第2の情報処理装置の各々は、(c2)第3の情報処理装置から第1のユーザの識別子を含む第1のデータを受信すると、当該第1のユーザの識別子に対応付けられているコンテンツの識別子を前記第2の対応付けデータから特定し、(c3)第3の対応付けデータにおいて、特定されたコンテンツの識別子にデータが対応付けられているか判断し、(c4)特定されたコンテンツの識別子にデータが対応付けられていない場合には第1の情報処理装置から当該コンテンツのデータを取得して第3のデータ格納部に格納すると共に、特定されたコンテンツの識別子と第1のデータに含まれる第1のユーザの識別子と取得したコンテンツのデータの格納先のアドレスとを対応付けて第2のデータ格納部に格納し、(c5)特定されたコンテンツの識別子にデータが対応付けられている場合には、当該データに含まれているユーザの識別子を、第1のデータを含まれる第1のユーザの識別子で更新し、(c6)第3の情報処理装置から第1のユーザの識別子を含む第2のデータを受信すると、第3の対応付けデータに、第2のデータに含まれる第1のユーザの識別子が対応付けられているデータが含まれている判断し、(c7)第3の対応付けデータに、第1のユーザの識別子に対応付けられているデータが含まれている場合には、第1のユーザの識別子に対応付けられているデータを削除すると共に当該データに含まれる、コンテンツのデータの格納先のアドレスに格納されているコンテンツのデータを削除するようにしても良い。
このようにすれば、第2の情報処理装置におけるキャッシュの容量効率を上げることができる。
本実施の形態の第2の態様に係るシステムは、(A)複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、第1の情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)ユーザの識別子を含む所定のイベントを検出すると、第1の情報処理装置に当該ユーザの識別子を含むデータを送信する第3の情報処理装置とを有する。そして、上で述べた第1の情報処理装置は、(a1)ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部をさらに有する。そして、第1の情報処理装置は、(a2)第3の情報処理装置からユーザの識別子を含むデータを受信すると、第1の対応付けデータから、受信したデータに含まれるユーザの識別子に対応付けられているコンテンツの識別子を特定し、受信したデータに含まれるユーザの識別子と特定されたコンテンツの識別子とを対応付けて第3のデータ格納部に格納し、(a3)第3のデータ格納部において、コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている表示装置の識別子を第2の対応付けデータから特定し、特定された表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、(a4)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、同一の識別子が特定されたコンテンツのデータを第1のデータ格納部から読み出して送信するか又はコンテンツの同一の識別子を送信する。
このようにユーザ毎にコンテンツデータを配信するのではなく、複数のユーザについて同一のコンテンツがほぼ同時期に出力される場合にコンテンツデータを配信する先の第2の情報処理装置が絞り込まれる。すなわち、ネットワークの使用帯域を削減でき、第2の情報処理装置の容量効率が向上する。
また、上で述べた第3の対応付けデータにおいて、表示装置の識別子と、1又は複数の第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられている場合もある。また、第2のデータ格納部が、複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納している場合もある。このような場合に、上で述べた第1の情報処理装置が、(a5)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出され、(a6)同一の識別子が特定されたコンテンツのサイズ及び少なくとも一部のユーザの識別子について特定された表示装置と同一の識別子が抽出された第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、同一の識別子が抽出された第2の情報処理装置の1つに対して、同一の識別子に係るコンテンツのデータを第1のデータ格納部から読み出して送信する又はコンテンツの同一の識別子を送信するようにしても良い。
このようにすれば、表示装置からユーザへのコンテンツの出力にかかる時間が所定の基準以上に長くなることを避けることができる。
さらに、上で述べた第2のデータ格納部が、複数の第2の情報処理装置の各々についてキャッシュしているコンテンツの数のデータをさらに格納している場合もある。このような場合、同一の識別子が抽出された第2の情報処理装置が複数の場合、第2のデータ格納部に格納されているコンテンツの数に基づき、1の第2の情報処理装置に絞り込むようにしても良い。第2の情報処理装置によってキャッシュするコンテンツの数に大きなアンバランスが生じないようにするためである。
さらに、本実施の形態の第3の態様に係るシステムは、(A)複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子に基づき特定し、第1の情報処理装置から取得してキャッシュし、少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部と第3のデータ格納部とを有する第3の情報処理装置とを有する。そして、上で述べた第3の情報処理装置は、(d1)ユーザの識別子を含む所定のイベントを検出すると、第1の対応付けデータから、検出した所定のイベントに含まれるユーザの識別子に対応付けられているコンテンツの識別子を特定し、検出した所定のイベントに含まれるユーザの識別子と特定されたコンテンツの識別子とを対応付けて第3のデータ格納部に格納し、(d2)第3のデータ格納部において、コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている表示装置の識別子を第2の対応付けデータから特定し、特定された表示装置の識別子に対応付けられている第2の情報処理装置の識別子を第3の対応付けデータから抽出し、(d3)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、上記少なくとも一部のユーザの識別子又はコンテンツの同一の識別子を送信する。
このようにすれば第1の情報処理装置の処理負荷が高くなることを回避して、システム全体の処理効率を挙げると共に、第2の情報処理装置の容量効率を上げることができるようになる。
また、上で述べた第2のデータ格納部が、複数の第2の情報処理装置の各々についてキャッシュしているコンテンツの数のデータをさらに格納している場合もある。この場合、第3の情報処理装置は、同一の識別子が抽出された第2の情報処理装置が複数の場合、第3のデータ格納部に格納されているコンテンツの数に基づき、1の第2の情報処理装置に絞り込むようにしても良い。
これによって、第2の情報処理装置によってキャッシュするコンテンツの数に大きなアンバランスが生じないようにできる。
さらに、上で述べた第3の対応付けデータにおいて、表示装置の識別子と、1又は複数の第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられている場合もある。また、上で述べた第2のデータ格納部が、複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納している場合もある。この場合、第3の情報処理装置は、複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出され、同一の識別子が特定されたコンテンツのサイズ及び少なくとも一部のユーザの識別子について特定された表示装置と同一の識別子が抽出された第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、同一の識別子が抽出された第2の情報処理装置の1つに対して、上記少なくとも一部のユーザの識別子又はコンテンツの同一の識別子を送信するようにしても良い。
このようにユーザ毎にコンテンツデータをキャッシュする動作を行うのではなく、複数のユーザについて同一のコンテンツがほぼ同時期に出力される場合にコンテンツデータをキャッシュする第2の情報処理装置が絞り込まれる。すなわち、ネットワークの使用帯域を削減でき、第2の情報処理装置の容量効率が向上する。
さらに、本実施の形態の第4の態様に係るシステムは、(A)複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、(B)ユーザの識別子を読み取る機能を各々有する複数の表示装置と、(C)複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子又はコンテンツの識別子に基づき特定し、第1の情報処理装置から取得してキャッシュし、上記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、(D)複数の第3の情報処理装置と、(E)ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、コンテンツの識別子と複数の第3の情報処理装置のうち1の第3の情報処理装置とを対応付ける第2の対応付けデータとを格納する第2のデータ格納部を有する第4の情報処理装置とを有する。
そして、上で述べた第4の情報処理装置は、(d1)ユーザの識別子を含む所定のイベントを検出すると、第1の対応付けデータから、検出した所定のイベントに含まれるユーザの識別子に対応付けられているコンテンツの識別子を特定し、(d2)第2の対応付けデータから、特定されたコンテンツの識別子に対応付けられている第3の情報処理装置の識別子を特定し、(d3)検出した所定のイベントに含まれるユーザの識別子と特定されたコンテンツの識別子とを含むデータ又はユーザの識別子を含むデータを、特定された第3の情報処理装置に送信する。さらに、上で述べた複数の第3の情報処理装置の各々は、(c1)ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第3のデータ格納部を有する。そして、第3の情報処理装置は、(c2)第4の情報処理装置から受信したデータに含まれるユーザの識別子と前記コンテンツの識別子とを対応付けて第4のデータ格納部に格納するか、又は受信したデータに含まれるユーザの識別子に対応するコンテンツの識別子を特定してユーザの識別子と当該コンテンツの識別子とを対応付けて第4のデータ格納部に格納し、(c3)第4のデータ格納部において、コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている表示装置の識別子を第2の対応付けデータから特定し、特定された表示装置の識別子に対応付けられている第2の情報処理装置の識別子を第3の対応付けデータから抽出し、(c4)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、上記少なくとも一部のユーザの識別子又はコンテンツの同一の識別子を送信する。
このようにすれば、コンテンツの識別子とユーザの識別子の組み合わせのデータが、コンテンツの識別子をベースに集められるので、コンテンツの同一の識別子について複数のユーザの識別子が対応付けられるケースが増加し、複数のユーザに出力すべきコンテンツのデータを取得する第2の情報処理装置の集約が効果的に行われる。さらに、第1の情報処理装置の処理負荷が高くなることを避けることができ、第2の情報処理装置の容量効率も高くなる。
また、上で述べた第3の対応付けデータにおいて、表示装置の識別子と、1又は複数の第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられている場合もある。また、上で述べた第3のデータ格納部が、複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納している場合もある。このような場合には、上で述べた第3の情報処理装置の各々が、(c5)複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について第2の情報処理装置の同一の識別子が抽出され、同一の識別子が特定されたコンテンツのサイズ及び上記少なくとも一部のユーザの識別子について特定された表示装置と同一の識別子が抽出された第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、同一の識別子が抽出された第2の情報処理装置の1つに対して、上記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信するようにしても良い。
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のコンテンツのデータを保持する第1の情報処理装置と、
ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
前記複数のコンテンツのデータの一部を前記第1の情報処理装置から取得して記憶し、記憶されたデータを少なくとも一部の表示装置に出力する複数の第2の情報処理装置と、
所定のイベントを検出する第3の情報処理装置と、
を備え、
前記第3の情報処理装置は、
ユーザの識別子と前記複数の第2の情報処理装置のうちの少なくとも1の第2の情報処理装置とを対応付ける第1の対応付けデータを格納する第1のデータ格納部を有し、所定のイベントを検出すると、前記第1のデータ格納部から、検出された前記所定のイベントのデータに含まれるユーザの識別子に対応付けられている第2の情報処理装置を特定して、当該特定された第2の情報処理装置に対して検出された前記所定のイベントのデータに含まれるユーザの識別子を送信し、
前記複数の第2の情報処理装置のうち少なくとも一部の第2の情報処理装置は、
前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、前記第3の情報処理装置から送信されたユーザの識別子に基づき特定し、特定されたデータを前記第1の情報処理装置から取得して記憶し、前記少なくとも一部の表示装置からユーザの識別子を受信すると、当該ユーザの識別子に対応するコンテンツのデータを前記少なくとも一部の表示装置に出力する
を有するシステム。
(付記2)
前記第2の情報処理装置の各々が、
ユーザの識別子とコンテンツの識別子とを対応付ける第2の対応付けデータと、コンテンツの識別子と当該コンテンツのデータの格納先のアドレスと当該コンテンツに最後に関連付けられたユーザの識別子とを対応付ける第3の対応付けデータを格納する第2のデータ格納部、
をさらに有し、
前記第3の情報処理装置から第1のユーザの識別子を含む第1のデータを受信すると、当該第1のユーザの識別子に対応付けられているコンテンツの識別子を前記第2の対応付けデータから特定し、
前記第3の対応付けデータにおいて、特定された前記コンテンツの識別子にデータが対応付けられているか判断し、
特定された前記コンテンツの識別子にデータが対応付けられていない場合には前記第1の情報処理装置から当該コンテンツのデータを取得して第3のデータ格納部に格納すると共に、特定された前記コンテンツの識別子と前記第1のデータに含まれる前記第1のユーザの識別子と取得したコンテンツのデータの格納先のアドレスとを対応付けて前記第2のデータ格納部に格納し、
特定された前記コンテンツの識別子にデータが対応付けられている場合には、当該データに含まれているユーザの識別子を、前記第1のデータを含まれる前記第1のユーザの識別子で更新し、
前記第3の情報処理装置から前記第1のユーザの識別子を含む第2のデータを受信すると、前記第3の対応付けデータに、前記第2のデータに含まれる前記第1のユーザの識別子が対応付けられているデータが含まれている判断し、
前記第3の対応付けデータに、前記第1のユーザの識別子に対応付けられているデータが含まれている場合には、前記第1のユーザの識別子に対応付けられているデータを削除すると共に当該データに含まれる、コンテンツのデータの格納先のアドレスに格納されているコンテンツのデータを削除する
付記1記載のシステム。
(付記3)
複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、
ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、前記第1の情報処理装置から取得してキャッシュし、前記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、
ユーザの識別子を含む所定のイベントを検出すると、前記第1の情報処理装置に当該ユーザの識別子を含むデータを送信する第3の情報処理装置と、
を有し、
前記第1の情報処理装置は、
ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部
をさらに有し、
前記第3の情報処理装置から前記ユーザの識別子を含むデータを受信すると、前記第1の対応付けデータから、受信した前記データに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、受信した前記データに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて第3のデータ格納部に格納し、
前記第3のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記同一の識別子が特定されたコンテンツのデータを前記第1のデータ格納部から読み出して送信するか又は前記コンテンツの同一の識別子を送信する
システム。
(付記4)
前記第3の対応付けデータにおいて、前記表示装置の識別子と、1又は複数の前記第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられており、
前記第2のデータ格納部が、前記複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納しており、
前記第1の情報処理装置が、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出され、前記同一の識別子が特定されたコンテンツのサイズ及び前記少なくとも一部のユーザの識別子について特定された表示装置と前記同一の識別子が抽出された前記第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、前記同一の識別子が抽出された第2の情報処理装置の1つに対して、前記同一の識別子に係るコンテンツのデータを前記第1のデータ格納部から読み出して送信する又はコンテンツの同一の識別子を送信する
付記3記載のシステム。
(付記5)
前記第2のデータ格納部が、前記複数の第2の情報処理装置の各々についてキャッシュしているコンテンツの数のデータをさらに格納しており、
前記同一の識別子が抽出された第2の情報処理装置が複数の場合、前記第2のデータ格納部に格納されている前記コンテンツの数に基づき、1の第2の情報処理装置に絞り込む
付記3又は4記載のシステム。
(付記6)
複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、
ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子に基づき特定し、前記第1の情報処理装置から取得してキャッシュし、前記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、
ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部と第3のデータ格納部とを有する第3の情報処理装置と、
を有し、
前記第3の情報処理装置は、
ユーザの識別子を含む所定のイベントを検出すると、前記第1の対応付けデータから、検出した前記所定のイベントに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、検出した前記所定のイベントに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて前記第3のデータ格納部に格納し、
前記第3のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
システム。
(付記7)
前記第2のデータ格納部が、前記複数の第2の情報処理装置の各々についてキャッシュしているコンテンツの数のデータをさらに格納しており、
前記第3の情報処理装置は、
前記同一の識別子が抽出された第2の情報処理装置が複数の場合、前記第3のデータ格納部に格納されている前記コンテンツの数に基づき、1の第2の情報処理装置に絞り込む
付記6記載のシステム。
(付記8)
前記第3の対応付けデータにおいて、前記表示装置の識別子と、1又は複数の前記第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられており、
前記第2のデータ格納部が、前記複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納しており、
前記第3の情報処理装置は、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出され、前記同一の識別子が特定されたコンテンツのサイズ及び前記少なくとも一部のユーザの識別子について特定された表示装置と前記同一の識別子が抽出された前記第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、前記同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
付記6又は7記載のシステム。
(付記9)
複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、
ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子又はコンテンツの識別子に基づき特定し、前記第1の情報処理装置から取得してキャッシュし、前記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、
複数の第3の情報処理装置と、
ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、コンテンツの識別子と前記複数の第3の情報処理装置のうち1の第3の情報処理装置とを対応付ける第2の対応付けデータとを格納する第2のデータ格納部を有する第4の情報処理装置と、
を有し、
前記第4の情報処理装置は、
ユーザの識別子を含む所定のイベントを検出すると、前記第1の対応付けデータから、検出した前記所定のイベントに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、
前記第2の対応付けデータから、特定された前記コンテンツの識別子に対応付けられている第3の情報処理装置の識別子を特定し、
検出した前記所定のイベントに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを含むデータ又は前記ユーザの識別子を含むデータを、特定された前記第3の情報処理装置に送信し、
前記複数の第3の情報処理装置の各々は、
ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第3のデータ格納部を有し、
前記第4の情報処理装置から受信したデータに含まれる前記ユーザの識別子と前記コンテンツの識別子とを対応付けて第4のデータ格納部に格納するか、又は受信したデータに含まれる前記ユーザの識別子に対応するコンテンツの識別子を特定して前記ユーザの識別子と当該コンテンツの識別子とを対応付けて前記第4のデータ格納部に格納し、
前記第4のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
システム。
(付記10)
前記第3の対応付けデータにおいて、前記表示装置の識別子と、1又は複数の前記第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられており、
前記第3のデータ格納部が、前記複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納しており、
前記第3の情報処理装置の各々が、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出され、前記同一の識別子が特定されたコンテンツのサイズ及び前記少なくとも一部のユーザの識別子について特定された表示装置と前記同一の識別子が抽出された前記第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、前記同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
付記9記載のシステム。
(付記11)
ユーザの識別子を含む所定のイベントを検出すると、ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータをユーザの識別子に基づき特定し且つ複数のコンテンツのデータを保持する第1の情報処理装置から取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する第2の情報処理装置の識別子とユーザの識別子とを対応付ける対応付けデータを格納するデータ格納部から、検出された前記所定のイベントに含まれるユーザの識別子に対応付けられている第2の情報処理装置の識別子を特定する処理と、
特定された前記識別子の第2の情報処理装置に対して、少なくとも前記ユーザの識別子を送信する処理と、
をコンピュータに実行させるためのプログラム。
(付記12)
ユーザの識別子を含む所定のイベントを検出した第1の情報処理装置から当該ユーザの識別子を含むデータを受信する処理と、
ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち1又は複数の表示装置の識別子とユーザの識別子とを対応付ける第2の対応付けデータと、前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置のうちの1又は複数の第2の情報処理装置の識別子と表示装置の識別子とを対応付ける第3の対応付けデータとを格納する第1のデータ格納部に格納されている前記第1の対応付けデータから、受信した前記データに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、受信した前記データに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて第2のデータ格納部に格納する処理と、
前記第2のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出する処理と、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記同一の識別子が特定されたコンテンツのデータを前記第1のデータ格納部から読み出して送信するか又は前記コンテンツの同一の識別子を送信する処理と、
をコンピュータに実行させるためのプログラム。
(付記13)
ユーザの識別子を含む所定のイベントを検出する処理と、
ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち1又は複数の表示装置の識別子とユーザの識別子とを対応付ける第2の対応付けデータと、前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを第1の情報処理装置から取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置のうちの1又は複数の第2の情報処理装置の識別子と表示装置の識別子とを対応付ける第3の対応付けデータとを格納する第1のデータ格納部に格納されている前記第1の対応付けデータから、検出した前記所定のイベントに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、検出した前記所定のイベントに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて第2のデータ格納部に格納する処理と、
前記第2のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出する処理と、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する処理と、
をコンピュータに実行させるためのプログラム。
(付記14)
ユーザの識別子を含む所定のイベントを検出した装置からコンテンツの識別子と前記ユーザの識別子とを含むデータを受信した場合、又は前記ユーザの識別子を含むデータを受信した合にはユーザの識別子とコンテンツの識別子との対応付けからコンテンツの識別子を特定し、前記ユーザの識別子と前記コンテンツの識別子とを第1のデータ格納部に格納する処理と、
前記第1のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、
ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち1又は複数の表示装置の識別子とユーザの識別子とを対応付ける第1の対応付けデータと、前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを第1の情報処理装置から取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置のうちの1又は複数の第2の情報処理装置の識別子と表示装置の識別子とを対応付ける第2の対応付けデータとを格納する第2のデータ格納部に格納されている第1の対応付けデータから、当該複数のユーザの各々に対応付けられている表示装置の識別子を特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第2の対応付けデータから抽出する処理と、
前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する処理と、
をコンピュータに実行させるためのプログラム。
(付記15)
データを記憶する第1の情報処理装置と、
ユーザ識別子を読み取り可能な表示装置と、
第2の情報処理装置と、
複数の第3の情報処理装置と、
を有し、
前記第2の情報処理装置は、
ユーザ識別子と前記複数の第3の情報処理装置に含まれる少なくとも1つの第3の情報処理装置とを対応付ける第1の対応付けデータを格納するデータ格納部と、
所定のイベントデータの検出に応じて前記第1の対応付けデータを参照して、検出した該所定のイベントデータに含まれる第1のユーザ識別子に対応付けられた第3の情報処理装置を特定し、特定した該第3の情報処理装置に対して、前記第1のユーザ識別子を送信する制御を行う制御部と、
を備え、
前記第3の情報処理装置は、
前記第2の情報処理装置が送信した前記第1のユーザ識別子を受信する受信部と、
受信した前記第1のユーザ識別子に基づいて特定したデータを前記第1の情報処理装置から取得して記憶部に記憶する記憶部と、
前記表示装置によって読み取られ且つ当該表示装置から受信した第2のユーザ識別子に基づき、当該第2のユーザ識別子に対応し且つ前記記憶部に記憶された前記データを前記表示装置に送信する制御を行う制御部と、
を備えたことを特徴とするシステム。
1 ネットワーク
3 センタサーバ
5 イベント集配装置
7 キャッシュサーバ
9 センサ
11 表示装置
13 コンテンツ配備先決定サーバ

Claims (15)

  1. 複数のコンテンツのデータを保持する第1の情報処理装置と、
    ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
    前記複数のコンテンツのデータの一部を前記第1の情報処理装置から取得して記憶し、記憶されたデータを少なくとも一部の表示装置に出力する複数の第2の情報処理装置と、
    所定のイベントを検出する第3の情報処理装置と、
    を備え、
    前記第3の情報処理装置は、
    ユーザの識別子と前記複数の第2の情報処理装置のうちの少なくとも1の第2の情報処理装置とを対応付ける第1の対応付けデータを格納する第1のデータ格納部を有し、所定のイベントを検出すると、前記第1のデータ格納部から、検出された前記所定のイベントのデータに含まれるユーザの識別子に対応付けられている第2の情報処理装置を特定して、当該特定された第2の情報処理装置に対して検出された前記所定のイベントのデータに含まれるユーザの識別子を送信し、
    前記複数の第2の情報処理装置のうち少なくとも一部の第2の情報処理装置は、
    前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、前記第3の情報処理装置から送信されたユーザの識別子に基づき特定し、特定されたデータを前記第1の情報処理装置から取得して記憶し、前記少なくとも一部の表示装置からユーザの識別子を受信すると、当該ユーザの識別子に対応するコンテンツのデータを前記少なくとも一部の表示装置に出力する
    を有するシステム。
  2. 前記第2の情報処理装置の各々が、
    ユーザの識別子とコンテンツの識別子とを対応付ける第2の対応付けデータと、コンテンツの識別子と当該コンテンツのデータの格納先のアドレスと当該コンテンツに最後に関連付けられたユーザの識別子とを対応付ける第3の対応付けデータを格納する第2のデータ格納部、
    をさらに有し、
    前記第3の情報処理装置から第1のユーザの識別子を含む第1のデータを受信すると、当該第1のユーザの識別子に対応付けられているコンテンツの識別子を前記第2の対応付けデータから特定し、
    前記第3の対応付けデータにおいて、特定された前記コンテンツの識別子にデータが対応付けられているか判断し、
    特定された前記コンテンツの識別子にデータが対応付けられていない場合には前記第1の情報処理装置から当該コンテンツのデータを取得して第3のデータ格納部に格納すると共に、特定された前記コンテンツの識別子と前記第1のデータに含まれる前記第1のユーザの識別子と取得したコンテンツのデータの格納先のアドレスとを対応付けて前記第2のデータ格納部に格納し、
    特定された前記コンテンツの識別子にデータが対応付けられている場合には、当該データに含まれているユーザの識別子を、前記第1のデータを含まれる前記第1のユーザの識別子で更新し、
    前記第3の情報処理装置から前記第1のユーザの識別子を含む第2のデータを受信すると、前記第3の対応付けデータに、前記第2のデータに含まれる前記第1のユーザの識別子が対応付けられているデータが含まれている判断し、
    前記第3の対応付けデータに、前記第1のユーザの識別子に対応付けられているデータが含まれている場合には、前記第1のユーザの識別子に対応付けられているデータを削除すると共に当該データに含まれる、コンテンツのデータの格納先のアドレスに格納されているコンテンツのデータを削除する
    請求項1記載のシステム。
  3. 複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、
    ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
    前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、前記第1の情報処理装置から取得してキャッシュし、前記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、
    ユーザの識別子を含む所定のイベントを検出すると、前記第1の情報処理装置に当該ユーザの識別子を含むデータを送信する第3の情報処理装置と、
    を有し、
    前記第1の情報処理装置は、
    ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部
    をさらに有し、
    前記第3の情報処理装置から前記ユーザの識別子を含むデータを受信すると、前記第1の対応付けデータから、受信した前記データに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、受信した前記データに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて第3のデータ格納部に格納し、
    前記第3のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記同一の識別子が特定されたコンテンツのデータを前記第1のデータ格納部から読み出して送信するか又は前記コンテンツの同一の識別子を送信する
    システム。
  4. 前記第3の対応付けデータにおいて、前記表示装置の識別子と、1又は複数の前記第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられており、
    前記第2のデータ格納部が、前記複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納しており、
    前記第1の情報処理装置が、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出され、前記同一の識別子が特定されたコンテンツのサイズ及び前記少なくとも一部のユーザの識別子について特定された表示装置と前記同一の識別子が抽出された前記第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、前記同一の識別子が抽出された第2の情報処理装置の1つに対して、前記同一の識別子に係るコンテンツのデータを前記第1のデータ格納部から読み出して送信する又はコンテンツの同一の識別子を送信する
    請求項3記載のシステム。
  5. 前記第2のデータ格納部が、前記複数の第2の情報処理装置の各々についてキャッシュしているコンテンツの数のデータをさらに格納しており、
    前記同一の識別子が抽出された第2の情報処理装置が複数の場合、前記第2のデータ格納部に格納されている前記コンテンツの数に基づき、1の第2の情報処理装置に絞り込む
    請求項3又は4記載のシステム。
  6. 複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、
    ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
    前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子に基づき特定し、前記第1の情報処理装置から取得してキャッシュし、前記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、
    ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第2のデータ格納部と第3のデータ格納部とを有する第3の情報処理装置と、
    を有し、
    前記第3の情報処理装置は、
    ユーザの識別子を含む所定のイベントを検出すると、前記第1の対応付けデータから、検出した前記所定のイベントに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、検出した前記所定のイベントに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて前記第3のデータ格納部に格納し、
    前記第3のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
    システム。
  7. 前記第2のデータ格納部が、前記複数の第2の情報処理装置の各々についてキャッシュしているコンテンツの数のデータをさらに格納しており、
    前記第3の情報処理装置は、
    前記同一の識別子が抽出された第2の情報処理装置が複数の場合、前記第3のデータ格納部に格納されている前記コンテンツの数に基づき、1の第2の情報処理装置に絞り込む
    請求項6記載のシステム。
  8. 前記第3の対応付けデータにおいて、前記表示装置の識別子と、1又は複数の前記第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられており、
    前記第2のデータ格納部が、前記複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納しており、
    前記第3の情報処理装置は、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出され、前記同一の識別子が特定されたコンテンツのサイズ及び前記少なくとも一部のユーザの識別子について特定された表示装置と前記同一の識別子が抽出された前記第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、前記同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
    請求項6又は7記載のシステム。
  9. 複数のコンテンツのデータを格納する第1のデータ格納部を有する第1の情報処理装置と、
    ユーザの識別子を読み取る機能を各々有する複数の表示装置と、
    前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを、ユーザの識別子又はコンテンツの識別子に基づき特定し、前記第1の情報処理装置から取得してキャッシュし、前記少なくとも一部の表示装置からの、ユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置と、
    複数の第3の情報処理装置と、
    ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、コンテンツの識別子と前記複数の第3の情報処理装置のうち1の第3の情報処理装置とを対応付ける第2の対応付けデータとを格納する第2のデータ格納部を有する第4の情報処理装置と、
    を有し、
    前記第4の情報処理装置は、
    ユーザの識別子を含む所定のイベントを検出すると、前記第1の対応付けデータから、検出した前記所定のイベントに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、
    前記第2の対応付けデータから、特定された前記コンテンツの識別子に対応付けられている第3の情報処理装置の識別子を特定し、
    検出した前記所定のイベントに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを含むデータ又は前記ユーザの識別子を含むデータを、特定された前記第3の情報処理装置に送信し、
    前記複数の第3の情報処理装置の各々は、
    ユーザの識別子と表示装置の識別子とを対応付ける第2の対応付けデータと、表示装置の識別子と1又は複数の第2の情報処理装置の識別子とを対応付ける第3の対応付けデータとを格納する第3のデータ格納部を有し、
    前記第4の情報処理装置から受信したデータに含まれる前記ユーザの識別子と前記コンテンツの識別子とを対応付けて第4のデータ格納部に格納するか、又は受信したデータに含まれる前記ユーザの識別子に対応するコンテンツの識別子を特定して前記ユーザの識別子と当該コンテンツの識別子とを対応付けて前記第4のデータ格納部に格納し、
    前記第4のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出し、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
    システム。
  10. 前記第3の対応付けデータにおいて、前記表示装置の識別子と、1又は複数の前記第2の情報処理装置の識別子と、当該表示装置と当該第2の情報処理装置との間のスループットとが対応付けられており、
    前記第3のデータ格納部が、前記複数のコンテンツの各々についてコンテンツのサイズのデータをさらに格納しており、
    前記第3の情報処理装置の各々が、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出され、前記同一の識別子が特定されたコンテンツのサイズ及び前記少なくとも一部のユーザの識別子について特定された表示装置と前記同一の識別子が抽出された前記第2の情報処理装置との間のスループットから算出される通信時間が閾値以内である場合に、前記同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する
    請求項9記載のシステム。
  11. ユーザの識別子を含む所定のイベントを検出すると、ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータをユーザの識別子に基づき特定し且つ複数のコンテンツのデータを保持する第1の情報処理装置から取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する第2の情報処理装置の識別子とユーザの識別子とを対応付ける対応付けデータを格納するデータ格納部から、検出された前記所定のイベントに含まれるユーザの識別子に対応付けられている第2の情報処理装置の識別子を特定する処理と、
    特定された前記識別子の第2の情報処理装置に対して、少なくとも前記ユーザの識別子を送信する処理と、
    をコンピュータに実行させるためのプログラム。
  12. ユーザの識別子を含む所定のイベントを検出した第1の情報処理装置から当該ユーザの識別子を含むデータを受信する処理と、
    ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち1又は複数の表示装置の識別子とユーザの識別子とを対応付ける第2の対応付けデータと、前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置のうちの1又は複数の第2の情報処理装置の識別子と表示装置の識別子とを対応付ける第3の対応付けデータとを格納する第1のデータ格納部に格納されている前記第1の対応付けデータから、受信した前記データに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、受信した前記データに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて第2のデータ格納部に格納する処理と、
    前記第2のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出する処理と、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記同一の識別子が特定されたコンテンツのデータを前記第1のデータ格納部から読み出して送信するか又は前記コンテンツの同一の識別子を送信する処理と、
    をコンピュータに実行させるためのプログラム。
  13. ユーザの識別子を含む所定のイベントを検出する処理と、
    ユーザの識別子とコンテンツの識別子とを対応付ける第1の対応付けデータと、ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち1又は複数の表示装置の識別子とユーザの識別子とを対応付ける第2の対応付けデータと、前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを第1の情報処理装置から取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置のうちの1又は複数の第2の情報処理装置の識別子と表示装置の識別子とを対応付ける第3の対応付けデータとを格納する第1のデータ格納部に格納されている前記第1の対応付けデータから、検出した前記所定のイベントに含まれる前記ユーザの識別子に対応付けられているコンテンツの識別子を特定し、検出した前記所定のイベントに含まれる前記ユーザの識別子と特定された前記コンテンツの識別子とを対応付けて第2のデータ格納部に格納する処理と、
    前記第2のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を前記第2の対応付けデータから特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第3の対応付けデータから抽出する処理と、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する処理と、
    をコンピュータに実行させるためのプログラム。
  14. ユーザの識別子を含む所定のイベントを検出した装置からコンテンツの識別子とユーザの識別子とを含むデータを受信した場合、又は前記ユーザの識別子を含むデータを受信した合にはユーザの識別子とコンテンツの識別子との対応付けからコンテンツの識別子を特定し、前記ユーザの識別子と前記コンテンツの識別子とを第1のデータ格納部に格納する処理と、
    前記第1のデータ格納部において、前記コンテンツの同一の識別子に対応付けて複数のユーザの複数の識別子が対応付けられている場合には、
    ユーザの識別子を読み取る機能を各々有する複数の表示装置のうち1又は複数の表示装置の識別子とユーザの識別子とを対応付ける第1の対応付けデータと、前記複数の表示装置のうち少なくとも一部の表示装置に出力すべきコンテンツのデータを第1の情報処理装置から取得してキャッシュし且つ前記少なくとも一部の表示装置からのユーザの識別子を含む要求に応じて対応するコンテンツのデータを出力する複数の第2の情報処理装置のうちの1又は複数の第2の情報処理装置の識別子と表示装置の識別子とを対応付ける第2の対応付けデータとを格納する第2のデータ格納部に格納されている第1の対応付けデータから、当該複数のユーザの各々に対応付けられている前記表示装置の識別子を特定し、特定された前記表示装置の識別子に対応付けられている第2の情報処理装置の識別子を前記第2の対応付けデータから抽出する処理と、
    前記複数のユーザの複数の識別子のうち少なくとも一部のユーザの識別子について前記第2の情報処理装置の同一の識別子が抽出された場合には、当該同一の識別子が抽出された第2の情報処理装置の1つに対して、前記少なくとも一部のユーザの識別子又は前記コンテンツの同一の識別子を送信する処理と、
    をコンピュータに実行させるためのプログラム。
  15. データを記憶する第1の情報処理装置と、
    ユーザ識別子を読み取り可能な表示装置と、
    第2の情報処理装置と、
    複数の第3の情報処理装置と、
    を有し、
    前記第2の情報処理装置は、
    ユーザ識別子と前記複数の第3の情報処理装置に含まれる少なくとも1つの第3の情報処理装置とを対応付ける第1の対応付けデータを格納するデータ格納部と、
    所定のイベントデータの検出に応じて前記第1の対応付けデータを参照して、検出した該所定のイベントデータに含まれる第1のユーザ識別子に対応付けられた第3の情報処理装置を特定し、特定した該第3の情報処理装置に対して、前記第1のユーザ識別子を送信する制御を行う制御部と、
    を備え、
    前記第3の情報処理装置は、
    前記第2の情報処理装置が送信した前記第1のユーザ識別子を受信する受信部と、
    受信した前記第1のユーザ識別子に基づいて特定したデータを前記第1の情報処理装置から取得して記憶部に記憶する記憶部と、
    前記表示装置によって読み取られ且つ当該表示装置から受信した第2のユーザ識別子に基づき、当該第2のユーザ識別子に対応し且つ前記記憶部に記憶された前記データを前記表示装置に送信する制御を行う制御部と、
    を備えたことを特徴とするシステム。
JP2012044716A 2012-02-29 2012-02-29 分散キャッシュについてのシステム、プログラム及び方法 Active JP5835015B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012044716A JP5835015B2 (ja) 2012-02-29 2012-02-29 分散キャッシュについてのシステム、プログラム及び方法
US13/719,401 US9158732B2 (en) 2012-02-29 2012-12-19 Distributed cache system for delivering contents to display apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012044716A JP5835015B2 (ja) 2012-02-29 2012-02-29 分散キャッシュについてのシステム、プログラム及び方法

Publications (2)

Publication Number Publication Date
JP2013182349A true JP2013182349A (ja) 2013-09-12
JP5835015B2 JP5835015B2 (ja) 2015-12-24

Family

ID=49004490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012044716A Active JP5835015B2 (ja) 2012-02-29 2012-02-29 分散キャッシュについてのシステム、プログラム及び方法

Country Status (2)

Country Link
US (1) US9158732B2 (ja)
JP (1) JP5835015B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031570A1 (ja) * 2017-08-10 2019-02-14 京セラ株式会社 通信方法、通信装置、及び管理装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10154109B2 (en) * 2012-07-31 2018-12-11 Apple Inc. Delivering content to electronic devices using local caching servers
US9892096B2 (en) * 2014-03-06 2018-02-13 International Business Machines Corporation Contextual hyperlink insertion

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187609A (ja) * 1998-11-20 2000-07-04 Internatl Business Mach Corp <Ibm> 要求されたオブジェクトを検索する方法及び記録デバイス
JP2001297046A (ja) * 2000-04-14 2001-10-26 Nippon Telegr & Teleph Corp <Ntt> 負荷分散制御装置および方法ならびに記録媒体
JP2002049766A (ja) * 2000-08-03 2002-02-15 Kddi Corp コンテンツ提供方法
JP2006196008A (ja) * 2006-01-25 2006-07-27 Toshiba Corp 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム

Family Cites Families (16)

* 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 財団法人鉄道総合技術研究所 利用者案内システム
JP3577068B2 (ja) 2000-11-15 2004-10-13 株式会社東芝 情報配信方法、情報配信用コンピュータ、およびそれを用いた情報配信システム
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 株式会社日立製作所 センサネットワークシステム、センサデータの処理方法及びプログラム
JP4850753B2 (ja) 2007-02-28 2012-01-11 シャープ株式会社 広告配信システム、端末装置、広告配信方法、プログラム及び記録媒体
JP2009110122A (ja) 2007-10-26 2009-05-21 Panasonic Corp コンテンツ提供システムおよびコンテンツ提供方法
JP5163171B2 (ja) 2008-02-15 2013-03-13 日本電気株式会社 キャッシュシステムおよびサーバ
JP5125621B2 (ja) 2008-03-05 2013-01-23 日本電気株式会社 広告配信システム及びその方法
US20110029670A1 (en) * 2009-07-31 2011-02-03 Microsoft Corporation Adapting pushed content delivery based on predictiveness
US20120117240A1 (en) * 2010-11-05 2012-05-10 Verizon Patent And Licensing Inc. Systems and methods for allocating network bandwidth

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187609A (ja) * 1998-11-20 2000-07-04 Internatl Business Mach Corp <Ibm> 要求されたオブジェクトを検索する方法及び記録デバイス
JP2001297046A (ja) * 2000-04-14 2001-10-26 Nippon Telegr & Teleph Corp <Ntt> 負荷分散制御装置および方法ならびに記録媒体
JP2002049766A (ja) * 2000-08-03 2002-02-15 Kddi Corp コンテンツ提供方法
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
JP2006196008A (ja) * 2006-01-25 2006-07-27 Toshiba Corp 管理装置、管理装置のキャッシュ制御方法及び記録媒体並びに情報転送システムのキャッシュ制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031570A1 (ja) * 2017-08-10 2019-02-14 京セラ株式会社 通信方法、通信装置、及び管理装置

Also Published As

Publication number Publication date
US9158732B2 (en) 2015-10-13
US20130227049A1 (en) 2013-08-29
JP5835015B2 (ja) 2015-12-24

Similar Documents

Publication Publication Date Title
CN106130882B (zh) 用于传输消息的方法和装置
JP6643760B2 (ja) ショートリンクの処理方法、デバイス、及びサーバ
CN113766035B (zh) 一种业务受理及共识的方法及装置
CN101938502B (zh) 一种服务器集群系统及负载均衡方法
JP5741150B2 (ja) 中継装置、中継プログラム、及び中継方法
CN108683668B (zh) 内容分发网络中的资源校验方法、装置、存储介质及设备
CN107451853B (zh) 一种红包实时派发的方法、装置、系统及存储介质
CN115004673B (zh) 消息推送方法、装置、电子设备及计算机可读介质
JP5360457B2 (ja) 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム
CN112714192B (zh) 数据同步方法、装置、计算机可读介质及电子设备
CN103607424B (zh) 一种服务器连接方法及服务器系统
US9736235B2 (en) Computer system, computer, and load balancing method
JP5835015B2 (ja) 分散キャッシュについてのシステム、プログラム及び方法
CN115113997A (zh) 一种任务调度方法、装置、电子设备及存储介质
JPWO2018003031A1 (ja) 仮想化管理プログラム、仮想化管理装置および仮想化管理方法
JP2012146083A (ja) セッション管理システム、セッション管理装置、サーバ装置およびセッション管理方法
WO2012114889A1 (ja) アプリケーション構築配置システム、アプリケーション構築配置方法、およびプログラム
JP2017174038A (ja) 情報処理システム、情報処理方法およびプログラム
KR20140125223A (ko) 정보 중심 네트워킹 기반의 콘텐츠 네트워크에서 관리 인터페이스를 이용한 정보 수집 방법, 콘텐츠 네트워크 관리 시스템 및 노드 장치
US10572486B2 (en) Data communication in a distributed data grid
US20160261476A1 (en) Message system for avoiding processing-performance decline
JP5630070B2 (ja) 中継装置、プログラム及び方法
JP2017037411A (ja) コンテンツ配信ネットワークの転送装置、サーバ装置及びプログラム
JP5655687B2 (ja) 解析処理装置,解析処理プログラムおよび解析処理方法
CN117527880B (zh) 消息管理方法、装置、电子设备及计算机可读取存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150824

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: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151019

R150 Certificate of patent or registration of utility model

Ref document number: 5835015

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150