JP2010129088A - 分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム - Google Patents

分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2010129088A
JP2010129088A JP2009264264A JP2009264264A JP2010129088A JP 2010129088 A JP2010129088 A JP 2010129088A JP 2009264264 A JP2009264264 A JP 2009264264A JP 2009264264 A JP2009264264 A JP 2009264264A JP 2010129088 A JP2010129088 A JP 2010129088A
Authority
JP
Japan
Prior art keywords
data
replica
update
request
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009264264A
Other languages
English (en)
Other versions
JP5635763B2 (ja
Inventor
Arun K Thakore
アラン・ケイ・タコール
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 JP2010129088A publication Critical patent/JP2010129088A/ja
Application granted granted Critical
Publication of JP5635763B2 publication Critical patent/JP5635763B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (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)

Abstract

【課題】
データ・レプリカのセットにおける保存データの更新を制御するためにコンピュータを利用する方法を提供する。
【解決手段】
本発明のコンピュータを利用する方法は、要求元からのデータ要求を受け取ったことに応答して、そのデータ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを作成する。本発明の方法は、データ要求が更新データ要求である場合、その更新データ要求をレプリカ管理エージェントに送り、アービトレーション・トークンが存在するかどうかを決定し、アービトレーション・トークンが存在するという決定に応答して、レプリカ管理エージェントが識別済みデータ・レプリカにおけるデータを更新する。
【選択図】 図7

Description

本発明は、一般的にはデータ処理システムの改良に関し、特に、データを管理するための方法及び装置に関する。更に詳しく言えば、本発明は、アービトレーション・トークンを使用して、データ・レプリカのセットにおける保存データの更新を制御するためにコンピュータを利用する方法、装置およびコンピュータ・プログラムに関する。
サービス指向アーキテクチャ(SOA)は、情報サービス(IS)によって企業データの抽象化及び仮想化された表示形態を提供する場合に使用されてきた。情報サービスは、与えられた領域における種々のデータ・ソースのロケーション、構造、及び実施形態に関連した詳細を隠し、クライアントが妥当な方法でデータをアクセスすることを可能にする。一般に、クライアント及びデータ・ソースは、種々の地理的に分散した分布になっている。
そのような仮想化され且つ分散した環境における情報サービスに関して高いデータ入手可能性及び短い応答時間を確保するために、多くの場合、データが地理的ロケーションの全域において複製される。一般に、データ複製の多くの変形が使用されている。最大量のデータ入手可能性及び最短の応答時間を表明している複製の形態は、種々のロケーションにおいて同じデータを複製すること及び、クライアントが、自身に最も近接したレプリカからの読み取り及びそのレプリカに対する更新を可能にすることを伴う。一般に、そのような複製はデータ保全性およびデータ精度を低下させる。多くのクライアントがレプリカを更新する可能性があるので、同じデータが同時に更新される可能性があり、その基礎となるデータの保全性を低下させる可能性がある。更に、クライアントがデータを読み取るとき、他のクライアントが他のレプリカを更新してしまって、その更新された情報が適時にローカルのレプリカに複製されない場合、そのクライアントは陳腐なデータを得る可能性がある。
一般的な解決方法は、レプリカにおいて許容されるアクセスのタイプを制限するか、或いは許容される複製の量を制限する。或る解決方法は、マスタ・レプリカではデータがデータが更新されることを許容するが、他のローカル・レプリカでは読み取りアクセスだけを許容する。別の解決方法は、失効したデータをクライアントが読み取ることを許容するが、特定のロケーションにおけるデータを、そのデータが別のロケーションにおいて更新された後の或る時間フレーム内では最新のものにする機能を提供する。従って、これらの解決方法は融通性を制限する。
本発明の目的は、データ・レプリカのセットにおける保存データの更新を制御するためにコンピュータを利用する方法、データ処理システム、及びコンピュータ・プログラムを提供することにある。
本発明の1つの実施例によれば、データ・レプリカのセットにおける保存されたデータ(以下、「保存データ」という)の更新を制御するためにコンピュータを利用する方法が示される。そのコンピュータを利用する方法は、要求元からのデータ要求を受け取ったことに応答して、そのデータ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを作成する。更に、そのコンピュータを利用する方法は、そのデータ要求が更新データ要求である場合、更新データ要求をレプリカ管理エージェントに送る。そのコンピュータを利用する方法は、アービトレーション・トークンが存在するかどうかを決定し、アービトレーション・トークンが存在するという決定に応答して、レプリカ管理エージェントによりその識別済みデータ・レプリカのデータを更新する。
本発明の別の実施例では、データ・レプリカのセットにおける保存データの更新を制御するためのデータ処理システムが示される。そのデータ処理システムは、バスと、バスに接続され、コンピュータ実行可能命令を含むメモリと、バスに接続されたプロセッサ・ユニットとを含み、プロセッサ・ユニットは、要求元からデータ要求を受け取ったことに応答して、データ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを作成すること、及びデータ要求が更新データ要求である場合、更新データ要求をレプリカ管理エージェントに送ることによりデータ処理を指示するためのコンピュータ実行可能命令を実行する。プロセッサ・ユニットは、アービトレーション・トークンが存在するかどうかを決定し、アービトレーション・トークンが存在するという決定に応答して、レプリカ管理エージェントによりその識別済みデータ・レプリカにおけるデータを更新するようにデータ処理を更に指示するためのコンピュータ実行可能命令を実行する。
本発明の更に別の実施例では、データ・レプリカのセットにおける保存データの更新を制御するためのコンピュータ・プログラムが示される。そのコンピュータ・プログラムは、要求元からのデータ要求を受け取ったことに応答して、そのデータ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを形成するコンピュータ実行可能命令、及び、データ要求が更新データ要求である場合、その更新データ要求をレプリカ管理エージェントに送るためのコンピュータ実行可能命令を含む。コンピュータ・プログラムは、更に、アービトレーション・トークンが存在するかどうか決定するためのコンピュータ実行可能命令、及び、アービトレーション・トークンが存在するという決定に応答して、レプリカ管理エージェントにより識別済みデータ・レプリカにおけるデータを更新するためのコンピュータ実行可能命令を含む。
実施例を具現化し得るデータ処理システムのネットワークの概略図である。 実施例を具現化し得るデータ処理システムのブロック図である。 実施例に従って、データ・レプリカのセットに保存データの更新を制御するためのシステムを表すブロック図である。 実施例に従って、図3のシステムに示されたデータ・レプリカのセットにおける保存データの更新を制御するためのシステムのコンポーネント全体にわたるデータ・フローを示すブロック図である。 実施例に従って、図3のアービトレーション・トークンを表すブロック図である。 実施例に従って、図3のアービトレーション・トークンを使用して更新時ウィンドウを計算するための等式である。 実施例に従って、図3のアービトレーション・トークンを使用して、データ・レプリカのセットにおけるデータ・レプリカを更新するためのプロセスのフローチャートである。 実施例に従って、データ・レプリカを更新するための、図7のプロセスの詳細を示すフローチャートである。 実施例に従って、図7のアービトレーション・トークンにおけるウェートを更新するためのプロセスのフローチャートである。 実施例に従って、図3のデータ・レプリカのセットに対するデータ要求を制御するためのプロセスのフローチャートである。 実施例に従って、図3のアービトレーション・トークンを初期化するためのプロセスのフローチャートである。
当業者には明らかなように、本発明は、システム、方法、又はコンピュータ・プログラムとして具体化することが可能である。従って、本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例(ファームウェア、駐在ソフトウェア、マイクロコード等を含む)、又は、本明細書では一般に「回路」、「モジュール」、又は「システム」と呼ばれることがあるソフトウェアの側面及びハードウェアの側面を結合した実施例の形式をとり得る。更に、本発明は、コンピュータ使用可能プログラム・コードで具体的に表され、任意の有形の表現媒体に組み込まれたコンピュータ・プログラムの形式をとり得る。
1つまたは複数のコンピュータ使用可能媒体又はコンピュータ可読媒体の任意の組み合わせを利用することが可能である。例えば、コンピュータ使用可能媒体又はコンピュータ可読媒体は、電子的、磁気的、光学的、電磁気的、赤外線、もしくは半導体システム、装置、デバイス、又は伝播媒体であってもよいが、それらに限定されない。コンピュータ可読媒体の更に特定の例(限定的なリスト)は次のようなもの、即ち、1つ又は複数の配線を有する電気的接続体、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CDROM)、光学的記憶装置、インターネット又はイントラネットをサポートする媒体のような通信媒体、或いは磁気記憶装置を含む。プログラムは、例えば、紙又は他の媒体の光学的スキャンを介して電子的に捕捉され、しかる後、コンパイルされ、解釈され、又は必要に応じて適当な方法で処理され、しかる後、コンピュータ・メモリに保存されるので、コンピュータ使用可能媒体又はコンピュータ可読媒体は、プログラムが印刷される紙又は他の適切な媒体であってもよいということに留意されたい。本明細書に関して、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって、又はそれらに関連して使用するためのプログラムを含み、保存し、伝送し、伝播し、または搬送し得る任意の媒体であってもよい。コンピュータ使用可能媒体は、ベースバンドでまたは搬送波の一部として組み込まれた、コンピュータ使用可能プログラム・コードを伴う伝播されたデータ信号を含み得る。コンピュータ使用可能プログラム・コードは、無線、有線、光ファイバ・ケーブル、RF等を含むがそれらに限定されない任意の適切な媒体を使用して送信することが可能である。
本発明のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような通常の手続きプログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで書くことも可能である。プログラム・コードは、ユーザのコンピュータにおいて全体的に、又はスタンド・アロン・ソフトウェア・パッケージのようにユーザのコンピュータにおいて部分的に、又はユーザのコンピュータおよびリモート・コンピュータにおいてそれぞれ部分的に、又はリモート・コンピュータもしくはサーバにおいて全体的に、実行されてもよい。後述の方法では、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、又は、(例えば、インターネット・サービス・プロバイダを使ってインターネットを介して)外部コンピュータへの接続が行われてもよい。
本発明は、本発明の実施例に従って、方法、装置(システム)、及びコンピュータ・プログラムのフローチャート及び/またはブロック図に関して後述される。フローチャート及び/又はブロック図における各ブロック、並びにフローチャート及び/又はブロック図におけるブロックの組み合わせがコンピュータ・プログラム命令によって具現化することが可能である、ということは明らかであろう。
これらのコンピュータ・プログラム命令は、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/またはブロック図の1つ又は複数のブロックにおいて指定される機能/行為を具現化するための手段を形成するようなマシンを製造するために、汎用コンピュータ、特殊目的コンピュータ、又は他のプログラム可能データ処理装置におけるプロセッサに提供されてもよい。更に、これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に保存された命令が、フローチャート及び/又はブロック図のブロックにおいて指定される機能/行為を具現化する命令手段を含む製品を創作するというような特定の方法で機能するように、コンピュータまたは他のプログラム可能データ処理装置に指示し得るコンピュータ可読媒体に保存されてもよい。
更に、コンピュータ・プログラム命令は、コンピュータ又は他のプログラム可能データ処理装置において実行される命令が、フローチャート及び/又はブロック図のブロックにおいて指定された機能/行為を具現化するためのプロセスを提供するよう、コンピュータ利用のプロセスを創出すべく一連の動作ステップをコンピュータ又は他のプログラム可能データ処理装置上で遂行させるためにコンピュータ又は他のプログラム可能データ処理装置上にロードされてもよい。
次に、図面、特に図1及び2参照すると、実施例を具現化し得るデータ処理環境の例示的な図が示される。図1及び2が単に例示的なものであり、種々の実施例を具現化し得る環境に関して如何なる限定を主張又は暗示することを意図しないということは明らかである。図示された環境に対して多くの修正が施されてもよい。
図1は、実施例を具現化し得るデータ処理システムのネットワークの概略図を示す。ネットワーク・データ処理システム100は、実施例を具現化し得るコンピュータのネットワークである。ネットワーク・データ処理システム100はネットワーク102を含み、そのネットワーク102は、ネットワーク・データ処理システム100内で相互接続された種々の装置及びコンピュータの間の通信リンクを提供するために使用される媒体である。ネットワーク102は、有線通信リンク、無線通信リンク、又は光ファイバ・ケーブルのような接続体を含み得る。
図示の例では、サーバ104及びサーバ106が記憶装置108と共にネットワーク102に接続している。更に、クライアント110、112、及び114がネットワーク102に接続している。クライアント110、112、及び114は、例えば、パーソナル・コンピュータ又はネットワーク・コンピュータであってもよい。図示の例では、サーバ104は、ブート・ファイルのようなデータ、オペレーティング・システム・イメージ、及びアプリケーションをクライアント110、112、及び114に提供する。クライアント110、112、及び114は、この例では、サーバ104に対するクライアントである。ネットワーク・データ処理システム100は、更なるサーバ、クライアント、及び図示されてない他の装置を含み得る。図示の実施例では、サーバ104及びサーバ106は、クライアント110、112、及び114によるアクセスのための保存データをホスティングするデータ・レプリカのセットを提供する。データ・レプリカはサーバ上に置かれてもよいが、データ・レプリカは一般に地理的に分散配置される。更に、サーバ106は、サーバ104及びサーバ106に保存データの更新を制御するための情報サービス・プロバイダ及び管理サーバをホスティングする。情報サービス・プロバイダのセットにおけるように複数の情報サービス・プロバイダが存在し得る。情報サービス・プロバイダは、データ、レプリカから離れているサーバ及び他の情報サービス・プロバイダ上に置かれてもよい。特に、管理サーバは、アービトレーション・トークンを初期化し、そのアービトレーション・トークンをデータ・レプリカに送る。情報サービス・プロバイダは、サーバ104上に保存データにアクセスすることを求める要求をクライアント110、112、及び114から受け取る。その後、情報サービス・プロバイダは、その要求を満たすためのデータ・レプリカを識別する。読み取り要求は遅延なしにサービスされる。サーバ104の識別済みデータ・レプリカ上に保存データを更新するための書き込み要求は、その識別済みデータ・レプリカがアービトレーション・トークンを所有しているときだけ行なわれる。識別済みデータ・レプリカ上に保存データが更新された後、サーバ104及びサーバ106上に分散配置されたデータ・レプリカのようなデータ・レプリカすべてがその識別済みデータ・レプリカに書かれた更新のコピーを受け取る。しかる後、アービトレーション・トークンは次のデータ・レプリカに送られる。
図示の例では、ネットワーク・データ処理システム100は、相互に通信するためのプロトコルの伝送制御プロトコル/インターネット・プロトコル(TCP/IP)スイートを使用するネットワーク及びゲートウエイの世界的な集合体を表わすネットワーク102を備えたインターネットである。インターネットの中心には、データ及びメッセージを経路指定する数千個の商業用の、政府機関の、教育機関の、及びその他のコンピュータ・システムから成る、主要ノード又はホスト・コンピュータの間の高速データ通信回線のバックボーンがある。勿論、ネットワーク・データ処理システム100は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN)、又は広域ネットワーク(WAN)のような多数の種々なタイプのネットワークとして具現化されてもよい。図1は、種々の実施例に対する一例として意図されたものであり、その実施例に対するアーキテクチャ上の限定として意図されたものではない。
図1におけるシステム100の例を使用して、データ・レプリカのセットにおける保存データの更新を制御するコンピュータ利用方法を説明する。例えば、サーバ104上にある識別済みデータ・レプリカに存在するデータに対して、クライアント110のような要求元からのデータ要求が、サーバ106における情報サービス・プロバイダによって、ネットワーク102を介して受け取られる。
データ要求が更新データ要求である場合、その更新データ要求は、サーバ104におけるレプリカ管理エージェントに送信される。レプリカ管理エージェントは、アービトレーション・トークンがデータ要求に存在するかどうかを決定し、アービトレーション・トークンが存在する場合、識別済みデータ・レプリカに対するデータを更新する。アービトレーションは、データ・レプリカが更新データ要求の書き込みオペレーションを行なうことを許容される総時間を制御する。
レプリカ管理エージェントからの確認を受けるとき、サーバ106における情報サービス・プロバイダはその確認をクライアント110における要求元に転送する。レプリカ管理エージェントは、更に、サーバ104、サーバ106、又は他のサーバに置かれているデータ・レプリカのセットにおける別のデータ・レプリカにその書き込まれた更新のコピーを転送する。更に、レプリカ管理エージェントは、アービトレーション・トークンにおけるシーケンスに従って次のデータ・レプリカにアービトレーション・トークンを送信する。従って、上記のプロセス及びコンポーネントは、データ・レプリカのセットにおける保存データの更新を制御する能力を与える。次に図2を参照すると、実施例を具現化し得るデータ処理システムのブロック図が示される。データ処理システム200は、図1におけるサーバ104又はクライアント110のようなコンピュータの一例であり、そのコンピュータには、図示の実施例のためのプロセスを具現化するコンピュータ使用可能プログラム・コード又は命令が置かれている。データ処理システム200は、図1における電気自動車116のような電気自動車に搭載された計算装置として具現化し得る。
この実例例では、データ処理システム200は、プロセッサ・ユニット204、メモリ206、永続記憶装置208、通信ユニット210、入出力(I/O)ユニット212、及びディスプレイ214の間の伝送を行なう伝送ファブリック202を含む。プロセッサ・ユニット204は、メモリ206にロードされるソフトウェアのための命令を実行するように働く。プロセッサ・ユニット204はプロセッサのセットであってもよい。本明細書において使用されるように、用語「セット」は1つまたはそれ以上を指す。従って、プロセッサのセットは1つまたはそれ以上のプロセッサである。更に、プロセッサ・ユニット204は、特定の実施態様に依存してマルチプロセッサ・コアであってもよい。更に、プロセッサ・ユニット204は、メイン・プロセッサが単一のチップ上に二次プロセッサと共に存在する1つまたはそれ以上の異種のプロセッサ・システムを使用して具現化されてもよい。別の実施例として、プロセッサ・ユニット204は、同じタイプの複数のプロセッサを含む対称マルチプロセッサ・システムであってもよい。
これらの例では、メモリ206は、例えば、ランダム・アクセス・メモリ、又は他の適切な揮発性もしくは不揮発性の記憶装置であってもよい。記憶装置は、データ、情報、及び/又はプログラム・コードを保存することができる任意のハードウェア装置である。永続記憶装置208は、特定の実施態様に依存して種々の形体をとり得る。例えば、永続記憶装置208は1つまたはそれ以上のコンポーネント又は装置を含み得る。別の例では、永続記憶装置208は、ハード・ドライブ、フラッシュ・メモリ、再書込み可能光ディスク、再書込み可能磁気テープ、又はそれらの組み合わせであってもよい。永続記憶装置208によって使用される媒体は取り外し可能なものであってもよい。例えば、取り外し可能ハード・ドライブが永続記憶装置208の代わりに使用されてもよい。
これらの例における通信ユニット210は、他のデータ処理システム又は装置との通信を行なう。これらの例では、通信ユニット210はネットワーク・インターフェース・カードである。通信ユニット210は、物理通信リンク及び無線通信リンクの一方又は両方の使用を通して通信を行ない得る。
入出力ユニット212は、データ処理システム200に接続された他の装置とのデータの入力及び出力を可能にする。例えば、入出力ユニット212は、キーボード及びマウスを介したユーザ入力のための接続を提供し得る。更に、入出力ユニット212はプリンタに出力を送り得る。ディスプレイ214は、ユーザに情報を表示するための機構を提供する。
オペレーティング・システムのための命令、及びアプリケーション又はプログラムのための命令は永続記憶装置208に置かれる。これらの命令は、プロセッサ・ユニット204による実行のためのメモリ206にロードされる。プロセッサ・ユニット204が、メモリ206のようなメモリに置かれ得るコンピュータ実装の命令を使用することによって種々の実施例のプロセスを遂行することが可能である。これらの命令は、プロセッサ・ユニット204におけるプロセッサによって読み取られて実行されるプログラム・コード、コンピュータ使用可能プログラム・コード、又はコンピュータ可読プログラム・コードと呼ばれる。種々の実施例におけるプログラム・コードは、メモリ206又は永続記憶装置208のような種々の物理的又は有形のコンピュータ可読媒体上に具現化され得る。
プログラム・コード216は、選択的に取り外し可能なコンピュータ可読媒体218上に機能的な形で置かれ、プロセッサ・ユニット204による実行のためにデータ処理システム200上にロード又は転送される。プログラム・コード216及びコンピュータ可読媒体218は、これらの例では、コンピュータ・プログラム製品220を形成する。1つの例では、コンピュータ可読媒体218は、永続記憶装置208の一部であるハード・ドライブのような記憶装置上にそれを移すためのものであってもよく、永続記憶装置208の一部であるドライブ又は他の装置に挿入又は設置される光ディスク又は磁気ディスクのような有形のものであってもよい。有形のものでは、コンピュータ可読媒体218は、更に、データ処理システム200に接続されるハード・ドライブ、サム・ドライブ、又はフラッシュ・メモリのような永続記憶装置の形をとり得る。コンピュータ可読媒体218の有形のものはコンピュータ記録可能記憶媒体とも呼ばれる。或る例では、コンピュータ可読媒体218が取り外し可能でなくてもよい。
別の方法として、プログラム・コード216は、コンピュータ可読媒体218から通信ユニット210のための通信リンクを介して、及び/又は入出力ユニット212への接続を介して、データ処理システム200に転送されてもよい。その通信リンク及び/又は接続は、実施例では物理的なもの又は無線であってもよい。コンピュータ可読媒体は、プログラム・コードを含む通信リンク又は無線伝送のような非有形媒体の形式をとってもよい。
データ処理システム200に関して例示された種々のコンポーネントは、種々の実施例を具現化し得る方法に対するアーキテクチャ上の限定を示すことを意味しない。種々の実施例は、データ処理システム200のための図示されたコンポーネントの他の又はそれらの代わりのコンポーネントを含むデータ処理システム200において具現化されてもよい。図2に示された他のコンポーネントを、図示の例から変更することも可能である。
1つの例として、データ処理システム200における記憶装置は、データを保存し得る任意のハードウェア装置である。メモリ206、永続記憶装置208、及びコンピュータ可読媒体218は有形の記憶装置の例である。
別の例では、通信ファブリック202を具現化するためにバス・システムを使用することが可能であり、そのバス・システムは、システム・バス又は入出力バスのような1つまたはそれ以上のバスで構成することができる。勿論、バス・システムは、そのバス・システムに付属の種々のコンポーネント又は装置の間におけるデータの転送を行なう任意の適切なタイプのアーキテクチャを使用して具現化することが可能である。更に、通信ユニットは、モデム又はネットワーク・アダプタのようなデータを送受信するために使用される1つ又はそれ以上の装置を含み得る。更に、メモリは、例えば、メモリ206であってもよく、或いは通信ファブリック202に存在し得るインターフェース及びメモリ・コントローラ・ハブにおいて見られるようなキャッシュであってもよい。
図3を参照すると、実施例に従って、データ・レプリカのセットに保存データの更新を制御するためのシステムのブロック図が示される。システム300は、図1におけるネットワーク化されたデータ処理システム100のようなネットワーク・データ処理システムにおけるデータ・レプリカのセットの一例である。データ・レプリカのセットは1つまたはそれ以上のデータ・レプリカを含む。システム300は、図1におけるクライアント110、112、及び114を表すクライアント302、304及び306を含む。
システム300のクライアントは、データ・レプリカのセットに保存データをアクセスするためにネットワーク308とインターフェースする。データ・レプリカのセットは、1つ又はそれ以上のデータ・レプリカを含み得る。ネットワーク308は図1におけるネットワーク102のようなネットワークである。ネットワーク308に接続されたデータ・レプリカのセットは、データ・レプリカ310、312、及び314を含む。データ・レプリカ310、312、及び314は、クライアント302、304、及び306にとってアクセス可能なデータを保存及び管理のように構成された計算装置である。更に、データ・レプリカ310、312、及び314は種々の地理的なロケーションに配置されてもよい。
クライアントによって発生されたデータ要求は情報サービス・プロバイダ316に送られる。情報サービス・プロバイダ316は、データ・レプリカのセットに保存データへのアクセスを制御するためのハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせとして具現化され得る。特に、情報サービス・プロバイダ316は、クライアントからの要求を満たすためのデータ・レプリカを識別する。情報サービス・プロバイダ316は、要求元のクライアントとデータ・レプリカとの近似性に基づいてデータ・レプリカを選択し得る。データ要求を満たすデータ・レプリカを選択するために情報サービス・プロバイダ316が使用し得る他の基準は、特定のデータ・レプリカに向けられたデータ・トラフィックの量、図5におけるアービトレーション・トークン500に関して後述されるようなデータ・レプリカ・ウェイト、閾値更新時間ウィンドウ、又はデータ要求を満たすデータを有するデータ・レプリカ、を限定としてではなく含み得る。更新時間ウィンドウは、データ・レプリカに保存データを更新するために許された時間の長さである。更新時間ウィンドウは、図6における更新時間ウィンドウ方程式600のような更新時間ウィンドウ方程式を使用して計算される。
クライアント要求を満たすデータ・レプリカを識別した後、情報サービス・プロバイダ316は、その識別済みデータ・レプリカにおける要求されたデータへのアクセスを行ない得る。データ・レプリカに保存データを更新するというクライアントによる要求は、レプリカ管理エージェント320、324、及び328のようなレプリカ管理エージェントによって制御される。システム300のクライアントによるデータの要求は、要求元のクライアントに最も近接したデータ・レプリカに向けられてもよい。
システム300における各データ・レプリカはレプリカ管理エージェントを含む。例えば、データ・レプリカ310はレプリカ管理エージェント320を含む。レプリカ管理エージェント320は、データ・レプリカ310において管理機能を遂行するためのソフトウェア・アプリケーションである。例えば、レプリカ管理エージェント320は、情報サービス・プロバイダ318からデータ要求を受け取り、データ・レプリカ310の保存データ322からデータを検索し、その結果を情報サービス・プロバイダ318に送り戻す。更に、レプリカ管理エージェント320は保存データを更新し、アービトレーション・トークン332を送り、書き込まれた更新を他のデータ・レプリカにブロードキャストする。レプリカ管理エージェント324及び328は、レプリカ管理エージェント320のようなレプリカ管理エージェントである。
保存データ322、326、及び330は、クライアント302、304、及び306によるアクセスのために維持されたデータである。保存データ322、326、及び330は、データ・レプリカ310、312、及び314にそれぞれ配置される。保存データ322、326、及び330は、同じデータの同時生成されたコピーとなり得る。データ・レプリカに保存データを読み取るというクライアント302、304、及び306による要求は遅滞なくサービスされる。保存データを更新するための書き込み要求は、データ・レプリカがアービトレーション・トークン332の所有のものであるときにだけ行なわれる。
アービトレーション・トークン332は、データ・レプリカにおける保存データの更新を制御するデータ構造である。実施例では、アービトレーション・トークン332は、データ・レプリカのセットにおける各データ・レプリカに関するデータ・レプリカ識別子、データ・レプリカ順序、サービス遅れの質、及びデータ・レプリカ・ウェイトを含む情報を有する。
管理サーバ318は、データ・レプリカ310、312、及び314の機能性及び可用性を管理するサーバである。例えば、管理サーバ318は、データ・レプリカが更新される順序を決定する。
図4を参照すると、実施例に従って、図3のシステムを表すシステムであって、データ・レプリカのセットにおける保存データの更新を制御するためのシステムのコンポーネント全体にわたるデータ・フローを示すブロック図が表される。システム400は、図3におけるシステム300の代表的なシステムの例である、ハードウェア及びソフトウェアの組み合わせである。従って、クライアント402は、図3におけるクライアント302のようなクライアントである。同様に、情報サービス・プロバイダ404は、図3における情報サービス・プロバイダ316のような情報サービス・プロバイダである。更に、データ・レプリカ406は、図3におけるデータ・レプリカ312のようなデータ・レプリカである。
クライアント402は、データ・レプリカ406に維持された、保存データ420をアクセスするために情報サービス・プロバイダ404を起動する。保存データ420は図3における保存データ326のような保存データである。詳しく言えば、クライアント402は、データ要求408を発生してそれを、情報サービス・プロバイダ404へ送ることによってサービス・プロバイダ404を起動する。データ要求408は、クライアント402において生成されるデータに対する要求である。例えば、データ要求408は読み取り要求であってもよい。
データ要求408を受け取ったことに応答して、情報サービス・プロバイダ404は、データ要求408を満たすデータ・レプリカを識別する。1つの実施例では、情報サービス・プロバイダ404は、データ要求408を満たす、クライアント402に最も近いデータ・レプリカであるデータ・レプリカを識別し得る。しかし、別の実施例では、情報サービス・プロバイダ404は、任意の事前定義された基準に従ってデータ要求408を満たすデータ・レプリカを識別し得る。その基準は、例えば、次にアービトレーション・トークン426を受け取る順番にある最も近いデータ・レプリカをみ得る。アービトレーション・トークン426は、図3におけるアービトレーション・トークン332のようなアービトレーション・トークンである。
データ要求408を満たすデータ・レプリカ406を識別した後、情報サービス・プロバイダ404は、データ・キャッシュ418に保存されたデータがデータ要求408を満たすかどうか決定するためにデータ・キャッシュ418をサーチする。データ・キャッシュ418は、待ち行列に入れられた更新422のセットを保存するメモリである。待ち行列に入れられた更新422のセットは、保存データ420の1つ又はそれ以上の更新である。待ち行列に入れられた更新422のセットは、例えばデータ・レプリカ管理エージェント416に書き込まれた新しいデータであってもよい。更に、待ち行列に入れられた更新422のセットは、データ・レプリカ406に既に保存されていたデータに対する更新を含み得る。データ・キャッシュ418に保存データがデータ要求408を満たすということを情報サービス・プロバイダ404が決定する場合、情報サービス・プロバイダ404は、要求されたデータを検索して、請求データ410をクライアント402に戻す。要求されたデータ410は、データ要求408を満たすデータである。
データ・キャッシュ418に保存データがデータ要求408を満たさないということを情報サービス・プロバイダ404が決定する場合、情報サービス・プロバイダ404は、要求されたデータ410を、保存データ420において探索し得る。しかる後、情報サービス・プロバイダ404は、要求されたデータ410をクライアント402に戻し得る。
クライアント402によって発生されたデータ要求408のようなデータ要求は遅延なくサービスされる。しかし、情報サービス・プロバイダ404は書き込み要求412を別の方法で処理する。書き込み要求412は、保存データ420にデータを書き込むよう、情報サービス・プロバイダ404に対して指示されたクライアント402からの要求である。書き込み要求412は、保存データ420に新しいデータを書き込むことを求める要求、又は保存データ420における既存のデータを更新することを求める要求である。実施例では、情報サービス・プロバイダ404は、書き込み要求412を受け取ったとき、書き込み要求412をレプリカ管理エージェント416に送る。レプリカ管理エージェント416がアービトレーション・トークン426を所有しており、データ・キャッシュ418が空である場合、レプリカ管理エージェント416は、書き込まれた更新424を形成するために、書き込み要求412に組み込まれたデータを保存データ420に書き込む。書き込まれた更新424は、保存データ420に書き込まれた1つ又はそれ以上の更新である。書き込まれた更新424は、書き込み要求412からのデータも含み得る。或る例では、書き込まれた更新424は、待ち行列に入れられた更新422からのデータを含み得る。
待ち行列に入れられた更新422は、保存データ420を更新するための1つ又はそれ以上の更新のセットである。待ち行列に入れられた更新422は、クライアント402によって発生されたが、アービトレーション・トークン426の不在時にレプリカ管理エージェント416によって受け取られた書き込み要求を含み得る。更に、待ち行列に入れられた更新422は、書き込まれた更新428のコピーのような他のデータ・レプリカからの書き込まれた更新のコピーを含み得る。書き込まれた更新428のコピーは書き込まれた更新424のコピーである。書き込まれた更新428のコピーは、書き込まれた更新424により保存データ420を更新することに応答してレプリカ管理エージェント416によって生成され、送られる。保存データ422が書き込まれた更新424によって更新されるとき、書き込まれた更新のコピーはそれらの保存データを更新するための他のデータ・レプリカに送られる。例えば、図4における実施例では、レプリカ管理エージェント416が、書き込まれた更新424でもって保存データ420を更新する。更に、レプリカ管理エージェント416は、他のレプリカ管理エージェントに書き込まれた更新428のコピーを送る。
レプリカ管理エージェント416がアービトレーション・トークン426を所有しているときだけ、保存データ420を更新するためのデータが保存データ420に書き込まれるので、レプリカ管理エージェント416が保存データ420への書き込み許可を有するまで、保存データ420に対する更新はデータ・キャッシュ418に維持される。実施例では、レプリカ管理エージェント416は、更新が受け取られた順序で、待ち行列に入れられた更新422を保存データ420に書き込む。従って、データ・キャッシュ418が、待ち行列に入れられた更新422のセットを含むとき、レプリカ管理エージェント416が書き込み要求412を受け取る場合、レプリカ管理エージェント416が書き込み要求412のデータでもって保存データ420を更新する前に、レプリカ管理エージェント416は待ち行列に入れられた更新422のセットを保存データ420に書き込むであろう。レプリカ管理エージェント416がアービトレーション・トークン426を所有している時間にレプリカ管理エージェント416が書き込み要求412でもって保存データ420を更新することができない場合、レプリカ管理エージェント416は、書き込み要求を、待ち行列に入れられた更新422のセットとしてデータ・キャッシュ418に保存するであろう。
書き込み要求412のデータが保存データ420に保存された後、レプリカ管理エージェント416は情報サービス・プロバイダ404に書き込み確認414を送る。一方、情報サービス・プロバイダ404は、クライアント402に書き込み確認414を送り得る。書き込み確認414は、書き込み要求412に組み込まれたデータでもって保存データ420が更新された、ということを表すメッセージである。
図5を参照すると、実施例に従って、アービトレーション・トークンのブロック図が示される。アービトレーション・トークン500は、図3におけるアービトレーション・トークン332のようなアービトレーション・トークンのソフトウェア・コンポーネントの例である。この例では、アービトレーション・トークン500はテーブルである。しかし、別の実施例では、アービトレーション・トークン500は任意の他のタイプのデータ構造であってもよい。
アービトレーション・トークン500はデータ・レプリカ識別子欄502を含む。データ・レプリカ識別子欄502は、ネットワーク化されたデータ処理システムの各データ・レプリカに割り当てられた一意的な識別子を保存する欄である。例えば、図3におけるシステム300は、データ・レプリカ310、312、及び314を含む。アービトレーション・トークン332は、各データ・レプリカに対応する1つのエントリを有するデータ・レプリカ識別子欄502のようなデータ・レプリカ識別子欄を含む。
アービトレーション・トークン500は、データ・レプリカ順序欄504も含む。データ・レプリカ順序欄504は、データ・レプリカ識別子欄502における識別された各データ・レプリカに対応するエントリを含む。データ・レプリカ順序欄504に保存された値は、アービトレーション・トークン500がデータ・レプリカ識別子欄502における識別済みデータ・レプリカの間で送られる順序を表す。システム・アドミニストレータが順序を指定してもよく、又は、図3における管理サーバ318のような管理サーバが順序を指定してもよい。
サービス時間遅延の質欄506は、サービス時間遅延値の質を保存する。サービス時間遅延値の質は、レプリカ管理エージェントがアービトレーション・トークン500を所有し得る時の量を指定するパラメータである。サービス時間遅延値の質は、期間、パーセンテージ、又は、時間の量を指定するために使用し得る任意の他のパラメータであってもよい。サービス時間遅延値の質は、システム・アドミニストレータによって割り当てられてもよく、又はデフォルト値が図3における管理サーバ318のような管理サーバによって割り当てられてもよい。
データ・レプリカ・ウェイト欄508は、各データ・レプリカに割り当てられたウェイト値を保存する欄である。初期のウェイト値は、システム・アドミニストレータ又は管理サーバによって割り当てられてもよい。ウェイト値は、1つ又はそれ以上のデータ・レプリカが長い期間の間アービトレーション・トークン500を所有することを可能にするように変化し得る。
サービス時間遅延の質欄506に保存されたサービス値の初期の質は、書き込み要求を完了するために、データ・レプリカの機能に基づいて実時間で変更されてもよい。従って、すべてのデータ・レプリカが最初に等質のサービス時間遅延値を割り当てられるが、そのサービス時間遅延値の質は、或るデータ・レプリカが長期間にわたってアービトレーション・トークン500を所有することを可能にし、従って、多くの書き込み要求に適応することを可能にするように変更され得る。例えば、2つのデータ・レプリカを有するシステムは、サービス時間遅延値の初期の質に対して等しい値を各データ・レプリカに割り当てるアービトレーション・トークンを持ち得る。しかし、第1のデータ・レプリカが所与の期間にわたって2倍もの書き込み要求を受け取る場合、サービス時間遅延の質は、影響を受けたデータ・レプリカにとって必要な長い書き込み時間に適応するように増加し得る。
データ・レプリカN510は、N番目のデータ・レプリカ、即ち、その欄における最後のエントリを表わす。値512は、最後のデータ・レプリカ・エントリに対応する「Tn」というサービス時間遅延値の質を表わす。値514は、最後のデータ・レプリカ・エントリに対応する「Wn」のデータ・レプリカ・ウェイト値を表わす。
図6を参照すると、実施例に従って、図3のアービトレーション・トークンと共に使用するために更新時間ウィンドウを計算するための方程式が示される。その方程式は、図3におけるレプリカ管理エージェント320のようなレプリカ管理エージェントによって具現化することができる。その方程式は、レプリカ管理エージェントがアービトレーション・トークンを所有し得る時間の長さを決定するために使用される。
更新のために割り振られた時間は、データ・レプリカが、待機している書き込み又は要求された書き込みを行なうための更新時間である。要素602は、データ・レプリカ「N」に対する更新時間を表わす。要素602の値は、要素604及び606の積を要素608で割ったものとして計算される。
要素604は、対応するデータ・レプリカに対するサービス品質(QOS)の時間遅延を表わし、図5の値512のように「T」として示される。要素606は、対応するデータ・レプリカ「N」に対するデータ・レプリカ・ウェイトを表わし、図5の値514のように「W」として示される。要素608は、図5のデータ・レプリカ・ウェイト欄508において最高のウェイトを有するデータ・レプリカに関連したデータ・レプリカ・ウェイトを表わす。
図7を参照すると、実施例に従って、図3のアービトレーション・トークンを使用してレプリカのセットにおけるデータ・レプリカを更新するためのプロセスのフローチャートが示される。プロセス700は、図3のシステム300のレプリカ管理エージェント320において具現化され得るプロセスの実施例である。
プロセス700が開始し(ステップ702)、要求元からのデータ要求を受け取る(ステップ704)。そのデータ要求を使って、プロセスは、データ要求を解決すべきデータ・レプリカを識別する(ステップ706)。解決は、データ・レプリカのデータ・タイプ、要求タイプ、地理的な近接性、又は他の要因によって行なわれる。例えば、同じ都市又は地域のように要求元に物理的に最も近接しているデータ・レプリカが選択される。別の例では、財務データに関する要求は、一般的なデータ・レプリカとは対照的に財務データ・レプリカに向けられるであろう。更に別の例では、或るサイズ又は数の要素又はファイルの更新を含む要求は、先ず、特定のデータ・レプリカに割り振られる。
データ要求が更新要求である場合、プロセスは、識別済みデータ・レプリカのためのレプリカ管理エージェントにその更新データ要求を送る(ステップ708)。プロセスは、書き込みオペレーションの実行を許容するアービトレーション・トークンが存在するかどうかを決定する(ステップ710)。更新されるべきデータ・レプリカにおけるレプリカ管理エージェントがアービトレーション・トークンを有するときだけ、書き込み又は更新オペレーションが生じ得る。
アービトレーション・トークンが存在するという決定がなされたとき、ステップ710において「イエス」という結果が得られる。アービトレーション・トークンが存在しないという決定がなされたとき、「ノー」という結果が得られる。ステップ710において「イエス」が得られたとき、識別済みデータ・レプリカのデータの更新が生じ(ステップ712)、しかる後、プロセス700は終了する(ステップ714)。
しかし、アービトレーション・トークンが存在しないという決定がなされ、ステップ710において「ノー」が得られたとき、更新要求をキャッシュに保存することが行なわれ(ステップ716)、しかる後、プロセス700は終了する(ステップ714)。アービトレーション・トークンを所有するレプリカ管理エージェントによって書き込み許可が得られたとき、キャッシュに保存された更新要求はその後に行なわれるであろう。
図7のプロセス700のようなプロセスの実施例では、データ・レプリカのセットにおける保存データの更新を制御する機能が示される。データ要求が更新データ要求であるという決定に応答して、プロセスは、識別済みデータ・レプリカのレプリカ管理エージェントに更新データ要求を送り、そしてアービトレーション・トークンの存在に応答して、識別済みデータ・レプリカのデータを更新する。更新の完了時に、レプリカ管理エージェントからの確認が要求元に送られる。従って、或るデータ・レプリカからの更新は、所定の順序で他のデータ・レプリカに伝播される。更新プロセスは、更に、更新を書き込むために割り振られた時間を管理するために各データ・レプリカにおいて更新時間ウィンドウを使って制御される。
図8を参照すると、実施例に従って、データ・レプリカを更新するための図7の詳細なプロセスのフローチャートが示される。図8におけるプロセスは、図3におけるレプリカ管理エージェント320のようなソフトウェア・コンポーネントにおいて具現化することが可能である。
プロセス800が開始し(ステップ802)、情報サービス・プロバイダ及び他のデータ・レプリカからの書き込み要求を受け取る(ステップ804)。書き込み要求は、図3における情報サービス・プロバイダ316のような情報サービス・プロバイダからの書き込み要求であってもよい。更に、書き込み要求は、データ・レプリカの別のレプリカ管理エージェントから受け取られた、書き込まれたの更新の形のものであってもよい。
次に、プロセス800は、アービトレーション・トークンが存在するかどうかに関して決定を行なう(ステップ806)。アービトレーション・トークンが存在するという決定をプロセスが行なう場合、プロセス800は、更新時間ウィンドウを計算する(ステップ810)。更新時間ウィンドウは、図6における更新時間ウィンドウ方程式600のような更新時間ウィンドウ方程式を使って計算される。しかる後、プロセス800は、すべての更新が行なわれるまで又は時間ウィンドウの終了まで、到来するデータ要求によって保存データを更新する(ステップ812)。
更新時期ウィンドウ方程式に従って計算された更新期間の終了時に、プロセス800は、書き込みが完了したかどうかに関して決定を行なう(ステップ814)。書き込みが更新時間ウィンドウ中に完了したという決定をプロセス800が行なう場合、プロセス800はアービトレーション・トークンを更新する(ステップ818)。実施例では、プロセスは、書き込みが完了したことを表すためにアービトレーション・トークンを更新する。更に、データ・レプリカに割り当てられたウェイトがインクリメント又はディクリメントされる。レプリカ管理エージェントがサービス品質(QOS)の指定時間よりも少ない時間を使用して更新を完了した場合、エージェントは1だけウェイトを減じる。レプリカ管理エージェントがサービス品質の指定時間内にすべての更新を完了しなかった場合、エージェントは1だけウェイトを増加させる。
しかる後、プロセスは、アービトレーション・トークンにおいて指定された次のレプリカ管理エージェントにアービトレーション・トークンを送る(ステップ820)。更に、プロセス700は、情報サービス・プロバイダからの要求に従ってすべての書き込まれた更新を他のレプリカ管理エージェントにブロードキャストし(ステップ822)、しかる後、終了する(ステップ824)。
次に、ステップ806に説明を戻すと、アービトレーション・トークンが存在しないという決定をプロセスが行なう場合、プロセス800は更新要求をデータ・キャッシュにおける待ち行列に入れる(ステップ808)。データ・キャッシュは、図4におけるデータ・キャッシュ418のようなデータ・キャッシュである。待ち行列に入れられた更新要求は、書き込み要求のセットに加えられ、アービトレーション・トークンが存在するときに保存データに書き込まれる。更新要求を待ち行列に入れた後、プロセス800はステップ806に戻る。
ステップ814において、書き込みが更新時間ウィンドウ中に完了しなかったという決定をプロセスが行なう場合、プロセス800は、書き込まれてない要求をデータ・キャッシュにおける待ち行列に入れ(ステップ816)、しかる後、更新する待ち行列、前述のようにステップ818においてアービトレーション・トークンを更新する。この更新ステップ中、プロセス800は、このプロセスが実行されているデータ・レプリカのウェイトをインクリメントする。別の実施例では、閾値数の書き込み要求が未完了であった後だけ、プロセス800は、データ・レプリカのウェイトをインクリメントする。
図9を参照すると、実施例に従って、図7のアービトレーション・トークンにおけるウェイトを更新するプロセスのフローチャートが示される。図9におけるプロセスは、図4におけるレプリカ管理エージェント416のようなソフトウェア・コンポーネントによって行なうことが可能である。
プロセス900が開始し(ステップ902)、更新時間ウィンドウにおいてすべての書き込み要求が完了したかどうかを決定する(ステップ904)。更新時間ウィンドウ中にすべての書き込み要求が行なわれたわけではないという決定をプロセス900が行なう場合、プロセス900は、アービトレーション・トークンにおけるデータ・レプリカ・ウェイトをインクリメントし(ステップ908)、しかる後、終了する(ステップ910)。しかし、すべての書き込み要求が更新時間ウィンドウ中に行なわれたという決定をプロセス900が行なう場合、プロセス900は、アービトレーション・トークンにおけるデータ・レプリカ・ウェイトをディクリメントし(ステップ906)、しかる後、終了する(ステップ910)。前述のように、或る実施例では、アービトレーション・トークンにおけるデータ・レプリカ・ウェイトのインクリメント及びディクリメントは、書き込み試行の閾値が作られた後に生じてもよい。
図10を参照すると、実施例に従って、図3におけるデータ・レプリカのセットに対するデータ要求を制御するプロセスのフローチャートが示される。プロセス1000は、図3における情報サービス・プロバイダ316のようなソフトウェア・コンポーネントにおいて具現化することが可能である。
プロセス1000が開始し(ステップ1002)、要求元からのデータ要求を受け取る(ステップ1004)。要求元は、図1におけるクライアント102又は図3におけるクライアント302のようなクライアントであってもよい。その要求から、情報サービス・プロバイダは、データ要求を満たすデータ・レプリカを識別する(ステップ1006)。データ・レプリカは、地理的な近接性、直近の使用頻度、及びデータ内容を含む事前定義された基準に従って識別されてもよい。
データ要求が更新データ要求であるかどうかに関して決定が行われる(ステップ1008)。データ要求が更新データ要求であることに応答して、「イエス」が得られる。データ要求が更新データ要求でないことに応答して、「ノー」得られる。ステップ1008において「ノー」が得られるとき、要求されたデータがデータ・レプリカ・キャッシュにあるかどうかに関する決定が行なわれる(ステップ1016)。要求されたデータがデータ・レプリカ・キャッシュにあるという決定に応答して、「イエス」が得られる。要求されたデータがデータ・レプリカ・キャッシュにないという決定に応答して、「ノー」が得られる。
ステップ1016において「ノー」が得られるとき、保存データからの要求データの検索が遂行される(ステップ1018)。キャッシュにないデータは、一般に、データ・レプリカの保存データ部分に置かれている。要求されたデータが要求元に送られる動作がその結果を戻すために遂行され(ステップ1022)、しかる後、プロセス1000が終了する(ステップ1024)。ステップ1016において「イエス」が得られる場合、そのデータはキャッシュにあり、キャッシュからのその要求されたデータの検索が行なわれる(ステップ1020)。前述のように、要求されたデータが要求元に送られる動作が遂行される(ステップ1022)。
ステップ1008に説明を戻すと、ステップ1008において「イエス」が得られる場合、識別済みデータ・レプリカのレプリカ管理エージェントに更新データ要求を送る動作が遂行される(ステップ1010)。プロセスは、データ要求が処理された後、レプリカ管理エージェントからの確認を受け(ステップ1012)、書き込みオペレーションが成功し、更新がデータ・レプリカにおける所定位置にあるという確認を与える。確認を要求元に送ること(ステップ1014)は、書き込み又は更新オペレーションが成功したという通知を要求元に与える。しかる後、プロセス1000は終了する(ステップ1024)。
図11を参照すると、実施例に従って、図3のアービトレーション・トークンを初期化するプロセスのフローチャートが示される。図11におけるプロセスは、図3における管理サーバ318のようなソフトウェア・コンポーネントにおいて具現化することが可能である。
プロセス1100が開始し(ステップ1102)、サービス時間遅延値の質を受け取る(ステップ1104)。サービス時間遅延値の質は、図5におけるアービトレーション・トークン500のサービス時間遅延の質欄506に保存されたサービス時間遅延値の質のようなサービス時間遅延の質である。
次に、プロセス1100は、任意のデータ・レプリカ・ウェイトを割り当て(ステップ1006)、それに続いてデータ・レプリカ更新順序を割り当てる(ステップ1108)。更新順序及び/又はデータ・レプリカ・ウェイトの割り当ては、システム・アドミニストレータによって与えられる入力に従って行なうことが可能である。別の方法として、更新順序及び/又はデータ・レプリカ・ウェイトの割り当ては、資源、プロパティ、又はコンフィグレーション・ファイルに維持されたデフォルト値に従って管理サーバにより行なうことが可能である。しかる後、プロセス1100は、更新順序でリストされた第1のデータ・レプリカにアービトレーション・トークンを送り(ステップ1110)、しかる後、終了する(ステップ1112)。
従って、実施例は、要求元からデータ要求を受け取ること、及びデータ要求を解決すべきデータ・レプリカを識別して1つの識別済みデータ・レプリカを作成すること、によってデータ・レプリカのセットにおける保存データの更新を制御する機能を示す。データ要求が更新データ要求であるという決定に応答して、その識別済みデータ・レプリカのレプリカ管理エージェントに更新データ要求を送り、アービトレーション・トークンの存在に応答して、その識別済みデータ・レプリカのデータを更新する。更新の完了時に、レプリカ管理エージェントからの確認を受け取り、その確認を要求元に送る。従って、1つのデータ・レプリカからの更新は、所定の順序で他のデータ・レプリカに伝播される。更新プロセスは、各データ・レプリカにおける更新時間ウィンドウを使用して更に制御される。
図面におけるフローチャート及びブロック図は、本発明の様々な実施例に従って、システム、方法、及びコンピュータ・プログラムの可能な実施態様のアーキテクチャ、機能、及びオペレーションを示す。これに関して、フローチャート又はブロック図における各ブロックは、モジュール、セグメント、又はコード部分を表わし得るし、それらは、指定された論理的機能を具現化するための1つ又はそれ以上の実行可能な命令を含む。或る代替の実施態様では、ブロックに示された機能は図に示された順序を外れて生じ得るということに留意されたい。例えば、連続して示された2つのブロックが、実際には、ほぼ同時に実行されてもよく、又は、ブロックが、関連の機能に依存して、時には逆の順序で実行されてもよい。更に、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートにおけるブロックの組み合わせが、指定された機能又は行為を遂行するハードウェア・ベースのシステム、又は特殊目的ハードウェア及びコンピュータ命令の組み合わせによって具現化されてもよい。
その媒体は、電子的、磁気的、光学的、電磁気的、赤外線、又は半導体システム(もしくは装置、もしくはデバイス)、或いは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体もしくはソリッド・ステート・メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、固定磁気ディスク、及び光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク−リード/ライト(CD−R/W)、及びDVDを含む。
プログラム・コードを保存及び/又は実行するに適したデータ処理システムは、システムバスを介してメモリ素子に直接又は間接的に接続された少なくとも1つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及びキャッシュ・メモリを含み得る。キャッシュ・メモリは、プログラム・コードが実行中に大容量記憶装置から検索されなければならない回数を減らすために、少なくとも幾つかのプログラム・コードの一時的記憶装置を提供する。
入出力装置、即ちI/O装置(キーボード、ディスプレイ、ポインティング装置等を含むがそれらに限定されない)は、直接に又は介在するI/Oコントローラを介してシステムに接続される。
データ処理システムが、介在の専用ネットワーク又は公衆ネットワークを介して他のデータ処理システム又は遠隔のプリンタもしくは記憶装置に接続されることを可能にするために、ネットワーク・アダプタがそのシステムに接続されてもよい。モデム、ケーブル・モデム、及びイーサネット・カードが、数少ない現在利用可能なタイプのネットワーク・アダプタである。
本発明に関する記述は、例示及び説明の目的で示されており、網羅的であること又は開示された形式の発明に限定されることを意図するものではない。当業者には多くの修正及び変更が明らかであろう。実施例は、発明の原理及び実用的な応用例を最もよく説明するために、及び当業者が、意図される特定の用途に適するように、種々の修正を伴う種々の実施例に関しても本発明を理解することを可能にするために、選択され、記述された。

Claims (20)

  1. データ・レプリカのセットにおける保存データの更新を制御するためにコンピュータを利用する方法であって、
    要求元からのデータ要求をメモリにおいて受け取ったことに応答して、前記データ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを形成するステップと、
    前記データ要求が更新データ要求である場合、更新データ要求をレプリカ管理エージェントに送るステップと、
    アービトレーション・トークンが存在するかどうかを決定するステップと、
    アービトレーション・トークンが存在するという決定に応答して、前記レプリカ管理エージェントにより前記識別済みデータ・レプリカにおけるデータを更新するステップと
    を含む、方法。
  2. 前記データ要求が更新データ要求であるかどうかを決定するステップと、
    前記データ要求が更新データ要求であるという決定に応答して、更新時間ウィンドウを計算してウィンドウ時間を形成するステップと、
    前記データ要求が更新データ要求ではないという決定に応答して、前記データ要求の要求されたデータが前記識別済みデータ・レプリカのキャッシュにあるかどうかを決定するステップと、
    前記要求されたデータが前記キャッシュにあるという決定に応答して、前記キャッシュから前記要求されたデータを検索するステップと、
    前記要求されたデータを、通信ユニットを介して要求元に送るステップと
    を更に含む、請求項1に記載の方法。
  3. 前記要求されたデータが前記キャッシュにないという決定に応答して、
    記憶装置における保存データから前記要求されたデータを検索するステップと、
    前記要求されたデータを前記要求元に送るステップと
    を更に含む、請求項2に記載の方法。
  4. 前記アービトレーション・トークンが存在しないという決定に応答して、前記更新データ要求をキャッシュにおける待ち行列に入れるステップを更に含む、請求項1に記載の方法。
  5. 前記識別済みデータ・レプリカにおけるデータを更新するステップは、
    前記レプリカ管理エージェントから更新確認を受け取るステップと、
    前記更新確認を前記要求元に送るステップと、
    更新されたアービトレーション・トークンを形成するために前記アービトレーション・トークンを更新するステップと、
    前記更新されたアービトレーション・トークンを次のレプリカ管理エージェントに送るステップと、
    すべての書き込まれた更新をすべてのレプリカ管理エージェントにブロードキャストするステップと
    を更に含む、請求項1に記載の方法。
  6. 前記識別済みデータ・レプリカにおけるデータを更新するステップは、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したかどうかを決定するステップと、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したという決定に応答して、データ・レプリカ・ウェイトをデクリメントするステップと、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したのではないことに応答して、前記データ・レプリカ・ウェイトをインクリメントするステップと
    を更に含む、請求項2に記載の方法。
  7. 前記アービトレーション・トークンを更新するステップは、
    サービス時間遅延値の質を受け取るステップと、
    データ・レプリカ更新順序を割り当てるステップと、
    データ・レプリカ・ウェイトを割り当てるステップと
    を更に含む、請求項5に記載の方法。
  8. データ・レプリカのセットにおける保存データの更新を制御するためのデータ処理システムであって、
    バスと、
    前記バスに接続され、コンピュータ実行可能命令を含むメモリと、
    前記バスに接続されたプロセッサ・ユニットと
    を含み、
    前記プロセッサ・ユニットは、
    要求元からのデータ要求を受け取ったことに応答して、前記データ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを形成し、
    前記データ要求が更新データ要求である場合、前記更新データ要求をレプリカ管理エージェントに送り、
    アービトレーション・トークンが存在するかどうかを決定し、
    アービトレーション・トークンが存在するという決定に応答して、前記レプリカ管理エージェントにより前記識別済みデータ・レプリカにおけるデータを更新する
    ようにデータ処理を指示するためのコンピュータ実行可能命令を実行する、データ処理システム。
  9. 前記プロセッサ・ユニットは、
    前記データ要求が更新データ要求であるかどうかを決定し、
    前記データ要求が更新データ要求であるという決定に応答して、更新時間ウィンドウを計算してウィンドウ時間を形成し、
    前記データ要求が更新データ要求ではないという決定に応答して、前記データ要求の要求されたデータが前記識別済みデータ・レプリカのキャッシュにあるかどうかを決定し、
    前記要求されたデータが前記キャッシュにあるという決定に応答して、前記キャッシュから前記要求されたデータを検索し、
    前記要求されたデータを要求元に送る
    ようにデータ処理を指示するためのコンピュータ実行可能命令を実行する、
    請求項8に記載のデータ処理システム。
  10. 前記プロセッサ・ユニットは、前記要求されたデータが前記キャッシュにないという決定に応答して、
    記憶装置における保存データから前記要求されたデータを検索し、
    前記要求されたデータを、通信ユニットを介して前記要求元に送る
    ようにデータ処理を指示するためのコンピュータ実行可能命令を実行する、請求項8に記載のデータ処理システム。
  11. 前記プロセッサ・ユニットは、前記アービトレーション・トークンが存在しないという決定に応答して、前記更新データ要求をキャッシュにおける待ち行列に入れるようにデータ処理を指示するためのコンピュータ実行可能命令を実行する、請求項8に記載のデータ処理システム。
  12. 前記プロセッサ・ユニットは、
    前記レプリカ管理エージェントから更新確認を受け取り、
    前記更新確認を前記要求元に送り、
    更新されたアービトレーション・トークンを形成するために前記アービトレーション・トークンを更新し、
    前記更新されたアービトレーション・トークンを次のレプリカ管理エージェントに送り、
    すべての書き込まれた更新をすべてのレプリカ管理エージェントにブロードキャストする
    ことを含む前記識別済みデータ・レプリカのデータを更新するためのコンピュータ実行可能命令を実行する、請求項8に記載のデータ処理システム。
  13. 前記プロセッサ・ユニットは、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したかどうかを決定し、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したことに応答して、データ・レプリカ・ウェイトをデクリメントし、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したのではないことに応答して、前記データ・レプリカ・ウェイトをインクリメントする
    ことを含む、前記識別済みデータ・レプリカのデータを更新するようにデータ処理を指示するためのコンピュータ実行可能命令を実行する、請求項8に記載のデータ処理システム。
  14. 前記プロセッサ・ユニットは、
    サービス時間遅延値の質を受け取り、
    データ・レプリカ更新順序を割り当て、
    データ・レプリカ・ウェイトを割り当てる
    ことを含む、前記アービトレーション・トークンを更新するようにデータ処理を指示するためのコンピュータ実行可能命令を実行する、請求項12に記載のデータ処理システム。
  15. データ・レプリカのセットにおける保存データの更新を制御するためのコンピュータ・プログラムであって、
    要求元からのデータ要求を受け取ったことに応答して、前記データ要求を解決すべきデータ・レプリカを識別して識別済みデータ・レプリカを形成するステップと、
    前記データ要求が更新データ要求である場合、前記更新データ要求をレプリカ管理エージェントに送るステップと、
    アービトレーション・トークンが存在するかどうかを決定するステップと、
    アービトレーション・トークンが存在するという決定に応答して、前記レプリカ管理エージェントにより前記識別済みデータ・レプリカにおけるデータを更新するステップと
    を実行するためのコンピュータ実行可能命令を含む、コンピュータ・プログラム。
  16. 前記データ要求が更新データ要求であるかどうかを決定するステップと、
    前記データ要求が更新データ要求であるという決定に応答して、更新時間ウィンドウを計算してウィンドウ時間を形成するステップと、
    前記データ要求が更新データ要求ではないという決定に応答して、前記データ要求の要求されたデータが前記識別済みデータ・レプリカのキャッシュにあるかどうかを決定するステップと、
    前記要求されたデータが前記キャッシュにあるという決定に応答して、前記キャッシュから前記要求されたデータを検索するステップと、
    前記要求されたデータを前記要求元に送るステップと
    を実行するためのコンピュータ実行可能命令を更に含む、請求項15に記載のコンピュータ・プログラム。
  17. 前記要求されたデータが前記キャッシュにないという決定に応答するコンピュータ実行可能命令は、
    記憶装置における保存データから前記要求されたデータを検索するステップと、
    前記要求されたデータを、通信ユニットを介して前記要求元に送るステップと
    を実行するためのコンピュータ実行可能命令を含む、請求項16に記載のコンピュータ・プログラム。
  18. 前記アービトレーション・トークンが存在しないという決定に応答するコンピュータ実行可能命令は、前記更新データ要求をキャッシュにおける待ち行列に入れるステップを実行するためのコンピュータ実行可能命令を含む、請求項15に記載のコンピュータ・プログラム。
  19. 前記識別済みデータ・レプリカにおけるデータを更新するステップを実行するためのコンピュータ実行可能命令は、
    前記レプリカ管理エージェントから更新確認を受け取るステップと、
    前記更新確認を前記要求元に送るステップと、
    更新されたアービトレーション・トークンを形成するために前記アービトレーション・トークンを更新するステップと、
    前記更新されたアービトレーション・トークンを次のレプリカ管理エージェントに送るステップと、
    すべての書き込まれた更新をすべてのレプリカ管理エージェントにブロードキャストするステップと
    実行するためのコンピュータ実行可能命令を含む、請求項15に記載のコンピュータ・プログラム。
  20. 前記識別済みデータ・レプリカにおけるデータを更新するためのコンピュータ実行可能命令は、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したかどうかを決定するステップと、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したことに応答して、データ・レプリカ・ウェイトをデクリメントするステップと、
    すべての書き込み要求が更新時間ウィンドウにおいて完了したのではないことに応答して、データ・レプリカ・ウェイトをインクリメントするステップと
    を実行するためのコンピュータ実行可能命令を含む、請求項15に記載のコンピュータ・プログラム。
JP2009264264A 2008-11-25 2009-11-19 分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム Expired - Fee Related JP5635763B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/277716 2008-11-25
US12/277,716 US8180730B2 (en) 2008-11-25 2008-11-25 Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas

Publications (2)

Publication Number Publication Date
JP2010129088A true JP2010129088A (ja) 2010-06-10
JP5635763B2 JP5635763B2 (ja) 2014-12-03

Family

ID=42197258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009264264A Expired - Fee Related JP5635763B2 (ja) 2008-11-25 2009-11-19 分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US8180730B2 (ja)
JP (1) JP5635763B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046352A1 (ja) * 2011-09-28 2013-04-04 株式会社日立製作所 計算機システム、データ管理方法及びデータ管理プログラム
JP2013114267A (ja) * 2011-11-24 2013-06-10 Fujitsu Ltd ストレージシステム、ストレージ装置、システム制御プログラムおよびシステム制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102637174A (zh) * 2011-02-11 2012-08-15 鸿富锦精密工业(深圳)有限公司 镜像文件管理系统及镜像文件管理方法
JP5776267B2 (ja) * 2011-03-29 2015-09-09 日本電気株式会社 分散ファイルシステム
US8838539B1 (en) * 2011-10-05 2014-09-16 Google Inc. Database replication
US8543544B2 (en) * 2012-01-06 2013-09-24 Apple Inc. Checkpoint based progressive backup
US9798791B1 (en) * 2013-12-04 2017-10-24 Ca, Inc. System and method for filtering files during data replication
US9569461B2 (en) * 2014-06-11 2017-02-14 The Boeing Company Distributed data authority system
US10230809B2 (en) * 2016-02-29 2019-03-12 Intel Corporation Managing replica caching in a distributed storage system
CN107403003A (zh) * 2017-07-21 2017-11-28 南京智网云联信息科技有限公司 一种分布式副本文件仲裁方法
CN109992219A (zh) * 2019-04-11 2019-07-09 深信服科技股份有限公司 分布式存储方法、装置、设备及计算机可读存储介质
CN112052226B (zh) * 2020-09-29 2023-10-10 北京罗克维尔斯科技有限公司 一种车机服务数据的处理方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04181461A (ja) * 1990-11-16 1992-06-29 Hitachi Ltd 分散ファイルの管理方法
JPH0750680A (ja) * 1993-08-05 1995-02-21 Mitsubishi Electric Corp トークンパッシング方式lanのデータ転送方法
US5515537A (en) * 1993-06-01 1996-05-07 The United States Of America As Represented By The Secretary Of The Navy Real-time distributed data base locking manager
JPH10149310A (ja) * 1996-09-30 1998-06-02 Internatl Business Mach Corp <Ibm> モバイル・ユーザ・ファイル・システムにおけるキャッシュ管理のためのシステムおよび方法
JP2003006020A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd 複製データベースアクセス装置とそのアクセス方法
JP2003058404A (ja) * 2001-08-10 2003-02-28 Oki Electric Ind Co Ltd 分散データベースの同時実行制御システム
JP2003263354A (ja) * 2002-03-08 2003-09-19 Nippon Telegr & Teleph Corp <Ntt> 定期的自動バックアップスケジュール方法及び装置
JP2004252957A (ja) * 2003-01-30 2004-09-09 Hitachi Ltd 分散ファイルシステムのファイルレプリケーション方法及び装置
JP2005539315A (ja) * 2002-09-16 2005-12-22 ネットワーク・アプライアンス・インコーポレイテッド プロキシ・キャッシュに関する装置および方法
US7155463B1 (en) * 2001-09-20 2006-12-26 Emc Corporation System and method for replication of one or more databases
JP2007304898A (ja) * 2006-05-12 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> 分散データベースシステムおよび方法、並びに、この方法のプログラムおよびこのプログラムを記録した記録媒体

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
DE69504965T2 (de) * 1994-04-21 1999-04-01 British Telecomm Datenspeicherung
US7289964B1 (en) * 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US7290056B1 (en) * 1999-09-09 2007-10-30 Oracle International Corporation Monitoring latency of a network to manage termination of distributed transactions
US7260716B1 (en) * 1999-09-29 2007-08-21 Cisco Technology, Inc. Method for overcoming the single point of failure of the central group controller in a binary tree group key exchange approach
US7275102B2 (en) * 2001-01-22 2007-09-25 Sun Microsystems, Inc. Trust mechanisms for a peer-to-peer network computing platform
WO2002057917A2 (en) * 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7171379B2 (en) * 2001-03-23 2007-01-30 Restaurant Services, Inc. System, method and computer program product for normalizing data in a supply chain management framework
US7337191B2 (en) * 2002-07-27 2008-02-26 Siemens Building Technologies, Inc. Method and system for obtaining service related information about equipment located at a plurality of sites
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US7254608B2 (en) * 2002-10-31 2007-08-07 Sun Microsystems, Inc. Managing distribution of content using mobile agents in peer-topeer networks
US7121639B2 (en) * 2002-12-02 2006-10-17 Silverbrook Research Pty Ltd Data rate equalisation to account for relatively different printhead widths
US7590667B2 (en) * 2003-01-30 2009-09-15 Hitachi, Ltd. File replication method for distributed file systems
JP3815739B2 (ja) * 2003-09-30 2006-08-30 日本航空電子工業株式会社 レセプタクル型分割式光コネクタ
US7334154B2 (en) * 2004-06-18 2008-02-19 Microsoft Corporation Efficient changing of replica sets in distributed fault-tolerant computing system
US20090063587A1 (en) * 2007-07-12 2009-03-05 Jakob Holger Method and system for function-specific time-configurable replication of data manipulating functions

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04181461A (ja) * 1990-11-16 1992-06-29 Hitachi Ltd 分散ファイルの管理方法
US5515537A (en) * 1993-06-01 1996-05-07 The United States Of America As Represented By The Secretary Of The Navy Real-time distributed data base locking manager
JPH0750680A (ja) * 1993-08-05 1995-02-21 Mitsubishi Electric Corp トークンパッシング方式lanのデータ転送方法
JPH10149310A (ja) * 1996-09-30 1998-06-02 Internatl Business Mach Corp <Ibm> モバイル・ユーザ・ファイル・システムにおけるキャッシュ管理のためのシステムおよび方法
JP2003006020A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd 複製データベースアクセス装置とそのアクセス方法
JP2003058404A (ja) * 2001-08-10 2003-02-28 Oki Electric Ind Co Ltd 分散データベースの同時実行制御システム
US7155463B1 (en) * 2001-09-20 2006-12-26 Emc Corporation System and method for replication of one or more databases
JP2003263354A (ja) * 2002-03-08 2003-09-19 Nippon Telegr & Teleph Corp <Ntt> 定期的自動バックアップスケジュール方法及び装置
JP2005539315A (ja) * 2002-09-16 2005-12-22 ネットワーク・アプライアンス・インコーポレイテッド プロキシ・キャッシュに関する装置および方法
JP2004252957A (ja) * 2003-01-30 2004-09-09 Hitachi Ltd 分散ファイルシステムのファイルレプリケーション方法及び装置
JP2007304898A (ja) * 2006-05-12 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> 分散データベースシステムおよび方法、並びに、この方法のプログラムおよびこのプログラムを記録した記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046352A1 (ja) * 2011-09-28 2013-04-04 株式会社日立製作所 計算機システム、データ管理方法及びデータ管理プログラム
JP5548829B2 (ja) * 2011-09-28 2014-07-16 株式会社日立製作所 計算機システム、データ管理方法及びデータ管理プログラム
US9367261B2 (en) 2011-09-28 2016-06-14 Hitachi, Ltd. Computer system, data management method and data management program
JP2013114267A (ja) * 2011-11-24 2013-06-10 Fujitsu Ltd ストレージシステム、ストレージ装置、システム制御プログラムおよびシステム制御方法

Also Published As

Publication number Publication date
JP5635763B2 (ja) 2014-12-03
US8180730B2 (en) 2012-05-15
US20100131468A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
JP5635763B2 (ja) 分散データ・レプリカを利用する情報サービスのデータ保全性及びデータ精度を管理するための方法、装置及びコンピュータ・プログラム
US11972107B2 (en) Quality of service management in a distributed storage system
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
US8386612B2 (en) Optimizing migration policy during live virtual memory migration
US7890632B2 (en) Load balancing using replication delay
JP5132770B2 (ja) 最善のdhcpサーバを見出すためのルータの動的な構成
US11899987B2 (en) Quality of service management in a distributed storage system
JP4696089B2 (ja) 分散ストレージシステム
US7886053B1 (en) Self-management of access control policy
US9432449B2 (en) Managing connection failover in a load balancer
JP3962372B2 (ja) 分散ピアツーピア共用技術へクライアントを奨励する方法および装置
WO2012053393A1 (ja) 仮想計算機を配置する方法及び装置
JP7395720B2 (ja) ライブアップリンクストリーミングのための5gフレームワーク制御を通じたネットワークベースのメディア処理ワークフロー管理
US20160188717A1 (en) Network crawling prioritization
JP2020532803A (ja) 同期入出を介して生成されたキャッシュ・ヒットに応答してメタデータ・トラックの非同期更新をする方法、システム、コンピュータ・プログラムおよび記憶制御装置
US7350206B2 (en) Method to reduce provisioning time in shared storage systems by preemptive copying of images
JP2021501936A (ja) トランザクションの長期実行がレコード・ロックを保持することの防止
EP3479550B1 (en) Constraint based controlled seeding
US20180150336A1 (en) Management system and control method
JP4089506B2 (ja) ファイル共有システム及びサーバー並びにプログラム
US20240211131A1 (en) Quality of Service Management in a Distributed Storage System
JP2001075850A (ja) データキャッシュ処理方法及びキャッシュ装置
JP7415351B2 (ja) 制御装置、及び制御プログラム
JP5247622B2 (ja) データベースサーバ、データ振分方法及びサーバシステム
JP2021012464A (ja) 切替プログラム、装置、および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20131118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140311

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140930

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141017

LAPS Cancellation because of no payment of annual fees