(57)【要約】      （修正有）【課題】コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる監視システムを提供する。【解決手段】監視システム１０は、監視手段１１と、検出手段と、を含む。監視手段は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する。検出手段は、監視手段が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する。監視手段は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含める。【選択図】図１
2020115358.tif 000002
【特許請求の範囲】
【請求項１】
サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視手段と、
前記監視手段が通信を監視した結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段とを含み、
前記監視手段は、
前記複数のインスタンス間で行われる通信におけるメッセージ量を集計し、前記メッセージ量が集計された結果を前記監視結果に含める
ことを特徴とする監視システム。
【請求項２】
検出手段は、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出する
請求項１記載の監視システム。
【請求項３】
検出手段は、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出する
請求項１または請求項２記載の監視システム。
【請求項４】
監視手段は、検出手段により検出された異常な通信の内容をウェブ画面を介して報告する
請求項１から請求項３のうちのいずれか１項に記載の監視システム。
【請求項５】
サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視し、
通信が監視された結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出し、
前記複数のインスタンス間で行われる通信におけるメッセージ量を集計し、
前記メッセージ量が集計された結果を前記監視結果に含める
ことを特徴とする監視方法。
【請求項６】
メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出する
請求項５記載の監視方法。
【請求項７】
メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出する
請求項５または請求項６記載の監視方法。
【請求項８】
コンピュータに、
サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視処理、および
通信が監視された結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出する検出処理を実行させるための監視プログラムであって、
前記監視処理で、前記複数のインスタンス間で行われる通信におけるメッセージ量を集計させ、前記メッセージ量が集計された結果を前記監視結果に含めさせる
監視プログラム。
【請求項９】
コンピュータに、
検出処理で、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出させる
請求項８記載の監視プログラム。
【請求項１０】
コンピュータに、
検出処理で、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出させる
請求項８または請求項９記載の監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視システム、監視方法および監視プログラムに関し、特にコンテナの機密性を向上させる監視システム、監視方法および監視プログラムに関する。
【背景技術】
【０００２】
仮想ソフトウェア単位の１つにコンテナがある。コンテナ型仮想化では、サーバのOS(Operating System)内のユーザ空間が仮想的に分割された空間をそれぞれ有し、OS内のカーネル空間を共用する複数のインスタンスがサーバで実行される。なお、起動したコンテナを特にインスタンスと呼ぶこともある。
【０００３】
各インスタンスは、それぞれが他の環境と完全に独立した環境で実行される。よって、インスタンスが自身のコンテナ以外のコンテナのファイルにアクセスする可能性がないため、コンテナ型仮想化が導入されたサーバの機密性は、通常のサーバに比べて高い。また、コンテナ型仮想化では全てのインスタンスが同じカーネル空間を共用するため、他の仮想化に比べてリソースの利用効率が高い。
【０００４】
コンテナは、例えばLinux（登録商標）コンテナ技術とaufs(AnotherUnionFS)のような特殊なファイルシステムが利用されたコンテナ型仮想化で実現される。コンテナ型仮想化には、ハードウェアまで含めた完全な仮想化であるハイパーバイザー型仮想化に比べて、ディスク使用量が少ない、インスタンスの作成やインスタンスの起動に係る時間が短い、性能劣化が少ないという利点がある。
【０００５】
コンテナは、データを永続的に保持しない一時的なオブジェクトである。すなわちコンテナ型仮想化では、コンテナが起動すると実行中に限りインスタンス内に情報が保持される。また、コンテナの停止と共にインスタンス内に保持されていた情報は破棄される。
【０００６】
コンテナを配備してサービスを提供する主体であるサービスプロバイダは、１個以上のコンテナを組み合わせることによって１つのサービスを構成する。図１６は、データセンタに配備されるコンテナの例を示す説明図である。図１６に示すデータセンタ１００には、コンテナ２０、コンテナ３０、およびコンテナ４０が含まれている。
【０００７】
図１６に示すデータセンタ１００は、コンテナを起動させるためのプラットフォームである。データセンタ１００は、PaaS(Platform as a Service)とも呼ばれる。データセンタ１００は、例えばPaaSを構築するための基盤ソフトウェアの１つであるCloud Foundryに基づいて構築されていてもよい。
【０００８】
また、データセンタ１００は、Cloud Foundry等がIaaS(Infrastructure as a Service)において実行されることによって構築されていてもよい。コンテナには、プライベートなIP(Internet Protocol)アドレス、またはパブリックなIPアドレスが割り当てられる。
【０００９】
データセンタ１００は、外部と通信ネットワークを介して通信可能に接続されたコンテナ実行サーバを１つ以上有する。データセンタ１００は、コンテナ実行サーバにおいてコンテナを起動させる。コンテナの配備および実行には利用可能なコンテナ実行環境を要するため、コンテナ実行サーバには、OSの他にコンテナ実行環境が導入されている。
【００１０】
コンテナを配備する際、データセンタ１００は、コンテナが配備された領域を他のコンテナが配備された領域等と物理的に、または仮想的に分離してもよい。以下の説明において、データセンタ１００における領域の区画の存在を明記しないが、データセンタ１００に領域の区画が存在すると解釈してもよい。
【００１１】
サービスプロバイダは、例えばサービスプロバイダに与えられたデータセンタ１００の区画に１つ以上のコンテナを配備できる。サービスプロバイダは、データセンタ１００に配備対象のコンテナのコンテナイメージを与える。なお、コンテナイメージは、実行されているコンテナから生成されたイメージファイルである。
【００１２】
データセンタ１００は、与えられたコンテナイメージを用いて、コンテナを起動できる。データセンタ１００は、コンテナ実行サーバでコンテナを起動させる。コンテナが起動することによって、コンテナが有するコードに基づいた様々なアプリケーション機能が提供される。
【００１３】
図１６に示すコンテナ２０は、ウェブサーバの機能を提供する。また、コンテナ３０は、アプリケーションサーバの機能を提供する。また、コンテナ４０は、ストレージに接続されたデータベースの機能を提供する。例えば、コンテナ２０とコンテナ３０とコンテナ４０とを組み合わせることによって、サービスプロバイダは、ウェブサービスを構成できる。
【００１４】
ウェブサーバの機能を提供するコンテナ２０は、通信ネットワーク等を介してクライアント端末と通信可能に接続されている。また、コンテナ同士も、通信ネットワーク等を介して通信可能に接続されている。図１６に示す例において、クライアント端末からのリクエストは、例えばゲートウェイを介してコンテナ２０に受信される。
【００１５】
ウェブサーバの機能を提供するコンテナ２０は、コンテンツをクライアント端末に提供する機能を有する。提供されるコンテンツの少なくとも一部は、クライアント端末からのリクエストに応じたアプリケーションロジックの実行結果である。アプリケーションロジックは、例えば、HTML(HyperText Markup Language)内の記載や、各種スクリプトプログラムの記載に基づいて定義されている。
【００１６】
アプリケーションロジックは、アプリケーションサーバの機能を提供するコンテナ３０で実行される。図１６に示す例において、アプリケーションロジックの少なくとも一部は、データベースを利用するロジックである。データベースを利用するアプリケーションロジックを実行する場合、コンテナ３０は、データベースの機能を提供するコンテナ４０に通信ネットワーク等を介して問い合わせる。
【００１７】
上記のように、コンテナ同士が通信を行うことによって、クライアント端末への応答内容が作成される。なお、本明細書において起動したコンテナであるインスタンス間で行われる通信を、便宜的にコンテナ間で行われる通信という。
【００１８】
図１６に示すデータセンタ１００の構成は、（ウェブサーバの機能を提供するコンテナ：アプリケーションサーバの機能を提供するコンテナ：データベースの機能を提供するコンテナ）＝（１：１：１）の構成である。しかし、データセンタ１００には、データベースの機能を提供するコンテナが複数含まれてもよい。
【００１９】
また、データセンタ１００の構成は、（ウェブサーバの機能を提供するコンテナ：アプリケーションサーバの機能を提供するコンテナ：データベースの機能を提供するコンテナ）＝（ｎ：ｍ：ｋ）の構成でもよい。なお、ｎ、ｍ、ｋは、それぞれ１以上の整数である。
【００２０】
図１７は、データセンタに配備されるコンテナの他の例を示す説明図である。図１７に示すように、データセンタ１００には、コンテナ２０１〜コンテナ２０ｎ、コンテナ３０１〜コンテナ３０ｍ、コンテナ４０１〜コンテナ４０ｋが含まれている。
【００２１】
コンテナ２０１〜コンテナ２０ｎは、全て同じ機能を提供する。コンテナ３０１〜コンテナ３０ｍ、コンテナ４０１〜コンテナ４０ｋもそれぞれ同様である。ただし、コンテナ２０１〜コンテナ２０ｎが提供する機能、コンテナ３０１〜コンテナ３０ｍが提供する機能、コンテナ４０１〜コンテナ４０ｋが提供する機能は異なる。
【００２２】
図１７に示すコンテナ間で行われる通信は、負荷分散の対象である。例えば、コンテナ３０１〜コンテナ３０ｍが提供する機能を機能Ａとする。また、コンテナ間で行われる通信が、ラウンドロビンで分散されるとする。図１７に示す例において、コンテナ２０１がコンテナ３０１と通信を行った後、機能Ａを提供するコンテナと通信を再度行う場合、コンテナ２０１は、コンテナ３０２と通信を行う。
【００２３】
また、コンテナ実行サーバは、コンテナをスケールアウトすることによって、コンテナが処理可能な処理量を増やすことができる。また、コンテナ実行サーバは、コンテナをスケールインすることによって、コンテナが処理可能な処理量を減らすことができる。すなわち、スケールアウトおよびスケールインは、コンテナの並列度の制御処理である。
【００２４】
スケールアウトは、コンテナで実行可能な処理を実行できるインスタンス（すなわち、典型的には実行中のインスタンスのコピー）を、同一または異なるコンピューティングリソースに配備し、処理要求を配備されたインスタンスに分散させる制御処理である。スケールアウトが実行された場合、コンテナが処理可能な処理量が増大する。
【００２５】
スケールインは、スケールアウトで配備されたインスタンスの配備を解除する処理である。スケールインが実行された場合、例えばコンピューティングリソースの消費量が処理量に対して適正な量に調整される。すなわち、リソースの消費量が抑えられる。
【００２６】
後述のように、メッセージングサービスは、スケールインおよびスケールアウトによるインスタンスの増減に合わせてインスタンス間で負荷分散を行う。インスタンス間で負荷分散が行われる場合、高負荷に耐久可能なサービスが提供される。
【００２７】
例えば、実行時にリソースを多く消費するアプリケーションロジックを含むウェブサービスを構成するアプリケーションサーバの機能を提供するコンテナを考える。コンテナに対応するインスタンスの数が単位時間当たりのリクエスト数に応じて１から複数に増やされることによって、クライアント端末からの全てのリクエストに即座に応答可能な高負荷対応型サービスが提供される。
【００２８】
１つの組織には、１つ以上のコンテナグループが含まれる。また、コンテナグループには、１つ以上のインスタンスが含まれる。同じグループに属する各コンテナに対応するインスタンスは、通常同じコンテナイメージから生成されたインスタンスであるコピーインスタンスである。さらに、コンテナまたはコンテナグループを束ねる上位の単位として、サービスが定義される。
【先行技術文献】
【特許文献】
【００２９】
【特許文献１】米国特許出願公開第２０１２／０１５９５２３号明細書
【特許文献２】米国特許出願公開第２０１４／０２８３０４５号明細書
【発明の概要】
【発明が解決しようとする課題】
【００３０】
コンテナ間で行われる通信を監視し、監視結果を用いてコンテナに対応するインスタンス等の不正動作を検出する手段は提供されていない。
【００３１】
特許文献１には、多重テナント用の多数のミドルウェア構成要素を間貸し（ホスト）する手法が記載されている。特許文献１に記載されている手法では、サンドボックスで実行されるコンテナの通信に処理を追加することが想定されている。なお、サンドボックスは、プログラムがシステムの他の部分に悪影響を及ぼすことがないように設計された環境である。しかし、特許文献１に記載されている手法では、メッセージングサービスがコンテナの通信を監視することは想定されていない。
【００３２】
また、特許文献２には、通信監視の結果に基づいて通信の異常の有無を判定する手法が記載されている。しかし、特許文献２に記載されている手法では、コンテナ間で行われる通信が監視対象に含まれていない。
【００３３】
そこで、本発明は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる監視システム、監視方法および監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３４】
本発明による監視システムは、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視手段と、監視手段が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段とを含み、監視手段は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めることを特徴とする。
【００３５】
本発明による監視方法は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視し、通信が監視された結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出し、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めることを特徴とする。
【００３６】
本発明による監視プログラムは、コンピュータに、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視処理、および通信が監視された結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出処理を実行させるための監視プログラムであって、監視処理で、複数のインスタンス間で行われる通信におけるメッセージ量を集計させ、メッセージ量が集計された結果を監視結果に含めさせることを特徴とする。
【発明の効果】
【００３７】
本発明によれば、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。
【図面の簡単な説明】
【００３８】
【図１】本発明による監視システムの第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態の監視システム１０による監視処理の動作を示すフローチャートである。
【図３】本発明による監視システムの第２の実施形態の構成例を示すブロック図である。
【図４】Publish/Subscribe型のメッセージキューが用いられた場合のメッセージの伝送処理の例を示す説明図である。
【図５】データセンタ１００の構成例を示すブロック図である。
【図６】第２の実施形態のメッセージングサービス１４０による通信監視設定処理の動作を示すフローチャートである。
【図７】サービスの構成情報の例を示す説明図である。
【図８】PublisherリストとSubscriberリストの例を示す説明図である。
【図９】サービスとコンテナの対応関係の例を示す説明図である。
【図１０】監視対象が選択されるサービス選択画面の例を示す説明図である。
【図１１】第２の実施形態の通信解析サービス１６０による監視結果解析処理の動作を示すフローチャートである。
【図１２】メッセージングサービス１４０が生成した監視結果の例を示す説明図である。
【図１３】メッセージングサービス１４０が生成した監視結果の他の例を示す説明図である。
【図１４】メッセージングサービス１４０によるウェブ画面での報告の例を示す説明図である。
【図１５】データセンタ１００の他の構成例を示すブロック図である。
【図１６】データセンタに配備されるコンテナの例を示す説明図である。
【図１７】データセンタに配備されるコンテナの他の例を示す説明図である。
【発明を実施するための形態】
【００３９】
実施形態１．
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明による監視システムの第１の実施形態の構成例を示すブロック図である。本発明による監視システム１０は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス（例えば、起動したコンテナ）間で行われる通信を監視する監視手段１１（例えば、メッセージングサービス１４０）を含む。
【００４０】
以下、監視システム１０による監視処理を説明する。図２は、第１の実施形態の監視システム１０による監視処理の動作を示すフローチャートである。
【００４１】
監視手段１１は、監視対象のコンテナが起動したインスタンス間で行われる通信を監視する（ステップＳ１１）。監視した後、監視システム１０は、監視処理を終了する。
【００４２】
そのような構成により、監視システムは、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。
【００４３】
また、監視システム１０は、監視手段１１が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段（例えば、通信解析サービス１６０）を含んでもよい。
【００４４】
そのような構成により、監視システムは、コンテナ間で行われる異常な通信を検出できる。
【００４５】
また、監視手段１１は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めてもよい。
【００４６】
そのような構成により、監視システムは、コンテナ間で行われる通信におけるメッセージ数またはバイト数の集計値を用いて異常な通信を検出できる。
【００４７】
また、検出手段は、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出してもよい。
【００４８】
そのような構成により、監視システムは、正常な通信の範囲に対応する所定の閾値を用いて異常な通信を検出できる。
【００４９】
また、検出手段は、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出してもよい。
【００５０】
そのような構成により、監視システムは、正常な通信に対応する所定の関係式を用いて異常な通信を検出できる。
【００５１】
また、監視手段１１は、検出手段により検出された異常な通信の内容を所定の方法で報告してもよい。
【００５２】
そのような構成により、監視システムは、コンテナの利用者に発生した異常な通信の内容を報告できる。
【００５３】
また、監視手段１１は、複数のインスタンス間で行われる通信のうち所定の条件を満たす通信を監視してもよい。
【００５４】
また、所定の条件を満たす通信は、予め定義されたPublisherリスト、またはSubscriberリストに示されているコンテナに対応するインスタンス間で行われる通信でもよい。
【００５５】
また、所定の条件を満たす通信は、予め定義されたサービスを構成するコンテナに対応するインスタンス間で行われる通信でもよい。
【００５６】
そのような構成により、監視システムは、通信の監視に係る負担を軽減できる。
【００５７】
また、監視手段１１は、予め定義されたサンプリングルールに基づいてサンプリングされた監視結果を検出手段に入力してもよい。
【００５８】
そのような構成により、監視システムは、所定の条件を満たす監視結果を用いて異常な通信を検出できる。
【００５９】
実施形態２．
［構成の説明］
次に、本発明の第２の実施形態を、図面を参照して説明する。図３は、本発明による監視システムの第２の実施形態の構成例を示すブロック図である。図３に示すように、本実施形態の監視システム１０は、データセンタ１００と、クライアント端末２０１〜クライアント端末２０Ｋと、通信ネットワーク３００とを含む。なお、Ｋは１以上の整数である。
【００６０】
また、図３に示すように、データセンタ１００は、ゲートウェイ１１０と、コンテナ実行サーバ１２１〜コンテナ実行サーバ１２Ｍと、コンテナ１３１〜コンテナ１３Ｎと、メッセージングサービス１４０と、構成管理手段１５０と、通信解析サービス１６０とを含む。なお、Ｍ、Ｎは、それぞれ１以上の整数である。
【００６１】
ゲートウェイ１１０は、クライアント端末からの接続を受け付ける機能を有する。ゲートウェイ１１０は、例えばTLS(Transport Layer Security)を用いてクライアント端末からの接続を受け付けることによって、クライアント端末が通信ネットワーク３００を介して送受信するデータを暗号化してもよい。
【００６２】
また、ゲートウェイ１１０は、物理的な装置でもよいし、VM(Virtual Machine:仮想マシン)でもよい。また、ゲートウェイ１１０は、冗長に構成されていてもよく、さらにクライアント端末からの接続が負荷分散されるように構成されていてもよい。さらに、ゲートウェイ１１０は、他のデータセンタと接続可能なインタフェースでもよい。
【００６３】
コンテナ実行サーバ１２１〜コンテナ実行サーバ１２Ｍには、コンテナを配備し、コンテナを実行するためのプラットフォームソフトウェアが含まれる。プラットフォームソフトウェアは、例えばDockerである。
【００６４】
コンテナ実行サーバは、例えばクラスタサーバである。また、コンテナ実行サーバは、物理サーバでもよいし、仮想サーバでもよい。また、コンテナ実行サーバ１２１〜コンテナ実行サーバ１２Ｍは、通信ネットワーク等を介して通信可能に接続されている。
【００６５】
コンテナ実行サーバは、CPU(Central Processing Unit)、メモリ、ディスク、ネットワーク等のリソースを物理的、または仮想的に有する。コンテナ実行サーバで実行されるOSに、コンテナ実行サーバが有するリソースが提供される。
【００６６】
OSは、プラットフォームソフトウェアにリソースを提供する。OSからリソースを提供されると、プラットフォームソフトウェアは、コンテナ実行環境にコンテナを配備し、配備されたコンテナを実行する。
【００６７】
メッセージングサービス１４０は、コンテナ１３１〜コンテナ１３Ｎ間で行われる通信を媒介する機能を有する。すなわち、メッセージングサービス１４０は、コンテナ１３１〜コンテナ１３Ｎに対してメッセージバスとして振る舞う。また、メッセージングサービス１４０は、受け付けられたクライアント端末からのリクエストをコンテナへ伝送してもよい。
【００６８】
本実施形態においてコンテナ間で行われる通信は、メッセージングサービス１４０を介したメッセージ交換形式で行われる。なお、コンテナ間で行われる通信は、他の形式で行われてもよい。
【００６９】
また、信頼性の向上等を目的として、メッセージの伝送には、Publish/Subscribe型のメッセージキューが用いられてもよい。Publish/Subscribe型のメッセージキューが用いられる場合、メッセージを送信するコンテナは、メッセージバスにPublishの処理を行った後にメッセージバスにメッセージを送る。メッセージを受信するコンテナは、メッセージバスにSubscribeの処理を予め行い、所定の条件を満たすメッセージの受信を予約する。
【００７０】
図４は、Publish/Subscribe型のメッセージキューが用いられた場合のメッセージの伝送処理の例を示す説明図である。図４に示すように、メッセージを送信するコンテナ１３１は、メッセージバスにPublish”aaa”の処理を行った後にメッセージバスにメッセージを送る。また、メッセージを受信するコンテナ１３３は、メッセージバスにSubscribe”aaa”の処理を予め行う。従って、コンテナ１３１からコンテナ１３３に、”aaa”に関するメッセージが確実に伝送される。
【００７１】
メッセージングサービス１４０は、メッセージが宛先のコンテナに届けられるために使用されるコンテナの配備先に関する情報を保持している。なお、メッセージングサービス１４０は、コンテナがメッセージバスにSubscribeの処理を行った際にコンテナの配備先に関する情報を取得してもよい。
【００７２】
メッセージングサービス１４０は、例えばデータベースにコンテナ１３１〜コンテナ１３Ｎの配備先に関する情報を保持する。データベースは、例えばオンメモリデータベースである。
【００７３】
後述のように、コンテナに対してスケールアウトの処理が実行され、複数のインスタンスが実行されている場合、コンテナグループが形成される。データベースには、コンテナグループに含まれるコンテナに対応するインスタンスそれぞれの配備先に関する情報が保持される。
【００７４】
クライアント端末からのアクセス要求に含まれるURL(Uniform Resource Locator)がスケールアウトの処理が実行されたコンテナに対応するインスタンスを示す場合、メッセージングサービス１４０は、例えばコンテナグループに含まれるいずれかのインスタンスを所定の規則に従って選択する。次いで、メッセージングサービス１４０は、選択されたインスタンスにアクセス要求を振り分ける。所定の規則は、例えばラウンドロビンである。
【００７５】
また、メッセージングサービス１４０は、メッセージを監視する機能を有する。メッセージングサービス１４０は、所定のメッセージを監視対象にすることができる。
【００７６】
例えば、メッセージングサービス１４０は、全てのメッセージを監視対象にすることができる。全てのメッセージが監視対象である場合、メッセージングサービス１４０は、漏れなくメッセージを監視できる。
【００７７】
また、例えばメッセージングサービス１４０は、Publisherリスト、またはSubscriberリストのうち少なくとも１つのリストを有してもよい。リストを有する場合、メッセージングサービス１４０は、リストに含まれるPublisherに関するメッセージ、またはSubscriberに関するメッセージを監視対象にすることができる。リストに関連するメッセージが監視対象である場合、メッセージングサービス１４０の監視に係る負荷が軽減される。
【００７８】
また、例えばメッセージングサービス１４０は、サービスを構成するコンテナに対応するインスタンスのリストを有してもよい。リストを有する場合、メッセージングサービス１４０は、管理者等が予め指定したサービスを構成するコンテナに対応するインスタンスに関するメッセージを監視対象にすることができる。
【００７９】
リストに関連するメッセージが監視対象である場合、メッセージングサービス１４０の監視に係る負荷が軽減されつつ、重要なサービス等の所望のサービスを構成するコンテナに関するメッセージが監視される。
【００８０】
また、メッセージングサービス１４０は、監視対象のメッセージを監視した際、様々な処理を行うことによって監視結果を作成する。
【００８１】
例えば、メッセージングサービス１４０は、メッセージ数を集計することによって監視結果を作成してもよい。メッセージングサービス１４０が通信解析サービス１６０に監視結果であるメッセージ数の集計値を提供する場合、通信解析サービス１６０は、コンテナ間で行われる通信の粗密の度合いを解析できる。例えば、通信解析サービス１６０は、通常殆ど通信が行われないコンテナ間で通信が多く行われている特殊な事象を抽出できる。
【００８２】
また、例えばメッセージングサービス１４０は、ポリシに基づいて抽出されたメッセージを取得することによって監視結果を作成してもよい。ポリシにはアクセスポリシ、セキュリティポリシ等が含まれる。例えば、他の情報に比べて機密性の高い情報が格納されているデータソースへの不正なアクセスを禁じるポリシが予めメッセージングサービス１４０に与えられる場合を想定する。
【００８３】
不正なアクセスを禁じるポリシが予め与えられると、メッセージングサービス１４０は、例えばポリシが示すデータソースへのアクセス要求を取得する。データソースへのアクセス要求は、例えば所定のURLへのアクセス要求、所定のファイルへのアクセス要求、または所定のテーブルへのアクセス要求である。メッセージングサービス１４０は、例えばデータソースへのアクセス回数やアクセス頻度を取得する。
【００８４】
メッセージングサービス１４０は、監視結果を通信解析サービス１６０に送信できる。監視結果が提供されると、通信解析サービス１６０は、例えば、通信が行われたコンテナ間に関するコンテキストに基づいて監視結果を解析できる。例えば、通信解析サービス１６０は、通常より高い頻度で所定のテーブルへのアクセスが行われている事象を検出できる。
【００８５】
構成管理手段１５０は、コンテナイメージを保存および管理する機能を有する。構成管理手段１５０は、サービスの状況、コンテナグループの状況、およびコンテナの状況をそれぞれ把握した上でコンテナイメージを管理する。
【００８６】
なお、構成管理手段１５０は、コンテナに対応するインスタンスの配備先に関する情報を保持してもよい。インスタンスの配備先に関する情報を保持する場合、構成管理手段１５０は、保持されている情報をメッセージングサービス１４０に提供してもよい。また、構成管理手段１５０は、後述するサービスの構成情報を管理してもよい。
【００８７】
通信解析サービス１６０は、メッセージングサービス１４０から受信した監視結果を解析する機能を有する。通信解析サービス１６０は、例えば以下の方法のうち少なくともいずれか１つの方法で監視結果を解析する。
【００８８】
例えば、通信解析サービス１６０は、コンテナに関するネットワークトラフィック（通信量）の状況を示すプロファイル（分析結果）を作成し、作成されたプロファイルから悪意のあるソフトウェア（マルウェアともいう。）、ウィルス、または異常事象を特定する。
【００８９】
また、例えば、通信解析サービス１６０は、ポリシに反する操作を特定する。ポリシに反する操作は、例えば標準ポート以外のポートを用いたアプリケーションの実行、コンテナやユーザによる重要なコンテナやサーバへの平文のユーザ名とパスワードでのログオン、ネットワーク内の機密領域での非暗号化プロトコルの使用である。
【００９０】
また、例えば、通信解析サービス１６０は、コンテナに関する通信データと、セキュリティデバイスから送信されたイベントを示すログを比較することによって、発見されない可能性がある重大な脅威を発見する。
【００９１】
具体的には、通信解析サービス１６０は、例えば以下のように通信状態を分析できる。
【００９２】
例えば、通信解析サービス１６０は、メッセージングサービス１４０から提供されたメッセージ数の集計値に基づいて異常事象を検出できる。絶対量や頻度等のコンテナ間の通信量は、クライアント端末からのアクセスの種別およびアクセス頻度にほぼ依存する。
【００９３】
上記のコンテナ間の通信量の性質を用いて、通信解析サービス１６０は、コンテナ間の通信量の正常な範囲を定義できる。定義された正常な範囲を超えたコンテナ間の通信量が検出された場合、通信解析サービス１６０は、監視結果に関連するコンテナに関する異常を通知する。
【００９４】
コンテナ間の通信量の正常な範囲は、例えば以下のいずれかの方法で定義される。正常な範囲は、以下のいずれかの方法が単独で利用された上で定義されてもよいし、複数の方法が組み合わせられて利用された上で定義されてもよい。
【００９５】
１）閾値型；例えば、通信解析サービス１６０は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の上限または下限を定義する。コンテナ間の通信量が定義された上限または下限を超えた場合、通信解析サービス１６０は、例えば組み合わせられたコンテナ、送信コンテナ、または受信コンテナのいずれかに関する警報を通知する。なお、通信解析サービス１６０は、通信量の上限と下限の両方を定義してもよい。
【００９６】
２）ベースライン型；例えば、通信解析サービス１６０は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の、時刻、曜日、月、年等の周期的単位毎の正常な範囲（以下、ベースラインという。）を定義する。すなわち、通信解析サービス１６０は、周期的に変化する閾値を定義する。
【００９７】
メッセージのメッセージ数またはバイト数の集計結果は、サービスが安定して提供されている間、リクエスト数に応じた範囲で推移する。通信解析サービス１６０は、例えば所定の期間が１周期であるベースラインをＮ周期分の平均値を用いて作成する。所定の期間は、例えば１日である。
【００９８】
コンテナ間の通信量がベースラインを超えた場合、通信解析サービス１６０は、例えば組み合わせられたコンテナ、送信コンテナ、または受信コンテナのいずれかに関する警報を通知する。
【００９９】
３）統計型；例えば、通信解析サービス１６０は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の２以上の値に対して相関関係を定義する。
【０１００】
通信解析サービス１６０は、所定期間における時系列の値を用いて相関関係を定義してもよい。モデル化された相関関係を定義するために、通信解析サービス１６０は、線形関数、自己回帰線形関数、確率分布等を用いてもよいし、マハラノビス距離等の統計手法を用いてもよい。なお、マハラノビス距離は、マハラノビスモデルにおける距離である。
【０１０１】
定義された相関関係が維持されなくなった時、通信解析サービス１６０は、例えば相関関係を維持しない値に関連するコンテナに関する警報を通知する。相関関係に線形関数、または自己回帰線形関数が用いられた場合、通信解析サービス１６０は、例えば相関関係に基づいて一方の通信量から予測される他方の通信量の予測値が、観測値と所定値以上乖離した場合に警報を通知する。
【０１０２】
また、相関関係に確率分布が用いられた場合、通信解析サービス１６０は、例えば一方の通信量に対して他方の通信量の観測値が得られる確率が所定値以下である場合に警報を通知する。すなわち、通信解析サービス１６０は、他方の通信量の観測値が通常観測されない値である場合に警報を通知する。
【０１０３】
また、相関関係にマハラノビス距離が用いられた場合、通信解析サービス１６０は、例えばコンテナ間の通信量の２以上の値を用いて算出されるマハラノビス距離が所定値以上である場合に警報を通知する。
【０１０４】
［動作の説明］
以下、本実施形態の監視システム１０の動作を図５〜図１４を参照して説明する。
【０１０５】
図５は、データセンタ１００の構成例を示すブロック図である。図５に示すように、コンテナ実行サーバ１２１は、コンテナ１３１とコンテナ１３２を実行している。また、コンテナ実行サーバ１２２は、コンテナ１３３とコンテナ１３４を実行している。なお、コンテナ１３１、コンテナ１３２、コンテナ１３３、およびコンテナ１３４の各名称は、それぞれContainer_101、Container_102、Container_200、Container_300である。
【０１０６】
また、図５に示すように、Container_101とContainer_102は、コンテナグループであるContainer_Group_1に属している。また、図５に示すように、Container_101は、通信経路１７１を介してContainer_200と通信可能に接続されている。また、Container_102は、通信経路１７２を介してContainer_200と通信可能に接続されている。また、Container_200は、通信経路１７３を介してContainer_300と通信可能に接続されている。
【０１０７】
本例におけるデータセンタ１００の構成が図５に示すような構成であることを前提に、監視システム１０の動作を説明する。最初に、メッセージングサービス１４０がコンテナ間で行われる通信の監視の設定を行う処理を説明する。図６は、第２の実施形態のメッセージングサービス１４０による通信監視設定処理の動作を示すフローチャートである。
【０１０８】
メッセージングサービス１４０は、ユーザから指定されたサービスの構成情報を取得する（ステップＳ１０１）。
【０１０９】
図７は、サービスの構成情報の例を示す説明図である。ステップＳ１０１で、メッセージングサービス１４０は、図７に示すような構成情報を取得する。
【０１１０】
図７に示すように、サービスの構成情報は、コンテナの階層構造を示す。コンテナの階層構造において、サービスは、最上位の構成単位である。また、サービスは、サービス詳細を含む。すなわち、サービスは、サービス詳細の検索キーとして用いられる。
【０１１１】
また、図７に示すように、サービス詳細は、コンテナグループおよびコンテナを含む。また、コンテナグループは、コンテナグループ詳細を含む。すなわち、コンテナグループは、コンテナグループ詳細の検索キーとして用いられる。
【０１１２】
また、図７に示すように、コンテナグループ詳細は、コンテナを含む。メッセージングサービス１４０は、ユーザから指定されたサービスを検索キーとして用いることによって、サービスを構成するコンテナの情報を得ることができる。
【０１１３】
次いで、メッセージングサービス１４０は、各通信経路にコンテナ間で行われる通信に対する監視設定を行う（ステップＳ１０２）。なお、メッセージングサービス１４０は、設定対象の通信経路が削除された監視設定が存在する場合、ステップＳ１０２で対象の監視設定を削除する。
【０１１４】
例えば、全てのメッセージを監視する場合、メッセージングサービス１４０は、メッセージングサービス１４０に入力された全てのメッセージが監視対象になるような監視設定を行う。
【０１１５】
また、例えば、Publisherリスト、またはSubscriberリストに基づいて監視する場合、メッセージングサービス１４０は、Publisherリスト、またはSubscriberリストを予め取得する。図８は、PublisherリストとSubscriberリストの例を示す説明図である。
【０１１６】
Publisherリスト、またはSubscriberリストが与えられた場合、メッセージングサービス１４０は、入力されたメッセージの送信元、またはメッセージの宛先を与えられたリストと照合する。照合することによって、メッセージングサービス１４０は、入力されたメッセージが監視対象のメッセージであるか否かを判断する。
【０１１７】
また、管理者等が予め指定したサービスが監視対象になる場合、メッセージングサービス１４０は、サービスとコンテナの対応関係を示すリストを予め取得する。また、メッセージングサービス１４０は、監視対象のサービスのリストも予め取得する。メッセージングサービス１４０は、監視対象のサービスを構成するコンテナに関するメッセージであるか否かを判断する。
【０１１８】
図９は、サービスとコンテナの対応関係の例を示す説明図である。図９に示すサービス名は、図７に示す定義されたサービス名である。また、図９に示す監視は、監視対象のサービスと監視対象外のサービスのいずれであるかを示す。Trueは、監視対象のサービスであることを意味する。また、Falseは、監視対象外のサービスであることを意味する。また、図９に示すコンテナリストには、サービス名が示すサービスにおける監視対象のコンテナが含まれる。
【０１１９】
また、ユーザは、画面インタフェースを介して監視対象のサービスおよびコンテナをメッセージングサービス１４０に入力してもよい。図１０は、監視対象が選択されるサービス選択画面の例を示す説明図である。図１０には、サービス選択画面と、コンテナ選択画面が示されている。
【０１２０】
図１０に示すサービス選択画面を用いる場合、ユーザは、サービスが列挙されたリストの中から監視対象のサービスを選択し、「ＯＫ」ボタンを押下して選択内容を確定させる。次いで、コンテナ選択画面が表示される。
【０１２１】
コンテナ選択画面が表示された後、ユーザは、サービスを構成する全コンテナが監視対象になるようにコンテナを選択し、「ＯＫ」ボタンを押下して選択内容を確定させる。または、コンテナ選択画面が表示された後、ユーザは、サービスを構成する全コンテナのうちの一部のコンテナが監視対象になるようにコンテナをさらに選択し、「ＯＫ」ボタンを押下して選択内容を確定させてもよい。
【０１２２】
次いで、メッセージングサービス１４０は、監視設定を行う対象の通信経路、および通信経路が存在しない削除対象の監視設定があるか否かを確認する（ステップＳ１０３）。まだ監視設定が行われていない通信経路、および削除されていない監視設定がある場合（ステップＳ１０３におけるＹｅｓ）、メッセージングサービス１４０は、再度ステップＳ１０２の処理を行う。
【０１２３】
監視設定が行われていない通信経路、および削除されていない監視設定がない場合（ステップＳ１０３におけるＮｏ）、メッセージングサービス１４０は、通信監視設定処理を終了する。
【０１２４】
メッセージングサービス１４０は、例えばコンテナグループに対してスケールアウトが実行された場合、すなわちインスタンスが追加された場合、追加されたインスタンスを監視対象に追加するために図６に示す通信監視設定処理を実行する。
【０１２５】
また、メッセージングサービス１４０は、例えばコンテナグループに対してスケールインが実行された場合、すなわちインスタンスが削除された場合、削除されたインスタンスを監視対象から削除するために図６に示す通信監視設定処理を実行する。
【０１２６】
次に、通信解析サービス１６０がコンテナ間で行われた通信の監視結果を解析する処理を説明する。図１１は、第２の実施形態の通信解析サービス１６０による監視結果解析処理の動作を示すフローチャートである。
【０１２７】
メッセージングサービス１４０は、監視設定に基づいてコンテナ間で行われる通信の監視を開始する（ステップＳ２０１）。
【０１２８】
コンテナ間で行われる通信の監視が開始された後、メッセージングサービス１４０は、例えばメッセージ数を集計することによって、監視結果を作成する。例えば、Container_101がPublishの処理を１００回行い、Container_200が全てのPublishの処理に対してSubscribeの処理を行う場合、メッセージングサービス１４０は、メッセージ数として「１００」を取得する。
【０１２９】
図１２は、メッセージングサービス１４０が生成した監視結果の例を示す説明図である。図１２に示す監視結果は、メッセージ数の取得結果の例である。
【０１３０】
図１２に示すPublisherは、Publisherであるコンテナを示す。また、Subscriberは、Subscriberであるコンテナを示す。また、Countは、取得されたメッセージの量を示す。Countには、数、バイト数、または頻度（＝数／時間）のいずれが記録されてもよい。なお、通信が観測されなかったPublisherとSubscriberの組み合わせに関する監視結果は、作成されなくてもよい。
【０１３１】
また、コンテナ間で行われる通信の監視が開始された後、メッセージングサービス１４０は、例えばポリシが示す取得対象のメッセージを取得することによって、監視結果を作成してもよい。
【０１３２】
図１３は、メッセージングサービス１４０が生成した監視結果の他の例を示す説明図である。図１３に示す監視結果は、メッセージ数の取得結果の他の例である。
【０１３３】
図１３に示すPublisherは、Publisherであるコンテナを示す。また、データソースは、アクセスされたデータソースを示す。データソースは、例えばSubscriberであるコンテナと、Subscriberであるコンテナ内のテーブルの組み合わせで表記される。
【０１３４】
また、Countは、取得されたメッセージの量を示す。Countには、数、バイト数、または頻度（＝数／時間）のいずれが記録されてもよい。なお、通信が観測されなかったPublisherとデータソースの組み合わせに関する監視結果は、作成されなくてもよい。
【０１３５】
次いで、メッセージングサービス１４０は、監視結果を通信解析サービス１６０に送信する（ステップＳ２０２）。メッセージングサービス１４０は、例えば予め与えられた時間間隔で監視結果を送信する。時間間隔は、例えば５分である。
【０１３６】
次いで、通信解析サービス１６０は、送信された監視結果を受信し、受信された監視結果を解析する（ステップＳ２０３）。具体的には、通信解析サービス１６０は、上述した閾値型、ベースライン型、統計型のいずれかの方法で監視結果を解析する。なお、通信解析サービス１６０は、他の方法で監視結果を解析してもよい。
【０１３７】
以下、線形関数が用いられた統計型の解析方法を説明する。メッセージのメッセージ数またはバイト数に関する集計結果は、サービスが安定して提供されている間、リクエスト数に応じた範囲で推移する。
【０１３８】
例えば、所定の時間内の単位時間当たりの通信経路１７３におけるメッセージバイト数（Ｘ）は、データベースへのアクセス回数に比例した数である。また、同じ所定の時間内の通信経路１７１および通信経路１７２におけるメッセージバイト数（Ｙ）は、データベースからの応答行数に比例した数である。すなわち、Ｙ＝ａ＊Ｘの関係が成り立つ。なお、ａは比例定数である。
【０１３９】
通信解析サービス１６０は、上記のような関係を予め線形モデルとして確立する。所定の時間以後の時間内の単位時間当たりのＸとＹとの関係が確立された線形モデルが示す関係から大きく外れた場合、通信解析サービス１６０は、ＸとＹのうち少なくとも１つを外れ値として検出する。外れ値が検出された場合、通信解析サービス１６０は、異常通信の存在を確定する。
【０１４０】
通信解析サービス１６０は、ステップＳ２０３において閾値型、ベースライン型、統計型のいずれかの方法で解析した監視結果から異常な内容が検出されたか否かを確認する（ステップＳ２０４）。異常な内容が検出されなかった場合（ステップＳ２０４におけるＮｏ）、通信解析サービス１６０は、再度ステップＳ２０３の処理を行う。
【０１４１】
異常な内容が検出された場合（ステップＳ２０４におけるＹｅｓ）、通信解析サービス１６０は、異常通信の存在を確定する。異常通信の存在が確定された場合、メッセージングサービス１４０は、異常通信の存在の事実を報告する（ステップＳ２０５）。具体的には、メッセージングサービス１４０は、メール、SMS(Short Message Service)、ウェブ画面表示等の方法で異常通信の存在の事実を報告する。
【０１４２】
図１４は、メッセージングサービス１４０によるウェブ画面での報告の例を示す説明図である。図１４に示す画面は、「PaaS異常検出」画面である。サービスプロバイダは、例えばPaaS管理画面に設けられた管理メニューを介して、「PaaS異常検出」画面を表示できる。
【０１４３】
図１４に示す「PaaS異常検出」画面の「検出されたアクティビティ」欄には、異常が検出された時刻、および検出された異常の重要度が表示されている。具体的には、2015/12/25の9:02にContainer_300からContainer_200に向けて行われた通信等に異常が発生していたことが図１４に示されている。
【０１４４】
すなわち、サービスプロバイダは、指定されたサービスに関する異常検出結果を「PaaS異常検出」画面で参照できる。なお、「検出されたアクティビティ」欄には、検出された異常の内容がより具体的に、またはより多くの情報と共に表示されてもよい。
【０１４５】
なお、データセンタ１００には、コンテナ１３１〜コンテナ１３Ｎ、メッセージングサービス１４０、および通信解析サービス１６０のみが含まれてもよい。図１５は、データセンタ１００の他の構成例を示すブロック図である。
【０１４６】
また、データセンタ１００には、メッセージングサービス１４０のみが含まれてもよい。メッセージングサービス１４０のみを含むデータセンタ１００は、外部に存在するコンテナ実行サーバで実行されているコンテナ間で行われる通信を監視し、監視結果を通信可能に接続されている通信解析サーバに送信してもよい。
【０１４７】
［効果の説明］
本実施形態の監視システム１０は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。その理由は、メッセージングサービス１４０がコンテナ間で行われる通信を監視し、監視結果を通信解析サービス１６０に入力し、通信解析サービス１６０が入力された監視結果を解析することによって、不正動作を起因とする異常な事象が検出されるためである。
【０１４８】
なお、本実施形態のデータセンタ１００は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPUによって実現される。すなわちゲートウェイ１１０、メッセージングサービス１４０、および通信解析サービス１６０は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
【０１４９】
また、構成管理手段１５０は、例えばRAM(Random Access Memory)で実現される。
【０１５０】
また、本実施形態のデータセンタ１００における各部は、ハードウェア回路によって実現されてもよい。
【符号の説明】
【０１５１】
１０  監視システム
１１  監視手段
２０、２０１〜２０ｎ、３０、３０１〜３０ｍ、４０、４０１〜４０ｋ、１３１〜１３Ｎ  コンテナ
１００  データセンタ
１１０  ゲートウェイ
１２１〜１２Ｍ  コンテナ実行サーバ
１４０  メッセージングサービス
１５０  構成管理手段
１６０  通信解析サービス
１７１〜１７３  通信経路
２０１〜２０Ｋ  クライアント端末
３００  通信ネットワーク
【図１】
2020115358.tif 000003
【図２】
2020115358.tif 000004
【図３】
2020115358.tif 000005
【図４】
2020115358.tif 000006
【図５】
2020115358.tif 000007
【図６】
2020115358.tif 000008
【図７】
2020115358.tif 000009
【図８】
2020115358.tif 000010
【図９】
2020115358.tif 000011
【図１０】
2020115358.tif 000012
【図１１】
2020115358.tif 000013
【図１２】
2020115358.tif 000014
【図１３】
2020115358.tif 000015
【図１４】
2020115358.tif 000016
【図１５】
2020115358.tif 000017
【図１６】
2020115358.tif 000018
【図１７】
2020115358.tif 000019
【手続補正書】
【提出日】令和2年4月14日(2020.4.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のコンテナをオペレーティングシステム上で実行させるコンテナ実行部と、
前記複数のコンテナ間の通信を媒介するメッセージングサービス部とを備え、
前記メッセージングサービス部は、
前記通信を監視した結果を作成する
ことを特徴とする通信システム。
【請求項２】
複数のコンテナをオペレーティングシステム上で実行させるコンテナ実行部と、
前記複数のコンテナ間の通信を媒介するメッセージングサービス部とを備え、
前記メッセージングサービス部は、
前記通信におけるメッセージ数を集計した結果を作成する
ことを特徴とする通信システム。
【請求項３】
前記オペレーティングシステムと前記コンテナ実行部とを含むコンテナ実行サーバを複数備える
請求項１または請求項２記載の通信システム。
【請求項４】
前記結果が所定の条件を満たすか否かを判断する判断部をさらに備え、
前記メッセージングサービス部は、
前記所定の条件を満たす前記結果に対して所定の動作を行う
請求項１から請求項３のうちのいずれか１項に記載の通信システム。
【請求項５】
前記所定の条件は、通信量、または前記複数のコンテナのうちメッセージを送信した第１のコンテナと前記メッセージを受信した第２のコンテナの組み合わせのうち少なくとも１つが用いられた条件である
請求項４記載の通信システム。
【請求項６】
前記所定の動作は、前記結果の内容の出力である
請求項４または請求項５記載の通信システム。
【請求項７】
複数のコンテナをオペレーティングシステム上で実行させ、
前記複数のコンテナ間の通信を媒介し、
前記通信を監視した結果を作成する
ことを特徴とする通信方法。
【請求項８】
複数のコンテナをオペレーティングシステム上で実行させ、
前記複数のコンテナ間の通信を媒介し、
前記通信におけるメッセージ数を集計した結果を作成する
ことを特徴とする通信方法。
【請求項９】
前記オペレーティングシステムを含む複数のコンテナ実行サーバそれぞれにおいて実行される
請求項７または請求項８記載の通信方法。
【請求項１０】
前記結果が所定の条件を満たすか否かを判断し、
前記所定の条件を満たす前記結果に対して所定の動作を行う
請求項７から請求項９のうちのいずれか１項に記載の通信方法。
【請求項１１】
前記所定の条件は、通信量、または前記複数のコンテナのうちメッセージを送信した第１のコンテナと前記メッセージを受信した第２のコンテナの組み合わせのうち少なくとも１つが用いられた条件である
請求項１０記載の通信方法。
【請求項１２】
前記所定の動作は、前記結果の内容の出力である
請求項１０または請求項１１記載の通信方法。
【請求項１３】
コンピュータに、
複数のコンテナをオペレーティングシステム上で実行させる実行処理、
前記複数のコンテナ間の通信を媒介する媒介処理、および
前記通信を監視した結果を作成する作成処理
を実行させるための通信プログラム。
【請求項１４】
コンピュータに、
複数のコンテナをオペレーティングシステム上で実行させる実行処理、
前記複数のコンテナ間の通信を媒介する媒介処理、および
前記通信におけるメッセージ数を集計した結果を作成する作成処理
を実行させるための通信プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、通信システム、通信方法および通信プログラムに関し、特にコンテナの機密性を向上させる通信システム、通信方法および通信プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
そこで、本発明は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる通信システム、通信方法および通信プログラムを提供することを目的とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
本発明による通信システムは、複数のコンテナをオペレーティングシステム上で実行させるコンテナ実行部と、複数のコンテナ間の通信を媒介するメッセージングサービス部とを備え、メッセージングサービス部は、通信を監視した結果を作成することを特徴とする。
また、本発明による通信システムは、複数のコンテナをオペレーティングシステム上で実行させるコンテナ実行部と、複数のコンテナ間の通信を媒介するメッセージングサービス部とを備え、メッセージングサービス部は、通信におけるメッセージ数を集計した結果を作成することを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
本発明による通信方法は、複数のコンテナをオペレーティングシステム上で実行させ、複数のコンテナ間の通信を媒介し、通信を監視した結果を作成することを特徴とする。
また、本発明による通信方法は、複数のコンテナをオペレーティングシステム上で実行させ、複数のコンテナ間の通信を媒介し、通信におけるメッセージ数を集計した結果を作成することを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
本発明による通信プログラムは、コンピュータに、複数のコンテナをオペレーティングシステム上で実行させる実行処理、複数のコンテナ間の通信を媒介する媒介処理、および通信を監視した結果を作成する作成処理を実行させることを特徴とする。
また、本発明による通信プログラムは、コンピュータに、複数のコンテナをオペレーティングシステム上で実行させる実行処理、複数のコンテナ間の通信を媒介する媒介処理、および通信におけるメッセージ数を集計した結果を作成する作成処理を実行させることを特徴とする。