IP Library Granted Patent US 12,061,775
Granted Patent B2
US 12,061,775 · App. 18/214,441 · Granted Aug 13, 2024

Collaboration system including markers identifying multiple canvases in a shared virtual workspace

Inventors: Ariel Jakobovits (Redwood City, CA); Satish Santhakumar (Fremont, CA); Demian Entrekin (Oakland, CA)
Assignee: Haworth, Inc.
G06F3/0482G06F3/1431G06F3/1454H04L67/131H04L67/01
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,061,775
App. No.
18/214,441
Granted
Aug 13, 2024
Kind
B2
Abstract

A node of a collaboration system is provided to establish communication with other nodes, store data identifying graphical targets having locations in a virtual workspace and including locations in the virtual workspace of the identified graphical targets, and compute a mapping of a local client viewport to a local client screen space. The node is configured to render on the local client screen space graphical targets having locations within the local client viewport, provide a user interface to display a list of viewport markers representing viewports, where each viewport defines an area in the workspace, and respond to an input indicating a selected viewport marker from the list of viewport markers, update the local client viewport to match the location and dimensions of the viewport represented by the selected viewport marker, and render on the local client screen space graphical targets having locations within the updated local client viewport.

Claims (103)

1. A method for operating a server node including a processor, the method comprising:

providing, to a client node, at least part of a log of entries, the provided part of the log identifying:

(i) a location of a predefined canvas within a virtual workspace, the predefined canvas being represented by a marker associated with coordinates and spatial dimensions of the predefined canvas and representing the predefined canvas within the virtual workspace regardless of whether a client node that created the predefined canvas is connected to the virtual workspace,

(ii) objects, and

(iii) object locations in the virtual workspace;

wherein a defined area in the virtual workspace includes an object, and

wherein an entry in the log of entries provided to the client node comprises data specifying the location of the predefined canvas that is represented by the marker and that includes at least a portion of the defined area.

2. The method of claim 1 , further comprising

storing metadata associated with a particular canvas within the virtual workspace.

3. The method of claim 2 , wherein

the metadata includes an access list identifying users that are permitted to display objects having locations within the particular canvas.

4. The method of claim 2 , wherein

the metadata includes an access list identifying client nodes that are permitted to display objects having locations within the particular canvas.

5. The method of claim 2 , wherein

the metadata includes title of the particular canvas.

6. The method of claim 2 , wherein

the metadata identifies one or more contextual menu items associated with the particular canvas.

7. The method of claim 2 , wherein

the metadata includes a zoom-in indicator indicating that the client node is to display objects included in the particular canvas using a zoom-in level while still allowing the displayed objects to remain displayed by the client node in their entirety.

8. The method of claim 2 , wherein

the metadata includes information that links the particular canvas to a different canvas that is within the virtual workspace and that is associated with the particular canvas.

9. A server node, the server node comprising:

a processor configured with logic to implement operations comprising:

providing, to a client node, at least part of a log of entries, the provided part of the log identifying:

(i) a location of a predefined canvas within a virtual workspace, the predefined canvas being represented by a marker associated with coordinates and spatial dimensions of the predefined canvas and representing the predefined canvas within the virtual workspace regardless of whether a client node that created the predefined canvas is connected to the virtual workspace,

(ii) objects, and

(iii) object locations in the virtual workspace;

wherein a defined area in the virtual workspace includes an object, and

wherein an entry in the log of entries provided to the client node comprises data specifying the location of the predefined canvas that is represented by the marker and that includes at least a portion of the defined area.

10. The server node of claim 9 , wherein the operations further include:

receiving data identifying a particular canvas, the received data including metadata associated with the particular canvas, and including a location and dimensions, within the virtual workspace, of the particular canvas; and

adding a marker representing the particular canvas to a menu of markers.

11. The server node of claim 10 , wherein:

the metadata includes an access list identifying users that are permitted to display objects having locations within the particular canvas; and

the operations further include prohibiting displaying of the objects having locations within the particular canvas when a user of the client node is not identified by the access list.

12. The server node of claim 10 , wherein:

the metadata includes an access list identifying clients that are permitted to display objects having locations within the particular canvas; and

the operations further include prohibiting displaying of the objects having locations within the particular canvas when a client is not identified by the access list.

13. The server node of claim 10 , wherein:

the metadata includes a title of the particular canvas; and

the operations further include providing data to allow the title of the particular canvas to be included in a menu of markers.

14. The server node of claim 10 , wherein:

the metadata identifies a color corresponding to the particular canvas; and

the operations further include providing data to allow displaying, by the client node, of the marker representing the particular canvas in the color identified by the metadata.

15. The server node of claim 10 , wherein:

the metadata identifies one or more contextual menu items associated with the particular canvas; and

the operations further include providing data to allow displaying, by the client node, of the one or more contextual menu items associated with the particular canvas.

16. The server node of claim 10 , wherein:

the metadata includes a zoom-in indicator; and

the operations further include providing data to allow displaying of the objects included in the particular canvas using a zoom-in level while still allowing the displayed objects to remain displayed by the client node in their entirety.

17. The server node of claim 10 , wherein the metadata includes information that links the particular canvas to a different canvas that is within the virtual workspace and that is associated with the particular canvas.

18. The server node of claim 9 , wherein the processor is further configured with logic to implement operations comprising:

creating a canvas by:

obtaining information identifying an area in the virtual workspace that includes one or more displayed objects and defines the canvas; and

storing data representing the canvas, the stored data including metadata identifying a location and dimensions of the area within the virtual workspace that defines the canvas;

defining a marker associated with the canvas; and

transmitting data to other nodes, the transmitted data including the stored data representing the canvas and identifying the marker.

19. A non-transitory computer-readable recording medium having a program recorded thereon, the program, when executed by a server node including a processor, causing the server node to perform operations comprising:

providing, to a client node, at least part of a log of entries, the provided part of the log identifying:

(i) a location of a predefined canvas within a virtual workspace, the predefined canvas being represented by a marker associated with coordinates and spatial dimensions of the predefined canvas and representing the predefined canvas within the virtual workspace regardless of whether a client node that created the predefined canvas is connected to the virtual workspace,

(ii) objects, and

(iii) object locations in the virtual workspace;

wherein a defined area in the virtual workspace includes an object, and

wherein an entry in the log of entries provided to the client node comprises data specifying the location of the predefined canvas that is represented by the marker and that includes at least a portion of the defined area.

20. The non-transitory computer-readable recording medium of claim 19 , wherein the operations further comprise storing metadata associated with a particular canvas within the virtual workspace.

21. The non-transitory computer-readable recording medium of claim 20 , wherein:

the metadata includes an access list identifying users that are permitted to display objects having locations within the particular canvas; and

the operations further include prohibiting displaying of the objects having locations within the particular canvas when a user is not identified by the access list.

22. A method for operating a client node including a processor, the method comprising:

receiving, from a server node, at least part of a log of entries, the received part of the log identifying:

(i) a location of a predefined canvas within a virtual workspace, the predefined canvas being represented by a marker associated with coordinates and spatial dimensions of the predefined canvas and representing the predefined canvas within the virtual workspace regardless of whether a client node that created the predefined canvas is connected to the virtual workspace,

(ii) objects, and

(iii) object locations in the virtual workspace;

wherein a defined area in the virtual workspace includes an object,

wherein an entry in the log of entries received from the server node comprises data specifying the location of the predefined canvas that is represented by the marker and that includes at least a portion of the defined area, and

wherein the method includes displaying the object included in the defined area of the predefined canvas represented by the marker.

23. The method of claim 22 , further comprising:

receiving data identifying a particular canvas, the received data including metadata associated with the particular canvas, and the metadata including a location and dimensions, within the virtual workspace, of the particular canvas; and

adding a marker representing the particular canvas to a menu of markers.

24. The method of claim 23 , wherein:

the metadata includes an access list identifying users that are permitted to display objects having locations within the particular canvas of the virtual workspace; and

the method further includes prohibiting displaying of the objects having locations within the particular canvas of the virtual workspace when a user of the client node is not identified by the access list.

25. The method of claim 23 , wherein:

the metadata includes an access list identifying client nodes that are permitted to display objects having locations within the particular canvas of the virtual workspace; and

the method further includes prohibiting displaying of the objects having locations within the particular canvas of the virtual workspace when a client node is not identified by the access list.

26. The method of claim 23 , wherein:

the metadata includes a title of the particular canvas of the virtual workspace; and

the method further includes including the title of the particular canvas of the virtual workspace in a menu of markers.

27. The method of claim 23 , wherein:

the metadata identifies a color corresponding to the particular canvas of the virtual workspace; and

the method further includes displaying the marker representing the particular canvas of the virtual workspace in the color identified by the metadata.

28. The method of claim 23 , wherein:

the metadata identifies one or more contextual menu items associated with the particular canvas of the virtual workspace; and

the method further includes displaying the one or more contextual menu items associated with the particular canvas of the virtual workspace.

29. The method of claim 23 , wherein:

the metadata includes a zoom-in indicator; and

the method further includes displaying objects included in the particular canvas of the virtual workspace using a zoom-in level while still allowing the displayed objects to remain displayed by the client node in their entirety.

30. The method of claim 22 , further comprising:

creating a canvas by:

obtaining information identifying an area in the virtual workspace that includes one or more displayed objects and defines the canvas; and

storing data representing the canvas, the stored data including metadata identifying a location and dimensions of the area within the virtual workspace that defines the canvas;

creating a marker associated with the canvas of the virtual workspace; and

transmitting data including the stored data representing the canvas and identifying the marker associated with the canvas.

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 Dec 21, 2023
From: JAKOBOVITS, ARIEL; SANTHAKUMAR, SATISH; ENTREKIN, DEMIAN
To: HAWORTH, INC.
Reel/Frame 065935/0801 →