JP2007520778A - コンピュータ・ネットワークにおける電子文書のレプリカの検索 - Google Patents

コンピュータ・ネットワークにおける電子文書のレプリカの検索 Download PDF

Info

Publication number
JP2007520778A
JP2007520778A JP2006516500A JP2006516500A JP2007520778A JP 2007520778 A JP2007520778 A JP 2007520778A JP 2006516500 A JP2006516500 A JP 2006516500A JP 2006516500 A JP2006516500 A JP 2006516500A JP 2007520778 A JP2007520778 A JP 2007520778A
Authority
JP
Japan
Prior art keywords
entity
replica
entities
document
identified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006516500A
Other languages
English (en)
Other versions
JP4538454B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007520778A publication Critical patent/JP2007520778A/ja
Application granted granted Critical
Publication of JP4538454B2 publication Critical patent/JP4538454B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 コンピュータ・ネットワークにおいて電子文書のレプリカを検索及び/又はデポジットする方法を提供すること。
【解決手段】 コンピュータ・ネットワークにおいて電子文書を検索又はデポジットする方法が導入される。少なくとも1つのレプリカ番号を選択した後、所定の関数が適用される。この関数は、入力としてレプリカ番号及び文書識別子を必要とする。この関数は、各々がレプリカを提供できるネットワーク内のエンティティを表す、少なくとも1つのエンティティ識別子を結果として戻す。次のステップにおいて、文書関連要求が、識別されたエンティティの少なくとも1つにアドレス指定される。
【選択図】 図1

Description

本発明は、一般に、コンピュータ・ネットワークにおいてレプリカにアクセスすることに関する。より具体的には、本発明は、コンピュータ・ネットワークにおける電子文書のレプリカの検索及び/又はデポジットに関する。
電子文書及びデータにすぐにアクセスできることは、日常の業務活動にとって、ますます重要になってきている。その結果、格納部は、局所的な物理的損傷を含む故障に対して信頼性が高く、弾力的なものである必要がある。コンピュータ・ネットワーク上の分散した複製格納が、唯一の解決法のように思われる。
不幸なことに、今日の分散/複製システムは、典型的には、異なる位置にある少なくとも2つのデータセンタである関連するコンピュータ・エンティティの間に完全に同一の複製を必要とするか、又は分散型ストレージの場合には、レプリカの分散を追跡し続ける集中コントローラを必要とする。1つより多いレプリカにアクセスしようとする人は、レプリカの完全なリストを知る必要があるか、或いは、この情報を、全ての文書について全体的に又は文書毎に戻すディレクトリ・サービスにアクセスする必要がある。
既存の安価な機械を用いてコンテンツを供給することができるので、分散型格納がますます重要になってきている。分散型ハッシュ・テーブル(DHT)技術の出現で、自己組織型格納ネットワークが実現可能になり、コミュニティに重要な関心を提起した。インターネット「上に」あるとき、これらの拡張可能なオーバーレイ・ネットワークは、基礎をなすネットワークの転送能力を用いるが、これに価値を加える。DHT技術は、一般にリソース名からリソースIDへのマッピング(N→D)に先行して、リソースIDからホストへのマッピング(D→H)を提供する。このことは、各ノードにおける最小の経路指定情報を用いて達成される。DHTは、一般に、ホスト可用性及びネットワーク接続性の変化に対処するようにされている。
DHTは、種々の経路指定フレーバーの形で提供されるが、オーバーレイ・ネットワークの構成要素ノードの中で、メッセージがホップバイホップ・ベースで転送されるという特性を共有する。各ホップは、要求されたIDをそれ自体のものであるとクレームし、要求に従って動作するノードに最終的に到達するまで、どのように宛先に接近するかを知っている。
一部のDHTは、非特許文献1に記載されるような、間隔リング・トポロジーに基づいて作動し、一部は、ハイパースペースを非特許文献2又は非特許文献3に記載されるような、処理しやすいチャンクに分割し、他のものは、非特許文献4又は非特許文献5に記載されるような、ルートのないツリーを実装する。
これらのDHTシステムの多くは、基礎となるネットワークの局所性を利用することが可能である。局所性の側面は、一般に地理的配置及び接近性に分離され、出典非特許文献6からのカテゴリーを転送する。
非特許文献7は、局所性パターンへの別の手法を示す。
ロード・バランシングの側面が、非特許文献8においてカバーされる。
DHTのリンク及びキャッシングの手法が、非特許文献9に示される。そこでは、その経路に沿って文書のキャッシュを見つけることができる高可用性があるときに、DHTを転送する照会が、減衰ブルーム・フィルタ(Attenuated Bloom Filter,ABF)によって再指向される。誤検知の機会に加えて、ABF更新トラフィックが連続的であるにもかかわらず、必要性が生じたときに文書の発信元が選択されたレプリカをアドレス指定する方法はない。
非特許文献10は、DHTに加えて、リソース・ディスカバリ/ディレクトリ・サービスの例を示す。
特許文献1は、集中コントローラ/コーディネータを用いる、ピアツーピアのエンタープライズ格納技術を示す。
本出願人の特許文献2は、第1のストリームによって読み取られるファイルの一部を第2の装置に複製し、アクセスすることができる第2のストリームを用いてその部分を読み取ることによる、ロード・バランシングのための方法及びシステムを開示する。この従来技術は、完全集中型システムを処理するものである。
特許文献3、特許文献4、及び特許文献5の各々は、ストレージ・ネットワーク・データ・レプリケータを紹介している。あるインスタンスから他のインスタンスに複製する方法についてのアルゴリズムが開示されている。さらなる複製のために、どの既存のレプリカをソースとして選択するかが記載される。
特許文献6も特許文献7も、コンピュータ・システムにおいて複製されたデータベースのコピーを自動的に分散させるためのシステム及び方法を示す。信頼性を向上させるために、レプリカの配置を決定するためのホスト及びディスクが列挙される。
特許文献8は、耐故障性コンピュータ・システムのための分散型耐故障性デジタル・データ格納サブシステムを示す。基本的にネットワークRAID(Redundant Array of Inexpensive Disks)として、多数の冗長コンピュータが、多数の冗長ディスクに対するフロントエンドとして用いられる。
特許文献9によると、データ転送要求を処理するために、複数のアドレス指定可能なストレージ・デバイスの1つを指定する方法が提案される。クライアントは、単一の要求を全てのレプリカにマルチキャストし、これらが協働して応答すべきものを選択する。
特許文献10は、格納デバイスの分散型ファイル・システムにおける情報の追跡のためのメタデータを提供するシステム及び方法を示す。
特許文献11において、ファイル・システムの災害時回復のための方法及び装置が示される。
本出願人の別の特許である特許文献12によると、論理ボリューム・マネージャと、ストレージの動的割り当て及びメタデータ情報の最小量格納を用いて向上した更新能力を有するための対応する方法とが示される。メタデータの複製が提供され、これは、知る必要がある格納提供者に制限されている。
特許文献13において、動的データ管理を用いる、モジュール式格納サーバ・アーキテクチャが説明される。この文書は、局所性アクセス・パターン及び階層型ストレージ管理に従った複製を示す。
特許文献14によると、同時平行処理間のロッキングを提供する、ファイル・データの効率的な複製のための製造業者/消費者ロッキング・システムが示される。
特許文献15によると、文書を複製するためのログ・ファイル機構を用いる複製機能が記載される。
複製及び分散型格納についてなされた労力にもかかわらず、現在のところ、単一障害点の存在に悩まされない完全分散型技術の上の複製機構が不足している。レプリカが可用性を改善するだけでなくロードのバランスを取ることができるので、キャッシングのための分散型機構も存在した。信頼性に加えて、キャッシング・システムもまた、更新の問題を生じさせる。情報がキャッシュされる場所が明確でないので、元の位置の状態を連続的に追跡しない場合には、キャッシュが陳腐化することがある。このことは、拡張性に難問を生じさせ、キャッシングが提供するオフロードを取り消すことになる。
米国特許第20020114341A1号明細書 米国特許第6,223,206号明細書 米国特許第20030014523A1明細書 米国特許第20030014433A1明細書 米国特許第20030014432A1明細書 米国特許第6,467,046号明細書 欧州特許第807,885号明細書 米国特許第5,815,649号明細書 米国特許第6,470,420号明細書 国際公開第03/012699 A1号パンフレット 米国特許第6,163,856号明細書 米国特許第5,897,661号明細書 国際公開第02/093298 A3号パンフレット 米国特許第20030028695A1明細書 米国特許第5,588,147号明細書 Ion Stoica他著、「Chord:A Scalable Peer−to−peer Lookup Service for Internet Applications」、ACM SIGCOMM2001予稿集、2001年8月、ページ149−160 Sylvia Ratnasamy他著、「A Scalable Content−Addressable Network」、ACM SIGCOMM予稿集、2001年9月 Marcel Waldvogel及びRoberto Rinaldi著、「EfficientTopology−Aware Overlay Network」、ACM Computer Communications Review、2003年1月、第33巻第1、ページ101−106 Anthony Rowstron及びPeter Druschel著、「Pastry:Scalable、Dostributed object location and routing for large−scale peer−to−peer systems」、IFIP/ACM Internationl Conference on Distributed Sytems Platforms(Middleware)」、2001年11月、ページ329−350 Ben Y.Zhao他著、「Tapestry:An Infrastructure for Fault−tolerant Wide−area Location and Routing」、University of California、Bercley、UCB/CSD−01−1141、2001年4月 Miguel Castro他著、「Exploiting Network Proximity in Distributed Hash Tables」、International Workshop on Future Directions in Distributed Computing(FuDiCo)」、Ozalp Babaoglu、Ken Birman、及びKeith Marzullo編、2002年6月、ページ52−55 C.Greg Plaxton他著、「Accessing Nearby Copies of Replicated Objects in a Distributed Environment」、ACM Symposium on Parallel Algorithms and Architectures」、1997年、ページ311−320 John Byers、Jeffrey Considine、Michael Mitzenmacher著、International Peer−to−Peer Symposium(IPTPS)、2003年2月 John Kubiatowicz他著、「OceanStore:An Architecture for Global−Scale Persistent Storage」、ACM ASPLOS予稿集、2000年11月 Magdalena Balazinska他著、「UNS/Twine:A Scalable Peer−to−Peer Architecture for Intentional Resource Discovery」、Pervasive2002−International Conference on Pervasive Computing、2002年8月 Marcel Waldvogel及びRoberto Rinaldi著、「Efficient Topology−Aware Overlay Network」、ACM Computer Communications Review、2003年1月、第33巻第1、ページ101−106 J.Byers他著、「Simple Load Balancing for Distributed Hash Tables」、International Peer−to−Peer Symposium(IPTPS)、2003年2月
したがって、コンピュータ・ネットワークにおいてレプリカを管理するための機構であって、コンピュータ・ネットワークにおいてレプリカを検索及び/又はデポジットするための適切な方法、コンピュータ・エンティティ、コンピュータ・プログラム要素に反映される機構を提供することが望ましい。
本発明は、コンピュータ・ネットワークにおいて電子文書のレプリカを検索する方法を提供するものである。少なくとも1つのレプリカ番号が選択され、所定の関数が適用される。この関数は、入力として電子文書に関連したレプリカ番号及び文書識別子を必要とする。入力としてk個の異なるレプリカ番号を用いて関数をk回適用することによって、k個の識別子を求め、ここで、各々のエンティティ識別子は、レプリカを提供できるネットワーク内のコンピューティング・エンティティを表す。kは、1以上の整数である。次に、文書関連要求を識別されたエンティティの少なくとも1つにアドレス指定する。
この方法は、ネットワークへのアクセスを有する検索コンピューティング・エンティティ上で自動的に実行されることが好ましい。
本発明の別の側面によると、コンピュータ・ネットワークにおいて電子文書のレプリカをデポジットする方法が提供される。同様に、レプリカ番号が選択され、所定の関数が適用され、この関数は、入力としてレプリカ番号及び文書識別子を必要とする。この関数の出力は、ネットワーク内のコンピューティング・エンティティを表し、選択されたレプリカ番号を有するレプリカをデポジットすることができるエンティティ識別子を表す。次に、識別されたエンティティは、レプリカのデポジット又は改定のためにアドレス指定される。この方法は、文書関連の改定をデポジットするためにも用いることができる。
この方法は、ネットワークへのアクセスを有するデポジット又は改定コンピューティング・エンティティ上で実行されることが好ましい。
この手法の考えは、コンピュータ・ネットワークにおける予め定義されたアドレスにだけ、電子文書のレプリカを格納できるというものである。こうしたアドレスは、本文脈においてはエンティティ識別子とも呼ばれる。アドレスは、文書毎のレプリカ番号の各々について、特定のレプリカを見つけ出す又は格納することができるコンピューティング・エンティティに関連付けられたアドレスを提供する関数によって予め定義される。
好ましい実施形態において、この関数は、擬似ランダム・ハッシュ関数であり、ここでは、各々のアドレス/識別子が、分散型ハッシュ・テーブルを用いてネットワーク内のマシン/エンティティの1つにマッピングされる。
この関数によって、ネットワークのどこにでも、レプリカをランダムに付加又は削除することができる。レプリカは、ネットワーク内のまさに定められた位置/エンティティにおいてのみアクセス又はデポジットすることができ、エンティティは、入力としてレプリカ番号を有する関数を適用することによって求められる。それにもかかわらず、擬似ランダム・ハッシュ関数を適用する場合には、ハッシュ関数の擬似ランダム特性が、レプリカを均一に分散させることを保証する。しかしながら、別の規則又は関数に従う他のレプリカをネットワーク内のエンティティ上にデポジットすることもできる。このシステムが故障した場合は、関数によってデポジットされたレプリカが、例えば、集中管理システムのためのフォールバック解決法として働くこともできる。
関数は、ネットワーク内のどのエンティティでレプリカを見つけることができるか、又はネットワーク内のどのエンティティにレプリカをデポジットできるかについて、各々の電子文書について情報を提供する。この関数をサポートするために、番号付けシステムが、検索又は格納される各文書についてのレプリカ番号を導入することが好ましく、レプリカ番号は、1からNまでの間の範囲であることが好ましく、Nは、最も高いレプリカ番号及び許容されるレプリカの最大数の場合であると特徴付けられる。文書識別子y及び選択されたこの文書識別子についてのレプリカ番号xを有した後、関数は、文書yのレプリカ番号xについて選択されるエンティティを示すエンティティ識別子を求める。書き込みプロセスにおいて、文書yのレプリカxをこのエンティティに送信し、このエンティティに格納することができる。アクセス・プロセスにおいては、文書yのレプリカxをこの特定のエンティティで見つけることができるが、必ずしもそこで見つける必要はない。例えば、これまで、xより小さいレプリカ番号は、検索エンティティからの要求を供給するのに十分なものであったので、これまでのところ、関連付けられたエンティティに文書yのレプリカxをデポジットする必要性はなかった。
同じ文書のレプリカをデポジットするための関数が同じである場合には、関数によって定められるネットワーク内の特定のアドレスにおいて、文書のレプリカの検索だけを行うことができる。
好ましくは、ネットワーク内で許容されるレプリカ番号についての制限を設定することによって、計算に基づくために、必要な場合は調べるために、検索エンティティが制限された領域のレプリカ番号を有するので、検索プロセスが最適化される。これまで非常に大きい数を有するレプリカを格納するのに誰もこのエンティティを使用しなかったので、最大数のレプリカを設定しないこと又は過剰な最大数のレプリカを設定することによって、実際にレプリカが格納されていないエンティティにアクセスしようとすることによる検索時間の損失が生じる。
提案される方法に関して、元の文書自体といずれかのレプリカとの間の用語上の差はないことが理解される。元の文書自体は、いずれかのレプリカ番号のもとで格納されることが好ましく、よってこのレプリカ番号のもとでアドレス指定することができる。
基礎となるネットワークは、ピアツーピア・ネットワーク又は階層ネットワークとすることができる。
電子文書は、いずれかの種類の電子ファイル又はデータ、若しくはデータベースとすることができ、そのコピーは、コンピュータ・ネットワーク内の異なる位置に、レプリカとして格納することができる。ここに示されるような電子文書は、アクセスされたときに格納動作を行う、コンピュータ・プログラムのようなアクティブ・リソースとすることもでき、又はストレージ・ユニット、セクタ、或いはセクタのクラスタのような電子ファイルのフラグメントとすることもできる。例えばバックアップのために、レプリカを非常に特定的な場所に恒久的に格納することができる。或いは、例えばキャッシングのために、レプリカを一時的に格納し、特に多くのユーザが基礎となる文書にアクセスする必要があるときに、ネットワーク又は元の文書ストアを含む他のレプリカにかかる負荷を減少させることができる。本発明は、分散型ストレージ・アプリケーション又は文書リポジトリ・ストレージ・アプリケーション、及び分散型コンピューティング・アプリケーションをサポートする。したがって、ユーザの利益になるように、ネットワークにわたってレプリカを確立し、格納エンティティにおける多くのコンピューティング能力及び多くのネットワーク能力を提供することによって、元のリソースだけに比べて多くのアクセス点を有することが好ましい。レプリカは、ラップトップ型コンピュータ、手持ち式コンピュータ、携帯電話、又はディスクトップ型コンピュータのような多くの異なるコンピューティング・エンティティ上で自分の電子文書をアクセス可能にすることを望む単一のユーザの観点からも有利である。本発明は、電子文書を複製するこれらの全てのアプリケーションに適用できるが、これらに制限されるものではない。
本発明と併せて説明されるエンティティの能力は、使用目的によって決まる。一般に、コンピューティング・エンティティは、ネットワークにアクセスし、ネットワーク上で通信することができる何らかのユニットとすることができる。一部のエンティティは、主として文書/レプリカのためのデポジット場所として働き、よって、膨大な量のデータを格納する準備ができている。こうしたエンティティは、特にサーバ・コンピュータとすることができる。しかしながら、ネットワーク及び何らかの種類のストレージへのインターフェースを含む他の全てのコンピューティング・エンティティは、レプリカを提供するためのエンティティとして働くことができる。検索エンティティは、クライアント・コンピュータ、又は、例えば上述のような他のいずれかのタイプのコンピューティング・エンティティとして具体化することができ、或いは文書管理者のコンピュータとすることもできる。コンピュータが、レプリカの検索及びデポジットの両方を行えることが好ましい。
電子文書のレプリカを検索する即ち突き止める方法によると、レプリカを提供できる識別されたエンティティのアドレス指定を様々な方法で行うことができる。エンティティにアドレス指定された要求により、アドレス指定されたエンティティは、このレプリカが実際に利用可能であるかどうかを検索し、その結果を検索エンティティに伝えることだけが可能になる。別の実施形態において、要求は、レプリカを検索デバイスに直ちに送信するか、或いは、送られたデータを付加し、又は改定し、又は更新し、又は修正して、要求とともに、識別されたエンティティにおけるレプリカに送信することができる。
識別されたエンティティにレプリカをデポジットする場合、要求は、アドレス指定されたエンティティがいつでもレプリカを格納できる状態になっているかどうかの応答だけをトリガし、よってアドレス指定されたエンティティにおいて内部チェックを開始することができる。しかしながら、要求はまた、アドレス指定されたエンティティに直ちに格納できる状態になっているレプリカ自体を含むこともできる。
グローバルな視野から、レプリカを突き止めるために、レプリカを検索する方法は、検索エンティティとも呼ばれるクライアントに僅かな数のメッセージだけを送信させる。以下の実施形態から分かるように、クライアントは、近くのレプリカ又は最も近いレプリカを突き止めることができる。このことを実行するために、レプリカの選択が制限されていることが好ましい。このようにレプリカを列挙し、直接アドレス指定することができるので、クライアントが文書を迅速に見つけることが可能になる。しかしながら、文書が更新されたか又は文書を更新する必要がある場合、或いは文書のコンテンツを検証するか又は他の方法で処理する必要がある場合、文書の所有者が全てのレプリカを迅速に見つけることも有利である。
さらに、各々のレプリカは、文書ID及び文書コンテンツのタプルだけを格納する必要がある。文書コンテンツは、例えばテキスト又はグラフィクスのような文書自体のコンテンツとすることができるが、代わりに文書を実際に格納するノードへの(1組の)ポインタ、及び(1組の)レプリカ索引又はレプリカ・エンティティIDとすることもできる。エンティティ識別子をランダムに分散して2つ又はそれ以上のエンティティ識別子が単一のノードによってカバーされる範囲内に入るようにするハッシュ関数等の関数の場合におけるように、同じエンティティが同じ文書の多数のレプリカを担当することができる場合には、エンティティ、したがってレプリカは、レプリカ索引又はレプリカ・エンティティIDの形態の付加的な情報を提供することができ、このことにより、同じエンティティ上の異なるレプリカが区別される。
レプリカ番号の制限の実施形態を考慮すると、どの関数が、選択された文書の特定のレプリカ番号に関連付けられたエンティティの識別子を決定できるかに基づいて、レプリカ番号の選択を様々な方法で処理することができる。この選択は、k個のレプリカ番号のランダム選択とすることができる。しかしながら、この選択は、N個のレプリカ番号の全てをカバーすることもでき、ここで、Nは、レプリカの最大数であり、好ましい範囲の数は、例えば[1....N]又は[0....N−1]とすることができる。この好ましい実施形態において、関連する文書のレプリカにアクセスを提供できるk個のエンティティ識別子を求めるために、所定の関数をk=N回適用する。
この実施形態は、各々がレプリカを提供できる最大数のエンティティにアクセスするため、或いはアドレス指定するための幾つかの識別されたエンティティ又は1つだけの識別されたエンティティを選択するために、検索エンティティに完全な自由を与えるものである。選択スキームは、異なる識別されたエンティティの評価に従うことができる。
しかしながら、リソースが制限されるか、Nが大きな数であるとき、別の手法が好ましい。すなわち、k<Nであるものとして、最大N個のレプリカからk個のレプリカ番号だけを選択することができる。その結果、こうしたエンティティ識別子を求めるための関数によって、k個のエンティティ識別子だけが与えられる。
この手法は、エンティティ識別子の量であり、最終的にはアドレス指定する価値があると考えられるエンティティの量である、データの量を制限するのに有利である。
kは、5以下になるように選択できることが好ましい。このことは、特に、この目的のためにエンティティのサブセットを選択することなく、識別されたエンティティの全てが直接アドレス指定されるときに、レプリカを検索するためにアドレス指定することができるエンティティの適切な範囲を表す。この戦略の理論的根拠が、以下により詳細に説明される。
k=1である別の好ましい実施形態において、よってこの手法において、最初から識別される1つだけの宛先があり、要求は、この1つのエンティティだけにアドレス指定される。一実施形態において、レプリカ番号をランダムに選択することができる。別の実施形態において、レプリカ番号が上がるようにレプリカがネットワーク上に分散される場合、レプリカ番号は、許容されるレプリカ番号の範囲の低い数の範囲内で選択される。したがって、低いレプリカ番号を有するレプリカを提供するエンティティにおけるレプリカを探すとき、最初のショットでレプリカに達するように可能性が増大される。しかしながら、このレプリカは、検索エンティティから遠く離れて配置することもできる。
さらに同様の手法において、文書関連要求が、全ての識別されたエンティティにアドレス指定される。この実施形態は、必ずしも、全ての識別されたエンティティが実際に利用可能な要求されたレプリカを有する必要はないという事実を示す。関数によって特定のレプリカ番号に割り当てられたエンティティは、このレプリカ番号がレプリカのデポジットのために用いられる場合に、このレプリカ番号を有するレプリカをデポジットしなければならない場所を求めるだけであることに注意されたい。しかしながら、例えば、使用中のこれまでのレプリカの数が過去の要求をカバーするのに十分なものであったことから、この特定の場所/エンティティにおいて、ネットワーク内のいずれかのエンティティが、これまで実際にこの数を有するレプリカをデポジットする必要性を有していた必要はない。
しかしながら、要求を1つより多い識別されたエンティティにアドレス指定するとき、当該レプリカが利用可能であり、ダウンロードする準備が出来ているアドレス指定されたエンティティの少なくとも1つから情報を受信する可能性が高い。
別の好ましい実施形態において、識別されたエンティティの選択されたものだけが、文書関連要求を用いてアドレス指定される。この実施形態は、アドレス指定のために、識別されたエンティティの限定された選択を可能にする。文書のレプリカを提供するエンティティを識別するためのプロセスは、過剰のリソースを必要とせず、よって最大Nのレプリカ番号又は少なくともその大部分に対して行われるので、多くのエンティティを用いて通信を処理するのは、面倒であり、時間とリソースの無駄使いになる。識別されたエンティティに送信される要求の数を最小にするために、評価スキームを適用し、識別されたエンティティから大部分の有望なエンティティだけを求めることができる。エンティティが有望であると考えられるかどうかの評価は、異なる基準に基づくことができる。
特に、何らかの理由でエンティティに対する密な通信が好まれないとき、評価/選択プロセスは、1つだけの好ましいエンティティを選択し、文書関連要求をアドレス指定することになる。
特に好ましい評価スキームは、エンティティに関連したコスト値を計算するためのコスト関数を含むことができる。こうしたコスト値は、エンティティをアドレス指定するため、及び/又はこのエンティティと通信するため、及び/又はこのエンティティからのダウンロードを実行するためのコストを示すことができ、ここで、コストは、例えば、時間、及び/又は必要とされるリソース、及び/又は関連するエンティティへのアクセスに関する好み又は欠点を示す別のパラメータとして定義することもできる。k個の識別されたエンティティの各々についてコスト値を計算することが好ましい。次のステップにおいて、計算されたコスト値に従って、アドレス指定されるエンティティが、識別されたエンティティから選択される。低いコスト値を示すエンティティだけが、アドレス指定されるように選択されることが好ましい。低いコスト値を示すエンティティを求めるために、しきい値を導入することができる。或いは、多数の評価されたエンティティから最も低いコスト値を示すエンティティが選択される。
好ましい実施形態において、コスト関数は、コスト・データベースから、エンティティについてのコスト値を検索する又は得ることができる。こうしたデータベースは、局所的データベース(例えば、キャッシュ)、集中データベース、又は分散データベースとすることができる。
エンティティについてのコスト値を得るために他の手段が見当たらないとき、こうしたコスト値をこれらのエンティティとの通信から直接取得できることが好ましい。好ましい実施形態において、識別されたエンティティは、アドレス指定され、呼び出されて応答を送信し、そこで、例えば要求の発行と検索エンティティにおける応答の到着との間の時間が測定され、アドレス指定されたエンティティについてのコスト値に翻訳される。アドレス指定されたエンティティがより遠隔に配置されている程往復の時間が長いので、このコスト値を、検索エンティティの位置及びアドレス指定されたエンティティの位置に関連付けることができる。しかしながら、特に、非常に大きなファイルを表すレプリカをダウンロードする前に、このように事前にコスト値を求めることは妥当なことである。次に、期せずして非常に遅いダウンロード速度を提供することがある、任意に選択した識別されたエンティティからのダウンロードを用いて直ちに開始する代わりに、コストを推定するための短いメッセージを有する多数の識別されたエンティティをアドレス指定することは、より時間を節約する手法となる。
一般に、当該エンティティについての絶対値によって又はコストを検索エンティティに関連したコストとみなす相対値によって、コスト値を表すことができる。
「レプリカが見当たらない」という応答をアドレス指定されたエンティティの各々から受信した場合には、文書関連要求をアドレス指定するために、別のエンティティが識別されたエンティティから選択される。「レプリカが見当たらない」という応答は、実際に、こうしたレプリカが関連するエンティティに格納されていないことを示す。
ネットワークにおいて、応答がレプリカ番号の昇順に格納されるならば、「レプリカが見当たらない」という応答は、この特定のレプリカ番号を有するこのエンティティにレプリカが格納されていないことを示す。さらに、ネットワーク内のどこにもレプリカがエンティティに格納されていず、これらのエンティティが、この特定のものでなくいずれかのより大きいレプリカ番号に割り当てられることを、適切なシステム規則から得ることができる。このことは、より大きなレプリカ番号を有する同じ文書のレプリカを格納することが予想されるエンティティをアドレス指定することを約束するものでないことを意味する。失敗したレプリカ番号より低いレプリカ番号を示す1組のエンティティに新しい要求をアドレス指定するために少なくとも1つのエンティティを選択することが好ましい。このことは、一般にアドレス指定する価値があるエンティティの量の制限を大きく助ける。
上記の規則を全ての応答に繰り返し順に適用する必然的な結果として、1つより多いエンティティにアクセスされ、全ての応答が「レプリカが見当たらない」ことを示す場合には、これらのアドレス指定されたレプリカ番号からの最も低いレプリカ番号が、新しい組のレプリカ番号の上限を設定し、そこから、要求を用いてアドレス指定されるように別のエンティティが選択される。
残りのエンティティのこの組の内部で、コスト値に従って、次にアドレス指定される1つのエンティティ/複数のエンティティを再び選択することができる。このことは、残りのエンティティの組の内部で、低いコストが選択基準である場合に最も低いコストを示すのも、更なるステップにおいてアドレス指定される1つのエンティティ/複数のエンティティであることを意味する。こうした要求についての応答のいずれも、要求されるレプリカを提供するエンティティを開示しない場合、これらの要求に含まれる最も低いレプリカ番号が、レプリカ番号の上限を再設定し、これにより、更なるステップにおいて関連付けられたエンティティをアドレス指定できるようになる。
識別されアドレス指定されたエンティティのうち、レプリカを提供することができない識別子を順番に繰り返し排除し、既にアドレス指定されたものより大きい割り当てられたレプリカ番号を有する他のエンティティに到達することが、レプリカを検索するためのネットワーク上の通信の大きさを減少させる。
しかしながら、レプリカが見当たらず、かつ、該レプリカがそこにないという表示を、アドレス指定された1つのエンティティ/複数のエンティティから受け取ったとき、失敗したものより大きいレプリカ番号によって求められる他のいずれのエンティティも、通常、当該レプリカを提供できないことを導き出すことはできない。したがって、更なる要求をアドレス指定することにより、こうしたエンティティを排除することができる。少なくともこの照会時間中に到達できないままなので、差し当たり、アドレス指定された1つのエンティティ/複数のエンティティだけを排除することができる。代わりに、識別されたエンティティから選択される残りのエンティティの別のものに要求をアドレス指定することが好ましく、好ましくは、このことが次の次善のコスト値を示す。
本発明の別の実施形態によると、1つ又はそれ以上の最も好ましいエンティティが、識別されたエンティティから選択され、文書関連要求が、最も好ましいエンティティの各々にアドレス指定される。この実施形態において、最も好ましいエンティティの各々が検索エンティティからの短い距離を示す場合、アドレス指定されたエンティティは、検索エンティティからの距離に従って選択され、そこで、しきい値を絶対的に適用することによって、又は検知された距離を相対的に比較することによって、短い距離を定めることができる。例えば、g個のエンティティが選択されるとき、g個のエンティティが、識別されたエンティティからの検察エンティティに対する最短距離を示すものであることが好ましい。幾つかのネットワークにおいて、特に幾つかのエンティティ識別子表記において、位置、よって距離の測定値を、関連付けられたエンティティ識別子から得ることができる。こうした距離は、コスト値とみなすことができ、選択プロセスのための基準として、コスト値を用いることができる。
同様に、この実施形態において、アドレス指定されたエンティティから「レプリカが見当たらない」というメッセージを受信したとき、少なくとも1つの他のエンティティが、文書関連要求をアドレス指定するための次善の好ましいエンティティとして1組の識別されたエンティティから選択されることが好ましく、この識別されたエンティティの組は、最も好ましいエンティティ識別子に関連付けられた最も低いレプリカ番号より低い対応するレプリカ番号を有するエンティティに制限される。第2の好ましいエンティティは、検索エンティティからの距離に従って、識別されたエンティティの組から選択されることが好ましく、最も近い距離は、関連付けられたエンティティ識別子からのエンティティの組の中から得られる。
本発明の他の側面によると、コンピューティング・エンティティのプロセッサ・ユニットに読み込まれたとき、特許請求の範囲記載の方法をコンピュータに実行させるプログラムが提供される。
さらに、コンピュータ・ネットワークにおいて電子文書のレプリカを検索する方法を実行するように設計された制御ユニットを含む、コンピュータ・ネットワークにおいて電子文書のレプリカを検索するためのコンピューティング・エンティティが提供される。
また、コンピュータ・ネットワークにおいて電子文書のレプリカをデポジットする方法を実行するように設計された制御ユニットを含む、コンピュータ・ネットワークにおいて電子文書のレプリカをデポジットするためのコンピューティング・エンティティが提供される。
コンピュータ・ネットワーク上でレプリカを検索又はデポジットする方法を参照して説明された利点及び実施形態は、ここに前述されたコンピューティング・エンティティ及びコンピュータ・プログラム要素のための実施形態にもそれぞれ有利であると考えられる。
ここで、添付の図面を参照して、一例として本発明の好ましい実施形態を説明する。
異なる数字が、類似又は同様のコンテンツを有する要素を表す同一の参照を示すことができる。
図1は、コンピュータ・ネットワーク1の一部である、ノードとも呼ばれるコンピューティング・エンティティ100、120、140、160、180、200、220、240、260、280、300、320、340、360、380、400、420、440、460、480、500、520、540、560、580、600、620、640、660、680を示す。コンピューティング・エンティティに与えられた番号は、最終的にエンティティのアドレスとなるか又はエンティティのアドレスを表すエンティティ識別子である。
文書識別子を有する文書D1は、極めて一般的な文書である。したがって、この文書の多くのレプリカが、ネットワーク1全体にわたって格納されている。ネットワーク上に分散されたレプリカの最大数は、N=6であり、ここで、この数は、例証のために比較的小さい数として選択される。したがって、文書毎に、システム全体にわたってN個のレプリカが提供される。以下の表記を導入する。すなわち、D1:1は、文書D1のレプリカ番号1を表し、D1:2は、文書D1のレプリカ番号2を表し、以下同様である。
図1から得られるように、文書D1のk=N個のレプリカは、エンティティ識別子100、200、300、400、500、600を有する位置/エンティティにおいて、ネットワーク1にわたって分散されている。他方、別の文書D2もまた、例証のためにN=6個のレプリカの形態で利用可能であり、これらは、エンティティ220、320、420、520、620に配置される。
文書D1及びD2は、関数
h(i,Dx)=100+(((x−1)*20)+((i−1)*100)modulo600)
に従ってネットワーク1上に配置され、
ここで、iはレプリカ番号で、i=〔1.....N〕であり、Dxは、xが数1、2である文書識別子である。
図1に示されるエンティティの1つ、又は図1に示されるネットワークの範囲の外部にある別のエンティティが、文書D1及びD2のレプリカをデポジットするために、この関数h(i,Dx)を適用し、実際に、ネットワーク上の各文書の6個のレプリカの全てをデポジットした。
例証のためだけに、例えば、h(i,Dx)=100+((x*20+i*(120−20*x)−120)modulo600)のような関数に従う、ネットワーク上にデポジットされる他の文書もあり、例えば、エンティティ300において異なる文書のレプリカのデポジットが重複する。
より一般的に言うと、各々の文書Dxについて、Dxについて存在する数kのレプリカがある。これらのレプリカは、アドレスh(i,d)(1<=i<k)に格納される。h()は、擬似ランダム・ハッシュ関数として実施されることが好ましい。このことは、各アドレスが、DHTを用いてネットワーク内のマシンの1つにマッピングされることを意味する。
通常、コスト(すなわち、実際の要求)を支配する演算の平均数をlog(N+1)に制限できるので、非常に大きい数となるように許容されるレプリカの最大数Nを選択することができる。例えば、N=1023を選択することにより、平均10又はそれより少ないメッセージがもたらされ、最も近いレプリカを見つけ出し、ダウンロードを開始する。
ここで、例えば、識別子140を有するエンティティとすることができる検索エンティティが、D1として識別される文書のレプリカにアクセスすることを望む。コンピューティング・エンティティ140は、文書1のレプリカが利用可能な場合にエンティティを求めるために、同じ関数h(i,Dx)=100+(((x−1)*20)+((i−1)*100)modulo600)を利用することができる。全てのレプリカ番号iに対してこの関数を適用するとき、検索エンティティ140は、結果として、エンティティ識別子100、200、300、400、500を得ることになる。
文書D1のレプリカがダウンロードに応じられるこれらの位置を決定すると、検索エンティティ140は、コスト関数を適用する。少なくとも識別子の「百の位の」数字だけを考慮し、ネットワークのまさしく右側部分の自らの位置を認識するとき、エンティティ140によって適用されるコスト関数は、関数h(i,Dx)によって与えられる全てのエンティティ識別子の比較とすることができる。その結果、100<200<300<400<500<600の関係になる。この結果によると、識別子100を有するエンティティは、ランク内の第1のものとして最も低いコスト値を示し、エンティティ600は、ランク内の最後のものとして最も高いコスト値を示す。書き言葉に翻訳すると、コスト値は、エンティティ100として識別されるエンティティが、恐らく検索エンティティ140に最も近いものであることを示す。検索エンティティは迅速なダウンロードを期待するので、エンティティ100は、通信、よってダウンロードのために最も費用効率が高いと思われる。
結果として、検索エンティティは、要求を文書D1のエンティティ100にアドレス指定し、エンティティ100は、肯定的な応答(「ここでD1のレプリカが利用可能である」で応答するか、或いは代替的な実施形態においては、連続的にレプリカD1を伝送する。
図2は、エンティティ140においてコスト関数を提供した後、識別されたD1のレプリカの各々に関連付けられたコストのダイアグラムである。コストは、ネットワーク内の検索エンティティ140の位置に関連して求められ、上記に説明されたようなネットワーク構造の知識に基づいた該検索エンティティ140への距離の評価を表す。
別の実施形態において、エンティティ420が、今や、文書D1のレプリカを探し、こうしたレプリカの可能な提供者としてエンティティ100、200、300、400、500、600を識別する検索エンティティであると仮定される。エンティティ420において内在するコスト関数を適用すると、レプリカを得るのに、恐らくエンティティ400が検索エンティティ420に最も近いエンティティであることが、結果として与えられる。図4は、エンティティ420においてコスト関数を適用した後、D1の識別されたレプリカの各々に関連付けられたコストのダイアグラムを示す。コストは、ネットワーク内の検索エンティティ420の位置に関連して求められ、上記に説明されたようなネットワーク構造の知識に基づいた検索エンティティ420への距離の評価を表す。
しかしながら、これらのレプリカ番号に対してハッシュ関数をまだ適用しないことで、文書D1の管理者は、レプリカをさらにエンティティ400、500、及び600に分散することができなかったので、ここでは、エンティティ100、200、300だけが、実際に文書D1のレプリカを提供することができる。
したがって、ここで検索エンティティ420が、最も近いエンティティ400に要求を送信するとき、エンティティ400は、エンティティ400には、文書D1のレプリカが見当たらないと応答する。ここで、要求中のエンティティ420は、次に好ましく且つ次に近いエンティティとして、別の要求をエンティティ500にアドレス指定し、そこからレプリカを得ようと試みることができる。しかしながら、レプリカ番号を増やすことによって、ネットワーク内のエンティティがレプリカで満たされた場合、エンティティ400がレプリカ番号i=4を提供できないときに、より高いレプリカ番号を有するいずれかのレプリカが、割り当てられたエンティティにおいて利用できなくなることは明らかである。このように、識別されたエンティティ100から600までの範囲内のエンティティ400と違った別のエンティティに向けられた何らかの要求は、i=4より小さいレプリカ番号を有するレプリカを提供できるエンティティに向けなければならない。したがって、エンティティ100、200、300は、格納された文書D1のレプリカを実際に有することができる、i=4より小さいレプリカに関連付けられるエンティティの組を形成することができる。エンティティ300は、残りのエンティティの中で最も低いコストを示すので、次にエンティティ300を検索エンティティ420から、首尾よく接近させることができる。しかしながら、エンティティ300が利用可能な文書D1のレプリカを有していない場合でも、次に接近したエンティティの組がさらに制限される。このスキームを繰り返し適用することによって、他のエンティティへの通信の多くを節約することができる。
既に上記に触れたように、幾つかの分散型ハッシュ・テーブル(DHT)は、局所性を保存しており、すなわち、2つのアドレスが類似していることを知ることによって、これらのアドレスを供給するエンティティも近くにあるという判断を下すことができる。この特性を用いて、DHTによって用いられるメトリックに従って測定される、別のエンティティまでの距離を推測することができる。こうしたシステムをサポートするDHTが、例えば、非特許文献11であり、これを引用によりここに組み入れる。しかしながら、他のコスト関数を適用することもできる。こうしたコスト関数は、ネットワーク自体又はネットワーク上の一部とすることも、或いは各エンティティの一部としての個人とすることもできる。
本発明の別の実施形態によると、クライアントが、IDdを有する文書を見つけ出したいと望むとき、先験的にN、レプリカの最大数、及び用いられるハッシュ関数だけを知る必要がある。プロセスは、次のとおりである。
1.r:=N
2.クライアントは、レプリカ番号i(1<=i<r)の全ての可能な値について、供給文書の距離を調べることによって、文書を複製するノードのどれが最も近いかを判断する。クライアントは、最も近いものを選び(これがノードgであると仮定する)、ノードgに文書を求める。適切なDHT又は適切な局所データベースによる増大において、このことには、いずれのメッセージの送信も必要でない。
3.求められたノードが文書で応答する場合には、全てが良好であり、さもなければr:=g−1であり、ステップ2においてアルゴリズムが継続する(距離の計算をキャッシングすることが推奨される)。
検索は最も近いノードで開始するので、これが、できるだけ近いレプリカに戻る方法である。それが実際にレプリカである場合には、最も近いレプリカが見つけられた。レプリカが見つけられなかった場合には、レプリカ番号が連続しており、1から始まることをレプリカ割り当てポリシーが保証するので、g又はそれより大きい番号が付けられた全てのレプリカを検索から排除することができる。
LogNステップの後に停止することが予想される。ハッシュ関数は擬似ランダムなので、各間隔における最も近いノードは、平均して中心にある。したがって、候補者ノードの50%の平均値を排除することができる。少なくとも1つのノードが常に排除されるので、進行が保証される。また、少なくとも1つのレプリカ(1と番号が付けされた)が存在する場合には、文書を見つけ出すことが保証される。それ以上の情報は必要としない。
本実施形態の検索方法は、ピボット選択の観点からのランダム化バイナリ検索として特徴付けることができる。この検索方法は、k個の最も近いノードを同時に調べることによって、(k+1)に関する検索に拡張することができる。次いで、検索ノードは、識別されたノード、及び適用可能な場合にはコスト選択されたノードに文書を直接求めたいと思わないが、該ノードが文書を有しているかどうかだけを尋ね、多数の送信を防止することができる。図1に戻ると、周知であり、システム全体の不変性であるパラメータは、レプリカの最大数Nであり、用いられるハッシュ関数h()である。
提案されたような、コンピュータ・ネットワークにおいてレプリカを検索及び/又はデポジットするための手法は、レプリカ管理のための集中ディレクトリ構造に基づいた、サイト又は組織全体にわたって複製されたネットワーク化ストレージ・システムのためのバックアップ・システムとして用いることもできる。こうしたシナリオにおいて、ディレクトリ・サーバは、単一障害点を提供する。この場合、上記のシステムに従って、レプリカのサブセットだけを配置する必要がある。所望であれば、局所性パターン(例えば、保証されたオフサイト・ストレージ)又はアクセス・パターン(例えば、クライアントに近い)に基づいて、他のレプリカを配置することもできる。次に、集中ディレクトリが故障するか、又は他の点でアクセス不能になった場合でも、本発明に従って格納されたデータは、依然としてアクセス可能である。本発明に従って割り当てられたレプリカのサブセットのサイズ及び配置によって、性能を低減させ得るが、データへのアクセスは依然として保証される。
全てのシステムが基本的に等しく良好にアクセス可能である、非常に局所化されたシステム/ネットワークにおいて、すなわち単一の建物又はサイト内で、距離関数をランダム関数と置き換え、有効なロード・バランシングを達成することができる。
本発明の別の実施形態によると、上述のような、エンティティ識別子自体から得ることができる情報に基づいた距離推定関数によって表されるコスト関数は、利用できない。レプリカのデポジットとして識別されるエンティティから最も近いエンティティを選択する代わりに、識別されたエンティティから、ランダム・エンティティを選択し、アドレス指定することができる。こうした要求についての応答は、レプリカの負荷又は往復時間のような情報を伝えることができ、このことは、多数が一致する場合に最良の一致の選択を助けることができる。コスト推定と協働するこのランダム選択は、最も近いノードの検知を保証するものでないが、検索エンティティをレプリカの最終的位置に導くことができる。アドレス指定されたエンティティの数kを比較的多くすることは、より多くの探査をもたらし、したがって、すぐ近くのエンティティに到達する高い可能性をもたらす。
上述のように、距離推定関数のようなコスト関数は費用がかかるものの、いずれにせよ識別されたエンティティからエンティティにメッセージを送信するより安い場合、それぞれの原価価値を計算するためにエンティティのサブセットだけを選択することができる。次に、要求を送信するための原価価値の観点から、最良のエンティティを選択する。
上記の両方の実施形態において、必ずしも、レプリカを保有している全てのNエンティティを識別する必要はない。代わりに、関連したエンティティを求めるために、より小さな数k<Nのレプリカ番号を選択することができる。
接近したエンティティが到達不能であるか、又は「現在のところ、文書を供給することができません。別のレプリカを選んでください。」と解釈できる「過負荷」メッセージを戻すか、或いは接近後に時間切れになった場合に、ノードが利用可能なレプリカを有しているのかどうか、又はノードが、利用可能なレプリカを有するものの、何らかの理由で現在それを送信できないのかどうかを推定するのは不可能である。レプリカをデポジットする方法に関して、可能な戻りメッセージは、アドレス指定されたエンティティが、実際にレプリカを伝える必要があるものの、不十分なストレージも利用可能であることを示すこともできる。アルゴリズムは、その性能に最小の影響を与える状態で、依然として正確に働く。したがって、アドレス指定されたエンティティのいずれも、文書を送るためのエンティティのコミットメント、又は該エンティティが文書を有していないという表示を戻さない場合には、更に別の要求をアドレス指定するための検索範囲を制限することはできない。代わりに、例えば、いずれかの種類のコスト推定を用いて、現在のエンティティ範囲から次善のエンティティが選択され、次にこれらのエンティティに接近する。
図3は、本発明によるレプリカを検索する側面を具体化する2つのフローチャートを示す。図3(a)は、トポロジー認識ネットワークのための方法を示し、図3(b)は、トポロジーを認識しないネットワークのための方法を示す。この文脈におけるトポロジー認識とは、エンティティの位置を、そのアドレス/識別子から少なくとも大ざっぱに得ることができるか、或いは付加的で相対的に安価な探査又は測定から得ることができることを意味する。
両方のチャートについて、次の表記が適用される。
・Nは、レプリカの最大数である。
・h(m,d)は、レプリカ番号m及び文書IDdについてのハッシュ関数である。
・c(a)は、アドレスaにコストを与えるコスト関数である。
・kは、ステップごとの探査数である。
図3(a)に関しては、ステップS1において、文書についての可能なレプリカの最大有効数としてのrが、Nに初期化される。ステップS2において、[1,N]における全てのmについて、a_m=h(m,d)を計算する。ステップS3において、[1,N]における全てのmについて、c_m=c(a_m)を計算する。ステップS4において、組[1,r]からm_1...m_kを索引付けするkが選択されるので、対応するc_m_iが最小になる。ステップS5において、a_iアドレスを調べる。探査は、k−s応答後に任意に終了する。ステップS6において、探査のいずれかが文書の可用性[1]を戻した場合、ステップS7において、いずれかのメトリックに従って最良の探査/アドレスを求め、ステップS8において、この最良のアドレスからレプリカを戻す。
ステップS6において、アドレス指定されたエンティティのいずれも文書[2]を戻さなかった場合、ステップS9において、rが、min(m_i)−1に設定され、ステップS4において方法が継続される。
図3(b)に関しては、ステップR1において、文書についての可能なレプリカの最大有効数としてのrが、Nに設定される。ステップR2において、m_1...m_kを索引付けするkを、組[1,r]からランダムに選択する。ステップR3において、a_i=h(m_i,d)を計算することによって調べられるレプリカのアドレス指定されたa_iを求める。ステップR4において、a_iアドレスを調べる。アドレス指定されたノードが機能停止しているか又は到達不能であることがあるので、到達しないこともある最後の幾つかの応答を待つ時間を無駄にしないように、探査は、k−s応答後に任意に終了する。このことは、全てのノードを聞いていないという代償を払って性能を改善することができる。応答が遅い理由はネットワーク又はレプリカ自体の過負荷によるものである可能性が高いため、待たせられなかったノードが、良好な候補者レプリカであると思われる。
ステップR5において、探査のいずれかが文書の可用性[1]を戻した場合には、ステップR6において、いずれかのメトリックに従って最良の探査/アドレスを求め、ステップR7において、この最良のアドレスによる最良のものにレプリカが戻される。アドレス指定されたエンティティのいずれも文書[2]を戻さなかった場合には、ステップR8において、rが、min(m_i)−1に設定され、ステップR2において方法が継続される。
次の段落において、本発明の全ての側面に関する幾つかのより多くの実施形態を説明する。
文書関連要求がコスト推定に従って識別されたエンティティの1つにだけ送られる場合、このマシンの負荷が非常に高い場合に、こうしたエンティティは、応答に長い時間を必要とすることがある。識別されたエンティティの中から少なくとも1つの他の付加的なエンティティをランダムに選択し、この少なくとも1つのエンティティに別の要求を送ることによって、こうしたアドレス指定機構をさらに改善させることができる。このように、近くにあり、よって導入されたスキームに従ってアドレス指定されるように選択されるものの、過負荷状態であり、よって応答しないか又は非常にゆっくりとしか応答しないエンティティを検知し、将来の照会によって自動的にオフロードすること、すなわち将来の要求を考慮しないことが可能である。他方、こうした場合に、ランダムに選択されるエンティティが、新しい要求をアドレス指定するためにすぐ近くの新しいエンティティを選択する必要なく、遅かれ早かれ要求される応答を提供することができる。
別の実施形態によると、発せられた要求の数、よって検索時間の可能性を制限し、小さな組のノードを選択プロセスから排除することができる。したがって、最適なサブ隣接者を選択することができ、或いは極めて不良なコスト関数と組み合わせられた大規模なネットワークの停止の場合は、全ての可能なレプリカを検索することはできない。予想される性能は、送出されるlog(N)ステップ/要求であり、ここで、Nは、レプリカの最大数である。さらに、最悪の事態は、Nステップ、すなわちコスト関数がレプリカ番号の単調減少関数の場合である。予想されるように、こうしたコスト関数の効果は、各ステップが、レプリカの半分ではなく単一の可能なレプリカだけを排除することである。この問題に対する解決法は、各ステップについて保証された最小の進歩を有することである。最小の進歩を保証するために用い得る関数の可能なクラスは、最大限でもN/base^(steps−delta)によるバウンドr(可能な探査の窓)を含み、ここで、baseは、2のような指数の底であり、stepsは、これまで行われたステップの数であり、deltaは、最悪の場合の速度である。base=2、delta=2を選択することによって、最大限でもeltaの付加的なステップを必要とし、範囲は、バイナリ検索(ステップごとの探査の数、k=1)を想定する予想される場合のbase^deltaの因数以上に広くはならない。依然として、見つけられるノードの品質は、底の係数によって制限される。品質係数は、次のように定義される。すなわち、実際のr_dレプリカが与えられた場合には、コストを増大させることによってこれらを並べ替える。修正されていない(バインドされていない)検索は、常にこれらの第1(=最良)のものを見つけ出す。修正された場合は、第1のr_d*(1−1/base)項目の中で並べ替えられたものを見つけ出すので、これは、r_d*(1−1/base)項目より決して悪いものにならない。
非特許文献12は、負荷をうまく分散するので、DHT内に2つの探査を用いることが歓迎すべきことであることを示す。一般に、項目は、負荷がより少ない2つ(又はそれ以上)の可能な位置に格納される。
分散型ストレージの一部としてネットワークの一部を示す。 コスト関数のダイアグラムを示す。 本発明の一実施形態による、コンピュータ・ネットワークにおいてレプリカを検索する方法のフローチャートを示す。 本発明の一実施形態による、コンピュータ・ネットワークにおいてレプリカを検索する方法のフローチャートを示す。

Claims (25)

  1. コンピュータ・ネットワークにおいて電子文書のレプリカを検索する方法であって、
    少なくとも1つのレプリカ番号を選択するステップと、
    入力として前記レプリカ番号及び文書識別子を必要とする所定の関数を適用することによって、各々が前記レプリカを提供できる前記ネットワーク内のエンティティを表す、少なくとも1つのエンティティ識別子を求めるステップと、
    文書関連要求を前記識別されたエンティティの少なくとも1つにアドレス指定するステップと、
    を含むことを特徴とする方法。
  2. Nがレプリカの最大数であるものとして、k=N個のレプリカ番号を選択するステップと、
    前記所定の関数をk回適用することによって、k個のエンティティ識別子を求めるステップと、
    を含む、請求項1に記載の方法。
  3. k<Nであるものとして、レプリカの最大数Nからk個のレプリカ番号を選択するステップと、
    前記所定の関数をk回適用することによって、k個のエンティティ識別子を求めるステップと、
    を含む、請求項1に記載の方法。
  4. k<=5である、請求項3に記載の方法。
  5. k=1である、請求項3に記載の方法。
  6. 前記文書関連要求を識別されたエンティティの全てにアドレス指定するステップを含む、請求項1乃至請求項5のいずれか1項に記載の方法。
  7. 前記文書関連要求を前記識別されたエンティティの選択されたものにだけアドレス指定するステップを含む、請求項1乃至請求項4のいずれか1項に記載の方法。
  8. 前記文書関連要求を前記識別されたエンティティから選択された1つのエンティティだけにアドレス指定するステップを含む、請求項1乃至請求項4のいずれか1項に記載の方法。
  9. 前記k個のエンティティの各々についてコスト関数を計算するステップを含み、前記コスト関数は、結果として前記関連するエンティティをアドレス指定するためのコストを示すコスト値を提供する、請求項1乃至請求項5いずれか1項に記載の方法。
  10. 関連付けられた前記コスト値によって、アドレス指定される各エンティティが前記識別されたエンティティから選択される、請求項7又は請求項8と組み合わされた請求項9に記載の方法。
  11. 前記アドレス指定された1つのエンティティ/複数のエンティティが、最も低いコスト値を示すものである、請求項10に記載の方法。
  12. 前記アドレス指定されたエンティティについてのコスト値が、これらのエンティティとの通信から得られる、請求項6又は請求項7に記載の方法。
  13. 前記アドレス指定されたエンティティについてのコスト値が、コスト・データベースから得られる、請求項6又は請求項7に記載の方法。
  14. 前記アドレス指定されたエンティティの各々から、「レプリカが見当たらない」という応答を受信したとき、前記文書関連要求をアドレス指定するために、別のエンティティが前記識別されたエンティティから選択される、請求項1乃至請求項13のいずれか1項に記載の方法。
  15. 前記前の要求がアドレス指定された前記1つのエンティティ/複数のエンティティに関連付けられた前記レプリカ番号より低い関連付けられたレプリカ番号を選択することによって、他の前記エンティティが前記識別されたエンティティから選択される、請求項14に記載の方法。
  16. 前記レプリカが見当たらず、かつ、該レプリカがそこにないという表示を、前記アドレス指定された1つのエンティティ/複数のエンティティから受け取ったとき、前記文書関連要求をアドレス指定するために、別のエンティティが前記識別されたエンティティから選択される、請求項1乃至請求項15のいずれか1項に記載の方法。
  17. 関連付けられたコスト値に基づいて、他の前記エンティティが選択される、請求項16に記載の方法。
  18. 前記識別されたエンティティから少なくとも1つの最も好ましいエンティティを選択するステップと、
    前記文書関連要求を最も好ましいエンティティの各々にアドレス指定するステップと、
    を含む、請求項1乃至請求項4のいずれか1項に記載の方法。
  19. 最も好ましいエンティティの各々が、前記エンティティからの距離に従って選択される、請求項18に記載の方法。
  20. エンティティの前記距離が、前記関連付けられたエンティティ識別子から得られる、請求項19に記載の方法。
  21. 前記アドレス指定されたエンティティから「レプリカが見当たらない」という応答を受信したとき、前記文書関連要求をアドレス指定するために、少なくとも1つの他のエンティティが第2番目に好ましいエンティティとして1組の識別されたエンティティから選択され、この組の識別されたエンティティは、前記最も好ましいエンティティ識別子に関連付けられた前記レプリカ番号より低い対応するレプリカ番号を有するエンティティに制限される、請求項18乃至請求項20のいずれか1項に記載の方法。
  22. 前記第2番目に好ましいエンティティが、前記検索エンティティからの距離に従って前記組の識別されたエンティティから選択される、請求項21に記載の方法。
  23. 請求項1乃至請求項22のいずれか1項に記載された方法の各ステップをコンピュータに実行させるプログラム。
  24. コンピュータ・ネットワークにおいて電子文書のレプリカをデポジットする方法であって、
    レプリカ番号を選択するステップと、
    入力として前記レプリカ番号及び文書識別子を必要とする所定の関数を適用することによって、前記ネットワーク内のエンティティを表すエンティティ識別子を求めるステップと、
    レプリカをデポジットするために、前記識別されたエンティティをアドレス指定するステップと、
    を含むことを特徴とする方法。
  25. 請求項24に記載された方法の各ステップをコンピュータに実行させるプログラム。
JP2006516500A 2003-06-30 2004-05-07 コンピュータ・ネットワークにおける電子文書のレプリカの検索 Expired - Lifetime JP4538454B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03014829 2003-06-30
PCT/IB2004/001604 WO2005001713A1 (en) 2003-06-30 2004-05-07 Retrieving a replica of an electronic document in a computer network

Publications (2)

Publication Number Publication Date
JP2007520778A true JP2007520778A (ja) 2007-07-26
JP4538454B2 JP4538454B2 (ja) 2010-09-08

Family

ID=33547603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006516500A Expired - Lifetime JP4538454B2 (ja) 2003-06-30 2004-05-07 コンピュータ・ネットワークにおける電子文書のレプリカの検索

Country Status (6)

Country Link
US (1) US8370454B2 (ja)
EP (1) EP1639502B1 (ja)
JP (1) JP4538454B2 (ja)
CN (1) CN100487695C (ja)
TW (1) TWI378360B (ja)
WO (1) WO2005001713A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219984A (ja) * 2006-02-20 2007-08-30 Brother Ind Ltd コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
WO2013027784A1 (ja) * 2011-08-22 2013-02-28 日本電気株式会社 データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050037485A1 (en) * 2003-06-05 2005-02-17 Rodgers Seth T. System and method for process automation
US20060117020A1 (en) * 2004-12-01 2006-06-01 John Toebes Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device
JP4635682B2 (ja) * 2005-03-29 2011-02-23 ブラザー工業株式会社 情報処理装置、情報処理方法及び情報処理用プログラム
JP4696721B2 (ja) * 2005-06-27 2011-06-08 富士ゼロックス株式会社 文書管理サーバ、文書管理システム
US20070078809A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. Robust data availability system having decentralized storage and multiple access paths
US8688780B2 (en) * 2005-09-30 2014-04-01 Rockwell Automation Technologies, Inc. Peer-to-peer exchange of data resources in a control system
US7693882B2 (en) * 2005-10-04 2010-04-06 Oracle International Corporation Replicating data across the nodes in a cluster environment
KR100862659B1 (ko) * 2006-01-04 2008-10-10 삼성전자주식회사 인터넷 스토리지에 접근하는 방법 및 장치
JP2007249913A (ja) * 2006-03-20 2007-09-27 Kddi Corp データ管理装置、データ管理プログラム、および記録媒体
US8982709B2 (en) * 2007-01-31 2015-03-17 Hewlett-Packard Development Company, L.P. Selecting service nodes for an end-to-end service path from a reduced search space
US7885928B2 (en) * 2007-03-08 2011-02-08 Xerox Corporation Decentralized adaptive management of distributed resource replicas in a peer-to-peer network based on QoS
US20090012984A1 (en) 2007-07-02 2009-01-08 Equivio Ltd. Method for Organizing Large Numbers of Documents
US9134916B1 (en) * 2007-09-28 2015-09-15 Emc Corporation Managing content in a distributed system
US20090144338A1 (en) * 2007-11-30 2009-06-04 Yahoo! Inc. Asynchronously replicated database system using dynamic mastership
US20090144333A1 (en) * 2007-11-30 2009-06-04 Yahoo! Inc. System for maintaining a database
US20100174863A1 (en) * 2007-11-30 2010-07-08 Yahoo! Inc. System for providing scalable in-memory caching for a distributed database
US20090144220A1 (en) * 2007-11-30 2009-06-04 Yahoo! Inc. System for storing distributed hashtables
US8452736B2 (en) * 2008-03-05 2013-05-28 Ca, Inc. File change detection
US20100257403A1 (en) * 2009-04-03 2010-10-07 Microsoft Corporation Restoration of a system from a set of full and partial delta system snapshots across a distributed system
US8261126B2 (en) 2009-04-03 2012-09-04 Microsoft Corporation Bare metal machine recovery from the cloud
CN101860955A (zh) * 2009-04-08 2010-10-13 华为技术有限公司 实现服务注册的方法、实现服务发现的方法及装置
US8769055B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Distributed backup and versioning
US8560639B2 (en) * 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US8769049B2 (en) * 2009-04-24 2014-07-01 Microsoft Corporation Intelligent tiers of backup data
US8935366B2 (en) 2009-04-24 2015-01-13 Microsoft Corporation Hybrid distributed and cloud backup architecture
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US20110225121A1 (en) * 2010-03-11 2011-09-15 Yahoo! Inc. System for maintaining a distributed database using constraints
US20110225120A1 (en) * 2010-03-11 2011-09-15 Yahoo! Inc. System for maintaining a distributed database using leases
US8949371B1 (en) * 2011-09-29 2015-02-03 Symantec Corporation Time and space efficient method and system for detecting structured data in free text
US8930320B2 (en) 2011-09-30 2015-01-06 Accenture Global Services Limited Distributed computing backup and recovery system
US9160697B2 (en) * 2012-01-01 2015-10-13 Qualcomm Incorporated Data delivery optimization
US9600365B2 (en) 2013-04-16 2017-03-21 Microsoft Technology Licensing, Llc Local erasure codes for data storage
TWI502372B (zh) * 2013-09-27 2015-10-01 Acer Inc 網路儲存系統及檔案快取方法
US11120210B2 (en) 2014-07-18 2021-09-14 Microsoft Technology Licensing, Llc Entity recognition for enhanced document productivity
US10929357B2 (en) 2016-02-29 2021-02-23 Red Hat, Inc. Detecting stale storage layouts without using client locks
US10785299B2 (en) * 2016-06-08 2020-09-22 Nutanix, Inc. Generating cloud-hosted storage objects from observed data access patterns
US10452296B1 (en) 2018-03-23 2019-10-22 Amazon Technologies, Inc. Accelerated volumes
US10459655B1 (en) 2018-04-30 2019-10-29 Amazon Technologies, Inc. Rapid volume backup generation from distributed replica
US11023157B2 (en) 2018-04-30 2021-06-01 Amazon Technologies, Inc. Intermediary duplication to facilitate copy requests in distributed storage systems
US11343314B1 (en) 2018-04-30 2022-05-24 Amazon Technologies, Inc. Stream-based logging for distributed storage systems
US10956442B1 (en) 2018-07-30 2021-03-23 Amazon Technologies, Inc. Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots
US11068192B1 (en) * 2019-03-26 2021-07-20 Amazon Technologies, Inc. Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source
US10983719B1 (en) 2019-03-28 2021-04-20 Amazon Technologies, Inc. Replica pools to support volume replication in distributed storage systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197002A (ja) * 2000-12-26 2002-07-12 Oki Electric Ind Co Ltd 自律分散型コンテンツ配信システム及び方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588147A (en) 1994-01-14 1996-12-24 Microsoft Corporation Replication facility
US5802301A (en) 1994-05-11 1998-09-01 International Business Machines Corporation System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing
US5832487A (en) * 1994-12-15 1998-11-03 Novell, Inc. Replicated object identification in a partitioned hierarchy
US5815649A (en) 1995-10-20 1998-09-29 Stratus Computer, Inc. Distributed fault tolerant digital data storage subsystem for fault tolerant computer system
US6467046B1 (en) 1996-05-06 2002-10-15 Sun Microsystems, Inc. System and method for automatically distributing copies of a replicated database in a computer system
US5963944A (en) * 1996-12-30 1999-10-05 Intel Corporation System and method for distributing and indexing computerized documents using independent agents
US5897661A (en) 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6070191A (en) * 1997-10-17 2000-05-30 Lucent Technologies Inc. Data distribution techniques for load-balanced fault-tolerant web access
US6163856A (en) 1998-05-29 2000-12-19 Sun Microsystems, Inc. Method and apparatus for file system disaster recovery
US6638314B1 (en) * 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6721794B2 (en) 1999-04-01 2004-04-13 Diva Systems Corp. Method of data management for efficiently storing and retrieving data to respond to user access requests
US6470420B1 (en) 2000-03-31 2002-10-22 Western Digital Ventures, Inc. Method for designating one of a plurality of addressable storage devices to process a data transfer request
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
US7069295B2 (en) 2001-02-14 2006-06-27 The Escher Group, Ltd. Peer-to-peer enterprise storage
US6925515B2 (en) 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
JP4025517B2 (ja) * 2001-05-31 2007-12-19 株式会社日立製作所 文書検索システムおよびサーバ
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002197002A (ja) * 2000-12-26 2002-07-12 Oki Electric Ind Co Ltd 自律分散型コンテンツ配信システム及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219984A (ja) * 2006-02-20 2007-08-30 Brother Ind Ltd コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
WO2013027784A1 (ja) * 2011-08-22 2013-02-28 日本電気株式会社 データ処理装置、データ分散処理システム、データ処理方法およびプログラム記憶媒体

Also Published As

Publication number Publication date
TWI378360B (en) 2012-12-01
TW200511051A (en) 2005-03-16
EP1639502A1 (en) 2006-03-29
EP1639502B1 (en) 2013-11-20
JP4538454B2 (ja) 2010-09-08
CN1795448A (zh) 2006-06-28
US20060271530A1 (en) 2006-11-30
WO2005001713A1 (en) 2005-01-06
CN100487695C (zh) 2009-05-13
US8370454B2 (en) 2013-02-05

Similar Documents

Publication Publication Date Title
JP4538454B2 (ja) コンピュータ・ネットワークにおける電子文書のレプリカの検索
Rowstron et al. Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility
Cai et al. A peer-to-peer replica location service based on a distributed hash table
Stoica et al. Chord: A scalable peer-to-peer lookup service for internet applications
US7054867B2 (en) Systems, methods and programming for routing and indexing globally addressable objects and associated business models
Hildrum et al. Distributed object location in a dynamic network
Cai et al. Maan: A multi-attribute addressable network for grid information services
Aspnes et al. Skip graphs
US20100161657A1 (en) Metadata server and metadata management method
US7689764B1 (en) Network routing of data based on content thereof
US20060031230A1 (en) Data storage systems
WO2008024317A2 (en) Automatic load spreading in a clustered network storage system
CN107562757A (zh) 基于分布式文件***的查询、访问方法、装置及***
Yu et al. Granary: A sharing oriented distributed storage system
Waldvogel et al. Dynamic replica management in distributed hash tables
Silaghi et al. Query routing in the TerraDir distributed directory
Hsiao et al. Modeling and evaluating peer-to-peer storage architectures
Thant et al. Improving the availability of NoSQL databases for Cloud Storage
Bauer et al. Replica placement and location using distributed hash tables
CN112637327B (zh) 一种数据处理方法、装置及***
CN117478304B (zh) 区块链管理方法、***和计算机设备
King Modeling and Evaluating Peer-to-Peer Storage Architectures
Belloum et al. Scalable federation of Web cache servers
Hsiao et al. Tornado: a capability-aware peer-to-peer storage network
CN115277858A (zh) 一种大数据的数据处理方法和***

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070501

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100405

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20100615

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

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

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4538454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term