Patent ID: 7328214
Filing Date: 2008-02-05
Classification: G06F,Y10S

Abstract:
1. A method of preparing a document for delivery from a server to a remote electronic device, comprising: building a graph structure representing a map of said document, said graph structure having a plurality of nodes, said nodes including one or more hyperlink nodes each having a corresponding hyperlink and one or more bookmark nodes each having a corresponding bookmark, wherein the hyperlink of each of said one or more hyperlink nodes has as its destination the bookmark of one of said one or more bookmark nodes; traversing and paginating said graph structure into successive pages based on a page size limit, wherein each of said nodes is included in one of said successive pages and wherein each of said successive pages has a corresponding page index value; and for each of said nodes that is one of said hyperlink nodes, storing in association with the one of said hyperlink nodes during said traversing and paginating a bookmark page index value, said bookmark page index value being the page index value of the one of said successive pages that includes the one of said bookmark nodes having the bookmark that is the destination of the hyperlink of the one of said hyperlink nodes, and wherein said traversing and paginating and said storing comprise: determining, for each particular node of said plurality of nodes, whether the particular node is one of said hyperlink nodes or one of said bookmark nodes; if said particular node is one of said hyperlink nodes, determining whether a first name string of the particular node that is one of said hyperlink nodes is stored in a bookmark map, and if said first name string is stored in said bookmark map, retrieving an associated page index value that is associated with the first name string from said bookmark map and storing the associated page index value in association with the particular node that is one of said hyperlink nodes, and if said first name string is not stored in said bookmark map, storing the particular node that is one of said hyperlink nodes in a hyperlink map in association with said first name string; and if said particular node is one of said bookmark nodes, determining whether a second name string of the particular node that is one of said bookmark nodes is stored in said hyperlink map, and if said second name string is stored in said hyperlink map, retrieving an associated hyperlink node that is associated with the second name string from said hyperlink map and storing in association with the associated hyperlink node the page index value of the one of said successive pages that includes the particular node that is one of said bookmark nodes, and if said second name string is not stored in said hyperlink map, storing the page index value of the one of said successive pages that includes the particular node that is one of said bookmark nodes in said bookmark map in association with said second name string.