JP5006348B2 - 応答出力キャッシュに対するマルチキャッシュ協調 - Google Patents

応答出力キャッシュに対するマルチキャッシュ協調 Download PDF

Info

Publication number
JP5006348B2
JP5006348B2 JP2008558274A JP2008558274A JP5006348B2 JP 5006348 B2 JP5006348 B2 JP 5006348B2 JP 2008558274 A JP2008558274 A JP 2008558274A JP 2008558274 A JP2008558274 A JP 2008558274A JP 5006348 B2 JP5006348 B2 JP 5006348B2
Authority
JP
Japan
Prior art keywords
cache
data
cached
caches
computer
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.)
Active
Application number
JP2008558274A
Other languages
English (en)
Other versions
JP2009529183A5 (ja
JP2009529183A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2009529183A publication Critical patent/JP2009529183A/ja
Publication of JP2009529183A5 publication Critical patent/JP2009529183A5/ja
Application granted granted Critical
Publication of JP5006348B2 publication Critical patent/JP5006348B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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

Description

本発明は、応答出力キャッシュに対するマルチキャッシュ協調を実施する方法およびシステムに関する。
コンピュータおよびコンピューティングシステムは現代の生活のほぼ全ての側面に影響を及ぼしている。コンピュータは一般に仕事、レクリエーション、ヘルスケア、運輸、娯楽、家庭管理、等に関与している。コンピュータの機能性はまた、その能力が強化され、様々なネットワーク接続を通して相互接続されるようになってきている。
コンピューティングシステムは他システムからデータを要求することができる。このデータを多数の様々な方法で取得することができる。例えば、データベースまたは他のデータストアのような収納場所からデータを取り出すことで、データを取得することができる。また、データを提供するシステムにより、データを動的に生成することもできる。例えば、ワシントン州レドモンドの本件特許出願人から入手可能なasp(active server page).NETは、ウェブページデータを動的に作成するためのツールを含む。通常のウェブサーバでさえも、ウェブページ要求内の引数に基づいて、カスタマイズされたウェブページデータを提供するウェブページ要求を用いて引数を受信する機能性を含む。
コンピューティングシステムの性能を増大させる1つの方法は、要求データを出力キャッシュすることである。キャッシュは、最近の要求データを、同一データに対する後続の要求があるときに迅速に取り出せる位置に格納することを含む。例えば、データを非常に迅速に取り出せるように、データをコンピュータシステムの物理メモリにキャッシュすることができる。
キャッシュデータを格納および保持する方法を決定するために様々なキャッシュアルゴリズムが作成されている。例えば、FIFO(first in first out)は先入れ先出しの頭字語である。この方式では、データはキャッシュ位置にキャッシュされ、追加のキャッシュ項目に対する場所を作成する必要がある場合、最も古い項目がキャッシュから削除される。他の方式は予測フィルタを使用して、キャッシュ対象およびキャッシュ時間を決定する。
コンピュータシステムの個々のコンポーネントはそれぞれ自身のキャッシュコンポーネントを有することがよくある。例えば、ウェブサーバのコンテキストでは、そのスタックの底にオペレーティングシステムを有するスタックが存在し、ウェブサーバがオペレーティングシステムの上にあり、アプリケーションがウェブサーバの上にある。この1つの例は、asp.NETフレームワークをホストするIIS(internet information server)サーバをホストするWindows(登録商標)オペレーティングシステムであり、その全てはワシントン州レドモンドの本件特許出願人から入手可能である。オペレーティングシステム、ウェブサーバ、およびアプリケーションの各々はそれぞれ自身のキャッシュを含む。
データをクライアントに提供するよう協働するときに、これらの個々のコンポーネントの各々がデータをキャッシュする場合、冗長なキャッシュが実施される可能性がある。この結果、リソースが浪費される恐れがある。例えば、冗長なキャッシュ項目を物理メモリに保持することで、他の項目のキャッシュに利用可能な物理メモリの量が大幅に減少する。
本明細書で主張する主題は、任意の欠点を解決する実施形態または上述したもののような環境でのみ動作する実施形態に限定されない。むしろ、本背景は、本明細書で説明した幾つかの実施形態を実施可能な1つの例示的な技術を示すために与えるに過ぎない。
一実施形態はデータのキャッシュ方法に関する。本方法は、例えば、データをクライアントシステムに提供するサーバシステムを含むコンピューティング環境で実施することができる。サーバシステムは、データを格納する多数のキャッシュを含む。本方法により、クライアントが要求したデータを最小コストのキャッシュが最初にキャッシュすることができる。本方法は、キャッシュにキャッシュすべきデータを受信することを含む。本方法はさらに、データが以前に先行キャッシュでキャッシュされていなかったことを判定することを含む。データが以前に先行キャッシュでキャッシュされていなかった場合、データをそのキャッシュにキャッシュする。
本明細書で説明する別の実施形態は、キャッシュからデータを取り出すことに関する。本方法を、例えば、データをクライアントシステムに提供するサーバシステムを含むコンピューティング環境で実施することができる。サーバシステムは、データを格納するための多数のキャッシュを含む。本方法により、データをコストの低いキャッシュから最初に取り出すことができる。本方法は、キャッシュにおいてデータに対する要求を受信することを含む。本方法はさらにキャッシュでデータが利用可能であるかどうかを判定することを含む。キャッシュでデータが利用可能である場合、その要求されたデータが返却される。キャッシュでデータが利用可能でない場合、その要求を後続キャッシュに転送する。
本明細書で説明する別の実施形態は、多数のデータ構造を格納したコンピュータ可読媒体に関する。その多数のデータ構造は多数のキャッシュを含む。その多数のキャッシュは、第1の速度を有する第1のキャッシュと、第1のキャッシュに続いて結合された第2のキャッシュとを含む。第2のキャッシュは、第1のキャッシュより低速な第2の速度を有する。第1のキャッシュに続くように接続することで、第1のキャッシュはデータとデータ要求とを第2のキャッシュの前に受信する。データ構造はさらにポリシー・オブジェクトを含む。ポリシー・オブジェクトは複数のキャッシュに対する設定を定義する。
本要約は選択した概念を簡潔な形で導入するために与える。その概念を「発明を実施するための最良の形態」でさらに後述する。本要約は特許請求主題の主要な特徴または本質的な特徴を特定するようには意図しておらず、特許請求主題の範囲の決定を支援するものとしても意図していない。
さらなる特徴および利点を以下の記述で説明し、それらはその記述から部分的に明らかになるであろう。または、それらを本明細書の教示を実施することで習得することができる。本発明の特徴および利点を、特に添付請求項で指摘した手段およびそれらの組み合わせにより理解および取得することができる。本発明の特徴は、以下の記述および添付請求項からより完全に明らかとなり、または以降説明する本発明の実施により習得することができる。
上述並びに他の利点および特徴を取得可能な方法を説明するため、簡潔に上述した主題のより詳細な説明を添付図面で示した具体的な実施形態を参照して行う。これらの図面は一般的な実施形態を示すに過ぎず、従って範囲を限定すると考えるべきではないことを理解し、添付図面の使用を通して実施形態をさらに具体的および詳細に記述および説明する。
本明細書の実施形態は、以下でさらに詳細に説明するように様々なコンピュータハードウェアを含む専用または汎用のコンピュータを備えることができる。
本明細書で説明する一実施形態は、キャッシュを互いに階層方式で接続したキャッシュ・トポロジを含む。そのトポロジでは、最高速および/または最小コストのキャッシュが最初にアクセスされて、データのキャッシュまたはキャッシュデータの取り出しのいずれかを行う。特定のキャッシュが所与のデータ集合をキャッシュできない場合、またはその所与のデータ集合がキャッシュで利用可能でない場合には、データまたはデータ要求を後続キャッシュに渡す。後続キャッシュはより低速またはよりコストが高くてもよいが、所与のデータ集合をキャッシュするための機能性を含むことができる。本キャッシュ・トポロジは、階層方式で接続した任意の適切な数のキャッシュを含むことができ、より低速および/またはよりコストが高いキャッシュの前により高速および/またはよりコストが低いキャッシュにアクセスすることができる。
一実施形態では、キャッシュすべきデータを定義するポリシー情報が、階層内のキャッシュに対して利用可能である。従って、階層内のキャッシュはポリシー情報を参照することができ、それとともに、所与のデータ集合をキャッシュにキャッシュすべきかどうかを判定する際にキャッシュの個々の能力にアクセスすることができる。
図1を参照すると、キャッシュ・トポロジ100が多数のキャッシュ102−1、102−2、および102−Nを階層的配置で含む例を示してある。図示した例では、キャッシュデータ104またはキャッシュすべきデータ106に対する要求を第1のキャッシュ102−1に送信することができる。説明の簡潔さのため、第1の例を、データ106が第1のキャッシュ102−1に送信される場合に対して与える。データ106が第1のキャッシュ102−1に送信されるとき、第1のキャッシュ102−1は、送信されているデータタイプを判定することができる。第1のキャッシュ102−1は次いでポリシー情報108を参照して、データ106がキャッシュされるべきかどうかを判定することができる。データ106がキャッシュされるべきである場合、第1のキャッシュ102−2は次いで、キャッシュするデータに対する自身の能力を評価することができる。データ106がキャッシュ102−1でキャッシュ可能なタイプである場合、データ106は第1のキャッシュ102−1でキャッシュされる。
他方、データがキャッシュ102−1によってキャッシュされることが可能なタイプでない場合、そのデータを第2のキャッシュ102−2に転送する。第2のキャッシュ102−2は、ポリシー情報108を参照してデータ106をキャッシュすべきかどうかを判定すること、および自身の能力を評価してデータ106をキャッシュできるかどうかを判定することのように、第1のキャッシュ102−1が実施するものと同様なアクションを実施する。本プロセスを、キャッシュがデータ106をキャッシュするかまたはデータ106を与えた後にデータ106をキャッシュするキャッシュがなくなるまで、省略記号および102−Nで表した他のキャッシュに対して継続することができる。
同様なプロセスを、データの取り出しに対して実施することができる。例えば、キャッシュデータ104に対する要求を第1のキャッシュ102−1に送信することができる。第1のキャッシュ102−1がキャッシュデータを有する場合、そのキャッシュデータは第1のキャッシュ102−1から返却される。第1のキャッシュ102−1がキャッシュデータを有さない場合、第1のキャッシュ102−1はキャッシュデータ104に対する要求を第2のキャッシュ102−2に渡す。本プロセスを、省略記号および102−Nにより表したキャッシュを通して継続することができる。
前述のように、最高速および/または最小コストのキャッシュは、後続キャッシュがより低速および/またはコストがより高いキャッシュである第1のキャッシュ102−1であることができる。例えば、一実施形態では、第1のキャッシュ102−1は、ウェブサーバのような低レベルのコンポーネントに対するキャッシュで可能である。第2のキャッシュ102−2は、例えば、ワシントン州レドモンドの本件特許出願人から入手可能なASP.NETのようなアプリケーションレベルコンポーネントのような高レベルのコンポーネントに対するキャッシュで可能である。本例では、第1のキャッシュ102−1はネイティブキャッシュ(native cache)で可能であり、第2のキャッシュ102−2はマネージキャッシュ(managed cache)で可能である。ネイティブキャッシュは一般にマネージキャッシュより高速であり、よりコストが低い。
前述のように、図1はキャッシュポリシー108を示している。幾つかの実施形態では、キャッシュポリシーはキャッシュの各々に対するポリシー設定を含むことができる。例えば、キャッシュポリシーは、キャッシュ102−1、102−2、および102−Nに対応するキャッシュポリシー108−1、108−2、および108−Nを含むことができる。全てのキャッシュ設定がキャッシュポリシー108内部で知られるように、キャッシュポリシー108−1、108−2、および108−Nを相互接続できる。これにより、キャッシュデータ106に対して可能な任意のキャッシュが許可される。従って、最高速および/または最小コストのキャッシュを使用して、キャッシュ能力と、キャッシュの各々に対するキャッシュポリシーを含むキャッシュポリシー108と、に基づいてキャッシュできる場合にデータをキャッシュすることができる。
代替的な実施形態では、キャッシュポリシー108は、キャッシュ102−1、102−2、および102−Nの各々が参照可能な汎用的な共有構成が可能である。従って、キャッシュポリシー108が規定するようにデータ106を格納する能力を有する第1のキャッシュは、データ106を格納することになる。キャッシュがデータ106を格納しているとき、後続キャッシュがデータ106をキャッシュすることを試行しないように、データ106を印付けすることができる。一実施形態では、キャッシュすべきでないデータとしてデータ106を単純に印付けすることで、これを実現できる。この方法では、キャッシュ102−1、102−2、および102−Nを、特に互いに通信するよう設計する必要はない。むしろ、先行キャッシュはデータ106をキャッシュすべきでないデータとして印付けすることができ、従って後続キャッシュがデータをキャッシュすることを防ぐことができる。さらに、図1に示すモデルは、キャッシュが互いに通信するよう特に設計する必要なしに任意数の後続キャッシュを追加できるという点で、高度に拡張可能である。
次に、図2を参照して、ワークフローパイプライン200を示す。ワークフローパイプライン200は、受信されている要求202を示す。要求202は、例えば、サーバシステムに接続したクライアントシステムからの要求である可能性がある。要求202を出力キャッシュにより処理可能である場合、よりコストが高いコンピューティングおよび/またはネットワーク操作を通して応答を再生成または再フェツチするのではなく、要求202に対する応答をキャッシュから提供することで、コンピューティングリソースを温存することができる。さらに、要求202に対する応答がキャッシュで利用可能でない場合でも、或る特定の状況では、要求に対する応答をキャッシュに格納してその応答内のデータを要求するクライアントが後で利用できるという具合に、要求に対する応答を本明細書で以下でより詳細に説明する様々なプロセスおよびイベントを通して生成することができる。
キャッシュ解決機能(resolve cache function)204は、要求202を受信すると実施することができる。要求202に対する応答がキャッシュ206で利用可能であるときに、キャッシュ解決機能202によりキャッシュデータをキャッシュ206から返却することができる。要求202に対するキャッシュ応答を取得するため、キャッシュデータ104に対する要求が送信される。図2に示す実施形態では、キャッシュデータ104に対する要求を、上述のように、より高速および/またはコストがより低いキャッシュであり得る第1のキャッシュ102−1に送信することができる。第1のキャッシュ102−1が要求202に対する応答を含む場合、第1のキャッシュ102−1は、その応答を返却し、キャッシュデータ104に対する要求がキャッシュ102−2および102−Nのような後続キャッシュに続くことを防ぐことができる。要求202に対する応答が第1のキャッシュ102−1で利用可能でない場合、キャッシュデータ104に対する要求を、図1の説明に関して上述したように後続キャッシュに渡すことができる。前述のように、後続キャッシュは、応答が見つかるまで、またはキャッシュの各々が応答をチェックされるまで、要求202に対する応答をチェックし続けることができる。
図2は決定ブロック208を示す。決定ブロック208は、応答がキャッシュの1つに格納されている場合、応答を、210で示すようにクライアントに送信することを示す。応答がキャッシュの1つに格納されない場合、イベント212で示すように様々なアクションを実施して応答を別の位置から生成または取り出すことができる。
前述のように、図2はイベント212を示す。イベントは、要求202への応答としてのデータを生成するため、および/または要求202に応じてデータを取得するために実施する様々なアクティビティが可能である。例えば、イベント212はasp.NETのようなアプリケーションレベルコンポーネントにより実施するアクティビティを含むことができる。イベント212は、要求202を満たすデータとして使用すべきデータベース内に格納したデータを収集するための、データベース抽出機能を含むことができる。幾つかの実施形態により、イベントを任意の適切なレベルで実施することができる。例えば、イベント212をカーネルレベル、システムレベル、および/またはアプリケーションレベルで実施できる。
図2はさらにキャッシュ更新アクション214を示す。データがイベント212によって生成されまたは取り出されるとき、データをキャッシュ206の1つに格納することができる。これにより、そのデータを要求する後続の要求に対する応答としてそのデータを使用することができる。前述のように、データ106を第1のキャッシュ102−1に送信することができる。第1のキャッシュ102−1はキャッシュポリシー108を参照する。キャッシュポリシー108が、データ106はキャッシュされるべきであり、第1のキャッシュ102−1はデータ106をキャッシュ可能であると指示する場合、第1のキャッシュ102−1はデータ106をキャッシュする。次いで、第1のキャッシュ102−1は後続キャッシュに対し、データ106をキャッシュすべきでないことを示す。一実施形態では、これを、キャッシュすべきでないデータとしてデータ106を印付けすることで実現することができる。あるいは、第1のキャッシュ102−1は、データ106をキャッシュしないために、別個のメッセージをキャッシュ102−2および102−Nのような後続キャッシュに送信することができる。
図2はさらにハンドラ216を示す。ハンドラ216を、イベント212で表すようにコンピュータハードウェアおよびソフトウェアと関連付けることができる。ハンドラ216はポリシー情報をキャッシュポリシー108に提供することもできる。特に、ハンドラ216は、どの特定のタイプのデータをイベント212による生成時にキャッシュすべきかを定義する情報を利用可能とすることができる。本情報をハンドラ216によりキャッシュポリシー108に送ることができる。
次に、図3を参照して、データを格納する方法300を示す。方法300は、例えば、データをクライアントシステムに提供するサーバシステムを含むコンピューティング環境で実施することができる。そのサーバシステムはデータを格納するための多数のキャッシュを含む。方法300は多数の動作を含む。例えば、方法300は、キャッシュにキャッシュすべきデータを受信することを含む(動作302)。方法300はさらに、以前にデータが先行キャッシュでキャッシュされていなかったことを判定することを含む(動作304)。データが以前に先行キャッシュでキャッシュされていなかった場合、方法300は、キャッシュポリシーによりデータをこのキャッシュでキャッシュできるかどうかを判定することを示す(動作305)。キャッシュポリシーによりデータをこのキャッシュにキャッシュできる場合、方法300はデータをそのキャッシュにキャッシュすることを示す(動作306)。そうでない場合、データをそのキャッシュにキャッシュしない(308)。
幾つかの実施形態では、データを後続キャッシュに転送できる。後続キャッシュがデータをキャッシュしないように、データを印付けすることができる。例えば、キャッシュすべきでないデータとしてデータを印付けすることができ、その結果、後続キャッシュはそのデータをキャッシュしない。あるいはそのキャッシュは、そのデータをキャッシュすべきでないことを後続キャッシュに伝えることができる。
本明細書で前述したように、先行キャッシュは後続のキャッシュよりコストが低いキャッシュで可能である。例えば図1に示すように、第1のキャッシュ102−1は、それが第2のキャッシュより高速なキャッシュであるか、またはそれが第2のキャッシュ102−2ほどリソースを必要としない意味で、低いコストで可能である。同様に、後続キャッシュは上記のキャッシュよりコストが高いキャッシュで可能である。従って、よりコストが低い、および/またはより高速なキャッシュは、よりコストが高く、および/またはより低速なキャッシュ前にデータを格納する機会を有する。
方法300はさらに、キャッシュがデータをキャッシュする機能的な能力を含むかどうかを判定することを含むことができる。これを、1つの例では動作305で実施することができる。キャッシュがデータをキャッシュするための機能的な能力を含む場合、キャッシュにおいてデータのキャッシュを実施する(動作306)。例えば、図1を再度参照すると、第1のキャッシュ102−1はキャッシュポリシー108を参照して、どのタイプのデータをキャッシュすべきかを判定することができる。第1のキャッシュ102−1は、次いで自身のキャッシュ能力を参照して、自身がデータをキャッシュする能力を有するかどうかを判定することができる。
従って、キャッシュがデータをキャッシュする機能的な能力を備えているかどうかを判定することは、そのキャッシュの機能的な能力を、キャッシュポリシー108のような、キャッシュの数に適用可能なオブジェクトの共通な設定集合と比較することを含むことができる。
前述のように、キャッシュがデータをキャッシュする機能的な能力を備えるかどうかを判定することは、そのキャッシュの機能的な能力を、複数のキャッシュに適用可能な協調的な設定集合と比較することが上げられる。協調的な設定は、情報を共有可能な複数のキャッシュ内のキャッシュの各々に対する個々の設定から成る集合が可能である。従って、先行キャッシュがデータをキャッシュできるかどうかの判定において、先行キャッシュは後続キャッシュからのポリシー設定を使用できる。
方法300は、キャッシュポリシーを参照することでデータがキャッシュされるべきかを判定すること、データをキャッシュすべきとキャッシュポリシーが示す場合にキャッシュにおいてデータをキャッシュすること(動作306)を含むことができる。これを、例えば動作305で実施することができる。上述のように、キャッシュポリシー108は、どのタイプのデータを複数のキャッシュ内のキャッシュでキャッシュすべきかを述べる情報を含む。
方法300は、キャッシュでキャッシュすべきデータを受信することが先行キャッシュからデータを受信することを含むようにしても良い。例えば、機能的な制限のため先行キャッシュがデータをキャッシュできない場合に、キャッシュは先行キャッシュからデータを受信できる。
前述のように、キャッシュはより低速なキャッシュより前により高速なキャッシュにアクセスする様々な機能性を有することができる。従って、一実施形態では、キャッシュはウェブサーバキャッシュとすることが可能であり、後続キャッシュはアプリケーションレベルキャッシュとすることが可能である。同様に、キャッシュはネイティブキャッシュとすることが可能であり、後続キャッシュはマネージキャッシュとすることが可能である。
次に、図4を参照して、方法400を示す。その方法を、例えば、データをクライアントシステムに提供するサーバシステムを含むコンピューティング環境で実施することができる。そのサーバシステムはデータを格納するための多数のキャッシュを含む。本方法は、クライアントが要求するキャッシュデータを提供するための様々な動作を含む。本方法はキャッシュにおいてデータに対する要求を受信することを含む(動作402)。例えば、図2に示すように、要求104を受信することができる。
本方法はさらに、データがキャッシュで利用可能であるかどうかを判定することを含む(動作404)。例えば、第1のキャッシュ102−1に対する要求によりデータを要求する場合、データ104が第1のキャッシュ102−1で利用可能である。データがキャッシュで利用可能である場合、要求データが返却される(動作406)。例えば、図2は応答をクライアント210に送信することを示す。データがキャッシュで利用可能でない場合、要求を後続キャッシュに転送する(動作408)。例えば、要求104を第2のキャッシュ102−2に転送することができる。
本明細書の他の実施形態で説明するように、キャッシュは後続キャッシュより高速が可能である。
特許出願である方法400は、さらに、データが複数のキャッシュで利用可能でない場合に、その複数のキャッシュ以外の位置からデータを生成または取り出すことを含むことができる。例えば、図2に示すように、様々なアクションをイベント212が示すように実施して、データを生成、または例えばデータベースもしくは他のデータ格納からデータを取り出すことができる。
データを取り出しまたは生成すると、方法400はさらに、データをキャッシュに提供するための動作、データが以前にキャッシュの数の先行キャッシュでキャッシュされていなかったことを判定するための動作、およびデータが以前にキャッシュされていなかったことを判定するステップで判定したようにデータが以前にキャッシュの数のうちの先行キャッシュでキャッシュされていなかった場合に、データをキャッシュでキャッシュするための動作、を含むことができる。
さらに、データを生成または取り出すことは、複数のキャッシュにおいてキャッシュすべきデータを指定するキャッシュポリシー情報を複数のキャッシュに提供することを含める。
実施形態は、自身に格納したコンピュータ実行可能命令またはデータ構造を携行または有するコンピュータ可読媒体を含むこともできる。上記のコンピュータ可読媒体は、汎用または専用のコンピュータによりアクセス可能な任意の利用可能な媒体が可能である。限定ではなく例として、上記のコンピュータ可読媒体はRAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク格納、磁気ディスク格納もしくは他の磁気格納装置、または所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形式で携行または格納するために使用可能であり、および汎用または専用のコンピュータによりアクセス可能な任意の他の媒体を備えることができる。情報をネットワークまたは別の通信接続(ハードワイヤード、無線、もしくはハードワイヤードまたは無線の組合せのいずれか)上でコンピュータに転送または提供する場合、コンピュータはその接続をコンピュータ可読媒体として正しいものと見なす。従って、任意の上記の接続はコンピュータ可読媒体であると正しく称せられる。上の組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理装置に或る特定の機能または機能グループを実施させる命令およびデータを備える。特許請求主題を構造的特徴および/または方法論的動作に固有な言葉で説明したが、添付請求項で定義したクレーム主題は必ずしも上述の特定の特徴または動作に限定されないことは理解されるべきである。むしろ、上述の特定の特徴および動作は請求項を実行する形態の例として開示してある。
本発明は、その精神または本質的な特徴から逸脱せずに他の特定の形態で具現化することができる。説明した実施形態は全ての点で例に過ぎず限定的ではないと考えるべきである。本発明の範囲は従って、前述の説明によってではなく添付請求項によって示される。請求項の等価物の意味および範囲内にある全ての変更は、その範囲内に包含されるべきである。
キャッシュの階層的編成を示す図である。 データのキャッシュおよび要求に対するアクティビティのパイプラインを示す図である。 データのキャッシュ方法を示す図である。 キャッシュデータの取り出し方法を示す図である。

Claims (11)

  1. データをクライアントシステムに提供するサーバシステムを含むコンピューティング環境において、前記サーバシステムはデータを格納するための複数のキャッシュを備え、最初に最小コストのキャッシュでクライアントによる要求データをキャッシュする方法であって、前記方法は、
    キャッシュでキャッシュすべきデータを受信するステップと、
    前記データが以前に先行キャッシュでキャッシュされていなかったことを判定するステップと、
    前記データが以前に先行キャッシュでキャッシュされていなかった場合に、
    前記キャッシュが前記データをキャッシュする機能的な能力を含むかを、イベントによる生成時にどの特定のタイプのデータがキャッシュされるべきかを定義する設定に基づいて判定するステップであって、(i)前記キャッシュの前記機能的な能力を、前記複数のキャッシュに適用可能なオブジェクトに格納されるような共通な設定集合であって前記複数のキャッシュの全てに適用する共通な設定集合と比較することによって、かつ、(ii)前記キャッシュの前記機能的な能力を、前記複数のキャッシュに適用可能な協調的な設定集合と比較することによって、判定するステップであって、前記協調的な設定集合は、イベントによる生成時にどの特定のタイプのデータがキャッシュされるべきかを定義し、該協調的な設定集合は前記複数のキャッシュ内のキャッシュの各々に対する個々の設定からなる集合であり、前記機能的な能力を前記共通な設定集合および前記協調的な設定集合と比較することは、少なくとも前記キャッシュの速度及び/又はコストを考慮することを含む、判定するステップと、
    前記データをキャッシュする機能的な能力が判定されると、前記キャッシュで前記データをキャッシュするステップと
    を備えることを特徴とする方法。
  2. 前記データが格納されるキャッシュは後続キャッシュであり、前記先行キャッシュは、前記後続キャッシュよりコストが低いキャッシュであることを特徴とする請求項1に記載の方法。
  3. 前記キャッシュは、先行キャッシュによって階層的に先行される後続キャッシュであり、キャッシュでキャッシュすべきデータを受信する前記ステップは、前記データを前記後続キャッシュで受信することを含み、該データは、前記先行キャッシュで前記データがキャッシュされないと判定された後に前記後続キャッシュに対して該データを転送する前記先行キャッシュから受信されることを特徴とする請求項1に記載の方法。
  4. 前記共通な設定集合および前記協調的な設定集合は、前記オブジェクトを参照することによってアクセスされ、該オブジェクトはキャッシュポリシーオブジェクトであり、
    前記キャッシュで前記データをキャッシュする前記ステップは、前記キャッシュポリシーオブジェクトに格納される設定が前記データがキャッシュされるべきであることを示す場合に実施されることを特徴とする請求項1に記載の方法。
  5. キャッシュでキャッシュすべきデータを受信するステップは、前記データを先行キャッシュから受信するステップを含むことを特徴とする請求項1に記載の方法。
  6. 前記先行キャッシュはウェブサーバキャッシュであり、前記後続キャッシュはアプリケーションレベルキャッシュであることを特徴とする請求項2または5に記載の方法。
  7. 前記先行キャッシュはネイティブキャッシュであり、前記後続キャッシュはマネージキャッシュであることを特徴とする請求項2または5に記載の方法。
  8. 複数のデータ構造を格納するコンピュータ読み取り可能な記録媒体であって、
    前記複数のデータ構造は、
    階層的に関連する複数のキャッシュであって、
    第1の速度を有する第1のキャッシュと、
    前記第1のキャッシュよりも遅い第2の速度を有する第2のキャッシュであって、前記第2のキャッシュは、その低速度のために、前記第1のキャッシュよりも階層内で低く構成され、その結果、前記第1のキャッシュがデータを受信し前記第2のキャッシュよりも先にデータを要求する、第2のキャッシュとを含む、複数のキャッシュと、
    前記複数のキャッシュに対する設定であってイベントによる生成時にどの特定のタイプのデータがキャッシュされるべきかに関する設定を定義するデータを保持するポリシーオブジェクトであって、データがキャッシュに送信される場合、該キャッシュに対する前記ポリシーオブジェクトを参照することによって該キャッシュがデータをキャッシュできるかまたはできない、ポリシーオブジェクトと
    を備え、
    前記第1のキャッシュ及び前記第2のキャッシュは、前記ポリシーオブジェクトを使用することによって、キャッシュされるべきデータが、前記階層内の前記第1のキャッシュが該第1のキャッシュでキャッシュできないタイプであると判定する場合に、前記第2のキャッシュが前記ポリシーオブジェクトを使用して該第2のキャッシュでキャッシュできるかを判定するために、該データが自動的に前記第2の、階層的に低いキャッシュに渡されるように構成されることを特徴とするコンピュータ読み取り可能な記録媒体。
  9. データを生成および/または取り出すコンピュータ実行可能命令をさらに備えることを特徴とする請求項8に記載のコンピュータ読み取り可能な記録媒体。
  10. 前記ポリシーオブジェクトに格納すべきポリシー情報を生成するためのコンピュータ実行可能命令をさらに備えることを特徴とする請求項8に記載のコンピュータ読み取り可能な記録媒体。
  11. データをクライアントシステムに提供するサーバシステムを含むコンピューティング環境において、前記サーバシステムはデータを格納するための複数のキャッシュを備え、最初に最小のコストのキャッシュでクライアントによって要求されるデータをキャッシュする方法を実装するための実行命令を含むコンピュータプログラムであって、
    前記方法は、
    キャッシュでキャッシュすべきデータを受信するステップと、
    前記データが以前に先行キャッシュでキャッシュされていなかったことを判定するステップと、
    前記データが以前に先行キャッシュでキャッシュされていなかった場合に、
    前記キャッシュが前記データをキャッシュする機能的な能力を含むかを、イベントによる生成時にどの特定のタイプのデータがキャッシュされるべきかを定義する設定に基づいて判定するステップであって、(i)前記キャッシュの前記機能的な能力を、前記複数のキャッシュに適用可能なオブジェクトに格納されるような共通な設定集合であって前記複数のキャッシュの全てに適用する共通な設定集合と比較することによって、かつ、(ii)前記キャッシュの前記機能的な能力を、前記複数のキャッシュに適用可能な協調的な設定集合と比較することによって、判定するステップであって、前記協調的な設定集合は、イベントによる生成時にどの特定のタイプのデータがキャッシュされるべきかを定義し、該協調的な設定集合は前記複数のキャッシュ内のキャッシュの各々に対する個々の設定からなる集合であり、前記機能的な能力を前記共通な設定集合および前記協調的な設定集合と比較することは、少なくとも前記キャッシュの速度及び/又はコストを考慮することを含む、判定するステップと、
    前記データをキャッシュする機能的な能力が判定されると、前記キャッシュで前記データをキャッシュするステップと
    を行なうように構成される、コンピュータプログラム。
JP2008558274A 2006-03-08 2007-02-06 応答出力キャッシュに対するマルチキャッシュ協調 Active JP5006348B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/370,585 2006-03-08
US11/370,585 US7685367B2 (en) 2006-03-08 2006-03-08 Multi-cache cooperation for response output caching
PCT/US2007/003345 WO2007102969A2 (en) 2006-03-08 2007-02-06 Multi-cache cooperation for response output caching

Publications (3)

Publication Number Publication Date
JP2009529183A JP2009529183A (ja) 2009-08-13
JP2009529183A5 JP2009529183A5 (ja) 2010-03-25
JP5006348B2 true JP5006348B2 (ja) 2012-08-22

Family

ID=38475333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008558274A Active JP5006348B2 (ja) 2006-03-08 2007-02-06 応答出力キャッシュに対するマルチキャッシュ協調

Country Status (6)

Country Link
US (1) US7685367B2 (ja)
EP (1) EP2002343B1 (ja)
JP (1) JP5006348B2 (ja)
KR (1) KR20080104288A (ja)
CN (1) CN101401079B (ja)
WO (1) WO2007102969A2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8808246B2 (en) 2009-07-21 2014-08-19 The General Hospital Corporation Peripheral blood sampling methods and devices
US8825685B2 (en) * 2009-11-16 2014-09-02 Symantec Corporation Selective file system caching based upon a configurable cache map
EP2388704A1 (en) 2010-05-17 2011-11-23 Thomson Licensing Method of optimization of cache memory management and corresponding apparatus
US8996807B2 (en) 2011-02-15 2015-03-31 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a multi-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US10076272B2 (en) 2011-04-26 2018-09-18 Velano Vascular, Inc. Systems and methods for phlebotomy through a peripheral IV catheter
US8366685B2 (en) 2011-04-26 2013-02-05 Creative Vascular, Llc Systems and methods for phlebotomy through a peripheral IV catheter
US9186100B2 (en) 2011-04-26 2015-11-17 Velano Vascular, Inc. Systems and methods for phlebotomy through a peripheral IV catheter
KR101351648B1 (ko) * 2011-10-19 2014-01-15 한양대학교 산학협력단 사용자의 요청을 예측하여 컨텐츠를 관리하는 멀티미디어 서버 및 그 관리 방법
US8935476B2 (en) 2012-01-17 2015-01-13 International Business Machines Corporation Managing caching of extents of tracks in a first cache, second cache and storage
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10037279B1 (en) * 2012-06-20 2018-07-31 EMC IP Holding Company LLC Host device caching of a business process data
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
EP2819367A1 (en) * 2013-06-28 2014-12-31 Thomson Licensing Method for retrieving, by a client terminal, a content part of a multimedia content
CN103607312B (zh) * 2013-11-29 2017-02-15 广州华多网络科技有限公司 用于服务器系统的数据请求处理方法及系统
US9547553B1 (en) 2014-03-10 2017-01-17 Parallel Machines Ltd. Data resiliency in a shared memory pool
US9781027B1 (en) 2014-04-06 2017-10-03 Parallel Machines Ltd. Systems and methods to communicate with external destinations via a memory network
US9594696B1 (en) 2014-12-09 2017-03-14 Parallel Machines Ltd. Systems and methods for automatic generation of parallel data processing code
US9477412B1 (en) 2014-12-09 2016-10-25 Parallel Machines Ltd. Systems and methods for automatically aggregating write requests
US9690713B1 (en) 2014-04-22 2017-06-27 Parallel Machines Ltd. Systems and methods for effectively interacting with a flash memory
EP2953313A1 (en) * 2014-06-05 2015-12-09 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
US9753873B1 (en) 2014-12-09 2017-09-05 Parallel Machines Ltd. Systems and methods for key-value transactions
US9632936B1 (en) 2014-12-09 2017-04-25 Parallel Machines Ltd. Two-tier distributed memory
US9781225B1 (en) 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US9639473B1 (en) 2014-12-09 2017-05-02 Parallel Machines Ltd. Utilizing a cache mechanism by copying a data set from a cache-disabled memory location to a cache-enabled memory location
KR20170056782A (ko) * 2015-11-13 2017-05-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10300247B2 (en) 2016-02-03 2019-05-28 Velano Vascular, Inc. Devices and methods for fluid transfer through a placed peripheral intravenous catheter
KR102657586B1 (ko) 2016-10-28 2024-04-15 삼성전자주식회사 그래픽스 데이터를 관리하는 방법 및 장치
US10773056B2 (en) 2017-03-21 2020-09-15 Velano Vascular, Inc. Systems and methods for controlling catheter device size
EP3600516A4 (en) 2017-03-21 2021-01-20 Velano Vascular, Inc. DEVICES AND METHODS OF FLUID TRANSFER THROUGH A PLACED PERIPHERAL INTRAVENOUS CATHETER
JP7225554B2 (ja) * 2018-04-02 2023-02-21 富士通株式会社 情報処理装置、情報処理システムおよび情報処理プログラム
KR102025921B1 (ko) 2018-08-09 2019-09-26 숭실대학교산학협력단 정보 중심 네트워크 기반 지연 허용 네트워크에서의 데이터 캐싱 방법, 이를 수행하기 위한 기록매체 및 장치
CN114599419A (zh) 2019-08-20 2022-06-07 威蓝诺血管股份有限公司 具有延长导管的流体输送装置及其使用方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5386547A (en) * 1992-01-21 1995-01-31 Digital Equipment Corporation System and method for exclusive two-level caching
US5758119A (en) * 1995-08-23 1998-05-26 International Business Machines Corp. System and method for indicating that a processor has prefetched data into a primary cache and not into a secondary cache
US5924116A (en) 1997-04-02 1999-07-13 International Business Machines Corporation Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node
WO1999003047A1 (en) 1997-07-11 1999-01-21 Earle Machardy Content hosting environment system and cache mechanism
US6430654B1 (en) * 1998-01-21 2002-08-06 Sun Microsystems, Inc. Apparatus and method for distributed non-blocking multi-level cache
US6473401B1 (en) * 1998-04-06 2002-10-29 Iscale, Inc. Self-scaling method for exploiting cached resources across organizational boundaries to enhance user response time and to reduce server and network load
US6175869B1 (en) * 1998-04-08 2001-01-16 Lucent Technologies Inc. Client-side techniques for web server allocation
NZ509199A (en) * 1998-05-28 2003-10-31 Biogen Inc A VLA-4 inhibitor: oMePUPA-V
US6338117B1 (en) 1998-08-28 2002-01-08 International Business Machines Corporation System and method for coordinated hierarchical caching and cache replacement
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US6345292B1 (en) 1998-12-03 2002-02-05 Microsoft Corporation Web page rendering architecture
US6697849B1 (en) * 1999-08-13 2004-02-24 Sun Microsystems, Inc. System and method for caching JavaServer Pages™ responses
US6425058B1 (en) * 1999-09-07 2002-07-23 International Business Machines Corporation Cache management mechanism to enable information-type dependent cache policies
JP2001125830A (ja) * 1999-10-29 2001-05-11 Toshiba Corp キャッシュ管理装置及びネットワークシステム並びにプログラムを記録したコンピュータ読み取り可能な記録媒体
US6961750B1 (en) * 2000-05-18 2005-11-01 Microsoft Corp. Server-side control objects for processing client-side user interface elements
JP2002044138A (ja) * 2000-07-25 2002-02-08 Nec Corp ネットワークシステム,キャッシュサーバ,中継サーバ,ルータ,キャッシュサーバ制御方法及び記録媒体
US6851024B1 (en) * 2000-08-17 2005-02-01 Hewlett-Packard Development Company, L.P. Exclusive caching in computer systems
US6732237B1 (en) * 2000-08-29 2004-05-04 Oracle International Corporation Multi-tier caching system
US20030014461A1 (en) * 2001-01-11 2003-01-16 Axis Software Co., Ltd. Client control system for routine task
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
US20020184403A1 (en) 2001-04-06 2002-12-05 Dahlin Michael D. Methods for near-optimal bandwidth-constrained placement in a wide-area network
US6973536B1 (en) * 2001-08-31 2005-12-06 Oracle Corporation Self-adaptive hybrid cache
US6678799B2 (en) * 2001-10-18 2004-01-13 Hewlett-Packard Development Company, Lp. Aggregation of cache-updates in a multi-processor, shared-memory system
JP2005010970A (ja) * 2003-06-18 2005-01-13 Hitachi Ltd 分散キャッシュ制御方法、ネットワークシステムおよび当該ネットワークに用いられる制御サーバないしルータ
US7124249B1 (en) * 2003-06-26 2006-10-17 Emc Corporation Method and apparatus for implementing a software cache
US7076611B2 (en) * 2003-08-01 2006-07-11 Microsoft Corporation System and method for managing objects stored in a cache
US20050091226A1 (en) * 2003-10-23 2005-04-28 Yun Lin Persistent caching directory level support

Also Published As

Publication number Publication date
CN101401079A (zh) 2009-04-01
EP2002343B1 (en) 2013-03-27
EP2002343A4 (en) 2009-11-25
CN101401079B (zh) 2011-09-07
WO2007102969A2 (en) 2007-09-13
WO2007102969A3 (en) 2008-02-21
US20070214320A1 (en) 2007-09-13
KR20080104288A (ko) 2008-12-02
EP2002343A2 (en) 2008-12-17
JP2009529183A (ja) 2009-08-13
US7685367B2 (en) 2010-03-23

Similar Documents

Publication Publication Date Title
JP5006348B2 (ja) 応答出力キャッシュに対するマルチキャッシュ協調
US20220321927A1 (en) Providing access to managed content
US8161244B2 (en) Multiple cache directories
EP2288997B1 (en) Distributed cache arrangement
US8725793B2 (en) Architectural pattern for persistent web application design
US9852204B2 (en) Read-only operations processing in a paxos replication system
EP2435916B1 (en) Cache data processing using cache cluster with configurable modes
KR100978156B1 (ko) 스누프 필터에서의 실효를 감소시키기 위한 라인 스와핑 스킴을 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능 기록 매체
US20110119444A1 (en) Adaptive caching of data
CN103312624B (zh) 一种消息队列服务系统和方法
US20090307329A1 (en) Adaptive file placement in a distributed file system
JP2004511840A (ja) 他のノードのキャッシュに基づくあるノードのキャッシュ内のデータの置換管理
JP2012530294A (ja) ガベージコレクション中の分散キャッシュの可用性
US10404823B2 (en) Multitier cache framework
US20030018782A1 (en) Scalable memory management of token state for distributed lock managers
CN102959529A (zh) 用于缓存的网络的广播协议
US9501312B2 (en) Using compensation transactions for multiple one-phase commit participants
US11726788B2 (en) Tuple checkout with notify in coordination namespace system
CN105574008A (zh) 应用于分布式文件系统的任务调度方法和设备
WO2023274409A1 (zh) 在区块链系统中执行交易的方法和区块链节点
CN107832121B (zh) 一种应用于分布式串行长事务的并发控制方法
US9811403B1 (en) Method, apparatus and system for performing matching operations in a computing system
JP4664931B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
Kumar et al. Consistency-Latency Trade-Off of the LibRe Protocol: A Detailed Study
CN114124680B (zh) 一种文件访问控制告警日志管理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100205

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120524

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5006348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250