JP4297790B2 - 物理的ストレージを抽象するプラグ可能なアーキテクチャを有するパーシステントなキーと値とのリポジトリ - Google Patents
物理的ストレージを抽象するプラグ可能なアーキテクチャを有するパーシステントなキーと値とのリポジトリ Download PDFInfo
- Publication number
- JP4297790B2 JP4297790B2 JP2003584961A JP2003584961A JP4297790B2 JP 4297790 B2 JP4297790 B2 JP 4297790B2 JP 2003584961 A JP2003584961 A JP 2003584961A JP 2003584961 A JP2003584961 A JP 2003584961A JP 4297790 B2 JP4297790 B2 JP 4297790B2
- Authority
- JP
- Japan
- Prior art keywords
- component
- node
- repository
- client
- plug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Description
この出願は、その内容全体がすべての目的のためにここに援用される以下の米国仮特許出願の優先権を主張する。
米国仮特許出願第60/372,186号、「グローバル名前空間内の個人化された内容に対するアプローチ」(Approach for Personalized Content Within a Global Namespace)、2002年4月12日出願。
この発明はデータリポジトリに関し、より具体的には、キーと値のペアを記憶するためのリポジトリに関する。
多くの種類の情報は一般にキーと値のペアの形で記憶され、このペアの「キー」部分はラベルであり、ペアの「値」部分はそのラベルに関連する値を提供する。たとえば、コンピュータシステムのコンフィギュレーションについての情報は、そのコンピュータシステムにおけるダイナミックメモリの量が512メガバイトであることを示すために以下のキーと値のペア、つまり(“メモリ”,512M)を含むかもしれない。
キーと値のペアの共有リポジトリにクラスタにわたるアクセスを提供するための方法およびシステムが説明される。以下の記載では、説明の目的のため、この発明の完全な理解を提供するために多くの特定の詳細が述べられる。しかしながら、この発明がこれらの特定の詳細なしで実践されてもよいことは明らかである。他の点では、この発明を不必要に不明瞭にしないよう、周知の構造および装置はブロック図の形で示される。
どの特定のプラットフォームまたはストレージサブシステムにもそのユーザを限定しないアーキテクチャを用いてキーと値のペアを管理するための手法が提供される。一局面によれば、リポジトリは、リポジトリが使用される環境およびプラットフォームに基づいてアーキテクチャが変わる必要がないことから、移殖性がある(ポータブルである)。むしろ、プラットフォームに特有のアーキテクチャの部分は、リポジトリのストレージ抽象層にあるプラグインに限定されている。プラグインの各々はリポジトリの他の層に同じストレージ抽象インターフェイスを公開するが、他のプラグインとは異なるプラットフォームまたはストレージサブシステムと相互作用するよう実現される。
図1を参照すると、それは、この発明の一実施例に従った、キーと値のペアの共有リポジトリ118へのクラスタにわたるアクセスを提供するためのシステムを示すブロック図である。具体的には、図1は、2つのノード102および104を含むクラスタ100を示している。このシステムの説明を簡略化するために、2ノードクラスタ実施例を示す。しかしながら、ここに説明されるこの発明および手法は、どの特定数のノードを有するクラスタにも限定されない。
、クラスタ管理ソフトウェアによって管理されるクラスタのコンフィギュレーションについての情報を記憶するために、キーと値のペアのリポジトリ118をクラスタレジストリとして使用してもよい。しかしながら、クラスタ管理ソフトウェアは、リポジトリ118を利用するかもしれないクライアントのほんの一例である。この発明はどの特定数のクライアントにも限定されない。むしろ、多くの状況では、多数の異なるタイプのクライアントがリポジトリ118を使用する。
一実施例によれば、リポジトリ118の一構成要素は、マスタ構成要素として指定される。マスタ構成要素のメッセージングおよびキャッシュ層116におけるルーチンは、ストレージ抽象層150に独占的にアクセスする。マスタ構成要素は、リポジトリ118からの情報のマスタキャッシュも管理する。図1に示す実施例では、構成要素174がマスタ構成要素である。したがって、構成要素174のメッセージングおよびキャッシュ層116におけるルーチンはマスタキャッシュ148を管理し、ストレージ抽象層150に存在するプラグイン152および154に独占的にアクセスする。
ッシング構成要素は、リポジトリ118からの情報のキャッシュを保持する。キャッシング構成要素に関連するクライアントは、ここでは「キャッシングレベルクライアント」と呼ばれる。一実施例によれば、マスタ構成要素は、マスタ構成要素が存在するノード用のキャッシング構成要素である。
キーと値のペアを管理するためにリポジトリ118を使用したいクライアントは、API層112におけるルーチンを呼び出すことによってそれを行なう。一実施例によれば、API層112のルーチンは、リポジトリ118によってサポートされる全動作のためにインターフェイスを公開する。一実施例では、API層112のルーチンはパラメータ検証およびエラーチェックを行なう。API層112のルーチンになされた呼び出しがAPI層112で行なわれる試験に通ると、呼び出しはサービス抽象層114の適切なルーチンに渡される。
サービス抽象層114は、クライアントからなされた呼び出しをいかに処理するかを決定する。さまざまな要因が、任意の所与の呼び出しがいかに扱われるかを決定し得る。そのような要因は、たとえば、呼び出しを行なうクライアントの識別情報、呼び出しに適用可能なアクセスモード、呼び出しによって要求される動作の種類を含む。アクセスモードを、以下により詳細に説明する。
サービス抽象層114の呼び出されたルーチンはローカルキャッシュをチェックして、キャッシュが要求に返答するための情報を含んでいるかどうかを確かめる。ローカルキャッシュが要求に返答するための情報を含んでいない場合、サービス抽象層114の呼び出されたルーチンは、メッセージングおよびキャッシュ層116のルーチンを呼び出して、要求をマスタ構成要素に渡す。
メッセージングおよびキャッシュ層116は、キャッシュにアクセスしてキャッシュを管理するためのルーチンと、リポジトリ118の他の構成要素と通信するためのルーチンとを含む。一実施例によれば、キャッシングルーチンは各ノードの一構成要素にしか使用されない。ノード上の他の構成要素は、キャッシュを管理している構成要素に要求を送ることによって間接的にキャッシュを使用する。
ォーム上で起動していると仮定する。そのような筋書きでは、ノード102のメッセージングルーチンは、ノード104上のメッセージングルーチンに、メッセージをネットワークバイトオーダで送信する。同様に、ノード104上のメッセージングルーチンは、ノード102上のメッセージングルーチンに、メッセージをネットワークバイトオーダで送信する。プラットフォーム境界を越えてメッセージをネットワークバイトオーダで送信することにより、送信側によって送信されるメッセージは、送信側とは異なるプラットフォーム上に存在する受信側によって正確に再構築され得る。
一実施例によれば、ストレージ抽象層150に設けられたルーチンは、どの種類のバックエンドストレージが、リポジトリ118により管理されるキーと値のペア情報を永続的に記憶するために使用されているかを完全に抽象する。たとえば、プラグイン152がプラグイン154とはまったく異なるストレージサブシステムで動作するよう設計されていても、プラグイン152およびプラグイン154は双方とも、マスタ構成要素174のメッセージングおよびキャッシュ層116のキャッシングルーチンに、同一のインターフェイスを公開する。プラグイン152および154が同じインターフェイスをキャッシングルーチンに公開する一方、そのインターフェイスを実現するルーチンの論理は、プラグインがどの種類のバックエンドストレージと相互作用するよう設計されているかに基づいて、まったく異なっていてもよい。
れない。一旦選択されると、適切なプラグインが揮発性メモリに動的にロードされてもよく、プラグイン内のルーチンが呼び出されてもよい。
一実施例によれば、リポジトリ118によって管理される情報についての要求は、まず、同じノード上に存在するキャッシュを要求元としてチェックすることにより処理される。情報がローカルノードキャッシュにない場合、マスタキャッシュがチェックされる。情報がマスタキャッシュにない場合、永続的なストレージから情報を検索するようストレージ抽象層150に呼び出しがなされる。
構成要素170が別の構成要素172と通信することを伴う。この通信を達成するため、要求は構成要素170のメッセージングおよびキャッシュ層116のルーチン(MSG124)に渡される。
一実施例によれば、API層112に提供されたルーチンは、4つのアクセスモードのうちのいずれか1つでアクセスされてもよい。クライアントは、たとえば、モードを示すパラメータ値をルーチンに渡すことによって、ある特定のアクセスモードをAPI層112のルーチンに示してもよい。そのようなパラメータを各呼び出しでAPI層112に渡すよりもむしろ、クライアントがAPI層112に行なう最初の呼び出しが「初期化ルーチン」への所望のモードを特定してもよい。初期化ルーチンはハンドルをクライアントに戻してもよく、それをクライアントは次に用いて、API層112への将来の呼び出しすべてを行なう。ハンドルは、クライアントのアクセスモードを示すデータに関連付けられてもよい。したがって、その後の呼び出しすべてにおいてハンドルを渡すことは、その後の呼び出しを処理するルーチンに、それらの呼び出しに応じるために使用すべきアクセスモードについて効果的に知らせる。
モードである。デフォルトアクセスモードで動作を行なうと、サービス抽象層114のルーチンは、メッセージングおよびキャッシュ層116のメッセージングルーチンを用いて、読出された要求をローカルキャッシング構成要素へ送る。
図2は、この発明の一実施例が実現され得るコンピュータシステム200を示すブロック図である。コンピュータシステム200は、情報を通信するためのバス202または他の通信メカニズムと、情報を処理するためにバス202と結合されたプロセッサ204とを含む。コンピュータシステム200はまた、プロセッサ204により実行されるべき命令および情報を記憶するためにバス202に結合される、ランダムアクセスメモリ(RAM)または他のダイナミックストレージ装置などのメインメモリ206を含む。メインメモリ206は、プロセッサ204により実行されるべき命令の実行中に、一時的な変数または他の中間情報を記憶するためにも使用されてもよい。コンピュータシステム200はさらに、プロセッサ204用の命令およびスタティック情報を記憶するためにバス202に結合された読出し専用メモリ(ROM)208または他のスタティックストレージ装置を含む。磁気ディスクまたは光ディスクなどのストレージ装置210が、情報および命令を記憶するために提供され、バス202に結合されている。
04に実行用に命令を提供することに関与するあらゆる媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体、および通信媒体を含むもののそれらに限定されない多くの形態をとり得る。不揮発性媒体は、たとえば、ストレージ装置210などの光ディスクまたは磁気ディスクを含む。揮発性媒体は、メインメモリ206などのダイナミックメモリを含む。通信媒体は、バス202を構成する配線を含む、同軸ケーブル、銅線および光ファイバを含む。通信媒体は、電波および赤外線データ通信中に発生するものなどの音波または光波の形もとり得る。
インターフェイス218を通して、メッセージを送信し、プログラムコードを含むデータを受信する。インターネットの例では、サーバ230は、アプリケーションプログラムについて要求されたコードを、インターネット228、ISP226、ローカルネットワーク222および通信インターフェイス218を介して送信してもよい。
Claims (14)
- キーと値のペアを記憶するための、プロセッサを含む1つ以上のコンピュータ装置によって実行される方法であって、
前記1つ以上のコンピュータ装置が、キーと値のペア情報をリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを、アプリケーションプログラミング層で公開するステップと、
前記1つ以上のコンピュータ装置が、前記リポジトリインターフェイスを介して、第1のノード上の第1の構成要素において、動作を実行する要求を、第1のノード上のクライアントから受取るステップとを含み、第1の構成要素は第1のクライアントと論理的に接続され、前記方法はさらに、
第1の構成要素において要求を受取ることに応答して、前記1つ以上のコンピュータ装置が、第1の構成要素が第1のノード用のキャッシング構成要素として指定されているかどうかを判断するステップと、
第1の構成要素が第1のノード用のキャッシング構成要素として指定されていないと判断することに応答して、前記1つ以上のコンピュータ装置が、第1のノード上の第2の構成要素が第1のノード用のキャッシング構成要素として指定されているかどうかを判断するステップとを含み、第2の構成要素は第1のノード上の第2のクライアントと論理的に接続され、前記方法はさらに、
前記1つ以上のコンピュータ装置が、第2の構成要素が第1のノード用のキャッシング構成要素として指定されていると判断することに応答して、前記要求により必要とされる要求ペア情報が第1のノード上のローカルキャッシュに含まれているかどうかを、第2の構成要素において判断するステップと、
前記要求ペア情報が第1のノード上のローカルキャッシュに含まれていないと判断することに応答して、前記1つ以上のコンピュータ装置が、第2のノード上の第3の構成要素がマスタ構成要素として指定されているかどうかを判断するステップとを含み、第2のノードは第1のノードとは別個であり、第3の構成要素は第2のノード上の第3のクライアントと論理的に接続され、前記方法はさらに、
第3の構成要素がマスタ構成要素として指定されていると判断することに応答して、前記1つ以上のコンピュータ装置が、第3の構成要素において以下のステップを実行するステップを含み、以下のステップは、
ストレージ抽象層の共通のインターフェイスを介して複数のプラグインのうちの1つを呼び出すことによって、前記リポジトリインターフェイスを介して行なわれた呼び出しに応じるステップと、
動作を実行する要求を受取るステップと、
前記動作の実行中にアクセスするために、前記複数のプラグインのうちのどの特定のプラグインが、ストレージサブシステムの種類に対応するかを判断するステップと、
ストレージサブシステムの前記種類に対応する特定のプラグインを動的にロードするステップと、
前記共通のインターフェイスを介して前記特定のプラグインに1つ以上の呼び出しを行なうことによって前記動作を実行するステップとを含み、
前記複数のプラグインの各プラグインは、前記要求ペア情報にアクセスするために前記共通のインターフェイスを公開し、
前記複数のプラグインの各プラグインは、前記共通のインターフェイスを介して行なわれた呼び出しに応答して、ある特定の種類のストレージサブシステムと相互作用するよう設計されており、
各プラグインが相互作用するストレージサブシステムは、前記複数のプラグインの他の各々が相互作用するストレージサブシステムとは異なる種類のストレージサブシステムである、方法。 - 前記1つ以上のコンピュータ装置が、前記リポジトリの第3の構成要素をマスタ構成要素として指定するステップと、
クラスタの複数のノードにわたって広がっている構成要素において、前記1つ以上のコンピュータ装置が、前記複数のノード上に存在するクライアントから前記リポジトリインターフェイスを介して呼び出しを受取るステップと、
前記1つ以上のコンピュータ装置が、不揮発性ストレージへのアクセスを要求するすべての呼び出しを前記マスタ構成要素に転送するステップとをさらに含み、
マスタ構成要素は、前記共通のインターフェイスを介してプラグインを呼び出すステップを行なうことが許可された前記リポジトリの唯一の構成要素である、請求項1に記載の方法。 - 前記1つ以上のコンピュータ装置が、クライアントから前記リポジトリインターフェイスを介して要求を受取るステップと、
前記共通のインターフェイスを介して、前記要求ペア情報について呼び出しを行なう前に、前記1つ以上のコンピュータ装置が、マスタキャッシュにおいて前記要求ペア情報を検索するステップとをさらに含む、請求項1に記載の方法。 - 第1のクライアントは第1のノード上に存在し、マスタキャッシュは第2のノード上に存在し、
前記方法は、前記マスタキャッシュにおいて前記要求ペア情報を検索するステップの前に、前記1つ以上のコンピュータ装置が、前記第1のノード上のローカルキャッシュ上で前記要求ペア情報を検索するステップをさらに含む、請求項3に記載の方法。 - 第1のノードは前記リポジトリの複数の構成要素を含み、
前記方法はさらに、
前記1つ以上のコンピュータ装置が、前記複数の構成要素の1つの構成要素のみをキャッシング構成要素として確立するステップと、
前記1つ以上のコンピュータ装置が、前記第1の構成要素が前記キャッシング構成要素ではない場合、前記第1の構成要素から前記キャッシング構成要素にメッセージが送られるようにして、前記キャッシング構成要素に前記要求ペア情報について前記ローカルキャッシュを検索させるステップとを含む、請求項4に記載の方法。 - 前記1つ以上のコンピュータ装置が、前記リポジトリインターフェイスを実現するルーチンを含むコードライブラリを作成するステップと、
前記1つ以上のコンピュータ装置が、前記コードライブラリをクライアントコードにリンクさせて、前記クライアントコードにおけるルーチンが、前記コードライブラリの前記ルーチンを呼び出すことによって前記リポジトリを使用できるようにするステップとをさらに含む、請求項1に記載の方法。 - 前記1つ以上のコンピュータ装置が、前記リポジトリインターフェイスの一部を実現するルーチンを介して、クライアントから呼び出しを受取るステップと、
前記1つ以上のコンピュータ装置が、前記呼び出しにおけるパラメータの値に基づいて、前記クライアントと論理的に接続された前記リポジトリの構成要素を、前記リポジトリ用のキャッシュを管理する責任を負うキャッシング構成要素として確立するかどうかを判断するステップとをさらに含む、請求項1に記載の方法。 - キーと値のペアを記憶するための命令を保持するコンピュータ読取可能な媒体であって、前記命令は、
キーと値のペア情報をリポジトリに記憶し、アクセスするよう、クライアントが呼び出しを行なう際に介するリポジトリインターフェイスを、アプリケーションプログラミング層で公開するステップと、
前記リポジトリインターフェイスを介して、第1のノード上の第1の構成要素において、動作を実行する要求を、第1のノード上のクライアントから受取るステップとを含み、第1の構成要素は第1のクライアントと論理的に接続され、前記命令はさらに、
第1の構成要素において要求を受取ることに応答して、第1の構成要素が第1のノード用のキャッシング構成要素として指定されているかどうかを判断するステップと、
第1の構成要素が第1のノード用のキャッシング構成要素として指定されていないと判断することに応答して、第1のノード上の第2の構成要素が第1のノード用のキャッシング構成要素として指定されているかどうかを判断するステップとを含み、第2の構成要素は第1のノード上の第2のクライアントと論理的に接続され、前記命令はさらに、
第2の構成要素が第1のノード用のキャッシング構成要素として指定されていると判断することに応答して、前記要求により必要とされる要求ペア情報が第1のノード上のローカルキャッシュに含まれているかどうかを、第2の構成要素において判断するステップと、
前記要求ペア情報が第1のノード上のローカルキャッシュに含まれていないと判断することに応答して、第2のノード上の第3の構成要素がマスタ構成要素として指定されているかどうかを判断するステップとを含み、第2のノードは第1のノードとは別個であり、第3の構成要素は第2のノード上の第3のクライアントと論理的に接続され、前記命令はさらに、
第3の構成要素がマスタ構成要素として指定されていると判断することに応答して、第3の構成要素において以下のステップを実行するステップを含み、以下のステップは、
ストレージ抽象層の共通のインターフェイスを介して複数のプラグインのうちの1つを呼び出すことによって、前記リポジトリインターフェイスを介して行なわれた呼び出しに応じるステップと、
動作を実行する要求を受取るステップと、
前記動作の実行中にアクセスするために、前記複数のプラグインのうちのどの特定のプラグインが、ストレージサブシステムの種類に対応するかを判断するステップと、
ストレージサブシステムの前記種類に対応する特定のプラグインを動的にロードするステップと、
前記共通のインターフェイスを介して前記特定のプラグインに1つ以上の呼び出しを行なうことによって前記動作を実行するステップとを含み、
前記複数のプラグインの各プラグインは、前記要求ペア情報にアクセスするために前記共通のインターフェイスを公開し、
前記複数のプラグインの各プラグインは、前記共通のインターフェイスを介して行なわれた呼び出しに応答して、ある特定の種類のストレージサブシステムと相互作用するよう設計されており、
各プラグインが相互作用するストレージサブシステムは、前記複数のプラグインの他の各々が相互作用するストレージサブシステムとは異なる種類のストレージサブシステムである、コンピュータ読取可能な媒体。 - 前記リポジトリの第3の構成要素をマスタ構成要素として指定するステップと、
クラスタの複数のノードにわたって広がっている構成要素において、前記複数のノード上に存在するクライアントから前記リポジトリインターフェイスを介して呼び出しを受取るステップと、
不揮発性ストレージへのアクセスを要求するすべての呼び出しを前記マスタ構成要素に転送するステップとを行なうための命令をさらに含み、
マスタ構成要素は、前記共通のインターフェイスを介してプラグインを呼び出すステップを行なうことが許可された前記リポジトリの唯一の構成要素である、請求項8に記載のコンピュータ読取可能な媒体。 - クライアントから前記リポジトリインターフェイスを介して要求を受取るステップと、
前記共通のインターフェイスを介して、前記要求ペア情報について呼び出しを行なう前に、マスタキャッシュにおいて前記要求ペア情報を検索するステップとを行なうための命令をさらに含む、請求項8に記載のコンピュータ読取可能な媒体。 - 第1のクライアントは第1のノード上に存在し、マスタキャッシュは第2のノード上に存在し、
前記コンピュータ読取可能な媒体は、前記マスタキャッシュにおいて前記要求ペア情報を検索するステップの前に、前記第1のノード上のローカルキャッシュ上で前記要求ペア情報を検索するステップを行なうための命令をさらに含む、請求項10に記載のコンピュータ読取可能な媒体。 - 第1のノードは前記リポジトリの複数の構成要素を含み、
前記コンピュータ読取可能な媒体はさらに、
前記複数の構成要素の1つの構成要素のみをキャッシング構成要素として確立するステップと、
前記第1の構成要素が前記キャッシング構成要素ではない場合、前記第1の構成要素から前記キャッシング構成要素にメッセージが送られるようにして、前記キャッシング構成要素に前記要求ペア情報について前記ローカルキャッシュを検索させるステップとを行なうための命令を含む、請求項11に記載のコンピュータ読取可能な媒体。 - 前記リポジトリインターフェイスを実現するルーチンを含むコードライブラリを作
成するステップと、
前記コードライブラリをクライアントコードにリンクさせて、前記クライアントコードにおけるルーチンが、前記コードライブラリの前記ルーチンを呼び出すことによって前記リポジトリを使用できるようにするステップとを行なうための命令をさらに含む、請求項8に記載のコンピュータ読取可能な媒体。 - 前記リポジトリインターフェイスの一部を実現するルーチンを介して、クライアントから呼び出しを受取るステップと、
前記呼び出しにおけるパラメータの値に基づいて、前記クライアントと論理的に接続された前記リポジトリの構成要素を、前記リポジトリ用のキャッシュを管理する責任を負うキャッシング構成要素として確立するかどうかを判断するステップとを行なうための命令をさらに含む、請求項8に記載のコンピュータ読取可能な媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37096302P | 2002-04-08 | 2002-04-08 | |
US37218602P | 2002-04-12 | 2002-04-12 | |
US10/253,088 US7096213B2 (en) | 2002-04-08 | 2002-09-23 | Persistent key-value repository with a pluggable architecture to abstract physical storage |
PCT/US2003/009407 WO2003088093A2 (en) | 2002-04-08 | 2003-03-26 | Key-value repository with a pluggable architecture |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2005522787A JP2005522787A (ja) | 2005-07-28 |
JP2005522787A5 JP2005522787A5 (ja) | 2006-03-30 |
JP4297790B2 true JP4297790B2 (ja) | 2009-07-15 |
Family
ID=28678885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003584961A Expired - Lifetime JP4297790B2 (ja) | 2002-04-08 | 2003-03-26 | 物理的ストレージを抽象するプラグ可能なアーキテクチャを有するパーシステントなキーと値とのリポジトリ |
Country Status (6)
Country | Link |
---|---|
US (2) | US7096213B2 (ja) |
EP (1) | EP1493105B1 (ja) |
JP (1) | JP4297790B2 (ja) |
CN (1) | CN100410929C (ja) |
CA (1) | CA2480459C (ja) |
WO (1) | WO2003088093A2 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050220286A1 (en) * | 2001-02-27 | 2005-10-06 | John Valdez | Method and apparatus for facilitating integrated access to communications services in a communication device |
CN101324902A (zh) * | 2001-12-28 | 2008-12-17 | 国际商业机器公司 | 实时数据入库 |
US7445196B2 (en) * | 2002-02-20 | 2008-11-04 | Universal Consumer Products, Inc. | Plastic fencing simulative of wrought iron |
US7136867B1 (en) | 2002-04-08 | 2006-11-14 | Oracle International Corporation | Metadata format for hierarchical data storage on a raw storage device |
US8271530B2 (en) * | 2002-04-08 | 2012-09-18 | Oracale International Corporation | Method and mechanism for managing and accessing static and dynamic data |
US7672945B1 (en) | 2002-04-08 | 2010-03-02 | Oracle International Corporation | Mechanism for creating member private data in a global namespace |
US7058639B1 (en) | 2002-04-08 | 2006-06-06 | Oracle International Corporation | Use of dynamic multi-level hash table for managing hierarchically structured information |
US7900052B2 (en) | 2002-11-06 | 2011-03-01 | International Business Machines Corporation | Confidential data sharing and anonymous entity resolution |
US8620937B2 (en) * | 2002-12-27 | 2013-12-31 | International Business Machines Corporation | Real time data warehousing |
EP1584035B1 (en) | 2002-12-31 | 2015-04-15 | International Business Machines Corporation | Authorized anonymous authentication |
US7200602B2 (en) * | 2003-02-07 | 2007-04-03 | International Business Machines Corporation | Data set comparison and net change processing |
EP1631908A4 (en) * | 2003-03-24 | 2012-01-25 | Ibm | SECURE COORDINATED IDENTIFICATION METHOD, SYSTEM AND PROGRAM |
US7467384B2 (en) * | 2004-02-20 | 2008-12-16 | Microsoft Corporation | Uniform resource discovery with multiple computers |
US20050192927A1 (en) * | 2004-02-20 | 2005-09-01 | Microsoft Corporation | Uniform resource discovery and activation |
US7921419B2 (en) * | 2004-05-12 | 2011-04-05 | Oracle International Corporation | Method and mechanism for managing incompatible changes in a distributed system |
US7779022B2 (en) * | 2004-09-01 | 2010-08-17 | Oracle International Corporation | Efficient retrieval and storage of directory information system knowledge referrals |
US7792860B2 (en) * | 2005-03-25 | 2010-09-07 | Oracle International Corporation | System for change notification and persistent caching of dynamically computed membership of rules-based lists in LDAP |
US8204831B2 (en) | 2006-11-13 | 2012-06-19 | International Business Machines Corporation | Post-anonymous fuzzy comparisons without the use of pre-anonymization variants |
US7903819B2 (en) * | 2007-09-07 | 2011-03-08 | Yahoo! Inc. | Memory efficient storage of large numbers of key value pairs |
US8336047B2 (en) * | 2008-08-25 | 2012-12-18 | International Business Machines Corporation | Provisioning virtual resources using name resolution |
CN102043645B (zh) * | 2009-10-20 | 2014-01-08 | 阿里巴巴集团控股有限公司 | 一种加载插件的方法及装置 |
US8402106B2 (en) * | 2010-04-14 | 2013-03-19 | Red Hat, Inc. | Asynchronous future based API |
US20110276744A1 (en) | 2010-05-05 | 2011-11-10 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
US9053032B2 (en) | 2010-05-05 | 2015-06-09 | Microsoft Technology Licensing, Llc | Fast and low-RAM-footprint indexing for data deduplication |
US8935487B2 (en) | 2010-05-05 | 2015-01-13 | Microsoft Corporation | Fast and low-RAM-footprint indexing for data deduplication |
US9208472B2 (en) | 2010-12-11 | 2015-12-08 | Microsoft Technology Licensing, Llc | Addition of plan-generation models and expertise by crowd contributors |
US9110936B2 (en) | 2010-12-28 | 2015-08-18 | Microsoft Technology Licensing, Llc | Using index partitioning and reconciliation for data deduplication |
US8832111B2 (en) * | 2010-12-30 | 2014-09-09 | Facebook, Inc. | Distributed cache for graph data |
KR101398959B1 (ko) | 2012-06-28 | 2014-05-27 | 엘아이지넥스원 주식회사 | 플러그인을 이용한 인터페이스 방법 및 장치 |
US9069979B2 (en) * | 2012-09-07 | 2015-06-30 | Oracle International Corporation | LDAP-based multi-tenant in-cloud identity management system |
US9838370B2 (en) | 2012-09-07 | 2017-12-05 | Oracle International Corporation | Business attribute driven sizing algorithms |
KR102044023B1 (ko) * | 2013-03-14 | 2019-12-02 | 삼성전자주식회사 | 키 값 기반 데이터 스토리지 시스템 및 이의 운용 방법 |
US9870168B1 (en) * | 2014-12-22 | 2018-01-16 | Emc Corporation | Key-value store with internal key-value storage interface |
US10013353B2 (en) | 2015-02-23 | 2018-07-03 | Red Hat, Inc. | Adaptive optimization of second level cache |
US10061629B2 (en) * | 2015-07-22 | 2018-08-28 | Optumsoft, Inc. | Compact binary event log generation |
US9767028B2 (en) * | 2015-10-30 | 2017-09-19 | Advanced Micro Devices, Inc. | In-memory interconnect protocol configuration registers |
US10261913B2 (en) | 2017-04-20 | 2019-04-16 | Alibaba Group Holding Limited | Persistent memory for key-value storage |
CN107196920B (zh) * | 2017-04-28 | 2019-07-30 | 中国人民解放军信息工程大学 | 一种面向无线通信系统的密钥产生分配方法 |
US10572161B2 (en) * | 2017-11-15 | 2020-02-25 | Samsung Electronics Co., Ltd. | Methods to configure and access scalable object stores using KV-SSDs and hybrid backend storage tiers of KV-SSDs, NVMe-SSDs and other flash devices |
US10403351B1 (en) | 2018-02-22 | 2019-09-03 | Advanced Micro Devices, Inc. | Save and restore scoreboard |
US11507392B2 (en) * | 2020-02-26 | 2022-11-22 | Red Hat, Inc. | Automatically configuring computing clusters |
CN113326033B (zh) * | 2021-06-09 | 2023-08-11 | 北京八分量信息科技有限公司 | 一种带有多种语言API的key-value存储系统 |
US11914563B2 (en) | 2022-03-24 | 2024-02-27 | Oracle International Corporation | Data structure generation system for analyzing logs |
US11822939B2 (en) * | 2022-03-24 | 2023-11-21 | Oracle International Corporation | Collaborative analysis system for analyzing logs |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
US5555388A (en) | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
US5504892A (en) | 1994-09-08 | 1996-04-02 | Taligent, Inc. | Extensible object-oriented file system |
FR2735261B1 (fr) * | 1995-06-08 | 1997-07-11 | France Telecom | Procede de realisation d'un paiement utilisant un gestionnaire de comptes |
US6105025A (en) | 1996-03-08 | 2000-08-15 | Oracle Corporation | Method for using an index as a workspace for deferred enforcement of uniqueness constraints |
US5727950A (en) | 1996-05-22 | 1998-03-17 | Netsage Corporation | Agent based instruction system and method |
US5822526A (en) * | 1996-06-03 | 1998-10-13 | Microsoft Corporation | System and method for maintaining and administering email address names in a network |
US5901214A (en) * | 1996-06-10 | 1999-05-04 | Murex Securities, Ltd. | One number intelligent call processing system |
US6067584A (en) | 1996-09-09 | 2000-05-23 | National Instruments Corporation | Attribute-based system and method for configuring and controlling a data acquisition task |
US6016499A (en) | 1997-07-21 | 2000-01-18 | Novell, Inc. | System and method for accessing a directory services respository |
US6523041B1 (en) * | 1997-07-29 | 2003-02-18 | Acxiom Corporation | Data linking system and method using tokens |
US6073140A (en) * | 1997-07-29 | 2000-06-06 | Acxiom Corporation | Method and system for the creation, enhancement and update of remote data using persistent keys |
US6766327B2 (en) * | 1997-07-29 | 2004-07-20 | Acxiom Corporation | Data linking system and method using encoded links |
US6073129A (en) * | 1997-12-29 | 2000-06-06 | Bull Hn Information Systems Inc. | Method and apparatus for improving the performance of a database management system through a central cache mechanism |
US6345382B1 (en) | 1998-02-12 | 2002-02-05 | International Business Machines Corporation | Run-time customization in object-oriented design |
US6298419B1 (en) * | 1998-03-26 | 2001-10-02 | Compaq Computer Corporation | Protocol for software distributed shared memory with memory scaling |
US6915307B1 (en) * | 1998-04-15 | 2005-07-05 | Inktomi Corporation | High performance object cache |
US6122629A (en) * | 1998-04-30 | 2000-09-19 | Compaq Computer Corporation | Filesystem data integrity in a single system image environment |
GB9811574D0 (en) | 1998-05-30 | 1998-07-29 | Ibm | Indexed file system and a method and a mechanism for accessing data records from such a system |
US6748374B1 (en) * | 1998-12-07 | 2004-06-08 | Oracle International Corporation | Method for generating a relational database query statement using one or more templates corresponding to search conditions in an expression tree |
US6327594B1 (en) | 1999-01-29 | 2001-12-04 | International Business Machines Corporation | Methods for shared data management in a pervasive computing environment |
US6393415B1 (en) * | 1999-03-31 | 2002-05-21 | Verizon Laboratories Inc. | Adaptive partitioning techniques in performing query requests and request routing |
US6578045B1 (en) * | 1999-04-20 | 2003-06-10 | Microsoft Corporation | System and method for retrieving registry data |
US6421662B1 (en) | 1999-06-04 | 2002-07-16 | Oracle Corporation | Generating and implementing indexes based on criteria set forth in queries |
US7308426B1 (en) * | 1999-08-11 | 2007-12-11 | C-Sam, Inc. | System and methods for servicing electronic transactions |
US6442748B1 (en) * | 1999-08-31 | 2002-08-27 | Accenture Llp | System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment |
US6738775B2 (en) * | 1999-11-30 | 2004-05-18 | Base One International Corp. | Database communication system and method for communicating with a database |
CN1114164C (zh) * | 1999-12-27 | 2003-07-09 | 英业达集团(上海)电子技术有限公司 | 互联网电子读物的下载与加密方法 |
AU2762001A (en) * | 2000-01-05 | 2001-07-16 | Iprivacy Llc | Method and system for private shipping to anonymous users of a computer network |
US20010044787A1 (en) * | 2000-01-13 | 2001-11-22 | Gil Shwartz | Secure private agent for electronic transactions |
AU2001236864A1 (en) * | 2000-02-11 | 2001-08-20 | Arun K. Subramaniam | System and method for providing anonymous internet transaction |
AU2001241609A1 (en) * | 2000-02-23 | 2001-09-03 | Capital One Financial Corporation | Systems and methods for providing anonymous financial transactions |
US7412422B2 (en) * | 2000-03-23 | 2008-08-12 | Dekel Shiloh | Method and system for securing user identities and creating virtual users to enhance privacy on a communication network |
US6826626B1 (en) * | 2000-07-21 | 2004-11-30 | Clear Blue Technologies Management, Inc. | Method of and apparatus for rapid retrieval of data in a content distribution network |
WO2002025588A2 (en) * | 2000-09-21 | 2002-03-28 | Md Online Inc. | Medical image processing systems |
US7043760B2 (en) * | 2000-10-11 | 2006-05-09 | David H. Holtzman | System and method for establishing and managing relationships between pseudonymous identifications and memberships in organizations |
US6981257B2 (en) | 2001-01-19 | 2005-12-27 | Teubner Russell W | System, method and apparatus to allow communication between CICS and non-CICS software applications |
US20020133537A1 (en) * | 2001-03-12 | 2002-09-19 | Whizz Technology Ltd. | Server cluster and server-side cooperative caching method for use with same |
US20040139125A1 (en) * | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US6950833B2 (en) * | 2001-06-05 | 2005-09-27 | Silicon Graphics, Inc. | Clustered filesystem |
US20030004819A1 (en) * | 2001-06-28 | 2003-01-02 | International Business Machines Corporation | Anonymous email guarantor processing |
CN1320483C (zh) * | 2001-09-21 | 2007-06-06 | 泛伺服公司 | 用于在多节点环境中实施日志处理的系统和方法 |
US20030088656A1 (en) * | 2001-11-02 | 2003-05-08 | Wahl Mark F. | Directory server software architecture |
US8321543B2 (en) * | 2002-03-04 | 2012-11-27 | International Business Machines Corporation | System and method for determining weak membership in set of computer nodes |
US6901401B2 (en) * | 2002-03-21 | 2005-05-31 | International Business Machines Corporation | System and method for database integrity via local database lockout |
US8271530B2 (en) | 2002-04-08 | 2012-09-18 | Oracale International Corporation | Method and mechanism for managing and accessing static and dynamic data |
DE10219916A1 (de) * | 2002-05-03 | 2003-12-04 | Infineon Technologies Ag | Testanordnung mit Testautomat und integriertem Schaltkreis sowie Verfahren zur Ermittlung des Zeitverhaltens eines integrierten Schaltkreises |
US6954524B2 (en) * | 2002-06-07 | 2005-10-11 | Sbc Properties, L.P. | System and method for implementing and accessing call forwarding services |
US7103616B1 (en) * | 2003-02-19 | 2006-09-05 | Veritas Operating Corporation | Cookie-based directory name lookup cache for a cluster file system |
US7197632B2 (en) * | 2003-04-29 | 2007-03-27 | International Business Machines Corporation | Storage system and cluster maintenance |
US7783741B2 (en) | 2003-11-17 | 2010-08-24 | Hardt Dick C | Pseudonymous email address manager |
US20050125461A1 (en) * | 2003-12-08 | 2005-06-09 | International Business Machines Corporation | Version control of metadata |
US7383285B1 (en) | 2005-03-08 | 2008-06-03 | Unisys Corporation | Method for exposing hierarchical table structures and relationships to OLE DB applications |
US20070022314A1 (en) * | 2005-07-22 | 2007-01-25 | Pranoop Erasani | Architecture and method for configuring a simplified cluster over a network with fencing and quorum |
US7653682B2 (en) * | 2005-07-22 | 2010-01-26 | Netapp, Inc. | Client failure fencing mechanism for fencing network file system data in a host-cluster environment |
-
2002
- 2002-09-23 US US10/253,088 patent/US7096213B2/en active Active
-
2003
- 2003-03-26 CA CA002480459A patent/CA2480459C/en not_active Expired - Lifetime
- 2003-03-26 CN CNB038078562A patent/CN100410929C/zh not_active Expired - Lifetime
- 2003-03-26 WO PCT/US2003/009407 patent/WO2003088093A2/en active IP Right Grant
- 2003-03-26 EP EP03716862.2A patent/EP1493105B1/en not_active Expired - Lifetime
- 2003-03-26 JP JP2003584961A patent/JP4297790B2/ja not_active Expired - Lifetime
-
2006
- 2006-04-13 US US11/404,159 patent/US7617218B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU2003220549A1 (en) | 2003-10-27 |
US20030191739A1 (en) | 2003-10-09 |
US20060195450A1 (en) | 2006-08-31 |
CN1659547A (zh) | 2005-08-24 |
US7617218B2 (en) | 2009-11-10 |
CA2480459A1 (en) | 2003-10-23 |
CN100410929C (zh) | 2008-08-13 |
JP2005522787A (ja) | 2005-07-28 |
WO2003088093A2 (en) | 2003-10-23 |
WO2003088093A3 (en) | 2004-03-25 |
CA2480459C (en) | 2010-01-19 |
EP1493105A2 (en) | 2005-01-05 |
EP1493105B1 (en) | 2019-03-13 |
US7096213B2 (en) | 2006-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4297790B2 (ja) | 物理的ストレージを抽象するプラグ可能なアーキテクチャを有するパーシステントなキーと値とのリポジトリ | |
US7567985B1 (en) | Mechanism for implementing a sparse file system for an operating system partition | |
US6549996B1 (en) | Scalable multiple address space server | |
US7584228B1 (en) | System and method for duplication of virtual private server files | |
US7882227B2 (en) | Mechanism for implementing file access control across a network using labeled containers | |
US7203774B1 (en) | Bus specific device enumeration system and method | |
US7062516B2 (en) | Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure | |
US20040068563A1 (en) | Method, system, and program for managing locks enabling access to a shared resource | |
US7664725B2 (en) | Method and apparatus for transparently mapping a request to open a data file | |
US20040226023A1 (en) | Interprocess communication within operating system partitions | |
US7885975B2 (en) | Mechanism for implementing file access control using labeled containers | |
US8938554B2 (en) | Mechanism for enabling a network address to be shared by multiple labeled containers | |
US8015215B2 (en) | Delegation in a file system with distributed components | |
JP2001517836A (ja) | 1つの記憶媒体の名称空間を別の記憶媒体の名称空間に移植する場合に既定のアクションを実行するシステムおよび方法 | |
US20230214361A1 (en) | Container system, method of dynamically mounting host data to container, and application program for the same | |
US7188120B1 (en) | System statistics virtualization for operating systems partitions | |
US7933875B2 (en) | File system with distributed components | |
JPH08115288A (ja) | 通信管理方法 | |
US7831623B2 (en) | Method, system, and article of manufacture for storing device information | |
US7827194B2 (en) | Access to shared disk device on storage area network | |
KR20200131375A (ko) | 서버 애플리케이션 컨테이너화 방법 및 이를 수행하는 컴퓨터 시스템 | |
AU2003220549B2 (en) | Key-value repository with a pluggable architecture | |
US7870276B1 (en) | Interface plugin | |
US20230315549A1 (en) | Resource management method and computing system | |
US12032516B1 (en) | File-level snapshot access service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081209 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090217 |
|
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: 20090317 |
|
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: 20090414 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4297790 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140424 Year of fee payment: 5 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |