Patent ID: 6920636

Claim:
An object execution system supporting passing of an object reference in a method invocation delivered via a queued message, the system comprising: an object configuration store containing object properties information representing properties of at least first and second object classes executable in the system, the object properties information designating the first and second objects as supporting queued method invocation, the second object class having a method with a parameter for passing an object reference; a method invocation recording facility operative responsive to request of a client program to supply method invocations recorders for object instances of object classes designated as supporting queued method invocations; in a first transaction, a first method invocations recorder supplied by the method invocation recording facility at request of the client program for the first object class; and in the first transaction, a second method invocations recorder supplied by the method invocation recording facility at request of the client program for the second object class, the second method invocations recorder operating in response to a method invocation in which an object reference to the first method invocations recorder is passed to cause a data stream representation of the first method invocations recorder to be marshaled into a method invocations message for submission into a message queue associated with the second object class; a method invocation play-back facility operative responsive to a queued method invocations message to supply method invocation players for object instances of object classes designated as supporting queued method invocations; in a second transaction, a first method invocation player supplied by the method invocation play-back facility in response to the method invocations message queued to the message queue associated with the second object class, the first method invocations player operating in response to the method invocations message to unmarshal the date stream representation and create therefrom a copy of the first method invocations recorder, and to pass an object reference to the copy of the first method invocations recorder as a parameter of a method invocation to an object of the second object class; wherein an object reference to the copy of the first method invocation recorder is passed as a parameter of the method invocation to an object of the second object class so an object of the second object class can record results for an object of the first object class.