一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于用户可用时间个性化工作空间体验的方法与流程

2022-02-22 07:21:08 来源:中国专利 TAG:

基于用户可用时间个性化工作空间体验的方法
1.相关申请的交叉引用
2.本技术要求于2019年8月21日提交的名称为“method to personalize workspace experience based on the users available time”的美国专利申请no.16/547,052的优先权和利益,后者要求于2019年5月20日提交的名称为“method to personalize workspace experience based on the users available time”的美国临时专利申请no.62/850,321的优先权和利益,这些申请的全部内容通过引用合并于此。
技术领域
3.本技术总地涉及计算系统和基础设施,包括但不限于用于计算工作空间的系统、产品和方法。


背景技术:

4.所托管的资源(简称托管资源)(诸如远程桌面、虚拟机、web应用和软件即服务应用)可以由用户经由工作空间应用进行访问,并且向用户提供在管理环境内执行从电子邮件到数据处理到视频会议到编程的许多工作功能的能力。


技术实现要素:

5.提供本概述是为了以简化形式引入概念的选择,概念将在下面的具体实施方式中进一步描述。本概述不旨在识别关键特征或基本特征,也不旨在限制本文所包括的权利要求的范围。
6.本公开涉及用于托管资源配置的系统、产品和方法,具有基于用户的可用时间体验的用户的工作空间的智能个性化。系统分析用户的日程安排、位置和工作习惯,以及对任务进行优先级排序并将其映射到可用时隙,使得系统能够用更少的时间更高效地识别和选择下一任务。
7.在一个方面,本技术涉及一种方法,包括由系统标识用户可以执行与托管应用相关联的任务的时间段。方法还包括由系统标识与托管应用相关联的至少一个任务,所述至少一个任务包括在所标识的时间段的持续时间内的持续时间。所述方法还包括由系统基于所标识的至少一个任务向用户的客户机装置提供托管应用的内容,该内容使得用户能够在所标识的时间段内完成至少一个任务。
8.在一些实施方式中,从多个任务中标识至少一个任务,多个任务中的每一个与一个优先级相关联;并且方法包括响应于至少一个任务具有多个任务中的最高优先级,从多个任务中选择至少一个任务。在一些实施方式中,方法还包括从至少一个任务的执行的历史来估计至少一个任务的持续时间。在一些实施方式中,方法包括基于与至少一个任务相关联的内容的量和所标识的内容的消耗速率来估计至少一个任务的持续时间。在进一步的实施方式中,内容的量包括与至少一个任务相关联的文本的量或者音频或视频媒体的持续时间。
9.在一些实施方式中,方法包括基于将要作为托管应用内的至少一个任务的一部分执行的一个或多个动作,来估计至少一个任务的持续时间。在一些实施方式中,方法包括通过从历史日志中识别由用户与托管应用交互所花费的平均时间,来标识用户能够执行任务的时间段。在一些实施方式中,方法包括通过识别用户的当前位置以及用户的当前位置和与所述用户相关联的未来日程安排事件的位置之间的旅行时间,来标识用户能够执行任务的时间段。在一些实施方式中,方法包括通过识别被标识为活动的用户的任务的数量,来标识用户能够执行任务的时间段。
10.在另一个方面,本公开涉及一种系统,其包括计算装置,计算装置包括处理器和网络接口。在一些实施方式中,处理器被配置为标识用户能够执行与托管应用相关联的任务的时间段,标识与托管应用相关联的至少一个任务,所述至少一个任务包括在所标识的时间段的持续时间内的持续时间,以及基于所标识的至少一个任务,经由网络接口向用户的客户机装置提供托管应用的内容,所述内容使得用户能够在所标识的时间段内完成所述至少一个任务。
11.在一些实施方式中,从多个任务中标识至少一个任务,多个任务中的每一个与一个优先级相关联;并且处理器还被配置为响应于至少一个任务具有多个任务中的最高优先级,从多个任务中选择至少一个任务。在一些实施方式中,处理器还被配置为从至少一个任务的执行的历史来估计至少一个任务的持续时间。在一些实施方式中,处理器还被配置为基于与至少一个任务相关联的内容的量和所标识的内容的消耗速率来估计至少一个任务的持续时间。在进一步的实施方式中,内容的量包括与至少一个任务相关联的文本的量或者音频或视频媒体的持续时间。
12.在一些实施方式中,处理器还被配置为基于将要作为托管应用内的所述至少一个任务的一部分执行的一个或多个动作,来估计至少一个任务的持续时间。在一些实施方式中,处理器还被配置为从历史日志中识别由用户与托管应用交互所花费的平均时间。在一些实施方式中,处理器还被配置为识别用户的当前位置以及用户的当前位置和与所述用户相关联的未来日程安排事件的位置之间的旅行时间。在一些实施方式中,处理器还被配置为识别被标识为活动的用户的任务的数量。
13.在另一个方面,本公开涉及一种非暂时性计算机可读介质,包括编码指令,当由计算装置的处理器执行该编码指令时使得计算装置标识用户能够执行与托管应用相关联的任务的时间段,标识与托管应用相关联的至少一个任务,至少一个任务包括在所标识的时间段的持续时间内的持续时间,以及基于所标识的至少一个任务向用户的客户机装置提供托管应用的内容,该内容使得所述用户能够在所标识的时间段内完成至少一个任务。
14.在一些实施方式中,计算机可读介质还包括指令,当由处理器执行该指令时使得计算装置响应于至少一个任务具有多个任务中的最高优先级从多个任务中选择至少一个任务,多个任务中的每一个与一个优先级相关联。
附图说明
15.本文公开的实施例的目的、方面、特征和优点将从以下详细描述、所附权利要求和附图中变得更加明显,其中相似的附图标记标识相似或相同的元件。在说明书中与附图相关联地引入的附图标记可以在一个或多个后续附图中重复,而无需在说明书中进行额外的
描述,以便为其他特征提供上下文,并且并非每个元件都可以在每个附图中被标记。附图不一定按比例绘制,而是重点放在示出实施例、原理和概念上。附图并非旨在限制本文所包括的权利要求的范围。
16.图1a是根据示意性实施例的网络计算系统的框图;
17.图1b是根据示意性实施例的用于经由设备将计算环境从服务器输送到客户机的网络计算系统的框图;
18.图1c是根据示意性实施例的计算装置的框图;
19.图2是根据示意性实施例的用于处理客户机和服务器之间的通信的设备的框图;
20.图3是根据示意性实施例的虚拟化环境的框图;
21.图4是可以实现本公开各个方面的云计算环境的示意框图;
22.图5a是用于基于用户的可用性在工作空间内输送内容的方法的实施方式的流程图;
23.图5b是用于基于用户的可用性在工作空间内输送内容的系统的实施方式的框图;
24.图5c是用于基于用户可用性在工作空间内输送内容的方法的另一实施方式的流程图;以及
25.图5d是用于基于用户可用性在工作空间内输送内容的方法的另一实施方式的流程图。
具体实施方式
26.为了阅读下文各种实施例的描述,下述对于说明书的部分以及它们各自内容的描述是有用的:
27.a部分描述可用于实施本文描述的实施例的网络环境和计算环境;
28.b部分描述用于将计算环境输送到远程用户的系统和方法的实施例;
29.c部分描述用于对应用输送控制器进行虚拟化的系统和方法的实施例;以及
30.d部分描述基于用户可用性在工作空间内输送内容的系统和方法的实施例。
31.a.网络和计算环境
32.参考图1a,描述了示意性网络环境100。网络环境100可以包括经由一个或多个网络104(1)-104n(总地称为网络104)与一个或多个服务器106(1)-106(n)(同样总地称为远程机器106或服务器106)通信的一个或多个客户机102(1)-102(n)(同样总地称为本地机器102或客户机102)。在一些实施例中,客户机102可以经由一个或多个设备200(1)-200n(总地称为设备200或网关200)与服务器106通信。
33.虽然图1a所示的实施例示出了客户机102和服务器106之间的一个或多个网络104,但在其他实施例中,客户机102和服务器106可以在同一网络104上。各种网络104可以是相同类型的网络或不同类型的网络。例如,在一些实施例中,网络104(1)可以是诸如局域网(lan)或公司内联网的专用网络,而网络104(2)和/或网络104(n)可以是诸如广域网(wan)或互联网的公共网络。在其他实施例中,网络104(1)和网络104(n)都可以是专用网络。网络104可以采用一种或多种类型的物理网络和/或网络拓扑,诸如有线和/或无线网络,并且可以采用一个或多个通信传输协议,诸如传输控制协议(tcp)、互联网协议(ip)、用户数据报协议(udp)或其他类似协议。
34.如图1a所示,一个或多个设备200可以位于网络环境100的各个点或各个通信路径中。例如,设备200可以部署在两个网络104(1)和104(2)之间,并且设备200可以与彼此通信以结合工作以例如加速客户机102和服务器106之间的网络流量。在其他实施例中,设备200可以位于网络104上。例如,设备200可以被实现为客户机102和/或服务器106之一的一部分。在一个实施例中,设备200可以被实现为网络装置,诸如由佛罗里达州劳德代尔堡的思杰系统有限公司销售的citrix网络化(原名)产品。
35.如图1a所示,一个或多个服务器106可以作为服务器群38操作。服务器群38的服务器106可以在逻辑上分组,并且可以从客户机102和/或其他服务器106在地理上共同定位(例如,在本地)或在地理上分散(例如,基于云)。在一个实施例中,服务器群38代表一个或多个客户机102(例如,作为应用服务器)执行一个或多个应用,而其他用途也是可能的,诸如文件服务器、网关服务器、代理服务器或其他类似的服务器用途。客户机102可以寻求访问服务器106上的托管应用。
36.如图1a所示,在一些实施例中,设备200可以包括一个或多个附加设备(诸如wan优化设备205(1)-205(n),通常被称为wan优化设备205),由其代替,或与其进行通信。例如,wan优化设备205可以加速、高速缓存、压缩或以其他方式优化或改进网络流量(诸如去往和/或来自wan连接的流量)的性能、操作、流量控制或服务质量,诸如优化广域文件服务(wafs)、加速服务器消息块(smb)或公共互联网文件系统(cifs)。在一些实施例中,设备205可以是性能增强代理或wan优化控制器。在一个实施例中,设备205可以被实现为由佛罗里达州劳德代尔堡的思杰系统有限公司销售的citrix sd-wan产品。
37.参考图1b,示出了用于在客户机102上输送和/或操作计算网络环境的示例网络环境100’。如图1b所示,服务器106可以包括用于向一个或多个客户机102输送计算环境、应用和/或数据文件的应用输送系统190。客户机102可以包括客户机代理120和计算环境15。计算环境15可以执行或操作访问、处理或使用数据文件17的应用16。计算环境15、应用16和/或数据文件17可以经由设备200和/或服务器106输送。
38.设备200可以加速计算环境15的全部或一部分到客户机102的输送,例如通过应用输送系统190。例如,设备200可以通过加速客户机102和服务器106之间的传输层流量来加速流应用和可由应用处理的数据文件从数据中心到远程用户位置的输送。这种加速可以由一种或多种技术提供,诸如:1)传输层连接池,2)传输层连接多路复用,3)传输控制协议缓冲,4)压缩,5)高速缓存或其他技术。设备200还可提供服务器106的负载平衡以处理来自客户机102的请求,充当代理或访问服务器以提供对一个或多个服务器106的访问,提供安全性和/或充当客户机102和服务器106之间的防火墙,提供域名服务(dns)解析,提供一个或多个虚拟服务器或虚拟互联网协议服务器,和/或提供从客户机102到服务器106的安全虚拟专用网络(vpn)连接,诸如安全套接字层(ssl)vpn连接和/或提供加密和解密操作。
39.应用输送管理系统190可以基于由策略引擎195应用的认证和授权策略,将计算环境15输送给远程用户或其他用户(例如,客户机102)。远程用户可以获得计算环境并访问服务器存储的应用和来自任何网络连接的装置(例如,客户机102)的数据文件。例如,设备200可以从服务器106请求应用和数据文件。响应于该请求,应用输送系统190和/或服务器106可以将应用和数据文件输送到客户机102,例如经由应用流来在客户机102上的计算环境15中操作,或经由远程显示协议或以其他方式经由基于远程或基于服务器的计算。在一个实
施例中,应用输送系统190可以被实现为思杰系统有限公司的citrix workspace suitetm的任何部分,诸如citrix虚拟应用和桌面(原名和)。
40.策略引擎195可以控制和管理对应用的访问、执行和输送。例如,策略引擎195可以确定用户或客户机102可以访问的一个或多个应用和/或应如何将应用输送给用户或客户机102,诸如基于服务器的计算、流式传输或本地输送应用到客户机120进行本地执行。
41.例如,在操作中,客户机102可以请求应用(例如,应用16')的执行并且服务器106的应用输送系统190例如基于从客户机102接收的凭证以及由与凭证相关联的策略引擎195应用的用户策略来确定如何执行应用16'。例如,应用输送系统190可以使客户机102能够接收通过在服务器106上执行应用而生成的应用输出数据,可以使客户机102能够在从服务器106接收到应用之后本地执行该应用,或者可以经由网络104流式传输该应用到客户机102。例如,在一些实施例中,应用可以是代表客户机102在服务器106上执行的基于服务器或基于远程的应用。服务器106可以使用瘦-客户端或远程显示协议,诸如佛罗里达州劳德代尔堡的思杰系统有限公司的独立计算架构(ica)协议,向客户机102显示输出。应用可以是与实时数据通信相关的任何应用(诸如用于流式传输图形、流式传输视频和/或音频或其他数据的应用)、远程桌面或工作空间的输送或托管服务或应用(例如架构即服务(iaas)、桌面即服务(daas)、工作空间即服务(waas)、软件即服务(saas)或平台即服务(paas))。
42.服务器106中的一个或多个可以包括性能监测服务或代理197。在一些实施例中,可以采用专用的一个或多个服务器106来执行性能监测。性能监测可以使用数据收集、聚合、分析、管理和报告来执行,例如通过软件、硬件或其组合。性能监测可以包括一个或多个代理,用于在客户机102(例如,客户机代理120)、服务器106(例如,代理197)或设备200和/或205(未示出的代理)上执行监测、测量和数据收集活动。通常,监测代理(例如,120和/或197)对任何应用和/或装置的用户透明地(例如,在后台)执行。在一些实施例中,监测代理197包括被佛罗里达州劳德代尔堡的思杰系统有限公司称为citrix分析或citrix应用输送管理的任何产品实施例。
43.监测代理120和197可以基于给定事件的发生或在网络环境100的操作期间实时地以预定频率监测、测量、收集和/或分析数据。监测代理可以监测客户机102、网络104、设备200和/或205和/或服务器106的硬件、软件和/或通信资源的资源消耗和/或性能。例如,诸如传输层连接的网络连接、网络延迟、带宽利用率、最终用户响应时间、应用使用情况和性能、与应用的会话连接、高速缓存使用情况、内存使用情况、处理器使用情况、存储使用情况、数据库事务、客户机和/或服务器利用率、活动用户、用户活动的持续时间、应用崩溃、错误或挂起、登录到应用、服务器或应用输送系统所需的时间,和/或其他性能条件和度量可以被监测。
44.监测代理120和197可以为应用输送系统190提供应用性能管理。例如,基于一个或多个被监测的性能条件或度量,可以动态地(例如周期性地或实时地)调节应用输送系统190,以基于网络环境性能和条件优化服务器106到客户机102的应用输送。
45.在所描述的实施例中,客户机102、服务器106和设备200和205可以部署为和/或在任何类型和形式的计算装置上执行,诸如任何台式计算机、膝上型计算机或能够通过至少一个网络进行通信并执行本文描述的操作的移动装置。例如,客户机102、服务器106和/或设备200和205可以各自对应于一台计算机、多台计算机或分布式计算机网络,诸如图1c所
示的计算机101。
46.如图1c所示,计算机101可以包括一个或多个处理器103、易失性存储器122(例如ram)、非易失性存储器128(例如一个或多个硬盘驱动器(hdd)或其他磁性或光学存储介质、一个或多个固态驱动器(ssd)(诸如闪存驱动器或其他固态存储介质)、一个或多个混合磁性和固态驱动器、和/或一个或多个虚拟存储卷(诸如云存储)、或这种物理存储卷和虚拟存储卷的组合或其阵列)、用户接口(ui)123、一个或多个通信接口118和通信总线150。用户接口123可以包括图形用户接口(gui)124(例如,触摸屏、显示器等)和一个或多个输入/输出(i/o)装置126(例如,鼠标、键盘等)。非易失性存储器128存储操作系统115、一个或多个应用116和数据117,使得例如操作系统115和/或应用116的计算机指令由处理器103在易失性存储器122之外执行。可以使用gui 124的输入装置输入数据或从i/o装置126接收数据。计算机101的各种元件可以经由通信总线150进行通信。如图1c中所示的计算机101仅作为示例示出,因为客户机102、服务器106和/或设备200和205可以通过任何计算或处理环境并且使用可以具有能够如本文所述操作的合适的硬件和/或软件的任何类型的机器或机器组来实现。
47.处理器103可由一个或多个可编程处理器实现,该处理器执行一个或多个计算机程序以执行系统的功能。如本文所使用的,术语“处理器”描述执行功能、操作或操作序列的电子电路。功能、操作或操作序列可以被硬编码到电子电路中或通过保存在存储器装置中的指令软编码。“处理器”可以使用数字值或使用模拟信号来执行功能、操作或操作序列。在一些实施例中,“处理器”可以体现为一个或多个专用集成电路(asic)、微处理器、数字信号处理器、微控制器、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、多核处理器或具有相关存储器的通用计算机。“处理器”可以是模拟、数字或混合信号。在一些实施例中,“处理器”可以是一个或多个物理处理器或一个或多个“虚拟”(例如,远程定位或“云”)处理器。
48.通信接口118可以包括一个或多个接口以使得计算机101能够通过各种有线和/或无线或蜂窝连接访问诸如lan、wan或互联网的计算机网络。
49.在所描述的实施例中,第一计算装置101可以代表客户机计算装置(例如,客户机102)的用户执行应用,可以执行虚拟机,其提供应用在其内代表用户或客户机计算装置(例如,客户机102)执行的执行会话,诸如托管桌面会话,可以执行终端服务会话以提供托管桌面环境,或者可以提供对计算环境的访问,计算环境包括以下中的一个或多个:一个或多个应用、一个或多个桌面应用、以及一个或多个应用可以在其中执行的一个或多个桌面会话。
50.b.设备架构
51.图2示出了设备200的示例实施例。如本文所述,设备200可以被实现为服务器、网关、路由器、交换机、桥接器或其他类型的计算或网络装置。如图2所示,设备200的实施例可以包括硬件层206和软件层205,软件层205被划分为用户空间202和内核空间204。硬件层206提供硬件元素,内核空间204和用户空间202内的程序和服务基于这些硬件元素而执行,并允许内核空间204和用户空间202内的程序和服务相对于设备200在内部和外部传送数据。如图2所示,硬件层206可以包括用于执行软件程序和服务的一个或多个处理单元262、用于存储软件和数据的存储器264、用于通过网络传输和接收数据的网络端口266、以及用于加密和解密数据(例如与通过网络传输和接收的数据的安全套接字层(ssl)或传输层安全性(tls)处理有关)的加密处理器260。
52.设备200的操作系统分配、管理或以其他方式将可用系统存储器分隔成内核空间204和用户空间202。内核空间204被保留用于运行内核230,包括任何装置驱动器、内核扩展或其他内核相关软件。如本领域技术人员所知,内核230是操作系统的核心,并提供对应用104的资源和硬件相关元素的访问、控制和管理。内核空间204还可以包括与高速缓存管理器232协同工作的多个网络服务或进程。
53.设备200可以包括一个或多个网络堆栈267,诸如基于tcp/ip的堆栈,用于与客户机102、服务器106、网络104和/或其他设备200或205进行通信。例如,设备200可以建立和/或终止客户机102和服务器106之间的一个或多个传输层连接。每个网络堆栈267可以包括用于将一个或多个网络分组进行排队以供设备200传输的缓冲器243。
54.内核空间204可以包括高速缓存管理器232、分组引擎240、加密引擎234、策略引擎236和压缩引擎238。换言之,进程232、240、234、236和238中的一个或多个在设备200的操作系统的内核地址空间中运行,这可以减少进出存储器的数据事务和/或内核模式和用户模式之间的上下文切换的数量,例如因为在内核模式中获得的数据可能不需要被传递或复制到用户进程、线程或用户级数据结构。
55.高速缓存管理器232可以复制存储在别处的原始数据或先前计算、生成或传输的数据以减少数据的访问时间。在一些实施例中,高速缓存存储器可以是设备200的存储器264中的数据对象,或者可以是具有比存储器264更快的访问时间的物理存储器。
56.策略引擎236可以包括统计引擎或其他配置机制,以允许用户识别、指定、定义或配置高速缓存策略以及对由设备200高速缓存的对象、数据或内容的访问、控制和管理,并且定义或配置由设备200执行的安全性、网络流量、网络访问、压缩或其他功能。
57.加密引擎234可以处理任何安全相关协议,诸如ssl或tls。例如,加密引擎234可以加密和解密经由设备200传送的网络分组或其任何部分,可以例如在客户机102、服务器106和/或其他设备200或205之间设置或建立ssl、tls或其他安全连接。在一些实施例中,加密引擎234可以使用隧道协议来提供客户机102和服务器106之间的vpn。在一些实施例中,加密引擎234与加密处理器260通信。压缩引擎238在客户机102和服务器106之间和/或在一个或多个设备200之间双向地压缩网络分组。
58.分组引擎240可以管理由设备200经由网络堆栈267接收和传输的分组的内核级处理,以经由网络端口266发送和接收网络分组。分组引擎240可以与加密引擎234、高速缓存管理器232、策略引擎236和压缩引擎238结合操作,例如以执行加密/解密、流量管理(诸如请求级内容切换和请求级高速缓存重定向)、以及数据的压缩和解压缩。
59.用户空间202是由用户模式应用或以用户模式运行的程序使用的操作系统的存储器区域或部分。用户模式应用可能不直接访问内核空间204,而是使用服务调用来访问内核服务。用户空间202可以包括图形用户接口(gui)210、命令行接口(cli)212、壳服务214、健康监测器216和守护服务218。gui 210和cli 212使系统管理员或其他用户能够与设备200交互并控制设备200的操作,诸如经由设备200的操作系统。壳服务214包括程序、服务、任务、进程或可执行指令以支持用户经由gui 210和/或cli 212与设备200的交互。
60.健康监测器216监测、检查、报告并确保网络系统正常运行并且用户正在通过网络接收所请求的内容,例如通过监测设备200的活动。在一些实施例中,健康监测器216拦截并检查经由设备200传递的任何网络流量。例如,健康监测器216可以与加密引擎234、高速缓
存管理器232、策略引擎236、压缩引擎238、分组引擎240、守护服务218和壳服务214中的一个或多个接口,以确定设备200的任何部分的状态、状况、操作条件或健康。此外,健康监测器216可以确定程序、进程、服务或任务是否是活动的并且当前正在运行,检查由任何程序、进程、服务或任务提供的状态、错误或历史日志来确定设备200的任何部分的任何条件、状态或错误。此外,健康监测器216可以测量和监测在设备200上执行的任何应用、程序、进程、服务、任务或线程的性能。
61.守护服务218是连续运行或在后台运行并处理由设备200接收的周期性服务请求的程序。在一些实施例中,守护服务可以视情况将请求转发到其他程序或进程,诸如另一守护服务218。
62.如本文所述,设备200可以通过打开与每个服务器106的一个或多个传输层连接并维持这些连接以允许客户机经由互联网(例如,“连接池”)的重复数据访问,来减轻服务器106的由于重复打开和关闭到客户机102的传输层连接导致的大量处理负载。为了执行连接池,设备200可以通过在传输层协议级处修改序列号和确认号(例如,“连接多路复用”)来转换或多路复用通信。设备200还可以为客户机102和服务器106之间的通信提供交换或负载平衡。
63.如本文所述,每个客户机102可以包括客户机代理120,用于经由网络104与设备200和/或服务器106建立和交换通信。客户机102可能已经安装和/或执行与网络104通信的一个或多个应用。客户机代理120可以拦截来自由一个或多个应用使用的网络堆栈的网络通信。例如,客户机代理120可以在网络堆栈中的任一点拦截网络通信并将网络通信重定向到客户机代理120期望、管理或控制的目的地,例如以拦截传输层连接并将传输层连接重定向到由客户机代理120控制或管理的ip地址和端口。因此,客户机代理120可以透明地拦截传输层以下的任何协议层,诸如网络层,以及传输层以上的任何协议层,诸如会话、表示或应用层。客户机代理120可以与传输层接口以保护、优化、加速、路由或负载平衡经由传输层承载的任何协议提供的任何通信。
64.在一些实施例中,客户机代理120被实现为由佛罗里达州劳德代尔堡的思杰系统有限公司开发的独立计算架构(ica)客户机。客户机代理120可以执行加速、流式传输、监测和/或其他操作。例如,客户机代理120可以加速应用从服务器106到客户机102的流式传输。客户机代理120还可以执行端点检测/扫描并为设备200和/或服务器106收集关于客户机102的端点信息。设备200和/或服务器106可以使用所收集的信息来确定和提供客户机到网络104的连接的访问、认证和授权控制。例如,客户机代理120可以识别和确定一个或多个客户机侧属性,诸如:操作系统和/或操作系统的版本、操作系统的服务包、正在运行的服务、正在运行的进程、文件、客户机的各种应用的存在或版本,例如防病毒、防火墙、安全,和/或其他软件。
65.c.用于提供虚拟化应用输送控制器的系统和方法
66.现在参考图3,示出了虚拟化环境300的框图。如图所示,虚拟化环境300中的计算装置302包括虚拟化层303、管理程序层304和硬件层307。管理程序层304包括一个或多个管理程序(或虚拟化管理器)301,其分配和管理由在虚拟化层303中执行的至少一个虚拟机(vm)(例如,vm 306之一)对硬件层307(例如,物理处理器321和物理盘328)中的多个物理资源的访问。每个vm 306可以包括分配的虚拟资源,诸如虚拟处理器332和/或虚拟盘342,以
及虚拟资源,诸如虚拟存储器和虚拟网络接口。在一些实施例中,vm 306中的至少一个可以包括与管理程序301通信并用于执行用于管理和配置装置302上的其他vm(例如,客户操作系统310)的应用的控制操作系统(例如,305)。
67.总体而言,管理程序301可以以模拟具有对物理装置的访问的操作系统的任何方式向vm 306的操作系统提供虚拟资源。因此,管理程序301可用于模拟虚拟硬件、划分物理硬件、虚拟化物理硬件以及执行提供对计算环境的访问的虚拟机。在示意性实施例中,管理程序301可以实现为由佛罗里达州劳德代尔堡的思杰系统有限公司提供的citrix管理程序。在示意性实施例中,执行创建客户操作系统可在其上执行的虚拟机平台的管理程序的装置302被称为主机服务器302。
68.管理程序301可以创建一个或多个vm 306,操作系统(例如,控制操作系统305和/或客户操作系统310)在其中执行。例如,管理程序301加载虚拟机映像以创建vm 306以执行操作系统。管理程序301可以向vm 306呈现硬件层307的抽象,和/或可以控制如何向vm 306呈现硬件层307的物理能力。例如,管理程序301可以管理跨多个物理计算装置分布的资源池。
69.在一些实施例中,vm 306之一(例如,执行控制操作系统305的vm)可以管理和配置其他vm 306,例如通过管理vm的执行和/或终止和/或管理虚拟资源到vm的分配。在各种实施例中,vm可以经由例如一个或多个应用编程接口(api)、共享存储器和/或其他技术与管理程序301和/或其他vm通信。
70.总体而言,vm 306可以向装置302的用户提供对虚拟化计算环境300内的资源的访问,例如一个或多个程序、应用、文档、文件、桌面和/或计算环境、或其他资源。在一些实施例中,vm 306可以被实现为不知道它们是虚拟机的完全虚拟化的vm(例如,硬件虚拟机或hvm)。在其他实施例中,vm可以知道它是虚拟机,和/或vm可以被实现为半虚拟化(pv)vm。
71.虽然在图3中示出为包括单个虚拟化装置302,但虚拟化环境300可以包括系统中的多个联网装置,在该系统中至少一个物理主机执行虚拟机。vm在其上执行的装置可以被称为物理主机和/或主机。例如,设备200可以附加地或可替代地在诸如客户机102、服务器106或设备200的任何计算装置上的虚拟化环境300中实现。虚拟设备可以提供类似于关于设备200描述的用于可用性、性能、健康监测、高速缓存和压缩的功能,连接多路复用和池化和/或安全处理(例如,防火墙、vpn、加密/解密等)。
72.在一些实施例中,服务器可以例如在多核处理系统的各个核和/或多处理器装置的各个处理器上执行多个虚拟机306。例如,尽管在本文中一般地显示为“处理器”(例如,在图1c、2和3中),一个或多个处理器可以实现为单核或多核处理器以提供多线程、并行架构和/或多核架构。每个处理器和/或核可以具有或使用分配或分派给私人或本地使用的存储器,这些存储器只能由该处理器/核访问,和/或可以具有或使用公共或由多个处理器/核共享并可访问的存储器。这种架构可允许跨一个或多个处理器和/或一个或多个核的工作、任务、负载或网络流量分布(例如,通过功能并行性、数据并行性、基于流的数据并行性等)。
73.此外,代替(或除此之外)以物理处理器/核的形式实现的核的功能,可以在客户机102、服务器106或设备200上的虚拟化环境(例如,300)中实现这样的功能,使得该功能可以跨多个装置(诸如计算装置的集群、服务器群或计算装置的网络等)来实现。各种处理器/核可以使用多种接口技术(诸如核到核消息传递、共享存储器、内核api等)相互接口或通信。
74.在采用多个处理器和/或多个处理器核的实施例中,所描述的实施例可以在核或处理器之间分布数据分组,例如以平衡跨核的流。例如,分组分布可以基于对每个核执行的功能、源地址和目的地地址的确定,和/或是否:相关核上的负载高于预定阈值;相关核上的负载低于预定阈值;相关核上的负载小于其他核上的负载;或可用于部分基于处理器上的负载量来确定将数据分组转发到何处的任何其他度量。
75.例如,可以使用接收侧调整(rss)在核或进程之间分布数据分组,以便使用网络中的多个处理器/核来处理分组。rss通常允许跨多个处理器/核平衡分组处理,同时保持分组的有序输送。在一些实施例中,rss可以使用哈希方案来确定用于处理分组的核或处理器。
76.rss可以从任何类型和形式的输入生成哈希,诸如值序列。该值序列可以包括网络分组的任何部分,诸如网络分组的任何报头、字段或有效载荷,并且包括与网络分组或数据流相关联的任何信息元组,诸如地址和端口。哈希结果或其任何部分可用于标识处理器、核、引擎等,用于例如经由哈希表、间接表或其他映射技术分布网络分组。
77.参考图4,描述了云计算环境400,其也可以称为云环境、云计算或云网络。云计算环境400可以向多个用户或租户提供共享的计算服务和/或资源的输送。例如,共享的资源和服务可以包括但不限于网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机、数据库、软件、硬件、分析和智能。
78.在云计算环境400中,一个或多个客户机102a-102n(诸如上文所述的客户机)与云网络404通信。云网络404可以包括后端平台,例如服务器、存储装置、服务器群或数据中心。用户或者客户机102a-102n可以对应于单个组织/租户或者多个组织/租户。更具体地,在一个示例实施方式中,云计算环境400可以提供服务单个组织(例如,企业云)的私有云。在另一示例中,云计算环境400可以提供服务多个组织/租户的社区或公共云。
79.在一些实施例中,网关设备或服务可以用于提供对云计算资源和虚拟会话的访问。举例来说,由思杰系统有限公司提供的citrix网关可以部署在本地或公共云上,以向用户提供对虚拟、saas和web应用的安全访问和单点登录。此外,为了保护用户免受web威胁,可以使用诸如citrix安全web网关的网关。citrix安全web网关使用基于云的服务和本地高速缓存来检查url信誉和类别。
80.在进一步的实施例中,云计算环境400可以提供混合云,混合云是公共云和私有云的组合。公共云可以包括由相对于客户机102a-102n或企业/租户的第三方维护的公共服务器。服务器可能位于远离站点的远程地理位置或其他位置。
81.云计算环境400可以提供资源池,以通过多租户环境或多租户模型经由客户机102a-102n服务多个用户,其中响应于相应环境内的不同需求动态分配和重新分配不同的物理和虚拟资源。多租户环境可以包括系统或架构,该系统或架构可以提供软件、应用或软件应用的单个实例来服务多个用户。在一些实施例中,云计算环境400可以提供按需自助服务,以跨网络为多个客户机102a-102n单方面供应计算能力(例如,服务器时间、网络存储装置)。举例来说,供应服务可以通过诸如citrix供应服务(citrix pvs)的系统来提供。citrix pvs是一种软件流技术,其通过共享的桌面图像向多个虚拟桌面端点输送补丁、更新和其他配置信息。云计算环境400可以提供灵活性,以响应于来自一个或多个客户机102的不同需求而动态地向外扩展或扩展。在一些实施例中,云计算环境400可以包括或提供监测服务,以监测、控制和/或生成与所提供的共享的服务和资源相对应的报告。
82.在一些实施例中,云计算环境400可以提供不同类型的云计算服务的基于云的输送,云计算服务诸如是软件即服务(saas)408、平台即服务(paas)412、架构即服务(iaas)416和桌面即服务(daas)420。例如,iaas可以指示在指定时间段期间租用所需架构资源的用户。iaas提供商可以从大型池中提供存储装置、网络化、服务器或虚拟化资源,以允许用户根据需要通过访问更多资源以快速扩展。iaas的示例包括由华盛顿州西雅图的amazon.com公司提供的amazon web服务、德克萨斯州圣安东尼奥的rackspace us公司提供的rackspace云、加利福尼亚州山景城的google公司提供的google计算引擎engine或加利福尼亚州圣巴巴拉的rightscale公司提供的rightscale。
83.paas提供商可以提供iaas提供的功能,例如包括存储装置、网络化、服务器或虚拟化,以及附加资源,诸如操作系统、中间件或运行时资源。paas的例子包括由华盛顿州雷蒙德的microsoft公司提供的windows azure,由google公司提供的google应用引擎,以及由加利福尼亚州旧金山的heroku公司提供的heroku。
84.saas提供商可以提供paas提供的资源,包括存储装置、网络化、服务器、虚拟化、操作系统、中间件或运行时资源。在一些实施例中,saas提供商可以提供附加资源,例如包括数据和应用资源。saas的示例包括由google公司提供的google应用、由加利福尼亚州旧金山的salesforce.com公司提供的salesforce,或由microsoft公司提供的office 365。saas的示例还可以包括数据存储提供商,例如来自思杰系统的citrix sharefile,由加利福尼亚州旧金山的dropbox公司提供的dropbox,由microsoft公司提供的microsoft skydube,由google公司提供的google驱动,或由加利福尼亚州的库比蒂诺的apple公司提供的apple icloud。
85.与saas类似,daas(也称为托管的桌面服务)是虚拟桌面架构(vdi)的一种形式,其中虚拟桌面会话通常作为云服务与虚拟桌面上使用的应用一起输送。来自思杰系统的citrix云是daas输送平台的一个示例。daas输送平台可以托管在公共云计算架构上,诸如来自华盛顿州雷德蒙德的microsoft公司的azure云(以下简称“azure”)或华盛顿州西雅图的amazon.com公司提供的amazon web服务(以下简称“aws”)。在citrix云的情况下,citrix工作空间应用可以用作单一入口点,用于将应用、文件和桌面(无论是在本地还是在云中)整合在一起,以输送统一的体验。
86.d.基于时间的工作空间个性化
87.在不使用本文描述的系统和方法的计算系统的实施方式中,用户可能会浪费时间来试图识别下一个要执行任务列表中的哪个任务,或者可能会低效地选择需要比可用时间更多的时间的任务,使得有必要在以后恢复该任务。由于这会使用户“脱离流程”或者中断他们的典型工作流程,导致转移他们的注意力并且花费时间记住和/或恢复他们正在做的工作,因此在任务上花费的时间可能比在单个会话中执行的时间更长。例如,如果工作时段是连续的,则用户可能会花费半个小时查看文档,并且花费一个小时编写关于该文档的备忘录。然而,如果将其划分为数个时间段,则用户可能在第一时间段内花费十分钟来查看文档(例如,在被另一任务打断之前,完成一个工作日等);然后,可能首先需要五分钟的重新阅读来记住文档先前部分的内容,而不是在第二个时间段的二十分钟内完成查看。如果用户等待数天才开始编写备忘录,则用户可能首先需要再花费十分钟来再次查看文档以刷新他们的记忆。如果备忘录的编写被中断,则用户可能需要在开始新的部分之前查看先前编
写的部分。这可能会导致可以在一个半小时内完成的任务占用两个、三个或更多小时。
88.类似地,在完成任务后或者在准备执行新的任务时,许多用户在从大量可用任务中选择要执行的新的任务时会经历一段时间的犹豫不决或效率低下。尽管任务无法在可用时间内完成,但用户可能无法立即识别出多个任务中的哪些任务要优先,和/或可能由于其感知的重要性或优先而选择任务。这可以是信息过载的结果,或者是用户被分配给他们的任务数量、用于选择任务的可用信息(例如,优先级、类别、截止日期等)的量压倒的结果。对于多个任务和用户,这些低效率可以累加起来,导致大量时间和精力的浪费。
89.由于加载或访问托管资源需要时间,涉及托管资源(诸如虚拟桌面环境、远程应用环境、web应用或软件即服务应用)或者其他远程资源的任务可能会加剧这些低效率。例如,如果用户花费了额外的十分钟来犹豫不决地确定下一步执行哪个任务,然后在他们可以开始工作之前需要花费额外的五分钟来登录或访问托管资源,这导致浪费15分钟的时间。如果在每天四次切换任务时发生这种情况,则已损失一小时的时间。
90.相反,本文描述的系统和方法提供托管资源配置,具有基于用户的可用时间体验的用户的工作空间的智能个性化。系统分析用户的日程安排、位置和工作习惯,以及对任务进行优先级排序并将其映射到可用时隙,使得用户能够用更少的时间更高效地识别和选择下一任务。完成任务所需的时间可以从用户具有动作项/任务的多个应用中提取。所需的时间可以从历史中学习,或者直接从应用中提取。本文讨论的系统和方法允许工作空间基于用户的生产时间界限向用户输送个性化的微应用/内容/任务。在一些实施方式中,在用户开始执行任务之前(以及在许多实施方式中,在用户请求执行任务之前,或者甚至在用户开始工作时段之前),可以预加载或提取或者自动访问与经优先排序或映射的任务相关联的托管资源,从而显著减少了开始新的任务或切换任务时的时延或低效率。还可以降低系统利用率,消除用户在决定新的任务时在“空闲”上花费的时间(尽管消耗了系统资源),以及减少用户从中断并随后恢复的较早时间段查看或恢复工作所花费的时间。例如,如果用户在恢复任务(例如,重新阅读先前已经阅读过的文档等)时低效率地花费其时间的额外10%,则系统能够通过消除这种低效率,将其资源利用率(例如,网络带宽、处理器和存储器使用状况、电源等)减少10%。因此,自动映射任务并且减少任务切换或任务开始延迟可以减少费用,并且改进具有托管资源的系统的操作。
91.首先参考图5a,描述了用于基于用户的可用性在工作空间内输送内容的方法的实施方式的流程图。该方法允许识别可用生产时间,并且将内容或应用输送到用户以在可用时间界限内完成任务。
92.首先,可以基于以下内容识别用户的可用生产时间:
93.用户输入:这里用户手动输入其工作时间。例如,在一些实施方式中,用户可以(例如,经由本地应用接口、由web应用、日程表应用或其他此类应用提供的表单)输入工作或可用时段开始和结束时间。在一些实施方式中,可以输入常规工作或可用时段(例如,周一至周五上午9点至下午5点),而在其他实施方式中,可以输入特定工作或可用时间(例如,“接下来的两个小时空闲”或“直到下午3点”)。在一些实施方式中,用户可以不提供明确的结束时间,而是(例如,通过启动应用或web应用提供的工作计时器或时间卡)指示他们当前可用。
94.预计工作时间:这可以基于工作空间应用使用状况的历史情况推断出来。工作空
间应用可以指经由托管桌面提供的或虚拟环境内的虚拟化或远程应用、连接到主机服务器(例如,提供网络化数据存储装置、saas或paas服务等)的本地或远程应用,或者作为用户工作的一部分使用的生产力应用。这样的应用可以由用户或管理员明确标识或分类以包含在预计工作时间的计算中,或者可以基于其在超过阈值或以高于阈值的频率(例如,按小时、按天等)发生的所识别的工作时段(例如,手动输入的工作时段)期间的使用状况而隐式地标识。例如,用户在应用内工作花费的时间可以被跟踪和平均(例如,如果用户在特定应用上平均花费一小时,则当用户访问该应用时,系统可以推断用户具有大约一小时的时间花费在工作上),或者可以根据日期和时间进行跟踪(例如,如果用户每周一上午从10点到11点花费一个小时访问应用,则系统可以推断如果是周一上午10点,则用户可能有一个小时的时间可用于工作)。在用户的日程安排高度规律的情况下,即使他们在应用内的工作时间变化很大,后面的实施方式也可以是有用的(例如,如果用户每周一花费一个小时在特定应用上,但每隔一个工作日花费五个小时,那么如果系统基于平均花费的时间分配4.1个小时,则会高估周一的可用时间,但低估每隔一天的可用时间)。在一些实施方式中,系统可以跟踪平均工作持续时间和工作持续时间相对于平均值的差异,并且在差异超过阈值(例如,与平均值的差异超过10%)时使用历史使用持续时间。
95.活动用户任务:可以从应用推断出的一天中剩下的挂起任务量可以表示用户的生产时间量。例如,大量的剩余任务可以指示用户将花费额外的时间工作。在一些实施方式中,如果用户已在某个点(甚至早几个小时或几天)开始执行任务但尚未完成任务,则该任务可以被标识为“活动”。在其他实施方式中,任务一旦分配给用户就可以标识为“活动”,直到任务完成。在其他实施方式中,任务可以与开始日期或时间(相对于任务被生成或分配给用户的时间,可能在未来某个点)相关联,并且一旦开始日期或时间过去,任务就可以标识为“活动”,直到任务完成。因此,与“不活动”的任务或者已经完成、放弃、尚未分配或者(在一些实施例中)尚未启动的任务相比,任务在被分配时可以是“活动的”、挂起的、尚未完成的或者处于任何类似的状态或这些状态的组合。
96.用户的会议日程安排:如果用户在接下来的30分钟内有会议,则他的当前的生产可用时间为30分钟。空闲时间窗口可以从任何可用日程软件来确定,包括基于web、基于云或基于应用的日程表。
97.基于用户位置和旅行时间的工作时间:如果用户具有经由汽车、航班、公共汽车等前往一个地方的旅行日程安排,则旅行前的时间可以标识为在当前位置的可用时间。此外,到达目的地的旅行时间还表示在到达目的地之前的可用时间,该时间可用于工作(例如,火车、公共汽车、飞机、共乘服务等),或者可以是不可用的(例如,驾驶、步行等)。该信息可以从来自乘坐共享服务、地图或定位服务、航班预订系统等的api中推断出来。
98.基于电子邮件的分析:可以基于元数据(如,主要收件人、附件大小等)和内容(例如,电子邮件是否包括需要回答的问题)来分析电子邮件,以确定用户回复电子邮件将花费的大致时间量。在一些实施方式中,可以从用户的历史使用状况和电子邮件内容来训练机器学习模型。例如,可以基于用户回复电子邮件花费的时间以及电子邮件的内容和元数据进行回归分析,以确定用于未来电子邮件的估计时间。在一些实施方法中,回复电子邮件的估计的时间可以从可用时间中减去。例如,如果一个用户具有8小时工作日,并且在典型的日子里花费3个小时回复电子邮件,则系统可以确定该用户具有5个小时执行其他任务。
99.一旦识别了可用生产时间,系统就可以识别在该可用时间内可以完成的任务。任务可以分不同类别,如下:
100.受时间约束的内容:一些任务可以与内容相关联,从该内容可以确定任务的持续时间。例如,一些任务可以与音频或视频内容相关联。视频/音频播放时间可以指示用户需要参与该内容的时间。类似地,一些任务可以与文本内容相关联。假设平均阅读速率为每分钟200字(然而这可以基于先前阅读内容花费的时间而对用户个性化),系统可以计算文本内容中的字数,并且可以估计用户阅读文本内容将花费的时间。
101.电子邮件:阅读未读电子邮件的时间同样可以从文本中的字数来估算。此外,系统还可以考虑阅读/查看电子邮件中的附件和相关转换的时间。
102.受时间约束的任务:某些与工作相关的任务是受时间约束的,诸如通过成本中心批准费用或批准休假,这通常在每次执行任务时花费相同的时间量。这些任务的时间可以基于先前执行任务花费的平均时间来估计,这可以是来自用户的或者是跨执行同一任务的所有用户而聚合的。对于一些其他与工作相关的任务,系统可基于用户输入来确定估计时间。例如,系统可以向用户明确地请求完成工作相关的任务的估计时间。然后,这可以用于同一任务的未来实例。对于(例如,由于在持续时间上变化太大)无法轻松测量或估计的其他与工作相关的任务,系统可以估计最长时间和平均时间。
103.不受时间约束的任务:一些任务不具有执行任务所花费的持续时间的模式(例如,如果执行任务花费的时间的平均差异超过阈值)。系统可以将这样的任务识别为不受时间约束。例如,软件开发者可能在一天花费非常短的时间量来修复应用中的编码错误或漏洞,而可能在第二天花费一整天(或更长)来修复编码错误或漏洞,这取决于错误的复杂性、底层代码的涉及情况或复杂程度等。尽管可以计算在编码应用内花费的平均时间,但工作时段之间的时间相对于平均值的差异可能非常高。如果差异超过阈值,则系统可以将任务识别为不受时间约束,而不是使用可能经常不准确的平均时间。在类似的示例中,取决于场景的内容、其运动、应用于场景的过滤或处理量等,视频编辑器呈现场景可能占用短时间或者长时间,导致呈现时间的范围从秒到小时。使用平均时间(例如,一小时)可能会大大低估一些任务并且大大高估其他任务。如果历史呈现时间的差异超过例如所计算的平均时间的
±
20%,则系统可以将任务识别为不可预测计的或不受时间约束的。
104.不受时间约束的内容:一些基于内容的任务基于播放时间或字数具有很长的持续时间,诸如很长的书,其可能占用很多时间来阅读,远远超过任何特定工作会话的时间。这样的内容可以被标记为不受时间约束。
105.接下来,系统可以将用户的可用生产时间映射到生产时间界限内的任务/内容。对于受时间约束的内容或任务,当用户在客户机工作空间应用中搜索可用任务时,系统可以关于用户具有的当前可用生产时间(在上文的步骤1中确定的)和完成任务所需的时间(在上文的步骤2中确定的)来对搜索进行优先级排序。系统可以取消可用时间范围之外的任务的优先级。
106.对于不受时间约束的任务或内容,如果用户具有超过阈值(例如,30分钟)的可用时间,则系统可以向用户显示该内容或任务。否则,不受时间约束的任务或内容可以被取消优先级或者不向用户显示。
107.在一些实施方式中,系统可以选择最高优先级的任务或内容,并且可以将其提供
给用户。在其他实施方式中,系统可以向用户呈现(如上所述基于优先级排序的)任务或内容的有序列表,并且用户可以从列表中选择要执行的任务或者要消耗的内容。系统随后可以向用户提供所选择的任务或内容。受时间约束的任务或内容可以作为微应用或小任务输送给用户,允许用户专注于实现任务。
108.为了将任务映射到时间,在一些实施方式中,管理员可以按类别分配权重,以确定可用生产时间,诸如:
109.用户输入:75
110.预计工作时间:30
111.活动用户任务:40
112.用户的会议日程安排:75
113.基于用户位置和旅行时间的工作时间:45
114.在这样的实施方式中,系统可以根据上述各种方法标识可用生产时间,然后可以将权重应用于净时间。例如,如果系统基于用户位置和旅行时间来标识预计工作时间和工作时间,则标识生产时间的净权重可以是30 45或75。
115.接下来,系统标识在如上讨论的可用时间窗口内可以完成的任务。如果上面确定的总权重高于阈值(例如50,其由管理员或用户配置),则当用户搜索内容时,系统可以使用相对于其他内容50%的优先级来显示标识为映射到当前时间的任务。可以使用其他权重。
116.在另一个实施方式中,可以使用其他技术来确定每个类别的权重。例如,系统可以最初以相等的权重开始(例如,每个类别的权重为50)。可以基于初始权重来标识任务并将其呈现给用户。如果用户选择任务,则相应类别的权重可以增加;如果用户没有选择该任务,则相应类别的权重可以降低。随着时间的推移,这可以提高系统的准确性。
117.图5b是用于基于用户可用性在工作空间内输送内容的系统的实施方式的框图。客户机装置102可以经由网络104与服务器106通信。客户机装置102可以(例如,在装置的存储器中)包括工作空间客户机应用502,其可以由装置的处理器(未示出)执行。
118.工作空间客户机应用502可以包括应用、服务、服务器、守护程序、例程或其他可执行逻辑,用于(例如,经由如上文结合图1b讨论的应用输送系统190)与应用服务器106通信并且提供对应用16’或数据文件17’的访问。在一些实施方式中,工作空间客户机应用502可以与应用服务器上的工作空间主机应用进行通信。尽管是在客户机装置上示出,但在一些实施方式中,工作空间客户机应用可以由应用服务器106执行并且经由网络访问。例如,工作空间客户机应用可以包括经由客户机装置的浏览器可访问的saas或web应用。
119.工作空间客户机应用502可包括数据采集器504、任务分析器506和/或时间映射器508。数据采集器504可以包括应用、服务、服务器、守护程序、例程或其他可执行逻辑,以用于从诸如如上文讨论的用户的日程安排、输入的工作时间、活动用户任务、位置服务和旅行日程安排或者历史工作时间识别可用时间段。数据收集器504可以监测访问应用(包括托管应用)的时间,并且可以经由相应的api访问日程表或其他数据源。例如,数据收集器504可以在应用或托管应用执行后启动计时器,并且在应用或托管应用终止时记录计时器值,以确定访问应用花费的时间。在另一个实施方式中,数据收集器504可以监测客户机装置或托管桌面的操作系统的进程列表或任务管理器,以识别正在执行的进程,并且可以类似地维护计时器以确定访问的持续时间。在进一步的实施方式中,当cpu利用率低于阈值时,数据
采集器504可以暂停这样的定时器,这指示应用可能是不活动的或者用户可能没有与应用交互。在类似的实施方式中,数据收集器504可以访问其他度量以识别是否正在使用应用,其他度量诸如是与应用相关联的网络活动速率(例如,在相应端口上传输或接收的分组)、与应用相关联的数据访问速率(例如,每秒的内存读取/写入操作),或任何其他这样的度量。数据收集器504还可以经由api访问数据源,以识别指示数据源维护的可用时间段的数据,诸如日程表应用提供的日程表或者时间卡或员工管理应用中识别的工作时段。这样的api可以允许数据收集器504查询日程安排以识别会议开始和结束时间、工作日开始和结束时间或者其他这样的事件。
120.任务分析器506可以包括应用、服务、服务器、守护程序、例程或其他可执行逻辑,以用于识别如上文讨论的可以在时间跨度内完成的任务并对任务进行分类(例如,受时间约束的内容、电子邮件、微应用动作、其他任务等)。
121.时间映射器508可以包括应用、服务、服务器、守护程序、例程或其他可执行逻辑,以用于如上文讨论的将任务映射到可用生产时段,并用于对任务进行优先级排序和取消优先级,或对任务类别施加权重。时间映射器508可以响应于用户对任务建议的请求而提供任务的优先级排序列表以供选择。例如,用户可以通过web应用或者由时间映射器508提供的或与之相关联的应用接口请求任务(例如,“下一步我应该执行什么任务?”)。任务映射器508可以识别一个或多个可用时段,创建可以在一个或多个可用时段内执行的经优先级排序的任务列表,并响应于请求向用户呈现经优先级排序的任务列表。用户可以选择最高优先级任务,或者在一些实施方式中,可以选择要执行的不同任务。任务可以与托管桌面、web应用或其他资源相关联,并且在一些实施方式中,系统可以实例化或执行应用或资源,或者以其他方式将应用或资源分配给用户以执行所选择的任务。在一些实施方式中,可以在用户选择列表内的任务之前实例化或分配与最高优先级任务相关联的资源,如果用户确实选择了相关联的任务则减少加载时间或访问时延。例如,任务映射器508可以提供具有最高优先级任务“查看电子邮件”的建议任务列表,并且可以在后台或者不呈现输出的情况下(例如,不显示启动或闪现屏幕、加载屏幕或任何其他应用输出)启动电子邮件应用(例如,在本地或者远程桌面或虚拟桌面环境内)或者在web浏览器应用内加载在线邮件应用。如果用户选择建议的电子邮件任务,则系统可以立即开始显示应用或浏览器应用的输出,从而减少或消除用户的任何明显延迟。在其他实施方式中,应用或web浏览器应用的输出可能不会被抑制,或者可能会(例如,在一些实施方式中,在后台窗口或者单独的窗口中)被呈现或显示。这可能有助于向用户提供视觉反馈,特别是对于加载时间长的应用。
122.图5c是用于基于用户可用性在工作空间内输送内容的方法520的另一个实施方式的流程图。在步骤522,诸如任务分析器或者执行任务分析器或工作空间管理器的计算装置的系统可以识别用户的可用时间。可用时间可以基于用户的日程安排来确定,诸如会议或工作日程安排。例如,如果在未来时间(例如,未来一小时)标识了一个会议,则可以标识直到会议为止的可用时间。在一些实施方式中,旅行时间可以考虑作为识别用户的可用时间的一部分。例如,可以识别用户或者用户的计算装置的当前位置(例如,用户笔记本电脑或移动装置的位置,或者用户可以被识别为在指定位置的计算装置上本地工作,例如“工作”或“家”),并且可以确定会议位置之间、到会议位置或从会议位置的旅行时间。在一些实施方式中,旅行时间可以从执行任务的可用时间中扣除。例如,如果用户的日程安排指示他们
在会议前具有一个小时的空闲,但会议需要半个小时的车程,则用户可能仅具有半个小时可用于任务。在其他实施方式中,旅行时间可以标识为在旅行时可以执行的特定任务(例如,在移动装置或笔记本电脑上,诸如打电话或查看电子邮件)的单独潜在工作时段。在旅行时可以执行的任务可能会基于旅行模式而受到限制(例如,如果用户将驾驶,则可用任务会更少或没有;而如果用户经由火车、共乘或飞机通勤,则额外任务可用)。旅行模式可由用户指定,或者可以基于对接收的电子邮件的查看、对用户在位置或类似位置和距离之间使用的历史旅行方法的查看,或者基于来自多个用户的聚合历史数据(例如,识别大多数用户在两个位置之间通过飞机而不是驾驶旅行)来确定。
123.在步骤524,可以从将由用户执行的任务列表中选择任务。任务列表可以由用户、监管员或管理员更新,和/或通过从生产力或应用(例如,电子邮件应用)的任务列表中提取任务、解析用户的电子邮件或日程安排项目、或者这些或其他添加物的组合而自动生成。任务列表可以标识任务、任务的类别、任务的位置或其他信息,并且可以包括执行任务的估计时间、基于任务的预算分配的时间或者其他时间指示,诸如用户和/或其他用户执行任务占用的历史平均时间。
124.如上文所讨论的,一些任务的长度或持续时间基于其内容。例如,用户阅读冗长文本可能比阅读短文本占用更长的时间,并且观看较长的视频或收听较长的音频演示可能比观看短视频或收听短音频占用更长的时间。在许多这样的实例中,在步骤526,系统可以基于内容的长度或持续时间以及消耗速率(例如,每分钟阅读的字等)来估计完成任务的持续时间或时间。消耗速率可以预先确定(例如,视频或音频的每分钟为一分钟),或者可以基于用户的平均历史时间来确定(例如,如果用户先前占用10分钟来阅读10页,则可以确定每分钟一页的速率)。还可以从一组用户中聚合消耗速率,以确定平均消耗速率。在历史消耗速率对用户不可用的情况下,这可能特别有用。此外,速率可随时间或由用户调整。例如,一些用户通常可能以比标准播放速率更快的速率观看视频,从而增加了他们的消耗速率(例如,相对于视频的标准播放速度,1.5倍或2倍)。因此,在步骤526,在这样的实施方式中,系统可以确定内容的长度或持续时间,和/或内容的消耗速率,并且可以估计消耗内容的时间。在任务具有多个部分的一些实施方式中,(例如,当任务需要观看视频和阅读数个页面时)可以识别和聚合内容的每个部分的长度或持续时间。
125.如果系统无法基于作为任务一部分消耗的内容的长度或持续时间来估计任务长度(或者在一些实施例中,在基于内容的长度或持续时间估计任务长度之后),则在一些实施方式中,在步骤528,系统可以检索任务或(例如,在类似类别中的)类似任务的历史完成统计数据,该统计数据标识用户(或从一组用户中聚合的)完成任务所花费的时间。在一些实施方式中,如果任务包含多个子任务,则可以为每个子任务检索完成统计数据并进行聚合。
126.在步骤530,在一些实施方式中,系统可以确定用户位置和任务位置,并且确定用户位置和任务位置之间的旅行时间。如上所述,旅行时间可能会影响用户的可用时间,并且在一些实施方式中,可能会从用户可用的时间中扣除。例如,当用户具有需要他们在特定位置的特定约会、会议或其他活动时,可以从可用时间中扣除旅行时间。在其他实施方式中,旅行时间可以被添加到完成任务的时间中,并且可以被认为是任务时间的一部分。例如,如果没有安排后续会议使得需要在会议之前将旅行时间计入用户的可用时间,则用户可能具
有大块可用时间。如果要完成的任务具有类似的估计时间,则系统可以在可用时间块内分配或建议要完成的任务。然而,如果需要在不同的位置执行任务,不将旅行时间作为任务时间的一部分包括进来,则可能会低估完成任务的实际时间。因此,可以将位置不是用户当前位置的任务的旅行时间包括进来,作为估计完成任务的时间的一部分。可以根据任何适当的旅行方法来估计旅行时间,如上所述,该旅行时间可以基于将要旅行的距离、用户的历史旅行方法等来识别。
127.在步骤532,在一些实施方式中,系统可以确定用户是否具有其他活动任务。例如,在某些情况下,多个任务可以并行或同时执行,因为其中任务包括空闲或不活动时段(例如,当系统正在处理或呈现数据时、当实验正在运行时,等等)。并行执行多个任务可能会降低每个任务的效率,并且在一些实施方式中,系统可以基于正在执行的并发或活动任务的数量,通过比例因子(例如,对于一个任务是1,对于两个任务是1.2,对于三个任务是1.5,或任何其他这样的值)增加完成每个任务的估计。另外,在一些实施方式中,在步骤522,活动任务可用于识别用户的可用时间。例如,系统可以监测一天中任务处于活动的时段,以识别工作时段。例如,如果用户习惯性地在工作日从上午9点到下午5点具有活动任务,则系统可以将这些时段标识为常规工作日程安排;而如果用户在星期一和星期二晚上10点具有活动任务,则系统可以标识用户在这些天工作到很晚。系统可在数天或数周的时段内监测活动任务,以标识用户的典型工作日程安排,并且可以相应地在所标识的时段内建议或分配额外任务。
128.在步骤534,系统可以估计完成在步骤524识别或选择的任务的持续时间。如上文讨论的,完成任务的估计持续时间或时间可以基于步骤526的内容长度或持续时间、步骤528的历史完成数据、步骤530的用户的位置,和/或是否并行执行额外任务,或者这些元素的任何组合。例如,在一些实施方式中,估计的持续时间或时间可以基于这些元素的加权平均和/或这些元素的总和。例如,在一个这样的实施方式中,基于内容长度和消耗速率的估计时间可以与基于历史完成数据的估计时间进行平均,结果可基于多个活动任务进行调整。
129.一旦已估计完成任务的时间,系统就可以确定任务的持续时间是否小于或等于所标识的可用时间。如果是,则在步骤536,在一些实施方式中,系统可以增加与任务相关联的优先级或分数。如果不是,则在步骤538,系统可以降低与任务相关联的优先级或分数。在一些实施方式中,可以针对每个额外任务迭代地重复步骤524-538。在一些实施方式中,任务可能具有初始或默认优先级,或者可能具有由任务的用户或分配者设置的优先级。这可以允许一些任务优先于其他任务,这样系统可以首先分配它们(如果有足够的时间可用)。
130.在步骤540,在一些实施方式中,系统可以从所标识的任务组中识别最高优先级任务。在一些实施方式中,可以向用户标识所建议的任务,并且用户可以确认启动该任务,或者可以选择不同的任务。在一些这样的实施方式中,如果用户选择不同的任务,则可以调整任务优先级(例如,增加所选择的任务的优先级和/或降低所建议的任务的优先级)。这可以允许系统随时间变化学习用户的优先级偏好。
131.在步骤542,系统可以标识与任务相关联的托管应用或桌面,并且在步骤544,可以向用户的计算装置提供对所标识的托管应用或桌面的访问。这可以包括实例化web服务或软件即服务(saas)应用、或远程桌面软件,为用户执行虚拟机,或者执行其他设置程序以允
许用户开始所选择的任务(例如,加载相应的数据等)。例如,系统可以标识与任务相关联的web应用或saas应用,启动或执行本地web浏览器应用或浏览器实例,并指示web浏览器应用或实例以请求在指定的统一资源定位器(url)地址处的与web应用或saas应用相关联的页面。在一些实施方式中,系统可以向应用或资源服务器传输请求以保留或执行将由用户的计算装置使用的虚拟机,可以请求与远程桌面应用的任务相关联的配置文件或脚本,或者以其他方式启动步骤以向用户提供对执行所标识的任务需要的应用和/或资源的访问。
132.图5d是用于基于用户可用性在工作空间内输送内容的方法550的另一个实施方式的流程图。在步骤552,客户机装置或工作空间服务器可以收集时间数据。如上文讨论的,时间数据可以从具有会议和空闲时段的一个或多个日程表、位置服务或旅行预订服务、手动输入的时间数据等收集。例如,客户机装置或工作空间服务器可以经由api访问数据源,以识别指示由数据源维护的可用时间段的数据,诸如日程表应用提供的日程表或者时间卡或员工管理应用中识别的工作时段。这样的api可以允许客户机装置或工作空间服务器查询日程安排,以标识会议开始和结束时间、工作日开始和结束时间或其他这样的事件。
133.在步骤554,在一些实施方式中,客户机装置或工作空间服务器可以标识第一时间段。时间段可以是当前时间段或者未来时间段。客户机装置或工作空间服务器可以响应于来自用户对任务的请求识别时间段,例如当前时间段。时间段可以由开始时间和结束时间、开始时间和持续时间或者结束时间和持续时间来限定。
134.在步骤556,客户机装置或工作空间服务器可从本地存储装置和/或从远程存储装置(诸如,维护数据库或任务列表的服务器(例如,管理服务器、数据服务器或者其他这样的网络可访问的存储装置))检索任务的任务信息。任务可以在用户的任务列表中标识,并且可以手动生成(例如,手动输入的任务、来自管理人或管理员分配的任务等),或者可以动态创建(例如,来自从电子邮件提取的任务或者可用任务的工作列表)。例如,如上文结合图5b讨论的数据收集器504可以通过针对关键字或指定短语(例如,“会议”或“打电话”)解析电子邮件;经由任务管理、项目管理或日程表应用的api检索任务;通过从数据文件中提取标识任务和相关联的信息的xml字段;或任何其他类似方法来标识任务。
135.如上文讨论的,任务可以是受时间约束的或者不受时间约束的。如果任务不受时间约束,则系统可以确定时间段中是否存在足够的时间(例如,如果时段的持续时间超过阈值)。如果是,则可以在步骤556增加任务优先级。如果不是,则在步骤558可以降低任务优先级。
136.类似地,如果任务受时间约束,则客户机装置或工作空间服务器可以例如通过从任务中提取参数(如上所述,诸如视频或音频文件的长度、要阅读的内容中的字数、基于任务的历史持续时间的时间等),来确定任务持续时间。例如,如上文结合图5b讨论的数据收集器504可以识别与任务相关联的文档(例如,在任务列表中与任务一起明确标识的、附加到与任务相关联的电子邮件的,附加到任务的日程表邀请的,经由与任务相关联的电子邮件或日程表的文本中的超链接引用的文档等),并且可以(例如,根据文档的元数据,诸如内容长度头部;通过计算文档中的字数或页面数量;通过确定文档大小除以头部中标识的文档位率来确定长度;等等)确定文档的长度或持续时间。如果所识别的持续时间符合时间段内,则在步骤556可以增加优先级。如果不符合时间段,则在步骤558可以降低任务优先级。
137.在一些实施方式中,可以针对多个任务迭代地重复该过程。类似地,在一些实施方
式中,该过程可以迭代地重复额外的时间段(例如,一天或一周中的稍后时段)。
138.在步骤560,任务可以按优先级映射到时间。如上文讨论的,如果任务符合一个时间段,则任务可以与该时间段相关联,并且可以以优先级顺序列出。例如,如果任务的估计持续时间小于一特定时间段的持续时间,则系统可以将任务关联或映射到该特定时间段。如果多个任务的持续时间小于该时间段,则可以将每个任务映射到同一时间段,并以相关联的优先级顺序列出。类似地,如果多个时间段可用,则可以将一个任务映射到多个时间段。在一些这样的实施方式中,任务可以具有不同的相对的优先级,或者在每个时间段的任务列表中以不同的顺序放置。例如,任务可以在第一时间段期间被认为是低优先级,并且在映射到第一时间段的任务列表中放在较低的位置,但在第二时间段期间被认为是高优先级(例如,如果第二时间段接近完成任务的截止日期,则任务在第二时间段的优先级可能会增加),并且可以在第二时间段的任务列表中放在较高的位置。
139.在另一个实施方式中,仅可将单个任务映射到任何给定的时间段(尽管建议的任务列表中可能包含备用任务)。映射到时间段的单个任务可以是具有最高任务优先级的任务,其估计的持续时间小于该时间段。系统可以迭代地将额外任务映射到额外可用时间段,排除将映射到先前时间段的任务映射到后续时间段。基于假设每个建议任务都在相应的时间段期间完成,其可以允许系统生成一天、一周、一个月或更长的建议日程安排或任务列表。系统可以根据需要重新计算或重新生成日程安排,从而当在相应时间段期间的项目完成和/或任务未完成时(例如,导致系统重新分配任务或将任务映射到后续时间段)动态地更新整个日程安排或列表。
140.在步骤562,在一些实施方式中,用户可以例如经由应用或web接口(例如,选择“建议完成新任务”按钮或类似的接口元素)来搜索或请求要完成的任务或者要消耗的内容。如上文结合图5b所讨论的,请求可以包括http post或get请求或者类似的表示性状态转移(restful)请求、对远程应用的远程过程调用、任务管理系统的api函数或其他这样的格式,并且可以由应用或web接口提供给在用户的计算装置上或者在远程应用或管理服务器处的工作空间客户机应用或任务管理应用。响应于所述请求,在步骤564,客户机装置或工作空间服务器可以向用户提供优先级排序的任务映射以供选择。映射可以针对一个时间段(例如,当前时间段)提供优先级排序的任务组(例如,如上文讨论的在步骤560生成的任务)。在步骤566,用户可以选择任务,并且客户机装置或工作空间服务器可以(例如,通过实例化虚拟机或托管桌面,通过提供web应用、通过启动本地应用,通过实例化安全虚拟浏览器等)提供对任务或内容的访问。在一些实施方式中,用户可以(例如,如上文讨论的,从按优先级排序的一个或多个建议任务的列表中)手动选择任务。任务列表可以经由应用或浏览器实例(例如,对于提供任务管理系统的web应用或服务)的用户界面来显示,并且用户可以选择与任务相对应的界面元素(例如,与映射到时间段的一个或多个任务中的每个任务相对应的项目菜单中的项目)。在其他实施方式中,可以为用户自动选择最高优先级任务。在一些这样的实施方式中,可以由用户验证任务选择。例如,系统可以选择最高优先级任务,诸如“查看电子邮件”,并且呈现用户界面元素以建议相应的任务并确认用户希望开始(例如,确认用户是否希望开始查看电子邮件的对话框)。如果用户拒绝启动建议的任务,在一些实施方式中,可以选择下一最高优先级的任务并向用户建议。在一些实施方式中,这可以迭代重复,直到用户确认开始执行任务,或者已经拒绝所有建议的任务。
141.如上文讨论的,在一些实施方式中,用户可能不选择最高优先级的任务。因此,可选地或在一些实施方式中,为了提高未来优先级排序的准确性,在步骤568,如上文讨论的,客户机装置或工作空间服务器可以调整任务类别或类型的优先级权重。随着时间的推移,系统因此可以根据用户偏好在规划任务时变得更加准确。
142.因此,本文描述的系统和方法提供托管资源配置,具有基于用户的可用时间体验的用户的工作空间的智能个性化。系统分析用户的日程安排、位置和工作习惯,以及对任务进行优先级排序并且将任务映射到可用时隙,使得系统能够用更少的时间更高效地标识和选择下一任务。
143.在一些方面,本公开描述了一种用于动态工作空间配置的方法。方法包括由工作空间配置系统接收用户日程安排。方法还包括由工作空间配置系统从用户日程安排中识别可用时间段。方法还包括由工作空间配置系统从多个任务中选择第一任务。方法还包括由工作空间配置系统标识与第一任务相对应的托管应用;以及,由工作空间配置系统向用户的计算装置提供所标识的托管应用。
144.在一些实施方式中,多个任务中的每一个与一个优先级相关联,并且方法包括响应于第一任务具有多个任务中的最高优先级选择第一任务。在进一步的实施方式中,可用时间段具有第一持续时间,并且方法包括响应于与第一任务相关联的持续时间小于第一持续时间而增加与第一任务相关联的优先级。在更进一步的实施方式中,方法包括从第一任务的执行的历史估计与第一任务相关联的持续时间。在另一进一步的实施方式中,可用时间段具有第一持续时间,并且方法包括响应于第一持续时间高于预定阈值而增加与第一任务相关联的优先级。在更进一步的实施方式中,方法包括响应于来自第一任务的执行的历史的持续时间的差异高于第二阈值而增加与第一任务相关联的优先级。在又一进一步的实施方式中,可用时间段具有第一持续时间,并且方法包括响应于与多个任务中的第二任务相关联的持续时间大于第一持续时间而降低与第二任务相关联的优先级。在更进一步的实施方式中,方法包括从第二任务的执行的历史估计与第二任务相关联的持续时间。在另一进一步的实施方式中,可用时间段具有第一持续时间,并且方法包括响应于第一持续时间小于预定阈值而降低与多个任务中的第二任务相关联的优先级。
145.在一些实施方式中,多个任务中的每一个与一个优先级相关联,并且从多个任务中选择第一任务包括:向用户的计算装置提供优先级排序的任务映射;从用户的计算装置接收对第一任务的选择,第一任务的优先级低于多个任务中的至少一个其他任务;以及响应于接收到对第一任务的选择,增加与第一任务相关联的优先级。
146.在另一方面,本公开涉及一种用于动态工作空间配置的系统。系统包括计算装置,计算装置包括处理器和网络接口,处理器执行工作空间配置系统,该工作空间配置系统被配置为:经由网络接口接收用户日程安排;从用户日程安排中识别可用时间段;从多个任务中选择第一任务;标识与第一任务相对应的托管应用;以及经由网络接口向用户的计算装置提供所识别的托管应用。
147.在一些实施方式中,多个任务中的每一个与一个优先级相关联,并且工作空间配置系统被进一步配置为响应于第一任务具有多个任务中的最高优先级选择第一任务。在进一步的实施方式中,可用时间段具有第一持续时间,并且工作空间配置系统被进一步配置为响应于与第一任务相关联的持续时间小于第一持续时间而增加与第一任务相关联的优
先级。在更进一步的实施方式中,工作空间配置系统被进一步配置为从第一任务的执行的历史估计与第一任务相关联的持续时间。在另一进一步的实施方式中,可用时间段具有第一持续时间,并且工作空间配置系统被进一步配置为响应于第一持续时间高于预定阈值而增加与第一任务相关联的优先级。在更进一步的实施方式中,工作空间配置系统被进一步配置为响应于来自第一任务的执行的历史的持续时间的差异高于第二阈值而增加与第一任务相关联的优先级。在另一进一步的实施方式中,可用时间段具有第一持续时间,并且工作空间配置系统被进一步配置为响应于与多个任务中的第二任务相关联的持续时间大于第一持续时间而降低与第二任务相关联的优先级。在更进一步的实施方式中,工作空间配置系统被进一步配置为从第二任务的执行的历史估计与第二任务相关联的持续时间。在另一进一步的实施方式中,可用时间段具有第一持续时间,并且工作空间配置系统被进一步配置为响应于第一持续时间小于预定阈值而降低与多个任务中的第二任务相关联的优先级。在另一个实施方式中,多个任务中的每一个与一个优先级相关联,并且工作空间配置系统被进一步配置为:向用户的计算装置提供优先级排序的任务映射;从用户的计算装置接收对第一任务的选择,第一任务的优先级低于多个任务中的至少一个其他任务;以及响应于接收到对第一任务的选择,增加与第一任务相关联的优先级。
148.本文在一个或多个实施例的上下文中描述的各种元素可以单独提供或以任何合适的子组合提供。例如,本文描述的过程可以以硬件、软件或其组合来实现。此外,本文描述的过程不限于所描述的具体实施例。例如,本文描述的过程不限于本文描述的特定处理顺序,相反,过程块可以根据需要重新排序、组合、移除或并行或串行地执行,以实现本文所阐述的结果。
149.将进一步理解,在不背离以下权利要求的范围的情况下,本领域技术人员可以对本文已经描述和示出的部件的细节、材料和布置进行各种改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献