IP Library Granted Patent US 11,481,730
Granted Patent B2
US 11,481,730 · App. 17/201,574 · Granted Oct 25, 2022

Collaboration system including a spatial event map

Inventors: David M. Foley (Seattle, WA); Adam Pearson (Seattle, WA); Demian Entrekin (Oakland, CA)
Assignee: HAWORTH, INC.
G06Q10/101G06F16/176H04L12/1822H04L65/403H04L67/10H04L67/1095H04N7/147H04N7/15
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,481,730
App. No.
17/201,574
Granted
Oct 25, 2022
Kind
B2
Abstract

A spatial event map system including server-side data processor that maintains a spatial event map which locates events in a workspace. The spatial event map includes a log of events, entries in the log having a location of a graphical target of the event in the workspace and a time. The system includes logic to send messages including an event, a location of a graphical target of the event in the workspace and a time, to client-side network nodes; and to receive messages identifying events that create or modify a graphical target, and to add corresponding entries to the log of events. The events can include history events that are sent to the other client-side network nodes, and added to the log for the corresponding history events, and ephemeral events that are sent to other client-side network nodes without adding corresponding entries in the log.

Claims (50)

1. A system comprising:

a client-side network node including a display and a processor configured with logic to implement operations including:

retrieving a log of entries that identifies events in a workspace, wherein an entry in the log, which identifies a particular event, comprises

(i) data specifying virtual coordinates within the workspace of a graphical target related to the particular event,

(ii) data identifying a time of the particular event, and

(iii) data identifying an action including at least one of: creation, movement and deletion of the graphical target within the workspace;

updating a memory cache on the client-side network node with the data from the retrieved log of entries;

mapping a displayable area in the display to a mapped area within the workspace; and

rendering the graphical target identified by the particular event that has a location within the mapped area of the workspace onto the displayable area.

2. The system of claim 1 , the logic including an application interface including a process to communicate with a server-side network node.

3. The system of claim 1 ,

wherein the operations further include sending messages based upon created events to a server-side network node, and

wherein the messages based on the created events include a first class of event designated as a history event to be distributed among other client-side network nodes and to be added to the log in the server-side network node, and a second class of event designated as an ephemeral event to be distributed among other client-side network nodes but not added to the log in the server-side network node.

4. The system of claim 1 , wherein the graphical target includes at least one of text and a stroke.

5. The system of claim 1 , wherein the entries in the log include a parameter identifying a graphical construct used to render the graphical target on the display.

6. The system of claim 1 , wherein the entries in the log include a parameter identifying a user associated with the particular event.

7. The system of claim 1 , wherein the operations include panning and zooming the displayable area relative to the workspace.

8. The system of claim 1 , wherein the workspace encompasses an unbounded virtual area.

9. A method comprising:

retrieving, at a client-side network node including a display, a log of entries that identifies events in a workspace, wherein an entry in the log, which identifies a particular event, comprises

(i) data specifying virtual coordinates within the workspace of a graphical target related to the particular event,

(ii) data identifying a time of the particular event, and

(iii) data identifying an action including at least one of: creation, movement and deletion of the graphical target within the workspace;

updating a memory cache on the client-side network node with the data from the retrieved log of entries;

mapping a displayable area in the display at the client-side network node to a mapped area within the workspace; and

rendering the graphical target identified by the particular event that has a location within the mapped area of the workspace onto the displayable area.

10. The method of claim 9 , including sending messages compliant with an application program interface executed at a server-side network node.

11. The method of claim 9 ,

further comprising sending messages based upon created events to a server-side network node,

wherein the messages based on the created events include a first class of event designated as a history event to be distributed among other client-side network nodes and to be added as entries to the log in the server-side network node, and a second class of event designated as an ephemeral event to be distributed among other client-side network nodes but not added to the log in the server-side network node.

12. The method of claim 9 , wherein the graphical target includes at least one of text and a stroke.

13. The method of claim 9 , wherein the entries in the log include a parameter identifying a graphical construct used to render the graphical target on the display.

14. The method of claim 9 , wherein the entries in the log include a parameter identifying a user associated with the particular event.

15. The method of claim 9 , wherein the method further includes panning and zooming the displayable area relative to the workspace at the client-side network node.

16. The method of claim 9 , wherein the workspace encompasses an unbounded virtual area.

17. A product comprising:

non-transitory computer readable memory;

executable instructions stored in the memory, the executable instructions, when executed on one or more processors, causing the one or more processors to implement operations comprising:

retrieving, at a client-side network node including a display, a log of entries that identifies events in a workspace, wherein an entry in the log, which identifies a particular event, comprises

(i) data specifying virtual coordinates within the workspace of a graphical target related to the particular event,

(ii) data identifying a time of the particular event, and

(iii) data identifying an action including at least one of: creation, movement and deletion of the graphical target within the workspace;

updating a memory cache on the client-side network node with the data from the retrieved log of entries;

mapping a displayable area in the display at the client-side network node to a mapped area within the workspace; and

rendering the graphical target identified by the particular event that has a location within the mapped area of the workspace onto the displayable area.

18. The product of claim 17 , including executable instructions for sending messages compliant with an application program interface executed at a server-side network node.

19. The product of claim 17 , wherein the operations further include

sending messages based upon created events to a server-side network node, and

wherein the events include a first class of event designated as a history event to be distributed among other client-side network nodes and to be added to the log in the server-side network node, and a second class of event designated as an ephemeral event to be distributed among other client-side network nodes but not added to the log in the server-side network node.

20. The product of claim 17 , wherein the graphical target includes text and a stroke.

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 15, 2022
From: FOLEY, DAVID M.; PEARSON, ADAM; ENTREKIN, DEMIAN
To: HAWORTH, INC.
Reel/Frame 061105/0027 →