Tariff management apparatus and method for communications terminals using smart cards |
| In light of the foregoing, it is an object of the present invention to provide improved systems and ... |
|
Process for forming electrical/mechanical connections |
| In a first aspect, the invention provides a method of making a connection to a surface, the method ... |
|
Method of programming a telephone |
| The present invention provides a method and apparatus for automatically programming telephone ... |
|
Portable communication terminal which judges the reception situation by lowest error rate |
| An object of the present invention is, in view of such the points, to make it possible to simply ... |
|
Apparatus and methods for providing wireless system fraud and visibility data |
| The present invention provides apparatus and methods for capturing information relating to ... |
|
Apparatus and method for completing inter-switch calls using large trunk groups |
| It is an object of the present invention to provide an apparatus and method for completing inter-... |
|
Cooler chest with radio |
| It is one aspect of the invention to utilize the lid or closure portion of commercially available ... |
|
Communicating between diverse communications environments |
| FIG. 1 shows an illustrative telecommunications system that embodies an example of the invention. T... |
|
Method for improved automatic message accounting in telephony |
| It has been realized, that the only time all the information for accounting and toll rating is most ... |
|
Device with passive receiver |
| What is claimed is: 1. A wireless communications apparatus, comprising: (a) a wake-up receiver ... |
|
|
System and method for optimistic caching
| Details |
Inventors: White, Seth; Messinger, Adam; Jacobs, Dean Bernard; Woollen, Rob;
Assignee: BEA Systems, Inc. (San Jose, CA)
Primary Examiner: Sparks; Donald
Assistant Examiner: Dinh; Ngoc V
Attorney, Agent or Firm: Fliesler Meyer LLP.
Transactions are granted concurrent access to a data item through the use of an optimistic concurrency algorithm. Each transaction gets its own instance of the data item, such as in a cache or in an entity bean, such that it is not necessary to lock the data. The instances can come from the data or from other instances. When a transaction updates the data item, the optimistic concurrency algorithm ensures that the other instances are notified that the data item has been changed and that it is necessary to read a new instance, from the database or from an updated instance. This description is not intended to be a complete description of, or limit the scope of, the invention. Other features, aspects, and objects of the invention can be obtained from a review of the specification, the figures, and the claims. |
|
DETAILED DESCRIPTION Systems and methods in accordance with one embodiment of the present invention can overcome deficiencies in prior art concurrency models by utilizing "optimistic caching" or "optimistic concurrency". Using optimistic concurrency, it is not necessary for each transaction to read from the database and consume system resources unnecessarily. The approach is referred to herein as "optimistic" because a server instance does not get a lock on the data being used by a transaction. Transactions are optimistic about the fact that no changes are going to be made to the data while it is being used by that transaction. Under this belief, there is no need to lock the data since it will not change during the transaction. Since the data is not locked, it can be used concurrently by multiple users. In order to assure the accuracy of transactions using that data, however, it will be necessary to determine whether the underlying data actually changed before transactional changes are written to the database. An invalidation scheme can be used to facilitate optimistic caching in a clustered environment, such that multiple machines in a cluster can run an optimistic algorithm in parallel. When changes are made, the machines can communicate with each other that a change has occurred, and can indicate what those changes are. This can help to avoid an optimistic conflict or exception at the end of a transaction. XML can be used with such a system, as XML provides a declarative way for a user to indicate that optimistic caching is to be used. Such a system is shown in FIG. 1. A data item 102 is stored in a database 102. User 106 and user 110 may both want access to the data item 102 concurrently. Since the data item is not locked, an instance of the data item can be read into a cache or bean instance 104 for user 106, and a second instance can be read into a cache or bean instance 108 for user 110. If user 106 updates the data item 102, the optimistic algorithm can direct cache 104 to notify cache 108
|
|