Home | Links | Contact Us | More About Intellectual Property | Bookmark
Search patents:
Home Databases Arbitration-of-state-changes

 Data access in a processor
What is claimed is: 1. A data processor comprising: a register memory comprising an array of M....


 Access control/crypto system
An access control/crypto system having a smart card reader and an access control program for ...


 Method and apparatus for processing recursive hard links in a data processing system
The present invention provides a method and apparatus in a data system for processing a recursive ...


 System and method for providing fault tolerant transcriptions over an unsecured communication channel
These and other objects, features and technical advantages are achieved by a system and method ...


 System and methods for synchronizing datasets when dataset changes may be received out of order
The present invention provides a system and methods for synchronizing information in datasets via a ...


 Secure on-line PC postage metering system
OF THE PRESENT INVENTION A method and apparatus for providing a secure software rental system is ...


 Method and apparatus for modifying and integrating a cellular phone with the capability to access and browse the internet
In a preferred embodiment of the present invention a computerized battery pack adapter for a ...


 Terminal apparatus for operator and communication path setting method
OF THE INVENTION An embodiment according to the present invention will now be described ...


 Network capacity creation for video dial tone network
What is claimed is: 1. A method for creating network transport capacity for a broadband network, ...


 Method and system of service impact analysis in a communications network
OF THE PREFERRED EMBODIMENTS The present invention is directed to a system and method for using ...


 Arbitration of state changes

Details
Inventors: Berkowitz, Brian T.; Christofferson, Peter A.;
Assignee: Microsoft Corporation (Redmond, VA)
Primary Examiner: Follansbee; John A.
Assistant Examiner:
Attorney, Agent or Firm: Klarquist Sparkman, LLP

When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes. An arbitration cycle for a particular entity is begun on a node ("instigator") when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node ("observer") receives such a proposal message. Multiple nodes can be instigators during a single arbitration cycle. Each node that receives a proposal message sends a response message to the corresponding instigator. The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity. After each instigator node receives all the proposals in the arbitration cycle, it determines whether it is the winner of the arbitration cycle and broadcasts a closure message if it is. Each node determines an order in which to apply the changes proposed in the arbitration cycle when it knows it has received all the proposals in the arbitration cycle as determined by the sending or receiving of the closure message. Because each arbitration cycle is associated with a particular entity, multiple arbitration cycles associated with different items can be running concurrently in the network but multiple arbitration cycles for the same item must be executed serially. The arbitration process is executed even if there is only one proposal made in an arbitration cycle since the arbitration process enables the orderly propagation of changes across all the nodes that share the entity.

DETAILED DESCRIPTION The above-mentioned shortcomings, disadvantages and problems are addressed by the present invention, which will be understood by reading and studying the following specification.
When multiple nodes in a computer network perform work on a shared entity, such as a database record, an arbitration process is used to ensure changes made by more than one node to the same data is propagated to each of the nodes holding the shared entity and that the changes are applied in the same order on each of the nodes.
An arbitration cycle for a particular entity is begun on a node ("instigator") when the node broadcasts a proposal message for a change to the entity to the other nodes or when the node ("observer") receives such a proposal message.
Multiple nodes can be instigators during a single arbitration cycle.
Each node that receives a proposal message sends a response message to the corresponding instigator.
The arbitration cycle is closed to additional proposal messages after one instigator has received responses from all the nodes that share the entity.
After each instigator node receives all the proposals in the arbitration cycle, it determines whether it is the winner of the arbitration cycle and broadcasts a closure message if it is.
Each node determines an order in which to apply the changes proposed in the arbitration cycle when it knows it has received all the proposals in the arbitration cycle as determined by the sending or receiving of the closure message.
Because each arbitration cycle is associated with a particular entity, multiple arbitration cycles associated with different items can be running concurrently in the network but multiple arbitration cycles for the same item must be executed serially.
The arbitration process is executed even if there is only one proposal made in an arbitration cycle since the arbitration process enables the orderly propagation of changes across all the nodes.
A particular implementation of the arbitration logic in conjunction with an in memory database that provides coherent caching among networked database client computers is disclosed



Related patents
  Dynamic control of magnetic tape drive
OF THE DRAWINGS In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, ...
  Intelligent processing in the context of away and offline instant messages
In one general aspect, an electronic assistant handles instant messages sent to a user when the user is away or offline. The electronic assistant may respond ...
  Artificial intelligence trending system
These and other needs are addressed by the present invention by means of a method and system, and computer-readable media carrying instructions for controlling the ...
  Protected shareware
To satisfy the foregoing goals, in accordance with this invention, the functionality of "protected shareware" is controlled by digitally signed messaging protocol. P...
  Hardware and software failover services for a file server
The present application is directed to improvements to the failover services disclosed in Duso et al., U.S. application Ser. No. 08/851,507 filed May 5, 1997, issued as U...
  Data sort method, data sort apparatus, and data sort program
The present invention aims at providing a data sort method, apparatus, and program capable of obtaining a desired sorting order value by reading records only once. An ...
  Method and apparatus for detecting the type of interface to which a peripheral device is connected
The present invention defines a method and apparatus in the peripheral device such that the peripheral device can determine which type of interface it is connected to, ...
  Monitoring a large parallel database through dynamic grouping and sequential sampling
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present ...
  Object-oriented framework for reasoning having pluggable inference engines
According to an embodiment of the present invention, a plurality of machine reasoning modules or inference engines can be processed against a single rule-based knowledge ...
  Memory system including guarded pointers
The present invention relates to several aspects of a memory system which may be used independently or together. The invention is particularly applicable in a virtual ...

0.004

Archive: All patents - Links

Copyright (c)2006 Eipa-patents.org - All rights reserved