CN104823189B - 用于连接设备的编配框架 - Google Patents

用于连接设备的编配框架 Download PDF

Info

Publication number
CN104823189B
CN104823189B CN201380062764.7A CN201380062764A CN104823189B CN 104823189 B CN104823189 B CN 104823189B CN 201380062764 A CN201380062764 A CN 201380062764A CN 104823189 B CN104823189 B CN 104823189B
Authority
CN
China
Prior art keywords
equipment
client device
service
file
user
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
CN201380062764.7A
Other languages
English (en)
Other versions
CN104823189A (zh
Inventor
A·博齐克基
玛丽克哈尔尤娜·雷迪·德瓦
尼克·比塞特
A·罗伊乔迪里
盖伊·比伯
乌代·南迪盖姆·加金达尔
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.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
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 Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN104823189A publication Critical patent/CN104823189A/zh
Application granted granted Critical
Publication of CN104823189B publication Critical patent/CN104823189B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

本文提供了使用编配框架互联设备的系统和方法。可提供编配框架,并且编配框架可使多个设备互联,使得设备可用于彼此共享内容和计算活动。编配框架可协调设备之间的交互,所述设备通过该编配框架彼此互联。可接收来自设备中的一个的共享内容的请求。可使用编配框架对一个或多个设备的内容的分配进行管理。该内容可以是上传到远程数据存储的文件、存储在互联设备可访问的剪贴板中的内容、或链接。

Description

用于连接设备的编配框架
相关申请的交叉引用
本申请要求标题为“Orchestration Framework for Connected Devices”并在2013年9月13日提交的编号为14/026,442的美国专利申请的优先权,该美国专利申请要求以下申请的权益:标题为“Frictionless Distributive and Collaborative Work AcrossTime and Space”并在2012年10月12日提交的编号为61/712,948的美国临时专利申请;标题为“Mobile Work and Micro Work Using an Activity Interface”并在2012年10月12日提交的编号为61/712,953的美国临时专利申请;标题为“Multi-Device Interaction”并在2012年10月12日提交的编号61/712,956的美国临时专利申请;标题为“OrchestrationFramework for Connected Devices"并在2012年10月12日提交的编号为61/712,962的美国临时专利申请;以及标题为“Multi-Device Interaction”并在2013年5月16日提交的编号为61/824,204的美国临时专利申请,其中的每个申请都以其整体通过引用并入本公开内容。
技术领域
本申请总体上涉及计算机及计算机网络。更具体地,本文描述的方面涉及用于将一组设备实现为发挥集合的协调整体作用的方法和系统。
背景技术
传统上的个人计算机包括用于单个用户的操作系统、应用程序和用户设置。个人计算机通常同时由其所有者使用和管理。然而,许多企业目前正采用计算资源的虚拟化、远程访问、或云,以满足他们的计算需求。虚拟化计算资源的云通常允许多个用户的操作系统、应用程序和用户设置包括在单个物理机器上。桌面虚拟化技术允许操作系统的多个实例保持独立,因此一个用户的活动不影响其他用户的体验。云计算环境允许由云运营商拥有的计算机由云运营商进行管理,但由云用户使用,该用户可以是云运营商的客户。
虚拟机接收器是应用程序,其允许用户使用对应用程序、桌面和数据组合的一种虚拟化远程访问,即使当所述“远程”资源在用户可正使用的物理机器上时也是如此。每个接收器可与企业级中心服务器通信,其列出已被用户选择的应用程序和其它资源、以及可供用户选择或请求的应用程序和其它资源。
随着虚拟化变得越来越流行并更具成本效益,本文描述的方面提出的新的问题出现了。例如,从单一设备领域发展到多设备领域可涉及至少四种类型的设备—智能电话、平板计算机、全功能的笔记本计算机或台式计算机,外加室内安装的显示器。这些设备的每个可独立运行软件,诸如网络浏览器、会议软件(例如,可从佛罗里达州的劳德代尔堡的思杰系统(Citrix Systems)公司购买的GoToMeeting)、个人信息管理器、文档或商用软件、以及其它类型的软件。然而,这些设备中的每一个独立运行,大多数都没觉察到其它设备。当前在设备之间存在的大多数连接可能通常涉及从一个设备到另一个设备的镜像屏幕。这种典型的实例包括在室内安装的显示器上显示笔记本计算机屏幕内容,或在笔记本计算机上显示平板计算机的显示内容或智能手机的显示内容,然后这些内容可显示在室内安装的显示器上。因此,存在协调操作这样的设备以使设备可觉察到彼此并作为整体协同发挥作用的方法的需要。
发明内容
下文呈现本文所述的各个方面的简要概述。该概述并非广泛综述,且并不旨在标识关键或重要元素或描绘权利要求的范围。以下概述仅仅呈现简化形式的一些概念,作为对以下提供的更详细描述的介绍性前序。
为了克服上述的限制,及为了克服在阅读和理解本说明书后将是显而易见的其它限制,本文所述的方面涉及用于以协调的方式管理互联设备之间的交互的编配框架(orchestration framework)。本文描述的方面还允许多个设备起连贯整体的作用,允许每个设备承担彼此互补的不同功能。本文所述的方面还允许设备与给定的用户关联,以保持关于与用户相关联的各种设备的角色的优选项(preference)。
本文所述的第一方面提供了用于使用编配框架互联设备的方法。可提供编配框架,并且编配框架可使多个设备互联,使得设备可用于彼此共享内容和计算活动。编配框架可协调设备之间的交互,所述设备通过该编配框架彼此互联。可从设备中的一个接收对共享内容的请求。可使用编配框架对一个或多个设备的内容的分配进行管理。该内容可以是上传到远程数据存储的文件、存储在互联设备可访问的剪贴板中的内容或链接。
在一些实施例中,可以在所述请求中指定所述多个设备中的一个设备共享所述内容,且还可包括:
使用所述编配框架,发送通知到在所述请求中指定的设备,其中,所述通知说明所述内容已与设备共享。
在一些实施例中,所述方法还可包括:
选择所述多个设备中的一个设备作为专用设备,以接收具有选定内容类型的共享内容;
确定所共享的内容的内容类型是否是所述选定内容类型;以及
当所共享的内容的内容类型是所述选定内容类型时,仅使用所述编配框架发送通知到所述专用设备,其中,所述通知说明已共享所述内容。
在一些实施例中,所共享的内容可以是文件,且所述方法还可包括:
在所述请求中包含所述文件将被上传到的数据存储的储存位置;
使用所述编配框架,发送通知到所述多个设备中的至少一个设备,其中,所述通知可包括所述文件的储存位置;并且
其中,在至少一个设备接收所述通知可以使所述至少一个设备能够使用所述储存位置从所述数据存储下载所述文件。
在一些实施例中,所述方法还可包括:
识别所述文件的文件类型;
确定所述多个设备中的哪一个设备包括能够打开所述文件的本地应用程序;
确定所述多个设备中的哪一个设备不包括能够打开所述文件的本地应用程序;
发送所述通知到包括能够打开所述文件的本地应用程序的所述设备中的至少一个设备;以及
不发送通知到不包括能够打开所述文件的本地应用程序的任何设备。
在一些实施例中,所述方法还可包括:
使用所述编配框架,建立虚拟环境并配置所述虚拟环境,使其具有能够打开所述文件的虚拟化应用程序;
将所述文件提供给在所述虚拟环境中的所述虚拟化应用程序;以及
使用所述编配框架发送可替换的通知到不包括能够打开所述文件的本地应用程序的所述多个设备中的至少一个设备;
其中,所述可替换的通知的接收可导致不包括能够打开所述文件的本地应用程序的所述至少一个设备启动虚拟客户端应用程序,并使用所述虚拟客户端应用程序连接到所述虚拟环境,使得所述文件经由虚拟客户端应用程序是可访问的。
在一些实施例中,所共享的内容可以是链接,且所述方法还可包括:
使用所述编配框架,发送通知到所述多个设备的至少一个设备,其中,所述通知可包括所述链接;并且
其中,在所述至少一个设备的所述通知的接收可以使所述至少一个设备提供所述链接到能够处理所述链接的应用程序。
在一些实施例中,所述链接可以是网站的网络链接;并且能够处理所述链接的所述应用程序可以是网络浏览器。
在一些实施例中,所共享的内容可以包含在所述请求中,且还可包括:
将包含在所述请求中的所述内容存储剪贴板中,其中,所述剪贴板对于所述多个设备中的多个设备是可访问的;以及
使用所述编配框架,发送通知到所述多个设备中的至少一个设备,其中,所述通知说明来自所述剪贴板的所述内容是可用的。
在一些实施例中,所述方法还可包括:
从所述多个设备中的一个设备接收粘贴请求;以及
将存储在所述剪贴板的所述内容提供给使用编配框架从其接收所述粘贴请求的设备。
在一些实施例中,所述方法还可包括:
存储规则,所述规则可以指定所述多个设备中的哪一个设备应接收所共享的内容;以及
仅使用所述编配框架发送通知到所述规则中指定的设备,其中,所述通知说明所述内容已共享。
本文所述的另一方面提供了一种系统,包括:
至少一个处理器;
编配框架,所述编配框架互联多个设备,使得所述多个设备可用于共享内容和计算活动,并且所述编配框架包括一组服务器侧编配组件和一组客户端侧编配组件,当所述多个设备通过所述编配框架互连时,所述一组服务器侧编配组件和所述一组客户端侧编配组件协调所述多个设备之间的交互;
其中,将所述服务器侧编配组件配置成驻留在编配服务器,且所述服务器侧编配组件可包括:
编配服务,在操作时,所述编配服务指示所述服务器侧编配组件响应在所述编配服务器处接收的通信;
其中,将所述客户端侧编配组件配置成驻留在与所述编配服务器通信的客户端设备,且所述客户端侧编配组件包括:
与所述编配服务通信的编配代理,在操作时,所述编配代理指示所述客户端侧编配组件响应于从所述客户端设备的用户接收的输入并响应于在所述编配代理接收的通知;并且
其中,在操作时,所述编配代理还提交共享内容的请求到所述编配服务,且响应于所述请求的接收,所述编配服务还在操作时管理到通过所述编配框架与所述客户端设备互联的所述多个设备中的一个或多个设备的内容的分配。
在一些实施例中,所述系统还可包括:
作为所述服务器侧编配组件之一的通知服务,其中,在操作时,所述通知服务可发送通知到所述客户端设备以响应于从所述编配服务接收的指令;以及
作为所述客户端侧编配组件之一的通知接口,其中,在操作时,所述通知接口可以从所述通知服务接收所述通知并传递所述通知到所述编配代理。
在一些实施例中,所述通知之一说明了已上传到数据存储的文件的储存位置,且还可包括:
作为所述客户端侧编配组件之一的远程文件接口,在操作时,所述远程文件接口可使用所述储存位置取回所述文件;
作为所述客户端侧编配组件之一的应用程序解析器,在操作时,所述应用程序解析器可识别在所述客户端设备的哪个应用程序能够打开所述文件;以及
作为所述客户端侧编配组件之一的应用程序启动器,在操作时,所述应用程序启动器可在所述客户端设备启动能够打开所述文件的应用程序。
在一些实施例中,所述通知之一可包括共享链接;
在操作时,所述应用程序解析器还可识别所述客户端设备的哪个应用程序能够处理所述共享链接;以及
在操作时,所述应用程序启动器还可启动能够处理所述共享链接的所述应用程序。
在一些实施例中,所述系统还可包括:
作为所述服务器侧编配组件之一的剪贴板,所述剪贴板对于所述多个设备中的多个设备是可访问的;
其中,所述通知之一可说明所共享的内容已存储在所述剪贴板;并且
其中,在操作时,所述编配服务还可响应于来自所述编配代理对在所述剪贴板存储的内容的请求的接收,提供存储在所述剪贴板的所述内容。
在一些实施例中,所述系统还可包括:
作为服务器侧编配组件之一的设备服务,其中,在操作时,所述设备服务可管理关于所述多个设备的设备信息;以及
作为所述客户端侧编配组件之一的设备存在服务,其中,在操作时,所述设备存在服务可向所述设备服务说明所述客户端设备的可用性。
本文所述的第二方面提供了用于使用编配框架互联设备的系统。系统可包括至少一个处理器和互联多个设备的编配框架,使得设备可用于彼此共享内容和计算活动。编配框架可包括配置成驻留在编配服务器的一组服务器侧编配组件和配置成驻留在客户端侧的一组客户端侧编配组件。服务器侧编配组件可包括编配服务,其在操作时,指示服务器侧编配组件响应在编配服务器处接收的通信。客户端侧编配组件可包括与编配服务通信的编配代理。编配代理可在操作时,指示客户端侧编配组件响应在客户端接收的输入以及响应在编配代理接收的通知。编配代理还可向编配服务提出与通过编配框架与客户端设备互联的一个或多个设备共享内容的请求。响应于收到的请求,编配服务可管理到通过编配框架与客户端设备互联的一个或多个设备的内容的分配。
本文所述的第三方面提供了具有指令的非暂时性计算机可读介质,所述指令在执行时导致客户端设备使用编配框架的编配代理与一个或多个设备连接。编配框架可协调客户端设备和与客户设备通过编配框架互联的设备之间的交互。客户端设备可从用户接收选择的内容以共享,且在客户端设备的编配代理随后可向编配框架的编配服务提出共享内容的请求。在编配服务收到请求可引起编配服务管理到通过编配框架与客户端设备互联的一个或多个设备的内容的分配。如在本说明书中使用的,非暂时性计算机可读介质指的是仅排除了暂时性传播信号的所有计算机可读介质。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
使用所述编配代理显示设备列表,其中,所述设备列表列出可用于被选择为接收所述内容的选定设备的设备;
其中,所述设备列表可包括至少一个可选的设备,所述至少一个可选的设备可通过所述编配框架与所述客户端设备互联;并且
其中,共享所述内容的所述请求指定了选定设备。
在一些实施例中,通过所述编配框架与所述客户端设备互联的所述至少一个可选的设备可包括下列中的至少一个:
与所述客户端设备的用户参加的在线会议相关联的一个或多个设备;
与所述客户端设备的所述用户相关联的一个或多个个人设备;
与所述客户端设备的用户关联的用户组相关联的一个或多个设备;
在相同的物理空间中实际彼此靠近放置的一个或多个设备;以及
上述各项的组合。
在一些实施例中,所共享的内容可以是驻留在所述客户端设备的文件,并且当所述指令执行时,还可导致所述客户端设备执行:
使用所述编配框架的远程储存器接口将所述文件上传到数据存储的储存位置;以及
将所述储存位置包括在提交到所述编配服务的所述请求中;
其中,在所述编配服务的所述请求的接收可导致所述编配服务发起到所述多个设备中的一个或多个设备的通知;并且
其中,所述通知可包括在所述数据存储的所述文件的所述储存位置。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
在所述编配代理接收共享通知,所述共享通知说明共享文件可在所述数据存储获得;
使用所述远程储存器接口从所述数据存储取回所述文件;
使用所述编配框架的应用程序解析器识别能够打开所述文件的应用程序;
使用所述编配框架的应用程序启动器启动能够打开所述文件的应用程序;以及
使用所述应用程序打开所述文件。
在一些实施例中,可经由在所述客户端设备输入的复制到剪贴板命令选择所共享的内容,并且其中,当所述指令执行时,还可导致所述客户端设备执行:
将所述内容包括到提交到所述编配服务的请求中;
其中,在所述编配服务的所述请求的接收可导致所述编配服务将包括在所述请求中的所述内容存储剪贴板上,其中,所述剪贴板对于所述多个设备中的多个设备是可访问的,并可导致所述编配服务发起到所述多个设备中的一个或多个设备的通知;并且
其中,所述通知可说明包括在所述请求中的所述内容可在所述剪贴板获得。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
接收内容可在所述剪贴板获得的共享通知;
在所述客户端设备接收从剪贴板粘贴的命令;
使用所述编配代理,提交对于在所述剪贴板存储的所述内容的请求到所述编配服务;
响应于在所述编配服务的所述请求的接收,接收在所述剪贴板存储的所共享的内容;以及
将所共享的内容粘贴到在所述客户端设备的应用程序。
在一些实施例中,所共享的内容可以是链接,且其中,所述指令在执行时还可导致所述客户端设备执行:
将所述链接包括到提交到所述编配服务的请求中;
其中,在所述编配服务的所述请求的接收可导致所述编配服务发起到所述多个设备中的一个或多个设备的通知;并且
其中,所述通知可包括所述请求中包括的所述链接。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
在所述编配代理接收共享通知,所述共享通知可包括共享链接;
使用所述编配框架的应用程序解析器识别能够处理所述链接的应用程序;
使用所述编配框架的应用程序启动器启动能够处理所述链接的应用程序;以及
使用所述应用程序处理所述链接。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
使用所述编配代理显示用户列表,其中,所述用户列表可列出可用于被选择为接收所述内容的选定用户的用户;
其中,所述用户列表可包括与至少一个设备相关联的至少一个可选的用户,所述至少一个设备可通过所述编配框架与所述客户端设备互联;并且
其中,共享所述内容的所述请求指定了选定用户。
在一些实施例中,可用于被选择为选定用户的所述至少一个可选的用户可包括:
与所述客户端设备的用户的用户组相关联的一个或多个用户;
与所述客户端设备的用户参加的在线会议相关联的一个或多个用户;
在相同物理空间中实际邻近所述客户端设备的用户的一个或多个用户;以及
上述各项的组合。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
使用所述编配代理显示用户组列表,其中,所述用户组列表可列出可用于被选择为接收所述内容的选定用户组的一个或多个用户组;
其中,所述用户组列表可包括与至少一个设备相关联的至少一个可选的用户组,所述至少一个设备可通过所述编配框架与所述客户端设备互联;并且
其中,共享所述内容的所述请求指定了选定用户组。
在一些实施例中,可用于被选择为选定用户组的所述至少一个可选的用户组可包括:
来源于由调度服务提供的日程表信息的一个或多个用户组,其中,所述日程表信息可说明为所述用户安排的一个或多个在线会议;
包含与所述用户当前正在参加的在线会议相关联的一个或多个用户的用户组;
包含在相同物理空间中实际邻近所述客户端设备的用户的一个或多个用户的用户组;以及
上述各项的组合。
在一些实施例中,所述指令在执行时还可导致所述客户端设备执行:
使用所述编配框架的应用程序启动器启动在线会议应用程序,并使用所述会议应用程序连接所述在线会议;
通过所述编配框架与所述在线会议相关的一组设备互联;
在所述在线会议期间,使用所述编配框架与一个或多个与所述在线会议相关联的设备共享内容;以及
在所述在线会议期间,使用所述编配框架从与所述在线会议相关联的一个或多个设备接收共享内容。
根据在下面对公开内容的益处的进一步详细讨论,将理解这些和其它方面。
附图说明
可通过下面参照附图考虑的描述获得本文描述的方面的更完整的理解和其优势,其中相似的参考数字表示相似的特征,且其中:
图1描述了示例性计算机系统架构,其可根据本文描述的一个或多个示例性方面来使用。
图2描述了示例性远程访问系统架构,其可根据本文描述的一个或多个示例性方面来使用。
图3描述了示例性虚拟化(超级管理器)系统架构,其可根据本文描述的一个或多个示例性方面来使用。
图4描述了示例性的基于云的系统架构,其可根据本文描述的一个或多个示例性方面来使用。
图5A-D根据本文描述的一个或多个示例性方面描述了多设备的交互。
图6A-C根据本文描述的一个或多个示例性方面,描述了可能相关的设备集合实例。
图7A根据本文描述的一个或多个示例性方面,描述了编配框架的框图。
图7B根据本文描述的一个或多个示例性方面,描述了编配服务器和客户端设备的框图。
图7C根据本文描述的一个或多个示例性方面,描述了编配服务器和客户端设备的另一个框图。
图7D根据本文描述的一个或多个示例性方面,描述了通过对等会话互联的客户端设备的框图。
图8是用于连接在线会议的实例方法步骤的流程图。
图9是用于从一个客户端设备传输在线会议到另一个客户端设备的实例方法步骤的流程图。
图10是用于连接在线会议的实例方法步骤的另一流程图。
图11A-B根据本文描述的一个或多个示例性方面,描述了在客户端设备的接口的实例。
图12是用于在在线会议期间编制会议流的实例方法步骤的流程图。
图13是用于将客户端设备与物理空间相关联的实例方法步骤的流程图。
图14是用于将客户端设备与用户组相关联的实例方法步骤的流程图。
图15是用于基于用户角色定制协调的在线会议的实例方法步骤的流程图。
图16是用于基于设备角色定制协调的在线会议的实例方法步骤的流程图。
图17是用于定义编配框架规则的实例方法步骤的流程图。
图18是用于应用编配框架规则的一般实例方法步骤的流程图。
图19是用于应用将在线会议转发到参会者的手机的规则的实例方法步骤的流程图。
图20是用于跨多个互联设备分配计算活动的实例方法步骤的流程图。
图21是用于跨多个互联设备共享内容的实例方法步骤的流程图。
图22是用于专门设置设备以显示网络链接的实例方法步骤的流程图。
图23是用于跨多个互联设备执行复制和粘贴命令的实例方法步骤的流程图。
图24是用于打开通过编配框架共享的内容的实例方法步骤的流程图。
图25是用于跨设备共享URL的实例方法步骤的流程图。
图26是用于经由编配框架创建活动的实例方法步骤的流程图。
图27是用于经由编配框架访问活动的实例方法步骤的流程图。
具体实施方式
为了解决以上确定的问题以及其它对于读者显而易见的问题,本文描述的方面允许多个设备充当一个紧密结合的整体,其允许每个设备承担不同的彼此互补的功能。通过这种结合,充当紧密结合的整体的互联设备为远程个人之间的在线会议提供了改进和增强。本文描述的方面允许与个人相关联或与个人的组相关联的设备的集成,以便以协调的、集合的方式使用,超越了简单的屏幕共享。设备的这种集合协调可基于为个人用户的私人设备保留的优选项,或在两个人或多于两个人共同使用他们的设备时(例如,在设备上经由会议软件管理在线会议期间)以自组织为基础。
下面描述的编配框架,其对设备进行互联,用来管理在线会议,并协调跨互联设备的各种计算活动。使用编配框架,参会者可跨互联设备共享内容,跨互联设备共享应用程序的功能,或在在线会议期间共享互联设备本身。编配框架还通过主动通知即将召开的会议的参会者,在某些情况下,自动连接他们的设备到会议,来改善连接在线会议的过程。编配框架还使参会者从一个设备转换到另一个设备成为可能,并无缝地继续参加正在进行的会议。编配框架还编制(compile)会议历史,捕获在会议期间共享的内容,并关联共享内容与会议历史。参会者可随后回顾会议历史和关联的内容。关于设备交互,编配框架有助于复杂的多设备行为。编配框架,通过给用户提供自定义设备动作的能力有助于灵活的设备交互。
更一般地说,与应用程序相关联的功能性、输入和输出可跨由编配框架互联的多个设备传播,使得互联设备作为协调的整体进行操作。如在下面进一步详细描述的,每个互联设备可包括各自的编配代理,其在客户端-服务器通信会话期间与编配服务器的编配服务通信。在对等通信会话期间,客户端设备的编配代理还可彼此通信。编配代理可彼此通信以与或不与在编配服务器上的编配服务合作。
参会者可利用编配框架的方式的一些一般性实例包括以下内容。根据一个实例,参会者可利用编配框架使驻留在一个设备的内容可用于另一设备,以在所述另一设备中呈现所述内容。例如,参会者可利用编配框架使驻留在平板设备的视频内容,可用于呈现视频内容的更大的显示设备(例如,电视机)。根据另一实例,计算活动可在计算设备发起,且参会者可利用该编配框架执行在另一设备的计算活动的一部分。例如,在线会议可以,例如,在移动蜂窝电话发起,且参会者可利用该编配框架将来自在线会议的音频引导到更大的音频输出设备(例如,扬声器系统),且将来自在线会议的视频引导到更大的显示设备(例如,电视机)。作为另一实例,可启动文档编辑应用程序,并在一个设备(例如,平板计算机)运行,可在第二设备(例如,笔记本计算机)接收到该应用程序的输入,且来自应用程序的视频输出可在第三设备(例如,电视)呈现。根据以下提供的详细描述的益处将理解其它方面和实例。
在各种实施方案的以下描述中,对上面指出的附图进行了引用,且其形成本文的一部分,且其中以示例说明的方法展示了各种实施方案,其中可实践本文描述的方面。应该理解的是,可利用其它实施方案,且可进行结构和功能修改而不脱离本文中所描述的范围。各个方面能够用于其它实施方案且以各种不同方式实践或执行。应当理解的是,本文使用的措辞和术语是用于描述的目的,而不应被视为限制。相反,本文使用的短语和术语应给予其最宽泛的解释和含义。使用“包括”和“包含”及其变型是指包括其后列出的项目和其等同物以及其它项目及其等同物。短语“安装”、“连接”、“耦合”、“定位”、“占用”和相似的短语的使用,指包括直接和间接安装、连接、耦合、定位和占用。
计算架构
可在各种不同的系统环境中利用计算机软件、硬件和网络,包括独立环境、联网环境、远程访问环境(也叫做远程桌面)、虚拟环境、和/或基于云的环境等。图1示出了系统架构和数据处理设备的一个实例,其可被用于在独立和/或网络环境中实现本文描述的一个或多个示例性方面。各个网络节点103、105、107和109可经由广域网(WAN)101(诸如互联网)互联。也可以或可替代地使用其它网络,包括私有内联网、企业网、局域网(LAN)、城域网(MAN)、无线网络、私人网络(PAN)等。网络101用于说明目的,且可用更少的或其它计算机网络替换。LAN可具有一个或多个任何已知的LAN拓扑,并可使用一个或多个各种不同的协议,诸如以太网协议。可经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接设备103、105、107、109和其它设备(未示出)到一个或多个网络。
如本文使用的和在附图中所描绘的术语“网络”指的不仅是经由一个或多个通信路径在其上耦合远程储存器设备的系统,而且也指可偶尔耦合到具有存储能力的这种系统的独立设备。因此,术语“网络”不但包括“物理网络”,而且包括“内容网络”,其由包括归属于单一实体的驻留在所有物理网络的数据。
该组件可包括数据服务器103、网页服务器105和客户端计算机107、109。数据服务器103提供数据库和控制软件的全面访问、控制和管理,用于执行本文描述的一个或多个示例性的方面。可连接数据服务器103到网页服务器105,用户按照请求与所述服务器进行交互并获得数据。可替换地,数据服务器103本身可充当网页服务器,并可直接连接到互联网。经由直接或间接的连接,或经由某一其它网络,数据服务器103可通过网络101(例如,互联网)连接到网页服务器105。用户可使用远程计算机107、109与数据服务器103交互,例如,使用网络浏览器经由网页服务器105承载的一个或多个对外开放的网站连接到数据服务器103。客户端计算机107、109可用于与数据服务器103协调以访问其中存储的数据,或可用于其它目的。如本领域已知的,例如,用户可使用互联网浏览器、或通过执行通过计算机网络(例如互联网)与网页服务器105和/或数据服务器103进行通信的软件应用程序,从客户端设备107访问网页服务器105。服务器和应用程序可组合在相同的物理机上,并保留独立的虚拟或逻辑地址,或可驻留在单独的物理机上。图1仅示出一个可使用的网络架构的实例,且本领域那些技术人员将理解,所使用的特定的网络架构和数据处理设备可变化,且对于它们提供的功能而言是次要的,本文将对此进行进一步描述。例如,通过网页服务器105和数据服务器103提供的服务可在单个服务器上进行组合。
每个组件103、105、107、109可以是任何类型的已知计算机、服务器或数据处理设备。例如,数据服务器103可包括控制数据服务器103的整体操作的处理器111。数据服务器103还可包括RAM 113、ROM 115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等)、以及存储器121。I/O 119可包括多种用于读、写、显示、和/或打印数据或文件的接口单元和驱动器。存储器121还可存储用于控制数据处理设备103的整体操作的操作系统软件123,用于指示数据服务器103以执行本文描述的方面的控制逻辑125,以及提供次要、支持、和/或其它可用于或不可用于与本文描述的方面结合的功能的其它应用软件127。在本文中,该控制逻辑还可称为数据服务器软件125。数据服务器软件的功能可涉及操作或决策,其基于编码到控制逻辑的规则自动地进行、由用户提供输入到系统手动进行、和/或基于用户输入的自动处理的组合(例如,查询、数据更新等)。
存储器121还可存储用于本文描述的一个或多个方面的执行的数据,包括第一数据库129和第二数据库131。在一些实施方案中,第一数据库可包括第二数据库(例如,作为单独的表、报表等)。即,该信息可存储在单个数据库中,或分离成不同的逻辑、虚拟或物理数据库,其取决于系统的设计。设备105、107、109可具有如关于设备103描述的类似的或不同的架构。本领域的那些技术人员将理解,如本文描述的数据处理设备103(或设备105、107、109)的功能可分布在多个数据处理设备中,例如,在多台计算机上分配处理负载,以基于地理位置、用户访问级别、服务质量(QoS)等分离事务。
一个或多个方面可体现在计算机可用或可读的数据和/或计算机可执行指令中,诸如在一个或多个程序模块,由一个或多个计算机或如本文所述的其它设备执行。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,当在计算机或其它设备中通过处理器执行时,其执行特定任务或实现特定抽象数据类型。该模块可用源代码编程语言编写,然后被编译用于执行,或可用脚本语言编写,诸如(但不限于)Javascript或ActionScript。该计算机可执行的指令可存储在计算机可读介质中,诸如存储在非易失性储存器设备中。可使用任何合适的计算机可读存储介质,包括硬盘、CD-ROM、光储存器设备、磁储存器设备、和/或它们的任意组合。此外,代表如本文所述的数据或事件的各种传输(非存储)介质,可在源和目标之间通过信号传导介质诸如金属线、光纤、和/或无线传输介质(例如,空气和/或空间)以电磁波的形式传输。本文描述的各个方面可体现为方法、数据处理系统、或计算机程序产品。因此,各种功能可整体或部分地体现为软件、固件和/或硬件或硬件等同物的形式,诸如集成电路、现场可编程门阵列(FPGA)等。特定的数据结构可用于更有效地实现本文所述的一个或多个方面,且预期这种数据结构在本文所述的计算机可执行指令和计算机可用数据的范围内。
进一步参考图2,可在远程访问环境中实现本文所述的一个或多个方面。图2描绘了示例性的系统架构,其包括在示例性计算环境200中的通用计算设备201,通用计算设备可根据本文所述的一个或多个示例性方面来使用。在配置成为客户端访问设备提供虚拟机的单个服务器或多个服务器的桌面虚拟化系统中(例如,远程访问或云系统),通用计算设备201可用作服务器206a。通用计算设备201可具有处理器203,用于控制服务器及其相关组件的整体操作,包括随机存取存储器(RAM)205、只读存储器(ROM)207、输入/输出(I/O)模块209和存储器215。
I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光学读取器、和/或触笔(或其它输入设备),通用计算设备201的用户可通过其提供输入,且还可包括用于提供音频输出的一个或多个扬声器,以及用于提供文本、视听和/或图形输出的视频显示设备。软件可存储在存储器215和/或其它储存器中,以提供指令给处理器203用于配置通用计算设备201为特殊目的的计算设备,以便执行各种如本文所述的功能。例如,存储器215可存储计算设备201使用的软件,诸如操作系统217、应用程序219、和相关的数据库221。
计算设备201可在支持连接到一个或多个远程计算机,诸如终端240(也称为客户端设备)的网络化环境中运行。终端240可以是个人计算机、移动设备、笔记本计算机、平板计算机、或服务器,其包括以上描述的关于通用计算设备103或201的许多或全部元件。在图2中描述的网络连接包括局域网(LAN)225和广域网(WAN)229,但也可包括其它网络。当在LAN联网环境中使用时,计算设备201可通过网络接口或适配器223连接到LAN 225。当在WAN联网环境中使用时,计算设备201可包括调制解调器227或用于建立覆盖WAN 229,诸如计算机网络230(例如,互联网)的通信的其它广域网接口。应理解的是,所示的网络连接是示例性的,且可使用在计算机之间建立通信链接的其它手段。计算设备201和/或终端240也可以是移动终端(例如,移动电话、智能电话、PDA、笔记本计算机等),包括各种其它组件,例如电池、扬声器和天线(未示出)。
还可用许多其它通用或专用计算系统环境或配置操作本文中所述的方面。可能适合于使用本文所述的方面的其它计算系统、环境和/或配置的实例,包括,但不限于,个人计算机、服务器计算机、手持或笔记本设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等。
如图2所示,一个或多个客户端设备240可与一个或多个服务器206a-206n(在本文中总体称为“服务器206”)通信。在一个实施方案中,计算环境200可包括服务器206和客户端机器240之间安装的网络装置。网络装置可管理客户端/服务器连接,并在某些情况下可负载均衡多个后端服务器206之间的客户端连接。
在一些实施方案中,可称客户端机器240为单个客户端机器240或单组客户端机器240,而可称服务器206为单个服务器206或单组服务器206。在一个实施方案中,单个客户端机器240与多于一个的服务器206通信,而在另一个实施方案中,单个服务器206与多于一个的客户端机器240通信。在又一个实施方案中,单个客户端机器240与单个服务器206通信。
在一些实施方案中,可通过下列非穷举术语中的任何一个引用客户端机器240:客户端机器;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;或端点节点。在一些实施方案中,可通过下列非穷举术语中的任何一个引用服务器206:服务器;本地机器;远程机器;服务器群;或主机计算设备。
在一个实施方案中,客户端机器240可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施方案中虚拟机可以是由类型1或类型2的超级管理器所管理的任何虚拟机,例如,由思杰系统公司、IBM、VMware开发的管理程序,或任何其它管理程序。在一些方面中,虚拟机可由超级管理器管理,而在其它方面中虚拟机可由在服务器206上执行的超级管理器或在客户端240上执行的超级管理器管理。
一些实施方案包括客户端设备240,其显示由在服务器206上或其它位于远程的机器上远程执行的应用程序生成的应用程序输出。在这些实施方案中,客户端设备240可执行虚拟机客户端代理程序或应用程序,以在应用程序窗口、浏览器、或其它输出窗口显示输出。在一个实例中,该应用程序是桌面,而在其它实例中,该应用程序是生成或呈现桌面的应用程序。桌面可包括提供用于操作系统的实例的用户接口的图形壳,其中可集成本地和/或远程应用程序。如本文所使用的应用程序为加载操作系统(和任选地,还有桌面)的实例之后执行的程序。
在一些实施方案中,服务器206使用远程呈现协议或其它程序将数据发送到瘦客户端或在客户端上执行的远程显示应用程序,以呈现通过服务器206上执行的应用程序产生的显示输出。瘦客户端或远程显示协议可以是以下非穷举协议列表中的任何一个:由佛罗里达州的劳德代尔堡的思杰系统有限公司开发的独立计算架构(ICA)协议;或由华盛顿雷德蒙德的微软公司制造的远程桌面协议(RDP)。
远程计算环境可包括多于一个的服务器206a-206n,使得,例如在云计算环境中,服务器206a-206n逻辑组合成服务器群206。服务器群206可包括地理上分散却逻辑分组在一起的服务器206,或彼此接近放置且在逻辑上分组在一起的服务器206。在一些实施方案中,在服务器群206中的地理上分散的服务器206a-206n使用WAN(广域网)、MAN(城域网)、或LAN(局域网)通信,其中不同的地理区域可表征为:不同大陆;大陆的不同区域;不同的国家;不同的州;不同的城市;不同的校区;不同的房间;或前述地理位置的任何组合。在一些实施方案中,服务器群206可作为单个实体管理,而在其它实施方案中,服务器群206可包括多个服务器群。
在一些实施方案中,服务器群可包括服务器206,其执行类型基本类似的操作系统平台(例如,WINDOWS、UNIX、LINUX、IOS、ANDROID、SYMBIAN等)。在其它实施方案中,服务器群206可包括执行第一类型的操作系统平台的一个或多个服务器的第一组,以及执行第二类型的操作系统平台的一个或多个服务器的第二组。
服务器206可根据需要配置成任何类型的服务器,例如,文件服务器、应用服务器、网页服务器、代理服务器、装置、网络装置、网关、应用程序网关、网关服务器、虚拟服务器、部署服务器、SSL VPN服务器、防火墙、网页服务器、应用服务器;或配置成主应用服务器;配置成执行活动目录的服务器;或配置成执行提供防火墙功能、应用程序功能、或负载均衡功能的应用程序加速程序的服务器。也可使用其它类型的服务器。
一些实施方案包括第一服务器206a,所述第一服务器206a从客户端机器240接收请求,将请求转发到第二服务器206b,并使用来自第二服务器206b的响应,响应由客户端机器240产生的请求。第一服务器206a可取得可用于客户端机器240的应用程序的列表,以及与承载在应用程序列表中指定的应用程序的应用程序服务器206相关联的地址信息。然后,第一服务器206a可使用网络接口提供对客户端请求的响应,并直接与客户端240通信以提供给客户端240到指定的应用程序的访问。一个或多个客户端240和/或一个或多个服务器206可在网络230(例如网络101)上发送数据。
图2示出了示例性桌面虚拟化系统的高层架构。如图所示,桌面虚拟化系统可以是单个服务器或多个服务器系统、或云系统,包括配置成给一个或多个客户端访问设备240提供虚拟桌面和/或虚拟应用程序的至少一个虚拟化服务器206。如本文所用的,桌面指图形环境或空间,其中可承载和/或执行一个或多个应用程序。桌面可包括图形壳提供用于操作系统的实例的用户接口,其中可集成本地和/或远程应用程序。应用程序可包括加载操作系统(和任选地,还有桌面)的实例之后执行的程序。操作系统的每个实例可以是实际的(例如,每个设备一个操作系统)或虚拟的(例如,运行在单个设备上的OS的多个实例)。可在本地设备上或在位于远程的设备上(例如,远程设备)执行每个应用程序。
进一步参考图3,可配置计算机设备301可以配置为在虚拟化环境(例如,单一服务器环境、多服务器环境、或云计算环境)中的虚拟化服务器。在图3中说明的虚拟化服务器301可部署为以下形式和/或通过以下形式实现:图2中说明的服务器206的一个或多个实施方案;或其它已知的计算设备。包含在虚拟化服务器301中的是硬件层,其可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308和一个或多个物理存储器316。在一些实施方案中,可在物理存储器316的存储元件内存储固件312,并可通过一个或多个物理处理器308执行。虚拟化服务器301还可包括操作系统314,其可存储在物理存储器316的存储元件中,并由一个或多个物理处理器308执行。更进一步地,可在物理存储器316的存储元件中存储超级管理器302,并可通过一个或多个物理处理器308执行。
在一个或多个物理处理器308上执行的可以是一个或多个虚拟机332A-C(总体上表示为332)。每个虚拟机332可具有虚拟磁盘326A-C和虚拟处理器328A-C。在一些实施方案中,第一虚拟机332A可使用虚拟处理器328A执行包括工具堆栈324的控制程序320。控制程序320可称为控制虚拟机、Dom 0、域0(Domain 0)、或用于系统管理和/或控制的其它虚拟机。在一些实施方案中,一个或多个虚拟机332B-C可使用虚拟处理器328B-C执行访客操作系统330A-B。
虚拟化服务器301可包括具有与虚拟化服务器301进行通信的一个或多个硬件的硬件层310。在一些实施方案中,硬件层301可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308、和一个或多个存储器216。物理组件304、306、308和316可包括,例如以上所述任何组件。物理设备306可包括,例如,网络接口卡、视频卡、键盘、鼠标、输入设备、监视器、显示设备、扬声器、光盘驱动器、储存器设备、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址转换器、负载均衡器、虚拟专用网(VPN)网关、动态主机配置协议(DHCP)路由器等),或连接到虚拟化服务器301或与其通信的任何设备。在硬件层310中的物理存储器316可包括任何类型的存储器。物理存储器316可存储数据,并在一些实施方案中可存储一个或多个程序、或一组可执行指令。图3说明了固件312存储在虚拟化服务器301的物理存储器316中的哪个位置的实施方案。存储在物理存储器316中的程序或可执行指令可由虚拟化服务器301的一个或多个处理器308执行。
虚拟化服务器301还可包括超级管理器302。在一些实施方案中,超级管理器302可以是由虚拟化服务器301上的处理器308执行的程序,用于创建和管理任意数量的虚拟机332。超级管理器302可称为虚拟机监视器,或平台虚拟化软件。在一些实施方案中,超级管理器302可以是用于监视计算机器上执行的虚拟机的可执行指令和硬件的任何组合。当超级管理器在虚拟化服务器301上执行的操作系统314内执行时,超级管理器302可以是2型超级管理器。然后,虚拟机在超级管理器之上的层执行。在一些实施方案中,2型超级管理器在用户操作系统的背景下执行,使得2型超级管理器与用户操作系统交互。在其它实施方案中,虚拟化环境中的一个或多个虚拟化服务器201可替代地包括1型超级管理器(未示出)。可通过直接访问硬件层310中的硬件和资源在虚拟化服务器301上执行1型超级管理器。即,虽然2型超级管理器302通过主机操作系统314访问系统资源,但是如图所示,1型超级管理器可直接访问所有系统资源,而无需主机操作系统314。1型超级管理器可直接在虚拟化服务器301的一个或多个物理处理器308上执行,且可包括存储在物理存储器316中的程序数据。
在一些实施方案中,超级管理器302可将虚拟资源提供给在虚拟机上332执行的操作系统330或控制程序320,采用了模拟操作系统330或控制程序320直接访问系统资源的方式。系统资源可包括,但不限于,物理设备306、物理磁盘304、物理处理器308、物理存储器316、以及包括在虚拟化服务器301的硬件层310中的任何其它组件。超级管理器302可用于仿真虚拟硬件、分区物理硬件、虚拟化物理硬件、和/或执行提供到计算环境的访问的虚拟机。在又一些其它实施方案中,超级管理器302控制处理器调度和存储器分区,用于在虚拟化服务器301上执行的虚拟机332。超级管理器302可包括由加利福尼亚帕洛阿尔托的的VMWare公司制造的那些产品;由开源Xen.org社区监督开发的开源产品,管理程序;由微软公司提供的HyperV、VirtualServer或虚拟PC管理程序、或其它的管理程序。在一些实施方案中,虚拟化服务器301执行超级管理器302,其创建访客操作系统可在其上执行的虚拟机平台。在这些实施方案中,虚拟化服务器301可称为主机服务器。这种虚拟化服务器的实例是由佛罗里达劳德代尔堡的思杰系统公司提供的XEN
超级管理器302可创建一个或多个虚拟机332B-C(总体上表示为332),访客操作系统330在其中执行。在一些实施方案中,超级管理器302可加载虚拟机图像以创建虚拟机332。在其它实施方案中,超级管理器302可在虚拟机332内执行访客操作系统330。在又一些其它实施方案中,虚拟机332可执行访客操作系统330。
除了创建虚拟机332之外,超级管理器302还可控制至少一个虚拟机332的执行。在其它实施方案中,超级管理器302可呈现至少一个虚拟机332,其具有由虚拟化服务器301提供的至少一个硬件资源的抽象(例如,硬件层310内可用的任何硬件资源)。在其它实施方案中,超级管理器302可控制虚拟机332访问虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可包括确定虚拟机332是否应具有到处理器308的访问,以及物理处理器能力如何呈现给虚拟机332。
如图3中所示,虚拟化服务器301可承载或执行一个或多个虚拟机332。虚拟机332是一组可执行指令,当由处理器308执行时,其模拟实际计算机的操作,使得虚拟机332能非常类似于实际计算设备来执行程序和进程。虽然图3示出了虚拟化服务器301承载三个虚拟机332的实施方案,但是在其它实施方案中,虚拟化服务器301可承载任何数量的虚拟机332。在一些实施方案中,超级管理器302提供具有物理硬件、存储器、处理器和可用于该虚拟机332的其它系统资源的不同虚拟视图给每个虚拟机332。在一些实施方案中,所述不同虚拟视图可基于一个或多个虚拟机许可、一个或多个虚拟机标识符的策略引擎的应用、访问虚拟机的用户、在虚拟机上执行的应用程序、由虚拟机访问的网络、或任何其它期望的标准。例如,超级管理器302可创建一个或多个不安全的虚拟机332和一个或多个安全的虚拟机332。可阻止不安全的虚拟机332访问可允许安全虚拟机332访问的资源、硬件、存储器位置和程序。在其它实施方案中,超级管理器302可为每个虚拟机332提供具有实质上类似的物理硬件、存储器、处理器和可用于虚拟机332的其它系统资源的虚拟视图。
每个虚拟机332可包括虚拟磁盘326A-C(总体上表示为326)和虚拟处理器328A-C(总体上表示为328)。在一些实施方案中,虚拟磁盘326是虚拟化服务器301的一个或多个物理磁盘304或虚拟化服务器301的一个或多个物理磁盘304的部分的虚拟化视图。可由超级管理器302产生、提供和管理物理磁盘304的虚拟化视图。在一些实施方案中,超级管理器302提供了物理磁盘304的不同视图给每个虚拟机332。因此,在这些实施方案中,当与其它虚拟磁盘326对比时,包括在每个虚拟机332中的特定虚拟磁盘326可以是不同的。
虚拟处理器328可以是虚拟化服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施方案中,可由超级管理器302产生、提供和管理物理处理器308的虚拟化视图。在一些实施方案中,虚拟处理器328具有至少一个物理处理器308的实质上全部的相同特性。在其它实施方案中,虚拟处理器308提供了物理处理器308的改进视图,使得虚拟处理器328的至少一些特性不同于对应的物理处理器308的特性。
进一步参考图4,可在基于云的环境中实现本文所述的一些方面。图4说明了云计算环境(或云系统)400的实例。如图4中所见,客户端计算机411-414可与云管理服务器410通信,以访问云系统的计算资源(例如,主机服务器403、储存器资源404和网络资源405)。
可在一个或多个物理服务器上实现管理服务器410。例如,管理服务器410可由佛罗里达州的劳德代尔堡的思杰系统公司的CLOUDSTACK、或OPENSTACK等运行。管理服务器410可管理各种计算资源,包括云硬件和软件资源,例如,主计算机403、数据储存器设备404和网络设备405。云硬件和软件资源可包括私有的和/或公共的组件。例如,可配置云为私有云,以便一个或多个特定的客户或客户端计算机411-414使用和/或在专用网络上使用。在其它实施方案中,在开放的或混合的网络上其它客户可使用公共云或公共-私有混合云。
可配置管理服务器410以提供用户接口,云运营商和云客户可通过其与云系统交互。例如,管理服务器410可提供一组API和/或一个或多个具有用户接口的云运营商控制台应用程序(例如,基于网页的或独立的应用程序),以允许云运营商管理云资源、配置虚拟化层、管理客户账户、并执行其它云管理任务。管理服务器410还可包括一组API和/或一个或多个客户控制台应用程序,其具有配置成经由客户端计算机411-414从终端用户接收云计算请求的用户接口,例如,请求创建、修改或注销在云中的虚拟机。客户端计算机411-414可经由互联网或其它通信网络连接到管理服务器410,并可请求访问由管理服务器410所管理的一个或多个计算资源。响应于客户端请求,管理服务器410可包括资源管理器,其配置成基于客户端的请求选择和提供云系统的硬件层中的物理资源。例如,可配置云系统的管理服务器410和其它组件以便为在客户端计算机411-414的客户提供、创建和管理虚拟机和它们的操作环境(例如,超级管理器、储存器资源、由网络元件提供的服务等),通过网络(例如,互联网)为客户提供计算资源、数据存储服务、网络互联能力、以及计算机平台和应用程序支持。还可配置云系统以提供各种特定服务,包括安全系统、开发环境、用户接口等。
某些客户端411-414可以相关,例如,创建虚拟机的不同客户端计算机代表相同终端用户、或隶属于相同公司或组织的不同用户。在其它实例中,某些客户端411-414可以不相关,诸如隶属于不同的公司或组织的用户。对于不相关的客户端,在任何一个用户的虚拟机或储存器上的信息对其他用户可以是隐藏的。
现在参照云计算环境的物理硬件层,可用区域401-402(或多个区域)可指物理计算资源的配置组。在计算资源的整体云中,区域可与其它区域在地理上是分开的。例如,区域401可以是位于加利福尼亚的第一云数据中心,且区域402可以是位于佛罗里达的第二云数据中心。管理服务器410可位于可用区域中的一个区域,或在单独的位置。每个区域可包括内部网络,其通过网关设备与区域外部的设备通过接口连接,诸如与管理服务器410通过接口连接。云的终端用户(如客户端411-414)可能会也可能不会意识到区域之间的区别。例如,终端用户可请求创建具有特定数量存储器、处理能力和网络能力的虚拟机。管理服务器410可响应于用户请求,并可分配资源以创建虚拟机,而不需要用户知道是使用来自区域401还是使用来自区域402的资源创建虚拟机。在其它实例中,云系统可允许终端用户请求在特定区域或在区域内的特定资源403-405上分配虚拟机(或其它云资源)。
在这个实例中,每个区域401-402可包括各种物理硬件组件(或计算资源)403-405的布置,例如,物理承载资源(或处理资源)、物理网络资源、物理储存器资源、开关、和可用于为客户提供云计算服务的其它硬件资源。在云区域401-402中的物理承载资源可包括一个或多个计算机服务器403,诸如以上描述的虚拟化服务器301,其可配置成创建并承载虚拟机实例。在云区域401或402中的物理网络资源可包括一个或多个网络元件405(例如,网络服务供应商),其中包括配置成给云客户提供网络服务的硬件和/或软件,诸如防火墙、网络地址转换器、负载均衡器、虚拟专用网(VPN)网关、动态主机配置协议(DHCP)路由器等。在云区域401-402中的储存器资源可包括储存器盘(例如,固态驱动器(SSD)、磁性硬盘等)和其它储存器设备。
在图4中所示的示例性云计算环境还可包括具有配置成创建和管理虚拟机的其它硬件和/或软件资源的虚拟化层(例如,如在图1-3中所示的),并使用云中的物理资源给客户提供其它服务。如以上在图3中所述的,虚拟化层可包括超级管理器,连同其它组件,以提供网络虚拟化、储存器虚拟化等。虚拟化层可作为与物理资源层独立的层,或可与物理资源层共享一些或全部相同的硬件和/或软件资源。例如,虚拟化层可包括安装在每个具有物理计算资源的虚拟化服务器403中的超级管理器。可替换地,也可使用已知的云系统,例如,WINDOWS AZURE(华盛顿雷德蒙德的微软公司)、AMAZON EC2(华盛顿西雅图的亚马逊公司)、IBM BLUE CLOUD(纽约阿蒙克的IBM公司)等。
编配框架架构
参照图5A-D,根据本文描述的各种示例性方面示出了用于协同操作和多设备交互的互联设备。在图5A中,示出了一组互连设备500。在本实例中,该组互连设备500包括电视显示设备502、笔记本计算设备504、公共交换电话网(PSTN)电话506、平板计算设备508和蜂窝式移动电话510。在图5A中,编配框架可互连该组计算设备500的设备502-510。因此,设备502-510可作为协调的整体来协作和运行。
图5B-D示出了用户可触发跨设备交互的各种方法。在图5B-D中,示出了计算设备的示例性显示器512-516,以说明用户可选择另一用于跨设备交互的设备的方式。如在图5B中所见,该编配框架可在显示器512呈现可供选择的设备的列表,其为可选择的图标的水平列表。如在图5C中所见,该编配框架可在显示器514呈现可供选择的设备的列表,其为可选择的列表元素的垂直列表。如在图5D中所见,编配框架可使可供选择的设备的图标从显示器516的边缘“查看”,其为拖放动作的可选对象。类似的方法可用于选择跨设备交互的设备。由用户选择用于跨设备交互的设备在本公开内容中称为目标设备。用户从中选择目标设备的设备在本公开内容中称为源设备。
此外,该编配框架可动态生成用于接收共享内容的可选设备、用户或用户组的列表。该列表可生成可用于选择的设备列表以接收共享内容,基于,例如,与源设备相关联的设备;与源设备的用户相关联的设备;用户的用户角色;与当前用户正在参加的在线会议相关联的设备、用户或用户组;在相同的物理空间中与源设备在同一位置的设备或用户;源设备的设备角色;来自关于用户安排的在线会议的其他参会者的调度服务接收;以及可理解为本公开内容的优点的其它的或可替换的标准。根据设备、用户或用户组的选择,该编配框架可管理经由该编配框架与源设备互联的一个或多个设备的资源分配。
图6A-C根据各种标准,描述了可以关联的设备的实例集。如在图6A中所见,设备可通过与用户的共同联系彼此关联。在图6A中,用户1与两个设备600a-b相关联,用户2与三个设备600c-e相关联。如果两个用户加入到同一在线会议,则编配框架可互联设备600a-e,使得设备作为紧密结合和协调一致的整体来操作。此外或可替换地,如在图6B所见,当位于相同的物理空间时,设备可通过其相互接近而彼此关联,例如,当在会议室中彼此位于10到12英尺内时。在图6A中,一个物理空间602a包括位于该物理空间的一组设备604a,且另一个物理空间602b包括位于其它物理空间的另一组设备604b。该组设备604a可与在物理空间602a中召开的会议相关联,且该组设备604a可互联,使得在会议期间参会者可用协调的方式利用该组设备604a。该组设备604b可同样地与在物理空间602b中举行的会议相关联,并在会议期间互联用于跨设备协调。此外或可替换地,如在图6C中所见,设备还可通过与相同用户组的联系彼此关联。在图6C中,分配四个用户到用户组1,并分配三个用户到用户组2。将其中一个用户同时分配给用户组1和用户组2。客户端设备606a-d也分别与在6C图中的用户组相关联。在该实例中,客户端设备606a-b与用户组1关联,且客户端设备606c-d与用户组2关联。因此,当来自用户组1的用户加入在线会议时编配框架可互连客户端设备606a-b,且当来自用户组2的用户加入在线会议时编配框架可互连客户端设备606c-d。当来自用户组1的用户和来自用户组2的用户加入同一个会议时,编配框架还可互连客户端设备606a-b和客户端设备606c-d中的每个客户端设备。应该理解的是,客户端设备可与另外或可替换的标准相关,并在这些标准的基础上互联。
图7A-C根据本文所述的一些示例性方面,描述了编配框架700、编配服务器702和客户端设备704各自的框图。为了清楚起见,在图7A-B中示出的不是编配框架700、编配服务器702和客户端设备704的所有组件。编配框架可包括驻留在编配服务器702的服务器侧编配框架组件706,以及驻留在客户端设备704的客户端侧编配框架组件708。通过网络710,一个或多个客户端侧编配框架组件708与一个或多个服务器侧编配框架组件706通信,以促进跨设备的协调。编配服务器702可通过网络710与多个客户端设备704通信。在一个客户端设备704的客户端侧编配框架组件708可与在另一客户端设备的客户端侧编配框架组件通信,以便于促进在设备之间无编配服务器702的跨设备协调。客户端侧编配框架组件708可捆绑成促进跨设备交互的单一应用程序,其可称为多设备应用程序。参考图7C,将进一步详细讨论各种服务器侧组件706和客户端组件708。编配服务器702和客户端设备704可包括其它组件。例如,编配服务器702还可包括用于经由网络710进行通信的数据存储712和网络适配器714。同样地,客户端设备704可包括用于经由网络710进行通信的数据存储716和网络适配器718。在一些实例中,客户端设备还可包括全球定位系统(GPS)单元720,其提供指示该客户端设备的地理位置(例如,纬度和经度坐标)的信息。
编配服务器702提供后端服务,其促进客户端设备704的跨设备协调。编配服务器702通过服务器侧编配框架组件706促进跨设备协调。因为编配服务器702相对于客户端设备704远程放置,所以该编配服务器也可称作云服务。在一些实例中,编配服务器702可使用在Windows Azure中运行的ASP.NET MVC实现。可选择性地采用其它平台以实现编配服务器704。
各种类型的客户端设备可互联以用作紧密结合和协调一致的整体。例如,客户端设备可包括台式计算设备、笔记本计算设备、平板计算设备、掌上计算设备、蜂窝式移动电话、会议电话、显示屏、以及在线会议期间适合使用的其它类型的设备。因此,客户端设备可提供客户端侧编配框架组件708在其上操作的各种类型的平台。例如,由各个客户端设备704提供的平台可包括Windows平台、Mac平台、iOS平台、Android平台、“智能电视”平台和其它类型的平台。各个客户端设备704可包括以下所述的组件中的一些或全部组件,且可基于它们在其上操作的客户端设备的能力调整组件。因此,客户端设备704可各自包括类似类型的组件,但这些组件的实施方式可根据它们在其上操作的客户端设备的底层平台而变化。
如在图7B中所见,客户端设备704还包括一组应用程序722。该组应用程序722可包括会议应用程序724、虚拟客户端应用程序726、简单工作(micro work)应用程序728和一个或多个本地应用程序730。可配置会议应用程序724以管理在线会议并与客户端侧编配框架组件708交互,以促进在线会议期间的跨设备协调。会议应用程序的一个实例是获得自佛罗里达州的劳德代尔堡的思杰系统公司的GoToMeeting。可配置虚拟客户端应用程序726以提供虚拟环境,其中虚拟应用程序可在客户端设备706启动。虚拟客户端应用程序还可提供对应用程序、桌面、数据和其它资源的远程访问。简单工作应用程序728集合所需的信息和资源以执行简单工作、建立简单工作上下文、并提供用于管理简单工作的基于活动的接口。下面将进一步详细讨论简单工作和简单工作应用程序728。本地应用程序730可以是被设计和配置成在客户端设备上本地运行的应用程序。应该理解的是,也可设计和配置会议应用程序724、虚拟客户端应用程序726和简单工作应用程序以在客户端设备上本地运行。
现参考图7C,示出了描述编配服务器702和客户端设备704的另一框图。为了清楚起见,图7C中已省略了编配服务器702和客户端设备704的一些组件。图7C中示出了服务器侧编配框架组件706和客户端侧编配框架组件708的各种组件。应该理解的是,图7C中所述的编配服务器702和客户端设备704仅仅是示例的方式,且各种实现方式可选择性地包括下面所述组件的各种组合。
在本实例中,编配服务器702的服务器侧编配框架组件706包括:编配服务730;编配接口732;用户服务734;设备服务736;推送通知服务738;转录服务740;流服务742;活动服务744;设备管理接口746;远程储存器接口748;活动管理接口750;PSTN服务752;和全局剪贴板753。在这个实例中,编配服务730包括:规则服务754;动作发生器756;和触发处理器758。
客户端设备704的客户端侧编配框架组件708可包括:编配代理760;设备存在服务(presence service)762;应用程序解析器764;应用程序启动器766;通知接口768;远程储存器接口770;认证器772;流合成器774;和活动合成器776。编配代理760还可包括规则引擎778;动作处理器780;和触发发生器782。
编配服务器702和客户端设备704与一组数据存储784通信。例如,该组数据存储784可包括远程储存器的数据存储786、设备数据库788、用户数据库790、活动数据库792、和规则数据库794。客户端设备704可经由网络710远程储存器接口770与远程储存器的数据存储786通信。相似地,编配服务器702可经由网络710并通过远程储存器接口748与远程储存器的数据存储786通信。编配服务器702可经由设备服务736与设备数据库788直接通信,经由用户服务734与用户数据库790通信,经由活动服务744与活动数据库792通信,并经由规则服务754与规则数据库794通信。编配服务器702还可经由包括调度服务797的基于前提条件的基础设施796与调度服务器795通信。此外,编配服务器702和客户端设备704可与一个或多个传感器798通信。
关于服务器侧编配框架组件706,编配服务730负责协调互联客户端设备704之间不同的动作。编配服务730是服务器侧编配框架组件706的核心和对其它组件发布指令。编配服务730还协调响应于在编配服务器702或客户端设备704发生的事件所触发的动作。编配服务730的规则服务754确定响应于满足规则触发的事件发生应执行哪些动作或动作组合。编配服务730的动作发生器756将动作或动作组合转换为指令序列,当所述指令序列执行时,其执行规则的动作或动作组合。编配服务730的触发处理器758从对应于事件的外部源接收输入,并确定该事件是否满足触发。如果满足触发,则触发处理器758可通知规则服务754。例如,触发处理器758可从调度服务器795、客户端设备704、或传感器798接收输入。编配服务730可与规则数据库794通信以检索为编配框架定义并储存在编配数据库的规则。
规则的触发可以是在编配服务器或客户端设备的事件的发生。触发的实例包括即将到来的会议的通知、接收到跨互联设备的共享内容的请求、在线会议的新参会者的到来、特定日期的发生、特定时间的发生、以及结合本公开内容的益处将理解的其它触发。规则可指定或可不指定背景条件。如果规则不指定背景条件,则响应于触发可执行对于规则指定的动作或动作组合。当规则指定背景条件时,执行该动作之前可评估该背景条件。如果满足背景条件,则可执行用于规则的动作或动作组合。如果不满足背景条件,则可不执行用于规则的动作或动作组合。背景条件可以是时间、地理空间或情境。时间背景条件可涉及事件发生的日期或时间。地理空间条件可涉及事件发生的地理位置,例如,当事件发生时,用户的位置或客户端设备的位置。情境条件可涉及事件所发生的环境,例如,当事件发生时客户端设备或用户的状态或状况。结合本公开内容的益处将理解其它类型和背景条件的实例。
当触发事件发生时(或当触发事件发生且背景条件满足时),规则也可指定一个或多个动作来执行。动作可涉一个或多个客户端设备,以及驻留在互联客户端设备的互联应用程序。在一些实例中,动作可涉及与执行动作或动作组合的步骤的不同客户端设备协调的方式操作互联的客户端设备。动作可以是相对简单的,例如,设置客户端的扬声器的特定音量水平、对客户端设备的麦克风静音、或激活驻留在客户端设备的应用程序的特定应用模式。动作还可以是相对复杂的,例如,确定哪个用户的客户端设备是激活的并给客户端设备转发会议通知以便自动连接用户到正在进行的会议。结合本公开内容的益处将理解其它类型和动作的实例。
编配接口732可使用户以多种方式定义规则成为可能。在各种实现方式中,经由编写脚本的方法、经由问答的方法、经由如果-则-否则的方法、和其它适合于定义规则和它们相应的触发、背景条件和动作的方法,用户可定义规则。可配置编配框架以学习用户如何响应各种事件,以及当随后发生相同类型的事件时如何复制这些响应。作为实例,该编配框架可跟踪用户响应于会议通知做出何种行为,自动地为用户定义将会议通知设置为触发的规则,并针对规则为观测到的用户行为设置动作。此外,还可配置编配框架,以了解用户如何利用编配框架从事跨设备协调,并响应于观察到的行为自动地创建规则。作为实例,编配框架可观察到用户每天早晨6:00左右从桌面设备习惯性地发送每日新闻网络链接到用户的手机设备。响应于该观察到的行为,编配框架可创建指定新的一天的开始作为触发的规则,指定时间上午6:00作为背景条件,并指定到用户手机的每日新闻网络链接的传输作为动作。考虑到上述情况,应该理解的是,编配框架有利地提供了针对类型的显著的灵活性和用户通过编配接口732可定义的规则的多样性。
编配接口732还使用户自定义编配框架组件706和708的行为成为可能。特别是,编配接口732使用户在跨设备协调过程中自定义编配框架的整体操作成为可能,其包括,例如,响应于在编配服务器702或客户端设备704发生的特定事件的行为。编配接口732可用于定义编配框架的规则。因此,编配接口732可与规则数据库794通信,以存储通过编配接口创建的规则。规则数据库794可存储对应于定义的规则的记录和关于这些规则的规则信息。例如,存储在规则数据库794的规则信息可包括:表明发生时触发动作的事件的触发信息(例如,在线会议开始);表明执行动作必须满足的一个或多个背景条件的背景条件信息(例如,客户端设备是否位于真实会议空间、客户端设备是否正在移动);和表明要执行的动作或动作组合的动作信息(例如,自动发起会议通知给特定的客户端设备)。当收到新规则信息时,编配接口732可更新规则数据库794。
设备管理接口746使用户能够管理通过编配框架互联的客户端设备704。通过设备管理接口746,用户可为客户端设备704分配设备角色、指定客户端设备专门执行特定活动、或说明响应于在客户端设备发生的特定事件的特定行为。设备管理接口746可与设备数据库788通信,以存储通过设备管理接口接收的与客户端设备704相关的信息。设备数据库788可存储对应于可通过编配框架互联的客户端设备704的记录和关于这些设备的设备信息。例如,由该设备数据库788存储的设备信息可包括:说明客户端设备的设备类型的信息;说明客户端设备的设备状态的信息(例如,激活并连接、未激活并断开);说明客户端设备关联的用户或用户组的信息;说明客户端设备的设备角色的信息;说明客户端设备的设备状况的信息(例如,客户端设备的地理位置,无论客户端设备是否正在移动);说明客户端设备能力的信息(例如,能够在客户端设备上运行的应用程序);说明可用于客户端设备的外部设备的信息(例如,照相机、扬声器、麦克风);以及结合本公开内容的益处将理解的客户端设备相关的其它类型的信息。设备服务736可维护和检索在设备数据库788中的客户端设备704的设备信息。因此,当收到新设备信息时,设备服务736可更新设备数据库788。设备服务736也可代表其它组件查询设备数据库788以检索设备信息并为这些组件提供设备信息。
用户服务734维护编配框架用户的用户数据库790并检索其中的用户信息。用户数据库790可存储对应于编配框架用户的记录和关于这些用户的用户信息。例如,存储在用户数据库790的用户信息可包括:说明用户身份的信息(例如,用户的姓名和唯一的用户标识符);说明用户访问证书的信息(例如,用户名和密码);说明用户状态的信息(例如,地理位置);说明用户的用户角色的信息(例如,会议主持人、会议观察员);说明用户被分配到的用户组的信息;和结合本公开内容的益处将理解的其它类型的用户相关信息。当收到新用户信息时,用户服务734可更新用户数据库790。用户服务734也可代表其它组件查询用户数据库790以检索用户信息并为这些组件提供用户信息。例如,编配服务器702可将用户信息用于身份管理。
推送通知服务738负责通知客户端设备704来执行动作。编配服务730可指示推送通知服务738通知客户端设备704,且推送通知服务可推送通知到进行响应的客户端设备。推送通知服务738可包括在用于说明将执行动作的客户端设备的通知指令、以及执行动作所需要的信息中。将在下面进一步详细讨论来自推送通知服务的通知。推送通知服务738可对由客户端设备704的各自平台提供的推送通知框架进行平衡。
远程储存器接口748负责与远程储存器的数据存储786通信。远程储存器接口748可上传内容到远程储存器的数据存储786,并可从其下载内容。远程储存器的数据存储可以是任何基于云的存储服务,诸如,例如,DropBox、GoogleDocs、Box、和适于远程上传和下载内容的基于云的存储服务。
流服务742负责创建会议流,其包括在线会议期间的支持共享内容的在线会议的概况和时间表。流服务可关联在线会议期间共享的内容和会议流,并在数据存储中存储会议流。然后,用户可在会议的后续审查期间访问会议流及其相关内容。与会议流相关联的内容可包括会议的音频记录的转录副本、会议期间共享的文件(例如,演示文稿、照片、文档)、会议期间共享的流媒体(例如,音频流、视频流)、以及会议期间共享的网络链接。转录服务740负责接收在线会议的音频,并将音频转录为文本以获得会议转录副本。因此,流服务742可关联由转录服务提供的会议转录副本与会议的会议流。
PSTN服务752使编配服务器702发起到与用户相关联的手机设备的电话通话成为可能。以这种方式,当会议即将开始时编配服务器702可主动连接参会者,并使参会者经由手机加入会议成为可能。
全局剪贴板753位于编配服务器702,该编配服务器对于通过编配框架700互联的每个客户端设备704是可访问的。用户可选择在客户端设备704的内容,并通过复制到剪贴板命令复制内容。编配代理760可检测客户端设备704的复制到剪贴板命令,并上传选定的内容到编配服务器702。响应于复制内容的接收,编配服务730可在全局剪贴板753存储复制的内容。然后,编配服务730可向其它客户端设备704发起内容已经复制到全局剪贴板753的通知。在一个客户端设备704的用户可执行从剪贴板粘贴命令,且在该客户端设备的编配代理760可检测到从剪贴板粘贴命令并提交请求给编配服务器702请求全局剪贴板753的内容。响应于请求的接收,编配服务730可发起将全局剪贴板753的内容发送给请求的客户端设备704。从全局剪贴板753接收内容后,用户可在客户端设备704粘贴该内容到应用程序。
活动管理接口750使用户能够定义活动并使应用程序、内容、和其它资源与活动关联。当用户随后访问定义的活动时(例如,执行简单工作),所定义的活动提供工作环境和在单一位置执行活动必须的资源。例如,可将活动管理接口750实现为基于网络的接口。例如,活动服务744管理由用户所定义的活动,包括从活动数据库792中检索所定义的活动、排序和过滤所定义的活动、和在活动数据库792中搜索所定义的活动。因此,活动服务744可与简单工作应用程序728以及活动数据库792通信。活动服务744可存储和检索在活动数据库792的活动信息。活动数据库792可存储记录,该记录对应于由用户定义的活动和与这些活动相关联的活动信息。例如,活动信息可包括:说明创建活动的用户的信息;说明执行活动所需的计算机资源的信息(例如,解释系统、计时系统);说明执行活动所需的文件的信息(例如,文档);以及结合本公开内容的益处将理解的其它类型的活动信息。
对于客户端侧编配框架组件708,编配代理760负责管理在客户端设备704的跨设备协调。编配代理760为客户端设备704的其它组件提供指令,以响应从用户接收的输入并响应在客户端设备从编配服务器接收的通知。例如,编配代理760可负责配置用于在线会议的客户端设备以响应通知的接收,该通知来自即将开始的在线会议的编配服务器704。编配代理也可负责在会议期间协调客户端侧编配框架组件708的组件,使得客户端设备704可用协调的方式与其它客户端设备紧密结合的操作。此外,编配代理可促进由用户执行的简单工作。编配代理760的规则引擎778负责经由在编配服务器702中的规则服务754检索由用户定义的规则,并确定采取什么动作或动作组合以响应满足规则触发的事件的发生。编配代理760的活动处理器780同样将动作或动作组合转换为指令序列,当由客户端设备704执行所述指令序列时,其执行规则的动作或动作组合。编配代理760的触发发生器782从对应于事件的内部或外部源接收输入,并确定该事件是否满足触发。如果满足触发,则触发发生器782可通知规则引擎778。例如,触发发生器782可类似地接收来自其它客户端设备或传感器798的输入。
设备存在服务762负责与编配服务器702通信,说明客户端设备704在线并可加入在线会议。换句话说,设备存在服务762可将客户端设备704的可用性公布给编配服务器702。通过设备存在服务762已经宣布其可用性的客户端设备704可加入在线会议。也可配置设备存在服务762以获得来自GPS单元720的位置信息或运动信息,并获得来自其它邻近客户端设备的NFC(近场通信)信息。设备存在服务762可在发送到编配服务器702的设备存在更新中包括位置信息、运动信息、或NFC信息。以这种方式,编配服务器702可确定客户端设备704的设备状态(例如,可用或不可用)、客户端设备的地理位置、客户端设备的设备状况(例如,移动的或固定的)、和设备是否与其它客户端设备位于同一位置。
通知接口768负责处理从编配服务器702或从其它客户端设备接收到的通知。通知接口768可将接收到的通知传送给编配代理760来处理。
认证器772负责确保用户或客户端设备704被授权和认证,以访问编配服务器702并参与协调跨设备行为。相应地,认证器772可参与认证过程来认证和授权用户或客户端设备704。当从客户端设备访问其它计算资源或计算系统时,例如,当执行简单工作时,认证器772也可自动地和透明地认证用户或客户端设备704。可配置认证器772以经由访问证书(例如,用户名和密码)认证用户,或通过面部识别、语音识别、指纹识别、或用户的其它生物特征进行生物认证。
应用程序解析器764负责确定如何响应涉及启动应用程序的请求。应用程序解析器764可确定响应于该请求启动哪个应用程序。例如,如果请求包含连接在线会议,则应用程序解析器764可确定启动驻留在客户端设备704的会议应用程序724;如果请求涉及打开文件,则应用程序解析器可识别驻留在客户端设备的能够打开文件的应用程序;且如果请求涉及导航到网络链接,则应用程序解析器可确定启动驻留在客户端设备的网络浏览器。应用程序解析器764也可确定在其上启动应用程序的平台。例如,应用程序解析器764可确定是否应启动应用程序作为驻留在客户端设备704的本地应用程序730、作为在客户端设备上的使用虚拟客户端应用程序726的虚拟应用程序,或作为使用驻留在客户端设备的网络浏览器的基于网页的应用程序。基于请求,应用程序解析器764可进一步确定用于应用程序的合适的应用程序参数。例如,如果用户请求在平板计算设备呈现在线会议的视频输出,则应用程序解析器764可确定该会议应用程序应以视频输出模式在平板计算设备启动。应用程序启动器766负责启动在客户端设备704的应用程序。应用程序解析器764可说明应用程序启动器应启动哪个应用程序和应用程序对应的任何应用程序参数。
远程储存器接口770负责与远程储存器的数据存储786通信。远程储存器接口770可上传内容到远程储存器的数据存储786,并可从其下载内容。流合成器774负责管理在客户端设备704的在线会议的会议流。流合成器774可管理从客户端设备704把将与会议流相关联的内容上传到编配服务器702的过程。流合成器774还可管理从编配服务器702接收与会议流相关联的内容并在客户端设备704显示会议流的过程。
活动合成器776负责管理构建用于由用户定义的活动的工作环境的过程,用于在简单工作应用程序728的呈现。活动合成器776可与编配服务器通信以获取资源、内容和其它与活动相关联的活动信息,使得可在单独工作环境中把它们呈现给用户。
如上所述,编配服务器702和客户端设备704可包括以上所述组件的各种组合。还应当理解的是,编配服务器702或客户端设备可包括促进互连设备间的跨设备协调的其它组件或可替换组件。
同样如上面所指出的,编配服务器702可经由包括调度服务797的基于前提条件的基础设施796与调度服务器795通信。调度服务器795可维护用于多个个人的日程表,且日程表可包括调度相关的项目,如约会和会议。基于前提条件的基础设施796可处理与调度服务器795的通信以获得个人的日程表信息。日程表信息可包括用户对在线会议的安排(例如,日期、时间、地点)、以及说明其他参会者的信息。因此,基于从调度服务器接收的日程表信息,编配服务730可得到可用于选择以接收共享内容的用户或用户组的列表。基于前提条件的基础设施796可包括调度服务797,其主动监控在调度服务器795维护的日程表。以这种方式,调度服务797可确定个人什么时候有即将召开的会议。当会议发生时,调度服务797可与编配服务器702通信,以说明会议即将开始。在一些示例性实施方式中,微软Exchange服务器和微软Exchange服务可分别用作调度服务器795和调度服务797。可有选择地使用其它类型的调度服务器或调度服务。
与编配服务器702或客户端设备704通信的传感器798可包括各种类型的传感器。传感器的示例类型包括运动传感器、光传感器、温度传感器、和适于互联设备的协调操作的其它传感器。
如以上所述,编配框架还可经由对等通信会话,互联客户端设备704以作为协调的整体来操作。图7D描述了经由对等会话互联的客户端设备704的框图。在图7D中,客户端设备704通过各自的编配代理760而不是编配服务器互联。因此,在图7D中的客户端设备704可通过编配代理760之间的对等通信会话参与跨设备协调。在这个示例性实现方式中,编配代理760可经由网络710访问数据存储(例如,远程储存器的数据存储786、规则数据库794、设备数据库788、或用户数据库790)。应该理解的是,编配框架和跨设备协调的方面适用于对等网络环境以及客户端-服务器环境。
下面的部分描述了可如何用编配框架来协调互联设备的操作,使得这些设备作为紧密结合和协调一致的整体运行。特别地,下面的部分描述了可如何利用编配框架以管理使用参与跨设备协调的设备的在线会议,跨互联设备共享计算活动和内容,自定义编配框架的行为,并创建和访问简单工作的活动。
参与跨设备协调的在线会议设备
在这部分描述的编配框架的方面针对在客户端设备连接网络会议、从一个客户端设备传递在线会议到另一个客户端设备、以及编制在线会议的会议流。
在图8中,示出了用于连接在线会议的实例方法步骤的流程图800。如在图8中所见,可调度会议并加入到个人的日程表(方框802)。当会议即将开始时,调度服务可通知编配服务(方框804)。在响应时,基于所述通知,编配服务可确定参会者(方框806)。编配服务可从设备服务请求与参会者之一相关联的设备(方框808)。设备服务可依次查询设备数据库以获取与参会者相关联的设备(方框810)。设备服务可分析用于参会者的设备的设备存在信息,基于该设备存在信息确定哪些设备处于激活状态,并告知编配服务参会者的激活设备(方框812)。然后,编配服务可指示推送通知服务以给参会者的激活设备发送会议通知(方框814),且推送通知服务可在响应时给参会者的激活设备发送会议通知(方框816)。在客户端设备之一的通知接口可接收会议通知,并传送会议通知给在客户端设备的编配代理(方框818)。编配代理可使用应用程序解析器来确定应该启动会议应用程序以连接会议以及启动会议应用程序的任何参数(方框820)。基于包括在会议通知中的信息,应用程序解析器可确定应用程序的参数。然后,编配代理可指示应用程序启动器以使用任何确定的参数启动会议应用程序(方框822),且应用程序启动器可使用说明的参数启动应用程序(方框824)。启动后,基于也包括在会议通知中的会议信息,会议应用程序可连接会议(方框826)。
在图9中,示出了用于从一个客户端设备将在线会议传输到另一个客户端设备的实例方法步骤的流程图900。如图9中所见,参会者的激活的客户端设备可接收会议通知(方框902)。编配代理可管理在客户端设备的会议应用程序的启动并连接到会议(方框904)。在会议期间的某一时刻,参会者可请求将会议传送至另一客户端设备(方框906),并选择会议将被传送到的客户端设备(方框908)。在原客户端设备的编配代理可给编配服务发送会议传送请求(方框910)。会议传送请求可标识会议将被传送到的参会者选定的客户端设备。编配服务可将会议传送请求传送到设备服务(方框912),且基于从选定的客户端设备接收的和在设备数据库中存储的设备存在信息,设备服务可确定选定的客户端设备是否是激活的(方框914)。在该实例中,设备服务确定选定的客户端设备是激活的,并通知编配服务(方框916)。推送通知服务可向选定的客户端设备发送会议通知,以响应来自编配服务的指令(方框918)。发送到选定的客户端设备的会议通知可包括识别正在进行的会议的会议信息。
在选定的客户端设备的通知接口可接收会议通知,并传送会议通知给在选定的客户端设备的编配代理(方框920)。如上所述,该编配代理可使用应用程序解析器,以确定在选定的客户端设备应启动会议应用程序,以便在选定的客户端设备连接正在进行的会议(方框922)。同样如上所述,基于会议通知,编配代理可使用应用程序解析器,以确定会议应用程序的参数。编配代理可指示应用程序启动器以使用任何确定的参数启动会议应用程序(方框924),且应用程序启动器可使用说明的参数启动会议应用程序(方框926)。因此,在选定的客户端设备的会议应用程序可连接正在进行的会议(方框928)。
然后,在选定的设备的编配代理可发送通知到编配服务,其中选定的客户端设备已经连接到正在进行的会议(方框930)。在接收这个通知时,编配服务可指示推送通知服务发送断开通知到原客户设备(方框932),且作为响应推送通知可发送断开通知到原客户设备(方框934)。在原客户端设备的通知接口可接收断开通知,并传递断开通知给编配代理(方框936)。然后,编配代理可从正在进行的会议断开原客户端设备(方框938),例如,通过关闭会议应用程序。因此,在选定的客户端设备的参会者可继续参与正在进行的会议。
编配框架的方面使参会者轻松加入或传送会议成为可能。在某些情况下,编配框架可自动地连接参会者的客户端设备到会议上。在其它情况下,编配框架可提示参会者以确认客户端设备是否应连接会议。虽然编配框架可提示表明是否连接会议的用户输入,但一旦参会者提供确认,编配框架就处理会议应用程序的激活和配置。以这种方式,参会者不需要关心或熟悉如何加入在线会议的技术细节,因为这种技术细节由编配框架处理。
鉴于编配框架的这种能力,图10描述了连接在线会议的实例方法步骤的另一流程图1000。参会者的客户端设备可接收即将开始的会议的会议通知(方框1002)。如果参会者已配置了编配框架以自动连接客户端设备到在线会议(方框1004:是),则在客户端设备的编配代理可启动会议应用程序、配置会议应用程序、并自动地连接到在线会议(方框1006)而无需来自参会者的确认。如果参与者尚未配置编配框架自动地连接客户端设备到在线会议(方框1004:否),则编配代理可在显示设备显示会议通知给参会者并提示参会者提供说明是否要连接会议的输入(方框1008)。在该实例中,参会者在客户端设备提供输入确认编配代理应连接客户端设备到会议(方框1010)。响应于来自参会者的确认,编配代理可启动和配置会议应用程序并连接到会议(方框1006)。
编配框架的方面也使参会者能够经由自然接口,诸如语音(“无接触”)或经由在客户端设备简单的点击(“一触式”),提供确认输入。编配框架还可使参会者能够经由无接触输入或一触式输入传送正在进行的在线会议到另一个客户端设备。可选择性使用的其它类型的自然接口包括手势,以及确定用户的视线聚焦在哪里。图11A描述了客户端设备1100的实例,其提示参会者经由无接触输入或一触式输入提供确认输入。图11B描述了另一客户端设备1102的实例,其提示参会者经由一触式输入选择会议将被传送到的客户端设备。参会者可采用自然接口,诸如语音、手势和目光,以便在客户端设备连接在线会议、在线会议期间交互编配框架、或传送在线会议到另一客户端设备。
如上所述,在在线会议的持续期间,编配框架可编制会议流。在图12中,示出了在在线会议期间用于编制会议流的实例方法步骤的流程图1200。如图12中所见,调度服务可通知编配服务会议即将开始(方框1202),且编配服务可在参会者的客户端设备发起会议应用程序的启动(方框1204)。编配服务还可指示流服务创建新的会议流(方框1206),且作为响应,流服务可创建新的会议流(方框1208)。参会者可在其客户端设备经由会议应用程序连接到会议以开始会议(方框1210)。
为了会议的持续,可同时发生各种结合活动。如在图12中所见,例如,参会者的客户端设备可从参会者接收声音并将声音传输到编配服务(方框1212)。在编配服务器的转录服务可接收声音,且编配服务可指示转录服务以转录接收的声音(方框1214)。转录服务可转录所接收的声音,以获得会议的转录副本,上传转录副本到远程储存器的数据存储,并通知流服务转录副本的远程存储位置(方框1216)。在一些示例性实现方式中,一旦会议结束,转录服务就可上传会议的完整的转录副本到远程储存器的数据存储。因此,流服务可关联会议的转录副本与会议流(方框1218)。
同样如在图12中所见,参会者可在客户端设备选择内容(例如,文件、流媒体、网络链接)以与其他参会者共享(方框1220)。在客户端设备的流合成器可发布共享请求到在编配服务器的流服务(方框1222),且流服务可提供指令给流合成器,以识别数据流合成器应发送选定的内容到达的远程存储位置(方框1224)。流合成器可上传选择的内容到远程存储位置,且当上传完成时通知流服务(方框1226)。流服务可关联上传的内容与会议流(方框1228),并通知在其他参会者的客户端设备上的流合成器,新共享的内容是可用的(方框1230)。当共享的内容存储在远程储存器的数据存储时,来自流服务的通知可说明远程位置。因此,在其他参会者的客户端设备的远程储存器接口可从远程内容数据存储下载共享的内容(方框1232)。响应于来自参会者的输入的接收或自动地响应于来自编配代理的指令,远程储存器接口可下载共享的内容。一旦会议结束(方框1234),在客户端设备的流合成器可发起会议流、与会议流相关联的转录副本、以及会议期间共享的任何内容的下载(方框1236)。以这种方式,没有出席部分会议或全部会议的参会者可方便地回顾会议错过的部分。
跨互联设备共享计算活动和内容
在本部分中所述的编配框架的方面针对,通过关联客户端设备与物理空间或用户组自定义编配框架的行为、给客户端设备或用户分配角色、以及创建和应用规则。
在图13中,示出了用于客户端设备与物理空间相关联的实例方法步骤的流程图。如在图13中所见,一个或多个客户端设备可与物理空间(例如,会议室)相关联(方框1302)。用户可手动定义物理空间,并手动关联客户端设备与物理空间。关于物理空间和与该物理空间相关联的设备的信息可存储在设备数据库中。客户端设备还可通过NFC信息自动地与物理空间相关联,其中NFC信息由说明客户端设备在相同位置的客户端设备提供。参会者可在位于物理空间内的客户端设备启动会议应用程序,并连接在线会议(方框1304)。物理空间可与在线会议相关联,使得与物理空间相关联的客户端设备也与在线会议相关联(方框1306)。与会议相关联的客户端设备可通过如上所述的编配框架互联。
在线会议期间,参会者可请求与其它客户端设备共享驻留在一个客户端设备的内容(方框1308)。在客户端设备的编配代理可查询编配服务器的编配服务以获取可用于被选择为接收选定内容的客户端设备的列表(方框1310)。接着,编配服务可从设备服务请求可用于接收共享内容的客户端设备的列表(方框1312)。设备服务可查询设备数据库以获取与参会者相关联的客户端设备以及与该物理空间相关联的设备(方框1314),并通知编配服务与参会者和物理空间相关联的设备(方框1316)。编配服务可提供用于选择的客户端设备的列表给参会者的客户端设备(方框1318),且在客户端设备的编配代理可接收可用于选择的客户端设备的列表以接收选定的内容(方框1320)。编配代理可发起可用于选择的客户端设备的显示(方框1322)。在本实例中,参会者可选择与物理空间相关联的客户端设备中的一个来接收选定的内容(方框1324)。响应于该选择,编配代理可发起与如上所述物理空间的选定客户端设备的选定内容的共享(框1326)。应该理解的是,可采用以上所述的各种步在与共同的物理空间相关联的所有互联设备上分配计算活动。
在图14中,示出了用于客户端设备与用户组相关联的实例方法步骤的流程图1400。如在图14中所见,可定义用户组,且用户组的定义可存储在用户数据库中(方框1402)。可手动地定义用户组,并可手动地选择与该用户组相关联的客户端设备。通过确定彼此位置相同的多个用户也可自动地定义用户组,其中利用了由与位置相同的用户分别相关的客户端设备提供的NFC信息。一个或多个客户端设备可与用户组相关联,且设备数据库可使用说明该客户端设备的用户组分配的设备信息进行更新(方框1404)。一个或多个用户也可分配到用户组,且用户数据库可使用说明该用户的用户组分配的用户信息进行更新(方框1406)。
在线会议期间,参会者可请求与其它客户端设备共享驻留在一个客户端设备的内容(方框1408)。在客户端设备的编配代理可查询在编配服务器上的编配服务以获取在可用于被选择为接收选定内容的客户端设备的列表(方框1410)。接着,编配服务可从用户服务请求参会者的用户组,该用户服务可查询用户数据库用于获取参会者的用户组,并告知编配服务参会者的用户组(方框1412)。然后,编配服务可从设备服务请求与参会者和参会者被分配到的用户组相关联的客户端设备(方框1414)。设备服务可查询设备数据库以获取与参会者相关联的客户端设备以及与参会者的用户组相关联的设备(方框1416),并通知编配服务与参会者和参会者的用户组相关联的设备(方框1418)。编配服务可提供用于选择的客户端设备的列表给参会者的客户端设备(方框1420),且在客户端设备的编配代理可接收可用于选择的客户端设备的列表以接收选定的内容(方框1422)。编配代理可发起可用于选择的客户端设备的显示(方框1424)。在本实例中,参会者可选择与用户组相关联的客户端设备中的一个来接收选定的内容(方框1426)。响应于该选择,编配代理可发起与如上所述的选定的用户组的设备的选定内容的共享(框1428)。应该理解的是,可采用以上所述的各种步骤在与用户组相关联的所有互联设备上分配计算活动。
在图15中,示出了用于基于用户角色定制协调的在线会议的实例方法步骤的流程图1500。如在图15中所见,可定义用户角色,且用户角色的定义可存储在用户数据库中(方框1502)。可针对用户角色选择会议应用程序参数,且会议应用程序参数也可存储在具有用户角色定义的用户数据库中(方框1504)。可给用户分配用户角色,以启用或禁用由编配框架提供的关于跨设备协调的某些功能。用户角色的实例可以是会议主持人角色、会议观察者角色、以及结合本公开内容的益处将理解的其它类型的用户角色。可选择会议主持人的参数,使得参会者可共享声音、视频和与其他参会者一起选择的内容。可选择会议观察者的参数,使得在会议观察者的客户端设备的麦克风在会议期间是静音的。还可基于用户角色选择其它应用程序的参数。结合本公开内容的益处还将理解基于用户角色的其它和可替换的参数。
调度服务可通知即将召开的会议的编配服务(方框1506),且编配服务可基于从调度服务接收到的通知识别参会者(方框1508)。编配服务可从用户服务请求参会者的用户角色和与用户角色相关联的会议应用程序的参数(方框1510)。用户服务可查询参会者用户角色的用户数据库和与用户角色相关联的会议应用程序的参数(方框1512)。然后,用户服务可通知编配服务与用户角色相关联的会议应用程序参数(方框1514)。然后,编配服务可指示推送通知服务发送会议通知给参会者的客户端设备,并提供会议应用程序参数到推送通知服务(方框1516)。然后,推送通知服务可发送会议通知到客户端设备,其中包括与参会者的用户角色相关联的会议参数(方框1518)。在客户端设备的通知接口可接收会议通知,并传送会议通知给编配代理(方框1520)。在本实例中,编配代理可使用应用程序解析器来确定应启动的会议应用程序(方框1522),且编配代理可指示应用程序启动器使用包括在会议通知中的用户角色参数启动会议应用程序(方框1524)。应用程序启动器可使用用户角色参数启动会议应用程序(方框1526),且会议应用程序可连接会议(方框1528)。根据参数,可结合客户端设备的特定功能启动会议应用程序,会议应用程序或编配框架可被启用或禁用。应该理解的是,上述各种步骤可选择性地用于使用基于客户端设备的用户的用户角色的参数启动客户端设备的其它类型的应用程序。
在图16中,示出了用于基于设备角色定制协调的在线会议的实例方法步骤的流程图1600。如在图16中所见,可定义设备角色,且设备角色的定义可存储在设备数据库中(方框1602)。可选择用作设备角色的会议应用程序参数,且会议应用参数也可存储在具有设备角色定义的设备数据库中(方框1604)。可基于客户端设备的能力给客户端设备(例如,可用的外部设备)分配设备角色,或启用或禁用编配框架关于跨设备协调的某些功能。设备角色的实例包括声音输入角色、声音输出角色、视频输入角色、视频输出角色、网络链接显示角色、文档显示角色、文档编辑角色、以及结合本公开内容的益处将理解的其它类型的角色。可选择用于视频输出角色的参数,使得分配了视频输出角色的客户端设备以视频输出模式启动会议应用程序。可选择用于文档显示角色的参数,使得分配文档显示角色的客户端设备以只读模式打开共享文档,而可选择用于文档编辑模式的参数,使得分配文档编辑模式的客户端设备以读-写模式打开共享文档。基于用户角色还可选择其它设备角色和其它应用程序的参数。结合本公开内容的益处还将理解基于用户角色的其它和可替换的参数。
调度服务可通知即将召开的会议的编配服务(方框1606),且编配服务可基于从调度服务接收到的通知识别参会者(方框1608)。编配服务可从设备服务请求与参会者相关联的客户端设备和与该设备的设备角色相关联的应用程序参数(方框1610)。设备服务可查询设备数据库,用于获取与参会者相关联的客户端设备、该设备的设备角色、以及与该设备角色相关联的会议应用程序参数(方框1612)。然后,设备服务可通知编配服务与客户端设备的设备角色相关联的会议应用程序参数(方框1614)。
然后,编配服务可指示推送通知服务发送会议通知给参会者的客户端设备,并提供会议应用程序参数到推送通知服务(方框1616)。然后,推送通知服务可发送会议通知到客户端设备,其中包括与客户端设备的设备角色相关联的会议参数(方框1618)。在客户端设备的通知接口可接收会议通知,并传送会议通知给编配代理(方框1620)。在本实例中,编配代理可使用应用程序解析器来确定应启动的会议应用程序(方框1622),且编配代理可指示应用程序启动器使用包括在会议通知中的设备角色参数启动会议应用程序(方框1624)。应用程序启动器可使用设备角色参数的启动会议应用程序(方框1626),且会议应用程序可连接会议(方框1628)。根据参数,结合客户端设备的特定功能启动会议应用程序,会议应用程序或编配框架可被启用或禁用。应该理解的是,上述各个步骤可选择性地用于使用基于客户端设备的设备角色的参数启动客户端设备的其它类型的应用程序。
在图17中,示出了用于定义编配框架规则的实例方法步骤的流程图1700。如在图17中所见,用户可访问编配接口以创建新的规则(方框1702)。通过编配接口,用户可设定规则的触发、规则的背景条件、规则的一个或多个动作(方框1704)。编配接口可传送新的规则到规则服务1706,且规则服务可在规则数据库中存储新的规则(方框1708)。然后,规则服务可指示设备服务,以通知客户端设备在下一次客户端设备变为可用时,新规则是可用的(方框1710)。因此,客户端设备的设备存在服务可通知设备服务客户端设备是可用的(方框1712),且该设备服务可指示通知服务来通知客户端设备新的规则是可用的(方框1714)。推送通知服务可给客户端设备发送通知以说明新规则可用(方框1716)。在客户端设备的通知接口可接收通知,并传送通知给编配代理(方框1718)。编配代理可指示规则引擎以从规则服务检索新的规则(方框1720),且规则引擎可从规则服务请求新的规则(方框1722)。该规则服务可查询规则数据库以获取新规则,并发送新规则到规则引擎(方框1724)。一旦接收到来自规则服务的新规则,规则引擎就可在客户端设备存储新规则(方框1726)。
在图18中,示出了用于应用编配框架规则的一般实例方法步骤的流程图1800。如在图18中所见,客户端设备可接收和存储规则(方框1802)。客户端设备的设备存在服务可发起设备存在通知到设备服务以指示设备的可用性(方框1804)。触发发生器可检测设备存在通知,并通知规则引擎(方框1806)。规则引擎可分析存储在客户端设备的规则,以确定是否应附加一些信息到设备存在通知(方框1808)。规则引擎可识别依赖于由客户端设备提供的信息的一个或多个规则(方框1810),诸如,关于客户端设备的状况或状态的环境信息等。因此,规则引擎可指示动作处理器附加任何必要的信息到设备存在通知(方框1812),且作为响应,动作处理器可附加由一个或多个规则使用的信息到设备存在通知(方框1814)。例如,规则可利用客户端设备的地理位置来确定是否满足规则的背景条件。在本实例中,动作处理器可查询GPS单元以获取客户端设备的位置信息,并附加位置信息到设备存在通知。作为另一个实例,客户端设备的GPS单元可提供说明客户端设备处于运动中的信息,例如,当用户正在行驶中的车辆中。结合本公开内容的益处将理解动作处理器可附加到设备存在通知的信息的其它实例。在将信息附加到设备存在通知后,设备存在服务可发送设备存在通知给设备服务(方框1816)。设备服务可接收设备存在通知时,基于该设备存在通知更新设备数据库,并基于附加到设备存在通知的信息在设备数据库中说明设备的状况或状态。
随后,在编配服务器的规则服务可检测事件发生,并指示触发处理器确定该事件是否对应于规则触发(方框1820)。在本实例中,触发处理器确定事件对应于规则触发并通知规则服务规则已被触发(方框1822)。因此,在本实例中,规则服务查询规则数据库以获取与规则相关联的背景条件,并从设备服务请求设备的状况(方框1824)。设备服务可查询设备数据库以获取客户端设备的状况,并通知规则服务设备的状况(方框1826)。在本实例中,还确定客户端设备的设备状况满足规则的背景条件(方框1828),并指示动作发生器执行由规则指定的动作(方框1830)。然后,动作产生器可产生指令序列,当其执行时,执行由规则指定的动作(方框1832)。然后,动作产生器可发起指令序列的执行,以便执行由规则指定的动作(方框1834)。
应该理解的是,以上阐述的步骤总体上阐述了编配框架可如何应用规则的实例。可执行上述各种步骤以执行不同类型的规则,其可由用户定义或由编配框架自动定义以响应观察到的行为。在图19中,示出了可如何使用规则的具体使用案例。
在图19中,示出了应用将在线会议转发到参会者的手机的规则的实例方法步骤的流程图1900。如在图19中所见,用户可通过手机创建会议在用户驾驶的同时开始时连接在线会议的规则(方框1902)。用户可指定在线会议的开始作为规则的触发,可指定每小时5英里(MPH)以上的手机移动作为规则的背景条件,并指定对用户手机的手机呼叫的发起作为规则(方框1904)。规则服务可将规则保存在规则数据库中,并给手机的规则引擎提供规则(方框1906)。随后,当用户正在驾驶时,手机的设备存在服务可发起设备存在通知给设备服务,以便指示手机的可用性(方框1908)。手机的触发发生器可检测设备存在通知,并通知规则引擎1910。规则引擎可确定存储在手机的规则使用手机的移动状况(方框1912)。因此,规则引擎可查询手机的GPS单元以获取移动信息,并指示动作处理器来将从GPS单元接收的移动信息附加到设备存在通知(方框1914)。作为响应,动作处理器可将从GPS单元接收的移动信息附加到设备存在通知(框1916)。设备存在服务可发送包括移动信息的设备存在通知到设备服务(方框1918)。
设备服务可基于设备存在通知更新设备数据库,并基于设备存在通知中的移动信息更新手机的状况(方框1920)。随后,规则服务可检测在线会议的开始,并通知触发处理器(方框1922)。触发处理器确定对应于规则触发的在线会议的开始,并通知规则服务规则已触发(方框1924)。规则服务可查询规则数据库以获取为规则指定的背景条件,并从设备服务请求手机的状况(方框1926)。规则服务可基于从设备服务接受的手机状况确定手机正在移动,并且确定已经满足规则的背景条件(方框1928)。作为响应,规则服务可查询规则数据库以获取规则动作,并指示动作发生器来发起手机呼叫到用户的手机,以便允许用户经由手机连接在线会议(方框1930)。动作处理器可产生用于PTSN服务的指令(方框1932),且PTSN服务可执行该指令以发起手机呼叫给用户的手机(方框1934)。因此,用户可在手机接受手机呼叫,以便连接会议(方框1936)。可执行类似于上面描述的步骤以应用其它类型的规则并执行其它类型的动作。
自定义编配框架的行为
在本部分中所述的编配框架针对跨多个互连设备分配计算活动,并针对跨互联设备访问共享内容。
在图20中,示出了用于跨多个互联设备分配计算活动的实例方法步骤的流程图2000。如在图20中所见,多个客户端设备可通过编配框架互联(方框2002),且可在互联的客户端设备中的一个发起计算活动(方框2004)。可选择客户端设备的另一个作为计算活动的输入来源(方框2006),且选定的客户端设备的编配代理可接收其选择的通知作为计算活动的输入来源(方框2008)。当随后选定的客户端设备接收输入时,选定的计算设备的编配代理可检测该输入(方框2010)。因此,在选定的计算设备的编配代理可发送接收到的输入到执行计算活动的计算设备的编配代理(方框2012)。执行计算活动的计算设备的编配代理可接收输入,并提供该输入给计算活动(方框2014)。因此,计算活动可做出响应,仿佛在执行计算活动的设备直接接收输入。此外,多个互联客户端设备可选择作为用于在另一客户端设备执行的计算活动的输入来源。例如,响应于互联的客户端设备,选择作为计算活动输入来源的客户端设备可被手动或自动地选择。此外,可基于各客户端设备的性能,例如,客户端设备能够接收的输入的类型,选择客户端设备作为输入来源。
可选择互联的客户端设备的另一个作为由计算活动产生的输出的输出目标(方框2016)。同样地,可通知在客户端设备的编配代理,其被选择为计算活动输出目标(方框2018)。执行计算活动的编配代理可检测由计算活动产生的输出(方框2020),并将输出发送到选择作为输出目标的客户端设备的编配代理(方框2022)。类似于从计算活动接收的输入,选择作为输出目标的客户端设备可呈现输出,仿佛计算活动在选定的客户端设备执行。此外,多个互联客户端设备可选择作为用于在另一客户端设备执行的计算活动的输出目标。例如,响应于互联的客户端设备,选择作为计算活动输出目标的客户端设备可同样地被手动或自动地选择。此外,可基于各客户端设备的性能,例如,客户端设备能够接收的输出的类型,选择客户端设备作为输出目标。
当互联设备通过编配服务器协调并经由客户端服务器通信会话与编配服务器通信时,可在不同实现中执行以上所述的各种步骤。当以如上所述的对等通信会话的方式,通过它们各自的编配代理协调互联设备时,也可在不同实现中执行以上所述的各种步骤。此外,可选择客户端设备以提供某些类型的输入(例如,可听的、可视的、文本的)到在另一个客户端执行的计算设备,并可选择客户端设备以提供从执行计算活动的另一计算设备接收的某些类型的输出(例如,可听的、可视的)。
下面的实例使用案例说明可如何跨互联的客户端设备分配计算活动。在一个实例中,编配框架可跨多个互联设备分配文字处理应用程序(例如,微软的Word)的操作。在本实例中,台式计算设备可发起文字处理应用程序,并请求电视显示设备呈现来自应用程序的输出,例如,正在编辑的文档。编配框架可跨其它互联的计算设备分配应用程序,使得可从与台式机应用程序互联的计算设备接收文字处理应用程序的输入。例如,在笔记本计算机设备的用户可在笔记本计算机的键盘提供输入以便编辑文档,且在平板设备的另一用户可在触摸屏键盘提供输入以编辑文档。以这种方式,当在第一设备访问文档时,用户可与其它设备共享文件。
在另一个实例中,如果设备中的一个不具有执行计算活动所需的硬件或软件,互联设备可相互协调。在本公开内容中作为一个实例提供的在线会议,其中计算设备可经由用于跨计算设备协调计算活动操作的编配框架互联。在某些情况下,当连接会议时,用户只可访问蜂窝电话和电视显示设备。在本实例中,电视显示设备可能不具有音频输入设备,且蜂窝电话可能不具有合适的视频输出设备。因此,编配框架可协调蜂窝电话和电视显示设备的操作,以使用户能够连接在线会议。在蜂窝电话设备和电视显示设备的各自的编配代理可经由编配框架连接设备。因此,在线会议期间,编配框架可导致在线会议的视频在电视显示设备呈现,并导致从移动电话设备的麦克风接收来自用户的用于在线会议的声音。将可理解其它或可替换的实例。
在图21中,示出了用于跨多个互联设备共享内容的实例方法步骤的流程图2100。用户可操作各种文件驻留其中的客户端设备。用户可选择文件中的一个与通过编配框架同该设备互联的其它设备共享(方框2102)。随着文件的选定,用户可提交跨设备共享请求(方框2104)。例如,用户可经由键盘快捷键、菜单选择等,提交跨设备共享请求。编配代理可接收跨设备共享请求(方框2106),并呈现用户可与其共享选定文件的目标客户端设备列表(方框2108)。目标客户端设备列表可包括对应于与用户相关联的客户端设备的排列项,以及对应于个人的排列项。用户可选择与该用户相关联的个人设备或个人以与其共享选定文件。排列项的列表可包括与所列个人相关联的设备,且用户可选择与特定个人的特定客户端设备共享选定文件。如果用户选择个人而不是客户端设备,则编配服务可自动地确定与选定个人的哪个客户端设备共享选定文件。应该理解的是,个人列表还可包括用户,且选择的用户可使用与该用户相关联的不同设备共享选定文件。
可基于用户选择、用户或设备环境、或定义的规则,确定与哪个设备共享选定文件。用户可手动地选择与哪个设备或个人共享选定文件。此外或可替换地,编配服务可确定当前哪些设备连接到编配服务,并自动选择这些设备中的一个来接收选定文件。编配服务还可基于选定文件的类型自动地选择设备。作为实例,当文件是音频文件时,编配服务可选择音频设备以接收选定文件。作为另一个实例,当文件是视频文件时,编配服务可自动地选择电视显示设备以接收选定文件。编配服务还可使用一个或多个定义的规则,以确定哪个设备应接收选选定文件。用户可根据自己的喜好来定义规则,且这些规则可考虑用户的不同特征(例如,用户角色、位置)、客户端设备的不同特征(例如,设备类型、设备角色),选定文件的不同特征、以及这些的组合。这种基于规则的文件共享可在定制编配服务如何跨设备自动地共享文件时方便地提供更大的灵活性。
此外,目标客户端设备的列表可以是背景敏感的,使得包括在列表中的目标客户端设备取决于各种因素。在一个示例性实现方式中,基于潜在目标客户端设备的能力,编配代理可动态地筛选目标客户端设备的列表。在这点上,编配代理可知道不同设备的能力。设备数据库可存储客户端设备的能力信息,其可用于编配代理。另一方面,当构建目标客户端设备的列表时,编配代理可利用所述能力信息。如果客户端设备不能打开选定文件,则编配代理可从目标客户端设备的列表排除该客户端设备。以这种方式,编配代理可定制目标客户端设备的列表,以仅包括具有打开选定文件能力的设备。基于其它或可替换的标准,编配代理可定制目标客户端设备的列表。例如,包含在目标列表的个人可以是用户出席的正在进行会议的参加者,或分配到用户的相同用户组的个人。应该理解的是,编配代理可采用标准组合来构建目标客户端设备或个人的列表。
回头参照图21,用户可从目标客户端设备列表中选择客户端设备,以与其共享选定文件(方框2110)。选择目标客户端设备后,远程储存器接口可将选定文件上传到远程储存器的数据存储(方框2112)。然后,编配代理可通知编配服务选定文件在远程储存器的数据存储可用(方框2114)。给编配服务的通知可包括说明上传文件的远程储存的信息(例如,URL)。然后,编配服务可通知目标客户端设备所述文件在远程储存器的数据存储可用(方框2116)。同样地,给目标客户端设备的通知可包括上传文件的远程存储位置。
在目标客户端设备的编配代理可不同地响应,取决于设备是否与用户相关联或(例如,作为个人设备)或与另一个人相关联。特别地,当另一用户共享文件时,编配代理可在目标客户端设备呈现不显眼的通知。以这种方式,当从事其它计算活动时,编配代理可避免中断用户。如图21中所见,如果目标客户端设备不是共享文件的用户的个人设备(方框2118:否),则在目标客户端设备的编配代理可显示新的文件已与目标客户端设备共享的通知(方框2120)。在接收到共享文件的通知时,在目标客户端设备的编配代理可向接收者提供接受或拒绝该共享文件的选项。如果接收者不接受该共享文件(方框2122:否),则在目标客户端设备的编配代理可等待(方框2124),直到接收者接受共享文件,例如,通过提供接收共享文件的输入请求。当接收者接受该共享文件时(方框2122:是),在目标客户端设备的编配代理可从远程储存器的数据存储检索该文件(方框2126)。因此,在目标客户端设备的远程储存器接口可使用对应于上传文件的远程存储位置的URL从远程储存器的数据存储取回文件,并在目标设备启动合适的应用程序以打开文件(方框2128)。编配代理可使用应用程序解析器来确定能够打开文件的应用程序,并使用应用程序启动器启动如上所述的该应用程序。
在一些实例中,可配置编配代理以自动地响应共享文件的通知。因此,如果目标客户端设备是共享文件的用户的个人设备(方框2118:是),则在接收共享文件的通知时,编配代理可指示远程储存器接口从远程储存器的数据存储自动取回共享文件(方框2130)。当远程储存器接口从远程储存器服务接收共享文件时,编配代理也可发起自动确定和启动在目标客户端设备能够打开共享文件的应用程序。
应该理解的是,上述实例方法提供了快速和有效的方式来共享,例如,电子邮件附件方式。代替转发或创建新电子邮件以共享电子邮件附件,用户可使用合理化共享过程的云服务共享电子邮件附件。上述实例方法还提供快速和高效的方式与其它设备或个人共享在线演示或会议。代替用户启动和登录以连接现有会议,用户可使用云服务与另一个人共享会议信息和细节,且该会议可在由个人使用的设备自动地启动。同样,云服务可允许参会者传送在一台设备上正在进行的会议到与参会者相关联的其它设备。作为实例,个人可利用台式计算设备参加在线会议。如果由于某种原因个人需要离开台式设备,则个人可使用云服务传送会议到移动设备,诸如平板计算设备或移动电话设备。以这种方式,当参加在线会议时用户不会依赖于任何特定的设备,且当出席会议时可在设备之间方便地切换。
在图22中,示出了用于专门配置设备以显示网络链接的实例方法步骤的流程图2200。如图22中所见,当在线会议开始时,可在各自的客户端设备启动会议应用程序(方框2202)。可选择与会议相关联的客户端设备中的一个作为专用客户端设备,用于显示会议期间在客户端设备中的任何一个选择的网络链接(方框2204)。编配代理可通知编配服务已选择客户端设备中的一个作为用于显示网络链接的专用客户端设备(方框2206),且编配服务可指示设备服务基于该通知来更新设备数据库(方框2208)。设备服务可更新设备数据库,以说明已选定客户端设备作为显示网络链接的专用客户端设备(方框2210)。然后,编配服务可指示推送通知服务以通知连接到该专用客户端设备的会议的其它客户端设备(方框2212),且推送通知服务可发送通知给其它客户端设备以说明显示网络链接的专用客户端设备(方框2214)。在客户端设备的通知接口可接收通知,并传送通知给各自的编配代理(方框2216)。
随后可在客户端设备中的一个选择网络链接(方框2218)。在该客户端设备的编配代理可检测网络链接,并发送具有选择的网络链接的通知给编配服务(方框2220)。然后,编配服务可从设备服务请求专用客户端设备的身份(方框2222)。设备服务可查询设备数据库以获取专用客户端设备的身份,并通知编配服务(方框2224)。然后,编配服务可指示推送通知服务以通知专用客户端设备所选则的网络链接(方框2226),且推送通知服务可发送具有选定网络链接的通知给专用客户端设备(方框2228)。在专用客户端设备的通知接口可接收具有选定网络链接的通知,并传送通知给编配代理(方框2230)。该编配代理可使用程序解析器来确定应启动的网络浏览器(方框2232),且可指示应用程序启动器使用在通知中说明的网络链接启动网络浏览器(方框2234)。作为响应,应用程序启动器可启动网络浏览器,并指示网络浏览器定位到选定的网络链接(方框2236)。
也可执行如上所阐述的各种步骤以在会议期间与不是专用客户端设备的其它互联客户端设备共享选定的网络链接。还可执行以上所述的各种步骤,以与另一客户端设备共享一个客户端设备的当前网络浏览器会话,使得其它客户端设备定位至网络浏览器会话的网络链接。还应当理解的是,可在其它专用客户端设备执行以上所阐述的各种步骤,以在会议期间执行其它活动,例如,所述其它专用客户端设备是用于播放会议期间共享的视频流或会议期间共享的音频流的专用客户端设备。作为实例,大的视频显示设备可以是专用的以呈现会议期间共享自设备中的一个的视频流。作为另一实例,音频输出设备可以是专用的以呈现会议期间共享自设备中的一个的音频流。
在图23中,示出了用于跨多个互联设备执行复制和粘贴命令的实例方法步骤的流程图2300。一般来说,用户可在一个客户端设备选择内容,并将该内容复制到编配服务的剪贴板,其他用户可将该内容从编配服务的剪贴板粘贴到他们自己的客户端设备。用户可首先选择将共享的内容(方框2302),例如,通过突出显示文本或其它方式选择的内容。然后,用户可提交如上所述的跨设备的复制和粘贴请求(方框2304),且编配代理可接收跨设备的复制和粘贴请求(方框2306)。然后,编配代理可上传复制内容到编配服务的全局剪贴板(方框2308)。全局剪贴板对应于编配服务的储存位置,其对于连接到编配服务的至少一些客户端设备是可访问的。
当用户复制内容到全局剪贴板时,编配服务可指示推送通知服务以通知连接到该编配服务的一个或多个设备新的剪贴板内容是可用的,且推送通知服务可发送剪贴板通知到客户端设备(方框2310)。用户可利用编配代理以在其各自的客户端设备粘贴复制到全局剪贴板的内容。编配代理可发送请求到编配服务,以请求获取复制到全局剪贴板的内容。当编配服务接收请求时(方框2312),该编配服务可下载复制到全局剪贴板的内容到客户端设备(方框2314)。从编配服务接收到复制到全局剪贴板的内容后,用户可在客户端设备粘贴该内容到应用程序(方框2316)。
如以上阐述的,客户端设备可能不具有打开与该客户端设备共享的文件的能力。例如,用于打开共享文件的应用程序可能没安装在目标客户端设备上。尽管如此,却可以将编配服务和编配代理配置成处理目标客户端设备不具有打开共享文件的能力的情况。如下面更详细描述的,编配服务可自动地启动具有打开共享文件的能力的虚拟环境,且当目标客户端设备不能打开共享文件时编配代理可启动虚拟客户端应用程序以连接到该虚拟环境。
在图24中,示出了用于打开通过编配框架共享的内容的实例方法步骤的流程图2400。如以上所讨论的,编配服务可接收共享文件的通知(方框2402)。然后,编配服务可确定目标客户端设备是否能够打开共享的文件(方框2404)。如以上所述,设备数据库可存储设备能力信息,且因此编配服务可知道连接到编配服务的设备的能力。当连接到编配服务时,设备可在协商过程期间向编配服务提供其各自的能力信息。例如,客户端设备可通知编配服务在客户端设备可用的本地应用程序,且设备数据库可存储在客户端设备可用的本地应用程序的列表。以这种方式,编配服务可能能够确定客户端设备是否能够打开共享文件(例如,客户端设备是否具有能够打开共享文件的本地应用程序)。如果目标设备能够打开共享文件(方框2406:是),则编配代理可使用应用程序解析器,以确定在客户端设备的哪个应用程序能够打开文件,并可使用应用程序启动器启动该应用程序并打开共享文件(方框2408)。应用程序启动器可自动地或响应于如上所述的接受共享文件的输入的接收,启动应用程序。
如果目标客户端设备不能打开共享文件(方框2406:否),则编配服务可启动在其中可打开共享文件的虚拟环境(方框2410)。编配服务本身可本地的启动并维护虚拟环境,或,此外或可替换地,相对于编配服务远程定位的虚拟化服务器可启动并维护虚拟环境。可配置虚拟环境以包括能够打开共享文件的虚拟化应用程序(方框2412)。编配服务也可提供共享文件到虚拟环境(方框2414),或以其它方式使共享文件对于虚拟环境可用。作为实例,编配服务可提供具有在远程储存器的数据存储的共享文件的位置的虚拟环境,且虚拟环境的远程储存器接口可检索来自远程储存器的数据存储的文件。在这点上,也可认为虚拟环境是共享文件的最终目的。
一旦虚拟环境获得共享文件,虚拟环境就可启动虚拟化的应用程序来打开共享文件(方框2416)。在目标客户端设备的编配代理可启动虚拟客户端应用程序(方框2418),且虚拟客户端应用程序可连接到虚拟环境(方框2420)。以这种方式,用户可方便地跨可能无法打开这些文件的客户端设备共享文件。更具体的实例可包括只能使用3D建模软件打开的3D格式的计算机文件。移动电话可能没有配备打开3D文件的必要软件。使用以上所述的编配服务和虚拟化方法,虚拟环境可启动3D建模软件的虚拟化实例,且在移动电话的虚拟客户端应用程序可连接到虚拟环境以访问与移动电话设备共享的3D文件。结合本公开内容的益处将理解其它实际用途。
除了专门配置设备来显示选定的网络链接外,用户可共享不同类型的链接,例如,URL(统一资源定位器)、也可跨互联设备。用户可共享任何类型的URL,例如,http://、https://、tel://、citrixreceiver://、以及具有URL格式的其它链接。图25是用于跨互联设备共享URL的实例方法步骤的流程图。类似于选择将共享的文件,用户可选择将共享的URL(方框2502),例如,通过突出显示的URL。然后,用户可提交如上所述的跨设备的共享请求(方框2504),且编配代理可接收跨设备的共享请求(方框2506)。用户可从同样如以上描述的目标列表中选择目标客户端设备(方框2508),例如,特定的客户端设备或个人。随着目标的选择,编配代理可发送URL到编配服务(方框2510)。相似地,编配服务可通知目标客户端设备共享的URL(方框2512)。通知可包括共享的URL。当客户端设备以对等的方式互联时,编配代理还可直接发送URL到在目标客户端设备的编配代理。
如同共享文件,在目标客户端设备的编配代理可不同地响应,取决于目标客户端设备是否与共享URL的用户或其他个人相关联。如上所述,如果目标客户端设备不是共享URL的用户的个人设备(方框2514:否),则编配代理可显示说明共享的URL的通知(方框2516),以便避免在目标客户端设备引发对其它计算活动的任何干扰。如果个人不接受共享的URL(方框2518:否),则编配代理客户端可等待(方框2520),直到收到说明共享URL被接受的输入。当接收者接受共享的URL时(方框2518:是),编配代理可使用应用程序解析器确定应启动哪个应用程序来处理共享的URL,并使用应用程序启动器启动在目标客户端设备的应用程序和遵循共享的URL(方框2522)。如果用户将URL与另一个人设备共享(方框2514:是),则在目标客户端设备的编配代理可自动地发起处理该URL的应用程序的启动,并自动处理或遵循共享的URL(方框2522)。
可配置编配服务以背景敏感的方式共享URL。特别是,编配服务可识别用于不同类型的在线资源的URL,例如,基于文本的网页和视频共享网页。因此,基于URL类型,编配服务可自动地选择目标客户端设备。作为实例,编配服务可识别该URL定址到视频共享网站,并且作为响应,选择大的显示设备以共享URL。以这种方式,编配服务可方便地与适于呈现由URL定址的内容的客户端设备共享URL。作为另一实例,编配服务可识别该URL定址到基于文本的网站,并且作为响应,选择平板设备或台式机设备以共享URL。编配服务还可使用规则集来确定与哪个客户端设备共享URL。例如,URL共享规则集可列出各种网站,以及共享与这些网站相关联的URL时编配服务应选择的设备或客户端设备的类型。用户可根据其喜好配置规则集以便自定义共享URL时编配服务的行为。当用户共享URL时,规则集可与使用它的个人用户相关联,并且此外或可替换地,编配服务可维护适用于所有用户的全局规则集。
创建和访问简单工作的活动
在本部分中描述的编配框架的方面针对创建活动和经由编配框架访问这些活动。可创建这些活动,例如,用于在不同客户端设备执行简单工作。
图26是用于经由编配框架创建活动的实例方法步骤的流程图2600。用户可启动或访问由编配框架提供的活动管理接口(方框2602),并创建新的活动(方框2604)。活动服务可在活动数据库中将新的活动作为新活动记录存储保存(方框2606)。然后,用户可选择内容以与活动相关联,且该活动服务可更新活动数据库以说明选定的内容与该活动相关联(方框2608)。可被选择的与内容相关联的内容可包括,例如,文件(例如,文档、音频文件、视频文件)、计算资源(应用程序、服务)、网络链接、以及结合本公开的内容的益处将理解的其它类型的内容。然后,远程储存器接口可上传选择的内容到远程储存器的数据存储,并通知活动服务远程存储位置(方框2610),使得活动服务可说明在活动数据库中的远程存储位置。用户可增加与活动相关联的内容(方框2612:是)。一旦用户完成为活动选择内容(方框2614:否),用户就可保存活动到活动数据库并关闭活动管理接口(方框2616)。
图27是用于经由编配框架访问活动的实例方法步骤的流程图2700。如图27中所见,用户可在客户端设备启动活动应用程序(例如,简单工作应用程序)(方框2702)。如上所述,编配代理可检测活动应用程序的启动,并可使用认证器认证活动应用程序(方框2704)。编配代理可指示活动合成器以检索由用户创建的活动或与用户关联的其它活动(方框2706)。活动合成器可经由活动服务从活动数据库检索用户的活动(方框2708)。活动应用程序可显示在客户端设备的活动列表,并从用户接收活动之一的选择(方框2710)。活动合成器可经由活动服务检索与选定活动相关联的内容列表(方框2712)。活动应用程序可显示与选定活动相关联的内容条目列表,并从用户接收内容条目之一的选择(方框2714)。远程储存器接口可从远程储存器的数据存储下载选定的内容项到客户端设备2716。编配代理可使用应用程序解析器来确定能够打开选定内容条目的应用程序(方框2718),并通知应用程序启动器启动如上所述的应用程序(方框2720)。因此,应用程序的启动可启动该应用程序,并打开呈现给用户的选定内容条目(方框2722)。应该理解的是,以上阐述的各种步骤不仅可用于简单工作,而且也可用于更复杂类型的工作。因此,也可采用以上阐述的各种步骤来执行延迟的工作。
以下用例场景描述了概括用户如何咨询关于即将开始的旅行的酒店(例如,澳大利亚悉尼的酒店)信息的执行的示例性流程。使用活动管理接口,用户创建了前往悉尼的活动。在本活动中,用户提供陈述书、旅行文件和费用报告应用程序。在活动管理接口中的活动的创建使活动服务在活动数据库中创建新的活动,并使远程储存器接口上传陈述书和旅行文件到远程储存器的数据存储。
当在机场休息室等待时,用户在平板计算设备上开始活动应用程序。在平板计算机上的编配代理使用认证器结合编配服务进行验证,并然后指示活动合成器来检索用户的活动。然后,活动合成器显示与关于旅行的活动相关联的内容。用户选择含有酒店信息的文档,其可以是PDF文档。编配代理接收查看PDF文档的请求,并使用应用程序解析器来确定如何处理PDF文档。应用程序解析器确定要求的资源是PDF文档,且其需要使用PDF应用程序来查看。关于如何处理PDF文档的决定可基于从活动数据库或设备服务接收的信息,其确定如何在特定的客户端设备处理特定类型的内容。然后,该信息被传递回编配代理,其基于来自应用程序解析器的结果确定应该使用本地PDF查看器启动PDF文档。编配代理指示远程储存器接口从远程储存器的数据存储检索PDF文档,并将其复制到本地设备。一旦检索到文档,编配代理就指示应用程序启动器启动本地PDF查看器并打开该文档。应用程序启动并打开文档,且用户获得所需的信息,如酒店价格信息。用户将信息复制到剪贴板并关闭PDF。然后,将用户带回活动应用程序显示的活动视图。接着,用户选择列出的用于活动的费用报告应用程序资源。编配代理接收启动费用报告应用程序的请求,并使用应用程序解析器来确定如何处理费用报告应用程序。应用程序解析器确定费用报告应用程序有网页接口,并确定其应经由本地网络浏览器启动。基于来自应用程序解析器的结果,编配代理确定应在网络浏览器中启动费用报告应用程序。编配代理指示应用程序启动器在网络浏览器启动费用报告应用程序,且用户可输入先前从PDF文档中检索到的酒店信息。
活动应用程序的方面克服了在汇集信息和完成特定活动所需的应用程序中所涉及的困难。通过面向活动的接口的使用,用户可快速建立工作环境,而不是通过许多不同的框架进行浏览而执行活动。在以上用例场景下,所有关于个人概念的内容—前往悉尼的商业旅行—由活动应用程序和活动服务汇集在一起,并在单一位置提供。当坐在机场休息室时,归档费用报告的活动,因此其在由活动应用程序提供的单一接口执行,其方便地允许用户迅速地执行活动。
虽然已经以针对结构特征和/或方法动作的语言描述了本主题,但是应该理解的是,在所附权利要求中定义的主题不必限于以上所述的具体特征或动作。相反,以上所述的具体特征和动作被描述为下面权利要求的示例性实现方式。已按照其示例性的实施方案描述了本公开内容的方面。根据本公开内容的评述,本领域的普通技术人员将想到在所附权利要求的范围和精神内的许多其它实施方案、修改和变化。例如,本领域的一个普通技术人员将理解,可用不同于所列举的顺序执行本文所描述的和/或说明的步骤,且根据本公开内容的方面,所说明的一个或多个步骤是可选择的。可做出修改,特别是可根据前述教导做出修改。例如,上述各实施方案的每个元素可单独或以结合其它实施方案的元素的组合或与子组合的方式使用。还应理解和明白的是,可进行修改,而不脱离本文中所描述的方面的精神和范围。

Claims (28)

1.一种跨多个设备编配计算活动的方法,包括:
提供编配框架,其互连多个设备,使得所述多个设备可用于共享内容和计算活动,其中,当所述多个设备通过所述编配框架互连时,所述编配框架协调所述多个设备之间的交互;
使用所述编配框架互联所述多个设备;
从所述多个设备中的一个设备接收共享具有文件类型的文件的请求;以及
使用所述编配框架对与所述多个设备的文件的共享进行管理,其中所述管理包括:
基于所述文件类型确定所述多个设备中的哪一个设备包括能够打开所述文件的本地应用程序以及所述多个设备中的哪一个设备不包括能够打开所述文件的本地应用程序,
发送包括说明所述文件被存储的位置的第一通知到具有能够打开所述文件的本地应用程序的所述多个设备中的至少一个设备,
建立包括能够打开所述文件的虚拟化应用程序的虚拟环境;
通过所述虚拟化应用程序打开所述文件,以及
发送第二通知到缺少能够打开所述文件的本地应用程序的所述多个设备中的至少一个设备,所述第二通知一经接收即启动一个连接到所述虚拟环境的虚拟客户端应用程序,使得所述文件在所述虚拟化应用程序经由所述虚拟客户端应用程序是可访问的。
2.根据权利要求1所述的方法,还包括:
从所述多个设备中的一个设备接收与所述多个设备中的一个指定的设备共享内容的第二请求;以及
使用所述编配框架,仅发送通知到在所述指定的设备,其中,所述通知说明所述内容已与所述指定的设备共享。
3.根据权利要求1所述的方法,还包括:
选择所述多个设备中的一个设备作为专用设备,以接收具有用户选定内容类型的内容;
从所述多个设备的一个设备接收共享具有所述用户选定的内容类型的内容的第二请求;以及
使用所述编配框架仅发送通知到所述专用设备,其中,所述通知说明已共享所述内容。
4.根据权利要求1所述的方法,还包括:
从所述多个设备的一个设备接收与所述多个设备的一个或多个设备共享链接的第二请求;
使用所述编配框架,发送包括所述链接的通知到所述多个设备的至少一个设备;并且
其中,在所述至少一个设备的所述通知的接收使所述至少一个设备提供所述链接到能够处理所述链接的应用程序。
5.根据权利要求4所述的方法,其中:
所述链接是网站的网络链接;并且
能够处理所述链接的所述应用程序是网络浏览器。
6.根据权利要求1所述的方法,还包括:
从所述多个设备中的一个设备接收包括要与所述多个设备中的一个或多个设备共享的内容的第二请求;
将要共享的的所述内容存储剪贴板中,其中,所述剪贴板对于所述多个设备中的多个设备是可访问的;以及
使用所述编配框架,发送通知到所述多个设备中的至少一个设备,说明要共享的内容在所述剪贴板处是可用的。
7.根据权利要求6所述的方法,还包括:
从所述多个设备中的一个设备接收粘贴请求;以及
使用所述编配框架,将存储在所述剪贴板的所述内容提供给提供所述粘贴请求的设备。
8.根据权利要求1所述的方法,还包括:
存储规则,所述规则指定所述多个设备中的哪一个设备应接收由所述多个设备中一个或多个设备共享的内容;
从所述多个设备中的一个设备接收共享选定内容的第二请求;以及
使用所述编配框架仅发送通知到所述多个设备中的所述规则中指定的设备,其中,所述通知说明所述选定内容已共享。
9.一种用于跨多个计算设备编配计算活动的系统,包括:
至少一个处理器;
编配框架,所述编配框架互联多个客户端设备,使得所述多个客户端设备可用于共享内容和计算活动,并且所述编配框架包括一组服务器侧编配组件和一组客户端侧编配组件,当所述多个客户端设备通过所述编配框架互连时,所述服务器侧编配组件和所述客户端侧编配组件协调所述多个客户端设备之间的交互;
其中,将所述服务器侧编配组件配置成驻留在编配服务器,且所述服务器侧编配组件包括:
编配服务,在操作时,所述编配服务指示所述服务器侧编配组件响应在所述编配服务器处接收的通信;
其中,将所述客户端侧编配组件配置成驻留在与所述编配服务器通信的所述多个客户端设备中的一个客户端设备,且所述客户端侧编配组件包括:
与所述编配服务通信的编配代理,在操作时,所述编配代理指示所述客户端侧编配组件响应于从所述客户端设备的用户接收的输入并响应于在所述编配代理接收的通知;并且
其中,所述编配代理还被配置成:
提交共享具有文件类型的文件的请求到所述编配服务,以及
其中所述编配服务被配置成响应于所述请求的接收:
基于所述文件类型确定所述多个客户端设备中的哪一个客户端设备包括能够打开所述文件的本地应用程序,以及所述多个客户端设备中的哪一个客户端设备不包括能够打开所述文件的本地应用程序,
发送包括说明所述文件被存储的位置的第一通知到具有能够打开所述文件的本地应用程序的所述多个客户端设备中的至少一个客户端设备,
建立包括能够打开所述文件的虚拟化应用程序的虚拟环境;
通过所述虚拟化应用程序打开所述文件,以及
发送第二通知到缺少能够打开所述文件的本地应用程序的所述多个客户端设备中的至少一个客户端设备,所述第二通知一经接收即启动一个连接到所述虚拟环境的虚拟客户端应用程序,使得所述文件在所述虚拟化应用程序处经由所述虚拟客户端应用程序是可访问的。
10.根据权利要求9所述的系统,还包括:
作为所述服务器侧编配组件之一的通知服务,其中,在操作时,所述通知服务基于所述编配服务的操作,发送各自的通知到所述多个客户端设备中一个或多个客户端设备;以及
作为所述客户端侧编配组件之一的通知接口,其中,在操作时,所述通知接口从所述通知服务接收所述各自的通知并传递所述各自的通知到所述编配代理。
11.根据权利要求10所述的系统,还包括:
存储在所述多个客户端设备之间共享的一个或多个文件的数据存储;
作为所述客户端侧编配组件之一的远程文件接口,在操作时,所述远程文件接口使用包含在所述各自的通知中的一个通知中的储存位置取回所述文件;
作为所述客户端侧编配组件之一的应用程序解析器,在操作时,所述应用程序解析器识别哪个应用程序能够打开所述文件;以及
作为所述客户端侧编配组件之一的应用程序启动器,在操作时,所述应用程序启动器启动能够打开所述文件的应用程序。
12.根据权利要求11所述的系统,其中:
所述各自的通知之一包括共享链接;
在操作时,所述应用程序解析器还识别哪个应用程序能够处理所述共享链接;以及
在操作时,所述应用程序启动器还启动能够处理所述共享链接的所述应用程序。
13.根据权利要求10所述的系统,还包括:
作为所述服务器侧编配组件之一的剪贴板,所述剪贴板对于所述多个客户端设备中的多个客户端设备是可访问的;
其中,所述各自的通知之一说明共享的内容已存储在所述剪贴板;并且
其中,在操作时,所述编配服务还响应于来自所述编配代理对在所述剪贴板存储的所述共享的内容的请求的接收,提供所述共享的内容。
14.根据权利要求13所述的系统,还包括:
作为所述服务器侧编配组件之一的设备服务,其中,在操作时,所述设备服务管理关于所述多个客户端设备的设备信息;以及
作为所述客户端侧编配组件之一的设备存在服务,其中,在操作时,所述设备存在服务向所述设备服务说明客户端设备可用性。
15.一种客户端设备,包括:
一个或多个处理器;以及
存储指令的存储器,当所述指令被所述处理器中的一个执行时,导致所述客户端设备执行:
使用编配框架的编配代理,连接到一个或多个设备,其中,所述编配框架协调所述客户端设备和通过所述编配框架与所述客户端设备互联的所述一个或多个设备之间的交互,
接收用于与所述一个或多个设备共享的文件的选择,所述文件具有文件类型,以及
使用所述编配代理向所述编配框架的编配服务提交共享所述文件的请求;并且
其中,在所述编配服务收到所述请求导致所述编配服务管理所述文件的与一个或多个设备的共享,以及其中,为了管理所述共享,所述编配服务:
基于所述文件类型确定所述一个或多个设备中的哪一个设备包括能够打开所述文件的本地应用程序以及所述一个或多个设备中的哪一个设备不包括能够打开所述文件的本地应用程序,
发送包括说明所述文件被存储的位置的第一通知到具有能够打开所述文件的本地应用程序的所述一个或多个设备中的至少一个设备,
建立包括能够打开所述文件的虚拟化应用程序的虚拟环境;
通过所述虚拟化应用程序打开所述文件,以及
发送第二通知到缺少能够打开所述文件的本地应用程序的所述一个或多个设备中的至少一个设备,所述第二通知一经接收即启动一个连接到所述虚拟环境的虚拟客户端应用程序,使得所述文件在所述虚拟化应用程序处经由所述虚拟客户端应用程序是可访问的。
16.根据权利要求15所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
使用所述编配代理显示设备列表,说明所述一个或多个设备中的哪一个设备可用于被选择为接收所述文件的选定设备的设备;以及
其中,共享所述文件的所述请求指定了所述选定设备。
17.根据权利要求16所述的客户端设备,其中,所述设备列表说明下列中的至少一个:
与所述客户端设备的用户参加的在线会议相关联的一个或多个设备;
与所述客户端设备的所述用户相关联的一个或多个个人设备;
与所述客户端设备的用户关联的用户组相关联的一个或多个设备;
在相同的物理空间中实际彼此靠近放置的一个或多个设备;以及
上述各项的组合。
18.根据权利要求15所述的客户端设备,其中,当所述指令在被所述处理器中的一个执行时,还导致所述客户端设备执行:
使用所述编配框架的远程储存器接口将所述文件上传到数据存储的所述位置。
19.根据权利要求18所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
在所述编配代理接收共享通知,所述共享通知说明共享文件能够在所述数据存储获得;
使用所述远程储存器接口从所述数据存储取回所述共享文件;
使用所述编配框架的应用程序解析器识别能够打开所述文件的应用程序;
使用所述编配框架的应用程序启动器启动能够打开所述文件的应用程序;以及
使用所述应用程序打开所述文件。
20.根据权利要求15所述的客户端设备,其中当所述指令执行时,还导致所述客户端设备执行:
提交包括与所述客户端设备的复制命令相关联的内容的第二请求到使用所述编配代理的所述编配服务;以及
其中,在所述编配服务的所述第二请求的接收导致所述编配服务将所述内容存储剪贴板上,其中,所述剪贴板对于所述一个或多个设备中的多个设备是可访问的,并导致所述编配服务发起到所述一个或多个设备中的一个或多个设备的通知,所述通知说明所述内容在所述剪贴板是可用的。
21.根据权利要求20所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
接收所述内容能够在所述剪贴板获得的共享通知;
在所述客户端设备接收粘贴命令;
提交对于在所述剪贴板存储的所述内容的请求到使用所述编配代理的所述编配服务;
响应于在所述编配服务的所述请求的接收,接收在所述剪贴板存储的所述内容;以及
将所述内容粘贴到在所述客户端设备的应用程序。
22.根据权利要求15所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
提交与所述一个或多个设备共享链接的第二请求到使用所述编配代理的所述编配服务;以及
其中,在所述编配服务的所述第二请求的接收导致所述编配服务发起到所述一个或多个设备中的一个或多个设备的包括所述链接的通知。
23.根据权利要求22所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
在所述编配代理接收共享通知,所述共享通知说明共享链接;
使用所述编配框架的应用程序解析器识别能够处理所述共享链接的应用程序;
使用所述编配框架的应用程序启动器启动能够处理所述链接的应用程序;以及
使用所述应用程序处理所述链接。
24.根据权利要求15所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
使用所述编配代理显示用户列表,所述用户列表说明可用于被选择为接收所述文件的选定用户的一个或多个用户;以及
其中,共享所述文件的所述请求指定了所述选定用户。
25.根据权利要求24所述的客户端设备,其中所述用户列表说明下列中的至少一个:
与所述客户端设备的用户的用户组相关联的一个或多个用户;
与所述客户端设备的用户参加的在线会议相关联的一个或多个用户;
在相同物理空间中实际邻近所述客户端设备的用户的一个或多个用户;以及
上述各项的组合。
26.根据权利要求15所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
使用所述编配代理显示用户组列表,所述用户组列表说明可用于被选择为接收所述文件的选定用户组的一个或多个用户组;并且
其中,共享所述文件的所述请求指定了所述选定用户组。
27.根据权利要求26所述的客户端设备,其中所述用户组列表说明下列中的至少一个:
来源于由调度服务提供的日程表信息的一个或多个用户组,其中,所述日程表信息说明为所述用户安排的一个或多个在线会议;
包含与所述用户当前正在参加的在线会议相关联的一个或多个用户的用户组;
包含在相同物理空间中实际邻近所述客户端设备的用户的一个或多个用户的用户组;以及
上述各项的组合。
28.根据权利要求15所述的客户端设备,其中,所述指令在被所述处理器中的一个执行时还导致所述客户端设备执行:
使用所述编配框架的应用程序启动器启动在线会议应用程序,并使用所述会议应用程序连接在线会议;
通过所述编配框架与所述在线会议相关的一组设备互联;
在所述在线会议期间,使用所述编配框架与和所述在线会议相关联的设备中的一个或多个设备共享内容;以及
在所述在线会议期间,使用所述编配框架从与所述在线会议相关联的设备中的一个或多个设备接收共享内容。
CN201380062764.7A 2012-10-12 2013-10-03 用于连接设备的编配框架 Active CN104823189B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261712948P 2012-10-12 2012-10-12
US201261712956P 2012-10-12 2012-10-12
US201261712953P 2012-10-12 2012-10-12
US201261712962P 2012-10-12 2012-10-12
US61/712,953 2012-10-12
US61/712,948 2012-10-12
US61/712,962 2012-10-12
US61/712,956 2012-10-12
US201361824204P 2013-05-16 2013-05-16
US61/824,204 2013-05-16
US14/026,442 2013-09-13
US14/026,442 US9774658B2 (en) 2012-10-12 2013-09-13 Orchestration framework for connected devices
PCT/US2013/063261 WO2014058706A2 (en) 2012-10-12 2013-10-03 Orchestration framework for connected devices

Publications (2)

Publication Number Publication Date
CN104823189A CN104823189A (zh) 2015-08-05
CN104823189B true CN104823189B (zh) 2018-07-31

Family

ID=50476421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380062764.7A Active CN104823189B (zh) 2012-10-12 2013-10-03 用于连接设备的编配框架

Country Status (4)

Country Link
US (1) US9774658B2 (zh)
EP (1) EP2907054A4 (zh)
CN (1) CN104823189B (zh)
WO (1) WO2014058706A2 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9307059B2 (en) * 2012-11-09 2016-04-05 Sap Se Retry mechanism for data loading from on-premise datasource to cloud
US9705829B2 (en) 2012-12-07 2017-07-11 Linkedin Corporation Communication systems and methods
US9633071B1 (en) * 2012-12-26 2017-04-25 United Services Automobile Association System and method for modeling a search query
US9063576B1 (en) * 2013-04-04 2015-06-23 Amazon Technologies, Inc. Managing gesture input information
US9773231B2 (en) 2013-05-29 2017-09-26 Evernote Corporation Content associations and sharing for scheduled events
WO2015020730A1 (en) * 2013-08-06 2015-02-12 Evernote Corporation Calendar with automatic display of related and meeting notes
WO2015038335A1 (en) 2013-09-16 2015-03-19 Evernote Corporation Automatic generation of preferred views for personal content collections
US10691310B2 (en) * 2013-09-27 2020-06-23 Vmware, Inc. Copying/pasting items in a virtual desktop infrastructure (VDI) environment
US9021569B1 (en) * 2014-01-21 2015-04-28 Avaya Inc. Wireless guest access
WO2015166304A1 (en) * 2014-04-30 2015-11-05 Sony Corporation End-user devices handling objects via network server assistance
KR101613130B1 (ko) * 2014-08-08 2016-04-18 숭실대학교산학협력단 다중 스마트폰 및 그 제어방법
US10839399B2 (en) * 2014-09-12 2020-11-17 Nextiva, Inc. Communications platform system
US9621650B2 (en) 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
KR101978193B1 (ko) * 2014-11-07 2019-09-03 후아웨이 테크놀러지 컴퍼니 리미티드 하드웨어 자원을 관리하는 방법, 하드웨어 자원의 위치를 질의하는 방법, 및 관련 장치
KR101613809B1 (ko) 2015-01-02 2016-04-19 라인 가부시키가이샤 특정 조건에 의해 제어되는 메신저 서비스를 제공하는 방법과 시스템 및 기록 매체
CN106294372B (zh) * 2015-05-15 2019-06-25 阿里巴巴集团控股有限公司 应用程序页面快速访问方法及应用其的移动终端
US10728107B2 (en) * 2015-06-30 2020-07-28 SkyKick, Inc. Managing users of cloud services with management tool
CN106411980B (zh) * 2015-07-31 2020-02-14 腾讯科技(深圳)有限公司 数字内容的共享方法及共享装置
US10320861B2 (en) * 2015-09-30 2019-06-11 Google Llc System and method for automatic meeting note creation and sharing using a user's context and physical proximity
US9462570B1 (en) * 2015-10-02 2016-10-04 International Business Machines Corporation Selectively sending notifications to mobile devices
US10447795B2 (en) * 2015-10-05 2019-10-15 Polycom, Inc. System and method for collaborative telepresence amongst non-homogeneous endpoints
CN105281955B (zh) 2015-10-27 2018-10-09 上海华为技术有限公司 一种业务和资源编排的系统、方法及装置
US10560499B2 (en) * 2015-12-31 2020-02-11 Screenbeam Inc. Displaying content from multiple devices
US10412168B2 (en) * 2016-02-17 2019-09-10 Latticework, Inc. Implementing a storage system using a personal user device and a data distribution device
US10447828B2 (en) * 2016-03-01 2019-10-15 Microsoft Technology Licensing, Llc Cross-application service-driven contextual messages
US9621853B1 (en) 2016-06-28 2017-04-11 At&T Intellectual Property I, L.P. Service orchestration to support a cloud-based, multi-party video conferencing service in a virtual overlay network environment
US10404797B2 (en) * 2017-03-03 2019-09-03 Wyse Technology L.L.C. Supporting multiple clipboard items in a virtual desktop infrastructure environment
US10797895B2 (en) 2017-06-08 2020-10-06 Cisco Technology, Inc. Onboarding devices for use in conference room
US20190007284A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Technologies for producing proactive notifications of storage device performance
US11330087B2 (en) 2017-11-16 2022-05-10 Intel Corporation Distributed software-defined industrial systems
US11012575B1 (en) * 2018-02-15 2021-05-18 Amazon Technologies, Inc. Selecting meetings based on input requests
US11146514B2 (en) * 2018-05-07 2021-10-12 Apple Inc. Sharing content in a messaging application
US11438435B2 (en) * 2019-03-01 2022-09-06 Microsoft Technology Licensing, Llc User interaction and task management using multiple devices
CA3163096A1 (en) 2019-11-27 2021-06-03 Screenbeam Inc. Methods and systems for reducing latency on a collaborative platform
US11184367B2 (en) * 2020-04-21 2021-11-23 Lockheed Martin Corporation Applying blockchain to a sensor tracker
CN113542337B (zh) * 2020-04-30 2023-02-10 北京字节跳动网络技术有限公司 信息共享方法、装置、电子设备及存储介质
CN112311754B (zh) * 2020-06-02 2022-09-30 北京字节跳动网络技术有限公司 交互方法、装置和电子设备
CN112235530B (zh) * 2020-10-13 2021-07-30 网易(杭州)网络有限公司 远程会议的实现方法及装置、电子设备、存储介质
US11838375B2 (en) * 2020-11-12 2023-12-05 Harman International Industries, Incorporated Universal software communication bus
US11621979B1 (en) 2020-12-31 2023-04-04 Benjamin Slotznick Method and apparatus for repositioning meeting participants within a virtual space view in an online meeting user interface based on gestures made by the meeting participants
US11330021B1 (en) * 2020-12-31 2022-05-10 Benjamin Slotznick System and method of mirroring a display of multiple video feeds in videoconferencing systems
US11546385B1 (en) 2020-12-31 2023-01-03 Benjamin Slotznick Method and apparatus for self-selection by participant to display a mirrored or unmirrored video feed of the participant in a videoconferencing platform
CN113420002A (zh) * 2021-06-24 2021-09-21 阿波罗智联(北京)科技有限公司 数据同步方法、装置、电子设备以及存储介质
US20230064996A1 (en) * 2021-08-31 2023-03-02 Citrix Systems, Inc. Sharing Virtual Environment Data
US11733957B2 (en) 2021-09-27 2023-08-22 International Business Machines Corporation Real time sharing of relevant information in virtual meetings

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1661610A (zh) * 2003-12-29 2005-08-31 国际商业机器公司 用于在共享电子邮件储存库中帮助协作的系统和方法
CN1708751A (zh) * 2002-08-23 2005-12-14 国际商业机器公司 处理应用数据
CN101588353A (zh) * 2008-05-21 2009-11-25 闪联信息技术工程中心有限公司 文件共享方法、系统及设备
CN102541635A (zh) * 2010-12-21 2012-07-04 微软公司 用于在保持在情境中的同时共享的可扩展系统动作

Family Cites Families (255)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
JP3001489B2 (ja) 1998-01-16 2000-01-24 新潟日本電気ソフトウェア株式会社 Tcp/ip通信網ブラウザ装置
US6480096B1 (en) 1998-07-08 2002-11-12 Motorola, Inc. Method and apparatus for theft deterrence and secure data retrieval in a communication device
US7140005B2 (en) 1998-12-21 2006-11-21 Intel Corporation Method and apparatus to test an instruction sequence
US7130831B2 (en) 1999-02-08 2006-10-31 Copyright Clearance Center, Inc. Limited-use browser and security system
US6609198B1 (en) 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
BR0013822A (pt) 1999-08-31 2002-07-23 American Express Travel Relate Métodos e aparelhos para a condução de trasações eletrônicas
US20030236861A1 (en) 2000-03-03 2003-12-25 Johnson Scott C. Network content delivery system with peer to peer processing components
JP4348818B2 (ja) 2000-03-10 2009-10-21 ソニー株式会社 データ配信システムとその方法およびデータ記録媒体
US7065652B1 (en) 2000-06-21 2006-06-20 Aladdin Knowledge Systems, Ltd. System for obfuscating computer code upon disassembly
US7689510B2 (en) 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US6883098B1 (en) 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
WO2002057943A1 (en) 2001-01-18 2002-07-25 Yahoo! Inc. Method and system for managing digital content, including streaming media
US7437429B2 (en) 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
US7502861B1 (en) 2001-02-16 2009-03-10 Swsoft Holding, Ltd. System and method for providing services for offline servers using the same network address
US20020120607A1 (en) 2001-02-28 2002-08-29 Lumenati, Inc. File sharing system for serving content from a computer
JP2004526367A (ja) 2001-03-14 2004-08-26 ノキア コーポレーション インスタントメッセージングのユーザとクライアントの識別の分離
JP3861625B2 (ja) 2001-06-13 2006-12-20 ソニー株式会社 データ転送システム、データ転送装置、記録装置、データ転送方法
US8218829B2 (en) 2001-08-20 2012-07-10 Polycom, Inc. System and method for using biometrics technology in conferencing
US20030103075A1 (en) * 2001-12-03 2003-06-05 Rosselot Robert Charles System and method for control of conference facilities and equipment
WO2003058483A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Connection architecture for a mobile network
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US20030188193A1 (en) 2002-03-28 2003-10-02 International Business Machines Corporation Single sign on for kerberos authentication
JP2003296210A (ja) 2002-04-03 2003-10-17 Japan Research Institute Ltd プロファイル設定ファイル作成方法および装置
US6950825B2 (en) 2002-05-30 2005-09-27 International Business Machines Corporation Fine grained role-based access to system resources
US6946715B2 (en) 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US7437752B2 (en) 2002-09-23 2008-10-14 Credant Technologies, Inc. Client architecture for portable device with security policies
US7665125B2 (en) 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
US7536562B2 (en) 2002-10-17 2009-05-19 Research In Motion Limited System and method of security function activation for a mobile electronic device
FR2847752B1 (fr) 2002-11-27 2006-01-13 At & T Corp Methode et systeme pour gerer l'echange de fichiers joints a des courriers electroniques
US7254831B2 (en) 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US7353533B2 (en) 2002-12-18 2008-04-01 Novell, Inc. Administration of protection of data accessible by a mobile device
CN100565479C (zh) 2003-01-20 2009-12-02 富士通株式会社 复制防止装置以及复制防止方法
US7779408B1 (en) 2003-03-24 2010-08-17 Sprint Spectrum L.P. Method and system for downloading and managing portable applications on a mobile device
US7543051B2 (en) 2003-05-30 2009-06-02 Borland Software Corporation Method of non-intrusive analysis of secure and non-secure web application traffic in real-time
US20050027862A1 (en) 2003-07-18 2005-02-03 Nguyen Tien Le System and methods of cooperatively load-balancing clustered servers
US7089594B2 (en) 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
US7574707B2 (en) 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7349913B2 (en) 2003-08-21 2008-03-25 Microsoft Corporation Storage platform for organizing, searching, and sharing data
SE527561C2 (sv) 2003-09-12 2006-04-11 Secured Email Goeteborg Ab Metod, system och datorprogram för kryptografisk kommunikation av elektroniska meddelanden
US8483227B2 (en) 2003-11-20 2013-07-09 International Business Machines Corporation Controlling bandwidth reservations method and apparatus
CN101032142B (zh) 2003-12-29 2011-05-18 艾利森电话股份有限公司 通过接入网单一登录访问服务网络的装置和方法
US7720461B2 (en) 2004-02-26 2010-05-18 Research In Motion Limited Mobile communications device with security features
US7549048B2 (en) 2004-03-19 2009-06-16 Microsoft Corporation Efficient and secure authentication of computing systems
US7487353B2 (en) 2004-05-20 2009-02-03 International Business Machines Corporation System, method and program for protecting communication
US7492946B2 (en) 2004-05-24 2009-02-17 Michael James Elder System, method and computer program for an integrated digital workflow for processing a paper form
US7891008B2 (en) 2004-06-12 2011-02-15 Microsoft Corporation Profile protection
US8363650B2 (en) 2004-07-23 2013-01-29 Citrix Systems, Inc. Method and systems for routing packets from a gateway to an endpoint
US20060080432A1 (en) 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
US7949706B2 (en) * 2004-09-24 2011-05-24 At&T Intellectual Property I, L.P. Automatic electronic publishing
JP2006094258A (ja) 2004-09-27 2006-04-06 Nippon Telegr & Teleph Corp <Ntt> 端末装置、そのポリシー強制方法およびそのプログラム
US20060085826A1 (en) 2004-10-18 2006-04-20 Funk James M Aggregated program guide for download and view video on demand service
US20060112428A1 (en) 2004-11-23 2006-05-25 Nokia Corporation Device having a locking feature and a method, means and software for utilizing the feature
JP2006155522A (ja) 2004-12-01 2006-06-15 Canon Inc Webブラウザの操作方法及び操作装置
US8478849B2 (en) 2004-12-07 2013-07-02 Pure Networks LLC. Network administration tool
US7562226B2 (en) 2005-01-14 2009-07-14 Citrix Systems, Inc. System and method for permission-based access using a shared account
US20060185004A1 (en) 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. Method and system for single sign-on in a network
US7844958B2 (en) 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
US7472375B2 (en) 2005-03-29 2008-12-30 Intel Corporation Creating managed code from native code
US7631297B2 (en) 2005-04-05 2009-12-08 International Business Machines Corporation Autonomic computing: management agent utilizing action policy for operation
US7490352B2 (en) 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
US20060248577A1 (en) 2005-04-29 2006-11-02 International Business Machines Corporation Using SSO processes to manage security credentials in a provisioning management system
US20070024646A1 (en) 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
US7565689B2 (en) 2005-06-08 2009-07-21 Research In Motion Limited Virtual private network for real-time data
US8495244B2 (en) 2005-06-29 2013-07-23 Jumpstart Wireless Corporation System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
US7529923B2 (en) 2005-06-30 2009-05-05 Intel Corporation Operating system mode transfer
US20070016771A1 (en) 2005-07-11 2007-01-18 Simdesk Technologies, Inc. Maintaining security for file copy operations
US20070016907A1 (en) 2005-07-12 2007-01-18 Fabio Benedetti Method, system and computer program for automatic provisioning of resources to scheduled jobs
US20070283324A1 (en) 2005-08-30 2007-12-06 Geisinger Nile J System and method for creating programs that comprise several execution layers
US20070072598A1 (en) 2005-09-23 2007-03-29 Coleman David T Controlling wireless communication devices with media recording capabilities
US7870493B2 (en) * 2005-10-03 2011-01-11 Microsoft Corporation Distributed clipboard
US7437755B2 (en) 2005-10-26 2008-10-14 Cisco Technology, Inc. Unified network and physical premises access control server
US20070100938A1 (en) * 2005-10-27 2007-05-03 Bagley Elizabeth V Participant-centered orchestration/timing of presentations in collaborative environments
US20070266422A1 (en) 2005-11-01 2007-11-15 Germano Vernon P Centralized Dynamic Security Control for a Mobile Device Network
WO2007055206A1 (ja) 2005-11-08 2007-05-18 Sharp Kabushiki Kaisha 通信装置、通信方法、通信システム、プログラム、および、コンピュータ読み取り可能な記録媒体
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US20070136471A1 (en) 2005-12-12 2007-06-14 Ip3 Networks Systems and methods for negotiating and enforcing access to network resources
GB2433794B (en) 2005-12-21 2010-08-18 Advanced Risc Mach Ltd Interrupt controller utiilising programmable priority values
US7716240B2 (en) 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
US7664865B2 (en) 2006-02-15 2010-02-16 Microsoft Corporation Securely hosting a webbrowser control in a managed code environment
US7725922B2 (en) 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
US20070226225A1 (en) 2006-03-22 2007-09-27 Yiu Timothy C Mobile collaboration and communication system
US20070226034A1 (en) 2006-03-23 2007-09-27 Kyocera Wireless Corp. Wireless communication device meeting scheduler
KR101359324B1 (ko) 2006-03-27 2014-02-24 텔레콤 이탈리아 소시에떼 퍼 아찌오니 이동 통신 장치상의 보안 정책 시행 방법
US7774323B2 (en) 2006-03-27 2010-08-10 Sap Portals Israel Ltd. Method and apparatus for delivering managed applications to remote locations
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8700772B2 (en) 2006-05-03 2014-04-15 Cloud Systems, Inc. System and method for automating the management, routing, and control of multiple devices and inter-device connections
US20080046580A1 (en) 2006-06-29 2008-02-21 Nokia Corporation Account creation system and call processing system
JP2008033751A (ja) 2006-07-31 2008-02-14 Ziosoft Inc アップデート方法およびアップデートシステム
US8234704B2 (en) 2006-08-14 2012-07-31 Quantum Security, Inc. Physical access control and security monitoring system utilizing a normalized data format
EP2054830A2 (en) 2006-08-17 2009-05-06 Neustar, Inc. System and method for managing domain policy for interconnected communication networks
US20080047006A1 (en) 2006-08-21 2008-02-21 Pantech Co., Ltd. Method for registering rights issuer and domain authority in digital rights management and method for implementing secure content exchange functions using the same
US8010995B2 (en) 2006-09-08 2011-08-30 International Business Machines Corporation Methods, systems, and computer program products for implementing inter-process integrity serialization
US8327427B2 (en) 2006-09-25 2012-12-04 Rockstar Consortium Us Lp System and method for transparent single sign-on
JP4959282B2 (ja) 2006-10-13 2012-06-20 中国電力株式会社 アプリケーション稼働制御システムおよびアプリケーション稼働制御方法
US9135444B2 (en) 2006-10-19 2015-09-15 Novell, Inc. Trusted platform module (TPM) assisted data center management
US8259568B2 (en) 2006-10-23 2012-09-04 Mcafee, Inc. System and method for controlling mobile device access to a network
CN101170401B (zh) 2006-10-27 2011-02-02 鸿富锦精密工业(深圳)有限公司 邮件加密/解密系统及方法
US8281299B2 (en) 2006-11-10 2012-10-02 Purdue Research Foundation Map-closure: a general purpose mechanism for nonstandard interpretation
JP5070835B2 (ja) 2006-12-26 2012-11-14 日本電気株式会社 携帯端末の機能制限方法及び携帯端末
CA2578472C (en) 2007-01-12 2013-01-15 Truecontext Corporation Methods and system for orchestrating services and data sharing on mobile devices
US9589115B2 (en) 2007-01-18 2017-03-07 Panasonic Intellectual Property Management Co., Ltd. Obfuscation assisting apparatus
US8214451B2 (en) 2007-01-19 2012-07-03 Alcatel Lucent Network service version management
WO2008086611A1 (en) 2007-01-19 2008-07-24 Research In Motion Limited Selectively wiping a remote device
US8909702B2 (en) * 2007-01-29 2014-12-09 Fuji Xerox Co., Ltd. System and method for coordination of devices in a presentation environment
US7644377B1 (en) 2007-01-31 2010-01-05 Hewlett-Packard Development Company, L.P. Generating a configuration of a system that satisfies constraints contained in models
US8132233B2 (en) 2007-02-05 2012-03-06 Hewlett-Packard Development Company, L.P. Dynamic network access control method and apparatus
US8095517B2 (en) 2007-02-08 2012-01-10 Blue Coat Systems, Inc. Method and system for policy-based protection of application data
US8074227B2 (en) 2007-02-08 2011-12-06 Microsoft Corporation Utilizing a first managed process to host at least a second managed process
WO2008101135A1 (en) 2007-02-14 2008-08-21 Snapin Software Inc. System and method for securely managing data stored on mobile devices, such as enterprise mobility data
US8689334B2 (en) 2007-02-28 2014-04-01 Alcatel Lucent Security protection for a customer programmable platform
US20080229117A1 (en) 2007-03-07 2008-09-18 Shin Kang G Apparatus for preventing digital piracy
JP4973246B2 (ja) 2007-03-09 2012-07-11 日本電気株式会社 アクセス権管理システム、サーバ及びアクセス権管理プログラム
CN101281461B (zh) 2007-04-04 2012-07-04 国际商业机器公司 用于迁移应用所依赖的系统环境的方法和装置
US20080270240A1 (en) 2007-04-30 2008-10-30 Viva Chu Systems and methods of managing tasks assigned to an individual
US20080313257A1 (en) 2007-06-15 2008-12-18 Allen James D Method and Apparatus for Policy-Based Transfer of an Application Environment
US8027518B2 (en) 2007-06-25 2011-09-27 Microsoft Corporation Automatic configuration of devices based on biometric data
US20090049425A1 (en) 2007-08-14 2009-02-19 Aladdin Knowledge Systems Ltd. Code Obfuscation By Reference Linking
US8306509B2 (en) 2007-08-31 2012-11-06 At&T Mobility Ii Llc Enhanced messaging with language translation feature
US8659427B2 (en) 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
US8060596B1 (en) 2007-12-26 2011-11-15 Symantec Corporation Methods and systems for normalizing data loss prevention categorization information
US8453198B2 (en) 2007-12-27 2013-05-28 Hewlett-Packard Development Company, L.P. Policy based, delegated limited network access management
US20090171906A1 (en) 2008-01-02 2009-07-02 Research In Motion Limited System and method for providing information relating to an email being provided to an electronic device
US8549596B2 (en) 2008-02-15 2013-10-01 Citrix Systems, Inc. Systems and methods for secure handling of secure attention sequences
US9576157B2 (en) 2008-04-02 2017-02-21 Yougetitback Limited Method for mitigating the unauthorized use of a device
CN101572678B (zh) 2008-04-30 2012-09-19 北京明朝万达科技有限公司 一种邮件附件透明保密控制方法
US8156204B2 (en) 2008-05-07 2012-04-10 Chalk Media Service Corp. Method for enabling bandwidth management for mobile content delivery
US8549657B2 (en) 2008-05-12 2013-10-01 Microsoft Corporation Owner privacy in a shared mobile device
JP5326363B2 (ja) 2008-05-30 2013-10-30 株式会社リコー 画像形成装置、認証制御方法、及びプログラム
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8326958B1 (en) 2009-01-28 2012-12-04 Headwater Partners I, Llc Service activation tracking system
US8931038B2 (en) 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8204196B2 (en) 2008-06-25 2012-06-19 International Business Machines Corporation Notification to absent teleconference invitees
US8156442B2 (en) * 2008-06-30 2012-04-10 Nokia Corporation Life recorder and sharing
WO2010001324A2 (en) 2008-06-30 2010-01-07 Mominis Ltd Method of generating and distributing a computer application
US8862672B2 (en) 2008-08-25 2014-10-14 Microsoft Corporation Content sharing and instant messaging
CN101662765B (zh) 2008-08-29 2013-08-07 深圳富泰宏精密工业有限公司 手机短信保密系统及方法
US8365183B2 (en) 2008-09-02 2013-01-29 Ca, Inc. System and method for dynamic resource provisioning for job placement
US20100083358A1 (en) 2008-09-29 2010-04-01 Perfios Software Solutions Pvt. Ltd Secure Data Aggregation While Maintaining Privacy
US20120137364A1 (en) 2008-10-07 2012-05-31 Mocana Corporation Remote attestation of a mobile device
US20100150341A1 (en) 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
US20100146523A1 (en) 2008-12-05 2010-06-10 Tripod Ventures Inc./ Entreprises Tripod Inc. Browser environment application and local file server application system
US8931033B2 (en) 2008-12-12 2015-01-06 Microsoft Corporation Integrating policies from a plurality of disparate management agents
US8245223B2 (en) 2008-12-23 2012-08-14 Microsoft Corporation Networked deployment of multi-application customizations
US8505078B2 (en) 2008-12-28 2013-08-06 Qualcomm Incorporated Apparatus and methods for providing authorized device access
US8856909B1 (en) 2009-01-23 2014-10-07 Juniper Networks, Inc. IF-MAP provisioning of resources and services
US20100228961A1 (en) 2009-03-03 2010-09-09 Erf Wireless, Inc. Hierarchical secure networks
US20100228825A1 (en) 2009-03-06 2010-09-09 Microsoft Corporation Smart meeting room
US20100235216A1 (en) 2009-03-16 2010-09-16 Microsoft Corporation Integration of pre-meeting and post-meeting experience into a meeting lifecycle
US8660530B2 (en) 2009-05-01 2014-02-25 Apple Inc. Remotely receiving and communicating commands to a mobile device for execution by the mobile device
US8666367B2 (en) 2009-05-01 2014-03-04 Apple Inc. Remotely locating and commanding a mobile device
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US8281381B2 (en) 2009-08-03 2012-10-02 Novell, Inc. Techniques for environment single sign on
US8566391B2 (en) 2009-08-13 2013-10-22 Hitachi, Ltd. System and method for evaluating application suitability in execution environment
US8972878B2 (en) 2009-09-21 2015-03-03 Avaya Inc. Screen icon manipulation by context and frequency of Use
JP4527802B2 (ja) 2009-10-19 2010-08-18 日本電気株式会社 コンピュータシステム
US8850423B2 (en) 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
US8544076B2 (en) 2009-11-11 2013-09-24 Blackberry Limited Using a trusted token and push for validating the request for single sign on
US8595284B2 (en) 2009-12-14 2013-11-26 Samsung Electronics Co., Ltd Web application script migration
US9244533B2 (en) 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
US9355282B2 (en) 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US20110252459A1 (en) 2010-04-12 2011-10-13 Walsh Robert E Multiple Server Access Management
US9584624B2 (en) 2010-04-15 2017-02-28 Blackberry Limited Method and system for transmitting an application to a device
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US9282097B2 (en) 2010-05-07 2016-03-08 Citrix Systems, Inc. Systems and methods for providing single sign on access to enterprise SAAS and cloud hosted applications
WO2011146711A1 (en) 2010-05-21 2011-11-24 Hsbc Technologies Inc. Account opening computer system architecture and process for implementing same
US8474017B2 (en) 2010-07-23 2013-06-25 Verizon Patent And Licensing Inc. Identity management and single sign-on in a heterogeneous composite service scenario
JP5732767B2 (ja) 2010-07-26 2015-06-10 富士通株式会社 処理装置,処理方法,処理用プログラム,同プログラムを記録したコンピュータ読取可能な記録媒体
WO2012015920A2 (en) * 2010-07-28 2012-02-02 Admiemobile Llc Systems and methods for establishing and maintaining virtual computing clouds
US20120066691A1 (en) 2010-09-14 2012-03-15 Paul Keith Branton Private application clipboard
US8958780B2 (en) 2010-10-07 2015-02-17 Blackberry Limited Provisioning based on application and device capability
JP5620781B2 (ja) 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US20120110317A1 (en) 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content download manager
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
KR20120057734A (ko) 2010-11-22 2012-06-07 삼성전자주식회사 서버, 서버에 접속하는 디바이스 및 그 제어방법
US9219744B2 (en) 2010-12-08 2015-12-22 At&T Intellectual Property I, L.P. Mobile botnet mitigation
US8918834B1 (en) 2010-12-17 2014-12-23 Amazon Technologies, Inc. Creating custom policies in a remote-computing environment
AU2011202838B2 (en) 2010-12-21 2014-04-10 Lg Electronics Inc. Mobile terminal and method of controlling a mode screen display therein
JP5017462B2 (ja) 2010-12-27 2012-09-05 株式会社東芝 情報処理装置及びリムーバブルメディア管理方法
US20120174237A1 (en) 2010-12-31 2012-07-05 Openpeak Inc. Location aware self-locking system and method for a mobile device
US20120179909A1 (en) 2011-01-06 2012-07-12 Pitney Bowes Inc. Systems and methods for providing individual electronic document secure storage, retrieval and use
US20120209949A1 (en) 2011-02-14 2012-08-16 Alexandros Deliyannis Methods and apparatus to monitor media content
US9544396B2 (en) 2011-02-23 2017-01-10 Lookout, Inc. Remote application installation and control for a mobile device
US20120238206A1 (en) 2011-03-14 2012-09-20 Research In Motion Limited Communications device providing near field communication (nfc) secure element disabling features related methods
US8812868B2 (en) 2011-03-21 2014-08-19 Mocana Corporation Secure execution of unsecured apps on a device
US8955142B2 (en) 2011-03-21 2015-02-10 Mocana Corporation Secure execution of unsecured apps on a device
WO2012128682A1 (en) 2011-03-22 2012-09-27 Telefonaktiebolaget L M Ericsson (Publ) Methods for exchanging user profile, profile mediator device, agents, computer programs and computer program products
US20120246191A1 (en) * 2011-03-24 2012-09-27 True Xiong World-Wide Video Context Sharing
US20120250106A1 (en) 2011-03-30 2012-10-04 Infosys Technologies Ltd. Method, device and system for updating an application on a mobile device
US8458802B2 (en) 2011-04-02 2013-06-04 Intel Corporation Method and device for managing digital usage rights of documents
US8843734B2 (en) 2011-04-04 2014-09-23 Nextlabs, Inc. Protecting information using policies and encryption
KR20120118819A (ko) 2011-04-19 2012-10-29 엘지전자 주식회사 이동 단말기 및 그것을 이용한 애플리케이션 관리 시스템
US9094400B2 (en) 2011-04-27 2015-07-28 International Business Machines Corporation Authentication in virtual private networks
US8839395B2 (en) 2011-05-13 2014-09-16 Cch Incorporated Single sign-on between applications
KR101978180B1 (ko) 2011-06-09 2019-05-14 삼성전자주식회사 클라이언트 장치에서 어플리케이션의 사용자 경험을 제어하는 방법 및 시스템
US9071518B2 (en) 2011-07-01 2015-06-30 Fiberlink Communications Corporation Rules based actions for mobile device management
KR101844289B1 (ko) 2011-07-06 2018-04-02 삼성전자 주식회사 이동통신 시스템에서 위치 정보에 기반한 휴대 단말기의 보안 관리 방법 및 장치
US20130014267A1 (en) 2011-07-07 2013-01-10 Farrugia Augustin J Computer protocol generation and obfuscation
CN103782571A (zh) 2011-07-07 2014-05-07 思科技术公司 用于提供基于消息和事件的视频服务控制平面的系统和方法
US9369307B2 (en) 2011-07-12 2016-06-14 Bank Of America Corporation Optimized service integration
US8719919B2 (en) 2011-07-12 2014-05-06 Bank Of America Corporation Service mediation framework
US9015320B2 (en) 2011-07-12 2015-04-21 Bank Of America Corporation Dynamic provisioning of service requests
US9942385B2 (en) 2011-08-04 2018-04-10 International Business Machines Corporation System and method for preventing and/or limiting use of a mobile device
US8949929B2 (en) 2011-08-10 2015-02-03 Qualcomm Incorporated Method and apparatus for providing a secure virtual environment on a mobile device
WO2013036946A1 (en) 2011-09-09 2013-03-14 Stoneware, Inc. Method and apparatus for key sharing over remote desktop protocol
US9652738B2 (en) 2011-09-14 2017-05-16 Avaya Inc. System and method for a communication session identifier
US8825863B2 (en) 2011-09-20 2014-09-02 International Business Machines Corporation Virtual machine placement within a server farm
US8554179B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
US8806639B2 (en) 2011-09-30 2014-08-12 Avaya Inc. Contextual virtual machines for application quarantine and assessment method and system
WO2013044359A1 (en) 2011-09-30 2013-04-04 Tutela Technologies Ltd. A system for regulating wireless device operations in wireless networks
US8682973B2 (en) * 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9544158B2 (en) * 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
US9131147B2 (en) * 2011-10-07 2015-09-08 Fuji Xerox Co., Ltd. System and method for detecting and acting on multiple people crowding a small display for information sharing
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9529996B2 (en) 2011-10-11 2016-12-27 Citrix Systems, Inc. Controlling mobile device access to enterprise resources
US8971842B2 (en) 2011-10-12 2015-03-03 Verizon Patent And Licensing Inc. Enterprise mobile application store
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
KR101834995B1 (ko) * 2011-10-21 2018-03-07 삼성전자주식회사 디바이스 간 컨텐츠 공유 방법 및 장치
US9106650B2 (en) 2011-11-09 2015-08-11 Microsoft Technology Licensing, Llc User-driven access control
US8990558B2 (en) 2011-11-09 2015-03-24 Safer Point Ltd Securing information in a cloud computing system
WO2013070126A1 (en) 2011-11-10 2013-05-16 Telefonaktiebolaget L M Ericsson (Publ) Policy controlled preload and consumption of software application
US20130144934A1 (en) * 2011-12-01 2013-06-06 Microsoft Corporation Web Content Targeting Based on Client Application Availability
US8935375B2 (en) 2011-12-12 2015-01-13 Microsoft Corporation Increasing availability of stateful applications
US8863297B2 (en) 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system
US8793344B2 (en) 2012-02-17 2014-07-29 Oracle International Corporation System and method for generating a response plan for a hypothetical event
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US9323563B2 (en) 2012-02-28 2016-04-26 Red Hat Israel, Ltd. Determining virtual machine migration in view of a migration rule
US9529993B2 (en) 2012-03-02 2016-12-27 International Business Machines Corporation Policy-driven approach to managing privileged/shared identity in an enterprise
AU2012372176A1 (en) * 2012-03-05 2014-01-09 Mtek C&K Co., Ltd. Method and apparatus for controlling automatic interworking of multiple devices
US20130237152A1 (en) 2012-03-09 2013-09-12 Kulveer Taggar Methods and systems for hardware and software related to a near field communications task launcher
US20130260730A1 (en) 2012-03-28 2013-10-03 Enterproid Hk Ltd Custom application container for mobile operating systems and/or devices
US8849904B2 (en) 2012-05-17 2014-09-30 Cloudflare, Inc. Incorporating web applications into web pages at the network level
US20130347130A1 (en) 2012-06-08 2013-12-26 Bluebox Methods and apparatus for dynamically providing modified versions of electronic device applications
US20140007215A1 (en) 2012-06-15 2014-01-02 Lockheed Martin Corporation Mobile applications platform
US9792585B2 (en) 2012-06-21 2017-10-17 Google Inc. Mobile application management
US9032506B2 (en) 2012-08-09 2015-05-12 Cisco Technology, Inc. Multiple application containerization in a single container
US20140047413A1 (en) 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9087191B2 (en) 2012-08-24 2015-07-21 Vmware, Inc. Method and system for facilitating isolated workspace for applications
US9507949B2 (en) 2012-09-28 2016-11-29 Intel Corporation Device and methods for management and access of distributed data sources
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20140109072A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US9355253B2 (en) 2012-10-18 2016-05-31 Broadcom Corporation Set top box architecture with application based security definitions
US20140149599A1 (en) * 2012-11-29 2014-05-29 Ricoh Co., Ltd. Unified Application Programming Interface for Communicating with Devices and Their Clouds
US9326145B2 (en) 2012-12-16 2016-04-26 Aruba Networks, Inc. System and method for application usage controls through policy enforcement
US8910262B2 (en) 2012-12-21 2014-12-09 Cellco Partnership Supporting multiple messaging services on mobile devices in a single user experience
US9535674B2 (en) 2012-12-21 2017-01-03 Bmc Software, Inc. Application wrapping system and method
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US8849978B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing an enterprise application store
US8849979B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities
TWI499932B (zh) 2013-07-17 2015-09-11 Ind Tech Res Inst 應用程式管理方法、應用程式管理系統與使用者裝置
US9356895B2 (en) 2014-05-07 2016-05-31 Mitake Information Corporation Message transmission system and method for a structure of a plurality of organizations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1708751A (zh) * 2002-08-23 2005-12-14 国际商业机器公司 处理应用数据
CN1661610A (zh) * 2003-12-29 2005-08-31 国际商业机器公司 用于在共享电子邮件储存库中帮助协作的系统和方法
CN101588353A (zh) * 2008-05-21 2009-11-25 闪联信息技术工程中心有限公司 文件共享方法、系统及设备
CN102541635A (zh) * 2010-12-21 2012-07-04 微软公司 用于在保持在情境中的同时共享的可扩展系统动作

Also Published As

Publication number Publication date
US20140108506A1 (en) 2014-04-17
US9774658B2 (en) 2017-09-26
EP2907054A4 (en) 2016-07-20
CN104823189A (zh) 2015-08-05
WO2014058706A2 (en) 2014-04-17
EP2907054A2 (en) 2015-08-19
WO2014058706A3 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
CN104823189B (zh) 用于连接设备的编配框架
US20230013615A1 (en) Virtual assistant in a communication session
CN111133461B (zh) 用于区块链使能的众包的方法和系统
CN105577780B (zh) 一种基于微服务的高校教学云平台
US8832576B2 (en) Methods, apparatus and systems for authenticating users and user devices to receive secure information via multiple authorized channels
JP5893641B2 (ja) ソフトウェアアプリケーションのエンドユーザにアシスタンスを提供する方法
US11575772B2 (en) Systems and methods for initiating processing actions utilizing automatically generated data of a group-based communication system
CN108886672A (zh) 消息扩展应用程序商店
KR20180125422A (ko) 하나 이상의 확장 애플리케이션과 상호작용하는 메시징 애플리케이션
CN108415710B (zh) 在智能对话开发平台上发布、调用api的方法和系统
CN107431630A (zh) 高度可扩展、容错的远程访问架构和与之连接的方法
US20130318241A1 (en) Live directory of cloud tenants to enable inter-tenant interaction via cloud
CN104012151A (zh) 自动静默移动设备
US8821296B1 (en) Network gaming system and casino management system link
US11477315B2 (en) Contact information exchanging and content system and method for networking and marketing
US20140280490A1 (en) Systems and methods for visual communication
KR20180112008A (ko) 자율 서비스들 구성에 대한 방법 및 장치
US20210374684A1 (en) Dynamic Recommendation Engine
JP2023048138A (ja) 仮想ミーティングセッションにおいてコンテントを配布する為の、コンピュータに実装された方法、コンピュータシステム、及びコンピュータ・プログラム
KR101750493B1 (ko) 웹 기반 실시간 서비스 시스템 및 이를 지원하는 서버 장치
Balasubramanyam Cloud-based development using classic life cycle model
TW201626763A (zh) 創建、擴展社交網路的方法以及應用該方法的儲存媒介
KR20160148207A (ko) 컨텐츠 확장을 위한 서비스 제공 방법

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant