Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method and System of generating patch to provide variant delivarables for mutliple environments

IP.com Disclosure Number: IPCOM000238342D
Publication Date: 2014-Aug-19
Document File: 6 page(s) / 95K

Publishing Venue

The IP.com Prior Art Database

Abstract

Our core idea is to generate a install-able and slim patch on demand. When one software needs to be upgraded due to multiple reasons (new features, bug fixing, etc) in client machine, client machine sends hash value representing current software information along with environment information to patch center. In patch center, different versions of software exist. The version checker in patch center can decide which version of software was installed in client machine by checking hash value. Then patch generator in patch center will compare the version of software in client machine and the latest version of software in binary, and generate an incremental patch for this client, and save the newly generated patch in the repository for future use. If there is similar request from other clients, the patches stored in the repository will be checked first and send to client if matched. When client machine received such patch, it can easily apply patch to remove unless snippet of binary, and add newly snippet of binary, and then perform actual installation or upgrade.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 6

Method and System of generating patch to provide variant delivarables for mutliple environments

More computer software, including computer operating system software, are subject to near-constant revision. Their evolution is sometimes so rapid that, a month after delivery, a newer version is available. The newer version may include additional features, bug fixes, and enhanced compatability with other software. Accordingly, many users desire to update their software each time a newer version is released.

However, it is quite often that there are many versions of software in users' machine. Especially, if we are talking about DevOps era, thousands of versions may exist. Different platform and environment increases the complexity of software. If developers want to deliver software patch, finding all combinations is a safe way, but this can't be feasible in most situations.

Our core idea is to generate a install-able and slim patch on demand. When one software needs to be upgraded due to multiple reasons (new features, bug fixing, etc) in client machine, client machine sends hash value representing current software information along with environment information to patch center. In patch center, different versions of software exist. The version checker in patch center can decide which version of software was installed in client machine by checking hash value. Then patch generator in patch center will compare the version of software in client machine and the latest version of software in binary, and generate an incremental patch for this client, and save the newly generated patch in the repository for future use. If there is similar request from other clients, the patches stored in the repository will be checked first and send to client if matched. When client machine received such patch, it can easily apply patch to remove unless snippet of binary, and add newly snippet of binary, and then perform actual installation or upgrade.

Advantage:

- Accurate patch can be always generated and available for client machine.
- Developers doesn't need to consider all kind of combination for delivery.
- Generated patches in repository can be re-used for other clients.

claim points:

- patch generation in binary comparison

- user/client user triggered patch generation

- reuse of generated patches in patch center/repository - continuously incremental patch evolution

1



Page 02 of 6

In the patch center, there are the following components:

- patch matcher: in charge of comparing version information between software in client and software in patch repository; client just sends signature (MD5 hash value) of binary used in client to patch center along with environment information (OS, platform, other dependencies)

2



Page 03 of 6


(1). The corresponding version of software must be found in patch center (2).

- patch deliver: if the direct patch exists (there is pa...