(57)【要約】【課題】ユーザの帯域の変化により生じる未使用帯域を、有効に利用する方法及び装置を提供する。【解決手段】シェーピング装置１０は、ＡＦＲ計算回路１１と、送信予定時刻（ＯＴＩＭＥ）計算回路１２と、送信判定回路１３と、キューイング先判定回路１４と、フレームバッファ管理回路１５と、受信インタフェース１６と、送信インタフェース１７とを備える。また、シェーピング装置１０は、帯域情報格納メモリ２１と、基準送信間隔（ＩＮＣ）格納メモリ２２と、ＯＴＩＭＥ格納メモリ２３を備える。【選択図】  図２
2004282728.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを利用してユーザフレームを送受信するユーザ毎にユーザフレームの送信帯域を制御するトラヒックシェーピング装置において、
ユーザ毎に設定される最低保証帯域と最大送信帯域を記憶する帯域記憶部と、
前記最低保証帯域または前記最大送信帯域を用いてユーザ毎にユーザフレームの送信帯域を算出し、算出した前記送信帯域を用いてユーザ毎にユーザフレームの基準送信間隔を算出する基準送信間隔計算部と、
前記最大送信帯域を用いてユーザ毎に最小送信間隔を算出する最小送信間隔計算部と、
各ユーザのユーザフレームを受信する受信インタフェースと、
各ユーザのユーザフレームを送信する送信インタフェースと、
ユーザ毎にユーザフレームの受信状況を管理する管理部と、
ユーザ毎に受信したユーザフレームがあるか判定し、各ユーザのユーザフレームを受信している場合は、各ユーザのユーザフレームを前記基準送信間隔毎に送信し、１以上のユーザのユーザフレームを受信していない場合は、受信したユーザフレームがある少なくとも１のユーザのユーザフレームを前記最小送信間隔毎に送信する送信判定部とを有することを特徴とするトラヒックシェーピング装置。
【請求項２】
請求項１に記載のトラヒックシェーピング装置において、
前記最小送信間隔計算部は、ユーザ毎に前記最大送信帯域が設定されると前記最小送信間隔を算出し、前記基準送信間隔計算部は、ユーザ毎の前記送信帯域及び前記基準送信間隔を定期的に算出することを特徴とするトラヒックシェーピング装置。
【請求項３】
請求項１に記載のトラヒックシェーピング装置において、
前記帯域記憶部は、更に各ユーザのユーザフレームを送信する回線の最大帯域を記憶し、前記基準送信間隔計算部は、前記回線の最大帯域と前記最低保証帯域とを用いてユーザ毎にユーザフレームの送信帯域を算出することを特徴とするトラヒックシェーピング装置。
【請求項４】
請求項１に記載のトラヒックシェーピング装置において、
前記基準送信間隔を用いてユーザ毎に第１の送信予定時刻を算出し、前記最小送信間隔を用いてユーザ毎に第２の送信予定時刻を算出する時刻計算部を更に有し、前記送信判定部は、受信したユーザフレームがある１以上のユーザのうち前記第１の送信予定時刻が最も早い時刻を示しているユーザを決定し、前記決定したユーザの前記第２の送信予定時刻に基づいてユーザフレームを送信するか否かを決定することを特徴とするトラヒックシェーピング装置。
【請求項５】
ネットワークを利用してユーザフレームを送受信するユーザ毎にユーザフレームの送信帯域を制御するトラヒックシェーピング方法において、
ユーザ毎に最低保証帯域と最大送信帯域を設定し、
前記最大送信帯域を用いてユーザ毎に最小送信間隔を算出し、
前記最低保証帯域または前記最大送信帯域を用いてユーザ毎にユーザフレームの送信帯域を算出し、
前記送信帯域を用いてユーザ毎にユーザフレームの基準送信間隔を算出し、
ユーザ毎に送信すべきユーザフレームがあるか判定し、
各ユーザのユーザフレームがある場合は、各ユーザのユーザフレームを前記基準送信間隔毎に送信し、
１以上のユーザのユーザフレームがない場合は、送信すべきユーザフレームがある少なくとも１のユーザのユーザフレームを前記最小送信間隔毎に送信することを特徴とするトラヒックシェーピング方法。
【請求項６】
請求項５に記載のトラヒックシェーピング方法において、
前記最小送信間隔を算出するステップは、ユーザ毎に前記最大送信帯域が設定されると前記最小送信間隔を算出することを特徴とするトラヒックシェーピング方法。
【請求項７】
請求項５に記載のトラヒックシェーピング方法において、
前記送信帯域と前記基準送信間隔を算出するステップは、ユーザ毎に前記送信帯域及び前記基準送信間隔を定期的に算出することを特徴とするトラヒックシェーピング方法。
【請求項８】
請求項５に記載のトラヒックシェーピング方法において、
更に、前記基準送信間隔を用いてユーザ毎に第１の送信予定時刻を算出し、前記最小送信間隔を用いてユーザ毎に第２の送信予定時刻を算出し、送信すべきユーザフレームがある１以上のユーザのうち前記第１の送信予定時刻が最も早い時刻を示しているユーザを決定し、前記決定したユーザの前記第２の送信予定時刻に基づいてユーザフレームを送信するか否かを決定することを特徴とするトラヒックシェーピング方法。
【請求項９】
複数の回線と接続され、回線間でフレームを中継する中継装置において、
少なくとも１本の回線と接続され、回線に対してフレームを送受信する複数のインタフェース部であって、それぞれフレームを一時的に格納するフレームバッファを含む複数のインタフェース部と、
複数の前記インタフェース部と接続され、各々の前記インタフェース部にて受信されたフレームに含まれるヘッダ情報によって、そのフレームを送信すべき回線と接続されたインタフェース部を決定し、前記決定したインタフェース部にそのフレームを中継する中継部と、
少なくとも１つの前記インタフェース部と前記中継部とに接続され、それぞれの回線を使用してフレームを送受信するユーザ毎にフレームの送信帯域を制御してフレームを送信するトラヒックシェーピング部とを有し、
前記トラヒックシェーピング部は、ユーザ毎に設定される最低保証帯域と最大送信帯域を記憶する帯域記憶部と、前記最低保証帯域または前記最大送信帯域を用いてユーザ毎にフレームの送信帯域を算出し、算出した前記送信帯域を用いてユーザ毎にフレームの基準送信間隔を算出する基準送信間隔計算部と、前記最大送信帯域を用いてユーザ毎に最小送信間隔を算出する最小送信間隔計算部と、ユーザ毎にフレームが前記フレームバッファに格納されているか判定し、各ユーザのフレームが前記フレームバッファに格納されている場合は、各ユーザのフレームを前記基準送信間隔毎に送信し、１以上のユーザのフレームが前記フレームバッファに格納されていない場合は、フレームが前記フレームバッファに格納されている少なくとも１のユーザのフレームを前記最小送信間隔毎に送信する送信判定部とを備えることを特徴とする中継装置。
【請求項１０】
請求項９に記載の中継装置において、
前記基準送信間隔を用いてユーザ毎に第１の送信予定時刻を算出し、前記最小送信間隔を用いてユーザ毎に第２の送信予定時刻を算出する時刻計算部を更に有し、前記送信判定部は、フレームが前記フレームバッファに格納されている１以上のユーザのうち前記第１の送信予定時刻が最も早い時刻を示しているユーザを決定し、前記決定したユーザの前記第２の送信予定時刻に基づいてフレームを送信するか否かを決定することを特徴とする中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トラヒックシェーピング方法及びトラヒックシェーピング装置に関する。特に、本発明は、ユーザにより使用される帯域の変化に応じて帯域を有効利用するトラヒックシェーピング方法及びトラヒックシェーピング装置に関する。
【背景技術】
【０００２】
一般に、公衆網（または公衆回線）を介して通信を行う場合、ユーザは通信開始前に公衆網の管理者と、送信帯域やフレーム（パケット）転送の優先度等に関する契約を結ぶ。ユーザと公衆網管理者との間の契約が成立すると、ユーザの端末は公衆網に向けてフレームを転送し始める。一方、公衆網の入口に位置している管理者側の中継装置は端末の送信帯域を監視し、契約した送信帯域を越えていると、違反している端末のフレームの優先度を下げ、あるいは違反フレームを廃棄する。この公衆網側の監視機能をポリサー機能（またはＵＰＣ（Usage Parameter Control））という。通信途中でフレームが廃棄されても、通常は受信端末がフレーム廃棄が生じたことを認識して送信端末に向けてフレームの再送を要求する。これに応じて送信端末はフレームを再送するので、最終的な情報の欠落はない。しかし、再送によって転送遅延が非常に大きくなってしまい、また、再送フレームによって網が輻輳（込み合うこと）する原因になる。従って、フレーム廃棄は生じないことが望ましい。そこで、公衆網に向けてフレームを送信するユーザ側の中継装置は、公衆網においてフレームが廃棄されない様に送信帯域を制御してフレームを送信することが必要である。このようにフレームの送信帯域を制御する機能をトラヒックシェーピング機能、あるいは単にシェーピング機能という。トラヒックシェーピング機能を実現するためのトラヒックシェーピング装置は、上述の様な、公衆網に直接接続されている中継装置や、ユーザの送信端末、あるいは公衆網の出口部分に配置され、ユーザの私設網へ向けてフレームを送信する中継装置に含まれる場合もある。
【０００３】
このようなシェーピング装置として、高優先度パケット用のキューと低優先度パケット用のキューを備えた装置が提案されている。このシェーピング装置は、優先キューからパケットを送信すべき時刻になっているのに関わらず優先キューに送信待ちパケットがない場合に、非優先キューの送信待ちパケットに対して高優先度を与えて送信する。これによって、送信帯域を有効利用することを可能としている。このようなシェーピング装置を開示する文献としては、例えば、特開２０００−３３２７８７号公報がある。
【０００４】
【特許文献１】特開２０００−３３２７８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
シェーピング機能を実現するために、シェーピング装置に、ユーザ毎に最低保証帯域（ＭＦＲ：Ｍｉｎｉｍｕｍ  Ｆｒａｍｅ  Ｒａｔｅ）と、最大送信帯域（ＰＦＲ：Ｐｅａｋ  Ｆｒａｍｅ  Ｒａｔｅ）が設定される場合がある。この場合、シェーピング装置のハードウェアは、ＭＦＲとＰＦＲの値を用いて、且つ、ユーザのアクティブ及びインアクティブを認識して動的に送信帯域（ＡＦＲ：Ａｌｌｏｗｅｄ  Ｆｒａｍｅ  Ｒａｔｅ）を計算する。シェーピング装置は、ＡＦＲを基準に計算した送信予定時刻Ａに基づいて最優先送信ユーザを決定し、時刻が送信予定時刻Ａになっているときに該当ユーザに対応するキューからフレームを送信する。一方、時刻が送信予定時刻Ａでない場合は、フレームを送信しない。このように、シェーピング装置は、時刻が送信予定時刻Ａになっているときにフレームを送信することで、ＡＦＲに応じたフレーム送信を実現する。
【０００６】
シェーピング装置において、あるユーザが使用する帯域（ユーザの帯域）が計算した送信帯域ＡＦＲを下回った場合でも、このユーザはインアクティブになるわけではないので、このユーザに関するＡＦＲの値は変化しない。したがって、他のユーザのＡＦＲも変化しない。そのため、他のユーザは上記ユーザの帯域がＡＦＲを下回った後も上記ユーザの帯域が下回る以前に利用していた帯域と同じ幅の帯域しか利用できない。この場合、どのユーザにも使用されない帯域が生じる場合がある。例えば、ユーザ１の最低保証帯域ＭＦＲが１００Ｍｂｐｓ、ユーザ２のＭＦＲが１００Ｍｂｐｓ、回線の最大帯域が１Ｇｂｐｓの場合、ＡＦＲはそれぞれ５００Ｍｂｐｓとなる。ところが、ユーザ１の帯域が３００Ｍｂｐｓになった場合、ユーザ２のＡＦＲは５００Ｍｂｐｓのまま変化しないため、結局ユーザ１とユーザ２によって回線の帯域は８００Ｍｂｐｓしか使用されない。従って、回線の最大帯域のうちの残りの２００Ｍｂｐｓはどのユーザにも使用されない帯域となる。また、ユーザ１の帯域が更に減少して５０Ｍｂｐｓになり、ＭＦＲも下回った場合でも、やはりユーザ２のＡＦＲは５００Ｍｂｐｓのまま変化しない。そのため、回線の帯域は両ユーザによって５５０Ｍｂｐｓしか使用されない。従って、回線の最大帯域のうちの残りの４５０Ｍｂｐｓはどのユーザにも使用されない帯域となる。このように、あるユーザの帯域がＡＦＲを下回った場合、或いはＭＦＲも下回った場合、ＡＦＲからそのユーザの帯域を差し引いた余りの帯域については、どのユーザも利用できない。そのため、回線の帯域が有効に利用されないという課題がある。
【０００７】
また、シェーピング装置において、あるユーザに関するＡＦＲが最大送信帯域ＰＦＲを上回った場合、ユーザはＰＦＲを超えて帯域を使用することはできないので、シェーピング装置はＡＦＲをＰＦＲと同じ値まで下げる。この場合にも、他のユーザのＡＦＲは変化しないため、どのユーザにも使用されない帯域が生じる場合がある。例えば、上述と同様にユーザ１とユーザ２のＭＦＲがそれぞれ１００Ｍｂｐｓ、回線の最大帯域が１Ｇｂｐｓの場合、ＡＦＲはそれぞれ５００Ｍｂｐｓとなる。ここで、ユーザ１に関するＰＦＲが３００Ｍｂｐｓであり、ユーザ２のＰＦＲが１Ｇｂｐｓである場合、ユーザ１に関するＡＦＲの値は５００Ｍｂｐｓではなく、ＰＦＲと同じ３００Ｍｂｐｓとなる。よって、ユーザ１のＡＦＲとユーザ２のＡＦＲを合計すると８００Ｍｂｐｓとなる。即ち、ユーザ１とユーザ２が利用できる帯域は合計で８００Ｍｂｐｓである。したがって、回線の最大帯域のうちの２００Ｍｂｐｓはどのユーザにも使用されない。このように、あるユーザのＡＦＲがＰＦＲを上回った場合、ＡＦＲからＰＦＲを差し引いた余りの帯域については、どのユーザも利用できず、帯域は有効に利用されないという課題がある。
【０００８】
本発明は、以上の点に鑑み、ユーザの帯域の変化により生じる未使用帯域を、有効に利用する方法及び装置を提供する。
【０００９】
また、本発明は、あるユーザの帯域が送信帯域ＡＦＲを下回った時に生じるどのユーザにも利用されない帯域を利用する方法及び装置を提供する。さらに、本発明は、あるユーザの送信帯域ＡＦＲが最大送信帯域ＰＦＲを上回った時に生じるどのユーザにも利用されない帯域を利用する方法及び装置を提供する。
【課題を解決するための手段】
【００１０】
本発明によれば、ユーザ毎に設定される最低保証帯域と最大送信帯域を用いてユーザ毎にユーザフレームの送信帯域を算出し、算出した前記送信帯域を用いてユーザ毎にユーザフレームの基準送信間隔を算出し、また、前記最大送信帯域を用いてユーザ毎に最小送信間隔を算出する送信間隔計算部；基準送信間隔を用いてユーザ毎に第１の送信予定時刻を算出し、最小送信間隔を用いてユーザ毎に第２の送信予定時刻を算出する時刻計算部；少なくとも１つのユーザフレームが格納されている１以上のフレームキューにそれぞれ対応する１以上のユーザのうち前記第１の送信予定時刻が最も早い時刻を示しているユーザを決定し、決定したユーザの第２の送信予定時刻に基づいてユーザフレームを送信するか否かを決定する決定部；からなるトラヒックシェーピング装置が提供される。
【００１１】
また、本発明によれば、ユーザ毎に設定された最低保証帯域と最大送信帯域を用いてユーザ毎に最小送信間隔と、ユーザフレームの送信帯域と、基準送信間隔を算出し；基準送信間隔を用いてユーザ毎に第１の送信予定時刻を算出し；最小送信間隔を用いてユーザ毎に第２の送信予定時刻を算出し；第１の送信予定時刻が最も早いユーザを決定し；そのユーザの第２の送信予定時刻に基づいてユーザフレームを送信するか否か決定するトラヒックシェーピング方法が提供される。
【発明の効果】
【００１２】
本発明によると、ユーザの帯域の変化により生じる未使用帯域を有効に利用することができる。例えば、あるユーザの帯域がＡＦＲや、ＭＦＲを下回った時に生じる、どのユーザにも利用されなかった帯域を有効に利用することができる。
【発明を実施するための最良の形態】
【００１３】
図１は、シェーピング装置を備えたパケット中継装置の構成例を示す。
【００１４】
パケット中継装置は、複数の回線ＩＦ（インタフェース）５０と、複数のルーティング処理部３０と、少なくとも１つのスイッチ６０とから構成される。少なくとも１つの回線ＩＦ５０はシェーピング装置１０を備える。尚、パケット中継装置に含まれるルーティング処理部３０が１つのみの場合は、スイッチ６０は不要である。
【００１５】
各々の回線ＩＦ５０は１本または複数本の回線と接続される。各回線ＩＦ５０は接続される回線の種類に対応して構成されている。各回線ＩＦ５０は後述する物理レイヤ対応部を備え、接続された回線からその物理レイヤ対応部を介してフレーム（パケット）を入出力する。各々のルーティング処理部３０は１つ以上の回線ＩＦ５０とスイッチ６０とに接続される。ルーティング処理部３０は、図示しないが、例えばフレーム転送部や、フレーム記憶部や、ルーティング先検索部や、ルーティング情報記憶部等を備える。ルーティング処理部３０が接続された回線ＩＦ５０からフレームを受信すると、フレーム転送部はこれをフレーム記憶部に一時的に格納すると共に、フレームに含まれるヘッダ情報をルーティング先検索部に送る。ルーティング先検索部は、ヘッダ情報に含まれる宛先ＭＡＣアドレスや宛先ＩＰアドレスに基づいて、ルーティング情報記憶部に記憶されているルーティング情報を検索し、フレームのルーティング先を抽出、決定する。ルーティング先検索部は決定したルーティング先の情報をフレーム転送部に通知する。フレーム転送部は、フレーム記憶部からフレームを読出し、ルーティング先検索部から受け取ったルーティング先に従ってスイッチ６０又は何れかの回線ＩＦ５０にフレームを中継する。また、スイッチ６０は、ルーティング処理部３０からフレームを受け取り、ルーティング処理部３０が決定したルーティング先に従い、フレームを適宜のルーティング処理部３０に中継する。
【００１６】
シェーピング装置１０は少なくとも１つの回線ＩＦ５０内に配置される。シェーピング装置１０は、ルーティング処理部３０からフレームを受け取り、フレーム内のヘッダ情報を参照し、該フレームが属するユーザを判別し、ユーザ毎に設定された、或いは計算された送信帯域（ＡＦＲ）に従ってフレームを送信する。
【００１７】
図１に示したパケット中継装置をネットワーク内に配置することにより、シェーピング装置１０の効果により回線内の各ユーザの帯域を制御することができる。尚、パケット中継装置は、図１に示した構成以外の適宜の構成とすることができる。
【００１８】
図２は、シェーピング装置１０の構成図を示す。シェーピング装置１０は、ＡＦＲ計算回路１１と、送信予定時刻（ＯＴＩＭＥ）計算回路１２と、送信判定回路１３と、キューイング先判定回路１４と、フレームバッファ管理回路１５と、受信インタフェース１６と、送信インタフェース１７とを備える。また、シェーピング装置１０は、帯域情報格納メモリ２１と、基準送信間隔（ＩＮＣ）格納メモリ２２と、ＯＴＩＭＥ格納メモリ２３を備える。また、シェーピング装置１０は、回線ＩＦ５０に備えられたユーザ毎のキューを有するフレームバッファ２４及び物理レイヤ対応部４０と接続され、更に、回線ＩＦ５０の外側にあるルーティング処理部３０に接続されている。尚、図２において、フレームバッファ２４は回線ＩＦ５０内に設けられているが、シェーピング装置１０の内部に設けられても良い。また、フレームバッファ２４は、回線ＩＦ５０の外部、例えばルーティング処理部３０内に設けられても良い。この場合、フレームバッファ２４が上述したルーティング処理部３０内のフレーム記憶部と同じであっても構わない。また、各メモリ２１〜２３は、シェーピング装置１０の外部、例えば回線ＩＦ５０内に設けられても良い。また、フレームバッファ２４及び各メモリ２１〜２３を、回線ＩＦ５０の外部に接続されたメモリにより実現されることもできる。
【００１９】
図２に示したシェーピング装置１０は、例えば、ＡＳＩＣ（Application specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）といったＬＳＩ（Large Scale Integration）によって製造されることができる。この場合のＬＳＩは、ＡＦＲ計算回路１１、送信予定時刻（ＯＴＩＭＥ）計算回路１２、送信判定回路１３、キューイング先判定回路１４、フレームバッファ管理回路１５、受信インタフェース１６、送信インタフェース１７を少なくとも含む。また、このＬＳＩは、ＯＴＩＭＥ格納メモリ２３と、帯域情報格納メモリ２１と、基準送信間隔（ＩＮＣ）格納メモリ２２を含んでも良い。更に、このＬＳＩは、フレームバッファ２４を含んでも良い。
【００２０】
受信インタフェース１６は、回線ＩＦ５０の外側にあるルーティング処理部３０と接続され、ルーティング処理部３０からフレームを受信する。受信インタフェース１６は、受信したフレームをフレームバッファ管理回路１５に送り、また、フレームのヘッダ情報をキューイング先判定回路１４に送る。
【００２１】
キューイング先判定回路１４は、受信インタフェース１６からフレームのヘッダ情報を受信し、受信したヘッダ情報に基づきフレームのキューイング先を判定する。例えば、キューイング先判定回路１４は、受信したヘッダ情報に含まれるＶＬＡＮ  ＩＤの値に基づきキューイング先を判定する。尚、キューイング先判定回路１４は、ＶＬＡＮ  ＩＤ以外にもヘッダ情報に含まれる適宜の情報によりキューイング先を判定しても良い。
【００２２】
フレームバッファ管理回路１５は、受信インタフェース１６からフレームを受信し、キューイング先判定回路１４が判定したキューイング先に従い、受信したフレームをフレームバッファ２４内のキューの末尾に書き込む。また、フレームバッファ管理回路１５は、送信判定回路１３が送信すると判定したユーザのキューの先頭にある送信待ちフレームをフレームバッファ２４から読み出し、送信インタフェース１７を介して送信する。
【００２３】
フレームバッファ２４は、受信したフレームが格納される複数のキューを有する。キューはユーザ毎に設けられる。シェーピング装置１０により受信されたフレームは、フレームバッファ管理回路１５により、キューイング先判定回路１４で判定されたキューイング先に対応するキューに格納される。また、各々のキューに格納されたフレームは、フレームバッファ管理回路１５により順次読み出され、送信される。
【００２４】
送信インタフェース１７は、回線ＩＦ５０内の物理レイヤ対応部４０と接続され、フレームバッファ管理回路１５から送られてくるフレームを物理レイヤ対応部４０に送信する。
【００２５】
帯域情報格納メモリ２１は、それぞれのユーザに対応して、予め設定された最低保証帯域（ＭＦＲ）及び最大送信帯域（ＰＦＲ）と、ＡＦＲ計算回路１１で計算されたＡＦＲを記憶する。また、帯域情報格納メモリ２１は、回線の最大帯域をさらに記憶していても良い。ＩＮＣ格納メモリ２２は、それぞれのユーザに対応して、ＡＦＲ計算回路１１で計算された基準送信間隔（ＩＮＣ）と最小送信間隔（ＰＩＮＣ）を記憶する。ＯＴＩＭＥ格納メモリ２３は、それぞれのユーザに対応して、ＯＴＩＭＥ計算回路１２で計算された第１の送信予定時刻Ａと第２の送信予定時刻Ｐ、及び、各ユーザの送信待ちフレームの存否を示すフラグを記憶する。送信待ちフレームの存否を示すフラグは、例えば、フレームバッファ管理回路１５等により適宜書き込まれる。
【００２６】
ＡＦＲ計算回路１１は、帯域情報格納メモリ２１にユーザ毎に予め記憶されているＭＦＲ及び／又はＰＦＲに基づき、ユーザ毎にＡＦＲと、ＩＮＣを定期的に、動的に計算する。また、ＡＦＲ計算回路１１は、これらの計算結果を各ユーザに対応させてＩＮＣ格納メモリ２２に格納する。
【００２７】
尚、ユーザとは、個々の端末や、端末の利用者そのものを表すものではなく、回線の契約主体、例えば個人や法人、或いは組織や団体を表すものである。例えば、ＶＡＬＮ  ＩＤ等により識別することができる。
【００２８】
ＡＦＲ計算回路１１について具体的に説明する。
【００２９】
例えば、ＡＦＲ計算回路１１は、帯域情報格納メモリ２１に予め記憶されているユーザ毎のＭＦＲ及びＰＦＲを読み出し、次式を用いてＡＦＲを計算する。
ＡＦＲ＝（ユーザの使用する回線の最大帯域）×（ユーザのＭＦＲ）／（その回線を使用するアクティブなユーザのＭＦＲの総和）
尚、回線の最大帯域は予め設定され、適宜のメモリに記憶されている。
【００３０】
例えば、ユーザ１、ユーザ２が使用する回線の最大帯域＝１Ｇｂｐｓ、ユーザ１のＭＦＲ＝１００Ｍｂｐｓ、ユーザ２のＭＦＲ＝４００Ｍｂｐｓであるとする。これらの値を上述した式に代入して各ユーザのＡＦＲを計算する。
ユーザ１のＡＦＲ＝１Ｇｂｐｓ×１００Ｍｂｐｓ／（１００Ｍｂｐｓ＋４００Ｍｂｐｓ）＝２００Ｍｂｐｓ
ユーザ２のＡＦＲ＝１Ｇｂｐｓ×４００Ｍｂｐｓ／（１００Ｍｂｐｓ＋４００Ｍｂｐｓ）＝８００Ｍｂｐｓ
この計算結果の通り、ＭＦＲの割合に応じて回線の最大帯域が各ユーザに配分される。ただし、算出されたＡＦＲが、読み出したＰＦＲ、すなわちユーザの最大送信帯域を超える場合、ＡＦＲ計算回路１１は、ＡＦＲ＝ＰＦＲとする。上述のＡＦＲの算出例は、各ユーザのＭＦＲに応じて、回線の最大帯域を配分するように計算しているが、これ以外にも適宜の計算式によりＡＦＲを求めても良い。
【００３１】
さらに、ＡＦＲ計算回路１１は、次式を用いてＩＮＣを計算する。
ＩＮＣ＝（シェーピング装置がシェーピング可能な最大帯域）／ＡＦＲ
尚、ＰＩＮＣは次式で計算される。但し、ＰＩＮＣは、ユーザ毎にＰＦＲが設定された段階で計算され、ＩＮＣ格納メモリ２２に予め格納される。
ＰＩＮＣ＝（シェーピング装置がシェーピング可能な最大帯域）／ＰＦＲ
シェーピング装置１０がシェーピング可能な最大帯域とは、シェーピング装置１０に接続された１本以上の回線の最大帯域の総和である。シェーピング装置１０は、接続された全ての回線の最大帯域を制御できる能力をシェーピング能力として備えている。ＩＮＣは、ＡＦＲに基づきフレームを送信する場合の送信間隔である。一般に、シェーピング装置は、ＩＮＣを用いて、ユーザ毎に次のフレームを送信する第１の送信予定時刻Ａを計算する。この送信予定時刻Ａが現在時刻と一致する場合、又は、現在時刻よりも過去の時刻となっている場合に当該ユーザのフレームを送信する。
【００３２】
ＰＩＮＣは、ＰＦＲに基づきフレームを送信する場合の送信間隔である。上述のＡＦＲは、アクティブな他のユーザとの関係でＰＦＲよりも小さくなることが多い。あるユーザの帯域がＡＦＲよりも下回った場合でも、そのユーザがインアクティブになるわけではない。そのため、それ以外のユーザのＡＦＲは変化しない。故に、ＡＦＲを下回ったユーザの帯域をそのＡＦＲから差し引いた分の帯域は誰にも利用されず、有効利用されない。この場合、シェーピング装置が、ＰＦＲを超えない範囲でＡＦＲよりも大きな帯域を用いてフレームを送信することができれば、回線の帯域を有効利用できる。ＰＩＮＣは、他のユーザが回線を使用していなければ、フレームを送信することができるタイミングを示す。
【００３３】
シェーピング装置１０は、ＰＩＮＣに基づき第２の送信予定時刻Ｐを計算し、他のユーザが回線を使用していなければ、第１の送信予定時刻Ａよりも早い第２の送信予定時刻Ｐにおいてフレームを送信する。また、シェーピング装置１０は、第２の送信予定時刻Ｐの後でも第１の送信予定時刻Ａより早い時刻にフレームを送信することができる。
【００３４】
ＯＴＩＭＥ計算回路１２は、ＩＮＣ格納メモリ２２に記憶されているＩＮＣ及びＰＩＮＣに基づき、第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐを計算する。例えば、ＯＴＩＭＥ計算回路１２は、ＡＦＲに基づき求められたＩＮＣ及びＰＦＲに基づき求められたＰＩＮＣをＩＮＣ格納メモリ２２から読み出し、次式により第１の送信予定時刻Ａと、第２の送信予定時刻Ｐを計算する。
第１の送信予定時刻Ａ＝（前回の送信予定時刻）＋ＩＮＣ
第２の送信予定時刻Ｐ＝（前回の送信予定時刻）＋ＰＩＮＣ
尚、前回の送信予定時刻は、シェーピング装置１０の内部若しくは外部にある時計、カウンタ等により得ることができる。ＯＴＩＭＥ計算回路１２は、計算結果をそれぞれのユーザに対応させてＯＴＩＭＥ格納メモリ２３に格納する。
【００３５】
また、キューイング先判定回路１４が、キューイング先のキューにフレームが無い状態でフレームを受信したと判断した場合、ＯＴＩＭＥ計算回路１２は、受信したフレームを送信可能な最も早い時刻を、第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐとする。例えば、現在時刻、又は、現在時刻＋基準時間を第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐとすることができる。
【００３６】
基準時間は、例えば、時計の「１」に相当する時間であり、シェーピング装置１０がシェーピング可能な最大帯域と基準バイト数により次式で計算される。
基準時間［ｓ］＝基準バイト数×８［ｂｉｔ］／（シェーピング装置がシェーピング可能な最大帯域［ｂｐｓ］）
基準バイト数は、シェーピング装置１０が送受信するフレームのバイト数である。即ち、シェーピング装置１０は、基準時間の間に基準バイト数のフレームを送信することができる。
【００３７】
例えば、シェーピング装置１０がシェーピング可能な最大帯域＝１Ｇｂｐｓ、基準バイト数＝６４バイトとした場合、基準時間＝６４×８／１Ｇｂｐｓ＝５１２［ｎｓ］となり、この値を時計の「１」とする。シェーピング装置１０は、この基準時間ごとにフレームバッファ２４内のキューに書き込まれているフレームを送信することができる。
【００３８】
送信判定回路１３は、ＯＴＩＭＥ計算回路１２が計算した第１の送信予定時刻Ａを用いて、フレームバッファ２４に書き込まれているフレームの中から、最優先して送信するユーザ、且つ、キューに送信待ちフレームが存在するユーザを決定する。また、送信判定回路１３は、ＯＴＩＭＥ計算回路１２が計算した第２の送信予定時刻Ｐを用いて、決定したユーザが送信可能な状態になっているかを判定する。送信判定回路１３は、第２の送信予定時刻Ｐが現在時刻と一致する、又は、現在時刻よりも過去を表している場合、決定したユーザのキューからフレームを送信するようにフレームバッファ管理回路１５に指示する。
【００３９】
図３は、送信予定時刻とフレーム送信のタイミングとの関係を示す。
【００４０】
例えば、シェーピング装置１０に１本の回線のみが接続されているとし、その回線の最大帯域が１Ｇｂｐｓであるとする。また、ＰＦＲ＝１ＧｂｐｓでありＭＦＲ＝１００ＭｂｐｓであるユーザＸ及びユーザＹが共にアクティブであるとする。この場合、各ユーザのＰＩＮＣは上述の計算式を用いてＰＩＮＣ＝１と計算され、ＩＮＣ格納メモリ２２に格納される。各ユーザのＡＦＲは、ＡＦＲ計算回路１１により、上述の計算式を用いてそれぞれ５００Ｍｂｐｓと計算される。さらに、各ユーザのＩＮＣは、ＡＦＲ計算回路１１によりＩＮＣ＝２と計算される。
【００４１】
また、シェーピング装置１０からフレームが送信されると、ＯＴＩＭＥ計算回路１２は、各ユーザに対応する第１の送信予定時刻Ａｘ及びＡｙ、第２の送信予定時刻Ｐｘ及びＰｙを計算する。例えば、シェーピング装置が、時刻１においてユーザＸのフレームを送信したとする。この場合、ＯＴＩＭＥ計算回路１２は、第１の送信予定時刻Ａｘ及び第２の送信予定時刻Ｐｘを以下の通り算出する。
Ａｘ＝（前回の送信予定時刻）＋ＩＮＣ  ＝１＋２＝３
Ｐｘ＝（前回の送信予定時刻）＋ＰＩＮＣ＝１＋１＝２
各ユーザの帯域が送信帯域ＡＦＲを下回っていない場合（図３の時刻１〜時刻５）、ユーザＸとユーザＹのフレームは、それぞれに対応する第１の送信予定時刻Ａｘ又はＡｙにおいて送信される。
【００４２】
ここで、ユーザＹの帯域がＡＦＲを下回り、送信するフレームがなくなると（図３の時刻６及び時刻７）、従来のシェーピング装置では、この時刻において何れのフレームも送信されない。しかし、ここで説明するシェーピング装置１０は、これらの時刻にユーザＸのフレームを送信するために第２の送信予定時刻Ｐを用いる。まず、時刻６及び時刻７において、シェーピング装置１０は、送信待ちフレームがキューに存在するユーザの中から第１の送信予定時刻Ａが最も早いユーザを選択する。ここではユーザＸが選択される。次に、シェーピング装置１０は、選択したユーザの第２の送信予定時刻Ｐを現在時刻と比較し、第２の送信予定時刻Ｐが現在時刻と一致しているか、又は現在時刻よりも過去の時刻を示していれば、選択したユーザのフレームを送信する。例えば、図３に示されるように、時刻５においてユーザＸのフレームが送信された後にＯＴＩＭＥ計算回路１２により算出された第２の送信予定時刻Ｐｘは「６」である。そのため、時刻６において送信判定回路１３が第２の送信予定時刻Ｐｘと現在時刻を比較すると、両者の時刻は一致する。従って、送信判定回路１３は、選択したユーザＸのフレームを送信するようにフレームバッファ管理回路１５に指示する。同様に、時刻６においてユーザＸのフレームが送信されたことに応じてＯＴＩＭＥ計算回路１２により算出される第２の送信予定時刻Ｐｘは「７」となる。従って、時刻７においても第２の送信予定時刻Ｐｘと現在時刻が一致するため、送信判定回路１３は再度、ユーザＸのフレームを送信するようフレームバッファ管理回路１５に指示する。このようにして、シェーピング装置１０は、時刻６及び時刻７においてユーザＸのフレームを送信する。
【００４３】
このように、シェーピング装置１０がＰＦＲに基づく第２の送信予定時刻Ｐを用いることで、各ユーザは他のユーザが使用していない帯域を利用することができる。
【００４４】
また、例えば、シェーピング装置１０が新たにユーザＹのフレームを受信したことにより、時刻８においてフレームバッファ２４のキューにユーザＹのフレームが存在したとする。この場合、シェーピング装置１０は、送信待ちフレームがキューに存在するユーザＸとユーザＹのうち、第１の送信予定時刻Ａが最も早いユーザとして、ユーザＹを選択する。即ち、図３に示されるように、時刻８において、ＯＴＩＭＥ格納メモリ２３が保持している第１の送信予定時刻Ａｙは、時刻４においてＯＴＩＭＥ計算回路１２により計算された値「６」であり、第１の送信予定時刻Ａｘの値「９」よりも早いため、送信判定回路１３はユーザＹを選択する。次に、シェーピング装置１０は、選択したユーザの第２の送信予定時刻Ｐと現在時刻を比較し、第２の送信予定時刻Ｐが現在時刻と一致しているか、又は現在時刻よりも過去の時刻を示していれば、選択したユーザのフレームを送信する。即ち、ＯＴＩＭＥ格納メモリ２３から読み出される第２の送信予定時刻Ｐｙは「５」であり、現在時刻よりも過去の時刻を示しているため、送信判定回路１３はユーザＹのフレームを送信するよう指示する。従って、シェーピング装置１０は、時刻８においてユーザＹのフレームを送信する。
【００４５】
その後、ユーザＸ及びユーザＹの送信待ちフレームがキューに存在していれば、それぞれのユーザのフレームは、ＡＦＲに基づく第１の送信予定時刻Ａｘ及びＡｙに基づいてシェーピング装置１０から送信される（図３の時刻９〜時刻１２）。
【００４６】
図４は、シェーピング装置１０による送受信処理のフローチャートを示す。このフローチャートに沿ってシェーピング装置１０の動作を具体的に説明する。
【００４７】
まず、パケット中継装置の起動等に従ってシェーピング装置１０が起動すると、シェーピング装置１０は、各種の初期設定を行う（Ｓ１０１）。例えば、シェーピング装置１０は、ユーザ毎に設定されたＭＦＲ及びＰＦＲを帯域情報格納メモリ２１に格納し、また、ＰＩＮＣを計算してＩＮＣ格納メモリ２２に格納する。
【００４８】
尚、ＭＦＲ及びＰＦＲはユーザ毎に契約に基づいて決定され、例えば、パケット中継装置に接続された管理端末から管理者（オペレータ）によって各ユーザの識別子と共にパケット中継装置に入力される。ＭＦＲ及びＰＦＲの入力は、パケット中継装置の起動時や稼動している間の何れの時点でも可能である。
【００４９】
その後、シェーピング装置１０は、上述の基準時間毎に（処理時刻に）、以下の受信処理と送信処理を実行する。まず、受信処理について説明する。受信インタフェース１６は、フレームを受信したか判定する（Ｓ１０３）。受信インタフェース１６は、フレームを受信したと判定すると（Ｓ１０３）、受信したフレームをフレームバッファ管理回路１５に送る。また、受信インタフェース１６は、受信したフレームのヘッダ情報をキューイング先判定回路１４に送る。一方、受信インタフェース１６がフレームを受信していないと判定した場合は（Ｓ１０３）、シェーピング装置１０は以下の受信処理を実行せず、送信処理に移行する。
【００５０】
キューイング先判定回路１４は、受信インタフェース１６からフレームのヘッダ情報を受け取ると、受け取ったヘッダ情報に基づき、キューイング先を決定する（Ｓ１０５）。例えば、キューイング先判定回路１４は、ヘッダ情報に含まれるユーザを識別する識別子（例えば、ＶＬＡＮ  ＩＤ）に基づきキューイング先を決定する。ここで、シェーピング装置内部では、各ユーザを特定するためにユーザ毎にユーザ番号が付与されている。従って、キューイング先判定回路１４はキューイング先としてユーザ番号を決定する。キューイング先判定回路１４は、決定したキューイング先（ユーザ番号）をフレームバッファ管理回路１５に送る。
【００５１】
フレームバッファ管理回路１５は、受信インタフェース１６からフレームを受け取ると、キューイング先判定回路１４が決定したキューイング先に従い、フレームバッファ２４内のキューにフレームを書き込む（Ｓ１０７）。ステップＳ１０７の処理により、例えば、フレームはユーザ番号に対応したキューに書き込まれる。また、フレームバッファ管理回路１５は、例えば、フレームを書き込むことにより当該ユーザの送信待ちフレームの存否に変更がある場合、ＯＴＩＭＥ格納メモリ２３に、当該ユーザに対応して送信待ちフレームが存在することを示すフラグを書き込んでも良い。
【００５２】
次に、キューイング先判定回路１４は、ステップＳ１０５で決定したユーザ番号に対応するキューに、送信待ちフレームが無い状態でフレームを受信したか判断する（Ｓ１０９）。例えば、キューイング先判定回路１４は、フレームバッファ管理回路１５が空のキューにフレームを書き込んだことを示す情報をフレームバッファ管理回路１５から受け取るようにしても良い。また、キューイング先判定回路１４は、フレームバッファ管理回路１５がフレームをキューに書き込む前に、ＯＴＩＭＥ格納メモリの送信待ちフレームの存否を示すフラグを参照しても良い。更に、キューイング先判定回路１４は、ステップＳ１０５で決定したキューイング先のキューを参照し、フレームがあるか判断しても良い。キューイング先判定回路１４は、キューにフレームがない状態でフレームを受信したと判断した場合（Ｓ１０９）、ＯＴＩＭＥ計算回路１２に送信予定時刻を計算するよう指示する。一方、キューイング先判定回路１４は、キューにフレームがある状態でフレームを受信した場合（Ｓ１０９）、ＯＴＩＭＥ計算回路１２への指示は行わない。この場合、シェーピング装置１０は受信処理を終了し、送信処理に移る。
【００５３】
ＯＴＩＭＥ計算回路１２は、キューイング先判定回路１４から指示を受け取ると、第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐを計算する（Ｓ１１１、Ｓ１１３）。このとき、ＯＴＩＭＥ計算回路１２は、受信したフレームの送信可能な最も早い時刻（例えば、現在時刻、又は、現在時刻＋基準時間）を、第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐとすることができる。また、ＯＴＩＭＥ計算回路１２は、計算した第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐを、ＯＴＩＭＥ格納メモリ２３内の、決定されたユーザ番号に対応したアドレスに格納する。
【００５４】
次に、送信処理について説明する。
【００５５】
送信判定回路１３は、ＯＴＩＭＥ計算回路１２が計算したユーザ毎の第１の送信予定時刻ＡをＯＴＩＭＥ格納メモリ２３から読み出し、最優先でフレームを送信すべきユーザ（第１の送信予定時刻Ａが最も早いユーザ）を決定する（Ｓ１１５）。例えば、送信判定回路１３は、ＯＴＩＭＥ格納メモリ２３にユーザ毎に格納されている送信待ちフレームの存否を示すフラグを読み出し、そのフラグがフレームの存在を示しているユーザの第１の送信予定時刻ＡをＯＴＩＭＥ格納メモリ２３から読み出す。送信判定回路１３は、読み出したそれらの第１の送信予定時刻Ａを比較し、最も早い第１の送信予定時刻Ａに対応するユーザ番号を認識し、最優先で送信するユーザを決定する。
【００５６】
次に、送信判定回路１３は、決定したユーザの第２の送信予定時刻ＰをＯＴＩＭＥ格納メモリ２３から読み出し、決定したユーザが送信可能な状態になっているかを判定する（Ｓ１１７）。例えば、送信判定回路１３は、読み出した第２の送信予定時刻Ｐと現在時刻とを比較し、読み出した第２の送信予定時刻Ｐが現在時刻と一致するか、又は現在時刻よりも過去の時刻を示していれば、決定したユーザのフレームを送信可能であると判定する。フレームを送信可能と判定した場合（Ｓ１１７）、送信判定回路１３は、フレームバッファ管理回路１５に決定したユーザのユーザ番号を通知し、そのユーザ番号に対応したキューからフレームを読み出して送信するようにフレームバッファ管理回路１５に指示する。また、送信判定回路１３は、送信を指示したことを示す情報と、決定したユーザのユーザ番号をＯＴＩＭＥ計算回路１２に出力する。一方、送信判定回路１３は、ステップＳ１１７においてフレームを送信できないと判定した場合、現在時刻での送信処理を終了する。シェーピング装置１０は、次の処理時刻になるとステップＳ１０３から受信処理を実行する。
【００５７】
フレームバッファ管理回路１５は、送信判定回路１３からユーザ番号と送信指示を受信すると、フレームバッファ２４内の指定されたユーザ番号に対応するキューから先頭に位置するフレームを読み出し、送信インタフェース１７を介してフレームを送信する（Ｓ１１９）。フレームバッファ管理回路１５は、例えば、フレームを送信することによりそのユーザ番号に対応するキューから送信待ちフレームがなくなったと判断した場合、送信待ちフレームが存在しないことを示すフラグをＯＴＩＭＥ格納メモリ２３のうちのそのユーザ番号に対応したアドレスに書き込んでも良い。
【００５８】
ＯＴＩＭＥ計算回路１２は、送信を指示したことを示す情報と、決定したユーザのユーザ番号を送信判定回路１３から受信すると、ユーザ番号に対応するＩＮＣ及びＰＩＮＣをＩＮＣ格納メモリ２２から読み出す（Ｓ１２１）。
【００５９】
ＯＴＩＭＥ計算回路１２は、読み出したＩＮＣを用いて、次式により第１の送信予定時刻Ａを計算する（Ｓ１２３）。
第１の送信予定時刻Ａ＝（前回の送信予定時刻）＋ＩＮＣ
計算した第１の送信予定時刻Ａは、そのユーザ番号に対応するキューから次のフレームを送信する時刻を示している。次に、ＯＴＩＭＥ計算回路１２は、読み出したＰＩＮＣを用いて、次式により第２の送信予定時刻Ｐを計算する（Ｓ１２５）。
第２の送信予定時刻Ｐ＝（前回の送信予定時刻）＋ＰＩＮＣ
また、ＯＴＩＭＥ計算回路１２は、計算した第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐを、ＯＴＩＭＥ格納メモリ２３内の受信したユーザ番号に対応したアドレスに格納する。
【００６０】
シェーピング装置１０は、上述のステップＳ１０３からステップＳ１２５の処理を繰り返し実行する。
【００６１】
図５は、ＡＦＲ計算回路１１によるＩＮＣ計算のフローチャートを示す。ＡＦＲ計算回路１１は、上述した送受信処理とは関係なく（同期せずに）、定期的にＩＮＣ計算を実行する。
【００６２】
まず、ＡＦＲ計算回路１１は、シェーピング装置１０が起動すると、初期設定を行う（Ｓ２０１）。例えば、ＡＦＲ計算回路１１は、回線の最大帯域、ユーザ毎に設定されたＭＦＲ及びＰＦＲを帯域情報格納メモリやその他のメモリに格納する。
【００６３】
ＡＦＲ計算回路１１は、帯域情報格納メモリ２１の各ユーザのユーザ番号に対応したアドレスからＭＦＲ及びＰＦＲを読み出す（Ｓ２０３）。また、ＡＦＲ計算回路１１は、帯域情報格納メモリ２１又はその他のメモリからユーザの使用する回線の最大帯域を読み出す。次に、ＡＦＲ計算回路１１は、読み出した各ユーザのＭＦＲ及び／又はＰＦＲを用いて、ユーザ毎にＡＦＲを計算する（Ｓ２０５）。例えば、ＡＦＲ計算回路１１は、次式に従って、回線の最大帯域を各ユーザのＭＦＲに応じて配分するように計算する。
ＡＦＲ＝（ユーザの使用する回線の最大帯域）×（ユーザのＭＦＲ）／（その回線を使用するアクティブなユーザのＭＦＲ総和）
尚、ＡＦＲ計算回路１１は、ユーザ毎に計算したＡＦＲが各ユーザのＰＦＲを超える場合には、ＡＦＲ＝ＰＦＲとする。ＡＦＲ計算回路１１は、上述した以外の計算式によりＡＦＲを求めても良い。
【００６４】
さらに、ＡＦＲ計算回路１１は、次式を用いてユーザ毎にＩＮＣを計算する（Ｓ２０７）。
ＩＮＣ＝（シェーピング装置がシェーピング可能な最大速度）／ＡＦＲ
ＡＦＲ計算回路１１は、ユーザ毎に計算したＩＮＣをＩＮＣ格納メモリ２２の各ユーザのユーザ番号に対応したアドレスに格納する（Ｓ２０９）。また、ＡＦＲ計算回路１１は、ユーザ毎に計算したＡＦＲを帯域情報格納メモリ２１の各ユーザのユーザ番号に対応したアドレスに格納する（Ｓ２０９）。
【００６５】
ＡＦＲ計算回路１１は、上述したステップＳ２０３からステップＳ２０９の処理をユーザ毎に実行しても良い。
【００６６】
以上の説明では、シェーピング装置１０が、ユーザを識別する識別子としてヘッダ情報に含まれるＶＬＡＮ  ＩＤを用いる例を述べたが、これ以外にも適宜の識別子、例えばＩＰアドレスやＭＰＬＳラベル等を用いてシェーピング装置１０がユーザを識別しても良い。また、シェーピング装置内部で用いられるユーザ番号についても、番号以外の各ユーザを特定可能な適宜の識別子（情報）であって良い。
【００６７】
以上の説明では、シェーピング装置１０が送受信するフレームは、基準バイト数のフレームであると述べたが、シェーピング装置１０は基準バイト数とは異なるバイト数のフレームを送受信することもできる。この場合、ＯＴＩＭＥ計算回路１２は、第１の送信予定時刻Ａ及び第２の送信予定時刻Ｐを次式を用いて計算する。
第１の送信予定時刻Ａ＝（前回の送信予定時刻）＋ＩＮＣ×（送信するフレームのバイト数）／（基準バイト数）
第２の送信予定時刻Ｐ＝（前回の送信予定時刻）＋ＰＩＮＣ×（送信するフレームのバイト数）／基準バイト数
図６は、基準バイト数とは異なるバイト数のフレームをシェーピング装置１０が送信するタイミングを示す。
【００６８】
例えば、回線の最大帯域＝１Ｇｂｐｓ、ＡＦＲ＝５００Ｍｂｐｓ、ＩＮＣ＝２、基準バイト数＝６４バイトとする。図６の（ａ）は６４バイトのフレームを送信している場合のフレームと時刻との関係を示している。図６の（ｂ）は１２８バイトのフレームを送信している場合のフレームと時刻との関係を示している。図６の（ｃ）は２５６バイトのフレームを送信している場合のフレームと時刻との関係を示している。このように、シェーピング装置１０は、送信するフレームのバイト数が異なっていても、ＡＦＲ及びＰＦＲに従ってフレームを送信することができる。
【図面の簡単な説明】
【００６９】
【図１】シェーピング装置を備えたパケット中継装置の構成例を示す。
【図２】シェーピング装置の構成図を示す。
【図３】送信予定時刻とフレーム送信のタイミングとの関係を示す。
【図４】シェーピング装置による送受信処理のフローチャートを示す。
【図５】ＡＦＲ計算回路１１によるＩＮＣ計算のフローチャートを示す。
【図６】基準バイト数とは異なるバイト数のフレームを送信するタイミングを示す。
【符号の説明】
【００７０】
１０・・・シェーピング装置
３０・・・ルーティング処理部
５０・・・回線インタフェース
６０・・・スイッチ
１１・・・ＡＦＲ計算回路
１２・・・送信予定時刻（ＯＴＩＭＥ）計算回路
１３・・・送信判定回路
１４・・・キューイング先判定回路
１５・・・フレームバッファ管理回路
１６・・・受信インタフェース
１７・・・送信インタフェース
２１・・・帯域情報格納メモリ
２２・・・基準送信間隔（ＩＮＣ）格納メモリ
２３・・・ＯＴＩＭＥ格納メモリ
２４・・・フレームバッファ
４０・・・物理レイヤ対応部
【図１】
2004282728.tif 000003
【図２】
2004282728.tif 000004
【図３】
2004282728.tif 000005
【図４】
2004282728.tif 000006
【図５】
2004282728.tif 000007
【図６】
2004282728.tif 000008