包括空间事件地图的协作系统的制作方法_5

文档序号:9620886阅读:来源:国知局
计算机系统110还将笔画信息发射到协作服务器105 (图1B),其将 其写入其显示器数据库106中并且将其发射回到共享会话的各种设备102中。然后,设备 102中的每个设备102可以显示线条(只要线条和设备的视口相交),因此所有这样的设备 102将同时粗略地示出线条。
[0429] 图10-14是图示由服务器、显示客户端或者二者执行的逻辑的流程图。可以使用 使用存储在对计算机系统可访问的存储器中,并且由处理器、包括现场可编程集成电路的 专用逻辑硬件和专用逻辑硬件和计算机程序的组合可执行的计算机程序编程的处理器实 现该逻辑。关于本文中的所有流程图,应当理解,可以在不影响所实现的功能的情况下组 合、并行执行或者以不同的顺序执行许多步骤。在一些情况中,如读者将理解到,只要也做 出某些其他改变,则步骤的重新布置将实现相同的结果。在其他情况中,如读者将理解到, 只要满足某些条件,则步骤的重新布置将实现相同的结果。此外,应当理解,本文中的流程 图仅示出与本发明的理解有关的步骤,并且应当理解,可以在所示的那些步骤之前、之后和 之间执行用于完成其他功能的多个附加步骤。
[0430] 图10图示了当用户加入会话作为永久工作空间的一部分时执行在服务器侧上的 基本逻辑。流程图以用户的登录开始(1210),在1210中,用户可以通过由用户处理的设备 将用户标识符输入网络门户访问中,诸如个人计算机、触摸板、智能电话等。然后,执行用户 验证协议(1212),其中协议例如可以包括要求用户输入个人密码以核实用户实际上是已经 录入用户标识符的人。然后,使用例如门户机器,协作服务器可以将链接呈现给其中所验证 的用户被授权加入的工作空间(1214)。然后,协作服务器可以针对用户确定所选择的显示 客户端和所选择的工作空间。可以通过用户拥有的机器与使用在其上执行验证协议的通信 信道的门户之间的消息的交换做出该确定。当标识显示客户端和工作空间时,协作服务器 可以使得显示客户端能够下载针对所选择的工作空间的数据(1218)。而且,协作服务器可 以将客户端添加到所选择的协作的实况事件信道(1220)。
[0431] 图11图示了当用户加入工作空间时执行在客户端上的基本双信道逻辑。流程图 以执行在第一信道上的用户的登录开始(1230),在1230中,用户可以输入用户标识符并且 将其传输给网络门户。然后,执行用户验证协议(1232)。用户然后使用在其上执行验证协 议的通信信道打开门户处的页面,其显示授权工作空间的链接(1234)。然后,用户使用第 一信道来输入标识所选择的工作空间和待使用在当前会话中的显示客户端的数据(1236)。 在服务器使能所选择的显示客户端之后,用户活动可以转移到显示客户端与服务器之间的 信道,其然后可以下载针对所选择的会话的工作空间数据(1238)。显示客户端可以然后遍 历工作空间数据并且构造由显示客户端所管理的显示区域的图像(1240)。此外,显示客户 端可以然后加入实况事件信道(1242)。客户端侧网络节点和服务器侧网络节点可以建立用 于在会话的建立期间空间事件地图数据的加密和解密的协议。
[0432] 在一个示例中,下载工作空间数据的过程包括:向每个显示客户端递送针对会话 的事件对象。包括工作空间数据,可以提供当前用户位置。备选地,跟随有标识显示客户端 如何计算与默认位置(诸如工作空间数据的中心处)偏移的消息的顺序,可以将工作空间 数据递送给与用户相关联的当前位置。然后,每个显示客户端可以遍历事件对象以标识具 有会话位置的那些对象,该会话位置映射到由显示客户端所管理的显示区域。遍历事件对 象的逻辑可以包括例如R-TREE搜索,其被配置为找到映射到显示区域的工作空间中的对 象。然后,可以渲染所标识的对象,可能与门户通信以获得与由显示器所管理的显示区域上 的对象有关的数据。
[0433] 图12图示了与下载工作空间数据有关的客户端上的基本逻辑。逻辑以从协作服 务器的工作空间下载数据开始(1250)。显示客户端渲染处于用户焦点周围的显示客户端 的范围内的对象(1252),其中根据可以由服务器提供或者在客户端侧网络节点处维持的工 作空间内的位置确定用户焦点。显示客户端保持工作空间数据或者工作空间数据的至少一 部分,其包括具有靠近用户焦点的工作空间数据中的当前位置的对象。在会话期间,响应 于用户输入或者其他数据,显示客户端遍历工作空间中的位置以确定工作空间中的当前位 置(1254)。然后,显示客户端渲染所遍历的位置周围的范围内的对象(1256)。在会话的 结束处,由显示客户端所映射的工作空间内的最后的位置保存为协作服务器上的用户位置 (1258)〇
[0434] 图13图示了由用于管理对显示器的访问的服务器侧所执行的逻辑,在许多用户 之间共享对该显示器的访问。在该示例中,服务器维持具有对服务器的活动链接的自由显 示器的列表。当显示墙打开并且在其中显示器空闲的等待时段期间维持时,可以设立这些 链接。服务器可以包括确定自由显示器是否具有到服务器的链接的逻辑(1260)。如果检 测到具有到服务器的链接的墙,那么对其分配一次性标识码或者PIN。当分配标识码时,然 后将墙添加到"大厅",其包括协作系统中的可用墙(即自由墙)的列表(1264)。服务器 还执行针对授权用户登录的循环等待(1266)。当检测登录时,服务器提醒用户选择工作空 间和选择针对其对用户授权的墙(1268)。然后,服务器要求用户录入与所选择的墙相关联 的一次性标识码。如果服务器不接收针对所选择的墙的匹配的标识码,那么发出错误信号 (1273)。当服务器接收针对所选择的墙的匹配的标识码(1272)时,然后显示客户端或者与 所选择的墙相关联的客户端链接到针对会话的实况事件信道,并且禁用或者改变一次性标 识码,同时占用墙(1274)。此外,服务器将工作空间数据发送给所选择的(一个或多个)显 示客户端(1276)。然后,用户能够在接收工作空间数据之后与会话协作。当用户退出会话 时,然后使显示墙自由(1280)。如果显示墙保持可用,则其可以指示使得服务器的自由显示 墙,并且添加到具有新标识码的大厅,这跟随步骤1260、1262、1264的顺序。在一些实施例 中,在超时时间间隔终止时,改变标识码,这提供对可能窃取来自未使用的墙的标识码的入 侵者的登录的安全性。
[0435] 图14图示了在管理联合显示器阵列的服务器侧上执行的基本逻辑。该流程图中 的第一步涉及将工作空间数据下载到阵列中的显示客户端中的每个显示客户端(1302)。每 个显示客户端渲染用户位置的客户端偏移的显示客户端周围的对象(1304)。服务器监视客 户端事件消息(1306)。当服务器接收来自阵列中的显示客户端之一的客户端事件消息时, 确定消息是否涉及工作空间数据或者仅涉及阵列(1308)。阵列消息是阵列信道上的广播, 使得仅参加联合显示器阵列的那些显示客户端接收消息(1310)。工作空间数据消息是协作 信道上的广播,使得利用工作空间数据加入会话的所有显示客户端得以酌情更新(1312)。 如上文所描述的,仅与联合显示器阵列有关的那些消息可以包括诸如更新工具栏和绘制区 域的位置的那些消息。此外,不改变工作空间中的对象的位置并且不创建或者修改作为协 作数据的一部分的对象的消息可以被确定为本地阵列仅有消息。
[0436] 图15以图1B的风格图示了支持其中存在广泛地分布的显示器的分布式显示器协 作的系统。系统包括协作服务器105与存储工作空间数据的相关联的显示器数据库106。 协作服务器通过通信链接104连接到多个墙1502a、1502b、1502c,其可以例如位于芝加哥、 洛杉矶和圣保罗。协作服务器105还耦合到诸如触摸板或者其他个人计算平台的用户设备 1504,其可以被期望为已知用户所有。如上文所提到的,结合图13,协作服务器105可以维 持被称为"大厅"109的数据结构中的自由显示墙的列表。与显示墙中的每一个显示墙相关 联的是一次性标识码,包括与芝加哥的显示墙相关联的〇Τ-ΡΙΝ#1、与洛杉矶的显示墙相关 联的〇T-PIN#2和与圣保罗的显示墙相关联的0T-PIN#3。拥有个人设备1504的用户可以登 录到由协作服务器105所管理的门户,输入用户ID和用户密码以用于用户验证的目的。然 后,拥有个人设备1504的用户可以提供针对用户想要工作空间数据显示到的显示墙的工 作空间标识符和标识码。当协作服务器成功地验证用户并且确定用户已经标识对用户授权 的显示墙和对用户授权的工作空间时,与所标识的显示器相关联的显示客户端可以链接到 协作事件信道并且使能下载工作空间数据。当针对给定会话使能显示设备时,将其从大厅 109移除,并且删除或者改变一次性标识码。每次将显示器添加到大厅109时,可以计算新 一次性标识码以接受可以对工作空间数据有贡献的用户输入。该系统可以包括管理逻辑, 其基于确保针对工作空间数据所授权的用户已经物理访问所选择的显示器的协议,将工作 空间数据提供给所选择的显示器。
[0437] 图16是客户端侧网络节点的简化图,包括客户端处理器1600、显示器驱动程序 1601、本地显示器和用户接口(诸如触摸屏1602)、包括由堆栈所控制的通信接口的协议栈 1604、存储实况空间事件地图的高速缓存副本和使用在渲染可显示区域中的图像和其他图 形构建的高速缓存的本地存储器1605和执行输入协议的输入协议设备1607,所述输入协 议将来自诸如触摸屏或者鼠标的有形用户输入设备转译为由命令解释器1606可使用的形 式。适合的输入协议设备1607可以包括与TUI0工业标准兼容的软件,例如以用于解释与 显示墙的有形和多点触摸交互。协议栈1604从客户端处理器1600接收API兼容消息和因 特网消息,并且如上文所讨论的,协议栈1604包括建立API兼容消息可以跨越其交换的协 作服务器的信道1611的资源和服务本地显示器1602的其他通信的支持中的因特网的链接 1610。显示器驱动程序1601控制局部显示器1602上的可显示区域1603。可以通过客户端 侧网络节点中的客户端处理器或者其他编程资源逻辑地配置可显示区域1603。此外,对于 本地显示器的给定实现方案而言,可显示区域1603的物理大小可以是固定的。客户端处理 器1600可以包括诸如浏览器的处理资源、在可显示区域1603上的位置与工作空间之间转 移所使用的映射逻辑和实现API流程的逻辑。
[0438] 本文所描述的协作的系统可以包括像图16的客户端侧网络节点。客户端侧网络 节点包括具有物理显示空间、用户输入设备、处理器和通信端口的显示器。客户端侧网络节 点配置有以下逻辑:
[0439] 用于建立到服务器侧网络节点的链接;
[0440] 用于从服务器侧网络节点检索与具有工作空间中的位置的图形目标有关的事件 的空间事件日志的至少一部分,日志中的条目包括事件的图形目标的工作空间中的位置、 事件的时间和图形目标的目标标识符;
[0441] 用于将物理显示空间中的可显示区域映射到工作空间内的所映射的区域,以标识 所映射的区域内的空间事件日志中的条目,将由所标识的条目所标识的图形目标渲染到可 显示区域上;
[0442] 用于接受来自创建与显示在可显示区域内的图形目标的修改和创建有关的事件 的用户输入设备的输入数据,并且基于事件将消息发送给客户端侧网络节点。
[0443] 图16中所示的客户端侧网络节点图示了包括应用接口的示例,所述应用接口包 括用于与服务器侧网络节点通信的过程。
[0444] 图16中所示的客户端侧网络节点图示了根据API配置的示例,其中事件包括被指 定为第一类事件和第二类事件,第一类事件要被分布在其他客户端侧网络节点之间和要被 添加到服务器侧网络节点中的空间事件日志历史事件,第二类事件被指定为待分布在其他 客户端侧网络节点之间但是不被添加到服务器侧网络节点中的空间事件日志的短暂事件。
[0445] 图17是由客户端侧网络节点所执行的流程的简化流程图。出于图示的目的而提 供简化流程图中所图示的顺序,并且可以被修改为适于特定实现方案。例如,可以并行执行 许多步骤。在该流程中,执行给定客户端对特定协作会话和其空间事件地图的访问的客户 端登录。协作服务器提供空间事件地图的标识符或者其部分的标识符,其可以由客户端用 于从协作服务器(1701)检索空间事件地图。客户端使用所提供的(一个或多个)标识符 检索来自协作服务器的空间事件地图或者其至少一部分(1702)。
[0446] 例如,客户端可以请求其已经准予的如下访问的给定工作空间的所有历史:
[0447] curl http://localhost:4545/<sessionId>/history
[0448] 服务器将对所有数据块做出响应(每个其自身的时间区段)
[0449] ["/〈sessionId>/history/〈startTime>/〈endTime> ? b = 1"]
[0450] ["/〈sessionId>/history/〈startTime>/〈endTime> ? b = 1"]
[0451] 对于每个数据块,客户端将请求事件:
[0452] Curl http://localhost:4545/<sessionId>/history/<startTime>/
[0453] 〈endTime〉?b =〈cache-buster〉
[0454] 每个所响应的数据块是事件阵列并且可由客户端高速缓存的:
[0455]
[0456]
[0457] 单独的消息可以包括如屏幕上的位置、笔画的颜色、宽度、所创建的时间等信息。
[0458] 然后,客户端使用例如服务器提供的焦点确定工作空间中的位置,并且显示本地 显示器的界限(1703)。遍历空间事件地图的本地副本以聚集映射到本地显示器的可显示区 域的空间事件地图的显示数据。在一些实施例中,客户端可以聚集渲染定义比本地显示器 的可显示区域更大的区域的裁剪界限内的空间事件地图条目的显示器的支持中的附加数 据,以便为支持预测的用户交互(诸如工作空间内的缩放和平移)做准备(1704)。客户端 处理器使用空间事件地图事件、短暂事件和显示数据执行过程以渲染落在显示器界限内的 空间事件地图的部分(1705)。该过程诸如从TUI0驱动程序的本地用户接口接收消息。此 外,该过程从协作服务器接收套接字API消息(1710)。响应于本地用户接口消息,过程可以 将输入分类为历史事件和短暂事件,将套接字上的API消息发送给如由API所指定的历史 事件和短暂事件二者的协作服务器,更新具有历史事件的空间事件地图的经高速缓存的部 分和产生用于历史事件和短暂事件二者的显示数据(1707)。响应于套接字API消息,过程 更新具有由服务器侧网络节点所标识的历史事件的空间事件地图的经高速缓存的部分,对 如由API所指定的套接字上的API消息做出响应,并且产生通过套接字消息通知其关于的 历史事件和短暂事件二者的显示数据(1711)。
[0459] 图18是用于解释由客户端侧网络节点执行的用户输入的过程的简化流程图。出 于图示的目的而提供简化流程图中所图示的顺序,并且可以被修改为适于特定实现方案。 例如,可以并行执行多个步骤。该过程以接收来自有形用户输入设备的本地I/O事件类型 消息连同显示器上的物理坐标开始(1800)。该过程将显示器上的物理坐标映射到工作空间 中的坐标并且使用其空间事件地图的本地高速缓存的副本标识映射到工作空间坐标的空 间事件地图中的对象(如果有的话)(1801)。然后,基于工作空间坐标、所标识的对象、上下 文和/或事件类型,处理器确定API事件类型,包括事件是历史事件还是短暂事件(1802)。 然后,客户端处理器产生兼容API的消息,更新空间事件地图的本地高速缓存的副本,并且 更新显示数据(1803)。使用如本文所描述的服务器侧网络节点和客户端侧网络节点,一些 基本流程包括登录和下载客户端侧网络节点的会话的空间事件地图,并且连接到实况工作 空间空间事件的工作空间信道。
[0460] 登录和下载苧间事件地图。
[0461] 1、客户端请求加入协作会话的验证,并且打开工作空间。
[0462] 2、服务器授权客户端参加会话,并且开始加载针对工作空间的空间事件地图。
[0463] 3、客户端请求诸如与会话相关联的空间事件地图的"内容表"。
[0464] 4、通过客户端请求内容表中所标识的空间事件地图中的每个部分。空间事件地图 的这些部分一起将工作空间表示为从工作空间时间的开始到现在的线性序列。"工作空间 时间的开始"可以被认为是来自协作会话的初始时间的经过时间或者与会话相关联记录的 绝对时间。
[0465] 5、客户端将空间事件地图的经高速缓存的副本装配在其本地存储器中。
[0466] 6、客户端使用其空间事件地图显示工作空间的适当区域,以确定本地显示器上的 当前可显示区域或者视口关于什么。
[0467] 连接到实况苧间事件地图事件的会话信道:
[0468] 1、在验证之后,客户端请求加入工作空间信道。
[0469] 2、服务器将客户端添加到工作空间参加者的列表以经由工作空间信道接收更新。
[0470] 3、客户端接收来自承载历史事件和短暂事件二者的工作空间的实况消息,以及像 聊天室的通信范式。例如,一系列短暂事件和历史事件可以与将空间事件地图中的对象移 动到空间事件地图中的新位置相关联。
[0471] 4、客户端通过更改空间事件地图的其本地副本并且重新渲染其本地显示器,对来 自服务器侧网络节点的实况消息作出反应。
[0472] 5、实况消息包括将被持续为过度加倍的"历史"事件、空间事件地图中所记录的事 件和不会变为会话的历史的一部分的信息片段的"短暂"事件。
[0473] 6、当客户端通过与其本地显示器的交互来创建、修改、移动或者删除对象时,通过 客户端侧网络节点创建新事件并且跨越工作空间信道发送给服务器侧网络节点。服务器侧 网络节点保存会话的空间事件地图中的历史事件,并且将历史事件和短暂事件二者分发到 会话中的所有活动客户端。
[0474] 7、当退出会话时,客户端与工作空间信道断开。
[0475] 协作系统可以具有许多分布式数字显示器,其被用于基于由共享协作服务器所管 理的工作空间数据而显示图像和接受可以对工作空间数据有贡献的用户输入二者,同时使 得每个显示器能够迅速地构建基于会话历史、实时本地输入和来自其他显示器的实时输入 而显示的图像。
[0476] 如本文所使用的,信息的条目的"标识"不一定要求信息的该条目的直接指定。通 过简单地参考通过一个或多个间接层的实际信息或者通过标识一起足以确定信息的实际 条目的不同信息中的一个或多个条目,可以在字段中"标识"信息。另外,术语"指示"在本 文中用于意指与"标识"相同。
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1