| Processing by use of synchronized tuple spaces and assertions -> Monitor Keywords |
|
Processing by use of synchronized tuple spaces and assertionsRelated Patent Categories: Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Multicomputer Data Transferring Via Shared MemoryProcessing by use of synchronized tuple spaces and assertions description/claimsThe Patent Description & Claims data below is from USPTO Patent Application 20060242256, Processing by use of synchronized tuple spaces and assertions. Brief Patent Description - Full Patent Description - Patent Application Claims CROSS-REFERENCE TO RELATED APPLICATION [0001] This application is a Continuation of U.S. application Ser. No. 09/642,340, filed Aug. 21, 2000, which claims priority to United Kingdom Application No. 9920051.1 filed on Aug. 24, 1999. FIELD OF THE INVENTION [0002] This invention relates in general to the field of distributed information processing, resource allocation, computing and communications and more specifically to a system and method of organizing tuple spaces by synchronization to coordinate activities among multiple entities. BACKGROUND OF THE INVENTION [0003] Distributed information processing involves two or more processing entities under autonomous control or purpose which operate cooperatively to resolve a processing need. Such entities frequently operate within a system and are frequently subsets of larger systems tailored to address a specific processing aspect, but may originate remotely making demands on the local system. In complex systems, entities frequently compete and share resources within the environment and the operation of one entity may affect, degrade, inhibit, or even destabilize the operation of another. One of the problems in distributed information processing and computing is the coordination of activities among the various entities in the environment. While the coordination problem manifests itself in distributed environments, it also appears in other contexts such as integrated multi-component computing systems where coordination is required between multiple components which may reside within the same cabinet or in service environments where resources must be shared. [0004] One example of this problem is the creation of features in telephone switching systems. Telephone switching systems are typically very large. They are implemented to provide many hundreds of features and consist of tens of millions of lines of code. These systems are not static. The developers of such systems are required by competitive pressures to add features on a regular basis. This presents the problem that the additional functions of new features interact with the functioning of features already present in the system. In the worst case, the newly added features can disable the functioning of an older feature, destabilize the system or create conditions which will confuse the user. Because of this problem, previous approaches have expended considerable effort during the development of new features to determine all possible interactions with all of the other features in the system. There have been many proposals to handle the problem of feature interaction in telephone systems. In one prior art system, Northern Telecom has developed a method in which models of call set up have been developed for the Intelligent Network and the Advanced Intelligent Network where features are constructed as separate state machines which interact by communication through a stack based mechanism to provide a degree of regularity in call processing. [0005] A second example of the problem is the coordination and allocation of resources in the provisioning of a service, especially in real time environments where there are time and qualitative constraints. Where there are numerous applications that use a service, such as a printing service, and a number of print processes that serve requests, difficulty occurs in allocating resources to get the job done given the various priorities and quality requirements of each job and the current status and capability of each resource. [0006] A third example of the problem is component coordination in multiple component systems. Component based hardware and software uses parts developed by different vendors. Vendors create components from parts developed by other vendors. When components are brought together, in some circumstances, they modify the behavior of other components. If the parts are static, with their behavior well known and not expected to change over the course of a component's lifetime, then it is possible to identify and resolve all possible component interactions at the time of the original system design. However, in this prior art approach, it is necessary to consider the behavior of any part in the presence of all the possible combinations of all other parts. When the number of parts becomes large, the task becomes enormous, and virtually impossible when components are not available and their behavior not known beforehand at design time, or the behavior can be changed or upgraded after the initial implementation. [0007] The use of tuple spaces is also known in the art as a means of communication between entities. A tuple space is an instance of a blackboard architecture where there are knowledge sources or entities that invoke operations on the blackboard. In the prior art, knowledge sources communicate with the tuple space using a publish-subscribe mechanism. An entity in a prior art tuple space will publish the occurrence of its action or event such that other entities who subscribe become aware that the event has occurred. These prior art tuple spaces are event based and asynchronous. This means that the tuple space provides matching and processing of tuples on the occurrence of events. However, there are problems with prior art tuple spaces. The event based, asynchronous nature of prior art tuple spaces leads to complications in synchronization, maintaining of data integrity and potential dead-locks. There are no assurances that events will occur or means to communicate that the occurrence of an event is no longer relevant. SUMMARY OF THE INVENTION [0008] The present invention is designed to provide a system and method for coordinating activities of multiple entities in an information processing or computing environment where entity interaction and conflict can be detected and resolved during operation. It provides a mechanism by which entities can coordinate their activity through assertions in a special inventive tuple space. With the inventive system and method, entities need only be aware of the objective of other entities and not their respective detailed implementations. An entity can represent a hardware or software component or process, a knowledge source or feature thereof. [0009] This invention is based on the coordination of entities by assertions in a shared synchronized tuple space to with which an entity communicates and has access. Entities operate in a permission-action loop. This is in contrast to the publish-subscribe nature of prior art tuple spaces. An entity in an information environment that is in charge of an activity will decide to perform an action in furtherance of the activity. This entity will form an "intention" to perform this action. The `intention` contains the semantic value of the action with regard to the activity. Before proceeding with the action, the entity will place this intention as an assertion within a tuple space. Other entities which have an interest in this sort of intention about the activity can monitor the tuple space so that they will be informed of such intentions. They can then respond to the original entity with their comments about the intention. In effect, with knowledge about the state of the activity, the other entities act as advisors to the original entity. Thus, the original entity forms an intention about how to proceed with the activity and asks permission of other entities (the lack of which can be overridden) before it proceeds. In this manner, new entities, features, knowledge sources, processes or components can interact with previous ones before activities dangerous to the operation of the system are undertaken in a manner to ensure that system degradation or failure does not occur. The present invention is particularly useful for application to the call processing environment, although it is obvious to one skilled in art that the invention is not limited to that application. [0010] Therefore, according to one aspect of the present invention there is provided: a system for controlling and coordinating activities among entities in an information and process environment comprising: a) a communications pathway for transmitting and receiving communications of the entities; and a shared memory connected to the communications pathway for maintaining a tuple space on which the entities post and receive messages synchronized to discrete time intervals. [0011] According to a further aspect of the present invention there is provided: a method for controlling and coordinating activities among entities in an information and process environment comprising the steps of: a) providing a communications pathway for transmitting and receiving communications of the entities; b) providing a tuple space in a shared memory adapted for operation in discrete time intervals connected to the communications pathway; and c) posting and receiving messages of the entities to and from said tuple space synchronized to the discrete time intervals. [0012] According to another aspect of the present invention there is provided: a method of call processing comprising the steps of: a) providing entities representative of call processing features; b) providing a communications pathway for transmitting and receiving communications of the entities; c) providing a tuple space in a shared memory adapted for operation in discrete time intervals connected to the communications pathway; d) requesting advice by a first of the entities desirous of taking action of other entities before taking the action by posting messages communicated on the tuple space to the other entities through the pathway; e) providing advice as desired by the other entities responsive to the messages by posting responding messages communicated on the tuple space to the first of the entities; f) evaluating the responding messages, if any, by the first of the entities; and g) taking advised action by the first of the entities after evaluating the responding messages. [0013] According to another aspect of the present invention there is provided: a method for providing services in an automated contract environment comprising the steps of: a) providing a communications pathway for transmitting and receiving communications of application entities and service entities; b) providing a tuple space in a shared memory adapted for operation in discrete time intervals connected to the communications pathway; and c) posting and receiving messages of the application entities and the service entities to and from the tuple space synchronized to the discrete time intervals. BRIEF DESCRIPTION OF THE DRAWINGS [0014] FIG. 1 is a representative diagram of the synchronized tuple space of the present invention; [0015] FIG. 2 is a representative schematic drawing illustrating the operation of the synchronized tuple space of the present invention through a first time slice in a call processing environment; [0016] FIG. 3 is a representative schematic drawing illustrating the operation of the synchronized tuple space of the present invention through a second time slice in a call processing environment; [0017] FIG. 4 is a representative schematic drawing illustrating the operation of the synchronized tuple space of the present invention through a third time slice in a call processing environment; [0018] FIG. 5 is a representative schematic drawing illustrating the operation of the synchronized tuple space of the present invention through a fourth time slice in a call processing environment; [0019] FIG. 6 is a representative schematic drawing illustrating the operation of the synchronized tuple space of the present invention through a fifth time slice in a call processing environment; Continue reading about Processing by use of synchronized tuple spaces and assertions... Full patent description for Processing by use of synchronized tuple spaces and assertions Brief Patent Description - Full Patent Description - Patent Application Claims Click on the above for other options relating to this Processing by use of synchronized tuple spaces and assertions patent application. ### 1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored. 3. Each week you receive an email with patent applications related to your keywords. Start now! - Receive info on patent apps like Processing by use of synchronized tuple spaces and assertions or other areas of interest. ### Previous Patent Application: High-speed data readable information processing device Next Patent Application: Multi-processor system and message transferring method in the same Industry Class: Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization ### FreshPatents.com Support Thank you for viewing the Processing by use of synchronized tuple spaces and assertions patent info. IP-related news and info Results in 0.68976 seconds Other interesting Feshpatents.com categories: Daimler Chrysler , DirecTV , Exxonmobil Chemical Company , Goodyear , Intel , Kyocera Wireless , 174 |
* Protect your Inventions * US Patent Office filing
PATENT INFO |
|