JP4112420B2 - 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム - Google Patents

重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム Download PDF

Info

Publication number
JP4112420B2
JP4112420B2 JP2003125028A JP2003125028A JP4112420B2 JP 4112420 B2 JP4112420 B2 JP 4112420B2 JP 2003125028 A JP2003125028 A JP 2003125028A JP 2003125028 A JP2003125028 A JP 2003125028A JP 4112420 B2 JP4112420 B2 JP 4112420B2
Authority
JP
Japan
Prior art keywords
application
ratio
resources
target ratio
applications
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
JP2003125028A
Other languages
English (en)
Other versions
JP2003330734A (ja
JP2003330734A5 (ja
Inventor
クリフォード・エイ・マッカーシー
キャンミン・ジン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2003330734A publication Critical patent/JP2003330734A/ja
Publication of JP2003330734A5 publication Critical patent/JP2003330734A5/ja
Application granted granted Critical
Publication of JP4112420B2 publication Critical patent/JP4112420B2/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/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)
  • Memory System (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般に、コンピュータシステムに関する。より詳細には、本技術分野は、システムで実行中のアプリケーション間の、メモリ等のシステム資源の割当てに関する。
【0002】
【従来の技術】
コンピュータシステムの分野では、システム上で実行中のあらゆるプロセスのグループ間でシステム資源を割当てることが望ましい。コンピュータシステムの資源は大抵有限であり、そのシステムのユーザは、それら資源が、最も効率的に使用することができるように特定の方法で割当てられることが確実であるように望む場合がある。ユーザは、グループ間でシステム資源を、直接、または他のシステムプロセスによって割当を確定するシステムを介して間接的に、割当てることができる。また、ユーザは、効率を向上させるためにグループのうちのいくつかまたはすべてに対し最大限の割当分を割当てることができる。
【0003】
システム資源は、限定されないがメモリ資源、中央処理装置(CPU)資源、入出力(I/O)帯域幅(ディスクI/O帯域幅またはネットワークI/O帯域幅等)等を含む、コンピュータシステムにおけるいかなる有限の資源をも含む。それらの資源を使用するプロセスのグループは、システム上で実行しているソフトウェアアプリケーション、アプリケーションの一部、またはシステム資源を使用する任意の他のプロセスであってよい。
【0004】
【発明が解決しようとする課題】
問題は、グループのうちの1つが非アクティブであるかまたは使用可能状態でない場合に発生する。例として、グループによっては、オフラインになった場合、一定時間のみ動作する場合、もしくはそれ以外の方法でオフにされシステム資源を使用していない場合、非アクティブになる場合がある。グループとしてのソフトウェアアプリケーションの場合、一定の時刻にのみ実行するか、もしくは他のあるシステムアクティビティに応答する場合にのみ実行するものもある。アプリケーションの必要にしたがってシステム資源を効率的に割当てる方法およびシステムが必要である。
【0005】
【課題を解決するための手段】
アプリケーション間におけるメモリ等のコンピュータシステム資源を割当てる方法が開示される。アプリケーションに対し、入力パラメータが受取られる。パラメータは、最小使用権の値と、最大使用権の値と、重みとを含む。最小使用権は、アプリケーションが受取るべき資源の最小量である。最大使用権は、アプリケーションが受取るべき資源の最大量である。重みは、システム資源を分配する目的で、他のアプリケーションに関してアプリケーションの優先度を指定する。コンピュータシステム資源は、それらパラメータに基づいてアプリケーション間で割当てられる。
【0006】
また、たとえばユーザにより、アプリケーションに対して指定されるパラメータに基づいて、アプリケーション間でメモリ等のコンピュータ資源を割当てる方法も開示する。パラメータは、各アプリケーションに対し、最小使用権と、最大使用権と、重みとを含む。アプリケーションにすでに割当てられた資源の量を重みで除算した値に等しい割当比率と、要求資源の量を重みで除算した値に等しい要求比率とを含む、重み比率が計算される。これらの重み比率を使用して、目標比率が設定され、重み比率に基づいてアプリケーションの現セット(割当作業される組)が画定される。本方法は、目標比率を使用して現セットの各アプリケーションを割当てるために十分な未割当資源があるか否かを判断する。十分な未割当資源がある場合、本方法は、目標比率を新たな目標比率に変更し、新たな目標比率を使用して現セットの各アプリケーションに割当てるために十分な未割当資源があるか否かを再び判断する。
【0007】
また、メモリおよびプロセッサを有するコンピュータシステムも開示する。プロセッサは、複数のアプリケーション間でシステム資源を割当てる方法を実行する命令を実行する。システムによって実行される方法は、最小使用権と、最大使用権と、重みとを含む、アプリケーションに対するパラメータを受取る。これらのパラメータに基づいて、本方法は、アプリケーション間でシステム資源を割当てる。また、コンピュータシステム資源を割当てる方法を実行するコンピュータ実行可能命令が格納された、有形のコンピュータ読取可能媒体も開示する。
【0008】
詳細な説明は、以下の図面を参照する。図面において、同様の数字は同様の要素を示している。
【0009】
【発明の実施の形態】
図1は、システム資源を割当てる方法が実現されるコンピュータシステム10を示す。コンピュータシステム10は、オペレーティングシステム50を使用してアプリケーション20〜23を実行するプロセッサ30を含む。プロセッサ30は、ユーザ入力装置70から入力信号を受取る。また、プロセッサ30は、ディスプレイ60にデータを出力する。コンピュータシステム10は、メモリ42、中央処理装置(CPU)44および入出力(I/O)帯域幅46等のシステム資源40を含む。いかなる時も、各アプリケーション20〜23は、アクティブであっても非アクティブであってもよい。
【0010】
本方法およびシステムは、たとえばユーザによりユーザ入力装置70を介して各アプリケーション20〜23に対して指定されたパラメータに基づいて、アプリケーション20〜23にシステム資源40を割当てる。本明細書で使用する「アプリケーション」という用語は、システム資源にアクセスするプロセスまたはプロセスのグループを言う。アプリケーションは、たとえば、ソフトウェアアプリケーションまたはモジュールを含む。便宜上および単に例として、本明細書では、システム10を、割当てられる資源40としてメモリ42に関して説明する。パラメータは、各アプリケーション(g)(application(g))に対し、最小使用権min(g)、最大使用権max(g)およびアプリケーションの重みweight(g)を含む。最小および最大使用権は、アプリケーションに対して許可すべきメモリの最小および最大量をいう。本明細書で使用する「重み」という用語は、異なる重みを有するアプリケーションに対し割当中に異なる量の未割当資源が割当てられるように、システム資源を割当てるために使用する要素を言う。
【0011】
アプリケーション20〜23がアクティブおよび非アクティブになると、システム10は、システム資源40の分配を調整することにより、それら資源をより効率的に使用する。概して、アプリケーション20〜23が非アクティブとなると、システム10は、可能な場合は、そのアプリケーションの資源40の一部をアクティブなアプリケーションに再び割当てるよう試みる。一実施形態では、システム資源を割当てる方法が、たとえばループにおいて動的に繰返され、それによってシステム10が、システム資源40を再割当すべきか否かを連続的に判断する。
【0012】
図2は、コンピュータシステム10においてアプリケーション間でメモリを割当てる方法のフローチャートである。すべてのアクティブおよび非アクティブなアプリケーション20〜23がその最大使用権(max(g))を受取るために十分なメモリが存在しない限り、メモリは、最小および最大使用権にしたがってアプリケーションの重みに基づいて割当てられる。図2の実施例では、方法は、開始して(ブロック209)、各アプリケーション20〜23にその最小使用権に割当てることができるか否かを判断する(ブロック210)。すべてのアプリケーション20〜23がその最小使用権を受取ることができるとは限らない場合、最初に、メモリはまったく割当てられない(ブロック290)。次に、各アプリケーション20〜23は、変数、request(g)(「要求量」とも言う)をmin(g)に設定し(ブロック292)、重みに基づいて利用可能なメモリを割当てる(ブロック300)ことにより、最小使用権を受取るように試みる。代替実施形態では、システム10は、ユーザが総システム資源を超過する最小使用権の値を指定するのを可能にせず、そのためステップ210における「no」分岐は不要となる。
【0013】
各アプリケーション20〜23がその最小使用権(min(g))を受取ることができる場合(ブロック210における「yes」分岐)、本方法は、各アクティブなアプリケーションがその最大使用権(max(g))を受取るために、および各非アクティブなアプリケーションがその最小使用権(min(g))を受取るために、利用可能なメモリが十分にあるか否かを判断する(ブロック220)。すべてのアクティブなアプリケーションがその最大使用権を受取ることができるとは限らない場合、各アクティブおよび非アクティブアプリケーション20〜23には、その最小使用権が割当てられる(ブロック280)。次に、各アクティブなアプリケーションは、アクティブなアプリケーションに対し変数request(g)をmax(g)に等しい値に設定することによりその最大使用権を要求し、非アクティブなアプリケーションに対しrequest(g)をmin(g)に等しい値に設定する(ブロック282)。次に、それらの重みに基づいて、いずれかの残りのメモリがアプリケーションに割当てられる(ブロック300)。
【0014】
各アクティブなアプリケーションがその最大使用権を受取ることができる場合(ブロック220における「yes」分岐)、本方法は、各アクティブおよび非アクティブなアプリケーション20〜23がその最大使用権を受取るために、十分なメモリが利用可能であるか否かを判断する(230)。すべてのアクティブおよび非アクティブなアプリケーション20〜23がその最大使用権を受取ることができるとは限らない場合、各アクティブなアプリケーションにはその最大使用権が割当てられ、各非アクティブなアプリケーションにはその最小使用権が割当てられる(ブロック270)。すべてのアプリケーションに対し、要求量がmax(g)に等しい値に設定される(ブロック272)。残りのメモリは、非アクティブなアプリケーションに対し、それらの重みに基づいて有効に割当てられる(ブロック300)。
【0015】
各アクティブおよび非アクティブなアプリケーション20〜23がその最大使用権を受取ることができる場合(ブロック230における「yes」分岐)、アプリケーション20〜23には、それらの最大使用権が割当てられる(240)。方法は、メモリが残っているか否かを判断する(250)。メモリが残っていない場合、本方法(300)は終了する(ブロック301)。メモリが残っている場合、図2の方法例は、残っているメモリを指定されたまたはデフォルトのアプリケーションに割当てる(260)。他の実現は、異なる方法を使用して、各アプリケーションの最大使用権を満足した後に残っている資源を分配してもよい。
【0016】
図3は、要求量を使用して、重みに基づいてアプリケーション20〜23間で残りのメモリを割当てる方法300の一実現のフローチャートを示す。重み比率が計算され(310)メモリを割当てるために使用される。重み比率は、アプリケーションにすでに割当てられたメモリの量をアプリケーションの重み(weight(g))で除算した値である割当比率と、要求量(request(g))を重み(weight(g))で除算した値である要求比率とを含んでよい。
【0017】
目標比率は、方法300が資源を割当てるために使用する比率であり、それによって、方法300は、利用可能な資源を目標比率に比例してアプリケーションに割当てるよう試みる。方法300は、目標比率に対し低い値で開始し、その目標比率に基づいてメモリを割当てるように試みる。次に、方法300は、それより高い目標比率に進み、ふたたびメモリを割当てるように試みる。この目標比率を増大させるプロセスは、方法300がメモリの割当に使用するために大きすぎる目標比率に達するまで続く。図3に示す実施形態では、方法300は、現目標比率と先の目標比率との両方を追跡する。現目標比率は、それを使用して資源を割当てることができるか否かを判断する試験を目下行っている目標比率である。目標比率が進むと、先の目標比率が格納され方法300によって使用される。
【0018】
図3の実施例では、先の目標比率は最初に、最低重み比率、すなわち最低割当比率または要求比率に設定される(ブロック320)。現目標比率は、最初に2番目に低い重み率に等しい値に設定される(ブロック320)。一実施形態では、2つの重み比率が等しい場合、使用される比率は次に低い値であり、現比率と目標比率とが異なる値を有することになる。たとえば、アプリケーションA〜Cに対して昇順の重み比率が、0、0、0、10、20および50である場合、先の目標比率は、最初に0(最低重み比率として)に等しく設定され、現目標比率は、10(2番目に低い重み比率として)に等しく設定される。これは、たとえば、各アプリケーション20〜23にその最小値を割当てるためには資源が不十分であり、アプリケーション20〜23の各々に対し割当比率が0に設定される場合(図2のブロック210における「no」分岐にしたがう)に発生する。図2のフローチャートのこの分岐にしたがって、最初の割当比率はすべて0に等しくなる。これはまた、2つ以上のアプリケーションが共通の重み比率を共有する他の場合にも発生する。
【0019】
方法300は、方法300が適用される際に変化する可能性のある、アプリケーション20〜23の「現セット」を画定する。アプリケーション20〜23の現セットは、目標比率より低い割当比率を有し、目標比率以上の要求比率を有するすべてのアプリケーションのセットとして画定される(ブロック330)。方法300は、最低の値で開始して重み比率を上昇させ、その「目標比率」を使用してメモリをアプリケーションの現セットに割当てるよう試みる。目標比率を使用してアプリケーションの現セットに割当てるメモリが十分である場合、目標比率に基づいてメモリが現セットのアプリケーションに割当てられる。目標比率は、次の最も低い重み比率に進み、方法300は再び新たな目標比率に基づいてメモリを割当てるよう試みる。これは、分配するメモリが不十分となるまで続き、不十分となった時点で、未割当メモリは、現セットの重みの合計に基づいて分配される。
【0020】
方法300は、未割当メモリが、アプリケーションの現セットの重みの合計に、現目標比率から先の目標比率を引いたものを乗算したものより、小さいか否かを判断する(ブロック340)。未割当メモリがアプリケーションの現セットの重みの合計を超過する場合(ブロック340における「no」分岐)、目標比率を使用して現セットの各アプリケーションにメモリを割当てるために十分なメモリがある。現セットにおける各アプリケーションに対し、目標比率にアプリケーションの重み(weight(g))を乗算した値に等しくメモリが割当てられる(ブロック350)。図3に示す実施例では、ブロック350において割当てられた量が、先に割当てられた量に置換わる。たとえば、アプリケーションAに、先に60単位のメモリが割当てられており、現目標比率がそれに対して合計80単位のメモリを割当てるというものである場合、先に割当てられた60の量が80に置換えられる。他の実施形態では、関数は加法であってよく、それによって本方法は、現割当を置換える量を計算するのではなく、すでに割当てられたメモリに加算するメモリの量を確定する。次に、現目標比率は、すべてのアプリケーションに対し次の最も高い重み比率に進み(ブロック360)、方法300は、ループしてブロック330に戻る。
【0021】
次に、アプリケーションのパラメータに基づいて、先の割当中に最大使用権(max(g))に達したアプリケーションを除き、次の割当ラウンドにおいてメモリに対して使用権が与えられるアプリケーションを追加して、現セットが再定義される(ブロック330)。方法300は、再び、現セットに対しそれらの重みの合計に基づいて分配するために十分な未割当メモリがあるか否かを判断する(ブロック340)。すでに十分な未割当メモリがない場合(ブロック340における「yes」分岐)、アプリケーションの現セットにおける重みの合計により未割当メモリを除算し、その値を先の目標比率に加算することによって、最終比率が計算される(370)。次に、現セットにおける各アプリケーションに対し、最終比率とその重み(weight(g))との積に等しいメモリが割当てられる(380)。
【0022】
図4a乃至図4dは、図2および図3で説明した方法を使用するメモリ割当の計算例を示す。図4aは、たとえばユーザ入力装置70から受取ることができる4つのアプリケーションA〜Dに対するアプリケーションパラメータを示す。この実施例では、すべてのアプリケーションがアクティブである。アプリケーションA〜Dは、それぞれ10、5、50および10の最小使用権を有する。また、アプリケーションA〜Dは、それぞれ80、20、60および100の最大使用権と、それぞれ2、5、2および1の重みとを有している。この実施例では、総利用可能システムメモリは185単位である。図2において説明した方法にしたがうと、最小使用権の合計は75であり、そのため、各アプリケーションA〜Dがその最小使用権(min(g))を受取るために十分なメモリが存在する(図2のブロック210における「yes」分岐)。アプリケーションの最大使用権の合計は(それらはすべてアクティブであるため)260であり、それは、185の総メモリを超過するため、各アプリケーションはその最大使用権を受取ることができない(図2のブロック220における「no」分岐)。
【0023】
図4bは、各アプリケーションA〜Dに対する割当と、request(g)と、割当および要求比率との計算を示す。各アプリケーションA〜Dには、その最小使用権が割当てられており(図2のブロック280)、そのためアプリケーションA〜Dの初期割当は、それぞれ10、5、50および10である。未割当メモリは、この時110(185−75)である。各アプリケーションA〜Dに対するrequest(g)は、各アプリケーションの最大使用権(max(g))に等しい値に設定される(すべてのアプリケーションA〜Dがアクティブであるため)(図2のブロック282)。アプリケーションA〜Dに対し、requestはそれぞれ80、20、60および100に等しい値に設定される。最初に、割当比率は、割当(この実施例では各アプリケーションに対するmin(g))をアプリケーションの重みで除算した値として計算される(図3のブロック310)。要求比率は、request(この実施例ではmax(g))をアプリケーションの重みで除算した値として計算される(図3のブロック310)。
【0024】
図4cは、図3のフローチャートの下位部分に示す方法によってメモリが割当てられ、方法が、あらゆる目標比率に基づいてメモリを割当てるように試みて、ブロック330〜360として画定されるループを実行する際の、実施例の計算を示す。ループの第1のパスの間、先の目標比率には、割当および要求比率の最低値として1が設定され、現目標比率には、割当および要求比率の2番目に低い値として、4が設定される。この実施例では、現目標比率と先の目標比率との両方が、最初に、同じアプリケーション、すなわちアプリケーションBから導出される。現セットは、目標比率より低い割当比率と目標比率以下の要求比率とを有するアプリケーションとして画定される(図3のブロック330)。この実施例では、第1のパスの間、現セットにはアプリケーションBのみがある。したがって、現セットの重みの合計は5である。重みの合計と、現目標比率と先の目標比率との差との積は、15(5×(4−1))である。未割当メモリ(110単位)がこの積を超過するため(図3のブロック340における「no」分岐)、現目標比率を使用してメモリを現セットに割当てることができる。アプリケーションBは、20単位(4×5)のメモリを受取り、アプリケーションBに先に割当てられた10と置換わる。図4cに示す実施例では、「割当」列の下において、ループのパス中にメモリを受取るアプリケーションは、アスタリスクによって指示されている。アプリケーションBに対して15単位を割当てた後、その時の未割当メモリは、95(110単位−15単位)の値を有する。目標比率は、次の最も高い重み比率の値に進み(図3のブロック360)、方法300は、ブロック330に戻ってこの目標比率に基づいて割当を試みる。
【0025】
ループの第2のパス中、先の目標は4であり、現目標は5である。現セット内でいずれのアプリケーションも適合しないため、第2のパス中にはメモリは割当てられない。目標比率は再び進み(図3のブロック360)、方法300は第2のパスを行う。第3のパス中、現目標は10であり、先の目標は5である。パス3において画定される現セット内では、アプリケーションAのみが適合する。アプリケーションAの重みは2であり、その重みと、現目標比率と先の目標比率との差との積は10(2×(10−5))である。次に、アプリケーションAの割当は20になり、未割当メモリはこの時総計85になる。目標比率は次に高い重み比率に進み、方法300はループの第4のパスを行う。
【0026】
第4のパス中、現目標比率は25であり、先の目標比率は10である。したがって、現セットは、アプリケーションAおよびDを含む。現セットの重みの合計は3である。重みと、現目標と先の目標との差と、の積は45である。この量は、未割当メモリより小さく、そのため現目標比率を使用してメモリがアプリケーションAおよびDに割当てられる。目標比率に重みを乗算することにより、アプリケーションAの割当は50になり、アプリケーションDの割当は25になる。未割当メモリは、この時40である。現目標比率が進み、方法300はループの第5のパスを行う。
【0027】
第5のパス中、現目標比率は30であり、先の目標比率は25である。この時、現セットはアプリケーションA、CおよびDを含む。現セットの重みの合計は、5(2+2+1)であり、重みの合計と、現目標比率と先の目標比率との差との積は25である。この値は、未割当メモリより小さく、そのため現比率を使用してメモリA、CおよびDにメモリが割当てられる。ループの第5のパスの後、アプリケーションA〜Dに、それぞれ60、20、60および30単位のメモリが割当てられる。未割当メモリは、総計15となる。目標比率は進み、方法はループの第6のパスに入る。
【0028】
第6のパス中、現目標比率は40であり、先の目標比率は30である。現セットは、AおよびDである。アプリケーションCは、先の割当ラウンド中にその最大メモリ使用権の60に達しており、したがって、第6のパス中の現セットから落とされる。重みの合計は3であり、この合計と、現目標比率と先の目標比率との差との積は30であり、そのためパスは30単位の未割当メモリを必要とする。未割当メモリが30より小さい場合(図3のブロック340における「yes」分岐)、現目標比率を使用することができず、最終比率が計算されて(図3のブロック370)未割当メモリの残りの15単位が割当てられる。
【0029】
図4dは、最終比率の計算とその割当とを示す。最終比率は、先の目標比率に、未割当メモリを現セットの重みの合計で除算した値を足したものである(30+(15/3)=35)。最終比率を使用して、未割当資源が現セットに、その中のアプリケーションの重みにしたがって割当てられる。この実施例における最終割当(使用権すなわちentitlement(g)とも言う)は、それぞれのグループに対して70、20、60および35である。
【0030】
図5aないし図5dは、図4aないし図4dの実施例に類似する、図2および図3において説明する方法を使用するメモリ割当のさらなる計算例を示すが、この場合、アプリケーションのうちの1つ、アプリケーションAが非アクティブである。アプリケーションAが非アクティブであるため、そうでなければアプリケーションAに割当てられるメモリ資源の一部が、アクティブなアプリケーションに再割当される。図5aは、アクティブかまたは非アクティブないずれかとしてアプリケーションのステータスのインジケータを含む、アプリケーションパラメータの図表を示す。図5aないし図5dの実施例は、アプリケーションAが非アクティブであるということを除いて、図4aないし図4dの実施例に従うため、アプリケーションの最小使用権(min(g))と、最大使用権(max(g))と、重み(weight(g))との値は、図4aに示すものと同じである。
【0031】
図5bは、ここでまた図2および図3に関して説明した方法を使用する、各アプリケーションに対する割当と、request(g)と、割当および要求比率との計算を示す。図4bの実施例に関し、各アプリケーションにその最小使用権が割当てられ(図2のブロック280)、そのためアプリケーションA〜Dの最初の割当は、それぞれ10、5、50および10である。未割当メモリは、この時110(185−75)である。各アクティブなアプリケーションに対する要求は、最大使用権に等しい値に設定される(図2のブロック282)。この実施例ではアプリケーションAが非アクティブであるため、その要求量は、その最小使用権の10に設定され、それはすでに割当てられている。アプリケーションA〜Dに対し、要求がそれぞれ10、20、60および100に等しい値に設定される。最初に、割当比率が、最小使用権をアプリケーションの重みで除算した値として計算される(ブロック310)。要求比率は、要求をアプリケーションの重みで除算した値として計算される(ブロック310)。
【0032】
図5cは、メモリが図3のフローチャートの下位部分に示す方法によって割当てられ、方法があらゆる目標比率に基づいてメモリを割当てるように試みてループを実行する(図3のブロック330〜360)際の、実施例の計算を示す。ループの第1のパスは、図4cに示すものと実質的に同じである。図3のブロック330〜360として画定されるループの第1のパス中、先の目標比率は、割当および要求比率の最低値として1に設定され、現目標比率は、割当および要求比率の2番目に低い値として4に設定される。第1のパス中、現セットにはアプリケーションBのみがある。現セットの重みの合計は5である。重みの合計と、現目標比率と先の目標比率との差との積は、15(5×(4−1))である。未割当メモリ(110単位)がこの積(15単位)を超過するため(図3のブロック340の「no」分岐)、現目標比率を使用して、メモリを現セットに割当てることができる。アプリケーションBは、20単位(4×5)のメモリを受取って、アプリケーションBに先に割当てられた10単位に置換わる。この時、未割当メモリは、95(110単位−15単位)の値を有する。目標比率は、次に高い重み比率の値に進み(図3のブロック360)、方法300は、ブロック330に戻って、この目標比率に基づいて割当てるように試みる。
【0033】
第2のパス中、先の目標は4であり、現目標は5である。その要求比率が、アプリケーションAが非アクティブであるために減少したため、この時アプリケーションAは、この実施例では第2のパス中に現セットに適合する。現セットの重みの合計は2であり、重みと目標比率との積は10である。しかしながら、アプリケーションAは、すでに10単位のメモリを有しているため、このパス中にそれ以上メモリを受取らず、第2のパス後に未割当資源は95のままである。第3のパス中、目標比率は、次の重み比率10まで増大する。第3のパス中の現セット内にいずれのアプリケーションも適合しないため、目標比率は、第4のパスのために25まで増大する。
【0034】
第4のパス中、現目標比率は25であり、先の目標比率は10である。したがって、アプリケーションの現セットは、アプリケーションDのみを含む。現セットの重みの合計は1である。現セットの重みの合計と、現目標と先の目標との差と、の積は15である。この量は、未割当メモリより小さく、そのため現目標比率を使用してメモリがアプリケーションDに割当てられる。目標比率に重みを乗算することにより、アプリケーションDの割当は25になる。未割当メモリは、この時80である(図4dの実施例における40ではなく)。現目標比率が進み、方法300はループの第5のパスを行う。
【0035】
第5のパス中、現目標比率は30であり、先の目標比率は25である。この時、現セットは、アプリケーションCおよびDを含む。現セットの重みの合計は、3(2+1)であり、重みの合計と、現目標比率と先の目標比率との差との積は15である。この値は、未割当メモリより小さく、そのため、現比率を使用してメモリがCおよびDに割当てられる。ループの第5のパス後、アプリケーションA〜Dに、それぞれ10、20、60および30単位のメモリが割当てられる。未割当メモリは、総計65となる。目標比率が進み、方法300はループの第6のパスに入る。
【0036】
第6のパス中、現目標は100であり、先の目標は30である。アプリケーションCは、先のラウンド中にその最大メモリ使用権60に達したため、現セットはDのみである。重みの合計は1であり、この合計と、現目標比率と先の目標比率との差との積は70であり、そのためこのパスは70単位の未割当メモリを必要とする。未割当メモリが70より少ないため(図3のブロック340における「yes」分岐)、現目標比率を使用することができず、最終比率を計算することによって(図3のブロック370)、残りの65単位の未割当メモリが割当てられる。
【0037】
図5dは、最終比率の計算とその割当とを示す。最終比率は、先の目標比率に、未割当メモリを現セットの重みの合計で除算した値を足したものである(30+(65/1)=95)。最終比率を使用して、アプリケーションの重みにしたがって未割当資源が現セットに割当てられる。この実施例における最終割当(使用権またはentitlement(g)とも言う)は、それぞれのグループに対して10、20、60および95である。
【0038】
本発明を、その特定の実施形態に関して説明したが、変形が可能である。たとえば、資源を割当てる方法を、メモリを割当てることに関して説明したが、当業者は、それがあらゆるタイプのシステム資源に割当てられてよい、ということを認めるであろう。本発明を、その本質的精神または特性から逸脱することなく、特定の形態で実現してよい。本明細書で説明した実施形態が、すべての点で限定的ではなく例示的であるようにみなされ、本発明の範囲を確定するために併記の特許請求の範囲とそれらの等価物とが参照されることが望ましい。
【図面の簡単な説明】
【図1】システム資源を割当てる方法が実現されるコンピュータシステム。
【図2】メモリを割当てる方法のフローチャート。
【図3】図2のステップ300に示すように、重みに基づいてメモリを割当てる方法のフローチャート。
【図4a】メモリ割当の計算例。
【図4b】メモリ割当の計算例。
【図4c】メモリ割当の計算例。
【図4d】メモリ割当の計算例。
【図5a】メモリ割当のさらなる計算例。
【図5b】メモリ割当のさらなる計算例。
【図5c】メモリ割当のさらなる計算例。
【図5d】メモリ割当のさらなる計算例。

Claims (10)

  1. コンピュータシステム資源を割当てる方法であって、
    システム資源が割当てられる複数のアプリケーションに対して重み比率を計算するステップであって、前記アプリケーションは該アプリケーションに関連付けられた重みを有し、前記重み比率は割当比率と要求比率とを含み、
    前記重み比率に基づいて目標比率を設定するステップと、
    前記重み比率を使用してアプリケーションの現セットを画定するステップと、
    前記目標比率を使用して前記現セットの各アプリケーションに割当てるために十分な未割当資源があるか否かを判断するステップと、
    前記目標比率を使用して前記現セットの各アプリケーションに割当てるために十分な未割当資源がある場合、
    前記目標比率を新たな目標比率に変更するステップと、
    前記新たな目標比率を使用して前記現セットの各アプリケーションに割当てるために十分な未割当資源があるか否か再度判断するステップと、
    を含む方法。
  2. 前記目標比率を使用して前記現セットの各アプリケーションに割当てるため未割当資源が十分でない場合、アプリケーションの現セットにおける重みの合計により未割当メモリを除算し、その値を先の目標比率に加算することによって算出された最終比率と現セットにおける各アプリケーションの重みとの積に基づいて資源を割当てるステップをさらに含む請求項1記載の方法。
  3. 前記目標比率に基づく割当後に残っている資源がある場合、最終比率を使用して前記現セットの前記アプリケーションに対し該残っている資源を割当てるステップをさらに含む請求項2記載の方法。
  4. 前記目標比率を新たな目標比率に変更するステップは、該目標比率を次の最も高い重み比率に進めるステップを含む請求項1乃至3のいずれかに記載の方法。
  5. 前記現セットの各アプリケーションに割当てるために十分な未割当資源があるか否かを判断するステップは、各アプリケーションに対する前記目標比率と前記重みとの積に基づいて、前記現セットの各アプリケーションに対しある量の資源を割当てるために十分な未割当資源があるか否かを判断するステップを含む、請求項1乃至4のいずれかに記載の方法。
  6. コンピュータシステム資源を割当てる方法であって、
    複数のアプリケーションに対し、最小使用権の値、最大使用権の値、および重みを含む入力パラメータを受取るステップと、
    該パラメータに基づいて前記アプリケーションにシステム資源を割当てるステップと、
    を含む方法。
  7. 前記割当てるステップは、
    各アプリケーションにその最小使用権を割当てることができるか否かを判断するステップと、
    各アプリケーションにその最小使用権を割当てることができる場合、
    各アプリケーションにその最小使用権を割当てるステップと、
    各アクティブなアプリケーションにその最大使用権を割当てることができるか否かを判断するステップと、
    各アクティブなアプリケーションにその最大使用権を割当てることができる場合、
    各アクティブなアプリケーションにその最大使用権を割当てるステップと、
    各アクティブおよび非アクティブなアプリケーションにその最大使用権を割当てることができるか否かを判断するステップと、
    各アクティブおよび非アクティブなアプリケーションにその最大使用権を割当てることができる場合、
    各アクティブおよび非アクティブなアプリケーションにその最大使用権を割当てるステップと、
    残っている資源を指定されたアプリケーションに割当てるステップと、
    を含む請求項6記載の方法。
  8. 各アプリケーションがアクティブであるか非アクティブであるかを判断するステップをさらに含み、該判断するステップと前記割当てるステップとを連続ループにおいて動的に実行し、それによりアプリケーションがアクティブまたは非アクティブとなるにしたがってアプリケーション間の資源の割当を調整する、請求項6または請求項7記載の方法。
  9. 1つまたは複数のアプリケーション間で割当てられるシステム資源を有するコンピュータシステムであって、
    メモリと、
    アプリケーション間でシステム資源を割当てる方法を実行する命令を実行するプロセッサを有し、該方法は、
    複数のアプリケーションに対し、最小使用権の値、最大使用権の値、および重みを含むパラメータを受取るステップと、
    該パラメータに基づいて前記アプリケーションにシステム資源を割当てるステップとを含む、
    コンピュータシステム。
  10. 複数のアプリケーション間でコンピュータシステム資源を割当てる方法を実行するコンピュータ実行可能命令が格納された有形のコンピュータ読取可能媒体であって、前記コンピュータ実行可能命令は、
    システム資源が割当てられる複数のアプリケーションに対して重み比率を計算するステップと、前記アプリケーションは該アプリケーションに関連付けられた重みを有し、前記重み比率は割当比率と要求比率とを含んでおり、
    該重み比率に基づいて目標比率を設定するステップと、
    該重み比率を使用してアプリケーションの現セットを画定するステップと、
    前記目標比率を使用して前記現セットの各アプリケーションに割当てるために十分な未割当資源があるか否かを判断するステップと、
    前記目標比率を使用して前記現セットの各アプリケーションに割当てるために十分な未割当資源がある場合、該目標比率を新たな目標比率に変更し、該新たな目標比率を使用して該現セットの各アプリケーションに割当てるために十分な未割当資源があるか否かを再度判断するステップと、をコンピュータに実行させる、
    コンピュータ読取可能媒体。
JP2003125028A 2002-05-15 2003-04-30 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム Expired - Fee Related JP4112420B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/144,991 2002-05-15
US10/144,991 US7143413B2 (en) 2002-05-15 2002-05-15 Method and system for allocating system resources among applications using weights

Publications (3)

Publication Number Publication Date
JP2003330734A JP2003330734A (ja) 2003-11-21
JP2003330734A5 JP2003330734A5 (ja) 2006-05-11
JP4112420B2 true JP4112420B2 (ja) 2008-07-02

Family

ID=29709531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003125028A Expired - Fee Related JP4112420B2 (ja) 2002-05-15 2003-04-30 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム

Country Status (2)

Country Link
US (2) US7143413B2 (ja)
JP (1) JP4112420B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150080859A (ko) * 2014-01-02 2015-07-10 삼성전자주식회사 어플리케이션 운용 방법 및 이를 이용한 전자 장치

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7136800B1 (en) * 2002-10-18 2006-11-14 Microsoft Corporation Allocation of processor resources in an emulated computing environment
US7627506B2 (en) * 2003-07-10 2009-12-01 International Business Machines Corporation Method of providing metered capacity of temporary computer resources
US7594231B2 (en) * 2003-07-10 2009-09-22 International Business Machines Corporation Apparatus and method for assuring recovery of temporary resources in a logically partitioned computer system
US7877754B2 (en) * 2003-08-21 2011-01-25 International Business Machines Corporation Methods, systems, and media to expand resources available to a logical partition
DE102004005128B3 (de) * 2004-02-02 2005-01-05 Fujitsu Siemens Computers Gmbh Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall
US7665090B1 (en) * 2004-03-08 2010-02-16 Swsoft Holdings, Ltd. System, method, and computer program product for group scheduling of computer resources
WO2005116828A2 (en) * 2004-05-21 2005-12-08 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
US8074223B2 (en) * 2005-01-31 2011-12-06 International Business Machines Corporation Permanently activating resources based on previous temporary resource usage
US8286157B2 (en) * 2005-02-28 2012-10-09 International Business Machines Corporation Method, system and program product for managing applications in a shared computer infrastructure
US20070094668A1 (en) * 2005-10-17 2007-04-26 Jacquot Bryan J Method and apparatus for dynamically allocating resources used by software
US7941804B1 (en) * 2005-10-31 2011-05-10 Hewlett-Packard Development Company, L.P. Allocating resources among tiered partitions of different types
EP1801697A1 (en) 2005-12-21 2007-06-27 International Business Machines Corporation Method, system and computer program for dynamic resources allocation
US20070174460A1 (en) * 2006-01-26 2007-07-26 International Business Machines Corporation Method and system for on demand weighted proportional distribution of enterprise allocations
US8117611B2 (en) * 2006-03-01 2012-02-14 International Business Machines Corporation Method, system, and program product for deploying a platform dependent application in a grid environment
US8024738B2 (en) * 2006-08-25 2011-09-20 International Business Machines Corporation Method and system for distributing unused processor cycles within a dispatch window
JP5073348B2 (ja) * 2007-04-04 2012-11-14 株式会社日立製作所 アプリケーション管理支援システム、管理計算機、ホスト計算機、及びアプリケーション管理支援方法
US8046766B2 (en) 2007-04-26 2011-10-25 Hewlett-Packard Development Company, L.P. Process assignment to physical processors using minimum and maximum processor shares
US20090025004A1 (en) * 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
FR2926146B1 (fr) * 2008-01-04 2009-12-25 Bull Sas Dispositif informatique a memoire reservee pour des applications prioritaires.
US8776078B2 (en) * 2008-05-20 2014-07-08 International Business Machines Corporation Method for dynamically freeing computer resources
US8341267B2 (en) * 2008-09-19 2012-12-25 Core Wireless Licensing S.A.R.L. Memory allocation to store broadcast information
JP5322595B2 (ja) * 2008-11-12 2013-10-23 キヤノン株式会社 コンピュータ、制御方法、及びプログラム
EP2483778B1 (en) * 2009-09-30 2019-09-04 Citrix Systems, Inc. Dynamic reallocation of physical memory responsive to virtual machine events
US8285729B2 (en) * 2009-12-15 2012-10-09 International Business Machines Corporation Reducing overheads in application processing
US8463908B2 (en) * 2010-03-16 2013-06-11 Alcatel Lucent Method and apparatus for hierarchical management of system resources
US8589936B2 (en) * 2010-03-16 2013-11-19 Alcatel Lucent Method and apparatus for managing reallocation of system resources
US9229783B2 (en) * 2010-03-31 2016-01-05 International Business Machines Corporation Methods and apparatus for resource capacity evaluation in a system of virtual containers
US9280391B2 (en) 2010-08-23 2016-03-08 AVG Netherlands B.V. Systems and methods for improving performance of computer systems
US8856483B1 (en) * 2010-09-21 2014-10-07 Amazon Technologies, Inc. Virtual data storage service with sparse provisioning
US9069610B2 (en) * 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
US20120102200A1 (en) * 2010-10-26 2012-04-26 Qualcomm Incorporated Application specific resource management
US9244703B2 (en) * 2010-11-12 2016-01-26 Hitachi, Ltd. Server system and management unit identifying a plurality of business application software on a virtual machine based on a program boundary for dynamic resource allocation
KR20120097136A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 가상화 환경에서의 메모리 풀 관리
US8966213B2 (en) 2012-07-12 2015-02-24 International Business Machines Corporation Granting and revoking supplemental memory allocation requests
US20140373024A1 (en) * 2013-06-14 2014-12-18 Nvidia Corporation Real time processor
CN103778007B (zh) * 2014-02-14 2018-06-08 北京猎豹移动科技有限公司 一种应用管理方法及装置
CN103777871B (zh) * 2014-02-14 2017-10-10 北京猎豹移动科技有限公司 一种锁屏状态下启动应用的方法及装置
US9710039B2 (en) * 2014-07-17 2017-07-18 International Business Machines Corporation Calculating expected maximum CPU power available for use
US10009248B2 (en) * 2014-12-12 2018-06-26 International Business Machines Corporation System with on-demand state for applications
JP6582628B2 (ja) * 2015-07-02 2019-10-02 富士通株式会社 処理割当方法、処理割当装置、及び処理割当プログラム
US9569277B1 (en) 2016-01-29 2017-02-14 International Business Machines Corporation Rebalancing virtual resources for virtual machines based on multiple resource capacities
KR102640232B1 (ko) * 2018-06-11 2024-02-26 삼성전자주식회사 가상화 환경에서의 자원 할당 방법 및 장치
US10979362B2 (en) * 2018-09-28 2021-04-13 Microsoft Technology Licensing, Llc Elastic resource pooling for dynamic throughput rebalancing
US12032981B2 (en) * 2020-12-11 2024-07-09 VMware LLC Force provisioning using available resources
CN113162990B (zh) * 2021-03-30 2022-08-16 杭州趣链科技有限公司 消息发送方法、装置、设备和存储介质
CN114816763B (zh) * 2022-05-27 2024-04-05 京闽数科(北京)有限公司 一种采用大数据技术的计算机资源分配***及方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247634A (en) 1990-03-20 1993-09-21 Hewlett-Packard Company Method of managing memory allocation by association of memory blocks with a tree structure
US5325525A (en) * 1991-04-04 1994-06-28 Hewlett-Packard Company Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time
US5668995A (en) 1994-04-22 1997-09-16 Ncr Corporation Method and apparatus for capacity planning for multiprocessor computer systems in client/server environments
CN1149476C (zh) 1995-03-16 2004-05-12 松下电器产业株式会社 资源分配装置
US5822540A (en) * 1995-07-19 1998-10-13 Fujitsu Network Communications, Inc. Method and apparatus for discarding frames in a communications device
US5727178A (en) 1995-08-23 1998-03-10 Microsoft Corporation System and method for reducing stack physical memory requirements in a multitasking operating system
US5838968A (en) * 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
US5956507A (en) * 1996-05-14 1999-09-21 Shearer, Jr.; Bennie L. Dynamic alteration of operating system kernel resource tables
US5889989A (en) 1996-09-16 1999-03-30 The Research Foundation Of State University Of New York Load sharing controller for optimizing monetary cost
US6282560B1 (en) * 1997-03-28 2001-08-28 International Business Machines Corporation Managing processor resources in a non-dedicated computer system
US6654780B1 (en) * 1997-03-28 2003-11-25 International Business Machines Corporation System of managing processor resources in a non-dedicated computer system
US5996013A (en) * 1997-04-30 1999-11-30 International Business Machines Corporation Method and apparatus for resource allocation with guarantees
US5784616A (en) 1997-05-02 1998-07-21 Microsoft Corporation Apparatus and methods for optimally using available computer resources for task execution during idle-time for future task instances exhibiting incremental value with computation
FR2766592B1 (fr) * 1997-07-23 1999-08-27 Bull Sa Dispositif et procede de regulation dynamique de l'attribution des ressources sur un systeme informatique
US6148324A (en) * 1998-01-05 2000-11-14 Lucent Technologies, Inc. Prioritized load balancing among non-communicating processes in a time-sharing system
US6336127B1 (en) 1998-01-15 2002-01-01 International Business Machines Corporation Dynamic user management for timed shared computer systems
US6209066B1 (en) 1998-06-30 2001-03-27 Sun Microsystems, Inc. Method and apparatus for memory allocation in a multi-threaded virtual machine
US7051329B1 (en) * 1999-12-28 2006-05-23 Intel Corporation Method and apparatus for managing resources in a multithreaded processor
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
GB2366401B (en) * 2000-08-25 2005-06-01 Mitel Corp Resource sharing with sliding constraints
US6859926B1 (en) * 2000-09-14 2005-02-22 International Business Machines Corporation Apparatus and method for workload management using class shares and tiers
GB2395088B (en) * 2001-07-02 2004-09-08 Intel Corp Method, apparatus, and system for resource allocation in computer systems
US7334228B2 (en) * 2001-07-27 2008-02-19 International Business Machines Corporation Runtime-resource management
US7174379B2 (en) * 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7412492B1 (en) * 2001-09-12 2008-08-12 Vmware, Inc. Proportional share resource allocation with reduction of unproductive resource consumption
US20030061260A1 (en) * 2001-09-25 2003-03-27 Timesys Corporation Resource reservation and priority management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150080859A (ko) * 2014-01-02 2015-07-10 삼성전자주식회사 어플리케이션 운용 방법 및 이를 이용한 전자 장치
KR102176645B1 (ko) * 2014-01-02 2020-11-09 삼성전자 주식회사 어플리케이션 운용 방법 및 이를 이용한 전자 장치

Also Published As

Publication number Publication date
US20040194089A1 (en) 2004-09-30
JP2003330734A (ja) 2003-11-21
US7143413B2 (en) 2006-11-28
US20070067776A1 (en) 2007-03-22
US7996846B2 (en) 2011-08-09

Similar Documents

Publication Publication Date Title
JP4112420B2 (ja) 重みを使用してアプリケーションにシステム資源を割当てる方法およびシステム
CN108234581B (zh) 一种资源的调度方法和服务器
CN108667748B (zh) 一种控制带宽的方法、装置、设备和存储介质
JP3944175B2 (ja) コンピュータ・システムにおける区画間の動的プロセッサ再配分
JP4267225B2 (ja) システムに形成された論理パーティションの容量制限を強化するための方法及び装置
EP3483730B1 (en) Resource allocation method and resource manager
US7140020B2 (en) Dynamic management of virtual partition computer workloads through service level optimization
US7225223B1 (en) Method and system for scaling of resource allocation subject to maximum limits
CN107908479B (zh) 一种节点资源分配方法及装置
EP1253516A2 (en) Apparatus and method for scheduling processes on a fair share basis
CN111798113A (zh) 资源分配方法、装置、存储介质和电子设备
EP3238055A1 (en) Allocating cloud computing resources in a cloud computing environment
Meskar et al. Fair multi-resource allocation with external resource for mobile edge computing
US10643193B2 (en) Dynamic workload capping
CN112506650A (zh) 资源分配方法、***、计算机设备和存储介质
CN114625500A (zh) 云环境下拓扑感知的微服务应用调度的方法及应用
US10812278B2 (en) Dynamic workload capping
CN117369990A (zh) 一种算力资源调度方法及装置、***、设备、存储介质
JP6059259B2 (ja) 計算機システム及び計算機リソースの割当方法
CN113377539A (zh) 实现负载均衡的处理方法及装置
CN112667392A (zh) 云计算资源分配方法、装置、计算机设备和存储介质
CN110750330A (zh) 一种虚拟机创建方法、***、电子设备及存储介质
Aluri et al. Priority based non-preemptive shortest job first resource allocation technique in cloud computing
US9032415B2 (en) Method for activating processor cores within a computer system
JP7478918B2 (ja) 分散型異機種混在システムに基づくタスクインテリジェント処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060317

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071019

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071024

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080110

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

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

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20130418

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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