Keyed-build system for controlling the distribution of software
First Claim
1. A computer-implemented method for providing a computer-executable program comprising:
- determining a first device identification; and
building the computer-executable program by;
keying the computer-executable program with the first device identification;
configuring the computer-executable program to determine a second device identification embedded in a computing device;
configuring the computer-executable program to disable itself if the first device identification does not match the second device identification.
2 Assignments
0 Petitions
Accused Products
Abstract
A keyed-build system for controlling the distribution of software. The system and method of the present invention control distribution of software by keying computer-executable programs with device identifications. Each of the computing devices of the keyed-build system contains a device identification that is uniquely associated with and is embedded in the device. A computer-executable program for use in a particular computing device is keyed with the device'"'"'s unique device identification during the build process of the program. When the computer-executable program is launched on a computing device, the device identification in the program is compared with the device identification embedded in the computing device. If the two device identifications do not match, the computer-executable program is disabled.
25 Citations
42 Claims
-
1. A computer-implemented method for providing a computer-executable program comprising:
-
determining a first device identification; and
building the computer-executable program by;
keying the computer-executable program with the first device identification;
configuring the computer-executable program to determine a second device identification embedded in a computing device;
configuring the computer-executable program to disable itself if the first device identification does not match the second device identification. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method for authenticating a computer-executable program by a computing device comprising:
-
performing an operation associated with the computer-executable program, the computer-executable program having a keyed device identification;
determining an embedded device identification uniquely associated with the computing device;
authenticating the keyed device identification using the embedded device identification; and
if the keyed device identification is not authenticated, aborting the operation. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A computer-implemented method for upgrading software in a mobile computing device comprising:
-
receiving a software upgrade with a keyed device identification;
performing an operation associated with the software upgrade;
determining an embedded device identification uniquely associated with the mobile computing device;
comparing the keyed device identification with the embedded device identification; and
if the keyed device identification does not match the embedded device identification embedded in the computing device, aborting the operation. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-implemented method for distributing software upgrade comprising:
-
receiving a request to upgrade software for a mobile computing device;
establishing a communication link with the mobile computing device;
retrieving a device identification uniquely associated with the mobile computing device;
determining an appropriate software upgrade for the mobile computing device;
building the software upgrade keyed with the device identification; and
making the software upgrade available for installation in the computing device. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
- 22. A computer-readable medium encoded with a computer-executable component configured to determine a device identification uniquely associated a computing device, to build a computer-executable program keyed with the device identification, and to provide the computer-executable program to a computing device.
-
26. A computer-readable medium encoded with a data structure comprising:
-
a first data field having computer-executable instructions; and
a second data field keyed with a device identification uniquely associated with a computing device. - View Dependent Claims (27, 28, 29, 30)
-
-
31. A system for distributing software upgrades comprising:
-
a mobile computing device uniquely identified by a device identification, the device identification being embedded in the mobile computing device;
a commerce server configured to receive a request for a software upgrade for the mobile computing device and to determine the device identification from the computing device; and
an upgrade server configured to receive the device identification from the commerce server, to build the software upgrade keyed with the device identification, and to provide the software upgrade to the mobile computing device. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
-
39. A mobile computing device comprising:
-
a computer-readable medium encoded with a first device identification uniquely associated with the mobile computing device, the computer-readable medium being configured to prevent the device identification from being altered; and
a memory component encoded with;
a computer-executable program keyed with a second device identification; and
computer-executable instructions configuring the mobile computing device to compare the first device identification with the second device identification and to render the computer-executable program inoperable if the first device identification and the second device identification do not match. - View Dependent Claims (40, 41, 42)
-
Specification