具有对全局协作数据的白板访问的协作系统的制作方法

文档序号:9438941阅读:200来源:国知局
具有对全局协作数据的白板访问的协作系统的制作方法
【专利说明】具有对全局协作数据的白板访问的协作系统
【背景技术】
[0001] 本发明涉及用于数字协作的装置、方法和系统,并且更特别地涉及促进多个并发 用户具有对全局协作数据的访问的数字白板系统。
[0002] 数字白板常常被用于交互式演示和其他目的。一些白板被联网并且可以被用于协 作,使得对一个白板上的显示图像做出的修改被复制在另一白板或者显示器上。大规模白 板为超过一个用户在相同表面上同时地呈现或者注释提供机会。然而,在多个用户的协调 中可能发生问题,并且在一些情况中,其对单个白板的使用可能限制其表达的灵活性。
[0003] 此外,数字白板可以包括单个房间中的大型显示屏幕或者屏幕的阵列,其被配置 为提供如交互表面的大型"白板"。因此,应该预期到,可以由许多用户在针对不同协作的不 同时间共享大型数字白板。在用于协作的协作数据对限于授权用户的访问保密的情况下, 仅在其处用户交互的数字白板被分布到许多网站并且不一定在单个用户的排他性控制下, 关于对协作的访问的安全性出现问题。
[0004] 另外,系统的分布式性质导致互相交互的不同地点的多个用户的可能性,并且该 多个用户可以同时和有时在没有其他用户正在观察协作数据时改变相同协作数据。这产生 关于多个位置的并发性以及关于共享关于协作数据的当前状态的信息的问题。
[0005] 因此,期望以这样的方式找到允许多个用户共享白板的分布式网络中的协作数 据:每个用户具有随着想法的实时交换表达他或她的想法的最大空闲的,同时提供足以保 护协作的保密性质的安全性。创建对问题的鲁棒的解决方案的机会因此出现。可以实现更 好的想法、协作和结果。

【发明内容】

[0006] 描述了一种协作系统,其可以具有许多分布式数字白板,该分布式数字白板用于 基于由共享协作服务器管理的协作数据来显示图像并且用于接受可以对协作数据有贡献 的用户输入。该系统可以包括管理逻辑,其基于确保针对协作数据授权的用户已经物理访 问所选择的白板的协议,来向所选择的白板提供协作数据。而且,协作系统可以具有许多分 布式数字白板,其用于基于由共享协作服务器管理的协作数据来显示图像并且用于接受可 以对协作数据有贡献的用户输入,同时使得每个白板能够基于会话历史、实时本地输入和 来自其他白板的实时输入迅速地构建要显示的图像。在本文中所描述的技术的又一方面, 涉及基于以阵列布置的联合显示器的白板架构,其合作以充当用于基于由远程协作服务器 管理的协作数据来显示图像并且用于接受可以对协作数据有贡献的用户输入的一个白板。
[0007] 提供以上概述以便提供对本文所描述的协作系统的一些方面的基本理解。该概述 并不旨在标识发明的关键或重要元素或者描绘发明的范围。
【附图说明】
[0008] 将参考其具体实施例描述本发明,并且将对未按比例绘制的附图进行参考,并且 其中:
[0009] 图IA和IB (统称为图1)图示了数字白板协作环境的示例方面。
[0010] 图2图示了包括地理地分布到可以被递送以供授权用户使用的协作数据的多个 显示墙的协作系统。
[0011] 图3和4图示了图1的白板上的绘制区域行为的方面。
[0012] 图5A-5E(统称为图5)是针对用于协作的协作数据的一部分的数据结构的简化 图。
[0013] 图6图示了如本文中所描述的系统的一个示例中的协作中的角色的功能特征。
[0014] 图7是使用联合显示器实现的数字白板的示图。
[0015] 图8是计算机系统110(例如客户端设备计算机系统(图IB))的简化框图。
[0016] 图9是可访问地存储到客户端设备计算机系统110(图1B)的数据库的示意图。
[0017] 图10是图示可以用于协作系统的用户登录顺序的服务器侧逻辑的方面的流程 图。
[0018] 图11是图示可以用于协作系统的用户登录顺序的客户侧逻辑的方面的流程图。
[0019] 图12是图示针对用于协作会话的墙中的显示器客户端的客户端侧逻辑的方面的 流程图。
[0020] 图13是图示管理协作系统中的分布式显示墙的利用的服务器侧逻辑的方面的流 程图。
[0021] 图14是图示针对用作协作系统中的白板的联合显示系统的客户端侧逻辑的方面 的流程图。
[0022] 图15以图IB的风格图示了支持其中存在广泛地分布的显示器的分布式白板协作 的系统。
【具体实施方式】
[0023] 呈现以下描述以使本领域的技术人员能够制造和使用本发明,并且在特定应用和 其要求的上下文中被提供。所公开的实施例的各种修改对于本领域技术人员而言将是容易 地显而易见的,并且在不脱离本发明的精神和范围的情况下,本文所限定的通用原理可以 适于其他实施例和应用。因此,本发明不旨在限于所示的实施例,而是将符合与本文所公开 的原理和特征一致的最宽的范围。
[0024] 图IA图示了数字白板协作环境的示例方面。在示例中,多个用户101a-h(统称 为101)可以期望在在图IA中全部一般地被指定为103a-d(统称为103)的复杂的图像、音 乐、视频、文档和/或其他媒体的创建中彼此协作。所图示的示例中的用户使用各种设备以 便彼此协作,例如平板计算机102a、个人计算机(PC) 102b和许多大格式白板102c、102d、 102e (统称为设备102)。在图示的示例中,大格式白板102c (有时在本文中被称为"墙") 容纳用户中的超过一个用户(例如,用户IOlc和101d、用户IOle和IOlf以及用户IOlg和 IOlh)〇
[0025] 图IB图示了与图IA相同的环境。如图IB中所示,有时在本文中被称为"墙"的大 格式显示器102c、102d、102e由相应的计算机系统110控制,其进而与中央协作服务器105 网络通信,其具有对数据库106的可访问。如本文所使用的,术语"数据库"不一定隐含结 构的任何统一。例如,当一起考虑时,两个或两个以上分离的数据库仍然构成如本文使用该 术语那样的"数据库"。
[0026] 可以使用诸如Apache或者nginx的Web服务器软件托管运行在协作服务器105 处的应用。例如,可以在运行诸如LINUX的操作系统的虚拟机上对其进行托管。服务器105 在图IB中启发式地被图示为单个计算机。然而,由于对于基于大规模云的服务而言是典型 的,服务器架构可以涉及各自运行服务器应用的许多计算机的系统。服务器架构包括通信 模块,其可以被配置用于各种类型的通信信道,包括协作会话中的每个客户端的超过一个 信道。例如,跨网络、客户端软件的近实时更新可以经由使用基于消息的信道、基于例如Web Socket (网络套接字)协议与服务器通信模块通信。对于文件上载以及接收初始大容量协 作数据而言,客户端软件可以经由HTTP与服务器通信模块通信。服务器可以运行例如以由 Ruby-on-Rails服务的JavaScript编写的前端程序,例如基于Oauth支持认证/授权,并且 支持多个分布式客户端之间的协调。服务器通信模块可以包括基于消息的通信协议栈,诸 如Web Socket应用,其执行记录协作数据中的用户动作的功能,并且如果适用的话,则将用 户动作转播(relay)给其他客户端。该系统可以运行在例如node. JS平台上,或者运行在 例如设计为处理高负载套接字应用的其他服务器技术上。
[0027] 数据库106存储例如针对每个协作的协作数据集的数字表示,其中协作数据集可 以包括或者标识可显示在白板画布上的对象和与这样的对象有关的事件。可以存在针对许 多不同协作的协作数据集。针对给定协作的数据集可以被配置在数据库中,或者作为与协 作关联的机器可读文档。该画布还可以映射到协作空间中的区域,其可以具有无限或者实 际上无限的尺寸。该协作数据包括标识由显示墙上的显示区域中的显示器客户端可显示的 对象的数据结构,并且将协作空间中的位置与由数据结构标识的对象相关联。每个设备102 仅显示整个协作空间的一部分。显示墙具有用于显示对象的显示区域,该显示区域被映射 到协作空间中的对应的区域,其与集中在协作空间中的用户位置上或否则关于协作空间中 的用户位置定位的协作空间中的区域相对应。显示区域到协作空间中的对应的区域的映射 可由显示器客户端用于标识要被渲染在显示器上的显示区域内的协作数据中的对象,并且 标识链接显示器上的显示区域中的位置处的用户触摸输入的对象。
[0028] 如下文更详细地解释的,服务器105存储针对多个协作的协作数据集,并且向加 入会话的显示器客户端提供协作数据。协作数据随后由具有包括显示器客户端软件的适当 的软件112的计算机系统110用于确定要显示在白板上的图像,并且将用于交互的对象分 配到显示表面上的位置。在一些备选方案中,服务器105可以跟踪针对每个设备102的"视 口",其指示该设备上可视的画布的一部分,并且可以向每个设备102提供渲染视口所需要 的数据。在客户端设备上运行并且负责渲染绘图对象、处理用户输入并且与服务器通信的 应用软件可以基于HTML-5并且运行在浏览器环境中。这允许对许多不同客户端操作系统 环境的容易的支持。
[0029] 存储在数据库106中的用户接口数据包括各种类型的对象,诸如图像位图、视频 对象、多页文档、可扩展矢量图等等。设备102各自经由网络104与协作服务器105通信。 网络104包括所有形式的联网部件,诸如LAN、WAN、路由器、交换机、WiFi部件、蜂窝部件、有 线和光学部件以及因特网。在一个场景中,用户101中的两个或两个以上用户定位在相同 的房间中,并且其设备102经由WiFi与协作服务器105通信。在另一场景中,用户101中 的两个或两个以上用户彼此分离数千英里,并且其设备102经由因特网与协作服务器105 通信。墙102c、102d、102e可以是多触摸设备,其不仅显示图像,而且可以感测通过利用触 针或者诸如一个或多个手指的身体的一部分来触摸显示表面所提供的用户手势。在一些实 施例中,墙(例如l〇2c)可以在一个或多个手指(或者例如整个手)的触摸与触针的触摸 之间进行区分。在实施例中,墙通过发射红外光和检测所接收的光来感测触摸;从用户的 手指反射的光具有墙与周围所接收的光区分的特性。触针通过以下方式发射其自身的红外 光:墙可以与环境光和从用户的手指反射的光二者进行区分。墙l〇2c可以例如是垂直和水 平地平铺的由芬兰的赫尔辛基的MultiTouch公司制造的模型号MT553UTBL MultiTaction Cells的阵列。为了提供各种表达方式,墙102c以其维持"状态"的这样的方式进行操作。 即,其可以根据(除了其他方面)输入的顺序来对给定输入不同地作出反应。例如,使用工 具栏,用户可以选择许多可用的画笔类型和颜色中的任一种。一旦被选择,则墙处于在其中 触针的后续笔画将使用所选择的画笔类型和颜色绘制线条的状态。
[0030] 在说明性实施例中,阵列总计大约6'高和30'宽,其对于多个用户而言足够宽, 以站在墙的不同部分处并且同时对其进行操纵。然而,可以在多用户场景中限制墙上的表 达的灵活性,这是因为在该实施例中,墙在不同用户的手指或者由不同用户操作的触针之 间不进行区分。因此,如果一个用户将墙置于一个期望状态,则第二用户将被限于使用该相 同状态,这是因为墙不具有识别要被不同地对待的第二用户的输入的方式。
[0031] 为了避免该限制,系统限定墙102c上的"绘制区域"。如本文所使用的,绘制区域 是在其内墙的状态中的至少一个方面可以独立于墙上的其他区域而被改变的区域。在本实 施例中,在绘制区域之间可以不同的状态的方面是使用触针绘制在墙上的线条的性质。系 统对手指触摸行为的响应不受绘制区域影响。
[0032] 图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可以不具有 关于在任何给定时间具有对白板的访问的人员的信息。
[0033] 图3图示了墙102c。该示例中的墙
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1