(57)【要約】      （修正有）【課題】低い優先度のグループの処理対象サービスの処理を確実に実行し、処理頻度の比率が大きく異なる入力ソースを取り扱う場合に、効率を低下させないコンパクトなサービス処理システムを提供する。【解決手段】複数のグループの処理対象サービスを１グループごとに順次処理するサービス処理部と、複数のグループのサービスを処理する際の優先度を示す値を設定する優先度設定部とを備える。優先度設定部は、最初に複数のグループのそれぞれの初期の優先度を示す初期値を設定し、あるグループのサービスがサービス処理部によって処理された後に、サービスが処理されたグループの優先度を示す値として初期値を設定し、さらに複数のグループの内、該サービスが処理されたグループ以外のグループの優先度を示す値を、優先度が増加するように所定分変化させる。サービス処理部は、複数のグループの優先度を示す値に基づいて優先度の最も高いグループの処理を行う。【選択図】図１
2011097174.tif 000002
【特許請求の範囲】
【請求項１】
複数のグループの処理対象サービスを１グループごとに順次処理するサービス処理部と、
前記サービス処理部が前記複数のグループのサービスを処理する際の優先度を示す値を設定する優先度設定部と、を備えるサービス処理システムであって、
前記優先度設定部は、最初に前記複数のグループのそれぞれの初期の優先度を示す初期値を設定し、あるグループのサービスが前記サービス処理部によって処理された後に、サービスが処理されたグループの優先度を示す値として前記初期値を設定し、さらに、前記複数のグループの内、該サービスが処理されたグループ以外のグループの優先度を示す値を、優先度が増加するように所定分変化させ、
前記サービス処理部は、処理を開始する時点で、前記複数のグループの優先度を示す値に基づいて優先度の最も高いグループの処理を行う、サービス処理システム。
【請求項２】
前記優先度設定部は、デクリメントカウンタを含み、前記デクリメントカウンタの値が優先度の値を示し、前記デクリメントカウンタの値が小さいほど優先度が高い請求項１に記載のサービス処理システム。
【請求項３】
前記複数のグループの処理対象サービスのそれぞれの処理に必要なデータをそれぞれ記憶する複数の入力ソースからなる記憶部をさらに備える請求項１または２に記載のサービス処理システム。
【請求項４】
前記複数の入力ソースのそれぞれが、ＦＩＦＯ型バッファである請求項３に記載のサービス処理システム。
【請求項５】
前記複数のグループの処理対象サービスの処理が割り込みによって要求される請求項１または２に記載のサービス処理システム。
【請求項６】
前記サービス処理部はデータ転送機構であり、サービスがデータ転送である請求項１から４のいずれかに記載のサービス処理システム。
【請求項７】
前記複数のグループのそれぞれの初期の優先度を示す初期値によって、前記複数のグループの処理対象サービスの処理頻度を定めた請求項１から６のいずれかに記載のサービス処理システム。
【請求項８】
サービス処理部と優先度設定部とを含むシステムによって、複数のグループの処理対象サービスを１グループごとに順次処理するサービス処理方法であって、
前記優先度設定部が、最初に前記複数のグループのそれぞれの初期の優先度を示す初期値を設定するステップと、
あるグループのサービスが前記サービス処理部によって処理された後に、前記優先度設定部が、サービスが処理されたグループの優先度を示す値として前記初期値を設定し、さらに、前記複数のグループの内、該サービスが処理されたグループ以外のグループの優先度を示す値を、優先度が増加するように所定分変化させるステップと、
前記サービス処理部が、処理を開始する時点で、前記複数のグループの優先度を示す値に基づいて優先度の最も高いグループの処理を行うるステップと、を含むサービス処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のグループの処理対象サービスを１グループの処理対象サービスごとに順次処理するサービス処理ステム及びサービス処理方法に関する。
【背景技術】
【０００２】
宛先までの最適な経路を選択してデータを伝送するルーティング機構を含むデータ転送システムや割り込み機能を備えたコントローラにおいては、複数のグループの処理対象サービスが１グループごとに順次処理される。
【０００３】
複数のグループの処理対象サービスから、つぎに処理するサービスを選択する一つの方法は、複数のグループに優先度を与え、処理を開始する時点で優先度の最も高いグループの処理対象サービスを処理する方法である。優先度は、通常固定されている。割り込み機能を備えたコントローラにおいては、上記の優先度を使用する方法が使用される。優先度を使用する方法の問題点は、低い優先度を与えられたグループの処理対象サービスの処理が必ず実行される保証がないことである。あるグループＡの優先度よりも高い優先度を与えられたグループの処理対象サービスが存在する限り、グループＡの処理対象サービスは処理されない。
【０００４】
複数のグループの処理対象サービスから、つぎに処理するサービスを選択する他の方法は、時分割多元接続（ＴＤＭＡ、Time Division Multiple Access）と呼称される方法である。ＴＤＭＡは、複数のグループの処理対象サービスのそれぞれの処理に必要なデータをそれぞれ記憶する複数の入力ソース及び伝送機構を備えたデータ転送システムを対象としている。したがって、たとえば、ルーティング機構などのデータ転送システムに使用される。ＴＤＭＡにおいて、複数の入力ソースに、入力ソースごとに定めた時間比率の、伝送機構のアクセス権が与えられる。各入力ソースのサービスの頻度は、時間比率で定められる。すなわち、ＴＤＭＡは、優先度の代わりに時間比率を使用する。ＴＤＭＡを使用したデータ転送システムは、たとえば、特許文献１乃至３に開示されている。
【０００５】
ＴＤＭＡにおいては、アクセス権が与えられている入力ソースの処理対象サービスの処理は必ず実行される。しかし、その入力ソースに処理対象サービスが存在しない場合には、時間比率によって定められた時間に伝送機構が使用されない。したがって、このような場合にサービス処理システム全体の効率が低下するという問題点が存在する。
【０００６】
また、ＴＤＭＡを実現するには、入力ソースごとの時間比率に基づいた時間割を定めたテーブルを予め作成しておく必要がある。時間割は、スロットと呼称される単位時間ごとに、伝送機構のアクセス権が与えられる入力ソースを規定する。たとえば、１００００分の１の時間比率を実現するには、１００００個のスロットに相当するエントリを含むテーブルが必要となる。このような場合に、テーブルの大きさが膨大となり、同時に、頻繁に処理が行われるサービスの入力ソースのエントリへの登録は非常に冗長なものとなる。
【０００７】
上述のように、ＴＤＭＡにおいては、サービス処理システム全体の効率が低下するおそれがあるという問題点や、処理頻度の比率が大きく異なる入力ソースを取り扱う場合に、サービス処理システムの規模が大きく冗長なものとなるという問題点が存在する。
【０００８】
このように、低い優先度のグループの処理対象サービスの処理を確実に実行し、処理頻度の比率が大きく異なる入力ソースを取り扱う場合に、効率を低下させないコンパクトなサービス処理システム及びサービス処理方法は開発されていない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−６９６３０
【特許文献２】特開２００４−３１８３１５
【特許文献３】特開２００９−２１２６３４
【発明の概要】
【発明が解決しようとする課題】
【００１０】
したがって、低い優先度のグループの処理対象サービスの処理を確実に実行し、処理頻度の比率が大きく異なる入力ソースを取り扱う場合に、効率を低下させないコンパクトなサービス処理システム及び簡単なサービス処理方法に対するニーズがある。
【課題を解決するための手段】
【００１１】
本発明によるサービス処理システムは、複数のグループの処理対象サービスを１グループごとに順次処理するサービス処理部と、前記サービス処理部が前記複数のグループのサービスを処理する際の優先度を示す値を設定する優先度設定部と、を備える。前記優先度設定部は、最初に前記複数のグループのそれぞれの初期の優先度を示す初期値を設定し、あるグループのサービスが前記サービス処理部によって処理された後に、サービスが処理されたグループの優先度を示す値として前記初期値を設定し、さらに、前記複数のグループの内、該サービスが処理されたグループ以外のグループの優先度を示す値を、優先度が増加するように所定分変化させる。前記サービス処理部は、処理を開始する時点で、前記複数のグループの優先度を示す値に基づいて優先度の最も高いグループの処理を行う。
【００１２】
本発明によるサービス処理方法は、サービス処理部と優先度設定部とを含むシステムによって、複数のグループの処理対象サービスを１グループごとに順次処理する。本方法は、前記優先度設定部が、最初に前記複数のグループのそれぞれの初期の優先度を示す初期値を設定するステップと、あるグループのサービスが前記サービス処理部によって処理された後に、前記優先度設定部が、サービスが処理されたグループの優先度を示す値として前記初期値を設定し、さらに、前記複数のグループの内、該サービスが処理されたグループ以外のグループの優先度を示す値を、優先度が増加するように所定分変化させるステップと、を含む。さらに、本方法は、前記サービス処理部が、処理を開始する時点で、前記複数のグループの優先度を示す値に基づいて優先度の最も高いグループの処理を行うるステップを含む。
【００１３】
本発明によれば、優先度設定部が、最初に前記複数のグループのそれぞれの初期の優先度を示す初期値を設定し、あるグループのサービスが前記サービス処理部によって処理された後に、前記優先度設定部が、サービスが処理されたグループの優先度を示す値として前記初期値を設定し、さらに、前記複数のグループの内、該サービスが処理されたグループ以外のグループの優先度を示す値を、優先度が増加するように所定分変化させる。したがって、サービスが処理されないグループの優先度は時間の経過とともに増加し、低い優先度のグループのサースが必ず実行される。また、処理頻度が大きく異なる複数のグループを扱う場合にも処理効率が低下することはない。さらに、優先度設定部は、大規模なテーブルを使用する必要がなくコンパクトなサービス処理システム及び簡単なサービス処理方法が実現できる。
【００１４】
本発明の実施形態によれば、前記優先度設定部は、デクリメントカウンタを含み、前記デクリメントカウンタの値が優先度の値を示し、前記デクリメントカウンタの値が小さいほど優先度が高い。
【００１５】
本実施形態によれば、デクリメントカウンタを使用して簡単に優先度設定部を実現することができる。
【００１６】
本発明の実施形態によれば、サービス処理システムは、前記複数のグループの処理対象サービスのそれぞれの処理に必要なデータをそれぞれ記憶する複数の入力ソースからなる記憶部をさらに備えている。
【００１７】
本実施形態によれば、優先度設定部が、複数のグループの処理対象サービスのそれぞれの処理に必要なデータをそれぞれ記憶する複数の入力ソースの優先度を設定するように構成することにより、低い優先度の入力ソースの処理も必ず実行する、効率的でコンパクトなサービス処理システムが実現される。
【００１８】
本発明の実施形態によれば、前記複数の入力ソースのそれぞれが、ＦＩＦＯ型バッファである。
【００１９】
本実施形態によれば、優先度設定部が、複数のグループの処理対象サービスのそれぞれの処理に必要なデータをそれぞれ記憶する複数のＦＩＦＯ型バッファの優先度を設定するように構成することにより、低い優先度のＦＩＦＯ型バッファの処理も必ず実行する、効率的でコンパクトなサービス処理システムが実現される。
【００２０】
本発明の実施形態によれば、前記複数のグループの処理対象サービスの処理が割り込みによって要求される。
【００２１】
本実施形態によれば、優先度設定部が、複数のグループとして割り込みの優先度を設定するように構成することにより、優先度の低い割り込みの処理も必ず実行する、効率的でコンパクトなサービス処理システムが実現される。
【００２２】
本発明の実施形態によれば、前記サービス処理部はデータ転送機構であり、サービスがデータ転送である。
【００２３】
本実施形態によれば、優先度設定部が、複数のグループのデータ転送の優先度を設定するように構成することにより、低い優先度のデータ転送も必ず実行する、効率的でコンパクトなデータ転送システムが実現される。
【００２４】
本発明の実施形態によれば、前記複数のグループのそれぞれの初期の優先度を示す初期値によって、前記複数のグループの処理対象サービスの処理頻度を定めている。
【００２５】
本実施形態によれば、前記複数のグループのそれぞれの初期の優先度を変えることにより、前記複数のグループの処理対象サービスの処理頻度を変えることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態によるサービス処理システムの主要部の構成を示す図である。
【図２】図１に示したサービス処理システムの主要部が、データ転送システムに使用された場合の構成を示す図である。
【図３】従来のデータ転送システムの構成の一例を示す図である。
【図４】データ転送機構による処理を示す流れ図である。
【図５】優先度設定部による処理を示す流れ図である。
【図６】ある入力ソースの時刻に対する優先度の変化を概念的に示す図である。
【図７】入力ソース０乃至４の優先度を示す値の時間変化を示す図である。
【図８】ケース１乃至７について、入力ソース０乃至４のサービス頻度、すなわち転送回数を示す図である。
【発明を実施するための形態】
【００２７】
図１は、本発明の一実施形態によるサービス処理システムの主要部の構成を示す図である。本実施形態によるサービス処理システムは、複数のグループの処理対象サービスを１グループごとに順次処理するサービス処理部１０５と、前記サービス処理部が前記複数のグループのサービスを処理する際の優先度を示す値を設定する優先度設定部１０１と、を備える。本実施形態によるサービス処理システムは、前記複数のグループの処理対象サービスのそれぞれの処理に必要なデータをそれぞれ記憶する複数の入力ソースからなる記憶部１０３をさらに備える。図１において複数の入力ソースは５個であり、０から４の番号で示される。
【００２８】
図２は、図１に示したサービス処理システムの主要部が、データ転送システムに使用された場合の構成を示す図である。データ転送システムは、外部から受信した転送されるべきデータを記憶する受信バッファ２０１と、それぞれ優先度を与えられた複数の入力ソースからなる記憶部１０３と、外部へ送信する転送後のデータを記憶する送信バッファ２０７と、を備える。さらに、データ転送システムは、受信バッファ２０１から記憶部１０３へデータを転送するデータ転送機構２０３と、優先度設定部１０１と、記憶部１０３から送信バッファ２０７へデータを転送するデータ転送機構２０５と、を備える。ここで、図２におけるデータ転送機構２０５は、図１におけるサービス処理部１０５に相当する。
【００２９】
つぎに、図２のデータ転送システムの機能について詳細に説明する。受信バッファ２０１は、外部から受信した転送されるべきデータを記憶する。図２において、受信バッファ２０１は、４個の区分されたバッファからなる。区分されたバッファの数は、データ転送システムの受信側に接続されるチャネルの数に対応する。
【００３０】
データ転送機構２０３は、受信バッファ２０１に記憶された、転送されるべきデータを記憶部１０３の、それぞれ優先度を与えられた複数の入力ソースへ転送する。ここで、転送されるべきデータがパケットである場合に、データ転送機構２０３は、パケットのヘッダの情報に基づいて、記憶部１０３のどの入力ソースへ転送するかを定めてもよい。
【００３１】
優先度設定部１０１は、記憶部１０３の入力ソースの優先度を設定する。優先度設定部１０１によって入力ソースの優先度が、処理中に動的に変更されることが本発明の特徴の一つである。優先度設定部１０１の機能の詳細については後で説明する。
【００３２】
データ転送機構２０５は、記憶部１０３の複数の入力ソースに記憶された、転送されるべきデータを、優先度にしたがって送信バッファ２０７へ転送する。図２において、送信バッファ２０７は、４個の区分されたバッファからなる。区分されたバッファの数は、データ転送システムの送信側に接続されるチャネルの数に対応する。
【００３３】
図４は、データ転送機構２０５による処理を示す流れ図である。
【００３４】
図４のステップＳ１０１０において、データ転送機構２０５は、記憶部１０３の複数の入力ソースの優先度を調べる。複数の入力ソースの優先度は、記憶部１０３または他の記憶装置に記憶させておく。
【００３５】
図４のステップＳ１０２０において、データ転送機構２０５は、最も優先度の高い入力ソースの転送されるべきデータを転送する。
【００３６】
図３は、従来のデータ転送システムの構成の一例を示す図である。データ転送システムは、外部から受信した転送されるべきデータを記憶する受信バッファ３０１と、外部へ送信する転送後のデータを記憶する送信バッファ３０７と、を備える。さらに、データ転送システムは、受信バッファ３０１から送信バッファ３０７へデータを転送するデータ転送機構３０５を備える。受信バッファ３０１は、４個の区分されたバッファからなる。４個の区分されたバッファには固定された優先度が与えられる。データ転送機構３０５は、区分されたバッファの内、優先度が最も高いものに記憶された、転送されるべきデータを転送する。したがって、区分されたバッファの内優先度の低いものに記憶された、転送されるべきデータは、より優先度の高いものに転送されるべきデータが存在する限り転送されない。
【００３７】
本発明の他の実施形態として、図３のデータ転送システムに、優先度設定部１０１を追加し、受信バッファ３０１の区分されたバッファの優先度を処理中に動的に変更するようにしてもよい。
【００３８】
ここで、優先度設定部１０１の機能を詳細に説明する。
【００３９】
図５は、優先度設定部１０１による処理を示す流れ図である。ここで、記憶部１０３の入力ソースの番号をＮで示す。図１及び図２において、Ｎは０から４の整数である。
【００４０】
図７は、入力ソース０乃至４の優先度を示す値の時間変化を示す図である。時刻ｍにおいて、入力ソース０乃至４の優先度を示す値は初期値であり、それぞれ、３０、３２、３４、３６及び３８である。優先度を示す値が小さいほど優先度は高いものとする。時刻ｍにおいて、入力ソース０の優先度が最も高いので、データ転送機構２０５は、入力ソース０に記憶されたデータ、たとえばパッケトを転送する。図７において、ある時刻において最も高い優先度を示す値を、その周囲を囲むことによって表示している。データ転送後に時刻は、ｍ＋１へ推移する。時刻が推移するごとに、図５に示した優先度設定部１０１による処理が起動される。
【００４１】
図５のステップＳ２０１０において、優先度設定部１０１は、Ｎを０とする。
【００４２】
図５のステップＳ２０２０において、優先度設定部１０１は、入力ソースＮのデータが直前に転送されたかどうか判断する。入力ソースＮのデータが直前に転送されていれば、ステップＳ２０３０に進む。入力ソースＮのデータが直前に転送されていなければ、ステップＳ２０４０に進む。図７の時刻ｍ＋１において、入力ソース０のデータが直前に転送されているのでステップＳ２０３０に進む。
【００４３】
図５のステップＳ２０３０において、優先度設定部１０１は、データが直前に転送された入力ソースの優先度を初期の優先度とする。図７の時刻ｍ＋１において、入力ソース０のデータが直前に転送されているので優先度設定部１０１は、入力ソース０の優先度を示す値を初期値３０とする。
【００４４】
図５のステップＳ２０５０において、優先度設定部１０１は、Ｎが最大値であるかどうか判断する。Ｎが最大値であれば、処理を終了する。Ｎが最大値でなければステップＳ２０６０に進む。図７においてＮの最大値は４である。ここで、Ｎは０であるのでステップＳ２０６０に進む。
【００４５】
図５のステップＳ２０６０において、優先度設定部１０１は、Ｎに１を加算し、ステップＳ２０２０に進む。具体的にＮは１となる。
【００４６】
図５のステップＳ２０２０において、優先度設定部１０１は、入力ソースＮのデータが直前に転送されたかどうか判断する。図７の時刻ｍ＋１において、入力ソース１のデータは直前に転送されていないのでステップＳ２０４０に進む。
【００４７】
図５のステップＳ２０４０において、優先度設定部１０１は、入力ソース１の優先度を増加させる。具体的に、優先度設定部１０１は、入力ソース１の優先度を示す値を１減少させることによって入力ソース１の優先度を増加させる。
【００４８】
ここで、入力ソースの優先度を示す値を管理するのにデクリメントカウンタを使用してもよい。デクリメントカウンタの単位が小さ過ぎる場合には、所定の上位ビットのみを使用すればよい。デクリメントカウンタの値は、時間の経過とともに減少するので優先度は増加する。ステップＳ２０３０の処理において、優先度設定部１０１は、データが直前に転送された入力ソースのデクリメントカウンタに初期値を設定する。
【００４９】
また、デクリメントカウンタの代わりに、上限値を定めてインクリメントカウンタを使用してもよい。
【００５０】
以下同様にして、Ｎが２乃至４の場合の処理を行う。図７の時刻ｍ＋１において、優先度設定部１０１は、入力ソース１乃至４の優先度を示す値をそれぞれ１減少させることによって入力ソース１乃至４の優先度を増加させる。
【００５１】
時刻ｍ＋１において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、３０、３１、３３、３５及び３７となる。入力ソース０の優先度が最も高いので、データ転送機構２０５は、入力ソース０のデータを転送する。
【００５２】
時刻ｍ＋２において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、３０、３０、３２、３４及び３６となる。入力ソース０及び１の優先度が最も高いので、データ転送機構２０５は、入力ソース０のデータを転送する。
【００５３】
時刻ｍ＋３において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、３０、２９、３１、３１及び３５となる。入力ソース１の優先度が最も高いので、データ転送機構２０５は、入力ソース１のデータを転送する。
【００５４】
時刻ｍ＋４において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、２９、３２、３０、３２及び３４となる。入力ソース０の優先度が最も高いので、データ転送機構２０５は、入力ソース０のデータを転送する。
【００５５】
時刻ｍ＋５において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、３０、３１、２９、３１及び３３となる。入力ソース２の優先度が最も高いので、データ転送機構２０５は、入力ソース２のデータを転送する。
【００５６】
時刻ｍ＋６において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、２９、３０、３４、３０及び３２となる。入力ソース０の優先度が最も高いので、データ転送機構２０５は、入力ソース０のデータを転送する。
【００５７】
時刻ｍ＋７において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、３０、２９、３３、２９及び３１となる。入力ソース１及び３の優先度が最も高いので、データ転送機構２０５は、入力ソース１のデータを転送する。
【００５８】
時刻ｍ＋８において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、２９、３２、３２、２８及び３０となる。入力ソース３の優先度が最も高いので、データ転送機構２０５は、入力ソース３のデータを転送する。
【００５９】
時刻ｍ＋９において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、２８、３１、３１、３６及び２９となる。入力ソース０の優先度が最も高いので、データ転送機構２０５は、入力ソース０のデータを転送する。
【００６０】
時刻ｍ＋１０において、優先度設定部１０１が図５に示す処理を行った結果、入力ソース０乃至４の優先度を示す値は、それぞれ、３０、３０、３０、３５及び２８となる。入力ソース４の優先度が最も高いので、データ転送機構２０５は、入力ソース４のデータを転送する。
【００６１】
このように入力ソース０乃至４のデータが転送される。本実施形態によれば、初期値で最も低い優先度を与えられた入力ソース４に記憶されたデータであっても必ず転送が行われる。本実施形態において、最も高い初期の優先度が与えられた入力ソース０の初期値（３０）と最も低い初期の優先度が与えられた入力ソース４の初期値（３８）の差は８である。また、両者の初期値の間の初期値を与えられた３個の入力ソースが存在する。８回の転送処理の後に入力ソース４の優先度を示す値は、入力ソース０の初期値と同じ３０となる。その後、入力ソース４以外の全ての入力ソースの処理が行われたとしても、１２回の転送処理が行われた後には入力ソース４の優先度を示す値が最小となり、入力ソース４の処理が行われる。一般に、ある入力ソースの処理が行われるまでの最大待ち時間（単位は、１回の転送処理時間）は、以下の式で表せる。
最大待ち時間  ＝  
（入力ソースの数−１）＋（最大優先度を示す値−該入力ソースの優先度を示す値）
【００６２】
図６は、ある入力ソースの時刻に対する優先度の変化を概念的に示す図である。横軸は時間を示し、縦軸は優先度の高さを示す。その入力ソースのデータが転送されない間は、優先度は時間の経過とともに高くなる。その入力ソースのデータが転送された後に、その入力ソースの優先度は初期の優先度となる。
【００６３】
表１は、入力ソース０乃至４の優先度を示す値の初期値の、７個の組を示す表である。優先度を示す値は、優先度設定部１０１によって、図５及び図７を参照して説明したように変更される。表１において、７個の組はケース１乃至７によって示される。
【００６４】
表２は、延べ１００万回の転送処理を行った場合に、上記の７個の組の初期値を与えられた入力ソース０乃至４が、それぞれ何回転送処理の対象となるかを示す表である。表２において、７個の組はケース１乃至７によって示される。
【表１】
2011097174.tif 000003
【表２】
2011097174.tif 000004
【００６５】
ケース１において、入力ソース０と入力ソース４との間の優先度を示す値の差は１５であり、ケース７において、入力ソース０と入力ソース４との間の優先度を示す値の差は４０９５である。入力ソース４の転送回数は、ケース１において５４５４５回（１００万回に対して５．４％）であり、ケース４において２４４回（１００万回に対して０．０２４％）である。
【００６６】
図８は、ケース１乃至７について、入力ソース０乃至４のサービス頻度、すなわち転送回数を示す図である。図８の横軸は入力ソースを示し、縦軸は転送回数を示す。
【００６７】
このように複数の入力ソースの優先度を示す値の初期値の差を変えることにより、複数の入力ソースのそれぞれの処理頻度を変えることができる。この場合に、システムが記憶する必要のある初期値の数は、入力ソースの数である。したがって、システムの規模が大きく冗長となることはない。
【００６８】
また、本実施形態によれば、処理頻度が非常に小さい入力ソースであっても確実に処理の対象となる。さらに、本実施形態によれば、処理頻度が全く異なる入力ソースを扱う場合であっても、システムの規模が大きくなることはない。
【００６９】
本発明の上記の実施形態によれば、複数のグループのそれぞれの、優先度を示す値を変化させる所定分の値は同一である。本発明の他の実施形態において、上記の所定分の値を単独でまたは初期値と合わせてグループごとに変化させることによって、上記の複数のグループの処理対象サービスの処理頻度を定めてもよい。
【００７０】
上記の実施形態はデータ転送システムに関するものである。本発明は、データ転送システムの他に、たとえば、データの入出力ソースを独立して備えない、ＡＳＩＣ（Application Specific Integrated Circuit）などのＬＳＩに用いられる割り込みコントローラ（interrupt controller chip/module）の回路に応用することもできる。
【符号の説明】
【００７１】
１０１…優先度設定部、１０３…記憶部、１０５…サービス処理部、２０１…受信バッファ、２０３，２０５…データ転送機構、２０７…送信バッファ
【図１】
2011097174.tif 000005
【図２】
2011097174.tif 000006
【図３】
2011097174.tif 000007
【図４】
2011097174.tif 000008
【図５】
2011097174.tif 000009
【図６】
2011097174.tif 000010
【図７】
2011097174.tif 000011
【図８】
2011097174.tif 000012