FIELD OF THE TECHNOLOGY DISCLOSED

The technology disclosed relates to apparatuses, methods, and systems for digital collaboration, and more particularly to digital display systems which facilitate multiple simultaneous users having access to global workspace data.

DESCRIPTION OF RELATED ART

Digital displays are often used for interactive presentations and other purposes in a manner analogous to whiteboards. Some displays are networked and can be used for collaboration, so that modifications made to the display image on one display are replicated on another display. Collaboration systems can be configured to operate collaboration sessions in which users located at different client platforms share a workspace as described in our co-pending U.S. application Ser. No. 14/090,830, entitled “Collaboration System Including A Spatial Event Map”, filed 26 Nov. 2013 (US 2014-0222916-A1, published 7 Aug. 2014). The distributed nature of such systems allows multiple users in different places to interact with, and change, data in the same workspace at the same time, and also at times when no other user is observing the workspace. Also, the workspace can be very large, essentially unbounded in some systems.

One problem associated with collaboration systems using large workspaces, relates to navigation around the workspace. Because the workspace can be essentially unbounded, and users can place graphical objects anywhere in the workspace, it can be difficult to discover and track the work being done by collaborators.

SUMMARY

A system is disclosed that supports the storing and tracking of a plurality of collaboration sessions, each of which is accessible across multiple devices and locations. The technology disclosed includes a method for one client to find and track on their display the transactions generated by another client within a shared workspace.

One system described herein comprises one or more data processors including memory storing computer programs for a database including one or more workspace data structures for corresponding workspaces. A workspace data structure can include a spatial event map for a specific workspace.

The system described includes a first network node including a display having a physical display space, a user input device, a processor and a communication port. The first network node can be configured with logic to establish communication with one or more other network nodes, which can include for example server-side network nodes and peer client-side network nodes, as a participant client in a workspace session. The first network node can have memory, or have access to memory, to store collaboration data identifying graphical targets having locations in a virtual workspace used in the workspace session. The collaboration data can be a spatial event map, as described herein, or other type of data structure, including locations in a virtual workspace of respective graphical targets. The first network node in this system has logic to define a local client viewport having a location and dimensions within the workspace, and to map the local client viewport to a local client screen space in the physical display space at the first network node. The first network node can also provide a user interface displaying a list of participant clients in the session at other network nodes, and for receiving input indicating a selected other participant client from the list. The first network node can receive messages containing a location in the workspace of a participant client viewport in use at the selected other participant client. Using the location of the participant client viewport, the first network nodes can update the location of the local client viewport to the identified location of the participant client viewport in use at the selected other participant client, and render on the screen space graphical targets having locations within the updated local client viewport. This implements an optional behavior for a client in the collaboration session than can be called “follow.”

A node for use in a collaboration system is described that comprises a display having a physical display space, a user input device, a processor and a communication port, the processor being configured with logic to implement the follow mode. The logic can be configured to:

establish communication with one or more other network nodes;

store collaboration data identifying graphical targets having locations in a virtual workspace, the collaboration data including locations in the virtual workspace of the identified graphical targets;

compute a mapping of a local client viewport having a location and dimensions in the virtual workspace to a local client screen space having dimensions in the physical display space, and render graphical targets having locations in the local client viewport to the local client screen space as a function of the mapping; and

determine the location and dimensions in the virtual workspace of the local client viewport, the logic to determine including

(i) a first mode under local control such as touch screen and mouse gestures for panning and zooming to change the local client viewport in response to user input at the first network node; and

(ii) a second mode, or follow mode, to monitor messages containing locations and changes of location in the virtual workspace of a remote client viewport from a second network node in the one or more network nodes, and to change the local client viewport using the locations and changes of location contained in the messages.

The local client screen space in a network node has an aspect ratio, and a resolution including a number of pixels determined by the display and display driver at the network node. The resolution can be static in the sense that it is unchanging during changes of the local client viewport in the follow mode. The messages containing locations and changes of location include a specification of dimensions having an aspect ratio of the remote client viewport. The logic to change the local client viewport can define dimensions of the local client viewport as a function of differences between the aspect ratio of the local client screen space and the aspect ratio of the remote client viewport. In this way, the graphical objects rendered on remote client screen space using the remote client viewport are reproduced on the local client screen space using the local client viewport without clipping.

Also, the local client screen space has a screens space resolution, that can be static, including a number of pixels, and the dimensions of the local client viewport define a changeable resolution including a number of virtual pixels in the virtual workspace. The logic to compute a mapping determines a zoom factor based on differences in the static, screen space resolution and the changeable resolution.

A node for use in a collaboration system is described that comprises a display having a physical display space, a user input device, a processor and a communication port, the processor being configured with logic to implement dynamic location marker creation, movement, searching and selection. The logic at a particular network can be configured to:

establish communication with one or more other network nodes;

store collaboration data identifying graphical targets having locations in a virtual workspace, the collaboration data including locations in the virtual workspace of the identified graphical targets;

compute a mapping of a local client viewport having a location and dimensions in the virtual workspace to a local client screen space having dimensions in the physical display space, and render graphical targets having locations in the local client viewport to the local client screen space as a function of the mapping;

provide a user interface displaying a list of location markers in the workspace, a location marker having a marked location in the workspace, and for receiving input indicating a selected location marker from the list;

determine the location and dimensions in the virtual workspace of the local client viewport, including to update the location of the local client viewport to the marked location of the selected location marker; and

render on the screen space graphical targets having locations within the local client viewport.

The logic to determine the location and dimensions of the local client viewport includes logic to change the local client viewport in response to pointer or touch based user input gestures at the first network node indicating movement or zoom of the local client viewport.

The user interface displaying a list of location markers also displays a selectable entry for default location for the workspace and including logic to update the location of the local client viewport to the default location upon selection of the selectable entry.

The logic can be configured, so that in response to the selection of the selected location marker, the local client viewport location is changed without changing its dimensions in the virtual workspace.

The user interface displaying a list of location markers includes a search function based on querying location marker tags in embodiments described herein.

The actions usable in the records of an events in the log of events include creation, movement and deletion of location markers.

The network nodes can include logic to send messages to other network nodes, the messages identifying events including creation or movement of a location marker, and the logic is responsive to receipt of a message from a second network node to update the list of location markers.

In a described implementation, the first network node can accept input data from the user input device creating events relating to modification of the local client viewport, and create a client viewport data object defining the location of the local client viewport within the workspace. The first network node can send the client viewport data object to one or more other network nodes participating in the session, to support the follow option.

Also described is a system comprising a first network node providing a user interface displaying a list of location markers in the workspace in the session, where a location marker has a marked location in the workspace. The user interface can receive input indicating a selected location marker from the list. In response to selection of a selected location marker, the system can update the location of the local client viewport to the marked location and render on the screen space graphical targets having locations within the updated local client viewport.

In another implementation, a system can include a spatial event map system, comprising a data processor, and memory storing a spatial event map which locates events in a virtual workspace, and provides communication resources for collaborative displays.

Also, methods of operating client nodes in a collaboration session as described herein, and non-transitory computer readable media storing computer programs, implement logical functions as described herein, for a client in a collaboration session are described.

The above summary is provided in order to provide a basic understanding of some aspects of the collaboration system described herein. This summary is not intended to identify key or critical elements of the technology disclosed or to delineate a scope of the technology disclosed.

