JP2017528847A - 分散コンピューティング環境において実行可能コードの動的配置をサポートするシステムおよび方法 - Google Patents
分散コンピューティング環境において実行可能コードの動的配置をサポートするシステムおよび方法 Download PDFInfo
- Publication number
- JP2017528847A JP2017528847A JP2017516347A JP2017516347A JP2017528847A JP 2017528847 A JP2017528847 A JP 2017528847A JP 2017516347 A JP2017516347 A JP 2017516347A JP 2017516347 A JP2017516347 A JP 2017516347A JP 2017528847 A JP2017528847 A JP 2017528847A
- Authority
- JP
- Japan
- Prior art keywords
- class
- agent
- node
- client
- definition
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000014509 gene expression Effects 0.000 claims abstract description 68
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006424 Flood reaction Methods 0.000 description 1
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- 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/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
この特許文書の開示の一部には、著作権保護の対象となるものが含まれている。著作権者は、特許商標庁の特許ファイルまたは記録に掲載された特許文書または特許開示の複製に対しては異議を唱えないが、その他の場合、すべての著作権を留保する。
本発明は、一般にコンピュータシステムに関し、特に分散コンピューティング環境に関する。
本開示は、分散コンピューティング環境において実行可能コードの動的配置をサポートすることができるシステムおよび方法を記載する。クライアントは、1つ以上のクラスまたは更新クラスのクラス定義を生成する。クラス定義は、シリアル化され、分散コンピューティング環境内のサーバに送信される。分散コンピューティング環境内のサーバは、シリアル化されたクラス定義を受信し、シリアル化されたクラス定義をデシリアル化し、サーバ上で処理されるための1つ以上のクラスまたは更新クラスを生成する。1つ以上のクラスまたは更新クラスは、ラムダ式を表すことができる。さらに、1つ以上のクラスまたは更新クラスは、正しいクラスまたは正しいクラスバージョンが実行され、サーバ上で存在しないクラス定義がシリアル化され、配布されることを保証する一意のID(識別子)を備える。実行可能コードの動的配置は、サーバノード上でエージェントの実行を可能にする。この場合、エージェントは、そうでなければサーバノードに利用できない新規クラスの定義に依存する。
本開示は、分散コンピューティング環境において実行可能コードの動的配置をサポートするシステムおよび方法を記載する。分散コンピューティング環境内のサーバノードは、サーバノードを再起動または再配置することなく、クライアントから実行するクラス定義を受信し、受信したクラス定義を用いて、クラスのインスタンスを生成し、メモリにロードすることができる。クラス定義は、そうでなければサーバノードに利用できない新規または更新クラス定義を実装することができる。クラスは、一意のクラスIDを用いて特定される。クラスIDを用いて、クラスが新規または更新クラスであるか否かを判断することができる。クラスIDを用いて、クラス定義をサーバノードに送信する必要性を判断することができ、正しいバージョンのクラスが実装されたことを保証することができる。実行可能コードの動的配置は、サーバノード上でエージェントの実行を可能にする。この場合、エージェントは、そうでなければサーバノードに利用できない新規クラスの定義に依存する。
分散データグリッドとは、分散型環境またはクラスタ化環境において情報および関連作業、例えば演算を管理するために、複数のコンピュータサーバが1つ以上のクラスタに協働して動作するシステムを指す。分散データグリッドを使用して、サーバ間に共有されているアプリケーションオブジェクトおよびデータを管理することができる。分散データグリッドは、短い応答時間、高い処理量、予測可能な拡張性、継続的な可用性、情報の信頼性を提供する。その結果、分散データグリッドは、計算集約型ステートフル中間層アプリケーションの使用に適している。特定の例において、分散データグリッド、例えばOracle(登録商標)Coherenceデータグリッドは、高性能を達成するように情報をインメモリに格納し、その情報のコピーを複数のサーバ間に同期するように冗長性を採用しているため、サーバの故障時に、システムの復元性およびデータの継続的な可用性を確保する。
実施形態において、分散データグリッドは、エージェントを使用して、分散データグリッドのノード上で処理を実行することをサポートする。区分データの場合、エージェントは、処理するデータを保有するノード(または複数のノード)上で実行するように構成され得る。行列化および並列化の管理、エージェントの実行、エージェントによるデータのアクセス、エージェントによるデータの変更は、すべてグリッドのノード上で行われる(得られたデータに変更があった場合に、データの変更を同期バックアップするときのみ、追加のネットワークトラフィックが必要である)。多くの処理目的に対して、分散型並列制御、可干渉性およびデータ更新を処理するよりも、エージェントをノードに提供する方が遥かに効率的である。換言すれば、データグリッドは、データトポロジの構成に基づいて、エージェントを実行する場所を決定し、エージェントをその場所に移動し、エージェントを実行し(エージェントの実行中に、アイテムの並列制御を自動的に処理する)、変更があった場合にその変更をバックアップし、結果を返す。
図2Aは、ノード上で新規クラス定義を利用するエージェントの実現を可能にするように、クライアント150からの新規クラス定義を分散データグリッドのノード130aに動的に配置するシステムを示す図である。図示では1つのクライアントおよび1つのノードしか示されていないが、同様の機能は、すべてのクライアントおよび分散データグリッドのすべてのノードに適用できる。図2Aに示すように、ノード130aは、Java(登録商標)仮想マシン(JVM)、例えばOracle(登録商標)JRockit JVM、IBM(登録商標)JVM、Oracle(登録商標)JVM、または別のベンダーのJVM実装として実装される。ノード130aは、実行エンジン210、ネイティブメソッドインターフェイス212、ネイティブメソッドライブラリ214、およびクラスローダ217を含む。ノード130aは、JVMメモリ領域220を備える。JVMメモリ領域220は、メソッド領域212、ヒープ214、JVM言語スタック216、PCレジスタ218、およびネイティブメソッドスタック230を含む。ノード130aの起動時に、クラスローダ217は、JVMのクラスパスで発見されたクラス定義に基づいて、クラスをロードおよび準備して、初期化する。クライアント150は、リモートクラスサポート262を備え、ノード130aは、リモートクラスサポート232を備える。以下に説明するように、リモートクラスサポートの機能によって、wireプロトコルを介してクライアント150からノード130aに送信されたリモートクラスコンストラクタ264を用いて、クライアント150からの新規クラス定義を分散データグリッドのノード130aに動的に配置することができる。
一実施形態において、クラス定義の動的配置を行うためのシステムおよび方法は、ラムダ式に関連するクラス定義に適用することができる。近年、Java(登録商標)のようなオブジェクト指向プログラミング言語は、多くの異なる種類のプラットフォーム上で動作する多種さまざまなアプリケーションにますます普及されている。一部のプログラミング言語は、「ラムダ式」をサポートすることができる。オブジェクト指向プログラミング言語において、ラムダ式は、メソッドを1つしか持たず、状態を持たないオブジェクトを定義するための軽量メカニズムとして使用できる。ラムダ式の軽量構文は、さまざまなプログラミング言語環境に一般的に使用されるように最適化することができる。Java(登録商標)プログラミング言語は、命令型プログラミング言語の一例であるレキシカルスコープ言語である。ラムダ式のサポートは、Java(登録商標)8プログラミング言語に導入された。したがって、場合によっては、分散データグリッドのノード上で実行されるエージェントのコードは、ラムダ式を含んでもよい。
Claims (22)
- 分散コンピューティング環境内のノードにおいて、クライアントからの実行可能コードの動的配置をサポートする方法であって、
前記ノード上で、前記クライアントからのシリアル化されたオブジェクトを受信するステップを含み、前記シリアル化されたオブジェクトは、前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含み、
前記ノード上で、前記シリアル化されたオブジェクトをデシリアル化することによって、前記クラス定義と前記エージェントの前記捕捉状態とを取得するステップと、
前記クラス定義と前記エージェントの前記捕捉状態とを前記ノードのメモリにロードすることによって、前記ノード上で前記新規クラスのインスタンスを生成するステップと、
前記ノード上で前記エージェントを実行するステップとを含む、方法。 - 前記クラス定義は、ラムダ式を実装する、請求項1に記載の方法。
- 前記クライアント上でエージェントコードを受信するステップと、
前記クライアント上の前記エージェントコードから、前記新規クラスのクラス定義を判断するステップと、
前記クラス定義に基づいて、前記新規クラスのクラスIDを生成するステップとをさらに含む、請求項1〜2のいずれか1項に記載の方法。 - 前記クライアント上でクラス/IDテーブルを保持するステップと、
前記クライアント上で前記エージェントのエージェントコードを受信するステップと、
前記クライアント上の前記エージェントコードから、前記新規クラスのクラス定義を判断するステップと、
前記クラス定義に基づいて、前記新規クラスのクラスIDを生成するステップと、
前記クラス/IDテーブルを用いて、前記新規クラスが前記ノードのクラスパスに存在しないことを判断するステップとをさらに含む、請求項1〜3のいずれか1項に記載の方法。 - 前記クライアント上でクラス/IDテーブルを保持するステップと、
前記クライアント上で前記エージェントのエージェントコードを受信するステップと、
前記クライアント上の前記エージェントコードから、前記新規クラスのクラス定義を判断するステップと、
前記クラス定義に基づいて、前記新規クラスのクラスIDを生成するステップと、
前記クラス/IDテーブルを用いて、前記新規クラスが前記ノードのクラスパスに存在しないことを判断するステップと、
前記新規クラスの前記クラスIDを前記クラス/IDテーブルに追加するステップとをさらに含む、請求項1〜3のいずれか1項に記載の方法。 - 前記クライアント上で前記エージェントのエージェントコードを受信するステップと、
前記クライアント上の前記エージェントコードから、前記新規クラスのクラス定義を判断するステップと、
前記クライアント上で、前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含む前記シリアル化されたオブジェクトを生成するステップと、
前記シリアル化されたオブジェクトを前記ノードに送信するステップとをさらに含む、請求項1〜5のいずれか1項に記載の方法。 - 前記クライアント上で前記クライアントのエージェントコードを受信するステップを含み、前記エージェントコードは、ラムダ式を含み、
前記クライアント上の前記エージェントコードから、前記新規クラスのクラス定義を判断するステップを含み、前記クラス定義は、前記ラムダ式を実装し、
前記クライアント上で、前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含む前記シリアル化されたオブジェクトを生成するステップと、
前記シリアル化されたオブジェクトを前記ノードに送信するステップとをさらに含む、請求項1〜6のいずれか1項に記載の方法。 - 前記分散コンピューティング環境は、データグリッドクラスタを含み、
前記実行可能コードの動的配置は、前記エージェントによって操作されるデータを保持する複数のノードを前記データグリッドクラスタに再配置することなく、前記データグリッドクラスタ内の前記複数のノード上で前記エージェントの実行を可能にする、請求項1〜7のいずれか1項に記載の方法。 - 前記分散コンピューティング環境は、データグリッドクラスタを含み、
前記エージェントは、前記ノードに保持されたデータを処理するためのエントリプロセッサである、請求項1〜8のいずれか1項に記載の方法。 - 前記分散コンピューティング環境は、データグリッドクラスタを含み、
前記エージェントは、前記ノードに保持されたデータを処理するためのアグリゲータ、フィルタ、値エクストラクタおよび呼び出し可能物のうち、1つである、請求項1〜9のいずれか1項に記載の方法。 - 分散コンピューティング環境において実行可能コードの動的配置をサポートするシステムであって、
マイクロプロセッサとメモリとを含むコンピュータシステムと、
前記分散コンピューティング環境の一部として前記コンピュータシステム上で配置されたノードとを備え、
前記ノードは、
クライアントからのシリアル化されたオブジェクトを受信するように構成され、前記シリアル化されたオブジェクトは、前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含み、
前記ノード上で前記シリアル化されたオブジェクトをデシリアル化することによって、前記クラス定義と前記エージェントの前記捕捉状態とを取得し、
前記クラス定義と前記エージェントの前記捕捉状態とを前記ノードに割り当てられた前記メモリの一部にロードすることによって、前記ノード上で前記新規クラスのインスタンスを生成し、
前記ノード上で前記エージェントを実行するように構成される、システム。 - 前記クラス定義は、ラムダ式を実装する、請求項11に記載のシステム。
- マイクロプロセッサとメモリとを含むクライアントコンピュータシステムと、
前記クライアントコンピュータシステム上で動作するクライアントとをさらに備え、
前記クライアントは、
前記エージェントのエージェントコードを受信し、
前記エージェントコードから、前記新規クラスのクラス定義を判断し、
前記クラス定義に基づいて、前記新規クラスのクラスIDを生成するように構成される、請求項11〜12のいずれか1項に記載のシステム。 - マイクロプロセッサとメモリとを含むクライアントコンピュータシステムと、
前記クライアントコンピュータシステム上で動作するクライアントとをさらに備え、
前記クライアントは、
クラス/IDテーブルを保持し、
前記エージェントのエージェントコードを受信し、
前記エージェントコードから、前記新規クラスのクラス定義を判断し、
前記クラス定義に基づいて、前記新規クラスのクラスIDを生成し、
前記クラス/IDテーブルを用いて、前記新規クラスが前記ノードのクラスパスに存在しないことを判断するように構成される、請求項11〜13のいずれか1項に記載のシステム。 - マイクロプロセッサとメモリとを含むクライアントコンピュータシステムと、
前記クライアントコンピュータシステム上で動作するクライアントとをさらに備え、
前記クライアントは、
クラス/IDテーブルを保持し、
前記エージェントのエージェントコードを受信し、
前記エージェントコードから、前記新規クラスのクラス定義を判断し、
前記クラス定義に基づいて、前記新規クラスのクラスIDを生成し、
前記クラス/IDテーブルを用いて、前記新規クラスが前記ノードのクラスパスに存在しないことを判断し、
前記新規クラスの前記クラスIDを前記クラス/IDテーブルに追加するように構成される、請求項11〜13のいずれか1項に記載のシステム。 - マイクロプロセッサとメモリとを含むクライアントコンピュータシステムと、
前記クライアントコンピュータシステム上で動作するクライアントとをさらに備え、
前記クライアントは、
クラス/IDテーブルを保持し、
前記エージェントのエージェントコードを受信し、
前記エージェントコードから、前記新規クラスのクラス定義を判断し、
前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含む前記シリアル化されたオブジェクトを生成し、
前記シリアル化されたオブジェクトを前記ノードに送信するように構成される、請求項11〜15のいずれか1項に記載のシステム。 - マイクロプロセッサとメモリとを含むクライアントコンピュータシステムと、
前記クライアントコンピュータシステム上で動作するクライアントとをさらに備え、
前記クライアントは、
クラス/IDテーブルを保持し、
前記エージェントのエージェントコードを受信するように構成され、前記エージェントコードは、ラムダ式を含み、
前記エージェントコードから、前記新規クラスのクラス定義を判断するように構成され、前記クラス定義は、前記ラムダ式を実装し、
前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含む前記シリアル化されたオブジェクトを生成し、
前記シリアル化されたオブジェクトを前記ノードに送信するように構成される、請求項11〜16のいずれか1項に記載のシステム。 - 前記分散コンピューティング環境は、データグリッドクラスタを含み、
前記実行可能コードの動的配置は、前記エージェントによって操作されるデータを保持する複数のノードを前記データグリッドクラスタに再配置することなく、前記データグリッドクラスタ内の前記複数のノード上で前記エージェントの実行を可能にする、請求項11〜17のいずれか1項に記載のシステム。 - 前記分散コンピューティング環境は、データグリッドクラスタを含み、
前記エージェントは、前記ノードに保持されたデータを処理するためのアグリゲータ、フィルタ、値エクストラクタおよび呼び出し可能物のうち、1つである、請求項11〜18のいずれか一項に記載のシステム。 - 分散コンピューティング環境内のノードにおいて、クライアントからの実行可能コードの動的配置をサポートする命令を格納する非一時的なコンピュータ可読媒体であって、前記命令は、実行されると、前記ノードに、以下のステップを実行させ、当該ステップは、
前記ノード上で、前記クライアントからのシリアル化されたオブジェクトを受信するステップを含み、前記シリアル化されたオブジェクトは、前記ノードのクラスパスに存在しない新規クラスのクラス定義と、前記新規クラスを利用するエージェントの捕捉状態とを含み、
前記ノード上で前記シリアル化されたオブジェクトをデシリアル化することによって、前記クラス定義と前記エージェントの前記捕捉状態とを取得するステップと、
前記クラス定義と前記エージェントの前記捕捉状態とを前記ノードのメモリにロードすることによって、前記ノード上で前記新規クラスのインスタンスを生成するステップと、
前記ノード上で前記エージェントを実行するステップとを含む、非一時的なコンピュータ可読媒体。 - 1つ以上のコンピュータシステム上で実行するためのプログラム命令を含むコンピュータプログラムであって、これらの命令は、コンピュータシステムによって実行されると、前記コンピュータシステムに、請求項1〜10のいずれか1項に記載の方法を実行させる、コンピュータプログラム。
- 非一時的な機械可読データ記憶媒体に記憶された請求項21のコンピュータプログラムを含むコンピュータプログラム製品。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462055482P | 2014-09-25 | 2014-09-25 | |
US62/055,482 | 2014-09-25 | ||
US201462076159P | 2014-11-06 | 2014-11-06 | |
US62/076,159 | 2014-11-06 | ||
PCT/US2015/052060 WO2016049379A1 (en) | 2014-09-25 | 2015-09-24 | System and method for supporting dynamic deployment of executable code in a distributed computing environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017528847A true JP2017528847A (ja) | 2017-09-28 |
JP2017528847A5 JP2017528847A5 (ja) | 2018-08-09 |
JP6621470B2 JP6621470B2 (ja) | 2019-12-18 |
Family
ID=54325684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017516347A Active JP6621470B2 (ja) | 2014-09-25 | 2015-09-24 | 分散コンピューティング環境において実行可能コードの動的配置をサポートするシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10095508B2 (ja) |
EP (1) | EP3198424B1 (ja) |
JP (1) | JP6621470B2 (ja) |
CN (1) | CN107077358B (ja) |
WO (1) | WO2016049379A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286056B2 (en) | 2014-05-19 | 2016-03-15 | International Business Machines Corporation | Reducing storage facility code load suspend rate by redundancy check |
CN107077358B (zh) * | 2014-09-25 | 2020-08-25 | 甲骨文国际公司 | 用于在分布式计算环境中支持可执行代码的动态部署的系统和方法 |
US10129361B2 (en) | 2015-07-01 | 2018-11-13 | Oracle International Corporation | System and method for multi-version remote function execution control in a distributed computing environment |
US10387229B2 (en) * | 2015-11-23 | 2019-08-20 | International Business Machines Corporation | Reducing cost of deserialization by skipping unused array regions |
US9817653B2 (en) * | 2015-12-16 | 2017-11-14 | Sap Se | Updating extension in response to opening associated document |
US9798569B2 (en) * | 2016-02-15 | 2017-10-24 | Nvidia Corporation | System and method for retrieving values of captured local variables for lambda functions in Java |
US20190334765A1 (en) * | 2018-04-30 | 2019-10-31 | Nutanix, Inc. | Apparatuses and methods for site configuration management |
CN109618005B (zh) * | 2019-01-18 | 2020-12-08 | 华为终端有限公司 | 调用服务器的方法和代理服务器 |
US11138077B2 (en) * | 2019-01-24 | 2021-10-05 | Walmart Apollo, Llc | System and method for bootstrapping replicas from active partitions |
JP2023508814A (ja) * | 2019-10-18 | 2023-03-06 | デフィニティ スティフトゥング | 分散ネットワークにおけるリソースの使用に対する課金 |
CN110795109A (zh) * | 2019-10-25 | 2020-02-14 | 北京达佳互联信息技术有限公司 | 一种功能扩展方法、装置及电子设备 |
CN111062684B (zh) * | 2019-11-29 | 2023-10-20 | 普元信息技术股份有限公司 | 云流程平台下实现业务数据与流程数据一致性处理的系统及其方法 |
US20230115604A1 (en) * | 2021-10-13 | 2023-04-13 | Nutanix, Inc. | Virtual machine replication using host-to-host pcie interconnections |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233601B1 (en) * | 1996-11-14 | 2001-05-15 | Mitsubishi Electric Research Laboratories, Inc. | Itinerary based agent mobility including mobility of executable code |
US6119145A (en) | 1997-02-28 | 2000-09-12 | Oracle Corporation | Multithreaded client application storing a separate context for each transaction thus allowing threads to resume transactions started by other client threads |
US5974428A (en) | 1997-08-29 | 1999-10-26 | International Business Machines Corporation | Method and apparatus for class version naming and mapping |
US6366898B2 (en) | 1998-09-21 | 2002-04-02 | Sun, Microsystems, Inc. | Method and apparatus for managing classfiles on devices without a file system |
US7200848B1 (en) * | 2000-05-09 | 2007-04-03 | Sun Microsystems, Inc. | Migrating processes using data representation language representations of the processes in a distributed computing environment |
US7016966B1 (en) * | 2000-05-09 | 2006-03-21 | Sun Microsystems, Inc. | Generating results gates in a distributed computing environment |
US6898618B1 (en) * | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
US8082491B1 (en) * | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US6925638B1 (en) | 2000-09-21 | 2005-08-02 | International Business Machines Corporation | Mutability analysis in Java |
US7207002B2 (en) * | 2003-11-13 | 2007-04-17 | International Business Machines Corporation | Serialization and preservation of objects |
US20050229048A1 (en) | 2004-03-30 | 2005-10-13 | International Business Machines Corporation | Caching operational code in a voice markup interpreter |
US7913239B2 (en) | 2005-03-08 | 2011-03-22 | International Business Machines Corporation | Method and apparatus for a programming framework for pattern matching and transformation of intermediate language expression trees |
US20060212847A1 (en) | 2005-03-18 | 2006-09-21 | Microsoft Corporation | Type checker for a typed intermediate representation of object-oriented languages |
US20070044083A1 (en) | 2005-07-29 | 2007-02-22 | Microsoft Corporation | Lambda expressions |
US8984534B2 (en) | 2006-03-31 | 2015-03-17 | British Telecommunications Public Limited Company | Interfacing between a receiving component of a server application and a remote application |
US20080178140A1 (en) | 2007-01-18 | 2008-07-24 | United Microelectronics Corp. | Method for correcting photomask pattern |
US7873592B2 (en) | 2007-04-20 | 2011-01-18 | Microsoft Corporation | Type inference for object-oriented languages |
FI20070366A0 (fi) | 2007-05-09 | 2007-05-09 | Webmedia As | Menetelmä ja järjestelmä luokan uudelleen lataamiseksi |
US8397227B2 (en) * | 2007-12-04 | 2013-03-12 | International Business Machines Corporation | Automatic deployment of Java classes using byte code instrumentation |
US20090265688A1 (en) | 2008-04-18 | 2009-10-22 | Paul Govereau | Circuits and methods for mobility of effectful program fragments |
US9170787B2 (en) | 2008-06-27 | 2015-10-27 | Microsoft Technology Licensing, Llc | Componentization of compiler functionality |
US20090328016A1 (en) | 2008-06-27 | 2009-12-31 | Microsoft Corporation | Generalized expression trees |
US20100088686A1 (en) | 2008-10-06 | 2010-04-08 | Microsoft Corporation | Programming language with extensible syntax |
JP2010108258A (ja) | 2008-10-30 | 2010-05-13 | Panasonic Corp | コンパイル方法及びコンパイルプログラム |
US8397222B2 (en) | 2008-12-05 | 2013-03-12 | Peter D. Warren | Any-to-any system for doing computing |
US8266604B2 (en) | 2009-01-26 | 2012-09-11 | Microsoft Corporation | Transactional memory compatibility management |
US9201701B2 (en) * | 2010-07-16 | 2015-12-01 | Nokia Technologies Oy | Method and apparatus for distributing computation closures |
US9177017B2 (en) | 2010-09-27 | 2015-11-03 | Microsoft Technology Licensing, Llc | Query constraint encoding with type-based state machine |
US9542168B2 (en) | 2011-11-10 | 2017-01-10 | Microsoft Technology Licensing Llc | Hostable compiler utilizing type information from a host application |
US8990070B2 (en) | 2011-11-18 | 2015-03-24 | International Business Machines Corporation | Computer-based construction of arbitrarily complex formal grammar expressions |
US8997070B2 (en) | 2011-12-15 | 2015-03-31 | Sap Se | Extension mechanism for scripting language compiler |
US9524323B2 (en) * | 2012-09-05 | 2016-12-20 | Microsoft Technology Licensing, Llc | Delegation of expression tree evaluation |
US9762503B2 (en) | 2012-11-05 | 2017-09-12 | Sea Street Technologies, Inc. | Systems and methods for provisioning and managing an elastic computing infrastructure |
US9332083B2 (en) | 2012-11-21 | 2016-05-03 | International Business Machines Corporation | High performance, distributed, shared, data grid for distributed Java virtual machine runtime artifacts |
US9785456B2 (en) | 2014-04-22 | 2017-10-10 | Oracle International Corporation | Metadata-driven dynamic specialization |
CN107077358B (zh) * | 2014-09-25 | 2020-08-25 | 甲骨文国际公司 | 用于在分布式计算环境中支持可执行代码的动态部署的系统和方法 |
US9411618B2 (en) | 2014-11-21 | 2016-08-09 | Red Hat, Inc. | Metadata-based class loading using a content repository |
US10129361B2 (en) * | 2015-07-01 | 2018-11-13 | Oracle International Corporation | System and method for multi-version remote function execution control in a distributed computing environment |
-
2015
- 2015-09-24 CN CN201580051606.0A patent/CN107077358B/zh active Active
- 2015-09-24 EP EP15781206.6A patent/EP3198424B1/en active Active
- 2015-09-24 US US14/864,558 patent/US10095508B2/en active Active
- 2015-09-24 WO PCT/US2015/052060 patent/WO2016049379A1/en active Application Filing
- 2015-09-24 JP JP2017516347A patent/JP6621470B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
CN107077358A (zh) | 2017-08-18 |
EP3198424B1 (en) | 2021-11-17 |
US10095508B2 (en) | 2018-10-09 |
JP6621470B2 (ja) | 2019-12-18 |
US20160092205A1 (en) | 2016-03-31 |
CN107077358B (zh) | 2020-08-25 |
EP3198424A1 (en) | 2017-08-02 |
WO2016049379A1 (en) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6621470B2 (ja) | 分散コンピューティング環境において実行可能コードの動的配置をサポートするシステムおよび方法 | |
US11888599B2 (en) | Scalable leadership election in a multi-processing computing environment | |
US10129361B2 (en) | System and method for multi-version remote function execution control in a distributed computing environment | |
US10817478B2 (en) | System and method for supporting persistent store versioning and integrity in a distributed data grid | |
JP6613305B2 (ja) | 分散データグリッド内でスレッドプールの動的サイズ変更をサポートするためのシステムおよび方法 | |
US10664495B2 (en) | System and method for supporting data grid snapshot and federation | |
US20170003899A1 (en) | System and method for distributed persistent store archival and retrieval in a distributed computing environment | |
US11550820B2 (en) | System and method for partition-scoped snapshot creation in a distributed data computing environment | |
US10860378B2 (en) | System and method for association aware executor service in a distributed computing environment | |
JP2017531263A (ja) | 分散コンピューティング環境内でゼロコピー2進基数木をサポートするためのシステムおよび方法 | |
US6424988B2 (en) | Multicomputer system | |
US10133489B2 (en) | System and method for supporting a low contention queue in a distributed data grid | |
US12086037B2 (en) | Scalable low-loss disaster recovery for data stores | |
US10798146B2 (en) | System and method for universal timeout in a distributed computing environment | |
WO2024192196A1 (en) | System and method supporting highly-available replicated computing applications using deterministic virtual machines | |
Palanciuc | DOORS: Distributed object oriented runtime system (position paper) | |
Raicevic | DPR Cluster: An Automated Framework for Deploying Resilient Stateful Cloud Microservices | |
CN117063159A (zh) | 全球规模人工智能基础设施服务的人工智能工作负载迁移 | |
Wei | Corfu: A Platform for Scalable Consistency | |
Ehsan ul Haque | Persistence and Node FailureRecovery in Strongly Consistent Key-Value Datastore | |
Xia | ConCORD: Tracking and Exploiting Cross-Node Memory Content Redundancy in Large-Scale Parallel Systems | |
Alvaro et al. | BoomFS: A declarative approach to building distributed file systems | |
It et al. | Electrical Engineering and Computer Science Department |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180629 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190709 |
|
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: 20191023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191119 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6621470 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 |