JP2010530103A - キャッシュされたコンテンツの一貫性管理 - Google Patents

キャッシュされたコンテンツの一貫性管理 Download PDF

Info

Publication number
JP2010530103A
JP2010530103A JP2010511382A JP2010511382A JP2010530103A JP 2010530103 A JP2010530103 A JP 2010530103A JP 2010511382 A JP2010511382 A JP 2010511382A JP 2010511382 A JP2010511382 A JP 2010511382A JP 2010530103 A JP2010530103 A JP 2010530103A
Authority
JP
Japan
Prior art keywords
content
client device
update
assets
cache
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
JP2010511382A
Other languages
English (en)
Other versions
JP5474776B2 (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of JP2010530103A publication Critical patent/JP2010530103A/ja
Application granted granted Critical
Publication of JP5474776B2 publication Critical patent/JP5474776B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【解決手段】配信サーバとクライアントデバイスはキャッシュされたコンテンツアセットの一貫性を管理する。サーバはクライアントデバイスから更新トークン値を受信し、更新トークン値と更新テーブルを用いてキャッシュされたコンテンツアセットを特定する。サーバはキャッシュされたアセットと、現在の更新トークン値と更新テーブルから決定されたアセットリストとの間の潜在的なコンフリクトの有無を判定する。サーバは潜在的にコンフリクトするキャッシュされたアセットを削除する命令をクライアントデバイスに送ることでコンフリクトを解消するか、コンフリクトがないなら、クライアントデバイスに更新信号を送る。クライアントデバイスは、配信サーバに更新トークン値を送信し、削除命令に応答して選択されたキャッシュされたコンテンツアセットを削除するか、更新信号を受信してキャッシュされたコンテンツアセットを更新する。
【選択図】図1

Description

[関連出願の相互参照]
本願は、2007年6月6日出願された同一出願人による米国特許出願第11/759,155号の優先権の利益を主張し、その開示内容全体を参照によりここに組み入れる。
本願は、2007年6月6日出願された同一出願人による米国特許出願第11/759,143号に関連し、その開示内容全体を参照によりここに組み入れる。
[技術分野]
本発明は電子コンピューティングに関し、特にインタラクティブ環境におけるキャッシュされたコンテンツの管理に関する。
インターネットが成長し、ビデオゲームのようなインタラクティブエンターテインメントが盛んになったことから、ビデオゲーム内で広告する機会が増えてきた。最初は、広告はビデオゲーム内に静的に配置されていた。インターネット接続をもつビデオゲーム機が利用可能になるにつれ、ビデオゲーム内に現れる広告を更新することが可能になってきた。これによって、ゲーム機製造会社やビデオゲーム制作会社はビデオゲーム内の広告スペースを広告主に売ることで収益を得る道が開かれるようになった。広告コンテンツはしばしばビデオゲームタイトルの性質にもとづいて変わる。それに加えて、ゲーム内のある広告スペースは他の広告スペースよりも価値がある。さらに、広告会社は、ある広告がフェーズアウトし、他の広告がフェーズインするのに伴って時間とともに変化する。したがって、特定の期間に特定のビデオゲームの特定のスペースにどの広告を置くべきかを決定するシステムをもつことが有益である。
従来は、ビデオゲーム機は、ゲームタイトルおよび日時、年月などを考慮してゲーム内の特定の広告スペースに置くべき広告を決定する配信サーバと接続する。しばしば現実の広告コンテンツはコンテンツサーバとして知られる別個のサーバに格納される。そのような場合、配信サーバはゲーム機に特定のコンテンツサーバにコンタクトして、1以上のコンテンツファイルをリクエストするように命令する。このコンテンツファイルは、ビデオゲーム機が特定の広告スペース用のコンテンツを生成するために使うことのできるコンテンツのアセットとしてここでは参照される。そして、ゲーム機はコンテンツサーバに直接コンタクトして指定されたコンテンツアセットをリクエストすることができる。これらのコンテンツアセットは、ビデオゲーム内の広告スペース内のコンテンツの高速な更新を容易にするべく、ビデオゲーム機上のキャッシュに一時的に格納される。
広告主はしばしば広告に対して何らかの形態の排他性を求める。そのような排他性は、しばしば、広告コンテンツの配信に責任があるメディア会社との契約においてしばしば同意されているものである。広告主とメディア会社間の排他的な契約により、広告主の競争者の製品またはサービスの販売を促進する広告が、特定の時間に特定のメディアチャネルに表示されないようにすることができる。一例として、このことは、競合会社の広告がビデオゲームの同じフレームに現れないことを意味する。この例には多数の置換が可能である。
コンピュータネットワーク上での情報配信の動的な性質のゆえに、ビデオゲーム内に表示される広告はかなり速く更新してもよい。更新を実装する際、広告または他のコンテンツの間でコンフリクトを避けることが望ましい。
本発明の実施の形態はこのようなコンテキストで考えられた。
キャッシュを有するクライアントデバイスにおいて、キャッシュされたコンテンツの一貫性を管理するためのコンピュータ実装された方法であって、キャッシュに格納された1以上のコンテンツアセットを更新する前に、a)配信サーバに更新トークン値を送信するステップと、b)前記配信サーバからの命令に応答して前記キャッシュから1以上のコンテンツのアセットを削除するステップと、c)前記配信サーバからの更新信号の受信に続いて前記キャッシュに格納された前記コンテンツアセットを更新するステップとを含むことを特徴とする方法。
本発明の実施の形態に係る補助コンテンツ配信システムの概略図である。 先行技術におけるキャッシュ一貫性管理の問題を説明するフロー図である。 本発明の実施の形態に係るキャッシュされたコンテンツの一貫性管理の例を説明するフロー図である。 本発明の実施の形態に係るクライアントデバイスを説明するブロック図である。 本発明の実施の形態に係る配信サーバを説明するブロック図である。
以下の詳細な説明には、説明のための多くの具体的な詳細事項が含まれるが、それらに対する多くの変更や修正も本発明の技術範囲に含まれることは、当業者であれば誰でも理解するであろう。したがって、以下に説明する本発明の好適な実施形態は、クレームされた発明の普遍性をなんら損なうことなく、また限定も行うことなく記載されている。
図1に示すように、キャッシュされたコンテンツの一貫性管理システム100は、1以上のクライアントデバイス102と1以上の配信サーバ104を含む。クライアントデバイス102と配信サーバ104はネットワーク101を介して通信するように構成される。一例として、一般性を失うことなく、ネットワーク101は双方向のデジタル通信ネットワークである。ネットワーク101はローカルエリアネットワークまたはインターネットのようなワイドエリアネットワークであってもよい。ネットワーク101は、本発明の実施の形態を実装するネットワーク接続を可能にするために、たとえば、CATV双方向ネットワーク、ISDNまたはxDSL高速ネットワークのようなインフラストラクチャを用いて実装されてもよい。
一例として、限定するわけではないが、クライアントデバイス104はゲーム機であってもよい。商用のゲーム機の例には、ワシントンレッドモンドのマイクロソフトのXbox(商標または登録商標)、日本の京都の任天堂のWii(商標または登録商標)、日本の東京のソニー・コンピュータエンタテインメントのプレイステーション3のようなプレイステーション(商標または登録商標)デバイスを含む。Xbox(商標または登録商標)は、ワシントンレッドモンドのマイクロソフトの登録商標である。プレイステーション(商標または登録商標)は日本の東京の株式会社ソニー・コンピュータエンタテインメントの登録商標である。Wii(商標または登録商標)は日本の京都の任天堂の登録商標である。あるいは、クライアントデバイスは、補助コンテンツを受信し利用することができるネットワーク機能をもつ任意の他のタイプのデバイスであってもよい。そのようなデバイスには、これに限るわけではないが、携帯電話、パーソナルコンピュータ、ラップトップコンピュータ、テレビジョンセットトップボックス、携帯インターネットアクセスデバイス、携帯メールデバイス、携帯ビデオゲームデバイス、携帯情報端末、デジタル音楽プレイヤなどが含まれる。さらに、クライアントデバイス104は、先にリストした例における2以上のデバイスの機能を搭載してもよい。
ここでコンテンツという用語は、シミュレートされた環境においてディスプレイに提示されるイメージ、ビデオ、テキスト、音などを指す。そのようなコンテンツには、たとえば、背景、アバタ、シミュレートされた環境内で使われるシミュレートされたオブジェクトなど、シミュレートされた環境の不可欠な部分であるコンテンツが含まれる。コンテンツはまた、シミュレートされた環境にとって不可欠ではないが、ともに現れることがある補助コンテンツを含んでもよい。ここで補助コンテンツという用語は、たとえば、テキスト、静止画、動画、アニメーション、音、アプレット、3次元コンテンツなどの形式でクライアントデバイス104に無償で提供されるコンテンツを意味する。一例として、限定する趣旨ではないが、インタラクティブな環境のコンテキストでは、たとえば、ビデオゲーム、3次元コンテンツは、画像または3次元に関わるシミュレーションに関する情報を含んでもよい。そのような情報の例は、静的な幾何学からゲームタイトル自身の表現上の双方向性(インタラクティビティ)をもった部分的または全体的なゲームレベルにまで広がっている。補助コンテンツの例には、広告、公共サービスのアナウンス、ソフトウェアアップデート、インタラクティブゲームコンテンツなどが含まれる。
コンテンツは、補助コンテンツも含め、クライアントデバイスによってコンテンツアセットから生成される。「コンテンツアセット」という用語は、クライアントデバイスがコンテンツを生成するために使うことのできるクライアントデバイスが読み取り可能なフォーマットの情報を指す。補助コンテンツを含むコンテンツおよび対応するコンテンツアセットは、「その場で」(on the fly)、すなわちシミュレートされた環境のセッションの過程で生成してもよい。
補助コンテンツは、クライアントデバイス104によって生成されたシミュレートされた環境において1以上のあらかじめ定められた場所あるいは時間に現れる。ここでは、「シミュレートされた環境」という用語は、クライアントデバイス104のユーザが開始したオペレーションの間、クライアントデバイス104によって生成されるテキスト、静止画、動画、アニメーション、音などを指す。一例として、限定するものではないが、シミュレートされた環境は、クライアントデバイス104がユーザに提示するテキスト、静止画、動画、アニメーション、音によって表現されるビデオゲーム内の光景である。
クライアントデバイス104は1以上のコンテンツサーバ108から補助コンテンツのアセットを取り出す。配信サーバ106は、補助コンテンツのどの特定のアイテムが、クライアントデバイス104によって生成されたシミュレートされた環境内の特定のスペースまたは時間に属するかを決定する。各配信サーバ106は異なる地域にあるクライアントデバイス104に補助コンテンツを配信する責任がある。
たとえばキャッシュされたコンテンツが広告コンテンツを含むような実装においては、システムは、オプションとして1以上のコンテンツサーバ106、1以上のレポーティングサーバ108、および1以上のキャンペーン管理サーバ110を含んでもよい。ある実装では、システムはオプションとして、コンテンツの配信を促進するための調停サーバ112を含んでもよい。各クライアントデバイス102は、調停サーバ112に入力を提出するように構成される。調停サーバ112はクライアントデバイス102と配信サーバ104間の仲介者の働きをする。一例として、調停サーバ112はどの配信サーバ104が特定の地域のクライアントデバイスに対する補助コンテンツの配信を取り扱うかを決定する。調停サーバ112はクライアントデバイス102からの入力を受信し、その入力に応答して配信サーバ104に対するコンタクト先(連絡先)情報をクライアントデバイス102に送信するように構成される。各クライアントデバイス102はさらに調停サーバ112からコンタクト先情報を受信し、補助的なコンテンツスペースに対する補助コンテンツ情報を求めるリクエストをもって、そのコンタクト先情報を用いて1以上の配信サーバ104にコンタクトするように構成される。配信サーバ104は1以上のクライアントデバイス102からの補助的なコンテンツ情報に対するリクエストをサービスするように構成される。調停サーバ112は各クライアントデバイス104と既存の信頼関係をもっている。一例として、信頼関係は、非対称暗号としても知られる公開鍵暗号を用いて確立してもよい。クライアントデバイス102と調停サーバ112間の既存の信頼関係を利用して、複数の配信サーバ104の管理を委任してもよい。補助コンテンツ配信と連動する調停サーバの使用は、譲受人が共通する米国特許出願第11/759,143号のJames E. Marr et al.“MEDIATION FOR AUXILIARY CONTENT IN AN INTERACTIVE ENVIRONMENT”に記載されており、参照によりここに組み入れる。
ある実施の形態では、システム100はさらにネットワーク101に接続された1以上のレポーティングサーバ108を含む。クライアントデバイス102は補助コンテンツに関するユーザのアクティビティをレポートする。たとえば、広告の形態の補助コンテンツの場合、クライアントデバイス102は、広告が表示されたかどうか、ユーザに印象を与えたかどうかに関する情報をレポーティングサーバ108にレポートするように構成される。そのような印象レポートの例は、たとえば、2005年9月30日に出願された、譲受人が共通する米国特許出願第11/241,229号に記述されており、その全内容をここに参照により取り入れる。ある実施の形態では、調停サーバ112はまた、レポーティングサーバ108のURLとそのレポーティングサーバと通信するための暗号鍵を提供する。
図2Aは、先行技術においてしばしば直面するキャッシュされたコンテンツを管理する問題を説明する。この例では、クライアントデバイス102は、シミュレートされた環境内の第1および第2コンテンツスペースSp1、Sp2用のコンテンツアセットを含むキャッシュ122を有する。
ここで、キャッシュという用語は、一般に特別な高速のストレージ機構を指す。一例として、キャッシュ122はクライアントデバイス102と関連づけられたメインメモリの予約されたセクションであってもよく、クライアントデバイスと関連づけられた独立した高速ストレージデバイスであってもよい。最初、キャッシュ122は第1スペースSp1用のアセットAと、第2スペースSp2用のアセットBを含む。キャッシュ122に格納されたコンテンツアセットはときどき更新される。コンテンツアセットを更新するために、クライアントデバイス102は、符号202で示すようにアセット情報を求めるリクエストをもって、ネットワーク101上の配信サーバとコンタクトする。配信サーバは、符号204で示すように、そのリクエストにアセット情報をもって応答する。アセット情報は、たとえば、ファイル名または他の識別子によって、更新アセットおよび更新アセットの情報源を特定する。情報源、たとえばコンテンツサーバ106は、ネットワークアドレス、たとえばURLによって特定される。この例では、配信サーバは、クライアントデバイス102がアドレスCDNにあるコンテンツサーバ106からアセットC203を取得するべきであると決定する。配信サーバは、符号204で示すように、この情報をクライアントデバイス102に中継する。符号206で示すように、クライアントデバイス102はこの情報を用いて、アドレスCDNにあるコンテンツサーバ106にアセットC203を求めるリクエスト205を送信する。応答の際、コンテンツサーバ106はクライアントデバイスにアセットC203を送信する。クライアントデバイスはその後、符号208で示すように、キャッシュ122においてアセットAをアセットC203で置き換える。
その後、クライアントデバイス102は、符号210で示すように配信サーバ104からコンテンツスペースSp2に対するアセット情報を要求する。この例では、配信サーバは、アセットD207はネットワークアドレスCDNにあるコンテンツサーバ106から取得できることを示すレスポンスを送信する。符号214において、クライアントデバイスはアセットD207を求めるリクエスト209を送信する。クライアントデバイスは、コンテンツスペース用のアセット情報を求めるリクエストに対してリプライを受信しなかった場合は、当該スペース用のコンテンツを生成するためにキャッシュされたアセットを用いるようにしばしば構成される。しかし、クライアントデバイス102は一般には、キャッシュされたアセットが互いに一貫性があるかどうかを決定する方法はもたない。たとえば、アセットBとアセットCが使われ、符号216において表示されたならば、これらはコンフリクトする広告を生成する。しかし、こういった二つ以上のキャッシュされたコンテンツアセットがコンフリクトを生成することを決定するには、クライアントデバイス102は、コンフリクトするコンテンツを支配するルールをもってプログラムされなければならないであろう。潜在的にコンフリクトするアセットの数やコンフリクトリールの数は非常に大きくなるため、そのような解決手段を実装することはやっかいで難しい。ルールが時間とともに変化し、非常に多くのクライアントデバイスにルールを定期的に配信しなければならないならば、その困難さは一層増すことになる。
あるケースでは、クライアントデバイスは、他のコンテンツが利用可能でない場合(たとえば、他のコンテンツアセットがキャッシュ122に格納されていない場合)に表示することができる良性のコンテンツアセットを大容量ストレージデバイス124に格納していることがある。そのようなアセットは、他のコンテンツとコンフリクトがないようにあらかじめ構成された良性のコンテンツを生成する。たとえば、良性のコンテンツアセットEとFを使っても、決してコンフリクトを生じる広告は生成されない。たとえば、クライアントデバイス102はアセットEとFを使って、クライアントデバイス102の製造者を宣伝する広告を生成することができる。製造者は、そのような広告がコンフリクトを生じないということを他の広告主とあらかじめ合意している。残念ながら、そのような広告はクライアントデバイスの製造者にとって広告収入をもたらさない。したがって、絶対的に必要でない限り、良性のアセットを表示することを避けるのが望ましい。
上記の例は、キャッシュ一貫性管理の一般的な問題を説明する。この問題の性質は、上記の例からわかるように、クライアントデバイス上にキャッシュされたコンテンツアセットが、ネットワーク通信における頻繁な更新と断続的な中断のゆえに一貫性を失うことにある。キャッシュされたコンテンツアセットは多くの異なる方法で一貫性がなくなる。たとえば、キャッシュされたコンテンツアセットによって生成されるコンテンツは、単に期限切れになったり、もはや有効ではなくなるかもしれない。
キャッシュされたコンテンツアセットの一貫性がなくなる一つの状況は、ゲームのようなアプリケーションによってダウンロードが中断された場合に起こる。たとえば、多くのゲームは、新しいアセットをダウンロードするために固定の時間を与える。たとえば、ゲームは、ゲームコンテンツの次のレベルをブルーレイ(商標または登録商標)ドライブのような大容量デバイスからロードする間に、新しいアセットをダウンロードするのを許すだけかもしれない。いったんすべてのゲームコンテンツのダウンロードが終わると、ゲームはアセットのダウンロードを中断するかもしれない(ゲームがこの中断を実行するのをクライアントライブラリが許可するかもしれない)。これにより、アセットのダウンロードは、それが完了しているかどうかに関係なく、中断される。インターネット接続のダウンロード速度は大きく変わるため、クライアントデバイス102が異なれば、最新のアセットをダウンロードする時間も異なる。同じタイプ、たとえば特定のゲーム機の特定のモデルのすべてのクライアントデバイス102は、同じ速度でゲームコンテンツアセットをロードするのが普通であるが、あるクライアントデバイスがすべての新しいアセットをダウンロードすることに成功する一方、他のクライアントデバイスは、中断する前に最新のアセットの一部をダウンロードするだけに終わることがある。
キャッシュされたコンテンツアセットはまた、配信サーバ104またはコンテンツサーバ106のネットワーク負荷が重い場合にも一貫性がなくなる。サーバがクライアントデバイス102からのリクエストで過負荷であるとき、サーバは特定のクライアントデバイス102にとっては利用不可のように見える。その結果、配信サーバ104からのコンテンツ情報に対するリクエストまたはコンテンツサーバ106からのアセットに対するリクエストは、サーバでの高いネットワーク負荷のゆえにランダムに失敗することがある。
そのような問題を克服するために、本発明の実施の形態は、配信サーバを用いてクライアントデバイス上にキャッシュされたコンテンツアセットの一貫性を管理することのある態様を実装する。一例として、図2Bに示すように、配信サーバ104はメモリに格納された更新テーブル126を有する。更新テーブルは、各更新において異なるコンテンツスペースにどのコンテンツアセットが関連づけられているかを追跡するように構成されている。トークン値を各更新に関連づける。コンテンツがクライアントデバイス102上で更新される度に、配信サーバはその更新に関連づけられたトークン値をクライアントデバイスに送信する。更新テーブル126は、配信サーバ104がどのコンテンツアセットが現在クライアントデバイスのキャッシュ122に格納されているかを更新トークン値から決定するための情報を含む。たとえば、更新テーブルは、どのコンテンツアセットが特定のコンテンツスペース用にキャッシュされているかを各更新トークン値で示す複数のリストを含む。
一例として、更新テーブル126は以下の表1で示すように構成される。
配信サーバ104は、コンフリクトルール128の集合をメモリに格納する。コンフリクトルール128は、2以上のコンフリクトするコンテンツアイテムに対するアセットがクライアントデバイスのキャッシュ122に実質的に同時に格納されるのを防ぐように構成される。さらに、コンフリクトルール128は、クライアントデバイス102が2以上のコンフリクトするコンテンツアイテムを表示するのを防ぐように構成される。一例として、ルールは、以下の表2に示すように構成された1以上のコンフリクトテーブルをルックアップすることによって実装される。
表2で説明される例によれば、アセットCとアセットEはコンフリクトする。キャッシュにあるアセットの他のすべての組み合わせは許可される。簡単のため、アセットはそれ自身とはコンフリクトしないと仮定する。2次元のクロスリファレンステーブルを用いてアセットペア間のコンフリクトの概念を説明する。この概念は、3以上のアセットの組み合わせに対するコンフリクトルールを構築するために3次元以上のクロスリファレンステーブルに一般化することができる。
システム100用のコンフリクトルールは、キャンペーン管理サーバ110によって管理され、ネットワーク101上で配信サーバ104に配信される。キャンペーン管理サーバ110はまた定期的にコンフリクトルールを更新し、ネットワーク101経由で配信サーバにそのような更新を送信する。
本発明の実施の形態にしたがって、クライアントデバイス102上のキャッシュ122に格納されたコンテンツアセットの一貫性を図2Bで説明するように管理する。クライアントデバイス102と配信サーバ104は、たとえば適切なプログラミングによって、クライアントデバイス102が自分のキャッシュ122に格納されたコンテンツアセットを更新する前にキャッシュ一貫性管理を実行するように構成される。具体的には、クライアントデバイス102は一連のクライアント側オペレーション220を実装するようにプログラムされ、配信サーバ104は一連の配信側オペレーション24を実装するようにプログラムされる。具体的には、符号221で配信サーバ104に接続した後、クライアントデバイス102は、符号222に示すように配信サーバ104に更新トークン223を送信する。更新トークン223には、クライアントデバイス102が実行したか、実行しようとした最新の更新を示す値が関連づけられている。次に配信サーバ104は、符号242に示すように、更新トークン値223と更新テーブル126を用いてキャッシュ122に格納された1以上のコンテンツアセットを特定することができる。一例として、クライアントデバイス102が2のトークン値をもつトークン223を送信したとすると、配信サーバ104は更新テーブル126をルックアップし、キャッシュ122がコンテンツスペースSp1に対してアセットDを、コンテンツスペースSp2に対してアセットCをもっていることを判定する。
その後、符号244に示すように、配信サーバ104は、キャッシュ122に格納されたアセットのいずれかと、現在の更新に対するトークン値と更新テーブル126から決定される更新リストにおけるアセットのいずれかの間に潜在的なコンフリクトがあるかどうかを決定する。コンフリクトが存在すると判定された場合、符号246で配信サーバ104は、潜在的にコンフリクトする1以上のアセットをキャッシュ122から削除することによるコンフリクト解消を決定する。配信サーバ104は次にクライアントデバイス102にコンフリクトする1以上のアセットを削除するように命令248を送信する。命令248には現在の更新トークン値が含まれ、クライアントデバイス102は自分の更新トークン値をこの更新値にリセットする。命令248に応答してクライアントデバイス102は、符号224で示すように潜在的にコンフリクトするコンテンツアセットをキャッシュ122から削除する。クライアントデバイス102は、符号226に示すように削除が完了したことを配信サーバ104に通知する。応答において、配信サーバ104は更新信号250をクライアントデバイス102に送信する。更新信号250は、たとえば、図2Bに関して上述したやり方にならって、クライアントデバイス102にキャッシュ122のコンテンツアセットの更新に進むことを許可するように構成される。潜在的なコンフリクトが存在しないことが判定された場合、配信サーバ104は単に更新信号250をクライアントデバイス102に送信する。更新信号250はオプションとして現在のトークン値を含み、クライアントデバイス102はそれにしたがって自分の更新トークン値をリセットする。
一例として、配信サーバ104に対する現在の更新トークン値がトークン値4であると仮定する。更新テーブル126が表1のように構成されているならば、配信サーバ104は、この更新により、コンテンツスペースSp1に対してアセットEが、コンテンツスペースSp2に対してアセットAがキャッシュ122に置かれることになることを判定する。コンフリクトルール128がたとえば表2のように構成されているならば、配信サーバ104はコンフリクトルール128からアセットCとアセットEがコンフリクトし、アセットDがアセットEに置き換えられるが、アセットCがアセットAに置き換えられなかった場合に、潜在的なコンフリクトが存在することを判定する。したがって命令248はクライアントデバイス102にキャッシュ122からアセットCを削除するように命じる。
この方法でキャッシュ一貫性を管理する利点は、キャッシュ一貫性管理に続く更新の例から理解することができる。再び図2Bを参照して、クライアントデバイス102は、符号228に示すようにアセット情報に対するリクエストを配信サーバ104に送信する。配信サーバ104は符号252に示すようにアセット情報をもってリクエストに応答する。アセット情報は、たとえば上述のように、更新アセットと更新アセットの情報源を特定する。一例として、配信サーバは、更新テーブル126と現在の更新トークン値4から、クライアントデバイス102はアドレスCDNにあるコンテンツサーバ106からアセットE253を取得するべきであると判定する。配信サーバ104は、符号252に示すようにこの情報をクライアントデバイス102に中継する。符号230に示すように、クライアントデバイス102は次にこの情報を用いてアセットE253に対するリクエストをアドレスCDNにあるコンテンツサーバ106に送信する。応答において、コンテンツサーバ106はクライアントデバイス102にアセットE253を送信する。クライアントデバイス102は、符号258に示すようにキャッシュ122においてアセットDをアセットE253に置き換える。その後、クライアントデバイス102は、符号232に示すように配信サーバ104からコンテンツスペースSp2用のアセット情報を要求する。この例では、配信サーバは、アセットA257はネットワークアドレスCDNにあるコンテンツサーバ106から取得できることを示す応答を送信する。符号234において、クライアントデバイスはアセットA257に対するリクエスト259を送信する。クライアントデバイス102が、たとえばネットワークの停止などの理由でアセットAを受け取ることがない場合でも、アセットCとアセットEの間のコンフリクトの可能性は、符号224においてキャッシュ122からアセットCを前もって削除したことによって避けることができる。
上述のように、クライアントデバイス102は、キャッシュ122から削除されたコンテンツアセットを大容量ストレージ124からの良性のアセットで置き換えるように構成される。これにより、クライアントデバイス102は、ネットワークの停止が起きてもコンテンツスペースに表示するために何らかのコンテンツをキャッシュしておくことが保証される。たとえば、符号224でアセットCを削除した後、クライアントデバイス102はオプションとして、大容量ストレージデバイス124からの良性のアセットGをコンテンツスペースSp2用にキャッシュ122にコピーすることができる。クライアントデバイス102はその後、符号236に示すようにそれぞれアセットE、アセットGを用いて生成されたコンテンツスペースSp1、Sp2のコンテンツを表示することができる。
一例として、システム100のクライアントデバイス102は図3に示すように構成される。図3は、本発明の実施の形態に係るクライアントデバイス300の構成要素を説明するブロック図である。一例として、一般性を損なうことなく、クライアントデバイス300は、本発明の実施の形態を実施するのにふさわしい、パーソナルコンピュータ、ビデオゲーム機、パーソナルデジタル情報機器、または他のデジタルデバイスのようなコンピュータシステムとして実装される。クライアントデバイス300は、ソフトウェアアプリケーションとオプションとしてオペレーティングシステムを実行するように構成された中央演算処理装置(CPU)305を含む。CPU305は、1以上のプロセッサコアを含んでもよい。一例として限定するわけではないが、CPU305は、セルプロセッサのような並列プロセッサモジュールであってもよい。セルプロセッサアーキテクチャの例は、「セルブロードバンドエンジンアーキテクチャ」に詳細が記述されている。これは、IBM、ソニー・コンピュータエンタテインメント、東芝の2005年8月8日付けの著作権で保護されており、コピーはhttp://cell.scei.co.jp/からダウンロード可能であり、その内容全体を参照によってここに組み入れる。
メモリ306はCPU305に接続されており、メモリ306はCPU305によって使用されるアプリケーションとデータを格納する。メモリ306は、RAM、DRAM、ROM等の集積回路の形態であってもよい。コンピュータプログラム303はプロセッサ305上で実行可能な命令の形態でメモリ306に格納される。プログラム303の命令は、たとえば、図2のクライアントデバイスステップ210に関して上述したような補助コンテンツ配信の方法のあるステップを実装するように構成される。一例として、プログラム303は、調停サーバにコンタクトし、調停サーバから配信サーバのコンタクト先情報を受信し、インタラクティブ環境内の補助コンテンツスペース用の補助コンテンツ情報を求めるリクエストをもって配信サーバにコンタクトするための命令を含む。プログラム303は、インタラクティブ環境を実装するように構成された命令と連動して動作する。一例として、そのような命令は、ビデオゲームプログラムのようなメインプログラム307の一部である。クライアントデバイス300は、プログラム303の適切なプログラミングによって、クライアントデバイス300に対するリージョン識別子とビデオゲームプログラムのタイトルに対応する情報とを調停サーバに送信するように構成される。メインプログラムはプログラム303を関数またはサブルーチンとして呼び出してもよい。あるいは、メインプログラム307は仮想世界と相互作用するためのプログラムであってもよい。仮想世界は、譲受人が共通する米国特許出願第11/682,281号、第11/682,284号、第11/682,287号、第11/682,292号、第11/682,298号、および第11/682,299号に記述されており、そのすべての内容をここに参照により組み入れる。
クライアントデバイス300はまた、入出力(I/O)装置311、電源(P/S)312、クロック(CLK)313およびキャッシュ314などの公知のサポート機能310を備えてもよい。クライアントデバイス300はさらに、アプリケーションおよびデータ用の不揮発性のストレージを提供するストレージデバイス315を備えてもよい。ストレージデバイス315はコンテンツサーバからダウンロードされた補助コンテンツアセット316の一時的または長期的ストレージとして使われてもよい。一例としてストレージデバイス315は、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、テープドライブ、CD−ROM、DVD−ROM、ブルーレイ(商標または登録商標)、HD−DVD、UMD、その他の光学式ストレージデバイスであってもよい。
キャッシュ314は、メインメモリ306から切り離され、区別される容易にアクセス可能なメモリハードウェアコンポーネントである。そのような場合、キャッシュ314はしばしばハードウェアキャッシュと呼ばれる。メモリ306はまた、ソフトウェアキャッシュとしてしばしば参照される、予約された容易にアクセスできる領域309を含んでもよい。コンテンツアセット317はそのようなソフトウェアキャッシュに格納されてもよい。一例として、コンテンツアセット317は、広告コンテンツアセットのような補助的なコンテンツアセットであってもよい。たとえばストレージデバイス315がディスクドライブまたは格納されたデータを上書きすることのできる他のストレージデバイスであるような場合には、ソフトウェアキャッシュは、ストレージデバイス315の特別に予約された領域を用いて実装される。コンテンツアセット317はメインメモリ内のソフトウェアキャッシュ309に格納されるように示されているが、本発明の実施の形態では、コンテンツアセット317はハードウェアキャッシュ314に格納してもよく、ストレージデバイス315を用いて実装されたソフトウェアキャッシュ内に格納してもよい。
1以上のユーザからのユーザ入力をコンピュータクライアントデバイス300に伝えるために1以上のユーザ入力デバイス320が用いられてもよい。たとえば、1以上のユーザ入力デバイス320が、入出力装置311を介してクライアントデバイス300に接続されてもよい。適当な入力デバイス320の例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、ライトペン、スチル/ビデオカメラ、および/またはマイクロホンが含まれる。クライアントデバイス300は、電子通信ネットワーク327を介した通信を手助けするネットワークインタフェース325を含んでもよい。ネットワークインタフェース325は、ローカルエリアネットワークおよびインターネットのようなワイドエリアネットワーク上で有線または無線通信を実装するべく構成されてもよい。クライアントデバイス300はネットワーク327上で1以上のメッセージパケット326を用いて、データおよび/またはファイルに対するリクエストを送受信することができる。
クライアントデバイス300は、グラフィックプロセッシングユニット(GPU)335とグラフィックスメモリ340とを有するグラフィックス・サブシステム330を更に含む。グラフィックスメモリ340は、出力イメージの各画素に対する画素データを格納するために使われるディスプレイメモリ(例えばフレーム・バッファ)を含む。グラフィックスメモリ340は、GPU335と同じデバイス内に統合されてもよく、別のデバイスとしてGPU335に結合されてもよく、メモリ306内に実装されてもよい。画素データは、CPU305から直接グラフィックスメモリ340に提供される。あるいは、CPU305は、所望の出力イメージを定めるデータやインストラクションをGPU335に提供する。GPU335はそれを用いて出力イメージの画素データを生成する。GPU335は、ソフトウェアキャッシュ309またはハードウェアキャッシュ314に格納されたコンテンツアセット317を用いてそのような出力イメージのコンテンツの一部を生成する。所望出力イメージを定めるデータやインストラクションは、メモリ310やグラフィックスメモリ340に格納される。ある実施の形態では、GPU335は、例えば、適当なプログラミングまたはハードウェア・コンフィギュレーションによって構成され、シーンのためにジオメトリ、ライティング(照明)、シェーディング、テクスチャリング、モーション、および/またはカメラパラメータを定めるインストラクションとデータから出力イメージに対する画素データを生成するための3Dレンダリング機能をもつ。GPU335は、シェーダプログラムを実行することができるプログラム可能な実行ユニットを更に含む。
グラフィックス・サブシステム330は、表示装置350で表示されるべきグラフィックスメモリ340からのイメージに対する画素データを周期的に出力する。表示装置350は、クライアントデバイス300からの信号に応じてビジュアル情報を表示することができる任意のデバイスであり、CRT、LCD、プラズマ、およびOLEDディスプレイを含む。コンピュータクライアントデバイス300は、表示装置350にアナログまたはデジタル信号を提供する。一例として、表示装置350は、テキスト、数字、グラフィカルシンボル、または画像を表示するCRTまたはフラットパネルスクリーンを含む。そのようなコンテンツには、たとえばビデオゲームまたは仮想世界のようなシミュレートされた環境を表す1以上の画像が含まれる。そのような環境では、ユーザはアバタ354によって表現される。アバタの例は、たとえば譲受人が共通する米国特許出願第11/682,281号、第11/682,284号、第11/682,287号、第11/682,292号、第11/682,298号、第11/682,299号に記載されており、参照によりここに組み入れる。シミュレートされた環境は、補助コンテンツ358が表示される1以上の補助コンテンツスペース356を含む。補助コンテンツはキャッシュされたアセット317を用いて生成される。
さらに、ディスプレイ350は、可聴もしくは検知可能な音を出すオーディオスピーカーを含んでもよい。そのような音の生成を容易にするために、クライアントデバイス300は、CPU305、メモリ306、および/またはストレージ315によって提供されたインストラクションおよび/またはデータからアナログまたはデジタル音声出力を生成するために適したオーディオプロセッサ355を更に含む。
CPU305、メモリ306、支援機能310、データストレージデバイス315、ユーザ入力デバイス320、ネットワークインターフェース325、およびオーディオプロセッサ355を含むクライアントデバイス300の構成要素は、データバス360を介して互いに機能的に接続されている。これらの構成要素は、ハードウェア、ソフトウェアまたはファームウェア、あるいはこれらのうちの2つ以上の組合せで実装される。
一例として、調停サーバ400は図4に示すように構成される。一例として、一般性を損なうことなく、調停サーバ400はコンピュータシステムまたは他のデジタルデバイスとして実装される。調停サーバ400は、ソフトウェアアプリケーションとオプションとしてオペレーティングシステムを実行するように構成された中央演算処理装置(CPU)405を含む。CPU405は、1以上のプロセッサコアを含んでもよい。一例として限定するわけではないが、CPU405は、セルプロセッサのような並列プロセッサモジュールであってもよい。
メモリ406はCPU405に接続されており、メモリ406はCPU405によって使用されるアプリケーションとデータを格納する。メモリ406は、RAM、DRAM、ROM等の集積回路の形態であってもよい。コンピュータプログラム403はプロセッサ405上で実行可能な命令の形態でメモリ406に格納される。現在の更新値401はメモリ406に格納される。さらに、更新テーブル407およびキャッシュコンフリクトルール409はメモリ406に具体化される。一例として一般性を失うことなく、コンフリクトルールは、たとえば、表2に関して上述したようなルックアップテーブルとして実装される。プログラム403の命令は、たとえば図2Bの配信側オペレーション240に関して上述したようなキャッシュコンテンツ一貫性管理の方法のあるステップを実施するように構成される。具体的には、配信サーバ400は、たとえばプログラム403の適切なプログラミングによって、次のステップを実行するように構成される。a)クライアントデバイスから更新トークン値を受信し、b)前記更新トークン値と現在の更新トークン値401とを用いて、クライアントデバイスに関連づけられたキャッシュに格納された1以上のコンテンツアセットを特定し、c)キャッシュに格納された1以上のアセットのいずれかと、現在の更新トークン値と更新テーブルから決定された更新リストにおける1以上のアセットのいずれかの間に潜在的なコンフリクトが存在するかどうかを決定し、d)ステップc)においてコンフリクトが存在すると判定されたなら、クライアントデバイスのキャッシュから1以上の潜在的なコンフリクトするアセットを削除することによるコンフリクト解消を決定し、その1以上のコンフリクトするアセットを削除するようにクライアントデバイスに命令を送信し、および/または、e)ステップc)において潜在的なコンフリクトが存在しないと判定されたならば、クライアントデバイスにコンテンツアセットの更新に進むように通知する。コンフリクトの可能性は更新テーブル407とコンフリクトルール409を用いて決定される。
調停サーバ400はまた、入出力(I/O)装置411、電源(P/S)412、クロック(CLK)413およびキャッシュ414などの公知のサポート機能410を備えてもよい。調停サーバ400はさらに、アプリケーションおよびデータ用の不揮発性のストレージを提供するストレージデバイス415を備えてもよい。ストレージデバイス415は、配信サーバアドレスや暗号鍵のようなコンタクト先情報416の一時的または長期的ストレージとして使われてもよい。一例としてストレージデバイス415は、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、テープドライブ、CD−ROM、DVD−ROM、ブルーレイ(商標または登録商標)、HD−DVD、UMD、その他の光学式ストレージデバイスであってもよい。
1以上のユーザからのユーザ入力を調停サーバ400に伝えるために1以上のユーザ入力デバイス420が用いられてもよい。たとえば、1以上のユーザ入力デバイス420が、入出力装置411を介して調停サーバ400に接続されてもよい。適当な入力デバイス420の例には、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、ライトペン、スチル/ビデオカメラ、および/またはマイクロホンが含まれる。調停サーバ400は、電子通信ネットワーク427を介した通信を手助けするネットワークインタフェース425を含んでもよい。ネットワークインタフェース425は、ローカルエリアネットワークおよびインターネットのようなワイドエリアネットワーク上で有線または無線通信を実装するべく構成されてもよい。クライアントデバイス400はネットワーク427上で1以上のメッセージパケット426を用いて、データおよび/またはファイルに対するリクエストを送受信することができる。
CPU405、メモリ406、支援機能410、データストレージデバイス415、ユーザ入力デバイス420、およびネットワークインターフェース425を含む調停サーバの構成要素は、データバス460を介して互いに機能的に接続されている。これらの構成要素は、ハードウェア、ソフトウェアまたはファームウェア、あるいはこれらのうちの2つ以上の組合せで実装される。
本発明の実施の形態は、クライアントデバイス自身に管理上の過度の負担を与えることなく、クライアントデバイス上にキャッシュされたコンテンツアセットの一貫性の管理を容易にする。キャッシュ一貫性管理の責任をリモートサーバにオフロードし、トークン値を用いて更新を追跡し、更新に先立ってキャッシュ一貫性管理を実行することによって、本発明の実施の形態は潜在的にコンフリクトするコンテンツアセットのキャッシュを避けることができる。
本発明の好ましい実施の形態を完全な形で説明してきたが、いろいろな代替物、変形、等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決められるものではなく、請求項により決められるべきであり、均等物の全範囲も含まれる。ここで述べた特徴はいずれも、好ましいかどうかを問わず、他の特徴と組み合わせてもよい。請求項において、明示的に断らない限り、各項目は1またはそれ以上の数量である。請求項において「〜のための手段」のような語句を用いて明示的に記載する場合を除いて、請求項がミーンズ・プラス・ファンクションの限定を含むものと解してはならない。

Claims (46)

  1. キャッシュを有するクライアントデバイスにおいて、キャッシュされたコンテンツの一貫性を管理するためのコンピュータ実装された方法であって、
    キャッシュに格納された1以上のコンテンツアセットを更新する前に、
    a)配信サーバに更新トークン値を送信するステップと、
    b)前記配信サーバからの命令に応答して前記キャッシュから1以上のコンテンツのアセットを削除するステップと、
    c)前記配信サーバからの更新信号の受信に続いて前記キャッシュに格納された前記コンテンツアセットを更新するステップとを含むことを特徴とする方法。
  2. 前記配信サーバから新しい更新トークン値を受信するステップと、前記更新トークン値を前記新しい更新トークン値に変更するステップとをさらに含む請求項1の方法。
  3. ステップb)は、前記1以上のコンテンツアセットを前記キャッシュから削除した後、前記1以上のコンテンツアセットを削除したことを前記配信サーバに通知するステップをさらに含む請求項1の方法。
  4. ステップb)は、前記1以上のコンテンツを前記クライアントデバイスと関連づけられたストレージデバイス上に格納された1以上の対応する置換アセットに置き換えるステップをさらに含む請求項1の方法。
  5. ステップc)は、前記キャッシュに格納された前記コンテンツアセットへの更新を求める情報リクエストを前記配信サーバに送信するステップを含む請求項1の方法。
  6. ステップc)は、1以上の更新されたコンテンツアセットを特定する情報と、前記情報リクエストに応答して前記更新されたコンテンツアセットの1以上の対応する情報源を特定する情報とを受信するステップをさらに含む請求項5の方法。
  7. ステップc)は、前記1以上の情報源にアセットリクエストを送信するステップをさらに含み、前記アセットリクエストは、前記1以上の更新されたコンテンツアセットを特定する情報を含む請求項6の方法。
  8. ステップc)は、前記アセットリクエストに応答して前記1以上の情報源から前記1以上の更新されたコンテンツを受信するステップと、前記キャッシュに格納された1以上のコンテンツアセットを前記1以上の更新されたコンテンツアセットで置き換えるステップとをさらに含む請求項7の方法。
  9. 前記キャッシュされたコンテンツアセットは1以上の補助的なコンテンツアセットを含む請求項1の方法。
  10. 前記補助的なコンテンツアセットは1以上の広告コンテンツアセットを含む請求項9の方法。
  11. 前記キャッシュに格納された前記コンテンツアセットを用いて前記クライアントデバイスでコンテンツを表示するステップをさらに含む請求項1の方法。
  12. クライアントデバイスであって、
    プロセッサと、
    前記プロセッサに接続された、キャッシュを含むメモリと、
    前記プロセッサによって実行されるようにメモリに具体化された命令であって、キャッシュされたコンテンツの一貫性を管理するための方法を実装するように構成された命令とを含み、
    前記方法は、
    a)配信サーバに更新トークン値を送信するステップと、
    b)前記配信サーバからの命令に応答して前記キャッシュから1以上のコンテンツアセットを削除するステップと、
    c)前記配信サーバからの更新信号の受信に続いて前記キャッシュに格納された前記コンテンツアセットを更新するステップとを含むことを特徴とするクライアントデバイス。
  13. 前記キャッシュに格納されたコンテンツアセットは1以上の補助的なコンテンツアセットを含む請求項12のクライアントデバイス。
  14. 前記補助的なコンテンツアセットは1以上の広告コンテンツアセットを含む請求項13のクライアントデバイス。
  15. 前記キャッシュに格納された前記コンテンツアセットを用いてコンテンツを表示するように構成されたディスプレイをさらに含む請求項12のクライアントデバイス。
  16. 配信サーバにおいて、クライアントデバイス上のキャッシュに格納されたコンテンツアセットの一貫性を管理するためのコンピュータ実装された方法であって、
    a)クライアントデバイスから更新トークン値を受信するステップと、
    b)前記更新トークン値と前記配信サーバに関連づけられたメモリに格納された更新テーブルとを用いて前記キャッシュに格納された1以上のコンテンツアセットを特定するステップと、
    c)前記キャッシュに格納された前記1以上のアセットのいずれかと、現在の更新トークン値と前記更新テーブルから決定された更新リストにおける1以上のアセットのいずれかとの間に潜在的なコンフリクトが存在するかどうかを決定するステップと、
    d)ステップc)においてコンフリクトが存在すると判定されたならば、前記キャッシュから1以上の潜在的にコンフリクトするアセットを削除することによるコンフリクト解消を決定し、その1以上のコンフリクトするアセットを削除するように前記クライアントデバイスに命令を送信するステップと、
    e)ステップc)において潜在的なコンフリクトが存在しないと判定されたならば、前記クライアントデバイスに前記コンテンツアセットの更新に進むように通知するステップとを含むことを特徴とする方法。
  17. ステップd)またはステップe)は、前記クライアントデバイスに前記現在の更新トークン値を送信するステップをさらに含む請求項16の方法。
  18. ステップd)は、前記潜在的にコンフリクトするアセットが前記キャッシュから削除された旨の確認を前記クライアントデバイスから受信した後、前記クライアントデバイスに前記コンテンツアセットの更新に進むように通知するステップをさらに含む請求項16の方法。
  19. 前記コンテンツアセットは1以上の補助的なコンテンツアセットを含む請求項16の方法。
  20. 前記補助的なコンテンツアセットは1以上の広告コンテンツアセットを含む請求項19の方法。
  21. ステップd)またはe)の後、前記クライアントデバイスにコンテンツアセット更新情報を送信するステップをさらに含む請求項16の方法。
  22. 前記コンテンツアセット更新情報は、1以上の更新されたコンテンツアセットを特定する情報と、前記更新されたコンテンツアセットの1以上の対応する情報源を特定する情報とを含む請求項21の方法。
  23. ステップd)またe)の後、前記クライアントデバイスからの、前記キャッシュに格納された前記コンテンツアセットへの更新を求める情報リクエストに応答して、前記クライアントデバイスにコンテンツアセット更新情報を送信するステップをさらに含む請求項16の方法。
  24. ステップc)は、ステップb)で特定されたコンテンツアセットを、1以上のコンフリクトルールを用いて前記更新リストの前記アセットと比較するステップを含む請求項16の方法。
  25. 前記コンフリクトルールは、2以上のコンフリクトするコンテンツアイテムに対するアセットが実質的に同時に前記キャッシュに格納されるのを防ぐように構成される請求項24の方法。
  26. 前記コンフリクトルールは、前記クライアントデバイスが2以上のコンフリクトするコンテンツアイテムを表示するのを防ぐように構成される請求項24の方法。
  27. 前記コンフリクトルールは、前記クライアントデバイスが契約違反にある2以上のコンフリクトするコンテンツアイテムを表示するのを防ぐように構成される請求項24の方法。
  28. 配信サーバであって、
    プロセッサと、
    更新テーブルが具体化されたメモリと、
    前記プロセッサによって実行されるようにメモリ内に具体化された1以上の命令であって、クライアントデバイス上のキャッシュに格納されたコンテンツアセットの一貫性を管理するための方法を実装するように構成された命令とを含み、
    前記方法は、
    a)クライアントデバイスから更新トークン値を受信するステップと、
    b)前記更新トークン値と前記配信サーバに関連づけられたメモリに格納された更新テーブルとを用いて前記キャッシュに格納された1以上のコンテンツアセットを特定するステップと、
    c)前記キャッシュに格納された前記1以上のアセットのいずれかと、現在の更新トークン値と前記更新テーブルから決定された更新リストにおける1以上のアセットのいずれかとの間に潜在的なコンフリクトが存在するかどうかを決定するステップと、
    d)ステップc)においてコンフリクトが存在すると判定されたならば、前記キャッシュから1以上の潜在的にコンフリクトするアセットを削除することによるコンフリクト解消を決定し、その1以上のコンフリクトするアセットを削除するようにクライアントデバイスに命令を送信するステップと、
    e)ステップc)において潜在的なコンフリクトが存在しないと判定されたならば、前記クライアントデバイスに前記コンテンツアセットの更新に進むように通知するステップとを含むことを特徴とする配信サーバ。
  29. 前記コンテンツアセットは、1以上の補助的なコンテンツアセットを含む請求項25の配信サーバ。
  30. 前記補助的なコンテンツアセットは1以上の広告コンテンツアセットを含む請求項26の配信サーバ。
  31. 前記更新テーブルは複数のアセットリストを含み、各アセットリストは、対応する更新トークン値において前記クライアントデバイスに送信すべき1以上のアセットを特定する請求項25の配信サーバ。
  32. メモリ内に具体化された1以上のコンフリクトルールをさらに含み、ステップc)は、ステップb)において特定されたコンテンツアセットを、前記1以上のコンフリクトルールを用いて前記更新リストの前記アセットと比較するステップを含む請求項25の配信サーバ。
  33. 1以上のクライアントデバイスと、ネットワークを介して前記1以上のクライアントデバイスと通信するように構成された配信サーバとを含むシステムにおいて、クライアントデバイス上のキャッシュに格納されたコンテンツアセットの一貫性を管理するための方法であって、
    a)前記クライアントデバイスに対する更新トークン値を前記配信サーバに送信するステップと、
    b)前記更新トークン値と前記配信サーバに関連づけられたメモリに格納された更新テーブルとを用いて前記キャッシュに格納された1以上のコンテンツアセットを特定するステップと、
    c)前記キャッシュに格納された前記1以上のアセットのいずれかと、現在の更新トークン値と前記更新テーブルから決定された更新リストにおける1以上のアセットのいずれかとの間に潜在的なコンフリクトが存在するかどうかを前記配信サーバが決定するステップと、
    d)ステップc)においてコンフリクトが存在すると判定されたならば、前記キャッシュから1以上の潜在的にコンフリクトするアセットを削除することによるコンフリクト解消を決定し、その1以上のコンフリクトするアセットを削除するように前記配信サーバから前記クライアントデバイスに命令を送信し、前記配信サーバからの前記命令に応答して前記クライアントデバイスが前記キャッシュから1以上の潜在的にコンフリクトするアセットを前記キャッシュから削除するステップと、
    e)ステップc)において潜在的なコンフリクトが存在しないと判定されたならば、前記配信サーバから前記クライアントデバイスに、前記クライアントデバイスが前記コンテンツアセットの更新に進むことを許可するように構成された更新信号を送信するステップと、
    f)前記キャッシュに格納された前記コンテンツアセットを更新するステップとを含むことを特徴とする方法。
  34. ステップd)またはe)は、前記配信サーバから前記クライアントデバイスに前記現在の更新トークン値を送信するステップと、前記更新トークン値を前記現在の更新トークン値に変更するステップとをさらに含む請求項33の方法。
  35. ステップd)は、前記キャッシュから前記1以上のコンテンツアセットを削除した後、前記クライアントデバイスから前記配信サーバに、前記1以上のコンテンツアセットを削除した旨を示すメッセージを送信するステップをさらに含む請求項33の方法。
  36. ステップd)は、前記1以上のコンテンツを、前記クライアントデバイスに関連づけられたストレージデバイス上に格納された1以上の対応する置換アセットで置き換えるステップをさらに含む請求項33の方法。
  37. ステップf)は、ステップd)またはe)の後、前記クライアントデバイスから前記配信サーバに前記キャッシュに格納された前記コンテンツアセットへの更新を求める情報リクエストを送信するステップを含む請求項33の方法。
  38. ステップf)は、前記情報リクエストに応答して、前記配信サーバから前記クライアントデバイスにコンテンツアセット更新情報を送信するステップをさらに含む請求項37の方法。
  39. ステップf)は、前記コンテンツアセット更新情報を含むアセットリクエストを前記1以上の情報源に送信するステップをさらに含む請求項38の方法。
  40. 前記キャッシュに格納された前記コンテンツアセットを用いて前記クライアントデバイスでコンテンツを表示するステップをさらに含む請求項33の方法。
  41. ステップd)またはe)は、前記配信サーバから前記クライアントデバイスに前記現在の更新トークン値を送信するステップをさらに含む請求項33の方法。
  42. ステップd)は、前記潜在的にコンフリクトするアセットを前記キャッシュから削除した旨の確認を前記配信サーバが前記クライアントデバイスから受信した後、前記配信サーバから前記クライアントデバイスに前記更新信号を送信するステップをさらに含み、前記メッセージは、前記クライアントデバイスが前記コンテンツアセットの更新に進むように命令するように構成される請求項33の方法。
  43. 前記コンテンツアセットは1以上の補助的なコンテンツアセットを含む請求項33の方法。
  44. 前記補助的なコンテンツアセットは1以上の広告コンテンツアセットを含む請求項33の方法。
  45. ステップc)は、ステップb)で特定されたコンテンツアセットを、1以上のコンフリクトルールを用いて前記更新リストの前記アセットと比較するステップを含む請求項33の方法。
  46. キャッシュされたコンテンツの一貫性管理システムであって、
    更新テーブルが具体化されたメモリを有する配信サーバと、
    キャッシュを有するクライアントデバイスとを含み、
    前記クライアントデバイスと前記配信サーバは、ネットワークを介して互いに通信するように構成され、
    前記配信サーバは、
    1)クライアントデバイスから更新トークン値を受信するステップと、
    2)前記更新トークン値と前記更新テーブルとを用いて前記キャッシュに格納された1以上のコンテンツアセットを特定するステップと、
    3)前記キャッシュに格納された前記1以上のアセットのいずれかと、現在の更新トークン値と前記更新テーブルから決定された更新リストにおける1以上のアセットのいずれかとの間に潜在的なコンフリクトが存在するかどうかを決定するステップと、
    4)ステップ3)においてコンフリクトが存在すると判定されたならば、前記キャッシュから1以上の潜在的にコンフリクトするアセットを削除することによるコンフリクト解消を決定し、その1以上のコンフリクトするアセットを削除するように前記クライアントデバイスに命令する削除命令を前記クライアントデバイスに送信するステップと、
    5)ステップ3)において潜在的なコンフリクトが存在しないと判定されたならば、前記クライアントデバイスに前記コンテンツアセットの更新に進むように命令する更新信号を前記クライアントデバイスに送信するステップとを実行するように構成され、
    各クライアントデバイスは、
    a)配信サーバに前記更新トークン値を送信するステップと、
    b)前記配信サーバからの削除命令に応答して前記キャッシュから1以上のコンテンツアセットを削除するステップと、
    c)前記配信サーバからの更新信号を受信すると、前記キャッシュに格納された前記コンテンツアセットを更新するステップとを実行するように構成されることを特徴とするシステム。
JP2010511382A 2007-06-06 2008-06-06 キャッシュされたコンテンツの一貫性管理 Active JP5474776B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/759,155 2007-06-06
US11/759,155 US20080307412A1 (en) 2007-06-06 2007-06-06 Cached content consistency management
PCT/US2008/066181 WO2008154424A1 (en) 2007-06-06 2008-06-06 Cached content consistency management

Publications (2)

Publication Number Publication Date
JP2010530103A true JP2010530103A (ja) 2010-09-02
JP5474776B2 JP5474776B2 (ja) 2014-04-16

Family

ID=40097072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010511382A Active JP5474776B2 (ja) 2007-06-06 2008-06-06 キャッシュされたコンテンツの一貫性管理

Country Status (4)

Country Link
US (1) US20080307412A1 (ja)
EP (1) EP2156297B1 (ja)
JP (1) JP5474776B2 (ja)
WO (1) WO2008154424A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016538669A (ja) * 2013-10-04 2016-12-08 アカマイ テクノロジーズ インコーポレイテッド 通知ベースの無効化を伴うコンテンツのキャッシングのためのシステム及び方法
JP2017504227A (ja) * 2013-11-01 2017-02-02 エリクソン エービー コンテンツ配信ネットワークにおいてアダプティブビットレート(abr)アセットを事前プロビジョニングするためのシステムおよび方法
US10404820B2 (en) 2013-10-04 2019-09-03 Akamai Technologies, Inc. Systems and methods for controlling cacheability and privacy of objects

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US8656384B2 (en) * 2007-06-22 2014-02-18 Red Hat, Inc. Standardized software application configuration
US9731202B2 (en) * 2007-06-26 2017-08-15 Gosub 60, Inc. Methods and systems for updating in-game content
US8370829B2 (en) * 2007-08-31 2013-02-05 Red Hat, Inc. Post-install configuration for applications
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US8416247B2 (en) 2007-10-09 2013-04-09 Sony Computer Entertaiment America Inc. Increasing the number of advertising impressions in an interactive environment
US8875259B2 (en) * 2007-11-15 2014-10-28 Salesforce.Com, Inc. On-demand service security system and method for managing a risk of access as a condition of permitting access to the on-demand service
JP5005527B2 (ja) * 2007-12-27 2012-08-22 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ管理方法
US8681144B2 (en) * 2008-12-19 2014-03-25 International Business Machines Corporation Prioritized rendering of objects in a virtual universe
US9805492B2 (en) * 2008-12-31 2017-10-31 International Business Machines Corporation Pre-fetching virtual content in a virtual universe
WO2010094872A1 (fr) * 2009-02-20 2010-08-26 France Telecom Interfacage d'un appareil avec un reseau
US8990306B2 (en) 2009-05-28 2015-03-24 International Business Machines Corporation Pre-fetching items in a virtual universe based on avatar communications
US8126987B2 (en) * 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8825962B1 (en) 2010-04-20 2014-09-02 Facebook, Inc. Push-based cache invalidation notification
US8707296B2 (en) * 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
EP2823642B1 (en) 2012-03-09 2024-04-24 InterDigital Madison Patent Holdings, SAS Distributed control of synchronized content
US9231972B2 (en) * 2012-11-13 2016-01-05 Tencent Technology (Shenzhen) Company Limited Malicious website identifying method and system
US9756288B2 (en) 2013-04-10 2017-09-05 Thomson Licensing Tiering and manipulation of peer's heads in a telepresence system
WO2014204459A1 (en) 2013-06-20 2014-12-24 Thomson Licensing System and method to assist synchronization of distributed play out of control
US20150312643A1 (en) * 2014-04-24 2015-10-29 Thomson Licensing Advertising sponsorships in a telepresence environment
CN110866036B (zh) * 2019-11-15 2023-02-10 腾讯科技(深圳)有限公司 数据处理方法、系统、装置、终端及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175470A (ja) * 2000-12-07 2002-06-21 Cyber Communications Inc インターネット用広告競合回避システム
JP2002334033A (ja) * 2001-05-07 2002-11-22 Ntt Docomo Inc 情報配信方法、システム、装置、及びプログラム、並びに記録媒体
JP2003323142A (ja) * 2002-05-02 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> 広告情報提供方法及びシステム及び端末及びサーバ及び広告情報提供プログラム及び広告情報提供プログラムを格納した記憶媒体
JP2005056420A (ja) * 2003-08-01 2005-03-03 Microsoft Corp キャッシュに格納されたオブジェクトを管理するためのシステムおよび方法
WO2005033955A1 (ja) * 2003-09-30 2005-04-14 Sony Corporation コンテンツ取得方法
JP2005251137A (ja) * 2004-03-08 2005-09-15 Sony Ericsson Mobilecommunications Japan Inc コンテンツ閲覧システム、通信制御ユニット、携帯通信端末及びコンテンツ閲覧方法
JP2005250493A (ja) * 2005-03-22 2005-09-15 Hitachi Ltd 遠隔教育システム
US20060272031A1 (en) * 2005-05-24 2006-11-30 Napster Llc System and method for unlimited licensing to a fixed number of devices

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
US7171480B2 (en) * 2001-01-29 2007-01-30 Sony Computer Entertainment America Inc. Method and system for providing auxiliary content located on local storage during download/access of primary content over a network
US8574074B2 (en) * 2005-09-30 2013-11-05 Sony Computer Entertainment America Llc Advertising impression determination
JP4040117B2 (ja) * 1995-06-30 2008-01-30 ソニー株式会社 ゲーム機及びゲーム機制御方法
US7047302B1 (en) * 1999-12-02 2006-05-16 Sony Corporation Entertainment America Inc. Method and system for enabling optional customer election of auxiliary content provided on detachable local storage media during access of primary content over a network and for collecting data concerning viewed auxiliary content
US7895076B2 (en) * 1995-06-30 2011-02-22 Sony Computer Entertainment Inc. Advertisement insertion, profiling, impression, and feedback
US6167567A (en) * 1998-05-05 2000-12-26 3Com Corporation Technique for automatically updating software stored on a client computer in a networked client-server environment
EP1076871A1 (en) * 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US8843590B2 (en) * 2000-05-31 2014-09-23 Ebm/Ip, Llc Systems, methods and computer program products for facilitating display of content within application programs executing on electronic devices
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US8751310B2 (en) * 2005-09-30 2014-06-10 Sony Computer Entertainment America Llc Monitoring advertisement impressions
JP2002329095A (ja) * 2001-02-26 2002-11-15 Futoshi Kamiyama 広告代理方法及び広告代理仲介システム
JP3236603B1 (ja) * 2001-02-28 2001-12-10 コナミ株式会社 家庭用ゲーム等のゲーム広告課金システム及びプログラム
CN1290027C (zh) * 2001-08-27 2006-12-13 皇家飞利浦电子股份有限公司 高速缓存方法
US20040001476A1 (en) * 2002-06-24 2004-01-01 Nayeem Islam Mobile application environment
US20070260517A1 (en) * 2006-05-08 2007-11-08 Gary Zalewski Profile detection
US20070261077A1 (en) * 2006-05-08 2007-11-08 Gary Zalewski Using audio/visual environment to select ads on game platform
US20070061413A1 (en) * 2005-09-15 2007-03-15 Larsen Eric J System and method for obtaining user information from voices
US7574731B2 (en) * 2002-10-08 2009-08-11 Koolspan, Inc. Self-managed network access using localized access management
US20050149401A1 (en) * 2004-01-07 2005-07-07 Ratcliffe Paul L. System and method for an intellectual property collaboration network
US20060080702A1 (en) * 2004-05-20 2006-04-13 Turner Broadcasting System, Inc. Systems and methods for delivering content over a network
US20060105841A1 (en) * 2004-11-18 2006-05-18 Double Fusion Ltd. Dynamic advertising system for interactive games
US20060135234A1 (en) * 2004-12-17 2006-06-22 Dhananjay Godse System and method for automatically enabling and disabling advertising in video games
US8246464B2 (en) * 2004-12-17 2012-08-21 Google Inc. Caching and reporting system for accelerating combined computer gaming and advertising
US20060168578A1 (en) * 2005-01-21 2006-07-27 U-Turn Media Corporation Methods and systems for managing a mobile client in a client-server system connected via a public network
US20070072676A1 (en) * 2005-09-29 2007-03-29 Shumeet Baluja Using information from user-video game interactions to target advertisements, such as advertisements to be served in video games for example
US8626584B2 (en) * 2005-09-30 2014-01-07 Sony Computer Entertainment America Llc Population of an advertisement reference list
US8566865B2 (en) * 2006-03-07 2013-10-22 Sony Computer Entertainment America Llc Dynamic insertion of cinematic stage props in program content
US8549554B2 (en) * 2006-03-07 2013-10-01 Sony Computer Entertainment America Llc Dynamic replacement of cinematic stage props in program content
US20070239661A1 (en) * 2006-03-28 2007-10-11 Sun Microsystems, Inc. Systems and methods for a distributed in-memory database and distributed cache
US20070255630A1 (en) * 2006-04-17 2007-11-01 Gary Zalewski System and method for using user's visual environment to select advertising
US20070243930A1 (en) * 2006-04-12 2007-10-18 Gary Zalewski System and method for using user's audio environment to select advertising
US20070244751A1 (en) * 2006-04-17 2007-10-18 Gary Zalewski Using visual environment to select ads on game platform
US20080255927A1 (en) * 2007-04-12 2008-10-16 Peter Sispoidis Forecasting
US8416247B2 (en) * 2007-10-09 2013-04-09 Sony Computer Entertaiment America Inc. Increasing the number of advertising impressions in an interactive environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175470A (ja) * 2000-12-07 2002-06-21 Cyber Communications Inc インターネット用広告競合回避システム
JP2002334033A (ja) * 2001-05-07 2002-11-22 Ntt Docomo Inc 情報配信方法、システム、装置、及びプログラム、並びに記録媒体
JP2003323142A (ja) * 2002-05-02 2003-11-14 Nippon Telegr & Teleph Corp <Ntt> 広告情報提供方法及びシステム及び端末及びサーバ及び広告情報提供プログラム及び広告情報提供プログラムを格納した記憶媒体
JP2005056420A (ja) * 2003-08-01 2005-03-03 Microsoft Corp キャッシュに格納されたオブジェクトを管理するためのシステムおよび方法
WO2005033955A1 (ja) * 2003-09-30 2005-04-14 Sony Corporation コンテンツ取得方法
JP2005251137A (ja) * 2004-03-08 2005-09-15 Sony Ericsson Mobilecommunications Japan Inc コンテンツ閲覧システム、通信制御ユニット、携帯通信端末及びコンテンツ閲覧方法
JP2005250493A (ja) * 2005-03-22 2005-09-15 Hitachi Ltd 遠隔教育システム
US20060272031A1 (en) * 2005-05-24 2006-11-30 Napster Llc System and method for unlimited licensing to a fixed number of devices

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016538669A (ja) * 2013-10-04 2016-12-08 アカマイ テクノロジーズ インコーポレイテッド 通知ベースの無効化を伴うコンテンツのキャッシングのためのシステム及び方法
US10404820B2 (en) 2013-10-04 2019-09-03 Akamai Technologies, Inc. Systems and methods for controlling cacheability and privacy of objects
US10547703B2 (en) 2013-10-04 2020-01-28 Akamai Technologies, Inc. Methods and systems for caching content valid for a range of client requests
JP2017504227A (ja) * 2013-11-01 2017-02-02 エリクソン エービー コンテンツ配信ネットワークにおいてアダプティブビットレート(abr)アセットを事前プロビジョニングするためのシステムおよび方法

Also Published As

Publication number Publication date
EP2156297A1 (en) 2010-02-24
EP2156297A4 (en) 2016-08-24
WO2008154424A1 (en) 2008-12-18
JP5474776B2 (ja) 2014-04-16
EP2156297B1 (en) 2018-12-26
US20080307412A1 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
JP5474776B2 (ja) キャッシュされたコンテンツの一貫性管理
US10937067B2 (en) System and method for item inquiry and information presentation via standard communication paths
US20090300144A1 (en) Hint-based streaming of auxiliary content assets for an interactive environment
JP5744105B2 (ja) 対話型環境において広告印象の数を増やす方法
US9878240B2 (en) Add-on management methods
US20090132435A1 (en) Popularity based licensing of user generated content
JP2009516549A (ja) 対話式ゲーム用動的広告システム
US20130278734A1 (en) Method and system for generating dynamic ads within a video game of a portable computing device
JP2008077173A (ja) コンテンツ表示処理装置およびコンテンツ内広告表示方法
CN105721608A (zh) 用于处理器可执行内容的传送的方法和系统
US20080307103A1 (en) Mediation for auxiliary content in an interactive environment
JP2012532396A (ja) 媒体内に埋め込まれた広告への視聴者注意の誘導
JP6450877B1 (ja) 広告サーバおよび広告配信プログラム
JP2002258785A (ja) 家庭用ゲーム等のゲーム広告課金システム、プログラム及びゲーム広告課金制御方法
US20080065487A1 (en) Contextual content rendering
JP2002259824A (ja) ゲーム広告課金システム、プログラム及びゲーム広告課金方法
JP2002358462A (ja) ゲーム広告課金システム及びゲーム広告課金方法
US11801441B2 (en) Server-side gaming method and system for the delivery of remotely-rendered content comprising impression content
JP2002259823A (ja) 家庭用ゲーム等のゲーム広告課金システム、プログラム及びゲーム広告課金方法
WO2013001757A1 (ja) コンピュータ読み取り可能な媒体、情報処理装置および情報処理システム
KR20050109096A (ko) 온라인 상의 아이템 관리 방법 및 시스템

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101126

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131101

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140205

R150 Certificate of patent or registration of utility model

Ref document number: 5474776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250