Patent ID: 8701104

Claim:
A method for executing a user agent in an electronic device connected to a network, the method comprising: storing binary code of a base version of the user agent in a first data storage area of the device; utilizing a processor in the device to execute the user agent; while the user agent is running, receiving via an input device, user designation of one or more selectable enhancements to the user agent; transmitting to a server via the network, a message identifying the one or more designated enhancements; and downloading a binary patch from the server in response to the transmitted message; and in response to downloading the binary patch, utilizing the processor in the device to restart the user agent by: loading the binary code of the base version in the first data storage into memory; determining that the downloaded binary patch is stored in a second data storage area of the device; and applying the binary patch to update the binary code of the base version and executing the updated binary code, wherein the transmitted message initiates a process whereby the one or more designated enhancements are compiled into the binary patch, and wherein the processor executes a virtual machine, the virtual machine being used to perform the steps for initiating execution of the user agent.