JP2002261792A - 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体 - Google Patents

通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体

Info

Publication number
JP2002261792A
JP2002261792A JP2001246139A JP2001246139A JP2002261792A JP 2002261792 A JP2002261792 A JP 2002261792A JP 2001246139 A JP2001246139 A JP 2001246139A JP 2001246139 A JP2001246139 A JP 2001246139A JP 2002261792 A JP2002261792 A JP 2002261792A
Authority
JP
Japan
Prior art keywords
client
server
packet
unit
transmitted
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
JP2001246139A
Other languages
English (en)
Other versions
JP3642305B2 (ja
Inventor
Masayoshi Kobayashi
正好 小林
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2001246139A priority Critical patent/JP3642305B2/ja
Publication of JP2002261792A publication Critical patent/JP2002261792A/ja
Application granted granted Critical
Publication of JP3642305B2 publication Critical patent/JP3642305B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 (修正有) 【課題】スプライシング中においても、クライアントか
らサーバへと送信されるデータ取得要求等のパケットを
監視し対応する終端処理を実行することのできる交換機
を提供する。 【解決手段】 複数のサーバとクライアント間を中継す
る交換機100において、サーバからクライアントに対
して送信されるパケットの中継時に、ヘッダ情報を、ク
ライアント側処理部10から発信された場合に設定され
るヘッダ情報に書き換えたパケットをクライアントに対
し発信する手段と、クライアントからのデータ取得要求
の中継時から、サーバからクライアントに対し送信され
る応答パケットの送信が終了するまでの間、サーバから
クライアント方向に対しスプライシングの処理を行な
い、かつクライアントからクライアント側処理部方向の
通信及びサーバ側処理部20からサーバ方向の通信に対
しては、コネクションを切断することなく再送制御及び
フロー制御を行なう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パケット交換によ
る通信システムに関し、特に、サーバとクライアント間
の通信を効率的に交換する通信システムとその交換方法
に関する。
【0002】
【従来の技術】OSI参照モデルのネットワークプロト
コルでは、データ通信ネットワークの機能を7つの階層
(Layer)に大別しており、下位の階層から順に物
理層、デタリンク層、ネットワーク層、トランスポート
層、セッション層、プレゼンテーション層、アプリケー
ション層がある。それぞれ順に第1層(Layer
1)、第2層(Layer 2)、・・・と呼ばれるこ
ともある。
【0003】また、通信ネットワーク上のノードには、
その通信の交換において参照するデータの階層に対応し
て、レイヤ2スイッチ(Layer 2 Switc
h)、レイヤ3スイッチ(Layer 3 Switc
h)、レイヤ4スイッチ(Layer 4 Switc
h)と呼ばれるもの等がある。また最近では、更に上位
のアプリケーション層の情報に基づいて緻密にフローや
トラフィックを制御するレイヤ7スイッチ(又、4−7
層スイッチ)がある。
【0004】図18は、レイヤ7スイッチである交換機
100bを備える従来の通信システムの構成を示すブロ
ック図である。
【0005】図18の従来の通信システムでは、複数の
サーバ70を備えるサーバ群71及びクライアント60
は、パケット交換網のネットワーク50で互いに接続し
ている。パケット交換網としては、IP(Intern
et Protocol)ネットワーク等がある。
【0006】各クライアント60は、ネットワーク50
を介してサーバ群71内のサーバ70からサービスを受
ける。このサービスでは、まず、クライアント60がサ
ーバ70へと双方向通信のできるトランスポート層のコ
ネクションを確立(例えば、TCPプロトコル)し、ク
ライアント60からサーバ70に取得したいデータの識
別子が送られることにより、その指定されたデータがサ
ーバ70からクライアント60に送られる。また、1つ
のコネクションで複数のデータの取得要求を出すことも
可能であり、サーバ70はその要求を受けたデータを順
次クライアント60に送る。
【0007】クライアント60は、あるサーバ70から
取得したいデータを全て取得し終えた場合には、クロー
ズ要求をサーバ70へ送り、サーバ側にコネクションの
切断を指示することができる。
【0008】このサービスに使われている、双方向通信
を行なうトランスポート層のコネクションは、パケット
内に、パケットに含まれているトランスポート層でのデ
ータの位置を示すシーケンス番号、パケット中のデータ
のトランスポート層でのデータ長、通信相手に対して今
までに確実に受信を終えているトランスポート層でのデ
ータ位置を示すAck番号が含まれている。通信両端の
トランスポート層プロトコル終端部(終端部)は、この
シーケンス番号とAck番号を用いて通信途中で失われ
たパケットの再送制御を行なう。
【0009】また、通信両端でフロー制御を行なうた
め、通信相手に受信バッファの残り容量を示すためのフ
ィールド(ウィンドウフィールド)を備える場合もあ
る。以下この値を、Win値と呼ぶこととする。
【0010】また、通信の両端において、シーケンス番
号の初期値をハンドシェイクを行なって互いに通知し合
う。更に、コネクションの終わりは、互いにパケットに
コネクション終了を示すフラグ(終了フラグ)の立った
パケットと、その受信確認を含むパケットをやりとりす
ることで、コネクションの切断を行なう。このようなプ
ロトコルの例としては、インターネットで用いられてい
るTCPプロトコルがある。
【0011】次に、図18の従来の交換機100bの役
割と動作をより詳細に説明する。
【0012】図18の交換機100bは、クライアント
60に、サーバ群71内の複数のサーバ70を仮想的に
1台のサーバとして認識させ、クライアント60からの
データ取得要求を適切なサーバ70へと転送し、そのサ
ーバ70からの応答のデータを当該クライアント60へ
と転送する機能を有している。
【0013】クライアント60からは、サーバ群71は
同一のネットワーク50アドレスを備える仮想的な1台
のサーバ70(仮想サーバ)として認識されている。ク
ライアント60が、当該アドレスの仮想サーバと接続し
ようとすると、まず、クライアント60と交換機100
bの間にコネクションが張られる。
【0014】クライアント60は、このコネクション上
にデータ取得要求(取得したいデータの識別子)を渡
す。交換機100bは、このコネクションを流れてきた
データ取得要求の識別子を基に適切な接続先のサーバ7
0を選択する。
【0015】次に、交換機100bは、選択したサーバ
70へコネクションを張り、コネクション上にデータ取
得要求を転送する。サーバ70は、取得要求のあったデ
ータをこのコネクション上へ流し、交換機100bはこ
のデータをクライアント60へ転送する。
【0016】この時点で、クライアント60と交換機1
00b間のコネクションと、交換機100bとサーバ7
0間のコネクションの2つのコネクションがあることに
なるが、交換機100bはこのコネクションを1つにつ
なぎ合わせる。
【0017】すなわち、クライアント60と交換機10
0b間、及び、交換機100bとサーバ70間の2つの
トランスポート層のコネクションを1つに接続すること
により、サーバ70とクライアント60とのそれぞれに
トランスポート層の再送及びフロー制御を行なわせ、交
換機100bは、当該コネクションに関する再送制御や
フロー制御を行なう必要がなくなる。
【0018】この動作を、スプライシングと呼ぶ。
【0019】以下、従来のレイヤ7スイッチである交換
機100bのスプライシングの処理を図面を参照して詳
細に説明する。図19は、従来の交換機100bの構成
を示すブロック図である。
【0020】図19の交換機100bでは、クライアン
ト側との通信を処理するクライアント側処理部10b、
サーバ側との通信を処理するサーバ側処理部20b、各
クライアントの接続先を判定する解析部30b、クライ
アントからの個々のデータ取得要求に対応する接続先の
サーバを示すフォワーディングテーブル等を記録した記
憶部40bを備えている。
【0021】また、クライアント側処理部10bは、ク
ライアント側の通信の終端を行なうクライアント側終端
部11b、データの通信経路を切り替えるクライアント
側切替部13b、各クライアントとのパケットの送受を
行なうクライアント側通信部14bを備えている。また
サーバ側処理部20bは、サーバ側の通信の終端を行な
うサーバ側終端部21b、パケットのヘッダ情報を書き
換えて更新するサーバ側更新部22b、データの通信経
路を切り替えるサーバ側切替部23b、各サーバ70と
のパケットの送受を行なうサーバ側通信部14bを備え
ている。
【0022】クライアント60から交換機100bへの
パケットは、図19の矢印Aからクライアント側切替部
13bに届き、交換機100bからクライアント60へ
のパケットは図19の矢印B、Cに従ってクライアント
側終端部11bやサーバ側更新部22bからクライアン
ト60へと届けられる。
【0023】また、サーバ側から交換機100bへのパ
ケットは、図19の矢印Eから切替部23bに届き、交
換機100bからサーバ70へのパケットは図19の矢
印D等に従ってサーバ側終端部21bやサーバ側更新部
22bからサーバ70へと届けられる。
【0024】なお、クライアント側の切替部13bは、
サーバ側更新部22bの指示に従って矢印Aから到着す
るパケットをクライアント側終端部11bかサーバ側更
新部22bへと渡す。また、サーバ側の切替部23bは
サーバ側終端部21bの指示に従って、矢印Eから到着
するパケットをサーバ側更新部22b又は、サーバ側終
端部21bへと渡す。
【0025】まず、クライアント60が仮想サーバと接
続しようとすると、コネクション確立のハンドシェイク
が行われるが、この時のパケットは、サーバ側更新部2
2bがクライアント側切替部13bに指示して、クライ
アント60と、クライアント側終端部11bの間でやり
とりされ、クライアント60とクライアント側終端部1
1bの間にコネクションが張られる。以下この時のコネ
クションの、クライアント60の初期シーケンス番号を
“SC”、クライアント側処理部10bの初期シーケン
ス番号を“SU”とし、これを記録しておく。
【0026】クライアント60は、このコネクション上
にデータ取得要求(取得したいデータの識別子)を渡
す。クライアント側終端部11bでは、トランスポート
層プロトコルを処理して、このコネクション上の流れる
データを取り出して、解析部30bへとこのデータ取得
要求を渡す。
【0027】解析部30bは、例えばこのデータ取得要
求を基に記憶部40bに記憶されたフォワーディングテ
ーブルを参照する等の方法により、適切なサーバ70を
選択することができる。そして、解析部30bは、サー
バ側終端部21bに対してこの選択されたサーバ70へ
のコネクションを張るように指示し、サーバ側終端部2
1bは、指示されたサーバ70へとコネクションを張
る。
【0028】この時、サーバ側終端部21bとサーバ7
0との間で、コネクション確立のためのハンドシェイク
が行われる。ここで、サーバ側終端部21bは、ハンド
シェイクに関するパケットをサーバ側終端部21bとサ
ーバ70との間でやりとりできるように、サーバ側切替
部23bに対し適正な通信の経路を指示しておく。この
時のコネクションのサーバ70の初期シーケンス番号を
“SS”、サーバ側終端部21bの初期シーケンス番号
を“SV”とし、これを記録しておく。
【0029】次に、解析部30bがサーバ側終端部21
bへと、データ取得要求を受け渡し、データ取得要求が
確立されたコネクションを使ってサーバ70へと、デー
タ取得要求を転送する。ここで、サーバ側終端部21b
は、切替部23bに対して以降の当該サーバ70からの
送られるパケットをサーバ側更新部22bへと渡すよう
に切り換えを指示する。
【0030】次に、サーバ70から、データ取得要求に
対応するデータを乗せたパケットが交換機100bに到
着する。このサーバ70から送られるパケットは、切替
部23bによってサーバ側更新部22bへと受け渡され
る。
【0031】サーバ側更新部22bは、このパケットの
中継時においてヘッダ情報の更新を行なう。つまり、パ
ケットのシーケンス番号とAck番号を書き換えて、必
要があればトランスポート層プロトコルのチェックサム
も正しく更新して、クライアント60へと送出する。
【0032】また、これ以降の、サーバ70から送られ
たパケットのシーケンス番号とAck番号の更新は、そ
のパケットがクライアント側処理部10から(つまり、
この交換機100bから)発信された場合のデータと同
等になるように書き換えて更新する。
【0033】例えば、上記で述べた以外のパケットがク
ライアント60から送信されていない場合には、次のよ
うに更新することができる。
【0034】まず、シーケンス番号については、クライ
アント側終端部11bから受け取った、クライアント側
終端部11bの初期シーケンス番号“SU”とサーバ側
終端部21から受け取ったサーバ70の初期シーケンス
番号“SS”の差を加える。すなわち、“更新するシー
ケンス番号=現在のシーケンス番号+SU−SS”であ
る。この時、シーケンス番号の最大値を超える場合の処
理については、トランスポート層プロトコルにおけるシ
ーケンス番号の加算、減算の方法に準拠する。
【0035】またAck番号については、クライアント
側終端部11bから受け取った、クライアント60の初
期シーケンス番号“SC”とサーバ側終端部21bから
受け取ったサーバ側終端部21bの初期シーケンス番号
“SV”の差を加える。すなわち、“更新するAck番
号=現在のAck番号+SC−SV”とする。
【0036】こうすることで、クライアント60のトラ
ンスポート層プロトコルは、このサーバ70からパケッ
トをクライアント側処理部10bから(つまり、この交
換機100bから)からやってきたパケットと見なして
処理することができる。
【0037】同様に、これ以降クライアント60からサ
ーバ70に送られるパケットは、クライアント側切替部
13bによってサーバ側更新部22へと渡され、当該パ
ケットのシーケンス番号とAck番号を、当該パケット
がサーバ側処理部20bから(つまり、交換機100b
から)発せられたパケットと同等の値に書き換えて、送
られる。すなわち、“更新するシーケンス番号=現在の
シーケンス番号+SV−SC”、“更新するAck番号
=現在のAck番号+SS−SU”と書き換えるのであ
る。
【0038】このようにして、以降のサーバ70とクラ
イアント60の間データの授受は、トランスポート層プ
ロトコルを終端するクライアント側終端部11bとサー
バ側終端部21bを経由せずに、パケット毎にシーケン
ス番号を書き換えるのみ処理でやりとりすることができ
る。
【0039】これが前述のコネクションスプライシング
である。
【0040】一般に、クライアント60からサーバ70
にはデータ取得要求のような小さなデータ量しか流れな
いが、サーバ70からクライアント60には大量にデー
タが流れる。例えば、ウェブサーバに対してクライアン
トのウェブブラウザからアクセスする場合には、サーバ
70からクライアント60には画像データ等の大量のデ
ータが送信されることとなる。
【0041】このコネクションスプライシングを行なう
ことによって、大量のデータを複雑なトランスポート層
の終端処理(再送及びフロー制御等)をすることなく中
継することが可能となり、スループットを向上すること
ができる。
【0042】
【発明が解決しようとする課題】しかし、上述した従来
の交換機100bでは、スプライシング時においては、
クライアント60から送られるデータ取得要求を交換機
100bが参照することができないという問題があっ
た。
【0043】また、従来の交換機100bでは、最初に
クライアント60から送られてきたデータ取得要求のみ
に基づいて、その要求に対応するサーバ70を決定しコ
ネクションをスプライシングするため、コネクションス
プライシング後にクライアント60から到着するデータ
取得要求を、その要求に基づいて適切なサーバ70へと
転送することができないという問題があった。
【0044】また、最初に送られてきたデータ取得要求
に基づく、選択されたサーバ70からクライアント60
へのデータの転送が終了した場合には、同じサーバ70
に対する他のデータ取得要求が残っている場合にも、前
述のクローズ要求をサーバ70へ送りコネクションを切
断している。
【0045】クライアント60は、コネクションが切断
されてしまうため、サーバ70が処理しなかった取得要
求については、再びコネクション確立(Handsha
ke:ハンドシェイク)からやり直して取得する必要が
あり、必要なデータを取得するまでの遅延が大きくなっ
てしまうという問題があった。
【0046】本発明の第1の目的は、上記従来技術の欠
点を解決し、スプライシング中においても、クライアン
トからサーバへと送信されるデータ取得要求等のパケッ
トを監視し、対応する終端処理を実行することのできる
通信システムとそのパケット交換方法、及び交換プログ
ラムを記録した記録媒体を提供することである。
【0047】本発明の第2の目的は、上記従来技術の欠
点を解決し、スプライシング中においても、クライアン
トからサーバへと送信されるデータ取得要求等のパケッ
トを参照し、常に適切なサーバ70へのデータ取得要求
の転送を実現し、かつサーバからクライアント側へ送信
される大量のデータについては、パケット毎にシーケン
ス番号とAck番号等のヘッダ情報を書き換えるのみの
スプライシングによる簡素化された終端処理により、従
来の交換機と同等のスループットを同時に実現する通信
システムとそのパケット交換方法、及び交換プログラム
を記録した記録媒体を提供することである。
【0048】本発明の第3の目的は、上記従来技術の欠
点を解決し、クライアントからのデータ取得要求に応答
して送信される全てのデータをクライアントが受け取る
まで、クライアントと交換機の間で確立されたコネクシ
ョンを切断せずに維持することにより、必要なデータを
取得するまでの遅延を小さく保つことのできる通信シス
テムとそのパケット交換方法、及び交換プログラムを記
録した記録媒体を提供することである。
【0049】
【課題を解決するための手段】上記目的を達成するため
本発明の通信システムは、交換機を介してサーバとクラ
イアントとの間でパケット通信を行なうパケット交換に
よる通信システムにおいて、前記交換機が、前記サーバ
から前記クライアントに対して送信されるパケットの中
継時に、当該パケットのヘッダ情報を、当該パケットが
前記交換機から発信された場合に設定される内容に書き
換えて、前記パケットを前記クライアントに対して発信
し、前記クライアントからのデータ取得要求の中継時か
ら、前記サーバから前記クライアントに対し送信される
応答のパケットの送信が終了するまでの間、当該サーバ
から当該クライアントへの方向に対し片方向のスプライ
シングの処理を行ない、かつ前記クライアントから前記
サーバへの方向の通信に対して引き続き再送制御及びフ
ロー制御を行なうことを特徴とする。
【0050】請求項2の本発明の通信システムは、前記
交換機は、各前記クライアントからの接続を受け付け、
当該クライアントとの間におけるコネクションを管理し
パケットを送受するクライアント側処理部と、各前記サ
ーバに対しアクセスし、当該サーバとの間におけるコネ
クションを管理しパケットを送受するサーバ側処理部
と、前記サーバから前記クライアントに対して送信され
るパケットの中継時に、前記パケットのヘッダ情報の書
換えを行なって、前記パケットを前記クライアントに対
し発信する手段と、前記サーバから当該クライアントへ
の方向に対し片方向のスプライシングの処理を行ない、
かつ前記クライアントから前記クライアント側処理部へ
の方向の通信及び前記サーバ側処理部から前記サーバへ
の方向の通信に対しては、確立したコネクションを切断
することなく引き続き再送制御及びフロー制御を行なう
手段を備えることを特徴とする。
【0051】請求項3の本発明の通信システムは、前記
クライアント側処理部は、各前記クライアントとの間の
コネクションを制御し、各前記クライアントからの接続
や要求を受け付けるクライアント側終端部と、前記サー
バから前記クライアントに対し送信されるパケットを、
ヘッダ情報を書き換えて中継するクライアント側更新部
を備え、前記サーバ側処理部は、各前記サーバとの間の
コネクションを管理し、前記クライアント側終端部から
送られる各前記サーバに対する命令やデータを中継する
サーバ側終端部と、各前記サーバから各前記クライアン
トに対し送信されるパケットを受け付けて、前記クライ
アント側更新部に送るサーバ側更新部を備えることを特
徴とする。
【0052】請求項4の本発明の通信システムは、前記
パケットのヘッダ情報には、個々のパケットに分割され
た送信データにおける、当該パケット中のデータの順番
を示すシーケンス番号と、当該パケットのデータ長と、
通信相手が既に受信済みであるデータのシーケンス番号
を示すAck番号を含むことを特徴とする。
【0053】請求項5の本発明の通信システムは、前記
パケットのヘッダ情報には、通信相手がまだ受信してい
ない受信バッファの残り容量を示すWin値を含むこと
を特徴とする。
【0054】請求項6の本発明の通信システムは、前記
クライアント側終端部は、各前記クライアントから受け
付けたパケットのヘッダ情報を、前記クライアント側更
新部及び前記サーバ側終端部に通知する手段を備え、前
記サーバ側更新部は、各前記サーバから各前記クライア
ントに対し送信されるパケットのヘッダ情報を前記サー
バ側終端部に通知する手段を備え、前記クライアント側
更新部及び前記サーバ側終端部は、前記通知されたヘッ
ダ情報を記録し参照して、パケットのヘッダ情報を適正
に書き換えることを特徴とする。
【0055】請求項7の本発明の通信システムは、前記
片方向のスプライシング処理が設定された状態におい
て、前記クライアント側終端部は、各前記クライアント
から受け付けたパケットに対する応答処理を前記クライ
アント側更新部に指示し、記クライアント側更新部は、
前記応答処理の指示を受け付けて、当該クライアントに
対する応答のパケットを生成して発信する手段を備える
ことを特徴とする。
【0056】請求項8の本発明の通信システムは、前記
サーバ側更新部は、1つの前記クライアントに対する複
数の前記サーバからのパケットの送信を中継し、中継す
るパケットのヘッダ情報から、個々の前記サーバにおけ
るパケットの送信の終了の旨を示すフラグを除去する手
段を備え、前記クライアントとの間のコネクションを切
断することなく、前記複数のサーバを切り換えて発信さ
れるパケットを前記クライアントに中継することを特徴
とする。
【0057】請求項9の本発明の通信システムは、前記
クライアント側終端部及び前記サーバ側終端部は、前記
クライアントから前記サーバに対して個々のパケットに
分割されて送信される送信データを、元の分割する前の
状態に復元し、各パケットを、サーバを選択して送信す
る手段を備えることを特徴とする。
【0058】請求項10の本発明の通信システムは、各
前記クライアントが接続する接続先のサーバを決定する
解析部を備え、前記解析部は、前記クライアント側終端
部から、前記クライアントが各前記サーバに対し発信す
る要求の情報を取得する手段と、前記要求に基づいて、
当該クライアントが接続すべき接続先のサーバを判定す
る手段と、前記サーバ側終端部に対して、当該クライア
ントの前記判定された接続先のサーバへの接続を指示す
る手段を備えることを特徴とする。
【0059】請求項11の本発明の通信システムは、前
記クライアント側終端部及び前記サーバ側終端部は、前
記クライアントから前記サーバに対して、個々のパケッ
トに分割されて送信される送信データを元の分割する前
の状態に復元した後に、当該サーバに対し送信する手段
を備え、前記解析部は、前記元の分割する前の状態に復
元された送信データに基づいて、前記接続先のサーバを
判定する手段を備えることを特徴とする。
【0060】請求項12の本発明の通信システムは、前
記解析部は、前記クライアントにより発信された未処理
のデータ取得要求を、その接続先のサーバ毎に順次グル
ープに分類する手段と、前記サーバ側終端部に対して、
分類された各前記グループ毎に、対応するサーバへの接
続と当該グループに分類された前記データ取得要求の実
行を指示する手段を備えることを特徴とする。
【0061】請求項13の本発明の交換機は、複数のサ
ーバとクライアントとの通信ネットワークを介したパケ
ット通信を中継する交換機において、前記サーバから前
記クライアントに対して送信されるパケットの中継時
に、当該パケットのヘッダ情報を、当該パケットが交換
機から発信された場合に設定される内容に書き換えて、
前記パケットを前記クライアントに対して発信し、前記
クライアントからのデータ取得要求の中継時から、前記
サーバから前記クライアントに対し送信される応答のパ
ケットの送信が終了するまでの間、当該サーバから当該
クライアントへの方向に対し片方向のスプライシングの
処理を行ない、かつ前記クライアントから前記サーバへ
の方向の通信に対して引き続き再送制御及びフロー制御
を行なうことを特徴とする。
【0062】請求項14の本発明の交換機は、各前記ク
ライアントからの接続を受け付け、当該クライアントと
の間におけるコネクションを管理しパケットを送受する
クライアント側処理部と、各前記サーバに対しアクセス
し、当該サーバとの間におけるコネクションを管理しパ
ケットを送受するサーバ側処理部と、前記サーバから前
記クライアントに対して送信されるパケットの中継時
に、前記パケットのヘッダ情報の書換えを行なって、前
記パケットを前記クライアントに対し発信する手段と、
前記サーバから当該クライアントへの方向に対し片方向
のスプライシングの処理を行ない、かつ前記クライアン
トから前記クライアント側処理部への方向の通信及び前
記サーバ側処理部から前記サーバへの方向の通信に対し
ては、確立したコネクションを切断することなく引き続
き再送制御及びフロー制御を行なう手段を備えることを
特徴とする。
【0063】請求項15の本発明の交換機は、前記クラ
イアント側処理部は、各前記クライアントとの間のコネ
クションを管理し、各前記クライアントからの接続や要
求を受け付けるクライアント側終端部と、前記サーバか
ら前記クライアントに対し送信されるパケットを、ヘッ
ダ情報を書き換えて中継するクライアント側更新部を備
え、前記サーバ側処理部は、各前記サーバとの間のコネ
クションを管理し、前記クライアント側終端部から送ら
れる各前記サーバに対する命令やデータを中継するサー
バ側終端部と、各前記サーバから各前記クライアントに
対し送信されるパケットを受け付けて、前記クライアン
ト側更新部に送るサーバ側更新部を備えることを特徴と
する。
【0064】請求項16の本発明の交換機は、前記パケ
ットのヘッダ情報には、個々のパケットに分割された送
信データにおける、当該パケット中のデータの順番を示
すシーケンス番号と、当該パケットのデータ長と、通信
相手が既に受信済みであるデータのシーケンス番号を示
すAck番号を含むことを特徴とする。
【0065】請求項17の本発明の交換機は、前記パケ
ットのヘッダ情報には、通信相手がまだ受信していない
受信バッファの残り容量を示すWin値を含むことを特
徴とする。
【0066】請求項18の本発明の交換機は、前記クラ
イアント側終端部は、各前記クライアントから受け付け
たパケットのヘッダ情報を、前記クライアント側更新部
及び前記サーバ側終端部に通知する手段を備え、前記サ
ーバ側更新部は、各前記サーバから各前記クライアント
に対し送信されるパケットのヘッダ情報を前記サーバ側
終端部に通知する手段を備え、前記クライアント側更新
部及び前記サーバ側終端部は、前記通知されたヘッダ情
報を記録し参照して、パケットのヘッダ情報を適正に書
き換えることを特徴とする。
【0067】請求項19の本発明の交換機は、前記片方
向のスプライシング処理が設定された状態において、前
記クライアント側終端部は、各前記クライアントから受
け付けたパケットに対する応答処理を前記クライアント
側更新部に指示し、記クライアント側更新部は、前記応
答処理の指示を受け付けて、当該クライアントに対する
応答のパケットを生成して発信する手段を備えることを
特徴とする。
【0068】請求項20の本発明の交換機は、前記サー
バ側更新部は、1つの前記クライアントに対する複数の
前記サーバからのパケットの送信を中継し、中継するパ
ケットのヘッダ情報から、個々の前記サーバにおけるパ
ケットの送信の終了の旨を示すフラグを除去する手段を
備え、前記クライアントとの間のコネクションを切断す
ることなく、前記複数のサーバを切り換えて発信される
パケットを前記クライアントに中継することを特徴とす
る。
【0069】請求項21の本発明の交換機は、前記クラ
イアント側終端部及び前記サーバ側終端部は、前記クラ
イアントから前記サーバに対して個々のパケットに分割
されて送信される送信データを、元の分割する前の状態
に復元し、各パケットを、サーバを選択して送信する手
段を備えることを特徴とする。
【0070】請求項22の本発明の交換機は、各前記ク
ライアントが接続する接続先のサーバを決定する解析部
を備え、前記解析部は、前記クライアント側終端部か
ら、前記クライアントが各前記サーバに対し発信する要
求の情報を取得する手段と、前記要求に基づいて、当該
クライアントが接続すべき接続先のサーバを判定する手
段と、前記サーバ側終端部に対して、当該クライアント
の前記判定された接続先のサーバへの接続を指示する手
段を備えることを特徴とする。
【0071】請求項23の本発明の交換機は、前記クラ
イアント側終端部及び前記サーバ側終端部は、前記クラ
イアントから前記サーバに対して、個々のパケットに分
割されて送信される送信データを元の分割する前の状態
に復元した後に、当該サーバに対し送信する手段を備
え、前記解析部は、前記元の分割する前の状態に復元さ
れた送信データに基づいて、前記接続先のサーバを判定
する手段を備えることを特徴とする。
【0072】請求項24の本発明の交換機は、前記解析
部は、前記クライアントにより発信された未処理のデー
タ取得要求を、その接続先のサーバ毎に順次グループに
分類する手段と、前記サーバ側終端部に対して、分類さ
れた各前記グループ毎に、対応するサーバへの接続と当
該グループに分類された前記データ取得要求の実行を指
示する手段を備えることを特徴とする。
【0073】請求項25の本発明のパケット交換方法
は、複数のサーバとクライアントとの間の、通信ネット
ワークを介したパケット通信を中継する交換機のパケッ
ト交換方法において、前記サーバから前記クライアント
に対して送信されるパケットの中継時に、当該パケット
のヘッダ情報を、当該パケットが交換機から発信された
場合に設定される内容に書き換えて、前記パケットを前
記クライアントに対して発信し、前記クライアントから
のデータ取得要求の中継時から、前記サーバから前記ク
ライアントに対し送信される応答のパケットの送信が終
了するまでの間、当該サーバから当該クライアントへの
方向に対し片方向のスプライシングの処理を行ない、か
つ前記クライアントから前記サーバへの方向の通信に対
して引き続き再送制御及びフロー制御を行なうことを特
徴とする。
【0074】請求項26の本発明のパケット交換方法
は、各前記クライアントとの間のコネクションを管理
し、各前記クライアントからの接続や要求を受け付ける
ステップと、前記サーバから前記クライアントに対し送
信されるパケットを、ヘッダ情報を書き換えて中継する
ステップと、各前記サーバとの間のコネクションを管理
し、前記クライアントから送られる各前記サーバに対す
る命令やデータを中継するステップを備え、前記パケッ
トのヘッダ情報には、個々のパケットに分割された送信
データにおける、当該パケット中のデータの順番を示す
シーケンス番号と、当該パケットのトランスポート層以
下のデータ長と、通信相手が既に受信済みであるデータ
のシーケンス番号を示すAck番号と、通信相手がまだ
受信していない受信バッファの残り容量を示すWin値
を含むことを特徴とする。
【0075】請求項27の本発明のパケット交換方法
は、1つの前記クライアントに対する複数の前記サーバ
からのパケットの送信を中継し、中継するパケットのヘ
ッダ情報から、個々の前記サーバにおけるパケットの送
信の終了の旨を示すフラグを除去するステップを備え、
前記クライアントとの間のコネクションを切断すること
なく、前記複数のサーバを切り換えて発信されるパケッ
トを前記クライアントに中継することを特徴とする。
【0076】請求項28の本発明のパケット交換方法
は、前記クライアントから前記サーバに対して個々のパ
ケットに分割されて送信される送信データを、元の分割
する前の状態に復元し、各パケットを、サーバを選択し
て送信するステップを備えることを特徴とする。
【0077】請求項29の本発明のパケット交換方法
は、前記クライアントが各前記サーバに対し発信する要
求の情報を取得するステップと、前記要求に基づいて、
当該クライアントが接続すべき接続先のサーバを判定す
るステップと、当該クライアントの前記判定された接続
先のサーバへの接続を指示するステップを備えることに
より、各前記クライアントが接続する接続先のサーバを
決定することを特徴とする。
【0078】請求項30の本発明のパケット交換方法
は、前記クライアントにより発信された未処理のデータ
取得要求を、その接続先のサーバ毎に順次グループに分
類するステップと、分類された各前記グループ毎に、対
応するサーバへの接続と当該グループに分類された前記
データ取得要求の実行を指示するステップを備えること
を特徴とする。
【0079】請求項31の本発明の交換プログラムを記
録した記録媒体は、コンピュータを制御することによ
り、複数のサーバとクライアントとの間の、通信ネット
ワークを介したパケット通信を中継する交換プログラム
をコンピュータにより読み取り可能に記録した記録媒体
において、前記交換プログラムは、前記サーバから前記
クライアントに対して送信されるパケットの中継時に、
当該パケットのヘッダ情報を、当該パケットが前記交換
機から発信された場合に設定される内容に書き換えて、
前記パケットを前記クライアントに対して発信し、前記
クライアントからのデータ取得要求の中継時から、前記
サーバから前記クライアントに対し送信される応答のパ
ケットの送信が終了するまでの間、当該サーバから当該
クライアントへの方向に対し片方向のスプライシングの
処理を行ない、かつ前記クライアントから前記サーバへ
の方向の通信に対して引き続き再送制御及びフロー制御
を行なうことを特徴とする。
【0080】請求項37の本発明のサーバは、交換機を
介してサーバとクライアントとの間でパケット通信を行
なう通信システムにおけるサーバであって、前記交換機
における前記クライアントからのデータ取得要求の中継
時から、前記クライアントに対し送信される応答のパケ
ットの送信を終了するまでの間、片方向のスプライシン
グによって当該クライアントへに対し前記パケットを送
信することを特徴とする。
【0081】請求項45の本発明のクライアントは、交
換機を介してサーバとクライアントとの間でパケット通
信を行なう通信システムにおけるクライアントであっ
て、前記交換機における前記サーバへのデータ取得要求
の中継時から、前記サーバから受信される応答のパケッ
トの送信を終了するまでの間、片方向のスプライシング
によって当該サーバから前記パケットを受信することを
特徴とする。
【0082】請求項55の本発明の通信システムは、前
記解析部は、前記クライアントにより発信された未処理
のデータ取得要求を、その接続先のサーバ毎に順次グル
ープに分類する手段と、前記サーバ側終端部に対して、
分類された各前記グループ毎に、対応するサーバへの接
続と当該グループに分類された前記データ取得要求の実
行及び取得要求の送信後にサーバとのコネクションを切
断する事を指示する手段を備えることを特徴とする。
【0083】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0084】まず、通信ネットワークを介しサーバとク
ライアントとの間でパケット通信を行なう本実施の形態
による通信システムの概念について、図1を参照して説
明する。図1において、100は複数のサーバの通信ネ
ットワークへの接続を中継する本発明による片方向終端
交換機、60はクライアント、70はサーバである。
【0085】本発明においては、大量のデータが転送さ
れることの多い、サーバ70からクライアント60への
方向の通信のみ対してスプライシングを行ない、同時に
クライアント60からサーバ70への方向の通信に対し
ては、再送制御やフロー制御等の終端処理を実行する。
【0086】従来では、クライアント60と交換機10
0b間及び交換機100bとサーバ70間のコネクショ
ンの2つのコネクションを、クライアント60サーバ7
0間の1つのコネクションにスプライシングを行ない、
交換機100bでは、再送やフロー制御等の終端処理を
行なうことができなかったのに対して、本本発明の片方
向終端交換機100では、クライアント60とサーバ7
0との間を両方向共に単一のTCPコネクションにする
のではなく、サーバ70からクライアント60方向に流
れるデータに対してのみ、スプライシング処理によるパ
ケットのシーケンス番号やAck番号の書き換えのみを
行なって、サーバ70やクライアント60自身にその再
送制御及びフロー制御を行なわせるものである。
【0087】ここで、クライアント60から片方向終端
交換機100へのトランスポート層のコネクションにお
いては、片方向終端交換機100は、クライアント60
に対して、クライアント60から片方向終端交換機10
0方向へ流れるデータの再送制御及びフロー制御を行な
って終端する。更に、交換機100とサーバ70間のコ
ネクションも、片方向終端交換機100は、サーバ70
に対して、片方向終端交換機100からサーバ70方向
へ流れるデータの再送制御及びフロー制御を行なって終
端する。
【0088】図2は、本発明の第1の実施の形態の片方
向終端交換機100を用いたネットワーク構成の一例を
示すブロック図である。
【0089】本実施の形態では、図18の例に示される
従来技術と比べて、従来の交換機100bの代わりに、
片方向のみのスプライシングを行なう片方向終端交換機
100を備える点がその特徴である。
【0090】従来の交換機100bではクライアント6
0とサーバ70との間の両方向の通信のそれぞれに、通
信の終端を行なう状態とスプライシングの状態とを同時
に同一の状態を設定することしかできなかったが、本実
施の形態の片方向終端交換機100では、大量のデータ
が転送されることの多い、サーバ70からクライアント
60への方向の通信のみ対してスプライシングを行な
い、同時にクライアント60からサーバ70への方向の
通信に対しては、再送制御やフロー制御等の終端処理を
実行するのである。
【0091】図2のサーバ群71内の各サーバ70及び
クライアント60の役割は、図18を用いて説明した従
来技術のものと同様である。またこれらが、パケット交
換網のネットワーク50で互いに接続されている点も同
様である。更に、図2のサーバ群71の各サーバ70が
提供するサービスも、従来技術と同じくトランスポート
層プロトコルのコネクションを用いて接続され、パケッ
ト内には、パケットに含まれているトランスポート層で
のデータの位置を示すシーケンス番号、パケット中のデ
ータのトランスポート層でのデータ長、また、通信相手
に対して、今までの中で確実に受信を終えたているトラ
ンスポート層でのデータ位置を示すAck番号をヘッダ
情報として含むものとする。また、コネクション確立や
終了の方法も全く同様とする。
【0092】本実施の形態の片方向終端交換機100の
機能は、従来の交換機100bとスプライシングの方法
において相違する。
【0093】従来は、クライアント60と交換機100
b間及び交換機100bとサーバ70間のコネクション
の2つのコネクションを、クライアント60サーバ70
間の1つのコネクションにスプライシングするのであ
り、この場合交換機100bでは、再送やフロー制御等
の終端処理を行なうことができない。
【0094】しかし、本実施の形態の片方向終端交換機
100においては、クライアント60とサーバ70との
間を両方向共に単一のTCPコネクションにするのでは
なく、サーバ70からクライアント60方向に流れるデ
ータに対してのみ、従来のスプライシングのようにパケ
ットのシーケンス番号やAck番号の書き換えのみを行
なって、サーバ70やクライアント60自身にその再送
制御及びフロー制御を行わせる。
【0095】ここで、クライアント60から片方向終端
交換機100へのトランスポート層のコネクションにお
いては、片方向終端交換機100は、クライアント60
に対して、クライアント60から片方向終端交換機10
0方向へ流れるデータの再送制御及びフロー制御を行な
って終端する。更に、交換機100とサーバ70間のコ
ネクションも、片方向終端交換機100は、サーバ70
に対して、片方向終端交換機100からサーバ70方向
へ流れるデータの再送制御及びフロー制御を行なって終
端することが従来と異なる。
【0096】以下この本発明のスプライシングの方法
を、片方向スプライシングと呼ぶ。
【0097】図3は、本発明の第1の実施の形態の片方
向終端交換機100の構成を示すブロック図である。
【0098】図3を参照すると、本実施の形態の片方向
終端交換機100は、クライアント側との通信を処理す
るクライアント側処理部10、サーバ側との通信を処理
するサーバ側処理部20、アプリケーション層の通信デ
ータを解析し又各クライアントの接続先を判定する解析
部30、クライアントからの個々のデータ取得要求に対
応する接続先のサーバを示すフォワーディングテーブル
等を記録した記憶部40を備えている。
【0099】また、クライアント側処理部10は、クラ
イアント側の通信の終端を行なう終端部11、パケット
のヘッダ情報の書き換えて更新する更新部12、各クラ
イアントとのパケットの送受を行なう通信部14を備え
ている。またサーバ側処理部20は、サーバ側の通信の
終端を行なう終端部21、パケットのヘッダ情報を書き
換えて更新する更新部22、データの通信経路を切り替
える切替部23、各サーバ70とのパケットの送受を行
なう通信部24を備えている。
【0100】まず、本実施の形態の交換機100の各構
成要素の機能を概説する。
【0101】クライアント側終端部11 クライアント側終端部11は、クライアント60とのト
ランスポート層でのコネクションの確立を行ない、クラ
イアント60との間でトランスポート層での再送制御や
フロー制御を含むデータの受け取りを行なう。
【0102】コネクションが確立した場合には、そのク
ライアント60のWin値(受信バッファの残り容量)
をサーバ側終端部21へ通知する。
【0103】片方向スプライシング状態では、クライア
ント60からのパケットの受け取り確認の応答(肯定応
答、Acknowledge:Ack)については、ク
ライアント側終端部11が行なうのではなく、クライア
ント側更新部12に対して、Ack番号及びフロー制御
用のWin値を通知して応答の送信を依頼する。また、
片方向スプライシング状態では、クライアント60から
データを受け取ると、クライアント60からのパケット
のAck番号、Win値をサーバ側終端部21に受け渡
して、サーバ70に対する応答(Ack)の送信依頼を
行なう。また、クライアント側更新部12から、現在の
Ack番号及びWin値の問い合わせにも回答する
【0104】片方向スプライシング状態への移行は、サ
ーバ側更新部22から通知される。
【0105】更に、クライアント60からコネクション
切断要求を示す終了フラグ付きパケットが到着すれば、
クライアント60とクライアント側処理部10との間の
双方向のコネクションの内で、クライアント60からク
ライアント側処理部10へ向かう側のコネクションにつ
いてのトランスポート層の切断処理を行なう。更にこの
場合には、サーバ側終端部21へ、クライアント60か
らクライアント側処理部10へ向かう側のコネクション
が切断されたことを通知する。
【0106】クライアント側処理部10からクライアン
ト60に向かう方向のコネクションについては、サーバ
70から到着する終了フラグ付きパケットの中のデータ
の最終シーケンス番号をサーバ側更新部22が通知する
ので、この最終シーケンス番号“F”を“更新F=F−
SS+SU”のように更新する。そして以後これと同じ
Ack番号が到着した場合には、これによりコネクショ
ンが切断されたことを認識し(つまり、終了フラグ付き
パケットの送信と、それに対する肯定応答のパケットが
到着したとして)、クライアント側処理部10からクラ
イアント60へ向かうコネクションのトランスポート層
の切断処理を行なう。ここで、“SS”は、サーバ70
の初期シーケンス番号であり、“SU”は、クライアン
ト側処理部10の初期シーケンス番号であり、詳細は後
述する。
【0107】クライアント側更新部12 サーバ70からクライアント60へ送信されるパケット
を、サーバ側更新部22から受け取り、そのパケットの
シーケンス番号やAck番号、Win値等のヘッダ情報
を書き換えて、その更新したパケットをクライアント6
0に送信する。
【0108】シーケンス番号は、“シーケンス番号:=
パケットのシーケンス番号−SS+SU”により書き換
えることができる。ここで、“SS”は、サーバ側処理
部20とサーバ70とのコネクションの(サーバ70
の)初期シーケンス番号。“SU”は、クライアント側
処理部10とクライアント60とのコネクションの(ク
ライアント側処理部10の)初期シーケンス番号であ
る。これらの値は、それぞれクライアント側終端部11
及びサーバ側終端部21から得る。
【0109】また、シーケンス番号の加減算について
は、シーケンス番号の最大値を超えたり最小値を下回る
場合の処理は、当該トランスポートプロトコルのシーケ
ンス番号の加減算の扱いに準拠するものとする。
【0110】Ack番号とWin値においては、それぞ
れクライアント側処理部10からクライアント60に対
して現時点で新規のパケットが送信された場合に返され
る最新のAck番号とWin値に書き換える。これら最
新のAck番号とWin値は、クライアント側終端部1
1から取得することができる。
【0111】また、必要であれば、トランスポート層プ
ロトコルのチェックサムも正しく更新する。
【0112】また、クライアント側終端部11から、ク
ライアント60に対する応答(Ack)の送信依頼を受
け取った時にも、Ack番号、Win値は上記の通り
に、シーケンス番号については、一番最近に使用したシ
ーケンス番号を使って応答パケットを生成し送信する。
【0113】クライアント側更新部12には、クライア
ント60にサーバ70から送られるパケットが順次サー
バ側更新部22から送られるのであり、その送られたパ
ケットのシーケンス番号の書き換え後の値を順次記録す
る。上記の一番最近に使用したシーケンス番号とは、こ
の書き換え後のシーケンス番号の最新のものを指す。ま
た、シーケンス番号の初期値とは、片方向スプライシン
グ状態になると同時にサーバ側更新部22からパケット
が到着するので、このパケット対する書き換えたシーケ
ンス番号を初期値とする。
【0114】また、クライアント側終端部11から送信
依頼されるクライアント60への応答(Ack)のパケ
ットは、送信を少し待たせて、サーバ側更新部22から
のパケットと併せて1つのパケットとして送信する方法
も可能である。
【0115】解析部30 クライアント60から発信されたデータ取得要求(複数
でもよい)の情報をクライアント側終端部11から取得
し、アプリケーション層の終端を行ないその情報を解析
し、適切な接続先のサーバ70を決定する。接続先の決
定の方法としては、例えば、クライアント60から要求
される個々のデータに対応して、当該データを提供する
サーバ70名を記録したテーブル(以下、このテーブル
をフォワーディングテーブルと呼ぶこととする)を予め
備え、このフォワーディングテーブルを検索する等の方
法により決定することができる。
【0116】また、この接続先のサーバ70を決定する
と、そのデータ取得要求と接続先のサーバ70名をサー
バ側終端部21に受け渡し、接続を指示する。
【0117】記憶部40解析部30が適切なサーバ70
を選択するための情報を記憶する。例えば、記憶部40
には、上記のフォワーディングテーブルを記録すること
により、解析部30からの検索要求に応答して適切なサ
ーバ70名を返すことができる。
【0118】サーバ側終端部21 解析部30から指示される接続先のサーバ70名に従
い、その接続先のサーバ70にトランスポート層のコネ
クションを確立する。
【0119】このコネクションの確立時には、クライア
ント側終端部11から通知されたWin値(受信バッフ
ァの残り)を、サーバ側処理部20のWin値の初期値
として登録し使用する。
【0120】このサーバ70とのコネクションの確立時
には、サーバ70から送られるパケットをサーバ側終端
部21が受け取るように、切替部23に接続の切り換え
を予め指示する。
【0121】サーバ側終端部21は、このコネクション
が確立すると、データ取得要求を確立したトランスポー
ト層コネクションを用いてサーバ70に送る。続いて切
替部23へ指示して、サーバ70から送られるこのコネ
クションに関するパケットを、以後はサーバ側更新部2
2が受け取るように切り換えを行なう。これ以降は、片
方向スプライシング状態となる。
【0122】またこれ以降は、サーバ70から送られた
パケットのAck番号とWin値が順次サーバ側更新部
22から通知されるようになり、これらの値を使って、
サーバ70へ送るトランスポート層のデータ(データ取
得要求等)についての、再送制御及び、フロー制御を行
なう。
【0123】またこれ以降は、クライアント60が当該
パケットの受信確認の応答(Ack)のパケットを順次
発信し、クライアント側終端部11がこれを受信してそ
の各パケットのAck番号及びWin値が順次サーバ側
終端部21に通知される。サーバ側終端部21では、通
知されたAck番号を“Ack番号:=クライアント側
終端部11から通知されたAck番号−SU+SS”と
して更新し、またWin値は通知された値をそのまま用
いて、サーバ70に対する当該パケットの受信確認の応
答(Ack)のパケットを生成し、これをサーバ70に
送信する。
【0124】ここで“SU”は、クライアント60とク
ライアント側処理部10の間のコネクションの、クライ
アント側処理部10の初期シーケンス番号であり、“S
S”は、サーバ側処理部20とサーバ70とのコネクシ
ョンの、サーバ70側の初期シーケンス番号である。こ
の“SU”の値は、クライアント側終端部11から通知
される。
【0125】また、シーケンス番号の加減算において
は、シーケンス番号の最大値を超えたり最小値を下回る
場合の処理は、当該トランスポートプロトコルのシーケ
ンス番号の加減算の扱いに準拠するものとする。
【0126】更に、クライアント60からコネクション
の切断要求が発信されると、クライアント側終端部11
がこれを受信して、サーバ側終端部21に通知される。
サーバ側終端部21では、クライアント60とサーバ7
0間の双方向のコネクションの内で、サーバ側処理部2
0からサーバ70へ向かうコネクションが切断されたも
のとして(終了フラグ付きパケットをサーバ70へ送っ
たものとして)、切断処理を行なう。またこの場合に、
クライアント60からクライアント側処理部10へ向か
うコネクションの切断処理は、クライアント側終端部1
1により行われる。
【0127】更に、サーバ70からクライアント60に
向かうコネクションについては、サーバ側終端部21
は、サーバ側更新部22から、サーバ70から到着する
終了フラグ付きパケットの中のデータの最終シーケンス
番号の通知を受けて、この最終シーケンス番号“F”
を、“更新F=F−SS+SU”として更新して記録し
ておく。もし、この更新された最終シーケンス番号と同
じAck番号が到着した場合には、コネクションは切断
されたものとして(終了フラグ付きパケット及び、それ
に対するAckパケットが到着したものとして)、サー
バ70から交換機100を介してクライアント60へ向
かうコネクションのトランスポート層の切断処理をす
る。
【0128】サーバ側更新部22 サーバ側更新部22は、サーバ70からクライアント6
0に送信されるパケットを、サーバ70から受け付けて
クライアント側更新部12に送る。また、サーバ側更新
部22は、サーバ70からパケットを受信する度に、そ
のパケットのAck番号及びWin値をサーバ側終端部
21へ通知する。
【0129】受信したパケットのトランスポート層デー
タの長さが“0”の場合には、クライアント側更新部1
2へ送らずにそのパケットを破棄する。また、“0”で
ない場合には、パケットをクライアント側更新部12へ
と受け渡す。
【0130】また、当該コネクションの確立後における
“0”でないパケットの初めての受信時には、そのパケ
ットをクライアント側更新部12へ受け渡すと同時に、
クライアント側終端部11に対して片方向スプライシン
グの開始の指示を出す。
【0131】また、サーバ70から終了フラグ付きのパ
ケットを受信した場合には、そのパケット内のデータの
最終シーケンス番号“F”を、サーバ側終端部21及び
クライアント側終端部11へ渡す。
【0132】次に、本実施の形態の交換機100の各構
成要素の動作を説明する。
【0133】図4は、本実施の形態のクライアント側終
端部11の動作を説明するためのフローチャートであ
る。
【0134】図4を参照すると、本実施の形態のクライ
アント側終端部11は、まずクライアント60からパケ
ットを受信し(ステップ301)、もしそれがコネクシ
ョン確立に関する一連のパケットの場合には(ステップ
302)、クライアント60とのトランスポート層での
コネクションの確立を行ない(ステップ303)、クラ
イアント60の初期シーケンス番号“SC”及び、クラ
イアント側処理部10の初期シーケンス番号“SU”を
記憶し(ステップ304)、クライアント60に応答
(Ack)を返して、クライアント60との間でトラン
スポート層での再送制御やフロー制御を含むデータの受
け取りを行なう(ステップ305)。
【0135】コネクション確立後、後に述べる、片方向
スプライシング状態になるまでは(ステップ306)、
クライアント60に応答(Ack)を返して、クライア
ント60との間でトランスポート層での再送制御やフロ
ー制御を含むデータの受け取りを行なう(ステップ30
7)。またサーバ側終端部21には、この時のクライア
ント60の側のWin値を渡しておく。
【0136】片方向スプライシング状態になれば(ステ
ップ306)、以後データの受け取り確認の応答(Ac
k)は、クライアント側終端部11が行なうのではな
く、クライアント側更新部12にAck番号及びフロー
制御用のWin値を通知して応答の送信を依頼する(ス
テップ308)。また、片方向スプライシング状態で
は、クライアント60からデータを受け取ると、クライ
アント60からのパケットのAck番号、Win値をサ
ーバ側終端部21に受け渡して、サーバ70に対する応
答の送信依頼を行なう(ステップ309)。また、クラ
イアント側更新部12からの、現在のAck番号及びW
in値の問い合わせにも回答する。この片方向スプライ
シング状態への移行は、サーバ側更新部22から通知さ
れる。
【0137】クライアント60からコネクション切断要
求を示す終了フラグ付きパケットが到着した場合には
(ステップ310)、クライアント60とクライアント
側処理部10の双方向のコネクションの内、クライアン
ト60からクライアント側処理部10へ向かう側のコネ
クションが切断されたものとしてトランスポート層の切
断処理を行なう(ステップ311)。更に、サーバ側終
端部21に対して、クライアント60からクライアント
側処理部10へ向かう側のコネクションが切断されたこ
とを通知する(ステップ312)。
【0138】クライアント側処理部10からクライアン
ト60へ向かうコネクションについては、サーバ70か
ら到着する終了フラグ付きパケットの中のデータの最終
シーケンス番号がサーバ側更新部22から通知されるた
め、この最終シーケンス番号“F”を“更新F=F−S
S+SU”のように更新して記録しておく。
【0139】もし、この最終シーケンス番号と同じAc
k番号が到着した場合には、コネクションは切断された
ものとして(終了フラグ付きパケットの送信とそれに対
するAckパケットが到着したとして)、トランスポー
ト層の切断処理を行なう(ステップ313、314)。
【0140】図5は、本実施の形態のクライアント側更
新部12の動作を説明するためのフローチャートであ
る。
【0141】図5を参照すると、本実施の形態のクライ
アント側更新部12は、まずクライアント側終端部11
からの命令や、サーバ側更新部からのパケットを受け付
ける(ステップ401)。もし、サーバ側更新部22か
らクライアント60に送信するパケットを受け取ると
(ステップ402)、そのパケットのシーケンス番号、
Ack番号、Win値等を書き換えて(ステップ40
3)、クライアント60へ更新されたパケットを送信す
る(ステップ404)。ここでの、シーケンス番号、A
ck番号、Win値の書き換え方法は、前述の通りであ
る。
【0142】また、クライアント側終端部11からクラ
イアントへの応答(Ack)の送信依頼を受け取った場
合には(ステップ405)、Ack番号、Win値は前
述の通りに、シーケンス番号は一番最近に使用したシー
ケンス番号を用いて応答(Ack)のパケットを生成し
(ステップ406)、クライアント60に送信する(ス
テップ404)。この応答のパケットの生成の方法も、
前述の通りである。
【0143】また、クライアント側終端部11から依頼
されるクライアント60への肯定応答(Ack)の送信
は、少し待たせて、サーバ70がクライアント60に送
るパケットをサーバ側更新部22から受けて、これと併
せて1つのパケットとして送信する方法も可能である。
【0144】図6は、本実施の形態のサーバ側終端部2
1の動作を説明するためのフローチャートである。
【0145】図6を参照すると、本実施の形態のサーバ
側終端部21は、まず解析部30からの命令や、サーバ
側更新部22やクライアント側終端部11からのAck
番号、Win値の送信を受け付ける(ステップ50
1)。
【0146】もし、解析部30から、コネクション確立
の依頼があれば(ステップ502)、その解析部30が
指定する接続先のサーバ70に対して、トランスポート
層のコネクションを確立し(ステップ503)、初期シ
ーケンス番号SV、SSを記録する(ステップ50
4)。このコネクション確立時には、サーバ70から到
着するパケットをサーバ側終端部21が受け取るよう
に、予め切替部23に指示しておく。
【0147】コネクションが確立済みの時に、クライア
ント60から送られたパケットがサーバ70へ送るデー
タ取得依頼である場合には(ステップ505)、確立済
みのトランスポート層コネクションを用いてデータ取得
要求をサーバ70へと送るのであるが、もしこれがコネ
クション確立後にサーバ70へ送る最初のデータ取得要
求である場合には(ステップ506)、切替部23へ指
示して、これ以降のサーバ70からの該当するコネクシ
ョンに関するパケットをサーバ側更新部22が受け取る
ように指示する(ステップ507)。そして、確立した
トランスポート層コネクションを用いてデータ取得要求
をサーバ70へと送る(ステップ508)。
【0148】ステップ501において、サーバ側更新部
22から、サーバ70から受け取ったパケットのAck
番号とWin値が通知された場合は(ステップ50
9)、この各値を登録し、サーバ70へ送るトランスポ
ート層のデータ(データ取得要求等)についての、再送
制御やフロー制御等に用いる(ステップ510)。
【0149】ステップ501において、クライアント側
終端部11から、Ack番号及びWin値が知らされた
場合は(ステップ511)、この値を前述の説明のよう
に更新して、サーバ70へ送るトランスポート層のデー
タのAck番号及びWin値を決定してパケットを生成
し(ステップ512)、そして、サーバ70へと応答
(Ack)のパケットを送信し(ステップ513)、ま
た、サーバ70へ送るトランスポート層のデータのAc
k番号及びWin値もこの値に更新する。
【0150】更に、クライアント側終端部11から当該
コネクションが切断されたことが通知されれば(ステッ
プ514)、サーバ側処理部20とサーバ70間の双方
向コネクションの内、サーバ側処理部20からサーバ7
0へ向かうコネクションが切断されたものとして(終了
フラグ付きパケットをサーバ70へ送ったものとし
て)、トランスポート層の切断処理を行なう(ステップ
515)。
【0151】サーバ側処理部20からクライアント60
へ向かうコネクションについては、サーバ70から到着
する終了フラグ付きパケットの中のデータの最終シーケ
ンス番号をサーバ側更新部22が通知するので、この最
終シーケンス番号“F”を、前述の方法により更新し
て、もし更新された最終シーケンス番号と同じAck番
号が到着した場合には(ステップ516)、コネクショ
ンは切断されたものとして(終了フラグ付きパケット及
び、それに対するAckパケットが到着したものとし
て)、サーバ側処理部20からクライアント60へ向か
うコネクションのトランスポート層の切断処理を行なう
(ステップ517)。また、切替部23へこれ以降の当
該コネクションのパケットをサーバ側終端部21に送る
ように指示する(ステップ514)。
【0152】図7は、本実施の形態のサーバ側更新部2
2の動作を説明するためのフローチャートである。
【0153】サーバ側更新部22は、まずサーバ70か
らクライアント60に送られるパケットを順次サーバ7
0から受信し(ステップ601)、そのパケットに書か
れているAck番号及び、Win値を、サーバ側終端部
21へ通知する(ステップ602)。
【0154】サーバ70から終了フラグ付きパケットが
到着した場合には(ステップ603)、そのパケット内
のデータの最終シーケンス番号“F”を、サーバ側終端
部21及びクライアント側終端部11へと受け渡し(ス
テップ604)、パケットをそのままクライアント側更
新部12へと受け渡す(ステップ609)。
【0155】ステップ603において、終了フラグ付き
でないパケットを受信した時は、そのパケットのトラン
スポート層データの長さが“0”の場合には(ステップ
605)パケットを破棄する(ステップ606)。
【0156】また、データ長が“0”でない時は(ステ
ップ605)、そのパケットをクライアント側更新部1
2へ受け渡す(ステップ609)のであるが、ただし、
もし当該コネクションの“0”でない初めてのパケット
をクライアント側更新部12へ受け渡す場合には(ステ
ップ607)、同時にクライアント側終端部11へ片方
向スプライシング開始の指示を出す(ステップ60
8)。
【0157】図8は、本実施の形態の片方向終端交換機
100内のデータの流れを説明するための図であり、片
方向スプライシング動作が行われている時に、シーケン
ス番号、Ack番号、Win値、送信データ等がどのよ
うにクライアント60、サーバ70、クライアント側終
端部11、サーバ側終端部21、クライアント側更新部
12、サーバ側更新部22等でやりとりされるのかを示
している。
【0158】クライアント60からクライアント側終端
部11へのデータ送信とその応答、サーバ側終端部21
からサーバ70へのデータ送信とその応答、サーバ70
からクライアント60へのデータ送信とその応答の流
れ、及び、受信バッファの残りを示すWin値が正しく
処理されていることを以下に順に示す。
【0159】クライアント60からクライアント側終端
部11 クライアント60からのデータのシーケンス番号は、ク
ライアント側終端部11でのトランスポート層プロトコ
ル処理を経て、フローチャートの図4におけるステップ
308で示したように(図8のY001に相当)、クラ
イアント側更新部12からクライアント60へ送信され
る応答パケットのAck番号として反映される。
【0160】また、クライアント側終端部11の受信バ
ッファの残りも同様に、フローチャートの図4における
ステップ309で示したように(図8のY004に相
当)、クライアント側更新部12からクライアント60
へ送信されるパケットのWin値として反映され、適切
な再送制御やフロー制御のために用いられる。
【0161】サーバ側終端部21からサーバ70 サーバ側終端部21からサーバ70へのデータについて
は、シーケンス番号がサーバ70内のトランスポート層
プロトコル終端部での処理を経て、Y008のように、
サーバ側更新部22へのパケットのAck番号として反
映される。これをフローチャートの図7のステップ60
2及び、フローチャートの図6のステップ510で示し
たように(図8のY005に相当)、クライアント側更
新部12からクライアント60へ送信されるパケットの
Ack番号として反映される。
【0162】また、サーバ70の受信バッファの残りも
同様に、図8のY009が示すようにサーバ側更新部2
2へのパケットのAck番号として反映されるはずで、
これを、これをフローチャートの図7のステップ602
で示したように(図8のY006に相当)、クライアン
ト側更新部12からクライアント60へ送信されるパケ
ットのWin値として反映される。このようにして、正
しく再送制御及び、フロー制御が行われる。
【0163】サーバ70からクライアント60 サーバ70からクライアント60へのデータについて
は、サーバ70から受け取ったシーケンス番号をクライ
アント側に対して、クライアント側更新部12の動作フ
ローチャートの図5のステップ403で示すように(図
8のY007に相当)クライアント側終端部11から送
信したデータであるかのようにシーケンス番号を書き換
えて渡している。
【0164】また、これに対してクライアント60から
返るAck番号、Win値についても(図8のY01
0、Y011に相当)、Ack番号については、フロー
チャートの図6のステップ512で示したように、あた
かもサーバ側終端部21が生成したAck番号であるか
のように番号を更新してサーバ70へと返しており(図
8のY002に相当)、また、Win値についても、フ
ローチャートの図6のステップ512で示したようにサ
ーバ70へと返しているので(図8のY003に相
当)、正しくサーバ70とクライアント60の間での再
送制御及び、フロー制御が行われる。
【0165】また、本実施の形態のクライアント側終端
部11及びサーバ側終端部21では、クライアント60
からサーバ70に対して個々のパケットに分割されて送
信される送信データを、元の分割する前の状態に復元し
た後に当該サーバに対し送信する方式も可能である。
【0166】以上説明したように、本実施の形態の交換
機100は、クライアント60から片方向終端交換機1
00方向、及び片方向終端交換機100からサーバ70
方向へ流れるトランスポート層のデータに対し、それぞ
れクライアント60やサーバ70にに対して再送制御及
びフロー制御を行ないトランスポート層を終端すること
ができ、かつこれと同時に、サーバ70からクライアン
ト60方向に流れるデータに対して、再送制御及びフロ
ー制御を行なわずに従来のスプライシングの様にパケッ
トのシーケンス番号やAck番号の書き換えのみにより
パケットを高速に中継することができる。また、この片
方向スプライシングの状態においては、サーバ70から
クライアント60への方向のデータは、サーバ70やク
ライアント60自身が再送制御やフロー制御等を行な
う。
【0167】本実施の形態の交換機100は、以上のよ
うにして片方向スプライシングの通信を実現することが
できる。
【0168】次いで、上記のように構成される第1の実
施の形態による通信システムにおける具体的な動作例
を、図9のタイミングチャートを参照して説明する。図
9は、第1の実施の形態におけるシーケンス番号とAc
k番号の時系列を示す。
【0169】クライアント60、クライアント側処理部
10の間でハンドシェイクが行なわれる。ここで、クラ
イアント60側のデータの初期シーケンス番号は「10
00」、クライアント側処理部10の初期シーケンスは
「2000」とする(901)。
【0170】クライアント60から、データ取得要求の
載ったデータがクライアント側処理部10へ送信され
る。この時、データ取得要求はシーケンス番号「100
1」から「1100」であったとする(902)。
【0171】クライアント側処理部10は、このデータ
取得要求に対するAck番号である「1101」をクラ
イアント60へと返す(903)。
【0172】解析部30では、受け取ったデータ取得要
求(複数の取得要求が含まれる)の内、最初のいくつか
が、サーバ70へと送信するのが正しいと判断し、サー
バ70とコネクションを確立する。サーバ側処理部20
の初期シーケンス番号は「3000」番、サーバ70の
初期シーケンス番号は「4000」番であったとする
(904)。
【0173】サーバ70へ送信すべきデータ取得要求を
送る(905)。
【0174】要求に対するデータの一部(シーケンス番
号「4001」〜「4200」)がクライアント60に
返信される(906)。
【0175】シーケンス番号、Ack番号が書き換えら
れ、クライアント60へ要求したデータが届けられる。
番号変換によって、シーケンス番号は「2001」〜
「2200」となり、Ack番号も「1101」に書き
換わる(907)。
【0176】クライアント60から、シーケンス番号
「2200」までのデータが受領された事を示すAck
番号のついたパケットが送られる(908)。
【0177】このAck番号情報は、番号変換されて、
サーバ側処理部20へ届けられる(909)。
【0178】サーバ側処理部20では、番号変換された
Ack番号を載せたパケットがサーバ70へと送信され
る(910)。
【0179】サーバ70から要求に対する最後のデータ
(シーケンス番号「4201」〜「4500」)がクラ
イアント60に送られる。このパケットにはFINフラ
グが立てられている(911)。
【0180】このパケットの最後のシーケンス番号に対
するAck番号「4501」をサーバ側処理部20で記
憶しておく(912)。
【0181】クライアント側処理部10では、このパケ
ットの最後のシーケンス番号に対するAck番号を番号
変換した番号「2501」を記憶しておく(913)。
【0182】シーケンス番号、Ack番号が書き換えら
れ、クライアント60へ要求したデータが届けられる。
番号変換によって、シーケンス番号は「2201」〜
「2500」となり、Ack番号も「1101」に書き
換わる。クライアント60ではこのパケットを受けて、
終了処理が始まる(914)。
【0183】クライアント60から、Ack番号「25
01」が返される(915)。
【0184】クライアント側処理部10では、このAc
k番号を確認して、記憶している番号「2501」と一
致するので、クライアント60がサーバ70からの要求
に対する最後のデータを受け取ったことを知り、終了処
理を行なう(916)。
【0185】サーバ70側では、このパケットのAck
番号を変換した番号「4501」が記憶している番号と
一致するので、クライアント60がサーバ70からの要
求に対する最後のデータを受け取ったことを知り、終了
処理を行なう(917)。
【0186】サーバ70に番号変換されたAck番号の
載ったパケットが返される(918)。
【0187】次に、本発明の第2の実施の形態を説明す
る。
【0188】図10は、本発明の第2の実施の形態の片
方向終端交換機100aを用いたネットワーク構成の一
例を示すブロック図であり、図11は、本実施の形態の
片方向終端交換機100aの構成を示すブロック図であ
る。
【0189】これらは、先の図2、図3に示される第1
の実施の形態と同様であるが、クライアント側終端部1
1a、クライアント側更新部12a、解析部30a、サ
ーバ側終端部21a、サーバ側更新部22aのそれぞれ
の動作が第1の実施の形態と異なる。
【0190】まず、これらの構成要素について説明す
る。
【0191】クライアント側終端部11a 第1の実施の形態のクライアント側終端部11との違い
は、解析部30の指示でクライアント60とクライアン
ト側終端部11aとの間のトランスポート層コネクショ
ンを切断(終了フラグつきパケットを送る)することが
できる点や、サーバ側更新部22aから最終シーケンス
番号“F”の値を受け取らない点である。また、その他
の動作は第1の実施の形態と同様である。
【0192】すなわち、本実施の形態のクライアント側
終端部11aは、クライアント60とのトランスポート
層でのコネクションの確立を行ない、クライアント60
との間でトランスポート層での再送制御やフロー制御を
含むデータの受け取りを行なう。
【0193】後に述べる、片方向スプライシング状態で
は、データの受け取り確認の応答については、クライア
ント側終端部11aが行なうのではなく、クライアント
側更新部12aにAck番号及びフロー制御用のWin
値を通知し応答(Ack)の送信を依頼する。
【0194】また、片方向スプライシング状態では、ク
ライアント60からデータを受け取ると、クライアント
60からのパケットのAck番号、Win値をサーバ側
終端部21に受け渡してサーバ70に対する応答の送信
依頼を行なう。また、クライアント側更新部12aか
ら、現在のAck番号及びWin値の問い合わせにも回
答する。片方向スプライシング状態への移行は、サーバ
側更新部22aから通知される。
【0195】更に、クライアント60からコネクション
切断要求を示す終了フラグ付きパケットが到着すれば、
クライアント60からクライアント側処理部10aへ向
かう側のコネクションについてのトランスポート層の切
断処理を行なう。また、サーバ側終端部21aへ、クラ
イアント60からクライアント側処理部10aへ向かう
側のコネクションが切断されたことを通知する。
【0196】クライアント側処理部10aからクライア
ント60へ向かうコネクションについては、解析部30
aからの指示に従って、そのコネクションのトランスポ
ート層の切断処理を行なう。
【0197】クライアント側更新部12a 第1の実施の形態の片方向終端交換機100の、クライ
アント側更新部12の動作との違いは、シーケンス番号
の書き換えに用いるサーバ70のコネクションの初期シ
ーケンス番号は、サーバ側終端部21が対象とするサー
バ70を変更する毎に変化するのであり、このため現在
のコネクションの値を用いてシーケンス番号を“シーケ
ンス番号:=パケットのシーケンス番号−SS+SU”
と書き換える点である。
【0198】ここで、“SS”は、サーバ側終端部21
のサーバ70との現在のコネクションの初期シーケンス
番号であり、その値はサーバ側終端部21から得る。
【0199】本実施の形態の“SU”は、クライアント
側処理部10aの、クライアント60とのコネクション
の初期シーケンス番号又は、直前のサーバ70からの終
了フラグを含むパケットの最終シーケンス番号+1であ
る。この“SU”の値は、SUが初期シーケンス番号の
時は、クライアント側終端部11aから、直前のサーバ
70からの終了フラグを含むパケットの最終シーケンス
番号+1の場合には、サーバ側更新部22aから受け取
る。
【0200】また、シーケンス番号の加減算において
は、シーケンス番号の最大値を超えたり最小値を下回る
場合の処理は、当該トランスポートプロトコルのシーケ
ンス番号の加減算の扱いに準拠するものとする。
【0201】解析部30a 解析部30aは、クライアント側終端部11aからのデ
ータを取得して、アプリケーション層の終端を行ない、
クライアント60からのデータ取得要求(一度に複数個
の要求も可)を解析して適切なサーバ70を決定する。
【0202】複数のデータ取得要求に対して、それぞれ
に対応するサーバ70が異なる場合には、複数のデータ
取得要求を、順に前から対応するサーバ70毎にグルー
プ分けをする。
【0203】例えば、10個の取得要求R1〜R10が
あり、順にR1〜R2は第1サーバ、R3〜R5は第2
サーバ、R6〜R10は第1サーバが対応する場合に
は、前から順にR1〜R2を第1グループ、R3〜R5
を第2グループ、R6〜R10を第3グループとして、
グループ分けをすることができる。
【0204】このグループ分けの例においては、第1グ
ループと第3グループに対応するサーバ70は同一の第
1サーバであるが、ここでは取得要求を前から順にグル
ープ分けすることにより、異なるグループに分けてい
る。
【0205】解析部30aは、このグループ毎にサーバ
側終端部21へ、そのサーバ70名と取得要求を受け渡
す。
【0206】また、解析部30aは、1つのグループの
最後の取得要求については、サーバ70に対して、当該
データの送信が完了したらサーバ側からコネクションを
切断するクローズ要求を付与する。しかし、ここでグル
ープが最後である場合(他に未処理のグループが残って
いない場合)においては、その処理中にクライアント6
0から更に追加のデータ取得要求があるかもしれないた
め、クローズ要求は追加しないものとする方式も効果的
である。
【0207】また、クライアント60からの追加のデー
タ取得要求に応じることにより、サーバ70を切り替え
る必要が発生した場合には、データ取得要求にクローズ
要求を付与してサーバ側終端部21aへ渡すか,そのま
ま,データ取得要求をサーバ側終端部21aへ渡す.更
にここで、その最初の追加リクエストでサーバ70を切
り替える場合には、サーバ側終端部21aへコネクショ
ン切断要求をする。ある1つのグループに対する処理が
完了すれば、サーバ側終端部21aから通知され、そし
て解析部30aは次のグループへと処理を指示する。
【0208】解析部30aは、クライアント側終端部1
1aからのデータを取得する度に、この処理を繰り返
す。
【0209】解析部30aがクライアント60から受け
取るデータ取得要求について、最後にクローズ要求が付
与されている場合があるが、この場合には、当該データ
取得要求のグループを切断対象グループとして記憶して
おき、当該グループの処理を処理し終えた後に、クライ
アント60へのコネクション切断をクライアント側終端
部11aに指示する。
【0210】サーバ側終端部21a 第1の実施の形態のサーバ側終端部21との違いは、本
実施の形態では解析部30aから受け渡されるデータ取
得要求がグループ毎に分かれているので、それぞれのグ
ループを順番に処理し、グループ毎にサーバ70とのコ
ネクションを切断する点(これは、解析部30aからコ
ネクション切断要求と同時に受け渡される、各グループ
の最後の取得要求に、クローズ要求が追加されている場
合には、それを、サーバ側終端部21aがサーバ70へ
と転送することによって実現され,前記クローズ要求が
追加されていない場合には,サーバ側終端部21aから
サーバ70へ各グループの最後の取得要求を送信後明示
的にコネクション切断要求を出す事によって実現され
る)や、新しいグループに対しては、そのグループにつ
いて指示されたサーバ70へとコネクションを確立し直
して、そのデータ取得要求のグループをサーバ70へと
転送する点や、サーバ70へ送るトランスポート層のデ
ータのAck番号の決定に、確立し直す毎に異なるサー
バ側の初期シーケンス番号を使う点が異なる。また、更
新された最終シーケンス番号“F”に対応するAckパ
ケットを受け取った場合に、解析部30aに通知する点
も異なる。また、これ以外の処理は第1の実施の形態と
同様である。
【0211】すなわち、以下の通りである。
【0212】サーバ側終端部21aは、解析部30aの
からデータ取得要求の1つのグループとサーバ70名を
受け取る。そして、そのサーバ70名に従って、サーバ
70へとトランスポート層のコネクションを確立する。
【0213】Win値の初期値は、初めてのコネクショ
ン確立時には、クライアント側終端部11aから通知さ
れるWin値を使い、以降は前のコネクションの終了時
(以下に述べる更新された最終シーケンス番号“F”と
同じAck番号を持つ応答パケットを受け取った時)に
記憶したWin値を初期値として使う。
【0214】このコネクション確立時には、切替部23
へ指示して、このデータ取得要求に応答してサーバ70
から送信されるパケットを、サーバ側終端部21が受け
取れるように指示する。
【0215】コネクションが確立すると、確立したトラ
ンスポート層コネクションを用いてデータ取得要求のグ
ループをサーバ70へと送る。なお、最後の取得要求に
は、クローズ要求が付与されている。
【0216】同時に切替部23へ指示して、これ以降の
サーバ70からの該当するコネクションに関するパケッ
トを、サーバ側更新部22aへ到着させるように指示す
る。
【0217】また、これ以降、サーバ側更新部22aか
ら、サーバ70から受け取ったパケットのAck番号と
Win値が通知されるようになり、この値を用いてサー
バ70へ送るトランスポート層のデータ(データ取得要
求等)についての、再送制御及び、フロー制御を行な
う。
【0218】また、これ以降、クライアント側終端部1
1aから、Ack番号及びWin値が通信され、Ack
番号を“Ack番号:=クライアント側終端部11aか
ら通知されたAck番号−SU+SS”と書き換えて更
新し、Win値は通知された値をそのまま用いて、応答
のパケットを生成しサーバ70へ送信する。
【0219】ここで、“SU”は、クライアント60と
クライアント側処理部10aとの間のコネクションのク
ライアント側処理部10aの初期シーケンス番号であ
り、“SS”は、サーバ側処理部20aと現在のサーバ
70とのコネクションのサーバ側の初期シーケンス番
号、又は、直前のサーバ70からの終了フラグ付きパケ
ットの最終シーケンス番号+1である。“SU”の、ク
ライアント側終端部11aの初期シーケンス番号は、ク
ライアント側終端部11aから通知される。
【0220】また、シーケンス番号の加減算において
は、シーケンス番号の最大値を超えたり最小値を下回る
場合の処理は、当該トランスポートプロトコルのシーケ
ンス番号の加減算の扱いに準拠するものとする。
【0221】更に、クライアント側終端部11aから当
該コネクションが切断されたことを通知されれば、サー
バ側処理部20aとサーバ70間の双方向コネクション
の内で、サーバ側処理部20aからサーバ70へ向かう
コネクションが切断されたものとして(終了フラグ付き
パケットをサーバ70へ送ったものとして)、切断処理
を行なう。
【0222】サーバ側処理部20aからクライアント6
0へ向かうコネクションについては、サーバ70から到
着する終了フラグ付きパケットの中のデータの最終シー
ケンス番号をサーバ側更新部22aが通知するので、こ
の最終シーケンス番号“F”を“更新F=F−SS+S
U”のように更新し、もしこの更新された最終シーケン
ス番号と同じAck番号が到着したら、コネクションは
切断されたものとして(終了フラグ付きパケット及び、
それに対するAckパケットが到着したものとして)、
サーバ70から交換機100aを介してクライアント6
0へ向かうコネクションのトランスポート層の切断処理
する。そして、解析部30に当該グループの処理が終了
したことを通知する。また、この時のWin値を記憶す
る。
【0223】解析部30aからコネクション切断要求を
受け取った時には、切替部23へ、以降の当該コネクシ
ョンのパケットはサーバ側終端部21へ送信するよう指
示して、コネクションを切断し、切断が完了したらこれ
を解析部30へ通知する。
【0224】サーバ側更新部22a 第1の実施の形態のサーバ側更新部22aとの違いは、
サーバ70側からやってくるパケットに終了フラグが立
っている場合に終了フラグを倒す処理が含まれ、最終シ
ーケンス番号“F”の値をクライアント側終端部11a
に渡す処理が不要となる点である。
【0225】すなわち、以下の通りである。
【0226】サーバ側更新部22aは、サーバ70から
受け取ったパケットについて、そのパケットに書かれて
いるAck番号及び、Win値を、サーバ側終端部21
aへ通知する。また、パケットのトランスポート層デー
タの長さが“0”の場合には、そのパケットを破棄す
る。
【0227】また、データ長が“0”でない場合には、
そのパケットをクライアント側更新部12aへと受け渡
す。また、これが当該コネクションの“0”でない初め
てのパケットをクライアント側更新部12aへ受け渡す
場合には、同時にクライアント側終端部11aへ片方向
スプライシング開始の指示を出す。
【0228】また、サーバ70から終了フラグ付きパケ
ットが到着したら、その終了フラグを落として、そのパ
ケット内のデータの最終シーケンス番号“F”を、サー
バ側終端部21へと受け渡す。
【0229】次に、本実施の形態の各部の処理を説明す
る。
【0230】図12は、本実施の形態のクライアント側
終端部11aの動作を説明するためのフローチャートで
ある。
【0231】本実施の形態のクライアント側終端部11
aの動作は、図4に示される第1の実施の形態のステッ
プ301〜ステップ312が同様である。
【0232】本実施の形態のクライアント側終端部11
aの動作の第1の実施の形態との違いは、解析部30a
からのコネクション切断要求を受け付けることができる
点であり、解析部30aからコネクション切断要求を受
け付けると(ステップ1001)、クライアント側終端
部11aは、クライアント側処理部10aからクライア
ント60へ向かうコネクションを切断する(ステップ1
002)。
【0233】本実施の形態のクライアント側更新部12
aの動作のフローチャートは、図5の第1の実施の形態
と同様である。
【0234】図13は、本実施の形態の解析部30aの
動作を説明するためのフローチャートである。
【0235】図13を参照すると、本実施の形態の解析
部30aは、まずクライアント側終端部11aやサーバ
側終端部21aのそれぞれから命令等を受け付ける。
【0236】クライアント側終端部11aからデータ取
得要求を受け付けた場合には(ステップ1102)、ア
プリケーション層の終端を行ない、クライアント60か
らのデータ取得要求(複数でもよい)を解析して、適切
な接続先のサーバ70を決定する(ステップ110
3)。そして、サーバ側終端部21へ、データ取得要求
とサーバ70名を受け渡す。
【0237】また、複数のデータ取得要求のそれぞれに
対して対応するサーバ70が異なる場合には、サーバ毎
にデータ取得要求をグループ分けする(ステップ110
4)。グループ分けの方法としては、複数のデータ取得
要求を、順に前から対応するサーバ70毎に分ける等の
方法が可能である。
【0238】つまりこの方法では、例えば、10個の取
得要求R1〜R10があり、R1〜R2は第1サーバ、
R3〜R5は第2サーバ、R6〜R10は第1サーバが
対応する場合には、前から順にR1〜R2を第1グルー
プ、R3〜R5を第2グループ、R6〜R10を第3グ
ループとグループ分けをすることができる。この例で
は、第1グループと第3グループに対するサーバ70
は、同じ第1サーバであるが、取得要求を前から順にグ
ループ分けすることにより、異なるグループとしてグル
ープ分けしている。
【0239】またもし、そのクライアント60から到着
したデータ取得要求にクローズ要求がついている場合に
は(ステップ1105)、クローズ要求付きであったグ
ループを切断対象グループとして記憶しておく(ステッ
プ1106)。
【0240】そして、現在処理中のグループの処理が完
了していれば(ステップ1107)、先頭のグループを
取り出して(ステップ1108)、最後のグループでな
い場合には(ステップ1109)、グループの最後の取
得要求にクローズ要求を付与する(ステップ111
0)。これにより、サーバ70は、当該データの受信が
完了すると、サーバ70の側からコネクションを切断す
る。そして、サーバ側終端部21へ適切なサーバ70名
と取得要求を受け渡す(ステップ1111)。
【0241】また、最後のグループの場合では、更に追
加のデータ取得要求があるかもしれないので、クローズ
要求を追加せずに、サーバ側終端部21へ適切なサーバ
70名と取得要求を受け渡す(ステップ1111)。
【0242】ステップ1107において、現在処理中の
グループの処理が完了していない場合は、、現在処理中
のグループが最終グループでなければ、分類したグルー
プとサーバ70名を記憶して終了する(ステップ111
2、1113)。
【0243】もし最終グループであれば(ステップ11
12)、新たに到着した取得要求の最初のグループ以外
があれば対応するサーバ70名と共に記憶し(ステップ
1114)、現在処理中のグループと新たに到着した取
得要求の最初のグループが同じサーバ70行きの場合に
は(ステップ1115)、サーバ側処理部へ、新たに到
着した取得要求の最初のグループを追加する(ステップ
1116)。
【0244】異なるサーバ70行きの場合、サーバ側終
端部21へコネクション切断要求を出し、切断が完了し
てからサーバ側終端部21へと新たに到着した取得要求
の最初のグループを受け渡す(ステップ1117)。
【0245】また、ステップ1101において、サーバ
70から、現在処理中のグループの処理完了通知がきた
場合(ステップ1118)、もしグループが切断対象グ
ループであれば、クライアント側終端部11aにクライ
アント60とのコネクションの切断を指示する(ステッ
プ1119、1120)。
【0246】そうでない場合においては、もし未処理グ
ループが残っていれば、そのグループに対して前述のス
テップ1108以下と同様の処理を進める(ステップ1
119、1121)。
【0247】図14は、本実施の形態のサーバ側終端部
21aの動作を説明するためのフローチャートである。
【0248】図14を参照すると、本実施の形態のサー
バ側終端部21aの動作の、図6の第1の実施の形態の
動作との違いは、解析部30aからの命令を受信した場
合の動作(ステップ1201〜ステップ1210)と、
ステップ517とステップ518の間に解析部30aに
対してコネクションの切断完了を通知する処理を含むこ
とである。
【0249】このため、ここでは解析部30aからの命
令を受信した場合の動作(ステップ1201〜ステップ
1210)を説明する。
【0250】まず、解析部30aから、新しいデータ取
得要求のグループを受け付けた場合には(ステップ12
01)、同時に受け取った接続先のサーバ70名の指定
に従い、そのサーバ70へトランスポート層のコネクシ
ョンを確立する(ステップ1202)。このコネクショ
ン確立時には、予め切替部23へ指示して、サーバ70
から到着するパケットをサーバ側終端部21が受け取る
ようにする。
【0251】コネクションが確立すると、サーバ70へ
データ取得依頼のグループを、確立したトランスポート
層コネクションを用いて送るのであるが、同時に切替部
23へ指示して、これ以降のサーバ70からの該当する
コネクションに関するパケットは、サーバ側更新部22
aへ到着させるように指示する。そして、確立したトラ
ンスポート層コネクションを用いてデータ取得要求をサ
ーバ70へと送る(ステップ1203〜1205)。
【0252】また、ステップ1201において、新しい
グループの指定ではない場合は、もしそれがコネクショ
ン切断要求である場合には(ステップ1206)、サー
バ終端部へのパケットの送信を切替部23aに指示して
(ステップ1207)、コネクションを切断し(ステッ
プ1208)、解析部30aにその切断完了を通知する
(ステップ1209)。また、ステップ1206におい
てコネクション切断要求でない場合には、受け付けたデ
ータ取得要求を対応するサーバ70に送信する(ステッ
プ1210)。
【0253】図15は、本実施の形態のサーバ側更新部
22aの動作を説明するためのフローチャートである。
【0254】図15を参照すると、本実施の形態のサー
バ側更新部22aの動作の、図7に示される第1の実施
の形態との違いは、ステップ603において終了フラグ
付きのパケットをサーバ70から受信した場合の処理で
ある(ステップ1301、1302)。
【0255】本実施の形態のサーバ側更新部22aは、
サーバ70から終了フラグ付きパケットが到着したら、
そのパケット内のデータの最終シーケンス番号“F”
を、サーバ側終端部21及びクライアント側終端部11
aへと受け渡し(ステップ1301)、そのパケットの
終了フラグを“ON”にして(倒して)変更し(ステッ
プ1302)、その変更されたパケットをクライアント
側更新部12aへと受け渡す(ステップ609)。
【0256】図16は、本実施の形態の片方向終端交換
機内のデータの流れを説明するための図であり、片方向
スプライシング動作が行われている時に、シーケンス番
号、Ack番号、Win値がどのようにクライアント6
0、サーバ70、クライアント側終端部11a、サーバ
側終端部21、クライアント側更新部12a、サーバ側
更新部22a等の間でやりとりされるのかを示してい
る。
【0257】本実施の形態においても、クライアント6
0からクライアント側終端部11aへのデータとその応
答、サーバ側終端部21からサーバ70へのデータとそ
の応答、サーバ70からクライアント60へのデータと
その応答の流れ、及び、受信バッファの残りを示すWi
n値は、本発明の第1の実施の形態の図8において説明
したものと同様にして正しく処理される。
【0258】また、先の第1の実施の形態における説明
と同様に、本実施の形態のクライアント側終端部11a
及びサーバ側終端部21aが、クライアント60からサ
ーバ70に対して個々のパケットに分割されて送信され
る送信データを、元の分割する前の状態に復元した後に
当該サーバに対し送信する方式も可能であり、また個の
方式を採用する場合においては、本実施の形態の解析部
30aは、その分割前の状態に復元された送信データを
参照して、その接続先のサーバの決定等の処理を行なう
ことも可能である。
【0259】以上説明した、本実施の形態の交換機10
0aにおいては、第1の実施の形態の効果に加えて、解
析部30aにより、クライアント60からのデータ取得
要求を適切なサーバ70にグループ分けして振り分ける
ことができる。
【0260】また、各データ取得要求のグループに対す
るサーバ70からクライアント60へのデータ転送が完
了したことを、サーバ70にクローズ要求を出して、サ
ーバ70から到着する終了フラグの立っているパケット
のシーケンス番号の終わりにより検知することができ、
正しいタイミングでサーバ70を切り替えることができ
る。
【0261】また、サーバ70からクライアント60へ
送信されるパケットの終了フラグを倒すことにより、ク
ライアント60が、全てのデータ取得要求に対するデー
タを受け取り終わるまで、クライアント60と片方向終
端交換機100間のコネクションを切断することなく維
持することができる。
【0262】次いで、上記のように構成される第2の実
施の形態による通信システムにおける具体的な動作例
を、図17のタイミングチャートを参照して説明する。
図17は、第2の実施の形態におけるシーケンス番号と
Ack番号の時系列を示す。ここでは、第1のサーバ7
0(1)と第2のサーバ70(2)がグループ分けされ
ているとして説明する。
【0263】クライアント60、クライアント側処理部
10の間でハンドシェイクが行われる。ここで、クライ
アント60側のデータの初期シーケンス番号は「100
0」、クライアント側処理部10の初期シーケンス番号
は「2000」とする(1701)。
【0264】クライアント60から、データ取得要求の
載ったデータがクライアント側処理部10へ送信され
る。この時、データ取得要求はシーケンス番号「100
1」から「1100」であったとする(1702)。
【0265】クライアント側処理部10は、このデータ
取得要求に対するAck番号である「1101」をクラ
イアント60へと返す(1703)。
【0266】解析部30では、受け取ったデータ取得要
求(複数の取得要求が含まれる)の内、最初のいくつか
が、サーバ70(1)へと送信するのが正しいと判断
し、サーバ70(1)とコネクションを確立する。サー
バ側処理部20の初期シーケンス番号は「3000」
番、サーバ70(1)の初期シーケンス番号は「400
0」番であったとする(1704)。
【0267】サーバ70(1)へ送信すべきデータ取得
要求を送る(1705)。
【0268】要求に対するデータの一部(シーケンス番
号「4001」〜「4200」)がクライアント60に
返信される(1706)。
【0269】シーケンス番号、Ack番号が書き換えら
れ、クライアント60へ要求したデータが届けられる。
番号変換によって、シーケンス番号は「2001」〜
「2200」となり、Ack番号も「1101」に書き
換わる(1707)。
【0270】クライアント60から、シーケンス番号
「2200」までのデータが受領されたことを示すAc
k番号のついたパケットが送られる(1708)。
【0271】このAck番号情報は、番号変換されて、
サーバ側処理部20へ届けられる(1709)。
【0272】サーバ側処理部20では、番号変換された
Ack番号を載せたパケットがサーバ70(1)へと送
信される(1710)。
【0273】サーバ70(1)から要求に対する最後の
データ(シーケンス番号「4201」〜「4500」)
がクライアント60に送られる。このパケットにはFI
Nフラグが立てられている(1711)。
【0274】このパケットの最後のシーケンス番号に対
するAck番号「4501」をサーバ側処理部20で記
憶しておく。また、FINフラグを倒す(1712)。
【0275】クライアント側処理部10では、このパケ
ットの最後のシーケンス番号に対するAck番号を番号
変換した番号「2501」を記憶しておく(171
3)。
【0276】シーケンス番号、Ack番号が書き換えら
れ、クライアント60へ要求したデータが届けられる。
番号変換によって、シーケンス番号は「2201」〜
「2500」となり、Ack番号も「1101」に書き
換わる。ここで、クライアント60はFINフラグが倒
れたパケットであるのでコネクションの終了処理はしな
い(1714)。
【0277】クライアント60から、Ack番号「25
01」が返される(1715)。
【0278】クライアント側処理部10では、このAc
k番号を見て、記憶している番号「2501」と一致す
るので、クライアント60がサーバ70(1)からの要
求に対する最後のデータを受け取ったことを知る(17
16)。
【0279】サーバ70(1)側では、このパケットの
Ack番号を変換した番号「4501」が記憶している
番号と一致するので、クライアント60がサーバ70
(1)からの要求に対する最後のデータを受け取ったこ
とを知り、終了処理を行なう(1717)。
【0280】サーバ70(1)に番号変換されたAck
番号の載ったパケットが返される(1718)。
【0281】解析部30では、クライアント60から受
け取ったデータ取得要求の次のいくつか(クライアント
側処理部10でシーケンス番号「1051」〜「110
0」だったもの)はサーバ70(2)へと送信するのが
適切であると判断し、サーバ70(2)とコネクション
を確立する。ここで、サーバ側処理部20の初期シーケ
ンス番号は「5000」番、サーバ70(2)の初期シ
ーケンス番号は「6000」番であったとする(171
9)。
【0282】サーバ70(2)へ送信すべきデータ取得
要求を送る(1720)。
【0283】要求に対するデータの一部(シーケンス番
号「6001」〜「6200」)がクライアント60に
送信される(1721)。
【0284】シーケンス番号、Ack番号が書き換えら
れ、クライアント60へ要求したデータが届けられる。
番号変換によって、シーケンス番号は「2501」〜
「2700」となり、Ack番号も「1101」に書き
換わる(1722)。
【0285】クライアント60から、シーケンス番号
「2700」までのデータが受領された事を示すAck
番号のついたパケットが送られる(1723)。
【0286】このAck番号情報は、番号変換されて、
サーバ側処理部20へ届けられる(1724)。
【0287】サーバ側処理部20では、番号変換された
Ack番号を載せたパケットがサーバ70(2)へと送
信される(1725)。
【0288】上記のように、サーバ70(1)からクラ
イアント60へ送信されるパケットの終了フラグを倒す
ことにより、クライアント60が、全てのデータ取得要
求に対するデータを受け取り終わるまで、クライアント
60と片方向終端交換機100間のコネクションを切断
することなく維持する。
【0289】なお、上記各実施の形態の交換機100、
100aは、クライアント側処理部10、サーバ側処理
部20や、解析部30等の機能や、その他の機能をハー
ドウェア的に実現することは勿論として、各機能を備え
るコンピュータプログラムを、コンピュータ処理装置の
メモリにロードされることで実現することができる。こ
のコンピュータプログラムは、磁気ディスク、半導体メ
モリその他の記録媒体90、90aに格納される。そし
て、その記録媒体からコンピュータ処理装置にロードさ
れ、コンピュータ処理装置の動作を制御することによ
り、上述した各機能を実現する。
【0290】また、サーバ70上のコンピュータを制御
することにより、交換機を介してサーバとクライアント
との間でパケット通信を行なう交換プログラムを、サー
バ70上で動作させることにより、本発明を実現するこ
とも可能である。この交換プログラムは、サーバ70の
記録媒体に上記と同様に格納される。すなわち、交換プ
ログラムは、交換機100におけるクライアント60か
らのデータ取得要求の中継時から、クライアント60に
対し送信される応答のパケットの送信を終了するまでの
間、片方向のスプライシングによって当該クライアント
60へに対しパケットを送信するように動作する。
【0291】また、クライアント60上のコンピュータ
を制御することにより、交換機100を介してサーバ7
0とクライアント60との間でパケット通信を行なう交
換プログラムを、クライアント60上で動作させること
により、本発明を実現することも可能である。この交換
プログラムは、クライアント60の記録媒体に上記と同
様に格納される。すなわち、交換プログラムは、交換機
100におけるサーバ70へのデータ取得要求の中継時
から、サーバ70から受信される応答のパケットの送信
を終了するまでの間、片方向のスプライシングによって
当該サーバ70からパケットを受信するように動作す
る。
【0292】以上好ましい実施の形態及び実施例をあげ
て本発明を説明したが、本発明は必ずしも上記実施の形
態及び実施例に限定されるものではなく、その技術的思
想の範囲内において様々に変形して実施することができ
る。
【0293】
【発明の効果】以上説明したように本発明の片方向終端
交換機によれば、以下のような効果が達成される。
【0294】まず、本発明の片方向終端交換機では、片
方向スプライシング中に、サーバからクライアントへの
データを、トランスポート層を終端せずにパケット毎に
シーケンス番号、Ack番号、Win値を書き換えるの
みで、クライアントへパケットを転送することによって
高速なパケット転送を実現し、かつ同時にクライアント
からサーバへ送られるデータ取得要求を参照し終端する
片方向スプライシングを実現することができる。
【0295】片方向スプライシングによって、クライア
ントからサーバへと送信されるデータ取得要求を参照す
ることによって、常に適切なサーバへとデータ取得要求
を転送することができ、かつ同時に、サーバからクライ
アント側へ到着する大量のデータについては、パケット
毎にシーケンス番号とAck番号を書き換えるのみの簡
素化された終端処理により、従来の交換機100と同等
のスループットを実現する。
【0296】更に、クライアントからのデータ取得要求
に対する全てのデータをクライアントが受け取るまで、
クライアントと片方向終端交換機の間で確立されたコネ
クションを切断せずに維持することができ、これによい
クライアントと片方向交換機との間のコネクションの再
セットアップが不要となり、必要なデータを取得するま
での遅延を小さく保つことができる。
【図面の簡単な説明】
【図1】 本発明の片方向終端交換機を用いた通信シス
テムの概念を説明する図である。
【図2】 本発明の第1の実施の形態の片方向終端交換
機を用いたネットワーク構成の一例を示すブロック図で
ある。
【図3】 本発明の第1の実施の形態の片方向終端交換
機の構成を示すブロック図である。
【図4】 本発明の第1の実施の形態のクライアント側
終端部の動作を説明するためのフローチャートである。
【図5】 本発明の第1の実施の形態のクライアント側
更新部の動作を説明するためのフローチャートである。
【図6】 本発明の第1の実施の形態のサーバ側終端部
の動作を説明するためのフローチャートである。
【図7】 本発明の第1の実施の形態のサーバ側更新部
の動作を説明するためのフローチャートである。
【図8】 本発明の第1の実施の形態の片方向終端交換
機内のデータの流れを説明するための図である。
【図9】 本発明の第1の実施の形態の具体的な動作例
を説明するタイミングチャートである。
【図10】 本発明の第2の実施の形態の片方向終端交
換機を用いたネットワーク構成の一例を示すブロック図
である。
【図11】 本発明の第2の実施の形態の片方向終端交
換機の構成を示すブロック図である。
【図12】 本発明の第2の実施の形態のクライアント
側終端部の動作を説明するためのフローチャートであ
る。
【図13】 本発明の第2の実施の形態の解析部の動作
を説明するためのフローチャートである。
【図14】 本発明の第2の実施の形態のサーバ側終端
部の動作を説明するためのフローチャートである。
【図15】 本発明の第2の実施の形態のサーバ側更新
部の動作を説明するためのフローチャートである。
【図16】 本発明の第2の実施の形態の片方向終端交
換機内のデータの流れを説明するための図である。
【図17】 本発明の第2の実施の形態の具体的な動作
例を説明するタイミングチャートである。
【図18】 従来の通信ネットワークの構成を示すブロ
ック図である。
【図19】 従来のレイヤ7スイッチの構成を示すブロ
ック図である。
【符号の説明】
100、100a 片方向終端交換機 100b 従来の交換機 10、10a クライアント側処理部 11、11a クライアント側終端部 12、12a クライアント側更新部 13b 切替部 20、20a サーバ側処理部 21、21a サーバ側終端部 22、22a サーバ側更新部 23、23a 切替部 30、30a 解析部 40、40a 記憶部 50 ネットワーク 60 クライアント 70 サーバ 71 サーバ群 90、90a 記録媒体

Claims (55)

    【特許請求の範囲】
  1. 【請求項1】 交換機を介してサーバとクライアントと
    の間でパケット通信を行なうパケット交換による通信シ
    ステムにおいて、 前記交換機が、 前記サーバから前記クライアントに対して送信されるパ
    ケットの中継時に、当該パケットのヘッダ情報を、当該
    パケットが前記交換機から発信された場合に設定される
    内容に書き換えて、前記パケットを前記クライアントに
    対して発信し、 前記クライアントからのデータ取得要求の中継時から、
    前記サーバから前記クライアントに対し送信される応答
    のパケットの送信が終了するまでの間、当該サーバから
    当該クライアントへの方向に対し片方向のスプライシン
    グの処理を行ない、かつ前記クライアントから前記サー
    バへの方向の通信に対して引き続き再送制御及びフロー
    制御を行なうことを特徴とする通信システム。
  2. 【請求項2】 前記交換機は、 各前記クライアントからの接続を受け付け、当該クライ
    アントとの間におけるコネクションを管理しパケットを
    送受するクライアント側処理部と、 各前記サーバに対しアクセスし、当該サーバとの間にお
    けるコネクションを管理しパケットを送受するサーバ側
    処理部と、 前記サーバから前記クライアントに対して送信されるパ
    ケットの中継時に、前記パケットのヘッダ情報の書換え
    を行なって、前記パケットを前記クライアントに対し発
    信する手段と、 前記サーバから当該クライアントへの方向に対し片方向
    のスプライシングの処理を行ない、かつ前記クライアン
    トから前記クライアント側処理部への方向の通信及び前
    記サーバ側処理部から前記サーバへの方向の通信に対し
    ては、確立したコネクションを切断することなく引き続
    き再送制御及びフロー制御を行なう手段を備えることを
    特徴とする請求項1に記載の通信システム。
  3. 【請求項3】 前記クライアント側処理部は、 各前記クライアントとの間のコネクションを制御し、各
    前記クライアントからの接続や要求を受け付けるクライ
    アント側終端部と、 前記サーバから前記クライアントに対し送信されるパケ
    ットを、ヘッダ情報を書き換えて中継するクライアント
    側更新部を備え、 前記サーバ側処理部は、 各前記サーバとの間のコネクションを管理し、前記クラ
    イアント側終端部から送られる各前記サーバに対する命
    令やデータを中継するサーバ側終端部と、 各前記サーバから各前記クライアントに対し送信される
    パケットを受け付けて、前記クライアント側更新部に送
    るサーバ側更新部を備えることを特徴とする請求項2に
    記載の通信システム。
  4. 【請求項4】 前記パケットのヘッダ情報には、 個々のパケットに分割された送信データにおける、当該
    パケット中のデータの順番を示すシーケンス番号と、 当該パケットのデータ長と、 通信相手が既に受信済みであるデータのシーケンス番号
    を示すAck番号を含むことを特徴とする請求項3に記
    載の通信システム。
  5. 【請求項5】 前記パケットのヘッダ情報には、 通信相手がまだ受信していない受信バッファの残り容量
    を示すWin値を含むことを特徴とする請求項4に記載
    の通信システム。
  6. 【請求項6】 前記クライアント側終端部は、 各前記クライアントから受け付けたパケットのヘッダ情
    報を、前記クライアント側更新部及び前記サーバ側終端
    部に通知する手段を備え、 前記サーバ側更新部は、 各前記サーバから各前記クライアントに対し送信される
    パケットのヘッダ情報を前記サーバ側終端部に通知する
    手段を備え、 前記クライアント側更新部及び前記サーバ側終端部は、 前記通知されたヘッダ情報を記録し参照して、パケット
    のヘッダ情報を適正に書き換えることを特徴とする請求
    項2又は請求項3に記載の通信システム。
  7. 【請求項7】 前記片方向のスプライシング処理が設定
    された状態において、前記クライアント側終端部は、 各前記クライアントから受け付けたパケットに対する応
    答処理を前記クライアント側更新部に指示し、 記クライアント側更新部は、 前記応答処理の指示を受け付けて、当該クライアントに
    対する応答のパケットを生成して発信する手段を備える
    ことを特徴とする請求項6に記載の通信システム。
  8. 【請求項8】 前記サーバ側更新部は、 1つの前記クライアントに対する複数の前記サーバから
    のパケットの送信を中継し、 中継するパケットのヘッダ情報から、個々の前記サーバ
    におけるパケットの送信の終了の旨を示すフラグを除去
    する手段を備え、 前記クライアントとの間のコネクションを切断すること
    なく、前記複数のサーバを切り換えて発信されるパケッ
    トを前記クライアントに中継することを特徴とする請求
    項2から請求項7のいずれか一つに記載の通信システ
    ム。
  9. 【請求項9】 前記クライアント側終端部及び前記サー
    バ側終端部は、 前記クライアントから前記サーバに対して個々のパケッ
    トに分割されて送信される送信データを、元の分割する
    前の状態に復元し、各パケットを、サーバを選択して送
    信する手段を備えることを特徴とする請求項2から請求
    項8のいずれか一つに記載の通信システム。
  10. 【請求項10】 各前記クライアントが接続する接続先
    のサーバを決定する解析部を備え、 前記解析部は、 前記クライアント側終端部から、前記クライアントが各
    前記サーバに対し発信する要求の情報を取得する手段
    と、 前記要求に基づいて、当該クライアントが接続すべき接
    続先のサーバを判定する手段と、 前記サーバ側終端部に対して、当該クライアントの前記
    判定された接続先のサーバへの接続を指示する手段を備
    えることを特徴とする請求項2から請求項8のいずれか
    一つに記載の通信システム。
  11. 【請求項11】 前記クライアント側終端部及び前記サ
    ーバ側終端部は、 前記クライアントから前記サーバに対して、個々のパケ
    ットに分割されて送信される送信データを元の分割する
    前の状態に復元した後に、当該サーバに対し送信する手
    段を備え、 前記解析部は、 前記元の分割する前の状態に復元された送信データに基
    づいて、前記接続先のサーバを判定する手段を備えるこ
    とを特徴とする請求項10に記載の通信システム。
  12. 【請求項12】 前記解析部は、 前記クライアントにより発信された未処理のデータ取得
    要求を、その接続先のサーバ毎に順次グループに分類す
    る手段と、 前記サーバ側終端部に対して、分類された各前記グルー
    プ毎に、対応するサーバへの接続と当該グループに分類
    された前記データ取得要求の実行を指示する手段を備え
    ることを特徴とする請求項10又は請求項11に記載の
    通信システム。
  13. 【請求項13】 複数のサーバとクライアントとの通信
    ネットワークを介したパケット通信を中継する交換機に
    おいて、 前記サーバから前記クライアントに対して送信されるパ
    ケットの中継時に、当該パケットのヘッダ情報を、当該
    パケットが交換機から発信された場合に設定される内容
    に書き換えて、前記パケットを前記クライアントに対し
    て発信し、 前記クライアントからのデータ取得要求の中継時から、
    前記サーバから前記クライアントに対し送信される応答
    のパケットの送信が終了するまでの間、当該サーバから
    当該クライアントへの方向に対し片方向のスプライシン
    グの処理を行ない、かつ前記クライアントから前記サー
    バへの方向の通信に対して引き続き再送制御及びフロー
    制御を行なうことを特徴とする交換機。
  14. 【請求項14】 各前記クライアントからの接続を受け
    付け、当該クライアントとの間におけるコネクションを
    管理しパケットを送受するクライアント側処理部と、 各前記サーバに対しアクセスし、当該サーバとの間にお
    けるコネクションを管理しパケットを送受するサーバ側
    処理部と、 前記サーバから前記クライアントに対して送信されるパ
    ケットの中継時に、前記パケットのヘッダ情報の書換え
    を行なって、前記パケットを前記クライアントに対し発
    信する手段と、 前記サーバから当該クライアントへの方向に対し片方向
    のスプライシングの処理を行ない、かつ前記クライアン
    トから前記クライアント側処理部への方向の通信及び前
    記サーバ側処理部から前記サーバへの方向の通信に対し
    ては、確立したコネクションを切断することなく引き続
    き再送制御及びフロー制御を行なう手段を備えることを
    特徴とする請求項13に記載の交換機。
  15. 【請求項15】 前記クライアント側処理部は、 各前記クライアントとの間のコネクションを管理し、各
    前記クライアントからの接続や要求を受け付けるクライ
    アント側終端部と、 前記サーバから前記クライアントに対し送信されるパケ
    ットを、ヘッダ情報を書き換えて中継するクライアント
    側更新部を備え、 前記サーバ側処理部は、 各前記サーバとの間のコネクションを管理し、前記クラ
    イアント側終端部から送られる各前記サーバに対する命
    令やデータを中継するサーバ側終端部と、 各前記サーバから各前記クライアントに対し送信される
    パケットを受け付けて、前記クライアント側更新部に送
    るサーバ側更新部を備えることを特徴とする請求項14
    に記載の交換機。
  16. 【請求項16】 前記パケットのヘッダ情報には、 個々のパケットに分割された送信データにおける、当該
    パケット中のデータの順番を示すシーケンス番号と、 当該パケットのデータ長と、 通信相手が既に受信済みであるデータのシーケンス番号
    を示すAck番号を含むことを特徴とする請求項15に
    記載の交換機。
  17. 【請求項17】 前記パケットのヘッダ情報には、 通信相手がまだ受信していない受信バッファの残り容量
    を示すWin値を含むことを特徴とする請求項16に記
    載の交換機。
  18. 【請求項18】 前記クライアント側終端部は、 各前記クライアントから受け付けたパケットのヘッダ情
    報を、前記クライアント側更新部及び前記サーバ側終端
    部に通知する手段を備え、 前記サーバ側更新部は、 各前記サーバから各前記クライアントに対し送信される
    パケットのヘッダ情報を前記サーバ側終端部に通知する
    手段を備え、 前記クライアント側更新部及び前記サーバ側終端部は、 前記通知されたヘッダ情報を記録し参照して、パケット
    のヘッダ情報を適正に書き換えることを特徴とする請求
    項14又は請求項15に記載の交換機。
  19. 【請求項19】 前記片方向のスプライシング処理が設
    定された状態において、前記クライアント側終端部は、 各前記クライアントから受け付けたパケットに対する応
    答処理を前記クライアント側更新部に指示し、 記クライアント側更新部は、 前記応答処理の指示を受け付けて、当該クライアントに
    対する応答のパケットを生成して発信する手段を備える
    ことを特徴とする請求項18に記載の交換機。
  20. 【請求項20】 前記サーバ側更新部は、 1つの前記クライアントに対する複数の前記サーバから
    のパケットの送信を中継し、 中継するパケットのヘッダ情報から、個々の前記サーバ
    におけるパケットの送信の終了の旨を示すフラグを除去
    する手段を備え、 前記クライアントとの間のコネクションを切断すること
    なく、前記複数のサーバを切り換えて発信されるパケッ
    トを前記クライアントに中継することを特徴とする請求
    項14から請求項19のいずれか一つに記載の交換機。
  21. 【請求項21】 前記クライアント側終端部及び前記サ
    ーバ側終端部は、 前記クライアントから前記サーバに対して個々のパケッ
    トに分割されて送信される送信データを、元の分割する
    前の状態に復元し、各パケットを、サーバを選択して送
    信する手段を備えることを特徴とする請求項14から請
    求項20のいずれか一つに記載の交換機。
  22. 【請求項22】 各前記クライアントが接続する接続先
    のサーバを決定する解析部を備え、 前記解析部は、 前記クライアント側終端部から、前記クライアントが各
    前記サーバに対し発信する要求の情報を取得する手段
    と、 前記要求に基づいて、当該クライアントが接続すべき接
    続先のサーバを判定する手段と、 前記サーバ側終端部に対して、当該クライアントの前記
    判定された接続先のサーバへの接続を指示する手段を備
    えることを特徴とする請求項14から請求項21のいず
    れか一つに記載の交換機。
  23. 【請求項23】 前記クライアント側終端部及び前記サ
    ーバ側終端部は、 前記クライアントから前記サーバに対して、個々のパケ
    ットに分割されて送信される送信データを元の分割する
    前の状態に復元した後に、当該サーバに対し送信する手
    段を備え、 前記解析部は、 前記元の分割する前の状態に復元された送信データに基
    づいて、前記接続先のサーバを判定する手段を備えるこ
    とを特徴とする請求項22に記載の交換機。
  24. 【請求項24】 前記解析部は、 前記クライアントにより発信された未処理のデータ取得
    要求を、その接続先のサーバ毎に順次グループに分類す
    る手段と、 前記サーバ側終端部に対して、分類された各前記グルー
    プ毎に、対応するサーバへの接続と当該グループに分類
    された前記データ取得要求の実行を指示する手段を備え
    ることを特徴とする請求項22又は請求項23に記載の
    交換機。
  25. 【請求項25】 複数のサーバとクライアントとの間
    の、通信ネットワークを介したパケット通信を中継する
    交換機のパケット交換方法において、 前記サーバから前記クライアントに対して送信されるパ
    ケットの中継時に、当該パケットのヘッダ情報を、当該
    パケットが交換機から発信された場合に設定される内容
    に書き換えて、前記パケットを前記クライアントに対し
    て発信し、 前記クライアントからのデータ取得要求の中継時から、
    前記サーバから前記クライアントに対し送信される応答
    のパケットの送信が終了するまでの間、当該サーバから
    当該クライアントへの方向に対し片方向のスプライシン
    グの処理を行ない、かつ前記クライアントから前記サー
    バへの方向の通信に対して引き続き再送制御及びフロー
    制御を行なうことを特徴とするパケット交換方法。
  26. 【請求項26】 各前記クライアントとの間のコネクシ
    ョンを管理し、各前記クライアントからの接続や要求を
    受け付けるステップと、 前記サーバから前記クライアントに対し送信されるパケ
    ットを、ヘッダ情報を書き換えて中継するステップと、 各前記サーバとの間のコネクションを管理し、前記クラ
    イアントから送られる各前記サーバに対する命令やデー
    タを中継するステップを備え、 前記パケットのヘッダ情報には、 個々のパケットに分割された送信データにおける、当該
    パケット中のデータの順番を示すシーケンス番号と、 当該パケットのトランスポート層以下のデータ長と、 通信相手が既に受信済みであるデータのシーケンス番号
    を示すAck番号と、 通信相手がまだ受信していない受信バッファの残り容量
    を示すWin値を含むことを特徴とする請求項25に記
    載のパケット交換方法。
  27. 【請求項27】 1つの前記クライアントに対する複数
    の前記サーバからのパケットの送信を中継し、 中継するパケットのヘッダ情報から、個々の前記サーバ
    におけるパケットの送信の終了の旨を示すフラグを除去
    するステップを備え、 前記クライアントとの間のコネクションを切断すること
    なく、前記複数のサーバを切り換えて発信されるパケッ
    トを前記クライアントに中継することを特徴とする請求
    項26に記載のパケット交換方法。
  28. 【請求項28】 前記クライアントから前記サーバに対
    して個々のパケットに分割されて送信される送信データ
    を、元の分割する前の状態に復元し、各パケットを、サ
    ーバを選択して送信するステップを備えることを特徴と
    する請求項26又は請求項27に記載のパケット交換方
    法。
  29. 【請求項29】 前記クライアントが各前記サーバに対
    し発信する要求の情報を取得するステップと、 前記要求に基づいて、当該クライアントが接続すべき接
    続先のサーバを判定するステップと、 当該クライアントの前記判定された接続先のサーバへの
    接続を指示するステップを備えることにより、各前記ク
    ライアントが接続する接続先のサーバを決定することを
    特徴とする請求項26から請求項28のいずれか一つに
    記載のパケット交換方法。
  30. 【請求項30】 前記クライアントにより発信された未
    処理のデータ取得要求を、その接続先のサーバ毎に順次
    グループに分類するステップと、 分類された各前記グループ毎に、対応するサーバへの接
    続と当該グループに分類された前記データ取得要求の実
    行を指示するステップを備えることを特徴とする請求項
    29に記載のパケット交換方法。
  31. 【請求項31】 コンピュータを制御することにより、
    複数のサーバとクライアントとの間の、通信ネットワー
    クを介したパケット通信を中継する交換プログラムをコ
    ンピュータにより読み取り可能に記録した記録媒体にお
    いて、 前記交換プログラムは、 前記サーバから前記クライアントに対して送信されるパ
    ケットの中継時に、当該パケットのヘッダ情報を、当該
    パケットが前記交換機から発信された場合に設定される
    内容に書き換えて、前記パケットを前記クライアントに
    対して発信し、 前記クライアントからのデータ取得要求の中継時から、
    前記サーバから前記クライアントに対し送信される応答
    のパケットの送信が終了するまでの間、当該サーバから
    当該クライアントへの方向に対し片方向のスプライシン
    グの処理を行ない、かつ前記クライアントから前記サー
    バへの方向の通信に対して引き続き再送制御及びフロー
    制御を行なうことを特徴とする交換プログラムを記録し
    た記録媒体。
  32. 【請求項32】 前記交換プログラムは、 各前記クライアントとの間のコネクションを管理し、各
    前記クライアントからの接続や要求を受け付けるステッ
    プと、 前記サーバから前記クライアントに対し送信されるパケ
    ットを、ヘッダ情報を書き換えて中継するステップと、 各前記サーバとの間のコネクションを管理し、前記クラ
    イアントから送られる各前記サーバに対する命令やデー
    タを中継するステップを備え、 前記パケットのヘッダ情報には、 個々のパケットに分割された送信データにおける、当該
    パケット中のデータの順番を示すシーケンス番号と、 当該パケットのトランスポート層以下のデータ長と、 通信相手が既に受信済みであるデータのシーケンス番号
    を示すAck番号と、 通信相手がまだ受信していない受信バッファの残り容量
    を示すWin値を含むことを特徴とする請求項31に記
    載の交換プログラムを記録した記録媒体。
  33. 【請求項33】 前記交換プログラムは、 1つの前記クライアントに対する複数の前記サーバから
    のパケットの送信を中継し、 中継するパケットのヘッダ情報から、個々の前記サーバ
    におけるパケットの送信の終了の旨を示すフラグを除去
    するステップを備え、 前記クライアントとの間のコネクションを切断すること
    なく、前記複数のサーバを切り換えて発信されるパケッ
    トを前記クライアントに中継することを特徴とする請求
    項32に記載の交換プログラムを記録した記録媒体。
  34. 【請求項34】 前記交換プログラムは、 前記クライアントから前記サーバに対して個々のパケッ
    トに分割されて送信される送信データを、元の分割する
    前の状態に復元し、各パケットを、サーバを選択して送
    信するステップを備えることを特徴とする請求項32又
    は請求項33に記載の交換プログラムを記録した記録媒
    体。
  35. 【請求項35】 前記交換プログラムは、 前記クライアントが各前記サーバに対し発信する要求の
    情報を取得するステップと、 前記要求に基づいて、当該クライアントが接続すべき接
    続先のサーバを判定するステップと、 当該クライアントの前記判定された接続先のサーバへの
    接続を指示するステップを備えることにより、各前記ク
    ライアントが接続する接続先のサーバを決定することを
    特徴とする請求項32から請求項34のいずれか一つに
    記載の交換プログラムを記録した記録媒体。
  36. 【請求項36】 前記交換プログラムは、 前記クライアントにより発信された未処理のデータ取得
    要求を、その接続先のサーバ毎に順次グループに分類す
    るステップと、 分類された各前記グループ毎に、対応するサーバへの接
    続と当該グループに分類された前記データ取得要求の実
    行を指示するステップを備えることを特徴とする請求項
    35に記載の交換プログラムを記録した記録媒体。
  37. 【請求項37】 サーバ上のコンピュータを制御する
    ことにより、交換機を介してサーバとクライアントとの
    間でパケット通信を行なう通信システムにおけるサーバ
    上で動作する交換プログラムをコンピュータにより読み
    取り可能に記録した記録媒体において、 前記交換プログラムは、 前記交換機における前記クライアントからのデータ取得
    要求の中継時から、前記クライアントに対し送信される
    応答のパケットの送信を終了するまでの間、片方向のス
    プライシングによって当該クライアントへに対し前記パ
    ケットを送信することを特徴とするサーバ上で動作する
    交換プログラムをコンピュータにより読み取り可能に記
    録した記録媒体。
  38. 【請求項38】 クライアント上のコンピュータを制
    御することにより、交換機を介してサーバとクライアン
    トとの間でパケット通信を行なう通信システムにおける
    クライアント上で動作する交換プログラムをコンピュー
    タにより読み取り可能に記録した記録媒体において、 前記交換機における前記サーバへのデータ取得要求の中
    継時から、前記サーバから受信される応答のパケットの
    送信を終了するまでの間、片方向のスプライシングによ
    って当該サーバから前記パケットを受信することを特徴
    とするクライアント上で動作する交換プログラムをコン
    ピュータにより読み取り可能に記録した記録媒体。
  39. 【請求項39】 交換機を介してサーバとクライアン
    トとの間でパケット通信を行なう通信システムにおける
    サーバであって、 前記交換機における前記クライアントからのデータ取得
    要求の中継時から、前記クライアントに対し送信される
    応答のパケットの送信を終了するまでの間、片方向のス
    プライシングによって当該クライアントへに対し前記パ
    ケットを送信することを特徴とするサーバ。
  40. 【請求項40】 当該パケットのヘッダ情報が、当該パ
    ケットが前記交換機から発信された場合に設定される内
    容に書き換えられた前記パケットを前記クライアントに
    対して発信することを特徴とする請求項39に記載のサ
    ーバ。
  41. 【請求項41】 前記パケットのヘッダ情報には、 個々のパケットに分割された送信データにおける、当該
    パケット中のデータの順番を示すシーケンス番号と、 当該パケットのデータ長と、 通信相手が既に受信済みであるデータのシーケンス番号
    を示すAck番号を含むことを特徴とする請求項40に
    記載のサーバ。
  42. 【請求項42】 前記パケットのヘッダ情報には、 通信相手がまだ受信していない受信バッファの残り容量
    を示すWin値を含むことを特徴とする請求項41に記
    載のサーバ。
  43. 【請求項43】 前記交換機が、1つの前記クライアン
    トに対する複数の前記サーバからのパケットの送信を中
    継し、 中継するパケットのヘッダ情報から、個々の前記サーバ
    におけるパケットの送信の終了の旨を示すフラグが除去
    され、 前記クライアントとの間のコネクションを切断すること
    なく、前記複数のサーバを切り換えて発信されるパケッ
    トを前記クライアントに中継することを特徴とする請求
    項40から請求項42のいずれか一つに記載のサーバ。
  44. 【請求項44】 前記クライアントから個々のパケット
    に分割されて送信される送信データが、元の分割する前
    の状態に復元され、各パケットを、選択されたサーバが
    受信することを特徴とする請求項40から請求項43の
    いずれか一つに記載のサーバ。
  45. 【請求項45】 各前記クライアントが接続する接続先
    のサーバが前記交換機により決定され、 前記クライアントが各前記サーバに対し発信する要求の
    情報を前記交換機で取得し、 前記要求に基づいて、当該クライアントが接続すべき接
    続先のサーバが判定され、 当該クライアントの前記判定された接続先のサーバへの
    接続が指示されることを特徴とする請求項40から請求
    項44のいずれか一つに記載のサーバ。
  46. 【請求項46】 前記クライアントにより発信された未
    処理のデータ取得要求を、その接続先のサーバ毎に順次
    グループに分類され、 分類された各前記グループ毎に、対応するサーバへの接
    続と当該グループに分類された前記データ取得要求の実
    行が指示されることを特徴とする請求項45に記載のサ
    ーバ。
  47. 【請求項47】 交換機を介してサーバとクライアン
    トとの間でパケット通信を行なう通信システムにおける
    クライアントであって、 前記交換機における前記サーバへのデータ取得要求の中
    継時から、前記サーバから受信される応答のパケットの
    送信を終了するまでの間、片方向のスプライシングによ
    って当該サーバから前記パケットを受信することを特徴
    とするクライアント。
  48. 【請求項48】 当該パケットのヘッダ情報が、当該パ
    ケットが前記交換機から発信された場合に設定される内
    容に書き換えられた前記パケットを前記サーバから受信
    することを特徴とする請求項47に記載のクライアン
    ト。
  49. 【請求項49】 前記パケットのヘッダ情報には、 個々のパケットに分割された送信データにおける、当該
    パケット中のデータの順番を示すシーケンス番号と、 当該パケットのデータ長と、 通信相手が既に受信済みであるデータのシーケンス番号
    を示すAck番号を含むことを特徴とする請求項48に
    記載のクライアント。
  50. 【請求項50】 前記パケットのヘッダ情報には、 通信相手がまだ受信していない受信バッファの残り容量
    を示すWin値を含むことを特徴とする請求項49に記
    載のクライアント。
  51. 【請求項51】 前記交換機が、1つの前記クライアン
    トに対する複数の前記サーバからのパケットの送信を中
    継し、 中継するパケットのヘッダ情報から、個々の前記サーバ
    におけるパケットの送信の終了の旨を示すフラグが除去
    され、 前記クライアントとの間のコネクションを切断すること
    なく、前記複数のサーバを切り換えて発信されるパケッ
    トを前記クライアントに中継することを特徴とする請求
    項48から請求項50のいずれか一つに記載のクライア
    ント。
  52. 【請求項52】 前記クライアントから個々のパケット
    に分割されて送信される送信データが、元の分割する前
    の状態に復元され、各パケットを、選択されたサーバに
    送信することを特徴とする請求項48から請求項51の
    いずれか一つに記載のクライアント。
  53. 【請求項53】 各前記クライアントが接続する接続先
    のサーバが前記交換機により決定され、 前記クライアントが各前記サーバに対し発信する要求の
    情報を前記交換機で取得し、 前記要求に基づいて、当該クライアントが接続すべき接
    続先のサーバが判定され、 当該クライアントの前記判定された接続先のサーバへの
    接続が指示されることを特徴とする請求項48から請求
    項52のいずれか一つに記載のクライアント。
  54. 【請求項54】 前記クライアントが発信した未処理の
    データ取得要求を、その接続先のサーバ毎に順次グルー
    プに分類され、 分類された各前記グループ毎に、対応するサーバへの接
    続と当該グループに分類された前記データ取得要求の実
    行が指示されることを特徴とする請求項53に記載のク
    ライアント。
  55. 【請求項55】 請求項12において,前記解析部は、 前記クライアントにより発信された未処理のデータ取得
    要求を、その接続先のサーバ毎に順次グループに分類す
    る手段と、 前記サーバ側終端部に対して、分類された各前記グルー
    プ毎に、対応するサーバへの接続と当該グループに分類
    された前記データ取得要求の実行及び取得要求の送信後
    にサーバとのコネクションを切断する事を指示する手段
    を備えることを特徴とする請求項10又は請求項11に
    記載の通信システム。
JP2001246139A 2000-12-28 2001-08-14 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体 Expired - Fee Related JP3642305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001246139A JP3642305B2 (ja) 2000-12-28 2001-08-14 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000401060 2000-12-28
JP2000-401060 2000-12-28
JP2001246139A JP3642305B2 (ja) 2000-12-28 2001-08-14 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2002261792A true JP2002261792A (ja) 2002-09-13
JP3642305B2 JP3642305B2 (ja) 2005-04-27

Family

ID=26607080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001246139A Expired - Fee Related JP3642305B2 (ja) 2000-12-28 2001-08-14 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3642305B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215635A (ja) * 2005-02-01 2006-08-17 Fujitsu Ltd 中継プログラム、中継方法および中継装置
WO2007102209A1 (ja) * 2006-03-08 2007-09-13 Yamatake Corporation 通信中継装置および通信中継方法
JP2007282009A (ja) * 2006-04-10 2007-10-25 Matsushita Electric Ind Co Ltd Ack番号書き換えによる帯域制御方式
JP2011053918A (ja) * 2009-09-02 2011-03-17 Alaxala Networks Corp ネットワークシステム、ネットワーク中継装置、それらの制御方法
US7969976B2 (en) 2007-12-21 2011-06-28 Nec Corporation Gateway apparatus, packet forwarding method, and program
WO2013146885A1 (ja) * 2012-03-28 2013-10-03 日本電気株式会社 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215635A (ja) * 2005-02-01 2006-08-17 Fujitsu Ltd 中継プログラム、中継方法および中継装置
JP4516439B2 (ja) * 2005-02-01 2010-08-04 富士通株式会社 中継プログラム、中継方法および中継装置
US8326916B2 (en) 2005-02-01 2012-12-04 Fujitsu Limited Relay method, relay apparatus, and computer product
WO2007102209A1 (ja) * 2006-03-08 2007-09-13 Yamatake Corporation 通信中継装置および通信中継方法
JP2007282009A (ja) * 2006-04-10 2007-10-25 Matsushita Electric Ind Co Ltd Ack番号書き換えによる帯域制御方式
JP4702151B2 (ja) * 2006-04-10 2011-06-15 パナソニック株式会社 ネットワーク中継装置およびネットワーク通信システム
US7969976B2 (en) 2007-12-21 2011-06-28 Nec Corporation Gateway apparatus, packet forwarding method, and program
JP2011053918A (ja) * 2009-09-02 2011-03-17 Alaxala Networks Corp ネットワークシステム、ネットワーク中継装置、それらの制御方法
WO2013146885A1 (ja) * 2012-03-28 2013-10-03 日本電気株式会社 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム
US9515926B2 (en) 2012-03-28 2016-12-06 Nec Corporation Communication system, upper layer switch, control apparatus, switch control method, and program

Also Published As

Publication number Publication date
JP3642305B2 (ja) 2005-04-27

Similar Documents

Publication Publication Date Title
US7519048B2 (en) Communication system and packet switching method thereof
US7542476B2 (en) Method and system for manipulating IP packets in virtual private networks
US8406240B2 (en) Packet fragmentation prevention
JP5038515B2 (ja) データ伝送
EP3593498B1 (en) Router device using flow duplication
US20040156393A1 (en) Architecture and API for of transport and upper layer protocol processing acceleration
JP3478200B2 (ja) サーバ・クライアント間双方向通信システム
JPH10150470A (ja) ワールドワイドウェブの要求と応答における接続管理情報の転送方法
US20050120140A1 (en) Method of and system for multi-patch communication
JPH0936910A (ja) パケット通信ネットワークにおける経路指定の管理
JPH1168873A (ja) データ通信方法及びデータ通信システム
US9473242B2 (en) Establishing connection across a connection-oriented first telecommunications network in response to a connection request from a second telecommunications network
JPH11252179A (ja) 非対称回線用tcp通信高速化装置
CN106576108B (zh) 通信系统中的通信方法和设备及系统
JP5913258B2 (ja) 中継装置及びデータ転送方法
US20150373135A1 (en) Wide area network optimization
US7564848B2 (en) Method for the establishing of connections in a communication system
US20030229713A1 (en) Server network controller including server-directed packet forwarding and method therefor
JP3642305B2 (ja) 通信システムとそのパケット交換方法、及び交換プログラムを記録した記録媒体
US5835728A (en) System for routing computer network
JP2005136684A (ja) データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム
JP3614006B2 (ja) 非対称経路利用通信システム、および、非対称経路利用通信方法
JPH04278751A (ja) 通信制御方式
JP2000261478A (ja) ゲートウェイ装置、送信方法、受信方法および情報記録媒体
Cisco Configuring STUN

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041022

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050118

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120204

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130204

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130204

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees