JP2013508833A - 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム - Google Patents

論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2013508833A
JP2013508833A JP2012534599A JP2012534599A JP2013508833A JP 2013508833 A JP2013508833 A JP 2013508833A JP 2012534599 A JP2012534599 A JP 2012534599A JP 2012534599 A JP2012534599 A JP 2012534599A JP 2013508833 A JP2013508833 A JP 2013508833A
Authority
JP
Japan
Prior art keywords
application
destination application
location
request
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012534599A
Other languages
English (en)
Other versions
JP5669851B2 (ja
Inventor
シャーマ、ラケシュ
シャーマ、サトヤ、プラカシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013508833A publication Critical patent/JP2013508833A/ja
Application granted granted Critical
Publication of JP5669851B2 publication Critical patent/JP5669851B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】
複数のアプリケーション間でコミュニケーションを行うための機構を提供する。
【解決手段】
論理的にパーティション化されたデータ処理システムの複数個の論理的パーティションにおける第1の論理的パーティションにおいて作動する発信元アプリケーションに関連したアプリケーション・プログラミング・インターフェース(API)が、データを宛先アプリケーションへ送るという要求を受け取る。APIは、宛先アプリケーションのロケーションを識別するという要求を仮想化管理機構へ送る。APIは、仮想化管理機構から応答を受け取ったことに応じて、宛先アプリケーションのロケーションが、論理的にパーティション化されたデータ処理システムの複数個の論理的パーティションにおける第2の論理的パーティションであるどうかを判断する。宛先アプリケーションのロケーションが第2の論理的パーティションであることに応じて、APIはバイパス・プロトコルを使って発信元アプリケーションからの要求を宛先アプリケーションへ送る。
【選択図】 図4

Description

本発明は、一般的にはデータ処理装置および方法の改良に関し、詳しく云えば、論理的にパーティション化されたシステムにおいて高パフォーマンス及び高資源効率のコミュニケーションを行うための装置および方法に関する。
今日の情報技術インフラストラクチャでは、多くのサーバ・システムが論理的パーティショニングをサポートしている。アプリケーションが配置されている論理的にパーティション化されたシステムの多くの論理的パーティションは、オペレーティング・システムを実行する。そのようなアプリケーションは、同じパーティション内のアプリケーション、同じ論理的にパーティション化されたシステム内のアプリケーション、論理的にパーティション化されたシステムに結合された装置、及び論理的にパーティション化されたシステムに結合された他のシステムおける他のアプリケーション、とコミュニケーションを行う。そのようなコミュニケーションをサポートするために必要なコミュニケーション・プロトコルは、コネクション・オリエンテッドの、順序正しい(in-order)、高信頼性の、且つフロー制御されたデータ転送をサポートしなければならない。これらの要件に適合するプロトコルを実装することは、パフォーマンスの向上を必要とする資源集約的な実装方法に通じる。そのようなパフォーマンスを実現させることは、精巧且つ高価なコミュニケーション・ハードウェアを必要とする。それら要件は、仮想化されたサーバ環境においてもそのまま存続する。
本発明の目的は、データ処理システムにおいて、複数のアプリケーション間でコミュニケーションを行うための装置、方法、及びコンピュータ・プログラムを提供することにある。
方法の実施例は、データを宛先アプリケーションに送るという要求を発信元アプリケーションから受け取る。その実施例は、宛先アプリケーションのロケーションを識別するという要求を仮想化管理機構に送る。その実施例は、仮想化管理機構から応答を受け取ったことに応じて、宛先アプリケーションのロケーションが、その論理的にパーティション化されたデータ処理システムの複数の論理的パーティションにおける第2の論理的パーティションであるかどうかを判断する。実施例は、そのロケーションが第2の論理的パーティションであることに応じて、発信元アプリケーションからの要求を宛先アプリケーションに送るためにバイパス・プロトコルを使用する。
別の実施例では、コンピュータ使用可能媒体又はコンピュータ可読媒体に内蔵されるコンピュータ可読プログラムが提供される。そのコンピュータ可読プログラムは、コンピューティング装置において実行されるとき、方法の実施例に関して上述された種々のオペレーション及びそれらの組み合わせをコンピューティング装置に遂行させる。
更に別の実施例では、システム/装置が提供される。そのシステム/装置は、1つ又は複数個のプロセッサとその1つ又は複数個のプロセッサに連結されたメモリとを含み得る。メモリは命令を含み得るし、その命令は、1つ又は複数個のプロセッサによって実行されるとき、方法の実施例に関して上述された種々のオペレーション及びそれらのオペレーションの組み合わせを、その1つ又は複数個のプロセッサに遂行させ得る。
本発明に関するこれら及び他の特徴および利点は、本発明の実施例に関する以下の詳細な説明において記述され、それらの記述から当業者には明らかになるであろう。
実施例の態様を有利に利用し得るデータ処理システムのブロック図である。 実施例を具現化し得る例示的な論理的にパーティション化されたプラットフォームのブロック図である。 実施例に従って、仮想化された環境にあるデータ処理システムを示す例示的なブロック図である。 実施例に従って、論理的パーティションのアプリケーション・プログラミング・インターフェースによって遂行されるオペレーションのフローチャートである。 実施例に従って、論理的パーティション・システムの仮想化機構によって遂行されるオペレーションのフローチャートである。
本発明の実施例は、論理的にパーティション化されたシステムの論理的パーティション上で作動する複数個のアプリケーション間での高パフォーマンス且つ高資源効率のコミュニケーションを行うための機構を提供しようとするものである。コミュニケーションのパフォーマンスは、小さい待ち時間による高いスループットを提供することによって向上する。スループットを向上させること及び待ち時間を減少させることによって、論理的にパーティション化されたシステムは、処理装置、メモリ、入出力帯域幅等のようなその論理的にパーティション化されたシステムのコンポーネントに関する処理要件を減少させる。その機構は、論理的パーティション間でコミュニケーションを行うためのバイパス・トランスポート・プロトコルを含む。論理的パーティション上で実行される各オペレーション・システム内のコミュニケーション・ソフトウェアは、バイパス・トランスポート・プロトコルが展開されるべき時を決定する。従って、アプリケーション・プログラミング・インターフェースが維持され、それにより、変更のなく既存のアプリケーションをサポートし、コネクション・オリエンテッドの、高信頼性の、順序正しい、且つフロー制御されたデータ転送をサポートする。
従って、本実施例は、分散型データ処理環境、単一のデータ処理装置等を含む多くの様々なタイプのデータ処理環境において利用され得る。本実施例の特定の要素及び機能の説明に関する背景を与えるために、図1及び図2は、以後、本実施例の態様を具現化し得る例示的環境として提供される。図1及び図2に付随する説明は、主として高パフォーマンス且つ高資源効率のコミュニケーション機構の単一データ処理装置の実施態様に焦点を合わせているが、これは、単なる一例であって、本発明の特徴に関して何らかの限定を提示又は示唆することを意図するものではない。それとは反対に、本実施例は、高パフォーマンスの且つ高資源効率のコミュニケーション機構を実装し得る分散型データ処理環境及び実施態様を包含することを意図する。
次に、図面を参照すると、特に、図1及び図2を参照すると、本発明の実施例を実装し得るデータ処理環境を表わす図が提供される。図1及び図2は、単なる例であり、本発明の態様又は実施例を実装し得る環境に関して何らかの限定を主張又は示唆することを意図するものではないことは明らかであろう。本発明の主旨及び技術的範囲から逸脱することなく、図示の環境に対する多くの修正が行われ得る。
本実施例では、コンピュータ・アーキテクチャがハードウェア及びソフトウェアの組み合わせとして具現化される。コンピュータ・アーキテクチャのソフトウェア部はマイクロコード又はミリコードと呼ばれることがある。ハードウェア及びソフトウェアの組み合わせは、基本入出力システム(BIOS)、仮想マシン・モニタ(VMM)、ハイパーバイザ、アプリケーション等のようなコンピュータのソフトウェアの残り部分を作動させる命令セット及びシステム・アーキテクチャを作成する。初期の組み合わせによって作成されたコンピュータ・アーキテクチャは、わずかかもしれない定義されたインターフェースを介する以外は、そのコンピュータ・ソフトウェア(BIOS等)にとって不変である。
次に、図面、特に図1を参照すると、本実施例の態様を有利に利用し得るデータ処理システムのブロック図が示される。図示のように、データ処理システム100は、プロセッサ・ユニット111a〜111nを含む。プロセッサ・ユニット111a〜111nの各々は、プロセッサ及びキャッシュ・メモリを含む。例えば、プロセッサ・ユニット111aは、プロセッサ112a及びキャッシュ・メモリ113aを含み、プロセッサ・ユニット111nは、プロセッサ112n及びキャッシュ・メモリ113nを含む。
プロセッサ・ユニット111a〜111nはメイン・バス115に接続される。メイン・バス115は、システム・プレーナ120及びメモリ・カード123をサポートする。システム・プレーナ120は、データ・スイッチ121及びメモリ・コントローラ/キャッシュ122を含む。メモリ・コントローラ/キャッシュ122は、多数のデュアル・インライン・メモリ・モジュール(DIMM)を有するローカル・メモリ116を含むメモリ・カード123をサポートする。
データ・スイッチ121は、ネイティブI/O(NIO)プレーナ124内にあるバス・ブリッジ117及びバス・ブリッジ118に接続している。図示のように、バス・ブリッジ118は、システム・バス119を介してペリフェラル・コンポーネント・インターコネクト(PCI)ブリッジ125及び126に接続している。PCIブリッジ125は、PCIバス128を介して種々のI/O装置に接続している。図示のように、ハード・ディスク136が、スモール・コンピュータ・システム・インターフェース(SCSI)ホスト・アダプタ130を介してPCIバス128に接続され得る。グラフィックス・アダプタ131が、PCIバス128に直接に又は間接的に接続され得る。PCIブリッジ126は、PCIバス127を介してネットワーク・アダプタ134及びアダプタ・カード・スロット135a〜135nを介して外部データ・ストリームのための接続を提供する。
業界標準アーキテクチャ(ISA)バス129が、ISAブリッジ132を介してPCIバス128に接続している。ISAブリッジ132は、直列接続のシリアル1及びシリアル2を有するNIOコントローラ133を介して相互接続機能を提供する。フロッピ・ドライブ接続、キーボード接続、及びマウス接続がNIOコントローラ133によって提供され、データ処理システム100が対応する入力装置を介してユーザからのデータ入力を受けることを可能にする。更に、ISAバス129に接続された不揮発性RAM(NVRAM)140が、或るタイプのデータを電源機構の問題のようなシステム妨害又はシステム障害から保護するために不揮発性メモリを提供する。システム・ファームウェア141も基本入出力システム(BIOS)機能を実装するためにISAバス129に接続される。サービス・プロセッサ144が、システム診断プログラム又はシステム・サービスのための機能を供給するために、ISAバス129に接続している。
オペレーティング・システム(OS)がハード・ディスク136に格納される。そのハード・ディスクは、データ処理システムによる実行のための追加アプリケーション・ソフトウェアのための記憶装置を提供することも可能である。NVRAM140は、現場交換可能ユニット(FRU)の分離のためにシステム変数及びエラー情報を格納するために使用される。システム起動時に、ブートストラップ・プログラムがオペレーティング・システムをロードし、オペレーティング・システムの実行を開始する。オペレーティング・システムをロードするために、ブートストラップ・プログラムは、先ずハード・ディスク136におけるオペレーティング・システム・カーネル・イメージを見つけ、そのOSカーネル・イメージをメモリにロードし、そのオペレーティング・システム・カーネルによって提供された初期アドレスにジャンプする。一般に、オペレーティング・システムはデータ処理システム内のランダム・アクセス・メモリ(RAM)にロードされる。一旦ロードされそして初期化されると、オペレーティング・システムは、プログラムの実行を制御し、資源の割り振り、スケジューリング、入出力制御、及びデータ管理のようなサービスを提供し得る。
本実施例は、多くの異なるハードウェア構成、並びにブートストラップ・プログラム及びオペレーティング・システムのようなソフトウェアを利用して種々のデータ処理システムにおいて具現化され得る。データ処理システム100は、例えば、スタンド・アローン・システム、或いはローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)のようなネットワークの一部であってもよい。上述したように、図1は、本発明の種々の実施例に対するアーキテクチャ上の限定ではなく、一例であると意図されており、従って、図1に示された特定の要素は、本発明の実施例を具現化し得る環境に関する限定とみなされるべきでない。
次に図2を参照すると、本実施例を具現化し得る典型的な論理的にパーティション化されたプラットフォームのブロック図が示される。論理的にパーティション化されたプラットフォーム200におけるハードウェアは、例えば、図1におけるデータ処理システム100のハードウェアを使用して具現化され得る。
論理的にパーティション化されたプラットフォーム200はパーティション化されたハードウェア230、オペレーティング・システム202、204、206、208、及び仮想マシン・モニタ210を含む。オペレーティング・システム202、204、206、及び208は、単一のオペレーティング・システムの複数コピーであってもよく、或いは、論理的にパーティション化されたプラットフォーム200上で同時に作動する複数の異種オペレーティング・システムであってもよい。これらのオペレーティング・システムは、パーティション管理ファームウェア、例えば、ハイパーバイザのような仮想化機構とインターフェースするように設計された、例えば、OS/400を使用して具現化され得る。OS/400は、これらの実施例おける単なる一例として使用される。勿論、特定の具現化に依存して、AIX及びLinuxのような他のタイプのオペレーティング・システムが使用されてもよい(AIXはインターナショナル・ビジネス・マシーンズ・コーポレーション(IBM社)の商標であり、LinuxはLinus Torvaldsの商標である)。オペレーティング・システム202、204、206、及び208は、それぞれ、論理的パーティション203、205、207、及び209内に置かれている。
ハイパーバイザ・ソフトウェアは、プラットフォーム(この例では、仮想マシン・モニタ210)を具現化するために使用可能なソフトウェアの一例であり、IBM社から入手可能である。ファームウェアは、例えば、リード・オンリ・メモリ(ROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、及び電気的に消去可能プログラマブルROM(EEPROM)のような、電力なしでその内容を保持するメモリ・チップに格納される「ソフトウェア」である。
論理的パーティション203、205、207、及び209は、パーティション・ファームウェア・ローダ211、213、215、及び217も含む。パーティション・ファームウェア・ローダ211、213、215、及び217は、IPL又は初期ブートストラップ・コード、IEEE−1275標準オープン・ファームウェア、及びIBM社から入手可能なランタイム・アブストラクション(RTAS)を使用して具現化され得る。
論理的パーティション203、205、207、及び209がインスタンス化されるとき、ブートストラップ・コードのコピーが仮想マシン・モニタ210によって論理的パーティション203、205、207、及び209にロードされる。しかる後、制御がブートストラップ・コードによってそのブートストラップ・コードに移され、しかる後、オープン・ファームウェア及びRTASをロードする。しかる後、論理的パーティション203、205、207、及び209に関連した又は割り当てられたプロセッサが、論理的パーティション・ファームウェアを実行するために論理的パーティションのメモリへディスパッチされる。
パーティション化されたハードウェア230は、複数個のプロセッサ232〜238、複数個のシステム・メモリ素子240〜246、複数個の入出力(I/O)アダプタ248〜262、及び記憶ユニット270を含む。プロセッサ232〜238、メモリ素子240〜246、NVRAM記憶装置298、及びI/Oアダプタ248〜262の各々は、論理的にパーティション化されたプラットフォーム200内において、各々がオペレーティング・システム202、204、206、及び208の1つに対応する多数の論理的パーティション203、205、207、及び209の1つに割り当てられる。
仮想マシン・モニタ210は、論理的にパーティション化されたプラットフォーム200のパーティション化を生成及び強化するために論理的パーティション203、205、207、及び209に関する多くの機能及びサービスを遂行する。仮想マシン・モニタ210は、基本的なハードウェアと同様のファームウェアで具現化された仮想マシンである。従って、仮想マシン・モニタ210は、論理的にパーティション化されたプラットフォーム200のすべてのハードウェア資源を仮想化することによって、独立したOSイメージ202、204、206、及び208の同時実行を可能にする。
サービス・プロセッサ290は、論理的パーティション203、205、207、及び209におけるプラットフォーム・エラーの処理のような様々なサービスを提供するために使用され得る。サービス・プロセッサ290は、IBM社のようなベンダにエラーを報告するサービス・エージェントとしても作用し得る。ハードウェア・システム・コンソール280によって、種々の論理的パーティションのオペレーションが制御され得る。ハードウェア・システム・コンソール280は、システム管理者が種々の論理的パーティションへの資源の再割り振りを含む様々な機能を行い得る個別のデータ処理システムである。
図3は、実施例に従って、仮想化された環境におけるデータ処理システムを図解する例示的なブロック図を示す。論理的にパーティション化されたデータ処理システム300は、クライアント又はイニシエータとも呼ばれる複数個の論理的パーティション(LPAR)310、320、330を有する。LPAR310は、一組のアプリケーション・プログラミング・インターフェース(API)314を伴うオペレーティング・システム312のインスタンス及び1つ又は複数個の稼動するアプリケーション316を有する。LPAR320は、API324を伴うオペレーティング・システム322及び1つ又は複数個のアプリケーション326を有する。LPAR330は、API334を伴うオペレーティング・システム332及び1つ又は複数個のアプリケーション336を有する。論理的にパーティション化されたデータ処理システム300はLPAR310、320、及び330だけを開示しているが、本実施例はそのようなものに限定されない。むしろ、本発明の主旨及び技術的範囲から逸脱することなく、任意の数のLPARが本実施例の機構によって利用され得る。
LPAR 310、320、及び330は、仮想化層370を介して相互にコミュニケーションを行い得る。仮想化層370は、オペレーティング・システム312、322、及び332の多数のインスタンスが、論理的にパーティション化されたデータ処理システム300上で同時に稼動することを可能にするためにコミュニケーション及び資源管理を行うソフトウェアである。仮想化層370は、プロセッサ・タイム・スライス・シェアリング、メモリ・アロケーション等のようなタスクを遂行する。仮想化層370は、例えば、ハイパーバイザであってもよい。
アプリケーション316、326、及び336は、ネットワーク382を介して他のネットワーク・アプリケーションとコミュニケーションを行うネットワーク・アプリケーション、或いは同じデータ処理システムにおける他のアプリケーションとコミュニケーションを行うローカルのデータ処理システム・アプリケーションを含み得る。例えば、アプリケーション316の1つはアプリケーション336の1つとコミュニケーションを行う。アプリケーション316、326、及び336は、それぞれ、アプリケーション・バッファ317、327、及び337の関連セットも有し得る。ネットワーク382を介してネットワーク・アプリケーションに対するコミュニケーションを行うとき、アプリケーション316、326、及び336は、TCP/IPプロトコル・スイートの一部であるTCPのようなコネクション・オリエンテッドの、信頼性の高い、順序正しいデリバリのフロー制御されたプロトコルを使って、並びに、アダプタ318、328、及び338を介して、ネットワーク382に対する仮想化層370及びネットワーク層380にコミュニケーションを行うオペレーティング・システム312、322及び332を使って、トランスポート・プロトコル・コールを行う。ネットワーク層380は、ネットワーク・コミュニケーションのためのタスクを遂行するソフトウェアである。ネットワーク層380は、末端間のパケット・デリバリ、高品質のサービス・メンテナンス、エラー制御等のようなタスクを遂行し得る。
アプリケーション316、326、及び336がAPI314、324、及び334を使ってトランスポート・プロトコルをアクセスすることにより、アプリケーション316、326、及び336は、リモート・アプリケーションへの接続を開くこと、デリバされるべきデータを待ち行列に入れること、データを受け取ること、データ転送の終了時に接続をクローズすること等を可能にされる。従って、トランスポート・プロトコルは、そのプロトコルが、トランスポート・プロトコル層、ネットワーク・プロトコル層、リンク層、及び、ネットワーク・コミュニケーションには必要であってもローカルのコミュニケーションには必要でないかもしれないコミュニケーション・アダプタ・ドライバの処理、を必要とするので、資源集約的である。
本実施例は、論理的にパーティション化されたデータ処理システム300のような仮想化されたサーバ・プラットフォームのLPAR310、320、及び330において作動するアプリケーション316、326、及び336相互間の高パフォーマンス・コミュニケーションを提供する。高パフォーマンス(高帯域幅及び低待ち時間トランスポート)の提供に加えて、本実施例により提供されるコミュニケーションは、中央処理装置(CPU)使用率、メモリ使用率、入出力(I/O)帯域幅等のような、コミュニケーションに関する資源要件を減らす。高帯域幅コミュニケーションを提供するために、本実施例は、バイパス・トランスポート・プロトコルと呼ばれる少ない資源集約的なプロトコルを提供する。バイパス・トランスポート・プロトコルは、ネットワーク・コミュニケーションに使用されるトランスポート・プロトコルと同じ多く属性を含むが、そのコミュニケーションが、論理的にパーティション化されたデータ処理システム300では、LPAR310、320、及び330におけるアプリケーション316、326、及び336の間のコミュニケーションであるという事実を活用する。従って、リモート・ホスト・アプリケーションの終了点を見つけるというトランスポート・プロトコル要素が維持される。リモート・アプリケーションの終了点は、コミュニケーション・アダプタのハードウェア・アドレスを含む一組のアドレシング要素によって特徴づけられる。即ち、アプリケーション316、326、及び336の終了点に関連したコミュニケーション・アダプタ318、328、及び338のハードウェア・アドレスは、論理的にパーティション化されたデータ処理システム300内のLPAR310、320、及び330の1つに対するものであるということを決定され得る。
例えば、アプリケーション316のうちの1つがAPI314へのデータ送信コールを行うとき、API314は、伝送されるべきアプリケーションがLPAR320又は330のような論理的にパーティション化されたデータ処理システム300のLPARの1つにあるかどうかを判断するために、仮想化層370を用いてアダプタ318を介してチェックを行う。仮想化層370がLPAR対LPARのコミュニケーションを行うので、仮想化層370は、ネットワーク終了点のすべてのハードウェア・アドレスのリストに含まれ得るネットワーク終了点のすべてのハードウェア・アドレスに関する知識を有する。従って、仮想化層370は、宛先が、論理的にパーティション化されたデータ処理システム300の内部にあるか外部にあるかを判断し得る。伝送されるべきアプリケーションが、例えば、LPAR320におけるアプリケーション336の1つであるということを仮想化層370が応答する場合、API314は、アプリケーション336をローカルのアプリケーションであると識別し、その識別を格納し、そしてアプリケーション316乃至アプリケーション336のコミュニケーションのためにそのバイパス・トランスポート・プロトコルを使用する。API314は、アプリケーション316及びアプリケーション336の間のコミュニケーションの期間中、識別を一度しか行わず、従って、資源要件における追加の低減を行う。バイパス・トランスポート・プロトコルは、完全なトランスポート・プロトコルを使用せずに、プロセッサ・データ・ムーブ機能のようなデータ処理システム・ハードウェアを使用し、従って、高帯域幅及び低待ち時間をもたらす。
一旦、API314が、仮想化層370から受け取った識別に基づいて使用されるべきプロトコルのタイプを識別すると、アプリケーション336がデータを受け取る準備ができる場合、API314は、アプリケーション316に関連したアプリケーション・バッファ317から、アプリケーション336に関連したリモート・アプリケーション・バッファ337にデータを転送する。アプリケーション336がそのデータを受け取る準備ができていない場合には、API314は、オペレーティング・システム332に関連したシステム・バッファ(図示されてない)にそのデータを送り得る。従って、API314は、LPAR 310からLPAR 330にパケットを内部的に搬送するために必要なプロセスだけを遂行し、それによって、ネットワーク・コミュニケーションには必要かもしれないがローカル・コミュニケーションには必要ない、トランスポート・プロトコル層、ネットワーク・プロトコル層、リンク層、及びコミュニケーション・アダプタ・ドライバ処理のような、トランスポート・プロトコルには必要な資源集約的なプロセスを除去する。
従って、バイパス・プロトコルの使用は、アプリケーション・データの順序を維持し、論理的にパーティション化されたデータ処理システム300内の宛先にそのデータが送られることになっているという決定が既に行われているので、データ保全のための更なる処理を必要としない。バイパス・トランスポート・プロトコルは、API314、324、及び334のフロー・アプリケーション機能によってフロー制御をサポートし、アプリケーションAPIの十分な互換性が維持される。例えば、ソケットAPIは、アプリケーション・データがフロー制御されることを可能にするソケット・バッファ機能を有し、ソケット・ベースのアプリケーションは、アドレス・ファミリを含むことへの変更を必要としない。即ち、アプリケーション316、326、及び336に対する変更又は修正は必要なく、アプリケーション316、326、及び336は、通常、接続をクローズする。更に、API314、324、及び334のソケット情報は保全される。全体的な資源効率は、マシン資源の使用率を最小にするように設計されているバイパス・プロトコルを使用することにより達成される。バイパス・プロトコルによって与えられる資源効率の例は、TCPのような外部コミュニケーション・プロトコルに対する要件である再試行タイマ及びアルゴリズム、整合性チェック等を必要としない大きい層パケット・サイズであってもよい。
当業者には明らかなように、本発明は、システム、方法、又はコンピュータ・プログラムとして具現化され得る。従って、本発明の態様は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例(ファームウェア、駐在ソフトウェア、マイクロコード等を含む)、又は、本明細書では一般に「回路」、「モジュール」、もしくは「システム」と呼ばれるソフトウェア及びハードウェアの態様を組み合わせた実施例の形体を取り得る。更に、本発明の態様は、コンピュータ使用可能なプログラム・コードで具現化された、任意の1つ又は複数個のコンピュータ可読媒体に実装されるコンピュータ・プログラムの形式を取り得る。
1つ又は複数個のコンピュータ可読媒体の任意の組み合わせを利用することも可能である。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線、又は半導体システム、装置、デバイス、或いは上記のものの任意の適切な組み合わせであってもよいがそれらに限定されない。コンピュータ可読媒体の更に特殊な例(限定的なリスト)は、1つまたは複数個のワイヤを有する電気的接続体、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CDROM)、光学的記憶装置、磁気記憶装置、或いは上記のものの任意の適切な組み合わせを含むであろう。本明細書との関連で、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによる使用、或いはそれらに関連してプログラムを含み得る又は格納し得る任意の実体的な媒体であってもよい。
コンピュータ可読信号媒体は、例えば、ベースバンドで又は搬送波の一部として具現化されたコンピュータ可読プログラム・コードを伴う伝播データ信号を含み得る。そのような伝播信号は、電気磁気的、光学的、又はそれらの任意の適切な組み合わせを含む任意の種々の形式を取り得るが、それらに限定されない。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないコンピュータ可読媒体、及び、命令実行システム、装置、又はデバイスよる使用のために、或いはそれに関連した使用のために、プログラムを伝送、伝播、又は搬送し得る任意のコンピュータ可読媒体であってもよい。
コンピュータ可読媒体上に具現化されるコンピュータ・コードは、無線通信、有線通信、光ファイバ・ケーブル、高周波通信(RF)等、或いはそれの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して送信され得る。
本発明の態様に対するオペレーションを実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk 、C++等のようなオブジェクト指向プログラミング言語、及び、「C」プログラミング言語又は同様のプログラミング言語のような従来のプロシージャ型プログラミング言語を含む1つ又は複数個のプログラミング言語の任意の組み合わせで書かれ得る(Javaはサン・マイクロシステムズ社の商標である)。プログラム・コードは、全体的にユーザのコンピュータ上で、独立型ソフトウェア・パッケージのように部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ及び部分的にリモート・コンピュータ上で、或いは全体的にリモート・コンピュータ又はサーバ上で実行され得る。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るし、外部コンピュータへの接続は(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)行われ得る。
本発明の態様が、本発明の実施例に従って、方法、装置(システム)及びコンピュータ・プログラムのフローチャート、及び/又はブロック図に関連して後述される。フローチャート及び/又はブロック図における各ブロック、並びにフローチャート及び/又はブロック図におけるブロックの組み合わせがコンピュータ・プログラム命令によって具現化され得るということは当然である。これらのコンピュータ・プログラム命令は、コンピュータ又は他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図のブロックにおいて指定された機能/行為を具現化するための手段を作成するように、マシンを製造するための汎用コンピュータ、特殊目的コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに提供され得る。
これらのコンピュータ・プログラム命令は、コンピュータ可読媒体にも格納され得るし、コンピュータ可読媒体に格納された命令が、フローチャート、ブロック図のブロックにおいて指定された機能/行為を具現化する命令を含む製品を製造するような特定の態様で機能するよう、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスを指示し得る。
コンピュータ・プログラム命令は、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にもロードされ得るし、コンピュータ又は他のプログラム可能な装置上で実行される命令が、フローチャート、ブロック図のブロックにおいて指定された機能/行為を具現化するためのプロセスを提供するようにコンピュータ実施プロセスを作成するよう、コンピュータ、他のプログラム可能装置、又は他のデバイスにおいて一連の動作ステップを遂行させる。
次に図4及び図5を参照すると、これらの図は、論理的にパーティション化されたシステムおけるパーティション間で高パフォーマンス及び高資源効率のコミュニケーションの例示的オペレーションを概説するフローチャートを提供する。図4は、本実施例に従って論理的パーティションのアプリケーション・プログラミング・インターフェースによって遂行されるオペレーションを示す。そのオペレーションが開始するとき、アプリケーション・プログラミング・インターフェース(API)が、データを宛先アプリケーションに送る要求を発信元アプリケーションから受け取る(ステップ402)。APIは、その要求に関連した宛先アプリケーションのアイデンティティを決定し(ステップ404)、宛先アプリケーションのロケーションを識別するために仮想化層に関連した仮想化管理機構にロケーション識別要求を送る(ステップ406)。しかる後、APIは、宛先アプリケーションのロケーション識別子を受け取り(ステップ408)、その宛先アプリケーションのロケーションが同じデータ処理システムの別のLPARにおける別のアプリケーションであるかどうかを判断する(ステップ410)。ステップ410において、宛先アプリケーションが同じデータ処理システムの別のLPARにおける別のアプリケーションである場合、APIは、バイパス・プロトコルを使用して発信元アプリケーションからの要求を宛先アプリケーションに送り(ステップ412)、しかる後、オペレーションを終了する。ステップ410において、宛先アプリケーションが同じデータ処理システムの別のLPARおける別のアプリケーションではない場合、APIは、トランスポート・プロトコルを使用して発信元アプリケーションからの要求を宛先アプリケーションに送り(ステップ414)、しかる後、オペレーションを終了する。
図5は、本実施例に従って論理的にパーティション化されたシステムの仮想化機構によって遂行されるオペレーションを示す。オペレーションが開始するとき、仮想化機構は、データ処理システムの論理的パーティションのアプリケーション・プログラミング・インターフェース(API)から要求を受け取る(ステップ502)。仮想化機構は、その要求が宛先アプリケーションのロケーションを識別する要求であるかどうかを判断する(ステップ504)。ステップ504において、その要求が宛先アプリケーションのロケーションを識別する要求である場合、仮想化機構は宛先アプリケーションのロケーションを決定して(ステップ506)、そのロケーションを要求元のAPIに送り(ステップ508)、しかる後、オペレーションを終了する。ステップ504において、要求が別のアプリケーションにパケットを送る要求ある場合、仮想化機構は、その要求を宛先アプリケーションに送り(ステップ510)、しかる後、オペレーションを終了する。
それらの図におけるフローチャート及びブロック図は、本発明の様々な実施例によるシステム、方法、及びコンピュータ・プログラムの可能な実施態様のアーキテクチャ、機能、及びオペレーションを示す。この点では、フローチャート又はブロック図における各ブロックは、モジュール、セグメント、或いは、指定された論理的機能を具現化するための1つ又は複数個の実行可能な命令を含むコード部分、を表わし得る。或る代替の具現化方法では、ブロックに記載された機能は図面に記載された順序から外れて生じ得るということに留意されたい。例えば、連続して示された2つのブロックが、実際には、実質的に同時に実行され得るし、ブロックが時には関連の機能に依存して逆の順序で実行され得る。ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートにおけるブロックの組み合わせが、指定された機能又は行為を遂行する特殊目的のハードウェア・ベースのシステム又は特殊目的のハードウェア及びコンピュータ命令の組み合わせによって具現化され得るということも留意されたい。
従って、本実施例は、論理的にパーティション化されたシステムにおける高パフォーマンス及び高資源効率のコミュニケーションのための機構を提供する。バイパス・プロトコルは、論理的パーティション・コミュニケーションに対するイントラ・システムの論理的パーティションに関するトランスポート・プロトコル・オーバヘッドを透明に回避する。バイパス・プロトコルは、フロー制御及びデータの順序正しいデリバリをサポートし、イントラ・システムの転送を介したデータの信頼性及び保全性、並びに、事象の効率的な通知及び処理を保証する。スループットを向上させること及び待ち時間を減少させることによって、論理的にパーティション化されたシステムは、処理装置、メモリ、入出力帯域幅等のようなその論理的にパーティション化されたシステムのコンポーネントの処理要件を減少させる。
上記したように、本実施例が、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、又はハードウェア要素及びソフトウェア要素の両方を含む実施例の形式を取り得るということは明らかであろう。1つの実施例では、その実施例の機構は、ファームウェア、駐在ソフトウェア、マイクロコード等を含むがそれに限定されないソフトウェア又はプログラム・コードで具現化される。
プログラム・コード格納及び/又は実行するに適したデータ処理システムは、システム・バスを介してメモリ・エレメントに直接に又は間接的に連結された少なくとも1つのプロセッサを含むであろう。メモリ・エレメントは、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び、コードが実行中に大容量記憶装置から検索されなければならない回数を減らすために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリ、を含み得る。
入出力装置又はI/O装置(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、それらに限定されない)が、システムに直接に或いは介在するI/Oコントローラを介して結合され得る。データ処理システムが、介在する専用ネットワーク又は公衆ネットワークを介して他のデータ処理システム又はリモート・プリンタ又は記憶装置に結合されることを可能にするために、ネットワーク・アダプタもそのシステムに結合され得る。モデム、ケーブル・モデム、及びイーサネット・カードは、少数の現在入手可能なタイプのネットワーク・アダプタである。
本発明に関する記述は、図解及び説明を目的として与えられており、完全無欠であること或いは開示された形式の発明に限定されることを意図するものではない。当業者には、多くの修正及び変更が明らかであろう。本実施例は、本発明の原理、実用的な応用例を最適に説明するために、及び当業者が、意図された特定の用途に適するように種々の修正を施された種々の実施例に関して本発明を理解することを可能にするために、選択及び記述された。

Claims (21)

  1. 論理的にパーティション化されたデータ処理システムにおいて、複数個のアプリケーションの間でコミュニケーションを行うための方法であって、
    前記論理的にパーティション化されたデータ処理システムの複数個の論理的パーティションにおける第1の論理的パーティションにおいて作動する発信元アプリケーションに関連したアプリケーション・プログラミング・インターフェースによって、データを前記宛先アプリケーションへ送るという要求を受け取るステップと、
    前記アプリケーション・プログラミング・インターフェースによって、前記宛先アプリケーションのロケーションを識別するという要求を仮想化管理機構へ送るステップと、
    前記仮想化管理機構からの応答を受け取ることに応じて、前記宛先アプリケーションのロケーションが前記論理的にパーティション化されたデータ処理システムの前記複数個の論理的パーティションにおける第2の論理的パーティションであるかどうかを、アプリケーション・プログラミング・インターフェースによって判断するステップと、
    前記ロケーションが前記第2の論理的パーティションであることに応じて、前記アプリケーション・プログラミング・インターフェースにより、前記発信元アプリケーションからの要求を前記宛先アプリケーションへ送るためにバイパス・プロトコルを使用するステップと、
    を含む方法。
  2. 前記ロケーションが前記第2の論理的パーティションでないことに応じて、前記アプリケーション・プログラミング・インターフェースにより、前記発信元アプリケーションからの要求を前記宛先アプリケーションへ送るためにトランスポート・プロトコルを使用するステップを更に含む、請求項1に記載の方法。
  3. 前記仮想化管理機構により、前記宛先アプリケーションのロケーションを識別するという要求を受け取るステップと、
    前記仮想化管理機構により、前記論理的にパーティション化されたデータ処理システムに接続されたネットワーク終了点のハードウェア・アドレスのリストを使用して前記宛先アプリケーションのロケーションを識別するステップと、
    前記仮想化管理機構により、前記宛先アプリケーションのロケーションを前記アプリケーション・プログラミング・インターフェースへ送るステップと、
    を更に含む、請求項1又は2に記載の方法。
  4. 前記データが前記宛先アプリケーションに関連したアプリケーション・バッファに送られる、請求項1乃至3のいずれかに記載の方法。
  5. 前記宛先アプリケーションが前記データを受け取る準備ができてないことに応じて、前記アプリケーション・プログラミング・アプリケーションにより、前記宛先アプリケーションを作動するオペレーティング・システムに関連したシステム・バッファへ前記データを送るステップを更に含む、請求項4に記載の方法。
  6. 前記バイパス・プロトコルを使用するステップは、中央処理装置(CPU)使用率、メモリ使用率、又は入出力(I/O)帯域幅の少なくとも1つである資源要件を減少させる、請求項1乃至5のいずれかに記載の方法。
  7. 前記バイパス・プロトコルを使用するステップはリモート・ホスト・アプリケーション終了点を見つけるというトランスポート・プロトコル要素を保存する、請求項1乃至6のいずれかに記載の方法。
  8. 前記バイパス・プロトコルを使用するステップはアプリケーション・プログラミング・インターフェースのソケット情報を保存し、それによって、前記複数個のアプリケーションを修正することを不要にする、請求項1乃至7のいずれかに記載の方法。
  9. コンピュータ可読記憶媒体に記憶されるコンピュータ可読プログラムであって、前記コンピュータ可読プログラムがコンピューティング装置において実行されるとき、
    宛先アプリケーションへデータを送るという発信元アプリケーションからの要求を前記コンピューティング装置に受け取らせるステップと、
    前記宛先アプリケーションのロケーションを識別するという要求を仮想化管理機構へ前記コンピューティング装置に送らせるステップと、
    前記仮想化管理機構からの応答を受け取ることに応じて、前記宛先アプリケーションのロケーションが、論理的にパーティション化されたデータ処理システムの複数個の論理的パーティションにおける第2の論理的パーティションであるかどうかを前記コンピューティング装置に判断させるステップと、
    前記ロケーションが前記第2の論理的パーティションであることに応じて、前記発信元アプリケーションからの要求を前記宛先アプリケーションへ送るためにバイパス・プロトコルを前記コンピューティング装置に使用させるステップと、
    を含む、コンピュータ可読プログラム。
  10. 前記コンピュータ可読プログラムが前記コンピューティング装置において実行されるとき、前記ロケーションが前記第2の論理的パーティションでないことに応じて、前記発信元プリケーションからの要求を前記宛先アプリケーションへ送るためにトランスポート・プロトコルを前記コンピューティング装置に使用させるステップを更に含む、請求項9に記載のコンピュータ可読プロスラム。
  11. 前記コンピュータ可読プログラムが前記コンピューティング装置において実行されるとき、
    前記宛先アプリケーションのロケーションを識別するという要求を前記コンピューティング装置に受け取らせるステップと、
    前記論理的にパーティション化されたデータ処理システムに接続されたネットワーク終了点のハードウェア・アドレスのリストを使用して、前記宛先アプリケーションのロケーションを前記コンピューティング装置に識別させるステップと、
    前記宛先アプリケーションのロケーションを前記アプリケーション・プログラミング・インターフェースへ前記コンピューティング装置に送らせるステップと、
    を更に含む、請求項9又は10に記載のコンピュータ可読プログラム。
  12. 前記データが前記宛先アプリケーションに関連したアプリケーション・バッファへ送られる、請求項9乃至11のいずれかに記載のコンピュータ可読プログラム。
  13. 前記コンピュータ可読プログラムが前記コンピューティング装置において実行されるとき、前記宛先アプリケーションが前記データを受け取る準備ができてないことに応じて、前記宛先アプリケーションを作動するオペレーティング・システムに関連したシステム・バッファへ前記データを前記コンピューティング装置に送らせるステップを更に含む、請求項12に記載のコンピュータ可読プログラム。
  14. 前記バイパス・プロトコルを使用させるステップは、中央処理装置(CPU)使用率、メモリ使用率、又は入出力(I/O)帯域幅の少なくとも1つである資源要件の減少、リモート・ホスト・アプリケーションの終了点を見つけるというトランスポート・プロトコル要素の保存、又はアプリケーション・プログラミング・インターフェースのソケット情報の保存の少なくとも1つを行い、それによって前記複数個のアプリケーションを修正することを不要にする、請求項9乃至13のいずれかに記載のコンピュータ・プログラム。
  15. プロセッサと、
    前記プロセッサに接続され、前記プロセッサによって実行される命令を内蔵するメモリと
    を含み、前記命令が前記プロセッサによって実行されるとき、前記命令は、
    宛先アプリケーションへデータを送るという発信元アプリケーションからの要求を前記プロセッサに受け取らせ、
    前記宛先アプリケーションのロケーションを識別するという要求を前記仮想化管理機構へ前記プロセッサに送らせ、
    前記仮想化管理機構から応答を受け取ること応じて、前記宛先アプリケーションのロケーションが、論理的にパーティション化されたデータ処理システムの複数個の論理的パーティションにおける第2の論理的パーティションであるかどうかを前記プロセッサに判断させ、
    前記ロケーションが前記第2の論理的パーティションであることに応じて、前記発信元アプリケーションからの要求を前記宛先アプリケーションへ送るためにバイパス・プロトコルを前記プロセッサに使用させる、
    装置。
  16. 前記命令は、更に、前記ロケーションが前記第2の論理的パーティションでないことに応じて、前記発信元アプリケーションからの要求を前記宛先アプリケーションへ送るためにトランスポート・プロトコルを前記プロセッサに使用させる、請求項15に記載の装置。
  17. 前記命令は、更に、
    前記宛先アプリケーションのロケーションを識別するという要求を前記プロセッサに受け取らせ、
    前記論理的にパーティション化されたデータ処理システムに接続されたネットワーク終了点のハードウェア・アドレスのリストを使用して、前記宛先アプリケーションのロケーションを前記プロセッサに識別させ、
    前記宛先アプリケーションのロケーションを、前記アプリケーション・プログラミング・インターフェースへ前記プロセッサに送らせる、
    請求項15又は請求項16に記載の装置。
  18. . 前記データが、前記宛先アプリケーションに関連したアプリケーション・バッファに送られる、請求項15乃至17のいずれかに記載の装置。
  19. 前記命令は、更に、前記宛先アプリケーションが前記データを受け取る準備ができてないことに応じて、前記宛先アプリケーションを作動するオペレーティング・システムに関連したシステム・バッファへ前記データを前記プロセッサに送らせる、請求項18に記載の装置。
  20. 前記バイパス・プロトコルを使用させる動作は、中央処理装置(CPU)使用率、メモリ使用率、又は入出力(I/O)帯域幅の少なくとも1つである資源要件の減少、リモート・ホスト・アプリケーションの終了点を見つけるというトランスポート・プロトコル要素の保存、又はアプリケーション・プログラミング・インターフェースのソケット情報の保存の少なくとも1つを行い、それによって、前記複数個のアプリケーションを修正することを不要にする、請求項15乃至20のいずれかに記載の装置。
  21. コンピュータ上で作動するとき、請求項1乃至8のステップをすべて遂行するに適したプログラム・コード手段を含むコンピュータ・プログラム。
JP2012534599A 2009-10-21 2010-08-27 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム Active JP5669851B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/582,812 US8635632B2 (en) 2009-10-21 2009-10-21 High performance and resource efficient communications between partitions in a logically partitioned system
US12/582,812 2009-10-21
PCT/EP2010/062559 WO2011047912A1 (en) 2009-10-21 2010-08-27 Communication between partitions in a logically partitioned system by bypassing the network stack when communicating between applications executed on the same data processing system

Publications (2)

Publication Number Publication Date
JP2013508833A true JP2013508833A (ja) 2013-03-07
JP5669851B2 JP5669851B2 (ja) 2015-02-18

Family

ID=42813071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012534599A Active JP5669851B2 (ja) 2009-10-21 2010-08-27 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム

Country Status (5)

Country Link
US (1) US8635632B2 (ja)
EP (1) EP2491489A1 (ja)
JP (1) JP5669851B2 (ja)
CN (1) CN102576309B (ja)
WO (1) WO2011047912A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5372297B1 (ja) * 2012-12-20 2013-12-18 三菱電機株式会社 車載装置及びプログラム
JP2016509726A (ja) * 2013-01-22 2016-03-31 アマゾン・テクノロジーズ、インコーポレイテッド 特権的コンピューティングオペレーションの結果の保護

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945676B2 (en) * 2005-03-10 2011-05-17 International Business Machines Corporation Processing requests transmitted using a first communication protocol directed to an application that uses a second communication protocol
US8930737B2 (en) * 2011-12-13 2015-01-06 Omx Technology Ab Method and devices for controlling operations of a central processing unit
GB2506195A (en) 2012-09-25 2014-03-26 Ibm Managing a virtual computer resource
US9887939B2 (en) 2015-03-11 2018-02-06 International Business Machines Corporation Transmitting multi-destination packets in overlay networks
WO2016122658A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Request processing
US9971624B2 (en) * 2015-05-17 2018-05-15 Nicira, Inc. Logical processing for containers
US11128734B2 (en) * 2016-05-10 2021-09-21 Veniam, Inc. Configuring a communication system using analytics of a restful API in a network of moving things

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005A (en) * 1851-04-01 He ne y bo o t
JP2008278478A (ja) * 2007-04-02 2008-11-13 Hitachi Ltd 計算機システム及び通信制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682534A (en) * 1995-09-12 1997-10-28 International Business Machines Corporation Transparent local RPC optimization
US6330615B1 (en) 1998-09-14 2001-12-11 International Business Machines Corporation Method of using address resolution protocol for constructing data frame formats for multiple partitions host network interface communications
US7051108B1 (en) * 2000-12-21 2006-05-23 Emc Corporation Method and system of interprocess communications
US7181744B2 (en) 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
US7752635B2 (en) * 2003-12-18 2010-07-06 Intel Corporation System and method for configuring a virtual network interface card
US7478204B2 (en) 2004-04-29 2009-01-13 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
US20060034167A1 (en) 2004-07-30 2006-02-16 International Business Machines Corporation Communication resource reservation system for improved messaging performance
US20060070066A1 (en) * 2004-09-30 2006-03-30 Grobman Steven L Enabling platform network stack control in a virtualization platform
US8645964B2 (en) 2005-08-23 2014-02-04 Mellanox Technologies Ltd. System and method for accelerating input/output access operation on a virtual machine
US8819242B2 (en) * 2006-08-31 2014-08-26 Cisco Technology, Inc. Method and system to transfer data utilizing cut-through sockets
US7617377B2 (en) 2006-10-17 2009-11-10 International Business Machines Corporation Splitting endpoint address translation cache management responsibilities between a device driver and device driver services
US8056089B2 (en) * 2006-11-07 2011-11-08 International Business Machines Corporation Shortcut IP communications between software entities in a single operating system
US20080168208A1 (en) * 2007-01-09 2008-07-10 International Business Machines Corporation I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs
US7885953B2 (en) 2007-10-03 2011-02-08 International Business Machines Corporation Off-loading star join operations to a storage server
US8244827B2 (en) 2007-12-19 2012-08-14 International Business Machines Corporation Transferring a logical partition (‘LPAR’) between two server computing devices based on LPAR customer requirements
US8352950B2 (en) 2008-01-11 2013-01-08 International Business Machines Corporation Algorithm to share physical processors to maximize processor cache usage and topologies
US7539987B1 (en) 2008-03-16 2009-05-26 International Business Machines Corporation Exporting unique operating system features to other partitions in a partitioned environment
US8473946B2 (en) * 2008-07-03 2013-06-25 Vmware, Inc. Efficient recording and replaying of non-deterministic instructions in a virtual machine and CPU therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005A (en) * 1851-04-01 He ne y bo o t
JP2008278478A (ja) * 2007-04-02 2008-11-13 Hitachi Ltd 計算機システム及び通信制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5372297B1 (ja) * 2012-12-20 2013-12-18 三菱電機株式会社 車載装置及びプログラム
JP2016509726A (ja) * 2013-01-22 2016-03-31 アマゾン・テクノロジーズ、インコーポレイテッド 特権的コンピューティングオペレーションの結果の保護
JP2018081705A (ja) * 2013-01-22 2018-05-24 アマゾン・テクノロジーズ、インコーポレイテッド 特権的コンピューティングオペレーションの結果の保護

Also Published As

Publication number Publication date
WO2011047912A1 (en) 2011-04-28
EP2491489A1 (en) 2012-08-29
JP5669851B2 (ja) 2015-02-18
CN102576309A (zh) 2012-07-11
US8635632B2 (en) 2014-01-21
US20110093870A1 (en) 2011-04-21
CN102576309B (zh) 2015-04-15

Similar Documents

Publication Publication Date Title
JP5669851B2 (ja) 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム
JP5689526B2 (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
US7484029B2 (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
US8856340B2 (en) Multi-adapter link aggregation for adapters with hardware based virtual bridges
JP5680070B2 (ja) 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム
US7796646B2 (en) Method and apparatus to perform segmentation off-load between two logical partitions
JP5536878B2 (ja) ファイバ・チャネル・ファブリックへのアクセスの変更
US8201167B2 (en) On-demand allocation of virtual asynchronous services interfaces
US10908895B2 (en) State-preserving upgrade of an intelligent server adapter
US9811346B2 (en) Dynamic reconfiguration of queue pairs
US9311128B2 (en) Bandwidth-Efficient virtual machine image delivery over distributed nodes based on priority and historical access criteria
US20240179092A1 (en) Traffic service threads for large pools of network addresses
US7835373B2 (en) Method and apparatus for buffer linking in bridged networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130508

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140520

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

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: 20141125

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20141125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141216

R150 Certificate of patent or registration of utility model

Ref document number: 5669851

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150