JP5257016B2 - 更新関数検証プログラム,更新関数検証方法及び情報処理装置 - Google Patents

更新関数検証プログラム,更新関数検証方法及び情報処理装置 Download PDF

Info

Publication number
JP5257016B2
JP5257016B2 JP2008297788A JP2008297788A JP5257016B2 JP 5257016 B2 JP5257016 B2 JP 5257016B2 JP 2008297788 A JP2008297788 A JP 2008297788A JP 2008297788 A JP2008297788 A JP 2008297788A JP 5257016 B2 JP5257016 B2 JP 5257016B2
Authority
JP
Japan
Prior art keywords
update
function
registered
management table
original data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008297788A
Other languages
English (en)
Other versions
JP2010123030A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008297788A priority Critical patent/JP5257016B2/ja
Priority to US12/621,891 priority patent/US20100131938A1/en
Publication of JP2010123030A publication Critical patent/JP2010123030A/ja
Application granted granted Critical
Publication of JP5257016B2 publication Critical patent/JP5257016B2/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Description

本発明は、ユーザが更新関数を定義可能な分散データ共有装置において、更新関数の可換性及び冪等性を検証する技術に関する。
トラフィックが多いWebサイトなどでは、性能向上を目的として、複数のサーバでデータを共有する分散データ共有装置が利用されている。分散データ共有装置では、障害に対する可用性及び参照に対するスループットを確保するため、マスタデータのレプリカ(複製)を複数のサーバで夫々保持する場合がある。この場合、レプリカの一貫性を保ちつつ並列更新のスループットを向上させるために、データを更新する更新関数が可換性及び冪等性を満たすように設計することが望ましい。可換性を満たせば、更新関数の更新順序を気にせずにレプリカを更新することができ、冪等性を満たせば、ある更新関数でレプリカを更新した後に、同じ更新関数でそのレプリカを再度更新することができる。そのため、更新をするための制御が簡単になって、分散データ共有装置全体の負荷を減らすことができるからである。ここで、更新関数とは、データを更新する規則を定義した関数のことをいう。更新関数が可換性を満たすとは、データに対する更新の適用順序を変えても、その結果が変わらないことをいう。一方、更新関数が冪等性を満たすとは、データに対して同じ更新を複数回適用しても、一度のみ適用した場合とその結果が変わらないことをいう。可換性及び冪等性を満たす更新関数の一例として、例えば、2つの値を比較してより大きい方の値を保持する関数がある。
また、このような分散データ共有装置の中には、アプリケーション開発者などのユーザが更新関数を定義できる機能を備えたものがある。この場合、ユーザ定義の更新関数は、可換性及び冪等性を満たす必要がある。
特開2000−207246号公報
しかしながら、ユーザ定義の更新関数が、実際に可換性及び冪等性を満たしているか否かを検証することは、次のような理由から困難であった。即ち、更新関数が可換性及び冪等性を満たしていなくとも、分散データ共有装置は一見正常に動作することが多いため、レプリカの一貫性が保たれていないことに気付くまで、更新関数が不適切であることが発覚されない。また、レプリカの状態は並列更新の順序に依存するため、更新関数が不適切となるケースを再現することも難しい。さらに、更新関数が可換性及び冪等性を満たしているか否かを、例えば、コンパイラなどで事前に証明することも難しい。
そこで、従来技術の問題点に鑑み、本発明は、ユーザ定義による更新関数が可換性及び冪等性を満たしているか否かを検証できるようにした技術を提供することを目的とする。
初期化関数の呼び出しに応答して、オリジナルデータを複製した検証用データを作成する。また、更新関数の呼び出しに応答して、更新関数を用いてオリジナルデータを更新する一方、更新関数の引数を更新履歴に順次登録する。そして、参照関数の呼び出しに応答して、更新履歴の中から所定規則に則って選定された少なくとも1つの引数を更新履歴に追加登録した後、更新履歴に登録された引数を更新関数に順次適用しつつ検証用データに格納する。その後、オリジナルデータと検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行する。なお、更新履歴の中から所定規則に則って選定された少なくとも1つの引数を更新履歴に追加登録した後、更新履歴に登録された引数を並べ替えてもよい。
開示する技術によれば、更新順序及び更新回数を夫々変更した更新が検証用データに適用されるため、ユーザ定義による更新関数が可換性及び冪等性を満たしているか否かをユーザが検証することができる。また、サーバに情報処理装置が組み込まれているため、実際の運用状態での検証を行うことができる。
以下、添付された図面を参照して本発明の実施形態を詳述する。
図1は、クライアントサーバシステムを利用した分散データ共有装置の一例を示す。なお、本実施形態の分散データ共有装置は、アプリケーション開発者などのユーザが更新関数を定義できる機能を備えている。
分散データ共有装置10は、LAN(Local Area Network)などのネットワーク20を介して接続される複数のサーバ30と、各サーバ30により管理されるハードディスクなどのストレージ40と、を含む。各ストレージ40には、マスタデータを複製したレプリカがオリジナルデータとして夫々格納される。ここで、マスタデータとは、各ストレージ40において整合性がとれた基本データのことをいう。また、各サーバ30は、インターネットなどのネットワーク50を介して、分散データ共有装置10上にあるオリジナルデータに対して初期化関数、更新関数及び参照関数を発行する少なくとも1つのクライアント60に接続される。
サーバ30には、図2に示すように、オリジナルデータ管理表32,検証用データ管理表34及び更新履歴管理表36を夫々保持する保持部38が備え付けられている。
オリジナルデータ管理表32及び検証用データ管理表34は、オリジナルデータ及び更新関数の可換性・冪等性を検証するために用いる検証用データを夫々管理するためのものであって、図3に示すように、ユーザ定義による更新関数で使用される変数を特定する「キー」に「値」を対応付けたレコードが登録される。
更新履歴管理表36は、クライアント60から呼び出された更新関数の引数である「値」を更新履歴として保持するものであって、図4に示すように、「キー」に「更新履歴」を対応付けたレコードが登録される。
また、サーバ30は、ハードディスクなどの外部記憶装置にインストールされた更新関数検証プログラムを実行することで、図2に示すように、初期化部30A,更新部30B及び参照部30Cの機能を夫々実現する。
初期化部30Aは、クライアント60から初期化関数が呼び出されたときに、オリジナルデータ管理表32,検証用データ管理表34及び更新履歴管理表36を夫々初期化する。初期化関数の引数は、初期化対象を示す「キー」及びその初期値を示す「値」である。初期化部30Aは、初期化関数の呼び出しに応答するステップ及び手段を夫々具現化する。ここで、「初期化」とは、「キー」に対応付けて「初期値」を登録することを意味する。
更新部30Bは、クライアント60から更新関数が呼び出されたときに、オリジナルデータ管理表32を更新すると共に、更新履歴管理表36に更新関数の引数を順次登録する。更新関数の引数は、更新対象を示す「キー」及びその「値」である。更新部30Bは、更新関数の呼び出しに応答するステップ及び手段を夫々具現化する。
参照部30Cは、クライアント60から参照関数が呼び出されたときに、オリジナルデータ管理表32を参照して参照関数に対する結果をクライアント60に返却すると共に、更新履歴管理表36に登録された更新履歴に基づいて検証用データ管理表34を更新する。そして、参照部30Cは、オリジナルデータ管理表32のレコードと検証用データ管理表34のレコードとの比較を通して、ユーザ定義の更新関数が可換性及び冪等性を満たしているか否かを判定する。参照関数の引数は、参照対象を示す「キー」である。参照部30Cは、参照関数の呼び出しに応答する各ステップ及び各手段を夫々具現化する。
図5は、初期化部30Aが、クライアント60から初期化関数(init関数)が呼び出されたときに実行する初期化処理を示す。また、初期化処理を実行するときには、オリジナルデータ管理表32,検証用データ管理表34及び更新履歴管理表36が夫々クリアされるものとする。
ステップ1(図では「S1」と略記する。以下同様)において、初期化部30Aは、クライアント60が呼び出した初期化関数の引数の「キー」とその「値」とを対応付けて、オリジナルデータ管理表32に登録する。
ステップ2において、初期化部30Aは、クライアント60が呼び出した初期化関数の引数の「キー」とその「値」とを対応付けて、検証用データ管理表34に登録する。
ステップ3において、初期化部30Aは、クライアント60が呼び出した初期化関数の引数の「キー」を更新履歴管理表36に登録する。
この初期化処理によれば、クライアント60から初期化関数の呼び出しがあったことを契機として、初期化部30Aが、オリジナルデータ管理表32,検証用データ管理表34及び更新履歴管理表36を夫々初期化する。即ち、初期化関数の呼び出しに応答して、オリジナルデータ(オリジナルデータ管理表32)を複製した検証用データ(検証用データ管理表34)が作成される。
図6は、更新部30Bが、クライアント60から更新関数(update関数)が呼び出されたときに実行する更新処理を示す。
ステップ11において、更新部30Bは、オリジナルデータ管理表32を更新する。具体的には、更新部30Bは、オリジナルデータ管理表32を参照し、引数の「キー」に対応付けられたオリジナルデータ管理表32内の値について、引数の「値」を適用した更新関数で更新する。なお、更新関数の定義によっては、オリジナルデータ管理表32の値が更新されないこともあり得る。
ステップ12において、更新部30Bは、更新履歴管理表36を参照し、引数の「キー」に対応付けられた更新履歴に、引数の「値」を追加登録する。
この更新処理によれば、クライアント60から更新関数が呼び出されたことを契機として、更新部30Bが、オリジナルデータ管理表32を適宜更新する。また、更新部30Bは、検証用データ管理表34を更新せず、引数の「キー」に対応付けられた、更新履歴管理表36に記録された更新履歴に「値」を追加登録する。
図7は、参照部30Cが、クライアント60から参照関数(get関数)が呼び出されたときに実行する参照処理を示す。
ステップ21において、参照部30Cは、参照関数の引数の「キー」に対応付けられた更新履歴を更新履歴管理表36から取得し、これをリスト化した更新リストを生成する。
ステップ22において、参照部30Cは、更新リストに値が登録されているか否かを判定する。そして、参照部30Cは、更新リストに値が登録されていればステップ23へと進む一方(Yes)、更新リストに値が登録されていなければステップ28へと進む(No)。
ステップ23において、参照部30Cは、更新リストに登録された値の中から所定規則に沿って少なくとも1つの値を選定し、これを更新リストに追加登録する。ここで、所定規則としては、例えば、すべての値,ユーザが指定した確率に基づくランダムな選定方法などを適用することができる。
ステップ24において、参照部30Cは、更新リストに登録された値を並べ替える。更新リストに登録された値の並べ替えはランダムでもよい。
ステップ25において、参照部30Cは、検証用データ管理表34に対して、更新リストに登録された値を更新関数に順次適用しつつ、検証用データ管理表34に格納する。
ステップ26において、参照部30Cは、オリジナルデータ管理表32と検証用データ管理表34とを比較し、各キーに対応付けられた2つの値が異なるか否かを判定する。そして、参照部30Cは、2つの値が異なっていればステップ27へと進み(Yes)、所定のエラー処理を実行する。ここで、所定のエラー処理としては、例えば、エラーメッセージを表示したり、ユーザ定義のエラー処理を実行するなどの処理を適用できる。一方、参照部30Cは、2つの値が同じであればステップ28へと進む(No)。なお、オリジナルデータ管理表32と検証用データ管理表34との比較結果を表示するようにしてもよい。
ステップ28において、参照部30Cは、オリジナルデータ管理表32を参照し、参照関数の引数の「キー」に対応付けられた値をクライアント60に返却する。
この参照処理によれば、クライアント60から参照関数が呼び出されたことを契機として、参照部30Cが、更新履歴管理表36から、引数の「キー」に対応付けられた更新履歴を取得し、更新リストを生成する。そして、参照部30Cが、更新リストに登録された値の中から所定規則に則って少なくとも1つの値を選定し、これを更新リストに追加登録する。その後、参照部30Cが、更新リストに登録された値を並べ替え、これを検証用データ管理表34に順次適用する。更新リストに登録された値の適用が完了すると、参照部30Cが、オリジナルデータ管理表32と検証用データ管理表34とを比較し、各キーに対応する2つの値が異なっていれば、ユーザ定義による更新関数は可換性及び冪等性を満たしていないと判断して所定のエラー処理を実行する。
従って、このような情報処理装置によれば、更新順序及び更新回数を夫々変更した更新が検証用データに適用されるため、従来技術では困難であった、ユーザ定義による更新関数が可換性及び冪等性を満たしているか否かの検証をユーザが行うことができる。このため、可換性及び冪等性を満たす更新関数を利用することで、レプリカごとに更新順序が異なり、また、同じ更新が重複して適用されても、更新結果が同じ値となることを一定の確率で保障できる。よって、更新順序及び更新回数を管理するためのオーバヘッドが不要となり、更新のスループットを向上させることができる。また、分散データ共有装置10に情報処理装置が組み込まれているため、実際の運用状態での検証を行うことができる。さらに、オリジナルデータ管理表32及び検証用データ管理表34は、ユーザ定義による更新関数で更新される値についてのみ作成されるので、更新関数の検証による負荷増加を抑制することができる。
ここで、情報処理装置の理解を容易ならしめるべく、具体例について説明する。
3つの変数(x,y,z)の最大値を保持するケースを想定する。この場合、更新関数f()は、現在値(current_value)と更新値(update_value)とを比較し、大きいものを返却するという定義になる。更新関数f()は、例えば、オープンソースのプログラミング言語であるpython(パイソン)で実装すると、次のようになる。
def f(current_value, update_value):
if (current_value < update_value):
return update_value
else:
return current_value
また、変数(x,y,z)の初期値は、夫々0とする。
クライアント60からサーバ30に対して初期化関数が呼び出されると、初期化部30Aは、オリジナルデータ管理表32,検証用データ管理表34及び更新履歴管理表36を、図8(A)〜(C)に示す状態に夫々初期化する。そして、変数xを1,−3,5,2,5,3の順番で更新する更新関数がクライアント60から順次呼び出されると、更新部30Bは、更新関数f()を用いて、オリジナルデータ管理表32を、図9(A)に示す状態に更新する。即ち、更新部30Bは、変数xの最大値である「5」をキー“x”に対応付けて、オリジナルデータ管理表32に格納する。一方、更新部30Bは、更新関数の呼出により検証用データ管理表34を更新せず、図9(B)に示すように、検証用データ管理表34を初期状態に維持する。また、更新部30Bは、キー“x”に対応付けられた更新履歴として、図9(C)に示すように、更新履歴管理表36に値1,−3,5,2,5,3を登録する。
図9の状態において、クライアント60からサーバ30に対して変数xの参照関数が呼び出されると、参照部30Cが、図10に示すように、更新履歴管理表36から、キー“x”に対応付けられた更新履歴(1,−3,5,2,5,3)を取得して更新リストを生成し、その中から所定規則に則って選定した値−3,2,3を更新リストの末尾に追加登録する。そして、参照部30Cは、更新リストに登録された値を並べ替え、並べ替えられた値を更新関数に順次適用して、その結果を検証用データ管理表34に格納する。その後、参照部30Cは、オリジナルデータ管理表32及び検証用データ管理表34を参照し、キー“x”に対応付けられたオリジナルデータ管理表32の値と検証用データ管理表34の値との2つの値が異なっているか否か判定する。図示の例では、オリジナルデータ管理表32の値が「5」、検証用データ管理表34の値が「5」で同じであるので、ユーザ定義の更新関数f()は可換性及び冪等性を満たしていると判断される。一方、オリジナルデータ管理表32の値と検証用データ管理表34との値が異なっていれば、ユーザ定義の更新関数f()は可換性及び冪等性を満たしていないと判断される。
開示の情報処理装置では、更新関数を検証するために、オリジナルデータ管理表32及び検証用データ管理表34を利用したが、更新関数に応じて適宜更新されるオリジナルデータ、及び、オリジナルデータを複製した検証用データを利用してもよい。但し、オリジナルデータ管理表32及び検証用データ管理表34を利用することで、更新関数の検証のためにアクセスするデータ量が小さくなり、分散データ共有装置10のレスポンス低下を抑制することができる。
また、検証対象となるオリジナルデータは、ユーザにより任意の方法で指定されるようにしてもよい。オリジナルデータの指定方法としては、例えば、分散データ共有装置10の起動時にサーバ及びオリジナルデータをユーザに指定させたり、サーバ及びオリジナルデータをランダムに選択する確率をユーザに指定させたりする方法が適用できる。このようにすれば、検証対象となるオリジナルデータが絞られることで、更新関数の検証に要する負荷が低減し、分散データ共有装置10のレスポンス低下を抑制することができる。
クライアントサーバシステムを利用した分散データ共有装置の構成図 サーバの機能ブロック図 オリジナルデータ管理表及び検証用データ管理表のデータ構造説明図 更新履歴管理表のデータ構造説明図 初期化部において実行される初期化処理のフローチャート 更新部において実行される更新処理のフローチャート 参照部において実行される参照処理のフローチャート 初期化された各管理表の一例を示し、(A)〜(C)は夫々オリジナルデータ管理表,検証データ管理表及び更新履歴管理表の説明図 更新された各管理表の一例を示し、(A)〜(C)は夫々オリジナルデータ管理表,検証データ管理表及び更新履歴管理表の説明図 参照時になされる処理の一例を示す説明図
符号の説明
10 分散データ共有装置
30 サーバ
30A 初期化部
30B 更新部
30C 参照部
32 オリジナルデータ管理表
34 検証用データ管理表
36 更新履歴管理表
38 保持部
40 ストレージ

Claims (7)

  1. 分散データ共有装置で各ストレージを管理するサーバに、
    初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成するステップと、
    更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録するステップと、
    参照関数の呼び出しがあったときに、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録した後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納するステップと、
    前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行するステップと、
    を実行させるための更新関数検証プログラム。
  2. 前記参照関数の呼び出しに応答するステップは、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録して並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納することを特徴とする請求項1記載の更新関数検証プログラム。
  3. 分散データ共有装置で各ストレージを管理するサーバに、
    初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成するステップと、
    更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録するステップと、
    参照関数の呼び出しがあったときに、前記更新履歴に登録された引数を並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納するステップと、
    前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行するステップと、
    を実行させるための更新関数検証プログラム。
  4. 分散データ共有装置で各ストレージを管理するサーバが、
    初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成するステップと、
    更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録するステップと、
    参照関数の呼び出しがあったときに、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録した後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納するステップと、
    前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行するステップと、
    を実行することを特徴とする更新関数検証方法。
  5. 前記参照関数の呼び出しに応答するステップは、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録して並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納することを特徴とする請求項4記載の更新関数検証方法。
  6. 初期化関数の呼び出しがあったときに、オリジナルデータを複製した検証用データを作成する手段と、
    更新関数の呼び出しがあったときに、前記更新関数を用いて前記オリジナルデータを更新する一方、前記更新関数の引数を更新履歴に順次登録する手段と、
    参照関数の呼び出しがあったときに、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録した後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納する手段と、
    前記オリジナルデータと格納された検証用データとを比較し、これらが異なっていれば所定のエラー処理を実行する手段と、
    を備えたことを特徴とする情報処理装置。
  7. 前記参照関数の呼び出しに応答する手段は、前記更新履歴の中から所定規則に則って選定された少なくとも1つの引数を前記更新履歴に追加登録して並べ替えた後、前記更新履歴に登録された引数を前記更新関数に順次適用しつつ前記検証用データに格納することを特徴とする請求項6記載の情報処理装置。
JP2008297788A 2008-11-21 2008-11-21 更新関数検証プログラム,更新関数検証方法及び情報処理装置 Expired - Fee Related JP5257016B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008297788A JP5257016B2 (ja) 2008-11-21 2008-11-21 更新関数検証プログラム,更新関数検証方法及び情報処理装置
US12/621,891 US20100131938A1 (en) 2008-11-21 2009-11-19 Recording medium encoded with update function verification program, update function verification method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008297788A JP5257016B2 (ja) 2008-11-21 2008-11-21 更新関数検証プログラム,更新関数検証方法及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2010123030A JP2010123030A (ja) 2010-06-03
JP5257016B2 true JP5257016B2 (ja) 2013-08-07

Family

ID=42324303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008297788A Expired - Fee Related JP5257016B2 (ja) 2008-11-21 2008-11-21 更新関数検証プログラム,更新関数検証方法及び情報処理装置

Country Status (2)

Country Link
US (1) US20100131938A1 (ja)
JP (1) JP5257016B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9317269B2 (en) * 2012-09-28 2016-04-19 Wal-Mart Stores, Inc. Systems and methods for installing, managing, and provisioning applications
JP6093663B2 (ja) * 2013-07-04 2017-03-08 エヌ・ティ・ティ・コムウェア株式会社 検証プログラム、検証装置および検証方法
CN105740258B (zh) * 2014-12-09 2019-01-04 阿里巴巴集团控股有限公司 基于幂等号校验的业务处理方法及装置
KR102195103B1 (ko) * 2017-06-26 2020-12-24 삼성전자주식회사 프로그램 컴파일 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860009A (en) * 1994-04-28 1999-01-12 Kabushiki Kaisha Toshiba Programming method for concurrent programs and program supporting apparatus thereof
JPH11194958A (ja) * 1997-12-26 1999-07-21 Nec Corp プログラムテストシステム
US7130874B2 (en) * 2002-03-12 2006-10-31 International Business Machines Corporation Method, system, and program for maintaining data in a distributed computing environment for processing transaction requests
US7904678B1 (en) * 2004-02-27 2011-03-08 Symantec Operating Corporation Technique for recovering mirror consistency in cooperative virtual storage
US7610319B1 (en) * 2004-03-01 2009-10-27 Symantec Operating Corporation Efficient operations using assistance from secondary site
US7565661B2 (en) * 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
US7661099B2 (en) * 2004-06-29 2010-02-09 International Business Machines Corporation Using idempotent operations to improve transaction performance
JP4568576B2 (ja) * 2004-10-26 2010-10-27 株式会社デンソーアイティーラボラトリ データ共有システム及び通信端末並びにデータ共有方法
US7840535B2 (en) * 2004-11-05 2010-11-23 Computer Associates Think, Inc. Replicated data validation
JP2006227820A (ja) * 2005-02-16 2006-08-31 Nomura Research Institute Ltd プログラムテストシステム及びプログラムテスト方法
US7739677B1 (en) * 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters
US8069129B2 (en) * 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
JP5046845B2 (ja) * 2007-10-15 2012-10-10 株式会社日立製作所 データ更新履歴格納装置及びデータ更新履歴格納方法
US20100146334A1 (en) * 2008-12-10 2010-06-10 Yahoo! Inc. Fault tolerant update propagation to views

Also Published As

Publication number Publication date
US20100131938A1 (en) 2010-05-27
JP2010123030A (ja) 2010-06-03

Similar Documents

Publication Publication Date Title
US11868321B2 (en) Cryptographically secure multi-tenant data exchange platform
US9760420B1 (en) Fleet host rebuild service implementing vetting, diagnostics, and provisioning pools
US8707275B2 (en) Simulation environment for distributed programs
US10979288B2 (en) Distributed rules engine for processing events associated with internet of things devices
KR102008037B1 (ko) 분산형 애플리케이션 객체에 대한 업데이트 통지를 제공하는 기법
KR101548003B1 (ko) 서비스 지향 파이프라인 기반 아키택쳐
US20170262363A1 (en) Application experiment system
US20110314261A1 (en) Prefetch of Attributes in Evaluating Access Control Requests
US20170371639A1 (en) Updating live system with static changes
US9537758B2 (en) Dynamic redirection of network traffic within a system under test
US10338910B2 (en) Multi-tenant upgrading
US10678626B2 (en) Distributed product deployment validation
US20150095903A1 (en) Product deployment system
JP5257016B2 (ja) 更新関数検証プログラム,更新関数検証方法及び情報処理装置
US11516070B1 (en) Method and system for diagnosing and remediating service failures
US11277303B1 (en) Declarative specification based override mechanism for customizing data centers deployed on cloud platforms
US9380001B2 (en) Deploying and modifying a service-oriented architecture deployment environment model
US11595493B2 (en) System and method for namespace masking in an integration flow
US20180241848A1 (en) Human-readable cloud structures
US10176059B2 (en) Managing server processes with proxy files
US8229980B2 (en) State buckets
US9699031B2 (en) Cloud models based on logical network interface data
CN115134238A (zh) 业务系统发布方法、装置、计算机设备和存储介质
US10091064B2 (en) Systems and methods for stateless management of object properties
US20060294511A1 (en) Method, system, and computer program product for deploying different versions of software in a single package

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

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

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees