CN105190617B - 具有对全局协作数据的白板访问的协作系统 - Google Patents

具有对全局协作数据的白板访问的协作系统 Download PDF

Info

Publication number
CN105190617B
CN105190617B CN201480016378.9A CN201480016378A CN105190617B CN 105190617 B CN105190617 B CN 105190617B CN 201480016378 A CN201480016378 A CN 201480016378A CN 105190617 B CN105190617 B CN 105190617B
Authority
CN
China
Prior art keywords
display
client
collaboration
user
wall
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.)
Active
Application number
CN201480016378.9A
Other languages
English (en)
Other versions
CN105190617A (zh
Inventor
A·M·詹森
A·皮尔逊
D·M·福利
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.)
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 CN105190617A publication Critical patent/CN105190617A/zh
Application granted granted Critical
Publication of CN105190617B publication Critical patent/CN105190617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Abstract

计算机系统具有对存储协作数据的数据库的访问,该协作数据用于具有协作空间的至少一个协作。该协作数据包括数据结构,该数据结构标识由显示器客户端在显示墙上可显示的对象并且将协作空间中的位置与对象相关联。系统包括:被配置为标识可用的显示墙的逻辑,每个可用的墙具有标识码;用于检测用户输入的逻辑,该用户输入标识针对空闲的显示墙中的一个显示器的协作和标识码;以及用于使能向针对所标识的显示墙的显示器客户端递送所标识的所述协作的协作数据的逻辑。

Description

具有对全局协作数据的白板访问的协作系统
背景技术
本发明涉及用于数字协作的装置、方法和系统,并且更特别地涉及促进多个并发用户具有对全局协作数据的访问的数字白板系统。
数字白板常常被用于交互式演示和其他目的。一些白板被联网并且可以被用于协作,使得对一个白板上的显示图像做出的修改被复制在另一白板或者显示器上。大规模白板为超过一个用户在相同表面上同时地呈现或者注释提供机会。然而,在多个用户的协调中可能发生问题,并且在一些情况中,其对单个白板的使用可能限制其表达的灵活性。
此外,数字白板可以包括单个房间中的大型显示屏幕或者屏幕的阵列,其被配置为提供如交互表面的大型“白板”。因此,应该预期到,可以由许多用户在针对不同协作的不同时间共享大型数字白板。在用于协作的协作数据对限于授权用户的访问保密的情况下,仅在其处用户交互的数字白板被分布到许多网站并且不一定在单个用户的排他性控制下,关于对协作的访问的安全性出现问题。
另外,系统的分布式性质导致互相交互的不同地点的多个用户的可能性,并且该多个用户可以同时和有时在没有其他用户正在观察协作数据时改变相同协作数据。这产生关于多个位置的并发性以及关于共享关于协作数据的当前状态的信息的问题。
因此,期望以这样的方式找到允许多个用户共享白板的分布式网络中的协作数据:每个用户具有随着想法的实时交换表达他或她的想法的最大空闲的,同时提供足以保护协作的保密性质的安全性。创建对问题的鲁棒的解决方案的机会因此出现。可以实现更好的想法、协作和结果。
发明内容
描述了一种协作系统,其可以具有许多分布式数字白板,该分布式数字白板用于基于由共享协作服务器管理的协作数据来显示图像并且用于接受可以对协作数据有贡献的用户输入。该系统可以包括管理逻辑,其基于确保针对协作数据授权的用户已经物理访问所选择的白板的协议,来向所选择的白板提供协作数据。而且,协作系统可以具有许多分布式数字白板,其用于基于由共享协作服务器管理的协作数据来显示图像并且用于接受可以对协作数据有贡献的用户输入,同时使得每个白板能够基于会话历史、实时本地输入和来自其他白板的实时输入迅速地构建要显示的图像。在本文中所描述的技术的又一方面,涉及基于以阵列布置的联合显示器的白板架构,其合作以充当用于基于由远程协作服务器管理的协作数据来显示图像并且用于接受可以对协作数据有贡献的用户输入的一个白板。
提供以上概述以便提供对本文所描述的协作系统的一些方面的基本理解。该概述并不旨在标识发明的关键或重要元素或者描绘发明的范围。
附图说明
将参考其具体实施例描述本发明,并且将对未按比例绘制的附图进行参考,并且其中:
图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的风格图示了支持其中存在广泛地分布的显示器的分布式白板协作的系统。
具体实施方式
呈现以下描述以使本领域的技术人员能够制造和使用本发明,并且在特定应用和其要求的上下文中被提供。所公开的实施例的各种修改对于本领域技术人员而言将是容易地显而易见的,并且在不脱离本发明的精神和范围的情况下,本文所限定的通用原理可以适于其他实施例和应用。因此,本发明不旨在限于所示的实施例,而是将符合与本文所公开的原理和特征一致的最宽的范围。
图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由相应的计算机系统110控制,其进而与中央协作服务器105网络通信,其具有对数据库106的可访问。如本文所使用的,术语“数据库”不一定隐含结构的任何统一。例如,当一起考虑时,两个或两个以上分离的数据库仍然构成如本文使用该术语那样的“数据库”。
可以使用诸如Apache或者nginx的Web服务器软件托管运行在协作服务器105处的应用。例如,可以在运行诸如LINUX的操作系统的虚拟机上对其进行托管。服务器105在图1B中启发式地被图示为单个计算机。然而,由于对于基于大规模云的服务而言是典型的,服务器架构可以涉及各自运行服务器应用的许多计算机的系统。服务器架构包括通信模块,其可以被配置用于各种类型的通信信道,包括协作会话中的每个客户端的超过一个信道。例如,跨网络、客户端软件的近实时更新可以经由使用基于消息的信道、基于例如Web Socket(网络套接字)协议与服务器通信模块通信。对于文件上载以及接收初始大容量协作数据而言,客户端软件可以经由HTTP与服务器通信模块通信。服务器可以运行例如以由Ruby-on-Rails服务的JavaScript编写的前端程序,例如基于Oauth支持认证/授权,并且支持多个分布式客户端之间的协调。服务器通信模块可以包括基于消息的通信协议栈,诸如WebSocket应用,其执行记录协作数据中的用户动作的功能,并且如果适用的话,则将用户动作转播(relay)给其他客户端。该系统可以运行在例如node.JS平台上,或者运行在例如设计为处理高负载套接字应用的其他服务器技术上。
数据库106存储例如针对每个协作的协作数据集的数字表示,其中协作数据集可以包括或者标识可显示在白板画布上的对象和与这样的对象有关的事件。可以存在针对许多不同协作的协作数据集。针对给定协作的数据集可以被配置在数据库中,或者作为与协作关联的机器可读文档。该画布还可以映射到协作空间中的区域,其可以具有无限或者实际上无限的尺寸。该协作数据包括标识由显示墙上的显示区域中的显示器客户端可显示的对象的数据结构,并且将协作空间中的位置与由数据结构标识的对象相关联。每个设备102仅显示整个协作空间的一部分。显示墙具有用于显示对象的显示区域,该显示区域被映射到协作空间中的对应的区域,其与集中在协作空间中的用户位置上或否则关于协作空间中的用户位置定位的协作空间中的区域相对应。显示区域到协作空间中的对应的区域的映射可由显示器客户端用于标识要被渲染在显示器上的显示区域内的协作数据中的对象,并且标识链接显示器上的显示区域中的位置处的用户触摸输入的对象。
如下文更详细地解释的,服务器105存储针对多个协作的协作数据集,并且向加入会话的显示器客户端提供协作数据。协作数据随后由具有包括显示器客户端软件的适当的软件112的计算机系统110用于确定要显示在白板上的图像,并且将用于交互的对象分配到显示表面上的位置。在一些备选方案中,服务器105可以跟踪针对每个设备102的“视口”,其指示该设备上可视的画布的一部分,并且可以向每个设备102提供渲染视口所需要的数据。在客户端设备上运行并且负责渲染绘图对象、处理用户输入并且与服务器通信的应用软件可以基于HTML-5并且运行在浏览器环境中。这允许对许多不同客户端操作系统环境的容易的支持。
存储在数据库106中的用户接口数据包括各种类型的对象,诸如图像位图、视频对象、多页文档、可扩展矢量图等等。设备102各自经由网络104与协作服务器105通信。网络104包括所有形式的联网部件,诸如LAN、WAN、路由器、交换机、WiFi部件、蜂窝部件、有线和光学部件以及因特网。在一个场景中,用户101中的两个或两个以上用户定位在相同的房间中,并且其设备102经由WiFi与协作服务器105通信。在另一场景中,用户101中的两个或两个以上用户彼此分离数千英里,并且其设备102经由因特网与协作服务器105通信。墙102c、102d、102e可以是多触摸设备,其不仅显示图像,而且可以感测通过利用触针或者诸如一个或多个手指的身体的一部分来触摸显示表面所提供的用户手势。在一些实施例中,墙(例如102c)可以在一个或多个手指(或者例如整个手)的触摸与触针的触摸之间进行区分。在实施例中,墙通过发射红外光和检测所接收的光来感测触摸;从用户的手指反射的光具有墙与周围所接收的光区分的特性。触针通过以下方式发射其自身的红外光:墙可以与环境光和从用户的手指反射的光二者进行区分。墙102c可以例如是垂直和水平地平铺的由芬兰的赫尔辛基的MultiTouch公司制造的模型号MT553UTBL MultiTaction Cells的阵列。为了提供各种表达方式,墙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的实施例中包括诸如画笔类型、画笔大小和颜色的线条外观性质。出于示例的目的,可以对系统进行配置,使得当用户使用触针或者一个或多个手指(在本文中有时共同地被称为书写工具)触摸墙时,工具栏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将利用默认线条性质,而不是由用户101c针对绘制区域512先前所设定的那些线条性质对其进行绘画。用户101d然后可选地触摸工具栏520上的控制以便改变区域514内的线性外观性质。区域514中绘制的后续线条将然后采用新线条外观性质。区域512的线条外观性质将保持不改变。
还可以使绘制区域自动地跟踪触针的移动。虽然很多可能的跟踪算法对于读者而言将是显而易见的,但是跟随这些最小规则的算法将是优选的:(1)只要触针保持相对靠近区域的中心,则区域不移动;和(2)随着触针逼近区域界限,区域移动使得界限保持在触针的前面。
绘制区域提供用户交互的一个示例,其可以对本地显示墙有影响,但是不对全局协作数据有影响。如该示例中所示,对象301、302的位置不受区域内的绘制区域、工具栏和绘制叠加的分配影响。当然,在其他类型的用户接口交互中,可以移动对象301、302的位置,并且这样的移动可以是与全局协作数据中的对象有关的事件。
在2013年2月4日提交的、题为“REGION DYNAMICS FOR DIGITAL WHITEBOARD”于共同未决的美国申请第13/758,984号中描述了涉及基于与本地墙交互的用户输入的解释的各种行为,其通过上文引用加以合并。这些行为说明对墙处的用户输入和图像数据的本地处理,其可以由在一些实施例中本地计算机系统110执行,而对协作服务器处维持的共享协作数据很少或者没有影响。
图5A-5E表示可以是由协作服务器105处的数据库维持的协作数据的一部分的数据结构。在图5A中,图示了事件数据结构。事件是与可以导致协作数据中的变化的协作数据的交互。因此,事件可以包括事件标识符、会话标识符、事件类型参数、客户端标识符、协作空间中的位置的阵列,其可以包括用于对应的事件和时间戳的一个或多个。例如,将期望的是,时间戳具有大约几毫秒的分辨率或者甚至更精细的分辨率,以便最小化针对影响单个对象的竞争事件的竞态条件的可能性。而且,事件数据结构可以包括UI目标,其标识客户端显示器处的触摸屏上的笔画链接到的协作数据中的对象。事件可以包括风格事件,其指示例如笔画的显示参数。事件可以包括文本类型事件,其指示文本对象的协作空间中的条目、修改或者移动。事件可以包括卡片类型事件,其指示卡片类型对象的协作空间中的创建、修改或者移动。事件可以包括笔画类型事件,其标识用于笔画的位置阵列和用于笔画的显示参数,诸如例如颜色和线条宽度。
图5B图示了卡片数据结构。该卡片数据结构可以提供属性的高速缓存,其标识用于协作数据中的对象的当前状态信息,包括会话标识符、卡片类型标识符、阵列标识符、客户端标识符、卡片的尺寸、与卡片相关联的文件的类型和协作空间内的会话位置。
图5C图示了将多个c事件和对象合并到可捕集合(被称为数据块)中的数据结构。该数据结构包括会话ID和被包括在数据块中的事件的标识符和创建数据块的时间戳。
图5D图示了用于到加入所选择的协作中的会话的用户的链接的数据结构。该数据结构可以包括访问令牌、用于会话显示器客户端的客户端标识符、链接到显示器客户端的用户标识符、指示用户访问会话的最后时间的参数、和终止时间以及用于承载关于会话的各种信息的cookie。该信息可以例如维持针对用户的协作空间内的当前位置,其可以在用户每次登录时用于确定协作数据以在登录关联到的显示器客户端处进行显示。
图5E图示了显示器阵列数据结构,其可以使用在与通过联合显示器实现的大格式白板相关联中,每个显示器具有显示器客户端。这样的联合显示器中的显示器客户端合作以充当单个白板。协作数据可以维持显示器阵列数据结构,其通过阵列ID标识显示器的阵列,并且标识每个显示器的会话位置。每个会话位置可以包括联合显示器的区域内的x轴偏移和y轴偏移、会话标识符和深度。
图6是表示用于创建、修改、分布和显示用于协作的协作数据的分布式协作系统的功能架构的示图。基本配置包括协作服务601、门户服务602和显示器客户端603,该协作服务601管理由诸如服务器105的服务器执行的事件数据,该门户服务602可以由诸如服务器105的服务器执行或者位于对服务器和客户端可访问的其他计算机系统中,并且该显示器客户端603位于用户交互活跃的墙处。显示器客户端603与协作服务601和门户602通信。显示器客户端603与协作服务601之间的通信信道613管理会话历史的下载和会话事件的实况更新。此外,显示器客户端603可以跨信道613将图像上载到协作服务601。显示器客户端603跨通信信道623与门户602通信。门户602管理用于协作数据、会话管理和用户管理的主页。该门户可以被用于用户登录、认证,并且用于向通信信道613递送图像文件等等作为备选方案或者与通信信道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通信,其可以然后将本地事件引导回到与会话相关联的显示器客户端的组,并且将全局事件引导到与协作活跃会话的所有显示器客户端和存储协作数据的数据库。
包括联合显示器的单个白板处的显示器客户端可以耦合到对应的显示器的所实现的单独的计算机系统,或者可以使用具有耦合到对应的显示器的虚拟机的单个计算机系统被实现。
在协作系统的实施例中,基于每个显示器客户端的两个通信信道,来由协作服务器105和显示器客户端执行应用程序接口API,如参考图6所建议的。在联合显示白板中,显示器客户端711-714中的每个显示器客户端可以利用服务器独立地维持两个信道。第一信道是被配置用于关于实况事件的通信的基于消息的系统。在一个示例中,利用协作服务601使用Websocket信道之上的socket请求的集合来实现该第一信道,并且由服务器用于一旦连接,就利用相关数据(新笔画、卡片、客户端等等)更新客户端。基于消息的信道还可以处理初始连接握手。第二信道是具有门户602的更多的无状态类型链路,诸如HTTP/REST接口,其可以用于可高速缓存的响应以及发布数据(即图像和卡片)。而且,可以使用HTTP请求而不是支持高速缓存的基于消息的信道(Websocket)来完成将协作数据初始加载到显示器客户端。
在一个示例中,可以在经由Websocket维持与协作服务601连接的信道上执行套接字请求(Socket Request)。所交换的消息可以是单独的UTF-8编码的JSON阵列。显示器客户端可以与服务器建立套接字连接,承载会话标识符或者以链接到会话的方式。可以根据以下描述理解被包括在示例系统中的消息结构和一些消息类型。
消息结构
每个阵列的第一元素是sender-id,其指定发起消息的客户端。sender-id在服务器上的所有会话之间是唯一的。从服务器发送到客户端的id和cr消息使其sender-id设置为-1。每个阵列的第二元素是双字符代码。该代码限定阵列中的剩余的参量以及预期的动作。该结构的例外是服务器期望从客户端看到的初始消息。
有效消息类型
以下是由该示例网络协议(Network Protocol)支持的消息。这些消息中的许多消息采用以下参数:
sender-id
发送消息的客户端的ID,或者如果消息利用服务器发起,则-1。
客户端ID请求
//服务器<--客户端
["id",sessionId,zoomLevel,x1,y1,x2,y2]
要求该请求以便与socket API交互。
该请求开始异步client-id请求/响应握手。下一区段解释新客户端(包括所提供的客户端ID)的异步确认。
sessionId(字符串)加入的会话的id
zoomLevel(整数)由该客户端所期望的缩放级别
x1,y1(整数,可选的)用户视口的期望的原点
x2,y2(整数,可选的)用户视口的期望的范围点
不存在利用该消息发送的sender-id。
该消息中所发送的缩放级别(zoom level)是该客户端的优选的缩放级别。如果客户端(经由di消息)加入空显示器阵列,则客户端的优选的缩放级别变为用于显示器阵列的初始缩放级别。如果客户端加入现有的显示器阵列,则忽略其id消息中所发送的优选的缩放级别,并且(在av消息中)发送与现有的显示器阵列相关联的缩放级别。
客户端ID响应
//服务器-->客户端
[-1,"id",client-id]
要求客户端存储经分配的客户端ID以在后续socket请求中使用。
向新客户端通知其ID。在这种情况中,sender-id被设置为-1
client-id
(字符串)新加入的客户端的ID
加入房间
//服务器<--客户端
[sender-id,"jr",room-id,[data]]
[sender-id,"jr","lobby"]
[sender-id,"jr","session",session-id]
[sender-id,"jr","array",{arrayId:"myArrayId",x:0,y:0,width:1920,height:1080}]
通过服务器客户端加入房间的尝试
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-code}]
[-1,"room","session",{sessionName:session-name}]]
room-id
包含以下之一∶大厅或会话
databag
特定房间的变量包
大厅提供:
pin
包含用于墙认证的pin
会话提供:
sessionName
包含会话的名称
房间列表响应:
//服务器-->客户端
[-1,"rl",roomMembershipList]
向客户端通知房间成员。房间成员包括关于访问与你访问的相同的房间的客户端的信息。
roomMembershipList
(房间成员对象的阵列)
会话请求
//服务器<--客户端
[sender-id,"sr"]
向服务器通知想要可加入的活跃会话的列表。
会话列表
//服务器-->客户端
[-1,"sl",sessionList]
向客户端通知可加入的活跃会话。
sessionList(array of strings)
设置卡片位置,Z指数的边界
//服务器<->客户端
[client-id,"or",card-id,x1,y1,x2,y2,z-order]
设定针对卡的新边界矩形和z-order。
client-id(字符串)客户端的ID
card-id(字符串)卡片的ID
x1,y1(整数)新的卡片矩形的期望的原点
x2,y2(整数)新的卡片矩形的期望的范围点
z-order(整数)虚拟z指数排序顺序
设置卡片向量
//服务器<->客户端
[client-id,"cv",card-id,x,y]
向监听客户端指示指定的X和y已经发生“抛(fling)”。一旦卡片已经进入帮助掩蔽客户端之间的任何延迟问题的剩余部分,则发送建议关闭的“或”。
client-id(字符串)客户端的ID
card-id(字符串)卡片的ID
x,y(整数)针对每个方向的脉冲
删除卡片
//服务器<->客户端
[sender-id,"od",card-id]
删除卡片。
card-id(字符串)删除的卡片的ID
对象创建
//服务器->客户端
[sender-id,"oc",{
id:事件ID
baseName:图像路径的开始
ext:延伸
rect:[x,y,x2,y2]
actualWidth:宽度
actualHeight:高度
order:图像的z顺序
}]
构建针对该对象的图像url的基础路径的附加深度和延伸。
考虑到来自服务器的这些参数:
baseName:′/sessions/objects/sessionId/4ff633af45550592c60000c2′ext:′jpg′
缩放级别10的路径将看起来像:
′/sessions/objects/sessionId/4ff633af45550592c60000c2-10.jpg′
开始笔画
//服务器<-->客户端
[client-id,"sb",stroke-id,region-id,target-id,x,y,properties]
开始新的笔画。x和y指定开始点,性质是包含与用于该笔画的画笔的相关性质的JSON对象。
client-id(字符串)发起客户端的ID
region-id(字符串)所开始的笔画的区域的ID,空值意指笔画未在区域内发起。
target-id(字符串)绘制目标的ID
x,y(整数)该笔画的开始点
properties(对象)具有该结构的JSON对象:
{"brush":1,"size":2,"color":[214,0,17,1]}
继续笔画
//服务器<-->客户端
[sender-id,"sc",stroke-id,x,y]
继续笔画。
stroke-id(字符串)继续的笔画的ID
x,y(整数)笔画的新的终点
结束笔画
//服务器<-->客户端
[sender-id,"se",stroke-id]
结束由stroke-id指定的笔画
stroke-id(字符串)继续的笔画的ID
笔画
//服务器-->客户端
[sender-id,"sx",stroke-id,locs,properties,create-time,target-id]
向客户端通知完整的笔画。
stroke-id(字符串)笔画的ID
locs(阵列)格式:[10,1,10,2,12,3]中的笔画位置,其中在阵列中对坐标进行配对[x,y,x,y,x,y]
properties(对象)笔画性质(参见:“开始笔画”)
create-time(数据)创建笔画的时间,从1970年1月1日00:00:00UTC以毫秒为单位
target-id(字符串)笔画目标的ID
删除笔画
//服务器-->客户端
[sender-id,"sd",stroke-id,target-id]
删除笔画。
stroke-id(字符串)笔画的ID
target-id(字符串)笔画目标的ID
撤销
//服务器<--客户端
[sender-id,"un"]
撤销最后的笔画动作。
显示器阵列尺寸
//服务器-->客户端
[-1,"dd",arrayId,width,height]
向客户端通知对整体显示器阵列宽度和高度的改变
arrayID(字符串)显示器阵列的ID
width,height(整数)像素中的显示器阵列的宽度和高度
工具变化:
//服务器<--客户端
[sender-id,"tc",toolMode,region-id,brushSettings]
向显示器阵列通知工具变化。
toolMode string新的工具模式
region-id画布区域id
brushSettings hash新的画笔设置。例如:{size:10,color:"#FFF",shadow:false}
//服务器-->客户端
[sender-id,"tc",toolMode]
通知将工具改变到的显示器阵列中的同级显示器。
toolMode(字符串)新的工具模式
卡片锁定:
//服务器<-->客户端
[sender-id,"il",arrayId,cardsLocked]
锁定或解锁所有卡片。锁定的卡片将不被移动或被调整大小。也被用于同步保持平移锁定(pan-lock)工具栏图标。
arrayID(字符串)显示器阵列的ID
cardsLocked(boolean)锁定所有卡片的真,解锁所有卡片的假
区域打开:
//服务器<--客户端
[sender-id,"ro",region-id,[min,max],[locationX,locationY]]
向服务器通知在该客户端上已经打开的画布区域。服务器应当重新允许平移。
[min,max](阵列)显示空间(整数)中的画布区域水平范围
[locationX,locationY](阵列)打开工具栏的事件的位置
区域移动:
//服务器<--客户端
[sender-id,"rr",region-id,[min,max]]
向服务器通知在该客户端上已经移动画布区域。
[min,max](阵列)显示空间(整数)中的画布区域水平范围
区域关闭:
//服务器<--客户端
[sender-id,"rc",region-id]
向服务器通知已经关闭区域。服务器应当重新允许阵列的平移。
平移阵列:
//客户端-->服务器
[sender-id,"pa",newArrayOffsetX,newArrayOffsetY]
向服务器通知对新位置的平移
newArrayOffsetX,newArrayOffsetY(整数)在被平移之后显示器阵列的新位置
会话变化:
//服务器-->客户端
[sender-id,"cs",sessionId]
向显示器阵列中的同级显示器通知已经改变会话。
sessionId(string)是要切换的会话的id
缩放变化:
//客户端-->服务器
[sender-id,"zc",zoomLevel,zoomCenterX,zoomCenterY]
向服务器通知请求缩放。
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,"go"]
全局模式关闭
//服务器<-->客户端
[sender-id,"gc"]
###工具栏位置:
```javascript
//客户端<-->服务器
[-1,"tp",regionId,x,y]
regionId(字符串)工具栏属于的区域的id
x(整数)显示器阵列空间中的工具栏原点的x位置
y(整数)显示器阵列空间中的工具栏原点的y位置
保存位置:
//客户端-->服务器
[-1,"sp",zoomLevel,x,y]
保存当前屏幕位置。一旦重新连接,则客户端将接收将其发送回到该位置的“zc”(缩放变化,zoom-change)和“pa”(平移阵列,pan-array)消息。
zoomLevel(整数)设备当前处于的缩放级别
x(整数)屏幕的原点的x坐标
y(整数)屏幕的原点的y坐标
笔画ID
由客户端选择笔画ID。当前,其是利用由点分离的渐增整数组成的sender-id。这使得其在所有客户端之间的服务器环境内是唯一的。
目标ID
笔画可以附接到会话中的特定目标,比如浮在主要画布以上的子画布(被称为“卡片”)。在属于卡片的笔画的情况中,目标ID字段将包含卡片ID。通过使其目标ID与会话名称相同,来指定针对会话中的主要画布所预定的笔画。
建立连接
当客户端与服务器建立新网络套接字(websocket)连接时,服务器首先选择唯一客户端ID并且在“id”消息中将其发送给客户端。其然后发送具有设置为-1的sender-id的“pa”消息。
然后,典型流动用于客户端来执行(下文记录的)HTTP GET“/:sessionId/objects”,以接收关于会话中的卡片的信息。然后,客户端请求(下文也记录的)"/:sessionId/history",其接收历史url的阵列。这些被分解为分批以改进高速缓存能力。然后,客户端得到(GET)未被存储在本地高速缓存中的每个url,并且服务器将回复那些历史分批的笔画数据。
可以由执行例如与上文所讨论的Websocket链路并行的HTTP/REAL接口的门户602管理服务请求。所包括的示例服务请求:
历史:
得到历史书签的列表。每个书签是已高速缓存的笔画历史的平移。
curl http://localhost:4545/<sessionId>/history
sessionId你将得到历史的会话的名称
响应头部
HTTP/1.1200OK
X-Powered-By:Express
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:X-Requested-With
Content-Type:application/json;charset=utf-8
Content-Length:42
Date:Fri,14Sep 201217:35:14GMT
Connection:keep-alive
响应
["/<sessionId>/history/<startTime>/<endTime>?b=1"]
["/<sessionId>/history/<startTime>/<endTime>?b=1"]
sessionId(字符串)切换的会话的id
startTime(整数)开始时间戳
endTime(整数)结束时间戳
b高速缓存堵口(buster)
取回历史块:
得到开始时间与结束时间之间的历史。针对每个所返回的历史的平移需要做出请求。
curlhttp://localhost:4545/<sessionId>/history/<startTime>/<endTi me>? b=<cache-buster>
sessionId你将得到历史的会话的id
startTime如由初始历史请求给出的开始时间
endTime如由我的初始历史请求给出的结束时间
cacheBuster每当客户端存储的高速缓存不再有效时将改变的简单密钥。
响应头部
HTTP/1.1200OK
X-Powered-By:Express
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:X-Requested-With
Content-Type:application/json
Content-Length:2134
ETag:1346968307576
Date:Fri,14Sep 201217:35:14GMT
Connection:keep-alive
响应
(参见sx“stroke-complete”websocket消息的文档)
取回对象:
得到针对所请求的会话的对象(卡片/图像)。
curl http://localhost:4545/<sessionId>/objects
sessionId你将得到历史的会话的id
响应头部
HTTP/1.1200OK
X-Powered-By:Express
Access-Control-Allow-Origin:*
Access-Control-Allow-Headers:X-Requested-With Content-Type:application/json;charset=utf-8
Content-Length:285
Date:Fri,14Sep 201217:35:14GMT
Connection:keep-alive
响应
卡片模板:
得到用于创建高速缓存的、可重新使用的卡的全局卡片模板的列表。这与上载文件不同,这是因为相同的背景图像用于利用该模板创建的所有卡片。
curl http://localhost:4545/card_templates.json
响应
这些值可以被用于发送创建卡片消息:
//使用上文的粉红模板来创建新的卡片
["cc","50901cb0b9a18c190902a938",<regionIdOrNull>,<x>,<y>]
上载:
将图像发送给要被放置在会话中的服务器。
curl -F "file=@photo.TIF" -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.TIF"
http://localhost:4545/<sessionId>/object/upload
参数
x:下降的x位置
y:下降的y位置
clientId:客户端Id
sessionId:会话Id
arrayId:阵列标识符
order:z顺序
x2:下降的右下角的x位置
y2:下降的右下角的y位置
filename:所上载的文件的名称
图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中。一般地,由处理器子系统1014执行这些软件模块。
存储器子系统1026通常包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机访问存储器(RAM)1030和在其中存储固定指令的只读存储器(ROM)1032。文件存储子系统1028为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器连同相关联的可移除媒体、CD ROM驱动器、光盘驱动器或者可移除媒体盒。实现本发明的具体实施例的功能性的数据库和模块可以已经提供在计算机可读介质(诸如一个或多个CD-ROM)上,并且可以由文件存储子系统1028存储。除了其他方面,主存储器1026包含计算机指令,当其由处理器子系统1014执行时,使得计算机系统操作或者执行如本文所描述的功能。如本文所使用的,响应于主存储器子系统1026中的计算机指令和数据,据说运行在“主机”或“计算机”中或其上的过程和软件执行在处理器子系统1014上,该主存储器子系统1026包括用于这样的指令和数据的任何其他本地或者远程存储。
总线子系统1012提供用于让计算机系统的各种部件和子系统根据意图彼此通信的机制。虽然总线子系统1012示意性地示出为单个总线,但是总线子系统的备选实施例可以使用多个总线。
计算机系统自身可以具有变化的类型,包括个人计算机、便携式计算机、工作站、计算机终端、网络计算机、电视、大型机、服务器群或者任何其他数据处理系统或者用户设备。在一个实施例中,计算机系统包括多个计算机系统,每个计算机系统控制组成大格式白板102c的图块之一。由于计算机和网络的不断改变的性质,因而出于图示本发明的优选实施例的目的,图8中所描绘的计算机系统110的描述旨在仅作为特定示例。具有比图8中所描绘的计算机系统更多或更少的部件的计算机系统的许多其他配置是可能的。相同部件和变型还可以组成图1的协作环境中的其他设备102中的每一个设备102,以及协作服务器105和白板数据库106。在上文并入的PCT国际申请号PCT/US12/39176中阐述了可以被用于实现协作服务器105的计算机系统的另一实施例。
关于数字白板102c上的活跃的绘制区域的具体信息被存储在对显示器客户端的计算机系统110可访问的数据库中。数据库可以在不同实施例中采取许多形式,包括但不限于MongoDB数据库、XML数据库、关系数据库或者面向对象数据库。图9是图示数据库包含的特定信息和数据之间的具体关系的示意图。
在本文所描述的实施例中,每个绘制区域被认为是工具栏的孩子。对墙背景上的点的触摸产生工具栏,其进而产生绘制区域(尽管工具栏不一定是可见的,直到绘制区域打开)。类似地,为了关闭绘制区域,用户触摸绘制区域的工具栏上的“关闭”图标。因此,在图9中,数据库头部标有一个或多个工具栏ID 1110。每个工具栏ID 1110包括或者指向数据的相应的块1112,其指示工具栏的水平位置、工具栏的绘制区域的左边缘的水平位置、绘制区域的宽度、和绘制区域的绘制性质的集合。应当理解,许多变型是可能的,诸如指定绘制区域的右边缘位置而不是左边缘位置和指定相反的边缘位置而不是绘制区域宽度。工具栏位置仅具有水平值,因为在实施例中,其总是保持在相同垂直位置处。在另一实施例中,可以指定水平位置和垂直位置二者。
绘图性质包括或者指向各自与一个或多个值相关联的绘制属性的阵列1114。图9中的绘制性质包括画笔类型,其值可以例如指示“油漆”、“墨水”、“蜡笔”、“麦克笔”或“橡皮”,其中的每个在绘制在白板102c上时具有不同的外观特性。图9中的绘制性质还包括画笔宽度,其可以采用可用值的范围内的任何值。图9中的绘制性质还包括画笔颜色,其具有三个相关联的值:红色、绿色和蓝色内容。如本文所使用的,三个属性画笔类型、画笔宽度和画笔颜色被认为构成“线条外观性质”。在各种实施例中,绘制性质1114还可以包括其他属性,诸如影响其线条的位置或者线条的一部分的位置的那些属性。这些性质可以包括诸如圆角半径或者贝塞尔(bézier)曲线参数的属性。如图11中可见,不存在针对不同绘制区域的绘制性质(包括线条外观性质)相同的要求。其可以独立于彼此被建立,因此不需要其是同样的。在典型的情况中,其将不是同样的。
为了在白板102c上绘制线条,用户提供“绘制用户输入”,其指示线条的绘制。虽然其他实施例可以允许用户利用手指绘制,但是在图1的实施例中,仅触针可以用于指示线条的绘制。直观地,用户因此通过在绘制区域内使触针接触到白板102C表面并且沿着线条所期望的位置拖动触针来进行指示。通过将触针从白板102c表面抬起来指示线条绘制操作的结束。本地计算机系统110根据用户输入来确定线条上的点将被定位在何处,并且将其显示在白板102c上。计算机系统110还向协作服务器105传输笔画信息(图1B),其将其写入其白板数据库106中并且将其发射回到共享会话的各种设备102中。然后,设备102中的每个设备102可以显示线条(只要线条和设备的视口相交),因此所有这样的设备102将粗略同时地示出线条。
图10-14是图示由服务器、显示器客户端或者二者执行的逻辑的流程图。可以通过使用存储在对计算机系统可访问的存储器中并且由处理器、包括现场可编程集成电路的专用逻辑硬件、和专用逻辑硬件和计算机程序的组合可执行的计算机程序实现该逻辑。至于本文中的所有流程图,应当理解,可以在不影响所实现的功能的情况下,可以组合、并行执行或者以不同的顺序执行多个步骤。在一些情况中,如读者将理解到,只要也做出某些其他改变,则步骤的重新安排将实现相同的结果。在其他情况中,如读者将理解到,只要满足某些条件,则步骤的重新安排将实现相同的结果。而且,应当理解,本文中的流程图仅示出与本发明的理解有关的步骤,并且应当理解,可以在所示的那些步骤之前、之后和之间执行用于完成其他功能的多个附加的步骤。
图10图示了当用户加入会话作为永久协作的一部分时执行在服务器侧上的基本逻辑。流程图以用户的登录(1210)开始,在其中用户可以通过由用户处理的设备将用户标识符录入网络门户访问中,诸如个人计算机、触摸板、智能电话等等。接下来,执行用户验证协议(1212),其中协议例如可以包括要求用户录入个人密码以核实用户实际上是已经输入用户标识符的人。接下来,使用例如门户机器,协作服务器可以将链路呈现给其中所认证的用户被授权参与的协作(1214)。接下来,协作服务器可以针对用户确定所选择的显示器客户端和所选择的协作。可以通过用户拥有的机器与使用在其上执行验证协议的通信n信道的门户之间的消息的交换做出该确定。当标识显示器客户端和协作时,协作服务器可以使显示器客户端能够下载针对所选择的协作的数据(1218)。此外,协作服务器可以向用于所选择的协作的实况事件信道添加客户端(1220)。
图11图示了当用户加入协作时执行在客户端侧上的基本双信道逻辑。流程图以执行在第一信道上的用户的登录(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时,可以计算新的一次性标识码。
如本文所使用的,信息的项目的“标识”不一定要求对信息的该项目的直接指定。通过简单地参考通过一个或多个间接层的实际信息,或者通过标识一起足以确定信息的实际项目的不同信息中的一个或多个项目,可以在字段中“标识”信息。另外,术语“指示”在本文中被用于意指与“标识”相同的含义。
而且,如本文所使用的,如果前面的信号、事件或者值影响给定的信号、事件或者值,则给定信号、事件或者值“响应于”前面的信号、事件或者值。如果存在中间处理元素、步骤或者时间段,则给定信号、事件或者值可以仍然“响应于”前面的信号、事件或者值。如果中间处理元件或者步骤组合超过一个信号、事件或者值,则处理元件或者步骤的信号输出被认为“响应于”信号、事件或者值输入中的每一个。如果给定的信号、事件或者值与前面的信号、事件或者值相同,则这仅是退化情况,在这种情况中,给定信号、事件或者值仍然被认为“响应于”前面的信号、事件或者值。类似地限定给定的信号、事件或者值对另一信号、事件或者值的“依赖性”。
在这样的特征或者特征的组合能够根据本领域的技术人员的公知常识、基于本说明书作为整体被执行的程度上,不管这样的特征或者特征的组合是否解决在本文中所公开的任何问题,并且在不限制权利要求的范围的情况下,申请人于此孤立地公开了在本文中所描述的每个单独的特征和两个或两个以上这样的特征的任何组合。申请人指示本发明的方面可以包括任何这样的特征或者特征的组合。鉴于前述描述,对于本领域的技术人员而言将明显的是,可以在本发明的范围内做出各种修改。
出于说明和描述的目的,已经提供本发明的优选的实施例的前述描述。其不旨在是详尽或者将本发明限于所公开的精确形式。显然地,许多修改和变型对于本领域的技术人员而言将是显而易见的。例如,虽然本文中所描述的白板具有大格式,但是小幅面白板也可以被布置为使用多个绘制区域,但是多个绘制区域对于至少12′宽那样大的白板而言更有用。特别地并且非限制性地,由本专利申请的背景技术部分或者由通过引用并入的材料所描述、所建议的任何和所有变型特别地通过引用并入到本发明的实施例的本文的描述中。另外,通过在本文中关于任何一个实施例引用的所描述、所建议或者所并入的任何和所有变型还将被认为关于所述其他实施例加以教导。选择并且描述在本文中所描述的实施例,以便最好地解释本发明的原理和其实际应用,从而使得本领域技术人员能够针对各种实施例以及如适于预期的特定使用的各种修改而理解本发明。应当预期,本发明的范围由所附的权利要求和其等同方案所限定。

Claims (13)

1.一种支持分布式白板协作的系统,包括:
计算机系统,所述计算机系统具有通信模块和对所述计算机系统可访问的数据库,所述数据库存储针对具有协作空间的至少一个协作的协作数据,所述协作数据包括数据结构,所述数据结构标识由显示器客户端在显示墙上可显示的对象并且将所述协作空间中的位置与所述对象相关联,以及包括
被如下配置的逻辑:识别链接到所述计算机系统的空闲的显示墙,并且将一次性识别码发送到所识别的所述空闲的显示墙的显示器客户端,以供所述显示器客户端使用以在所述显示墙上显示所述一次性识别码;
用于经由识别协作和识别码的所述通信模块来检测用户输入的逻辑;以及
用于确定所识别的所述识别码与发送给所述显示器客户端的所述一次性识别码匹配,响应于所述确定而禁用或改变所识别的所述显示墙的所述一次性识别码,以及向所述显示器客户端递送针对所识别的所述协作的所述协作数据的逻辑。
2.根据权利要求1所述的系统,包括用于在使能向所述显示器客户端递送协作数据之前标识请求访问所述协作的用户的逻辑。
3.根据权利要求1所述的系统,其中所述协作数据包括针对所标识的协作的事件历史,所述事件历史由所述显示器客户端可用于在所述显示墙上渲染图像,并且用于递送所述协作数据的所述逻辑授权向所述显示器客户端递送所述事件历史中的一些或全部事件历史、并且将所述显示器客户端链接到用于实况事件的递送的事件信道,并且包括用于将标识的所述用户与所述事件信道相关联的逻辑。
4.根据权利要求1所述的系统,其中在所述计算机系统与除了所述显示器客户端之外的设备之间的信道上、在所述通信模块处接收标识协作和标识码的所述用户输入。
5.根据权利要求1所述的系统,其中所述显示墙具有用于显示对象的显示区域,所述显示区域被映射到所述协作空间中的对应的区域,并且包括用于向所述显示器客户端标识所述协作空间中的用户位置的逻辑,所述用户位置由所述显示器客户端可用于标识所述显示区域内的所述协作数据中的对象。
6.根据权利要求1所述的系统,包括用于在超时间隔期满时改变显示墙的所述标识码的逻辑。
7.一种支持分布式白板协作的方法,包括:
存储针对具有协作空间的至少一个协作的协作数据,所述协作数据由协作服务器可访问并且包括数据结构,所述数据结构标识由显示器客户端在显示墙上可显示的对象并且将所述协作空间中的位置与所述对象相关联;
识别链接到协作服务器的空闲的显示墙,并且将一次性识别码发送到所识别的所述空闲的显示墙的显示器客户端,以供所述显示器客户端使用以在所述显示墙上显示所述一次性识别码;
经由识别协作和识别码的通信模块来检测用户输入;以及
确定所识别的所述识别码与发送给所述显示器客户端的所述一次性识别码匹配,响应于所述确定而禁用或改变所识别的所述显示墙的所述一次性识别码,以及向所述显示器客户端递送针对所识别的所述协作的所述协作数据。
8.根据权利要求7所述的方法,包括在使能向所述显示器客户端递送协作数据之前标识请求访问所述协作的用户。
9.根据权利要求7所述的方法,其中所述协作数据包括所标识的协作的事件历史,所述事件历史由所述显示器客户端可用于在所述显示墙上渲染图像,并且所述协作数据的所述递送授权向所述显示器客户端递送所述事件历史中的一些或全部事件历史、将所述显示器客户端链接到用于实况事件的递送的事件信道、并且将标识的所述用户与所述事件信道相关联。
10.根据权利要求7所述的方法,包括在所述协作服务器与除了所述显示器客户端之外的设备之间的信道上接收标识协作和标识码的所述用户输入。
11.根据权利要求7所述的方法,其中所述显示墙具有用于显示对象的显示区域,所述显示区域被映射到所述协作空间中的对应的区域,并且包括向所述显示器客户端标识所述协作空间中的用户位置,所述用户位置由所述显示器客户端可用于标识所述显示区域内的所述协作数据中的对象。
12.根据权利要求7所述的方法,包括在超时间隔期满时改变显示墙的所述标识码。
13.一种包括存储由计算机系统可执行的一个或多个计算机程序的非瞬态计算机可读数据存储介质的制造品,所述一个或多个计算机程序包括:
用于访问数据库的逻辑,所述数据库存储针对具有协作空间的至少一个协作的协作数据,所述协作数据包括数据结构,所述数据结构标识由显示器客户端在显示墙上可显示的对象并且将所述协作空间中的位置与所述对象相关联;
被如下配置的逻辑:识别链接到所述计算机系统的空闲的显示墙,并且将一次性识别码发送到所识别的所述空闲的显示墙的显示器客户端,以供所述显示器客户端使用以在所述显示墙上显示所述一次性识别码;
用于经由识别协作和识别码的通信模块来检测用户输入的逻辑;以及
用于确定所识别的所述识别码与发送给所述显示器客户端的所述一次性识别码匹配,响应于所述确定而禁用或改变所识别的所述显示墙的所述一次性识别码,以及向所述显示器客户端递送针对所识别的所述协作的所述协作数据的逻辑。
CN201480016378.9A 2013-02-04 2014-02-03 具有对全局协作数据的白板访问的协作系统 Active CN105190617B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/759,017 2013-02-04
US13/759,017 US9479548B2 (en) 2012-05-23 2013-02-04 Collaboration system with whiteboard access to global collaboration data
PCT/US2014/014489 WO2014121220A1 (en) 2013-02-04 2014-02-03 Collaboration system with whiteboard access to global collaboration data

Publications (2)

Publication Number Publication Date
CN105190617A CN105190617A (zh) 2015-12-23
CN105190617B true CN105190617B (zh) 2019-01-08

Family

ID=51260412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480016378.9A Active CN105190617B (zh) 2013-02-04 2014-02-03 具有对全局协作数据的白板访问的协作系统

Country Status (5)

Country Link
US (1) US9479548B2 (zh)
EP (1) EP2951735A4 (zh)
CN (1) CN105190617B (zh)
CA (1) CA2900052C (zh)
WO (1) WO2014121220A1 (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948448B2 (en) * 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
WO2012162411A1 (en) 2011-05-23 2012-11-29 Haworth, Inc. Digital whiteboard collaboration apparatuses, methods and systems
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
US9465434B2 (en) 2011-05-23 2016-10-11 Haworth, Inc. Toolbar dynamics for digital whiteboard
KR101923487B1 (ko) 2011-09-29 2018-11-30 삼성전자 주식회사 통신 연결 서비스 제공 방법 및 장치
US9576046B2 (en) 2011-11-16 2017-02-21 Ptc Inc. Methods for integrating semantic search, query, and analysis across heterogeneous data types and devices thereof
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
US9875314B2 (en) * 2013-04-30 2018-01-23 Adobe Systems Incorporated Content request with HTTP request-header rendering template that is independent of content storage location
US20150271271A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. System and method of using dynamic rest messages with web-sockets
US9350791B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of injecting states into message routing in a distributed computing environment
US9961058B2 (en) 2014-03-21 2018-05-01 Ptc Inc. System and method of message routing via connection servers in a distributed computing environment
US9462085B2 (en) 2014-03-21 2016-10-04 Ptc Inc. Chunk-based communication of binary dynamic rest messages
US9350812B2 (en) 2014-03-21 2016-05-24 Ptc Inc. System and method of message routing using name-based identifier in a distributed computing environment
US9762637B2 (en) 2014-03-21 2017-09-12 Ptc Inc. System and method of using binary dynamic rest messages
US9560170B2 (en) 2014-03-21 2017-01-31 Ptc Inc. System and method of abstracting communication protocol using self-describing messages
US10313410B2 (en) 2014-03-21 2019-06-04 Ptc Inc. Systems and methods using binary dynamic rest messages
US9614724B2 (en) 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
WO2015164461A1 (en) * 2014-04-23 2015-10-29 President And Fellows Of Harvard College Telepresence apparatus and method enabling a case-study approach to lecturing and teaching
US10111099B2 (en) 2014-05-12 2018-10-23 Microsoft Technology Licensing, Llc Distributing content in managed wireless distribution networks
US10270819B2 (en) 2014-05-14 2019-04-23 Microsoft Technology Licensing, Llc System and method providing collaborative interaction
US9552473B2 (en) * 2014-05-14 2017-01-24 Microsoft Technology Licensing, Llc Claiming data from a virtual whiteboard
US9874914B2 (en) 2014-05-19 2018-01-23 Microsoft Technology Licensing, Llc Power management contracts for accessory devices
US9882990B2 (en) * 2014-06-02 2018-01-30 Microsoft Technology Licensing, Llc Enhanced discovery for ad-hoc meetings
US10439832B2 (en) 2014-06-02 2019-10-08 Microsoft Technology Licensing, Llc Enhanced discovery for AD-HOC meetings
US9717006B2 (en) 2014-06-23 2017-07-25 Microsoft Technology Licensing, Llc Device quarantine in a wireless network
US10170018B2 (en) * 2014-07-31 2019-01-01 Peter M. Curtis Cloud based server to support facility operations management
US9342227B2 (en) * 2014-09-02 2016-05-17 Microsoft Technology Licensing, Llc Semantic card view
SG10201501720UA (en) 2015-03-06 2016-10-28 Collaboration Platform Services Pte Ltd Multi user information sharing platform
US9922201B2 (en) 2015-04-01 2018-03-20 Dropbox, Inc. Nested namespaces for selective content sharing
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
EP3292524B1 (en) 2015-05-06 2020-07-08 Haworth, Inc. Virtual workspace viewport follow mode in collaboration systems
EP3294985A4 (en) 2015-05-13 2019-01-16 Halliburton Energy Services, Inc. TIMELINE VISUALIZATION OF EVENTS TO MONITOR BOHRLOCHOPERATIONS
US20170090713A1 (en) 2015-09-29 2017-03-30 International Business Machines Corporation Adjusting eraser size in drawing applications
US9998883B2 (en) * 2015-09-30 2018-06-12 Nathan Dhilan Arimilli Glass pane for collaborative electronic communication
GB201517437D0 (en) * 2015-10-02 2015-11-18 Pekama Ltd An access control system and method
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9571573B1 (en) 2015-10-29 2017-02-14 Dropbox, Inc. Peer-to-peer synchronization protocol for multi-premises hosting of digital content items
US10404938B1 (en) 2015-12-22 2019-09-03 Steelcase Inc. Virtual world method and system for affecting mind state
US9537952B1 (en) 2016-01-29 2017-01-03 Dropbox, Inc. Apparent cloud access for hosted content items
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
US9983844B2 (en) 2016-02-15 2018-05-29 International Business Machines Corporation Virtual content management
US10181218B1 (en) 2016-02-17 2019-01-15 Steelcase Inc. Virtual affordance sales tool
US10554697B1 (en) * 2016-06-14 2020-02-04 Open Invention Network Llc Browser application selection and navigation operations in a co-browsing environment
US20180025084A1 (en) * 2016-07-19 2018-01-25 Microsoft Technology Licensing, Llc Automatic recommendations for content collaboration
US10284492B2 (en) * 2016-08-10 2019-05-07 Microsoft Technology Licensing, Llc Control of casting to a media renderer
US11409952B2 (en) * 2016-08-16 2022-08-09 Myscript System and method for collaborative ink management
US11307735B2 (en) 2016-10-11 2022-04-19 Ricoh Company, Ltd. Creating agendas for electronic meetings using artificial intelligence
US10510051B2 (en) 2016-10-11 2019-12-17 Ricoh Company, Ltd. Real-time (intra-meeting) processing using artificial intelligence
US10860985B2 (en) 2016-10-11 2020-12-08 Ricoh Company, Ltd. Post-meeting processing using artificial intelligence
US10572858B2 (en) 2016-10-11 2020-02-25 Ricoh Company, Ltd. Managing electronic meetings using artificial intelligence and meeting rules templates
US10182210B1 (en) 2016-12-15 2019-01-15 Steelcase Inc. Systems and methods for implementing augmented reality and/or virtual reality
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method
US10375130B2 (en) 2016-12-19 2019-08-06 Ricoh Company, Ltd. Approach for accessing third-party content collaboration services on interactive whiteboard appliances by an application using a wrapper application program interface
US10250592B2 (en) 2016-12-19 2019-04-02 Ricoh Company, Ltd. Approach for accessing third-party content collaboration services on interactive whiteboard appliances using cross-license authentication
US10298635B2 (en) * 2016-12-19 2019-05-21 Ricoh Company, Ltd. Approach for accessing third-party content collaboration services on interactive whiteboard appliances using a wrapper application program interface
US10395405B2 (en) 2017-02-28 2019-08-27 Ricoh Company, Ltd. Removing identifying information from image data on computing devices using markers
CN106952323A (zh) * 2017-03-20 2017-07-14 广州视源电子科技股份有限公司 一种书写轨迹颜色设置方法及装置
US10412027B2 (en) 2017-03-31 2019-09-10 Otis Elevator Company System for building community posting
US10469274B2 (en) * 2017-04-15 2019-11-05 Microsoft Technology Licensing, Llc Live ink presence for real-time collaboration
US10545658B2 (en) 2017-04-25 2020-01-28 Haworth, Inc. Object processing and selection gestures for forming relationships among objects in a collaboration system
US11062271B2 (en) 2017-10-09 2021-07-13 Ricoh Company, Ltd. Interactive whiteboard appliances with learning capabilities
US10553208B2 (en) 2017-10-09 2020-02-04 Ricoh Company, Ltd. Speech-to-text conversion for interactive whiteboard appliances using multiple services
US10956875B2 (en) 2017-10-09 2021-03-23 Ricoh Company, Ltd. Attendance tracking, presentation files, meeting services and agenda extraction for interactive whiteboard appliances
US11030585B2 (en) 2017-10-09 2021-06-08 Ricoh Company, Ltd. Person detection, person identification and meeting start for interactive whiteboard appliances
US10552546B2 (en) 2017-10-09 2020-02-04 Ricoh Company, Ltd. Speech-to-text conversion for interactive whiteboard appliances in multi-language electronic meetings
CN107749843A (zh) * 2017-10-13 2018-03-02 北京中教在线科技有限公司 一种电子画板共享方法
US11934637B2 (en) 2017-10-23 2024-03-19 Haworth, Inc. Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces
US11126325B2 (en) 2017-10-23 2021-09-21 Haworth, Inc. Virtual workspace including shared viewport markers in a collaboration system
US10757148B2 (en) 2018-03-02 2020-08-25 Ricoh Company, Ltd. Conducting electronic meetings over computer networks using interactive whiteboard appliances and mobile devices
US20190312917A1 (en) * 2018-04-05 2019-10-10 Microsoft Technology Licensing, Llc Resource collaboration with co-presence indicators
WO2020176517A1 (en) 2019-02-25 2020-09-03 Haworth, Inc. Gesture based workflows in a collaboration system
US10976983B2 (en) 2019-03-26 2021-04-13 International Business Machines Corporation Smart collaboration across multiple locations
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface
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
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
US20230315271A1 (en) * 2022-03-18 2023-10-05 Sony Group Corporation Collaborative whiteboard for meetings

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1365460A (zh) * 1999-06-30 2002-08-21 西尔弗布鲁克研究股份有限公司 用于会议的方法和系统
CN101441539A (zh) * 2008-12-30 2009-05-27 深圳华为通信技术有限公司 电子白板系统、输入装置、处理装置及处理方法

Family Cites Families (131)

* 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
US5220657A (en) 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
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
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.
US5537526A (en) 1993-11-12 1996-07-16 Taugent, Inc. Method and apparatus for processing a display document utilizing a system level document framework
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
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
US6167433A (en) 1997-08-01 2000-12-26 Muse Technologies, Inc. Shared multi-user interface for multi-dimensional synthetic environments
CA2267733A1 (en) 1998-04-06 1999-10-06 Smart Technologies, Inc. Method for editing objects representing writing on an electronic writeboard
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
US6342906B1 (en) 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US6564246B1 (en) 1999-02-02 2003-05-13 International Business Machines Corporation Shared and independent views of shared workspace for real-time collaboration
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
WO2001061633A2 (en) 2000-02-15 2001-08-23 Siemens Technology-To-Business Center, Llc Electronic whiteboard system using a tactile foam sensor
EP1277104A1 (en) 2000-03-30 2003-01-22 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
US6930673B2 (en) 2000-11-13 2005-08-16 Gtco Calcomp Collaborative input system
US7003728B2 (en) 2000-12-21 2006-02-21 David Berque System for knowledge transfer in a group setting
WO2002073507A2 (en) 2001-03-14 2002-09-19 Given Imaging Ltd. Method and system for detecting colorimetric abnormalities
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
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
WO2004070396A2 (en) 2003-02-10 2004-08-19 N-Trig Ltd. Touch detection for a digitizer
US7369102B2 (en) 2003-03-04 2008-05-06 Microsoft Corporation System and method for navigating a graphical user interface on a smaller display
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
WO2006118558A1 (en) * 2004-04-14 2006-11-09 Sagi Richberg Method and system for connecting users
CN101820537B (zh) 2004-04-23 2013-04-03 住友电气工业株式会社 活动图像数据的编码方法、终端装置以及双向对话型系统
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
JP4795343B2 (ja) 2004-07-15 2011-10-19 エヌ−トリグ リミテッド 二重モードデジタイザの自動切り替え
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
WO2006094291A1 (en) 2005-03-03 2006-09-08 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 富士通株式会社 表示装置、表示方法、表示プログラム及び表示システム
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
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
US8351989B2 (en) 2007-02-23 2013-01-08 Lg Electronics Inc. Method of displaying menu in a mobile communication terminal
WO2009018314A2 (en) 2007-07-30 2009-02-05 Perceptive Pixel, Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
US20090089682A1 (en) 2007-09-27 2009-04-02 Rockwell Automation Technologies, Inc. Collaborative environment for sharing visualizations of industrial automation data
US9335869B2 (en) 2007-10-01 2016-05-10 Igt Method and apparatus for detecting lift off on a touchscreen
JP2011503709A (ja) 2007-11-07 2011-01-27 エヌ−トリグ リミテッド デジタイザのためのジェスチャ検出
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
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
US9965638B2 (en) 2008-01-28 2018-05-08 Adobe Systems Incorporated Rights application within document-based conferencing
WO2009105544A2 (en) 2008-02-19 2009-08-27 The Board Of Trustees Of The University Of Illinois Large format high resolution interactive display
US8531447B2 (en) 2008-04-03 2013-09-10 Cisco Technology, Inc. Reactive virtual environment
US8176434B2 (en) 2008-05-12 2012-05-08 Microsoft Corporation Virtual desktop view scrolling
KR20090120891A (ko) 2008-05-21 2009-11-25 (주)앞선교육 휴대용 원격 실물화상 전송 및 판서 장치, 이를 포함한 시스템 및 이를 이용한 멀티미디어 프레젠테이션 방법
US20090309846A1 (en) 2008-06-11 2009-12-17 Marc Trachtenberg Surface computing collaboration system, method and apparatus
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 座標検出装置の取り付け位置判断装置及び電子ボードシステム
GB2453672B (en) 2008-10-21 2009-09-16 Promethean Ltd Registration for interactive whiteboard
WO2010057106A2 (en) 2008-11-14 2010-05-20 Virtual Nerd, Llc. Whiteboard presentation of interactive and expandable modular content
US20100306696A1 (en) 2008-11-26 2010-12-02 Lila Aps (Ahead.) Dynamic network browser
USD600703S1 (en) 2008-12-02 2009-09-22 Microsoft Corporation Icon for a display screen
US20100205190A1 (en) 2009-02-09 2010-08-12 Microsoft Corporation Surface-based collaborative search
DE202010004430U1 (de) 2009-05-13 2010-08-12 Hasso-Plattner-Institut für Softwaresystemtechnik GmbH Vorrichtung zur Verarbeitung von Informationen
KR101055924B1 (ko) 2009-05-26 2011-08-09 주식회사 팬택 터치 기기에서의 유저 인터페이스 장치 및 방법
US8681106B2 (en) 2009-06-07 2014-03-25 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
WO2011000284A1 (en) 2009-06-30 2011-01-06 Techbridge, Inc. A multimedia collaboration system
CN101630240B (zh) 2009-08-18 2011-11-09 深圳雅图数字视频技术有限公司 电子白板设备及其绘图方法
WO2011029067A2 (en) 2009-09-03 2011-03-10 Obscura Digital, Inc. Large scale multi-user, multi-touch system
KR101390957B1 (ko) 2009-09-04 2014-05-02 나이키 인터내셔널 엘티디. 운동 활동 모니터링 및 트래킹
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
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
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
US20120019453A1 (en) 2010-07-26 2012-01-26 Wayne Carl Westerman Motion continuation of touch input
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 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US8655945B2 (en) 2010-11-16 2014-02-18 International Business Machines Corporation Centralized rendering of collaborative content
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
CN103534674A (zh) 2011-02-08 2014-01-22 海沃氏公司 多模态触摸屏交互装置、方法和系统
CN103298582B (zh) 2011-02-22 2015-09-02 三菱重工业株式会社 叶轮的制造方法
US9086798B2 (en) * 2011-03-07 2015-07-21 Ricoh Company, Ltd. Associating information on a whiteboard with a user
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
WO2012149176A2 (en) 2011-04-26 2012-11-01 Infocus Corporation Interactive and collaborative computing device
WO2012162411A1 (en) 2011-05-23 2012-11-29 Haworth, Inc. Digital whiteboard collaboration apparatuses, methods and systems
US20140055400A1 (en) 2011-05-23 2014-02-27 Haworth, Inc. Digital workspace ergonomics 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
US20120320073A1 (en) 2011-06-14 2012-12-20 Obscura Digital, Inc. Multiple Spatial Partitioning Algorithm Rendering Engine
US20130218998A1 (en) 2012-02-21 2013-08-22 Anacore, Inc. System, Method, and Computer-Readable Medium for Interactive Collaboration
US9479549B2 (en) 2012-05-23 2016-10-25 Haworth, Inc. Collaboration system with whiteboard with federated display
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
US10304037B2 (en) 2013-02-04 2019-05-28 Haworth, Inc. Collaboration system including a spatial event map
JP6425877B2 (ja) 2013-09-26 2018-11-21 株式会社ジャパンディスプレイ 表示素子およびその製造方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1365460A (zh) * 1999-06-30 2002-08-21 西尔弗布鲁克研究股份有限公司 用于会议的方法和系统
CN101441539A (zh) * 2008-12-30 2009-05-27 深圳华为通信技术有限公司 电子白板系统、输入装置、处理装置及处理方法

Also Published As

Publication number Publication date
WO2014121220A1 (en) 2014-08-07
EP2951735A4 (en) 2016-09-21
CA2900052A1 (en) 2014-08-07
US20140223334A1 (en) 2014-08-07
EP2951735A1 (en) 2015-12-09
CN105190617A (zh) 2015-12-23
CA2900052C (en) 2022-07-26
US9479548B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
CN105190617B (zh) 具有对全局协作数据的白板访问的协作系统
US11481730B2 (en) Collaboration system including a spatial event map
US11775246B2 (en) Virtual workspace viewport following in collaboration systems
US9479549B2 (en) Collaboration system with whiteboard with federated display
US20160378291A1 (en) Object group processing and selection gestures for grouping objects in a collaboration system
US11212127B2 (en) Digital workspace sharing over one or more display clients and authorization protocols for collaboration systems
CN105378768A (zh) 企业系统中的接近度和环境感知的移动工作空间
US20150172254A1 (en) System and Method For Operating a Social Networking Site on the Internet
US11956289B2 (en) Digital workspace sharing over one or more display clients in proximity of a main client
CN112861472A (zh) 共享文档的展示方法、装置、设备及计算机可读存储介质
US11861561B2 (en) Collaboration system including a spatial event map

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant