(57)【要約】【課題】命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で実行対象処理を実行するときに、平均して一定時間間隔でリアルタイム処理を行うことができるリアルタイム処理装置及びリアルタイム制御方法並びにそのプログラムと情報記憶媒体を提供する。【解決手段】パケット読み出し処理の開始目標であるＴａｒｇｅｔＴｉｍｅと、実際にパケット読みだし処理が開始されたＳｔａｒｔＴｉｍｅとの誤差ＥＲＲ及び実際にパケット読み出し処理に要した時間を考慮してＳｌｅｅｐＴｉｍｅを設定してＳｌｅｅｐ命令を実行する。また、次のＴａｒｇｅｔＴｉｍｅが過去の時刻になる場合にはそのまま継続して処理を行う。さらに、バッファ内のパケット数が許容最大値Ｎｍａｘを超えたときにはバッファをクリアして遅延回復処理をリセットする。【選択図】  図２
2004320237.tif 000002
【特許請求の範囲】
【請求項１】
所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置からなり、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行するリアルタイム処理装置において、
前記実行対象処理を実行した後、前記処理休止命令を設定するときに、前記実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間を前記休止時間として設定する手段を備えた
ことを特徴とするリアルタイム処理装置。
【請求項２】
現在時刻取得手段と、
前記実行対象処理を次に開始すべき時刻を実行開始目標時刻となして、装置起動直後に前記実行開始目標時刻を現在時刻に設定して保持する手段と、
前記実行対象処理の実行を開始した時刻を実行開始時刻として、該実行開始時刻から前記保持されている実行開始目標時刻を差し引いた時間を誤差時間として算出する手段と、
前記実行開始時刻に前記一定時間を加算すると共に該加算結果の時刻から前記誤差時間を差し引いた時刻を新たな実行開始目標時刻として設定して保持する手段と、
前記実行対象処理を終了した時刻を実行終了時刻とし、前記保持している実行開始目標時刻から前記実行終了時刻を差し引いた時間を前記休止時間となして前記処理休止命令を実行する手段とを備えた
ことを特徴とする請求項１に記載のリアルタイム処理装置。
【請求項３】
前記算出した休止時間が負の値のときは、前記休止命令の実行を中止する手段を備えた
ことを特徴とする請求項１に記載のリアルタイム処理装置。
【請求項４】
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記休止命令の実行を中止し、前記実行対象処理を初期化した後に前記実行対象処理を実行する手段を備えた
ことを特徴とする請求項１に記載のリアルタイム処理装置。
【請求項５】
前記算出した休止時間が負の値のときは、前記休止命令の実行を中止する手段を備えた
ことを特徴とする請求項２に記載のリアルタイム処理装置。
【請求項６】
所定の条件を満たしたときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段とを備えた
ことを特徴とする請求項２に記載のリアルタイム処理装置。
【請求項７】
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段を備えた
ことを特徴とする請求項６に記載のリアルタイム処理装置。
【請求項８】
所定の条件を満たしたときに、前記実行対象処理の処理対象を初期化する手段を備えた
ことを特徴とする請求項６または請求項７に記載のリアルタイム処理装置。
【請求項９】
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行対象処理の処理対象を初期化する手段を備えた
ことを特徴とする請求項８に記載のリアルタイム処理装置。
【請求項１０】
前記実行対象処理は、記憶手段内に記憶されている情報を読み出す処理を含み、
外部装置から所定の情報を順次取得する手段と、
前記取得した情報を記憶する記憶手段と、
前記記憶手段内の情報のうちの前記読み出した情報を前記記憶手段から消去する手段とを備えた
ことを特徴とする請求項１乃至請求項９の何れかに記載のリアルタイム処理装置。
【請求項１１】
前記記憶手段に記憶されている情報が無いときに、当該実行開始時刻を前記実行開始目標時刻として設定した後に前記誤差時間を算出する手段を備えた
ことを特徴とする請求項１０に記載のリアルタイム処理装置。
【請求項１２】
前記記憶手段に記憶されている情報の量が一定量を超えたときに、前記記憶手段に記憶されている情報全て消去すると共に、当該実行開始時刻を前記実行開始目標時刻として設定した後に、前記誤差時間を算出する手段を備えた
ことを特徴とする請求項１１に記載のリアルタイム処理装置。
【請求項１３】
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を全て消去する手段と、
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段とを備えた
ことを特徴とする請求項１０乃至請求項１２の何れかに記載のリアルタイム処理装置。
【請求項１４】
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を該休止時間の絶対値に比例する量だけ消去する手段と、
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段とを備えた
ことを特徴とする請求項１０乃至請求項１２の何れかに記載のリアルタイム処理装置。
【請求項１５】
前記実行対象処理を実行する手段は、前記記憶手段に記憶されている情報の量が所定量を超えたときに前記実行対象処理を実行する手段を有する
ことを特徴とする請求項１０乃至請求項１４の何れかに記載のリアルタイム処理装置。
【請求項１６】
前記外部装置から取得する情報をパケットで取得する手段を有する
ことを特徴とする請求項１０乃至請求項１５の何れかに記載のリアルタイム処理装置。
【請求項１７】
前記パケットは音声データを含むことを特徴とする請求項１６に記載のリアルタイム処理装置。
【請求項１８】
前記音声データに基づく音声を出力する手段を有する
ことを特徴とする請求項１７に記載のリアルタイム処理装置。
【請求項１９】
所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置が、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行するリアルタイム処理方法において、
前記コンピュータ装置は、前記実行対象処理を実行した後、前記処理休止命令を設定するときに、前記実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間を前記休止時間として設定する
ことを特徴とするリアルタイム処理方法。
【請求項２０】
前記コンピュータ装置は、
前記実行対象処理を次に開始すべき時刻を実行開始目標時刻となして、装置起動直後に前記実行開始目標時刻を現在時刻に設定して保持し、
前記実行対象処理の実行を開始した時刻を実行開始時刻として、該実行開始時刻から前記保持されている実行開始目標時刻を差し引いた時間を誤差時間として算出し、
前記実行開始時刻に前記一定時間を加算すると共に該加算結果の時刻から前記誤差時間を差し引いた時刻を新たな実行開始目標時刻として設定し、
前記実行対象処理を終了した時刻を実行終了時刻とし、
前記保持している実行開始目標時刻から前記実行終了時刻を差し引いた時間を前記休止時間となして前記処理休止命令を実行する
ことを特徴とする請求項１９に記載のリアルタイム処理方法。
【請求項２１】
前記コンピュータ装置は、前記算出した休止時間が負の値のときに前記休止命令の実行を中止する
ことを特徴とする請求項１９に記載のリアルタイム処理方法。
【請求項２２】
前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記休止命令の実行を中止し、前記実行対象処理を初期化した後に前記実行対象処理を実行する
ことを特徴とする請求項１９に記載のリアルタイム処理方法。
【請求項２３】
前記コンピュータ装置は、前記算出した休止時間が負の値のときに前記休止命令の実行を中止する
ことを特徴とする請求項２０に記載のリアルタイム処理方法。
【請求項２４】
前記コンピュータ装置は、所定の条件を満たしたときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する
ことを特徴とする請求項２０に記載のリアルタイム処理方法。
【請求項２５】
前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する
ことを特徴とする請求項２４に記載のリアルタイム処理方法。
【請求項２６】
前記コンピュータ装置は、所定の条件を満たしたときに、前記実行対象処理の処理対象を初期化する
ことを特徴とする請求項２４または請求項２５に記載のリアルタイム処理方法。
【請求項２７】
前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行対象処理の処理対象を初期化する
ことを特徴とする請求項２６に記載のリアルタイム処理方法。
【請求項２８】
前記コンピュータ装置は、
外部装置から所定の情報を順次取得し、
前記取得した情報を記憶手段に記憶し、
前記記憶手段内の情報のうちの前記読み出した情報を前記記憶手段から消去する
ことを特徴とする請求項１９乃至請求項２７の何れかに記載のリアルタイム処理方法。
【請求項２９】
前記コンピュータ装置は、前記記憶手段に記憶されている情報が無いときに、当該実行開始時刻を前記実行開始目標時刻として設定した後に前記誤差時間を算出する
ことを特徴とする請求項２８に記載のリアルタイム処理方法。
【請求項３０】
前記コンピュータ装置は、前記記憶手段に記憶されている情報の量が一定量を超えたときに、前記記憶手段に記憶されている情報全て消去すると共に、当該実行開始時刻を前記実行開始目標時刻として設定した後に、前記誤差時間を算出する
ことを特徴とする請求項２９に記載のリアルタイム処理方法。
【請求項３１】
前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を全て消去し、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する
ことを特徴とする請求項２８乃至請求項３０の何れかに記載のリアルタイム処理方法。
【請求項３２】
前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を該休止時間の絶対値に比例する量だけ消去し、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する
ことを特徴とする請求項２８乃至請求項３０の何れかに記載のリアルタイム処理方法。
【請求項３３】
前記コンピュータ装置は、前記記憶手段に記憶されている情報の量が所定量を超えたときに前記実行対象処理を実行する
ことを特徴とする請求項２８乃至請求項３２の何れかに記載のリアルタイム処理方法。
【請求項３４】
前記コンピュータ装置は、前記外部装置から取得する情報をパケットで取得する
ことを特徴とする請求項２８乃至請求項３３の何れかに記載のリアルタイム処理方法。
【請求項３５】
前記パケットは音声データを含み、前記コンピュータ装置は前記音声データに基づく音声を出力する
ことを特徴とする請求項３４に記載のリアルタイム処理方法。
【請求項３６】
所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置に対して、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行させるリアルタイム処理プログラムにおいて、
前記コンピュータ装置に前記請求項１９乃至請求項３５の何れかに記載のリアルタイム処理を実行させるステップを含む
ことを特徴とするリアルタイム処理プログラム。
【請求項３７】
所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置に対して、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行させるリアルタイム処理プログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体において、
前記請求項３６に記載のリアルタイム処理プログラムが記憶されている
ことを特徴とするコンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、精度が保証されない時間処理手段を用いて定期的に処理を行う必要がある場合に、精度に関わらず平均して一定の時間間隔でリアルタイム処理を行うリアルタイム処理装置及びリアルタイム制御方法並びにそのプログラムと情報記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、電子機器のディジタル化に伴い、情報通信においては転送対象となる情報をパケット化して転送することが一般的に行われている。例えば、音声信号を転送する場合には、送信側では、所定のサンプリング周波数にてサンプリングした音声データを所定量ずつ別個のパケットに分散して収納し、パケット単位で転送を行っている。受信側においては、受信したパケットから音声データを取りだし、取り出した音声データを繋ぎ合わせて再生する。
【０００３】
即ち、上記のようなパケット通信を行う電子機器では、送信側においては１パケット分のデータが得られた段階でパケットを形成して送信する処理を行い、受信側では受け取ったパケットに収納されているデータの再生に要する時間毎にパケット内のデータを読み出す処理を行っている。これにより、受信側では、例えば音声データのリアルタイム転送の場合、分割して受け取った複数のパケットから連続した音声を再生することができる。
【０００４】
この様なパケット通信は、ほとんどの場合コンピュータ装置を使用して行っており、例えば、無線通信を利用した携帯型電話機やインターネット等の通信網を利用した周知のＩＰ電話、配信サーバから音楽などのコンテンツをユーザ端末装置に配信するシステム、及び遠隔会議システムなどに用いられている。
【０００５】
一方、上記のようなパケット処理を行うコンピュータ装置は、所定のオペレーティングシステムソフトウエアをベースとして動作し、命令設定後に該命令によって設定した休止時間以上の時間が経過してから処理を実行する処理休止命令、例えばＳｌｅｅｐ命令などを用いて一定時間間隔でパケットの生成処理やパケットからのデータ読み出し処理を実行している。
【０００６】
【特許文献１】
特開２０００−２８６８８６号公報
【特許文献２】
特開２００１−４５０６７号公報
【特許文献３】
特開２００２−２０４２５８号公報
【特許文献４】
特開２００１−２７４８２９号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、例えば２０ｍｓの平均一定時間間隔でリアルタイム処理を行う場合、上記のＳｌｅｅｐ命令のような精度が保証されない時間処理命令を用いると、２０ｍｓ以上のＳｌｅｅｐ時間しか保証されていない。即ち、コンピュータ装置における処理負荷が高い場合にはＳｌｅｅｐ時間として２０ｍｓを設定したとしても、２０ｍｓを超えた３０ｍｓ後に処理が行われることもある。このため、上記のようなパケット処理を行うコンピュータ装置において、処理負荷が高い場合には平均２０ｍｓ間隔で精度の高い実時間処理を行うことが困難であった。
【０００８】
また、パケット受信側のコンピュータ装置において処理負荷が高い状態になり、一旦受信バッファに蓄積されたパケットの処理が追いつかなくなると、処理の遅れを取り戻すために非常に長い間連続で動作しなければならなくなり、この処理遅れが増大すると、もはやリアルタイム処理ではなくなるという問題点があった。
【０００９】
本発明の目的は上記の問題点に鑑み、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で実行対象処理を実行するときに、平均して一定時間間隔でリアルタイム処理を行うことができるリアルタイム処理装置及びリアルタイム制御方法並びにそのプログラムと情報記憶媒体を提供することである。
【００１０】
【課題を解決するための手段】
本発明は上記の目的を達成するために、実行対象処理の開始目標とする実行開始目標時刻と、実際に実行対象処理が開始された時刻との誤差、及び実際に処理に要した時間を考慮して次の実行開始目標時刻を設定することにより一定時間間隔で前記実行対象処理を実行するようにした。また、本発明では、次の実行開始目標時刻を設定する際に、次の実行開始目標時刻が過去の時刻になってしまう場合には、そのまま継続して処理を行うようにした。さらに、本発明は、上記に加えて特定の条件下では、前記実行対象処理の処理遅延の回復を行わないようにした。
【００１１】
これにより、例えば精度の保証されないＳｌｅｅｐ命令等を用いて平均して目標の時間間隔でリアルタイム処理を行うとき、高負荷時に遅延の回復が見込めないような場合にも、遅延回復処理をリセットして状態を一致させることで、システムが破綻しないようにして最大の遅延を制御することができる。
【００１２】
本発明は上記の目的を達成するために、所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置からなり、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行するリアルタイム処理装置において、前記実行対象処理を実行した後、前記処理休止命令を設定するときに、前記実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間を前記休止時間として設定する手段を備えたリアルタイム処理装置を提案する。
【００１３】
本発明のリアルタイム処理装置によれば、前記一定時間間隔で前記実行対象処理を実行するために、実行対象処理を実行した後、前記処理休止命令を設定するとき、前記実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間が前記休止時間として設定される。これにより、前記実行対象処理の開始時刻と次に行われる実行対象処理の開始時刻との間の時間は一定時間となる。
【００１４】
また、本発明は、上記構成のリアルタイム処理装置において、現在時刻取得手段と、前記実行対象処理を次に開始すべき時刻を実行開始目標時刻となして、装置起動直後に前記実行開始目標時刻を現在時刻に設定して保持する手段と、前記実行対象処理の実行を開始した時刻を実行開始時刻として、該実行開始時刻から前記保持されている実行開始目標時刻を差し引いた時間を誤差時間として算出する手段と、前記実行開始時刻に前記一定時間を加算すると共に該加算結果の時刻から前記誤差時間を差し引いた時刻を新たな実行開始目標時刻として設定して保持する手段と、前記実行対象処理を終了した時刻を実行終了時刻とし、前記保持している実行開始目標時刻から前記実行終了時刻を差し引いた時間を前記休止時間となして前記処理休止命令を実行する手段とを備えたリアルタイム処理装置を提案する。
【００１５】
本発明のリアルタイム処理装置によれば、前記実行対象処理を実行するのに要した時間に加え、前記実行対象処理を実際に開始した時刻と前記実行対象処理の実行開始目標時刻との差を誤差時間とし、これらの時間の合計を前記一定時間から差し引いた時間が前記休止時間として設定される。このため、前記実行開始目標時刻に対する、前記誤差時間による処理遅延などの前記実行対象処理の処理開始のずれを低減することができる。
【００１６】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値のときは、前記休止命令の実行を中止する手段を備えたリアルタイム処理装置を提案する。
【００１７】
本発明のリアルタイム処理装置によれば、前記算出した休止時間が負の値のときは、前記休止命令の実行が中止されて前記実行対象処理が継続して行われる。これにより、前記実行対象処理の処理遅延を低減することができる。
【００１８】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記休止命令の実行を中止し、前記実行対象処理を初期化した後に前記実行対象処理を実行する手段を備えたリアルタイム処理装置を提案する。
【００１９】
本発明のリアルタイム処理装置によれば、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときは、前記休止命令の実行が中止され、前記実行対象処理が初期化された後に前記実行対象処理が実行される。これにより、前記休止時間の絶対値が所定の許容最大値以上になったときは、遅延の回復は不可能であると判断され、前記実行対象処理が初期化されて実行される。
【００２０】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値のときは、前記休止命令の実行を中止する手段を備えたリアルタイム処理装置を提案する。
【００２１】
本発明のリアルタイム処理装置によれば、前記算出した休止時間が負の値のときは、前記休止命令の実行が中止されて前記実行対象処理が継続して行われる。これにより、前記実行対象処理の処理遅延を低減することができる。
【００２２】
また、本発明は、上記構成のリアルタイム処理装置において、所定の条件を満たしたときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段とを備えたリアルタイム処理装置を提案する。
【００２３】
本発明のリアルタイム処理装置によれば、所定の条件を満たしたときは、現時刻が実行開始目標時刻として設定保存されると共に休止命令の実行が中止され、前記実行対象処理が継続して行われるので、実行対象処理の処理遅延を低減することができる。
【００２４】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段を備えたリアルタイム処理装置を提案する。
【００２５】
本発明のリアルタイム処理装置によれば、休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときは、現時刻が実行開始目標時刻として設定保存される。これにより、実行対象処理が行うべき処理対象が所定量以上となり、負の休止時間の絶対値が許容最大値以上になったときには、前記実行対処理が継続して実施されるので、前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００２６】
また、本発明は、上記構成のリアルタイム処理装置において、所定の条件を満たしたときに、前記実行対象処理の処理対象を初期化する手段を備えたリアルタイム処理装置を提案する。
【００２７】
本発明のリアルタイム処理装置によれば、所定の条件を満たしたときは、実行対象処理の処理対象が初期化されて消去されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００２８】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行対象処理の処理対象を初期化する手段を備えたリアルタイム処理装置を提案する。
【００２９】
本発明のリアルタイム処理装置によれば、算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、実行対象処理の処理対象が初期化されて消去されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００３０】
また、本発明は、上記構成のリアルタイム処理装置において、前記実行対象処理は、記憶手段内に記憶されている情報を読み出す処理を含み、外部装置から所定の情報を順次取得する手段と、前記取得した情報を記憶する記憶手段と、前記記憶手段内の情報のうちの前記読み出した情報を前記記憶手段から消去する手段とを備えたリアルタイム処理装置を提案する。
【００３１】
本発明のリアルタイム処理装置によれば、外部装置から取得した情報が記憶手段に順次記憶され、記憶手段内の情報のうちの読み出された情報が前記記憶手段から消去される。これにより、前記記憶手段の記憶容量が有限であってもリアルタイム処理を継続することができる。
【００３２】
また、本発明は、上記構成のリアルタイム処理装置において、前記記憶手段に記憶されている情報が無いときに、当該実行開始時刻を前記実行開始目標時刻として設定した後に前記誤差時間を算出する手段を備えたリアルタイム処理装置を提案する。
【００３３】
本発明のリアルタイム処理装置によれば、前記記憶手段に記憶されている情報が無いときは、実行開始時刻が前記実行開始目標時刻として設定されて前記誤差時間が算出されるので、前記誤差時間は０となり、処理遅延が生ずることがない。
【００３４】
また、本発明は、上記構成のリアルタイム処理装置において、前記記憶手段に記憶されている情報の量が一定量を超えたときに、前記記憶手段に記憶されている情報全て消去すると共に、当該実行開始時刻を前記実行開始目標時刻として設定した後に、前記誤差時間を算出する手段を備えたリアルタイム処理装置を提案する。
【００３５】
本発明のリアルタイム処理装置によれば、前記記憶手段に記憶されている情報が一定量を超えたときは、前記記憶手段に記憶されている情報全て消去され、実行開始時刻が前記実行開始目標時刻として設定されて前記誤差時間が算出されるので、前記誤差時間は０となり、処理遅延が生ずることがない。
【００３６】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を全て消去する手段と、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段とを備えたリアルタイム処理装置を提案する。
【００３７】
本発明のリアルタイム処理装置によれば、算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、実行対象処理の処理対象が初期化されて消去され、さらに現在時刻が実行開始目標時刻として設定保持されると共に前記休止命令の実行が中止されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００３８】
また、本発明は、上記構成のリアルタイム処理装置において、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を該休止時間の絶対値に比例する量だけ消去する手段と、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止する手段とを備えたリアルタイム処理装置を提案する。
【００３９】
本発明のリアルタイム処理装置によれば、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報が該休止時間の絶対値に比例する量だけ消去されると共に、現在時刻が前記実行開始目標時刻として設定保持され、前記休止命令の実行が中止されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００４０】
また、本発明は、上記構成のリアルタイム処理装置において、前記実行対象処理を実行する手段は、前記記憶手段に記憶されている情報の量が所定量を超えたときに前記実行対象処理を実行する手段を有するリアルタイム処理装置を提案する。
【００４１】
本発明のリアルタイム処理装置によれば、前記記憶手段に記憶されている情報の量が所定量を超えたときに前記実行対象処理が実行されるため、リアルタイム処理装置に対して、前記実行対象処理によって連続した負荷がかかることがない。
【００４２】
また、本発明は、上記構成のリアルタイム処理装置において、前記外部装置から取得する情報をパケットで取得する手段を有するリアルタイム処理装置を提案する。
【００４３】
本発明のリアルタイム処理装置によれば、前記外部装置から取得する情報は、パケットによって転送されて取得される。
【００４４】
また、本発明は、上記構成のリアルタイム処理装置において、前記パケットは音声データを含むリアルタイム処理装置を提案する。
【００４５】
本発明のリアルタイム処理装置によれば、前記パケットには音声データが含まれ、音声データのリアルタイム処理が行われる。
【００４６】
さらに、本発明は、上記構成のリアルタイム処理装置において、前記音声データに基づく音声を出力する手段を有するリアルタイム処理装置を提案する。
【００４７】
本発明によれば、前記パケットによって取得した音声データに基づいて音声が出力される。
【００４８】
また、本発明は上記の目的を達成するために、所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置が、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行するリアルタイム処理方法において、前記コンピュータ装置は、前記実行対象処理を実行した後、前記処理休止命令を設定するときに、前記実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間を前記休止時間として設定するリアルタイム処理方法を提案する。
【００４９】
本発明のリアルタイム処理方法によれば、前記コンピュータ装置によって前記一定時間間隔で前記実行対象処理を実行するために、実行対象処理を実行した後、前記処理休止命令を設定するとき、前記実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間が前記休止時間として設定される。これにより、前記実行対象処理の開始時刻と次に行われる実行対象処理の開始時刻との間の時間は一定時間となる。
【００５０】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記実行対象処理を次に開始すべき時刻を実行開始目標時刻となして、装置起動直後に前記実行開始目標時刻を現在時刻に設定して保持し、前記実行対象処理の実行を開始した時刻を実行開始時刻として、該実行開始時刻から前記保持されている実行開始目標時刻を差し引いた時間を誤差時間として算出し、前記実行開始時刻に前記一定時間を加算すると共に該加算結果の時刻から前記誤差時間を差し引いた時刻を新たな実行開始目標時刻として設定し、前記実行対象処理を終了した時刻を実行終了時刻とし、前記保持している実行開始目標時刻から前記実行終了時刻を差し引いた時間を前記休止時間となして前記処理休止命令を実行するリアルタイム処理方法を提案する。
【００５１】
本発明のリアルタイム処理方法によれば、前記実行対象処理を実行するのに要した時間に加え、前記実行対象処理を実際に開始した時刻と前記実行対象処理の実行開始目標時刻との差を誤差時間とし、これらの時間の合計を前記一定時間から差し引いた時間が前記休止時間として設定される。このため、前記実行開始目標時刻に対する、前記誤差時間による処理遅延などの前記実行対象処理の処理開始のずれを低減することができる。
【００５２】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記算出した休止時間が負の値のときに前記休止命令の実行を中止するリアルタイム処理方法を提案する。
【００５３】
本発明のリアルタイム処理方法によれば、前記算出した休止時間が負の値のときは、前記休止命令の実行が中止されて前記実行対象処理が継続して行われる。これにより、前記実行対象処理の処理遅延を低減することができる。
【００５４】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記休止命令の実行を中止し、前記実行対象処理を初期化した後に前記実行対象処理を実行するリアルタイム処理方法を提案する。
【００５５】
本発明のリアルタイム処理方法によれば、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときは、前記休止命令の実行が中止され、前記実行対象処理が初期化された後に前記実行対象処理が実行される。これにより、前記休止時間の絶対値が所定の許容最大値以上になったときは、遅延の回復は不可能であると判断され、前記実行対象処理が初期化されて実行される。
【００５６】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記算出した休止時間が負の値のときに前記休止命令の実行を中止するリアルタイム処理方法を提案する。
【００５７】
本発明のリアルタイム処理方法によれば、前記算出した休止時間が負の値のときは、前記休止命令の実行が中止されて前記実行対象処理が継続して行われる。これにより、前記実行対象処理の処理遅延を低減することができる。
【００５８】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、所定の条件を満たしたときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止するリアルタイム処理方法を提案する。
【００５９】
本発明のリアルタイム処理方法によれば、所定の条件を満たしたときは、現時刻が実行開始目標時刻として設定保存されると共に休止命令の実行が中止され、前記実行対象処理が継続して行われるので、実行対象処理の処理遅延を低減することができる。
【００６０】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止するリアルタイム処理方法を提案する。
【００６１】
本発明のリアルタイム処理方法によれば、実行対象処理が行うべき処理対象が所定量以上となり、負の休止時間の絶対値が許容最大値以上になったときには、前記実行対処理が継続して実施されるので、前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００６２】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、所定の条件を満たしたときに、前記実行対象処理の処理対象を初期化するリアルタイム処理方法を提案する。
【００６３】
本発明のリアルタイム処理方法によれば、所定の条件を満たしたときは、実行対象処理の処理対象が初期化されて消去されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００６４】
また、本発明は、上記構成のリアルタイム処理方法において、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記実行対象処理の処理対象を初期化するリアルタイム処理方法を提案する。
【００６５】
本発明のリアルタイム処理方法によれば、算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、実行対象処理の処理対象が初期化されて消去されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００６６】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、外部装置から所定の情報を順次取得し、前記取得した情報を記憶手段に記憶し、前記記憶手段内の情報のうちの前記読み出した情報を前記記憶手段から消去するリアルタイム処理方法を提案する。
【００６７】
本発明のリアルタイム処理方法によれば、外部装置から取得した情報が記憶手段に順次記憶され、記憶手段内の情報のうちの読み出された情報が前記記憶手段から消去される。これにより、前記記憶手段の記憶容量が有限であってもリアルタイム処理を継続することができる。
【００６８】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記記憶手段に記憶されている情報が無いときに、当該実行開始時刻を前記実行開始目標時刻として設定した後に前記誤差時間を算出するリアルタイム処理方法を提案する。
【００６９】
本発明のリアルタイム処理方法によれば、前記記憶手段に記憶されている情報が無いときは、実行開始時刻が前記実行開始目標時刻として設定されて前記誤差時間が算出されるので、前記誤差時間は０となり、処理遅延が生ずることがない。
【００７０】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記記憶手段に記憶されている情報の量が一定量を超えたときに、前記記憶手段に記憶されている情報全て消去すると共に、当該実行開始時刻を前記実行開始目標時刻として設定した後に、前記誤差時間を算出するリアルタイム処理方法を提案する。
【００７１】
本発明のリアルタイム処理方法によれば、前記記憶手段に記憶されている情報が一定量を超えたときは、前記記憶手段に記憶されている情報全て消去され、実行開始時刻が前記実行開始目標時刻として設定されて前記誤差時間が算出されるので、前記誤差時間は０となり、処理遅延が生ずることがない。
【００７２】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を全て消去し、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止するリアルタイム処理方法を提案する。
【００７３】
本発明のリアルタイム処理方法によれば、算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、実行対象処理の処理対象が初期化されて消去され、さらに現在時刻が実行開始目標時刻として設定保持されると共に前記休止命令の実行が中止されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００７４】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報を該休止時間の絶対値に比例する量だけ消去し、前記実行開始目標時刻を現在時刻に設定して保持すると共に、前記休止命令の実行を中止するリアルタイム処理方法を提案する。
【００７５】
本発明のリアルタイム処理方法によれば、前記算出した休止時間が負の値であり、該休止時間の絶対値が所定の許容最大値以上になったときに、前記記憶手段に記憶されている情報が該休止時間の絶対値に比例する量だけ消去されると共に、現在時刻が前記実行開始目標時刻として設定保持され、前記休止命令の実行が中止されるので、連続した高負荷が装置にかかることがないと共に前記実行対象処理における所定量以上の遅延の発生を低減することができる。
【００７６】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記記憶手段に記憶されている情報の量が所定量を超えたときに前記実行対象処理を実行するリアルタイム処理方法を提案する。
【００７７】
本発明のリアルタイム処理方法によれば、前記記憶手段に記憶されている情報の量が所定量を超えたときに前記実行対象処理が実行されるため、リアルタイム処理装置に対して、前記実行対象処理によって連続した負荷がかかることがない。
【００７８】
また、本発明は、上記構成のリアルタイム処理方法において、前記コンピュータ装置は、前記外部装置から取得する情報をパケットで取得するリアルタイム処理方法を提案する。
【００７９】
本発明のリアルタイム処理方法によれば、前記外部装置から取得する情報は、パケットによって転送されて取得される。
【００８０】
また、本発明は、上記構成のリアルタイム処理方法において、前記パケットは音声データを含み、前記コンピュータ装置は前記音声データに基づく音声を出力するリアルタイム処理方法を提案する。
【００８１】
本発明のリアルタイム処理方法によれば、前記パケットには音声データが含まれ、音声データのリアルタイム処理が行われる。
【００８２】
また、本発明は上記の目的を達成するために、所定のオペレーティングシステムソフトウエアを搭載したコンピュータ装置に対して、命令設定後に該命令によって設定した休止時間以上の時間が経過してから所定の実行対象処理を実行する処理休止命令を用いて一定時間間隔で前記実行対象処理を実行させるリアルタイム処理プログラムにおいて、上記コンピュータ装置が行うリアルタイム処理方法を前記コンピュータ装置に実行させる処理ステップを含むリアルタイム処理プログラムを提案する。
【００８３】
さらに、本発明は、上記リアルタイム処理プログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体を提案する。
【００８４】
【発明の実施の形態】
以下、図面に基づいて本発明の一実施形態を説明する。
【００８５】
図１は、本発明の一実施形態におけるリアルタイム処理装置を示す構成図である。本実施形態では、リアルタイム（実時間）で音声通信を行う際に音声データを含むパケットをインターネット等の通信網を介して受信し、この音声データに基づいて音声出力する装置を一例として説明する。
【００８６】
図において、１はリアルタイム処理装置で、周知のコンピュータ装置からなり、ハードウェアとソフトウェアの両方によって構成され、予め設定されている所定のオペレーティングシステムソフトウエア上で働くプログラムによって動作する。
【００８７】
リアルタイム処理装置１は、パケット受信処理部１１と、ＦＩＦＯバッファ１２、パケット取り出し部１３、時計部１４、タイマー部１５、パケット再生処理部１６、音声出力部１７によって構成されている。
【００８８】
パケット受信処理部１１は、図示せぬ通信網を介して送信側のコンピュータ装置から送信された音声データを含むパケットを受信し、受信したパケットを順次、ＦＩＦＯバッファ１２に格納してゆく。
【００８９】
ＦＩＦＯバッファ１２は、パケット受信処理部１１から入力したパケットを入力した順に格納する。さらに、ＦＩＦＯバッファ１２は、パケット取り出し部１３からパケット取り出し要求を受けたときに、パケット受信処理部１１から入力した順に、格納しているパケットをパケット取り出し部１３に送出する。これにより、ＦＩＦＯバッファ１２からパケット取り出し部１３に送出されたパケットはＦＩＦＯバッファ１２内から消去される。
【００９０】
また、ＦＩＦＯバッファ１２は、パケット取り出し部１３からパケット数確認要求を受けたときに、格納しているパケットの数をパケット取り出し部１３に通知すると共に、パケット取り出し部１３からバッファクリア要求を受けたときに格納しているパケットを全て消去する。
【００９１】
パケット取り出し部１３は、時計部１４によって現在時刻を取得すると共にタイマー部によって計時を行い、後述するリアルタイム処理によって、一定時間間隔でＦＩＦＯバッファ１２からパケットを取り出し、取り出したパケットをパケット再生処理部１６に送出する。
【００９２】
時計部１４は、パケット取り出し部１３の要求の応じて現在時刻をパケット取り出し部１３に通知する。
【００９３】
タイマー部１５は、パケット取り出し部１３によって設定された時間を経過した後に、設定時間が経過したことをパケット取り出し部１３に通知する。
【００９４】
パケット再生処理部１６は、パケット取り出し部１３から取得したパケットから音声データを取りだして、この音声データを音声出力部１７に送出する。
【００９５】
音声出力部１７は、パケット再生処理部１６から取得した音声データに基づく音声を再生する。
【００９６】
次に、上記構成よりなるリアルタイム処理装置１の動作について図２乃至図５を参照して説明する。図２及び図３は本実施形態におけるリアルタイム処理プログラムのフローチャート、図４はＦＩＦＯバッファへのパケット格納及び取り出しを説明する図、図５は休止時間の算出方法を説明する図である。
【００９７】
ここでは、リアルタイム処理装置１が、送信側コンピュータ装置から順次送信されたＹｍｓ分の音声データを含むパケットをＹｍｓ間隔で受信してリアルタイムで音声再生する場合に関して説明する。尚、Ｙｍｓ間隔でのパケット受信は定常状態にあるときであり、通信網の経路途中の状態、例えば経路途中に存在するルータにおけるパケットの蓄積や送出タイミングによってはＹｍｓの一定間隔でパケット受信を行えないこともある。さらに、本実施形態では、リアルタイム処理装置１においては、到着する音声パケットを、一定量以上ＦＩＦＯバッファ１２に蓄積した上で、Ｘｍｓ毎に一定量（ここではＸｍｓ分）ずつＦＩＦＯバッファ１２から取り出して音声再生する。尚、本実施形態では、一例としてＹｍｓ＝２０ｍｓ、Ｘｍｓ＝２０ｍｓとしている。
【００９８】
図２及び図３に示すように、リアルタイム処理装置１は、駆動を開始すると初期化処理を行う（Ｓｔｅｐ１）。この初期化処理では、パケット取り出し部１３からＦＩＦＯバッファ１２に対してバッファクリア要求を送出し、これによりＦＩＦＯバッファ１２はバッファ内を空の状態にする。さらに、初期化処理では、パケット取り出し部１３はＦＩＦＯバッファ１２内に格納されているパケットの数を表す変数ｎを０に設定すると共にモードをアイドリングモードに設定する。このとき、パケット受信処理部１１は、図４に示すように、パケットを受信した場合には受信したパケットを順番にＦＩＦＯバッファ１２に格納してゆく。
【００９９】
次いで、リアルタイム制御装置１は、パケット取り出し部１３によって処理開始時刻を取得する（Ｓｔｅｐ２）。この処理開始時刻の取得では、パケット取り出し部１３は時計部１４から現在時刻を取得して、変数ＳｔａｒｔＴｉｍｅ（実行開始時刻）に現在時刻を設定する。
【０１００】
この後、パケット取り出し部１３は、変数ＴａｒｇｅｔＴｉｍｅ（実行開始目標時刻）に変数ＳｔａｒｔＴｉｍｅ（実行開始時刻）の値を設定する（Ｓｔｅｐ３）。尚、個のＳｔｅｐ３の処理は駆動開始時のみに実行する。
【０１０１】
次に、パケット取り出し部１３は、モードがアイドリングモードに設定されているか送出モードに設定されているかを判定し（Ｓｔｅｐ４）、アイドリングモードに設定されているときはＦＩＦＯバッファ１２にパケット数確認要求を送出し、ＦＩＦＯバッファ１２内に格納されているパケット数を取得してこの値を変数ｎに設定する（Ｓｔｅｐ５）。
【０１０２】
さらに、パケット取り出し部１３は、ＦＩＦＯバッファ内のパケット数ｎが予め設定されている基準値Ｎよりも多いか否かを判定する（Ｓｔｅｐ６）。この基準値Ｎはパケット受信における揺らぎを吸収するための値であり、パケット受信に遅延が生じたときの遅延による音声再生の途切れを防止するために設定されている。
【０１０３】
この判定の結果、パケット数ｎが基準値Ｎを超えているときは後述するＳｔｅｐ１０の処理に移行し、パケット数ｎが基準値Ｎ以下であるときはモードをアイドリングモードに設定（Ｓｔｅｐ７）した後、後述するＳｔｅｐ１５の処理に移行する。
【０１０４】
また、上記Ｓｔｅｐ４の判定の結果、モードが送出モードに設定されているときは、パケット取り出し部１３は、ＦＩＦＯバッファ１２にパケット数確認要求を送出し、ＦＩＦＯバッファ１２内に格納されているパケット数を取得してこの値を変数ｎに設定（Ｓｔｅｐ８）した後、変数ｎが０であるか否かを判定する（Ｓｔｅｐ９）。
【０１０５】
この判定の結果、変数ｎが０であるときは後述するＳｔｅｐ１２の処理に移行し、変数ｎが０以外のときは変数ｎが最大許容値Ｎｍａｘを超えているか否かを判定する（Ｓｔｅｐ１０）。この判定の結果、変数ｎが最大許容値Ｎｍａｘ以下のときは後述するＳｔｅｐ１３の処理に移行し、変数ｎが最大許容値Ｎｍａｘを超えているときは、パケット取り出し部１３はＦＩＦＯバッファ１２に対してバッファクリア要求を送出してＦＩＦＯバッファ１２内に格納されているパケットを全て消去する（Ｓｔｅｐ１１）。
【０１０６】
ここで、変数ｎすなわちＦＩＦＯバッファ１２内に格納されているパケット数が最大許容量Ｎｍａｘを超えているときは、パケット取り出し部１３による処理遅延の遅れを取り戻すことができないため、リアルタイムな処理を維持するために一時的にＦＩＦＯバッファ１２内のパケットを全て消去することによって処理遅延をなくしている。
【０１０７】
次いで、パケット取り出し部１３は、累積処理遅延をクリアするために変数ＴａｒｇｅｔＴｉｍｅに変数ＳｔａｒｔＴｉｍｅの値を設定して（Ｓｔｅｐ１２）、前記Ｓｔｅｐ９の処理に移行する。
【０１０８】
前記Ｓｔｅｐ１０の判定の結果、変数ｎが最大許容値Ｎｍａｘ以下のときは、パケット取り出し部１３は、ＦＩＦＯバッファ１２から１パケットを取り出してパケット再生処理部１４に送出する（Ｓｔｅｐ１３）と共に、モードを送出モードに設定する（Ｓｔｅｐ１４）。パケット再生処理部１４は、パケット取り出し部１３から受け取ったパケットから音声データを抽出して、この音声データを音声出力部１を介して音声再生する。この音声再生にはＸｍｓの時間を要する。
【０１０９】
この後、パケット取り出し部１３は、休止時間の算出処理を行う（Ｓｔｅｐ１５）。この休止時間の算出処理では、図５に示すように、変数ＳｔａｒｔＴｉｍｅの値から変数ＴａｆｇｅｔＴｉｍｅの値を引いた値を誤差時間ＥＲＲとする。駆動開始時においては、変数ＳｔａｒｔＴｉｍｅの値と変数ＴａｒｇｅｔＴｉｍｅの値が等しいので誤差時間ＥＲＲは０である。
【０１１０】
次いで、時計部１４から現在時刻を取得して、これを変数ＥｎｄＴｉｍｅ（処理終了時刻）に設定する。この処理終了時刻はパケット読み出し処理を終了した時刻である。
【０１１１】
さらに、変数ＳｔａｒｔＴｉｍｅ（処理開始時刻）に音声再生処理に要した時間Ｘｍｓを加算した値から誤差時間ＥＲＲを差し引いた値を変数ＴａｒｇｅｔＴｉｍｅ（実行開始目標時刻）の値として設定する。さらにまた、この変数ＴａｒｇｅｔＴｉｍｅ（実行開始目標時刻）の値から変数ＥｎｄＴｉｍｅ（処理終了時刻）の値を引いた値を休止時間ＳｌｅｅｐＴｉｍｅとして設定する。
【０１１２】
次に、パケット取り出し部１３は、上記算出した休止時間ＳｌｅｅｐＴｉｍｅの値が０よりも大きいか否かを判定し（Ｓｔｅｐ１６）、休止時間ＳｌｅｅｐＴｉｍｅの値が０以下の場合は後述するＳｔｅｐ１８の処理に移行する。また、休止時間ＳｌｅｅｐＴｉｍｅの値が０よりも大きいときは周知のＳｌｅｅｐ命令（処理休止命令）を実行して休止時間ＳｌｅｅｐＴｉｍｅの処理停止状態に入り（Ｓｔｅｐ１７）、休止時間ＳｌｅｅｐＴｉｍｅ経過後に前記Ｓｔｅｐ２の処理を開始する。
【０１１３】
また、前記Ｓｔｅｐ１６の判定の結果、休止時間ＳｌｅｅｐＴｉｍｅの値が０以下の場合は、累積遅延が許容量を超えているか否かを判定する（Ｓｔｅｐ１８）。この判定では、変数ｓｌｅｅｐｔｉｍｅの絶対値が予め設定されている所定の最大許容値ｍａｘｄｉｌａｙｔｉｍｅよりも大きいとき、累積遅延が許容量を超えているものと判定する。
【０１１４】
この判定の結果、累積遅延が許容量を超えていないときは前記Ｓｔｅｐ２の処理に移行し、遅延回復のために待機せず連続動作する。また、累積遅延が許容量を超えているときは、パケット取り出し部１３は遅延回復をあきらめ、ＦＩＦＯバッファ１２に対してバッファクリア要求を送出してＦＩＦＯバッファ１２内に格納されているパケットを全て消去すると共に変数ＴａｒｇｅｔＴｉｍｅに現在の時刻を設定して累積処理遅延をクリアする（Ｓｔｅｐ１９）。この後、前記Ｓｔｅｐ２の処理に移行して前述した処理を繰り返す。
【０１１５】
ここで、ｓｌｅｅｐｔｉｍｅの絶対値を２０ｍｓで割った商をｓ＿ｄｉｖ、余りをｓ＿ｍｏｄとし、ＦＩＦＯバッファ１２内に格納されているパケットを、ｓ＿ｄｉｖ個だけ消去すると共に、変数ＴａｒｇｅｔＴｉｍｅに「現在時刻−ｓ＿ｍｏｄ」を設定するようにすることもできる。この後、前記Ｓｔｅｐ２の処理に移行して前述した処理を繰り返す。
【０１１６】
このＳｌｅｅｐ命令では、休止時間ＳｌｅｅｐＴｉｍｅ以上経過してから次の処理を行うことが規定されているのみであり、リアルタイム処理装置１における処理負荷が高い場合には休止時間ＳｌｅｅｐＴｉｍｅを超えた時間を経過した後に処理が行われることもある。しかし、上記のようなリアルタイム処理を行うことによって、処理負荷が高い場合にも精度の高い実時間処理を行うことが可能である。
【０１１７】
即ち、上記のような精度の保証されないＳｌｅｅｐ命令を用いて平均して目標の一定時間間隔でリアルタイム処理を行うとき、リアルタイム処理装置１が高負荷に陥り、処理遅延の回復が見込めないような場合にも、前述したようにＦＩＦＯバッファ１２内のパケットを全て消去して累積処理遅延をリセットすることにより、システムが破綻しないようにして最大の遅延を制御することができる。
【０１１８】
さらに、一定時間間隔でＦＩＦＯバッファ１２からパケットを取り出して音声再生処理を実行するために、パケット取り出し処理（実行対象処理）を実行した後、Ｓｌｅｅｐ命令を設定するとき、パケット取り出し処理を実行するのに要した時間及び誤差時間ＥＲＲを考慮してＳｌｅｅｐ命令で設定する休止時間ＳｌｅｅｐＴｉｍｅを設定すると共に算出した休止時間ＳｌｅｅｐＴｉｍｅが０以下のときは継続してパケット読み出し処理を行うので、処理遅延を最小限に抑えることができる。
【０１１９】
従って、一定時間（本実施形態ではＸｍｓ）からパケット読み出し処理に要した時間と誤差時間ＥＲＲを差し引いた時間が休止時間ＳｌｅｅｐＴｉｍｅとして設定されるので、パケット読み出し処理（実行対象処理）の開始時刻と次に行われるパケット読み出し処理の開始時刻との間の時間は平均してほぼ一定時間に保たれる。
【０１２０】
尚、上記実施形態は本発明の一具体例であって本発明が上記実施形態の構成のみに限定されることはない。
【０１２１】
また、上記のリアルタイム処理プログラムを記憶したコンピュータ読みとり可能な情報記憶媒体を作製するとこにより、上記リアルタイム処理プログラムを容易に配布することができると共に、任意のコンピュータ装置を上記リアルタイム処理装置として動作させることができる。
【０１２２】
【発明の効果】
以上説明したように本発明のリアルタイム処理装置によれば、一定時間間隔で実行対象処理を実行するために、実行対象処理を実行した後、処理休止命令を設定するとき、実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間が休止時間として設定されので、実行対象処理の開始時刻と次に行われる実行対象処理の開始時刻との間の時間を平均的に一定時間間隔に維持することができる。さらに、実行対象処理を実行するのに要した時間に加え、実行対象処理を実際に開始した時刻と実行対象処理の実行開始目標時刻との差を誤差時間とし、これらの時間の合計を前記一定時間から差し引いた時間が休止時間として設定しているので、実行開始目標時刻に対する、誤差時間による処理遅延などの実行対象処理の処理開始のずれを低減することができる。
【０１２３】
また、本発明のリアルタイム処理方法によれば、一定時間間隔で実行対象処理を実行するために、実行対象処理を実行した後、処理休止命令を設定するとき、実行対象処理を実行するのに要した時間を前記一定時間から差し引いた時間が休止時間として設定されので、実行対象処理の開始時刻と次に行われる実行対象処理の開始時刻との間の時間を平均的に一定時間間隔に維持することができる。さらに、実行対象処理を実行するのに要した時間に加え、実行対象処理を実際に開始した時刻と実行対象処理の実行開始目標時刻との差を誤差時間とし、これらの時間の合計を前記一定時間から差し引いた時間が休止時間として設定しているので、実行開始目標時刻に対する、誤差時間による処理遅延などの実行対象処理の処理開始のずれを低減することができる。
【０１２４】
また、本発明のリアルタイム処理プログラムによれば、任意のコンピュータ装置に適用して前記リアルタイム処理方法を実行する装置を容易に構成することができる。
【０１２５】
また、本発明のリアルタイム処理プログラムを記憶したコンピュータ読みとり可能な情報記憶媒体によれば、上記リアルタイム処理プログラムを容易に配布することができると共に、任意のコンピュータ装置を上記リアルタイム処理装置として動作させることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態におけるリアルタイム処理装置を示す構成図
【図２】本発明の一実施形態におけるリアルタイム処理プログラムを説明するフローチャート
【図３】本発明の一実施形態におけるリアルタイム処理プログラムを説明するフローチャート
【図４】本発明の一実施形態におけるＦＩＦＯバッファへのパケット格納及び取り出しを説明する図
【図５】本発明の一実施形態における休止時間の算出方法を説明する図
【符号の説明】
１…リアルタイム処理装置、１１…パケット受信処理部と、１２…ＦＩＦＯバッファ、１３…パケット取り出し部、１４…時計部、１５…タイマー部、１６…パケット再生処理部、１７…音声出力部。
【図１】
2004320237.tif 000003
【図２】
2004320237.tif 000004
【図３】
2004320237.tif 000005
【図４】
2004320237.tif 000006
【図５】
2004320237.tif 000007