freshpatentsnav7small (2K)

n/a

views for this patent on FreshPatents.com
updated 06/14/13

    Free Services  

  • MONITOR KEYWORDS
  • Enter keywords & we'll notify you when a new patent matches your request (weekly update).

  • ORGANIZER
  • Save & organize patents so you can view them later.

  • RSS rss
  • Create custom RSS feeds. Track keywords without receiving email.

  • ARCHIVE
  • View the last few months of your Keyword emails.

  • COMPANY PATENTS
  • Patents sorted by company.

High performance cross platform document viewing   

pdficondownload pdfimage preview


20120089901 patent thumbnailAbstract: A document viewing system is provided that includes a browser receiving one or more user requests to view a document being stored remotely. The browser issues a first request to a server for metadata associated with the document and based on the received metadata determines a selective number of tiles needed for viewing the document. The browser issues a second request to the server requesting the selective number of tiles for viewing the document. The selective number tiles are only those tiles available for viewing in a viewing area in the browser. The server sends the selective number of tiles in parallelized fashion to the browser. The browser receives the selective number of tiles from the server and displays the document to a user.
Agent: Nolij Corporation - Beverly, MA, US
Inventors: John J. Collins, Sean J. Langford
USPTO Applicaton #: #20120089901 - Class: 715234 (USPTO) - 04/12/12 - Class 715 
Related Terms: Cross Platform   Tiles   
view organizer monitor keywords


The Patent Description & Claims data below is from USPTO Patent Application 20120089901, High performance cross platform document viewing.

pdficondownload pdf

PRIORITY INFORMATION

This application claims priority from provisional application Ser. No. 61/392,252 filed Oct. 12, 2010, which is incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

The invention is related to field of network applications, and in particular to a browser-based scanning utility.

Traditional document management, requiring extensive use of locally attached scanning devices, file servers, databases, and the like, has long been rooted in the technology of yesterday: namely, Windows-based client/server technology. A new era of computing is currently being ushered in; one that revolves around portability, cross platform support, and a new and growing installed base of mobile devices driven by Google, the resurgent Apple Inc. and others. Leveraging this new and increasingly adopted technology environment requires redesigning and, in many cases, reinventing wheels that no longer fit. Unfortunately, the enterprise document management space is largely tied to legacy client/server architecture. While most vendors offer a lightweight web client with limited functionality—to present a veneer of modernity—the bulk of the underlying technology is built on traditional Windows-based client server architecture. As Java technology continues to evolve and consume a greater percentage of development projects worldwide, more and more leading software companies are leveraging its portability and multi-platform capabilities to prepare for the next-generation Internet. The next generation Internet is one based on portability, open standards, and mobile device support. The ability to provide full document management functionality in the absence of traditional client/server technology while supporting any web browser on any platform along with a wide range of mobile devices presents a number of unique challenges.

SUMMARY

OF THE INVENTION

According to one aspect of the invention, there is provided a document viewing system. The document viewing system includes a browser that receives one or more user requests to view a document being stored remotely. The browser issues a first request to a server for metadata associated with the document and based on the received metadata determines a selective number of tiles needed for viewing the document. The browser issues a second request to the server requesting the selective number of tiles for viewing the document. The selective number tiles are only those tiles available for viewing in a viewing area in the browser. The server sends the selective number of tiles in parallelized fashion to the browser. The browser receives the selective number of tiles from the server and displays the document to a user.

According to another aspect of the invention, there is provided a method of viewing remote documents. The method includes receiving one or more user requests using a browser to view a document being stored remotely. Also, the method includes issuing a first request to a server for metadata associated with the document and based on the received metadata. Moreover, the method includes determining a selective number of tiles needed for viewing the document based on the received metadata. A second request is issued to the server requesting the selective number of tiles for viewing the document. The selective number tiles are only those tiles available for viewing in a viewing area in the browser. Furthermore, the method includes sending the selective number of tiles parallelized fashion to the browser. The browser receives the selective number of tiles from the server and displays the document to a user.

According to another aspect of the invention, there is provided a computer readable medium for storing a program being executed on a computer system, the programs performs a method of viewing remote documents. The method includes receiving one or more user requests using a browser to view a document being stored remotely. Also, the method includes issuing a first request to a server for metadata associated with the document and based on the received metadata. Moreover, the method includes determining a selective number of tiles needed for viewing the document based on the received metadata. A second request is issued to the server requesting the selective number of tiles for viewing the document. The selective number tiles are only those tiles available for viewing in a viewing area in the browser. Furthermore, the method includes sending the selective number of tiles parallelized fashion to the browser. The browser receives the selective number of tiles from the server and displays the document to a user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating a tile document viewer system used in accordance with the invention; and

FIG. 2 is a process flow illustrating the steps in displaying one or more images in accordance with the invention.

DETAILED DESCRIPTION

OF THE INVENTION

The invention provides a viewing system allowing a user to view documents that are stored remotely. The viewing system is a browser-based tool that is executed within a browser environment. The inventions implements a more efficiently technique of viewing documents which minimizes the traditional bottlenecks associated with other systems in the art.

The invention is implemented in a platform independent framework, which allows the invention to run on various operating system platforms. The invention can be implemented using platform independent computer languages, such as Java or the like. This allows the invention to be used freely in various operating system platforms without limiting the functionalities of the invention. Moreover, the browser used in accordance with the invention can use run code from the platform independent computer languages to operate the objectives of the invention. In addition, the invention can operate on both conventional computer systems as well as mobile devices and tablets.

FIG. 1 is a schematic diagram illustrating the tile document viewer system 2 used in accordance with the invention. The viewer system 2 includes a user 4 working on a computer system 3 that is executing a browser 6. The computer system 3 includes a processor, a portable storage, and processor storage medium. The browser 6 displays a number of images and information for which the user 4 discerns. Also, the browser 6 includes the ability to retrieve information over the Internet and facilitate communications with other computer systems, such as a server 8. The communication protocols, such as TCP/IP or the like, are used by the browser 6 to communicate with the server 8 and other computer systems used in a network. Within the framework of the browser 6, applets and other browser-based applications can also be executed. The browser 6 facilitates the ability to view images of documents stored remotely. The invention addresses the issues facing processing images and improving throughput by parallelizing the transfer of selected portions of a document which removes bottlenecks and improves processing efficiency.

The invention\'s parallelized processing of images allows for instant response time allowing the user 4 to experience no delays in communication with a remote server. By controlling the number of tiles used in image processing, in this case, not transferring and processing tiles which are not viewed, greatly aids in maintaining increased performance of the invention. Moreover, the invention further improves performance by providing to the user 4 documents in JPG format for display regardless the original format of the documents.

When the user 4 view a selected number of documents using the browser, by clicking on a selected document triggers a request 10 to the browser 6 to request all associated metadata for that respected document from the server 8. In certain embodiments of the invention, authentication is required for the user 4 to have access rights to view documents. The browser 6 prepares a request 16 to retrieve the metadata from the remote server 8. The request 16 can include metadata information such as document resolution size, number of pages, the amount and type of annotations, specific end-user permissions, and other document specific information. The server 8 includes a processor, a portable storage, and processor storage medium.

Once the server 8 receives the request from the browser 6, the server 8 validates the request for metadata or documents by confirming the presence of the proper security nonce. Afterwards, the server 8 determines if additional metadata information is needed from the metadata database 30 and retrieves the information. The server 8 assembles all required metadata information and prepares a request 18 to be sent back to the browser 6. Once the request 18 is received by the browser 6, the browser 6 analyzes the received metadata information to determine the total number of tiles or rectangular pieces needed to display a document to the user 4 using a compute tile module 14. Moreover, the browser 6 provides to the user 4 the ability to alter the various viewing features and functionalities allowed for the user 4.

Based on the tiles needed, the browser 6 sends a request 20 to the server 8 to provide the necessary tiles for viewing. The invention efficiently displays a document by determining the tiles needed using a compute view module 14, based on geometry and size of the image file, while not utilizing tiles that are not used or needed for display that are outside the viewing area. In this case, the browser 6 determines the tiles needed and sends requests 20 to the server 8 to retrieve the needed tiles. The server 8 receives the requests 20 and checks an image cache 24 stored locally on the server 8 if the document associated with the tiles requested are stored therein. If it is determined the document is stored on the image cache 24, then the server 8 carves the image into a number of tiles. Afterwards, the server 8 streams the requested tiles 22 in parallel back to the browser 6 sending the request. If the document is not stored in the image cache 24, the server 8 retrieves the documents from the document store 28. Then the server 8 determines what is the document\'s file type so as to decide whether to convert the document into an image file. The image file is further converted into a browser renderable format, such as the JPG format. The server 8 retrieves the stored JPG format document and using an image processing module 26 applies anti-aliasing to the converted image so smoothing can occur for better readability. Also, the image cache 24 removes the oldest/least used document and replaces it with the new converted document. Once this is complete, the browser issues a message 12 to the user 4 notifying that the image is ready for viewing.

The tiled document viewer system 2 is the primary display interface for the presentation and manipulation of all documents in the document store 28. FIG. 2 is a process flow illustrating the steps in displaying one or more images in accordance with the invention.

Of the many operations that take place relative to document viewing, the transmission of the document image to the user\'s viewer or browser 6 is by far the largest bottleneck. By parallelizing the transfer of select portions of the document, this bottleneck is eliminated. It is the parallel aspect of the document request/delivery/display process that enables near instant response time from the remote server 8 and provides the user 4 with a desktop-like experience. Performance remains consistent even when zooming in and out, as those tiles which are not in view are not processed or transferred. Lastly, since all document formats (e.g. PDF, DOC, etc.) are rendered into JPG for native display in the browser 6, the user 6 experiences consistent performance and feature availability (e.g. annotations, email, etc.) regardless of the format of the original document.

The tiled document viewer system 2 comes into play as soon as the user 4 clicks a document name from a displayed list in the browser 6, as shown in step 51. The user 4 has already been authenticated at this point and has appropriate document viewing privileges. Once a document is selected for display, the browser 6 formulates the request 16 for specific document metadata from the server 8, as show in step 52. The document metadata request includes document resolution, size, number of pages, the amount and type of annotations, specific end user permissions, and more.

Similar to scanning or eFiling service requests, the server 8 validates each request 16 for metadata or documents by confirming the presence of the proper security nonce—which is passed directly from the browser 6 as part of the request for document metadata.

The server 8 begins by analyzing the document to determine its size and then retrieves the additional metadata from the document management metadata database 30, as shown in step 53. Once all required data has been assembled, the server 8 returns the collection of metadata to the browser 6 owning the request, as shown in step 54. The browser 6 receives the metadata response and uses the information to calculate the total number of tiles—or rectangular pieces—necessary to divide up the requested document in an optimal manner, as shown in step 55. In addition, the browser 6 adjusts viewing features and functionality according to the available permissions assigned to the user 4, as shown in step 56. Specifically, the viewing functionality is either enabled or disabled as needed to align with granted end user rights.

The browser 6 next utilizes a portion of the returned metadata to calculate and request only those tiles needed for viewing using a compute view module 14, as shown in step 57. The objective of the limited tile selection process is to optimize image display by calculating which tiles are visible based on the geometry of the viewer or browser 6, size of the image file, etc. and leave out all other tiles currently outside the active viewing area. The server 8 receives the document and tile request, as shown in step 58, and first checks its image cache 24 for the presence of the requested document. The image cache 24 implements a Least Recently Used (LRU) methodology which essentially maintains the most recent/frequently used documents in a dynamic cache for quick access.

If the requested document is located in cache 24, as shown in step 59, then the server 8 carves the image into the requested number of tiles, as show in step 60. Once completed, the server 8 streams the requested tiles in parallel back to the browser 6 owning the request, as show in step 61, and the tiles are received and displayed in the browser 6 in parallel, as shown in step 62. If the requested document is not currently in cache, then the server retrieves the document from store 28 and prepares it for inclusion in the cache 24, as shown in step 63. Before the retrieved document can be added to the cache 24, the document file type must be determined. The server 8 checks to see if the retrieved document is already an image file (e.g. TIFF, BMP, etc.), as shown in step 64, and if so, converts the image to the standard JPG format, as shown in step 65. If the retrieved document is not currently an image file (e.g. PDF, DOC, etc.), the server 8 renders the document into a single to multi-page TIFF document, as shown in step 66. Once rendered to TIFF, the multi-page interim file is quickly and easily converted to a browser renderable format, such as JPG, as shown in step 67.

At this point, the requested document has been converted to JPG format and an image processing module 26 applies anti-aliasing to the converted image so as to smooth lines and text for better readability, as shown in step 68. Once the anti-aliasing process is complete, the LRU process removes the oldest/least used document from the image cache 24 and inserts the just-converted JPG document, as shown in step 69.

Once the requested document is converted to JPG and stored in the cache 24, it is treated as any other cached document and carved into the requested number of tiles, as shown in step 60, before being streamed back to the UI, as shown in step 61, and displayed in the viewer via parallel operation, as shown in step 62.

As described herein, the invention provides a viewing system that allows a user to view documents that are stored remotely. The viewing system uses a browser-based tool that implements a parallelizing technique of preparing for viewing remote documents. The invention uses tiles, which are rectangular regions of a document, which are compiled to form an image. In particular, not all of the tiles are used instead those tiles needed to form an image that is within a viewing area are used. This minimizes the normal bottlenecks associated other known systems. Resources are not expanded on tiles that are not viewed by a user, only those necessary to present the current document view which is often a subset of the whole image. To further increase efficiency, all image data is converted into JPG format for viewing in a browser.

Although the present invention has been shown and described with respect to several preferred embodiments thereof, various changes, omissions and additions to the form and detail thereof, may be made therein, without departing from the spirit and scope of the invention.



Download full PDF for full patent description/claims.




You can also Monitor Keywords and Search for tracking patents relating to this High performance cross platform document viewing patent application.

Patent Applications in related categories:

20130151943 - Display dialogs - In one embodiment, a first device sends a request to a second device, the request causing a dialog to be displayed on the first device. The second device selects a rendered dialog template corresponding to the dialog; constructs a web page that includes the rendered dialog template; and sends the ...

20130151944 - Highlighting of tappable web page elements - Methods for highlighting tappable web page elements in response to a touch detect a touch to a touchscreen display, determine that a touched element displayed at the touch location, and determine whether and how the touched element is to be highlighted. Highlighting can be based on various touched element properties. ...

20130151942 - Inference-based extension activation - Extension activation may be provided. A document may be opened within a software application associated with an extension. Upon determining that a data element associated with the document is associated with an activation condition of the extension, the extension may be activated. ...

20130151947 - Information processing apparatus, information processing method, and storage medium storing program - An information processing apparatus sends a request of a document to a Web server, and receives the document sent from the Web server in response to the request. The information processing apparatus determines processing to be executed for the document received based on a query parameter designated when the request ...

20130151949 - Method and system for testing websites - Methods and systems to test of web browser enabled applications are disclosed. In one embodiment, a browser application can allow a user to perform test and analysis processes on a candidate web browser enabled application. The test enabled browser can use special functions and facilities that are built into the ...

20130151945 - Processing published and subscribed events - A method and system for processing published and subscribed events. The method includes the steps of: parsing definitions of published events and subscribed events in widget definition files in a webpage, generating a set of published events and a set of subscribed events, respectively, based on the definitions of the ...

20130151946 - System and method for bulk web domain generation and management - A system and method for enabling networked computer users to bulk create and manage multiple web domains is disclosed. A particular embodiment includes collecting, by use of a processor, a set of domain names for bulk content development, at least one domain name of the set of domain names being ...

20130151950 - System and method for web presence for one or more geographical locations - System and method to provide a discovery-augmented web presence for one or more geographical locations. Embodiments may provide open access to geographical location-based web presence content, allowing the presence content to be created by users based on location verification and user anti-spam qualification. Embodiments enable a legitimate location owner or ...

20130151948 - Web-based social content aggregation and discovery facility - In accordance with an exemplary embodiment a web-based content aggregation and discovery facility, comprises a plurality of content aggregations managed by the content aggregation and discovery facility, wherein each of the plurality of content aggregations is generated by a user and is comprised of a plurality of web-linked content elements ...


###
monitor keywords

Other recent patent applications listed under the agent Nolij Corporation:



Keyword Monitor How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like High performance cross platform document viewing or other areas of interest.
###


Previous Patent Application:
System and method for creating trade-related annotations in an electronic trading environment
Next Patent Application:
Identifying language translations for source documents using links
Industry Class:
Data processing: presentation processing of document

###

FreshPatents.com Support - Terms & Conditions
Thank you for viewing the High performance cross platform document viewing patent info.
- - - AAPL - Apple, BA - Boeing, GOOG - Google, IBM, JBL - Jabil, KO - Coca Cola, MOT - Motorla

Results in 1.11317 seconds


Other interesting Freshpatents.com categories:
Medical: Surgery Surgery(2) Surgery(3) Drug Drug(2) Prosthesis Dentistry   g2