# US 11,308,261 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 11,308,261 B2
- Document ID: US11308261B2
- Status: Granted
- Kind: B2
- Application number: 16/683,889
- Filed: 2019-11-14
- Published: 2021-05-20
- Granted: 2022-04-19
- Earliest claimed: 2019-11-14
- Assignees: Bluebeam, Inc.
- Applicants: Bluebeam, Inc.
- Inventors: Peter Noyes; Jonathan Rothberg
- Web page: https://patentgrep.com/patent/US11308261B2

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

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 3)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 5)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 10)

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

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

### Claim 13 (depends on 12)

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

### Claim 14 (depends on 12)

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.

### Claim 15 (depends on 12)

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.

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

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 16)

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.

### Claim 19 (depends on 16)

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.
