IP Library Granted Patent US 8,893,114
Granted Patent B1
US 8,893,114 · App. 14/020,413 · Granted Nov 18, 2014

Systems and methods for executing a software package from within random access memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,893,114
App. No.
14/020,413
Granted
Nov 18, 2014
Kind
B1
Abstract

A computer-implemented method for executing a software package from within random access memory may include (1) identifying a computing device that contains both random access memory and firmware updatable read only memory, (2) providing a network accessible software package repository, (3) providing a download agent within the firmware updateable read only memory, the download agent being programmed to, (4) create a working area within the random access memory by emulating persistent storage, (5) access the software package repository through a network connection to extract a software package, and (6) execute the software package in the working area of the random access memory that emulates persistent storage. Various other methods, systems, and computer-readable media are also disclosed.

Claims (50)

1. A computer-implemented method for executing a software package from within random access memory, at least a portion of the method being performed by a computing system comprising at least one processor, the method comprising:

identifying a computing device that contains both random access memory and firmware updatable read only memory, the computing device being configured such that updating the firmware updatable read only memory involves rebooting the computing device;

providing a network accessible software package repository;

providing a download agent within the firmware updateable read only memory, the download agent being programmed to:

create a working area within the random access memory by emulating persistent storage;

access the software package repository through a network connection to extract a software package;

execute the software package in the working area of the random access memory that emulates persistent storage,

wherein the download agent is programmed to extract the software package and execute the software package in the working area of the random access memory that emulates persistent storage without rebooting the computing device.

2. The computer-implemented method of claim 1 , wherein the computing device is configured without writable auxiliary memory.

3. The computer-implemented method of claim 1 , wherein executing the software package in the working area of the random access memory that emulates persistent storage comprises updating a security software package.

4. The computer-implemented method of claim 1 , wherein:

the download agent is programmed to access the software package repository through the network connection to extract the software package by transmitting a request to the software package repository;

the request comprises an identifier of a model of the computing device.

5. The computer-implemented method of claim 4 , further comprising

selecting the software package, based on the identifier of the model, from a plurality of software packages at the software package repository.

6. The computer-implemented method of claim 1 , wherein the steps of extracting the software package and executing the software package in the working area of the random access memory are performed without breaking the network connection.

7. The computer-implemented method of claim 1 , wherein the computing device comprises a network gateway.

8. The computer-implemented method of claim 1 , wherein the download agent is programmed to access the software package repository through the network connection to extract the software package upon the computing device being booted.

9. The computer-implemented method of claim 1 , wherein the download agent is programmed to emulate persistent storage at least in part by creating a file system in the random access memory.

10. The computer-implemented method of claim 1 , wherein the download agent is programmed to block at least some traffic on the network through the computing device until the software package is executing in the working area of the random access memory that emulates persistent storage.

11. The computer-implemented method of claim 1 , wherein:

the computing device is configured to provide a user interface where a user can configure settings for the computing device;

the settings indicate how the computing device will respond when the download agent fails to download the software package from the software package repository.

12. A system for executing a software package from within random access memory, the system comprising:

an identification module that identifies a computing device that contains both random access memory and firmware updatable read only memory, the computing device being configured such that updating the firmware updatable read only memory involves rebooting the computing device;

a provisioning module that:

provides a network accessible software package repository;

provides a download agent within the firmware updateable read only memory, the download agent being programmed to:

create a working area within the random access memory by emulating persistent storage;

access the software package repository through a network connection to extract a software package;

execute the software package in the working area of the random access memory that emulates persistent storage;

at least one processor configured to execute the identification module and the provisioning module,

wherein the download agent is programmed to extract the software package and execute the software package in the working area of the random access memory that emulates persistent storage without rebooting the computing device.

13. The system of claim 12 , wherein the computing device is configured without writable auxiliary memory.

14. The system of claim 12 , wherein the download agent is programmed to execute the software package in the working area of the random access memory that emulates persistent storage by updating a security software package.

15. The system of claim 12 , wherein:

the download agent is programmed to access the software package repository through the network connection to extract the software package by transmitting a request to the software package repository;

the request comprises an identifier of a model of the computing device.

16. The system of claim 12 , wherein the download agent is programmed to extract the software package and execute the software package in the working area of the random access memory without breaking the network connection.

17. The system of claim 12 , wherein the computing device comprises a network gateway.

18. The system of claim 12 , wherein the download agent is programmed to access the software package repository through the network connection to extract the software package upon the computing device being booted.

19. The system of claim 12 , wherein the download agent is programmed to emulate persistent storage at least in part by creating a file system in the random access memory.

20. A non-transitory computer-readable-storage medium comprising one or more computer-readable instructions that, when executed by at least one processor of a computing system, cause the computing system to:

identify a computing device that contains both random access memory and firmware updatable read only memory, the computing device being configured such that updating the firmware updatable read only memory involves rebooting the computing device;

provide a network accessible software package repository;

provide a download agent within the firmware updateable read only memory, the download agent being programmed to:

create a working area within the random access memory by emulating persistent storage;

access the software package repository through a network connection to extract a software package;

execute the software package in the working area of the random access memory that emulates persistent storage,

wherein the download agent is programmed to extract the software package and execute the software package in the working area of the random access memory that emulates persistent storage without rebooting the computing device.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2013
From: COOLEY, SHAUN
To: SYMANTEC CORPORATION
Reel/Frame 031153/0953 →