IP Library Granted Patent US 7,636,891
Granted Patent B2
US 7,636,891 · App. 10/931,290 · Granted Dec 22, 2009

Method for paginating a document structure of a document for viewing on a mobile communication device

Assignee: Research In Motion Limited
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,636,891
App. No.
10/931,290
Granted
Dec 22, 2009
Kind
B2
Abstract

A process for transmitting a document from a server to a mobile device on a per page basis, comprising building a graph structure within the server representing a map of the document, transmitting a page size limit from the mobile device to the server indicative of the size of a single page of the document to be displayed by the mobile device, traversing and paginating the graph structure into successive pages based on the page size limit, caching the pages within the server, and transmitting the successive pages from the server to said the mobile device for display by said the mobile device.

Claims (30)

1. A process for transmitting a document from a server to a mobile device on a per page basis, comprising:

building a graph structure within said server representing a map of said document; transmitting page size limit from said mobile device to said server indicative of the size of a single page of said document to be displayed by said mobile device;

traversing and paginating said graph structure into successive pages within said server based on said page size limit;

caching said pages within said server; and

transmitting said successive pages from said server to said mobile device for display by said mobile device,

wherein traversing and paginating said graph structure further comprises:

initializing a page size value;

retrieving and calculating output size of successive nodes of the graph structure;

adding the output size of said successive nodes to said page size value; and

in the event said page size value exceeds said page size limit for a given node then marking said graph structure to identify said node as starting a new page for transmission to said mobile device, and wherein marking said graph structure further comprises:

maintaining a page index value that is incremented with each new page;

adding said page index value as an attribute to each said given node for marking each said new page; and

adding each said given node as an attribute to a root node of said graph structure with a string representation of said page index value as attribute name.

2. The process of claim 1 , further comprising calculating a document ID based on contents of said document before building said graph structure, checking a memory cache of said server using said document ID for said graph having been previously built, and in the event said graph structure exists in the memory cache then omitting the building of said graph structure.

3. The process of claim 2 , wherein calculating said document ID further comprises performing a hashing function on the contents of said document and in response generating said document ID as a unique key to said map.

4. The process of claim 3 , wherein said hashing function comprises the MD5 messaging encryption algorithm.

5. The process of any one of claims 1 and 2 to 4 , wherein said graph structure is a Document Object Model (DOM).

6. A server process comprising:

building a graph structure representing a map of a document;

traversing and paginating said graph structure into successive pages based on a page size limit; and

caching said pages within said server,

wherein traversing and paginating said graph structure further comprises:

initializing a page size value;

retrieving and calculating output size of successive nodes of the graph structure;

adding the output size of said successive nodes to said page size value; and

in the event said page size value exceeds said page size limit for a given node then marking said graph structure to identify said node as starting a new page, and wherein marking said graph structure further comprises maintaining a page index value that is incremented with each new page; adding said page index value as an attribute to each said given node for marking each said new page; and adding each said given node as an attribute to a root node of said graph structure with a string representation of said page index value as attribute name.

7. The server process of claim 6 , further comprising calculating a document ID based on contents of said document before building said graph structure, checking a memory cache of said server using said document ID for said graph having been previously built, and in the event said graph structure exists in the memory cache then omitting the building of said graph structure.

8. The server process of claim 7 , wherein calculating said document ID further comprises performing a hashing function on the contents of said document and in response generating said document ID as a unique key to said map.

9. The server process of claim 8 , wherein said hashing function comprises the MD5 messaging encryption algorithm.

10. The server process of any one of claims 6 and 7 to 9 , wherein said graph structure is a Document Object Model (DOM).

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034143/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2009
From: ARIZAN CORPORATION
To: RESEARCH IN MOTION LIMITED
Reel/Frame 023426/0061 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2006
From: YUAN, JIANWEI (OLIVER); SYLTHE, OLAV A.
To: ARIZAN CORPORATION
Reel/Frame 017580/0650 →
Continuity (1)
Related Publication 20060056334A1 · Mar 16, 2006