JP2000330805A - バーチャル・データ処理エンティティの提供方法、システムおよび記憶媒体 - Google Patents
バーチャル・データ処理エンティティの提供方法、システムおよび記憶媒体Info
- Publication number
- JP2000330805A JP2000330805A JP2000119943A JP2000119943A JP2000330805A JP 2000330805 A JP2000330805 A JP 2000330805A JP 2000119943 A JP2000119943 A JP 2000119943A JP 2000119943 A JP2000119943 A JP 2000119943A JP 2000330805 A JP2000330805 A JP 2000330805A
- Authority
- JP
- Japan
- Prior art keywords
- heap
- dedicated
- application program
- application
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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/44557—Code layout in executable memory
- G06F9/44563—Sharing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
用でき、再使用可能なバーチャル・マシンを提供するこ
と。 【解決手段】 この環境は、共用ヒープを含み、バーチ
ャル・マシンを「作動可能」モードにするために必要な
ランタイム・クラスがそこでロード、リンク、検証、初
期設定およびコンパイルされる。それ以降のバーチャル
・マシンは起動されると、共用ヒープを共同で使用す
る。アプリケーションは、それぞれのアプリケーション
用に排他的に予約されている「専用ヒープ」内にそのオ
ブジェクトを作成する。アプリケーションの実行終了時
に、各専用ヒープが再初期設定される。静的イニシアラ
イザが、各専用ヒープの持続区域内で実行される。この
持続区域はアプリケーションの実行の間にその初期値に
リセットされる。これにより、バーチャル・マシンを終
了させる必要がなくなる。
Description
タ処理マシンに関し、詳細にはそのようなバーチャル・
データ処理マシンが呼び出し中にその状態を保持できる
ようにし、初期設定およびランタイムのコストを削減
し、ガーベッジの収集およびプロセスの終了を避け、ア
プリケーションのセキュリティ、分離および可用性の向
上をもたらす方法および装置に関する。
ンをロードおよび実行する目的でプロセス内で作成され
る。周知のように、プロセスは特定のプログラムに割り
振られているリソースを実行時に分離し、複数のプログ
ラムが互いに実行を妨害しないようにする。アプリケー
ション・プログラムの実行終了時に、プロセス全体が破
壊(tear down)される。
増加にともない、次のアプリケーション・プログラムの
実行ができるようにバーチャル・マシンを維持すること
が望まれるようになっている。これにより、プロセスの
破壊(tear down)および起動の高いコストを節減する
ことができる。例えば、従来の技術によるコンピュータ
・システムは、バーチャル・マシンおよびプロセスを再
確立するために500万行ないし4,000万行のコー
ドの実行を必要とすることがある。長期間使用でき再使
用可能なバーチャル・マシンを使用することによって、
コンピューティング機能の使用に関して費用のかかる、
クラス・リンク、ロード、初期設定のコストも節減され
る。アプリケーションごとのバーチャル・マシン環境の
生成を避けると、システムが管理できるアプリケーショ
ンの量とスループットも増加する。
であり、アプリケーションの完了時に開始し終了する。
存在するバーチャル・マシンの状態を保持する様々な方
法が、従来の技術によって提案されてきた。提案された
1つの解決策は、バーチャル・マシン・プロセスのプー
ルを維持することである。もう1つの方法は、バーチャ
ル・マシンの状態に「チェック・ポイント」を設ける
(すなわち、マシンが設定したすべてのマシン値のコピ
ーを、後で使用できるように維持する)ことである。も
う1つの解決方法は、バーチャル・マシンのプールを維
持し、あるバーチャル・マシン内で作成されたオブジェ
クトを別のバーチャル・マシンの「ヒープ」(すなわち
メモリの割り振られた区域)に送ることである。
とは、バーチャル・マシンの初期設定パスの長さを減少
させるものではない。以前に作成されたバーチャル・マ
シンにおけるアプリケーション・プログラムのスケジュ
ーリングによって、クライアント要求のパスの長さは隠
れるが、クラス・リンク、ロード、または初期設定要件
は軽減されず、また各アプリケーションごとにプロセス
を生成(bring up)および破壊(tear down)する必要
もなくならない。
イントを設け、それを新たなプロセスに適用するには、
ポインタおよびオフセットの再調整が必要となるが、そ
れはパスの長さにおいてコストがかかり、またプロセス
が管理(command)するアドレスの範囲が保証できない
システムでは不可能となりうる。
のアプリケーションに再使用して、バーチャル・マシン
内で続いて実行される各アプリケーションのクリーン・
ヒープおよびメモリの書込み可能区域(すなわち、割り
当てられた整数値で事前定義されたフィールド)は保証
されない。
プリケーション・プログラムを正しいバーチャル・マシ
ンに「機能発送(function shipping)する」、または
正しいオブジェクトを(アプリケーションが実行されて
いる)バーチャル・マシンに送るには、キャッシュ・コ
ヒーレンシ・スキーム(cache coherency scheme)が必
要であり、余分なオーバヘッドと、おそらくはアプリケ
ーションまたはオブジェクトをパスするためのネットワ
ーク・フローが生じる。さらに、このプロシージャは、
各バーチャル・マシンのメモリ・スペースに前のアプリ
ケーションによる値が残っていないことを保証するもの
ではない。
ーション・プログラムを実行するための、長期間使用で
き、再使用可能で、拡張可能なバーチャル・マシンを提
供することである。
ーション・プログラムによって設定された動的または静
的なメモリの値が残らないようにするために、バーチャ
ル・マシンを破壊(tear down)し、新たなバーチャル
・マシンを生成(bring up)する必要をなくすることで
ある。
マシンを一度初期設定し、以降のバーチャル・マシン・
プロセス全体でこの初期設定状態を再使用することであ
る。
ド、リンク、検証、コンパイルし、このクラス・データ
を以降のバーチャル・マシン・プロセス全体で再使用す
ることである。
ソッドを一度起動し、このクラス・データを以降のバー
チャル・マシン・プロセス全体で再使用することであ
る。
きるバーチャル・マシン内で複数のアプリケーションを
実行でき、各アプリケーションを相互に分離させて、バ
ーチャル・マシンの可用性を高めることである。
マシンの状態を専用と共用という別々のヒープに分離
し、これによりアプリケーションの分離、より効率的な
ガーベッジ収集およびバーチャル・マシンのランタイム
の拡張を可能にすることである。
の専用状態でガーベッジ収集の必要をなくすることであ
る。
有することのできるバーチャル・マシンのアーキテクチ
ャは、バーチャル・マシンを「作動可能(ready)」モ
ードにするために必要なランタイム・クラスがロード、
リンク、検証、初期設定およびコンパイルされる共用ヒ
ープを含む。それ以降のバーチャル・マシンは起動さ
れ、必要なシステム・クラスがすでにロードされ初期設
定されている共用ヒープの内容を使用する。アプリケー
ション・クラスは共用ヒープ内にロードされ、それ以降
のアプリケーションは、クラスを再ロード、再リンク、
再検証、再コンパイルするコストなしに、これらのクラ
スを再使用できるようになる。アプリケーション・プロ
グラムはそのオブジェクトを「専用ヒープ」内に生成す
る。アプリケーションの実行終了時に、専用ヒープが再
初期設定される。専用ヒープ上でガーベッジ収集(すな
わち、使用されていないメモリを見つける方法)を行う
必要がない。
続区域に維持される事前定義された値(以降「静的値」
と呼ぶ)を生成するメソッドである。各アプリケーショ
ンの実行ごとに、この持続区域は共通値にリセットされ
ず、その初期値にリセットされる。この動作により、バ
ーチャル・マシン・プロセスを終了する必要がなくな
る。アプリケーションが「誤挙動」した(すなわち、ス
レッド、ファイル・ディスクリプタなど、外部プロセス
に関係するリソースを開くまたは生成する)場合には、
これらのリソースの完全なクリーンアップを確実に行う
ため、バーチャル・マシン・プロセスは終了する。しか
し、共用ヒープは削除されず、それ以降のバーチャル・
マシンによって使用することができる。以降のこれらの
バーチャル・マシンでは、ランタイム初期設定に必要な
あらゆるクラス、または前に使用されたあらゆるアプリ
ケーション・クラスの再ロード、再リンク、再コンパイ
ル、再検証のオーバヘッドが節減される。
ドされると再びロードまたは初期設定する必要がないの
で、長期間使用でき再使用可能なバーチャル・マシンが
得られるという効果を有する。
ハードウェアまたはオペレーティング・システムの如何
に関わらず一貫した挙動を示す1組の関数を含むバーチ
ャル・マシンに関するものである。したがって、バーチ
ャル・マシンで実行されるアプリケーションは、オペレ
ーティング・システムまたはプラットフォームの不整
合、あるいは特有の機能を知っている必要はない。共用
関数(すなわちバーチャル・マシンのランタイム)およ
びアプリケーションによってロードされる新たな関数を
共用するために、メモリは、共用ヒープと専用ヒープに
明確に区分される。専用ヒープは1つのアプリケーショ
ンに排他的に割り振られたメモリ区域である。共用ヒー
プは、2つ以上のアプリケーションからアクセスできる
メモリ区域である。
2を示す概略図である。1つのヒープ4があり、すべて
のアプリケーションが同じプロセスで稼働する(すなわ
ち、一時に1つのアプリケーションのみがプロセスで稼
働できる)。この設計の欠点は、プロセス全体を終了し
新たなプロセスを生成(bring up)する以外に、現状で
はヒープを再初期設定するすべがない点である。プロセ
スで稼働しているどのユーザ・スレッド(例えば、プロ
シージャの現在の状態)も、他のユーザ・スレッドまた
は他のユーザ・スレッド・データを破壊したり、または
障害を起こしたりする可能性がある。ランタイム・オブ
ジェクトを割り振るための、シングル・ヒープ4の空き
スペースを回復するためにガーベッジ収集が必要とされ
る。複数のバーチャル・マシンのプロセス間での、クラ
ス・ロードおよびリンクの共用またはアモタイズ(amor
tizatin)はない。複数のバーチャル・マシンのプロセ
ス間でのバーチャル・マシン初期設定の共用またはアモ
タイズもない。
ータ・システム10を示すブロック図である。中央演算
処理装置(CPU)12は、バス・システム14を介し
て、システム10の動作全体ならびにディスク・ドライ
ブ16に格納されているデータおよびプログラムとメモ
リ18に格納されているデータおよびプログラムを制御
する。オペレーティング・システム20はCPU12の
動作を制御し、以下で説明する様々なプロシージャを実
行する。
メモリ18内にあり、それぞれに関連するプロセス26
および28も同様である。各プロセスは、専用ヒープと
して使用するためのメモリ18の領域を割り振る。こう
して、アプリケーション22は専用ヒープ30に関連付
けられ、専用ヒープ30は、リセット可能部分32およ
び持続部分34からなる。リセット可能部分32は、ア
プリケーション特有のコードを格納するために使用さ
れ、持続部分34は静的値、すなわちアプリケーション
・プログラムを初期設定状態にするための事前定義され
た値を格納する。同様に、アプリケーション24は、リ
セット可能部分38および持続部分40を含む専用ヒー
プ36に関連付けられる。
部分46を含む共用ヒープ42もまたメモリ18内にあ
る。読取り専用部分44は、アプリケーション特有では
ないコード(例えば、ランタイム・クラス)を格納する
ために使用され、読取り/書込み部分は、競合を避ける
ために適切なロック・プロテクションを使用して、アプ
リケーション22または24が読取りまたは書込みをす
るためのメモリの区域を提供する。専用ヒープ30はア
プリケーション22からのみアクセスでき、専用ヒープ
36はアプリケーション24からのみアクセスできる
が、共用ヒープ42はアプリケーション22および24
の両方からアクセスすることができる。
モリにロードされ、実行の準備ができているものと仮定
する。ただ、必要に応じて選択的にシステム10にロー
ドすることのできるこのようなプログラムをメモリ装置
47に組み込むことができることを理解されたい。
プ30、36を有するバーチャル・マシン50および5
2を示している。ランタイム・クラスは共用ヒープ42
にロードおよびリンクされ、したがってバーチャル・マ
シン50および52がそれを使用することができる。こ
れにより、それ以降のバーチャル・マシンのために、初
期設定に必要なシステム・クラスおよびアプリケーショ
ンに必要なクラスを再ロード、再リンク、再検証、およ
び再初期設定する必要がなくなる。専用ヒープ30およ
び36はそれぞれ、バーチャル・マシンにより実行され
るアプリケーション特有のオブジェクト・インスタンス
を格納するために使用される。専用ヒープの分離によ
り、可用性が向上し、異なるアプリケーションによって
生成され使用されるデータ間の分離が可能となる。
必要はない。アプリケーションの実行終了時に、関連す
る専用ヒープがその初期状態にリセットされる。アプリ
ケーションの「誤挙動」により、バーチャル・マシンが
終了することもあるが(すなわち、外部リソースに関連
するもの)、共用ヒープ42は引き続きそれ以降のバー
チャル・マシンに使用可能である。これにより、長期間
使用でき再使用可能なバーチャル・マシンの機能が提供
される。
で相互に分離される。それらのデータが分離された専用
ヒープに格納されるのみならず、静的値およびプロセス
関連リソース(例えば、ファイル・ディスクリプタ、デ
ータベース接続)を保持する書込み可能区域も分離され
る。このプロセス分離により、可用性およびスケーラビ
リティが向上する。
専用ヒープ区域30をより詳細に示している。アプリケ
ーションにより生成されるランタイム・オブジェクトは
専用ヒープ30に格納され、また静的初期設定メソッド
により生成されるオブジェクトおよび値も同様である。
専用ヒープ30は、静的初期設定メソッドにより生成さ
れるオブジェクトおよび値を保持する持続区域34と、
アプリケーション・オブジェクト(すなわち、非静的イ
ニシアライザ・コードにより生成されるオブジェクト)
が生成されるリセット可能区域32の2つの領域に分け
られる。
ラスに対する静的イニシアライザ・コードは一度だけ実
行される。静的イニシアライザ・コードは、アプリケー
ション・コードを表しているため、アプリケーション・
プログラムが行えることはほとんど行うことができる。
例えば、他のクラスのメソッドを起動すること、オブジ
ェクトを作成すること、そのクラス(また適切なアクセ
ス権限がある場合には他のクラス)の静的変数を設定す
ることができる。作業要求の実行が開始されると、静的
変数を更新し、あるいは静的変数によって固定(ancho
r)されたオブジェクト・フィールドを更新することも
できる。
他のバーチャル・マシン・インスタンスは、それらがそ
れ自体の専用のバーチャル・マシン内で稼働しており、
他のバーチャル・マシン・インスタンスによる影響を受
けないことを知覚する、この認識(illusion)を保持す
るために、各バーチャル・マシンには、それ自体の静的
値の「コピー」を論理的に与えなければならない。バー
チャル・マシンが静的値を更新した後は、それ自体で使
用するための別の物理的コピーを有さなければならな
い。
にロードされているクラスに対して)初期設定すると
き、または作業要求の実行が開始され、新たなクラスが
バーチャル・マシン・インスタンスによってロードされ
た後、別の物理的コピーが割り当てられる。したがっ
て、適切と判断されるときに更新を行うために、各バー
チャル・マシンはそれぞれの非最終的静的変数のそれ自
体のコピーを有する。しかし、そのような各静的変数の
「初期」値は、バックアップ・アレイの静的イニシアラ
イザ・ルーチンから戻されるときまず複製され、それに
より、次の作業要求は、「初期」値に設定された静的変
数から開始することができる。
である静的変数については、これは簡単である。しか
し、静的変数がオブジェクトまたはアレイ参照であるこ
ともあり、その場合には、オブジェクトまたはアレイ自
体に対するデータの初期値を取り込まなければならな
い。静的イニシアライザ・ルーチンによって割り振られ
たオブジェクトまたはアレイが実際に静的変数によって
参照されるかどうかを、ランタイム・ルーチンは知らな
いため、最悪のケースを想定しそれが起こるものと仮定
しなければならない。したがって、静的イニシアライザ
・ルーチンによって割り振られたすべてのオブジェクト
またはアレイは専用ヒープ30内の静的データに対する
持続部分34から割り振られる(スペースがある場
合)。
に、新たな静的データがバックアップ区域にコピーされ
る。各作業要求が完了するとき、このバックアップ区域
が、専用ヒープの持続データ区域内のオブジェクトおよ
びアレイをリフレッシュするために使用される。
ン・クラスに関係する静的データのためにどれだけのス
ペースが必要とされるかを前もって知ることができない
ことである。共用ヒープ42内にロードされるシステム
・クラスについてはこれは知ることができることに留意
されたい。その解決策は、バーチャル・マシン・ランタ
イム・ルーチンのための持続記憶域34を使用して、所
与の時点でどれだけの静的データが使用されているかを
追跡することである。
ときに、専用ヒープ34に割り振られた記憶域がクリア
され、その記憶域のサイズがバーチャル・マシン生成メ
ソッドに入力として渡される。作業要求によりプロセス
が終了するときは常に、サブシステムがバーチャル・マ
シンを再生成し、持続記憶域のサイズを渡す。アプリケ
ーションがリソース(例えば、スレッド、オープン・フ
ァイル、ストーレッジ)を残している可能性があるとき
には、バーチャル・マシン・ランタイム・プロセスはプ
ロセスを強制的に終了させる。
静的イニシアライザを再実行する必要がなくなる。専用
ヒープ30内の区域32は非持続性である。非持続区域
32は、アプリケーションの存続時間を越えては必要と
されないアプリケーション・データ・オブジェクトを保
持する。アプリケーションの終了時に、プロセス終了が
必要でない(すなわち、アプリケーションが正しく挙動
している)場合、専用ヒープ30全体が再初期設定され
る。リセット可能区域32は「クリーン」値に設定され
(例えば、=0)、持続区域34は初期静的イニシアラ
イザ値に設定される。この一般的なケースの場合、これ
によりアプリケーションの専用データのためのガーベッ
ジ収集は必要でなくなる。正しく挙動するアプリケーシ
ョンでは、専用ヒープ30の使用により、プロセス終了
の必要がなくなり、前のアプリケーションから残されて
いる値がないことが保証され、各アプリケーションごと
に静的イニシアライザを再実行する必要がなくなる。
マシン環境を拡張するために使用される専用ヒープ60
を、より詳細に示している。特定のアプリケーション、
プラットフォームまたは機能に適合するように修正され
たシステムまたはアプリケーション・クラスでは、専用
ヒープ60へのそれらのクラスのロード、リンク、検証
およびコンパイルにより、その1つのアプリケーション
のためのバーチャル・マシン環境が拡張される。修正さ
れたクラスを専用ヒープ60に挿入することにより、ラ
ンタイムの調整が可能になる。さらにそれにより、バー
チャル・マシンのランタイム・ルーチン(共用ヒープに
格納されている)を構成するクラスのセットを丸ごと再
構築、再ロード、再リンク、再コンパイルする必要がな
くなる。ただ、1つ(または複数)のクラスを修正し、
専用ヒープに入れるだけでよい。
プおよび方法を示す流れ図である。
の事項を開示する。
ュータで実行される複数のアプリケーション・プログラ
ムによって再使用可能なバーチャル・データ処理エンテ
ィティを提供する方法であって、前記複数のアプリケー
ション・プログラムが使用できるように共用ヒープを割
り振るステップであって、前記共用ヒープが、前記複数
のアプリケーション・プログラムによってアクセス可能
なメモリ区域を含むステップと、前記コンピュータのラ
ンタイム・オペレーションを制御するために使用され
る、アプリケーション・プログラムに特有ではないコー
ドを、前記共用ヒープ内に格納するステップと、前記複
数のアプリケーション・プログラムの各アプリケーショ
ン・プログラムに専用ヒープを割り振るステップであっ
て、前記専用ヒープが、それぞれのアプリケーション・
プログラムが排他的に使用するために予約されるメモリ
区域を含むステップと、前記各専用ヒープが関連付けら
れている、それぞれの各アプリケーション・プログラム
のアプリケーション・プログラム特有のデータを、前記
専用ヒープのそれぞれに格納するステップと、アプリケ
ーション・プログラムの実行完了時に、関連する専用ヒ
ープに格納された値を初期状態にリセットし、後で使用
できるように前記共用ヒープの内容を保存し、それによ
り、その再リンク、再検証、再コンバイルまた再ロード
を行う必要なく、前記共用ヒープに格納されたコードを
再使用可能にするステップと、後でアプリケーション・
プログラムが使用できるように、前記バーチャル・マシ
ンを定義するデータを保存するステップとを含む方法。 (2)前記専用ヒープのそれぞれが、静的イニシアライ
ザ値を含む持続部分を含み、初期静的イニシアライザ値
をそこに入力することにより、前記リセットするステッ
プが初期状態を再生成する、上記(1)に記載の方法。 (3)前記専用ヒープのそれぞれが、初期状態が共通値
であるリセット可能部分を含む、上記(2)に記載の方
法。 (4)アプリケーション・データの分離が行えるよう、
アプリケーション・プログラム関連コードを関連する専
用ヒープに格納するように各アプリケーション・プログ
ラムを制御するステップをさらに含む、上記(1)に記
載の方法。 (5)アプリケーションの実行を成功させるために前記
コンピュータのランタイム・オペレーションの修正に必
要とされる、アプリケーション・プログラムに特有では
ないコードを、前記専用ヒープに格納するステップをさ
らに含む、上記(1)に記載の方法。 (6)前記専用ヒープのそれぞれが、初期状態が共通値
であるリセット可能部分を含み、ランタイム・オペレー
ションの修正に必要とされる、前記アプリケーション・
プログラムに特有ではないコードがそこに格納される、
上記(5)に記載の方法。 (7)コンピュータにおいて、前記コンピュータで実行
される複数のアプリケーション・プログラムによって再
使用可能なバーチャル・データ処理エンティティを提供
するための記憶媒体であって、 a)前記複数のアプリケーション・プログラムが使用で
きるよう共用ヒープを割り振るように前記コンピュータ
を制御する手段であって、前記共用ヒープが、前記複数
のアプリケーション・プログラムによってアクセス可能
なメモリ区域を含む手段と、 b)前記コンピュータのランタイム・オペレーションを
制御するために使用される、アプリケーション・プログ
ラムに特有ではないコードを、前記共用ヒープに格納す
るように前記コンピュータを制御する手段と、 c)前記複数のアプリケーション・プログラムのそれぞ
れのアプリケーション・プログラムに専用ヒープを割り
振るように前記コンピュータを制御する手段であって、
前記共用ヒープが、各アプリケーション・プログラムに
よる排他的使用のために予約されたメモリ区域を含む手
段と、 d)前記各専用ヒープが関連付けられているそれぞれの
アプリケーション・プログラムのアプリケーション・プ
ログラム特有のデータを、前記専用ヒープのそれぞれに
格納するように前記コンピュータを制御する手段と、 e)アプリケーション・プログラムの実行完了時に、関
連する専用ヒープに格納された値を初期状態にリセット
し、後で使用できるよう共用ヒープの内容を保存するよ
うに前記コンピュータを制御する手段と、 f)後でアプリケーション・プログラムが使用できるよ
う、前記バーチャル・マシンを定義するデータを保存す
るように前記コンピュータを制御する手段とを含む記憶
媒体。 (8)前記専用ヒープのそれぞれが、静的イニシアライ
ザ値を含む持続部分を含み、前記手段e)が初期静的イ
ニシアライザ値を入力することにより、初期状態を再生
成するように前記コンピュータを制御する、上記(7)
に記載の記憶媒体。 (9)前記専用ヒープのそれぞれが、初期状態が共通値
であるリセット可能部分を含む、上記(8)に記載の記
憶媒体。 (10)g)アプリケーション・データ間の分離が行え
るよう、アプリケーション・プログラム関連コードを関
連する専用ヒープに格納するように、前記コンピュータ
を制御する手段をさらに含む、上記(7)に記載の記憶
媒体。 (11)g)アプリケーションの実行を成功させるため
に、前記コンピュータのランタイム・オペレーションの
修正に必要とされる、アプリケーション・プログラムに
特有ではないコードを前記専用ヒープに格納するように
前記コンピュータを制御する手段をさらに含む、上記
(7)に記載の記憶媒体。 (12)前記専用ヒープのそれぞれが、初期状態が共通
値であるリセット可能部分を含み、ランタイム・オペレ
ーションの修正に必要とされる、前記アプリケーション
・プログラムに特有ではないコードがそこに格納され
る、上記(11)に記載の記憶媒体。 (13)コンピュータにおいて、前記コンピュータで実
行される複数のアプリケーション・プログラムによって
再使用可能なバーチャル・データ処理エンティティを提
供するシステムであって、中央演算処理装置(CP
U)、ランダム・アクセス・メモリ(RAM)、および
前記CPUの動作を制御するための、前記RAMに格納
されたコードを含み、前記複数のアプリケーション・プ
ログラムが使用できるように共用ヒープを割り振る手段
であって、前記共用ヒープが、前記複数のアプリケーシ
ョン・プログラムによってアクセス可能なメモリ区域を
含む手段と、前記コンピュータのランタイム・オペレー
ションを制御するために使用される、アプリケーション
・プログラムに特有ではないコードを、前記共用ヒープ
内に格納する手段と、前記複数のアプリケーション・プ
ログラムの各アプリケーション・プログラムに専用ヒー
プを割り振る手段であって、前記共用ヒープが、各アプ
リケーション・プログラムが排他的に使用するために予
約されたメモリ区域を含む手段と、前記各専用ヒープが
関連付けられているそれぞれのアプリケーション・プロ
グラムのアプリケーション・プログラム特有のデータ
を、前記専用ヒープのそれぞれに格納する手段と、アプ
リケーション・プログラムの実行完了時に、関連する専
用ヒープに格納された値を初期状態にリセットし、後で
使用できるように、前記共用ヒープの内容を保存する手
段と、後でアプリケーション・プログラムが使用できる
ように、前記バーチャル・マシンを定義するデータを保
存する手段とを含むシステム。 (14)前記専用ヒープのそれぞれが、静的イニシアラ
イザ値を含む持続部分を含み、初期静的イニシアライザ
値をそこに入力することにより、前記リセットする手段
が初期状態を再生成する、上記(13)に記載のシステ
ム。 (15)前記専用ヒープのそれぞれが、初期状態が共通
値であるリセット可能部分を含む、上記(14)に記載
のシステム。 (16)アプリケーション・データの分離が行えるよ
う、アプリケーション・プログラム関連コードを関連す
る専用ヒープに格納するように各アプリケーション・プ
ログラムを制御する手段をさらに含む、上記(13)に
記載のシステム。 (17)アプリケーションの実行を成功させるために前
記コンピュータのランタイム・オペレーションの修正に
必要とされる、アプリケーション・プログラムに特有で
はないコードを前記専用ヒープに格納する手段をさらに
含む、上記(13)に記載のシステム。 (18)前記専用ヒープのそれぞれが、初期状態が共通
値であるリセット可能部分を含み、ランタイム・オペレ
ーションの修正に必要とされる、前記アプリケーション
・プログラムに特有ではないコードがそこに格納され
る、上記(17)に記載のシステム。
である。
ムを示すブロック図である。
のシステムによって構成されるバーチャル・マシンを示
す図である。
明するための、専用ヒープをより詳細に示す図である。
ション・クラスを説明するための、専用ヒープをより詳
細に示す図である。
Claims (18)
- 【請求項1】コンピュータにおいて、前記コンピュータ
で実行される複数のアプリケーション・プログラムによ
って再使用可能なバーチャル・データ処理エンティティ
を提供する方法であって、 前記複数のアプリケーション・プログラムが使用できる
ように共用ヒープを割り振るステップであって、前記共
用ヒープが、前記複数のアプリケーション・プログラム
によってアクセス可能なメモリ区域を含むステップと、 前記コンピュータのランタイム・オペレーションを制御
するために使用される、アプリケーション・プログラム
に特有ではないコードを、前記共用ヒープ内に格納する
ステップと、 前記複数のアプリケーション・プログラムの各アプリケ
ーション・プログラムに専用ヒープを割り振るステップ
であって、前記専用ヒープが、それぞれのアプリケーシ
ョン・プログラムが排他的に使用するために予約される
メモリ区域を含むステップと、 前記各専用ヒープが関連付けられている、それぞれの各
アプリケーション・プログラムのアプリケーション・プ
ログラム特有のデータを、前記専用ヒープのそれぞれに
格納するステップと、 アプリケーション・プログラムの実行完了時に、関連す
る専用ヒープに格納された値を初期状態にリセットし、
後で使用できるように前記共用ヒープの内容を保存し、
それにより、その再リンク、再検証、再コンバイルまた
再ロードを行う必要なく、前記共用ヒープに格納された
コードを再使用可能にするステップと、 後でアプリケーション・プログラムが使用できるよう
に、前記バーチャル・マシンを定義するデータを保存す
るステップとを含む方法。 - 【請求項2】前記専用ヒープのそれぞれが、静的イニシ
アライザ値を含む持続部分を含み、初期静的イニシアラ
イザ値をそこに入力することにより、前記リセットする
ステップが初期状態を再生成する、請求項1に記載の方
法。 - 【請求項3】前記専用ヒープのそれぞれが、初期状態が
共通値であるリセット可能部分を含む、請求項2に記載
の方法。 - 【請求項4】アプリケーション・データの分離が行える
よう、アプリケーション・プログラム関連コードを関連
する専用ヒープに格納するように各アプリケーション・
プログラムを制御するステップをさらに含む、請求項1
に記載の方法。 - 【請求項5】アプリケーションの実行を成功させるため
に前記コンピュータのランタイム・オペレーションの修
正に必要とされる、アプリケーション・プログラムに特
有ではないコードを、前記専用ヒープに格納するステッ
プをさらに含む、請求項1に記載の方法。 - 【請求項6】前記専用ヒープのそれぞれが、初期状態が
共通値であるリセット可能部分を含み、ランタイム・オ
ペレーションの修正に必要とされる、前記アプリケーシ
ョン・プログラムに特有ではないコードがそこに格納さ
れる、請求項5に記載の方法。 - 【請求項7】コンピュータにおいて、前記コンピュータ
で実行される複数のアプリケーション・プログラムによ
って再使用可能なバーチャル・データ処理エンティティ
を提供するための記憶媒体であって、 a)前記複数のアプリケーション・プログラムが使用で
きるよう共用ヒープを割り振るように前記コンピュータ
を制御する手段であって、前記共用ヒープが、前記複数
のアプリケーション・プログラムによってアクセス可能
なメモリ区域を含む手段と、 b)前記コンピュータのランタイム・オペレーションを
制御するために使用される、アプリケーション・プログ
ラムに特有ではないコードを、前記共用ヒープに格納す
るように前記コンピュータを制御する手段と、 c)前記複数のアプリケーション・プログラムのそれぞ
れのアプリケーション・プログラムに専用ヒープを割り
振るように前記コンピュータを制御する手段であって、
前記共用ヒープが、各アプリケーション・プログラムに
よる排他的使用のために予約されたメモリ区域を含む手
段と、 d)前記各専用ヒープが関連付けられているそれぞれの
アプリケーション・プログラムのアプリケーション・プ
ログラム特有のデータを、前記専用ヒープのそれぞれに
格納するように前記コンピュータを制御する手段と、 e)アプリケーション・プログラムの実行完了時に、関
連する専用ヒープに格納された値を初期状態にリセット
し、後で使用できるよう共用ヒープの内容を保存するよ
うに前記コンピュータを制御する手段と、 f)後でアプリケーション・プログラムが使用できるよ
う、前記バーチャル・マシンを定義するデータを保存す
るように前記コンピュータを制御する手段とを含む記憶
媒体。 - 【請求項8】前記専用ヒープのそれぞれが、静的イニシ
アライザ値を含む持続部分を含み、前記手段e)が初期
静的イニシアライザ値を入力することにより、初期状態
を再生成するように前記コンピュータを制御する、請求
項7に記載の記憶媒体。 - 【請求項9】前記専用ヒープのそれぞれが、初期状態が
共通値であるリセット可能部分を含む、請求項8に記載
の記憶媒体。 - 【請求項10】g)アプリケーション・データ間の分離
が行えるよう、アプリケーション・プログラム関連コー
ドを関連する専用ヒープに格納するように、前記コンピ
ュータを制御する手段をさらに含む、請求項7に記載の
記憶媒体。 - 【請求項11】g)アプリケーションの実行を成功させ
るために、前記コンピュータのランタイム・オペレーシ
ョンの修正に必要とされる、アプリケーション・プログ
ラムに特有ではないコードを前記専用ヒープに格納する
ように前記コンピュータを制御する手段をさらに含む、
請求項7に記載の記憶媒体。 - 【請求項12】前記専用ヒープのそれぞれが、初期状態
が共通値であるリセット可能部分を含み、ランタイム・
オペレーションの修正に必要とされる、前記アプリケー
ション・プログラムに特有ではないコードがそこに格納
される、請求項11に記載の記憶媒体。 - 【請求項13】コンピュータにおいて、前記コンピュー
タで実行される複数のアプリケーション・プログラムに
よって再使用可能なバーチャル・データ処理エンティテ
ィを提供するシステムであって、中央演算処理装置(C
PU)、ランダム・アクセス・メモリ(RAM)、およ
び前記CPUの動作を制御するための、前記RAMに格
納されたコードを含み、 前記複数のアプリケーション・プログラムが使用できる
ように共用ヒープを割り振る手段であって、前記共用ヒ
ープが、前記複数のアプリケーション・プログラムによ
ってアクセス可能なメモリ区域を含む手段と、 前記コンピュータのランタイム・オペレーションを制御
するために使用される、アプリケーション・プログラム
に特有ではないコードを、前記共用ヒープ内に格納する
手段と、 前記複数のアプリケーション・プログラムの各アプリケ
ーション・プログラムに専用ヒープを割り振る手段であ
って、前記共用ヒープが、各アプリケーション・プログ
ラムが排他的に使用するために予約されたメモリ区域を
含む手段と、 前記各専用ヒープが関連付けられているそれぞれのアプ
リケーション・プログラムのアプリケーション・プログ
ラム特有のデータを、前記専用ヒープのそれぞれに格納
する手段と、 アプリケーション・プログラムの実行完了時に、関連す
る専用ヒープに格納された値を初期状態にリセットし、
後で使用できるように、前記共用ヒープの内容を保存す
る手段と、 後でアプリケーション・プログラムが使用できるよう
に、前記バーチャル・マシンを定義するデータを保存す
る手段とを含むシステム。 - 【請求項14】前記専用ヒープのそれぞれが、静的イニ
シアライザ値を含む持続部分を含み、初期静的イニシア
ライザ値をそこに入力することにより、前記リセットす
る手段が初期状態を再生成する、請求項13に記載のシ
ステム。 - 【請求項15】前記専用ヒープのそれぞれが、初期状態
が共通値であるリセット可能部分を含む、請求項14に
記載のシステム。 - 【請求項16】アプリケーション・データの分離が行え
るよう、アプリケーション・プログラム関連コードを関
連する専用ヒープに格納するように各アプリケーション
・プログラムを制御する手段をさらに含む、請求項13
に記載のシステム。 - 【請求項17】アプリケーションの実行を成功させるた
めに前記コンピュータのランタイム・オペレーションの
修正に必要とされる、アプリケーション・プログラムに
特有ではないコードを前記専用ヒープに格納する手段を
さらに含む、請求項13に記載のシステム。 - 【請求項18】前記専用ヒープのそれぞれが、初期状態
が共通値であるリセット可能部分を含み、ランタイム・
オペレーションの修正に必要とされる、前記アプリケー
ション・プログラムに特有ではないコードがそこに格納
される、請求項17に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/304,160 US6694346B1 (en) | 1999-04-30 | 1999-04-30 | Long running, reusable, extendible, virtual machine |
US09/304160 | 1999-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000330805A true JP2000330805A (ja) | 2000-11-30 |
JP4107630B2 JP4107630B2 (ja) | 2008-06-25 |
Family
ID=23175333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000119943A Expired - Lifetime JP4107630B2 (ja) | 1999-04-30 | 2000-04-20 | バーチャル・データ処理エンティティの提供方法、システムおよび記憶媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6694346B1 (ja) |
JP (1) | JP4107630B2 (ja) |
KR (1) | KR100368347B1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009543236A (ja) * | 2006-07-14 | 2009-12-03 | インテル コーポレイション | マルチタスク仮想マシンのためのヒープ組織 |
JP2013058270A (ja) * | 2012-12-28 | 2013-03-28 | Intel Corp | マルチタスク仮想マシンのためのヒープ組織 |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7134123B1 (en) * | 2000-05-31 | 2006-11-07 | International Business Machines Corporation | Virtual machine with reset operation |
US6957237B1 (en) * | 2000-06-02 | 2005-10-18 | Sun Microsystems, Inc. | Database store for a virtual heap |
US6934755B1 (en) | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
GB0027045D0 (en) * | 2000-11-06 | 2000-12-20 | Ibm | Computer system with heap reset |
US7246135B2 (en) * | 2001-01-08 | 2007-07-17 | Intel Corporation | Sharing classes between programs |
US6978447B1 (en) * | 2001-02-28 | 2005-12-20 | Cisco Technology, Inc. | Method and system for efficiently interpreting a computer program |
GB0115965D0 (en) * | 2001-06-29 | 2001-08-22 | Ibm | Computer system for detecting object updates |
US7093086B1 (en) | 2002-03-28 | 2006-08-15 | Veritas Operating Corporation | Disaster recovery and backup using virtual machines |
US7603670B1 (en) | 2002-03-28 | 2009-10-13 | Symantec Operating Corporation | Virtual machine transfer between computer systems |
US7213246B1 (en) | 2002-03-28 | 2007-05-01 | Veritas Operating Corporation | Failing over a virtual machine |
US6757778B1 (en) | 2002-05-07 | 2004-06-29 | Veritas Operating Corporation | Storage management system |
JP3857259B2 (ja) * | 2002-08-14 | 2006-12-13 | 日本電信電話株式会社 | オブジェクト状態転送方法,オブジェクト状態転送装置およびオブジェクト状態転送プログラム並びにそのプログラムの記録媒体 |
US20040123289A1 (en) * | 2002-12-20 | 2004-06-24 | Drews Paul C | Multi-processing inside a virtual machine |
US7051324B2 (en) * | 2003-01-16 | 2006-05-23 | International Business Machines Corporation | Externalized classloader information for application servers |
US7082509B2 (en) * | 2003-02-06 | 2006-07-25 | Intel Corporation | Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time |
US7203944B1 (en) * | 2003-07-09 | 2007-04-10 | Veritas Operating Corporation | Migrating virtual machines among computer systems to balance load caused by virtual machines |
US7404067B2 (en) * | 2003-09-08 | 2008-07-22 | Intel Corporation | Method and apparatus for efficient utilization for prescient instruction prefetch |
US7246200B1 (en) | 2003-11-12 | 2007-07-17 | Veritas Operating Corporation | Provisioning and snapshotting using copy on read/write and transient virtual machine technology |
US7810092B1 (en) | 2004-03-02 | 2010-10-05 | Symantec Operating Corporation | Central administration and maintenance of workstations using virtual machines, network filesystems, and replication |
US20060179428A1 (en) * | 2005-02-10 | 2006-08-10 | Kiyokuni Kawachiya | Method and system for efficiently starting a JAVA application |
DE102005008796A1 (de) * | 2005-02-25 | 2006-08-31 | Siemens Ag | Mobiles Endgerät für eine Mehrzahl von Applikationen, die verschiedene virtuelle Maschinen voraussetzen und Verfahren zum Aufrufen einer Mehrzahl von Applikationen |
US7478278B2 (en) * | 2005-04-14 | 2009-01-13 | International Business Machines Corporation | Template based parallel checkpointing in a massively parallel computer system |
US7962707B2 (en) * | 2005-07-06 | 2011-06-14 | Honeywell International Inc. | Apparatus and method for deterministic garbage collection of a heap memory |
US7827373B2 (en) * | 2005-10-31 | 2010-11-02 | Honeywell International Inc. | System and method for managing a short-term heap memory |
US8255922B1 (en) * | 2006-01-09 | 2012-08-28 | Oracle America, Inc. | Mechanism for enabling multiple processes to share physical memory |
WO2008017204A1 (en) * | 2006-08-01 | 2008-02-14 | Intel Corporation | Heap manager for a multitasking virtual machine |
US7984483B2 (en) * | 2007-04-25 | 2011-07-19 | Acxess, Inc. | System and method for working in a virtualized computing environment through secure access |
US8046540B2 (en) * | 2007-04-26 | 2011-10-25 | Sap Ag | Shared closures on demand |
US8140978B2 (en) * | 2008-01-16 | 2012-03-20 | International Business Machines Corporation | System and method for providing information in a virtual world |
US8577845B2 (en) * | 2008-06-13 | 2013-11-05 | Symantec Operating Corporation | Remote, granular restore from full virtual machine backup |
US9286080B2 (en) * | 2008-07-02 | 2016-03-15 | Hewlett-Packard Development Company, L.P. | Memory management for hypervisor loading |
US20100011357A1 (en) * | 2008-07-13 | 2010-01-14 | International Business Machines Corporation | System and method for garbage collection in a virtual machine |
US8843742B2 (en) | 2008-08-26 | 2014-09-23 | Hewlett-Packard Company | Hypervisor security using SMM |
US7904914B2 (en) * | 2008-09-30 | 2011-03-08 | Microsoft Corporation | On-the-fly replacement of physical hardware with emulation |
TW201027378A (en) * | 2009-01-08 | 2010-07-16 | Realtek Semiconductor Corp | Virtual platform and related simulation method |
US8527761B2 (en) * | 2010-05-28 | 2013-09-03 | Dell Products, Lp | System and method for fuse enablement of a secure client hosted virtualization in an information handling system |
US9075635B1 (en) * | 2010-07-26 | 2015-07-07 | Symantec Corporation | Systems and methods for merging virtual layers |
US9858133B2 (en) | 2010-09-20 | 2018-01-02 | Netflix, Inc. | Techniques for assessing the resiliency of a distribution computing service provided by a collection of interacting servers |
US8495630B2 (en) | 2010-11-03 | 2013-07-23 | International Business Machines Corporation | Transferring objects between virtual machines |
CN102541619B (zh) | 2010-12-23 | 2015-09-16 | 国际商业机器公司 | 虚拟机管理装置和方法 |
US9317324B2 (en) * | 2010-12-29 | 2016-04-19 | Apple Inc. | Automatic service lifecycle management |
KR101894752B1 (ko) | 2011-10-27 | 2018-09-05 | 삼성전자주식회사 | 가상 아키텍쳐 생성 장치, 런타임 시스템, 멀티 코어 시스템 및 그 동작 방법 |
US9813904B2 (en) | 2013-08-30 | 2017-11-07 | Dell Products, Lp | System and method of secure logon for shared devices |
US9634942B2 (en) | 2013-11-11 | 2017-04-25 | Amazon Technologies, Inc. | Adaptive scene complexity based on service quality |
US9582904B2 (en) | 2013-11-11 | 2017-02-28 | Amazon Technologies, Inc. | Image composition based on remote object data |
US9805479B2 (en) | 2013-11-11 | 2017-10-31 | Amazon Technologies, Inc. | Session idle optimization for streaming server |
US9596280B2 (en) | 2013-11-11 | 2017-03-14 | Amazon Technologies, Inc. | Multiple stream content presentation |
US9604139B2 (en) | 2013-11-11 | 2017-03-28 | Amazon Technologies, Inc. | Service for generating graphics object data |
US9578074B2 (en) | 2013-11-11 | 2017-02-21 | Amazon Technologies, Inc. | Adaptive content transmission |
US9641592B2 (en) | 2013-11-11 | 2017-05-02 | Amazon Technologies, Inc. | Location of actor resources |
US9471360B2 (en) | 2014-03-14 | 2016-10-18 | International Business Machines Corporation | Returning terminated virtual machines to a pool of available virtual machines to be reused thereby optimizing cloud resource usage and workload deployment time |
US10303782B1 (en) | 2014-12-29 | 2019-05-28 | Veritas Technologies Llc | Method to allow multi-read access for exclusive access of virtual disks by using a virtualized copy of the disk |
DE102015015735A1 (de) * | 2015-12-01 | 2017-06-01 | Giesecke & Devrient Gmbh | Teilnehmeridentitätsmodul mit mehreren Profilen und Heap-Speicher |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247681A (en) * | 1990-12-18 | 1993-09-21 | International Business Machines Corporation | Dynamic link libraries system and method |
US5375241A (en) * | 1992-12-21 | 1994-12-20 | Microsoft Corporation | Method and system for dynamic-link library |
US6363409B1 (en) * | 1995-04-24 | 2002-03-26 | Microsoft Corporation | Automatic client/server translation and execution of non-native applications |
US6167535A (en) * | 1997-12-09 | 2000-12-26 | Sun Microsystems, Inc. | Object heap analysis techniques for discovering memory leaks and other run-time information |
US5999732A (en) * | 1998-03-23 | 1999-12-07 | Sun Microsystems, Inc. | Techniques for reducing the cost of dynamic class initialization checks in compiled code |
US6332218B1 (en) * | 1998-06-30 | 2001-12-18 | Sun Microsystems, Inc. | System and method for automatically instantiating classes in a virtual machine |
-
1999
- 1999-04-30 US US09/304,160 patent/US6694346B1/en not_active Expired - Lifetime
-
2000
- 2000-04-20 JP JP2000119943A patent/JP4107630B2/ja not_active Expired - Lifetime
- 2000-04-28 KR KR10-2000-0022729A patent/KR100368347B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009543236A (ja) * | 2006-07-14 | 2009-12-03 | インテル コーポレイション | マルチタスク仮想マシンのためのヒープ組織 |
JP2013058270A (ja) * | 2012-12-28 | 2013-03-28 | Intel Corp | マルチタスク仮想マシンのためのヒープ組織 |
Also Published As
Publication number | Publication date |
---|---|
US6694346B1 (en) | 2004-02-17 |
JP4107630B2 (ja) | 2008-06-25 |
KR100368347B1 (ko) | 2003-01-24 |
KR20010007028A (ko) | 2001-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000330805A (ja) | バーチャル・データ処理エンティティの提供方法、システムおよび記憶媒体 | |
JP4783471B2 (ja) | クラスが有するメソッドを呼出して実行するコンピュータ・システムが行う方法 | |
US6970991B2 (en) | Computer system with virtual memory and paging mechanism | |
US7484067B1 (en) | System and method for ensuring non-interfering garbage collection in a real time multi-threaded environment | |
US9213562B2 (en) | Garbage collection safepoint system using non-blocking asynchronous I/O call to copy data when the garbage collection safepoint is not in progress or is completed | |
US7934204B2 (en) | Partitioning code in program code conversion | |
Geoffray et al. | I-JVM: a Java virtual machine for component isolation in OSGi | |
US20090024820A1 (en) | Memory Allocation For Crash Dump | |
JPH04268927A (ja) | メモリ管理方法 | |
CN107807839B (zh) | 一种修改虚拟机内存数据的方法、装置及电子设备 | |
KR20070083569A (ko) | 운영체제 | |
JPH05204656A (ja) | スレッド固有データ保持方法 | |
US20100058344A1 (en) | Accelerating a quiescence process of transactional memory | |
US20100057740A1 (en) | Accelerating a quiescence process of transactional memory | |
US6094664A (en) | Method and apparatus for optimizing the null pointer exception in an object-oriented programming environment with statically typed variables | |
CA2503184A1 (en) | Transitional resolution in a just in time environment | |
CN110968361A (zh) | 隔离沙箱加载方法 | |
Kawachiya et al. | Cloneable JVM: a new approach to start isolated java applications faster | |
JP2005063435A (ja) | ソフトウェアフォールトを封じ込める方法およびシステム | |
EP2080115A1 (en) | Automatic native generation | |
CN114090171A (zh) | 虚拟机创建方法、迁移方法及计算机可读介质 | |
US6275985B1 (en) | Method and apparatus for developing an application that implements garbage collection efficiently by combining proxy objects with compiler support | |
KR20060035077A (ko) | 데이터 처리 장치 및 이를 이용한 레지스터 할당 방법 | |
US5974249A (en) | Zero footprint method and apparatus for expanding allocated memory space of a process using a virtual memory area | |
JP4150518B2 (ja) | 未使用のプログラムセクションの不要データを収集するための方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040426 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040426 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20040426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040930 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20041228 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041228 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050209 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071121 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071121 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080218 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080218 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20080218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080327 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20080327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080331 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4107630 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120411 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140411 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |