JP2012080493A - アクセス中継方法、アクセス中継プログラム、および、中継装置 - Google Patents

アクセス中継方法、アクセス中継プログラム、および、中継装置 Download PDF

Info

Publication number
JP2012080493A
JP2012080493A JP2010226573A JP2010226573A JP2012080493A JP 2012080493 A JP2012080493 A JP 2012080493A JP 2010226573 A JP2010226573 A JP 2010226573A JP 2010226573 A JP2010226573 A JP 2010226573A JP 2012080493 A JP2012080493 A JP 2012080493A
Authority
JP
Japan
Prior art keywords
relay
request
version
relay device
session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010226573A
Other languages
English (en)
Other versions
JP5592222B2 (ja
Inventor
Naoichi Nemoto
直一 根本
Yoshiaki Takeshima
由晃 竹島
Masahiko Nakahara
雅彦 中原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010226573A priority Critical patent/JP5592222B2/ja
Publication of JP2012080493A publication Critical patent/JP2012080493A/ja
Application granted granted Critical
Publication of JP5592222B2 publication Critical patent/JP5592222B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】中継装置のネットワーク構成が変更されたときでも、高品質の通信を提供すること。
【解決手段】中継装置100は、スイッチ120から所定リクエストを受信すると、所定リクエストの特定情報をセッション管理テーブル215から検索し、セッション管理テーブル215内に所定リクエストの特定情報が存在するときには、そのセッションを用いて所定リクエストを宛先へと転送し、セッション管理テーブル215内に所定リクエストの特定情報が存在しないときには、最新バージョン以外のバージョンの振り分けルールが示す振り分け先である他装置の中継装置100へと所定リクエストを転送する。
【選択図】図4

Description

本発明は、アクセス中継方法、アクセス中継プログラム、および、中継装置の技術に関する。
有線ネットワーク網や無線ネットワーク網に接続される端末の普及により、WWW(World Wide Web)サーバなどのサーバとクライアントとでやり取りされるデータ量が増大している。また、有線ネットワーク網や無線ネットワーク網の通信帯域の大容量化に伴うデータ通信時間の短縮や、コンテンツサイズの増大により、通信量が増加している。
サーバとクライアントとの通信を中継するための中継装置(ノード)は、通信キャリアやインターネットサービスプロバイダなどのサービス事業者に設置されることが多い。通信量が増大することにより、中継装置を通過する通信量も増大する。この通信量増大に伴い、中継装置の処理能力増強が必要である。そこで、中継装置の台数を増やす(スケールアウトする)ことで、複数の中継装置で処理を分散して、システム全体のパフォーマンス向上させることができる。
中継装置は、サーバとクライアントとの通信を行うためのTCP(Transmission Control Protocol)接続(コネクション)を管理しており、このコネクションの管理情報を基に、サーバとクライアントとの通信パケットを転送する。しかし、複数の中継装置のうちのコネクションを管理していない中継装置は、そのコネクションを介する通信パケットを転送することができないため、その通信パケットを廃棄せざるを得ず、通信が途絶してしまう。
一般的には、コネクションを管理する中継装置へとリクエストが送信されるように、リクエストを振り分ける経路が設定されているので、前記した通信パケットの廃棄は発生しない。しかし、スケールアウトにより中継装置が増設されると、増設された中継装置と増設前の中継装置とで負荷分散を行うために、その増設前後でリクエストを振り分ける経路(中継装置)が変更される場合がある。つまり、コネクションを管理していない中継装置に対して、リクエストが振り分けられてしまう可能性がある。
そこで、特許文献1および特許文献2に開示されている技術では、コネクションを管理している中継装置から、コネクションを管理していない中継装置に対して、そのコネクションの管理情報を通知することにより、通信パケットの廃棄を抑制する。
特許4041038号明細書 米国公開特許公報2007/0198721
しかし、コネクションの管理情報を通知するように中継装置を実行することは、以下に例示するようにデメリットが高い。
まず、通信継続に必要な情報の転送中は通信が停止してしまうので、コネクションを利用するユーザへの通信サービスの品質低下を招いてしまう。
次に、コネクションの管理情報は情報の転送データサイズが大きいため、通信サービス事業者網のネットワークを圧迫するので、ネットワークの通信効率が低下する。
さらに、コネクションの管理情報は、通常はOS(Operating System)内にソケットとして実装されており、コネクションの管理情報を他の装置から通知されることはOSの設計では前提とされていない。よって、他の装置から通知されるコネクションの管理情報を、自装置のものとして取り込むための修正コストが大きい。
そこで、本発明は、前記した問題を解決し、中継装置のネットワーク構成が変更されたときでも、高品質の通信を提供することを、主な目的とする。
前記課題を解決するために、本発明は、スイッチから送信されるリクエストをセッションを介して宛先へと転送する中継装置によるアクセス中継方法であって、
前記中継装置が、転送部と、振り分けルールおよびセッション管理データを記憶する記憶手段とを有しており、
前記振り分けルールは、前記スイッチから複数の前記中継装置のうちの前記リクエストを振り分ける前記中継装置を特定する情報を対応づけるルールであり、その振り分けルールが更新される度に新たなバージョン番号が割り当てられており、
前記セッション管理データは、前記中継装置が管理する前記セッションの情報を、そのセッションを用いて転送する前記リクエストを特定するリクエストの特定情報と対応づけるデータであり、
前記転送部が、
前記スイッチから所定リクエストを受信すると、前記所定リクエストの特定情報を前記セッション管理データから検索し、
前記セッション管理データ内に前記所定リクエストの特定情報が存在するときには、その特定情報に対応する前記セッションを用いて前記所定リクエストを宛先へと転送し、
前記セッション管理データ内に前記所定リクエストの特定情報が存在しないときには、前記記憶手段に格納されている複数バージョンの前記振り分けルールのうちの最新バージョン以外のバージョンを特定し、その特定したバージョンに該当する前記振り分けルールの振り分け先である他装置の前記中継装置へと前記所定リクエストを転送することを特徴とする。
その他の手段は、後記する。
本発明によれば、中継装置のネットワーク構成が変更されたときでも、高品質の通信を提供することができる。
本発明の一実施形態に関するコンピュータシステムを示す構成図である。 本発明の一実施形態に関する管理装置を示す構成図である。 本発明の一実施形態に関する中継装置を示す構成図である。 本発明の一実施形態に関する図1のコンピュータシステムによるリクエストの中継処理の概要を示す説明図である。 本発明の一実施形態に関する図4(a)に対応するリクエスト転送処理を示すフローチャートである。 本発明の一実施形態に関する図4(b)に対応するリクエスト転送処理を示すフローチャートである。 本発明の一実施形態に関する図6のS620の詳細を示すフローチャートである。 本発明の一実施形態に関する中継装置が保持する振り分けルールテーブルの消去処理の流れの一例を示したフローチャートである。 本発明の一実施形態に関する中継装置が増設された場合に、それぞれの中継装置が新しい振り分けルールを記憶する処理の流れの一例を示したフローチャートである。 本発明の一実施形態に関する中継装置(GW1)が減設されたときのコンピュータシステムによるリクエストの中継処理の概要を示す説明図である。 本発明の一実施形態に関する中継装置(GW1)の減設処理を示すフローチャートである。
以下、本発明の一実施形態を、図面を参照して詳細に説明する。
図1(a)は、コンピュータシステムを示す構成図である。コンピュータシステムは、ネットワークで接続された、中継装置(GW)100、スイッチ(SW)120、クライアント130、および、サーバ140を含んで構成される。
1台以上の中継装置100は、ネットワーク104によって相互に接続される。中継装置100は、携帯端末や固定端末などのクライアント130と通信を行うためにネットワーク103を介してスイッチ120と接続される。中継装置100は、サーバ140と通信を行うためにネットワーク104と介してスイッチ120と接続される。
管理装置110は、ネットワーク101を介して中継装置100およびスイッチ120と接続される。クライアント130は、ネットワーク102を介してスイッチ120と接続される。サーバ140は、ネットワーク103を介してスイッチ120と接続される。
なお、図1(a)では、中継装置100とクライアント130とが接続されるネットワーク102、ならびに、中継装置100とサーバ140とが接続されるネットワーク103を分けているが、これらが相互接続されるスイッチ120およびネットワークが同一であってもよい。
さらに、管理装置110が中継装置100とは別の装置としているが、管理装置110に具備される部を中継装置100やスイッチ120において実現される構成であってもかまわない。
図1(b)は、スイッチ120を示す構成図である。スイッチ120は、1つ以上のCPU401と、1つ以上のNW I/F(ネットワークインタフェース)402〜404と、メモリ407とが、内部バス405を介して相互に接続されるコンピュータ上に実現される。
NW I/F402は、ネットワーク102を介してクライアント130と接続する。
NW I/F403は、ネットワーク104を介して中継装置100と接続する。
NW I/F404は、ネットワーク101を介して管理装置110と接続する。
メモリ407には、CPU401によって実行されるルーティング部411、振り分けルール設定部412のプログラムと、振り分けルールテーブル413が格納されている。
なお、振り分けルールとは、あるリクエストの宛先への経路が複数存在するときの、その経路のうちのどの経路を用いるかを決定するルールであり、負荷分散を行うために、1つの宛先に対して、1つ以上の経路(次に送信する中継装置100)が振り分け先として特定されている(詳細は、後記の表1を参照)。
ルーティング部411は、振り分けルールテーブル413の内容に従って、クライアント130からのリクエストを中継装置100へ振り分ける。
振り分けルール設定部412は、管理装置110から指定される振り分けルールを振り分けルールテーブル413に上書き記憶する。
図2は、管理装置110を示す構成図である。管理装置110は、1つ以上のCPU301、1つ以上のNW I/F302〜304、入出力装置306、メモリ307が内部バス305を介して相互に接続されるコンピュータ上に実現される。
NW I/F302およびNW I/F303は、ネットワーク101を介してスイッチ120と接続する。
NW I/F304は、ネットワーク101を介して中継装置100と接続する。スイッチ120および中継装置100と接続するネットワークとNW I/Fは、同一であってもかまわない。
メモリ307には、CPU301によって実行されるルール生成部311、振り分けルール管理情報送信部312、停止管理部316のプログラムと、振り分けルール313、世代設定情報314、装置管理テーブル315が格納されている。
ルール生成部311は、クライアント130からのリクエストを中継装置100へ振り分けるためのルールを生成する。
振り分けルール管理情報送信部312は、ルール生成部311が生成した振り分けルールをスイッチ120および中継装置100へ送信する。
振り分けルール313は、スイッチ120がクライアント130からのリクエストを特定の中継装置100へ振り分けるためのルールが登録されているテーブルである。世代設定情報314は、中継装置100が振り分けルール313を保持するバージョンの数(つまり、振り分けルール313内に記憶するバージョンごとの振り分けルールの最大数)が格納される変数であり、その値は管理者により指定される。
装置管理テーブル315には、全ての中継装置100のアドレス情報が登録される。停止管理部316は、減設対象の中継装置100が中継すべきリクエストの中継終了を管理する。
例えば、世代設定情報314に「3」が格納されているときには、3つのバージョンの振り分けルール313を、メモリ307内に格納するとともに、4つめ以降のバージョンの振り分けルール313が到着すると、現在保持している最古のバージョンの振り分けルール313を消去して、到着した最新バージョンの振り分けルール313を格納するようにする。
図3は、中継装置100を示す構成図である。中継装置100は、1つ以上のCPU201、1つ以上のNW I/F202〜205、入出力装置207、メモリ208が内部バス206などの通信路を介して相互に接続されるコンピュータ上に実現される。
NW I/F202は、ネットワーク102を介してクライアント130と接続する。
NW I/F203は、ネットワーク103を介してサーバ140と接続する。
NW I/F204は、ネットワーク101を介して管理装置110と接続する。
NW I/F205は、ネットワーク104を介して中継装置100と接続する。
クライアント130およびサーバ140と接続するネットワークとNW I/Fは、同一であってもよい。
メモリ208には、CPU201によって実行される自ノード処理チェック部211、リクエスト転送部212、ルール設定部213、中継部214、セッション終了監視部217のプログラムと、セッション管理テーブル215、振り分けルールテーブル216が格納されている。
自ノード処理チェック部211は、受信したリクエストが当該中継装置100(以下、自ノードともいう)で中継処理できるか否かを確認する。
リクエスト転送部212は、自ノード処理チェック部211で処理できないと判断された場合に振り分けルール216に従って他の中継装置100(以下、他ノードともいう)へリクエストを転送する。
ルール設定部213は、管理装置110から振り分けルール216を受信した際にメモリ208へ記憶する。
中継部214は、セッション管理テーブル215に記録されるセッション情報に従って、クライアント130とサーバ140の通信を中継する。
セッション管理テーブル215は、クライアント130とサーバ140間で通信の中継を行うための情報を保持するテーブルである。
振り分けルールテーブル216は、スイッチ120がクライアント130からのリクエストを特定の中継装置100へ振り分けるためのルールが登録されているテーブルであり、管理装置110からスイッチ120と中継装置100へ送信される。
セッション終了監視部217は、中継部214がクライアント130とサーバ140間の中継処理の終了を監視する。
Figure 2012080493
表1は、各テーブル(セッション管理テーブル215、振り分けルールテーブル216、装置管理テーブル315)の内容を示す。
セッション管理テーブル215には、中継装置100がクライアント130とサーバ140間の通信を行う際の必要な情報が登録される。
「セッションID」欄は、セッション管理テーブル215で一意に識別可能な識別IDを格納する。
「送信元IP/Port」欄は、クライアント130がサーバ140へリクエスト要求を行っている場合のクライアント130(送信元)のIPアドレスおよびポート番号を格納する。
「宛先IP/Port」欄は、サーバ140(宛先)のIPアドレスおよびポート番号を格納する。この格納された情報に対して所定のハッシュ関数を計算することにより、ハッシュ値(例えば、4600)が計算される。このハッシュ値は、負荷分散のために複数の中継装置100から1つの中継装置100を選択するために、用いられる。なお、ハッシュ値計算のためのキー情報として、「宛先IP/Port」欄の情報を用いてもよいし、その他の情報と単独または「宛先IP/Port」欄の情報と組み合わせて用いてもよい。
「送信元ソケット」欄は、中継装置100がクライアント130との通信で用いるソケットの識別子を格納する。
「宛先ソケット」欄は、中継装置100がサーバ140との通信で用いるソケットの識別子を格納する。
振り分けルールテーブル216は、中継装置100、管理装置110およびスイッチ120に対して振り分けルール313から配布されるテーブルである。この振り分けルールテーブル216内で保持するレコード数は、世代設定情報314で示されるバージョンの数分である。
「バージョン」欄は、振り分けルールの対象のバージョン番号を示す。
「ハッシュ値範囲」欄は、リクエストの宛先IPアドレスおよびポート番号から得られるハッシュ値の範囲を格納する。
「振り分け先」欄は、セッション管理テーブル215の「宛先IP/Port」欄で示した当該ハッシュ値範囲における中継装置100の振り分け先を格納する。
装置管理テーブル315は、ネットワーク内のGW100が装置ごとに登録されている。「装置名」欄は、セッション管理テーブル215の「振り分け先」欄に対応するGW100の名称である。「アドレス」欄は、当該装置のIPアドレスを格納する。
図4は、図1のコンピュータシステムによるリクエストの中継処理の概要を示す説明図である。図4(a)の時点では、振り分けルールテーブル216に「ver 1」の振り分けルールが格納されており、図4(b)の時点では、振り分けルールテーブル216に「ver 1」〜「ver 3」の振り分けルールが格納されているとする。
まず、図4(a)において、中継装置100(GW3)は、クライアント130からサーバ140への論理的な通信路(コネクション)として、スイッチ120→中継装置100(GW3)→スイッチ120というセッションを作成し、そのセッションIDに1を割り当てる。
このセッションに関する情報(セッションID「1」、送信元ソケット「SC1」、宛先ソケット「SS1」)は、中継装置100(GW3)内の表1のセッション管理テーブル215に登録されるが、他の中継装置100(GW1,GW2)内の表1のセッション管理テーブル215に登録されない。
「ver 1」の時点の振り分けルールテーブル216には、スイッチ120から中継装置100(GW3)への振り分けを行う旨のレコードが格納される(表1の振り分けルールテーブル216の「ver 1」のレコードを参照)。
次に、図4(b)において、以下の(手順1)〜(手順4)の順に、リクエストが転送される。
(手順1)スイッチ120は、クライアント130からサーバ140宛てのリクエストを受信すると、最新バージョンである「ver 3」の振り分けルールに従って、そのリクエストを振り分け先の中継装置100(GW1)へと転送する。
(手順2)中継装置100(GW1)は、受信したリクエストを処理するためのセッションを自身のセッション管理テーブル215では管理していない。よって、中継装置100(GW1)は、最新バージョンである「ver 3」より1つ前の「ver 2」での振り分け先(GW2)を自身の振り分けルールテーブル216から特定し、その特定した中継装置100(GW2)に対して、振り分けに使用した「ver 2」の情報を付加して転送する。
(手順3)中継装置100(GW2)は、受信したリクエストを処理するためのセッションを自身のセッション管理テーブル215では管理していない。よって、中継装置100(GW2)は、付加された「ver 2」より1つ前の「ver 1」での振り分け先(GW3)を自身の振り分けルールテーブル216から特定し、その特定した中継装置100(GW3)に対して、振り分けに使用した「ver 1」の情報を付加して転送する。
(手順4)中継装置100(GW3)は、受信したリクエストを処理するためのセッションを自身のセッション管理テーブル215で、セッションID=1として管理している。よって、中継装置100(GW3)は、このセッションを用いて、サーバ140を収容するスイッチ120へとリクエストを転送する。
以上、図4(b)で説明したように、各中継装置100は、自身のセッション管理テーブル215で管理していないセッションのリクエストを受信したときには、そのリクエストを廃棄することなく、1つ以上のバージョンの振り分けルールに従って、他の中継装置100へとリクエストを転送する。
これにより、中継装置100の増減により、振り分けルール313が変更された場合(振り分けルール313のバージョンが上がった場合)でもクライアント130とサーバ140間の通信途絶を防止できる。
さらに、中継装置100が2つ以上のバージョンの振り分けルールテーブル216を持つことにより、中継装置100を増設した後に、再増設を行うような場合でもクライアント130とサーバ140間の通信途絶の防止が可能である。
そして、(手順2,手順3)において、振り分けに使用したバージョン番号を付加することにより、振り分けの無限ループ(GW1→GW2→GW1→GW2…)を防止できる。
図5は、図4(a)に対応するリクエスト転送処理を示すフローチャートである。
まず、新規接続処理(S600)を説明する。
S601において、クライアント130は、セッションの接続要求を収容されるスイッチ120へと送信する。
S602において、スイッチ120は、S601で受信したセッションの接続要求を、「ver 1」の振り分けルールに従って、中継装置100(GW3)へと転送する。
S603において、中継装置100(GW3)は、S602で受信したセッションの接続要求に従い、セッション管理テーブル215に、セッションID=1のレコードを新規接続として登録する。
次に、通常転送処理(S610)を説明する。
S611において、クライアント130は、S603で確立されたセッションを介して送信する旨の送信要求を収容されるスイッチ120へと送信する。
S612において、スイッチ120は、S611で受信した送信要求を、「ver 1」の振り分けルールに従って、中継装置100(GW3)へと転送する。
S613において、中継装置100(GW3)は、S612で受信した送信要求に従い、送信要求内の宛先IP/Portを検索キーとして、セッション管理テーブル215からセッションID=1のレコードを検索する。
S614において、中継装置100(GW3)は、S613で検索されたセッションを用いて、受信した送信要求を自ノード処理のリクエストとしてクライアント130を収容するスイッチ120へと転送する。
S615において、スイッチ120は、S614で受信した送信要求を、収容先のクライアント130へと転送する。
図6は、図4(b)に対応するリクエスト転送処理を示すフローチャートである。
管理装置110は、全てのスイッチ120および全ての中継装置100に対して、新しい振り分けルールを送信する(S601)。
スイッチ120は、クライアント130からのリクエスト(送信要求)を受信すると(S611)、リクエスト内の宛先IPアドレスおよびポート番号をキーとしてハッシュ値を算出し、振り分けルールテーブル216のハッシュ値範囲欄に該当する振り分け先の中継装置100(GW1)へリクエストを転送する(S612)。
中継装置100(GW1)は、S612でリクエストを受信し、自ノードで転送処理可能かセッション管理テーブル215を探索し(S613)、セッション管理テーブル215に該当するセッションが存在しないことにより、自ノードでは転送処理不可と判断する。
中継装置100(GW1)は、振り分けルールテーブル216を参照して転送処理が可能な中継装置100(振り分け先)を特定し、その特定した振り分け先(GW2)に対して、振り分け先の特定に使用したバージョン番号を付加してから、リクエストを転送する(S620,詳細は、後記の図7を参照)。
このセッション処理表探索(S620)と自ノード処理でないリクエストの転送(S613)は、中継装置100(GW1)と、中継装置100(GW2)とで、それぞれ行われる(図4(b)の(手順2,3)に対応)。
さらに、中継装置100(GW3)は、図5の通常転送処理(S610)におけるS613〜S615の処理を行う(図4(b)の(手順4)に対応)。
図7は、図6のS620の詳細を示すフローチャートである。
中継装置100のリクエスト転送部212は、受信したリクエストのパケットに振り分けルールテーブル216のバージョン番号が付加されているか否かを確認する(S511)。S511でYesなら付加されているバージョン番号を「特定バージョン」としてS512に進み、NoならS521に進む。
S512において、中継装置100のリクエスト転送部212は、特定バージョンよりも1つ前のバージョン(特定バージョン−1と表記)の振り分けルールテーブル216が存在するか否かを確認する(S512)。S512でYesならS513に進み、NoならS523に進む。
S513において、中継装置100のリクエスト転送部212は、「特定バージョン−1」の振り分けルールテーブル216を参照し、リクエストに含まれる宛先IPアドレスおよびポート番号をキーとしてハッシュ値を算出し、振り分けルールテーブル216のハッシュ値範囲欄に該当する振り分け先の中継装置100を特定する。そして、中継装置100のリクエスト転送部212は、特定した中継装置100へリクエストを転送する。
S521において、中継装置100のリクエスト転送部212は、振り分けルールテーブル216の最も新しいバージョンから順に、リクエストに含まれる宛先IPアドレスおよびポート番号をキーとしてハッシュ値を算出して、振り分けルールテーブル216のハッシュ値範囲欄に該当する振り分け先の中継装置100が自ノードである振り分けルールテーブル216のバージョン(換言すると、自ノードへのリクエスト転送に使用されたバージョン)の特定ができるか否かを判定する(S521)。S521でYesなら、特定できたバージョンを特定バージョンとしてS512へ進み、Noなら、S531へ進む。
S531において、中継装置100のリクエスト転送部212は、振り分けルールテーブル216を参照し、リクエストに含まれる宛先IPアドレスおよびポート番号をキーとしてハッシュ値を算出して、そのハッシュ値を検索キーとして、最も新しいバージョン(最もバージョン番号の大きいバージョン)から順に検索する。そして、リクエスト転送部212は、検索されたレコードのうちの振り分け先が他装置であるレコードについて、その振り分け先の中継装置100へリクエストを転送する。
S523において、リクエストを破棄して終了する。
図8は、中継装置100が保持する振り分けルールテーブル216の消去処理の流れの一例を示したフローチャートである。
中継装置100のルール設定部213は、他の中継装置100へリクエストの転送が一定時間行われていない状態を検知する(S701)。
中継装置100のルール設定部213は、S701で検知した一定時間リクエスト無転送の旨を、管理装置110へと送信する(S702)。管理装置110は、S702の通知を受信する(S800)。
管理装置110の振り分けルール管理情報送信部312は、リクエスト無転送の通知(S800)を全ての中継装置100から得るまで待機する(S801)。
管理装置110の振り分けルール管理情報送信部312は、全ての中継装置100(GWノード)へ振り分けルールテーブル216の消去指示を送信して終了する(S802)。
中継装置100のルール設定部213は、管理装置110から振り分けルールテーブル216の消去指示(S802)を受信する(S703)。
中継装置100のルール設定部213は、最も新しいバージョンの振り分けルールテーブル216以外を消去して終了する(S704)。
図9は、中継装置100が増設された場合に、それぞれの中継装置100が新しい振り分けルールを記憶する処理の流れの一例を示したフローチャートである。
管理装置110の振り分けルール管理情報送信部312は、管理者から中継装置100増設による振り分けルール変更の指示を受けるまで待機する(S1001)。
管理装置110の振り分けルール管理情報送信部312は、ルール生成部311を呼び出し、中継装置100増設による新たな振り分けルールを生成する。また、管理装置110の振り分けルール管理情報送信部312は、新たに増設した中継装置100を装置管理テーブル315へ追加する(S1002)。
管理装置110の振り分けルール管理情報送信部312は、スイッチ120および中継装置100へ新たな振り分けルール(新規ルール)を送信する。また、中継装置100へ新たな振り分けルールを送信する際に、振り分けルールテーブル216のバージョン欄に指定されるバージョン番号を付加する(S1003)。
中継装置100のルール設定部213は、管理装置110から新規ルール(S1003)を受信する(S901)。
中継装置100のルール設定部213は、自ノード内の振り分けルールテーブル216に格納されている振り分けルールの数が一杯(世代設定情報314で示される最大数)か否かを判定する(S902)。S902でYesならS904へ進み、NoならS903へ進む。
S903において、中継装置100のルール設定部213は、S901で受信した新規ルールを振り分けルールテーブル216へと新規保存(上書保存ではない)する。
S904において、中継装置100のルール設定部213は、S901で受信した新規ルールを振り分けルールテーブル216へと上書保存する。上書されて消去されるバージョンは、振り分けルールテーブル216内の最も古いバージョン(バージョン番号が最小のバージョン)である。
以上説明した図9において、例えば、「ver 4」の新規ルールを受信し(S901)、世代設定情報314=3が設定されており、振り分けルールテーブル216には、「ver 1」〜「ver 3」という3つのバージョンが既に格納されているときには(S902でYes)、「ver 1」のルールを消去して、その上に「ver 4」の新規ルールを上書きする(S904)。
Figure 2012080493
以下、中継装置100が減設されたときの動作について説明する。
表2は、表1の各テーブルに対して、中継装置100(GW1)が減設されたときの値を示す。減設対象の中継装置100(GW1)には、ノード停止振り分けルールとして、「ver 4」の振り分けルールが配布される。
図10は、中継装置100(GW1)が減設されたときのコンピュータシステムによるリクエストの中継処理の概要を示す説明図である。
減設対象の中継装置100(GW1)は、以下の(状態1)〜(状態3)の順に遷移する。
(状態1)中継装置100(GW1)は、管理装置110から、ノード停止メッセージを受信していない状態であり、この状態では、図4〜図9に示したように、セッション管理テーブル215が管理するリクエストを宛先へと転送し、セッション管理テーブル215が管理しないリクエストを他の中継装置100へと転送する。
(状態2)中継装置100(GW1)は、管理装置110から、ノード停止メッセージを受信する。しかし、中継装置100(GW1)内のセッション管理テーブル215には、管理対象のセッションがまだ残っている。
このときには、中継装置100(GW1)は、自身のセッション管理テーブル215内に残っているセッションを用いたリクエストの宛先転送を継続するが(図10(a)の「通信終了待ち」)、自身のセッション管理テーブル215に対する新規のセッション登録は行わず、ノード停止メッセージに付加されたノード停止振り分けルールが示す他の中継装置100へと、セッション管理テーブル215外のセッションに関するリクエスト(図10(a)の「その他」)を転送する。
(状態3)中継装置100(GW1)は、自身のセッション管理テーブル215内に残っているセッションが無くなることを検知すると、その旨を管理装置110へと通知する。そして、管理装置110は、中継装置100(GW1)を振り分け先として含まない新たな振り分けルール313を作成し、各中継装置100および各スイッチ120へと配布する(図10(b))。
つまり、中継装置100(GW1)において(状態2)という移行期間を設けることにより、中継装置100(GW1)内の管理対象のセッションを停止させることなく、円滑に中継装置100(GW1)の減設を実現できる。
図11は、中継装置100(GW1)の減設処理を示すフローチャートである。
管理装置110は、減設対象の中継装置100(GW1)以外の中継装置100を振り分け先とするノード停止振り分けルールを振り分けルール313として作成する(S1500)。
管理装置110は、中継装置100(GW1)へS1500で作成したノード停止振り分けルールを含むノード停止メッセージを送信し(S1501)、その応答(後記のS1512)の受信を待つ。
中継装置100(GW1)のセッション終了監視部217は、S1501で受信したノード停止振り分けルールを振り分けルールテーブル216に記憶し、全セッション通信終了の監視を開始する(S1502)。
スイッチ120は、クライアント130からのリクエスト(送信要求)を受信すると(S611)、振り分けルールテーブル413に従って中継装置100(GW1)へリクエストを転送する(S612)。
中継装置100(GW1)は、S612で受信したリクエストのセッション情報が自身のセッション管理テーブル215にあるか否かを探索する(S613)。ここで、受信リクエストのセッション情報があると判断した場合、中継装置100の中継部214は、そのセッション情報を用いて中継処理を実行する(図5の通常転送処理S610を参照)。
中継装置100(GW1)は、自身のセッション管理テーブル215に登録されていない受信リクエストについて、振り分けルールテーブル216内のノード停止振り分けルールを参照して、その振り分け先である中継装置100(GW2)へとリクエストを転送する(S1503)。
中継装置100(GW2)、および、スイッチ120は、減設対象ではないので、S1503で転送されたリクエストに対して、図5の通常転送処理(S610のS613,S614,S615)を実行することで、リクエストを宛先のサーバ140へと送信する。
中継装置100(GW1)ののセッション終了監視部217は、自身のセッション管理テーブル215で管理する全てのセッションの通信が終了した場合、S1502の監視を終了するとともに(S1511)、その旨を管理装置110へと送信する(S1512)。
管理装置110は、S1512の通知を受け、中継装置100(GW1)以外の各中継装置100および各スイッチ120へ、減設後の新しい振り分けルール313を送信する(S1513)。そして、中継装置100(GW1)は、自身の中継部214を含む各処理部を停止する(S1514)。
管理装置110の停止管理部316は、減設対象の中継装置に関する情報を装置管理テーブル315から削除する。
以上説明した本実施形態では、WWWなど、サーバと端末間でデータを通信するネットワークシステムにおいて、クライアント130からサーバ140への通信経路上に設置される複数の中継装置100でのリクエストの振り分け処理について、中継装置100の増設または減設によるリクエスト振り分け変更が生じた場合でも、中継装置間で適切にリクエストを転送し合うことによって通信の途絶を防止することができる。
100 中継装置(GW)
101〜104 ネットワーク
110 管理装置
120 スイッチ(SW)
130 クライアント
140 サーバ
201 CPU
202〜205 NW I/F
206 内部バス
207 入出力装置
208 メモリ
211 自ノード処理チェック部
212 リクエスト転送部
213 ルール設定部
214 中継部
215 セッション管理テーブル(セッション管理データ)
216 振り分けルールテーブル
217 セッション終了監視部
301 CPU
302〜304 NW I/F
305 内部バス
306 入出力装置
307 メモリ
311 ルール生成部
312 振り分けルール管理情報送信部
313 振り分けルール
314 世代設定情報
315 装置管理テーブル
316 停止管理部
401 CPU
402〜404 NW I/F
405 内部バス
407 メモリ
411 ルーティング部
412 振り分けルール設定部
413 振り分けルールテーブル

Claims (7)

  1. スイッチから送信されるリクエストをセッションを介して宛先へと転送する中継装置によるアクセス中継方法であって、
    前記中継装置は、転送部と、振り分けルールおよびセッション管理データを記憶する記憶手段とを有しており、
    前記振り分けルールは、前記スイッチから複数の前記中継装置のうちの前記リクエストを振り分ける前記中継装置を特定する情報を対応づけるルールであり、その振り分けルールが更新される度に新たなバージョン番号が割り当てられており、
    前記セッション管理データは、前記中継装置が管理する前記セッションの情報を、そのセッションを用いて転送する前記リクエストを特定するリクエストの特定情報と対応づけるデータであり、
    前記転送部は、
    前記スイッチから所定リクエストを受信すると、前記所定リクエストの特定情報を前記セッション管理データから検索し、
    前記セッション管理データ内に前記所定リクエストの特定情報が存在するときには、その特定情報に対応する前記セッションを用いて前記所定リクエストを宛先へと転送し、
    前記セッション管理データ内に前記所定リクエストの特定情報が存在しないときには、前記記憶手段に格納されている複数バージョンの前記振り分けルールのうちの最新バージョン以外のバージョンを特定し、その特定したバージョンに該当する前記振り分けルールの振り分け先である他装置の前記中継装置へと前記所定リクエストを転送することを特徴とする
    アクセス中継方法。
  2. 前記転送部は、
    前記他装置の中継装置へと前記所定リクエストを転送する処理において、前記他装置の中継装置の特定に使用したバージョン番号を前記所定リクエストに付加してから転送し、
    前記振り分けルールのうちの最新バージョン以外のバージョンを特定する処理について、
    前記受信した所定リクエストにバージョン番号が付加されているときには、その付加されているバージョン番号より1つ前のバージョンを特定し、
    前記受信した所定リクエストにバージョン番号が付加されていないときには、前記スイッチから自装置への送信に使用された前記振り分けルールのバージョン番号より1つ前のバージョンを特定することを特徴とする
    請求項1に記載のアクセス中継方法。
  3. 前記中継装置は、前記他装置の中継装置へと前記所定リクエストを転送する処理が所定期間発生しないときに、その旨を管理装置へと通知し、
    前記管理装置から前記振り分けルールの消去指示を受信したときに、前記記憶手段に格納されている複数バージョンの前記振り分けルールのうちの最新バージョン以外のバージョンの前記振り分けルールを前記記憶手段から消去することを特徴とする
    請求項1に記載のアクセス中継方法。
  4. 請求項1ないし請求項3のいずれか1項に記載のアクセス中継方法を、コンピュータである前記中継装置に実行させるためのアクセス中継プログラム。
  5. スイッチから送信されるリクエストをセッションを介して宛先へと転送する中継装置であって、

    前記中継装置は、転送部と、振り分けルールおよびセッション管理データを記憶する記憶手段とを有しており、
    前記スイッチから複数の前記中継装置のうちの前記リクエストを振り分ける前記中継装置を特定する情報を対応づけるルールであり、その振り分けルールが更新される度に新たなバージョン番号が割り当てられた振り分けルールと、
    前記中継装置が管理する前記セッションの情報を、そのセッションを用いて転送する前記リクエストを特定するリクエストの特定情報と対応づけるセッション管理データとを記憶している記憶手段と、
    前記スイッチから所定リクエストを受信すると、前記所定リクエストの特定情報を前記セッション管理データから検索し、
    前記セッション管理データ内に前記所定リクエストの特定情報が存在するときには、その特定情報に対応する前記セッションを用いて前記所定リクエストを宛先へと転送し、
    前記セッション管理データ内に前記所定リクエストの特定情報が存在しないときには、前記記憶手段に格納されている複数バージョンの前記振り分けルールのうちの最新バージョン以外のバージョンを特定し、その特定したバージョンに該当する前記振り分けルールの振り分け先である他装置の前記中継装置へと前記所定リクエストを転送する転送部と、を有することを特徴とする
    中継装置。
  6. 前記転送部は、
    前記他装置の中継装置へと前記所定リクエストを転送する処理において、前記他装置の中継装置の特定に使用したバージョン番号を前記所定リクエストに付加してから転送し、
    前記振り分けルールのうちの最新バージョン以外のバージョンを特定する処理について、
    前記受信した所定リクエストにバージョン番号が付加されているときには、その付加されているバージョン番号より1つ前のバージョンを特定し、
    前記受信した所定リクエストにバージョン番号が付加されていないときには、前記スイッチから自装置への送信に使用された前記振り分けルールのバージョン番号より1つ前のバージョンを特定することを特徴とする
    請求項5に記載の中継装置。
  7. 前記中継装置は、前記他装置の中継装置へと前記所定リクエストを転送する処理が所定期間発生しないときに、その旨を管理装置へと通知し、
    前記管理装置から前記振り分けルールの消去指示を受信したときに、前記記憶手段に格納されている複数バージョンの前記振り分けルールのうちの最新バージョン以外のバージョンの前記振り分けルールを前記記憶手段から消去することを特徴とする
    請求項5に記載の中継装置。
JP2010226573A 2010-10-06 2010-10-06 リクエスト中継方法、リクエスト中継プログラム、および、中継装置 Expired - Fee Related JP5592222B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010226573A JP5592222B2 (ja) 2010-10-06 2010-10-06 リクエスト中継方法、リクエスト中継プログラム、および、中継装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010226573A JP5592222B2 (ja) 2010-10-06 2010-10-06 リクエスト中継方法、リクエスト中継プログラム、および、中継装置

Publications (2)

Publication Number Publication Date
JP2012080493A true JP2012080493A (ja) 2012-04-19
JP5592222B2 JP5592222B2 (ja) 2014-09-17

Family

ID=46240177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010226573A Expired - Fee Related JP5592222B2 (ja) 2010-10-06 2010-10-06 リクエスト中継方法、リクエスト中継プログラム、および、中継装置

Country Status (1)

Country Link
JP (1) JP5592222B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004229130A (ja) * 2003-01-24 2004-08-12 Fujitsu Ltd 振り分け制御装置
JP2005122756A (ja) * 2004-11-22 2005-05-12 Hitachi Ltd 輻輳制御方法
JP2007243467A (ja) * 2006-03-07 2007-09-20 Fujitsu Ltd ブレード型システムおよびコネクション管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004229130A (ja) * 2003-01-24 2004-08-12 Fujitsu Ltd 振り分け制御装置
JP2005122756A (ja) * 2004-11-22 2005-05-12 Hitachi Ltd 輻輳制御方法
JP2007243467A (ja) * 2006-03-07 2007-09-20 Fujitsu Ltd ブレード型システムおよびコネクション管理方法

Also Published As

Publication number Publication date
JP5592222B2 (ja) 2014-09-17

Similar Documents

Publication Publication Date Title
US8677011B2 (en) Load distribution system, load distribution method, apparatuses constituting load distribution system, and program
JP5847185B2 (ja) コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置
JP2007066161A (ja) キャッシュシステム
US20150127837A1 (en) Relay apparatus and data transfer method
JP2018536356A (ja) 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするためのシステムおよび方法
US20160087879A1 (en) Communication system, node device, node program, and communication program
JP2018085776A (ja) 負荷分散装置、中継装置、負荷分散方法及びプログラム
CN111917838B (zh) 基于微服务的处理方法及装置、存储介质、电子装置
JP5564661B2 (ja) 中継ノード及び中継処理プログラム
WO2017128713A1 (zh) 订阅消息的发布方法及装置
JP4815547B2 (ja) データ同期システム、データ同期方法、及び同期管理サーバ
JP2011055236A (ja) 通信システム、マッピング情報通知装置、マッピング情報通知方法及びプログラム
JP5399276B2 (ja) コンテンツ配信システムと方法およびプログラム
JP2023033600A (ja) コンテンツ配信システム、ユニキャストマルチキャスト変換装置、コンテンツ配信方法及びコンテンツ配信プログラム
JP2007233700A (ja) キャッシュシステム、負荷監視サーバ、キャッシュ管理サーバ及びキャッシュサーバ。
JP5592222B2 (ja) リクエスト中継方法、リクエスト中継プログラム、および、中継装置
JP5741956B2 (ja) 中継装置および中継方法
JP6495777B2 (ja) コンテンツ配信ネットワークの転送装置、サーバ装置及びプログラム
JP2010122933A (ja) コンテンツ転送方法および装置
JP5429024B2 (ja) 情報通信システム、ノード装置、情報通信方法及びプログラム
JP2011244048A (ja) 中継装置、プログラム及び方法
JP6196564B2 (ja) 中継装置及びその制御方法、プログラム
JP6301215B2 (ja) 中継装置及びその制御方法、プログラム
JP2014003392A (ja) 制御ノード及び通信制御方法
JP6044218B2 (ja) ネットワークスイッチ、ネットワークスイッチ制御方法、及びネットワークスイッチ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140731

R150 Certificate of patent or registration of utility model

Ref document number: 5592222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees