JP3944515B2 - Communication system and communication method - Google Patents
Communication system and communication method Download PDFInfo
- Publication number
- JP3944515B2 JP3944515B2 JP2005341347A JP2005341347A JP3944515B2 JP 3944515 B2 JP3944515 B2 JP 3944515B2 JP 2005341347 A JP2005341347 A JP 2005341347A JP 2005341347 A JP2005341347 A JP 2005341347A JP 3944515 B2 JP3944515 B2 JP 3944515B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- priority
- processing
- transmission
- protocol
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Communication Control (AREA)
Description
本発明は、通信システム及び通信方法に関する。具体的には、特に音声,画像データなどのマルチメディア用データ及び緊急を要するプラント用データなどの遅延の許されない通信に好適なリアルタイム性が要求されるデータとその他の遅延がある程度許されるデータが混在する通信システム及び通信方法に関する。 The present invention relates to a communication system and a communication method. Specifically, there are data that requires real-time characteristics suitable for non-delay communication, such as multimedia data such as voice and image data, and urgent plant data, and other data that allow some delay. The present invention relates to a mixed communication system and communication method.
DARPA(Defence Advanced Research Project Agency)プロトコルのTCP
(Transmission Control Protocal)/IP(Internet Protocol)やISO(InternationalStandards Organization) のOSI(Open Systems Interconnecttion) プロトコルのようなプロトコルを使用した通信システムにおいて、通信の遅延が許されるデータと遅延の許されないデータ(マルチメディア,プラントデータのようなリアルタイム性が要求されるデータ)を共存させてもリアルタイム性を保持した通信を実現できる通信システムの構築がエンドユーザから求められている。この種の方式として、例えば、特開平4−180425 号公報に記載のように、受信データ処理の順序を通信相手端末のネットワークアドレスと通信相手プロセスに対応付けた情報に従い優先制御する方式がある。また、例えば特開昭63−287231号公報に記載のように、網間中継装置において受信したデータのデータ長に注目し優先的に処理するデータか否かを判定する方式がある。
DARPA (Defence Advanced Research Project Agency) protocol TCP
In a communication system using a protocol such as (Transmission Control Protocol) / IP (Internet Protocol) or OSI (Open Systems Interconnection) protocol of ISO (International Standards Organization), data that is allowed to be delayed and data that is not allowed to be delayed ( There is a demand from end users to establish a communication system that can realize communication that maintains real-time characteristics even if data that requires real-time characteristics such as multimedia and plant data coexist. As a method of this type, for example, as described in Japanese Patent Laid-Open No. 4-180425, there is a method of performing priority control on the order of received data processing according to information associated with a network address of a communication partner terminal and a communication partner process. Further, as described in, for example, Japanese Patent Laid-Open No. 63-287231, there is a method for determining whether or not the data is preferentially processed by paying attention to the data length of the data received in the internetwork relay device.
従来の通信システムの優先制御は、同じプロトコルを使用する各アプリケーションの通信プログラムごとに優先制御を行うこと、あるいは同じ通信プログラムであっても通信相手により優先制御を行うことに配慮されていない。 The prioritized control of the conventional communication system is not considered to perform the priority control for each communication program of each application using the same protocol, or to perform the priority control by the communication partner even for the same communication program.
また、従来の通信システムの優先制御は、アプリケーションの通信プログラムで扱うデータごとにリアルタイム性に応じた優先処理レベルを設定する点に配慮されていない。 Further, the priority control of the conventional communication system does not take into consideration that the priority processing level corresponding to the real-time property is set for each data handled by the application communication program.
さらに、従来、システムを設計,構築する上で使い勝手が悪いという課題があった。 Furthermore, conventionally, there has been a problem that the usability is poor in designing and constructing a system.
さらに従来、通信する端末の間に網間中継装置で接続され複数のネットワークから構成されるような通信システムにおける優先制御に配慮がなされていない。 Further, conventionally, consideration has not been given to priority control in a communication system configured by connecting a plurality of networks with terminals that communicate with each other through an inter-network relay device.
さらに、従来の通信システムの優先制御は、優先データが連続した場合、非優先データの送信又は受信処理が中断されるため、データ送信端末で送信タイムアウトとなり再送が頻発することによる通信網の輻輳状態の防止、あるいは論理回線の切断等の防止に配慮がなされていない。 In addition, the priority control of the conventional communication system is a congestion state of the communication network due to frequent transmission and retransmission at the data transmission terminal because the transmission or reception process of non-priority data is interrupted when priority data continues. No consideration is given to prevention of disconnection or disconnection of logical lines.
本発明の目的は、アプリケーションの通信プログラムが扱うデータごとに通信上の制限を設けることなく優先制御を実現しようとするものである。 An object of the present invention is to realize priority control without providing communication restrictions for each data handled by an application communication program.
また、本発明の目的は、網間中継装置を含む通信システムにおいて優先制御を実現しようとするものである。 Another object of the present invention is to realize priority control in a communication system including an inter-network relay device.
また、本発明の目的は、高優先データの処理が連続して発生しても、低優先データに飢餓状態を発生させず、通信網の輻輳防止,論理回線の切断防止を実現しようとするものである。 Another object of the present invention is to prevent congestion of a communication network and prevention of disconnection of a logical line without causing starvation in low priority data even when high priority data is continuously processed. It is.
上記目的を達成するために、本発明では、複数の端末装置が通信可能に接続され、前記端末装置間で情報を授受する通信システムにおいて、前記端末間で授受される情報はフレームとして構成され、前記フレームはプロトコル種別情報,優先順位に関係する情報及びデータ領域を含むものであって、前記受信フレームから、プロトコル種別情報が所定の種別であるか判定する判定手段と、前記判定により所定のプロトコル種別である場合、優先的に、前記フレームのデータ領域のデータを前記プロトコル種別に応じて処理する処理手段とを設けた。
また、端末装置間で情報を授受する通信方法において、前記端末間で授受される情報はフレームとして構成され、前記フレームはプロトコル種別情報,優先順位に関係する情報及びデータ領域を含んでおり、前記受信フレームから、プロトコル種別情報が所定の種別であるか判定するステップと、前記判定により所定のプロトコル種別である場合、優先的に、前記フレームのデータ領域のデータを前記プロトコル種別に応じて処理するステップを有する。
あるいは、通信システムにおいて、送信又は受信データ内の優先判定情報と予め登録された優先データ情報からデータの送信又は受信処理の順序をデータごとに決定することである。すなわち、具体的には、プロトコルにより規定された端末アドレスが割り当てられている複数の端末装置が通信網によって接続され、前記各端末装置間でプロトコル情報が格納されたデータを送信又は受信する通信システムにおいて、優先的に送信又は受信処理をするか否かを判定する優先判定情報を送信又は受信データ内のあるプロトコルヘッダ情報とする手段と、前記優先判定情報のうち優先的に送信又は受信するデータの優先判定情報を予め優先データ情報として登録する登録手段と、前記送信又は受信データから優先判定情報を取り出し、優先データ情報として登録されているデータか判定する判定手段と、優先データ情報として登録されているデータの場合、登録されていないデータよりも優先的にデータを送信又は受信処理する送信又は受信処理手段と、を設けたことである。
In order to achieve the above object, in the present invention, in a communication system in which a plurality of terminal devices are communicably connected and exchange information between the terminal devices, the information exchanged between the terminals is configured as a frame, The frame includes protocol type information, information related to priority, and a data area. The determination unit determines whether the protocol type information is a predetermined type from the received frame, and a predetermined protocol is determined by the determination. In the case of the type, processing means for preferentially processing the data in the data area of the frame according to the protocol type is provided.
Further, in a communication method for exchanging information between terminal devices, information exchanged between the terminals is configured as a frame, and the frame includes protocol type information, information related to priority, and a data area, A step of determining whether the protocol type information is a predetermined type from the received frame, and if the determination indicates that the protocol type information is a predetermined protocol type, data in the data area of the frame is preferentially processed according to the protocol type Having steps.
Alternatively, in the communication system, the order of data transmission or reception processing is determined for each piece of data from priority determination information in transmission or reception data and pre-registered priority data information. Specifically, a communication system in which a plurality of terminal devices to which terminal addresses defined by a protocol are assigned are connected by a communication network, and data in which protocol information is stored is transmitted or received between the terminal devices. Means for determining whether or not to preferentially perform transmission or reception processing as priority determination information in the transmission or reception data, and data to be transmitted or received with priority among the priority determination information Registration means for previously registering priority determination information as priority data information, determination means for extracting priority determination information from the transmission or reception data and determining whether the data is registered as priority data information, and registration as priority data information Data is sent or received with priority over unregistered data. A signal or the reception processing unit, is to a provided.
つまり、本発明は、マルチメディア,プラントデータのようなリアルタイム性が要求されるデータとある程度の遅延が許されるデータが混在した通信システムにおいて、送信又は受信データ内の優先判定情報と予め登録された優先データ情報からデータの送信又は受信処理の順序をデータごとに決定する。それによって、アプリケーションの通信プログラムが扱うデータごとに通信上の制限を設けることなく優先制御できる。 That is, the present invention is pre-registered with priority determination information in transmission or reception data in a communication system in which data that requires real-time properties such as multimedia and plant data and data that allows a certain degree of delay are mixed. The order of data transmission or reception processing is determined for each data from the priority data information. As a result, priority control can be performed for each piece of data handled by the communication program of the application without providing communication restrictions.
また、上記目的を達成するための本発明の特徴は、複数の通信網が接続されるような通信システムにおいて、送信又は受信されるデータを、送信先又は送信元の通信網の一方の通信網の伝送データサイズに分割して、データ分割識別子を付け、そのデータ分割識別子と優先度を対応付け、分割データの送信時又は受信時、そのデータの分割識別子に対応する優先度に基づいて優先制御することである。すなわち、具体的には、プロトコルにより規定された端末アドレスが割り当てられている複数の端末装置が通信網によって接続され
、前記各端末装置間でプロトコル情報が格納されたデータを送信又は受信する通信システムにおいて、送信データを分割する送信データ分割手段と、データを受信時、分割された前記送信データ内のプロトコルヘッダの優先判定情報から優先データか非優先データかを判定する優先判定手段と、受信データのヘッダ内のデータ分割識別子と優先か否かを対応付けた表を記憶する表記憶手段と、分割された前記送信データを受信時、そのデータ分割識別子が優先か否かを前記表から判定する表判定手段と、表判定手段における判定結果に従い、送信又は受信処理の優先制御を行う手段とを設けたことである。
In order to achieve the above object, a feature of the present invention is that in a communication system in which a plurality of communication networks are connected, data to be transmitted or received is transmitted to one of the communication networks of the transmission destination or the transmission source. Data transmission identifiers, data division identifiers are assigned, priorities are associated with the data division identifiers, and priority control is performed based on the priority corresponding to the division identifiers of the data when transmitting or receiving the divided data. It is to be. Specifically, a communication system in which a plurality of terminal devices to which terminal addresses defined by a protocol are assigned are connected by a communication network, and data in which protocol information is stored is transmitted or received between the terminal devices. A transmission data dividing unit for dividing the transmission data, a priority determination unit for determining whether the data is priority data or non-priority data from the priority determination information of the protocol header in the divided transmission data when the data is received, and reception data Table storage means for storing a table associating whether or not the data division identifier in the header is prioritized, and determining whether or not the data division identifier has priority when receiving the divided transmission data A table determining unit and a unit for performing priority control of transmission or reception processing according to the determination result in the table determining unit are provided.
つまり、本発明は、データの送信処理で決定した優先処理順序をデータ内のプロトコルヘッダの優先度情報に格納しその情報に従い送信・受信の優先制御を行う。また、分割したデータのデータ送信時又はデータ受信時データ内のプロトコルヘッダの優先判定情報から優先度を決定し、そのデータのデータ分割識別子と対応付けた表を持ち、分割されたデータの受信時そのデータの識別子に対応する優先度を表から求め優先制御する。それによって、データ内のプロトコルヘッダにサービス識別子を持たないデータに対しても優先制御でき、複数の通信網間を接続する網間中継装置,端末へ適用できる。 That is, according to the present invention, the priority processing order determined in the data transmission processing is stored in the priority information of the protocol header in the data, and transmission / reception priority control is performed according to the information. Also, when sending divided data, when receiving data, when determining the priority from the priority determination information in the protocol header in the data, having a table associated with the data division identifier of the data, and when receiving the divided data The priority corresponding to the identifier of the data is obtained from the table, and priority control is performed. As a result, priority control can be applied to data that does not have a service identifier in the protocol header in the data, and it can be applied to an inter-network relay device or terminal that connects a plurality of communication networks.
さらに、上記目的を達成するための本発明の特徴は、優先処理するデータがある回数連続して発生したとき、あるいは低優先のデータが発生してからある時間経過しても処理されない場合、高優先のデータ処理に影響を与えない程度により低優先のデータを処理することである。すなわち、具体的には、優先処理するデータを連続して送信・受信処理できる上限回数を登録する手段と、非優先処理するデータの送信・受信処理要求が発生してから優先処理するデータを連続して送信,受信処理した回数を積算する積算手段と、優先処理するデータの送信あるいは受信処理において、前記積算手段により積算された回数が上記登録された上限回数以上か否かを判定する手段と、上限回数以上の場合、非優先処理待ちデータを登録されたデータ数分優先的に送信又は受信処理手段とを設けたことである。又、上限回数の代わりに、送信又は受信処理するデータがシステム内に残留できる上限時間を用いてもよく、又、送信又は受信処理するデータがシステム内に残留できる上限時間を各優先処理レベルごとに登録するレベル別上限時間を用いてもよい。 Furthermore, the feature of the present invention for achieving the above object is that the data to be preferentially processed is generated a certain number of times, or is not processed even if a certain time elapses after low priority data is generated. This is to process low priority data to such an extent that it does not affect priority data processing. Specifically, means for registering the upper limit number of times that data to be preferentially processed can be transmitted / received continuously, and data to be preferentially processed after a non-prioritized data transmission / reception processing request is generated Means for integrating the number of times of transmission and reception processing, and means for determining whether or not the number of times integrated by the integration means is equal to or greater than the registered upper limit number in data transmission or reception processing for priority processing When the number is equal to or greater than the upper limit number, transmission or reception processing means is provided preferentially for the number of registered non-priority processing waiting data. Instead of the upper limit count, an upper limit time that allows data to be transmitted or received to remain in the system may be used, and an upper limit time that data to be transmitted or received can remain in the system is determined for each priority processing level. You may use the upper limit time for each level registered in.
つまり、本発明は、優先処理するデータがある回数連続して発生した場合、あるいは低優先のデータが発生してからある時間経過しても処理されない場合、高優先のデータ処理に影響を与えない程度に、より低優先のデータを処理する。それによって、高優先データが連続して発生した場合においても低優先データの送信又は受信処理が完全に中断しないようになるので、不必要な再送処理による通信網の輻輳状態,論理回線の切断を回避することができる。 In other words, the present invention does not affect high-priority data processing if data to be preferentially processed is generated a certain number of times or if it is not processed even after a certain period of time has elapsed since low-priority data was generated. To the extent it processes lower priority data. As a result, even if high-priority data is continuously generated, transmission or reception processing of low-priority data will not be interrupted completely. It can be avoided.
上記した本発明の特徴および上記した以外の本発明の特徴は、以下の記載により、さらに明確とされる。 The characteristics of the present invention described above and the characteristics of the present invention other than those described above will be further clarified by the following description.
本発明によれば、アプリケーションの通信プログラムが扱うデータごとに通信上の制限を設けることなく優先制御を実現できる。 According to the present invention, priority control can be realized without providing communication restrictions for each data handled by an application communication program.
また、本発明によれば、網間中継装置を含む通信システムにおいて優先制御を実現できる。 Further, according to the present invention, priority control can be realized in a communication system including an inter-network relay device.
また、本発明によれば、高優先データの処理が連続し発生しても、低優先データに飢餓状態を発生させず、通信網の輻輳防止,論理回線の切断防止を実現できる。 Further, according to the present invention, even if processing of high priority data occurs continuously, it is possible to prevent congestion of a communication network and prevention of disconnection of a logical line without causing starvation in low priority data.
以下、本発明の一実施例を図を用いて詳細に説明する。
<システムの全体構成>
初めに、本発明が対象とする通信システムの全体構成を図2に示す。複数の端末200〜206が標準的なLAN,WAN等の通信網211〜214に接続され、各通信網211〜214が網間中継装置207〜210によって接続されている。そして、各端末,網間中継装置には、世界標準あるいは業界標準の通信プロトコルが実装され、プロトコルにより規定されたネットワークアドレスが割り当てられる。各端末には、通信プログラムが搭載され、各端末間でデータを送受信しながらシステム全体の業務処理を進める。通信プログラムからのデータ送信要求,通信網からのデータ受信は、端末に実装されている通信プロトコルを介しそれぞれ通信網へ送信,通信プログラムへ渡される。ある端末の通信プログラムから通信相手の端末へデータを送信すると、複数の通信網を網間中継装置により中継され通信相手の端末へ届く。
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
<Overall system configuration>
First, FIG. 2 shows the overall configuration of a communication system targeted by the present invention. A plurality of
データをどの端末へ届けるかは、OSI参照モデルで対応付けるとネットワーク層プロトコルで規定されるネットワークアドレスで決定され、宛先端末上でどのプロセスへデータを届けるかは、OSI参照モデルで対応付けるとトランスポート層プロトコルで規定される宛先サービス識別子で決定される。 The terminal to which data is delivered is determined by the network address defined by the network layer protocol when it is associated with the OSI reference model, and the process to which the data is delivered on the destination terminal is the transport layer when it is associated with the OSI reference model. It is determined by the destination service identifier specified by the protocol.
以下、実施例では、通信プロトコルとしてDARPAプロトコルのTCP,UDP,
IPを使用する通信システムを例に説明する。DARPAプロトコルのTCP/IPでは
、ネットワークアドレスがインターネットアドレス,サービス識別子がポート番号になる
。各端末の通信プログラムは、他端末の通信プログラムとデータ通信する場合、コネクション型かデータグラム型のいずれかの通信方法を用い、通信相手端末のインターネットアドレスと宛先ポート番号を明示し、通信相手の端末,通信プログラムと論理的に結合する
。相手通信プログラムは、送信元インターネットアドレスと送信元ポート番号により応答を返す先の端末,通信プログラムを識別する。通常、コネクション型の通信であればコネクション確立時に、送信元インターネットアドレス,宛先インターネットアドレス,送信元ポート番号,宛先ポート番号が決定される。データグラム型の通信時は、データ単位に決定する。
〔実施例1〕
<構成>
以下、第1の実施例について説明する。
Hereinafter, in the embodiment, TCP, UDP, DARPA protocol is used as a communication protocol.
A communication system using IP will be described as an example. In the DARPA protocol TCP / IP, a network address is an Internet address, and a service identifier is a port number. When the communication program of each terminal performs data communication with the communication program of other terminals, use either a connection type or datagram type communication method, specify the Internet address and destination port number of the communication partner terminal, and Logically connected to terminals and communication programs. The partner communication program identifies the terminal and communication program to which a response is returned by the source Internet address and the source port number. Normally, in connection-type communication, the source Internet address, destination Internet address, source port number, and destination port number are determined when the connection is established. During datagram type communication, it is determined in data units.
[Example 1]
<Configuration>
The first embodiment will be described below.
本発明の通信システムの優先通信制御方式の構成を図1に示す。通信システム内の各端末140等、通信システム内の業務処理を行う通信プログラム処理部120,プロトコル送信処理部141,プロトコル受信処理部143,通信装置111を介し通信網へのデータ送信処理部126,通信網からのデータ受信処理部(データ受信手段とも称す)130
,送受信データの処理待ちキュー制御部142,144を有する。プロトコル送信処理部141は、TCP/IPプロトコル送信処理部121〜122から成り、プロトコル受信処理部143は、TCP/IPプロトコル受信処理部134〜135から成る。送受信データの処理待ちキュー制御部142,144は、データを優先的に処理するか否かを決定するデータの優先判定手段123,131と、送受信処理待ちキュー127,136へ接続する手段124,132と、送受信処理待ちキュー124,132からデータを取り出す手段125,133から成る。更に、補助記憶装置100に優先データ情報を記憶する優先データ情報登録ファイル101が設けられ、主記憶上に優先データ情報登録メモリ
102,送信・受信処理上限登録ファイル103を配置し優先的に送受信するデータの優先データ情報をデータの優先判定手段123,131に知らせる。
The configuration of the priority communication control system of the communication system of the present invention is shown in FIG. Each terminal 140 in the communication system, such as a communication
, And processing
優先データ情報登録ファイル101に登録された優先データは、データ内に格納される通信プロトコル情報のプロトコル種別,TCPヘッダ内の宛先および送信元ポート番号,IPヘッダ内の宛先および送信元ネットワークアドレスから成り、送受信データを優先的に送受信処理するか否かの判定に使用する優先判定情報となる。優先データ情報登録ファイル101は、通信システムの構築時に設定され、システム立ち上げ時に主記憶上の優先データ情報登録メモリ102に記憶,管理される。補助記憶装置100の優先データ情報を全ての端末、および網間中継装置に格納する必要はなく、優先データ情報管理サーバ端末がシステム内に存在し、その他の端末,網間中継装置は、立ち上げ時通信要求を発行し自装置内の優先データ情報登録メモリ102に取り込んでもよい。また、この優先データ情報は、静的に割り付けても、動的に追加,変更,削除等の操作を行っても構わない。
The priority data registered in the priority data
網間中継装置は、端末の上記構成と比較すると通信プログラム処理部120やTCPプロトコル送受信処理部121,135を搭載していない装置もあるが通常上記端末140と同じような構成になる。ただし、網間中継装置は、二つ以上の通信網へ二つ以上の通信装置により接続され、それぞれの通信網から受信したデータを別の通信網へ送信し中継する機能を備えている。
Compared with the above-described configuration of the terminal, the inter-network relay device usually has a configuration similar to that of the terminal 140 although some devices are not equipped with the communication
通信システムへの外部からの入力は、通信ネットワーク(通信網とも称す)110上の所定の端末より行われ、通信装置111,データ受信手段130,受信データの優先判定手段131,受信データの接続手段132,136,受信データの取り出し手段133,IPプロトコルの受信処理部134,TCPプロトコルの受信処理部135,通信プログラム処理部120の順で伝達され処理が行われる。
Input from the outside to the communication system is performed from a predetermined terminal on a communication network (also referred to as a communication network) 110, and includes a communication device 111, data receiving means 130, received data priority determining means 131, and received data connecting means. 132, 136, received data extraction means 133, IP protocol
処理結果の通信システムの外部への出力は、通信プログラム処理部120,TCPプロトコルの送信処理部121,IPプロトコルの送信処理部122,送信データの優先判定手段123,送信データの接続手段124,送信処理待ちキュー127,送信データの取り出し手段125,データ送信手段126,通信装置111の順で伝達され処理が行われ
、通信ネットワーク110上の所定の端末上へ出力される。
The output of the processing result to the outside of the communication system includes a communication
システム内のいずれかの端末の通信プログラムがデータ出力し、通信網を流れ宛先端末の上記入力時の処理手順で、受信側通信プログラムに、データが届けられる。ただし、網間中継装置が介在する場合は、通信ネットワーク110上の所定の端末より入力が行われ
、通信装置111,データ受信手段130,受信データの優先判定手段131,受信データの接続手段132,136,受信データの取り出し手段133,IPプロトコルの受信処理部134,IPプロトコルの送信処理部122,送信データの優先判定手段123,送信データの接続手段124,送信処理待ちキュー127,送信データの取り出し手段
125,データ送信手段126,通信装置111の順で伝達され処理が行われ、通信ネットワーク110上の所定の端末上へ出力される。
<送信処理>
図1を用いて、通信プログラムから通信網へデータ送信するまでの処理を示す。通信プログラム処理部120から送信されたデータは、プロトコル送信処理部141のTCPプロトコル処理部121でTCPヘッダを付加し、次にIPプロトコル送信処理部122でIPヘッダが付加される。そして、送信データの優先判定手段123にてデータ内のプロトコルヘッダ内の情報をチェックし優先送信するか非優先送信かを判定し、送信処理待ちキュー127の優先データ処理待ちキューか非優先データ処理待ちキューのいずれかに送信データの接続手段124にて接続する。送信データの接続手段124にて、送信処理待ちキュー127に一つもデータが接続されていない場合、かつデータ送信手段126にて通信装置111へデータの送信要求を発行していない場合は、送信処理待ちキュー127にデータを接続せずに直接データ送信手段126へデータを渡す。データ送信手段126で送信データにデータリンク層ヘッダ(LANへの送信時はMACヘッダ)を付加し、通信装置111を送信起動し通信網110へデータ送信する。
The communication program of one of the terminals in the system outputs data, flows through the communication network, and the data is delivered to the receiving-side communication program by the processing procedure at the time of the input of the destination terminal. However, when an inter-network relay device is present, input is performed from a predetermined terminal on the
<Transmission process>
The processing from the communication program to data transmission to the communication network will be described with reference to FIG. Data transmitted from the communication
データ送信手段126にて通信装置111へデータを送信要求を発行し、かつ送信処理待ちキュー127に一つもデータが接続されていない場合、あるいはデータ送信手段126にて通信装置111へデータを送信要求を発行し、かつ送信処理待ちキュー127にデータが接続されている場合は、送信処理待ちキュー127にデータを接続する。このキューに接続されたデータは、データ送信手段126が現在通信装置111へ送信要求している処理が終了し、通信装置111から終了割り込みを受けた時点で送信処理待ちキュー127より次に送信すべきデータを送信データの取り出し手段125により取り出し通信装置
111へ送信要求する。送信データの取り出し手段125により取り出されるデータ数は
、次に通信装置111が受付可能なデータ数である。つまり、通信装置111がデータ送信手段126から要求されたデータを通信網110へ送信し終了するまでの間送信処理待ちキュー127に溜め込まれる。そして次に通信網へのデータ送信手段126が動作するときに送信データの取り出し手段125にて優先データから順にデータを取り出し送信処理を行う。
<受信処理>
図1により、通信網からデータを受信し通信プログラムへ渡すまでの処理を説明する。通信装置111が通信網110からデータを受信すると通信装置111からデータ受信手段130に割り込みで報告され、データ受信手段130が通信装置111からデータを取り込む。受信データの優先判定手段131にて受信データ内のプロトコルヘッダ内の情報をチェックし優先受信するか非優先受信かを判定し、受信処理待ちキュー136の優先データ処理待ちキューか非優先データ処理待ちキューのいずれかに受信データの接続手段
132にて接続する。受信処理待ちキュー136に一つもデータが接続されていない場合は、プロトコル受信処理部143を起動し、一連の割り込み報告による受信処理を終了する。データが接続されている場合は、受信処理を即終了する。プロトコル受信処理部143が起動されると受信データの取り出し手段133により受信処理待ちキュー136から次に処理すべき優先度の高いデータを一つ取り出し、IPプロトコル受信処理部134へデータを渡し、自端末宛てのデータであれば上位のTCPプロトコル受信処理部135経由で通信プログラム処理部120へデータを渡す。
When the
<Reception processing>
With reference to FIG. 1, a process from receiving data from a communication network to passing it to a communication program will be described. When the communication device 111 receives data from the
IPプロトコル受信処理部134にて自端末宛てでないデータでかつ中継すべきデータと判断した場合は、受信データをプロトコル送信処理部141のIPプロトコル送信処理部122へ渡し、送信データの優先判定手段123,送信データの接続手段124,送信データの取り出し手段125,データ送信手段126を経由し送信する。
When the IP protocol
プロトコル受信処理部143は、受信処理待ちキュー136にデータが接続されている限り上記のプロトコル受信処理を繰り返す。プロトコル受信処理部143が動作中であっても通信網からのデータ受信手段130は、割り込み動作する。このため通信装置111から受信したデータは、受信処理待ちキュー136に接続され溜め込まれる。この溜め込まれたデータをプロトコル受信処理部143への受信データの取り出し手段133にてデータを取り出しプロトコルの受信処理を行う。
<優先判定情報>
受信,送信データが優先すべきデータか非優先データかを判定するために参照するプロトコルヘッダ内の優先判定情報について説明する。
The protocol
<Priority determination information>
The priority determination information in the protocol header referred to for determining whether the received / transmitted data should be prioritized or non-prioritized data will be described.
図3に、通信網を流れるデータフレーム300の構成例を示す。データフレーム300は、データリンク層としてIEEE802.3 を用いた場合のTCP/IPのフレーム構成例である。この他、イーサネットフレームやIEEE802フレームがある。TCP/IPプロトコルを用いた場合の優先判定情報は、データのプロトコル種別,TCPヘッダ330内の宛先ポート番号332,送信元ポート番号331、およびIPヘッダ320内の宛先インターネットアドレス322,送信元インターネットアドレス(INA)321である。
FIG. 3 shows a configuration example of the
プロトコル種別は、IEEE802.3のMACヘッダ,LLC(Logical Link Control)
,SNAP(Sub Network Access Point)から成る物理ヘッダ310内のSNAPヘッダ内のプロトコルタイプ311を用いる。プロトコルタイプ311は、DARPAプロトコルとしてリクエスト・フォー・コメンツ(RFC)内にタイプ番号とプロトコル名が記載されており16進数表記でIPプロトコルが800,ARPが806と決められている。更にプロトコル種別を限定するために、プロトコルタイプ311がIPのとき、IPヘッダ312内のプロトコル326(IPの上位プロトコル)を用いる。プロトコル326としては、TCP,UDP、およびICMPなどのプロトコルがRFCで定義されている。インターネットアドレスは、IPヘッダ320の送信元INA(インターネットアドレス)321,宛先INA322を用いる。ポート番号は、TCPあるいはUDPヘッダ330内の送信元ポート番号331,宛先ポート番号332を用いる。
Protocol type is IEEE802.3 MAC header, LLC (Logical Link Control)
,
図4に示す形式により、図1の優先データ情報登録メモリ102に、上記優先判定情報の内どの組み合わせを優先的に送受信するかが格納されている。すなわち、データの物理ヘッダ310内のプロトコルタイプ401,IPヘッダ内のプロトコルタイプ402,送信元のINA403,宛先のINA404,送信元ポート番号405,宛先ポート番号
406が、それぞれの対応する部分に格納されている。プロトコルには、直接、通信プログラム処理部120において通信プログラムの処理に使用するTCP,UDPプロトコルとARP,ICMPのようなシステム内のプロトコル処理から使用され通信プログラムからは直接使用されないプロトコルがある。全てのプロトコルを優先データ情報として登録すると優先データ情報登録メモリを検索するオーバーヘッドが大きくなり通信性能が遅延するため、ARP,ICMPのような直接通信プログラムから使用されないプロトコルは
、予め優先データとして処理しても良い。優先データ情報登録メモリを検索するオーバーヘッドを高速化するためのハッシュ化等の処理も組み込む。また、優先判定する情報全てを比較しなくても良いように優先データ情報登録メモリに格納される値が0の場合、その項目の比較を行わない。この値は0でも−1でも構わないが優先判定情報内で用いられない値である必要がある。
<優先判定>
図5に、送受信データの優先判定手段の一例のフローチャートを示す。この例では、処理500,505にて送受信するデータのプロトコル種別をチェックし、ARP,ICMPである場合無条件に優先データとし、ARP,ICMP,TCP,UDP以外のプロトコルである場合非優先データとして扱う。データがTCP,UDPプロトコルならば処理
510〜550にてデータと優先データ情報登録メモリ内全ての宛先,送信元ポート番号
、および宛先,送信元インターネットアドレスを比較する。優先データ情報が0の場合は比較せずに次の優先データ情報の比較を行う。登録されている場合、優先データとし、登録されていない場合には、非優先データとする。
In the format shown in FIG. 4, the priority data
<Priority determination>
FIG. 5 shows a flowchart of an example of transmission / reception data priority determination means. In this example, the protocol type of the data to be transmitted / received in
処理500,505の代わりに、優先データ情報登録メモリ内の情報項目プロトコルタイプ401とデータヘッダ内のプロトコルタイプ311,プロトコル326とIP上位プロトコル402の比較処理を、処理510と505の間に入れることもできる。データヘッダ内のプロトコルタイプ311,プロトコル326と優先データ情報登録メモリ内の情報項目プロトコルタイプ401,IP上位プロトコル402の一致する項目が登録されている場合処理501以降の判定を行い、一致する項目が登録されていない場合、非優先データと判断する。
<処理待ちキュー構成>
上記のようにデータの優先判定を行った後、送受信データの接続手段により送受信データ処理待ちキューに接続する。送信・受信処理待ちキューへのデータ接続方法,取り出し方法を説明する前に送信・受信処理待ちキューの構成について説明する。
Instead of the
<Processing queue configuration>
After the data priority determination as described above, the transmission / reception data connection means is connected to the transmission / reception data processing waiting queue. The configuration of the transmission / reception processing wait queue will be described before explaining the method of connecting and retrieving data from / to the transmission / reception processing wait queue.
図6に、送信・受信データ処理待ちキューの構成図を示す。送信・受信データ処理待ちキューは、送信・受信データの処理待ちキュー制御に使用する情報から成るキューヘッダ610,優先データの処理待ちキュー620と非優先データの処理待ちキュー630から成る。優先データ処理待ちレベルキュー620,非優先データ処理待ちレベルキュー630の構造は同じ構造である。各処理待ちキューには、各キューごとに連続して取り出せるためのデータ数である連続取り出し可能最大データ数621,631と、現在の連続取り出し可能データ数622,632,各キューに現在いくつの処理待ちデータが接続されているかをカウントする処理待ちデータ数623,633,該当優先レベルキューに接続されているデータのFIFOの処理待ち状態のデータリストの先頭と最後のデータのデータヘッダアドレス624,635と625,635から成る。各キューに接続されるデータの内部処理構造640は、データの属性や優先情報等のデータ制御情報を格納するデータ管理ヘッダ641とデータ部642からなる。
FIG. 6 shows a configuration diagram of a transmission / reception data processing waiting queue. The transmission / reception data processing waiting queue includes a
上記処理待ちキューの初期情報の一例を次に示すと、図6のキューヘッダ610内のトータルデータ数611が0の場合である。
An example of the initial information of the waiting queue is shown below when the total number of
送信又は受信できる上限回数は、補助記憶装置100に送信又は受信処理上限登録ファイル103を配置し、優先と非優先のそれぞれの処理上限回数を登録する。この上限回数は、データの送信又は受信処理を開始するまでに、送信又は受信処理待ちキュー600の優先データ処理待ちキュー620内の連続取り出し上限回数621と非優先データ処理待ちキュー630内の連続取り出し上限回数631に格納する。現在の連続取り出し回数
622,632、その他の処理待ちデータ数、先頭処理待ちデータアドレス624,634
、および最終処理待ちデータアドレス625,635には0が格納される。取り出し上限回数621,631以外の情報は、処理待ちキューへのデータ接続処理,データ取り出し処理により値が変更される。
<接続方法>
図7に、送受信処理待ちキューへのデータの接続方法のフローチャートを示す。処理
710で接続するデータが優先か非優先かを判定する。処理720にて優先データならば優先データの処理待ちキューの最終処理待ちデータアドレス625で示されるデータの次に接続し、優先データ処理待ちキューの処理待ちデータ数623を1加算する。非優先データならば処理730にて非優先データの処理待ちキューの最終処理待ちデータアドレス625で示されるデータの次に接続し、非優先データ処理待ちキューの処理待ちデータ数623を1加算する。最後に処理740にてキューヘッダ内のトータルデータ数611を1加算する。
<取り出し方法>
次に、図8に、送信・受信データ処理待ちキューから送信処理するデータ、あるいは受信処理するデータを取り出す方法のフローチャートを示す。この処理には優先データが連続処理されることにより非優先データが送信又は受信処理待ちキューから取り出せず飢餓状態に陥ることを防止する処理も含めている。このフローに示す飢餓状態防止方法は、優先データ,非優先データの連続処理回数を用いた1例である。
For the upper limit number of times of transmission or reception, the transmission or reception processing upper
, And 0 are stored in the final processing wait data addresses 625 and 635. The values of information other than the retrieval upper limit counts 621 and 631 are changed by data connection processing to the processing queue and data retrieval processing.
<Connection method>
FIG. 7 shows a flowchart of a method for connecting data to the transmission / reception processing waiting queue. In
<Removal method>
Next, FIG. 8 shows a flowchart of a method of extracting data to be transmitted or received from the transmission / reception data processing waiting queue. This process includes a process for preventing the non-priority data from being taken out of the transmission or reception process waiting queue and falling into a starvation state by continuously processing the priority data. The starvation state prevention method shown in this flow is an example using the number of continuous processing of priority data and non-priority data.
処理810〜825は、優先データ処理待ちキューからのデータ取り出し処理である。処理850〜860が非優先データ処理待ちキューからのデータ取り出し処理である。処理830,840,845,865,870は、飢餓状態防止のための調整処理部である
。非優先データの飢餓状態を防止するため、各キューの連続取り出し上限回数と現在の連続取り出し回数を用い、優先データの連続取り出し数を現在の連続取り出し回数でカウントし、連続取り出し上限回数を越えた(又は上限回数と等しい)時、非優先データがあれば非優先データを取り出す。この時に非優先データをいくつ処理するかは、登録されている非優先データ処理待ちキューの取り出し上限回数で決まる。
Processing 810 to 825 is data extraction processing from the priority data processing waiting queue. Processing 850 to 860 is data extraction processing from the non-priority data processing waiting queue.
通常優先データが存在する場合は、非優先データが存在しても処理810〜830により処理待ちキューから優先データが取り出され、優先データ処理待ちキュー620の処理待ちデータ数623と連続取り出し回数622が減算される。優先データ処理待ちキュー620の連続取り出し回数が、連続取り出し上限回数と等しくなる(処理815)と優先データの取り出しを中断し、非優先データが存在するかチェック(処理840)する。非優先データが存在する場合は、処理855〜860にて非優先データの取り出しを行う。この後、処理865にて、非優先データの連続取り出し回数632が連続取り出し上限回数631を越えた(又は上限回数631と等しい)場合、非優先データおよび優先データの処理待ちキューの連続取り出し回数632,622を0に設定する(処理870)。
When normal priority data exists, priority data is extracted from the processing queue by processing 810 to 830 even if non-priority data exists, and the processing waiting data count 623 and the continuous extraction count 622 of the priority data
この連続取り出し回数の初期化(処理845,870)は、送信・受信処理待ちキューにデータが一つも存在しなくなった時(処理810−850−870)、優先データは存
在するが優先データの連続取り出し回数が連続取り出し上限回数となり、非優先データの取り出しを行おうとしたが非優先データが存在していなかった時(処理840−845)
、優先データ,非優先データとも取り出し回数622,623が連続取り出し上限回数と等しくなった時(処理865−870)行われる。連続取り出し回数の初期化は、優先データの取り出しを中断する必要がなくなったタイミングで行う。
This initialization of the number of consecutive fetches (
The priority data and the non-priority data are processed when the number of
上記は、連続取り出し回数を積算する積算手段と、積算値が上限回数に達したか否か判定する積算値上限回数判定手段を用いた例である。 The above is an example using the integrating means for integrating the number of continuous extractions and the integrated value upper limit number determining means for determining whether or not the integrated value has reached the upper limit number.
このほか、予め連続取り出し回数を上限回数で初期化し、データを取り出すごとに減算し、0になったか否か判定する方式でもよい。 In addition, a method may be employed in which the number of consecutive fetches is initialized in advance with the upper limit count, and is subtracted each time data is fetched to determine whether or not the number has reached zero.
上記の優先データ,非優先データの連続処理回数による飢餓状態防止策の他に次方式でも良い。補助記憶装置100にシステム内に残留できる上限時間を送信・受信処理上限登録ファイル103に登録し、データの送信又は受信までにそれぞれの処理待ちキューに格納する。そして、送信・受信処理待ちキューにデータを接続した後、一定周期にキューに接続されているデータのデータヘッダ内の待ち時間カウンタを加算し、残留上限時間を越えたデータ(又は残留上限時間と等しいデータ)を準優先データとし処理待ちキューから取り出す。この時本来の優先データの遅延を招かないよう取り出し個数を優先データ複数個に対し準優先データ一つというように調整し取り出す。また、回数による方式と接続されてからの待ち時間両方を組み込んだ取り出し方法でもよい。これらについての詳細な例は、実施例3にて示す。
In addition to the above-mentioned starvation state prevention measures by the number of continuous processing of priority data and non-priority data, the following method may be used. The upper limit time that can remain in the system in the
本実施例によれば、プロトコル種別,IPヘッダ内のインターネットアドレス、およびTCPあるいはUDPヘッダ内のポート番号を用いて優先送信処理,優先受信処理したいデータを判別でき、通信プログラムで送受信するデータ単位にリアルタイム性が要求されるデータを優先処理できる効果がある。また、優先判定情報をポート番号だけにすることにより通信システム内のサービス種別単位に優先処理でき優先判定の処理オーバーヘッドを低減することもできる。
〔実施例2〕
以下、実施例2について説明する。
According to the present embodiment, it is possible to determine the data to be preferentially sent and received by using the protocol type, the Internet address in the IP header, and the port number in the TCP or UDP header. There is an effect of preferentially processing data that requires real-time performance. In addition, by using only the port number as the priority determination information, priority processing can be performed for each service type in the communication system, and the processing overhead for priority determination can be reduced.
[Example 2]
Example 2 will be described below.
実施例1では、データ受信時もTCPあるいはUDPのポート番号とIPのインターネットアドレスを優先判定情報として用いた例を示した。しかし、TCPあるいはUDPからの送信データサイズが下位通信網の最大転送バイト数よりも大きい場合、送信データをセグメンティング(分割)し、受信データをリアセンブル(再組み立て)する。このセグメンティングされたデータには、TCPやUDPヘッダを含まないデータフレームも存在してしまう。つまり、セグメンティングされたデータを受信した時に実施例1で示した優先判定情報だけでは優先データか非優先データかを判定できない場合が生じる。これを回避する方法について、この実施例2で説明する。 In the first embodiment, an example in which a TCP or UDP port number and an IP Internet address are used as priority determination information even when data is received. However, when the transmission data size from TCP or UDP is larger than the maximum transfer byte number of the lower communication network, the transmission data is segmented (divided) and the received data is reassembled (reassembled). The segmented data includes a data frame that does not include a TCP or UDP header. That is, when segmented data is received, it may not be possible to determine whether the data is priority data or non-priority data using only the priority determination information shown in the first embodiment. A method for avoiding this will be described in the second embodiment.
上記セグメンティング,リアセンブル処理は、IPプロトコルとして規定されており周知である。この送信データのセグメンティングしたデータは、IPプロトコルではフラグメントと呼ばれている。このフラグメントの概略図を図9に示す。データ900をIPプロトコルが送信依頼された場合、IPヘッダ902からユーザデータ2の904までのデータサイズが送信先の通信網が扱える最大転送バイト数より大きい時、データ910とデータ920のようにデータを分割する。図9には、二つに分割した図を示している。一つ目のデータ910には、TCP/UDPヘッダ913が付加されるが、二つ目以降の分割されるデータにはTCP/UDPヘッダは付加されない。IPプロトコルでは、一つのデータを複数に分割し送信する場合、データを受信した側で再組み立てできるための情報を各分割データ内のIPヘッダ912,922に格納するようになっている。図3のデータ分割識別子327,フラグ324,FO325の情報が再組み立てに使用する情報である
。
The segmenting and reassembling processes are defined as IP protocols and are well known. The segmented data of the transmission data is called a fragment in the IP protocol. A schematic diagram of this fragment is shown in FIG. When an IP protocol transmission request is made for
実施例1では、送信データの判定手段を、図1のIPプロトコル送信処理部122の次に置き処理していたが、実施例2では、IPプロトコル送信処理部122でデータ分割処理を行う前に置く。そして優先判定した結果を元に分割するデータ全てのIPヘッダのタイプオブサービスフィールド(図9の950)内のデータグラムの優先度(図9の951)にデータの優先か否かの識別子を格納する。以後の優先送信処理は、この優先識別子により優先データか非優先データかを判断する以外、実施例1と同じである。格納するデータの優先識別子の値は、送信データの優先判定により優先データか非優先データかを識別した後で、それぞれに対応付けて登録されている優先識別子を用いる。 In the first embodiment, the transmission data determination unit is placed next to the IP protocol transmission processing unit 122 in FIG. 1, but in the second embodiment, before the IP protocol transmission processing unit 122 performs the data division processing. Put. Based on the priority determination result, an identifier indicating whether or not the data is prioritized is stored in the priority (951 in FIG. 9) of the datagram in the type of service field (950 in FIG. 9) of all the IP headers to be divided. To do. The subsequent priority transmission processing is the same as that of the first embodiment except that it is determined whether the priority data is non-priority data or not by this priority identifier. The priority identifier value of the data to be stored uses the priority identifier registered in association with each other after identifying whether the data is priority data or non-priority data by the priority determination of the transmission data.
データ受信処理の構造は、実施例1の場合と略同じ。ただし、図1の受信データの優先判定手段131が、実施例1で示した方法と異なる。すなわち、異なる部分は、プロトコル種別がIPプロトコルであると認識した後の優先データか非優先データかの判定を、図9のIPヘッダ内タイプオブサービス情報中のデータグラムの優先度951を用いて行うところである。この優先度951は、上記データ送信処理で説明した通り、予め優先データと非優先データに対して優先識別子を対応付けて置き、その優先識別子の値に従い優先判定を行う。優先判定後の処理は、実施例1と同じ処理を行う。
The structure of the data reception process is substantially the same as in the first embodiment. However, the received data priority determination means 131 in FIG. 1 is different from the method shown in the first embodiment. That is, the different part is determined using the
本実施例によれば、最大転送バイト数の異なる下位通信網が複数存在する通信システムにおける網間中継装置で送受信データがセグメンティングされてもどのデータを優先的に処理するかを判別でき、本発明を適用できる通信機器に制限を付けずに優先制御を行える効果がある。 According to the present embodiment, it is possible to determine which data is preferentially processed even when transmission / reception data is segmented by an inter-network relay device in a communication system in which a plurality of lower-layer communication networks having different numbers of maximum transfer bytes exist. There is an effect that priority control can be performed without restricting communication devices to which the invention can be applied.
本実施例では、データ送信時、優先データと非優先データに対応するデータの優先度をデータ内のプロトコルヘッダの優先度情報951に格納し、データを受信時、データ内のプロトコルヘッダの優先度情報951に従いデータの受信処理を優先制御する例を示した
。この方法では、予め端末がデータ内のプロトコルヘッダの優先度情報951に優先するか否かを示す優先識別子を設定しなければいけない。このため、上記処理を行わない端末からデータを受信し中継する場合にIPプロトコルに準拠した端末,網間中継装置で、処理が正常動作しない場合又は優先判定ができない場合が発生する。これを回避するために
、データ送信時データ内のプロトコルヘッダの優先度情報951を格納せずに、実施例1の通り送信する。そして、図3に示すような、予め受信したデータのIPヘッダ内の
Identification(データ識別子)327,フラグメントオフセット325,フラグ324を監視し、分割されたデータの先頭データと判断した場合、そのデータが優先すべきデータかを優先判定情報より決定し、優先データであるとき、データ分割識別子ごとに記憶する。一つのデータ分割識別子に1ビット割り付け、データ分割識別子ごとに優先データか否かを管理できるようにする。初期値はオフとし、分割データの先頭データのヘッダ情報から優先すべきデータと判断したときに、対応するデータ分割識別子のフラグをオンする
。受信したデータのIPヘッダ内のフラグメントオフセット,フラグから分割された2個目以降のデータと判断した場合、IPヘッダ内のデータ分割識別子に対応するフラグがオンであれば、優先データ、オフであれば非優先データとして処理する。分割されたデータの最後のデータを受信した場合、優先判定を実施後、IPヘッダ内のデータ分割識別子に対応するフラグがオフする。この方法では、プロトコルヘッダの優先度情報に優先するか否かを示す値を設定する処理を採用しない端末からのデータも網間中継装置で中継するデータに対し優先制御でき、かつIPプロトコルで規定されるデータグラムの優先度951をサポートしている端末、網間中継装置でもプロトコル違反をすることなく優先制御できる効果がある。
〔実施例3〕
以下、実施例3について説明する。実施例1,2では、優先と非優先の2レベルの優先制御であるが、実施例3では、優先制御を2レベル以上の複数の優先処理レベルで実施する場合の実施例について説明する。
In this embodiment, when data is transmitted, the priority of data corresponding to priority data and non-priority data is stored in the
When the identification (data identifier) 327, the fragment offset 325, and the
Example 3
Example 3 will be described below. In the first and second embodiments, priority and non-priority two-level priority control are described. In the third embodiment, an example in which priority control is performed at a plurality of priority processing levels of two or more levels will be described.
通信システム内の優先通信制御方式の構成は、実施例1で説明した図1の構成と略同じであるが、優先データ情報登録ファイル101と優先データ情報登録メモリ102の構成
,送信又は受信処理上限登録ファイル102,送信・受信処理待ちキュー127,136の構成,処理待ちキュー内の各種管理情報が異なる。更に、送信・受信データの優先判定手段123,131や送信・受信データの接続手段124,132、および送信・受信データの取り出し手段125,133でそれぞれ優先処理レベルを考慮した処理を行う。また、低い優先レベルの飢餓状態を防止するための手段として、本実施例では、定周期残留積算手段150を使用する。優先判定情報の構成,通信プログラムから通信網へデータ送信するまでの処理、および通信網からデータを受信し通信プログラムへ渡すまでの処理は
、実施例1と同じである。
The configuration of the priority communication control method in the communication system is substantially the same as the configuration of FIG. 1 described in the first embodiment, but the configurations of the priority data
優先データ情報は、実施例1で説明した図4の構成に優先レベルを追加した図10の構成を用いる。この優先データ情報に登録されている優先判定情報を持つデータの優先レベルは、図10の優先判定情報と一致した情報内の優先処理レベル1007値を用いて以後の送信・受信処理の優先制御を行う。データの優先判定情報が優先データ情報登録メモリ102に登録されていない場合は、最も低い優先処理レベルを割り当て、送信・受信処理する。
As the priority data information, the configuration of FIG. 10 in which priority levels are added to the configuration of FIG. 4 described in the first embodiment is used. The priority level of the data having the priority determination information registered in the priority data information is set to the priority control of the subsequent transmission / reception processing using the
図11に、優先レベルを3とした場合の送信・受信処理待ちキューの構成を示す。送信
・受信処理待ちキュー1100は、キューヘッダ1110と使用する優先処理レベル数分の優先処理レベルごとの処理待ちキュー1110,1120,1130,1140から成る。キューヘッダ1110には、各優先処理レベルごとの処理待ちキューに接続されているトータルデータの数を格納するトータルデータ数1111,飛び越しデータリスト1112
、および優先処理レベル数1113,飛び越しデータ数1114から成る。飛び越しデータリスト1112は、低い優先レベルのデータが処理待ちキューに接続されてから定周期残留積算手段150にて飢餓状態と判断したデータを最優先で送信待ちするリストである
。優先処理レベル数1113は、通信システム内で使用する優先処理レベルの数を予め決定し登録しておく。各優先処理レベルごとの処理待ちキューの構成情報1121〜1123、およびキューに接続するデータ構造1140は、データヘッダに残留カウンタ1150を持つ以外は、実施例1で説明したものと同様のものである。
FIG. 11 shows the configuration of the transmission / reception processing wait queue when the priority level is 3. The transmission / reception
, And priority
キューヘッダ情報1110の初期値は、トータルデータ数1111と飛び越しデータ数が0,優先データ情報登録ファイル101より入力し、優先処理レベル数に予め登録された値を格納する。各優先レベルごとの処理待ちキューの処理待ちデータ数1121が0,残留上限値1123は、送信・受信処理上限登録ファイル103より入力し、予め登録された値を初期値とする。キューヘッダ1110と優先レベル1120,1130,1140ごとの処理待ちキュー内のデータリストは、データが接続されていない状態にする。
<優先判定>
優先処理レベル化した優先制御で使用する送信・受信データの優先判定方法は、図5の処理555のように無条件に優先データとする処理の代わりに、データ内の優先判定情報と図10の優先データ情報登録メモリに登録されている優先データ情報の一致する情報内の優先処理レベル1007をデータの優先処理レベルとする処理方法である。また、ARPとIP以外のプロトコルタイプ,ICMP,TCP,UDP以外のIPプロトコル上位のプロトコル,優先データ情報登録メモリに登録されていない優先判定情報のデータの場合(処理500〜510)は、処理560の代わりに最も低い優先処理レベルのデータとして扱う。これらプロトコルも図10に示す優先データ情報登録ファイルに登録しておくことにより優先処理レベルを設定することも可能である。上記データの優先判定後、図11のデータヘッダ1141内に優先処理レベル1151を格納し、データの処理待ちキューへの接続処理へ渡す。以後データを通信網へ送信するか、あるいは受信データを通信プログラムに渡すまで各処理でデータヘッダ内の優先処理レベル1151を参照する。
The initial value of the
<Priority determination>
The priority determination method of the transmission / reception data used in the priority control with the priority processing level is replaced with the priority determination information in the data, instead of the processing for unconditionally setting the priority data as in processing 555 in FIG. This is a processing method in which the
又、データの送信要求時あるいはデータ受信時からシステム内に残留している時間を積算するための残留カウンタ1150をデータヘッド内に有する。残留カウンタ1150は
、データの送信要求時あるいはデータ受信時に0で初期化する。
<データの接続>
送信・受信データを送信・受信処理待ちキュー1100へ接続するのは、データの接続手段にて行い、接続フローを図12に示す。データは、処理1200にてデータの優先処理レベルに対応する処理待ちキューの一番最後に接続し、この優先レベルキューの処理待ちデータ数を1加算する。そして処理1210にてキューヘッダのトータルデータ数を1加算する。
<データの取り出し>
以下、優先処理レベルをレベルで、送信・受信処理待ちキューを処理待ちキューで、優先レベルごとの処理待ちキューをレベルキューで説明する。処理待ちキューからレベルを用いて一つのデータを取り出すフローチャートを図13に示す。実際の処理では図13の処理フローを取り出したいデータ数分ループし、データを取り出す。取り出し処理の説明を簡単にするため一つのデータを取り出す処理に限定している。
Further, the data head has a residual counter 1150 for accumulating the time remaining in the system from the time of data transmission request or data reception. Residual counter 1150 is initialized to 0 when data transmission is requested or data is received.
<Data connection>
The transmission / reception data is connected to the transmission / reception
<Retrieving data>
Hereinafter, the priority processing level will be described as a level, the transmission / reception processing waiting queue will be described as a processing waiting queue, and the processing waiting queue for each priority level will be described as a level queue. FIG. 13 shows a flowchart for extracting one piece of data from the queue for processing using the level. In actual processing, the processing flow in FIG. 13 is looped as many times as the number of data to be extracted, and the data is extracted. In order to simplify the description of the extraction process, the process is limited to the process of extracting one piece of data.
処理1300にて現在処理待ちキューにデータが接続されているかをキューヘッダのトータルデータ数で判定する。データが接続されていない場合は、データなしとして処理を終了する。一つ以上のデータが接続されている場合は、低い優先レベルのデータが飢餓状態に陥った時に接続されるキューヘッダ内の飛び越しデータリストにデータが接続されているかを処理1305でチェックする。飛び越しデータが存在する場合は、処理1335〜1340でキューヘッダからデータを外しトータルデータ数1111と飛び越しデータ数1114を1減算する。この飛び越しデータリストへデータを接続するのは、定周期残留積算手段にて行う。この手段については、後ほど説明する。通常は、処理1305〜
1330を繰り返し、最も高い優先レベルのキューから順に低いレベルのキューをサーチし取り出せるデータが存在するかサーチする。現在のサーチ対象レベルキューにデータがあるか処理1310で判定する。処理待ちデータがある場合、処理1315にてデータを一つ取り出し、処理1320で処理待ちキューのトータルデータ数、現在のサーチ対象レベルキューの処理待ちデータ数を1減算する。処理1310でサーチ中の対象レベルキューにデータがない場合は、処理1325にてサーチする優先レベルを変更する。その結果のサーチ優先レベルが最低レベルを越えたかを処理1330で判定し、越えていない場合は、処理1305から次の優先レベルキューのサーチを繰り返す。処理1330で、最低レベルを越えた場合は、取り出せるデータなしとして終了する。
<定周期残留積算手段>
次に、図14に、定周期で起動され処理待ちキュー内に接続されるデータの残留時間の積算手段についての処理手順を示し説明する。この処理は、予め登録された時間に従い、一定周期で起動され、図14のフローチャートに示す処理を実行する。処理1400で処理待ちキューに最優先レベルキューの処理待ちデータおよびキューヘッダ内の飛び越しデータ以外のデータがあるか判定し、ない場合は処理を終了する。最優先データと飛び越しデータ以外のデータがある場合は、最優先レベルより一つ下の優先レベルのキューから順に最低レベルのキューまで処理1405〜1420を繰り返し、全ての処理待ちデータのデータヘッダ内残留カウンタ1150を1加算する。加算した結果、そのデータのレベルキューの残留上限値1123を越えた(又は等しい)場合は、飢餓状態のデータと判断
(処理1420)し、処理1425〜1430でそのデータを接続されているレベルキューから外しキューヘッダの飛び越しリスト1112の一番後ろへ接続し、処理待ちデータ数1121を1減算する。
In
<Fixed-period residual integration means>
Next, FIG. 14 shows a processing procedure for the means for accumulating the remaining time of data that is activated at a fixed cycle and connected in the processing queue. This process is started at a constant cycle according to a pre-registered time, and executes the process shown in the flowchart of FIG. In
本実施例によれば、複数の優先処理レベルを用いるので、リアルタイム性が要求されるデータをさらに送信・受信処理する際に優先順序化することができる。また、定周期残留積算手段を用いるので、高優先データが連続して発生した場合においても低優先データの送信・受信処理が完全に中断しないようになるので、不必要な再送処理による通信網の輻輳状態,論理回線の切断を回避できる効果がある。
〔実施例4〕
以下、実施例4について説明する。実施例3の場合は、実施例2で説明したセグメンティングされるデータに対して優先判定情報を取り込めず優先判定ができない場合がある。そこで、本実施例では、実施例3の場合に、実施例2で説明したセグメンティング,リアセンブルされるデータに対しての優先制御方法を取り入れた複数の優先処理レベルによる通信方法を説明する。
According to the present embodiment, since a plurality of priority processing levels are used, it is possible to prioritize the data that requires real-time processing when further transmitting / receiving the data. In addition, since the fixed period residual integration means is used, even when high priority data is continuously generated, transmission / reception processing of low priority data is not completely interrupted. It has the effect of avoiding congestion and disconnection of logical lines.
Example 4
Hereinafter, Example 4 will be described. In the case of the third embodiment, priority determination information may not be taken into the segmented data described in the second embodiment and priority determination may not be performed. Therefore, in the present embodiment, a communication method using a plurality of priority processing levels incorporating the priority control method for the segmented and reassembled data described in the second embodiment in the case of the third embodiment will be described.
送信データの判定手段を、実施例3では、図1のIPプロトコル送信処理部122の次に置き処理していたが、本実施例では、IPプロトコル送信処理部122でデータ分割処理を行う前に置く。そして、優先判定手段にて求めた優先処理レベルを分割するデータ全てのIPヘッダのタイプオブサービスフィールド(図9の950)内のデータグラムの優先度(図9の951)に格納する。以後の優先送信処理は、実施例3と同様である。優先度とする値は、優先処理レベル値を直接格納しても、優先レベルと優先度変換表により変換した値を格納しても良く、通信システム内で統一されていればよい。データ受信処理の構造は、実施例3と略同様である。ただし、図1の受信データの優先判定手段131が実施例3で示した方法と異なる。異なる点は、プロトコル種別がIPプロトコルであると認識した後の優先判定を、図9のIPヘッダ内タイプオブサービス情報中のデータグラムの優先度(図9の951)を用いて行う点である。上記データ送信処理で説明したとおり、予め優先処理レベルとIPヘッダ内の優先度を対応付けて置き、優先度951の登録値に従い優先判定を行う。優先判定後の処理は、実施例3と同様の処理を行う。
In the third embodiment, the transmission data determination unit is placed next to the IP protocol transmission processing unit 122 in FIG. 1, but in this embodiment, before the IP protocol transmission processing unit 122 performs the data division processing, Put. Then, the priority processing level obtained by the priority determination means is stored in the priority (951 in FIG. 9) of the datagram in the type of service field (950 in FIG. 9) of all the data to be divided. Subsequent priority transmission processing is the same as in the third embodiment. The priority value may be stored directly as the priority processing level value, or may be stored as a value converted by the priority level and the priority conversion table, and may be unified within the communication system. The structure of the data reception process is substantially the same as in the third embodiment. However, the received data priority determination means 131 in FIG. 1 is different from the method shown in the third embodiment. The difference is that the priority determination after recognizing that the protocol type is the IP protocol is performed using the priority (951 in FIG. 9) of the datagram in the type of service information in the IP header of FIG. . As described in the data transmission process, the priority processing level is associated with the priority in the IP header in advance, and priority determination is performed according to the registered value of the
本実施例によれば、データのセグメンティングに対応しているので、実施例3の効果に加え、複数の異なる通信網からなる通信システムへも適用可能となる効果がある。 According to the present embodiment, since data segmentation is supported, in addition to the effect of the third embodiment, there is an effect that the present invention can be applied to a communication system including a plurality of different communication networks.
本実施例では、データ送信時、優先処理レベルをデータ内のプロトコルヘッダの優先度情報に格納し、データを受信時、データ内のプロトコルヘッダの優先度情報に従いデータの受信処理を優先制御する例を示した。この方法では、予め端末がデータ内のプロトコルヘッダの優先度情報に優先する処理レベルを設定しておく必要がある。このため、上記処理を行わない端末からのデータを受信し中継する場合に優先処理レベル判定できない問題が発生する。これを回避するために、データ送信時、データ内のプロトコルヘッダの優先度情報を格納せずに送信する。そして、予め受信したデータのIPヘッダ内のデータ分割識別子(Identification),フラグメントオフセット,フラグを監視し、分割されたデー
タの先頭データと判断した場合、そのデータが優先すべきデータかを優先判定情報より決定し、優先データである時、データ分割識別子ごとに記憶する。そして、受信したデータ分割識別子と優先処理レベルを対応付ける表を管理する。初期値は、0とし、分割データの先頭データのヘッダ情報から優先処理レベルを決定し、そのデータ分割識別子と優先処理レベルを記憶する。受信したデータのIPヘッダ内のフラグメントオフセット,フラグから、分割されたデータの2個目以降のデータであると判断した場合、IPヘッダ内のデータ分割識別子が前記表に記憶されていれば、その優先処理レベルに送信又は受信処理する。分割されたデータではあるが、対応するデータ分割識別子が前記表に記憶されていない場合は、先頭データがまだ到着していない、又は途中で破棄されたと見做し、予め登録されている優先処理レベルで送信又は受信処理する。その後、先頭データが到着した場合は、そのデータの分割識別子と優先処理レベルを上記表に記憶する。分割データの最後のデータを受信した場合、優先判定を実施した後、そのデータの分割識別子と優先処理レベルを上記表から削除する。高速検索できるためのハッシュ化による検索,登録、および削除などの方法により上記表の管理を行う。この方法によれば、異なる構成の端末からのデータを網間中継装置で中継するデータに対して優先処理レベルによる優先制御ができる。
In this embodiment, when data is transmitted, the priority processing level is stored in the priority information of the protocol header in the data, and when receiving data, the data reception processing is prioritized according to the priority information of the protocol header in the data. showed that. In this method, it is necessary for the terminal to set a processing level that prioritizes the priority information of the protocol header in the data in advance. For this reason, there is a problem that the priority processing level cannot be determined when receiving and relaying data from a terminal that does not perform the above processing. In order to avoid this, at the time of data transmission, it transmits without storing the priority information of the protocol header in the data. Then, the data division identifier (Identification), fragment offset, and flag in the IP header of the data received in advance are monitored, and when it is determined that the data is the head data of the divided data, the priority determination information indicates whether the data should be prioritized. When it is priority data, it is stored for each data division identifier. Then, a table that associates the received data division identifier with the priority processing level is managed. The initial value is 0, the priority processing level is determined from the header information of the head data of the divided data, and the data division identifier and the priority processing level are stored. If it is determined from the fragment offset and flag in the IP header of the received data that the data is the second or subsequent data of the divided data, if the data division identifier in the IP header is stored in the table, Send or receive processing to the priority processing level. If it is divided data but the corresponding data division identifier is not stored in the table, it is assumed that the top data has not yet arrived or has been discarded, and pre-registered priority processing Send or receive at the level. Thereafter, when the head data arrives, the division identifier and priority processing level of the data are stored in the above table. When the last data of the divided data is received, priority determination is performed, and then the division identifier and priority processing level of the data are deleted from the table. The above table is managed by methods such as retrieval, registration, and deletion by hashing for high-speed retrieval. According to this method, it is possible to perform priority control based on the priority processing level for data relayed by the relay apparatus between the networks having different configurations.
以上説明したように、マルチメディア,プラントデータの様なリアルタイム性が要求されるデータとある程度の遅延が許されるデータが混在した通信システムにおいて、データの送受信処理の順序をデータごとに決定できるので、アプリケーションの通信プログラムが扱うデータごとに通信上の制限を設けることなく優先制御できる効果がある。また、アプリケーションの通信プログラムに、通信上の制限を設けることなく通信データ単位に優先処理レベルを設定できる。さらに、データ内のプロトコルヘッダにサービス識別子を持たないデータに対しても優先制御できるため、種別の異なる複数の通信網を中継する網間中継装置へも適用できる効果がある。高優先データが連続して発生した場合においても低優先データの送受信処理が完全に中断しないようになるので、不必要な再送処理による通信網の輻輳状態,論理回線の切断を回避できる効果がある。 As described above, in a communication system in which data that requires real-time properties such as multimedia and plant data and data that allows a certain amount of delay are mixed, the order of data transmission / reception processing can be determined for each data. There is an effect that priority control can be performed without setting communication restrictions for each data handled by the communication program of the application. In addition, the priority processing level can be set for each communication data unit without setting communication restrictions in the application communication program. Furthermore, since priority control can be performed even for data that does not have a service identifier in the protocol header in the data, there is an effect that can be applied to an inter-network relay device that relays a plurality of different types of communication networks. Even when high-priority data occurs continuously, transmission / reception processing of low-priority data will not be interrupted completely, so there is an effect of avoiding communication network congestion and logical line disconnection due to unnecessary retransmission processing. .
100…補助記憶装置、101…優先データ情報登録ファイル、102…優先データ情報登録メモリ、103…送信・受信処理上限登録ファイル、110…通信網、111…通信装置、120…通信プログラム処理部、121…TCPプロトコルの送信処理部、122…IPプロトコルの送信処理部、123…送信データの優先判定手段、124…送信データの接続手段、125…送信データの取り出し手段、126…データ送信手段、127…送信処理待ちキュー、130…データ受信手段、131…受信データの優先判定手段、
132…受信データの接続手段、133…受信データの取り出し手段、134…IPプロトコルの受信処理部、135…TCPプロトコルの受信処理部、140…中央処理装置,主記憶装置、141…プロトコル送信処理部、142…送信データの処理待ちキュー制御部、143…プロトコル受信処理部、144…受信データの処理待ちキュー制御部、150…定周期残留積算手段。
DESCRIPTION OF
132 ... Receiving data connection means, 133 ... Receiving data extraction means, 134 ... IP protocol reception processing section, 135 ... TCP protocol reception processing section, 140 ... Central processing unit, main storage device, 141 ... Protocol transmission processing section , 142... Transmission data processing queue control unit, 143... Protocol reception processing unit, 144... Reception data processing queue control unit, 150.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005341347A JP3944515B2 (en) | 2005-11-28 | 2005-11-28 | Communication system and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005341347A JP3944515B2 (en) | 2005-11-28 | 2005-11-28 | Communication system and communication method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005130707A Division JP3950895B2 (en) | 2005-04-28 | 2005-04-28 | Communication system and communication method |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006168257A Division JP3950907B2 (en) | 2006-06-19 | 2006-06-19 | Communication system and communication method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006121735A JP2006121735A (en) | 2006-05-11 |
JP3944515B2 true JP3944515B2 (en) | 2007-07-11 |
Family
ID=36539108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005341347A Expired - Lifetime JP3944515B2 (en) | 2005-11-28 | 2005-11-28 | Communication system and communication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3944515B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5017139B2 (en) * | 2008-02-20 | 2012-09-05 | 株式会社日立国際電気 | Mobile information providing device |
JP5302380B2 (en) * | 2011-12-05 | 2013-10-02 | 日立オートモティブシステムズ株式会社 | Connection apparatus and connection method |
-
2005
- 2005-11-28 JP JP2005341347A patent/JP3944515B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2006121735A (en) | 2006-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3151103B2 (en) | Communication system and communication method | |
US6990106B2 (en) | Classification and tagging rules for switching nodes | |
US7292530B2 (en) | Method and apparatus to manage packet fragmentation | |
JP4685254B2 (en) | Priority remapping for data communication switches | |
US10432556B1 (en) | Enhanced audio video bridging (AVB) methods and apparatus | |
EP1754349B1 (en) | Hardware filtering support for denial-of-service attacks | |
EP1578072B1 (en) | Priority control apparatus and method for transmitting frames | |
JP2001285333A (en) | Selectable priority for data communication switch | |
EP1417795B1 (en) | Switching node with classification-dependent mac buffer control | |
JP3950907B2 (en) | Communication system and communication method | |
US11863459B2 (en) | Packet processing method and apparatus | |
JP3950895B2 (en) | Communication system and communication method | |
JP7103883B2 (en) | Communication systems, communication control methods, and communication devices | |
JP3944515B2 (en) | Communication system and communication method | |
JP3689704B2 (en) | Communication system and communication method | |
JP3457636B2 (en) | Communications system | |
JP2004147164A (en) | Packet transmission device | |
KR100637933B1 (en) | Packet forwarding method and apparatus in router of subscriber access network | |
CN116032859B (en) | Fusion type rapid data exchange device and method | |
US7304946B2 (en) | Packet multiplexing control method and a concentrator using the same | |
JP7251060B2 (en) | Information processing device, information processing system and information processing program | |
JP2006074484A (en) | Network switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060418 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060512 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060619 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070327 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070409 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |