Claims
- 1. A method for transferring an information object across a network, wherein a plurality of processors and storage devices are coupled to the network, wherein the information object resides on a first storage device accessed by a provider process executing on a first processor, wherein the information object is identified by a name that also identifies the first storage device, wherein a consumer process executes on a second processor accessing a second storage device, the method comprising the steps of
using the consumer process to generate a request for the information object by using its name; transferring the request over the network to the provider process; transferring the information object across the network to the consumer process; storing the information object in the second storage device as a second instance of the information object; subsequent to the step of transferring the information object, performing the following steps:
using the provider process to modify the information object; using the network to transfer information about the modification; and synchronizing the second instance of the information object by using the transferred information about the modification.
- 2. The method of claim 1, wherein the information object is a data object.
- 3. The method of claim 1, wherein the information object is a data definition.
- 4. The method of claim 1, wherein the information object is an algorithm.
- 5. The method of claim 1, wherein the information object has one or more properties, further comprising the steps of
using the consumer process to formulate a relational criterion based on the properties of the information object; using the consumer process to submit a request to the provider process by performing the substeps of
providing the location of the consumer process within the network; providing the unique identifier associated with the information object; and providing the relational criterion to the provider process; using the provider process to detect when a change in the properties of the data object satisfies the relational criterion {how is monitoring carried out? Does provider poll?}; and in response to changes in the properties of the information object, transferring information about the changed properties across the network and updating the second instance on the second storage device in accordance with the information about the changed properties.
- 6. The method of claim 1, wherein the information object is stored in a storage device local to the processor executing the provider process.
- 7. The method of claim 1, further comprising the step of using the provider process to create the information object.
- 8. The method of claim 1, wherein a server process is used to control modifications to the information object, the method further comprising the steps of
receiving modification requests at the server process in the form of add/update/delete instructions; using the server process to modify the information object in accordance with the received requests; and using the server process to transmit information on modifications to the information object.
- 9. The method of claim 1, wherein a server process is used to control requests of the consumer process, the method further comprising the steps of
receiving consumer requests at the server process in the form of publish/subscribe/edit operations; in response to a publish operation request, using the server process to create a new instance of the information object; in response to a subscribe operation request, using the server process to cause information on modifications to the information object to update the second instance of the information object on the second storage device; and in response to edit operations {How is “edit” different from add/update/delete? non-attribute editing?}
- 10. The method of claim 9, wherein robot processes execute on one or more processors, the method further comprising the step of
executing a robot process in response to a publish operation to perform a function on an instance of the information object.
- 11. The method of claim 1, wherein multiple instances of the information object exist in multiple storage devices, the method further comprising the step of
using a server process to prevent one or more of the multiple instances from being updated.
- 12. The method of claim 1, wherein:
the properties include name/value pairs and wherein the step of “using the consumer process to formulate a relational criterion . . . ” includes the substep of
formulating a relational criterion based on one or more names of the name/value pairs.
- 13. The method of claim 1, wherein:
the properties include name/value pairs, wherein the step of “using the consumer process to formulate a relational criterion . . . ” includes the substep of formulating a relational criterion based on one or more values of the name/value pairs.
- 14. The method of claim 1, wherein:
the network is a client-server arrangement and the step of using the network to transfer information about the modification includes the substep of transferring the information in a series of multiple store-and-forward operations.
- 15. The method of claim 14, wherein the network is the Internet using Internet Protocol for information transmissions.
- 16. The method of claim 15, wherein identification of information objects uses an identifier that includes a Uniform Resource Locator as standardized on the Internet.
- 17. The method of claim 1, wherein:
the information object is associated with a data definition defining the class of the information object; and each instance of the information object is an instance of the defined class.
- 18. A method for updating an information object in a first computer system, wherein the first computer system is coupled to a computer network including multiple other computer systems, wherein a server computer in the network includes a class definition for creating information object instances of a specific type, wherein the class definition includes a specification for attribute names and values that are to exist in each information object instance of the class, the method comprising the following steps:
creating an information object instance from the class definition in the first computer system; identifying the existence of the information object instance in the first computer system to one or more other computers in the network; using the first computer system to define a relational condition based on one or more of the attribute names and values; communicating the relational condition to one or more computer systems in the network; using a computer in the network to detect when the relational condition is satisfied; and in response to the satisfaction of the relational condition, transferring at least a portion of an instance of an information object that has attribute names and values satisfying the relational condition to the first computer system.
- 19. The method of claim 18, wherein:
the class definition is for an email message object; the class definition includes a subject attribute that can have a character string value; the step of “using the first computer system to define a relational condition based on one or more of the attribute names and values” further comprises the substep of specifying a subject keyword that must exist in the subject attribute's character string value; and the step of “using a computer in the network to detect when the relational condition is satisfied” further comprises the substep of detecting whether the subject keyword exists in the subject attribute of any instance an email message object.
- 20. A method for synchronizing a data definition across a network, wherein a plurality of processors and storage devices are coupled to the network, wherein the data definition resides on a first storage device accessed by a provider process executing on a first processor, wherein a data object associated with the data definition resides in a second storage device accessed by a consumer process executing on a second processor, the method comprising the steps of
using the provider process to change the data definition; propagating the changed data definition across the network; and using the consumer process to access the data object according to the changed data definition.
- 21. The method of claim 20, further comprising
assigning a unique identifier to the data definition to associate the data definition with a storage place on the first storage device; wherein the step of “propagating the changed data definition” includes the substep of propagating the unique identifier.
- 22. The method of claim 20, wherein multiple additional consumer processes executing on multiple processors each access and store the data definition, the method further comprising the steps of
using the consumer process to modify the changed data definition to create a second changed data definition; transferring the second changed data definition to the provider process; and using the provider process to propagate the second changed data definition to the additional consumer processes.
- 23. A method for providing a data browser user interface, the data browser user interface executing on a first computer system, the first computer system including a processor coupled to a memory, a display device and a user input device, the computer system further coupled to a computer network including a plurality of interconnected computer systems, wherein a plurality of information objects that are instances of class definitions resides in the computer systems, and wherein the class definitions include attribute/value pairs, the method comprising the following steps:
displaying one or more information objects; accepting signals from the user input device to select an information object, the information object being associated with at least one provider process executing on a computer system in the network; showing one or more of the attribute/value pairs of the selected information object; accepting signals from the user input device to make a relational condition based on the attribute/value pairs of the selected information object; transferring the relational condition, an identifier for the selected information object and an identifier for the first computer system to one or more computers in the network; and when the relational condition is satisfied by one or more information objects in the network, receiving and displaying at least a portion of an information object that satisfies the relational condition.
- 24. The method of claim 23, wherein the step of displaying one or more information objects includes the substep of
displaying a hierarchical tree having a plurality of nodes, wherein each node can represent an information object or a collection of information objects.
- 25. The method of claim 24, wherein the step of displaying one or more information objects further includes the substep of
displaying additional items at the nodes of the tree, wherein the additional items include files.
- 26. The method of claim 25, wherein the additional items include hyperlinks.
- 27. The method of claim 25, wherein the additional items include commands.
- 28. The method of claim 23, wherein the predetermined convention includes a domain name, path, and object name.
- 29. The method of claim 23, further comprising the step of
saving the relational condition so that it can be recalled at a later time for re-use.
- 30. The method of claim 23, wherein the selected information object includes executable instructions, the method further comprising the step of executing the executable instructions at the first computer system.
- 31. A system for distributing information objects over the Internet, the system using a computer coupled to the Internet, wherein the computer includes a user input device and a processor, wherein the Internet includes an information object having attributes, the system comprising
accepting signals from the user input device to specify a relational condition using one or more of the attributes; using the processor to transfer an indication to the Internet of the specified relational condition; and using the processor to receive one or more information objects satisfying the specified condition.
- 32. The system of claim 31, wherein one or more attributes of the information objects include associated values, wherein the Internet includes a server computer for receiving queries in the form of specified relational conditions and for comparing query conditions with information object attributes to identify information objects that match the query conditions, the system further comprising
using the server computer to receive the specified relational condition; using the server computer to detect when information objects' attributes and values satisfy the specified relational condition; and transferring information to the processor to identify the detected information objects.
- 33. A system for processing information objects as disclosed by the text herein.
CLAIM OF PRIORITY
[0001] This application claims priority from U.S. Provisional Patent Application Serial No. 60/085,534 filed on May 15, 1998, entitled APPARATUS AND METHOD FOR DISTRIBUTED MESSAGING FRAMEWORK BASED ON NETWORK ADDRESSABLE SEMANTICALLY INTERPRETABLE BYTE SETS AND DATA PLACES TO PROVIDE AUTOMATIC DATA DEFINITION MANAGEMENT, PERSISTENCE AND ROUTING OF STRUCTURED INFORMATION ACROSS NETWORKED PROCESSES; (018746-000300US), which is hereby incorporated by reference as if set forth in full in this application.
[0002] The following co-pending patent applications are related to this application and are hereby incorporated by reference as if set forth in full in this application:
[0003] USER INTERFACE FOR A DISTRIBUTED MESSAGING FRAMEWORK BASED ON NETWORK ADDRESSABLE SEMANTICALLY INTERPRETABLE BYTE SETS AND DATA PLACES TO PROVIDE AUTOMATIC DATA DEFINITION MANAGEMENT, PERSISTENCE AND ROUTING OF STRUCTURED INFORMATION ACROSS NETWORKED PROCESSES; (018746-000310US), Ser. No. 09/283,264; Filed Apr. 1, 1999.
[0004] SYSTEM AND METHOD FOR CONTROLLING ACCESS TO RESOURCES IN A DISTRIBUTED ENVIRONMENT; (018746-000800US), Filed May 14, 1999.
[0005] SYSTEM AND METHOD FOR PUBLISHING INFORMATION FROM SEMI-STRUCTURED INFORMATION STORES; (018746-000900US), Filed May 14, 1999.
[0006] EXTENSIBLE USER INTERFACE FOR A DISTRIBUTED MESSAGING FRAMEWORK IN A COMPUTER NETWORK (018746-000320US), Filed May 14, 1999.
[0007] AUGMENTED PROCESSING OF INFORMATION OBJECTS IN A DISTRIBUTED MESSAGING FRAMEWORK IN A COMPUTER NETWORK (018746-000330US), Filed May 14, 1999.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09312131 |
May 1999 |
US |
Child |
10622336 |
Jul 2003 |
US |