IP Library Granted Patent US 6,922,808
Granted Patent B2
US 6,922,808 · App. 09/838,822 · Granted Jul 26, 2005

Method and system for parameterized web documents

Assignee: Fine Ground Networks
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 6,922,808
App. No.
09/838,822
Granted
Jul 26, 2005
Kind
B2
Abstract

Techniques are disclosed for constructing web (or other networked) documents as parameterized forms of other networked documents. For example, a document may be represented as a collection of changes to be applied to a first document which is incorporated by reference in the second document. Instead of delivering the entire document over a slower network connecting the content server to the content browser, the document is delivered as a collection of changes to previously delivered documents that are much closer to the user's content browser. In an exemplary embodiment of the invention, special software is not necessarily required at the end user for reconstructing the second document from the set of base documents and the set of modifications to the base documents. Instead, the second document may be encoded as a program in a scripting (or other form of computer) language that can be readily executed by common content browsers and which, upon execution, causes the second document to be displayed by the content browser.

Claims (64)

1. A method for constructing parameterized web documents comprising the steps of:

(a) receiving as input a current document to be distributed to a user;

(b) identifying a base document that serves as a reference for said current document;

(c) decomposing said current document into (i) strings that occur in said base document, and (ii) strings that do not occur in said base document;

(d) creating a computer program that when executed on a content browser recreates and displays the current document from (i) said base document, and (ii) said strings that do not occur in said base document; and

(e) distributing said computer program to said user in place of sending to said user said current document in its entirety.

2. The method of claim 1 wherein said computer program includes: (i) a base document identifier; (ii) references to portions of said base document for strings that occur in said base document; and (iii) references to strings that do not occur in said base document.

3. The method of claim 1 wherein said program of step (c) is in a scripting language executable on a content browser of said user.

4. The method of claim 3 where said scripting language is Javascript.

5. The method of claim 1 wherein said computer program is configured so that no special software is required at the user for reconstructing said current document.

6. The method of claim 5 wherein said program is configured to be self-executing on said content browser.

7. The method of claim 1 wherein said base document shares content with said current document.

8. The method of claim 1 wherein said base document is accessible to said user from a cache.

9. The method of claim 8 wherein said cache is a local cache of said user's content browser.

10. The method of claim 8 wherein said cache is a network cache common to a plurality of users.

11. The method of claim 8 wherein said base document is encoded with a lifetime that is greater than an expected usage time therefor.

12. The method of claim 8 further comprising replacing said base document in said cache when a difference between said current document and said base document exceeds a threshold value.

13. The method of claim 1 wherein said computer program includes a reference to said base document.

14. The method of claim 13 wherein said reference to said base document is configured to substantially minimize conflicts with references to non-base documents.

15. The method of claim 13 wherein said reference to said base document is a storage location identifier.

16. The method of claim 15 where said storage location identifier is a URL.

17. The method of claim 16 where said URL contains a substantially random number.

18. The method of claim 1 wherein said step (b) of identifying said base document is based on degree of similarity to said current document.

19. The method of claim 18 wherein said base document is a previous version of the current document.

20. The method of claim 1 wherein said base document is a template for said current document.

21. The method of claim 1 wherein said documents are block-based and said strings are said blocks.

22. The method of claim 21 wherein said block-based documents are representations of video sequences.

23. The method of claim 21 wherein said block-based documents are representations of audio sequences.

24. A computer-readable storage medium encoded with program logic instructions for improving network efficiency of document transmission from a content server to a user, said processing instructions when executed on a computer:

(a) receiving as input a current document to be distributed to a user;

(b) identifying a base document that serves as a reference for said current document;

(c) decomposing said current document into (i) strings that occur in said base document, and (ii) strings that do not occur in said base document;

(d) creating a computer program that when executed on a content browser recreates and displays the current document from (i) said base document, and (ii) said strings that do not occur in said base document; and

(e) distributing said computer program to said user in place of sending to said user said current document in its entirety.

25. A file server located between, and configured to improve network efficiency of document transmission between, a content server and a user, comprising:

(a) an input interface configured to:

(i) receive a current document to be distributed to a user, and

(ii) identify a base document that serves as a reference for said current document;

(b) a condensation module configured to:

(i) decompose said current document into (x) strings that occur in said base document, and (y) strings that do not occur in said base document, and

(ii) create a computer program that when executed on a content browser recreates and displays the current document from (x) said base document, and (y) said strings that do not occur in said base document; and

(c) an output interface configured to distribute said computer program to said user in place of sending said current document in its entirety.

26. The file server of claim 25 further comprising a cache configured to provide said base document.

27. A method for constructing parameterized web documents comprising the steps of:

(a) receiving as input content strings to be distributed to a user;

(b) obtaining a base document that serves as a reference for said content strings;

(c) representing a current document to be transmitted to said user as a combination of (i) said input content strings and (ii) at least one portion of said base document;

(d) creating a computer program in a scripting language that when executed on a content browser recreates and displays the current document from (i) said base document, and (ii) said input content strings; and

(e) distributing said computer program to said user in place of sending said current document in its entirety.

28. A computer-readable storage medium encoded with program logic instructions for improving network efficiency of document transmission from a content server to a user, said processing instructions when executed on a computer:

(a) receiving as input content strings to be distributed to a user;

(b) obtaining a base document that serves as a reference for said content strings;

(c) representing a current document to be transmitted to said user as a combination of (i) said input content strings and (ii) at least one portion of said base document;

(d) creating a computer program in a scripting language that when executed on a content browser recreates and displays the current document from (i) said base document, and (ii) said input content strings; and

(e) distributing said computer program to said user in place of sending said current document in its entirety.

29. A file server located between, and configured to improve network efficiency of document transmission between, a content server and a user, comprising:

(a) an input interface configured to:

(i) receive content strings to be distributed to a user, and

(ii) obtain a base document that serves as a reference for said content strings;

(b) a condensation module configured to:

(i) represent a current document to be transmitted to said user as a combination of (x) said input content strings and (y) at least one portion of said base document, and

(ii) create a computer program that when executed on a content browser recreates and displays the current document from (x) said base document, and (y) said input content strings; and

(c) an output interface configured to distribute said computer program to said user in place of sending said current document in its entirety.

30. The file server of claim 29 further comprising a cache configured to provide said base document.

Assignments (4)
CHANGE OF NAME Recorded Sep 2, 2009
From: FINEGROUND NETWORKS, INC.
To: FINEGROUND NETWORKS LLC
Reel/Frame 023180/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2009
From: FINEGROUND NETWORKS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 023180/0327 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S NAME, PREVIOUSLY RECORDED ON REEL 011949 FRAME 0797. Recorded May 7, 2009
From: KAUSIK, BALAS NATARAJAN; JAWAHAR, JANARDHANAN
To: FINEGROUND NETWORKS, INC.
Reel/Frame 022645/0993 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2001
From: KAUSIK, BALAS NATARAJAN; JAWAHAR, JANARDHANAN
To: FINEGROUND NETWORKS
Reel/Frame 011949/0797 →
Continuity (2)
Continuation In Part 0963413400 · Aug 8, 2000
Related Publication 20020087547A1 · Jul 4, 2002