高速缓存更新预测机制的制作方法

文档序号:26139024发布日期:2021-08-03 14:22阅读:86来源:国知局
高速缓存更新预测机制的制作方法



背景技术:

云服务可以是指包括彼此连接和/或与平台连接的基础设施资源(计算资源、存储资源、网络资源等)的服务。这样的基础设施资源可以统称为“云资源”。例如,主机(也称为云服务提供方)可以通过托管应用或其他机器可读指令来提供软件即服务(saas);通过托管设备(服务器、存储组件、网络组件等)来提供基础设施即服务(iaas);或者通过托管计算平台(操作系统、硬件、存储等)来提供平台即服务(paas)。

混合云是云服务提供方在此提供iaas或paas的一种公共和/或私有云环境。公共云的服务可以用于部署应用。在其他示例中,混合云还可以提供saas,诸如在其中公共云提供saas作为实用程序的示例中(例如,根据订阅或按需付费模型)。混合云实现虚拟化技术以基于本机硬件来部署虚拟基础设施。虚拟化技术通常经由虚拟机(vm)来使用,其中每个应用vm具有一组独立的操作系统、联网和存储。

附图说明

在以下附图中,相似的附图标记用于指代相似的元素。尽管以下附图描绘了各种示例,但是一个或多个实现不限于附图中描绘的示例。

图1示出了基础设施管理系统的一个实施例;

图2是示出基础设施管理系统的另一实施例的框图;

图3示出了基础设施管理系统的另一实施例;

图4a和图4b示出了使用蓝图的已部署基础设施的实施例;

图5示出了针对管理控制器的操作的序列图的一个实施例;

图6是示出求解器引擎的一个实施例的框图;以及

图7是示出用于预测高速缓存更新的过程的一个实施例的流程图。

具体实施方式

在实施例中,提供了基础设施管理平台以促进客户端组织与一个或多个基础设施资源提供方组织之间的基础设施管理服务。在这样的实施例中,管理控制器微服务自动地在多个预置(on-premise)基础设施控制器之间平衡基础设施资源的利用。在另一实施例中,管理控制器微服务包括高速缓存更新预测机制,该机制监测高速缓存更新的频率,以便生成数据更新从多个数据源到高速缓存的预测到达时间。

在以下描述中,出于解释的目的,阐述了很多具体细节以便提供对本公开的透彻理解。然而,对于本领域的技术人员将很清楚的是,可以在没有这些具体细节中的一些的情况下实践本公开。在其他实例中,以框图形式示出了公知的结构和设备,以避免使本公开的基本原理难以理解。

在说明书中对“一个实施例”或“实施例”的引用是指结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。说明书中各个地方的短语“在一个实施例中”的出现不一定全都指同一实施例。

在整个文档中,诸如“逻辑”、“组件”、“模块”、“引擎”、“模型”等术语可以互换地引用,并且包括例如软件、硬件和/或软件和硬件(例如,固件)的任何组合。此外,对特定品牌、单词、术语、短语、名称和/或首字母缩写词的任何使用不应当理解为将实施例限制为在产品或本文档外部文献中带有该标签的软件或设备。

预期可以添加和/或移除任何数目和类型的组件以促进各种实施例,包括添加、移除和/或增强某些特征。为了简洁、清楚和易于理解,这里没有示出或讨论很多标准和/或已知组件,诸如计算设备的组件。预期本文中描述的实施例不限于任何特定技术、拓扑、系统、架构和/或标准,并且具有足够的动态性以采用和适应于任何未来的变化。

图1示出了具有计算设备120的基础设施管理系统100的一个实施例,计算设备120采用管理控制器110。在一个实施例中,管理控制器110是促进管理由多个基础设施服务组织提供的物理基础设施资源的微服务。在其他实施例中,管理控制器110使得能够经由指定由客户请求的资源的声明性描述(或蓝图)来代表多个客户端(或客户)组织来管理这些资源。在这样的实施例中,蓝图提供对可以一起被分配和配置以操作虚拟机(vm)集群或软件应用的计算、存储、网络和os映像资源的抽象描述。因此,蓝图用作用于经由管理控制器110请求执行场所(或场所(venue))以部署应用工作负荷的高级描述。在一个实施例中,场所可以被定义为可以执行客户端工作负荷的环境。

如图1所示,计算设备120包括主机服务器计算机,其用作用于采用管理控制器110的主机机器,其提供用于经由paas或iaas代表客户组织(或客户端)115来促进管理基础设施资源的平台。计算设备120可以包括(但不限于)服务器计算机(例如,云服务器计算机等)、台式计算机、基于集群的计算机、机顶盒(例如,基于互联网的有线电视机顶盒等)。计算设备120包括用作计算设备120的一个或多个硬件/物理资源与一个或多个客户端设备117等之间的接口的操作系统(“os”)106。计算设备120还包括(多个)处理器102、存储器104、输入/输出(“i/o”)源108,诸如触摸屏、触摸面板、触摸板、虚拟或常规键盘、虚拟或常规鼠标等。在一个实施例中,管理控制器110可以由处理器102之外的单独的处理器专用集成电路(asic)执行。在另一实施例中,管理控制器110可以在带外操作,并且可以位于与处理器102分开的电源轨上。因此,管理控制器110可以在处理器102断电的情况下操作。

在一个实施例中,主机组织101还可以采用生产环境,该生产环境通过主机组织101与客户组织115处的客户端设备117可通信地接口。客户端设备117可以包括(但不限于)基于客户组织的服务器计算机、台式机计算机、膝上型计算机、移动计算设备(诸如智能电话)、平板电脑、个人数字助理、电子阅读器、媒体互联网设备、智能电视、电视平台、可穿戴设备(例如,眼镜、手表、手镯、智能卡、珠宝、服装等)、媒体播放器、基于全球定位系统的导航系统、电缆机顶盒等。

在一个实施例中,图示的(多个)数据库140存储(但不限于)信息和其中具有客户和用户数据的基础数据库记录,以代表客户组织115处理数据。在一些实施例中,主机组织101通过一个或多个网络135从多个客户组织115接收输入和其他请求;例如,可以从客户组织115接收传入的数据或其他输入,以使用数据库系统140进行处理。

在一个实施例中,每个客户组织115是选自以下各项的实体:单独且不同的远程组织、主机组织101内的组织组、主机组织101的业务伙伴、订阅由主机组织101提供的云计算服务的客户组织115等。

在一个实施例中,请求在主机组织101内的web服务器处被接收或提交。主机组织101可以接收供主机组织101处理的各种请求。例如,在web服务器处接收的传入请求可以指定来自主机组织101的服务将要被提供。此外,主机组织101可以实现经由web服务器的请求接口或作为独立接口,以从客户端设备117接收请求分组或其他请求。请求接口还可以支持响应分组的返回或在从主机组织101到一个或多个客户端设备117的传出方向上的其他答复和响应。

在一个实施例中,计算设备120可以包括服务器计算机,该服务器计算机还可以与一个或多个数据库或存储库(诸如(多个)数据库140)通信,该数据库或存储库可以位于一个或多个网络的预置或远程。诸如(多个)网络135(例如,云网络、互联网、邻近网络、内联网、物联网(“iot”)、物联云(“cot”)等)。还示出了计算设备120通过一个或多个网络(诸如(多个)网络135)与任何数目和类型的其他计算设备(诸如客户端计算设备117)通信。

在一个实施例中,计算设备120可以用作服务提供方核心,以用于托管和管理控制器110作为saas或iaas,并且通过一个或多个网络135与一个或多个客户端计算机117通信,并且与任何数目和类型的专用节点通信。在这样的实施例中,主机组织101向由资源提供方121a-121n提供的资源提供基础设施管理。资源提供方121a-121n表示提供服务以提供硬件资源(例如,计算、存储、网络元件等)或软件资源的单独的基础设施资源提供方。在另一实施例中,提供方121a-121n中的一个或多个可以提供其资源的虚拟化作为用于其资源的虚拟化的虚拟化基础设施。在该实施例中,计算设备120资源和/或由提供方121a-121n提供的物理基础设施资源中的一个或多个可以被配置为一个或多个开发点(pod)(或实例机器),其中实例机器(或实例)包括共同操作的一组基础设施(例如,计算、存储、软件、网络设备等)。

根据一个实施例,提供方121a-121n中的每个实现预置基础设施控制器130以控制其相应资源。在该实施例中,每个基础设施控制器130表示提供其相应资源的一个或多个基础设施元素(例如,被管理基础设施的实例)的预置基础设施系统(例如,数据中心)。在一个实施例中,每个基础设施控制器130可以包括提供物理基础设施资源的预置基础设施管理的一个或多个软件定义网络(sdn)控制器,诸如基础设施管理系统。然而,其他实施例可以实现不同的基础设施管理系统。

图2是示出基础设施管理系统100的另一实施例的框图。如图2所示,基础设施管理系统100可以包括数据中心或边缘设备内的资源管理。例如,基础设施管理系统100包括具有资源251-253的数据中心250a、具有资源254和255的数据中心250a、以及具有资源262的边缘设备260(例如,路由器、路由交换机、集成接入设备(iad)、多路复用器等)。另外,数据中心250a包括基础设施控制器221a和221b。在一个实施例中,基础设施控制器221a管理每个资源251和252内的一个或多个资源,而基础设施控制器221b管理每个资源251和252内的一个或多个资源。类似地,基础设施控制器221c管理数据中心250b内的每个资源254和255内的资源、以及边缘设备260内的资源262。

根据一个实施例,管理控制器210耦合到基础设施控制器221。例如,管理控制器210a是经由基础设施控制器221a-221c管理所有资源的云控制器(例如,如图1讨论的)。然而,在其他实施例中,可以在云外部实现管理控制器210。例如,管理控制器210b可以物理地位于数据中心250a以经由基础设施控制器221a-221c来管理所有资源。在基础设施控制器221的初始注册期间,控制器221将其控制的资源的完整列表传输给控制器210。例如,基础设施控制器221c可以向每个管理控制器210通知它控制资源254、255和262。

图3示出了包括管理控制器210和直接控制被管理资源380的基础设施控制器221a-221n的基础设施管理系统100的另一实施例。根据一个实施例,管理控制器210包括应用程序编程接口(api)301以从客户端(例如,图1中的客户端设备117)接收蓝图。如上所述,蓝图是对要作为工作负载部署的计算/场所单位而分配给客户端的计算、存储、网络和os映像资源的抽象描述。例如,蓝图可以指定“我要在网络a上的dl服务器”或“我要在网络a上的一对dl服务器,其中在它们与共享存储(ss)之间存在私有网络。”

管理引擎310经由api301接收蓝图并且经由数据库(db)340跟踪所有事务。在一个实施例中,求解器引擎320从管理引擎310接收蓝图并且将蓝图转换为实例化所请求的资源所需要的一组高级步骤(或配方)。图4a和图4b示出了使用蓝图的已部署基础设施400的实施例。如图4a和图4b所示,以上示例性蓝图语句(statement)被转换为输入和输出以及输出创建(outputoncreation)。在其他实施例中,蓝图可以包括中止或补救现有分配资源的语句。

一旦执行了蓝图转换,求解器引擎320就创建与蓝图相关联的蓝图实例,并且将资源请求转发给中介代理330,中介代理330将请求广播给基础设施控制器221。根据一个实施例,中介代理330经由适配器360将请求广播给基础设施控制器221。在这样的实施例中,每个适配器360作为到基础设施控制器221的桥接器进行操作。因此,适配器360a-360n被实现为与221a-221n接口。在另一实施例中,每个适配器360通信耦合到基础设施控制器221内的代理321。在该实施例中,代理321作为预置组件进行操作,其代表相关联的适配器360在基础设施控制器221实例上执行功能。这样的功能可以包括致动基础设施控制器221实例以创建、销毁和补救蓝图实例。

代理321也可以将状态改变通知传输给适配器360以用于基础设施元素和心跳。在一个实施例中,在数据库(db)350处维护接收到的状态改变。数据库350维护由向管理控制器210注册的每个基础设施控制器221提供的资源的清单。在另一实施例中,数据库350维护与基础设施控制器221相关联的每个资源的状态功能的高速缓存。因此,与基础设施控制器221相关联的资源的状态的任何变化都被转发给管理控制器210,在此存储在数据库350中。

在广播请求之后的某个时间,中介代理(broker)330从一个或多个基础设施控制器221接收提议。在一个实施例中,提议指示由基础设施控制器221提供全部或一些所请求的被广播的资源的请求。例如,在接收到广播请求60个服务器资源时,基础设施控制器221a可以提议提供30个服务器资源,而基础设施控制器221b可以提议提供所有60个服务器资源。在一个实施例中,求解器引擎320接收提议并且确定哪个提议并且执行与蓝图请求最佳匹配的映射。随后,求解器引擎经由通知引擎302向从其接收到蓝图的客户端117传输通知。在另一实施例中,求解器可以选择与请求相匹配的两个或更多个提议,并且转发以供用户在客户端117处选择。

在接受提议之后,一个或多个适配器360促进利用将提供资源的一个或多个基础设施控制器221实例化资源实例。随后,基础设施控制器221在内部分配资源。例如,接受的提议可以指定由基础设施控制器221a提供30个服务器资源并且由基础设施控制器221b提供另外30个服务器资源。因此,用于基础设施控制器221a和基础设施控制器221b的适配器360分配所需要的资源并且将资源分配转发回管理控制器210,在此,由管理引擎310将资源分配与相关联的蓝图和蓝图实例一起存储在数据库340中。

图5示出了针对管理控制器210的操作的序列图的一个实施例。在阶段1,在api301处(例如,经由客户端)创建蓝图。在阶段2a和2b,分别在管理引擎310处保存和应用蓝图。在阶段3a和3b,将蓝图和相关联的蓝图实例保存到存储装置(例如,数据库350)。在阶段4a和4b,分别发布蓝图创建和创建蓝图中的请求的实例。至此,蓝图创建过程已经完成。

在阶段5,求解器引擎320将资源请求传输给中介代理330,中介代理330随后经由适配器360将请求广播给基础设施控制器221。在阶段6,在中介代理330处从基础设施控制器221接收提议。在阶段7,在通知引擎302处经由一个或多个通知发布提议。在阶段8,经由api301在求解器引擎320接收指示提议被接受的通知并且经由适配器360将其转发给一个或多个基础设施控制器221。结果,在基础设施控制器221处分配资源。在阶段9,从一个或多个基础设施控制器221接收通知并且经由通知引擎302发布通知以向客户端指示资源已经分配。

如上所述,求解器引擎320执行管理控制器210实例和基础设施控制器221实例的映射。如本文中使用的,管理控制器实例包括被实现以提供和管理资源以创建和管理工作负载部署的场所的一个或多个实例。如本文中使用的,基础设施控制器实例包括管理预置物理基础设施的一个或多个实例。在一个实施例中,由求解器引擎320执行的实例映射提供基于从客户端217接收的用户偏好而创建的实例与由基础设施控制器221经由适配器360而管理的资源实例的匹配(或配对)。在该实施例中,用户偏好包括蓝图中包括的一个或多个配置参数。图6是示出求解器引擎320的一个实施例的框图。

如图6所示,求解器引擎320包括注册表引擎602。在一个实施例中,每个基础设施控制器221在基础设施控制器221在其中进行注册的由注册表引擎602执行的发现过程中向求解器引擎320注册。在发现过程期间,基础设施控制器221提供资源能力列表(例如,由基础设施控制器221管理的软件和/或硬件资源),注册表引擎602将其存储在数据库350中。在另一实施例中,注册信息可以包括用于使用由基础设施控制器221管理的资源的成本(或计费价格)。

求解器引擎320还包括用于将蓝图配置参数转换成配方的转换器605,该配方包括具有与配置参数相对应的资源属性的一组步骤。在一个实施例中,求解器引擎320包括用于将蓝图转换成配方步骤的编译器。在这样的实施例中,求解器320使用演绎算法和/或可扩展的预定义目录(catalog)将配方转换为蓝图。例如,“蓝图到配方”转换步骤可以从预先开发的脚本、可扩展的蓝图目录、或经由本地计算的或网络交付的见解或推论中获取。

求解器引擎320还包括用于执行管理控制器210实例(或管理实例)和基础设施控制器221实例(或资源实例)的映射(或配对)的映射器610。在一个实施例中,映射器610基于从蓝图配置参数转换而成的配方资源属性来执行映射。在这样的实施例中,映射器610将由在注册期间的一个或多个基础设施控制器221提供的资源能力与配方中包括的资源属性进行匹配。

在另一实施例中,使用m:n基数构造来映射管理实例和资源实例。在这样的实施例中,映射器610在数据库340内维护一组数据结构以跟踪管理控制器210资源(例如,管理表),并且维护另一组数据结构以跟踪与每个基础设施控制器221相关联的资源(例如,基础设施表)。因此,m:n映射提供了管理表中的每一行可以引用基础设施表中的很多行,而基础设施表中的每一行可以引用管理表中的很多行。

如上所述,映射可以基于用户配置参数(或标准)来执行。在一个实施例中,蓝图配置参数可以定义一个或多个等待时间(latency)约束。例如,配置参数可以指示用户偏好,以确保管理控制器210和基础设施控制器221之间的等待时间不超过定义阈值,或者由于带宽考虑,确保基础设施控制器221的提供方限于定义的地理位置。在一个实施例中,可以在映射到蓝图之前根据默认配置参数来配置资源实例(例如,预蓝图配置)。

在另一实施例中,蓝图配置参数可以定义基础设施和数据位置。例如,由于数据位置、合规性和监管约束,配置参数可以提供地理(或其他位置亲和力)约束,这通常是安全/审计管理客户端的考虑因素。在又一实施例中,蓝图配置参数可以定义灾难恢复考虑因素(例如,可用性区域)。在又一实施例中,蓝图配置参数可以将功率(或其他类型的基础设施成本)定义为匹配管理控制器210和基础设施控制器221实例中的驱动因素。

基于所有定义的蓝图配置参数,映射器610将可用的管理实例映射到满足配置参数约束的一个或多个基础设施控制器221。因此,管理控制器210执行数据库350的搜索以找到具有满足标准的资源的基础设施控制器221,并且将这些资源分配给管理控制器210实例。随后,映射器610更新数据库340中的映射(例如,所使用的实例和资源)以及数据库350中的资源清单的状态(例如,从未使用变为已使用的资源状态)。

根据一个实施例,求解器引擎320还实现学习模型615以辅助由映射器610执行的资源映射。在这样的实施例中,学习模型615执行机器学习算法以基于客户端先前如何执行管理控制器210和基础设施控制器221实例的手动部署(和/或调整)以及它们随后如何移动它们来学习客户偏好。因此,学习模型615捕获客户端配对数据(例如,使用、修改和/或删除资源实例的频率)以建立合适的映射。结果,学习模型615可以捕获所有客户端的匿名数据以查看一段时间内的趋势,然后可以基于先前配置来驱动特定客户端的单独推荐。

在另一实施例中,求解器引擎320包括资源管理器620,该资源管理器620包括用于监测资源服务条件并且基于这些条件自动修改(或调整)映射的监测器625。在这样的实施例中,监测器625可以从基础设施控制器221(例如,经由相关联的代理321和适配器360)接收状态改变通知,该状态改变通知指示对资源的访问已经被中断。例如,可以响应于由于促销产品而引起的基础设施需求激增,或者在可能改变基础设施的成本动态(例如,由于关税、税收等)的监管事件(例如,英国退欧)时,接收改变通知。

响应于接收到状态改变通知,映射器610可以将管理实例动态地重新映射到其他资源实例。例如,在监测器625检测到对基础设施控制器221a的资源的访问已经中断时,可以将映射到基础设施控制器221a内的资源实例的管理实例重新映射到基础设施控制器221b内的资源实例。

资源管理器620还包括高速缓存更新预测(或预测)引擎627,该引擎627被实现以监测对高速缓存629的更新频率并且预测针对多个数据源中的每个数据源而存储的数据的更新速率。基于更新速率,预测引擎627可以预测到针对每个数据源的数据高速缓存的后续更新的到达时间。根据一个实施例,高速缓存629存储针对多个数据源中的每个数据源的基础设施资源数据。在这样的实施例中,数据源可以包括控制多个基础设施设备的ic221、单个资源设备(例如,服务器、存储装置等)、软件应用等。

在其他实施例中,每个数据源通过传输包括关于特定数据源的当前资源状态信息的数据(例如,数据流)来周期性地更新高速缓存629。在该实施例中,每个数据流包括与数据源相关联的唯一标识符(或id)以标识已经从其接收到数据流的数据源。预测引擎627观察针对每个数据源的更新频率并且使用学习到的信息来预测来自相应数据源的后续高速缓存更新的到达时间。

根据一个实施例,预测引擎627包括用于监测数据源更新的梯度下降逻辑628。在这样的实施例中,梯度下降逻辑628实现梯度下降机器学习算法以学习更新频率并且预测未来的更新到达时间。梯度下降是一种优化算法,其用于通过在由梯度的负值定义的最陡峭的下降方向(例如,最快增长方向和速度)上迭代移动来使函数最小化。因此,梯度下降逻辑628用于更新各种模型参数。在一个实施例中,梯度下降逻辑628为每个数据源实现观察参数和调整。观察参数包括运行平均值和运行标准偏差参数,而调整参数包括用作线性回归乘数的观察平均值和观察方差参数。因此,梯度下降逻辑628使用包括观察到的平均值和观察到的方差乘数值的线性表达式来预测下一更新的到达时间。

在一个实施例中,在接收高速缓存更新之前,分别用值1和0.3初始化每个数据源的观察平均值和观察方差乘数。但是其他实施例可以具有不同的初始化值。当接收到针对数据源的更新时,梯度下降逻辑628连续地调整观察到的平均值和观察到的方差值,以使预测到达时间值与实际(或观察到)到达时间值之间的均方根误差最小化。因此,均方根误差最小化导致生成后续更新的预测到达时间。

在一个实施例中,梯度下降逻辑628生成到达时间值,该到达时间值与在高速缓存629处从数据源接收到包括最新更新的数据流的时间相关联。随后,调整观察到的平均值和观察到的方差值,并且基于调整后的值生成预测到达时间值。因此,梯度下降逻辑628实现迭代过程以学习数据源的高速缓存更新频率,以便生成下一更新的预测到达时间。此外,仅需要存储观察到的平均值和观察到的方差值,以用于预测引擎627仅通过调整来预测到达时间。结果,不必存储过去更新到达时间值。

在另一实施例中,预测引擎627可以为每个数据源生成更新速率(或陈旧度(staleness))值。在这样的实施例中,陈旧度值包括表示为自最近接收到的数据更新(例如,到达时间值)以来的经过时间除以直到后续数据更新的预测到达时间值为止的延迟时间所表示的百分比。因此,陈旧度值在更新到达之后立即为零,并且线性增加直到下一更新到达。作为示例,在自接收到数据源的最近接收的数据更新以来已经过去一个小时并且预测到达时间为10小时的情况下,陈旧度值表示为10%。

在一个实施例中,在到预测到达时间尚未接收到数据更新的情况下,陈旧度值可以超过100%。例如,在确定自从接收到数据源的最近接收的数据更新以来已经过去了12个小时并且预测到达时间为10个小时的情况下,可以将陈旧度值计算为120%。这可能表明数据源或与数据源的通信发生问题。结果,可以生成警报,以指示数据流的当前高速缓存数据已经超过到期时间,并且是不可靠的。

图7是示出用于预测数据源的高速缓存更新的过程的一个实施例的流程图。在处理框710,检测到在数据高速缓存629处接收的针对数据源的更新。如上所述,更新被包括在具有与数据源(例如,基础设施设备、ic221、应用等)相关联的唯一id的数据流中。在处理框720,生成到达时间值,该到达时间值与在高速缓存629处接收到更新的时间相关联。

在处理框730,调整观察到的平均值和观察到的方差值。基于该调整,在处理框740生成预测到达时间值。如上所述,通过使预测到达时间值与实际(或观察到的)到达时间值之间的均方根误差最小化来生成预测到达时间值。在处理框750,报告预测到达时间值。如上所述,可以将预测到达时间值报告为陈旧度值,该陈旧度值表示指示自最近接收到的数据更新以来经过的时间的百分比。100%或更高的陈旧度百分比表示当前高速缓存的数据陈旧,因此不可靠。

实施例可以被实现为以下中的任何一种或组合:使用母板互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储器设备存储并且由微处理器执行的软件、固件、专用集成电路(asic)和/或现场可编程门阵列(fpga)。术语“逻辑”例如可以包括软件或硬件和/或软件和硬件的组合。

实施例可以被提供作为例如计算机程序产品,该计算机程序产品可以包括其上存储有机器可执行指令的一个或多个机器可读介质,该机器可执行指令在由诸如计算机、计算机网络或其他电子设备等一个或多个机器执行时可能导致一个或多个机器执行根据本文中描述的实施例的操作。机器可读介质可以包括但不限于软盘、光盘、cd-rom(光盘只读存储器)和磁光盘、rom、ram、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、磁卡或光卡、闪存、或适合于存储机器可执行指令的其他类型的介质/机器可读介质。

此外,可以将实施例下载为计算机程序产品,其中可以通过经由通信链路(例如,调制解调器和/或网络连接)体现在载波或其他传播介质中或由载波或其他传播介质调制的一个或多个数据信号将程序从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。

附图和前面的描述给出了实施例的示例。本领域技术人员将理解,所描述的元素中的一个或多个可以很好地组合成单个功能元素。替代地,某些元素可以被分成多个功能元素。来自一个实施例的元素可以被添加到另一实施例。例如,本文中描述的过程的顺序可以改变,并且不限于本文中描述的方式。而且,任何流程图中的动作都无需按照所示顺序执行;也不必必须执行所有动作。而且,不依赖于其他动作的动作可以与其他动作并行地执行。实施例的范围绝不受这些具体示例的限制。很多变化是可能的,无论这些变化是否在说明书中明确给出,诸如结构、尺寸和材料使用的差异。实施例的范围至少与所附权利要求书所给的范围一样宽。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1