# US 12,015,825 B2 · Updating application code

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,015,825 B2
- Document ID: US12015825B2
- Status: Granted
- Kind: B2
- Application number: 18/078,621
- Filed: 2022-12-09
- Published: 2023-04-13
- Granted: 2024-06-18
- Earliest claimed: 2008-09-02
- Assignees: Comcast Cable Communications, LLC
- Applicants: Comcast Cable Communications, LLC
- Inventors: Tony R. Masimore
- Web page: https://patentgrep.com/patent/US12015825B2

## CPC

- H04N 21/4586: {Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally (deployment, distribution, installation, update of software G06F8/65; error detection or correction of the data by redundancy during software upgrading G06F11/1433; arrangements for updating broadcast information or broadcast-related information H04H60/25)}
- G06F 8/656: while running
- H04N 21/235: Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N 21/435: Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N 21/443: OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for updating a settop box (STB) architecture that can be used to immediately update a device without requiring the device to be reset/restarted. The device may be any type of device that simultaneously supports multiple applications. The architecture may be used to update one of the applications with new functionality in a seamless manner that allows the applications including the one application to continue to operate without interruption.

## Claims

### Claim 1

A computing device comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the computing device to:
execute code for established functionality of an application of the computing device;
receive temporary application code configured to cause elimination of the established functionality of the application;
determine one or more operating conditions to eliminate the established functionality;
execute the temporary application code to cause the elimination of the established functionality of the application; and
cause, based on a determination that the one or more operating conditions are satisfied, elimination, from storage of the computing device, of the code for the established functionality.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to execute the temporary application code based on receipt of an incoming message, and wherein the temporary application code, when executed, causes the computing device to process the incoming message.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein the application comprises a content listing application.

### Claim 4 (depends on 1)

The computing device of claim 1, wherein the temporary application code comprises non-compiling code.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to execute the temporary application code by causing the computing device to execute the temporary application code without requiring a restart of the application.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the instructions, when executed by the one or more processors, cause the computing device to execute the temporary application code by causing the computing device to execute the temporary application code as a second application.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the computing device comprises a set top box.

### Claim 8

One or more non-transitory computer-readable media comprising instructions that, when executed, cause:
executing code for established functionality of an application of a computing device;
receiving temporary application code configured to cause elimination of the established functionality of the application;
determining one or more operating conditions to eliminate the established functionality;
executing the temporary application code to cause the elimination of the established functionality of the application; and
causing, based on a determination that the one or more operating conditions are satisfied, elimination, from storage of the computing device, of the code for the established functionality.

### Claim 9 (depends on 8)

The computer-readable media of claim 8, wherein the instructions, when executed, cause executing the temporary application code based on receipt of an incoming message, and wherein the temporary application code, when executed, causes the computing device to process the incoming message.

### Claim 10 (depends on 9)

The computer-readable media of claim 9, wherein the application comprises a content listing application.

### Claim 11 (depends on 8)

The computer-readable media of claim 8, wherein the temporary application code comprises non-compiling code.

### Claim 12 (depends on 8)

The computer-readable media of claim 8, wherein the instructions, when executed, cause executing the temporary application code by causing execution of the temporary application code without requiring a restart of the application.

### Claim 13 (depends on 8)

The computer-readable media of claim 8, wherein the instructions, when executed, cause executing the temporary application code by causing execution of the temporary application code as a second application.

### Claim 14 (depends on 8)

The computer-readable media of claim 8, wherein the computing device comprises a set top box.

### Claim 15

A system comprising:
a first computing device; and
a second computing device;
wherein the first computing device comprises:
one or more first processors; and
first memory storing first instructions that, when executed by the one or more first processors, cause the first computing device to:
execute code for established functionality of an application of the lira computing device;
receive temporary application code configured to cause elimination of the established functionality of the application;
determine one or more operating conditions to eliminate the established functionality;
execute the temporary application code to cause the elimination of the established functionality of the application; and
cause, based on a determination that the one or more operating conditions are satisfied, elimination, from storage of the first computing device, of the code for the established functionality; and
wherein the second computing device comprises:
one or more second processors; and
second memory storing second instructions that, when executed by the one or more second processors, cause the second computing device to:
send, to the first computing device, the temporary application code.

### Claim 16 (depends on 15)

The system of claim 15, wherein the first instructions, when executed by the one or more first processors, cause the first computing device to execute the temporary application code based on receipt of an incoming message, and wherein the temporary application code, when executed, causes the first computing device to process the incoming message.

### Claim 17 (depends on 16)

The system of claim 16, wherein the application comprises a content listing application.

### Claim 18 (depends on 15)

The system of claim 15, wherein the temporary application code comprises non-compiling code.

### Claim 19 (depends on 15)

The system of claim 15, wherein the first instructions, when executed by the one or more first processors, cause the first computing device to execute the temporary application code by causing the first computing device to execute the temporary application code without requiring a restart of the application.

### Claim 20 (depends on 15)

The system of claim 15, wherein the first instructions, when executed by the one or more first processors, cause the first computing device to execute the temporary application code by causing the first computing device to execute the temporary application code as a second application.
