JP2012222402A - 中継装置、中継プログラム、及び中継方法 - Google Patents

中継装置、中継プログラム、及び中継方法 Download PDF

Info

Publication number
JP2012222402A
JP2012222402A JP2011082898A JP2011082898A JP2012222402A JP 2012222402 A JP2012222402 A JP 2012222402A JP 2011082898 A JP2011082898 A JP 2011082898A JP 2011082898 A JP2011082898 A JP 2011082898A JP 2012222402 A JP2012222402 A JP 2012222402A
Authority
JP
Japan
Prior art keywords
information
relay
session
inquiry
relay device
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
JP2011082898A
Other languages
English (en)
Other versions
JP5741150B2 (ja
Inventor
Koichiro Amamiya
宏一郎 雨宮
Kenichi Abiru
健一 阿比留
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011082898A priority Critical patent/JP5741150B2/ja
Priority to US13/424,468 priority patent/US8898313B2/en
Publication of JP2012222402A publication Critical patent/JP2012222402A/ja
Application granted granted Critical
Publication of JP5741150B2 publication Critical patent/JP5741150B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/20Repeater circuits; Relay circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】情報処理端末から要求情報が送信されてから、その要求情報に対する情報処理装置からの応答情報が返信されるまでの遅延時間を低減する中継技術を提供する。
【解決手段】初回の要求情報に対する応答情報が情報処理装置から受信された場合、受信した応答情報から、要求情報を送信した情報処理端末と要求情報を受信した情報処理装置との間で設定されるセッションを識別する第1セッション識別情報を抽出し、応答情報を前記情報処理端末へ送信し、応答情報を情報処理端末へ送信し、他の中継装置に対して、セッション対応アドレス情報を送信し、情報処理端末から受信した2回目以降の要求情報から、第2セッション識別情報を抽出し、セッション対応アドレス情報が送信された中継装置に対して、抽出した第2セッション識別情報に対応するセッション対応アドレス情報の問合せを行うことにより、上記課題の解決を図る。
【選択図】図5

Description

本明細書は、情報処理装置と情報処理端末との間の通信の中継技術に関する。
現在、インターネットに代表される通信ネットワークは広く社会に普及している。それにより、情報処理装置(以下、「サーバ」という)を用いて、通信ネットワークと接続された端末である情報処理端末(以下、「端末」という)のユーザを対象にした様々なサービスが提供されるようになっている。
サービスを提供するサーバは、端末から受信したリクエストメッセージによりセッションを生成し、その端末のユーザを対象にしたサービスを提供する。このセッションは、サーバが1端末にサービスを提供するうえでの単位に相当する。このセッションを生成したサーバは、端末に応答(レスポンス)するメッセージに、生成したセッションを識別する識別子であるセッションIDを挿入して送信する。セッションIDが挿入されたメッセージを受信した端末は以降、そのセッションIDを挿入したメッセージをサーバ宛てに送信する。それによりサーバは、端末から受信したメッセージ中のセッションIDにより、サービスの提供を継続することができる。
メッセージのコンテンツを用いて端末−サーバ間の通信の中継処理を行う場合、中継装置の処理負荷が高くなる。中継処理のスループットの向上を図るために利用される方法の一例に、スケールアウト方式がある。スケールアウト方式とは、CPUを複数並べて並列処理させることにより中継システムの処理能力を向上させる方式である。
図1は、スケールアウト方式を採用した中継システムを説明するための図である。中継システムは、複数の中継装置3(3−1,・・・,3−n)を含む。図1では、並列に配置された中継装置3(3−1,・・・,3−n)の前段に、L4−負荷分散装置(L4-server load balancer(L4-SLB))5が配置されている。L4−負荷分散装置5は、パケットのL3ヘッダまたはL4ヘッダを参照して、パケットを中継装置3に振り分ける処理を行う。中継装置3は、そのパケットをメッセージに組み立てて、セッションIDを参照してメッセージの転送先を決定・送信する処理を行う。
パケットの振り分けに際して、L4−負荷分散装置5はセッションIDを参照しないため、同じセッションIDを含むリクエストメッセージが前回と同じ中継装置3に到達するとは限らない。
初回のリクエストメッセージ及び応答メッセージを中継した中継装置3には、セッションIDとそのセッションIDに対応するメッセージ転送先のサーバアドレスとを含む情報(転送先情報)が存在する。
一方、他の中継装置3にはその転送先情報が存在しない、という状態に陥る。すると、中継装置3は、セッションデータのあるサーバ2に、端末1からのリクエストメッセージを届けることができない。そのため、並列化された中継システムは、転送先管理テーブル4を同期する機構を具備している。そして、セッションが確立した際に、中継装置3間で転送先情報が同期されている。これにより、後続リクエストメッセージがどの中継装置に振り分けられたとしても、対応するサーバへ正常にメッセージを転送することができる。転送先管理テーブルの同期の方法としては、例えば、図2、図3に示すように、以下の2種類が考えられる。
図2は、転送先管理テーブルの第1の同期方式を示す。転送先管理テーブルの第1の同期方式は、転送先管理テーブル4(4−1,4−2,・・・,4−n)の内容(転送先情報)を中継装置3(3−1,3−2,・・・,3−n)間で同期させる方式である。この方法では、ある特定のセッションIDを含む初回リクエストメッセージ及び応答メッセージを中継した中継装置3から、他の中継装置3に対して、転送先情報が配布される。
図3は、転送先管理テーブルの第2の同期方式を示す。転送先管理テーブルの第2の同期方式は、転送先設定機構7を、中継装置3群の外部に設ける方式である。転送先設定機構7は、各中継装置3に転送先情報を配布する。転送先設定機構7は、セッション確立時にサーバ2から、セッションID及びセッションデータを保持するサーバアドレスの情報を収集する。転送先設定機構7は、その収集した情報に基づいて、転送先情報を生成し、各中継装置3に配布する。
このようにして、各中継装置の転送先情報を同期させることができるので、中継装置3は、セッションが継続する間は同じ端末1からのリクエストを同じサーバ2−1に振り分けることができる(一意性保証)。
特表2001−526814号公報 特開2010−108479号公報
あるセッションIDを含むメッセージを確実にそのセッションIDで特定されるセッションデータを保持しているサーバへ届けて、サービスの一意性を確保するためには、次のことが要求される。すなわち、他の全ての中継装置への転送先情報の設定が完了したことを確認した後に、後続のリクエストメッセージについての処理を行う必要がある。
しかしながら、中継装置の並列度が増加するに従って、転送先情報の配布回数は増加する。上述の通り、一意性を保証するため、すべての中継装置への転送先情報の配布が完了するまで端末側へは応答を返さない。そのため、中継装置の並列度が上がるにつれて、端末への応答遅延が増大する。
そこで、本明細書では、情報処理端末から要求情報が送信されてから、その要求情報に対する情報処理装置からの応答情報が返信されるまでの遅延時間を低減する中継技術を提供する。
情報処理端末と情報処理装置との間の通信を中継する中継装置は、第1抽出部、送信部、第2抽出部、問合せ部を含む。
第1抽出部は、情報処理端末からの初回の要求情報に対する応答情報が情報処理装置から受信された場合、次の処理を行う。すなわち、第1抽出部は、受信した応答情報から、情報処理端末と情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、情報処理装置のアドレスを抽出して第1格納部に格納する。送信部は、応答情報を情報処理端末へ送信し、抽出した第1のセッション識別情報と情報処理装置のアドレスとを含むセッション対応アドレス情報を、中継装置とは別の1つ以上の中継装置に送信する。第2抽出部は、情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出する。問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報が第1格納部に格納されていない場合、第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを別の1つ以上の中継装置に行う。
本明細書に記載の技術によれば、情報処理端末から要求情報が送信されてから、その要求情報に対する情報処理装置からの応答情報が返信されるまでの遅延時間を低減することができる。
スケールアウト方式を採用した中継システムを説明するための図である。 転送先管理テーブルの第1の同期方式を示す。 転送先管理テーブルの第2の同期方式を示す。 本実施形態における端末−サーバ間の通信を行う通信システムの一例を示す。 本実施形態における中継装置の一例を示す。 問合せ先リスト22の一例を示す。 最優先配布先リスト23の一例を示す。 中継装置リスト21の一例を示す。 転送先管理テーブル20の一例を示す。 本実施形態におけるリクエストメッセージの中継処理フローを示す。 図10のS48の処理の詳細を示す。 負荷分散装置から中継装置へ転送されたリクエストメッセージ(msg(1))(セッション確立前)のデータ構造の一例を示す。 負荷分散装置から中継装置へ転送されたリクエストメッセージ(msg(1))(セッション確立後)のデータ構造の一例を示す。 問合せ元の中継装置から問合せ先の中継装置へ送信される問合せメッセージ(msg(2))のデータ構造の一例を示す。 問合せ先の中継装置から問合せ元の中継装置へ送信される問合せ回答メッセージ(msg(3))のデータ構造の一例を示す。 中継装置からサーバへ転送されるリクエストメッセージ(msg(4))(セッション確立前)のデータ構造の一例を示す。 中継装置からサーバへ転送されるリクエストメッセージ(msg(4))(セッション確立後)のデータ構造の一例を示す。 本実施形態における応答メッセージの中継処理フローを示す。 図18のS68またはS69の処理の詳細を示す。 サーバから中継装置へ送信される応答メッセージ(msg(5))のデータ構造の一例を示す。 中継装置から負荷分散装置へ転送される応答メッセージ(msg(6))のデータ構造の一例を示す。 配布元の中継装置から配布先の中継装置へ配布される通知メッセージ(msg(7))のデータ構造の一例を示す。 実施例1におけるメッセージ中継システムの構成の一例を示す。 実施例1における(A)最優先配布先リスト、(B)問合せ先リストの一例を示す。 実施例2におけるメッセージ中継システムの構成の一例を示す。 実施例2における各グループの各中継装置に設定された最優先配布先リスト、問合せ先リストの一例を示す。 実施例3におけるメッセージ中継システムの構成の一例を示す。 実施例3における最優先配布先の中継装置の一例を示す。 実施例3におけるグループ内装置リストの一例を示す。 実施例3における応答メッセージの中継処理フローを示す。 実施例3における最優先配布先の中継装置によるグループ内の中継装置への転送先情報の配布処理を示す。 実施例4における中継装置の一例を示す。 実施例4におけるリクエストメッセージの中継処理フローを示す。 実施例4における応答メッセージの中継処理フローを示す。 実施例5におけるリクエストメッセージの中継処理フローを示す。 実施例5における応答メッセージの中継処理フローを示す。 実施例6におけるリクエストメッセージの中継処理フローを示す。 実施例7における中継装置の一例を示す。 実施例7におけるグループ定義テーブル26の一例を示す。 実施例7におけるリクエストメッセージの中継処理フローを示す。 実施例7における応答メッセージの中継処理フローを示す。 実施例8におけるリクエストメッセージの中継処理フローを示す。 各リクエストへの応答時間(期待値)と1つのサービスセッション(10メッセージで構成されると仮定)完了までにかかる時間を示したグラフ(その1)を示す。 各リクエストへの応答時間(期待値)と1つのサービスセッション(10メッセージで構成されると仮定)完了までにかかる時間を示したグラフ(その2)を示す。 各リクエストへの応答時間(期待値)と1つのサービスセッション(10メッセージで構成されると仮定)完了までにかかる時間を示したグラフ(その3)を示す。 本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。
本実施形態では以下のことを実現する。すなわち、(A)サーバ側から端末側へ応答メッセージを送る場合、セッション確立時に並列化された中継装置への転送先情報の配布は行わずに、サーバ側からの応答を端末へ返す。このとき、応答時にはメッセージが通過した中継装置だけがメッセージ転送先情報を保持している。
次に、(B)メッセージを中継した中継装置は他の中継装置に向けて転送先情報を配布する。これにより、最終的には全中継装置が転送先情報を共有する。
さらに、(C)確立済セッションのIDを含む後続メッセージを受信した中継装置は、後続メッセージに含まれるセッションIDで特定される転送先情報を保有している場合は、その転送先情報に従ってその継続メッセージを転送先へ転送する。セッションIDによって特定される転送先情報を保有していない場合、中継装置は、他の中継装置に対して問合せを行い、その回答によって転送先情報を取得し、その継続メッセージを転送先へ転送する。
また、(B)における転送先情報の配布先と、(C)における転送先情報の問合せ先との選択を完全に独立にしてしまうと、全ての中継装置に対して問合せを実施しないと、転送先が分からないという事態が生じる可能性がある。その場合には(A)の仕組みによる遅延削減効果が打ち消されてしまう。そこで、(D)転送先情報の配布先及び問合せ先のリストを並列化された全ての中継装置に予め設定しておく。転送先情報の配布先及び問合せ先リストは、配布時には転送先情報を優先的に配布する中継装置のリストとして用い、問合せ時には転送先情報についての問合せ先の中継装置のリストとして用いる。なお、そのリストに記載する装置は1台でも良いし、また負荷の拡散や冗長性確保の目的で複数台としても良い。
図4は、本実施形態における端末−サーバ間の通信を行う通信システムの一例を示す。通信システムは、複数の端末1(1−1,1−2,・・・,2−p)、ネットワーク9、負荷分散装置5、中継システム10、複数のサーバ2(2−1,2−2,・・・,2−r)を含む。中継システム10は、複数の中継装置を含む。以下では、複数の中継装置のうちのいずれかの中継装置を符号11で表し、その他の中継装置を符号11,11−1,11−2,・・・,11−q)で表す。ここで、p、q、rは任意の整数である。
中継システム10の前段に、負荷分散装置5が配置されている。負荷分散装置5は、ネットワーク9を介して端末1−1から送信されたパケットを受信する。それから、負荷分散装置5は、そのパケットのL3ヘッダまたはL4ヘッダを参照して、パケットをいずれかの中継装置、例えば中継装置11に振り分ける。
中継装置11は、そのパケットをメッセージに組み立てて、セッションIDを参照してメッセージの転送先、例えばサーバ2−1を決定し、そのメッセージをそのサーバ2−1へ送信する。
サーバ2−1は、リクエストメッセージに対するレスポンスメッセージを、そのリクエストメッセージを送信した中継装置11に返信する。
中継装置11は、初回のリクエストメッセージに対するレスポンスメッセージをサーバ2から受信した場合、そのレスポンスメッセージからセッションIDを抽出する。ここで、セッションIDは、リクエストメッセージを送信した端末1−1とリクエストメッセージを受信したサーバ2−1との間で設定されるセッションを識別する情報である。
中継装置11は、レスポンスメッセージを、負荷分散装置5を介して端末1−1へ送信する。
中継装置11は、レスポンスメッセージを端末1−1へ送信した後、他の中継装置11−2〜11−qに対して、セッションIDとそのセッションIDに対応するメッセージ転送先のサーバアドレスとを含む情報(転送先情報)を配布する。
転送先情報が配布される前に、例えば中継装置11−1が端末1から2回目以降のリクエストメッセージを受信した場合、中継装置11−1は、後述する問合せ処理を行って、転送先情報が配布された他の中継装置から転送先情報を取得する。これにより、中継装置11−1は、転送先情報の示すサーバ2−1に対して、後続のリクエストメッセージを転送することができる。
図5は、本実施形態における中継装置の一例を示す。中継装置11は、受信部12、リクエスト中継部13、送信部14、問合せ部15、回答部16、応答中継部17、配布部18、通知受信部19を含む。中継装置11の記憶装置には、転送先管理テーブル20、中継装置リスト21、問合せ先リスト22、最優先配布先リスト23が格納されている。他の中継装置11−1,1・・・、11−qも同様に、受信部12、リクエスト中継部13、送信部14、問合せ部15、回答部16、応答中継部17、配布部18、通知受信部19を含む。以下、説明の便宜上、中継装置11について説明する。
受信部12は、中継装置11外部からのメッセージを受信する。リクエスト中継部13は、端末1から発行されるリクエストメッセージを処理する。送信部14は、中継装置11外部へメッセージを送信する。応答中継部17は、サーバ2から発行される応答メッセージを処理する。
問合せ部15は、転送先管理テーブル20に転送先情報が無い場合に、リクエスト中継部13からの依頼を受けて、他の中継装置11−1に対して転送先情報について問い合わせる問合せメッセージを生成する。問合せ部15は、その生成した問合せメッセージを他の中継装置11−1に送信する。また、問合せ部15は、他の中継装置11−1から問合せ回答メッセージを受けて、その問合せ結果をリクエスト中継部13に通知する。回答部16は、中継装置11外部からの問合せに対して転送先情報を回答する。
配布部18は、転送先情報を他の中継装置に対して配布する。通知受信部19は、他の中継装置からの、転送先情報を含む通知メッセージを受信し、転送先情報を転送先管理テーブルに記録する。
転送先管理テーブル20は、セッションIDに基づいてメッセージの転送先となるサーバを決定するためのテーブルである。最優先配布先リスト23は、セッションが確立し、その応答メッセージを端末へ返した後に、最優先で転送先情報を配布されるべき中継装置のアドレスを格納したリストである。中継装置リスト21は、中継システムに存在する中継装置のアドレスを格納したリストである。問合せ先リスト22は、メッセージの転送先情報の問合せ先となる中継装置のアドレスを格納したリストである。
図6は、問合せ先リスト22の一例を示す。問合せ先リスト22には、転送先情報の問合せ先となる中継装置のアドレスがリスト化されている。
図7は、最優先配布先リスト23の一例を示す。最優先配布先リスト23には、転送先情報の配布先となる中継装置のアドレスがリスト化されている。
図8は、中継装置リスト21の一例を示す。中継装置リスト21には、中継システムに存在する中継装置11のアドレスがリスト化されている。
図9は、転送先管理テーブル20の一例を示す。転送先管理テーブル20は、セッションIDに対応するサーバアドレス(転送先情報)を管理するためのものである。転送先管理テーブル20は、「セッションID」20a、「転送先アドレス」20bのデータ項目を含む。「セッションID」20aには、セッションIDが格納される。セッションIDは、サーバ2が端末1からのリクエストを一意に特定し、セッションデータを取り出すために利用する識別子であって、メッセージに付与されて送受信される。「転送先アドレス」20bには、「セッションID」20aで特定されるセッションデータが保持されているサーバ2のIPアドレス(またはホスト名)およびポート番号が格納される。中継装置11は、「セッションID」20aのセッションIDを含むメッセージを転送先のサーバアドレスに向けて転送する。これにより、中継装置11は、端末1−サーバ2間のサービス継続を保証する。
図10は、本実施形態におけるリクエストメッセージの中継処理フローを示す。受信部12は、端末1からリクエストメッセージ(msg(1))を受信する(S41)。msg(1)については、図12、図13で説明する。リクエスト中継部13は、端末1からのリクエストメッセージのレイヤ7プロトコルヘッダ、またはメッセージコンテンツからセッションIDの抽出を試みる(S42)。S41で受信したリクエストがサービス利用者にとっての初回リクエストである場合、まだサーバへその利用者のリクエストメッセージが一度も届いておらず、セッションIDも端末1へ送信されていない。そのため、図12に示すように、リクエストメッセージにはセッションIDは含まれていない。一方、S41で受信したリクエストが一度サーバ2にアクセスしたことのある利用者からのリクエスト(後続のリクエスト)の場合、図13に示すように、リクエストメッセージにセッションIDが含まれている。このようにセッションIDの有無から、リクエスト中継部13は、受信したメッセージが初回リクエストであるか、後続のリクエストであるかを判別し、次の処理を選択する(S43)。
S43において初回リクエストであると判定された場合(S43で「No」)、 リクエスト中継部13は、負荷分散アルゴリズムに従った宛先決定処理を行う(S47)。S47では、リクエスト中継部13は、ラウンドロビン、サーバ負荷監視結果等を用いた負荷分散アルゴリズムに従ってメッセージの転送先を、サーバ群の中から選択し、メッセージの転送先として決定する。
S43において後続リクエストであると判定された場合(S43で「Yes」)、リクエスト中継部13は、転送先管理テーブル20に従った宛先決定処理を行う。ここでは、リクエスト中継部13は、S42で抽出したセッションIDをキーに転送先管理テーブル20を検索する(S44)。
S44の検索の結果、転送先管理テーブル20中にHitするエントリが見つかった場合(S45で「Yes」)、リクエスト中継部13は、そのエントリに設定されている転送先アドレスをメッセージの転送先と決定する(S46)。
S44の検索の結果、転送先管理テーブル20中にHitするエントリが見つからなかった場合(Miss Hitの場合)(S45で「No」)、リクエスト中継部13は、次の処理を行う。すなわち、リクエスト中継部13は、問合せ部15に、他の中継装置11−1に転送先情報を問合せるように依頼する。
問合せ部15は、S42で抽出したセッションIDを含んだ問合せメッセージ(msg(2))を発行して、他の中継装置11−1に対して問合せ処理を行う(S48)。ここで、各中継装置11は、問合せ先リスト22を保持する。問合せ部15は、問合せ先リスト22に基づいて問合せ先のアドレスを特定し、その問合せ先のアドレスに向けて問合せメッセージ(msg(2))を発行する。これにより、問合せ部15は、他の中継装置11−1に対して、転送先情報の問合せを順次実施する。
ここで、問合せ先リスト22のどのエントリに設定された中継装置11から問合せを開始するかについては、例えば、次の方法が考えられる。一例として、他の中継装置11への問合せの一例としては、問合せ先リスト22の先頭の中継装置11から順に問合せを開始しても良い。また、他の例としては、適当なランダム選択アルゴリズムに従って問合せ先リスト22から中継装置11を選択し、その選択した中継装置11に問い合わせても良い。S48の処理については、図11で説明する。
問合せ元の中継装置11の問合せ部15は、問合せ先の中継装置11−1から、問合せ回答メッセージ(msg(3))を受信する。問合せの結果、問合せ先から転送先情報が取得できなかった場合、問合せ部15は、次の中継装置に転送先情報の問合せを行う。
問合せ部15は、問合せ先から転送先情報が取得できた時点で問合せ(S48)を終了する。問合せ部15は、取得した転送先情報に基づいて、転送先アドレスとセッションIDとを関係付けて、転送先管理テーブル20へ登録する(S49)。リクエスト中継部13は、取得した転送先情報から、メッセージの転送先のサーバアドレスを決定する(S50)。
S46、S47またはS50の処理終了後、送信部14は、端末1からのリクエストメッセージ(msg(4))を、S46、S47またはS50で決定したサーバアドレスへ向けて送信する(S51)。これにより、リクエストメッセージの中継処理フローは終了する。
図11は、図10のS48の処理の詳細を示す。問合せ先の中継装置11−1は、問合せ元の中継装置11から発行された転送先情報についての問合せメッセージ(msg(2))を受信する(S48−1)。
問合せ先の中継装置11−1の回答部16は、問合せメッセージ(msg(2))からセッションIDを抽出し(S48−2)、そのセッションIDをキーに転送先管理テーブル20を検索する(S48−3)。
S48−3の検索の結果、転送先管理テーブル20中にHitするエントリが見つかった場合(S48−4で「Yes」)、回答部16は、そのエントリから転送先のサーバアドレスを取得する。回答部16は、その転送先のサーバアドレスとセッションIDを問合せ回答メッセージに設定し、その問合せ回答メッセージを問合せ元の中継装置11へ送信する(S48−5)。
S48−3の検索の結果、転送先管理テーブル20中にHitするエントリが見つからなかった場合(Miss Hitの場合)(S48−4で「No」)、回答部16は、次の処理を行う。すなわち、回答部16は、転送先が不明である旨の問合せ回答メッセージを問合せ元の中継装置11へ送信する(S48−6)。転送先が不明である旨の問合せ回答メッセージとは、例えば、問合せ回答メッセージ(msg(3))に転送先アドレスが含まれていないものでもよい。なお、問合せ元の中継装置11では、転送先が不明である旨の問合せ回答メッセージを受け取った場合には、再度同一の中継装置に問い合わせてもよいし、他の中継装置へ問い合わせるようにしてもよい。
図12は、負荷分散装置から中継装置へ転送されたリクエストメッセージ(msg(1))(セッション確立前)のデータ構造の一例を示す。図13は、負荷分散装置から中継装置へ転送されたリクエストメッセージ(msg(1))(セッション確立後)のデータ構造の一例を示す。
図12、図13及び後述する他のメッセージの構成要素には、図2で説明したように、パケットヘッダ(L3ヘッダ/L4ヘッダ)、HTTPプロトコルヘッダ(レイヤ7プロトコルヘッダに相当する)、メッセージコンテンツの他に、L2ヘッダが含まれる。
図12に示すセッション確立前のリクエストメッセージ(msg(1))は、初回のリクエストメッセージに相当する。図12に示すように、「Source MAC」には、負荷分散装置のMACアドレス(Media Access Control address)が設定されている。「Destination MAC」には、中継装置11のMACアドレスが設定されている。
「Source IP:Port」には、送信元端末のIPアドレスおよびポート番号が設定されている。「Destination IP:Port」には、中継装置11に付与されたIPアドレスおよびポート番号が設定されている。「HTTPプロトコルヘッダ」、「メッセージコンテンツ」については、省略する。
図13に示すリクエストメッセージ(msg(1))(セッション確立後)は、後続のリクエストメッセージに相当する。図12に示すセッション確立前のリクエストメッセージ(msg(1))と比べ、図13では、「HTTPプロトコルヘッダ」に「Cookie」フィールドが追加されている。そして、その「Cookie」フィールドにセッションIDが設定されている。
図14は、問合せ元の中継装置から問合せ先の中継装置へ送信される問合せメッセージ(msg(2))のデータ構造の一例を示す。問合せメッセージ(msg(2))は、中継装置11間で送受信される制御用メッセージである。
図14において、「Source MAC」には、メッセージの転送先情報の問合せ元となる中継装置11のMACアドレスが設定されている。「Destination MAC」には、メッセージの転送先情報の問合せ先となる中継装置のMACアドレスが設定されている。「Source IP:Port」には、メッセージの転送先情報の問合せ元となる中継装置のIPアドレス及びポート番号が設定されている。「Destination IP:Port」には、メッセージの転送先情報の問合せ先となる中継装置の問合せ受付用IPアドレス及びポート番号が設定されている。「メッセージコンテンツ」には「セッションID」フィールドが追加され、そのフィールドにセッションIDが設定されている。
図15は、問合せ先の中継装置から問合せ元の中継装置へ送信される問合せ回答メッセージ(msg(3))のデータ構造の一例を示す。問合せ回答メッセージ(msg(3))は、中継装置11間で送受信される制御用メッセージである。
「Source MAC」には、転送先情報の問合せ先となる中継装置のMACアドレスが設定されている。「Destination MAC」には、転送先情報の問合せ元となる中継装置のMACアドレスが設定されている。「Source IP:Port」には、転送先情報の問合せ先となる中継装置の問合せ受付用のIPアドレス及びポート番号が設定されている。「Destination IP:Port」には、メッセージの転送先情報の問合せ元となる中継装置のIPアドレス及びポート番号が設定されている。「メッセージコンテンツ」には、「セッションID」フィールドと「転送先サーバアドレス」フィールドが追加されている。「セッションID」フィールドには、セッションIDが設定されている。「転送先サーバアドレス」には、「セッションID」フィールドに設定されたセッションIDで特定されるセッションデータを保持するサーバのIPアドレスが設定されている。
図16は、中継装置からサーバへ転送されるリクエストメッセージ(msg(4))(セッション確立前)のデータ構造の一例を示す。図17は、中継装置からサーバへ転送されるリクエストメッセージ(msg(4))(セッション確立後)のデータ構造の一例を示す。
図16及び図17では、「Source MAC」には、中継装置のMACアドレスが設定されている。「Destination MAC」には、サーバのMACアドレスが設定されている。「Source IP:Port」には、中継装置のIPアドレス及びポート番号が設定されている。「Destination IP:Port」には、サーバのIPアドレス及びポート番号が設定されている。
図16に示すセッション確立前のリクエストメッセージ(msg(1))と比べ、図17では、「HTTPプロトコルヘッダ」に「Cookie」フィールドが追加されている。そして、その「Cookie」フィールドにセッションIDが設定されている。
図18は、本実施形態における応答メッセージの中継処理フローを示す。受信部12は、サーバ2から応答メッセージ(msg(5))を受信する(S61)。応答中継部17は、その応答メッセージ(msg(5))のレイヤ7プロトコルヘッダ、またはメッセージコンテンツからセッションIDの抽出を試みる(S62)。サーバ2は、サービス継続が必要であると判断した場合は、セッションIDを含めた応答メッセージを送信する。
応答中継部17は、応答メッセージ(msg(5))にセッションIDが含まれているか判定する(S63)。応答メッセージ(msg(5))にセッションIDが含まれている場合(S63で「Yes」)、S64の処理へ進む。応答メッセージ(msg(5))にセッションIDが含まれていない場合(S63で「No」)、S70の処理に進む。
S70において、応答中継部17は、応答メッセージ(msg(5))のL2ヘッダ、パケットヘッダ(L3ヘッダ/L4ヘッダ)の内容を書き換えた応答メッセージ(msg(6))を生成する。送信部14は、応答メッセージ(msg(6))を端末1へ送信する。
応答メッセージ(msg(5))にセッションIDが含まれている場合(S63で「Yes」)、応答中継部17は、S62で抽出したセッションIDをキーに転送先管理テーブル20を検索する(S64)。転送先管理テーブル20にそのセッションIDに対応するエントリが無い場合、応答中継部17はMiss Hitと判定する。また、転送先管理テーブル20にそのセッションIDに対応するエントリがあったとしても、応答メッセージの送信元サーバのアドレスがそのエントリに設定されたメッセージの転送先アドレスと異なる場合、応答中継部17はMiss Hitと判定する。転送先管理テーブル20にそのセッションIDに対応するエントリがあり、かつ転送先アドレスと応答メッセージの送信元のアドレスとが一致した場合のみ、応答中継部17はHitと判定する。
S65の検索の結果、転送先管理テーブル20にHitするエントリが見つかった場合(S65で「Yes」)、S67の処理へ進む。S65の検索の結果、転送先管理テーブル20にHitするエントリが見つからなかった場合(Miss Hitの場合)(S65で「No」)、S66の処理へ進む。
S66において、応答中継部17は、S62で抽出したセッションIDと応答メッセージの送信元アドレスを関連付けた転送先情報を用いて、転送先管理テーブル20の更新処理を行う。すなわち、応答中継部17は、S62で抽出したセッションIDを、転送先管理テーブル20のセッションIDの列に登録し、応答メッセージの送信元アドレスを転送先管理テーブル20の転送先アドレスの列に登録する。
その後、応答中継部17は、応答メッセージ(msg(5))のL2ヘッダ、パケットヘッダ(L3ヘッダ/L4ヘッダ)の内容を書き換えた応答メッセージ(msg(6))を生成する。送信部14は、応答メッセージ(msg(6))を端末1へ送信する(S67)。
S67の処理後、配布部18は、S66で登録した転送先情報と最優先配布先リスト23を用いて、転送先情報を通知するための通知メッセージ(msg(7))を作成する。配布部18は、作成した通知メッセージ(msg(7))を他の中継装置へ配布する(S68)。配布部18は、配布時には最優先配布先リスト23を参照し、最優先配布先リスト23に登録されている中継装置11全てに通知メッセージ(msg(7))の配布を行い、その配布が完了した時点で、S68の処理を終了する。
それから、配布部18は、S66で登録した転送先情報を他の中継装置11へ配布する(S69)。配布部18は、最優先配布先リスト23及び中継装置リスト21を参照し、中継装置リスト21に登録された中継装置のうち、最優先配布先リスト23に登録されていなかった残りの中継装置すべてに通知メッセージ(msg(7))を配布する。
図19は、図18のS68またはS69の処理の詳細を示す。配布先の中継装置11−1は、配布元の中継装置11から配布された通知メッセージ(msg(7))を受信する(S71)。通知受信部19は、通知メッセージ(msg(7))からセッションID及び転送先サーバアドレスを抽出する(S72)。通知受信部19は、そのセッションIDをキーに転送先管理テーブル20を検索する(S73)。
S73の検索の結果、転送先管理テーブル20にHitするエントリが見つからなかった場合(S74で「No」)、通知受信部19は、転送先管理テーブル20に新たにエントリを追加する。そして、通知受信部19は、そのエントリにS72で抽出したセッションIDと転送先サーバアドレスを登録する(S75)。
S73の検索の結果、転送先管理テーブル20中にHitするエントリが見つかった場合(S74で「Yes」)、通知受信部19は、そのエントリの転送先サーバアドレスを更新する(S76)。
図20は、サーバから中継装置へ送信される応答メッセージ(msg(5))のデータ構造の一例を示す。「Source MAC」には、サーバのMACアドレスが設定されている。「Destination MAC」には、中継装置のMACアドレスが設定されている。「Source IP:Port」には、サーバのIPアドレス及びポート番号が設定されている。「Destination IP:Port」には、中継装置のIPアドレス及びポート番号が設定されている。「HTTPプロトコルヘッダ」に「Set−Cookie」フィールドが追加されている。そして、その「Set−Cookie」フィールドにセッションIDが設定されている。
図21は、中継装置から負荷分散装置へ転送される応答メッセージ(msg(6))のデータ構造の一例を示す。「Source MAC」には、中継装置のMACアドレスが設定されている。「Destination MAC」には、負荷分散装置のMACアドレスが設定されている。「Source IP:Port」には、中継装置のIPアドレス及びポート番号が設定されている。「Destination IP:Port」には、端末のIPアドレス及びポート番号が設定されている。「HTTPプロトコルヘッダ」に「Set−Cookie」フィールドが追加されている。そして、その「Set−Cookie」フィールドにセッションIDが設定されている。
図22は、配布元の中継装置から配布先の中継装置へ配布される通知メッセージ(msg(7))のデータ構造の一例を示す。通知メッセージ(msg(7))は、中継装置11間で送受信される制御用メッセージである。
「Source MAC」には、メッセージの転送先情報の配布元となる中継装置のMACアドレスが設定されている。「Destination MAC」には、メッセージの転送先情報の配布先となる中継装置のMACアドレスが設定されている。「Source IP:Port」には、メッセージの転送先情報の配布元となる中継装置のIPアドレス及びポート番号が設定されている。「Destination IP:Port」には、メッセージの転送先情報の配布先となる中継装置の配布受付用IPアドレス及びポート番号が設定されている。
「メッセージコンテンツ」には、「セッションID」フィールドと「転送先サーバアドレス」フィールドが追加されている。「セッションID」フィールドには、セッションIDが設定されている。「転送先サーバアドレス」には、「セッションID」フィールドに設定されたセッションIDで特定されるセッションデータを保持するサーバのIPアドレスが設定されている。
なお、図12−図17及び図20−図22ではレイヤ7プロトコルとしてHTTPを想定しているが、HTTP以外のレイヤ7プロトコルを用いても良いし、TCP層の直上にメッセージコンテンツを載せても良い。また、メッセージは、TCP以外の通信プロトコルを用いて送信することができる。その通信プロトコルとしては、例えばUDP(User Datagram Protocol)を挙げることができる。
本実施形態によれば、並列化されたN台の中継装置すべてに転送先情報を配布する方式と比較して、端末側への応答メッセージ送信前の設定配布先が1カ所になるため、配布のための処理遅延を1/Nに削減できる。この効果は、中継装置の並列度、Nが増すほど大きくなる。
また、応答メッセージ送信前に転送先情報を有する中継装置が1箇所であるため、中継に際し、転送先情報を有しない中継装置が後続メッセージを受信した場合、他の中継装置への問合せ処理による遅延が発生する可能性がある。しかし、本実施形態において、転送先情報の配布と問合せの制御を行うことにより、その問合せ処理に伴う遅延を最小限に抑えることができる。そのため、本実施形態では、全体として中継処理に伴って発生する遅延時間を短縮できる。
以下に、配布先・問合せ先の中継装置の選択方法についての実施例のバリエーションを示す。なお、以下で説明する処理において、特に言及しない限りは、上述した内容と同様のものとする。
(実施例1)
実施例1では、転送先情報の配布先及び問合せ先となる中継装置が予め決まっている場合の実施例について説明する。なお、実施例1において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図23は、実施例1におけるメッセージ中継システムの構成の一例を示す。図24は、実施例1における(A)最優先配布先リスト、(B)問合せ先リストの一例を示す。メッセージ中継システム中の各中継装置には、図24に示す共通の最優先配布先リスト23及び問合せ先リスト22が予め設定されている。図23の中継装置(#1)〜(#12)の構成は、図5と同じである。
図23において、中継装置(#5)は、セッション確立時における端末1からの初回リクエスト及びその応答メッセージ(セッションIDを含む)の中継処理を担当したとする。この場合、中継装置(♯5)は、まず、その初回リクエストに対する応答メッセージを端末1側へ返す(図18のS67)。その後、中継装置(♯5)は、矢印(太線)で示すように、最優先配布先リスト23に設定された中継装置(#1〜#4)に対して、転送先情報を配布する(図18のS68)。
その後、中継装置(♯5)は、矢印(通常)で示すように、最優先配布先リスト23に設定された中継装置(#1〜#4)以外の中継装置(低優先配布先)(#6〜#12)に対して転送先情報を配布する(図18のS69)。なお、低優先配布先への転送先情報の配布は、中継装置(♯5)が他のより優先度の高い処理を実施していないときに実行される。
ここで、転送先情報が低優先配布先に配布される前に、低優先配布先の中継装置(図23の場合、#11)がセッションIDを含む後続のリクエストメッセージを受信したとする。すると、中継装置(#11)は、図10のリクエストメッセージ中継処理フローを実行する。中継装置(#11)は、そのセッションIDについてのメッセージの転送先情報を転送先管理テーブルに有していない。この場合、中継装置(#11)は、問合せリスト22に基づいて、矢印(点線)で示すように、中継装置(#1〜#4)に順次、その転送先情報について問合せを行う(図10のS48)。
これにより、中継装置(#11)は、そのセッションIDに対応する転送先情報を取得し、転送先情報の示すサーバに対して、後続のリクエストメッセージを転送することができる(図10のS49−51)。
なお、通信トラフィックが非常に多い場合、中継装置(♯5)が優先度の高い処理を実施し、優先度の低い処理を実行することができない状態が想定される。この場合、中継装置(♯5)は、優先度の高い処理と優先度の低い処理とを一定の比率で実施するようにしてもよい。例えば、中継装置(♯5)は、優先度の高い処理を10回実施したら、優先度の低い処理を1回実施するようにしてもよい。
なお、図18では、12台の中継装置で構成されるメッセージ中継システムにおいて、優先的に配布する中継装置を#1〜#4の4台としているが、この台数は1台でも良いし、4台より多い台数に設定しても良い。
(実施例2)
実施例2では、転送先情報の配布先及び問合せ先となる中継装置が予め決まっている場合で、問合せ先がメッセージ中継装置の属するグループごとに異なる場合の実施例を説明する。なお、実施例2において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
実施例1の場合、問合せ先リストに設定された中継装置に対して、どのような順番で問合せるかについては、図10のS48で説明したように、各中継装置の問い合わせアルゴリズムで実施する。そのため、特定の中継装置に問い合わせが集中する可能性がある。
そこで実施例2では、中継システムに含まれる中継装置をグループに分割し、それぞれのグループに少なくとも1つ最優先配布先となる中継装置を設ける。また、各グループの中継装置の問合せ先リストには、同グループに1つある最優先配布先の中継装置を記載しておく。これにより、問合せ負荷が複数の中継装置に分散される。
図25は、実施例2におけるメッセージ中継システムの構成の一例を示す。図26は、実施例2における各グループの各中継装置に設定された最優先配布先リスト、問合せ先リストの一例を示す。図25の中継装置(#1)〜(#12)の構成は、図5と同じである。なお、実施例2において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図25において、メッセージ中継システム中の中継装置は、グループ#A,#B、#Cに分類されている。グループ#Aには、中継装置(#1〜#4)が属している。グループ#Bには、中継装置(#5〜#8)が属している。グループ#Cには、中継装置(#9〜#12)が属している。
グループ#Aに属する各中継装置(#1〜#4)には、図26(A)に示す最優先配布先リスト23a及び問合せ先リスト22aが予め設定されている。グループ#Bに属する各中継装置(#5〜#8)には、図26(B)に示す最優先配布先リスト23b及び問合せ先リスト22bが予め設定されている。グループ#Cに属する各中継装置(#9〜#12)には、図26(C)に示す最優先配布先リスト23c及び問合せ先リスト22cが予め設定されている。
図25において、中継装置(#3)は、セッション確立時における端末1からの初回リクエスト及びその応答メッセージ(セッションIDを含む)の中継処理を担当したとする。この場合、中継装置(♯3)は、まず、その初回リクエストに対する応答メッセージを端末1側へ返す(図18のS67)。その後、中継装置(♯3)は、矢印(太線)で示すように、最優先配布先リスト23aに設定された中継装置(#1,#5,#9)に対して、転送先情報を配布する(図18のS68)。その後、中継装置(♯3)は、矢印(通常)で示すように、最優先配布先リスト23に設定された中継装置(#1,#5,#9)以外の中継装置(低優先配布先の中継装置)に対して、転送先情報を含む通知メッセージを配布する(図18のS69)。なお、低優先配布先への転送先情報の配布は、中継装置(♯3)が他のより優先度の高い処理を実施していないときに実行される。
ここで、転送先情報が配布される前に、低優先配布先の中継装置(図23の場合、#11)がそのセッションIDを含む後続のリクエストメッセージを受信したとする。すると、中継装置(#11)は、図10のリクエストメッセージ中継処理フローを実行する。中継装置(#11)は、そのセッションIDについての転送先情報を転送先管理テーブルに有していない。この場合、中継装置(#11)は、矢印(点線)で示すように、問合せリスト22cに基づいて、中継装置(#9)に、そのメッセージの転送先情報について問合せを行う(図10のS48)。
これにより、中継装置(#11)は、そのセッションIDに対応する転送先情報を取得し、転送先情報の示すサーバに対して、後続のリクエストメッセージを転送することができる(図10のS49−51)。
なお、通信トラフィックが非常に多い場合、中継装置(♯3)が優先度の高い処理を実施し、優先度の低い処理を実行することができない状態が想定される。この場合、中継装置(♯3)は、優先度の高い処理と優先度の低い処理とを一定の比率で実施するようにしてもよい。例えば、中継装置(♯3)は、優先度の高い処理を10回実施したら、優先度の低い処理を1回実施するようにしてもよい。
(実施例3)
実施例2においては、最優先配布先の中継装置への転送先情報の配布および、残りの中継装置への転送先情報の配布を、セッション確立時のリクエスト・応答メッセージを処理した中継装置1台が実施する。この方式の場合、メッセージ中継システム内の全中継装置に転送先情報が配布されるまでに時間がかかる。そのため、後続リクエストメッセージがいずれかの中継装置に到達した際に、他の中継装置への問合せが発生する確立が高くなる。その結果として全体の平均応答遅延が低下してしまう。
そこで、実施例3では、各グループ内において、最優先配布先の中継装置以外の中継装置への転送先情報の配布を最優先配布先の中継装置が担うことで、配布処理を分散実施する。なお、実施例3において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図27は、実施例3におけるメッセージ中継システムの構成の一例を示す。図25と異なり、図27では、最優先配布先の中継装置(#1,#5,#9)はそれぞれ、自身の属するグループ内の他の中継装置に転送先情報を配布している。図27では、最優先配布先の中継装置(#1,#5,#9)には、グループ内装置リスト24が設定されていることである。
図28は、実施例3における最優先配布先の中継装置の一例を示す。図28の中継装置は、図5の中継装置に、グループ内装置リスト24を追加したものである。なお、実施例3において、各グループの各中継装置に設定された最優先配布先リスト23、問合せ先リスト22は、図26と同様である。また、最優先配布先の中継装置以外の中継装置は、図5の構成と同様である。
図29は、実施例3におけるグループ内装置リストの一例を示す。グループ内装置リスト24は、そのグループに属する中継装置のアドレスをリスト化したものである。
図30は、実施例3における応答メッセージの中継処理フローを示す。図30のフローは、図18のフローからS69のループ処理を除いたものである。図27において、中継装置(#3)は、セッション確立時における端末1からの初回リクエスト及びその応答メッセージ(セッションIDを含む)の中継処理を担当したとする。この場合、中継装置(♯3)は、その初回リクエストに対する応答メッセージを端末1側へ返す(図18のS67)。その後、中継装置(♯3)は、最優先配布先リスト23aに設定された中継装置(#1,#5,#9)に対して、転送先情報を配布する(図18のS68)。
図31は、実施例3における最優先配布先の中継装置によるグループ内の中継装置への転送先情報の配布処理を示す。図31のフローは、図19のフローに、S77のループ処理を追加したものである。
各グループの最優先配布先の中継装置(#1,#5,#9)は、中継装置(#3)から配布された通知メッセージ(msg(7))を受信する(S71)。中継装置(#1,#5,#9)の通知受信部19は、通知メッセージ(msg(7))からセッションID及び転送先サーバアドレスを抽出する(S72)。通知受信部19は、そのセッションIDをキーに転送先管理テーブル20を検索する(S73)。
S73の検索の結果、転送先管理テーブル20中にHitするエントリが見つからなかった場合(S74で「Yes」)、通知受信部19は、転送先管理テーブル20に新たにエントリを追加する。そして、通知受信部19は、そのエントリにS72で抽出したセッションIDと転送先サーバアドレスを登録する(S75)。
S73の検索の結果、転送先管理テーブル20中にHitするエントリが見つかった場合、通知受信部19は、そのエントリの転送先サーバアドレスを更新する(S76)。
S75またはS76の終了後、中継装置(#1,#5,#9)の配布部18は、グループ内装置リストに設定されているグループ名の中継装置に宛てて、転送先情報を含む通知メッセージを配布する(S77)。
低優先配布先への転送先情報の配布は、中継装置(♯1,♯5,♯9)が他のより優先度の高い処理を実施していないときに実行される。なお、通信トラフィックが非常に多い場合、中継装置(♯1,♯5,♯9)が優先度の高い処理を実施していないことがないことが想定される。この場合、優先度の高い処理と優先度の低い処理とを一定の比率で実施してもよい(例えば、優先度の高い処理を10回実施したら、優先度の低い処理を1回実施する)。
(実施例4)
実施例1〜3では、優先配布先・問合せ先となる中継装置の処理負荷が高くなる可能性がある。そのため、優先配布先・問合せ先となる中継装置での処理がシステムの処理性能のボトルネックとなる可能性がある。そこで、実施例4では、配布・問合せ先となる中継装置をすべての中継装置まで広げ、セッションIDごとに優先配布先・問合せ先となる中継装置を決定する。なお、実施例4において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図32は、実施例4における中継装置の一例を示す。図32の中継装置は、図5の中継装置に、計算部25を追加したものである。
中継装置11の台数をNとして、それぞれに0〜N−1の装置番号が振られているものとする。セッション確立の初回リクエスト・応答メッセージを処理した中継装置11では、計算部25は、以下の処理を行う。転送先情報の配布時において、計算部25は、セッションIDをHash関数に入力することにより、そのセッションIDを代表するハッシュ値Hを得る。それから、計算部25は、H mod Nの演算を行い、その結果得られた数値k (0≦k<N)を装置番号に持つ中継装置を最優先配布先として、転送先情報を配布する。
転送先情報の問合せ時には、リクエストメッセージにセッションIDが付与されてくるので、計算部25は、配布時と同様にセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod Nの演算を行い、その結果得られた数値k(0≦k<N)を装置番号に持つ中継装置に対して問合せを行う。
セッションIDが同一のデータである限り、同データをHash関数に入力して得られるハッシュ値Hは同じであり、H mod N演算を施した結果得られる数値kも同じになる。そのため、同一セッションIDに対する最優先配布先の中継装置と問合せ先の中継装置とが一致する。
図33は、実施例4におけるリクエストメッセージの中継処理フローを示す。図33のフローは、図10のS48のループ処理を、S81〜S83の処理に置き換えたものである。
S44の検索の結果、転送先管理テーブル20中にHitするエントリが見つからなかった場合(S45で「No」)、計算部25は、上述したように、Hash関数を用いて問合せ先となる中継装置を決定する(S81)。すなわち、計算部25は、S42で抽出したセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod Nの演算を行い、その結果得られた数値k(0≦k<N)を装置番号に持つ中継装置を問合せ先として決定する。
問合せ部15は、問合せ先として決定された中継装置に対して、S42で抽出したセッションIDを含んだ問合せメッセージ(msg(2))を発行して問合せ処理を行う(S82)。
問合せの結果、問合せ先から転送先情報が取得できなかった場合(S83で「No」)、問合せ部15は、再度、問合せ先として決定された中継装置に対して問合せを行う。
問合せの結果、問合せ先から転送先情報が取得できた場合(S83で「Yes」)、問合せ部15は、取得した転送先情報とセッションIDとを関係付けて、転送先管理テーブル20へ登録する(S49)。リクエスト中継部13は、取得した転送先情報を、メッセージの転送先のサーバアドレスとして決定する(S50)。これ以降は、図10と同じなのでその説明を省略する。
図34は、実施例4における応答メッセージの中継処理フローを示す。図34のフローは、図18のS68のループ処理を、S91〜S92の処理に置き換えたものである。
S67の処理後、計算部25は、上述したように、Hash関数を用いて配布先となる中継装置を決定する(S91)。すなわち、計算部25は、S62で抽出したセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod Nの演算を行い、その結果得られた数値k(0≦k<N)を装置番号に持つ中継装置を配布先として決定する。
配布部18は、S66で登録した転送先情報と、決定した配布先のアドレス情報を用いて通知メッセージ(msg(7))を作成し、通知メッセージ(msg(7))を配布先となる中継装置へ配布する(S92)。これ以降は、図18と同じなのでその説明を省略する。
(実施例5)
実施例4において、同一セッションIDについての問合せが一つのメッセージ中継装置(装置番号k)に集中するため、その装置の負荷が問題となる可能性がある。そこで、Hash関数を用いて、セッションIDに基づいて決定された最優先配布先となる中継装置kに加えて、k+1,k+2,・・・,k+nの装置番号を持つメッセージ中継装置を最優先配布先および問合せ先に加える。問合せ時には、セッションIDに基づいて作成した問合せ先リストから任意の中継装置が選択され、その選択された中継装置に対して転送先情報の問合せが行われるようにする。なお、実施例5において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図35は、実施例5におけるリクエストメッセージの中継処理フローを示す。図35のフローは、図10のS48のループ処理を、S101〜S103の処理に置き換えたものである。なお、実施例5では、初期段階で、問合せ先リスト22には問合せ先の中継装置のアドレスが格納されていない。
S44の検索の結果、転送先管理テーブル20中にHitするエントリが見つからなかった場合(S45で「No」)、計算部25は、上述したように、Hash関数を用いて問合せ先となる中継装置群を決定する(S101)。すなわち、計算部25は、S42で抽出したセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod Nの演算を行い、その結果得られたハッシュ値(0≦k<N)を装置番号に持つ中継装置を問合せ先として決定する。さらに、計算部25は、k+1,k+2,・・・,k+nを装置番号に持つ中継装置を問合せ先として決定する。
計算部25は、k,k+1,k+2,・・・,k+nを装置番号に持つ中継装置のアドレスを問合せ先リスト22へ登録する(S102)。
問合せ部15は、問合せ先リスト22に登録された中継装置に対して、S42で抽出したセッションIDを含んだ問合せメッセージ(msg(2))を発行して問合せ処理を行う(S103)。S103の処理は、図10のS48の処理と同じである。これ以降は、図10と同じなのでその説明を省略する。
図36は、実施例5における応答メッセージの中継処理フローを示す。図36のフローは、図18のS68のループ処理の前に、S111〜S112の処理を追加したものである。なお、実施例5では、初期段階で、最優先配布先リスト23には配布先の中継装置のアドレスが格納されていない。
S67の処理後、計算部25は、上述したように、Hash関数を用いて配布先となる中継装置群を決定する(S111)。すなわち、計算部25は、S62で抽出したセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod Nの演算を行い、その結果得られた数値k(0≦k<N)を装置番号に持つ中継装置を配布先として決定する。さらに、計算部25は、k+1,k+2,・・・,k+nを装置番号に持つ中継装置を配布先として決定する。
計算部25は、k,k+1,k+2,・・・,k+nを装置番号に持つ中継装置のアドレスを最優先配布先リスト23へ登録する(S112)。
S6112の処理後、配布部18は、S66で登録した転送先情報と最優先配布先リスト23を用いて通知メッセージ(msg(7))を作成し、通知メッセージ(msg(7))を他の中継装置へ配布する(S68)。これ以降は、図18と同じなのでその説明を省略する。
(実施例6)
実施例5の問合せ時において、問合せ先リストから実際に問合せの対象となる中継装置の選択する処理は、各中継装置が独立に実施する。そのため、例えば、問合せを行うすべての中継装置がリストの先頭から問合せを実施した場合には、一つの中継装置に問合せ負荷が集中することになる。
そこで、実施例6では、問合せ先への問合せがある程度分散するように、問合せ先選択ロジックを規定しておく。例えば、問合せ先リスト22に登録された中継装置数がn(nは任意の整数)であるとする。この場合、問合せ元の中継装置は自身の装置番号m(mは任意の整数)に対して(m mod n)+1の演算を行い、数値q(1≦q≦n)を得る。それから、問合せ元の中継装置は、問合せ先リスト22のq番目に登録された中継装置から開始してリストの登録順に転送先情報の問合せを行う。なお、リストの最後尾に登録されたアドレスに対して問合せが終わった後は、リストの先頭から問合せを行う。
なお、実施例6において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図37は、実施例6におけるリクエストメッセージの中継処理フローを示す。図37のフローは、図35のS102とS103とを、S121、S122の処理に置き換えたものである。
計算部25は、k,k+1,k+2,・・・,k+nを装置番号に持つ中継装置のアドレスを問合せ先リスト22へ登録する(S102)。
その後、計算部25は、Hash計算を用いて問合せ先リスト22から問合せ開始となるリスト番号を決定する(S121)。ここで、リスト番号とは、問合せ先リスト22に登録されたエントリに対して、問合せ先リスト22の上から順に付した番号である。
問合せ部15は、問合せ先リスト22に登録された中継装置に対して、決定したリスト番号の中継装置から順に、S42で抽出したセッションIDを含んだ問合せメッセージ(msg(2))を発行して問合せ処理を行う(S122)。例えば、問合せ先リスト22に登録された中継装置数がn、決定したリスト番号がqの場合、問合せ部15は、例えば、q,q+1,q+2,・・・,n,1,2,・・・,q−1のリスト番号順(昇順)で、そのリスト番号に対応する中継装置に対して問合せを行う。なお、問合せは、リスト番号qから開始して、リスト番号順(降順)で、そのリスト番号に対応する中継装置に対して問合せを行うようにしてもよい。S122の処理は、図10のS48の処理と同じである。これ以降は、図10と同じなのでその説明を省略する。
応答メッセージの中継処理については、図36と同じである。
(実施例7)
実施例7では、最優先配布先・問合せ先中継装置の選択に、実施例4のHash関数と事前設定のグループ定義を利用する方法を示す。なお、実施例7において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図38は、実施例7における中継装置の一例を示す。図38の中継装置は、図32の中継装置に、グループ定義テーブル26を追加したものである。グループ定義テーブル26は、各中継装置に配備されている。計算部25は、セッション確立時の応答メッセージ中継処理時に、グループ定義テーブルを用いて最優先配布先リストを作成する。
図39は、実施例7におけるグループ定義テーブル26の一例を示す。グループ定義テーブル26は、「グループ番号」26a、「中継装置」26bのデータ項目を含む。「グループ番号」26aには、グループを識別する番号が格納される。「中継装置」26bには、グループ番号で特定されるグループに属する中継装置の識別番号が格納される。
ここで、中継装置の台数をNとして、それぞれに0~N−1の装置番号が振られているものとする。中継装置は、図39に示すように、N/n個のメンバを持つn個のグループに分けられている。
n個のグループには1からnまでのグループ番号が振られている。セッション確立の初回リクエスト・応答メッセージを処理した中継装置では、計算部25は、以下の処理を行う。転送先情報の配布時において、計算部25は、セッションIDをHash関数に入力ことにより、そのセッションIDを代表するハッシュ値Hを得る。それから、計算部25は、H mod nの演算を行い、その結果得られた数値(0≦g<n)をグループ番号に持つグループに属する中継装置を最優先配布先リストに登録する。配布部18は、最優先配布先リストに登録された中継装置に対して転送先情報を配布する。
転送先情報の問合せ時には、リクエストメッセージにセッションIDが付与されてくるので、計算部25は、配布時と同様にセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod nの演算を行い、その結果得られた数値g(0≦g<N)をグループ番号に持つグループに属する中継装置に対して問合せを行う。
セッションIDが同一のデータである限り、同データをHash関数に入力して得られるハッシュ値Hは同じであり、H mod n演算を施した結果得られる数値gも同じになる。そのため、同一セッションIDに対する最優先配布先の中継装置群と問合せ先の中継装置群とが一致する。
図40は、実施例7におけるリクエストメッセージの中継処理フローを示す。図40のフローは、図10のS48のループ処理を、S131〜S133の処理に置き換えたものである。
S44の検索の結果、転送先管理テーブル20中にHitするエントリが見つからなかった場合(S45で「No」)、計算部25は、上述したように、Hash関数を用いて問合せ先のグループを決定する(S131)。すなわち、計算部25は、S42で抽出したセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod nの演算を行い、その結果得られた数値g(0≦g<n)を問合せ先のグループ番号として決定する。
計算部25は、グループ定義テーブル26から、そのグループに属する中継装置番号を取得する。計算部25は、その取得した中継装置番号で特定される中継装置のアドレスを問合せ先リスト22へ登録する(S132)。
問合せ部15は、問合せ先リスト22に登録された中継装置に対して、S42で抽出したセッションIDを含んだ問合せメッセージ(msg(2))を発行して問合せ処理を行う(S133)。これ以降は、図10と同じなのでその説明を省略する。
図41は、実施例7における応答メッセージの中継処理フローを示す。図41のフローは、図18のS68のループ処理の前に、S141〜S142の処理を追加したものである。
S67の処理後、計算部25は、上述したように、Hash関数を用いて配布先となるグループを決定する(S141)。すなわち、計算部25は、S62で抽出したセッションIDをHash関数に入力し、ハッシュ値Hを得る。それから、計算部25は、H mod nの演算を行い、その結果得られた数値g(0≦g<n) を配布先のグループ番号として決定する。
計算部25は、グループ定義テーブル26から、そのグループに属する中継装置番号を取得する。計算部25は、その取得した中継装置番号で特定される中継装置のアドレスを最優先配布先リスト22へ登録する(S142)。これ以降は、図18と同じなのでその説明を省略する。
(実施例8)
実施例8は、実施例6と実施例7との組み合わせである。なお、実施例8において、上述した構成または機能と同一のものについては、同一の符号を付して、その説明を省略する。
図42は、実施例8におけるリクエストメッセージの中継処理フローを示す。図42のフローは、図40のS132とS133との間に、図37のS121の処理を追加したものである。
計算部25は、グループ定義テーブル26を参照し、決定したグループ番号に属する装置群を問合せ先リスト22へ登録する(S132)。その後、計算部25は、Hash計算を用いて問合せ先リスト22から問合せ開始となるリスト番号を決定する(S121)。これ以降は、図37と同じなのでその説明を省略する。
図43−図45は、各リクエストへの応答時間(期待値)と1つのサービスセッション(10メッセージで構成されると仮定)完了までにかかる時間を示したグラフを示す。図43−図45は、実施例7をモデルにしたものである。以下では、図43−図45を用いて、リクエストメッセージに対する応答メッセージの遅延時間の削減効果を説明する。
図43−図45において、横軸は、初回のリクエストメッセージに対する応答メッセージを受信してからの経過時間[msec]を示す。縦軸は、端末がリクエストメッセージを送ってから、それに対応する応答メッセージを受信するまでの時間の期待値(リクエスト応答遅延期待値[msec])である。
図43では、以下の条件で測定が行われた。
中継処理遅延:10[msec]
設定処理遅延:20[msec]
問合せ遅延:20[msec]
中継装置数:10
グループ内装置数:2
リクエスト発行間隔(前のメッセージを受信してから次のメッセージを発行するまでの時間):100[msec]、
1セッション当たりのメッセージ数:10
なお、比較例として、図2の構成を用いた。
各リクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値は、比較例が約30[msec]であるのに対して、実施例7では約11[msec]であり、実施例7の方が遅延時間が短い。
また、比較例では、1回目のリクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値は、約210[msec]である。それに対して、実施例7の場合、1回目のリクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値は、約10[msec]であり、応答までの時間のばらつきが少ない。また、実施例7では、リクエスト発行間隔は一定であるが、比較例では、1回目のメッセージを受信してから次のメッセージを発行するまでの時間が250[msec]以上かかっており、実施例7の方が短い。また、1セッションの最後のメッセージを受信するまでの時間は、実施例7が1009[msec]であるのに対し、比較例は約1200[msec]であり、実施例7の方が1セッション当たりの時間が短い。
また、図44では、以下の条件で測定が行われた。
中継処理遅延:10[msec]
設定処理遅延:20[msec]
問合せ遅延:20[msec]
中継装置数:100
グループ内装置数:10
リクエスト発行間隔(前のメッセージを受信してから次のメッセージを発行するまでの時間):100[msec]、
1セッション当たりのメッセージ数:10
なお、比較例として、図2の構成を用いた。
各リクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値は、比較例が約210[msec]であるのに対して、実施例7では約23[msec]であり、実施例7の方が遅延時間が短い。
また、比較例と比べて、1回目のリクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値、リクエスト発行間隔、1セッション当たりの時間のいずれも実施例7の方が短い。
また、図45では、以下の条件で測定が行われた。
中継処理遅延:10[msec]
設定処理遅延:20[msec]
問合せ遅延:20[msec]
中継装置数:10
グループ内装置数:2
リクエスト発行間隔(前のメッセージを受信してから次のメッセージを発行するまでの時間):100[msec]、
1セッション当たりのメッセージ数:5
なお、比較例として、図2の構成を用いた。
各リクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値は、比較例が約30[msec]であるのに対して、実施例7では約17[msec]であり、実施例7の方が遅延時間が短い。
また、比較例と比べて、1回目のリクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値、リクエスト発行間隔、1セッション当たりの時間のいずれも実施例7の方が短い。
いずれの条件を用いた場合も、転送先情報の配布および問合せに伴う遅延時間の削減により、端末への平均応答時間が、数分の1〜10分の1に短縮されている。
また、実施例1−6,8に関しても、同様の効果を得ることができる。すなわち、比較例と比べて、1回目のリクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値、リクエスト発行間隔、1セッション当たりの時間のいずれも実施例1−6,8の方が短くなることが期待できる。
図46は、本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。端末装置1、サーバ2、中継装置11、負荷分散装置5は何れも、コンピュータに専用のプログラムを実行させることで動作する。端末装置1は、クライアントアプリケーション12をコンピュータに実行させることにより実現される。サーバ3はサーバアプリケーション31をコンピュータに実行させることにより実現される。中継装置2はメッセージの中継を可能とさせるプログラムをコンピュータに実行させることにより実現される。負荷分散装置5は負荷分散させるプログラムをコンピュータに実行させることにより実現される。ここで図46を参照して、端末装置1、サーバ2、中継装置11、負荷分散装置5として使用可能なコンピュータについて具体的に説明する。
図46に示すコンピュータは、CPU31、メモリ32、入力装置33、出力装置34、外部記憶装置35、媒体駆動装置36、及びネットワーク接続装置37を含む。これらはバス38によって互いに接続されている。図18に示す構成は一例であり、これに限定されるものではない。
CPU(Central Processing Unit)31は、当該コンピュータ全体の制御を行う。メモリ32は、プログラムの実行、データ更新等の際に、外部記憶装置35(または可搬型の記録媒体39)に記憶されているプログラムまたはデータを一時的に格納するRAM等の半導体メモリである。CPU31は、プログラムをメモリ32に読み出して実行することにより、全体の制御を行う。また、本実施形態において、中継装置11のCPU31は、本実施形態で説明した処理を実行するプログラムを読み込んで、リクエスト中継部13、問合せ部15、回答部16、応答中継部17、配布部18、通知受信部19、計算部25として機能する。
入力装置33は、例えば、キーボード、マウス等の操作装置を介したデータ入力を可能とするものである。入力装置33は、操作装置と接続可能なインターフェース、または操作装置とインターフェースを含むものである。入力装置33は、操作装置に対するユーザの操作を検出し、その検出結果をCPU31に通知する。この操作装置はコンソール等であっても良い。
出力装置34は、例えば表示装置、または表示装置と接続された表示制御装置である。外部記憶装置35は、例えばハードディスク装置、フラッシュメモリ装置等である。主に各種データやプログラムの保存に用いられる。外部記憶装置35には、例えば、転送先管理テーブル20、中継装置リスト21、問合せ先リスト22、最優先配布先リスト23、グループ内装置リスト24、グループ定義テーブル26が格納されている。
媒体駆動装置36は、光ディスク、光磁気ディスク、USB(Universal Serial Bus)メモリ装置またはメモリカード等の可搬型の記録媒体39にアクセスするものである。ネットワーク接続装置37は、通信ネットワークを介して外部装置と通信を行うためのものである。中継装置11のネットワーク接続装置37は、本実施形態で説明した受信部12、送信部14として機能する。
本実施形態で説明した処理を実行するプログラムは、外部記憶装置35、若しくは記録媒体39に記録されているか、または通信ネットワークを介してネットワーク接続装置37により取得される。そのプログラムが外部記憶装置35に格納されていると想定する場合、端末装置1、中継装置11、サーバ2及び負荷分散装置5の各構成要素は、上記コンピュータの以下のような構成要素の組み合わせによって実現される。その組み合わせは、更に、端末装置1、中継装置11、サーバ2及び負荷分散装置5は全て同じ通信ネットワーク(例えば、LAN(Local Area Network)、インターネット等)に接続されていると想定した場合のものである。
上記実施形態によれば、情報処理端末と情報処理装置との間の通信を中継する中継装置は、第1抽出部と、送信部と、第2抽出部、問合せ部を含む。情報処理端末の一例は、端末1である。情報処理装置の一例は、情報処理端末から送信された要求情報に応じて応答情報を情報処理端末へ返信するサーバ2である。中継装置の一例は、中継装置11である。
第1抽出部は、情報処理端末からの初回の要求情報に対する応答情報が情報処理装置から受信された場合、次の処理を行う。第1抽出部は、受信した応答情報から、情報処理端末と情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、情報処理装置のアドレスを抽出して第1格納部に格納する。ここで、セッション識別情報は、前記要求情報を送信した情報処理端末と該要求情報を受信した情報処理装置との間で設定されるセッションを識別する情報である。セッション識別情報の一例には、セッションIDが含まれる。第1抽出部の一例には、応答中継部17が含まれる。第1格納部の一例には、転送先管理テーブル20が含まれる。
送信部は、応答情報を情報処理端末へ送信する。送信部は、抽出した第1のセッション識別情報と情報処理装置のアドレスとを含むセッション対応アドレス情報を、中継装置とは別の1つ以上の中継装置に送信する。送信部の一例には、応答中継部17及び配布部18が含まれる。セッション対応アドレス情報の一例には、図22の通知メッセージ(msg(7))に含まれる転送先情報(セッションID、転送先サーバアドレス)が含まれる。
第2抽出部は、情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出する。第2抽出部の一例には、リクエスト中継部13が含まれる。
問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報が第1格納部に格納されていない場合、第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを別の1つ以上の中継装置に行う。問合せ部の一例には、問合せ部15が含まれる。
このように構成することにより、情報処理端末から要求情報が送信されてから、その要求情報に対する情報処理装置からの応答情報が返信されるまでの遅延時間を低減することができる。また、セッションを維持(一意性保証)しつつ、1回目のリクエストメッセージに対して応答メッセージが送られてくるまでの時間の期待値、リクエスト発行間隔、1セッション当たりの時間の短縮を図ることができる。このような構成のバリエーションには、例えば、次のものがある。
複数の中継装置がグループに分類されている。送信部は、グループ毎に、いずれかの中継装置にセッション対応アドレス情報を送信する。問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、自身が属するグループにおいてセッション対応アドレス情報が送信された中継装置に対して、前記問合せを行う。
また、複数の中継装置のそれぞれに、連続する番号が順に付与されている。送信部は、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出する。さらに、送信部は、ハッシュ値を前記中継装置数で除算して得られた余りの値k(k:任意の整数)と一致する前記番号が付与された中継装置に対して、セッション対応アドレス情報を送信する。この場合、送信部の一例には、送信部18だけでなく、計算部25も含まれる。
問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出する。さらに、問合せ部は、ハッシュ値を中継装置数で除算して得られた余りの値と一致する番号が付与された中継装置に対して、問合せを行う。この場合、問合せ部の一例には、問合せ部15だけでなく、計算部25も含まれる。
また、送信部は、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、セッション対応アドレス情報を送信する。この場合、送信部の一例には、送信部18だけでなく、計算部25も含まれる。
問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う。この場合、問合せ部の一例には、問合せ部15だけでなく、計算部25も含まれる。
中継装置は、さらに、第2格納部を含む。第2格納部には、セッション対応アドレス情報の送信先の中継装置のアドレス情報が登録される。第2格納部の一例には、最優先送信先リスト23が含まれる。
問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて第2のセッション識別情報のハッシュ値を算出する。それから、問合せ部は、ハッシュ値を第2格納部に登録されたアドレス数で除算して得られた余りの値k(k:任意の整数)を算出する。さらに、問合せ部は、第2格納部のk番目に登録されたアドレスに対応する中継装置から昇順または降順で、第2格納部に登録されたアドレス情報に対応する中継装置に対して、前記問合せを行う。この場合、問合せ部の一例には、問合せ部15だけでなく、計算部25も含まれる。
また、複数の中継装置がグループに分類されている。グループのそれぞれには連続する番号が順に付与されている。中継装置は、さらに、第3格納部を含む。
第3格納部には、グループに付与された番号と、該番号に対応するグループに属する中継装置に付与された番号とが格納される。第3格納部の一例には、グループ定義テーブル26が含まれる。
送信部は、ハッシュ関数を用いて第1のセッション識別情報のハッシュ値を算出する。それから、送信部は、ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を第3格納部から取得する。さらに、送信部は、取得した中継装置に対して、セッション対応アドレス情報を送信する。この場合、送信部の一例には、送信部18だけでなく、計算部25も含まれる。
問合せ部は、抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて第2のセッション識別情報のハッシュ値を算出する。それから、問合せ部は、ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を第3格納部から検索する。さらに、前記問合せ部は、検索した中継装置に対して、前記問合せを行う。この場合、問合せ部の一例には、問合せ部15だけでなく、計算部25も含まれる。
また、問合せ部は、さらに、算出されたハッシュ値gと一致する前記番号が付与されたグループに属する中継装置数で除算して得られた余りの値h(h:任意の整数)を算出する。問合せ部は、第3格納部において該グループに属する中継装置のうちh番目に登録された中継装置から昇順または降順で、該中継装置に対して、前記問合せを行う。
また、送信部は、セッション対応アドレス情報の送信先の中継装置にセッション対応アドレス情報を送信した後に、送信した中継装置以外の中継装置に対して、セッション対応アドレス情報を送信する。
また、各グループで前記セッション対応アドレス情報が送信された中継装置の送信部は、自身の属するグループに属する中継装置に対して、セッション対応アドレス情報を送信する。
なお、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。また、当業者にとって実施可能な範囲において、実施例1〜実施例8のうち2以上を組み合わせてもよい。
上記実施形態に関し、更に以下の付記を開示する。
(付記1)
情報処理端末と情報処理装置との間の通信を中継する中継装置であって、
前記情報処理端末からの初回の要求情報に対する応答情報が前記情報処理装置から受信された場合、受信した該応答情報から、前記情報処理端末と前記情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、前記情報処理装置のアドレスを抽出して第1格納部に格納する第1抽出部と、
前記応答情報を前記情報処理端末へ送信し、抽出した前記第1のセッション識別情報と前記情報処理装置のアドレスとを含むセッション対応アドレス情報を、前記中継装置とは別の1つ以上の中継装置に送信する送信部と、
前記情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出する第2抽出部と、
抽出した前記第2のセッション識別情報に対応するセッション対応アドレス情報が前記第1格納部に格納されていない場合、前記第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを前記別の1つ以上の中継装置に行う問合せ部と、
を備えることを特徴とする中継装置。
(付記2)
複数の前記中継装置がグループに分類されており、
前記送信部は、前記グループ毎に、いずれかの前記中継装置に前記セッション対応アドレス情報を送信し、
前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、自身が属するグループにおいて前記セッション対応アドレス情報が送信された中継装置に対して、前記問合せを行う
ことを特徴とする付記1に記載の中継装置。
(付記3)
複数の前記中継装置のそれぞれに、連続する番号が順に付与されており、
前記送信部は、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値k(k:任意の整数)と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
ことを特徴とする付記1に記載の中継装置。
(付記4)
前記送信部は、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
ことを特徴とする付記1に記載の中継装置。
(付記5)
前記中継装置は、さらに、
前記セッション対応アドレス情報の送信先の中継装置のアドレス情報が登録される第2格納部
を備え、
前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記第2格納部に登録されたアドレス数で除算して得られた余りの値k(k:任意の整数)を算出し、前記第2格納部のk番目に登録されたアドレスに対応する中継装置から昇順または降順で、前記第2格納部に登録されたアドレス情報に対応する中継装置に対して、前記問合せを行う
ことを特徴とする付記1に記載の中継装置。
(付記6)
複数の前記中継装置がグループに分類され、該グループのそれぞれには連続する番号が順に付与され、
前記中継装置は、さらに、
前記グループに付与された番号と、該番号に対応するグループに属する前記中継装置に付与された番号とが格納される第3格納部
を備え、
前記送信部は、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を前記第3格納部から検索し、該検索した中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を前記第3格納部から検索し、該検索された中継装置に対して、前記問合せを行う
ことを特徴とする付記1に記載の中継装置。
(付記7)
前記問合せ部は、さらに、前記算出されたハッシュ値gと一致する前記番号が付与されたグループに属する中継装置数で除算して得られた余りの値h(h:任意の整数)を算出し、前記第3格納部において該グループに属する中継装置のうちh番目に登録された中継装置から昇順または降順で、該中継装置に対して、前記問合せを行う
ことを特徴とする付記6に記載の中継装置。
(付記8)
前記送信部は、前記セッション対応アドレス情報の送信先の中継装置に前記セッション対応アドレス情報を送信した後に、該送信した中継装置以外の中継装置に対して、前記セッション対応アドレス情報を送信する
ことを特徴とする付記1〜7のうちいずれか1項に記載の中継装置。
(付記9)
前記各グループで前記セッション対応アドレス情報が送信された中継装置の送信部は、自身の属するグループに属する中継装置に対して、前記セッション対応アドレス情報を送信する
ことを特徴とする付記2、6、または7のいずれか1項に記載の中継装置。
(付記10)
情報処理端末と情報処理装置との間の通信を中継する中継装置に実行させる中継プログラムであって、
前記情報処理端末からの初回の要求情報に対する応答情報が前記情報処理装置から受信された場合、受信した該応答情報から、前記情報処理端末と前記情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、前記情報処理装置のアドレスを抽出して第1格納部に格納し、
前記応答情報を前記情報処理端末へ送信し、抽出した前記第1のセッション識別情報と前記情報処理装置のアドレスとを含むセッション対応アドレス情報を、前記中継装置とは別の1つ以上の中継装置に送信し、
前記情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出し、
抽出した前記第2のセッション識別情報に対応するセッション対応アドレス情報が前記第1格納部に格納されていない場合、前記第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを前記別の1つ以上の中継装置に行う、
処理を実行させる中継プログラム。
(付記11)
複数の前記中継装置がグループに分類されており、
前記セッション対応アドレス情報の送信において、前記グループ毎に、いずれかの前記中継装置に前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、自身が属するグループにおいて前記セッション対応アドレス情報が送信された中継装置に対して、前記問合せを行う
ことを特徴とする付記10に記載の中継プログラム。
(付記12)
複数の前記中継装置のそれぞれに、連続する番号が順に付与されており、
前記セッション対応アドレス情報の送信において、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値k(k:任意の整数)と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
ことを特徴とする付記10に記載の中継プログラム。
(付記13)
前記セッション対応アドレス情報の送信において、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
ことを特徴とする付記10に記載の中継プログラム。
(付記14)
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、第2格納部から前記セッション対応アドレス情報の送信先の中継装置のアドレス数を取得し、前記ハッシュ値を前記取得した送信先の中継装置のアドレス数で除算して得られた余りの値k(k:任意の整数)を算出し、前記第2格納部のk番目に登録されたアドレスに対応する中継装置から昇順または降順で、前記第2格納部に登録されたアドレス情報に対応する中継装置に対して、前記問合せを行う
ことを特徴とする付記10に記載の中継プログラム。
(付記15)
複数の前記中継装置がグループに分類され、該グループのそれぞれには連続する番号が順に付与され、
前記セッション対応アドレス情報の送信において、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記グループに付与された番号と、該番号に対応するグループに属する前記中継装置に付与された番号とが格納された第3格納部から、前記ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を取得し、該取得した中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を前記第3格納部から検索し、該検索された中継装置に対して、前記問合せを行う
ことを特徴とする付記10に記載の中継プログラム。
(付記16)
情報処理端末と情報処理装置との間の通信を中継する中継装置に実行させる中継方法であって、
前記中継装置は、
前記情報処理端末からの初回の要求情報に対する応答情報が前記情報処理装置から受信された場合、受信した該応答情報から、前記情報処理端末と前記情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、前記情報処理装置のアドレスを抽出して第1格納部に格納し、
前記応答情報を前記情報処理端末へ送信し、抽出した前記第1のセッション識別情報と前記情報処理装置のアドレスとを含むセッション対応アドレス情報を、前記中継装置とは別の1つ以上の中継装置に送信し、
前記情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出し、
抽出した前記第2のセッション識別情報に対応するセッション対応アドレス情報が前記第1格納部に格納されていない場合、前記第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを前記別の1つ以上の中継装置に行う、
ことを特徴とする中継方法。
(付記17)
複数の前記中継装置がグループに分類されており、
前記中継装置は、
前記セッション対応アドレス情報の送信において、前記グループ毎に、いずれかの前記中継装置に前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、自身が属するグループにおいて前記セッション対応アドレス情報が送信された中継装置に対して、前記問合せを行う
ことを特徴とする付記16に記載の中継方法。
(付記18)
複数の前記中継装置のそれぞれに、連続する番号が順に付与されており、
前記中継装置は、
前記セッション対応アドレス情報の送信において、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値k(k:任意の整数)と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
ことを特徴とする付記16に記載の中継方法。
(付記19)
前記中継装置は、
前記セッション対応アドレス情報の送信において、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
ことを特徴とする付記16に記載の中継方法。
(付記20)
前記中継装置は、
前記問合せにおいて、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、第2格納部から前記セッション対応アドレス情報の送信先の中継装置のアドレス数を取得し、前記ハッシュ値を前記取得した送信先の中継装置のアドレス数で除算して得られた余りの値k(k:任意の整数)を算出し、前記第2格納部のk番目に登録されたアドレスに対応する中継装置から昇順または降順で、前記第2格納部に登録されたアドレス情報に対応する中継装置に対して、前記問合せを行う
ことを特徴とする付記16に記載の中継方法。
1 端末
2 サーバ
5 負荷分散装置
9 ネットワーク
10 中継システム
11 中継装置
12 受信部
13 リクエスト中継部
14 送信部
15 問合せ部
16 回答部
17 応答中継部
18 配布部
19 通知受信部
20 転送先管理テーブル
21 中継装置リスト
22 問合せ先リスト
23 最優先配布先リスト
24 グループ内装置リスト
25 計算部
26 グループ定義テーブル

Claims (9)

  1. 情報処理端末と情報処理装置との間の通信を中継する中継装置であって、
    前記情報処理端末からの初回の要求情報に対する応答情報が前記情報処理装置から受信された場合、受信した該応答情報から、前記情報処理端末と前記情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、前記情報処理装置のアドレスを抽出して第1格納部に格納する第1抽出部と、
    前記応答情報を前記情報処理端末へ送信し、抽出した前記第1のセッション識別情報と前記情報処理装置のアドレスとを含むセッション対応アドレス情報を、前記中継装置とは別の1つ以上の中継装置に送信する送信部と、
    前記情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出する第2抽出部と、
    抽出した前記第2のセッション識別情報に対応するセッション対応アドレス情報が前記第1格納部に格納されていない場合、前記第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを前記別の1つ以上の中継装置に行う問合せ部と、
    を備えることを特徴とする中継装置。
  2. 複数の前記中継装置がグループに分類されており、
    前記送信部は、前記グループ毎に、いずれかの前記中継装置に前記セッション対応アドレス情報を送信し、
    前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、自身が属するグループにおいて前記セッション対応アドレス情報が送信された中継装置に対して、前記問合せを行う
    ことを特徴とする請求項1に記載の中継装置。
  3. 前記複数の中継装置のそれぞれに、連続する番号が順に付与されており、
    前記送信部は、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値k(k:任意の整数)と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
    前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記中継装置数で除算して得られた余りの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
    ことを特徴とする請求項1または2に記載の中継装置。
  4. 前記送信部は、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記セッション対応アドレス情報を送信し、
    前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、kからk+n(n:任意の整数)までの値と一致する前記番号が付与された中継装置に対して、前記問合せを行う
    ことを特徴とする請求項1から3の何れかに記載の中継装置。
  5. 前記中継装置は、さらに、
    前記セッション対応アドレス情報の送信先の中継装置のアドレス情報が登録される第2格納部
    を備え、
    前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値を前記第2格納部に登録されたアドレス数で除算して得られた余りの値k(k:任意の整数)を算出し、前記第2格納部のk番目に登録されたアドレスに対応する中継装置から昇順または降順で、前記第2格納部に登録されたアドレス情報に対応する中継装置に対して、前記問合せを行う
    ことを特徴とする請求項1に記載の中継装置。
  6. 複数の前記中継装置がグループに分類され、該グループのそれぞれには連続する番号が順に付与され、
    前記中継装置は、さらに、
    前記グループに付与された番号と、該番号に対応するグループに属する前記中継装置に付与された番号とが格納される第3格納部
    を備え、
    前記送信部は、ハッシュ関数を用いて前記第1のセッション識別情報のハッシュ値を算出し、前記ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を前記第3格納部から検索し、該検索した中継装置に対して、前記セッション対応アドレス情報を送信し、
    前記問合せ部は、前記抽出した第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを行う場合、ハッシュ関数を用いて前記第2のセッション識別情報のハッシュ値を算出し、前記ハッシュ値をグループ数で除算して得られた余りの値g(g:任意の整数)と一致する前記番号が付与されたグループに属する中継装置を前記第3格納部から検索し、該検索された中継装置に対して、前記問合せを行う
    ことを特徴とする請求項1に記載の中継装置。
  7. 前記問合せ部は、さらに、前記算出されたハッシュ値gと一致する前記番号が付与されたグループに属する中継装置数で除算して得られた余りの値h(h:任意の整数)を算出し、前記第3格納部において該グループに属する中継装置のうちh番目に登録された中継装置から昇順または降順で、該中継装置に対して、前記問合せを行う
    ことを特徴とする請求項6に記載の中継装置。
  8. 情報処理端末と情報処理装置の間の通信を中継する中継装置に実行させる中継プログラムであって、
    前記情報処理端末からの初回の要求情報に対する応答情報が前記情報処理装置から受信された場合、受信した該応答情報から、前記情報処理端末と前記情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、前記情報処理装置のアドレスを抽出して第1格納部に格納し、
    前記応答情報を一つの前記情報処理端末へ送信し、抽出した前記第1のセッション識別情報と前記情報処理装置のアドレスとを含むセッション対応アドレス情報を、前記中継装置とは別の1つ以上の中継装置に送信し、
    前記情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出し、
    抽出した前記第2のセッション識別情報に対応するセッション対応アドレス情報が前記第1格納部に格納されていない場合、前記第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを前記別の1つ以上の中継装置に行う、
    処理を実行させる中継プログラム。
  9. 情報処理端末と情報処理装置との間の通信を中継する中継装置に実行させる中継方法であって、
    前記中継装置は、
    前記情報処理端末からの初回の要求情報に対する応答情報が前記情報処理装置から受信された場合、受信した該応答情報から、前記情報処理端末と前記情報処理装置との間で設定されるセッションを識別する第1のセッション識別情報、及び、前記情報処理装置のアドレスを抽出して第1格納部に格納し、
    前記応答情報を前記情報処理端末へ送信し、抽出した前記第1のセッション識別情報と前記情報処理装置のアドレスとを含むセッション対応アドレス情報を、前記中継装置とは別の1つ以上の中継装置に送信し、
    前記情報処理端末から受信した2回目以降の要求情報から、第2のセッション識別情報を抽出し、
    抽出した前記第2のセッション識別情報に対応するセッション対応アドレス情報が前記第1格納部に格納されていない場合、前記第2のセッション識別情報に対応するセッション対応アドレス情報の問合せを前記別の1つ以上の中継装置に行う、
    ことを特徴とする中継方法。
JP2011082898A 2011-04-04 2011-04-04 中継装置、中継プログラム、及び中継方法 Expired - Fee Related JP5741150B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011082898A JP5741150B2 (ja) 2011-04-04 2011-04-04 中継装置、中継プログラム、及び中継方法
US13/424,468 US8898313B2 (en) 2011-04-04 2012-03-20 Relay devices cooperating to distribute a message from same terminal to same server while session continues

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011082898A JP5741150B2 (ja) 2011-04-04 2011-04-04 中継装置、中継プログラム、及び中継方法

Publications (2)

Publication Number Publication Date
JP2012222402A true JP2012222402A (ja) 2012-11-12
JP5741150B2 JP5741150B2 (ja) 2015-07-01

Family

ID=46928779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011082898A Expired - Fee Related JP5741150B2 (ja) 2011-04-04 2011-04-04 中継装置、中継プログラム、及び中継方法

Country Status (2)

Country Link
US (1) US8898313B2 (ja)
JP (1) JP5741150B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196379A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 中継装置、情報処理システム、中継プログラム、中継方法
JP2014165743A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 振分けサーバおよびそのプログラム
JP2015099418A (ja) * 2013-11-18 2015-05-28 株式会社リコー 制御システム、通信システム、プログラム、及び制御方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101240552B1 (ko) * 2011-09-26 2013-03-11 삼성에스디에스 주식회사 미디어 키 관리 및 상기 미디어 키를 이용한 피어-투-피어 메시지 송수신 시스템 및 방법
RU2639688C2 (ru) * 2012-02-16 2017-12-21 Филипс Лайтинг Холдинг Б.В. Способ управления таблицей посредников в беспроводной сети, использующей устройства-посредники
US9363240B2 (en) * 2012-08-30 2016-06-07 Excalibur Ip, Llc Method and system for reducing network latency
US9172756B2 (en) 2013-03-12 2015-10-27 Cisco Technology, Inc. Optimizing application performance in a network environment
JP6265745B2 (ja) * 2014-01-15 2018-01-24 キヤノン株式会社 情報処理端末
JP6299260B2 (ja) * 2014-02-14 2018-03-28 富士通株式会社 情報処理装置および情報処理装置の制御方法
JP6409438B2 (ja) * 2014-09-19 2018-10-24 株式会社リコー セッション制御システム、通信端末、通信システム、セッション制御方法、及びプログラム
JP6693505B2 (ja) * 2015-03-03 2020-05-13 日本電気株式会社 ログ解析システム、解析装置、解析方法、および解析用プログラム
CN108234422B (zh) * 2016-12-21 2020-03-06 新华三技术有限公司 资源调度方法及装置
US20190166031A1 (en) * 2017-11-29 2019-05-30 LogicMonitor, Inc. Robust monitoring of it infrastructure performance
CN108768878A (zh) * 2018-06-06 2018-11-06 北京奇艺世纪科技有限公司 一种负载均衡系统、方法、装置及负载均衡设备
US11711743B1 (en) * 2022-02-25 2023-07-25 Qualcomm Incorporated Architecture and protocols to support industrial internet of things and wireless programmable logic controller communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005027304A (ja) * 2003-06-30 2005-01-27 Microsoft Corp 接続操作を用いるネットワーク負荷分散
JP2010226665A (ja) * 2009-03-25 2010-10-07 Nec Corp 負荷分散システム、負荷分散装置、及び負荷分散方法
JP2011041006A (ja) * 2009-08-11 2011-02-24 Fujitsu Ltd 負荷分散装置、負荷分散方法および負荷分散プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167438A (en) 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US7924820B2 (en) * 2005-12-07 2011-04-12 Marron Interconnect Llc Method and system for facilitating communications
WO2009113921A1 (en) * 2008-03-12 2009-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Re-establishment of a security association
JP5493479B2 (ja) 2008-10-03 2014-05-14 富士通株式会社 サービス提供システム、方法、一意性保証情報設定管理プログラム、負荷分散プログラム、及び管理装置
JP5218323B2 (ja) * 2009-08-07 2013-06-26 富士通株式会社 中継装置及び転送ルールに関連する情報処理方法並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005027304A (ja) * 2003-06-30 2005-01-27 Microsoft Corp 接続操作を用いるネットワーク負荷分散
JP2010226665A (ja) * 2009-03-25 2010-10-07 Nec Corp 負荷分散システム、負荷分散装置、及び負荷分散方法
JP2011041006A (ja) * 2009-08-11 2011-02-24 Fujitsu Ltd 負荷分散装置、負荷分散方法および負荷分散プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200800288010; 竹田 義浩: '企業ユーザーにノウハウを伝授 トラブルに強いネットワーク構築法' 日経コミュニケーション 第509号 , 20080501, 80-83頁, 日経BP社 *
JPN6014053829; 竹田 義浩: '企業ユーザーにノウハウを伝授 トラブルに強いネットワーク構築法' 日経コミュニケーション 第509号 , 20080501, 80-83頁, 日経BP社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013196379A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 中継装置、情報処理システム、中継プログラム、中継方法
JP2014165743A (ja) * 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 振分けサーバおよびそのプログラム
JP2015099418A (ja) * 2013-11-18 2015-05-28 株式会社リコー 制御システム、通信システム、プログラム、及び制御方法

Also Published As

Publication number Publication date
JP5741150B2 (ja) 2015-07-01
US20120254389A1 (en) 2012-10-04
US8898313B2 (en) 2014-11-25

Similar Documents

Publication Publication Date Title
JP5741150B2 (ja) 中継装置、中継プログラム、及び中継方法
JP6643760B2 (ja) ショートリンクの処理方法、デバイス、及びサーバ
US7272653B2 (en) System and method for implementing a clustered load balancer
CN102523314B (zh) 识别高效的目标服务器的方法和装置
JP6225249B2 (ja) ルーティング及び転送の方法、装置、及びシステム
CN110166570B (zh) 业务会话管理方法、装置、电子设备
US20100138540A1 (en) Method of managing organization of a computer system, computer system, and program for managing organization
EP2824872B1 (en) Host providing system and communication control method
WO2006085519A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
WO2013078875A1 (zh) 内容的管理方法的方法、装置和系统
JP2007066161A (ja) キャッシュシステム
WO2003058917A1 (en) Method and system for peer to peer communication in a network environment
CN110597922B (zh) 数据处理方法、装置、终端及存储介质
CN111338806B (zh) 一种业务控制方法及装置
CN113452808A (zh) 域名解析方法、装置、设备及存储介质
US9350606B2 (en) System and method for assigning server to terminal and efficiently delivering messages to the terminal
RU2483457C2 (ru) Платформа маршрутизации сообщений
CN109120556B (zh) 一种云主机访问对象存储服务器的方法及系统
JP6580212B1 (ja) 通信装置、通信方法、および、通信プログラム
JP5109901B2 (ja) セッションデータ共有方法
CN107278364A (zh) 节点认证方法及节点认证系统
WO2014090058A1 (zh) 二度好友查询系统、方法及存储介质
EP2375692A2 (en) Apparatus and method for registering node and searching for floating internet protocol address using distributed network
WO2022102531A1 (ja) 管理装置
CN113395357B (zh) 区块链系统的分片方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150220

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: 20150331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150413

R150 Certificate of patent or registration of utility model

Ref document number: 5741150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees