JP2008236653A - Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program - Google Patents

Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program Download PDF

Info

Publication number
JP2008236653A
JP2008236653A JP2007076930A JP2007076930A JP2008236653A JP 2008236653 A JP2008236653 A JP 2008236653A JP 2007076930 A JP2007076930 A JP 2007076930A JP 2007076930 A JP2007076930 A JP 2007076930A JP 2008236653 A JP2008236653 A JP 2008236653A
Authority
JP
Japan
Prior art keywords
packet
sequence number
output
input
processing
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.)
Pending
Application number
JP2007076930A
Other languages
Japanese (ja)
Inventor
Hajime Matsukawa
元 松川
Hiroshi Ikeda
弘志 池田
Akira Kondo
亮 近藤
Daisuke Muto
大輔 武藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
NEC Communication Systems Ltd
Original Assignee
NEC Corp
NEC Communication Systems 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 NEC Corp, NEC Communication Systems Ltd filed Critical NEC Corp
Priority to JP2007076930A priority Critical patent/JP2008236653A/en
Publication of JP2008236653A publication Critical patent/JP2008236653A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem wherein following packet processing is not performed conventionally until first arriving packet processing is completed, transfer efficiency becomes low and when packets having the same input information are inputted while being concentrated, the merit of performing parallel processing is impaired. <P>SOLUTION: At input/output terminals of packet processing elements 102-1 to 102-N performing parallel processing, counters 101, 103 independent for each predetermined packet condition are installed in places where the counters can be referenced and updated. A packet to be processed is fetched by a packet processing element for starting processing.Sequence number imparting sections 102-1 to 102-N-1 impart sequence numbers (input side counter values) to input packets. Sequence number comparing sections 102-1 to 102-N-2 compare sequence numbers imparted to processed packets with an output side counter value and outputs the packet only when its sequence number is matched to the output side counter value. Thus, the transfer order of packets is secured. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明はパケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラムに係り、特に並列処理におけるパケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラムに関する。   The present invention relates to a packet transfer order guarantee method, a packet transfer order guarantee apparatus, and a packet transfer order guarantee program, and more particularly to a packet transfer order guarantee method, a packet transfer order guarantee apparatus, and a packet transfer order guarantee program in parallel processing.

パケットが複数のスイッチング用並列処理エレメントに入力されて並列処理するパケット処理装置では、パケット転送順序が入れ替わることがあり、その場合にはそのパケット処理装置から出力されるパケットのうち、中継装置を経てそのパケットの最終の受信処理装置である転送先に届かず廃棄されてしまうものがある。これを防ぐためにパケット転送順序保障を行う必要がある。そこで、従来は、並列処理でのパケット転送順序を保障する方法として、同じ入力情報(例えば、パケット種別、処理内容、入出力ポート番号等)のパケットを、その入力情報を基に同じ処理エレメントに割り当て、シーケンシャルに処理する方法がとられている。   In a packet processing device in which a packet is input to a plurality of parallel processing elements for switching and processed in parallel, the packet transfer order may be changed. In this case, among the packets output from the packet processing device, the packet passes through a relay device. Some packets are discarded without reaching the transfer destination that is the final reception processing device of the packet. In order to prevent this, it is necessary to guarantee the packet transfer order. Therefore, conventionally, as a method for guaranteeing the packet transfer order in parallel processing, packets having the same input information (for example, packet type, processing content, input / output port number, etc.) are assigned to the same processing element based on the input information. Allocation and sequential processing methods are used.

また、パケット転送の順序を保障する方法に類似の方法として、フレームの順序を保障する方法が従来知られている(例えば、特許文献1参照)。この特許文献1には、2台の情報処理装置間を1本以上の通信回線で相互に接続し通信データフレームを1本以上の通信回線に分配してデータ通信を行うデータ通信システムにおいて、送信側システムの送信制御部においてフレームに順序情報を挿入し、受信側システムの受信制御部でフレームの受信時にフレームに挿入された順序情報からそのフレームの順序を判断し、順序を直して収集・受信処理を行うことでフレームの順序保障を行う技術が記載されている。   Further, as a method similar to a method for guaranteeing the order of packet transfer, a method for guaranteeing the order of frames is conventionally known (see, for example, Patent Document 1). This patent document 1 discloses a data communication system in which two information processing apparatuses are connected to each other via one or more communication lines and communication data frames are distributed to one or more communication lines to perform data communication. The transmission control unit of the side system inserts order information into the frame, and the reception control unit of the reception side system determines the order of the frame from the order information inserted into the frame when the frame is received, and then collects and receives the order. A technique for ensuring the order of frames by performing processing is described.

特開2002−9866号公報Japanese Patent Laid-Open No. 2002-9866

しかるに、並列処理でのパケット転送順序を保障する上記の従来の方法は、先に到着したパケットの処理時間が長く、後に到着したパケットの処理時間が短い場合は、先に到着したパケット処理が終了するまで後続のパケット処理が待たされ、転送効率が低くなってしまう。また、同一の入力情報を持つパケットが集中して入力された場合、同一処理エレメントで処理を行うためにその処理エレメントに負荷が集中してしまい、並列処理を行うメリットが損なわれてしまう。   However, the above-described conventional method for guaranteeing the packet transfer order in parallel processing ends the processing of the packet arriving first if the processing time of the packet arriving first is long and the processing time of the packet arriving later is short. The subsequent packet processing is awaited until the transfer efficiency is lowered. In addition, when packets having the same input information are input in a concentrated manner, processing is performed by the same processing element, so that the load is concentrated on the processing element, and the merit of performing parallel processing is impaired.

また、特許文献1記載のフレームの順序保障を行う方法は、1対1の通信を想定しているので、通信相手単位でフレームの順序保障を行うものであり、多対多通信においてパケット種別、入出力ポート番号で順序保障を行う用途には適用できない。また、特許文献1記載のフレームの順序保障を行う方法は、送信元装置に出力用の、送信先装置に入力用の順序保障機構が揃っていないと順次が保障されず、対向装置に条件(制限)がある。   Further, since the method for guaranteeing the order of frames described in Patent Document 1 assumes one-to-one communication, the order of frames is guaranteed for each communication partner. It cannot be applied to applications that guarantee the order by input / output port numbers. Further, the method for guaranteeing the frame order described in Patent Document 1 does not guarantee the order unless there is an order order guarantee mechanism for output at the transmission source apparatus and input at the transmission destination apparatus. There is a limit.

本発明は以上の点に鑑みなされたもので、順序保障制御を簡単にすることでその処理によるオーバヘッドを極力無くし、かつ、パケット転送効率も落とさないパケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラムを提供することを目的とする。   The present invention has been made in view of the above points. A packet transfer order guarantee method, a packet transfer order guarantee apparatus, and a packet transfer order guarantee apparatus that eliminate the overhead caused by the processing as much as possible by simplifying the order guarantee control and reduce the packet transfer efficiency. An object is to provide a packet transfer order guarantee program.

また、本発明の他の目的は、対向装置に条件(制限)を有することなく、多対多通信においてパケット種別、入出力番号などでパケットの順序保障を行い得るパケット転送順序保障方法、パケット転送順序保障装置及びパケット転送順序保障プログラムを提供することにある。   Another object of the present invention is to provide a packet transfer order guarantee method capable of guaranteeing the order of packets by packet type, input / output number, etc. in many-to-many communication without having conditions (limitations) in the opposite device, and packet transfer An object is to provide an order guarantee device and a packet transfer order guarantee program.

上記の目的を達成するため、本発明のパケット転送順序保障方法は、処理パケット入力キューから順次取り出したパケットを複数のパケット処理エレメントに分散入力してそれぞれで並列処理した後、複数のパケット処理エレメントのそれぞれから処理後のパケットを共通の処理パケット出力キューに積んで出力させるパケット転送システムのパケット転送順序保障方法であって、
処理パケット入力キューから順次取り出した異なるパケットを複数のパケット処理エレメントに順番に入力する第1のステップと、複数のパケット処理エレメントのそれぞれにおいて、入力パケットの順序保障を行う単位毎にその入力パケットが所定のパケット条件に一致するとき、その入力パケットに対して、複数のパケット処理エレメントの間での入力順を示す値のシーケンス番号を付与する第2のステップと、複数のパケット処理エレメントのそれぞれでシーケンス番号が付与されたパケットを処理する第3のステップと、複数のパケット処理エレメントのそれぞれにおいて、処理後のシーケンス番号が付与されたパケットに付与されているシーケンス番号と、所定のパケット条件に一致するパケットの出力順を示す出力カウンタ値とを比較する第4のステップと、出力カウンタ値に一致するシーケンス番号が付与されている処理後のパケットをパケット処理エレメントから取り出して処理パケット出力キューに積み込む第5のステップとを含むことを特徴とする。
In order to achieve the above object, the packet transfer order guarantee method of the present invention distributes packets sequentially taken out from a processing packet input queue to a plurality of packet processing elements and performs parallel processing on each of them, and then a plurality of packet processing elements. A packet transfer order guarantee method for a packet transfer system that outputs packets after processing from each of the packets in a common processing packet output queue,
A first step of sequentially inputting different packets sequentially taken out from the processing packet input queue to the plurality of packet processing elements, and in each of the plurality of packet processing elements, the input packet is determined for each unit for guaranteeing the order of the input packets. A second step of assigning a sequence number of a value indicating an input order between a plurality of packet processing elements to the input packet when a predetermined packet condition is met, and each of the plurality of packet processing elements A third step for processing a packet to which a sequence number is assigned, and a sequence number assigned to a packet to which a processed sequence number is assigned and a predetermined packet condition in each of a plurality of packet processing elements Output counter value indicating the output order of packets A fourth step of comparing, and a fifth step of extracting a processed packet having a sequence number matching the output counter value from the packet processing element and loading the packet into the processing packet output queue. .

また、上記の目的を達成するため、本発明のパケット転送順序保障装置は、処理パケット入力キューから順次取り出したパケットを複数のパケット処理エレメントに分散入力してそれぞれで並列処理した後、複数のパケット処理エレメントのそれぞれから処理後のパケットを共通の処理パケット出力キューに積んで出力させるパケット転送システムのパケット転送順序保障装置であって、
複数のパケット処理エレメントから参照・更新可能であり、入力パケットの転送順序保障を行う単位毎にシーケンス番号を個別管理している複数のカウンタから形成される入力側カウンタ群と、複数のパケット処理エレメントから参照・更新可能であり、パケット転送順序保障を行う単位毎(各種条件の組み合わせ毎)に出力可能なシーケンス番号を個別管理し、かつ、入力側カウンタ群の複数のカウンタと対を構成する複数のカウンタから形成された出力側カウンタ群と、処理パケット入力キューからパケットを順次取り出して複数のパケット処理エレメントに順番に入力するパケット入力手段と、複数のパケット処理エレメントのそれぞれにおいて、入力パケットの順序保障を行う単位毎にその入力パケットが所定のパケット条件に一致するとき、入力カウンタ群中の所定のパケット条件に一致したカウンタから複数のパケット処理エレメントの間での入力順を示す値を読み出して、入力パケットにシーケンス番号として付与するシーケンス番号付与手段と、複数のパケット処理エレメントのそれぞれにおいて、処理された後のシーケンス番号が付与されたパケットに付与されているシーケンス番号と、出力カウンタ群中の所定のパケット条件に一致したカウンタから読み出したパケットの出力順を示す出力カウンタ値とを比較するシーケンス番号比較手段と、シーケンス番号比較手段で一致する比較結果が得られたシーケンス番号が付与されている処理後のパケットをパケット処理エレメントから取り出して処理パケット出力キューに積み込む出力選択手段とを有することを特徴とする。
In order to achieve the above object, the packet transfer order assurance device of the present invention distributes the packets sequentially taken out from the processing packet input queue to a plurality of packet processing elements and processes them in parallel, and then processes the plurality of packets. A packet transfer order assurance device for a packet transfer system that outputs packets after being processed from each of the processing elements in a common processing packet output queue,
Input side counter group formed from a plurality of counters that can be referred to / updated from a plurality of packet processing elements and individually manage sequence numbers for each unit for guaranteeing the transfer order of input packets, and a plurality of packet processing elements A sequence number that can be referred to / updated from each other and that can be output for each unit (for each combination of various conditions) that guarantees the packet transfer order, and that forms a pair with a plurality of counters in the input side counter group An output side counter group formed from the counters, a packet input means for sequentially taking out packets from the processing packet input queue and sequentially inputting them to a plurality of packet processing elements, and an order of input packets in each of the plurality of packet processing elements The input packet matches the predetermined packet condition for each unit to be guaranteed A sequence number giving means for reading out a value indicating an input order between a plurality of packet processing elements from a counter that matches a predetermined packet condition in the input counter group, and giving the input packet as a sequence number; In each of the packet processing elements, the sequence number given to the packet to which the processed sequence number is given and the output order of the packets read from the counter that matches the predetermined packet condition in the output counter group A sequence number comparing means for comparing the output counter value indicated, and a processed packet to which a sequence number obtained by the sequence number comparing means for which a comparison result is obtained is taken out from the packet processing element and placed in the processing packet output queue. Having an output selection means for loading And butterflies.

また、上記の目的を達成するため、本発明のパケット転送順序保障プログラムは、上記の本発明のパケット転送順序保障方法の各ステップをコンピュータにより実行させることを特徴とする。   In order to achieve the above object, the packet transfer order guarantee program of the present invention is characterized by causing a computer to execute each step of the packet transfer order guarantee method of the present invention.

本発明では、パケット処理エレメントの入出力端で、順序保障を必要とする所定のパケット条件(パケット種別、処理内容、入出力ポート番号等)毎に独立した複数のカウンタを、並列処理を行う各パケット処理エレメントから参照・更新可能な場所に設置する。処理対象のパケットは処理開始が可能なパケット処理エレメントによって取り込まれる(ラウンドロビン等のパケット取り込み制御は行わない)。パケット処理エレメント入力端では入力パケットにシーケンス番号(入力側カウンタ値)を付与し、パケット処理エレメント出力端では処理後のパケットに付与されたシーケンス番号と出力側カウンタ値を比較し、一致した場合にのみ出力し、そうでなければカウンタ値が一致するまで待機、比較を繰り返す。   In the present invention, a plurality of independent counters for each predetermined packet condition (packet type, processing content, input / output port number, etc.) requiring order guarantee at the input / output end of the packet processing element Install in a place where packet processing elements can be referenced and updated. A packet to be processed is captured by a packet processing element that can start processing (packet capture control such as round robin is not performed). At the packet processing element input end, a sequence number (input side counter value) is assigned to the input packet. At the packet processing element output end, the sequence number assigned to the processed packet is compared with the output side counter value. Only output, otherwise wait and compare until the counter values match.

これにより中間の並列で行われるパケット処理では順序保障を意識することなく自由に処理を行え、順序保障を行うべきパケットについて並列処理が可能となり、出力時にはパケット転送順序保障が行われ、並列処理の負荷分散が可能となる。すなわち、本発明は、簡単な仕組みにより並列処理が可能なパケット処理装置でパケットの入力順序通りに出力する方法(順序保障)と、並列処理エレメントの有効活用を行うことを実現し、その制御による転送効率劣化を低減することが可能となる。   As a result, intermediate parallel packet processing can be performed freely without regard to order guarantees, and parallel processing can be performed for packets that need to be ordered, and packet output order guarantees are performed at the time of output. Load distribution is possible. That is, the present invention realizes a method of outputting packets in the order of packet input (order guarantee) in a packet processing apparatus capable of parallel processing with a simple mechanism, and effective use of parallel processing elements. It is possible to reduce transfer efficiency deterioration.

本発明によれば、パケットがシーケンス番号を付与されてから実際に順序保障を行う部分(出力直前)までの間、パケットの追い越しを気にせず自由に処理できるため、従来のパケット転送順序保障方法と比べてパケット転送効率劣化を低減することができる。   According to the present invention, the packet transfer order guarantee method can be processed freely without worrying about overtaking of the packet from the time when the packet is given a sequence number until the part where the order is actually guaranteed (immediately before output). Compared with, it is possible to reduce packet transfer efficiency degradation.

また、本発明によれば、シーケンス番号付与とシーケンス番号比較がカウンタとその値との一致比較のみで行われるため、従来のパケット転送順序保障方法と比べて順序保障論理の単純化が可能となる。   Further, according to the present invention, since the sequence number assignment and the sequence number comparison are performed only by the coincidence comparison between the counter and its value, the order guarantee logic can be simplified as compared with the conventional packet transfer order guarantee method. .

次に、本発明を実施するための最良の形態について図面と共に詳細に説明する。図1は本発明になるパケット転送順次保障方法及び保障装置の一実施の形態の説明図を示す。図1に示すように、本実施の形態では、前段からの入力パケットを貯める処理パケット入力キュー100、処理パケット入力キュー100からパケットを引き取りそのパケットの処理を行って処理パケット出力キュー104にパケットを渡すN個(Nは2以上の自然数)のパケット処理エレメント102−1〜102−N、パケット処理エレメント102−1〜102−Nで処理を終えたパケットを後段へ渡すためにパケットを貯める処理パケット出力キュー104とを配置する。   Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings. FIG. 1 is an explanatory diagram of an embodiment of a packet transfer sequential guarantee method and guarantee apparatus according to the present invention. As shown in FIG. 1, in the present embodiment, a processing packet input queue 100 that stores input packets from the previous stage, takes a packet from the processing packet input queue 100, processes the packet, and sends the packet to the processing packet output queue 104. Processing packets for storing N packets (N is a natural number greater than or equal to 2) packet processing elements 102-1 to 102-N and packets processed by the packet processing elements 102-1 to 102-N for passing to the subsequent stage An output queue 104 is arranged.

また、パケット処理エレメント102−1〜102−Nの入口には、入力パケットの順序保障を行う単位毎(各種条件の組み合わせ毎)にシーケンス番号を個別管理している複数のカウンタから形成される入力側カウンタ群101から、シーケンス番号を読み出して入力パケットに付与するシーケンス番号付与部102−1−1〜102−N−1が配置され、また、パケット処理エレメントの出口には、入力側カウンタ群101と同じく順序保障を行う単位毎(各種条件の組み合わせ毎)に出力可能なシーケンス番号を個別管理している複数のカウンタから形成された出力側カウンタ群103を参照し、処理パケット出力キュー104への積み込みが可能かチェックするシーケンス番号比較部102−1−2〜102−N−2が配置される。   Further, at the entrance of the packet processing elements 102-1 to 102-N, an input formed by a plurality of counters individually managing sequence numbers for each unit (for each combination of various conditions) for guaranteeing the order of input packets. Sequence number assigning units 102-1-1 to 102-N-1 for reading out sequence numbers from the side counter group 101 and assigning them to input packets are arranged, and the input side counter group 101 is provided at the exit of the packet processing element. In the same manner as described above, the output side counter group 103 formed by a plurality of counters individually managing sequence numbers that can be output for each unit (for each combination of various conditions) for guaranteeing the order is referred to the processing packet output queue 104. Sequence number comparison units 102-1-2 to 102-N-2 for checking whether loading is possible are arranged.

入力側カウンタ群101と出力側カウンタ群103とは、全てのパケット処理エレメント102−1〜102−Nから参照・更新可能な位置に同じ条件下で対になるように配置され、各々のカウンタは、同時に処理することが可能な数N以上の値を表すことができるようにする。   The input-side counter group 101 and the output-side counter group 103 are arranged so as to be paired under the same conditions at positions that can be referred to and updated from all the packet processing elements 102-1 to 102-N. The number N or more that can be processed at the same time can be expressed.

次に、本発明における順序保障の基本動作を、図2の説明図と図3のフローチャートを併せ参照して説明する。なお、図2中、図1と同一構成部分には同一符号を付してある。前提条件として入力側カウンタ群101のカウンタ101−1〜101−Nと、出力側カウンタ群103のカウンタ103−1〜103−Nとのうち、対になっているカウンタ(101−1と103−1、101−2と103−2、・・・、101−Nと103−N)の値は初期状態で同一とし、またカウンタ更新は同じルール(1増加)に従って更新することとする。   Next, the basic operation of order assurance in the present invention will be described with reference to the explanatory diagram of FIG. 2 and the flowchart of FIG. In FIG. 2, the same components as those in FIG. 1 are denoted by the same reference numerals. As a precondition, among counters 101-1 to 101-N of the input-side counter group 101 and counters 103-1 to 103-N of the output-side counter group 103, a pair of counters (101-1 and 103-) are paired. 1, 101-2 and 103-2,..., 101-N and 103-N) are the same in the initial state, and the counter update is performed according to the same rule (increment by 1).

まず、図1のX番目(Xは1〜Nの自然数)のパケット処理エレメント102−X内のシーケンス番号付与部102−X−1は、図2(A)に示すように、処理パケット入力キュー100からパケット200を取り出し(図3のステップS1)、その取り出しの際にシーケンス番号付与部102−X−1は入力側カウンタ群101中の、取り出したパケットの条件(パケット種別、処理内容、入出力ポート等)に一致するカウンタ(仮にカウンタ101−1とする)から値を読み取る(図3のステップS2)。続いて、シーケンス番号付与部102−X−1は、値を読み取ったカウンタ101−1の値を同一条件で入力されてくる後続パケットに同じシーケンス番号を付与しないように更新し(図3のステップS3)、また読み取ったカウンタ101−1の値をシーケンス番号として、パケット200に付与する(図3のステップS4)。   First, as shown in FIG. 2A, the sequence number assigning unit 102-X-1 in the Xth (X is a natural number from 1 to N) packet processing element 102-X in FIG. The packet 200 is extracted from 100 (step S1 in FIG. 3). At the time of extraction, the sequence number assigning unit 102-X-1 extracts the conditions (packet type, processing contents, input) of the extracted packet in the input-side counter group 101. A value is read from a counter (assumed to be the counter 101-1) matching the output port (step S2 in FIG. 3). Subsequently, the sequence number assigning unit 102-X-1 updates the value of the counter 101-1 that has read the value so as not to assign the same sequence number to subsequent packets that are input under the same conditions (step of FIG. 3). S3) Further, the value of the read counter 101-1 is given as a sequence number to the packet 200 (step S4 in FIG. 3).

続いて、シーケンス番号を付与されたパケット200は、図2(B)に示すように、パケット処理エレメント102−X内でその入力順序を意識することなく自由に処理される(図3のステップS5)。パケット200のパケット処理を終え、処理パケット出力キュー104に渡す前にシーケンス番号比較部102−X−2は、出力側カウンタ群103中の、パケット200に値を付加したカウンタ101−1と対となるカウンタ103−1から値を読み取り(図3のステップS6)、パケットに付与されたシーケンス番号と一致比較を行う(図3のステップS7)。   Subsequently, as shown in FIG. 2B, the packet 200 given the sequence number is freely processed in the packet processing element 102-X without being aware of the input order (step S5 in FIG. 3). ). Before finishing the packet processing of the packet 200 and passing it to the processing packet output queue 104, the sequence number comparison unit 102-X-2 is paired with the counter 101-1 in the output counter group 103 to which a value is added to the packet 200. A value is read from the counter 103-1 (step S6 in FIG. 3), and a comparison is made with the sequence number given to the packet (step S7 in FIG. 3).

その一致比較の結果、一致していなければ一定時間待機して(図3のステップS8)、再度カウンタ103−1の値を読み込んで、一致比較を行う(図3のステップS6、S7)。この動作を一致するまで繰り返す。また、一致比較の結果、一致していれば図2(C)に示すように、一致比較に使用したカウンタ103−1の値を更新し(図3のステップS9)、処理パケット200を処理パケット出力キュー104に積む(図3のステップS10)。パケット200を処理パケット出力キュー104に積み込んだ場合は、この基本動作によってパケットの順序保障が行われる。   As a result of the coincidence comparison, if there is no coincidence, it waits for a certain time (step S8 in FIG. 3), reads the value of the counter 103-1 again, and performs a coincidence comparison (steps S6 and S7 in FIG. 3). This operation is repeated until they match. As a result of the match comparison, if they match, as shown in FIG. 2C, the value of the counter 103-1 used for the match comparison is updated (step S9 in FIG. 3), and the processing packet 200 is processed. The data is loaded on the output queue 104 (step S10 in FIG. 3). When the packet 200 is loaded on the processing packet output queue 104, the order of the packets is guaranteed by this basic operation.

次に、順序保障を行わなければならないパケット(同一条件のパケット)が複数のパケット処理エレメントで並列処理される場合について図4を用いて説明する。処理パケット入力キュー100にパケット400、401が積まれているとする。この2つのパケット400、401は処理を行っていないパケット処理エレメントによって空いている順に取り出される(ラウンドロビンなどの取り出し制御は行わない)。   Next, a case where packets that must be ordered (packets with the same condition) are processed in parallel by a plurality of packet processing elements will be described with reference to FIG. Assume that packets 400 and 401 are stacked in the processing packet input queue 100. These two packets 400 and 401 are taken out in the order in which they are vacant by the packet processing elements that are not processed (extraction control such as round robin is not performed).

ここで、図4に示すように、パケット400、401がそれぞれパケット処理エレメント102−X、102−Yに順に取り出されたとする。パケット処理エレメント102−Xのシーケンス番号付与部102−X−1は、入力側カウンタ群101のパケット400(およびパケット401)の条件(パケット種別、処理内容、入出力ポート等)に一致するカウンタ(仮に101−1とする)からシーケンス番号nを読み出してパケット400に付与し、カウンタ101−1の値を(n+1)に更新する。少し遅れてパケット処理エレメント102−Yのシーケンス番号付与部102−Y−1は同様にカウンタ101−1から更新した値(n+1)を読み出してパケット401にシーケンス番号として付与し、カウンタ101−1の値を(n+2)に更新する。   Here, as shown in FIG. 4, it is assumed that the packets 400 and 401 are sequentially extracted to the packet processing elements 102 -X and 102 -Y, respectively. The sequence number assigning unit 102-X-1 of the packet processing element 102-X has a counter (packet type, processing content, input / output port, etc.) that matches the conditions of the packet 400 (and packet 401) of the input side counter group 101 ( The sequence number n is read from (assumed to be 101-1) and is given to the packet 400, and the value of the counter 101-1 is updated to (n + 1). A little later, the sequence number assigning unit 102-Y-1 of the packet processing element 102-Y similarly reads the updated value (n + 1) from the counter 101-1, and assigns it to the packet 401 as a sequence number. Update the value to (n + 2).

パケット処理エレメント102−X、102−Yで行われるパケット処理は、それぞれ他のパケット処理エレメントで処理されているパケットを意識することなく並列処理される。パケット400の処理時間がパケット401の処理時間よりも長い場合には、シーケンス番号比較部102−X−2、102−Y−2に到達するまでにその順序が入れ替わる。   Packet processing performed by the packet processing elements 102-X and 102-Y is performed in parallel without being aware of the packets being processed by the other packet processing elements. When the processing time of the packet 400 is longer than the processing time of the packet 401, the order is switched before reaching the sequence number comparison units 102-X-2 and 102-Y-2.

この場合、先にシーケンス番号比較部102−Y−2にパケット401が到達し、シーケンス番号比較部102−Y−2でパケット401に付与された値と、その値を付与したカウンタ101−1と対になる出力側カウンタ群内のカウンタ103−1の値を比較すると、パケット401に付与された値は(n+1)でカウンタ103−1の値はnであるから両者は不一致となり、カウンタ103−1の値がパケット401に付与されたシーケンス番号になるまで一定時間待機と比較を交互に繰り返す。   In this case, the packet 401 first arrives at the sequence number comparison unit 102-Y-2, the value assigned to the packet 401 by the sequence number comparison unit 102-Y-2, and the counter 101-1 to which the value is assigned. When the values of the counters 103-1 in the pair of output side counters to be paired are compared, the value given to the packet 401 is (n + 1) and the value of the counter 103-1 is n. Until the value of 1 reaches the sequence number assigned to the packet 401, the standby and comparison for a predetermined time are alternately repeated.

パケット処理エレメント102−Yでパケット401が待機と比較を行っている間に、パケット400がシーケンス番号比較部102−X−2に到達し、パケット400に付与された値とカウンタ103−1の値とを比較する。この場合は、パケット400に付与されたシーケンス番号の値はnでカウンタ103−1の値はnであるから両者は値が一致し、パケット処理エレメント102−Xは処理パケット出力キュー104にパケット400を積み込む。   While the packet 401 is comparing with standby in the packet processing element 102-Y, the packet 400 reaches the sequence number comparison unit 102-X-2, and the value assigned to the packet 400 and the value of the counter 103-1. And compare. In this case, since the value of the sequence number given to the packet 400 is n and the value of the counter 103-1 is n, both values match, and the packet processing element 102-X sends the packet 400 to the processing packet output queue 104. To load.

その後、カウンタ103−1の値は(n+1)に更新されるので、カウンタ103−1の値がパケット401に付与されたシーケンス番号と一致するので、パケット401がパケット400の次に処理パケット出力キュー104に積み込まれる。このようにして順序保障の必要なパケットはその順序を保つことができる。   Thereafter, since the value of the counter 103-1 is updated to (n + 1), the value of the counter 103-1 matches the sequence number assigned to the packet 401, so that the packet 401 is the processing packet output queue next to the packet 400. 104 is loaded. In this way, the order of packets requiring order guarantee can be maintained.

次に、順序保障を行う必要のないパケット(異なる条件のパケット)が複数のパケット処理エレメントで並列処理される場合について図5を用いて説明する。処理パケット入力キューにパケット500、501が積まれているとする。この2つのパケットは前述と同様に、処理を行っていないパケット処理エレメントによって空いている順に取り出される。ここで、パケット500、501がそれぞれパケット処理エレメント102−X、102−Yに順に取り出されたとする。   Next, a case where packets that do not need to be guaranteed in order (packets with different conditions) are processed in parallel by a plurality of packet processing elements will be described with reference to FIG. Assume that packets 500 and 501 are loaded in the processing packet input queue. These two packets are taken out in the order in which they are vacant by the packet processing elements that have not been processed, as described above. Here, it is assumed that the packets 500 and 501 are sequentially extracted to the packet processing elements 102-X and 102-Y, respectively.

パケット処理エレメント102−Xのシーケンス番号付与部102−X−1は、入力側カウンタ群101のパケット500の条件に一致するカウンタ(仮に101−1とする)からシーケンス番号n1を読み出してパケット500に付与し、カウンタ101−1の値をn2に更新する。少し遅れてパケット処理エレメント102−Yのシーケンス番号付与部102−Y−1はパケット501の条件に一致したカウンタ(仮に101−2とする)からシーケンス番号n2を読み出してパケット501に付与し、カウンタ101−2の値を更新する。パケット処理エレメント102−X、102−Yで行われるパケット処理はそれぞれ、他のパケット処理エレメントで処理されているパケットを意識することなく並列処理される。   The sequence number assigning unit 102-X-1 of the packet processing element 102-X reads the sequence number n1 from the counter (assumed to be 101-1) that matches the condition of the packet 500 of the input side counter group 101, and sends it to the packet 500. And update the value of the counter 101-1 to n2. A little later, the sequence number assigning unit 102-Y-1 of the packet processing element 102-Y reads the sequence number n2 from the counter (assumed to be 101-2) that matches the condition of the packet 501 and assigns it to the packet 501, and the counter The value of 101-2 is updated. Packet processing performed in the packet processing elements 102-X and 102-Y is performed in parallel without being aware of the packets being processed by other packet processing elements.

パケット500の処理がパケット501の処理よりも長い場合には、シーケンス番号比較部102−X−2、102−Y−2に到達するまでに、パケット500とパケット501の順序が入れ替わる。先にシーケンス番号比較部102−Y−2にパケット501が到達し、シーケンス番号比較部102−Y−2でパケット501に付与された値n2と、その値を付与したカウンタ101−2と対になる出力側カウンタ群103内のカウンタ103−2の値n2とを比較すると、両者の値が一致して後にシーケンス番号比較部103−1に到達するパケット500を待つことなく処理パケット出力キュー104に積まれる。その後、パケット500も同様の動作で処理パケット出力キュー104に積まれる。この結果、順序保証が不要なパケット500、501の場合は、パケットの転送順序は保たれないまま出力される。   When the processing of the packet 500 is longer than the processing of the packet 501, the order of the packet 500 and the packet 501 is switched before reaching the sequence number comparison units 102-X-2 and 102-Y-2. First, the packet 501 arrives at the sequence number comparison unit 102-Y-2, and the value n2 assigned to the packet 501 by the sequence number comparison unit 102-Y-2 is paired with the counter 101-2 to which the value is assigned. Is compared with the value n2 of the counter 103-2 in the output side counter group 103, the processing packet output queue 104 waits for the packet 500 that reaches the sequence number comparison unit 103-1 after the two values match. Stacked. Thereafter, the packet 500 is loaded in the processing packet output queue 104 by the same operation. As a result, in the case of the packets 500 and 501 that do not require the order guarantee, the packets are output without maintaining the packet transfer order.

このようにして、本実施の形態によれば、順序保障の必要/不要のパケットが混在する場合でも前述により順序保障が必要なパケットのみの順序保障を行うことができる。これにより、本実施の形態では、簡単な仕組みにより並列処理が可能なパケット処理装置でパケットの入力順序通りに出力する方法(順序保障)と、並列に配置されたパケット処理エレメントの有効活用を行うことを実現し、その制御による転送効率劣化を低減することが可能となる。また、本実施の形態では、パケット処理エレメント102−1〜102−Nのそれぞれの内部にシーケンス番号付与部102−1−1〜102−N−1と、シーケンス番号比較部102−1−2〜102−N−2というパケット転送順序保障機構が設けられているため、対向装置に条件(制限)がなく、パケット種別、入出力番号などでパケットの順序保障を行っているので、多対多通信に適用できる。   In this way, according to the present embodiment, even when packets requiring / unnecessary for order are mixed, it is possible to guarantee the order of only the packets requiring order guarantee as described above. As a result, in the present embodiment, a packet processing device capable of parallel processing with a simple mechanism outputs a packet in the order of packet input (order guarantee), and effectively uses packet processing elements arranged in parallel. This makes it possible to reduce transfer efficiency deterioration due to the control. Further, in the present embodiment, sequence number assigning units 102-1-1 to 102-N-1 and sequence number comparing units 102-1-2 to 102-102-1 are provided inside packet processing elements 102-1 to 102-N, respectively. Since the packet transfer order guarantee mechanism 102-N-2 is provided, there is no condition (limitation) in the opposite device, and the packet order is guaranteed by the packet type, input / output number, etc. Applicable to.

なお、上記の実施の形態では、パケットの条件としてパケット種別、処理内容、入出力ポートを用い、これらの全てに一致するときパケットの条件を満足する(パケットの条件に一致する)としてカウンタ値をシーケンス番号として付与している。しかし、パケットの条件が分類できない場合は、上記の3つのいずれか一つでもよいが、条件分けが可能であれば、上記の3つの条件に限らず、できるだけ細かく分類することが望ましい。それは、同一パケットの条件に一致しない場合は、パケットの追い越しが発生しても、パケットの順序を保障しなくても問題が起こらず(パケットの順序が入れ替わることによる廃棄が起きないため)、逆に粗い条件分けであると、パケットの追い越しの発生が発生しても、そのパケットの順序が殆どの場合保障されるため、パケットの追い越しの問題が起きないパケットの処理を待たせることになり、無駄な処理待ち時間を作ってしまうからである。   In the above embodiment, the packet type, processing content, and input / output port are used as the packet condition, and when all of these are matched, the counter value is set to satisfy the packet condition (match the packet condition). It is given as a sequence number. However, if the packet condition cannot be classified, any one of the above three may be used. However, if the condition can be classified, it is desirable to classify as much as possible without being limited to the above three conditions. If it does not match the conditions of the same packet, there will be no problem even if packet overtaking occurs or packet order is not guaranteed (since discarding due to packet reordering does not occur), the reverse If the conditions are very rough, even if an overtaking of a packet occurs, the order of the packet is guaranteed in most cases, so that the processing of the packet that does not cause the overtaking of the packet will be awaited. This is because useless processing waiting time is created.

なお、本発明は上記の実施の形態に限定されるものではなく、例えば競合制御としても利用できる。競合制御を行うべき動作を開始する以前にシーケンス番号を付与し、競合制御が必要な動作の直前にシーケンス番号比較を行うことで競合制御が必要な動作はある1つの処理エレメントから起動されることが許可される。また、本発明は、図3の各ステップの手順をコンピュータのソフトウェアにより実行させるパケット転送順序保障プログラムも包含するものである。   In addition, this invention is not limited to said embodiment, For example, it can utilize also as competition control. An operation that requires contention control is started from a certain processing element by assigning a sequence number before starting the operation that should perform contention control and comparing the sequence number immediately before the operation that requires contention control. Is allowed. The present invention also includes a packet transfer order guarantee program that causes the procedure of each step of FIG. 3 to be executed by computer software.

本発明のパケット転送順次保障方法及び保障装置の一実施の形態の説明図である。It is explanatory drawing of one Embodiment of the packet transfer sequential guarantee method and guarantee apparatus of this invention. 本発明における順序保障の基本動作の説明図である。It is explanatory drawing of the basic operation | movement of order guarantee in this invention. 本発明における順序保障の基本動作説明用フローチャートである。It is a flowchart for basic operation | movement description of the order guarantee in this invention. 順序保障を行わなければならないパケット(同一条件のパケット)が複数のパケット処理エレメントで並列処理される場合の説明図である。It is explanatory drawing in case the packet (packet of the same conditions) which must guarantee an order is processed in parallel by several packet processing elements. 順序保障を行う必要のないパケット(異なる条件のパケット)が複数のパケット処理エレメントで並列処理される場合の説明図である。It is explanatory drawing when the packet (packet of different conditions) which does not need to perform order guarantee is processed in parallel by a plurality of packet processing elements.

符号の説明Explanation of symbols

100 処理パケット入力キュー
101 入力側カウンタ群
101−1〜101−N 入力側カウンタ
102−1〜102−N パケット処理エレメント
102−1−1、102−2−1、102−N−1、102−X−1、102−Y−1 シーケンス番号付与部
102−1−2、102−2−2、102−N−2、102−X−2、102−Y−2 シーケンス番号比較部
103 出力側カウンタ群
103−1〜103−N 出力側カウンタ
104 処理パケット出力キュー
400、401、500、501 パケット
100 processing packet input queue 101 input side counter group 101-1 to 101-N input side counter 102-1 to 102-N packet processing element 102-1-1, 102-2-1, 102-N-1, 102- X-1, 102-Y-1 Sequence number assigning unit 102-1-2, 102-2-2, 102-N-2, 102-X-2, 102-Y-2 Sequence number comparing unit 103 Output side counter Group 103-1 to 103-N Output side counter 104 Processing packet output queue 400, 401, 500, 501 packets

Claims (12)

処理パケット入力キューから順次取り出したパケットを複数のパケット処理エレメントに分散入力してそれぞれで並列処理した後、該複数のパケット処理エレメントのそれぞれから処理後のパケットを共通の処理パケット出力キューに積んで出力させるパケット転送システムのパケット転送順序保障方法であって、
前記処理パケット入力キューから順次取り出した異なるパケットを前記複数のパケット処理エレメントに順番に入力する第1のステップと、
前記複数のパケット処理エレメントのそれぞれにおいて、入力パケットの順序保障を行う単位毎にその入力パケットが所定のパケット条件に一致するとき、その入力パケットに対して、前記複数のパケット処理エレメントの間での入力順を示す値のシーケンス番号を付与する第2のステップと、
前記複数のパケット処理エレメントのそれぞれで前記シーケンス番号が付与されたパケットを処理する第3のステップと、
前記複数のパケット処理エレメントのそれぞれにおいて、前記処理後の前記シーケンス番号が付与されたパケットに付与されている前記シーケンス番号と、前記所定のパケット条件に一致するパケットの出力順を示す出力カウンタ値とを比較する第4のステップと、
前記出力カウンタ値に一致するシーケンス番号が付与されている前記処理後のパケットを前記パケット処理エレメントから取り出して前記処理パケット出力キューに積み込む第5のステップと
を含むことを特徴とするパケット転送順序保障方法。
Packets sequentially taken out from the processing packet input queue are distributed and input to a plurality of packet processing elements and processed in parallel, and then the processed packets from each of the plurality of packet processing elements are loaded into a common processing packet output queue. A packet transfer order guarantee method for a packet transfer system to output,
A first step of sequentially inputting different packets sequentially retrieved from the processing packet input queue to the plurality of packet processing elements;
In each of the plurality of packet processing elements, when the input packet matches a predetermined packet condition for each unit in which the order of the input packets is guaranteed, the input packet is between the plurality of packet processing elements. A second step of assigning a sequence number of values indicating the input order;
A third step of processing a packet assigned the sequence number in each of the plurality of packet processing elements;
In each of the plurality of packet processing elements, the sequence number given to the packet given the sequence number after the processing, and an output counter value indicating the output order of packets matching the predetermined packet condition, A fourth step of comparing
A packet transfer order guarantee comprising: a fifth step of taking out the processed packet assigned with a sequence number matching the output counter value from the packet processing element and loading it into the processed packet output queue. Method.
前記第4のステップによる前記シーケンス番号と前記出力カウンタ値との比較により一致の比較結果が得られたときは、前記出力カウンタ値を次のパケット出力順を示す値に更新する第6のステップを更に含むことを特徴とする請求項1記載のパケット転送順序保障方法。   When a coincidence comparison result is obtained by comparing the sequence number and the output counter value in the fourth step, a sixth step of updating the output counter value to a value indicating the next packet output order; The packet transfer order guarantee method according to claim 1, further comprising: 前記第4のステップによる前記シーケンス番号と前記出力カウンタ値との比較により一致の比較結果が得られないときは、一定時間待機した後再び前記処理後の前記シーケンス番号が付与されたパケットに付与されている前記シーケンス番号と、前記所定のパケット条件に一致するパケットの出力順を示す出力カウンタ値とを比較することを特徴とする請求項1記載のパケット転送順序保障方法。   If the comparison result is not obtained by comparing the sequence number and the output counter value in the fourth step, after waiting for a certain period of time, it is added to the packet to which the processed sequence number is assigned again. 2. The packet transfer order guarantee method according to claim 1, wherein the sequence number is compared with an output counter value indicating an output order of packets matching the predetermined packet condition. 前記所定のパケット条件は、パケット種別、処理内容及び入出力ポートを含むことを特徴とする請求項1乃至3のうちいずれか一項記載のパケット転送順序保障方法。   The packet transfer order guarantee method according to any one of claims 1 to 3, wherein the predetermined packet condition includes a packet type, a processing content, and an input / output port. 処理パケット入力キューから順次取り出したパケットを複数のパケット処理エレメントに分散入力してそれぞれで並列処理した後、該複数のパケット処理エレメントのそれぞれから処理後のパケットを共通の処理パケット出力キューに積んで出力させるパケット転送システムのパケット転送順序保障装置であって、
前記複数のパケット処理エレメントから参照・更新可能であり、入力パケットの転送順序保障を行う単位毎にシーケンス番号を個別管理している複数のカウンタから形成される入力側カウンタ群と、
前記複数のパケット処理エレメントから参照・更新可能であり、前記転送順序保障を行う単位毎(各種条件の組み合わせ毎)に出力可能なシーケンス番号を個別管理し、かつ、前記入力側カウンタ群の複数のカウンタと対を構成する複数のカウンタから形成された出力側カウンタ群と、
前記処理パケット入力キューからパケットを順次取り出して前記複数のパケット処理エレメントに順番に入力するパケット入力手段と、
前記複数のパケット処理エレメントのそれぞれにおいて、入力パケットの順序保障を行う単位毎にその入力パケットが所定のパケット条件に一致するとき、前記入力カウンタ群中の前記所定のパケット条件に一致したカウンタから前記複数のパケット処理エレメントの間での入力順を示す値を読み出して、前記入力パケットにシーケンス番号として付与するシーケンス番号付与手段と、
前記複数のパケット処理エレメントのそれぞれにおいて、処理された後の前記シーケンス番号が付与されたパケットに付与されている前記シーケンス番号と、前記出力カウンタ群中の前記所定のパケット条件に一致したカウンタから読み出したパケットの出力順を示す出力カウンタ値とを比較するシーケンス番号比較手段と、
前記シーケンス番号比較手段で一致する比較結果が得られたシーケンス番号が付与されている前記処理後のパケットを前記パケット処理エレメントから取り出して前記処理パケット出力キューに積み込む出力選択手段と
を有することを特徴とするパケット転送順序保障装置。
Packets sequentially taken out from the processing packet input queue are distributed and input to a plurality of packet processing elements and processed in parallel, and then the processed packets from each of the plurality of packet processing elements are loaded into a common processing packet output queue. A packet transfer order assurance device for a packet transfer system to output,
An input-side counter group formed of a plurality of counters that can be referred to and updated from the plurality of packet processing elements and that individually manage sequence numbers for each unit that guarantees the transfer order of input packets,
It is possible to refer to and update from the plurality of packet processing elements, individually manage sequence numbers that can be output for each unit (for each combination of various conditions) for ensuring the transfer order, and a plurality of input side counter groups An output-side counter group formed of a plurality of counters constituting a pair with the counter;
Packet input means for sequentially retrieving packets from the processing packet input queue and sequentially inputting the packets to the plurality of packet processing elements;
In each of the plurality of packet processing elements, when the input packet matches a predetermined packet condition for each unit that guarantees the order of the input packets, the counter that matches the predetermined packet condition in the input counter group A sequence number giving means for reading a value indicating an input order among a plurality of packet processing elements and giving the input packet as a sequence number;
In each of the plurality of packet processing elements, read from the counter that matches the sequence number given to the packet to which the sequence number after processing has been given and the predetermined packet condition in the output counter group Sequence number comparison means for comparing the output counter value indicating the output order of the received packets;
Output selection means for taking out the processed packet, to which the sequence number obtained by the sequence number comparison means for matching results has been assigned, from the packet processing element and loading it into the processing packet output queue. A packet transfer order guarantee device.
前記シーケンス番号比較手段による前記シーケンス番号と前記出力カウンタ値との比較により一致の比較結果が得られたときは、前記出力カウンタ値を次のパケット出力順を示す値に更新する更新手段を更に有することを特徴とする請求項5記載のパケット転送順序保障装置。   When the comparison result is obtained by comparing the sequence number with the output counter value by the sequence number comparison means, the update means further updates the output counter value to a value indicating the next packet output order. 6. The packet transfer order assurance device according to claim 5, wherein: 前記シーケンス番号比較手段による前記シーケンス番号と前記出力カウンタ値との比較により一致の比較結果が得られないときは、一定時間待機した後再び前記処理後の前記シーケンス番号が付与されたパケットに付与されている前記シーケンス番号と、前記所定のパケット条件に一致するパケットの出力順を示す出力カウンタ値とを比較することを特徴とする請求項5記載のパケット転送順序保障装置。   When a comparison result is not obtained by comparing the sequence number with the output counter value by the sequence number comparison means, the sequence number is again given to the packet with the processed sequence number after waiting for a predetermined time. 6. The packet transfer order assurance device according to claim 5, wherein the sequence number is compared with an output counter value indicating an output order of packets matching the predetermined packet condition. 前記所定のパケット条件は、パケット種別、処理内容及び入出力ポートを含むことを特徴とする請求項5乃至7のうちいずれか一項記載のパケット転送順序保障装置。   8. The packet transfer order assurance device according to claim 5, wherein the predetermined packet condition includes a packet type, a processing content, and an input / output port. 処理パケット入力キューから順次取り出したパケットを複数のパケット処理エレメントに分散入力してそれぞれで並列処理した後、該複数のパケット処理エレメントのそれぞれから処理後のパケットを共通の処理パケット出力キューに積んで出力させるパケット転送システムのパケット転送順序をコンピュータにより保障させるパケット転送順序保障プログラムであって、
前記コンピュータに、
前記処理パケット入力キューから順次取り出した異なるパケットを前記複数のパケット処理エレメントに順番に入力する第1のステップと、
前記複数のパケット処理エレメントのそれぞれにおいて、入力パケットの順序保障を行う単位毎にその入力パケットが所定のパケット条件に一致するとき、その入力パケットに対して、前記複数のパケット処理エレメントの間での入力順を示す値のシーケンス番号を付与する第2のステップと、
前記複数のパケット処理エレメントのそれぞれで前記シーケンス番号が付与されたパケットを処理する第3のステップと、
前記複数のパケット処理エレメントのそれぞれにおいて、前記処理後の前記シーケンス番号が付与されたパケットに付与されている前記シーケンス番号と、前記所定のパケット条件に一致するパケットの出力順を示す出力カウンタ値とを比較する第4のステップと、
前記出力カウンタ値に一致するシーケンス番号が付与されている前記処理後のパケットを前記パケット処理エレメントから取り出して前記処理パケット出力キューに積み込む第5のステップと
を実行させることを特徴とするパケット転送順序保障プログラム。
Packets sequentially taken out from the processing packet input queue are distributed and input to a plurality of packet processing elements and processed in parallel, and then the processed packets from each of the plurality of packet processing elements are loaded into a common processing packet output queue. A packet transfer order guarantee program for ensuring a packet transfer order of a packet transfer system to be output by a computer,
In the computer,
A first step of sequentially inputting different packets sequentially retrieved from the processing packet input queue to the plurality of packet processing elements;
In each of the plurality of packet processing elements, when the input packet matches a predetermined packet condition for each unit in which the order of the input packets is guaranteed, the input packet is between the plurality of packet processing elements. A second step of assigning a sequence number of values indicating the input order;
A third step of processing a packet assigned the sequence number in each of the plurality of packet processing elements;
In each of the plurality of packet processing elements, the sequence number given to the packet given the sequence number after the processing, and an output counter value indicating the output order of packets matching the predetermined packet condition, A fourth step of comparing
And a fifth step of executing the fifth step of taking out the processed packet assigned the sequence number that matches the output counter value from the packet processing element and loading it into the processed packet output queue. Security program.
前記第4のステップによる前記シーケンス番号と前記出力カウンタ値との比較により一致の比較結果が得られたときは、前記出力カウンタ値を次のパケット出力順を示す値に更新する第6のステップを更に含むことを特徴とする請求項9記載のパケット転送順序保障プログラム。   When a coincidence comparison result is obtained by comparing the sequence number and the output counter value in the fourth step, a sixth step of updating the output counter value to a value indicating the next packet output order; 10. The packet transfer order guarantee program according to claim 9, further comprising: 前記第4のステップによる前記シーケンス番号と前記出力カウンタ値との比較により一致の比較結果が得られないときは、一定時間待機した後再び前記処理後の前記シーケンス番号が付与されたパケットに付与されている前記シーケンス番号と、前記所定のパケット条件に一致するパケットの出力順を示す出力カウンタ値とを比較することを特徴とする請求項9記載のパケット転送順序保障プログラム。   If the comparison result is not obtained by comparing the sequence number and the output counter value in the fourth step, after waiting for a certain period of time, it is added to the packet to which the processed sequence number is assigned again. 10. The packet transfer order guarantee program according to claim 9, wherein the sequence number is compared with an output counter value indicating an output order of packets that match the predetermined packet condition. 前記所定のパケット条件は、パケット種別、処理内容及び入出力ポートを含むことを特徴とする請求項9乃至11のうちいずれか一項記載のパケット転送順序保障プログラム。   12. The packet transfer order guarantee program according to claim 9, wherein the predetermined packet condition includes a packet type, a processing content, and an input / output port.
JP2007076930A 2007-03-23 2007-03-23 Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program Pending JP2008236653A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007076930A JP2008236653A (en) 2007-03-23 2007-03-23 Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007076930A JP2008236653A (en) 2007-03-23 2007-03-23 Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program

Publications (1)

Publication Number Publication Date
JP2008236653A true JP2008236653A (en) 2008-10-02

Family

ID=39908840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007076930A Pending JP2008236653A (en) 2007-03-23 2007-03-23 Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program

Country Status (1)

Country Link
JP (1) JP2008236653A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010199643A (en) * 2009-02-20 2010-09-09 Nec Corp Packet processing apparatus, and method and program for controlling packet processing order used for the processing apparatus
US9282045B2 (en) 2012-12-19 2016-03-08 Fujitsu Limited Information processing method, information processing circuit, and information processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010199643A (en) * 2009-02-20 2010-09-09 Nec Corp Packet processing apparatus, and method and program for controlling packet processing order used for the processing apparatus
US9282045B2 (en) 2012-12-19 2016-03-08 Fujitsu Limited Information processing method, information processing circuit, and information processing apparatus

Similar Documents

Publication Publication Date Title
US7602790B2 (en) Two-dimensional pipelined scheduling technique
US9098330B2 (en) Packet processing on a multi-core processor
US7453898B1 (en) Methods and apparatus for simultaneously scheduling multiple priorities of packets
US20130121341A1 (en) Multi-bank queuing architecture for higher bandwidth on-chip memory buffer
EP1788755A1 (en) Method for cell reordering, method and apparatus for cell processing using the same
CN102577258B (en) Configuring a three-stage CLOS-network packet switch
US11294841B1 (en) Dynamically configurable pipeline
JP2002259352A (en) Multiprocessor system device
CN102739651B (en) automation system
US7693421B2 (en) Optical packet buffering device and method
US7184443B2 (en) Packet scheduling particularly applicable to systems including a non-blocking switching fabric and homogeneous or heterogeneous line card interfaces
JPWO2010086906A1 (en) Arbitration device
US6888841B1 (en) Pipelined scheduling technique
JP2008236653A (en) Packet transfer order security method, packet transfer order security apparatus, and packet transfer order security program
CN104255004B (en) Straight-through forwarding module and the method for receiving and launching data frame under straight-through forward mode
JP2002199000A (en) Packet exchange with control part connected in cascade and switching matrix connected in cascade without buffer
CN106776032A (en) The treating method and apparatus of the I/O Request of distributed block storage
JPS62231338A (en) Method and device for determining priority sequence
JP2016139978A (en) Packet processing system, communication system, packet processor, packet processing method, and program
US20160006605A1 (en) Network control device and network setting system
US7804844B1 (en) Dataflow pipeline implementing actions for manipulating packets of a communication protocol
CA2492361A1 (en) Packet switching system
JP2010073113A (en) Data transfer device and semiconductor testing device
CN104919769A (en) Scheduler for deciding final output queue by selectingone of multiple candidate output queues and related method
US11196684B2 (en) Flow control device and method