[go: up one dir, main page]

JPH0993304A - ネットワーク接続システム及び並列ネットワーク接続方法 - Google Patents

ネットワーク接続システム及び並列ネットワーク接続方法

Info

Publication number
JPH0993304A
JPH0993304A JP33302895A JP33302895A JPH0993304A JP H0993304 A JPH0993304 A JP H0993304A JP 33302895 A JP33302895 A JP 33302895A JP 33302895 A JP33302895 A JP 33302895A JP H0993304 A JPH0993304 A JP H0993304A
Authority
JP
Japan
Prior art keywords
network
computer
address
server
client
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
JP33302895A
Other languages
English (en)
Other versions
JP3613863B2 (ja
Inventor
Katsuyoshi Kitai
克佳 北井
Satoshi Yoshizawa
聡 吉沢
Toyohiko Kagimasa
豊彦 鍵政
Fumio Noda
文雄 野田
Yoshimasa Masuoka
義政 増岡
Yoshifumi Takamoto
良史 高本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP33302895A priority Critical patent/JP3613863B2/ja
Priority to US08/684,572 priority patent/US5948069A/en
Publication of JPH0993304A publication Critical patent/JPH0993304A/ja
Application granted granted Critical
Publication of JP3613863B2 publication Critical patent/JP3613863B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 複数のネットワーク・インタフェースを備え
たサーバにおいて、クライアントが要求するサービス品
質(QOS)に応じたネットワーク・インタフェースを
用いて通信を行なう。 【解決手段】 サーバに、ATMスイッチのようなLA
Nスイッチの複数の帯域予約可能な仮想チャネルを用
い、サーバのルーティング・テーブルの各エントリにネ
ットワーク・インタフェースのアドレスを追加し、クラ
イアントのネットワーク・アドレスとネットワーク・イ
ンタフェースのアドレスの両者によって、パケットを送
出するゲートウェイのネットワーク・アドレスを求める
ことによって、異なる経路を選択できるようにする。 【効果】 クライアントが要求するQOSに応じたネッ
トワーク・インタフェースを用いて通信を行ったり、複
数本のネットワーク・インタフェースを用いて高速かつ
高効率な並列通信を行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のネットワー
ク・インタフェースを備えた計算機のネットワーク接続
システム及び並列ネットワーク接続方法に関し、特に、
ATMネットワークのような多様なサービス品質(QO
S)に応えることが要求されるネットワーク接続システ
ムに係わる。
【0002】
【従来の技術】図15に、複数のネットワーク・インタ
フェースを備えたサーバにおける従来のネットワーク接
続を示す。複数のネットワーク・インタフェースを備え
たサーバとしては、例えば、Auspex社のNFSサーバや、M
aximum Strategy社のストレージサーバが知られてい
る。
【0003】図15において、500はサーバ、50
1、502、503はネットワーク・インタフェース、
505はルーティング・テーブル、510、520、5
30はそれぞれネットワーク・インタフェース501、
502、503に接続されるネットワーク、511ない
し513、521ないし523、531ないし533
は、それぞれネットワーク510、520、530に接
続されるクライアント(ワークステーションやPCな
ど)を示す。540は公衆網570に接続されるネット
ワーク、541は、ネットワーク540に接続されるク
ライアントを示す。尚、サーバに備えられるネットワー
ク・インタフェースは、実体としてはインターフェース
用のカード及び関連するソフトウエアなどで構成され
る。
【0004】サーバ500は、ネットワーク510に接
続されたゲートウェイ550とPBX(Private Branch
Exchange:構内交換機)560を介して、公衆網57
0と接続される。クライアント511、512、513
にはそれぞれ、ネットワーク510のネットワーク・ア
ドレスnet1.1、net1.2、net1.3が割り当てられ、ネット
ワーク・インタフェース501には、ネットワーク51
0のネットワーク・アドレスnet1.11が割り当てられて
いる。クライアント511、512、513は、net1.1
1を使ってのみ、つまりネットワーク510を通しての
みサーバ500とデータ通信を行うことができる。同様
に、クライアント521、522、523はネットワー
ク520を通してサーバ500とデータ通信を行い、ク
ライアント531、532、533はネットワーク53
0を通してサーバ500とデータ通信を行う。公衆網5
70に接続されたクライアント541は、PBX56
0、ゲートウェイ550、ネットワーク510を経由し
てサーバ500とデータ通信を行う。LAN1〜LAN
3に接続されているクライアントは、あらかじめ接続さ
れているネットワーク510、520、530を通じて
のみ、データ通信を行なうことができる。
【0005】サーバ500からクライアント511、5
12、513、クライアント521、522、523、
またはクライアント531、532、533へデータを
転送するときには、サーバ500のオペレーティング・
システムが管理するルーティング・テーブル505の指
定にしたがって、ネットワーク・インタフェース50
1、502、503(ネットワーク510、520、5
30)のいずれか一つが使われる。一方、サーバ500
からクライアント541へデータを転送するときには、
ルーティング・テーブル505の指定にしたがって、ネ
ットワーク510に接続されているゲートウエイ550
が選択され、ゲートウエイ550はサーバ500から送
られてきたパケットをネットワーク540に送る。この
場合には、ネットワーク・インタフェース501のみが
使用されることになる。
【0006】図2に従来のルーティング・テーブルの構
成を示す。図2において、161ないし165はルーテ
ィング・テーブルのエントリの項目を示す。各々のエン
トリは、宛先アドレスをハッシュ関数180で変換した
値で定まるエントリ100ないし150をヘッダとする
線型リストに接続される。宛先アドレスをキーにして線
型リストをたどり、宛先アドレス161がキーと一致す
るエントリを見つける。最初に見つかったエントリのネ
ットワーク・アドレスであるゲートウェイ・アドレス1
62からパケットを送出する。例えば、図15では、サ
ーバ500からは、ネットワーク・インタフェース50
1を介し、ゲートウェイ550に接続されているネット
ワーク510を使ってクライアント541と通信するこ
とができる。(尚、サーバ500のネットワーク・イン
タフェース501、502、503を介して、ネットワ
ーク510、520、530に接続されている各クライ
アントと通信を行う場合には、ゲートウエイ・アドレス
162の代わりにネットワーク・アドレスnet1.11、net
2.11、net3.11を直接指定することになる。) ルーティング・テーブルの詳細は、Douglas E. Comer他
著の"Internetworkingwith TCP/IP, Volume I, II" (P
rentice Hall)や、S. J. Leffler他著の"TheDesign and
Implementation of the 4.3BSD UNIX Operating syste
m" (AddisonWesley) に示されている。このように、ル
ーティング・テーブルの役割は、パケットの宛先アドレ
スをキーにして、次にこのパケットを送出するゲートウ
ェイなどのネットワーク・アドレスを明らかにする点に
ある。
【0007】さらに、ルーティング・テーブル・エント
リの中のネットワーク・インタフェース情報テーブルの
エントリへのポインタ163によって、ゲートウェイに
到達するネットワーク・インタフェースに関する情報1
71ないし176を得ることができる。ネットワーク・
インタフェースに関する情報として、ネットワーク・イ
ンタフェースの最大転送長(MTU: Maximum Transmission
Unit)172、このネットワーク・インタフェースを通
過した入力・出力パケット数173、174などがあ
る。
【0008】
【発明が解決しようとする課題】上記従来技術による
と、クライアントとサーバのデータ通信では、サーバの
ネットワーク・インタフェースが複数個存在するにもか
かわらず、クライアントが接続されているただ一つのネ
ットワーク・インタフェースしか使用できないため、ネ
ットワーク・インタフェースの負荷状況に応じて動的に
ネットワーク・インタフェースを選択し、負荷を分散さ
せることができないという問題があった。これは、クラ
イアントの多様なサービス品質(QOS)に応ずること
ができないという問題につながる。例えば、昨今、音声
や画像やデータなどマルチメディア・データを通信する
ニーズが高まっているが、容量がかなり大きくなるた
め、負荷が一つのネットワーク・インタフェースに集中
してしまい、クライアントが要求するサービス品質(Q
OS)を満たすことが困難であった。
【0009】さらに、上記従来技術によると、クライア
ントのネットワーク・インタフェースのバンド幅の方
が、サーバの各ネットワーク・インタフェースのバンド
幅よりも大きい場合には、サーバからクライアントへの
転送に使用されるネットワーク・インタフェースがただ
一つに限られるため、クライアントのネットワーク・イ
ンタフェースのバンド幅を十分に活用できないという問
題があった。
【0010】本発明の目的は、上記課題を解決し、複数
のネットワーク・インタフェースを備えたサーバにおい
て、クライアントが要求するサービス品質(QOS)に
応じたネットワーク・インタフェースを用いて通信を行
ったり、複数本のネットワーク・インタフェースを並列
に用いて通信を行うことができるネットワーク接続シス
テム及び並列ネットワーク接続方法を提供することにあ
る。
【0011】また、本発明の他の目的は、ATMネット
ワークのような帯域を予約できるネットワークを用い
て、複数のネットワーク・インタフェースを有するサー
バに接続し、コネクション設立時にクライアントが要求
するサービス品質(QOS)を満たすネットワーク・イ
ンタフェースを使用することができるネットワーク接続
システム及び並列ネットワーク接続方法を提供すること
にある。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、第1の計算機(サーバ)のルーティング
・テーブルの各エントリにネットワーク・インタフェー
スのアドレスであるネットワーク・インタフェース・ア
ドレスを保持する。
【0013】また、各ネットワーク・インタフェースの
使用状況を保持するサービス品質(QOS)保持手段を
備える。更に、第2の計算機(クライアント)が第1の
計算機と通信路を開設するときに指定するQOSパラメ
タを指定する手段を備える。具体的には、第2の計算機
(クライアント)が、第1の計算機(サーバ)に対して
通信路の開設を要求したとき、第1の計算機はルーティ
ング・テーブルのエントリの中から、最終宛先ネットワ
ーク・アドレスが第2の計算機のネットワーク・アドレ
スと等しい少なくとも1つのエントリを選択し、選択し
たルーティング・テーブルのエントリのネットワーク・
インタフェース・アドレスで示されるネットワーク・イ
ンタフェースのQOS保持手段と第2の計算機が指定す
るQOSパラメタを比較し、QOSパラメタで指定され
る条件を満たすことができるように、少なくとも1つの
ネットワーク・インタフェースを選択し、そのネットワ
ーク・インタフェースを通して第1の計算機はゲートウ
ェイにパケットを送付する。また、第1の計算機は第2
の計算機に対して、通信路の開設時に送信する同期(S
YN)パケットに付随させて、選択した全てのネットワ
ーク・インタフェースのネットワーク・アドレスを教え
る。
【0014】また、帯域の大きいネットワーク・インタ
フェースを備えた第2の計算機の場合には、第1の計算
機の複数のネットワーク・インタフェースを並列に用い
てデータ通信を行えるように構成する。
【0015】クライアントが複数のネットワーク・イン
タフェースを備えたサーバとデータ通信を行うとき、ク
ライアントが要求するサービス品質(QOS:Quality
of Service)を満たすことができるように、各ネットワ
ーク・インタフェースの動的な負荷の大きさなどに応じ
て、サーバはネットワーク・インタフェースを選択でき
ることが望ましい。
【0016】本発明では、まず、サーバが同一のクライ
アントに対して、異なるネットワーク・インタフェース
を用いてデータ通信を行えるようにするために、ATM
(Asynchronous Transfer Mode)スイッチのようなLA
Nスイッチの複数の帯域予約可能な仮想チャネルを用い
ることとし、従来のルーティング・テーブル・エントリ
にネットワーク・インタフェースのアドレスを追加す
る。クライアントのネットワーク・アドレスとネットワ
ーク・インタフェース・アドレスの両者によって、パケ
ットを送出するゲートウェイのネットワーク・アドレス
を求めることによって、異なる経路を選択できるように
する。
【0017】さらに、(a)サーバに、ネットワーク・
インタフェースごとに仮想チャネルの帯域や動的な負荷
の統計情報を保持するQOS管理テーブルを設け、デー
タ通信路の確立要求時にこのテーブル・エントリを参照
し、(b)従来の3ウェイハンドシェークを拡張して、
コネクション確立時において、サーバがクライアントに
SYN(同期)/ACK(応答)を返すときに、SYN
のパラメタとしてサーバが選択したコネクションのネッ
トワーク・インタフェース・アドレスを添付し、クライ
アントはSYNで指定されたネットワーク・インタフェ
ース・アドレスに対してACKを返すことによって、サ
ーバが選択したネットワーク・インタフェースを用いて
コネクションを確立し、以降のデータ通信を行えるよう
にする。また、帯域の大きいネットワーク・インタフェ
ースを備えたクライアントの場合には、サーバの複数の
ネットワーク・インタフェースを並列に用いてデータ通
信を行えるようにするために、3ウェイハンドシェーク
によるコネクション確立時において、サーバがクライア
ントにSYN/ACKを返すときに、SYNのパラメタ
としてサーバが選択したネットワーク・インタフェース
数と各々のネットワーク・アドレスを添付し、クライア
ントはSYNで指定された全てのネットワーク・アドレ
スに対してACKを返し、サーバが選択したネットワー
ク・インタフェースを用いてコネクションを確立し、以
降のデータ通信を行えるようにする。さらに、プロトコ
ル層とアプリケーション層の間において、パケットの分
割・統合を行うことによって、アプリケーション・プロ
グラムの変更なしに、並列通信を実現することができる
ようにする。
【0018】
【発明の実施の形態】
(1)実施形態例1 以下、本発明の詳細な実施形態例を説明する。
【0019】図3は、本発明の実施形態例1に係るネッ
トワーク接続システムの全体構成図を示す。図3におい
て、3000は本発明が適用されるサーバ計算機、30
50は例えばATM(Asynchronous Transfer Mode)ス
イッチのようなLANスイッチ、3060はPBX(Pr
ivate Branch eXchange:構内交換機)、3070は公
衆網、3100、3200、3300、3400はLA
N(Local Area Network)、3101、3201、33
01、3401はクライアント計算機、3102、32
02は本発明が適用されるゲートウェイ計算機を示す。
【0020】サーバ3000は、ワークステーションな
どの単一の計算機または並列計算機で構成され、ネット
ワーク・インタフェース3001、3002、300
3、3004を通して、それぞれ通信路3011、30
12、3013、3014に接続され、これらの通信路
はLANスイッチ3050と接続される。また、ネット
ワーク・インタフェース3005、3006を通して、
通信路3015、3016に接続され、これらの通信路
はそれぞれLAN3300、3400と接続される。L
ANスイッチ3050は、ATMスイッチやファイバー
チャネルのようなスイッチで構成され、通信路3074
を通してPBX3060と接続され、PBX3060は
通信路3073を通して公衆網3070に接続される。
ここで、通信路3011、3012、3013、301
4、3074、3073は、例えばATMのように、そ
れぞれ、1つないしは複数の帯域予約可能な仮想チャネ
ルから構成され、LANスイッチ3050やPBX30
60は、仮想チャネル間のスイッチングを行う。LAN
スイッチとサーバとの間に複数の仮想チャネルを有して
いることがポイントとなっている。クライアント310
1、3201、3301、3401は、PCやワークス
テーションなどの計算機で構成され、それぞれ、通信路
3110、3210、3310、3410を通してLA
N3100、3200、3300、3400と接続さ
れ、ゲートウェイ3102は、ネットワーク接続するた
めの計算機であり、通信路3111、3071、308
1を通して、それぞれLAN3100、公衆網307
0、公衆網3080と接続され、ゲートウェイ3202
も同じくネットワーク接続するための計算機であり、通
信路3211、3072、3082を通して、それぞれ
LAN3200、公衆網3070、公衆網3080と接
続される。尚、ネットワーク接続手段としては、ゲート
ウエイの他に、ルータやスイッチなども含まれる。
【0021】本実施形態例では、LANスイッチ305
0と公衆網3070を含むネットワークには、ネットワ
ーク・アドレスとしてnet1.*が割り当てられ、公衆網3
080を含むネットワークにはnet2.*、LAN1、LA
N2、LAN3、LAN4にはそれぞれnet11.*、net1
2.*、net13.*、net14.*が割り当てられている。通信路
3011ないし3016が接続されるサーバ3000の
ネットワーク・インタフェース3001ないし3006
には、それぞれネットワーク・アドレスnet1.1、net1.
2、net1.3、net1.4、net13.1、net14.1が割り当てら
れ、クライアント3101、3201、3301、34
01には、それぞれnet11.10、net12.10、net13.10、ne
t14.10、ゲートウェイ3102の各ネットワーク・イン
タフェースには、net11.9、net1.11、net2.11、ゲート
ウェイ3202の各ネットワーク・インタフェースに
は、net12.9、net1.12、net2.12が割り当てられてい
る。
【0022】図3において、サーバ3000はクライア
ント3101とデータ通信を行う場合、複数の経路を選
択することができる。サーバ3000は、ネットワーク
・インタフェース3001、3002、3003、30
04のいずれを使用してもLANスイッチ3050、P
BX3060、公衆網3070、ゲートウェイ310
2、LAN3100を経て、クライアント3101と通
信ができる。また、公衆網3070からクライアント3
101までの他の経路として、ゲートウェイ3202、
公衆網3080、ゲートウェイ3102、LAN310
0を経る経路がある。
【0023】いま、クライアント3101がサーバ30
00とTCP/IPプロトコルを用いてコネクション指
向のデータ通信を行う場合を用いて、本発明の実施形態
例1を説明する。まず、図16にプログラム記述の実施
形態例を示す。本プログラムは、W. D. Stevens著の"UN
IX network programming" (Prentice Hall) にも記され
ているsocketを用いたプログラムを拡張している。90
01から9015がサーバ3000で実行されるプログ
ラムを示し、9050から9061がクライアント31
01で実行されるプログラムを示す。サーバ3000
は、socketの生成(9002)、socketのアドレス付け
(9006)を行った後、listen()コールによって、任
意のクライアント(9004)からのコネクション設立
要求を待つ(9007)。クライアント3101は、so
cketを生成(9053)した後、サーバ3000のネッ
トワーク・アドレスのひとつであるnet1.1(9051)
を指定して(9055)、connect()コールによってサ
ーバとのコネクション設立を要求する(9058)。
【0024】サーバとのコネクション設立を要求すると
きに、通信路のQOSを指定する(9057)。QOS
は、9052に示すように、サービス・クラス、ピーク
バンド幅(Mbps)、平均バンド幅(Mbps)の3
項目で構成される。サービス・クラスにはBest Effort
(BE)、GB (Guaranteed Burst)、GS (Guaranteed Strea
m)の3種類がある。BEは通常のデータ通信で、通信路
の込み具合に応じてデータ・スループットが変化する。
GBはバースト転送向けのデータ通信で、バースト転送
時のスループットをできる限り保証する。バースト転送
開始前に帯域の予約を増減させることもできる。GSは
ビデオや音声などのストリーム・データの通信で、あら
かじめ確保されたバンド幅を保証する。サービス・クラ
ス指定をオフにすることもできる。
【0025】クライアント3101がconncet()コール
によって通信路の開設を要求し、サーバ3000がクラ
イアントの要求を受け入れると、accept()コールによっ
てクライアントとサーバ間の通信路が確立する(900
9)。サーバは新たに確立した通信路で用いるソケット
の記述子newfdを割り当て(9009)、子プロセスを
生成し(9010)、子プロセスとクライアントとの間
でデータ通信が行われる(9013)。親プロセスは、
他のクライアントからの要求を受け付けるべく待ち状態
に戻る(9015、9008)。クライアント3101
も通信路が確立すると(9058)、サーバとの間でデ
ータ通信を行う(9059)。
【0026】次に図4、図1、図9、図10、図11、
図12を用いて、TCP/IPプロトコル層におけるク
ライアント3101とサーバ3000との間のコネクシ
ョンの確立方法の実施形態例を示す。
【0027】まず、図4を用いてコネクション確立方法
の処理の概略を示す。図4において、3500、350
1、3502、3503、3550、3551、355
2は、TCPプロトコルの状態を示し、3570、35
71、3572はクライアント3101とサーバ300
0との間でコネクションを確立する3ウェイ・ハンドシ
ェークを示す。オリジナルの3ウェイ・ハンドシェーク
に関しては、DouglasE. Comer他著の"Internetworking
with TCP/IP, Volume I, II" (Prentice Hall)に詳し
く記されている。
【0028】CLOSED状態(3500)のサーバ3
000は、図16に示したプログラム中のlisten()コー
ルが実行されると(9007)LISTEN状態にな
り、クライアントからのコネクション開設要求を待つ
(3501)。CLOSED状態3550のクライアン
ト3101は、図16に示したプログラム中のconnec
t()コールが実行されると(9058)、サーバ300
0のネットワーク・インタフェースのひとつであるネッ
トワーク・アドレスnet1.1とのデータ通信を制御するた
めに必要な制御ブロックTCB(Transmission Control
Block)を作成する(3560)。次に、net1.1に対し
てコネクション開設を要求するために(3561)、S
YN(同期)フラグを立てたTCPパケットをサーバ3
000へ送る。このとき、クライアント3101は、コ
ネクションのQOS(サービス品質)をSYNフラグ付
TCPパケットのパラメタとしてサーバ3000へ送付
する(3570)。QOSは、図16の9052に示し
たように、サービスクラス、ピークバンド幅(Mbp
s)、平均バンド幅(Mbps)の3項目で構成され
る。クライアント3101は、SYNフラグ付TCPパ
ケットを送ると、SYN SENT状態になる(355
1)。
【0029】LISTEN状態のサーバ3000は、Q
OS(サービス品質)付きのTCPパケットを受け取る
と、クライアント3101のQOSを満たすネットワー
ク・インタフェースを探す。ネットワーク・インタフェ
ースを選択する手順の実施形態例は後述する。いま、図
3におけるネットワーク・インタフェース3003、ネ
ットワーク・アドレスnet1.3のインタフェースを選択し
た場合について述べる(3510)。サーバ3000
は、ネットワーク・アドレスnet1.3に対応するTCB
(Transmission Control Block)を作成する(351
1)。TCBには、クライアント3101のネットワー
ク・アドレス、サーバ3000の選択されたネットワー
ク・インタフェースのネットワーク・アドレスnet1.3、
通信プロトコル名TCPが保持されている。サーバ30
00は、TCBを作成した後、クライアント3101に
対して、クライアントからのSYNに対するACK(応
答)フラグの付いたTCPパケットと、SYNフラグの
付いたTCPパケットをクライアント3101に送り
(3571)、このTCBをSYN RECVD状態に
する(3502)。SYNフラグには、パラメタとして
ネットワーク・アドレスnet1.3を添付する。クライアン
ト3101は、パラメタとしてネットワーク・アドレス
net1.3付随したSYNフラグ付きTCPパケットを受け
取ると、net1.1用に作成したTCBを削除し(356
2)、net1.3に対応したTCBを作成する(356
3)。次に、クライアント3101はnet11.3に対し
て、ACKフラグ付TCPパケットを送り(357
2)、ESTABLISHED状態となる(355
2)。サーバ3000もACKを受け取るとESTAB
LISHED状態となり(3503)、以降、クライア
ントとサーバ間でSEND/RECEIVEによる通信
を行うことができる(3573)。
【0030】以上図4を用いて示した本発明のコネクシ
ョン確立方法の詳細を、図1、図9、図10、図11、
図12を用いて説明する。図9、図10、図11は、L
ISTEN状態(3501)でクライアントからのコネ
クション設立要求を待っている状態以降のサーバ300
0の処理のフローチャート図、図12はクライアント3
101の処理のフローチャート図、図1は、ネットワー
ク・インタフェースを選択するときに用いるデータ構造
を示す。
【0031】図9において、LISTEN状態(350
1)のサーバ3000は、クライアント3101からQ
OS指定付きのSYNフラグの付いたTCPパケットを
受信すると(3570)、クライアント3101のQO
S要求を満たし、サーバ3000のネットワーク・イン
タフェースの負荷を分散できるネットワーク・インタフ
ェースを選択するため(4010)、以下の処理を行
う。
【0032】図1を一緒に用いて、ネットワーク・イン
タフェースを選択する手順について説明する。図1は、
本発明の実施形態例1にかかるルーティング・テーブ
ル、ネットワーク・インタフェース情報テーブル、QO
S管理テーブルを示す。サーバ3000はネットワーク
・インタフェースを選択するときに、これらのテーブル
を参照する。
【0033】図1において、10ないし60はルーティ
ング・テーブルの各エントリの並びのヘッダである。ク
ライアント3101のネットワーク・アドレス(サーバ
3000から見た場合には宛先アドレス)net11.10をハ
ッシュ関数で変換し、ルーティング・テーブル・エント
リをたどる。ルーティング・テーブルの各エントリは、
最終的にパケットを送り届ける先であるクライアントの
宛先アドレス70、宛先アドレスへ到達できるサーバ3
000のネットワーク・インタフェースのネットワーク
・アドレス71、宛先アドレス70へ到達するために次
ぎにパケットを送出するゲートウェイのネットワーク・
アドレス72、ゲートウェイが接続されているネットワ
ーク・インタフェースの情報とネットワーク・インタフ
ェースのQOS情報を保持するネットワーク・インタフ
ェース情報テーブルへのポインタ73、宛先が等しいル
ーティング・テーブル・エントリを高速にサーチするた
めのポインタ74、ルーティング・テーブル・エントリ
のリストを作成するためのポインタ75、その他76か
ら構成される。ネットワーク・インタフェース情報テー
ブルの各エントリは、ネットワーク・インタフェースの
名前80、当該ネットワーク・インタフェースが処理で
きる最大パケット長(MTU:Maximum Transmission U
nit)81、当該ネットワーク・インタフェースを通し
て送受信されたパケット数の累積値を保持する受信パケ
ット数82と送信パケット数83、ネットワーク・イン
タフェース情報テーブルのエントリの線型リストを作成
するためのポインタ84、当該ネットワーク・インタフ
ェースのQOS情報や動的負荷情報を保持するQOS管
理テーブル・エントリへのポインタ85、その他86か
ら構成される。QOS管理テーブルの各エントリは、当
該ネットワーク・インタフェースの最大バンド幅(メガ
ビット/秒)90、バーチャル・チャネル(VC)の本
数91、各バーチャル・チャネルに割り当てられている
バンド幅(帯域幅)(メガビット/秒)92、各バーチ
ャル・チャネルのコネクションが設立されているか否か
を示すフラグ93、サービスクラスがGBかGSで、コ
ネクションが設立されているバーチャル・チャネル本数
94、サービスクラスがGBかGSでコネクションが設
立され、予約済になっているバンド幅の合計値(メガビ
ット/秒)95、最新1分間のピーク転送量(メガビッ
ト/秒)96、最新1分間の平均転送量(メガビット/
秒)97などからなる。
【0034】図13を用いて、図3のネットワーク接続
構成における、サーバ3000のルーティング・テーブ
ル全体の実施形態例を示す。図13において、3800
がルーティング・テーブルの全体、3801ないし38
14の各々がルーティング・テーブル・エントリの中の
宛先アドレス(70)、ネットワーク・インタフェース
のネットワーク・アドレス(71)、ゲートウェイのネ
ットワーク・アドレス(72)を示す。
【0035】クライアント3101を含むLAN310
0のネットワーク・アドレスは、宛先アドレスnet11.*
(3801ないし3808)で示し、LAN3200、
3300、3400のそれぞれのネットワーク・アドレ
スは、宛先アドレスnet12.*(3809ないし381
2)、net13.*(3813)、net14.*(3814)で示
している。エントリ3801は、net11.*へのルーティ
ングは、サーバ3000のネットワーク・インタフェー
ス3001(ネットワーク・アドレスはnet1.1)を用い
て、ゲートウェイ3102(ネットワーク・アドレスne
t1.11)経由で可能であることを示している。同様に、
エントリ3802、3803、3804は、それぞれネ
ットワーク・インタフェース3002、3003、30
04(ネットワーク・アドレスはnet1.2, net1.3, net
1.4)を用いて、ゲートウェイ3102経由でnet11.*へ
のルーティングが可能であることを示し、エントリ38
05、3806、3807、3808は、それぞれネッ
トワーク・インタフェース3001、3002、300
3、3004(ネットワーク・アドレスはnet1.1, net
1.2, net1.3, net1.4)を用いて、ゲートウェイ320
2(ネットワーク・アドレスnet1.12)経由でnet11.*へ
のルーティングが可能であることを示す。以上のよう
に、ルーティング・テーブルにあらかじめnet11.*へ到
達可能なネットワーク・インタフェースとゲートウェイ
・アドレスを設定しておき、コネクション設立時に、ク
ライアント3101が要求するQOSやサーバ3000
のネットワーク・インタフェースの負荷やLANスイッ
チ3050の負荷に応じてデータ通信路(経路)を選択
する。同様に、エントリ3809、3810、381
1、3812は、それぞれネットワーク・インタフェー
ス3001、3002、3003、3004(ネットワ
ーク・アドレスはnet1.1, net1.2, net1.3, net1.4)を
用いて、ゲートウェイ3202(ネットワーク・アドレ
スnet1.12)経由でnet12.*へのルーティングが可能であ
ることを示す。
【0036】図3によると、ゲートウェイ3102経由
でもnet12.*へのルーティングは可能であるが、図13
のルーティング・テーブルの設定によると、ゲートウェ
イ3102経由のルーティングは行わせていない。エン
トリ3813、3814のネットワーク・インタフェー
ス・アドレスが未指定なのは、net13.*とnet14.*へのル
ーティングは、サーバ3000のネットワーク・インタ
フェースの数が1つずつしかないため、指定する必要が
ないためである。なお、従来のルーティング・テーブル
では、ネットワーク・インタフェースのネットワーク・
アドレスのカラムが、ルーティング・テーブルには無か
った。
【0037】コネクションが確立されると、テーブル3
820に、データ通信を行うクライアント(宛先アドレ
ス)とサーバのネットワークインタフェースのネットワ
ーク・アドレス(送信元アドレス)を登録する。図13
のテーブル3820の場合には、クライアント3101
とサーバ3000のネットワーク・インタフェース30
02、3003、3004の間でコネクションが確立さ
れている(3821、3822、3833)。
【0038】図9の説明に戻る。サーバ3000は、ク
ライアント3101のネットワーク・アドレスnet11.10
をハッシュ関数にかけ、ルーティング・テーブル・エン
トリのリストのヘッダ40を求める(4020)。ヘッ
ダ40からルーティング・テーブル・エントリをたど
り、そのエントリの宛先アドレス70が、クライアント
3101のネットワーク・アドレスnet11.10もしくはク
ライアント3101のサブネットワーク・アドレスnet1
1と等しいか否かを調べる(4030)。もし、アドレ
スが不一致の場合には、ルーティング・テーブル・エン
トリの次エントリへのポインタ75をたどり、次のエン
トリへ進み(4035)、クライアント3101のネッ
トワーク・アドレスnet11.10もしくはクライアント31
01のサブネットワーク・アドレスnet11と等しい宛先
アドレス70のルーティング・テーブル・エントリが見
つかるまで繰り返す(4030、4035)。
【0039】アドレスが等しいルーティング・テーブル
・エントリが見つかった場合について説明する。
【0040】(A)クライアント3101が要求するサ
ービス・クラスがGB(GuaranteedBurst)かGS(Gua
ranteed Stream)の場合には、ルーティング・テーブル
・エントリ中のポインタ73から、ネットワーク・イン
タフェース情報テーブル・エントリを調べ(404
0)、その中のQOS管理テーブル・エントリへのポイ
ンタ85の値をワークメモリ領域に記録する(405
0)。ルーティング・テーブル・エントリ中のポインタ
74を用いて、同じ宛先アドレスの全てのルーティング
・テーブル・エントリを求め(4060)、そのネット
ワーク・インタフェース情報テーブル・エントリの中の
QOS管理テーブル・エントリへのポインタ85の値を
ワークメモリ領域に記録する(4050)。本実施形態
例の場合には、図13のルーティング・テーブル380
0によると、エントリ3801ないし3808の8つの
エントリが選択される。
【0041】図10に移る。次に、4050で記録した
QOS管理テーブル・エントリへのポインタをたどり、
QOS管理テーブル・エントリ中の記録を調べ、次の2
条件を満たすサーバ3000のネットワーク・インタフ
ェースを選択する(4070)。
【0042】1)クライアント3101が要求する平均
バンド幅が、最大バンド幅(90)から予約済みバンド
幅の合計(95)を引いた値よりも小さいこと、2)ク
ライアント3101が要求するピーク・バンド幅が、未
予約のバーチャル・チャネル(93)のバンド幅の中
で、最大のものよりも小さいこと、の2条件である。
【0043】もし該当するネットワーク・インタフェー
スがない場合には、最近一分間のピーク転送量(96)
が最小のネットワーク・インタフェースを選択する(4
080)。図10や図4には示していないが、クライア
ント3101の要求を満たすことができない場合には、
サーバ3100はSYN SENT状態のクライアント
3101に対して、クライアント3101の要求を満た
すことができない旨を、ACKフラグ付TCPパケット
のパラメタとして伝え、クライアント3101とQOS
の協議を行い、クライアント3101がQOSを指定し
直して、再びSYNフラグ付TCPパケットをサーバ3
000に送り(3570)、新しいQOSに基づいてサ
ーバ3000がネットワーク・インタフェースを探す
(3510)、というサーバ3000とクライアント3
101との間の協議が行われてもよい。
【0044】再び図10へ戻って、4070において、
もし該当するネットワーク・インタフェースがある場合
には、条件を満たすネットワーク・インタフェースの中
から、予約済みバンド幅が最小のインタフェースを選択
する(4085)。選択したネットワーク・インタフェ
ースのQOS管理テーブル・エントリの予約済バンド幅
(95)に、クライアント3101が要求している平均
バンド幅を加える。
【0045】選択したネットワーク・インタフェースの
アドレスを含むルーティング・テーブル・エントリを以
下では用いる。
【0046】(B)4030に戻り、クライアント31
01が要求するサービス・クラスがBE(Best Effor
t)か未指定の場合には、最初に見つかったルーティン
グ・テーブル・エントリを用いる。
【0047】選択したルーティング・テーブル・エント
リから、ネットワーク・インタフェースのネットワーク
・アドレス(71)を求める(4200)。TCPプロ
トコルを用いてEnd-to-Endのデータ通信を行うのに必要
なTCB(Transmission control Block)を作成する
(4210)。TCBに記す送信元アドレスには420
0で求めたネットワーク・アドレスを指定し、宛先アド
レスにはクライアント3101のネットワーク・アドレ
スを指定する。TCBを作成すると、クライアント31
01にACKフラグ付TCPパケットと、ネットワーク
・インタフェースのネットワーク・アドレスをパラメタ
として付加したSYNフラグ付TCPパケットを送り
(4220)、SYN RECVD状態になる(350
2)。
【0048】図11に移る。SYN RECVD状態に
おいて、クライアント3101からACKフラグ付TC
Pパケットを受け取ると(4250)、コネクション確
立済み通信路の管理テーブル(図13におけるテーブル
3820)に、当該ネットワーク・インタフェース・ア
ドレスとクライアント3101のネットワーク・アドレ
スを登録し(4260)、ESTABLISHED状態
になる(3503)。以降、クライアントとサーバ間
で、QOSに従ったデータ通信を行う。
【0049】図12を用いて、クライアント3101の
詳細な処理手順を示す。CLOSED状態(3550)
のクライアントでは、アプリケーション・プログラム
が、サーバ3000の複数のネットワーク・インタフェ
ースの中の一つのネットワーク・アドレスnet1.A(90
51)とQOS(9057)を指定して、connect()コ
ールを実行する(9058)。クライアント上のOS
は、connect()コールを契機にして通信路開設要求を受
ける(4300)。OSはまず、net1.Aとの通信のため
に必要なTCB(Transmission Control Block)を作成
し、connect()コールで指定されたQOS値をパラメタ
とする、SYNフラグ付TCPパケットを、サーバ30
00のネットワーク・インタフェースの中の一つである
net1.A宛てに送る(4310)。SYNフラグ付TCP
パケットを送ると、クライアント3101はSYN S
ENT状態になり、サーバ3000から送られてくるA
CKフラグ付のTCPパケットを待つ(3551)。A
CKおよび、SYNフラグ付TCPパケットを受け取る
と、SYNのパラメタである、サーバ3000のネット
ワーク・インタフェースのアドレスのひとつであるネッ
トワーク・アドレスnet1.Bがnet1.Aと等しいかどうかを
調べる(4320)。もし、等しい場合には、net1.A宛
てでサーバ3000へACKフラグ付TCPパケットを
送る(4345)。もし、不一致の場合は、サーバ30
00がネットワーク・インタフェースを変更したものと
みなし、4310で作成したnet1.Aとの通信のためのT
CBを削除し、新たにnet1.Bとの通信のためのTCBを
作成する(4330)。TCBを作成後、net1.B宛てで
サーバ3000へACKフラグ付TCPパケットを送る
(4340)。ACKを返すと、次に、クライアントの
中のコネクション確立済み通信路管理テーブルに、サー
バ3000のネットワーク・インタフェースのネットワ
ーク・アドレスnet1.Bと、クライアント3101のネッ
トワーク・アドレスnet11.10を登録し(4350)、E
STABLISHED状態になる(3552)。以降、
クライアントとサーバ間で、QOSに従ったデータ通信
を行う。
【0050】次に、図7、図8を用いて、コネクション
確立方法におけるLANスイッチ3050の動作を説明
する。
【0051】図7において、3011、3012、30
13、3014、3074は、図3と同じく通信路を表
す。3011a、3011bは通信路3011に設定さ
れるバーチャル・チャネルを示す。図7では、図面の都
合上、2本のバーチャル・チャネルを記しているだけで
あるが、通常はもっと多くの本数のバーチャル・チャネ
ルが存在する。また、バーチャル・チャネルはあらかじ
め設定される場合もあるが、動的に生成されてもよい。
3012a、3012bは通信路3012に設定される
バーチャル・チャネル、3013a、3013bは通信
路3013に設定されるバーチャル・チャネル、301
4a、3014bは通信路3014に設定されるバーチ
ャル・チャネル、3074a、3074b、3074
c、3074d、3074e、3074fは通信路30
74に設定されるバーチャル・チャネルである。通信路
3074において、バーチャル・チャネル3074a
(VC=11)、3074b(VC=12)、3074
c(VC=13)、3074d(VC=14)は、通信
路3071のバーチャル・チャネルに接続され、バーチ
ャル・チャネル3074e(VC=21)と3074f
(VC=22)は、通信路3072のバーチャル・チャ
ネルに接続される。
【0052】図7において、5000は、サーバ300
0の各ネットワーク・インタフェースのネットワーク・
アドレスとLANスイッチ3050のポート番号の変換
テーブル、5010(a)はLANスイッチ3050の
各ポートとバーチャル・チャネルの組が、相互にどのよ
うに接続されるかを示すスイッチング・テーブルであ
る。変換テーブル5000によって、ネットワーク・ア
ドレスをLANスイッチ3050の物理アドレスに変換
し、パケットをネットワーク・アドレスで指定されるポ
ートへ送出することができる。スイッチング・テーブル
5010は、コネクションが設立されるときに設定され
るテーブルである。図7において、5100、520
0、5300、5400、5500は、LANスイッチ
3050のポート#0、#1、#2、#3、#4のQO
S管理テーブルのエントリを示す。各エントリのフォー
マットは、図1の90ないし97と同じである。サーバ
3000が、LANスイッチ3050のポート#0のQ
OSも管理することによって、サーバ3000がクライ
アントとしてコネクションを設立するときや、サーバ3
000がゲートウェイとしてルーティングを行う場合、
図3における公衆網3070に接続される複数のゲート
ウェイの中で、どのゲートウェイへルーティングする
と、クライアントのQOSを満たすことができるかを判
断することができる。つまり、図9、図10、図11を
用いて述べた実施形態例では、ネットワーク・インタフ
ェース3001、3002、3003、3004のQO
S管理テーブル・エントリ5110、5120、513
0、5140から、クライアント3101とのコネクシ
ョン設立時の経路を決定したが、さらにLANスイッチ
3050のポート#0のQOS管理テーブル・エントリ
5100も一緒に用いて、LANスイッチ3050のポ
ート#0のバーチャル・チャネルと、ポート#1、2、
3のバーチャル・チャネルのスイッチングの設定も考慮
して、サーバ3000とLANスイッチ3050との経
路を選択することができる。その判断のための処理手順
は、図9、図10、図11と同様である。
【0053】図8を用いて、コネクション確立方法にお
けるLANスイッチ3050の動作を説明する。クライ
アント3101からサーバ3000のnet1.1宛のSYN
フラグ付TCPパケットが、LANスイッチ3050の
ポート#0、VC=11(3074a)へルーティング
されて届いた場合(5500)について説明する。LA
Nスイッチ3050は、変換テーブル5000を調べ、
net1.1宛のSYNフラグ付TCPパケットの送出先ポー
ト#が1であることを求める(5510)。次に、ポー
ト#1のバーチャル・チャネルの中からVC=1(30
11a)を選択し、(ポート#0、VC=11)と(ポ
ート#1、VC=1)が相互にスイッチングされるよう
に、アドレス・スイッチング・テーブル5010(a)
に登録する(5520)。今、サーバ3000がネット
ワーク・インタフェースとして通信路3013(ネット
ワーク・アドレスnet1.3)を選択した場合、サーバ30
00は、LANスイッチ3050に対して、アドレス・
スイッチング・テーブル5010に登録されている(ポ
ート#0、VC=11)と(ポート#1、VC=1)の
対応を記したエントリを削除させ、さらに(ポート#
0、VC=11)と(ポート#3、VC=1)の対応を
記したエントリを追加させる(5530)。LANスイ
ッチ3050は、アドレス・スイッチング・テーブル5
010(a)の内容を変更する(5540)。変更の結
果、テーブル5010(a)は、テーブル5010
(b)に示すとおりに更新される。この結果、サーバ3
000は通信路3013を使って、クライアント310
1へ、ACKフラグ付TCPパケットと、ネットワーク
・アドレスnet1.3がパラメタとして付随したSYNフラ
グ付TCPパケットを、送ることができる(555
0)。つまり、サーバ3000が(ポート#3、VC=
1)へ送り出したパケットは、クライアント3101が
SYNフラグ付TCPパケットをサーバ3000に送る
ときに使用した(ポート#0、VC=11)へスイッチ
ングされるため、クライアント3101へ届くことがで
きるだけでなく、クライアント3010からLANスイ
ッチ3050までに確立された経路をそのまま使用する
ことができる。クライアント3101は、サーバ300
0に対して、(ポート#0、VC=11)からネットワ
ーク・アドレスnet1.3に対応する(ポート#3、VC=
1)へ、ACKフラグ付TCPパケットを送出し(55
60)、コネクションが確立される(5570)。
【0054】以上のように、上記の本発明の実施形態例
1によると、クライアントが要求するQOSとサーバの
負荷に応じて、サーバは複数のネットワーク・インタフ
ェースの中から、条件に見合ったネットワーク・インタ
フェースを選択し、データ通信を行うことができる。
【0055】また、上記の実施形態例1によると、クラ
イアント3101は、コネクション確立時にはサーバ3
000の全てのネットワーク・インタフェースのネット
ワーク・アドレスを知らなくとも、クライアントが要求
するQOSに応じたネットワーク・インタフェースを用
いてコネクションを確立でき、データ通信を行うことが
できる。上記の実施形態例1によると、サーバ3000
からの指示にしたがって、LANスイッチ3050の中
のスイッチング・テーブルを更新できるため、サーバ3
000の公衆網3070に接続されるネットワーク・ア
ドレスは、ネットワーク・インタフェース3001のア
ドレスをただ一つ割り当てておくだけでも、異なる経路
を用いて、クライアントとデータ通信を行うことができ
る。
【0056】また、上記の実施形態例1ではネットワー
ク・インタフェースを選択する手順のひとつを示したに
過ぎないが、QOS管理テーブルの情報の使い方によっ
て、種々の選択手順を考えることができる。
【0057】(2)実施形態例2 次に、本発明の実施形態例2である、クライアント31
01とサーバ3000との間の並列コネクションの確立
方法について、図5、図1、図18、図19、図20、
図21を用いて説明する。
【0058】まず、図5を用いて、おおまかな処理の流
れを示す。
【0059】図5において、3500、3501、35
02、3503、3550、3551、3552は、T
CPプロトコルの状態を示し、3590、3591、3
592、3593、3594はクライアント3101と
サーバ3000との間でコネクションを確立する3ウェ
イ・ハンドシェークを示す。
【0060】CLOSED状態3500のサーバ300
0は、図11に示したプログラム中のlisten()コールが
実行されると(9007)LISTEN状態になり、ク
ライアントからのコネクション開設要求を待つ(350
1)。CLOSED状態3550のクライアント310
1は、図16に示したプログラム中のconnect()コール
が実行されると(9058)、サーバ3000のネット
ワーク・インタフェースのひとつであるネットワーク・
アドレスnet1.1とのデータ通信を制御するために必要な
制御ブロックTCB(Transmission Control Block)を
作成する(3580)。次に、net1.1に対してコネクシ
ョン開設を要求するために(3581)、SYNフラグ
を立てたTCPパケットをサーバ3000へ送る。この
とき、クライアント3101は、コネクションのQOS
(サービス品質)をSYNフラグ付TCPパケットのパ
ラメタとしてサーバ3000へ送付する(3590)。
QOSは、図16の9052に示したように、サービス
クラス、ピークバンド幅(Mbps)、平均バンド幅
(Mbps)の3項目で構成される。クライアント31
01は、SYNフラグ付TCPパケットを送ると、SY
N SENT状態になる(3551)。
【0061】LISTEN状態のサーバ3000は、Q
OS(サービス品質)付きのTCPパケットを受け取る
と、クライアント3101のQOSを満たすネットワー
ク・インタフェースを探す。ひとつのネットワーク・イ
ンタフェースだけではクライアント3101が要求する
QOSを満たすことができない場合には、複数のネット
ワーク・インタフェースを選択し、それらの合計値でク
ライアント3101が要求するQOSを満たすようにす
る。複数のネットワーク・インタフェースを選択する手
順の実施形態例は後述する。いま、図3におけるネット
ワーク・インタフェース3002、3003、3004
の3個(ネットワーク・アドレスnet1.2, net1.3, net
1.4)を選択した場合について述べる(3520)。サ
ーバ3000は、ネットワーク・アドレスnet1.2, net
1.3, net1.4に対応する3個のTCB(Transmission Co
ntrol Block)を作成する(3521)。サーバ300
0は、3個のTCBを作成した後、クライアント310
1に対して、クライアントからのSYNに対するACK
フラグの付いたTCPパケットと、SYNフラグの付い
たTCPパケットをクライアント3101に送り(35
91)、これらのTCBをSYN RECVD状態にす
る(3502)。SYNフラグには、パラメタとしてネ
ットワーク・アドレスの個数3、ネットワーク・アドレ
スnet1.2, net1.3, net1.4、および各経路に割り当てら
れたQOS(平均バンド幅)を添付する。クライアント
3101は、パラメタが付随したSYNフラグ付きTC
Pパケットを受け取ると、net1.1用に作成したTCBを
削除し(3582)、net1.2, net1.3, net1.4に対応し
た3個のTCBを作成する(3583)。次に、クライ
アント3101はnet1.2, net1.3, net1.4に対して、そ
れぞれACKフラグ付TCPパケットを送り(359
2、3593、3594)、ESTABLISHED状
態となる(3552)。サーバ3000も3個のACK
を受け取るとESTABLISHED状態となり(35
03)、3本のコネクションが確立される。以降、クラ
イアントとサーバ間では、3本のコネクションを用い
て、SEND/RECEIVEによる並列通信を行うこ
とができる(3595)。
【0062】並列通信のための分割・統合の方法の実施
形態例を図17を用いて説明する。図17では、サーバ
3000からクライアント3101へデータを送る場合
について示す。6030、6031、6032、603
3はサーバ3000内のバッファ、6130、613
1、6132、6133はクライアント3101内のバ
ッファ、6012、6013、6014はサーバ300
0からネットワーク6070に接続される通信路(図3
における通信路3012、3013、3014に相当す
る)、6110はクライアント3101からネットワー
ク6070に接続される通信路(図3における通信路3
110に相当する)を示す。今、アプリケーションから
データをSENDすると、そのデータはTCPプロトコ
ル層のバッファ6030に一時的に保持される。603
0内のデータは、アプリケーションが指定するセグメン
ト長ごとに3つに分割し、バッファ6031、603
2、6033に、3つの通信路に割り当てられたバンド
幅に比例した個数ずつ分配する。例えば、バンド幅の比
率が2:1:1の場合には、6031、6031、60
32、6033の順序で振り分け、各バッファは一時的
にデータを保持する。TCP層では、サーバ3000の
バッファ6031、6032、6033と、クライアン
ト3101のバッファ6131、6132、6133を
1対1で対応させ、それぞれが独立したコネクションと
して、互いに独立にサーバ3000からクライアント3
101へデータを送る(SENDする)。つまり、バッ
ファ6031、6032、6033のデータは、それぞ
れ通信路6012、6013、6014から通信路61
10へ送られる。クライアント3101内のバッファ6
131、6132、6133へ送られてきたデータは、
ひとつのデータに統合し、バッファ6130へ送り、ク
ライアント3101上のアプリケーションがデータを受
け取る。以上のように、TCP層とアプリケーション層
との間で、データの分割と統合を行うため、アプリケー
ション・プログラムには並列通信を隠蔽できる。そのた
め、シングル通信と同じプログラムを用いて並列通信を
実現し、クライアントが要求するQOSを満たすことが
できる。
【0063】また、分割と統合のアルゴリズムは、次の
ようであってもよい。バッファ6030内のデータをセ
グメント長ごとに分割するときに、各セグメントにシリ
アル番号を付加する。3つの通信路の負荷状態は、動的
に変化するため、バッファ6030からバッファ603
1、6032、6033へセグメントを分配するときに
は、バッファ6031、6032、6033の中で未送
付のセグメント数が最少のバッファを選択し、未送付の
セグメント数が等しければ、先頭のセグメントのシリア
ル番号が一番大きなバッファを選択することによって、
最もSEND処理が進行している通信路に付加を加える
ことができるため、動的に負荷を分散させ、より高速な
通信が可能になる。
【0064】以上図5を用いて示した本発明の実施形態
例2の詳細を、図1、図18、図19、図20、図21
を用いて説明する。図18、図19、図20は、LIS
TEN状態(3501)でクライアントからのコネクシ
ョン設立要求を待っている状態以降のサーバ3000の
処理のフローチャート図、図21はクライアント310
1の処理のフローチャート図を示す。なお、図18は、
図9と同じフローチャート図のため、説明を省略する。
【0065】図19において、図18の4050で記録
したQOS管理テーブル・エントリへのポインタをたど
り、QOS管理テーブル・エントリ中の記録を調べ、次
の2条件を満たすサーバ3000のネットワーク・イン
タフェースを選択する。
【0066】1)クライアント3101が要求する平均
バンド幅が、最大バンド幅(90)から予約済みバンド
幅の合計(95)を引いた値よりも小さいこと、 2)クライアント3101が要求するピーク・バンド幅
が、未予約のバーチャル・チャネル(93)のバンド幅
の中で、最大のものよりも小さいこと(4070)、の
2条件である。
【0067】もし該当するネットワーク・インタフェー
スがない場合には、複数のネットワーク・インタフェー
スを選択し、各インタフェースの合計値がクライアント
3101が要求するQOSを満たすようにする。つま
り、4050で記録したQOS管理テーブル・エントリ
へのポインタをたどり、QOS管理テーブル・エントリ
中の記録を調べ、次の2条件を満たすサーバ3000の
ネットワーク・インタフェースを選択する。
【0068】1)クライアント3101が要求する平均
バンド幅が、選択した複数個のネットワーク・インタフ
ェースの最大バンド幅(90)の合計から、選択した複
数個のネットワーク・インタフェースの予約済みバンド
幅の合計(95)の合計を引いた値よりも小さいこと、 2)選択した複数個のネットワーク・インタフェースの
未予約のバーチャル・チャネル(93)の中でバンド幅
が最大のバーチャル・チャネルを1本ずつ選び、それら
の合計よりもクライアント3101が要求するピーク・
バンド幅が小さいこと(4100)、の2条件である。
【0069】複数個のネットワーク・インタフェースを
用いても、クライアント3101の要求を満たすことが
できない場合には、複数個のネットワーク・インタフェ
ースは用いずに、最近一分間のピーク転送量(96)が
最小のネットワーク・インタフェースを選択する(41
10)。図19や図5には示していないが、クライアン
ト3101の要求を満たすことができない場合には、サ
ーバ3100はSYNSENT状態のクライアント31
01に対して、クライアント3101の要求を満たすこ
とができない旨を、ACKフラグ付TCPパケットのパ
ラメタとして伝え、クライアント3101とQOSの協
議を行い、クライアント3101がQOSを指定し直し
て、再びSYNフラグ付TCPパケットをサーバ300
0に送り(3590)、新しいQOSに基づいてサーバ
3000がネットワーク・インタフェースを探す(35
20)、というサーバ3000とクライアント3101
との間の協議が行われてもよい。
【0070】再び図19へ戻って、4070において、
もし該当するネットワーク・インタフェースがある場合
には、条件を満たすネットワーク・インタフェースの中
から、予約済みバンド幅が最小のインタフェースを選択
する(4085)。以上、4085、4100、411
0のいずれかで選択した全てのネットワーク・インタフ
ェースのQOS管理テーブル・エントリの予約済バンド
幅(95)に、各ネットワーク・インタフェースに分割
して割り当てたクライアント3101が要求している平
均バンド幅の各ネットワーク・インタフェース担当分の
値を加える(4120)。選択したネットワーク・イン
タフェースのアドレスを含むルーティング・テーブル・
エントリを以下では用いる。
【0071】図20に移る。選択したルーティング・テ
ーブル・エントリから、全てのネットワーク・インタフ
ェースのネットワーク・アドレス(71)を求める(4
500)。次に、TCPプロトコルを用いてEnd-to-End
のデータ通信を行うのに必要なTCB(Transmission c
ontrol Block)を全ての選択したネットワーク・インタ
フェースに対応して作成する(4510)。各TCBに
記す送信元アドレスには4500で求めたネットワーク
・アドレスを1つずつ指定し、宛先アドレスにはクライ
アント3101のネットワーク・アドレスnet11.10を指
定する。TCBを作成すると、クライアント3101に
ACKフラグ付TCPパケットと、選択したネットワー
ク・インタフェースの個数、全てのネットワーク・アド
レス、各ネットワーク・インタフェースに割り当てた平
均バンド幅をパラメタとして付加したSYNフラグ付T
CPパケットを送り(4520)、SYN RECVD
状態になる(3502)。サーバ3000は、ACKフ
ラグ付TCPパケットとSYNフラグ付TCPパケット
を、サーバ3000がクライアント3101からSYN
フラグ付TCPパケットを受け取ったのと同じネットワ
ーク・インタフェースを用いて、クライアント3101
に送付する。SYN RECVD状態において、クライ
アント3101から、4520のSYNフラグ付TCP
パケットに添付した全てのネットワーク・アドレスに対
応するネットワーク・インタフェースにおいて、ACK
フラグ付TCPパケットを受け取ると(4530)、コ
ネクション確立済み通信路の管理テーブルに、当該全て
のネットワーク・インタフェース・アドレスとクライア
ント3101のネットワーク・アドレスを登録し(45
40)、ESTABLISHED状態になる(350
3)。以降、クライアントとサーバ間で、QOSに従っ
た並列データ通信を行う。
【0072】図21を用いて、クライアント3101の
詳細な処理手順を示す。SYN SENT状態3551
になるまでは、図12と同じフローチャート図のため省
略する。
【0073】SYN SENT状態のクライアント31
01は、サーバ3000から送られてくるACKフラグ
付のTCPパケットを待つ(3551)。ACKおよ
び、SYNフラグ付TCPパケットを受け取ると、SY
Nのパラメタである、選択されたネットワーク・インタ
フェースの個数を調べる(4600)。0個の場合には
net1.A宛てでサーバ3000へACKフラグ付TCPパ
ケットを送る(4640)。1個の場合には、パラメタ
で指定されているネットワーク・アドレスが、net1.Aと
等しいかどうかを調べる(4610)。等しい場合に
は、net1.A宛てでサーバ3000へACKフラグ付TC
Pパケットを送る(4640)。不一致の場合、もしく
は、4600においてSYNのパラメタの値が2個以上
の場合には、サーバ3000がネットワーク・インタフ
ェースを変更したものとみなし、4310で作成したne
t1.Aとの通信のためのTCBを削除し、新たにSYNの
パラメタで指定されている全てのネットワーク・インタ
フェースと通信を行えるように、各々のネットワーク・
アドレスに対応するTCBを作成する(4620)。A
TMのような帯域予約可能なネットワークの場合には、
クライアント3101はサーバから知らされた3個のQ
OS(平均バンド幅)にしたがって、3本のバーチャル
・チャネルを選択して、3本のコネクションの確立を図
る。次に、SYNのパラメタで指定されていたネットワ
ーク・アドレスの各々宛てに、ACKフラグ付TCPパ
ケットを送る(4630)。ATMのようなネットワー
クの場合には、3本のバーチャル・チャネルのそれぞれ
からACKフラグ付TCPパケットを送る。ACKを返
すと、次に、クライアントの中のコネクション確立済み
通信路管理テーブルに、SYNのパラメタで指定されて
いたサーバ3000の全てのネットワーク・アドレス
と、クライアント3101のネットワーク・アドレスne
t11.10を登録し(4650)、ESTABLISHED
状態になる(3552)。以降、クライアントとサーバ
間で、QOSに従った並列データ通信を行う。
【0074】この時のサーバ3100とクライアント3
101のコネクション確立済み通信路管理テーブルを、
それぞれ図13と図14に示す。図13において、38
20がコネクション確立済み通信路管理テーブルを示
し、3821、3822、3823の各エントリによっ
て、3本のコネクションが確立されていることを示す。
同様に、図14において、3910がコネクション確立
済み通信路管理テーブルを示し、3911、3912、
3913の各エントリによって、3本のコネクションが
確立されていることを示す。このようにして、End-to-E
ndの確立済みの通信路が管理される。
【0075】次に、図22、図23を用いて、並列コネ
クション確立方法におけるLANスイッチ3050の動
作を説明する。図22は、アドレス・スイッチング・テ
ーブルを除いて図7と同じであるため、図の説明は省略
する。図22において、5011(a)は、クライアン
ト3101がサーバ3000に対して、SYNフラグ付
TCPパケットを送出した時のアドレス・スイッチング
・テーブルを示し、5011(b)は、クライアント3
101がサーバ3000に対して、ACKフラグ付TC
Pパケットを送出してコネクションが確立したあとのア
ドレス・スイッチング・テーブルを示す。
【0076】図23を用いて、LANスイッチ3050
の動作を説明する。クライアント3101からサーバ3
000のnet1.1宛のSYNフラグ付TCPパケットが、
LANスイッチ3050のポート#0、VC=11(3
074a)へルーティングされて届いた場合(570
0)について説明する。LANスイッチ3050は、変
換テーブル5000を調べ、net1.1宛のSYNフラグ付
TCPパケットの送出先ポート#が1であることを求め
る(5710)。次に、ポート#1のバーチャル・チャ
ネルの中からVC=1(3011a)を選択し、(ポー
ト#0、VC=11)と(ポート#1、VC=1)が相
互にスイッチングされるように、アドレス・スイッチン
グ・テーブル5011(a)に登録する(5720)。
今、サーバ3000がクライアント3101のコネクシ
ョン設立要求に対して、QOS管理テーブル・エントリ
5110、5120、5130、5140を検索し、ネ
ットワーク・インタフェースとして通信路3012、3
013、3014(ネットワーク・アドレスnet1.2, ne
t1.3 net1.4)の3本を選択した場合について述べる。
サーバ3000は、まず、3本の通信路を使用できるよ
うにするために、LANスイッチ3050に対して(ポ
ート#2、VC=1)、(ポート#3、VC=1)、
(ポート#4、VC=1)の3つのバーチャル・チャネ
ルをリザーブする(5730)。次に、サーバ3000
は、クライアント3101に対して、LANスイッチ3
050の(ポート#1、VC=1)から(ポート#0、
VC=11)を経由して、ACKフラグ付TCPパケッ
トと、パラメタの付いたSYNフラグ付TCPパケット
を返す。SYNフラグには、選択したネットワーク・イ
ンタフェースのネットワーク・アドレスと各ネットワー
ク・インタフェースが使用できる平均バンド幅をQOS
として付加する(5740)。その後、LANスイッチ
3050に対して、(ポート#1、VC=1)と(ポー
ト#0、VC=11)とのスイッチングを指定するエン
トリを削除するように要求し、この経路を他者が使用で
きるように解放する(5750)。
【0077】クライアント3101は、SYNフラグ付
TCPパケットを受け、選択されたネットワーク・イン
タフェースのネットワーク・アドレスと、各ネットワー
ク・インタフェースが使用できる平均バンド幅を知る
と、各ネットワーク・インタフェースに対して、ACK
を返す。ACKを返す過程で、平均バンド幅の条件を満
たすように、クライアント3101からLANスイッチ
3050に到るまでの経路のバーチャル・チャネルを新
たに確保する。 今、LANスイッチ3050へは、
(ポート#0、VC=12)、(ポート#0、VC=1
3)、(ポート#0、VC=14)の3つの経路で到達
したとする(5760)。LANスイッチ3050は、
3つのACKフラグ付TCPパケットの宛先net1.2, ne
t1.3, net1.4とポート番号変換テーブル5000より、
ネットワーク・インタフェースへ到達するポート番号#
2、#3、#4を得る。LANスイッチ3050は、5
730で予約されている(ポート#2、VC=1)、
(ポート#3、VC=1)、(ポート#4、VC=1)
と、それぞれ(ポート#0、VC=12)、(ポート#
0、VC=13)、(ポート#0、VC=14)をスイ
ッチングするように、アドレス・スイッチング・テーブ
ルのエントリを登録する(5770)。その結果、アド
レス・スイッチング・テーブルは5011(b)に示す
ように更新され(5780)、3本のコネクションが確
立されて(5790)、並列のSEND/RECEIV
Eによるデータ通信が行われる。
【0078】以上のように、上記の本発明の実施形態例
2によると、クライアントが要求するQOSとサーバの
負荷に応じて、サーバは複数のネットワーク・インタフ
ェースの中から、条件に見合ったネットワーク・インタ
フェースを複数個選択し、並列データ通信を行える。
【0079】また、上記の実施形態例2によると、クラ
イアント3101は、コネクション確立時にはサーバ3
000の全てのネットワーク・インタフェースのネット
ワーク・アドレスを知らなくとも、クライアントが要求
するQOSに応じたネットワーク・インタフェースを用
いてコネクションを確立でき、並列データ通信を行うこ
とができる。
【0080】また、上記の実施形態例2ではネットワー
ク・インタフェースを選択する手順のひとつを示したに
過ぎないが、QOS管理テーブルの情報の使い方によっ
て、種々の選択手順を考えることができる。
【0081】(3)実施形態例3 上記の実施形態例2では、サーバ3000のネットワー
ク・インタフェース3001、3002、3003、3
004には、それぞれ固有のネットワーク・アドレスが
割り当てられていたが、図6と図24に示す実施形態例
によれば、単一のネットワーク・アドレスをサーバ30
00に割り当てるだけで、ネットワーク・インタフェー
ス3001、3002、3003、3004を用いて並
列通信を行うことができる。
【0082】図24において、3000はサーバ、30
50はLANスイッチ、3011、3012、301
3、3014、3074はそれぞれポート#1、#2、
#3、#4、#0の通信路を表し、図3の同じ番号と対
応する。7000は並列通信フラグ検出回路、7010
はパケット・スイッチング回路、7100はパケットの
ヘッダ、7110は送信元ネットワーク・アドレス、7
120は宛先ネットワーク・アドレス、7130は並列
通信フラグ、7135はサーバ3000のポート番号を
示す。並列通信フラグ7130とポート番号7135は
パケットのオプションフィールドに追加した項目であ
る。ネットワーク・アドレスnet1.1は、ポート#1ない
し4の中で、ポート#1にのみ割り当てられている。
【0083】図6において、3500、3501、35
02、3503、3550、3551、3552は、T
CPプロトコルの状態を示し、3690、3691、3
692、3693、3694はクライアント3101と
サーバ3000との間でコネクションを確立する3ウェ
イ・ハンドシェークを示す。図6を用いて、第2の並列
コネクション確立方法の処理の流れを示す。サーバ30
00がLISTEN状態(3501)になるまでと、ク
ライアント3101がSYN SENT状態(356
1)になるまでは、図5と同じであるため説明を省略す
る。
【0084】LISTEN状態(3501)のサーバ3
000は、QOS(サービス品質)付きのTCPパケッ
トをクライアント3101から受け取ると(369
0)、クライアント3101のQOSを満たすネットワ
ーク・インタフェースを探す。ひとつのネットワーク・
インタフェースだけではクライアント3101が要求す
るQOSを満たすことができない場合には、複数のネッ
トワーク・インタフェースを選択し、それらの合計値で
クライアント3101が要求するQOSを満たすように
する。いま、図3におけるネットワーク・インタフェー
ス3002、3003、3004の3個(ポート番号
2、3、4)を選択した場合について述べる(362
0)。サーバ3000は、ポート番号2、3、4に対応
する3個のTCB(Transmission Control Block)を作
成する(3621)。サーバ3000は、3個のTCB
を作成した後、クライアント3101に対して、クライ
アントからのSYNに対するACKフラグの付いたTC
Pパケットと、SYNフラグの付いたTCPパケットを
クライアント3101に送り(3691)、このTCB
をSYN RECVD状態にする(3502)。SYN
フラグには、パラメタとしてポート番号の個数3、ポー
ト番号2、3、4)を添付する。クライアント3101
は、パラメタが付随したSYNフラグ付きTCPパケッ
トを受け取ると、net1.1用に作成したTCBを削除し
(3682)、net1.1かつポート番号2、net1.1かつポ
ート番号3、net1.1かつポート番号4に対応した3個の
TCBを作成する(3683)。次に、クライアント3
101はnet1.1かつポート番号2、net1.1かつポート番
号3、net1.1かつポート番号4に対して、それぞれAC
Kフラグ付TCPパケットを送り(3692、369
3、3694)、ESTABLISHED状態となる
(3552)。サーバ3000も3個のACKを受け取
るとESTABLISHED状態となり(3503)、
3本のコネクションが確立される。以降、クライアント
とサーバ間では、3本のコネクションを用いて、SEN
D/RECEIVEによる並列通信を行うことができる
(3695)。
【0085】図24に、”net1.1かつポート番号2”を
表現できるパケットのヘッダ形式を示す。図24におい
て、複数のポートを並列に用いて通信を行う場合には、
パケットのヘッダのオプション・フィールドのなかの並
列通信フラグ7130を”1”にセットし、同じくオプ
ション・フィールドのなかのポート番号7135に”
2”を設定する。LANスイッチ3050の中の並列通
信フラグ検出回路は、パケットのヘッダのなかの並列通
信フラグが1であることを検出すると、このパケットを
パケット・スイッチング回路7010へ送り、パケット
のヘッダのなかのポート番号を検出して、指定されたポ
ート番号のネットワーク・インタフェースを用いて、サ
ーバ3000にパケットを送る。以上のように、クライ
アント3101からサーバ3000に対して送り出すパ
ケットに関しては、ネットワーク・インタフェース30
01、3002、3003、3004を用いて並列通信
を行うことができる。
【0086】一方、サーバ3000からクライアント3
101に対して送り出すパケットに関しては、図1で示
したルーティング・テーブル・エントリの中のネットワ
ーク・インタフェースのネットワーク・アドレスを、ポ
ート番号として設定することによって、単一のネットワ
ーク・アドレスをサーバ3000に割り当てるだけで、
ネットワーク・インタフェース3001、3002、3
003、3004を用いて並列通信を行うことができ
る。
【0087】以上のように、パケットのヘッダ形式を拡
張することによって、単一のネットワーク・アドレスを
サーバ3000に割り当てるだけで、クライアント31
01とサーバ3000は、ネットワーク・インタフェー
ス3001、3002、3003、3004を用いて並
列通信を行うことができる。
【0088】上記(1)ないし(3)の実施形態例で
は、TCP/IPプロトコル層におけるクライアントと
サーバの間のコネクション確立方式について述べ、ルー
ティング・テーブルにネットワーク・インタフェースの
ネットワーク・アドレスのカラム(71)を追加するこ
とによって、サーバはクライアントのQOS要求を満た
すネットワーク・インタフェースを選択できるようにな
った。
【0089】しかし、図25、図26に示す実施形態例
によれば、図25に示すコネクション管理テーブルを用
いることによって、クライアントのQOS要求を満たす
だけではなく、サーバが自らのネットワーク・インタフ
ェース間の通信処理の負荷を分散させるように、ネット
ワーク・インタフェースを選択することができる。さら
に、次のパケット送出先であるゲートウェイ・アドレス
は従来通りルーティング・テーブルを用いて求めるが、
パケットを送出するネットワーク・インタフェースは、
図25に示すコネクション管理テーブルとLANスイッ
チに接続されているネットワーク・インタフェース・ア
ドレスを記した登録テーブルを用いることによって、ク
ライアントがサーバに接続を要求したネットワーク・イ
ンタフェースを選択できるようになる。その結果、クラ
イアントがサーバに接続を要求したネットワーク・イン
タフェースを使った双方向通信が可能になる。
【0090】図25は、図3のサーバ3000上にある
コネクション管理テーブルを示す。図25において、8
050,8051,8052はコネクション管理テーブ
ルの各エントリを示し、サーバ3000がクライアント
との間で開設しているコネクションに関する情報を保持
する。コネクション管理テーブル・エントリ8050に
おいて、8001は通信で使用しているプロトコル名、
8002はクライアントがサーバに対して接続を要求し
たサーバのネットワーク・インタフェースのネットワー
ク・アドレス、8003はサーバがコネクションを識別
するためのポート番号、8004はクライアントのネッ
トワーク・アドレス、8005はクライアント側のポー
ト番号、8006は図4に示したようなCLOSED、
LISTEN、ESTABLISHEDのようなコネク
ションの状態を示し、8006は次のコネクション管理
テーブル・エントリへのポインタを示す。コネクション
管理テーブルのエントリは、コネクション確立時に生成
される。8040は、コネクション管理テーブルの先頭
のエントリへのポインタを示す。
【0091】クライアントとサーバの間で通信を行うと
きのコネクション識別子(ファイル記述子)8010な
いし8012に対応して、コネクション管理テーブルの
当該エントリへのポインタ8015ないし8017があ
る。ポインタ8015ないし8017は、各々のコネク
ション管理テーブルの各エントリ8050ないし805
2を指す。
【0092】8020は、LANスイッチに接続されて
いるネットワーク・インタフェース・アドレスの登録テ
ーブルを示す。エントリ8021ないし8024に登録
されているネットワーク・インタフェース・アドレスの
ネットワーク・インタフェース3001ないし3004
はいずれも、図3に示すようにLANスイッチ3050
に接続される。それゆえ、8021ないし8024のい
ずれのネットワーク・インタフェースからパケットを送
出しても、同じネットワークにパケットをルーティング
できる。したがって、ネットワーク・インタフェース3
001ないし3004の負荷を分散させるようにネット
ワーク・インタフェースを選択すれば、高いトータル・
スループットを得ることができる。以下、詳細な実施形
態例を記す。
【0093】図26のフローチャートは、クライアント
3101とサーバ3000の間の通信をTCP/IPプ
ロトコル層の上位で実現する、本発明の並列ネットワー
ク接続方式の1実施形態例を示す。
【0094】クライアント3101は、コネクション開
設要求をサーバ3000に送る(8111)。サーバ3
000は、コネクション開設要求を待ち、クライアント
3101からのコネクション開設要求を受け付ける(8
101)。クライアント3101は、QOSパラメタを
サーバ3000に送る(8113)。このとき、QOS
パラメタとして、複数のネットワーク・インタフェース
を使用する場合にはネットワーク・インタフェースの数
を指定したり、コネクションに対するピーク・バンド幅
や平均バンド幅を指定する。サーバ3000はクライア
ント3101からQOSパラメタを受け取ると、図3に
示すLANスイッチ3050からクライアント3101
へルーティング可能かどうかを調べ、ルーティング可能
ならば、図25に示したコネクション管理テーブルのエ
ントリをたどって、ESTABLISHED状態のコネ
クション数が最小のネットワーク・インタフェースを選
択する(8103)。LANスイッチ3050からクラ
イアント3101へルーティング可能かどうかは、図2
に示した従来のルーティング・テーブル100ないし1
50を、クライアント3101のネットワーク・アドレ
スをキーにして検索し、得られたゲートウェイ・アドレ
スが、LANスイッチ3050のネットワーク・アドレ
スと接続されるならば、ルーティング可能であると判断
できる。
【0095】LANスイッチ3050からクライアント
3101へルーティング可能な場合について、図25を
用いてネットワーク・インタフェースの選択手順を詳細
に説明する。コネクション管理テーブルの先頭エントリ
へのポインタ8040から、コネクション管理テーブル
・エントリ8050をアクセスする。コネクションの状
態8006がESTABLISHEDであるコネクショ
ン数をローカル・アドレス8002が等しいネットワー
ク・インタフェースごとに数える。ローカル・アドレス
8002はサーバ3000のネットワーク・インタフェ
ース・アドレスの中のいずれかと等しい。そこで、LA
Nスイッチに接続されているネットワーク・インタフェ
ース・アドレスの登録テーブル8020に登録されてい
るネットワーク・インタフェースの中から、エントリ数
が最小のネットワーク・インタフェースを求める。ま
た、実施形態例(1)と同様に、図1に示すネットワー
ク・インタフェース情報テーブル中の次エントリへのポ
インタ84を使って各エントリをたどり、QOS管理テ
ーブル・エントリへのポインタで示されるQOS管理テ
ーブル・エントリに記されている90ないし97の統計
情報にしたがって、負荷が最小のネットワーク・インタ
フェースを選択してもよい。例えば、バーチャル・チャ
ネル数94が最小のネットワーク・インタフェースを選
択したり、最近1分間の平均転送量97が最小のネット
ワーク・インタフェースを選択してもよい。
【0096】また、QOSパラメタとして、1より大き
なネットワーク・インタフェースの数が記されていた場
合には、コネクション数が少ないエントリから順々に指
定された数だけ選ぶ。
【0097】図26のフローチャートに戻る。サーバ3
000は選択したネットワーク・インタフェースのネッ
トワーク・アドレスと通信のためのポート番号をクライ
アント3101に送る(8105)。クライアント31
01はネットワーク・アドレスとポート番号を受け取る
と(8115)、通信用のsocketを生成して(811
7)、受信したサーバ3000のネットワーク・インタ
フェースに対してコネクションの開設要求を送る(81
19)。クライアントが、サーバ3000が指定したネ
ットワーク・インタフェースとコネクションを開設し直
すことによって、サーバの各ネットワーク・インタフェ
ースの負荷を分散できる。サーバ3000はクライアン
ト3101からのコネクション再開設要求を受付け(8
107)ると、通信処理の負荷分散を図るために子プロ
セスをforkする。特に並列計算機のように各ノードにネ
ットワーク・インタフェースが存在する場合には、選択
したネットワーク・インタフェースに対応する各ノード
に子プロセスをforkする(8108)。その後、クライ
アントとサーバ間でデータを送受信する(8109、8
121)。サーバがクライアントへデータを送信する時
には、当該コネクションに対応するサーバのコネクショ
ン識別子8010を用いて、コネクション管理テーブル
・エントリへのポインタ8015からコネクション管理
テーブル・エントリ8050を求めて、そのエントリ中
のローカル・アドレス8002で示されるネットワーク
・インタフェースからパケットを送出する(810
9)。その結果、クライアントがサーバに接続を要求し
たネットワーク・インタフェースを使った双方向通信が
可能になる。
【0098】以上のように、LANスイッチに接続され
ているネットワーク・インタフェース・アドレスの登録
テーブルを追加し、さらにコネクション管理テーブルの
ローカル・アドレスを用いることによって、従来のルー
ティング・テーブルを変更することなしに、クライアン
トがサーバに接続を要求したネットワーク・インタフェ
ースを使った双方向通信を行える。また、コネクション
管理テーブルのエントリ数を数えることによって、各ネ
ットワーク・インタフェースの負荷を判断し、サーバが
主体となってクライアントとの通信で使用するネットワ
ーク・インタフェースを選択することによって、通信処
理の負荷分散を図ることができるようになり、ネットワ
ーキング処理のシステム・スループットを向上できる。
【0099】
【発明の効果】以上のように、本発明によれば、複数の
ネットワーク・インタフェースを備えたサーバにおい
て、クライアントが要求するQOSに応じたネットワー
ク・インタフェースを用いて通信を行ったり、複数本の
ネットワーク・インタフェースを用いて高速かつ高効率
な並列通信を行うことができる。
【図面の簡単な説明】
【図1】本発明に係わるルーティング・テーブルとその
エントリ、ネットワーク・インタフェース情報テーブル
のエントリ、QOS(サービス品質)管理テーブルのエ
ントリの実施の形態例を示す図である。
【図2】従来のルーティング・テーブルとそのエント
リ、ネットワーク・インタフェース情報テーブルのエン
トリを示す図である。
【図3】本発明のネットワーク接続システムの全体構成
図である。
【図4】本発明のコネクション確立方法の実施の形態例
を示す図である。
【図5】本発明の並列コネクション確立方法の実施の形
態例を示す図である。
【図6】本発明の第2の並列コネクション確立方法の実
施の形態例を示す図である。
【図7】本発明のコネクション確立方法におけるLAN
スイッチの動作の実施の形態例を説明するブロック図で
ある。
【図8】本発明のコネクション確立方法におけるLAN
スイッチの動作の実施の形態例を説明するフローチャー
ト図である。
【図9】本発明のコネクション確立方法におけるサーバ
の動作の実施の形態例を説明するフローチャート図であ
る。
【図10】本発明のコネクション確立方法におけるサー
バの動作の実施の形態例を説明するフローチャート図で
ある。
【図11】本発明のコネクション確立方法におけるサー
バの動作の実施の形態例を説明するフローチャート図で
ある。
【図12】本発明のコネクション確立方法におけるクラ
イアントの動作の実施の形態例を説明するフローチャー
ト図である。
【図13】本発明のネットワーク接続方法におけるサー
バのルーティング・テーブルの実施の形態例を説明する
図である。
【図14】本発明のネットワーク接続方法におけるクラ
イアントのルーティング・テーブルを説明する図であ
る。
【図15】従来のサーバにおけるネットワーク接続を示
す図である。
【図16】アプリケーション・プログラムにおけるクラ
イアントとサーバのプログラムの実施の形態例を示す図
である。
【図17】並列通信のためのデータの分割・統合方法の
実施の形態例を示す図である。
【図18】本発明の並列コネクション確立方法における
サーバの動作の実施の形態例を説明するフローチャート
図である。
【図19】本発明の並列コネクション確立方法における
サーバの動作の実施の形態例を説明するフローチャート
図である。
【図20】本発明の並列コネクション確立方法における
サーバの動作の実施の形態例を説明するフローチャート
図である。
【図21】本発明の並列コネクション確立方法における
クライアントの動作の実施の形態例を説明するフローチ
ャート図である。
【図22】本発明の並列コネクション確立方法における
LANスイッチの動作の実施の形態例を説明するブロッ
ク図である。
【図23】本発明の並列コネクション確立方法における
LANスイッチの動作の実施の形態例を説明するフロー
チャート図である。
【図24】本発明の第2の並列コネクション確立方法に
おけるLANスイッチのブロック図と、パケットのヘッ
ダ形式の実施の形態例を示す図である。
【図25】本発明の並列コネクション確立方法における
サーバのルーティング方式を説明する図である。
【図26】本発明の第4の並列コネクション確立方法の
実施の形態例を示す図である。
【符号の説明】
71:ネットワーク・インタフェースのネットワーク・
アドレス、74:同じ宛先アドレスの次エントリへのポ
インタ、85:QOS管理テーブル・エントリへのポイ
ンタ、90:当該ネットワーク・インタフェースの最大
バンド幅、92:各バーチャル・チャネルのバンド幅、
95:既に予約されているバンド幅の合計、96:最近
1分間のピーク転送量、97:最近1分間の平均転送
量、3000:サーバ、3011ないし3014:転送
路、3050:LANスイッチ、3070:PBX、3
101:クライアント1、3102:ゲートウェイ、3
570:QOSパラメタ付きSYN(同期)パケット、
3571:ACKパケット+ネットワーク・アドレス付
きSYN(同期)パケット、3572:ACKパケッ
ト、3800:サーバのルーティング・テーブル、39
00:クライアント1のルーティング・テーブル、90
01ないし9015:サーバのプログラム例、9050
ないし9061:クライアントのプログラム例、603
0ないし6033:サーバのバッファ、6130ないし
6133:クライアント1のバッファ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野田 文雄 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 増岡 義政 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 高本 良史 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】サーバ計算機から、ネットワークに接続さ
    れたネットワーク接続手段を介して、クライアント計算
    機に対してデータ通信を行うネットワーク接続システム
    において、 前記クライアント計算機からのサービス品質(QOS)
    に応じて、前記サーバ計算機から複数の帯域予約可能な
    通信路の一つを選択する選択手段を備えたことを特徴と
    するネットワーク接続システム。
  2. 【請求項2】請求項1記載において、前記ネットワーク
    と前記サーバ計算機との間にLANスイッチを設け、前
    記LANスイッチの複数の帯域予約可能な仮想チャネル
    を用いて複数の通信路で前記サーバ計算機と接続し、 前記選択手段は、前記サーバ計算機内のルーチング・テ
    ーブルを用い、そのルーチング・テーブル中の、前記ク
    ライアント計算機が接続されるネットワークのアドレス
    と、前記複数の通信路に対応した前記サーバ計算機のネ
    ットワーク・インターフェースのアドレスを用いて、パ
    ケットを送出する前記ネットワーク接続手段のネットワ
    ーク・アドレスを求めることにより、異なる通信路を選
    択することを特徴とするネットワーク接続システム。
  3. 【請求項3】請求項2記載において、前記LANスイッ
    チは、ATMスイッチで構成されることを特徴とするネ
    ットワークネットワーク接続システム。
  4. 【請求項4】請求項1記載において、前記ネットワーク
    接続手段は、ゲートウエイ計算機で構成されることを特
    徴とするネットワーク接続システム。
  5. 【請求項5】請求項2記載において、前記サーバ計算機
    内に、前記ネットワーク・インタフェースごとに仮想チ
    ャネルの帯域及び動的な負荷の統計情報を保持するQO
    S管理テーブルを設け、通信路の確立要求時にこのテー
    ブルQOS管理テーブルを参照することを特徴とするネ
    ットワーク接続システム。
  6. 【請求項6】請求項1または5記載において、前記サー
    ビス品質(QOS)は、通常のデータ通信であるBE(B
    est Effort)、バースト転送向けのデータ通信であるG
    B(Guaranteed Burst)、ビデオや音声などのストリーム
    ・データの通信であるGS(Guaranteed Stream)の3種
    類からなるサービス・クラス、ピークバンド幅(Mbp
    s)、平均バンド幅(Mbps)の3項目で構成するこ
    とを特徴とするネットワーク接続システム。
  7. 【請求項7】複数のネットワーク・インタフェースを備
    え、他の計算機とネットワーク通信を行う計算機におい
    て、 前記計算機に、パケットの最終宛先ネットワーク・アド
    レスと、前記ネットワーク・インタフェースのアドレス
    と、両者のアドレスから求められる、パケットの次の送
    付先であるゲートウェイのネットワーク・アドレスとを
    各エントリに保持するルーティング・テーブルを備え、 少なくとも1つのネットワーク・インターフェースを選
    択し、選択されたネットワーク・インターフェースから
    上記ゲートウエイにパケットを送付することを特徴とす
    る計算機。
  8. 【請求項8】請求項7記載において、前記計算機は、前
    記ネットワーク・インタフェースのそれぞれの使用状況
    を保持するサービス品質(QOS)保持手段を備え、前
    記ネットワーク・インタフェースを選択するときには、
    前記ルーティング・テーブルのエントリの中から、最終
    宛先ネットワーク・アドレスが前記他の計算機のネット
    ワーク・アドレスと等しい少なくとも1つのエントリを
    選択し、選択されたルーティング・テーブルのエントリ
    のネットワーク・インタフェースのアドレスで示される
    ネットワーク・インタフェースの上記QOS保持手段を
    比較した結果に基づいて、少なくとも1つのネットワー
    ク・インタフェースを選択することを特徴とする計算
    機。
  9. 【請求項9】請求項8記載において、前記他の計算機
    が、前記計算機に対して通信路を開設することを要求す
    る時に、前記他の計算機から指定された、通信路のサー
    ビス・クラスと平均通信量とピーク通信量からなるQO
    Sパラメタの指定に対し、前記計算機は、前記ルーティ
    ング・テーブルのエントリの中から、最終宛先ネットワ
    ーク・アドレスが前記他の計算機のネットワーク・アド
    レスと等しい少なくとも1つのエントリを選択し、選択
    されたルーティング・テーブルのエントリのネットワー
    ク・インタフェースのアドレスで示されるネットワーク
    ・インタフェースの前記QOS保持手段と前記QOSパ
    ラメタを比較し、前記QOSパラメタで指定される条件
    を満たすことができるように、少なくとも1つのネット
    ワーク・インタフェースを選択することを特徴とする計
    算機。
  10. 【請求項10】請求項8記載において、前記他の計算機
    と前記計算機が通信路を開設するときに、通信路の開設
    時に送信する同期(SYN)パケットに付随させて、前
    記計算機が選択した少なくとも1つの前記ネットワーク
    ・インタフェースのネットワーク・インタフェースのア
    ドレスを前記他の計算機に送付することを特徴とする計
    算機。
  11. 【請求項11】請求項8記載において、前記計算機は、
    前記複数のネットワーク・インタフェースに接続される
    複数の第1の通信路を第2の通信路に束ねて公衆網へ送
    付するLANスイッチを備え、前記LANスイッチは、
    第1の通信路と第2の通信路とのスイッチングを指定す
    るスイッチング保持手段を備え、前記計算機が選択した
    第1の通信路が、前記他の計算機が指定した第1の通信
    路とは異なった場合には、前記第1の計算機が、前記ス
    イッチング保持手段を、前記第1の計算機が選択した第
    1の通信路になるように、前記LANスイッチに指示す
    ることを特徴とする計算機。
  12. 【請求項12】複数のネットワーク・インタフェースを
    備えた第1の計算機と、ネットワークにゲートウエイ計
    算機を介して接続された第2の計算機を備え、ネットワ
    ーク通信を行う際に、 前記第1の計算機に、パケットの最終宛先ネットワーク
    ・アドレスと、前記ネットワーク・インタフェースのア
    ドレスと、両者のアドレスから求められる、パケットの
    次の送付先であるゲートウェイ計算機のネットワーク・
    アドレスとを各エントリに保持するルーティング・テー
    ブルを備え、 前記第1の計算機は、少なくとも1つのネットワーク・
    インターフェースを選択し、選択されたネットワーク・
    インターフェースから上記ゲートウエイにパケットを送
    付することを特徴とする並列ネットワーク接続方法。
  13. 【請求項13】請求項12記載において、前記第2の計
    算機が、前記第1の計算機に対して通信路の開設を要求
    したとき、前記第1の計算機はルーティング・テーブル
    のエントリの中から、最終宛先ネットワーク・アドレス
    が第2の計算機のネットワーク・アドレスと等しい少な
    くとも1つのエントリを選択し、選択したルーティング
    ・テーブルのエントリのネットワーク・インタフェース
    ・アドレスで示されるネットワーク・インタフェースの
    QOS保持手段と前記第2の計算機が指定するQOSパ
    ラメタを比較し、QOSパラメタで指定される条件を満
    たすことができるように、少なくとも1つのネットワー
    ク・インタフェースを選択し、そのネットワーク・イン
    タフェースを通して前記第1の計算機はゲートウェイに
    パケットを送付することを特徴とする並列ネットワーク
    接続方法。
  14. 【請求項14】請求項12記載において、前記第1の計
    算機は前記第2の計算機に対して、通信路の開設時に送
    信する同期(SYN)パケットに付随させて、選択した
    全てのネットワーク・インタフェースのネットワーク・
    アドレスを教えることを特徴とする並列ネットワーク接
    続方法。
  15. 【請求項15】請求項12記載において、帯域の大きい
    ネットワーク・インタフェースを備えた第2の計算機の
    場合に、前記第1の計算機の複数のネットワーク・イン
    タフェースを並列に用いてデータ通信を行なうことを特
    徴とする並列ネットワーク接続方法。
JP33302895A 1995-07-19 1995-12-21 ネットワーク接続システム及び並列ネットワーク接続方法 Expired - Fee Related JP3613863B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP33302895A JP3613863B2 (ja) 1995-07-19 1995-12-21 ネットワーク接続システム及び並列ネットワーク接続方法
US08/684,572 US5948069A (en) 1995-07-19 1996-07-19 Networking system and parallel networking method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18242995 1995-07-19
JP7-182429 1995-07-19
JP33302895A JP3613863B2 (ja) 1995-07-19 1995-12-21 ネットワーク接続システム及び並列ネットワーク接続方法

Publications (2)

Publication Number Publication Date
JPH0993304A true JPH0993304A (ja) 1997-04-04
JP3613863B2 JP3613863B2 (ja) 2005-01-26

Family

ID=26501236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33302895A Expired - Fee Related JP3613863B2 (ja) 1995-07-19 1995-12-21 ネットワーク接続システム及び並列ネットワーク接続方法

Country Status (2)

Country Link
US (1) US5948069A (ja)
JP (1) JP3613863B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999030460A3 (en) * 1997-12-10 2000-03-09 Sun Microsystems Inc Highly-distributed servers for network applications
JP2002506246A (ja) * 1997-11-13 2002-02-26 ハイパースペース コミュニケーションズ インコーポレイテッド ファイル転送システム
US7054295B1 (en) 1999-06-09 2006-05-30 Nec Corporation Method of transmission from TCP/IP communication network to mobile communication network and transmission and reception system therefor
JP2009033676A (ja) * 2007-07-30 2009-02-12 Mitsubishi Electric Corp 通信システム、通信装置およびパケット伝送方法
US8405860B2 (en) 2009-07-23 2013-03-26 Seiko Epson Corporation Recording system and communication control method for a recording system
JP2014053674A (ja) * 2012-09-05 2014-03-20 Fujitsu Ltd イーサネットスイッチおよび通信方法

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL116989A (en) * 1996-01-31 1999-10-28 Galileo Technology Ltd Switching ethernet controller
US5898830A (en) 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US5826014A (en) 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5870550A (en) 1996-02-26 1999-02-09 Network Engineering Software Web server employing multi-homed, moldular framework
US8117298B1 (en) 1996-02-26 2012-02-14 Graphon Corporation Multi-homed web server
JP3224745B2 (ja) * 1996-07-09 2001-11-05 株式会社日立製作所 高信頼化ネットワークシステム及びサーバ切り替え方法
JP2993444B2 (ja) * 1996-10-25 1999-12-20 日本電気株式会社 Atm網におけるコネクション設定および復旧方式
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6052718A (en) * 1997-01-07 2000-04-18 Sightpath, Inc Replica routing
JP3652834B2 (ja) * 1997-04-30 2005-05-25 富士通株式会社 クライアント主導のネットワーク・コンピューティングシステムおよび方法
GB2326055B (en) * 1997-06-04 2002-03-13 Northern Telecom Ltd Communication system
JPH114292A (ja) * 1997-06-12 1999-01-06 Hitachi Ltd 通信システム
US6006268A (en) * 1997-07-31 1999-12-21 Cisco Technology, Inc. Method and apparatus for reducing overhead on a proxied connection
US6018770A (en) * 1997-10-13 2000-01-25 Research In Motion Limited System and method for managing packet-switched connections
US6308216B1 (en) * 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
US6560227B1 (en) * 1998-02-23 2003-05-06 International Business Machines Corporation LAN frame copy decision for LAN switches
US6563798B1 (en) 1998-06-29 2003-05-13 Cisco Technology, Inc. Dynamically created service class-based routing tables
US6529498B1 (en) * 1998-04-28 2003-03-04 Cisco Technology, Inc. Routing support for point-to-multipoint connections
US6600724B1 (en) 1998-04-28 2003-07-29 Cisco Technology, Inc. Routing table structures
US6154778A (en) * 1998-05-19 2000-11-28 Hewlett-Packard Company Utility-based multi-category quality-of-service negotiation in distributed systems
US6757290B1 (en) * 1998-08-04 2004-06-29 At&T Corp. Method for performing gate coordination on a per-call basis
US6430610B1 (en) * 1998-09-02 2002-08-06 Steeleye Technology, Inc. TCP/IP address protection mechanism in a clustered server environment
US6643705B1 (en) * 1999-03-29 2003-11-04 Microsoft Corporation Routing of electronic messages using a routing map and a stateful script engine
US6667980B1 (en) * 1999-10-21 2003-12-23 Sun Microsystems, Inc. Method and apparatus for providing scalable services using a packet distribution table
WO2001040954A1 (en) * 1999-12-06 2001-06-07 Warp Solutions, Inc. System and method for directing a client to a content source
FR2803406B1 (fr) * 1999-12-30 2002-03-29 Cit Alcatel Dispositif pour changer dynamiquement le moyen de communication utilise pour une communication entre deux agents logiciels
US6493341B1 (en) 1999-12-31 2002-12-10 Ragula Systems Combining routers to increase concurrency and redundancy in external network access
US6735205B1 (en) * 2000-01-10 2004-05-11 Sun Microsystems, Inc. Method and apparatus for fast packet forwarding in cluster networking
JP4035806B2 (ja) * 2000-01-31 2008-01-23 株式会社日立製作所 映像配信システム
JP4091723B2 (ja) * 2000-02-04 2008-05-28 富士通株式会社 データ転送方法及びその装置
US20050021862A1 (en) * 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
US20020059378A1 (en) * 2000-08-18 2002-05-16 Shakeel Mustafa System and method for providing on-line assistance through the use of interactive data, voice and video information
US20020087724A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A Fatpipe Networks Combining connections for parallel access to multiple frame relay and other private networks
US6775235B2 (en) * 2000-12-29 2004-08-10 Ragula Systems Tools and techniques for directing packets over disparate networks
SE521190C2 (sv) * 2001-02-16 2003-10-07 Ericsson Telefon Ab L M Metod system och anordning för att styra bandbreddsanvändningen i ett datakommunikationsnät
US7542419B2 (en) * 2001-04-02 2009-06-02 International Business Machines Corporation Method and apparatus for managing aggregate bandwidth at a server
JP4192446B2 (ja) * 2001-06-29 2008-12-10 株式会社日立製作所 通信サービス取引方法および通信システム
US20030061405A1 (en) * 2001-08-15 2003-03-27 Open Technologies Group, Inc. System, method and computer program product for protocol-independent processing of information in an enterprise integration application
US7444506B1 (en) * 2001-12-28 2008-10-28 Ragula Systems Selective encryption with parallel networks
EP1335535A1 (en) * 2002-01-31 2003-08-13 BRITISH TELECOMMUNICATIONS public limited company Network service selection
US6781990B1 (en) * 2002-02-11 2004-08-24 Extreme Networks Method and system for managing traffic in a packet network environment
US7184445B2 (en) * 2003-02-12 2007-02-27 Silverback Systems Inc. Architecture and API for of transport and upper layer protocol processing acceleration
US7934020B1 (en) * 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
US7308505B2 (en) * 2003-12-17 2007-12-11 International Business Machines Corporation Method, system and program product for facilitating forwarding of data packets through a node of a data transfer network using multiple types of forwarding tables
US7756008B2 (en) * 2003-12-19 2010-07-13 At&T Intellectual Property Ii, L.P. Routing protocols with predicted outrage notification
US7688723B1 (en) * 2004-09-16 2010-03-30 Avaya Inc. Procedural XML-based telephony traffic flow analysis and configuration tool
US7830813B1 (en) 2004-09-30 2010-11-09 Avaya Inc. Traffic based availability analysis
US8281031B2 (en) 2005-01-28 2012-10-02 Standard Microsystems Corporation High speed ethernet MAC and PHY apparatus with a filter based ethernet packet router with priority queuing and single or multiple transport stream interfaces
EP1808993A3 (en) * 2005-12-08 2007-08-01 Electronics and Telecommunications Research Institute Transmission apparatus having a plurality of network interfaces and transmission method using the same
US8364653B2 (en) * 2006-04-05 2013-01-29 Sap Ag Triggering server state changes with references
US8099343B1 (en) * 2006-04-20 2012-01-17 At&T Intellectual Property I, L.P. Distribution schemes and related payment models for subscriber-created content
US20100011230A1 (en) * 2008-07-08 2010-01-14 Olaf Mater Link aggregation with dynamic bandwidth management to reduce power consumption
CN101631110B (zh) * 2008-07-15 2013-01-02 国际商业机器公司 基于相对位置动态确定连接建立机制的装置和方法
TW201132163A (en) * 2010-03-12 2011-09-16 Gemtek Technology Co Ltd Network interface selection method and network device thereof
US8984617B1 (en) 2011-08-04 2015-03-17 Wyse Technology L.L.C. Client proxy operating in conjunction with server proxy
TWI510063B (zh) * 2013-10-30 2015-11-21 Vivotek Inc 媒體串流提供裝置、連線至媒體串流提供裝置的方法、媒體串流系統與電腦可讀取媒體
WO2015174883A1 (en) * 2014-05-15 2015-11-19 Oracle International Corporation Test bundling and batching optimizations
MX2017013500A (es) * 2015-04-21 2018-02-09 Wal Mart Stores Inc Sistemas, dispositivos y metodos para distribucion de informacion de inventario.

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2856050B2 (ja) * 1993-11-30 1999-02-10 日本電気株式会社 ルーティング制御方法
US5519836A (en) * 1994-03-25 1996-05-21 At&T Corp. Method of on-line permanent virtual circuit routing
US5570355A (en) * 1994-11-17 1996-10-29 Lucent Technologies Inc. Method and apparatus enabling synchronous transfer mode and packet mode access for multiple services on a broadband communication network
US5732080A (en) * 1995-07-12 1998-03-24 Bay Networks, Inc. Method and apparatus for controlling data flow within a switching device
US5610910A (en) * 1995-08-17 1997-03-11 Northern Telecom Limited Access to telecommunications networks in multi-service environment
US5651005A (en) * 1995-08-29 1997-07-22 Microsoft Corporation System and methods for supplying continuous media data over an ATM public network
CA2186795A1 (en) * 1995-11-17 1997-05-18 Cormac John Sreenan Resource management system for a broadband multipoint bridge

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002506246A (ja) * 1997-11-13 2002-02-26 ハイパースペース コミュニケーションズ インコーポレイテッド ファイル転送システム
US9912516B2 (en) 1997-11-13 2018-03-06 Intellectual Ventures I Llc Method and apparatus for data file transfer using destination linked directories
WO1999030460A3 (en) * 1997-12-10 2000-03-09 Sun Microsystems Inc Highly-distributed servers for network applications
US6718387B1 (en) 1997-12-10 2004-04-06 Sun Microsystems, Inc. Reallocating address spaces of a plurality of servers using a load balancing policy and a multicast channel
US7054295B1 (en) 1999-06-09 2006-05-30 Nec Corporation Method of transmission from TCP/IP communication network to mobile communication network and transmission and reception system therefor
JP2009033676A (ja) * 2007-07-30 2009-02-12 Mitsubishi Electric Corp 通信システム、通信装置およびパケット伝送方法
US8405860B2 (en) 2009-07-23 2013-03-26 Seiko Epson Corporation Recording system and communication control method for a recording system
JP2014053674A (ja) * 2012-09-05 2014-03-20 Fujitsu Ltd イーサネットスイッチおよび通信方法

Also Published As

Publication number Publication date
JP3613863B2 (ja) 2005-01-26
US5948069A (en) 1999-09-07

Similar Documents

Publication Publication Date Title
JP3613863B2 (ja) ネットワーク接続システム及び並列ネットワーク接続方法
US6404766B1 (en) Network data communication system
US6195355B1 (en) Packet-Transmission control method and packet-transmission control apparatus
CA2364090C (en) Bandwidth allocation in ethernet networks
EP0381365B1 (en) A system and method for interconnecting applications across different networks of data processing systems
US6598080B1 (en) Network interconnection apparatus network node apparatus and packet transfer method for high speed large capacity inter-network communication
US6876654B1 (en) Method and apparatus for multiprotocol switching and routing
US6731652B2 (en) Dynamic packet processor architecture
JP4076586B2 (ja) マルチレイヤ・ネットワーク要素用のシステムおよび方法
JP3077677B2 (ja) 品質保証ノード装置
US20030026260A1 (en) Packet routing apparatus and routing controller
JPH09247190A (ja) 通信ネットワークのオペレーティング方法
JPH0752888B2 (ja) フレーム転送方法及びブリッジ装置
JP2001197116A (ja) ラベルスイッチングシステムにおける明示ルート指定方法及びパケット中継装置
JPH07288546A (ja) 回線アダプタおよび経路指定方法
JP2002507366A (ja) 多層ネットワーク要素におけるサービス品質のためのシステムおよび方法
JP2004048661A (ja) ネットワークのパス構成のための方法および装置
JP3923533B2 (ja) Atmの部分的なカットスルー
Aweya On the design of IP routers Part 1: Router architectures
JP2004537881A (ja) ネットワーク管理のための方法とシステム
US6097726A (en) Virtual path merging in a multipoint-to-point network tunneling protocol
JP3634201B2 (ja) ネットワーク間データ伝送方法
US20020159391A1 (en) Packet-transmission control method and packet-transmission control apparatus
JPH10341236A (ja) パケットスイッチングネットワーク及びパケットスイッチ装置
EP0905994A2 (en) Packet-transmission control method and packet-transmission control apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041025

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

Free format text: PAYMENT UNTIL: 20071112

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20121112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees