US 9,811,412 B1
System and method for restoring deleted objects and their assignments to other objects
Huynh Hoang, San Francisco, CA (US)
Assigned to Charles Schwab & Co., Inc., San Francisco, CA (US)
Filed by Charles Schwab & Co., Inc., San Francisco, CA (US)
Filed on Jul. 27, 2014, as Appl. No. 14/341,832.
Claims priority of provisional application 61/859,164, filed on Jul. 26, 2013.
Int. Cl. G06F 17/30 (2006.01); G06F 11/08 (2006.01)
CPC G06F 11/08 (2013.01) [G06F 2201/80 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method of restoring an object to a first point in time, comprising:
receiving at a first computer program, an indication of each of a plurality of actions taken or to be taken on a second computer program, on which the object resides or will reside, that does not have a capability to restore the object to a specified point in time, and that can be controlled by the first computer program, the plurality of actions comprising making an association of the object with each of at least one different object;
storing by the first computer program, information from the each of the plurality of indications received, and for each such indication, a date and a time corresponding to a time approximately when the action corresponding to the indication was taken;
receiving at the first computer program a command to restore the object to a particular point in time, the command comprising an identifier of the object, an indication of the point in time, and an indication as to whether any associations to or from the object should be restored; and
responsive to the command received, using the identifier of the object in the command, the information from the plurality of indications stored by the first computer system, the date and time of each of the plurality of indications, and the point in time, to provide from the first computer program to the second computer program, at least one command to take a set of at least one action causing the object to be incorporated into the second computer program as it existed on the second computer program at approximately the particular point in time except for any associations of that object at the point in time, and with at least one association existing between the object and the at least one different object at the point in time additionally incorporated into the second computer program using the set of at least one command responsive to the indication of the command received.