JP6149444B2 - アプリケーション起動制御方法とシステムと装置とプログラム - Google Patents

アプリケーション起動制御方法とシステムと装置とプログラム Download PDF

Info

Publication number
JP6149444B2
JP6149444B2 JP2013053647A JP2013053647A JP6149444B2 JP 6149444 B2 JP6149444 B2 JP 6149444B2 JP 2013053647 A JP2013053647 A JP 2013053647A JP 2013053647 A JP2013053647 A JP 2013053647A JP 6149444 B2 JP6149444 B2 JP 6149444B2
Authority
JP
Japan
Prior art keywords
application
packet
received
switch
controller
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
JP2013053647A
Other languages
English (en)
Other versions
JP2014178976A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2013053647A priority Critical patent/JP6149444B2/ja
Publication of JP2014178976A publication Critical patent/JP2014178976A/ja
Application granted granted Critical
Publication of JP6149444B2 publication Critical patent/JP6149444B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、アプリケーション起動を制御するアプリケーション起動制御方法とシステムと装置とプログラムに関する。
クラウドシステムの技術が進展し、既存のシステムをクラウド化する動きが出てきている。良く知られているように、クラウドシステムは、例えばインターネットをベースとしたコンピュータの利用形態である。クラウドコンピューティングは、最小の管理エフォット又はサービスプロバイダ相互作用で迅速に提供・リリース可能とされ、構成可能なコンピュータリソース(例えばネットワーク、サーバ、ストレージ、アプリケーション、及びサービス)の共用プールに対するユビキタスな、便利なオン・デマンドアクセスを可能とする1つのモデルである(米国国立標準技術研究所(NIST: National Institute of Standards and Technology)による)。利用者は、インターネット接続環境を備えた携帯端末やPC(Personal Computer)等、最低限の接続環境を用意するだけよく、インターネットの向こう側(データセンター等)からサービスを受けサービス利用料金を払う。
クラウド・コンピューティング・サービスを提供する側(例えばデータセンター等)では、利用者数やデータ数の増減等の変動に対応可能とするため、サーバ仮想化技術が用いられる。サーバ仮想化では、例えばハードウェアとOS(Operating System)間に仮想化レイヤを設け、その上に複数の仮想マシンが実装されハードウェア・リソースの仮想化が行われる。ハードウェア・リソースの仮想化として、例えばCPU(Central Processing Unit)、メモリデバイス、ネットワークインタフェースデバイス(カード)、ディスク等のハードウェア・リソースを論理的に分割して、仮想マシンを構成する仮想マシンモニタ(Virtual Machine Monitor:VMM)が用いられる場合がある。特に制限されないが、仮想マシンモニタ(VMM)には、代表的には、
(a)ハードウェア上で直接動作するハイパーバイザ(Hypervisor)型仮想マシンモニタ(「ハイパーバイザ」という)と、
(b)サーバのOS上のアプリケーションとして実装されているホストOS型仮想マシンモニタ等がある。
図4は、ハイパーバイザ(Hypervisor)型仮想マシンモニタ構成のサーバ仮想化技術の典型例のうちの一例を模式的に示す図である。図4を参照すると、サーバ100において、図示されないCPUやメモリや、ネットワークインタフェース(network Interface)等のハードウェア150の上にハイパーバイザ型仮想マシンモニタ(「ハイパーバイザ」という)140を備えている。ハイパーバイザ140の上に仮想マシン(VM)110、120(130)が実装される。特に制限されないが、複数の仮想マシン(VM)は、管理OS用仮想マシン110とゲストOS用仮想マシン120(130)を含む構成としてもよい。なお管理OS用のドメインは「ドメイン0」とも呼ぶ場合がある。また、例えば業務等を稼動させるドメインは「ゲストドメイン」ともいう。ドメイン0では管理OS111が動作しゲストドメインを管理する。ゲストドメインでは、ゲストOS121、131が動作する。なお、ゲストOS用仮想マシン(VM)は2つに限定されるものでないことは勿論である。図4の例では、管理OS用仮想マシン110は、管理OS111を備え、管理OS111はデバイスドライバ112を備えている(デバイスドライバ112は例えば管理OS111内に実装されるが、図4では、別に示してある)。ゲスト用OS仮想マシン120(130)では、ゲストOS121(131)、仮想デバイスドライバ122(132)を備え、ゲストOS121(131)上でアプリケーション123(133)が実行される。なお、1つのゲスト用OS仮想マシン120(130)上で実行されるアプリケーションは1つに限られるものでなく、複数同時並行的に実行される場合もある。また、アプリケーション123(133)とゲストOS121(131)の間には、例えばAPI(Application Interface)等が配置されるが、図4では省略されている。ハイパーバイザ140はCPU、メモリ等のハードウェアリソース(物理的資源)を仮想資源に分割し、仮想資源を単位として、仮想マシンへの仮想化資源の割り当ての制御・管理を行う。仮想マシン(ゲストOS用仮想マシン)120(130)上で実行されるアプリケーション123(133)からのデバイスアクセス要求を受けると、ゲストOS121(131)から仮想デバイスドライバ122(132)に対してアクセス要求が発行され、仮想デバイスドライバ122(132)からのアクセス要求はハイパーバイザ140を介して、管理OS用仮想マシン11のデバイスドライバ112に受け渡され、デバイスドライバ112からデバイスインタフェース(IF)151に対してアクセス要求が発行される。なお、図4の例では、デバイスドライバ112を管理OS用仮想マシン110に備えた構成とされているが、デバイスドライバ112をハイパーバイザ140内に実装する方式もある。
クラウドシステムにおいて、既存のアプリケーションを仮想マシン(VM)上で動くようにして、自由に起動・停止することや、仮想マシンモニタ(VMM)によりマイグレーション(ある仮想マシンで稼働しているOSやソフトウェアを停止させずに、別の物理コンピュータに移動させること)が可能になる。これにより、複数のアプリケーションを複数のVMで構成するシステムをクラウドシステムとして実現するケースが、今後さらに増えていくことが予想される。
複数のアプリケーションの組み合わせで構築されるシステムにおいては、複数のアプリケーションの起動順序を決定し、決められた順番で起動することが必要とされる場合が多い。例えばデータベースにアクセスするアプリケーションの場合、当該アプリケーション起動の前にデータベース管理システムが先に起動していることが必要とされる場合がある。データベース管理システムよりも先にアプリケーションが起動し、データベースにアクセスすると、データベースに接続できずにアクセスエラーが発生するためである。この対策として、例えばアプリケーション(ソフトウェア)の開発者が、アプリケーションの単純化のため、アプリケーションの起動の順番は、管理サーバ等で正しく管理することを前提として、データベースが起動していないことを想定して開発する場合がある。
また、大規模な通信サービスシステム、例えばIMS(Internet Multimedia System)やEPC(Evolved Packet Core)、LTE(Long Term Evolution)等のような通信サービスの場合、多種、多数のアプリケーションの組み合わせでシステムが構築され、密接に関わりつつ動作をしている。
このため、アプリケーションの起動順序を正しく設定されていない場合、所望する動作が保証されないことになる。アプリケーションの起動順序の決定は、例えば人手で行う場合もあるが、エラー等の発生、省力化のため、管理サーバ等でアプリケーションの実行順序を管理する場合もある。
なお、アプリケーションの起動に関連して、特許文献1には、アプリケーションの起動や停止を管理するアプリケーションマネージャと、実際にアプリケーションの制御を行う仮想マシンを有するアプリケーション制御装置において、アプリケーションをローディングするための読込み手段と、前記読込み手段でローディングしたアプリケーションを管理するためのアプリケーション管理手段と、前記アプリケーションに関する情報を記憶するためのアプリケーション情報記憶手段と、前記アプリケーションマネージャが前記仮想マシンとデータや命令の送受信を行うための通信手段とを備えた構成が開示されている。仮想マシン上のアプリケーションの起動制御に関連して、特許文献2には、サーバ上の仮想マシンおよび実行サーバが高負荷である場合に、他のマシンへのアプリケーションのインストールを行い、当該アプリケーションの起動が選択された場合には、新たにインストールしたマシンで、アプリケーションを起動させ、1つのマシンに対して負荷が過度に集中することを防止するアプリケーション管理サーバが開示されている。
また、特許文献3には、各サーバのアプリケーションプロセス間で起動順序がある場合は、先に立ち上がっている必要のあるプロセスを随時監視し、必要なプロセスの起動完了確認後、自身のプロセスを起動する起動用のファイルを用意する必要があるほか、異なるサーバ上のアプリケーションプロセスに対する起動順序制御を行うためには、他サーバ上のアプリケーションプロセスの起動情報を収集するサーバ間通信を行うための起動用のファイルを記述する必要があり、起動用のファイル内に起動制御機能を付与するための開発作業を必要としているという問題に対して、各サーバに配置された起動順序の制御が必要なアプリケーションプロセスについて、あらかじめ起動順序レベルを設定するための起動順序レベル設定手段と、前記各サーバにおける各起動順序レベルごとに、他サーバでの当該起動順序レベルのアプリケーションプロセスの起動完了を、自サーバにおける次の起動順序レベルのアプリケーションプロセスの起動条件として設定するための起動連携条件設定手段と、前記各サーバにおいて、前記起動順序レベル及び前記起動連携条件の情報を参照して、各起動順序レベルごとにアプリケーションプロセスの起動制御を行う起動連携制御手段を備えたシステム、アプリケーションプロセス起動制御方法が開示されている。
なお、後述されるオープンフロー(OpenFlow)については例えば非特許文献1、2等が参照される。
特開2005−202652号公報 特開2012−088901号公報 特開2005−43962号公報
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks,"[online]、[平成25年1月31日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 1.1.0 Implemented(Wire Protocol 0x02)[online]、[平成25年1月31日検索]、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v1.1.0.pdf〉
以下に関連技術の分析を与える。
仮想マシン環境において、管理サーバにより仮想マシン上のアプリケーションの起動を制御する場合の問題点について以下に説明する。
図3は、サーバ仮想化のプロトタイプ例を模式的に示す図である。管理サーバ10が接続する管理系ネットワーク2は、ハイパーバイザ140側で接続される。例えば図4の例において、ドメイン0の管理OS用仮想マシン110はハイパーバイザ140を介して管理サーバ10が接続する管理系ネットワーク2に接続される。業務等を稼動させるドメインのゲストOS用仮想マシン120(130)は、仮想デバイスドライバ122(132)、ハイパーバイザ140、デバイスドライバ112を介してデバイスインタフェース151にアクセスし、業務系ネットネットワーク1に接続される。図3において2つの仮想マシン(VM)は、図4のゲストOS用仮想マシン120(130)に対応し、簡単のため、仮想マシン(VM)が業務系ネットネットワーク1に接続するものとして図示されている。図4のゲストOS用仮想マシン120(130)から、図3の管理系ネットワーク2側へのアクセスは、通常は行われない。例えば図4のゲストOS用仮想マシン120(130)の仮想デバイスドライバ122(132)は、業務系ネットワーク1のネットワークデバイス(インタフェース)対応とされ、管理系ネットワーク2へのアクセスに対応していないためである。一方、管理OS用仮想マシン110は、管理系ネットワーク2へのアクセスに対応したデバイスドライバを介して、ハイパーバイザ140からハードウェア150内の対応ネットワークインタフェース等を介して管理系ネットワーク2にアクセス可能とされる。
業務系ネットワーク1は、通常の運用形態では、管理系ネットワーク2とは隔離されている。これは、クラウドシステムのような、マルチテナントのシステムでは。特にセキュリティの低減を回避するためである。管理系ネットワーク2と業務系のネットワーク2の間のセキュリティが脆弱である場合、業務系ネットワーク1から管理系ネットワーク2に侵入することが可能となる。不特定多数のテナントの情報にアクセスされる可能性がある。そのため、図3のようなシステム構成のように、仮想マシン(VM)からアクセスが行われる業務系ネットワーク1に、仮想マシン上におけるアプリケーションの起動を制御する管理サーバ10が接続されることは、セキュリティの観点から望ましくない。上記特許文献1−3には、セキュリティに関する上記問題点は開示されていない。
本発明は、上記課題に鑑みて創案されたものであって、その目的は、アプリケーションの起動制御にあたり、セキュリティを確保可能とする装置、方法、システム、プログラムを提供することにある。
本発明に関連するいくつかの側面の1つによれば(視点1)、
コントローラから設定されたパケット転送規則にしたがって入力したパケットを処理するスイッチと、
アプリケーションを実行するアプリケーション実行装置と、
前記アプリケーションの起動を制御するアプリケーション起動制御部と、
を備え、
前記アプリケーション実行装置は、アプリケーションの起動要求信号を、少なくとも前記スイッチを介して、前記アプリケーション起動制御部に送信し、
前記アプリケーション実行装置は、前記アプリケーション起動制御部からのアプリケーション起動許可信号を、少なくとも前記スイッチを介して受けると、アプリケーションを起動する、アプリケーション起動制御システムが提供される。
別の側面の1つによれば(視点2)、
アプリケーション実行装置からのアプリケーション起動要求信号を、コントローラから設定されたパケット転送規則にしたがって入力したパケットを処理するスイッチを少なくとも介して受け取り、
アプリケーションの起動条件にしたがって、アプリケーション起動許可信号を少なくとも前記スイッチを介して、前記アプリケーション実行装置に送信するアプリケーション起動制御装置が提供される。
さらに別の側面の1つによれば(視点3)、
アプリケーション実行装置からのアプリケーション起動要求信号を、コントローラから設定されたパケット転送規則にしたがって入力したパケットを処理するスイッチを少なくとも介して受け取り、
アプリケーションの起動条件にしたがってアプリケーション起動許可信号を少なくとも前記スイッチを介して前記アプリケーション実行装置に送信する処理を、コンピュータに実行させるプログラムが提供される。
別の側面の1つによれば(視点4)、
アプリケーション実行装置からのアプリケーション起動要求信号を、コントローラから設定されたパケット転送規則にしたがって入力したパケットを処理するスイッチを少なくとも介して受け取り、
アプリケーションの起動条件にしたがってアプリケーション起動許可信号を、前記スイッチを介してアプリケーション実行装置に送信するアプリケーション起動制御方法が提供される。
別の側面の1つによれば(視点5)、
コントローラから設定されたパケット転送規則にしたがって入力したパケットを処理するスイッチであって、
アプリケーション実行装置からアプリケーション起動要求信号を受け取り、前記コントローラを介して、前記アプリケーション起動要求信号をアプリケーション起動制御部に送信し、
前記アプリケーション起動制御部からのアプリケーション起動許可信号を、前記コントローラを介して受け取り、前記アプリケーション起動許可信号を前記アプリケーション実行装置に送信するスイッチが提供される。
別の側面の1つによれば(視点6)、
パケット転送規則にしたがって入力したパケットを処理するスイッチを制御するコントローラであって、
アプリケーション実行装置からのアプリケーションの起動要求信号を、前記スイッチを介して受け取ると、前記アプリケーションの起動要求信号をアプリケーション起動制御部に送信し、
前記アプリケーション起動制御部からのアプリケーション起動許可信号を、前記スイッチを介して、前記アプリケーション実行装置に送信するコントローラが提供される。
本発明によれば、アプリケーションの起動制御にあたり、セキュリティを確保可能としている。
実施形態1を模式的に例示する図である。 フローエントリの一例を例示する図である。 プロトタイプのシステムの模式的に例示する図である。 サーバ仮想化の典型例のうちの1つを模式的に例示する図である。 発明概念を説明する図である。
本発明の実施形態について説明する。好ましい形態の1つによれば、図5を参照すると、コントローラ(40)から設定されたパケット転送規則にしたがって、入力パケットを処理するスイッチ(30)を備え、アプリケーション実行装置(50)はアプリケーション起動要求信号を、例えば、前記スイッチ(30)、コントローラ(40)を介してアプリケーション起動制御部(21)に送信する。前記アプリケーション起動制御部(21)は、アプリケーション起動許可信号を、例えば、コントローラ(40)、スイッチ(30)を介して、前記アプリケーション実行装置(50)に送信する。前記アプリケーション実行装置(50)は、前記アプリケーション起動許可信号を受け、アプリケーションを起動する。
アプリケーション実行装置(50)は、例えば仮想マシン(VM)からなる。前記仮想マシンを1つ又は複数を備えたサーバ装置(図1の11)は、第1のネットワーク(業務系ネットワーク1)と第2のネットワーク(管理系ネットワーク2)に接続され、前記仮想マシン(VM)と前記スイッチ(30)は、前記第1のネットワーク(1)に接続され、前記スイッチ(30)に、前記コントローラ(40)を介して接続される前記アプリケーション起動制御部(21)を備えた管理サーバ(例えば図1の20)が、前記第2のネットワーク(2)に接続される構成としてもよい。
前記スイッチ(30)は、前記スイッチ(30)で保持するパケット転送規則に、前記アプリケーション起動要求信号に対応するパケットの転送ルールが設定されていない場合、前記コントローラ(40)に前記アプリケーション起動要求信号を送信し、前記コントローラ(40)は、前記前記アプリケーション起動要求信号を前記アプリケーション起動制御部(21)に送信する構成としてもよい。あるいは、前記コントローラ(40)は前記アプリケーション起動要求信号を前記スイッチ(30)に送信し、前記スイッチ(30)を介して前記アプリケーション起動制御部(21)に送信する構成としてもよい。なお、前記コントローラ(30)と、前記アプリケーション起動制御部(21)を、一つの管理サーバ(制御サーバ)等に実装するようにしてもよい。アプリケーション実行装置(50)からのアプリケーション起動要求を、コントローラで制御されるスイッチを介して、アプリケーション起動制御部に送信する構成としたことにより、セキュリティの確保を可能としている。なお、スイッチ(30)、コントローラ(40)は、後述されるオープンフロースイッチ(OFS)、オープンフローコントローラ(OFC)で構成してもよい。以下、実施形態に即して説明する。
<実施形態>
本実施形態では、アプリケーションの起動順番を自動で確実に制御するために、オープンフロー(OpenFlow)の仕組みを利用する(非特許文献1、2参照)。オープンフロー(OpenFlow)は、通信をエンドツーエンドのフローとして認識し、フロー単位で経路制御等を実施することができる。フローとは、通信の送信元、宛先等に基づいて識別された所定の属性を有する一連の通信パケット群である。オープンフローによるフロー単位の経路制御は、オープンフロースイッチ(OpenFlow Switch:「OFS」と略記される)と、オープンフローコントローラ(OpenFlow Controller:「OFC」と略記される)を備えている。OFSは、OpenFlow技術を採用したネットワークスイッチであり、OFCによって設定されたフローテーブルに従って、OFSを通過する通信パケットに対して、フロー単位の経路制御を行う。フローテーブルの各エントリであるフローエントリは、図2に示すように、OFSが受信したパケットのヘッダに含まれる情報と照合するためのマッチングルール(Match Field)と、マッチングルールにマッチするパケットの処理方法を規定するインストラクション(Actions:指定ポートからのパケット送信、フラッディング、廃棄等)と、受信パケット数(バイト)等の統計情報(Counters)を一エントリとして含む。オープンフローのヘッダ情報として、入力ポート、宛先MAC(Media Access Control)アドレス)、送信元MACアドレス、Ether Type(Ethernet(登録商標) Type)、VLAN(Virtual Local Area Network) ID、VLAN PCP(Priority Code Point)、宛先IPアドレス、送信元IPアドレス、IPプロトコル、TOS(Type of Service)、送信元ポート番号と宛先ポート番号(例えばTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のポート番号)が含まれる。これらのフィールドの組み合わせでフローが定義される。
OFSは、パケットを受信するとフローテーブルを参照し、受信したパケットのヘッダ情報にマッチするフローエントリを検索する。フローエントリ内にマッチするエントリが存在する場合は、マッチしたエントリに含まれるインストラクションに従って、受信パケットの処理を行う。
マッチするエントリが存在しなかった場合は、パケットイン(Packet−In)メッセージで受信パケットをOFCにセキュアチャネルを用いて送信し、OFCに受信パケットの処理方法を規定したフローエントリの設定を要求する。
OFCは、ネットワークトポロジ情報から当該受信パケットの転送経路を計算し、経路上のOFSに対してフローエントリを設定するメッセージ(FlowModify)を送信し、パケット転送を指示するパケットアウト(Packet−Out)メッセージを経路上の該当するOFSに送信し、該当するOFSは、受信パケットをフローエントリに従って転送する。
図1を参照すると、アプリケーションを起動する前に、予め定められた宛先に対して、予め定められたフォーマットのパケット(「アプリケーション起動リクエスト」という)を送信し、応答(「アプリケーション起動許可」という)を待つ。
このパケットは、OFS30に届き、新規フローであるため、Packet−InメッセージでOFC40に送信される。Packet−Inメッセージを受信したOFC40は、パケットを解析し、アプリケーション起動制御部21宛てのアプリケーション起動リクエストであることを検出すると、アプリケーション起動制御部21に転送する。
アプリケーション起動制御部21は、OFC40からアプリケーション起動リクエストを受け取り、アプリケーション起動リクエストに対して、当該アプリケーションが起動してよい条件を満たすと(例えば起動してよいタイミングになったら)、アプリケーション起動許可パケットを送信し、要求元の仮想マシン(VM)に対してアプリケーションの起動を許可する。アプリケーション起動制御部21において、他のノード(例えば同一サーバの他の仮想マシン又は他のサーバの仮想マシン(VM))のアプリケーションの起動を待ち合わせる場合には、アプリケーション起動許可の送信を待ち合わせることにより、ノードのアプリケーション起動を抑制する。Packet−Inメッセージを用いることで、業務系のネットワーク2から管理系に情報を渡しており、セキュリティ対策を確保することができる。
本実施形態において、仮想マシン(VM)は、管理系ネットワーク2には、通常、接続されない。仮想マシン(VM)から管理系ネットワーク2へのアクセスは行われない。アプリケーションの起動制御を、管理サーバ20から行うためには、管理サーバ20と業務系ネットワーク1を接続する必要がある。業務系ネットワーク1から管理系ネットワーク2へ接続するパスを設けると、前記したように、セキュリティ上に問題が生じる。そこで、実施形態では、業務系ネットワーク1にOFS30を設置し、OFS30とOFC40のOpenFlowネットワークを経由して管理サーバ20と通信する。
実施形態の動作を説明する。まず、サーバ11の仮想マシン(VM)は起動スクリプトを順番に実行していく際に、起動スクリプトの実行前にアプリケーション起動リクエストを、予め指定されたアドレス(宛先IPアドレス)に、指定されたフォーマットで送信しアプリケーション起動許可の受信を待ち合わせる。
アプリケーション起動リクエストパケットは、OFS30からPacket−Inメッセージにてセキュアチャネルを用いてOFC40に送信される。
OFC40は、Packet−InメッセージにてOFS30から送信されたアプリケーション起動リクエストパケットを解析し、管理サーバ20のアプリケーション起動制御部21宛てのアプリケーション起動リクエストであると判別すると、当該パケットを、アプリケーション起動制御部21に送信する。OFC40は、業務ネットワーク1側からOFS30のPacket−InでOFC40に転送されたパケットのうち、仮想マシン(VM)のアプリケーション起動要求等アプリケーション制御に関連する予め定められた正規のパケット以外は廃棄する等、フィルタリングを行うようにしてもよい。これにより、業務ネットワーク1側から管理サーバ20等の情報を盗み取るアクセス攻撃に対するセキュリティを確保可能としている。
アプリケーション起動制御部21は、当該アプリケーションを起動するための前提条件が全てそろっているかをチェックする。他の仮想マシン(VM)においてそのアプリケーションが起動する前に起動を完了していなければならないアプリケーションやモジュールがすでに起動しているかのチェック、あるいは、当該アプリケーションが起動するだけではなく、ある処理が完了していることをチェックする等、必要なチェックを行う。
アプリケーション起動制御部21は、アプリケーションを起動してよいことを確認すると、仮想マシン(VM)に対して、アプリケーション起動許可パケットを送信する。例えば、OFC40は、アプリケーション起動許可パケットをPacket−OutメッセージでOFS30に送信する。Packet−Outメッセージを受けたOFS30は、アプリケーション起動許可パケットを、業務系ネットワーク1を介して仮想マシン(VM)に送信する。仮想マシン(VM)は、アプリケーション起動許可パケットを受信すると、アプリケーション起動を実行する。そして、アプリケーション起動が終了した時点で、アプリケーション起動完了パケットを送信する。
これにより、他の仮想マシン(VM)のアプリケーション起動をブロックしないようにする。アプリケーションの起動スクリプトが、プロセスの起動を指示するだけで、完了は待ち合わせていない場合もあり得る。そのような場合、アプリケーションが確実に起動したことを別の方法で確認する必要がある。アプリケーションが起動したことをモニタリング等で観測するか、アプリケーション自体が、自分が起動したことを通知する機構を実装する。
仮想マシン(VM)上で実行されるアプリケーションの起動確認をアプリケーション毎に行うと、大規模システムでは、管理サーバやアプリケーション起動制御部21に負荷がかかる可能性がある。このため、アプリケーション個別ではなく、いくつかのアプリケーションをまとめて扱うようにしてもよい。起動スクリプトが、例えばInitディレクトリ(例えばLinux(登録商標)では、ディレクトリetc/rc.d/init.d)のサブディレクトリInit0、Init1、Init2に複数スクリプトをまとめて設定するようにしてもよい。グループ化して起動順の制御を行うようにしてもよい。拠点間でアプリケーションを移動させる場合、データの移動を抑えることができる。
本実施形態によれば、OpenFlowの仕組みを、アプリケーション(業務系アプリケーション)の起動制御システムに活用することで、業務系ネットワーク1側から管理サーバ20や管理系ネットワーク2等に対する不正アクセスや攻撃等への保護等セキュリティの確保を可能としている。
なお、図1では、OFC40から、管理サーバ20のアプリケーション起動部21宛てにアプリケーション起動リクエストパケットを送信しているが、かかる構成に制限されるものでないことは勿論である。例えばOFC40は、OFS30からのPacket−Outメッセージを受け、経路計算を実行してアプリケーション起動リクエストパケットのパケットフローを決定し、フロー修正(FlowModify)メッセージ等をOFS30に送信しOFS30内のフローエントリを設定する。OFC40は、アプリケーション起動リクエストパケットをPacket−OutメッセージにてOFS30に送信し(パケット転送を指示する)、OFS30から、該アプリケーション起動リクエストパケットを管理サーバ20のアプリケーション起動部21に送信するようにしてもよい。あるいは、OFS30とは別のOFS(不図示)が管理サーバ20に最も近く接続している場合、Packet−Outメッセージを別のOFSに送信し、別のOFSを介して、該アプリケーション起動リクエストパケットを管理サーバ20のアプリケーション起動部21に送信するようにしてもよい。
また、図1では、管理サーバ20とOFC40を別々のノードとして構成した例を示しているが、管理サーバ20内にOFC40を備えた構成としてもよい。
上記実施形態では、サーバ仮想化技術として、仮想マシンモニタとしてハイパーバイザを用いた例を説明したが、ホストOS型の仮想マシンにも適当可能であることは勿論である。
なお、上記の特許文献、非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1 業務系ネットワーク
2 管理系ネットワーク
10、20 管理サーバ(制御サーバ)
11、100 サーバ
21 アプリケーション起動制御部
30 スイッチ(OFS)
40 コントローラ(OFC)
50 アプリケーション実行装置(仮想マシン:VM)
110 管理OS用仮想マシン(VM)
111 管理OS
112 デバイスドライバ
120、130 ゲストOS用仮想マシン(VM)
121、131 ゲストOS
122、132 仮想デバイスドライバ
123、133 アプリケーション
140 ハイパーバイザ
150 ハードウェア
151 デバイスインタフェース(IF)

Claims (12)

  1. コントローラと、
    前記コントローラが設定したパケット転送規則にしたがって受信したパケットを処理するスイッチと、
    アプリケーションの実行を制御するアプリケーション制御部を有する管理サーバと、
    前記アプリケーションを実行するアプリケーション実行装置を有するサーバ装置と、
    を備え、
    前記スイッチは、前記アプリケーション実行装置が前記管理サーバ宛てに送信したパケットを前記コントローラへ送信し、
    前記コントローラは、受信した前記パケットがアプリケーション起動要求信号であると検出した場合に、前記受信したパケットを前記管理サーバへ送信する、アプリケーション起動制御システム。
  2. 前記コントローラは、アプリケーションの制御に関連するパケット以外の受信パケットを廃棄する、請求項1に記載のアプリケーション起動制御システム。
  3. 前記コントローラは、前記管理サーバから受信したアプリケーション起動許可信号であるパケットを、前記スイッチへ送信し、
    前記スイッチは、前記アプリケーション起動許可信号であるパケットを、前記アプリケーション実行装置へ送信する、請求項1又は2に記載のアプリケーション起動制御システム。
  4. 前記管理サーバは、前記コントローラを介して前記スイッチと接続する請求項1乃至3のいずれか1項に記載のアプリケーション起動制御システム。
  5. 前記アプリケーション実行装置は仮想マシンであり、
    前記サーバ装置は、1つ又は複数の前記仮想マシンと、ハイパーバイザと、を有し、
    前記仮想マシンと、前記スイッチと、第1のネットワークに接続し、
    前記サーバ装置の前記ハイパーバイザと、前記管理サーバが、第2のネットワークに接続する、請求項1乃至4のいずれか1項に記載のアプリケーション起動制御システム。
  6. 前記第1のネットワークが業務系のネットワークであり、
    前記第2のネットワークが管理系のネットワークである、請求項5に記載のアプリケーション起動制御システム。
  7. 前記スイッチは、
    前記アプリケーション実行装置から受信したパケットの転送ルールがパケット転送規則に設定されていない場合に、受信したパケットを、前記コントローラへ新規パケット入力を通知するメッセージで送信する、請求項1乃至のいずれか1項に記載のアプリケーション起動制御システム。
  8. 前記コントローラは、
    前記管理サーバから受信したパケットを、パケット転送を指示するメッセージで前記スイッチに送信する、請求項3に記載のアプリケーション起動制御システム。
  9. アプリケーション実行装置が送信したパケットを、パケット転送規則にしたがって受信したパケットを処理するスイッチを介して受信し、
    受信した前記パケットを解析し、
    受信したパケットがアプリケーション起動要求信号であると検出した場合に、アプリケーションの実行を制御する管理サーバへ送信する処理を、コンピュータに実行させるプログラム。
  10. 受信したパケットをパケット転送規則にしたがって処理するスイッチを制御するコントローラが実行するアプリケーション起動制御方法であって、
    アプリケーション実行装置が送信したパケットを、前記スイッチを介して受信し、
    受信した前記パケットを解析し、
    受信したパケットがアプリケーション起動要求信号であると検出した場合に、アプリケーションの実行を制御する管理サーバへ送信する、アプリケーション起動制御方法。
  11. アプリケーションの制御に関連するパケット以外の受信パケットを廃棄する、請求項10に記載のアプリケーション起動制御方法。
  12. パケット転送規則にしたがって受信したパケットを処理するスイッチを制御するコントローラであって、
    アプリケーション実行装置が送信したパケットを、前記スイッチを介して受信し、
    受信した前記パケットを解析し、
    受信したパケットがアプリケーション起動要求信号であると検出した場合に、アプリケーションの実行を制御する管理サーバへ送信する、コントローラ。
JP2013053647A 2013-03-15 2013-03-15 アプリケーション起動制御方法とシステムと装置とプログラム Active JP6149444B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013053647A JP6149444B2 (ja) 2013-03-15 2013-03-15 アプリケーション起動制御方法とシステムと装置とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013053647A JP6149444B2 (ja) 2013-03-15 2013-03-15 アプリケーション起動制御方法とシステムと装置とプログラム

Publications (2)

Publication Number Publication Date
JP2014178976A JP2014178976A (ja) 2014-09-25
JP6149444B2 true JP6149444B2 (ja) 2017-06-21

Family

ID=51698838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013053647A Active JP6149444B2 (ja) 2013-03-15 2013-03-15 アプリケーション起動制御方法とシステムと装置とプログラム

Country Status (1)

Country Link
JP (1) JP6149444B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017142722A (ja) * 2016-02-12 2017-08-17 日本電信電話株式会社 仮想計算機システムおよびvm起動制御方法
JP2019032709A (ja) * 2017-08-08 2019-02-28 東芝三菱電機産業システム株式会社 分散システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004234043A (ja) * 2003-01-28 2004-08-19 Hitachi Eng Co Ltd アプリケーション起動制限システム
JP5282046B2 (ja) * 2010-01-05 2013-09-04 株式会社日立製作所 計算機システム及びその可用化方法
JP5652475B2 (ja) * 2010-09-09 2015-01-14 日本電気株式会社 ネットワークシステム、及びネットワーク管理方法

Also Published As

Publication number Publication date
JP2014178976A (ja) 2014-09-25

Similar Documents

Publication Publication Date Title
US20210344692A1 (en) Providing a virtual security appliance architecture to a virtual cloud infrastructure
US11153184B2 (en) Technologies for annotating process and user information for network flows
CN111355604B (zh) 在软件定义网络上的用户定制和自动化操作的系统和方法
US10089099B2 (en) Automatic software upgrade
EP3655853B1 (en) Methods and apparatus to configure switches of a virtual rack
US8856786B2 (en) Apparatus and method for monitoring communication performed by a virtual machine
RU2562438C2 (ru) Сетевая система и способ управления сетью
US9560062B2 (en) System and method for tamper resistant reliable logging of network traffic
EP3235199B1 (en) Multicast advertisement message for a network switch in a storage area network
WO2019184164A1 (zh) 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
US20160188378A1 (en) Method of Facilitating Live Migration of Virtual Machines
WO2014000297A1 (zh) 虚拟端口监控方法和设备
CN105100026A (zh) 一种报文安全转发方法及装置
CN103763121A (zh) 一种网络配置信息快速下发的方法及装置
JP6149444B2 (ja) アプリケーション起動制御方法とシステムと装置とプログラム
WO2019063028A1 (zh) 一种信息处理方法以及相关设备
US20140047083A1 (en) Administration information generation method, administration information generation program, and administration information generation device
CN114594996A (zh) 超融合基础架构的网络管理卡辅助关机
KR101707073B1 (ko) Sdn 기반의 에러 탐색 네트워크 시스템
JP2014178720A (ja) サービス管理装置、サービス管理システム、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170508

R150 Certificate of patent or registration of utility model

Ref document number: 6149444

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150