IP Library Granted Patent US 7,921,078
Granted Patent B2
US 7,921,078 · App. 11/111,083 · Granted Apr 5, 2011

System for negotiated differential compression

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 7,921,078
App. No.
11/111,083
Granted
Apr 5, 2011
Kind
B2
Abstract

A system and methods for distributing a new file from a server connected through a network to a client. Rather than downloading an entirely new file from the server, the system makes use of reference files already resident on the client. A new delta file corresponding to a reference file is sent to the client. The client generates the new file by modifying the corresponding reference file according to the change instructions in the new delta file.

Claims (62)

1. A method of distributing a new file from a server to a client, said client performing the steps of:

sending a request for said new file to the server, said new file configured to execute a particular application;

receiving a reference delta index corresponding to said new file from said server, wherein said reference delta index comprises a list of one or more new delta files and corresponding reference files for said new file resident on said client:

searching the reference delta index for index entries corresponding to reference files that are stored in storage accessible to said client but extrinsic to the particular application;

selecting a new delta file and corresponding reference file based on compression ratio values and said index entries in the reference delta index, wherein the compression ratio value is a measure of the reduction in file size between the new delta file and the corresponding reference file;

requesting and obtaining the selected new delta file from said server; and

generating said new file by applying said new delta file obtained from said server to corresponding reference file retrieved from said client.

2. The method according to claim 1 , wherein the corresponding reference files for said new file received from the server are reference files that the server determines are likely to be present on the client.

3. The method according to claim 1 , wherein said client further performs the steps of:

obtaining a new file list of new files for distribution from said server;

determining said new file from said new file list to download from said server; and

requesting said new file from said server.

4. The method according to claim 1 , wherein the particular application is a game software, and

wherein said reference files that are extrinsic to the game software comprise system files, graphic files, or library files that are not part of the game software.

5. The method according to claim 1 wherein said new file is generated by modifying a copy of the corresponding reference file according to said new delta file.

6. The method according to claim 1 , wherein said new delta file is comprised of instructions for changing the corresponding reference file into said new file.

7. The method according to claim 1 , wherein reference files are provided beforehand to said client using a physical media.

8. The method according to claim 1 , wherein at least one reference file includes data files associated with an operating system file.

9. The method according to claim 1 , wherein said server is for an online game system and said client executes client game software to interact with said online game system, said reference files include base files, not provided as part of said client game software.

10. A method of distributing a new file from a server to a client, said server performing the steps of:

receiving a request for said new file from the client, said new file configured to execute a particular application;

selecting reference files from a reference file database connected to said server,

wherein the selected reference files arc reference files that the server determines are likely to be present on said client, but extrinsic to the particular application;

generating new delta files corresponding to the selected reference files for said new file:

generating a reference delta index for said new file;

said reference delta index comprising index entries including a list of one or more new delta files and corresponding reference files:

calculating compression values for the generated new delta files;

said reference delta index further comprising said compression values for said new delta files; and

sending at least one of said new delta files to said client on the basis of said reference delta index;

said new delta file being used by said client to generate said new file.

11. The method according to claim 10 , wherein said server further performs the steps of:

sending said reference delta index to said client in response to a new file request for said new file: and

sending said at least one new delta file to said client in response to a new delta file request from said client.

12. The method according to claim 10 , wherein said server selects reference files based on a reference file list of one or more reference files that are present on said client.

13. The method according to claim 10 , wherein said server further performs the steps of:

obtaining a new file list of new files needed by said client; and

determining said new file which needs to be downloaded to said client from said new file list.

14. The method according to claim 10 , wherein said new delta file is comprised of instructions for changing the corresponding reference file into said new file.

15. The method according to claim 10 , wherein reference files are provided beforehand to said client using a physical media.

16. The method according to claim 10 , wherein said server is for an online game system and said client executes client game software to interact with said online game system, said reference files include base files not provided as part of said client game software.

17. A computer system for distributing a new file, comprising:

a network for transferring files;

a reference file database including a reference file storage system for storing one or more reference files;

a server connected to said reference file database and said network;

said server configured to select reference files from said reference file database, generate new delta files corresponding to the selected reference files for said new file, and generate a reference delta index for said new file, wherein the selected reference files are reference files that the server determines are likely to be present on the client computer, but extrinsic to the particular application;

wherein said reference delta index comprises index entries including a list of one or more new delta files and corresponding reference files;

wherein said new file is configured to execute a particular application; and

a client computer, having a processor, connected through said network to said server;

said client computer configured to, using the processor, receive said reference delta index corresponding to said new file from said server, select a new delta file and corresponding reference file based on a reference file list of one or more reference files resident on said client computer and compression ratio values in the reference delta index, obtain the selected new delta file from said server, and generate said new file on the basis of said new delta file from said server and corresponding reference file from said client computer.

18. The computer system according to claim 17 , wherein said client computer further performs a step of generating said reference file list of one or more reference files.

19. The computer system according to claim 17 , wherein said client computer obtains a new file list of new files for distribution from said server, determines said new file from said new file list to download from said server, and requests said new file from said server.

20. The computer system according to claim 17 , wherein said server sends said reference delta index to said client computer in response to a new file request for said new file, and sends said new delta file to said client computer in response to a new delta file request from said client computer.

21. The computer system according to claim 17 , wherein said server selects reference files based on said reference file list of reference files on said client computer.

22. The computer system according to claim 17 , wherein said server

obtains a new file list of one or more new files needed by said client computer; and

determines said new file which needs to be downloaded to said client computer from said new file list.

23. The computer system according to claim 17 , wherein said reference delta index further comprises compression values for said new delta files and the new delta file is selected on the basis of the compression values.

24. The computer system according to claim 17 , wherein said new delta file is comprised of instructions for changing, the corresponding reference file into said new file.

25. The computer system according to claim 17 , wherein reference files are provided beforehand to said client computer using physical hardware media.

26. The computer system according to claim 17 , wherein at least one reference file includes data files associated with an operating system file.

27. The computer system according to claim 17 , wherein said computer system is an online game system and said client computer executes client game software to interact with said online game system, said reference file database includes base files not provided as part of said client game software.

28. The method according to claim 1 , wherein the selected reference files are reference files that the server determines are likely to be present on said client.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Jul 27, 2021
From: CIBC BANK USA, AS ADMINISTRATIVE AGENT
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 056982/0415 →
SECURITY INTEREST Recorded Jul 3, 2019
From: DAYBREAK GAME COMPANY LLC
To: CIBC BANK USA, AS ADMINISTRATIVE AGENT
Reel/Frame 049666/0514 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2019
From: HERITAGE BANK OF COMMERCE
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 049133/0907 →
SECURITY INTEREST Recorded Oct 11, 2018
From: DAYBREAK GAME COMPANY LLC
To: HERITAGE BANK OF COMMERCE
Reel/Frame 047865/0657 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2018
From: HERITAGE BANK OF COMMERCE
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 046531/0242 →
SECURITY INTEREST Recorded May 12, 2016
From: DAYBREAK GAME COMPANY LLC
To: HERITAGE BANK OF COMMERCE
Reel/Frame 038567/0306 →
CHANGE OF NAME Recorded Mar 24, 2015
From: SONY ONLINE ENTERTAINMENT LLC
To: DAYBREAK GAME COMPANY LLC
Reel/Frame 035276/0671 →