(57)【特許請求の範囲】
【請求項１】
個々異なる識別情報を有する複数の仮想マシンが実行される情報処理装置及び回線収容装置を有する通信制御システムであって、
前記情報処理装置は、
前記複数の仮想マシンのいずれかから他の情報処理装置へ送信されるデータを第１プロトコルに対応するように処理する第１プロトコルデータ処理部と、
前記第１プロトコルデータ処理部により処理されたデータに、対応する仮想マシンの識別情報を付加し、且つ前記第１プロトコルと異なる第２プロトコルに対応するように処理する第２プロトコルデータ処理部と、
前記第２プロトコルデータ処理部により処理されたデータを、前記第２プロトコルを用いて前記回線収容装置に送信するデータ送信部とを備え、
前記回線収容装置は、
前記データ送信部から受信したデータから付加された前記対応する仮想マシンの識別情報を取得し、複数のネットワークカードのいずれかから前記識別情報に応じたネットワークカードを抽出し、受信したデータを前記第１プロトコルとも前記第２プロトコルとも異なる第３プロトコルに対応するように変換するデータ変換部と、
前記データ変換部により変換されたデータを、前記第３プロトコルを用いて、前記データ変換部により抽出された前記ネットワークカードを介して前記他の情報処理装置に送信する送信部と
を備えたことを特徴とする通信制御システム。
【請求項２】
前記第２プロトコルデータ処理部は、前記第１プロトコルデータ処理部により処理されたデータに、前記第３プロトコルを用いてデータを送信するための前記ネットワークカードの制御情報をさらに加え、
前記送信部は、前記データ送信部から送信されたデータに含まれる前記ネットワークカードの制御情報を用いて、前記データ変換部により特定された前記ネットワークカードを制御し、前記データ変換部により生成されたデータを前記他の情報処理装置に送信する
ことを特徴とする請求項１に記載の通信制御システム。 
【請求項３】
前記データ変換部は、前記データ送信部から送信されたデータを受信して前記第１プロトコルデータ処理部により処理された状態に戻すことを特徴とする請求項１又は請求項２に記載の通信制御システム。 
【請求項４】
前記第２プロトコルは、ＴＣＰ／ＩＰであり、前記第１プロトコルは、ＴＣＰ／ＩＰ以外のプロトコルであることを特徴とする請求項１〜３のいずれか一つに記載の通信制御システム。 
【請求項５】
各々異なる識別情報を有する複数の仮想マシンが実行される情報処理装置及び回線収容装置を有する通信制御システムの通信制御方法であって、
前記情報処理装置が、
前記複数の仮想マシンから他の情報処理装置へ送信されるデータを第１プロトコルに対応するようにデータを処理し、
前記第１プロトコルに対応したデータに、対応する仮想マシンの識別情報を付加し、且つ前記第１プロトコルと異なる第２プロトコルに対応するように処理し、
前記第２プロトコルに対応したデータを、前記第２プロトコルを用いて前記回線収容装置に送信し
前記回線収容装置が、
前記情報処理装置から受信したデータから付加された前記対応する仮想マシンの識別情報を取得し、
複数のネットワークカードのいずれかから前記識別情報に応じたネットワークカードを抽出し、
受信したデータを前記第１プロトコルとも前記第２プロトコルとも異なる第３プロトコルに対応するように変換し、
前記第３プロトコルに対応したデータを、前記第３プロトコルを用いて、抽出した前記ネットワークカードを介して前記他の情報処理装置に送信する
ことを特徴とする通信制御方法。 
【請求項６】
各々異なる識別情報を有する複数の仮想マシンが実行される情報処理装置及び回線収容装置を有する通信制御システムに通信制御を実行させる通信制御プログラムであって、
前記情報処理装置に、
前記複数の仮想マシンから他の情報処理装置へ送信されるデータを第１プロトコルに対応するようにデータを処理させ、
前記第１プロトコルに対応したデータに、対応する仮想マシンの識別情報を付加し、且つ前記第１プロトコルと異なる第２プロトコルに対応するように処理させ、
前記第２プロトコルに対応したデータを、前記第２プロトコルを用いて前記回線収容装置に送信させ
前記回線収容装置に、
前記情報処理装置から受信したデータから付加された前記対応する仮想マシンの識別情報を取得させ、
複数のネットワークカードのいずれかから前記識別情報に応じたネットワークカードを抽出させ、
受信したデータを前記第１プロトコルとも前記第２プロトコルとも異なる第３プロトコルに対応するように変換させ、
前記第３プロトコルに対応したデータを、前記第３プロトコルを用いて、抽出した前記ネットワークカードを介して前記他の情報処理装置に送信させる
ことを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御システム、通信制御方法及び通信制御プログラムに関する。
【背景技術】
【０００２】
企業の中には、ＨＤＬＣ（High-Level  Data  Link  Control）や独自プロトコルといったＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）以外のプロトコルを用いて通信を行うシステムを運用している企業がある。このようなシステムでは、ＷＡＮ（Wide  Area  Network）を介して通信を行う場合、ＴＣＰ／ＩＰ以外のプロトコルを用いたＷＡＮ回線を用いることになる。以下では、ＨＤＬＣや独自プロトコルなどのＴＣＰ／ＩＰ以外のプロトコルを用いたＷＡＮ回線を「レガシーなＷＡＮ回線」という場合がある。
【０００３】
従来、ＴＣＰ／ＩＰを用いた通信を行うコンピュータから、レガシーなＷＡＮ回線を用いた通信を行う場合には、そのコンピュータにレガシーなＷＡＮ回線を用いた通信を行うためのネットワークカードを搭載して通信を行っていた。以下では、レガシーなＷＡＮ回線を用いた通信を行うためのネットワークカードを「回線カード」という場合がある。このような通信では、ユーザデータにレガシーなＷＡＮ回線を用いた通信で使用するプロトコルにしたがって規定されたＷＡＮプロトコルヘッダを付加したデータを、回線カードを介して送受信する。
【０００４】
また、近年、クラウドサービスのような、利用者がＷＡＮを介して外部のシステムにアクセスし、アクセス先のシステムの資源を利用してサービスの提供を受ける運用形態が拡大している。このようなサービスでは、仮想マシンなどの様々な仮想化された資源を提供する場合が多い。
【０００５】
仮想マシンを用いる技術として、ＩＰアドレスは同じでＭＡＣアドレスが異なる複数の仮想マシンがある場合に、１つの仮想マシンが代表して外部とのデータの送受信を行い、他の仮想マシンとの間でデータの転送を行う従来技術がある。また、ＬＡＮとＷＡＮを繋ぐ技術として、ＰＰＰ通信用フレームでデータをカプセル化して家庭内のＬＡＮ(Local  Area  Network)端末と公衆網に接続された端末との間で通信を行う従来技術がある。さらに、仮想化システムの技術として、複数の仮想化システムが存在する場合に、最適な量のコンピュータリソースを利用者に提供する従来技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１１０２４０号公報
【特許文献２】特開２００４−２２２０５９号公報
【特許文献３】特開２０１０−２５０７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、レガシーなＷＡＮ回線を用いたシステムから、クラウドサービスのようなサービスを利用しようとした場合、次のような問題が発生する。回線カードは、レガシーなＷＡＮ回線を用いた通信のために独自に作られたハードウェアである。例えば、回線カードは、内部のメモリ及びレジスタに通信時の動作情報を保持している場合が多い。このような回線カードを用いた場合、回線カードを使用して通信を行っている仮想マシン以外は、回線カード内の情報を使用することが困難である。そのため、マイグレーションを行って仮想マシンの切り替えを実行しようとしても、マイグレーション先の仮想マシンは回線カード内の情報を使用することができず、通信ができなくなってしまう。すなわち、回線カードを用いた場合、仮想化技術の中のマイグレーション機能が使用できないことになる。このように、回線カードを用いた場合、一般的な仮想化技術に対応できない場合があり、回線カードを一般的な仮想化技術に組み込むことは困難である。このようなことから、レガシーなＷＡＮ回線を用いているシステムにおいて仮想化システムからのサービスを受けることは困難であった。
【０００８】
また、１台の仮想マシンが代表して外部とのデータの送受信を行う従来技術を用いても、回線カードを仮想化技術に組み込むことはできず、レガシーなＷＡＮ回線を用いたシステムと仮想化システムとを連携させることは困難である。また、家庭内のＬＡＮ端末と公衆網に接続された端末との間で通信を行う従来技術は、双方でＴＣＰ／ＩＰ通信を行うことが前提であり、レガシーなＷＡＮ回線を用いたシステムと仮想化システムとを連携させることは困難である。さらに、複数の仮想化システムから最適な量のコンピュータリソースを利用者に提供する従来技術を用いても、回線カードを仮想化技術に組み込むことは困難であり、レガシーなＷＡＮ回線を用いたシステムと仮想化システムとを連携させることは困難である。
【０００９】
１つの側面では、本発明は、レガシーなＷＡＮ回線を用いて通信を行うシステムと仮想化システムとを容易に連携させる通信制御システム、通信制御方法及び通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する通信制御システム、通信制御方法及び通信制御プログラムは、一つの態様において、個々異なる識別情報を有する複数の仮想マシンが実行される情報処理装置及び回線収容装置を有する。そして、前記情報処理装置は、前記複数の仮想マシンのいずれかから他の情報処理装置へ送信されるデータを第１プロトコルに対応するように処理する第１プロトコルデータ処理部と、前記第１プロトコルデータ処理部により処理されたデータに、対応する仮想マシンの識別情報を付加し、且つ前記第１プロトコルと異なる第２プロトコルに対応するように処理する第２プロトコルデータ処理部と、前記第２プロトコルデータ処理部により処理されたデータを、前記第２プロトコルを用いて前記回線収容装置に送信するデータ送信部とを備える。また、前記回線収容装置は、前記データ送信部から受信したデータから付加された前記対応する仮想マシンの識別情報を取得し、複数のネットワークカードのいずれかから前記識別情報に応じたネットワークカードを抽出し、受信したデータを前記第１プロトコルとも前記第２プロトコルとも異なる第３プロトコルに対応するように変換するデータ変換部と、前記データ変換部により変換されたデータを、前記第３プロトコルを用いて、前記データ変換部により抽出された前記ネットワークカードを介して前記他の情報処理装置に送信する送信部とを備える。
【発明の効果】
【００１１】
本願の開示する通信制御システム、通信制御方法及び通信制御プログラムの一つの態様によれば、レガシーなＷＡＮ回線を用いて通信を行うシステムと仮想化システムとを容易に連携させることができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る通信制御システムのハードウェア構成図である。
【図２】図２は、コンピュータ１のブロック図である。
【図３】図３は、回線収容装置２のブロック図である。
【図４】図４は、実施例１に係る通信制御システムの概略図である。
【図５Ａ】図５Ａは、回線アドレスと回線記述名との対応を表す図である。
【図５Ｂ】図５Ｂは、図５Ｂは、通信における環境定義の情報を表す図である。
【図６】図６は、ＷＡＮｏｎＴＣＰ／ＩＰドライバの詳細なブロック図である。
【図７】図７は、回線アドレスと回線カードとの対応を表す対応テーブルの図である。
【図８】図８は、回線収容装置の詳細なブロック図である。
【図９】図９は、送信時のユーザデータの遷移を表す図である。
【図１０】図１０は、実施例１に係る通信制御システムによるユーザデータの送信のフローチャートである。
【図１１】図１１は、ゲストドメインにおける運用前の準備から運用までのフローチャートである。
【図１２】図１２は、回線収容装置における運用前の準備から運用までのフローチャートである。
【図１３】図１３は、ゲストドメインと回線収容装置との接続のシーケンス図である。
【図１４】図１４は、ゲストドメインと回線収容装置との切断のシーケンス図である。
【図１５】図１５は、実施例２に係る通信制御システムの構成図である。
【図１６】図１６は、実施例３に係る通信制御システムの構成図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する通信制御システム、通信制御方法及び通信制御プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する通信制御システム、通信制御方法及び通信制御プログラムが限定されるものではない。
【実施例１】
【００１４】
図１は、実施例１に係る通信制御システムのハードウェア構成図である。本実施例に係る通信制御システムは、コンピュータ１、回線収容装置２及びコンピュータ３ａ〜３ｃを有する。そして、コンピュータ１と回線収容装置２は、ＴＣＰ／ＩＰを用いた通信を行う通信網４を介して接続されている。例えば、通信網４は、ＬＡＮなどである。また、回線収容装置２とコンピュータ３ａ〜３ｃとは、ＴＣＰ／ＩＰ以外のプロトコルを用いて通信を行う通信網５ａ〜５ｃを介して接続されている。通信網５ａ〜５ｃは、例えば、レガシーなＷＡＮ回線である。例えば、通信網５ａ〜５ｃには、専用回線、電話回線、回線交換網、パケット交換網、ＩＳＤＮ（Integrated  Services  Digital  Network）網、高速デジタル回線、フレームリレーなどの回線が使用される。また、通信網５ａ〜５ｃでは、通信を行うために、ＴＣＰ／ＩＰ以外のプロトコルを用いたデータの送受信を行うための通信カード（以下では、「回線カード」という。）が通信に用いられる。言い換えれば、回線カードは、レガシーなＷＡＮ回線を用いた通信特有のネットワークカードである。通信網５で用いられるプロトコルは、コンピュータ１とコンピュータ３ａ〜３ｃとの間で予め規定されたプロトコルである。このプロトコルは、例えば、ＨＤＬＣやコンピュータメーカー独自のプロトコルなどである。
【００１５】
コンピュータ１は、仮想化システムを有するコンピュータである。コンピュータ１は、メモリ１００１、ＤＩＳＫ１００２、ＣＰＵ（Central  Processing  Unit）１００３及びＴＣＰ／ＩＰ通信カード１００４を有している。このコンピュータ１が、「情報処理装置」の一例にあたる。
【００１６】
メモリ１００１、ＤＩＳＫ１００２及びＴＣＰ／ＩＰ通信カード１００４は、ＣＰＵ１００３とバスで接続されている。ＤＩＳＫ１００２は、以下に説明するようなコンピュータ１で実行される処理を実現する各種プログラムを記憶している。そして、ＣＰＵ１００３は、各種プログラムをＤＩＳＫ１００２から読み出し、メモリ１００１上にコンピュータ１における処理を実現する各種プロセスを展開し実行する。
【００１７】
ＴＣＰ／ＩＰ通信カード１００４は、ＴＣＰ／ＩＰのプロトコルを用いて、通信網４を介して回線収容装置２とデータの授受を行う。
【００１８】
また、回線収容装置２は、メモリ２００１、ＤＩＳＫ２００２、ＣＰＵ２００３、ＴＣＰ／ＩＰ通信カード２００４及び回線カード２３を有している。回線カード２３は、回線収容装置２に１枚以上搭載されている。
【００１９】
メモリ２００１、ＤＩＳＫ２００２、ＴＣＰ／ＩＰ通信カード２００４及び回線カード２３は、ＣＰＵ２００３とバスで接続されている。ＤＩＳＫ２００２は、以下に説明するような回線収容装置２で実行される処理を実現する各種プログラムを記憶している。そして、ＣＰＵ２００３は、各種プログラムをＤＩＳＫ２００２から読み出し、メモリ２００１上に回線収容装置２における処理を実現する各種プロセスを展開し実行する。
【００２０】
ＴＣＰ／ＩＰ通信カード２００４は、ＴＣＰ／ＩＰのプロトコルを用いて、通信網４を介してコンピュータ１との間でデータの授受を行う。
【００２１】
回線カード２３は、ＴＣＰ／ＩＰ以外のプロトコルを用いて、通信網５ａ〜５ｃを介してコンピュータ３ａ〜３ｃとの間でデータの授受を行う。ここで、図１では、通信網及びコンピュータを各３つ記載したが、それぞれの数に特に制限はない。
【００２２】
図２は、コンピュータ１のブロック図である。コンピュータ１は、アプリケーション制御部１０１、ＯＳ（Operating  System）制御部１０２を有する。
【００２３】
アプリケーション制御部１０１は、ＯＳ制御部１０２とのデータの送受信などを行いながら各種アプリケーションを実行する。
【００２４】
ＯＳ制御部１０２は、コンピュータ１に搭載された各種ハードウェアの動作やコンピュータ１のシステム全体の統括制御を行う。ＯＳ制御部１０２は、システム制御部１０３、カーネル・ドライバ制御部１０４及びメモリ制御部１０５を有する。
【００２５】
システム制御部１０３は、コンピュータ１のシステム全体を統括制御する。
【００２６】
カーネル・ドライバ制御部１０４は、システムのリソースを管理し、ハードウェアとソフトウェアとのコンポーネントのやりとりを管理する。また、カーネル・ドライバ制御部１０４は、後述するネットワークドライバなど各種ドライバの動作の制御を行う。
【００２７】
メモリ制御部１０５は、メモリへのデータの格納や読み出しなどの管理を行う。
【００２８】
図３は、回線収容装置２のブロック図である。回線収容装置２は、アプリケーション制御部２０１、ＯＳ制御部２０２を有する。
【００２９】
アプリケーション制御部２０１は、ＯＳ制御部２０２とのデータの送受信などを行いながら各種アプリケーションを実行する。
【００３０】
ＯＳ制御部２０２は、回線収容装置２に搭載された各種ハードウェアの動作や回線収容装置２のシステム全体の統括制御を行う。ＯＳ制御部２０２は、システム制御部２０３、カーネル・ドライバ制御部２０４及びメモリ制御部２０５を有する。
【００３１】
システム制御部２０３は、回線収容装置２のシステム全体を統括制御する。
【００３２】
カーネル・ドライバ制御部２０４は、システムのリソースを管理し、ハードウェアとソフトウェアとのコンポーネントのやりとりを管理する。また、カーネル・ドライバ制御部２０４は、後述するネットワークドライバなど各種ドライバの動作の制御を行う。
【００３３】
メモリ制御部２０５は、メモリへのデータの格納や読み出しなどの管理を行う。
【００３４】
次に、図４を参照して、本実施例に係る通信制御システムにおける詳細な構成及び動作を説明する。図４は、実施例１に係る通信制御システムの構成図である。
【００３５】
本実施例では、コンピュータ１には、仮想マシンである管理ドメイン１１及びゲストドメイン１２が設けられている。コンピュータ１は、コンピュータ３に対してサービスを提供するコンピュータである。例えば、コンピュータ１は、さまざまなアプリケーションの機能を提供するクラウドサービスを提供する。
【００３６】
管理ドメイン１１は、仮想マシン機能を管理するための仮想マシンである。管理ドメイン１１は、ＰＶ（Para-Virtualized  driver）ドライバ１１１とＬＡＮドライバ１１２を有する。
【００３７】
ＰＶドライバ１１１は、仮想マシン同士で通信を行うことを実現するための仮想的な内部通信用のドライバである。ＰＶドライバ１１１は、後述するＰＶドライバ１２６とデータの受け渡しを内部通信制御ドライバ１２７を介して行う。そして、ＰＶドライバ１１１は、ＰＶドライバ１２６から受信したデータ及び使用するＬＡＮカードの指定などを含む通信情報をＬＡＮドライバ１１２へ出力する。この通信情報については、後で詳細に説明する。
【００３８】
ＬＡＮドライバ１１２は、ＴＣＰ／ＩＰネットワークカードを動作させる。具体的には、ＬＡＮドライバ１１２は、ＴＣＰ／ＩＰネットワークカードを用いて通信網４を介して回線収容装置２のＴＣＰ／ＩＰネットワークカードとの間でＴＣＰ／ＩＰで通信を行うためのドライバである。ＬＡＮドライバ１１２は、データ及び通信情報をＰＶドライバ１１１から受信する。そして、ＬＡＮドライバ１１２は、データに付加された通信情報から使用するＴＣＰ／ＩＰネットワークカードなどを特定する。さらに、ＬＡＮドライバ１１２は、データに付加された回線収容装置２のＩＰアドレス及びポート番号を取得する。そして、ＬＡＮドライバ１１２は、特定したＴＣＰ／ＩＰネットワークカードを用いて、取得したＩＰアドレス及びポート番号に向けてデータを出力する。
【００３９】
ゲストドメイン１２は、アプリケーションなどを実行し、実際にサービスを提供する仮想マシンである。ゲストドメイン１２は、アプリケーション実行部１２１、ＷＡＮドライバ１２２、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３、ＴＣＰ／ＩＰドライバ１２４、ＬＡＮマルチプロトコル制御部１２５、ＰＶドライバ１２６及び内部通信制御ドライバ１２７を有する。
【００４０】
アプリケーション実行部１２１は、図２におけるアプリケーション制御部１０１の機能の一部を実現する。アプリケーション実行部１２１は、コンピュータ３を用いてコンピュータ１に接続してきた利用者が利用するアプリケーションを格納している。そして、アプリケーション実行部１２１は、格納しているアプリケーションを読み出し実行する。そして、アプリケーション実行部１２１は、アプリケーションが生成したユーザデータを取得する。ここで、ユーザデータはアプリケーション層におけるデータである。利用者は、アプリケーションを介してユーザデータを利用する。
【００４１】
また、アプリケーション実行部１２１は、アプリケーションからコンピュータ３との通信の指示を受けるときに、回線カード２３において使用する仮想のネットワークを指定するための回線記述名を取得する。また、アプリケーション実行部１２１は、使用する回線カード２３が回線収容装置２のどのスロットに入っているかを示す情報を取得する。例えば、全二重通信を用いる場合には、アプリケーション実行部１２１は、回線記述名として受信側の回線記述名及び送信側の回線記述名を取得する。
【００４２】
そして、アプリケーション実行部１２１は、ユーザデータと共に使用する回線記述名及び回線カード２３の回線収容装置２におけるスロット情報をネットワーク共通制御部１２８へ出力する。
【００４３】
また、アプリケーション実行部１２１は、コンピュータ３から送信されたデータをネットワーク共通制御部１２８から取得すると、アプリケーションを実行し取得したデータを処理する。
【００４４】
ネットワーク共通制御部１２８は、図２におけるカーネル・ドライバ制御部１０４の機能の一部を実現する。ネットワーク共通制御部１２８は、アプリケーションと各ドライバとの通信の仲介及び各ドライバ同士の通信の仲介を行う。例えば、ネットワーク共通制御部１２８は、アプリケーション実行部１２１から受信したユーザデータをＷＡＮドライバ１２２へ出力する。そして、ネットワーク共通制御部１２８は、ＷＡＮドライバ１２２から受信したユーザデータをＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ出力する。このように、実際には、各ドライバから他のドライバへのデータの受け渡しはネットワーク共通制御部１２８を介して行われる。ただし、説明の便宜上、以下の説明では、各ドライバ同士が直接データの送受信を行っているように、すなわち、図４の点線矢印で表されるようにデータの流れを説明する場合がある。また、ネットワーク共通制御部１２８は、後述するＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３によるデータやコマンドの受け渡しに用いるキューの制御管理を行う。
【００４５】
ＷＡＮドライバ１２２は、レガシーなＷＡＮ回線である通信網５を介してコンピュータ３と通信を行うドライバである。ＷＡＮドライバ１２２は、ネットワーク共通制御部１２８を介してアプリケーション実行部１２１から出力されたユーザデータを受信する。ＷＡＮドライバ１２２は、通信網５を経由して送受信できるプロトコル形式にユーザデータを変更する。さらに、ＷＡＮドライバ１２２は、回線カード２３へアクセスするための情報をユーザデータに付加する。回線カード２３へアクセスするための情報とは、例えば、回線カード２３の動作制御情報、コンピュータ１及びコンピュータ３の装置情報及びユーザデータのメモリ領域指定などである。そして、ＷＡＮドライバ１２２は、通信網５を経由して送受信できるプロトコル形式に変更し、且つ回線カード２３の動作制御情報を付加したユーザデータを、ネットワーク共通制御部１２８を介してＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ出力する。
【００４６】
また、ＷＡＮドライバ１２２は、コンピュータ３が送信したデータに付加されたレガシーなＷＡＮ回線を用いた通信のプロトコル情報を用いて、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３からコンピュータ３が送信したデータを受信する。そして、ＷＡＮドライバ１２２は、コンピュータ３が送信したデータをネットワーク共通制御部１２８を介してアプリケーション実行部１２１へ出力する。このＷＡＮドライバ１２２が、「第１プロトコルデータ処理部」の一例にあたる。
【００４７】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ＷＡＮドライバ１２２とＴＣＰ／ＩＰドライバ１２４を仲介するプログラムである。ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ネットワーク共通制御部１２８を介してＷＡＮドライバ１２２から、通信網５を経由して送受信できるプロトコル形式に変更したユーザデータを受信する。そして、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、アプリケーション実行部１２１に指定された回線記述名に対応する回線カード２３の情報を記憶部１２９から読み出す。
【００４８】
ここで、記憶部１２９が記憶する情報は、例えば、図５Ａに示す回線記述名に対応する回線アドレス及び図５Ｂに示す通信における環境定義の情報などである。図５Ａは、回線アドレスと回線記述名との対応を表す図である。図５Ｂは、通信における環境定義の情報を表す図である。記憶部１２９は、図５Ａに示すように、回線記述名と回線アドレスとを対応させて記憶している。また、記憶部１２９は、各回線記述名に対応させて、回線収容装置２のＩＰアドレス、回線収容装置２のポート番号、回線収容装置２における使用する回線カード２３のスロット情報を記憶している。具体的には、記憶部１２９は、これらの情報をファイルとして記憶している。これらの情報は、管理者などが通信環境に従い予め記憶部１２９に記憶させておく。
【００４９】
例えば、回線記述名が「ＬＩＮＥ４１０８」及び「ＬＩＮＥ４１０９」の場合のＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３による回線カード２３の情報の取得について説明する。この場合、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、記憶部１２９が記憶する図５Ａで示される情報を参照して、対応する回線アドレス４１０８及び４１０９を取得する。さらに、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、図５Ｂで示される情報を参照して、回線収容装置２のＩＰアドレスとして１０．１２．１３．５０を取得し、ポート番号として１０４００を取得する。また、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線カード２３のスロット情報として００：０３．０を取得する。さらに、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ゲストドメイン１２の識別名としてＨＯＳＴ０１を取得する。これにより、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、指定された回線カード２３のアドレスやどの回線収容装置２のどのスロットにあるかを把握する。ここで、本実施例では、ゲストドメイン１２内では回線記述名を用いて通信を行っているが、回線記述名を用いずに直接回線アドレスを用いて通信を行うことも可能である。
【００５０】
なお、実施例１において、図５Ａに示す回線記述名が「ＬＩＮＥ４１０８」及び「ＬＩＮＥ４１０９」に対応する２つの回線アドレスを用いて、１個のゲストドメイン１２に接続している。ゲストドメイン１２の使用可能数は、回線カード２３が有する回線アドレス数に依存する。例えば、回線カード２３が２つの回線アドレスを有し、回線アドレス２３の総数が４枚である場合、使用可能であるゲストドメイン１２の総数は４個である。
【００５１】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線収容装置２の回線ＧＷ制御部２１との間で規定したプロトコルの情報をユーザデータに付加する。ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３が付加するプロトコルの情報とは、例えば、回線カードの回線アドレスやゲストドメイン１２の識別名などを含むどの回線カードを通信に使用するかの情報やレガシーなＷＡＮ回線を用いた通信を行うサービスの起動情報などである。
【００５２】
そして、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線カード２３へアクセスするための情報を付加したユーザデータを、ネットワーク共通制御部１２８を介してＴＣＰ／ＩＰドライバ１２４へ出力する。さらに、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線収容装置２のＩＰアドレス及び回線収容装置２のポート番号をソケットによりＴＣＰ／ＩＰドライバ１２４へ送信する。
【００５３】
また、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、コンピュータ３が送信したデータに付加された回線ＧＷ制御部２１との間で規定したプロトコルの情報を用いて、ＴＣＰ／ＩＰドライバ１２４からコンピュータ３が送信したデータを受信する。そして、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、コンピュータ３が送信したデータをネットワーク共通制御部１２８を介してＷＡＮドライバ１２２へ出力する。
【００５４】
ここで、図６を参照して、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３の機能についてより詳細に説明する。図６は、ＷＡＮｏｎＴＣＰ／ＩＰドライバの詳細なブロック図である。
【００５５】
図６に示すように、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、イベント通知処理部１５１、ＩＯ（Input  Output）要求処理部１５２、回線収容装置接続処理部１５３、回線収容装置切断処理部１５４、非同期イベント受信部１５５、トレース処理部１５６及び環境定義取得部１５７を有している。
【００５６】
イベント通知処理部１５１は、キューを用いて、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３とＷＡＮドライバ１２２又はＴＣＰ／ＩＰドライバ１２４との間のデータや要求（コマンド）の受け渡しを行う。
【００５７】
環境定義取得部１５７は、記憶部１２９に記憶されている回線記述名と回線アドレスの対応及び環境定義の情報から指定された回線アドレスに対応する回線カード２３の情報を取得する。具体的には、環境定義取得部１５７は、回線カード２３の情報を取得しメモリ上に展開する。環境定義取得部１５７が取得した回線カード２３の情報は、後述するＩＯ要求処理部１５２、回線収容装置接続処理部１５３、回線収容装置切断処理部１５４及び非同期イベント処理部１５５によって参照され利用される。
【００５８】
ＩＯ要求処理部１５２は、ＷＡＮドライバ１２２から受信したＩＯ要求を、ＴＣＰ／ＩＰドライバ１２４経由で回線収容装置２へ送信する。また、ＩＯ要求処理部１５２は、回線制御データのプロトコルを用いたＩＯ要求をＴＣＰ／ＩＰへカプセル化するため、ＴＣＰ／ＩＰドライバ１２４へＩＯ要求を送信する。ＩＯ要求の送信データ長がＴＣＰ／ＩＰで定義されている送信用バッファ長を超える場合は、ＩＯ要求処理部１５２は、ＩＯ要求を送受信バッファ長に分割してＴＣＰ／ＩＰドライバ１２４へ送信する。このＩＯ要求処理部１５２により、回線カード２３の情報の取得及びユーザデータへのプロトコルの情報の付加が行われる。
【００５９】
回線収容装置接続処理部１５３は、ネットワークの接続処理を起動して、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３と回線収容装置２における回線ＧＷ制御部２１とのソケット通信を確立する。回線収容装置接続処理部１５３は、ＷＡＮドライバ１２２からの活性化要求を受信すると、回線収容装置２に対して接続要求を行う。ここで、活性化要求とは、ネットワークの接続処理の起動通知である。
【００６０】
回線収容装置切断処理部１５４は、以下の場合に、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３と回線収容装置２における回線ＧＷ制御部２１とのソケット通信を切断する。１つは、回線収容装置切断処理部１５４が、ＷＡＮドライバ１２２から非活性化要求の受信をした場合である。ここで、非活性化要求とは、ネットワーク接続の停止の通知である。もう１つは、回線収容装置切断処理部１５４が、ソケットＡＰＩ（Application  Program  Interface）によりネットワークダウンやプロトコルエラーの通知をＴＣＰ／ＩＰドライバ１２４から受信した場合である。さらにもう１つは、内部矛盾エラーがＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３内で発生した場合である。
【００６１】
非同期イベント受信部１５５は、回線収容装置２の回線ＧＷ制御部２１から送られた非同期のイベントを受信して処理する。
【００６２】
トレース処理部１５６は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３が行った処理の情報を採取しメモリに格納する内部トレース及びネットワークで発生した処理の情報を採取しメモリに格納するネットワーク共通トレースを行う。ネットワーク共通トレースは、ネットワークの保守などに用いられる。ネットワーク共通トレースの場合、トレース処理部１５６は、キューの送受信内容を採取するため、イベント通知処理部１５１にて送受信されたキューの情報を採取する。内部トレースは、障害発生時において実行された処理を追跡するために使用される。具体的には、内部トレースでは、トレース処理部１５６は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３の内部で発生したエラー及びＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３と他のドライバなどとの間の制御情報を記録する。
【００６３】
ＴＣＰ／ＩＰドライバ１２４は、通信網４を介して回線収容装置２との間でＴＣＰ／ＩＰを用いた通信を行うためのプログラムである。ＴＣＰ／ＩＰドライバ１２４は、ネットワーク共通制御部１２８を介してＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３から、ユーザデータ及びソケットを受信する。
【００６４】
ＴＣＰ／ＩＰドライバ１２４は、ソケット通信により受信した回線収容装置２のＩＰアドレス及びポート番号を用いて、ユーザデータをＴＣＰ／ＩＰを用いて通信網４を経由して送受信できる形式のデータに変更する。ここで、ＴＣＰ／ＩＰドライバ１２４は、通信網５を介して送受信するためのプロトコルの情報を含んだ状態で、ＴＣＰ／ＩＰで通信できる形式にユーザデータを変更する。そして、ＴＣＰ／ＩＰドライバ１２４は、ＴＣＰ／ＩＰで通信できる形式に変更したユーザデータを、ネットワーク共通制御部１２８を介してＬＡＮマルチプロトコル制御部１２５へ出力する。
【００６５】
また、ＴＣＰ／ＩＰドライバ１２４は、回線ＧＷ制御部２１によってコンピュータ３が送信したデータに付加されたＴＣＰ／ＩＰのプロトコルの情報を用いて、回線ＧＷ制御部２１が送信したコンピュータ３からのデータを受信する。そして、ＴＣＰ／ＩＰドライバ１２４は、コンピュータ３が送信したデータをネットワーク共通制御部１２８を介してＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ出力する。
【００６６】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３及びＴＣＰ／ＩＰドライバ１２４が、「第２プロトコルデータ処理部」の一例にあたる。
【００６７】
ＬＡＮマルチプロトコル制御部１２５は、ＴＣＰ／ＩＰドライバ１２４からユーザデータを受信する。そして、ＬＡＮマルチプロトコル制御部１２５は、例えば、コンピュータ１に搭載されたＬＡＮカードのいずれを使用するかなどの通信情報を指定する。そして、ＬＡＮマルチプロトコル制御部１２５は、通信情報と共にユーザデータをＰＶドライバ１２６へ出力する。
【００６８】
ＰＶドライバ１２６は、通信情報及びユーザデータをＬＡＮマルチプロトコル制御部１２５から受信する。そして、ＰＶドライバ１２６は、管理ドメイン１１のＰＶドライバ１１１に向けてユーザデータを送信する。
【００６９】
内部通信制御ドライバ１２７は、ＰＶドライバ１２６からユーザデータを受信する。そして、内部通信制御ドライバ１２７は、ＰＶドライバ１２６から受信したユーザデータを管理ドメイン１１のＰＶドライバ１１１へ送信する。また、内部通信制御ドライバ１２７は、ゲストドメイン１２におけるハードディスクなどＩ／Ｏから出力されたデータを、管理ドメイン１１における指定されたＩ／Ｏに送信するといった、通信の仲介も行う。
【００７０】
仮想化ソフトウェア１３は、コンピュータ１における仮想化システムを統括管理するソフトウェアである。例えば、仮想化ソフトウェア１３は、内部通信制御ドライバ１２７からＰＶドライバ１１１へ向けて出力されたユーザデータを、ＰＶドライバ１１１へ転送する。
【００７１】
ＬＡＮマルチプロトコル制御部１２５、ＰＶドライバ１２６、内部通信制御部ドライバ１２７、ＰＶドライバ１１１及びＬＡＮドライバ１１２が、「データ送信部」の一例にあたる。
【００７２】
回線収容装置２は、回線ＧＷ（Gate  Way）制御部２１、回線カードドライバ２２、回線カード２３、記憶部２４及び統括制御部２５を有している。
【００７３】
記憶部２４は、ハードディスクなどを有する記憶装置である。記憶部２４は、回線ＧＷ制御部２１から受信した動作ログを格納する。また、記憶部２４は、回線カード２３の構成情報を格納している。この構成情報には、図７に示すような、回線アドレスと回線カードとの対応を表す対応テーブル２４０も含まれている。図７は、回線アドレスと回線カードとの対応を表す対応テーブルの図である。図７に示すように、対応テーブル２４０には、ゲストドメイン１２の識別名、回線アドレス及び回線収容装置２におけるスロット情報の組合せに対応する回線カードの物理的な位置を示すデバイスファイルが記載されている。そして、記憶部２４は、統括制御部２５からの指示を受けて、格納している回線カード２３の構成情報を初期化する。ここで、本実施例では、識別名を用いて回線アドレスと回線カードとの対応を管理しているが、これは他の情報を用いて管理することもできる。例えば、識別名の変わりにＩＰアドレスを用いて管理することもできる。また、記憶部２４は、回線ＧＷ制御部２１の起動時に回線ＧＷ制御部２１で実行されるサービスと回線カード２３とを関連付けるための動作環境定義ファイルを記憶している。動作環境定義ファイルについては後で詳細に説明する。
【００７４】
回線ＧＷ制御部２１は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３と、通信を行い、ＴＣＰ／ＩＰ化されたユーザデータを解析し、回線カードドライバ２２へ出力する。また、回線ＧＷ制御部２１は、回線カードドライバ２２から受信したデータをＴＣＰ／ＩＰ化してＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ送信する。また、回線ＧＷ制御部２１は、各回線カードに対応するデバイスファイルを回線カードドライバ２２から取得し、記憶部２４が記憶する図７に示す対応テーブル２４０に格納する。
【００７５】
具体的には、回線ＧＷ制御部２１は、ＬＡＮドライバ１１２が送信したＴＣＰ／ＩＰのプロトコルの形式のユーザデータを、通信網４を介して取得する。そして、回線ＧＷ制御部２１は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３によりユーザデータに付加されたどの回線カードを通信に使用するかの情報やレガシーなＷＡＮ回線を用いた通信を行うサービスの起動情報を取得する。ここで、どの回線カードを通信に使用するかの情報には、図７に示す対応テーブル２４０に記載された識別名、回線アドレス及びスロット情報などが含まれる。そして、回線ＧＷ制御部２１は、通信に使用する回線カード２３の構成情報を記憶部２４の回線カード構成情報２４２から取得する。また、回線ＧＷ制御部２１は、ＷＡＮ通信サービスが起動されていることを確認する。その後、回線ＧＷ制御部２１は、ユーザデータを回線カードドライバ２２へ送信するとともに、回線カード２３を利用してコンピュータ１からコンピュータ３に向けてユーザデータを送信する指示を回線カードドライバ２２へ通知する。
【００７６】
また、回線ＧＷ制御部２１は、統括制御部２５からの指示を受けて、動作ログを生成し、記憶部２４に生成したログを格納する。例えば、回線ＧＷ制御部２１は、動作ログとしてシステムログや保守ログを生成する。この回線ＧＷ制御部２１が、「データ変換部」の一例にあたる。
【００７７】
統括制御部２５は、回線収容装置２の全体的な動作を統括制御する。例えば、統括制御部２５は、回線ＧＷ制御部２１で実行されるサービスの起動及び停止の命令を回線ＧＷ制御部２１に通知する。統括制御部２５は、動作環境定義ファイルの記述に従い、回線ＧＷ制御部２１で実行されるサービスを起動させる。また、統括制御部２５は、操作者により状態情報の出力を指示された場合、ログの生成及び出力を回線ＧＷ制御部２１に通知する。また、統括制御部２５は、操作者により状態情報の出力の停止を指示された場合、ログの生成及び出力の停止を回線ＧＷ制御部２１に通知する。また、統括制御部２５は、操作者から回線カード２３の構成情報の初期化の指示を受けた場合、記憶部２４に格納されている回線カード２３の構成情報を削除する。
【００７８】
ここで、図８を参照して、回線収容装置２の機能についてさらに詳しく説明する。図８は、回線収容装置の詳細なブロック図である。
【００７９】
回線ＧＷ制御部２１は、図８に示すように、ログ生成部２１１、論理基盤管理部２１２、データ送信部２１３、データ受信部２１４及び回線カードアクセス制御部２１５を有している。また、記憶部２４は、ログ２４１、回線カード構成情報２４２及び動作環境定義ファイル２４３を格納している。
【００８０】
コンピュータ１のＬＡＮドライバ１１２によって送信されたユーザデータは、カーネル空間のソケットインタフェース２１６を介してデータ送信部２１３に入力される。
【００８１】
データ送信部２１３は、通信に使用する回線カード２３が入っているスロットの情報及び回線アドレスの情報を受信したユーザデータから取得する。そして、データ送信部２３１は、取得した通信に使用する回線カード２３が入っているスロットの情報及び回線アドレスの情報を論理基盤管理部２１２に送信し、対応する回線カード２３の情報を要求する。
【００８２】
そして、データ送信部２１３は、論理基盤管理部２１２から取得した回線カード２３の情報を回線カードアクセス制御部２１５へ通知する。さらに、データ送信部２１３は、回線カード２３の動作制御情報が付加されたユーザデータを回線カードアクセス制御部２１５へ出力する。
【００８３】
また、データ送信部２１３は、自己の動作情報をログ生成部２１１へ出力する。
【００８４】
データ受信部２１４は、回線カードアクセス制御部２１５からデータを受信する。そして、データ受信部２１４は、コンピュータ１と通信するためのＴＣＰ／ＩＰのプロトコルの情報を論理基盤管理部２１２から取得する。そして、データ受信部２１４は、受信したデータをＴＣＰ／ＩＰの形式に変換する。その後、データ受信部２１４は、ソケットインタフェース２１６を介して通信網４経由でコンピュータ１のＬＡＮドライバ１１２に送信する。
【００８５】
また、データ受信部２１４は、自己の動作情報をログ生成部２１１へ出力する。
【００８６】
論理基盤管理部２１２は、通信に使用する回線カード２３が入っているスロット及び回線アドレスの組合せに対応する回線カード２３を記憶している。また、論理基盤管理部２１２は、コンピュータ１と通信するためのＴＣＰ／ＩＰのプロトコルの情報を記憶している。
【００８７】
論理基盤管理部２１２は、通信に使用する回線カード２３が入っているスロットの情報及び回線アドレスの情報をデータ送信部２１３から取得すると、対応する回線カード２３を特定する。そして、論理基盤管理部２１２は、特定した回線カード２３の構成情報を記憶部２４が格納している回線カード構成情報２４２に含まれる回線アドレスと回線カードとの対応を表す対応テーブル２４０（図７参照）から取得する。その後、論理基盤管理部２１２は、取得した回線カード２３の構成情報をデータ送信部２１３へ出力する。
【００８８】
また、論理基盤管理部２１２は、コンピュータ１へ送るデータの受信の通知をデータ受信部２１４から受けると、コンピュータ１と通信するためのＴＣＰ／ＩＰのプロトコルの情報をデータ受信部２１４へ送信する。
【００８９】
また、論理基盤管理部２１２は、自己の動作情報をログ生成部２１１へ出力する。
【００９０】
回線カードアクセス制御部２１５は、ユーザデータの入力をデータ送信部２１３から受ける。さらに、回線カードアクセス制御部２１５は、通信に使用する回線カード２３の情報をデータ送信部２１３から受信する。回線カードアクセス制御部２１５は、受信したユーザデータに付加されている回線カード２３の動作制御情報を取得する。そして、回線カードアクセス制御部２１５は、指定された回線カード２３を用いて、回線カード２３の動作制御情報に従い、コンピュータ３へユーザデータを送信するように、レガシーＷＡＮ通信アクセス用インタフェース２１７を介して回線カードドライバ２２に指示する。レガシーＷＡＮ通信アクセス用インタフェース２１７は、カーネル空間へのインタフェースである。
【００９１】
また、回線カードアクセス制御部２１５は、コンピュータ３から送られてきたデータを回線カードドライバ２２からレガシーＷＡＮ通信アクセス用インタフェース２１７を介して受信する。そして、回線カードアクセス制御部２１５は、受信したデータをデータ受信部２１４へ出力する。
【００９２】
また、回線カードアクセス制御部２１５は、自己の動作情報をログ生成部２１１へ出力する。
【００９３】
ログ生成部２１１は、論理基盤管理部２１２、データ送信部２１３、データ受信部２１４及び回線カードアクセス制御部２１５のそれぞれから、それぞれの動作情報を取得する。そして、ログ生成部２１１は、状態出力の指示を統括制御部２５から受けている場合、受信した動作情報を用いてログを生成する。その後、ログ生成部２１１は、ログ２４１を記憶部２４に格納する。
【００９４】
回線カードドライバ２２は、ユーザデータを回線ＧＷ制御部２１から受信する。さらに、回線カードドライバ２２は、コンピュータ１からコンピュータ３に向けてユーザデータを送信する指示を回線ＧＷ制御部２１から受信する。そして、回線カードドライバ２２は、通信網５で用いる通信プロトコルにおけるコンピュータ３のアドレスを取得する。そして、回線カードドライバ２２は、ユーザデータに付加している回線カード２３の動作制御情報を用いて回線カードを制御することで、コンピュータ３にユーザデータを送信する。この回線カードドライバ２２が、「送信部」の一例にあたる。
【００９５】
コンピュータ３は、通信網５における通信プロトコルを用いて回線カードドライバ２２が送信したユーザデータを、通信網５を介して受信する。その後、コンピュータ３は、受信したユーザデータを処理する。
【００９６】
次に、図９を参照して、ユーザデータ送信時のユーザデータの遷移について説明する。図９は、送信時のユーザデータの遷移を表す図である。ここで、実際には、内部通信制御ドライバ１２７から出力されたデータは管理ドメイン１１を経由して回線収容装置２に送られるが、図９では説明の都合上、管理ドメイン１１は省略して記載している。図９における点線矢印は、点線矢印の先にあるデータがどこで生成されたかを表している。また、データ側から機能部へ向かう点線矢印は、点線矢印の先にある機能部においてそのデータが用いられることを示している。また、データ側から通信網へ向かう点線矢印は、点線矢印の先にある通信網における通信においてそのデータが用いられることを示している。
【００９７】
アプリケーション実行部１２１は、ユーザデータ３０１を生成する。ユーザデータ３０１は、アプリケーション実行部１２１がアプリケーションを実行することで生成されるアプリケーション層のデータである。
【００９８】
次に、アプリケーション実行部１２１で生成されたユーザデータ３０１は、ＷＡＮドライバ１２２へ送られる。そして、ＷＡＮドライバ１２２は、ユーザデータ３０１にＷＡＮプロトコルヘッダ３０２及び回線カードアクセスＩＦ（Inter Face）３０３を付加する。
【００９９】
ＷＡＮプロトコルヘッダ３０２は、コンピュータ１のネットワーク共通制御部１２８とコンピュータ３との間の通信において利用する制御情報である。ＷＡＮプロトコルヘッダ３０２は、コンピュータ１とコンピュータ３との間で規定された通信制御情報であり、例えば、ＨＤＬＣなどである。言いかえれば、ＷＡＮプロトコルヘッダ３０２には、通信網５を介してコンピュータ３にデータを送るための情報が記載されている。
【０１００】
また、回線カードアクセスＩＦ３０３は、回線カード２３へアクセスするためのインタフェースの情報である。回線カードアクセスＩＦ３０３は、例えば、コンピュータ１及びコンピュータ３の装置情報、ユーザデータのメモリ領域指定及び回線カード２３の動作制御情報などが含まれている。
【０１０１】
次に、ＷＡＮプロトコルヘッダ３０２及び回線カードアクセスＩＦ３０３が付加されたユーザデータ３０１は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ送られる。そして、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ユーザデータ３０１に回線仮想化ＩＦ３０４を付加する。
【０１０２】
回線仮想化ＩＦ３０４は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３と回線ＧＷ制御部２１との間で規定したプロトコルである。具体的には、回線仮想化ＩＦ３０４には、通信に使用する回線カード２３の情報やレガシーなＷＡＮ回線を用いた通信を行うサービスの起動情報が含まれている。
【０１０３】
次に、回線仮想化ＩＦ３０４が付加されたユーザデータ３０１は、ＴＣＰ／ＩＰドライバ１２４へ送られる。そして、ＴＣＰ／ＩＰドライバ１２４は、ソケット通信により受信した回線収容装置２のＩＰアドレス及びポート番号を用いて、ユーザデータ３０１にＴＣＰ／ＩＰヘッダ３０５を付加する。これにより、ユーザデータ３０１は、ＴＣＰ／ＩＰを用いて通信網４を経由して送受信できる形式になる。
【０１０４】
次に、ＴＣＰ／ＩＰヘッダ３０５が付加されたユーザデータ３０１は、ＬＡＮマルチプロトコル制御部１２５、ＰＶドライバ１２６及び内部通信制御ドライバ１２７を介して、通信網４経由で回線ＧＷ制御部２１へ送られる。このとき、ユーザデータ３０１は、ＴＣＰ／ＩＰヘッダ３０５に格納されているアドレスやポート番号の情報を使用して、回線ＧＷ制御部２１へ送られる。
【０１０５】
回線ＧＷ制御部２１は、回線仮想化ＩＦ３０４に格納されているレガシーなＷＡＮ回線を用いた通信を行うサービスの起動情報を参照して、サービスの起動が開始されていることを確認する。さらに、回線ＧＷ制御部２１は、回線仮想化ＩＦ３０４に格納されている通信に使用する回線カード２３の情報を用いて、通信に使用する回線カード２３の構成情報を記憶部２４から取得する。
【０１０６】
次に、ＷＡＮプロトコルヘッダ３０２及び回線カードアクセスＩＦ３０３が付加されたユーザデータ３０１は、回線カード２３の構成情報と共に回線カードドライバ２２へ送られる。そして、回線カードドライバ２２は、回線カードアクセスＩＦ３０３に格納されている回線カード２３へアクセスするための情報を用いて、指定された回線カード２３を動作させ、通信網５を介してコンピュータ３へユーザデータ３０１を送信する。このとき、ユーザデータ３０１は、ＷＡＮプロトコルヘッダ３０３に格納されているレガシーなＷＡＮ回線での通信に用いられるプロトコルの情報を使用して、コンピュータ３へ送られる。
【０１０７】
次に、図１０を参照して、本実施例に係る通信制御システムによるユーザデータの送信について説明する。図１０は、実施例１に係る通信制御システムによるユーザデータの送信のフローチャートである。
【０１０８】
アプリケーション実行部１２１は、レガシーなＷＡＮ回線を用いて通信を行うアプリケーションを実行し、レガシーなＷＡＮ回線を介してコンピュータ３に送信するユーザデータを生成する（ステップＳ１）。
【０１０９】
ＷＡＮドライバ１２２は、レガシーなＷＡＮ回線を介してコンピュータ３に送信するユーザデータをアプリケーション実行部１２１から受信する。そして、ＷＡＮドライバ１２２は、ユーザデータにコンピュータ１のネットワーク共通制御部１２８とコンピュータ３との間の通信において利用する制御情報であるＷＡＮプロトコルヘッダを付加する。さらに、ＷＡＮドライバ１２２は、ＷＡＮプロトコルヘッダが付加されたユーザデータに回線カード２３へアクセスするためのインタフェースの情報である回線カードアクセスＩＦを付加する（ステップＳ２）。
【０１１０】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ＷＡＮプロトコルヘッダ及び回線カードアクセスＩＦが付加されたユーザデータをＷＡＮドライバ１２２から受信する。そして、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ユーザデータにＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３と回線ＧＷ制御部２１との間で規定したプロトコルの情報である回線仮想化ＩＦを付加する（ステップＳ３）。また、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線収容装置２のＩＰアドレス及びポート番号をソケット通信を用いてＴＣＰ／ＩＰドライバ１２４へ通知する(ステップＳ４)。
【０１１１】
ＴＣＰ／ＩＰドライバ１２４は、回線仮想化ＩＦが付加されたユーザデータをＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３から受信する。そして、ＴＣＰ／ＩＰドライバ１２４は、ソケット通信により受信した回線収容装置２のＩＰアドレス及びポート番号を用いて、ユーザデータにＴＣＰ／ＩＰヘッダを付加する（ステップＳ５）。
【０１１２】
ＬＡＮドライバ１１２は、ＴＣＰ／ＩＰドライバ１２４によりＴＣＰ／ＩＰヘッダが付加されたユーザデータをＬＡＮマルチプロトコル制御部１２５、ＰＶドライバ１２６、内部通信制御ドライバ１２７及びＰＶドライバ１１１を介して受信する。そして、ＬＡＮドライバ１１２は、ＴＣＰ／ＩＰヘッダに含まれる情報を用いて、ＴＣＰ／ＩＰで通信網４を介して回線収容装置２に向けてユーザデータを送信する（ステップＳ６）。
【０１１３】
回線ＧＷ制御部２１は、ＴＣＰ／ＩＰで通信網４を介して送信されてきたユーザデータを受信する。そして、回線ＧＷ制御部２１は、ユーザデータに付加された回線仮想化ＩＦからサービスの起動の情報や回線カードの情報を取得する（ステップＳ７）。回線ＧＷ制御部２１は、レガシーなＷＡＮ回線を使用するサービスが起動していることを確認した後、回線カードの情報と共にユーザデータを回線カードドライバ２２へ送信する。
【０１１４】
回線カードドライバ２２は、ユーザデータを回線ＧＷ制御部２１から受信する。そして、回線カードドライバ２２は、ユーザデータに付加された回線カードアクセスＩＦの情報に従い回線カード２３にアクセスし動作を制御する（ステップＳ８）。
【０１１５】
そして、回線カードドライバ２２は、回線カード２３を制御し、ＷＡＮプロトコルヘッダに含まれる情報を用いてユーザデータをレガシーなＷＡＮ回線である通信網５経由でコンピュータ３へ送信する（ステップＳ９）。
【０１１６】
次に、図１１を参照して、ゲストドメイン１２における運用前の準備から運用までの流れを説明する。図１１は、ゲストドメインにおける運用前の準備から運用までのフローチャートである。
【０１１７】
操作者は、ゲストドメイン１２の環境設定を行う（ステップＳ１０１）。例えば、環境設定には、仮想デバイスの定義やネットワーク記述の定義などが含まれる。仮想デバイスの定義とは、例えば、通信に使用する回線カード２３の情報、通信に使用する回線カード２３が挿入されているスロットの情報及び回線収容装置２のＩＰアドレスやポート番号などである。また、ネットワーク記述とは、通信に使用する回線カード２３の名前や回線カード２３に対応する回線アドレスなどの情報である。また、環境設定として、ネットワークを使用するための通信網４や通信網５に対応するＬＡＮやＷＡＮに関する通信パラメタの設定が含まれる。通信パラメタとしては、具体的には、コンピュータ１の情報や、コンピュータ３の情報及び通信時に使用するタイマ値などが含まれる。
【０１１８】
次に、操作者は、ゲストドメイン１２のシステムを起動させる（ステップＳ１０２）。その後、ゲストドメイン１２は、管理ドメイン１１との間の仮想のネットワーク及びコンピュータ１と回線収容装置２とを接続するネットワークを起動する（ステップＳ１０３）。このとき、ゲストドメイン１２は、環境設定に含まれるＬＡＮやＷＡＮに関する通信パラメタの設定を指定して起動する。
【０１１９】
そして、ゲストドメイン１２は、システムの運用を行う（ステップＳ１０４）。システムの運用とは、例えば、回線収容装置２を介したコンピュータ３とのデータの送受信を含むアプリケーションの実行などである。
【０１２０】
そして、運用変更が必要になった場合、ゲストドメイン１２は、管理ドメイン１１との間の仮想のネットワーク及びコンピュータ１と回線収容装置２とを接続するネットワークを停止する（ステップＳ１０５）。
【０１２１】
次に、操作者は、運用変更の内容に合わせて、仮想デバイスの定義やネットワーク記述を変更し環境設定を再度行う（ステップＳ１０６）。
【０１２２】
次に、操作者は、ゲストドメイン１２のシステムを起動させる（ステップＳ１０７）。その後、ゲストドメイン１２は、管理ドメイン１１との間の仮想のネットワーク及びコンピュータ１と回線収容装置２とを接続するネットワークを起動する（ステップＳ１０８）。その後、ゲストドメイン１２は、システムの運用を再開する（ステップＳ１０９）。
【０１２３】
次に、図１２を参照して、回線収容装置２における運用前の準備から運用までの流れを説明する。図１２は、回線収容装置における運用前の準備から運用までのフローチャートである。
【０１２４】
操作者は、回線収容装置２の環境定義ファイルを作成して環境設定を行う（ステップＳ２０１）。この環境設定には、例えば、回線収容装置２において通信に用いるポート番号やログのサイズなどといった回線収容装置２全体の設定が含まれる。また、環境設定には、それぞれの回線カード２３が搭載されているスロット番号などの個々の回線カード共通の設定が含まれ、さらに各回線カードに対応する回線アドレスなどの仮想システムとしての情報が含まれる。回線収容装置２では、仮想システムとしての情報がない場合、個々の回線カード共通の情報が有効になり、さらに、個々の回線カード共通の情報がない場合、回線収容装置２全体の設定が有効になる。
【０１２５】
次に、操作者は、回線収容装置２を起動する（ステップＳ２０２）。
【０１２６】
その後、回線収容装置２は、システムの運用を行う（ステップＳ２０３）。ここでのシステムの運用とは、例えば、コンピュータ１とコンピュータ３との間のデータの送受信の中継などである。このとき、回線ＧＷ制御部２１の状態出力が操作者により指示された場合、回線収容装置２は、回線ＧＷ制御部２１のログを作成し出力する（ステップＳ２０４）。
【０１２７】
そして、運用変更が必要になった場合、回線収容装置２は、回線ＧＷ制御部２１の動作を停止する（ステップＳ２０５）。
【０１２８】
次に、操作者は、回線カード２３の変更などの環境変更を行い（ステップＳ２０６）。このとき、回線収容装置２は、ＯＳの再起動を行う場合もある。
【０１２９】
次に、操作者は、環境定義ファイルの修正を行い、環境設定を再度行う(ステップＳ２０７)。
【０１３０】
次に、回線カード２３の構成を変更した場合、回線収容装置２は、回線カード構成情報を初期化する（ステップＳ２０８）。
【０１３１】
次に、回線収容装置２は、回線ＧＷ制御部２１の起動又はＯＳの再起動を行う（ステップＳ２０９）。このとき、回線ＧＷ制御部２１の状態出力が操作者により指示された場合、回線収容装置２は、回線ＧＷ制御部２１のログを作成し出力する（ステップＳ２１０）。その後、回線収容装置２は、システムの運用を再開する（ステップＳ２１１）。
【０１３２】
次に、図１３を参照して、ゲストドメイン１２と回線収容装置２との接続について説明する。図１３は、ゲストドメインと回線収容装置との接続のシーケンス図である。
【０１３３】
ネットワーク共通制御部１２８は、ネットワークの起動要求をＴＣＰ／ＩＰドライバ１２４に送信する（ステップＳ３０１）。
【０１３４】
ＴＣＰ／ＩＰドライバ１２４は、ネットワーク起動を実行する旨をＷＡＮドライバ１２２に通知する（ステップＳ３０２）。
【０１３５】
ＷＡＮドライバ１２２は、ネットワーク起動を実行する旨をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ通知する（ステップＳ３０３）。
【０１３６】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ソケット生成要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３０４）。
【０１３７】
ＴＣＰ／ＩＰドライバ１２４は、ソケットを生成する（ステップＳ３０５）。そして、ＴＣＰ／ＩＰドライバ１２４は、ソケット生成完了の応答をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ送信する（ステップＳ３０６）。
【０１３８】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、接続要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３０７）。
【０１３９】
ＴＣＰ／ＩＰドライバ１２４は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３との間にソケット通信の接続を確立する（ステップＳ３０８）。そして、ＴＣＰ／ＩＰドライバ１２４は、ソケット通信の確立完了をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ応答する（ステップＳ３０９）。
【０１４０】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、該当ＳＩＤ（Socket  IDentifier）のイベント通知要求を発行済みであるか否かを判定する（ステップＳ３１０）。ＳＩＤは、ソケット通信におけるソケット識別子である。発行済みである場合（ステップＳ３１０：肯定）、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ステップＳ３１７へ進む。
【０１４１】
一方、発行済みでない場合（ステップＳ３１０：否定）、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、エラー通知用のイベント通知要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３１１）。ＴＣＰ／ＩＰドライバ１２４は、エラー用のイベント通知要求を受信する。そして、エラーが発生した場合、ＴＣＰ／ＩＰドライバ１２４は、エラーイベントの情報を生成する（ステップＳ３１２）。そして、ＴＣＰ／ＩＰドライバ１２４は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３への応答としてエラーイベントの情報をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３に通知する（ステップＳ３１３）。
【０１４２】
また、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、正常受信データ通知用のイベント通知要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３１４）。ＴＣＰ／ＩＰドライバ１２４は、正常受信データ通知用のイベント通知要求を受信する。そして、正常にデータを受信した場合、ＴＣＰ／ＩＰドライバ１２４は、正常のイベントの情報を生成する（ステップＳ３１５）。そして、ＴＣＰ／ＩＰドライバ１２４は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３への応答として正常のイベントの情報をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３に通知する（ステップＳ３１６）。
【０１４３】
次に、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、開始要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３１７）。これを受けて、ＴＣＰ／ＩＰドライバ１２４は、回線ＧＷ制御部２１へ回線要求通知を送信する（ステップＳ３１８）。ＴＣＰ／ＩＰドライバ１２４は、回線ＧＷ制御部２１への回線要求通知の送信完了をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ応答する（ステップＳ３１９）。これを受けて、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線ＧＷ制御部２１への回線要求通知の送信完了をＷＡＮドライバ１２２へ応答する（ステップＳ３２０）。
【０１４４】
次に、ＷＡＮドライバ１２２は、回線収容装置２との接続を確立する活性化要求であるＡＣＴＬＩＮＫ要求をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ送信する（ステップＳ３２１）。
【０１４５】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ＡＣＴＬＩＮＫ要求を受信したか否かを判定する（ステップＳ３２２）。ここで、本実施例では、回線の活性化のことを「ＡＣＴＬＩＮＫ」と呼ぶ。ＡＣＴＬＩＮＫ要求を受信しなければ（ステップＳ３２２：否定）、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、接続処理を終了する。
【０１４６】
これに対して、ＡＣＴＬＩＮＫ要求を受信した場合（ステップＳ３２２：肯定）、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、回線収容装置２との接続の確立を指示する通知であるＡＣＴＬＩＮＫ通知をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３２３）。これを受けて、ＴＣＰ／ＩＰドライバ１２４は、ＡＣＴＬＩＮＫ通知を回線ＧＷ制御部２１へ送信する（ステップＳ３２４）。その後、ＴＣＰ／ＩＰドライバ１２４は、回線ＧＷ制御部２１へのＡＣＴＬＩＮＫ通知の送信完了をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ応答する（ステップＳ３２５）。
【０１４７】
回線ＧＷ制御部２１は、ＡＣＴＬＩＮＫ通知を受信し、コンピュータ１とコンピュータ３との間で回線が確立したことをＴＣＰ／ＩＰドライバ１２４へ応答する(ステップＳ３２６)。この後、ＴＣＰ／ＩＰドライバ１２４にイベントが通知される。そして、ＴＣＰ／ＩＰドライバ１２４は、コンピュータ１とコンピュータ３との間で回線が確立したことをＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ応答する（ステップＳ３２７）。ステップＳ３２５からステップＳ３２７の間、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は待機している。
【０１４８】
ＴＣＰ／ＩＰドライバ１２４からの応答を受けて、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、正常受信データ通知用のイベント通知要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ３２８）。これを受けて、正常にデータを受信した場合、ＴＣＰ／ＩＰドライバ１２４は、正常のイベントの情報を生成する（ステップＳ３２９）。そして、ＴＣＰ／ＩＰドライバ１２４は、正常のイベントの情報の生成完了をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３に応答する（ステップＳ３３０）。
【０１４９】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ＷＡＮドライバ１２２への応答として正常のイベントの情報をＷＡＮドライバ１２２に通知する（ステップＳ３３１）。
【０１５０】
次に、図１４を参照して、ゲストドメイン１２と回線収容装置２との切断について説明する。図１４は、ゲストドメインと回線収容装置との切断のシーケンス図である。
【０１５１】
切断前には、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、ＴＣＰ／ＩＰドライバ１２４に対して、エラー通知用のイベント通知要求の送信（ステップＳ４０１）及び正常受信データ通知用のイベント通知要求の送信（ステップＳ４０２）を行っている。ソケット通信の確立後、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、エラー用及び正常受信データ通知用のイベント通知要求をＳＩＤ単位で常に発行する。
【０１５２】
切断処理を開始すると、ネットワーク共通制御部１２８は、ネットワークの停止をＴＣＰ／ＩＰドライバ１２４へ通知する(ステップＳ４０３)。
【０１５３】
ＴＣＰ／ＩＰドライバ１２４は、ネットワークの停止の通知をＷＡＮドライバ１２２へ送信する（ステップＳ４０４）。
【０１５４】
ＷＡＮドライバ１２２は、ネットワークの停止の通知をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ送信する（ステップＳ４０５）。これを受けて、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、切断開始をＷＡＮドライバ１２２へ応答する(ステップＳ４０６)。
【０１５５】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、接続のリトライ処理を中止する（ステップＳ４０７）。
【０１５６】
そして、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、切断要求をＴＣＰ／ＩＰドライバ１２４に送信する(ステップＳ４０８)。
【０１５７】
ＴＣＰ／ＩＰドライバ１２４は、ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３とのソケット通信を切断する（ステップＳ４０９）。そして、ＴＣＰ／ＩＰドライバ１２４は、ソケット通信の切断をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ応答する（ステップＳ４１０）。
【０１５８】
ＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３は、コマンドのキャンセル要求をＴＣＰ／ＩＰドライバ１２４へ送信する（ステップＳ４１１）。このコマンドは、例えばリードやライトのコマンドなどである。これを受けて、ＴＣＰ／ＩＰドライバ１２４は、回線ＧＷ制御部２１へのコマンドを取り下げる（ステップＳ４１２）。そして、ＴＣＰ／ＩＰドライバ１２４は、コマンドの取り下げの通知をＷＡＮｏｎＴＣＰ／ＩＰドライバ１２３へ応答する（ステップＳ４１３）。
【０１５９】
回線ＧＷ制御部２１は、キープアライブ機能を用いて接続を確認し、接続されているがコマンドが来ない場合にコンピュータ１とコンピュータ３とのソケット通信を切断する（ステップＳ４１４）。
【０１６０】
以上に説明したように、本実施例に係る通信制御システムでは、アプリケーションにおいてＴＣＰ／ＩＰ以外のプロトコルでの通信が要求された場合に、ＴＣＰ／ＩＰを用いて回線収容装置にユーザデータを送る。そして、回線収容装置は、搭載された回線カードを用いて、ユーザデータをＴＣＰ／ＩＰ以外のプロトコルで相手コンピュータに送信する。これにより、アプリケーションを実行するコンピュータには回線カードを搭載する必要がなくなる。そのため、レガシーなＷＡＮ通信を行うアプリケーションを実行するコンピュータを仮想化システムの中に容易に組み込むことができる。これにより、レガシーなＷＡＮ通信を行うシステムと仮想化システムとを容易に連携させることができる。
【０１６１】
また、仮想化システム側のコンピュータにはレガシーなＷＡＮ回線を用いた通信特有なネットワークカードである回線カードを搭載しないため、仮想化マシンのマイグレーション機能を利用することが可能となる。
【０１６２】
また、回線収容装置に回線カードを集約して搭載するため、１つの回線カードが複数の回線を有する場合に、１つの回線カードを用いて複数のコンピュータが同時に通信を行うことができる。これに対して、コンピュータに回線カードを搭載した場合には、他のコンピュータからは回線カードを使用することができないため、回線カードの回線が無駄になる場合がある。
【実施例２】
【０１６３】
図１５は、実施例２に係る通信制御システムの構成図である。本実施例では、通信制御システムの実際の構築例を説明する。
【０１６４】
データセンター４０１は、各種のコンピュータ資源やデータ通信などの装置をシステム４０２及びシステム４０３に対して提供する施設である。データセンター４０１は、仮想化システムを用いて各種アプリケーションの提供などを行い、クラウドサービスを提供するシステムを有している。また、システム４０２及びシステム４０３は、クラウドサービスの提供を受ける側のシステムである。そして、データセンター４０１とシステム４０２とは、ＴＣＰ／ＩＰを用いて通信を行う通信網４で接続されている。通信網４は、例えば、ＩＰ−ＶＰＮ（Virtual  Private  Network）である。また、データセンター４０１とシステム４０３とは、ＴＣＰ／ＩＰ以外のプロトコルを用いて通信を行うレガシーなＷＡＮ回線である通信網５で接続されている。
【０１６５】
データセンター４０１は、実施例１におけるコンピュータ１及び回線収容装置２、ＨＵＢ４１２、モデム４１３、ルータ４１４、ファイアウォール４１５、並びにＶＰＮ装置４１６を有している。
【０１６６】
コンピュータ１からコンピュータ３に向けて送信されたユーザデータは、ＨＵＢ４１２を介して、回線収容装置２に送信される。具体的には、コンピュータ１は、図９に示すＷＡＮプロトコルヘッダ３０２、回線カードアクセスＩＦ３０３、回線仮想化ＩＦ３０４及びＴＣＰ／ＩＰヘッダ３０５をユーザデータに付加して、ＨＵＢ４１２を介して回線収容装置２に出力する。回線収容装置２は、コンピュータ１が送信したユーザデータを受信すると、データに付加されたＷＡＮプロトコルヘッダ３０２、回線カードアクセスＩＦ３０３及び回線仮想化ＩＦ３０４を用いて、通信網５を介してコンピュータ３にユーザデータを送信する。
【０１６７】
また、コンピュータ３から送信されたデータは、通信網５を介してモデム４１３に入力される。そして、コンピュータ３から送信されたデータは回線収容装置２においてＴＣＰ／ＩＰヘッダが付加された後、ＴＣＰ／ＩＰを用いてＨＵＢ４１２を介してコンピュータ１に送信される。そして、コンピュータ１は、図９に示すＷＡＮプロトコルヘッダ３０２、回線カードアクセスＩＦ３０３、回線仮想化ＩＦ３０４を用いてアプリケーションにユーザデータを渡す。
【０１６８】
ＶＰＮ装置４１６は、通信網４と接続されている。コンピュータ１からコンピュータ４２４に向けて送信されたユーザデータは、ＨＵＢ４１２、ルータ４１４、ファイアウォール４１５及びＶＰＮ装置４１６を経由し、ＴＣＰ／ＩＰを用いて通信網４を介してＶＰＮ装置４１６へ入力される。コンピュータ４２４は、複数のコンピュータを有している場合で図示しているが、複数のコンピュータのうちの任意のコンピュータを例にコンピュータ４２４として説明する。コンピュータ４２４から送信されたデータは、ＴＣＰ／ＩＰを用いて通信網４を介してＶＰＮ装置４１６へ入力される。その後、コンピュータ４２４から送信されたデータは、ファイアウォール４１５、ルータ４１４及びＨＵＢ４１２を介してコンピュータ１に送信される。
【０１６９】
システム４０２は、コンピュータ４２４を有している。コンピュータ４２４は、ＨＵＢ４２３と接続されている。ＨＵＢ４２３は、ルータ４２２に接続されている。ルータ４２２は、ＶＰＮ装置４２１に接続されている。コンピュータ４２４は、ＨＵＢ４２３、ルータ４２２、ＶＰＮ装置４２１及び通信網４を介してデータセンター４０１との間でデータの送受信を行う。
【０１７０】
システム４０３は、実施例１におけるコンピュータ３を有している。ここで、図では１台のコンピュータのみを図示しているが、システム４０３でのコンピュータの数に特に制限はない。コンピュータ３は、回線収容装置２、モデム４１３及び通信網５を介してコンピュータ１が送信したユーザデータを受信する。また、コンピュータ３は、コンピュータ１に対するデータを、通信網５及びモデム４１３を介して回線収容装置２へ送信する。これにより、システム４０３では、ＴＣＰ／ＩＰ以外のプロトコルでコンピュータ１とデータの送受信を行うことができ、クラウドサービスを受けることができる。
【０１７１】
以上に説明したように、本実施例では、クラウドサービスを提供するコンピュータと、回線収容装置と、クラウドサービスを受けるコンピュータとを同じ場所に置くことができる。すなわち、クラウドサービスを提供するデータセンター内に回線収容装置を配置することができる。
【実施例３】
【０１７２】
図１５は、実施例３に係る通信制御システムの構成図である。本実施例では、通信制御システムの実際の構築例の他の例を説明する。
【０１７３】
データセンター５０１は、各種のコンピュータ資源やデータ通信などの装置をシステム５０２及びシステム５０３に対して提供する施設である。データセンター５０１は、仮想システムを用いて各種アプリケーションの提供などを行い、クラウドサービスを提供するシステムである。システム５０２は、データセンターにクラウドサービスの提供を委託した会社のシステムである。システム５０２においても、クラウドサービスの提供を受けることができる。システム５０３は、クラウドサービスの提供を受ける側のシステムである。そして、データセンター５０１とシステム５０２とは、ＴＣＰ／ＩＰを用いて通信を行う通信網４で接続されている。通信網４は、例えば、ＩＰ−ＶＰＮ（Internet  Protocol-Virtual  Private  Network）である。また、システム５０２とシステム５０３とは、ＴＣＰ／ＩＰ以外のプロトコルを用いて通信を行うレガシーなＷＡＮ回線である通信網５で接続されている。
【０１７４】
データセンター５０１は、実施例１におけるコンピュータ１、ＨＵＢ５１２、ルータ５１３、ファイアウォール５１４及びＶＰＮ装置５１５を有している。
【０１７５】
コンピュータ１は、図８に示すＷＡＮプロトコルヘッダ３０２、回線カードアクセスＩＦ３０３、回線仮想化ＩＦ３０４及びＴＣＰ／ＩＰヘッダ３０５をユーザデータに付加する。そして、コンピュータ１は、ＴＣＰ／ＩＰを用いて、ＨＵＢ５１２、ルータ５１３、ファイアウォール５１４及びＶＰＮ装置５１５を経由させ、通信網４を介してシステム５０２のＶＰＮ装置５２４にユーザデータを送信する。また、システム５０２から送信されたデータはＴＣＰ／ＩＰを用いて通信網４を経由した後、ＶＰＮ装置５１５、ファイアウォール５１４、ルータ５１３及びＨＵＢ５１２を介してコンピュータ１に送信される。
【０１７６】
システム５０２は、実施例１における回線収容装置２、コンピュータ５２１、ＨＵＢ５２２、ルータ５２３、ＶＰＮ装置５２４及びモデム５２５を有している。コンピュータ５２１は、ＨＵＢ５２２と接続されている。ＨＵＢ５２２は、ルータ５２３及び回線収容装置２に接続されている。ルータ５２３は、ＶＰＮ装置５２４に接続されている。また、回線収容装置２は、モデム５２５に接続されている。
【０１７７】
回線収容装置２は、ＴＣＰ／ＩＰを用いてコンピュータ１がコンピュータ３に向けて送信したユーザデータを受信する。そして、回線収容装置２は、受信したユーザデータに付加されたＷＡＮプロトコルヘッダ３０２、回線カードアクセスＩＦ３０３及び回線仮想化ＩＦ３０４を用いて回線カードを制御し、通信網５を介してコンピュータ３へユーザデータを送信する。また、回線収容装置２は、回線カードを介して、ＴＣＰ／ＩＰ以外のプロトコルを用いてコンピュータ３から送られてきたデータを受け取る。そして、回線収容装置２は、ＴＣＰ／ＩＰを用いて、通信網４を介してコンピュータ１にユーザデータを送信する。
【０１７８】
コンピュータ５２１は、ＨＵＢ５２２、ルータ５２３、ＶＰＮ装置５２４及び通信網４を介してデータセンター５０１との間でＴＣＰ／ＩＰを用いてデータの送受信を行う。
【０１７９】
システム５０３は、実施例１におけるコンピュータ３を有している。コンピュータ３は、コンピュータ１が送信したユーザデータをＴＣＰ／ＩＰ以外のプロトコルを用いて、回線収容装置２から受信する。また、コンピュータ３は、コンピュータ１に対するデータを通信網５及びモデム５２５を介して、回線収容装置２へ向けて送信する。これにより、システム５０３では、ＴＣＰ／ＩＰ以外のプロトコルを用いてコンピュータ１とデータの送受信を行うことができ、クラウドサービスを受けることができる。
【０１８０】
以上に説明したように、本実施例では、クラウドサービスを提供するコンピュータと、回線収容装置とを他の場所におくことができる。すなわち、クラウドサービスを提供するコンピュータと、回線収容装置と、クラウドサービスを受けるコンピュータとはそれぞれ別の会社が所有することもできる。これにより、クラウドサービスの提供をデータセンターに依頼した会社が、回線収容装置を所有することができる。
【符号の説明】
【０１８１】
１  コンピュータ
２  回線収容装置
３  コンピュータ
４  通信網（ＴＣＰ／ＩＰにより用いて通信を行うための通信網）
５  通信網（ＴＣＰ／ＩＰ以外のプロトコルを用いて通信を行うための通信網）
１１  管理ドメイン
１２  ゲストドメイン
２１  回線ＧＷ制御部
２２  回線カードドライバ
２３  回線カード
２４  記憶部
２５  統括制御部
１０１  アプリケーション制御部
１０２  ＯＳ制御部
１０３  システム制御部
１０４  カーネル・ドライバ制御部
１０５  メモリ制御部
１１１  ＰＶドライバ
１１２  ＬＡＮドライバ
１２１  アプリケーション実行部
１２２  ＷＡＮドライバ
１２３  ＷＡＮｏｎＴＣＰ／ＩＰドライバ
１２４  ＴＣＰ／ＩＰドライバ
１２５  ＬＡＮマルチプロトコル制御部
１２６  ＰＶドライバ
１２７  内部通信制御ドライバ
１２８  ネットワーク共通制御部
１５１  イベント通知処理部
１５２  ＩＯ要求処理部
１５３  回線収容装置接続処理部
１５４  回線収容装置切断処理部
１５５  非同期イベント受信部
１５６  トレース処理部
２０１  アプリケーション制御部
２０２  ＯＳ制御部
２０３  システム制御部
２０４  カーネル・ドライバ制御部
２０５  メモリ制御部
２１１  ログ生成部
２１２  論理基盤管理部
２１３  データ送信部
２１４  データ受信部
２１５  回線カードアクセス制御部
２１６  ソケットインタフェース
２１７  レガシーＷＡＮ通信アクセス用インタフェース
【図１】
0005870804.tif 000002
【図２】
0005870804.tif 000003
【図３】
0005870804.tif 000004
【図４】
0005870804.tif 000005
【図５Ａ】
0005870804.tif 000006
【図５Ｂ】
0005870804.tif 000007
【図６】
0005870804.tif 000008
【図７】
0005870804.tif 000009
【図８】
0005870804.tif 000010
【図９】
0005870804.tif 000011
【図１０】
0005870804.tif 000012
【図１１】
0005870804.tif 000013
【図１２】
0005870804.tif 000014
【図１３】
0005870804.tif 000015
【図１４】
0005870804.tif 000016
【図１５】
0005870804.tif 000017
【図１６】
0005870804.tif 000018