IP Library Granted Patent US 11,816,387
Granted Patent B2
US 11,816,387 · App. 18/204,719 · Granted Nov 14, 2023

Virtual workspace viewport following in collaboration systems

Inventors: Satish Santhakumar (Fremont, CA); Demian Entrekin (Oakland, CA)
Assignee: Haworth, Inc.
G06F3/1454G06F3/0481G06F3/0485G06F3/04817G06F3/04883G06F9/451G06F9/452H04L12/1813H04L12/1827H04M3/567H04M7/0027G06F2203/04806G06Q10/101G09G2340/0407
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,816,387
App. No.
18/204,719
Granted
Nov 14, 2023
Kind
B2
Abstract

A collaboration system is provided and includes memory storing collaboration data including a spatial event map locating events in a virtual workspace and a local display including a screen space. The collaboration system further includes logic to identify a local client viewport in the virtual workspace, logic to render, in the screen space on the local display, graphical objects identified by events in the spatial event map that have locations within the local client viewport, logic to change a location and a dimension of the local client viewport in the virtual workspace in response to input signals, logic to render, in the screen space on the local display, graphical objects identified by events in the spatial event map that have locations within the changed local client viewport, and logic to generate a viewport change event in response to the change of the local client viewport in response to input signals.

Claims (61)

1. A method comprising:

storing, in a memory, data including a spatial event map which locates events in a virtual workspace, the spatial event map comprising a specification of a location and dimension of a viewport in the virtual workspace;

sending at least a portion of the spatial event map to a first node;

sending data to allow the first node to display, in a screen space of a display associated with the first node, graphical objects identified by events in the spatial event map that have locations within a viewport of the first node;

receiving, from the first node, a notification of a change to the location or dimension of the viewport of the first node;

sending data to allow the first node to display, in the screen space on the display, graphical objects identified by events in the spatial event map that have locations within the changed viewport of the first node;

receiving a viewport change event generated in response to the change of the viewport of the first node, the viewport change event being stored in the spatial event map and comprising a specification of a location and dimension of the changed viewport of the first node; and

sending data to allow the first node to follow a second node by, in response to identification of a viewport change event in the spatial event map for the second node, changing the location or dimension of the viewport of the first node using changes of a location or dimension included in the identified viewport change event,

wherein the changing of the location or dimension of the viewport of the first node defines the dimension of the viewport of the first node displayed in the screen space of the display so that (i) at least a portion of a viewport of the second node falls within the changed viewport displayed in the screen space of the display and (ii) the viewport of the first node has at least one of a same zoom level, a same center point and a same aspect ratio as the viewport of the second node.

2. The method of claim 1 , wherein the second node includes a display having a screen space.

3. The method of claim 1 , wherein the screen space of the display of the first node and the screen space of the display of the second node have different dimensions.

4. The method of claim 1 ,

wherein the viewport change event comprises a second node's specification of dimensions to be displayed on the viewport of the first node, and

wherein the viewport of the second node and the viewport of the first node are viewports of different or overlapping areas of the virtual workspace.

5. The method of claim 1 , wherein the viewport of the second node and the viewport of the first node are viewports having completely different and non-overlapping areas of the virtual workspace.

6. The method of claim 1 , further comprising:

receiving the viewport change event from the second node;

updating the spatial event map to include the viewport change event; and

transmitting a message to the first node including the viewport change event,

wherein the viewport change event is generated in response to the change of the viewport of the second node.

7. A system comprising:

a data processor;

memory storing data including a spatial event map which locates events in a virtual workspace, the spatial event map comprising a specification of a location and dimension of a viewport in the virtual workspace;

logic to send at least a portion of the spatial event map to a first node;

logic to send data to the first node to allow the first node to display, in a screen space on a display, graphical objects identified by events in the spatial event map that have locations within a viewport of the first node;

logic to receive, from the first node, a notification of a change in the location or dimension of the viewport of the first node;

logic to send data to the first node to allow the first node to display, in the screen space on the display, graphical objects identified by events in the spatial event map that have locations within the changed viewport of the first node;

logic to receive a viewport change event generated in response to the change of the viewport of the first node, the viewport change event being stored in the spatial event map and comprising a specification of a location and dimension of the changed viewport of the first node; and

logic to send data to the first node to allow the first node to follow a second node by, in response to identification of a viewport change event in the spatial event map for the second node, changing the location or dimension of the viewport of the first node using changes of a location or dimension included in the identified viewport change event,

wherein the changing of the location or dimension of the viewport of the first node defines the dimensions of the viewport of the first node displayed in the screen space of the display so that (i) at least a portion of a viewport of the second node falls within the changed viewport displayed in the screen space of the display and (ii) the viewport of the first node has at least one of a same zoom level, a same center point and a same aspect ratio as the viewport of the second node.

8. The system of claim 7 , wherein the second node includes a display having a screen space.

9. The system of claim 7 , wherein the screen space of the display of the first node and the screen space of the display of the second node have different dimensions.

10. The system of claim 7 ,

wherein the viewport change event comprises a second node's specification of dimensions to be displayed on the viewport of the first node, and

wherein the viewport of the second node and the viewport of the first node are viewports of different or overlapping areas of the virtual workspace.

11. The system of claim 7 , wherein the viewport of the second node and the viewport of the first node are viewports having completely different and non-overlapping areas of the virtual workspace.

12. The system of claim 7 , further comprising:

logic to receive the viewport change event from the second node;

logic to update the spatial event map to include the viewport change event; and

logic to transmit a message to the first node including the viewport change event,

wherein the viewport change event is generated in response to the change of the viewport of the second node.

13. A non-transitory computer-readable recording medium having computer instructions recorded thereon, the computer instructions, when executed on one or more processors, causing the one or more processors to perform operations including:

storing, in a memory, data including a spatial event map which locates events in a virtual workspace, the spatial event map comprising a specification of a location and dimension of a viewport in the virtual workspace;

sending at least a portion of the spatial event map to a first node;

sending data to allow the first node to display, in a screen space of a display associated with the first node, graphical objects identified by events in the spatial event map that have locations within a viewport of the first node;

receiving, from the first node, a notification of a change to the location or dimension of the viewport of the first node;

sending data to allow the first node to display, in the screen space on the display, graphical objects identified by events in the spatial event map that have locations within the changed viewport of the first node;

receiving a viewport change event generated in response to the change of the viewport of the first node, the viewport change event being stored in the spatial event map and comprising a specification of a location and dimension of the changed viewport of the first node; and

sending data to allow the first node to follow a second node by, in response to identification of a viewport change event in the spatial event map for the second node, changing the location or dimension of the viewport of the first node using changes of a location or dimension included in the identified viewport change event,

wherein the changing of the location or dimension of the viewport of the first node defines the dimension of the viewport of the first node displayed in the screen space of the display so that (i) at least a portion of a viewport of the second node falls within the changed viewport displayed in the screen space of the display and (ii) the viewport of the first node has at least one of a same zoom level, a same center point and a same aspect ratio as the viewport of the second node.

14. The non-transitory computer-readable recording medium of claim 13 , wherein the second node includes a display having a screen space.

15. The non-transitory computer-readable recording medium of claim 14 , wherein the screen space of the display of the first node and the screen space of the display of the second node have different dimensions.

16. The non-transitory computer-readable recording medium of claim 13 ,

wherein the viewport change event comprises a second node's specification of dimensions to be displayed on the viewport of the first node, and

wherein the viewport of the second node and the viewport of the first node are viewports of different or overlapping areas of the virtual workspace.

17. The non-transitory computer-readable recording medium of claim 13 , wherein the viewport of the second node and the viewport of the first node are viewports having completely different and non-overlapping areas of the virtual workspace.

18. The non-transitory computer-readable recording medium of claim 13 , the operations further comprising:

receiving the viewport change event from the second node;

updating the spatial event map to include the viewport change event; and

transmitting a message to the first node including the viewport change event,

wherein the viewport change event is generated in response to the change of the viewport of the second node.

Assignments (3)
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Oct 14, 2024
From: THOUGHT STREAM LLC; HAWORTH, INC.
To: BLUESCAPE BUYER, LLC
Reel/Frame 069163/0654 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: HAWORTH, INC.
To: BLUESCAPE BUYER LLC (DBA BLUESCAPE)
Reel/Frame 069082/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: SANTHAKUMAR, SATISH; ENTREKIN, DEMIAN
To: HAWORTH, INC.
Reel/Frame 064775/0181 →
Continuity (5)
Continuation 17684354 · Mar 1, 2022
Continuation 17027571 · Sep 21, 2020
Continuation 15147576 · May 5, 2016
Provisional Application 62157911 · May 6, 2015
Related Publication 20230305795A1 · Sep 28, 2023
Cited By (2)
US 12,254,446 US 12,360,725