JP2005513587A - マルチポリシーリソーススケジューリングのための方法およびシステム - Google Patents

マルチポリシーリソーススケジューリングのための方法およびシステム Download PDF

Info

Publication number
JP2005513587A
JP2005513587A JP2002588372A JP2002588372A JP2005513587A JP 2005513587 A JP2005513587 A JP 2005513587A JP 2002588372 A JP2002588372 A JP 2002588372A JP 2002588372 A JP2002588372 A JP 2002588372A JP 2005513587 A JP2005513587 A JP 2005513587A
Authority
JP
Japan
Prior art keywords
policy
computer system
module
master
modules
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.)
Granted
Application number
JP2002588372A
Other languages
English (en)
Other versions
JP4112375B2 (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 JP2005513587A publication Critical patent/JP2005513587A/ja
Application granted granted Critical
Publication of JP4112375B2 publication Critical patent/JP4112375B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Landscapes

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

Abstract

複数のプロセスをサポートするようにされたコンピュータシステムの複数のリソースの割付を管理する方法は、マスタポリシーに従って、照会する複数のポリシーモジュールのうちの1つを選択するステップを含み、各々のポリシーモジュールは、複数のプロセスのうちの1つ以上によって必要とされるリソースの割付と関連付けられ、かつそれを管理する。次に選択されたポリシーモジュールに対して、照会が発せられ得る。発せられた照会に応答して、複数のリソースのうちの1つの割付の要求が受取られ得る。複数のリソースのうちの要求された1つを指定するリソース割付命令は次に、ディスパッチャに対して発せられ得、ディスパッチャは、選択されたリソースを選択されたプロセスに結び付けるように設定される。リソース割付命令が次に実行され得、実行するステップは、複数のリソースのうちの要求された1つを、選択されたポリシーモジュールと関連付けられた1つまたは複数のプロセスに結び付けるのに有効である。

Description

発明の背景
1.発明の分野
本発明は一般的に、コンピュータシステムにおけるリソースの動的割付に関する。
2.関連技術の説明
一定の組のシステムリソース(たとえば共有データ、入出力、記憶スペース)が1組のプロセスの間で共有されるときは常に、集中リソースディスパッチャは通常、これらのリソースを割当て、かつ取戻すことを任されている。このようなスケジューリングは従来、単一のポリシーに従って実行され、この単一のポリシーは典型的にリソースディスパッチャにおいてハードコードされている。図1は、関連技術に従って、リソース104,106および108を、コンピュータシステムにおけるアプリケーションおよび/またはプロセス110,112および114に割付け、かつそれらのリソースをスケジュールするための単一のポリシー102を含む、システム100の例を示す。そこに示されるように、単一のポリシー102は、(ラウンドロビン、先入れ先出し(FIFO)等の)ある予め決められたポリシーに従って、116,118および120に示したように、リソースをアプリケーション110,112および114に与える。代わりに、アプリケーションは、同様に矢印116,118および120によって示したように、同期的にまたは非同期的に、必要とされるリソースをポリシー102およびディスパッチャ102に要求し得る。いずれにせよ、単一の割付/スケジューリングポリシーおよびディスパッチャ102は次に、リソース104,106および108をアプリケーション110,112および114に選択的に割付得る。すなわち、図1に示したように、単一の割付/スケジューリングポリシーおよびディスパッチャ102は、たとえばリソース104をアプリケーション1に、リソース2をアプリケーション3に、およびリソース3をアプリケーション2に結び付け得る。
あいにく、かなり用途の広いソフトウェアシステムにおいて、現在のおよび将来のタスク全ての要件を最適に満たす際に効果的である、単一のスケジューリングポリシーを考案することは困難である、またはおそらく不可能であろうと考えられている。たとえば、新しいアプリケーションを図1のシステム100に追加する場合、単一のポリシー102は、そこにリソースを効率的に割付けかつディスパッチしないかもしれない。これは当初ポリシー102を設計したシステム設計者が、おそらく、新しく追加されたアプリケーションのリソース要件の予備知識を持っていなかったためである。システム設計者は、トレードオフを行なうよう強いられることが多く、これは当初考案されたアプリケーション、およびシステム設計者がシステム100で適度に実行することができるであろうと考えるアプリケーションに対し、せいぜい、かろうじて容認可能なサービスしか与えられない。
単一のポリシー環境において、リソースの割付の効率を向上させるための、一般的に容認された2つのスキームがある。第1に、単一のポリシーが好適にパラメータ化され、かつこれらのパラメータを動的に変更することができる場合、実行時におけるリソースのスケジューリングに影響を与えることが可能であり得る。しかしながら、相変わらず、同じポリシーがすべてのプロセスに適用されるため、最適な態様でそれらのリソースのニーズを満たすことができない。第2に、リソースおよびプロセスまたはアプリケーションを(静的または動的な態様で)クラスに区分して、クラス内のすべてのリソースが同じポリシ
ーによって管理されるようにし得る。そうすると、各々のクラス内で、適切な態様で、リソースをスケジュールすることが可能になる。しかしながら、この区分のため、1つのクラスに区分されたプロセスおよび/またはアプリケーションは、他のクラスに区分されたリソースにアクセスできないかもしれず、新しいタイプのアプリケーションまたはプロセスは、既存のクラスのうちの1つの中で適合するようにされる必要があるであろう、または新しいプロセスもしくはアプリケーションのために、別のクラスが生成されなければならないかもしれない。
これらのスキームの双方に共通の問題は、パラメータを修正する、またはプロセス/リソースを区分すると、新しいリソーススケジューリングポリシーのオンザフライの生成ができないということである。システム設計者は、しばしば、現在のおよび将来のアプリケーションが必要とし得る、考え得るリソース割付ポリシーのすべてを正確に予測し実現するという、困難または不可能な課題に直面する。
したがって、コンピュータシステムにおいて、リソースをより効率的に割付けるための方法およびシステムが必要とされる。
発明の概要
それゆえに、本発明の目的は、コンピュータシステムにおいて、リソースを効率的に割付けるための、方法およびシステムを提供することである。
したがって、本発明に従ったコンピュータシステムは、リソース、プロセス、第1のポリシーモジュール、マスタポリシーおよびディスパッチャを含む。ポリシーモジュールは、プロセスに関連付けられ、少なくとも、リソースのプロセスへの割付を要求する、リソース割付要求を発するようにされる。マスタポリシーは、ポリシーモジュール照会スケジュールに従って第1のポリシーモジュールに照会し、リソース割付要求を受取り、かつ対応するリソース割付命令を発するように設定されている。ディスパッチャは、リソース割付命令に従って、要求されたリソースをプロセスに結び付けるように設定されている。
さらに他の実施例に従うと、プロセスは、複数のプロセスのうちの1つであるかもしれず、第1のポリシーモジュールは、複数のポリシーモジュールのうちの1つであるかもしれない。複数のポリシーモジュールのうちの少なくとも1つは、複数のプロセスのうちの少なくとも1つに関連付けられ、マスタポリシーは、複数のポリシーモジュールに選択可能に照会するようにされる。マスタポリシーは、設定可能な統計的な照会分布に従って、複数のポリシーモジュールの各々に照会するようにされ得る。代わりに、マスタポリシーは、複数のポリシーモジュールのうちの選択された1つに、複数のポリシーモジュールのうちの他のいずれか1つに照会する前に、照会するようにされ得る。プロセスはアプリケーションを含み得る。リソースは、たとえばデータ構造、処理サイクル、記憶装置、共有メモリ、入出力ポート、プロセスまたは別のコンピュータシステムといった、コンピュータシステムにアクセス可能な複数のリソースのうちの1つであるかもしれない。システムは、第1のポリシーモジュールに関連付けられた第2のポリシーモジュールをさらに含み得る。第1のポリシーモジュールがリソース割付要求を発さない場合に、マスタポリシーによって照会されたとき、第2のポリシーモジュールは、リソース割付要求を発するようにされ得る。第1のポリシーモジュールは、選択可能に変更できるポリシーモジュールパラメータを含み得る。ポリシーモジュールパラメータの値は、リソース割付要求の内容に影響を与え得る。ポリシーモジュールパラメータは、たとえば、実行時にプロセスによって選択可能に変更できるかもしれない。マスタポリシーモジュールは、実行時に選択可能に変更可能であり得る、選択可能に変更できるマスタポリシーパラメータを含み得る。マスタポリシーパラメータの値は、マスタポリシーのポリシーモジュール照会スケジュール
に影響を与え得る。システムは、第3のポリシーモジュールをさらに含み得、第3のポリシーモジュールは、プロセスに関連付けられ、かつマスタポリシーによって照会されたとき、リソース割付要求を発するようにされる。複数のプロセスのうちのいくつかは、あるクラスのプロセスのメンバであり得、複数のポリシーモジュールのうちの少なくとも1つは、そのクラスのプロセスのいずれかのメンバの代わりに、リソース割付要求を発するようにされ得る。複数のリソースのうちのいくつかは、あるクラスのリソースのメンバであり得、複数のポリシーモジュールのうちの少なくとも1つは、1つのまたは複数のプロセスの代わりに、そのクラスのリソースのメンバであるいずれかのリソースのリソース割付要求を発するようにされ得る。システムはまた、ポリシーデータ構造を含み得、ポリシーデータ構造は、複数のプロセスのうちの1つ以上に関連付けられた、複数のポリシーモジュールの各々への参照を含む。マスタポリシーは、ポリシーデータ構造で参照されたポリシーモジュールのみに照会するように設定され得る。
システムは、たとえば、複数のプロセスのいずれにも関連付けられず、かつマスタポリシーによって呼出されたときに、マスタポリシーパラメータの選択的な変更および/または1つ以上の予め定められたジョブの実行を選択的に行なうように設定され得る、1つ以上のユーティリティポリシーモジュールをさらに含み得る。ポリシーデータ構造は、マスタポリシーによって選択可能に呼び出されたこれらのユーティリティポリシーモジュールへの参照をさらに含み得る。たとえば、ユーティリティポリシーモジュールは、たとえば選択可能な間隔でポリシーデータ構造を再生成させるように設定され得る。システムは、第2のポリシーモジュールをさらに含み得、マスタポリシーに対する第2のポリシーモジュールを、リソース割付要求のための照会に対するポリシーモジュールと認識するように適合され得る。システムは、複数のポリシーモジュールの各々にアクセス可能なリソースデータ構造をさらに含み得る。リソースデータ構造は、コンピュータシステムにアクセス可能な、複数のリソースの各々の1つへの参照を含み得る。複数のポリシーモジュールのうちの1つ以上は、(たとえば)リソース割付要求を発する前に、リソースデータ構造にアクセスするように設定され得る。
本発明はまた、複数のプロセスをサポートするようにされたコンピュータシステムの複数のリソースの割付を管理する方法であり、上記方法は、マスタポリシーに従って、照会する複数のポリシーモジュールのうちの1つを選択するステップを含み、複数のポリシーモジュールの各々のポリシーモジュールは、複数のプロセスのうちの少なくとも1つによって要求されたリソースの割付に関連付けられ、かつ割付を管理する。上記方法はさらに、複数のポリシーモジュールのうちの選択された1つへの照会を発するステップと、発せられた照会に応答して、複数のリソースのうちの1つを割付ける要求を受取るステップと、ディスパッチャへのリソース割付命令を発するステップとを含み、ディスパッチャは選択されたリソースを選択されたプロセスに結び付けるように設定され、リソース割付命令は、複数のリソースのうちの要求された1つを指定する。上記方法はさらに、リソース割付命令を実行するステップを含み、上記実行するステップは、複数のリソースのうちの要求された1つを、複数のポリシーモジュールのうちの選択された1つに関連付けられた、複数のプロセスのうちの少なくとも1つに結び付けるのに有効である。
たとえば、マスタポリシーは、選択するステップを引起して、設定可能な統計的な照会分布に従って複数のポリシーモジュールの各々に照会するようにされ得る。代わりに、マスタポリシーはたとえば、選択するステップを引起して、複数のポリシーモジュールのうちの1つを、複数のポリシーモジュールのうちの他のいずれか1つを選択する前に、選択するように適合され得る。複数のポリシーモジュールは、選択されたポリシーモジュールに関連付けられた階層的に下位のポリシーモジュールを含み、選択するステップは、リソース割付要求が、選択されたポリシーモジュールから受取られないときに、階層的に下位のポリシーモジュールを選択し得る。複数のポリシーモジュールのうちの1つ以上はパラ
メータ化されて、ポリシーモジュールパラメータを含み得、その値はリソース割付要求の内容に影響を与え得る。上記方法は、ポリシーモジュールパラメータを選択的に変更するステップをさらに含み得る。このような選択的に変更するステップは、実行時にたとえば、パラメータ化されたポリシーモジュールに関連付けられた、1つまたは複数のプロセスによって、実行され得る。マスタポリシーは、選択可能に変更できるマスタポリシーパラメータを含み得る。マスタポリシーパラメータの値は、複数のポリシーモジュールのうちどれが選択するステップによって選択されるかに影響を及ぼし得る。方法は、実行時にマスタポリシーパラメータの値を設定するステップをさらに含み得る。複数のプロセスのうちのいくつかは、あるクラスのプロセスのメンバであるかもしれず、複数のポリシーモジュールのうちの少なくとも1つは、そのクラスのプロセスのいずれかのメンバに代わって、リソース割付要求を発するステップを実行し得る。複数のリソースのうちのいくつかは、あるクラスのリソースのメンバであるかもしれない。複数のポリシーモジュールのうちの1つ以上は、そのクラスのリソースのメンバであるいずれかのリソースのリソース割付要求を発するステップを実行し得る。コンピュータシステムは、ポリシーデータ構造をさらに含み得、ポリシーデータ構造は、複数のプロセスのうちの少なくとも1つに関連付けられた複数のポリシーモジュールの各々への参照を含み、マスタポリシーは、選択するステップを引起して、ポリシーデータ構造において参照されたポリシーモジュールからのみ選択し得る。
コンピュータシステムは、複数のプロセスのうちのいずれにも関連付けられない1つ以上のユーティリティポリシーモジュールを含み得る。マスタポリシーによって呼出されたとき、ユーティリティポリシーモジュールは、たとえば、マスタポリシーパラメータを設定するためのマスタポリシーパラメータ設定ステップおよび/または予め定められたジョブを実行するための実行ステップ等の、少なくとも1つの予め定められたステップを実行させ得る。ポリシーデータ構造は、これらのユーティリティポリシーモジュールへの参照をさらに含み得る。予め定められたジョブは、たとえば選択可能な間隔で、ポリシーデータ構造を再生成するステップを含み得る。コンピュータシステムは、複数のポリシーモジュールの各々にアクセス可能なリソースデータ構造をさらに含み得る。リソースデータ構造は、コンピュータシステムにアクセス可能な複数のリソースの各々の1つへの参照を含み得る。複数のポリシーモジュールのうちの少なくとも1つは、(たとえば)リソース割付要求を発する前に、リソースデータ構造にアクセスするステップを実行し得る。
発明の説明
機能の説明
図2は、本発明に従って、リソースをスケジュールし、かつリソースをアプリケーションおよび/またはプロセスに割付けるように設定された、コンピュータシステム200を示している。そこに示されるように、本発明のコンピュータシステム200は、R1,R2,R3およびR4といった複数のリソース210を含み、および/または複数のリソースへのアクセスを有し得る。このようなリソースは、データ構造、1ブロックの共有メモリ、記憶スペース、入出力(I/O)ポート等といった、供給を制限されたいかなるものも含み得る。システム200はまた、(たとえば、個々のアプリケーション、プロセス、JAVA(R)サーブレット等の)複数のプロセス208を実行するように設定され得る。
図1の102に示したような、単一の統合されたリソース割付、スケジューリングおよびディスパッチングポリシーモジュールではなく、本発明はリソース割付の意思決定をアプリケーション領域にエクスポートすることを構想して、各々のアプリケーションまたはプロセス(本明細書においてこの2つの用語は交換可能である)は、どのリソース割付およびスケジューリングポリシーが、それらのリソース要件にとって最もよく機能するのか
を決定し得る。したがって、本発明は、各々のプロセスA1,A2,A3,A4,A5およびA6に対応し、少なくとも1つのリソース割付ポリシーモジュールをそれと関連付ける。図2の例示において、ポリシーモジュールP1はプロセスA1に関連付けられ、ポリシーモジュールP2はプロセスA2に関連付けられ、プロセスA3およびA4の双方はポリシーモジュールP3に関連付けられる。ポリシーモジュールP4は、現在のところ、いかなるプロセスまたはアプリケーションにも関連付けられておらず、ポリシーモジュールP5はプロセスA5に関連付けられ、ポリシーモジュールP6およびP7の双方は、プロセスA6に関連付けられている。最後に、(以下でより詳細に説明する)ユーティリティポリシーは、いかなるプロセスまたはアプリケーションにも関連付けられていない。図2は、プロセスおよびポリシーモジュールについての可能性の全領域を示しておらず、システム200は、全体を、図2において示したようにまたは異なる態様で編成された、より多くのまたはより少ない数のポリシーモジュール(およびユーティリティポリシーモジュール)、プロセスならびに/またはリソースを含み得る。本発明に従って、図2に示したポリシーモジュールP1,P2,P3,P5,P6およびP7の各々は、システム200で実行する少なくとも1つのプロセスと関連付けられ、かつそれらが関連付けられているプロセスによって使用されるために、1つ以上のリソースR1,R2,R3およびR4の割付を要求するように設定される。すなわち、本発明に従った各々のプロセスA1,A2,A3,A4,A5およびA6は、それに関連付けられた少なくとも1つのリソース割付ポリシーを有し、リソース割付ポリシーは、それが関連付けられるプロセスの特定のリソース要件に適合される。この態様で、本発明では、多数のアプリケーションまたはプロセス特定のリソース割付およびスケジューリングポリシーモジュールが、同じシステム200において共存することができる。本発明は、(図2のA1,A2,A3,A4,A5およびA6に示したような)アプリケーションおよびプロセスのための符号を設計しかつ書込む人がまさに、(リソースR1,R2,R3およびR4といった)リソースが、いつどのようにしてスケジュールされかつ、彼らが設計し、書込んだアプリケーションに割付けられるのかを設計するのに、最も適した人物である、という想定に少なくとも部分的に基づいている。各々のプロセスについてのリソース割付およびスケジューリング決定を、ポリシーモジュールによって実現される少なくとも1つのプロセス特定のポリシーによって管理できるようにすることにより、コンピュータシステムで実行されるプロセスおよび/またはアプリケーションの実際のコンピュータコードを書込む人は、そのための最も効率的なリソース割付およびスケジューリングポリシーも設計するという環境が与えられる。
システム200はまた、1つ以上のマスタポリシーモジュール202を含む。本発明の実施例に従うと、マスタポリシーモジュール202は、ポリシーモジュール照会スケジュールに従って、ポリシーモジュール(P1,P2...)に照会するように設定されたマスタポリシーを実現する。このような照会に応答して、ポリシーモジュール(P1,P2...)は、リソース割付要求を発し、リソース割付要求は次に、マスタポリシーモジュール202によって受取られる。ポリシーモジュール(P1,P2...)によって発せられたリソース割付要求は、発しているポリシーモジュールに関連付けられたアプリケーションによって必要とされるリソースの識別を含む。照会されたポリシー(P1,P2...)からリソース割付要求を受取ったら、マスタポリシーモジュール202は、対応するリソース割付命令205を発し、このリソース割付命令はディスパッチャモジュール204に、照会されたポリシーによって要求されたリソースを、照会されたポリシーに関連付けられたプロセスに結び付るように命令し得る。本発明のディスパッチャモジュール204の主な機能は、マスタポリシーモジュール202によって命令されるように、指定されたリソースを指定されたアプリケーションに結び付ることである。たとえば、マスタポリシーモジュール202からの照会に応答して、ポリシーモジュールP2は、リソースR3(R3は、たとえば入出力ポートである)の割当の要求を発し得る。マスタポリシーモジュール202は、リソースR3をA2に割当てることを求めるポリシーモジュールP2の要求を受け取り、ディスパッチャモジュール204への命令205を発して、リソースR3を利
用可能であればアプリケーションまたはプロセスA2に割付ける。ディスパッチャモジュール204は次に、この命令205を受け取り、図2の矢印220によって示されるように、リソースR3をアプリケーションA2に結び付ける。ディスパッチャモジュール204が、要求されたリソースを、リソース割付要求を発したポリシーと関連付けられたアプリケーションに結び付けた後で、ディスパッチャモジュール204は、マスタポリシーモジュール202に対し、それがリソース割付命令205を実行し終えたという信号を送り、かつそこから別のリソース割付命令205を要求し得る。同様に、図2はプロセスA1に結び付けられたリソースR1およびプロセスA5に結び付られたリソースR4を示している。図2に示したように、本発明は、リソース割付ポリシーを、リソースを要求しているアプリケーションに結び付けるメカニズムから効率的に分離する。
本発明に従うと、複数のポリシーモジュールP1−P7 206は同時に、複数のプロセスA1−A6 208のためのリソースユーティリティポリシーを指図し得る。したがって、マスタポリシーモジュール202は、どのポリシーモジュールP1−P7が、所与の時間にリソースを要求することができるかに関する、より上位のレベルの決定を行なわなければならない。本発明に従うと、マスタポリシーモジュール202は、どのポリシーモジュールがリソース割付要求を照会するのかを選択することによって、この決定を行なう。したがって、本発明に従うと、リソース割付およびスケジューリングの決定は、マスタポリシーモジュール202によって実現される「大域の(global)」ポリシーおよび、個々のポリシーモジュールP1−P7によって実現されるアプリケーションまたはプロセス特定のポリシーの間で分けられる。
本発明の実施例に従ったマスタポリシーモジュール202は、設定可能な統計的な照会分布に従って、複数のポリシーモジュールP1−P7 206の各々に照会するように適合されかつ設定らされ得る。多様な、使用され得る可能な分布がある。たとえば、ポリシーモジュールP1,P2およびP3がシステム200における唯一のポリシーモジュールであったならば、例示の分布は20/70/10の照会分布に従うかもしれない。その場合、マスタポリシーモジュール202によって発せられる照会の20%はポリシーモジュールP1に向けられ、照会の70%はポリシーモジュールP2に対して発せられ、マスタポリシーモジュール202によって発せられる照会の10%はポリシーモジュールP3に向けられる。いかなる好適な分布もマスタポリシーモジュール202によって使用されかつ実現され得る。たとえば、ポリシーモジュールP1−P6の各々は、ラウンドロビンの態様で順々に照会され得る。さらに代わりに、マスタポリシーモジュール202は、複数のポリシーモジュールP1−P7 206のうちの選択された1つに、複数のポリシーモジュール206のうちのいずれかの他の1つに照会する前に、照会するようにされ得る。たとえば、ポリシーモジュールP1は、残りのポリシーモジュールP2−P7のうちいずれかが照会される前に、照会されるように選択され得る。その後で、ポリシーモジュールP1がマスタポリシーモジュール202に対してリソース割付要求を発さなければ、残りのポリシーモジュールP2−P7が順に、予め定められた命令に従って、または先に詳細に説明した、ある予め定められた照会分布に従って、照会され得る。いかなる所望の照会分布も、リソースを複数のプロセス208に分配するマスタポリシーモジュール202内で実現され得る。
時として、システム管理者の意図した要件を正確に反映する、有限の、離散した照会分布を生成するのは困難であるかもしれない。実際、小さい偏差は、長期的に蓄積しかつ顕著になり得るスケジューリングのゆがみをもたらすかもしれない。たとえば、上述のように照会分布の比率が20/70/10の場合、同じポリシーモジュールに対するクラスタ化された照会(たとえば、上記で明らかにされた例を使用すると、照会のうち70%はポリシーモジュールP2に発せられる)によって、照会されたポリシーモジュールは、「思考時間(think time)」の不足のため、その決定の機会を繰返し失うことを強いられるか
もしれず、これは、このポリシーモジュールから、その照会の公平な分担を効果的に奪うことになる。このため、大域のポリシーのデータ構造は、定期的に再生成され、再生成プロセスによって生じる当然の多様性は、所望のスケジューリング行為を確実にする。いつこのようなデータ構造が再生成される必要があり得るかに関する決定は、時間依存ではなく、このようなデータ構造がディスパッチャモジュール204から経験してきた使用量に依存し得る。
ポリシーモジュールP1−P7は必ずしも決定を行なう必要はない。すなわち、ポリシーモジュールP1−P7は、マスタポリシーモジュール202へのリソース割付要求を発する機会を、それによって照会されたときに、失うかもしれない。実際、照会されたポリシーモジュールP1−P7はリソース割付要求を発さないかもしれない。その場合、先に詳細に説明したように、マスタポリシーモジュール202は、予め定められた照会分布に基づき、次のポリシーモジュールに移り次のポリシーモジュールに照会し得る。代わりに、ポリシーモジュールがリソース割付要求の発行を、別の、おそらく非常に細かいポリシーモジュールに委託することが可能である。その場合、マスタポリシーモジュール202は、照会分布において次のポリシーモジュールに移る前に、リソース割付要求のための非常に細かいポリシーモジュールを呼出すかもしれない。このような非常に細かいポリシーモジュールは、図2の参照218に示したように、階層的に下位の、1つのまたは複数のポリシーモジュールとして考えられ得る。実際、218に示したように、ポリシーモジュールP51およびP52は、ポリシーモジュールP5と関連付けられ、かつポリシーモジュールP5よりも階層的に下位である。マスタポリシーモジュール202は、あるパラメータの値、外部事象または何らかの規定可能な測定値次第で、リソース割付要求のためにこれらのポリシーモジュールのうちの1つまたは双方に選択可能に照会するように設定され得る。同様に、ポリシーモジュールP51は、1つ以上のリソースR1−R4の割付を要求する機会を、さらに階層的に下位のポリシーモジュールP511および/またはP512に委託し得、これらには、アプリケーションまたはプロセスA5の代わりに、リソースのためのリソース割付要求を発する機会が与えられることになる。
本発明に従うと、いかなるポリシーモジュールP1,P2...も、ポリシーモジュールP512の場合に示したように、1つ以上の選択可能に変更できるポリシーモジュールパラメータを含み得る。このようなポリシーモジュールパラメータの値は、ポリシーモジュールによって実現されるポリシーに影響を与え、したがって、そのパラメータ化されたポリシーモジュールによって発せられた、いかなるリソース割付要求の内容にも影響を与え得る。すなわち、マスタポリシーモジュール202によって照会されたときに、ポリシーモジュールパラメータの値によって、ポリシーモジュールによって要求されたリソースの同一性が変更され得る。たとえば、ポリシーモジュールパラメータは、パラメータ化されたポリシーモジュールが関連付けられるプロセスによって、実行時に変更され得る。同様に、マスタポリシーモジュール202それ自身によって実現されるマスタポリシーは、パラメータ化されて1つ以上のマスタポリシーパラメータを含み、マスタポリシーパラメータは、マスタポリシーのポリシーモジュール照会スケジュールに影響を与え得る。すなわち、パラメータの値は、マスタポリシーモジュール202が、選択されたポリシーモジュールP1,P2...に照会する順序および/または頻度を変更し得る。このようなマスタポリシーパラメータはまた、たとえば実行時に選択的に変更され得る。
本発明のさらに他の実施例に従うと、複数のプロセスA1−A6 208のうちのいくつかは、あるクラスのプロセスのメンバーとして識別され得る。たとえば、プロセスA1,A2,A3およびA4は、あるクラスのプロセスのメンバーであるかもしれない。このようなあるクラスのプロセスのメンバーのために、複数のポリシーモジュールP1−P7
206の1つ以上は、そのクラスのプロセスの何らかのメンバー(A1,A2,A3またはA4)の代わりに、リソース割付要求を発するように適合され得る。このようなプロ
セスのクラスへの分類は、このようなプロセスが、単一のポリシーモジュールまたはポリシーモジュールのグループによって対処され得る同類のリソース要件を共有するとき、適切であり得る。同様に、複数のリソースR1,R2,R3およびR4 210のうちの1つ以上は、参照番号212で示したような、あるクラスのリソースのメンバーとして識別され(論理的に分類され)得、リソースR1,R2およびR3は同じクラスのリソースの一部を形成する。その場合、複数のポリシーモジュール206のうちの1つ以上は、関連付けられたプロセスの代わりに、そのクラス212のリソースのメンバーである何らかのリソース(この場合R1,R2またはR3)に対するリソース割付要求を発するようにされ得る。
図2のシステム200はまた、214に示したように、ポリシーデータ構造を含み得る。このようなポリシーデータ構造214は、本発明の実施例に従うと、複数のプロセスA1−A6のうちの少なくとも1つと関連付けられた複数のポリシーモジュール206の各々への参照を含む。マスタポリシーモジュール202は次に、(たとえば)選択可能な間隔で、ポリシーデータ構造214にアクセスし、かつポリシーデータ構造214において参照されたポリシーモジュールのみに照会するように設定され得る。図2の例示において、各々のポリシーモジュールP1−P7は、少なくとも1つのプロセスA1−A6と関連付けられるが、ポリシーモジュールP4について、これはプロセスA1−A6のいずれにも関連付けられない。したがって、ポリシーデータ構造は、ポリシーモジュールP1,P2,P3,P5およびP7を列挙するが、ポリシーモジュールP4は、プロセスA1−A6のいずれにも関連付けられていないため、列挙しない。したがって、プロセスA1−A6が実行を終了したとき、その対応するポリシーモジュールは、ポリシーモジュールデータ構造214のリストから除かれ、またマスタポリシーモジュール202によって実現されるマスタポリシーによって使用される照会分布から除かれ得、それにより、マスタポリシーモジュール202によるポリシーモジュールP1−P7の照会の際により良い効率性が達成される。
ポリシーモジュール構造214はまた、ポリシーモジュールユーティリティがプロセスA1−A6のいずれにも関連付けられていなくても、各々のユーティリティポリシーモジュール(1つ以上のこのようなユーティリティポリシーモジュールがあるかもしれない)への参照を含み得る。本発明に従うと、ユーティリティポリシーモジュールは、マスタポリシーモジュール202によって呼出されるとき、さまざまなタスクを実行するように設定され得る。たとえば、ユーティリティポリシーモジュールは、マスタポリシーパラメータを選択的に変更するように設定され得る。たとえば、ユーティリティポリシーモジュールは、1つ以上のマスタポリシーパラメータを変更して、マスタポリシーモジュール202が、たとえば時間帯に従って異なった動作をするようにし得る。たとえば、マスタポリシーモジュール202は、午前8時半から10時半の時間、次に再び、午後3時および4時半の間の時間に、eメール処理のアプリケーションの実行を最適化するように設定され得る。代わりに、ユーティリティポリシーモジュールは、(サーバの再始動、メールボックスの圧縮等といった)システム保守のジョブ等の、1つ以上の予め定められたジョブ、またはポリシーデータ構造214自体の再生成を行なうように設定され得る。さらに代わりに、マスタポリシーモジュール202によって呼出されるとき、ユーティリティポリシーは、他のマスタポリシー203または225のうちの1つがアクティブになるようにし得る。照会分布は、先にほのめかしたように、ユーティリティポリシーモジュールへの参照を含み得る。ユーティリティポリシーモジュールは、マスタポリシーモジュール202が、照会分布データ構造を横断し、かつユーティリティポリシーモジュールへの参照に到達する度に、予め定められたタスクを行なうように設定され得る。代わりに、ユーティリティポリシーモジュールは、マスタポリシーモジュール202が照会分布構造を何度横断したかを記録し得、それが予め定められたしきい値にヒットしたとき、ユーティリティポリシーモジュールは、(先に列挙した例示のタスク等の)予め定められたタスクが実行さ
れるようにし得る、または長期的に適切なスケジューリングを達成するために照会分布データ構造を再生成し得る。
図2に示したシステム200はまた、参照216に示したように、リソースデータ構造を含み得る。このようなリソースデータ構造は、複数のポリシーモジュールP1−P7の各々にアクセス可能であり、コンピュータシステム200内の、またはコンピュータシステムにアクセス可能な、複数のリソースR1,R2,R3およびR4 210の各々の1つへの参照を含み得る。リソースがシステム200に、追加される、または利用可能もしくはアクセス可能にされるとき、たとえば公表モデルを用いて、それらのリソースへの参照が構造216に追加され、それにより新たに追加されたリソースは、たとえば、一意のリソース識別子をリソースデータ構造216にプッシュする。このようなリソースデータ構造216を用いて、すべてのポリシーモジュールP1−P7は、新たに利用可能なリソースを認識させられ、または知らされ得る。たとえば、ポリシーモジュールP1−P7は、そのリソースの領域を、システム200の起動時に存在したリソースのみとして見なす。代わりに、ポリシーモジュールP1−P7は、それがマスタポリシーモジュール202に対して発するリソース割付要求においてどのリソースを識別するかに関する決定を行なう前に、(図2の矢印215によって示したように)リソースデータ構造216を参考にするよう設定され得る。リソースデータ構造216は、利用可能なまたはアクセス可能なリソースR1−R4を列挙するだけでなく、たとえばアイドル状態または使用中である、利用可能またはロックされている等のそれらの状態も列挙し得る。
たとえば、リソースR1は、224に示したように、アプリケーションA1に結び付けられるかもしれない。しかしながら、プロセスA2と関連付けられたポリシーモジュールP2は、マスタポリシーモジュール202によって照会されたとき、プロセスA2によって現在必要とされるリソースとして、R1を識別するリソース割付要求を発し得る。このようなシナリオの考え得る1つの結果として、マスタポリシーモジュール202が、ディスパッチャモジュール204に対して、スケジューラモジュール204にリソースR1をプロセスA2に結び付けるよう命令するリソース割付命令205を発さない。代案として、マスタポリシーモジュール202は、ディスパッチャモジュール204が、アプリケーションA1のリソースR1へのロックを中断して、222に示したように、リソースR1を代わりにプロセスA2に結び付けるようにディスパッチャモジュール204に命令する、リソース割付命令205を発する。さらに代わりに、ポリシーモジュールP2は、リソースデータ構造216で公開された利用可能なリソースの包括的なリストを参考にして、リソースR3が利用可能かつ現在アイドル状態であることを調べて、R1ではなくR3を使用することを決定するかもしれない。ポリシーモジュールP2は、マスタポリシーモジュール202によって照会されたとき、次に、その関連付けられたプロセス、すなわちプロセスA2によって必要とされるリソースとして、リソースR3を識別するリソース割付要求を、マスタポリシーモジュール202に対して発し得る。リソースデータ構造214はしたがって、各々のポリシーモジュールP1−P7が、システム200に対して利用可能なリソース、およびこれらのリソースの各々の状態を理解できるようにする。さらに代わりに、各々のポリシーモジュールは、それらが必要とし得る特定のリソースまたはリソースの組を含む事象の通知を受けることを承諾し得る。その後で、システム内の事象およびリソースを監視するプロセスは、このような事象を、関心のあるリソースに関する事象を受けることを承諾したポリシーモジュールP1−P7に対して、公開し得る。この態様で、ポリシーモジュールP1−P7は、それらの関連付けられた1つの(または複数の)プロセスが必要とすると思われるすべてのリソースの状態を内部に維持し得る。
本発明は、広範囲に及ぶ適用性を有すると考えられている。たとえば、いかなるキャッシュシステムも、本発明に従って、キャッシュしたデータの保守を管理するアプリケーション特定のポリシーモジュールから利益を獲得し得る。データキャッシュシステムは典型
的に、キャッシュからデータブロックを追放するために、一定の、最低使用頻度(LRU)ポリシーを使用する。たとえば、リソースR4はキャッシュメモリであるかもしれず、ポリシーモジュールP52は、(たとえば)アプリケーションA5のためのキャッシュメモリR4でキャッシュされたデータブロックへのアクセスを(他のデューティのうち、)管理し得る。ポリシーモジュールP52は、アプリケーションA5に、リソースR4でキャッシュされたデータブロックのいくつかを追放する必要があることを通知し得る。アプリケーションA5は次に、ポリシーモジュールP52に対し、それがもはや必要としないであろうブロックはどれかを指示し得る。そこでポリシーモジュールP52は、マスタポリシーモジュール202によって次に照会されたときに、リソース割付要求を発し、その関連付けられたアプリケーションA5によって要求されるリソースとして、リソースR4(またはアプリケーションA5によって必要とされないとして指示されたデータブロック)を識別し得る。その後で、マスタポリシーモジュール202は、ディスパッチャモジュール204に対して、ディスパッチャモジュールに、図2の226に示したように、リソースR4をアプリケーションA5に、またはキャッシュメモリリソースR4を維持するアプリケーションに、結び付けるように命令する、リソース割付命令205を発し得る。アプリケーションA5によってもはや必要とされないデータブロックは次に、リソースR4から追放または消去され得る。このようなアプリケーションで駆動したデータブロックの追放により、キャッシュメモリR4のヒット率を大幅に向上させることができる。この向上の中心的な理由は、アプリケーションは、オペレーティングシステムと比べて、そのデータアクセスパターンを非常に良く理解していると見なされているということであり、したがってキャッシュされたデータブロックに関する決定を行なうのによりよい立場に置かれ得る。
図3は、本発明の実施例に従って、複数のプロセスをサポートするようにされたコンピュータシステムの複数のリソースの割付を管理するための方法のフロー図である。示したように、ステップS31は、ディスパッチャモジュール204が、アイドル状態であり、マスタポリシーモジュール202からの新しいリソース割付命令205のために実行可能であることを示している。たとえば、ディスパッチャモジュール204は、最後のリソース割付命令205の実行を完了したばかりかもしれない。S32に示したように、マスタポリシーモジュール202は次に、先に開示したような、(たとえば)重みを付けられた照会分布を指定するマスタポリシーに従って、照会する複数のポリシーモジュールP1−P7のうちの1つを選択し得る。ポリシーモジュールP1−P7の各々(このようなポリシーモジュールの7つが図2に示され、本明細書で説明されているが、本発明はこのようなポリシーモジュールのいかなる数にも限定されないことが理解される)は、(図2に示したA1−A6といった)複数のプロセスのうちの1つ以上によって必要とされる(図2のR1−R4に示したような)リソースの割付と関連付けられ、かつそれを管理する。ステップS33では、マスタポリシーモジュール202に対し、複数のポリシーモジュールのうちの選択された1つへの照会を発するよう要求する。ステップS34に示したように、照会されたポリシーモジュールがリソースを要求しない(たとえばNULL要求を行なう)場合、方法はステップS32に戻り得る。照会されたポリシーモジュールが1つのまたは複数のリソースを要求する場合、照会されたポリシーモジュールは、マスタポリシーモジュール202へのリソース割付要求を公式化し、かつ発し得る。このリソース割付要求は次に、S35に示したように、マスタポリシーモジュール202によって受けられ得る。S36で、マスタポリシーモジュール202は次に、ディスパッチャモジュール204に対しリソース割付命令205を発し得、モジュール204は、選択されたリソースを選択されたプロセスに結び付けるように設定される。リソース割付命令205は、本発明に従って、複数のリソースのうちの要求された1つを指定する。ディスパッチャモジュール204は次に、S37に示したように、リソース割付命令205を実行し、実行するステップは、複数のリソースのうちの要求された1つを、照会されたポリシーモジュールに関連付けられた1つのまたは複数のプロセスに結び付けるのに有効である。
ハードウェアの説明
図4は、本発明の一実施例が実現され得る演算装置400のブロック図を示している。演算装置400は、バス401または情報を通信するための他の通信機構、および情報を処理するために、バス401と連結されたプロセッサ402を含む。演算装置400は、バス401に連結された、プロセッサ402によって実行される情報および命令を記憶するためのランダムアクセスメモリ(RAM)または他の動的記憶装置404(主記憶装置と呼ばれる)をさらに含む。主記憶装置404はまた、プロセッサ402による命令を実行する際に、一時的変数または他の中間情報を記憶するために使用され得る。演算装置400はまた、プロセッサ402のための静的情報および命令を記憶するために、バス401に連結された、読取専用メモリ(ROM)および/または他の静的記憶装置406を含み得る。磁気ディスクまたは光ディスクといったデータ記憶装置407は、情報および命令を記憶するためにバス401に連結され得る。モデムまたは(たとえばイーサネット(R)等の)ネットワークカードといった通信装置408もバス401に連結されて、図1の112に示したようにネットワークへのアクセスを与える。
演算装置400はまた、バス401を介して、情報をコンピュータユーザに表示するための陰極線管(CRT)等の表示装置421に連結され得る。英数字のおよび他のキーを含む英数字の入力装置422は典型的に、情報および命令の選択をプロセッサ402に通信するためにバス401に連結される。別のタイプのユーザ入力装置は、ユーザ自身の声または、マウス、トラックボールもしくは、方向情報および命令の選択をプロセッサ402に通信し、かつ表示装置421上でカーソルの動きを制御するための、カーソル方向キーといったカーソル制御装置423であるかもしれない。
本発明は、先に開示したように、マルチポリシーモジュールを用いて、リソースをスケジュールするように設定された演算装置400の使用に関する。一実施例に従うと、メモリ404に含まれる命令のシーケンスを実行するプロセッサ402に応答して、処理が1つ以上の演算装置400によって実行され得る。このような命令は、データ記憶装置407等の別のコンピュータ読取可能な記録媒体からおよび/または遠隔に位置するサーバから、メモリ404に読み込まれ得る。メモリ404に含まれる命令のシーケンスの実行によって、プロセッサ402は上述の機能性を実現する。代替の実施例において、ハードワイヤード回路をソフトウェア命令の代わりにまたはそれと組合せて使用して、本発明を実現してもよい。したがって、本発明はハードウェア回路およびソフトウェアのいかなる特定の組合せにも限定されない。
本発明は、特に、たとえば図5に示したような、電子商取引(e-commerce)バックエンド500を実行する高速のサーバ内での展開によく適している。そこに示したように、上記バックエンド500は、たとえばインターネットを含むコンピュータネットワーク510に結合され得る。このような電子商取引バックエンド500は、1つ以上のサーバ(そのうち例示の3つが参照番号520,530および540で示されている)を含み、例が560で示されている複数のアクセス装置からの要求にサービスし得る。アクセス装置560は、ネットワーク510にアクセスすることが可能なコンピュータ、ハンドヘルド装置および/または他の演算器具を含み得る。サーバ520,530,540は、550に示したように、高速接続を介して互いに連結され得る。サーバ520,530および540の各々は、複数のプロセスをサポートし得、本発明は1つ以上のサーバ520,530および540内で有利に配置されて、上述のような態様で、サーバに利用可能なリソースの割付を管理し得る。
先述の詳細な説明で、本発明の好ましい実施例を説明したが、上記の説明は例示的なも
のにすぎず、開示された発明を限定するものではないことを理解すべきである。当業者は、他の代替の実施例およびすべてのこのような実施例が、本発明の範囲内にあると考えられることを認識するであろう。したがって、本発明は、別掲の特許請求の範囲によってのみ限定されるべきである。
関連技術に従って、コンピュータシステムにおいて、リソースを割付けかつスケジュールする単一のポリシーを示す図である。 本発明の実施例に従って、複数のプロセスをサポートするようにされたコンピュータシステムの複数のリソースの割付を管理するための、方法およびシステムを示す図である。 本発明の実施例に従って、複数のプロセスをサポートするようにされたコンピュータシステムの複数のリソースの割付を管理するための方法のフロー図である。 本発明が実行され得るコンピュータのブロック図である。 本発明が実現され得る例示的な電子商取引バックエンドのブロック図である。

Claims (37)

  1. コンピュータシステムであって、
    リソースと、
    プロセスと、
    第1のポリシーモジュールとを含み、前記ポリシーモジュールは、前記プロセスに関連付けられ、そして、前記プロセスに対する前記リソースの割付を要求するリソース割付要求を発するように少なくとも適合され、前記コンピュータシステムはさらに、
    マスタポリシーを含み、前記マスタポリシーは、ポリシーモジュール照会スケジュールに従って前記第1のポリシーモジュールに照会し、前記リソース割付要求を受け取り、そして対応するリソース割付命令を発するように設定され、前記コンピュータシステムはさらに、
    ディスパッチャを含み、前記ディスパッチャは、前記リソース割付命令に従って、前記要求されたリソースを前記プロセスに結び付けるように設定された、コンピュータシステム。
  2. 前記プロセスは、複数のプロセスのうちの1つであり、前記第1のポリシーモジュールは、複数のポリシーモジュールのうちの1つであり、前記複数のポリシーモジュールのうちの少なくとも1つは、前記複数のプロセスのうちの少なくとも1つに関連付けられ、前記マスタポリシーは、前記複数のポリシーモジュールに選択可能に照会するように適合された、請求項1に記載のコンピュータシステム。
  3. 前記マスタポリシーは、設定可能な統計的な照会分布に従って、前記複数のポリシーモジュールの各々に照会するように適合された、請求項2に記載のコンピュータシステム。
  4. 前記マスタポリシーは、前記複数のポリシーモジュールのうちの選択されたポリシーモジュールに、前記複数のポリシーモジュールのうちの他のポリシーモジュールのいずれかに照会する前に、照会するように適合された、請求項2に記載のコンピュータシステム。
  5. 前記プロセスはアプリケーションを含む、請求項1に記載のコンピュータシステム。
  6. 前記リソースは、前記コンピュータシステムにアクセス可能な複数のリソースのうちの1つである、請求項1に記載のコンピュータシステム。
  7. 前記リソースは、データ構造、処理サイクル、記憶装置、共有メモリ、入出力ポート、プロセスおよび別のコンピュータシステムを含むグループから選択される、請求項1に記載のコンピュータシステム。
  8. 前記第1のポリシーモジュールに関連付けられた第2のポリシーモジュールをさらに含み、前記第2のポリシーモジュールは、前記第1のポリシーモジュールが前記リソース割付要求を発しない場合に、前記マスタポリシーによって照会されたとき、前記リソース割付要求を発するように適合された、請求項1に記載のコンピュータシステム。
  9. 前記第1のポリシーモジュールは、選択可能に変更できるポリシーモジュールパラメータを含み、前記ポリシーモジュールパラメータの値は、前記リソース割付要求の内容に影響を与える、請求項1に記載のコンピュータシステム。
  10. 前記ポリシーモジュールパラメータは、実行時に、前記プロセスによって選択可能に変更できる、請求項9に記載のコンピュータシステム。
  11. 前記マスタポリシーモジュールは、選択可能に変更できるマスタポリシーパラメータを含み、前記マスタポリシーパラメータの値は、前記マスタポリシーの前記ポリシーモジュール照会スケジュールに影響を与える、請求項1に記載のコンピュータシステム。
  12. 前記マスタポリシーパラメータは、実行時に、選択可能に変更できる、請求項11に記載のコンピュータシステム。
  13. 第3のポリシーモジュールをさらに含み、前記第3のポリシーモジュールは、前記プロセスに関連付けられ、そして前記マスタポリシーによって照会されたときに、前記リソース割付要求を発するように適合された、請求項1に記載のコンピュータシステム。
  14. 前記複数のプロセスのうちのいくつかは、あるクラスのプロセスのメンバーであり、前記複数のポリシーモジュールのうちの少なくとも1つは、そのクラスのプロセスのいずれかのメンバーの代わりに、前記リソース割付要求を発するように適合された、請求項2に記載のコンピュータシステム。
  15. 前記複数のリソースのうちのいくつかは、クラスのリソースのメンバーであり、前記複数のポリシーモジュールのうちの少なくとも1つは、プロセスの代わりに、前記クラスのリソースのメンバーであるいずれかのリソースのリソース割付要求を発するように適合された、請求項6に記載のコンピュータシステム。
  16. ポリシーデータ構造をさらに含み、前記ポリシーデータ構造は、前記複数のプロセスのうちの少なくとも1つに関連付けられた前記複数のポリシーモジュールの各々への参照を含み、前記マスタポリシーは、前記ポリシーデータ構造において参照されたポリシーモジュールのみに照会するように設定された、請求項2に記載のコンピュータシステム。
  17. ユーティリティポリシーモジュールをさらに含み、前記ユーティリティポリシーモジュールは、前記複数のプロセスのいずれにも関連付けられず、前記マスタポリシーによって呼出されたときに、前記マスタポリシーパラメータの少なくとも1つの選択的な変更および少なくとも1つの予め定められたジョブの実行を、選択的に行なうように設定された、請求項11に記載のコンピュータシステム。
  18. 前記ポリシーデータ構造は、前記マスタポリシーによって選択可能に呼出されたユーティリティポリシーモジュールへの参照をさらに含み、前記ユーティリティポリシーモジュールは、前記マスタポリシーパラメータの少なくとも1つの選択的な変更および少なくとも1つの予め定められたジョブの実行を、選択的にもたらすように設定された、請求項16に記載のコンピュータシステム。
  19. 前記ユーティリティポリシーモジュールは、選択可能な間隔で、前記ポリシーデータ構造の再生成をもたらすように設定された、請求項18に記載のコンピュータシステム。
  20. 第2のポリシーモジュールをさらに含み、前記第1のポリシーモジュールは、前記第2のポリシーモジュールを、前記リソース割付要求を照会するポリシーモジュールとして、前記マスタポリシーに知らせるようにされた、請求項1に記載のコンピュータシステム。
  21. 前記複数のポリシーモジュールの各々にアクセス可能なリソースデータ構造をさらに含み、前記リソースデータ構造は、前記コンピュータシステムにアクセス可能な前記複数のリソースの各々の1つへの参照を含む、請求項6に記載のコンピュータシステム。
  22. 前記複数のポリシーモジュールのうちの少なくとも1つは、リソース割付要求を発する
    前に、前記リソースデータ構造にアクセスするように設定されている、請求項21に記載のコンピュータシステム。
  23. 複数のプロセスをサポートするように適合されたコンピュータシステムの複数のリソースの割付を管理する方法であって、
    マスタポリシーに従って、照会する複数のポリシーモジュールのうちの1つを選択するステップを含み、前記複数のポリシーモジュールの各々のポリシーモジュールは、前記複数のプロセスのうちの少なくとも1つによって要求されたリソースの割付に関連付けられ、かつそれを管理し、前記方法はさらに、
    前記複数のポリシーモジュールのうちの前記選択されたポリシーモジュールに対して照会を発するステップと、
    前記発せられた照会に応答して、前記複数のリソースのうちの1つの割付の要求を受取るステップと、
    ディスパッチャに対してリソース割付命令を発するステップとを含み、前記ディスパッチャは、選択されたリソースを選択されたプロセスに結び付けるように設定され、前記リソース割付命令は、前記複数のリソースのうちの要求されたリソースを指定し、前記方法はさらに、
    前記リソース割付命令を実行するステップを含み、前記実行するステップは、前記複数のリソースのうちの前記要求されたリソースを、前記複数のポリシーモジュールのうちの選択された1つに関連付けられた、前記複数のプロセスのうちの少なくとも1つに結び付けるのに有効である、コンピュータシステムの複数のリソースの割付を管理する方法。
  24. 前記マスタポリシーは、前記選択するステップを引起こして、設定可能な統計的な照会分布に従って、前記複数のポリシーモジュールの各々に照会するように適合される、請求項23に記載の方法。
  25. 前記マスタポリシーは、前記選択するステップを引起こして、前記複数のポリシーモジュールのうちの1つを、前記複数のポリシーモジュールのうちの他のいずれか1つを選択する前に、選択するように適合される、請求項23に記載の方法。
  26. 前記複数のポリシーモジュールは、前記選択されたポリシーモジュールに関連付けられた階層的に下位のポリシーモジュールを含み、前記リソース割付要求が、前記選択されたポリシーモジュールから受取られないときに、前記選択するステップは、前記階層的に下位のポリシーモジュールを選択する、請求項23に記載の方法。
  27. 前記複数のポリシーモジュールのうちひとつのポリシーモジュールは、パラメータ化されてポリシーモジュールパラメータを含み、その値は前記リソース割付要求の内容に影響を与え、前記方法は、前記ポリシーモジュールパラメータを選択的に変更するステップをさらに含む、請求項23に記載の方法。
  28. 前記選択的に変更するステップは、前記パラメータ化されたポリシーモジュールに関連付けられたプロセスによって、実行時に実行される、請求項27に記載の方法。
  29. 前記マスタポリシーモジュールは、選択可能に変更できるマスタポリシーパラメータを含み、その値は、前記複数のポリシーモジュールのうちのどれが前記選択するステップによって選択されるかに影響を与える、請求項23に記載の方法。
  30. 実行時に、前記マスタポリシーパラメータの値を設定するステップをさらに含む、請求項29に記載の方法。
  31. 前記複数のプロセスのうちのいくつかは、あるクラスのプロセスのメンバーであり、前記複数のポリシーモジュールのうちの少なくとも1つは、前記クラスのプロセスのいずれかのメンバーの代わりに、リソース割付要求を発するステップを実行する、請求項23に記載の方法。
  32. 前記複数のリソースのうちのいくつかは、あるクラスのリソースのメンバーであり、前記複数のポリシーモジュールのうちの少なくとも1つは、前記クラスのリソースのメンバーであるいずれかのリソースのリソース割付要求を発するステップを実行する、請求項23に記載の方法。
  33. 前記コンピュータシステムは、ポリシーデータ構造をさらに含み、前記ポリシーデータ構造は、前記複数のプロセスのうちの少なくとも1つに関連付けられた、前記複数のポリシーモジュールの各々への参照を含み、前記マスタポリシーは、前記選択するステップを引起こして、前記ポリシーデータ構造において参照されたポリシーモジュールのみから選択する、請求項23に記載の方法。
  34. 前記コンピュータシステムは、前記複数のプロセスのいずれにも関連付けられないユーティリティポリシーモジュールを含み、前記ユーティリティポリシーモジュールは、前記マスタポリシーによって呼出されたときに、少なくとも1つの予め定められたステップが実行されるようにし、前記少なくとも1つの予め定められたステップは、マスタポリシーパラメータを設定するためのマスタポリシーパラメータ設定ステップ、および予め定められたジョブを実行するための実行ステップを含むグループから選択される、請求項29に記載の方法。
  35. 前記ポリシーデータ構造は、ユーティリティポリシーモジュールへの参照をさらに含み、前記ユーティリティポリシーモジュールは、前記マスタポリシーによって呼出されたときに、少なくとも1つの予め定められたステップが実行されるようにし、前記少なくとも1つの予め定められたステップは、マスタポリシーパラメータを設定するためのポリシーパラメータ設定ステップ、および予め定められたジョブを実行するための実行ステップを含むグループから選択される、請求項33に記載の方法。
  36. 前記予め定められたジョブは、選択可能な間隔で、前記ポリシーデータ構造を再生成するステップを含む、請求項35に記載の方法。
  37. 前記コンピュータシステムは、前記複数のポリシーモジュールの各々にアクセス可能なリソースデータ構造をさらに含み、前記リソースデータ構造は、前記コンピュータシステムにアクセス可能な前記複数のリソースの各々の1つへの参照を含み、前記複数のポリシーモジュールのうちの少なくとも1つは、リソース割付要求を発する前に、前記リソースデータ構造にアクセスするステップを実行する、請求項23に記載の方法。
JP2002588372A 2001-05-10 2002-05-08 マルチポリシーリソーススケジューリングのための方法およびシステム Expired - Lifetime JP4112375B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/852,490 US6785756B2 (en) 2001-05-10 2001-05-10 Methods and systems for multi-policy resource scheduling
PCT/US2002/015029 WO2002091180A2 (en) 2001-05-10 2002-05-08 Methods and systems for multi-policy resource scheduling

Publications (2)

Publication Number Publication Date
JP2005513587A true JP2005513587A (ja) 2005-05-12
JP4112375B2 JP4112375B2 (ja) 2008-07-02

Family

ID=25313481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002588372A Expired - Lifetime JP4112375B2 (ja) 2001-05-10 2002-05-08 マルチポリシーリソーススケジューリングのための方法およびシステム

Country Status (6)

Country Link
US (1) US6785756B2 (ja)
EP (1) EP1397743B1 (ja)
JP (1) JP4112375B2 (ja)
CN (1) CN100407152C (ja)
CA (1) CA2456840C (ja)
WO (1) WO2002091180A2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526558A (ja) * 2004-01-30 2007-09-13 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置
JP2009510611A (ja) * 2005-09-27 2009-03-12 株式会社ソニー・コンピュータエンタテインメント セルプロセッサ方法と装置
JP2009510613A (ja) * 2005-09-27 2009-03-12 株式会社ソニー・コンピュータエンタテインメント セルプロセッサのためのspuタスクマネージャ
JP2011501268A (ja) * 2007-10-11 2011-01-06 マイクロソフト コーポレーション 階層的予約資源スケジューリング・インフラストラクチャ
US8135867B2 (en) 2005-09-27 2012-03-13 Sony Computer Entertainment, Inc. Secure operation of processors
US8141076B2 (en) 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
JP2017513096A (ja) * 2014-04-30 2017-05-25 華為技術有限公司Huawei Technologies Co.,Ltd. コンピュータ、制御デバイス及びデータ処理方法

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243369B2 (en) 2001-08-06 2007-07-10 Sun Microsystems, Inc. Uniform resource locator access management and control system and method
IL145104A (en) * 2001-08-23 2007-02-11 Gregory Bondar A method and system for balancing the load on a computer resource between computers
US20030115243A1 (en) * 2001-12-18 2003-06-19 Intel Corporation Distributed process execution system and method
US7065565B2 (en) * 2002-02-27 2006-06-20 Cisco Technology, Inc. System and method for policy-enabled, contract-based management of network operational support systems
US20040073668A1 (en) * 2002-10-10 2004-04-15 Shivaram Bhat Policy delegation for access control
US7296235B2 (en) * 2002-10-10 2007-11-13 Sun Microsystems, Inc. Plugin architecture for extending polices
IL152530A0 (en) * 2002-10-28 2003-05-29 Sphera Corp Hierarchical repository for configuration-related and performance-related information related to computerized systems
JP3822577B2 (ja) 2003-05-22 2006-09-20 株式会社エヌ・ティ・ティ・ドコモ コンピュータ及びプログラム
US7594256B2 (en) * 2003-06-26 2009-09-22 Sun Microsystems, Inc. Remote interface for policy decisions governing access control
CN1297894C (zh) * 2003-09-30 2007-01-31 国际商业机器公司 用于调度作业的方法、调度器以及网络计算机系统
US7430741B2 (en) * 2004-01-20 2008-09-30 International Business Machines Corporation Application-aware system that dynamically partitions and allocates resources on demand
US8046763B1 (en) * 2004-02-20 2011-10-25 Oracle America, Inc. Regulation of resource requests to control rate of resource consumption
EP1630671A1 (en) * 2004-08-24 2006-03-01 International Business Machines Corporation Framework for pluggable schedulers
CA2519604C (en) * 2005-06-23 2011-07-12 Cognos Incorporated Master-detail provider and method of providing master-detail functionality
US7522168B2 (en) 2005-09-27 2009-04-21 Sony Computer Entertainment Inc. Cell processor task and data management
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US7506123B1 (en) 2005-09-27 2009-03-17 Sony Computer Entertainment Inc. Method and system for performing memory copy function on a cell processor
US8595747B2 (en) * 2005-12-29 2013-11-26 Sony Computer Entertainment Inc. Efficient task scheduling by assigning fixed registers to scheduler
US7672740B1 (en) * 2006-09-28 2010-03-02 Rockwell Automation Technologies, Inc. Conditional download of data from embedded historians
US7742833B1 (en) 2006-09-28 2010-06-22 Rockwell Automation Technologies, Inc. Auto discovery of embedded historians in network
US8181157B2 (en) * 2006-09-29 2012-05-15 Rockwell Automation Technologies, Inc. Custom language support for project documentation and editing
US7913228B2 (en) * 2006-09-29 2011-03-22 Rockwell Automation Technologies, Inc. Translation viewer for project documentation and editing
US20080114474A1 (en) * 2006-11-10 2008-05-15 Rockwell Automation Technologies, Inc. Event triggered data capture via embedded historians
US7933666B2 (en) * 2006-11-10 2011-04-26 Rockwell Automation Technologies, Inc. Adjustable data collection rate for embedded historians
GB2444518A (en) 2006-12-07 2008-06-11 Symbian Software Ltd Process priority profiles in a computer system
US20080147593A1 (en) * 2006-12-14 2008-06-19 Bhashyam Ramesh Runtime resource sensitive and data driven optimization
US7974937B2 (en) 2007-05-17 2011-07-05 Rockwell Automation Technologies, Inc. Adaptive embedded historians with aggregator component
US7917857B2 (en) * 2007-09-26 2011-03-29 Rockwell Automation Technologies, Inc. Direct subscription to intelligent I/O module
US7930261B2 (en) * 2007-09-26 2011-04-19 Rockwell Automation Technologies, Inc. Historians embedded in industrial units
US7930639B2 (en) * 2007-09-26 2011-04-19 Rockwell Automation Technologies, Inc. Contextualization for historians in industrial systems
US7809656B2 (en) * 2007-09-27 2010-10-05 Rockwell Automation Technologies, Inc. Microhistorians as proxies for data transfer
US7882218B2 (en) * 2007-09-27 2011-02-01 Rockwell Automation Technologies, Inc. Platform independent historian
US7962440B2 (en) * 2007-09-27 2011-06-14 Rockwell Automation Technologies, Inc. Adaptive industrial systems via embedded historian data
US20090089671A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Programmable controller programming with embedded macro capability
US8443370B2 (en) 2008-08-26 2013-05-14 Microsoft Corporation Method of assigning resources to fulfill a service request by a programming model abstraction layer at a data center based at least in part on a reference of the requested resource class indicative of an abstract amount of resources
US8661024B2 (en) * 2010-01-21 2014-02-25 Oracle International Corporation Database query resource management using select statement condition
US8938510B2 (en) * 2010-04-26 2015-01-20 Bittan Inc. On-demand mailbox synchronization and migration system
US9654436B2 (en) 2012-11-27 2017-05-16 BitTitan Inc. Systems and methods for migrating mailbox data from systems with limited or restricted remote access
US9866592B2 (en) 2015-09-28 2018-01-09 BlueTalon, Inc. Policy enforcement system
US9871825B2 (en) 2015-12-10 2018-01-16 BlueTalon, Inc. Policy enforcement for compute nodes
US10091212B2 (en) 2016-03-04 2018-10-02 BlueTalon, Inc. Policy management, enforcement, and audit for data security
US11157641B2 (en) 2016-07-01 2021-10-26 Microsoft Technology Licensing, Llc Short-circuit data access
US10803190B2 (en) 2017-02-10 2020-10-13 BlueTalon, Inc. Authentication based on client access limitation
US10291602B1 (en) 2017-04-12 2019-05-14 BlueTalon, Inc. Yarn rest API protection
US10250723B2 (en) 2017-04-13 2019-04-02 BlueTalon, Inc. Protocol-level identity mapping
US10491635B2 (en) 2017-06-30 2019-11-26 BlueTalon, Inc. Access policies based on HDFS extended attributes
US11146563B1 (en) 2018-01-31 2021-10-12 Microsoft Technology Licensing, Llc Policy enforcement for search engines
US11005889B1 (en) 2018-02-02 2021-05-11 Microsoft Technology Licensing, Llc Consensus-based policy management
US11790099B1 (en) 2018-02-09 2023-10-17 Microsoft Technology Licensing, Llc Policy enforcement for dataset access in distributed computing environment
EP3811210B1 (en) * 2018-06-20 2024-05-01 Telefonaktiebolaget Lm Ericsson (Publ) Method and supporting node for supporting process scheduling in a cloud system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0969077A (ja) * 1995-07-03 1997-03-11 Sun Microsyst Inc コンピュータ・システム管理に階層的ポリシーを実施するためのシステム及び方法
JPH09152977A (ja) * 1995-09-08 1997-06-10 At & T Ipm Corp 連続媒体のための動的階層的資源スケジューリング
JPH1166018A (ja) * 1997-08-11 1999-03-09 Fujitsu Ltd 分散資源管理システムおよび分散資源管理方法
WO2001084301A2 (en) * 2000-05-02 2001-11-08 Microsoft Corporation Resource manager architecture

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173989A (ja) 1991-12-24 1993-07-13 Kawasaki Steel Corp 計算機及びマルチプロセッサ計算装置
US5487170A (en) 1993-12-16 1996-01-23 International Business Machines Corporation Data processing system having dynamic priority task scheduling capabilities
US6003061A (en) * 1995-12-07 1999-12-14 Microsoft Corporation Method and system for scheduling the use of a computer system resource using a resource planner and a resource provider
US6263359B1 (en) 1997-05-22 2001-07-17 International Business Machines Corporation Computer resource proportional utilization and response time scheduling
US6385638B1 (en) 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
US6457008B1 (en) * 1998-08-28 2002-09-24 Oracle Corporation Pluggable resource scheduling policies

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0969077A (ja) * 1995-07-03 1997-03-11 Sun Microsyst Inc コンピュータ・システム管理に階層的ポリシーを実施するためのシステム及び方法
JPH09152977A (ja) * 1995-09-08 1997-06-10 At & T Ipm Corp 連続媒体のための動的階層的資源スケジューリング
JPH1166018A (ja) * 1997-08-11 1999-03-09 Fujitsu Ltd 分散資源管理システムおよび分散資源管理方法
WO2001084301A2 (en) * 2000-05-02 2001-11-08 Microsoft Corporation Resource manager architecture
JP2004508611A (ja) * 2000-05-02 2004-03-18 マイクロソフト コーポレイション リソースマネージャアーキテクチャ

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007526558A (ja) * 2004-01-30 2007-09-13 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・ユーティリティ・システムにおけるアービトレーションのための装置
JP2009510611A (ja) * 2005-09-27 2009-03-12 株式会社ソニー・コンピュータエンタテインメント セルプロセッサ方法と装置
JP2009510613A (ja) * 2005-09-27 2009-03-12 株式会社ソニー・コンピュータエンタテインメント セルプロセッサのためのspuタスクマネージャ
JP4712876B2 (ja) * 2005-09-27 2011-06-29 株式会社ソニー・コンピュータエンタテインメント 並列プロセッサ方法と装置
JP4712877B2 (ja) * 2005-09-27 2011-06-29 株式会社ソニー・コンピュータエンタテインメント 並列プロセッサのためのタスクマネージャ
US8037474B2 (en) 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
US8135867B2 (en) 2005-09-27 2012-03-13 Sony Computer Entertainment, Inc. Secure operation of processors
US8141076B2 (en) 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
JP2011501268A (ja) * 2007-10-11 2011-01-06 マイクロソフト コーポレーション 階層的予約資源スケジューリング・インフラストラクチャ
JP2017513096A (ja) * 2014-04-30 2017-05-25 華為技術有限公司Huawei Technologies Co.,Ltd. コンピュータ、制御デバイス及びデータ処理方法
KR101784900B1 (ko) * 2014-04-30 2017-10-12 후아웨이 테크놀러지 컴퍼니 리미티드 컴퓨터, 제어 장치 그리고 데이터 처리 방법
US10572309B2 (en) 2014-04-30 2020-02-25 Huawei Technologies Co., Ltd. Computer system, and method for processing multiple application programs

Also Published As

Publication number Publication date
US20020169907A1 (en) 2002-11-14
WO2002091180A2 (en) 2002-11-14
CN100407152C (zh) 2008-07-30
CA2456840A1 (en) 2002-11-14
JP4112375B2 (ja) 2008-07-02
CA2456840C (en) 2006-07-18
EP1397743A2 (en) 2004-03-17
WO2002091180A3 (en) 2003-12-24
US6785756B2 (en) 2004-08-31
EP1397743B1 (en) 2019-01-02
CN1602468A (zh) 2005-03-30

Similar Documents

Publication Publication Date Title
JP4112375B2 (ja) マルチポリシーリソーススケジューリングのための方法およびシステム
Hadary et al. Protean:{VM} allocation service at scale
US6457008B1 (en) Pluggable resource scheduling policies
Tumanov et al. TetriSched: global rescheduling with adaptive plan-ahead in dynamic heterogeneous clusters
US6341303B1 (en) System and method for scheduling a resource according to a preconfigured plan
US6732138B1 (en) Method and system for accessing system resources of a data processing system utilizing a kernel-only thread within a user process
JP6100712B2 (ja) 記憶側記憶要求管理
CN100388210C (zh) 通过硬件资源利用报告优化性能的方法和数据处理系统
US6760910B2 (en) Workload management method to enhance shared resource access in a multisystem environment
CN104050042B (zh) Etl作业的资源分配方法及装置
US8046759B2 (en) Resource allocation method and system
CN105786603B (zh) 一种基于分布式的高并发业务处理系统及方法
US20030135615A1 (en) Method for rebalancing resources within a global resource namespace
US20070124457A1 (en) Analysis of nodal affinity behavior
US11188387B2 (en) Administrative resource management QoS for storage appliances
US7526767B1 (en) Methods for automatic group switching according to a resource plan
US20200004861A1 (en) Method and system for implementing parallel database queries
JP3429582B2 (ja) マルチプロセッサシステム
CN101390056A (zh) 应用系统智能优化器
US20090320036A1 (en) File System Object Node Management
Plaxton et al. Reconfigurable resource scheduling
AU2008202230A1 (en) Methods and systems for multi-policy resource scheduling
CN112291320A (zh) 量子计算机集群分布式两层调度方法及系统
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
AU2002309754A1 (en) Methods and systems for multi-policy resource scheduling

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070123

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071120

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071128

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071220

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080111

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: 20080325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080409

R150 Certificate of patent or registration of utility model

Ref document number: 4112375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120418

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140418

Year of fee payment: 6

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

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term