IP Library Granted Patent US 11,308,261
Granted Patent B2
US 11,308,261 · App. 16/683,889 · Granted Apr 19, 2022

Systems and methods for synchronizing graphical displays across thin client devices

Inventors: Peter Noyes (Sunland, CA); Jonathan Rothberg (Pasadena, CA)
Assignee: BLUEBEAM, INC.
G06F40/14H04L65/601H04L67/1095H04L67/26
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 11,308,261
App. No.
16/683,889
Granted
Apr 19, 2022
Kind
B2
Abstract

Systems and methods are disclosed for synchronizing a document markup modification across a plurality of devices. One method comprises subscribing to one or more events occurring in a first document markup application, the first document markup application being a first thin client application, and receiving a notification indicating a modification to a document markup in the first document markup application. A cross-compatible markup object associated with the modified document markup may be extracted and transmitted to a second document markup application, the second document markup application being a second thin client application.

Claims (43)

1. A method of synchronizing a document markup modification across a plurality of devices, comprising:

subscribing to one or more events occurring in a first thin client document markup application installed in a first device;

receiving a notification indicating a modification to a document markup in the first thin client document markup application;

generating a JavaScript Object Notation (JSON) object representative of the modified document markup;

receiving permission settings defined by the first device representative of access limitations to the modified document markup based on a group of a device receiving the modified document markup;

transmitting, the JSON object and the permission settings to a second thin client document markup application installed in a second device, such that the JSON object is accessible at the second device in accordance with the permission settings; and

transmitting, the JSON object and the permission settings to a markup translation server, wherein the markup translation server translates the JSON object to a portable document format (PDF) dictionary object and transmits the PDF dictionary object and the permission settings to a thick client document markup application installed in a third device, such that the PDF dictionary object is accessible at the third device in accordance with the permission settings;

wherein the group of the second device is different from the group of the third device such that access to the JSON object at the second device varies from access of the PDF dictionary object at the third device based on the second device and the third device being of different groups.

2. The method of claim 1 , wherein each of the first and second thin client document markup applications is a web-based document markup application.

3. The method of claim 1 , wherein the JSON object is transmitted to the second thin client document markup application installed in a second device and the markup translation server via a master markup server.

4. The method of claim 3 , wherein the master markup server is configured to determine whether a recipient application is a thin client document markup application or a thick client document markup application.

5. The method of claim 1 , wherein each of the first thin client document markup application and the second thin client document markup application is coupled to a markup library, the markup library comprising computer readable codes to render the JSON object in a thin client document markup application.

6. The method of claim 5 , wherein the computer readable codes comprise bindings for multiple types of thin client document markup applications including the first thin client document markup application and the second thin client document markup application.

7. The method of claim 1 , wherein transmitting the JSON object to the second thin client document markup application comprises:

transmitting the JSON object to a master markup server, wherein the master markup server is configured to transmit the JSON object to the second thin client document markup application.

8. The method of claim 1 , wherein the JSON object is transmitted to the markup translation server via a master markup server, the master markup server being configured to route the JSON object to the markup translation server upon determining a recipient application is a thick client document markup application.

9. The method of claim 1 , wherein the second thin client document markup application renders the document markup on a display of the second device based on the JSON object.

10. The method of claim 1 , wherein the JSON object is transmitted to the markup translation server via a master markup server, the master markup server being configured to store the JSON object in a database.

11. The method of claim 10 , wherein the master markup server is further configured to store the PDF dictionary object in the database.

12. A system for synchronizing a document markup modification across a plurality of devices, comprising:

one or more processors; and

at least one non-transitory computer readable medium storing instructions which, when executed by the one or more processors, cause the one or more processors to perform a method comprising:

subscribing to one or more events occurring in a first thin client document markup application installed in a first device;

receiving a notification indicating a modification to a document markup in the first thin client document markup application;

generating a JavaScript Object Notation (JSON) object representative of the modified document markup;

receiving permission settings defined by the first device representative of access limitations to the modified document markup based on a group of a device receiving the modified document markup;

transmitting, the JSON object and the permission settings to a second thin client document markup application installed in a second device, such that the JSON object is accessible at the second device in accordance with the permission settings; and

transmitting, the JSON object and the permission settings to a markup translation server, wherein the markup translation server translates the JSON object to a portable document format (PDF) dictionary object and transmits the PDF dictionary object and the permission settings to a thick client document markup application installed in a third device, such that the PDF dictionary object is accessible at the third device in accordance with the permission settings;

wherein the group of the second device is different from the group of the third device such that access to the JSON object at the second device varies from access of the PDF dictionary object at the third device based on the second device and the third device being of different groups.

13. The system of claim 12 , wherein each of the first and second thin client document markup applications is a web-based document markup application.

14. The system of claim 12 , wherein the JSON object is transmitted to the second thin client document markup application installed in a second device and the markup translation server via a master markup server.

15. The system of claim 12 , wherein the second thin client document markup application renders the document markup on a display of the second device based on the JSON object.

16. A non-transitory computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method of synchronizing a document markup modification across a plurality of devices, the method comprising:

subscribing to one or more events occurring in a first thin client document markup application installed in a first device;

receiving a notification indicating a modification to a document markup in the first thin client document markup application;

generating a JavaScript Object Notation (JSON) object representative of the modified document markup;

receiving permission settings defined by the first device representative of access limitations to the modified document markup based on a group of a device receiving the modified document markup;

transmitting, the JSON object and the permission settings to a second thin client document markup application installed in a second device, such that the JSON object is accessible at the second device in accordance with the permission settings; and

transmitting, the JSON object and the permission settings to a markup translation server, wherein the markup translation server translates the JSON object to a portable document format (PDF) dictionary object and transmits the PDF dictionary object and the permission settings to a thick client document markup application installed in a third device, such that the PDF dictionary object is accessible at the third device in accordance with the permission settings;

wherein the group of the second device is different from the group of the third device such that access to the JSON object at the second device varies from access of the PDF dictionary object at the third device based on the second device and the third device being of different groups.

17. The non-transitory computer readable medium of claim 16 , wherein the JSON object is transmitted to the markup translation server via a master markup server, the master markup server being configured to route the JSON object to the markup translation server upon determining a recipient application is a thick client document markup application.

18. The non-transitory computer readable medium of claim 16 , wherein the second thin client document markup application renders the document markup on a display of the second device based on the JSON object.

19. The non-transitory computer readable medium of claim 16 , wherein the JSON object is transmitted to the markup translation server via a master markup server, the master markup server being configured to store the JSON object in a database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2019
From: NOYES, PETER; ROTHBERG, JONATHAN
To: BLUEBEAM, INC.
Reel/Frame 051052/0209 →
Continuity (1)
Related Publication 20210149988A1 · May 20, 2021