JP4411980B2 - パケット送出の順序制御プログラム及び方法 - Google Patents

パケット送出の順序制御プログラム及び方法 Download PDF

Info

Publication number
JP4411980B2
JP4411980B2 JP2004013267A JP2004013267A JP4411980B2 JP 4411980 B2 JP4411980 B2 JP 4411980B2 JP 2004013267 A JP2004013267 A JP 2004013267A JP 2004013267 A JP2004013267 A JP 2004013267A JP 4411980 B2 JP4411980 B2 JP 4411980B2
Authority
JP
Japan
Prior art keywords
packet
buffer
buffers
transmitted
addition degree
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 - Fee Related
Application number
JP2004013267A
Other languages
English (en)
Other versions
JP2005210301A (ja
Inventor
宏之 新保
彰 井戸上
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.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2004013267A priority Critical patent/JP4411980B2/ja
Publication of JP2005210301A publication Critical patent/JP2005210301A/ja
Application granted granted Critical
Publication of JP4411980B2 publication Critical patent/JP4411980B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、送信すべきパケットを一時的に蓄積した複数のバッファを有し、該バッファを選択して次に送信するパケットを取り出す、パケット送出の順序制御プログラム及び方法に関する。
パケットを送信する順序制御は、アプリケーションプログラムからのパケット送信要求に対し、通信プログラムがそのパケットの送信要求を処理し、ネットワークに送信する順序によって行われる。両プログラムのインタフェースとしては、ネットワーク用API(Application Program Interface)がある。これは、相手側通信ノードとの間でコネクション(通信路)を確立するものであり、代表的なものとしてはSocketインタフェースがある。ここで確立されたコネクションに対して、通常のファイル入出力用のread/writeによって、データを送受信することができる。
このようなインタフェースは、パケットを一時的に蓄積するバッファ機能を有する。そして、何れのバッファのパケットを取り出して次に送信するかは、OS(Operating System)のスケジューラによって決定される場合が多い。例えばルータについては、QoS(Quality of Service)機能によってフロー制御されているとしても、それは一般的な制御となっている。
しかしながら、バッファからパケットを取り出す順序をOSのスケジューラに任せた場合、以下のような問題が生じる。第1に、アプリケーションが一定間隔毎にパケットをバッファに書き込んだとしても、バッファに蓄積されるだけで、回線上に一定間隔で送出されない場合がある。第2に、リアルタイム性が要求されるアプリケーションと、そうでないアプリケーションが同一に扱われるため、優先されるべきパケットが優先されないことがある。第3に、多数のバッファがある場合、バッファから取り出す順番を指定できない。第4に、QoS機能を有するルータ等もあるが、それらは予め設定された情報に基づくパケット取り出しを優先する動作しか行わないため、パケット種別又はパケットの待ち時間に応じた動的な取り出しができない。
従って、本発明は、これらの問題を解決するべく、バッファに優先度を持たせた上で、ある程度公平にデータを取り出して送信する順序制御プログラム及び方法を提供することを目的とする。
本発明の順序制御プログラムによれば、
バッファi毎に、パケットの取り出し優先度P(i)の情報と、パケットが存在するにもかかわらず送信しなかった回数を示す待ち加算度WA(i)の情報と、バッファに蓄積されたパケット量の割合を示すデータ量係数D(i)の情報とを有し、
全てのバッファについて、送信すべきパケットがあれば待ち加算度WA(i)を1増分し、送信すべきパケットがなければ待ち加算度WA(i)を0にする第1のステップと、
全てのバッファについて、現在のパケット量B(i)バッファ量BS(i)からなるデータ量係数D(i)を導出する第2のステップと、
全てのバッファについて、優先度P(i)×待ち加算度WA(i)×データ量係数D(i)からなる取り出し指数K(i)を導出する第3のステップと、
取り出し指数Kが最大となるバッファIからパケットを取り出して送信する第4のステップと、
バッファIにおける待ち加算度WA(I)を0にする第5のステップと
を有し、第1から第5のステップを繰り返すようにコンピュータを実行させることを特徴とする。
本発明の順序制御プログラムにおける他の実施形態によれば、ネットワーク用APIに適用されることも好ましい。更に、そのネットワーク用APIは、Socketインタフェースであってもよい。
本発明の順序制御方法によれば、
バッファi毎に、パケットの取り出し優先度P(i)の情報と、パケットが存在するにもかかわらず送信しなかった回数を示す待ち加算度WA(i)の情報と、バッファに蓄積されたパケット量の割合を示すデータ量係数D(i)の情報とを有し、
全てのバッファについて、送信すべきパケットがあれば待ち加算度WA(i)を1増分し、送信すべきパケットがなければ待ち加算度WA(i)を0にする第1のステップと、
全てのバッファについて、現在のパケット量B(i)バッファ量BS(i)からなるデータ量係数D(i)を導出する第2のステップと、
全てのバッファについて、優先度P(i)×待ち加算度WA(i)×データ量係数D(i)からなる取り出し指数K(i)を導出する第3のステップと、
取り出し指数Kが最大となるバッファIからパケットを取り出して送信する第4のステップと、
バッファIにおける待ち加算度WA(I)を0にする第5のステップと
を有し、第1から第5のステップを繰り返すことを特徴とする。
本発明の順序制御プログラム及び方法によれば、各バッファに蓄積されたデータの有するトラヒック特性に合わせてデータを送出することができる。また、単にバッファの優先度に基づいてデータを取り出すのではなく、待ち加算度WA及びデータ量係数Dを用いることで、バッファ間の公平性を保つことができる。特に、待ち加算度WA及びデータ量係数Dは、常時計算されているので、動的なトラヒック制御が可能になる。
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
図1は、本発明におけるプログラムの機能構成図である。
図1によれば、取得バッファ選択部1と、データ取得部2と、バッファ31〜34とからなる。取得バッファ選択部1は、複数のバッファ31〜34のうち、次に送信すべきデータを取得するバッファを選択するものである。データ取得部2は、取得バッファ選択部1によって決定されたバッファからデータを取り出し、回線側に送信するものである。バッファ31〜34は、Socketインタフェースを介して上位層から受信したデータを、一時的に蓄積するものである。
取得バッファ選択部1は、以下のような表1のデータ取得管理テーブルを保持する。
Figure 0004411980
バッファ番号i(=1〜n): バッファ毎に割り当てられた識別子
優先度P(i): バッファiにおけるデータ取り出しの優先度
バッファサイズBS(i): バッファiにおけるデータ蓄積容量
現在のバッファ量B(i): バッファiにおいて現在蓄積されているデータ量
データ量係数 D(i): バッファiにおける現在のデータの蓄積割合を示す係数
待ち加算度WA(i): バッファiにおいてデータが存在するのに取り出さなかった回数
取り出し指数K(i): バッファiにおける取り出し必要度を示す指数
図2は、本発明における取得バッファ選択部のフローチャートである。
このフローチャートの処理は、データの取り出しトリガによって開始される。
最初に、全てのバッファについて、優先度P(i)とバッファサイズBS(i)とが指定される。尚、優先度Pは、値が大きいほど、そのバッファからパケットを送信する必要度が高いことを意味する。
(S201)最大取り出し指数のバッファ番号Iにおける取り出し指数K(I)=0とする。
(S202)全てのバッファi=1〜nについて、S210までの間の処理を行う。
(S203)バッファiについて現在蓄積されているデータ量B(i)を取得する。
(S204)バッファiについて現在のバッファ量B(i)が0か否かを判定する。
(S205)現在のバッファ量B(i)が0でない場合、待ち加算度WA(i)が1増分され、データ量係数Dが算出される。
D(i)=B(i)/BS(i)
(S206)現在のバッファ量B(i)が0である場合、待ち加算度WA(i)が0にされ、データ量係数D(i)も0にされる。
(S207)優先度P(i)と、待ち加算度WA(i)と、データ量係数D(i)とを乗算して、取り出し指数K(i)が算出される。
K(i)=P(i)×WA(i)×D(i)
(S208)バッファ番号iにおける取り出し指数K(i)が、最大取り出し指数のバッファ番号Iにおける取り出し指数K(I)よりも大きいか否かを判定する。
(S209)K(i)がK(I)よりも大きいならば、最大取り出し指数のバッファ番号Iを、バッファ番号iにする。
(S210)全てのバッファi=1〜nについて、S202との間で繰り返す。
(S211)データ取得部2に対して、バッファ番号Iからデータを取得するべく指示する。これにより、データ取得部2は、バッファ番号Iのバッファからデータを取得して、送信する。
(S212)最大取り出し指数のバッファ番号Iにおける待ち加算度WA(I)を0にする。
前述した本発明の種々の実施形態において、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
本発明におけるプログラムの機能構成図である。 本発明における取得バッファ選択部のフローチャートである。
符号の説明
1 取得バッファ選択部
2 データ取得部
31〜34 バッファ

Claims (4)

  1. 送信すべきパケットを一時的に蓄積した複数のバッファを有し、該バッファを選択して次に送信するパケットを取り出すようにコンピュータを機能させる順序制御プログラムにおいて、
    前記バッファi毎に、パケットの取り出し優先度P(i)の情報と、パケットが存在するにもかかわらず送信しなかった回数を示す待ち加算度WA(i)の情報と、バッファに蓄積されたパケット量の割合を示すデータ量係数D(i)の情報とを有し、
    全ての前記バッファについて、送信すべきパケットがあれば待ち加算度WA(i)を1増分し、送信すべきパケットがなければ待ち加算度WA(i)を0にする第1のステップと、
    全ての前記バッファについて、現在のパケット量B(i)バッファ量BS(i)からなるデータ量係数D(i)を導出する第2のステップと、
    全ての前記バッファについて、優先度P(i)×待ち加算度WA(i)×データ量係数D(i)からなる取り出し指数K(i)を導出する第3のステップと、
    前記取り出し指数Kが最大となる前記バッファIから前記パケットを取り出して送信する第4のステップと、
    前記バッファIにおける待ち加算度WA(I)を0にする第5のステップと
    を有し、前記第1から第5のステップを繰り返すようにコンピュータを実行させることを特徴とするパケット送出の順序制御プログラム。
  2. ネットワーク用APIに適用されることを特徴とする請求項1に記載の順序制御プログラム。
  3. 前記ネットワーク用APIは、Socketインタフェースであることを特徴とする請求項2に記載の順序制御プログラム。
  4. 送信すべきパケットを一時的に蓄積した複数のバッファと、該バッファを選択して次に送信するパケットを取り出す順序制御方法において、
    前記バッファi毎に、パケットの取り出し優先度P(i)の情報と、パケットが存在するにもかかわらず送信しなかった回数を示す待ち加算度WA(i)の情報と、バッファに蓄積されたパケット量の割合を示すデータ量係数D(i)の情報とを有し、
    全ての前記バッファについて、送信すべきパケットがあれば待ち加算度WA(i)を1増分し、送信すべきパケットがなければ待ち加算度WA(i)を0にする第1のステップと、
    全ての前記バッファについて、現在のパケット量B(i)バッファ量BS(i)からなるデータ量係数D(i)を導出する第2のステップと、
    全ての前記バッファについて、優先度P(i)×待ち加算度WA(i)×データ量係数D(i)からなる取り出し指数K(i)を導出する第3のステップと、
    前記取り出し指数Kが最大となる前記バッファIから前記パケットを取り出して送信する第4のステップと、
    前記バッファIにおける待ち加算度WA(I)を0にする第5のステップと
    を有し、前記第1から第5のステップを繰り返すことを特徴とするパケット送出の順序制御方法。
JP2004013267A 2004-01-21 2004-01-21 パケット送出の順序制御プログラム及び方法 Expired - Fee Related JP4411980B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004013267A JP4411980B2 (ja) 2004-01-21 2004-01-21 パケット送出の順序制御プログラム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004013267A JP4411980B2 (ja) 2004-01-21 2004-01-21 パケット送出の順序制御プログラム及び方法

Publications (2)

Publication Number Publication Date
JP2005210301A JP2005210301A (ja) 2005-08-04
JP4411980B2 true JP4411980B2 (ja) 2010-02-10

Family

ID=34899389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004013267A Expired - Fee Related JP4411980B2 (ja) 2004-01-21 2004-01-21 パケット送出の順序制御プログラム及び方法

Country Status (1)

Country Link
JP (1) JP4411980B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008010905A (ja) * 2006-06-27 2008-01-17 Nec Corp パケット送信時の優先度制御方法及びパケット送信時の優先度制御装置
JP5552929B2 (ja) * 2010-07-09 2014-07-16 富士通株式会社 電文送信制御プログラム、通信装置及び電文送信制御方法

Also Published As

Publication number Publication date
JP2005210301A (ja) 2005-08-04

Similar Documents

Publication Publication Date Title
JP4358437B2 (ja) デジタルデータネットワークにおいてメッセージ伝送をスケジューリングし、処理を行うシステムおよび方法
US9264369B2 (en) Technique for managing traffic at a router
JP2010081641A (ja) デジタルデータネットワークにおけるメッセージフローを調整するシステムおよび方法
JP4771988B2 (ja) 負荷分散装置及びネットワーク装置
JP7487316B2 (ja) サービスレベル構成方法および装置
CN110708242B (zh) 流量调度方法、装置、电子设备及存储介质
US10594631B1 (en) Methods and apparatus for memory resource management in a network device
US20160142333A1 (en) Method and apparatus for performing a weighted queue scheduling using a set of fairness factors
EP3585013B1 (en) Data transmission method and apparatus
JP2006229986A (ja) ホームネットワーク及びそのチャネル割り当て方法
JP4411980B2 (ja) パケット送出の順序制御プログラム及び方法
JPH10285619A (ja) 呼制御スケジューリング方法
CN108768860B (zh) Portal系统报文发送方法及装置
CN107870925B (zh) 一种字符串过滤方法和相关装置
CN111324438B (zh) 请求的调度方法、装置、存储介质及电子设备
JP3699681B2 (ja) 優先クラスの割り当て変更を伴う呼受付制御方法およびノード装置
KR101046597B1 (ko) 네트워크 환경에서의 데이터 처리방법, 데이터 송수신장치 및 컴퓨터로 읽을 수 있는 기록매체
CN107087010B (zh) 中间数据传输方法及系统、分布式系统
CN109327402B (zh) 拥塞管理方法及装置
CN114968507B (zh) 图像处理任务的调度方法及装置
KR20020025234A (ko) 저지연 및 저손실 패킷 스위치
CN111277513B (zh) 一种pq队列扩容实现方法、装置、设备及存储介质
CN118118418A (zh) 报文处理方法、装置、网络设备及存储介质
JP2018037957A (ja) 負荷分散制御装置、負荷分散制御方法、負荷分散処理システムおよび負荷分散制御プログラム
JPH1013463A (ja) キュー制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090603

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091109

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

Free format text: PAYMENT UNTIL: 20121127

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees