# US 12,001,778 B2 · Systems and methods for synchronizing graphical displays across thin client devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,778 B2
- Document ID: US12001778B2
- Status: Granted
- Kind: B2
- Application number: 17/719,244
- Filed: 2022-04-12
- Published: 2022-07-28
- Granted: 2024-06-04
- Earliest claimed: 2019-11-14
- Assignees: Bluebeam, Inc.
- Applicants: Bluebeam, Inc.
- Inventors: Peter Noyes; Jonathan Rothberg
- Web page: https://patentgrep.com/patent/US12001778B2

## CPC

- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- H04L 65/4015: {where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference}
- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L 65/75: Media network packet handling
- H04L 65/756: adapting media to device capabilities
- H04L 67/55: Push-based network services
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 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 document markup application installed in a first device, wherein the first document markup application is configured to commence a collaboration session;
receiving a notification indicating a modification to a document markup in the first document markup application;
generating a markup object representative of the modified document markup;
transmitting the markup object to a second document markup application installed in a second device and invited by the first document markup application to the collaboration session;
translating the markup object to a portable document format (PDF) dictionary object such that the PDF dictionary object is representative of the modified document markup; and
transmitting (i) upon a trigger event or (ii) periodically as the PDF dictionary object becomes available, PDF dictionary object to a third document markup application installed in a third device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the transmission of the markup object and/or the PDF dictionary involves a first server.

### Claim 3 (depends on 2)

The method of claim 2, wherein the first server is configured to determine whether the third document markup application that is a recipient of the markup object is a thin client document markup application or a thick client document markup application.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 1)

The method of claim 1, wherein transmitting the markup object to the second document markup application comprises:
transmitting the markup object to a first server, wherein the first server is configured to transmit the markup object to the second document markup application.

### Claim 7 (depends on 6)

The method of claim 6, wherein transmitting the PDF dictionary object to the third document markup application comprises:
transmitting the markup object to a second server, wherein the second server is configured to translate the markup object received from the first device to the PDF dictionary object, and transmitting the PDF dictionary object to the third document markup application.

### Claim 8 (depends on 7)

The method of claim 7, wherein the markup object is transmitted to the second server via the first server, the first server being configured to route the markup object to the second server upon determining the third device is a recipient of the markup object and the third document markup application is a thick client document markup application.

### Claim 9 (depends on 7)

The method of claim 7, wherein the markup object is transmitted to the second server via the first server, the first server being configured to store the markup object in a database.

### Claim 10 (depends on 1)

The method of claim 1, wherein the markup object includes a JavaScript Object Notation (JSON) object.

### Claim 11 (depends on 1)

The method of claim 1, wherein the markup object is configured to synchronize, in real-time during the collaboration session, a display of the modified document markup across the first document markup application installed in the first device and the second document markup application installed in the second device.

### Claim 12 (depends on 1)

The method of claim 1, wherein the PDF dictionary object is published, (i) upon the trigger event or (ii) periodically as the PDF dictionary object becomes available, for display of the modified document markup at the third document markup application installed in the third device.

### Claim 13

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 document markup application installed in a first device, wherein the first document markup application is configured to commence a collaboration session;
receiving a notification indicating a modification to a document markup in the first document markup application;
generating a markup object representative of the modified document markup;
transmitting the markup object to a second document markup application installed in a second device and invited by the first document markup application to the collaboration session;
translating the markup object to a portable document format (PDF) dictionary object such that the PDF dictionary object is representative of the modified document markup; and
transmitting (i) upon a trigger event or (ii) periodically as the PDF dictionary object becomes available, the PDF dictionary object to a third document markup application installed in a third device.

### Claim 14 (depends on 13)

The system of claim 13, wherein each of the first and second document markup applications is a web-based document markup application, and the markup object includes a JavaScript Object Notation (JSON) object.

### Claim 15 (depends on 13)

The system of claim 13, wherein the transmission of the markup object and/or the PDF dictionary object involves a server.

### Claim 16 (depends on 13)

The method of claim 13, wherein transmitting the markup object to the second document markup application comprises transmitting the markup object to a first server, wherein the first server is configured to transmit the markup object to the second document markup application;
wherein transmitting the PDF dictionary object to the third document markup application comprises transmitting the markup object to a second server, wherein the second server is configured to translate the markup object received from the first device to the PDF dictionary object, and transmitting the PDF dictionary object to the third document markup application.

### Claim 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 modification across a plurality of devices, the method comprising:
subscribing to one or more events occurring in a first document markup application installed in a first device, wherein the first document markup application is configured to commence a collaboration session;
receiving a notification indicating a modification to a document markup in the first document markup application;
generating a markup object representative of the modified document markup;
transmitting the markup object to a second document markup application installed in a second device and invited by the first document markup application to the collaboration session;
translating the markup object to a portable document format (PDF) dictionary object such that the PDF dictionary object is representative of the modified document markup; and
transmitting (i) upon a trigger event or (ii) periodically as the PDF dictionary object becomes available, the PDF dictionary object to a third document markup application installed in a third device.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the PDF dictionary object is transmitted to the third device via a first server, and the PDF dictionary object is transmitted to the first server via a second server configured to route the PDF dictionary object to the first server upon determining the third device is a recipient of the modified document markup and the third document markup application is a thick client document markup application.

### Claim 19 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein transmitting the markup object to the second document markup application comprises:
transmitting the markup object to a first server that is configured to transmit the markup object to the second document markup application.

### Claim 20 (depends on 19)

The non-transitory computer readable medium of claim 19, wherein transmitting the PDF dictionary object to the third document markup application comprises:
transmitting the markup object to a second server that is configured to translate the markup object received from the first device to the PDF dictionary object, and transmitting the PDF dictionary object to the third document markup application.
