IP Library Granted Patent US 12,432,270
Granted Patent B2
US 12,432,270 · App. 18/646,940 · Granted Sep 30, 2025

Systems and methods for synchronizing graphical displays across thin client devices

Inventors: Peter Noyes (Sunland, CA); Jonathan Rothberg (Pasadena, CA)
Assignee: Bluebeam, Inc.
H04L67/1095G06F40/14H04L65/4015H04L65/403H04L65/75H04L65/756H04L67/55H04L67/02
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,432,270
App. No.
18/646,940
Granted
Sep 30, 2025
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 (41)

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

subscribing, by a first document markup application installed on a first device of the plurality of devices, to one or more events associated with the document markup occurring in the first document markup application;

extracting, by the first document markup application in response to an occurrence of the one or more events at the first document markup application, a first markup object that is representative of the document markup from the first document markup application;

translating, by the first document markup application, the first markup object to a second markup object that is representative of the document markup for display on a second device of the plurality of devices, such that the first markup object that is representative of the document markup and extracted from the first document markup application is not configured for display on a second document markup application installed on the second device prior to translation; and

storing the second markup object on the first device.

2. The method of claim 1 , wherein prior to storing the second markup object on the first device, the method comprises:

compressing the second markup object by the first document markup application.

3. The method of claim 1 , further includes:

transmitting the second markup object stored on the first device to the second document markup application installed on the second device,

wherein the second document markup application is configured to decompress the second markup object.

4. The method of claim 1 , wherein the first markup object includes a Portable Document Format (PDF) dictionary object, and the second markup object includes a JavaScript Object Notation (JSON) object.

5. The method of claim 4 , wherein the JSON object is configured to be easily consumable and quickly processed relative to the PDF dictionary object, such that display of the JSON object requires relatively less computational load and processing time than displaying the PDF dictionary object.

6. The method of claim 1 , wherein the one or more events includes an addition, a deletion, a modification, a replacement, or a movement of the document markup in the first document markup application.

7. The method of claim 1 , wherein the first device of the plurality of devices includes a mobile phone, a tablet, a gaming device, an Internet-of-Things (IoT) device, or a lightweight computer.

8. The method of claim 7 , wherein the second device of the plurality of devices includes a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, or a desktop computer.

9. The method of claim 1 , wherein the first document markup application includes a thin client application and the second document markup application includes a thick client application.

10. The method of claim 1 , wherein the first device is configured to determine whether the second document markup application receiving the document markup is a thin client document markup application or a thick client document markup application.

11. The method of claim 10 , wherein after extracting the first markup object at the first document markup application, the method comprises:

forgoing translation of the first markup object to the second markup object upon determining the second document markup application receiving the document markup is the thin client document markup application.

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

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

one or more processors;

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, by a first document markup application installed on a first device of the plurality of devices, to one or more events associated with the document markup occurring in the first document markup application installed on the first device;

extracting, by the first document markup application in response to an occurrence of the one or more events at the first document markup application, a first markup object that is representative of the document markup from the first document markup application;

translating, by the first document markup application, the first markup object to a second markup object that is representative of the document markup for display on a second device of the plurality of devices, such that the first markup object that is representative of the document markup and extracted from the first document markup application is not configured for display on a second document markup application installed on the second device prior to translation; and

storing the second markup object on the first device.

14. The system of claim 13 , wherein the first document markup application includes a web-based document software application.

15. The system of claim 13 , wherein the first markup object includes a Portable Document Format (PDF) dictionary object, and the second markup object includes a JavaScript Object Notation (JSON) object.

16. The system of claim 15 , wherein the JSON object is configured to be easily consumable and quickly processed relative to the PDF dictionary object, such that display of the JSON object requires relatively less computational load and processing time than displaying the PDF dictionary object.

17. 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 across a plurality of devices, the method comprising:

subscribing, by a first document markup application installed on a first device of the plurality of devices, to one or more events associated with the document markup occurring in the first document markup application;

extracting, by the first document markup application in response to an occurrence of the one or more events at the first document markup application, a first markup object that is representative of the document markup from the first document markup application;

translating, by the first document markup application, the first markup object to a second markup object that is representative of the document markup for display on ta second device of the plurality of devices, such that the first markup object that is representative of the document markup and extracted from the first document markup application is not configured for display on a second document markup application installed on the second device prior to translation; and

storing the second markup object on the first device.

18. The non-transitory computer readable medium of claim 17 , wherein prior to storing the second markup object on the first device, the method comprises:

compressing the second markup object by the first document markup application.

19. The non-transitory computer readable medium of claim 18 , further includes:

transmitting the second markup object stored on the first device to the second document markup application installed on the second device,

wherein the second document markup application is configured to decompress the second markup object.

20. The non-transitory computer readable medium of claim 17 , wherein the first device is configured to determine whether the second document markup application receiving the document markup is a thin client document markup application or a thick client document markup application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2024
From: NOYES, PETER; ROTHBERG, JONATHAN
To: BLUEBEAM, INC.
Reel/Frame 067265/0088 →
Continuity (3)
Continuation 17719244 · Apr 12, 2022
Continuation 16683889 · Nov 14, 2019
Related Publication 20240370639A1 · Nov 7, 2024
References Cited (40)
US 7159174B2 · Johnson · 2007 [cited by examiner]
US 7716302B2 · Maze · 2010 [cited by examiner]
US 8156429B2 · Lotenberg · 2012 [cited by examiner]
US 9471556B2 · Little · 2016 [cited by examiner]
US 9866655B2 · Steiner · 2018 [cited by examiner]
US 10146757B2 · Lieu · 2018 [cited by applicant]
US 10162805B2 · Grigorovitch et al. · 2018 [cited by applicant]
US 10986151B2 · Bank · 2021 [cited by examiner]
US 20040139400A1 · Allam · 2004 [cited by examiner]
US 20090006942A1 · Zhu · 2009 [cited by applicant]
US 20090164570A1 · Paila et al. · 2009 [cited by applicant]
US 20090172101A1 · Arthursson · 2009 [cited by applicant]
US 20120291099A1 · Grube · 2012 [cited by examiner]
US 20130073948A1 · Bryar et al. · 2013 [cited by applicant]
US 20140006922A1 · Smith et al. · 2014 [cited by applicant]
US 20140032500A1 · Wibbeler et al. · 2014 [cited by applicant]
US 20150095458A1 · DeRoller · 2015 [cited by examiner]
US 20160057189A1 · Mosko · 2016 [cited by examiner]
US 20160350437A1 · O'Donnell · 2016 [cited by examiner]
US 20160357720A1 · Thimbleby · 2016 [cited by applicant]
US 20170011021A1 · Lieu · 2017 [cited by examiner]
US 20170060829A1 · Bhatt et al. · 2017 [cited by applicant]
US 20170289210A1 · Pai et al. · 2017 [cited by applicant]
US 20180189244A1 · Ghafourifar · 2018 [cited by examiner]
US 20180196788A1 · Grigorovitch et al. · 2018 [cited by applicant]
US 20180253412A1 · Biswas · 2018 [cited by applicant]
US 20180284957A1 · Afsari et al. · 2018 [cited by applicant]
US 20190028560A1 · Holland · 2019 [cited by examiner]
US 20190028758A1 · Talvensaari · 2019 [cited by examiner]
US 20190228048A1 · O'Donnell · 2019 [cited by applicant]
US 20190289070A1 · Gorgenyi et al. · 2019 [cited by applicant]
US 20210004526A1 · Kahn et al. · 2021 [cited by applicant]
US 20210073324A1 · Gupta et al. · 2021 [cited by applicant]
WO 2010032125A1 · 2010 [cited by applicant]
WO WO2019040048A1 · 2019 [cited by examiner]
Examination report in corresponding European Application No. 20886965.1, dated Jan. 16, 2024 (5 pages). [cited by applicant]
Extended European Search Report and Written Opinion issued on Mar. 3, 2023, in corresponding European Patent Application No. 20886965.1 (12 pages). [cited by applicant]
Guerrero, Luis A., Sergio F. Ochoa, Jose A. Pino, and Cesar A. Collazos. “Selecting computing devices to support mobile collaboration.” Group Decision and Negotiation 15, No. 3 (2006): 243-271. (Year: 2006). [cited by applicant]
Office Action in Canadian Patent Application No. 3158569, dated Aug. 14, 2023 (7 pages). [cited by applicant]
U.S. Appl. No. 16/239,044, filed Jan. 3, 2019. [cited by applicant]