IP Library Granted Patent US 7,266,826
Granted Patent B2
US 7,266,826 · App. 10/622,336 · Granted Sep 4, 2007

Publish-subscribe architecture using information objects in a computer network

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,266,826
App. No.
10/622,336
Granted
Sep 4, 2007
Kind
B2
Abstract

Various aspects of the invention provide for the creation, modification, transfer, manipulation, requesting and destruction of information objects in a computer network. Although some aspects of the invention are based on publish-subscribe techniques, many modifications and additional features are provided.

Claims (67)

1. A method for transferring an information object across a 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 comprises a plurality of attributes, wherein each attribute contains information, wherein a consumer process executes on a second processor, the method comprising:

sending the information object across the network to the consumer process;

storing the information object in a second storage device as a second instance of the information object;

after sending the information object, using the provider process to modify one or more of the attributes of the information object, an amount of information contained by the one or more modified attributes being less than an amount of information contained by the information object;

sending the one or more modified attributes of the information object across the network to the consumer process;

synchronizing the second instance of the information object based on the one or more modified attributes;

using the consumer process to formulate a relational criterion based on the attributes of the information object;

using the consumer process to submit a request to the provider process by performing:

providing a location of the consumer process within the network;

providing a 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 attributes of the information object satisfies the relational criterion; and

in response to the change in the attributes of the information object, transferring information about the changed attributes across the network and updating the second instance on the second storage device in accordance with the information about the changed attributes.

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 is stored in a storage device local to the processor executing the provider process.

6. The method of claim 1 , further comprising:

using the provider process to create the information object.

7. The method of claim 1 , wherein a server process is used to control modifications to the information object, the method further comprising:

receiving modification requests at the server process in a 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.

8. The method of claim 1 , wherein a server process is used to control requests of the consumer process, the method further comprising:

receiving consumer requests at the server process in a 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, using the server process to modify the information object.

9. The method of claim 8 , wherein automated processes execute on one or more processors, the method further comprising:

executing an automated process in response to a publish operation to perform a function on an instance of the information object.

10. The method of claim 1 , wherein multiple instances of the information object exist in multiple storage devices, the method further comprising:

using a server process to prevent one or more of the multiple instances from being synchronized.

11. The method of claim 1 , wherein:

each attribute composes one or more name/value pairs, each name/value pair comprises a name and a value, the method further comprising:

formulating a relational criterion based on one or more names of the name/value pairs.

12. The method of claim 1 , wherein:

each attribute composes one or more name/value pairs, each name/value pair comprises a name and a value, the method further comprising:

formulating a relational criterion based on one or more values of the name/value pairs.

13. The method of claim 1 , wherein:

the network is a client-server arrangement; and

sending the one or more modified attributes of the information object across the network to the consumer process comprises:

transferring information in a series of multiple store-and-forward operations.

14. The method of claim 13 , wherein the network is the Internet using Internet Protocol for information transmissions.

15. The method of claim 14 , wherein identification of information objects uses an identifier that includes a Uniform Resource Locator as standardized on the Internet.

16. 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.

17. A method for synchronizing a data definition of an information object 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 the data definition has one or more attributes, wherein an information object associated with the data definition resides in a second storage device accessed by a first consumer process executing on a second processor, the method comprising:

using the provider process to change at least one attribute of the data definition;

propagating at least one of the changed attributes of the data definition across the network;

using the first consumer process to access the information object residing in the second storage device according to at least one of the changed attributes of the data definition;

assigning a unique identifier to the data definition by changing at least one of the attributes of the data definition to associate the data definition with a storage place on the first storage device; and

propagating at least one of the changed attributes of the data definition across the network by propagating the unique identifier.

18. The method of claim 17 , wherein a second consumer process executing on a third processor accesses and stores the data definition, the method further comprising:

using the first consumer process to modify at least one of the changed attributes of the 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 second consumer process.

19. A system for distributing information objects over the internet, each information object having a plurality of attributes, the system comprising a first computer coupled to the Internet, wherein the first computer includes a user input device and a processor, the system comprising:

means for accepting signals from the user input device to specify a relational condition using one or more of the attributes;

means for using the processor to transfer an indication to the Internet of the specified relational condition;

means for identifying one or more information objects satisfying the relational condition;

means for transferring at least a portion of each identified information object from the Internet to the first computer; and

means for using the processor to receive at least a portion of each identified information object.

20. The system of claim 19 , wherein one or more attributes of each information object includes associated values, wherein the Internet includes a server computer for receiving queries in a 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:

means for using the server computer to receive the specified relational condition;

wherein said means for identifying comprises means for using the server computer to detect when at least one of the information object's attributes and values satisfy the specified relational condition; and

wherein said means for transferring comprises means for transferring information to the processor to identify the detected information objects.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded May 29, 2020
From: BANK OF AMERICA, N.A.
To: LAWSON SOFTWARE, INC.; INFOR GLOBAL SOLUTIONS (MICHIGAN), INC.; INFOR (US), INC.; GT NEXUS, INC.
Reel/Frame 053314/0436 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2019
From: WILMINGTON TRUST, NATIONAL ASSOCIATION
To: INFOR (US), INC.
Reel/Frame 048510/0349 →
CORRECTIVE ASSIGNMENT TO REMOVE THE INCORRECT PATENT NUMBER 6617869 AND REPLACE PATENT NUMBER 6617969 PREVIOUSLY RECORDED AT REEL: 036500 FRAME: 0896. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Sep 10, 2015
From: INFOR (US), INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 036585/0280 →
SECURITY AGREEMENT Recorded Aug 27, 2015
From: INFOR (US), INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 036500/0896 →
SECURITY AGREEMENT Recorded Apr 19, 2012
From: INFOR GLOBAL SOLUTIONS (MICHIGAN), INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 028078/0964 →
RELEASE Recorded Apr 17, 2012
From: JPMORGAN CHASE BANK, N.A. AS ADMINSTRATIVE AGENT
To: E.PIPHANY, INC.; INFOR GLOBAL SOLUTIONS (MICHIGAN), INC.; INFOR GLOBAL SOLUTIONS (CHICAGO), INC.; INFOR GLOBAL SOLUTIONS (MASSACHUSETTS), INC.; SSA GLOBAL TECHNOLOGIES, INC.; EXTENSITY, INC.; EXTENSITY (U.S.) SOFTWARE, INC.; INFINIUM SOFTWARE, INC.; INVENSYS SYSTEMS INC.; PROFUSE GROUP B.V.
Reel/Frame 028060/0030 →
RELEASE Recorded Apr 17, 2012
From: CREDIT SUISSE AG, CAYMAN ISLAND BRANCH, AS ADMINISTRATIVE AGENT
To: E.PIPHANY, INC.; INFOR GLOBAL SOLUTIONS (MICHIGAN), INC.; INFOR GLOBAL SOLUTIONS (CHICAGO), INC.; INFOR GLOBAL SOLUTIONS (MASSACHUSETTS), INC.; PROFUSE GROUP B.V.
Reel/Frame 028060/0116 →
SECURITY AGREEMENT Recorded May 8, 2007
From: E. PIPHANY, INC.; INFOR GLOBAL SOLUTIONS (CHICAGO), INC.; INFOR GLOBAL SOLUTIONS (MASSACHUSETTS), INC.
To: CREDIT SUISSE, CAYMAN ISLANDS BRANCH, AS SECOND LIEN ADMINISTRATIVE AGENT
Reel/Frame 019260/0013 →
SECURITY AGREEMENT Recorded May 7, 2007
From: E.PIPHANY, INC.; INFOR GLOBAL SOLUTIONS (CHICAGO), INC.; INFOR GLOBAL SOLUTIONS (MASSACHUSETTS), INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 019254/0202 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2007
From: KATIYAR, DINESH; BELANI, ESHWAR; JAVANGULA, PRADEEP
To: MAYASOFT CORPORATION
Reel/Frame 018710/0535 →
MERGER Recorded Jan 4, 2007
From: ILEVERAGE CORPORATION
To: E.PIPHANY, INC.
Reel/Frame 018710/0542 →
CHANGE OF NAME Recorded Jan 4, 2007
From: MAYSOFT CORPORATION
To: ILEVERAGE CORPORATION
Reel/Frame 018718/0284 →
RELEASE OF SECURITY INTEREST Recorded Jul 28, 2006
From: JPMORGAN CHASE BANK, N.A.
To: SSA GLOBAL TECHNOLOGIES, INC.
Reel/Frame 018015/0343 →
SECURITY AGREEMENT Recorded May 5, 2006
From: SSA GLOBAL TECHNOLOGIES, INC.
To: JP MORGAN CHASE BANK, N.A. AS COLLATERAL AGENT
Reel/Frame 017575/0153 →