"パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを一時的に格納するバッファと、パケットが送出される通信媒体の通信速度に応じて、前記バッファに格納された前記ディスクリプタに関して前記送信処理の許可を示す情報を設定するタイミングを調整する調整回路とを含み、前記ディスクリプタを生成する第1の回路と、前記送信処理の許可を示す情報が設定されたディスクリプタに基づく送信処理を行う第2の回路との間に配置される、パケットシェーピング装置。パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを発行する第1の回路と、前記送信処理の許可を示す情報を含むディスクリプタに基づいてパケットの送信処理を行う第2の回路との間に配置されるパケットシェーピング装置において、前記第1の回路で生成された前記ディスクリプタをバッファに格納し、パケットが送出される通信媒体の通信速度に応じて、前記バッファに格納された前記ディスクリプタに関して前記送信処理の許可を示す情報を設定するタイミングを調整することを含むパケット送信間隔調整方法。マイクロバーストの発生は、計算機システムのパケット送信処理に起因する。現在の計算機システムでは、計算機システムで実行されるオペレーティングシステム以下OSと表記が、アプリケーションプログラム以下、アプリケーションと表記等の処理能力の向上のために、ネットワーク処理を数十パケットまとめて実行するようにスケジューリングされている。計算機システムに搭載されているネットワークデバイスは、OSから受け取ったパケットを通信媒体の速度で連続的に送出する。例えば、Ethernet登録商標での標準最大パケットサイズである1500Byteのパケットで500Mbpsの通信速度を仮定する。このような仮定において、等間隔でパケットを送出するときのパケット間隔は24マイクロ秒である。これに対し、現在一般的なOSの時刻精度クロック周波数は1ミリ秒程度、5年程前では10ミリ秒程度である。このように、OSの処理速度がパケット送信に要求される処理速度より著しく速く、さらに、数十のパケットの処理結果がまとめて出力されることがマイクロバーストの原因となっている。しかし、OSがパケットをパケット毎に処理するような改変は現実的でなかった。本発明の一態様は、マイクロバーストの発生を抑制する技術を提供することを目的とする。本発明の一態様は、パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを一時的に格納するバッファと、パケットが送出される通信媒体の通信速度に応じて、前記バッファに格納された前記ディスクリプタに関して前記送信処理の許可を示す情報を設定するタイミングを調整する調整回路とを含み、前記ディスクリプタを生成する第1の回路と、前記送信処理の許可を示す情報が設定されたディスクリプタに基づく送信処理を行う第2の回路との間に配置される、パケットシェーピング装置である。本発明の一態様によれば、マイクロバーストの発生を抑制することが可能となる。以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。<<全体構成>>図1は、実施形態に係るパケットシェーピング装置が適用されるネットワークシステムの構成例を示す。図1において、計算機システム1は、LANLocalAreaNetwork2に接続されている。LAN2は、通信装置3を介してWANWideAreaNetwork4に接続されている。通信装置3は、例えば、ルータ,レイヤ3スイッチ,ゲートウェイである。LAN2は、通信媒体の一例である。計算機システム1は、例えば、パーソナルコンピュータPC,ワークステーションWS,サーバマシン、PDUPersonalDigitalAssistant、スマートフォンのような、汎用又は専用のコンピュータ情報処理装置である。計算機システム1は、バス10に接続されたCPU11,メモリ,ネットワークインタフェースカードNIC13を備えており、NIC13は、通信回線を介してLAN2と接続されている。バス10は、システムバス,メモリバス,入出力バスを含む。バス10として、PCIPeripheralComponentInterconnectバスを例示できる。バス10は、入力装置や出力装置のような周辺機器周辺デバイスを接続することができる。入力装置は、例えば、キーボードやマウスのようなポインティングデバイスである。出力装置は、ディスプレイ装置やプリンタである。周辺デバイスは、メモリ12に対する補助記憶装置図示せずを含むことができる。補助記憶装置は、例えば、HDDHardDiskDrive,EEPROMElectricallyErasableProgrammableReadOnlyMemory,フラッシュメモリなどである。メモリ12は、RAMRandomAccessMemory及びROMReadOnlyMemoryを含む。ROMは、CPU11によって実行されるOS14,デバイスドライバ15以下、単にドライバ15と表記,アプリケーションプログラム以下、単にアプリケーションと表記のような各種のプログラムを記憶する。OS14は、アプリケーションの実行によって生成されたデータをネットワークLAN2,WAN4へ送信するためのパケットを生成する。デバイスドライバ15は、NIC13のような周辺デバイスの操作や制御を司るプログラムである。また、ROMは、プログラムの実行時に使用されるデータを記憶する。なお、プログラムや、プログラムの実行時に使用されるデータは、上述した補助記憶装置にて記憶することもできる。RAMは、CPU11の作業領域として使用される。RAMの記憶領域の一部は、CPU11によって生成されたパケットデータを一時的に格納しておくバッファ領域として使用される。CPU11は、アプリケーションの実行を通じて送信対象のデータを生成する。また、CPU11は、OS14の実行を通じて、生成されたデータを含むパケットパケットデータを生成する。さらに、CPU11は、ドライバ15の実行を通じて、パケットデータ及びパケットデータの制御情報をNIC13へバス10を介して転送する。NIC13は、ネットワークデバイス、或いはネットワークインタフェースアダプタと呼ばれる、ネットワークとのインタフェース機能を司る装置デバイスである。NIC13は、ドライバ15の実行によってCPU11からバス10を介して受け取るパケットデータの制御情報送信パケットの制御情報:以下、送信パケット情報と表記に従ってパケットの送信処理を行う。<<NICの構成>>図2は、NIC13の構成例を示す。NIC13は、PHY131と、MACMediaAccessController132と、パケットシェーピング装置シェーピング回路130と、コネクタ134と、コネクタ135とを備える。コネクタ134は、LANケーブルのような通信ケーブルとの接続のためのコネクタである。但し、計算機システム1が無線LANと接続される場合には、NIC13は、無線LANのアクセスポイントとの無線接続のためのRFRadioFrequency回路及びアンテナを備えることができる。コネクタ135は、バス10側のコネクタ10Aと接続される。コネクタ135とコネクタ10Aとの接続によって、NIC13は、CPU11及びメモリ12とバス10を介して電気的に接続された状態となる。PHYチップ131は、パケットに対する物理層の処理例えば、論理信号と電気信号との変換を司る電子回路チップである。MAC132は、データリンク層レイヤ2とドライバ15CPU11によるドライバ15の実行による機能との協調動作を行い、パケットの送信処理を行う。PHY131,MAC132は、例えば、特定用途向け集積回路ASIC:ApplicationSpecificIntegratedCircuitによって実装される。もっとも、PHY131,MAC132は、汎用の電気電子回路IC、LSIや、FPGAFieldProgrammableGateArrayの組合せによって実装することもできる。パケットシェーピング装置130は、ドライバ15CPU11によるドライバ15の実行による機能と、MAC132との間に介在し、本来、ドライバ15CPU11とMAC132との間でやりとりされる送信パケット情報の受け渡しを制御する。すなわち、パケットシェーピング装置130は、MAC132に対する送信パケット情報の供給間隔を制御することによって、NIC13からネットワークLAN2へ送出されるパケットの送出間隔を調整する。CPU11は、第1の回路の一例であり、MAC132は、第2の回路の一例である。ここに、ドライバ15CPU11とMAC132との間の送信パケット情報の受け渡しは、送信ディスクリプタと呼ばれる単にディスクリプタとも呼ばれるデータ構造を介して行われる。図3は、送信ディスクリプタのデータ構造例を示す。CPU11は、メモリ12のバッファ領域に格納されるパケットデータに対応する送信ディスクリプタ20を生成発行する。図3において、送信ディスクリプタ20は、バッファ領域に格納されたパケットデータへのポインタの格納領域21と、パケットのサイズ情報が格納される格納領域22とを有する。また、送信ディスクリプタ20は、パケットに対する処理内容出力設定が記述される格納領域23と、送信ディスクリプタ20に対するアクセス権を示すOWNビットの格納領域24とを有する。さらに、送信ディスクリプタ20は、パケットの出力結果及び統計情報の格納領域25を有する。複数の格納領域のうち、格納領域21~24に格納される情報ポインタ、サイズ、出力設定などは、ドライバ15CPU11によって設定される。これに対し、格納領域25に格納される情報出力結果、統計情報は、MAC132によって設定される。送信ディスクリプタ20は、パケット毎に生成される。もっとも、一つのパケットデータに対して複数の送信ディスクリプタ20が生成されることもある。OWNビットは、送信ディスクリプタ20に対するアクセス権がドライバ15CPU11とMAC132とのどちらにあるかを規定する。すなわち、OWNビットが0のとき、送信ディスクリプタ20へのアクセス権をドライバ15CPU11が有することMAC132はアクセス不可を意味する。これに対し、OWNビットが1であれば、送信ディスクリプタ20へのアクセス権をMAC132が有することドライバ15CPU11はアクセス不可を示す。OWNビットは、パケットの送信処理の許可又は禁止を示す情報の一例である。本実施形態では、送信ディスクリプタ20の記憶領域は、パケットシェーピング装置130に設けられる。パケットシェーピング装置130は、ドライバ15CPU11から受け取る送信ディスクリプタ20のOWNビットの値を適宜のタイミングで1に設定し、MAC132へ供給する。MAC132は、OWNビット1が設定された送信ディスクリプタ20を受け取った場合には、送信ディスクリプタ20に設定された情報を用いてパケットの送信処理を行う。このとき、送信ディスクリプタ20に含まれるポインタを用いて、バッファ領域に格納されたパケットデータにアクセスする。送信処理の終了に伴い、MAC132は、送信処理の結果や統計情報を送信ディスクリプタ20の格納領域25に格納する。その後、送信ディスクリプタ20は、パケットシェーピング装置130の記憶領域に格納され、ドライバ15CPU11によって回収される。なお、MAC132での送信処理を経たパケットは、PHY131による処理を経てLAN2へ送出される。MAC132は、OWNビット1が設定された送信ディスクリプタ20に対する送信処理を行い、OWNビット0が設定された送信ディスクリプタ20に対しては送信処理を行わない。パケットシェーピング装置130は、ドライバ15CPU11から受け取る送信ディスクリプタ20のOWNビットが1に設定されるタイミングを制御する。これによって、MAC132の送信パケットの処理間隔、すなわち送信パケットの出力の間隔が制御される。送信パケットの出力の間隔制御をパケットシェーピングと呼ぶ。<<パケットシェーピング装置の構成>>前提として、送信ディスクリプタ20を用いた一般的なドライバ15CPU11とMAC132とのやりとりについて説明する。一般に、複数の送信ディスクリプタ20を格納する記憶領域ディスクリプタ記憶領域と称するは、メモリ12のようなメモリ上に作成され、ドライバ15CPU11とMAC132との間で共用される。すなわち、ドライバ15CPU11によるメモリアクセス送信ディスクリプタ20の書き込みWrite要求により、送信ディスクリプタ20がディスクリプタ記憶領域に書き込まれる。ディスクリプタ記憶領域は、一般にFIFOリングバッファ構造を有し、複数の送信ディスクリプタ20は、書き込み順でディスクリプタ記憶領域に蓄積される。一方、MAC132は、ディスクリプタ記憶領域に対するメモリアクセス読み出しRead要求によって、ディスクリプタ記憶領域の先頭に格納された、OWNビット1を有する送信ディスクリプタ20を読み出し、送信ディスクリプタ20の内容に従った送信処理を行う。送信処理に使用された送信ディスクリプタ20は、MAC132のメモリアクセス書き込みWrite要求によってディスクリプタ記憶領域に書き込まれる。そして、ドライバ15CPU11からのメモリアクセス読み出しRead要求によって、ディスクリプタ記憶領域から送信ディスクリプタ20が回収される。パケットシェーピング装置130は、上述した送信ディスクリプタ20のディスクリプタ記憶領域として機能する。すなわち、ドライバ15CPU11及びMAC132から見て、パケットシェーピング装置130は、上述したディスクリプタ記憶領域のように見えるように動作する。図4は、パケットシェーピング装置130の構成例を示す。パケットシェーピング装置130は、電気電子回路,IC,LSI,ASICの組合せで実現することができる。もっとも、パケットシェーピング装置130は、ハードウェアFIFOを内蔵したFPGAで実現するのが、製造容易性、製造コストの観点から好ましい。図4において、パケットシェーピング装置130は、ドライバ側のインタフェース回路31と、出力FIFO32と、回収FIFO33と、MAC側のインタフェース回路34と、を備えている。インタフェース回路34は、ディスクリプタレジスタ35と、出力帯域の記憶領域である出力帯域レジスタ36と、次回出力時刻の記憶領域である次回出力時刻レジスタ37と、現在時刻の記憶領域である現在時刻レジスタ38とを有している。ドライバ側のインタフェース回路31は、ドライバ15CPU11とバス10を介して接続される。バス10は、アドレスバス,データバス,制御バス制御線を含んでおり、インタフェース回路31は、アドレスバスからのアドレス情報、データバスからのデータ,制御バスからの制御信号を受け取る。制御信号は、少なくとも読み出しRead要求及び書き込みWrite要求を含む。出力FIFO32及び回収FIFO33は、ディスクリプタ記憶領域として機能する。出力FIFO32及び回収FIFO33は、データバスを介してやりとりするデータのサイズに応じたサイズでメモリマップされ、通常のメモリアクセスと同様に、ドライバ15CPU11及びMAC132がアクセスすることができる。すなわち、ドライバ15に対し、送信ディスクリプタの書き込み時には出力FIFO32のアドレスを指定し、送信ディスクリプタの回収時には回収FIFO33のアドレスを指定するような設定が予め施される。出力FIFO32はバッファの一例である。出力FIFO32には、ドライバ15CPU11側から供給される送信ディスクリプタ20を到着順で格納する。回収FIFO33は、MAC132による送信処理が終了したパケットに係る送信ディスクリプタ20以下、送信済みの送信ディスクリプタ20を送信済みディスクリプタ20Aと表記するが格納される。出力FIFO32、回収FIFO33の各データ幅は、送信ディスクリプタ20のサイズと同一にするのが好ましい。また、出力FIFO32及び回収FIFO33の双方の深さFIFO長は同一に設定され、FIFO32及び33の深さがドライバ15のディスクリプタバッファ長パラメータに設定される構成を採用することができる。ドライバ15CPU11は、ディスクリプタバッファ長パラメータに従って、FIFOがオーバーフローしないように、NIC13へ送る送信ディスクリプタ20の数を制限する。従って、出力FIFO32及び回収FIFO33に蓄積される送信ディスクリプタ20及び送信済みディスクリプタ20Aの総数は、出力FIFO32又は回収FIFO33の長さ以下となる。これによって、一方のFIFOがフルになることが抑えられる。インタフェース回路31は、ドライバ15CPU11からの書き込みWrite要求に対して、ドライバ15CPU11側から受け取る送信ディスクリプタ20を出力FIFO32に入力する。これに対し、インタフェース回路31は、ドライバ15CPU11からの読み出しRead要求に対して、回収FIFO33の先頭に格納された送信済みディスクリプタ20Aの内容を、OWNビットを除いて出力する。このとき、インタフェース回路31は、独自に作成したOWNビットを、本来のOWNビットの代わりに出力する。MAC側のインタフェース回路34は、MAC132との間で、アドレス,データ,制御信号Read命令、Write命令のやりとりを行う。インタフェース回路34に含まれるディスクリプタレジスタ35は、出力FIFO32の先頭に格納された送信ディスクリプタ20を記憶する。但し、ディスクリプタレジスタ35への送信ディスクリプタの書き込みに際し、この時点で送信ディスクリプタ20に設定されているOWNビット24の値は、ディスクリプタレジスタ35に反映コピーされない。換言すれば、ディスクリプタレジスタ35への書き込み時点におけるOWNビット24の値は0に設定される。ディスクリプタレジスタ35,出力帯域レジスタ36,次回出力時刻レジスタ37,現在時刻レジスタ38は、レジスタ回路、或いは、メモリを用いて形成される。出力帯域レジスタ36は、パケットの送信間隔を規定する情報である、出力帯域の情報を記憶する。出力帯域の情報は、外部からユーザ又はオペレータによって所望の値が書き込まれる。或いは、予め設定された出力帯域が書き込まれたメモリがセットされる。出力帯域は、LAN2の通信速度に応じて決定される。LAN2は、パケットが送出される通信媒体の一例である。現在時刻レジスタ38は、例えば、バス10から計算機システム1のクロック供給を受けて、クロックを用いた現在時刻が格納される。もっとも、現在時刻レジスタ38を構成する記憶領域の代わりに、現在時刻を計時する時計が配置されても良い。また、現在時刻レジスタ38はカウンタ回路を用いて形成することもできる。次回出力時刻レジスタ37は、次回出力時刻、即ちディスクリプタレジスタ35に格納された送信ディスクリプタ20のアクセス権をMAC132に渡すことを許可するMAC132に送信処理を許可する時刻が格納される、次回出力時刻は、出力帯域レジスタ36に格納された出力帯域及びパケットサイズ予め設定されているから求められるパケットの送信間隔と、現在時刻レジスタ38に格納された現在時刻とに基づき算出される。次回出力時刻は、所定の出力時刻の一例である。出力帯域の代わりに、パケットの送出間隔を示す情報が格納され、送出間隔に従って次回出力時刻が算出される構成を採用しても良い。インタフェース回路34は、現在時刻が次回出力時刻となった場合に、ディスクリプタレジスタ35に格納された送信ディスクリプタ20のOWNビットを1に設定する。これによって、MAC132は、ディスクリプタレジスタ35に格納された送信ディスクリプタ20に係るパケット送信処理が許可された状態となる。インタフェース回路34は、MAC132からの読み出しRead要求に対して、ディスクリプタレジスタ35に格納された送信ディスクリプタ20の内容をMAC132に供給する。一方、インタフェース回路34は、MAC132からの書き込みWrite要求に対して、MAC132から供給された送信済みディスクリプタ20Aの内容をディスクリプタレジスタ35に書き込む。送信済みディスクリプタ20Aは、回収FIFO33に書き込まれる。<<パケットシェーピング装置の動作例>>次に、図4に示したパケットシェーピング装置の動作例について説明する。図5Aは、ドライバ15CPU11からのWriteアクセス時におけるインタフェース回路31の動作を示すフローチャートである。図5Bは、ドライバ15CPU11からのReadアクセス時におけるインタフェース回路31の動作を示すフローチャートである。図5Aにおけるステップ以下S1では、インタフェース回路31は、ドライバ15CPU11から、Write要求と、送信ディスクリプタ20と、送信ディスクリプタ20の書き込み先アドレスとを、バス10図1を介して受け取る。S2では、インタフェース回路31は、アドレスに従って、送信ディスクリプタ20を出力FIFO32に入力する書き込む。図5BにおけるS01では、インタフェース回路31は、ドライバ15CPU11から、Read要求と、読み出しアドレスとを、バス10図1を介して受け取る。S2では、インタフェース回路31は、回収FIFO33が空emptyか否かを判定する。回収FIFO33が空であればS2のYes、インタフェース回路31は、OWNビットの値を1に設定し、残りの格納領域21~23及び25についてはDontcareで出力するS3。この場合、ドライバ15CPU11は、特に処理を行わない。これに対し、回収FIFO33が空でない場合にはS2のNo、インタフェース回路31は、回収FIFO33の先頭に格納された送信済みディスクリプタ20Aの内容を読み出し、OWNビットの値を0に設定して出力する。これによって、送信済みディスクリプタ20Aがドライバ15CPU11によって回収される。図6Aは、インタフェース回路34の動作を示すフローチャートである。図6Aに示す処理は、インタフェース回路34は、現在時刻レジスタ38の現在時刻を監視しS11、現在時刻が次回出力時刻以降となったか否かを判定するS12。現在時刻が次回出力時刻以降となっている場合にはS12のYes、MAC132に対する割り込みを入れて、MAC132による送信処理MAC132のディスクリプタアクセスを開始させるS13。なお、初期状態の次回出力時刻次回出力時刻の初期値として、適宜の値を設定することができる。もっとも、例えば、計算機システム1の起動時の時刻を設定しておくのが好ましい。図6Bは、MAC132からのReadアクセス時におけるインタフェース回路34の動作を示すフローチャートである。図6Bの処理は、S13の割り込み指示に応じて開始される。さらに、図6Bの処理は、周期的に開始される。図6BにおけるS21では、インタフェース回路34は、MAC132から、Read要求と、読み出しアドレスとを受け取る。S22では、インタフェース回路34は、出力FIFO32が空emptyか否かを判定する。出力FIFO32が空であればS22のYes、インタフェース回路34は、OWNビットが0であり、残りの格納領域がDontcareに設定された送信ディスクリプタ20をMAC132に供給する。この場合、MAC132は特に処理を行わない。これに対し、出力FIFO32が空でなければS22のNo、インタフェース回路34は、現在時刻が次回出力時刻より前であるかを判定するS23。このとき、現在時刻が次回出力時刻より前であればS23のYes、インタフェース回路34は、S23と同様の処理を行うS25。この場合にも、MAC132は、特に処理を行わない。これに対し、現在時刻が次回出力時刻以降であればS23のNo、インタフェース回路34は、ディスクリプタレジスタ35に格納された送信ディスクリプタ20におけるOWNビットの値を1に設定し、MAC132に供給するS26。これによって、OWNビット1の送信ディスクリプタ20をMAC132が受け取り、MAC132は、送信ディスクリプタ20の内容に応じた送信処理を実行する。図6Cは、MAC132からのWriteアクセス時におけるインタフェース回路34の動作を示すフローチャートである。S31にて、インタフェース回路34は、MAC132から送信済みディスクリプタ20A,書き込み先アドレス,及びWrite要求を受け取る。送信済みディスクリプタ20Aは、ディスクリプタレジスタ35に格納される。S32では、インタフェース回路34は、ディスクリプタレジスタ35に格納された送信済みディスクリプタ20AのOWNビットが0に設定されているかを確認する。ここに、OWNビットの0の設定は、MAC132とインタフェース回路34の一方が行うことができる。OWNビット0が設定されている場合にはS32のYes、インタフェース回路34は、ディスクリプタレジスタ35の記憶内容を回収FIFO33に入力するS33。なお、この時点では、ディスクリプタレジスタ35の記憶内容の変化はない。S34では、インタフェース回路34は、次回出力時刻の算出を行う。例えば、インタフェース回路34は、以下の式に基づき、次回出力時刻を算出することができる。<式>次回出力時刻=パケットサイズ/出力帯域現在時刻なお、上記式におけるパケットサイズは、LAN2に応じた最大パケットサイズNiC13の規格に応じた最大パケットサイズを適用しても良く、或いは、出力FIFO32の先頭に格納された送信ディスクリプタ20におけるパケットサイズを適用しても良い。S35では、出力FIFO32の先頭に格納された送信ディスクリプタ20の内容をディスクリプタレジスタ35に設定する送信ディスクリプタ20を移動。但し、出力FIFO32において設定されていたOWNビットの値は、ディスクリプタレジスタ35にて反映されない0又は1以外の値に設定される。<実施形態の作用効果>実施形態によるパケットシェーピング装置130によれば、現在時刻が次回出力時刻以降となるまで、MAC132によるディスクリプタレジスタ35に格納された送信ディスクリプタ20のアクセスが許可されない。したがって、MAC132によるパケットの送信処理の間隔即ち、パケットの送出間隔を、LAN2の通信速度パケットが送出される通信媒体の通信速度に応じた所望の間隔に設定することができる。これによって、マイクロバーストの発生が抑えられ、通信装置3のバッファがオーバーフローし、パケットロストが抑えられる。また、実施形態によれば、送信ディスクリプタ20のデータ構造には改変を加えない。このため、MACを含むネットワークデバイスとして、送信ディスクリプタ対応の既存のネットワークデバイスLSIを適用することができる。従って、新規なネットワークデバイスLSIを開発する場合に比べて、開発及び製造コストを抑えることができる。また、パケットシェーピング装置130は、FPGAを用いて実装することができる。このため、パケットシェーピング装置130の製造コストを抑えることができる。さらに、ソフトウェアに関しても、ドライバ15に対する部分的な改変で、パケットシェーピング装置の実装が可能となる。ドライバ15の改変は、送信ディスクリプタ20の書き込み先として、計算機システム1のメモリ12ではなく出力FIFO32を指定することに限定されている。このため、オリジナルのドライバが更新されても、パケットシェーピング装置130対応のドライバ15を短時間で作成することができる。従って、例えば、セキュリティ問題によりドライバが更新された場合に、更新されたオリジナルのドライバにわずかな改変を加えることで、セキュリティ問題が解決した新たなドライバを短時間で供給することが可能となる。さらに、ソフトウェアの改変は、OSのドライバ部分に限られるため、改変によってOS本体のベンダによるサポートが無効にならない。このことは、顧客のOSサポートをOSのベンダに委ねることができることを意味する。これによって、OSのサポートに係るコストを削減することができる。<変形例>なお、本実施形態では、パケットシェーピング装置130がNIC13に実装された例について示したが、計算機システム1のメイン基板マザーボードに実装されても良い。要は、ドライバ15CPU11からの送信ディスクリプタ20OWNビット1をMACに供給するタイミングを、通信媒体の通信速度出力帯域に応じて調整できるようになっていれば良い。また、パケットシェーピング装置130がプロセッサ制御装置及びメモリを含み、上述した各フローチャートに示した処理が、プロセッサのプログラム実行によるソフトウェア処理によって実現されるようにしても良い。<その他>上述した実施形態は、以下の付記を開示する。付記は適宜組み合わせることができる。付記1パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを一時的に格納するバッファと、パケットが送出される通信媒体の通信速度に応じて、前記バッファに格納された前記ディスクリプタに関して前記送信処理の許可を示す情報を設定するタイミングを調整する調整回路とを含み、前記ディスクリプタを生成する第1の回路と、前記送信処理の許可を示す情報が設定されたディスクリプタに基づく送信処理を行う第2の回路との間に配置される、パケットシェーピング装置。付記2前記調整回路は、現在時刻が所定の出力時刻以降になった場合に、前記ディスクリプタに前記送信処理の許可を示す情報を設定する付記1に記載のパケットシェーピング装置。付記3前記調整回路は、現在時刻と、パケットサイズと、出力帯域とに基づいて次回出力時刻を算出する付記2に記載のパケットシェーピング装置。付記4第1の回路で生成された、パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを一時的に格納するバッファと、前記バッファに格納された前記ディスクリプタに対して、前記送信処理の許可を示す情報を設定するタイミングを調整する調整回路と、前記送信処理の許可を示す情報が設定されたディスクリプタに基づく送信処理を行う第2の回路とを含むネットワークインタフェースカード。付記5第1の回路で生成された、パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを生成する第1の回路と、前記第1の回路で生成された、パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを一時的に格納するバッファ,及び前記バッファに格納された前記ディスクリプタに対して、前記送信処理の許可を示す情報を設定するタイミングを調整する調整回路を含むパケットシェーピング装置と、前記送信処理の許可を示す情報が設定されたディスクリプタに基づく送信処理を行う第2の回路とを含む情報処理装置。付記6パケットの情報と、パケットの送信処理の許可又は禁止を示す情報とを含むディスクリプタを発行する第1の回路と、前記送信処理の許可を示す情報を含むディスクリプタに基づいてパケットの送信処理を行う第2の回路との間に配置されるパケットシェーピング装置において、前記第1の回路で生成された前記ディスクリプタをバッファに格納し、パケットが送出される通信媒体の通信速度に応じて、前記バッファに格納された前記ディスクリプタに関して前記送信処理の許可を示す情報を設定するタイミングを調整することを含むパケット送信間隔調整方法。"