[go: up one dir, main page]

JP2002094605A - Adaptive demultiplexing method and system - Google Patents

Adaptive demultiplexing method and system

Info

Publication number
JP2002094605A
JP2002094605A JP2000278764A JP2000278764A JP2002094605A JP 2002094605 A JP2002094605 A JP 2002094605A JP 2000278764 A JP2000278764 A JP 2000278764A JP 2000278764 A JP2000278764 A JP 2000278764A JP 2002094605 A JP2002094605 A JP 2002094605A
Authority
JP
Japan
Prior art keywords
communication channels
network
queue
packets
queues
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.)
Withdrawn
Application number
JP2000278764A
Other languages
Japanese (ja)
Inventor
Suu Chinfon
スー チンフォン
Chen Yaomin
チェン ヤオミン
Tomohiko Taniguchi
智彦 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000278764A priority Critical patent/JP2002094605A/en
Publication of JP2002094605A publication Critical patent/JP2002094605A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】 本発明はパケットを動的に再割り当てする
ことにより並列チャンネルの負荷のバランスを調整する
ことを目的とする。 【構成】 単一の広帯域通信チャネルを実現するための
複数の並列通信チャネルの結合の方法およびシステム。
パケットの連続ストリームは、トラヒック集合体として
グループ化され、複数の並列通信チャネルに関連するキ
ューに割り当てられる。トラヒック集合体を前記キュー
に割り当て及び再割り当ては各並列通信チャネルのキュ
ー長に関連したキューロード比の測定に基づき動的に遂
行される。トラヒック集合体としての現在および未来の
パケットのグループ化はパケットによって共有される共
通のソースおよび宛先IPアドレスのような共通属性に
基づく。
(57) [Summary] [Object] The present invention aims to adjust the load balance of parallel channels by dynamically reallocating packets. A method and system for combining multiple parallel communication channels to achieve a single broadband communication channel.
A continuous stream of packets is grouped as a traffic aggregate and assigned to queues associated with a plurality of parallel communication channels. Assigning and reassigning traffic aggregates to the queues is performed dynamically based on a queue load ratio measurement associated with the queue length of each parallel communication channel. The grouping of current and future packets as a traffic aggregate is based on common attributes such as common source and destination IP addresses shared by the packets.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、一般的に云えば、
ネットワーク通信システム及びネットワーク通信方法に
関し、特に転送されるパケットをグループ化して関連付
けすることにより、複数の並列通信チャンネル(parall
el communication channels)に関連する待行列(キュ
ー)を動的にバランスさせるための方法及びシステムに
関する。
BACKGROUND OF THE INVENTION The present invention generally relates to
The present invention relates to a network communication system and a network communication method.
The present invention relates to a method and system for dynamically balancing queues associated with el communication channels.

【0002】[0002]

【従来の技術】従来のネットワークは、コンピューティ
ングデバイス、例えばパーソナルコンピュータ、ワーク
ステーション及びその他の同様なデバイスのような複数
のネットワークコンポーネント又はネットワークノード
から構成されている。
2. Description of the Related Art A conventional network consists of a plurality of network components or nodes, such as computing devices, for example, personal computers, workstations and other similar devices.

【0003】相対的に小さな領域をつなぐネットワーク
上の限られた数のネットワークコンポーネント及びデバ
イスはローカルエリアネットワーク(Local Area Netwo
rk)と呼ばれている。LANを互いに接続して構成した
ネットワークは広域ネットワーク(Wide-Area Networ
k)と呼ばれている。WANを互いに接続したものをさ
らに他のLAN及びWANに接続したネットワークもW
ANと呼ばれている。最大のWANはインターネット(I
nternet)であり、これは何百万ものコンピューティング
デバイスが接続されたグローバルネットワークである。
[0003] A limited number of network components and devices on a network that connect relatively small areas are local area networks (Local Area Networks).
rk). A network constructed by connecting LANs to each other is a wide area network (Wide-Area Network).
k). A network that connects WANs to each other and a network that connects to other LANs and WANs also
It is called AN. The largest WAN is the Internet (I
nternet), which is a global network to which millions of computing devices are connected.

【0004】LAN,WAN又はインターネット(以
降、まとめて「ネットワーク」と呼ぶ。)に於いては、
大部分のコンピューティングデバイスは互いに独立して
動作しており、大部分のコンピューティングデバイスは
ネットワーク上に存在するデータ又は他のネットワーク
コンポーネントにアクセスすることが出来る。
In a LAN, a WAN, or the Internet (hereinafter, collectively referred to as a “network”),
Most computing devices operate independently of each other, and most computing devices have access to data or other network components residing on a network.

【0005】「ネットワーク」(LAN,WAN又はイ
ンターネット)内のこれらコンピューティングデバイス
及び他のネットワークコンポーネントを相互接続するこ
とは、ツイストペア・ケーブル、同軸ケーブル又は光フ
ァイバケーブル及びルータ、スイッチ及びブリッジのよ
うなネットワークデバイスによる一連の通信リンク又は
チャンネルを形成することである。
[0005] Interconnecting these computing devices and other network components in a "network" (LAN, WAN or the Internet) requires twisted-pair, coaxial or fiber optic cables and routers, switches and bridges. The formation of a series of communication links or channels by a network device.

【0006】しかしながら、各々の通信チャンネルには
帯域幅制限等の制限がある。
However, each communication channel has a limitation such as a bandwidth limitation.

【0007】帯域幅はデータ量、例えば、特定の通信チ
ャンネルにより特定の時間内で転送できるネットワーク
トラフィックに帰する。例えば、光キャリアーレベル1
(OC−1)の光同期ネットワーク(SONET)標準に
適合する光ファイバケーブルは51.8Mbpsの帯域幅を持
ち、OC-3光ファイバケーブルは155.52Mbpsの帯域幅を
持つ。
[0007] Bandwidth is attributed to the amount of data, eg, network traffic that can be transferred over a particular communication channel within a particular time. For example, optical carrier level 1
An optical fiber cable conforming to the (OC-1) Optical Synchronous Network (SONET) standard has a bandwidth of 51.8 Mbps, and an OC-3 optical fiber cable has a bandwidth of 155.52 Mbps.

【0008】これまでは、帯域幅を広げる必要がある場
合は、低容量通信チャンネルに代え、高容量通信チャン
ネルが設置された。例えば、光ファイバケーブルOC-1
は光ファイバケーブルOC-3に変更され、帯域幅は100
Mbsも拡幅されていた。しかしながら、一つの通信チャ
ンネルを完全に他の通信チャンネルに交換することは、
多くの場合、費用もかかるし、時間もかかる。
Heretofore, when it was necessary to increase the bandwidth, a high capacity communication channel was installed instead of a low capacity communication channel. For example, the optical fiber cable OC-1
Is changed to fiber optic cable OC-3 and the bandwidth is 100
Mbs was also widened. However, completely swapping one communication channel for another communication channel
Often it is expensive and time consuming.

【0009】さらに加えて、通信チャンネル数及びネッ
トワークデバイス数は「ネットワーク」内のコンピュー
ティングデバイス数及び他のネットワークコンポーネン
ト数に比例する。従って、ネットワークが大規模になる
につれ、例えば、より多くのコンピューティングデバイ
ス及び他のネットワークコンポーネントがさらに加えら
れるにつれ、ケーブル数及びネットワークデバイス数も
増加する。よって、通信チャンネルの置換費用は、増加
されるケーブル及びネットワークデバイスの費用に比例
して増加する。
In addition, the number of communication channels and the number of network devices are proportional to the number of computing devices and other network components in the “network”. Thus, as networks become larger, for example, as more computing devices and other network components are added, the number of cables and network devices also increases. Thus, the cost of replacing the communication channel increases in proportion to the cost of the cable and network device being increased.

【0010】これらの費用を削減するために、複数の通
信チャンネルを並列的に使用して帯域を有効利用する。
従って、複数の狭帯域並列幅通信チャンネルを集合させ
ることにより、1つの広帯域幅通信チャンネルを得てい
る。例えば、三本の光ファイバケーブルOC-1を結合さ
せて、約155.55Mbpsの帯域幅を得ているが、これは155.
52Mbpsの帯域幅を持つ一本の光ファイバケーブルにほぼ
等しい。
In order to reduce these costs, a plurality of communication channels are used in parallel to effectively use the bandwidth.
Therefore, one wideband communication channel is obtained by aggregating a plurality of narrowband parallel-width communication channels. For example, three optical fiber cables OC-1 are combined to obtain a bandwidth of about 155.55 Mbps, which is 155.55 Mbps.
Equivalent to a single fiber optic cable with a bandwidth of 52Mbps.

【0011】同様に、一つの広帯域幅通信チャンネルの
一部は特定数の狭帯域並列幅通信チャンネルを集合させ
ることにより得られる。並列な通信チャンネルを集合さ
せ、又は結合させることにより、一つの通信チャンネル
に最初に配置されたデータの流れはセグメント化又は分
割し、一つまたは2つ以上の並列通信チャンネルに沿っ
て、セグメント化したデータの流れを同時に転送する必
要がある。この技術はしばしば逆多重化と云われてい
る。
Similarly, a portion of a wideband communication channel is obtained by aggregating a specified number of narrowband parallel-width communication channels. By aggregating or combining parallel communication channels, the data stream initially located in one communication channel is segmented or split and segmented along one or more parallel communication channels. It is necessary to simultaneously transfer the data flows. This technique is often referred to as demultiplexing.

【0012】[0012]

【発明が解決しようとする課題】しかしながら、並列通
信チャンネルを集合すると帯域幅が大きくなるものの、
並列な通信チャンネルを集合した場合は、通例では、デ
ータの流れ、特にデータパケット、即ち、データを含む
エンベロープは高速でセグメント化される必要がある。
通常は、データパケットの高速分割は複合ネットワーク
デバイス(complexnetwork devices)を加えることにより
行われる。
However, the aggregation of parallel communication channels increases the bandwidth,
When parallel communication channels are aggregated, typically the data stream, especially the data packets, ie the envelope containing the data, needs to be segmented at high speed.
Usually, high-speed segmentation of data packets is performed by adding complex network devices.

【0013】これらの複合ネットワークデバイスはデー
タパケットを分割又は分解し、複数の通信チャンネルを
通じて同時に送出するのに必要である。さらに、分解さ
れたパケットを受信する複合ネットワークデバイスは適
切な順序及びフォーマットでデータパケットを再構成す
るものでなければならない。
These composite network devices are necessary to split or decompose data packets and send them over multiple communication channels simultaneously. Further, the composite network device receiving the decomposed packets must reconstruct the data packets in the proper order and format.

【0014】よって、これらの複合ネットワークデバイ
スは、一つの通信チャンネルを完全に他のものに置換す
るよりは費用は安上がりであるものの、「ネットワー
ク」を複雑にし、またその費用の増加を招く。さらに加
えて、「ネットワーク」が変化するにつれ、例えば、よ
り高速なコンピューティングデバイスが加わるにつれ、
又は、「ネットワーク」の使用形態が変化するにつれ、
例えば、異なる時間に極めて大量のデータを異なるセグ
メントで転送する「ネットワーク」では、これらの複合
ネットワークデバイスはこれらの変化に対して適応でき
なくなる。
Thus, while these composite network devices are less expensive than completely replacing one communication channel with another, they add complexity to the "network" and increase its cost. In addition, as the "network" changes, for example, as faster computing devices join,
Or, as the usage of the “network” changes,
For example, in a "network" that transfers very large amounts of data in different segments at different times, these composite network devices will not be able to adapt to these changes.

【0015】本発明の目的はパケットを動的に再割り当
てすることにより前記並列チャンネルの負荷のバランス
を調整することである。
It is an object of the present invention to balance the load of said parallel channels by dynamically reallocating packets.

【0016】[0016]

【課題を解決するための手段】本発明は並列な通信チャ
ンネルを集合させて、一つの又は一部の広帯域幅通信チ
ャンネルを得るためのシステム及び方法を提供する。一
実施態様において、パケットを送信する複数の並列な通
信チャンネルを集合し、各々の通信チャンネルが関連す
る待ち行列(キュー)に接続されているような方法を提
供するものである。
SUMMARY OF THE INVENTION The present invention provides a system and method for assembling parallel communication channels to obtain one or a portion of a high bandwidth communication channel. In one embodiment, a method is provided for assembling a plurality of parallel communication channels for transmitting packets, each communication channel being connected to an associated queue.

【0017】複数の並列な通信チャンネルを集合させる
方法は、並列な各通信チャンネルに関する各キューに対
してパケットを割り当て、各チャンネルの平均キューロ
ード比を測定し、最大平均キューロード比で並列な通信
チャンネルに割り当てられたパケットを最小平均キュー
ロード比で並列な通信チャンネルに再割り当てるステッ
プを含んでいる。
A method of assembling a plurality of parallel communication channels is to allocate a packet to each queue for each parallel communication channel, measure an average queue load ratio of each channel, and perform parallel communication at the maximum average queue load ratio. Reassigning packets assigned to the channels to parallel communication channels with a minimum average queue load ratio.

【0018】他の一実施態様においては、第1のネット
ワーク、第1のネットワークに接続された複数の並列な
通信チャンネル及び第2のネットワークを含んだ適応ネ
ットワークシステムが提供される。この適応ネットワー
クシステムは同様に第2のネットワーク及び複数の通信
チャンネルに接続されたネットワークスイッチを含んで
いる。
In another embodiment, an adaptive network system is provided that includes a first network, a plurality of parallel communication channels connected to the first network, and a second network. The adaptive network system also includes a network switch connected to the second network and the plurality of communication channels.

【0019】このネットワークスイッチは複数の並列な
通信チャンネルの各々に関連する複数のキューを含んで
いる。同様に、ネットワークスイッチは複数のキューの
各々の平均キューロード比を測定し、測定された平均キ
ューロード比に基づいて複数のキューの各々に対してパ
ケットを割り当てるように構成されている。
The network switch includes a plurality of queues associated with each of the plurality of parallel communication channels. Similarly, the network switch is configured to measure an average queue load ratio of each of the plurality of queues and assign a packet to each of the plurality of queues based on the measured average queue load ratio.

【0020】他の一実施態様においては、複数の並列な
通信チャンネルを通じてパケットを送出する適応ネット
ワークデバイスが提供される。この適応ネットワークデ
バイスは、複数の通信チャンネルに接続される複数のネ
ットワークインタフェース装置、複数のネットワークイ
ンタフェースに接続され複数の通信チャンネルの各々に
関連する複数のキューを記憶するメモリー、及びメモリ
ーに接続されるプロセッサを含んでいる。
In another embodiment, an adaptive network device for sending packets over a plurality of parallel communication channels is provided. The adaptive network device is connected to a plurality of network interface devices connected to a plurality of communication channels, a memory connected to a plurality of network interfaces for storing a plurality of queues associated with each of the plurality of communication channels, and a memory. Includes processor.

【0021】プロセッサは複数の通信チャンネル各々の
平均キューロード比を測定し、測定した平均キューロー
ド比に基づいて各キューにパケットを割り当てるように
構成されている。
[0021] The processor is configured to measure an average queue load ratio of each of the plurality of communication channels and to assign a packet to each queue based on the measured average queue load ratio.

【0022】本発明の多くの付随する特徴は図面を参考
にした以下の詳細な説明を参照することにより明らかと
なろう。図面に於いて、同じ要素は同じ符号で示され
る。
Many of the attendant features of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings. In the drawings, the same elements are denoted by the same reference numerals.

【0023】[0023]

【発明の実施の形態】図1は本発明における適応ネット
ワークシステムの一実施態様の概念的モデルのブロック
図である。この概念的モデルは相互接続された複数のコ
ンピューティングデバイスを含んでいる。図面の都合
で、コンピューティングデバイスの数及び相互接続には
制限があるが、多数の、そして多種類のコンピューティ
ングデバイスが使用され、接続されているものとする。
FIG. 1 is a block diagram of a conceptual model of an embodiment of the adaptive network system according to the present invention. This conceptual model includes a plurality of interconnected computing devices. For the sake of illustration, the number and interconnection of computing devices is limited, but it is assumed that many and many types of computing devices are used and connected.

【0024】第1のネットワーク11aは第1のネット
ワークケーブル21をとおして相互に接続された一組
の、又は一群のコンピューティングデバイス19a〜1
9eを含んで構成されている。一実施態様においては、
第1のネットワーク11aは広域ネットワークWANを
表している。他の実施態様においては、第1のネットワ
ーク11aは狭域ネットワークLAN又はイントラネッ
トである。
The first network 11a is a set or group of computing devices 19a-1 interconnected via a first network cable 21.
9e. In one embodiment,
The first network 11a represents a wide area network WAN. In another embodiment, the first network 11a is a local area network LAN or an intranet.

【0025】同様に、第2のネットワーク11bは第2
のネットワークケーブル25a〜25dを通じて接続さ
れた第2グループのコンピューティングデバイス21a
〜21dと第2のネットワークデバイス27を含んで構
成されている。第1のネットワーク11aが広域ネット
ワークを表す様に、一実施態様に於いては、第2のネッ
トワーク11bは広域ネットワークを表している。
Similarly, the second network 11b
Group of computing devices 21a connected through network cables 25a to 25d of
21d and the second network device 27. Just as the first network 11a represents a wide area network, in one embodiment the second network 11b represents a wide area network.

【0026】他の実施態様においては、第2のネットワ
ーク11bは狭域ネットワークLAN又はイントラネッ
トである。又、別の実施態様では、第1及び第2のネッ
トワーク11a, 11bはインターネット等のような規
模の大きなネットワークのセグメントまたは部分であ
る。さらには、第1及び第2のネットワーク11a, 1
1bのトポロジーはそれぞれバス(Bus)トポロジー
及びスター(Star)トポロジーとして図示されてい
る。しかしながら、他の実施態様においては、第1及び
第2のネットワーク11a, 11bの他のトポロジーが
使用される。
In another embodiment, the second network 11b is a local area network LAN or an intranet. In another embodiment, the first and second networks 11a, 11b are segments or portions of a larger network such as the Internet. Further, the first and second networks 11a, 1
The topology of 1b is illustrated as a Bus topology and a Star topology, respectively. However, in other embodiments, other topologies of the first and second networks 11a, 11b are used.

【0027】第1のネットワーク11aと第2のネット
ワーク11bとを接続するのは適応ネットワークデバイ
ス17である。一実施態様では、適応ネットワークデバ
イス17は第1のネットワーク11aに含まれる。適応
ネットワークデバイス17は相互接続ケーブル13を通
して第1のネットワークに接続されている。一実施態様
では、相互接続ケーブル13は一本の広帯域光ファイバ
ケーブルである。
It is an adaptive network device 17 that connects the first network 11a and the second network 11b. In one embodiment, the adaptive network device 17 is included in the first network 11a. The adaptive network device 17 is connected to the first network via the interconnect cable 13. In one embodiment, interconnect cable 13 is a single broadband fiber optic cable.

【0028】他の実施態様では、第1のネットワークケ
ーブル21は光ファイバケーブル又は同軸ケーブル束線
等の複数の通信ケーブルである。適応ネットワークデバ
イス17は同様に一組の並列通信チャンネル15を通じ
て第2のネットワーク11bに接続されている。別の実
施態様では、適応ネットワークデバイス17はさらに一
組の並列通信チャンネル15と同様な増設通信チャンネ
ルを通して増設ネットワークに接続されている。一実施
態様では、これらの並列通信チャンネルはOC-3レベル
の光ファイバケーブルである。
In another embodiment, the first network cable 21 is a plurality of communication cables, such as a fiber optic cable or a coaxial cable bundle. The adaptive network device 17 is likewise connected to the second network 11b through a set of parallel communication channels 15. In another embodiment, the adaptive network device 17 is further connected to an additional network through an additional communication channel similar to the set of parallel communication channels 15. In one embodiment, these parallel communication channels are OC-3 level fiber optic cables.

【0029】連続的なデータパケットの流れは適応ネッ
トワークデバイス17を通して第1のネットワーク11
a及び第2のネットワーク11bの間で転送される。一
実施態様においては、データパケットのヘッダーは適応
ネットワークデバイス17により検査され、データパケ
ットは第1のネットワーク11a又は第2のネットワー
ク11bに送出されるか、又は他のネットワーク(図示
せず)に送られる。
A continuous stream of data packets is passed through the adaptive network device 17 to the first network 11.
a and the second network 11b. In one embodiment, the header of the data packet is inspected by the adaptive network device 17 and the data packet is sent out to the first network 11a or the second network 11b or to another network (not shown). Can be

【0030】データパケットのヘッダーは宛先インター
ネットプロトコル(IP)アドレス等の宛先情報を含んで
いる。一実施態様では、第1のネットワーク11a内の
ネットワークデバイス(図示せず)又は第2のネットワ
ーク11b内の第2のネットワークデバイスがデータを
フィルターする。
The header of the data packet contains destination information such as the destination Internet Protocol (IP) address. In one embodiment, a network device (not shown) in the first network 11a or a second network device in the second network 11b filters the data.

【0031】従って、第1のネットワークから第2のネ
ットワークへ、又はその逆のデータのみ、あるいは第1
及び第2のネットワークを通して他のネットワークにの
み送られるデータが適応ネットワークデバイス17に送
られる。
Thus, only data from the first network to the second network or vice versa, or
And data sent only through the second network to other networks is sent to the adaptive network device 17.

【0032】図2は図1における適応ネットワークデバ
イス17の一実施態様の簡略化したブロック図である。
図2において、適応ネットワークデバイス17は第1、
第2及び第3の並列な通信チャンネル115A〜115
Cに接続される。適応ネットワークデバイス17は受信
したデータパケットを送信するための並列通信チャンネ
ルを適切に選択し、決定する。
FIG. 2 is a simplified block diagram of one embodiment of the adaptive network device 17 in FIG.
In FIG. 2, the adaptive network device 17 is a first,
Second and third parallel communication channels 115A-115
Connected to C. The adaptive network device 17 appropriately selects and determines a parallel communication channel for transmitting the received data packet.

【0033】一実施態様においては、適応ネットワーク
デバイス17は連続した流れのデータパケットを受信す
る。データパケットが到着し、または受信されると、適
応ネットワークデバイスはデータパケットを一つ又はそ
れ以上の単一ユニット又はトラフックを集合したものに
グループ化する。従って、トラフィックを集合したもの
は連続するトラフィックの流れ、即ち、連続するデータ
パケットの流れを集合したものと見ることが出来る。
In one embodiment, adaptive network device 17 receives a continuous stream of data packets. As data packets arrive or are received, the adaptive network device groups the data packets into a collection of one or more single units or traffic. Therefore, a set of traffic can be regarded as a set of continuous traffic flows, that is, a set of continuous data packets.

【0034】これらトラフィックの集合したものは適応
ネットワークデバイスにより選択される並列通信チャン
ネルに個々に割り付けられる。第1、第2及び第3のキ
ュー117A〜117Cは個々に第1、第2及び第3の
並列通信チャンネル115A〜115Cに接続される。
特定の並列通信チャンネルに割り付けられたトラフィッ
ク集合体(traffic aggregates)は一時的に与えられた
通信チャンネルに関連するキュー内に格納される。
[0034] A collection of these traffics is individually assigned to parallel communication channels selected by the adaptive network device. The first, second, and third queues 117A-117C are individually connected to first, second, and third parallel communication channels 115A-115C.
Traffic aggregates assigned to a particular parallel communication channel are temporarily stored in a queue associated with a given communication channel.

【0035】並列通信チャンネルが各キューに格納され
ているトラヒックの集合体をサービスできる場合は、そ
れぞれのキューに保持されているトラフィック集合体の
パケットはキューからそれぞれの並列通信チャンネルに
転送される。これらトラフィック集合体は第1、第2及
び第3の並列通信チャンネル115A〜115Cに接続
されるネットワークに送られる。
If the parallel communication channels can service the aggregate of traffic stored in each queue, the packets of the traffic aggregate held in each queue are transferred from the queue to each parallel communication channel. These traffic aggregates are sent to a network connected to the first, second and third parallel communication channels 115A-115C.

【0036】図3は適応ネットワークデバイスの一実施
態様により行われるデータパケットを適当なネットワー
クに送出する処理の流れ図を示す。ステップ21におい
て、処理はネットワークからのパケットの連続した流れ
を検査して所定の共通基準または属性を確定する。
FIG. 3 shows a flowchart of the process of sending a data packet to the appropriate network performed by one embodiment of the adaptive network device. In step 21, the process examines the continuous flow of packets from the network to determine certain common criteria or attributes.

【0037】一実施態様では、所定の共通属性とはパケ
ットのヘッダー内に含まれる宛先アドレスのことであ
る。別の実施態様では、所定の共通属性とはパケットの
ヘッダー内に含まれる発信元及び宛先アドレスのことで
ある。ステップ23では、パケットの確定された所定の
共通属性に基づいて連続したパケット(現在及び将来の
パケット)の流れは処理により一つ以上のトラフィック
の集合体にグループ化される。
In one embodiment, the predetermined common attribute is a destination address contained in the header of the packet. In another embodiment, the predetermined common attributes are source and destination addresses included in the header of the packet. In step 23, the flows of successive packets (current and future packets) are grouped into one or more traffic aggregates by processing based on the determined predetermined common attributes of the packets.

【0038】例えば、193.23.33.6の宛先IPアドレスを
含む現在及び将来のパケットは、第1のトラフィック集
合体にグループ化され、168.23.45.16の宛先IPアドレス
を含む現在及び将来のパケットは第2のトラフィック集
合体にグループ化される。
For example, current and future packets containing a destination IP address of 193.23.33.6 are grouped into a first traffic aggregate, and current and future packets containing a destination IP address of 168.23.4.16 are stored in a second traffic aggregate. Grouped into traffic aggregates.

【0039】ステップ25では、処理により、各トラフ
ィック集合体を特定の通信チャンネル又はリンクに割り
当てる。一実施態様においては、各トラフィック集合体
は、初めに、処理により順番に特定の通信チャンネルに
割り当てられる。
In step 25, the process assigns each traffic aggregate to a particular communication channel or link. In one embodiment, each traffic aggregate is initially assigned to a particular communication channel in sequence by processing.

【0040】例えば、第1のトラフィック集合体は第1
の通信チャンネルに割り当てられ、第2のトラフィック
集合体は第2の通信チャンネルに割り当てられる。ステ
ップ27では、処理により、トラフィック集合体はトラ
フィック集合体に割り当てられた通信チャンネルに関す
るキューにおかれる。
For example, the first traffic aggregate is the first traffic aggregate.
And the second traffic aggregate is assigned to the second communication channel. In step 27, the process places the traffic aggregate in a queue for the communication channel assigned to the traffic aggregate.

【0041】ステップ29において、測定時間間隔Tに
なったか否かが判断される。そして、測定時間間隔Tに
なった場合は、ステップ33の処理により、各通信チャ
ンネルに関する各キューを測定して測定量が過去の測定
時間間隔Tの平均キュー長になるようにする。
In step 29, it is determined whether the measurement time interval T has been reached. When the measurement time interval T has come, the processing of step 33 measures each queue for each communication channel so that the measured amount becomes the average queue length of the past measurement time interval T.

【0042】ステップ33での測定に基づいて、ステッ
プ35では、各並列通信チャンネルに対する平均キュー
測定長は通信チャンネルに対するリソースが等しく使用
されていない、例えば各通信チャンネルが同じようなパ
ケット転送遅延を有する、ことを示しているかどうか決
定する。
Based on the measurements in step 33, in step 35, the average queue measurement length for each parallel communication channel is such that the resources for the communication channels are not being used equally, eg, each communication channel has a similar packet transfer delay. , Determine if it indicates.

【0043】ステップ35の処理では、各並列通信チャ
ンネルに対する平均キュー測定長が通信チャンネルに対
するリソースが等しく使用されていると決定された場合
にはステップ21に戻る。同様に、ステップ29の処理
で測定時間間隔Tになっていないと決定された場合は、
処理はステップ21に戻る。
In the process of step 35, when it is determined that the average queue measurement length for each parallel communication channel uses the resources for the communication channel equally, the process returns to step 21. Similarly, if it is determined in the processing of step 29 that the measurement time interval T has not been reached,
The process returns to step 21.

【0044】しかしながら、ステップ35の処理で平均
キュー測定長により通信チャンネルのリソースが等しく
使用されていないと決定された場合は、ステップ31で
の処理で、将来のトラフィック集合体は他の通信チャン
ネルに再度割り当てられる。
However, if it is determined in step 35 that the resources of the communication channel are not equally used based on the average queue measurement length, in step 31 the future traffic aggregate is transferred to another communication channel. Reassigned.

【0045】そして、処理はステップ21に戻る。図3
に示す処理は、ユーザーからの終了(シャットダウン)
命令、適応ネットワークデバイスの電源除去等の外部か
らの所定の条件又は行為が発生した時に終了する。
Then, the process returns to step 21. FIG.
The process shown in is terminated by the user (shutdown)
The process is terminated when a predetermined condition or action from the outside such as an instruction, power removal of the adaptive network device, or the like occurs.

【0046】図4は本発明の適応ネットワークデバイス
の一実施態様の詳細モデルを示す。図4に示す適応ネッ
トワークデバイス17は四つの動作ユニットに分離され
る。これらの動作ユニットは割り当てユニット131、
マッピングユニット133、バッファユニット135、
バランスユニット137を含む。割り当てユニット13
1は特定のネットワークからのパケットの連続する流れ
を受信する。
FIG. 4 shows a detailed model of one embodiment of the adaptive network device of the present invention. The adaptive network device 17 shown in FIG. 4 is divided into four operating units. These operating units are assigned unit 131,
Mapping unit 133, buffer unit 135,
The balance unit 137 is included. Assignment unit 13
1 receives a continuous stream of packets from a particular network.

【0047】この割り当てユニット131は、更に送信
するパケットの宛て先アドレス特定するために受信した
パケットのヘッダーを調べる。宛先アドレスを使用する
ことによって、割り当てユニット131は現在のパケッ
トの組に割り当てる特定キー又は数値を決定する。この
一意(ユニーク)のキーは、本実施態様の記述では、ハ
ッシュ関数を使って決定している。
The allocation unit 131 further checks the header of the received packet to identify the destination address of the packet to be transmitted. By using the destination address, the assignment unit 131 determines a particular key or number to assign to the current set of packets. This unique key is determined using a hash function in the description of the present embodiment.

【0048】このハッシュ関数により共通の属性又は特
性、即ち共通の宛先IPアドレスに応じた、又はその一
部となる項目のグループ、即ちデータパケットに対する
一意の番号を発生する数学的公式が得られる。一実施態
様においては、関数H(p)モジュロ(modulo) Nが採用
されるが、H(p)はパケットの組pに適用されるハッ
シュ関数で、Nは適応ネットワークデバイスにより定義
されるトラフィック集合体の合計数である。
This hash function provides a mathematical formula that generates a unique attribute or characteristic, ie, a group of items according to or part of a common destination IP address, ie, a unique number for a data packet. In one embodiment, the function H (p) modulo N is employed, where H (p) is a hash function applied to the packet set p and N is the traffic set defined by the adaptive network device. The total number of bodies.

【0049】例えば、127.188.169.70の宛先IPアドレス
を含むパケットはハッシュ値5を発生し、127.188.169.
90の宛先IPアドレスを含むパケットはハッシュ値7を発
生する。従って、ハッシュ関数の使用により、宛先IPア
ドレスに基づく(現在及び将来の)パケットグループは
ユニークキー又はハッシュ値を発生し、その他の(現在
及び将来の)パケットグループは異なるハッシュ値を発
生する。
For example, a packet containing a destination IP address of 127.188.169.70 generates a hash value of 5, and
Packets containing 90 destination IP addresses generate a hash value of 7. Thus, through the use of a hash function, packet groups (current and future) based on the destination IP address will generate a unique key or hash value, and other (current and future) packet groups will generate different hash values.

【0050】ハッシュ値又はユニークキーを計算する割
り当てユニット131はマッピングユニット133に対
する計算されたキーを提供する。
The assignment unit 131 for calculating a hash value or a unique key provides the calculated key for the mapping unit 133.

【0051】マッピングユニット133は一つ又は複数
のユニークキーを使用して通信チャンネルに対してトラ
フィック集合体を区分け(map)するルックアップテ
ーブル(look-up table)を創成する又は更新する。特
に、ルックアップテーブルはユニークキーと通信チャン
ネル又はリンク間の対応を定義するエントリーを含んで
いる。表1はそのようなルックアップテーブルの一例で
ある。
The mapping unit 133 creates or updates a look-up table that maps traffic aggregates for communication channels using one or more unique keys. In particular, the look-up table contains entries that define the correspondence between a unique key and a communication channel or link. Table 1 is an example of such a lookup table.

【0052】[0052]

【表1】 表1の第1カラムは特定のトラフィック集合体に関する
キー又はユニークハッシュ値を表している。第2カラム
はユニークキーに関する通信チャンネル又はリンクを表
している。従って、表1に示すように、11のキーを持
つ集合体は3のリンクにマップされ、7のキーを持つ集
合体は1のリンクにマップされる。
[Table 1] The first column in Table 1 represents a key or unique hash value for a particular traffic aggregate. The second column represents the communication channel or link for the unique key. Thus, as shown in Table 1, an aggregate with 11 keys maps to a 3 link, and an aggregate with 7 keys maps to a 1 link.

【0053】マッピングユニット133は各ロード調整
間隔又は測定時間間隔Tになったときにルックアップテ
ーブルを更新する。測定時間間隔Tは、一秒等の所定の
時間で、この時間で各通信チャンネルの各キューの測定
が行われる。
The mapping unit 133 updates the look-up table at each load adjustment interval or measurement time interval T. The measurement time interval T is a predetermined time such as one second, and the measurement of each queue of each communication channel is performed at this time.

【0054】測定時間間隔Tはバランスユニット137
により設定され、監視され、及び保持される。バランス
ユニット137も同様にバッファユニット135を監視
し、特に並列通信チャンネル15A〜15Dに関連する
キューを監視する。
The measurement time interval T is the balance unit 137
Set, monitored, and maintained by The balance unit 137 likewise monitors the buffer unit 135, in particular the queues associated with the parallel communication channels 15A to 15D.

【0055】一実施態様においては、単一キューは適応
ネットワークデバイスに接続される各並列通信チャンネ
ルに関するものである。もう一つの実施態様において
は、複数のキューが適応ネットワークデバイスに接続さ
れる各並列通信チャンネルに関するものである。
In one embodiment, a single queue is for each parallel communication channel connected to the adaptive network device. In another embodiment, a plurality of queues are for each parallel communication channel connected to the adaptive network device.

【0056】もう一つ実施態様においては、複数のキュ
ーは幾つかの並列通信チャンネルに関連し、単一のキュ
ーが残りの並列通信チャンネルに関連している。図4で
は、キュー139A〜139Cがそれぞれ並列通信チャ
ンネル15A〜15Cに関連している。また、第1、第
2、第3及び第4のキュー201,203,205及び2
07が通信チャンネル15Dに関するものである。
In another embodiment, multiple queues are associated with several parallel communication channels, and a single queue is associated with the remaining parallel communication channels. In FIG. 4, queues 139A-139C are associated with parallel communication channels 15A-15C, respectively. Also, first, second, third and fourth queues 201, 203, 205 and 2
07 relates to the communication channel 15D.

【0057】バッファユニット135に含まれるキュー
スケジューラ211は第1、第2、第3および第4のキ
ュー201,203,205及び207のサービスオーダ
を決める。サービスオーダは通信チャンネルがキューか
らパケットを検索する順序を決定する。一実施態様にお
いては、キュースケジューラは各キューに対してサービ
スオーダを定義する優先順位を設定する。最高の優先順
位を持つキューは通信チャンネルが初めからパケットを
検索するキューである。もう一つの実施態様において
は、キュースケジューラは順番にサービスオーダを設定
する。
The queue scheduler 211 included in the buffer unit 135 determines the service order of the first, second, third and fourth queues 201, 203, 205 and 207. The service order determines the order in which the communication channel searches for packets from the queue. In one embodiment, the queue scheduler sets priorities that define service orders for each queue. The queue with the highest priority is the queue from which the communication channel searches for packets from the beginning. In another embodiment, the queue scheduler sets the service order in order.

【0058】例えば、キュースケジューラはキューが空
になるまでパケットを検索し、その後は次のキューなど
からパケットを検索する。一実施態様においては、キュ
ースケジューラ211はキュー201に絶対優先順位を
設定することが出来る。従って、キュー203からのパ
ケットはキュー201が空にならない限り検索されな
い。さらに、キュースケジューラはサービスオーダを定
義することにより、またバッファユニットは重要なパケ
ットを最高の優先順位のキューに置くことにより、それ
ぞれサービスの差別化を行い、品質を保証する。
For example, the queue scheduler searches for a packet until the queue becomes empty, and thereafter searches for a packet from the next queue or the like. In one embodiment, queue scheduler 211 can set absolute priority for queue 201. Therefore, packets from queue 203 will not be retrieved unless queue 201 is empty. In addition, the queue scheduler differentiates services and guarantees quality by defining service orders and the buffer unit placing critical packets in the highest priority queue, respectively.

【0059】言い換えれば、あるパケット及びそのアプ
リケーションはサービス順位では高い優先順位又は地位
が与えられ、その後に他のパケットが続く。従って、高
い優先順位のパケットはサービス順位の低い地位を有す
る他のパケットよりも改善されたサービスが与えられ又
品質保証がなされる。
In other words, certain packets and their applications are given a higher priority or status in the service order, followed by other packets. Thus, higher priority packets are provided with improved service and quality assurance over other packets having lower service ranks.

【0060】これまで説明したように、マッピングユニ
ット133はキューマッピングテーブルを備えている。
表2はそのキューマッピングテーブルの一例である。
As described above, the mapping unit 133 has a queue mapping table.
Table 2 is an example of the queue mapping table.

【0061】[0061]

【表2】 キューマッピングテーブルはリンクによりキューに関連
している。表2の第1カラムはそれぞれの通信チャンネ
ル又はリンクに関連するキューを表すユニークキュー番
号を含んでいる。第2カラムはユニークリンクに関連す
るユニークリンク番号を含んでいる。例えば、キュー
5,6及び7はリンク3に割り当てられ、キュー8及び
9はリンク4に割り当てられる。
[Table 2] The queue mapping table is related to the queue by a link. The first column of Table 2 contains a unique queue number representing the queue associated with each communication channel or link. The second column contains the unique link number associated with the unique link. For example, queues 5, 6 and 7 are assigned to link 3 and queues 8 and 9 are assigned to link 4.

【0062】一実施態様においては、キューマッピング
テーブルを使用して、マッピングユニット133及びバ
ランスユニット137はキューの割り当て及び再割り当
てを行う。例えば、リンク3がオーバロードになった場
合は、キュー6及び/又は7がリンク4に再割り当てさ
れる。
In one embodiment, using a queue mapping table, the mapping unit 133 and the balance unit 137 perform queue assignment and reallocation. For example, if link 3 becomes overloaded, queues 6 and / or 7 are reassigned to link 4.

【0063】従って、キュー6がリンク3のオーバロー
ドのために再割り当てされた場合は、トラフィック集合
体も同様にリンク3からリンク4に移動される。もし、
一つの単一キューが一つのリンクに割り当てられると、
一実施態様おいては、新しいキューが必要に応じてバッ
ファ133により動的に創成される。例えば、キュー1
はリンク1に割り当てられ、キュー2はリンク2に割り
当てられる。
Thus, if queue 6 is reallocated due to link 3 overload, the traffic aggregate will be moved from link 3 to link 4 as well. if,
When one single queue is assigned to one link,
In one embodiment, new queues are dynamically created by buffer 133 as needed. For example, queue 1
Is assigned to link 1 and queue 2 is assigned to link 2.

【0064】もし、リンク1がオーバロードになると、
キュー1がリンク2に再割り当てされる。加えて、キュ
ー2をリンク1に再割り当てすることが可能である。又
は、新しいキューがバッファユニット135により動的
に創成されリンク1に割り当てられる。同様に、表1で
説明したルックアップテーブルが変更されることにより
リンクの代わりにキューによりトラフィック集合体を区
分け(map)することが出来る。表3は変更したルッ
クアップテーブルの一例である。
If link 1 is overloaded,
Queue 1 is reassigned to link 2. In addition, it is possible to reassign queue 2 to link 1. Alternatively, a new queue is dynamically created by buffer unit 135 and assigned to link 1. Similarly, the look-up table described in Table 1 can be modified to map traffic aggregates by queue instead of link. Table 3 is an example of a modified lookup table.

【0065】[0065]

【表3】 一実施態様において、トラフィック集合体及びキュー間
のマッピングは固定される、即ち、トラフィック集合体
はバランスユニット137により他のキューに再割り当
てすることは出来ない。従って、リンクがオーバロード
になると、一つのキュー及びキュー内の現在のパケット
は他のリンクに移動される。
[Table 3] In one embodiment, the mapping between traffic aggregates and queues is fixed, ie, traffic aggregates cannot be reassigned to other queues by the balance unit 137. Thus, when a link becomes overloaded, one queue and the current packets in the queue are moved to another link.

【0066】よって、キューが再割り当て又は移動され
ると、現在のパケット及び潜在的な将来のパケットも同
様に移動される。その結果、同時に異なるリンク上で送
出される同じアプリケーションからパケットの転送は防
止される。従って、これらのパケットは再オーダされる
ことはない。
Thus, when a queue is reassigned or moved, the current packet and potential future packets are moved as well. As a result, forwarding of packets from the same application that is simultaneously transmitted on different links is prevented. Therefore, these packets are not reordered.

【0067】各キューは、関連した通信チャンネルを介
して送られるトラフィック集合体に属するパケットを保
持するバッファとして動作する。測定時間間隔Tの間
は、各通信チャンネルのこれらのキューはバランスユニ
ット137により測定される。特に、各通信チャンネル
の平均キュー長が測定される。測定時間間隔Tの間の平
均キュー長は式1a〜1cを用いて決定される。 Qx ← Qx + qp * Lp (式 1a) avg(qx) ← Qx/CxT (式 1b) Qx ← 0 (式 1c) 式1a〜1cでは、Lpはパケットpのサイズ、qpはパケ
ットpが伝送される時の瞬間のキュー長さ、cxは測定
した通信チャンネルの容量(一秒間に伝送される最大ビ
ット数)、及びQxは一時的なキュー合計変数である。数
学的には、測定時間間隔Tの間の平均キュー長avg(qx)は
測定時間間隔Tでの通信チャンネルに対するキュー長さ
の関数の合計を計算し、測定時間間隔Tの終わりでの測
定時間間隔Tで合計を割ることにより決定される。式1
a〜1cにはこの数学的計算が反映されている。
Each queue operates as a buffer holding packets belonging to a traffic aggregate sent over the associated communication channel. During the measurement time interval T, these cues of each communication channel are measured by the balance unit 137. In particular, the average queue length of each communication channel is measured. The average queue length during the measurement time interval T is determined using equations 1a-1c. Q x ← Q x + q p * L p in (Equation 1a) avg (q x) ← Q x / C x T ( Equation 1b) Q x ← 0 (formula 1c) Formula 1 a to 1 c, L p is the packet p , Q p is the instantaneous queue length when packet p is transmitted, c x is the measured capacity of the communication channel (maximum number of bits transmitted per second), and Q x is the temporary queue total Variable. Mathematically, the average queue length avg (q x ) during the measurement time interval T calculates the sum of the functions of the queue lengths for the communication channels at the measurement time interval T and the measurement at the end of the measurement time interval T Determined by dividing the sum by the time interval T. Equation 1
This mathematical calculation is reflected in a to 1c.

【0068】キュー長は固定レベル又はパケットが伝送
されるときの長さに維持されるので、パケットが送られ
るときの通信チャンネルに対するキュー長は最後の瞬間
(Lp/Cx)に対する瞬間のキュー長qpに等しい。よっ
て、合計値は、測定時間間隔Tの間に送られる全てのパ
ケットに対して、送られるパケットのサイズLpを測定さ
れた通信チャンネルの容量Cxで割ったものをqp倍した値
(即ち、qp*(Lp/Cx)に等しい瞬間キュー長の合計とし
て計算される。
Since the queue length is maintained at a fixed level or the length when the packet is transmitted, the queue length for the communication channel when the packet is sent is the queue length for the last moment (L p / C x ). equal to the length q p. Therefore, the total value is a value obtained by multiplying the size of the transmitted packet L p by the measured communication channel capacity C x and multiplying by q p for all the packets transmitted during the measurement time interval T.
(Ie, calculated as the sum of the instantaneous queue lengths equal to q p * (L p / C x ).

【0069】しかしながら、各パケットが伝送される際
の面倒な割り算を避けるために、測定時間間隔Tで測定
された通信チャンネルの容量cxによる割り算は測定時
間間隔Tの終わりで行われる。
However, in order to avoid troublesome division when each packet is transmitted, division by the communication channel capacity c x measured at the measurement time interval T is performed at the end of the measurement time interval T.

【0070】従って、式1a〜1c及び図4を参照し
て、測定時間間隔Tの始めにおいては、通信チャンネルX
に関する一時的なキュー合計変数Qxはゼロである。通信
チャンネルXから送られてくる各パケットに対する測定
時間間隔Tの間に、バランスユニット137は連続して
一時的なキュー合計変数Qx(式 1a)を計算する。言
い換えれば、式1aはパケットが送られるたびに計算さ
れる。
Therefore, referring to equations 1a to 1c and FIG. 4, at the beginning of the measurement time interval T, the communication channel X
The temporary queue sum variable Q x for is zero. During the measurement time interval T for each packet sent from the communication channel X, the balance unit 137 continuously calculates a temporary queue total variable Q x (Eq. 1a). In other words, equation 1a is calculated each time a packet is sent.

【0071】測定時間間隔Tの終わりでは、一時的なキ
ュー合計変数Qxは通信チャンネルXから送られてくるパ
ケットLpのサイズの積のqp倍の瞬間キュー長の合計で
ある。同様に、測定時間間隔Tの終わりでは、通信チャ
ネルに対する平均キュー長avg(q x)は測定された通信チ
ャンネルcx及び測定時間間隔T(式 1b)を分割する
ことにより計算される。
At the end of the measurement time interval T, a temporary key
Queue total variable QxIs the password sent from communication channel X.
Ket LpThe product of the sizes of qpDouble the total instantaneous queue length
is there. Similarly, at the end of the measurement time interval T, the communication channel
Average queue length avg (q x) Indicates the measured communication channel.
Channel cxAnd divide the measurement time interval T (Equation 1b)
It is calculated by

【0072】平均キュー長が計算されれば、一時的なキ
ュー合計変数Qxは次の測定時間間隔T及び一時的なキュ
ー合計変数Qxの次の計算の始まりの準備としてゼロにさ
れる(式 1c)。並列通信チャンネルに関するキューの
各々に対して平均キュー長が測定されると、バランスユ
ニット137は各キューの最小平均キュー長及び最大平
均キュー長を決定する。
Once the average queue length has been calculated, the temporary queue total variable Q x is zeroed in preparation for the next measurement time interval T and the beginning of the next calculation of the temporary queue total variable Q x ( Formula 1c). Once the average queue length has been measured for each of the queues for the parallel communication channels, balance unit 137 determines a minimum average queue length and a maximum average queue length for each queue.

【0073】平均キュー長を測定した通信チャンネルの
容量で割ることにより、平均キューロード比(average q
ueue load ratio)が得られる。従って、バランスユニッ
ト137は、それぞれの並列通信チャンネルの最小及び
最大平均キュー長に対する最小平均キューロード比QR
min及び最大平均キューロード比QRmaxを決定する。
By dividing the average queue length by the measured communication channel capacity, the average queue load ratio (average q
ueue load ratio). Accordingly, the balance unit 137 provides a minimum average queue load ratio QR to a minimum and maximum average queue length for each parallel communication channel.
Determine min and maximum average queue load ratio QR max .

【0074】さらには、バランスユニット137はいず
れかのキューおよび並列通信チャンネルのいずれかがオ
ーバロードか否か、即ち、キューロード比の測定が、通
信チャンネル又はキューに対するリソースが等しく使用
されていないことを示しているか否かを判断する。一実
施態様においては、バランスユニット137は、式2に
示すように、最小平均キューロード比QRminと最大平均
キューロード比QRmaxを比較することによりこの決定を
行う。
Furthermore, the balance unit 137 determines whether any of the queues and any of the parallel communication channels are overloaded, ie, the measurement of the queue load ratio is based on the fact that the resources for the communication channels or queues are not being used equally. Is determined. In one embodiment, balance unit 137 makes this determination by comparing the minimum average queue load ratio QR min and the maximum average queue load ratio QR max, as shown in equation 2.

【0075】QRmax > ∝ (QRmin) (式2) 式2において、最大平均キューロード比QRmaxはqmax/c
maxに等しく、最小平均キューロード比QRminはqmin/c
minに等しい。ここで、qmax 及びqminはそれぞれ最大及
び最小平均キュー長であり、cmax及びcminはそれぞれ最
大及び最小平均キュー長に関する通信チャンネルの容量
である。
QR max > ∝ (QR min ) (Equation 2) In Equation 2, the maximum average queue load ratio QR max is q max / c
equal to max , the minimum average queue load ratio QR min is q min / c
equal to min . Here, q max and q min are the maximum and minimum average queue lengths, respectively, and c max and c min are the communication channel capacities for the maximum and minimum average queue lengths, respectively.

【0076】係数∝は最小平均キューロード比QRmin
示す所定のしきい値に対する変更子(modifier)であ
る。通信チャンネルがバランスユニット137によりオ
ーバロードであると判断された場合は、バランスユニッ
ト137はトラフィック集合体を再割り当てするように
マッピングユニット133に通知する、即ち最も古いト
ラフィック集合体を再割り当てするようにマッピングユ
ニット133に通知する。最も古いトラフィック集合体
は最大平均キューロード比を有する通信チャンネルに最
後に割り当てられたトラフィック集合体である。同様
に、最も古いトラフィック集合体の将来のパケットは、
最大キューロード比のキューを有する通信チャンネルで
はなく、最小キューロード比を有する通信チャンネルに
送出される。
The coefficient ∝ is a modifier for a predetermined threshold value indicated by the minimum average queue load ratio QR min . If the communication channel is determined to be overloaded by the balance unit 137, the balance unit 137 notifies the mapping unit 133 to reallocate the traffic aggregate, ie, to reallocate the oldest traffic aggregate. Notify the mapping unit 133. The oldest traffic aggregate is the last traffic aggregate assigned to the communication channel with the highest average queue load ratio. Similarly, future packets of the oldest traffic aggregate will
It is sent to the communication channel having the minimum queue load ratio, not the communication channel having the queue with the maximum queue load ratio.

【0077】通信チャンネルに対する個々のユニットと
してのトラフィック集合体を割り当てや、再割り当てを
行うマッピングユニット133により、パケットが順番
に送られない可能性は削減される。しかしながら、異な
る通信チャンネルにトラフィック集合体の再マッピング
又は再割り当てが行われている間は、パケットを非順番
に送る可能性がある。
The possibility of packets not being sent in order is reduced by the mapping unit 133, which assigns and reassigns traffic aggregates as individual units to communication channels. However, packets may be sent out of order while traffic aggregates are being remapped or reassigned to different communication channels.

【0078】パケットを非順番に送ることにより、受信
ネットワークデバイスはデータ伝送のためのパケットの
順番を再構成又は再組み立てをするのにより大きな処理
能力が必要になる。式2の係数∝を調整することによ
り、バランスユニット137は出来るだけ非順番にパケ
ットが送出されないよう動的に構成することが可能であ
る。
By sending packets out of order, the receiving network device requires more processing power to reorder or reassemble the order of the packets for data transmission. By adjusting the coefficient の in Equation 2, the balance unit 137 can be dynamically configured so that packets are not sent out of order as much as possible.

【0079】式2の係数∝の値を大きくすることには、
式2の条件に当てはまる頻度が少なくなるので、パケッ
トが非順番に送出されるトラフィック集合体の再割り当
てを少なくする。言い換えれば、バランスユニット13
7は、それ程しばしばではないが、係数∝(QRmin)の
所定のしきい値が多くの場合最大平均キューロード比QR
maxより大きくなるので、キュー及び並列通信チャンネ
ルがオーバロードになったことを判断する。
In order to increase the value of the coefficient の in the equation (2),
Since the frequency of satisfying the condition of Equation 2 is reduced, the reallocation of a traffic aggregate in which packets are transmitted out of order is reduced. In other words, the balance unit 13
7 is less often, but the predetermined threshold of the coefficient ∝ (QR min ) is often the maximum average queue load ratio QR
Since it is larger than max , it is determined that the queue and the parallel communication channel are overloaded.

【0080】また、積N*T(Nはトラフィック集合体数、
Tは測定時間間隔)を用いることにより、バランスユニ
ット137はさらにパケットの非順番送出を動的に最小
にすることができる。積N*Tは全ての測定時間間隔Tに対
してNトラフィック集合体以外の単一トラフィック集合
体が再割り当てされる度合いを表している。パケットの
非順番送出は一つの通信チャンネルから他の通信チャン
ネルへのトラフィック集合体の再割り当ての際に生じる
ので、積N*Tが大きくなればなる程、パケットの非順番
送出は少なくなる。
The product N * T (N is the number of traffic aggregates,
(T is a measurement time interval), the balance unit 137 can further dynamically minimize out-of-order transmission of packets. The product N * T represents the degree to which a single traffic aggregate other than the N traffic aggregate is reallocated for all measurement time intervals T. Since out-of-order packet transmission occurs during the reassignment of traffic aggregates from one communication channel to another, the larger the product N * T, the less out-of-order packet transmission.

【0081】逆に、積N*Tが小さければ小さい程、パケ
ットの非順番送出がしばしば起こることになる。しかし
ながら、積N*Tが小さければ小さい程、しばしばトラフ
ィック集合体が再割り当てされる。従って、各通信チャ
ンネルに関連するキューのロード又は長さのバランスを
取るように、各通信チャンネルに割り当てられたトラフ
ィック集合体の数をよりバランスよくすることが出来
る。
Conversely, the smaller the product N * T, the more often out-of-order transmission of packets will occur. However, the smaller the product N * T, the more often traffic aggregates are reassigned. Thus, the number of traffic aggregates assigned to each communication channel can be better balanced so as to balance the load or length of the queue associated with each communication channel.

【0082】図4と共に図3に立ち返って、一実施態様
においては、図4に示す動作ユニットは図3に示す処理
を行うように構成されている。ステップ21及び23は
割り当てユニット131により実行される。ステップ2
5はマッピングユニット133により実行され、ステッ
プ27はバッファユニット135により実行される。ス
テップ29、31、33、35はバランスユニット13
7により実行される。同様に、他の実施態様に於いて
は、図4に示すユニットにより実行される動作は、図3
に示す処理に包含される。
Returning to FIG. 3 together with FIG. 4, in one embodiment, the operation unit shown in FIG. 4 is configured to perform the processing shown in FIG. Steps 21 and 23 are performed by the allocation unit 131. Step 2
5 is performed by the mapping unit 133, and step 27 is performed by the buffer unit 135. Steps 29, 31, 33 and 35 are performed by the balance unit 13
7 is performed. Similarly, in another embodiment, the operations performed by the unit shown in FIG.
Are included in the processing shown in FIG.

【0083】図5は本発明の適応ネットワークデバイス
の一実施態様のブロック図を示す。一実施態様において
は、適応ネットワークデバイスは独立型ネットワークデ
バイス又はファームウエア又はソフトウエアによりプロ
グラムされた例えばパーソナルコンピュータ等のコンピ
ューティングデバイスである。適応ネットワークデバイ
スはネットワークインターフェースデバイス81及び8
3A〜Cを介してデータを送受信する。
FIG. 5 shows a block diagram of one embodiment of the adaptive network device of the present invention. In one embodiment, the adaptive network device is a standalone network device or a computing device, such as a personal computer, programmed by firmware or software. Adaptive network devices are network interface devices 81 and 8
Data is transmitted and received via 3A-C.

【0084】ネットワークインターフェースデバイス8
1により受信されるデータはネットワークインターフェ
ースデバイス83A〜83Cに接続されている他の計算
機に接続される種種の計算機から送られてくる。データ
パケットの連続した流れはネットワークインターフェー
スデバイス81により連続して受信されバス85を介し
て転送される。
Network interface device 8
The data received by 1 is sent from various computers connected to other computers connected to the network interface devices 83A to 83C. The continuous stream of data packets is continuously received by the network interface device 81 and transferred via the bus 85.

【0085】バス85に接続されるプロセッサ87は転
送データを検証してこのデータをどの特定のキューに保
持するかを判断する。関連する通信チャンネル91A〜
91Cに対するキューはメモリー89に記憶される。キ
ューはさまざまなサイズ及び構成をしている。上記の実
施態様においては、キューはメモリー89に保持される
FIFO(First In First Out)のデータ構成である。
The processor 87 connected to the bus 85 verifies the transfer data and determines which specific queue holds the data. Related communication channels 91A-
The queue for 91C is stored in memory 89. The queues are of various sizes and configurations. In the above embodiment, the queue is held in memory 89
This is a data structure of FIFO (First In First Out).

【0086】メモリー89はまたパケットグループが通
信チャンネル91A〜91Cに割り当てられるルックア
ップテーブル(lookup table)を記憶している。メモリー
89内のキューがプロセッサ87により一杯になると、
メモリー89内のキューに関するネットワークデバイス
83A〜83Cは適当なキューからデータを削除する。
ネットワークインターフェースデバイス83A〜83C
はそれぞれの通信チャンネル91A〜91Cの有用性に
基づいてキューからデータを削除する。
The memory 89 also stores a look-up table in which packet groups are assigned to the communication channels 91A to 91C. When the queue in the memory 89 is filled by the processor 87,
The network devices 83A-83C for queues in memory 89 delete data from the appropriate queues.
Network interface devices 83A to 83C
Deletes data from the queue based on the availability of each communication channel 91A-91C.

【0087】通信チャンネル91A〜91CはOC-1レ
ベルの光ファイバ等の並列狭帯域幅通信チャンネルであ
る。従って、データがネットワークインターフェースデ
バイス81を通じて転送されて来ると、このデータは直
ちに並列通信チャンネル91A〜91Cを通じて転送さ
れて行く。
The communication channels 91A to 91C are parallel narrow bandwidth communication channels such as OC-1 level optical fibers. Therefore, when data is transferred through the network interface device 81, the data is immediately transferred through the parallel communication channels 91A to 91C.

【0088】さらに、並列通信チャンネルのキューはプ
ロセッサにより維持されバランスがとられている。プロ
セッサはエントリーを変更し、即ちルックアップテーブ
ル内のエントリーを再マッピングして、キューのバラン
スを保ち、一つのキュー及び一つの通信チャンネルがオ
ーバロードになるのを防いでいる。プロセッサはまた測
定を行い、分析を行って、このバランスを保っている。
In addition, queues for parallel communication channels are maintained and balanced by the processor. The processor changes the entries, ie remaps the entries in the look-up table, to balance the queues and prevent one queue and one communication channel from being overloaded. The processor also makes measurements and analyzes to keep this balance.

【0089】従って、本発明は適応ネットワークデバイ
スを使用したネットワークのための適応ネットワークデ
バイス及び方法を提供する。本発明は特定の実施態様を
基づいて説明されているが、当業者であれば更に種種の
変更及び修正が可能である。したがって、本発明は上記
した以外でも実施できることは理解できるであろう。 (付記1) パケットを伝送する複数の並列通信チャン
ネルを集合させ、各並列通信チャンネルは関連するキュ
ーに接続される適応逆多重化方法において、前記複数の
並列通信チャンネルの各々に関する前記キューにパケッ
トを割り当てるステップと、前記複数の並列通信チャン
ネルの各々に対して平均キューロード比を計算するステ
ップと、最大平均キューロード比により前記複数の並列
通信チャンネルの第1のチャンネルに割り当てられたパ
ケットを最低平均キューロード比により前記複数の並列
通信チャンネルの第2のチャンネルに再割り当てするス
テップと、を有することを特徴とする適応逆多重化方
法。 (付記2) 付記1記載において、複数のトラフィック
集合体を決定するステップと、所定のマップに基づいて
複数のトラフィック集合体の各々を前記複数の並列通信
チャンネルの各々に割り当てるステップとを有すること
を特徴とする適応逆多重化方法。 (付記3) 付記2記載において、複数のトラフィック
集合体の各々を表すルックアップテーブルから前記複数
の並列通信チャンネルの各々に対して所定のマップが決
められることことを特徴とする適応逆多重化方法。 (付記4) 付記3記載において、前記複数のトラフィ
ック集合体の各々は少なくとも一つの所定の属性を共通
に持っているパケット組であることことを特徴とする適
応逆多重化方法。 (付記5) 付記4記載において、少なくとも一つの所
定の属性はパケットの宛先に基づいて決まる共通キーで
あることを特徴とする適応逆多重化方法。 (付記6) 付記5記載において、前記共通キーはハッ
シュ値であり、このハッシュ値とはパケットの宛先イン
ターネットプロトコルアドレスに基づくハッシュ値関数
を用いて計算される一意の値であることを特徴とする適
応逆多重化方法。 (付記7) 付記1記載において、前記パケットの割り
当ては、複数のトラフィック集合体を決定するステップ
と、複数のトラフィック集合体の各々をランダムに前記
複数の並列通信チャンネルの各々に割り当てるステップ
を有することを特徴ことする適応逆多重化方法。 (付記8) 付記7記載において、前記複数のトラフィ
ック集合体の各々は、少なくとも一つの共通の所定の属
性を有するパケット組であることを特徴とする適応逆多
重化方法。 (付記9) 付記8記載において、前記少なくとも一つ
の所定の属性はパケットの宛先に基づいて決まる共通キ
ーであることを特徴とする適応逆多重化方法。 (付記10) 付記9記載において、前記共通キーはハ
ッシュ値であり、このハッシュ値とはパケットの宛先イ
ンターネットプロトコルアドレスに基づくハッシュ値関
数を用いて計算される一意の値であることを特徴とする
適応逆多重化方法。 (付記11) 付記1記載の複数の通信チャンネルの各
々に対して平均キューロード比を計算することにおい
て、並列通信チャンネルの各々に対して、キューに割り
当てられるパケットに含まれる全バイトを平均キュー長
として測定するステップと、複数の並列通信チャンネル
の各々の容量を決定するステップと、測定された平均キ
ュー長さを複数の並列通信チャンネルの各々に対して決
定された各容量で割るステップを含むことを特徴とする
適応逆多重化方法。 (付記12) 付記12記載の通信チャンネルの各々の
平均キュー長の測定において、キューから送出する転送
パケットのサイズを測定するステップと、転送パケット
がキューから送出される際のキューの長さを決定するス
テップと、キューに関連する複数の並列通信チャンネル
の内の一つのチャンネルの容量を決定するステップを含
むことを特徴とする適応逆多重化方法。 (付記13) 付記記載12記載の並列通信チャンネル
の各々の平均キュー長の測定において、所定の測定時間
間隔の間にキューから出力される全てのパケットに対し
て、伝送パケットがキューから出力される時に決まるキ
ューの長さにより決定される伝送パケットのサイズの積
を合計するステップと積の合計をキューに関する複数の
並列通信チャンネル及び所定の測定時間間隔の内の一つ
により決定される容量で割るステップを含むことを特徴
とする適応逆多重化方法。 (付記14) 付記12記載において、所定の測定時間
間隔は約0.5秒から1.5秒であることを特徴とする
適応逆多重化方法。 (付記15) 付記1に述べた方法において、所定の時
間間隔毎にパケットの再割り当てを続けることを含むこ
とを特徴とする適応逆多重化方法。 (付記16) 付記12記載において、所定の時間間隔
は1秒であることを特徴とする適応逆多重化方法。 (付記17) 第1のネットワークと、第1のネットワ
ークに接続される複数の並列通信チャンネルと、第2の
ネットワークと、第2のネットワーク及び複数の通信チ
ャンネルに接続されるネットワークスイッチで、複数の
並列通信チャンネルの各々に関する複数のキューを含
み、複数のキュー各々の平均キューロード比を測定し、
パケットを測定された平均キューロード比に基づき複数
のキューの各々に割り当て又は再割り当てを行うことを
特徴とする適応ネットワークシステム。 (付記18) 付記17記載において、前記適応ネット
ワークデバイスで、ネットワークスイッチは、複数のキ
ューを有するメモリーと、各キューに対してパケットの
割り当て又は再割り当てを行い、複数の並列通信チャン
ネル各々の平均キューロード比を測定するように構成さ
れるプロセッサを特徴とする適応ネットワークシステ
ム。 (付記19) 複数の通信チャンネルを通じてパケット
を伝送する適応ネットワークデバイスにおいて、複数の
並列通信チャンネルに接続される複数のネットワークイ
ンターフェースデバイスと、複数のネットワークインタ
ーフェースデバイスに接続され、複数の通信チャンネル
各々に関する複数のキューを記憶するメモリーと、メモ
リーに接続され、複数の通信チャンネル各々の平均キュ
ーロード比を測定し、測定された平均キューロード比に
基づいてパケットを複数のキューに割り当て、又再割り
当てを行うプロセッサとを有することを特徴とする適応
ネットワークデバイス。 (付記20) 付記19記載において、プロセッサはさ
らに複数の通信チャンネル各々の容量を決定し、パケッ
トをトラック集合体にグループ化し、測定した平均キュ
ーロード比に基づいて、複数の通信チャンネル各々にト
ラフィック集合体を割り当てることにより、パケットを
割り当て及び再割り当てを行うように構成されているこ
とを特徴とする適応ネットワークデバイス。 (付記21) 付記20記載の適応ネットワークデバイ
スにおいて、トラフィック集合体各々は少なくとも一つ
の所定の属性を共通に持つパケットの組であることを特
徴とする適応ネットワークデバイス。 (付記22) 付記21記載の適応ネットワークデバイ
スにおいて、少なくとも一つの所定の属性はパケットの
宛先に基づいて決まる共通キーであることを特徴とする
適応ネットワークデバイス。 (付記23) 付記22記載の適応ネットワークデバイ
スにおいて、共通キーはハッシュ値であり、このハッシ
ュ値はパケットの宛先インターネットプロトコルアドレ
スに基づくハッシュ関数を用いて計算される一意の数字
であることを特徴とする適応ネットワークデバイス。 (付記24) 付記23記載の適応ネットワークデバイ
スにおいて、プロセッサは、複数の通信チャンネル各々
に関する複数のキュー各々に割り当てられるパケットの
全バイト数になるように複数の通信チャンネル各々に平
均キュー長さを測定し、関連するキューの複数の通信チ
ャンネル各々の容量を決定し、決定した平均キュー長さ
を複数の通信チャンネル各々の決定した容量で割ること
により複数の通信チャンネル各々の平均キューロード比
を測定することを特徴とする適応ネットワークデバイ
ス。 (付記25) 付記24記載の適応ネットワークデバイ
スにおいて、プロセッサは複数の所定の時間間隔に対
し、複数の通信チャンネル各々の平均キューロード比を
連続して測定するように構成され、又複数の所定の時間
間隔に対して測定された平均キューロード比に基づいて
パケットを各キューに再割り当てを行うことを特徴とす
る適応ネットワークデバイス。 (付記26) 付記25記載の適応ネットワークデバイ
スにおいて、複数の時間間隔各々の長さは1秒であるこ
とを特徴とする適応ネットワークデバイス。 (付記27) 複数の並列通信チャンネルを通じてパケ
ットを伝送する適応ネットワークデバイスおいて、複数
の通信チャンネルに接続される複数のネットワークイン
ターフェースデバイスと、複数のネットワークインター
フェースデバイスに接続され、複数の通信チャンネル各
々に関する複数のキューを記憶するメモリーと、メモリ
ーに接続され、複数の通信チャンネル各々の平均キュー
ロード比を測定し、測定された平均キューロード比に基
づいて複数の通信チャンネル各々に複数のキューから成
る一組のキューを割り当てるプロセッサと、を有するこ
とを特徴とする適応ネットワークデバイス。 (付記28) 付記27記載の適応ネットワークデバイ
スにおいて、プロセッサは複数の通信チャンネル各々の
平均キューロード比を測定し、パケットをトラフィック
集合体にグループ化し、複数の通信チャンネル各々の測
定された平均キューロード比に基づいてトラフィック集
合体を複数の通信チャンネル各々に割り当てることによ
りパケットを割り当てるように構成されていることを特
徴とする適応ネットワークデバイス。 (付記29) 付記28記載の適応ネットワークデバイ
スにおいて、トラフィック集合体の各々は少なくとも一
つの所定の属性を共通に持つパケットの組であることを
特徴とする適応ネットワークデバイス。 (付記30) 付記29記載の適応ネットワークデバイ
スにおいて、少なくとも一つの所定の属性はパケットの
宛先に基づいて決まる共通キーであることを特徴とする
適応ネットワークデバイス。 (付記31) 付記30記載の適応ネットワークデバイ
スにおいて、共通キーはハッシュ値であり、このハッシ
ュ値はパケットの宛先インターネットプロトコルアドレ
スに基づくハッシュ関数を用いて計算される一意の数字
であることを特徴とする適応ネットワークデバイス。 (付記32)付記31記載の適応ネットワークデバイス
において、さらにメモリー及び複数のネットワークデバ
イスに接続され、パケットが複数のキューの組から抽出
されるサービス順位を決めるるキュースケジューラを含
んでいることを特徴とする適応ネットワークデバイス。 (付記33)付記32記載の適応ネットワークデバイス
において、プロセッサは複数の所定の時間間隔に対して
複数の通信チャンネル各々の平均キューロード比を連続
して測定し、複数の所定の時間間隔各々に対して測定さ
れた平均キューロード比に基づいて複数のキューから成
るキューの組を複数の通信チャンネル各々に再割り当て
るように構成されていることを特徴とする適応ネットワ
ークデバイス。 (付記34) 付記33記載の適応ネットワークデバイ
スにおいて、所定の複数の時間間隔の各々は少なくとも
0.5秒の長さであることを特徴とする適応ネットワー
クデバイス。
Accordingly, the present invention provides an adaptive network device and method for a network using the adaptive network device. Although the invention has been described with reference to specific embodiments, those skilled in the art will perceive other changes and modifications. Thus, it will be appreciated that the invention can be practiced other than as described above. (Supplementary Note 1) In an adaptive demultiplexing method, a plurality of parallel communication channels for transmitting packets are aggregated, and each parallel communication channel is connected to an associated queue. Packets are stored in the queue for each of the plurality of parallel communication channels. Allocating; calculating an average queue load ratio for each of the plurality of parallel communication channels; and averaging a packet allocated to a first one of the plurality of parallel communication channels by a maximum average queue load ratio. Reallocating to a second of the plurality of parallel communication channels according to a queue load ratio. (Supplementary note 2) The statement in Supplementary note 1, comprising a step of determining a plurality of traffic aggregates and a step of assigning each of the plurality of traffic aggregates to each of the plurality of parallel communication channels based on a predetermined map. A featured adaptive demultiplexing method. (Supplementary note 3) The adaptive demultiplexing method according to supplementary note 2, wherein a predetermined map is determined for each of the plurality of parallel communication channels from a look-up table representing each of the plurality of traffic aggregates. . (Supplementary note 4) The adaptive demultiplexing method according to supplementary note 3, wherein each of the plurality of traffic aggregates is a packet set having at least one predetermined attribute in common. (Supplementary note 5) The adaptive demultiplexing method according to supplementary note 4, wherein at least one predetermined attribute is a common key determined based on a destination of the packet. (Supplementary Note 6) In the supplementary note 5, the common key is a hash value, and the hash value is a unique value calculated using a hash value function based on a destination Internet protocol address of the packet. Adaptive demultiplexing method. (Supplementary Note 7) In the supplementary note 1, the assignment of the packet includes a step of determining a plurality of traffic aggregates and a process of randomly assigning each of the plurality of traffic aggregates to each of the plurality of parallel communication channels. An adaptive demultiplexing method characterized by: (Supplementary note 8) The adaptive demultiplexing method according to supplementary note 7, wherein each of the plurality of traffic aggregates is a packet set having at least one common predetermined attribute. (Supplementary note 9) The adaptive demultiplexing method according to supplementary note 8, wherein the at least one predetermined attribute is a common key determined based on a destination of the packet. (Supplementary Note 10) In the supplementary note 9, the common key is a hash value, and the hash value is a unique value calculated by using a hash value function based on a destination Internet protocol address of the packet. Adaptive demultiplexing method. (Supplementary Note 11) In calculating the average queue load ratio for each of the plurality of communication channels described in Supplementary Note 1, for each of the parallel communication channels, all bytes included in the packet allocated to the queue are averaged queue length. Measuring, determining the capacity of each of the plurality of parallel communication channels, and dividing the measured average queue length by each capacity determined for each of the plurality of parallel communication channels. Adaptive demultiplexing method. (Supplementary Note 12) In the measurement of the average queue length of each communication channel described in Supplementary Note 12, a step of measuring a size of a transfer packet transmitted from the queue, and determining a queue length when the transfer packet is transmitted from the queue. And determining the capacity of one of the plurality of parallel communication channels associated with the queue. (Supplementary Note 13) In the measurement of the average queue length of each of the parallel communication channels according to Supplementary Note 12, transmission packets are output from the queue for all packets output from the queue during a predetermined measurement time interval. Summing the product of the sizes of the transmitted packets determined by the time length of the queue, and dividing the sum by the capacity determined by the plurality of parallel communication channels for the queue and one of the predetermined measurement time intervals. An adaptive demultiplexing method comprising the steps of: (Supplementary note 14) The adaptive demultiplexing method according to supplementary note 12, wherein the predetermined measurement time interval is approximately 0.5 to 1.5 seconds. (Supplementary note 15) The adaptive demultiplexing method according to Supplementary note 1, characterized in that the method further includes continuously reallocating packets at predetermined time intervals. (Supplementary note 16) The adaptive demultiplexing method according to supplementary note 12, wherein the predetermined time interval is one second. (Supplementary Note 17) A first network, a plurality of parallel communication channels connected to the first network, a second network, a network switch connected to the second network and the plurality of communication channels, Including a plurality of queues for each of the parallel communication channels, measuring an average queue load ratio of each of the plurality of queues,
An adaptive network system for allocating or reallocating packets to each of a plurality of queues based on a measured average queue load ratio. (Supplementary note 18) In the adaptive network device according to Supplementary note 17, wherein the network switch assigns or reassigns a packet to each of the plurality of queues and a memory having a plurality of queues, and an average queue of each of the plurality of parallel communication channels. An adaptive network system comprising a processor configured to measure a load ratio. (Supplementary Note 19) In an adaptive network device that transmits a packet through a plurality of communication channels, a plurality of network interface devices connected to a plurality of parallel communication channels, and a plurality of network interface devices connected to the plurality of network interface devices and associated with each of the plurality of communication channels. And a memory connected to the memory for measuring an average queue load ratio of each of a plurality of communication channels, and allocating and reallocating packets to a plurality of queues based on the measured average queue load ratio. An adaptive network device comprising: a processor; (Supplementary note 20) In the supplementary note 19, the processor further determines a capacity of each of the plurality of communication channels, groups the packets into a track aggregate, and sets a traffic aggregation for each of the plurality of communication channels based on the measured average queue load ratio. An adaptive network device configured to assign and reassign packets by assigning a body. (Supplementary note 21) The adaptive network device according to supplementary note 20, wherein each of the traffic aggregates is a set of packets having at least one predetermined attribute in common. (Supplementary note 22) The adaptive network device according to supplementary note 21, wherein the at least one predetermined attribute is a common key determined based on a destination of the packet. (Supplementary note 23) The adaptive network device according to supplementary note 22, wherein the common key is a hash value, and the hash value is a unique number calculated using a hash function based on a destination Internet protocol address of the packet. Adaptable network device. (Supplementary note 24) In the adaptive network device according to Supplementary note 23, the processor measures an average queue length for each of the plurality of communication channels so as to be a total number of bytes of a packet allocated to each of the plurality of queues for each of the plurality of communication channels. Determining the capacity of each of the plurality of communication channels of the associated queue, and measuring the average queue load ratio of each of the plurality of communication channels by dividing the determined average queue length by the determined capacity of each of the plurality of communication channels. An adaptive network device, characterized in that: (Supplementary note 25) In the adaptive network device according to Supplementary note 24, the processor is configured to continuously measure an average queue load ratio of each of the plurality of communication channels for a plurality of predetermined time intervals, and the plurality of the predetermined plurality of communication channels. An adaptive network device for reassigning packets to each queue based on an average queue load ratio measured over a time interval. (Supplementary note 26) The adaptive network device according to supplementary note 25, wherein each of the plurality of time intervals has a length of one second. (Supplementary note 27) In an adaptive network device that transmits a packet through a plurality of parallel communication channels, a plurality of network interface devices connected to the plurality of communication channels, and a plurality of network interface devices connected to the plurality of network interface devices and related to each of the plurality of communication channels. A memory for storing a plurality of queues, an average queue load ratio of each of the plurality of communication channels connected to the memory, and a plurality of queues for each of the plurality of communication channels based on the measured average queue load ratio. A processor for assigning a set of queues. (Supplementary note 28) The adaptive network device of Supplementary note 27, wherein the processor measures an average queue load ratio of each of the plurality of communication channels, groups the packets into a traffic aggregate, and measures the measured average queue load of each of the plurality of communication channels. An adaptive network device configured to assign packets by assigning a traffic aggregate to each of a plurality of communication channels based on a ratio. (Supplementary note 29) The adaptive network device according to supplementary note 28, wherein each of the traffic aggregates is a set of packets having at least one predetermined attribute in common. (Supplementary note 30) The adaptive network device according to supplementary note 29, wherein at least one predetermined attribute is a common key determined based on a destination of the packet. (Supplementary note 31) The adaptive network device according to supplementary note 30, wherein the common key is a hash value, and the hash value is a unique number calculated using a hash function based on a destination Internet protocol address of the packet. Adaptable network device. (Supplementary note 32) The adaptive network device according to supplementary note 31, further comprising a queue scheduler connected to the memory and the plurality of network devices, the queue scheduler determining a service order in which a packet is extracted from a plurality of sets of queues. Adaptable network device. (Supplementary note 33) In the adaptive network device according to Supplementary note 32, the processor continuously measures an average queue load ratio of each of the plurality of communication channels for the plurality of predetermined time intervals, and for each of the plurality of predetermined time intervals. An adaptive network device configured to reassign a set of queues to each of a plurality of communication channels based on the measured average queue load ratio. (Supplementary note 34) The adaptive network device according to supplementary note 33, wherein each of the plurality of predetermined time intervals is at least 0.5 seconds in length.

【0090】[0090]

【発明の効果】本発明によれば、最大キューロード比の
チャンネルを最小キューロード比のチャネルにパケット
を再割り当てすることにより前記並列チャンネルの負荷
のバランスを調整することができる。
According to the present invention, it is possible to adjust the load balance of the parallel channels by reallocating the packet having the maximum queue load ratio to the channel having the minimum queue load ratio.

【0091】また、各平均キューロード比に基づき、パ
ケットを複数のキューの各々に割り当てまたは再割り当
てを行うことにより前記並列チャンネルの負荷バランス
を調整することができる。
Further, the load balance of the parallel channel can be adjusted by allocating or reallocating packets to each of the plurality of queues based on each average queue load ratio.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明における適応ネットワークシステムの
一実施態様である概念的モデルのブロック図である。
FIG. 1 is a block diagram of a conceptual model that is one embodiment of an adaptive network system according to the present invention.

【図2】 本発明における適応ネットワークデバイスの
一実施態様の簡略化されたブロック図である。
FIG. 2 is a simplified block diagram of one embodiment of an adaptive network device according to the present invention.

【図3】 適応ネットワークデバイスの一実施態様によ
り実行されるデータパケットを適当なネットワークに送
る処理の流れ図である。
FIG. 3 is a flowchart of a process for sending a data packet to an appropriate network performed by one embodiment of an adaptive network device.

【図4】 本発明における適応ネットワークデバイスの
一実施態様の詳細モデルを示す図である。
FIG. 4 is a diagram showing a detailed model of an embodiment of the adaptive network device according to the present invention.

【図5】 本発明における適応ネットワークデバイスの
一実施態様のブロック図である。
FIG. 5 is a block diagram of one embodiment of an adaptive network device according to the present invention.

【符号の説明】[Explanation of symbols]

17 適応ネットワークデバイス 11a 第1のネットワーク 11b 第2のネットワーク 19a〜e コンピュータ 21a〜d コンピュータ 27 適応ネットワークデバイス 17 adaptive network device 11a first network 11b second network 19a-e computer 21a-d computer 27 adaptive network device

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04L 12/56 H04L 11/20 102F (72)発明者 谷口 智彦 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5K028 KK03 SS24 5K030 GA13 HA08 HC01 HC14 HD05 HD06 JA01 LC01 LE03 MB15 5K033 AA03 CB08 CC01 DA05 EC03 5K034 EE08 EE11 HH01 HH02 HH21──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) H04L 12/56 H04L 11/20 102F (72) Inventor Tomohiko Taniguchi 4-1-1 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa Prefecture. No. 1 Fujitsu Limited F term (reference) 5K028 KK03 SS24 5K030 GA13 HA08 HC01 HC14 HD05 HD06 JA01 LC01 LE03 MB15 5K033 AA03 CB08 CC01 DA05 EC03 5K034 EE08 EE11 HH01 HH02 HH21

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 パケットを伝送する複数の並列通信チャ
ンネルを集合させ、各並列通信チャンネルは関連するキ
ューに接続される適応逆多重化方法において、 前記複数の並列通信チャンネルの各々に関する前記キュ
ーにパケットを割り当てるステップと、 前記複数の並列通信チャンネルの各々に対して平均キュ
ーロード比を計算するステップと、 最大平均キューロード比により前記複数の並列通信チャ
ンネルの第1のチャンネルに割り当てられたパケットを
最低平均キューロード比により前記複数の並列通信チャ
ンネルの第2のチャンネルに再割り当てするステップ
と、 を有することを特徴とする適応逆多重化方法。
1. An adaptive demultiplexing method, wherein a plurality of parallel communication channels for transmitting packets are aggregated, each parallel communication channel being connected to an associated queue, wherein a packet is stored in the queue for each of the plurality of parallel communication channels. Calculating an average queue load ratio for each of the plurality of parallel communication channels; and determining a packet allocated to a first channel of the plurality of parallel communication channels by a maximum average queue load ratio. Reallocating to a second of the plurality of parallel communication channels according to an average queue load ratio.
【請求項2】 第1のネットワークと、 第1のネットワークに接続される複数の並列通信チャン
ネルと、 第2のネットワークと、 第2のネットワーク及び複数の通信チャンネルに接続さ
れるネットワークスイッチで、複数の並列通信チャンネ
ルの各々に関する複数のキューを含み、複数のキュー各
々の平均キューロード比を測定し、パケットを測定され
た平均キューロード比に基づき複数のキューの各々に割
り当て又は再割り当てを行うことを特徴とする適応ネッ
トワークシステム。
2. A first network, a plurality of parallel communication channels connected to the first network, a second network, and a network switch connected to the second network and the plurality of communication channels. Measuring the average queue load ratio of each of the plurality of queues, and assigning or reallocating packets to each of the plurality of queues based on the measured average queue load ratio. An adaptive network system characterized by the following.
【請求項3】 複数の通信チャンネルを通じてパケット
を伝送する適応ネットワークデバイスにおいて、 複数の並列通信チャンネルに接続される複数のネットワ
ークインターフェースデバイスと、 複数のネットワークインターフェースデバイスに接続さ
れ、複数の通信チャンネル各々に関する複数のキューを
記憶するメモリーと、 メモリーに接続され、複数の通信チャンネル各々の平均
キューロード比を測定し、測定された平均キューロード
比に基づいてパケットを複数のキューに割り当て、又再
割り当てを行うプロセッサとを有することを特徴とする
適応ネットワークデバイス。
3. An adaptive network device for transmitting a packet through a plurality of communication channels, wherein the plurality of network interface devices are connected to a plurality of parallel communication channels, and the plurality of network interface devices are connected to the plurality of network interface devices. A memory for storing a plurality of queues, connected to the memory, measuring an average queue load ratio of each of a plurality of communication channels, and allocating a packet to a plurality of queues based on the measured average queue load ratio and reallocating packets; An adaptive network device.
【請求項4】 複数の並列通信チャンネルを通じてパケ
ットを伝送する適応ネットワークデバイスおいて、 複数の通信チャンネルに接続される複数のネットワーク
インターフェースデバイスと、 複数のネットワークインターフェースデバイスに接続さ
れ、複数の通信チャンネル各々に関する複数のキューを
記憶するメモリーと、 メモリーに接続され、複数の通信チャンネル各々の平均
キューロード比を測定し、測定された平均キューロード
比に基づいて複数の通信チャンネル各々に複数のキュー
から成る一組のキューを割り当てるプロセッサと、 を有することを特徴とする適応ネットワークデバイス。
4. An adaptive network device for transmitting a packet through a plurality of parallel communication channels, a plurality of network interface devices connected to the plurality of communication channels, and a plurality of communication channels connected to the plurality of network interface devices. A memory for storing a plurality of queues for each of the plurality of communication channels, wherein the plurality of queues are connected to the memory to measure an average queue load ratio of each of the plurality of communication channels, and to each of the plurality of communication channels based on the measured average queue load ratio. A processor for allocating a set of queues.
JP2000278764A 2000-09-13 2000-09-13 Adaptive demultiplexing method and system Withdrawn JP2002094605A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000278764A JP2002094605A (en) 2000-09-13 2000-09-13 Adaptive demultiplexing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000278764A JP2002094605A (en) 2000-09-13 2000-09-13 Adaptive demultiplexing method and system

Publications (1)

Publication Number Publication Date
JP2002094605A true JP2002094605A (en) 2002-03-29

Family

ID=18763882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000278764A Withdrawn JP2002094605A (en) 2000-09-13 2000-09-13 Adaptive demultiplexing method and system

Country Status (1)

Country Link
JP (1) JP2002094605A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330476B2 (en) 2001-03-21 2008-02-12 Nec Corporation Queue allocation system and queue allocation method of a packet exchanger

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330476B2 (en) 2001-03-21 2008-02-12 Nec Corporation Queue allocation system and queue allocation method of a packet exchanger

Similar Documents

Publication Publication Date Title
US6625161B1 (en) Adaptive inverse multiplexing method and system
US6718393B1 (en) System and method for dynamic distribution of data traffic load through multiple channels
US7746776B1 (en) Systems and method for dropping data using a drop profile
US7711005B1 (en) Systems and methods for determining the bandwidth used by a queue
US8009561B1 (en) Systems and methods for permitting queues to oversubscribe
JP4903815B2 (en) Method and system for improving traffic distribution over a communications network
EP0408648B1 (en) Multichannel bandwith allocation
CN1449610A (en) Multi-path dynamic routing algorithm
JPH09186701A (en) Optimal bandwidth allocation method and apparatus
US10063478B2 (en) Switching device and control method of switching device
US6611874B1 (en) Method for improving routing distribution within an internet and system for implementing said method
US7554914B1 (en) System and method for adaptively balancing network traffic over router output ports
US7684422B1 (en) Systems and methods for congestion control using random early drop at head of buffer
CN109257282B (en) Data transmission method and device
JP2002094605A (en) Adaptive demultiplexing method and system
Sailer et al. HTMT: High-Throughput multipath tunnelling for asymmetric paths
Schmidt et al. Scalable bandwidth optimization in advance reservation networks
JP3851611B2 (en) Method and system for assigning a line to a new service request in a communication network
JPH1013472A (en) Delay-exceeded-discard processing system in network connection device having bridging function
CN104780116A (en) Method and device for distributing loads to multiple AAA servers in network
US20250202834A1 (en) Method and apparatus for avoiding packet mis-ordering when using virtual channel fifos in a direct interconnect computer network
JP2017060136A (en) Network diagnostic system and network diagnostic method
JP2626585B2 (en) Communication resource management type packet switching equipment
Al-Dhaher et al. Achieving distributed buffering in multi-path routing using fair allocation
CN117938779A (en) Hierarchical service scheduling method for flexible Ethernet and wavelength division multiplexing hybrid network

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071204