IP Library Granted Patent US 12,079,776
Granted Patent B2
US 12,079,776 · App. 18/197,623 · Granted Sep 3, 2024

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 12,079,776
App. No.
18/197,623
Granted
Sep 3, 2024
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 an object of the event in the workspace and a time. The system includes logic to send messages including a location of an object of the event in the workspace and a time of the event to client-side network nodes; and to receive messages identifying events that create or modify an object, 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 (37)

1. A method comprising:

sending, to a client node, entries from a log of entries that identifies events in a workspace, wherein the workspace comprises objects with coordinates in the workspace and the events represent interactions that result in a change in work space data corresponding to the objects, wherein an entry in the log, which identifies a particular event, additionally comprises a parameter identifying graphical constructs used to display the object on a display, and wherein the sent entries comprise:

(i) data specifying coordinates within the workspace of an object related to a particular event and

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

sending data to allow the client node to:

be able to map a displayable area of a display to an area within the workspace; and

be able to display the object related to the particular event that has a location within the area of the workspace in the displayable area.

2. The method of claim 1 , including receiving, at a server node, messages compliant with an application program interface executed at the server node.

3. The method of claim 1 , further comprising:

receiving messages, at a server node, based upon created events,

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

4. The method of claim 1 , wherein the object includes at least one of text and a stroke.

5. The method of claim 1 , wherein an entry in the log, which identifies a particular event, additionally comprises a target identifier of the object of the event.

6. The method of claim 1 , wherein the parameter comprises a uniform resource locator (URL).

7. The method of claim 1 , wherein the object is a graphical target related to the particular event.

8. The method of claim 1 , wherein the entries further include data identifying an action including at least one of: creation, movement, and deletion of the object within the workspace.

9. The method of claim 1 , further comprising: sending data to allow the client node to be able to update a memory cache on the client node with the data from the at least a portion of the log of entries sent to the client node.

10. A system comprising: a server node including a processor configured with logic to implement operations including:

sending, to a client node including a display, entries from a log of entries that identifies events in a workspace, wherein the workspace comprises objects with coordinates in the workspace and the events represent interactions that result in a change in workspace data corresponding to the objects, wherein an entry in the log, which identifies a particular event, additionally comprises a parameter identifying graphical constructs used to display the object on a display and wherein the sent entries comprise:

(i) data specifying coordinates within the workspace of an object related to a particular event, and

(ii) data identifying a time of the particular event; and sending data to allow the client node to:

be able to map a displayable area of a display to an area within the workspace; and

be able to display the object related to the particular event that has a location within the area of the workspace in the displayable area.

11. The system of claim 10 , the logic including an application interface including a process to communicate with the client node.

12. The system of claim 10 , wherein the operations further include: receiving messages at the server node based upon created events, wherein the messages based on created events include (i) a first class of event designated as a history event to be distributed among other client nodes and to be added to the log in the server node, and (ii) a second class of event designated as an ephemeral event to be distributed among other client nodes but not added to the log in the server node.

13. The system of claim 10 , wherein the operations further include: sending data, to the client node, to allow the client node to update a memory cache on the client node with the data from the at least a portion of the log of entries sent to the client node.

14. The system of claim 10 , wherein the object includes at least one of text and a stroke.

15. The system of claim 10 , wherein an entry in the log, which identifies a particular event, additionally comprises a target identifier of the object of the event.

16. The system of claim 10 , wherein the parameter comprises a uniform resource locator (URL).

17. The system of claim 10 , wherein the object is a graphical target related to the particular event.

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

sending, to a client node including a display, entries from a log of entries that identifies events in a workspace, wherein the workspace comprises objects with coordinates in the workspace and the events represent interactions that result in a change in workspace data corresponding to the objects, wherein an entry in the log, which identifies a particular event, additionally comprises a parameter identifying graphical constructs used to display the object on a display and wherein the sent entries comprise:

(i) data specifying coordinates within the workspace of an object related to a particular event, and

(ii) data identifying a time of the particular event; and sending data to allow the client node to: be able to map a displayable area of a display to an area within the workspace; and be able to display the object related to the particular event that has a location within the area of the workspace in the displayable area.

19. The non-transitory computer readable recording medium of claim 18 ,

wherein the operations including receiving messages compliant with an application program interface executed at a server network node.

20. The non-transitory computer readable recording medium of claim 18 , wherein the operations further include receiving, at a server node, messages based upon created events, wherein the messages based on the created events include (i) a first class of event designated as a history event to be distributed among other client nodes and to be added as entries to the log in the server node, and (ii) a second class of event designated as an ephemeral event to be distributed among other client nodes but not added to the log in the server 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 May 15, 2023
From: FOLEY, DAVID M.; PEARSON, ADAM; ENTREKIN, DEMIAN
To: HAWORTH, INC.
Reel/Frame 063647/0292 →
Continuity (7)
Continuation 17972483 · Oct 24, 2022
Continuation 17201574 · Mar 15, 2021
Continuation 15668009 · Aug 3, 2017
Continuation 14090830 · Nov 26, 2013
Continuation In Part 13759017 · Feb 4, 2013
Provisional Application 61832106 · Jun 6, 2013
Related Publication 20230306366A1 · Sep 28, 2023