Patent ID: 8380880

Claim:
One or more non-transitory computer-readable media storing instructions, the instructions comprising: one or more instructions, executable by at least one processor, to: initiate a technical computing environment based on a first instruction received from a user, the technical computing environment being initiated on a first device associated with the user; perform a first operation on behalf of the user, the first operation being performed using the technical computing environment on the first device; store information identifying a state of the technical computing environment, the state of the technical computing environment being to: represent a status of the technical computing environment with respect to the first device, and include one or more of: information about the first operation, a variable associated with the first operation, data associated with the first operation, an output resulting from performing the first operation, a sample time associated with the first operation, an event associated with the first operation, a configuration associated with performing the first operation, a flag associated with the first operation, an error message associated with performing the first operation, a device identifier, or an operating system identifier; receive a second instruction from a second device, the second device being associated with the user; determine whether to retrieve the information identifying the state of the technical computing environment from a volatile memory or a non-volatile memory based on at least one of: a speed associated with retrieving data from the volatile memory, a speed associated with retrieving data from the non-volatile memory, or a rate of change associated with the state; load the state of the technical computing environment; provide access to the technical computing environment to the user via the second device, the access reflecting the state of the technical computing environment on the first device; and maintain a synchronized state on the first device, the one or more instructions to maintain the synchronized state including one or more instructions to: update the state of the technical computing environment on the first device based on inputs received from the user via the second device, update the state of the technical computing environment on the second device, the updated state of the technical computing environment on the second device being substantially the same with respect to the user as the updated state of the technical computing environment on the first device, and provide the updated state of the technical computing environment on the first device to the user based on the user accessing the technical computing environment from the first device.