JP6592450B2 - データ同期及びフェイルオーバ管理のためのシステム及び方法 - Google Patents
データ同期及びフェイルオーバ管理のためのシステム及び方法 Download PDFInfo
- Publication number
- JP6592450B2 JP6592450B2 JP2016556727A JP2016556727A JP6592450B2 JP 6592450 B2 JP6592450 B2 JP 6592450B2 JP 2016556727 A JP2016556727 A JP 2016556727A JP 2016556727 A JP2016556727 A JP 2016556727A JP 6592450 B2 JP6592450 B2 JP 6592450B2
- Authority
- JP
- Japan
- Prior art keywords
- instance
- application
- instances
- results
- primary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 71
- 238000004891 communication Methods 0.000 claims description 65
- 238000012545 processing Methods 0.000 claims description 62
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000002372 labelling Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 17
- 230000002093 peripheral effect Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 10
- 238000013515 script Methods 0.000 description 9
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 239000002131 composite material Substances 0.000 description 6
- 239000002585 base Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 239000000344 soap Substances 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 2
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 2
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 2
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 2
- 241001275944 Misgurnus anguillicaudatus Species 0.000 description 2
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 2
- 244000299461 Theobroma cacao Species 0.000 description 2
- 235000009470 Theobroma cacao Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- DCGNJQAPLOBXDM-ZJZGAYNASA-N (2s)-1-[(2s)-2-[[(2s)-1-[(2s)-2-amino-3-(4-hydroxyphenyl)propanoyl]pyrrolidine-2-carbonyl]amino]-3-phenylpropanoyl]pyrrolidine-2-carboxylic acid Chemical compound C([C@H](N)C(=O)N1[C@@H](CCC1)C(=O)N[C@@H](CC=1C=CC=CC=1)C(=O)N1[C@@H](CCC1)C(O)=O)C1=CC=C(O)C=C1 DCGNJQAPLOBXDM-ZJZGAYNASA-N 0.000 description 1
- FMFKNGWZEQOWNK-UHFFFAOYSA-N 1-butoxypropan-2-yl 2-(2,4,5-trichlorophenoxy)propanoate Chemical compound CCCCOCC(C)OC(=O)C(C)OC1=CC(Cl)=C(Cl)C=C1Cl FMFKNGWZEQOWNK-UHFFFAOYSA-N 0.000 description 1
- 240000001436 Antirrhinum majus Species 0.000 description 1
- 241000010972 Ballerus ballerus Species 0.000 description 1
- 102100026816 DNA-dependent metalloprotease SPRTN Human genes 0.000 description 1
- 101710175461 DNA-dependent metalloprotease SPRTN Proteins 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 101100162169 Xenopus laevis adrm1-a gene Proteins 0.000 description 1
- 239000003513 alkali Substances 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 229910052737 gold Inorganic materials 0.000 description 1
- 239000010931 gold Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910000103 lithium hydride Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 235000021419 vinegar Nutrition 0.000 description 1
- 239000000052 vinegar Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Retry When Errors Occur (AREA)
Description
本出願は、2014年3月11日に出願された米国の仮出願番号第61/951,374号、発明の名称「Data Synchronization and Failover Management Apparatuses, Methods and Systems」の優先権を主張する。また、本出願は、同じ発明の名称で2015年3月11日に出願された米国特許出願番号第14/644,674号の優先権を主張する。本出願の主題は、(a)2014年3月11日に出願された米国仮出願番号第61/951,364号、及び(b)2014年3月11日に出願された米国仮出願番号第61/951,390号の優先権を主張して2015年3月11日に出願された同時に継続中の米国特許出願番号第14/644,606号に関連する。また、本出願の主題は、2013年9月12日に出願されたPCT国際出願番号PCT/US2013/059558に関連する。上述した各関連出願の全体は、参照によって本願に援用される。
発明の分野
本開示は、包括的には、ソフトウェアアプリケーションの実行のためのランタイム環境に関し、詳しくは、ソフトウェアアプリケーションの性能及び信頼性を向上させる技術に関する。
If (eval(condition) == true)
x = f1(A);
else
x = f2(A);
output (x);
1つのコンパイラを使用してコンパイルされたこのコードセグメントの1つのインスタンス(インスタンスAとする。)は、最初に、条件を評価し、条件が真であるかを判定し、これに応じてf1又はf2を計算して、結果xを生成する。
POST /execute_request.php HTTP/1.1
Host: www.primary.com
Content-Type: Application/XML
Content-Length: 867
<?XML version = "1.0" encoding = "UTF-8"?>
<execute_request>
<request_id> fdgsbv633dg </instruct_id>
<timestamp> 2015-05-13 15:43:44</timestamp>
<application_type> primary </application_type>
<prmry_id> PRMRY_1 </prmry_id>
//<application_type> backup </application_type>
//<backup_size> n=7 <backup_size>
//<backup_id> SCNDRY_1 </backup_id>
//<backup_id> SCNDRY_2 </backup_id>
…
<application_inputs>
<init_val_1> … </init_val_1>
<init_val_2> … </init_val_2>
…
</application_inputs>
<application_name> trading_analytics.exe </application_name>
<Output_msg> TRUE </output_msg>
//<Output_msg> FALSE </output_msg>
<application_output>
<format> … </format>
…
</application_output>
</execute_request>
POST /switch_instruction.php HTTP/1.1
Host: www.switch.com
Content-Type: Application/XML
Content-Length: 867
<?XML version = "1.0" encoding = "UTF-8"?>
<routing_instruct>
<instruct_id> 25jh23jlu0s </instruct_id>
<timestamp> 2015-02-22 15:22:44</timestamp>
<instructor_id> SCNDRY_2 </instructor_id>
<switch_reason> PRMRY_NO_RSPNS </switch_reason>
…
<designation_instr>
<switch> primary = SCNDRY_2 </switch>
<duration> INDFNT </duration>
//<duration> PRMRY_MSG </duration>
…
</designation_instr>
…
</routing_instruct>
図6は、DSFMコントローラ601を例示するブロック図である。この実装では、DSFMコントローラ601は、様々な技術及び/又は他の関連するデータによって、コンピュータとのインタラクションを集計し、処理し、保存し、検索し、取り扱い、識別し、命令し、生成し、照合し及び/又は促進する能力を提供する。
他のコンポーネントとのデータの通信、取得及び/又は提供は、例えば、以下に限定されるわけではないが、アプリケーションプログラムインターフェース(Application Program Interfaces:API)情報通過、(分散型:distributed)コンポーネントオブジェクトモデル(Component Object Model:(D)COM)、(分散型)オブジェクトリンキング及び埋め込み(Object Linking and Embedding:(D)OLE)等、共通オブジェクトリクエストブローカアーキテクチャ(Common Object Request Broker Architecture:CORBA)、Jiniローカル及びリモートアプリケーションプログラムインターフェース、JavaScriptオブジェクトノテーション(JavaScript Object Notation:JSON)、遠隔メソッド呼出(Remote Method Invocation:RMI)、SOAP、プロセスパイプ、共有ファイル等のアプリケーション間データ処理通信技術によって達成してもよい。アプリケーション間通信のために離散コンポーネント間で又はアプリケーション内通信のために単一のコンポーネントのメモリ空間内で送信されるメッセージは、文法の作成及び解析によって実現してもよい。文法は、コンポーネント内及びコンポーネント間の通信メッセージの基礎となる文法生成及び解析能力を可能にする、例えば、lex、yacc、XML等の開発ツールを用いて開発してもよい。
w3c -post http://... Value1
<?PHP
header('Content-Type: text/plain');
// set ip address and port to listen to for incoming data(供給されるデータをリスンするためにIPアドレス及びポートを設定)
$address = ‘192.168.0.100';
$port = 255;
// create a server-side SSL socket, listen for/accept incoming communication(供給される通信をリスンし/受け取るためにサーバ側SSLソケットを作成)
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die(‘Could not bind to address');
socket_listen($sock);
$client = socket_accept($sock);
// read input data from client device in 1024 byte blocks until end of message(メッセージの末尾まで1024バイトブロックでクライアントデバイスからの入力データを読出)
do {
$input = "";
$input = socket_read($client, 1024);
$data .= $input;
} while($input != "");
// parse data to extract variables(データを解析して変数を抽出)
$obj = json_decode($data, true);
// store input data in a database(データベースに入力を保存)
mysql_connect("201.408.185.132",$DBserver,$password); // access database server(データベースサーバにアクセス)
mysql_select("CLIENT_DB.SQL"); // select database to append(付加するデータベースを選択)
mysql_query("INSERT INTO UserTable (transmission)
VALUES ($data)"); // add data to UserTable table in a CLIENT database(クライアントデータベース内のUserTableテーブルにデータを追加)
mysql_close("CLIENT_DB.SQL"); // close connection to database(データベースへの接続を閉じる)
?>
http://www.xav.com/perl/site/lib/SOAP/Parser.html
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide295.htm
他のパーサインプリメンテーションを以下に示す。
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide259.htm
これらは、全て参照によって明示的に本願に援用される。
Claims (20)
- 少なくとも1つのコンピュータプロセッサ上で、アプリケーションを迅速に実行する方法であって、
前記少なくとも1つのコンピュータプロセッサ上でアプリケーションの複数のインスタンスを同時に実行することであって、
‐各インスタンスは、前記複数のインスタンスの他の全てのインスタンスをコンパイルするために用いられる各コンパイラオプションとは異なるそれぞれのコンパイラオプションによってコンパイルされ、
‐前記アプリケーションは、その実行に際して、第1の一連の結果を生成するよう構成され、
‐各インスタンスは、同一の前記第1の一連の結果を生成するようコンパイルされる、
複数のインスタンスを同時に実行することと、
前記アプリケーションによって生成される前記第1の一連の結果のうち各結果について、
前記結果に対応する、各インスタンスによって生成されるそれぞれの出力を監視することと、
前記監視された出力から最も早く発生する出力を前記結果に対応する前記アプリケーションの出力としてラベリングし、他の全ての出力を複製としてラベリングすることとによって、少なくとも1つのコンピュータプロセッサの演算性能の速度を向上させることと
を含む方法。 - 前記複数のインスタンスは、第1のインスタンス及び第2のインスタンスを含み、
前記第1のインスタンスのためのコンパイラオプションは、事前(AOT:ahead-of-time)コンパイルを含み、
前記第2のインスタンスのためのコンパイラオプションは、ジャストインタイム(JIT:just-in-time)コンパイルを含み、前記JITコンパイルは、少なくとも部分的に、前記第2のインスタンスの少なくとも1つの以前の実行から得られるランタイム情報に基づいている、請求項1記載の方法。 - 前記複数のインスタンスは、第1のインスタンスを含み、
前記第1のインスタンスのためのコンパイラオプションは、無制約のメモリ使用、メモリ使用の最小化、並列演算の最大化、及び演算の制約された同時並列性からなるグループから選択される、請求項1記載の方法。 - 前記複数のインスタンスから1つのインスタンスをプライマリインスタンスとしてラベリングすることと、
他の全てのインスタンスをセカンダリインスタンスとしてラベリングすることと、
前記結果に対応する、前記アプリケーションの各インスタンスによって出力される第2の一連の結果からの各結果について、前記セカンダリインスタンスからの各出力を抑制することと
を更に含む請求項1記載の方法。 - k≧1として、前記第2の一連の結果からk個の結果を生成した後に、前記プライマリインスタンスの失敗を認識することと、
前記プライマリインスタンスを失敗したインスタンスとしてラベリングすることと、
前記k個の結果の各計算に関連するロジックを実行したセカンダリインスタンスを選択することと、
前記選択されたセカンダリインスタンスを前記プライマリインスタンスとして再ラベリングすることによって、前記再ラベリングされたプライマリインスタンスが(k+1)番目の結果を生成することと
を更に含む請求項4記載の方法。 - 前記アプリケーションの少なくとも一部のソースコードは、少なくとも部分的にインタープリットされるプログラミング言語を用いて特定される、請求項1記載の方法。
- ソフトウェアアプリケーションのフェイルオーバを可能にする方法であって、
前記ソフトウェアアプリケーションは、その実行に際して、一連の結果を生成するよう構成され、
前記ソフトウェアアプリケーションの、何れのインスタンスの実行も、同一の前記一連の結果を出力し、
前記方法は、
プロセッサベースのコントローラによって、(i)ソフトウェアアプリケーションのプライマリインスタンスであって、第1のコンパイラオプションによってコンパイルされているプライマリインスタンス及び(ii)アプリケーションの第1のセカンダリインスタンスであって、前記第1のコンパイラオプションとは異なるコンパイラオプションによってコンパイルされている第1のセカンダリインスタンスの同時の実行を監視することと、 k≧1として、ソフトウェアアプリケーションの一連の結果からのk個の結果の生成の後、プライマリインスタンスの失敗を検出することと、
前記第1のセカンダリインスタンスが、k番目の結果を算出するために必要な演算を完了していることを確認することと、
前記第1のセカンダリインスタンスをプライマリインスタンスとしてラベリングすることと
を含む方法。 - 前記コントローラは、前記k個の結果に対応する前記第1のセカンダリインスタンスの出力を抑制する、請求項7記載の方法。
- 前記第1のコンパイラオプションは、ジャストインタイム(JIT:just-in-time)コンパイルであり、前記第1のセカンダリインスタンスのために使用されるコンパイラオプションは、事前(AOT:ahead-of-time)コンパイルである、請求項7記載の方法。
- 前記コントローラによって、(iii)前記アプリケーションの第2のセカンダリインスタンスであって、前記第1のコンパイラオプション及び前記第1のセカンダリインスタンスをコンパイルするために使用されるコンパイラオプションの両方と異なるコンパイラオプションによってコンパイルされている第2のセカンダリインスタンスの同時の実行を監視することと、
前記第1のセカンダリインスタンスが前記k番目の結果を算出するために必要な演算を完了していることが確認されない場合、
前記第2のセカンダリインスタンスが前記k番目の結果を算出するために必要な演算を完了していることを確認することと、
前記第2のセカンダリインスタンスをプライマリインスタンスとしてラベリングすることと
を含む請求項7記載の方法。 - 少なくとも1つのコンピュータプロセッサ上で、アプリケーションを迅速に実行するシステムであって、
第1のプロセッサと、
前記第1のプロセッサと電気的に通信する第1のメモリであって、前記第1のメモリは、前記第1のプロセッサ及び第2のプロセッサの少なくとも1つを含む処理ユニットによって実行されると、前記処理ユニットをプログラムする命令を含み、この命令により前記処理ユニットは、
前記少なくとも1つのコンピュータプロセッサ上でアプリケーションの複数のインスタンスを同時に実行し、各インスタンスは、前記複数のインスタンスの他の全てのインスタンスをコンパイルするために用いられる各コンパイラオプションとは異なるそれぞれのコンパイラオプションによってコンパイルし、前記アプリケーションは、その実行に際して、第1の一連の結果を生成するよう構成され、各インスタンスは、同一の前記第1の一連の結果を生成するようコンパイルされ、
前記アプリケーションによって生成される前記第1の一連の結果のうち各結果について、
前記結果に対応する、各インスタンスによって生成されるそれぞれの出力を監視し、
前記監視された出力から最も早く発生する出力を前記結果に対応する前記アプリケーションの出力としてラベリングし、他の全ての出力を複製としてラベリングすることとによって、少なくとも1つのコンピュータプロセッサの演算性能の速度を向上させる、システム。 - 前記複数のインスタンスは、第1のインスタンス及び第2のインスタンスを含み、
前記第1のインスタンスのためのコンパイラオプションは、事前(AOT:ahead-of-time)コンパイルを含み、
前記第2のインスタンスのためのコンパイラオプションは、ジャストインタイム(JIT:just-in-time)コンパイルを含み、前記JITコンパイルは、少なくとも部分的に、前記第2のインスタンスの少なくとも1つの以前の実行から得られるランタイム情報に基づいている、請求項11記載のシステム。 - 前記複数のインスタンスは、第1のインスタンスを含み、
前記第1のインスタンスのためのコンパイラオプションは、無制約のメモリ使用、メモリ使用の最小化、並列演算の最大化、及び演算の制約された同時並列性からなるグループから選択される、請求項11記載のシステム。 - 前記命令は、前記処理ユニットが、
前記複数のインスタンスから1つのインスタンスをプライマリインスタンスとしてラベリングし、
他の全てのインスタンスをセカンダリインスタンスとしてラベリングし、
前記結果に対応する、前記アプリケーションの各インスタンスによって出力される第2の一連の結果からの各結果について、前記セカンダリインスタンスからの各出力を抑制する
ように更にプログラムされている、請求項11記載のシステム。 - 前記命令は、前記処理ユニットが、
k≧1として、前記第2の一連の結果からk個の結果を生成した後に、前記プライマリインスタンスの失敗を認識し、
前記プライマリインスタンスを失敗したインスタンスとしてラベリングし、
前記k個の結果の各計算に関連するロジックを実行したセカンダリインスタンスを選択し、
前記選択されたセカンダリインスタンスを前記プライマリインスタンスとして再ラベリングすることによって、前記再ラベリングされたプライマリインスタンスが(k+1)番目の結果を生成する
ように更にプログラムされている、請求項14記載のシステム。 - 前記アプリケーションの少なくとも一部のソースコードは、少なくとも部分的にインタープリットされるプログラミング言語を用いて特定される、請求項11記載のシステム。
- ソフトウェアアプリケーションのフェイルオーバのためのシステムであって、
前記ソフトウェアアプリケーションは、その実行に際して、一連の結果を生成するよう構成され、
前記ソフトウェアアプリケーションの、何れのインスタンスの実行も、同一の前記一連の結果を出力し、
前記システムは、
第1のプロセッサと、
前記第1のプロセッサと電気的に通信する第1のメモリであって、前記第1のメモリは、前記第1のプロセッサ及び第2のプロセッサの少なくとも1つからなる処理ユニットによって実行されると、前記処理ユニットをプログラムする命令を含み、この命令により前記処理ユニットは、
(i)ソフトウェアアプリケーションのプライマリインスタンスであって、第1のコンパイラオプションによってコンパイルされているプライマリインスタンス及び(ii)アプリケーションの第1のセカンダリインスタンスであって、前記第1のコンパイラオプションとは異なるコンパイラオプションによってコンパイルされている第1のセカンダリインスタンスの同時の実行を監視し、
k≧1として、ソフトウェアアプリケーションの一連の結果からのk個の結果の生成の後、プライマリインスタンスの失敗を検出し、
前記第1のセカンダリインスタンスが、k番目の結果を算出するために必要な演算を完了していることを確認し、
前記第1のセカンダリインスタンスをプライマリインスタンスとしてラベリングする、システム。 - 前記命令は、前記処理ユニットが、前記k個の結果に対応する前記第1のセカンダリインスタンスの出力を抑制するように更にプログラムされている、請求項17記載のシステム。
- 前記第1のコンパイラオプションは、ジャストインタイム(JIT:just-in-time)コンパイルであり、前記第1のセカンダリインスタンスのために使用されるコンパイラオプションは、事前(AOT:ahead-of-time)コンパイルである、請求項17記載のシステム。
- 前記命令は、前記処理ユニットが、
(iii)前記アプリケーションの第2のセカンダリインスタンスであって、前記第1のコンパイラオプション及び前記第1のセカンダリインスタンスをコンパイルするために使用されるコンパイラオプションの両方と異なるコンパイラオプションによってコンパイルされている第2のセカンダリインスタンスの同時の実行を監視し、
前記第1のセカンダリインスタンスが前記k番目の結果を算出するために必要な演算を完了していることが確認されない場合、
前記第2のセカンダリインスタンスが前記k番目の結果を算出するために必要な演算を完了していることを確認し、
前記第2のセカンダリインスタンスをプライマリインスタンスとしてラベリングする
ように更にプログラムされている、請求項17記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461951374P | 2014-03-11 | 2014-03-11 | |
US61/951,374 | 2014-03-11 | ||
PCT/US2015/019920 WO2015138586A1 (en) | 2014-03-11 | 2015-03-11 | Systems and methods for data synchronization and failover management |
US14/644,674 US10210005B2 (en) | 2014-03-11 | 2015-03-11 | Systems and methods for data synchronization and failover management |
US14/644,674 | 2015-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017511939A JP2017511939A (ja) | 2017-04-27 |
JP6592450B2 true JP6592450B2 (ja) | 2019-10-16 |
Family
ID=54072362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016556727A Active JP6592450B2 (ja) | 2014-03-11 | 2015-03-11 | データ同期及びフェイルオーバ管理のためのシステム及び方法 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP3117308B1 (ja) |
JP (1) | JP6592450B2 (ja) |
KR (2) | KR102250617B1 (ja) |
AU (1) | AU2015229434B2 (ja) |
BR (1) | BR112016021037B1 (ja) |
CA (1) | CA2942359C (ja) |
ES (1) | ES2776366T3 (ja) |
SG (2) | SG11201607515XA (ja) |
WO (1) | WO2015138586A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6945646B2 (ja) * | 2017-03-24 | 2021-10-06 | シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft | 産業用プログラマブルロジックコントローラの、回復力を有しているフェイルオーバー |
US11663094B2 (en) * | 2017-11-30 | 2023-05-30 | Hewlett Packard Enterprise Development Lp | Reducing recovery time of an application |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60150159A (ja) * | 1984-01-17 | 1985-08-07 | Agency Of Ind Science & Technol | 多重化処理方式 |
JPH04153764A (ja) * | 1990-10-18 | 1992-05-27 | Nec Corp | 分散cpuの処理高速化方式 |
JP3008521B2 (ja) * | 1991-02-26 | 2000-02-14 | 日本電気株式会社 | 呼び出し機能実行制御方式 |
JP2921190B2 (ja) * | 1991-07-25 | 1999-07-19 | 日本電気株式会社 | 並列実行方式 |
JPH06131312A (ja) * | 1992-01-23 | 1994-05-13 | Hitachi Ltd | 並行処理方法およびシステム |
US6233725B1 (en) * | 1998-12-03 | 2001-05-15 | International Business Machines Corporation | Method and apparatus to coordinate and control the simultaneous use of multiple just in time compilers with a java virtual machine |
JP3605327B2 (ja) * | 1999-11-18 | 2004-12-22 | 富士通株式会社 | プログラム実行装置 |
US7150012B2 (en) * | 2002-10-15 | 2006-12-12 | Nokia Corporation | Method and apparatus for accelerating program execution in platform-independent virtual machines |
JP4783005B2 (ja) * | 2004-11-25 | 2011-09-28 | パナソニック株式会社 | プログラム変換装置、プログラム変換実行装置およびプログラム変換方法、プログラム変換実行方法。 |
US8621275B1 (en) * | 2010-08-06 | 2013-12-31 | Open Invention Network, Llc | System and method for event-driven live migration of multi-process applications |
JP2007334643A (ja) | 2006-06-15 | 2007-12-27 | Renesas Technology Corp | プログラム実行方法、プログラム、およびプログラム実行システム |
US8627300B2 (en) * | 2009-10-13 | 2014-01-07 | Empire Technology Development Llc | Parallel dynamic optimization |
US8495607B2 (en) | 2010-03-01 | 2013-07-23 | International Business Machines Corporation | Performing aggressive code optimization with an ability to rollback changes made by the aggressive optimizations |
US9081586B2 (en) * | 2011-11-29 | 2015-07-14 | Futurewei Technologies, Inc. | Systems and methods for customizing optimization/transformation/ processing strategies |
-
2015
- 2015-03-11 BR BR112016021037-9A patent/BR112016021037B1/pt active IP Right Grant
- 2015-03-11 ES ES15761173T patent/ES2776366T3/es active Active
- 2015-03-11 KR KR1020207034291A patent/KR102250617B1/ko active IP Right Grant
- 2015-03-11 SG SG11201607515XA patent/SG11201607515XA/en unknown
- 2015-03-11 JP JP2016556727A patent/JP6592450B2/ja active Active
- 2015-03-11 AU AU2015229434A patent/AU2015229434B2/en active Active
- 2015-03-11 SG SG10201802998YA patent/SG10201802998YA/en unknown
- 2015-03-11 KR KR1020167027986A patent/KR102250613B1/ko active IP Right Grant
- 2015-03-11 CA CA2942359A patent/CA2942359C/en active Active
- 2015-03-11 EP EP15761173.2A patent/EP3117308B1/en active Active
- 2015-03-11 WO PCT/US2015/019920 patent/WO2015138586A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR102250613B1 (ko) | 2021-05-10 |
KR102250617B1 (ko) | 2021-05-10 |
AU2015229434B2 (en) | 2020-02-06 |
SG10201802998YA (en) | 2018-05-30 |
ES2776366T3 (es) | 2020-07-30 |
BR112016021037B1 (pt) | 2023-10-17 |
BR112016021037A2 (ja) | 2017-08-15 |
JP2017511939A (ja) | 2017-04-27 |
EP3117308A1 (en) | 2017-01-18 |
KR20160132434A (ko) | 2016-11-18 |
AU2015229434A1 (en) | 2016-09-29 |
KR20200137045A (ko) | 2020-12-08 |
EP3117308B1 (en) | 2020-02-19 |
CA2942359C (en) | 2020-10-06 |
CA2942359A1 (en) | 2015-09-17 |
WO2015138586A1 (en) | 2015-09-17 |
SG11201607515XA (en) | 2016-10-28 |
EP3117308A4 (en) | 2018-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10515057B2 (en) | Management of data replication and storage apparatuses, methods and systems | |
US11061713B2 (en) | Prioritization and source-nonspecific based virtual machine recovery apparatuses, methods and systems | |
US10210005B2 (en) | Systems and methods for data synchronization and failover management | |
US11036422B2 (en) | Prioritization and source-nonspecific based virtual machine recovery apparatuses, methods and systems | |
US10896101B2 (en) | Multiclient backup replication apparatuses, methods and systems | |
US11061776B2 (en) | Prioritization and source-nonspecific based virtual machine recovery apparatuses, methods and systems | |
WO2017181591A1 (zh) | 测试方法及系统 | |
US10909005B2 (en) | Object-level metadata-preserving cross heterogeneous operating systems backup and restore apparatuses, methods and systems | |
US10915407B2 (en) | Source volume backup with adaptive finalization apparatuses, methods and systems | |
US9547565B2 (en) | Techniques for message retransmission mechanism | |
US11080139B2 (en) | Systems and methods for data synchronization and failover management | |
JP6592450B2 (ja) | データ同期及びフェイルオーバ管理のためのシステム及び方法 | |
AU2015229429B2 (en) | Techniques for message retransmission mechanism | |
US11003545B2 (en) | User space incremental tracking apparatuses, methods and systems | |
US20160048544A1 (en) | System and method for hierarchical categorization of collaborative tagging | |
US11010088B2 (en) | Dynamically determined difference regions apparatuses, methods and systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190123 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190219 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20190513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190813 |
|
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: 20190827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6592450 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |