JP3585755B2 - タイムシェアリングシステムにおける非通信プロセス間のプライオリティに基づく負荷分散 - Google Patents

タイムシェアリングシステムにおける非通信プロセス間のプライオリティに基づく負荷分散 Download PDF

Info

Publication number
JP3585755B2
JP3585755B2 JP36986898A JP36986898A JP3585755B2 JP 3585755 B2 JP3585755 B2 JP 3585755B2 JP 36986898 A JP36986898 A JP 36986898A JP 36986898 A JP36986898 A JP 36986898A JP 3585755 B2 JP3585755 B2 JP 3585755B2
Authority
JP
Japan
Prior art keywords
load
priority
ratio
cpu
subtask
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP36986898A
Other languages
English (en)
Other versions
JPH11249913A (ja
Inventor
ジュアン ランソン アントニオ
ジェームス ウィースト デニス
Original Assignee
ルーセント テクノロジーズ インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ルーセント テクノロジーズ インコーポレーテッド filed Critical ルーセント テクノロジーズ インコーポレーテッド
Publication of JPH11249913A publication Critical patent/JPH11249913A/ja
Application granted granted Critical
Publication of JP3585755B2 publication Critical patent/JP3585755B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、少なくとも1台の中央処理装置(CPU)と実行される複数のアプリケーションプロセスを有するデジタル処理システムを制御する方法と装置に関し、詳しくは、タイムシェアリングシステムにおいて非通信プロセス間のCPUの負荷を分散させるためのシステムおよび技法に関するものである。
【0002】
【従来の技術】
タイムシェアリングまたはマルチタスク環境では、ある一定の時点において、多くのアプリケーションプロセスまたはタスク間で、1台またはそれ以上の中央処理装置による処理資源の使用に対して競合が発生する。CPUは、通常、複数のプロセスを同時に実行することはないが、これらのプロセスは、その完了時まで、CPUリソース、すなわち、処理時間を共有するという意味において、アクティブである。
【0003】
アクティブなアプリケーションプロセスによるCPUリソースのリアルタイムな占有を、ここでは、そのプロセスによるCPU「負荷」と呼ぶことにする。タイムシェアリングシステムでは、既定のプロトコルに応じて、各アクティブなアプリケーションプロセスによる負荷が、オペレーティングシステムによって制御あるいは分散されることがよくある。「負荷分散」という語は、アクティブなアプリケーションプロセスの中でCPUリソースを割り当てるシステムや技法に対して用いられる。負荷分散によって、それぞれ異なる所望の対象を実行することもできる。例えば、予め割り当てられているプライオリティに従って、各アプリケーションプロセスによるCPU負荷を管理することができる。また、これ以外の負荷分散技法によれば、アプリケーションプロセスの実行時間を速くすることもできる。
【0004】
複雑なタイムシェアリングまたはマルチタスクシステムでは、ある一定の時点で、何百ものアプリケーションプロセスやタスクをCPUリソースに対してアクティブに競合させることができる。このようなアプリケーションプロセスには、それぞれ何百あるいは何千ものサブタスクが含まれていることもある。無線のセルラー方式では、例えば、移動加入者無線電話と地理的に隣接した区域内に配置されているセルサイトとの無線通信により、電話網へのアクセスが行なえる。各セルサイトは、無線トランシーバやアンテナおよび制御機器などの各種ハードウェアおよびソフトウェアを装備することにより、移動加入者およびセルサイト間の信号伝送を容易にしている。
【0005】
高度なセルラーシステムでは、セルラー通信の重要な部分に関する制御は、1台のCPUによって行われ、そのCPUリソースは、複数の無線制御システム(RCS)の間で共有され、各システムが複数のマイクロセルを支援すると同時に、各自の常駐ソフトウェア支援アプリケーションに依存している。例えば、UNIXベースのオペレーティングシステムなどのオペレーティングシステムには、RCS間でCPUリソースを共有することができるスケジューラが付いている。各RCS内には、RCSに関連する呼処理、翻訳、および監査などの多様なサブタスクを制御するために、ソフトウェアアプリケーションプロセスが設けられている。これらのサブタスクは、重要度やプライオリティなどの多様なレベルを有している。UNIXなどのオペレーティングシステムでは、その配下で動作するアプリケーションプロセスに対して、外部で割り当てられたプライオリティを付与している。通常、同等のプライオリティを有するソフトウェアアプリケーションプロセスは、すべてUNIXによって、CPUタイムの同等部分に割り当てられる。
【0006】
【発明が解決しようとする課題】
負荷分散の前記プライオリティ技法は、複雑な無線通信網の制御に使用されるようなタイムシェアリングシステムに利用された場合に、不適正な結果を招くことがある。そのようなシステムでは、適正な負荷分散を行うために、サブタスクレベルでアドレス指定された特定の種類の機能を検討すべきであるが、周知の技法では、これは実行不可能である。通常、メモリやプロセス上の限界から、オペレーティングシステムは、サブタスクレベルで詳細な情報を追跡することができない。CPUリソースは、アプリケーションプロセスレベルで割り当てられたプライオリティに関してのみ分配される。したがって、周知のシステムでは、任意の一定の時点に、どのアプリケーションプロセスがCPUリソースの大半をプライオリティの高いサブタスクに割り当てているのか監視または判断することができない。また、周知のシステムでは、どのアプリケーションプロセスがCPUタイムスライスの大半を割り当てて、プライオリティの低いサブタスクを完了させているのか監視あるいは判断することができない。このため、 あるアクティブなアプリケーションプロセスのプライオリティの高いタスクの終了に遅れが生じる一方で、CPUリソースが別のアプリケーションプロセスのプライオリティの低いタスクに引き渡されることもある 。
【0007】
この問題は、前記の無線通信システムの例に関連して説明がなされた場合に一層明らかになる。呼処理や翻訳に関連するサブタスクは、監査、保守または「ハウスキーピング」などの機能に関連するサブタスクに比べて明らかに重要であり、呼処理の「ボトルネック」によって、加入者への着呼に遅れが生じることがある。他方、保守に関するサブタスクは、大抵、ある一定のプロセスに割り当てられたCPUタイムスライス内の「アイドルタイム」を埋めるために設計されている。呼処理および翻訳は、「メッセージ駆動」プロセスであり、すなわち、前記プロセスは、加入者への着信などの外部イベントによって開始され、加入者が必要とするCPUリソースがそのときどきで変化する。オペレーティングシステムから見た場合、ある一定のUNIXプライオリティレベルのアプリケーションプロセスは、いずれもCPUタイムの同等のスライスに対して競合している。あるRCSがそのCPUリソースの全割り当てを用いて呼処理のアドレス指定をする一方で、別のRCSがそのCPUリソースの全割り当てを用いて重要度の低い監査または保守機能だけを実行している場合、オペレーティングシステムは、判断方法を持たない。このため、CPUリソースは、サブタスクレベルでプライオリティの低い機能よりもプライオリティの高い機能の完了を優先するような方法で割り当てられていない。
【0008】
したがって、サブタスクレベルでプライオリティの低い機能よりもプライオリティの高い機能を優先するような方法でCPUリソースを割り当てる負荷分散を行う方法および装置を提供することが望ましい。このようなシステムでは、CPUリソースの割り当てを用いて比較的低い割合を占めるプライオリティの高いサブタスクを完了させるアクティブなアプリケーションプロセスがリソースを放棄して、CPUリソースの割り当てにより比較的高い割合を占めるプライオリティの高いサブタスクを完了させる1つまたはそれ以上のアクティブなプロセスに有利になるように、CPU負荷を分配することができる。
【0009】
【課題を解決するための手段】
本発明は、前記目的を実現する、タイムシェアリングシステムにおける非通信プロセス間の負荷分散を行う方法と装置を提供する。本発明によれば、CPUリソースは、全アクティブプロセス内で、プライオリティの低いサブタスクよりもプライオリティの高いサブタスクを優先的に完了させるようにCPUリソースが割り当てられる。各アプリケーションプロセス内のサブタスクは、少なくとも2つのプライオリティレベルのうちの1つに割り当てられる。各プロセスは、負荷分散リポジトリ(LBR)とインタフェースする報告サブタスクと共に提供されている。LBRは、オペレーティングシステムの配下に置かれた別のプロセスであってもよい。また、インタフェースは、メッセージインタフェースでも、プロセス間で共有されるメモリアクセスによって実行されてもよい。各アクティブなアプリケーションプロセスの報告サブタスクは、該当するプロセスに対する負荷分散をLBRに報告する。この負荷分散は、プライオリティが最も高いサブタスクによるCPU負荷、すなわち、処理時間と、それよりもプライオリティの低い各レベルのサブタスクによるCPU負荷との比によって定量化される。
【0010】
すべてのアクティブプロセスの負荷分散比率の総計を求め、総計した負荷分散を再度各アクティブなアプリケーションプロセスに目標比率として報告することにより、LBRによって目標となる負荷分散比率が判定される。また、各プロセス内のスケジューラは、該当するプロセスの現行負荷分散比率を監視する。目標比率よりも低い負荷分散比率を有するプロセスは、全アクティブプロセス間の平均比率よりも低い割合を占めるプライオリティの高いサブタスクに対してCPUリソースを利用している。このようなプロセス内の対応スケジューラは、現行の負荷分散が目標比率と等しいかそれ以上であるときにCPUリソースを放棄し、これによってオペレーティングシステムの配下にある該当プロセスに割り当てられたCPUタイムスライスの一部が放棄される。
【0011】
本発明により、 CPU負荷分散状況が、高い割合を占めるプライオリティの低いサブタスクが完了間近になるにしたがってCPUリソースを使い果たすアクティブなアプリケーションプロセスのCPUタイムの時間が短縮される一方で、高い割合を占めるプライオリティの高いサブタスクが完了間近になるにつれてCPUリソースを使い果たす1つまたはそれ以上の他のアクティブプロセスにCPUリソースが使用される頻度が高くなるという利点が得られる。
【0012】
本発明は、一定の各部とステップによる実際の形式を採用し、本明細書では、その好適な実施例が詳細に説明され、本明細書の一部を形成する添付図面に実施例の図が示されている。
【0013】
【発明の実施の形態】
図1は、本発明による負荷分散システム100の略図である。コンピュータプラットフォーム110は、RAM114とROM116に記憶された命令を実行するCPU112などのハードウェアコンポーネントを具備し、CPU112は、1台のCPUまたは並行して動作する複数のCPUのいずれかを示している。通常の技術を有する当業者であれば、図1がコンピュータプラットフォーム110がかなり省略して描かれていることが理解され、通常は、種々の周辺機器やデータバスが中に含まれている。ここでは、本発明の詳細な説明に必要なプラットフォーム110の各要素だけが示されている。コンピュータプラットフォーム110は、さらに、CPU112と多く(n)のアプリケーションプロセス122との間にある一定の手順インタフェースを提供するオペレーティングシステム118を具備しており、オペレーティングシステム118は、UNIXなどの全機能型オペレーティングシステムでもよい。
【0014】
アプリケーションプロセス1の略図によって示されているように、各アプリケーションプロセス122は、対応するスケジューラ126の管理制御によって実行される多く(m)のサブタスクを具備している。図1には、3つのアプリケーションプロセスしか示されていないが、本発明が適用可能なプロセスに特有のシステムが、何百ものアクティブなアプリケーションプロセスを具備してもよいことは明らかである。さらに、各プロセスは、数百あるいは数千ものサブタスクを具備していてもよい。
【0015】
各プロセス122内のサブタスクは、関連する機能により様々なプライオリティレベルを有することが考えられる。各プロセス122内のスケジューラ126は、常に、プライオリティの高いサブタスクをプライオリティの低いサブタスクよりも先に実行するようにスケジューリングを行う。最も簡単な形式では、スケジューラ126が、わずか2つだけのプライオリティレベル、すなわち、高または低を認識する。さらに複雑な形式になると、複数の異なるプライオリティレベルのうちのいずれかが各サブタスクに割り当てられる。本発明では、両方のプライオリティスキームに対するアプリケーションを検索する。
【0016】
本発明によれば、LBR120は、プロセス(1〜n)の各々の報告サブタスク124とインタフェースする。このインタフェースは、オペレーティングシステム118により実行されるメッセージインタフェースの形式を採用してもよい。代わりに、インタフェースが、共有されているメモリアクセスによって実行されてもよく、これにより、各アプリケーションプロセス122は、LBR120からもアクセスされる既定の記憶場所への書き込みおよびそこからの読み出しを行うルーチン(不図示)が得られる。メッセージインタフェースの場合、LBRは、メッセージが受信された時点で、報告プロセス用の平均値とCPUの総合負荷を更新する働きをする。また、LBRは、全プロセスに対して一定時間の間隔で更新する機能を持つことも可能である。その場合、下記のLBR報告インタバルを、任意のアプリケーションプロセス122の報告インタバルよりも短くすることが必要である。
【0017】
図2は、本発明によるLBR120を実行するプロセスを表しているフローチャートである。このフローチャートは、(n個の)プロセスおよび(j個の)プライオリティレベルを有するサブタスクを備えたシステムの一般的な論理の流れを示している。ステップ200では、LBR120が、各アクティブなアプリケーションプロセス122からCPUの負荷分散を取得する。(n個の)アクティブプロセスの各々に対し、報告サブタスク124を介してアプリケーションプロセススケジューラ126によってLBR120に負荷分散が報告される。ある一定のプライオリティレベル(j)におけるプロセス(i)のサブタスクによる負荷は、L(i,j)によって表してもよい。例えば、L(1,1)は、プロセス1のプライオリティレベル1(最高位のプライオリティレベル)のサブタスクによる負荷を表し、L(1,2)は、プロセス1のプライオリティレベル2のサブタスクによる負荷を表し、L(2,1)は、プロセス2のプライオリティレベル1のサブタスクによる負荷を表している。CPU負荷Lは、CPUが、ある一定のプライオリティレベルでサブタスクを実行している時間、すなわち、ミリ秒に対応する値によって表してもよい。
【0018】
通常、オペレーティングシステム118は、アプリケーションプロセス(1〜n)に割り当てられた複数の異なるプライオリティレベルを認識する。同一のプライオリティレベルで動作しているアプリケーションプロセスには、オペレーティングシステム118の下で等しいCPUタイムが割り当てられる。オペレーティングシステム118によって利用されるプライオリティレベルの数は、本発明によるプライオリティ数と異なっていてもよい。例えば、UNIXベースのオペレーティングシステムは、8個のプライオリティレベル、0〜7を認識してもよい。UNIXの配下で動作しているサブタスクに、8個のプライオリティレベルのうちの一つを割り当ててもよいが、本発明の負荷分散スキームは、UNIXプライオリティレベルの全部を認識しなくてもよい。そのような場合、各アプリケーションは、UNIXプライオリティレベルを、LBRが使用するプライオリティレベルにマッピングする必要がある。例えば、LBRが2つしかないプライオリティレベル(高および低)を有する負荷分散報告スキームを実行する場合、UNIXのプライオリティレベル0〜3は低いプライオリティにマッピングされ、UNIXのプライオリティレベル4〜7は、高いプライオリティにマッピングされる。このスキームにより、異なるUNIXプライオリティレベルを持つアプリケーションプロセスは、LBR実装範囲内の同等な条件で負荷を比較することができる。
【0019】
ステップ210は、LBRプロセスが報告インタバルの終了を判断するステップである。本発明の好適な実施例によれば、LBRは、好ましくは1秒と同種の報告インタバルにより、各アクティブプロセス(l)から負荷分散比率を定期的に取得する。報告インタバルが終了していない場合は、LBRプロセスは、ステップ200に戻って負荷L(i,j)を取得する。通常の技術を有する当業者であれば、プロセス内の各種サブタスクが完了あるいはアクティブまたはイナクティブになるにしたがって、報告インタバル中に負荷L(i,j)が変化することが理解できるであろう。報告インタバルが終了した場合には、LBRプロセスは引き続きステップ212に移り、各サブタスクプライオリティレベルに対して総合負荷値が判定される。ステップ212では、LBR120により、各プライオリティレベル(j)に対して負荷L(i,j)の集計が行われる。ある一定のサブタスクプライオリティレベル(j)による総合負荷は、次の式で表すことができる。
AGG(j)=L(1,j)+ L (2,j)+... L (n,j) (1)
ただし、nをプロセス数とする。
【0020】
ステップ214では、LBRプロセスが、総合負荷分散または目標比率を判定する。これらの値は、プライオリティが最も高いサブタスクの総合負荷とそれよりもプライオリティが低いサブタスクの各総合負荷との比を表している。ステップ216では、以下に説明されている方法により、対応するスケジューラが使用する各プロセスの報告サブタスクに対して総合負荷比率が報告される。
【0021】
図2は、LBRプロセスの一般化された論理フローを示している。わずか3つのプロセスと2つのサブタスクプライオリティレベルしか持たない簡易システムに適用される前記一般化論理フローの一例は、LBRプロセスを理解するうえで役立つものである。この例に関しては、簡易システムなどの最初のLBR報告インタバル中のCPU負荷分散を示す図4Aを参照しながら後で説明がなされている。ステップ200は、判定する6つのCPU負荷L(i,j)(プロセス1、2、3の各々に対して2つ)に関するものである。したがって、最初の報告インタバルでは、オペレーティングシステムによってタイムインタバルが割り当てられるプロセス1による100ミリ秒(ms)の負荷には、プライオリティの高い(プライオリティレベル1)サブタスクによる20ミリ秒が含まれ、80ミリ秒は、プライオリティの低いサブタスク(プライオリティレベル2)によるものである。同様に、プロセス2および3の負荷が、図4Aに示されている。CPU負荷の合計は、オペレーティングシステムにより各プロセスごとに100ミリ秒のタイムスライスが割り当てられることから、各プロセスに対して100ミリ秒となる。各プロセスは、タイムスライスが終了しないうちに、オペレーティングシステムに制御を引き渡すことができるが、プロセスは、オペレーティングシステムによって割り当てられるインタバルを超過してタイムスライスを増加させることはできない。本例は、最初のLBR報告インタバルに関するものであることから、ステップ210は、定義により、2つの総合負荷AGG(1)とAGG(2)(各サブタスクプライオリティレベルに1つ)が判定されるステップ212に分岐する。本例では、 AGG(1)の値が150ミリ秒、 AGG(2)の値が150ミリ秒となる。ステップ214では、1つの総合比率が判定され、 AGG(1):AGG(2)は120:180に等しい。この場合の総合負荷比率は、すべてのアクティブプロセス(この場合、3つ)に関して平均した負荷比率を示すものであり、CPU負荷は、プライオリティの高いサブタスクによるものよりも、プライオリティの低いサブタスクによるものの方が多い。
【0022】
図3は、プロセススケジューラ126の論理フローを表すフローチャートである。ステップ300では、スケジューラ126が、LBRから総合負荷分散または目標比率を取得する。次に、ステップ310では、実行可能なプライオリティの最も高い(すなわち、プライオリティレベル1)サブタスクがすべてスケジュールされ、CPUによって実行される。次にスケジュールプロセスはステップ320に進み、次のプライオリティがそれよりも低いサブタスクがスケジュールおよび実行される。ステップ330では、プロセスにより、新規のプライオリティの高い方のサブタスクがアクティブになっているか判断される。アクティブになっていれば、プロセスはステップ310に分岐して戻り、これらのサブタスクに対してスケジュールと実行がなされる。新規のプライオリティの高いサブタスクがアクティブになっていない場合は、340において、プロセスにより現行の負荷分散が判定される。
【0023】
ステップ345では、プロセスに割り当てられたCPUタイムスライスが終了しているかどうか判断がなされる。終了している場合、ステップ360に分岐して、オペレーティングシステムにプロセス制御が引き渡される。CPUタイムスライスが終了していなければ、プロセスによりステップ350にそのまま進む。ステップ350では、スケジューラにより、現行負荷分散比率が総合負荷分散比率を下回っているかどうか判断され、該プロセスは、ステップ320に分岐して戻り、割り当てられたCPUリソースがプライオリティの低いサブタスクに割り当てられる。現行負荷分散比率が総合負荷分散比率よりも低くない場合は、該プロセスはステップ360に進み、該当するプロセスに与えられた時間の割り当てを減らすことにより、該プロセスによる負荷が調整される。
【0024】
通常の技術を有する当業者であれば、図3に示されている論理フローが、2またはそれ以上のサブタスクプライオリティレベルを有するシステムに利用できることが理解できるであろう。例えば、サブタスクプライオリティレベルが3つの場合、スケジュールを行うプロセスが、まず初めに最も高いプライオリティと二番目に高いプライオリティのレベルによって表される現行の負荷分散に基づきCPU負荷を調整する。最も高いプライオリティレベルと二番目に高いプライオリティレベルを持つサブタスクがすべて完了したら、次に、ステップ350において、該プロセスにより、三番目に高いプライオリティレベルによるCPU負荷を評価し、最も高いプライオリティレベルと三番目に高いプライオリティレベルに関する負荷分散が総合比率の値に達した時点で負荷を調整することにより、分散比率が判定される。
【0025】
図4Aに関してすでに説明された簡易例に戻って説明すると、図4Bの表に、二番目のLBR報告インタバル中の負荷分散が示されている。このCPU負荷分散は、プロセス1および2のスケジューラ126の結果として、前記二番目のLBR報告インタバル中に調整される。この負荷分散は、新規のプライオリティの高いサブタスクが、いずれも前記二番目の報告インタバル中にアクティブになっていない簡潔な状況を表している。しかし、通常は、新規のプライオリティの高いサブタスクはアクティブになり、プロセス内の負荷分散は変化する。重要なのは、20ミリ秒のプライオリティの高い作業と30ミリ秒のプライオリティの低い作業が行われた後に、プロセス1が目標分散比率である120:180に達することから、プロセス1のスケジューラ126が50ミリ秒後にCPUリソースを自発的に放棄する点である。プロセス2の元の負荷分散が目標となる分散比率に等しいことから、プロセス2の負荷分散は変化しない。さらに、プロセス3は、最初のLBR報告インタバルに見られるように、60ミリ秒のプライオリティの高い作業と40ミリ秒のプライオリティの低い作業を実行する。プロセス3は、90ミリ秒のプライオリティの低い作業を実行して目標分散比率を達成する必要があるが、オペレーティングシステムにより100ミリ秒の時間しか割り当てられていない。
【0026】
次に、二番目のLBR報告インタバル中に、プロセス1によるCPU負荷が100ミリ秒から50ミリ秒に減少したことが明らかに示されている。したがって、LBR実装を伴わない場合に比べて50ミリ秒早く、CPUリソースがプロセス2およびプロセス3に割り当てられる。このため、プロセス3の範囲内のプライオリティの高いサブタスクは、LBR実装があることから、早くアドレス指定される。これにより、比較的大きい割合を占めるプライオリティの高いサブタスクを処理しているプロセスに対して、CPUリソースがより頻繁に割り当てられることになる。
【0027】
前記3つのプロセスにおいて三番目と四番目のLBR報告インタバルをさらに繰り返した2つのプライオリティレベルの例が、図4Cと図4Dにそれぞれ示されている。図4Cについて説明すると、プロセス1に充てられたCPUリソースは、さらに、41.6ミリ秒まで減少する。同じく、プロセス2に充てられたCPUリソースは、100ミリ秒(図4B)から83.2ミリ秒に減少する。負荷分散比率が最も高い(60:40)プロセス3は、(42+83=)125ミリ秒後の処理時間、すなわち、図4Bによって示される前回の反復時に比べて約25ミリ秒早い時間を受信する。図4Dについて説明すると、(38+75=)113ミリ秒後に、CPUリソースがプロセス3に割り当てられる。LBRをさらに反復していくと、総合負荷分散比率がさらに低下して、等しい負荷分散が得られる方向へ各アプリケーションプロセスが移動していくことが明らかである。
【0028】
したがって、本発明により、CPUリソースは、比較的低い割合を占めるプライオリティの高いサブタスクによって占有されているプロセスから、比較的高い割合を占めるプライオリティの高いサブタスクによって占有されているアプリケーションプロセスへと変化する。以上の説明は、本発明の好適な1実施例に対してのみなされたものである。本明細書を一読すれば、他の多くの変更や修正が可能なことは、通常の技術を有する当業者にとって明らかである。本発明の範囲は、そのような変更や修正すべてを網羅するものであり、その範囲は、添付したクレームによって定義される。
【図面の簡単な説明】
【図1】本発明の好適な実施例によるコンピュータプラットフォームの構造とプライオリティに基づく負荷分散システムを示す略図である。
【図2】本発明の好適な実施例によるLBRプロセスを示すフローチャートである。
【図3】本発明の好適な実施例によるプロセススケジューラを示すフローチャートである。
【図4A】本発明による最初のLBR報告インタバルにおけるプロセス負荷分散を示す表である。
【図4B】本発明による二番目のLBR報告インタバルにおけるCPU負荷分散を示す表である。
【図4C】本発明による三番目のLBR報告インタバルにおけるCPU負荷分散を示す表である。
【図4D】本発明による四番目のLBR報告インタバルにおけるCPU負荷分散を示す表である。

Claims (18)

  1. 中央処理装置(CPU)と複数のアクティブなアプリケーションプロセスを実行するオペレーティングシステムを有し、前記オペレーティングシステムが各プロセスにCPUリソースを割り当て、各プロセスが複数のサブタスクを具備し、各サブタスクが複数のプライオリティレベルのうちの一つに割り当てられ、前記プライオリティレベルが最も高いプライオリティレベルと少なくとも1つのそれよりも低いプライオリティレベルを具備するデジタル処理システムにおいて、
    a)各プロセスに対し、負荷分散比率が、該当するプロセス内のプライオリティが最も高いサブタスクに割り当てられるCPUリソースとそれよりもプライオリティが低い各レベルのサブタスクに割り当てられるCPUリソースの比を表している負荷分散比率を判定するステップと、
    b)各プロセス間で、プライオリティが最も高いサブタスクに割り当てられるCPUリソースの合計とそれよりもプライオリティが低い各レベルのサブタスクに割り当てられるCPUリソースの合計の比を表している総合負荷分散比率を判定するステップと、
    c)選択されたプロセスの負荷分散比率が総合負荷分散比率と異なっている場合に、前記選択されたプロセスに割り当てられるCPUリソースを調整するステップと、
    から成る前記CPUの負荷を分散する方法。
  2. 前記調整ステップが、前記選択されたプロセスに割り当てられるCPUリソースを制限するステップとから成る請求項1に記載の方法。
  3. 前記サブタスクが2つのプライオリティレベルのうちの1つに割り当てられる請求項1に記載の方法。
  4. 前記調整ステップが、さらに
    i)前記総合負荷分散比率を前記選択プロセスに報告するステップと、
    ii)前記選択プロセスの現行負荷分散比率を判定するステップと、
    iii)前記選択プロセスの前記現行負荷分散比率が前記総合負荷分散比率と等しいかそれ以上の場合に、前記オペレーティングシステムによって前記選択プロセスに割り当てられたCPUリソースの一部が放棄されるステップと、
    から成る請求項1に記載の方法。
  5. 前記負荷分散比率を判定するステップが、
    i)プライオリティが最も高いサブタスクによって占有されているCPUタイムの総計を判定するステップと、
    ii)それよりもプライオリティの低い各レベルのサブタスクによって占有されているCPUタイムの総計を判定するステップと、
    から成る請求項1に記載の方法。
  6. 複数のプロセスを実行する少なくとも1台の中央処理装置(CPU)を有し、各プロセスが複数のサブタスクを具備するデジタル処理システムにおいて、
    a)前記サブタスクの各々に対して高低いずれかのプライオリティレベルを割り当てるステップと、
    b)各プロセスに対し、プライオリティの高いタスクによる負荷とプライオリティの低いタスクによる負荷の比として定義される負荷分散比率を判定するステップと、
    c)各プロセスの負荷分散比率を合計することにより総合負荷分散比率を判定するステップと、
    d)少なくとも1つの選択プロセスの負荷分散比率が前記総合負荷分散比率と異なる場合に、前記選択プロセスによる負荷を調整するステップと、
    から成る前記少なくとも1台のCPUにかかる負荷を分散させる方法。
  7. 前記調整ステップが前記選択プロセスに割り当てられたCPUリソースを制限するステップから成る請求項6に記載の方法。
  8. 前記調整ステップが、さらに、
    前記総合負荷分散比率を前記選択プロセスに報告するステップと、
    前記選択プロセスの現行負荷分散比率を判定するステップと、
    前記選択プロセスの前記現行負荷分散比率が前記総合負荷分散比率と等しいかそれ以上の場合に、前記オペレーティングシステムによって前記選択プロセスに割り当てられたCPUリソースの一部が放棄されるステップと、
    から成る請求項6に記載の方法。
  9. 前記負荷分散比率を判定するステップが、
    プライオリティが最も高いサブタスクによって占有されているCPUタイムの総計を判定するステップと、
    それよりもプライオリティの低い各レベルのサブタスクによって占有されているCPUタイムの総計を判定するステップと、
    から成る請求項6に記載の方法。
  10. メモリに記憶された複数の非通信プロセスを実行する中央処理装置を有し、各プロセスが複数のサブタスクを具備するタイムシェアリングデジタル処理システムにおいて、
    a)最も高いプライオリティレベルと少なくとも1つのそれよりも低いプライオリティレベルを含む複数のプライオリティレベルのうちの1つを各サブタスクに割り当てるステップと、
    b)プライオリティが最も高いサブタスクによる前記総合CPUリソースとそれよりもプライオリティが低い各レベルのサブタスクによる各プロセス間の総合CPU負荷の比に基づき目標負荷分散比率を定期的に判定するステップと、
    c)少なくとも1つの選択プロセスの前記負荷分散比率が前記目標負荷分散比率に等しい場合に、前記選択プロセスによる負荷を制限するステップと、
    から成る負荷分散方法。
  11. 前記制限ステップが、前記中央処理装置のタイムスライスの一部をオペレーティングシステムに引き渡すステップから成る請求項10に記載の方法。
  12. 前記プライオリティレベルを割り当てるステップが、さらに、2つのプライオリティレベルのうちの1つを割り当てるステップから成る請求項10に記載の方法。
  13. 前記制限するステップが、さらに、
    i)前記目標負荷分散比率を前記選択プロセスに報告するステップと、
    ii)前記選択プロセスの現行負荷分散比率を判定するステップと、
    iii)前記選択プロセスの前記現行負荷分散比率が前記目標負荷分散比率と等しいかそれ以上の場合に、前記オペレーティングシステムによって前記選択プロセスに割り当てられたCPUタイムの一部が放棄されるステップと、
    から成る請求項10に記載の方法。
  14. 前記負荷分散比率を判定するステップが、
    i)プライオリティの最も高いサブタスクによって占有されているCPUタイムの総計を判定するステップと、
    ii)それよりもプライオリティの低い各レベルのサブタスクによって占有されているCPUタイムの総計を判定するステップと、
    から成る請求項10に記載の方法。
  15. 複数のアプリケーションプロセスを実行する中央処理装置と前記アプリケーションプロセスに対応する命令を記憶するメモリとを具備し、前記プロセスの各々が複数のサブタスクを有し、サブタスクの各々に高低いずれかのプライオリティレベルが割り当てられているデジタル処理システムにおいて、
    a)対応するプロセス内のサブタスクの実行をスケジューリングするプロセスの各々に関連し、各スケジューラが該プロセス内のプライオリティの高いサブタスクと低いサブタスクの間の負荷分散を判定するスケジューラと、
    b)各プロセスから負荷分散を受信し、目標負荷分散を判定する負荷分散リポジトリと、
    c)対応するプロセスの負荷分散が目標負荷分散と異なる場合に、対応するプロセスによる負荷を制限する各スケジューラと、
    から成る前記中央処理装置の負荷を分散するシステム。
  16. 前記負荷分散リポジトリが、プライオリティの高いサブタスクによる中央処理装置の総合負荷とプライオリティの低いサブタスクによる中央処理装置の総合負荷の比に基づき目標負荷分散を判定する請求項15に記載のシステム。
  17. 各スケジューラに、前記負荷分散リポジトリに対応する負荷分散を報告する報告サブタスクが設けられている請求項15に記載のシステム。
  18. 前記対応するプロセスの負荷分散が前記目標負荷分散に等しいかそれ以上の場合に、オペレーティングシステムによって対応するプロセスに割り当てられたタイムスライスの一部が放棄されるように各スケジューラが作成されている請求項15に記載のシステム。
JP36986898A 1998-01-05 1998-12-25 タイムシェアリングシステムにおける非通信プロセス間のプライオリティに基づく負荷分散 Expired - Fee Related JP3585755B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/002982 1998-01-05
US09/002,982 US6148324A (en) 1998-01-05 1998-01-05 Prioritized load balancing among non-communicating processes in a time-sharing system

Publications (2)

Publication Number Publication Date
JPH11249913A JPH11249913A (ja) 1999-09-17
JP3585755B2 true JP3585755B2 (ja) 2004-11-04

Family

ID=21703499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36986898A Expired - Fee Related JP3585755B2 (ja) 1998-01-05 1998-12-25 タイムシェアリングシステムにおける非通信プロセス間のプライオリティに基づく負荷分散

Country Status (3)

Country Link
US (1) US6148324A (ja)
EP (1) EP0927932A3 (ja)
JP (1) JP3585755B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101958112B1 (ko) * 2017-09-29 2019-07-04 건국대학교 산학협력단 태스크 스케줄링 장치 및 태스크 스케줄링 방법

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269410B1 (en) * 1999-02-12 2001-07-31 Hewlett-Packard Co Method and apparatus for using system traces to characterize workloads in a data storage system
US6446218B1 (en) 1999-06-30 2002-09-03 B-Hub, Inc. Techniques for maintaining fault tolerance for software programs in a clustered computer system
AU7596500A (en) 1999-09-20 2001-04-24 Quintiles Transnational Corporation System and method for analyzing de-identified health care data
US6725456B1 (en) * 1999-11-29 2004-04-20 Lucent Technologies Inc. Methods and apparatus for ensuring quality of service in an operating system
JP2001222436A (ja) * 1999-12-30 2001-08-17 Internatl Business Mach Corp <Ibm> リソースの自動化管理をサポートする方法、そのシステム、およびその記録媒体
US6658449B1 (en) * 2000-02-17 2003-12-02 International Business Machines Corporation Apparatus and method for periodic load balancing in a multiple run queue system
US6980533B1 (en) * 2000-04-19 2005-12-27 Lucent Technologies Inc. Load balancing technique for a wireless internet access system
US6622190B1 (en) * 2000-04-27 2003-09-16 Sharp Laboratories Of America Method for modifying task execution priority in a multitasking, windowed operating environment
US6981260B2 (en) * 2000-05-25 2005-12-27 International Business Machines Corporation Apparatus for minimizing lock contention in a multiple processor system with multiple run queues when determining the threads priorities
US7016412B1 (en) 2000-08-29 2006-03-21 Koninklijke Philips Electronics N.V. System and method for dynamic adaptive decoding of scalable video to balance CPU load
US20020040381A1 (en) * 2000-10-03 2002-04-04 Steiger Dianne L. Automatic load distribution for multiple digital signal processing system
JP2002259147A (ja) * 2001-02-27 2002-09-13 Hitachi Ltd 情報処理装置及びリアルタイム分散処理システム
US7222347B2 (en) * 2001-03-29 2007-05-22 Intel Corporation Method and apparatus for processing real-time events associated with a wireless communication protocol
EP1262871A3 (en) * 2001-06-01 2007-05-30 Telogy Networks Real-time embedded resource management system
US20030023660A1 (en) * 2001-06-01 2003-01-30 Bogdan Kosanovic Real-time embedded resource management system
JP4058752B2 (ja) * 2001-12-11 2008-03-12 日本電気株式会社 携帯情報端末装置
JP3891273B2 (ja) * 2002-03-05 2007-03-14 日本電気株式会社 トランザクション処理の負荷分散方法およびそのシステム
DE60210576T2 (de) * 2002-04-03 2007-02-15 Alcatel Verfahren und Vorrichtungen zur Umordnung von Paketen in einem Netzwerkprozessor
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
US7020877B2 (en) * 2002-05-20 2006-03-28 Dell Products L.P. Method to distribute periodic task workload
US6920320B2 (en) * 2002-09-30 2005-07-19 Lucent Technologies Inc. Method and apparatus for stable call preservation
JP3864251B2 (ja) * 2002-12-06 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション メッセージ処理装置、メッセージ処理方法、及びメッセージ処理プログラム
JP2005100356A (ja) * 2003-08-29 2005-04-14 Seiko Epson Corp プリンタ制御用プログラムおよび文書操作端末、並びに文書処理システム、印刷データ作成方法
US7317706B1 (en) * 2003-12-11 2008-01-08 Nortel Networks Limited Fair share scheduling method in a CDMA paging system
US7448022B1 (en) 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
JP2005301812A (ja) * 2004-04-14 2005-10-27 Hitachi Ltd デジタル制御装置およびこれを用いたエンジン制御装置
US7784054B2 (en) * 2004-04-14 2010-08-24 Wm Software Inc. Systems and methods for CPU throttling utilizing processes
US7770173B2 (en) * 2005-02-03 2010-08-03 International Business Machines Corporation System for dynamic processor enablement
EP1737180B1 (en) 2005-06-06 2018-12-26 Comptel Corporation System and method for processing data records in a mediation system
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US7830388B1 (en) * 2006-02-07 2010-11-09 Vitie Inc. Methods and apparatus of sharing graphics data of multiple instances of interactive application
EP2101232A1 (en) * 2006-10-24 2009-09-16 Triphase NV A reliable system for real-time process control
KR101286700B1 (ko) * 2006-11-06 2013-07-16 삼성전자주식회사 멀티 코어 프로세서 시스템에서 로드 밸런싱을 위한 장치및 방법
US8799902B2 (en) * 2007-04-09 2014-08-05 Intel Corporation Priority based throttling for power/performance quality of service
US8959516B2 (en) 2007-07-30 2015-02-17 International Business Machines Corporation Methods and systems for coordinated financial transactions in distributed and parallel environments
US8640131B2 (en) * 2008-01-18 2014-01-28 Microsoft Corporation Demand-based processor cycle allocation subsequent to equal group-based processor cycle distribution
EP2083532B1 (en) 2008-01-23 2013-12-25 Comptel Corporation Convergent mediation system with improved data transfer
EP2083533B1 (en) 2008-01-23 2013-10-16 Comptel Corporation Convergent mediation system with dedicated online streams
EP2107464A1 (en) 2008-01-23 2009-10-07 Comptel Corporation Convergent mediation system with dynamic resource allocation
US9213953B1 (en) * 2008-09-15 2015-12-15 Amazon Technologies, Inc. Multivariable load balancing in a fulfillment network
US8255914B1 (en) * 2008-09-25 2012-08-28 Emc Corporation Information retrieval techniques involving the use of prioritized object requests
US8243073B2 (en) * 2009-01-28 2012-08-14 International Business Machines Corporation Tree insertion depth adjustment based on view frustum and distance culling
US8350846B2 (en) * 2009-01-28 2013-01-08 International Business Machines Corporation Updating ray traced acceleration data structures between frames based on changing perspective
US9569257B2 (en) * 2009-05-27 2017-02-14 Sap Se Method and system to perform time consuming follow-up processes
DE102009043253A1 (de) * 2009-09-28 2011-03-31 Siemens Aktiengesellschaft Verfahren zur Verminderung der Wartezeit bei erstmaliger Durchführung von Arbeitsschritten
KR101653204B1 (ko) * 2010-03-16 2016-09-01 삼성전자주식회사 멀티 코어 시스템에서 데이터 병렬 처리를 위한 동적 태스크 관리 시스템 및 방법
JP5770721B2 (ja) * 2010-05-24 2015-08-26 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 情報処理システム
US8692825B2 (en) 2010-06-24 2014-04-08 International Business Machines Corporation Parallelized streaming accelerated data structure generation
WO2013021223A1 (en) * 2011-08-05 2013-02-14 Intel Corporation Method and system for work partitioning between processors with work demand feedback
US8650538B2 (en) 2012-05-01 2014-02-11 Concurix Corporation Meta garbage collection for functional code
US8726255B2 (en) 2012-05-01 2014-05-13 Concurix Corporation Recompiling with generic to specific replacement
JP5845351B2 (ja) * 2012-07-06 2016-01-20 ▲華▼▲為▼終端有限公司Huawei Device Co., Ltd. リソース割当方法及び装置
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
US8793669B2 (en) 2012-07-17 2014-07-29 Concurix Corporation Pattern extraction from executable code in message passing environments
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US11126466B2 (en) * 2019-02-26 2021-09-21 Sap Se Server resource balancing using a fixed-sharing strategy
US11307898B2 (en) 2019-02-26 2022-04-19 Sap Se Server resource balancing using a dynamic-sharing strategy
CN112559176A (zh) * 2020-12-11 2021-03-26 广州橙行智动汽车科技有限公司 一种指令处理方法和装置
US20230076061A1 (en) * 2021-09-07 2023-03-09 Hewlett Packard Enterprise Development Lp Cascaded priority mapping

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481583A (en) * 1981-10-30 1984-11-06 At&T Bell Laboratories Method for distributing resources in a time-shared system
CA1318409C (en) * 1988-10-27 1993-05-25 Dennis L. Debruler Multiprocessor load sharing arrangement
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
CA2078195C (en) * 1991-11-27 1999-03-09 Jack Kozik Arrangement for detecting fraudulently identified mobile stations in a cellular mobile telecommunications network
JP2682770B2 (ja) * 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
CA2109788C (en) * 1992-11-30 2000-01-18 Salman Yousef Abbasi Microcell including remote radio channel units having a metallic microcell-macrocell wire link to a macrocell radio control complex
US5652885A (en) * 1993-05-25 1997-07-29 Storage Technology Corporation Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
US5519867A (en) * 1993-07-19 1996-05-21 Taligent, Inc. Object-oriented multitasking system
ATE195185T1 (de) * 1993-09-24 2000-08-15 Siemens Ag Verfahren zum lastausgleich in einem multiprozessorsystem
JP3658420B2 (ja) * 1994-04-14 2005-06-08 株式会社日立製作所 分散処理システム
US5615249A (en) * 1994-11-30 1997-03-25 Lucent Technologies Inc. Service prioritization in a cellular telephone system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101958112B1 (ko) * 2017-09-29 2019-07-04 건국대학교 산학협력단 태스크 스케줄링 장치 및 태스크 스케줄링 방법

Also Published As

Publication number Publication date
EP0927932A3 (en) 1999-07-14
US6148324A (en) 2000-11-14
JPH11249913A (ja) 1999-09-17
EP0927932A2 (en) 1999-07-07

Similar Documents

Publication Publication Date Title
JP3585755B2 (ja) タイムシェアリングシステムにおける非通信プロセス間のプライオリティに基づく負荷分散
US6785889B1 (en) System and method for scheduling bandwidth resources using a Kalman estimator with active feedback
EP0473444B1 (en) Scheduling method for multiprocessor operating system
US5999963A (en) Move-to-rear list scheduling
US6237058B1 (en) Interrupt load distribution system for shared bus type multiprocessor system and interrupt load distribution method
US5031089A (en) Dynamic resource allocation scheme for distributed heterogeneous computer systems
US8695004B2 (en) Method for distributing computing time in a computer system
CN113064712B (zh) 基于云边环境的微服务优化部署控制方法、系统及集群
AU748321B2 (en) Method for allocating tasks, data processing system, client data processing node, and computer-readable storage medium
AU2242301A (en) Dynamic negotiation of resources for user equipment in wireless communications system
US20190014059A1 (en) Systems and methods for allocating computing resources in distributed computing
KR100479306B1 (ko) 작업 흐름 관리 방법 및 장치 및 수행 명령어를 포함하는 컴퓨터 판독가능 매체
CA2382718C (en) Memory balancing and optimization services
EP0863680B1 (en) Method and apparatus for improved call control scheduling in a distributed system with dissimilar call processors
CN116010064A (zh) Dag作业调度和集群管理的方法、系统及装置
US20030028582A1 (en) Apparatus for resource management in a real-time embedded system
CN114416355A (zh) 资源调度方法、装置、系统、电子设备及介质
KR100644190B1 (ko) 무선 자원 관리 프로시저 스케줄링 방법
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
Dandamudi The effect of scheduling discipline on sender-initiated and receiver-initiated adaptive load sharing in homogeneous distributed systems
JP2003067203A (ja) 実時間組み込みリソース管理システム
JPH11195007A (ja) 分散処理システム及び分散処理方法
CN117234740B (zh) 一种gpu硬件资源的调度方法、装置、设备及介质
CN111601006B (zh) 一种基于呼叫任务分配呼叫坐席的方法及装置
CN113157404B (zh) 任务处理方法和装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040317

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040804

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees