(57)【特許請求の範囲】
【請求項１】
今回の送信要求を受けた時刻と前回の送信要求を受けた時刻と送信基準周期と前回の剰余時間を基に、今回の送信パケットの数及び今回の剰余時間を計算する計算ステップと、
前記計算ステップで計算された数の送信パケットを送信する送信ステップと、
を送信要求を受ける度に行なうことを特徴とするパケット送信方法。
【請求項２】
請求項１に記載のパケット送信方法において、
前記計算ステップは、
前記今回の送信要求を受けた時刻から前記前回の送信要求を受けた時刻を減算することにより今回の期間を求めるステップと、
前記今回の期間に前記前回の剰余時間を加算することにより補正後期間を求めるステップと、
前記補正後期間を前記送信基準周期により整数除算して、その商を前記今回の送信パケットの数として求め、その剰余を前記今回の剰余時間として求めるステップと、
を備えることを特徴とするパケット送信方法。
【請求項３】
請求項１に記載のパケット送信方法において、
前記計算ステップは、
前記今回の送信要求を受けた時刻から前記前回の送信要求を受けた時刻を減算することにより今回の期間を求めるステップと、
前記今回の期間に前記前回の剰余時間を加算することにより補正後期間を求めるステップと、
前記補正後期間に入れられることが可能な送信基準周期の最大数を前記今回の送信パケットの数として求めるステップと、
前記補正後期間から前記送信基準周期と前記送信パケット数の積を減算することにより今回の剰余時間を求めるステップと、
を備えることを特徴とするパケット送信方法。
【請求項４】
請求項１に記載のパケット送信方法において、
前記送信基準周期は、前記送信パケット内のデータサイズと前記リアルタイム性を維持するために必要な伝送レートに基づいて計算されたものであることを特徴とするパケット送信方法。
【請求項５】
請求項１に記載のパケット送信方法において、
送信するべきデータを基に、前記計算ステップで計算された数の前記送信パケットを作成するパケット作成ステップを前記送信要求を受ける度に更に行ない、
前記送信ステップでは、前記パケット作成ステップで作成された前記送信パケットを送信することを特徴とするパケット送信方法。
【請求項６】
基準となる送信要求を受けた時刻から個々の送信要求を受けた時刻までの期間に挿入することが可能な送信基準周期の最大整数を、前記個々の送信要求に対応した累積送信パケット数とし、今回の送信要求に対応した送信パケット数を該今回の送信要求に対応した累積送信パケット数から直前回の送信要求に対応した累積送信パケット数を差し引くことにより求める計算ステップと、
前記今回の送信要求に対応して、前記計算ステップで計算された数の送信パケットを送信する送信ステップと、
を送信要求を受ける度に行なうことを特徴とするパケット送信方法。
【請求項７】
請求項６に記載のパケット送信方法において、
前記今回の送信要求に対応した累積送信パケット数を、直後回の送信要求を受けた場合における直前回の送信要求に対応した累積送信パケット数として保存しておき、前記直後回の送信要求を受けた場合に直前回の送信要求に対応した累積送信パケット数として利用するステップを更に備えることを特徴とするパケット送信方法。
【請求項８】
請求項６に記載のパケット送信方法において、
前記送信基準周期は、前記送信パケット内のデータサイズと前記リアルタイム性を維持するために必要な伝送レートに基づいて計算されたものであることを特徴とするパケット送信方法。
【請求項９】
請求項６に記載のパケット送信方法において、
送信するべきデータを基に、前記計算ステップで計算された数の前記送信パケットを作成するパケット作成ステップを前記送信要求を受ける度に更に行ない、
前記送信ステップでは、前記パケット作成ステップで作成された前記送信パケットを送信することを特徴とするパケット送信方法。
【請求項１０】
今回の送信要求を受けた時刻と前回の送信要求を受けた時刻と送信基準周期と前回の剰余時間を基に、今回の送信パケットの数及び今回の剰余時間を計算する計算手段と、
前記計算手段で計算された数の送信パケットを送信する送信手段と、
を備えることを特徴とするパケット送信装置。
【請求項１１】
請求項１０に記載のパケット送信装置において、
前記計算手段は、
前記今回の送信要求を受けた時刻から前記前回の送信要求を受けた時刻を減算することにより今回の期間を求める手段と、
前記今回の期間に前記前回の剰余時間を加算することにより補正後期間を求める手段と、
前記補正後期間を前記送信基準周期により整数除算して、その商を前記今回の送信パケットの数として求め、その剰余を前記今回の剰余時間として求める手段と、
を備えることを特徴とするパケット送信装置。
【請求項１２】
請求項１０に記載のパケット送信装置において、
前記計算手段は、
前記今回の送信要求を受けた時刻から前記前回の送信要求を受けた時刻を減算することにより今回の期間を求める手段と、
前記今回の期間に前記前回の剰余時間を加算することにより補正後期間を求める手段と、
前記補正後期間に入れられることが可能な送信基準周期の最大数を前記今回の送信パケットの数として求める手段と、
前記補正後期間から前記送信基準周期と前記送信パケット数の積を減算することにより今回の剰余時間を求める手段と、
を備えることを特徴とするパケット送信装置。
【請求項１３】
請求項１０に記載のパケット送信装置において、
前記送信基準周期は、前記送信パケット内のデータサイズと前記リアルタイム性を維持するために必要な伝送レートに基づいて計算されたものであることを特徴とするパケット送信装置。
【請求項１４】
請求項１０に記載のパケット送信装置において、
送信するべきデータを基に、前記計算手段で計算された数の前記送信パケットを作成するパケット作成手段を更に備え、
前記送信手段では、前記パケット作成手段で作成された前記送信パケットを送信することを特徴とするパケット送信装置。
【請求項１５】
基準となる送信要求を受けた時刻から個々の送信要求を受けた時刻までの期間に挿入することが可能な送信基準周期の最大整数を、前記個々の送信要求に対応した累積送信パケット数とし、今回の送信要求に対応した送信パケット数を該今回の送信要求に対応した累積送信パケット数から直前回の送信要求に対応した累積送信パケット数を差し引くことにより求める計算手段と、
前記今回の送信要求に対応して、前記計算手段で計算された数の送信パケットを送信する送信手段と、
を備えることを特徴とするパケット送信装置。
【請求項１６】
請求項１５に記載のパケット送信装置において、
前記今回の送信要求に対応した累積送信パケット数を、直後回の送信要求を受けた場合における直前回の送信要求に対応した累積送信パケット数として保存しておき、前記直後回の送信要求を受けた場合に直前回の送信要求に対応した累積送信パケット数として利用する手段を更に備えることを特徴とするパケット送信装置。
【請求項１７】
請求項１５に記載のパケット送信装置において、
前記送信基準周期は、前記送信パケット内のデータサイズと前記リアルタイム性を維持するために必要な伝送レートに基づいて計算されたものであることを特徴とするパケット送信装置。
【請求項１８】
請求項１５に記載のパケット送信装置において、
送信するべきデータを基に、前記計算手段で計算された数の前記送信パケットを作成するパケット作成手段を更に備え、
前記送信手段では、前記パケット作成手段で作成された前記送信パケットを送信することを特徴とするパケット送信装置。
【請求項１９】
請求項１０乃至１８の何れか１項に記載のパケット送信装置と、
前記パケット送信装置で送信するべきデータを含むパケットを受信するパケット受信部と、
前記データ受信部により受信したパケット内のデータを格納する格納部と、
を備えることを特徴とするパケット送受信装置。
【請求項２０】
請求項１乃至９の何れか１項に記載のパケット送信方法をコンピュータに行なわせるためのパケット送信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケットを送信するためのパケット送信方法、パケット送信装置及びパケット送信プログラムに関する。
【背景技術】
【０００２】
ＩＰボイスメールシステムは、電話機（固定電話機、携帯電話機を含む。）やパーソナルコンピュータ等の送信元から送られてきた音声によるメッセージであるボイスメールを内部の記録媒体に格納し、後に、電話やパーソナルコンピュータ等の要求元（通常は、送信先）からの要求に応じて、そのボイスメールを要求元に送信するものである。
【０００３】
ＩＰボイスメールシステムにおいては、音声メッセージは、ＩＰ網においてＵＤＰ／ＩＰ(User Datagram Protocol/Internet Protocol)とその上層のＲＴＰ(Real-time Transport Protocol)により伝送される。
【０００４】
従来のＩＰボイスメールシステムにおいて、要求元にボイスメールを送信するためのＲＴＰ送信部が、音声データをパケット化するためのＲＴＰパケット作成部及びＲＴＰパケットを送信するためのＲＴＰパケット送信部を備える。
【特許文献１】特開２００５−８００３６号公報（第１９段落、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
コンピュータがプログラムを実行することにより実現されるようなＩＰボイスメールシステムは、他のプログラムの待ち合わせ処理を使用して、受信端末に対し周期的にＲＴＰパケットを作成・送信している。
【０００６】
しかし、ＣＰＵに高負荷がかかった状態では、ＣＰＵのプログラムに対する処理能力が低下するため、プログラムの待ち合わせ処理に遅れが生じ、ＲＴＰパケット送信処理の周期に遅れが生じる。この場合、単位時間あたりのＲＴＰパケット送信処理の回数が減少するため、単位時間あたりのＲＴＰパケット送信数が本来必要なＲＴＰパケット数と比較して不足してしまう。
【０００７】
受信端末においてＲＴＰパケットの数が不足したボイスメールを再生した場合、ノイズや音とびなどが入った音質の悪いものになってしまう。
【０００８】
上記では、ＩＰボイスメールシステムを例に取り課題を説明したが、一般的に、この課題はパケット通信に共通な課題である。すなわち、ＩＰ網でのＲＴＰパケット以外のパケットを利用した場合にも、同様な課題が生ずる。また、音声ではなく、映像を伝送する場合にも同様な課題が生ずる。
【０００９】
このような課題を解決するために、送信間隔に応じてパケットに含めるデータ量を変更するものもある（例えば、特許文献１）。これによれば、受信端末における単位時間当たりの受信データ量を一定にすることができる。しかし、こうすると、送信側のみならず受信側においても、パケットサイズ可変に対応するような機能を設ける必要が生ずる。しかし、通常の受信側端末はこのような機能を有していない。
【００１０】
本発明は、パケット送信のための要求が出される周期が変動した場合であっても、パケットの平均的な送信間隔を一定に保つことを可能とするパケット送信方法、パケット送信装置及びパケット送信プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の観点によれば、今回の送信要求を受けた時刻と前回の送信要求を受けた時刻と送信基準周期と前回の剰余時間を基に、今回の送信パケットの数及び今回の剰余時間を計算する計算ステップと、前記計算ステップで計算された数の送信パケットを送信する送信ステップと、を送信要求を受ける度に行なうことを特徴とするパケット送信方法が提供される。
【００１２】
上記のパケット送信方法において、前記計算ステップは、前記今回の送信要求を受けた時刻から前記前回の送信要求を受けた時刻を減算することにより今回の期間を求めるステップと、前記今回の期間に前記前回の剰余時間を加算することにより補正後期間を求めるステップと、前記補正後期間を前記送信基準周期により整数除算して、その商を前記今回の送信パケットの数として求め、その剰余を前記今回の剰余時間として求めるステップと、を備えるようにしてもよい。
【００１３】
上記のパケット送信方法において、前記計算ステップは、前記今回の送信要求を受けた時刻から前記前回の送信要求を受けた時刻を減算することにより今回の期間を求めるステップと、前記今回の期間に前記前回の剰余時間を加算することにより補正後期間を求めるステップと、前記補正後期間に入れられることが可能な送信基準周期の最大数を前記今回の送信パケットの数として求めるステップと、前記補正後期間から前記送信基準周期と前記送信パケット数の積を減算することにより今回の剰余時間を求めるステップと、を備えるようにしてもよい。
【００１４】
上記のパケット送信方法において、前記送信基準周期は、前記送信パケット内のデータサイズと前記リアルタイム性を維持するために必要な伝送レートに基づいて計算されたものであるようにしてもよい。
【００１５】
上記のパケット送信方法において、送信するべきデータを基に、前記計算ステップで計算された数の前記送信パケットを作成するパケット作成ステップを前記送信要求を受ける度に更に行ない、前記送信ステップでは、前記パケット作成ステップで作成された前記送信パケットを送信するようにしてもよい。
【００１６】
本発明の第２の観点によれば、基準となる送信要求を受けた時刻から個々の送信要求を受けた時刻までの期間に挿入することが可能な送信基準周期の最大整数を、前記個々の送信要求に対応した累積送信パケット数とし、今回の送信要求に対応した送信パケット数を該今回の送信要求に対応した累積送信パケット数から直前回の送信要求に対応した累積送信パケット数を差し引くことにより求める計算ステップと、前記今回の送信要求に対応して、前記計算ステップで計算された数の送信パケットを送信する送信ステップと、を送信要求を受ける度に行なうことを特徴とするパケット送信方法が提供される。
【００１７】
上記のパケット送信方法において、前記今回の送信要求に対応した累積送信パケット数を、直後回の送信要求を受けた場合における直前回の送信要求に対応した累積送信パケット数として保存しておき、前記直後回の送信要求を受けた場合に直前回の送信要求に対応した累積送信パケット数として利用するステップを更に備えるようにしてもよい。
【００１８】
上記のパケット送信方法において、前記送信基準周期は、前記送信パケット内のデータサイズと前記リアルタイム性を維持するために必要な伝送レートに基づいて計算されたものであるようにしてもよい。
【００１９】
上記のパケット送信方法において、送信するべきデータを基に、前記計算ステップで計算された数の前記送信パケットを作成するパケット作成ステップを前記送信要求を受ける度に更に行ない、前記送信ステップでは、前記パケット作成ステップで作成された前記送信パケットを送信するようにしてもよい。
【発明の効果】
【００２０】
本発明によれば、今回の送信要求を受けた時刻と前回の送信要求を受けた時刻と送信基準周期と前回の剰余時間を基に、今回の送信パケットの数及び今回の剰余時間を計算する計算ステップと、前記計算ステップで計算された数の送信パケットを送信する送信ステップとを備えるので、送信パケットの数を送信要求の周期に応じて調整することができる。従って、パケット送信のための要求が出される周期が変動した場合であっても、パケットの平均的な送信間隔を一定に保つことが可能となる。特に、今回の送信要求の時刻と前回の送信要求の時刻のみならず、剰余時間も基にして送信パケットの数を計算し、その剰余時間を更新していくので、パケット送信のための要求が出される周期が変動した場合であっても、パケットの平均的な送信間隔を一定に保つことが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００２２】
以下では、ＩＰボイスメールシステムを例に取り説明をするが、本発明はこれに限られるわけではなく、一般的なパケット送信システムまで含むものである。つまり、パケットは、ＩＰ網でのＲＴＰパケット以外のパケット（例えば、ＨＴＴＰ、ＦＴＰに従ったパケット、独自のプロトコルに従ったパケット）であっても良く、パケットのペイロードには音声データ以外のデータ（例えば、音楽データ、画像データ、字幕データ、テキストデータ）が乗せられていてもよい。
【００２３】
特に、本発明は、ＩＰボイスメールシステムに限らず、ソフトフォン及びＩＶＲ(Interactive Voice Response)装置（自動音声応答装置）など、機能実現のためにＲＴＰプロトコルを利用している装置すべてに適用することが可能である。
【００２４】
本実施形態においては、前回のＲＴＰパケット送信時刻から今回のＲＴＰパケット送信時刻までの経過時間を計算し、その経過時間に基づいて今回送信すべきＲＴＰパケットの数を計算する。
【００２５】
これにより、ＣＰＵに高負荷がかかっている時に従来ならば発生していた送信ＲＴＰパケットの数の不足を補充することが可能になり、受信端末で再生されるボイスメールがノイズや音飛びの無いクリアな音質のものになる。また、プログラムの処理能力によりボイスメールの音質が影響されることが軽減される。
【００２６】
図１に示すように、ＩＰボイスメールシステム１００は、送信端末からのＲＴＰパケットを受信するためのＲＴＰ受信部１０２、ＲＴＰ受信部１０２が受信したボイスメールデータを格納するためのボイスメールデータ格納部１０４、ボイスメールデータ格納部１０４に格納されているボイスメールデータを受信端末２００に送信するためのＲＴＰ送信部１０６、通話の開始・切断並びに送信端末情報及び受信端末情報を制御するための呼処理部１０８及びボイスメールサービスを制御するボイスメールサービス制御部１１０を備える。
【００２７】
ＲＴＰ送信部１０６は、タイマ割込みがある度に今回送出するべきＲＴＰパケットの数を計算するためのＲＴＰ計算部１０６−１、計算された数のＲＴＰパケットを作成するためのＲＴＰパケット作成部１０６−２及び作成されたＲＴＰパケットを送信するためのＲＴＰパケット送信部１０６−３を備える。
【００２８】
ＲＴＰ送信部１０６は、呼処理部１０８から受信端末情報や送信するべきボイスメールデータを特定するための情報を取得した後、他のプログラムの待ち合わせ処理を利用して周期的にＲＴＰパケットを受信端末２００に送信する。
【００２９】
ＲＴＰ送信部１０６の内部における処理を次に説明する。ＲＴＰ送信部１０６は、本実施形態では、コンピュータがプログラムを実行することにより実現されることとするが、ハードウェアによって実現されてもよい。
【００３０】
ＲＴＰ計算部１０６−１は、今回のタイマ割込みに対応して送出するべきＲＴＰパケットの数を計算する。また、ＲＴＰパケットの数を次回以降正確に計算するために、計算で生じた剰余時間を保持しておき、直後回の計算に反映させる。
【００３１】
ＲＴＰ計算部１０６−１で割込みの度に算出されたＲＴＰパケットの数に基づいて、ＲＴＰパケット作成部１０６−２及びＲＴＰパケット送信部１０６−３による一連の処理を、割込みの度にその算出された数だけ繰り返すことにより、受信端末２００にＲＴＰパケットを送信する。
【００３２】
ＲＴＰパケット作成部１０６−２は、送信するべきボイスメールデータをボイスメールデータ格納部１０４から読み出し、それに対しＲＴＰヘッダ等を付加することによりＲＴＰパケットを作成する。作成するＲＴＰパケットの数は、ＲＴＰ計算部１０６−１で計算された数である。ここで、各ＲＴＰパケットについての送信するべきボイスメールデータとは、受信端末２００に送信するべきボイスメールデータ全体のうちの前回までに送信した部分に続くデータであって、予め定められた量（ＲＴＰパケットの固定長のペイロードに乗せるべき量）のデータである。
【００３３】
ＲＴＰパケット送信部１０６−３は、ＲＴＰパケット作成部１０６−２で作成されたＲＴＰパケットを実際に受信端末２００に送信する。
【００３４】
以上の処理により、送信すべきＲＴＰパケットの数の不足が生じないようになり、受信端末２００において出力されるボイスメールはクリアな音質のものになる。なお、受信端末２００には、受信したＲＴＰパケットに含まれるボイスメールデータを一時記憶するためのバッファが備わっており、ＲＴＰパケットの送信間隔のゆらぎによる時間変動は、このバッファにより吸収される。
【００３５】
次に、図２を参照して、ＲＴＰ送信部１０６により行なわれる、ＲＴＰパケットの送信方法について説明する。ＲＴＰパケットの送信方法には、ＲＴＰ計算部１０６−１で行なわれる、送信パケットの数の計算の方法が含まれる。
【００３６】
（１）  ＲＴＰ送信部１０６は、他のプログラムの待ち合わせ処理を利用して、タイマ割込みにより周期的に起動される。但し、送信するＲＴＰパケット内のボイスメールデータのサイズｓｉｚｅ及びリアルタイム性を維持するのに必要なボイスメールデータの伝送レートｒａｔｅに基づいて求めた所定の周期Ｐｔ（＝ｒａｔｅ／ｓｉｚｅ）（送信基準周期）でＲＴＰパケットを送信することを想定しているので、タイマ割込みの実際の周期は送信基準周期未満になることはない。しかし、ＣＰＵの負荷が大きいと、他のプログラムの実行空き時間までタイマ割込みが遅延されるので、タイマ割込みの実際の個々の周期は想定された周期より長くなることがある。
【００３７】
（２）  ＲＴＰ計算部１０６−１は、現在の時刻を変数Ｔｍ２に格納する。
【００３８】
（３）  ＲＴＰ計算部１０６−１は、変数Ｔｍ２から、前回のＲＴＰ送信時の時刻Ｔｍ１を引いて得られる補正前期間を変数Ｔｍ３に格納する。
【００３９】
Ｔｍ３  ＝  Ｔｍ２  −  Ｔｍ１
（４）  ＲＴＰ計算部１０６−１は、前回タイマ起動された時に下記（５）で計算した変数である剰余時間ｇ＿ｍｏｄと今回タイマ起動された時に上記（３）で計算した補正前期間Ｔｍ３との和である補正後期間をＲＴＰパケットの送信基準周期Ｐｔで整数除算し、それにより得られた商（整数値）をＲＴＰパケット送信数として変数Ｃｎｔに格納する。
【００４０】
Ｃｎｔ  ＝  （Ｔｍ３  ＋  ｇ＿ｍｏｄ）  ／  Ｐｔ
（５）  ＲＴＰ計算部１０６−１は、前回タイマ起動された時にこの（５）で計算した変数である剰余時間ｇ＿ｍｏｄと今回タイマ起動された時に上記（３）で計算された補正前期間Ｔｍ３との和である補正後期間をＲＴＰパケットの送信基準周期Ｐｔで整数除算し、それにより得られた剰余時間を新たな剰余時間として変数ｇ＿ｍｏｄに格納する。
【００４１】
ｇ＿ｍｏｄ  ＝  （Ｔｍ３  ＋  ｇ＿ｍｏｄ）  ％  Ｐｔ
なお、
ｇ＿ｍｏｄ  ＝  （Ｔｍ３  ＋  ｇ＿ｍｏｄ）  −  Ｐｔ  ×  Ｃｎｔ
により求めても同一の結果が得られる。
【００４２】
（６）  ＲＴＰ送信部１０６は、現在の時刻Ｔｍ２を変数Ｔｍ１に代入することにより直後回のタイマ起動時のために保持しておく。従って、次回タイマ起動された時には、現在の時刻Ｔｍ２は、前回の時刻Ｔｍ１として利用される。
【００４３】
（７）  ＲＴＰパケット作成部１０６−２は、ＲＴＰパケットを１つ作成する。
【００４４】
（８）  ＲＴＰパケット送信部１０６−３は、（７）で作成した１つのＲＴＰパケットを受信端末２００に送信する。
【００４５】
但し、（７）及び（８）は、ＲＴＰ計算部１０６−１で計算された送信パケットの数Ｃｎｔだけ繰り返す。これにより、Ｃｎｔ個のＲＴＰパケットが送信される。
【００４６】
図３は、本実施形態の効果を示す動作例を示すタイミング図である。
【００４７】
本来ならば、１つのＲＴＰパケットに１６０バイトのボイスメールデータを入れて、２０ｍｓ毎にＲＴＰパケットを送信することが想定されている（送信基準周期Ｐｔ＝２０ｍｓ）。
【００４８】
しかし、実際には、ＣＰＵの負荷が大きいために、タイマ割込みが２０ｍｓ毎に正確に発生しない。すなわち、図３に示すように、期間Ｔ１、Ｔ２、Ｔ５は、２０ｍｓであるが、期間Ｔ３、Ｔ４は３０ｍｓであり、期間Ｔ６は４０ｍｓとなってしまう。
【００４９】
次に、各時刻毎の計算値を示す。
（ａ）ｔ１＝０ｍｓ
Ｔｍ１＝  ０ｍｓ
（ｂ）ｔ２＝２０ｍｓ
Ｔｍ２＝２０ｍｓ
Ｔｍ３＝２０ｍｓ−０ｍｓ＝２０ｍｓ
Ｃｎｔ＝（２０ｍｓ＋０ｍｓ）／２０ｍｓ＝１個
ｇ＿ｍｏｄ＝（２０ｍｓ＋０ｍｓ）％２０ｍｓ＝０ｍｓ
Ｔｍ１＝Ｔｍ２＝２０ｍｓ
（ｃ）ｔ３＝４０ｍｓ
Ｔｍ２＝４０ｍｓ
Ｔｍ３＝４０ｍｓ−２０ｍｓ＝２０ｍｓ
Ｃｎｔ＝（２０ｍｓ＋０ｍｓ）／２０ｍｓ＝１個
ｇ＿ｍｏｄ＝（２０ｍｓ＋０ｍｓ）％２０ｍｓ＝０ｍｓ
Ｔｍ１＝Ｔｍ２＝４０ｍｓ
（ｄ）ｔ３＝７０ｍｓ
Ｔｍ２＝７０ｍｓ
Ｔｍ３＝７０ｍｓ−４０ｍｓ＝３０ｍｓ
Ｃｎｔ＝（３０ｍｓ＋０ｍｓ）／２０ｍｓ＝１個
ｇ＿ｍｏｄ＝（３０ｍｓ＋０ｍｓ）％２０ｍｓ＝１０ｍｓ
Ｔｍ１＝Ｔｍ２＝７０ｍｓ
（ｅ）ｔ３＝１００ｍｓ
Ｔｍ２＝１００ｍｓ
Ｔｍ３＝１００ｍｓ−７０ｍｓ＝３０ｍｓ
Ｃｎｔ＝（３０ｍｓ＋１０ｍｓ）／２０ｍｓ＝２個
ｇ＿ｍｏｄ＝（３０ｍｓ＋１０ｍｓ）％２０ｍｓ＝０ｍｓ
Ｔｍ１＝Ｔｍ２＝１００ｍｓ
（ｆ）ｔ３＝１２０ｍｓ
Ｔｍ２＝１２０ｍｓ
Ｔｍ３＝１２０ｍｓ−１００ｍｓ＝２０ｍｓ
Ｃｎｔ＝（２０ｍｓ＋０ｍｓ）／２０ｍｓ＝１個
ｇ＿ｍｏｄ＝（２０ｍｓ＋０ｍｓ）％２０ｍｓ＝０ｍｓ
Ｔｍ１＝Ｔｍ２＝１２０ｍｓ
（ｇ）ｔ３＝１６０ｍｓ
Ｔｍ２＝１６０ｍｓ
Ｔｍ３＝１６０ｍｓ−１２０ｍｓ＝４０ｍｓ
Ｃｎｔ＝（４０ｍｓ＋０ｍｓ）／２０ｍｓ＝２個
ｇ＿ｍｏｄ＝（４０ｍｓ＋０ｍｓ）％２０ｍｓ＝０ｍｓ
Ｔｍ１＝Ｔｍ２＝１６０ｍｓ
以上の計算値より、図３に示すように、期間Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ６では、それぞれ、１つのＲＴＰパケットが送信されるが、期間Ｔ５、Ｔ７では、それぞれ、２つのＲＴＰパケットが送信されるようになる。
【００５０】
従って、タイマ割込みの発生時刻が遅れた場合であっても、それに応じて、送信するＲＴＰパケット数が調整され、従って、受信端末２００で受信したボイスメールデータに不足が生ずることを防止できる。
【００５１】
上述した計算方法は、漸化式の表現を利用したものであり、逐次処理に適しているが、下記のような計算方法でも同一の結果を得ることができる。
【００５２】
すなわち、送信要求のためのタイマ割込みが発生する時刻をｔ（０）、ｔ（１）、ｔ（２）、・・・とし、時刻ｔ（ｉ）に対応した送信パケット数をＣ（ｉ）、時刻ｔ（ｉ）に対応した剰余をＲ（ｉ）、切り捨てによる整数化のための関数をＦ［・］とすると、Ｃ（ｉ）とＲ（ｉ）は、下記のようになる。
【００５３】
Ｃ（１）＝Ｆ［（（ｔ（１）−ｔ（０））／Ｐｔ）］
Ｒ（１）＝（ｔ（１）−ｔ（０））−Ｃ（１）・Ｐｔ
Ｃ（２）＝Ｆ［（ｔ（２）−ｔ（１）＋Ｒ（１））／Ｐｔ］
＝Ｆ［（ｔ（２）−ｔ（０））／Ｐｔ］−Ｃ（１）
Ｒ（２）＝（ｔ（２）−ｔ（１）＋Ｒ（１））−Ｃ（２）・Ｐｔ
＝ｔ（２）−ｔ（０）−（Ｃ（１）＋Ｃ（２））・Ｐｔ
Ｃ（３）＝Ｆ［（ｔ（３）−ｔ（２）＋Ｒ（２））／Ｐｔ］
＝Ｆ［（ｔ（３）−ｔ（０））／Ｐｔ］−（Ｃ（１）＋Ｃ（２））
これを一般式で表すと、
Ｒ（ｎ）＝ｔ（ｎ）−ｔ（０）−（Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ））・Ｐｔ
Ｃ（ｎ）＝Ｆ［（ｔ（ｎ）−ｔ（０））／Ｐｔ］−（Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ−１））
すなわち、任意のタイマ割込みを基準タイマ割込みとして選び、その番号を基準を表すゼロとし、それが発生する時刻を基準時刻ｔ（０）とすると、それ以降のｎ番目のタイマ割込みが発生する時刻をｔ（ｎ）と表すことができる。
【００５４】
そうすると、ｎ番目のタイマ割込みに対応する送信パケット数Ｃ（ｎ）は、基準時刻ｔ（０）から時刻ｔ（ｎ）までの期間（ｔ（ｎ）−ｔ（０））に挿入可能な送信基準周期Ｐｔの最大数である
Ｆ［（ｔ（ｎ）−ｔ（０））／Ｐｔ］
から「基準タイマ割込みとｎ番目のタイマ割込みの間にあるタイマ割込み（ｎ＝１、２、・・・、ｎ−１の割込み）に対応した送信パケット数Ｃ（１）、Ｃ（２）、・・・、Ｃ（ｎ−１）であって、Ｃ（ｎ）を計算する方法と同様な方法によって算出されたものの合計：
Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ−１）」
を差し引くことにより計算することができる。
【００５５】
また、
Ｃ（ｎ）＝Ｆ［（ｔ（ｎ）−ｔ（０））／Ｐｔ］−（Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ−１））
においてｎを（ｎ＋１）に変更することにより、
Ｃ（ｎ＋１）＝Ｆ［（ｔ（ｎ＋１）−ｔ（０））／Ｐｔ］−（Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ））
を得ることができる。従って、上の２式より、
Ｃ（ｎ＋１）＝Ｆ［（ｔ（ｎ＋１）−ｔ（０））／Ｐｔ］−（Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ−１））
−Ｆ［（ｔ（ｎ）−ｔ（０））／Ｐｔ］−（Ｃ（１）＋Ｃ（２）＋・・・＋Ｃ（ｎ−１））
＝Ｆ［（ｔ（ｎ＋１）−ｔ（０））／Ｐｔ］−Ｆ［（ｔ（ｎ）−ｔ（０））／Ｐｔ］
となる。ｎ＋１をｎにしても一般性は失われないので、上式を下式のように表すことができる。
【００５６】
Ｃ（ｎ）＝Ｆ［（ｔ（ｎ）−ｔ（０））／Ｐｔ］−Ｆ［（ｔ（ｎ−１）−ｔ（０））／Ｐｔ］
＝Ａ（ｎ）−Ａ（ｎ−１）
ただし、
Ａ（ｉ）＝Ｆ［（ｔ（ｉ）−ｔ（０））／Ｐｔ］
すなわち、基準となるタイマ割込みの時刻ｔ（０）から個々のタイマ割込みの時刻ｔ（ｉ）までの期間に挿入することが可能な送信基準周期Ｐｔの最大整数を、個々のタイマ割込みに対応した累積送信パケット数Ａ（ｉ）とすると、ｎ番目のタイマ割込みの時刻ｔ（ｎ）に対応した送信パケット数Ｃ（ｎ）を、
Ｃ（ｎ）＝Ａ（ｎ）−Ａ（ｎ−１）
と表すことができる。
【００５７】
従って、送信要求のタイマ割込みがあったならば、ＲＴＰ計算部１０６−１は、今回のタイマ割込みに対応した累積送信パケット数Ａ（ｎ）と直前回のタイマ割込みに対応した累積送信パケット数Ａ（ｎ−１）を計算し、今回のタイマ割込みに対応した送信パケット数Ｃ（ｎ）をＡ（ｎ）からＡ（ｎ−１）を差し引くことにより求めることができる。また、Ａ（ｎ）を直後回にＡ（ｎ−１）として利用するために保存して、直後回にこのＡ（ｎ−１）を読み出して、これにより、直後回にＡ（ｎ−１）の計算を省略するようにしてもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施形態によるＩＰボイスメールシステムの構成を示すブロック図である。
【図２】図１に示すＲＴＰ送信部により行なわれるＲＴＰパケットの送信方法を示すフローチャートである。
【図３】図１に示すＲＴＰ送信部により行なわれるＲＴＰパケットの送信方法の効果を説明するための実働例のタイミング図である。
【符号の説明】
【００５９】
１００  ＩＰボイスメールシステム
１０２  ＲＴＰ受信部
１０４  ボイスメールデータ
１０６  ＲＴＰ送信部
１０６−１  ＲＴＰ計算部
１０６−２  ＲＴＰパケット作成部
１０６−３  ＲＴＰパケット送信部
１０８  呼処理部
１１０  ボイスメールサービス制御部
２００  受信端末
【図１】
0004593405.tif 000002
【図２】
0004593405.tif 000003
【図３】
0004593405.tif 000004