包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.pdf

上传人:v**** 文档编号:6147090 上传时间:2019-04-19 格式:PDF 页数:23 大小:6.40MB
返回 下载 相关 举报
摘要
申请专利号:

CN201280058265.6

申请日:

2012.10.01

公开号:

CN103959708A

公开日:

2014.07.30

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04L 12/16申请日:20121001|||公开

IPC分类号:

H04L12/16; G06F15/16; H04W4/18

主分类号:

H04L12/16

申请人:

卡尔加里科学公司

发明人:

M·M·托马斯; D·B·麦克法则恩; M·J·斯特菲尔

地址:

加拿大阿尔伯塔省

优先权:

2011.09.30 US 61/541,540; 2012.04.12 US 61/623,108

专利代理机构:

北京三友知识产权代理有限公司 11127

代理人:

吕俊刚;刘久亮

PDF下载: PDF下载
内容摘要

系统和方法,其用于向远程访问应用提供非耦合应用扩展。所述应用扩展被提供为所述远程访问应用的部分,以提供不由底层应用程序另外提供且可通过所述远程访问程序获得的特征和功能。可提供这些特征和功能,而无需修改所述底层应用程序,因为它们与所述远程访问应用成一体。

权利要求书

权利要求书
1.  一种向远程访问应用提供非耦合应用扩展的方法,其包括:
提供包括应用层、服务器层和客户端层的分层远程访问框架,所述分层远程访问框架在所述客户端层中的正访问所述远程访问应用的客户端计算设备之间传送关于所述远程访问应用的第一信息;
在所述服务器层中提供服务器远程访问应用;
在所述客户端层中提供客户端远程访问应用;
在每个客户端计算设备处提供所述非耦合应用扩展,所述非耦合应用扩展在所述客户端计算设备处提供独立于所述远程访问应用的功能;以及
更新扩展状态模型以包括关于所述非耦合应用扩展的第二信息,使得在所述客户端计算设备的至少一个中实现与所述非耦合应用扩展相关联的所述功能。

2.  根据权利要求1所述的方法,其中状态模型用于在所述客户端计算设备处显示所述远程访问应用。

3.  根据权利要求1-2中任一项所述的方法,其还包括将所述扩展状态模型提供为具有与所述非耦合应用扩展相关联的多个标签的标记语言文档。

4.  根据权利要求1-3中任一项所述的方法,其还包括:
在所述应用层处提供所述非耦合应用扩展;以及
将所述扩展状态模型从应用层传送到所述客户端层。

5.  根据权利要求1-4中任一项所述的方法,其中在所述应用层通过所述远程访问应用来修改所述扩展状态模型。

6.  根据权利要求1-5中任一项所述的方法,其还包括将交互式数字表层提供为所述非耦合应用扩展。

7.  根据权利要求6所述的方法,其还包括:
在所述交互式数字表层内接收输入;以及
在所述扩展状态模型的所述第二信息中表示所述输入。

8.  根据权利要求7所述的方法,其中所述输入与所述客户端计算设备的每一个处的用户相关联。

9.  根据权利要求7-8中任一项所述的方法,其还包括将所述输入表示为所述客户 端计算设备的显示器内的x-y坐标。

10.  根据权利要求6-9中任一项所述的方法,其还包括使鼠标光标位置数据与鼠标输入事件分离以向所述客户端计算设备的每一个处的用户提供位置的指示。

11.  根据权利要求6-19中任一项所述的方法,其还包括提供用户控件以禁止所述输入与所述远程访问应用之间的交互。

12.  根据权利要求6-11中任一项所述的方法,其还包括根据所述扩展状态模型中包含的信息来在所述交互式数字表层中提供通知。

13.  根据权利要求12所述的方法,其中所述通知包括网络状态指示器、用户存在指示器和用户控制指示器中的至少一个。

14.  一种向远程访问应用提供非耦合应用扩展的方法,其包括:
提供包括应用层、服务器层和客户端层的分层远程访问框架,所述分层远程访问框架在所述客户端层中处于协作会话中并且正访问所述远程访问应用的客户端计算设备之间传送关于所述远程访问应用的第一信息;
在所述服务器层中提供服务器远程访问应用;
在每个客户端计算设备处提供客户端远程访问应用;
在所述服务器层、所述客户端层和所述应用层的至少一个中提供所述非耦合应用扩展,所述非耦合应用扩展在所述客户端计算设备处提供独立于所述远程访问应用的功能;以及
在扩展状态模型中传送关于所述非耦合应用扩展的第二信息,使得在所述客户端计算设备处实现与所述非耦合应用扩展相关联的所述功能。

15.  根据权利要求14所述的方法,其还包括:
将交互式数字表层提供为所述非耦合应用扩展;
在所述交互式数字表层内接收输入;以及
在所述扩展状态模型的所述第二信息中表示所述输入。

16.  根据权利要求15所述的方法,其中所述输入与所述客户端计算设备的每一个处的用户相关联,且其中所述输入被颜色编码到所述协作会话中的每个用户。

17.  根据权利要求15-16中任一项所述的方法,其还包括使鼠标光标位置数据与鼠标输入事件分离以向所述协作会话中的用户提供位置的指示,其中所述指示与所述协作会话中的特定用户相关联。

18.  根据权利要求15-17中任一项所述的方法,其还包括提供控制机制以指定所述协作会话中的哪个用户控制所述交互式数字表层。

19.  根据权利要求14-18中任一项所述的方法,其还包括:
将交互式数字表层提供为所述非耦合应用扩展;
在所述客户端计算设备处接收所述扩展状态模型中的所述第二信息;以及
根据所述第二信息在所述交互式数字表层中提供通知。

20.  根据权利要求19所述的方法,其中所述通知包括网络状态指示器、用户存在指示器和用户控制指示器中的至少一个。

21.  一种有形计算机可读介质,其包括计算机可执行指令使得当指令被计算设备的处理器执行时,执行向远程访问应用提供非耦合应用扩展的方法,其包括:
提供包括应用层、服务器层和客户端层的分层远程访问框架,所述分层远程访问框架在所述客户端层中的正访问所述远程访问应用的客户端计算设备之间传送关于所述远程访问应用的第一信息和关于所述非耦合应用扩展的第二信息;
在每个客户端计算设备处提供客户端远程访问应用;
在所述客户端层中提供所述非耦合应用扩展,所述非耦合应用扩展在所述客户端计算设备处提供独立于所述远程访问应用的功能;以及
更新扩展状态模型以包括关于所述非耦合应用扩展的所述第二信息,使得在所述客户端计算设备的至少一个中实现与所述非耦合应用扩展相关联的所述功能。

22.  根据权利要求21所述的有形计算机可读介质,其还包括用以执行所述非耦合应用扩展而无需访问所述第一信息的指令。

23.  根据权利要求21-22中任一项所述的有形计算机可读介质,其还包括用于将交互式数字表层提供为所述非耦合应用扩展的指令。

24.  根据权利要求23所述的有形计算机可读介质,其还包括用于以下项的指令:
在所述交互式数字表层内接收输入;以及
在所述扩展状态模型的所述第二信息中表示所述输入。

25.  根据权利要求23-24中任一项所述的有形计算机可读介质,其还包括用于根据所述扩展状态模型中包含的信息来在所述交互式数字表层中提供通知的指令。

说明书

说明书包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展
背景技术
由于宽带和无线网络访问的增长和可用性,对服务、应用程序和数据的泛在远程访问已经变得司空见惯。因此,用户正使用日益增长的各种客户端设备(例如,移动设备、平板计算设备、膝上型计算机/笔记本/台式计算机等)来访问应用程序和数据。可通过各种网络(包括3G和4G移动数据网络、诸如WiFi和WiMax的无线网络、有线网络等)将数据从远程服务器传送到设备。客户端可连接至跨许多不同的网络带宽和延迟提供服务、应用程序和数据的服务器。
在这样的环境中,应用也可在协作会话中的远程用户之间共享。然而,当协作时,用户可仅限于共享应用提供的功能,因此限制该协作会话。
发明内容
本文公开的是用于在远程访问框架中提供非耦合应用扩展的系统和方法。根据本公开,提供一种向远程访问应用提供非耦合应用扩展的方法。该方法可包括:提供包括应用层、服务器层和客户端层的分层远程访问框架,该分层远程访问框架在访问远程访问应用的客户端计算设备之间传送关于远程访问应用的第一信息;在服务器层中提供服务器远程访问应用;在客户端层中提供客户端远程访问应用;在客户端层中提供非耦合应用扩展,该非耦合应用扩展在客户端计算设备处提供独立于远程访问应用的功能;以及更新扩展状态模型以包括关于非耦合应用扩展的第二信息,使得在客户端计算设备的至少一个中实现与非耦合应用扩展相关联的功能。
根据其它方面,提供一种向远程访问应用提供非耦合应用扩展的方法。该方法可包括:提供包括应用层、服务器层和客户端层的分层远程访问框架,该分层远程访问框架在协作会话中的正在访问远程访问应用的客户端计算设备之间传送关于远程访问应用的第一信息;在服务器层中提供服务器远程访问应用;在客户端层中提供客户端远程访问应用;在服务器层、客户端层和应用层的至少一个中提供非耦合应用扩展, 该非耦合应用扩展在客户端计算设备处提供独立于远程访问应用的功能;以及在扩展状态模型中传送关于非耦合应用扩展的第二信息,使得在客户端计算设备处实现与非耦合应用扩展相关联的功能。
根据另外其它方面,提供一种有形计算机可读介质,其包括计算机可执行指令使得当指令被计算设备的处理器执行时,执行向远程访问应用提供非耦合应用扩展的方法。指令可包括:提供包括应用层、服务器层和客户端层的分层远程访问框架,该分层远程访问框架在访问远程访问应用的客户端计算设备之间传送关于远程访问应用的第一信息和关于非耦合应用扩展的第二信息;在客户端层中提供客户端远程访问应用;在客户端层中提供非耦合应用扩展,该非耦合应用扩展在客户端计算设备处提供独立于远程访问应用的功能;以及更新扩展状态模型以包括关于非耦合应用扩展的第二信息,使得在客户端计算设备的至少一个中实现与非耦合应用扩展相关联的功能。
在查看以下附图和详细描述后,其它系统、方法、特征和/或优点对于本领域技术人员而言将是明显的或可变得明显。意图将所有此类附加系统、方法、特征和/或优点包括在该描述内且受随附权利要求保护。
附图说明
附图中的组件不一定相对彼此按比例绘制。在贯穿若干视图中,相同的参考数字指代对应的部件。
图1是图示用于经由计算机网络而在远程设备处提供对应用的远程访问的系统的简化框图;
图2是根据本公开的状态模型;
图3A图示图1的系统的附加方面;
图3B图示在图1和图2的环境内的扩展状态模型和应用状态模型的数据流;
图4A图示XML状态模型文档内的树;
图4B和4C图示与图4A的XML状态模型相关联的示例性轴向医学图像视图和冠向医学图像视图;
图5A和5B图示包含可在客户端计算设备的用户之间的协作会话中共享的应用的示例性用户界面;
图6A图示在图1-图5的系统内执行的示例性操作的流程图;
图6B图示在图1-图5的系统内执行的其它示例性操作的流程图;以及
图7图示示范性计算设备。
具体实施方式
除非另有定义,本文使用的所有技术和科学术语具有与本领域的普通技术人员通常所理解的相同的含义。与本文所描述的那些方法和材料类似或等效的方法和材料可用于本公开的实践或测试。虽然将描述远程访问应用的实施方式,但是对本领域技术人员而言将变得明显的是所述实施方式不限于此,而适用于经由远程设备对任何类型的数据或服务进行远程访问。
参看图1,用于经由计算机网络提供对应用、数据或其它服务的远程访问的系统100。该系统包括经由计算机网络110(诸如例如互联网)连接至服务器102B的客户端计算设备112A或112B,诸如无线手持设备,诸如例如IPHONE112A或BLACKBERRY112B。类似地,客户端计算设备也可包括通过通信网络110连接至服务器102B的台式机/笔记本式个人计算机112C或平板设备112N。应注意,至通信网络110的连接可以是任何类型的连接,例如,Wi-Fi(IEEE802.11x)、WiMax(IEEE802.16)、以太网、3G、4G等。
服务器102B例如经由计算机网络110连接至局域网(LAN)109或可直接连接至计算机网络110。例如,LAN109是机构(诸如,医院、银行、大型企业或政府部门)的内部计算机网络。通常,此类机构仍使用连接至LAN109的大型计算机102A和数据库108。许多应用程序107A可存储在大型计算机102A的存储器106A中且在处理器104A上执行。类似地,许多应用程序107B可存储在服务器102B的存储器106B中且在处理器104B上执行。应用程序107A和107B可以是被提供用于远程访问的“服务”。可使用硬件(诸如在图7的通用计算设备中示出的硬件)来实施大型计算机102A、服务器102B和客户端计算设备112A、112B、112C或112N。
客户端远程访问应用121A、121B、121C、121N可被设计分别使用例如客户端计算设备112A、112B、112C、112N的有触摸屏的图形显示器114A或图形显示器114B/114N和键盘116B/116C来提供用户交互从而以人类可理解的方式来显示数据和/或成像,并且根据接收的用户指令确定用户输入数据以与应用程序交互。例如,通过在处理器118A、118B、118C、118N上执行可执行命令来执行客户端远程访问应 用,其中所述命令分别存储在客户端计算设备112A、112B、112C、112N的存储器120A、120B、120C、120N中。
替代地或另外地,用户界面程序(作为应用程序107B中的一个)在服务器102B上执行,接着,通用一般客户端应用(诸如例如在客户端计算设备112A、112B上执行的网络浏览器)经由URL访问服务器102B。用户界面使用例如超文本标记语言HTML5来实施。在一些实施方式中,服务器102B可参与和客户端计算设备112A、112B、112C…112N的协作会话。例如,上述应用程序107B中的一个可使服务器102B能够协作地与应用程序107A或另一应用程序107B和客户端远程访问应用121A、121B、121C、121N交互。因此,服务器102B与参与的客户端计算设备112A、112B、112C…112N中的每一个可呈现显示应用程序的同步视图。
服务器远程访问应用111B和客户端远程访问应用(121A、121B、121C、121N中的任一个或应用程序107B中的一个)的操作与状态模型200合作地执行,如图2所示。在可从Calgary Scientific,Alberta,Canada获得的PUREWEB中提供服务器远程访问程序的实例。客户端远程访问应用在被执行时根据从用户界面程序接收的用户输入数据来更新状态模型200。远程访问应用可根据更新的状态模型200产生控制数据,并且将该控制数据提供给在服务器102B上运行的服务器远程访问应用111B。
在从应用程序107A或1097B接收应用数据后,服务器远程访问应用111B根据屏幕数据或应用数据来更新状态模型200、根据更新的状态模型200提供演示数据并且将该演示数据提供给客户端计算设备上的客户端远程访问应用121A、121B、121C、121N。状态模型200包括应用程序的逻辑元件与应用程序的对应状态的关联,其中逻辑元件按层级顺序显示。例如,逻辑元件可以是组成应用程序用户界面的屏幕、菜单、子菜单、按钮等。这使得客户端设备能够例如本地显示逻辑元件。因此,呈现在移动电话上的应用程序的菜单将看起来像移动电话的本地菜单。类似地,呈现在台式计算机上的应用程序的菜单将看起来像台式计算机操作系统的本地菜单。类似地,呈现在台式计算机上的应用程序的菜单将看起来像台式计算机操作系统的本地菜单。
确定状态模型200,使得逻辑元件的每一个与应用程序107A或107B的对应状态相关联。可确定状态模型200,使得逻辑元件与用户交互相关联。例如,确定应用程序的逻辑元件,使得逻辑元件包括过渡元件,其中每个过渡元件使状态模型200的改变与控制数据和与之相关联的应用表示数据中的一个相关。
在一些实施方式中,客户端计算设备112A、112B、112C…112N中的两个或多个和/或服务器102B可协作地与应用程序107A或107B交互。因此,通过在客户端计算设备112A、112B、112C…112N中的每一个和/或服务器102B和/或参与协作会话的大型计算机102A之间传送状态信息,参与的客户端计算设备112A、112B、112C…112N中的每一个可呈现显示应用程序107A或107B的同步视图。
根据一些实施方式,系统100可提供非耦合或解耦应用扩展。此类扩展被提供为服务器远程访问应用111B的部分(例如,作为插件)、客户端远程访问应用121A、121B、121C、121N(例如,作为客户端软件开发包(SDK)的部分)、应用107B中的一个(例如,作为服务器SDK的部分)或其组合,从而提供应用程序107A或107B未提供的其它特征和功能。以下关于图3A-图3B更全面地描述这些内容。可提供这些特征和功能,而无需修改应用程序107A或107B,因为它们与远程访问应用成一体。因此,非耦合应用扩展对于该应用本身是不可知的,即应用扩展不取决于在服务器远程访问应用111B和客户端远程访问应用121A、121B、121C、121N内显示的应用。进一步地,应用扩展可在服务器远程访问应用111B或客户端远程访问应用121A、121B、121C、121N呈现的控件内是可用的。
例如,“交互式数字表层”可被提供为应用扩展,使协作会话的参与者能够在运行于会话中的应用之上作注释。这样的层可作为“acetate层”,因为其透明地覆盖在运行于会话中的应用之上。交互式数字表层就像涂写工具一样,使用户能够在应用之上绘制线、箭头、符号、涂写等,从而提供应用和交互式数字表层二者的协作。如以下将参考图4A和图4B进行描述,交互式数字表层可作为图1的环境内的控件使用。
图3A-图3B更详细地图示图1-图2的系统100的方面。图3A将系统100图示为具有分层软件栈。客户端远程应用121A、121B、121C、121N可位于客户端层中的客户端软件开发包(SDK)304之上。客户端层与服务器层中的服务器远程访问应用111B进行通信。服务器层与位于应用层中的应用107A/107B和服务器SDK312之上的状态管理器308进行通信。如上所述,应用扩展可在任何层(即在服务器层内作为插件306、在客户端层内作为客户端应用扩展302、在应用层内作为应用扩展310或其组合)中实施。状态模型200在所述层之间被传送,并且可在任何层中被应用扩展302和310及插件306修改。
在又一实例中,在应用层中,应用扩展310可以是单独的可执行程序,其包括新 特征以增强应用107A/107B。应用扩展310可消耗该状态模型200并产生其自己的文档314(即,应用扩展310的状态模型),文档314可包括:(1)来自状态模型200的信息和与应用扩展310相关联的信息,(2)仅与应用扩展310相关联的信息,或(3)一些状态模型信息和与扩展状态模型314相关联的信息的组合。扩展状态模型314可与服务器远程访问应用111B进行通信,其中服务器远程访问应用111B可构成更新的状态模型200以包括扩展状态模型314中的信息。替代地或另外地,客户端远程访问应用121A、121B、121C、121N可接收状态模型200和扩展状态模型314二者,以及客户端远程访问应用可构成更新的状态模型200以包括扩展状态模型314中的信息。
图3B图示图1和图2的环境内的扩展状态模型314和应用状态模型200的数据流。如图示,应用扩展302在客户端计算设备(例如,客户端计算设备121A和客户端计算设备121B)之间传送扩展状态模型314。例如,客户端远程访问应用121A和121B可以是由应用扩展310用来实现扩展状态模型314的同步的通信机制。同时,在客户端计算设备121A、客户端计算设备121B与例如服务器102之间传送应用状态模型200。因此,根据图3B的数据流,扩展310和应用107B的状态可在协作会话中的各个参与者之间同步。另外地或替代地,单独维持所述状态以将扩展310从应用107B解耦。
一般而言,交互式数字表层可用于任何目的以向用户提供信息和/或提供独立于协作会话中用户共享的应用的特征和功能。交互式数字表层可在应用执行的同时提供此类特征,或作为独立的应用提供。例如,可使用交互式数字表层以使用户能够在应用正在执行时对显示作注释、使用户能够进行指示操作并且提供关于状态或用户可用性的通知。交互式数字表层可由用户控件启动和禁用,并且可由会话领导者或协作会话内的每个参与者控制。可在上文讨论的框架内提供附加特征。现将提供上述特征的细节。
图4A图示描述非耦合应用扩展(诸如交互式数字表层)的XML状态模型文档内的树。图4B和图4C图示与图4A的XML状态模型相关联的示例性轴向医学图像视图和冠向医学图像视图,以图示呈现给协作会话内的用户的视图。在XML树内,存在被定义为包括一个或多个会话的协作节点。会话与应用扩展(诸如,交互式数字表层)相关联。会话中的参与者通过UserInfo标签来识别,并且可以是例如Glen和 Jacquie。为每个参与者分配一种默认颜色(DefaultColor)以在交互式数字表层内表示用户的注释(例如,蓝色为Glen,而绿色为Jacquie)。任何可显示的颜色均可被选为协作会话的参与者的默认颜色。可定义颜色的优先级,使得第一用户被分配蓝色,第二用户被分配绿色,第三用户被分配橙色等。
在协作节点下,也存在被定义的一个或多个视图。在图4A的实例中,Glen和Jacquie可在医学成像应用内相互协作。因此,可存在被定义的两个视图--轴向视图和冠向视图(参见图4B和图4C)。会话与每个视图相关联,其中会话包括协作的用户。对于轴向视图,Glen的会话具有与之相关联的光标位置(CP)和某些标记,诸如涂写、箭头和圆。在轴向视图中,Jacquie具有相关联的光标位置,但是因为她尚未对交互式数字表层作任何标记,所以不存在与Jacquie的轴向会话视图相关联的附加信息。在冠向会话下,每个用户仅具有与之相关联的光标位置。
如图4B和图4C的轴向视图中示出,以上信息通过客户端远程访问应用显示,可以显示在分别与Glen和Jacquie相关联的客户端计算设备上。在图4B中,Glen可正在具有中型显示器的客户端计算设备(诸如膝上型计算机)上查看应用。因此,Glen能够同时查看轴向视图和冠向视图二者。参考图4C,Jacquie可正在较小的计算设备(诸如手持无线设备)上查看应用。因此,由于这种设备的更有限的显示区域,仅可呈现轴向视图。
以下为根据图4A的树的状态模型200的示例性区段。状态模型200可由例如可扩展标记语言(XML)文档表示。可使用状态模型200的其它表示。在状态模型200中传送关于应用程序和交互式数字表层的信息。因为交互式数字表层与应用解耦,所以关于交互式数字表层的信息不是应用状态的部分(即,其从应用中提取出)。相反,交互式数字表层信息(即扩展状态信息)在状态模型200中被单独维护,如在协作标签之间示出。可在状态模型200中类似地定义其它非耦合应用扩展。

在XML状态模型的第一部分中的ApplicationState节点中维护关于应用(107A或107B)的信息。定义与轴向视图和冠向视图相关联的应用程序的不同状态以及相关触发器。例如,在轴向视图中,“字段”被定义为用于接收名称作为用户输入数据并显示该名称。在XML文档的第二部分中维护非耦合协作状态和应用扩展状态(例如,交互式数字表层)。
状态模型200可因此包含关于应用本身的会话信息、应用扩展信息(例如,交互式数字表层)、关于视图的信息以及如何将注释结合到特定视图(例如,结合到轴向视图的涂写、箭头、圆)。
图5A和图5B图示包含可在协作会话中共享的应用502的示例性用户界面500。在图5A和图5B的实例中,用户可与演示应用(诸如用户界面502中的MICROSOFT POWERPOINT)协作。在实例中,用户例如为会议创建用餐的时间表。如图5A所示,在第一客户端计算设备处的用户可使用客户端远程访问应用激活共享控件504。共享控件504可提供可在用户之间共享的所有可用应用的列表。在实例中,可共享五个应用(例如,事件查看器、演示应用、电子制表软件、影片播放器和文字处理器)。根据本公开的方面,共享控件504包括激活上文描述的交互式数字表层的绘制功能508。共享控件504可以可选地包括远程视镜510,其显示在协作会话中的另一用户的远程客户端计算设备上示出的用户界面。
如果用户激活绘制功能508,那么交互式数字表层可操作来接收用户输入,以协作地显示会话中用户的注释输入。如上所述,注释可被颜色编码到协作会话中的每个用户。参考图5B,用户界面500被示出为包含交互式数字表层中的应用502的注释。例如,Glen已划掉“大”字并用铅笔写上“小”字。作为另一个实例,Jacquie已划掉午餐的地点,并且用“?”来代替,因为地点是不确定的。因此,鉴于上述内容,本领域的普通技术人员将理解,可使用交互式数字表层来作出任何类型的注释。
图5B进一步图示指示器520,例如,用以示出有与协作会话中的参与者中的至少一个相关联的网络延迟的指示器。例如,当延迟低于预定阈值时,可呈现响应性指示器,诸如旋轮、灰色区域(greyed-out area)等。此类指示器可能在协作期间是有用的,在协作期间个人用户具有不同的网络响应特性。例如,可向所有用户呈现指示器,因此他们知道协作会话中有人滞后。指示器可能是由检查扩展状态模型314以查找例如定时信息的过程引发的,该定时信息可用来计算特定的链路具有低于阈值的数据率。
根据交互式数字表层的特征,用户可以看到彼此的鼠标光标。每个客户端可擦除在交互式数字表层内所作的注释。交互式数字表层可与应用分开保存,或可被原始应用消耗并以有意义的方式保存。在协作会话出故障的情况下,也可将交互式数字表层加入书签,使之可以被恢复。
在协作会话期间,用户可能想要指向用户界面500的区域,而不与底层应用程序107A/107B交互。例如,用户可能正在做幻灯片卡片组的演示,并且可能想要“指”向用户界面200中显示的幻灯片上的项目。交互式数字表层可用来向协作会话中的其他 用户提供此类指示。
为了适应上述内容,可分开向应用107A/107B发送鼠标光标位置数据和发送鼠标输入事件,使得位置和事件数据可彼此独立地被触发。因此,光标位置工具可被定向发送光标信息而没有输入事件,否则当平板设备112N的用户不期望与应用程序107A/107B的交互时,所述输入事件将引起此类交互。可通过将关于光标位置更新交互式数字表层的单个方法分成两个方法来实现上述内容,其中一个方法执行光标位置更新,而另一个方法使输入事件排队。可选地或另外地,当以此种模式操作时,鼠标光标可改变特性。例如,在鼠标光标正用于指示目的的情况下,光标可变粗、改变颜色、改变形状、闪烁等以向其他用户指示光标正被用作指示器。
虽然可为所有类型的客户端计算机实现上述内容,但是特定的使用情况是具有触摸感应界面的移动设备(例如,平板设备112N)的用户想要向其他用户指示他或她当前正在显示器上查看什么的情况。通常,触摸平板设备表示与应用程序107A/107B的交互。根据上文,使鼠标光标位置数据(即,触摸位置)与发送鼠标输入事件(即,实际触摸)分开使平板设备112N的用户能够类似于客户端计算机具有指向设备而作出此类指示。
在可结合上文或单独实现的另一方面中,可在交互式数字表层中创建注释,而不与底层应用程序107A/107B交互,以及与底层应用程序107A/107B的交互不一定在交互式数字表层内创建注释。例如,参考图5B,当Glen划掉“大”字并用铅笔写上“小”字时,他可能不想要突出或改变底层电子制表软件(即,应用程序107A/107B)。因此,可为共享控件504提供选项以禁止与底层应用107A/107B的交互。另一方面,Glen想要在如何编辑相同的电子制表软件的教程中引导Jacquie。在该情况下,通过使用共享控件504来不禁止与应用程序的交互,交互式数字表层可显示光标以指示Glen目前将他的鼠标指向何处,并且继续与底层应用程序107A/107B交互。
另外或替代地,对于以上绘制功能,在一些实施方式中,交互式数字表层可用来提供其它指示器,诸如会话内用户的指示、正在控制交互式数字表层的用户、用户已经加入或退出协作会话的指示器、是否对图像质量进行改变(JPEG缩小)等。一般而言,可通过提供扩展状态模型314中用于触发指示器的出现和/或消失的信息来启动指示器。在一些实施方式中,可暂时地向用户显示指示器。在其它实施方式中,可保留指示器直到用户采取行动,诸如在平板设备112N上的手势、单击鼠标等。
根据其它实施方式,可为交互式数字表层提供对参与协作会话的用户的名称的访问。可将名称信息包含在扩展状态模型314中,并且使用交互式数字表层扩展310将名称信息显示给协作会话中的其他用户。如上所述,每个用户可与可用于交互式数字表层内的指针位置和标记的独特颜色相关联。每个用户可切换其他用户的光标位置的可见性。用户可清除他们自己的标记,并且切换其他用户的标记的可见性。可在用户中选择领导者或默认为初始的创建者。领导者可清除所有标记并移交领导权。如果领导者从协作会话中掉线,那么领导权可移交给会话中的下一位参与者。
为了实现上述内容,可为客户端侧API提供对扩展状态模型314中的改变的响应,从而提供适当的显示和控制。例如,可提供API来构建用户界面组件、渲染交互式数字表层中的图像、提供捕获/剪贴板特征、提供撤销/重做特征、提供对图像/线的粗细的改变、提供字体选择/大小/属性、选择颜色、提供文本框、提供表情符号/图标并且提供水印(例如,机密、草稿、工作副本)。
基于配置设置,API可确定在一个用户打开交互式数字表层时交互式数字表层对于每个人是否是“开”的、个人用户是否可独立于其他用户切换交互式数字表层的可见性或交互式数字表层是否将只在领导者打开时是开的。某一配置可使API能够确定个人客户端是否可以切换其他用户的标记的可见性或是否仅领导者可代表每个人来控制客户端的可见性。而其它配置可使API能够确定个人客户端是否可切换其他用户的光标位置的可见性或是否仅领导者可代表每个人来控制客户端的光标可见性。可指定仅领导者可清除所有其他用户的标记;然而,任何人可随时清除他们自己的标记。
在一些实施方式中,可保存交互式数字表层的状态。例如,可在客户端计算设备112A、112B、112C或112N处保存扩展状态模型314以供后期检索。可提供回放选项以“回放”扩展状态模型314内的状态,所述状态在交互式会话期间的一段时间内接收。用户可能够将交互式数字表层中的绘图保存并从保存的图像的列表中选择。在一些实施方式中,可将图像保存为XML文件中的一组矢量,该XML文件被加载使得用户可继续编辑该绘图。
因此,如上所述,本公开提供可被独立提供且由用户协作使用以在应用之上提供注释的交互式数字表层。此外,更一般而言,本公开提供可通过远程访问机制获得的应用扩展。该应用扩展通过远程访问机制向应用提供增强功能,而不需要修改应用本身。
图6A图示在图1-图5的系统内执行的示例性操作的流程图600。如上所述,服务器102B的服务器远程访问应用111B提供对一个或多个应用107A或107B的访问,这通过客户端远程访问应用121A、121B、121C、121N显示。在602处,协作会话中的用户激活由客户端远程访问应用提供的控件。该控件可以是例如共享控件504。
在604处,接收选择以激活交互式数字表层。例如,用户可选择共享控件604中的绘制功能508。在606处,在交互式数字表层中接收用户输入。用户输入可被接收为协作会话中一个或多个用户在交互式数字表层上绘制的线、箭头、波形曲线、圆等。交互式数字表层可用于协作地从会话中的一个或多个用户接收输入。
在608处,更新扩展状态模型。例如,可更新扩展状态模型314以表示协作会话中的每个用户所作的注释。在用户输入是预定义形状(诸如圆、线、方形或其它几何形状)的情况下,扩展状态模型314可使用XY坐标来表示此类形状。对于线,XY坐标可定义原点并连同可定义该线的长度。对于圆,坐标点可以是中心,且半径可从中心定义来表示圆。可通过在组合时定义波形曲线的形状的一系列小矢量来表示波形曲线。使用坐标而不是像素来提供对参与协作会话中的客户端计算设备的各种显示器中的形状的缩放。
在610处,将扩展状态模型传送到协作会话中的参与者。如图3A和图3B所描述,扩展状态模型314可在客户端计算设备之间传递,使得每个客户端计算设备被同步。状态模型200也可在客户端计算设备和服务器之间传递,使得相对于应用,每个客户端计算设备和服务器被同步。在612处,更新参与者显示以反映该状态模型的内容。更新每个客户端计算设备和服务器的显示以反映扩展状态模型314和/或状态模型200的当前状态。
图6B图示在图1-图5的系统内执行的示例性操作的流程图650。如上所述,服务器102B的服务器远程访问应用111B提供对一个或多个应用107A或107B的访问,这通过客户端远程访问应用121A、121B、121C、121N显示。在652处,协作会话的用户激活由客户端远程访问应用提供的控件。该控件可以是例如共享控件504。
在654处,激活交互式数字表层。例如,用户可在共享控件604中选择功能,或交互式数字表层可在步骤652处自动激活。
在656处,处理通知相关的信息。例如,在客户端计算设备处接收扩展状态模型314,以及应用可处理扩展状态模型314中包含的信息以确定是否应该呈现该通知。 例如,可检查扩展状态模型314中的定时信息,以确定协作会话中的参与者是否正遭遇网络延迟。作为另一实例,可指示协作会话的新用户的身份。
在658处,必要时,显示通知。如果在656处的处理确定应该呈现通知,那么可在交互式数字表层中向用户呈现该通知。例如,网络延迟可能大于预定阈值;因此,可向用户呈现指示器520。
可重复656和658处的过程,以确定是否应该移除通知或是否可在预定超时时段已期满之后移除该通知。
图7示出示范性计算环境,其中可实施示例性实施方案和方面。计算系统环境仅是合适的计算环境的一个实例,且不意图暗示有关于使用或功能性的范围的任何限制。
可使用许多其它通用或专用计算系统环境或配置。可适于使用的公知计算系统、环境和/或配置的实例包括但不限于:个人计算机、服务器计算机、手持或膝上型计算机设备、多处理器系统、基于微处理器的系统、网络个人计算机(PC)、小型计算机、大型计算机、嵌入式系统、包括任何上述系统或设备的分布式计算环境等。
可使用由计算机执行的计算机可执行指令,诸如程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,其执行特定的任务或实施特定的抽象数据类型。可使用分布式计算环境,其中任务由通过通信网络或其它数据传输介质链接的远程处理设备来执行。在分布式计算环境中,程序模块和其它数据可位于本地和远程计算机存储介质(包括存储器存储设备)中。
参考图7,用于实施本文描述的方面的示范性系统包括计算设备,诸如计算设备700。在其最基本配置中,计算设备700通常包括至少一个处理单元702和存储器704。取决于计算设备的确切配置和类型,存储器704可以是易失性的(诸如随机存取存储器(RAM))、非易失性的(诸如只读存储器(ROM)、闪存等)或两者的某个组合。在图7中通过虚线706图示了该最基本配置。
计算设备700可具有附加特征/功能。例如,计算设备700可包括附加存储(可移动和/或不可移动),其包括但不限于磁或光盘或带。此类附加存储在图7中通过可移动存储708和不可移动存储710图示。
计算设备700通常包括各种计算机可读介质。计算机可读介质可以是可由设备700访问的任何可用介质,并且包括易失性和非易失性介质、可移动和不可移动介质。
计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实施的易失性和非易失性、和可移动和不可移动介质。存储器704、可移动存储708和不可移动存储710都是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、电可擦除编程只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁性存储设备或可用于存储期望信息且可以由计算设备700访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备700的一部分。
计算设备700可包含允许设备与其它设备进行通信的通信连接712。计算设备700也可具有输入设备714,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。也可包括诸如显示器、扬声器、打印机等输出设备716。所有这些设备在本领域中是公知的,并且不需要在本文进行详细讨论。
应理解,本文描述的各种技术可结合硬件或软件或在适当时使用二者的组合来实施。因此,本公开主题的方法和装置或其某些方面或部分可以采取程序代码(即,指令)的形式,程序代码体现在有形介质,诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质中,其中当程序代码被载入机器(诸如计算机)并由机器执行时,机器成为用于实践本公开主题的装置。在程序代码在可编程计算机上执行的情况下,计算设备通常包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少ー个输入设备以及至少ー个输出设备。一个或多个程序可例如通过使用应用编程接口(API)、可重复使用的控制件等来实施或利用结合本公开主题描述的过程。此类程序可以用高级程序或面向对象的编程语言来实施以与计算机系统通信。然而,如果期望的话,程序可以用汇编语言或机器语言实施。在任何情况下,语言可为编译语言或解释语言,并且其可与硬件实施方式结合。
虽然已经用特定于结构特征和/或方法行为的语言来描述了主题,但是应理解,在随附权利要求中定义的主题不一定受限于上文描述的具体特征或行为。相反,上文描述的具体特征和行为被公开为实施权利要求的示例性形式。

包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.pdf_第1页
第1页 / 共23页
包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.pdf_第2页
第2页 / 共23页
包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展.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。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1