Updating software components

US2017147331A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017147331-A1
Application numberUS-201715426090-A
CountryUS
Kind codeA1
Filing dateFeb 7, 2017
Priority dateJan 5, 2015
Publication dateMay 25, 2017
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and system for renewing software at the component-level is provided. A client program includes a base component for loading a software component into at least one loadable region of the program to update the program. Code in the software component is for writing state data associating the state of the update in storage, upon execution of the software component, and testing the state data to verify condition of the updated program and disallowing rollback and roll-forward attacks, the state data comprising hash chain values. The state data for verifying the correctness of the updated program is entangled with application data used for the program functionality. A server includes: an update pool having a plurality of software updates deployed in each client, and a policy control for monitoring and controlling at least one of: the length of time the client runs until the software update is invoked, a chain of the updates; and the granularity of the update.

First claim

Opening claim text (preview).

1 . A method for software renewal, comprising: loading a software component into at least one loadable region of a program by a base component in the program to update the program, the software component being dynamically swapped at run-time of the program in accordance with an update schedule; writing state data associating the state of the update in a storage, upon execution of the software component; testing the state data to verify the condition of the updated program, the state data comprising hash chain values; and entangling the state data for verifying the correctness of the updated program with application data used for the program functionality. 2 . (canceled) 3 . (canceled) 4 . (canceled) 5 . (canceled) 6 . (canceled) 7 . (canceled) 8 . (canceled) 9 . (canceled) 10 . (canceled) 11 . (canceled) 12 . (canceled) 13 . (canceled) 14 . (canceled) 15 . (canceled) 16 . (canceled) 17 . (canceled) 18 . (canceled) 19 . A system for renewing software, comprising: a client including: a processor, and a memory for storing a program including a base loading component for loading a program component into at least one loadable region of the program to update the program, the program component being dynamically swapped at run-time of the program in accordance with an update schedule, the software component having code for writing state data associating the state of the update in a storage, upon execution of the software component, and testing the state data to verify the condition of the updated program, the state data comprising hash chain values, the state data for verifying the correctness of the updated program being entangled with application data used for the program functionality. 20 . (canceled) 21 . (canceled) 22 . (canceled) 23 . (canceled) 24 . (canceled) 25 . (canceled) 26 . (canceled) 27 . (canceled) 28 . (canceled) 29 . (canceled) 30 . (canceled) 31 . (canceled) 32 . (canceled) 33 . (canceled) 34 . (canceled) 35 . (canceled) 36 . (canceled) 37 . (canceled) 38 . A system for renewing software in a client, comprising a server comprising: an update pool having a plurality of software updates deployed in each client; a policy control for monitoring and controlling at least one of: the length of time the client runs until the software update is invoked, a chain of the updates; and the granularity of the update; and an update module for updating the client's program a first software component in a part of the program of the client being replaced with a second software component based on one of the software update under the policy control. 39 . (canceled) 40 . (canceled)

Assignees

Inventors

Classifications

  • while running · CPC title

  • G06F21/572Primary

    Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title

  • Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • G06F8/67Primary

    Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2017147331A1 cover?
A method and system for renewing software at the component-level is provided. A client program includes a base component for loading a software component into at least one loadable region of the program to update the program. Code in the software component is for writing state data associating the state of the update in storage, upon execution of the software component, and testing the state da…
Who is the assignee on this patent?
Liem Clifford, Dong Hongrui, Martin Sam, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F21/572. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).