CN105378702A - 包括空间事件地图的协作系统 - Google Patents

包括空间事件地图的协作系统 Download PDF

Info

Publication number
CN105378702A
CN105378702A CN201480039006.8A CN201480039006A CN105378702A CN 105378702 A CN105378702 A CN 105378702A CN 201480039006 A CN201480039006 A CN 201480039006A CN 105378702 A CN105378702 A CN 105378702A
Authority
CN
China
Prior art keywords
event
client
side network
work space
daily record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201480039006.8A
Other languages
English (en)
Inventor
D·M·弗利
A·皮尔逊
D·恩特雷金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haworth SAS
Sea Wo Shi Co
Original Assignee
Sea Wo Shi Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sea Wo Shi Co filed Critical Sea Wo Shi Co
Publication of CN105378702A publication Critical patent/CN105378702A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/141Systems for two-way working between two video terminals, e.g. videophone
    • H04N7/147Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种包括服务器侧数据处理器的空间事件地图系统,该空间事件地图系统维持定位工作空间中的事件的空间事件地图。空间事件地图包括事件日志,日志中的条目具有工作空间中的事件的图形目标的位置和时间。该系统包括用于执行以下步骤逻辑:向客户端侧网络节点发送包括事件、工作空间中的事件的图形目标的位置和时间的消息;和接收标识创建或者修改图形目标的事件的消息,以及将对应的条目添加到事件日志。事件可以包括发送给其他客户端侧网络节点并且添加到对应的历史事件的日志的历史事件,和包括在不添加日志中的对应的条目的情况下发送给其他客户端侧网络节点的短暂事件。

Description

包括空间事件地图的协作系统
技术领域
本发明涉及用于数字协作的装置、方法和系统,并且更特别地涉及促进多个同时的用户具有对全局工作空间数据的访问的数字显示系统。
背景技术
数字显示器常常用于以与白板类似的方式的交互式演示和其他目的。一些显示器被联网并且可以用于协作,使得对一个显示器上的显示图像做出的修改复制在另一显示器上。大规模显示器为超过一个用户同时地在相同表面上呈现或者注释提供机会。然而,在多个用户的协作中可能发生问题,并且在一些情况中,其对单个显示器的使用可能限制其表达的灵活性。
同时,数字显示器可以包括单个房间中的大型显示屏幕或者屏幕阵列,其被配置为提供大型交互表面。因此,应预期到,可以由许多用户在针对不同协作的不同时间共享大型数字显示器。在用于协作的工作空间数据对限于授权用户的访问保密的情况下,仅在数字显示器处用户交互的数字显示器被分发到许多网站并且不一定在单个用户的排他性控制下,出现了关于对协作的访问的安全性问题。
另外,系统的分布式特性导致交互并且可以同时和有时在没有其他用户正观察工作空间数据时改变相同工作空间数据的不同地点的多个用户的可能性。这产生关于多个位置的并发性以及关于工作空间数据的当前状态的共享信息的问题。
因此,期望找到以这样的方式允许多个用户共享显示器的分布式网络中的工作空间数据的方式:每个用户具有随着想法的实时交换表达他或她的想法的最大自由度,同时提供足以保护协作的保密特性的安全性。因此,对于创建问题的鲁棒的解决方案而言出现机会。可以实现更好的想法、协作和结果。
发明内容
描述了一种实现空间事件地图的协作系统,该协作系统可以具有用于基于空间事件地图显示图像的许多分布式数字显示器。空间事件地图还可以被部署在具有单个位置的单个显示器的系统中。
公开了一种支持针对跨越多个设备和位置可访问的每个会话的基本上无限数量的2D和3D工作空间的系统。
基于空间事件地图描述了一种协作系统,该协作系统包括定位工作空间中的事件的条目。空间事件地图可以包括事件的日志,其中日志中的条目具有工作空间中的事件的图形目标的位置和时间。而且,日志中的条目可以包括标识用于在显示器上渲染图形目标所使用的图形构造的参数(例如url或者实际文件)。描述了服务器侧网络节点和客户端侧网络节点,其互相交互以形成通过其可以使空间事件地图对授权客户端可访问的协作系统,并且客户端可以利用空间事件地图来渲染局部显示区域,并且创建可以被添加到空间事件地图并且与其他客户端共享的事件。
与特定协作会话相关联的工作空间可以被表示为提供没有指定界限的参考帧的无限虚拟区域,在其内定位时间和虚拟协作空间中的事件。工作空间可以涵盖实际上无限的虚拟区域,因为其具有客户端侧网络节点导航超过其界限的可能性微不足道的足够大的大小。例如,在一些设置中,涵盖映射到包括1,000,000像素乘以1,000,000像素的物理显示空间的虚拟区域的大小可以被认为实际上是无限的。在一些示例中,工作空间基本上是“无限的”,因为其大小仅由标识虚拟空间内的位置所使用的解决方案的范围所限制。而且,系统可以包括若干工作空间,其中每个工作空间可以单独地配置以由单个用户或者用户组访问。
可以根据应用程序接口API对协作系统进行配置,使得服务器侧网络节点和客户端侧网络节点可以关于协作事件通信。可以定义标识创建或者修改具有工作空间中的位置和时间的图形目标的事件的消息。可以将事件分类为历史事件和短暂事件,其中历史事件被存储在空间事件地图中,并且短暂事件未利用空间事件地图永久地存储而是被分布在协作会话的其他客户端之间。
提供了包括操作集和操作参数的应用程序接口(API),其提供利用空间事件地图的工作空间的参与。可以使用软件实现的功能来在数据处理器中实现操作集,其可以是硬件辅助的,其被配置为使用参数和执行API的操作。
提供以上概述以便提供对本文所描述的协作系统的一些方面的基本理解。该概述不旨在标识发明的关键或者重要元件或者描绘发明的范围。
附图说明
将参考其具体实施例描述本发明,并且将对未按比例绘制的附图进行参考,并且其中:
图1A和1B(统称为图1)图示了数字显示器协作环境的示例方面。
图2图示了包括地理上被分布到可以被递送以用于由授权用户使用的工作空间数据的多个显示墙的协作系统。
图3和4图示了图1的显示器上的绘制区域行为的方面。
图5A-5E(统称为图5)是针对工作空间的工作空间数据的部分的数据结构的简化图。
图6图示了如本文中所描述的系统的一个示例中的工作空间中的参与者的功能特征。
图7是使用联合显示器实现的数字显示器的示图。
图8是计算机系统110(例如图1B中的客户端设备计算机系统)的简化框图。
图9是可访问地被存储到客户端设备计算机系统110(图1B)的数据库的示意图。
图10是图示可以用于协作系统的用户登录顺序的服务器侧逻辑的方面的流程图。
图11是图示可以用于协作系统的用户登录顺序的客户端侧逻辑的方面的流程图。
图12是图示针对用于协作会话的墙中的显示客户端的客户端侧逻辑的方面的流程图。
图13是图示管理协作系统中的利用分布式显示墙的服务器侧逻辑的方面的流程图。
图14是图示针对用作协作系统中的显示器的联合显示系统的客户端逻辑的方面的流程图。
图15以图1B的风格图示支持其中存在广泛地分布的显示器的分布式显示器协作的系统。
图16是客户端侧网络节点和显示器的简化功能框图。
图17是图示像图16那样的客户端侧网络节点的操作的流程图。
图18是图示由像图16那样的客户端侧网络节点中的逻辑所执行的流程的流程图。
具体实施方式
以下描述被呈现为使得本领域的技术人员能够做出和使用本发明,并且被提供在特定应用和其要求的上下文中。所公开的实施例的各种修改对于本领域技术人员而言将是容易明显的,并且在不脱离本发明的精神和范围的情况下,本文所限定的通用原理可以适于其他实施例和应用。因此,本发明不旨在限于所示的实施例,而是将符合与本文所公开的原理和特征一致的最宽范围。
“无限工作空间”问题包括跟踪人们和设备如何随时间与工作空间相互作用的需要。为了解决该核心问题,我们已经创建我们称为空间事件地图的东西。空间事件地图包含定义工作空间中的对象和事件所需要的信息。从空间、事件和空间中的事件的地图和由包括多个同时用户的多个用户对空间的访问的观点来考虑技术是有用的。
空间:为了支持针对给定协作会话的无限数量的空间信息,我们提供一种组织被称为工作空间的虚拟空间的方式,其可以例如由具有维度中的一者或两者的基本上无限的范围的2维笛卡尔(Cartesian)平面表征表示,例如以这样的方式:可以将新内容添加到空间;可以将内容布置和重新布置在空间中;用户可以从空间的一个部分导航到另一个部分;和在其需要时,用户可以容易地找到空间中的所需要的东西。
事件:与工作空间的相互作用被处理为事件。人们和系统经由有形用户接口设备可以与工作空间相互作用。事件具有可以定义或者指向待显示在物理显示器上的目标图形对象的数据和作为工作空间内的创建、修改、移动和目标图形对象的删除的动作,以及与其相关联的元数据。元数据可以包括诸如发起者、日期、时间、工作空间中的位置、事件类型、安全信息和其他元数据的信息。
跟踪工作空间中的事件使得系统能够不仅呈现其当前状态中的工作空间中的空间事件,而且将其与多个显示器上的多个用户共享,以共享可以属于内容的相关外部信息和理解空间数据如何随时间演变。此外,根据所需要的数据的数量,空间事件地图可以具有合理的大小,同时还定义无限的工作空间。
在系统中可以存在若干不同种类的事件。可以将事件分类为持续事件(还被称为历史事件),其被永久地存储或者长时间由用于维持工作空间的系统在其使用寿命期间所要求。可以将事件分类为短暂事件,其对于仅短时间和在会话中所涉及的其他客户端之间是有用的或者感兴趣的。持续事件可以包括被存储在取消/回放事件流中的历史事件,该事件流可以与会话的空间事件地图相同或者从其导出。短暂事件可以包括未被存储在系统的取消/回放事件流中的事件。(一个或多个)空间事件地图可以由协作系统用于跟踪系统中的工作空间上的持续事件和短暂事件二者的一些实施例中的工作空间中的时间和位置。
地图:工作空间中的事件的地图可以包括分离的空间事件的总和。当工作空间的持续空间事件可用时,那么可以将该工作空间“映射”到显示器或者屏幕,其具有特定大小的可显示区域并且其标识要被显示在可显示区域中的工作空间中的位置或者区域。
多用户访问:一个关键特性在于,同时在工作空间上工作的所有用户或者多个用户应当能够以近实时方式看到其他用户的交互。空间事件地图允许具有不同物理位置处的显示器的用户经历近实时事件,包括任何给定工作空间上的所有用户的其相应的可显示区域内的持续事件和短暂事件二者。
图1A图示了数字显示器协作环境的示例方面。在示例中,多个用户101a-h(统称为101)可以期望在全部一般地在图1A中被指定为103a-d(统称为103)的复杂的图像、音乐、视频、文档和/或其他媒体的创建中彼此协作。所图示的示例中的用户使用被配置为电子网络节点的各种设备以便彼此协作,例如平板电脑102a、个人计算机(PC)102b和许多大幅面显示器102c、102d、102e(统称为设备102)。在所图示的示例中,大幅面显示器102c(其有时在本文中被称为“墙”)容纳用户中的超过一个(例如,用户101c和101d、用户101e和101f以及用户101g和101h)。用户设备(其被称为客户端侧网络节点)具有在其上可显示区域被分配用于显示工作空间中的事件的显示器。针对给定用户的可显示区域可以包括显示器的整个屏幕、屏幕的子集、待显示在屏幕上的窗口等,使得每个显示区域具有与工作空间的实际上无限的范围相比较有限的区域或者范围。
图1B图示了与图1A相同的环境。如图1B中所示,有时在本文中被称为“墙”的大幅面显示器102c、102d、102e由相应的客户端侧物理网络节点10控制,其进而与被配置为服务器侧物理网络节点的中心协作服务器105网络通信,其具有其可访问的存储一个或多个工作空间的空间事件堆栈的数据库106。如本文所使用的,物理网络节点是活动电子设备,其附接到网络并且能够通过通信信道发送、接收或者转发信息。可以部署为网络节点的电子设备的示例包括各种计算机、工作站、膝上型计算机、手持式计算机和智能电话。如本文所使用的,术语“数据库”不一定隐含结构的任何统一。例如,当一起考虑时,两个或两个以上分离的数据库仍然构成如本文使用该术语那样的“数据库”。
可以使用诸如Apache或者nginx的web服务器软件托管运行在协作服务器105处的应用。例如,可以在运行诸如LINUX的操作系统的虚拟机上对其进行托管。服务器105在图1B中启发式地图示为单个计算机。然而,服务器架构可以涉及各自运行服务器应用的许多计算机的系统,这是因为对于大规模基于云的服务而言是典型的。服务器架构包括通信模块,其可以被配置针对各种类型的通信信道,包括协作会话中的每个客户端的超过一个信道。例如,跨越网络、客户端软件的近实时更新可以经由使用基于消息的信道、例如基于WebSocket(网络套接字)协议与服务器通信模块通信。对于文件上载以及接收初始大容量工作空间数据而言,客户端软件可以经由HTTP与服务器通信模块通信。服务器可以运行例如以由Ruby-on-Rails服务的JavaScript书写的前端程序,例如基于Oauth支持验证/授权,并且支持多个分布式客户端之间的协作。服务器通信模块可以包括基于消息的通信协议栈,诸如WebSocket应用,其执行记录工作空间数据中的用户动作的功能,并且如果适用的话,则将用户动作转播给其他客户端。该系统可以运行在例如node.JS平台上,或者设计为处理高负载套接字应用的其他服务器技术上。
数据库106存储例如每个会话的空间事件地图的工作空间数据集的数字表示,其中工作空间数据集可以包括或者标识与可显示在显示画布上的对象有关的事件。工作空间数据集可以以空间事件堆栈的形式实现、管理,使得至少持续空间事件添加到堆栈(入栈)并且在取消操作期间从先进后出模型中的堆栈移除(出栈)。可以存在针对许多不同工作空间的工作空间数据集。针对给定工作空间的数据集可以被配置在数据库中,或者作为和工作空间有关的机器可读文档。工作空间可以具有无限或者实际上无限的尺寸。工作空间数据包括标识由显示墙上的显示区域中的显示客户端可显示的对象的事件数据结构,并且将工作空间中的时间和位置与由事件数据结构所标识的对象相关联。每个设备102仅显示整个工作空间的一部分。显示墙具有针对显示对象的显示区域,显示区域映射到与集中在工作空间中的用户位置上或者否则利用其定位的工作空间中的区域相对应的工作空间中的对应的区域。显示区域到工作空间中的对应的区域的映射可由显示客户端用于标识要被渲染在显示器上的显示区域内的工作空间数据中的对象,并且标识链接显示器上的显示区域中的位置处的用户触摸输入的对象。
服务器105和数据库106可以构成服务器侧网络节点,包括存储与具有工作空间中的位置的图形目标的事件有关的日志的存储器,日志中的条目包括事件的图形目标的工作空间中的位置、事件的时间和事件的图形目标的目标标识符。服务器可以包括建立多个活动客户端侧网络节点的链接,以接收标识与具有工作空间中的位置的图形目标的修改和创建有关的事件的消息,响应于所述消息而将事件添加到日志和将与从特定客户端侧网络节点所接收的消息中所标识的事件有关的消息分发到其他活动客户端侧网络节点。
服务器105中的逻辑可以包括应用程序接口,包括将承载日志的部分的消息发送给客户端侧网络节点和接收来自承载标识与具有工作空间中的位置的图形目标有关的事件的数据的客户端侧网络节点的消息的流程和参数的指定集合。
此外,服务器105中的逻辑可以包括应用接口,其包括将从一个客户端侧网络节点所接收的事件分发到其他客户端侧网络节点的过程。
符合API的事件可以包括要被存储在日志中并且分发到其他客户端侧网络节点的第一类事件(历史事件)和待分布到其他客户端侧网络节点但是未存储在日志中的第二类事件(短暂事件)。
服务器105可以存储针对多个工作空间的工作空间数据集,并且将工作空间数据提供给参加会话的显示客户端。工作空间数据随后由具有包括显示客户端软件的适当的软件112的计算机系统110用于确定显示在显示器上的图像,并且将用于交互的对象分配到显示表面上的位置。服务器105可以存储和维持针对不同协作会话的众多工作空间。每个工作空间可以与一组用户相关联,并且被配置用于仅由组中的授权用户访问。
在一些备选方案中,服务器105可以跟踪针对每个设备102的“视口”,其指示该设备上可视的画布的一部分,并且可以向每个设备102提供用于渲染视口所需要的数据。
运行在负责渲染绘图对象、处理用户输入和与服务器通信的客户端设备上的应用软件可以基于HTML5或者其他基于标记的流程,并且在浏览器环境中运行。这允许对许多不同客户端操作系统环境的容易的支持。
在数据库106中所存储的用户接口数据包括各种类型的对象,其包括诸如图像位图、视频对象、多页文档、可扩展矢量图等的图形构建。设备102各自经由网络104与协作服务器105通信。网络104包括所有形式的网络部件,诸如LAN、WAN、路由器、交换机、WiFi部件、蜂窝部件、有线和光学部件和因特网。在一个场景中,用户101中的两个或两个以上用户101位于相同房间中,并且其设备102经由WiFi与协作服务器105通信。在另一场景中,用户101中的两个或两个以上用户101彼此分离数千英里,并且其设备102经由因特网与协作服务器105通信。墙102c、102d、102e可以是多点触摸设备,其不仅显示图像,而且可以感测通过利用要么光笔要么诸如一个或多个手指的身体的一部分触摸显示表面所提供的用户手势。在一些实施例中,墙(例如102c)可以在一个或多个手指(或者例如整个手)的触摸与光笔的触摸之间进行区分。在实施例中,墙通过发射红外光和检测所接收的光来感测触摸;从用户的手指反射的光具有墙从周围所接收的光区分的特点。光笔以以下方式发射其自身的红外光:墙可以从环境光和从用户的手指所反射的光二者进行区分。墙102c可以例如是垂直和水平地平铺的、由芬兰的赫尔辛基的MultiTouch公司制造的ModelNo.MT553UTBLMultiTactionCells阵列。为了提供各种表达方式,墙102c以其维持“状态”的这样的方式操作。即,其可以取决于(除了其他方面)输入的顺序而对给定输入不同地作出反应。例如,使用工具栏,用户可以选择若干可用的画笔类型和颜色中的任一种。一旦被选择,墙就处于光笔的后续笔画将使用所选择的画笔类型和颜色绘制线条的状态。
在说明性的实施例中,显示阵列可以具有总计大约6英尺高和30英尺宽的可显示区域,其对于多个用户而言足够宽以站在墙的不同部分处并且同时对其进行操纵。然而,可以在多用户场景中限制墙上的表达的灵活性,因为在该实施例中,墙不在不同用户的手指或者由不同用户所操作的光笔之间进行区分。因此,如果一个用户使墙处于一个期望状态,则第二用户将限于使用该相同状态,这是因为墙不具有辨识待不同地处理的第二用户的输入的方式。
为了避免该限制,客户端侧网络节点可以定义墙102c上的“绘制区域”。如本文所使用的,绘制区域是在其内墙的状态的至少一个方面可以独立于墙上的其他区域而改变的区域。在本实施例中,在绘制区域之间可以不同的状态的方面包括使用光笔绘制在墙上的线条的属性。诸如系统对手指触摸行为的响应的状态的其他方面可以不受绘制区域影响。
图2图示了分布式协作系统,其包括可以被链接到地理地分布的若干设施(例如设施1和设施2)并且在其处定位显示客户端的共享服务器105。例如,设施1可以位于纽约,而设施2可以位于洛杉矶。可以存在定位协作系统中的可用的显示客户端的其他物理位置。在该示例中,设施1包括第一房间151、第二房间152和第三房间153。设施2包括第一房间161、第二房间162和第三房间163。设施1中的第一房间151包括使用多个显示器实现的大幅面显示器。设施1中的第二房间152包括单个屏幕、中幅面显示器。设施1中的第三房间153可以是私人办公室或者其他房间,其中,个人计算机或者膝上型电脑可以用作在所选择的工作空间中交互的会话的显示客户端。该图示中的设施2如设施1,并且包括第一房间161、第二房间162和第三房间163。设施2中的第一房间161包括使用多个显示器实现的大幅面显示器。设施2中的第二房间162包括单个屏幕、中幅面显示器。设施2中的第三房间163可以是私人办公室或者其他房间,其中,个人计算机、膝上型电脑、移动平板电脑或者移动电话可以用作用于会话的显示客户端。
图2图示了结合依赖于远程地定位的大幅面或者中幅面显示器(或者墙)的分布式协作系统出现的问题。大幅面和中幅面显示器通常不在单独的用户的排他性控制下。因此,协作服务器105可以不具有关于在任何给定时间具有对白板的访问的人们的信息。
图3图示了墙102c。该示例中的墙是6英尺高和30英尺宽。其初始是默认背景颜色或者图像,并且具有贯穿墙的默认绘制状态。而且,工作空间数据可以定义多个对象301a到301h(统称为对象301),其具有映射到墙的显示区域中的物理位置的工作空间中的位置。对象301可以包括卡,其包括例如在显示区域中渲染的文本、图像或者绘画。此外,对象301可以包括允许用户与卡的内容交互的特征或者使用诸如触摸屏的显示器处的用户接口工具链接到卡的功能。而且,如图3中所图示的,可以将绘制重叠对象302显示在墙的显示区域中。
绘制状态可以是独立于显示在区域中的对象301、302的区域的特征,并且由线条绘制属性定义,其在图3的实施例中包括诸如画笔类型、画笔大小和颜色的线条外观属性。出于示例的目的,可以对系统进行配置,使得当用户101c使用光笔或一个或多个手指(在本文中有时统称为书写用具)触摸墙时,工具栏210出现在附近并且定义绘制区域212。触摸触摸点是有时在本文中被称为“打开用户输入”的一个实施例;其他实施例对于读者而言将是明显的。新定义的绘制区域的初始绘制状态是预定义默认的(诸如画笔类型=墨水、厚度=5mm、颜色=白色),其在各种实施例中可以或者可以不匹配墙的剩余部分的默认状态。在图2的实施例中,贯穿绘制区域应用针对绘制区域所建立的绘制属性。线条绘制对逻辑地在可以运行在计算机系统110上的任何应用程序以上的层中的墙进行操作,而不管程序是否具有墙102C的任何特定区域的所有权。
在图3的实施例中,绘制区域总是填充墙的整个垂直范围,但是在其他实施例中,区域可以是较短的,和/或具有非矩形形状。而且,在图3的实施例中,绘制区域利用左边界214和右边界216可感知地区别;在另一实施例中,其他装置可以被用于对诸如背景阴影的区域进行区别。在又一实施例中,区域界限对于用户而言不是可感知的。假定对左和右足够的空间,客户端计算机系统110可以产生关于用户的触摸点集中的位置的绘制区域。绘制区域具有最小宽度Wmin和理想宽度Wideal。最小宽度优选地被选择为最小的宽度以允许合理地无拘无束的表达,并且在图3的实施例中是4英尺。理想宽度优选地被选择为粗略地等于水平地伸出的平均用户的手臂的最宽跨越度,并且在图3的实施例中是6英尺。
如果在用户的触摸点的任一侧存在大量空间,那么计算机系统110可以将初始区域宽度设定到Wideal。这就是在图3中所图示的场景。如果用户的触摸点离待关于其集中的新绘制区域的墙边缘太近,那么计算机系统110将邻接靠墙边缘的新绘制区域。假定足够的空间是可用的,则新绘制区域将仍然具有宽度Wideal,因此新绘制区域将不关于用户的触摸点集中。另一方面,如果用户的触摸点离墙边缘足够远以创建关于触摸点集中的绘制区域,但是新绘制区域将小于离墙边缘的Wmin,那么墙边缘与新绘制区域之间的间隙空间被认为是不可用的。在这种情况中,计算机系统110将延伸新绘制区域以填充不可用的空间。
出于示例的目的,图4图示了两个用户101c和101d可以同时使用墙的场景。初始地,用户101c在触摸点516处触摸墙102c,并且响应于其计算机系统110利用工具栏510产生绘制区域512。可选地,用户101c然后触摸工具栏510上的控制装置以便改变区域512内的线条外观属性。然后,第二用户101d在触摸点518处触摸墙102c,其处于墙102c背景内(即在所有已有的绘制区域外部)。然后,由计算机系统110利用工具栏520产生第二绘制区域514。如果用户101d在区域514内这时绘制线条,则计算机系统110将利用默认线条属性而不是针对绘制区域512由用户101c先前所设定的那些线条属性对其进行绘画。用户101d然后可选地触摸工具栏520上的控制装置以便改变区域514内的线性外观属性。区域514中绘制的后续线条将然后采取新线条外观属性。区域512的线条外观属性将保持不改变。
还可以使绘制区域自动地跟踪光笔的移动。虽然很多可能的跟踪算法对于读者而言将是明显的,但是跟随这些最小规则的一个将是优选的:(1)只要光笔保持相对靠近区域的中心,区域就不移动;和(2)当光笔接近区域界限时,区域移动使得界限保持在光笔的前面。
绘制区域提供用户交互的一个示例,其可以对本地显示墙有影响,但是不对全局工作空间数据有影响。如该示例中所图示的,对象301、302的位置不受区域内的绘制区域、工具栏和绘制重叠的分配影响。当然,在其他类型的用户接口交互中,可以移动对象301、302的位置,并且这样的移动可以是与全局工作空间数据中的对象有关的事件。
在2013年2月04日提交的题为“REGIONDYNAMICSFORDIGITALWHITEBOARD”共同未决的美国申请第13/758,984号中描述了与基于与本地墙交互的用户输入的解释有关的各种行为,其通过上文引用加以合并。这些行为图示对墙处的用户输入和图像数据的本地处理,其可以由在一些实施例中对协作服务器处所维持的共享工作空间数据很少或者没有影响的本地计算机系统110执行。
图5A-5E表示可以是由协作服务器105处的数据库所维持的工作空间数据的一部分的数据结构。在图5A中,图示了事件数据结构。事件是与可以导致工作空间数据中的变化的工作空间数据的交互。因此,事件可以包括事件标识符、时间戳、会话标识符、事件类型参数、客户端标识符和工作空间中的位置阵列,其可以包括对应的事件中的一个或多个。例如,将期望的是,时间戳具有大约几毫秒的分辨率或者甚至更精细的分辨率,以便最小化针对影响单个对象的竞争事件的竞态条件的可能性。而且,事件数据结构可以包括UI目标,其标识客户端显示器处的触摸屏上的笔画所链接到的工作空间数据中的对象。事件可以包括风格事件,其指示例如笔画的显示参数。事件可以包括文本类型事件,其指示文本对象的工作空间中的条目、修改或者移动。事件可以包括卡类型事件,其指示卡类型对象的工作空间中的创建、修改或者移动。事件可以包括笔画类型事件,其标识笔画的位置阵列和笔画的显示参数,诸如例如颜色和线条宽度。
可以将事件分类为持续的历史事件和短暂事件。用于添加到工作空间数据和在用户之间共享的事件的处理可以取决于事件的分类。该分类可以固有在事件类型参数中,或者附加的标记或者字段可以使用在事件数据结构中以指示分类。
空间事件地图可以包括具有历史事件的条目的事件的日志,其中,每个条目包括诸如在图5A中所图示的结构。服务器侧网络节点包括执行以下步骤的逻辑:从客户端侧网络节点接收承载短暂事件和历史事件的消息,并且在不添加日志中的对应的条目的情况下,将短暂事件发送给其他客户端侧网络节点,并且将历史事件发送给其他客户端侧网络节点,同时将对应的条目添加到日志。
图5B图示了卡数据结构。卡数据结构可以提供属性的高速缓存,其标识工作空间数据中的对象的当前状态信息,包括会话标识符、卡类型标识符、阵列标识符、客户端标识符、卡尺寸、与卡相关联的文件的类型和工作空间内的会话位置。
图5C图示了将若干事件和对象合并到可捕集合(被称为数据块)的数据结构。数据结构包括会话ID和包括在数据块中的事件的标识符和在其处创建数据块的时间戳。
图5D图示了用于链接到参加所选择的工作空间中的会话的用户的数据结构。该数据结构可以包括访问令牌、针对会话显示客户端的客户端标识符、链接到显示客户端的用户标识符、指示用户访问会话的最后时间的参数,以及终止时间和用于承载关于会话的各种信息的cookie。该信息可以例如维持针对用户的工作空间内的当前位置,其可以在用户登录的每次用于确定工作空间数据,以在登录关联到的显示客户端处进行显示。
图5E图示了显示阵列数据结构,其可以使用在与通过各自具有显示客户端的联合显示器实现的大幅面显示器相关联中。这样的联合显示器中的显示客户端合作以充当单个显示器。工作空间数据可以维持显示阵列数据结构,其通过阵列ID标识显示器阵列,并且标识每个显示器的会话位置。每个会话位置可以包括联合显示器的区域内的x轴偏移和y轴偏移、会话标识符和深度。
系统可以加密与客户端侧网络节点的通信,并且可以加密在其中存储空间事件地图的数据库。此外,在客户端侧网络节点上,在一些实施例中,对空间事件地图的高速缓存的副本进行加密以防止得到对客户端计算机的访问的入侵者对数据的未授权的访问。
图6是表示用于创建、修改、分布和显示工作空间的工作空间数据的分布式协作系统的功能架构的示图。基本配置包括管理由诸如服务器105的服务器所执行的事件数据的协作服务601、可以由诸如服务器105的服务器执行或者位于诸如对等网络节点的服务器可访问的其他计算机系统中的门户服务602和位于客户端侧网络节点处的显示客户端603,在该客户端侧网络节点处,用户交互是活动的。显示客户端603与协作服务601和门户602通信。显示客户端603与协作服务601之间的通信信道613管理会话历史的下载和会话事件的实况更新。此外,跨越该信道613,显示客户端603可以将可以与事件相关联的图像上载到协作服务601。显示客户端603跨越通信信道623与门户602通信。门户602管理针对工作空间数据、会话管理和用户管理的主页。该门户可以被用于用户登录、验证,并且用于将图像文件等作为备选方案递送给通信信道613或者与其平行。协作服务601和门户602跨越信道612通信。协作服务601和门户602管理验证和授权协议,并且协调会话管理和工作空间数据管理。
显示客户端603可以是包括具有存储在可访问的存储器中的计算机程序的物理或者虚拟计算机系统的客户端侧网络节点,其提供支持协作会话的逻辑,包括HTML5客户端、用于显示阵列实现方案的墙阵列协作逻辑、工作空间数据解析搜索和渲染逻辑以及管理与服务器和显示墙处的工作空间数据的实况交互的会话事件应用。
门户602可以是包括具有存储在可访问的存储器中的计算机程序的物理或者虚拟计算机系统的服务器侧网络节点的一部分,其提供支持对协作服务器的用户访问的逻辑。该逻辑可以包括用于为用户提供初始进入点诸如具有登录资源的网页的应用、用于管理用户账户和会话预期的逻辑、用于提供验证服务诸如基于OAuth(开放授权)的服务的逻辑以及账户数据的逻辑。
协作服务601可以是服务器侧网络节点的一部分,并且可以管理会话事件数据、协调在客户端之间更新的事件、将可捕历史和图像递送给客户端和控制对在工作空间数据中的所存储的数据库的访问。
图7图示了用于基于利用联合控制由多个显示器701-704所实现的显示器实现显示墙的可选的技术。在该示例中,每个显示器701-704与对应的显示客户端711-714相关联。每个显示客户端可以执行用于渲染来自显示区域上的工作空间的对象的浏览器,其具有与多个显示器中的每个显示器相对应的显示区域的多个子集。每个显示客户端可以被配置为例如通过存储偏移参数(例如针对显示器701的0,0;针对显示器702的0,1;针对显示器703的1,0;和针对显示器704的1,1)来管理针对会话的显示区域的子集中的显示器。
显示客户端711-714中的每个显示客户端可以维持与协作服务器105的通信信道721-724,其进而耦合到工作空间数据库106。协作服务器105和/或客户端可以维持针对每个授权用户的工作空间内的用户位置。当授权用户登录并且已经选择诸如在图7中示出为显示画布的显示器阵列时,协作服务器可以将显示客户端711-714中的每个显示客户端链接到与会话和用户相关联的组中。协作服务器可以然后将工作空间内的当前用户位置下载到组中的显示客户端中的每个显示客户端的可显示区域或者画布。该组中的显示客户端可以独立地应用其偏移参数以标识映射到由偏移参数所指示的工作空间的子集上的会话位置。备选地,协作服务器可以通过根据阵列特点向每个客户端递送当前用户位置作为偏移,来管理与显示客户端711-714中的每个显示客户端通信的偏移计算。
为了支持多个显示器之间的单个显示器的协调,显示客户端711-714中的每个显示客户端还可以利用本地于显示区域的管理的事件与其他显示客户端中的每个显示客户端通信,并且其对全局工作空间数据没有影响。备选地,显示客户端711-714可以仅与协作服务器105通信,其可以然后将本地事件引回到与会话相关联的显示客户端组,并且将全局事件引到与工作空间活动会话的所有显示客户端和存储工作空间数据的数据库。
包括联合显示器的单个显示器处的显示客户端可以是耦合到对应的显示器的所实现的单独的计算机系统,或者可以使用具有耦合到对应的显示器的虚拟机的单个计算机系统来实现。
此外,单个显示器驱动程序可以被配置为控制被布置为单个显示墙的物理显示器的集合的整个表面。
空间事件地图系统可以包括在包括任何数目的物理和虚拟机的客户端和服务器侧资源的协作中执行的API。以下描述了API的一个示例。API可以以各种方式定义,同时包括支持(一个或多个)服务器侧网络节点中的空间事件地图的维护并且支持空间事件地图与一个或多个活动客户端侧网络节点的共享的元件。在该示例中,API在该示例中被分解为由两个服务器所管理的过程:
套接字请求服务器(SocketRequestsServer)(网络套接字(Websockets))-被于利用曾经连接的相关数据(新笔画、卡、客户端等)更新客户端。还处理初始连接握手。
服务请求服务器(ServiceRequestsServer)(HTTP/REST)-用于可高速缓存的响应以及公布数据(即图像和卡)
客户端侧网络节点根据API进行配置,并且包括对应的套接字请求客户端和服务请求客户端。
套接字请求:
套接字服务器可以执行经由Websocket维持连接的网络协议。在API中所使用的消息可以封装在WebSocket协议内。消息可以是单独的UTF-8编码的JSON阵列。
可以经由服务器请求服务器使用HTTP请求而不是支持高速缓存的websocket完成包括客户端侧网络节点处的协作会话的空间事件地图的全部或者部分的历史的初始加载。
套接字连接
http://localhost:4545/<sessionId>/socket?device=<device>
sessionId--(字符串)要加入的会话的id
device--(字符串)设备类型,诸如墙或者台式电脑
消息结构
每个阵列的第一元素是sender-id,其指定发起消息的客户端。sender-id在服务器上的所有会话之间是唯一的。从服务器发送到客户端的id和cr消息使其sender-id设定到默认值,诸如-1。每个消息阵列的第二元素是双字符代码。该代码定义阵列中的剩余的参量以及预期的动作。利用为-1的sender-id发送的消息是起源于服务器的消息。
有效消息类型
以下是由本文中的API示例所支持的消息。这些消息中的许多消息采取以下参数:
sender-id:--发送消息的客户端的ID,或者如果消息起源于服务器,则为-1。
客户端ID请求:
//服务器<--客户端["id",sessionId,zoomLevel,x1,y1,x2,y2]
该请求可以被用于使能与套接字API交互。
该请求开始异步client-id请求/响应握手。下一区段解释新客户端(包括所提供的客户端ID)的异步确认。
SessionId--(字符串)要加入的工作空间的id
zoomLevel--(整数)由该客户端所期望的缩放级别
x1,y1(整数,可选的)用户视口的期望的原点
x2,y2(整数,可选的)用户视口的期望的范围点
不存在利用该消息发送的sender-id。
该消息中所发送的zoomlevel(缩放级别)是客户端的优选的缩放级别。如果客户端加入空显示器阵列(经由“id”消息),则客户端的优选的缩放级别变为显示器阵列的初始缩放级别。如果客户端加入现有的显示器阵列,则忽略其id消息中所发送的优选的缩放级别,并且(在av消息中)发送与现有的显示器阵列相关联的缩放级别。
客户端ID响应
//服务器-->客户端[-1,"id",client-id]
要求客户端存储经分配的客户端ID以在后续套接字请求中使用。
通知新客户端其ID。在这种情况中,sender-id被设置为-1
client-id--(字符串)新加入的客户端的ID
加入房间
//服务器<--客户端[sender-id,"jr",room-id,[data]][sender-id,"jr","lobby"][sender]
通过客户端通知尝试的服务器以加入房间
room-id--可以包含大厅或者会话中的一个
data--是参量的通配符集,其应当用于初始化房间。
房间数据参量:
会话要求包含会话的id的“session-id”。阵列要求:
arrayId(字符串)显示器阵列的id
x(整数)该显示器的x轴偏移
y(整数)该显示器的y轴偏移
width(整数)该显示器的宽度
height(整数)该显示器的高度
服务器将回复“room”消息作为响应。
房间加入响应
//服务器-->客户端[-1,"room",[room-id],[databag]][-1,"room","lobby",{pin:pin}]
room-id--包含以下之一:大厅或者会话
databag--是变量的特定房间包
大厅提供:
pin--包括用于墙验证的引脚
会话提供:
sessionName--包含会话的名称
房间列表响应
//服务器-->客户端[-1,"rl",roomMembershipList]
通知客户端房间成员。房间成员包括关于拜访与你相同的房间的客户端的信息。
roomMembershipList--(房间成员对象的阵列)
会话请求:
//服务器<--客户端[sender-id,"sr"]
通知服务器客户端想要可加入的活动会话的列表。
会话列表:
//服务器-->客户端[-1,"sl",sessionList]
通知客户端可加入的活动会话。
SessionList--(字符串数组)
对象ID预订:
使用此创建新唯一对象id,其对于创建创建对象的新历史事件是可接受的。
//服务器<->客户端[sender-id,"oid"]
服务器做出响应:
[-1,'oid',<new-object-id>]
历史事件
将所有持续事件发送为HistoryEvent(历史事件)。这包括:**移动窗口**设置文本**删除窗口**创建窗口。
将HistoryEvent写到会话的历史并且在检索历史时返回。
将HistoryEvent发送到没有eventId的服务器。服务器分配eventId并且将事件广播给所有客户端(包括发起客户端)。
可以使用oid消息来保留新对象id。
基本消息格式
//服务器<--客户端[client-id,"he",target-id,event-type,event-properties]
client-id--(字符串)发起客户端的ID
target-id--(字符串)与该事件相关的目标对象/小工具/应用的ID
event-type--(字符串)任意事件类型
properties--(对象)描述事件的相关键/值的JSON对象
//服务器-->客户端[client-id,"he",target-id,event-id,event-type,event-properties
client-id--(字符串)发起客户端的ID
target-id--(字符串)与该事件相关的目标窗口的ID
event-id--(字符串)数据库中的事件的ID
event-type--(字符串)任意事件类型
properties--(对象)描述事件的相关键/值的JSON对象
示例交互:移动对象
图示持续事件/短暂事件分类中的一些的良好示例将移动对象。尽管对象将通过拖动移动或者例如调整大小,但是将一系列短暂事件(被称为“易失性事件VE”)发送给服务器,并且重新广播给会话中的所有客户端。一旦用户完成移动对象,则客户端应当发送历史事件以指定对象的矩形和顺序。
["511d6d429b4aee0000000003","he","511d6f9c9b4aee0000000039","position",{"rect"}…
服务器将对新持续的HE记录做出响应。注意,包括记录的eventId。
//服务器->客户端“he”的格式是:[<clientId>,<messageType>,<targetId>,<eventId>,
注意:eventId还将被包括在经由HTTPAPI取得的历史中。
对象/应用类型的历史事件
会话
Create--将注解或者图像添加在工作会话上
stroke--将笔或者橡皮笔画添加在背景上
注解
text--设定或者更新注解的文本和/或本文格式化
delete--从工作会话移除注解
position--更新工作会话中的注解的大小或者位置
pin--钉住或者拔掉注解
stroke--将笔或者橡皮笔画添加在图像的顶部上
图像
delete--从工作会话移除注解
position--更新工作会话中的注解的大小或者位置
pin--钉住或者拔掉注解
stroke--将笔或者橡皮笔画添加在图像的顶部上
历史事件细节
文本
设置和设计注解的文本。文本属性和风格属性二者是可选的。
//服务器<--客户端[client-id,"he",target-id,"text",{"text":"abcdef",
创建
当服务器接收到卡创建(cc)消息或者图像上载时,向客户端发送。
为了创建消息,target-id是session-id。
//服务器-->客户端[client-id,"he",session-id,event-id,"create",
{"id":"5123e7ebcd18d3ef5e000001"
属性
id--(整数)窗口的唯一标识符
baseName--(字符串)背景图像文件名称
ext--(字符串)背景图像文件扩展
rect--(对象)窗口的位置
actualWidth--(整数)背景图像宽度
actualHeight--(整数)背景图像高度
order--(整数)z顺序
type--(字符串)针对可以具有文本的对象的“注解”,针对其他对象的“图像”
regionId--(字符串)画布区域,如果在画布区域中创建对象
hidden--(布尔)无论当前是否隐藏窗口
删除
被用于使窗口从会话消失删除是能取消的动作
//服务器<--客户端[client-id,"he",target-id,"delete",{"hidden":true}]//服务器-->
位置
被用于在移动、提交或者调整大小之后保存窗口的位置
//服务器<--客户端[client-id,"he",target-id,"position",{"rect":[-1298,-390,-1018
属性
rect--(对象)目标窗口的位置
order--(整数)目标窗口的z顺序
笔画
用于保存笔画
/服务器<--客户端[client-id,"he",target-id,"stroke",{"size":10,"brush":
属性
locs(阵列)格式中的笔画位置:[10,1,10,2,12,3],其中在阵列中对坐标进行配对[x,y,x,y,x,y]
引脚
向客户端发送以将注解或者图像钉住在原位或者移除现有的引脚。不能移动或者调整大小被钉住的窗口,直到其拔掉。
//服务器-->客户端[client-id,"he",session-id,event-id,"pin",{"pin":true}]
属性
pin--(布尔)真是钉住,假是拔掉
易失性事件
易失性事件是未记录在取消/回放事件流中的短暂事件,因此其对于像拖动屏幕周围的卡的进行中的流事件是良好的,并且一旦用户抬起其手指,HistoryEvent用于记录其最终地点。
//服务器<-->客户端[client-id,"ve",target-id,event-type,event-properties]
client-id--(字符串)发起客户端的ID
target-id--(字符串)与该事件相关的目标窗口的ID
event-type--(字符串)任意事件类型
properties--(对象)描述事件的相关键/值的JSON对象
对象/应用类型的易失性事件
会话
sb--开始笔画。用于渲染一个客户端上的笔画,同时将其绘制在另一客户端上。
sc--通过提供包括的另一点,继续先前开始的笔画。用于渲染笔画,同时将其绘制在另一客户端上。
se--结束先前开始的笔画
注解
fling--动画绘制从工作会话中的一个地点滑动到另一地点的注解。这是用户对弹开或者投掷动作的视觉响应。
position--在其由另一用户移动时,实况更新注解的位置。
sb--开始笔画被用于渲染一个客户端上的笔画,同时将其绘制在另一客户端上。
sc--通过提供包括的另一点,继续先前开始的笔画。用于渲染笔画,同时将其绘制在另一客户端上。
se--结束先前开始的笔画。
图像
fling--动画绘制从工作会话中的一个地点滑动到另一地点的图像。这是用户对弹开或者投掷动作的视觉响应。
position--在其由另一用户移动时,实况更新图像的位置。
sb--开始笔画被用于渲染一个客户端上的笔画,同时将其绘制在另一客户端上。
sc--通过提供包括的另一点,继续先前开始的笔画。用于渲染笔画,同时将其绘制在另一客户端上。
se--结束先前开始的笔画。
易失性事件的类型
投掷
用于将投掷动作广播给所有所连接的客户端。
//服务器<-->客户端[client-id,"ve",target-id,"fling",{"velocityX":10,"velocityY"
属性
velocityX(整数)投掷矢量的x分量
velocityY(整数)投掷矢量的y分量
position-ve
用于广播窗口移动的中间步骤
//服务器<-->客户端[client-id,"ve",target-id,"position",{"rect":[-1298,-390,-1018
属性
rect(对象)目标窗口的位置
order(整数)目标窗口的z顺序
sb:
用于广播笔画的开始
//服务器<-->客户端[client-id,"ve",target-id,"sb",{"brush":1,"size":2,"color"
属性
x,y(整数)该笔画的开始点
strokeId--(字符串)新笔画的ID
sc:
//服务器<-->客户端[client-id,"ve",target-id,"sc",{"x":100,"y":300,"strokeId"
用于广播笔画的继续
属性
x,y(整数)笔画的新终点
strokeId--(字符串)新笔画的ID
sc:
//服务器<-->客户端[client-id,"ve",target-id,"se","strokeId":
"395523d316e942b496a2c8a6fe5f2cac"
结束由stroke-id所指定的笔画
stroke-id(字符串)所继续的笔画的ID
删除笔画:
//服务器-->客户端[sender-id,"sd",stroke-id,target-id]
删除笔画。
stroke-id(字符串)笔画的ID
target-id(字符串)笔画目标的ID
取消:
取消最后的能取消的动作(移动、设置文本、笔画等)
//服务器<--客户端
[sender-id,"un"]//服务器-->客户端
[client-id,'undo',target-
取消示例:移动窗口并且然后取消该移动
以下示例示出移动,并且如何取消该移动。
//客户端发送移动并且然后发送取消消息。
服务器从会话历史移除移动的历史事件并且通知客户端该记录将不再是会话的空间事件地图的一部分,这将其从历史时间线取出。经由HTTPAPI的历史的另外的请求将不包括取消事件(直到重做之后)。
显示阵列尺寸:
//服务器-->客户端[-1,"dd",arrayId,width,height]
通知客户端对总体显示阵列宽度和高度的改变。这可以不由具有管理空间事件地图的部分的局部显示的资源的客户端侧网络节点利用。
arrayID--(字符串)显示阵列的ID
width,height--(整数)像素中的显示阵列的宽度和高度
平移阵列:
//客户端-->服务器[sender-id,"pa",newArrayOffsetX,newArrayOffsetY]
通知服务器对新位置的平移。
newArrayOffsetX,newArrayOffsetY(整数)在平移之后显示阵列的新位置。
会话改变:
//服务器-->客户端[sender-id,"cs",sessionId]
通知显示阵列中的兄弟节点已经改变会话。
sessionId(字符串)是切换的会话的id
缩放改变:
//客户端--服务器[sender-id,"zc",zoomLevel,zoomCenterX,zoomCenterY]
通知服务器请求zoom。
zoomLevel(整数)从1到11的转变的缩放级别
zoomCenterX(整数)缩放的原点的x坐标
zoomCenterY(整数)缩放的原点的y坐标
地图模式改变:
//客户端-->服务器
[sender-id,"mm",zoomLevel,zoomCenterX,zoomCenterY]
通知服务器请问地图模式(map-mode)。表面地,这同等地靠近缩放改变消息操作,除在几十或几百个缩放改变消息旨在利用图形处理中的其之间的渐变发送速射的情况外,地图模式消息旨在用于具有不同转场效果的单个缩放快拍。
zoomLevel(整数)转变的缩放级别,从1到11
zoomCenterX(整数)缩放的原点的x坐标
zoomCenterY(整数)缩放的原点的y坐标
创建卡
//服务器<--客户端
[sender-id,"cc",templateId,regionId,x,y,x2,y2]
templateId--(字符串)要使用的卡模板的id
regionId--(字符串)发起事件的画布区域id(如果有的话)
x,y,x2,y2--(整数)针对新卡的期望的矩形
用户许可
//服务器-->客户端[sender-id,"up",permissions]
许可许可类型和真/假的散列以指示所验证的用户是否具有该许可。目前,仅许可是指示可以与他人共享会话的用户的“can_share”。
保存位置:
//客户端-->服务器[-1,"sp",zoomLevel,x,y]
保存当前屏幕位置。一旦重新连接,则客户端将接收将其发送回到该位置的“zc”(缩放改变)和“pa”(平移阵列)消息。
zoomLevel(整数)设备当前处于的缩放级别
x(整数)屏幕的原点的x坐标
y(整数)屏幕的原点的y坐标
笔画ID
通过客户端选择笔画ID。目前,其是利用通过点分离的渐增整数组成的sender-id。这是使其在所有客户端之间的服务器环境内唯一。
目标ID
笔画可以附接到会话中的特定目标,比如漂浮在主要画布以上的子画布(被称为“卡”)。在属于卡的笔画的情况中,目标ID字段将包含卡ID。通过使其目标ID与会话名称相同指派针对会话中的主要画布所预定的笔画。
建立连接
当客户端与服务器建立新websocket连接时,服务器首先选择唯一客户端ID并且在“id”消息中将其发送给客户端。其然后发送具有设置为1的senderid的“pa”消息。
然后,代表性流动用于客户端执行(下文记录的)HTTPGET“/:sessionId/objects”以接收关于会话中的卡的信息。然后,客户端请求(下文也记录的)"/:sessionId/history",其接收历史url的阵列。这些分解为分批以改进高速缓存能力。然后,客户端得到(GET)未存储在本地高速缓存中的每个url,并且服务器将回复那些历史分批的笔画数据。
服务请求
历史:
得到历史书签的列表。每个书签是所高速缓存的笔画历史的平移。
curlhttp://localhost:4545/<sessionId>/history
sessionId
你将得到历史的会话的名称
响应头部
HTTP/1.1200OKX-Powered-By:ExpressAccess-Control-Allow-Origin:*Access-Control-Allow-Headers:
响应
["/<sessionId>/history/<startTime>/<endTime>?b=1"]
["/<sessionId>/history/<startTime>/<endTime>?
sessionId--(字符串)切换到的会话的id
startTime--(整数)开始时间戳
endTime--(整数)结束时间戳
b--高速缓存破坏者
检索历史块:
得到开始时间与结束时间之间的历史。针对每个所返回的历史的平移所需要做出请求。
curlhttp://localhost:4545/<sessionId>/history/<startTime>/<endTime>?b=<cache-buster>
sessionId你将得到历史的会话的id
startTime如由初始历史请求所提供的开始时间
endTime如由我的初始历史请求所提供的结束时间
cacheBuster无论何时客户端存储的高速缓存不再有效将改变的简单密钥。
响应头部
HTTP/1.1200OKX-Powered-By:ExpressAccess-Control-Allow-Origin:*Access-Control-Allow-Headers:X-Requested-WithContent-Type:application/json
Content-Length:2134
ETag:1346968307576
Date:Fri,14Sep201217:35:14GMT
Connection:keep-alive
响应
(参见sx“笔画完成”websocket消息的文档)
检索对象:
得到针对所请求的会话的对象(卡/图像)。
curlhttp://localhost:4545/<sessionId>/objects
sessionId你将得到历史的会话的id
响应头部
HTTP/1.1200OK
X-Powered-By:Express
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:X-Requested-WithContent-Type:application/json;charset=utf-8
Content-Length:285
Date:Fri,14Sep201217:35:14GMT
Connection:keep-alive
响应
卡模板:
得到用于创建高速缓存的可重新使用的卡的全局卡模板的列表。这与上载文件不同,因为相同的背景图像用于利用该模板创建的所有卡。
curlhttp://localhost:4545/card_templates.json
响应
这些值可以被用于发送创建卡消息:
//使用上文的粉红模板创建新卡
["cc","50901cb0b9a18c190902a938",<regionIdOrNull>,<x>,<y>]
上载:
向要放置在会话中的服务器发送图像。
curl-F"file=@photo.JPG"-F"x=236"-F"y=832"-F"clientId=10"-F"sessionId=cardFling"
-F"arrayId=10"-F"order=23"-F"x2=899"-F"y2=1495"-F"filename=photo.jpg"
http://localhost:4545/<sessionId>/object/upload
参数
x:下降的x位置
y:下降的y位置
clientId:客户端Id
sessionId:会话Id
arrayId:数组标识符
order:z顺序
x2:下降的右下角的x位置
y2:下降的右下角的y位置
文件名称:所上载的文件的名称
上文所描述的API提供一个示例消息结构。也可以利用其他机制,如适合于特定实现方案那样。
如参考图6所建议的,在协作系统的实施例中,应用程序接口API由协作服务器105和显示客户端基于每个显示客户端的两个通信信道执行。
在一些实施例中,可以部署联合显示器。在联合显示器中,显示客户端711-714中的每一个显示客户端可以利用服务器独立地维持两个信道。第一信道是被配置用于关于实况事件的通信的基于消息的系统。在一个示例中,该第一信道利用协作服务601使用Websocket信道之上的socket请求的集合实现,并且一旦连接,则利用相关数据(新笔画、卡、客户端等)更新客户端。基于消息的信道还可以处理初始连接握手。第二信道是具有门户602的更无状态类型链接诸如nHTTP/REST接口,其可以被用于可高速缓存以及发布数据(即图像和卡)。而且,可以使用HTTP请求而不是支持高速缓存的基于消息的信道(Websocket)完成将工作空间数据初始加载到显示客户端。
图8是可以被用于实现分布式协作系统中的客户端侧功能(例如计算机系统110)或者服务器侧功能(例如服务器105)的计算机系统或者网络节点的简化框图。计算机系统通常包括处理器子系统1014,其经由总线子系统1012与许多外围设备通信。这些外围设备可以包括存储子系统1024,其包括存储器子系统1026和文件存储子系统1028、用户接口输入设备1022、用户接口输出设备1020和网络接口子系统1016。输入和输出设备允许用户与计算机系统交互。通信模块1016为外部网络的接口(包括通信网络104的接口)提供物理和通信协议支持,并且经由通信网络104耦合到其他计算机系统中的对应的通信模块。通信网络104可以包括许多相互连接的计算机系统和通信链接。这些通信链接可以是有线链接、光链接、无线链接或者用于信息传递的任何其他机制,但是通常地其至少在其末端处是基于IP的通信网络。尽管在一个实施例中,通信网络104是因特网,但是在其他实施例中,通信网络104可以是任何适合的计算机网络。
网络接口的物理硬件部件有时被称为网络接口卡(NIC),但是其不需要以卡的形式:例如其可以以集成电路(IC)和直接适配到主板上的连接器的形式,或者以利用计算机系统的其他部件制作在单个集成电路芯片上的宏单元的结构。
用户接口输入设备1022可以包括键盘、指点设备(诸如鼠标)、轨迹球、触摸板、或者图形输入板、扫描器、合并到显示器中的触摸屏(包括大幅面数字显示器102c的触敏部分)、音频输入设备,诸如语音标识系统、麦克风和其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括将信息输入到计算机系统中或者到计算机网络104上的所有可能类型的设备和方式。
用户接口输出设备1020可以包括显示子系统、打印机、传真机或者诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或者用于创建可见图像的某种其他机制。在图1B的实施例中,其包括大幅面数字显示器102c的显示功能。显示子系统还可以诸如经由音频输出设备提供非视觉显示器。一般而言,术语“输出设备”的使用旨在包括将信息从计算机系统输出给用户或者另一机器或者计算机系统的所有可能类型的设备和方式。
存储子系统1024存储基本编程和数据构造,其提供本发明的特定实施例的功能。
当存储子系统1024用于服务器侧网络节点的实现方式时,存储子系统1024包括包括存储包括定位工作空间中的事件的空间事件地图的机器可读数据结构的非瞬态计算机可读介质的产品,其中,空间事件地图包括事件的日志,日志中的条目具有工作空间中的事件的图形目标的位置和时间。此外,存储子系统1024包括包含用于执行与服务器侧网络节点相关联的本文所描述的流程的可执行指令的产品。
当存储子系统1024用于客户端侧网络节点的实现方式时,存储子系统1024包括包括存储包括以定位工作空间中的事件的如下文所解释的高速缓存的副本的形式的空间事件地图的机器可读数据结构的非瞬态计算机可读介质,其中,空间事件地图包括事件的日志,日志中的条目具有工作空间中的事件的图形目标的位置和时间。此外,存储子系统1024包括包含用于执行与客户端侧网络节点相关联的本文所描述的流程的可执行指令的产品。
例如,实现本发明的特定实施例的功能性的各种模块可以被存储在存储子系统1024中。一般地,由处理器子系统1014执行这些软件模块。
存储器子系统1026通常包括多个存储器,其包括用于在程序执行期间指令和数据的存储的主随机存取存储器(RAM)1030和在其中存储固定指令的只读存储器(ROM)1032。文件存储子系统1028为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器连同相关联的可移除媒体、CDROM驱动器、光盘驱动器或者可移除媒体盒。实现本发明的特定实施例的功能的数据库和模块可以已经提供在计算机可读介质(诸如一个或多个CD-ROM)上,并且可以通过文件存储子系统1028存储。除了其他方面,主存储器1026还包含计算机指令,其当由处理器子系统1014执行时使得计算机系统操作或者执行如本文所描述的功能。如本文所使用的,响应于主存储器子系统1026中的计算机指令和数据,运行在“主机”或者“计算机”中或其上的过程和软件在处理器子系统1014上执行,该主存储器子系统1026包括用于这样的指令和数据的任何其他本地或者远程存储。
总线子系统1012提供用于让计算机系统的各种部件和子系统根据意图彼此通信的机制。虽然总线子系统1012示意性地示出为单条总线,但是总线子系统的备选实施例可以使用多条总线。
计算机系统自身可以具有变化的类型,包括个人计算机、便携式计算机、工作站、计算机终端、网络计算机、电视、大型机、服务器群或者任何其他数据处理系统或者用户设备。在一个实施例中,计算机系统包括多个计算机系统,每个控制组成大幅面显示器102c的图块之一。由于计算机和网络的不断改变的属性,出于图示本发明的优选实施例的目的,图8中所描绘的计算机系统110的描述旨在仅作为特定示例。具有比图8中所描绘的计算机系统更多或者更少的部件的计算机系统的许多其他配置是可能的。相同部件和变型还可以组成图1的协作环境中的其他设备102中的每一个设备102,以及协作服务器105和显示器数据库106。
关于数字显示器102c上的活动的绘制区域的特定信息存储在对显示客户端的计算机系统110可访问的数据库中。数据库可以在不同实施例中采取许多形式,包括但不限于MongoDB数据库、XML数据库、关系数据库或者面向对象数据库。图9是图示数据库包含的特定信息和数据之间的特定关系的示意图。
在本文所描述的实施例中,每个绘制区域被认为是工具栏的子代。墙背景上的点的触摸产生工具栏,其进而产生绘制区域(但是工具栏不一定是可见的,直到绘制区域打开)。类似地,为了关闭绘制区域,用户触摸绘制区域的工具栏上的“关闭”图标。因此,在图9中,数据库头部标有一个或多个工具栏ID1110。每个工具栏ID1110包括或者表明数据的相应的块1112,其指示工具栏的水平位置、工具栏的绘制区域的左边缘的水平位置与绘制区域的宽度和绘制区域的绘制属性的集合。应当理解,许多变型是可能的,诸如指定绘制区域的右边缘位置而不是左边缘位置和指定相反的边缘位置而不是绘制区域宽度。工具栏位置仅具有水平值,这是因为在实施例中,其总是保持在相同垂直位置处。在另一实施例中,可以指定水平和垂直位置二者。
绘图属性包括或者表明各自与一个或多个值相关联的绘制属性阵列1114。图9中的绘制属性包括画笔类型,其值可以例如指示“涂料”、“墨水”、“蜡笔”、“标志”或者“橡皮”,其中的每一个在绘制在显示器102c上时具有不同的外观特征。图9中的绘制属性还包括画笔宽度,其可以采取可用值的范围内的任何值。图9中的绘制属性还包括画笔颜色,其具有三个相关联的值:红色、绿色和蓝色内容。如本文所使用的,三个属性画笔类型、画笔宽度和画笔颜色被认为构成“线条外观属性”。在各种实施例中,绘制属性1114还可以包括其他属性,诸如影响其线条的位置或者线条的一部分的位置的那些属性。这些属性可以包括诸如圆角半径或者贝塞尔曲线参数的属性。如图11中可见,不存在针对不同绘制区域的绘制属性(包括线条外观属性)相同的要求。其可以独立于彼此建立,因此不需要其是相同的。在典型的情况中,其将不是相同的。
为了在显示器102c上绘制线条,用户提供“绘制用户输入”,其指示线条的绘制。尽管其他实施例可以允许用户利用手指绘制,但是在图1的实施例中,仅光笔可以被用于指示线条的绘制。直观地,用户因此通过在绘制区域内使光笔接触到显示器102C表面并且沿着线条所期望的位置拖动光笔指示。通过将光笔从显示器102c表面抬起指示线条绘制操作的结束。本地计算机系统110根据用户输入确定线条上的点将位于何处,并且将其显示在显示器102c上。计算机系统110还将笔画信息发射到协作服务器105(图1B),其将其写入其显示器数据库106中并且将其发射回到共享会话的各种设备102中。然后,设备102中的每个设备102可以显示线条(只要线条和设备的视口相交),因此所有这样的设备102将同时粗略地示出线条。
图10-14是图示由服务器、显示客户端或者二者执行的逻辑的流程图。可以使用使用存储在对计算机系统可访问的存储器中,并且由处理器、包括现场可编程集成电路的专用逻辑硬件和专用逻辑硬件和计算机程序的组合可执行的计算机程序编程的处理器实现该逻辑。关于本文中的所有流程图,应当理解,可以在不影响所实现的功能的情况下组合、并行执行或者以不同的顺序执行许多步骤。在一些情况中,如读者将理解到,只要也做出某些其他改变,则步骤的重新布置将实现相同的结果。在其他情况中,如读者将理解到,只要满足某些条件,则步骤的重新布置将实现相同的结果。此外,应当理解,本文中的流程图仅示出与本发明的理解有关的步骤,并且应当理解,可以在所示的那些步骤之前、之后和之间执行用于完成其他功能的多个附加步骤。
图10图示了当用户加入会话作为永久工作空间的一部分时执行在服务器侧上的基本逻辑。流程图以用户的登录开始(1210),在1210中,用户可以通过由用户处理的设备将用户标识符输入网络门户访问中,诸如个人计算机、触摸板、智能电话等。然后,执行用户验证协议(1212),其中协议例如可以包括要求用户输入个人密码以核实用户实际上是已经录入用户标识符的人。然后,使用例如门户机器,协作服务器可以将链接呈现给其中所验证的用户被授权加入的工作空间(1214)。然后,协作服务器可以针对用户确定所选择的显示客户端和所选择的工作空间。可以通过用户拥有的机器与使用在其上执行验证协议的通信信道的门户之间的消息的交换做出该确定。当标识显示客户端和工作空间时,协作服务器可以使得显示客户端能够下载针对所选择的工作空间的数据(1218)。而且,协作服务器可以将客户端添加到所选择的协作的实况事件信道(1220)。
图11图示了当用户加入工作空间时执行在客户端上的基本双信道逻辑。流程图以执行在第一信道上的用户的登录开始(1230),在1230中,用户可以输入用户标识符并且将其传输给网络门户。然后,执行用户验证协议(1232)。用户然后使用在其上执行验证协议的通信信道打开门户处的页面,其显示授权工作空间的链接(1234)。然后,用户使用第一信道来输入标识所选择的工作空间和待使用在当前会话中的显示客户端的数据(1236)。在服务器使能所选择的显示客户端之后,用户活动可以转移到显示客户端与服务器之间的信道,其然后可以下载针对所选择的会话的工作空间数据(1238)。显示客户端可以然后遍历工作空间数据并且构造由显示客户端所管理的显示区域的图像(1240)。此外,显示客户端可以然后加入实况事件信道(1242)。客户端侧网络节点和服务器侧网络节点可以建立用于在会话的建立期间空间事件地图数据的加密和解密的协议。
在一个示例中,下载工作空间数据的过程包括:向每个显示客户端递送针对会话的事件对象。包括工作空间数据,可以提供当前用户位置。备选地,跟随有标识显示客户端如何计算与默认位置(诸如工作空间数据的中心处)偏移的消息的顺序,可以将工作空间数据递送给与用户相关联的当前位置。然后,每个显示客户端可以遍历事件对象以标识具有会话位置的那些对象,该会话位置映射到由显示客户端所管理的显示区域。遍历事件对象的逻辑可以包括例如R-TREE搜索,其被配置为找到映射到显示区域的工作空间中的对象。然后,可以渲染所标识的对象,可能与门户通信以获得与由显示器所管理的显示区域上的对象有关的数据。
图12图示了与下载工作空间数据有关的客户端上的基本逻辑。逻辑以从协作服务器的工作空间下载数据开始(1250)。显示客户端渲染处于用户焦点周围的显示客户端的范围内的对象(1252),其中根据可以由服务器提供或者在客户端侧网络节点处维持的工作空间内的位置确定用户焦点。显示客户端保持工作空间数据或者工作空间数据的至少一部分,其包括具有靠近用户焦点的工作空间数据中的当前位置的对象。在会话期间,响应于用户输入或者其他数据,显示客户端遍历工作空间中的位置以确定工作空间中的当前位置(1254)。然后,显示客户端渲染所遍历的位置周围的范围内的对象(1256)。在会话的结束处,由显示客户端所映射的工作空间内的最后的位置保存为协作服务器上的用户位置(1258)。
图13图示了由用于管理对显示器的访问的服务器侧所执行的逻辑,在许多用户之间共享对该显示器的访问。在该示例中,服务器维持具有对服务器的活动链接的自由显示器的列表。当显示墙打开并且在其中显示器空闲的等待时段期间维持时,可以设立这些链接。服务器可以包括确定自由显示器是否具有到服务器的链接的逻辑(1260)。如果检测到具有到服务器的链接的墙,那么对其分配一次性标识码或者PIN。当分配标识码时,然后将墙添加到“大厅”,其包括协作系统中的可用墙(即自由墙)的列表(1264)。服务器还执行针对授权用户登录的循环等待(1266)。当检测登录时,服务器提醒用户选择工作空间和选择针对其对用户授权的墙(1268)。然后,服务器要求用户录入与所选择的墙相关联的一次性标识码。如果服务器不接收针对所选择的墙的匹配的标识码,那么发出错误信号(1273)。当服务器接收针对所选择的墙的匹配的标识码(1272)时,然后显示客户端或者与所选择的墙相关联的客户端链接到针对会话的实况事件信道,并且禁用或者改变一次性标识码,同时占用墙(1274)。此外,服务器将工作空间数据发送给所选择的(一个或多个)显示客户端(1276)。然后,用户能够在接收工作空间数据之后与会话协作。当用户退出会话时,然后使显示墙自由(1280)。如果显示墙保持可用,则其可以指示使得服务器的自由显示墙,并且添加到具有新标识码的大厅,这跟随步骤1260、1262、1264的顺序。在一些实施例中,在超时时间间隔终止时,改变标识码,这提供对可能窃取来自未使用的墙的标识码的入侵者的登录的安全性。
图14图示了在管理联合显示器阵列的服务器侧上执行的基本逻辑。该流程图中的第一步涉及将工作空间数据下载到阵列中的显示客户端中的每个显示客户端(1302)。每个显示客户端渲染用户位置的客户端偏移的显示客户端周围的对象(1304)。服务器监视客户端事件消息(1306)。当服务器接收来自阵列中的显示客户端之一的客户端事件消息时,确定消息是否涉及工作空间数据或者仅涉及阵列(1308)。阵列消息是阵列信道上的广播,使得仅参加联合显示器阵列的那些显示客户端接收消息(1310)。工作空间数据消息是协作信道上的广播,使得利用工作空间数据加入会话的所有显示客户端得以酌情更新(1312)。如上文所描述的,仅与联合显示器阵列有关的那些消息可以包括诸如更新工具栏和绘制区域的位置的那些消息。此外,不改变工作空间中的对象的位置并且不创建或者修改作为协作数据的一部分的对象的消息可以被确定为本地阵列仅有消息。
图15以图1B的风格图示了支持其中存在广泛地分布的显示器的分布式显示器协作的系统。系统包括协作服务器105与存储工作空间数据的相关联的显示器数据库106。协作服务器通过通信链接104连接到多个墙1502a、1502b、1502c,其可以例如位于芝加哥、洛杉矶和圣保罗。协作服务器105还耦合到诸如触摸板或者其他个人计算平台的用户设备1504,其可以被期望为已知用户所有。如上文所提到的,结合图13,协作服务器105可以维持被称为“大厅”109的数据结构中的自由显示墙的列表。与显示墙中的每一个显示墙相关联的是一次性标识码,包括与芝加哥的显示墙相关联的OT-PIN#1、与洛杉矶的显示墙相关联的OT-PIN#2和与圣保罗的显示墙相关联的OT-PIN#3。拥有个人设备1504的用户可以登录到由协作服务器105所管理的门户,输入用户ID和用户密码以用于用户验证的目的。然后,拥有个人设备1504的用户可以提供针对用户想要工作空间数据显示到的显示墙的工作空间标识符和标识码。当协作服务器成功地验证用户并且确定用户已经标识对用户授权的显示墙和对用户授权的工作空间时,与所标识的显示器相关联的显示客户端可以链接到协作事件信道并且使能下载工作空间数据。当针对给定会话使能显示设备时,将其从大厅109移除,并且删除或者改变一次性标识码。每次将显示器添加到大厅109时,可以计算新一次性标识码以接受可以对工作空间数据有贡献的用户输入。该系统可以包括管理逻辑,其基于确保针对工作空间数据所授权的用户已经物理访问所选择的显示器的协议,将工作空间数据提供给所选择的显示器。
图16是客户端侧网络节点的简化图,包括客户端处理器1600、显示器驱动程序1601、本地显示器和用户接口(诸如触摸屏1602)、包括由堆栈所控制的通信接口的协议栈1604、存储实况空间事件地图的高速缓存副本和使用在渲染可显示区域中的图像和其他图形构建的高速缓存的本地存储器1605和执行输入协议的输入协议设备1607,所述输入协议将来自诸如触摸屏或者鼠标的有形用户输入设备转译为由命令解释器1606可使用的形式。适合的输入协议设备1607可以包括与TUIO工业标准兼容的软件,例如以用于解释与显示墙的有形和多点触摸交互。协议栈1604从客户端处理器1600接收API兼容消息和因特网消息,并且如上文所讨论的,协议栈1604包括建立API兼容消息可以跨越其交换的协作服务器的信道1611的资源和服务本地显示器1602的其他通信的支持中的因特网的链接1610。显示器驱动程序1601控制局部显示器1602上的可显示区域1603。可以通过客户端侧网络节点中的客户端处理器或者其他编程资源逻辑地配置可显示区域1603。此外,对于本地显示器的给定实现方案而言,可显示区域1603的物理大小可以是固定的。客户端处理器1600可以包括诸如浏览器的处理资源、在可显示区域1603上的位置与工作空间之间转移所使用的映射逻辑和实现API流程的逻辑。
本文所描述的协作的系统可以包括像图16的客户端侧网络节点。客户端侧网络节点包括具有物理显示空间、用户输入设备、处理器和通信端口的显示器。客户端侧网络节点配置有以下逻辑:
用于建立到服务器侧网络节点的链接;
用于从服务器侧网络节点检索与具有工作空间中的位置的图形目标有关的事件的空间事件日志的至少一部分,日志中的条目包括事件的图形目标的工作空间中的位置、事件的时间和图形目标的目标标识符;
用于将物理显示空间中的可显示区域映射到工作空间内的所映射的区域,以标识所映射的区域内的空间事件日志中的条目,将由所标识的条目所标识的图形目标渲染到可显示区域上;
用于接受来自创建与显示在可显示区域内的图形目标的修改和创建有关的事件的用户输入设备的输入数据,并且基于事件将消息发送给客户端侧网络节点。
图16中所示的客户端侧网络节点图示了包括应用接口的示例,所述应用接口包括用于与服务器侧网络节点通信的过程。
图16中所示的客户端侧网络节点图示了根据API配置的示例,其中事件包括被指定为第一类事件和第二类事件,第一类事件要被分布在其他客户端侧网络节点之间和要被添加到服务器侧网络节点中的空间事件日志历史事件,第二类事件被指定为待分布在其他客户端侧网络节点之间但是不被添加到服务器侧网络节点中的空间事件日志的短暂事件。
图17是由客户端侧网络节点所执行的流程的简化流程图。出于图示的目的而提供简化流程图中所图示的顺序,并且可以被修改为适于特定实现方案。例如,可以并行执行许多步骤。在该流程中,执行给定客户端对特定协作会话和其空间事件地图的访问的客户端登录。协作服务器提供空间事件地图的标识符或者其部分的标识符,其可以由客户端用于从协作服务器(1701)检索空间事件地图。客户端使用所提供的(一个或多个)标识符检索来自协作服务器的空间事件地图或者其至少一部分(1702)。
例如,客户端可以请求其已经准予的如下访问的给定工作空间的所有历史:
curlhttp://localhost:4545/<sessionId>/history
服务器将对所有数据块做出响应(每个其自身的时间区段)
["/<sessionId>/history/<startTime>/<endTime>?b=1"]
["/<sessionId>/history/<startTime>/<endTime>?b=1"]
对于每个数据块,客户端将请求事件:
Curlhttp://localhost:4545/<sessionId>/history/<startTime>/
<endTime>?b=<cache-buster>
每个所响应的数据块是事件阵列并且可由客户端高速缓存的:
单独的消息可以包括如屏幕上的位置、笔画的颜色、宽度、所创建的时间等信息。
然后,客户端使用例如服务器提供的焦点确定工作空间中的位置,并且显示本地显示器的界限(1703)。遍历空间事件地图的本地副本以聚集映射到本地显示器的可显示区域的空间事件地图的显示数据。在一些实施例中,客户端可以聚集渲染定义比本地显示器的可显示区域更大的区域的裁剪界限内的空间事件地图条目的显示器的支持中的附加数据,以便为支持预测的用户交互(诸如工作空间内的缩放和平移)做准备(1704)。客户端处理器使用空间事件地图事件、短暂事件和显示数据执行过程以渲染落在显示器界限内的空间事件地图的部分(1705)。该过程诸如从TUIO驱动程序的本地用户接口接收消息。此外,该过程从协作服务器接收套接字API消息(1710)。响应于本地用户接口消息,过程可以将输入分类为历史事件和短暂事件,将套接字上的API消息发送给如由API所指定的历史事件和短暂事件二者的协作服务器,更新具有历史事件的空间事件地图的经高速缓存的部分和产生用于历史事件和短暂事件二者的显示数据(1707)。响应于套接字API消息,过程更新具有由服务器侧网络节点所标识的历史事件的空间事件地图的经高速缓存的部分,对如由API所指定的套接字上的API消息做出响应,并且产生通过套接字消息通知其关于的历史事件和短暂事件二者的显示数据(1711)。
图18是用于解释由客户端侧网络节点执行的用户输入的过程的简化流程图。出于图示的目的而提供简化流程图中所图示的顺序,并且可以被修改为适于特定实现方案。例如,可以并行执行多个步骤。该过程以接收来自有形用户输入设备的本地I/O事件类型消息连同显示器上的物理坐标开始(1800)。该过程将显示器上的物理坐标映射到工作空间中的坐标并且使用其空间事件地图的本地高速缓存的副本标识映射到工作空间坐标的空间事件地图中的对象(如果有的话)(1801)。然后,基于工作空间坐标、所标识的对象、上下文和/或事件类型,处理器确定API事件类型,包括事件是历史事件还是短暂事件(1802)。然后,客户端处理器产生兼容API的消息,更新空间事件地图的本地高速缓存的副本,并且更新显示数据(1803)。使用如本文所描述的服务器侧网络节点和客户端侧网络节点,一些基本流程包括登录和下载客户端侧网络节点的会话的空间事件地图,并且连接到实况工作空间空间事件的工作空间信道。
登录和下载空间事件地图。
1、客户端请求加入协作会话的验证,并且打开工作空间。
2、服务器授权客户端参加会话,并且开始加载针对工作空间的空间事件地图。
3、客户端请求诸如与会话相关联的空间事件地图的“内容表”。
4、通过客户端请求内容表中所标识的空间事件地图中的每个部分。空间事件地图的这些部分一起将工作空间表示为从工作空间时间的开始到现在的线性序列。“工作空间时间的开始”可以被认为是来自协作会话的初始时间的经过时间或者与会话相关联记录的绝对时间。
5、客户端将空间事件地图的经高速缓存的副本装配在其本地存储器中。
6、客户端使用其空间事件地图显示工作空间的适当区域,以确定本地显示器上的当前可显示区域或者视口关于什么。
连接到实况空间事件地图事件的会话信道:
1、在验证之后,客户端请求加入工作空间信道。
2、服务器将客户端添加到工作空间参加者的列表以经由工作空间信道接收更新。
3、客户端接收来自承载历史事件和短暂事件二者的工作空间的实况消息,以及像聊天室的通信范式。例如,一系列短暂事件和历史事件可以与将空间事件地图中的对象移动到空间事件地图中的新位置相关联。
4、客户端通过更改空间事件地图的其本地副本并且重新渲染其本地显示器,对来自服务器侧网络节点的实况消息作出反应。
5、实况消息包括将被持续为过度加倍的“历史”事件、空间事件地图中所记录的事件和不会变为会话的历史的一部分的信息片段的“短暂”事件。
6、当客户端通过与其本地显示器的交互来创建、修改、移动或者删除对象时,通过客户端侧网络节点创建新事件并且跨越工作空间信道发送给服务器侧网络节点。服务器侧网络节点保存会话的空间事件地图中的历史事件,并且将历史事件和短暂事件二者分发到会话中的所有活动客户端。
7、当退出会话时,客户端与工作空间信道断开。
协作系统可以具有许多分布式数字显示器,其被用于基于由共享协作服务器所管理的工作空间数据而显示图像和接受可以对工作空间数据有贡献的用户输入二者,同时使得每个显示器能够迅速地构建基于会话历史、实时本地输入和来自其他显示器的实时输入而显示的图像。
如本文所使用的,信息的条目的“标识”不一定要求信息的该条目的直接指定。通过简单地参考通过一个或多个间接层的实际信息或者通过标识一起足以确定信息的实际条目的不同信息中的一个或多个条目,可以在字段中“标识”信息。另外,术语“指示”在本文中用于意指与“标识”相同。
而且,如本文所使用的,如果前驱信号、事件或值影响给定信号、事件或值,则给定信号、事件或值对前驱信号、事件或值做出“响应”。如果存在中间处理元件、步骤或者时间段,则给定信号、事件或值可以仍然对前驱信号、事件或值做出“响应”。如果中间处理元件或者步骤组合超过一个信号、事件或值,则处理元件或步骤的信号输出被认为对各信号、事件或值输入做出“响应”。如果给定信号、事件或值与前驱信号、事件或值相同,则这仅是退化情况,其中给定信号、事件或值仍然被认为对前驱信号、事件或值做出“响应”。类似地,定义给定信号、事件或值对另一信号、事件或值的“依存性”。
在能够根据本领域的技术人员的公知常识、基于本说明书作为整体执行这种特征或者组合的程度上,不管这种特征或者特征的组合是否解决在本文中所公开的任何问题并且在不限制权利要求的范围的情况下,申请人于此孤立地公开了在本文中所描述的每个单独的特征和两个或两个以上这样的特征的任何组合。申请人指示本发明的方面可以包括任何这样的特征或者特征的组合。鉴于前述描述,对于本领域的技术人员而言,很明显可以在本发明的范围内做出各种修改。
出于图示和描述的目的,已经提供本发明的优选的实施例的前述描述。其不旨在是排他性的或者将本发明限于所公开的精确形式。将显而易见地,许多修改和变型对于本领域的技术人员而言将是明显的。例如,虽然本文中所描述的显示器具有大幅面,但是小幅面显示器还可以被布置为使用多个绘制区域,而且多个绘制区域对于至少12英尺宽那样大的显示器是更有用的。特别地并且非限制性地,由本专利申请的背景技术部分或者由通过引用合并的材料所描述、所建议的任何和所有变型特别地通过引用合并到本发明的实施例的本文的描述中。另外,通过在本文中关于任何一个实施例引用的所描述、所建议或者所合并的任何和所有变型还将被认为关于所述其他实施例的教导。选择并且描述本文所描述的实施例以便最好地解释本发明的原理和其实际应用,从而使得本领域技术人员能够针对各种实施例以及如适于预期的特定使用的各种修改来理解本发明。应当预期,本发明的范围由所附权利要求和其等同物所限定。
其权利要求如权利要求书所示。

Claims (75)

1.一种包括数据处理器的空间事件地图系统,所述空间事件地图系统维持定位工作空间中的事件的空间事件地图,并且提供针对协作显示器的通信资源。
2.根据权利要求1所述的系统,其中所述空间事件地图包括事件的日志,所述日志中的条目具有所述工作空间中的所述事件的图形目标的位置和时间。
3.根据权利要求2所述的系统,包括逻辑,所述逻辑用于:向客户端侧网络节点发送包括事件、所述工作空间中的所述事件的图形目标的位置和时间。
4.根据权利要求2所述的系统,包括逻辑,所述逻辑用于:接收标识创建或者修改具有所述工作空间中的位置和时间的图形目标的事件的消息,以及将对应的条目添加到事件的所述日志。
5.根据权利要求2所述的系统,包括逻辑,所述逻辑用于:从客户端侧网络节点接收标识创建或者修改具有所述工作空间中的位置和时间的图形目标的事件的消息,其中所述事件包括历史事件和短暂事件。
6.根据权利要求5所述的系统,包括逻辑,所述逻辑用于:在不在所述日志中添加对应的条目的情况下向其他客户端侧网络节点发送所述短暂事件,向所述其他客户端侧网络节点发送所述历史事件,以及在所述日志中添加针对所述对应的历史事件的条目。
7.根据权利要求1所述的系统,其中所述工作空间涵盖无界虚拟区域。
8.根据权利要求1所述的系统,其中所述工作空间涵盖实际上无限的虚拟区域。
9.一种系统,包括:
服务器侧网络节点,所述服务器侧网络节点包括存储与具有工作空间中的位置的图形目标有关的事件的日志的存储器,所述日志中的条目包括所述事件的所述图形目标的所述工作空间中的位置、所述事件的时间和所述事件的所述图形目标的目标标识符;所述网络节点包括:
逻辑,用于:建立到多个活动客户端侧网络节点的链接,接收标识与具有所述工作空间中的位置的图形目标的修改和创建有关的事件的消息,响应于所述消息而将事件添加到所述日志,以及向其他活动客户端侧网络节点分发与在从特定客户端侧网络节点接收的消息中标识的事件有关的消息。
10.根据权利要求9所述的系统,其中所述逻辑包括:
应用程序接口,通过所述应用程序接口向客户端侧网络节点发送承载所述日志的部分的消息,并且从客户端侧网络节点接收承载标识与具有所述工作空间中的位置的图形目标有关的事件的数据的消息。
11.根据权利要求9所述的系统,所述应用程序接口包括过程,所述过程用于:向其他客户端侧网络节点分发从一个客户端侧网络节点接收的事件。
12.根据权利要求9所述的系统,其中所述事件包括要被存储在所述日志中并且被分发到其他客户端侧网络节点的第一类事件和要被分发到其他客户端侧网络节点但是未被存储在所述日志中的第二类事件。
13.根据权利要求9所述的系统,其中所述图形目标包括文本和笔画。
14.根据权利要求9所述的系统,其中所述日志上的所述条目包括标识用于在显示器上渲染所述图形目标的图形构造的参数(例如url或者实际文件)。
15.根据权利要求9所述的系统,其中所述日志上的所述条目包括标识与所述事件相关联的用户的参数。
16.根据权利要求9所述的系统,其中所述工作空间涵盖无界虚拟区域。
17.根据权利要求9所述的系统,其中所述工作空间涵盖实际上无限的虚拟区域。
18.一种系统,包括:
客户端侧网络节点,所述客户端侧网络节点包括具有物理显示空间的显示器、用户输入设备、处理器和通信端口,所述客户端侧网络节点配置有逻辑,所述逻辑用于:
建立到服务器侧网络节点的链接;
从所述服务器侧网络节点检索与具有工作空间中的位置的图形目标有关的事件的空间事件日志的至少一部分,所述日志中的条目包括事件的所述图形目标的所述工作空间中的位置、所述事件的时间和所述图形目标的目标标识符;
将所述物理显示空间中的可显示区域映射到所述工作空间内的映射的区域,以标识映射的所述区域内的所述空间事件日志中的条目,将由标识的所述条目标识的图形目标渲染到所述可显示区域上;
从所述用户输入设备接受创建与显示在所述可显示区域内的图形目标的修改和创建有关的事件的的输入数据,并且基于所述事件向所述客户端侧网络节点发送消息。
19.根据权利要求18所述的系统,所述逻辑包括应用接口,所述应用接口包括用于与所述服务器侧网络节点通信的过程。
20.根据权利要求18所述的系统,其中所述事件包括第一类事件和第二类事件,所述第一类事件被指定为要在其他客户端侧网络节点之间被分发并且要被添加到所述服务器侧网络节点中的所述空间事件日志的历史事件,所述第二类事件被指定为要在其他客户端侧网络节点之间被分发但是不被添加到所述服务器侧网络节点中的所述空间事件日志的短暂事件。
21.根据权利要求18所述的系统,其中所述图形目标包括文本和笔画。
22.根据权利要求18所述的系统,其中所述日志上的所述条目包括标识用于在显示器上渲染所述图形目标的图形构造的参数。
23.根据权利要求18所述的系统,其中所述日志上的所述条目包括标识与所述事件相关联的用户的参数。
24.根据权利要求18所述的系统,所述逻辑包括用于相对于所述工作空间平移和缩放所述可显示区域的过程。
25.根据权利要求18所述的系统,其中所述工作空间涵盖无界虚拟区域。
26.根据权利要求18所述的系统,其中所述工作空间涵盖实际上无限的虚拟区域。
27.一种用于操作协作工作空间的方法,包括:
在网络节点中维持定位工作空间中的事件的空间事件地图;以及
与其他网络节点通信以提供对所述空间事件地图的访问。
28.根据权利要求27所述的方法,其中所述空间事件地图包括事件的日志,所述日志中的条目具有所述工作空间中的所述事件的图形目标的位置和时间。
29.根据权利要求28所述的方法,包括:向客户端侧网络节点发送标识事件、所述工作空间中的所述事件的图形目标的位置和时间的消息。
30.根据权利要求28所述的方法,包括:接收标识创建或者修改具有所述工作空间中的位置和时间的图形目标的事件的消息,并且将对应的条目添加到事件的所述日志。
31.根据权利要求28所述的方法,包括:从客户端侧网络节点接收标识创建或者修改具有所述工作空间中的位置和时间的图形目标的事件的消息,其中所述事件包括历史事件和短暂事件。
32.根据权利要求31所述的方法,包括:在不在所述日志中添加对应的条目的情况下向其他客户端侧网络节点发送标识短暂事件的消息,向所述其他客户端侧网络节点发送标识所述历史事件的消息,以及在所述日志中添加针对所述对应的历史事件的条目。
33.根据权利要求27所述的方法,其中所述工作空间涵盖无界虚拟区域。
34.根据权利要求27所述的方法,其中所述工作空间涵盖实际上无限的虚拟区域。
35.一种方法,包括:
在服务器侧网络节点中存储与具有工作空间中的位置的图形目标有关的事件的日志,所述日志中的条目包括所述事件的所述图形目标的所述工作空间中的位置、所述事件的时间和所述事件的所述图形目标的目标标识符;
建立到多个活动客户端侧网络节点的链接;
在建立的所述链接上接收标识与具有所述工作空间中的位置的图形目标的修改和创建有关的事件的消息,响应于所述消息而将事件添加到所述日志,以及在建立的所述链接上向其他活动客户端侧网络节点分发与在从特定客户端侧网络节点接收的消息中标识的事件有关的消息。
36.根据权利要求35所述的方法,包括:执行应用程序接口,通过所述应用程序接口向客户端侧网络节点发送承载所述日志的部分的消息并且从客户端侧网络节点接收承载标识与具有所述工作空间中的位置的图形目标有关的事件的数据的消息。
37.根据权利要求35所述的方法,其中所述事件包括要被存储在所述日志中并且被分发到其他客户端侧网络节点的第一类事件和要被分发到其他客户端侧网络节点但是未被存储在所述日志中的第二类事件。
38.根据权利要求35所述的方法,其中所述图形目标包括文本和笔画。
39.根据权利要求35所述的方法,其中所述日志上的所述条目包括标识用于在显示器上渲染所述图形目标的图形构造的参数。
40.根据权利要求35所述的方法,其中所述日志上的所述条目包括标识与所述事件相关联的用户的参数。
41.根据权利要求35所述的方法,其中所述工作空间涵盖无界虚拟区域。
42.根据权利要求35所述的方法,其中所述工作空间涵盖实际上无限的虚拟区域。
43.一种方法,包括:
建立从客户端侧网络节点到服务器侧网络节点的链接;
在所述客户端侧网络节点处从所述服务器侧网络节点检索与具有工作空间中的位置的图形目标有关的事件的空间事件日志的至少一部分,所述日志中的条目包括事件的所述图形目标的所述工作空间中的位置、所述事件的时间和所述图形目标的目标标识符;
在所述客户端侧网络节点处将物理显示空间中的可显示区域映射到所述工作空间内的映射的区域,以标识映射的所述区域内的所述空间事件日志中的条目,并且将由标识的所述条目标识的图形目标渲染到所述可显示区域上;
在所述客户端侧网络节点处从用户输入设备接受创建与显示在所述可显示区域内的图形目标的修改和创建有关的事件的输入数据;以及
基于所述事件,在建立的所述链接上向所述服务器侧网络节点发送消息。
44.根据权利要求43所述的方法,包括:发送与在所述服务器侧网络节点处执行的应用程序接口兼容的消息。
45.根据权利要求43所述的方法,其中,所述事件包括第一类事件和第二类事件,所述第一类事件被指定为要在其他客户端侧网络节点之间被分发并且要被添加到所述服务器侧网络节点中的所述空间事件日志的历史事件,所述第二类事件被指定为要在其他客户端侧网络节点之间被分发但是不被添加到所述服务器侧网络节点中的所述空间事件日志的短暂事件。
46.根据权利要求43所述的方法,其中所述图形目标包括文本和笔画。
47.根据权利要求43所述的方法,其中所述日志上的所述条目包括标识用于在显示器上渲染所述图形目标的图形构造的参数。
48.根据权利要求43所述的方法,其中所述日志上的所述条目包括标识与所述事件相关联的用户的参数。
49.根据权利要求43所述的方法,包括:在所述客户端侧网络节点处执行用于相对于所述工作空间平移和缩放所述可显示区域的过程。
50.根据权利要求43所述的方法,其中所述工作空间涵盖无界虚拟区域。
51.根据权利要求43所述的方法,其中所述工作空间涵盖实际上无限的虚拟区域。
52.一种包括存储机器可读数据结构的非瞬态计算机可读介质的产品,所述机器可读数据结构包括定位工作空间中的事件的空间事件地图,其中所述空间事件地图包括事件的日志,所述日志中的条目具有所述工作空间中的所述事件的图形目标的位置和时间。
53.根据权利要求52所述的产品,其中所述产品存储可执行指令,所述可执行指令用于:向客户端侧网络节点发送标识事件、所述工作空间中的所述事件的图形目标的位置和时间的消息。
54.根据权利要求52所述的产品,其中所述产品存储可执行指令,所述可执行指令用于:接收标识创建或者修改具有所述工作空间中的位置和时间的图形目标的事件的消息并且将对应的条目添加到事件的所述日志。
55.根据权利要求52所述的产品,其中所述产品存储可执行指令,所述可执行指令用于:从客户端侧网络节点接收标识创建或者修改具有所述工作空间中的位置和时间的图形目标的事件的消息,其中所述事件包括历史事件和短暂事件。
56.根据权利要求55所述的产品,其中所述产品存储可执行指令,所述可执行指令:在不在所述日志中不添加对应的条目的情况下向其他客户端侧网络节点发送标识短暂事件的消息,向所述其他客户端侧网络节点发送标识所述历史事件的消息,以及在所述日志中添加针对所述对应的历史事件的条目。
57.根据权利要求52所述的产品,其中所述工作空间涵盖无界虚拟区域。
58.根据权利要求52所述的产品,其中所述工作空间涵盖实际上无限的虚拟区域。
59.一种产品,包括:
非瞬态计算机可读存储器;
机器可读数据结构,所述机器可读数据结构被存储在所述存储器中并且包括与具有工作空间中的位置的图形目标有关的事件的日志,所述日志中的条目包括所述事件的所述图形目标的所述工作空间中的位置、所述事件的时间和所述事件的所述图形目标的目标标识符;
用于建立到多个活动客户端侧网络节点的链接的可执行指令;以及
可执行指令,用于:在建立的所述链接上接收标识与具有所述工作空间中的位置的图形目标的修改和创建有关的事件的消息,响应于所述消息而将事件添加到所述日志,以及向其他活动客户端侧网络节点分发与在从特定客户端侧网络节点接收的消息中标识的事件有关的消息。
60.根据权利要求59所述的产品,包括执行应用程序接口,通过所述应用程序接口向客户端侧网络节点发送承载所述日志的部分的消息并且从客户端侧网络节点接收承载标识与具有所述工作空间中的位置的图形目标有关的事件的数据的消息。
61.根据权利要求59所述的产品,其中所述事件包括要被存储在所述日志中并且被分发到其他客户端侧网络节点的第一类事件和要被分发到其他客户端侧网络节点但是未被存储在所述日志中的第二类事件。
62.根据权利要求59所述的产品,其中所述图形目标包括文本和笔画。
63.根据权利要求59所述的产品,其中所述日志上的所述条目包括标识用于在显示器上渲染所述图形目标的图形构造的参数。
64.根据权利要求59所述的产品,其中所述日志上的所述条目包括标识与所述事件相关联的用户的参数。
65.根据权利要求59所述的产品,其中所述工作空间涵盖无界虚拟区域。
66.根据权利要求59所述的产品,其中所述工作空间涵盖实际上无限的虚拟区域。
67.一种产品,包括:
非瞬态计算机可读存储器;
用于建立从客户端侧网络节点到服务器侧网络节点的链接的可执行指令;
用于在所述客户端侧网络节点处从所述服务器侧网络节点检索与具有工作空间中的位置的图形目标有关的事件的空间事件日志的至少一部分的可执行指令,所述日志中的条目包括事件的所述图形目标的所述工作空间中的位置、所述事件的时间和所述图形目标的目标标识符;
用于在所述客户端侧网络节点处将物理显示空间中的可显示区域映射到所述工作空间内的映射的区域,以标识映射的所述区域内的所述空间事件日志中的条目并且将由标识的所述条目标识的图形目标渲染到所述可显示区域上的可执行指令;
用于在所述客户端侧网络节点处从用户输入设备接受创建与显示在所述可显示区域内的图形目标的修改和创建有关的事件的输入数据的可执行指令;以及
用于基于所述事件来在建立的所述链接上向所述服务器侧网络节点发送消息的可执行指令。
68.根据权利要求67所述的产品,包括用于发送与在所述服务器侧网络节点处执行的应用程序接口兼容的消息的可执行指令。
69.根据权利要求67所述的产品,其中所述事件包括第一类事件和第二类事件,所述第一类事件被指定为要在其他客户端侧网络节点之间被分发并且要被添加到所述服务器侧网络节点中的所述空间事件日志的历史事件,所述第二类事件被指定为要在其他客户端侧网络节点之间被分发但是不被添加到所述服务器侧网络节点中的所述空间事件日志的短暂事件。
70.根据权利要求67所述的产品,其中所述图形目标包括文本和笔画。
71.根据权利要求67所述的产品,其中所述日志上的所述条目包括标识用于在显示器上渲染所述图形目标的图形构造的参数。
72.根据权利要求67所述的产品,其中所述日志上的所述条目包括标识与所述事件相关联的用户的参数。
73.根据权利要求67所述的产品,包括用于在所述客户端侧网络节点处执行用于相对于所述工作空间平移和缩放所述可显示区域的过程的可执行指令。
74.根据权利要求67所述的产品,其中所述工作空间涵盖无界虚拟区域。
75.根据权利要求67所述的产品,其中所述工作空间涵盖实际上无限的虚拟区域。
CN201480039006.8A 2013-06-06 2014-02-25 包括空间事件地图的协作系统 Pending CN105378702A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361832106P 2013-06-06 2013-06-06
US61/832,106 2013-06-06
US14/090,830 US10304037B2 (en) 2013-02-04 2013-11-26 Collaboration system including a spatial event map
US14/090,830 2013-11-26
PCT/US2014/018375 WO2014197015A1 (en) 2013-06-06 2014-02-25 Collaboration system including a spatial event map

Publications (1)

Publication Number Publication Date
CN105378702A true CN105378702A (zh) 2016-03-02

Family

ID=51260242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480039006.8A Pending CN105378702A (zh) 2013-06-06 2014-02-25 包括空间事件地图的协作系统

Country Status (8)

Country Link
US (3) US10304037B2 (zh)
EP (1) EP3005143B1 (zh)
JP (1) JP6417408B2 (zh)
KR (1) KR20160017050A (zh)
CN (1) CN105378702A (zh)
AU (1) AU2014275495B2 (zh)
CA (1) CA2914371A1 (zh)
WO (1) WO2014197015A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590231A (zh) * 2017-09-06 2018-01-16 北京大有中城科技有限公司 一种通过平台事物链解决实际需要的实现方法
CN111881273A (zh) * 2020-07-13 2020-11-03 北京捷通华声科技股份有限公司 问答处理方法、装置
CN112236780A (zh) * 2018-08-03 2021-01-15 惠普发展公司,有限责任合伙企业 消耗品特性标识
CN115428414A (zh) * 2020-04-23 2022-12-02 斯纳普公司 事件覆盖邀请消息传送系统

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465434B2 (en) 2011-05-23 2016-10-11 Haworth, Inc. Toolbar dynamics for digital whiteboard
US20140055400A1 (en) 2011-05-23 2014-02-27 Haworth, Inc. Digital workspace ergonomics apparatuses, methods and systems
US9471192B2 (en) 2011-05-23 2016-10-18 Haworth, Inc. Region dynamics for digital whiteboard
WO2012162411A1 (en) 2011-05-23 2012-11-29 Haworth, Inc. Digital whiteboard collaboration apparatuses, methods and systems
US9479548B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard access to global collaboration data
US9479549B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard with federated display
US11861561B2 (en) 2013-02-04 2024-01-02 Haworth, Inc. Collaboration system including a spatial event map
US10304037B2 (en) 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
US20140282103A1 (en) * 2013-03-16 2014-09-18 Jerry Alan Crandall Data sharing
US10063450B2 (en) * 2013-07-26 2018-08-28 Opentv, Inc. Measuring response trends in a digital television network
US10545657B2 (en) 2013-09-03 2020-01-28 Apple Inc. User interface for manipulating user interface objects
US11068128B2 (en) 2013-09-03 2021-07-20 Apple Inc. User interface object manipulations in a user interface
EP3039513B1 (en) 2013-09-03 2020-08-19 Apple Inc. Crown input for a wearable electronic device
EP3584671B1 (en) 2014-06-27 2022-04-27 Apple Inc. Manipulation of calendar application in device with touch screen
EP2986012A1 (en) * 2014-08-14 2016-02-17 mFabrik Holding Oy Controlling content on a display device
WO2016036510A1 (en) 2014-09-02 2016-03-10 Apple Inc. Music user interface
US20160062571A1 (en) 2014-09-02 2016-03-03 Apple Inc. Reduced size user interface
TW201610758A (zh) 2014-09-02 2016-03-16 蘋果公司 按鈕功能性
WO2016036509A1 (en) 2014-09-02 2016-03-10 Apple Inc. Electronic mail user interface
US10225700B2 (en) * 2014-12-02 2019-03-05 Facebook, Inc. Techniques for enhancing group communication on a mobile device
US9794070B2 (en) * 2015-01-07 2017-10-17 Cyph, Inc. Method of ephemeral encrypted communications
US9948625B2 (en) 2015-01-07 2018-04-17 Cyph, Inc. Encrypted group communication method
US10365807B2 (en) 2015-03-02 2019-07-30 Apple Inc. Control of system zoom magnification using a rotatable input mechanism
US10802783B2 (en) 2015-05-06 2020-10-13 Haworth, Inc. Virtual workspace viewport following in collaboration systems
US10825081B2 (en) * 2015-05-14 2020-11-03 Ebay Inc. Displaying a virtual environment of a session
US20160378291A1 (en) * 2015-06-26 2016-12-29 Haworth, Inc. Object group processing and selection gestures for grouping objects in a collaboration system
US9972109B2 (en) * 2015-07-30 2018-05-15 Adobe Systems Incorporated Implementing out of order access to reversal operations in images
US10990258B2 (en) * 2015-08-04 2021-04-27 Google Llc Interactively presenting a visible portion of a rendering surface on a user device
US10404938B1 (en) 2015-12-22 2019-09-03 Steelcase Inc. Virtual world method and system for affecting mind state
US10129335B2 (en) 2016-01-05 2018-11-13 Quirklogic, Inc. Method and system for dynamic group creation in a collaboration framework
TWI628636B (zh) * 2016-01-05 2018-07-01 夸克邏輯股份有限公司 轉移多裝置工作區資料方法及系統
US10755029B1 (en) 2016-01-05 2020-08-25 Quirklogic, Inc. Evaluating and formatting handwritten input in a cell of a virtual canvas
US10067731B2 (en) 2016-01-05 2018-09-04 Quirklogic, Inc. Method and system for representing a shared digital virtual “absolute” canvas
US10324618B1 (en) * 2016-01-05 2019-06-18 Quirklogic, Inc. System and method for formatting and manipulating digital ink
US20170230466A1 (en) * 2016-02-05 2017-08-10 Prysm, Inc. Cross Platform Annotation Syncing
US10255023B2 (en) * 2016-02-12 2019-04-09 Haworth, Inc. Collaborative electronic whiteboard publication process
US10181218B1 (en) 2016-02-17 2019-01-15 Steelcase Inc. Virtual affordance sales tool
US20180121038A1 (en) * 2016-11-01 2018-05-03 Microsoft Technology Licensing, Llc Contextual canvases for a collaborative workspace environment
US11609735B2 (en) 2016-12-05 2023-03-21 T1V, Inc. Real time collaboration over multiple locations
WO2018106599A2 (en) * 2016-12-05 2018-06-14 T1V, Inc. Real time collaboration over multiple locations
US11709647B2 (en) 2016-12-05 2023-07-25 T1V, Inc. Real time collaboration over multiple locations
US10182210B1 (en) 2016-12-15 2019-01-15 Steelcase Inc. Systems and methods for implementing augmented reality and/or virtual reality
US10438170B2 (en) * 2017-01-05 2019-10-08 International Business Machines Corporation Blockchain for program code credit and programmer contribution in a collective
US10545658B2 (en) * 2017-04-25 2020-01-28 Haworth, Inc. Object processing and selection gestures for forming relationships among objects in a collaboration system
US11687843B2 (en) * 2017-07-06 2023-06-27 Ricoh Company, Ltd. System and method for reserving resources and notifying group members
US11126325B2 (en) 2017-10-23 2021-09-21 Haworth, Inc. Virtual workspace including shared viewport markers in a collaboration system
US11934637B2 (en) 2017-10-23 2024-03-19 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
US10063660B1 (en) * 2018-02-09 2018-08-28 Picmonkey, Llc Collaborative editing of media in a mixed computing environment
US10579240B2 (en) * 2018-02-09 2020-03-03 Picmonkey, Llc Live-rendered and forkable graphic edit trails
EP3750074A4 (en) * 2018-04-27 2021-08-25 Hewlett-Packard Development Company, L.P. MESSAGES BASED ON INPUT / OUTPUT DEVICE SIGNALS TO VIRTUAL COMPUTERS
US11422869B2 (en) * 2018-06-25 2022-08-23 Box, Inc. Presenting collaboration activity
US11435830B2 (en) 2018-09-11 2022-09-06 Apple Inc. Content-based tactile outputs
US10712824B2 (en) 2018-09-11 2020-07-14 Apple Inc. Content-based tactile outputs
US11106378B2 (en) * 2018-11-21 2021-08-31 At&T Intellectual Property I, L.P. Record information management based on self describing attributes
US10824528B2 (en) 2018-11-27 2020-11-03 Capital One Services, Llc Techniques and system for optimization driven by dynamic resilience
US10282248B1 (en) 2018-11-27 2019-05-07 Capital One Services, Llc Technology system auto-recovery and optimality engine and techniques
WO2020176517A1 (en) * 2019-02-25 2020-09-03 Haworth, Inc. Gesture based workflows in a collaboration system
US10996761B2 (en) 2019-06-01 2021-05-04 Apple Inc. User interfaces for non-visual output of time
US10686645B1 (en) * 2019-10-09 2020-06-16 Capital One Services, Llc Scalable subscriptions for virtual collaborative workspaces
US10866872B1 (en) 2019-11-18 2020-12-15 Capital One Services, Llc Auto-recovery for software systems
US11178446B2 (en) 2020-03-09 2021-11-16 Haworth, Inc. Synchronous video content collaboration across multiple clients in a distributed collaboration system
US20210286861A1 (en) 2020-03-12 2021-09-16 Haworth, Inc. User Experience Container Level Identity Federation and Content Security
US11750672B2 (en) 2020-05-07 2023-09-05 Haworth, Inc. Digital workspace sharing over one or more display clients in proximity of a main client
US11212127B2 (en) * 2020-05-07 2021-12-28 Haworth, Inc. Digital workspace sharing over one or more display clients and authorization protocols for collaboration systems
US11157160B1 (en) * 2020-11-09 2021-10-26 Dell Products, L.P. Graphical user interface (GUI) for controlling virtual workspaces produced across information handling systems (IHSs)
CN113158085B (zh) * 2021-03-31 2023-06-13 五八有限公司 一种信息切换处理方法、装置、电子设备及存储介质
US11797935B2 (en) 2021-07-08 2023-10-24 Haworth, Inc. Systems and methods for multi-party distributed active co-browsing
US11856592B2 (en) * 2021-10-27 2023-12-26 International Business Machines Corporation Multi-dimensional mapping and user cognitive profile based device control and channel assignment
US20230315271A1 (en) * 2022-03-18 2023-10-05 Sony Group Corporation Collaborative whiteboard for meetings
JP2024029839A (ja) * 2022-08-23 2024-03-07 キヤノン株式会社 スキャン装置、画像処理方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089682A1 (en) * 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Collaborative environment for sharing visualizations of industrial automation data
US20090251457A1 (en) * 2008-04-03 2009-10-08 Cisco Technology, Inc. Reactive virtual environment
US20120229425A1 (en) * 2011-03-07 2012-09-13 Ricoh Company, Ltd. Associating Information on a Whiteboard with a User
US20120320073A1 (en) * 2011-06-14 2012-12-20 Obscura Digital, Inc. Multiple Spatial Partitioning Algorithm Rendering Engine

Family Cites Families (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4686332A (en) 1986-06-26 1987-08-11 International Business Machines Corporation Combined finger touch and stylus detection system for use on the viewing surface of a visual display device
US5394521A (en) * 1991-12-09 1995-02-28 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US5008853A (en) 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5220657A (en) 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5309555A (en) 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
US5563996A (en) 1992-04-13 1996-10-08 Apple Computer, Inc. Computer note pad including gesture based note division tools and method
US5446842A (en) 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
US5835713A (en) 1993-03-19 1998-11-10 Ncr Corporation Remote collaboration system for selectively locking the display at remote computers to prevent annotation of the display by users of the remote computers
EP0622930A3 (en) 1993-03-19 1996-06-05 At & T Global Inf Solution Division of applications for computer arrangement with collaboration.
US5613134A (en) * 1993-09-17 1997-03-18 Digital Equipment Corporation Document display system using documents having ephemeral attributes for sharing information regarding the location of the display of each document on multiple display devices
US5537526A (en) 1993-11-12 1996-07-16 Taugent, Inc. Method and apparatus for processing a display document utilizing a system level document framework
US5689628A (en) 1994-04-14 1997-11-18 Xerox Corporation Coupling a display object to a viewpoint in a navigable workspace
US5553083B1 (en) 1995-01-19 2000-05-16 Starburst Comm Corp Method for quickly and reliably transmitting frames of data over communications links
JPH08305663A (ja) 1995-04-28 1996-11-22 Hitachi Ltd 共同作業支援システム
US6911987B1 (en) 1995-07-05 2005-06-28 Microsoft Corporation Method and system for transmitting data for a shared application
US5812847A (en) 1996-02-02 1998-09-22 International Business Machines Corporation Rule-based method for designing user interfaces for applications
US6343313B1 (en) 1996-03-26 2002-01-29 Pixion, Inc. Computer conferencing system with real-time multipoint, multi-speed, multi-stream scalability
US5818425A (en) 1996-04-03 1998-10-06 Xerox Corporation Mapping drawings generated on small mobile pen based electronic devices onto large displays
US5781732A (en) 1996-06-20 1998-07-14 Object Technology Licensing Corp. Framework for constructing shared documents that can be collaboratively accessed by multiple users
US6084584A (en) 1996-10-01 2000-07-04 Diamond Multimedia Systems, Inc. Computer system supporting portable interactive graphics display tablet and communications systems
JPH10198517A (ja) 1997-01-10 1998-07-31 Tokyo Noukou Univ 表示装置の表示内容制御方法
US5940082A (en) 1997-02-14 1999-08-17 Brinegar; David System and method for distributed collaborative drawing
US6035342A (en) 1997-03-19 2000-03-07 Microsoft Corporation Method and computer program product for implementing object relationships
CA2297971A1 (en) * 1997-08-01 1999-02-11 Muse Technologies, Inc. Shared multi-user interface for multi-dimensional synthetic environments
US6078921A (en) 1998-03-03 2000-06-20 Trellix Corporation Method and apparatus for providing a self-service file
CA2267733A1 (en) 1998-04-06 1999-10-06 Smart Technologies, Inc. Method for editing objects representing writing on an electronic writeboard
US6710790B1 (en) 1998-08-13 2004-03-23 Symantec Corporation Methods and apparatus for tracking the active window of a host computer in a remote computer display window
US7043529B1 (en) * 1999-04-23 2006-05-09 The United States Of America As Represented By The Secretary Of The Navy Collaborative development network for widely dispersed users and methods therefor
US6564246B1 (en) 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
US6342906B1 (en) 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US6868425B1 (en) 1999-03-05 2005-03-15 Microsoft Corporation Versions and workspaces in an object repository
US7100195B1 (en) * 1999-07-30 2006-08-29 Accenture Llp Managing user information on an e-commerce system
GB2353184A (en) 1999-08-13 2001-02-14 Nokia Mobile Phones Ltd Disabling a touch sensitive display screen when a call is established
US7028264B2 (en) 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
AU2001239766A1 (en) 2000-02-15 2001-08-27 Siemens Aktiengesellschaft Electronic whiteboard system using a tactile foam sensor
WO2001075568A1 (en) 2000-03-30 2001-10-11 Ideogramic Aps Method for gesture based modeling
US7171448B1 (en) 2000-04-17 2007-01-30 Accenture Ans Conducting activities in a collaborative work tool architecture
JP2002116996A (ja) 2000-10-05 2002-04-19 Hokkaido Technology Licence Office Co Ltd 協調作業支援方法およびシステム、並びに協調作業用クライアント端末装置および協調作業コーディネータ並びに記録媒体
WO2002039308A1 (en) 2000-11-13 2002-05-16 Gtco Cal Comp Collaborative input system
US7003728B2 (en) 2000-12-21 2006-02-21 David Berque System for knowledge transfer in a group setting
CN101305906B (zh) 2001-03-14 2012-02-08 吉温成象有限公司 检测活体内色度异常的系统
US6778989B2 (en) 2001-07-03 2004-08-17 International Business Machines Corporation System and method for constructing and viewing an electronic document
JP4250884B2 (ja) 2001-09-05 2009-04-08 パナソニック株式会社 電子黒板システム
US7356563B1 (en) 2002-06-06 2008-04-08 Microsoft Corporation Methods of annotating a collaborative application display
US8125459B2 (en) 2007-10-01 2012-02-28 Igt Multi-user input systems and processing techniques for serving multiple users
CA2499513A1 (en) 2002-09-20 2004-04-01 Board Of Regents, University Of Texas System Computer program products, systems and methods for information discovery and relational analysis
US7657596B2 (en) * 2002-10-24 2010-02-02 Sun Microsystems, Inc. Distributed data sharing methods and systems
US7100119B2 (en) 2002-11-01 2006-08-29 Microsoft Corporation Page bar control
TWI220973B (en) 2002-11-22 2004-09-11 Macroblock Inc Device and set for driving display device
US7624143B2 (en) 2002-12-12 2009-11-24 Xerox Corporation Methods, apparatus, and program products for utilizing contextual property metadata in networked computing environments
US7129934B2 (en) 2003-01-31 2006-10-31 Hewlett-Packard Development Company, L.P. Collaborative markup projection system
DE202004021638U1 (de) 2003-02-10 2009-12-31 N-Trig Ltd. Berührungsdetektion für einen Digitalisierer
US7369102B2 (en) 2003-03-04 2008-05-06 Microsoft Corporation System and method for navigating a graphical user interface on a smaller display
US7702729B2 (en) * 2003-04-08 2010-04-20 Johanson Bradley E Event heap: a coordination infrastructure for dynamic heterogeneous application interactions in ubiquitous computing environments
US7269794B2 (en) 2003-09-11 2007-09-11 International Business Machines Corporation Method and apparatus for viewpoint collaboration
US7460134B2 (en) 2004-03-02 2008-12-02 Microsoft Corporation System and method for moving computer displayable content into a preferred user interactive focus area
US7262783B2 (en) 2004-03-03 2007-08-28 Virtual Iris Studios, Inc. System for delivering and enabling interactivity with images
JP2005258877A (ja) 2004-03-12 2005-09-22 Iwatsu Electric Co Ltd Web同期システムにおける動作記録再生方式
WO2006118558A1 (en) 2004-04-14 2006-11-09 Sagi Richberg Method and system for connecting users
EP1701546A4 (en) 2004-04-23 2010-09-15 Sumitomo Electric Industries CODING METHOD AND DECODING METHOD FOR MOVABLE IMAGE DATA, FINAL DEVICE FOR CARRYING OUT THE METHOD AND BIDIRECTIONAL INTERACTIVE SYSTEM
US20050273700A1 (en) 2004-06-02 2005-12-08 Amx Corporation Computer system with user interface having annotation capability
US7450109B2 (en) 2004-07-13 2008-11-11 International Business Machines Corporation Electronic whiteboard
US20060012580A1 (en) 2004-07-15 2006-01-19 N-Trig Ltd. Automatic switching for a dual mode digitizer
US8456506B2 (en) 2004-08-03 2013-06-04 Applied Minds, Llc Systems and methods for enhancing teleconferencing collaboration
US7728823B2 (en) 2004-09-24 2010-06-01 Apple Inc. System and method for processing raw data of track pad device
US7664870B2 (en) 2005-02-25 2010-02-16 Microsoft Corporation Method and system for providing users a lower fidelity alternative until a higher fidelity experience is available
US7996465B2 (en) 2005-03-03 2011-08-09 Raytheon Company Incident command system
US20060224427A1 (en) 2005-03-30 2006-10-05 International Business Machines Corporation Method, system, and program product for individual and group work space allocation and utilization
JP4664108B2 (ja) 2005-03-31 2011-04-06 富士通株式会社 表示装置、表示方法、表示プログラム及び表示システム
US7908325B1 (en) 2005-06-20 2011-03-15 Oracle America, Inc. System and method for event-based collaboration
CN101300621B (zh) 2005-09-13 2010-11-10 时空3D公司 用于提供三维图形用户界面的系统和方法
US20070198744A1 (en) 2005-11-30 2007-08-23 Ava Mobile, Inc. System, method, and computer program product for concurrent collaboration of media
US8522142B2 (en) 2005-12-08 2013-08-27 Google Inc. Adaptive media player size
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US8209308B2 (en) 2006-05-01 2012-06-26 Rueben Steven L Method for presentation of revisions of an electronic document
US9063647B2 (en) 2006-05-12 2015-06-23 Microsoft Technology Licensing, Llc Multi-touch uses, gestures, and implementation
US9201854B1 (en) 2006-10-25 2015-12-01 Hewlett-Packard Development Company, L.P. Methods and systems for creating, interacting with, and utilizing a superactive document
US7698660B2 (en) 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
US20080163053A1 (en) 2006-12-28 2008-07-03 Samsung Electronics Co., Ltd. Method to provide menu, using menu set and multimedia device using the same
USD617338S1 (en) 2007-01-05 2010-06-08 Verizon Patent And Licensing Inc. Computer generated image for a display panel or screen
US7877707B2 (en) 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US20080177771A1 (en) 2007-01-19 2008-07-24 International Business Machines Corporation Method and system for multi-location collaboration
US8930331B2 (en) * 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US8351989B2 (en) 2007-02-23 2013-01-08 Lg Electronics Inc. Method of displaying menu in a mobile communication terminal
US8214367B2 (en) * 2007-02-27 2012-07-03 The Trustees Of Columbia University In The City Of New York Systems, methods, means, and media for recording, searching, and outputting display information
WO2009018314A2 (en) 2007-07-30 2009-02-05 Perceptive Pixel, Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
US20140032770A1 (en) 2007-09-28 2014-01-30 Adobe Systems Incorporated Declarative specification of collaboration client functionality
US9335869B2 (en) 2007-10-01 2016-05-10 Igt Method and apparatus for detecting lift off on a touchscreen
EP2232355B1 (en) 2007-11-07 2012-08-29 N-Trig Ltd. Multi-point detection on a single-point detection digitizer
KR100996682B1 (ko) 2007-11-30 2010-11-25 주식회사 모션클라우드 리치 콘텐트 제작 시스템 및 그 방법과 그 방법에 대한컴퓨터 프로그램을 저장한 기록매체
AR064377A1 (es) 2007-12-17 2009-04-01 Rovere Victor Manuel Suarez Dispositivo para sensar multiples areas de contacto contra objetos en forma simultanea
US20090234721A1 (en) * 2007-12-21 2009-09-17 Bigelow David H Persistent collaborative on-line meeting space
US20090160786A1 (en) 2007-12-21 2009-06-25 Dean Finnegan Touch control electronic display
US20090174679A1 (en) 2008-01-04 2009-07-09 Wayne Carl Westerman Selective Rejection of Touch Contacts in an Edge Region of a Touch Surface
CA2711451C (en) 2008-01-07 2016-11-08 Smart Technologies Ulc Method of managing applications in a multi-monitor computer system and multi-monitor computer system employing the method
US8555193B2 (en) 2008-01-17 2013-10-08 Google Inc. System for intelligent automated layout and management of interactive windows
US9965638B2 (en) 2008-01-28 2018-05-08 Adobe Systems Incorporated Rights application within document-based conferencing
JP2009193323A (ja) 2008-02-14 2009-08-27 Sharp Corp 表示装置
WO2009105544A2 (en) 2008-02-19 2009-08-27 The Board Of Trustees Of The University Of Illinois Large format high resolution interactive display
US8473851B2 (en) * 2008-02-27 2013-06-25 Cisco Technology, Inc. Multi-party virtual desktop
US8176434B2 (en) 2008-05-12 2012-05-08 Microsoft Corporation Virtual desktop view scrolling
US8543929B1 (en) * 2008-05-14 2013-09-24 Adobe Systems Incorporated User ratings allowing access to features for modifying content
EP2283445A1 (en) 2008-05-19 2011-02-16 F. Hoffmann-La Roche AG Computer research tool for the organization, visualization and analysis of metabolic-related clinical data and method thereof
KR20090120891A (ko) 2008-05-21 2009-11-25 (주)앞선교육 휴대용 원격 실물화상 전송 및 판서 장치, 이를 포함한 시스템 및 이를 이용한 멀티미디어 프레젠테이션 방법
EP2304588A4 (en) 2008-06-11 2011-12-21 Teliris Inc SYSTEM, METHOD AND DEVICE FOR SURFACE COMPUTING COLLABORATION
US20090309853A1 (en) 2008-06-13 2009-12-17 Polyvision Corporation Electronic whiteboard system and assembly with optical detection elements
US8275197B2 (en) 2008-06-14 2012-09-25 Microsoft Corporation Techniques to manage a whiteboard for multimedia conference events
US8271887B2 (en) 2008-07-17 2012-09-18 The Boeing Company Systems and methods for whiteboard collaboration and annotation
US8866840B2 (en) 2008-09-08 2014-10-21 Qualcomm Incorporated Sending a parameter based on screen size or screen resolution of a multi-panel electronic device to a server
NO333026B1 (no) 2008-09-17 2013-02-18 Cisco Systems Int Sarl Styringssystem for et lokalt telepresencevideokonferansesystem og fremgangsmate for a etablere en videokonferansesamtale.
US8402391B1 (en) 2008-09-25 2013-03-19 Apple, Inc. Collaboration system
JP2010079834A (ja) 2008-09-29 2010-04-08 Hitachi Software Eng Co Ltd 座標検出装置の取り付け位置判断装置及び電子ボードシステム
US8954862B1 (en) 2008-10-01 2015-02-10 Valador, Inc. System and method for collaborative viewing of a four dimensional model requiring decision by the collaborators
GB2453672B (en) 2008-10-21 2009-09-16 Promethean Ltd Registration for interactive whiteboard
US20100194701A1 (en) 2008-10-28 2010-08-05 Hill Jared C Method of recognizing a multi-touch area rotation gesture
JP2010134897A (ja) 2008-10-28 2010-06-17 Nippon Telegr & Teleph Corp <Ntt> 描画装置、描画方法、プログラムおよび記録媒体
GB2477456A (en) 2008-11-14 2011-08-03 Virtual Nerd Llc Whiteboard presentation of interactive and expandable modular content
WO2010063014A1 (en) 2008-11-26 2010-06-03 Lila Aps (Ahead.) Dynamic network browser
US8464167B2 (en) 2008-12-01 2013-06-11 Palo Alto Research Center Incorporated System and method for synchronized authoring and access of chat and graphics
USD600703S1 (en) 2008-12-02 2009-09-22 Microsoft Corporation Icon for a display screen
JP2010165178A (ja) 2009-01-15 2010-07-29 Konica Minolta Holdings Inc 情報処理方法および情報処理装置
JP2010176320A (ja) 2009-01-28 2010-08-12 Seiko Epson Corp 画像処理方法、そのプログラム及び画像処理装置
US20100205190A1 (en) 2009-02-09 2010-08-12 Microsoft Corporation Surface-based collaborative search
JP2010218313A (ja) 2009-03-17 2010-09-30 Ricoh Co Ltd 情報処理装置、ログ管理システム及びログ管理方法
DE202010004430U1 (de) 2009-05-13 2010-08-12 Hasso-Plattner-Institut für Softwaresystemtechnik GmbH Vorrichtung zur Verarbeitung von Informationen
US8473862B1 (en) 2009-05-21 2013-06-25 Perceptive Pixel Inc. Organizational tools on a multi-touch display device
US9298834B2 (en) 2009-05-26 2016-03-29 Adobe Systems Incorporated User presence data for web-based document collaboration
KR101055924B1 (ko) 2009-05-26 2011-08-09 주식회사 팬택 터치 기기에서의 유저 인터페이스 장치 및 방법
US8493344B2 (en) 2009-06-07 2013-07-23 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US8189029B2 (en) 2009-06-10 2012-05-29 Alcatel Lucent Portable video conferencing system with universal focal point
US20100318921A1 (en) 2009-06-16 2010-12-16 Marc Trachtenberg Digital easel collaboration system and method
JP2012531637A (ja) 2009-06-30 2012-12-10 テックブリッジ,インコーポレイテッド マルチメディアコラボレーションシステム
CN101630240B (zh) 2009-08-18 2011-11-09 深圳雅图数字视频技术有限公司 电子白板设备及其绘图方法
US8423900B2 (en) 2009-08-20 2013-04-16 Xerox Corporation Object based adaptive document resizing
US8429565B2 (en) 2009-08-25 2013-04-23 Google Inc. Direct manipulation gestures
US8407290B2 (en) 2009-08-31 2013-03-26 International Business Machines Corporation Dynamic data sharing using a collaboration-enabled web browser
WO2011029067A2 (en) 2009-09-03 2011-03-10 Obscura Digital, Inc. Large scale multi-user, multi-touch system
US20110050640A1 (en) 2009-09-03 2011-03-03 Niklas Lundback Calibration for a Large Scale Multi-User, Multi-Touch System
BR112012004982A2 (pt) 2009-09-04 2019-09-24 Nike Int Ltd monitoramento e rastreamento atividade atlética
GB2473429B (en) 2009-09-07 2013-12-11 Snow Leopard Invest Ltd A video-collaboration apparatus and method
WO2011048901A1 (ja) 2009-10-22 2011-04-28 コニカミノルタホールディングス株式会社 会議支援システム
US20110109526A1 (en) 2009-11-09 2011-05-12 Qualcomm Incorporated Multi-screen image display
KR20110069563A (ko) 2009-12-17 2011-06-23 엘지전자 주식회사 영상표시장치 및 그 동작 방법
US20110183654A1 (en) 2010-01-25 2011-07-28 Brian Lanier Concurrent Use of Multiple User Interface Devices
US8522308B2 (en) 2010-02-11 2013-08-27 Verizon Patent And Licensing Inc. Systems and methods for providing a spatial-input-based multi-user shared display experience
US8490002B2 (en) 2010-02-11 2013-07-16 Apple Inc. Projected display shared workspaces
US8949346B2 (en) 2010-02-25 2015-02-03 Cisco Technology, Inc. System and method for providing a two-tiered virtual communications architecture in a network environment
US20110214063A1 (en) 2010-03-01 2011-09-01 Microsoft Corporation Efficient navigation of and interaction with a remoted desktop that is larger than the local screen
US8818027B2 (en) * 2010-04-01 2014-08-26 Qualcomm Incorporated Computing device interface
US20110246875A1 (en) 2010-04-02 2011-10-06 Symantec Corporation Digital whiteboard implementation
KR20110121888A (ko) 2010-05-03 2011-11-09 삼성전자주식회사 휴대용 단말기에서 팝업 메뉴를 확인하기 위한 장치 및 방법
JP5323010B2 (ja) 2010-07-05 2013-10-23 レノボ・シンガポール・プライベート・リミテッド 情報入力装置、その画面配置方法、およびコンピュータが実行可能なプログラム
US20120011465A1 (en) 2010-07-06 2012-01-12 Marcelo Amaral Rezende Digital whiteboard system
US8922499B2 (en) 2010-07-26 2014-12-30 Apple Inc. Touch input transitions
KR20120015968A (ko) 2010-08-14 2012-02-22 삼성전자주식회사 휴대 단말기의 터치 오동작 방지 방법 및 장치
JP5625615B2 (ja) 2010-08-20 2014-11-19 株式会社リコー 電子情報ボード装置
JP5644266B2 (ja) 2010-08-30 2014-12-24 株式会社リコー 電子黒板システム、電子黒板装置、電子黒板システムの制御方法及びプログラム
KR101685363B1 (ko) 2010-09-27 2016-12-12 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US10740117B2 (en) 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US8655945B2 (en) 2010-11-16 2014-02-18 International Business Machines Corporation Centralized rendering of collaborative content
US8963961B2 (en) * 2010-12-29 2015-02-24 Sap Se Fractal whiteboarding
US20120176328A1 (en) 2011-01-11 2012-07-12 Egan Teamboard Inc. White board operable by variable pressure inputs
US20120179994A1 (en) 2011-01-12 2012-07-12 Smart Technologies Ulc Method for manipulating a toolbar on an interactive input system and interactive input system executing the method
KR20140024854A (ko) 2011-02-08 2014-03-03 하워쓰, 인크. 멀티모달 터치스크린 상호대화 장치들, 방법들 및 시스템들
US9566655B2 (en) 2011-02-22 2017-02-14 Mitsubishi Heavy Industries, Ltd. Impeller brazing method
WO2012135231A2 (en) 2011-04-01 2012-10-04 Social Communications Company Creating virtual areas for realtime communications
US20120260176A1 (en) 2011-04-08 2012-10-11 Google Inc. Gesture-activated input using audio recognition
US20120278738A1 (en) 2011-04-26 2012-11-01 Infocus Corporation Interactive and Collaborative Computing Device
US20140055400A1 (en) 2011-05-23 2014-02-27 Haworth, Inc. Digital workspace ergonomics apparatuses, methods and systems
WO2012162411A1 (en) 2011-05-23 2012-11-29 Haworth, Inc. Digital whiteboard collaboration apparatuses, methods and systems
US9465434B2 (en) 2011-05-23 2016-10-11 Haworth, Inc. Toolbar dynamics for digital whiteboard
US9471192B2 (en) 2011-05-23 2016-10-18 Haworth, Inc. Region dynamics for digital whiteboard
US9075561B2 (en) * 2011-07-29 2015-07-07 Apple Inc. Systems, methods, and computer-readable media for managing collaboration on a virtual work of art
US20130222371A1 (en) 2011-08-26 2013-08-29 Reincloud Corporation Enhancing a sensory perception in a field of view of a real-time source within a display screen through augmented reality
US9948988B2 (en) * 2011-10-04 2018-04-17 Ricoh Company, Ltd. Meeting system that interconnects group and personal devices across a network
US9544158B2 (en) 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
WO2013104053A1 (en) 2012-01-11 2013-07-18 Smart Technologies Ulc Method of displaying input during a collaboration session and interactive board employing same
US20130218998A1 (en) 2012-02-21 2013-08-22 Anacore, Inc. System, Method, and Computer-Readable Medium for Interactive Collaboration
US10430036B2 (en) 2012-03-14 2019-10-01 Tivo Solutions Inc. Remotely configuring windows displayed on a display device
US20130282820A1 (en) 2012-04-23 2013-10-24 Onmobile Global Limited Method and System for an Optimized Multimedia Communications System
US9542080B2 (en) 2012-04-25 2017-01-10 Vmware, Inc. User interface virtualization of context menus
US9582142B2 (en) * 2012-05-02 2017-02-28 Office For Media And Arts International Gmbh System and method for collaborative computing
US9479549B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard with federated display
US9479548B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard access to global collaboration data
JP6339312B2 (ja) 2012-06-28 2018-06-06 株式会社ファインデックス アプリケーション連携システム、アプリケーション連携方法及びアプリケーション連携プログラム
CN104412257A (zh) 2012-07-12 2015-03-11 索尼公司 显示控制设备、显示控制方法、程序和通信系统
US9319634B2 (en) 2012-07-18 2016-04-19 Polycom, Inc. Facilitating multi-party conferences, including allocating resources needed for conference while establishing connections with participants
US20140040767A1 (en) 2012-08-03 2014-02-06 Oracle International Corporation Shared digital whiteboard
WO2014023432A1 (en) 2012-08-09 2014-02-13 Livestudies Srl Apparatus and method for a collaborative environment using distributed touch sensitive surfaces
US9113033B2 (en) 2012-08-28 2015-08-18 Microsoft Technology Licensing, Llc Mobile video conferencing with digital annotation
US20140101122A1 (en) * 2012-10-10 2014-04-10 Nir Oren System and method for collaborative structuring of portions of entities over computer network
GB2507997A (en) 2012-11-16 2014-05-21 Promethean Ltd Collaborative interactive devices with display content dependent on relative position
US9575712B2 (en) 2012-11-28 2017-02-21 Microsoft Technology Licensing, Llc Interactive whiteboard sharing
US20140149901A1 (en) 2012-11-28 2014-05-29 Motorola Mobility Llc Gesture Input to Group and Control Items
WO2014121209A2 (en) 2013-02-04 2014-08-07 Haworth, Inc. Line drawing behavior for digital whiteboard
US10304037B2 (en) 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
US9063631B2 (en) 2013-03-15 2015-06-23 Chad Dustin TILLMAN System and method for cooperative sharing of resources of an environment
US9110573B2 (en) 2013-04-26 2015-08-18 Google Inc. Personalized viewports for interactive digital maps
US9250761B2 (en) 2013-04-30 2016-02-02 Microsoft Technology Licensing, Llc Auto-grouping of application windows
US9489114B2 (en) 2013-06-24 2016-11-08 Microsoft Technology Licensing, Llc Showing interactions as they occur on a whiteboard
US9383902B2 (en) 2013-06-28 2016-07-05 Successfactors, Inc. Systems and methods for presentations with live application integration
US9846526B2 (en) 2013-06-28 2017-12-19 Verizon and Redbox Digital Entertainment Services, LLC Multi-user collaboration tracking methods and systems
JP6425877B2 (ja) 2013-09-26 2018-11-21 株式会社ジャパンディスプレイ 表示素子およびその製造方法
US20150248384A1 (en) 2014-02-28 2015-09-03 Ricoh Company, Ltd. Document sharing and collaboration
US9471957B2 (en) 2014-03-28 2016-10-18 Smart Technologies Ulc Method for partitioning, managing and displaying a collaboration space and interactive input system employing same
US9983854B2 (en) 2014-04-21 2018-05-29 LogMeln, Inc. Managing and synchronizing views in multi-user application with a canvas
JP6296919B2 (ja) 2014-06-30 2018-03-20 株式会社東芝 情報処理装置及びグループ化実行/解除方法
US20160142471A1 (en) 2014-11-17 2016-05-19 Smart Technologies Ulc Systems and methods for facilitating collaboration among multiple computing devices and an interactive display device
WO2016086221A2 (en) 2014-11-28 2016-06-02 Abhijit Rao System for information display
US10261741B2 (en) 2015-02-09 2019-04-16 Prysm, Inc Content sharing with consistent aspect ratios
US10802783B2 (en) 2015-05-06 2020-10-13 Haworth, Inc. Virtual workspace viewport following in collaboration systems
US20160378291A1 (en) 2015-06-26 2016-12-29 Haworth, Inc. Object group processing and selection gestures for grouping objects in a collaboration system
JP6593066B2 (ja) 2015-09-29 2019-10-23 日本電気株式会社 情報処理装置、情報処理方法及びプログラム
US10255023B2 (en) 2016-02-12 2019-04-09 Haworth, Inc. Collaborative electronic whiteboard publication process

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089682A1 (en) * 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Collaborative environment for sharing visualizations of industrial automation data
US20090251457A1 (en) * 2008-04-03 2009-10-08 Cisco Technology, Inc. Reactive virtual environment
US20120229425A1 (en) * 2011-03-07 2012-09-13 Ricoh Company, Ltd. Associating Information on a Whiteboard with a User
US20120320073A1 (en) * 2011-06-14 2012-12-20 Obscura Digital, Inc. Multiple Spatial Partitioning Algorithm Rendering Engine

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590231A (zh) * 2017-09-06 2018-01-16 北京大有中城科技有限公司 一种通过平台事物链解决实际需要的实现方法
CN112236780A (zh) * 2018-08-03 2021-01-15 惠普发展公司,有限责任合伙企业 消耗品特性标识
CN115428414A (zh) * 2020-04-23 2022-12-02 斯纳普公司 事件覆盖邀请消息传送系统
CN111881273A (zh) * 2020-07-13 2020-11-03 北京捷通华声科技股份有限公司 问答处理方法、装置

Also Published As

Publication number Publication date
EP3005143B1 (en) 2021-04-07
US10949806B2 (en) 2021-03-16
US11481730B2 (en) 2022-10-25
US20210374673A1 (en) 2021-12-02
AU2014275495B2 (en) 2020-03-12
JP2016525736A (ja) 2016-08-25
AU2014275495A1 (en) 2015-12-10
EP3005143A1 (en) 2016-04-13
US20140222916A1 (en) 2014-08-07
US20170330150A1 (en) 2017-11-16
KR20160017050A (ko) 2016-02-15
US10304037B2 (en) 2019-05-28
WO2014197015A1 (en) 2014-12-11
CA2914371A1 (en) 2014-12-11
EP3005143A4 (en) 2016-12-21
JP6417408B2 (ja) 2018-11-07

Similar Documents

Publication Publication Date Title
CN105378702A (zh) 包括空间事件地图的协作系统
US20240118858A1 (en) Virtual workspace viewport following in collaboration systems
CN105190617A (zh) 具有对全局协作数据的白板访问的协作系统
US9479549B2 (en) Collaboration system with whiteboard with federated display
CN107667338A (zh) 用于在协作系统中对对象进行分组的对象组处理和选择手势
CN105210394A (zh) 用于共享显示器的多用户控制和流媒体传输的系统和方法
US11212127B2 (en) Digital workspace sharing over one or more display clients and authorization protocols for collaboration systems
US11910048B2 (en) Synchronizing video content among clients in a collaboration system
US20200341882A1 (en) Systems and methods for determining a creative collaboration index
US11956289B2 (en) Digital workspace sharing over one or more display clients in proximity of a main client
US11887056B2 (en) Collaboration system including a spatial event map
CN110249306A (zh) 在跨多个端点对应用进行导航时跟踪用户进展

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160302