IP Library Granted Patent US 12,406,080
Granted Patent B1
US 12,406,080 · App. 18/396,229 · Granted Sep 2, 2025

Viewing protected document pages in a web browser

Inventors: Keng Lim (Atherton, CA); Poon Fung (Cupertino, CA)
Assignee: NextLabs, Inc.
G06F21/6218G06F16/93G06F16/951G06F16/986H04L41/08H04L63/102H04L67/02H04L67/06
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 12,406,080
App. No.
18/396,229
Granted
Sep 2, 2025
Kind
B1
Abstract

A technique and system provide protection to a protected document while being viewed on a Web browser or mobile application on a mobile device, such as a smartphone or tablet. Methods, techniques, and systems control access to protected documents and use of content in protected documents to support information management policies.

Claims (78)

1. A method comprising:

providing a document repository having a plurality of protected documents;

providing a content access governor having a plurality of policies;

providing a secured viewing server having access to the content access governor and the document repository;

connecting to the secured viewing server via a web browser;

at the web browser, opening a protected document in the document repository by a user;

at the secured viewing server, receiving a request to open the protected document;

at the secured viewing server, querying the content access governor on whether the request is allowed;

at the secured viewing server, if the request is allowed, receiving a plurality of rights granted to the user on the protected document;

at the secured viewing server, if the request is allowed, converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images, and the converting the protected document further comprises converting a page of the protected document into a raster image;

at the secured viewing server, if the request is allowed, constructing a code fragment to modify a web browser feature, wherein modifying the web browser feature implements in part the plurality of rights granted to the user on the protected document;

at the secured viewing server, if the request is allowed, constructing an HTML document to deliver the converted document and the code fragment to the web browser;

at the secured viewing server, if the request is allowed, sending the HTML document to the web browser in response to the request;

at the web browser, if the request is allowed, loading the HTML document to display content of the protected document in the web browser, wherein loading the HTML document implements the plurality of rights granted to the user on the protected document, wherein the user opens the protected document successfully;

at the secured viewing server, if the request is not allowed, sending a response to the web browser indicating that the user is not allowed to open the protected document; and

at the web browser, if the request is not allowed, rendering the response in the web browser, wherein the user failed to open the protected document.

2. The method of claim 1 wherein the document repository is a file server.

3. The method of claim 1 wherein the document repository is an application server.

4. The method of claim 1 wherein the document repository is a cloud storage.

5. The method of claim 1 wherein the plurality of policies controls access to the plurality of protected documents.

6. The method of claim 1 wherein the plurality of policies controls uses of contents of the plurality of protected documents.

7. The method of claim 1 wherein the document repository, the content access governor and the secured viewing server run on a computer.

8. The method of claim 1 wherein the document repository, the content access governor and the secured viewing server run on separate computers.

9. The method of claim 1 wherein the content access governor and the secured viewing server are components of an application program.

10. The method of claim 1 wherein the web browser connects to the secured viewing server using HTTPS protocol.

11. The method of claim 1 wherein the at the secured viewing server, querying the content access governor on whether the request is allowed further comprises:

at the secured viewing server, sending information relevant to the request to the content access governor, wherein the information relevant to the request comprises at least information about the request, the protected document and the user;

at the content access governor, selecting a first subset of policies from the plurality of policies relevant to the request, the protected document and the user;

at the content access governor, evaluating the first subset of policies to determine whether the request is allowed;

at the content access governor, if the request is allowed, selecting a second subset of policies from the plurality of policies relevant to the protected document and the user; and

at the content access governor, if the request is allowed, analyzing the second subset of policies to produces a plurality of rights granted to the user on the protected document.

12. The method of claim 1 wherein the at the secured viewing server, querying the content access governor on whether the request is allowed further comprises:

at the secured viewing server, retrieving a plurality of discretionary policies from the protected document;

at the secured viewing server, sending the plurality of discretionary policies and information relevant to the request to the content access governor, wherein the information relevant to the request comprises at least information about the request and the user;

at the content access governor, evaluating the plurality of discretionary policies to determine whether the request is allowed; and

at the content access governor, if the request is allowed, analyzing the plurality of discretionary policies to produces a plurality of rights granted to the user on the protected document.

13. The method of claim 1 wherein the at the secured viewing server, querying the content access governor on whether the request is allowed further comprises:

at the secured viewing server, retrieving a plurality of discretionary policies from the protected document;

at the secured viewing server, sending the plurality of discretionary policies and information relevant to the request to the content access governor, wherein the information relevant to the request comprises at least information about the request, the protected document and the user;

at the content access governor, selecting a first subset of policies from the plurality of policies relevant to the request, the protected document and the user;

at the content access governor, evaluating the first subset of policies and the plurality of discretionary policies to determine whether the request is allowed;

at the content access governor, if the request is allowed, selecting a second subset of policies from the plurality of policies relevant to the protected document and the user; and

at the content access governor, if the request is allowed, analyzing the second subset of policies and the plurality of discretionary policies to produces a plurality of rights granted to the user on the protected document.

14. The method of claim 1 wherein the plurality of rights granted includes a view right.

15. The method of claim 1 wherein the plurality of rights granted includes a copy right.

16. The method of claim 1 wherein the plurality of rights granted includes a print right.

17. The method of claim 1 wherein the at the secured viewing server, if the request is allowed, converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images further comprises:

retrieving an encryption key identifier from the protected document;

obtaining an encryption key associated with the encryption key identifier from the content access governor; and

decrypting the protected document with the encryption key.

18. A method comprising:

providing a document repository having a plurality of protected documents;

providing a content access governor having a plurality of policies;

providing a secured viewing server having access to the content access governor and the document repository;

connecting to the secured viewing server via a web browser;

at the web browser, opening a protected document in the document repository by a user;

at the secured viewing server, receiving a request to open the protected document;

at the secured viewing server, querying the content access governor on whether the request is allowed;

at the secured viewing server, if the request is allowed, receiving a plurality of rights granted to the user on the protected document;

at the secured viewing server, if the request is allowed, converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images;

at the secured viewing server, if the request is allowed, constructing a code fragment to modify a web browser feature, wherein modifying the web browser feature implements in part the plurality of rights granted to the user on the protected document, and the plurality of rights are used by the secured viewing server and the plurality of rights are not transmitted to the web browser;

at the secured viewing server, if the request is allowed, constructing an HTML document to deliver the converted document and the code fragment to the web browser;

at the secured viewing server, if the request is allowed, sending the HTML document to the web browser in response to the request;

at the web browser, if the request is allowed, loading the HTML document to display content of the protected document in the web browser, wherein loading the HTML document implements the plurality of rights granted to the user on the protected document, wherein the user opens the protected document successfully;

at the secured viewing server, if the request is not allowed, sending a response to the web browser indicating that the user is not allowed to open the protected document; and

at the web browser, if the request is not allowed, rendering the response in the web browser, wherein the user failed to open the protected document.

19. The method of claim 1 wherein the converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images includes excluding content of the protected document that is not consistent with the plurality of rights granted to the user on the protected document in the converted document.

20. The method of claim 1 wherein the converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images includes excluding a feature of the protected document that is not consistent with the plurality of rights granted to the user on the protected document in the converted document.

21. The method of claim 1 wherein the converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images includes adding a security overlay over content of the converted document.

22. The method of claim 1 wherein the converting the protected document into a converted document, wherein the converted document comprises a plurality of raster images includes adding navigation functions in the converted document.

23. The method of claim 1 wherein the code fragment includes HTML code.

24. The method of claim 1 wherein the code fragment includes JavaScript code.

25. The method of claim 1 wherein the constructing a code fragment to modify a web browser feature includes enabling a web browser feature.

26. The method of claim 1 wherein the constructing a code fragment to modify a web browser feature includes disabling a web browser feature.

27. The method of claim 1 wherein the constructing a code fragment to modify a web browser feature includes disabling the save function of a web browser.

28. The method of claim 1 wherein the constructing a code fragment to modify a web browser feature includes disabling the print function of a web browser.

29. The method of claim 1 wherein the constructing a code fragment to modify a web browser feature includes adding an event handler to handle an event.

30. The method of claim 1 wherein the constructing a code fragment to modify a web browser feature includes blocking execution of program code.

Continuity (4)
Continuation 17190333 · Mar 2, 2021
Continuation 15957850 · Apr 19, 2018
Continuation 15291653 · Oct 12, 2016
Provisional Application 62240391 · Oct 12, 2015
References Cited (33)
US 7130831B2 · Howard et al. · 2006 [cited by applicant]
US 7171558B1 · Mourad et al. · 2007 [cited by applicant]
US 8769610B1 · Giguiere et al. · 2014 [cited by applicant]
US 9087179B1 · Ansari et al. · 2015 [cited by applicant]
US 9807073B1 · Miller · 2017 [cited by applicant]
US 20030028801A1 · Liberman et al. · 2003 [cited by applicant]
US 20040088584A1 · Shachar et al. · 2004 [cited by applicant]
US 20040168184A1 · Steenkamp et al. · 2004 [cited by applicant]
US 20040193606A1 · Arai et al. · 2004 [cited by applicant]
US 20050149735A1 · Tsuria · 2005 [cited by applicant]
US 20060200415A1 · Lu · 2006 [cited by applicant]
US 20060212405A1 · Gordon et al. · 2006 [cited by applicant]
US 20070156610A1 · Sako et al. · 2007 [cited by applicant]
US 20070156670A1 · Lim · 2007 [cited by applicant]
US 20070162840A1 · Rochelle et al. · 2007 [cited by applicant]
US 20080021959A1 · Naghi et al. · 2008 [cited by applicant]
US 20090025063A1 · Thomas · 2009 [cited by applicant]
US 20090222418A1 · Layman · 2009 [cited by applicant]
US 20090245521A1 · Vembu et al. · 2009 [cited by applicant]
US 20100162351A1 · Lee et al. · 2010 [cited by applicant]
US 20120030187A1 · Marano et al. · 2012 [cited by applicant]
US 20130219176A1 · Akella et al. · 2013 [cited by applicant]
US 20130227285A1 · Bracher et al. · 2013 [cited by applicant]
US 20130318589A1 · Ford et al. · 2013 [cited by applicant]
US 20140006347A1 · Qureshi et al. · 2014 [cited by applicant]
US 20140020051A1 · Lu et al. · 2014 [cited by applicant]
US 20140029031A1 · Landwehr · 2014 [cited by applicant]
US 20140033265A1 · Leeds et al. · 2014 [cited by applicant]
US 20140282831A1 · Pedroza et al. · 2014 [cited by applicant]
US 20140373165A1 · Margolin · 2014 [cited by applicant]
US 20150310188A1 · Ford et al. · 2015 [cited by applicant]
US 20150347719A1 · Pathak · 2015 [cited by applicant]
US 20160224764A1 · Pathak et al. · 2016 [cited by applicant]