JP5321682B2 - ストレージシステムとストレージアクセス方法とプログラム - Google Patents
ストレージシステムとストレージアクセス方法とプログラム Download PDFInfo
- Publication number
- JP5321682B2 JP5321682B2 JP2011507250A JP2011507250A JP5321682B2 JP 5321682 B2 JP5321682 B2 JP 5321682B2 JP 2011507250 A JP2011507250 A JP 2011507250A JP 2011507250 A JP2011507250 A JP 2011507250A JP 5321682 B2 JP5321682 B2 JP 5321682B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- key
- pair
- storage device
- hash
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (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)
Description
本発明は、日本国特許出願:特願2009−086634号(2009年 3月31日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ストレージシステムと方法とプログラムに関し、特に、キー・バリュー型ストレージに適用して好適なストレージシステムと方法とプログラムに関する。
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する手段を備えた、ストレージシステムが提供される。
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する方法が提供される。
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する処理を実行させるプログラムが提供される。
・アドレスマップを共有する方法や、
・MPI(Message Passing Interface)で通信する方法、
等が知られている。しかし、これらの方法は、ノードが増えていくと性能が飽和する。
図1は、本発明の一実施形態のシステム構成を示す図である。図1において、ノード1は、ストレージとして、メモリ2(例えばRAM)と、ハードディスク(「ディスク」と略記される)3を有する。メモリ2において指定された容量(あるいは領域)が、Key−Valueストレージ用に確保されている。メモリ2において指定された容量(あるいは領域)を、「キー・バリュー型(Key−Value)ストレージ用メモリ4」と呼ぶ。Key−Valueストレージ用メモリ4は、Key−Valueストレージサーバ機能5で管理する。なお、Key−Valueストレージ用メモリ4を、メモリ2内の設けずに、別構成の半導体メモリで構成してもよいことは勿論である。
Get(K)=V
Put(<K、V>)
と表記できる。
Get(Red)=Apple、
Get(Yellow)=Orange、
Get(Pink)=Peach
となる。
2段目:<Hash(Value)、Value>
(1)アプリケーション6からPut(K,V)命令がKey−Valueストレージクライアント機能7に発行される。
(1)アプリケーション6からGet(K)命令がKey−Valueストレージクライアント機能7に発行される。
本実施形態では、コンテンツアドレスストレージ(Contents Address Storage:CAS)を利用する。コンテンツアドレスストレージは、コンテンツアウェアトレージ、コンテンツアーカイブストレージとも呼ばれ、データを、コンテンツ(バイトストリーム)とメタデータからなるオブジェクトとして保存する。その際、オブジェクトを識別するオブジェクトID(「コンテンツアドレス」という)を生成し、要求元(ユーザ、アプリケーション)に返す。ユーザは、オブジェクトIDを使用してオブジェクトの読み出しを行う。特に制限されないが、オブジェクトIDはハッシュアルゴリズム(SHA−1、SHA−256)等が用いられる。メタデータは例えばコンテンツの属性情報(例えば生成時刻、保持期間、コンテンツサイズ、コメント等)からなる。
1段目が<K、CA(V)>、
2段目が<CA(V)、V>
となる。2段目はCASそのものである。
1段目:<K、Hash(V)>
2段目:<Hash(V)、CA(V)>
3段目:<CA(V)、V> = CAS
1段目(<Key,Hash(Value)>)がアイテム12A、
2段目(<Hash(Value),CA(Value)>)がアイテム12B、
3段目(<CA(Value),Value>)がアイテム12C
となる。アイテム12Cは、CASである。
(付記1)
キーとバリューを対応させて格納し、キーを検索してバリューを得るキー・バリュー型データストア構成のストレージシステムであって、
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキーとバリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキーとバリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する手段を備えた、ストレージシステム。
(付記2)
キーとバリューの対の書き込み要求に対して、
前記第1の対と前記第2の対を、揮発性の記憶装置にそれぞれ保存し、
前記第1の対は、前記揮発性の記憶装置への保存とともに又はその後、前記書き込み要求の応答を要求元に返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、前記揮発性の記憶装置への保存とともに又はその後の任意のタイミングで不揮発性の記憶装置に保存する、付記1記載のストレージシステム。
(付記3)
読み出し時、
前記キーによる検索の結果、前記キーと前記第1の対をなすバリューのハッシュ値が見つかった場合、次に、前記バリューのハッシュ値をキーとして前記記憶装置を検索して前記第2の対のバリューを取得し、
前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、前記バリューのハッシュ値と前記第2の対をなすバリューが見つかった場合、前記バリューを読み出し結果として返し、
前記キーと前記第1の対をなすバリューのハッシュ値が見つからなかったときには、前記キーに対するバリューが存在しないことを示す情報を返し、
前前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、且つ、前記バリューのハッシュ値と前記第2の対をなすバリューが見つからなかったときは、エラーを返す、付記1又は2記載のストレージシステム。
(付記4)
キーとバリューを対にして格納し、キーからバリューを得ることができるデータ構成を持ち、
キーとバリューの書き込み時、前記キーと前記バリューのハッシュ値の第1の対と、前記バリューのハッシュ値と前記バリューの第2の対を、揮発性の記憶装置にそれぞれ格納しておき、
前記第1の対は応答を返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、揮発性の記憶装置に保存しておき、任意のタイミングで不揮発性の記憶装置に保存する手段と、
キーからバリューを得る読み出し時に、前記第1の対からバリューのハッシュ値を得て前記第2の対を読み出す処理において、前記第2の対が存在しないときには、データが正常に格納されなかったと判断する手段を備えた、ストレージシステム。
(付記5)
データ及びメタデータをオブジェクトとして保存するとオブジェクト識別子を生成し該オブジェクト識別子であるコンテンツアドレスを返し、該コンテンツアドレスを用いてオブジェクトにアクセスするコンテンツアドレスストレージ(CAS)を備え、
第1の対をキーとバリューのハッシュ値の対とし、
第2の対を、前記バリューのハッシュ値とバリューの対のかわりに、前記バリューのハッシュ値をキー、前記バリューのコンテンツアドレスをバリューとする対とし、
前記バリューを、前記コンテンツアドレスストレージに保存する、付記1乃至4のいずれか1に記載のストレージシステム。
(付記6)
ネットワーク接続される複数ノードがそれぞれ、付記1乃至5のいずれか1に記載のストレージシステムを備えた分散ストレージシステム。
(付記7)
書き込み時、キーとバリューを対応させて格納し、読み出し時、キーで検索してバリューを得る複数のキー・バリュー型ストレージサーバと、
キーとバリューの対の書き込み要求を受け、
前記バリューのハッシュ値を計算し、
前記キーと前記バリューのハッシュ値をそれぞれキーとバリューとする第1の対と、
前記バリューのハッシュ値と前記バリューをそれぞれキーとバリューとする第2の対と、
を生成し、
前記第1の対のキーとバリューを対応させて第1のキー・バリュー型ストレージサーバに保存し、
前記第2の対のキーとバリューを対応させて第2のキー・バリュー型ストレージサーバに保存するストレージクライアントと、
を備えた、分散ストレージシステム。
(付記8)
前記ストレージクライアントは、キーからバリューを得る読み出し要求を受けると、
前記第1のキー・バリュー型ストレージサーバに対して前記キーで検索して、前記キーと前記第1の対をなす前記バリューのハッシュ値を取得し、
前記第2のキー・バリュー型ストレージサーバに対して前記バリューのハッシュ値で検索して、前記バリューのハッシュ値と前記第2の対をなす前記バリューを取得し、前記検索処理において、前記バリューのハッシュ値と前記バリューの前記第2の対が存在しないときには、前記第1の対が前記第1のキー・バリュー型ストレージサーバに正常に保存されなかったものと判断する、付記7記載の分散ストレージシステム。
(付記9)
前記ストレージクライアントは、前記第1、第2の対のキーのハッシュ値に基づき、前記第1、第2の対のキーとバリューを保存する第1、第2のキー・バリュー型ストレージサーバを決定する、付記7又は8記載の分散ストレージシステム。
(付記10)
前記第1のキー・バリュー型ストレージサーバが、第1の揮発性の記憶装置と第1の不揮発性の記憶装置を備え、
前記第2のキー・バリュー型ストレージサーバが、第2の揮発性の記憶装置と第2の不揮発性の記憶装置を備え、
前記第1のキー・バリュー型ストレージサーバは、前記第1の対のキーとバリューを前記第1の揮発性の記憶装置に保存し、
前記第2のキー・バリュー型ストレージサーバは、前記第2の対のキーとバリューを前記第2の揮発性の記憶装置に保存し、
前記第1のキー・バリュー型ストレージサーバは、書き込み要求に対する応答を返す前に、前記第1の対のキーとバリューを前記第1の不揮発性の記憶装置に保存し、
前記第2のキー・バリュー型ストレージサーバは、前記第2の対のキーとバリューを任意のタイミングで、前記第2の不揮発性の記憶装置に保存する、付記7乃至9のいずれか一に記載の分散ストレージシステム。
(付記11)
前記ストレージクライアントは、キーとバリューの対の書き込み要求を受けて、キーとバリューの対をキャッシュメモリに格納し、
キーからバリューを得る読み出し要求に対して、前記キャッシュメモリに前記キーと、前記キーに対応するバリューが格納されている場合、前記キャッシュメモリから前記キーに対応するバリューを読み出して応答として返す、付記7乃至9のいずれか一に記載の分散ストレージシステム。
(付記12)
キーとバリューを対応させて格納し、キーを検索してバリューを得るキー・バリュー型ストレージのアクセス方法であって、
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する、ストレージアクセス方法。
(付記13)
キーとバリューの対の書き込み要求に対して、
前記第1の対と前記第2の対を、揮発性の記憶装置にそれぞれ保存し、
前記第1の対は、前記揮発性の記憶装置への保存とともに又はその後、前記書き込み要求の応答を要求元に返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、前記揮発性の記憶装置への保存とともに又はその後の任意のタイミングで不揮発性の記憶装置に保存する、付記12記載のストレージアクセス方法。
(付記14)
読み出し時、前記キーによる検索の結果、前記キーと前記第1の対をなすバリューのハッシュ値が見つかった場合、次に、前記バリューのハッシュ値をキーとして前記記憶装置を検索して前記第2の対のバリューを取得し、
前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、前記バリューのハッシュ値と前記第2の対をなすバリューが見つかった場合、前記バリューを読み出し結果として返し、
前記キーと前記第1の対をなすバリューのハッシュ値が見つからなかったときには、前記キーに対するバリューが存在しないことを示す情報を返し、
前前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、且つ、前記バリューのハッシュ値と前記第2の対をなすバリューが見つからなかったときは、エラーを返す、付記12又は13記載のストレージアクセス方法。
(付記15)
キーとバリューを対にして格納し、キーからバリューを得ることができるデータ構成を持ち、
キーとバリューの書き込み時、前記キーと前記バリューのハッシュ値の第1の対と、前記バリューのハッシュ値と前記バリューの第2の対を揮発性の記憶装置にそれぞれ格納しておき、
前記第1の対は、応答を返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、揮発性の記憶装置に保存しておき、任意のタイミングで不揮発性の記憶装置に保存し、
キーからバリューを得る読み出し処理時に、前記第1の対からバリューのハッシュ値を得て前記第2の対を読み出す処理において、前記第2の対が存在しないときには、データが正常に格納されなかったと判断する、ストレージアクセス方法。
(付記16)
データ及びメタデータをオブジェクトとして保存するとオブジェクト識別子を生成し該オブジェクト識別子であるコンテンツアドレスを返し、該コンテンツアドレスを用いてオブジェクトにアクセスするコンテンツアドレスストレージ(CAS)に、キーとバリューの対の前記バリューを保存し、
第1の対をキーとバリューのハッシュ値の対とし、
第2の対を、前記バリューのハッシュ値とバリューの対のかわりに、前記バリューのハッシュ値をキー、前記バリューのコンテンツアドレスをバリューとする対とする、付記12乃至15のいずれか一に記載のストレージアクセス方法。
(付記17)
アプリケーションからキーとバリューの対の書き込み要求を受けたストレージクライアントは、
前記バリューのハッシュ値を計算し、
前記キーと前記バリューのハッシュ値をそれぞれキーとバリューとする第1の対と、
前記バリューのハッシュ値と前記バリューをそれぞれキーとバリューとする第2の対と、
を生成し、
前記第1の対のキーとバリューを対応させて第1のキー・バリュー型ストレージサーバに保存し、
前記第2の対のキーとバリューを対応させて第2のキー・バリュー型ストレージサーバに保存する、分散ストレージアクセス方法。
(付記18)
前記ストレージクライアントは、アプリケーションからキーを指定した読み出し要求を受けると、
前記第1のキー・バリュー型ストレージサーバに対して前記キーによる検索を行い、前記キーと前記第1の対をなす前記バリューのハッシュ値を取得し、
前記第2のキー・バリュー型ストレージサーバに対して前記バリューのハッシュ値による検索を行い、前記バリューのハッシュ値と前記第2の対をなす前記バリューを取得する処理を実行し、その際、前記検索処理において、前記バリューのハッシュ値と前記バリューの前記第2の対が存在しないときには、前記第1の対が前記第1のキー・バリュー型ストレージサーバに正常に保存されなかったものと判断する、付記17記載の分散ストレージアクセス方法。
(付記19)
前記ストレージクライアントは、前記第1、第2の対のキーのハッシュ値に基づき、前記第1、第2の対のキーとバリューを保存する第1、第2のキー・バリュー型ストレージサーバを決定する、付記17又は18記載の分散ストレージアクセス方法。
(付記20)
前記第1のキー・バリュー型ストレージサーバが、第1の揮発性の記憶装置と第1の不揮発性の記憶装置を備え、
前記第2のキー・バリュー型ストレージサーバが、第2の揮発性の記憶装置と第2の不揮発性の記憶装置を備え、
前記第1、第2のキー・バリュー型ストレージサーバは、
前記第1の対のキーとバリューを前記第1の揮発性の記憶装置に、
前記第2の対のキーとバリューを前記第2の揮発性の記憶装置に、それぞれ保存し、
前記第1のキー・バリュー型ストレージサーバは、書き込み要求に対する応答を返す前に、前記第1の対のキーとバリューを前記第1の不揮発性の記憶装置に保存し、
前記第2のキー・バリュー型ストレージサーバは、前記第2の対のキーとバリューを任意のタイミングで前記第2の不揮発性の記憶装置に保存する、付記17乃至19のいずれか一に記載の分散ストレージアクセス方法。
(付記21)
キーとバリューを対応させて格納し、キーを検索してバリューを得るキー・バリュー型データストア構成のストレージシステムを構成するコンピュータに、
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算する処理と、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納する処理と、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得する処理と、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する、処理と、
を実行させるプログラム。
(付記22)
キーとバリューの対の書き込み要求に対して、
前記第1の対と前記第2の対を、揮発性の記憶装置にそれぞれ保存する処理と、
前記第1の対は、前記揮発性の記憶装置への保存とともに又はその後、前記書き込み要求の応答を要求元に返す前に、不揮発性の記憶装置に保存する処理と、
前記第2の対は、前記揮発性の記憶装置への保存とともに又はその後の任意のタイミングで不揮発性の記憶装置に保存するする処理と、
を前記コンピュータに実行させる付記21記載のプログラム。
(付記23)
読み出し時、
前記キーによる検索の結果、前記キーと前記第1の対をなすバリューのハッシュ値が見つかった場合、次に、前記バリューのハッシュ値をキーとして前記記憶装置を検索して前記第2の対のバリューを取得する処理と、
前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、前記バリューのハッシュ値と前記第2の対をなすバリューが見つかった場合、前記バリューを読み出し結果として返す処理と、
前記キーと前記第1の対をなすバリューのハッシュ値が見つからなかったときには、前記キーに対するバリューが存在しないことを示す情報を返す処理と、
前前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、且つ、前記バリューのハッシュ値と前記第2の対をなすバリューが見つからなかったときは、エラーを返す処理と、
を前記コンピュータに実行させる付記21又は22記載のプログラム。
(付記24)
キーとバリューを対にして格納し、キーからバリューを得ることができるデータ構成を備えたストレージシステムを構成するコンピュータに、
キーとバリューのハッシュ値の第1の対と、
バリューのハッシュ値とバリューの第2の対を格納しておき、
前記第1の対は応答を返す前に、不揮発性の第1の記憶装置に保存し、
前記第2の対は、揮発性の第2の記憶装置に保存しておき、任意のタイミングで前記第1の記憶装置に保存し、
キーからバリューを得る読み出し処理時に、前記第1の対からバリューのハッシュ値を得て前記第2の対を読み出す処理において、前記第2の対が存在しないときには、データが前記第1の記憶装置に正常に格納されなかったと判断する処理を実行させるプログラム。
(付記25)
データ及びメタデータをオブジェクトとして保存するとオブジェクト識別子を生成し該オブジェクト識別子であるコンテンツアドレスを返し、該コンテンツアドレスを用いてオブジェクトにアクセスするコンテンツアドレスストレージ(CAS)に、キーとバリューの対の前記バリューを保存し、
第1の対をキーとバリューのハッシュ値の対とし、
第2の対を、前記バリューのハッシュ値とバリューの対のかわりに、前記バリューのハッシュ値をキー、前記バリューのコンテンツアドレスをバリューとする対とする処理を前記コンピュータに実行させる付記21乃至24のいずれか一に記載のプログラム。
2 メモリ
3 ハードディスク(ディスク)
4 Key−Valueストレージ用メモリ
5、5A、5B、5C、5D Key−Valueストレージサーバ機能
6 アプリケーション
7 Key−Valueストレージクライアント機能
8 ネットワーク
10 Key
11 Value
12 アイテム
12A アイテム
12B アイテム
12C アイテム
13 Hash(Value)
14 CA(Value)
51 サーバ管理部
71 キャッシュ管理部
72 キャッシュメモリ
73 Hash計算部
74 サーバインタフェース部
75 サーバ検索部
Claims (15)
- キーとバリューを対応させて格納し、キーを検索してバリューを得るキー・バリュー型データストア構成のストレージシステムであって、
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキーとバリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキーとバリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する手段を備えた、ストレージシステム。 - キーとバリューの対の書き込み要求に対して、
前記第1の対と前記第2の対を、揮発性の記憶装置にそれぞれ保存し、
前記第1の対は、前記揮発性の記憶装置への保存とともに又はその後、前記書き込み要求の応答を要求元に返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、前記揮発性の記憶装置への保存とともに又はその後の任意のタイミングで不揮発性の記憶装置に保存する、請求項1記載のストレージシステム。 - 読み出し時、
前記キーによる検索の結果、前記キーと前記第1の対をなすバリューのハッシュ値が見つかった場合、次に、前記バリューのハッシュ値をキーとして前記記憶装置を検索して前記第2の対のバリューを取得し、
前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、前記バリューのハッシュ値と前記第2の対をなすバリューが見つかった場合、前記バリューを読み出し結果として返し、
前記キーと前記第1の対をなすバリューのハッシュ値が見つからなかったときには、前記キーに対するバリューが存在しないことを示す情報を返し、
前前記キーと前記第1の対をなすバリューのハッシュ値が見つかり、且つ、前記バリューのハッシュ値と前記第2の対をなすバリューが見つからなかったときは、エラーを返す、請求項1又は2記載のストレージシステム。 - キーとバリューの書き込み時、前記キーと前記バリューのハッシュ値の前記第1の対と、前記バリューのハッシュ値と前記バリューの前記第2の対を、揮発性の記憶装置にそれぞれ格納しておき、
前記第1の対は応答を返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、揮発性の記憶装置に保存しておき、任意のタイミングで不揮発性の記憶装置に保存する手段と、
キーからバリューを得る読み出し時に、前記第1の対からバリューのハッシュ値を得て前記第2の対を読み出す処理において、前記第2の対が存在しないときには、データが正常に格納されなかったと判断する手段を備えた、請求項1記載のストレージシステム。 - データ及びメタデータをオブジェクトとして保存するとオブジェクト識別子を生成し該オブジェクト識別子であるコンテンツアドレスを返し、該コンテンツアドレスを用いてオブジェクトにアクセスするコンテンツアドレスストレージ(CAS)を備え、
第1の対をキーとバリューのハッシュ値の対とし、
第2の対を、前記バリューのハッシュ値とバリューの対のかわりに、前記バリューのハッシュ値をキー、前記バリューのコンテンツアドレスをバリューとする対とし、
前記バリューを、前記コンテンツアドレスストレージに保存する、請求項1乃至3のいずれか1項に記載のストレージシステム。 - ネットワークに接続され、請求項1乃至5のいずれか1項記載のストレージシステムを備えたノードを複数有する分散ストレージシステム。
- 前記ノードが、書き込み時、キーとバリューを対応させて格納し、読み出し時、キーで検索してバリューを得る複数のキー・バリュー型ストレージサーバと、
キーとバリューの対の書き込み要求を受け、
前記バリューのハッシュ値を計算し、
前記キーと前記バリューのハッシュ値をそれぞれキーとバリューとする第1の対と、
前記バリューのハッシュ値と前記バリューをそれぞれキーとバリューとする第2の対と、
を生成し、
前記第1の対のキーとバリューを対応させて第1のキー・バリュー型ストレージサーバに保存し、
前記第2の対のキーとバリューを対応させて第2のキー・バリュー型ストレージサーバに保存するストレージクライアントと、
を備えた、請求項6記載の分散ストレージシステム。 - 前記ストレージクライアントは、キーからバリューを得る読み出し要求を受けると、
前記第1のキー・バリュー型ストレージサーバに対して前記キーで検索して、前記キーと前記第1の対をなす前記バリューのハッシュ値を取得し、
前記第2のキー・バリュー型ストレージサーバに対して前記バリューのハッシュ値で検索して、前記バリューのハッシュ値と前記第2の対をなす前記バリューを取得し、前記検索処理において、前記バリューのハッシュ値と前記バリューの前記第2の対が存在しないときには、前記第1の対が前記第1のキー・バリュー型ストレージサーバに正常に保存されなかったものと判断する、請求項7記載の分散ストレージシステム。 - 前記ストレージクライアントは、前記第1、第2の対のキーのハッシュ値に基づき、前記第1、第2の対のキーとバリューを保存する第1、第2のキー・バリュー型ストレージサーバを決定する、請求項7又は8記載の分散ストレージシステム。
- 前記第1のキー・バリュー型ストレージサーバが、第1の揮発性の記憶装置と第1の不揮発性の記憶装置を備え、
前記第2のキー・バリュー型ストレージサーバが、第2の揮発性の記憶装置と第2の不揮発性の記憶装置を備え、
前記第1のキー・バリュー型ストレージサーバは、前記第1の対のキーとバリューを前記第1の揮発性の記憶装置に保存し、
前記第2のキー・バリュー型ストレージサーバは、前記第2の対のキーとバリューを前記第2の揮発性の記憶装置に保存し、
前記第1のキー・バリュー型ストレージサーバは、書き込み要求に対する応答を返す前に、前記第1の対のキーとバリューを前記第1の不揮発性の記憶装置に保存し、
前記第2のキー・バリュー型ストレージサーバは、前記第2の対のキーとバリューを任意のタイミングで、前記第2の不揮発性の記憶装置に保存する、請求項7乃至9のいずれか1項に記載の分散ストレージシステム。 - 前記ストレージクライアントは、キーとバリューの対の書き込み要求を受けて、キーとバリューの対をキャッシュメモリに格納し、
キーからバリューを得る読み出し要求に対して、前記キャッシュメモリに前記キーと、前記キーに対応するバリューが格納されている場合、前記キャッシュメモリから前記キーに対応するバリューを読み出して応答として返す、請求項7乃至9のいずれか1項に記載の分散ストレージシステム。 - キーとバリューを対応させて格納し、キーを検索してバリューを得るキー・バリュー型ストレージのアクセス方法であって、
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算し、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納し、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得し、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する、ストレージアクセス方法。 - キーとバリューの対の書き込み要求に対して、
前記第1の対と前記第2の対を、揮発性の記憶装置にそれぞれ保存し、
前記第1の対は、前記揮発性の記憶装置への保存とともに又はその後、前記書き込み要求の応答を要求元に返す前に、不揮発性の記憶装置に保存し、
前記第2の対は、前記揮発性の記憶装置への保存とともに又はその後の任意のタイミングで不揮発性の記憶装置に保存する、請求項12記載のストレージアクセス方法。 - キーとバリューを対応させて格納し、キーを検索してバリューを得るキー・バリュー型データストア構成のストレージシステムを構成するコンピュータに、
キーとバリューの対の書き込み要求に対して、
前記バリューのハッシュ値を計算する処理と、
前記キーと、前記バリューのハッシュ値をそれぞれキー、バリューとする第1の対と、
前記バリューのハッシュ値と、前記バリューをそれぞれキー、バリューとする第2の対と、
をそれぞれ記憶装置に格納する処理と、
読み出し要求に対して、
前記読み出し要求で指定されたキーで前記記憶装置を検索して、前記キーと前記第1の対をなすバリューのハッシュ値を取得する処理と、
取得した前記バリューのハッシュ値で前記記憶装置を検索して、前記バリューのハッシュ値と前記第2の対をなすバリューを取得し、その際、前記バリューのハッシュ値で前記記憶装置を検索した結果、前記バリューのハッシュ値と前記第2の対をなすバリューが前記記憶装置に存在しない場合、前記第1の対が前記記憶装置に正常に保存されなかったものと判断する、処理と、
を実行させるプログラム。 - キーとバリューの対の書き込み要求に対して、
前記第1の対と前記第2の対を、揮発性の記憶装置にそれぞれ保存する処理と、
前記第1の対は、前記揮発性の記憶装置への保存とともに又はその後、前記書き込み要求の応答を要求元に返す前に、不揮発性の記憶装置に保存する処理と、
前記第2の対は、前記揮発性の記憶装置への保存とともに又はその後の任意のタイミングで不揮発性の記憶装置に保存するする処理と、
を前記コンピュータに実行させる請求項14記載のプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011507250A JP5321682B2 (ja) | 2009-03-31 | 2010-03-31 | ストレージシステムとストレージアクセス方法とプログラム |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009086634 | 2009-03-31 | ||
| JP2009086634 | 2009-03-31 | ||
| PCT/JP2010/055817 WO2010114006A1 (ja) | 2009-03-31 | 2010-03-31 | ストレージシステムとストレージアクセス方法とプログラム |
| JP2011507250A JP5321682B2 (ja) | 2009-03-31 | 2010-03-31 | ストレージシステムとストレージアクセス方法とプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2010114006A1 JPWO2010114006A1 (ja) | 2012-10-11 |
| JP5321682B2 true JP5321682B2 (ja) | 2013-10-23 |
Family
ID=42828295
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011507250A Active JP5321682B2 (ja) | 2009-03-31 | 2010-03-31 | ストレージシステムとストレージアクセス方法とプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US8635402B2 (ja) |
| JP (1) | JP5321682B2 (ja) |
| WO (1) | WO2010114006A1 (ja) |
Families Citing this family (49)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2011072178A1 (en) * | 2009-12-09 | 2011-06-16 | Bizanga Ltd. | Probabilistic offload engine for distributed hierarchical object storage devices |
| JP5591406B2 (ja) * | 2010-09-02 | 2014-09-17 | エヌイーシー ラボラトリーズ アメリカ インク | ロー・レイテンシ内容アドレス記憶装置 |
| WO2012141115A1 (ja) * | 2011-04-11 | 2012-10-18 | Quadrac株式会社 | データベース装置、データベースシステム |
| JP2013004067A (ja) * | 2011-06-22 | 2013-01-07 | Nippon Telegr & Teleph Corp <Ntt> | ストレージシステム、ストレージ制御方法、プログラム |
| JP5524144B2 (ja) | 2011-08-08 | 2014-06-18 | 株式会社東芝 | key−valueストア方式を有するメモリシステム |
| JP5762878B2 (ja) * | 2011-08-08 | 2015-08-12 | 株式会社東芝 | key−valueストアを有するメモリシステム |
| WO2013061680A1 (ja) * | 2011-10-26 | 2013-05-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、データ・アクセス方法およびプログラム |
| US9286241B2 (en) * | 2012-02-21 | 2016-03-15 | Microchip Technology Incorporated | Cryptographic transmission system |
| US10157051B2 (en) * | 2012-03-02 | 2018-12-18 | International Business Machines Corporation | Upgrading devices in a dispersed storage network |
| US8370567B1 (en) * | 2012-03-23 | 2013-02-05 | DSSD, Inc. | Storage system with self describing data |
| JP5597666B2 (ja) * | 2012-03-26 | 2014-10-01 | 株式会社東芝 | 半導体記憶装置、情報処理システムおよび制御方法 |
| US9674296B2 (en) * | 2012-07-09 | 2017-06-06 | University Of Southern California | Preventing race condition from causing stale data items in cache |
| US9336334B2 (en) * | 2013-05-17 | 2016-05-10 | Bigobject, Inc. | Key-value pairs data processing apparatus and method |
| US9684672B2 (en) * | 2013-07-01 | 2017-06-20 | Empire Technology Development Llc | System and method for data storage |
| JP6281225B2 (ja) * | 2013-09-30 | 2018-02-21 | 日本電気株式会社 | 情報処理装置 |
| JP6160958B2 (ja) * | 2013-10-02 | 2017-07-12 | Necソリューションイノベータ株式会社 | 負荷分散システム、負荷分散方法および負荷分散プログラム |
| JP5628397B2 (ja) * | 2013-10-29 | 2014-11-19 | 株式会社東芝 | ストレージ装置 |
| JP6034512B2 (ja) * | 2013-12-25 | 2016-11-30 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
| JP5646775B2 (ja) * | 2014-01-15 | 2014-12-24 | 株式会社東芝 | key−valueストア方式を有するメモリシステム |
| JP5832592B1 (ja) * | 2014-06-02 | 2015-12-16 | 三菱電機株式会社 | データ管理装置 |
| JP6519111B2 (ja) | 2014-07-18 | 2019-05-29 | 富士通株式会社 | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 |
| US9823841B2 (en) | 2014-09-15 | 2017-11-21 | Seagate Technology Llc | Associating keys with data and compute objects in a storage compute device |
| KR20160056380A (ko) * | 2014-11-10 | 2016-05-20 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
| JP2016206757A (ja) * | 2015-04-16 | 2016-12-08 | 富士通株式会社 | 分散処理プログラム、分散処理方法および情報処理装置 |
| US10891264B2 (en) * | 2015-04-30 | 2021-01-12 | Vmware, Inc. | Distributed, scalable key-value store |
| JP6238931B2 (ja) * | 2015-05-14 | 2017-11-29 | ヤフー株式会社 | 情報処理装置、プログラム、情報処理システム及びデータ管理方法 |
| CN106484691B (zh) | 2015-08-24 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 移动终端的数据存储方法和装置 |
| CN105306457B (zh) * | 2015-09-30 | 2018-11-20 | 努比亚技术有限公司 | 数据缓存装置及方法 |
| JP6034467B2 (ja) * | 2015-10-23 | 2016-11-30 | 株式会社東芝 | システム |
| US10437802B2 (en) * | 2016-03-07 | 2019-10-08 | Western Digital Technologies, Inc. | Single IO operation integer-value database |
| JP6542152B2 (ja) | 2016-03-29 | 2019-07-10 | 東芝メモリ株式会社 | オブジェクトストレージ、コントローラおよびプログラム |
| US11481126B2 (en) * | 2016-05-24 | 2022-10-25 | Micron Technology, Inc. | Memory device error based adaptive refresh rate systems and methods |
| CN108460049B (zh) * | 2017-02-21 | 2021-10-19 | 阿里巴巴集团控股有限公司 | 一种确定信息类别的方法和系统 |
| US10754995B2 (en) * | 2017-10-05 | 2020-08-25 | Zadara Storage, Inc. | Consistency across key value stores with shared journals |
| KR102545167B1 (ko) | 2017-11-23 | 2023-06-19 | 삼성전자주식회사 | 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법 |
| CN110275838B (zh) * | 2018-03-16 | 2021-08-10 | 北京忆芯科技有限公司 | Kv存储设备的地址转换及其加速器 |
| US11019060B2 (en) | 2018-11-01 | 2021-05-25 | Giocasters, Llc | Methods and systems for providing a customized network |
| US10936501B2 (en) | 2019-02-01 | 2021-03-02 | Kinaxis Inc. | Cache management for search optimization |
| US11556470B2 (en) | 2021-02-02 | 2023-01-17 | Kinaxis Inc. | Cache management for search optimization |
| US11775433B2 (en) | 2019-02-01 | 2023-10-03 | Kinaxis Inc. | Cache management for search optimization |
| EP3669281B1 (en) * | 2019-07-11 | 2024-04-03 | Advanced New Technologies Co., Ltd. | Shared blockchain data storage |
| WO2019179539A2 (en) | 2019-07-11 | 2019-09-26 | Alibaba Group Holding Limited | Shared blockchain data storage |
| WO2019179540A2 (en) | 2019-07-11 | 2019-09-26 | Alibaba Group Holding Limited | Shared blockchain data storage |
| CN110650182B (zh) * | 2019-08-30 | 2023-03-07 | 深圳壹账通智能科技有限公司 | 网络缓存方法、装置、计算机设备及存储介质 |
| WO2021070234A1 (ja) * | 2019-10-08 | 2021-04-15 | 日本電信電話株式会社 | データアクセス方法、データ記憶システム、サーバ装置、クライアント装置、およびプログラム |
| US11283621B1 (en) * | 2019-11-13 | 2022-03-22 | Worldpay, Llc | Methods and systems for enhanced endpoint identity validation in electronic transactions |
| CN110968267B (zh) * | 2019-11-15 | 2024-05-31 | 北京乐我无限科技有限责任公司 | 数据管理方法、装置、服务器及系统 |
| US20220358096A1 (en) * | 2021-05-06 | 2022-11-10 | Nutanix, Inc. | Management of consistent indexes without transactions |
| KR102660101B1 (ko) * | 2021-07-08 | 2024-04-23 | 단국대학교 산학협력단 | 키-값 스토리지에서의 키-값 쌍 그룹화 장치 및 방법 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007063945A1 (ja) * | 2005-12-02 | 2007-06-07 | International Business Machines Corporation | データベースに対するアクセスを効率化するシステム、および、その方法 |
| JP2009020757A (ja) * | 2007-07-12 | 2009-01-29 | Toshiba Corp | データ登録装置、データ登録方法及びプログラム |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8397051B2 (en) * | 2009-02-23 | 2013-03-12 | Autonomy, Inc. | Hybrid hash tables |
| US8037076B2 (en) * | 2009-05-11 | 2011-10-11 | Red Hat, Inc. | Federated indexing from hashed primary key slices |
| US8161244B2 (en) * | 2009-05-13 | 2012-04-17 | Microsoft Corporation | Multiple cache directories |
-
2010
- 2010-03-31 WO PCT/JP2010/055817 patent/WO2010114006A1/ja not_active Ceased
- 2010-03-31 JP JP2011507250A patent/JP5321682B2/ja active Active
- 2010-03-31 US US13/262,048 patent/US8635402B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2007063945A1 (ja) * | 2005-12-02 | 2007-06-07 | International Business Machines Corporation | データベースに対するアクセスを効率化するシステム、および、その方法 |
| JP2009020757A (ja) * | 2007-07-12 | 2009-01-29 | Toshiba Corp | データ登録装置、データ登録方法及びプログラム |
Non-Patent Citations (4)
| Title |
|---|
| CSND200800724007; 正野 勇嗣: '第1章 memcached入門 しくみと導入方法を学ぶ' WEB+DB PRESS 第47巻, 20081201, P. 60-64, (株)技術評論社 * |
| CSND200900318003; '"汎用から専用へ"' 日経コンピュータ 第726号, 20090318, P. 40-47, 日経BP社 * |
| JPN6013029157; 正野 勇嗣: '第1章 memcached入門 しくみと導入方法を学ぶ' WEB+DB PRESS 第47巻, 20081201, P. 60-64, (株)技術評論社 * |
| JPN6013029158; '"汎用から専用へ"' 日経コンピュータ 第726号, 20090318, P. 40-47, 日経BP社 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US8635402B2 (en) | 2014-01-21 |
| US20120036317A1 (en) | 2012-02-09 |
| JPWO2010114006A1 (ja) | 2012-10-11 |
| WO2010114006A1 (ja) | 2010-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5321682B2 (ja) | ストレージシステムとストレージアクセス方法とプログラム | |
| US9262458B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
| CN103345472B (zh) | 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法 | |
| US9305040B2 (en) | Efficient B-tree data serialization | |
| US10769075B2 (en) | Storage of database dictionary structures in non-volatile memory | |
| CN109977111A (zh) | 采用基于散列和基于树的键-值数据结构的数据管理系统 | |
| CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
| JP2023504174A (ja) | データベーススキーマのハッシュツリーの生成 | |
| WO2025236959A1 (zh) | 分布式数据库的数据备份、恢复、查询方法及装置 | |
| CN113535670B (zh) | 一种虚拟化资源镜像存储系统及其实现方法 | |
| CN102682110A (zh) | 面向大规模空间信息的高性能缓存设计方法 | |
| WO2018205151A1 (zh) | 数据更新方法和存储装置 | |
| US9336135B1 (en) | Systems and methods for performing search and complex pattern matching in a solid state drive | |
| WO2022048356A1 (zh) | 一种云平台的数据处理方法、系统、电子设备及存储介质 | |
| CN103473337A (zh) | 一种分布式存储系统中处理面向海量目录和文件的方法 | |
| US10642745B2 (en) | Key invalidation in cache systems | |
| WO2023093091A1 (zh) | 数据存储系统、智能网卡及计算节点 | |
| CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
| CN111352589A (zh) | 一种分布式存储的方法、装置、设备及可读介质 | |
| WO2024255357A1 (zh) | 数据写入方法、装置、计算机设备及存储介质 | |
| US10417215B2 (en) | Data storage over immutable and mutable data stages | |
| US20220004664A1 (en) | Data integrity procedure | |
| CN106547484B (zh) | 一种基于raid5的实现内存数据可靠性方法及系统 | |
| CN114207602B (zh) | 使用概率数据结构减少请求 | |
| CN112364061A (zh) | 一种基于mysql高并发访问数据库的方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
| 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: 20130618 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130701 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5321682 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 |
|
| 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 |
|
| 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 |