(57)【要約】【課題】外部ネットワークに影響されない内部ネットワークを構築可能にする。【解決手段】情報処理装置１０は、外部ネットワーク２０に接続可能であって、複数のユニット１１と、外部ネットワークインタフェース２０ａと、内部ネットワークインタフェース１２ａと、を有する。外部ネットワークインタフェース２０ａは、複数のユニット１１のうちの少なくとも一のユニット１１−１に設けられ、外部ネットワーク２０に接続される。内部ネットワークインタフェース１２ａは、複数のユニット１１のそれぞれに設けられ、外部ネットワークインタフェース２０ａに接続された外部ネットワーク２０の第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワーク１２に接続される。そして、複数のユニット１１のそれぞれの内部ネットワークインタフェース１２ａは、前記第２アドレス体系を用いて複数のユニット１１間の通信を行なう。【選択図】図１
2015070522.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワークに接続可能な情報処理装置であって、
複数のユニットと、
前記複数のユニットのうちの少なくとも一のユニットに設けられ、前記外部ネットワークに接続される外部ネットワークインタフェースと、
前記複数のユニットのそれぞれに設けられ、前記外部ネットワークインタフェースに接続された外部ネットワークの第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワークに接続される内部ネットワークインタフェースと、を有し、
前記複数のユニットのそれぞれの前記内部ネットワークインタフェースは、前記第２アドレス体系を用いて前記複数のユニット間の通信を行なう、情報処理装置。
【請求項２】
前記複数のユニットのそれぞれは、オペレーティングシステム（ＯＳ）を有するとともに、当該ＯＳ内のプロセス間通信を行なうループバックデバイスを有し、
前記ループバックデバイスによる前記プロセス間通信のアドレス体系が、前記第２アドレス体系として用いられる、請求項１記載の情報処理装置。
【請求項３】
前記内部ネットワークは、インターネットプロトコル（ＩＰ）通信でない汎用通信回線、もしくは、前記複数のユニット間の共有メモリによって構築される、請求項２記載の情報処理装置。
【請求項４】
前記複数のユニットのそれぞれは、送信元プロセスで生成され前記ループバックデバイスを通過するパケットを取得する取得部を有し、
前記内部ネットワークインタフェースは、前記取得部によって取得された前記パケットを、前記内部ネットワークに出力し、前記第２アドレス体系に従って送信先ユニットへ送信する、請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記複数のユニットのそれぞれは、前記ループバックデバイスを通過する前記パケットを、前記ループバックデバイスと前記ＯＳのカーネルとの間で遮断する遮断部を有する、請求項４記載の情報処理装置。
【請求項６】
端末と、
外部ネットワークと、
前記外部ネットワークに接続可能で、前記外部ネットワークを介して前記端末と通信可能に接続される情報処理装置と、を備え、
前記情報処理装置は、
前記複数のユニットのうちの少なくとも一のユニットに設けられ、前記外部ネットワークに接続される外部ネットワークインタフェースと、
前記複数のユニットのそれぞれに設けられ、前記外部ネットワークインタフェースに接続された外部ネットワークの第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワークに接続される内部ネットワークインタフェースと、を有し、
前記複数のユニットのそれぞれの前記内部ネットワークインタフェースは、前記第２アドレス体系を用いて前記複数のユニット間の通信を行なう、情報処理システム。
【請求項７】
複数のユニットと、前記複数のユニット間を通信可能に接続する内部ネットワークと、を有し、前記複数のユニットのうちの少なくとも一のユニットが外部ネットワークに接続される情報処理装置の前記複数のユニットのそれぞれにおけるオペレーティングシステム（ＯＳ）に、
前記外部ネットワークの第１アドレス体系とは独立した、前記内部ネットワークの第２アドレス体系を用いて前記複数のユニット間の通信を行なう、
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、及びプログラムに関する。
【背景技術】
【０００２】
一般に、サーバ装置やストレージ装置を含む情報処理装置では、内部の各種機能を複数のユニットに分割することで、保守性や可用性（冗長性）の向上が図られている。
上述のごとく分割された複数のユニットを連携させるべく複数のユニット間にイーサネット（Ethernet；登録商標）を導入すると、情報処理装置は、イーサネットを利用した様々なアプリケーションソフトウェアを利用することが可能になる。これにより、情報処理装置の生産性の向上を図ることもできる。
【０００３】
しかし、内部ネットワークとしてイーサネットを導入する場合、イーサネットのアドレス体系は、情報処理装置に繋がる外部ネットワークのアドレス体系と矛盾（衝突）しないようにする必要がある。そのために、外部ネットワークでのアドレス設定やアドレス変更に連携して内部ネットワークのアドレス体系を変更させる処理が発生する。このように内部ネットワークのアドレス体系を変更させる処理を行なっている期間中は、ユニット間の連携を行なうことが難しい。
【０００４】
ここで、図１３を参照しながら、内部ネットワークのアドレス体系と外部ネットワークのアドレス体系とが衝突する例について説明する。
図１３に示す例では、情報処理装置１００に、外部ネットワーク２００およびゲートウェイ３００を介して端末４００が通信可能に接続されている。また、情報処理装置１００には、例えば５つのユニット１０１〜１０５が備えられ、これらのユニット１０１〜１０５は、内部ネットワーク１０６を介して通信可能に接続されている。
【０００５】
ここで、外部ネットワーク２００は、情報処理装置１００を使用するユーザが管理するイーサネットである。情報処理装置１００は、イーサネットサービスを提供するインタフェースである。
また、情報処理装置１００の内部ネットワーク１０６は、情報処理装置１００内部のユニット１０１〜１０５間を結ぶイーサネットである。ユニット１０１〜１０５どうしは、内部ネットワーク１０６を通して連携する。
【０００６】
各ユニット１０１〜１０５は、情報処理装置１００を構成する部品であり、情報処理装置１００の保守性や可用性（冗長性）を向上させるために、ある程度の機能ごとに分割されたものである。各ユニット１０１〜１０５には、イーサネットアプリケーションを使用するために汎用ＯＳが載せられている。そして、ユニット１０１には、外部ネットワーク２００に接続され外部の端末４００との通信を行なう外部ネットワークインタフェース１１０が備えられる。また、ユニット１０１には、内部ネットワーク１０６に接続され他のユニット１０２〜１０５との通信を行なう内部ネットワークインタフェース１１１が備えられる。同様に、ユニット１０２〜１０５には、それぞれ、内部ネットワーク１０６に接続されユニット１０１との通信を行なう内部ネットワークインタフェース１２１〜１５１が備えられる。なお、ユニット１０１〜１０５は、それぞれ、ユニット＃１〜＃５と表記される場合がある。
【０００７】
このとき、情報処理装置１００（外部ネットワークインタフェース１１０）には、外部ネットワーク２００用のＩＰ（Internet Protocol）アドレス192.168.1.1が割り振られている。また、端末４００には、ＩＰアドレス172.16.0.10が割り振られている。そして、情報処理装置１００内部の各ユニット１０１〜１０５（内部ネットワークインタフェース１１１〜１５１）には、それぞれ、内部ネットワーク１０６用のＩＰアドレス172.16.0.1〜172.16.0.5が割り振られているものとする。
【０００８】
このようにＩＰアドレスが割り振られている場合、ユニット１０１と外部の端末４００との間で通信を行なうことができなくなる。なぜならば、端末４００のＩＰアドレスが172.16.0.10であり、情報処理装置１００の内部ネットワーク１０６のアドレス体系に含まれているため、ユニット１０１から端末４００への送信を行なおうとしても、端末４００宛てのパケットが内部ネットワーク１０６に流れてしまうからである。
【０００９】
したがって、図１３に示すように、情報処理装置１００外部のアドレスと情報処理装置１００内部のアドレス体系との衝突が発生する場合、上述した通り、外部ネットワークのアドレスに連携して内部ネットワークのアドレス体系を変更させる処理が発生する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−４９６７６号公報
【特許文献２】特開２００９−１５１７４４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、外部ネットワークのアドレスに連携して内部ネットワークのアドレス体系を変更させる処理が発生すると、その処理を行なっている期間中は、ユニット間の連携を行なうことが難しくなるという課題がある。
【００１２】
一つの側面で、本発明は、外部ネットワークに影響されない内部ネットワークを構築可能にすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【００１３】
本件の情報処理装置は、外部ネットワークに接続可能であって、複数のユニットと、外部ネットワークインタフェースと、内部ネットワークインタフェースと、を有する。前記外部ネットワークインタフェースは、前記複数のユニットのうちの少なくとも一のユニットに設けられ、前記外部ネットワークに接続される。前記内部ネットワークインタフェースは、前記複数のユニットのそれぞれに設けられ、前記外部ネットワークインタフェースに接続された外部ネットワークの第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワークに接続される。そして、前記複数のユニットのそれぞれの前記内部ネットワークインタフェースは、前記第２アドレス体系を用いて前記複数のユニット間の通信を行なう。
【発明の効果】
【００１４】
一実施形態によれば、外部ネットワークに影響されない内部ネットワークを構築することができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態の情報処理装置を含む情報処理システムのハードウェア構成および機能構成を示すブロック図である。
【図２】図１に示す情報処理装置を構成する各ユニットのハードウェア構成および機能構成を示すブロック図である。
【図３】ループバックデバイスによるプロセス間通信を説明する図である。
【図４】ループバックデバイスによるプロセス間通信を説明する図である。
【図５】本実施形態における基本的なユニット間通信手順を説明するフローチャートである。
【図６】本実施形態におけるユニット間通信動作を説明する図である。
【図７】本実施形態におけるユニット間通信動作を説明する図である。
【図８】本実施形態におけるユニット間通信動作を説明する図である。
【図９】本実施形態におけるユニット間通信動作を説明する図である。
【図１０】本実施形態におけるユニット間通信動作を説明する図である。
【図１１】本実施形態におけるユニット間通信動作を説明する図である。
【図１２】本実施形態におけるユニット間通信動作を説明する図である。
【図１３】内部ネットワークのアドレス体系と外部ネットワークのアドレス体系とが衝突する例を示す図である。
【発明を実施するための形態】
【００１６】
以下に、図面を参照し、本願の開示する情報処理装置、情報処理システム、及びプログラムの実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１７】
〔１〕本実施形態の情報処理装置を含む情報処理システムの構成
まず、図１を参照しながら、本実施形態の情報処理装置１０を含む情報処理システム１のハードウェア構成および機能構成について説明する。なお、図１は、そのハードウェア構成および機能構成を示すブロック図である。
【００１８】
図１に示す情報処理システム１では、情報処理装置１０に、外部ネットワーク２０およびゲートウェイ３０を介して端末（外部ユニット）４０が通信可能に接続されている。また、情報処理装置１０には、例えば５つのユニット１１−１〜１１−５が備えられ、これらのユニット１１−１〜１１−５は、内部ネットワーク１２を介して通信可能に接続されている。なお、ユニットを示す符号としては、複数のユニットのうちの一つを特定する必要があるときには符号１１−１〜１１−５を用い、任意のユニットを指すときには符号１１を用いる。また、情報処理装置１０は、例えば、サーバ装置や、統合ストレージ装置（unified storage）などを含むものとする。
【００１９】
本実施形態の情報処理装置１０は、外部ネットワーク２０に接続可能であり、後述するように、少なくとも、複数のユニット１１と外部ネットワークインタフェース２０ａと内部ネットワークインタフェース１２ａとを含んでいる。外部ネットワークインタフェース２０ａは、複数のユニット１１のうちの少なくとも一のユニット１１−１に設けられ、外部ネットワーク２０に接続される。また、内部ネットワークインタフェース１２ａは、各ユニット１１に設けられ、外部ネットワークインタフェース２０ａに接続された外部ネットワーク２０の第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワーク１２に接続される。そして、各ユニット１１の内部ネットワークインタフェース１２ａは、第２アドレス体系を用いて複数のユニット１１間の通信を行なう。
【００２０】
ここで、外部ネットワーク２０は、情報処理装置１０を使用するユーザが管理するイーサネットである。情報処理装置１０は、イーサネットサービスを提供するインタフェースである。
また、情報処理装置１０の内部ネットワーク１２は、情報処理装置１０内部のユニット１１間を結ぶイーサネットである。ユニット１１どうしは、内部ネットワーク１２を通して連携する。
【００２１】
各ユニット１１は、情報処理装置１０を構成する部品であり、情報処理装置１０内部の各種機能を分割したもので、このように機能を複数のユニット１１に分割することで、保守性や可用性（冗長性）の向上が図られている。各ユニット１１には、イーサネットアプリケーションを使用するために汎用ＯＳ１１Ａが載せられている。また、各ユニット１１には、ＯＳ１１Ａ内のプロセス（アプリケーション）間通信を行なうループバックデバイス１４（図２参照）が備えられている。
【００２２】
複数のユニット１１のうちの一つであるユニット１１−１には、外部ネットワーク２００に接続され端末（外部ステップ）４０との通信を行なう外部ネットワークインタフェース２０ａが備えられる。また、ユニット１１−１には、内部ネットワーク１２に接続され他のユニット１１−２〜１１−５との通信を行なう内部ネットワークインタフェース１２ａが備えられる。同様に、ユニット１１−２〜１１−５には、それぞれ、内部ネットワーク１２に接続されユニット１１との通信を行なう内部ネットワークインタフェース１２ａが備えられる。なお、ユニット１１−１〜１１−５は、それぞれ、ユニット＃１〜＃５と表記される場合がある。
【００２３】
このとき、本実施形態の情報処理システム１においては、内部ネットワーク１２に、外部ネットワーク２０の第１アドレス体系（192.168.1.0/24）とは独立した第２アドレス体系が構築される。このため、本実施形態では、ループバックデバイス１４によるプロセス間通信のアドレス体系が、前記第２アドレス体系として用いられる。
【００２４】
ループバックデバイス１４を流れるパケットは、ループバックデバイス１４の特性上、当該パケットを使用するＯＳ１１Ａの外へ出ない。当該パケットは、例えば図３に示すように、１つのＯＳ１１Ａ内において２つのプロセス＃１，＃２間で連携するために用いられる（図３の矢印Ａ１，Ａ２参照）。図３では、ユニット１１−１上でプロセス間通信を行なう例が示され、プロセス＃１，＃２にそれぞれアドレス127.1.0.1, 127.1.0.2が割り振られている。また、ループバックデバイス１４宛のパケットは、図４に示すように、送信先がいなくても送信することが可能である（図４の矢印Ａ３，Ａ４参照）。つまり、送信先がいなくてもエラーを発生させることなくパケットを送信することが可能である。ただし、送信先のいないパケットは、ループバックデバイス１４に送信された後、破棄される。なお、図３および図４は、ループバックデバイス１４によるプロセス間通信を説明する図である。
【００２５】
このようなループバックデバイス１４によるプロセス間通信のアドレス体系は、127.0.0.0/8であり、ホストアドレスに、約1677万個、確保することができる。そこで、本実施形態では、情報処理装置１０を構成するユニット１１−１〜１１−５の内部で、ループバックデバイス１４上のＩＰアドレスが衝突しないように割り振られる。例えば図１では、ユニット１１−１〜１１−５に、ＩＰアドレスとして、ループバック用のアドレス体系のアドレス127.1.0.1〜127.1.0.5がそれぞれ割り振られている。
【００２６】
これにより、内部ネットワークインタフェース１２ａは、外部ネットワーク２０の第１アドレス体系とは独立した第２アドレス体系である、ループバックデバイス１４によるプロセス間通信のアドレス体系を用いてユニット１１間の通信を行なう。ただし、上述したように、ループバックデバイス１４を流れるパケットは、ループバックデバイス１４の特性上、当該パケットを使用するＯＳ１１Ａの外へ出ない。そこで、本実施形態では、図２を参照しながら後述する、各ユニット１１における機能構成を用いることで、図５〜図１２を参照しながら後述するように、ループバックデバイス１４を利用したＩＰネットワークが構築される。
【００２７】
なお、第２アドレス体系（各ユニット１１のＩＰアドレス）は、各ユニット１１に対して、システム管理者が手作業によって設定してもよいし、ＯＳ等のソフトウェアによって自動的に割り振って設定するように構成してもよい。例えば、各ユニット１１のファームウェアが、ハードウェアの位置情報（スロット番号）等を基に、自動的に自身のアドレスを生成して設定する。また、他の例としては、ユニット＃１のＯＳ１１ＡもしくはＣＰＵ１１ａなどの制御部にＤＨＣＰ（Dynamic Host Configuration Protocol）機能をもたせ、他のユニット１１に設定情報を自動配信して、各ユニット１１がその設定情報を受けて設定するようにしてもよい。ＤＨＣＰ機能によれば、ネットワーク設定を手動で行なわなくても直ちに適切な設定で接続を行なうすることができ、ネットワークの設定に詳しくないユーザでも簡単に接続することができる。
【００２８】
ユニット１１間を通信可能に接続する内部ネットワーク１２としては、例えば、ＩＰ通信でない汎用通信回線が用いられる。また、汎用通信回線としては、例えば、フレームリレー通信回線（シリアル回線，ＩＰを使用しないイーサネットなど）を用いることができる。図１に示す例では、内部ネットワーク１２としてフレームリレー通信回線が用いられている。これに伴い、各ユニット１１における内部ネットワークインタフェース１２ａには、フレームリレー送信部およびフレームリレー受信部としての機能が備えられる。ユニット１１内部でのリレーなどを利用することで、任意のユニット１１間でフレームリレーを可能なネットワーク環境が構築される。
【００２９】
なお、汎用通信回線に代え複数のユニット１１間の共有メモリ（図示略）を内部ネットワーク１２として備え、共有メモリを介してユニット１１間で通信を行なってもよい。
また、図１に示す情報処理システム１では、情報処理装置１０（外部ネットワークインタフェース２０ａ）に、外部ネットワーク２０用のＩＰアドレス192.168.1.1が割り振られ、端末４０に、ＩＰアドレス172.16.0.10が割り振られている。
【００３０】
さらに、情報処理装置１０の各種機能を分割した複数のユニット１１は、それぞれ、物理的に独立し、内部ネットワーク１２を介して相互に通信構成されていてもよい。また、情報処理装置１０の各種機能を分割した複数のユニット１１の一部は、各ユニット１１のＣＰＵ１１ａ（図２参照）によって実行されるハイパバイザ（仮想化ＯＳ；図示略）上に構築される複数の仮想マシン（図示略）であってもよい。複数の仮想マシン（ユニット１１）上では異なる種類のＯＳ１１Ａが並列的に稼働される。
【００３１】
このように一つのＣＰＵ１１ａにおけるハイパバイザ上で複数のＯＳ１１Ａを稼働させる例として、統合ストレージ装置が挙げられる。統合ストレージ装置では、ハイパバイザ上において、例えば、ＳＡＮ（Storage Area Network）用ＯＳとＮＡＳ（Network Attached Storage）用ＯＳとが稼働される。ＳＡＮ用ＯＳとしては例えばWind River社のVxWorks（登録商法）が用いられ、ＮＡＳ用ＯＳとしては例えばLinux（登録商標）が用いられる。
【００３２】
このような統合ストレージ装置において、ＳＡＮ用ＯＳを稼働するユニット（仮想マシン）１１は、内部ネットワークインタフェース１２ａにより内部ネットワーク１２経由でＣＰＵ１１ａ外部の他ユニット１１と通信可能である。しかし、ＮＡＳ用ＯＳを稼働するユニット（仮想マシン）１１は、ＮＡＳ用ＯＳと同じハイパバイザ上に載るＳＡＮ用ＯＳを稼働するユニット１１との通信は可能であるが、通常、ＮＡＳ用ＯＳに直接接続されていないＣＰＵ１１ａ外部の他ユニット１１との通信はできない。
【００３３】
〔２〕本実施形態の情報処理装置における各ユニットの構成
次に、図２を参照しながら、図１に示す情報処理装置１０を構成する各ユニット１１のハードウェア構成および機能構成について説明する。なお、図２は、そのハードウェア構成および機能構成を示すブロック図である。
【００３４】
各ユニット１１は、少なくともＣＰＵ（処理部）１１ａおよびメモリ（記憶部）１１ｂを含む。なお、ユニット１１が仮想マシンである場合、同一ハイパバイザ上の複数の仮想マシン（ユニット１１）によってＣＰＵ１１ａおよびメモリ１１ｂは共用される。メモリ１１ｂは、例えば、ＲＡＭ（Random Access Memory），ＲＯＭ（Read Only Memory），ＨＤＤ（Hard Disk Drive），ＳＳＤ（Solid State Drive）等である。メモリ１１ｂは、各ユニット１１での処理に必要な各種情報、例えば、上述したＯＳ１１Ａやハイパバイザなどに係るソフトウェアや、各種機能（符号１２ａ，１４〜１８，２０ａ参照）を実現するためのアプリケーションプログラムを保存する。
【００３５】
図２に示すように、外部ネットワーク２０に接続されるユニット１１−１のＣＰＵ１１ａは、メモリ１１ｂに保存されたアプリケーションプログラムを実行することで、内部ネットワークインタフェース１２ａ，取得部１５，送込み部１６，遮断部１７，変換部１８および外部ネットワークインタフェース２０ａとしての機能を果たす。また、内部ネットワーク１２を介してユニット１１−１に接続されるユニット１１−２〜１１−５のＣＰＵ１１ａは、メモリ１１ｂに保存されたアプリケーションプログラムを実行することで、内部ネットワークインタフェース１２ａ，取得部１５，送込み部１６および遮断部１７としての機能を果たす。
【００３６】
外部ネットワークインタフェース２０ａは、図１を参照しながら上述した通り、ユニット１１−１において、外部ネットワーク（イーサネット）２０の第１アドレス体系（192.168.1.0/24）で外部ネットワーク２０に接続され端末４０との通信を行なう。
【００３７】
内部ネットワークインタフェース１２ａは、図１を参照しながら上述した通り、各ユニット１１において、ループバックデバイス１４によるプロセス間通信のアドレス体系（127.1.0.1/5）でユニット１１間の通信を行なう。
【００３８】
また、内部ネットワークインタフェース１２ａは、自ユニット宛のパケットを選択して送込み部１６（後述）に受け渡す一方、自ユニット宛のパケット以外のパケットを他ユニットに転送する機能を有している。この機能は、例えば上述した統合ストレージ装置のごとく複数のユニット１１がハイパバイザ上に構築される複数の仮想マシンである場合に有効に用いられる。つまり、ＳＡＮ用ＯＳを稼働するユニット１１でＮＡＳ用ＯＳを稼動するユニット１１宛のパケットを受信した場合、当該機能によって、当該パケットを、ハイパバイザ経由で、ＳＡＮ用ＯＳを稼働するユニット１１からＮＡＳ用ＯＳを稼動するユニット１１に転送する。
【００３９】
取得部１５は、ＯＳ１１Ａにおいて、送信元プロセス（図６〜図１０等のプロセス＃１参照）で生成されループバックデバイス１４を通過するパケットＰ１（図６〜図１０等参照）を取得する。取得部１５としての機能は、ＯＳ１１Ａに元々備えられるキャプチャ（capture）機能を用いて実現することができる。キャプチャ機能は、ネットワークの状態を監視すべくパケットをキャプチャするもので、取得部１５は、キャプチャ機能を用いてループバックデバイス１４を通過するパケットＰ１を取得する。内部ネットワークインタフェース１２ａは、取得部１５によって取得されたパケットＰ１を、内部ネットワーク１２に出力し、ループバックデバイス１４によるプロセス間通信のアドレス体系に従って送信先ユニット１１へ送信する。
【００４０】
また、取得部１５は、送信先プロセス（図８，図１１，図１２のプロセス＃２参照）で生成されループバックデバイス１４を通過する、他ユニット１１の送信元プロセス（上記プロセス＃１参照）への応答パケットＰ２（図１１，図１２参照）を取得する。取得部１５は、上記キャプチャ機能を用いてループバックデバイス１４を通過する応答パケットＰ２を取得する。内部ネットワークインタフェース１２ａは、取得部１５によって取得された応答パケットＰ２を、内部ネットワーク１２に出力し、ループバックデバイス１４によるプロセス間通信のアドレス体系に従って他ユニット１１の送信元ユニット１１へ送信する。
【００４１】
送込み部１６は、内部ネットワークインタフェース１２ａが、他ユニットから自ユニット宛のパケットをループバックデバイス１４によるプロセス間通信のアドレス体系に従って受信すると起動される。送込み部１６は、起動されると、内部ネットワークインタフェース１２ａによって受信された自ユニット宛のパケット（Ｐ１またはＰ２）を、ループバックデバイス１４経由で送信先プロセス（プロセス＃２または＃１）へ送り込む。送込み部１６としての機能は、ＯＳ１１Ａに元々備えられるセンド（send）機能を用いて実現することができる。
【００４２】
遮断部（firewall）１７は、ループバックデバイス１４を通過するパケットＰ１を、ループバックデバイス１４とＯＳ１１Ａのカーネル１３との間で遮断する。また、遮断部１７は、ループバックデバイス１４を通過する応答パケットＰ２を、ループバックデバイス１４とＯＳ１１Ａのカーネル１３との間で遮断する。なお、遮断部１７による遮断機能については、図９〜図１２を参照しながら後述する。カーネル１３は、アプリケーションソフトウェアや周辺機器の監視、ディスクやメモリなどの資源の管理、割りこみ処理、プロセス間通信など、ＯＳとしての基本機能を提供するソフトウェアである。
【００４３】
変換部１８は、外部ネットワーク２０に接続された一のユニット１１−１において、外部ネットワーク２０の第１アドレス体系と内部ネットワーク１２の第２アドレス体系との間のアドレス変換を行なう。変換部１８としての機能は、ＮＡＰＴ (Network Address Port Translation) 機構を用いて実現することができる。変換部１８によって、情報処理装置１０内部の各ユニット１１は、外部ネットワーク２０に接続される外部機器（例えば端末４０）との通信を行なうことが可能になっている。
【００４４】
〔３〕本実施形態の情報処理装置における各ユニットの動作
次に、図５〜図１２を参照しながら、上述のごとく構成された本実施形態の情報処理装置１０を含む情報処理システム１の動作、特に各ユニット１１の動作について詳細に説明する。図５は本実施形態における基本的なユニット間通信手順を説明するフローチャートであり、図６〜図１２は本実施形態におけるユニット間通信動作を説明する図である。図６〜図１２では、ユニット１１−１とユニット１１−２との間での通信動作が、各ユニット１１における要部構成のみを図示しながら説明される。前述した通り、ユニット１１−１および１１−２には、それぞれ、ループバックデバイス１４によるプロセス間通信のアドレス体系のＩＰアドレス127.1.0.1および127.1.0.2が割り振られている。なお、図中、既述の符号と同一の符号は、同一もしくはほぼ同一の部分を示しているので、その説明は省略する。
【００４５】
まず、図６〜図８を参照しながら、図５に示すフローチャート（ステップＳ１〜Ｓ８）に従って、基本的なユニット間通信手順について説明する。
ユニット１１−１とユニット１１−２との間で通信を行なう場合、送信元ユニット１１−１のプロセス（送信元プロセス）＃１は、送信先ユニット１１−２のプロセス（送信先プロセス）＃２へのパケットを生成してループバックデバイス１４へ出力する（ステップＳ１；図６の矢印Ａ３，Ａ４参照）。
【００４６】
このとき、取得部（capture）１５は、ループバックデバイス１４にパケットキャプチャを仕掛け、送信先プロセス＃２宛のパケットＰ１を取り出す（ステップＳ２；図６の矢印Ａ５，Ａ６参照）。そして、取得部１５によって取り出されたパケットＰ１は、内部ネットワークインタフェース１２ａのフレーリレー送信部としての機能によって、送信先プロセス＃２のＩＰアドレスに応じた適切なフレームリレー１２へ出力される（図７および図８の矢印Ａ７参照）。これにより、パケットＰ１は、送信先ユニット１１−２へ送信される（ステップＳ３）。
【００４７】
フレームリレー１２によって送信されたパケットＰ１は、送信先ユニット１１−２の内部ネットワークインタフェース１２ａのフレームリレー受信部としての機能によって受信される（ステップＳ４；図８の矢印Ａ８）。パケットＰ１を受信した内部ネットワークインタフェース１２ａは、パケットＰ１が自ユニット１１−２宛であるか否かが判断する（ステップＳ５）。
【００４８】
受信したパケットＰ１が自ユニット１１−２宛である場合（ステップＳ５のＹＥＳルート）、内部ネットワークインタフェース１２ａは、パケットＰ１を送込み部（send）１６に受け渡す（ステップＳ６；図８の矢印Ａ９参照）。そして、送込み部（send）１６によって、パケットＰ１は、ループバックデバイス１４経由で送信先プロセス＃２へ送り込まれる（ステップＳ７；図８の矢印Ａ１０，Ａ１１参照）。
【００４９】
パケットＰ１が自ユニット１１−２宛でない場合（ステップＳ５のＮＯルート）、内部ネットワークインタフェース１２ａは、当該パケットＰ１を、自ユニット１１−２のＯＳ１１Ａを構築されたハイパバイザ上の、他ＯＳ１１Ａ（他ユニット１１）に転送する（ステップＳ８）。この後、転送先の他ユニット１１において、上述したステップＳ６，Ｓ７と同様の処理が行なわれる。
【００５０】
なお、ユニット１１−２（プロセス＃２）からユニット１１−１（プロセス＃１）へパケットの送信も、上述と同様の手順で実行され、これにより、ユニット１１−１とユニット１１−２との間の通信が実現される。
【００５１】
ここまで、本実施形態における基本的なユニット間通信手順について説明したが、ＴＣＰ（Transmission Control Protocol）通信を行なう場合、ＯＳの種類によっては、図９や図１１に示すようにユニット間通信を行なえなくなることがある。例えば図４では、プロセス＃１から送出されたパケットは、ループバックデバイス１４を通過した後に消えているように示されている。しかし、ＯＳの種類（例えばLinux）によっては、ループバックデバイス１４を通過したパケットをカーネル１３が受信することがある（図９の矢印Ａ４参照）。カーネル１３は、このようなパケットを受信すると、当該パケットによる通信は存在しないサービス（プロセス＃２）に対するＴＣＰ通信であると認識し、送信元プロセス＃１へ通信終了信号つまりＴＣＰのリセット信号（ＲＳＴ）を返信してしまう（図９の矢印Ａ１２，Ａ１３参照）。このリセット信号により、ＴＣＰ通信のコネクションが切断され、送信元プロセス＃１からのパケットＰ１に係る通信が停止する。このため、図６〜図８に示すようにキャプチャされたパケットＰ１に対し送信先ユニット１１−２から返信があっても、当該返信に対応することができず、ユニット間通信は確立されないまま終了する。
【００５２】
上述のような状況が送信元ユニット１１−１で発生するのを抑止すべく、本実施形態では、ループバックデバイス１４を通過した送信先ユニット１１−２宛のパケットＰ１は、カーネル１３に渡る前に、遮断部１７によって遮断され破棄される（図１０の矢印Ａ４参照）。これにより、カーネル１３はパケットＰ１を受信しないので、リセット信号がカーネル１３から送信元プロセス＃１へ返信されることがなく、ユニット間通信が確立されないまま終了するのを抑止することができる。
【００５３】
また、送信元ユニット１１−１内に既存のサービス（プロセス＃２）がある場合、自ＯＳ１１Ａ内のサービス（プロセス＃２）が、他ユニット１１−２のサービス（プロセス＃２）の代わりに応答してしまう。つまり、特別な対応をしなければループバックアドレス範囲内のアドレス宛パケットは、全て送信元ユニット１１−１内で受信されてしまう。例えば、図８では、パケットＰ１は、アドレス127.1.0.2宛に送信されているが、このアドレスはループバックアドレス範囲内であるので、当該パケットＰ１をユニット１１−１のＯＳ１１Ａ内のサービスが受信し、応答してしまう。このような状況も、遮断部１７としてのファイアウォールを、アドレス127.1.0.2宛のパケットを捨てるように設定することで解消される。
【００５４】
なお、図９および図１０では、送信元ユニット１１−１について説明しているが、図１１および図１２に示すように、送信先ユニット１１−２においても、カーネル１３のリセット信号によって生じる不都合も、遮断部１７の機能を用いて解消される。つまり、図１１に示すように、パケットＰ１を受信した送信先プロセス＃２は、送信元プロセス＃１への応答パケット（返信パケット）Ｐ２を生成してループバックデバイス１４へ出力する（図１１の矢印Ａ１４参照）。ループバックデバイス１４を通過する応答パケットＰ２は、取得部１５によって取り出される（図１１の矢印Ａ１６，Ａ１７参照）。取り出された応答パケットＰ２は、内部ネットワークインタフェース１２ａのフレーリレー送信部としての機能によって適切なフレームリレー１２へ出力される（図１１の矢印Ａ１８参照）。これにより、応答パケットＰ２は、送信元ユニット１１−１へ送信される。
【００５５】
このとき、ループバックデバイス１４を通過した応答パケットＰ２が、カーネル１３によって受信されることがある（図１１の矢印Ａ１５参照）。カーネル１３は、応答パケットＰ２を受信すると、当該パケットＰ２による通信は存在しないサービス（プロセス＃１）に対するＴＣＰ通信であると認識し、プロセス＃２に対しＴＣＰのリセット信号を返信してしまう（図１１の矢印Ａ１９，Ａ２０参照）。このリセット信号により、ＴＣＰ通信のコネクションが切断され、プロセス＃２からの応答パケットＰ２に係る通信が停止する。このため、応答パケットＰ２に対し送信元ユニット１１−１から返信があっても、当該返信に対応することができず、ユニット間通信は確立されないまま終了する。
【００５６】
上述のような状況が送信先ユニット１１−２で発生するのを抑止すべく、本実施形態では、ループバックデバイス１４を通過した送信元ユニット１１−１宛の応答パケットＰ２は、カーネル１３に渡る前に、遮断部１７によって遮断され破棄される（図１０の矢印Ａ４参照）。これにより、カーネル１３は応答パケットＰ２を受信しないので、リセット信号がカーネル１３からプロセス＃２へ返信されることがなく、ユニット間通信が確立されないまま終了するのを抑止することができる。
【００５７】
なお、送信元ポート番号は、ＯＳ１１Ａによって自動的に採番される。アプリケーションプログラムが自身で送信元ポート番号を指定することも可能であるが、例外的である。ループバックアドレスは、どのＯＳにも存在するため、ユニット＃１のＯＳが自動で割り当てた送信元ポート番号が、ユニット＃２のＯＳが自動で割り当てたポート番号と同じになることがある。しかし、本実施形態では、送信元ポート番号は、ＩＰアドレス毎に管理されるため、ループバックアドレスを各ユニット１１専用のアドレスとして割り振る（例えば127.1.0.2をユニット＃２のＯＳ専用とする）ことで、送信元ポート番号が同一になることが抑止される。
【００５８】
〔４〕本実施形態の効果
本実施形態によれば、情報処理装置１０内において、当該情報処理装置１０を構成するユニット１１間の内部ネットワーク１２に、外部ネットワーク２０の第１アドレス体系とは独立した第２アドレス体系を、ループバックアドレスを用いて構築することができる。これにより、外部ネットワーク２０に影響されない内部ネットワーク１２を構築することができる。
【００５９】
したがって、外部ネットワーク２０の設定が変化しても内部ネットワーク１２の設定を変更する必要がなくなる。また、外部ネットワーク２０の設定をどのようなものにしても内部ネットワーク１２を構築することが可能である。
【００６０】
また、内部ネットワーク１２用のアドレスを確保することができない場合であっても、本実施形態によれば、ループバックアドレスを用いて内部ネットワーク１２のアドレス体系を構築することができる。内部ネットワーク１２用のアドレスを確保できない場合は、例えば、プライベートアドレスを全部抑えられ且つグローバルネットワーク空間に接続されている場合である。
【００６１】
さらに、外部ネットワーク２０とつながるユニット１１−１がＮＡＰＴ機構１８を備えることで、情報処理装置１０内部の各ユニット１１は、外部ネットワーク２０に接続される外部機器（例えば端末４０）との通信を行なうことができる。
【００６２】
また、本実施形態では、ループバックアドレスを用いてユニット間通信を行なう際、ループバックデバイス１４を通過したパケットＰ１や応答パケットＰ２は、カーネル１３に渡る前に、遮断部１７によって遮断され破棄される。これにより、カーネル１３はパケットＰ１，Ｐ２を受信しないので、リセット信号がカーネル１３からパケットＰ１，Ｐ２の発行元であるプロセスへ返信されることがなく、ユニット間通信が確立されないまま終了するのを抑止することができる。
【００６３】
さらに、内部ネットワークインタフェース１２ａは、自ユニット宛のパケットを選択して送込み部１６に受け渡す一方、自ユニット宛のパケット以外のパケットを他ユニットに転送する機能を有している。この機能によって、例えば統合ストレージ装置のごとく複数のユニット１１がハイパバイザ上に構築される複数の仮想マシンである場合に、他ユニット１１に内部ネットアーク１２を介して直接接続されていないユニット１１間の通信を行うことが可能になる。
【００６４】
〔５〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【００６５】
上述した内部ネットワークインタフェース１２ａ，取得部１５，送込み部１６，遮断部１７，変換部１８および外部ネットワークインタフェース２０ａとしての機能の全部もしくは一部は、コンピュータ（ＭＰＵ（Micro-Processing Unit），ＣＰＵ，各種端末を含む）が所定のプログラムを実行することによって実現されてもよい。
【００６６】
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
【００６７】
〔６〕付記
（付記１）
外部ネットワークに接続可能な情報処理装置であって、
複数のユニットと、
前記複数のユニットのうちの少なくとも一のユニットに設けられ、前記外部ネットワークに接続される外部ネットワークインタフェースと、
前記複数のユニットのそれぞれに設けられ、前記外部ネットワークインタフェースに接続された外部ネットワークの第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワークに接続される内部ネットワークインタフェースと、を有し、
前記複数のユニットのそれぞれの前記内部ネットワークインタフェースは、前記第２アドレス体系を用いて前記複数のユニット間の通信を行なう、情報処理装置。
【００６８】
（付記２）
前記複数のユニットのそれぞれは、オペレーティングシステム（ＯＳ）を有するとともに、当該ＯＳ内のプロセス間通信を行なうループバックデバイスを有し、
前記ループバックデバイスによる前記プロセス間通信のアドレス体系が、前記第２アドレス体系として用いられる、付記１記載の情報処理装置。
【００６９】
（付記３）
前記内部ネットワークは、インターネットプロトコル（ＩＰ）通信でない汎用通信回線、もしくは、前記複数のユニット間の共有メモリによって構築される、付記２記載の情報処理装置。
【００７０】
（付記４）
前記複数のユニットのそれぞれは、送信元プロセスで生成され前記ループバックデバイスを通過するパケットを取得する取得部を有し、
前記内部ネットワークインタフェースは、前記取得部によって取得された前記パケットを、前記内部ネットワークに出力し、前記第２アドレス体系に従って送信先ユニットへ送信する、付記２または付記３に記載の情報処理装置。
【００７１】
（付記５）
前記複数のユニットのそれぞれは、前記ループバックデバイスを通過する前記パケットを、前記ループバックデバイスと前記ＯＳのカーネルとの間で遮断する遮断部を有する、付記４記載の情報処理装置。
【００７２】
（付記６）
前記内部ネットワークインタフェースは、他ユニットから自ユニット宛のパケットを前記第２アドレス体系に従って受信し、
前記複数のユニットのそれぞれは、前記内部ネットワークインタフェースによって受信された前記自ユニット宛のパケットを、前記ループバックデバイス経由で送信先プロセスへ送り込む送込み部を有する、付記５記載の情報処理装置。
【００７３】
（付記７）
前記複数のユニットのそれぞれにおいて、
前記取得部は、前記送信先プロセスで生成され前記ループバックデバイスを通過する、前記他ユニットの前記送信元プロセスへの応答パケットを取得し、
前記内部ネットワークインタフェースは、前記取得部によって取得された前記応答パケットを、前記内部ネットワークに出力し、前記第２アドレス体系に従って前記他ユニットの前記送信元ユニットへ送信する、付記６記載の情報処理装置。
【００７４】
（付記８）
前記複数のユニットのそれぞれにおいて、前記遮断部は、前記ループバックデバイスを通過する前記応答パケットを、前記ループバックデバイスと前記ＯＳのカーネルとの間で遮断する、付記７記載の情報処理装置。
【００７５】
（付記９）
前記内部ネットワークインタフェースは、前記自ユニット宛のパケットを選択して前記送込み部に受け渡す一方、前記自ユニット宛のパケット以外のパケットを他ユニットに転送する、付記６〜付記８のいずれか一項に記載の情報処理装置。
【００７６】
（付記１０）
前記外部ネットワークに接続された前記一のユニットは、
前記外部ネットワークの第１アドレス体系と前記内部ネットワークの第２アドレス体系との間のアドレス変換を行ない、前記端末と前記複数のユニットとの間の通信を行なう変換部を有する、付記１〜付記９のいずれか一項に記載の情報処理装置。
【００７７】
（付記１１）
前記複数のユニットは、それぞれ、ハイパバイザ上に構築される複数の仮想マシンである、付記１〜付記１０のいずれか一項に記載の情報処理装置。
【００７８】
（付記１２）
外部ネットワークと、
前記外部ネットワークに接続可能で、前記外部ネットワークを介して前記端末と通信可能に接続される情報処理装置と、を備え、
前記情報処理装置は、
前記複数のユニットのうちの少なくとも一のユニットに設けられ、前記外部ネットワークに接続される外部ネットワークインタフェースと、
前記複数のユニットのそれぞれに設けられ、前記外部ネットワークインタフェースに接続された外部ネットワークの第１アドレス体系とは独立した第２アドレス体系で構築された内部ネットワークに接続される内部ネットワークインタフェースと、を有し、
前記複数のユニットのそれぞれの前記内部ネットワークインタフェースは、前記第２アドレス体系を用いて前記複数のユニット間の通信を行なう、情報処理システム。
【００７９】
（付記１３）
前記複数のユニットのそれぞれは、オペレーティングシステム（ＯＳ）を有するとともに、当該ＯＳ内のプロセス間通信を行なうループバックデバイスを有し、
前記ループバックデバイスによる前記プロセス間通信のアドレス体系が、前記第２アドレス体系として用いられる、付記１２記載の情報処理システム。
【００８０】
（付記１４）
前記内部ネットワークは、インターネットプロトコル（ＩＰ）通信でない汎用通信回線、もしくは、前記複数のユニット間の共有メモリによって構築される、付記１３記載の情報処理システム。
【００８１】
（付記１５）
前記複数のユニットのそれぞれは、送信元プロセスで生成され前記ループバックデバイスを通過するパケットを取得する取得部を有し、
前記内部ネットワークインタフェースは、前記取得部によって取得された前記パケットを、前記内部ネットワークに出力し、前記第２アドレス体系に従って送信先ユニットへ送信する、付記１３または付記１４に記載の情報処理システム。
【００８２】
（付記１６）
前記複数のユニットのそれぞれは、前記ループバックデバイスを通過する前記パケットを、前記ループバックデバイスと前記ＯＳのカーネルとの間で遮断する遮断部を有する、付記１５記載の情報処理システム。
【００８３】
（付記１７）
前記内部ネットワークインタフェースは、他ユニットから自ユニット宛のパケットを前記第２アドレス体系に従って受信し、
前記複数のユニットのそれぞれは、前記内部ネットワークインタフェースによって受信された前記自ユニット宛のパケットを、前記ループバックデバイス経由で送信先プロセスへ送り込む送込み部を有する、付記１６記載の情報処理システム。
【００８４】
（付記１８）
前記複数のユニットのそれぞれにおいて、
前記取得部は、前記送信先プロセスで生成され前記ループバックデバイスを通過する、前記他ユニットの前記送信元プロセスへの応答パケットを取得し、
前記内部ネットワークインタフェースは、前記取得部によって取得された前記応答パケットを、前記内部ネットワークに出力し、前記第２アドレス体系に従って前記他ユニットの前記送信元ユニットへ送信する、付記１７記載の情報処理システム。
【００８５】
（付記１９）
複数のユニットと、前記複数のユニット間を通信可能に接続する内部ネットワークと、を有し、前記複数のユニットのうちの少なくとも一のユニットが外部ネットワークに接続される情報処理装置の前記複数のユニットのそれぞれにおけるオペレーティングシステム（ＯＳ）に、
前記外部ネットワークの第１アドレス体系とは独立した、前記内部ネットワークの第２アドレス体系を用いて前記複数のユニット間の通信を行なう、
処理を実行させる、プログラム。
【００８６】
（付記２０）
前記複数のユニットのそれぞれの前記ＯＳに備えられ当該ＯＳ内のプロセス間通信を行なうループバックデバイスによる前記プロセス間通信のアドレス体系が、前記第２アドレス体系として用いられる、付記１９記載のプログラム。
【符号の説明】
【００８７】
１    情報処理システム
１０    情報処理装置（サーバ装置，統合ストレージ装置）
１１，１１−１〜１１−５    ユニット
１１Ａ    ＯＳ
１１ａ    ＣＰＵ（処理部）
１１ｂ    メモリ（記憶部）
１２    内部ネットワーク（フレームリレー，汎用通信回線）
１２ａ    内部ネットワークインタフェース
１３    カーネル
１４    ループバックデバイス
１５    取得部（capture）
１６    送込み部（send）
１７    遮断部（firewall）
１８    変換部（ＮＡＰＴ機構）
２０    外部ネットワーク（イーサネット）
２０ａ    外部ネットワークインタフェース
３０    ゲートウェイ
４０    端末（外部ユニット）
【図１】
2015070522.tif 000003
【図２】
2015070522.tif 000004
【図３】
2015070522.tif 000005
【図４】
2015070522.tif 000006
【図５】
2015070522.tif 000007
【図６】
2015070522.tif 000008
【図７】
2015070522.tif 000009
【図８】
2015070522.tif 000010
【図９】
2015070522.tif 000011
【図１０】
2015070522.tif 000012
【図１１】
2015070522.tif 000013
【図１２】
2015070522.tif 000014
【図１３】
2015070522.tif 000015