JP4054418B2 - 分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法 - Google Patents
分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法 Download PDFInfo
- Publication number
- JP4054418B2 JP4054418B2 JP29354697A JP29354697A JP4054418B2 JP 4054418 B2 JP4054418 B2 JP 4054418B2 JP 29354697 A JP29354697 A JP 29354697A JP 29354697 A JP29354697 A JP 29354697A JP 4054418 B2 JP4054418 B2 JP 4054418B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- garbage collection
- lease period
- request
- distributed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/433—Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は、一般に、コンピューターシステムのためのガーベッジコレクションに関し、更に詳しくは、リファレンスと結合し、あるいは関連しているリソースを収集するための耐故障性の分散ガーベッジコレクションの方法に関する。
【0002】
【従来の技術】
適切なリソース管理は、コンピュータの効率的及び効果的使用のための重要な観点である。一般に、リソース管理には、適切な時、例えば、要求者がもはやリソースを要求しない時にリソースの割り当てを解除することのみならず、要求に応じてリソース(例えば、メモリー)を割り当てることも含まれる。一般に、リソースには、コンピュータ内で実行する演算の構成要素(例えば、アプリケーション、プログラム、アプレットなど)によって引用されるデータが含まれる。
【0003】
実際には、コンピュータ上で実行しているアプリケーションがリソースを参照するためにシークする時には、コンピュータは、アプリケーションが適切にそれらを参照することができるように、最初にリソースを割り当てるか、あるいは指定しなければならない。アプリケーションが、もはやリソースを参照しないときは、コンピュータは、再使用のためにそのリソースの割り当てを解除するか、あるいはリクレームすることができる。コンピュータ内では、各リソースは、それによってそのリソースが引用可能な唯一の「ハンドル」を持っている。そのハンドルは、アドレス、配列インデックス、特有の値、ポインター等のような、様々な方法によって与えられる。
【0004】
リソース管理は、1台のコンピュータにとっては比較的単純である。なぜならば、アプリケーションがもはやそれらを参照しない時、あるいは停電後のように、リソースがリクレームされることができる時を示す事象は、決定することが容易だからである。多数のコンピュータを接続した分散システムのためのリソース管理は、数台の異なるコンピュータ内のアプリケーションが同一のリソースを使っていることもあるので、より困難である。
【0005】
分散システムの分断は、不適切かつ先走ったリソースのリクレーム、あるいはリソースのリクレームの失敗の原因となる。例えば、分散システムにおいて異なるコンピュータ上で実行されている多数のアプリケーションは、他の機械上に配置されているリソースを参照するかもしれない。もし、リソースが配置されているコンピュータと、それらのリソースを参照しているアプリケーションとの間の接続が途切れるならば、コンピュータは、早まってそのリソースをリクレームすることもあり得る。代わりに、コンピュータは、アプリケーションがそのリソースにアクセスすることに失敗してから長期間経過しているにもかかわらず、永続的にそのリソースを保持することもありうる。
【0006】
これらの問題は、ネットワークリソースを管理するためのシステムの発展をもたらし、その一つは、「分散ガーベッジコレクション」として知られている。この用語は、ネットワーク中の異なるコンピュータ上で実行されている一つのアプリケーションあるいはアプリケーション群によって用いられているリソースを自動的に管理する、分散システムのための言語又は実行時間システムによって与えられる機能を表している。
【0007】
一般に、ガーベッジコレクションは、リソースがもはやアプリケーションのいかなる部分によっても引用されない時に、リソースは、将来の使用のために開放されるという概念を用いている。分散ガーベッジコレクションは、いかなるコンピュータ上のアプリケーションもリソースを参照しない時にリソースをリクレームすることにより、この概念を、分散コンピューティングの領域に拡張する。
【0008】
分散ガーベッジコレクションは、割り当てられたリソースとそれらのリソースのリファレンスとの間の保全性を保持しなければならない。換言すれば、そのシステムは、ネットワーク中のいずれかのコンピュータ上で実行されているアプリケーションがそのリソースの参照を続けている時には、リソースの割り当てを解除したり、あるいはリソースを開放することが許されない。「リファレンスの保全性」と称するこのリファレンスとリソースの結合は、リファレンスが参照するリソースへのアクセスを常に承認するということことを保証するものではない。例えば、ネットワークの故障は、そのようなアクセスを不可能にする。しかしながら、保全性は、もし、そのリファレンスがいずれかのリソースへのアクセスを得るために用いられたならば、そのリソースは、そのリファレンスが最初に与えられたリソースと同一のリソースであるということを保証するものである。
【0009】
ガーベッジコレクションが用いられる分散システムは、また、有限の未来におけるある時点においてもはや引用されなくなったリソースをリクレームしなければならない。換言すれば、そのシステムは、「記憶漏れ」に対する保証を与えなければならない。記憶漏れは、全てのアプリケーションがリソースに対するリファレンスを落としたが、例えば、いくつかのアプリケーションが未だそのリソースを参照しているという誤った決定をしたために、システムが、再使用のためにリソースをリクレームすることに失敗した時に生ずる。
【0010】
リファレンスの保全性の故障と記憶漏れは、しばしば、リソースを引用しているアプリケーションとそれらのリソースの割当及び割当解除を管理しているガーベッジコレクションシステムとの間の分断の原因となる。例えば、リソースを参照しているアプリケーションとそのリソースを管理しているガーベッジコレクションシステムとの間のネットワーク結合の分断は、ガーベッジコレクションシステムが、リソースのリクレームをすべきか否か及びリソースをいつリクレームすべきかを決定することを妨げるかもしれない。代わりとして、ガーベッジコレクションシステムは、アプリケーションが予め定められた時間内にリソースにアクセスしなかったので、そのリソースを収集してもよいということを誤って決定するかもしれない。
【0011】
分散ガーベッジコレクションのメカニズムが記憶漏れを起こすことなくリファレンスの保全性を保持するということを保証することを試みることにより、その分散ガーベッジコレクションのメカニズムを改善するために、多くのテクニックが用いられている。一つのありふれたアプローチは、リファレンスカウントの形式を用いている。そこでは、カウントは、各リソースを参照しているアプリケーションの数を保持している。リソースのカウントがゼロになるとき、ガーベッジコレクションシステムは、そのリソースをリクレームすることができる。
【0012】
しかしながら、そのようなリファレンスカウントの機構は、リソースが対応するリファレンスカウンターと共に作られる時にのみ動作する。この場合、ガーベッジコレクションシステムは、追加のアプリケーションがそのリソースを参照するときには、そのリソースのリファレンスカウントを増加させ、あるアプリケーションがもはやそのリソースを参照しない時には、カウントを減少させる。
【0013】
しかしながら、リファレンスカウントの機構は、特に、分散システムにおいて故障を生ずるという問題に直面している。そのような故障は、リソースはもはや引用されないということをガーベッジコレクションシステムに知らせるメッセージの伝達を妨げる、コンピュータもしくはアプリケーションの故障、又はネットワークの故障という形をとる。もし、メッセージがネットワークが分断しているために伝達されないならば、不要情報収集システムは、いつリソースをリクレームすべきかわからない。
【0014】
そのような故障を避けるために、いくつかのありふれたリファレンスカウントの機構には、「キープアライブ」メッセージが含まれている。これは、また、「ピンバック」とも称されている。この機構によれば、ネットワーク中のアプリケーションは、リソースを監視しているガーベッジコレクションシステムに対してメッセージを送り、そのアプリケーションがなお通信可能であることを示す。これらのメッセージは、ガーベッジコレクションシステムがリソースに対するリファレンスを落とすのを妨げる。
【0015】
そのような「キープアライブ」メッセージの受信の失敗は、ガーベッジコレクションシステムが、あるリソースのためのリファレンスカウントを減少させることができること、そしてすなわち、そのカウントがゼロになるときは、ガーベッジコレクションシステムは、そのリソースをリクレームするかもしれないということを意味している。しかしながら、これは、ネットワークが故障しているために、「キープアライブ」メッセージを受け取ることに失敗したことから、リファレンスカウントがゼロへ到達し、それに続いて、リソースの早まったリクレームが生ずる。これは、リファレンスの保全性の必要条件を乱すものである。
【0016】
ガーベッジコレクションシステムにおけるリファレンスの保全性の問題を解決するために提案された他の方法は、リファレンスカウントのみならず、リソースを参照するコンピュータの各構成要素に対応する識別子もまた保持することである。A.Birrell他、「ネットワークの目的物のための分散ガーベッジコレクション」、No.116、ディジタル システムス リサーチ センター、1993年12月15日参照。
【0017】
この方法は、リファレンスカウントの機構と同一の問題に悩まされている。さらに、この方法は、分散形システム内で不必要な通信を増加させ、かつ記憶のための必要条件(すなわち、各リソースを参照するアプリケーションに対応する識別子のリスト)を追加するオーバーヘッドを付加した唯一の識別子を、各リソースを参照するコンピュータの各構成要素に与えることを必要とする。
【0018】
【発明が解決しようとする課題】
本発明が解決しようとする課題は、記憶条件の追加や不必要な通信の増大を招くことなく、リファレンスの保全性が維持され、かつ記憶漏れを起こすことのない分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータプログラム生産物、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法を提供することにある。
【0019】
【課題を解決するための手段】
上記課題を解決するために、本発明に係る分散ガーベッジコレクションのためのリソースの管理方法は、リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信する受信工程と、承認されたリース期間、前記リソースに対する共有アクセスを許可する許可工程と、前記プロセスに前記承認されたリース期間を通知する通知工程と、前記承認されたリース期間が終了した時に前記リソースの割当を解除する割当解除工程とを備えていることを要旨とするものである。
【0020】
また、本発明に係る他の分散ガーベッジコレクションのためのリソースの管理方法は、あるリース期間、あるリソースに対してアクセスすることをプロセスから要求する工程と、前記リソースに対する共有アクセスが許可されている間、承認されたリース期間を前記プロセスから受信する工程と、前記承認されたリース期間が終わりかけているが、前記リソースへのアクセスが完了していないという決定に基づいて、新たなリース期間の要求を前記プロセスに対して送信する工程とを備えていることを要旨とするものである。
【0021】
本発明に係る分散ガーベッジコレクションのための装置は、リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信するように構成された受信モジュールと、承認されたリース期間、前記リソースへの共有アクセスを許可するように構成されたリソースアロケーターと、前記プロセスに前記承認されたリース期間を通知するように構成された通知モジュールと、前記承認されたリース期間が終了した時に前記リソースの割当を解除するように構成されたリソースディアロケーターとを備えていることを要旨とするものである。
【0022】
また、本発明に係る他の分散ガーベッジコレクションのための装置は、あるリース期間、あるリソースに対してアクセスすることをプロセスから要求するように構成された要求モジュールと、前記リソースに対する共有アクセスが許可されている間、承認されたリース期間を前記プロセスから受信するように構成された受信モジュールと前記承認されたリース期間が終わりかけているが、前記リソースへのアクセスが完了していないという決定に基づいて、新たなリース期間についての他の要求を、前記プロセスに対して送信するように構成された第2送信モジュールとを備えていることを要旨とするものである。
【0023】
本発明に係る分散ガーベッジコレクションのためのコンピュータプログラム生産物は、リソースを管理するために具体化されたコンピュータで読み取り可能なコードを有するコンピュータ使用可能媒体を備えたコンピュータプログラム生産物において、前記コンピュータ使用可能媒体は、リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信するように構成された受信モジュールと、承認されたリース期間、前記リソースへの共有アクセスを許可するように構成されたリソースアロケーターと、前記承認されたリース期間を通知するように構成された通知モジュールと、前記承認されたリース期間が終了した時に前記リソースの割当を解除するように構成されたリソースディアロケーターとを備えていることを要旨とするものである。
【0024】
また、本発明に係る他の分散ガーベッジコレクションのためのコンピュータプログラム生産物は、リソースを管理するために具体化されたコンピュータで読み取り可能なコードを有するコンピュータ使用可能媒体を備えたコンピュータプログラム生産物において、前記コンピュータ使用可能媒体は、あるリース期間、あるリソースに対してアクセスすることをプロセスから要求するように構成された要求モジュールと、前記プロセスが前記リソースに対する共有アクセスを許可している間、承認されたリース期間を前記プロセスから受信するように構成された受信モジュールと、前記承認されたリース期間が終わりかけているという決定に基づいて、新たなリース期間についての他の要求を、前記プロセスに対して送信するように構成された送信モジュールとを備えていることを要旨とするものである。
【0025】
本発明に係る分散ガーベッジコレクションのためのコンピュータシステムは、コンピュータプロセッサーと、前記コンピュータプロセッサーと有効に接続されているメモリーと、前記メモリーにより前記コンピュータプロセッサー中で実行するコンピュータプロセスを備え、前記コンピュータプロセスは、リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信するように構成された受信モジュールと、承認されたリース期間、前記リソースに対する共有アクセスを許可するように構成されたリソースアロケーターと、前記承認されたリース期間を通知するように構成された通知モジュールと、前記承認されたリース期間が終了した時に前記リソースの割当を解除するように構成されたリソースディアロケーターとを備えていることを要旨とするものである。
【0026】
また、本発明に係る他の分散ガーベッジコレクションのためのコンピュータシステムは、コンピコンピュータプロセッサーと、前記コンピュータプロセッサーと有効に接続されているメモリーと、前記メモリーにより前記コンピュータプロセッサー中で実行するコンピュータプロセスを備え、前記コンピュータプロセスは、あるリース期間、あるリソースに対してアクセスすることをプロセスから要求するように構成された要求モジュールと、前記プロセスが前記リソースに対する共有アクセスを許可している間、承認されたリース期間を前記プロセスから受信するように構成された受信モジュールと、前記承認されたリース期間が終わりかけているという決定に基づいて、新たなリース期間についての他の要求を、前記プロセスに対して送信するように構成された送信モジュールとを備えていることを要旨とするものである。
【0027】
さらに、本発明に係る分散ガーベッジコレクションのためのプラットフォーム間に分散したリソースの割当及び割当解除方法は、複数のプラットフォームを有する分散処理システムにおいて、サーバープラットフォームで実行される以下の工程、すなわち、
(a) システムリソースに対するリファレンス及び要求されたリース期間を含むリクエスタープラットフォームからの要求であって、
前記対応するリクエスタープラットフォームが前記要求中において前記要求された期間、前記リファレンスされたシステムリソースへのアクセスをシークすることを示している要求を受信する工程と、
(b) (i) 前記要求された各リース期間に応答して設定される、対応する承認期間であって、要求に関連する前記リファレンスされた各システムリソースが前記プラットフォームによってアクセスされることが可能となる期間を示している承認期間を設定すること、及び
(ii) 対応するリファレンスカウンターであって、要求の受信によって決定される前記対応するシステムリソースがアクセスしている前記プラットフォームの数を示しているリファレンスカウンターを増加させること、
により前記リファレンスされた各システムリソースを割り当てる工程と、
(c) 関連する要求に応答して、関連する要求中でリファレンスされた前記リソースのための前記承認期間を指定する前記リクエスタープラットフォームに対する応答を送信する工程と、
(d) (i) リファレンスされた各システムリソースのための前記承認期間が終了した時、又は
(ii) 前記対応するリファレンスカウンターが、いかなるリクエスタープラットフォームも、現在、前記リファレンスされた各システムリソースに対するアクセスをシークしていないということを示す状態である時に、
前記リファレンスされた各システムリソースの割当を解除するためのガーベッジコレクションプロセスを起動する工程とを備えたことを要旨とするものである。
【0028】
上記構成を有する本発明に係るリソースの管理方法によれば、リファレンスの保全性は、ある一定の期間、すなわち、分散システム中のパーティ、例えば、リソースに対するリファレンスを保持しているアプリケーション及びそのリソースを管理しているガーベッジコレクションシステムが、そのリソースとそのリソースに対するリファレンスとが保証されることについて合意している期間、リソースをリースすることによって、大きな記憶漏れを伴うことなく保証される。
【0029】
そのリース期間が終了したときには、そのリソースに対するリファレンスが継続するという保証は、消滅し、ガーベッジコレクションシステムにそのリソースをリクレームすることを許可する。なぜならば、そのリソースに対するリファレンスを保持しているアプリケーションと、そのリソースを管理しているガーベッジコレクションシステムは、有限の保証されたリース期間について合意しており、双方とも、いつそのリースが終了するか、すなわちいつその保証が終了するかを知ることができるからである。これにより、リファレンスのリース期間中はリファレンスの保全性が保証され、ネットワークエラーに起因して発生するリソースの開放失敗を回避することが可能となる。
【0030】
【発明の実施の形態】
以下に、添付した図面の記載に基づいて、本発明の実施の形態を詳細に説明する。可能な限り、同一又は類似の部分について言及する図面及び以下の記述全体を通して、同一の参照番号を使用する。
【0031】
本発明は、ありふれた分散処理システムの構成によって組織されたコンピュータを用いて実行することができる。しかしながら、本発明を実行するための構成と手順は、ありふれたものではない。なぜならば、それらは、リファレンスの保全性を保証し、記憶漏れを排除する分散ガーベッジコレクション機構を与えるものだからである。
【0032】
(A.総括)
分散処理システム中にある各コンピュータに配置されている方法呼出要素(以下、「MI要素」という)が、本発明に係る分散ガーベッジコレクション機構を実行する。MI要素は、好ましくは、プログラム言語JAVA(登録商標)によって書かれた多くのソフトウェアモジュールからなっている。
【0033】
一般に、分散処理システム中のアプリケーションが、分散リソースに対するリファレンスを、ネームの索引あるいは他の方法によって、ある他のコールに対するリターン値として取得し、そのリソースへのアクセスをシークする時はいつでも、そのアプリケーションは、そのリソースに対し、あるいはそのリソースを管理するMI要素に対してコールを行う。
【0034】
マネージングMI要素と呼ばれるこのMI要素は、そのリソースに対して突出しているリファレンス数のトラックをキープする。あるリソースに対するリファレンスの数がゼロの時は、マネージングMI要素は、そのリソースをリクレームすることができる。あるリソースに対するリファレンス数のカウントは、一般に、「リファレンスカウント」と呼ばれており、リファレンスカウントを増加させるコールは、「ダーティーコール」と称される。
【0035】
アプリケーションが、もはや分散リソースを要求しない時は、アプリケーションは、そのリソースに対しあるいはマネージングMI要素に対して、異なるコールを送信する。このコールの受信に基づき、マネージングMI要素は、そのリソースのリファレンスカウントを減少させる。このリファレンスを落とすためのコールは、「クリーンコール」と称される。
【0036】
本発明に係る実施の形態によれば、ダーティーコールには、リース期間と呼ばれる、そのリソースに対するリファレンスのための要求された時間間隔を含めることができる。ダーティーコールの受信に基づき、マネージングMI要素は、リースが承認された期間を含んでいるリターンコールを送信する。すなわち、マネージングMI要素は、突出したリファレンスの数と同様に、それらのリファレンスのためのリース期間もトラックする。その結果、あるリソースに対するリファレンスカウントがゼロになった時、あるいはそのリソースのためのリース期間が終了した時には、マネージングMI要素は、そのリソースをリクレームすることができる。
【0037】
(B.手順)
MI要素中のアプリケーションコールプロセッサーは、図1に図示されたアプリケーションコール手順100のステップを実行する。マネージングMI要素中のサーバーコールプロセッサーは、それぞれ図2〜4に図示される、手順200、300及び400のステップを実行する。マネージングMI要素のガーベッジコレクターは、サーバーコールプロセッサーからの命令に従って、それ以前にリファレンスと結合していたリソースをリクレームするために通常の手順を実行する。従って、ガーベッジコレクターの通常の手順については、説明を省略する。
【0038】
(1.アプリケーションコールプロセッサー)
図1は、分散処理システム中に配置されている同一又は他のMI要素によって管理されるリソースに対するリファレンスのためのアプリケーションの要求を取り扱うために、MI要素のアプリケーションプロセッサーが使用する手順100のフロー図を示したものである。
【0039】
アプリケーションがあるリソースに対するリファレンスを取得した後、アプリケーションコールプロセッサーは、リソースのリファレンス及び要求されたリース期間を含むダーティーコールを、そのリソースのためのマネージングMI要素に対して送信する(ステップ110)。ダーティーコールは、リソースそれ自体に対してあるいはマネージングMI要素に対して向けられる。
【0040】
次いで、アプリケーションコールプロセッサーは、マネージングMI要素からのリターンコールを待ち、そして受信する(ステップ120)。そのリターンコールには、ダーティーコールのリファレンスがそのリソースと結合するであろうということをマネージメントMI要素が保証する期間、すなわち、承認されたリース期間が含まれている。換言すれば、マネージングMI要素は、その承認期間、ダーティーコールのリファレンスに対応するリソースを収集しないことに同意する。もし、マネージングMI要素が承認期間を与えないか、あるいはリースの要求を拒絶するならば、アプリケーションコールプロセッサーは、承認期間を受信するまで、別のダーティーコールを送信しなければならない。
【0041】
アプリケーションコールプロセッサーは、アプリケーションによるそのリファレンスの使用を監視し、そのアプリケーションが、アプリケーションコールプロセッサーに対し、そのリファレンスがもはや要求されないということを明確に知らせた時、又は、そのアプリケーションプロセッサーが、自分自身でその決定を下したの時のいずれかの時(ステップ130)には、アプリケーションコールプロセッサーは、マネージングMI要素に対してクリーンコールを送信する(ステップ140)。ダーティーコールに用いられた方法と同様の方法により、クリーンコールは、リファレンスされたリソースに向けられ、マネージングMI要素は、クリーンコールを処理する。続いて、アプリケーションコールプロセッサーは、アプリケーションによって使用されているリファレンスのリストからそのリファレンスを削除する(ステップ150)。
【0042】
もし、アプリケーションが、いまだリファレンスをやめていない(ステップ130)が、アプリケーションコールプロセッサーが、そのリファレンスのための承認期間が終了しそうであると判断する場合(ステップ160)には、次に、アプリケーションコールプロセッサは、そのリソースに対するリファレンスが、アプリケーションに代わってマネージングMI要素によって保持されているということを保証するために、ステップ110とステップ120を繰り返す。
【0043】
(2.サーバーコールプロセッサー)
MI要素のサーバーコールプロセッサーは、3つの主要な手順を実行する。すなわち、(1)ダーティーコールを処理すること、(2)入ってくるクリーンコールを処理すること、及び(3)適切なときに、リソースをリクレームするためのガーベッジコレクションサイクルを起動させること、である。
【0044】
(i.ダーティーコール)
図2は、MIソフトウェア要素が管理するリファレンスされたリソースに対する要求、すなわちダーティーコールを処理するために、MI要素のサーバーコールプロセッサーが使用する手順200のフロー図である。これらの要求は、分散処理システム中にあるMI要素のアプリケーションコールプロセッサーからくるものであり、そのアプリケーションコールプロセッサーには、要求を処理するサーバーコールプロセッサーと同じMI要素中のアプリケーションコールプロセッサーも含まれている。
【0045】
最初に、サーバーコールプロセッサーは、ダーティーコールを受信する(ステップ210)。次いで、サーバーコールプロセッサーは、受入可能な承認期間を決定する(ステップ220)。承認期間は、要求されたリース期間、あるいは他の期間と同一でもよい。サーバーコールプロセッサーは、要求されたリソースの量及び同一のリソースに対してそれ以前に承認された他の多くの承認期間を含む多数の条件に基づいて適切な承認期間を決定する。
【0046】
リソースがダーティーコールのリファレンスにより未だ割り当てられていないとサーバーコールプロセッサーが判断した時(ステップ230)には、サーバーコールプロセッサーは、要求されたリソースを割り当てる(ステップ240)。
【0047】
次いで、サーバーコールプロセッサーは、ダーティーコールのリファレンスに対応するリファレンスカウントを増加させ(ステップ250)、リファレンス・リソース結合のための受入可能な承認期間を設定し(ステップ260)、アプリケーションプロセッサーに対し承認期間と共にリターンコールを送信する(ステップ270)。このようにして、サーバーコールプロセッサーは、その制御下にあるリソースに対するリファレンスに注意しながら、入ってくるダーティーコールを制御する。
【0048】
アプリケーションは、現在のリースが終了する前に、拡張要求を伴うダーティーコールを送信することによって、リースを延長することができる。手順200において示したように、リースを拡張するための要求は、リースのための最初の要求と全く同様に扱われる。拡張は、単に、リファレンスカウントがゼロにならない限り、ある付加的な期間、リソースはリクレームされないということを意味するにすぎない。
【0049】
(ii.クリーンコール)
MI要素のサーバーコールプロセッサーは、また、アプリケーションコールプロセッサーから入ってくるクリーンコールも処理する。分散処理システム中のアプリケーションがもはやリソースに対するリファレンスを要求しない時は、アプリケーションは、そのリソースが再使用のためにリクレームされるように、そのリファレンスのためのリソースを管理するMI要素に知らせる。図3は、MI要素のサーバーコールプロセッサーがクリーンコールを処理するために使用するステップを有する手順300のフロー図を示している。
【0050】
サーバーコールプロセッサーが、MI要素が管理するリソースに対するリファレンスと共にクリーンコールを受信した時(ステップ310)は、サーバーコールプロセッサーは、対応するリファレンスカウントを減少させる(ステップ320)。クリーンコールは、そのリソースを監視し、かつそのコールを処理するための手順300を実行するとサーバーコールプロセッサーと共に、そのリソースに送信される。続いて、サーバーコールプロセッサーは、受信を承認するために、クリーンコールを送信しているMI要素に対してリターンコールを送信する(ステップ330)。本発明に係る実施の形態によれば、リファレンスを落とすためのクリーンコールは拒絶されないが、承認されなければならない。
【0051】
(iii.ガーベッジコレクション)
サーバーコールプロセッサーは、また、もはやリソースに対してリファレンスがなされないか、あるいはそのリソースのための合意されたリース期間が終了したかのいずれかを決定したそのリソースをリクレームするために、ガーベッジコレクションサイクルを起動させる。図4に示した手順400は、サーバーコールプロセッサーがガーベッジコレクションサイクルを起動するために使用するステップのフロー図を示している。
【0052】
サーバーコールプロセッサーは、リファレンスカウント及び承認されたリース期間を監視し、MI要素によって管理されているあるリソースについてリファレンスカウントがゼロであるか否か、あるいはあるリファレンスのための承認期間が終了したか否かを決定する(ステップ410)。いずれかの条件が存在するときは、サーバーコールプロセッサーは、そのリソースのガーベッジコレクションを起動する(ステップ420)。そうでない場合は、サーバーコールプロセッサーは、リファレンスカウントと承認されたリース期間の監視を続行する。
【0053】
(C.コールフロー)
図5は、分散処理システム内にあるMI要素間のコールの流れを模式的に表した図である。マネージングMI要素525は、リソース530に対するリファレンスを監視することによって、リソース530を管理する(ガーベッジコレクト505参照)。マネージングMI要素525は、リソースを管理するので、マネージングMI要素525のサーバーコールプロセッサーは、ここに記載されたコールフローの処理を実行する。
【0054】
図5は、また、アプリケーション510及び540が、それぞれ、対応するMI要素515及び545を有していることを示している。各アプリケーション510及び540は、それぞれ、リソース530の内の一つに対するリファレンスを取得し、リファレンスが対応するリソースと結合するように、リソース530の内の一つに対するアクセスを取得するためにシークする。
【0055】
アクセスを取得するために、アプリケーション510及び540は、MI要素525に対して、それぞれ、ダーティーコール551及び571を送信するために、それぞれ、対応するMI要素515及び545を呼び出す。MI要素515及び545は、マネージングMI要素525のような他のMI要素によって管理されるリソース530に対してアクセスするのためのアプリケーションの要求を処理するので、MI要素515及び545のアプリケーションコールプロセッサーは、ここに記載されたコールフローの処理を実行する。
【0056】
ダーティーコール551及び571に応答して、マネージングMI要素525は、各MI要素515及び545に対して、それぞれ、リターンコール552及び572を送信する。ダーティーコールには、ダーティーコール551及び571のリファレンスのための承認されたリース期間を含んでいる。
【0057】
同様に、図5は、また、マネージングMI要素525に対して、それぞれ、クリーンコール561及び581を送信しているMI要素515及び545を示している。クリーンコール561及び581は、アプリケーション510及び540が、それぞれ、クリーンコール561及び581で指定されるリソースに対するアクセスをもはや要求しないということをマネージングMI要素525に知らせる。マネージングMI要素525は、クリーンコール561及び581に対して、それそれ、リターンコール562及び582で応答する。リターンコール562及び582は、それが、受信したクリーンコール561及び581に対するMI要素525からの単なる承認であるという点において、リターンコール552及び572とは異なる。
【0058】
アプリケーション510及び540の双方とも、同一リソースに対するアクセスを要求するかもしれない。例えば、アプリケーション540がそれ以前に「リソース(1)」へのアクセスが承認されていた一方で、アプリケーション510が、「リソース(1)」に対するアクセスを要求することもある。MI要素525は、合意されたリース期間、アプリケーション510及び540の双方がそのリソースを使用できるようにすることによってこのような状況を処理する。すなわち、MI要素525は、アプリケーション510及び540の双方とも、そのリソースに対するリファレンスを落とすか、あるいは最新の合意された期間が終了したかのいずれかの事象が最初に生ずるまで、「リソース(1)」をリクレームするためにガーベッジコレクションサイクルを起動させない。
【0059】
1より多いアプリケーションに対し、同一のリソースに対して同時にアクセスすることを許可することによって、本発明は、また、アプリケーションが、リソースに対するリファレンスを落とすように、マネージングMI要素に対してクリーンコールを送信した後に、そのアプリケーションがそのリソースにアクセスすることを許可する。これは、そのリソースが他のアプリケーションによっていまなおリファレンスされているか、あるいはそのリファレンスのリースが未だに終了しておらず、それによりマネージングMI要素525が未だにそのリソースをリクレームしていないために生ずる。しかしながら、そのリソースは、有限の期間が経過した後、すなわち、いかなるアプリケーションもリースしていない時、あるいは最新のリースが終了した時に、リクレームされることになる。
【0060】
(D.MI要素)
図6は、本発明の実施の形態に係るMI要素600のモジュールのブロック図を示している。MI要素600には、監視されている各リファレンスのためのリファレンス要素605、アプリケーションコールプロセッサー640、サーバーコールプロセッサー650及びガーベッジコレクター660を含めることができる。
【0061】
リファレンス要素605は、好ましくは、リファレンスデータポーション610に備えられた表又はこれに相当する構造、リファレンスカウント620及び承認期間レジスター630で構成する。MI要素600は、対応するリソースをリクレームするためにガーベッジコレクター660をいつ起動させるかを決定するために、対応するリファレンスデータポーション610で指定される各リファレンスのための、リファレンスカウント620と承認期間630を使用する。
【0062】
アプリケーションコールプロセッサ640は、図1に示す手順100のステップを実行するソフトウェアモジュールである。サーバーコールプロセッサー650は、図2〜4に示す手順200、300及び400のステップを実行するソフトウェアモジュールである。ガーベッジコレクター660は、上述したように、サーバーコールプロセッサー650からの指令に応答してリソースをリクレームするソフトウェアモジュールである。
【0063】
(E.分散処理システム)
図7は、本発明を実施するために用いられる分散処理システム50を図示したものである。図7において、分散処理システム50は、ネットワーク雲55によって表現されるネットワーク配列中に接続された3つの独立で、かつ異質なプラットフォーム700、800及び900を含んでいる。図7中で、雲55によって表現されるネットワーク配列の構成及びプロトコルは、プラットフォーム700、800及び900間の情報伝達を許すものである限り、重要なことではない。
【0064】
加えて、ちょうど3つのプラットフォームを使用していることは、単なる例示にすぎないものであり、本発明が、非常に多くのプラットフォームを使用することを制限するものではない。さらに、特定のネットワーク構造は、本発明にとって重要なことではない。例えば、本発明に従って使用することができる他のネットワーク構造では、他の全てのプラットフォームが接続されるネットワークコントローラーとして、1つのプラットフォームを使用する。
【0065】
分散処理システム50の実施の形態において、プラットフォーム700、800及び900は、それぞれ、プロセッサー710、810及び910、並びにメモリー750、850及び950を含んでいる。各プロセッサー710、810及び910には、それぞれ、アプリケーション720、820及び920、オペレーティングシステム740、840及び940、並びにMI要素730、830及び930が含まれている。
【0066】
アプリケーション720、820及び920は、本発明を実行するために以前に書かれかつ修正されたプログラム、あるいは本発明によって提供されるサービスを利用するために特別に書かれたプログラムのいずれでもよい。アプリケーション720、820及び920は、本発明に従って実行されるオペレーションを呼び出す。
【0067】
MI要素730、830及び930は、図6を参照しながら前述したMI要素600に対応している。
【0068】
オペレーティングシステム740、840及び940は、それぞれ、対応するプロセッサー710、810及び910と連結された標準的なオペレーティングシステムである。プラットフォーム700、800及び900は、異質なものとすることができる。例えば、プラットフォーム700は、プロセッサー710として、サン・マイクロシステムズ社製ウルトラスパークマイクロプロセッサーを有し、オペレーティングシステム740としてソラリスを使用する。
【0069】
プラットフォーム800は、プロセッサー810として、シリコングラフィクス社製MIPSマイクロプロセッサーを有し、オペレーティングシステム840としてユニックスを使用する。最後に、プラットフォーム900は、プロセッサー910としてインテル社製ペンティアムマイクロプロセッサーを有し、オペレーティングシステム940としてマイクロソフトウィンドウズ95を使用する。本発明は、これに限定されるものではなく、さらに同質のプラットフォームを収容することもできる。
【0070】
サン、サン・マイクロシステムズ、ソラリス、ジャバ及びサンロゴは、米国及び他の国におけるサン・マイクロシステムズ社の商標又は登録商標である。ウルトラスパーク及び他の全てのスパーク商標は、許諾に基づいて使用されており、米国及び他の国におけるスパークインターナショナル社の商標である。スパーク商標を付した製品は、サン・マイクロシステムズ社によって開発された構造を基礎に置いている。
【0071】
メモリー750、850及び950は、関連するプラットフォームのための一般的な記憶のようないくつかの機能を与える。他の機能は、各プロセッサー710、810及び910による実行の前に、アプリケーション720、820及び920、MI要素730、830及び930、並びにオペレーティングシステム740、840及び940を記憶することである。加えて、メモリー750、850及び950の一部は、ネットワーク50中の全てのプラットフォーム700、800及び900が使用可能な共有メモリーを構成してもよい。
【0072】
(E.MIサービス)
本発明は、クライアント/サーバーモデルを用いて実行してもよい。クライアントは、ダーティーコールやクリーンコールのような要求を発生させ、サーバーは、その要求に対して応答する。
【0073】
図7に示す各MI要素730、830及び930は、クライアント要素とサーバー要素の双方を含んでいることが望ましい。図8は、クライアントプラットフォーム1000及びサーバープラットフォーム1100のブロック図を示しており、図7中のプラットフォーム700、800及び900のいずれか二つに当てはまる。
【0074】
プラットフォーム1000及び1100は、それぞれ、メモリー1050及び1150、並びにプロセッサー1010及び1110を有している。プラットフォーム1000及び1100中の要素は、図7を参照しながら前述した同様の要素と同じ方法で動作する。この例では、プロセッサー1010は、クライアントアプリケーション1020を実行し、プロセッサー1110は、サーバーアプリケーション1120を実行する。プロセッサー1010及び1110は、また、それぞれ、オペレーティングシステム1040及び1140、並びにMI要素1030及び1130を実行する。
【0075】
MI要素1030及び1130は、それぞれ、サーバーコールプロセッサー1031及び1131、アプリケーションコールプロセッサー1032及び1132、並びにガーベッジコレクター1033及び1133を有してる。各MI要素1030及び1130は、また、各MI要素1030及び1130が監視する各リファレンスのための、リファレンスデータポーション1034及び1134、リファレンスカウント1035及び1135、並びに承認期間レジスター1036及び1136を含むリファレンス要素を有している。
【0076】
アプリケーションコールプロセッサー1032及び1132は、クライアントサービスに相当し、それぞれ、サーバーサービスに相当するサーバーコールプロセッサー1031及び1032と相互に情報伝達を行う。プラットフォーム1000及び1100は、サーバーコールプロセッサー、アプリケーションコールプロセッサー、ガーベッジコレクター及びリファレンス要素を有しているので、いずれのプラットフォームも、クライアントあるいはサーバーとして機能することができる。
【0077】
しかしながら、後述する議論のために、プラットフォーム1000は、クライアントプラットフォームを示し、プラットフォーム1100は、サーバープラットフォームを示すものとする。この例では、クライアントアプリケーション1020は、分散リソースに対してリファレンスを取得し、サーバープラットフォーム1100のMI要素1130によって管理されるリソースに対してダーティーコールを送るために、MI要素1030を使用する。
【0078】
加えて、サーバープラットフォーム1100は、サーバーアプリケーション1120を実行する。サーバーアプリケーション1120は、また、ダーティーコールを送信するためにMI要素1130を使用する。そして、ダーティーコールは、そのダーティーコールのリソースがMI要素1130によって管理されている時は、MI要素1130によって処理される。あるいは、サーバーアプリケーション1120は、MI要素1030で管理されているリソースに対してダーティーコールを送信するためにMI要素1130を使用する。
【0079】
従って、クライアントプラットフォーム1000中のMI要素1030のためのサーバーコールプロセッサ1031、ガーベッジコレクター1033及びリファレンスカウント1035は、使用されていないので、図8中においては陰影が付されている。同様に、サーバープラットフォーム1100中のMI要素1130のアプリケーションコールプロセッサー1132もまた、休止状態であるので、陰影が付されている。
【0080】
クライアントアプリケーション1020があるリソースに対応するリファレンスを取得した時には、アプリケーションコールプロセッサー1032は、ダーティーコールを送信し、それをサーバーコールプロセッサー1131が受信する。ダーティーコールには、要求されたリース期間が含まれている。サーバーコールプロセッサー1131は、ダーティーコール中のリファレンスのためにリファレンスカウント1135を増加させ、承認期間を決定する。これに応じて、サーバーコールプロセッサー1131は、アプリケーションコールプロセッサー1030に対して承認期間と共にリターンコールを送信する。アプリケーションコールプロセッサー1032は、記録されている承認期間1035を更新するため、及びダーティーコールのリファレンスに対応するリソースをいつリクレームするかを決定するためにその承認期間を使用する。
【0081】
サーバーコールプロセッサー1131は、また、それが管理するリソースのためのリファレンスに対応するリファレンスカウントと承認期間を監視する。そのリファレンスカウント1135の内の一つがゼロの時、又はそのリファレンスのための承認期間1135が終了した時のいずれかの事象が最初に生じた場合は、いつでも、サーバーコールプロセッサー1131は、リファレンスカウントがゼロ又は承認期間が終了したリファレンスに対応するリソースをリクレームするためにガーベッジコレクター1133を起動してよい。
【0082】
本発明の実施の形態に係るリース・リファレンス機構は、プロトコルに含まれるプラットフォーム1000及び1100上のクロックが同期していることを要求していない。その機構は、それらが比較しうる増加期間を有することを、単に要求するだけである。リースは、特定の時刻に終了するのではなく、むしろ一定の時間間隔が経過した後に終了する。時間間隔がほぼ一致している限り、プラットフォーム1000及び1100は、承認されたリース期間について、およその合意が得られる。さらに、リースのためのタイミングは、コンピューターの見地からすれば、かなり長いので、クロックレートのわずかな差異は、ほとんど、あるいは全く影響がない。
【0083】
ダーティーコールの転送時間は、プロトコルの影響を受ける。もし、MI要素1030がリファレンスに対するリースを保持し、更新の要求をするために、リースが終了する直前までウェイト状態であるならば、リースは、MI要素1130がその要求を受信する前に終了するかもしれない。もし、そうであるならば、MI要素1130は、更新要求を受信する前にリソースをリクレームするかもしれない。すなわち、ダーティーコールを送るときには、送り手側は、そのリソースのためのリース期間が終了する前に更新のダーティーコールがなされるように、ダーティーコールのリソースを処理しているプラットフォームへの転送時間を考慮して、要求されたリース期間に対して、時間因子を加えるべきである。
【0084】
(F.結論)
本発明によれば、分散ガーベッジコレクション機構は、承認されたリース期間が終了した時に、リソースに対するリファレンスが終了するように、分散処理システム中のリソースに対するリファレンスに対応する承認されたリース期間を与えることによって、リファレンスの保全性を保証し、記憶漏れを排除する。その後に、そのリソースを収集するようにしてもよい。また、リソースに対するリファレンスに付与されたカウンターを参照して、リソースがもはや分散処理システム中のプロセスによってリファレンスされない時に、リソースを収集するようにしてもよい。
【0085】
本発明は、上気した実施の形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の改変が可能である。例えば、前述の実施の形態には、ソフトウェアが含まれているが、本発明は、ハードウェアとソフトウェアの組み合わせ、あるいはハードウェアのみで実施することができる。
【0086】
【発明の効果】
本発明によれば、リファレンスの保全性は、ある一定の期間、すなわち、分散システム中のパーティ、例えば、リソースに対するリファレンスを保持しているアプリケーション及びそのリソースを管理しているガーベッジコレクションシステムが、そのリソースとそのリソースに対するリファレンスとが保証されることについて同意している期間、リソースをリースすることによって、大きな記憶漏れを伴うことなく保証される。
【0087】
そのリース期間が終了したときには、そのリソースに対するリファレンスが継続するという保証は、消滅し、ガーベッジコレクションシステムにそのリソースをリクレームすることを許可する。なぜならば、そのリソースに対するリファレンスを保持しているアプリケーションと、そのリソースを管理しているガーベッジコレクションシステムは、有限の保証されたリース期間について合意しており、双方とも、いつそのリースが終了するか、すなわちいつその保証が終了するかを知ることができるからである。これにより、リファレンスのリース期間中はリファレンスの保全性が保証され、ネットワークエラーに起因して発生するリソースの開放失敗を回避することが可能となるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る、アプリケーションコールプロセッサーによって実行されるステップを示すフロー図である。
【図2】本発明の実施の形態に係る、ダーティーコールを処理するためのサーバーコールプロセッサーによって実行されるステップを示すフロー図である。
【図3】本発明の実施の形態に係る、クリーンコールを処理するためのサーバーコールプロセッサーによって実行されるステップを示すフロー図である。
【図4】本発明の実施の形態に係る、ガーベッジコレクションプロセスを起動するためのサーバーコールプロセッサーによって実行されるステップを示すフロー図である。
【図5】分散処理システム内でのコールの好ましい流れを示す図である。
【図6】本発明に係る方法呼出作業を遂行する構成要素のブロック図である。
【図7】本発明の実施の際に用いられる分散処理システムを示す図である。
【図8】本発明の実施の形態に係る、分散処理システムのプラットフォームにおける個々のソフトウェアの構成要素を示す図である。
Claims (32)
- プロセッサーを用いて、リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信する受信工程と、
前記プロセッサーを用いて、承認されたリース期間、前記リソースに対する共有アクセスを許可する許可工程と、
前記プロセッサーを用いて、前記プロセスに前記承認されたリース期間を通知する通知工程と、
前記プロセッサーを用いて、前記承認されたリース期間が終了した時に前記リソースの割当を解除する割当解除工程とを備えていることを特徴とする分散ガーベッジコレクションのためのリソースの管理方法。 - 前記許可工程は、前記要求されたリース期間よりも短い期間となるように前記承認されたリース期間を決定するサブ工程を備えていることを特徴とする請求項1に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- 前記許可工程は、前記要求されたリース期間、前記リソースの大きさ、及び前記リソースのための他の承認されたリース期間の少なくとも一つに基づき、前記承認されたリース期間を決定するサブ工程を備えていることを特徴とする請求項1に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- 前記許可工程は、前記リソースがそれ以前に割り当てられなかったという決定に基づいて前記リソースを割り当てるサブ工程を備えていることを特徴とする請求項1に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- 前記許可工程は、前記リソースに対応するリファレンスカウントを増加させるサブ工程を備え、前記リファレンスカウントは、現在、どれだけ多くのプロセスが前記リソースに対するリファレンスを持っているかを示すものであることを特徴とする請求項1に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- 前記プロセスがある識別されたリソースに対するアクセスの終了を望んでいることを示す前記プロセスからの第2の要求を受信する工程と、前記識別されたリソースに対応する前記リファレンスカウントを減少させる工程とをさらに備えたことを特徴とする請求項5に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- 前記割当解除工程は、前記リソースに対する共有アクセスがもはや要求されない時に、前記リソースをリクレームするためのガーベッジコレクションプロセスを呼び出すサブ工程を備えていることを特徴とする請求項1に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- 前記割当解除工程は、前記リファレンスカウントが前記識別されたリソースに、現在、いかなるプロセスもアクセスしていないことを示している時に、前記識別されたリソースの割当を解除するためのガーベッジコレクションプロセスを呼び出すサブ工程を備えていることを特徴とする請求項6に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- プロセッサーを用いて、あるリース期間、あるリソースに対してアクセスすることをプロセスから要求する工程と、
前記プロセッサーを用いて、前記リソースに対する共有アクセスが許可されている間、承認されたリース期間を前記プロセスから受信する工程と
前記プロセッサーを用いて、前記承認されたリース期間が終わりかけているが、前記リソースへのアクセスが完了していないという決定に基づいて、新たなリース期間の要求を前記プロセスに対して送信する工程とを備えていることを特徴とする分散ガーベッジコレクションのためのリソースの管理方法。 - 前記承認されたリース期間が終了する前に、前記リソースに対する共有アクセスがもはや要求されないことを示す異なる要求を送信する工程をさらに備えていることを特徴とする請求項9に記載される分散ガーベッジコレクションのためのリソースの管理方法。
- リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信するように構成された受信モジュールと、
承認されたリース期間、前記リソースへの共有アクセスを許可するように構成されたリソースアロケーターと、
前記プロセスに前記承認されたリース期間を通知するように構成された通知モジュールと、
前記承認されたリース期間が終了した時に前記リソースの割当を解除するように構成されたリソースディアロケーターと、を実行するよう構成可能なプロセッサーを備えていることを特徴とする分散ガーベッジコレクションのための装置。 - 前記リソースアロケーターは、前記要求されたリース期間よりも短い期間となるように前記承認されたリース期間を決定するように構成された決定モジュールを備えていることを特徴とする請求項11に記載される分散ガーベッジコレクションのための装置。
- 前記リソースアロケーターは、前記要求されたリース期間、前記リソースの大きさ、及び前記リソースのための他の承認されたリース期間の少なくとも一つに基づき、前記承認されたリース期間を決定するように構成された決定モジュールを備えていることを特徴とする請求項11に記載される分散ガーベッジコレクションのための装置。
- 前記リソースアロケーターは、前記リソースがそれ以前に割り当てられなかったという決定に基づいて前記リソースを割り当てるように構成された割当モジュールを備えていることを特徴とする請求項11に記載される分散ガーベッジコレクションのための装置。
- 前記リソースアロケーターは、前記リソースに対応するリファレンスカウントを増加させるように構成された増加モジュールを備え、前記リファレンスカウントは、現在、どれだけ多くのプロセスが前記リソースに対するリファレンスを持っているかを示すものであることを特徴とする請求項11に記載される分散ガーベッジコレクションのための装置。
- 前記プロセスがある識別されたリソースに対するアクセスの終了を望んでいることを示す前記プロセスからの第2の要求を受信するように構成された第2受信モジュールと、前記識別されたリソースに対応する前記リファレンスカウントを減少させるように構成された減少モジュールとをさらに備えたことを特徴とする請求項15に記載される分散ガーベッジコレクションのための装置。
- 前記リソースディアロケーターは、前記リソースに対する共有アクセスがもはや要求されない時に、前記リソースをリクレームするためのガーベッジコレクションプロセスを呼び出すように構成されたインボーカーを備えていることを特徴とする請求項11に記載される分散ガーベッジコレクションのための装置。
- 前記リソースディアロケーターは、前記リファレンスカウントが前記識別されたリソースに、現在、いかなるプロセスもアクセスしていないことを示している時に、前記識別されたリソースの割当を解除するためのガーベッジコレクションプロセスを呼び出すように構成されたインボーカーを備えていることを特徴とする請求項16に記載される分散ガーベッジコレクションのための装置。
- あるリース期間、あるリソースに対してアクセスすることをプロセスから要求するように構成された要求モジュールと、
前記リソースに対する共有アクセスが許可されている間、承認されたリース期間を前記プロセスから受信するように構成された受信モジュールと
前記承認されたリース期間が終わりかけているが、前記リソースへのアクセスが完了していないという決定に基づいて、新たなリース期間についての他の要求を、前記プロセスに対して送信するように構成された第2送信モジュールと、を実行するよう構成可能なプロセッサーを備えていることを特徴とする分散ガーベッジコレクションのための装置。 - 前記承認されたリース期間が終了する前に、前記リソースに対する共有アクセスがもはや要求されないことを示す異なる要求を送信するように構成された第2送信モジュールをさらに備えていることを特徴とする請求項19に記載される分散ガーベッジコレクションのための装置。
- コンピュータプロセッサーと、前記コンピュータプロセッサーと有効に接続されているメモリーと、前記メモリーにより前記コンピュータプロセッサー中で実行するコンピュータプロセスを備え、前記コンピュータプロセスは、リソースを参照し、かつ要求されたリース期間を指定するプロセスからの要求を受信するように構成された受信モジュールと、承認されたリース期間、前記リソースに対する共有アクセスを許可するように構成されたリソースアロケーターと、前記承認されたリース期間を通知するように構成された通知モジュールと、前記承認されたリース期間が終了した時に前記リソースの割当を解除するように構成されたリソースディアロケーターとを備えていることを特徴とする分散ガーベッジコレクションのためのコンピュータシステム。
- 前記リソースアロケーターは、前記要求されたリース期間よりも短い期間となるように前記承認されたリース期間を決定するように構成された決定モジュールを備えていることを特徴とする請求項21に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 前記リソースアロケーターは、前記要求されたリース期間、前記リソースの大きさ、及び前記リソースのための他の承認されたリース期間の少なくとも一つに基づき、前記承認されたリース期間を決定するように構成された決定モジュールを備えていることを特徴とする請求項21に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 前記リソースアロケーターは、前記リソースがそれ以前に割り当てられなかったという決定に基づいて前記リソースを割り当てるように構成された割当モジュールを備えていることを特徴とする請求項21に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 前記リソースアロケーターは、前記リソースに対するリファレンスを現在有しているプロセスの数を示すように構成されたリファレンスカウントモジュールを備えていることを特徴とする請求項21に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 前記コンピュータプロセスは、前記プロセスがある識別されたリソースに対するアクセスの終了を望んでいることを示す前記プロセスからの第2の要求を受信するように構成された第2受信モジュールと、前記識別されたリソースに対応する前記リファレンスカウントを減少させるように構成された減少モジュールとをさらに備えていることを特徴とする請求項25に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 前記リソースディアロケーターは、前記リソースに対する共有アクセスがもはや要求されない時に、前記リソースをリクレームするためのガーベッジコレクションプロセスを呼び出すように構成されたインボーカーを備えていることを特徴とする請求項21に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 前記リソースディアロケーターは、前記リファレンスカウントが前記識別されたリソースに、現在、いかなるプロセスもアクセスしていないことを示している時に、前記識別されたリソースの割当を解除するためのガーベッジコレクションプロセスを呼び出すように構成されたインボーカーを備えていることを特徴とする請求項26に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- コンピュータプロセッサーと、前記コンピュータプロセッサーと有効に接続されているメモリーと、前記メモリーにより前記コンピュータプロセッサー中で実行するコンピュータプロセスを備え、前記コンピュータプロセスは、あるリース期間、あるリソースに対してアクセスすることをプロセスから要求するように構成された要求モジュールと、前記プロセスが前記リソースに対する共有アクセスを許可している間、承認されたリース期間を前記プロセスから受信するように構成された受信モジュールと、前記承認されたリース期間が終わりかけているという決定に基づいて、新たなリース期間についての他の要求を、前記プロセスに対して送信するように構成された送信モジュールとを備えていることを特徴とする分散ガーベッジコレクションのためのコンピュータシステム。
- 前記コンピュータプロセスは、前記承認されたリース期間が終了する前に、前記リソースに対する共有アクセスがもはや要求されないことを示す異なる要求を送信するように構成された第2送信モジュールをさらに備えていることを特徴とする請求項29に記載される分散ガーベッジコレクションのためのコンピュータシステム。
- 複数のプラットフォームを有する分散処理システムにおいて、サーバープラットフォームで実行される以下の工程、すなわち、
(a) 第1サーバープラットフォームを用いて、システムリソースに対するリファレンス及び要求されたリース期間を含むリクエスタープラットフォームからの要求であって、前記対応するリクエスタープラットフォームが前記要求中において前記要求された期間、前記リファレンスされたシステムリソースへのアクセスをシークすることを示している要求を受信する工程と、
(b) 前記第1サーバープラットフォームを用いて、
(i) 前記要求された各リース期間に応答して設定される、対応する承認期間であって、要求に関連する前記リファレンスされた各システムリソースが前記プラットフォームによってアクセスされることが可能となる期間を示している承認期間を設定すること、及び
(ii) 対応するリファレンスカウンターであって、要求の受信によって決定される前記対応するシステムリソースがアクセスしている前記プラットフォームの数を示しているリファレンスカウンターを増加させること、
により前記リファレンスされた各システムリソースを割り当てる工程と、
(c) 前記第1サーバープラットフォームを用いて、関連する要求に応答して、関連する要求中でリファレンスされた前記リソースのための前記承認期間を指定する前記リクエスタープラットフォームに対する応答を送信する工程と、
(d) 前記第1サーバープラットフォームを用いて、
(i) リファレンスされた各システムリソースのための前記承認期間が終了した時、又は
(ii) 前記対応するリファレンスカウンターが、いかなるリクエスタープラットフォームも、現在、前記リファレンスされた各システムリソースに対するアクセスをシークしていないということを示す状態である時に、
前記リファレンスされた各システムリソースの割当を解除するためのガーベッジコレクションプロセスを起動する工程とを備えたことを特徴とする分散ガーベッジコレクションのためのプラットフォーム間に分散したリソースの割当及び割当解除方法。 - (e) 前記第1サーバープラットフォームを用いて、前記システムリソースに対するリファレンスを含み、かつ前記リクエスタープラットフォームが前記システムリソースに対するアクセスの終了を要求することを示している前記リクエスタープラットフォームからの新しい要求を受信する工程と、
(f) 前記第1サーバープラットフォームを用いて、前記新しい要求において指定された前記リファレンスされた各システムリソースに対応する前記リファレンスカウンターを減少させる工程とをさらに備えていることを特徴とする請求項31に記載される分散ガーベッジコレクションのためのプラットフォーム間に分散したリソースの割当及び割当解除方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/729,421 US5832529A (en) | 1996-10-11 | 1996-10-11 | Methods, apparatus, and product for distributed garbage collection |
US08/729,421 | 1996-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1145187A JPH1145187A (ja) | 1999-02-16 |
JP4054418B2 true JP4054418B2 (ja) | 2008-02-27 |
Family
ID=24930946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29354697A Expired - Lifetime JP4054418B2 (ja) | 1996-10-11 | 1997-10-10 | 分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法 |
Country Status (3)
Country | Link |
---|---|
US (11) | US5832529A (ja) |
EP (1) | EP0836140A3 (ja) |
JP (1) | JP4054418B2 (ja) |
Families Citing this family (466)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133845B1 (en) * | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | System and methods for secure transaction management and electronic rights protection |
US5943422A (en) | 1996-08-12 | 1999-08-24 | Intertrust Technologies Corp. | Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels |
US7124302B2 (en) * | 1995-02-13 | 2006-10-17 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US20060206397A1 (en) * | 1995-02-13 | 2006-09-14 | Intertrust Technologies Corp. | Cryptographic methods, apparatus and systems for storage media electronic right management in closed and connected appliances |
US6157721A (en) * | 1996-08-12 | 2000-12-05 | Intertrust Technologies Corp. | Systems and methods using cryptography to protect secure computing environments |
US6658568B1 (en) * | 1995-02-13 | 2003-12-02 | Intertrust Technologies Corporation | Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management |
US7133846B1 (en) | 1995-02-13 | 2006-11-07 | Intertrust Technologies Corp. | Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management |
US7095854B1 (en) * | 1995-02-13 | 2006-08-22 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US7143290B1 (en) * | 1995-02-13 | 2006-11-28 | Intertrust Technologies Corporation | Trusted and secure techniques, systems and methods for item delivery and execution |
US6948070B1 (en) | 1995-02-13 | 2005-09-20 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
CN101303717B (zh) * | 1995-02-13 | 2015-04-29 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5677321A (en) * | 1996-02-29 | 1997-10-14 | Synaptic Pharmaceutical Corporation | 5- and 6-(2-imidazolin-2-ylamino) and -(2-thiazolin-2-ylamino)-benzothiazoles as alpha-2 adrenergic ligands |
US6393497B1 (en) | 1998-03-20 | 2002-05-21 | Sun Microsystems, Inc. | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system |
US6272559B1 (en) | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
US6446070B1 (en) | 1998-02-26 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic distributed computing over a network |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US6578044B1 (en) | 1997-11-17 | 2003-06-10 | Sun Microsystems, Inc. | Method and system for typesafe attribute matching |
US6560656B1 (en) | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
US6421704B1 (en) * | 1998-03-20 | 2002-07-16 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of group membership in a distributed system |
US6598094B1 (en) | 1998-03-20 | 2003-07-22 | Sun Microsystems, Inc. | Method and apparatus for determining status of remote objects in a distributed system |
US6438614B2 (en) | 1998-02-26 | 2002-08-20 | Sun Microsystems, Inc. | Polymorphic token based control |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US6487607B1 (en) | 1998-02-26 | 2002-11-26 | Sun Microsystems, Inc. | Methods and apparatus for remote method invocation |
US6466947B2 (en) * | 1998-03-20 | 2002-10-15 | Sun Microsystems, Inc. | Apparatus and method for dynamically verifying information in a distributed system |
US6237024B1 (en) | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
US6182083B1 (en) * | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US6708171B1 (en) | 1996-04-23 | 2004-03-16 | Sun Microsystems, Inc. | Network proxy |
US6138238A (en) * | 1997-12-11 | 2000-10-24 | Sun Microsystems, Inc. | Stack-based access control using code and executor identifiers |
US6463446B1 (en) | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
US6832223B1 (en) | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US6247026B1 (en) | 1996-10-11 | 2001-06-12 | Sun Microsystems, Inc. | Method, apparatus, and product for leasing of delegation certificates in a distributed system |
US6041383A (en) * | 1996-07-22 | 2000-03-21 | Cabletron Systems, Inc. | Establishing control of lock token for shared objects upon approval messages from all other processes |
US6728737B2 (en) * | 1996-10-11 | 2004-04-27 | Sun Microsystems, Inc. | Method and system for leasing storage |
US6237009B1 (en) | 1996-10-11 | 2001-05-22 | Sun Microsystems, Inc. | Lease renewal service |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6275857B1 (en) * | 1996-10-30 | 2001-08-14 | Microsoft Corporation | System and method for freeing shared resources in a computer system |
US6253256B1 (en) | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
US6604127B2 (en) | 1998-03-20 | 2003-08-05 | Brian T. Murphy | Dynamic lookup service in distributed system |
EP1058883A2 (en) | 1998-02-26 | 2000-12-13 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
CN1292115A (zh) | 1998-02-26 | 2001-04-18 | 太阳微系统公司 | 分布系统中动态验证信息的装置和方法 |
WO1999044127A1 (en) * | 1998-02-26 | 1999-09-02 | Sun Microsystems, Inc. | Dynamic lookup service in a distributed system |
JP3385957B2 (ja) * | 1998-03-04 | 2003-03-10 | 日本電気株式会社 | 分散システム、メモリ管理装置及び方法、並びに記録媒体 |
US6766369B1 (en) * | 1998-03-09 | 2004-07-20 | Net Zero, Inc. | Internet service error tracking |
US20020046228A1 (en) * | 1998-03-20 | 2002-04-18 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US7107534B1 (en) * | 1998-03-24 | 2006-09-12 | Adaptec, Inc. | Storage area network administration |
US7581006B1 (en) * | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US7143193B1 (en) * | 1998-05-29 | 2006-11-28 | Yahoo! Inc. | Content collection |
US6721740B1 (en) * | 1998-05-29 | 2004-04-13 | Sun Microsystems, Inc. | Method and apparatus of performing active update notification |
US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
US6314512B1 (en) * | 1998-07-09 | 2001-11-06 | International Business Machines Corporation | Automatic notification of connection or system failure in asynchronous multi-tiered system by monitoring connection status using connection objects |
US6449623B1 (en) * | 1998-09-04 | 2002-09-10 | Lucent Technologies Inc, | Method and apparatus for detecting and recovering from data corruption of a database via read logging |
US6449615B1 (en) * | 1998-09-21 | 2002-09-10 | Microsoft Corporation | Method and system for maintaining the integrity of links in a computer network |
US6442600B1 (en) * | 1999-01-15 | 2002-08-27 | Micron Technology, Inc. | Method and system for centralized storage and management of electronic messages |
US8225002B2 (en) * | 1999-01-22 | 2012-07-17 | Network Disk, Inc. | Data storage and data sharing in a network of heterogeneous computers |
US6629113B1 (en) | 1999-06-30 | 2003-09-30 | International Business Machines Corporation | Method and system for dynamically adjustable and configurable garbage collector |
US6418454B1 (en) * | 1999-05-28 | 2002-07-09 | Oracle Corporation | Method and mechanism for duration-based management of temporary LOBs |
US6463468B1 (en) * | 1999-06-01 | 2002-10-08 | Netzero, Inc. | Targeted network video download interface |
US6877163B1 (en) | 1999-06-14 | 2005-04-05 | Sun Microsystems, Inc. | Method and system for dynamic proxy classes |
DE60006112T2 (de) * | 1999-06-14 | 2004-08-12 | Sun Microsystems, Inc., Santa Clara | Verfahren und system zum aktualisieren von positionsinformationen in einem verteilten system mit codebeweglichkeit |
US6988138B1 (en) * | 1999-06-30 | 2006-01-17 | Blackboard Inc. | Internet-based education support system and methods |
US7908602B2 (en) | 1999-06-30 | 2011-03-15 | Blackboard Inc. | Internet-based education support system, method and medium providing security attributes in modular, extensible components |
US6539425B1 (en) | 1999-07-07 | 2003-03-25 | Avaya Technology Corp. | Policy-enabled communications networks |
US20110307364A2 (en) * | 1999-07-07 | 2011-12-15 | TI Funding Group, L.L.C. | Financing of tenant improvements |
US8179809B1 (en) * | 1999-08-23 | 2012-05-15 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on suspendable resource requirements |
US8019870B1 (en) | 1999-08-23 | 2011-09-13 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on alternative resource requirements |
US8032634B1 (en) | 1999-08-23 | 2011-10-04 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on resource requirements |
US7703102B1 (en) | 1999-08-23 | 2010-04-20 | Oracle America, Inc. | Approach for allocating resources to an apparatus based on preemptable resource requirements |
US8234650B1 (en) | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US6594774B1 (en) * | 1999-09-07 | 2003-07-15 | Microsoft Corporation | Method and apparatus for monitoring computer system objects to improve system reliability |
US7272649B1 (en) * | 1999-09-30 | 2007-09-18 | Cisco Technology, Inc. | Automatic hardware failure detection and recovery for distributed max sessions server |
US6895400B1 (en) * | 1999-10-05 | 2005-05-17 | Veritas Operating Corporation | Dynamic symbolic link resolution |
US6611858B1 (en) * | 1999-11-05 | 2003-08-26 | Lucent Technologies Inc. | Garbage collection method for time-constrained distributed applications |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
US6970941B1 (en) * | 1999-12-10 | 2005-11-29 | Sun Microsystems, Inc. | System and method for separating addresses from the delivery scheme in a virtual private network |
US7213063B2 (en) * | 2000-01-18 | 2007-05-01 | Lucent Technologies Inc. | Method, apparatus and system for maintaining connections between computers using connection-oriented protocols |
US7266681B1 (en) | 2000-04-07 | 2007-09-04 | Intertrust Technologies Corp. | Network communications security agent |
US6973499B1 (en) * | 2000-04-07 | 2005-12-06 | Intertrust Technologies Corp. | Ticketing and keying for orchestrating distribution of network content |
US7085839B1 (en) | 2000-04-07 | 2006-08-01 | Intertrust Technologies Corporation | Network content management |
AU2001259403A1 (en) * | 2000-05-02 | 2001-11-12 | Sun Microsystem, Inc. | Method and system for providing cluster replicated checkpoint services |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6789126B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Addressing message gates in a distributed computing environment |
US7016966B1 (en) | 2000-05-09 | 2006-03-21 | Sun Microsystems, Inc. | Generating results gates in a distributed computing environment |
US7370091B1 (en) | 2000-05-09 | 2008-05-06 | Sun Microsystems, Inc. | Method and apparatus for obtaining space advertisements |
US7080078B1 (en) | 2000-05-09 | 2006-07-18 | Sun Microsystems, Inc. | Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment |
US7188251B1 (en) * | 2000-05-09 | 2007-03-06 | Sun Microsystems, Inc. | System and method for secure message-based leasing of resources in a distributed computing environment |
US7577834B1 (en) | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US6950875B1 (en) | 2000-05-09 | 2005-09-27 | Sun Microsystems, Inc. | Message conductors in a distributed computing environment |
US6868447B1 (en) | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
US6850979B1 (en) | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
US6792466B1 (en) | 2000-05-09 | 2004-09-14 | Sun Microsystems, Inc. | Trusted construction of message endpoints in a distributed computing environment |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US7200848B1 (en) | 2000-05-09 | 2007-04-03 | Sun Microsystems, Inc. | Migrating processes using data representation language representations of the processes in a distributed computing environment |
US6898618B1 (en) | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
US7716492B1 (en) | 2000-05-09 | 2010-05-11 | Oracle America, Inc. | Method and apparatus to obtain service capability credentials |
US6918084B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Spawning new repository spaces using information provided in advertisement schema messages |
US7010573B1 (en) | 2000-05-09 | 2006-03-07 | Sun Microsystems, Inc. | Message gates using a shared transport in a distributed computing environment |
US7072967B1 (en) | 2000-05-09 | 2006-07-04 | Sun Microsystems, Inc. | Efficient construction of message endpoints |
US6862594B1 (en) | 2000-05-09 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus to discover services using flexible search criteria |
US6973493B1 (en) | 2000-05-09 | 2005-12-06 | Sun Microsystems, Inc. | Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment |
US8001232B1 (en) | 2000-05-09 | 2011-08-16 | Oracle America, Inc. | Event message endpoints in a distributed computing environment |
US7243356B1 (en) | 2000-05-09 | 2007-07-10 | Sun Microsystems, Inc. | Remote method invocation with secure messaging in a distributed computing environment |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
US8135796B1 (en) | 2000-05-09 | 2012-03-13 | Oracle America, Inc. | Mechanism and apparatus for accessing and addressing services in a distributed computing environment |
US8082491B1 (en) | 2000-05-09 | 2011-12-20 | Oracle America, Inc. | Dynamic displays in a distributed computing environment |
US6970869B1 (en) | 2000-05-09 | 2005-11-29 | Sun Microsystems, Inc. | Method and apparatus to discover services and negotiate capabilities |
US7395333B1 (en) | 2000-05-09 | 2008-07-01 | Sun Microsystems, Inc. | Method and apparatus to obtain negotiated service advertisement |
US7065574B1 (en) | 2000-05-09 | 2006-06-20 | Sun Microsystems, Inc. | Messaging system using pairs of message gates in a distributed computing environment |
US7260543B1 (en) * | 2000-05-09 | 2007-08-21 | Sun Microsystems, Inc. | Automatic lease renewal with message gates in a distributed computing environment |
US6917976B1 (en) | 2000-05-09 | 2005-07-12 | Sun Microsystems, Inc. | Message-based leasing of resources in a distributed computing environment |
WO2001093141A1 (fr) * | 2000-06-01 | 2001-12-06 | Fujitsu Limited | Systeme de gestion de droit d'utilisation et support enregistre |
US6763440B1 (en) | 2000-06-02 | 2004-07-13 | Sun Microsystems, Inc. | Garbage collection using nursery regions for new objects in a virtual heap |
US6760815B1 (en) | 2000-06-02 | 2004-07-06 | Sun Microsystems, Inc. | Caching mechanism for a virtual heap |
US6934755B1 (en) * | 2000-06-02 | 2005-08-23 | Sun Microsystems, Inc. | System and method for migrating processes on a network |
US6941410B1 (en) | 2000-06-02 | 2005-09-06 | Sun Microsystems, Inc. | Virtual heap for a virtual machine |
US6865657B1 (en) | 2000-06-02 | 2005-03-08 | Sun Microsystems, Inc. | Garbage collector for a virtual heap |
US6957237B1 (en) | 2000-06-02 | 2005-10-18 | Sun Microsystems, Inc. | Database store for a virtual heap |
US6854115B1 (en) | 2000-06-02 | 2005-02-08 | Sun Microsystems, Inc. | Process persistence in a virtual machine |
US7673045B1 (en) * | 2000-06-15 | 2010-03-02 | Microsoft Corporation | Multiple site automated logout |
JP2002074123A (ja) | 2000-08-31 | 2002-03-15 | Sony Corp | サーバの使用予約方法、予約管理装置およびプログラム格納媒体 |
JP2002074125A (ja) * | 2000-08-31 | 2002-03-15 | Sony Corp | コンテンツ配信の通知方法、予約管理装置およびプログラム格納媒体 |
US7596784B2 (en) | 2000-09-12 | 2009-09-29 | Symantec Operating Corporation | Method system and apparatus for providing pay-per-use distributed computing resources |
US6915338B1 (en) * | 2000-10-24 | 2005-07-05 | Microsoft Corporation | System and method providing automatic policy enforcement in a multi-computer service application |
US7093288B1 (en) | 2000-10-24 | 2006-08-15 | Microsoft Corporation | Using packet filters and network virtualization to restrict network communications |
US6907395B1 (en) | 2000-10-24 | 2005-06-14 | Microsoft Corporation | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model |
US7606898B1 (en) * | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US6886038B1 (en) * | 2000-10-24 | 2005-04-26 | Microsoft Corporation | System and method for restricting data transfers and managing software components of distributed computers |
TW527802B (en) * | 2000-11-14 | 2003-04-11 | Farstone Technology Inc | Network recovery system and its backup/recovery method |
US7184978B1 (en) | 2000-11-28 | 2007-02-27 | Ge Capital Aviation Services, Inc. | Methods and systems for leasing equipment |
US7216136B2 (en) * | 2000-12-11 | 2007-05-08 | International Business Machines Corporation | Concurrent collection of cyclic garbage in reference counting systems |
US6950874B2 (en) * | 2000-12-15 | 2005-09-27 | International Business Machines Corporation | Method and system for management of resource leases in an application framework system |
US7296275B2 (en) * | 2001-01-04 | 2007-11-13 | Sun Microsystems, Inc. | Method and system for passing objects in a distributed system using serialization contexts |
US20020112043A1 (en) * | 2001-02-13 | 2002-08-15 | Akira Kagami | Method and apparatus for storage on demand service |
US6918115B2 (en) * | 2001-02-16 | 2005-07-12 | Microsoft Corporation | Method and apparatus for synchronization of periodic processes |
JP4083997B2 (ja) * | 2001-04-16 | 2008-04-30 | 株式会社日立製作所 | レンタルストレージのサービス方法、および、レンタルストレージシステム |
US6842754B2 (en) * | 2001-04-17 | 2005-01-11 | Hewlett Packard Development Company, L.P. | Lease enforcement in a distributed file system |
US7203756B2 (en) * | 2001-04-27 | 2007-04-10 | International Business Machines Corporation | Mechanism to cache references to Java RMI remote objects implementing the unreferenced interface |
US6839815B2 (en) | 2001-05-07 | 2005-01-04 | Hitachi, Ltd. | System and method for storage on demand service in a global SAN environment |
US20030120776A1 (en) * | 2001-07-11 | 2003-06-26 | Sun Microsystems, Inc. | System controller for use in a distributed processing framework system and methods for implementing the same |
US6961740B2 (en) * | 2001-08-01 | 2005-11-01 | Valaran Corporation | Method and system for multimode garbage collection |
US7243374B2 (en) * | 2001-08-08 | 2007-07-10 | Microsoft Corporation | Rapid application security threat analysis |
US20030033351A1 (en) * | 2001-08-10 | 2003-02-13 | Aleta Ricciardi | Group proxy and method for grouping services in a distributed computing application |
US6951020B2 (en) * | 2001-08-28 | 2005-09-27 | Kayak Interactive Corporation | Method for handling transitions in grouped services in a distributed computing application |
US20030051029A1 (en) * | 2001-09-07 | 2003-03-13 | Reedy Dennis G. | Dynamic provisioning of sevice components in a distributed system |
US7756969B1 (en) | 2001-09-07 | 2010-07-13 | Oracle America, Inc. | Dynamic provisioning of identification services in a distributed system |
US7660887B2 (en) | 2001-09-07 | 2010-02-09 | Sun Microsystems, Inc. | Systems and methods for providing dynamic quality of service for a distributed system |
JP2003085314A (ja) * | 2001-09-11 | 2003-03-20 | Ge Medical Systems Global Technology Co Llc | 遠隔サイト管理システム |
US7047213B2 (en) * | 2001-10-03 | 2006-05-16 | International Business Machines Corporation | Method for purging abandoned shopping carts from an electronic commerce web site |
US20030140052A1 (en) | 2001-12-18 | 2003-07-24 | Shawn Thomas | Method and system for asset transition quality control |
US20030126098A1 (en) * | 2001-12-31 | 2003-07-03 | Hine Theodore W. | Methods and systems for equipment lease processing and management |
US7281044B2 (en) * | 2002-01-10 | 2007-10-09 | Hitachi, Ltd. | SAN infrastructure on demand service system |
US7287075B2 (en) * | 2002-02-22 | 2007-10-23 | Bea Systems, Inc. | System for monitoring managed server health |
US7360121B2 (en) * | 2002-02-22 | 2008-04-15 | Bea Systems, Inc. | System for monitoring a subsystem health |
US20030163562A1 (en) * | 2002-02-26 | 2003-08-28 | Ford Daniel E. | Remote information logging and selective reflections of loggable information |
US7464384B2 (en) * | 2002-03-14 | 2008-12-09 | International Business Machines Corporation | Method for inter-object communication |
CA2479526C (en) | 2002-03-20 | 2015-11-17 | Research In Motion Limited | System and method of secure garbage collection on a mobile device |
US8042189B2 (en) | 2002-03-20 | 2011-10-18 | Research In Motion Limited | System and method to force a mobile device into a secure state |
US20030187913A1 (en) * | 2002-03-26 | 2003-10-02 | Falkner Sam L. | Flexible distribution of service-related data |
JP2003316635A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | データのバックアップ方法及びそのプログラム |
US20040019640A1 (en) * | 2002-07-25 | 2004-01-29 | Bartram Linda Ruth | System and method for distributing shared storage for collaboration across multiple devices |
US7266822B1 (en) * | 2002-08-14 | 2007-09-04 | Sun Microsystems, Inc. | System and method for controlling and managing computer farms |
US7565533B2 (en) * | 2002-11-05 | 2009-07-21 | Sun Microsystems, Inc. | Systems and methods for providing object integrity and dynamic permission grants |
US7478096B2 (en) | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7072807B2 (en) * | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7689676B2 (en) * | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US8122106B2 (en) * | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
US20040215831A1 (en) * | 2003-04-25 | 2004-10-28 | Hitachi, Ltd. | Method for operating storage system |
US7644408B2 (en) * | 2003-04-25 | 2010-01-05 | Spotware Technologies, Inc. | System for assigning and monitoring grid jobs on a computing grid |
US7493513B2 (en) * | 2003-04-29 | 2009-02-17 | International Business Machines Corporation | Automatically freezing functionality of a computing entity responsive to an error |
US7409389B2 (en) * | 2003-04-29 | 2008-08-05 | International Business Machines Corporation | Managing access to objects of a computing environment |
US20040249953A1 (en) * | 2003-05-14 | 2004-12-09 | Microsoft Corporation | Peer-to-peer instant messaging |
FI20030796A0 (fi) * | 2003-05-27 | 2003-05-27 | Nokia Corp | Tiedonkeruu tietokoneklusterissa |
US7606929B2 (en) * | 2003-06-30 | 2009-10-20 | Microsoft Corporation | Network load balancing with connection manipulation |
US7590736B2 (en) * | 2003-06-30 | 2009-09-15 | Microsoft Corporation | Flexible network load balancing |
US7636917B2 (en) * | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7725452B1 (en) * | 2003-07-03 | 2010-05-25 | Google Inc. | Scheduler for search engine crawler |
US8707312B1 (en) | 2003-07-03 | 2014-04-22 | Google Inc. | Document reuse in a search engine crawler |
US7472144B2 (en) * | 2003-07-28 | 2008-12-30 | International Business Machines Corporation | Method and system for resolving memory leaks and releasing obsolete resources from user session data |
US8745222B2 (en) * | 2003-08-15 | 2014-06-03 | Blackboard Inc. | Content system and associated methods |
US8166101B2 (en) | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
US8238696B2 (en) | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
GB2408361B (en) * | 2003-11-21 | 2007-07-25 | Symbian Ltd | Allocation of resources in a computing device |
US7418462B2 (en) * | 2003-11-24 | 2008-08-26 | Microsoft Corporation | Optimized recovery logging |
US7937414B2 (en) * | 2003-12-05 | 2011-05-03 | At&T Intellectual Property I, L.P. | Fiber splice assignment and management system |
US7774782B1 (en) * | 2003-12-18 | 2010-08-10 | Google Inc. | Limiting requests by web crawlers to a web host |
US7792874B1 (en) | 2004-01-30 | 2010-09-07 | Oracle America, Inc. | Dynamic provisioning for filtering and consolidating events |
JP4435588B2 (ja) * | 2004-01-30 | 2010-03-17 | 株式会社日立製作所 | ストレージシステム |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
US20050246529A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US7366740B2 (en) * | 2004-05-03 | 2008-04-29 | Microsoft Corporation | Systems and methods for automatic maintenance and repair of enitites in a data model |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
US7231504B2 (en) * | 2004-05-13 | 2007-06-12 | International Business Machines Corporation | Dynamic memory management of unallocated memory in a logical partitioned data processing system |
GB0416074D0 (en) * | 2004-07-17 | 2004-08-18 | Ibm | Controlling data consistency guarantees in storage apparatus |
US7987172B1 (en) | 2004-08-30 | 2011-07-26 | Google Inc. | Minimizing visibility of stale content in web searching including revising web crawl intervals of documents |
US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
US8214461B1 (en) * | 2004-11-23 | 2012-07-03 | Hewlett-Packard Development Company, L.P. | Method of processing request by server computer system |
US7644410B1 (en) | 2004-11-23 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Resource management for shared computing environment |
US7783664B2 (en) * | 2004-12-17 | 2010-08-24 | Microsoft Corporation | Method and system for protecting the consistency of information in a distributed file system |
US7730038B1 (en) * | 2005-02-10 | 2010-06-01 | Oracle America, Inc. | Efficient resource balancing through indirection |
US8326659B2 (en) * | 2005-04-12 | 2012-12-04 | Blackboard Inc. | Method and system for assessment within a multi-level organization |
US7802144B2 (en) | 2005-04-15 | 2010-09-21 | Microsoft Corporation | Model-based system monitoring |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US7707232B2 (en) | 2005-05-13 | 2010-04-27 | Microsoft Corporation | Implementation for collecting unmanaged memory |
US8881233B2 (en) * | 2005-05-23 | 2014-11-04 | Microsoft Corporation | Resource management via periodic distributed time |
US20070016393A1 (en) * | 2005-06-29 | 2007-01-18 | Microsoft Corporation | Model-based propagation of attributes |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
JP2009512029A (ja) * | 2005-10-10 | 2009-03-19 | ワラテック プロプライエタリー リミテッド | 拡張メモリクリーンアップを備えたマルチコンピュータシステム |
US7941309B2 (en) * | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US20070118609A1 (en) * | 2005-11-23 | 2007-05-24 | France Telecom | Distributed computing architecture and associated method of providing a portable user environment |
US8914557B2 (en) | 2005-12-16 | 2014-12-16 | Microsoft Corporation | Optimizing write and wear performance for a memory |
US7680763B2 (en) * | 2005-12-21 | 2010-03-16 | International Business Machines Corporation | Administration of resources in system-wide search systems |
US8073929B2 (en) * | 2005-12-29 | 2011-12-06 | Panasonic Electric Works Co., Ltd. | Systems and methods for managing a provider's online status in a distributed network |
US7650514B2 (en) * | 2005-12-30 | 2010-01-19 | Microsoft Corporation | Scalable leases |
KR100714712B1 (ko) * | 2006-02-21 | 2007-05-04 | 삼성전자주식회사 | 컨테인먼트 프레임워크 환경에서 자원을 관리하는 장치 및방법 |
US7941801B2 (en) * | 2006-03-07 | 2011-05-10 | Oracle America Inc. | Method and system for provisioning a virtual computer and scheduling resources of the provisioned virtual computer |
US8028069B2 (en) * | 2006-05-08 | 2011-09-27 | International Business Machines Corporation | Structure for securing leased resources on a computer |
US7707290B2 (en) * | 2006-05-08 | 2010-04-27 | International Business Machines Corporation | Securing leased resources on a computer |
US7685187B2 (en) * | 2006-06-07 | 2010-03-23 | At&T Intellectual Property I, L.P. | Recovery of data and data processes |
US7756911B2 (en) * | 2006-06-09 | 2010-07-13 | International Business Machines Corporation | Method and system for executing a task and medium storing a program therefor |
US20080005281A1 (en) * | 2006-06-29 | 2008-01-03 | Microsoft Corporation | Error capture and reporting in a distributed computing environment |
US20080010282A1 (en) * | 2006-07-07 | 2008-01-10 | Microsoft Corporation | File metadata lease management |
US8185960B1 (en) | 2006-07-27 | 2012-05-22 | Qlogic, Corporation | System and method for managing access to adapter features |
US7788243B2 (en) * | 2006-09-08 | 2010-08-31 | Sybase, Inc. | System and methods for optimizing data transfer among various resources in a distributed environment |
JP5348833B2 (ja) * | 2006-10-06 | 2013-11-20 | 株式会社東芝 | 医用画像情報システム |
US7831772B2 (en) * | 2006-12-12 | 2010-11-09 | Sybase, Inc. | System and methodology providing multiple heterogeneous buffer caches |
US7650371B2 (en) * | 2006-12-14 | 2010-01-19 | Microsoft Corporation | Finalizable object usage in software transactions |
US10122593B2 (en) | 2007-02-20 | 2018-11-06 | Oracle America, Inc. | Method and system for managing computing resources using an electronic leasing agent |
US20080288622A1 (en) * | 2007-05-18 | 2008-11-20 | Microsoft Corporation | Managing Server Farms |
US20090029679A1 (en) * | 2007-07-25 | 2009-01-29 | Teng Hu | System and method to provide a mobile phone caller with a likely response time |
US20090089440A1 (en) * | 2007-10-01 | 2009-04-02 | Jonathan Chester Gathman | Protocol for leasing sockets |
US8266634B2 (en) * | 2007-10-12 | 2012-09-11 | Microsoft Corporation | Resource assignment system with recovery notification |
US8707318B2 (en) * | 2007-10-12 | 2014-04-22 | Microsoft Corporation | Partitioning system including a generic partitioning manager for partitioning resources |
US8332456B2 (en) * | 2007-11-14 | 2012-12-11 | Microsoft Corporation | Displaying server errors on the client machine that caused the failed request |
US20090125347A1 (en) * | 2007-11-14 | 2009-05-14 | Bank Of America Corporation | Determining Lease Quality |
US20110047086A1 (en) * | 2007-11-14 | 2011-02-24 | Bank Of America Corporation | Evaluating Environmental Sustainability |
JP5229232B2 (ja) * | 2007-12-04 | 2013-07-03 | 富士通株式会社 | リソース貸出制御装置、リソース貸出方法およびリソース貸出プログラム |
US8631203B2 (en) | 2007-12-10 | 2014-01-14 | Microsoft Corporation | Management of external memory functioning as virtual cache |
US8347300B2 (en) * | 2008-01-25 | 2013-01-01 | International Business Machines Corporation | Managing resource lease duration using a lease modifier as a function of resource utilization metric and initial decay rate value for on-demand computing |
US7987163B2 (en) * | 2008-02-12 | 2011-07-26 | Bae Systems Information And Electronic Systems Integration Inc. | Apparatus and method for dynamic web service discovery |
US20090240761A1 (en) * | 2008-03-20 | 2009-09-24 | Nelson Nahum | Sending voluminous data over the internet |
TWI476610B (zh) * | 2008-04-29 | 2015-03-11 | Maxiscale Inc | 同級間冗餘檔案伺服器系統及方法 |
WO2009144825A1 (ja) * | 2008-05-30 | 2009-12-03 | 富士通株式会社 | 復旧方法管理プログラム、復旧方法管理装置及び復旧方法管理方法 |
US8286171B2 (en) | 2008-07-21 | 2012-10-09 | Workshare Technology, Inc. | Methods and systems to fingerprint textual information using word runs |
US8555080B2 (en) * | 2008-09-11 | 2013-10-08 | Workshare Technology, Inc. | Methods and systems for protect agents using distributed lightweight fingerprints |
US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
US8032707B2 (en) | 2008-09-15 | 2011-10-04 | Microsoft Corporation | Managing cache data and metadata |
US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
US8788309B2 (en) * | 2008-10-23 | 2014-07-22 | International Business Machines Corporation | Application of cost constraints in event scheduling |
WO2010059747A2 (en) | 2008-11-18 | 2010-05-27 | Workshare Technology, Inc. | Methods and systems for exact data match filtering |
US8406456B2 (en) | 2008-11-20 | 2013-03-26 | Workshare Technology, Inc. | Methods and systems for image fingerprinting |
US8090752B2 (en) * | 2008-12-16 | 2012-01-03 | Sap Ag | Monitoring memory consumption |
US20100174575A1 (en) * | 2009-01-02 | 2010-07-08 | International Business Machines Corporation | Meeting management system with failover and failback capabilities for meeting moderators |
US8185566B2 (en) | 2009-01-15 | 2012-05-22 | Microsoft Corporation | Client-based caching of remote files |
WO2011017084A2 (en) * | 2009-07-27 | 2011-02-10 | Workshare Technology, Inc. | Methods and systems for comparing presentation slide decks |
US9009718B2 (en) * | 2009-07-31 | 2015-04-14 | Microsoft Technology Licensing, Llc | Processing singleton task(s) across arbitrary autonomous server instances |
US8914324B1 (en) | 2009-10-16 | 2014-12-16 | Symantec Corporation | De-duplication storage system with improved reference update efficiency |
US9141449B2 (en) * | 2009-10-30 | 2015-09-22 | Symantec Corporation | Managing remote procedure calls when a server is unavailable |
WO2011062596A1 (en) * | 2009-11-23 | 2011-05-26 | Hewlett-Packard Development Company, L.P. | Binding resources in a shared computing environment |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US8732426B2 (en) | 2010-09-15 | 2014-05-20 | Pure Storage, Inc. | Scheduling of reactive I/O operations in a storage environment |
US8589625B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US8589655B2 (en) | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of I/O in an SSD environment |
US8527558B2 (en) | 2010-09-15 | 2013-09-03 | Sepation, Inc. | Distributed garbage collection |
US11275509B1 (en) | 2010-09-15 | 2022-03-15 | Pure Storage, Inc. | Intelligently sizing high latency I/O requests in a storage environment |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8468318B2 (en) | 2010-09-15 | 2013-06-18 | Pure Storage Inc. | Scheduling of I/O writes in a storage environment |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
US9165155B2 (en) | 2010-10-27 | 2015-10-20 | Max Planck Gesellschaft Zur Foerderung Der Wissenschaften | Protecting the integrity and privacy of data with storage leases |
GB2484967B (en) * | 2010-10-28 | 2017-01-04 | Fujitsu Ltd | Method, apparatus, and program for the discovery of resources in a computing environment |
US10783326B2 (en) | 2013-03-14 | 2020-09-22 | Workshare, Ltd. | System for tracking changes in a collaborative document editing environment |
US11030163B2 (en) | 2011-11-29 | 2021-06-08 | Workshare, Ltd. | System for tracking and displaying changes in a set of related electronic documents |
US8635295B2 (en) | 2010-11-29 | 2014-01-21 | Workshare Technology, Inc. | Methods and systems for monitoring documents exchanged over email applications |
US9137104B2 (en) * | 2011-05-26 | 2015-09-15 | Kaseya Limited | Method and apparatus of performing remote management of a managed machine |
US10963584B2 (en) | 2011-06-08 | 2021-03-30 | Workshare Ltd. | Method and system for collaborative editing of a remotely stored document |
US9948676B2 (en) | 2013-07-25 | 2018-04-17 | Workshare, Ltd. | System and method for securing documents prior to transmission |
US10880359B2 (en) | 2011-12-21 | 2020-12-29 | Workshare, Ltd. | System and method for cross platform document sharing |
US9170990B2 (en) | 2013-03-14 | 2015-10-27 | Workshare Limited | Method and system for document retrieval with selective document comparison |
US10574729B2 (en) | 2011-06-08 | 2020-02-25 | Workshare Ltd. | System and method for cross platform document sharing |
US9613340B2 (en) | 2011-06-14 | 2017-04-04 | Workshare Ltd. | Method and system for shared document approval |
US11636031B2 (en) | 2011-08-11 | 2023-04-25 | Pure Storage, Inc. | Optimized inline deduplication |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US8825721B2 (en) * | 2011-10-03 | 2014-09-02 | Oracle International Corporation | Time-based object aging for generational garbage collectors |
US8959605B2 (en) * | 2011-12-14 | 2015-02-17 | Apple Inc. | System and method for asset lease management |
US8719540B1 (en) | 2012-03-15 | 2014-05-06 | Pure Storage, Inc. | Fractal layout of data blocks across multiple devices |
US9628438B2 (en) | 2012-04-06 | 2017-04-18 | Exablox | Consistent ring namespaces facilitating data storage and organization in network infrastructures |
US8726255B2 (en) | 2012-05-01 | 2014-05-13 | Concurix Corporation | Recompiling with generic to specific replacement |
US9417935B2 (en) | 2012-05-01 | 2016-08-16 | Microsoft Technology Licensing, Llc | Many-core process scheduling to maximize cache usage |
US8595743B2 (en) | 2012-05-01 | 2013-11-26 | Concurix Corporation | Network aware process scheduling |
US8650538B2 (en) | 2012-05-01 | 2014-02-11 | Concurix Corporation | Meta garbage collection for functional code |
WO2013177325A2 (en) * | 2012-05-22 | 2013-11-28 | Level 3 Communications, Llc | Methods and systems for allocating and provisioning computing resources |
US10635997B1 (en) * | 2012-06-15 | 2020-04-28 | Amazon Technologies, Inc. | Finite life instances |
US8700838B2 (en) | 2012-06-19 | 2014-04-15 | Concurix Corporation | Allocating heaps in NUMA systems |
US9047196B2 (en) | 2012-06-19 | 2015-06-02 | Concurix Corporation | Usage aware NUMA process scheduling |
US9417939B2 (en) | 2012-06-20 | 2016-08-16 | Microsoft Technology Licensing, Llc | Dynamic escalation of service conditions |
US8793669B2 (en) | 2012-07-17 | 2014-07-29 | Concurix Corporation | Pattern extraction from executable code in message passing environments |
US9575813B2 (en) | 2012-07-17 | 2017-02-21 | Microsoft Technology Licensing, Llc | Pattern matching process scheduler with upstream optimization |
US8707326B2 (en) | 2012-07-17 | 2014-04-22 | Concurix Corporation | Pattern matching process scheduler in message passing environment |
US9043788B2 (en) | 2012-08-10 | 2015-05-26 | Concurix Corporation | Experiment manager for manycore systems |
US9063721B2 (en) | 2012-09-14 | 2015-06-23 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US11032259B1 (en) | 2012-09-26 | 2021-06-08 | Pure Storage, Inc. | Data protection in a storage system |
US8745415B2 (en) | 2012-09-26 | 2014-06-03 | Pure Storage, Inc. | Multi-drive cooperation to generate an encryption key |
US10623386B1 (en) | 2012-09-26 | 2020-04-14 | Pure Storage, Inc. | Secret sharing data protection in a storage system |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9928469B1 (en) * | 2012-10-02 | 2018-03-27 | Amazon Technologies, Inc. | Techniques for administrating finite life instances |
US8656135B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed prior to execution |
US8607018B2 (en) | 2012-11-08 | 2013-12-10 | Concurix Corporation | Memory usage configuration based on observations |
US8656134B2 (en) | 2012-11-08 | 2014-02-18 | Concurix Corporation | Optimized memory configuration deployed on executing code |
US11768623B2 (en) | 2013-01-10 | 2023-09-26 | Pure Storage, Inc. | Optimizing generalized transfers between storage systems |
US10908835B1 (en) | 2013-01-10 | 2021-02-02 | Pure Storage, Inc. | Reversing deletion of a virtual machine |
US9063967B2 (en) | 2013-01-10 | 2015-06-23 | Pure Storage, Inc. | Performing copies in a storage system |
US11733908B2 (en) | 2013-01-10 | 2023-08-22 | Pure Storage, Inc. | Delaying deletion of a dataset |
US9081654B2 (en) | 2013-01-18 | 2015-07-14 | Microsoft Technology Licensing, Llc | Common lease agent for cluster communication |
US10275397B2 (en) | 2013-02-22 | 2019-04-30 | Veritas Technologies Llc | Deduplication storage system with efficient reference updating and space reclamation |
US11567907B2 (en) | 2013-03-14 | 2023-01-31 | Workshare, Ltd. | Method and system for comparing document versions encoded in a hierarchical representation |
US9665474B2 (en) | 2013-03-15 | 2017-05-30 | Microsoft Technology Licensing, Llc | Relationships derived from trace data |
US9552382B2 (en) | 2013-04-23 | 2017-01-24 | Exablox Corporation | Reference counter integrity checking |
US20140351151A1 (en) * | 2013-05-23 | 2014-11-27 | International Business Machines Corporation | Providing a lease period determination |
EP3008647A4 (en) | 2013-06-12 | 2017-01-25 | Exablox Corporation | Hybrid garbage collection |
US9715521B2 (en) | 2013-06-19 | 2017-07-25 | Storagecraft Technology Corporation | Data scrubbing in cluster-based storage systems |
US9934242B2 (en) | 2013-07-10 | 2018-04-03 | Exablox Corporation | Replication of data between mirrored data sites |
US10911492B2 (en) | 2013-07-25 | 2021-02-02 | Workshare Ltd. | System and method for securing documents prior to transmission |
US10248556B2 (en) | 2013-10-16 | 2019-04-02 | Exablox Corporation | Forward-only paged data storage management where virtual cursor moves in only one direction from header of a session to data field of the session |
US11128448B1 (en) | 2013-11-06 | 2021-09-21 | Pure Storage, Inc. | Quorum-aware secret sharing |
US10365858B2 (en) | 2013-11-06 | 2019-07-30 | Pure Storage, Inc. | Thin provisioning in a storage device |
US10263770B2 (en) | 2013-11-06 | 2019-04-16 | Pure Storage, Inc. | Data protection in a storage system using external secrets |
US9985829B2 (en) | 2013-12-12 | 2018-05-29 | Exablox Corporation | Management and provisioning of cloud connected devices |
US9208086B1 (en) | 2014-01-09 | 2015-12-08 | Pure Storage, Inc. | Using frequency domain to prioritize storage of metadata in a cache |
US9774582B2 (en) | 2014-02-03 | 2017-09-26 | Exablox Corporation | Private cloud connected device cluster architecture |
EP3103025B1 (en) | 2014-02-04 | 2019-07-10 | Exablox Corporation | Content based organization of file systems |
US10656864B2 (en) | 2014-03-20 | 2020-05-19 | Pure Storage, Inc. | Data replication within a flash storage array |
US9779268B1 (en) | 2014-06-03 | 2017-10-03 | Pure Storage, Inc. | Utilizing a non-repeating identifier to encrypt data |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9218407B1 (en) | 2014-06-25 | 2015-12-22 | Pure Storage, Inc. | Replication and intermediate read-write state for mediums |
US10496556B1 (en) | 2014-06-25 | 2019-12-03 | Pure Storage, Inc. | Dynamic data protection within a flash storage system |
US10296469B1 (en) | 2014-07-24 | 2019-05-21 | Pure Storage, Inc. | Access control in a flash storage system |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US9864761B1 (en) | 2014-08-08 | 2018-01-09 | Pure Storage, Inc. | Read optimization operations in a storage system |
US10430079B2 (en) | 2014-09-08 | 2019-10-01 | Pure Storage, Inc. | Adjusting storage capacity in a computing system |
US10164841B2 (en) | 2014-10-02 | 2018-12-25 | Pure Storage, Inc. | Cloud assist for storage systems |
US10430282B2 (en) | 2014-10-07 | 2019-10-01 | Pure Storage, Inc. | Optimizing replication by distinguishing user and system write activity |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9727485B1 (en) | 2014-11-24 | 2017-08-08 | Pure Storage, Inc. | Metadata rewrite and flatten optimization |
CN104393185B (zh) * | 2014-11-25 | 2017-05-24 | 京东方科技集团股份有限公司 | 一种叠层有机电致发光器件及其制作方法 |
US9773007B1 (en) | 2014-12-01 | 2017-09-26 | Pure Storage, Inc. | Performance improvements in a storage system |
US9588842B1 (en) | 2014-12-11 | 2017-03-07 | Pure Storage, Inc. | Drive rebuild |
US9552248B2 (en) | 2014-12-11 | 2017-01-24 | Pure Storage, Inc. | Cloud alert to replica |
US9864769B2 (en) | 2014-12-12 | 2018-01-09 | Pure Storage, Inc. | Storing data utilizing repeating pattern detection |
US10545987B2 (en) | 2014-12-19 | 2020-01-28 | Pure Storage, Inc. | Replication to the cloud |
US11182551B2 (en) | 2014-12-29 | 2021-11-23 | Workshare Ltd. | System and method for determining document version geneology |
US10133723B2 (en) | 2014-12-29 | 2018-11-20 | Workshare Ltd. | System and method for determining document version geneology |
US11947968B2 (en) | 2015-01-21 | 2024-04-02 | Pure Storage, Inc. | Efficient use of zone in a storage device |
US10296354B1 (en) | 2015-01-21 | 2019-05-21 | Pure Storage, Inc. | Optimized boot operations within a flash storage array |
US9710165B1 (en) | 2015-02-18 | 2017-07-18 | Pure Storage, Inc. | Identifying volume candidates for space reclamation |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US20180077029A1 (en) * | 2015-04-08 | 2018-03-15 | Hewlett Packard Enterprise Development Lp | Managing cost related to usage of cloud resources |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
WO2016183564A1 (en) | 2015-05-14 | 2016-11-17 | Walleye Software, LLC | Data store access permission system with interleaved application of deferred access control filters |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US20170024301A1 (en) * | 2015-07-23 | 2017-01-26 | Netapp, Inc. | Cross-component status indicators |
US11763013B2 (en) | 2015-08-07 | 2023-09-19 | Workshare, Ltd. | Transaction document management system and method |
US20170060924A1 (en) | 2015-08-26 | 2017-03-02 | Exablox Corporation | B-Tree Based Data Model for File Systems |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US11269884B2 (en) | 2015-09-04 | 2022-03-08 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
KR20170028825A (ko) | 2015-09-04 | 2017-03-14 | 퓨어 스토리지, 아이앤씨. | 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색 |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US10841148B2 (en) | 2015-12-13 | 2020-11-17 | Microsoft Technology Licensing, Llc. | Disaster recovery of cloud resources |
US10097581B1 (en) | 2015-12-28 | 2018-10-09 | Amazon Technologies, Inc. | Honeypot computing services that include simulated computing resources |
US10320841B1 (en) | 2015-12-28 | 2019-06-11 | Amazon Technologies, Inc. | Fraud score heuristic for identifying fradulent requests or sets of requests |
US11290486B1 (en) * | 2015-12-28 | 2022-03-29 | Amazon Technologies, Inc. | Allocating defective computing resources for honeypot services |
US10459909B2 (en) * | 2016-01-13 | 2019-10-29 | Walmart Apollo, Llc | System for providing a time-limited mutual exclusivity lock and method therefor |
US10133503B1 (en) | 2016-05-02 | 2018-11-20 | Pure Storage, Inc. | Selecting a deduplication process based on a difference between performance metrics |
US10452297B1 (en) | 2016-05-02 | 2019-10-22 | Pure Storage, Inc. | Generating and optimizing summary index levels in a deduplication storage system |
US9846553B2 (en) | 2016-05-04 | 2017-12-19 | Exablox Corporation | Organization and management of key-value stores |
US10114712B2 (en) | 2016-06-29 | 2018-10-30 | Microsoft Technology Licensing, Llc | Failure detection via implicit leases in distributed computing systems |
US10055315B2 (en) | 2016-06-29 | 2018-08-21 | Microsoft Technology Licensing, Llc | Failure monitoring in distributed computing systems |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US10162523B2 (en) | 2016-10-04 | 2018-12-25 | Pure Storage, Inc. | Migrating data between volumes using virtual copy operation |
US10545861B2 (en) | 2016-10-04 | 2020-01-28 | Pure Storage, Inc. | Distributed integrated high-speed solid-state non-volatile random-access memory |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US10191662B2 (en) | 2016-10-04 | 2019-01-29 | Pure Storage, Inc. | Dynamic allocation of segments in a flash storage system |
US10481798B2 (en) | 2016-10-28 | 2019-11-19 | Pure Storage, Inc. | Efficient flash management for multiple controllers |
US10185505B1 (en) | 2016-10-28 | 2019-01-22 | Pure Storage, Inc. | Reading a portion of data to replicate a volume based on sequence numbers |
US10359942B2 (en) | 2016-10-31 | 2019-07-23 | Pure Storage, Inc. | Deduplication aware scalable content placement |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US10452290B2 (en) | 2016-12-19 | 2019-10-22 | Pure Storage, Inc. | Block consolidation in a direct-mapped flash storage system |
US11093146B2 (en) | 2017-01-12 | 2021-08-17 | Pure Storage, Inc. | Automatic load rebalancing of a write group |
TWI612473B (zh) | 2017-03-22 | 2018-01-21 | 慧榮科技股份有限公司 | 垃圾回收方法以及使用該方法的裝置 |
US10637919B2 (en) | 2017-03-23 | 2020-04-28 | Microsoft Technology Licensing, Llc | Autonomous resource governor in distributed systems for protecting shared resources |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11403019B2 (en) | 2017-04-21 | 2022-08-02 | Pure Storage, Inc. | Deduplication-aware per-tenant encryption |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10133658B1 (en) * | 2017-05-02 | 2018-11-20 | Google Llc | Garbage collection for data storage |
US10089235B1 (en) | 2017-07-28 | 2018-10-02 | Citrix Systems, Inc. | Dynamic trim processing with disk caching |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10866943B1 (en) | 2017-08-24 | 2020-12-15 | Deephaven Data Labs Llc | Keyed row selection |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US10776202B1 (en) | 2017-09-22 | 2020-09-15 | Pure Storage, Inc. | Drive, blade, or data shard decommission via RAID geometry shrinkage |
US10789211B1 (en) | 2017-10-04 | 2020-09-29 | Pure Storage, Inc. | Feature-based deduplication |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10970395B1 (en) | 2018-01-18 | 2021-04-06 | Pure Storage, Inc | Security threat monitoring for a storage system |
US11010233B1 (en) | 2018-01-18 | 2021-05-18 | Pure Storage, Inc | Hardware-based system monitoring |
US11144638B1 (en) | 2018-01-18 | 2021-10-12 | Pure Storage, Inc. | Method for storage system detection and alerting on potential malicious action |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
CN108491264A (zh) * | 2018-03-05 | 2018-09-04 | 国云科技股份有限公司 | 一种适用于异构云的统一资源回收管理方法 |
US11934322B1 (en) | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US11995336B2 (en) | 2018-04-25 | 2024-05-28 | Pure Storage, Inc. | Bucket views |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10678433B1 (en) | 2018-04-27 | 2020-06-09 | Pure Storage, Inc. | Resource-preserving system upgrade |
US10678436B1 (en) | 2018-05-29 | 2020-06-09 | Pure Storage, Inc. | Using a PID controller to opportunistically compress more data during garbage collection |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US10776046B1 (en) | 2018-06-08 | 2020-09-15 | Pure Storage, Inc. | Optimized non-uniform memory access |
US11281577B1 (en) | 2018-06-19 | 2022-03-22 | Pure Storage, Inc. | Garbage collection tuning for low drive wear |
US11869586B2 (en) | 2018-07-11 | 2024-01-09 | Pure Storage, Inc. | Increased data protection by recovering data from partially-failed solid-state devices |
US11194759B2 (en) | 2018-09-06 | 2021-12-07 | Pure Storage, Inc. | Optimizing local data relocation operations of a storage device of a storage system |
US11133076B2 (en) | 2018-09-06 | 2021-09-28 | Pure Storage, Inc. | Efficient relocation of data between storage devices of a storage system |
US10846216B2 (en) | 2018-10-25 | 2020-11-24 | Pure Storage, Inc. | Scalable garbage collection |
US11113409B2 (en) | 2018-10-26 | 2021-09-07 | Pure Storage, Inc. | Efficient rekey in a transparent decrypting storage array |
CN109471729B (zh) * | 2018-11-15 | 2024-05-14 | 平安科技(深圳)有限公司 | 基于递归的资源清理方法及装置 |
US10673749B1 (en) | 2018-12-28 | 2020-06-02 | Paypal, Inc. | Peer-to-peer application layer distributed mesh routing |
US11194473B1 (en) | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US11588633B1 (en) | 2019-03-15 | 2023-02-21 | Pure Storage, Inc. | Decommissioning keys in a decryption storage system |
WO2020190558A1 (en) * | 2019-03-15 | 2020-09-24 | Fungible, Inc. | Providing scalable and concurrent file systems |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11397674B1 (en) | 2019-04-03 | 2022-07-26 | Pure Storage, Inc. | Optimizing garbage collection across heterogeneous flash devices |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11487665B2 (en) | 2019-06-05 | 2022-11-01 | Pure Storage, Inc. | Tiered caching of data in a storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US10929046B2 (en) | 2019-07-09 | 2021-02-23 | Pure Storage, Inc. | Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11086713B1 (en) | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
US11963321B2 (en) | 2019-09-11 | 2024-04-16 | Pure Storage, Inc. | Low profile latching mechanism |
DE102019215292A1 (de) * | 2019-10-04 | 2021-04-08 | Robert Bosch Gmbh | Datenstruktur, Speichermittel und Vorrichtung |
US11403043B2 (en) | 2019-10-15 | 2022-08-02 | Pure Storage, Inc. | Efficient data compression by grouping similar data within a data segment |
US11720692B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Hardware token based management of recovery datasets for a storage system |
US11651075B2 (en) | 2019-11-22 | 2023-05-16 | Pure Storage, Inc. | Extensible attack monitoring by a storage system |
US11755751B2 (en) | 2019-11-22 | 2023-09-12 | Pure Storage, Inc. | Modify access restrictions in response to a possible attack against data stored by a storage system |
US11657155B2 (en) | 2019-11-22 | 2023-05-23 | Pure Storage, Inc | Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system |
US11675898B2 (en) | 2019-11-22 | 2023-06-13 | Pure Storage, Inc. | Recovery dataset management for security threat monitoring |
US11341236B2 (en) | 2019-11-22 | 2022-05-24 | Pure Storage, Inc. | Traffic-based detection of a security threat to a storage system |
US11645162B2 (en) | 2019-11-22 | 2023-05-09 | Pure Storage, Inc. | Recovery point determination for data restoration in a storage system |
US11941116B2 (en) | 2019-11-22 | 2024-03-26 | Pure Storage, Inc. | Ransomware-based data protection parameter modification |
US11687418B2 (en) | 2019-11-22 | 2023-06-27 | Pure Storage, Inc. | Automatic generation of recovery plans specific to individual storage elements |
US11720714B2 (en) | 2019-11-22 | 2023-08-08 | Pure Storage, Inc. | Inter-I/O relationship based detection of a security threat to a storage system |
US11615185B2 (en) | 2019-11-22 | 2023-03-28 | Pure Storage, Inc. | Multi-layer security threat detection for a storage system |
US11625481B2 (en) | 2019-11-22 | 2023-04-11 | Pure Storage, Inc. | Selective throttling of operations potentially related to a security threat to a storage system |
US11500788B2 (en) | 2019-11-22 | 2022-11-15 | Pure Storage, Inc. | Logical address based authorization of operations with respect to a storage system |
US11520907B1 (en) | 2019-11-22 | 2022-12-06 | Pure Storage, Inc. | Storage system snapshot retention based on encrypted data |
Family Cites Families (293)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE319706B (ja) | 1965-03-05 | 1970-01-19 | Aga Ab | |
FR2476349A1 (fr) | 1980-02-15 | 1981-08-21 | Philips Ind Commerciale | Systeme de traitement de donnees reparti |
US4491946A (en) | 1981-03-09 | 1985-01-01 | Gould Inc. | Multi-station token pass communication system |
AU556499B2 (en) | 1981-05-22 | 1986-11-06 | Data General Corporation | Data processing system |
US4558413A (en) | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
JPH0640302B2 (ja) | 1984-01-30 | 1994-05-25 | 株式会社日立製作所 | 図式・ソ−スプログラム自動生成方法 |
US4567359A (en) | 1984-05-24 | 1986-01-28 | Lockwood Lawrence B | Automatic information, goods and services dispensing system |
US4823122A (en) | 1984-06-01 | 1989-04-18 | Digital Equipment Corporation | Local area network for digital data processing system |
US4956733A (en) | 1985-07-29 | 1990-09-11 | Tandon Corporation | Storage media transducer loading/unloading and carriage lock mechanism |
US4809160A (en) | 1985-10-28 | 1989-02-28 | Hewlett-Packard Company | Privilege level checking instruction for implementing a secure hierarchical computer system |
US4800488A (en) * | 1985-11-12 | 1989-01-24 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of propagating resource information in a computer network |
US4713806A (en) | 1986-03-14 | 1987-12-15 | American Telephone And Telegraph Company, At&T Bell Laboratories | Communication system control arrangement |
US4819233A (en) * | 1987-04-08 | 1989-04-04 | Westinghouse Electric Corp. | Verification of computer software |
US4939638A (en) | 1988-02-23 | 1990-07-03 | Stellar Computer Inc. | Time sliced vector processing |
EP0486475B1 (en) | 1988-03-03 | 1997-12-03 | Asahi Glass Company Ltd. | Amorphous oxide film and article having such film thereon |
US5724540A (en) | 1988-03-28 | 1998-03-03 | Hitachi, Ltd. | Memory system having a column address counter and a page address counter |
US5287511A (en) | 1988-07-11 | 1994-02-15 | Star Semiconductor Corporation | Architectures and methods for dividing processing tasks into tasks for a programmable real time signal processor and tasks for a decision making microprocessor interfacing therewith |
US4979105A (en) | 1988-07-19 | 1990-12-18 | International Business Machines | Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system |
JPH0293952A (ja) | 1988-09-30 | 1990-04-04 | Hitachi Ltd | 仮想計算機システム |
US5133075A (en) | 1988-12-19 | 1992-07-21 | Hewlett-Packard Company | Method of monitoring changes in attribute values of object in an object-oriented database |
US5109486A (en) | 1989-01-06 | 1992-04-28 | Motorola, Inc. | Distributed computer system with network and resource status monitoring |
US5088036A (en) * | 1989-01-17 | 1992-02-11 | Digital Equipment Corporation | Real time, concurrent garbage collection system and method |
US5341477A (en) | 1989-02-24 | 1994-08-23 | Digital Equipment Corporation | Broker for computer network server selection |
DE69030340T2 (de) | 1989-02-24 | 1997-11-20 | Digital Equipment Corp | Makler für die Auswahl von Rechnernetzwerkservern |
US4992940A (en) | 1989-03-13 | 1991-02-12 | H-Renee, Incorporated | System and method for automated selection of equipment for purchase through input of user desired specifications |
US5305196A (en) * | 1989-05-01 | 1994-04-19 | Credit Verification Corporation | Check transaction processing, database building and marketing method and system utilizing automatic check reading |
JP3059742B2 (ja) | 1989-06-08 | 2000-07-04 | 旭化成工業株式会社 | ポリアセタール共重合体及びその組成物 |
US5297283A (en) | 1989-06-29 | 1994-03-22 | Digital Equipment Corporation | Object transferring system and method in an object based computer operating system |
US5557798A (en) * | 1989-07-27 | 1996-09-17 | Tibco, Inc. | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
US5257369A (en) | 1990-10-22 | 1993-10-26 | Skeen Marion D | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
US5187787B1 (en) * | 1989-07-27 | 1996-05-07 | Teknekron Software Systems Inc | Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes |
US5218699A (en) | 1989-08-24 | 1993-06-08 | International Business Machines Corporation | Remote procedure calls in heterogeneous systems |
US5253165A (en) | 1989-12-18 | 1993-10-12 | Eduardo Leiseca | Computerized reservations and scheduling system |
CA2047737A1 (en) | 1989-12-26 | 1991-06-27 | Shigeru Aoe | Object oriented distributed processing system |
GB2242293A (en) | 1990-01-05 | 1991-09-25 | Apple Computer | Apparatus and method for dynamic linking of computer software components |
AU628753B2 (en) | 1990-08-14 | 1992-09-17 | Digital Equipment Corporation | Method and apparatus for implementing server functions in a distributed heterogeneous environment |
AU639802B2 (en) | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
US5446897A (en) | 1990-08-31 | 1995-08-29 | International Business Machines Corporation | Automated address discovery method and apparatus for local area networks |
DE69132279T2 (de) | 1990-09-17 | 2001-01-18 | Cabletron Systems Inc | Verfahren zur Isolierung eines Netzwerkfehlers |
US5319542A (en) | 1990-09-27 | 1994-06-07 | International Business Machines Corporation | System for ordering items using an electronic catalogue |
ATE116456T1 (de) | 1990-10-19 | 1995-01-15 | Cray Research Inc | Skalierbares parallel-vektorrechnersystem. |
US5327559A (en) | 1990-10-23 | 1994-07-05 | International Business Machines Corporation | Remote and batch processing in an object oriented programming system |
WO1992009948A1 (en) | 1990-11-30 | 1992-06-11 | Vpl Research, Inc. | Improved method and apparatus for creating virtual worlds |
JPH0799497B2 (ja) | 1990-12-14 | 1995-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ソフトウェアの使用を管理するための装置及び方法 |
EP0497022B1 (en) * | 1991-01-31 | 1999-04-07 | Hewlett-Packard Company | Conference system |
IE910553A1 (en) | 1991-02-19 | 1992-08-26 | Tolsys Ltd | Improvements in and relating to stable memory circuits |
DE69228621T2 (de) | 1991-02-25 | 1999-07-22 | Hewlett Packard Co | Objektorientiertes verteiltes Rechnersystem |
EP0501613A3 (en) | 1991-02-28 | 1993-09-01 | Hewlett-Packard Company | Heterogeneous software configuration management apparatus |
US5293614A (en) * | 1991-04-08 | 1994-03-08 | Texas Instruments Incorporated | System and method for hard real-time garbage collection requiring a write barrier but no read barrier |
US5940504A (en) * | 1991-07-01 | 1999-08-17 | Infologic Software, Inc. | Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site |
US5481721A (en) | 1991-07-17 | 1996-01-02 | Next Computer, Inc. | Method for providing automatic and dynamic translation of object oriented programming language-based message passing into operation system message passing using proxy objects |
FR2680255B1 (fr) | 1991-08-09 | 1994-01-28 | Gerbaulet Jean Pierre | Dispositif pour une meilleure gestion des operations courantes d'achat de produits et de services. |
JPH0797782B2 (ja) | 1991-09-18 | 1995-10-18 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 異種トランザクションの調整方法 |
DE4131380A1 (de) | 1991-09-20 | 1993-03-25 | Siemens Ag | Verfahren zur adaption einer objektorientierten applikation |
JPH05233326A (ja) | 1991-12-19 | 1993-09-10 | Internatl Business Mach Corp <Ibm> | コンピュータシステムにおいて事象を取り扱う方法及びシステム |
JPH05173988A (ja) | 1991-12-26 | 1993-07-13 | Toshiba Corp | 分散処理方式および該分散処理に適用されるトランザクション処理方式 |
US5319751A (en) | 1991-12-27 | 1994-06-07 | Intel Corporation | Device driver configuration in a computer system |
US5826017A (en) | 1992-02-10 | 1998-10-20 | Lucent Technologies | Apparatus and method for communicating data between elements of a distributed system using a general protocol |
US5303042A (en) | 1992-03-25 | 1994-04-12 | One Touch Systems, Inc. | Computer-implemented method and apparatus for remote educational instruction |
US5390328A (en) | 1992-03-30 | 1995-02-14 | International Business Machines Corporation | Data processing system and method for providing notification in a central processor of state changes for shared data structure on external storage |
US5553305A (en) | 1992-04-14 | 1996-09-03 | International Business Machines Corporation | System for synchronizing execution by a processing element of threads within a process using a state indicator |
US5353343A (en) | 1992-04-30 | 1994-10-04 | Rockwell International Corporation | Telephonic switching system with a user controlled data memory access system and method |
US5412717A (en) | 1992-05-15 | 1995-05-02 | Fischer; Addison M. | Computer system security method and apparatus having program authorization information data structures |
JP3612652B2 (ja) * | 1992-06-18 | 2005-01-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレイシヨン | ローカル・コンピュータ上で実行されるローカル・タスクによってリモート・コンピュータ上のリモート・タスクを実行する方法 |
US5339430A (en) | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
ATE187268T1 (de) | 1992-07-06 | 1999-12-15 | Microsoft Corp | Verfahren zur namensgebung und zur bindung von objekten |
FI91456C (fi) * | 1992-07-29 | 1994-06-27 | Nokia Telecommunications Oy | Menetelmä tietokoneessa varattujen resurssien hallitsemiseksi |
US5307490A (en) | 1992-08-28 | 1994-04-26 | Tandem Computers, Inc. | Method and system for implementing remote procedure calls in a distributed computer system |
JP2524472B2 (ja) | 1992-09-21 | 1996-08-14 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 電話回線利用の音声認識システムを訓練する方法 |
US5423042A (en) | 1992-10-23 | 1995-06-06 | International Business Machines Corporation | Remote procedure execution |
US5561785A (en) * | 1992-10-29 | 1996-10-01 | International Business Machines Corporation | System for allocating and returning storage and collecting garbage using subpool of available blocks |
DE69309485T2 (de) | 1992-11-13 | 1997-07-10 | Microsoft Corp | Verfahren zur verteilung von schnittstellenzeigern fur fernprozeduranrufe |
US5515536A (en) | 1992-11-13 | 1996-05-07 | Microsoft Corporation | Method and system for invoking methods of an object through a dispatching interface |
US5511196A (en) | 1992-11-17 | 1996-04-23 | International Business Machines Corporation | Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment |
US5386568A (en) | 1992-12-01 | 1995-01-31 | Yamaha Corporation | Apparatus and method for linking software modules |
EP0602263A1 (en) | 1992-12-15 | 1994-06-22 | International Business Machines Corporation | User interface program generator |
US5560003A (en) * | 1992-12-21 | 1996-09-24 | Iowa State University Research Foundation, Inc. | System and hardware module for incremental real time garbage collection and memory management |
US5452459A (en) * | 1993-01-08 | 1995-09-19 | Digital Equipment Corporation | Method and apparatus for allocating server access in a distributed computing environment |
EP0613083B1 (en) | 1993-02-25 | 2002-01-23 | Sun Microsystems, Inc. | Transaction management in object oriented systems |
JP2557192B2 (ja) | 1993-03-15 | 1996-11-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | トランザクション処理の同期方法、トランザクション処理のモニタ方法及びトランザクションのコミット処理方法 |
US5548724A (en) | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
US5475840A (en) | 1993-04-13 | 1995-12-12 | Sun Microsystems, Inc. | High performance dynamic linking through caching |
US5832593A (en) | 1993-04-14 | 1998-11-10 | Minnesota Mining And Manufacturing Company | Splice head for insulated telecommunication wires |
US5459837A (en) | 1993-04-21 | 1995-10-17 | Digital Equipment Corporation | System to facilitate efficient utilization of network resources in a computer network |
EP0651898A4 (en) | 1993-05-20 | 2003-01-08 | Moore Business Forms Inc | COMPUTER INTEGRATION NETWORK FOR ROUTING CLIENT ORDERS FROM A CENTRAL COMPUTER TO DIFFERENT SUPPLIERS |
CA2121612A1 (en) | 1993-05-21 | 1994-11-22 | Chung-Hwa Herman Rao | Methods and apparatus for making and using distributed applications |
US5794207A (en) | 1996-09-04 | 1998-08-11 | Walker Asset Management Limited Partnership | Method and apparatus for a cryptographically assisted commercial network system designed to facilitate buyer-driven conditional purchase offers |
US5446901A (en) * | 1993-06-30 | 1995-08-29 | Digital Equipment Corporation | Fault tolerant distributed garbage collection system and method for collecting network objects |
US5506984A (en) | 1993-06-30 | 1996-04-09 | Digital Equipment Corporation | Method and system for data retrieval in a distributed system using linked location references on a plurality of nodes |
US5603031A (en) * | 1993-07-08 | 1997-02-11 | General Magic, Inc. | System and method for distributed computation based upon the movement, execution, and interaction of processes in a network |
EP0635792B1 (de) | 1993-07-16 | 2003-08-27 | Siemens Aktiengesellschaft | Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen |
US5666493A (en) | 1993-08-24 | 1997-09-09 | Lykes Bros., Inc. | System for managing customer orders and method of implementation |
US5844553A (en) | 1993-08-30 | 1998-12-01 | Hewlett-Packard Company | Mechanism to control and use window events among applications in concurrent computing |
US5617537A (en) | 1993-10-05 | 1997-04-01 | Nippon Telegraph And Telephone Corporation | Message passing system for distributed shared memory multiprocessor system and message passing method using the same |
US5590181A (en) * | 1993-10-15 | 1996-12-31 | Link Usa Corporation | Call-processing system and method |
CA2118169A1 (en) | 1993-10-27 | 1995-04-28 | Michael R.C. Seaman | Event architecture for system management in an operating system |
US5455952A (en) | 1993-11-03 | 1995-10-03 | Cardinal Vision, Inc. | Method of computing based on networks of dependent objects |
US5742848A (en) | 1993-11-16 | 1998-04-21 | Microsoft Corp. | System for passing messages between source object and target object utilizing generic code in source object to invoke any member function of target object by executing the same instructions |
US5581704A (en) | 1993-12-06 | 1996-12-03 | Panasonic Technologies, Inc. | System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client |
US5485617A (en) | 1993-12-13 | 1996-01-16 | Microsoft Corporation | Method and system for dynamically generating object connections |
US5548726A (en) | 1993-12-17 | 1996-08-20 | Taligeni, Inc. | System for activating new service in client server network by reconfiguring the multilayer network protocol stack dynamically within the server node |
AU6702594A (en) * | 1993-12-17 | 1995-07-03 | Taligent, Inc. | Object-oriented distributed communications directory service |
US5594921A (en) | 1993-12-17 | 1997-01-14 | Object Technology Licensing Corp. | Authentication of users with dynamically configurable protocol stack |
WO1995019008A1 (en) | 1994-01-05 | 1995-07-13 | Covey Peter J | Dynamic-state, multi-dimensional, multi-media database |
US5832219A (en) | 1994-02-08 | 1998-11-03 | Object Technology Licensing Corp. | Distributed object networking service |
US5845090A (en) | 1994-02-14 | 1998-12-01 | Platinium Technology, Inc. | System for software distribution in a digital computer network |
US5664111A (en) | 1994-02-16 | 1997-09-02 | Honicorp, Inc. | Computerized, multimedia, network, real time, interactive marketing and transactional system |
US5592375A (en) | 1994-03-11 | 1997-01-07 | Eagleview, Inc. | Computer-assisted system for interactively brokering goods or services between buyers and sellers |
US5392280A (en) | 1994-04-07 | 1995-02-21 | Mitsubishi Electric Research Laboratories, Inc. | Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks |
US5675796A (en) | 1994-04-08 | 1997-10-07 | Microsoft Corporation | Concurrency management component for use by a computer program during the transfer of a message |
US6216138B1 (en) | 1994-04-22 | 2001-04-10 | Brooks Automation Inc. | Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships |
US5680617A (en) | 1994-05-16 | 1997-10-21 | Apple Computer, Inc. | Computer-human interface which provides for user customization of object behavior |
US5675797A (en) | 1994-05-24 | 1997-10-07 | International Business Machines Corporation | Goal-oriented resource allocation manager and performance index technique for servers |
EP0684553B1 (en) | 1994-05-26 | 2004-06-16 | Sun Microsystems, Inc. | Method and apparatus for generating and using short operation identifiers in object oriented systems |
US5655148A (en) * | 1994-05-27 | 1997-08-05 | Microsoft Corporation | Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information |
US5664191A (en) | 1994-06-30 | 1997-09-02 | Microsoft Corporation | Method and system for improving the locality of memory references during execution of a computer program |
US5680573A (en) * | 1994-07-12 | 1997-10-21 | Sybase, Inc. | Method of buffering data objects in a database |
US5634008A (en) | 1994-07-18 | 1997-05-27 | International Business Machines Corporation | Method and system for threshold occurrence detection in a communications network |
GB9414951D0 (en) | 1994-07-25 | 1994-09-14 | British Telecomm | Computer system having client-server architecture |
US5778228A (en) | 1994-08-16 | 1998-07-07 | International Business Machines Corporation | Method and system for transferring remote procedure calls and responses over a network |
US5922054A (en) | 1994-08-19 | 1999-07-13 | Canon Kabushiki Kaisha | System for managing external applications and files |
US5555367A (en) | 1994-09-30 | 1996-09-10 | General Electric Company | Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams |
AU3415595A (en) | 1994-10-04 | 1996-04-26 | Banctec, Inc. | An object-oriented computer environment and related method |
US5586312A (en) | 1994-10-11 | 1996-12-17 | Unisys Corporation | Method and apparatus for using an independent transaction processing application as a service routine |
US5715314A (en) | 1994-10-24 | 1998-02-03 | Open Market, Inc. | Network sales system |
US5961582A (en) | 1994-10-25 | 1999-10-05 | Acorn Technologies, Inc. | Distributed and portable execution environment |
US6009413A (en) | 1994-11-10 | 1999-12-28 | America Online, Inc. | System for real time shopping |
JP4058118B2 (ja) | 1994-11-15 | 2008-03-05 | 株式会社日立製作所 | プログラム生成システム及び方法 |
US5577231A (en) | 1994-12-06 | 1996-11-19 | International Business Machines Corporation | Storage access authorization controls in a computer system using dynamic translation of large addresses |
US5664110A (en) | 1994-12-08 | 1997-09-02 | Highpoint Systems, Inc. | Remote ordering system |
US5644768A (en) * | 1994-12-09 | 1997-07-01 | Borland International, Inc. | Systems and methods for sharing resources in a multi-user environment |
US5553282A (en) | 1994-12-09 | 1996-09-03 | Taligent, Inc. | Software project history database and method of operation |
EP0717337B1 (en) | 1994-12-13 | 2001-08-01 | International Business Machines Corporation | Method and system for the secured distribution of programs |
JP2000503785A (ja) | 1994-12-13 | 2000-03-28 | ノベル,インコーポレイテッド | ネットワークディレクトリを更新または変更するための方法ならびにその装置 |
US5677851A (en) | 1994-12-15 | 1997-10-14 | Novell, Inc. | Method and apparatus to secure digital directory object changes |
US5608903A (en) | 1994-12-15 | 1997-03-04 | Novell, Inc. | Method and apparatus for moving subtrees in a distributed network directory |
US5630066A (en) | 1994-12-20 | 1997-05-13 | Sun Microsystems, Inc. | System and method for locating object view and platform independent object |
US5889988A (en) * | 1995-01-03 | 1999-03-30 | Intel Corporation | Debugger for debugging tasks in an operating system virtual device driver |
US5491791A (en) * | 1995-01-13 | 1996-02-13 | International Business Machines Corporation | System and method for remote workstation monitoring within a distributed computing environment |
US5680610A (en) | 1995-01-19 | 1997-10-21 | Unisys Corporation | Method and apparatus for testing recovery scenarios in global transaction processing systems |
US5687370A (en) * | 1995-01-31 | 1997-11-11 | Next Software, Inc. | Transparent local and distributed memory management system |
US5872928A (en) | 1995-02-24 | 1999-02-16 | Cabletron Systems, Inc. | Method and apparatus for defining and enforcing policies for configuration management in communications networks |
JPH08235260A (ja) | 1995-03-01 | 1996-09-13 | Fujitsu Ltd | マルチメディア通信システム |
EP0735472A3 (en) | 1995-03-31 | 2000-01-19 | Sun Microsystems, Inc. | Method and apparatus for conspiracy among objects |
US5727203A (en) * | 1995-03-31 | 1998-03-10 | Sun Microsystems, Inc. | Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache |
US6363409B1 (en) * | 1995-04-24 | 2002-03-26 | Microsoft Corporation | Automatic client/server translation and execution of non-native applications |
US5721832A (en) | 1995-05-12 | 1998-02-24 | Regal Greetings & Gifts Inc. | Method and apparatus for an interactive computerized catalog system |
US5812819A (en) * | 1995-06-05 | 1998-09-22 | Shiva Corporation | Remote access apparatus and method which allow dynamic internet protocol (IP) address management |
US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
US5628005A (en) | 1995-06-07 | 1997-05-06 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment |
US5903731A (en) | 1995-06-14 | 1999-05-11 | Us West Technologies, Inc. | System and associated method for re-engineering a telecommunications network support system with object-oriented translators |
US5761656A (en) | 1995-06-26 | 1998-06-02 | Netdynamics, Inc. | Interaction between databases and graphical user interfaces |
US5790677A (en) | 1995-06-29 | 1998-08-04 | Microsoft Corporation | System and method for secure electronic commerce transactions |
US5802367A (en) | 1995-07-07 | 1998-09-01 | Microsoft Corporation | Method and system for transparently executing code using a surrogate process |
US5745703A (en) | 1995-07-18 | 1998-04-28 | Nec Research Institute, Inc. | Transmission of higher-order objects across a network of heterogeneous machines |
US5734706A (en) * | 1995-07-27 | 1998-03-31 | Windsor; Victoria Brein | Caller identification and data retrieval system |
US5644720A (en) | 1995-07-31 | 1997-07-01 | West Publishing Company | Interprocess communications interface for managing transaction requests |
US5805805A (en) | 1995-08-04 | 1998-09-08 | At&T Corp. | Symmetric method and apparatus for interconnecting emulated lans |
US5774551A (en) | 1995-08-07 | 1998-06-30 | Sun Microsystems, Inc. | Pluggable account management interface with unified login and logout and multiple user authentication services |
US5956509A (en) | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
US5809144A (en) | 1995-08-24 | 1998-09-15 | Carnegie Mellon University | Method and apparatus for purchasing and delivering digital goods over a network |
JPH0962526A (ja) | 1995-08-28 | 1997-03-07 | Fujitsu Ltd | 耐故障型rpcシステムおよび方法 |
JP2964926B2 (ja) * | 1995-08-29 | 1999-10-18 | 富士ゼロックス株式会社 | データベース管理装置及び方法 |
US5710887A (en) | 1995-08-29 | 1998-01-20 | Broadvision | Computer system and method for electronic commerce |
US5675804A (en) | 1995-08-31 | 1997-10-07 | International Business Machines Corporation | System and method for enabling a compiled computer program to invoke an interpretive computer program |
US5671225A (en) | 1995-09-01 | 1997-09-23 | Digital Equipment Corporation | Distributed interactive multimedia service system |
US5682534A (en) | 1995-09-12 | 1997-10-28 | International Business Machines Corporation | Transparent local RPC optimization |
US5721112A (en) * | 1995-09-14 | 1998-02-24 | Infectech, Inc. | Method of determining the presence or absence of a nonparaffinophilic microoganism in a specimen and an associated apparatus |
US6009464A (en) | 1995-09-20 | 1999-12-28 | Sun Microsystems, Inc. | Method and apparatus for enabling application programs to communicate with network clients and servers |
US5737607A (en) | 1995-09-28 | 1998-04-07 | Sun Microsystems, Inc. | Method and apparatus for allowing generic stubs to marshal and unmarshal data in object reference specific data formats |
US5765174A (en) | 1995-10-06 | 1998-06-09 | Sun Microsystems, Inc. | System amd method for distributed object resource management |
US5864862A (en) | 1996-09-30 | 1999-01-26 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for creating reusable components in an object-oriented programming environment |
US5872973A (en) | 1995-10-26 | 1999-02-16 | Viewsoft, Inc. | Method for managing dynamic relations between objects in dynamic object-oriented languages |
US5671279A (en) | 1995-11-13 | 1997-09-23 | Netscape Communications Corporation | Electronic commerce using a secure courier system |
US5860153A (en) | 1995-11-22 | 1999-01-12 | Sun Microsystems, Inc. | Memory efficient directory coherency maintenance |
US5692047A (en) | 1995-12-08 | 1997-11-25 | Sun Microsystems, Inc. | System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources |
US6067575A (en) | 1995-12-08 | 2000-05-23 | Sun Microsystems, Inc. | System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs |
US6003763A (en) | 1995-12-29 | 1999-12-21 | Visa International Service | Method and apparatus for recording magnetic information on traveler's checks |
US5887172A (en) * | 1996-01-10 | 1999-03-23 | Sun Microsystems, Inc. | Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends |
US5745695A (en) | 1996-01-16 | 1998-04-28 | Motorola Inc. | Radio system with suspension of packet data service during non-data service connection |
US5754849A (en) | 1996-01-30 | 1998-05-19 | Wayfarer Communications, Inc. | Self-describing object providing dynamic manipulation of heterogeneous data values and semantic identity between memory and transmission representations |
US5946485A (en) | 1996-02-09 | 1999-08-31 | Intervoice Limited Partnership | Enhanced graphical development environment for controlling program flow |
US5758328A (en) | 1996-02-22 | 1998-05-26 | Giovannoli; Joseph | Computerized quotation system and method |
CA2199108C (en) | 1996-03-05 | 2002-04-23 | Hirotoshi Maegawa | Parallel distributed processing system and method of same |
US5761507A (en) | 1996-03-05 | 1998-06-02 | International Business Machines Corporation | Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling |
US5754977A (en) | 1996-03-06 | 1998-05-19 | Intervoice Limited Partnership | System and method for preventing enrollment of confusable patterns in a reference database |
US5764915A (en) | 1996-03-08 | 1998-06-09 | International Business Machines Corporation | Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack |
US5721825A (en) * | 1996-03-15 | 1998-02-24 | Netvision, Inc. | System and method for global event notification and delivery in a distributed computing environment |
GB2311391A (en) | 1996-03-19 | 1997-09-24 | Ibm | Restart and recovery of OMG compliant transaction systems |
US5845129A (en) | 1996-03-22 | 1998-12-01 | Philips Electronics North America Corporation | Protection domains in a single address space |
US5706502A (en) | 1996-03-25 | 1998-01-06 | Sun Microsystems, Inc. | Internet-enabled portfolio manager system and method |
US5850442A (en) | 1996-03-26 | 1998-12-15 | Entegrity Solutions Corporation | Secure world wide electronic commerce over an open network |
US5754772A (en) | 1996-03-26 | 1998-05-19 | Unisys Corporation | Transaction service independent HTTP server-to-transaction gateway |
US5790548A (en) | 1996-04-18 | 1998-08-04 | Bell Atlantic Network Services, Inc. | Universal access multimedia data network |
US6272559B1 (en) | 1997-10-15 | 2001-08-07 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading for event notification in a distributed system |
US6226746B1 (en) | 1998-03-20 | 2001-05-01 | Sun Microsystems, Inc. | Stack-based system and method to combine security requirements of methods |
US5815709A (en) | 1996-04-23 | 1998-09-29 | San Microsystems, Inc. | System and method for generating identifiers for uniquely identifying object types for objects used in processing of object-oriented programs and the like |
US6938263B2 (en) | 1996-04-23 | 2005-08-30 | Sun Microsystems, Inc. | System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space |
US6134603A (en) | 1998-03-20 | 2000-10-17 | Sun Microsystems, Inc. | Method and system for deterministic hashes to identify remote methods |
US6182083B1 (en) | 1997-11-17 | 2001-01-30 | Sun Microsystems, Inc. | Method and system for multi-entry and multi-template matching in a database |
US6185611B1 (en) | 1998-03-20 | 2001-02-06 | Sun Microsystem, Inc. | Dynamic lookup service in a distributed system |
US5978484A (en) | 1996-04-25 | 1999-11-02 | Microsoft Corporation | System and method for safety distributing executable objects |
US5963924A (en) | 1996-04-26 | 1999-10-05 | Verifone, Inc. | System, method and article of manufacture for the use of payment instrument holders and payment instruments in network electronic commerce |
EP0805393B1 (en) | 1996-04-30 | 2011-11-09 | International Business Machines Corporation | Method and apparatus for managing membership of a group of processors in a distributed computing environment |
US5778368A (en) | 1996-05-03 | 1998-07-07 | Telogy Networks, Inc. | Real-time embedded software respository with attribute searching apparatus and method |
US5778187A (en) | 1996-05-09 | 1998-07-07 | Netcast Communications Corp. | Multicasting method and apparatus |
US5835737A (en) * | 1996-05-10 | 1998-11-10 | Apple Computer, Inc. | Method and apparatus for arbitrating access to selected computer system devices |
US5889951A (en) * | 1996-05-13 | 1999-03-30 | Viewpoint Corporation | Systems, methods, and computer program products for accessing, leasing, relocating, constructing and modifying internet sites within a multi-dimensional virtual reality environment |
US6018619A (en) * | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US6199116B1 (en) | 1996-05-24 | 2001-03-06 | Microsoft Corporation | Method and system for managing data while sharing application programs |
US5928323A (en) | 1996-05-30 | 1999-07-27 | Sun Microsystems, Inc. | Apparatus and method for dynamically generating information with server-side software objects |
US5813013A (en) | 1996-06-06 | 1998-09-22 | Microsoft Corporation | Representing recurring events |
US5729594A (en) | 1996-06-07 | 1998-03-17 | Klingman; Edwin E. | On-line secured financial transaction system through electronic media |
JP3488019B2 (ja) | 1996-06-17 | 2004-01-19 | 株式会社山武 | 制御設計用コンフィギュレーション・ツールの部品再利用方法 |
US5768532A (en) | 1996-06-17 | 1998-06-16 | International Business Machines Corporation | Method and distributed database file system for implementing self-describing distributed file objects |
WO1997049039A1 (en) * | 1996-06-21 | 1997-12-24 | Bell Communications Research, Inc. | Apparatus and methods for highly available directory services in the distributed computing environment |
US5991823A (en) | 1996-06-26 | 1999-11-23 | Sun Microsystems, Inc. | Low overhead object adaptor |
US6044409A (en) | 1996-06-26 | 2000-03-28 | Sun Microsystems, Inc. | Framework for marshaling and unmarshaling argument object references |
US5727145A (en) | 1996-06-26 | 1998-03-10 | Sun Microsystems, Inc. | Mechanism for locating objects in a secure fashion |
SG67354A1 (en) | 1996-06-27 | 1999-09-21 | Inst Of Systems Science Nation | Computationally efficient method for trusted and dynamic digital objects dissemination |
US6360256B1 (en) | 1996-07-01 | 2002-03-19 | Sun Microsystems, Inc. | Name service for a redundant array of internet servers |
US5809507A (en) | 1996-07-01 | 1998-09-15 | Sun Microsystems, Inc. | Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework |
US5818448A (en) | 1996-07-02 | 1998-10-06 | Sun Microsystems, Inc. | Apparatus and method for identifying server computer aggregation topologies |
US5748897A (en) | 1996-07-02 | 1998-05-05 | Sun Microsystems, Inc. | Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer |
US5949998A (en) | 1996-07-03 | 1999-09-07 | Sun Microsystems, Inc. | Filtering an object interface definition to determine services needed and provided |
US5860004A (en) | 1996-07-03 | 1999-01-12 | Sun Microsystems, Inc. | Code generator for applications in distributed object systems |
US20020032803A1 (en) | 1996-07-15 | 2002-03-14 | Paul Marcos | Method and apparatus for dynamically brokering object messages among object models |
US5742768A (en) | 1996-07-16 | 1998-04-21 | Silicon Graphics, Inc. | System and method for providing and displaying a web page having an embedded menu |
US5757925A (en) | 1996-07-23 | 1998-05-26 | Faybishenko; Yaroslav | Secure platform independent cross-platform remote execution computer system and method |
WO1998004971A1 (en) | 1996-07-25 | 1998-02-05 | Tradewave Corporation | Method and system for generalized protocol implementation on client/server communications connections |
US6016516A (en) | 1996-08-07 | 2000-01-18 | Fuji Xerox Co. Ltd. | Remote procedure processing device used by at least two linked computer systems |
JP3484019B2 (ja) | 1996-08-30 | 2004-01-06 | 富士通株式会社 | Lan間接続方法 |
GB2316777B (en) | 1996-08-31 | 2000-10-04 | Ibm | Operating a transaction manager with a non-compliant resource manager |
US6212578B1 (en) * | 1996-09-09 | 2001-04-03 | Oracle Corporation | Method and apparatus for managing dependencies in a distributed computing environment for ensuring the safety of remote procedure calls |
US5875335A (en) | 1996-09-30 | 1999-02-23 | Apple Computer, Inc. | Parameter marshaling techniques for dynamic object-oriented programming languages |
US5787425A (en) | 1996-10-01 | 1998-07-28 | International Business Machines Corporation | Object-oriented data mining framework mechanism |
US5974201A (en) | 1996-10-01 | 1999-10-26 | Siemens Corporate Research, Inc. | Smart image system |
US5832529A (en) | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US6058381A (en) | 1996-10-30 | 2000-05-02 | Nelson; Theodor Holm | Many-to-many payments system for network content materials |
US6044381A (en) | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US5944793A (en) | 1996-11-21 | 1999-08-31 | International Business Machines Corporation | Computerized resource name resolution mechanism |
US5987506A (en) | 1996-11-22 | 1999-11-16 | Mangosoft Corporation | Remote access and geographically distributed computers in a globally addressable storage environment |
US6034925A (en) | 1996-12-02 | 2000-03-07 | Thomson Consumer Electronics, Inc. | Accessing control method for identifying a recording medium in a jukebox |
US5892904A (en) | 1996-12-06 | 1999-04-06 | Microsoft Corporation | Code certification for network transmission |
US5884024A (en) * | 1996-12-09 | 1999-03-16 | Sun Microsystems, Inc. | Secure DHCP server |
JPH10171701A (ja) | 1996-12-10 | 1998-06-26 | Fuji Xerox Co Ltd | 手続実行装置及び方法 |
US5787431A (en) | 1996-12-16 | 1998-07-28 | Borland International, Inc. | Database development system with methods for java-string reference lookups of column names |
US5933647A (en) | 1997-01-24 | 1999-08-03 | Cognet Corporation | System and method for software distribution and desktop management in a computer network environment |
US6052761A (en) | 1997-01-31 | 2000-04-18 | Hewlett-Packard Company | Increment update in an SCI based system |
US5913029A (en) | 1997-02-07 | 1999-06-15 | Portera Systems | Distributed database system and method |
US5815149A (en) | 1997-02-19 | 1998-09-29 | Unisys Corp. | Method for generating code for modifying existing event routines for controls on a form |
US5935249A (en) | 1997-02-26 | 1999-08-10 | Sun Microsystems, Inc. | Mechanism for embedding network based control systems in a local network interface device |
US6061713A (en) | 1997-03-12 | 2000-05-09 | Fujitsu Limited | Communications system for client-server data processing systems |
US5864866A (en) | 1997-03-26 | 1999-01-26 | International Business Machines Corporation | Apparatus and method for providing externalization in an object-oriented environment |
US6189046B1 (en) * | 1997-03-27 | 2001-02-13 | Hewlett-Packard Company | Mechanism and method for merging cached location information in a distributed object environment |
US5890158A (en) | 1997-03-31 | 1999-03-30 | International Business Machines Corporation | Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model |
US5999988A (en) | 1997-03-31 | 1999-12-07 | Sun Microsystems, Inc. | Method and apparatus for generating and employing a run-time generated stub to reference an object in object oriented systems |
US6192044B1 (en) | 1997-03-31 | 2001-02-20 | Intel Corporation | Employing a look-up service and a callee connection service to establish a network phone call between a caller and a callee |
US6003050A (en) | 1997-04-02 | 1999-12-14 | Microsoft Corporation | Method for integrating a virtual machine with input method editors |
US6041351A (en) * | 1997-04-17 | 2000-03-21 | Newmoon.Com | Network traffic by instruction packet size reduction |
US6247091B1 (en) | 1997-04-28 | 2001-06-12 | International Business Machines Corporation | Method and system for communicating interrupts between nodes of a multinode computer system |
US6055562A (en) | 1997-05-01 | 2000-04-25 | International Business Machines Corporation | Dynamic mobile agents |
US6282295B1 (en) | 1997-10-28 | 2001-08-28 | Adam Lucas Young | Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers |
US6219675B1 (en) | 1997-06-05 | 2001-04-17 | Microsoft Corporation | Distribution of a centralized database |
US5808911A (en) | 1997-06-19 | 1998-09-15 | Sun Microsystems, Inc. | System and method for remote object resource management |
US5878411A (en) | 1997-06-27 | 1999-03-02 | International Business Machines Corporation | Dependent object class and subclass mapping to relational data store |
US5887134A (en) | 1997-06-30 | 1999-03-23 | Sun Microsystems | System and method for preserving message order while employing both programmed I/O and DMA operations |
US6343308B1 (en) | 1997-08-14 | 2002-01-29 | International Business Machines Corporation | Systems, methods and computer programs for mixing different versions of Java classes |
US6078655A (en) | 1997-08-27 | 2000-06-20 | At&T Corp | Automatic international reattempt method and apparatus |
US6052724A (en) * | 1997-09-02 | 2000-04-18 | Novell Inc | Method and system for managing a directory service |
US6199068B1 (en) | 1997-09-11 | 2001-03-06 | Abb Power T&D Company Inc. | Mapping interface for a distributed server to translate between dissimilar file formats |
US5946694A (en) | 1997-09-29 | 1999-08-31 | International Business Machines Corporation | Apparatus and method for transparent application of service to business objects |
US5951652A (en) | 1997-10-06 | 1999-09-14 | Ncr Corporation | Dependable data element synchronization mechanism |
US6253256B1 (en) | 1997-10-15 | 2001-06-26 | Sun Microsystems, Inc. | Deferred reconstruction of objects and remote loading in a distributed system |
US6061699A (en) | 1997-11-03 | 2000-05-09 | International Business Machines Corporation | Method and computer program product for extracting translatable material from browser program function codes using variables for displaying MRI |
JP3045121B2 (ja) * | 1997-11-06 | 2000-05-29 | 日本電気株式会社 | 半導体装置および半導体装置の製造方法 |
US5999179A (en) | 1997-11-17 | 1999-12-07 | Fujitsu Limited | Platform independent computer network management client |
US6032151A (en) | 1997-11-17 | 2000-02-29 | Sun Microsystems, Inc. | Database system employing polymorphic entry and entry matching |
US6016496A (en) | 1997-11-20 | 2000-01-18 | International Business Machines Corporation | Method and apparatus for an object-oriented object for retrieving information from local and remote databases |
US6009103A (en) | 1997-12-23 | 1999-12-28 | Mediaone Group, Inc. | Method and system for automatic allocation of resources in a network |
US6704803B2 (en) * | 1998-01-26 | 2004-03-09 | International Business Machines Corporation | Method and system for distributing data events over an information bus |
US5963947A (en) | 1998-01-27 | 1999-10-05 | International Business Machines Corporation | Technique of dynamically adding functionality from a client to manipulated data at a server |
US6023586A (en) | 1998-02-10 | 2000-02-08 | Novell, Inc. | Integrity verifying and correcting software |
US6026414A (en) | 1998-03-05 | 2000-02-15 | International Business Machines Corporation | System including a proxy client to backup files in a distributed computing environment |
US6093216A (en) | 1998-05-29 | 2000-07-25 | Intel Corporation | Method of run-time tracking of object references in Java programs |
US6185602B1 (en) | 1998-06-29 | 2001-02-06 | Sony Corporation | Multi-user interaction of multimedia communication |
US6108346A (en) | 1998-08-27 | 2000-08-22 | Xiox Corporation | Combined synchronous and asynchronous message transmission |
US6385643B1 (en) | 1998-11-05 | 2002-05-07 | Bea Systems, Inc. | Clustered enterprise Java™ having a message passing kernel in a distributed processing system |
US6282568B1 (en) | 1998-12-04 | 2001-08-28 | Sun Microsystems, Inc. | Platform independent distributed management system for manipulating managed objects in a network |
US6216158B1 (en) | 1999-01-25 | 2001-04-10 | 3Com Corporation | System and method using a palm sized computer to control network devices |
US6505248B1 (en) * | 1999-03-24 | 2003-01-07 | Gte Data Services Incorporated | Method and system for monitoring and dynamically reporting a status of a remote server |
US6578074B1 (en) * | 1999-06-25 | 2003-06-10 | Mediaone Group, Inc. | Provisioning server enhancement |
US20030005132A1 (en) * | 2001-05-16 | 2003-01-02 | Nortel Networks Limited | Distributed service creation and distribution |
-
1996
- 1996-10-11 US US08/729,421 patent/US5832529A/en not_active Expired - Lifetime
-
1997
- 1997-10-08 EP EP97402364A patent/EP0836140A3/en not_active Withdrawn
- 1997-10-10 JP JP29354697A patent/JP4054418B2/ja not_active Expired - Lifetime
-
1998
- 1998-03-20 US US09/044,923 patent/US6263350B1/en not_active Expired - Lifetime
- 1998-03-20 US US09/044,916 patent/US6016500A/en not_active Expired - Lifetime
- 1998-09-11 US US09/152,062 patent/US6314435B1/en not_active Expired - Lifetime
-
1999
- 1999-07-27 US US09/361,190 patent/US6327596B1/en not_active Expired - Lifetime
- 1999-08-20 US US09/377,491 patent/US6243716B1/en not_active Expired - Lifetime
-
2000
- 2000-10-18 US US09/690,472 patent/US6519615B1/en not_active Expired - Lifetime
- 2000-12-20 US US09/739,744 patent/US6760736B2/en not_active Expired - Lifetime
-
2001
- 2001-05-14 US US09/853,644 patent/US6704756B2/en not_active Expired - Lifetime
-
2003
- 2003-06-19 US US10/464,562 patent/US6816875B2/en not_active Expired - Lifetime
-
2004
- 2004-07-12 US US10/888,019 patent/US7509360B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6760736B2 (en) | 2004-07-06 |
US6314435B1 (en) | 2001-11-06 |
US6327596B1 (en) | 2001-12-04 |
US20030208512A1 (en) | 2003-11-06 |
US6243716B1 (en) | 2001-06-05 |
JPH1145187A (ja) | 1999-02-16 |
US6816875B2 (en) | 2004-11-09 |
EP0836140A2 (en) | 1998-04-15 |
US6016500A (en) | 2000-01-18 |
US6704756B2 (en) | 2004-03-09 |
US20050004914A1 (en) | 2005-01-06 |
US6519615B1 (en) | 2003-02-11 |
US6263350B1 (en) | 2001-07-17 |
EP0836140A3 (en) | 2000-02-23 |
US20010000812A1 (en) | 2001-05-03 |
US5832529A (en) | 1998-11-03 |
US7509360B2 (en) | 2009-03-24 |
US20020002576A1 (en) | 2002-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4054418B2 (ja) | 分散ガーベッジコレクションのためのリソースの管理方法、装置、コンピュータシステム並びにプラットフォーム間に分散したリソースの割当及び割当解除方法 | |
US6421704B1 (en) | Method, apparatus, and product for leasing of group membership in a distributed system | |
US6237009B1 (en) | Lease renewal service | |
US6247026B1 (en) | Method, apparatus, and product for leasing of delegation certificates in a distributed system | |
US6728737B2 (en) | Method and system for leasing storage | |
EP1057106B1 (en) | Method, apparatus, and product for leasing of group membership in a distributed system | |
EP1057105B1 (en) | Method and system for leasing storage | |
WO1999044128A1 (en) | Leasing for failure detection | |
KR20010041228A (ko) | 기억장소의 리스 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060921 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070628 |
|
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: 20071112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071210 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111214 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121214 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131214 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |