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

Method and system for synchronous operation of linked command objects

Assignee: Apple Inc
•
Filing: 1995-05-05
•
Granted: 2000-12-26
•
Expires: 2015-05-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method provide for synchronous operation of linked command objects in a general purpose software application. The software application provides a user with a variety of operations that manipulate available data objects. The software application manages the data objects in a number of contexts. Each context manages the existence and execution of a number of command objects. Each command object operates on one or more data objects in its context. To support synchronous operations that affect the state of data objects in more than one context, command objects are linked to each other. When one command object is executed, the context of the command object identifies a command object linked to the executed command object and initiates the execution of the linked command object via the context that manages that command object. This synchronization allows for synchronous undo and redone operations. The delete states of the command objects are also synchronized. Deleting a command object destroys it, and prevents it from being undone. When one command object is deleted the command object linked thereto is also deleted, thereby preventing the linked command object from being independently undone resulting in an inconsistent state of the contexts.

Inventors

  • 👤 Gregory S. Friedman
  • 👤 Thomas W. Becker

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 21:08
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/451; G06F3/00; G06F3/01; G06F3/048; G06F3/0484; G06F3/0486; G06F9/448; G06F9/4488; G06F9/46; G06F9/465

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 153 words
A computer implemented method for linking the behavior of two command objects to provide synchronous operation thereof within multiple contexts of a single application, each context comprising a mechanism for representing data to a user, the method comprising the steps of: creating a first command object for performing a first operation in a first context; creating a second command object for performing a different second operation in a second context; linking the first and second command objects such that each command object may be accessed and invoked by its linked command object; synchronizing execution of the first and second command objects to provide unified execution and undoing of the first and second operations such that each command object is executed responsive to its linked command object being executed; and synchronizing deletion of the first and second command objects such that each command object is deleted responsive to its linked command object being deleted.
Claim 2
Dependent Claim 153 words
A computer implemented method for linking the behavior of two command objects to provide synchronous operation thereof within multiple contexts of a single application, each context comprising a mechanism for representing data to a user, the method comprising the steps of: creating a first command object for performing a first operation in a first context; creating a second command object for performing a different second operation in a second context; linking the first and second command objects such that each command object may be accessed and invoked by its linked command object; synchronizing execution of the first and second command objects to provide unified execution and undoing of the first and second operations such that each command object is executed responsive to its linked command object being executed; and synchronizing deletion of the first and second command objects such that each command object is deleted responsive to its linked command object being deleted.
Claim 3
Dependent Claim 55 words
The method of claim 1, wherein the step of synchronizing execution of the first and second command objects further comprises the steps of: executing the first command object in the first context; accessing the second command object by its link to the first command object; and executing the second command object in the second context.
Claim 4
Dependent Claim 35 words
The method of claim 1, wherein the first command object comprises a link attribute pointing to the second command object, and the second command object comprises a link attribute pointing to the first command object.
Claim 5
Dependent Claim 46 words
The method of claim 2, wherein the step of synchronizing execution of the first and second command objects further comprises the steps of: accessing the first command object by its link to the second command object; and, executing the first command object in the first context.
Claim 6
Dependent Claim 117 words
The method of claim 1, wherein each context is associated with a last command object indicative of a last command object invoked in the context, and wherein each command object is in either a done state or an undone state, the step of synchronizing execution of the first and second command objects further comprising the steps of: determining the last command object of the first context; responsive to the state of the last command object, executing the last command object to achieve an opposite state; accessing from the last command object a second command object linked thereto; and, responsive to the state of the second command object, executing the second command object to achieve an opposite state.
Claim 7
Dependent Claim 82 words
The method of claim 1, wherein each command object is in either a deleted state or undeleted state, wherein the step of synchronizing deletion of the first and second command objects further comprises the steps of: comparing the state of the first command object to the state of the second command object; responsive to the states of the first and second command objects not being the same, selecting the command object being in an undeleted state; and, deleting the selected command object.
Claim 8
Dependent Claim 77 words
The method of claim 2, wherein each command object is associated with a context, each context having a last command object, and wherein each command object is in either a deleted state or undeleted state, the method further comprising the steps of: accessing a last command object of the context associated with the first command object; accessing a command object linked to the last command object; deleting the last command object; and, deleting the linked command object.
Claim 9
Dependent Claim 27 words
The method of claim 1, wherein the first command object is created in an active context, and the second command object is created in an inactive context.
Claim 10
Dependent Claim 126 words
The method of claim 1, wherein there are provided data objects, each data object associated with context, and wherein the steps of creating the first and second command objects further comprises the steps of: a) obtaining a user operation having a source context and a target context; b) responsive to the user operation being synchronous, performing the steps of: i) determining whether the source context is the same as the target context; ii) responsive to the source context not being the same as the target context, creating a first command object in the source context; and, c) creating a command object in the target context, wherein the command object is the second command object if the source context is not the same as the target context.
Claim 11
Dependent Claim 23 words
The method of claim 1, wherein the first command object performs a drag operation, and the second command object performs a drop operation.
Claim 12
Dependent Claim 172 words
A computer-readable medium comprising computer-readable code for linking the behavior of two command objects to provide synchronous operation thereof within multiple contexts of a single application, each context comprising a mechanism for representing data to a user, the computer-readable medium comprising: computer-readable code adapted to create a first command object for performing a first operation in a first context; computer-readable code adapted to create a second command object for performing a different second operation in a second context; computer-readable code adapted to link the first and second command objects such that each command object may be accessed and invoked by its linked command object; computer-readable code adapted to synchronize execution of the first and second command objects to provide unified execution and undoing of the first and second operations such that each command object is executed when its linked command object is executed; and computer-readable code adapted to synchronize deletion of the first and second command objects such that each command object is deleted responsive to its linked command object being deleted.
Claim 13
Dependent Claim 172 words
A computer-readable medium comprising computer-readable code for linking the behavior of two command objects to provide synchronous operation thereof within multiple contexts of a single application, each context comprising a mechanism for representing data to a user, the computer-readable medium comprising: computer-readable code adapted to create a first command object for performing a first operation in a first context; computer-readable code adapted to create a second command object for performing a different second operation in a second context; computer-readable code adapted to link the first and second command objects such that each command object may be accessed and invoked by its linked command object; computer-readable code adapted to synchronize execution of the first and second command objects to provide unified execution and undoing of the first and second operations such that each command object is executed when its linked command object is executed; and computer-readable code adapted to synchronize deletion of the first and second command objects such that each command object is deleted responsive to its linked command object being deleted.
Claim 14
Dependent Claim 65 words
The method of claim 11, wherein the computer-readable code adapted to synchronize execution of the first and second command objects comprises: computer-readable code adapted to execute the first command object in the first context; computer-readable code adapted to access the second command object by its link to the first command object; and computer-readable code adapted to execute the second command object in the second context.
Claim 15
Dependent Claim 36 words
The computer-readable medium of claim 11, wherein the first command object comprises a link attribute pointing to the second command object, and the second command object comprises a link attribute pointing to the first command object.
Claim 16
Dependent Claim 53 words
The computer-readable medium of claim 13, wherein the computer-readable code adapted to synchronize execution of the first and second command objects comprises: computer-readable code adapted to access the first command object by its link to the second command object; and, computer-readable code adapted to execute the first command object in the first context.
Claim 17
Dependent Claim 132 words
The computer-readable medium of claim 11, wherein each context is associated with a last command object indicative of a last command object invoked in the context, and wherein each command object is in either a done state or an undone state, the computer-readable code adapted to synchronize execution of the first and second command objects comprising: computer-readable code adapted to determine the last command object of the first context; computer-readable code adapted to execute, responsive to the state of the last command object, the last command object to achieve an opposite state; computer-readable code adapted to access from the last command object a second command object linked thereto; and, computer-readable code adapted to execute, responsive to the state of the second command object, the second command object to achieve an opposite state.

References Cited (Backward Citations)

US5566294A Cited
US5416900A Cited
US5604853A Cited
US5263167A Cited
US5307451A Cited
US5481710A Cited
US5530864A Cited
US5519862A Cited
US5659747A Cited
US5530859A Cited
US5560012A Cited
US5459832A Cited
US5455599A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag