JP3591492B2 - パケット振分装置およびパケット振分プログラム - Google Patents

パケット振分装置およびパケット振分プログラム Download PDF

Info

Publication number
JP3591492B2
JP3591492B2 JP2001218640A JP2001218640A JP3591492B2 JP 3591492 B2 JP3591492 B2 JP 3591492B2 JP 2001218640 A JP2001218640 A JP 2001218640A JP 2001218640 A JP2001218640 A JP 2001218640A JP 3591492 B2 JP3591492 B2 JP 3591492B2
Authority
JP
Japan
Prior art keywords
port
packet
ports
transferable
load
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
Application number
JP2001218640A
Other languages
English (en)
Other versions
JP2003032291A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2001218640A priority Critical patent/JP3591492B2/ja
Priority to US10/195,371 priority patent/US7379468B2/en
Publication of JP2003032291A publication Critical patent/JP2003032291A/ja
Application granted granted Critical
Publication of JP3591492B2 publication Critical patent/JP3591492B2/ja
Priority to US12/018,278 priority patent/US20080130671A1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はパケットの振り分けられる経路を決めるためのパケット振分装置およびパケット振分プログラムに係わり、特に通信リンクの有効活用を可能にするパケット振分装置およびパケット振分プログラムに関する。
【0002】
【従来の技術】
インターネット等のネットワークでは、送信先が送り出したパケットはパケット転送装置を順次経由していくことで、目的とする受信先に到達する。パケット転送装置は、一般にはルータ、スイッチあるいはハブと呼ばれているものである。パケットの送られる経路を選択する手法は、ルーティングと呼ばれている。
【0003】
パケット転送装置は、ネットワーク内の各ノードが定期的に交換する情報や、必要とするホップ数、転送時間、ルートの途中の障害の有無等の情報を参照して、個々のノードが最短パスあるいは最小コストとなるようなルートを1つ選択するようになっている。
【0004】
図11は、あるネットワークサービス提供者のネットワークとこれに接続された第1〜第4のネットワークを一例として示したものである。ネットワークサービス提供者のネットワーク100には、第1〜第4のネットワーク101〜104が接続されているものとする。ここで第1および第3のネットワーク101、103は第1のルータ111に、また第2および第4のネットワーク102、14は第2のルータ112に接続されている。第1のルータ111と第2のルータ112は、リンク114によって直接接続可能であり、リンク115、116を用いて第3のルータ113を経由して接続されることも可能である。
【0005】
今、第1のネットワーク101と第2のネットワーク102がネットワークサービス提供者のネットワーク100を通じて接続されるものとする。ホップ数を基準にしてルーティングが決定されたとすると、第1のルータ111と第2のルータ112を直接結ぶリンク114を利用したルートが設定されることになる。
【0006】
このように第1のネットワーク101と第2のネットワーク102の間のルーティングを行うと、その後に、ノードの故障等のネットワークの障害が発生したり、ネットワークの構成が変化したり、あるいはネットワークの運用者が自ら設定を変更する作業を行わない限り、ルーティングが変更されることはない。したがって、仮に第1および第2のネットワーク101、102のユーザAが、リンク114を専有する契約をネットワーク100のネットワークサービス提供者と行っていたとすると、他のユーザBはこのリンク114を使用することができない。ユーザAがリンク114を100%にはるかに満たない負荷で使用している場合においても同様である。
【0007】
すなわち、他のユーザBが仮に第3のネットワーク103と第4のネットワーク104の間に通信リンク(以下、単にリンクという。)をひく計画を持ったとしても、この例では第1のルータ111と第3のルータ113を結ぶリンク115および第2のルータ112と第3のルータ113を結ぶリンク116のみが設定可能となる。したがって、リンク114が第1および第2のネットワーク101、102によって利用されていない場合であっても、これを使用することができない。これではネットワークの効率的な運用ができない。
【0008】
以上説明したように、1つの経路のみをそれぞれのユーザが選択してこれに対してパケットの送出を行う従来の手法は、ネットワーク全体の効率的な運用を妨げることになる。また、図11に示した例ではリンク114が100%以下の負荷で運用される場合の問題を指摘したが、特定のノードにトラヒックが集中するといった問題も発生する。
【0009】
そこで、ネットワーク全体で負荷分散を行うといった考えが提案されるに至っている。特開平11−239181号公報に開示された提案では、ネットワーク内で最大負荷を有するノードについてその負荷を軽減させるために、複数の経路にトラヒックを分散させるようにしている。この提案では、ネットワークを利用するユーザまたはトラヒックはすべて公平であることを前提としている。そして、不公平が生じる場合には複数のリンクを計算された比で振り分けるようにしている。
【0010】
【発明が解決しようとする課題】
この提案では複数のリンクに対する振り分けの比率が固定されている。したがって、あるリンクが特定のユーザあるいは特定のトラヒックに対して専用的あるいは優先的に割り当てられているような場合には、そのリンクがたまたま利用されないような状況が発生すると、ネットワークの有効利用という観点から問題が発生する。
【0011】
そこで本発明の目的は、リンクが特定のユーザあるいは特定のトラヒックに対して優先的に割り当てられる状況で、そのリンクが空いたような場合にこれを有効に活用できるパケット振分装置およびパケット振分プログラムを提供することにある。
【0012】
【課題を解決するための手段】
請求項1記載の発明では、(イ)パケットの入出力のために用意され、それぞれ異なったノードとリンクした複数のポートと、(ロ)これらのポートから入力されたパケットに記された情報を基にして、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するポート情報検索手段と、(ハ)前記した複数のポートから入力されたパケットをそれぞれのポートから送出するまでの間、一時的に格納するこれら複数のポートの送出側にそれぞれ用意されたパケット格納バッファと、(ニ)転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在するか否かを対応するパケット格納バッファの使用量から判別する転送可能ポート負荷状態判別手段と、(ホ)この転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在することを判別したとき、このポートにそのパケットを振り分けて送出するパケット送出手段とをパケット振分装置に具備させる。
【0013】
すなわち請求項1記載の発明では、ポートからパケットが入力されたときに、パケットに記された情報から、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するようにしている。そして、複数のポートの送出側にそれぞれ用意されたパケット格納バッファの使用量をチェックして転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在する場合にはこのポートにそのパケットを振り分けて送出することで、その時々のポートの負荷に対応したパケットの送出制御を可能にし、リンクが空いたような場合にこれを有効に活用できるようにしている。
【0014】
請求項2記載の発明では、(イ)パケットの入出力のために用意され、それぞれ異なったノードとリンクした複数のポートと、(ロ)これらのポートから入力されたパケットに記された情報を基にして、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するポート情報検索手段と、(ハ)前記した複数のポートから入力されたパケットをそれぞれのポートから送出するまでの間、一時的に格納するこれら複数のポートの送出側にそれぞれ用意されたパケット格納バッファと、(ニ)転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在するか否かを対応するパケット格納バッファの使用量から判別する転送可能ポート負荷状態判別手段と、(ホ)この転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在することを判別したとき、このポートにそのパケットを振り分けて送出し、存在しないと判別したときには、転送先ポートにそのパケットを振り分けて送出するパケット送出手段とをパケット振分装置に具備させる。
【0015】
すなわち請求項2記載の発明では、ポートからパケットが入力されたときに、パケットに記された情報から、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するようにしている。そして、複数のポートの送出側にそれぞれ用意されたパケット格納バッファの使用量をチェックして転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在する場合にはこのポートにそのパケットを振り分けて送出することで、その時々のポートの負荷に対応したパケットの送出制御を可能にし、リンクが空いたような場合にこれを有効に活用できるようにしている。このような無負荷等の所定の負荷よりも軽くなっている転送可能ポートが存在しない場合には、そのパケットに優先的に選択されるポートとしての転送先ポートからパケットが送出されることで、他のリンクの利用者に与える影響を少なくしている。
【0016】
請求項3記載の発明では、請求項1または請求項2記載のパケット振分装置で、パケット送出手段は、転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが複数存在することを判別したとき、これらの転送可能ポートの総数で割った確率でそれぞれの転送可能ポートに送出するパケットを振り分ける振分手段を具備することを特徴としている。
【0017】
すなわち請求項3記載の発明では、無負荷等の所定の負荷よりも軽くなっている転送可能ポートが複数存在する場合には、そのたびにパケットをこれらのポートに振り分けることにしており、その振り分けの確率(比率)を転送可能ポートの総数で割った確率としている。所定の負荷よりも軽くなっているポートが時間的に変動する場合には、パケット送出のそれぞれの時点に合った確率で分配するようにしてもよい。
【0018】
請求項4記載の発明では、請求項1または請求項2記載のパケット振分装置で、(イ)パケット送出手段は、転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが複数存在することを判別したとき、これらの転送可能ポートの負荷を許容する割合を基にしてそれぞれの転送可能ポートにパケットを振り分ける率を演算する演算手段と、(ロ)この演算手段の演算結果に応じてそれぞれの転送可能ポートに送出するパケットを振り分ける振分手段とを具備することを特徴としている。
【0019】
すなわち請求項4記載の発明では、無負荷等の所定の負荷よりも軽くなっている転送可能ポートが複数存在する場合には、そのたびにパケットをこれらのポートに振り分けることにしており、その振り分けの確率(比率)を、転送可能ポートの負荷を許容する割合を基にして演算手段で演算することにしている。無負荷等の所定の負荷よりも軽くなっている転送可能ポートが時間的に変動する場合には、パケット送出のそれぞれの時点に演算するようにしてもよい。
【0020】
請求項5記載の発明では、請求項1または請求項2記載のパケット振分装置で、パケット格納バッファは、低優先バッファと、これよりも優先的に読み出される高優先バッファを備えていることを特徴としている。
【0021】
すなわち請求項5記載の発明では、パケット格納バッファを、低優先バッファと、これよりも優先的に読み出される高優先バッファとの2種類とし、たとえば低優先バッファに振り分けるようにすることで、これに対応するポートを優先的に使用するユーザへの影響を少なくすることができる。
【0022】
請求項6記載の発明のパケット振分プログラムは、コンピュータに、(イ)パケットの入出力のために用意され、それぞれ異なったノードとリンクした複数のポートのいずれかから入力されたパケットに記された情報から、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するポート情報検索手順と、(ロ)このポート情報検索手順で情報を検索したときに前記した複数のポートから入力されたパケットをそれぞれのポートから送出するまでの間、一時的に格納するこれら複数のポートの送出側にそれぞれ用意されたパケット格納バッファの使用量をチェックして、転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在するか否かを判別する転送可能ポート負荷状態判別手順と、(ハ)この転送可能ポート負荷状態判別手順で転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在することを判別したとき、このポートにそのパケットを振り分けて送出するパケット送出手順とを実行させるようにしている。
【0023】
すなわち請求項6記載の発明では、請求項1記載の発明とほぼ同様の制御をプログラムを実行することで可能にしている。
【0024】
【発明の実施の形態】
【0025】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0026】
図1は本発明の一実施例におけるパケット振分装置としての第1のルータの構成を表わしたものである。第1のルータ111は、図示しない第1〜第Nのノードに対応して接続される第1〜第NのポートP〜Pを備えている。第1〜第NのポートP〜Pは、それぞれ対応して設けられた第1〜第Nの出力インタフェース回路(IF)202〜202および第1〜第Nの入力インタフェース回路(IF)203〜203と接続されている。第1〜第Nの入力インタフェース回路203〜203は、これらに共通の入力バッファ204に接続されている。入力インタフェース回路203〜203は、第1〜第NのポートP〜Pのうちの対応するものから入力される電気信号や光信号等の物理的な信号を、IP(Internet Protocol)パケットデータやフレームデータ等(以下、単にパケットデータと称する。)の論理的な信号に変換して入力バッファ204に転送するための回路である。
【0027】
入力バッファ204は、転送先のポートを決定する間、パケットデータを一時的に格納するための回路である。入力バッファ204は転送先検索部205および振分回路206と接続されている。転送先検索部205は、パケットに含まれるフィールドからユーザ識別情報および転送先ポートを検索して、入力バッファ204に対して転送指示を行う回路である。転送先検索部205には、ユーザ識別テーブル207と転送先ポートテーブル208が接続されている。ここでユーザ識別テーブル207は、パケットに含まれるフィールドからユーザを一意に識別可能なユーザ識別子を得るためのテーブルである。また、転送先ポートテーブル208は、ユーザ識別情報と宛先アドレスに対応する転送先ポートおよび、ポートが利用されていないときに転送可能であるポートとしての転送可能ポートを保持しているテーブルである。
【0028】
振分回路206は、転送先ポートが決定した後のパケットデータと転送先ポート番号を入力バッファ204から受け取るようになっている。振分回路206の出力側には、第1〜第Nの出力バッファ部209〜209と、これらに対応して設けられた第1〜第Nの使用量検索部211〜211と、これら第1〜第Nの使用量検索部211〜211の出力側に共通して接続された負荷検出設定テーブル212とが設けられている。第1〜第Nの出力バッファ部209〜209に格納されたパケットは、第1〜第Nの出力インタフェース回路202〜202のうちの対応するものに出力されるようになっている。
【0029】
第1〜第Nの使用量検索部211〜211は、第1〜第Nの出力バッファ部209〜209のそれぞれについての使用量(パケットデータ量)を読み取って、その値が負荷検出設定テーブル212に設定されている値を越えているかどうかの情報を振分回路206に通知するようになっている。第1〜第Nの出力インタフェース回路202〜202は、パケットデータ等の論理的な信号を、電気信号や光信号等の物理的な信号に変換して出力するようになっている。
【0030】
図2は、図1に示したユーザ識別テーブルの設定内容の一例を示したものである。ユーザ識別テーブル207は前記したようにユーザを一意に識別可能なユーザ識別子を得るためのものである。ユーザを識別するために使用する情報は、可能であればパケットデータのどのフィールドを利用してもよい。ここでは、インターネットのホスト間で通信をするときに利用されるプロトコルとしてのTCP(transmission control protocol)での1コネクションを識別するために必要な送信元アドレスと、送信元ポート番号、宛先アドレス、宛先ポート番号を例に挙げている。ユーザ識別テーブル207中に「any」とあるのは、そのフィールドがどのような値でもユーザ識別子が特定されることを意味する。したがって、この例のユーザ識別テーブル207の場合には送信元アドレスのみによってユーザ識別子が特定されることになる。
【0031】
図3は、全ユーザの転送先ポートテーブルの内容を示したものである。この転送先ポートテーブル208は図1に示した転送先検索部205がユーザ識別子と宛先アドレスを基にして、転送先ポートと転送可能ポートを得るための情報を保持するようになっている。ユーザ識別子は、図2で説明したユーザ識別テーブル207から得ることができる。宛先アドレスは、転送パケットデータの最終到達ノードを示す情報である。インターネット関連技術の標準化団体であるIETF(Internet Engineering Task Force)が取りまとめているRFC(request for comments)791に規定されたインターネットプロトコルの場合には、これは「DESTINATION ADDRESS」フィールドに相当している。
【0032】
図3に示した転送先ポートテーブル208における「転送先ポート」の欄には、従来と同様にインターネットで利用されているルーティングプロトコルで決定された1つの経路が示されている。本実施例とは異なる従来のルータでは、この「転送先ポート」の欄に示された情報のみに従って、パケットの転送を行っている。本実施例の転送先ポートテーブル208には、この「転送先ポート」の欄の他に、「第1の転送可能ポート」〜「第tの転送可能ポート」の欄が設けられている。これらの「転送可能ポート」は、優先的に使用することができるトラヒックがそれらのポートを使用しているときには転送に使用することはできない。しかしながら、これらのトラヒックが使用していない場合には転送に使用可能である。転送先ポートテーブル208はこのような使用可能なポートについてもリストアップしていることになる。
【0033】
図4は、図3に示した転送先ポートテーブルからユーザ識別子「UID−1」の箇所を抜き出して示したものである。図3に示すように「宛先アドレス」が「10.1.x.x」の場合には、ユーザ識別子が「UID−1」として識別される。「宛先アドレス」が「10.1.x.x」のパケットは、図4に示すようにポート「P」を通常の転送先のポートとして使用することができる。また、ポート「P」が使用されていないときには、このポート「P」にも転送可能である旨の設定が行われている。この図の転送先ポートテーブル208で「x」は任意の数値を表わしている。したがって、たとえば「10.2.x.x」は、アドレス「10.2.」から始まるすべてのアドレスが対応することを示している。
【0034】
一方、図5は図1に示した負荷検出設定テーブルの構成の一例を示したものである。負荷検出設定テーブル212には、第1〜第Nの出力バッファ部209〜209のそれぞれについて使用量の閾値が設定されている。図5に示した例では、たとえば第1の出力バッファ部209について閾値は「100」となっている。
【0035】
以上のような構成のパケット振分装置としての第1のルータ111の動作を次に説明する。なお、本実施例でも図11に示したと同一のネットワークの構成をとっているものとする。ここで、第2および第3のルータ112、113は第1のルータ111と基本的に同一の構成となっているものとする。
【0036】
図11に示すように、第1のルータ111の前記した第1のポートPはリンク114と接続され、第2のポートPはリンク115と接続されているものとする。また第3のポートPはリンク221と接続され、第4のポートPはリンク222と接続されているものとする。第1のネットワーク101と第2のネットワーク102に属するユーザのユーザ識別子を「UID−2」とし、第3および第4のネットワーク103、104に属するユーザのユーザ識別子を「UID−1」とする。
【0037】
この場合に、第1のネットワーク101のユーザは図3に示すように「10.11」から始まるアドレスを持ち、第2のネットワーク102のユーザは「10.10」から始まるアドレスを持つものとする。また、第3のネットワーク103のユーザは「10.2」から始まるアドレスを持ち、第4のネットワーク104のユーザは「10.1」から始まるアドレスを持つものとする。
【0038】
図3における宛先アドレス「10.1.x.x」についての設定を見ると、第1のルータ111は、通常の場合にユーザ識別子「UID−1」を使用して第2のポートPに転送することができる。また、第1のポートPがユーザ識別子「UID−2」のユーザによって使用されていないときにはユーザ識別子「UID−1」のユーザも第1のポートPを使用することができることを示している。ユーザ識別子「UID−1」のユーザと識別されるのは、「10.2」から始まるアドレスを持つユーザであり、図2のユーザ識別テーブル207の2行目に設定例が示されている。
【0039】
一例として、図11における第3のネットワーク103のユーザが第1のルータ111にパケットを転送した場合を例に挙げてその動作を具体的に説明する。第3のネットワーク103のユーザが第4のネットワーク104のユーザにパケットを転送したものとする。第3のネットワーク103のユーザのアドレスは「10.2」から始まるものとしている。したがって、送信元アドレスはたとえば「10.2.100.100」という値となる。宛先は第4のネットワーク104のユーザであるので、これはたとえば「10.1.50.50」という値となる。
【0040】
第3のネットワーク103から送信されたパケットは、第1のルータ111の第4のポートPに到着する。第4のポートPに到着したデータは、第4の入力インタフェース回路203において、物理的な信号から論理的なパケットデータからなる信号に変換される。変換後のデータは入力バッファ204に転送される。入力バッファ204は、転送先検索部205が必要とするパケットデータのフィールドをこの転送先検索部205に渡す。この例では送信元アドレスを「10.2.100.100」とし、宛先アドレスを「10.1.50.50」とした情報部分を転送先検索部205に渡すことになる。入力バッファ204は転送先検索部205の検索処理が終了するまでパケットデータを保持して待つことになる。
【0041】
転送先検索部205は、入力バッファ204から通知された送信アドレス、送信元ポート番号、宛先アドレスおよび宛先ポート番号に一致する設定を検索する。送信元ポート番号と宛先ポート番号についての検索は、図2のユーザ識別テーブル207に示すようにどのような値でも一致するような設定となっている。そこでこの検索動作の説明は不要であり、省略する。送信元アドレスは「10.2.100.100」なので、図2に示したユーザ識別テーブル207の2行目の設定に一致する。そこでユーザ識別子「UID−1」のユーザと識別される。
【0042】
次に、このユーザ識別子「UID−1」と宛先アドレスを「10.1.50.50」に一致する設定を図1および図4に示した転送先ポートテーブル208から検索する。この検索の結果、宛先アドレスが「10.1.x.x」と設定してある図4に示した転送先ポートテーブル208の1行目の内容に一致する。したがって、転送先ポートは第2のポートPであり、転送可能ポートは第1のポートPとなる。転送先検索部205はこのようにして最後に得られた情報を入力バッファ204に渡すことになる。パケットデータを保持して待機していた入力バッファ204は、このパケットデータと検索結果による転送先ポートとしての第2のポートPおよび転送可能ポートとしての第1のポートPを示す情報を振分回路206に転送する。
【0043】
図6は、図1に示した振分回路の処理の流れを表わしたものである。図1に示した第1のルータ111は図示しないがCPU(中央処理装置)を備えており、同じく図示しないROM(リード・オンリ・メモリ)等の記録媒体に格納されたプログラムを実行することで振分回路206等の所定の制御を行うようになっている。
【0044】
振分回路206は、まず入力バッファ204からパケットデータと転送先ポートおよび第1〜第tの転送可能ポートに関する情報を受信する(ステップS241)。上記した例ではパケットデータと検索結果による転送先ポートとしての第2のポートPおよび転送可能ポートとしての第1のポートPを示す情報を振分回路206が受信することになる。
【0045】
次に、振分回路206は第1〜第tの転送可能ポートの中で、第1〜第Nの使用量検索部211〜211から通知される各ポートの負荷の有無情報が「負荷無し」になっているポートを選択のためにサーチする(ステップS242)。次のステップS243では、転送先ポートが「負荷無し」となっているかどうかを判別する。「負荷無し」となっている場合には、ステップS241で受信した転送先ポートを転送先として決定する(ステップS244)。そして、この決定した転送先ポートに接続されている出力バッファ部209(第1〜第Nの出力バッファ部209〜209のいずれか)にパケットデータを転送して(ステップS245)、処理を終了させる(エンド)。
【0046】
これに対して、ステップS243で転送先ポートが「負荷無し」となっていなかった場合には(N)、転送可能ポートの中で「負荷無し」とされたポートがあるかどうかを判別する(ステップS246)。転送可能ポートがすべて負荷がある場合には(N)、優先的に割り当てられたポートとしての転送先ポートに負荷があってもこれが転送先として決定される(ステップS244)。そして、ステップS245に進んでその転送先ポートに接続されている出力バッファ部209にパケットデータを転送することになる。
【0047】
以上と異なり、転送先ポート自体は「負荷無し」ではなく、かつ「負荷無し」とされた転送可能ポートが存在する場合には(ステップS246:Y)、これら転送可能なポートとして選択された転送可能ポートの総数でそれぞれ割った確率で、これらの転送可能ポートが選択される(ステップS247)。このステップS247の処理が行われた場合には、ステップS245に進み、該当のバッファにパケットデータを転送することになる。
【0048】
この実施例では図4に示すように、対象となる転送可能ポートが第1のポートPのみである。したがって、ステップS246では第1のポートPのみに接続されたバッファにパケットデータが転送されることになる。これに対して転送可能ポートがたとえばm個であったような場合には、ステップS247で毎回、1/mずつの確率でこれらの転送可能ポートのうちの1つが選択されることになる。たとえば、「負荷無し」とされた転送可能ポートが2つ存在した場合には、毎回、1/2ずつの確率でこれらが選択されることになる。
【0049】
発明の第1の変形例
【0050】
図7は本発明の第1の変形例における第1のルータの構成を表わしたものである。先の実施例の図1と同一部分には同一の符号を付しており、これらの説明を適宜省略する。この変形例の第1のルータ111Aでは、第1〜第Nの使用量検索部211〜211の代わりに、第1〜第Nの使用量検査部301〜301を配置している。この変形例の第1のルータ111Aでは、先の実施例で負荷検出設定テーブル212の設定値とバッファ量の比較だけだったのに対して、加えて、関数を使用して負荷の割合も振り分け回路206への通知も行うようにしている。
【0051】
ところで、今、第1〜第Nの使用量検査部301〜301における第1〜第Nの出力バッファ部209〜209のうちの対応するバッファメモリに保持されているバッファ量を“x”とする。また、このバッファ量“x”によって変化する関数を関数f(x)とする。関数f(x)は第1〜第Nの出力バッファ部209〜209の負荷の割合を表わすことになる。先の実施例では図1に示した負荷検出設定テーブル212に設定した値を越えるか否かの判別で転送可能ポートを決定して、それぞれ同じ割合で転送可能ポートが選択されるので、負荷の割合によりポートを選択する割合を変えることはできない。
【0052】
負荷を表わす関数f(x)の一例を示す。第1〜第Nの出力バッファ部209〜209のそれぞれに保持することのできるバッファ長の最大値を“M”とする。このとき、負荷を表わす関数を次の(1)式のように表わすことができる。ここで値“x”は、第1〜第Nの出力バッファ部209〜209の対応するものに保持されているパケットデータ量である。
【0053】
x≦Mのときはf(x)=x/M
x>Mのときはf(x)=1 ……(1)
【0054】
次に、ポート選択の確率を負荷の割合によって変化させる例を説明する。第1のポートPの負荷の割合をf(x)とし、第2のポートPの負荷の割合をf(x)とする。更に第3のポートPの負荷の割合をf(x)とする。f′(x)=1/f(x)であるとする。このとき第1のポートPを選択する確率Rを次の(2)で計算する。
={f′(x)/{f′(x)+f′(x)+f′(x)}……(2)
【0055】
第2のポートPを選択する確率Rおよび第3のポートPを選択する確率Rは次の(3)式および(4)式のようになる。
={f′(x)/{f′(x)+f′(x)+f′(x)}……(3)
=f(x)/{f(x)+f(x)+f(x)}……(4)
【0056】
ここで符号“x”は、第1のポートPに対応する第1の出力バッファ部209のバッファ使用量を表わしている。同様に符号“x”あるいは符号“x”は、第2のポートPあるいは第3のポートPに対応する第2あるいは第3の出力バッファ部209、209のバッファ使用量を表わしている。
【0057】
図8はこの変形例における振分回路の処理の流れを表わしたものである。この図8で図6と同一部分には同一の符号を付している。振分回路206は、まず入力バッファ204からパケットデータと転送先ポートおよび第1〜第tの転送可能ポートに関する情報を受信する(ステップS241)。上記した例ではパケットデータと検索結果による転送先ポートとしての第2のポートPおよび転送可能ポートとしての第1のポートPを示す情報を振分回路206が受信することになる。
【0058】
次に、振分回路206は第1〜第tの転送可能ポートの中で、第1〜第Nの使用量検査部301〜301から通知される各ポートの負荷の有無情報が「負荷無し」になっているポートを選択のためにサーチする(ステップS242A)。次のステップS243では、転送先ポートが「負荷無し」となっているかどうかを判別する。「負荷無し」となっている場合には、ステップS241で受信した転送先ポートを転送先として決定する(ステップS244)。そして、この決定した転送先ポートに接続されている出力バッファ部209(第1〜第Nの出力バッファ部209〜209のいずれか)にパケットデータを転送して(ステップS245)、処理を終了させる(エンド)。
【0059】
これに対して、ステップS243で転送先ポートが「負荷無し」となっていなかった場合には(N)、転送可能ポートの中で「負荷無し」とされたポートがあるかどうかを判別する(ステップS246)。転送可能ポートがすべて負荷がある場合には(N)、優先的に割り当てられたポートとしての転送先ポートに負荷があってもこれが転送先として決定される(ステップS244)。そして、ステップS245に進んでその転送先ポートに接続されている出力バッファ部209にパケットデータを転送することになる。
【0060】
以上と異なり、転送先ポート自体は「負荷無し」ではなく、かつ「負荷無し」とされた転送可能ポートが存在する場合には(ステップS246:Y)、これらすべての転送可能なポートの中から、計算した確率に応じて転送可能なポートを1つずつ選択する(ステップS247A)。このステップS247Aの処理が行われた場合には、ステップS245に進み、該当のバッファにパケットデータを転送することになる。
【0061】
ところで、ポートxの負荷率をf(x)とし、負荷率の逆数を次の(5)式で表わす。
f′(x)=1/f(x) ……(5)
【0062】
この場合、ポートp(i=1、2、……m)を選択する確率は、次の(6)式のように計算される。
【数1】
Figure 0003591492
【0063】
たとえば第1のポートPを選択する確率は、次の(7)式のようになる。
f′(f)÷{f′(p′)+f′(p′)+……+f′(p′)}……(7)
【0064】
発明の第2の変形例
【0065】
図9は本発明の第2の変形例における第1のルータの構成を表わしたものである。この第2の変形例のルータ111Bで、図1に示した先の実施例のルータ111と同一部分には同一の符号を付しており、これらの説明を適宜省略する。この変形例のルータ111Bの第1〜第Nの出力バッファ部209〜209は、それぞれ高優先バッファHと低優先バッファLによって構成されている。高優先バッファHと低優先バッファLは同時にパケットを格納可能であるが、両者にパケットが格納されているときには常に高優先バッファHから先にパケットが取り出されて、第1〜第Nの出力インタフェース回路202〜202のうちの対応するものに出力されるようになっている。低優先バッファLは高優先バッファHにパケットが存在しないときのみパケットを第1〜第Nの出力インタフェース回路202〜202のうちの対応するものに出力する。
【0066】
第1〜第Nの使用量検索部211〜211は、第1〜第Nの出力バッファ部209〜209のそれぞれについての高優先バッファHと低優先バッファLの使用量(パケットデータ量)を読み取って、その値が負荷検出設定テーブル212に設定されている値を越えているかどうかの情報を振分回路206に通知するようになっている。第1〜第Nの出力インタフェース回路202〜202は、パケットデータ等の論理的な信号を、電気信号や光信号等の物理的な信号に変換して出力するようになっている。
【0067】
このような第2の変形例のルータ111Bで、本来転送されるユーザのパケットは、第1〜第Nの出力バッファ部209〜209のうちの対応する高優先バッファHに転送される。これに対して、転送可能なポートとして選択された結果としてのパケットは、第1〜第Nの出力バッファ部209〜209のうちの対応する低優先バッファLに格納される。このように第1〜第Nの出力バッファ部209〜209を高優先バッファHと低優先バッファLに分けて管理することによって、本来転送されるユーザのパケットに影響を与えずにパケットの効率的な伝送が可能になる。
【0068】
この第2の変形例の場合には、第1〜第Nの使用量検索部211〜211は振分回路206に対して、負荷検出設定テーブル212に設定された閾値よりも、高優先バッファHの使用率(fh(x))が越えているかどうかの情報を通知するようになっている。更に第1〜第Nの使用量検索部211〜211は、振分回路206に対して、低優先バッファLの負荷の割合fl(x)を通知する。
【0069】
図10は、この第2変形例における振分回路の処理の流れを表わしたものである。図10で図6および図8と同一部分には同一の符号を付している。振分回路206は、まず入力バッファ204からパケットデータと転送先ポートおよび第1〜第tの転送可能ポートに関する情報を受信する(ステップS241)。
【0070】
次に、振分回路206は第1〜第tの転送可能ポートの中で、第1〜第Nの使用量検索部211〜211から通知される各ポートの高優先バッファHの負荷の割合が低く「負荷無し」となっているものをサーチする(ステップS242B)。次のステップS243では、転送先ポートが「負荷無し」となっているかどうかを判別する。「負荷無し」となっている場合には、ステップS241で受信した転送先ポートを転送先として決定する(ステップS244)。そして、この決定した転送先ポートに接続されている出力バッファ部209(第1〜第Nの出力バッファ部209〜209のいずれか)にパケットデータを転送して(ステップS245)、処理を終了させる(エンド)。
【0071】
これに対して、ステップS243で転送先ポートが「負荷無し」となっていなかった場合には(N)、転送可能ポートの中で「負荷無し」とされたポートがあるかどうかを判別する(ステップS246)。転送可能ポートがすべて負荷がある場合には(N)、優先的に割り当てられたポートとしての転送先ポートに負荷があってもこれが転送先として決定される(ステップS244)。そして、ステップS245に進んでその転送先ポートに接続されている出力バッファ部209にパケットデータを転送することになる。
【0072】
以上と異なり、転送先ポート自体は「負荷無し」ではなく、かつ「負荷無し」とされた転送可能ポートが存在する場合には(ステップS246:Y)、これらすべての転送可能なポートの中から、それぞれの低優先バッファLを基にして計算した確率に応じて転送可能なポートを1つずつ選択する(ステップS247B)。このステップS247Bの処理が行われた場合には、ステップS245に進み、該当のバッファにパケットデータを転送することになる。このための数式は、低優先バッファLを用いる点を除けば第1の変形例で示したものと同一であるので、その説明は省略する。
【0073】
なお、実施例ではユーザ識別テーブル207と転送先ポートテーブル208の2種類のテーブルを使用したが、これらを1つのテーブルに合わせたものとし、これに対して検索を行うようにしてもよい。また、表形式のテーブルを用いて本発明を説明したが、リスト構造であってもよい。更に、CAM(Contents Address Memory)のような連想記憶メモリを用いて同様の検索を行うことも可能である。
【0074】
なお、本実施例では特に説明しなかったが、優先順位の高いユーザは、たとえばネットワーク管理者に対して、他のユーザよりも高い料金を支払い、帯域を保証されたり、遅延保証を受けるようにすることも可能であり、これらのユーザに対しても本発明を適用することができる。また、これに限らず、何らかのネットワークポリシにしたがって、高い優先順位をつけられたトラヒックすべてを本発明の対象とすることも可能である。
【0075】
【発明の効果】
以上説明したように請求項1〜請求項6記載の発明によれば、パケットに記された情報から、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を読み取って、転送可能ポートの負荷がない場合にはそのパケットをこれに振り分けることにしているので、空いているリンクを積極的に利用することで、ネットワーク資源を有効活用することができる。
【0076】
また、請求項3または請求項4記載の発明では、転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが複数存在することを判別したとき、これらの転送可能ポートに対してパケットを割り振ることにしたので、特定の1つの転送可能ポートに割り振る場合と比べて負荷が分散される。
【0077】
更に請求項5記載の発明によれば、パケット格納バッファを、低優先バッファと、これよりも優先的に読み出される高優先バッファとの2種類とし、たとえば低優先バッファに振り分けるようにすることで、これに対応するポートを優先的に使用するユーザへの影響を少なくすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるパケット振分装置としての第1のルータの構成を表わしたブロック図である。
【図2】図1に示したユーザ識別テーブルの設定内容の一例を示した説明図である。
【図3】全ユーザの転送先ポートテーブルの内容を示した説明図である。
【図4】図3に示した転送先ポートテーブルからユーザ識別子「UID−1」の箇所を抜き出して示した説明図である。
【図5】本実施例で図1に示した負荷検出設定テーブルの構成の一例を示した説明図である。
【図6】本実施例で振分回路の処理の流れを表わした流れ図である。
【図7】本発明の第1の変形例における第1のルータの構成を表わしたブロック図である。
【図8】第1の変形例における振分回路の処理の流れを表わした流れ図である。
【図9】発明の第2の変形例における第1のルータの構成を表わしたブロック図である。
【図10】第2の変形例における振分回路の処理の流れを表わした流れ図である。
【図11】あるネットワークサービス提供者のネットワークとこれに接続された第1〜第4のネットワークを一例として示したネットワーク構成図である。
【符号の説明】
111、111A、111B 第1のルータ
203 入力インタフェース回路
204 入力バッファ
205 転送先検索部
206 振分回路
207 ユーザ識別テーブル
208 転送先ポートテーブル
209 出力バッファ部
212 負荷検出設定テーブル
〜P ポート
H 高優先バッファ
L 低優先バッファ

Claims (6)

  1. パケットの入出力のために用意され、それぞれ異なったノードとリンクした複数のポートと、
    これらのポートから入力されたパケットに記された情報を基にして、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、前記リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するポート情報検索手段と、
    前記複数のポートから入力されたパケットをそれぞれのポートから送出するまでの間、一時的に格納するこれら複数のポートの送出側にそれぞれ用意されたパケット格納バッファと、
    前記転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在するか否かを対応するパケット格納バッファの使用量から判別する転送可能ポート負荷状態判別手段と、
    この転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在することを判別したとき、このポートにそのパケットを振り分けて送出するパケット送出手段
    とを具備することを特徴とするパケット振分装置。
  2. パケットの入出力のために用意され、それぞれ異なったノードとリンクした複数のポートと、
    これらのポートから入力されたパケットに記された情報を基にして、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、前記リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するポート情報検索手段と、
    前記複数のポートから入力されたパケットをそれぞれのポートから送出するまでの間、一時的に格納するこれら複数のポートの送出側にそれぞれ用意されたパケット格納バッファと、
    前記転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在するか否かを対応するパケット格納バッファの使用量から判別する転送可能ポート負荷状態判別手段と、
    この転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在することを判別したとき、このポートにそのパケットを振り分けて送出し、存在しないと判別したときには、前記転送先ポートにそのパケットを振り分けて送出するパケット送出手段
    とを具備することを特徴とするパケット振分装置。
  3. 前記パケット送出手段は、前記転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが複数存在することを判別したとき、これらの転送可能ポートの総数で割った確率でそれぞれの転送可能ポートに送出するパケットを振り分ける振分手段を具備することを特徴とする請求項1または請求項2記載のパケット振分装置。
  4. 前記パケット送出手段は、前記転送可能ポート負荷状態判別手段が転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが複数存在することを判別したとき、これらの転送可能ポートの負荷を許容する割合を基にしてそれぞれの転送可能ポートにパケットを振り分ける率を演算する演算手段と、この演算手段の演算結果に応じてそれぞれの転送可能ポートに送出するパケットを振り分ける振分手段とを具備することを特徴とする請求項1または請求項2記載のパケット振分装置。
  5. 前記パケット格納バッファは、低優先バッファと、これよりも優先的に読み出される高優先バッファを備えていることを特徴とする請求項1または請求項2記載のパケット振分装置。
  6. コンピュータに、
    パケットの入出力のために用意され、それぞれ異なったノードとリンクした複数のポートのいずれかから入力されたパケットに記された情報から、そのパケットが宛先に送られる際に優先的に選択されるポートとしての転送先ポートと、前記リンクとの関係で転送が可能なポートとしての転送可能ポートとに関する情報を検索するポート情報検索手順と、
    このポート情報検索手順で情報を検索したときに前記複数のポートから入力されたパケットをそれぞれのポートから送出するまでの間、一時的に格納するこれら複数のポートの送出側にそれぞれ用意されたパケット格納バッファの使用量をチェックして、前記転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在するか否かを判別する転送可能ポート負荷状態判別手順と、
    この転送可能ポート負荷状態判別手順で転送可能ポートの中でパケットの送出について所定の負荷よりも軽くなっているポートが存在することを判別したとき、このポートにそのパケットを振り分けて送出するパケット送出手順
    とを実行させるためのパケット振分プログラム。
JP2001218640A 2001-07-18 2001-07-18 パケット振分装置およびパケット振分プログラム Expired - Lifetime JP3591492B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001218640A JP3591492B2 (ja) 2001-07-18 2001-07-18 パケット振分装置およびパケット振分プログラム
US10/195,371 US7379468B2 (en) 2001-07-18 2002-07-16 Packet distributing apparatus and packet distributing method
US12/018,278 US20080130671A1 (en) 2001-07-18 2008-01-23 Packet distributing apparatus and packet distributing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001218640A JP3591492B2 (ja) 2001-07-18 2001-07-18 パケット振分装置およびパケット振分プログラム

Publications (2)

Publication Number Publication Date
JP2003032291A JP2003032291A (ja) 2003-01-31
JP3591492B2 true JP3591492B2 (ja) 2004-11-17

Family

ID=19052797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001218640A Expired - Lifetime JP3591492B2 (ja) 2001-07-18 2001-07-18 パケット振分装置およびパケット振分プログラム

Country Status (2)

Country Link
US (2) US7379468B2 (ja)
JP (1) JP3591492B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4428184B2 (ja) * 2004-10-04 2010-03-10 株式会社日立製作所 検索テーブル高速切替方式およびパケット転送装置
JP2006287286A (ja) * 2005-03-31 2006-10-19 Saxa Inc Ip通信方法およびip通信装置
US20080240168A1 (en) * 2007-03-31 2008-10-02 Hoffman Jeffrey D Processing wireless and broadband signals using resource sharing
BR112015010947A2 (pt) * 2012-11-13 2018-06-05 Nusirt Sciences Inc composições e métodos para aumentar o metabolismo energético.
CN104427012B (zh) 2013-09-04 2018-12-11 新华三技术有限公司 端口协商方法和设备
US9565114B1 (en) * 2014-03-08 2017-02-07 Google Inc. Weighted load balancing using scaled parallel hashing
CN108781170B (zh) * 2016-03-03 2020-12-08 华为技术有限公司 一种配置装置及方法
CN110167076B (zh) * 2019-06-20 2022-06-28 杭州迪普信息技术有限公司 一种4g网络的流量分流方法、装置及设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768257A (en) * 1996-07-11 1998-06-16 Xylan Corporation Input buffering/output control for a digital traffic switch
US6563837B2 (en) * 1998-02-10 2003-05-13 Enterasys Networks, Inc. Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US6614756B1 (en) * 1999-08-20 2003-09-02 3Com Corporation Method of detecting and recovering from signaling congestion in an asynchronous transfer mode network
US7072295B1 (en) * 1999-09-15 2006-07-04 Tellabs Operations, Inc. Allocating network bandwidth
US6788697B1 (en) * 1999-12-06 2004-09-07 Nortel Networks Limited Buffer management scheme employing dynamic thresholds
US6643294B1 (en) * 1999-12-09 2003-11-04 Verizon Laboratories Inc. Distributed control merged buffer ATM switch
US6778546B1 (en) * 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
US6963576B1 (en) * 2000-09-28 2005-11-08 Force10 Networks, Inc. Scheduling and arbitration scheme for network processing device

Also Published As

Publication number Publication date
US20030016666A1 (en) 2003-01-23
US7379468B2 (en) 2008-05-27
US20080130671A1 (en) 2008-06-05
JP2003032291A (ja) 2003-01-31

Similar Documents

Publication Publication Date Title
CN102714629B (zh) 通信系统、转发节点、路径管理服务器以及通信方法
JP4388667B2 (ja) ラベルスイッチングネットワークにおけるパス設定装置および方法
US8081566B1 (en) Method and apparatus for indicating congestion in a source routed network
US7539210B2 (en) Dynamic routing in packet-switching multi-layer communications networks
EP1705845B1 (en) Load distributing method
US5353283A (en) General internet method for routing packets in a communications network
US8477627B2 (en) Content routing in digital communications networks
US6023733A (en) Efficient path determination in a routed network
CN101496348B (zh) 用于标签交换数据流量的多径转发的技术
US7558268B2 (en) Apparatus and method for combining forwarding tables in a distributed architecture router
CN102792646B (zh) 通信系统、控制装置、通信方法
WO2011118566A1 (ja) パケット転送システム、制御装置、転送装置、処理規則の作成方法およびプログラム
US20070091911A1 (en) Packet forwarding apparatus with function of diverting traffic
JP2002514361A (ja) サービス品質の保証を提供する通信網
US7218606B2 (en) Transmission system and transmitting device
US20080130671A1 (en) Packet distributing apparatus and packet distributing method
US20030037168A1 (en) Efficient connectivity between multiple topology subnets via common connection network
US9705791B2 (en) Route setting device and route setting method
EP3076611A1 (en) Communication system, communication method, network information combination apparatus, and network information combination program
JP4623317B2 (ja) 通信装置、ルーティング方法及びプログラム
US20030002531A1 (en) Method and device for controlling access to a communications network
JP2002368787A (ja) 明示的経路指定中継装置
CN113767597B (zh) 用于基于周期的负载均衡的网络设备、系统和方法
US8169915B1 (en) Method and apparatus for network load balancing using indirection RAM during classification
JP4019884B2 (ja) パケット振り分け装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040816

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3591492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080903

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090903

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100903

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110903

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

EXPY Cancellation because of completion of term
R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350