(58)【調査した分野】(Int.Cl.,DB名)
中継装置を介してクライアントによって操作される1乃至複数のクライアント端末と通信可能に配置された複数のサーバのうち、アクティブ系のサーバで不具合が発生したときに、スタンバイ系のサーバが、それぞれの前記クライアントの優先度を決定する優先度決定工程と、
前記スタンバイ系のサーバが、自サーバ内に、それぞれの前記クライアントに割り振られた仮想LANに対応する仮想ポートを作成する仮想ポート作成工程と、
前記スタンバイ系のサーバが、前記クライアントの優先度の高い順に、前記クライアント端末との間で行われる通信の宛先を前記仮想ポート宛に変更することを前記中継装置に指示する通信処理工程と、を含む
ことを特徴とするサーバ切替方法。
【背景技術】
【0002】
クライアントによって操作されるクライアント端末に対して各種のサービスを提供する通信システムは、高度な信頼性が求められるため、通常時に処理を行うサーバ(アクティブ系サーバ)に加え、アクティブ系サーバが処理を行うことができなくなったときに備えて、通常時に処理を行わずに待機しているサーバ(スタンバイ系サーバ)を備えることが一般的である。スタンバイ系サーバは、アクティブ系サーバの動作を監視し、アクティブ系サーバに不具合が生じて処理ができていないと判断された場合に、スタンバイ系からアクティブ系に自身の設定の切替を行う。
【0003】
このような通信システムに関連して、例えば、以下に説明する
図8A、
図8B、及び
図9に示す従来例の通信システム603がある。
図8A、
図8B、及び
図9に示す従来例の通信システム603は、以下に説明する仮想IPアドレス技術と仮想LAN(Virtual Local Area Network;VLAN)技術とを用いたシステムである。
【0004】
<仮想IPアドレス技術の概要>
以下、
図6A及び
図6Bを参照して、仮想IPアドレス技術の概要について説明する。
図6A及び
図6Bは、それぞれ、仮想IPアドレス技術を用いた通信システム601の構成及び動作を示す図である。
図6Aは、通常時における通信システム601の構成及び動作を示している。
図6Bは、アクティブ系サーバでの不具合発生時における通信システム601の構成及び動作を示している。
【0005】
通信システム601は、仮想IPアドレス技術(例えば、非特許文献1参照)を用いて、アクティブ系サーバとスタンバイ系サーバとの切替を行うシステムである。
【0006】
図6Aに示す例では、通信システム601は、2台のサーバ10(10a,10b)と、ルータ等の中継装置20と、を備えている。2台のサーバ10のうち、一方のサーバ10aは現アクティブ系サーバとして機能しており、また、他方のサーバ10bは現スタンバイ系サーバとして機能している。中継装置20は、通信回線を介して接続されたサーバ10とクライアント端末30との間で行われる通信を中継する。ここでは、アクティブ系サーバに対して仮想IPアドレス「10.10.1.1」が設定されるものとして説明する。
【0007】
図6Aに示す例では、現アクティブ系サーバ10aには、IPアドレス「10.10.1.2」と、仮想IPアドレス「10.10.1.1」と、が設定されている。現アクティブ系サーバ10aのネットワークインタフェースのMAC(Media Access Control)アドレスは、「aa−aa−aa−aa−aa−aa」である。
【0008】
一方、現スタンバイ系サーバ10bには、仮想IPアドレスが設定されておらず、IPアドレス「10.10.1.3」が設定されている。現スタンバイ系サーバ10bのネットワークインタフェースのMACアドレスは、「bb−bb−bb−bb−bb−bb」である。
【0009】
また、中継装置20は、図示せぬ記憶部にARP(Address Resolution Protocol)テーブル60を記憶している。ARPテーブル60は、IPアドレスと各サーバ10のMACアドレスとの対応関係を表している。
【0010】
図6Aに示す例では、ARPテーブル60は、IPアドレス「10.10.1.1」と、「10.10.1.2」と、「10.10.1.3」とに対して、それぞれ、MACアドレス「aa−aa−aa−aa−aa−aa」と、「aa−aa−aa−aa−aa−aa」と、「bb−bb−bb−bb−bb−bb」とを対応付けている。
【0011】
ここで、IPアドレス「10.10.1.1」は、アクティブ系サーバに対して設定された仮想IPアドレスである。したがって、
図6Aに示す例では、ARPテーブル60は、アクティブ系サーバに対して設定された仮想IPアドレス「10.10.1.1」に対して、現アクティブ系サーバ10aのMACアドレス「aa−aa−aa−aa−aa−aa」を対応付けている。
【0012】
ここで、クライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信したとする。
【0013】
図6Aに示すように、通常時において、ARPテーブル60では、IPアドレス「10.10.1.1」が現アクティブ系サーバ10aのMACアドレス「aa−aa−aa−aa−aa−aa」に対応付けられている。そのため、このとき、中継装置20は、ARPテーブル60に基づいて、クライアント端末30から送信された信号を現アクティブ系サーバ10aに中継する(送信ルート70a参照)。その結果、現アクティブ系サーバ10aがクライアント端末30から送信された信号を受信する。
【0014】
ここで、現アクティブ系サーバ10aに不具合(例えば、通信障害等)が発生したとする。
【0015】
このとき、現スタンバイ系サーバ10bは、ハートビート通信等により、現アクティブ系サーバ10aの不具合を検知する。すると、現スタンバイ系サーバ10bは、予めアクティブ系サーバとスタンバイ系サーバとの間で共有されている仮想IPアドレス(ここでは、IPアドレス「10.10.1.1」)を用いて、新アクティブ系サーバとしての立ち上げ処理を行う。
【0016】
新アクティブ系サーバとしての立ち上げ処理は、
図6Bに示すように、通信システム601が、現アクティブ系サーバ10aに対して設定されていた仮想IPアドレス「10.10.1.1」を新アクティブ系サーバとなる現スタンバイ系サーバ10bに変更することによって行われる。これにより、現アクティブ系サーバ10aが旧アクティブ系サーバとなるとともに、現スタンバイ系サーバ10bが新アクティブ系サーバとなるように、サーバ10の設定の切替が行われる。以下、現アクティブ系サーバ10aを「旧アクティブ系サーバ10a」と称し、現スタンバイ系サーバ10bを「新アクティブ系サーバ10b」と称する場合がある。
【0017】
図6Bに示すように、新アクティブ系サーバ10bは、G−ARP(Gratuitous Address Resolution Protocol)パケット80を中継装置20にブロードキャストする。これは、仮想IPアドレス「10.10.1.1」の設定が旧アクティブ系サーバ10aから新アクティブ系サーバ10bに移ったことを中継装置20に認識させるためである。G−ARPパケット80は、アクティブ系サーバに対して設定された仮想IPアドレス「10.10.1.1」と、新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」とを対応付ける内容になっている。
【0018】
G−ARPパケット80を受信した中継装置20は、G−ARPパケット80に基づいて、ARPテーブル60を更新し、更新されたARPテーブル60に従って、パケットのルーティング(転送経路の制御)を行う。
【0019】
図6Bに示す例では、ステップS1150での更新後のARPテーブル60は、IPアドレス「10.10.1.1」と、「10.10.1.2」と、「10.10.1.3」とに対して、それぞれ、MACアドレス「bb−bb−bb−bb−bb−bb」と、「aa−aa−aa−aa−aa−aa」と、「bb−bb−bb−bb−bb−bb」とを対応付けている。
【0020】
ここで、IPアドレス「10.10.1.1」は、アクティブ系サーバに対して設定された仮想IPアドレスである。したがって、
図6Bに示す例では、更新後のARPテーブル60は、アクティブ系サーバに対して設定された仮想IPアドレス「10.10.1.1」に対して、新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」を対応付けている。
【0021】
ここで、クライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信したとする。
【0022】
ARPテーブル60では、IPアドレス「10.10.1.1」が新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」に対応付けられている。そのため、このとき、中継装置20は、ARPテーブル60に基づいて、クライアント端末30から送信された信号を新アクティブ系サーバ10bに中継する(送信ルート70b参照)。したがって、このとき、新アクティブ系サーバ10bがクライアント端末30から送信された信号を受信する。
【0023】
このような仮想IPアドレス技術を用いた通信システム601は、アクティブ系サーバとスタンバイ系サーバとの切替を行うことができる。
【0024】
<仮想LAN(VLAN)技術の概要>
以下、
図7を参照して、仮想LAN(VLAN)技術の概要について説明する。
図7は、仮想LAN(VLAN)技術を用いた通信システム602の構成及び動作を示す図である。
【0025】
通信システム602は、仮想LAN(Virtual Local Area Network;VLAN)技術(例えば、非特許文献2参照)を用いて、複数のクライアント端末がサーバと接続可能になっている構成において、他のクライアント端末からの干渉を無くすために、クライアント端末同士を論理的に隔離するシステムである。
【0026】
図7に示す例では、通信システム602は、サーバ10と、ルータ等の中継装置20と、を備えている。サーバ10は、中継装置20を介してクライアントによって操作される複数のクライアント端末30(
図7に示す例では、3台のクライアント端末30a,30b,30c)と接続することが可能になっている。各クライアントは、1乃至複数台のクライアント端末30を操作することができる。
図7に示す例では、3つのクライアントが3台のクライアント端末30a,30b,30cを操作する場合(つまり、3つのクライアントのそれぞれがクライアント端末30を1台ずつ操作する場合)を想定して説明する。ただし、各クライアントは1乃至複数台のクライアント端末30を操作することができるため、1つのクライアントが3台のクライアント端末30a,30b,30cのうちの複数台を操作する場合もあり得る。
【0027】
一般に、通信システムは、複数のクライアント端末がサーバと接続することが可能になっている場合に、ネットワーク構成によっては、クライアント端末間での直接通信が可能となってしまう可能性がある。クライアント端末間での直接通信が可能となると、あるクライアント端末が別のクライアント端末に悪影響を与えることが可能になる。そのため、通信システムは、複数のクライアント端末がサーバと接続可能になっている構成において、他のクライアント端末からの干渉を無くすために、クライアント端末同士を論理的に隔離する必要がある。
【0028】
そこで、
図7に示すように、通信システム602では、クライアント端末30同士を論理的に隔離する方法として、仮想LAN(Virtual Local Area Network;VLAN)技術が用いられている。VLAN技術は、仮想的なLANセグメントを作る技術である。
【0029】
VLAN技術では、サーバ10は、クライアント端末30間の通信を防止するために、クライアント端末30毎に各クライアント端末30を操作するクライアントに対応したVLAN50を作成する。そして、サーバ10は、VLAN50毎に仮想ポート40を作成する。各クライアント端末30は、各クライアントに割り振られたVLAN50に対応する仮想ポート40に設定されたIPアドレスを宛先として信号を送信して、サーバ10との間で通信を行う。中継装置20は、サーバ10と各クライアント端末30との間で行われる通信を中継する。
【0030】
例えば、
図7に示す例では、サーバ10は、クライアント端末30a,30b,30c毎に各クライアント端末30を操作するクライアントに対応したVLAN50a,50b,50cを作成する。そして、サーバ10は、VLAN50a,50b,50c毎に仮想ポート40a,40b,40cを作成する。各クライアント端末30は、各クライアントに割り振られたVLAN50に対応する仮想ポート40に設定されたIPアドレスを宛先として信号を送信して、サーバ10との間で通信を行う。
【0031】
このようなVLAN技術を用いた通信システム602は、クライアント端末30毎に各クライアント端末30を操作するクライアントに対応したVLAN50を作成することで、サーバ10と各クライアント端末30との間の通信の独立性を確保することができる。
【0032】
また、通信システム602は、各クライアント端末30が複数の端末によって構成された独自のネットワーク体系を有している場合であっても、各クライアント端末30をVLAN50で分離することで、各クライアント端末30が有している独自のネットワーク体系を保持することができる。
【0033】
<従来例>
以下、
図8A、
図8B、及び
図9を参照して、前記した仮想IPアドレス技術と仮想LAN(VLAN)技術とを用いた従来例の通信システム603について説明する。
図8A及び
図8Bは、それぞれ、従来例の通信システム603の構成及び動作を示す図である。
図8Aは、通常時における従来例の通信システム603の構成及び動作を示している。
図8Bは、アクティブ系サーバの不具合発生時における従来例の通信システム603の構成及び動作を示している。また、
図9は、従来例の通信システム603の動作を示すシーケンス図である。
【0034】
従来例の通信システム603は、前記した仮想IPアドレス技術と仮想LAN(VLAN)技術とを用いて、複数のクライアント端末がサーバと接続可能になっている構成において、クライアント端末同士を論理的に隔離しつつ、アクティブ系サーバとスタンバイ系サーバとの切替を行うシステムである。
【0035】
図8Aに示す例では、従来例の通信システム603は、複数台(図示例では2台)のサーバ10(10a,10b)と、ルータ等の中継装置20と、を備えている。2台のサーバ10のうち、一方のサーバ10aは現アクティブ系サーバとして機能しており、また、他方のサーバ10bは現スタンバイ系サーバとして機能している。中継装置20は、通信回線を介して接続されたサーバ10とクライアント端末30との間で行われる通信を中継する。
【0036】
サーバ10は、中継装置20を介してクライアントによって操作される複数のクライアント端末30(
図8Aに示す例では、3台のクライアント端末30a,30b,30c)と接続することが可能になっている。各クライアントは、1乃至複数台のクライアント端末30を操作することができる。
図8Aに示す例では、3つのクライアントが3台のクライアント端末30a,30b,30cを操作する場合(つまり、3つのクライアントのそれぞれがクライアント端末30を1台ずつ操作する場合)を想定して説明する。ただし、各クライアントは1乃至複数台のクライアント端末30を操作することができるため、1つのクライアントが3台のクライアント端末30a,30b,30cのうちの複数台を操作する場合もあり得る。
【0037】
現アクティブ系サーバ10aは、クライアント端末30a,30b,30c毎に各クライアント端末30を操作するクライアントに対応したVLAN50a,50b,50cを作成する。そして、現アクティブ系サーバ10aは、VLAN50a,50b,50c毎に仮想ポート40a,40b,40cを作成する。作成されたVLAN50a,50b,50cは、アクティブ系サーバとスタンバイ系サーバとの間で共有される。また、作成されたVLAN50a,50b,50cに関する情報は、アクティブ系サーバとスタンバイ系サーバとの間で共有される。
【0038】
中継装置20は、記憶部にARPテーブル60を記憶している。ARPテーブル60は、各VLAN50a,50b,50cの仮想IPアドレスであるIPアドレスと現アクティブ系サーバ10aのMACアドレスとの対応関係を表している。
【0039】
図8Aに示す例では、ARPテーブル60は、各VLAN50a,50b,50cの仮想IPアドレスであるIPアドレス「10.10.1.1」と、「10.10.1.2」と、「10.10.1.3」とに対して、それぞれ、現アクティブ系サーバ10aのMACアドレス「aa−aa−aa−aa−aa−aa」と、「aa−aa−aa−aa−aa−aa」と、「aa−aa−aa−aa−aa−aa」とを対応付けている。
【0040】
各クライアント端末30は、各クライアントに割り振られたVLAN50に対応する仮想ポート40に設定されたIPアドレスを宛先として信号を送信して、現アクティブ系サーバ10aとの間で通信を行う。
【0041】
ここで、
図9に示すように、通常時において、クライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信したとする(ステップS1310)。
【0042】
図8Aに示すように、通常時において、ARPテーブル60では、現アクティブ系サーバ10aのMACアドレスが各IPアドレスに対応付けられている。そのため、このとき、中継装置20は、ARPテーブル60に基づいて、クライアント端末30から送信された信号を現アクティブ系サーバ10aに中継する。その結果、現アクティブ系サーバ10aがクライアント端末30から送信された信号を受信する。
【0043】
ここで、
図9に示すように、現アクティブ系サーバ10aに不具合(例えば、通信障害等)が発生したとする。この場合に、通信システム603は、クライアント端末30からの要求が途絶えた状態(応答なしの状態)になる。
【0044】
このとき、現スタンバイ系サーバ10bは、現アクティブ系サーバ10aの不具合を検知する(ステップS1320)。すると、現スタンバイ系サーバ10bは、予めアクティブ系サーバとスタンバイ系サーバとの間で共有されているVLAN50毎の仮想IPアドレスを用いて、順番が最初の方から順番に、VLAN50毎に仮想ポート40を作成し(ステップS1340)、新アクティブ系サーバとしての立ち上げ処理を行う。
【0045】
新アクティブ系サーバとしての立ち上げ処理は、
図8Bに示すように、通信システム603が、VLAN50の仮想IPアドレスに対応するMACアドレスを新アクティブ系サーバとなる現スタンバイ系サーバ10bのMACアドレスに変更することによって行われる。これにより、現アクティブ系サーバ10aが旧アクティブ系サーバとなるとともに、現スタンバイ系サーバ10bが新アクティブ系サーバとなるように、サーバ10の設定の切替が行われる。以下、現アクティブ系サーバ10aを「旧アクティブ系サーバ10a」と称し、現スタンバイ系サーバ10bを「新アクティブ系サーバ10b」と称する場合がある。
【0046】
図9に示すように、ステップS1340の後、新アクティブ系サーバ10bは、順番が最初の方から順番に、G−ARPパケット80を中継装置20にブロードキャストする(ステップS1350)。これは、VLAN50の仮想IPアドレスに対応するMACアドレスの設定が旧アクティブ系サーバ10aのMACアドレスから新アクティブ系サーバ10bのMACアドレスに変更されたことを中継装置20に認識させるためである。G−ARPパケット80は、VLAN50の仮想IPアドレスと、新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」とを対応付ける内容になっている。新アクティブ系サーバ10bは、VLAN50の数分だけ、ステップS1340とステップS1350の処理を繰り返し行う。
【0047】
G−ARPパケット80を受信する度に、中継装置20は、G−ARPパケット80に基づいて、VLAN50のARPテーブル60を更新し、更新されたVLAN50のARPテーブル60に従って、パケットのルーティング(転送経路の制御)を行う(ステップS1360)。
【0048】
図8Bに示す例では、ステップS1360での更新後のARPテーブル60は、各VLAN50a,50b,50cの仮想IPアドレスに対して、それぞれ、新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」を対応付けている。
【0049】
中継装置20は、ARPテーブル60に基づいて、クライアント端末30から送信された信号を新アクティブ系サーバ10bに中継する。その結果、新アクティブ系サーバ10bがクライアント端末30から送信された信号を受信する。
【0050】
これにより、ARPテーブル60の更新が完了したVLAN50に対応するクライアント端末30は、新アクティブ系サーバ10bとの間で通信可能な状態になる。
【0051】
しかしながら、ARPテーブル60の更新が完了していないVLAN50に対応するクライアント端末30は、新アクティブ系サーバ10bとの間で通信不能な状態になっている。そのため、通信システム603は、ARPテーブル60の更新が完了していないVLAN50に対応するクライアント端末30からの要求が途絶えた状態(応答なしの状態)になっている。
【0052】
ステップS1360の後、新アクティブ系サーバ10bは、順番が最後の方のVLAN50に対応する仮想ポート40を作成し(ステップS1340a)を作成して、順番が最後の方のVLAN50に対応するG−ARPパケット80を中継装置20にブロードキャストする(ステップS1350a)。
【0053】
これにより、最終的には、全てのクライアント端末30は、新アクティブ系サーバ10bとの間で通信可能な状態になる。その結果、全てのクライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信して(ステップS1310a)、新アクティブ系サーバ10bとの間で通信を行うことができるようになる。
【0054】
このような仮想IPアドレス技術と仮想LAN(VLAN)技術とを用いた従来例の通信システム603は、各クライアントに割り振られたVLAN50に対応する仮想ポート40を作成することで、サーバ10と各クライアント端末30との間の通信の独立性を確保しつつ、アクティブ系サーバとスタンバイ系サーバとの切替を行うことができる。また、通信システム603は、各クライアント端末30が複数の端末によって構成された独自のネットワーク体系を有している場合であっても、各クライアント端末30をVLAN50で分離することで、各クライアント端末30が有している独自のネットワーク体系を保持することができる。
【発明を実施するための形態】
【0071】
以下、図面を参照して、本発明の実施の形態(以下、「本実施形態」と称する)について詳細に説明する。なお、各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【0072】
[実施形態]
<通信システムの構成>
以下、
図1A及び
図1Bを参照して、本実施形態に係る通信システム100について説明する。
図1A及び
図1Bは、それぞれ、本実施形態に係る通信システム100の構成及び動作を示す図である。
図1Aは、通常時における本実施形態に係る通信システム100の構成及び動作を示している。
図1Bは、アクティブ系サーバの不具合発生時における本実施形態に係る通信システム100の構成及び動作を示している。
【0073】
本実施形態に係る通信システム100は、仮想IPアドレス技術と仮想LAN(VLAN)技術とを用いて、アクティブ系サーバとスタンバイ系サーバとの切替を行うシステムである。
【0074】
図1Aに示す例では、本実施形態に係る通信システム100は、複数台(図示例では2台)のサーバ10(10a,10b)と、ルータ等の中継装置20と、を備えている。2台のサーバ10のうち、一方のサーバ10aは現アクティブ系サーバとして機能しており、また、他方のサーバ10bは現スタンバイ系サーバとして機能している。中継装置20は、通信回線を介して接続されたサーバ10とクライアント端末30との間で行われる通信を中継する。
【0075】
サーバ10は、中継装置20を介して複数のクライアント端末30(
図1Aに示す例では、3台のクライアント端末30a,30b,30c)と接続することが可能になっている。各クライアントは、1乃至複数台のクライアント端末30を操作することができる。
図1Aに示す例では、3つのクライアントが3台のクライアント端末30a,30b,30cを操作する場合(つまり、3つのクライアントのそれぞれがクライアント端末30を1台ずつ操作する場合)を想定して説明する。ただし、各クライアントは1乃至複数台のクライアント端末30を操作することができるため、1つのクライアントが3台のクライアント端末30a,30b,30cのうちの複数台を操作する場合もあり得る。
【0076】
現アクティブ系サーバ10aは、クライアント端末30a,30b,30c毎に各クライアント端末30を操作するクライアントに対応したVLAN50a,50b,50cを作成する。そして、現アクティブ系サーバ10aは、VLAN50a,50b,50c毎に仮想ポート40a,40b,40cを作成する。作成されたVLAN50a,50b,50cは、アクティブ系サーバとスタンバイ系サーバとの間で共有される。また、作成されたVLAN50a,50b,50cに関する情報は、アクティブ系サーバとスタンバイ系サーバとの間で共有される。
【0077】
中継装置20は、記憶部にARPテーブル60を記憶している。ARPテーブル60は、各VLAN50a,50b,50cの仮想IPアドレスであるIPアドレスと現アクティブ系サーバ10aのMACアドレスとの対応関係を表している。
【0078】
図1Aに示す例では、ARPテーブル60は、各VLAN50a,50b,50cの仮想IPアドレスであるIPアドレス「10.10.1.1」と、「10.10.1.2」と、「10.10.1.3」とに対して、それぞれ、現アクティブ系サーバ10aのMACアドレス「aa−aa−aa−aa−aa−aa」と、「aa−aa−aa−aa−aa−aa」と、「aa−aa−aa−aa−aa−aa」とを対応付けている。
【0079】
各クライアント端末30は、各クライアントに割り振られたVLAN50に対応する仮想ポート40に設定されたIPアドレスを宛先として信号を送信して、現アクティブ系サーバ10aとの間で通信を行う。
【0080】
図1Bに示すように、現アクティブ系サーバ10aで不具合が発生すると、現スタンバイ系サーバ10bが新アクティブ系サーバとなり、現アクティブ系サーバ10aが旧アクティブ系サーバとなる。この動作の詳細については、後記する「通信システムの動作」の章で説明する。
【0081】
<サーバの構成>
以下、
図2を参照して、サーバ10の構成について説明する。
図2は、サーバ10の構成を示す図である。
図2に示すように、本実施形態では、サーバ10は、各種の演算を行う制御部11と、様々なプログラムやデータを記憶する記憶部16と、他の装置との間での通信を行う通信部19とを備えている。
【0082】
制御部11は、CPU(Central Processing Unit)で構成されている。本実施形態では、制御部11は、記憶部16に予め記憶された制御プログラムPr10を実行することにより、監視部12a、優先度決定部12b、仮想ポート作成部12c、通信処理部12d、及び、サービス実行部12eとして機能する。
【0083】
監視部12aは、現アクティブ系サーバでの不具合(例えば、通信障害)の発生の有無を監視する機能手段である。
優先度決定部12bは、各クライアントの優先度を決定する機能手段である。本実施形態では、優先度決定部12bは、各クライアントに割り振られたVLAN50の利用頻度に基づいて、各クライアントの優先度を決定する構成になっている。
仮想ポート作成部12cは、旧アクティブ系サーバから新アクティブ系サーバにサーバの設定を変更する際の仮想ポート40を作成する機能手段である。
通信処理部12dは、他の装置との間での通信を制御する機能手段である。本実施形態では、通信処理部12dは、クライアント端末30との間で行われる通信の宛先を仮想ポート40宛に変更することを中継装置20に指示する構成になっている。
サービス実行部12eは、クライアント端末30に提供する各種のサービスを実行する機能手段である。
【0084】
記憶部16は、RAM(Random Access Memory)やROM(Read Only Memory)、ハードディスクドライブ、フラッシュメモリ、ソリッドステートドライブ等で構成されている。本実施形態では、記憶部16は、制御プログラムPr10や、クライアントデータ17a(
図4A参照)、仮想IPデータ17b(
図4B参照)を記憶している。
クライアントデータ17aは、各クライアント端末30に関するデータである。
仮想IPデータ17bは、仮想ポート40(
図1A参照)に関するデータである。
クライアントデータ17aと仮想IPデータ17bについては、後記する。
【0085】
<中継装置の構成>
以下、
図3を参照して、中継装置20の構成について説明する。
図3は、中継装置20の構成を示す図である。
図3に示すように、本実施形態では、中継装置20は、各種の演算を行う制御部21と、様々なプログラムやデータを記憶する記憶部26と、他の装置との間での通信を行う通信部29とを備えている。
【0086】
制御部21は、CPUで構成されている。本実施形態では、制御部21は、記憶部26に予め記憶された制御プログラムPr20を実行することにより、設定部22a、及び、通信処理部22bとして機能する。
【0087】
設定部22aは、サーバ10から送信されるG−ARPパケット80(
図1B参照)に基づいて、記憶部26に記憶されたARPテーブル60の設定を更新する機能手段である。
通信処理部22bは、他の装置との間での通信を制御する機能手段である。本実施形態では、通信処理部22bは、アクティブ系サーバとクライアント端末30との間で行われる通信を中継する構成になっている。
【0088】
記憶部26は、RAMやROM、ハードディスクドライブ、フラッシュメモリ、ソリッドステートドライブ等で構成されている。本実施形態では、記憶部26は、制御プログラムPr20や、ARPテーブル60(
図1A参照)を記憶している。
【0089】
<サーバに記憶されるデータの構成>
以下、
図4Aを参照して、クライアントデータ17aの構成について説明する。
図4Aは、クライアントデータ17aの一例を示す図である。
図4Aに示す例では、クライアントデータ17aは、「クライアントNo.」や、「前回利用時刻」、「累積利用時間」、「利用頻度」等のデータを含んでいる。「クライアントNo.」は、各クライアントに固有に設定された符号を表している。「前回利用時刻」は、各クライアントが前回利用した時刻を表している。「累積利用時間」は、各クライアントの累積利用時間を表している。「利用頻度」は、各クライアントに割り振られたVLAN50の利用頻度を表している。
【0090】
以下、
図4Bを参照して、仮想IPデータ17bの構成について説明する。
図4Bは、本実施形態で用いる仮想IPデータ17bの一例を示す図である。
図4Bに示す例では、仮想IPデータ17bは、「仮想ポートNo.」や、「IPアドレス」、「MACアドレス」等のデータを含んでいる。「仮想ポートNo.」は、各VLAN50に対応する仮想ポート40に固有に設定された符号を表している。「IPアドレス」は、各VLAN50の仮想IPアドレスを表している。「MACアドレス」は、アクティブ系サーバのMACアドレスを表している。
【0091】
<通信システムの動作>
以下、
図5を参照して、通信システム100の動作について説明する。
図5は、通信システム100の動作を示すシーケンス図である。
【0092】
ここで、
図5に示すように、通常時において、クライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信したとする(ステップS110)。
【0093】
図1Aに示すように、通常時において、ARPテーブル60では、現アクティブ系サーバ10aのMACアドレスが各IPアドレスに対応付けられている。そのため、このとき、中継装置20は、ARPテーブル60に基づいて、クライアント端末30から送信された信号を現アクティブ系サーバ10aに中継する。その結果、現アクティブ系サーバ10aがクライアント端末30から送信された信号を受信する。
【0094】
ここで、
図5に示すように、現アクティブ系サーバ10aに不具合(例えば、通信障害等)が発生したとする。この場合に、通信システム100は、クライアント端末30からの要求が途絶えた状態(応答なしの状態)になる。
【0095】
このとき、現スタンバイ系サーバ10bの監視部12aは、現アクティブ系サーバ10aの不具合を検知する(ステップS120)。すると、現スタンバイ系サーバ10bの優先度決定部12bは、記憶部16に記憶されたクライアントデータ17aを参照して、利用頻度が高いVLAN50を算出し、そのVLAN50の利用頻度に基づいて、各クライアントの優先度を決定する(ステップS130)。このとき、優先度決定部12bは、利用頻度が高いVLAN50に対応するクライアントほど、優先度の高いクライアントであると判断して、各クライアントの優先度を決定する。
【0096】
次に、現スタンバイ系サーバ10bの仮想ポート作成部12cは、予めアクティブ系サーバとスタンバイ系サーバとの間で共有されているVLAN50に対応する仮想IPアドレスを用いて、優先度が最も高いVLAN50に対して仮想ポート40を作成し(ステップS140)、新アクティブ系サーバとしての立ち上げ処理を行う。
【0097】
新アクティブ系サーバとしての立ち上げ処理は、
図1Bに示すように、通信システム100が、VLAN50の仮想IPアドレスに対応するMACアドレスを新アクティブ系サーバとなる現スタンバイ系サーバ10bのMACアドレスに変更することによって行われる。これにより、現アクティブ系サーバ10aが旧アクティブ系サーバとなるとともに、現スタンバイ系サーバ10bが新アクティブ系サーバとなるように、サーバ10の設定の切替が行われる。
【0098】
図5に示すように、ステップS140の後、新アクティブ系サーバ10bの通信処理部12dは、優先度が最も高いVLAN50に対応するG−ARPパケット80を中継装置20にブロードキャストする(ステップS150)。これは、優先度が最も高いVLAN50の仮想IPアドレスに対応するMACアドレスの設定が旧アクティブ系サーバ10aのMACアドレスから新アクティブ系サーバ10bのMACアドレスに変更されたことを中継装置20に認識させるためである。G−ARPパケット80は、優先度が最も高いVLAN50の仮想IPアドレスと、新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」とを対応付ける内容になっている。
【0099】
G−ARPパケット80を受信した中継装置20は、G−ARPパケット80に基づいて、優先度が最も高いVLAN50のARPテーブル60を更新し、更新されたVLAN50のARPテーブル60に従って、パケットのルーティング(転送経路の制御)を行う(ステップS160)。
【0100】
ここで、更新が完了したVLAN50に対応するクライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信したとする(ステップS110a)。このとき、
図1Bに示すように、中継装置20は、ARPテーブル60に基づいて、クライアント端末30から送信された信号を新アクティブ系サーバ10bに中継する。その結果、新アクティブ系サーバ10bがクライアント端末30から送信された信号を受信する。
【0101】
これにより、ARPテーブル60の更新が完了したVLAN50に対応するクライアント端末30は、新アクティブ系サーバ10bとの間で通信可能な状態になる。その結果、新アクティブ系サーバ10bは、更新が完了したVLAN50に対応するクライアント端末30との間で通信を行う。その際に、新アクティブ系サーバ10bのサービス実行部12eが、クライアント端末30に提供する各種のサービスを実行する。
【0102】
ステップS110aの後、新アクティブ系サーバ10bの仮想ポート作成部12cは、優先度が2番目以降のVLAN50に対応する仮想ポート40を作成し(ステップS140a)を作成する。そして、新アクティブ系サーバ10bの通信処理部12dは、優先度が2番目以降のVLAN50に対応するG−ARPパケット80を中継装置20にブロードキャストする(ステップS150a)。新アクティブ系サーバ10bは、VLAN50の数分だけ、ステップS140aとステップS150aの処理を繰り返し行う。
【0103】
G−ARPパケット80を受信する度に、中継装置20は、G−ARPパケット80に基づいて、優先度が2番目以降のVLAN50のARPテーブル60を更新し、更新されたVLAN50のARPテーブル60に従って、パケットのルーティング(転送経路の制御)を行う(ステップS160a)。
【0104】
これにより、最終的には、全てのクライアント端末30は、新アクティブ系サーバ10bとの間で通信可能な状態になる。その結果、全てのクライアント端末30がIPアドレス「10.10.1.1」宛に信号を送信して(
図1Bに示すステップS110a参照)、新アクティブ系サーバ10bとの間で通信を行うことができるようになる。
【0105】
図1Bに示す例では、ステップS160aでの更新後のARPテーブル60は、各VLAN50a,50b,50cの仮想IPアドレスに対して、それぞれ、新アクティブ系サーバ10bのMACアドレス「bb−bb−bb−bb−bb−bb」を対応付けている。
【0106】
このような仮想IPアドレス技術と仮想LAN(VLAN)技術とを用いた本実施形態に係る通信システム100は、各クライアントに割り振られたVLAN50に対応する仮想ポート40を作成することで、サーバ10と各クライアント端末30との間の通信の独立性を確保しつつ、アクティブ系サーバとスタンバイ系サーバとの切替を行うことができる。また、通信システム100は、各クライアント端末30が複数の端末によって構成された独自のネットワーク体系を有している場合であっても、各クライアント端末30をVLAN50で分離することで、各クライアント端末30が有している独自のネットワーク体系を保持することができる。
【0107】
また、通信システム100は、現スタンバイ系サーバ10bが新アクティブ系サーバとして切り替わる際に、利用頻度が高いVLAN50に対応するクライアントを優先度の高いクライアントとし、クライアントの優先度の高い順に、各クライアントによって操作されるクライアント端末30との通信の宛先の変更指示(つまり、クライアント端末30との通信の確立)を行う。
【0108】
このような通信システム100は、
図9に示す従来例の通信システム603のサービス断時間と
図5に示す本実施形態に係る通信システム100のサービス断時間との比較から分かるように、クライアント端末30のサービス断時間を低減することができる。特に、利用頻度が高いクライアントは、優先度の高いクライアントである。通信システム100は、その優先度の高いクライアントによって操作されるクライアント端末30のサービス断時間を低減することができる。
【0109】
以上の通り、本実施形態に係る通信システム100によれば、クライアント端末30のサービス断時間を低減することができる。特に、通信システム100によれば、優先度の高いクライアントによって操作されるクライアント端末30のサービス断時間を低減することができる。
【0110】
なお、本発明は、前記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【0111】
例えば、前記した実施形態は、本発明の要旨を分かり易く説明するために詳細に説明したものである。そのため、本発明は、必ずしも説明した全ての構成要素を備えるものに限定されるものではない。また、本発明は、ある構成要素に他の構成要素を追加したり、一部の構成要素を他の構成要素に変更したりすることができる。また、本発明は、一部の構成要素を削除することもできる。
【0112】
また、例えば、前記した実施形態では、優先度決定部12bが各クライアントに割り振られたVLAN50の利用頻度に基づいて、各クライアントの優先度を決定するものとして説明している。しかしながら、例えば、優先度決定部12bは、各クライアントに割り振られたVLAN50の累積利用時間に基づいて、各クライアントの優先度を決定するようにしてもよい。又は、例えば、優先度決定部12bは、予め定められた各クライアント端末30の重要度に基づいて、各クライアントの優先度を決定するようにしてもよい。