IP Library Granted Patent US 11,442,722
Granted Patent B2
US 11,442,722 · App. 16/233,606 · Granted Sep 13, 2022

Tree-conversion delta encoding

Inventors: Liwei Ren (San Jose, CA); Jiang Zhang (San Jose, CA); Xiaoyong Yi (Fremont, CA)
Assignee: Beijing Voyager Technology Co., Ltd.
G06F8/71G06F16/116G06F16/13G06F16/9017G06F16/9027
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 11,442,722
App. No.
16/233,606
Granted
Sep 13, 2022
Kind
B2
Abstract

A first data tree and a second data tree may be accessed. The first data tree may include a first set of directory nodes and a first set of file nodes, and the second data tree may include a second set of directory nodes and a second set of file nodes. The first data tree may be converted into a first data tree file, and the second data tree may be converted into a second data tree file. A delta for the first data tree and the second data tree may be generated based on a comparison of the first data tree file and the second data tree file.

Claims (52)

1. A system for tree-conversion delta encoding, the system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform:

accessing a first data tree of a first version of a software, wherein the first data tree is a data structure including a set of directory nodes and a set of file nodes in the software;

converting the first data tree into a first data tree file that is in a pack format;

obtaining, from a computer device, a delta that represents differences between the first data tree file and a second data tree file that is converted from a second data tree of a second version of the software;

applying the delta to the first data tree file to obtain an updated first data tree file;

converting the updated first data tree file to an updated first data tree; and

overwriting the first data tree with the updated first data tree, wherein the pack format specifies that the first data tree file includes:

a header comprising header information of the first data tree file,

a tree structure defining a file name, a file type, and a data location of each of the set of file nodes and a directory name and a directory type of each of the set of directory nodes,

an alignment space for alignment of data within the first data tree file,

data of each of the set of file nodes, wherein, in the first data tree file, the tree structure is outside the header and the data of each of the set of file nodes, and

the tree structure is adjacent to the header, the alignment space is adjacent to the tree structure, and the data of the set of file nodes is adjacent to the alignment space.

2. The system of claim 1 , wherein the pack format of the first data tree file is platform independent and does not include time stamp information, ownership information, and version information.

3. The system of claim 1 , wherein the delta is based on a comparison of the first data tree file and the second data tree file using bsdiff, xdelta, or zdelta.

4. The system of claim 1 , wherein conversion of the first data tree into the first data tree file is performed using tar.

5. The system of claim 1 , wherein the delta is generated as a set of differences to be applied to a copy of the first data tree file to construct a copy of the second data tree file, and the copy of the second data tree file is converted into a copy of the second data tree.

6. A method, comprising:

accessing a first data tree of a first version of a software, wherein the first data tree is a data structure including a set of directory nodes and a set of file nodes in the software;

converting the first data tree into a first data tree file that is in a pack format;

obtaining, from a computer device, a delta that represents differences between the first data tree file and a second data tree file that is converted from a second data tree of a second version of the software;

applying the delta to the first data tree file to obtain an updated first data tree file;

converting the updated first data tree file to an updated first data tree; and

overwriting the first data tree with the updated first data tree, wherein the pack format specifies that the first data tree file includes:

a header comprising header information of the first data tree file,

a tree structure defining a file name, a file type, and a data location of each of the set of file nodes and a directory name and a directory type of each of the set of directory nodes,

an alignment space for alignment of data within the first data tree file,

data of each of the set of file nodes, wherein, in the first data tree file, the tree structure is outside the header and the data of each of the set of file nodes, and

the tree structure is adjacent to the header, the alignment space is adjacent to the tree structure, and the data of the set of file nodes is adjacent to the alignment space.

7. The method of claim 6 , wherein the delta is based on a comparison of the first data tree file and the second data tree file using bsdiff, xdelta, or zdelta.

8. The method of claim 6 , wherein conversion of the first data tree into the first data tree file is performed using tar.

9. The method of claim 6 , wherein the pack format of the first data tree file is platform independent and does not include time stamp information, ownership information, and version information.

10. The method of claim 6 , wherein the delta is generated as a set of differences to be applied to a copy of the first data tree file to construct a copy of the second data tree file, and the copy of the second data tree file is converted into a copy of the second data tree.

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

accessing a first data tree of a first version of a software, wherein the first data tree is a data structure including a set of directory nodes and a set of file nodes in the software;

converting the first data tree into a first data tree file that is in a pack format;

obtaining, from a computer device, a delta that represents differences between the first data tree file and a second data tree file that is converted from a second data tree of a second version of the software;

applying the delta to the first data tree file to obtain an updated first data tree file;

converting the updated first data tree file to an updated first data tree; and

overwriting the first data tree with the updated first data tree, wherein the pack format specifies that the first data tree file includes:

a header comprising header information of the first data tree file,

a tree structure defining a file name, a file type, and a data location of each of the set of file nodes and a directory name and a directory type of each of the set of directory nodes,

an alignment space for alignment of data within the first data tree file,

data of each of the set of file nodes, wherein, in the first data tree file, the tree structure is outside the header and the data of each of the set of file nodes, and

the tree structure is adjacent to the header, the alignment space is adjacent to the tree structure, and the data of the set of file nodes is adjacent to the alignment space.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the pack format of the first data tree file is platform independent and does not include time stamp information, ownership information, and version information.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the delta is based on a comparison of the first data tree file and the second data tree file using bsdiff, xdelta, or zdelta.

14. The non-transitory computer-readable storage medium of claim 11 , wherein conversion of the first data tree into the first data tree file is performed using tar.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the delta is generated as a set of differences to be applied to a copy of the first data tree file to construct a copy of the second data tree file, and the copy of the second data tree file is converted into a copy of the second data tree.

16. The non-transitory computer-readable storage medium of claim 11 , wherein the alignment space includes spare space.

17. The non-transitory computer-readable storage medium of claim 11 , wherein the pack format specifies that, in the first data tree file, the tree structure is in the header.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2020
From: VOYAGER (HK) CO., LTD.
To: BEIJING VOYAGER TECHNOLOGY CO., LTD.
Reel/Frame 052175/0748 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2020
From: DIDI RESEARCH AMERICA, LLC
To: VOYAGER (HK) CO., LTD.
Reel/Frame 052203/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 27, 2018
From: REN, LIWEI; ZHANG, JIANG; YI, XIAOYONG
To: DIDI RESEARCH AMERICA, LLC
Reel/Frame 047860/0366 →
Continuity (1)
Related Publication 20200210375A1 · Jul 2, 2020