摘要:
A system for using a lease to detect a failure and to perform failure recovery is provided in using this system, a client requests a lease from a server to utilize a resource managed by the server for a period of time. Responsive to the request, the server grants the lease, and the client continually requests renewal of the lease. If the client fails to renew the lease, the server detects that an error has occurred to the client. Similarly, if the server fails to respond to a renew request, the client detects that an error has occurred to the server. As part of the lease establishment, the client and server exchange failure-recovery routines that each invokes if the other experiences a failure.
摘要:
A database system wherein one or more entry databases store a plurality of entries. Each entry is of a given type that defines the fields of the entry. Each field contains or identifies an object with associated attributes or data. The type of each entry may further define behavior in the form of methods the entry can implement. An entry type which is a subtype of another inherits all fields and behavior of its super-type, and contains additional fields and/or defines new/modified behavior. Entries may be expressed in a Java™ programming language. The database system may further employ a search engine which allows queries to be made upon entries in the database. In one implementation, the queries include a read operation, a take operation, and a notify operation. Each query request includes a command indicating the type of operation, and a template which is an entry object having some or all of its fields set to specific values that must be matched exactly. Other fields of the template entry may be specified as wildcards, whose values do not matter. The search engine may further be configured to create an index for caching entries having characteristics which are commonly specified by queries. In one implementation, the databases may also store and perform operations on sets of entries. Additionally, associating attributes to the fields of entries allows the system to achieve type-safe attribute matching.
摘要:
A database system wherein one or more entry databases store a plurality of entries. Each entry is of a given type that defines the fields of the entry. Each field contains or identifies an object with associated attributes or data. The type of each entry may further define behavior in the form of methods the entry can implement. An entry type which is a subtype of another inherits all fields and behavior of its super-type, and contains additional fields and/or defines new/modified behavior. Entries may be expressed in a Java™ programming language. The database system may further employ a search engine which allows queries to be made upon entries in the database. In one implementation, the queries include a read operation, a take operation, and a notify operation. Each query request includes a command indicating the type of operation, and a template which is an entry object having some or all of its fields set to specific values that must be matched exactly. Other fields of the template entry may be specified as wildcards, whose values do not matter. The search engine may further be configured to create an index for caching entries having characteristics which are commonly specified by queries. In one implementation, the databases may also store sets of entries which are matched using sets of templates.
摘要:
A method and system for leasing storage locations in a distributed processing system is provided. Consistent with this method and system, a client requests access to storage locations for a period of time (lease period) from a server, such as the file system manager. Responsive to this request, the server invokes a lease period algorithm, which considers various factors to determine a lease period during which time the client may access the storage locations. After a lease is granted, the server sends an object to the client that advises the client of the lease period and that provides the client with behavior to modify the lease, like canceling the lease or renewing the lease. The server supports concurrent leases, exact leases, and leases for various types of access. After all leases to a storage location expire, the server reclaims the storage location.
摘要:
Use of a policy object for verification in a distributed system. A machine downloads a policy object containing a reference to code governing verification of data. The machine uses the reference to obtain the code and locally verify data or other information. As particular rules for the data change, the policy object may be updated to provide a reference to the code for the new rules when it is downloaded.
摘要:
In accordance with the present invention a process is provided for allocating and deallocating resources in a distributed processing system having a requester platform and a server platform. The process involves receiving a request from the requestor platform referring to a system resource and specifying a requested lease period, permitting shared access to the system resource for a lease period, sending a return call to the requestor platform advising of the lease period, and deallocating the system resource when the lease period expires.
摘要:
A method and system for transmitting objects in an object-oriented distributed system allows the reconstruction of objects and downloading of code associated with such object reconstruction to be deferred until it is needed by a program. The deferred reconstruction is accomplished by using a Java object called a “marshalled object,” which is a self-describing stream and which is a first-class entity in the system, meaning that it exists within a type system of a programming language and can be accessed and manipulated by instructions written in that language. Such an object can typically be produced by any object that can be passed from one address space to another, and it can be stored, passed to other objects, or used to reconstruct an object of the original type on demand. The reconstruction of an object is deferred until the code holding a marshalled object directly calls the creation of the object using the marshalled object. Any downloading of code is also deferred until the marshalled object is used to create a copy of the original object.
摘要:
In at least one embodiment, an apparatus for determining one or more affinity groups in a distributed network is provided. A first distributed computing device is operably coupled to a plurality of clients for enabling electronic interactive activities therebetween. The first distributed computing device is configured to detect at least one network interaction among the plurality of clients. The first distributed computing device is further configured to generate at least one weighted value based on the number of detected network interactions. The first distributed computing device is further configured to establish an affinity group comprising at least one client from the plurality of clients based on the at least one weighted value.
摘要:
In at least one embodiment, an apparatus for determining one or more affinity groups in a distributed network is provided. A first distributed computing device is operably coupled to a plurality of clients for enabling electronic interactive activities therebetween. The first distributed computing device is configured to detect at least one network interaction among the plurality of clients. The first distributed computing device is further configured to generate at least one weighted value based on the number of detected network interactions. The first distributed computing device is further configured to establish an affinity group comprising at least one client from the plurality of clients based on the at least one weighted value.
摘要:
A homogeneous execution environment operates within a heterogeneous client-server network. A client selects a server and transmits a procedure call with parameters. In response, a server dynamically and securely downloads code to a compute server; invokes a generic compute method; executes the code on the compute server; and returns the results to the calling client method, preserving the result on the compute server if requested. This technique is efficient in that it does not require multiple copies of code to be downloaded or compiled since server byte-codes can be executed on each of the different systems, therefore downloading or compiling multiple copies of code can be avoided. The code can be compiled once and downloaded as needed to the various servers as byte-codes and then executed.