Suche Bilder Maps Play YouTube News Gmail Drive Mehr »
Erweiterte Patentsuche | Abbildungen der Seite | Webprotokoll | Anmelden

Patente

  

US007096311B2

(12) United States Patent

Chiang

(io) Patent No.: (45) Date of Patent:

US 7,096,311 B2 Aug. 22, 2006

(54) UPDATING ELECTRONIC FILES USING BYTE-LEVEL FILE DIFFERENCING AND UPDATING ALGORITHMS

(75) Inventor: Ying-Hsin Robert Chiang, San Jose, CA (US)

(73) Assignee: InnoPath Software, Inc., Sunnyvale, CA (US)

( * ) Notice: Subject to any disclaimer, the term of this patent is extended or adjusted under 35 U.S.C. 154(b) by 670 days.

(21) Appl. No.: 10/261,153

(22) Filed: Sep. 30, 2002

(65) Prior Publication Data

US 2004/0062130 Al Apr. 1, 2004

(51) Int. CI.

G06F12/00 (2006.01)

(52) U.S. CI 711/100; 717/171

(58) Field of Classification Search None

See application file for complete search history.

(56) References Cited

U.S. PATENT DOCUMENTS

5,479,654 A 12/1995 Squibb

5,574,906 A 11/1996 Morris

5,634,052 A * 5/1997 Morris 707/1

5,742,905 A 4/1998 Pepe

5,806,078 A 9/1998 Hug

5,813,017 A 9/1998 Morris

5,832,520 A 11/1998 Miller 707/203

5,893,119 A * 4/1999 Squibb 707/203

6,018,747 A * 1/2000 Burns et al 707/203

6,052,531 A 4/2000 Waldin

6,076,148 A * 6/2000 Kedem 711/162

6,088,694 A 7/2000 Burns

6,163,811 A * 12/2000 Porter 709/247

6,167,258 A 12/2000 Schmidt

6,216,175 Bl * 4/2001 Sliger et al 717/169

[table][merged small][merged small][merged small][merged small]

A system and method for updating electronic files and file components are provided. An upgrade client of a remote device receives a delta file block that codes differences between an original and a new version of a file. The upgrade client stores the delta file block in a first memory area. The upgrade client writes an original file block corresponding to the delta file block from an original memory area to a second memory area. A file updating algorithm generates an updated file block in the host device using the received delta file block and the original file block. This updated file block corresponds to the original file block, and is stored in a third memory area. The upgrade client updates the original file block of the remote device by writing the updated file block over the original file block in the original memory area of the remote device.

1 Claim, 28 Drawing Sheets

[table][table]

Page 2

U.S. PATENT DOCUMENTS

[table]
[blocks in formation]

Lyu, et al. "A procedure-based dynamic software update", Dependable Systems and Networks, 2001. Proeedings. The International Conference on Jul. 1-4, 2001 pp. 271-280 *

Bialek, R.P. "The architecture of a dynamically updatable, component-based system", Computer Software and Applications Conference, 2002. COMPSAC 2002. Proceedings. 26th Annual International Aug. 26-29, 2002 pp. 1012-1016*

Gumbold, Marc, "Software distribution by reliable multicast", Local Computer Networks, 1996., Proceedings 21st IEEE Conference on Oct. 13-16, 1996 pp. 222-231 .*

Hauptmann et al. "On-line maintenance with on-fhe-fly software replacement" Configurable Distributed Systems, 1996. Proceedings., Lhird International Conference on May 6-8, 1996 pp. 70-80CD*

Lichy, Walter F., "Lhe string-to-string correction problem with block moves", ACM Lransaction on Computer Systems, vol. 2, No. 4, Nov. 1984, pp. 309-321.

Ajtai, Miklos et al., "Compactly encoding unstructured inputs with differential compression", IBM Almaden Research Center, 44 pages.

Burns, Randal C. et al., "In-place reconstruction of delta compressed files", IBM Almaden Research Center, 9 pages. Burns, Randal et al., "In-place reconstruction of version differences", IBM Almaden Research Center, 25 pages. Liv, Jacob et al., "A universal algorithm for sequential data compression", IEEE Lransactions on Information Lheory, vol. IL-23, No. 3, May 1977.

* cited by examiner

[merged small][merged small][merged small][merged small][merged small][merged small][merged small][table][merged small][merged small][merged small][merged small]
[merged small][merged small][graphic][merged small][merged small][merged small][merged small][merged small][graphic]
« ZurückWeiter »