IP Library Granted Patent US 9,613,150
Granted Patent B2
US 9,613,150 · App. 11/966,227 · Granted Apr 4, 2017

Remote viewing of documents via the web in real-time

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 9,613,150
App. No.
11/966,227
Granted
Apr 4, 2017
Kind
B2
Abstract

The present invention offers a component that enables the presenter to begin presenting the first pages of the document as they become available, without having to wait on the entire document to be processed. The present invention provides an approach that is used to monitor document processing as it taking place on a server. As each page is in the document is processed (e.g., converted), a monitoring component signals a controlling component to alert it of the specific progress events (e.g., a new page available). The controlling component can immediately interface with clients using a real-time communication component, for example letting users know when each single page is available for consumption. Once alerted, an informed client can signal all other clients which page to view.

Claims (73)

1. A method for making individual pages of a document remotely viewable on-line in real-time, comprising:

receiving a document by a controlling component of a server, the document received via a single thread related to an HTTP POST request;

acting on the single thread related to the HTTP POST request, performing a plurality of document processing and communication processes in parallel, the plurality of document processing and communication processes including:

sending an initial real-time indicator via the controlling component, the initial real-time indicator indicating the document has reached the server, to at least one of a posting client responsible for sending the document to the server and a set of remote clients,

wherein the initial real-time indicator is sent asynchronously;

engaging a monitoring component of the server to:

continuously poll the server for a current list of available pages of the received document; and

asynchronously update the controlling component of the server to identify newly available pages from the current list of the available pages of the received document,

wherein the monitoring component is engaged by the controlling component of the server;

engaging a conversion component of the server to:

continuously convert pages of the received document in response to determining the pages of the received document are not included on the current list of available pages of the received document; and

asynchronously update the controlling component of the server to identify that all pages of the received document are converted; and

asynchronously sending distinct real-time indicators via the controlling component to the posting client and each of the set of remote clients as each page of the received document becomes available; and

sending a complete real-time indicator to the posting client and each of the set of remote clients, in response to the conversion component on the server asynchronously updating the controlling component to identify that all pages of the received document are converted.

2. The method of claim 1 , further comprising sending a client real-time indicator from at least one remote client of the set of remote clients to at least one other distinct remote client of the set of remote clients, the client real-time indicator indicating a specific, individual page of the document is remotely viewable.

3. The method of claim 1 , wherein the document includes a multi-part mime document, sent by the posting client.

4. The method of claim 1 , wherein converting includes:

separating a set of individual pages of the document to create individual files for each of the individual pages of the document; and

converting each individual page of the document to a common viewing format for remote viewing by each of the set of remote clients,

wherein the converted individual pages of the document are remotely viewable by each of the set of remote clients prior to all of the individual pages of the document becoming remotely viewable.

5. The method of claim 1 , wherein performing the plurality of document processing and communication processes in parallel while acting on the single thread related to the HTTP POST request further comprises:

preventing the posting client from being blocked from the server.

6. The method of claim 1 , further comprising:

stopping the performing of the plurality of document processing and communication processes in parallel in response to at least one of:

the conversion component on the server asynchronously updating the controlling component to identify that all pages of the received document are converted; and

the monitoring component on the server asynchronously updating the controlling component of the server to identify all pages of the received document are on the current list of the available pages of the received document,

wherein the stopping is performed by the controlling component.

7. A computer system comprising:

at least one computing device including:

at least one processor; and

a plurality of components in communication with the at least one processor, the plurality of components including a controlling component, a monitoring component and a conversion component,

wherein the plurality of components are configured to make individual pages of a document remotely viewable on-line in real-time by performing a process including:

receiving a document by the controlling component on the at least one computing device, the document received via a single thread related to an HTTP POST request;

acting on the single thread related to the HTTP POST request, performing a plurality of document processing and communication processes in parallel, the plurality of document processing and communication processes including:

sending an initial real-time indicator via the controlling component, the initial real-time indicator indicating the document has reached the controlling component to at least one of a posting client responsible for sending the document and a set of remote clients,

wherein the initial real-time indicator is sent asynchronously;

engaging the monitoring component to:

continuously poll the at least one computing device for a current list of available pages of the received document; and

asynchronously update the controlling component to identify newly available pages from the current list of the available pages of the received document,

wherein the monitoring component is engaged by the controlling component;

engaging the conversion component to:

continuously convert pages of the received document in response to determining the pages of the received document are not included on the current list of available pages of the received document; and

asynchronously update the controlling component to identify that all pages of the received document are converted; and

asynchronously sending distinct real-time indicators via the controlling component to the posting client and each of the set of remote clients as each page of the received document becomes available; and

sending a complete real-time indicator to the posting client and each of the set of remote clients, in response to the conversion component asynchronously updating the controlling component to identify that all pages of the received document are converted.

8. The computer system of claim 7 , wherein the document includes a multi-part mime document, sent by the posting client.

9. The system of claim 7 , wherein the at least one computing device is further configured to send a client real-time indicator from at least one remote client of the set of remote clients to at least one other distinct remote client of the set of remote clients, the client real-time indicator indicating a specific individual page of the document is remotely viewable.

10. The system of claim 7 , wherein the at least one computing device is further configured to make a set of individual pages of the document remotely viewable by

separating the individual pages of the document to create individual files for each of the individual pages of the document on the computer system; and

converting each individual page of the document to a common viewing format for remote viewing by each of the set of remote clients,

wherein the converted individual pages of the document are remotely viewable by each of the set of remote clients prior to the determining that all of the individual pages of the document are remotely viewable.

11. The system of claim 7 , wherein the conversion component is coupled to the monitoring component.

12. The system of claim 11 , wherein the conversion component and the monitoring component have access to a storage system including a database.

13. A program product stored on a non-transitory computer readable medium for making individual pages of a document remotely viewable on-line in real-time, the computer readable medium comprising program code for causing a computer system to:

receive a document by a controlling component of the computer system, the document received via a single thread related to an HTTP POST request;

acting on the single thread related to the HTTP POST request, perform a plurality of document processing and communication processes in parallel, the plurality of document processing and communication processes including:

sending an initial real-time indicator via the controlling component, the initial real-time indicator indicating the document has reached the computer system, to at least one of a posting client responsible for sending the document to the computer system and a set of remote clients,

wherein the initial real-time indicator is sent asynchronously;

engaging a monitoring component of the computer system to:

continuously poll the computer system for a current list of available pages of the received document; and

asynchronously update the controlling component of the computer system to identify newly available pages from the current list of the available pages of the received document,

wherein the monitoring component is engaged by the controlling component of the computer system;

engaging a conversion component of the computer system to:

continuously convert pages of the received document in response to determining the pages of the received document are not included on the current list of available pages of the received document; and

asynchronously update the controlling component of the computer system to identify that all pages of the received document are converted; and

asynchronously sending distinct real-time indicators via the controlling component to the posting client and each of the set of remote clients as each page of the received document becomes available; and

send a complete real-time indicator to the posting client and each of the set of remote clients, in response to the conversion component on the computer system asynchronously updating the controlling component to identify that all pages of the received document are converted.

14. The program product of claim 13 , wherein the document includes a multi-part mime document, sent by the posting client.

15. The program product of claim 13 , the computer readable medium further comprising program code for causing the computer system to send a client real-time indicator from at least one remote client of the set of remote clients to at least one other distinct remote client of the set of remote clients, the client real-time indicator indicating a specific individual page of the document is remotely viewable.

16. The program product of claim 13 , the computer readable medium further comprising program code for causing the computer system to make a set of individual pages of the document remotely viewable by:

separating the individual pages of the document to create individual files for each of the individual pages of the document on the computer system; and

converting each individual page of the document to a common viewing format for remote viewing by each of the set of remote clients,

wherein the converted individual pages of the document are remotely viewable by each of the set of remote clients prior to the determining that all of the individual pages of the document are remotely viewable.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2008
From: SMITH, JONATHAN R.; HIMMERICK, KYLE M.; QUINN, WILLIAM M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 020360/0666 →