JPH0797365B2 - 分散アプリケーション・プログラム実行方法 - Google Patents

分散アプリケーション・プログラム実行方法

Info

Publication number
JPH0797365B2
JPH0797365B2 JP1252505A JP25250589A JPH0797365B2 JP H0797365 B2 JPH0797365 B2 JP H0797365B2 JP 1252505 A JP1252505 A JP 1252505A JP 25250589 A JP25250589 A JP 25250589A JP H0797365 B2 JPH0797365 B2 JP H0797365B2
Authority
JP
Japan
Prior art keywords
virtual machine
application program
distributed application
request
pool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1252505A
Other languages
English (en)
Other versions
JPH02122363A (ja
Inventor
デヴイド・ウエル・シヨーター
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH02122363A publication Critical patent/JPH02122363A/ja
Publication of JPH0797365B2 publication Critical patent/JPH0797365B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は複数のインテリジエントワークステーシヨンが
接続されたホストシステムを含むデータ処理ネツトワー
クにおけるプログラム間通信(inter−program communi
cation)に関し、さらに詳しくいえば、比較的多数の端
末によつて同時にネツトワーク上で実行される1つのア
プリケーシヨンの分散された部分間における通信に関す
る。
B.従来技術及びその課題 従来技術は様々なコンピユータネツトワークを開示して
いる。IBM System Journal第22巻第4号(1983年)はIB
MのSNA(System Network Architecture)の概観に関す
る一連の論文を掲載している。この刊行物の第345頁で
は、ネツトワークは、端末、コントローラ、プロセツサ
及びこれらを接続するリンクから成る1つの構成として
定義されている。このような構成がデータ処理及び情報
交換を含むユーザのアプリケーシヨンをサポートし、か
つ、SNAの仕様に適合するとき、それはSNAネツトワーク
と呼ばれる。SNAは1つのネツトワークにおける物理的
エンテイテイに関連する論理的エンテイテイを規定し、
これらの論理的エンテイテイの間の対話についての規則
を定める。
SNAネツトワークの論理的エンテイテイはネツトワーク
アドレス可能単位及びそれらを接続する経路制御ネツト
ワークを含む。ネツトワークアドレス可能単位は“セツ
シヨン”と呼ばれる論理的な接続を用いて互いに通信す
る。ネツトワークアドレス可能単位(以下「NAU」とも
いう)の3つのタイプは論理装置(以下「LU」ともい
う)、物理装置(以下「PU」ともいう)及びシステムサ
ービス制御点(以下「SSCP」ともいう)である。これら
は次のように定義される。
論理装置(LU): LUはエンドユーザがこれを使つてそのSNAネツトワーク
をアクセスできる1つのポートである。エンドユーザは
1つのLUを用いて他のエンドユーザと通信し、SSCPのサ
ービスを要求する。
物理装置(PU): PUはSSCPと協働してノードの資源を管理する1つの構成
要素である。
システムサービス制御点(SSCP): SSCPは構成管理、問題判別及びエンドユーザのためのデ
イレクトリサービスに関する1つの焦点である。SSCPは
LU及びPUとのセツシヨンを保有することができる。その
ようなセツシヨンが生じると、そのLU又はPUはSSCPの定
義域内に存在する。LU及びPUとのセツシヨンの他に、SS
CPは異なる定義域におけるLU間のセツシヨンの開始及び
終了を調整するために互いに通信することもできる。
ハードウエアの観点からいうと、単純なネツトワークは
処理ユニツトを有するホストシステム及び個々のユーザ
に割振られた複数の遠隔の端末を含む。これらの遠隔の
端末は1以上の通信リンクを介してホストシステムに選
択的に接続できる。これらのリンクは単に同軸ケーブル
であつたり、専用の電話回線であつたり、場合によつて
は衛星通信リンクであつたりする。
ホスト処理ユニツトは多数の仮想計算機ないしはそれと
機能的に同等のものについての生成をサポートする。こ
れらの仮想計算機は要求時にエンドユーザに割振られ
る。1つの仮想計算機はホストシステムのホストプロセ
ツサのハードウエアをタイムシエアリングすることによ
つて、その割振られたエンドユーザのタスクを処理す
る。ホストシステムによつては1以上のハードウエアプ
ロセツサを含むものもあり、この場合、複数のプロセツ
サが並行して走行するので、ホストでは真の同時処理が
行われる。しかし、タイムシエアリングの技術によつて
仮想計算機のためのデータ処理タスクを“並行”して走
行する1つだけのハードウエアが存在するという方が一
般的である。これは端末におけるエンドユーザにとつて
はトランスペアレントである。
端末の2つの一般的なタイプがデータ処理ネツトワーク
において使用されている。1つは、キーボード及びデイ
スプレイ装置しか持たず、ホストシステムとの接続を要
求する以外の処理能力をほとんどまたは全く有しないよ
うな“ダム端末”と呼ばれるものである。もう1つはイ
ンテリジエントワークステーシヨン(IWS)と呼ばれる
もので、これには、自己の処理ユニツト、オペレーテイ
ングシステム及び周辺装置が設けられている。IWSとパ
ーソナルコンピユータという用語は、しばしば、交換可
能に用いられている。容易に入手できるパーソナルコン
ピユータは非常に魅力的な価格及び性能を有するので、
新しいネツトワークのほとんどにはIWSタイプの端末が
設置され、一方、古いネツトワークの多くも、ダム端末
をIWSに交換することによつて修正されつつある。
ネツトワークの各エンドユーザに自己処理能力を与える
と、従前はホストで行われていたデータ処理タスクの多
くをホストCPUから解放することができる。したがつて
ホストCPUによつて処理されるタスクの性質が変化し、
電子メールや電子カレンダの如きより高度なアプリケー
シヨンがホストシステムの制御の下でネツトワークに実
現されている。これらのアプリケーシヨンの双方は、そ
のアプリケーシヨンプログラムの一部がホストシステム
に存在し、別の部分がIWSに存在するような分散アプリ
ケーションプログラムと呼ばれる。
現行のデータ処理ネツトワークの多くは、1974年に初め
て記載されたIBM社のSNAアーキテクチヤに従つて設計さ
れている。それ以来、様々な新しい機能及びサービスが
付加されてきた。前に示唆したように、SNAネツトワー
クはデータリンクによつて相互に接続された複数のノー
ドとしてみることができる。これらの各ノードでは、経
路制御素子が資源マネジヤの間で経路情報単位(PIU)
と呼ばれる情報パケツトを送る。これらの経路の論理的
な接続はセツシヨンと呼ばれる。したがつてデータのた
めの移送ネツトワークは経路制御素子及びデータリンク
制御素子によつて定められる。
ノードは複数のリンクによつて接続することができ、複
数のLUを含む。SNAアーキテクチヤのわく組内でLUのセ
ツシヨン及びプロトコルの様々なタイプが確立されてき
た。セツシヨンには一般的な3つのクラスが存在する。
第1のクラスはSNAによつて指定されない。第2のクラ
スは端末を含み、第3のクラスはプログラム間通信(Pr
ogram to program communication)を含む。たとえば、
LU6はLU2及びLU7のようなLUタイプの制約をなくすSNAで
定義されたプログラム間通信(inter−program communi
cation)を提供する。LU6.2はAPPC(Advanced Program
to Program communication)と呼ばれている。
論理装置はメツセージポート以上のものである。LUは1
以上のローカルプログラムを含むプログラム間通信のよ
うなオペレーテイングシステムのサービスを提供する。
各アプリケーシヨンプログラムはLUをローカルオペレー
テイングシステムとみなし、セツシヨンによつて接続さ
れた柔軟結合式LUのネツトワークを分散オペレーテイン
グシステムとみなす。
LUは複数の資源をそれらのプログラムに割振る。これは
特定のハードウエア及びその構成に依存する。使用可能
となつた資源のうちの幾つかは遠隔であり他の資源はロ
ーカルである(すなわち、そのアプリケーシヨンと同じ
プログラムに関連する)。これらのセツシヨンは各LUで
ローカル資源とみなされるが、特定のLUの間で共用され
る。
1つのLUの制御機構は資源の割振りである。プログラム
はオペレータに資源へのアクセスを要求する。LU又はLU
で走行するプログラムの間でメツセージを伝達するセツ
シヨンは共有資源とみなされる。1つのセツシヨンは順
次的に実行される複数の会話に分けられる。
1つのセツシヨンで接続される2つのLUはセツシヨンを
“会話”として使用するためのアプリケーシヨンプログ
ラムに割振ることに関して共通の責任を有する。したが
つて、これらのアプリケーシヨンプログラムは、しばし
ば、“トランザクシヨンプログラム”と呼ばれる。
LUの間における成功的な接続は、まず2つのLU間のセツ
シヨンを活動化し、次にメツセージデータの交換を促進
するように機能するプロトコルの共通のセツトの結果と
して行われる。
IBM社の刊行物であるSC30-3112には、たとえばプログラ
ミング言語の宣言、ネツトワークエンテイテイ間で流通
するメツセージのフオーマツト、これらのメツセージの
生成、操作、変換、送信及び返送を行うプログラムなど
を定めることによつてSNAが記述されている。
IBM社によつて刊行されたGC30-3084と呼ばれるLU6.2に
関するSNAトランザクシヨンプログラムリフアレンスマ
ニユアルは製品を導入することによつて提供される機能
を記述する動詞(verb)を定める。
SNAタイプのネツトワークに接続されたIWSであつてこの
IWSとホストシステムとの間に分散されたアプリケーシ
ヨンプログラムを処理するためにLU6.2のプロトコルを
用いるIWSは、そのオペレーテイングシステムが端末で
並行して2以上のアプリケーシヨンを走行しない限りは
効率よく働く。しかしながら、IWSがOS/2(OS/2によつ
てIBM PS/2の如きIWSは分散された並行アプリケーシヨ
ンプログラムを走行することができる)のようなオペレ
ーテイングシステムの下で作動するときは、PS/2上の並
行動作の利点は失われてしまう。というのは、ホストで
は端末で並行して走行する個々のトランザクシヨンが直
列化されるからある。トランザクシヨンの直列化が生じ
るのは次のような理由による。すなわち、ホストはその
セツシヨンが活動中である限り、ユーザID及び特定の端
末に永続的に関連する仮想計算機を1つしか生成しない
からである。
ホストにおける直列化を避けるため、端末で走行してい
る第2のアプリケーシヨンは、その第2のアプリケーシ
ヨンのためだけに別の仮想マシンをホストで確立させる
べく、異なるユーザIDで走行しなければならない。
米国特許第5062037号に記載された発明は、データ処理
ネツトワークの1つのインテリジエントワークステーシ
ヨンで並行して走行する2以上に分散されたアプリケー
シヨンをホストシステムによつて生成される個々の仮想
計算機で実行可能としてそれらのアプリケーシヨンが直
列化されるのを防止すると共にホスト及び端末の双方で
各アプリケーシヨンが互いに並行して走行できるように
するための方法を開示している。
この方法によれば、一部がホスト側に存在しかつその協
働部分が1つのIWSエンドユーザ端末に存在するような
分散プログラムにおいて規定されたタスクを処理するた
め1つの分散プログラムに割当てられる前に走行準備完
了状態にされる複数の仮想計算機(VM)をホストシステ
ムが生成する。走行準備完了状態の仮想計算機のプール
はプールマネジヤの制御の下でホストシステムが初期設
定されるときに自動的に生成されることが好ましい。な
お、プールマネジヤは、ホストシステムに存在するプロ
グラムであつて他の主な機能として1つの分散アプリケ
ーシヨンプログラム、事前に割当てられた論理装置及び
ユーザIDを識別するエンドユーザの要求に応答してその
プールから遊休の仮想計算機を割当てる機能を有するも
のである。仮想計算機はLU6.2の1つの会話を完了する
のに必要な期間だけ割当てられる。その会話が終了する
と、その仮想計算機はおそらく異なる別のアプリケーシ
ヨンプログラム及びユーザへの後の割当てのためプール
に戻される。
この方法によれば、IWSで並行して実行される2つの分
散アプリケーシヨンプログラムを、それらの会話要求が
たとえ同じユーザIDを有する場合であつても、2つの別
個の仮想計算機においてホストで並行して走行させるこ
とができる。上述のシステムは分散アプリケーシヨンプ
ログラムの処理を改善するけれども、比較的多数のユー
ザがほとんど同じ期間で同じ分散アプリケーシヨンプロ
グラムをアクセスしたいときに生ずる問題のことは考慮
していない。
このタイプの問題の例は、ネツトワーク上の様々な端末
の間でメモ、レター及びレポート等の転送を行う機能を
有する“MAIL"と呼ばれる1つの分散アプリケーシヨン
プログラムである。そのネツトワークが数千以上のユー
ザを含む現に商用となつている幾つかのネツトワークと
同様なものであると仮定すると、おそらく、そのうちの
1000くらいは同じ場所から毎日ほとんど同じ時間で仕事
を始めるであろう。様々な異なる理由から、これらのエ
ンドユーザの各々はシステムを最後に活動化して以後、
各自の“メイルボツクス”に記憶されたメツセージを有
することができる。そのネツトワークが1つの分散アプ
リケーシヨンプログラムでこのピーク活動状態にされる
と、その応答時間は悪影響を受ける。というのは、かな
りの時間が仮想計算機の確立のためホストプロセツサに
よつて消費されるからである。仮想計算機のプールが生
成され走行準備完了状態にされると、その仮想計算機上
の幾つかのアプリケーシヨンを初期設定するのに必要な
時間が抑制される。本発明はこのような問題を解決する
ことを目的としている。
C.課題を解決するための手段 この目的を達成するため、SNAのLU6.2プトロコルに従つ
てプログラム間通信をサポートするSNAタイプのデータ
処理ネツトワークにおいて分散されたアプリケーシヨン
プログラムを実行する方法において、上記アプリケーシ
ヨンプログラムは端末で走行する第1の部分と上記デー
タ処理ネツトワークのホストプロセツサで走行する第2
の部分を含み、上記ホストプロセツサは要求に応答して
上記端末と上記ホストプロセツサとの間のLU6.2の会話
を開始せしめるものである場合に本発明の方法は、 (A)下記の(1)ないし(4)の機能を有する仮想計
算機のプールマネジヤを確立するステツプと、 (1)上記ホストプロセツサにおいて上記要求を受け取
る前に走行準備完了状態にされる少なくとも2つの仮想
計算機を生成すること、 (2)上記仮想計算機が生成された後であつて最初の要
求を受け取る前に上記アプリケーシヨンプログラムのホ
ストに存在する部分を初期設定することによつて上記仮
想計算機の各々を下準備すること、 (3)上記アプリケーシヨンプログラムに関係する第1
の端末から受け取られたLU6.2の会話の要求を処理する
ため上記下準備された仮想計算機を動的に割振ることに
より、上記要求が直ちに受諾されかつ上記割振られた仮
想計算機と上記第1の端末との間の会話を開始できるよ
うにすること、 (4)上記アプリケーシヨンプログラムに関係する新し
い割振りのため上記会話が終了したときに上記割振られ
た仮想計算機をプールに戻すこと、 (B)上記プールにおける上記仮想計算機を管理するた
め上記プールマネジヤによつて使用されるプールマネジ
ヤのデータ構造を提供するステツプと、 を有することを特徴としている。
以下、本発明の作用を実施例と共に説明する。
D.実施例 はじめに本発明の実施例を概説する。本実施例の方法で
は、仮想計算機のプールマネジヤがホスト(ないしは上
位ともいう)で確立される。プールマネジヤはホストの
オペレーテイングシステムとインターフエースし、2つ
の主要な機能を有する。第1の機能は仮想計算機のプー
ルを自動的に生成することであり、このプールにおいて
はその全ての仮想計算機が走行準備完了状態にされ、ま
た一部の仮想計算機には分散アプリケーシヨンプログラ
ムを走行させるための下準備(Prime)が行われてい
る。分散アプリケーシヨンプログラムのうちホストに存
在する部分が仮想計算機上で初期設定された場合に、そ
の仮想計算機は下準備がなされたということとする。
第2の機能は指定された分散アプリケーシヨンプログラ
ムとの会話のためのLU6.2の要求リクエストを、上記分
散アプリケーシヨンプログラムのホスト部分を下準備さ
れたアイドル状態(遊休状態)の仮想計算機のうちの1
つに割当ることである。
プールマネジヤは、さらに、指定された分散アプリケー
シヨンプログラムについて予想される要求を反映する所
定のアルゴリズムに従つて下準備(Prime)のされた仮
想計算機のグループのサイズを管理する制御機能を有す
る。
プールマネジヤは、さらに、プール中の仮想計算機の目
録及び各仮想計算機の状況を保持できるよう、プール中
の各仮想計算機について複数フイールドからなるエント
リを有するデータ構造を確立する。
ホストが分散アプリケーシヨンプログラムの対応部分間
のプログラム間通信を伴うセツシヨンを開始させるため
のネツトワークの端末から要求を受け取ると、プールマ
ネジヤはセツシヨン接続の確立に通常要求される必要な
データを組み立てる。会話開始の要求に応答して確立さ
れた仮想計算機のプールから1つのアイドル状態の仮想
計算機が割当てられる。その要求がグループ中の下準備
された仮想計算機に対するアプリケーションプログラム
を識別すると、そのグループからアイドル状態の仮想計
算機がその会話要求を処理するために割当てられる。
会話が完了すると、割当てられた仮想計算機は新しい割
当てを待機すべくそのグループに戻され、下準備された
状態で保持される。プールマネジヤはグループ中のビジ
ー状態にある仮想計算機の数を監視し、確立されたしき
い値に基づいてグループ中に存する下準備された仮想計
算機の合計の数を減らしたり増やしたりする。
以下、図面を参照して本実施例を詳述する。
第1図は対話式タイプの端末又はIWS21(第2図参照)
のSNAネツトワーク20を構成する情報処理システムを示
す図である。前述の如く、このネツトワークはホストの
中央処理システム23に相互接続された複数の端末21を含
む。第1図に示すように、ホスト23は通信リンク24によ
つてホスト処理システム25に接続され、ホスト処理シス
テム25はさらに端末21の他のSNAネツトワークを接続し
ている。機能的にいうと、このシステムは各端末すなわ
ち各エンドユーザにホスト及び確立されたSNA通信プロ
トコルを用いる1以上の他の端末すなわちユーザとの通
信を可能にする。したがつて、直列的に接続された様々
な通信リンクはユーザに対してトランスペアレントであ
る。
ホストシステムはIBM システム370及びIBM VM又はMVSオ
ペレーテイングシステムの如き仮想計算機タイプのオペ
レーテイングシステムで例示しうるホスト処理ユニツト
を含む。
第1図に示すSNAネツトワークは各端末のユーザに利用
可能な“MAIL"及び“CALENDER"と呼ばれる2つの分散ア
プリケーシヨンをサポートすることに留意されたい。ア
プリケーシヨンプログラム“MAIL"によれば端末におけ
るユーザはレターの如き文書を作成しそれをそのネツト
ワーク上で指定されたノードの1以上の他のユーザに送
ることができる。送り手は一定の論理的な中央システム
のロケーシヨンでその文書をホストシステムに記憶する
ことができる。そのレターの各受信人は彼の端末でアプ
リケーシヨンプログラム“MAIL"を同様に使用すること
によつてその文書を後で検索できる機能を有する。アプ
リケーシヨン“CALENDER"は各端末のユーザに対して電
子的カレンダを保持する機能を有する。このアプリケー
シヨンによれば、たとえば、エンドユーザはミーテイン
グのスケジユールの前に他のエンドユーザのカレンダを
みて、彼らの空き時間を判断することができる。このよ
うなシステムは公知であり、現に広く普及している。そ
うした分散アプリケーシヨンの一般的な構成及び動作は
よく知られているので、これについては本発明の理解に
必要な部分だけを詳細に説明する。
そこで、以下の記載においては、ネツトワーク上の各ワ
ークステーシヨンはIBM OS/2オペレーテイングシステム
のようなマルチタスクオペレーテイングシステムを用い
るIBM PS/2パーソナルコンピユータのようなインテリジ
エントワークステーシヨンであると仮定する。さらに、
分散アプリケーシヨンのためにLU6.2タイプのセツシヨ
ン及び会話をサポートする通常のSNAサービスがそのシ
ステムによつて提供されているものと仮定する。したが
つて第1図に示した端末は“MAIL"及び“CALENDER"のよ
うな2つの分散アプリケーシヨンプログラムを並行して
処理することができる。
第2図は第1図に示した対話式データ処理端末21の1つ
の機能的な構成要素を示す図である。この端末はマイク
ロプロセツサ32、メモリ33及び制御ブロツク34を含む処
理ユニツト31を有する。マイクロプロセツサ32はたとえ
ばインテル社の80386である。制御ブロツク34はマイク
ロプロセツサ32とメモリ33との間の対話の他に入出力オ
ペレーシヨンを制御するという機能を有する。
端末は、さらに、デイスプレイ36、キーボード37、プリ
ンタ38、記憶装置39及びモデム40を含む一群の周辺装置
を有する。
処理ユニツト31は、たとえば、IBM PS/2モデル80のよう
なIBMパーソナルコンピユータから成るシステムユニツ
トに対応する。処理ユニツト31には、オペレーテイング
システムが設けられている。これはIBM PS/2モデル80を
走行させるのに普通に用いられるマルチタスクのオペレ
ーテイングシステムOS/2であつてもよい。このオペレー
テイングシステムはユーザがその走行を選択したアプリ
ケーシヨンプログラムと共にメモリ33に記憶されてい
る。このシステムが“MAIL"又は“CALENDER"のような分
散アプリケーシヨンプログラムをサポートするときは、
その分散アプリケーシヨンプログラムの一部(たとえば
部分A)が端末で記憶され、他の部分Bがホストシステ
ムで記憶される。メモリ33の容量及びそのアプリケーシ
ヨンプログラムのサイズに基づき、必要に応じてこれら
のプログラムの部分部分をデイスク記憶装置39からメモ
リに転送することができる。デイスク記憶装置39は、た
とえば、40メガバイトのハードデイスクドライブ及びデ
イスケツトドライブを有する。デイスク記憶装置39の基
本的な機能は、システムによつて使用され必要な場合に
メモリ33へ容易に転送できるプログラム及びデータを記
憶することである。デイスケツトドライブの機能はプロ
グラム及びデータをシステムに入力するための除去可能
記憶装置機構と、他の端末又はシステムで使用するため
容易に移送できる形でデータを記憶するための伝達手段
とを提供することである。
デイスプレイ36とキーボード37とで端末の対話性を提供
する。通常のオペレーシヨンの場合、オペレータによる
特定のキーストロークによつてシステムが与える対話
は、ほとんどの場合、その時点でオペレータにデイスプ
レイされている内容に依存する。
ある場合には、オペレータはコマンドをシステムに入力
することによつて一定の機能をシステムに遂行させる。
またある場合には、システムは一般的にメニユ又はメツ
セージの画面のプロンプトタイプをデイスプレイするこ
とによつて一定のデータのエントリを要求する。オペレ
ータとシステムとの間の対話の深さはオペレーテイング
システムのタイプ及びアプリケーシヨンプログラムによ
つて変わるが、本発明が使用される端末に必要な特性で
ある。
第2図に示した端末はさらにプリンタ38を含む。これは
データのハードコピーを出力するという機能を有する。
モデム40は1以上のSNA通信リンクを介してデータを端
末からホストシステムに転送するという機能を有する。
第3図はSNAタイプのネツトワークで使用されるプログ
ラミングの種々の層を示す図である。SNAのプログラミ
ング環境は一般には図示の如く7つの層から成るものと
みなすことができる。上層はエンドユーザ層で、これは
エンドユーザのプログラムから成る。第2の層はNAUサ
ービス層と呼ばれる。これらのサービスには、たとえ
ば、プレゼンテーシヨンサービス、端末サービス及び特
定のアプリケーシヨンのためのデータのフオーマツテイ
ングが含まれる。第3の層はデータフロー制御層と呼ば
れる。これは、送信/受信モードを保持し、ハイレベル
のエラー訂正を行うという機能を有する。第4の層はデ
ータ伝送制御層と呼ばれる。これは暗号機構及びセツシ
ヨンレベルの調整のような機能を遂行する。第5の層
は、経路指定、データ単位のセグメント化及び仮想経路
指定の調整を行う経路制御層である。第6の層はデータ
リンク層である。これはリンクレベルのアドレス指定、
シーケンス化及びエラー制御を行う。最後の第7層は物
理層である。これは、たとえば、様々な信号のためのコ
ネクタのピン割当てを定めるものである。
APPCはNAUサービス、データフロー制御及び伝送制御を
定める。前掲のIBM System Journalの第306頁に説明さ
れているように、LU6.2の会話機能を規定する方法は動
詞(verb)と呼ばれるプログラム言語的なステートメン
トによるものである。セツシヨンのフローを生成する手
続き論理によつて完全に定められる動詞を伴うドキユメ
ンテーシヨンは英語の散文よりはるかに正確である。
第4B図はこれらの動詞がどのようにして会話資源のため
のトランザクシヨンプログラムの間(すなわち、その分
散アプリケーシヨンプログラムの部分Aと部分Bとの
間)における対話を定めるのかを示す図である。動詞の
セツトはアプリケーシヨンプログラムインターフエース
ではなく、プロトコル境界と呼ばれる。第4A図及び第4B
図に示すように、プレゼンテーシヨンサービスは動詞を
解釈するものであり、各動詞についてのサブルーチンと
して考えることができる。LU資源マネジヤは、空きセツ
シヨン及び未処理の割振り要求の待ち行列を維持しなが
ら、会話資源の割振り及びセツシヨンへの会話の割当て
を行う。以下のLU6.2の動詞の機能は前掲のIBM System
Journalの第307頁に説明されている。
そこで説明されているLU6.2の動詞はSEND_DATA,RECEIVE
_AND_WAIT,PREPARE_TO_RECEIVE,FLUSH,REQUEST_TO_SEN
D,SEND_ERROR,CONFIRM,ALLOCATE(通信要求ともい
う。)及びDEALLOCATE(通信解除要求ともいう。)であ
る。
動詞“ALLOCATE"は指名した相手方のプログラムとの会
話を構築することによつて他のLUとの新しい活動を開始
する。指名した相手方は実行状態にされ、それを開始し
た会話へのアドレス可能性が付与される。動詞“ALLOCA
TE"は以下に示す幾つかのパラメータを有する。
1.LU_NAME 相手方のプログラムが所在するLUの名前 2.TPN 会話が要求されている相手方のプログラムのトランザク
シヨンプログラム名 3.MODE_NAME 会話を提供する移送サービスのタイプを指定する名前。
たとえば、“SECURE"、“BULK"又は“LOW_DELAY"の会話
を要求することができる。LUは適切なMODE_NAMEを有す
るセツシヨンを使つて会話を実行する。
会話のターゲツトは新たに生成されるプロセス又はタス
クである。これは所与の時間におけるそのネツトワーク
の分散処理が、各々が1つの会話によつて接続された2
以上のトランザクシヨンプログラムを含む多数の独立し
た分散トランザクシヨンから成ることを意味する。各相
手方が“DEALLOCATE"を発行できるので、1つの会話は
単一の短いメツセージから、長い又は短いメツセージの
多数回の交換まで様々である。会話は無限に続くことが
でき、LUの障害又はセツシヨンによつてのみ中止しう
る。トランザクシヨンプログラムは“DEALLOCATE"によ
つては終了せず、自己の実行が中止されるまで継続し、
変則的に終了するか、又は制御オペレータのアクシヨン
によつて中止される。
ネツトワークアプリケーシヨンプログラム及びサービス
トランザクシヨンプログラムの双方はLUによつて提供さ
れる実行サービスを使用する。サービストランザクシヨ
ンプログラムは他のトランザクシヨンプログラムと同じ
ようにしてLU上で走行する。これらは人間であるオペレ
ータと対話し、又は純粋なプログラムされたオペレータ
として走行することもできる。サービストランザクシヨ
ンプログラムの多くはそのローカルのLUだけに影響す
る。その例は、たとえば、活動中のトランザクシヨンプ
ログラムの現行のセツトをデイスプレイするコマンドで
ある。
他の制御トランザクシヨン、とりわけ、セツシヨンに関
係するものは、他のLU及び他のLUにおけるアプリケーシ
ヨンに影響を与えることができる。たとえば、会話を使
用するトランザクシヨンを早期に中止するためのローカ
ルのコマンドでその会話を変則的に終了させ、その会話
を共有するトランザクシヨンプログラムに与えるための
相手方のLUに伝送すべき状態変化を生じさせる。また
は、2つのLUによつて共有される1以上のセツシヨンを
活動化するという判断は1つのLUオペレータによつてな
すことができるが、これは他のLUに必ず伝えなければな
らない。SNAのためのAPPCはLUの制御及び調整(特に、
セツシヨンの活動化及び非活動化)のためにLUに与える
幾つかの制御オペレータ動詞を含む。1つの分散サービ
ストランザクシヨンプログラムが1つのLUで始動される
と、それは相手方のLUにおける相手方トランザクシヨン
プログラムとの会話を生成する。これらの2つのトラン
ザクシヨンプログラムが協働して所望の制御アクテイビ
イテイを遂行する。
IBM VMホストオペレーテイングシステムはそのオペレー
テイングシステムにおけるAPPCプロトコル境界サポート
のためのAPPC/VTAMサービス(AVS)と呼ばれる1つの構
成要素を含んでいる。AVSはIBM仮想記憶アクセス方式
(VTAM)に対して1以上のLU6.2の論理装置を定義す
る。VTAMはホストと様々な端末との間の通信層を管理す
るホストコンピユータの構成要素である。AVSはオペレ
ーテイングシステム内の仮想計算機とのAPPC通信のため
のブリツジとして機能する。たとえば、そのVMオペレー
テイングシステム外から発せられたAPPCの動詞“ALLOCA
TE"が受信されたときは、VTAMはその“ALLOCATE"で指定
されたLU名前に対応する活動中のLUが存在するかどうか
を判断する。AVSはそれ以前に特定のLU名前に関する全
てのトラフイツクを処理するということをVTAMに伝え
る。VTAMは、AVSが“ALLOCATE"におけるLU名前に対応す
る1つのLUを定義したとわかり、その“ALLOCATE"をAVS
に渡す。
このプロセスにおいて用いられる“ALLOCATE"で供給さ
れる付加的な情報がある。“ALLOCATE"にはユーザID及
びトランザクシヨンプログラム名(TPN)が含まれる。T
PNは呼び出すべきアプリケーシヨンプログラム、すなわ
ち分散アプリケーシヨンの部分Bである。AVSは“ALLOC
ATE"を受信すると同時に、1つの仮想計算機を生成し、
その仮想計算機に存するオペレーテイングシステム部分
に“ALLOCATE"で指名されたトランザクシヨンプログラ
ムを渡す。その仮想計算機におけるオペレーテイングシ
ステム部分は指名されたアプリケーシヨンを活動化し、
これが様々な初期設定ルーチンで進行する。これらのル
ーチンの後、そのアプリケーシヨンの部分Aと部分Bと
の間で対話を行うことができる。
IWSは2つのアプリケーシヨンプログラムを並行して走
行できるプログラミング構造(たとえばIBM OS/2のオペ
レーテイングシステム)を備えているものと仮定するこ
とができる。
本発明によれば、第4B図に示したようなVMプールマネジ
ヤ(VMPM)と呼ばれる付加的な機能が従来のLU6.2プロ
トコル境界サービスに付加される。VMPMはプロトコル境
界サービス(IBM VMオペレーテイングシステムでは、AV
Sモジユールと呼ばれる)と同様に同じ仮想計算機内で
作動する。VMPMは活動化されると、設置によつて供給さ
れるパラメータのセツトを読取つて、第5図に示すよう
に走行準備完了状態にされる複数の仮想計算機を生成す
る。これらのパラメータにはそのプールにおいて生成す
べき仮想計算機の汎用名が含まれる。これらの汎用名又
は仮想計算機IDはそのオペレーテイングシステムの仮想
計算機のデイレクトリに対して以前に定義されている。
VMPMは各々の仮想計算機に対して1つのオートログマク
ロを発行する。オートログマクロはVMオペレーテイング
システムでは既知の機能である。指名された特定の仮想
計算機に対して発行されると、オートログマクロによつ
てその仮想計算機が生成され仕事を待つ状態に置かれる
(すなわち、1つの分散アプリケーシヨンプログラムの
ホスト常駐部分に対する割当てである)。
上述のオペレーシヨンは前掲の米国特許に記載されたも
のと同様なものである。これらのオペレーシヨンの他
に、本発明に基づく方法では所定数の仮想計算機に事前
に選択された1つの分散アプリケーシヨンプログラムの
ホスト常駐部分を下準備しておく。この下準備ステツプ
は指名された仮想計算機を選択すること、選択された仮
想計算機上で事前に選択された分散アプリケーシヨンプ
ログラムを活動化させることを含む。このプログラムが
活動化されると、AVSから渡される最初のLU6.2の“ALLO
CATE"に応答して要求された会話を受諾できる点まで、
仮想計算機上でそのプログラムは自己を初期設定する。
この下準備プロセスは所定数の仮想計算機に下準備がな
されるまで、そのプールの仮想計算機に対して繰り返さ
れる。たとえば、そのネツトワークが“MAIL"アプリケ
ーシヨン専用の(下準備された)100個の仮想計算機を
欲し、かつ、ピーク時間アクテイビテイが80個(80%)
の使用中の仮想計算機に達したと仮定すると、付加的な
5つの仮想計算機が下準備されてそのグループに加えら
れる。アクテイビテイが増加し続けるときは、下準備さ
れる仮想計算機のグループにおいて200個の仮想計算機
が存在するようになるまで、使用中の仮想計算機のパー
センテージが80%を超えるたびに付加的な下準備された
仮想計算機が付加される。負荷が減少するにつれて、も
との数である100になるまで一時に5つの下準備された
仮想計算機がプールに戻される。
プール環境を生成するためにホストシステムの初期プロ
グラムロード(IPL)が行われたときにプールマネジヤ
に供給される情報はホストで記憶される。IPLの際に、A
VSが活動化され、制御権がVMPMに転送される。情報のシ
ンタツクスはオペレーテイングシステムによつて異なる
が、一般的にいえば、以下に示すような制御ステートメ
ントの形式を有する。
1.大域情報(“GLOBAL INFORMATION") POOLNUM=,POOLID=,MAXUSER=, ・POOLNUM=は、プールにおける仮想計算機の数であ
る。これは、これらの仮想計算機に割当てられる汎用の
USERIDの上限でもある。
・POOLID=は、割当てられた汎用のUSERIDの接頭部であ
る。
・MAXUSER=は、1つのUSERIDについて並行して仕事を
することのできる仮想計算機の最大数である。待ち行列
化はその数を超えたときに効果的である。
2.アプリケーシヨン指定情報(“APPLICATION SPECIFIC
INFORMATION") TPN=,TPNNUM=,THRESH=(%,inc,max,time) ・TPN=はその仮想計算機が下準備されるときに活動化
すべきアプリケーシヨンプログラムの名前である。
・TPNNUM=は指定されたアプリケーシヨンプログラムを
下準備されるべき仮想計算機の数である。
・THRESH=はそのグループにおいて下準備される仮想計
算機の数を制御し現在の負荷の解析に基づいてプールマ
ネジヤに使用可能な下準備された仮想計算機の数の増減
を可能にするためのパラメータのセツトである。
・%は実際に仕事をしている現在のグループにおける下
準備された仮想計算機のパーセントである。この指数を
超えると、付加的な仮想計算機を下準備しなければなら
ない。
・incは使用中の仮想計算機の数がこのパーセント指数
を超えるものであるときに加えられる仮想計算機の増分
数である。
・maxは下準備された仮想計算機のグループにおいて許
される仮想計算機の最大数である。
・timeはパーセント指数がしきい値指数より下がつた後
にグループにおける仮想計算機の数を保持すべき時間の
長さである。パーセント指数が上述の時間の間、しきい
値数より下がつたときは、グループにおける仮想計算機
の数は上記増分値だけ減ぜられる。
各仮想計算機がオートログマクロによつて首尾よく生成
されると、VMPMは第6図に示すVMPMデータ構造における
エントリを生成する。第6図は仮想計算機及びその状態
を表わしている。リスト中の全ての仮想計算機が生成さ
れたとき、VMPMはその数の仮想計算機にアプリケーシヨ
ン指定情報を下準備するステップに移る。仮想計算機の
グループ又は複数のグループが各自のアプリケーション
プログラムを下準備された後に、制御権はAVSに戻る。
これらの仮想計算機が生成されてプールマネジヤがAVS
に制御権を戻した後、たとえば以下の動作が発生する。
端末のオペレータは自己の端末に対話的に情報を入力し
て分散アプリケーシヨンプログラム“MAIL"を呼び出
す。その結果、分散アプリケーシヨンプログラム“MAI
L"の部分Aは以下のパラメータを有する動詞“ALLOCAT
E"を発行する。
・LU名前=LU1 ・TPN=MAIL ・USERID=DICKC VTAMは“ALLOCATE"を受取ると、LU1と指名されたLUがAV
Sによつて定義されたとわかる。したがつてVTAMは制御
権をAVSに渡して、AVSはAVSのプールマネジヤ構成要素
を活動化する情報を受取つてその“ALLOCATE"情報をそ
こに渡す。VMPMはプールマネジヤのデータ構造を走査す
ることによつてアプリケーシヨン“MAIL"がそれが下準
備されたプールにおける仮想計算機のグループに関連す
るかどうかを判断する。この走査の間、プールマネジヤ
は各エントリを走査して、使用可能であつて分散アプリ
ケーシヨンプログラム“MAIL"のホスト部分を下準備さ
れたものを捜す。プールマネジヤが使用可能な仮想計算
機(たとえば、VMABC001)をみつけると、“ALLOCATIO
N"のパラメータを次のように変更する。
・LU NAME=VMAB001 ・TPN=MAIL ・USERID=DICKC プールマネジヤはLU名前(LU1)をプールにおいて選択
された遊休中の下準備された仮想計算機の名前(VMAB00
1)に変更する。このプールマネジヤは選択された仮想
計算機を表わす制御ブロツクのエントリを更新して、そ
れがもはや使用可能でなくなつたことを示す。プールマ
ネジヤはその仮想計算機に割当てられた特定のタスクの
詳細を表わす情報をデータ構造のエントリに入れる。プ
ールマネジヤは変更されたLU名前を有する動詞“ALLOCA
TE"を再発行する。
VMオペレーテイングシステムはこの動詞“ALLOCATE"を
アプリケーシヨン“MAIL"が初期設定される仮想計算機V
MAB001に渡して、汎用のUSERIDをその“ALLOCATE"で指
定されたUSERID(たとえばDICKC)に変更する。この会
話はそのアプリケーシヨンの部分Bによつて受諾され、
動詞“DEALLOCATE"が一方の部分によつて発行されるま
で分散アプリケーシヨンプログラムの部分Aと部分Bと
の間で続けられる。
上述したタイプと同様な会話がネツトワーク上の複数の
端末から並行して発生することができる。部分A及び部
分Bが対話を完了すると、その会話を終了するためAPPC
の“DEALLOCATE"をいずれもが発行できる。動詞“DEALL
OCATE"が受け取られると、AVSはプールマネジヤを呼び
出して関係した仮想計算機を表わすエントリを変更す
る。プールマネジヤはその仮想計算機の状態を遊休状態
に変更する。これにより、その仮想計算機は他のタスク
のために再び使用可能となる。この遊休状態において
は、その仮想計算機は、なお、初期設定されたアプリケ
ーシヨンプログラム“MAIL"を持つた下準備された状態
にある。
様々な要求を満たす、使用可能な仮想計算機の数を管理
する機能はプールマネジヤによつて遂行される。既に説
明したように、“MAIL"及び“CALENDER"のような選択さ
れたアプリケーシヨンプログラムは、その特定のアプリ
ケーシヨンプログラムへのアクセスを要求しているユー
ザの数及び時間の長さの両方に対して比較的予想可能な
ピーク要求によつて決まる。
プールマネジヤは遊休中の仮想計算機が割当てられるた
びにビジーカウンタを増分し1つの仮想計算機が解放さ
れ遊休状態でプールに戻されるたびにそのビジーカウン
タを減分することによつて下準備されたアプリケーシヨ
ンを走行する使用中の仮想計算機の数についての現カウ
ント値を保持する。このカウンタが変化するたびに、前
述のしきい値パラメータが処理される。しきい値パラメ
ータによつて設定される限度を超えないことを保証する
ための全体的な成果を達成する処理アプローチは幾つか
考えられる。
100個の仮想計算機をはじめに下準備するようTPNNUM=1
00とし、しきい値パラメータが%=80、inc=5、max=
200及びtime=10(分)に設定されたと仮定する。ビジ
ーカウンタが変化するたびに、そのカウンタの値はTPNN
UMと%との積(この例では100×0.8=80)と比較され
る。ビジーカウンタが初期的なしきい値80を超えると、
プールマネジヤは5つの付加的な仮想計算機を生成して
下準備する。その結果、下準備された仮想計算機の全体
的な数は105となる。ビジーカウンタが現に計算された
しきい値(たとえば84=105×0.8)を超えると、さらに
5つの下準備された仮想計算機が生成され、110個の下
準備された仮想計算機から成るプールができあがる。任
意の時間で仮想計算機の数の増分ステツプ(1回につき
5つ)によつて生成された実際の仮想計算機の数が最大
数である200を潜在的に超えるときは、200の最大限界に
達するのに必要な数だけの仮想計算機が生成されること
になる。プールへの仮想計算機の1回分の追加又は削除
に応答して新たなしきい値が計算されるときは、プール
の現在のサイズが存在した時間が判断できるよう、1つ
のタイマがゼロにセツトされる。仮想計算機の会話が終
結してプールに戻されたことに応答してビジーカウンタ
が減分された結果、そのカウンタの値が現在のしきい値
より小さくなつたときは、上記タイマの値が検査され
る。現に計算されたしきい値が10分間(これはパラメー
タ“time"の初期値である)変更されなかつたときは、
5つの下準備された仮想計算機がプールから取り除かれ
る(ただし、この除去により、プールのサイズが初期
値、たとえば100、を下回らないことを条件とする)。
本発明によれば1つの“ALLOCATE"及び1つの“DEALLOC
ATE"で定められる単一の会話がプールマネジヤの制御の
下で下準備された仮想計算機のプールから割当てられた
1つの詰め込み仮想計算機によつて処理されることがわ
かるであろう。次の会話は、2つの分散アプリケーシヨ
ンプログラムが前掲の米国特許に記載された方法に基づ
いて単一のユーザIDを有する単一の端末から並行して走
行している場合でも確実にそのプールの異なる仮想計算
機に割当てられる。これにより、同じユーザIDを有する
同じ端末から発せられる2つの分散アプリケーシヨンプ
ログラムがホストシステムの1つの仮想計算機内で直列
化されるような従来の方法に存する問題が解消され、し
かも、両方の会話はもつと効率的に処理される。という
のは、これらはそのアプリケーシヨンプログラムのホス
ト常駐部分が既に下準備された(初期設定された)仮想
計算機に割当てられるからである。
第7図はホストシステムがはじめに初期プログラムロー
ドされたときに仮想計算機を生成することに関連するス
テツプ及びそれが生成された後に1つの仮想計算機に下
準備を行うことに関連するステツプを示す図である。
第8A図及び第8B図は分散アプリケーシヨンプログラムに
ついての新しい手法に基づく、端末とホストとの間のプ
ログラム間通信プロセスに関連するステツプを示す図で
ある。
第9図は1日のうちの一定期間中における実際の要求比
又は予想される要求比に対して生成される仮想計算機の
数を制御するプールマネジメントプロセスを示す図であ
る。
これらの図の内容についてはこれまでの説明と重複する
ので説明を省略する。
なお、本発明の概念は以上の実施例に限定されるもので
はない。
たとえば、ホストオペレーテイングシステムがIBMのVM
オペレーテイングシステムである好適な実施例について
説明した。LU6.2タイプのプロトコルがIBMのVMオペレー
テイングシステムとインターフエースするやり方、仮想
計算機が生成され初期設定されるやり方はVMオペレーテ
イングシステムと共に説明したものとは変わるであろ
う。しかしながら、異なるオペレーテイングシステムに
おいて本発明を実現することは比較的簡単である。とい
うのは、プールマネジヤの機能はそのオペレーテイング
システム及びLU6.2プロトコルで意義されるAPPCの標準
的なプロセスは実質的にはトランスペアレントだからで
ある。したがつてそのような変更は本発明の範囲内のも
のである。
E.発明の効果 以上説明したように本発明によれば、仮想計算機に予め
一定の情報を下準備することによつてデータ処理ネツト
ワークにおいて分散アプリケーシヨンプログラムを実行
する方法を改善することができる。
【図面の簡単な説明】
第1A図及び第1B図は本発明に従つて分散アプリケーシヨ
ンを実行する際にプールマネジヤに関連するステツプを
示す流れ図、第2図は第8図のIWSの1つを示す図、第
3図は第8図のSNAネツトワークに含まれるプログラム
の種々の層を示す図、第4A図及び第4B図は分散アプリケ
ーシヨンプログラムの各部分間の関係を示す図、第5図
は本発明に従つて生成され詰め込みのされた仮想計算機
のグループ及び走行準備完了した仮想計算機のプールを
示す図、第6図は第5図の仮想計算機のプールを管理す
る際にプールマネジヤによつて使用される仮想計算機の
プールのデータ構造の詳細を示す図、第7図は第5図の
仮想計算機のプールの生成に関連するステツプを示す流
れ図、第8図はデータ処理ネツトワークを示す図、第9
図はアプリケーシヨンプログラムに関係するトラフイツ
クに基づいて仮想計算機グループのサイズを管理するた
めのステツプを示す流れ図である。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】論理ユニット(LU)間の論理接続であるセ
    ッションを用いてメッセージを交換することにより行わ
    れるプログラム間通信を支援し、それぞれが1又は複数
    の論理ユニットを含む、ホスト・プロセッサ及び端末
    と、それらを相互接続するデータ・リンクを含むデータ
    処理ネットワークにおいて、分散アプリケーション・プ
    ログラムを実行する方法であって、 前記分散アプリケーション・プログラムは、1の前記端
    末において実行される第1の部分と、前記ホスト・プロ
    セッサにおいて実行される第2の部分とを有し、前記分
    散アプリケーション・プログラムの前記第1の部分又は
    第2の部分からのリクエストに応答して前記第1の部分
    と前記第2の部分間のプログラム間通信を開始し、 A)(1)前記リクエストに先立ち、前記ホスト・プロ
    セッサで、実行準備完了状態にされた少なくとも2つの
    仮想計算機のプールを生成し、(2)前記仮想計算機が
    生成された後であって前記リクエストを受信する前に、
    前記分散アプリケーション・プログラムの前記第2の部
    分を初期設定することにより、前記仮想計算機を下準備
    し、(3)前記分散アプリケーション・プログラムによ
    る、前記1の端末から受信したリクエストを処理するた
    め、1の前記リクエストを1の前記仮想計算機に割り当
    てるように、下準備された前記仮想計算機を動的に割り
    当て、前記リクエストが直ちに受け取られ、割り当てら
    れた前記仮想計算機と前記1のターミナル間の会話が開
    始されるようにし、(4)前記会話が終了して新たな割
    り当てが可能になった時に、前記割り当てられた仮想計
    算機を前記プールに返却する機能を有する仮想計算機プ
    ール・マネージャを確立するステップと、 B)前記プール・マネージャが前記プール内の仮想計算
    機を管理するのに用いるため、プール・マネージャ・デ
    ータ構造を用意するステップと を含む分散アプリケーション・プログラム実行方法。
  2. 【請求項2】前記ホスト・プロセッサは、所定の固有の
    識別子を伴う仮想計算機を前記ホスト・プロセッサが初
    期化された時に自動的に生成するプログラミング・モジ
    ュールを含む仮想計算機型のオペレーティング・システ
    ムを有し、 C)前記データ構造内に、前記プール・マネージャによ
    り生成される各前記仮想計算機に対する1の前記固有の
    識別子を格納するステップと、 D)前記ホスト・プロセッサが初期設定された時、前記
    プログラミング・モジュールを用いて前記各仮想計算機
    を自動的に生成する生成ステップと をさらに含む請求項1記載の分散アプリケーション・プ
    ログラム実行方法。
  3. 【請求項3】前記ステップBが、 前記仮想計算機に割り当てられる前記固有の識別子を格
    納する名前フィールドを用意するステップと、前記仮想
    計算機の状態を示す状態フィールドを用意するステップ
    とを含み、前記各仮想計算機に対するマルチ・フィール
    ドのエントリを前記データ構造に用意するステップをさ
    らに含み、 前記生成ステップの間に、アイドル状態を示すように前
    記状態フィールドをセットするステップ を含む請求項2記載の分散アプリケーション・プログラ
    ム実行方法。
  4. 【請求項4】E)前記仮想計算機が生成された後であっ
    て前記リクエストを受信する前に、前記アプリケーショ
    ン・プログラムの第2の部分を初期設定することによ
    り、前記各仮想計算機を下準備するステップをさらに含
    む請求項3記載の分散アプリケーション・プログラム実
    行方法。
  5. 【請求項5】F)ユーザIDと前記第1の分散アプリケー
    ション・プログラムの識別子と前記リクエストを処理す
    る前記論理ユニットの識別子とを含む、前記端末からの
    第1のリクエストを、前記ホスト・プロセッサに発行す
    るステップと、 G)前記論理ユニットの識別子を参照することにより、
    前記第1のリクエストが前記仮想計算機プール・マネー
    ジャにより管理されるべきものかを前記ホスト・プロセ
    ッサで判断するステップと をさらに含む請求項4記載の分散アプリケーション・プ
    ログラム実行方法。
  6. 【請求項6】H)前記第1のリクエストを処理するため
    に、下準備のなされた前記仮想計算機の1つを割り当て
    るステップであって、 (1)前記データ構造を検査して、アイドル状態の下準
    備のなされた仮想計算機の名前を認識するステップと (2)前記論理ユニットの名前を認識された前記アイド
    ル状態の下準備のなされた仮想計算機の名前で置換する
    ステップを含み、前記第1のリクエストを修正するステ
    ップと (3)前記データ構造を更新して前記割り当てられた仮
    想計算機がビジー状態であることを示すようにするステ
    ップと を含む、請求項5記載の分散アプリケーション・プログ
    ラム実行方法。
  7. 【請求項7】前記ステップHが、 修正された前記リクエスト内に示された前記仮想計算機
    に前記修正されたリクエストを再発行するステップと、 前記割り当てられた仮想計算機の名前を修正される前の
    前記第1のリクエストで指定されたユーザIDに変更する
    ステップと をさらに含む請求項6記載の分散アプリケーション・プ
    ログラム実行方法。
  8. 【請求項8】I)1の前記割り当てられた仮想計算機上
    で、1の前記分散アプリケーション・プログラムの1の
    前記プログラム間通信のみを実行するステップと、 J)他のプログラム間通信を実行する後の割り当てのた
    めに、前記1の割り当てられた仮想計算機を前記プール
    に返却するステップと をさらに含む請求項7記載の分散アプリケーション・プ
    ログラム実行方法。
  9. 【請求項9】K)前記データ構造の前記エントリを更新
    し、前記1の返却された仮想計算機が他のプログラム間
    通信を処理するために使用可能であることを反映させる
    ステップをさらに含む請求項8記載の分散アプリケーシ
    ョン・プログラム実行方法。
  10. 【請求項10】前記ステップFが、 論理ユニットの名前とトランザクション・プログラムの
    名前と前記リクエストを発行したエンティティのユーザ
    IDを含む通信要求を発行するステップ を含む請求項9記載の分散アプリケーション・プログラ
    ム実行方法。
  11. 【請求項11】前記ステップIが、 前記1のプログラム間通信が終了されるように、前記分
    散アプリケーション・プログラムの前記第1の部分又は
    前記第2の部分で、通信解除要求を発行するステップを
    さらに含む請求項10記載の分散アプリケーション・プロ
    グラム実行方法。
  12. 【請求項12】論理ユニット(LU)間の論理接続である
    セッションを用いてメッセージを交換することにより行
    われるプログラム間通信を支援し、それぞれが1又は複
    数の論理ユニットを含む、ホスト・プロセッサ及び端末
    と、それらを相互接続するデータ・リンクを含むデータ
    処理ネットワークにおいて、分散アプリケーション・プ
    ログラムを実行する方法であって、 前記分散アプリケーション・プログラムは、1の前記端
    末において実行される第1の部分と、前記ホスト・プロ
    セッサにおいて実行される第2の部分とを有し、前記分
    散アプリケーション・プログラムの前記第1の部分又は
    第2の部分からのリクエストに応答して前記第1の部分
    と前記第2の部分間のプログラム間通信を開始し、 A)前記ホスト・プロセッサのオペレーティング・シス
    テムとのインターフェースを行う仮想計算機プール・マ
    ネージャを確立するステップと、 B)前記リクエストに先立ち、前記ホスト・プロセッサ
    で、実行準備完了状態にされた少なくとも2つの仮想計
    算機のプールを生成するステップと、 C)前記仮想計算機が生成された後であって前記リクエ
    ストを受信する前に、前記分散アプリケーション・プロ
    グラムの前記第2の部分を初期設定することにより、前
    記仮想計算機を下準備するステップと、 D)前記分散アプリケーション・プログラムによる、前
    記1の端末から受信したリクエストを処理するために、
    1の前記リクエストを1の前記仮想計算機に割り当てる
    ように、下準備された前記仮想計算機を動的に割り当
    て、前記リクエストが直ちに受け取られ、割り当てられ
    た前記仮想計算機と前記1の端末間のプログラム間通信
    が開始されるようにするステップと、 E)前記プログラム間通信が終了して新たな割り当てが
    可能になった時に、前記分散アプリケーション・プログ
    ラムに関連する前記割り当てられた仮想計算機を前記プ
    ールに返却するステップと、 F)前記プール・マネージャが前記プール内の仮想計算
    機を管理するのに用いるため、プール・マネージャ・デ
    ータ構造を用意するステップと を含む分散アプリケーション・プログラム実行方法。
  13. 【請求項13】前記ステップAが、 前記プール内の仮想計算機が数学的アルゴリズムに従っ
    て前記分散アプリケーション・プログラムの第2部分に
    対して下準備されるように、前記プール・マネージャに
    より実施される制御ストラテジーを指定する指定ステッ
    プをさらに含む請求項12記載の分散アプリケーション・
    プログラム実行方法。
  14. 【請求項14】前記指定ステップが、 前記仮想計算機が特定の時間においてビジー状態である
    割合により、前記仮想計算機を下準備するよう前記数学
    的アルゴリズムを指定するステップをさらに含む請求項
    13記載の分散アプリケーション・プログラム実行方法。
JP1252505A 1988-09-29 1989-09-29 分散アプリケーション・プログラム実行方法 Expired - Lifetime JPH0797365B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/250,598 US4949254A (en) 1988-09-29 1988-09-29 Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US250598 1988-09-29

Publications (2)

Publication Number Publication Date
JPH02122363A JPH02122363A (ja) 1990-05-10
JPH0797365B2 true JPH0797365B2 (ja) 1995-10-18

Family

ID=22948399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1252505A Expired - Lifetime JPH0797365B2 (ja) 1988-09-29 1989-09-29 分散アプリケーション・プログラム実行方法

Country Status (5)

Country Link
US (1) US4949254A (ja)
EP (1) EP0362107B1 (ja)
JP (1) JPH0797365B2 (ja)
BR (1) BR8904923A (ja)
DE (1) DE68919975T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134453A (ja) * 1999-09-28 2001-05-18 Internatl Business Mach Corp <Ibm> コンピュータ環境の区画のグループを管理する方法、システム、およびプログラム製品
JP2001142858A (ja) * 1999-09-28 2001-05-25 Internatl Business Mach Corp <Ibm> コンピュータ環境の中央処理装置を管理する方法、システム、およびプログラム製品

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4991089A (en) * 1988-09-30 1991-02-05 Ibm Corp. Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US5109519A (en) * 1989-03-28 1992-04-28 Wang Laboratories, Inc. Local computer participating in mail delivery system abstracts from directory of all eligible mail recipients only served by local computer
US5179708A (en) * 1989-04-07 1993-01-12 At&T Bell Laboratories System inhibiting message delivery to destination process until priority of process excuting on distination processor is no higher than priority of sending process
US5206934A (en) * 1989-08-15 1993-04-27 Group Technologies, Inc. Method and apparatus for interactive computer conferencing
US5053947A (en) * 1989-09-29 1991-10-01 Allegro Microsystems, Inc. Extended multistation bus system and method
US5708810A (en) * 1989-10-10 1998-01-13 Unisys Corporation Image-based document processing system having a platform architecture
JPH03127161A (ja) * 1989-10-13 1991-05-30 Hitachi Ltd 複数操作卓の協調方式
US5392426A (en) * 1989-12-15 1995-02-21 Nynex Corporation, Inc. Method and apparatus for use in program operation, control and control block management and storage
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5097528A (en) * 1991-02-25 1992-03-17 International Business Machines Corporation System for integrating telephony data with data processing systems
TW198107B (ja) * 1991-02-28 1993-01-11 Ibm
US5283888A (en) * 1991-08-27 1994-02-01 International Business Machines Corporation Voice processing interface unit employing virtual screen communications for accessing a plurality of primed applications
JP2665089B2 (ja) * 1991-09-26 1997-10-22 三菱電機株式会社 分散環境下におけるコンパイル方式
US5590281A (en) * 1991-10-28 1996-12-31 The United States Of Americas As Represented By The Secretary Of The Navy Asynchronous bidirectional application program processes interface for a distributed heterogeneous multiprocessor system
US5519833A (en) * 1992-08-13 1996-05-21 Computervision Corporation Distributed data processing system providing a distributed stream software environment to enable application on a first system to use driver on a second system
US5495582A (en) * 1992-11-18 1996-02-27 International Business Machines Corporation System and method for interprocessor routing through an established communication session in a loosely coupled computer complex
CA2095311A1 (en) * 1993-04-30 1994-10-31 Richard E. Swagerman Conversation management routine for co-operative processing applications
JP2900767B2 (ja) * 1993-09-20 1999-06-02 株式会社日立製作所 仮想計算機システムの仮想計算機走行時間間隔制御方式
US5495411A (en) * 1993-12-22 1996-02-27 Ananda; Mohan Secure software rental system using continuous asynchronous password verification
JP2590045B2 (ja) * 1994-02-16 1997-03-12 日本アイ・ビー・エム株式会社 分散処理制御方法及び分散処理システム
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
US6330583B1 (en) * 1994-09-09 2001-12-11 Martin Reiffin Computer network of interactive multitasking computers for parallel processing of network subtasks concurrently with local tasks
US6219045B1 (en) * 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US5754788A (en) * 1995-12-28 1998-05-19 Attachmate Corporation Method and system for reconfiguring a communications stack
US5958003A (en) * 1996-02-21 1999-09-28 International Business Machines Corporation Method and computer system for improving the response time of a computer system to a user request
US6105064A (en) * 1997-05-30 2000-08-15 Novell, Inc. System for placing packets on network for transmission from sending endnode to receiving endnode at times which are determined by window size and metering interval
US6061807A (en) * 1997-06-27 2000-05-09 International Business Machines Corporation Methods systems and computer products for error recovery of endpoint nodes
GB2346985B (en) * 1999-02-19 2003-07-09 Ibm Client/server transaction data processing system with optimum selection of last agent
US6986137B1 (en) 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6859927B2 (en) 1999-12-21 2005-02-22 Lockheed Martin Corporation Apparatus and method for controlling allocation of resources and task execution
USRE40866E1 (en) 2000-09-27 2009-08-04 Huron Ip Llc System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment
US7822967B2 (en) 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US20070245165A1 (en) * 2000-09-27 2007-10-18 Amphus, Inc. System and method for activity or event based dynamic energy conserving server reconfiguration
US7032119B2 (en) * 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US7058826B2 (en) * 2000-09-27 2006-06-06 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment
US20030196126A1 (en) 2002-04-11 2003-10-16 Fung Henry T. System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment
JP4291964B2 (ja) * 2001-04-19 2009-07-08 株式会社日立製作所 仮想計算機システム
US20060248360A1 (en) * 2001-05-18 2006-11-02 Fung Henry T Multi-server and multi-CPU power management system and method
US20030079151A1 (en) * 2001-10-18 2003-04-24 International Business Machines Corporation Energy-aware workload distribution
US7552433B2 (en) * 2003-11-12 2009-06-23 Hewlett-Packard Development Company, L.P. Non-platform-specific unique indentifier generation
US7765543B1 (en) * 2003-12-17 2010-07-27 Vmware, Inc. Selective descheduling of idling guests running on a host computer system
JP4315057B2 (ja) * 2004-06-02 2009-08-19 ソニー株式会社 情報処理装置および情報処理方法、並びに、プログラム
US7281124B2 (en) * 2004-06-17 2007-10-09 Intel Corporation Establishing a virtual drive accessible to pre-boot and operating system runtime phases
US7388248B2 (en) * 2004-09-01 2008-06-17 Micron Technology, Inc. Dielectric relaxation memory
US20060190532A1 (en) * 2005-02-23 2006-08-24 Kalyana Chadalavada Apparatus and methods for multiple user remote connections to an information handling system via a remote access controller
US20080163204A1 (en) * 2006-12-29 2008-07-03 Dennis Morgan Method and apparatus for inventory and/or policy-based management of virtual machines on a computing device
US9043391B2 (en) 2007-02-15 2015-05-26 Citrix Systems, Inc. Capturing and restoring session state of a machine without using memory images
US20080201455A1 (en) 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US8065676B1 (en) * 2007-04-24 2011-11-22 Hewlett-Packard Development Company, L.P. Automated provisioning of virtual machines for a virtual machine buffer pool and production pool
US8141090B1 (en) 2007-04-24 2012-03-20 Hewlett-Packard Development Company, L.P. Automated model-based provisioning of resources
US20080282259A1 (en) * 2007-05-10 2008-11-13 Microsoft Corporation Declarative concurrency and coordination scheme for software services
US20100153946A1 (en) * 2008-12-17 2010-06-17 Vmware, Inc. Desktop source transfer between different pools
US9292557B2 (en) * 2009-02-27 2016-03-22 Red Hat Israel, Ltd. Managing virtual machines using hierarchical labeling
JP5400482B2 (ja) 2009-06-04 2014-01-29 株式会社日立製作所 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
US9104757B2 (en) * 2009-06-24 2015-08-11 Red Hat Israel, Ltd. Interactive search monitoring in a virtual machine environment
US8924534B2 (en) * 2009-10-27 2014-12-30 Vmware, Inc. Resource optimization and monitoring in virtualized infrastructure
US9250944B2 (en) 2011-08-30 2016-02-02 International Business Machines Corporation Selection of virtual machines from pools of pre-provisioned virtual machines in a networked computing environment
US9038063B2 (en) * 2011-09-07 2015-05-19 International Business Machines Corporation Determining virtual machine image pattern distributions in a networked computing environment
US10353738B2 (en) 2012-03-21 2019-07-16 International Business Machines Corporation Resource allocation based on social networking trends in a networked computing environment
TWI456944B (zh) * 2012-05-02 2014-10-11 Quanta Comp Inc 管理方法及其系統
US9600316B2 (en) * 2012-10-17 2017-03-21 Microsoft Technology Licensing, Llc Augmented allocation of virtual machines for application
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US9805479B2 (en) * 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9773070B2 (en) * 2014-06-30 2017-09-26 Microsoft Technology Licensing, Llc Compound transformation chain application across multiple devices
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10042660B2 (en) * 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10454771B2 (en) 2016-04-06 2019-10-22 Alcatel Lucent Virtual infrastructure
US10547511B2 (en) * 2016-05-04 2020-01-28 Alcatel Lucent Infrastructure resource states
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10305788B2 (en) 2016-06-30 2019-05-28 Alcatel Lucent Near-real-time and real-time communications
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS616760A (ja) * 1984-06-20 1986-01-13 Hitachi Ltd 数値デ−タ管理方式
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
JP2585535B2 (ja) * 1986-06-02 1997-02-26 株式会社日立製作所 複合計算機システムにおけるプロセス結合方法
JPS63163656A (ja) * 1986-12-26 1988-07-07 Hitachi Ltd 入出力割込み方法およびシステム
US4918595A (en) * 1987-07-31 1990-04-17 International Business Machines Corp. Subsystem input service for dynamically scheduling work for a computer system
DE3854323T2 (de) * 1987-11-26 1996-03-14 Hitachi Ltd Jobsteuerung für Online-System.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134453A (ja) * 1999-09-28 2001-05-18 Internatl Business Mach Corp <Ibm> コンピュータ環境の区画のグループを管理する方法、システム、およびプログラム製品
JP2001142858A (ja) * 1999-09-28 2001-05-25 Internatl Business Mach Corp <Ibm> コンピュータ環境の中央処理装置を管理する方法、システム、およびプログラム製品

Also Published As

Publication number Publication date
US4949254A (en) 1990-08-14
BR8904923A (pt) 1990-05-08
EP0362107A2 (en) 1990-04-04
DE68919975T2 (de) 1995-07-13
EP0362107B1 (en) 1994-12-14
EP0362107A3 (en) 1992-04-22
JPH02122363A (ja) 1990-05-10
DE68919975D1 (de) 1995-01-26

Similar Documents

Publication Publication Date Title
JPH0797365B2 (ja) 分散アプリケーション・プログラム実行方法
US5201049A (en) System for executing applications program concurrently/serially on different virtual machines
US5063500A (en) System for executing segments of application program concurrently/serially on different/same virtual machine
US5291597A (en) Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an SNA network
US4991089A (en) Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment
US4969092A (en) Method for scheduling execution of distributed application programs at preset times in an SNA LU 6.2 network environment
JP3612652B2 (ja) ローカル・コンピュータ上で実行されるローカル・タスクによってリモート・コンピュータ上のリモート・タスクを実行する方法
US4274139A (en) Digital telecommunication network having improved data processing systems
EP0794491B1 (en) Client/server architecture supporting concurrent servers
US5483647A (en) System for switching between two different operating systems by invoking the server to determine physical conditions to initiate a physical connection transparent to the user
US8544017B1 (en) Dynamic job processing based on estimated completion time and specified tolerance time
US5802306A (en) Supporting multiple client-server sessions from a protocol stack associated with a single physical adapter through use of a plurality of logical adapters
EP0205945B1 (en) Process transparent multi storage mode data transfer and buffer control
US6938257B1 (en) Apparatus and method to provide persistence for application interfaces
JP3308026B2 (ja) 二重プロセス表示サーバシステム
JP2534229B2 (ja) マルチプロセス・コンピュ―タ装置における分散デ―タ処理方法
Bressler Interprocess communication on the ARPA computer network.
JPH01142966A (ja) 分散ネットワーク・システム
JPS63145550A (ja) フアイル転送処理方式