Claims
- 1. A method for dynamically installing a software module on a deployed wireless communication device, comprising:
receiving a request to install the software module, the request comprising a unique identifier for the software module; compiling a server query, the server query comprising the unique identifier; sending the server query to a remote server via a wireless communication network; and receiving a response from the remote server via the wireless communication network, wherein the response comprises the software module.
- 2. The method of claim 1, wherein the request is received from a user.
- 3. The method of claim 2, wherein the request further comprises a unique identifier for an existing software module to be deleted from the deployed wireless communication device, further comprising the step of:
deleting the existing software module to be deleted.
- 4. The method of claim 2, wherein the request further comprises a size for the software module, further comprising the step of:
determining whether the available persistent storage on the deployed wireless communication device will accommodate the size for the software module.
- 5. The method of claim 4, further comprising the steps of:
identifying an existing software module to be deleted; and deleting the identified existing software module to be deleted from the deployed wireless communication device to free up storage space for the software module.
- 6. The method of claim 1, wherein the request is received from a carrier network.
- 7. The method of claim 6, further comprising validating the request from the carrier network.
- 8. The method of claim 1, wherein the response from the remote server instructions comprises at least one of instructions to install the software module and instructions to determine available persistent storage space.
- 9. The method of claim 8, wherein the response from the remote server further comprise instructions to identify an existing software module to be deleted from the deployed wireless communication device, further comprising the step of:
deleting the existing identified software module to be deleted.
- 10. The method of claim 1, wherein the compiling step further comprises:
compiling a server instruction set having a corresponding data payload; and including the unique identifier in the data payload.
- 11. The method of claim 10, wherein the server instruction set comprises non-executable operation codes.
- 12. The method of claim 1, wherein the receiving a response from the remote server step further comprises:
receiving a handset instruction set having a corresponding data payload; extracting the data payload, wherein the data payload comprises the software module; obtaining a set of executable instructions corresponding to the handset instruction set; and executing the set of executable instructions to install the software module.
- 13. The method of claim 12, wherein the executing the set of executable instructions step is carried out within a runtime engine operating on the wireless communication device.
- 14. The method of claim 1, further comprising the steps of:
sending usage data to the remote server; and receiving billing details from the remote server.
- 15. A wireless communication device comprising:
a data storage area comprising instructions executable by the wireless communication device; a modular software interface configured to receive a request to install a new software module and configured to determine a unique identifier for the new software module; a server opcode library housed in the data storage area, the server opcode library comprising operation codes corresponding to instructions executable by a remote server; a handset opcode library housed in the data storage area, the handset opcode library comprising operation codes corresponding to the instructions executable by the wireless communication device; and a runtime engine configured to compile and send server opcode sets and receive and process handset opcode sets, wherein the modular software interface receives a request to install the new software module, determines a unique identifier for the new software module and provides the unique identifier to the runtime engine that compiles a server opcode set requesting the software module, the server opcode set having a data payload comprising the unique identifier.
- 16. The system of claim 15, wherein the modular software interface is further configured to determine the size of the requested new software module and the amount of available persistent storage.
- 17. The system of claim 16, wherein the modular software interface is further configured to delete data in persistent storage to increase the amount of available persistent storage to allow installation of the requested new software module.
- 18. A method for expiring a software module on a wireless communication device, comprising the steps of:
sending an expiration notice from a software module server to the wireless communication device; determining whether a license renewal is automatic for the software module; if the license renewal is not automatic, then
notifying a user of the wireless communication device; de-activating the software module upon receipt of instructions to not renew; if the license renewal is automatic or upon receipt instructions to renew, then
sending the renewal instructions to the software module server; receiving an activation key from the software module server; and activating the software module utilizing the activation key.
- 19. The method of claim 18, wherein the activation key is a renewed license.
RELATED APPLICATIONS
[0001] This application is a continuation in part application of U.S. patent application Ser. No. 10/665,962, filed on Sep. 18, 2003, which is a continuation in part of U.S. patent application Ser. No. 09/917,026, filed on Jul. 26, 2001, of U.S. patent application Ser. No. 09/916,900, filed on Jul. 26, 2001, and of U.S. patent application Ser. No. 09/916,460, filed on Jul. 26, 2001, which are hereby incorporated by reference.
[0002] This application is also related to U.S. Application Serial No. unknown entitled “System and Method for Interchangeable Modular Hardware Components for Wireless Communication Devices” and to U.S. Application Serial No. unknown entitled “Dynamic Interface Software for Wireless Communication Devices ”, which are filed concurrently herewith. Additionally, this application is related to U.S. application Ser. No. 09/927,131, filed on Aug. 10, 2001; to U.S. application Ser. No. 09/969,305, filed on Oct. 2, 2001; to U.S. application Ser. No. 09/970,188, filed on Oct. 3, 2001; to U.S. application Ser. No. 09/972,519, filed on Oct. 5, 2001; to U.S. application Ser. No. 10/206,780, filed on Jul. 25, 2002; to U.S. application Ser. No. 10/206,781, filed on Jul. 25, 2002; and to U.S. application Ser. No. 10/206,516, filed on Jul. 25, 2002, which are hereby incorporated by reference.
Continuation in Parts (4)
|
Number |
Date |
Country |
Parent |
10665962 |
Sep 2003 |
US |
Child |
10848940 |
May 2004 |
US |
Parent |
09917026 |
Jul 2001 |
US |
Child |
10665962 |
Sep 2003 |
US |
Parent |
09916900 |
Jul 2001 |
US |
Child |
10665962 |
Sep 2003 |
US |
Parent |
09916460 |
Jul 2001 |
US |
Child |
10665962 |
Sep 2003 |
US |