《包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.pdf》由会员分享,可在线阅读,更多相关《包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.pdf(23页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103959708 A (43)申请公布日 2014.07.30 CN 103959708 A (21)申请号 201280058265.6 (22)申请日 2012.10.01 61/541,540 2011.09.30 US 61/623,108 2012.04.12 US H04L 12/16(2006.01) G06F 15/16(2006.01) H04W 4/18(2006.01) (71)申请人 卡尔加里科学公司 地址 加拿大阿尔伯塔省 (72)发明人 MM托马斯 DB麦克法则恩 MJ斯特菲尔 (74)专利代理机构 北京三友知识产权代理有限 公司 111。
2、27 代理人 吕俊刚 刘久亮 (54) 发明名称 包括用于协作远程应用共享和注释的交互式 数字表层的非耦合应用扩展 (57) 摘要 系统和方法, 其用于向远程访问应用提供非 耦合应用扩展。所述应用扩展被提供为所述远程 访问应用的部分, 以提供不由底层应用程序另外 提供且可通过所述远程访问程序获得的特征和功 能。 可提供这些特征和功能, 而无需修改所述底层 应用程序, 因为它们与所述远程访问应用成一体。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2014.05.27 (86)PCT国际申请的申请数据 PCT/IB2012/001931 2012.10.01 (87)PCT国际申请。
3、的公布数据 WO2013/046015 EN 2013.04.04 (51)Int.Cl. 权利要求书 3 页 说明书 10 页 附图 9 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书10页 附图9页 (10)申请公布号 CN 103959708 A CN 103959708 A 1/3 页 2 1. 一种向远程访问应用提供非耦合应用扩展的方法, 其包括 : 提供包括应用层、 服务器层和客户端层的分层远程访问框架, 所述分层远程访问框架 在所述客户端层中的正访问所述远程访问应用的客户端计算设备之间传送关于所述远程 访问应用的第一信息 ; 在所述服务器层。
4、中提供服务器远程访问应用 ; 在所述客户端层中提供客户端远程访问应用 ; 在每个客户端计算设备处提供所述非耦合应用扩展, 所述非耦合应用扩展在所述客户 端计算设备处提供独立于所述远程访问应用的功能 ; 以及 更新扩展状态模型以包括关于所述非耦合应用扩展的第二信息, 使得在所述客户端计 算设备的至少一个中实现与所述非耦合应用扩展相关联的所述功能。 2. 根据权利要求 1 所述的方法, 其中状态模型用于在所述客户端计算设备处显示所述 远程访问应用。 3. 根据权利要求 1-2 中任一项所述的方法, 其还包括将所述扩展状态模型提供为具有 与所述非耦合应用扩展相关联的多个标签的标记语言文档。 4. 根。
5、据权利要求 1-3 中任一项所述的方法, 其还包括 : 在所述应用层处提供所述非耦合应用扩展 ; 以及 将所述扩展状态模型从应用层传送到所述客户端层。 5. 根据权利要求 1-4 中任一项所述的方法, 其中在所述应用层通过所述远程访问应用 来修改所述扩展状态模型。 6. 根据权利要求 1-5 中任一项所述的方法, 其还包括将交互式数字表层提供为所述非 耦合应用扩展。 7. 根据权利要求 6 所述的方法, 其还包括 : 在所述交互式数字表层内接收输入 ; 以及 在所述扩展状态模型的所述第二信息中表示所述输入。 8. 根据权利要求 7 所述的方法, 其中所述输入与所述客户端计算设备的每一个处的用 。
6、户相关联。 9. 根据权利要求 7-8 中任一项所述的方法, 其还包括将所述输入表示为所述客户端计 算设备的显示器内的 x-y 坐标。 10. 根据权利要求 6-9 中任一项所述的方法, 其还包括使鼠标光标位置数据与鼠标输 入事件分离以向所述客户端计算设备的每一个处的用户提供位置的指示。 11. 根据权利要求 6-19 中任一项所述的方法, 其还包括提供用户控件以禁止所述输入 与所述远程访问应用之间的交互。 12. 根据权利要求 6-11 中任一项所述的方法, 其还包括根据所述扩展状态模型中包含 的信息来在所述交互式数字表层中提供通知。 13. 根据权利要求 12 所述的方法, 其中所述通知包。
7、括网络状态指示器、 用户存在指示 器和用户控制指示器中的至少一个。 14. 一种向远程访问应用提供非耦合应用扩展的方法, 其包括 : 提供包括应用层、 服务器层和客户端层的分层远程访问框架, 所述分层远程访问框架 在所述客户端层中处于协作会话中并且正访问所述远程访问应用的客户端计算设备之间 权 利 要 求 书 CN 103959708 A 2 2/3 页 3 传送关于所述远程访问应用的第一信息 ; 在所述服务器层中提供服务器远程访问应用 ; 在每个客户端计算设备处提供客户端远程访问应用 ; 在所述服务器层、 所述客户端层和所述应用层的至少一个中提供所述非耦合应用扩 展, 所述非耦合应用扩展在所。
8、述客户端计算设备处提供独立于所述远程访问应用的功能 ; 以及 在扩展状态模型中传送关于所述非耦合应用扩展的第二信息, 使得在所述客户端计算 设备处实现与所述非耦合应用扩展相关联的所述功能。 15. 根据权利要求 14 所述的方法, 其还包括 : 将交互式数字表层提供为所述非耦合应用扩展 ; 在所述交互式数字表层内接收输入 ; 以及 在所述扩展状态模型的所述第二信息中表示所述输入。 16. 根据权利要求 15 所述的方法, 其中所述输入与所述客户端计算设备的每一个处的 用户相关联, 且其中所述输入被颜色编码到所述协作会话中的每个用户。 17. 根据权利要求 15-16 中任一项所述的方法, 其还。
9、包括使鼠标光标位置数据与鼠标 输入事件分离以向所述协作会话中的用户提供位置的指示, 其中所述指示与所述协作会话 中的特定用户相关联。 18. 根据权利要求 15-17 中任一项所述的方法, 其还包括提供控制机制以指定所述协 作会话中的哪个用户控制所述交互式数字表层。 19. 根据权利要求 14-18 中任一项所述的方法, 其还包括 : 将交互式数字表层提供为所述非耦合应用扩展 ; 在所述客户端计算设备处接收所述扩展状态模型中的所述第二信息 ; 以及 根据所述第二信息在所述交互式数字表层中提供通知。 20. 根据权利要求 19 所述的方法, 其中所述通知包括网络状态指示器、 用户存在指示 器和用。
10、户控制指示器中的至少一个。 21. 一种有形计算机可读介质, 其包括计算机可执行指令使得当指令被计算设备的处 理器执行时, 执行向远程访问应用提供非耦合应用扩展的方法, 其包括 : 提供包括应用层、 服务器层和客户端层的分层远程访问框架, 所述分层远程访问框架 在所述客户端层中的正访问所述远程访问应用的客户端计算设备之间传送关于所述远程 访问应用的第一信息和关于所述非耦合应用扩展的第二信息 ; 在每个客户端计算设备处提供客户端远程访问应用 ; 在所述客户端层中提供所述非耦合应用扩展, 所述非耦合应用扩展在所述客户端计算 设备处提供独立于所述远程访问应用的功能 ; 以及 更新扩展状态模型以包括关。
11、于所述非耦合应用扩展的所述第二信息, 使得在所述客户 端计算设备的至少一个中实现与所述非耦合应用扩展相关联的所述功能。 22. 根据权利要求 21 所述的有形计算机可读介质, 其还包括用以执行所述非耦合应用 扩展而无需访问所述第一信息的指令。 23. 根据权利要求 21-22 中任一项所述的有形计算机可读介质, 其还包括用于将交互 式数字表层提供为所述非耦合应用扩展的指令。 权 利 要 求 书 CN 103959708 A 3 3/3 页 4 24. 根据权利要求 23 所述的有形计算机可读介质, 其还包括用于以下项的指令 : 在所述交互式数字表层内接收输入 ; 以及 在所述扩展状态模型的所述。
12、第二信息中表示所述输入。 25. 根据权利要求 23-24 中任一项所述的有形计算机可读介质, 其还包括用于根据所 述扩展状态模型中包含的信息来在所述交互式数字表层中提供通知的指令。 权 利 要 求 书 CN 103959708 A 4 1/10 页 5 包括用于协作远程应用共享和注释的交互式数字表层的非 耦合应用扩展 背景技术 0001 由于宽带和无线网络访问的增长和可用性, 对服务、 应用程序和数据的泛在远程 访问已经变得司空见惯。因此, 用户正使用日益增长的各种客户端设备 ( 例如, 移动设备、 平板计算设备、 膝上型计算机 / 笔记本 / 台式计算机等 ) 来访问应用程序和数据。可通过。
13、 各种网络 ( 包括 3G 和 4G 移动数据网络、 诸如 WiFi 和 WiMax 的无线网络、 有线网络等 ) 将 数据从远程服务器传送到设备。客户端可连接至跨许多不同的网络带宽和延迟提供服务、 应用程序和数据的服务器。 0002 在这样的环境中, 应用也可在协作会话中的远程用户之间共享。然而, 当协作时, 用户可仅限于共享应用提供的功能, 因此限制该协作会话。 发明内容 0003 本文公开的是用于在远程访问框架中提供非耦合应用扩展的系统和方法。 根据本 公开, 提供一种向远程访问应用提供非耦合应用扩展的方法。 该方法可包括 : 提供包括应用 层、 服务器层和客户端层的分层远程访问框架, 。
14、该分层远程访问框架在访问远程访问应用 的客户端计算设备之间传送关于远程访问应用的第一信息 ; 在服务器层中提供服务器远程 访问应用 ; 在客户端层中提供客户端远程访问应用 ; 在客户端层中提供非耦合应用扩展, 该非耦合应用扩展在客户端计算设备处提供独立于远程访问应用的功能 ; 以及更新扩展状 态模型以包括关于非耦合应用扩展的第二信息, 使得在客户端计算设备的至少一个中实现 与非耦合应用扩展相关联的功能。 0004 根据其它方面, 提供一种向远程访问应用提供非耦合应用扩展的方法。该方法可 包括 : 提供包括应用层、 服务器层和客户端层的分层远程访问框架, 该分层远程访问框架 在协作会话中的正在访。
15、问远程访问应用的客户端计算设备之间传送关于远程访问应用的 第一信息 ; 在服务器层中提供服务器远程访问应用 ; 在客户端层中提供客户端远程访问应 用 ; 在服务器层、 客户端层和应用层的至少一个中提供非耦合应用扩展, 该非耦合应用扩展 在客户端计算设备处提供独立于远程访问应用的功能 ; 以及在扩展状态模型中传送关于 非耦合应用扩展的第二信息, 使得在客户端计算设备处实现与非耦合应用扩展相关联的功 能。 0005 根据另外其它方面, 提供一种有形计算机可读介质, 其包括计算机可执行指令使 得当指令被计算设备的处理器执行时, 执行向远程访问应用提供非耦合应用扩展的方法。 指令可包括 : 提供包括应。
16、用层、 服务器层和客户端层的分层远程访问框架, 该分层远程访问 框架在访问远程访问应用的客户端计算设备之间传送关于远程访问应用的第一信息和关 于非耦合应用扩展的第二信息 ; 在客户端层中提供客户端远程访问应用 ; 在客户端层中提 供非耦合应用扩展, 该非耦合应用扩展在客户端计算设备处提供独立于远程访问应用的功 能 ; 以及更新扩展状态模型以包括关于非耦合应用扩展的第二信息, 使得在客户端计算设 备的至少一个中实现与非耦合应用扩展相关联的功能。 说 明 书 CN 103959708 A 5 2/10 页 6 0006 在查看以下附图和详细描述后, 其它系统、 方法、 特征和 / 或优点对于本领域。
17、技术 人员而言将是明显的或可变得明显。意图将所有此类附加系统、 方法、 特征和 / 或优点包括 在该描述内且受随附权利要求保护。 附图说明 0007 附图中的组件不一定相对彼此按比例绘制。在贯穿若干视图中, 相同的参考数字 指代对应的部件。 0008 图 1 是图示用于经由计算机网络而在远程设备处提供对应用的远程访问的系统 的简化框图 ; 0009 图 2 是根据本公开的状态模型 ; 0010 图 3A 图示图 1 的系统的附加方面 ; 0011 图 3B 图示在图 1 和图 2 的环境内的扩展状态模型和应用状态模型的数据流 ; 0012 图 4A 图示 XML 状态模型文档内的树 ; 001。
18、3 图 4B 和 4C 图示与图 4A 的 XML 状态模型相关联的示例性轴向医学图像视图和冠 向医学图像视图 ; 0014 图5A和5B图示包含可在客户端计算设备的用户之间的协作会话中共享的应用的 示例性用户界面 ; 0015 图 6A 图示在图 1- 图 5 的系统内执行的示例性操作的流程图 ; 0016 图 6B 图示在图 1- 图 5 的系统内执行的其它示例性操作的流程图 ; 以及 0017 图 7 图示示范性计算设备。 具体实施方式 0018 除非另有定义, 本文使用的所有技术和科学术语具有与本领域的普通技术人员通 常所理解的相同的含义。 与本文所描述的那些方法和材料类似或等效的方法。
19、和材料可用于 本公开的实践或测试。虽然将描述远程访问应用的实施方式, 但是对本领域技术人员而言 将变得明显的是所述实施方式不限于此, 而适用于经由远程设备对任何类型的数据或服务 进行远程访问。 0019 参看图 1, 用于经由计算机网络提供对应用、 数据或其它服务的远程访问的系统 100。该系统包括经由计算机网络 110( 诸如例如互联网 ) 连接至服务器 102B 的客户端计 算设备 112A 或 112B, 诸如无线手持设备, 诸如例如 IPHONE112A 或 BLACKBERRY112B。类似 地, 客户端计算设备也可包括通过通信网络 110 连接至服务器 102B 的台式机 / 笔记。
20、本式个 人计算机 112C 或平板设备 112N。应注意, 至通信网络 110 的连接可以是任何类型的连接, 例如, Wi-Fi(IEEE802.11x)、 WiMax(IEEE802.16)、 以太网、 3G、 4G 等。 0020 服务器 102B 例如经由计算机网络 110 连接至局域网 (LAN)109 或可直接连接至计 算机网络 110。例如, LAN109 是机构 ( 诸如, 医院、 银行、 大型企业或政府部门 ) 的内部计算 机网络。通常, 此类机构仍使用连接至 LAN109 的大型计算机 102A 和数据库 108。许多应用 程序 107A 可存储在大型计算机 102A 的存储。
21、器 106A 中且在处理器 104A 上执行。类似地, 许多应用程序 107B 可存储在服务器 102B 的存储器 106B 中且在处理器 104B 上执行。应用 程序 107A 和 107B 可以是被提供用于远程访问的 “服务” 。可使用硬件 ( 诸如在图 7 的通 说 明 书 CN 103959708 A 6 3/10 页 7 用计算设备中示出的硬件 ) 来实施大型计算机 102A、 服务器 102B 和客户端计算设备 112A、 112B、 112C 或 112N。 0021 客户端远程访问应用 121A、 121B、 121C、 121N 可被设计分别使用例如客户端计算 设备 112A。
22、、 112B、 112C、 112N 的有触摸屏的图形显示器 114A 或图形显示器 114B/114N 和键 盘 116B/116C 来提供用户交互从而以人类可理解的方式来显示数据和 / 或成像, 并且根据 接收的用户指令确定用户输入数据以与应用程序交互。例如, 通过在处理器 118A、 118B、 118C、 118N 上执行可执行命令来执行客户端远程访问应用, 其中所述命令分别存储在客户 端计算设备 112A、 112B、 112C、 112N 的存储器 120A、 120B、 120C、 120N 中。 0022 替代地或另外地, 用户界面程序 ( 作为应用程序 107B 中的一个 )。
23、 在服务器 102B 上执行, 接着, 通用一般客户端应用(诸如例如在客户端计算设备112A、 112B上执行的网络 浏览器 ) 经由 URL 访问服务器 102B。用户界面使用例如超文本标记语言 HTML5 来实施。在 一些实施方式中, 服务器 102B 可参与和客户端计算设备 112A、 112B、 112C112N 的协作会 话。例如, 上述应用程序 107B 中的一个可使服务器 102B 能够协作地与应用程序 107A 或另 一应用程序 107B 和客户端远程访问应用 121A、 121B、 121C、 121N 交互。因此, 服务器 102B 与参与的客户端计算设备 112A、 11。
24、2B、 112C112N 中的每一个可呈现显示应用程序的同步 视图。 0023 服务器远程访问应用111B和客户端远程访问应用(121A、 121B、 121C、 121N中的任 一个或应用程序 107B 中的一个 ) 的操作与状态模型 200 合作地执行, 如图 2 所示。在可 从Calgary Scientific,Alberta,Canada获得的PUREWEB中提供服务器远程访问程序的实 例。 客户端远程访问应用在被执行时根据从用户界面程序接收的用户输入数据来更新状态 模型200。 远程访问应用可根据更新的状态模型200产生控制数据, 并且将该控制数据提供 给在服务器 102B 上运行。
25、的服务器远程访问应用 111B。 0024 在从应用程序 107A 或 1097B 接收应用数据后, 服务器远程访问应用 111B 根据屏 幕数据或应用数据来更新状态模型 200、 根据更新的状态模型 200 提供演示数据并且将该 演示数据提供给客户端计算设备上的客户端远程访问应用 121A、 121B、 121C、 121N。状态模 型 200 包括应用程序的逻辑元件与应用程序的对应状态的关联, 其中逻辑元件按层级顺序 显示。例如, 逻辑元件可以是组成应用程序用户界面的屏幕、 菜单、 子菜单、 按钮等。这使得 客户端设备能够例如本地显示逻辑元件。因此, 呈现在移动电话上的应用程序的菜单将看 。
26、起来像移动电话的本地菜单。类似地, 呈现在台式计算机上的应用程序的菜单将看起来像 台式计算机操作系统的本地菜单。类似地, 呈现在台式计算机上的应用程序的菜单将看起 来像台式计算机操作系统的本地菜单。 0025 确定状态模型200, 使得逻辑元件的每一个与应用程序107A或107B的对应状态相 关联。可确定状态模型 200, 使得逻辑元件与用户交互相关联。例如, 确定应用程序的逻辑 元件, 使得逻辑元件包括过渡元件, 其中每个过渡元件使状态模型 200 的改变与控制数据 和与之相关联的应用表示数据中的一个相关。 0026 在一些实施方式中, 客户端计算设备 112A、 112B、 112C112。
27、N 中的两个或多个和 / 或服务器102B可协作地与应用程序107A或107B交互。 因此, 通过在客户端计算设备112A、 112B、 112C112N 中的每一个和 / 或服务器 102B 和 / 或参与协作会话的大型计算机 102A 之间传送状态信息, 参与的客户端计算设备 112A、 112B、 112C112N 中的每一个可呈现显 说 明 书 CN 103959708 A 7 4/10 页 8 示应用程序 107A 或 107B 的同步视图。 0027 根据一些实施方式, 系统 100 可提供非耦合或解耦应用扩展。此类扩展被提供为 服务器远程访问应用 111B 的部分 ( 例如, 作。
28、为插件 )、 客户端远程访问应用 121A、 121B、 121C、 121N( 例如, 作为客户端软件开发包 (SDK) 的部分 )、 应用 107B 中的一个 ( 例如, 作为 服务器 SDK 的部分 ) 或其组合, 从而提供应用程序 107A 或 107B 未提供的其它特征和功能。 以下关于图 3A- 图 3B 更全面地描述这些内容。可提供这些特征和功能, 而无需修改应用 程序 107A 或 107B, 因为它们与远程访问应用成一体。因此, 非耦合应用扩展对于该应用本 身是不可知的, 即应用扩展不取决于在服务器远程访问应用 111B 和客户端远程访问应用 121A、 121B、 121C。
29、、 121N 内显示的应用。进一步地, 应用扩展可在服务器远程访问应用 111B 或客户端远程访问应用 121A、 121B、 121C、 121N 呈现的控件内是可用的。 0028 例如,“交互式数字表层” 可被提供为应用扩展, 使协作会话的参与者能够在运行 于会话中的应用之上作注释。这样的层可作为 “acetate 层” , 因为其透明地覆盖在运行于 会话中的应用之上。 交互式数字表层就像涂写工具一样, 使用户能够在应用之上绘制线、 箭 头、 符号、 涂写等, 从而提供应用和交互式数字表层二者的协作。 如以下将参考图4A和图4B 进行描述, 交互式数字表层可作为图 1 的环境内的控件使用。。
30、 0029 图 3A- 图 3B 更详细地图示图 1- 图 2 的系统 100 的方面。图 3A 将系统 100 图示 为具有分层软件栈。客户端远程应用 121A、 121B、 121C、 121N 可位于客户端层中的客户端软 件开发包 (SDK)304 之上。客户端层与服务器层中的服务器远程访问应用 111B 进行通信。 服务器层与位于应用层中的应用 107A/107B 和服务器 SDK312 之上的状态管理器 308 进行 通信。如上所述, 应用扩展可在任何层 ( 即在服务器层内作为插件 306、 在客户端层内作为 客户端应用扩展 302、 在应用层内作为应用扩展 310 或其组合 ) 中。
31、实施。状态模型 200 在所 述层之间被传送, 并且可在任何层中被应用扩展 302 和 310 及插件 306 修改。 0030 在又一实例中, 在应用层中, 应用扩展 310 可以是单独的可执行程序, 其包括新 特征以增强应用 107A/107B。应用扩展 310 可消耗该状态模型 200 并产生其自己的文档 314( 即, 应用扩展 310 的状态模型 ), 文档 314 可包括 : (1) 来自状态模型 200 的信息和与 应用扩展 310 相关联的信息, (2) 仅与应用扩展 310 相关联的信息, 或 (3) 一些状态模型信 息和与扩展状态模型 314 相关联的信息的组合。扩展状态模。
32、型 314 可与服务器远程访问应 用 111B 进行通信, 其中服务器远程访问应用 111B 可构成更新的状态模型 200 以包括扩展 状态模型 314 中的信息。替代地或另外地, 客户端远程访问应用 121A、 121B、 121C、 121N 可 接收状态模型 200 和扩展状态模型 314 二者, 以及客户端远程访问应用可构成更新的状态 模型 200 以包括扩展状态模型 314 中的信息。 0031 图 3B 图示图 1 和图 2 的环境内的扩展状态模型 314 和应用状态模型 200 的数据 流。如图示, 应用扩展 302 在客户端计算设备 ( 例如, 客户端计算设备 121A 和客户。
33、端计算 设备 121B) 之间传送扩展状态模型 314。例如 , 客户端远程访问应用 121A 和 121B 可以是 由应用扩展 310 用来实现扩展状态模型 314 的同步的通信机制。同时, 在客户端计算设备 121A、 客户端计算设备 121B 与例如服务器 102 之间传送应用状态模型 200。因此, 根据图 3B的数据流, 扩展310和应用107B的状态可在协作会话中的各个参与者之间同步。 另外地 或替代地, 单独维持所述状态以将扩展 310 从应用 107B 解耦。 0032 一般而言, 交互式数字表层可用于任何目的以向用户提供信息和 / 或提供独立于 说 明 书 CN 103959。
34、708 A 8 5/10 页 9 协作会话中用户共享的应用的特征和功能。 交互式数字表层可在应用执行的同时提供此类 特征, 或作为独立的应用提供。 例如, 可使用交互式数字表层以使用户能够在应用正在执行 时对显示作注释、 使用户能够进行指示操作并且提供关于状态或用户可用性的通知。交互 式数字表层可由用户控件启动和禁用, 并且可由会话领导者或协作会话内的每个参与者控 制。可在上文讨论的框架内提供附加特征。现将提供上述特征的细节。 0033 图4A图示描述非耦合应用扩展(诸如交互式数字表层)的XML状态模型文档内的 树。图 4B 和图 4C 图示与图 4A 的 XML 状态模型相关联的示例性轴向医。
35、学图像视图和冠向 医学图像视图, 以图示呈现给协作会话内的用户的视图。在 XML 树内, 存在被定义为包括一 个或多个会话的协作节点。会话与应用扩展 ( 诸如, 交互式数字表层 ) 相关联。会话中的 参与者通过UserInfo标签来识别, 并且可以是例如Glen和Jacquie。 为每个参与者分配一 种默认颜色 (DefaultColor) 以在交互式数字表层内表示用户的注释 ( 例如, 蓝色为 Glen, 而绿色为Jacquie)。 任何可显示的颜色均可被选为协作会话的参与者的默认颜色。 可定义 颜色的优先级, 使得第一用户被分配蓝色, 第二用户被分配绿色, 第三用户被分配橙色等。 0034。
36、 在协作节点下, 也存在被定义的一个或多个视图。在图 4A 的实例中, Glen 和 Jacquie 可在医学成像应用内相互协作。因此, 可存在被定义的两个视图 - 轴向视图和冠 向视图 ( 参见图 4B 和图 4C)。会话与每个视图相关联, 其中会话包括协作的用户。对于轴 向视图, Glen的会话具有与之相关联的光标位置(CP)和某些标记, 诸如涂写、 箭头和圆。 在 轴向视图中, Jacquie 具有相关联的光标位置, 但是因为她尚未对交互式数字表层作任何标 记, 所以不存在与 Jacquie 的轴向会话视图相关联的附加信息。在冠向会话下, 每个用户仅 具有与之相关联的光标位置。 0035。
37、 如图4B和图4C的轴向视图中示出, 以上信息通过客户端远程访问应用显示, 可以 显示在分别与 Glen 和 Jacquie 相关联的客户端计算设备上。在图 4B 中, Glen 可正在具有 中型显示器的客户端计算设备 ( 诸如膝上型计算机 ) 上查看应用。因此, Glen 能够同时查 看轴向视图和冠向视图二者。参考图 4C, Jacquie 可正在较小的计算设备 ( 诸如手持无线 设备 ) 上查看应用。因此, 由于这种设备的更有限的显示区域, 仅可呈现轴向视图。 0036 以下为根据图 4A 的树的状态模型 200 的示例性区段。状态模型 200 可由例如可 扩展标记语言 (XML) 文档表。
38、示。可使用状态模型 200 的其它表示。在状态模型 200 中传送 关于应用程序和交互式数字表层的信息。因为交互式数字表层与应用解耦, 所以关于交互 式数字表层的信息不是应用状态的部分 ( 即, 其从应用中提取出 )。相反, 交互式数字表层 信息 ( 即扩展状态信息 ) 在状态模型 200 中被单独维护, 如在协作标签之间示出。可在状 态模型 200 中类似地定义其它非耦合应用扩展。 0037 说 明 书 CN 103959708 A 9 6/10 页 10 0038 在 XML 状态模型的第一部分中的 ApplicationState 节点中维护关于应用 (107A 或 107B) 的信息。。
39、定义与轴向视图和冠向视图相关联的应用程序的不同状态以及相关触发 器。例如, 在轴向视图中,“字段” 被定义为用于接收名称作为用户输入数据并显示该名称。 在 XML 文档的第二部分中维护非耦合协作状态和应用扩展状态 ( 例如, 交互式数字表层 )。 0039 状态模型200可因此包含关于应用本身的会话信息、 应用扩展信息(例如, 交互式 数字表层 )、 关于视图的信息以及如何将注释结合到特定视图 ( 例如, 结合到轴向视图的涂 写、 箭头、 圆 )。 0040 图 5A 和图 5B 图示包含可在协作会话中共享的应用 502 的示例性用户界面 500。在图 5A 和图 5B 的实例中, 用户可与演。
40、示应用 ( 诸如用户界面 502 中的 MICROSOFT POWERPOINT) 协作。在实例中, 用户例如为会议创建用餐的时间表。如图 5A 所示, 在第一 客户端计算设备处的用户可使用客户端远程访问应用激活共享控件 504。共享控件 504 可 提供可在用户之间共享的所有可用应用的列表。在实例中, 可共享五个应用 ( 例如, 事件查 看器、 演示应用、 电子制表软件、 影片播放器和文字处理器 )。根据本公开的方面, 共享控件 说 明 书 CN 103959708 A 10 7/10 页 11 504 包括激活上文描述的交互式数字表层的绘制功能 508。共享控件 504 可以可选地包括 远。
41、程视镜 510, 其显示在协作会话中的另一用户的远程客户端计算设备上示出的用户界面。 0041 如果用户激活绘制功能 508, 那么交互式数字表层可操作来接收用户输入, 以协作 地显示会话中用户的注释输入。 如上所述, 注释可被颜色编码到协作会话中的每个用户。 参 考图 5B, 用户界面 500 被示出为包含交互式数字表层中的应用 502 的注释。例如, Glen 已 划掉 “大” 字并用铅笔写上 “小” 字。作为另一个实例, Jacquie 已划掉午餐的地点, 并且用 “? ” 来代替, 因为地点是不确定的。因此, 鉴于上述内容, 本领域的普通技术人员将理解, 可 使用交互式数字表层来作出任。
42、何类型的注释。 0042 图 5B 进一步图示指示器 520, 例如, 用以示出有与协作会话中的参与者中的至少 一个相关联的网络延迟的指示器。例如, 当延迟低于预定阈值时, 可呈现响应性指示器, 诸 如旋轮、 灰色区域 (greyed-out area) 等。此类指示器可能在协作期间是有用的, 在协作期 间个人用户具有不同的网络响应特性。 例如, 可向所有用户呈现指示器, 因此他们知道协作 会话中有人滞后。指示器可能是由检查扩展状态模型 314 以查找例如定时信息的过程引发 的, 该定时信息可用来计算特定的链路具有低于阈值的数据率。 0043 根据交互式数字表层的特征, 用户可以看到彼此的鼠标。
43、光标。每个客户端可擦除 在交互式数字表层内所作的注释。交互式数字表层可与应用分开保存, 或可被原始应用消 耗并以有意义的方式保存。 在协作会话出故障的情况下, 也可将交互式数字表层加入书签, 使之可以被恢复。 0044 在协作会话期间, 用户可能想要指向用户界面 500 的区域, 而不与底层应用程序 107A/107B 交互。例如, 用户可能正在做幻灯片卡片组的演示, 并且可能想要 “指” 向用户界 面 200 中显示的幻灯片上的项目。交互式数字表层可用来向协作会话中的其他用户提供此 类指示。 0045 为了适应上述内容, 可分开向应用 107A/107B 发送鼠标光标位置数据和发送鼠标 输入。
44、事件, 使得位置和事件数据可彼此独立地被触发。 因此, 光标位置工具可被定向发送光 标信息而没有输入事件, 否则当平板设备112N的用户不期望与应用程序107A/107B的交互 时, 所述输入事件将引起此类交互。可通过将关于光标位置更新交互式数字表层的单个方 法分成两个方法来实现上述内容, 其中一个方法执行光标位置更新, 而另一个方法使输入 事件排队。可选地或另外地, 当以此种模式操作时, 鼠标光标可改变特性。例如, 在鼠标光 标正用于指示目的的情况下, 光标可变粗、 改变颜色、 改变形状、 闪烁等以向其他用户指示 光标正被用作指示器。 0046 虽然可为所有类型的客户端计算机实现上述内容, 。
45、但是特定的使用情况是具有触 摸感应界面的移动设备 ( 例如, 平板设备 112N) 的用户想要向其他用户指示他或她当前正 在显示器上查看什么的情况。通常, 触摸平板设备表示与应用程序 107A/107B 的交互。根 据上文, 使鼠标光标位置数据 ( 即, 触摸位置 ) 与发送鼠标输入事件 ( 即, 实际触摸 ) 分开 使平板设备 112N 的用户能够类似于客户端计算机具有指向设备而作出此类指示。 0047 在可结合上文或单独实现的另一方面中, 可在交互式数字表层中创建注释, 而不 与底层应用程序 107A/107B 交互, 以及与底层应用程序 107A/107B 的交互不一定在交互式 数字表层。
46、内创建注释。例如, 参考图 5B, 当 Glen 划掉 “大” 字并用铅笔写上 “小” 字时, 他可 能不想要突出或改变底层电子制表软件 ( 即, 应用程序 107A/107B)。因此, 可为共享控件 说 明 书 CN 103959708 A 11 8/10 页 12 504 提供选项以禁止与底层应用 107A/107B 的交互。另一方面, Glen 想要在如何编辑相同 的电子制表软件的教程中引导Jacquie。 在该情况下, 通过使用共享控件504来不禁止与应 用程序的交互, 交互式数字表层可显示光标以指示 Glen 目前将他的鼠标指向何处, 并且继 续与底层应用程序 107A/107B 交。
47、互。 0048 另外或替代地, 对于以上绘制功能, 在一些实施方式中, 交互式数字表层可用来提 供其它指示器, 诸如会话内用户的指示、 正在控制交互式数字表层的用户、 用户已经加入或 退出协作会话的指示器、 是否对图像质量进行改变 (JPEG 缩小 ) 等。一般而言, 可通过提供 扩展状态模型 314 中用于触发指示器的出现和 / 或消失的信息来启动指示器。在一些实施 方式中, 可暂时地向用户显示指示器。在其它实施方式中, 可保留指示器直到用户采取行 动, 诸如在平板设备 112N 上的手势、 单击鼠标等。 0049 根据其它实施方式, 可为交互式数字表层提供对参与协作会话的用户的名称的访 问。
48、。 可将名称信息包含在扩展状态模型314中, 并且使用交互式数字表层扩展310将名称信 息显示给协作会话中的其他用户。如上所述, 每个用户可与可用于交互式数字表层内的指 针位置和标记的独特颜色相关联。每个用户可切换其他用户的光标位置的可见性。用户可 清除他们自己的标记, 并且切换其他用户的标记的可见性。可在用户中选择领导者或默认 为初始的创建者。领导者可清除所有标记并移交领导权。如果领导者从协作会话中掉线, 那么领导权可移交给会话中的下一位参与者。 0050 为了实现上述内容, 可为客户端侧API提供对扩展状态模型314中的改变的响应, 从而提供适当的显示和控制。例如, 可提供 API 来构建。
49、用户界面组件、 渲染交互式数字表层 中的图像、 提供捕获 / 剪贴板特征、 提供撤销 / 重做特征、 提供对图像 / 线的粗细的改变、 提 供字体选择 / 大小 / 属性、 选择颜色、 提供文本框、 提供表情符号 / 图标并且提供水印 ( 例 如, 机密、 草稿、 工作副本 )。 0051 基于配置设置, API 可确定在一个用户打开交互式数字表层时交互式数字表层对 于每个人是否是 “开” 的、 个人用户是否可独立于其他用户切换交互式数字表层的可见性或 交互式数字表层是否将只在领导者打开时是开的。某一配置可使 API 能够确定个人客户端 是否可以切换其他用户的标记的可见性或是否仅领导者可代表每个人来控制客户端的可 见性。而其它配置可使 API 能够确定个人客户端是否可切换其他用户的光标位置的可见性 或是否仅领导者可代表每个人来控制客户端的光标可见性。 可指定仅领导者可清除所有其 他用户的标记 ; 然而, 任何人可随时清除他们自己的标记。 0052 在一些实施方式中, 可保存交互式数字表层的状态。例如, 可在客户端计算设备 112A、 112B、 112C。