JP2001134452A - Device and method for managing usage of resource - Google Patents

Device and method for managing usage of resource

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
Application number
JP2000273621A
Other languages
Japanese (ja)
Other versions
JP4786785B2 (en
Inventor
William F Foote
ウィリアム・エフ.・フート
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2001134452A publication Critical patent/JP2001134452A/en
Application granted granted Critical
Publication of JP4786785B2 publication Critical patent/JP4786785B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • G06F9/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/504Resource capping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

PROBLEM TO BE SOLVED: To provide a method for managing the resource use of a specific resource according to the related code set of a code to be executed on behalf of a down-loaded applet. SOLUTION: A resource marker is related with a related code so that the resource amount used of a specific resource according to the related code can be indicated. The resource marker is updated when the related code increases or decreases the total resource amount used of the specific resource.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の背景】この発明は、概してソフトウェアアプリ
ケーションに関し、特に、オブジェクトベースのシステ
ムにおいてリソース使用を管理するための、方法および
装置に関する。
BACKGROUND OF THE INVENTION The present invention relates generally to software applications, and more particularly, to a method and apparatus for managing resource usage in an object-based system.

【0002】消費者サイドからは、コストダウンが強く
求められている。このため、例えば、消費者向けのシス
テムにおいて、メモリおよびCPUデバイスの能力を可
能な限り縮小し、コスト全体を最小化する試みがなされ
ている。例えば、ケーブルテレビのセットトップボック
スでは、メモリスペースおよびCPU能力に制限があ
る。オブジェクトベースのシステムが消費者向けのデバ
イスに組み入れられていることから、同システムにおけ
るリソースの使用を効率的に管理することが日々重要性
を増している。つまり、(多くの原因のなかでも特に)
制限リソースによってもたらされる結果として、リソー
スの使用を追跡および管理することが、オブジェクト指
向分野における大きな課題となっている。
[0002] Consumers are strongly demanding cost reduction. Thus, for example, in consumer systems, attempts have been made to minimize the capacity of memory and CPU devices and minimize overall cost. For example, cable TV set-top boxes have limited memory space and CPU power. As object-based systems are being incorporated into consumer devices, managing the efficient use of resources in them has become increasingly important every day. In other words, (especially among many causes)
As a result of limited resources, tracking and managing resource usage has become a major challenge in the object-oriented field.

【0003】特に、非トラステッドコードのリソースの
使用を追跡することが重要である。例えば、非トラステ
ッドなURLからセットトップボックスにダウンロード
されたアプレットのリソースの使用を追跡することが重
要である。ダウンロードされたアプレットは、メモリの
スペースやCPUの時間などのリソースを法外な量で消
費するように、作為的または非作為的に設計されている
可能性がある。
In particular, it is important to track the use of untrusted code resources. For example, it is important to track the resource usage of applets downloaded from untrusted URLs to set-top boxes. Downloaded applets may be designed artificially or non-artificially to consume resources, such as memory space and CPU time, in prohibitive amounts.

【0004】また、関連コードセットのリソースの使用
を追跡および管理することも重要である。例えば、アプ
レットを代表して実行されるスレッドは、セットトップ
ボックスの制限リソースを、共にまたは個々に過度に消
費する恐れがある。したがって、単に個別のスレッドの
リソースの使用を追跡および管理するだけでは不十分で
ある。アプレットは、例えば、共同で作用してリソース
を消費するマルチプルスレッドを開始し得る。個別のス
レッドのリソースの使用を追跡しても、その個別のスレ
ッドだけしか強制終了させることができない。ところ
が、リソースを消費しているスレッドを強制終了させる
前に、アプレットは、他のリソース消費スレッドにラウ
ンチし得る。つまり、あるアプレットまたは関連コード
セットがリソースを過度に消費していることを決定する
方法があれば、その貪欲なアプレットに関連付けられて
いる、および/または同アプレットによる制御を受けて
いる、全てのスレッドを、リソースの過度な消費から阻
止することができる。
[0004] It is also important to track and manage the use of resources of the associated code set. For example, threads running on behalf of applets may consume excessively the limited resources of the set-top box, either together or individually. Therefore, it is not enough to simply track and manage the resource usage of individual threads. Applets may, for example, initiate multiple threads that work together to consume resources. Tracking the resource usage of an individual thread can only kill that individual thread. However, before forcibly terminating the resource consuming thread, the applet may launch another resource consuming thread. That is, if there is a way to determine that an applet or related code set is consuming too much resources, all the applet associated with the greedy applet and / or controlled by the applet Threads can be thwarted from excessive consumption of resources.

【0005】このように、リソースの使用を追跡および
管理するための、改善された方法および装置が必要とさ
れている。また、関連コードセットに関し、そのリソー
スの使用を追跡および管理するためのメカニズムが必要
とされている。
[0005] Thus, there is a need for improved methods and apparatus for tracking and managing resource usage. There is also a need for a mechanism for tracking and managing the use of its resources for related code sets.

【0006】[0006]

【発明の概要】上述したニーズを満たすために、本発明
は概して、アプレットに代わって実行されるコードなど
の、関連コードによるリソースの使用を管理するため
の、装置および方法を提供する。本発明は、一実施形態
において、関連コードセットにより特定リソースの使用
を管理するための方法を開示する。リソース標識は関連
コードに関連付けられており、リソース標識は、関連コ
ードによって特定リソースの使用量を表示する。例え
ば、カウンタは、アプレットに代わって実行されるコー
ドによって、何バイトのリソース(例えば、Java
[登録商標]ヒープメモリ)が消費されているかを追跡す
る。リソース標識は、関連コードが自身の特定リソース
の総使用量を増加または減少する際に更新される。例え
ば、カウンタは、アプレットがその使用のためにメモリ
を割り当てられ、メモリ使用量を増加させた場合に増加
され、アプレットのメモリが再利用されている場合には
減少される。
SUMMARY OF THE INVENTION To meet the needs described above, the present invention generally provides an apparatus and method for managing the use of resources by associated code, such as code executed on behalf of an applet. The present invention, in one embodiment, discloses a method for managing the use of a particular resource by an associated code set. The resource indicator is associated with the associated code, and the resource indicator indicates the usage of a specific resource by the associated code. For example, a counter can be used to determine how many bytes of resources (eg, Java)
[Registered Trademark] heap memory) is consumed. The resource indicator is updated as the associated code increases or decreases the total usage of its particular resource. For example, the counter is incremented when the applet is allocated memory for its use and increases the memory usage, and decremented when the applet's memory is being reused.

【0007】別の実施形態では、本発明は、リソースの
使用を管理するためのコンピュータコードを有したコン
ピュータ読み取り可能媒体に実現される。このコンピュ
ータ読み取り可能媒体は、関連コードによる特定リソー
スのリソース使用量を表示する関連コードに、リソース
標識を関連付けるための、コンピュータコードと、関連
コードによる特定リソースの全リソース使用が増加また
は減少した場合に、リソース標識を更新するための、コ
ンピュータコードと、を備える。
[0007] In another embodiment, the invention is embodied in a computer-readable medium having computer code for managing resource use. The computer readable medium includes a computer code for associating a resource indicator with a related code that indicates the resource usage of the particular resource by the related code, and when the total resource usage of the particular resource by the related code increases or decreases. , Computer code for updating the resource indicator.

【0008】別の実施形態では、関連コードセットによ
ってリソースの使用を管理するための、コンピュータシ
ステムを開示する。このコンピュータシステムは、ある
関連コードセットに関連付けられたリソースコンテキス
トを有する。例えば、1つのリソースが、ある特定のソ
ース(例えばURL)から得られた各アプレットセット
に関連付けられているとする。リソースコンテキスト
は、ある特定のリソースタイプに関連付けられて、該タ
イプのリソースが関連コードセットによってどれだけ使
用されているかを示す、リソース標識を有する。例えば
リソースコンテキストは、そのアプレットによるメモリ
(例えばJava[登録商標]ヒープメモリ)の使用量を
追跡するための、カウンタを有する。また、上記コンピ
ュータシステムは、リソースコンテキストに関連付けら
れたリソースオブジェクトをも有する。このリソースオ
ブジェクトは、上述したリソースタイプのリソースが、
関連コードセットによってどれだけ使用されるかを表示
する。メモリカウンタは、リソースコンテキストのアプ
レットが、メモリ(例えばJava[登録商標]ヒープメ
モリ)を例えば20バイトしか使用していないと示すか
もしれない。上記コンピュータシステムはさらに、関連
コードセットが、更新後のリソース標識に関連付けられ
たリソースタイプのリソースの使用を増加させた場合
に、リソースコンテキストのリソース標識を増分させる
ように構成された、更新メカニズムを有する。
[0008] In another embodiment, a computer system for managing resource usage by a related code set is disclosed. The computer system has a resource context associated with a set of related codes. For example, assume that one resource is associated with each applet set obtained from a particular source (eg, a URL). The resource context has a resource indicator associated with a particular resource type, indicating how much of that type of resource is being used by the associated code set. For example, a resource context has a counter for tracking the amount of memory (eg, Java ™ heap memory) used by the applet. The computer system also has a resource object associated with the resource context. This resource object is a resource of the resource type described above,
Shows how much is used by the associated code set. The memory counter may indicate that the resource context applet is using only memory (eg, Java ™ heap memory), for example, only 20 bytes. The computer system further includes an update mechanism configured to increment the resource indicator of the resource context when the associated code set increases usage of the resource of the resource type associated with the updated resource indicator. Have.

【0009】本発明には数々の利点が見られる。例え
ば、関連コード(例えばソースを同じくする複数のアプ
レット)によってリソースの使用を追跡することによ
り、リソースの過度な消費を停止するまたは阻止するア
クションが、関連コードセット全体に実装される。例え
ば、特定のウェブサイトからセットトップボックスにア
プレットがダウンロードされると、そのアプレットによ
るセットトップリソースの使用状況が、注意深くモニタ
される。使用量が大きすぎる場合は、そのアプレット
に、リソースの使用をカットするかまたは終了する必要
があることを警告する。もしそのアプレットがリソース
の使用を増大し続けるならば、そのアプレットに関連付
けられた全てのスレッドを終了させる。このため、たと
えアプレットがリソースを消費するスレッドを複数生成
するように作為的に設計されていたとしても、そのよう
なスレッドを全て打ち切ることが可能となる。また、ア
プレットコードを実行するあらゆるシステムスレッドの
実行を、有害なアプレットの所有ではないリソースオブ
ジェクトの状態を破壊しない方法で、確実に終了させる
ことができる。
The present invention has numerous advantages. For example, by tracking resource use by related code (eg, multiple applets with the same source), actions to stop or prevent excessive consumption of resources are implemented throughout the related code set. For example, when an applet is downloaded from a particular website to a set-top box, the applet's use of set-top resources is carefully monitored. If the usage is too high, warn the applet that the resource usage needs to be cut or terminated. If the applet continues to increase resource usage, terminate all threads associated with the applet. Therefore, even if an applet is artificially designed to generate a plurality of threads that consume resources, it is possible to terminate all such threads. Also, the execution of any system thread executing the applet code can be reliably terminated in a manner that does not destroy the state of resource objects that do not own the harmful applet.

【0010】以下に続く詳細な説明と添付した種々の図
面とから、本発明の上述したおよびその他の利点がいっ
そう明らかになる。
[0010] The foregoing and other advantages of the invention will become more apparent from the detailed description that follows and the accompanying drawings.

【0011】[0011]

【発明の実施の形態】次に、本発明の特定の実施形態に
関して詳細な説明を行う。以下では、本発明を特定の実
施形態との関連のもとで説明するが、これは、本発明を
これらの実施形態に限定することを意図するものではな
い。反対に、添付した特許請求の範囲で定義される、発
明の趣旨および範囲の範囲内で、種々の変更物、改良
物、および等価物を含むことを意図している。以下の説
明では、本発明の完全な理解を促すために多くの詳細に
ついて特定している。しかしながら本発明は、これらの
項目の一部または全てを特定しなくても実施することが
可能である。そのほか、本発明を不必要に不明瞭化する
のを避けるため、周知のプロセス操作および/または構
造の説明は省略した。
DETAILED DESCRIPTION OF THE INVENTION The following is a detailed description of a specific embodiment of the present invention. In the following, the invention will be described in relation to particular embodiments, but this is not intended to limit the invention to these embodiments. On the contrary, the intention is to cover various modifications, improvements, and equivalents, within the spirit and scope of the invention, as defined by the appended claims. In the following description, numerous details are set forth to provide a thorough understanding of the present invention. However, the present invention can be implemented without specifying some or all of these items. In other instances, well known process operations and / or structures have not been described in order to not unnecessarily obscure the present invention.

【0012】本発明は一般に、特定のウェブサイトから
ダウンロードされたアプレットに代わって実行されるコ
ードなどの、関連コードによるリソースの使用を管理す
るための方法および装置に関する。関連コードは、自身
によるリソース使用のシングルエンティティとして理論
的にチャージされ得る任意のコードを含む。関連コード
は、例えば、メソッド上にダウンロードされアプレット
によって開始されたコードおよび/またはスレッドの一
部として、同アプレットによって直接実行される、スレ
ッドまたはメソッドを含む。例えば、アプレットメソッ
ドによってシステムメソッドが呼び出される。関連コー
ドはまた、同じソース(例えばウェブサイト)または関
連ソース(例えば同一企業が所有するサイト)から得ら
れる複数のアプレットに代わって実行されるコードも含
む。また、関連コードはアプレット以外の形態を採って
も良い。
The present invention generally relates to a method and apparatus for managing the use of resources by associated code, such as code executed on behalf of applets downloaded from a particular website. Associated code includes any code that can theoretically be charged as a single entity of resource usage by itself. Associated code includes, for example, a thread or a method that is downloaded directly onto a method and executed directly by the applet, as part of the code and / or thread started by the applet. For example, a system method is called by an applet method. Related code also includes code that executes on behalf of multiple applets obtained from the same source (eg, a website) or from a related source (eg, a site owned by the same company). Further, the related code may take a form other than the applet.

【0013】簡単のため、本明細書を通じて、アプレッ
トを代表して実行されるコードを関連コードの一例とし
て使用するものとする。本明細書で開示する実施形態で
は、各アプレットによるリソースの使用を追跡する。例
として、アプレットによるメモリの総消費量を追跡およ
び管理する場合が挙げられる。別の例として、特定の継
続期間のうちアプレットが必要としたCPU時間(例え
ば、特定の継続期間に占めるCPU時間の割合で表した
もの)を追跡および管理する場合が挙げられる。
For simplicity, throughout this specification, code executed on behalf of an applet will be used as an example of related code. The embodiments disclosed herein track the use of resources by each applet. An example is tracking and managing the total memory consumption by applets. Another example is tracking and managing the CPU time required by an applet in a particular duration (eg, as a percentage of CPU time in a particular duration).

【0014】リソースの使用の追跡は、各アプレットに
何らかの標識を関連付けることによってもなされる。こ
の標識は、特定のリソースが、アプレットによってどれ
だけ消費されたかを追跡するものである。標識は例え
ば、特定リソースの絶対消費量を追跡することができ
る。例として、特定のアプレットが消費するバイト数
(例えばJava[登録商標]ヒープメモリの)を、カウ
ンタで追跡する場合が挙げられる。その代わりに、標識
は、例えば、特定リソースの相対消費量を追跡すること
もできる。例として、アプレットがCPUを使用してい
る時間が既定期間に占める割合を、CPUの使用標識で
追跡することが挙げられる。各アプレットは複数の関連
の標識を有し、その各標識は、アプレットおよび関連コ
ードが特定タイプのリソースをどれだけ消費しているか
を追跡する。各アプレットは、例えば、メモリの使用標
識と、CPUの使用標識と、ネットワークの使用標識と
を有することができる。
[0014] Tracking resource usage is also done by associating each applet with some indicator. This indicator tracks how much a particular resource has been consumed by the applet. An indicator may, for example, track the absolute consumption of a particular resource. As an example, there is a case where a counter tracks the number of bytes consumed by a specific applet (for example, in a Java (registered trademark) heap memory). Alternatively, the indicator may, for example, track the relative consumption of a particular resource. As an example, the percentage of time that an applet has used the CPU for a predetermined period is tracked by a CPU usage indicator. Each applet has a plurality of associated indicators, each of which tracks how much the applet and associated code is consuming a particular type of resource. Each applet may have, for example, a memory usage indicator, a CPU usage indicator, and a network usage indicator.

【0015】割り当てられた、または、利用された各リ
ソースオブジェクトを、対応するアプレットに関連付け
ても良い。どのアプレットまたはアプレットセットが特
定のリソースオブジェクトに対応するかを決定するに
は、あらゆる適切な係数を考慮することが可能である。
例えば、あるアプレットにメモリブロックが1つ割り当
てられた場合は、同アプレットがそのメモリブロックに
対応すると見なされて、その割り当てられたメモリブロ
ックに関連付けられる。対応する関連コードセットにリ
ソースオブジェクトを関連付けるためのメカニズムに関
しては、図1と関連させて後ほど説明することにする。
[0015] Each assigned or utilized resource object may be associated with a corresponding applet. To determine which applet or applet set corresponds to a particular resource object, any suitable factors can be considered.
For example, when one memory block is allocated to an applet, the applet is regarded as corresponding to the memory block and is associated with the allocated memory block. The mechanism for associating a resource object with a corresponding set of related codes will be described later in connection with FIG.

【0016】特定のアプレットにリソースオブジェクト
が関連付けられると、リソースオブジェクトがアプレッ
トの使用に割り当てられた後、およびリソースオブジェ
クトがアプレットから割り当て解除された後に、同アプ
レットの適切なリソース標識が更新される。例えば、ア
プレットの使用にメモリブロックが割り当てられると、
そのアプレットのメモリカウンタが、割り当てられたメ
モリブロックのサイズ分だけ増分される。
When a resource object is associated with a particular applet, the appropriate resource indicators for that applet are updated after the resource object has been assigned to use the applet and after the resource object has been unassigned from the applet. For example, if a block of memory is allocated to use an applet,
The applet's memory counter is incremented by the size of the allocated memory block.

【0017】アプレットによるリソースの使用を追跡す
るために使用されるメカニズムのなかには、エンティテ
ィ(ここではリソースコンテキストを呼ぶ)の形で表さ
れるものもある。また、リソースコンテキストは、該リ
ソースコンテキストに関連付けられたコードがリソース
を使用する際に、そのリソースの使用を要求する対象と
なるエンティティである。つまり、リソースコンテキス
トは、自身を介してリソース使の用を追跡および管理で
きるようなエンティティである。リソースコンテキスト
はまた、コードボディと、そのようなコードボディの実
行によって消費されるリソースとに関連付けられる。
Some of the mechanisms used to track the use of resources by applets are represented in the form of entities (referred to herein as resource contexts). Further, the resource context is an entity to be requested to use the resource when the code associated with the resource context uses the resource. That is, a resource context is an entity through which resource usage can be tracked and managed. Resource contexts are also associated with code bodies and resources consumed by the execution of such code bodies.

【0018】図1は、リソースの使用を管理するための
種々のメカニズム間の関係を、本発明の一実施形態に従
って示した図である。図中に示されているように、リソ
ースコンテキスト102は、同リソースコンテキストが
各タイプのリソースをどれだけ消費しているかを追跡す
るための、標識のセットを有する。一実施形態におい
て、標識は、CPUの使用と、メモリの使用と、ネット
ワークの使用と、オープンファイルの数と、オープンソ
ケットの数と、モニタの数とを追跡する。
FIG. 1 is a diagram illustrating the relationship between various mechanisms for managing resource use in accordance with one embodiment of the present invention. As shown in the figure, the resource context 102 has a set of indicators to track how much the resource context is consuming each type of resource. In one embodiment, the indicators track CPU usage, memory usage, network usage, number of open files, number of open sockets, and number of monitors.

【0019】また、リソースコンテキスト102は、各
リソースタイプ(例えばヒープメモリ)に関する1つま
たはそれ以上の既定の限界にも関連付けられている。各
限界セットは、リソースの過度な消費を阻止するための
アクションが採られるまでに、リソースコンテキストに
関連コードが、関連タイプのリソースにどれだけアクセ
スできるかを示す。リソースコンテキスト102は、例
えば、2キロバイト、4キロバイト、および5キロバイ
ト(最大使用量)の3種類のメモリ使用限界に関連付け
られることが可能である。このリソースコンテキストの
メモリ使用量が2キロバイトを超えると、同リソースコ
ンテキストに関連付けられたアプレットは、そのリソー
スの使用が最大使用量の5キロバイトまであと3キロバ
イトのレベルに到達した、という警告を受ける。このリ
ソースコンテキストのメモリ使用量が3キロバイトを超
えると、同リソースコンテキストは、リソースを過度に
消費しているため間もなく終了させられる、という警告
を受ける。アプレットが第1および/または第2の限界
を超えると、これ以上のメモリの割り当ては許可されな
い。使用量が5キロバイトを超えると、そのリソースコ
ンテキストのアプレットは警告なしに終了させられる。
The resource context 102 is also associated with one or more predefined limits for each resource type (eg, heap memory). Each limit set indicates how much related code can access a resource of the related type in the resource context before action is taken to prevent excessive consumption of the resource. The resource context 102 can be associated with three types of memory usage limits, for example, 2 kilobytes, 4 kilobytes, and 5 kilobytes (maximum usage). If the memory usage of this resource context exceeds 2 kilobytes, the applet associated with the resource context will be alerted that the usage of that resource has reached the level of 3 kilobytes, up to the maximum usage of 5 kilobytes. If the memory usage of the resource context exceeds 3 kilobytes, a warning is issued that the resource context will be terminated shortly due to excessive consumption of resources. If the applet exceeds the first and / or second limits, no more memory allocation is allowed. If the usage exceeds 5 kilobytes, the applet for that resource context is terminated without warning.

【0020】図1に示される実施形態において、リソー
スコンテキスト102は、メモリの使用量に関する複数
の制限または閾値、すなわち制限制限1と、制限制限2
と、最大制限と、特定のリソースタイプに関する下限配
列および上限配列とを有したリソースオブジェクト10
4に関連付けられている。図中には示されていないが、
リソースコンテキストは、任意の数のリソースオブジェ
クト(例えば、CPU使用、ネットワーク使用、ソケッ
ト使用、ファイル使用、およびモニタ使用の各リソース
に対応するリソースオブジェクト)に関連付けられるこ
とが可能である。
In the embodiment shown in FIG. 1, resource context 102 includes a plurality of limits or thresholds on memory usage, namely limit 1 and limit 2.
Resource object 10 having a maximum limit, a lower limit array and an upper limit array for a particular resource type
4 associated with it. Although not shown in the figure,
A resource context can be associated with any number of resource objects (eg, resource objects corresponding to CPU usage, network usage, socket usage, file usage, and monitor usage resources).

【0021】再び図1に戻り、最大制限は、リソースコ
ンテキストに関連付けられた関連コードが消費し得るメ
モリの最大量を表す。制限1および制限2は、メモリの
使用量が最大閾値に近づきづつある、という警告をトリ
ガするために利用される閾値を表す。例えば、制限1を
1キロバイト、制限2を2キロバイト、そして最大制限
を3キロバイトにそれぞれ設定することができる。
Referring again to FIG. 1, the maximum limit represents the maximum amount of memory that can be consumed by the associated code associated with the resource context. Limits 1 and 2 represent thresholds used to trigger a warning that memory usage is approaching a maximum threshold. For example, limit 1 can be set to 1 kilobyte, limit 2 to 2 kilobytes, and maximum limit to 3 kilobytes.

【0022】関連のリソースコンテキストが制限1を超
えると(例えば、関連のアプレットが1キロバイトを超
える量を使用すると)、アプレットは、最大使用量の限
界に近づきつつあるという警告を受ける。さらに制限2
をも超えると(例えば、関連のアプレットが2キロバイ
トを超える量を使用すると)、アプレットは、最大使用
量の限界にさらに近づいたという警告を受ける。そして
最大使用量をも超えると(アプレットが3キロバイトを
超える量を使用すると)、アプレットによるメモリへの
アクセスは、さらなる警告を一切受けることなく終了さ
せられる。同様に、アプレットが閾値以下に下がると、
同アプレットは、もう最大の閾値に近づきつつしてはな
いという通知を受ける。
If the associated resource context exceeds the limit 1 (eg, if the associated applet uses more than 1 kilobyte), the applet will be alerted that it is approaching its maximum usage limit. Restriction 2
(E.g., if the associated applet uses more than 2 kilobytes), the applet will be alerted that it is even closer to its maximum usage limit. And if the maximum usage is exceeded (if the applet uses more than 3 kilobytes), access to the memory by the applet will be terminated without any further warning. Similarly, when the applet drops below the threshold,
The applet is notified that it is no longer approaching the maximum threshold.

【0023】メモリが限界を超えつつあること、または
もう超えつつないことをアプレットに通知するために
は、あらゆるメカニズムを実装することが可能である。
図中に示される実施形態において、リソースオブジェク
ト104は、リソースコールバック118へのアクセス
権を有する。リソースオブジェクトは、アプリケーショ
ンがリソースの使用に関する通知を登録および指示する
と、リソースコールバックへのアクセス権を得る。ある
閾値を超えた場合、あるいは同閾値またはその他の閾値
をもう超えつつない場合に、登録済みのユーザに対する
コールバックが開始される。
[0023] Any mechanism can be implemented to notify the applet that memory is about to be exceeded or is no longer being exceeded.
In the embodiment shown, resource object 104 has access to resource callback 118. The resource object gains access to the resource callback when the application registers and indicates a notification about the use of the resource. When a certain threshold is exceeded, or when the same threshold or another threshold is no longer being exceeded, a callback for the registered user is started.

【0024】ヒステリシス効果を得るために、各制限に
対して1対の値を提供することが可能である。例えば、
リソースの使用が制限1をいったん超えると、通知をト
リガするためには、そのリソースの使用が制限1よりも
低い下限値以下に下がる必要がある。すると、再度通知
をトリガするためには、そのリソースの使用が制限1よ
りも高い上限値を超える必要がある。同様に、制限2お
よび最大制限に対しても、下限値および上限値が提供さ
れる。
To obtain a hysteresis effect, it is possible to provide a pair of values for each limit. For example,
Once the usage of a resource exceeds limit 1, the usage of that resource must drop below a lower limit below limit 1 in order to trigger a notification. Then, in order to trigger the notification again, the use of the resource needs to exceed the upper limit value higher than the limit 1. Similarly, lower and upper limits are provided for limit 2 and maximum limit.

【0025】リソースコンテキストは、関連コードの特
定のセットに関連付けられている。この関連付けは、任
意の適切な方法で行うことができる。例えば、アプリケ
ーションコードセットを受信するアプリケーションフレ
ームワークが、関連コードの特定のセットへのリソース
コンテキストの割り当てを、事前に決定しても良い。こ
の決定は、任意の適切なポリシー考慮事項に基づいて下
すことが可能である。例えば、ある特定の保護ドメイン
に割り当てられたコードを、全て1つのリソースコンテ
キストに割り当てても良い。当業者には明らかなよう
に、保護ドメイン(JDK1.2のセキュリティ特徴に
含まれる特徴を有するもの)は一般に、コードセットへ
の許可の付与を行う。つまり、特定のコードセットに保
護ドメインを割り当てるメカニズムを、同コードセット
へのリソースコンテキストの割り当てにも利用すること
が可能である。
A resource context is associated with a particular set of related codes. This association can be made in any suitable way. For example, an application framework that receives a set of application codes may pre-determine the assignment of a resource context to a particular set of related codes. This decision can be made based on any appropriate policy considerations. For example, all codes assigned to a specific protection domain may be assigned to one resource context. As will be apparent to those skilled in the art, protection domains (those with features included in the security features of JDK 1.2) generally provide permissions to the codeset. That is, the mechanism for allocating a protection domain to a specific code set can be used to allocate a resource context to the code set.

【0026】保護ドメインは一般に、特定のスレッドに
よって実行されているメソッドのクラスが、どのクラス
ローダを使用してローディングされたかに基づいて、特
定のスレッドに関連付けられている。クラスローダに基
づいてスレッドに保護ドメインを割り当てるための、幾
つかの実施形態に関しては、Java2プラットフォー
ムセキュリティアーキテクチャ(Java2 Platform Secur
ity Architecture)、API設計(API Design)、リ・
ゴング著のインプリメンテーション(Implementation b
y Li Gong)(アディソン・ウェスリィ出版、ISBN 201-
31000-7)で説明がなされているため、本明細書中に引
用としてそのまま組み入れることとする。
A protection domain is generally associated with a particular thread based on which class loader used to load the class of the method being executed by the particular thread. For some embodiments for assigning protection domains to threads based on class loaders, see the Java2 Platform Security Architecture.
ity Architecture), API design (API Design),
Gong's implementation (Implementation b
y Li Gong) (Addison Wesley Publishing, ISBN 201-
31000-7), which is incorporated herein by reference as it is.

【0027】図1に示されるように、リソースコンテキ
スト102を代表して実行されている特定のスレッド1
06は、保護ドメイン116内でも実行されている。よ
り厳密に言うと、スレッド106中のある特定のメソッ
ド110が現在実行されており、該メソッドは、対応す
るスタックフレーム108に関連付けられている。スレ
ッド106中の実行中のメソッド110は、クラス11
2の一部分としてクラスローダ114によってローディ
ングされる。クラスローダ114は保護ドメイン116
に関連付けられ、該保護ドメイン116はさらにリソー
スコンテキスト102に関連付けられている。一実施形
態において、各スレッドは、クラスローダおよびその関
連の保護ドメインを介して関連のリソースコンテキスト
に割り当てられてトレースされる。
As shown in FIG. 1, a specific thread 1 running on behalf of the resource context 102
06 is also being executed in the protection domain 116. More specifically, a particular method 110 in thread 106 is currently executing and is associated with a corresponding stack frame 108. The executing method 110 in the thread 106 has the class 11
2 is loaded by the class loader 114. The class loader 114 is a protection domain 116
, And the protection domain 116 is further associated with the resource context 102. In one embodiment, each thread is assigned and traced to an associated resource context via a class loader and its associated protection domain.

【0028】異なる保護ドメインに属する複数のコード
セットを、同じリソースコンテキストに割り当てること
も当然可能である。例として、第1のアプレットがPe
psiによって制御されているウェブサイトから発生し
て、第2のアプレットがPizza Hutによって制
御されているウェブサイトから発生している場合を取り
上げる。これら2つのアプレットは、異なるウェブサイ
トから発生して異なるクラスローダによってローディン
グされているため、異なる保護ドメインを有している
が、Pizza HutおよびPepsiが共有されて
いることから、同じリソースコンテキストに対してリソ
ースの使用を要求することが可能である。
It is of course possible to assign a plurality of code sets belonging to different protection domains to the same resource context. As an example, if the first applet is Pe
Consider the case where the second applet originated from a website controlled by psi and originated from a website controlled by Pizza Hut. These two applets have different protection domains because they originate from different websites and are loaded by different class loaders, but because the Pizza Hut and Pepsi are shared, they have the same resource context. Requesting the use of resources.

【0029】リソースの使用を追跡するためのメカニズ
ムのなかには、リソース自体に関連付けられても良いも
のがある。一実施形態では、割り当てられた各リソース
オブジェクトを、対応するリソースコンテキストで呼び
出すことが可能である。図中に示されるように、メモリ
ブロック120は、同メモリブロックに対応する一つの
コードセットに関連付けられた、対応するリソースコン
テキスト102へのポインタを有する。このため、リソ
ースの割り当ては対応するリソースコンテキストに対し
て要求され、リソースの割り当ての解除は、関連のポイ
ンタを介して対応するリソースコンテキストに帰され
る。例えば、リソースが割り当てられると、対応するり
ソースコンテキストの適切なリソースカウンタが増分す
る。
[0029] Some mechanisms for tracking resource use may be associated with the resource itself. In one embodiment, each assigned resource object can be invoked with a corresponding resource context. As shown in the figure, the memory block 120 has a pointer to the corresponding resource context 102 associated with one code set corresponding to the memory block. Thus, resource allocation is requested for the corresponding resource context, and resource deallocation is attributed to the corresponding resource context via the associated pointer. For example, when a resource is allocated, the appropriate resource counter in the corresponding source context is incremented.

【0030】図2Aおよび図2Bは、メモリを割り当て
るためのプロセス200を、本発明の一実施形態に従っ
て示したフローチャートである。一般に絶対量(例えば
バイト数)で割り当てられるあらゆるタイプのリソース
に対し、同様な手続きを実装することが可能である。例
えば、オープンファイル、オープンソケット、およびモ
ニタなどの割り当てにおいてこの手続きを実装すること
が可能である。
FIGS. 2A and 2B are flowcharts illustrating a process 200 for allocating memory, according to one embodiment of the present invention. Similar procedures can be implemented for any type of resource that is generally allocated in absolute amounts (eg, bytes). For example, it is possible to implement this procedure in the allocation of open files, open sockets, and monitors.

【0031】先ず操作202において、アクティブ保護
ドメインを決定する。アクティブ保護ドメインを決定す
るための技術に関しては、Java2プラットフォーム
セキュリティアーキテクチャ(Java2 Platform Securit
y Architecture)、API設計(API Design)、リ・ゴ
ング著のインプリメンテーション(Implementation by
Li Gong)(アディソン・ウェスリィ出版、ISBN 201-31
000-7)で詳しい説明がなされているため、本明細書中
に引用としてそのまま組み入れることとする。次に操作
204において、アクティブ保護ドメインに関連付けら
れたリソースコンテキストを識別する。リソースコンテ
キストの割り当てはポリシー決定であり、任意の適切な
方法で実現することが可能であるが、図中に示された実
施形態のリソースコンテキストの場合は、アクティブ保
護ドメインに直接マッピングされている。
First, in operation 202, an active protection domain is determined. For the technology for determining the active protection domain, see the Java2 Platform Security Architecture.
y Architecture), API Design, Implementation by Li Gong
Li Gong) (Addison Wesley Publishing, ISBN 201-31)
000-7) is described in detail in the present specification. Next, in operation 204, a resource context associated with the active protection domain is identified. The assignment of the resource context is a policy decision and can be implemented in any suitable way, but in the case of the resource context of the embodiment shown in the figure, it is mapped directly to the active protection domain.

【0032】特定の保護ドメインに対するリソースコン
テキストのマッピングは、アプリケーションフレームワ
ークによって前もって設定されていても良い。あるいは
アプリケーションフレームワークは、各コードソース
(例えば各URLサイト)に対して別途クラスローダを
形成しても良い。そして、あるクラスローダによってロ
ーディングされるクラス全てを、そのコードソースに対
応する特定の保護ドメインに割り当てる。すると、アプ
リケーションフレームワークがリソースコンテキストを
インスタンス化し、インスタンス化された同リソースコ
ンテキストが、上記特定のクラスローダの保護領域に関
連付けられる。
The mapping of a resource context to a particular protection domain may have been previously set by the application framework. Alternatively, the application framework may separately form a class loader for each code source (for example, each URL site). Then, all classes loaded by a certain class loader are assigned to a specific protection domain corresponding to the code source. Then, the application framework instantiates the resource context, and the instantiated resource context is associated with the protection area of the specific class loader.

【0033】次に操作206において、識別されたリソ
ースコンテキストに対応してメモリカウンタを増分させ
る。そして続く操作206において、リソースの使用が
閾値を超えたか否かを決定する。例えば、図1の制限
1、制限2、または最大制限の閾値を超えたか否かを決
定する。あるいは代わりに、上限値を超えたか否かを決
定しても良い。
Next, at operation 206, a memory counter is incremented corresponding to the identified resource context. Then, in a subsequent operation 206, it is determined whether the resource usage has exceeded a threshold. For example, it is determined whether the threshold of the limit 1, the limit 2, or the maximum limit of FIG. 1 has been exceeded. Alternatively, it may be determined whether or not the upper limit has been exceeded.

【0034】リソースの使用が閾値を超えていない場合
は、操作210においてメモリが割り当てられ、割り当
てられた同メモリに対してリソースコンテキストが記録
される。例えば、そのリソースコンテキストへのポイン
タが、割り当てられたメモリ部位内に記録される。この
ため、同メモリ部位の割り当てが解除されると、適切な
リソースコンテキストのリソースカウンタが減分され
る。リソースコンテキストが記録された後、メモリ割り
当ての手続きが終了する。
If the resource usage does not exceed the threshold, memory is allocated in operation 210 and a resource context is recorded for the allocated memory. For example, a pointer to the resource context is recorded in the allocated memory location. Therefore, when the allocation of the memory part is released, the resource counter of the appropriate resource context is decremented. After the resource context is recorded, the memory allocation procedure ends.

【0035】リソースの使用が閾値を超えた場合は、操
作212において、リソース再利用のプロセスがトリガ
される。例えば、ヒープメモリに対してガーベッジコレ
クションの手続きを開始する。リソースの再利用の一実
施形態に関しては、図3と関連させて後ほど説明するこ
とにする。リソースの再利用は、対応するリソースコン
テキストの関連コードセットが使用しなくなった、あら
ゆるメモリの割り当てを解除するためにトリガされる。
このメモリの割り当て解除がトリガされると、そのメモ
リの使用がこれ以上閾値を超えることはない。
If the usage of the resource exceeds the threshold, the process of resource reuse is triggered in operation 212. For example, a garbage collection procedure is started for the heap memory. One embodiment of resource reuse will be described later in connection with FIG. Resource reuse is triggered to deallocate any memory that is no longer used by the associated code set of the corresponding resource context.
When this memory deallocation is triggered, the memory usage will not exceed the threshold anymore.

【0036】リソースの再利用がトリガされると、操作
214において、閾値を依然として超えているか否かを
決定する。もう閾値を超えていない場合は、操作210
においてメモリが割り当てられ、割り当てられた同メモ
リに対してリソースコンテキストが記録される。そし
て、メモリ割り当ての手続き200が終了する。このよ
うに、このアプリケーションには、メモリの使用を削減
する(カットバックする)機会が与えられる。
When resource reuse is triggered, operation 214 determines whether the threshold is still exceeded. If the threshold has not been exceeded, operation 210
Is allocated, and a resource context is recorded for the allocated memory. Then, the memory allocation procedure 200 ends. Thus, the application is given the opportunity to reduce (cut back) memory usage.

【0037】依然として閾値を超えている場合は、操作
216において、登録済みのリソースコールバックが通
知される。リソースコンテキストのコードセットが特定
リソースの最大制限に近づいていることを警告するため
には、その他警報タイプの任意のメカニズムを実装する
ことが可能である。コールバックタイプのアラームとし
ては、アプリケーションに対してアプリケーションフレ
ームワークからのコールバックの登録を許可するような
メカニズムが使用可能である。例えばアプレットは、メ
モリの使用が閾値を超えたら通知を受けるように登録を
行う。そして実際に閾値を超えると、例えば、メモリの
使用が最大メモリ使用量に近づいている、というような
通知を受ける。
If the threshold is still exceeded, in operation 216 a registered resource callback is notified. Any other alert-type mechanism can be implemented to alert that the code set of the resource context is approaching the maximum limit for a particular resource. As a callback type alarm, a mechanism that allows an application to register a callback from the application framework can be used. For example, an applet registers to receive a notification when memory usage exceeds a threshold. When the threshold value is actually exceeded, for example, a notification is received that the memory usage is approaching the maximum memory usage.

【0038】次に図2Bに移り、操作218において、
最大閾値を超えているか否かを決定する。最大閾値を超
えていない場合は、図2Aの操作210においてメモリ
が割り当てられ、割り当てられた同メモリに対してリソ
ースコンテキストが記録される。しかしながら、最大閾
値を超えている場合は、操作220において、メモリカ
ウンタが減分される(操作206において先に増分され
ているため)。すると操作222において、Out of Mem
ory 例外がスローされて、エラーが生じたことを示し、
メモリの割り当てが行われなくなる。そして、メモリ割
り当ての手続き200が終了する。
Turning next to FIG. 2B, in operation 218,
Determine if the maximum threshold is exceeded. If the maximum threshold has not been exceeded, memory is allocated in operation 210 of FIG. 2A and a resource context is recorded for the allocated memory. However, if the maximum threshold has been exceeded, the memory counter is decremented in operation 220 (since it was previously incremented in operation 206). Then, in operation 222, Out of Mem
An ory exception was thrown to indicate that an error occurred,
No more memory allocation. Then, the memory allocation procedure 200 ends.

【0039】ある特定のセットの関連コードが最大メモ
リ使用量を超えた場合は、その関連コードを代表して実
行されるスレッドを打ち切るメカニズムを実装しても良
い。
If a particular set of related code exceeds the maximum memory usage, a mechanism may be implemented to abort the thread executed on behalf of that related code.

【0040】図3は、図2におけるリソース再利用の操
作を、本発明の一実施形態に従って示したフローチャー
トである。先ず操作302において、別のオブジェクト
に呼び出されていないメモリオブジェクトに対してメモ
リ走査を実行する。例えばあるメモリは、現在はもう使
用されていないローカル変数によって、かつて呼び出さ
れたことがあるかもしれない。続く操作304では、呼
び出されていない各オブジェクトに関し、そのオブジェ
クトのサイズを、そのメモリオブジェクトによって呼び
出されるリソースコンテキストの、対応するリソースカ
ウンタから差し引く(例えば、図2の操作210におけ
るメモリオブジェクトの割り当て中に、特定のリソース
コンテキストが記録される)。そして操作306におい
て、呼び出されていないメモリオブジェクトに対してメ
モリを再利用する。
FIG. 3 is a flowchart showing the resource reuse operation in FIG. 2 according to an embodiment of the present invention. First, in operation 302, a memory scan is performed on a memory object that has not been called by another object. For example, some memory may have been called once by local variables that are no longer in use. In a subsequent operation 304, for each object that has not been invoked, the size of the object is subtracted from the corresponding resource counter of the resource context invoked by the memory object (eg, during the allocation of the memory object in operation 210 of FIG. 2). , The specific resource context is recorded). Then, in operation 306, memory is reclaimed for memory objects that have not been called.

【0041】続く操作308において、メモリの使用が
リソースの使用の閾値以下に下がったか否かを決定す
る。メモリの使用が閾値以下に下がった原因は、例え
ば、メモリの最大使用限界に近づいているという警告に
応えて、関連のアプレットがメモリの使用を減らしたた
めかもしれない。メモリの使用が閾値以下に下がってい
ない場合は、リソース再利用の手続き212が終了す
る。メモリの使用が閾値以下に下がった場合は、操作3
10において、登録済みのリサーチコールバックが通知
を受ける。例えば、リソースコンテキストに関連付けら
れたアプレットに、メモリの最大割り当て量を超える危
険がもうないことを通知する。すると、メモリ再利用の
手続き212が終了し、制御が図2Aおよび図2Bのメ
モリ割り当ての手続き200に戻される。
In a following operation 308, it is determined whether the memory usage has dropped below the resource usage threshold. The reason for the memory usage dropping below the threshold may be, for example, that the associated applet has reduced memory usage in response to a warning that the maximum memory usage is approaching. If the memory usage has not fallen below the threshold, the resource reuse procedure 212 ends. If memory usage falls below the threshold,
At 10, the registered research callback is notified. For example, notify the applet associated with the resource context that there is no more danger of exceeding the maximum allocated memory. Then, the memory reuse procedure 212 ends, and control is returned to the memory allocation procedure 200 of FIGS. 2A and 2B.

【0042】図2から図3に関連させて説明したリソー
スの管理技術は、使用限界が絶対値であるリソースに対
しては上手く機能するが、相対的な形でより容易に測定
または追跡できるその他のリソースタイプに対しては、
他のメカニズムを実装して管理を行っても良い。例えば
アプレットによるCPUの使用は、特定期間中に占める
使用時間の割合として追跡することが可能である。アプ
レットによるCPUの使用が一定の割合を超えたら、ア
プレットによるCPUの使用を完全に停止しなくても、
単に、CPUの使用におけるアプレットの優先度を下げ
れば良い。
The resource management techniques described in connection with FIGS. 2 and 3 work well for resources whose usage limits are absolute, but which can be more easily measured or tracked in a relative manner. For resource types of
The management may be performed by implementing another mechanism. For example, CPU usage by an applet can be tracked as a percentage of time used during a particular period. If the applet's use of the CPU exceeds a certain percentage, even if the applet's use of the CPU does not stop completely,
Simply, the priority of the applet in using the CPU may be lowered.

【0043】図4は、リソースの使用を管理するための
メカニズム間の関係を、本発明の一実施形態に従って示
した図である。図4の手続きを使用して、類似のリソー
スを管理することも当然可能である。先ず操作402に
おいて、リソースコンテキストに関連付けられた全スレ
ッドに対してCPUまたはネットワークの使用を監視す
る。次いで操作404において、第1の閾値を超えたか
否かを決定する。第1の閾値を超えていない場合は、操
作402において、CPUまたはネットワークの使用が
続けて監視される。
FIG. 4 is a diagram illustrating the relationship between mechanisms for managing resource usage, according to one embodiment of the present invention. It is of course possible to manage similar resources using the procedure of FIG. First, in operation 402, CPU or network usage is monitored for all threads associated with the resource context. Next, in operation 404, it is determined whether a first threshold has been exceeded. If the first threshold is not exceeded, operation 402 continues to monitor CPU or network usage.

【0044】第1の閾値を超えている場合は、操作40
6において、リソースコンテキストに関連付けられたス
レッドの優先度を格下げするよう、スケジューラに命令
する。次いで、優先度のバックアップをいつ格上げする
かを決定するため、操作408において、同リソースコ
ンテキストに関連付けられた全スレッドを再度モニタす
る。そして操作410において、リソースの使用が第2
の閾値以下に下がったか否かを決定する。優先度の格下
げおよび格上げの決定に、同一の閾値を使用することも
当然可能である。
If the first threshold is exceeded, the operation 40
At 6, the scheduler is instructed to downgrade the priority of the thread associated with the resource context. Then, in operation 408, all threads associated with the same resource context are again monitored to determine when to promote the priority backup. Then, in operation 410, the use of the resource is
Is determined to be below the threshold of. It is of course possible to use the same threshold value for the decision to downgrade and upgrade the priority.

【0045】CPUまたはネットワークの使用が第2の
閾値以下に下がっていない場合は、操作412におい
て、第1の閾値を依然として超えているか否かを決定す
る。第1の閾値を依然として超えている場合は、操作4
06において、リソースコンテキストに関連付けられた
スレッドの優先度を格下げするよう、スケジューラに再
度命令する。つまり、特定のリソースコンテキストに関
連付けられたスレッドは、CPUまたはネットワークの
使用が第1の閾値を超えている限り、続けて優先度を格
下される。第1の閾値を超えていない場合は、優先度を
再度格下げする(操作414により)かまたは優先度の
バックアップを格上げする(操作406により)かを決
定するため、操作408において、リソースコンテキス
トに関連付けられた全スレッドに対し、そのCPUまた
はネットワークの使用を再度、監視する。
If the CPU or network usage has not fallen below the second threshold, operation 412 determines if the first threshold is still exceeded. If the first threshold is still exceeded, operation 4
At 06, the scheduler is again instructed to downgrade the priority of the thread associated with the resource context. That is, threads associated with a particular resource context continue to be downgraded as long as CPU or network usage exceeds the first threshold. If the first threshold has not been exceeded, the operation 408 associates the resource context with the resource context to determine whether to downgrade the priority again (via operation 414) or upgrade the priority backup (via operation 406). The CPU or network usage is monitored again for all the threads that have been set.

【0046】リソースの使用が第2の閾値以下に下がっ
た場合は、操作414において、リソースコンテキスト
に関連付けられたスレッドの優先度を格上げするよう、
スケジューラに命令する。次いで操作416において、
優先度がもとの優先度以下に下がっているか否かを決定
する。もとの優先度以下に下がっていない場合は、優先
度を格下げする(つまりメモリの消費量が第1の閾値を
超えている)か否かを決定するため、操作402におい
て、リソースコンテキストに関連付けられた全スレッド
に対してCPUまたはネットワークの使用をモニタす
る。もとの優先度以下に下がっている場合は、優先度を
いつ格上げする(つまりメモリの消費量が第2の閾値以
下に下がっている)かを決定するため、操作408にお
いて、CPUまたはネットワークの使用を監視する。
If the use of the resource drops below the second threshold, operation 414 raises the priority of the thread associated with the resource context.
Instruct the scheduler. Then, in operation 416,
Determine whether the priority has dropped below the original priority. If not, the operation 402 associates the resource context with the resource context to determine if the priority should be downgraded (ie, the memory consumption has exceeded the first threshold). Monitor CPU or network usage for all threads. If so, an operation 408 determines whether the priority is to be upgraded (i.e., the memory consumption has dropped below the second threshold). Monitor usage.

【0047】次に、リソースの使用を追跡するためのこ
れらのメカニズムを利用して、特定のコードセットが、
あるタイプのリソースを過度に使用しているか否かを決
定することができる。例えば、特定のリソースコンテキ
ストのリソースカウンタと、関連コードセットとを分析
する(例えば、その特定のリソースに関する既定の制限
と比較する)ことにより、そのリソースコンテキスト
が、特定のリソースタイプを過度に消費しているか否か
(あるいは、過度に消費しようとしているか否か)を決
定しても良い。ある特定のセットの関連コードが、特定
のリソースタイプを過度に消費していると決定された場
合は、さらなる消費を停止および/または阻止するため
の措置が採られる。
Next, using these mechanisms to track resource usage, a particular code set can be
It can be determined whether a certain type of resource is being overused. For example, by analyzing the resource counters for a particular resource context and the associated code set (eg, comparing it to a predefined limit for that particular resource), the resource context may consume too much of a particular resource type. May be determined (or whether it is about to be consumed excessively). If a particular set of related codes is determined to be consuming too much of a particular resource type, steps are taken to stop and / or prevent further consumption.

【0048】図5は、本発明を実現するのに適した、代
表的な汎用コンピュータシステムを示した図である。コ
ンピュータシステム1030は、一次ストレージデバイ
ス1034(読み取り専用メモリ、すなわちROMが代
表的)と、一次ストレージデバイス1036(ランダム
アクセスメモリ、すなわちRAMが代表的)と、を含ん
だメモリデバイスに結合された、任意の数のプロセッサ
1032(中央演算処理装置、すなわちCPUとも呼ば
れる)を備える。このコンピュータシステムは、任意の
適切な形態を採ることができる。例えばこのコンピュー
タシステムは、ナビゲーションシステムまたはテレビの
セットトップボックスに組み込まれていても良い。
FIG. 5 is a diagram showing a typical general-purpose computer system suitable for implementing the present invention. Computer system 1030 includes an optional storage device coupled to a memory device that includes a primary storage device 1034 (typically read-only memory or ROM) and a primary storage device 1036 (typically random access memory or RAM). Processors 1032 (also called central processing units, or CPUs). The computer system may take any suitable form. For example, the computer system may be incorporated into a navigation system or television set-top box.

【0049】コンピュータシステム1030、あるいは
より特定して複数のCPU1032は、当業者には明ら
かなように、仮想マシンをサポートするように構成され
ている。当業者には周知のように、ROMが、データお
よび命令を一方向にCPU1032に伝送する一方で、
RAMは、データおよび命令を双方向に伝送するように
使用されるのが通常である。CPU1032は一般に、
任意数のプロセッサを有することができる。一次ストレ
ージデバイス1034,1036は、ともに任意の適切
なコンピュータ読み取り可能媒体を含むことができる。
通常は大容量のメモリデバイスである二次ストレージメ
ディア1038もまた、CPU1032に双方向に結合
して追加のデータ格納容量を提供している。大容量メモ
リデバイス1038は、コンピュータコードやデータ等
を含んだプログラムを格納するのに使用される、コンピ
ュータ読み取り可能媒体である。代表的な大容量メモリ
デバイス1038として、一次ストレージデバイス10
34,1036より一般に低速な、ハードディスクやテ
ープ等のストレージメディアが挙げられる。大容量メモ
リデバイス938は、磁気もしくは紙のテープ読み取り
装置、またはその他周知な装置の形態を採ることができ
る。ここで、適切な場合には、大容量メモリデバイス1
038内に保持される情報が、RAM1036内にその
一部を占める仮想メモリとして一般的な方式で組み込ま
れ得る点に、留意する必要がある。CD−ROM等の特
定の一次ストレージデバイス1034は、CPU103
2に一方向にデータを引き渡すこともできる。
The computer system 1030, or more specifically, the plurality of CPUs 1032, is configured to support virtual machines, as will be apparent to those skilled in the art. As is well known to those skilled in the art, ROM transmits data and instructions in one direction to CPU 1032, while
RAM is typically used to transfer data and instructions in both directions. CPU 1032 generally comprises
It can have any number of processors. Both primary storage devices 1034, 1036 may include any suitable computer readable media.
A secondary storage medium 1038, typically a large capacity memory device, is also bi-directionally coupled to the CPU 1032 to provide additional data storage capacity. Mass memory device 1038 is a computer-readable medium used to store programs containing computer code, data, and the like. As a typical large-capacity memory device 1038, the primary storage device 10
Storage media such as hard disks and tapes, which are generally slower than 34 and 1036. Mass memory device 938 may take the form of a magnetic or paper tape reader, or other known device. Here, if appropriate, the large-capacity memory device 1
It should be noted that the information held in 038 may be incorporated in a general manner as virtual memory occupying a portion thereof in RAM 1036. A specific primary storage device 1034 such as a CD-ROM
The data can be transferred to one direction.

【0050】CPU1032はまた、1つまたはそれ以
上の入出力デバイス1040に結合されることもでき
る。ここで、入出力デバイスとは、ビデオモニタ、トラ
ックボール、マウス、キーボード、マイクロフォン、タ
ッチディスプレイ、トランスデューサカード読み取り装
置、磁気もしくは紙のテープ読み取り装置、タブレッ
ト、スタイラス、音声もしくは筆跡の認識装置、または
他のコンピュータ等のその他周知な入力デバイスを含
み、これらに限定されない。CPU1032は、コンピ
ュータに接続されても良いし、あるいは、例えばインタ
ーネットやイントラネット等の通信網に、1012とし
て一般に示されるネットワーク接続を使用して結合され
ても良い。このようなネットワーク接続により、CPU
1032は、リソースの使用を管理するための上述した
メカニズムを実施する際に、ネットワークから情報を受
信したりネットワークに情報を出力したりできると考え
られる。これらの情報は、CPU1032で実行される
命令のシーケンスとして表わされることが多く、例えば
搬送波に組み込まれたコンピュータデータ信号の形で、
ネットワークから受信されたりネットワークに出力され
たりすることができる。上述したデバイスおよび材料
は、コンピュータのハードウェア技術およびソフトウェ
ア技術の当業者にとって周知のものである。
CPU 1032 may also be coupled to one or more input / output devices 1040. Here, the input / output device is a video monitor, a trackball, a mouse, a keyboard, a microphone, a touch display, a transducer card reader, a magnetic or paper tape reader, a tablet, a stylus, a voice or handwriting recognition device, or other devices. Other well-known input devices, such as, but not limited to, a computer. CPU 1032 may be connected to a computer or may be coupled to a communication network, such as the Internet or an intranet, using a network connection generally indicated as 1012. With such a network connection, the CPU
It is believed that 1032 can receive information from and output information to the network when implementing the mechanisms described above for managing resource usage. This information is often represented as a sequence of instructions executed by the CPU 1032, for example, in the form of a computer data signal embedded in a carrier wave,
It can be received from or output to the network. The above-described devices and materials will be familiar to those of skill in the computer hardware and software arts.

【0051】以上では、本発明の実施形態を数種類のみ
取り上げたが、本発明は、その趣旨または範囲を逸脱し
ない範囲内ならば、その他多くの特定の形態によって実
現することが可能である。例えば、リソースの管理をと
もなう操作はリオーダ(追加注文)が可能である。ま
た、本発明の趣旨または範囲を逸脱しない範囲内なら
ば、ステップを省略または追加することも可能である。
Although only a few embodiments of the present invention have been described above, the present invention can be implemented in many other specific forms without departing from the spirit or scope thereof. For example, an operation involving resource management can be reordered (additional order). Further, steps may be omitted or added without departing from the spirit or scope of the present invention.

【0052】本発明に従った、リソースの使用を管理す
るための技術は、Java(登録商標)環境との関連の
もとで実装するのに特に適しているものの、一般に、任
意の適切なオブジェクトベース環境に適用することが可
能である。これらの技術は特に、プラットフォーム独立
のオブジェクトベース環境で使用するのに適している。
また、これらのメソッドが、分散オブジェクト指向シス
テムにおいても実現できる点を、理解しておく必要があ
る。
The techniques for managing resource use according to the present invention are particularly suitable for implementation in the context of a Java environment, but generally include any suitable object. It can be applied to the base environment. These techniques are particularly suitable for use in a platform-independent object-based environment.
It is also necessary to understand that these methods can be realized in a distributed object-oriented system.

【0053】また、メモリの使用が閾値を超えた場合に
登録済みのコールバックを開始させたが、これらのコー
ルバックを全く排除することも可能である。関連コード
セットが最大閾値を超えたら、単にさらなるメモリの消
費を阻止または最小化すれば良い。反対に、関連コード
セットによるCPUまたはネットワークの使用が閾値を
超えた場合には登録済みのコールバックを開始させず
に、CPUまたはネットワークの使用が限界に達した場
合にはコールバックを実装することも、当然可能であ
る。また、CPUまたはネットワークの使用が閾値以下
に下がった場合にコールバックを開始することも可能で
ある。
Although the registered callbacks are started when the memory usage exceeds the threshold value, these callbacks can be completely eliminated. Once the relevant code set exceeds the maximum threshold, further memory consumption can simply be prevented or minimized. Conversely, do not initiate a registered callback when CPU or network usage by the associated code set exceeds a threshold, but implement a callback when CPU or network usage reaches a limit. Is of course also possible. It is also possible to initiate a callback when the CPU or network usage drops below a threshold.

【0054】リソースコンテキストがどのリソースの限
界を超えた場合にもリソースの再利用を開始させたが、
リソースの再利用を排除することも、またはある限界を
超えた場合にのみリソースの再利用を開始させること
も、当然可能である。また、リソースコンテキストがリ
ソースの限界を超えたか否かとは関わりなく、平行処理
により単に定期的にリソースの再利用をトリガしても良
い。
When the resource context exceeds the limit of any resource, resource reuse is started.
Of course, it is also possible to exclude resource reuse or to start resource reuse only when a certain limit is exceeded. Also, regardless of whether the resource context has exceeded the resource limit, parallel processing may simply periodically trigger resource reuse.

【0055】したがって、以上で取り上げた実施形態
は、例示を目的としたものであって、本発明の内容を限
定するものではない。このため本発明は、本明細書で特
定した詳細に限定されることなく、添付した特許請求の
範囲の範囲および等価物の範囲内で、種々の変更を加え
ることが可能である。
Therefore, the embodiment described above is for the purpose of illustration, and does not limit the content of the present invention. Thus, the present invention is not limited to the details specified herein, but may be modified within the scope and equivalents of the appended claims.

【図面の簡単な説明】[Brief description of the drawings]

【図1】リソースの使用を管理するためのメカニズム間
の関係を、本発明の一実施形態に従って示した図であ
る。
FIG. 1 illustrates the relationship between mechanisms for managing the use of resources, according to one embodiment of the present invention.

【図2A】メモリを割り当てるためのプロセスを、本発
明の実施形態に従って示したフローチャートである。
FIG. 2A is a flowchart illustrating a process for allocating memory according to an embodiment of the present invention.

【図2B】メモリを割り当てるためのプロセスを、本発
明の実施形態に従って示したフローチャートである。
FIG. 2B is a flowchart illustrating a process for allocating memory according to an embodiment of the present invention.

【図3】図2におけるリソースの再利用の操作を、本発
明の一実施形態に従って示したフローチャートである。
FIG. 3 is a flowchart illustrating an operation of reusing resources in FIG. 2 according to an embodiment of the present invention;

【図4】CPUまたはネットワークの使用を管理するた
めのプロセスを、本発明の一実施形態に従って示したフ
ローチャートである。
FIG. 4 is a flowchart illustrating a process for managing CPU or network usage, according to one embodiment of the present invention.

【図5】本発明を実装するのに適した、代表的な汎用コ
ンピュータシステムを示した図である。
FIG. 5 illustrates an exemplary general purpose computer system suitable for implementing the present invention.

───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ウィリアム・エフ.・フート アメリカ合衆国 カリフォルニア州95014 クパーチノ,#ビー,ウォルナット・サ ークル・サウス,22441 ────────────────────────────────────────────────── ─── Continuation of the front page (71) Applicant 591064003 901 SAN ANTONIO ROAD PALO ALTO, CA 94303, US A. (72) Inventor William F.・ Foot, USA 95014 Cupertino, CA #B, Walnut Circle South, 22441

Claims (37)

【特許請求の範囲】[Claims] 【請求項1】 一組の関連コードセットによる特定のリ
ソースのリソース使用を管理するための方法であって、 前記関連コードに、該関連コードによる前記特定のリソ
ースのリソース使用量を示すリソース標識を関連付け、 前記関連コードが前記特定のリソースのリソース総使用
量を増加または減少させた場合に、前記リソース標識を
更新することを備えた方法。
1. A method for managing resource usage of a particular resource by a set of related codes, wherein the related code includes a resource indicator indicating a resource usage of the particular resource by the related code. Associating; updating the resource indicator if the associated code increases or decreases the total resource usage of the particular resource.
【請求項2】 請求項1記載の方法であって、 前記リソース標識の値は、前記リソース使用の絶対値を
表す方法。
2. The method of claim 1, wherein the value of the resource indicator represents an absolute value of the resource usage.
【請求項3】 請求項1記載の方法であって、 前記リソース標識の値は、前記リソース使用の相対値を
表す方法。
3. The method of claim 1, wherein the value of the resource indicator represents a relative value of the resource usage.
【請求項4】 請求項1ないし請求項3のいずれかに記
載の方法であって、さらに、 前記関連コードに割り当てられた前記特定のリソースの
各リソース部位に、前記関連コードを関連付け、 前記関連コードから割り当てを解除された前記特定のリ
ソースの各リソース部位と前記関連コードとの関連付け
を解消することを備え、 前記リソース標識は、リソース部位が前記関連コードか
ら割り当てを解除された場合に減少し、リソース部位が
前記関連コードに割り当てられた場合に増加する方法。
4. The method according to claim 1, further comprising: associating the relevant code with each resource part of the specific resource allocated to the relevant code; Disassociating each resource part of the specific resource deallocated from a code with the associated code, wherein the resource indicator decreases when a resource part is deallocated from the associated code. , When the resource part is assigned to the related code.
【請求項5】 請求項4記載の方法であって、さらに、 前記リソース標識が既定の最大閾値以下である場合に、
前記特定のリソースを前記関連コードに割り当て、 前記リソース標識が前記既定の最大閾値を超える場合
に、エラーを示し、前記特定のリソースを割り当てない
ことを備えた方法。
5. The method of claim 4, further comprising: if the resource indicator is less than or equal to a predetermined maximum threshold,
Assigning the particular resource to the associated code, indicating an error if the resource indicator exceeds the predetermined maximum threshold, and not assigning the particular resource.
【請求項6】 請求項5記載の方法であって、 前記エラーは、out_of_memory 例外をスローすることに
よって示される方法。
6. The method of claim 5, wherein the error is indicated by throwing an out_of_memory exception.
【請求項7】 請求項4または請求項5に記載の方法で
あって、 前記関連コードは、ガーベッジコレクションの手続きを
経て分離される方法。
7. The method according to claim 4, wherein the related code is separated through a garbage collection procedure.
【請求項8】 請求項1ないし請求項7のいずれかに記
載の方法であって、 前記特定のリソースは、メモリの使用と、オープンファ
イルの使用と、オープンソケットの使用と、モニタの使
用と、からなる群より選択される方法。
8. The method according to claim 1, wherein the specific resources are memory usage, open file usage, open socket usage, and monitor usage. , A method selected from the group consisting of:
【請求項9】 請求項8記載の方法であって、 前記リソース表示は、前記関連コードによって使用され
る前記特定のリソースの割合を示す方法。
9. The method of claim 8, wherein the resource indication indicates a percentage of the particular resource used by the associated code.
【請求項10】 請求項8または請求項9に記載の方法
であって、さらに、 前記特定のリソースと前記関連コードとに、複数の閾値
を関連付け、 前記関連コードによる前記特定のリソースのリソース使
用量が、第1番目の閾値を超えた場合に、登録済みのリ
ソースコールバックを通知することを備えた方法。
10. The method according to claim 8 or claim 9, further comprising: associating a plurality of thresholds with the specific resource and the associated code, and using resource of the specific resource by the associated code. A method comprising: notifying a registered resource callback when the amount exceeds a first threshold.
【請求項11】 請求項10記載の方法であって、さら
に、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第1番目の閾値と異なる値を有した第2番
目の閾値以下に下がった場合に、登録済みのリソースコ
ールバックを通知することを備えた方法。
11. The method according to claim 10, further comprising: a resource usage of the specific resource according to the related code is equal to or less than a second threshold having a value different from the first threshold. A method that includes notifying a registered resource callback when it goes down.
【請求項12】 請求項8記載の方法であって、さら
に、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第1の閾値以下に下がった場合に、登録済
みのリソースコールバックを通知することを備えた方
法。
12. The method of claim 8, further comprising: registering a registered resource callback when a resource usage of the specific resource by the associated code falls below the first threshold. A method with notifying.
【請求項13】 請求項1ないし請求項7のいずれかに
記載の方法であって、 前記特定のリソースは、CPUの使用またはネットワー
クの使用である方法。
13. The method according to claim 1, wherein the specific resource is a use of a CPU or a use of a network.
【請求項14】 請求項13記載の方法であって、さら
に、 前記特定のリソースと前記関連コードとに、閾値を関連
付け、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記閾値を超えた場合に、CPU使用量におけ
る前記関連コードの優先度を格下げすることを示すこと
を備えた方法。
14. The method according to claim 13, further comprising: associating a threshold with the specific resource and the associated code, wherein a resource usage of the specific resource by the associated code exceeds the threshold. Indicating that the priority of the related code in CPU usage is downgraded.
【請求項15】 請求項14記載の方法であって、さら
に、 第2の閾値を前記特定のリソースと、前記関連コードと
に関連付け、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第2の閾値以下に下がった場合に、CPU
の使用についての前記関連コードの優先度を格上げする
ことを示すことを備えた方法。
15. The method of claim 14, further comprising: associating a second threshold with the specific resource and the associated code, wherein the resource usage of the specific resource by the associated code is When the value falls below the second threshold, the CPU
Indicating to raise the priority of the associated code for use of the associated code.
【請求項16】 請求項1ないし請求項15のいずれか
に記載の方法であって、 前記関連コードは、アプレットを代表してスレッドの形
で実行されるように構成されている方法。
16. The method of claim 1, wherein the associated code is configured to execute in a thread on behalf of an applet.
【請求項17】 請求項1ないし請求項16のいずれか
に記載の方法であって、さらに、 各々が、前記関連コードによる複数のリソースのリソー
ス使用量を示す、複数のリソース標識を、前記関連コー
ドに関連付け、 前記関連コードが、前記関連のリソースのリソース総使
用量を増加または減少させた場合に、選択されたリソー
ス標識を更新することを備えた方法。
17. The method according to any one of claims 1 to 16, further comprising a plurality of resource indicators each indicating a resource usage of a plurality of resources by the association code. A method for associating with a code, comprising: updating a selected resource indicator when the associated code increases or decreases the total resource usage of the associated resource.
【請求項18】 請求項17記載の方法であって、 前記リソースは、メモリの使用と、CPUの使用と、ネ
ットワークの使用とを含む方法。
18. The method of claim 17, wherein the resources include memory usage, CPU usage, and network usage.
【請求項19】 請求項18記載の方法であって、 前記リソースはさらに、オープンファイルの使用と、オ
ープンソケットの使用とを含む方法。
19. The method of claim 18, wherein the resources further include using open files and using open sockets.
【請求項20】 リソースの使用を管理するためのコン
ピュータコードを備えたコンピュータ読み取り可能媒体
であって、 前記関連コードに、該関連コードによる前記特定のリソ
ースのリソース使用量を示すリソース標識を関連付ける
ための、コンピュータコードと、 前記関連コードが、前記特定のリソースのリソース総使
用量を増加または減少させた場合に、前記リソース標識
を更新するための、コンピュータコードとを備えたコン
ピュータ読み取り可能媒体。
20. A computer readable medium comprising computer code for managing resource usage for associating a resource indicator indicating resource usage of the particular resource by the relevant code. A computer readable medium comprising: a computer code for updating the resource indicator when the associated code increases or decreases the total resource usage of the specific resource.
【請求項21】 請求項20記載のコンピュータ読み取
り可能媒体であって、さらに、 前記関連コードに割り当てられた前記特定のリソースの
各リソース部位に、前記関連コードを関連付けるため
の、コンピュータコードと、 前記関連コードから割り当てを解除された前記特定のリ
ソースの各リソース部位から、前記関連コードを分離す
るための、コンピュータコードとを備え、 前記リソース標識は、リソース部位が前記関連コードか
ら割り当てを解除された場合に減少し、リソース部位が
前記関連コードに割り当てられた場合に増加する、コン
ピュータ読み取り可能媒体。
21. The computer readable medium according to claim 20, further comprising: a computer code for associating the relevant code with each resource part of the specific resource allocated to the relevant code; Computer code for separating the relevant code from each resource part of the specific resource deallocated from the relevant code, wherein the resource indicator is such that the resource part is deallocated from the relevant code. A computer-readable medium that decreases in cases and increases when a resource portion is assigned to the associated code.
【請求項22】 請求項20または請求項21に記載の
方法であって、さらに、 前記リソース標識が既定の最大閾値以下である場合に、
前記特定のリソースを前記関連コードに割り当てるため
の、コンピュータコードと、 前記リソース標識が前記既定の最大閾値を超える場合
に、エラーを示し、前記特定のリソースを割り当てない
ための、コンピュータコードと、を備えた方法。
22. The method according to claim 20 or claim 21, further comprising: if the resource indicator is less than or equal to a predetermined maximum threshold;
Computer code for assigning the specific resource to the associated code; and computer code for indicating an error and not assigning the specific resource if the resource indicator exceeds the predetermined maximum threshold. The equipped method.
【請求項23】 請求項20ないし請求項22のいずれ
かに記載のコンピュータ読み取り可能媒体であって、 前記特定のリソースは、メモリと、オープンファイル
と、オープンソケットと、モニタと、からなる群より選
択される、コンピュータ読み取り可能媒体。
23. The computer-readable medium according to claim 20, wherein the specific resource is a group consisting of a memory, an open file, an open socket, and a monitor. The computer readable medium selected.
【請求項24】 請求項23に記載のコンピュータ読み
取り可能媒体であって、さらに、 前記特定のリソースと、前記関連コードとに、複数の閾
値を関連付けるための、コンピュータコードと、 前記関連コードによる前記特定のリソースのリソース使
用量が、第1番目の閾値を超えた場合に、登録済みのリ
ソースコールバックを通知するための、コンピュータコ
ードとを備えたコンピュータ読み取り可能媒体。
24. The computer readable medium according to claim 23, further comprising: a computer code for associating a plurality of thresholds with the specific resource and the associated code; A computer-readable medium comprising: computer code for notifying a registered resource callback when a resource usage of a specific resource exceeds a first threshold.
【請求項25】 請求項23記載のコンピュータ読み取
り可能媒体であって、さらに、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第1番目の閾値と異なる値を有した第2番
目の閾値以下に下がった場合に、登録済みのリソースコ
ールバックを通知するための、コンピュータコードを備
えたコンピュータ読み取り可能媒体。
25. The computer-readable medium according to claim 23, further comprising: a second resource having a value different from the first threshold in a resource usage of the specific resource by the related code. A computer-readable medium comprising computer code for notifying a registered resource callback when the value falls below a threshold.
【請求項26】 請求項20ないし請求項22のいずれ
かに記載のコンピュータ読み取り可能媒体であって、 前記特定のリソースは、CPUの使用またはネットワー
クの使用である、コンピュータ読み取り可能媒体。
26. The computer readable medium according to claim 20, wherein the specific resource is a use of a CPU or a use of a network.
【請求項27】 請求項26記載のコンピュータ読み取
り可能媒体であって、さらに、 前記特定のリソースと、前記関連コードとに、閾値を関
連付けるための、コンピュータコードと、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記閾値を超えた場合に、CPUの使用におけ
る前記関連コードの優先度を格下げすることを示すため
の、コンピュータコードとを備えたコンピュータ読み取
り可能媒体。
27. The computer readable medium of claim 26, further comprising: a computer code for associating a threshold with the specific resource and the associated code; and the specific resource by the associated code. And computer code for indicating that if the resource usage exceeds the threshold, the priority of the related code in CPU usage is downgraded.
【請求項28】 請求項27記載のコンピュータ読み取
り可能媒体であって、さらに、 前記特定のリソースと、前記関連コードとに、第2の閾
値を関連付けるための、コンピュータコードと、 前記関連コードによる前記特定のリソースのリソース使
用量が、前記第2の閾値以下に下がった場合に、CPU
の使用における前記関連コードの優先度を格上げするこ
とを示すための、コンピュータコードとを備えたコンピ
ュータ読み取り可能媒体。
28. The computer readable medium of claim 27, further comprising: a computer code for associating a second threshold with the specific resource and the associated code; When the resource usage of a specific resource falls below the second threshold, the CPU
And computer code for indicating that the priority of the associated code is to be raised in the use of the computer-readable medium.
【請求項29】 請求項20ないし請求項28のいずれ
かに記載の方法であって、 前記関連コードは、アプレットを代表してスレッドの形
で実行されるように構成されている方法。
29. The method according to claim 20, wherein the associated code is configured to be executed in a thread on behalf of an applet.
【請求項30】 関連コードセットによるリソース使用
を管理するためのコンピュータシステムであって、 前記関連コードセットに関連付けられたリソースコンテ
キストであって、リソースタイプに関連付けられ、該リ
ソースタイプが前記関連コードセットによってどれだけ
使用されているかを示す、リソース標識を有するリソー
スコンテキストと、 前記リソースコンテキストに関連付けられたリソースオ
ブジェクトであって、前記リソースタイプが前記関連コ
ードセットによってどれだけ使用されるかを示すリソー
スオブジェクトと、 前記関連コードセットが、前記更新後のリソース標識に
関連付けられた前記リソースタイプのリソース使用を増
加させた場合に、前記リソースコンテキストの前記リソ
ース標識を増分させるように構成された、更新メカニズ
ムとを備えたコンピュータシステム。
30. A computer system for managing resource usage by an associated code set, comprising: a resource context associated with the associated code set, associated with a resource type, wherein the resource type is associated with the associated code set. A resource context having a resource indicator indicating how much of the resource type is used by the associated code set. And wherein the associated code set is configured to increment the resource indicator of the resource context when increasing resource usage of the resource type associated with the updated resource indicator. A computer system with an update mechanism.
【請求項31】 請求項30記載のコンピュータシステ
ムであって、 前記リソースオブジェクトは、前記関連コードセットに
よる前記リソースタイプの最大リソース使用量を示す、
関連の最大制限を有しているコンピュータシステム。
31. The computer system of claim 30, wherein the resource object indicates a maximum resource usage of the resource type by the associated code set.
Computer systems that have an associated maximum limit.
【請求項32】 請求項31記載のコンピュータシステ
ムであって、 前記リソースオブジェクトは、前記最大制限より低い第
1の関連の限界を有しており、前記コンピュータシステ
ムは、さらに、 前記関連コードセットによるリソース使用が前記第1の
限界を超えた場合に、該コードセットに警告を発するよ
うに構成されたアラームを備えたコンピュータシステ
ム。
32. The computer system of claim 31, wherein the resource object has a first associated limit lower than the maximum limit, the computer system further comprising: A computer system comprising an alarm configured to alert the code set when resource usage exceeds the first limit.
【請求項33】 請求項32記載のコンピュータシステ
ムであって、 前記アラームはさらに、前記関連コードセットによるリ
ソース使用が前記第1の限界以下に戻った場合に、該コ
ードセットを改めるように構成されているコンピュータ
システム。
33. The computer system of claim 32, wherein the alarm is further configured to revise the code set if resource usage by the associated code set returns below the first limit. Computer system.
【請求項34】 請求項32または請求項33に記載の
コンピュータシステムであって、 前記リソースオブジェクトは、前記第1の限界より小さ
い第2の関連の限界を有し、前記アラームはさらに、前
記関連コードセットによるリソース使用が、前記第1の
限界を超えた後に再び前記第2の限界以下に下がった場
合に、前記関連コードセットを改めるように構成されて
いる、コンピュータシステム。
34. The computer system of claim 32 or claim 33, wherein the resource object has a second associated limit that is less than the first limit, and wherein the alarm further comprises the associated A computer system configured to revise the associated code set if resource usage by the code set falls below the second limit again after exceeding the first limit.
【請求項35】 請求項30ないし請求項34のいずれ
かに記載のコンピュータシステムであって、 前記リソースタイプは、メモリの使用と、CPUの使用
と、ネットワークの使用と、オープンファイルの使用
と、オープンソケットの使用と、モニタの使用と、から
なる群より選択される、コンピュータシステム。
35. The computer system according to claim 30, wherein the resource types are memory usage, CPU usage, network usage, open file usage, A computer system selected from the group consisting of using an open socket and using a monitor.
【請求項36】 請求項30ないし請求項35のいずれ
かに記載のコンピュータシステムであって、 前記更新メカニズムはさらに、前記リソースコンテキス
トの関連コードを代表して割り当てられた前記リソース
タイプの任意のリソース部位に、前記リソースコンテキ
ストをマッピングするように構成されている、コンピュ
ータシステム。
36. The computer system according to any of claims 30 to 35, wherein the update mechanism further comprises: any resources of the resource type assigned on behalf of an associated code of the resource context. A computer system configured to map the resource context to a part.
【請求項37】 請求項30ないし請求項36のいずれ
かに記載のコンピュータシステムであって、 前記リソースコンテキストの前記関連コードセットは、
シングル保護ドメインに関連付けられている、コンピュ
ータシステム。
37. The computer system according to claim 30, wherein the related code set of the resource context is:
A computer system associated with a single protection domain.
JP2000273621A 1999-09-10 2000-09-08 Apparatus and method for managing resource usage Expired - Lifetime JP4786785B2 (en)

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 (en) 2001-05-18
JP4786785B2 JP4786785B2 (en) 2011-10-05

Family

ID=23557628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000273621A Expired - Lifetime JP4786785B2 (en) 1999-09-10 2000-09-08 Apparatus and method for managing resource usage

Country Status (3)

Country Link
US (1) US7028298B1 (en)
EP (1) EP1083485A3 (en)
JP (1) JP4786785B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056011A (en) * 2003-08-08 2005-03-03 Hitachi Ltd Unitary control method for amount of use of disk in virtual unified network storage system
JP2006236351A (en) * 2005-02-22 2006-09-07 Microsoft Corp Resource management method and system
JP2009037611A (en) * 2002-04-26 2009-02-19 Ricoh Co Ltd Program for controlling launch
JP2014512048A (en) * 2011-06-14 2014-05-19 エンパイア テクノロジー ディベロップメント エルエルシー Billing with awareness of peak performance for cloud computing environments
JP2017525035A (en) * 2014-07-10 2017-08-31 オラクル・インターナショナル・コーポレイション System and method for resource isolation and consumption in a multi-tenant application server environment
US10606748B2 (en) 2017-06-02 2020-03-31 Canon Kabushiki Kaisha Apparatus and method for garbage collection on socket objects
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)

* Cited by examiner, † Cited by third party
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
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
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
NZ534314A (en) * 2002-01-30 2005-04-29 Real Entpr Solutions Dev B Method of setting priority levels in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program therefor
JP2003330732A (en) * 2002-05-17 2003-11-21 Canon Inc Image forming apparatus, control method and control program
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
US9361156B2 (en) 2005-03-14 2016-06-07 2236008 Ontario Inc. Adaptive partitioning for operating system
US8387052B2 (en) * 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
JP2007004595A (en) * 2005-06-24 2007-01-11 Hitachi Ltd Computer control method, computer, information processing system and program
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 (en) * 2007-09-19 2013-01-23 国际商业机器公司 Method and system for associating event and assembly while working
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
US20100017583A1 (en) * 2008-07-15 2010-01-21 International Business Machines Corporation Call Stack Sampling for a Multi-Processor 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
US8312268B2 (en) 2008-12-12 2012-11-13 International Business Machines Corporation Virtual machine
JP5343586B2 (en) * 2009-01-29 2013-11-13 富士通株式会社 Information processing apparatus, information processing method, and computer program
US9176783B2 (en) 2010-05-24 2015-11-03 International Business Machines Corporation Idle transitions sampling with execution context
US20110289482A1 (en) * 2010-05-24 2011-11-24 Avaya Inc. Performance detection and debugging of applications
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 (en) * 2011-03-07 2015-04-30 株式会社リコー Information processing apparatus, control method, control program, and recording medium
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 (en) * 2018-10-23 2019-03-08 数贸科技(北京)有限公司 Transmission method, device and the electronic equipment of cross-thread calls chain context
US20210184977A1 (en) * 2019-12-16 2021-06-17 Citrix Systems, Inc. Cpu and priority based early drop packet processing systems and methods

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0253150A (en) * 1988-08-17 1990-02-22 Nec Corp Check system for memory allotment value
JPH02297233A (en) * 1989-05-11 1990-12-07 Mitsubishi Electric Corp Memory control method
JPH08166888A (en) * 1994-12-14 1996-06-25 Nec Corp Memory controller
JPH10320266A (en) * 1997-03-19 1998-12-04 Fujitsu Ltd Method and device for detecting memory return miss in computer system and recording medium for the method and device

Family Cites Families (52)

* Cited by examiner, † Cited by third party
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 (en) * 1993-02-24 1994-09-09 Matsushita Electric Ind Co Ltd Information processor
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 (en) * 1995-12-11 2000-12-05 ヒューレット・パッカード・カンパニー Method of accessing service resource item used in telecommunications 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
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
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
US6363411B1 (en) * 1998-08-05 2002-03-26 Mci Worldcom, Inc. 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
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
US6093216A (en) * 1998-05-29 2000-07-25 Intel Corporation Method of run-time tracking of object references in Java programs
US6363421B2 (en) * 1998-05-31 2002-03-26 Lucent Technologies, Inc. Method for computer internet remote management of a telecommunication network element
US6279034B1 (en) * 1998-06-03 2001-08-21 International Business Machines Corporation Distributed monitor timer service for use in a distributed computing environment
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
US6259448B1 (en) * 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
JP3597051B2 (en) * 1998-07-31 2004-12-02 株式会社ソニー・コンピュータエンタテインメント Data processing system and method, and data processing apparatus and method
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 (en) * 1998-12-08 2000-06-23 Fujitsu Ltd System and method for distributed processing, computer- readable recording medium with program for computer to execute the same method recorded therein, server device and client device
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
US6327702B1 (en) * 1998-12-30 2001-12-04 Microsoft Corporation Generating a compiled language program for an interpretive runtime environment
US6295602B1 (en) * 1998-12-30 2001-09-25 Spyrus, Inc. Event-driven serialization of access to shared resources
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0253150A (en) * 1988-08-17 1990-02-22 Nec Corp Check system for memory allotment value
JPH02297233A (en) * 1989-05-11 1990-12-07 Mitsubishi Electric Corp Memory control method
JPH08166888A (en) * 1994-12-14 1996-06-25 Nec Corp Memory controller
JPH10320266A (en) * 1997-03-19 1998-12-04 Fujitsu Ltd Method and device for detecting memory return miss in computer system and recording medium for the method and device

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009037611A (en) * 2002-04-26 2009-02-19 Ricoh Co Ltd Program for controlling launch
JP4565024B2 (en) * 2002-04-26 2010-10-20 株式会社リコー Application program, image forming apparatus, and application program execution method
JP2005056011A (en) * 2003-08-08 2005-03-03 Hitachi Ltd Unitary control method for amount of use of disk in virtual unified network storage system
JP2006236351A (en) * 2005-02-22 2006-09-07 Microsoft Corp Resource management method and system
JP2014512048A (en) * 2011-06-14 2014-05-19 エンパイア テクノロジー ディベロップメント エルエルシー Billing with awareness of peak performance for cloud computing environments
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 (en) * 2014-07-10 2017-08-31 オラクル・インターナショナル・コーポレイション System and method for resource isolation and consumption in a multi-tenant application server environment
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
EP1083485A2 (en) 2001-03-14
US7028298B1 (en) 2006-04-11
EP1083485A3 (en) 2004-02-25
JP4786785B2 (en) 2011-10-05

Similar Documents

Publication Publication Date Title
JP4786785B2 (en) Apparatus and method for managing resource usage
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
US9613073B2 (en) Managing object lifetime in a cyclic graph
US7310718B1 (en) Method for enabling comprehensive profiling of garbage-collected memory systems
US7840773B1 (en) Providing memory management within a system management mode
KR100900439B1 (en) Method and Apparatus for managing out-of-memory in embedded system
US6829772B2 (en) Apparatus and methods for communicating between resource domains
US8775749B2 (en) Demand based memory management of non-pagable data storage
US7822938B2 (en) System and method for performing garbage collection based on unmanaged memory allocations
JP2010272059A (en) Memory management method computer system and program
JP2006172495A (en) Program control apparatus and method, and program recording medium
JP4345748B2 (en) Memory allocation device, memory allocation method, and program recording medium
Chen et al. mBalloon: enabling elastic memory management for big data processing
JP2003330741A (en) Information processor

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