JP6513324B1 - 情報処理装置、方法、及びプログラム - Google Patents

情報処理装置、方法、及びプログラム Download PDF

Info

Publication number
JP6513324B1
JP6513324B1 JP2019508998A JP2019508998A JP6513324B1 JP 6513324 B1 JP6513324 B1 JP 6513324B1 JP 2019508998 A JP2019508998 A JP 2019508998A JP 2019508998 A JP2019508998 A JP 2019508998A JP 6513324 B1 JP6513324 B1 JP 6513324B1
Authority
JP
Japan
Prior art keywords
delivery
data
information
destination
virtual machine
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
Application number
JP2019508998A
Other languages
English (en)
Other versions
JPWO2019180812A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6513324B1 publication Critical patent/JP6513324B1/ja
Publication of JPWO2019180812A1 publication Critical patent/JPWO2019180812A1/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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

仮想マシン(12)のゲストオペレーティングシステム(120)は、仮想マシン(13)を宛先とするデータを、宛先IDと送信元IDとともに、共有メモリ(111)に書き込む。配送管理部(181)は、配送情報テーブル(161)に、宛先IDと送信元IDに対応した配送先として情報処理装置(21)が指定されていると判別すると、データを通信部(182)に供給する。通信部(182)は、配送管理部(181)から供給されたデータを情報処理装置に送信する。配送管理部(181)は、配送情報テーブル(161)に宛先IDと送信元IDに対応した配送先が指定されていないと判別すると、第1データを共有メモリ(112)に書き込んで仮想マシン(13)に配送する。

Description

本発明は、情報処理装置、方法、及びプログラムに関する。
仮想環境を構築した情報処理装置の仮想マシン上で複数のアプリケーションが連携して動作することがある。例えば、ファクトリーオートメーションの分野では、リアルタイムオペレーティングシステムが動作する仮想マシン上で駆動機器、検査装置等を制御する制御用のアプリケーションが実行される。さらに、非リアルタイムオペレーティングシステムが動作する他の仮想マシン上で、検査装置が出力した検査データを処理する情報処理用のアプリケーションが実行される。
仕様の変更、不具合等のため、あるアプリケーションを修正することがある。この場合、本番環境とは別のテスト環境で、修正後のアプリケーションを実行して動作検証をすることが通常である。テスト環境では、テスト用のダミーデータを使用して検証を行うこともあるが、本番環境で収集したデータを使用して検証を行うことが望ましい場合がある。例えば、本番環境だけで発生する不具合に対応するためアプリケーションを修正した場合である。
特許文献1には、同一の情報処理装置に本番環境とテスト環境とを構築して、本番環境とテスト環境とがファイル資源を共有することが記載されている。このような構成とすることで、テスト環境で、本番環境で収集したデータを使用して検証を行うことができる。
仮想環境を構築した情報処理装置において、特許文献1のように本番用の情報処理装置にテスト環境を構築するためには、その情報処理装置に1つ以上の仮想マシンを新たに追加する必要がある。しかし、仮想マシンの追加により、既存の仮想マシンの動作が不安定になり、本番環境の稼働状態に悪影響を与えることがある。例えば、ファクトリーオートメーションの分野では、駆動機器、検査装置等を制御する制御用のアプリケーションが実行されている仮想マシンの動作が不安定になると、駆動機器、検査装置等の稼働状態に悪影響を与えてしまう。最悪の場合、駆動機器、検査装置等が暴走するといった問題が発生することも予想される。
特開平8−235011号公報
上記の問題は、検証の際には、駆動機器、検査装置等を制御する制御用のアプリケーションといったアプリケーションを、別の情報処理装置の仮想マシン上で実行することで未然に防ぐことができる。しかしながら、この場合、異なる情報処理装置で動作する仮想マシンが通信する必要がある。
通信先を別の情報処理装置上の仮想マシンに変更する場合、本番環境の仮想マシンの設定及び当該仮想マシン上で動作するアプリケーションの設定の変更が必要となり、本番環境の動作に悪影響を及ぼす可能性があった。
本発明は上記実情に鑑みてなされたものであり、仮想マシン側の設定を変更することなく、複数の情報処理装置をまたがった仮想マシン間の通信を可能とする。
上記目的を達成するため、本発明の情報処理装置は、仮想マシンを複数含む仮想環境が構築された情報処理装置である。情報処理装置は、情報処理装置上で動作するルートオペレーティングシステムと、仮想マシン上でそれぞれ動作するゲストオペレーティングシステムと、ゲストオペレーティングシステムとルートオペレーティングシステムとがアクセス可能な共有メモリと、仮想マシンが指定するデータの宛先を示す宛先情報及び当該データの送信元を示す送信元情報と、当該データを実際に配送する先である配送先との関係を指定する配送情報記憶手段と、を備える。ルートオペレーティングシステムは、仮想マシンが出力したデータの配送を管理する配送管理手段と、他の情報処理装置と通信経路を介して通信する通信手段とを含む。複数の仮想マシンのうちの第1仮想マシンのゲストオペレーティングシステムが、複数の仮想マシンのうちの第2仮想マシンを宛先とする第1データを、宛先情報及び送信元情報とともに、共有メモリに書き込むと、配送管理手段は、配送情報記憶手段に宛先情報及び送信元情報に対応した配送先が指定されているか否かを判別する。配送情報記憶手段に宛先情報及び送信元情報に対応した配送先として他の情報処理装置が指定されていると判別すると、配送管理手段は、第1データを通信手段に供給し、通信手段は、配送管理手段から供給された第1データを他の情報処理装置に送信する。配送管理手段は、配送情報記憶手段に宛先情報及び送信元情報に対応した配送先が指定されていないと判別すると、第1データを第2仮想マシンに配送する。
本発明の情報処理装置では、配送管理手段が、第1仮想マシンが共有メモリに書き込んだ第1データについて、配送情報記憶手段に宛先情報及び送信元情報に対応した配送先として他の情報処理装置が指定されていると判別すると、第1データを通信手段に供給し、通信手段は、配送管理手段から供給された第1データを他の情報処理装置に送信する。このような構成を備えることで、仮想マシン側の設定を変更することなく、複数の情報処理装置の仮想マシンが、情報処理装置間をまたがって、通信することを可能とする。
本発明の実施の形態に係る情報処理システムの構成の概要を示す図 実施の形態に係る情報処理装置のハードウェア構成を示すブロック図 実施の形態に係る情報処理装置の機能ブロック図 実施の形態に係る共有メモリにセットされるデータの構成を示す図 実施の形態に係る配送情報テーブルに登録されるデータの一例を示す図 実施の形態に係る起動条件テーブルに登録されるデータの一例を示す図 実施の形態に係る起動条件テーブルに登録されるデータの他の例を示す図 実施の形態に係る情報処理装置間で送受信されるデータの構成を示す図 実施の形態に係る送信側の情報処理装置の配送管理部の第1配送処理のフローチャート 実施の形態に係る送信側の情報処理装置の通信部の送信処理のフローチャート 実施の形態に係る受信側の情報処理装置の通信部の受信処理のフローチャート 実施の形態に係る受信側の情報処理装置の配送管理部の第2配送処理のフローチャート 変形例に係る情報処理装置の機能ブロック図 変形例に係る配送情報テーブルに登録されるデータの一例を示す図 変形例に係る情報処理装置の配送管理部の配送処理のフローチャート 配送情報テーブルに登録されるデータの他の例を示す図 起動条件テーブルに登録されるデータの他の例を示す図 配送情報テーブルに登録されるデータのさらに他の例を示す図
(実施の形態)
図1に示すように、本実施の形態に係る情報処理システム100は、通信経路50を介して相互通信が可能な情報処理装置11と情報処理装置21とを含む。情報処理装置11は、FA制御システムの本番環境として稼働する装置である。情報処理装置21は、FA制御システムのテスト環境用の装置である。
ここでは、情報処理装置11は工場内に設置され、情報処理装置21は工場外に設置されている。このため、情報処理装置11と情報処理装置21とは、通信経路50を介して接続されている。通信経路50は、不図示のLAN(Local Area Network)の一部を構成する。
情報処理装置11、21にはそれぞれ仮想環境が構築されている。情報処理装置11では、仮想マシン12及び13が動作する。情報処理装置21では、仮想マシン22及び23が動作する。なお、図1では、ホストマシンである情報処理装置11、21にそれぞれインストールされたルートオペレーティングシステムの図示を省略している。
仮想マシン12はプログラマブルロジックコントローラとして機能する。仮想マシン12は、工場内の駆動機器91及び92と、検査装置93とに接続されている。仮想マシン12は、本発明の第1仮想マシンの一例である。仮想マシン12のゲストオペレーティングシステム(以下、ゲストOSと称する)120は、制御用のアプリケーション130を実行する。アプリケーション130は、プログラマブルロジックコントローラのファームウェアである。アプリケーション130は、駆動機器91及び92の制御に係る処理と、検査装置93の検査データの収集処理とを行う。アプリケーション130は、例えば、検査データとして検査装置93が製造部品を撮影した画像データを収集し、その画像データを仮想マシン13に送信する。
仮想マシン13は、情報処理を行うコンピュータとして機能する。仮想マシン13は、本発明の第2仮想マシンの一例である。仮想マシン13のゲストOS140は、現場の検査データを解析し、生産ラインへフィードバックする品質管理アプリケーションといった、情報処理用のアプリケーション150を実行する。アプリケーション150は、検査装置93の検査データを解析する解析処理を行う。アプリケーション150は、例えば、仮想マシン12のアプリケーション130から受信した検査装置93が撮影した画像データを解析し、不良品の個数を修正した集計データといった、解析に基づく品質状況を示すデータを生成し、生成した品質状況を示すデータを、仮想マシン12に送信する。
仮想マシン22は、仮想マシン12と同様の構成を備え、プログラマブルロジックコントローラとして機能する。仮想マシン12とは異なり、仮想マシン22は、実機の制御を行わない。仮想マシン22にはシミュレータ94が接続されている。シミュレータ94は、パーソナルコンピュータがシミュレーション用のプログラムを実行することで実現される。
仮想マシン23は、仮想マシン13と同様の構成を備え、情報処理を行うコンピュータとして機能する。
本番環境の稼働時においては、情報処理装置11の仮想マシン12及び13が協働して動作する。アプリケーションの動作検証時には、テスト環境用の情報処理装置21の仮想マシン22及び23が協働して動作する。
さらに、本実施の形態では、本番環境で収集したデータを使用して、アプリケーションの動作検証を行うため、情報処理装置11の仮想マシン12と、情報処理装置21の仮想マシン23とが協働して動作することができる。また、情報処理装置11の仮想マシン13と情報処理装置21の仮想マシン22とが協働して動作することができる。このため、情報処理装置11、21のいずれも、仮想マシンのひとつが同一情報処理装置の他の仮想マシン宛てに送信したデータを、ユーザが指定した他の情報処理装置に配送することができる。言い換えると、仮想マシンのひとつが同一情報処理装置の他の仮想マシン宛てに送信したデータを、ユーザが指定した他の情報処理装置に転送することができる。
図2に示すように、情報処理装置11はハードウェア構成として、プロセッサ1と、主記憶部2と、補助記憶部3と、通信制御部4と、を有する。主記憶部2、補助記憶部3、通信制御部4はいずれも内部バス9を介してプロセッサ1に接続されており、プロセッサ1と通信する。なお、情報処理装置21のハードウェア構成も、情報処理装置11の構成と同様である。
プロセッサ1は、CPU(Central Processing Unit)を含む。プロセッサ1は、補助記憶部3に記憶される各種プログラムを実行して、情報処理装置11の各種機能を実現する。
主記憶部2は、揮発性メモリを含み、プロセッサ1のワークメモリとして用いられる。プロセッサ1は、主記憶部2に補助記憶部3に格納されたプログラム、パラメータ等をロードし、主記憶部2にロードしたプログラム、パラメータ等を使用して各種処理を行う。
補助記憶部3は、不揮発性メモリを含む。補助記憶部3は、プログラム、パラメータ等を格納する。補助記憶部3は、後述の配送管理部181の機能を実現するためのプログラム001と、通信部182の機能を実現するためのプログラム002とを格納する。さらに、補助記憶部3には、仮想マシン12、13を作成するプログラム、仮想マシン12のアプリケーション130を実行するためのプログラム、仮想マシン13のアプリケーション150を実行するためのプログラム等が格納されている。
通信制御部4は、通信経路50を介した通信を行うためのネットワークインタフェースを含む。通信制御部4は、通信経路50を介して伝送された信号を受信して、受信した信号が示すデータをプロセッサ1に出力する。また、通信制御部4は、プロセッサ1から供給されたデータを示す信号を、通信経路50を介して、情報処理装置21に送信する。
図3に示すように、情報処理装置11は機能的には、仮想マシン12及び13を管理するハイパーバイザ110と、仮想マシン12上で動作するゲストOS120及びアプリケーション130と、仮想マシン13上で動作するゲストOS140及びアプリケーション150と、ホストマシンである情報処理装置11にインストールされ、ホストマシン上で動作するルートオペレーティングシステム(以下、ルートOSと称する)180と、仮想マシン12と仮想マシン13間でやり取りされるデータを配送する宛先である配送先が登録されている配送情報テーブル161と、配送情報テーブル161に登録されている情報の有効または無効に関する情報が登録されている起動条件テーブル162と、を含む。配送情報テーブル161は、本発明の配送情報記憶手段の一例である。起動条件テーブル162は、本発明の有効無効設定条件記憶手段の一例である。
ハイパーバイザ110は、後述のルートOS180の制御に従って、仮想マシン12及び13を作成し、作成した仮想マシン12及び13を管理する。ハイパーバイザ110は、プロセッサ1が補助記憶部3に記憶する専用のプログラムを実行することによって実現される。
ハイパーバイザ110は、仮想マシン12に割り当てられた共有メモリ111と、仮想マシン13に割り当てられた共有メモリ112と、仮想デバイスドライバであるバックエンドドライバ113とを有する。共有メモリ111は、ゲストOS120とルートOS180との間のデータ交換に使用される。このため、ゲストOS120とルートOS180とが共有メモリ111にアクセス可能である。以下、共有メモリ111にデータを書き込むことを、データをセットするという場合がある。共有メモリ112は、補助記憶部3により実現される。共有メモリ112は、ゲストOS140とルートOS180との間のデータ交換に使用される。このため、ゲストOS140とルートOS180とが共有メモリ112にアクセス可能である。共有メモリ112は、補助記憶部3により実現される。
本実施の形態において、ゲストOS120とゲストOS140は直接データのやり取りをすることができない。このため、ルートOS180が、共有メモリ111、112を使用して、ゲストOS120とゲストOS140との間のデータの受け渡しを行う。例えば、ゲストOS120がゲストOS140にデータを送信する場合、まず、ゲストOS120は、ゲストOS140に送信するデータを共有メモリ111にセットする。ルートOS180は、ゲストOS120が共有メモリ111にセットしたデータを読み出す。ルートOS180は、読み出したデータを、共有メモリ112にセットする。ゲストOSは、ルートOS180が共有メモリ112にセットしたデータを読み出す。このようにして、ゲストOS120からゲストOS140へデータが渡される。ゲストOS140からゲストOS120にデータを渡す場合も同様である。
バックエンドドライバ113は、ルートOS180の制御に従って、共有メモリ111及び112に対するデータの読み書きを行う。
ゲストOS120は、仮想マシン12上で実行されるオペレーティングシステムである。本実施の形態では、ゲストOS120としてRTOS(Real Time Operating System)を想定している。ゲストOS120は、ルートOS180から指示されるとアプリケーション130を起動する。また、ゲストOS120は、ルートOS180との間で、共有メモリ111を使用したデータ交換を行う。ゲストOS120は、プロセッサ1が補助記憶部3に格納されているプログラムを実行することにより実現される。
ゲストOS120は、仮想デバイスドライバであるフロントエンドドライバ121を有している。フロントエンドドライバ121は、ゲストOS120の制御の下、共有メモリ111に対するデータの読み書きを行う。
ゲストOS120は、フロントエンドドライバ121を制御して、アプリケーション130の出力データを共有メモリ111に書き込む。
図4に、ゲストOS120が共有メモリ111にセットするデータのフォーマットの一例を示す。共有メモリ111にセットされるデータは、ヘッダ1010と、データ部1020と、誤り検出符号1030とを含む。
ヘッダ1010は、宛先の仮想マシンの識別情報である宛先ID(Identification)1011と、送信元の仮想マシンの識別情報である送信元ID1012と、データを出力したアプリケーションを識別する識別情報を示す情報である種別1013と、データ部1020のサイズを示す情報であるサイズ1014とを含む。宛先ID1011は、本発明の宛先情報の一例であり、送信元ID1012は、本発明の送信元情報の一例である、種別1013は、本発明の識別情報の一例である。
例えば、仮想マシン12が仮想マシン13にアプリケーション130の出力データを送信する場合は、次のような値がヘッダ1010の各部にセットされる。宛先ID1011には仮想マシン13を示すIDが、送信元ID1012には仮想マシン12を示すIDが、種別1013の値には、アプリケーション130の識別情報がセットされる。
データ部1020は、アプリケーション130の出力データを含む。例えば、データ部1020は、アプリケーション130が検査装置93から収集した検査データを含む。誤り検出符号1030は、誤り検出のための符号である。誤り検出の方式として、例えば、CRC(Cyclic Redundancy Check)、パリティ、ハミング等を採用することができる。
また、ゲストOS120は、フロントエンドドライバ121を制御して、ルートOSが共有メモリ111にセットしたデータを読み出す。ルートOS180が共有メモリ111にセットするデータのフォーマットも図4に示す例と同様である。
図3に示すゲストOS120は、さらに、フロントエンドドライバ121を制御して、ルートOS180との間で仮想バスを介したバス通信を行う。具体的には、ゲストOS120は、共有メモリ111にデータを書き込んだ旨を通知するデータセット通知のシグナルを、フロントエンドドライバ121を制御してルートOS180に送信する。このシグナルを受けて、ルートOS180は共有メモリ111からデータを読み出す。
また、ルートOS180が共有メモリ111にデータをセットした場合、ルートOS180はフロントエンドドライバ121に、データをセットしたことを通知するデータセット通知のシグナルを送信する。フロントエンドドライバ121がこのシグナルを受けると、ゲストOS120は、フロントエンドドライバ121を制御して共有メモリ111からデータを読み出す。
アプリケーション130は、駆動機器91及び92の制御に係る処理と、検査装置93の検査データの収集処理とを行う。アプリケーション130は、検査装置93から検査データを収集し、その検査データを仮想マシン13に送信する。アプリケーション130は、ゲストOS120が、補助記憶部3に格納されているプログラムを実行することにより起動される。
ゲストOS140は、仮想マシン13上で実行されるオペレーティングシステムである。本実施の形態では、ゲストOS140として非リアルタイムOSを想定している。ゲストOS140は、ルートOS180から指示されるとアプリケーション150を起動する。また、ゲストOS140は、ルートOS180との間で、共有メモリ112を使用したデータ交換を行う。ゲストOS140は、プロセッサ1が補助記憶部3に格納されているプログラムを実行することにより実現される。
ゲストOS140は、仮想デバイスドライバであるフロントエンドドライバ141を有している。フロントエンドドライバ141は、ゲストOS140の制御の下、共有メモリ112に対するデータの読み書きを行う。ゲストOS140は、フロントエンドドライバ141を制御して、アプリケーション150の出力データを共有メモリ112に書き込む。ゲストOS140が共有メモリ112にセットするデータのフォーマットは、図4に示した例と同様である。ここでは、データ部1020に、アプリケーション150が出力したデータがセットされる。また、ゲストOS140は、フロントエンドドライバ141を制御して、ルートOS180が共有メモリ112にセットしたデータを読み出す。ルートOS180が共有メモリ112にセットするデータのフォーマットも図4に示す例と同様である。
図3に示すゲストOS140は、さらに、フロントエンドドライバ141を制御して、ルートOS180との間で仮想バスを介したバス通信を行う。ゲストOS140は、共有メモリ112にデータをセットすると、データセット通知のシグナルを、フロントエンドドライバ141を制御してルートOS180に送信する。このシグナルを受けて、ルートOS180は、バックエンドドライバ113を使用して共有メモリ112からデータを読み出す。
また、ルートOS180が共有メモリ112にデータをセットした場合、ルートOS180はフロントエンドドライバ141に、データセット通知のシグナルが送信する。フロントエンドドライバ141がこのシグナルを受けると、ゲストOS140は、フロントエンドドライバ141を制御して、共有メモリ112からデータを読み出す。
アプリケーション150は、検査装置93の検査データを解析する解析処理を行う。アプリケーション150は、例えば、仮想マシン12のアプリケーション130から受信した検査データを解析し、解析に基づく品質状況を示すデータを生成し、生成した品質状況を示すデータを、仮想マシン12に送信する。アプリケーション150は、ゲストOS140が、補助記憶部3に格納されているプログラムを実行することにより起動される。
ゲストOS120、140は、ヘッダ1010の宛先ID1011に宛先の仮想マシンを示すIDをセットして、宛先の仮想マシンを指定する。宛先として同じ情報処理装置11の仮想マシン12、13のいずれかが指定される。ただし、上述したように、ユーザが他の情報処理装置に転送するよう指定した場合、ルートOS180は、仮想マシン12、13が共有メモリ111、112にセットしたデータを、ユーザが指定する宛先に転送する。さらに、ルートOS180は、ユーザの指定に基づいて、仮想マシン12、13が共有メモリ111、112にセットしたデータのヘッダ1010の情報を書き換える。配送情報テーブル161と起動条件テーブル162とは、上記のルートOS180の処理に使用される。
配送情報テーブル161には、仮想マシン12、13がデータを配送する宛先である配送先があらかじめ登録されている。配送情報テーブル161への登録は次のように行われる。まず、ユーザは不図示の登録用のツールを使用して、配送情報テーブル161に登録するデータを作成する。ユーザは、登録用のツールを通信ケーブルで情報処理装置11に接続し、作成したデータを情報処理装置11にアップロードして、配送情報テーブル161にデータを登録する。ここで、登録用のツールは、パーソナルコンピュータに専用プログラムをインストールしたものである。
配送情報テーブル161には、ゲストOS120、140が共有メモリ111、112にセットしたヘッダ1010の情報と、データの配送先との対応を示す情報が格納されている。より具体的には、配送情報テーブル161には、宛先の仮想マシンを示す宛先ID1011と、送信元の仮想マシンを示す送信元ID1012と、当該データを出力したアプリケーションの識別情報である種別1013とから、データの配送先が指定されている。さらに、配送情報テーブル161では、送信時に更新するヘッダ1010の値も指定されている。
図5に、配送情報テーブル161に登録されるデータの一例を示す。以下、仮想マシン12を識別するIDを「VM12」、仮想マシン13を識別するIDを「VM13」、仮想マシン22を識別するIDを「VM22」、仮想マシン23を識別するIDを「VM23」として説明を行う。また、種別1013にセットする値には、数値計算用のアプリケーションの識別情報である「APP1」と、制御用のアプリケーションの識別情報である「APP2」と、画像処理用のアプリケーションの識別情報である「APP3」が含まれるものとする。
図5に示すように、配送設定のNo.1では、宛先ID1011が“VM13”であり、送信元ID1012が“VM12”であり、種別1013が“APP1”である場合に、配送先を“情報処理装置21”とすることが指定されている。図示する例では、情報処理装置を識別する情報として、“情報処理装置21”といった値が登録されているが、配送先として、情報処理装置のIP(Internet Protocol)アドレスを指定してもよい。
配送設定No.1の更新ヘッダの宛先ID1011は“VM23”、送信元ID1012は“VM22”、種別1013は“APP1”である。これはヘッダ1010の宛先ID1011を“VM23”に、送信元ID1012を“VM22”に、種別1013を“APP1”に更新するよう指定されていることを示す。
例えば、仮想マシン12のゲストOS120が、数値計算用のアプリケーションが出力したデータを仮想マシン13宛てのデータとして図4に示すフォーマットで共有メモリ111に格納したとする。この場合、当該データのヘッダ1010には、宛先ID1011“VM13”、送信元ID1012“VM12”、種別1013“APP1”がセットされている。この場合、図5に示すように、ヘッダ1010にセットされた情報に合致する配送設定はNo.1である。配送設定のNo.1では、配送先として“情報処理装置21”が指定されている。このため、後述の配送管理部181と通信部182とにより、当該データは情報処理装置21に配送される。
さらに、配送設定のNo.1に従って、配送管理部181により、ヘッダ1010の宛先ID1011が“VM23”に、送信元ID1012が“VM22”に、種別1013が“APP1”に更新される。このため、当該データを受信した情報処理装置21の仮想マシン23では、受信したデータが同じ情報処理装置21の仮想マシン22の数値計算プリケーションから出力されたものであるとみなされる。
図5に示すように、配送設定のNo.2では、宛先ID1011が“VM13”であり、送信元ID1012が“VM12”であり、種別1013が“APP2”である場合に、配送先を“情報処理装置21”とすることが指定されている。さらに、配送設定のNo.2では、ヘッダ1010の宛先ID1011を“VM23”に、送信元ID1012を“VM22”に、種別1013を“APP3”に更新することが指定されている。
図3に示す仮想マシン12が制御用のアプリケーションの出力データを、仮想マシン13宛てのデータとして共有メモリ111に格納した場合、図5に示す配送設定のNo.2に従って、当該データは、情報処理装置21に配送される。配送の際に、ヘッダ1010の各値が、配送設定のNo.2の更新ヘッダの値で更新されるため、情報処理装置21が受信したデータの宛先ID1011は“VM23”、送信元ID1012は“VM22”、種別1013は“APP3”となっている。このため、情報処理装置21の仮想マシン23では、受信したデータが同じ情報処理装置21の仮想マシン22の画像処理用のアプリケーションから出力されたものであるとみなされる。
配送設定のNo.3では、宛先ID1011が“VM12”であり、送信元ID1012が“VM13”であり、種別1013が“APP2”である場合に、更新ヘッダの情報が登録されていない。これは、当該データをどこにも配送しないことを示す。
図3に示す仮想マシン13が制御用のアプリケーションの出力データを、仮想マシン12宛てのデータとして共有メモリ112に格納した場合、図5に示す配送設定のNo.3に従って、当該データはどこにも配送されない。即ち、仮想マシン13から仮想マシン12に向けた通信が遮断される。
配送設定のNo.4では、宛先ID1011が“VM13”であり、送信元ID1012が“VM12”であり、種別1013が“APP3”である場合に、配送先として“ローカルホスト”、即ち、自機の情報処理装置11が指定されている。配送設定のNo.4では、ヘッダ1010の宛先ID1011を“VM13”、送信元ID1012を“VM12”、種別1013を“APP1”に更新することが指定されている。
図3に示す仮想マシン12が画像処理用のアプリケーションの出力データを、仮想マシン13宛てのデータとして共有メモリ111に格納した場合、図5に示す配送設定のNo.4に従って、当該データは、同一の情報処理装置11の仮想マシン13に配送される。配送の際に、ヘッダ1010の各値が、配送設定のNo.4の更新ヘッダの値で更新されるため、仮想マシン13が受信したデータの種別1013は“APP3”となっている。このため、仮想マシン13では、受信したデータが数値計算用のアプリケーションから出力されたものであるとみなされる。
起動条件テーブル162には、配送情報テーブル161の各配送設定を有効にするか、無効にするかを示す情報があらかじめ登録されている。起動条件テーブル162のデータも、配送情報テーブル161のデータと同様に、ユーザが登録用のツールを使用して作成し、情報処理装置11にアップロードすることで、起動条件テーブル162に登録される。
実施の形態において、配送情報テーブル161の各配送設定は、起動条件テーブル162で決められた条件が満たされた場合に、有効または無効となる。
図6に、起動条件テーブル162に登録されるデータの一例を示す。ここでは、情報処理装置11の補助記憶部3の指定されたメモリアドレスに格納されている値と閾値との関係で、有効あるいは無効とするよう指定されている。図示する例では、配送設定のNo.1は、指定されたメモリアドレスの値が閾値と一致したときに有効となる、配送設定のNo.2は、指定されたメモリアドレスの値が閾値未満であるときに有効となる。配送設定のNo.3は、指定されたメモリアドレスの値が閾値以上であるときに無効となる。
図7に、起動条件テーブル162に登録されるデータの他の例を示す。ここでは、指定された期間、配送設定を有効または無効にすることが指定されている。図示する例では、配送設定のNo.4は、指定された開始日時・開始時刻から終了日時・終了時刻までの間、有効となる。
図3に示すように、ルートOS180は、情報処理装置11にインストールされており、情報処理装置11に電源が投入されると、最初に起動される。ルートOS180は、ハイパーバイザ110に、仮想マシン12及び13を作成させ、管理させる。ルートOS180は、プロセッサ1が補助記憶部3に格納されているプログラムを実行することにより実現される。
ルートOS180は、配送管理部181と通信部182とを含む。配送管理部181は、ルートOS180が補助記憶部3のプログラム001を実行することで実現される。通信部182は、ルートOS180が補助記憶部3のプログラム002を実行することで、実現される。配送管理部181は、本発明の配送管理手段の一例である。通信部182は、本発明の通信手段の一例である。
配送管理部181は、送信元が仮想マシン12、13であるデータ、宛先として仮想マシン12、13が指定されているデータの配送に係る処理を行う。
まず、配送管理部181が、仮想マシン12、13が共有メモリ111、112にデータをセットした場合に行う処理を説明する。配送管理部181は、仮想マシン12、13が共有メモリ111、112にセットしたデータをそれぞれ、前述の配送情報テーブル161と起動条件テーブル162とに基づいた配送先に、あるいは、仮想マシン12、13がそれぞれ指定した宛先に配送する。
例えば、データセット通知のシグナルの受信により、仮想マシン12が共有メモリ111にデータをセットしたと判別すると、配送管理部181は、バックエンドドライバ113を制御して、共有メモリ111からデータを読み出す。配送管理部181は、読み出したデータの宛先ID1011と送信元ID1012と種別1013とに基づいて、配送情報テーブル161に配送先が登録されているか否かを判別する。
配送管理部181は、共有メモリ111から読み出したデータについて、配送情報テーブル161の配送先として他の情報処理装置である情報処理装置21が指定されている場合は、ヘッダ1010を更新して、当該データを配送先の情報処理装置21を示す情報とともに、通信部182に送信する。配送管理部181は、共有メモリ111から読み出したデータについて、配送情報テーブル161に、配送設定が登録されていない場合、ヘッダ1010を更新せずに、当該データを仮想マシン13の共有メモリ112に、バックエンドドライバ113を制御して書き込む。また、配送管理部181は、共有メモリ111から読み出したデータについて、配送情報テーブル161の配送先として自機の情報処理装置11の仮想マシン13が指定されている場合は、ヘッダ1010を更新して、当該データを仮想マシン13の共有メモリ112に、バックエンドドライバ113を制御して書き込む。
以上が、配送管理部181が、仮想マシン12、13が共有メモリ111、112にデータをセットした場合に行う処理である。
続いて、配送管理部181が、通信部182が情報処理装置21から通信パケットを受信した場合に行う処理を説明する。
配送管理部181は、通信部182から通信パケットから通信用ヘッダ1040を取り除いたデータを受け取ると、当該データのヘッダ1010の宛先IDに基づいて、仮想マシン12または13に当該データを配送する。例えば、宛先ID1011が仮想マシン13を示す場合、配送管理部181は、バックエンドドライバ113を制御して、当該データを共有メモリ112に書き込み、フロントエンドドライバ141にデータセット通知のシグナルを送信する。宛先ID1011が仮想マシン12を示す場合も、配送管理部181は同様の処理を行う。このようにして、他の情報処理装置である情報処理装置21から送信されたデータは、仮想マシン12または13に配送される。
通信部182は、通信経路50を介して、情報処理装置21と、通信パケットの送受信を行う。
まず、通信部182が、配送管理部181から情報処理装置21宛てのデータを受信した場合に、通信部182が行う処理を説明する。通信部182は、配送管理部181から図4に示すような情報処理装置21宛てのデータと、配送先の情報とを受信すると、配送先の情報を含めた通信用ヘッダ1040を生成する。例えば、通信経路50は、通信経路50が含まれるLANのプロトコルに応じたIPヘッダを通信用ヘッダ1040として生成する。通信部182は、図8に示すような、配送管理部181から受信した情報処理装置21宛てのデータに、通信用ヘッダ1040を付加した通信パケット1100を生成する。通信部182は、生成した通信パケット1100を、通信経路50から情報処理装置21に送信する。
続いて、通信部182が情報処理装置21から通信パケットを受信した場合に、通信部182が行う処理を説明する。通信部182は、情報処理装置21から通信パケット1100を受信すると、通信パケット1100から通信用ヘッダ1040を取り除いたデータを、配送管理部181に送信する。
以上、情報処理装置11の各部の構成を説明したが、情報処理装置21も同様の構成を有する。
次に、情報処理装置11の仮想マシン12、13が送信側である場合の一連の処理の流れを説明する。以下、仮想マシン12、13が共有メモリ111、112にセットするデータを共有メモリデータということがある。共有メモリデータは、本発明の第1データの一例である。
まず、仮想マシン12、13のいずれかから共有メモリデータのデータセット通知を受けた配送管理部181の第1配送処理を説明する。
図9に示すように、配送管理部181は、決められた周期で、データセット通知のシグナルを受信したか否かを判別する(ステップS101)。配送管理部181は、データセット通知のシグナルを受信したと判別すると(ステップS101;Yes)、バックエンドドライバ113を制御して、仮想マシン12と13のうち、データセット通知のシグナルを送信した仮想マシンに割り当てられた共有メモリから共有メモリデータを読み出し(ステップS102)。読み出したデータを補助記憶部3の決められた領域に格納する。例えば、仮想マシン12からデータセット通知のシグナルを受信すると、配送管理部181は、共有メモリ111から共有メモリデータを読み出す。以下、配送管理部181は、補助記憶部3の決められた領域に格納したデータに対して下記の処理を実行する。
配送管理部181は、共有メモリから読み出したデータのヘッダ1010の宛先ID1011と送信元ID1012と種別1013とに基づいて、配送情報テーブル161に配送先が設定されているか否かを判別する(ステップS103)。例えば、共有メモリ111から読み出したデータの宛先ID1011が仮想マシン13を示す“VM13”であり、送信元ID1012が仮想マシン12を示す“VM12”であり、種別1013が“APP1”である場合、配送情報テーブル161の配送設定のNo.1に一致するため、配送管理部181は、配送先が指定されていると判別する(ステップS103;Yes)。
配送管理部181は、起動条件テーブル162を参照して、配送設定が有効であるか否かを判別する(ステップS104)。例えば、配送管理部181は、配送設定のNo.1について、指定されたメモリアドレス「0X1000000」の値が閾値「100」であると判別すると、配送設定が有効であると判別する(ステップS104;Yes)。
配送管理部181は、配送情報テーブル161の更新ヘッダとして指定された値で、共有メモリ111から読み出した共有メモリデータのヘッダ1010の値を更新する(ステップS105)。例えば、配送設定No.1の場合、配送管理部181は、宛先ID1011を“VM23”に、送信元ID1012を“VM22”に、種別1013を“APP1”に更新する。
配送管理部181は、配送情報テーブル161の配送先の情報処理装置を示す情報と、ヘッダ1010の値を更新した共有メモリデータとを通信部182に供給する(ステップS106)。
一方、ステップ103で、配送管理部181は、配送先が指定されていないと判別すると(ステップS103;No)、バックエンドドライバ113を制御して、読み出した共有メモリデータに含まれる宛先ID1011が示す仮想マシンの共有メモリに、共有メモリデータを書き込む(ステップS107)。その後、配送管理部181は、宛先ID1011が示す仮想マシンのフロントエンドドライバに対して、データセット通知のシグナルを送信する(ステップS108)。例えば、共有メモリ111から読み出した共有メモリデータの宛先ID1011が仮想マシン13を示す“VM13”である場合、配送管理部181は、その共有メモリデータを仮想マシン13の共有メモリ112に書き込む。その後、配送管理部181は、仮想マシン13のフロントエンドドライバ141に、データセット通知のシグナルを送信する。
また、ステップS104で、配送管理部181は、配送設定が有効でないと判別すると(ステップS104;No)、上述のステップS107とS108の処理を実行する。以上が、配送管理部181が、仮想マシン12、14のいずれかからデータセット通知のシグナルを受けたときに行う処理である。
続いて、図9のステップS106で、配送管理部181から配送先の情報処理装置の情報と、共有メモリデータとを供給された通信部182の送信処理を説明する。
図10に示すように、通信部182は、決められた周期で、配送管理部181から、配送先の情報処理装置を示す情報と、送信する共有メモリデータとを受信したか否かを判別する(ステップS201)。通信部182は、配送先の情報処理装置を示す情報と、送信する共有メモリデータとを受信した場合(ステップS201;Yes)、配送先の情報処理装置を示す情報を含めた通信用ヘッダ1040を生成する(ステップS202)。
通信部182は、ステップS202で生成した通信用ヘッダ1040を、ステップS201で配送管理部181から受信した送信する共有メモリデータに付加して、通信パケットを生成する(ステップS203)。その後、通信部182は、通信経路50から通信パケットを送信する(ステップS204)。以上が、通信部182の送信処理である。
以上、情報処理装置11を例に説明したが、情報処理装置21の仮想マシン22、23が送信側である場合も同様である。
次に、情報処理装置11の仮想マシン12、13が受信側である場合の一連の処理の流れを説明する。
まず、情報処理装置21から共有メモリデータを含む通信パケットが送信された場合の、通信部182の受信処理を説明する。
図11に示すように、通信部182は、決められた周期で通信経路50から通信パケットを受信したか否かを判別し(ステップS301)、受信したと判別すると(ステップS301;Yes)、受信パケットから共有メモリデータを取り出す(ステップS302)。具体的には、通信パケットから、図8に示す通信用ヘッダ1040を取り除く。図11に示すように、通信部182は、共有メモリデータを配送管理部181に供給する(ステップS303)。以上が、通信部182の通信処理である。
続いて、図11のステップS303で、通信部182から、共有メモリデータが供給された配送管理部181の第2配送処理を説明する。
図12に示すように、配送管理部181は、決められた周期で通信部182から共有メモリデータが供給されたか否かを判別し(ステップS401)。共有メモリデータが供給されると(ステップS401;Yes)、下記の処理を実行する。配送管理部181は、受信した共有メモリデータの宛先ID1011が示す仮想マシンの共有メモリに、バックエンドドライバ213を制御して、共有メモリデータをセットする(ステップS402)。配送管理部181は、データをセットした旨を通知するデータセット通知のシグナルを、宛先ID1011が示す仮想マシンのフロントエンドドライバに通知する(ステップS403)。以上が共有メモリデータを受信した配送管理部181の第2配送処理である。
以上、情報処理装置11を例に説明したが、情報処理装置21の仮想マシン22、23が受信側である場合も同様である。
以上説明したように、本発明の実施の形態に係る情報処理装置11では、仮想マシン12と仮想マシン13とのデータのやり取りがルートOS180を介して行われる。仮想マシン12と仮想マシン13間のデータを情報処理装置21に転送するよう指定されている場合には、そのデータは、情報処理装置21に転送される。このように、複数の情報処理装置の仮想マシンが、情報処理装置間をまたがって、通信することができる。
上記説明においては、情報処理装置11内の仮想マシン12と仮想マシン13間でやり取りされるデータを他の情報処理装置21に転送したが、情報処理装置11内に仮想マシン間でデータを転送することができる。以下、変形例において説明する。
(変形例)
図13に示すように、変形例に係る情報処理装置11は、仮想マシン12と13に加え、仮想マシン14を有する。なお、図13においては、情報処理装置21の構成の図示を省略しているが、情報処理装置21に係る構成は、実施の形態と同様である。
仮想マシン14は、仮想マシン13と同様に情報処理を行うコンピュータとして機能する。仮想マシン14は、本発明の第3仮想マシンの一例である。仮想マシン14のゲストOS170は、仮想マシン13のゲストOS140と同様に、情報処理用のアプリケーション190を実行する。仮想マシン14は、仮想マシン13と同様の構成を有するため、ここでは仮想マシン14のハードウェア、機能についての説明を省略する。
変形例においては、情報処理装置11内の仮想マシン12と仮想マシン13間でやり取りされるデータを、同じ情報処理装置11の仮想マシン14に転送することを想定して説明する。この場合、配送情報テーブル161に登録されるデータの例を図14に示す。ここでは、仮想マシン14を識別するIDを「VM14」とする。その他の仮想マシンを識別するIDと、種別1013の値とは実施の形態と同様である。配送設定No.1からNo.4の内容は、実施の形態と同様であるため説明を省略する。
図14に示すように、配送設定のNo.5には、宛先ID1011が“VM13”であり、送信元ID1012が“VM12”であり、種別1013が“APP1”である場合に、配送先に“ローカルホスト”が指定されている。さらに、ヘッダ1010の各値について、宛先ID1011を“VM14”に、送信元ID1012を“VM12”に、種別1013を“APP1”に更新することが指定されている。
配送設定のNo.5に従って、データがどのように配送されるかを説明する。なお、配送設定No.5は有効にされているものとする。仮想マシン12が数値計算用のアプリケーションの出力データを、仮想マシン13宛てて共有メモリ111にセットし、データセット通知をルートOS180に送信したと仮定する。この場合、共有メモリ111の宛先ID1011には“VM13”、送信元ID1012には“VM12”、種別1013には“APP1”がセットされる。
以下、図14を参照しながら、配送管理部181の変形例に係る第1配送管理処理を説明する。なお、実施の形態と異なる構成を中心に説明する。
配送管理部181は、仮想マシン12からデータセット通知のシグナルを受信したと判別すると(ステップS101;Yes)、バックエンドドライバ113を制御して、仮想マシン12に割り当てられた共有メモリ111から共有メモリデータを読み出し(ステップS102)、読み出したデータを補助記憶部3の決められた領域に格納する。
配送管理部181は、共有メモリから読み出したデータのヘッダ1010の宛先ID1011と送信元ID1012と種別1013とに基づいて、配送情報テーブル161に配送先が設定されているか否かを判別する(ステップS103)。ここでは、図14に示すように、宛先ID1011と、送信元ID1012と、種別1013の値が、配送設定のNo.5に一致するため、図15に示すように、配送管理部181は、配送先が指定されていると判別する(ステップS103;Yes)。
配送管理部181は、起動条件テーブル162を参照して、配送設定が有効であるか否かを判別し(ステップS104)、配送設定のNo.5が有効であると判別する(ステップS104;Yes)。
配送管理部181は、配送情報テーブル161の更新ヘッダとして指定された値で、共有メモリ111から読み出した共有メモリデータのヘッダ1010の値を更新する(ステップS105)。図14に示すように、配送設定のNo.5の場合、配送管理部181は、宛先ID1011を“VM14”に、送信元ID1012を“VM12”に、種別1013を“APP1”に更新する。
図15に示すように、配送管理部181は、配送情報テーブル161の配送先が、他の情報処理装置であるか、即ち、情報処理装置11以外であるかを判別する(ステップS109)。図14に示すように、配送設定のNo.5の場合、配送先は”ローカルホスト”なので、図15に示すように、配送管理部181は、配送先が他の情報処理装置21ではないと判別する(ステップS109;No)。
配送管理部181は、バックエンドドライバ113を制御して、配送設定が示す宛先の仮想マシンの共有メモリに、共有メモリデータを書き込む(ステップS110)。ここでは、配送管理部181は、仮想マシン14に割り当てられた共有メモリ114に共有メモリデータを書き込む。その後、配送管理部181は、仮想マシン14のフロントエンドドライバ171に対して、データセット通知のシグナルを送信する(ステップS111)。
一方、図15に示すように、ステップS106で、配送管理部181は、配送先が他の情報処理装置であると判別すると(ステップS109;Yes)、配送情報テーブル161の配送先の情報処理装置を示す情報と、ヘッダ1010の値を更新した共有メモリデータとを通信部182に供給する(ステップS112)。
また、ステップS103で、配送管理部181が、配送情報テーブル161に配送先が指定されていないと判別した場合(ステップS103;No)の処理は、実施の形態と同様である。ステップS104で、配送設定が有効でないと判別した場合(ステップS104;Yes)の処理は、実施の形態と同様である。
以上、実施の形態、変形例において説明したように、本発明に係る情報処理装置では、仮想マシン間でやり取りされるデータについて、配送情報テーブル161において、他の情報処理装置に転送するよう指定されている場合、本来の宛先の仮想マシンにではなく、指定された他の情報処理装置にデータを送信する。このような構成を備えることで、仮想マシン側の設定を変更することなく、複数の情報処理装置をまたがって仮想マシン間の通信が可能である。
変形例においては、配送管理部181は、配送情報テーブル161に、仮想マシンが共有メモリに書き込んだ宛先ID1011とは異なる仮想マシンが宛先として指定されている場合、指定されている仮想マシンに割り当てられた共有メモリにデータを配送する。このように、同一情報処理装置内の仮想マシンにもデータを転送することができる。
配送情報テーブル261では、宛先ID1011と送信元ID1012と種別1013とに基づいて、データの配送先を指定されている。このため、特定のアプリケーションについて、情報処理装置をまたいだ、仮想マシン間の通信が可能である。また、同一の情報処理装置内の仮想マシン間の通信についても、同様に特定のアプリケーション間のデータのやり取りを可能にする。
起動条件テーブル262において、配送情報テーブル261のそれぞれの配送設定が有効であるか無効であるかを設定することができるため、例えば、アプリケーション間のデータのやり取りについて検証する場合には、対象アプリケーション以外のアプリケーションの無関係な通信を排除することができる。
仮想マシンのゲストオペレーティングシステムは、共有メモリにデータを書き込んだ旨を通知するデータセットのシグナルを、ルートオペレーティングシステムに送信する。これにより、ルートオペレーティングシステムは、データセットのシグナルを受けたときに、共有メモリのデータを読みにいけばよく、各仮想マシンに割り当てられた共有メモリを監視する必要がない。また、ルートオペレーティングシステムは、ヘッダ1010の情報によらずとも、共有メモリに書き込んだ仮想マシンを判別することができる。
配送管理部181は、共有メモリに書き込んだ旨を通知するデータセットのシグナルを対象となるゲストオペレーティングシステムに通知する。これにより、ゲストオペレーティングシステムは、データセットのシグナルを受けたときに、共有メモリのデータを読みにいけばよく、共有メモリを監視する必要がない。
また、1つの情報処理装置に、多くの仮想マシンを動作させた場合には、複数の仮想マシンは、物理的に1台の情報処理装置のハードウェアリソースを使用することになるので、リソース不足になることも生じる。しかし、実施の形態では、2台以上の情報処理装置の仮想マシン間の通信が可能であるため、情報処理装置のハードウェアリソースの不足といった事態を回避することができる。
上述の例では、起動条件テーブル162、262を使用して、配送設定の有効または無効を指定した。しかし、情報処理装置11、21は、起動条件テーブル162、262を使用しなくてもよい。この場合、配送情報テーブル161、261に登録されている全ての配送設定を有効とするものとし、配送設定を無効にしたい場合は、配送情報テーブル161、261からその配送設定を削除するようにしてもよい。この場合、情報処理装置11、21はそれぞれ、起動条件テーブル162、262のテーブルを1つだけ有すればよいので、テーブルのメンテナンスの操作が容易である。
あるいは、図16に示すように、配送情報テーブル161、261に、起動条件のフィールドを追加してもよい。この場合も、情報処理装置11、21はそれぞれ、起動条件テーブル162、262のテーブルを1つだけ有すればよいので、テーブルのメンテナンスの操作が容易である。
あるいは、起動条件テーブル162、262が有効/無効を指定するフィールドのみを有してもよい。図17に示す例では、条件に応じて有効または無効を指定するのではなく、単純に有効または無効を指定している。
あるいは、配送情報テーブル161、261に、図18に示すように、有効/無効を指定するフィールドを追加し、この値を変更することで、配送情報の有効または無効を指定するようにしてもよい。図18に示す例では、条件に応じて有効または無効を指定するのではなく、単純に有効または無効を指定している。
実施の形態、変形例では、各仮想マシンに1つずつ共有メモリを割り当てたが、全ての仮想マシンが、他の仮想マシンに送信するデータを同じ共有メモリに書き込んでもよい。この場合でも、ルートOS180は、共有メモリに書き込まれたヘッダ1010の送信元ID1012により、どの仮想マシンが書き込んだデータであるか判別することができる。
1つの情報処理装置に構築する仮想マシンの数は、2つまたは3つに限らず、それより多くてもよい。あるいは、1つの情報処理装置に構築する仮想マシンの数は、1つだけでもよい。例えば、情報処理装置21には仮想マシン23だけを構築してもよい。この場合も、仮想マシン22にはシミュレータ94を接続してもよい。例えば、仮想マシン13のアプリケーション150の動作を検証する場合、情報処理装置11の仮想マシン13と、情報処理装置21の仮想マシン23とが通信を行うことで、駆動機器91及び92と、検査装置93との動作状況に影響を与えずにすむ。また、情報処理装置21は、1つの仮想マシン23を構築可能なスペックを有していればよいので、例えば、情報処理装置21のスペックを、情報処理装置11のスペックと同等のものとする必要がない。従って、コストを削減することが可能である。
上述の例では、通信経路50はLANの一部を構成するものであったため、情報処理装置11と21とは、LANを使用した通信を行った。しかし、通信経路50は、これに限られず、例えば、通信経路50としてUSB規格の通信ケーブルを使用し、情報処理装置11と21とは、USBを介して通信してもよい。あるいは、通信経路50は、有線ケーブルでなくてもよく、情報処理装置11と21とは、無線LAN、WPAN(Wireless Personal Area Network)を使用して通信してもよい。
上述の例では、1つの仮想マシンが1つのアプリケーションだけを実行する例を説明したが、1つの仮想マシンが複数のアプリケーションを実行してもよい。
上記のルートOS180が実行するプログラムを記録する記録媒体としては、USBメモリ、フレキシブルディスク、CD、DVD、Blu−ray(登録商標)、MO、SDカード、メモリースティック(登録商標)、その他、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ、磁気テープを含むのコンピュータ読取可能な記録媒体を使用することができる。
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
001,002 プログラム、1 プロセッサ、2 主記憶部、3 補助記憶部、4 通信制御部、9 バス、11,21 情報処理装置、12,13,14,22,23 仮想マシン、50 通信経路、91,92 駆動機器、93 検査装置、94 シミュレータ、100 情報処理システム、110,210 ハイパーバイザ、111,112,114,211,212 共有メモリ、113,213 バックエンドドライバ、120,140,220,240 ゲストオペレーティングシステム、121,141,171,221,241 フロントエンドドライバ、130,150,190,230,250 アプリケーション、161,261 配送情報テーブル、162,262 起動条件テーブル、180,280 ルートOS、181,281 配送管理部、182,282 通信部、1010 ヘッダ、1011 宛先ID、1012 送信元ID、1013 種別、1014 サイズ、1020 データ部、1030 誤り検出符号、1040 通信用ヘッダ、1100 通信パケット

Claims (8)

  1. 仮想マシンを複数含む仮想環境が構築された情報処理装置であって、
    前記情報処理装置上で動作するルートオペレーティングシステムと、
    前記仮想マシン上でそれぞれ動作するゲストオペレーティングシステムと、
    前記ゲストオペレーティングシステムと前記ルートオペレーティングシステムとがアクセス可能な共有メモリと、
    前記仮想マシンが指定するデータの宛先を示す宛先情報及び当該データの送信元を示す送信元情報と、当該データを実際に配送する先である配送先との関係を指定する配送情報記憶手段と、
    を備え、
    前記ルートオペレーティングシステムは、前記仮想マシンが出力したデータの配送を管理する配送管理手段と、他の情報処理装置と通信経路を介して通信する通信手段とを含み、
    複数の前記仮想マシンのうちの第1仮想マシンの前記ゲストオペレーティングシステムが、複数の前記仮想マシンのうちの第2仮想マシンを宛先とする第1データを、前記宛先情報及び前記送信元情報とともに、前記共有メモリに書き込むと、前記配送管理手段は、前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先が指定されているか否かを判別し、
    前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先として前記他の情報処理装置が指定されていると判別すると、前記配送管理手段は、前記第1データを前記通信手段に供給し、前記通信手段は、前記配送管理手段から供給された前記第1データを前記他の情報処理装置に送信し、
    前記配送管理手段は、前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先が指定されていないと判別すると、前記第1データを前記第2仮想マシンに配送する、
    情報処理装置。
  2. 前記配送管理手段は、前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先として前記情報処理装置上の複数の前記仮想マシンのうちの第3仮想マシンが指定されていると判別すると、前記第1データを前記第3仮想マシンに配送する、
    請求項1に記載の情報処理装置。
  3. 前記配送情報記憶手段は、前記宛先情報及び前記送信元情報と前記仮想マシン上で動作するアプリケーションを識別する識別情報とに基づいて、前記仮想マシン間でやり取りされるデータの配送先を指定し、
    前記第1仮想マシンの前記ゲストオペレーティングシステムは、前記第1仮想マシン上で動作するアプリケーションが出力したデータであって、前記第2仮想マシンを宛先とするデータを、前記宛先情報及び前記送信元情報と前記識別情報とともに、前記共有メモリに書き込み、
    前記配送管理手段は、前記共有メモリから読み出した前記宛先情報及び前記送信元情報と前記識別情報とに基づいて、前記第1データを配送する先を判別する、
    請求項1または2に記載の情報処理装置。
  4. 前記配送情報記憶手段の前記配送先の指定が有効であるか否かが設定された有効無効設定条件記憶手段をさらに備え、
    前記配送管理手段は、前記共有メモリから読み出した前記第1データについて、前記配送情報記憶手段に前記配送先が指定されている場合、前記有効無効設定条件記憶手段において、前記配送先の指定が有効であると判別した場合、前記配送情報記憶手段において指定された前記配送先に前記第1データを配送する、
    請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記第1仮想マシンの前記ゲストオペレーティングシステムは、前記第1データを前記共有メモリに書き込むと、前記ルートオペレーティングシステムに前記共有メモリにデータを書き込んだ旨を通知し、
    前記ルートオペレーティングシステムは、前記第1仮想マシンの前記ゲストオペレーティングシステムからデータを書き込んだ旨の通知を受けると、前記共有メモリから前記第1データを読み出す、
    請求項1から4のいずれか1項に記載の情報処理装置。
  6. 前記配送管理手段は、前記第1データをその配送先に配送するため前記第1データを前記共有メモリに書き込むと、前記第1データを配送した先の前記仮想マシンの前記ゲストオペレーティングシステムに、前記共有メモリに前記第1データを書き込んだ旨を通知し、
    前記第1データを配送した先の前記仮想マシンの前記ゲストオペレーティングシステムは、前記配送管理手段から前記第1データを書き込んだ旨の通知を受けると、前記共有メモリから前記第1データを読み出す、
    請求項1から5のいずれか1項に記載の情報処理装置。
  7. 仮想マシンを複数含む仮想環境が構築された情報処理装置で、仮想マシン間でやり取りされるデータを配送する方法であって、
    前記情報処理装置は、
    前記情報処理装置上で動作するルートオペレーティングシステムと、
    前記仮想マシン上でそれぞれ動作するゲストオペレーティングシステムと、
    前記ゲストオペレーティングシステムと前記ルートオペレーティングシステムとがアクセス可能な共有メモリと、
    前記仮想マシンが指定するデータの宛先を示す宛先情報及び当該データの送信元を示す送信元情報と、当該データを実際に配送する先である配送先との関係を指定する配送情報記憶手段と、
    を備え、
    複数の前記仮想マシンのうちの第1仮想マシンの前記ゲストオペレーティングシステムが、複数の前記仮想マシンのうちの第2仮想マシンを宛先とする第1データを、前記宛先情報及び前記送信元情報とともに、前記共有メモリに書き込むステップと、
    前記ルートオペレーティングシステムが、前記配送情報記憶手段に、前記共有メモリに書き込まれた前記宛先情報及び前記送信元情報に対応した配送先が指定されているか否かを判別するステップと、
    前記ルートオペレーティングシステムが、前記配送情報記憶手段に前記第1データの前記配送先が指定されていると判別した場合、前記配送情報記憶手段の前記配送先として他の情報処理装置が指定されているか否かを判別するステップと、
    前記ルートオペレーティングシステムが、前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先として前記他の情報処理装置が指定されていると判別した場合、前記第1データを前記他の情報処理装置に送信するステップと、
    前記ルートオペレーティングシステムが、前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先が指定されていないと判別した場合、前記第1データを前記第2仮想マシンに配送するステップと、
    を含む方法。
  8. 仮想マシンを複数含む仮想環境が構築された情報処理装置上で動作するルートオペレーティングシステムが実行するプログラムであって、
    前記情報処理装置は、
    前記ルートオペレーティングシステムと、
    前記仮想マシン上でそれぞれ動作するゲストオペレーティングシステムと、
    前記ゲストオペレーティングシステムと前記ルートオペレーティングシステムとがアクセス可能な共有メモリと、
    前記仮想マシン間でやり取りされるデータの宛先を示す宛先情報及び当該データの送信元を示す送信元情報と当該データを実際に配送する先である配送先との関係を指定する配送情報記憶手段と、
    を備え、
    前記ルートオペレーティングシステムに、
    複数の前記仮想マシンのうちの第1仮想マシンの前記ゲストオペレーティングシステムが、複数の前記仮想マシンのうちの第2仮想マシンを宛先とする第1データを、前記宛先情報及び前記送信元情報とともに、前記共有メモリに書き込むと、前記配送情報記憶手段に、前記宛先情報及び前記送信元情報とに対応した配送先が指定されているかを判別し、
    前記第1データについて前記配送情報記憶手段に前記配送先が指定されていると判別した場合、前記配送情報記憶手段に前記配送先として他の情報処理装置が指定されているか否かを判別し、
    前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先として前記他の情報処理装置が指定されていると判別した場合、前記第1データを前記他の情報処理装置に送信し、
    前記配送情報記憶手段に前記宛先情報及び前記送信元情報に対応した配送先が指定されていないと判別した場合に、前記第1データを前記第2仮想マシンに配送する、
    ことを実行させるプログラム。
JP2019508998A 2018-03-20 2018-03-20 情報処理装置、方法、及びプログラム Active JP6513324B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/011023 WO2019180812A1 (ja) 2018-03-20 2018-03-20 情報処理装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6513324B1 true JP6513324B1 (ja) 2019-05-15
JPWO2019180812A1 JPWO2019180812A1 (ja) 2020-04-23

Family

ID=66530787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019508998A Active JP6513324B1 (ja) 2018-03-20 2018-03-20 情報処理装置、方法、及びプログラム

Country Status (7)

Country Link
US (1) US11656898B2 (ja)
JP (1) JP6513324B1 (ja)
KR (1) KR102203648B1 (ja)
CN (1) CN111868687B (ja)
DE (1) DE112018007104T5 (ja)
TW (1) TWI719420B (ja)
WO (1) WO2019180812A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083465B (zh) * 2019-04-26 2021-08-17 上海连尚网络科技有限公司 一种寄宿应用间的数据传递方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3435454B2 (ja) 1995-02-28 2003-08-11 富士通株式会社 異なる環境空間での連続運転方法およびそのための装置
JP2002251352A (ja) * 2001-02-26 2002-09-06 Minolta Co Ltd データ送信管理装置、データ送信管理方法、データ送信管理プログラムおよびデータ送信管理プログラムを記録したコンピュータ読み取り可能な記録媒体
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
JP2004265333A (ja) * 2003-03-04 2004-09-24 Sony Corp 情報処理装置および方法、並びにプログラム
US7257811B2 (en) * 2004-05-11 2007-08-14 International Business Machines Corporation System, method and program to migrate a virtual machine
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US8176485B2 (en) * 2006-05-15 2012-05-08 Microsoft Corporation Launching hypervisor under running operating system
CN101207604B (zh) * 2006-12-20 2012-03-28 联想(北京)有限公司 一种虚拟机***及其通信处理方法
JP4762270B2 (ja) 2008-06-10 2011-08-31 株式会社東芝 仮想マシンシステム及び仮想マシンモニタ用プログラムプログラム
JP2010066931A (ja) * 2008-09-09 2010-03-25 Fujitsu Ltd 負荷分散機能を有した情報処理装置
JP4631974B2 (ja) * 2009-01-08 2011-02-16 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム
US9344401B2 (en) * 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
JP2010193357A (ja) 2009-02-20 2010-09-02 Kddi Corp 経路制御装置およびプログラム
US9094210B2 (en) * 2009-10-26 2015-07-28 Citrix Systems, Inc. Systems and methods to secure a virtual appliance
WO2011138852A1 (ja) * 2010-05-07 2011-11-10 パナソニック株式会社 情報処理装置、情報処理方法、及びプログラム配信システム
US9424144B2 (en) 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
JP4940380B1 (ja) * 2011-11-30 2012-05-30 株式会社メディアロジック 情報処理装置、およびプログラム
KR101751936B1 (ko) * 2011-12-15 2017-07-12 한국전자통신연구원 호스트 기반 단말 가상화 환경에서 공유 메모리를 이용한 입출력 디바이스 가상화 장치 및 방법
WO2013154578A1 (en) * 2012-04-13 2013-10-17 Empire Technology Development Llc Determining destination cloud system requirements
TWI588751B (zh) 2013-05-31 2017-06-21 聯想企業解決方案(新加坡)有限公司 透過基板管理控制器管理虛擬機器的電腦主機與方法
US9553764B2 (en) * 2013-07-17 2017-01-24 Red Hat Israel, Ltd. Migration of guest bridge
KR101559929B1 (ko) * 2013-12-27 2015-10-14 성균관대학교산학협력단 가상화 장치 및 방법
JP2015158773A (ja) 2014-02-24 2015-09-03 富士通株式会社 仮想装置の動作検証装置,仮想装置の動作検証システム及びプログラム
US9588796B2 (en) * 2014-06-28 2017-03-07 Vmware, Inc. Live migration with pre-opened shared disks
US9459903B2 (en) * 2014-09-24 2016-10-04 Intel Corporation Techniques for routing service chain flow packets between virtual machines
US9766917B2 (en) * 2014-10-29 2017-09-19 Red Hat Israel, Ltd. Limited virtual device polling based on virtual CPU pre-emption
JP6442230B2 (ja) * 2014-10-31 2018-12-19 キヤノン株式会社 情報処理装置、同期制御方法、及びプログラム
US11093296B2 (en) * 2015-01-28 2021-08-17 Nec Corporation System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program
US9716688B1 (en) * 2015-05-13 2017-07-25 Parallels International Gmbh VPN for containers and virtual machines in local area networks
US9916174B2 (en) * 2015-05-27 2018-03-13 International Business Machines Corporation Updating networks having virtual machines with migration information
US10547540B2 (en) * 2015-08-29 2020-01-28 Vmware, Inc. Routing optimization for inter-cloud connectivity
US10664179B2 (en) 2015-09-25 2020-05-26 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices
US10628194B2 (en) * 2015-09-30 2020-04-21 Netapp Inc. Techniques for data migration
US10110707B2 (en) * 2015-12-11 2018-10-23 International Business Machines Corporation Chaining virtual network function services via remote memory sharing
JP2017162416A (ja) * 2016-03-11 2017-09-14 富士通株式会社 レプリケーションプログラム、冗長化システム、およびレプリケーション方法
US10375121B2 (en) * 2016-06-23 2019-08-06 Vmware, Inc. Micro-segmentation in virtualized computing environments
US10083123B2 (en) * 2016-08-10 2018-09-25 Vmware, Inc. Page-fault latency directed virtual machine performance monitoring
US10241947B2 (en) * 2017-02-03 2019-03-26 Intel Corporation Hardware-based virtual machine communication
US10367733B2 (en) * 2017-03-30 2019-07-30 Nicira, Inc. Identifier-based virtual networking

Also Published As

Publication number Publication date
CN111868687A (zh) 2020-10-30
TWI719420B (zh) 2021-02-21
CN111868687B (zh) 2021-09-17
WO2019180812A1 (ja) 2019-09-26
TW201941050A (zh) 2019-10-16
US20210042143A1 (en) 2021-02-11
US11656898B2 (en) 2023-05-23
JPWO2019180812A1 (ja) 2020-04-23
KR102203648B1 (ko) 2021-01-15
DE112018007104T5 (de) 2020-10-29
KR20200108489A (ko) 2020-09-18

Similar Documents

Publication Publication Date Title
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
US20200310782A1 (en) Gateway device, in-vehicle network system, and firmware update method
US8040900B2 (en) N-port network adaptor
US11256582B2 (en) System, and control method and program for input/output requests for storage systems
US20240053977A1 (en) Gateway device, in-vehicle network system, and firmware update method
KR20200078382A (ko) 개시자 모드를 갖는 솔리드-스테이트 드라이브
US8612973B2 (en) Method and system for handling interrupts within computer system during hardware resource migration
JP2005284497A (ja) 中継装置、管理サーバ、中継方法および認証方法
US20140201356A1 (en) Monitoring system of managing cloud-based hosts and monitoring method using for the same
JP2004227558A (ja) 仮想化制御装置およびデータ移行制御方法
JP6776436B2 (ja) 制御装置
EP4030293A1 (en) Solid state disk access method and storage device
JPWO2012020481A1 (ja) 管理装置、情報処理装置、制御方法及びプログラム
JP2014119912A (ja) 制御装置および制御プログラム
JP6513324B1 (ja) 情報処理装置、方法、及びプログラム
JPWO2015190079A1 (ja) 計算機システム、遠隔デバイスの接続管理方法及びプログラム
JP6961045B2 (ja) システム及びその制御方法並びにプログラム
US20140056175A1 (en) Integrated device managment over ethernet network
CN103902321A (zh) 主机安装***及方法
US10715433B2 (en) Information processing apparatus and information processing method
US10506042B2 (en) Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto
JP2019148890A (ja) コントローラ、制御方法およびプログラム
US11722368B2 (en) Setting change method and recording medium recording setting change program
JP5464449B2 (ja) 障害によるリブートを考慮した処理部間の不整合検出方法並びに共有装置及びクラスタシステム
WO2015011895A1 (ja) 情報処理装置、i/oシステム、及び、i/o制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190215

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190215

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190409

R150 Certificate of patent or registration of utility model

Ref document number: 6513324

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250