JP6764989B2 - 要求処理技術 - Google Patents
要求処理技術 Download PDFInfo
- Publication number
- JP6764989B2 JP6764989B2 JP2019201248A JP2019201248A JP6764989B2 JP 6764989 B2 JP6764989 B2 JP 6764989B2 JP 2019201248 A JP2019201248 A JP 2019201248A JP 2019201248 A JP2019201248 A JP 2019201248A JP 6764989 B2 JP6764989 B2 JP 6764989B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- computer system
- controller
- hypervisor
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 62
- 238000005516 engineering process Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims description 250
- 230000015654 memory Effects 0.000 claims description 141
- 230000008569 process Effects 0.000 claims description 141
- 230000004044 response Effects 0.000 claims description 50
- 238000004891 communication Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 13
- 230000002950 deficient Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 16
- 239000000872 buffer Substances 0.000 description 12
- 230000001149 cognitive effect Effects 0.000 description 12
- 238000005192 partition Methods 0.000 description 11
- 238000007726 management method Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 239000010979 ruby Substances 0.000 description 3
- 229910001750 ruby Inorganic materials 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space 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/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
-
- 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/45541—Bare-metal, i.e. hypervisor runs directly on hardware
-
- 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/4555—Para-virtualisation, i.e. guest operating system has to be modified
-
- 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]
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- 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/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
本出願は、それぞれ2013年8月12日に出願された同時係属中の、「PER REQUEST COMPUTER SYSTEM INSTANCES」と題する米国特許出願第13/964,977号、「APPLICATION BOOT IMAGE」と題する同第13/964,941号、及び「REQUEST PROCESSING TECHNIQUES」と題する同第13/964,889号の優先権を主張し、当該の内容を引用により本明細書の一部として援用するものである。
・ 実行可能な命令を備えて構成された1つまたは複数のコンピュータシステムの制御のもと、
実行可能部を備えるアプリケーションソースを受信し、
当該アプリケーションソースを解析し、当該実行可能部の実行における変動ポイントを判断し、
判断した当該変動ポイントの少なくとも一部に基づく停止ポイントまで、仮想マシンインスタンスにより当該実行可能部を実行し、
当該仮想マシンインスタンスを当該停止ポイントで停止させ、
停止させた当該仮想マシンインスタンスのスナップショットを、当該変動ポイントで、または当該変動ポイント以前で取り、
当該スナップショットを用いて別の仮想マシンインスタンスをインスタンス化する、ことを備える、コンピュータ実施方法。
・ 1項に記載のコンピュータ実施方法において、
当該アプリケーションソースを解析することは、判断した当該変動ポイントを含む1つまたは複数の変動ポイントの1つまたは複数の位置について、当該アプリケーションソースにアノテーションを付けることを含み、
当該停止ポイントは、少なくとも一部の当該アノテーション付アプリケーションソースに基づいている、当該コンピュータ実施方法。
・ 2項に記載のコンピュータ実施方法において、当該アプリケーションソースにアノテーションを付けることは、当該アプリケーションソースに参照された1つまたは複数の機能を、変動ポイントに対応する機能一覧に照らすことを含む、当該コンピュータ実施方法。
・ 先行する項目のいずれかに記載のコンピュータ実施方法において
当該方法ではさらに、当該変動ポイント以前の実行において、セーフポイントであると判断されるポイントに相当する状態に、当該仮想マシンインスタンスを復元することを備え、
実行において当該セーフポイントであると判断される当該ポイントで、当該スナップショットを取る、当該コンピュータ実施方法。
・ 先行する項目のいずれかに記載のコンピュータ実施方法において、当該停止ポイントまで当該実行可能部を実行することは、当該実行可能部の実行をモニタリングし、当該停止ポイントを検出することを含む、当該コンピュータ実施方法。
・ 先行する項目のいずれかに記載のコンピュータ実施方法において、当該スナップショットは、当該仮想マシンインスタンスのメモリ空間の少なくとも一部のコピーを符号化し、1つまたは複数のプロセッサレジスタの1つまたは複数の状態、1つまたは複数のフラグの1つまたは複数の状態、1つまたは複数のプログラムカウンタの1つまたは複数の状態、或いは、1つまたは複数のエントリポイントアドレスを備える、当該コンピュータ実施方法。
・ 先行する項目のいずれかに記載のコンピュータ実施方法において、別の仮想マシンインスタンスをインスタンス化するのに当該スナップショットを使用することは、仮想マシンインスタンスのインスタンス化に使用可能なアプリケーションイメージのリポジトリに、当該スナップショットを追加し、当該別の仮想マシンインスタンスのインスタンス化において、当該リポジトリから当該スナップショットを検索することを含む、当該コンピュータ実施方法。
・ 実行可能な命令を備えて構成された1つまたは複数のコンピュータシステムの制御のもと、
アプリケーションソースの実行可能部にある、1つまたは複数の変動ポイントを特定し、
コンピュータシステムインスタンスにより、当該アプリケーションソースの当該実行可能部の実行をモニタリングし、特定した当該1つまたは複数の変動ポイントから1つの変動ポイントを特定し、
特定した当該1つの変動ポイントの少なくとも一部に基づくポイントで、当該コンピュータシステムインスタンスのスナップショットを取り、
取った当該スナップショットの少なくとも一部に基づく、別のコンピュータシステムインスタンスのインスタンス化に使用可能な、アプリケーションイメージを格納する、ことを備える、コンピュータ実施のアプリケーションイメージ作成方法。
・ 8項に記載のコンピュータ実施方法において、当該1つまたは複数の変動ポイントの各変動ポイントは、複数回の実行において、アプリケーション動作の実行結果に潜在的に変動をもたらす1つまたは複数のコンピュータ実行可能命令に対応する、当該コンピュータ実施方法。
・ 8項または9項に記載のコンピュータ実施方法において、当該1つまたは複数の変動ポイントを特定することは、
当該アプリケーションソースで指定された1つまたは複数の機能を特定し、
特定された当該1つまたは複数の機能が、潜在的に変動ポイントになると判断された機能一覧にあるかを判断する、ことを含む、当該コンピュータ実施方法。
・ 8項乃至10項のいずれかに記載のコンピュータ実施方法において、当該スナップショットを取ることは、特定した当該変動ポイントでまたは当該変動ポイント以前でセーフポイントを特定することを含み、当該セーフポイントは、復元可能なコンピュータシステムの状態であり、別のコンピュータシステム上で当該アプリケーションソースの当該実行可能部を当該コンピュータシステムの状態からレジューム可能な、当該コンピュータシステムの状態に対応することを受け特定される、当該コンピュータ実施方法。
・ 8項乃至11項のいずれかに記載のコンピュータ実施方法において、
当該スナップショットを取ることは、特定した当該変動ポイントでまたは当該変動ポイント以前でセーフポイントを特定することを含み、
当該セーフポイントの特定は、当該コンピュータシステムの、異なる時点で取られる複数のスナップショットセットのうち、1つまたは複数のスナップショットに適用されるセーフポイント基準の少なくとも一部に基づいている、当該コンピュータ実施方法。
・ システムであって、
1つまたは複数のプロセッサ、及び
実行可能な命令を備えるメモリを備え、
当該命令は、当該1つまたは複数のプロセッサにより実行されると、当該システムに第一サブシステムを実施させ、
当該第一サブシステムは、
アプリケーションソースの少なくとも一部に基づきコンピュータシステムインスタンスをインスタンス化し、
当該アプリケーションソースの実行可能部を、インスタンス化した当該コンピュータインスタンスにより実施してモニタリングし、変動ポイントを特定し、
特定した当該変動ポイントの少なくとも一部に基づき、当該コンピュータシステムインスタンスのスナップショットを取り、
取った当該スナップショットの少なくとも一部に基づく、別のコンピュータシステムインスタンスのインスタンス化に使用可能な、アプリケーションイメージを格納させるよう、構成されるシステム。
・ さらに第二サブシステムを備え、当該第二サブシステムは、当該アプリケーションソースの当該実行可能部を処理し、複数変動ポイントのセットを特定し、特定された当該変動ポイントは、特定された当該複数変動ポイントセットから特定されるよう構成された、13項に記載の当該システム。
・ 13項または14項に記載のシステムにおいて、当該コンピュータシステムインスタンスをインスタンス化することは、
当該アプリケーションソースの少なくとも一部に基づき、ブートストラッププログラムを選択すること、
選択した当該ブートストラッププログラムを実行することを含む、当該システム。
・ 13項乃至15項のいずれかに記載のシステムにおいて、
当該システムはさらに、コンピュータシステムインスタンスのインスタンス化のため別のシステムがアクセス可能なアプリケーションイメージリポジトリを備え、
当該アプリケーションイメージを格納させることは、当該アプリケーションイメージを当該アプリケーションイメージリポジトリに送信することを含む、当該システム。
・ 13項乃至16項のいずれかに記載のシステムにおいて、
当該アプリケーションソースに、潜在的な変動ポイントを示す1つまたは複数のアノテーションを付け、
当該アプリケーションソースの当該実行可能部の実行を、当該1つまたは複数のアノテーションの少なくとも一部に基づいてモニタリングする、当該システム。
・ 13項乃至17項のいずれかに記載のシステムにおいて、特定した当該変動ポイントは、当該アプリケーションソースから確定的に導出できないが実行結果に対応することを受け特定される、当該システム。
・ 13項乃至18項のいずれかに記載のシステムにおいて、当該アプリケーションソースの当該実行可能部の、インスタンス化された当該コンピュータシステムインスタンスによる実行をモニタリングすることは、インスタンス化された当該コンピュータシステムインスタンスのメモリページが当該変動ポイントに対応する命令を備えることにより、インスタンス化した当該コンピュータシステムインスタンスを中断させる割り込みを発行することを含む、当該システム。
・ 13項乃至19項のいずれかに記載のシステムにおいて、当該アプリケーションソースの当該実行可能部の、インスタンス化された当該コンピュータシステムインスタンスによる実行をモニタリングすることは、インスタンス化された当該コンピュータシステムインスタンスの外部にあるプロセスに、当該実行が当該変動ポイントに到達したことを通知し、当該プロセスが、インスタンス化された当該コンピュータシステムインスタンスを停止させ得るようにすることを含む、当該システム。
・ コンピュータ読取可能記憶媒体であって、該コンピュータ読取可能記憶媒体に格納された命令を有し、当該命令がコンピュータシステムの1つまたは複数のプロセッサにより実行されると、当該命令は当該コンピュータシステムに、少なくとも、
実行可能部を備えるアプリケーションソースを取得させ、
コンピュータシステムインスタンスに、少なくともいくつかの当該実行可能部を実行させ、
当該実行可能部を部分的に実行した後ではあるが完了前に、当該コンピュータシステムインスタンスのスナップショットを取らせ、当該スナップショットを別のコンピュータシステムインスタンスのインスタンス化に使用可能にし、当該実行可能部の実行を、当該スナップショットが取られたポイントで開始可能にする、コンピュータ読取可能記憶媒体。
・ 21項に記載のコンピュータ読取可能記憶媒体において、
取得した当該アプリケーションソースを、当該実行可能部の実行を停止する潜在的な1つまたは複数のポイントを示すアノテーションと併せて取得し、
当該コンピュータシステムインスタンスに少なくともいくつかの当該実行可能部を実行させる際、当該スナップショットの取る前の当該アノテーションのうちの1つのアノテーションに従い、当該コンピュータシステムインスタンスを停止する、当該コンピュータ読取可能記憶媒体。
・ 21項または22項に記載のコンピュータ読取可能記憶媒体において、当該命令はさらに、当該コンピュータシステムに、仮想マシンとして当該コンピュータシステムインスタンスをインスタンス化させる、当該コンピュータ読取可能記憶媒体。
・ 21項乃至23項のいずれかに記載のコンピュータ読取可能記憶媒体において、当該コンピュータシステムインスタンスの当該スナップショットを取ることは、
当該実行可能部の実行においてあるポイントを、当該ポイントでの中央処理装置の状態の少なくとも一部に基づき判断し、
判断した当該ポイントでの当該コンピュータシステムインスタンスの当該スナップショットを取ることを含む、当該コンピュータ読取可能記憶媒体。
・ 21項乃至24項のいずれかに記載のコンピュータ読取可能記憶媒体において、取った当該スナップショットは、当該コンピュータシステムインスタンスのメモリ空間の、少なくとも一部のコピーを備え、1つまたは複数のプロセッサレジスタの1つまたは複数の状態、1つまたは複数のフラグの1つまたは複数の状態、1つまたは複数のプログラムカウンタの1つまたは複数の状態、或いは、1つまたは複数のエントリポイントアドレスを備える、当該コンピュータ読取可能記憶媒体。
・ 21項乃至25項のいずれかに記載のコンピュータ読取可能記憶媒体において、当該命令はさらに、当該コンピュータシステムに、少なくとも一部の当該スナップショットに基づくアプリケーションイメージを、アプリケーションイメージのリポジトリに送信させ、各アプリケーションイメージを仮想マシンインスタンスのインスタンス化に使用可能にする、当該コンピュータ読取可能記憶媒体。
・ ハイパーバイザを実施する計算デバイス、及び
フロントエンドリスナを備え、
当該フロントエンドリスナは、
ネットワークを介して送信された要求を受信し、
受信した当該要求の少なくとも1つのサブセットの各要求に対し、当該要求に対応するワークトークンを当該ハイパーバイザに提供するよう、構成され、
当該ハイパーバイザは、
当該フロントエンドリスナからワークトークンを受信し、
受信した当該ワークトークンの少なくとも1つのサブセットの各ワークトークンに対し、
少なくとも一部の当該ワークトークンに基づき、当該ワークトークンに対応する要求の処理に使用可能なアプリケーションイメージを選択し、
少なくとも、選択された当該アプリケーションイメージの当該コピー部分のエントリポイントアドレスを特定し、特定された当該エントリポイントの少なくとも一部に基づきアプリケーションコードの実行を開始することにより、少なくとも一部の選択された当該アプリケーションイメージに基づき仮想コンピュータシステムをインスタンス化し、
当該ワークトークンを用いて、当該フロントエンドリスナから、当該ワークトークンに対応する当該要求のコピーを取得し、当該ワークトークンに対応する当該要求の当該コピーを、インスタンス化された当該仮想コンピュータシステムに提供し、当該仮想コンピュータシステムにより処理されるよう、構成されるシステム。
・ 27項に記載のシステムにおいて、
当該ワークトークンを提供することは、少なくとも一部の当該要求に基づき、複数の要求キューから要求キューを選択し、選択した当該要求キューに当該ワークトークンをエンキューすることを含む、当該システム。
・ 27項または28項に記載のシステムにおいて、
当該ワークトークンを提供することは、要求キューに当該ワークトークンをエンキューし、
当該フロントエンドリスナから複数のワークトークンを受信する際、当該要求キューから当該複数ワークトークンをデキューすることを含む、当該システム。
・ 27項乃至29項のいずれかに記載のシステムにおいて、当該仮想コンピュータシステムをインスタンス化することは、少なくとも一部の選択した当該アプリケーションイメージを、当該仮想コンピュータシステムのメモリパーティションにコピーすることを含む、当該システム。
・ 27項乃至30項のいずれかに記載のシステムにおいて、当該アプリケーションイメージは、別の仮想コンピュータシステムのスナップショットの少なくとも一部に基づいており、当該別のコンピュータシステムは、当該アプリケーションイメージに対応するアプリケーションコードの実行可能部を部分的に実行した、当該システム。
・ 27項乃至31項のいずれかに記載のシステムにおいて、当該ワークトークンを用いて当該要求の当該コピーを取得することは、
当該ワークトークンにおいて符号化された当該要求の識別子を当該フロントエンドリスナに提供し、
当該フロントエンドリスナにより、提供された当該識別子の少なくとも一部に基づき、当該要求を配置し、
配置された当該要求を当該計算デバイスに送信する、ことを含む、当該システム。
・ 要求に応答するためのコンピュータ実施方法であって、
実行可能な命令を備えて構成された1つまたは複数のコンピュータシステムの制御のもと、
当該要求を受信したフロントエンドリスナにより、受信した要求に対応するトークンを受信し、
当該トークンを受信したことを受け、当該要求を処理する仮想コンピュータシステムをインスタンス化し、
受信した当該トークンを用いて、当該フロントエンドリスナから当該要求のコピーを取得し、
当該要求の取得した当該コピーを用いて、当該仮想コンピュータシステムにより当該要求を処理する、コンピュータ実施方法。
・ 33項に記載のコンピュータ実施方法において、当該フロントエンドリスナ及び当該仮想コンピュータシステムは、別の計算デバイスにより実施される、当該コンピュータ実施方法。
・ 33項または34項に記載のコンピュータ実施方法において、当該仮想コンピュータシステムをインスタンス化することは、
当該要求の処理に使用可能なアプリケーション用のアプリケーションイメージを、アプリケーションイメージのリポジトリから入手し、
当該アプリケーションイメージの少なくとも一部を、当該仮想コンピュータシステム用に割当てられたメモリにロードし、
ロードされた当該一部を実行するエントリポイントを特定し、
ロードされた当該一部の実行を開始することを含む、当該コンピュータ実施方法。
・ 35項に記載のコンピュータ実施方法において、当該アプリケーションイメージを入手することは、当該要求に関連する情報の少なくとも一部に基づき当該アプリケーションイメージを選択することを含み、当該要求に関連する当該情報は、当該要求の1つまたは複数のメッセージヘッダの少なくとも1つ、当該要求のメッセージ本体、当該要求の送信先であるネットワークアドレスに対応するユニフォームリソースロケータ、または、当該ネットワークアドレスを含む、当該コンピュータ実施方法。
・ 35項に記載のコンピュータ実施方法において、当該アプリケーションイメージに対応するアプリケーションコードの実行可能部を部分的に実行した場合、当該アプリケーションイメージは、停止状態の別の仮想コンピュータシステムの少なくとも一部のスナップショットに基づく、当該コンピュータ実施方法。
・ 33項乃至37項のいずれかに記載のコンピュータ実施方法において、当該トークンを受信することは、トークンのキューから当該トークンをデキューすることを含み、当該トークンのそれぞれは当該フロントエンドリスナにより受信された要求に対応している、当該コンピュータ実施方法。
・ 33項乃至38項のいずれかに記載のコンピュータ実施方法において、さらに、当該要求の処理が完了したことを受け、当該仮想コンピュータシステムを終了させることを備える、前記コンピュータ実施方法。
・ 非一時的なコンピュータ読取可能記憶媒体であって、格納された命令を有し、当該命令がコンピュータシステムの1つまたは複数のプロセッサにより実行されると、当該命令は当該コンピュータシステムに、少なくとも、
コントローラを実施させ、当該コントローラは、
フロントエンドリスナが要求を受信した旨の通知を受信し、
受信した当該通知の少なくとも1つのサブセットの各通知に対し、
仮想コンピュータシステムをインスタンス化し、対応する要求を処理し、
インスタンス化した当該仮想コンピュータシステムに、当該フロントエンドリスナから当該要求のコピーを取得させ、当該要求を処理させるよう、構成される、コンピュータ読取可能記憶媒体。
・ 40項に記載のコンピュータ読取可能記憶媒体において、
当該命令はさらに、当該コンピュータシステムにハイパーバイザを実施させ、
当該仮想コンピュータシステム及び当該コントローラは、当該ハイパーバイザの異なるドメインで動作する、当該コンピュータ読取可能記憶媒体。
・ 40項または41項に記載のコンピュータ読取可能記憶媒体において、当該コントローラはさらに、当該コンピュータシステムの要求処理容量の、少なくとも一部の1つまたは複数回の測定に基づき、当該コンピュータシステムにより同時処理される要求数を調整するよう構成された、当該コンピュータ読取可能記憶媒。
・ 40項乃至42項のいずれかに記載のコンピュータ読取可能記憶媒体において、当該通知は、当該フロントエンドリスナからの当該要求の位置確認に使用可能な情報を符号化するトークンである、当該コンピュータ読取可能記憶媒体。
・ 40項乃至43項のいずれかに記載のコンピュータ読取可能記憶媒体において、当該通知を受信することは、キューから対応トークンをデキューすることを含む、当該コンピュータ読取可能記憶媒体。
・ 40項乃至44項のいずれかに記載のコンピュータ読取可能記憶媒体において、インスタンス化した当該仮想システムに当該要求の当該コピーを取得させることは、
当該仮想コンピュータシステムによる当該要求の入手の試みを検出し、
当該通知からの情報を用い、当該フロントエンドリスナから当該要求の当該コピーを取得する、ことを含む、当該コンピュータ読取可能記憶媒体。
・ リスナ及びコントローラを備え、
当該リスナは、
要求を受信し、当該受信された要求は、それぞれ異なるアプリケーションによりサービス可能である複数の要求のサブセットを備え、
受信した当該要求の少なくとも1つのサブセットの各要求に対し、
当該要求についての通知を出し、
少なくとも一部の当該通知に基づく第二要求を受信し、
当該第二要求の少なくとも一部の応答に基づき、当該要求のコピーを提供するよう構成され、
当該コントローラは、
当該リスナから出された通知を受信し、
出された当該通知の少なくとも1つのサブセットの、出され受信された各通知に対し、
出された当該通知を用い、当該リスナから出され受信された当該通知に対応する要求のコピーを取得し、
出され受信された当該通知の少なくとも一部に基づき、複数のアプリケーションイメージから、出され受信された当該通知に対応する当該要求の処理が可能なアプリケーションのアプリケーションイメージを選択し、
選択された当該アプリケーションイメージの少なくとも一部に基づき、仮想コンピュータシステムをインスタンス化し、出され受信された当該通知に対応する当該要求の、少なくとも一部の取得した当該コピーに基づき、当該仮想コンピュータシステムに当該要求を処理させるよう、構成されるシステム。
・ 46項に記載のシステムにおいて、受信された当該要求は、異なるネットワークアドレスにアドレス指定された要求を含み、当該異なるネットワークアドレスの各ネットワークアドレスは、当該複数のアプリケーションイメージの異なるアプリケーションイメージに対応している、当該システム。
・ 46項または47項に記載のシステムにおいて、当該コントローラはさらに、出され受信された当該通知に対応する当該要求と当該通知とのコネクションを確立し、当該アプリケーションが当該リスナから当該要求のコピーを取得出来るよう構成された、当該システム。
・ 46項乃至48項のいずれかに記載のシステムにおいて、通知を出すことは、要求キューにトークンをエンキューすることを含む、当該システム。
・ 46項乃至49項のいずれかに記載のシステムにおいて、選択された当該アプリケーションイメージは、別の仮想コンピュータシステムインスタンスのスナップショットの少なくとも一部に基づいている、当該システム。
・ 46項乃至50項のいずれかに記載のシステムにおいて、
出された当該通知を受信することは、出された当該通知をキューからデキューすることを含み、
当該コントローラはさらに、要求処理容量を検出したことを受け、キューされた通知をデキューするよう構成された、当該システム。
・ 要求を処理するためのコンピュータ実施方法であって、
実行可能な命令を備えて構成された1つまたは複数のコンピュータシステムの制御のもと、
ハイパーバイザにより、仮想コンピュータシステムインスタンス及びコントローラを実施して、
当該仮想コンピュータシステムインスタンスが、当該要求の受信に使用するプロトコルスタックの1つまたは複数層の実施を不足させるよう、
当該コントローラが、当該仮想コンピュータシステムインスタンスにより当該1つまたは複数層が不足した当該プロトコルスタックを実施させるよう、
共有メモリ領域を、当該仮想コンピュータシステムインスタンス及び当該コントローラの双方からアクセス可能になるようにし、
当該コントローラから当該仮想コンピュータシステムインスタンスへの当該要求のデータを、当該メモリ領域に配置し、
当該共有メモリ領域から当該仮想コンピュータシステムに当該データを提供し、
当該仮想コンピュータシステムから当該コントローラへの、当該要求に対する応答のデータを、当該共有メモリ領域に配置し、
当該共有メモリ領域から当該コントローラに当該応答の当該データを提供し、
当該コントローラの当該プロトコルスタックの当該1つまたは複数の層の当該実施を行い、当該要求に対する当該応答を提供する、コンピュータ実施方法。
・ 52項に記載のコンピュータ実施方法において、
当該方法ではさらに、当該仮想コンピュータシステムインスタンス及び当該コントローラの双方がアクセス可能な当該ハイパーバイザに対するハイパーコールインタフェースを通して、当該ワーカコントローラのハイパーコールハンドラに通知を出し、
当該ハイパーコールハンドラが当該通知を受信したことを受け、当該共有メモリ領域から当該コントローラに当該応答の当該データを提供する、ことを備えるコンピュータ実施方法。
・ 52項または53項に記載のコンピュータ実施方法において、
当該共有メモリ領域に当該要求の当該データを配置することは、当該共有メモリ領域の制御域に、当該制御域の当該データの1つまたは複数の位置を書込むことを含み、
当該共有メモリ領域から当該仮想コンピュータシステムインスタンスに当該データを提供することは、当該制御域に書込まれた当該1つまたは複数の位置の少なくとも一部に基づき、当該データを配置することを含む、当該コンピュータ実施方法。
・ 52項乃至54項のいずれかに記載のコンピュータ実施方法ではさらに、
当該仮想コンピュータシステムインスタンスにより、第一オブジェクトモデルを用いて第一リスナオブジェクトを作成し、
当該コントローラにより、当該第一リスナオブジェクトに対応する第二リスナオブジェクトを作成して、当該要求を受信する、ことを備える、コンピュータ実施方法。
・ 52項乃至55項のいずれかに記載のコンピュータ実施方法において、当該要求はハイパーテキスト転送プロトコル要求である、当該コンピュータ実施方法。
・ 52項乃至56項のいずれかに記載のコンピュータ実施方法ではさらに、
当該ハイパーバイザにより、第二仮想コンピュータシステムインスタンスを実施して、第二共有メモリ領域に、当該第二仮想コンピュータシステムインスタンス及び当該コントローラの双方がアクセス可能になるようにすることを備え、
当該プロトコルスタックの当該1つまたは複数の層の当該実施を当該コントローラが使用して、当該第二仮想コンピュータシステムインスタンスの要求を処理する、コンピュータ実施方法。
・ 実行可能な命令を備えて構成された1つまたは複数のコンピュータシステムの制御のもと、
ハイパーバイザの第一ドメインで、コンピュータシステムインスタンスを実施し、
当該ハイパーバイザの第二ドメインで、コントローラを実施し、当該コントローラは、当該コンピュータシステムインスタンスと共有するメモリ領域にアクセスし、当該コンピュータシステムインスタンスにより実施される共有層のプロトコルスタックを備えた、複数層の当該プロトコルスタックを実施し、
当該プロトコルスタックを用いて受信された要求を満たすが、少なくとも、
当該共有層の当該プロトコルスタック及び当該メモリ領域を用いて、当該コンピュータシステムインスタンスから当該コントローラに、当該要求に対する応答データを渡し、
当該複数層の当該プロトコルスタックのうち、当該コンピュータシステムインスタンスの実施に不足がある少なくとも1つの層を用いて、当該第二ドメインで当該応答データに対し1つまたは複数の動作を実施することを備える、コンピュータ実施方法。
・ 58項に記載のコンピュータ実施方法において、当該要求はハイパーテキスト転送プロトコル要求である、当該コンピュータ実施方法。
・ 58項または59項に記載のコンピュータ実施方法において、当該共有層は当該プロトコルスタックのアプリケーション層である、当該コンピュータ実施方法。
・ 58項乃至60項のいずれかに記載のコンピュータ実施方法において、当該要求に対する当該応答データを渡すことは、当該コンピュータシステムインスタンスが、当該ハイパーバイザのハイパーコールインタフェースに対する準仮想デバイスドライバと対話したことを受け、当該コントローラにハイパーコールを送信することを含む、当該コンピュータ実施方法。
・ 58項乃至61項のいずれかに記載のコンピュータ実施方法において
当該メモリ領域は、制御空間及び複数の要求スロットを備えるよう構成され、
当該コンピュータシステムインスタンスから当該コントローラに当該応答データを渡すことは、少なくとも当該制御空間にアクセスし、当該複数の要求スロットのうち少なくとも一部の当該応答データを有する1つの要求スロットを判断することにより、当該コントローラに当該応答データを取得させることを含む、当該コンピュータ実施方法。
・ 58項乃至62項のいずれかに記載のコンピュータ実施方法において、当該要求を満たすことは、当該第二ドメインで受信された当該要求に対応する第一要求を当該第一ドメインに生成することを含む、当該コンピュータ実施方法。
・ 1つまたは複数のプロセッサ、及び
命令を備えたメモリを備え、
当該命令は、当該1つまたは複数のプロセッサにより実行されると、当該システムに、
ハイパーバイザ、
当該ハイパーバイザ上で動作する1つまたは複数のコンピュータシステムインスタンス、
当該ハイパーバイザ上で動作するコントローラ、及び
当該1つまたは複数のコンピュータシステムインスタンスの各コンピュータシステムインスタンスに対し、当該コンピュータシステムインスタンス及び当該コントローラにより共有されるメモリ空間、を実施させ、
当該ハイパーバイザ、当該コンピュータシステムインスタンス、及び当該コントローラは、当該メモリ空間に当該要求データを配置することで利用可能になる要求に対する応答のデータについて、当該コンピュータシステムインスタンスから当該コントローラにハイパーコールを通して通知し、少なくとも部分的に当該コントローラにより当該コンピュータシステムの当該要求が満たされるよう一括して構成されるシステム。
・ 64項に記載のシステムにおいて、当該コンピュータシステムインスタンスは、当該ハイパーバイザにより実施されたハイパーコールインタフェースに対する準仮想デバイスドライバを備え、当該コンピュータシステムインスタンス及びコントローラのどちらか一方からのハイパーコールが、当該コンピュータシステムインスタンス及び当該コントローラの他方への通信のトリガとなるようにする、当該システム。
・ 64項または65項に記載のシステムにおいて、
当該コントローラは、プロトコルスイートの第一層セットを実施して備え、
当該コンピュータシステムインスタンスは、当該プロトコルスイートの第二層セットを実施して備え、
当該第一層セット及び当該第二層セットは、異なるが共通部分を有し、
当該要求を満たすことは、当該コントローラにより当該プロトコルスイートの当該第一層セットを使用することを含む、当該システム。
・ 64項乃至66項のいずれかに記載のシステムにおいて、当該要求はHTTP要求である、当該システム。
・ 64項乃至67項のいずれかに記載のシステムにおいて、当該要求データを当該メモリ空間に配置することは、当該メモリ空間の第一部に第一データを書込むこと、当該メモリ空間の第二部に第二データを書込むことを含み、当該第一データは、当該メモリ空間の当該第二部にある当該第二データの位置を示す、当該システム。
・ 64項乃至68項のいずれかに記載のシステムにおいて、当該コントローラはハイパーコールハンドラを備え、当該ハイパーコールハンドラは、当該ハイパーバイザのハイパーコールインタフェースからハイパーコールを受信し、当該メモリ空間にアクセスして要求をサービスすべきか判断するよう構成された、当該システム。
・ コンピュータ読取可能記憶媒体であって、格納された命令を有し、当該命令がコンピュータシステムの1つまたは複数のプロセッサにより実行されると、当該命令は当該コンピュータシステムに、少なくとも、
ハイパーバイザの第一ドメインにコンピュータシステムインスタンス、
当該ハイパーバイザの第二ドメインにコントローラ、及び
当該コントローラ及び当該コンピュータシステムインスタンスの双方がアクセス可能なメモリ領域、を実施させ、
当該コンピュータシステムインスタンス及びコントローラは、連携して要求処理するよう一括で構成され、要求を満たすことは、
当該ハイパーバイザのハイパーコールインタフェース及び当該メモリ領域を用いて、当該コンピュータシステムインスタンスと当該コントローラとの間でデータを渡すこと、
当該コンピュータシステムインスタンス及び当該コントローラの双方にそれぞれ、当該データに関連して1つまたは複数の動作を実行させるようにすること、を含む、コンピュータ読取可能記憶媒体。
・ 70項に記載のコンピュータ読取可能記憶媒体において、当該要求はハイパーテキスト転送プロトコル要求である、当該コンピュータ読取可能記憶媒体。
・ 70項または71項に記載のコンピュータ読取可能記憶媒体において、当該コンピュータシステムインスタンスと当該コントローラとの間で当該データを渡すことは、当該コンピュータシステムインスタンスは、準仮想デバイスドライバと対話し、当該メモリ領域にある当該データについての通知を、当該コントローラに向け出させることを含む、当該コンピュータ読取可能記憶媒体。
・ 72項に記載のコンピュータ読取可能記憶媒体において、当該通知は当該要求の識別子を備え、当該コンピュータシステムインスタンスと当該コントローラとの間で当該データを渡すことは、さらに、当該識別子を用いて位置を判断し、当該メモリ領域に格納された複数のデータインスタンスから当該要求データを選択することを含む、当該コンピュータ読取可能記憶媒体。
・ 70項乃至73項のいずれかに記載のコンピュータ読取可能記憶媒体において、
当該コントローラは、当該コンピュータシステムインスタンスにより実施されない、1つまたは複数層のプロトコルスタックを実施し、
当該要求処理では、当該1つまたは複数層の当該プロトコルスタックを使用する、当該コンピュータ読取可能記憶媒体。
・ 70項乃至74項のいずれかに記載のコンピュータ読取可能記憶媒体において、
当該命令はさらに、当該コンピュータシステムに別の1つまたは複数のコンピュータシステムインスタンスを実施させ、
実施された当該1つまたは複数層の当該プロトコルスタックは、当該別の1つまたは複数のコンピュータシステムインスタンスのそれぞれの要求処理に使用され、
当該メモリ領域に、当該別の1つまたは複数のコンピュータシステムインスタンスがアクセスできない、当該コンピュータ読取可能記憶媒体。
Claims (24)
- アプリケーションからの要求を処理するためのコンピュータ実施方法であって、
仮想コンピュータシステムインスタンスが、前記要求を受信するために使用するプロトコルスタックの1つまたは複数層に不足があり、コントローラが、前記仮想コンピュータシステムインスタンスにより不足するプロトコルスタックの1つまたは複数層を有しており、
ハイパーバイザにより、前記仮想コンピュータシステムインスタンス及び前記コントローラを管理し、
前記ハイパーバイザにより、
前記仮想コンピュータシステムインスタンス及び前記コントローラの双方からアクセス可能になるように共有メモリ領域を作成し、
前記コントローラで得られた前記要求のデータを前記共有メモリ領域に配置し、
前記共有メモリ領域から前記仮想コンピュータシステムインスタンスに前記要求のデータを提供し、
前記仮想コンピュータシステムインスタンスで作成された前記コントローラへの前記要求に対する応答のデータを、前記共有メモリ領域に配置し、
前記共有メモリ領域から前記コントローラに前記応答のデータを提供し、
前記コントローラに、前記プロトコルスタックの前記1つまたは複数の層を使い、前記要求に対する前記応答のデータを提供させる、コンピュータ実施方法。 - 前記ハイパーバイザによって、前記仮想コンピュータシステムインスタンス及び前記コントローラの双方がアクセス可能な前記ハイパーバイザに対するハイパーコールインタフェースを通して、前記コントローラのハイパーコールハンドラに通知を出し、
前記ハイパーコールハンドラが前記通知を受信したことを受け、前記共有メモリ領域から前記コントローラに前記応答のデータを提供する、請求項1に記載のコンピュータ実施方法。 - 前記共有メモリ領域に前記要求のデータを配置することは、前記共有メモリ領域の制御空間に、前記要求のデータの1つまたは複数の位置を書込むこと、
前記共有メモリ領域から前記仮想コンピュータシステムインスタンスに前記要求のデータを提供することは、前記制御空間に書込まれた前記1つまたは複数の位置に基づき、前記要求のデータを配置すること、を含む、請求項1または請求項2に記載のコンピュータ実施方法。 - さらに、
前記仮想コンピュータシステムインスタンスにより、第一オブジェクトモデルを用いて第一リスナオブジェクトを作成し、
前記コントローラにより、前記第一リスナオブジェクトに対応する第二リスナオブジェクトを作成して、前記要求を受信する、請求項1から請求項3のいずれか一項に記載のコンピュータ実施方法。 - 前記要求はハイパーテキスト転送プロトコル要求である、請求項1から請求項4のいずれか一項に記載のコンピュータ実施方法。
- さらに、
前記ハイパーバイザは、第二仮想コンピュータシステムインスタンスを実施して、第二共有メモリ領域に、前記第二仮想コンピュータシステムインスタンス及び前記コントローラの双方がアクセス可能になるようにし、
前記プロトコルスタックの前記1つまたは複数の層は、前記コントローラを使用して、前記第二仮想コンピュータシステムインスタンスの要求を処理する、請求項1から請求項5のいずれか一項に記載のコンピュータ実施方法。 - 実行可能な命令を備えて構成された1つまたは複数のコンピュータシステムの制御のもと、
ハイパーバイザによって、第一ドメインで、コンピュータシステムインスタンスを管理し、
前記ハイパーバイザによって、第二ドメインで、コントローラを管理し、
前記ハイパーバイザによって、前記コンピュータシステムインスタンスにより実施されたプロトコルスタックの共有層を含む前記プロトコルスタックの複数層を管理し、
前記コントローラは、メモリ領域のアクセスを前記コンピュータシステムインスタンスと共有し、
前記コンピュータシステムインスタンスでアプリケーションからの要求を処理する前記プロトコルスタックに不足がある場合に、
前記共有層の前記プロトコルスタック及び前記メモリ領域を用いて、前記コンピュータシステムインスタンスから前記コントローラに、前記要求に対する応答データを渡し、
前記複数層の前記プロトコルスタックを用いて、前記第二ドメインで前記応答データに対し1つまたは複数の動作を実施することで、
前記アプリケーションからの要求を満たす、
コンピュータ実施方法。 - 前記要求はハイパーテキスト転送プロトコルの要求である、請求項7に記載のコンピュータ実施方法。
- 前記共有層は前記プロトコルスタックのアプリケーション層である、請求項7または請求項8に記載のコンピュータ実施方法。
- 前記要求に対する前記応答データを渡すことは、前記コンピュータシステムインスタンスが、前記ハイパーバイザのハイパーコールインタフェースに対する準仮想デバイスドライバと対話したことを受け、前記コントローラにハイパーコールを送信することを含む、請求項7から請求項9のいずれか一項に記載のコンピュータ実施方法。
- 前記メモリ領域は、制御空間及び複数の要求スロットを含むよう構成され、
前記コンピュータシステムインスタンスから前記コントローラに前記応答データを渡すことは、少なくとも前記制御空間にアクセスし、前記複数の要求スロットのうちの前記応答データを有する1つの要求スロットを判断することにより、前記コントローラに前記応答データを取得させることを含む、請求項7から請求項10のいずれか一項に記載のコンピュータ実施方法。 - 前記アプリケーションからの要求を満たすことは、前記第二ドメインで受信され、前記アプリケーションからの要求に対応する第一要求を前記第一ドメインに生成することを含む、請求項7から請求項10のいずれか一項に記載のコンピュータ実施方法。
- 1つまたは複数のプロセッサ、及び命令を備えたメモリを備えるハイパーバイザであって、
前記命令が、前記1つまたは複数のプロセッサにより実行されると、
前記ハイパーバイザに、
前記ハイパーバイザ上で動作する1つまたは複数のコンピュータシステムインスタンス、
前記ハイパーバイザ上で動作するコントローラ、及び
前記1つまたは複数のコンピュータシステムインスタンスの各コンピュータシステムインスタンスに対し、前記コンピュータシステムインスタンス及び前記コントローラにより共有されるメモリ空間、を管理させ、
前記コンピュータシステムインスタンスでアプリケーションからの要求を処理するプロトコルスタックに不足がある場合に、
前記ハイパーバイザを介して、前記コンピュータシステムインスタンス、及び前記コントローラは、前記メモリ空間で利用可能になる前記要求に対する応答のデータを、前記コンピュータシステムインスタンスと前記コントローラとの間のハイパーコールを通して通知し、前記メモリ空間に前記要求に対する応答のデータを配置することで、前記コントローラにより前記コンピュータシステムインスタンスの前記アプリケーションからの前記要求が満たすよう構成されるハイパーバイザ。 - 前記コンピュータシステムインスタンスは、前記ハイパーバイザにより管理されたハイパーコールインタフェースに対する準仮想デバイスドライバを含み、前記コンピュータシステムインスタンス又は前記コントローラで生成されたハイパーコールが、通信のトリガとなる、請求項13に記載のハイパーバイザ。
- 前記コントローラは、プロトコルスタックの第一層セットを含み、
前記コンピュータシステムインスタンスは、前記プロトコルスタックの第二層セットを含み、
前記第一層セット及び前記第二層セットは、異なるが共通部分を有し、
前記要求を満たすことは、前記コントローラにより前記プロトコルスタックの前記第一層セットを使用することを含む、請求項13または請求項14に記載のハイパーバイザ。 - 前記要求はHTTPの要求である、請求項13から請求項15のいずれか一項に記載のハイパーバイザ。
- 前記要求のデータを前記メモリ空間に配置することは、前記メモリ空間の第一部に第一データを書込むこと及び前記メモリ空間の第二部に第二データを書込むことを含み、前記第一データは、前記メモリ空間の前記第二部にある前記第二データの位置を示す、請求項13から請求項16のいずれか一項に記載のハイパーバイザ。
- 前記コントローラは、前記ハイパーバイザのハイパーコールインタフェースからハイパーコールを受信するように、且つ、結果として前記要求をサービスすべきか判断するため前記メモリ空間にアクセスして構成されたハイパーコールハンドラを有する、請求項13から請求項17のいずれか一項に記載のハイパーバイザ。
- コンピュータ読取可能記憶媒体であって、
格納されたハイパーバイザの命令を有し、前記ハイパーバイザの命令が1つまたは複数のプロセッサにより実行されると、前記命令は前記ハイパーバイザに、少なくとも、
第一ドメインにコンピュータシステムインスタンス、
第二ドメインにコントローラ、及び
前記コントローラ及び前記コンピュータシステムインスタンスの双方がアクセス可能なメモリ領域、を管理させ、
アプリケーションからの要求を処理するために前記コンピュータシステムインスタンス及び前記コントローラが連携するよう構成させ、
前記コンピュータシステムインスタンスでアプリケーションからの前記要求を処理するプロトコルスタックに不足がある場合に、前記ハイパーバイザのハイパーコールインタフェース及び前記メモリ領域を用いて、前記コンピュータシステムインスタンスと前記コントローラとの間で前記要求のデータを渡し、
前記コンピュータシステムインスタンス及び前記コントローラの双方にそれぞれ、前記要求のデータに関連して1つまたは複数の動作を実行させるコンピュータ読取可能記憶媒体。 - 前記要求はハイパーテキスト転送プロトコルの要求である、請求項19に記載のコンピュータ読取可能記憶媒体。
- 前記コンピュータシステムインスタンスと前記コントローラとの間で前記要求のデータを渡すことは、前記コンピュータシステムインスタンスが準仮想デバイスドライバと対話し、前記メモリ領域にある前記要求のデータについての通知を、前記コントローラにさせることを含む、請求項19または請求項20に記載のコンピュータ読取可能記憶媒体。
- 前記通知は前記要求の識別子を含み、
前記コンピュータシステムインスタンスと前記コントローラとの間で前記要求のデータを渡すことは、前記メモリ領域に格納された複数のデータインスタンスから前記要求のデータを選択するため、前記識別子を用いて位置を判断することを含む、請求項21に記載のコンピュータ読取可能記憶媒体。 - 前記コントローラは、1つまたは複数層のプロトコルスタックを管理し、
前記要求の処理では、前記1つまたは複数層の前記プロトコルスタックを使用する、請求項19から請求項22のいずれか一項に記載のコンピュータ読取可能記憶媒体。 - 前記ハイパーバイザの命令はさらに、前記コンピュータシステムに別の1つまたは複数のコンピュータシステムインスタンスを管理させ、
実施された前記1つまたは複数層の前記プロトコルスタックは、前記別の1つまたは複数のコンピュータシステムインスタンスのそれぞれの要求の処理に使用され、
前記メモリ領域は、前記別の1つまたは複数のコンピュータシステムインスタンスがアクセスできない、請求項23に記載のコンピュータ読取可能記憶媒体。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/964,889 | 2013-08-12 | ||
US13/964,941 US9348634B2 (en) | 2013-08-12 | 2013-08-12 | Fast-booting application image using variation points in application source code |
US13/964,889 US9280372B2 (en) | 2013-08-12 | 2013-08-12 | Request processing techniques |
US13/964,977 | 2013-08-12 | ||
US13/964,977 US10346148B2 (en) | 2013-08-12 | 2013-08-12 | Per request computer system instances |
US13/964,941 | 2013-08-12 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018191339A Division JP6849642B2 (ja) | 2013-08-12 | 2018-10-10 | 要求処理技術 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020038692A JP2020038692A (ja) | 2020-03-12 |
JP6764989B2 true JP6764989B2 (ja) | 2020-10-07 |
Family
ID=52468614
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016533499A Active JP6419815B2 (ja) | 2013-08-12 | 2014-08-11 | 要求処理技術 |
JP2018191339A Active JP6849642B2 (ja) | 2013-08-12 | 2018-10-10 | 要求処理技術 |
JP2019201248A Active JP6764989B2 (ja) | 2013-08-12 | 2019-11-06 | 要求処理技術 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016533499A Active JP6419815B2 (ja) | 2013-08-12 | 2014-08-11 | 要求処理技術 |
JP2018191339A Active JP6849642B2 (ja) | 2013-08-12 | 2018-10-10 | 要求処理技術 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9280372B2 (ja) |
EP (1) | EP3033677B1 (ja) |
JP (3) | JP6419815B2 (ja) |
CN (2) | CN105556475B (ja) |
CA (1) | CA2921180C (ja) |
WO (1) | WO2015023607A1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10339229B1 (en) | 2013-05-31 | 2019-07-02 | Cadence Design Systems, Inc. | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system |
US10169063B2 (en) * | 2014-02-24 | 2019-01-01 | Red Hat Israel, Ltd. | Hypervisor capability access provision |
US9690686B1 (en) * | 2014-03-31 | 2017-06-27 | Cadence Design Systems, Inc. | Method for setting breakpoints in automatically loaded software |
DE102014208848A1 (de) * | 2014-05-12 | 2015-11-12 | Robert Bosch Gmbh | Verfahren zum Überwachen eines elektronischen Sicherheitsmoduls |
US11487561B1 (en) | 2014-12-24 | 2022-11-01 | Cadence Design Systems, Inc. | Post simulation debug and analysis using a system memory model |
US10802852B1 (en) | 2015-07-07 | 2020-10-13 | Cadence Design Systems, Inc. | Method for interactive embedded software debugging through the control of simulation tracing components |
US10699211B2 (en) | 2016-02-29 | 2020-06-30 | Oracle International Corporation | Supervised method for classifying seasonal patterns |
US10331802B2 (en) | 2016-02-29 | 2019-06-25 | Oracle International Corporation | System for detecting and characterizing seasons |
US10885461B2 (en) | 2016-02-29 | 2021-01-05 | Oracle International Corporation | Unsupervised method for classifying seasonal patterns |
US10867421B2 (en) | 2016-02-29 | 2020-12-15 | Oracle International Corporation | Seasonal aware method for forecasting and capacity planning |
US10198339B2 (en) | 2016-05-16 | 2019-02-05 | Oracle International Corporation | Correlation-based analytic for time-series data |
US10635563B2 (en) | 2016-08-04 | 2020-04-28 | Oracle International Corporation | Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems |
US11082439B2 (en) | 2016-08-04 | 2021-08-03 | Oracle International Corporation | Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems |
US10785288B2 (en) * | 2017-02-22 | 2020-09-22 | International Business Machines Corporation | Deferential support of request driven cloud services |
US10915830B2 (en) | 2017-02-24 | 2021-02-09 | Oracle International Corporation | Multiscale method for predictive alerting |
US10949436B2 (en) | 2017-02-24 | 2021-03-16 | Oracle International Corporation | Optimization for scalable analytics using time series models |
US10817803B2 (en) | 2017-06-02 | 2020-10-27 | Oracle International Corporation | Data driven methods and systems for what if analysis |
EP3627322A4 (en) * | 2017-06-14 | 2020-04-29 | Beijing Xiaomi Mobile Software Co., Ltd. | APPLICATION INTERACTION METHOD, INTERACTION METHOD AND DEVICE |
US11010823B2 (en) * | 2017-07-28 | 2021-05-18 | Citrix Systems, Inc. | Connector leasing for long-running software operations |
US10621005B2 (en) * | 2017-08-31 | 2020-04-14 | Oracle International Corporation | Systems and methods for providing zero down time and scalability in orchestration cloud services |
US20200142746A1 (en) * | 2017-12-29 | 2020-05-07 | Virtual Instruments Corporation | Methods and system for throttling analytics processing |
CN110413333B (zh) * | 2018-04-28 | 2022-04-22 | 网宿科技股份有限公司 | 基于NodeJS和PowerShell的Windows系统的微服务管理方法和装置 |
US10963346B2 (en) | 2018-06-05 | 2021-03-30 | Oracle International Corporation | Scalable methods and systems for approximating statistical distributions |
US10997517B2 (en) | 2018-06-05 | 2021-05-04 | Oracle International Corporation | Methods and systems for aggregating distribution approximations |
US11074094B2 (en) | 2018-08-29 | 2021-07-27 | Red Hat, Inc. | Securing hypercall support for user space processes in virtual machines |
US12001926B2 (en) | 2018-10-23 | 2024-06-04 | Oracle International Corporation | Systems and methods for detecting long term seasons |
US11138090B2 (en) | 2018-10-23 | 2021-10-05 | Oracle International Corporation | Systems and methods for forecasting time series with variable seasonality |
US10855548B2 (en) | 2019-02-15 | 2020-12-01 | Oracle International Corporation | Systems and methods for automatically detecting, summarizing, and responding to anomalies |
CN113574515B (zh) * | 2019-03-04 | 2024-04-26 | 日立数据管理有限公司 | 用于分布式系统中的异步存储管理的系统和方法 |
US11121983B1 (en) * | 2019-03-20 | 2021-09-14 | United Services Automobile Association (Usaa) | Reactive throttle infrastructure |
US11748178B2 (en) * | 2019-04-02 | 2023-09-05 | Intel Corporation | Scalable and accelerated function as a service calling architecture |
US11533326B2 (en) | 2019-05-01 | 2022-12-20 | Oracle International Corporation | Systems and methods for multivariate anomaly detection in software monitoring |
US11537940B2 (en) | 2019-05-13 | 2022-12-27 | Oracle International Corporation | Systems and methods for unsupervised anomaly detection using non-parametric tolerance intervals over a sliding window of t-digests |
US11625505B2 (en) | 2019-08-19 | 2023-04-11 | Microsoft Technology Licensing, Llc | Processor with network stack domain and system domain using separate memory regions |
US11887015B2 (en) | 2019-09-13 | 2024-01-30 | Oracle International Corporation | Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems |
US11470118B2 (en) * | 2019-11-01 | 2022-10-11 | Microsoft Technology Licensing, Llc | Processor with network processing stack having separate binary |
CN111880864B (zh) * | 2020-07-30 | 2023-12-26 | 平安国际智慧城市科技股份有限公司 | 基于http的模型调用方法、系统、计算机设备和存储介质 |
US11582327B1 (en) | 2021-10-21 | 2023-02-14 | Citrix Systems, Inc. | Dynamically coordinated service maintenance operations and adaptive service polling for microservices |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555385A (en) | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US5797005A (en) | 1994-12-30 | 1998-08-18 | International Business Machines Corporation | Shared queue structure for data integrity |
US6678735B1 (en) | 2000-01-26 | 2004-01-13 | Nortel Networks Limited | Method and apparatus for a sip client manager |
US20020116205A1 (en) | 2000-05-19 | 2002-08-22 | Ankireddipally Lakshmi Narasimha | Distributed transaction processing system |
US7689560B2 (en) | 2000-10-13 | 2010-03-30 | Miosoft Corporation | Persistent data storage techniques |
US20020141404A1 (en) | 2001-04-03 | 2002-10-03 | Michael Wengrovitz | Call routing using information in session initiation protocol messages |
US6886041B2 (en) | 2001-10-05 | 2005-04-26 | Bea Systems, Inc. | System for application server messaging with multiple dispatch pools |
US7376693B2 (en) | 2002-02-08 | 2008-05-20 | Jp Morgan Chase & Company | System architecture for distributed computing and method of using the system |
US7103628B2 (en) | 2002-06-20 | 2006-09-05 | Jp Morgan Chase & Co. | System and method for dividing computations |
US7640547B2 (en) | 2002-02-08 | 2009-12-29 | Jpmorgan Chase & Co. | System and method for allocating computing resources of a distributed computing system |
US6895472B2 (en) | 2002-06-21 | 2005-05-17 | Jp Morgan & Chase | System and method for caching results |
US8271882B2 (en) | 2002-04-24 | 2012-09-18 | Sap Ag | Processing life and work events |
GB0217088D0 (en) | 2002-07-24 | 2002-09-04 | Ibm | Asynchronous messaging in storage area network |
US6957113B1 (en) | 2002-09-06 | 2005-10-18 | National Semiconductor Corporation | Systems for allocating multi-function resources in a process system and methods of operating the same |
US20040205776A1 (en) | 2003-04-10 | 2004-10-14 | International Business Machines Corporation | Method and apparatus for concurrent update and activation of partition firmware on a logical partitioned data processing system |
US7467102B2 (en) | 2003-09-11 | 2008-12-16 | International Business Machines Corporation | Request type grid computing |
US20050060704A1 (en) * | 2003-09-17 | 2005-03-17 | International Business Machines Corporation | Managing processing within computing environments including initiation of virtual machines |
US7908313B2 (en) | 2004-07-21 | 2011-03-15 | The Mathworks, Inc. | Instrument-based distributed computing systems |
US7512769B1 (en) | 2004-10-06 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Process migration |
US7409719B2 (en) * | 2004-12-21 | 2008-08-05 | Microsoft Corporation | Computer security management, such as in a virtual machine or hardened operating system |
WO2007090161A2 (en) | 2006-01-31 | 2007-08-09 | Captaris, Inc. | Workflow applications |
JP4958034B2 (ja) | 2006-04-28 | 2012-06-20 | 克秀 浅沼 | グループ分けシステム、グループ分け管理サーバ及びグループ分けプログラム |
US7885969B2 (en) | 2007-09-17 | 2011-02-08 | International Business Machines Corporation | System and method for executing compute-intensive database user-defined programs on an attached high-performance parallel computer |
US9021503B2 (en) | 2007-11-16 | 2015-04-28 | Microsoft Technology Licensing, Llc | Coordinating application state and communication medium state |
US8505030B2 (en) | 2007-11-16 | 2013-08-06 | Microsoft Corporation | Coordinating resources using a volatile network intermediary |
US8719841B2 (en) | 2007-11-16 | 2014-05-06 | Microsoft Corporation | Dispatch mechanism for coordinating application and communication medium state |
US7743107B2 (en) * | 2007-12-07 | 2010-06-22 | International Business Machines Corporation | System and method for using remote module on VIOS to manage backups to remote backup servers |
US8984530B2 (en) | 2008-01-31 | 2015-03-17 | Microsoft Corporation | Queued message dispatch |
US8972978B2 (en) | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US8849971B2 (en) * | 2008-05-28 | 2014-09-30 | Red Hat, Inc. | Load balancing in cloud-based networks |
US8171495B2 (en) | 2008-05-29 | 2012-05-01 | Microsoft Corporation | Queue dispatch using deferred acknowledgement |
US20110004701A1 (en) | 2008-12-29 | 2011-01-06 | Debashish Panda | Provisioning highly available services for integrated enterprise and communication |
US8776090B2 (en) * | 2009-02-17 | 2014-07-08 | Broadcom Corporation | Method and system for network abstraction and virtualization for a single operating system (OS) |
US8433749B2 (en) | 2009-04-15 | 2013-04-30 | Accenture Global Services Limited | Method and system for client-side scaling of web server farm architectures in a cloud data center |
JP2010271980A (ja) | 2009-05-22 | 2010-12-02 | Access Co Ltd | 端末装置、端末装置の起動方法およびプログラム |
US8301706B2 (en) | 2009-06-15 | 2012-10-30 | Microsoft Corporation | Routing of pooled messages via an intermediary |
US8549267B2 (en) | 2009-12-22 | 2013-10-01 | Intel Corporation | Methods and apparatus to manage partial-commit checkpoints with fixup support |
US8375095B2 (en) | 2009-12-22 | 2013-02-12 | Microsoft Corporation | Out of order durable message processing |
JP5821034B2 (ja) | 2010-03-16 | 2015-11-24 | パナソニックIpマネジメント株式会社 | 情報処理装置、仮想マシン生成方法及びアプリ配信システム |
US20110252208A1 (en) * | 2010-04-12 | 2011-10-13 | Microsoft Corporation | Express-full backup of a cluster shared virtual machine |
US8607242B2 (en) | 2010-09-02 | 2013-12-10 | International Business Machines Corporation | Selecting cloud service providers to perform data processing jobs based on a plan for a cloud pipeline including processing stages |
US9304867B2 (en) * | 2010-09-28 | 2016-04-05 | Amazon Technologies, Inc. | System and method for providing flexible storage and retrieval of snapshot archives |
US8694821B2 (en) | 2010-12-03 | 2014-04-08 | International Business Machines Corporation | Generation of standby images of applications |
US9552215B2 (en) * | 2011-03-08 | 2017-01-24 | Rackspace Us, Inc. | Method and system for transferring a virtual machine |
JP5742410B2 (ja) * | 2011-04-11 | 2015-07-01 | 日本電気株式会社 | フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム |
CN102270104B (zh) * | 2011-07-14 | 2013-07-24 | 华中科技大学 | 虚拟化环境中动态磁盘带宽分配方法 |
US20130067469A1 (en) | 2011-09-14 | 2013-03-14 | Microsoft Corporation | Load Balancing By Endpoints |
US8863129B2 (en) | 2011-12-06 | 2014-10-14 | International Business Machines Corporation | Automated caching and mirroring of immutable data in distributed virtual machines via native interface components |
WO2013112151A1 (en) | 2012-01-26 | 2013-08-01 | Empire Technology Development Llc | Data center with continuous world switch security |
US8881115B2 (en) | 2012-04-17 | 2014-11-04 | International Business Machines Corporation | Compiling source code for debugging with expanded snapshots |
US8839243B2 (en) | 2012-04-23 | 2014-09-16 | International Business Machines Corporation | Remediating resource overload |
US9189959B2 (en) * | 2012-06-27 | 2015-11-17 | International Business Machines Corporation | Navigation system providing a super detail mode of operation to assist user's driving |
US9563480B2 (en) * | 2012-08-21 | 2017-02-07 | Rackspace Us, Inc. | Multi-level cloud computing system |
-
2013
- 2013-08-12 US US13/964,889 patent/US9280372B2/en active Active
-
2014
- 2014-08-11 EP EP14836658.6A patent/EP3033677B1/en active Active
- 2014-08-11 CA CA2921180A patent/CA2921180C/en active Active
- 2014-08-11 CN CN201480052085.6A patent/CN105556475B/zh active Active
- 2014-08-11 WO PCT/US2014/050597 patent/WO2015023607A1/en active Application Filing
- 2014-08-11 JP JP2016533499A patent/JP6419815B2/ja active Active
- 2014-08-11 CN CN202010139588.4A patent/CN111338762B/zh active Active
-
2016
- 2016-03-04 US US15/061,932 patent/US10353725B2/en active Active
-
2018
- 2018-10-10 JP JP2018191339A patent/JP6849642B2/ja active Active
-
2019
- 2019-11-06 JP JP2019201248A patent/JP6764989B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6419815B2 (ja) | 2018-11-07 |
CN111338762B (zh) | 2024-04-23 |
US20150046920A1 (en) | 2015-02-12 |
WO2015023607A1 (en) | 2015-02-19 |
EP3033677B1 (en) | 2021-06-23 |
EP3033677A4 (en) | 2017-03-22 |
CN105556475B (zh) | 2020-03-31 |
US9280372B2 (en) | 2016-03-08 |
CN111338762A (zh) | 2020-06-26 |
JP6849642B2 (ja) | 2021-03-24 |
CA2921180A1 (en) | 2015-02-19 |
CA2921180C (en) | 2023-04-04 |
EP3033677A1 (en) | 2016-06-22 |
JP2020038692A (ja) | 2020-03-12 |
US10353725B2 (en) | 2019-07-16 |
JP2019023915A (ja) | 2019-02-14 |
CN105556475A (zh) | 2016-05-04 |
US20160188360A1 (en) | 2016-06-30 |
JP2016529620A (ja) | 2016-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6764989B2 (ja) | 要求処理技術 | |
US11068309B2 (en) | Per request computer system instances | |
US11093270B2 (en) | Fast-booting application image | |
Lagar-Cavilla et al. | Snowflock: Virtual machine cloning as a first-class cloud primitive | |
US10013275B2 (en) | Executing code referenced from a microservice registry | |
US10248175B2 (en) | Off-line affinity-aware parallel zeroing of memory in non-uniform memory access (NUMA) servers | |
US11886898B2 (en) | GPU-remoting latency aware virtual machine migration | |
Arya et al. | Design and implementation for checkpointing of distributed resources using process-level virtualization | |
CN110781159B (zh) | Ceph目录文件信息读取方法、装置、服务器及存储介质 | |
US20160283258A1 (en) | Sharing memory between guests | |
US9158601B2 (en) | Multithreaded event handling using partitioned event de-multiplexers | |
US20170371707A1 (en) | Data analysis in storage system | |
US8745620B2 (en) | Software tool and method for updating a virtual appliance | |
US20190317789A1 (en) | Cluster check services for computing clusters | |
Kang et al. | Partial migration technique for GPGPU tasks to Prevent GPU Memory Starvation in RPC‐based GPU Virtualization | |
Cosulschi et al. | Running Hadoop applications in virtualization environment | |
Beerelli | Using cloud virtualization technologies for basic database operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191106 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191106 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200511 |
|
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: 20200817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200914 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6764989 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 |