JP2001134452A - リソースの使用を管理するための装置および方法 - Google Patents
リソースの使用を管理するための装置および方法Info
- Publication number
- JP2001134452A JP2001134452A JP2000273621A JP2000273621A JP2001134452A JP 2001134452 A JP2001134452 A JP 2001134452A JP 2000273621 A JP2000273621 A JP 2000273621A JP 2000273621 A JP2000273621 A JP 2000273621A JP 2001134452 A JP2001134452 A JP 2001134452A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- code
- usage
- computer
- threshold
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
- G06F9/5016—Allocation 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 the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
行されるコードなどの関連のコードセットによる、特定
のリソースのリソース使用を管理するための方法を開示
する。 【解決手段】 リソース標識は、関連コードに関連付け
られており、関連コードによる特定のリソースのリソー
ス使用量を示す。リソース標識は、関連コードが、特定
のリソースのリソース総使用量を増加または減少させた
場合に更新される。
Description
ケーションに関し、特に、オブジェクトベースのシステ
ムにおいてリソース使用を管理するための、方法および
装置に関する。
求められている。このため、例えば、消費者向けのシス
テムにおいて、メモリおよびCPUデバイスの能力を可
能な限り縮小し、コスト全体を最小化する試みがなされ
ている。例えば、ケーブルテレビのセットトップボック
スでは、メモリスペースおよびCPU能力に制限があ
る。オブジェクトベースのシステムが消費者向けのデバ
イスに組み入れられていることから、同システムにおけ
るリソースの使用を効率的に管理することが日々重要性
を増している。つまり、(多くの原因のなかでも特に)
制限リソースによってもたらされる結果として、リソー
スの使用を追跡および管理することが、オブジェクト指
向分野における大きな課題となっている。
使用を追跡することが重要である。例えば、非トラステ
ッドなURLからセットトップボックスにダウンロード
されたアプレットのリソースの使用を追跡することが重
要である。ダウンロードされたアプレットは、メモリの
スペースやCPUの時間などのリソースを法外な量で消
費するように、作為的または非作為的に設計されている
可能性がある。
を追跡および管理することも重要である。例えば、アプ
レットを代表して実行されるスレッドは、セットトップ
ボックスの制限リソースを、共にまたは個々に過度に消
費する恐れがある。したがって、単に個別のスレッドの
リソースの使用を追跡および管理するだけでは不十分で
ある。アプレットは、例えば、共同で作用してリソース
を消費するマルチプルスレッドを開始し得る。個別のス
レッドのリソースの使用を追跡しても、その個別のスレ
ッドだけしか強制終了させることができない。ところ
が、リソースを消費しているスレッドを強制終了させる
前に、アプレットは、他のリソース消費スレッドにラウ
ンチし得る。つまり、あるアプレットまたは関連コード
セットがリソースを過度に消費していることを決定する
方法があれば、その貪欲なアプレットに関連付けられて
いる、および/または同アプレットによる制御を受けて
いる、全てのスレッドを、リソースの過度な消費から阻
止することができる。
管理するための、改善された方法および装置が必要とさ
れている。また、関連コードセットに関し、そのリソー
スの使用を追跡および管理するためのメカニズムが必要
とされている。
は概して、アプレットに代わって実行されるコードなど
の、関連コードによるリソースの使用を管理するため
の、装置および方法を提供する。本発明は、一実施形態
において、関連コードセットにより特定リソースの使用
を管理するための方法を開示する。リソース標識は関連
コードに関連付けられており、リソース標識は、関連コ
ードによって特定リソースの使用量を表示する。例え
ば、カウンタは、アプレットに代わって実行されるコー
ドによって、何バイトのリソース(例えば、Java
[登録商標]ヒープメモリ)が消費されているかを追跡す
る。リソース標識は、関連コードが自身の特定リソース
の総使用量を増加または減少する際に更新される。例え
ば、カウンタは、アプレットがその使用のためにメモリ
を割り当てられ、メモリ使用量を増加させた場合に増加
され、アプレットのメモリが再利用されている場合には
減少される。
使用を管理するためのコンピュータコードを有したコン
ピュータ読み取り可能媒体に実現される。このコンピュ
ータ読み取り可能媒体は、関連コードによる特定リソー
スのリソース使用量を表示する関連コードに、リソース
標識を関連付けるための、コンピュータコードと、関連
コードによる特定リソースの全リソース使用が増加また
は減少した場合に、リソース標識を更新するための、コ
ンピュータコードと、を備える。
ってリソースの使用を管理するための、コンピュータシ
ステムを開示する。このコンピュータシステムは、ある
関連コードセットに関連付けられたリソースコンテキス
トを有する。例えば、1つのリソースが、ある特定のソ
ース(例えばURL)から得られた各アプレットセット
に関連付けられているとする。リソースコンテキスト
は、ある特定のリソースタイプに関連付けられて、該タ
イプのリソースが関連コードセットによってどれだけ使
用されているかを示す、リソース標識を有する。例えば
リソースコンテキストは、そのアプレットによるメモリ
(例えばJava[登録商標]ヒープメモリ)の使用量を
追跡するための、カウンタを有する。また、上記コンピ
ュータシステムは、リソースコンテキストに関連付けら
れたリソースオブジェクトをも有する。このリソースオ
ブジェクトは、上述したリソースタイプのリソースが、
関連コードセットによってどれだけ使用されるかを表示
する。メモリカウンタは、リソースコンテキストのアプ
レットが、メモリ(例えばJava[登録商標]ヒープメ
モリ)を例えば20バイトしか使用していないと示すか
もしれない。上記コンピュータシステムはさらに、関連
コードセットが、更新後のリソース標識に関連付けられ
たリソースタイプのリソースの使用を増加させた場合
に、リソースコンテキストのリソース標識を増分させる
ように構成された、更新メカニズムを有する。
ば、関連コード(例えばソースを同じくする複数のアプ
レット)によってリソースの使用を追跡することによ
り、リソースの過度な消費を停止するまたは阻止するア
クションが、関連コードセット全体に実装される。例え
ば、特定のウェブサイトからセットトップボックスにア
プレットがダウンロードされると、そのアプレットによ
るセットトップリソースの使用状況が、注意深くモニタ
される。使用量が大きすぎる場合は、そのアプレット
に、リソースの使用をカットするかまたは終了する必要
があることを警告する。もしそのアプレットがリソース
の使用を増大し続けるならば、そのアプレットに関連付
けられた全てのスレッドを終了させる。このため、たと
えアプレットがリソースを消費するスレッドを複数生成
するように作為的に設計されていたとしても、そのよう
なスレッドを全て打ち切ることが可能となる。また、ア
プレットコードを実行するあらゆるシステムスレッドの
実行を、有害なアプレットの所有ではないリソースオブ
ジェクトの状態を破壊しない方法で、確実に終了させる
ことができる。
面とから、本発明の上述したおよびその他の利点がいっ
そう明らかになる。
関して詳細な説明を行う。以下では、本発明を特定の実
施形態との関連のもとで説明するが、これは、本発明を
これらの実施形態に限定することを意図するものではな
い。反対に、添付した特許請求の範囲で定義される、発
明の趣旨および範囲の範囲内で、種々の変更物、改良
物、および等価物を含むことを意図している。以下の説
明では、本発明の完全な理解を促すために多くの詳細に
ついて特定している。しかしながら本発明は、これらの
項目の一部または全てを特定しなくても実施することが
可能である。そのほか、本発明を不必要に不明瞭化する
のを避けるため、周知のプロセス操作および/または構
造の説明は省略した。
ダウンロードされたアプレットに代わって実行されるコ
ードなどの、関連コードによるリソースの使用を管理す
るための方法および装置に関する。関連コードは、自身
によるリソース使用のシングルエンティティとして理論
的にチャージされ得る任意のコードを含む。関連コード
は、例えば、メソッド上にダウンロードされアプレット
によって開始されたコードおよび/またはスレッドの一
部として、同アプレットによって直接実行される、スレ
ッドまたはメソッドを含む。例えば、アプレットメソッ
ドによってシステムメソッドが呼び出される。関連コー
ドはまた、同じソース(例えばウェブサイト)または関
連ソース(例えば同一企業が所有するサイト)から得ら
れる複数のアプレットに代わって実行されるコードも含
む。また、関連コードはアプレット以外の形態を採って
も良い。
トを代表して実行されるコードを関連コードの一例とし
て使用するものとする。本明細書で開示する実施形態で
は、各アプレットによるリソースの使用を追跡する。例
として、アプレットによるメモリの総消費量を追跡およ
び管理する場合が挙げられる。別の例として、特定の継
続期間のうちアプレットが必要としたCPU時間(例え
ば、特定の継続期間に占めるCPU時間の割合で表した
もの)を追跡および管理する場合が挙げられる。
何らかの標識を関連付けることによってもなされる。こ
の標識は、特定のリソースが、アプレットによってどれ
だけ消費されたかを追跡するものである。標識は例え
ば、特定リソースの絶対消費量を追跡することができ
る。例として、特定のアプレットが消費するバイト数
(例えばJava[登録商標]ヒープメモリの)を、カウ
ンタで追跡する場合が挙げられる。その代わりに、標識
は、例えば、特定リソースの相対消費量を追跡すること
もできる。例として、アプレットがCPUを使用してい
る時間が既定期間に占める割合を、CPUの使用標識で
追跡することが挙げられる。各アプレットは複数の関連
の標識を有し、その各標識は、アプレットおよび関連コ
ードが特定タイプのリソースをどれだけ消費しているか
を追跡する。各アプレットは、例えば、メモリの使用標
識と、CPUの使用標識と、ネットワークの使用標識と
を有することができる。
ソースオブジェクトを、対応するアプレットに関連付け
ても良い。どのアプレットまたはアプレットセットが特
定のリソースオブジェクトに対応するかを決定するに
は、あらゆる適切な係数を考慮することが可能である。
例えば、あるアプレットにメモリブロックが1つ割り当
てられた場合は、同アプレットがそのメモリブロックに
対応すると見なされて、その割り当てられたメモリブロ
ックに関連付けられる。対応する関連コードセットにリ
ソースオブジェクトを関連付けるためのメカニズムに関
しては、図1と関連させて後ほど説明することにする。
が関連付けられると、リソースオブジェクトがアプレッ
トの使用に割り当てられた後、およびリソースオブジェ
クトがアプレットから割り当て解除された後に、同アプ
レットの適切なリソース標識が更新される。例えば、ア
プレットの使用にメモリブロックが割り当てられると、
そのアプレットのメモリカウンタが、割り当てられたメ
モリブロックのサイズ分だけ増分される。
るために使用されるメカニズムのなかには、エンティテ
ィ(ここではリソースコンテキストを呼ぶ)の形で表さ
れるものもある。また、リソースコンテキストは、該リ
ソースコンテキストに関連付けられたコードがリソース
を使用する際に、そのリソースの使用を要求する対象と
なるエンティティである。つまり、リソースコンテキス
トは、自身を介してリソース使の用を追跡および管理で
きるようなエンティティである。リソースコンテキスト
はまた、コードボディと、そのようなコードボディの実
行によって消費されるリソースとに関連付けられる。
種々のメカニズム間の関係を、本発明の一実施形態に従
って示した図である。図中に示されているように、リソ
ースコンテキスト102は、同リソースコンテキストが
各タイプのリソースをどれだけ消費しているかを追跡す
るための、標識のセットを有する。一実施形態におい
て、標識は、CPUの使用と、メモリの使用と、ネット
ワークの使用と、オープンファイルの数と、オープンソ
ケットの数と、モニタの数とを追跡する。
リソースタイプ(例えばヒープメモリ)に関する1つま
たはそれ以上の既定の限界にも関連付けられている。各
限界セットは、リソースの過度な消費を阻止するための
アクションが採られるまでに、リソースコンテキストに
関連コードが、関連タイプのリソースにどれだけアクセ
スできるかを示す。リソースコンテキスト102は、例
えば、2キロバイト、4キロバイト、および5キロバイ
ト(最大使用量)の3種類のメモリ使用限界に関連付け
られることが可能である。このリソースコンテキストの
メモリ使用量が2キロバイトを超えると、同リソースコ
ンテキストに関連付けられたアプレットは、そのリソー
スの使用が最大使用量の5キロバイトまであと3キロバ
イトのレベルに到達した、という警告を受ける。このリ
ソースコンテキストのメモリ使用量が3キロバイトを超
えると、同リソースコンテキストは、リソースを過度に
消費しているため間もなく終了させられる、という警告
を受ける。アプレットが第1および/または第2の限界
を超えると、これ以上のメモリの割り当ては許可されな
い。使用量が5キロバイトを超えると、そのリソースコ
ンテキストのアプレットは警告なしに終了させられる。
スコンテキスト102は、メモリの使用量に関する複数
の制限または閾値、すなわち制限制限1と、制限制限2
と、最大制限と、特定のリソースタイプに関する下限配
列および上限配列とを有したリソースオブジェクト10
4に関連付けられている。図中には示されていないが、
リソースコンテキストは、任意の数のリソースオブジェ
クト(例えば、CPU使用、ネットワーク使用、ソケッ
ト使用、ファイル使用、およびモニタ使用の各リソース
に対応するリソースオブジェクト)に関連付けられるこ
とが可能である。
ンテキストに関連付けられた関連コードが消費し得るメ
モリの最大量を表す。制限1および制限2は、メモリの
使用量が最大閾値に近づきづつある、という警告をトリ
ガするために利用される閾値を表す。例えば、制限1を
1キロバイト、制限2を2キロバイト、そして最大制限
を3キロバイトにそれぞれ設定することができる。
えると(例えば、関連のアプレットが1キロバイトを超
える量を使用すると)、アプレットは、最大使用量の限
界に近づきつつあるという警告を受ける。さらに制限2
をも超えると(例えば、関連のアプレットが2キロバイ
トを超える量を使用すると)、アプレットは、最大使用
量の限界にさらに近づいたという警告を受ける。そして
最大使用量をも超えると(アプレットが3キロバイトを
超える量を使用すると)、アプレットによるメモリへの
アクセスは、さらなる警告を一切受けることなく終了さ
せられる。同様に、アプレットが閾値以下に下がると、
同アプレットは、もう最大の閾値に近づきつつしてはな
いという通知を受ける。
もう超えつつないことをアプレットに通知するために
は、あらゆるメカニズムを実装することが可能である。
図中に示される実施形態において、リソースオブジェク
ト104は、リソースコールバック118へのアクセス
権を有する。リソースオブジェクトは、アプリケーショ
ンがリソースの使用に関する通知を登録および指示する
と、リソースコールバックへのアクセス権を得る。ある
閾値を超えた場合、あるいは同閾値またはその他の閾値
をもう超えつつない場合に、登録済みのユーザに対する
コールバックが開始される。
対して1対の値を提供することが可能である。例えば、
リソースの使用が制限1をいったん超えると、通知をト
リガするためには、そのリソースの使用が制限1よりも
低い下限値以下に下がる必要がある。すると、再度通知
をトリガするためには、そのリソースの使用が制限1よ
りも高い上限値を超える必要がある。同様に、制限2お
よび最大制限に対しても、下限値および上限値が提供さ
れる。
定のセットに関連付けられている。この関連付けは、任
意の適切な方法で行うことができる。例えば、アプリケ
ーションコードセットを受信するアプリケーションフレ
ームワークが、関連コードの特定のセットへのリソース
コンテキストの割り当てを、事前に決定しても良い。こ
の決定は、任意の適切なポリシー考慮事項に基づいて下
すことが可能である。例えば、ある特定の保護ドメイン
に割り当てられたコードを、全て1つのリソースコンテ
キストに割り当てても良い。当業者には明らかなよう
に、保護ドメイン(JDK1.2のセキュリティ特徴に
含まれる特徴を有するもの)は一般に、コードセットへ
の許可の付与を行う。つまり、特定のコードセットに保
護ドメインを割り当てるメカニズムを、同コードセット
へのリソースコンテキストの割り当てにも利用すること
が可能である。
よって実行されているメソッドのクラスが、どのクラス
ローダを使用してローディングされたかに基づいて、特
定のスレッドに関連付けられている。クラスローダに基
づいてスレッドに保護ドメインを割り当てるための、幾
つかの実施形態に関しては、Java2プラットフォー
ムセキュリティアーキテクチャ(Java2 Platform Secur
ity Architecture)、API設計(API Design)、リ・
ゴング著のインプリメンテーション(Implementation b
y Li Gong)(アディソン・ウェスリィ出版、ISBN 201-
31000-7)で説明がなされているため、本明細書中に引
用としてそのまま組み入れることとする。
スト102を代表して実行されている特定のスレッド1
06は、保護ドメイン116内でも実行されている。よ
り厳密に言うと、スレッド106中のある特定のメソッ
ド110が現在実行されており、該メソッドは、対応す
るスタックフレーム108に関連付けられている。スレ
ッド106中の実行中のメソッド110は、クラス11
2の一部分としてクラスローダ114によってローディ
ングされる。クラスローダ114は保護ドメイン116
に関連付けられ、該保護ドメイン116はさらにリソー
スコンテキスト102に関連付けられている。一実施形
態において、各スレッドは、クラスローダおよびその関
連の保護ドメインを介して関連のリソースコンテキスト
に割り当てられてトレースされる。
セットを、同じリソースコンテキストに割り当てること
も当然可能である。例として、第1のアプレットがPe
psiによって制御されているウェブサイトから発生し
て、第2のアプレットがPizza Hutによって制
御されているウェブサイトから発生している場合を取り
上げる。これら2つのアプレットは、異なるウェブサイ
トから発生して異なるクラスローダによってローディン
グされているため、異なる保護ドメインを有している
が、Pizza HutおよびPepsiが共有されて
いることから、同じリソースコンテキストに対してリソ
ースの使用を要求することが可能である。
ムのなかには、リソース自体に関連付けられても良いも
のがある。一実施形態では、割り当てられた各リソース
オブジェクトを、対応するリソースコンテキストで呼び
出すことが可能である。図中に示されるように、メモリ
ブロック120は、同メモリブロックに対応する一つの
コードセットに関連付けられた、対応するリソースコン
テキスト102へのポインタを有する。このため、リソ
ースの割り当ては対応するリソースコンテキストに対し
て要求され、リソースの割り当ての解除は、関連のポイ
ンタを介して対応するリソースコンテキストに帰され
る。例えば、リソースが割り当てられると、対応するり
ソースコンテキストの適切なリソースカウンタが増分す
る。
るためのプロセス200を、本発明の一実施形態に従っ
て示したフローチャートである。一般に絶対量(例えば
バイト数)で割り当てられるあらゆるタイプのリソース
に対し、同様な手続きを実装することが可能である。例
えば、オープンファイル、オープンソケット、およびモ
ニタなどの割り当てにおいてこの手続きを実装すること
が可能である。
ドメインを決定する。アクティブ保護ドメインを決定す
るための技術に関しては、Java2プラットフォーム
セキュリティアーキテクチャ(Java2 Platform Securit
y Architecture)、API設計(API Design)、リ・ゴ
ング著のインプリメンテーション(Implementation by
Li Gong)(アディソン・ウェスリィ出版、ISBN 201-31
000-7)で詳しい説明がなされているため、本明細書中
に引用としてそのまま組み入れることとする。次に操作
204において、アクティブ保護ドメインに関連付けら
れたリソースコンテキストを識別する。リソースコンテ
キストの割り当てはポリシー決定であり、任意の適切な
方法で実現することが可能であるが、図中に示された実
施形態のリソースコンテキストの場合は、アクティブ保
護ドメインに直接マッピングされている。
テキストのマッピングは、アプリケーションフレームワ
ークによって前もって設定されていても良い。あるいは
アプリケーションフレームワークは、各コードソース
(例えば各URLサイト)に対して別途クラスローダを
形成しても良い。そして、あるクラスローダによってロ
ーディングされるクラス全てを、そのコードソースに対
応する特定の保護ドメインに割り当てる。すると、アプ
リケーションフレームワークがリソースコンテキストを
インスタンス化し、インスタンス化された同リソースコ
ンテキストが、上記特定のクラスローダの保護領域に関
連付けられる。
ースコンテキストに対応してメモリカウンタを増分させ
る。そして続く操作206において、リソースの使用が
閾値を超えたか否かを決定する。例えば、図1の制限
1、制限2、または最大制限の閾値を超えたか否かを決
定する。あるいは代わりに、上限値を超えたか否かを決
定しても良い。
は、操作210においてメモリが割り当てられ、割り当
てられた同メモリに対してリソースコンテキストが記録
される。例えば、そのリソースコンテキストへのポイン
タが、割り当てられたメモリ部位内に記録される。この
ため、同メモリ部位の割り当てが解除されると、適切な
リソースコンテキストのリソースカウンタが減分され
る。リソースコンテキストが記録された後、メモリ割り
当ての手続きが終了する。
作212において、リソース再利用のプロセスがトリガ
される。例えば、ヒープメモリに対してガーベッジコレ
クションの手続きを開始する。リソースの再利用の一実
施形態に関しては、図3と関連させて後ほど説明するこ
とにする。リソースの再利用は、対応するリソースコン
テキストの関連コードセットが使用しなくなった、あら
ゆるメモリの割り当てを解除するためにトリガされる。
このメモリの割り当て解除がトリガされると、そのメモ
リの使用がこれ以上閾値を超えることはない。
214において、閾値を依然として超えているか否かを
決定する。もう閾値を超えていない場合は、操作210
においてメモリが割り当てられ、割り当てられた同メモ
リに対してリソースコンテキストが記録される。そし
て、メモリ割り当ての手続き200が終了する。このよ
うに、このアプリケーションには、メモリの使用を削減
する(カットバックする)機会が与えられる。
216において、登録済みのリソースコールバックが通
知される。リソースコンテキストのコードセットが特定
リソースの最大制限に近づいていることを警告するため
には、その他警報タイプの任意のメカニズムを実装する
ことが可能である。コールバックタイプのアラームとし
ては、アプリケーションに対してアプリケーションフレ
ームワークからのコールバックの登録を許可するような
メカニズムが使用可能である。例えばアプレットは、メ
モリの使用が閾値を超えたら通知を受けるように登録を
行う。そして実際に閾値を超えると、例えば、メモリの
使用が最大メモリ使用量に近づいている、というような
通知を受ける。
最大閾値を超えているか否かを決定する。最大閾値を超
えていない場合は、図2Aの操作210においてメモリ
が割り当てられ、割り当てられた同メモリに対してリソ
ースコンテキストが記録される。しかしながら、最大閾
値を超えている場合は、操作220において、メモリカ
ウンタが減分される(操作206において先に増分され
ているため)。すると操作222において、Out of Mem
ory 例外がスローされて、エラーが生じたことを示し、
メモリの割り当てが行われなくなる。そして、メモリ割
り当ての手続き200が終了する。
リ使用量を超えた場合は、その関連コードを代表して実
行されるスレッドを打ち切るメカニズムを実装しても良
い。
作を、本発明の一実施形態に従って示したフローチャー
トである。先ず操作302において、別のオブジェクト
に呼び出されていないメモリオブジェクトに対してメモ
リ走査を実行する。例えばあるメモリは、現在はもう使
用されていないローカル変数によって、かつて呼び出さ
れたことがあるかもしれない。続く操作304では、呼
び出されていない各オブジェクトに関し、そのオブジェ
クトのサイズを、そのメモリオブジェクトによって呼び
出されるリソースコンテキストの、対応するリソースカ
ウンタから差し引く(例えば、図2の操作210におけ
るメモリオブジェクトの割り当て中に、特定のリソース
コンテキストが記録される)。そして操作306におい
て、呼び出されていないメモリオブジェクトに対してメ
モリを再利用する。
リソースの使用の閾値以下に下がったか否かを決定す
る。メモリの使用が閾値以下に下がった原因は、例え
ば、メモリの最大使用限界に近づいているという警告に
応えて、関連のアプレットがメモリの使用を減らしたた
めかもしれない。メモリの使用が閾値以下に下がってい
ない場合は、リソース再利用の手続き212が終了す
る。メモリの使用が閾値以下に下がった場合は、操作3
10において、登録済みのリサーチコールバックが通知
を受ける。例えば、リソースコンテキストに関連付けら
れたアプレットに、メモリの最大割り当て量を超える危
険がもうないことを通知する。すると、メモリ再利用の
手続き212が終了し、制御が図2Aおよび図2Bのメ
モリ割り当ての手続き200に戻される。
スの管理技術は、使用限界が絶対値であるリソースに対
しては上手く機能するが、相対的な形でより容易に測定
または追跡できるその他のリソースタイプに対しては、
他のメカニズムを実装して管理を行っても良い。例えば
アプレットによるCPUの使用は、特定期間中に占める
使用時間の割合として追跡することが可能である。アプ
レットによるCPUの使用が一定の割合を超えたら、ア
プレットによるCPUの使用を完全に停止しなくても、
単に、CPUの使用におけるアプレットの優先度を下げ
れば良い。
メカニズム間の関係を、本発明の一実施形態に従って示
した図である。図4の手続きを使用して、類似のリソー
スを管理することも当然可能である。先ず操作402に
おいて、リソースコンテキストに関連付けられた全スレ
ッドに対してCPUまたはネットワークの使用を監視す
る。次いで操作404において、第1の閾値を超えたか
否かを決定する。第1の閾値を超えていない場合は、操
作402において、CPUまたはネットワークの使用が
続けて監視される。
6において、リソースコンテキストに関連付けられたス
レッドの優先度を格下げするよう、スケジューラに命令
する。次いで、優先度のバックアップをいつ格上げする
かを決定するため、操作408において、同リソースコ
ンテキストに関連付けられた全スレッドを再度モニタす
る。そして操作410において、リソースの使用が第2
の閾値以下に下がったか否かを決定する。優先度の格下
げおよび格上げの決定に、同一の閾値を使用することも
当然可能である。
閾値以下に下がっていない場合は、操作412におい
て、第1の閾値を依然として超えているか否かを決定す
る。第1の閾値を依然として超えている場合は、操作4
06において、リソースコンテキストに関連付けられた
スレッドの優先度を格下げするよう、スケジューラに再
度命令する。つまり、特定のリソースコンテキストに関
連付けられたスレッドは、CPUまたはネットワークの
使用が第1の閾値を超えている限り、続けて優先度を格
下される。第1の閾値を超えていない場合は、優先度を
再度格下げする(操作414により)かまたは優先度の
バックアップを格上げする(操作406により)かを決
定するため、操作408において、リソースコンテキス
トに関連付けられた全スレッドに対し、そのCPUまた
はネットワークの使用を再度、監視する。
た場合は、操作414において、リソースコンテキスト
に関連付けられたスレッドの優先度を格上げするよう、
スケジューラに命令する。次いで操作416において、
優先度がもとの優先度以下に下がっているか否かを決定
する。もとの優先度以下に下がっていない場合は、優先
度を格下げする(つまりメモリの消費量が第1の閾値を
超えている)か否かを決定するため、操作402におい
て、リソースコンテキストに関連付けられた全スレッド
に対してCPUまたはネットワークの使用をモニタす
る。もとの優先度以下に下がっている場合は、優先度を
いつ格上げする(つまりメモリの消費量が第2の閾値以
下に下がっている)かを決定するため、操作408にお
いて、CPUまたはネットワークの使用を監視する。
れらのメカニズムを利用して、特定のコードセットが、
あるタイプのリソースを過度に使用しているか否かを決
定することができる。例えば、特定のリソースコンテキ
ストのリソースカウンタと、関連コードセットとを分析
する(例えば、その特定のリソースに関する既定の制限
と比較する)ことにより、そのリソースコンテキスト
が、特定のリソースタイプを過度に消費しているか否か
(あるいは、過度に消費しようとしているか否か)を決
定しても良い。ある特定のセットの関連コードが、特定
のリソースタイプを過度に消費していると決定された場
合は、さらなる消費を停止および/または阻止するため
の措置が採られる。
表的な汎用コンピュータシステムを示した図である。コ
ンピュータシステム1030は、一次ストレージデバイ
ス1034(読み取り専用メモリ、すなわちROMが代
表的)と、一次ストレージデバイス1036(ランダム
アクセスメモリ、すなわちRAMが代表的)と、を含ん
だメモリデバイスに結合された、任意の数のプロセッサ
1032(中央演算処理装置、すなわちCPUとも呼ば
れる)を備える。このコンピュータシステムは、任意の
適切な形態を採ることができる。例えばこのコンピュー
タシステムは、ナビゲーションシステムまたはテレビの
セットトップボックスに組み込まれていても良い。
より特定して複数のCPU1032は、当業者には明ら
かなように、仮想マシンをサポートするように構成され
ている。当業者には周知のように、ROMが、データお
よび命令を一方向にCPU1032に伝送する一方で、
RAMは、データおよび命令を双方向に伝送するように
使用されるのが通常である。CPU1032は一般に、
任意数のプロセッサを有することができる。一次ストレ
ージデバイス1034,1036は、ともに任意の適切
なコンピュータ読み取り可能媒体を含むことができる。
通常は大容量のメモリデバイスである二次ストレージメ
ディア1038もまた、CPU1032に双方向に結合
して追加のデータ格納容量を提供している。大容量メモ
リデバイス1038は、コンピュータコードやデータ等
を含んだプログラムを格納するのに使用される、コンピ
ュータ読み取り可能媒体である。代表的な大容量メモリ
デバイス1038として、一次ストレージデバイス10
34,1036より一般に低速な、ハードディスクやテ
ープ等のストレージメディアが挙げられる。大容量メモ
リデバイス938は、磁気もしくは紙のテープ読み取り
装置、またはその他周知な装置の形態を採ることができ
る。ここで、適切な場合には、大容量メモリデバイス1
038内に保持される情報が、RAM1036内にその
一部を占める仮想メモリとして一般的な方式で組み込ま
れ得る点に、留意する必要がある。CD−ROM等の特
定の一次ストレージデバイス1034は、CPU103
2に一方向にデータを引き渡すこともできる。
上の入出力デバイス1040に結合されることもでき
る。ここで、入出力デバイスとは、ビデオモニタ、トラ
ックボール、マウス、キーボード、マイクロフォン、タ
ッチディスプレイ、トランスデューサカード読み取り装
置、磁気もしくは紙のテープ読み取り装置、タブレッ
ト、スタイラス、音声もしくは筆跡の認識装置、または
他のコンピュータ等のその他周知な入力デバイスを含
み、これらに限定されない。CPU1032は、コンピ
ュータに接続されても良いし、あるいは、例えばインタ
ーネットやイントラネット等の通信網に、1012とし
て一般に示されるネットワーク接続を使用して結合され
ても良い。このようなネットワーク接続により、CPU
1032は、リソースの使用を管理するための上述した
メカニズムを実施する際に、ネットワークから情報を受
信したりネットワークに情報を出力したりできると考え
られる。これらの情報は、CPU1032で実行される
命令のシーケンスとして表わされることが多く、例えば
搬送波に組み込まれたコンピュータデータ信号の形で、
ネットワークから受信されたりネットワークに出力され
たりすることができる。上述したデバイスおよび材料
は、コンピュータのハードウェア技術およびソフトウェ
ア技術の当業者にとって周知のものである。
取り上げたが、本発明は、その趣旨または範囲を逸脱し
ない範囲内ならば、その他多くの特定の形態によって実
現することが可能である。例えば、リソースの管理をと
もなう操作はリオーダ(追加注文)が可能である。ま
た、本発明の趣旨または範囲を逸脱しない範囲内なら
ば、ステップを省略または追加することも可能である。
るための技術は、Java(登録商標)環境との関連の
もとで実装するのに特に適しているものの、一般に、任
意の適切なオブジェクトベース環境に適用することが可
能である。これらの技術は特に、プラットフォーム独立
のオブジェクトベース環境で使用するのに適している。
また、これらのメソッドが、分散オブジェクト指向シス
テムにおいても実現できる点を、理解しておく必要があ
る。
登録済みのコールバックを開始させたが、これらのコー
ルバックを全く排除することも可能である。関連コード
セットが最大閾値を超えたら、単にさらなるメモリの消
費を阻止または最小化すれば良い。反対に、関連コード
セットによるCPUまたはネットワークの使用が閾値を
超えた場合には登録済みのコールバックを開始させず
に、CPUまたはネットワークの使用が限界に達した場
合にはコールバックを実装することも、当然可能であ
る。また、CPUまたはネットワークの使用が閾値以下
に下がった場合にコールバックを開始することも可能で
ある。
界を超えた場合にもリソースの再利用を開始させたが、
リソースの再利用を排除することも、またはある限界を
超えた場合にのみリソースの再利用を開始させること
も、当然可能である。また、リソースコンテキストがリ
ソースの限界を超えたか否かとは関わりなく、平行処理
により単に定期的にリソースの再利用をトリガしても良
い。
は、例示を目的としたものであって、本発明の内容を限
定するものではない。このため本発明は、本明細書で特
定した詳細に限定されることなく、添付した特許請求の
範囲の範囲および等価物の範囲内で、種々の変更を加え
ることが可能である。
の関係を、本発明の一実施形態に従って示した図であ
る。
明の実施形態に従って示したフローチャートである。
明の実施形態に従って示したフローチャートである。
明の一実施形態に従って示したフローチャートである。
めのプロセスを、本発明の一実施形態に従って示したフ
ローチャートである。
ンピュータシステムを示した図である。
Claims (37)
- 【請求項1】 一組の関連コードセットによる特定のリ
ソースのリソース使用を管理するための方法であって、 前記関連コードに、該関連コードによる前記特定のリソ
ースのリソース使用量を示すリソース標識を関連付け、 前記関連コードが前記特定のリソースのリソース総使用
量を増加または減少させた場合に、前記リソース標識を
更新することを備えた方法。 - 【請求項2】 請求項1記載の方法であって、 前記リソース標識の値は、前記リソース使用の絶対値を
表す方法。 - 【請求項3】 請求項1記載の方法であって、 前記リソース標識の値は、前記リソース使用の相対値を
表す方法。 - 【請求項4】 請求項1ないし請求項3のいずれかに記
載の方法であって、さらに、 前記関連コードに割り当てられた前記特定のリソースの
各リソース部位に、前記関連コードを関連付け、 前記関連コードから割り当てを解除された前記特定のリ
ソースの各リソース部位と前記関連コードとの関連付け
を解消することを備え、 前記リソース標識は、リソース部位が前記関連コードか
ら割り当てを解除された場合に減少し、リソース部位が
前記関連コードに割り当てられた場合に増加する方法。 - 【請求項5】 請求項4記載の方法であって、さらに、 前記リソース標識が既定の最大閾値以下である場合に、
前記特定のリソースを前記関連コードに割り当て、 前記リソース標識が前記既定の最大閾値を超える場合
に、エラーを示し、前記特定のリソースを割り当てない
ことを備えた方法。 - 【請求項6】 請求項5記載の方法であって、 前記エラーは、out_of_memory 例外をスローすることに
よって示される方法。 - 【請求項7】 請求項4または請求項5に記載の方法で
あって、 前記関連コードは、ガーベッジコレクションの手続きを
経て分離される方法。 - 【請求項8】 請求項1ないし請求項7のいずれかに記
載の方法であって、 前記特定のリソースは、メモリの使用と、オープンファ
イルの使用と、オープンソケットの使用と、モニタの使
用と、からなる群より選択される方法。 - 【請求項9】 請求項8記載の方法であって、 前記リソース表示は、前記関連コードによって使用され
る前記特定のリソースの割合を示す方法。 - 【請求項10】 請求項8または請求項9に記載の方法
であって、さらに、 前記特定のリソースと前記関連コードとに、複数の閾値
を関連付け、 前記関連コードによる前記特定のリソースのリソース使
用量が、第1番目の閾値を超えた場合に、登録済みのリ
ソースコールバックを通知することを備えた方法。 - 【請求項11】 請求項10記載の方法であって、さら
に、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第1番目の閾値と異なる値を有した第2番
目の閾値以下に下がった場合に、登録済みのリソースコ
ールバックを通知することを備えた方法。 - 【請求項12】 請求項8記載の方法であって、さら
に、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第1の閾値以下に下がった場合に、登録済
みのリソースコールバックを通知することを備えた方
法。 - 【請求項13】 請求項1ないし請求項7のいずれかに
記載の方法であって、 前記特定のリソースは、CPUの使用またはネットワー
クの使用である方法。 - 【請求項14】 請求項13記載の方法であって、さら
に、 前記特定のリソースと前記関連コードとに、閾値を関連
付け、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記閾値を超えた場合に、CPU使用量におけ
る前記関連コードの優先度を格下げすることを示すこと
を備えた方法。 - 【請求項15】 請求項14記載の方法であって、さら
に、 第2の閾値を前記特定のリソースと、前記関連コードと
に関連付け、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第2の閾値以下に下がった場合に、CPU
の使用についての前記関連コードの優先度を格上げする
ことを示すことを備えた方法。 - 【請求項16】 請求項1ないし請求項15のいずれか
に記載の方法であって、 前記関連コードは、アプレットを代表してスレッドの形
で実行されるように構成されている方法。 - 【請求項17】 請求項1ないし請求項16のいずれか
に記載の方法であって、さらに、 各々が、前記関連コードによる複数のリソースのリソー
ス使用量を示す、複数のリソース標識を、前記関連コー
ドに関連付け、 前記関連コードが、前記関連のリソースのリソース総使
用量を増加または減少させた場合に、選択されたリソー
ス標識を更新することを備えた方法。 - 【請求項18】 請求項17記載の方法であって、 前記リソースは、メモリの使用と、CPUの使用と、ネ
ットワークの使用とを含む方法。 - 【請求項19】 請求項18記載の方法であって、 前記リソースはさらに、オープンファイルの使用と、オ
ープンソケットの使用とを含む方法。 - 【請求項20】 リソースの使用を管理するためのコン
ピュータコードを備えたコンピュータ読み取り可能媒体
であって、 前記関連コードに、該関連コードによる前記特定のリソ
ースのリソース使用量を示すリソース標識を関連付ける
ための、コンピュータコードと、 前記関連コードが、前記特定のリソースのリソース総使
用量を増加または減少させた場合に、前記リソース標識
を更新するための、コンピュータコードとを備えたコン
ピュータ読み取り可能媒体。 - 【請求項21】 請求項20記載のコンピュータ読み取
り可能媒体であって、さらに、 前記関連コードに割り当てられた前記特定のリソースの
各リソース部位に、前記関連コードを関連付けるため
の、コンピュータコードと、 前記関連コードから割り当てを解除された前記特定のリ
ソースの各リソース部位から、前記関連コードを分離す
るための、コンピュータコードとを備え、 前記リソース標識は、リソース部位が前記関連コードか
ら割り当てを解除された場合に減少し、リソース部位が
前記関連コードに割り当てられた場合に増加する、コン
ピュータ読み取り可能媒体。 - 【請求項22】 請求項20または請求項21に記載の
方法であって、さらに、 前記リソース標識が既定の最大閾値以下である場合に、
前記特定のリソースを前記関連コードに割り当てるため
の、コンピュータコードと、 前記リソース標識が前記既定の最大閾値を超える場合
に、エラーを示し、前記特定のリソースを割り当てない
ための、コンピュータコードと、を備えた方法。 - 【請求項23】 請求項20ないし請求項22のいずれ
かに記載のコンピュータ読み取り可能媒体であって、 前記特定のリソースは、メモリと、オープンファイル
と、オープンソケットと、モニタと、からなる群より選
択される、コンピュータ読み取り可能媒体。 - 【請求項24】 請求項23に記載のコンピュータ読み
取り可能媒体であって、さらに、 前記特定のリソースと、前記関連コードとに、複数の閾
値を関連付けるための、コンピュータコードと、 前記関連コードによる前記特定のリソースのリソース使
用量が、第1番目の閾値を超えた場合に、登録済みのリ
ソースコールバックを通知するための、コンピュータコ
ードとを備えたコンピュータ読み取り可能媒体。 - 【請求項25】 請求項23記載のコンピュータ読み取
り可能媒体であって、さらに、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第1番目の閾値と異なる値を有した第2番
目の閾値以下に下がった場合に、登録済みのリソースコ
ールバックを通知するための、コンピュータコードを備
えたコンピュータ読み取り可能媒体。 - 【請求項26】 請求項20ないし請求項22のいずれ
かに記載のコンピュータ読み取り可能媒体であって、 前記特定のリソースは、CPUの使用またはネットワー
クの使用である、コンピュータ読み取り可能媒体。 - 【請求項27】 請求項26記載のコンピュータ読み取
り可能媒体であって、さらに、 前記特定のリソースと、前記関連コードとに、閾値を関
連付けるための、コンピュータコードと、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記閾値を超えた場合に、CPUの使用におけ
る前記関連コードの優先度を格下げすることを示すため
の、コンピュータコードとを備えたコンピュータ読み取
り可能媒体。 - 【請求項28】 請求項27記載のコンピュータ読み取
り可能媒体であって、さらに、 前記特定のリソースと、前記関連コードとに、第2の閾
値を関連付けるための、コンピュータコードと、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第2の閾値以下に下がった場合に、CPU
の使用における前記関連コードの優先度を格上げするこ
とを示すための、コンピュータコードとを備えたコンピ
ュータ読み取り可能媒体。 - 【請求項29】 請求項20ないし請求項28のいずれ
かに記載の方法であって、 前記関連コードは、アプレットを代表してスレッドの形
で実行されるように構成されている方法。 - 【請求項30】 関連コードセットによるリソース使用
を管理するためのコンピュータシステムであって、 前記関連コードセットに関連付けられたリソースコンテ
キストであって、リソースタイプに関連付けられ、該リ
ソースタイプが前記関連コードセットによってどれだけ
使用されているかを示す、リソース標識を有するリソー
スコンテキストと、 前記リソースコンテキストに関連付けられたリソースオ
ブジェクトであって、前記リソースタイプが前記関連コ
ードセットによってどれだけ使用されるかを示すリソー
スオブジェクトと、 前記関連コードセットが、前記更新後のリソース標識に
関連付けられた前記リソースタイプのリソース使用を増
加させた場合に、前記リソースコンテキストの前記リソ
ース標識を増分させるように構成された、更新メカニズ
ムとを備えたコンピュータシステム。 - 【請求項31】 請求項30記載のコンピュータシステ
ムであって、 前記リソースオブジェクトは、前記関連コードセットに
よる前記リソースタイプの最大リソース使用量を示す、
関連の最大制限を有しているコンピュータシステム。 - 【請求項32】 請求項31記載のコンピュータシステ
ムであって、 前記リソースオブジェクトは、前記最大制限より低い第
1の関連の限界を有しており、前記コンピュータシステ
ムは、さらに、 前記関連コードセットによるリソース使用が前記第1の
限界を超えた場合に、該コードセットに警告を発するよ
うに構成されたアラームを備えたコンピュータシステ
ム。 - 【請求項33】 請求項32記載のコンピュータシステ
ムであって、 前記アラームはさらに、前記関連コードセットによるリ
ソース使用が前記第1の限界以下に戻った場合に、該コ
ードセットを改めるように構成されているコンピュータ
システム。 - 【請求項34】 請求項32または請求項33に記載の
コンピュータシステムであって、 前記リソースオブジェクトは、前記第1の限界より小さ
い第2の関連の限界を有し、前記アラームはさらに、前
記関連コードセットによるリソース使用が、前記第1の
限界を超えた後に再び前記第2の限界以下に下がった場
合に、前記関連コードセットを改めるように構成されて
いる、コンピュータシステム。 - 【請求項35】 請求項30ないし請求項34のいずれ
かに記載のコンピュータシステムであって、 前記リソースタイプは、メモリの使用と、CPUの使用
と、ネットワークの使用と、オープンファイルの使用
と、オープンソケットの使用と、モニタの使用と、から
なる群より選択される、コンピュータシステム。 - 【請求項36】 請求項30ないし請求項35のいずれ
かに記載のコンピュータシステムであって、 前記更新メカニズムはさらに、前記リソースコンテキス
トの関連コードを代表して割り当てられた前記リソース
タイプの任意のリソース部位に、前記リソースコンテキ
ストをマッピングするように構成されている、コンピュ
ータシステム。 - 【請求項37】 請求項30ないし請求項36のいずれ
かに記載のコンピュータシステムであって、 前記リソースコンテキストの前記関連コードセットは、
シングル保護ドメインに関連付けられている、コンピュ
ータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/394,118 US7028298B1 (en) | 1999-09-10 | 1999-09-10 | Apparatus and methods for managing resource usage |
US09/394118 | 1999-09-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001134452A true JP2001134452A (ja) | 2001-05-18 |
JP4786785B2 JP4786785B2 (ja) | 2011-10-05 |
Family
ID=23557628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000273621A Expired - Lifetime JP4786785B2 (ja) | 1999-09-10 | 2000-09-08 | リソースの使用を管理するための装置および方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7028298B1 (ja) |
EP (1) | EP1083485A3 (ja) |
JP (1) | JP4786785B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005056011A (ja) * | 2003-08-08 | 2005-03-03 | Hitachi Ltd | 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法 |
JP2006236351A (ja) * | 2005-02-22 | 2006-09-07 | Microsoft Corp | リソース管理方法およびシステム |
JP2009037611A (ja) * | 2002-04-26 | 2009-02-19 | Ricoh Co Ltd | 起動制御を行うためのプログラム |
JP2014512048A (ja) * | 2011-06-14 | 2014-05-19 | エンパイア テクノロジー ディベロップメント エルエルシー | クラウドコンピューティング環境のためのピーク性能を意識した課金 |
JP2017525035A (ja) * | 2014-07-10 | 2017-08-31 | オラクル・インターナショナル・コーポレイション | マルチテナントアプリケーションサーバ環境におけるリソースの分離および消費のためのシステムおよび方法 |
JP2018206026A (ja) * | 2017-06-02 | 2018-12-27 | キヤノン株式会社 | 情報処理装置および資源管理方法 |
US10742568B2 (en) | 2014-01-21 | 2020-08-11 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129080A1 (en) * | 2001-01-11 | 2002-09-12 | Christian Hentschel | Method of and system for running an algorithm |
US7073177B2 (en) | 2001-05-10 | 2006-07-04 | Sun Microsystems, Inc. | Resource managing system for changing resource consumption state of the lower priority resource entity to more restrictive state when resource reached critical level |
US7792978B2 (en) * | 2001-12-28 | 2010-09-07 | At&T Intellectual Property I, L.P. | System and method to remotely manage and audit set top box resources |
US7019757B2 (en) * | 2002-01-28 | 2006-03-28 | International Business Machines Corporation | Changing the alpha levels of an application window to indicate a status of a computing task |
US7046254B2 (en) | 2002-01-28 | 2006-05-16 | International Business Machines Corporation | Displaying transparent resource aids |
US7146573B2 (en) * | 2002-01-28 | 2006-12-05 | International Business Machines Corporation | Automatic window representation adjustment |
DE60226176T2 (de) * | 2002-01-30 | 2009-05-14 | Real Enterprise Solutions Development B.V. | Verfahren und programme zur einstellung von prioritätsstufen in einem datenverarbeitungssystem mit multiprogrammierung und priorisierte warteschlangenbildung |
JP2003330732A (ja) * | 2002-05-17 | 2003-11-21 | Canon Inc | 画像形成装置、制御方法、制御プログラム |
GB0229670D0 (en) * | 2002-12-19 | 2003-01-29 | Ibm | System and method for managing memory resources in a shared memory system |
US7657893B2 (en) * | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
US7406694B2 (en) * | 2003-06-20 | 2008-07-29 | Microsoft Corporation | Method and system for tracking kernel resource usage |
US7496928B2 (en) * | 2003-08-28 | 2009-02-24 | Microsoft Corporation | Method and system for moderating thread priority boost for I/O completion |
US8271651B1 (en) * | 2003-12-31 | 2012-09-18 | Google Inc. | Methods and systems for regulating resource usage |
US8321858B1 (en) | 2003-12-31 | 2012-11-27 | Google Inc. | Systems and methods for providing software updates |
US8046763B1 (en) * | 2004-02-20 | 2011-10-25 | Oracle America, Inc. | Regulation of resource requests to control rate of resource consumption |
US7610586B2 (en) * | 2004-04-30 | 2009-10-27 | Tvworks, Llc | Resource manager for clients in an information distribution system |
US7143222B2 (en) * | 2004-09-21 | 2006-11-28 | International Business Machines Corporation | Adaptive message delivery system |
US8387052B2 (en) * | 2005-03-14 | 2013-02-26 | Qnx Software Systems Limited | Adaptive partitioning for operating system |
US9361156B2 (en) | 2005-03-14 | 2016-06-07 | 2236008 Ontario Inc. | Adaptive partitioning for operating system |
JP2007004595A (ja) * | 2005-06-24 | 2007-01-11 | Hitachi Ltd | コンピュータ制御方法、コンピュータ、情報処理システム、及びプログラム |
US7814290B1 (en) * | 2005-11-03 | 2010-10-12 | Oracle America, Inc. | Synchronous detection and signaling of memory quota violations for sequential memory allocation in a shared heap |
US7987160B2 (en) * | 2006-01-30 | 2011-07-26 | Microsoft Corporation | Status tool to expose metadata read and write queues |
US8813082B2 (en) * | 2006-06-22 | 2014-08-19 | International Business Machines Corporation | Thread priority based on object creation rates |
US8516462B2 (en) * | 2006-10-09 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for managing a stack |
US20080163230A1 (en) * | 2006-12-29 | 2008-07-03 | Fernando Latorre | Method and apparatus for selection among multiple execution threads |
US8386391B1 (en) * | 2007-05-01 | 2013-02-26 | Hewlett-Packard Development Company, L.P. | Resource-type weighting of use rights |
CN101393535B (zh) * | 2007-09-19 | 2013-01-23 | 国际商业机器公司 | 将运行时事件与组件相关联的方法和系统 |
US8683483B2 (en) * | 2008-03-25 | 2014-03-25 | Oracle America, Inc. | Resource utilization monitor |
US20090316706A1 (en) * | 2008-06-18 | 2009-12-24 | Telect, Inc. | Structured premise networking system |
US8286134B2 (en) * | 2008-07-15 | 2012-10-09 | International Business Machines Corporation | Call stack sampling for a multi-processor system |
US9418005B2 (en) * | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
US20100017583A1 (en) * | 2008-07-15 | 2010-01-21 | International Business Machines Corporation | Call Stack Sampling for a Multi-Processor System |
US8312268B2 (en) * | 2008-12-12 | 2012-11-13 | International Business Machines Corporation | Virtual machine |
JP5343586B2 (ja) * | 2009-01-29 | 2013-11-13 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
US20110289482A1 (en) * | 2010-05-24 | 2011-11-24 | Avaya Inc. | Performance detection and debugging of applications |
US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
JP5708049B2 (ja) * | 2011-03-07 | 2015-04-30 | 株式会社リコー | 情報処理装置、制御方法、制御プログラム、及び記録媒体 |
US8505021B2 (en) * | 2011-08-29 | 2013-08-06 | Kaspersky Lab Zao | Efficient management of computer resources |
US9712546B2 (en) * | 2014-09-12 | 2017-07-18 | Level 3 Communications, Llc | Dynamic configuration of settings in response to DDOS attack |
US20180129537A1 (en) * | 2016-11-10 | 2018-05-10 | Microsoft Technology Licensing, Llc | Managing memory usage using soft memory targets |
US11570632B1 (en) * | 2018-03-20 | 2023-01-31 | Amazon Technologies, Inc. | Algorithm for improving zigbee reliability and latency in a multi-radio system |
CN109445880A (zh) * | 2018-10-23 | 2019-03-08 | 数贸科技(北京)有限公司 | 跨线程调用链上下文的传递方法、装置及电子设备 |
US20210184977A1 (en) * | 2019-12-16 | 2021-06-17 | Citrix Systems, Inc. | Cpu and priority based early drop packet processing systems and methods |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0253150A (ja) * | 1988-08-17 | 1990-02-22 | Nec Corp | メモリ割り当て量調査方式 |
JPH02297233A (ja) * | 1989-05-11 | 1990-12-07 | Mitsubishi Electric Corp | メモリ管理方法 |
JPH08166888A (ja) * | 1994-12-14 | 1996-06-25 | Nec Corp | メモリ管理装置 |
JPH10320266A (ja) * | 1997-03-19 | 1998-12-04 | Fujitsu Ltd | 計算機システムにおけるメモリ返却忘れ検出方法とその装置およびそのための記録媒体 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214778A (en) * | 1990-04-06 | 1993-05-25 | Micro Technology, Inc. | Resource management in a multiple resource system |
JPH06250928A (ja) * | 1993-02-24 | 1994-09-09 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
US6684261B1 (en) * | 1993-07-19 | 2004-01-27 | Object Technology Licensing Corporation | Object-oriented operating system |
US5471526A (en) * | 1994-02-28 | 1995-11-28 | Telefonaktiebolaget L M Ericsson (Publ.) | Tracing with keys and locks on a telecommunication network |
US6173289B1 (en) * | 1995-07-07 | 2001-01-09 | Novell, Inc. | Apparatus and method for performing actions on object-oriented software objects in a directory services system |
JP2000516408A (ja) * | 1995-12-11 | 2000-12-05 | ヒューレット・パッカード・カンパニー | 遠隔通信システムに使用されるサービス資源項目のアクセス方法 |
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 |
US5905860A (en) * | 1996-03-15 | 1999-05-18 | Novell, Inc. | Fault tolerant electronic licensing system |
US5764235A (en) * | 1996-03-25 | 1998-06-09 | Insight Development Corporation | Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution |
US6219708B1 (en) * | 1996-05-30 | 2001-04-17 | Multi-Tech Systems, Inc. | System for network resource management |
US6298422B1 (en) * | 1996-06-17 | 2001-10-02 | Network Associates, Inc. | Method for reducing the memory requirements for an application program executing in a multi-tasking environment |
US6006248A (en) * | 1996-07-12 | 1999-12-21 | Nec Corporation | Job application distributing system among a plurality of computers, job application distributing method and recording media in which job application distributing program is recorded |
US6438573B1 (en) * | 1996-10-09 | 2002-08-20 | Iowa State University Research Foundation, Inc. | Real-time programming method |
US6148377A (en) * | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US5826239A (en) * | 1996-12-17 | 1998-10-20 | Hewlett-Packard Company | Distributed workflow resource management system and method |
IL120420A (en) * | 1997-03-10 | 1999-12-31 | Security 7 Software Ltd | Method and system for preventing the downloading and execution of executable objects |
US5958010A (en) * | 1997-03-20 | 1999-09-28 | Firstsense Software, Inc. | Systems and methods for monitoring distributed applications including an interface running in an operating system kernel |
US5796952A (en) * | 1997-03-21 | 1998-08-18 | Dot Com Development, Inc. | Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database |
US6421737B1 (en) * | 1997-05-02 | 2002-07-16 | Hewlett-Packard Company | Modularly implemented event monitoring service |
US5961586A (en) * | 1997-05-14 | 1999-10-05 | Citrix Systems, Inc. | System and method for remotely executing an interpretive language application |
US5983316A (en) * | 1997-05-29 | 1999-11-09 | Hewlett-Parkard Company | Computing system having a system node that utilizes both a logical volume manager and a resource monitor for managing a storage pool |
US6064974A (en) * | 1997-05-30 | 2000-05-16 | Novell, Inc. | Method and system for monitoring the status of a limited resource |
US6188995B1 (en) * | 1997-07-28 | 2001-02-13 | Apple Computer, Inc. | Method and apparatus for enforcing software licenses |
US6112240A (en) * | 1997-09-03 | 2000-08-29 | International Business Machines Corporation | Web site client information tracker |
US6363411B1 (en) * | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
US6184878B1 (en) * | 1997-12-23 | 2001-02-06 | Sarnoff Corporation | Interactive world wide web access using a set top terminal in a video on demand system |
US6182022B1 (en) * | 1998-01-26 | 2001-01-30 | Hewlett-Packard Company | Automated adaptive baselining and thresholding method and system |
US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
US6430615B1 (en) * | 1998-03-13 | 2002-08-06 | International Business Machines Corporation | Predictive model-based measurement acquisition employing a predictive model operating on a manager system and a managed system |
US6055650A (en) * | 1998-04-06 | 2000-04-25 | Advanced Micro Devices, Inc. | Processor configured to detect program phase changes and to adapt thereto |
US6381321B1 (en) * | 1998-05-04 | 2002-04-30 | T-Netix, Inc. | Telecommunication resource allocation system and method |
US6093216A (en) * | 1998-05-29 | 2000-07-25 | Intel Corporation | Method of run-time tracking of object references in Java programs |
US6947987B2 (en) * | 1998-05-29 | 2005-09-20 | Ncr Corporation | Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes |
US6363421B2 (en) * | 1998-05-31 | 2002-03-26 | Lucent Technologies, Inc. | Method for computer internet remote management of a telecommunication network element |
US6259448B1 (en) * | 1998-06-03 | 2001-07-10 | International Business Machines Corporation | Resource model configuration and deployment in a distributed computer network |
US6553403B1 (en) * | 1998-06-03 | 2003-04-22 | International Business Machines Corporation | System, method and computer program product for monitoring in a distributed computing environment |
US6279034B1 (en) * | 1998-06-03 | 2001-08-21 | International Business Machines Corporation | Distributed monitor timer service for use in a distributed computing environment |
JP3597051B2 (ja) * | 1998-07-31 | 2004-12-02 | 株式会社ソニー・コンピュータエンタテインメント | データ処理システム及び方法、並びにデータ処理装置及び方法 |
US6327622B1 (en) * | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6370572B1 (en) * | 1998-09-04 | 2002-04-09 | Telefonaktiebolaget L M Ericsson (Publ) | Performance management and control system for a distributed communications network |
US6289446B1 (en) * | 1998-09-29 | 2001-09-11 | Axis Ab | Exception handling utilizing call instruction with context information |
JP2000172657A (ja) * | 1998-12-08 | 2000-06-23 | Fujitsu Ltd | 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置 |
US6510466B1 (en) * | 1998-12-14 | 2003-01-21 | International Business Machines Corporation | Methods, systems and computer program products for centralized management of application programs on a network |
US6343280B2 (en) * | 1998-12-15 | 2002-01-29 | Jonathan Clark | Distributed execution software license server |
US6295602B1 (en) * | 1998-12-30 | 2001-09-25 | Spyrus, Inc. | Event-driven serialization of access to shared resources |
US6327702B1 (en) * | 1998-12-30 | 2001-12-04 | Microsoft Corporation | Generating a compiled language program for an interpretive runtime environment |
US6970925B1 (en) * | 1999-02-03 | 2005-11-29 | William H. Gates, III | Method and system for property notification |
US6173442B1 (en) * | 1999-02-05 | 2001-01-09 | Sun Microsystems, Inc. | Busy-wait-free synchronization |
US6341371B1 (en) * | 1999-02-23 | 2002-01-22 | International Business Machines Corporation | System and method for optimizing program execution in a computer system |
US6430570B1 (en) * | 1999-03-01 | 2002-08-06 | Hewlett-Packard Company | Java application manager for embedded device |
US6463454B1 (en) * | 1999-06-17 | 2002-10-08 | International Business Machines Corporation | System and method for integrated load distribution and resource management on internet environment |
-
1999
- 1999-09-10 US US09/394,118 patent/US7028298B1/en not_active Expired - Lifetime
-
2000
- 2000-09-07 EP EP00307736A patent/EP1083485A3/en not_active Ceased
- 2000-09-08 JP JP2000273621A patent/JP4786785B2/ja not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0253150A (ja) * | 1988-08-17 | 1990-02-22 | Nec Corp | メモリ割り当て量調査方式 |
JPH02297233A (ja) * | 1989-05-11 | 1990-12-07 | Mitsubishi Electric Corp | メモリ管理方法 |
JPH08166888A (ja) * | 1994-12-14 | 1996-06-25 | Nec Corp | メモリ管理装置 |
JPH10320266A (ja) * | 1997-03-19 | 1998-12-04 | Fujitsu Ltd | 計算機システムにおけるメモリ返却忘れ検出方法とその装置およびそのための記録媒体 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009037611A (ja) * | 2002-04-26 | 2009-02-19 | Ricoh Co Ltd | 起動制御を行うためのプログラム |
JP4565024B2 (ja) * | 2002-04-26 | 2010-10-20 | 株式会社リコー | アプリケーションプログラム、画像形成装置、及びアプリケーションプログラム実行方法 |
JP2005056011A (ja) * | 2003-08-08 | 2005-03-03 | Hitachi Ltd | 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法 |
JP2006236351A (ja) * | 2005-02-22 | 2006-09-07 | Microsoft Corp | リソース管理方法およびシステム |
JP2014512048A (ja) * | 2011-06-14 | 2014-05-19 | エンパイア テクノロジー ディベロップメント エルエルシー | クラウドコンピューティング環境のためのピーク性能を意識した課金 |
US9727847B2 (en) | 2011-06-14 | 2017-08-08 | Empire Technology Development Llc | Peak-performance-aware billing for cloud computing environment |
US10742568B2 (en) | 2014-01-21 | 2020-08-11 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
US11343200B2 (en) | 2014-01-21 | 2022-05-24 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
US11683274B2 (en) | 2014-01-21 | 2023-06-20 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
JP2017525035A (ja) * | 2014-07-10 | 2017-08-31 | オラクル・インターナショナル・コーポレイション | マルチテナントアプリケーションサーバ環境におけるリソースの分離および消費のためのシステムおよび方法 |
JP2018206026A (ja) * | 2017-06-02 | 2018-12-27 | キヤノン株式会社 | 情報処理装置および資源管理方法 |
US10606748B2 (en) | 2017-06-02 | 2020-03-31 | Canon Kabushiki Kaisha | Apparatus and method for garbage collection on socket objects |
Also Published As
Publication number | Publication date |
---|---|
EP1083485A3 (en) | 2004-02-25 |
JP4786785B2 (ja) | 2011-10-05 |
EP1083485A2 (en) | 2001-03-14 |
US7028298B1 (en) | 2006-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4786785B2 (ja) | リソースの使用を管理するための装置および方法 | |
US11016879B2 (en) | Determining costs based on computer memory usage | |
US6353838B2 (en) | Incremental garbage collection | |
US6070202A (en) | Reallocation of pools of fixed size buffers based on metrics collected for maximum number of concurrent requests for each distinct memory size | |
EP1101167B1 (en) | Method and apparatus for achieving deterministic memory allocation response in a computer system | |
US9613073B2 (en) | Managing object lifetime in a cyclic graph | |
US7840773B1 (en) | Providing memory management within a system management mode | |
US6829772B2 (en) | Apparatus and methods for communicating between resource domains | |
EP3283965B1 (en) | Reducing memory commit charge when compressing memory | |
US7822938B2 (en) | System and method for performing garbage collection based on unmanaged memory allocations | |
US20120005448A1 (en) | Demand-Based Memory Management of Non-pagable Data Storage | |
JP2010272059A (ja) | メモリ管理方法計算機システム及びプログラム | |
JP2006172495A (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
JP3826626B2 (ja) | プログラム制御装置、プログラム制御方法、およびプログラム記録媒体 | |
JP4345748B2 (ja) | メモリ割当装置、メモリ割当方法、およびプログラム記録媒体 | |
CN109343976A (zh) | 一种单任务实时消息传递操作系统 | |
CN111752851A (zh) | 一种内存回收方法及装置 | |
Chen et al. | mBalloon: enabling elastic memory management for big data processing | |
JP2003330741A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100601 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110419 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20110422 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110602 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20110606 |
|
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: 20110705 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110714 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4786785 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140722 Year of fee payment: 3 |
|
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 |