← Back to Patent Explorer
US6085197A Expired / Lapsed US ⏱️ 0.0 years remaining

Object graph editing context and methods of use

Assignee: Next Software Inc
•
Filing: 1998-10-06
•
Granted: 2000-07-04
•
Expires: 2018-10-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based "undo" capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.

Inventors

  • 👤 Craig Federighi
  • 👤 Dan Willhite
  • 👤 Eric Noyau

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 17:11
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/20; G06F8/24; G06F16/00; G06F16/20; G06F16/21; G06F16/217; G06F16/23; G06F16/2358; G06F16/25; G06F16/258; G06F16/28; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/955; Y10S707/99941; Y10S707/99943; Y10S707/99944; Y10S707/99945; Y10S707/99951; Y10S707/99952; Y10S707/99953

Claims Analysis

Total Claims: 28
Claim 1
Independent Claim 129 words
In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of: prior to making any change to a first data bearing object in said object graph, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making a change to said first data bearing object; identifying said change made to said first data bearing object by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 2
Dependent Claim 129 words
In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of: prior to making any change to a first data bearing object in said object graph, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making a change to said first data bearing object; identifying said change made to said first data bearing object by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 3
Dependent Claim 156 words
In a computer system, a method for managing an object graph of data bearing objects containing data from a database, comprising the steps of: registering each of said data bearing objects in said object graph with an object graph manager; transmitting a request for a first data bearing object containing first data from said database from a requestor to said object graph manager; determining whether a previous instance of said first data bearing object already exists in said object graph by comparing said first data bearing object to said data bearing objects registered with said object graph manager; if such previous instance exists, transmitting a copy of said previous instance from said object graph manager to said requestor; if there is no such previous instance, creating said first data bearing object using said first data from said database and transmitting a copy of said first data bearing object from said object graph manager to said requestor.
Claim 4
Dependent Claim 156 words
In a computer system, a method for managing an object graph of data bearing objects containing data from a database, comprising the steps of: registering each of said data bearing objects in said object graph with an object graph manager; transmitting a request for a first data bearing object containing first data from said database from a requestor to said object graph manager; determining whether a previous instance of said first data bearing object already exists in said object graph by comparing said first data bearing object to said data bearing objects registered with said object graph manager; if such previous instance exists, transmitting a copy of said previous instance from said object graph manager to said requestor; if there is no such previous instance, creating said first data bearing object using said first data from said database and transmitting a copy of said first data bearing object from said object graph manager to said requestor.
Claim 5
Dependent Claim 188 words
In a computer system, a method for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database comprising the steps of: creating a second object graph managed by a second object manager comprising copies of a plurality of said first data bearing objects; making one or more changes to a first of said copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects in said second object graph, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph.
Claim 6
Dependent Claim 188 words
In a computer system, a method for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database comprising the steps of: creating a second object graph managed by a second object manager comprising copies of a plurality of said first data bearing objects; making one or more changes to a first of said copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects in said second object graph, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph.
Claim 7
Dependent Claim 238 words
In a computer system, a method for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database comprising the steps of: creating a second object graph managed by a second object manager comprising first copies of a plurality of said first data bearing objects; creating a third object graph managed by a third object manager comprising second copies of a plurality of said first data bearing objects; making one or more changes to a first of said first copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph and without affecting a second copy of said corresponding original in said third object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph; broadcasting a message from said first object graph manager to said third object graph manager.
Claim 8
Dependent Claim 238 words
In a computer system, a method for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database comprising the steps of: creating a second object graph managed by a second object manager comprising first copies of a plurality of said first data bearing objects; creating a third object graph managed by a third object manager comprising second copies of a plurality of said first data bearing objects; making one or more changes to a first of said first copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph and without affecting a second copy of said corresponding original in said third object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph; broadcasting a message from said first object graph manager to said third object graph manager.
Claim 9
Dependent Claim 207 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database, said method steps comprising the steps of: creating a second object graph managed by a second object manager comprising copies of a plurality of said first data bearing objects; making one or more changes to a first of said copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects in said second object graph, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph.
Claim 10
Dependent Claim 207 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database, said method steps comprising the steps of: creating a second object graph managed by a second object manager comprising copies of a plurality of said first data bearing objects; making one or more changes to a first of said copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects in said second object graph, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph.
Claim 11
Dependent Claim 257 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database, said method steps comprising the steps of: creating a second object graph managed by a second object manager comprising first copies of a plurality of said first data bearing objects; creating a third object graph managed by a third object manager comprising second copies of a plurality of said first data bearing objects; making one or more changes to a first of said first copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph and without affecting a second copy of said corresponding original in said third object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph; broadcasting a message from said first object graph manager to said third object graph manager.
Claim 12
Dependent Claim 257 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing changes made to a first object graph managed by a first object graph manager comprising a plurality of first data bearing objects containing data from a database, said method steps comprising the steps of: creating a second object graph managed by a second object manager comprising first copies of a plurality of said first data bearing objects; creating a third object graph managed by a third object manager comprising second copies of a plurality of said first data bearing objects; making one or more changes to a first of said first copies of said plurality of said first data bearing objects in said second object graph, initially without affecting a corresponding original of said first data bearing objects in said first object graph and without affecting a second copy of said corresponding original in said third object graph; after receiving a command to save said changes to said first of said copies of said plurality of first data bearing objects, sending a change request from said second object graph manager to said first object graph manager; in response to said change request, changing said corresponding original first data bearing object in said first object graph to correspond to said changes made to said first of said copies of said first data bearing objects in said second object graph; broadcasting a message from said first object graph manager to said third object graph manager.
Claim 13
Dependent Claim 189 words
In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of: prior to making any change to a first data bearing object in said object graph, in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; and identifying said change made to said first data bearing object upon said object graph manager receiving said message indicating said end of execution by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 14
Dependent Claim 189 words
In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of: prior to making any change to a first data bearing object in said object graph, in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; and identifying said change made to said first data bearing object upon said object graph manager receiving said message indicating said end of execution by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 15
Dependent Claim 30 words
The method of claim 7 further comprising: transmitting a message indicating that said first data bearing object has undergone a change from said object graph manager to an interested object.
Claim 16
Dependent Claim 28 words
The method of claim 8 further comprising: transmitting a message indicating how said first data bearing object has changed from said object graph manager to an interested object.
Claim 17
Dependent Claim 33 words
The method of claim 9 wherein said interested object is an object registered with said object graph manager as an object to be informed of any changes to said first data bearing object.
Claim 18
Dependent Claim 72 words
The method of claim 10 wherein said step of transmitting a message indicating that said first data bearing object expects to undergo a change comprises the steps of: registering said object graph manager as an observer with said first data bearing object; and broadcasting said message indicating that said first data bearing object expects to undergo a change from said first data bearing object to registered observers of said data bearing object.
Claim 19
Dependent Claim 119 words
The method of claim 11 wherein said interested object comprises a user interface manager object managing values displayed in a user interface, and further comprising the steps of: after said user interface manager object has received said message indicating that said first data bearing object has undergone change, transmiting a message from said user interface manager object to said first data bearing object requesting values for data of said first data bearing object; transmitting said values for said data of said first data bearing object from said first data bearing object to said user interface manager object; and updating said values displayed in said user interface corresponding to said values for said data of said first data bearing object.
Claim 20
Dependent Claim 193 words
In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of: prior to making any change to a first data bearing object in said object graph, in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; taking a second snapshot of said first data bearing object upon said object graph manager receiving said message indicating said end of said execution of application code; and identifying said change made to said first data bearing object by comparing said snapshot to said second snapshot.
Claim 21
Dependent Claim 193 words
In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of: prior to making any change to a first data bearing object in said object graph, in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; taking a second snapshot of said first data bearing object upon said object graph manager receiving said message indicating said end of said execution of application code; and identifying said change made to said first data bearing object by comparing said snapshot to said second snapshot.
Claim 22
Dependent Claim 209 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database, said method steps comprising the steps of: prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; and identifying said change made to said first data bearing object upon said object graph manager receiving said message indicating said end of said execution by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 23
Dependent Claim 209 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database, said method steps comprising the steps of: prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; and identifying said change made to said first data bearing object upon said object graph manager receiving said message indicating said end of said execution by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 24
Dependent Claim 40 words
The program storage device of claim 14 in which said method steps further comprise the steps of: transmitting a message indicating that said first data bearing object has undergone a change from said object graph manager to an interested object.
Claim 25
Dependent Claim 175 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing an object graph of data bearing objects containing data from a database, said method steps comprising the steps of: registering each of said data bearing objects in said object graph with an object graph manager; transmitting a request for a first data bearing object containing first data from said database from a requestor to said object graph manager; determining whether a previous instance of said first data bearing object already exists in said object graph by comparing said first data bearing object to said data bearing objects registered with said object graph manager; if such previous instance exists, transmitting a copy of said previous instance from said object graph manager to said requestor; if there is no such previous instance, creating said first data bearing object using said first data from said database and transmitting a copy of said first data bearing object from said object graph manager to said requestor.
Claim 26
Dependent Claim 175 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for managing an object graph of data bearing objects containing data from a database, said method steps comprising the steps of: registering each of said data bearing objects in said object graph with an object graph manager; transmitting a request for a first data bearing object containing first data from said database from a requestor to said object graph manager; determining whether a previous instance of said first data bearing object already exists in said object graph by comparing said first data bearing object to said data bearing objects registered with said object graph manager; if such previous instance exists, transmitting a copy of said previous instance from said object graph manager to said requestor; if there is no such previous instance, creating said first data bearing object using said first data from said database and transmitting a copy of said first data bearing object from said object graph manager to said requestor.
Claim 27
Dependent Claim 148 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database, said method steps comprising the steps of: prior to making any change to a first data bearing object in said object graph, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making a change to said first data bearing object; identifying said change made to said first data bearing object by comparing said data bearing object after said change has been made to said snapshot of said object.
Claim 28
Dependent Claim 148 words
A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database, said method steps comprising the steps of: prior to making any change to a first data bearing object in said object graph, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making a change to said first data bearing object; identifying said change made to said first data bearing object by comparing said data bearing object after said change has been made to said snapshot of said object.

References Cited (Backward Citations)

US5339392A Cited
EP0425415A2 Cited
US5381534A Cited
US5535386A Cited
US5151987A Cited
US5317730A Cited
US5715460A Cited
US5374932A Cited
US5519618A Cited
US5748188A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-07-04 2004-01-03 2004-07-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-07-04 2008-01-03 2008-07-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-07-04 2012-01-03 2012-07-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag