首页> 中国专利> 用于端点安全与网络安全服务之间的协调的框架

用于端点安全与网络安全服务之间的协调的框架

摘要

一种技术包括分别根据各自的安全容器操作一个或更多个虚拟机,其中各自的安全容器与基于一个或更多个标准指定虚拟机从各自的安全容器到隔离容器传送的各自的规则相关联。在一个或更多个虚拟机上操作一个或更多个安全服务,以识别与一个或更多个虚拟机相关联的一个或更多个安全威胁。获得由端点安全服务生成的一个或更多个标记,其中每个标记用于与识别出的安全威胁之一相关联的虚拟机。并且至少基于所获得的标记当中的一个或更多个以及一个或更多个标准来将虚拟机之一识别为需要传送到隔离容器。

著录项

  • 公开/公告号CN105324778A

    专利类型发明专利

  • 公开/公告日2016-02-10

    原文格式PDF

  • 申请/专利权人 NICIRA股份有限公司;

    申请/专利号CN201480034454.9

  • 申请日2014-04-11

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人欧阳帆

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-18 14:11:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-16

    授权

    授权

  • 2016-03-09

    实质审查的生效 IPC(主分类):G06F21/56 申请日:20140411

    实质审查的生效

  • 2016-02-10

    公开

    公开

说明书

技术领域

本文档涉及虚拟机和安全服务。

背景技术

虚拟机是物理计算机系统的基于软件的抽象。一般而言,可以在 物理计算机系统上执行的任何计算机程序都可以使用虚拟化软件在虚 拟机中执行。虚拟化软件是逻辑上介入虚拟机和物理计算机系统之间 并与虚拟机和物理计算机系统接合的软件。每个虚拟机被配置为执行 在此被称为客户OS的操作系统以及应用程序。在此被称为主机的物 理计算机系统可以执行一个或更多个虚拟机。

通过网络连接,虚拟机可以被本地或远程访问。例如,有可能使 用远程桌面客户端来远程访问虚拟机。远程桌面客户端是与远程计算 机系统交流用户接口信息的计算机程序。一般而言,用户接口信息包 括从远程计算机系统接收并且显示在用户本地的计算机上的显示数 据,并且向远程计算机系统发送由用户生成的键盘和鼠标输入。以这 种方式,远离用户地执行的应用程序可以被用户访问并与用户交互。

另外,不管是在虚拟机上执行还是在主机上直接执行,应用程序 和操作系统都仍然易受暗中进入计算机环境的诸如病毒或蠕虫之类的 程序或代码的攻击。病毒常常自我复制,或者使它们被复制,由此消 耗过量的计算机资源,并造成计算机操作的劣化或中断。“蠕虫”可 以被定义为把它自己自动附到发出的电子邮件或其它网络消息的病 毒。有些病毒擦除或破坏磁盘文件,或者要求硬盘全部重新格式化。 病毒可能一进入计算机环境就立刻肆意破坏,或者可能处于休眠状态 直到环境使它们的代码被主计算机执行。不管特定的病毒会造成什么 样的潜在损坏,所有病毒一般都被认为是恶意的,都应当防止其感染 系统,并且如果发现就应当除去。为此,术语“病毒”将指任何此类 恶意代码。

病毒的威胁在联网的环境中尤为严重,在所述联网的环境中,网 络上的计算机能够被黑客团伙创建的复杂性和严重性程度不同的病毒 访问。这些病毒可以通过各种机制(例如,作为电子邮件的附件或者 作为下载文件)或者通过监听网络端口的服务程序来暗中进入计算机 环境。防病毒软件的各种示例包括针对恶意代码来扫描整个盘驱动器 和存储器系统的系统扫描器,以及在被操作系统请求时对文件进行扫 描的“按访问(on-access)”扫描器。其它类型的防病毒软件也是可 能的。

发明内容

一般而言,本文档中所描述的主题的一方面可以体现在以下技术 中,该技术包括:分别根据各自的安全容器(securitycontainer)来 操作一个或更多个虚拟机,其中各自的安全容器与各自的规则相关 联,所述规则基于一个或更多个标准指定虚拟机从各自的安全容器到 隔离容器(quarantinecontainer)的传送;在所述虚拟机中的一个或 更多个上操作一个或更多个端点安全服务,以识别与所述虚拟机中的 一个或更多个虚拟机相关联的一个或更多个安全威胁;获得由所述一 个或更多个安全服务生成的一个或更多个标记,其中每个标记用于与 识别出的安全威胁之一相关联的虚拟机;至少基于所获得的标记当中 的一个或更多个以及所述标准中的一个或更多个,来识别虚拟机中需 要传送到隔离容器的一个虚拟机;以及,把识别出的虚拟机传送到隔 离容器。该方面的其它实施例包括对应的系统、装置和被编码在非临 时性机器可读存储介质上的计算机软件。

这些及其它方面可以可选地包括以下特征中的一个或更多个。安 全服务可以包括防病毒扫描器、数据丢失防护(DLP)、文件完整性 监视、木马(rootkit)检测器、漏洞管理、网络防火墙、web安全控 制,以及入侵检测/防护系统。可以解决安全威胁,以除去使识别出 的虚拟机从该识别出的虚拟机的各自的安全容器传送到隔离容器的标 记;并且识别出的虚拟机可以从隔离容器传送到该识别出的虚拟机的 各自的安全容器。可以提供用户接口来创建并配置一个或更多个各自 的安全容器,其中用户接口被配置为针对一个或更多个各自的安全容 器中的每一个创建一个或更多个基于标记的规则。每个标记可以包括 虚拟机标识符、标记标签、以及标记值。各自的规则可以指定威胁级 别阈值,并且其中识别虚拟机包括将标记值与该威胁级别阈值进行比 较。一个或更多个端点安全服务可以包括被配置为根据已知的标记格 式生成标记的防病毒扫描器、被配置为根据已知的标记格式生成标记 的漏洞管理机制、或者被配置为根据已知的标记格式生成标记的数据 丢失防护机制中的一个或更多个。操作一个或更多个虚拟机可以包 括:响应于虚拟机登录事件来检测用户成员资格组;基于用户成员资 格组来选择各自的安全容器;并且把与虚拟机登录事件相关联的虚拟 机分派给选定的安全容器。一个或更多个各自的安全容器可以包括: 与第一规则相关联的第一安全容器,所述第一规则基于一个或更多个 第一标准来指定虚拟机从第一安全容器到第一隔离容器的传送;以及 与第二规则相关联的第二安全容器,所述第二规则基于一个或更多个 第二标准来指定虚拟机从第二安全容器到第二隔离容器的传送。实现 方式可以包括操作标记通信层以接收来自一个或更多个安全服务的一 个或更多个标记,该标记通信层对于一个或更多个端点安全服务是不 可知的。实现方式可以包括根据隔离容器来操作网络防火墙,以限制 识别出的虚拟机的网络连接性。

本文档中所描述的主题的特定实施例可被实施为实现以下优点中 的一个或更多个。提供让安全服务标记虚拟机的框架可以使得被标记 的虚拟机能够快速且自动地传送到诸如隔离容器之类的不同的、更严 格的容器。一旦在虚拟机上检测到病毒,对于防止病毒对未受影响的 系统的扩散或影响、防止敏感信息的泄漏或者这两者,最小化虚拟机 在隔离容器之外所花的时间是有利的。

本文档中所描述的主题的一个或更多个实施例的细节在附图和以 下说明书中得到阐述。通过阅读说明书、附图和权利要求,主题的其 它特征、方面和优点将变得清楚。

附图说明

图1示出了虚拟机被分派给安全容器以及虚拟机在安全容器之间 传送的示例。

图2示出了被配置为执行虚拟机的系统的示例的体系架构。

图3示出了包括安全管理器的安全框架的示例的体系架构。

图4示出了安全过程的示例的流程图。

图5示出了安全过程的另一示例的流程图。

图6示出了安全过程的另一示例的流程图。

各种图中相同的附图标记和命名指示相同的要素。

具体实施方式

本文档描述在不同的端点安全服务(例如,防病毒软件)和网络 安全服务(例如,网络防火墙)之间实现协同编排(synergistic orchestration)的框架。这种框架可以使得能够在虚拟机环境内对安 全策略的违背进行快速且自动的响应,同时使得客户能够选择端点和 网络安全服务中的最佳种类,包括由不同供应商提供的那些服务。

图1示出了虚拟机被分派给安全容器以及虚拟机在安全容器之间 传送的示例。诸如数据处理装置之类的物理机器可以根据分别分派的 安全容器105a-c来执行虚拟机110a-d。安全容器105a-c是可以指定 诸如防火墙设置115a-c、用于一个或更多个安全服务的操作设置以及 基于标记的规则120a-c之类的策略的虚拟机操作环境。在一些实现 方式中,安全容器105a-c与各自的具有不同允许级别的网络连接性 的防火墙设置115a-c相关联。在这个示例中,第一安全容器105a与 指定完全网络访问的防火墙设置115a相关联,而第二安全容器105b 与指定受限网络访问的防火墙设置115b相关联。例如,隔离容器 105c可以与指定无网络访问的防火墙设置115c相关联。基于标记的 规则120a-b可以基于一个或更多个标准(诸如基于由一个或更多个 安全服务提供的安全标记的标准)来指定到隔离容器105c的传送 130。安全标记可以表示由虚拟机110a-d的安全服务审查生成的安全 决定。在有些情况下,规则120c可以指定一旦标记被安全服务清除 就从隔离容器105c离开的传送130。

图2示出了被配置为执行虚拟机的系统201的示例的架构。在系 统201中,物理机器230可以被配置为使用管理程序220来执行虚拟 机110a-e。计算机终端240a-b可以利用网络235来访问虚拟机110a- e。在有些实现中,系统201可以被配置为经由计算机终端240a-b来 提供虚拟桌面基础架构(virtualdesktopinfrastructure,VDI)。 VDI允许计算机管理员在虚拟基础架构上主持和管理用户桌面,例 如,VDI给予每个用户用于桌面计算的独立虚拟机。在有些实现 中,计算机终端240a-b被配置为通过使用远程桌面协议来向虚拟机 110a-e提供物理前端。计算机终端240a-b的各种示例包括诸如PC、 瘦客户端(thinclient)、零客户端之类的客户端访问设备。其它类 型的终端也是可能的。

有些虚拟机110a-d可以分别被分派给安全容器105a-c中的一 个,而被称为安全虚拟机的一个或更多个其它虚拟机110e可以被配 置为向虚拟机110a-d提供端点安全服务、网络安全服务或者这两 者。例如,安全虚拟机110e可以执行端点安全服务,诸如针对诸如 病毒之类的安全威胁来对其它虚拟机110a-d进行扫描的防病毒扫描 器。在有些实现中,例如,防病毒扫描器可以与在虚拟机110a-d上 运行的瘦代理(thinagent)交互,以执行对虚拟机的内存、持久性 储存器和网络通信的扫描。在其它实现中,安全虚拟机110a上的防 病毒扫描器可以自主地扫描其它虚拟机110a-d。在其它实现中,管 理程序220可以执行一个或更多个网络安全服务,诸如操作网络防火 墙。

图3示出了包括安全管理器310的安全框架的示例的架构。虚拟 基础结构可以部署包括端点安全服务305a-b和网络安全服务305c-d 的安全服务305a-d。端点安全服务305a-b的各种示例包括防病毒扫 描器、数据丢失防护(DLP)、文件完整性监视、木马检测器和漏洞 管理。其它类型的示例也是可能的。网络安全服务305c-d的各种示 例包括网络防火墙、web安全控制和入侵检测/防护系统。其它类型 的示例也是可能的。

安全管理器310可以基于安全容器与安全服务305a-d交互。安 全管理器310可以提供用于创建和配置安全容器的用户接口。安全容 器可以指定要在分派给该容器的虚拟机上执行的一个或更多个安全服 务。一个或更多个规则可以与每个安全容器相关联。这种规则可以存 储在安全容器规范数据库320中。在有些实现中,规则可以基于安全 扫描的结果来指定动作(例如,移到隔离容器)。另外,针对服务 305a-d中的一个或更多个的配置信息可以存储在安全容器规范数据 库320中。配置信息可以针对每个安全服务来指定,并且可以包括诸 如安全服务名称、对应于安全服务的可执行文件的位置或者安全设置 之类的参数。其它类型的参数也是可能的。例如,用于防病毒安全服 务的配置信息可以包括扫描频率和扫描类型。在有些实现中,安全管 理器310可以基于由安全容器指定的配置信息来操作安全服务305a- d。安全管理器310可以把虚拟机分派给安全容器;这种分派被存储 在虚拟机安全容器分派数据库325中。

安全服务305a-d中的一个或更多个可以基于安全扫描的结果、 安全事件或者这两者来把标记分派给虚拟机。安全管理器310可以提 供标记通信层,以从安全服务305a-d中的一个或更多个接收标记并 且把标记分配给诸如虚拟机标记检查器330之类的组件。在有些实现 中,标记信息可以包括虚拟机标识符、标记名称和标记值。其它类型 的标记信息也是可能的。在有些实现中,可以使用可扩展标记语言 (XML)将标记传送到标记通信层。虚拟机标记检查器330可以访 问由安全服务305a-d生成的标记并且把它们与由安全容器的规则指 定的一个或更多个标准进行比较。基于满足该一个或更多个标准,可 以自动执行与该规则相关联的动作。

图4示出了如由一个或更多个数据处理装置实施的安全过程的示 例的流程图。在405,该过程在虚拟机(VM)上部署安全服务。在 有些实现中,部署安全服务可以包括安装诸如防病毒扫描器之类的安 全软件。在410,该过程注册安全服务。注册安全服务可以包括配置 安全管理器以操作安全服务。注册安全服务可以包括配置安全管理器 配置以识别由安全服务生成的标记。

在415,该过程提供用户接口(UI),以创建并配置安全容器和 用于容器的基于标记的规则。提供UI可以包括显示图形用户接口 (GUI)。提供UI可以包括提供命令行接口(CLI)。在有些实现 中,UI可以被设计成针对不同的安全容器而指定不同的服务配置选 项。例如,一个安全容器可以具有按小时的防病毒扫描需求,而另一 个安全容器可以具有按天或按周的防病毒扫描需求。

在420,该过程把VM分派给安全容器中的一个或更多个。在有 些实现中,UI还可以提供用于把虚拟机分派给安全容器的界面。在 有些实现中,VM到安全容器的分派是响应于登录事件而动态执行 的。例如,分派可以基于与登录事件相关联的用户的用户身份或用户 组身份。

在425,该过程经由安全容器来应用安全服务。经由安全容器应 用安全服务可以包括基于安全容器的需求来访问和使用一个或更多个 服务配置选项。在430,该过程在VM上操作安全服务,以检测安全 威胁。在有些实现中,安全管理器可以使安全服务根据安全容器的需 求以周期性的时间间隔执行虚拟机的扫描。在435,该过程基于各自 检测到的安全威胁来选择性地把标记分派给VM。例如,安全服务可 以基于检测到诸如病毒或造成漏洞的配置错误之类的威胁来输出标 记。标记的各种示例包括基于文本的标签,诸如 “virus.threat=detected”、“malware.threat=high”或 “dlp.violation=HIPAA”。其它类型的标签也是可能的,例如标记 可以以二进制格式而不是文本格式表示。在有些实现中,标记可以包 括行业标准漏洞得分,诸如通用漏洞评分系统(CVSS)得分,例如 “CVSS=9.7”。在440,该过程基于所分派的标记和基于标记的规 则来选择性地改变VM的安全容器分派。例如,安全容器可以指 定:CVSS得分为7或以上的任何分派的VM都传送到阻止网络访问 的隔离容器。

图5示出了如可以由一个或更多个数据处理装置实施的安全过程 的另一示例的流程图。在505,该过程创建具有如下规则的一个或更 多个安全容器:所述规则基于一个或更多个标准来指定到隔离容器的 传送。标准的各种示例包括威胁级别阈值标准、漏洞标准、文件完整 性标准、木马检测标准。其它类型的标准也是可能的。例如,一个规 则可以指定威胁级别阈值标准,如果该标准被满足或超过,则会触发 传送。例如,另一个规则可以指定木马检测标准,如果该标准被满 足,例如检测到木马,则会触发传送。操作一个或更多个虚拟机可以 包括:响应于虚拟机登录事件来检测用户成员资格组、基于用户成员 资格组来选择安全容器、以及把与虚拟机登录事件相关联的虚拟机分 派给选定的安全容器。

在510,该过程根据一个或更多个安全容器来操作一个或更多个 虚拟机。在515,该过程在虚拟机上操作一个或更多个端点安全服 务,以识别一个或更多个安全威胁并且把一个或更多个标记分派给一 个或更多个虚拟机中的一个或更多个。操作一个或更多个端点安全服 务可以包括使服务把标记发送到标记通信层。

在520,该过程操作标记通信层以接收来自一个或更多个端点安 全服务的一个或更多个标记,所述标记通信层对于一个或更多个端点 安全服务是不可知的或者独立的。这种不可知的标记通信层可以使得 来自相同或不同供应商的安全服务能够访问标记通信层并且使得能够 经由安全管理器进行服务间的协调。另外,标记通信层可以采用已知 的标记格式,使得端点安全服务根据该已知的标记格式提供标记。在 有些实现中,操作标记通信层包括接收包含虚拟机标识符、标记标签 和标记值的标记。在有些实现中,操作标记通信层包括从安全服务接 收包含标记的数据包。操作标记通信层可以包括存储由端点安全服务 产生的标记。在有些实现中,标记通信层基于发布/订阅模型,在所 述发布/订阅模型中安全服务把标记发布到中间件引擎并且标记检查 器向中间件引擎订阅以接收标记。

在525,该过程在使用一个或更多个标记和一个或更多个标准的 规则下识别需要传送到隔离容器的虚拟机。识别需要传送的虚拟机可 以包括从标记数据库检索标记。识别需要传送的虚拟机可以包括经由 标记通信层检索存储在一个或更多个存储器位置中的标记数据。识别 需要传送的虚拟机可以包括比较被访问的虚拟机标记与相应安全容器 的一个或更多个规则。该过程可以包括把识别出的虚拟机传送到隔离 容器。传送识别出的虚拟机可以包括更新安全容器分派数据条目。传 送识别出的虚拟机可以包括把虚拟机标识符添加到被分派给安全容器 的虚拟机的列表。在530,该过程根据隔离容器来操作网络防火墙, 以限制识别出的虚拟机的网络连接性。

图6示出了安全过程的另一示例的流程图。在605,该过程访问 由用于分派给第一安全容器的虚拟机的端点安全服务生成的标记。在 610,该过程基于标记来确定第一安全容器是否需要将虚拟机传送到 第二安全容器。如果不需要传送,则在630,该过程继续根据第一安 全容器操作虚拟机。如果需要传送,则在615,该过程把虚拟机传送 到第二安全容器。在620,该过程根据第二安全容器操作虚拟机。在 625,该过程解决安全威胁,以除去标记并且传送回第一安全容器。 解决安全威胁可以包括除去受病毒感染的文件、应用软件更新、或者 终止易受攻击的进程/软件。解决安全威胁可以包括重新执行安全服 务以及基于安全服务的决定来确定是否除去标记。在630,该过程根 据第一安全容器操作虚拟机。

本文所描述的安全过程中的一个或更多个可以在以下示例中采 用。在典型的医院数据中心中,管理员可以通过安全管理器来部署诸 如防病毒产品、DLP产品、漏洞管理产品之类的端点安全解决方 案、以及诸如防火墙产品、web安全控制产品之类的网络安全服务。 管理员可以使用安全管理器的GUI来创建用于不同医院员工的用户 成员资格组,诸如医生用户组和护士用户组。另外,管理员可以使用 GUI来创建用于每个用户成员资格组的安全容器。此外,管理员还 可以为病人医疗记录服务器创建组和安全容器。管理员可以基于安全 策略来使用GUI创建用于安全容器的规则。例如,医院的董事会可 以批准以下安全策略:

安全策略1.允许医生外部访问互联网,但是他们需要服从web 安全控制(例如,不允许浏览被董事会归类为“受限”的网站);

安全策略2.不允许护士外部互联网访问;

安全策略3.医生和护士的机器需要按天用防病毒服务扫描;

安全策略4.被诊断为病毒或已知恶意风险级别高于“中等”的 任何机器都必须被隔离,不能进行网络访问;

安全策略5.医生和护士的机器需要针对HIPAA策略违反按周 用DLP服务扫描(例如,这些机器不准永久性地存储机密的病人数 据);

安全策略6.如果机密的病人数据存在于机器上,则机器需要被 隔离,无法网络访问外界,并且数据需要被除去;

安全策略7.医务人员可以访问病人医疗记录服务器,以访问病 人数据,但是非医务人员不可以;

安全策略8.所有机器都将通过漏洞管理服务按周进行针对漏洞 的扫描;以及

安全策略9.CVSS得分高于8的带有漏洞的机器必须被隔离。

为了遵守上述经批准的安全策略,管理员可以使用安全管理器的 GUI来执行以下:

a)把web安全控制安全服务分派给“医生”安全容器(解决安 全策略1),

b)把具有阻止访问外部网站的策略的网络防火墙服务分派给 “护士”安全容器(解决安全策略2),

c)以每天一次的扫描频率把端点安全防病毒服务分派给“医 生”安全容器和“护士”安全容器(解决安全策略3),

d)把端点安全DLP服务分派给“医生”安全容器和“护士”安 全容器,使得DLP服务按周扫描HIPAA违反(解决安全策略5),

e)把具有允许访问病人医疗记录服务器的策略的网络防火墙服 务分派给“医生”安全容器和“护士”安全容器(解决安全策略 7),

f)把具有阻止访问病人医疗记录服务器的策略的网络防火墙服 务分派给与非医务人员相关联的安全容器(解决安全策略7),

g)把端点安全漏洞管理服务分派给所有容器并且把扫描频率设 置为每周一次(解决安全策略8),

h)把基于标记的规则分派给安全容器,使得标记为“中等”或 更高威胁级别的虚拟机被传送到隔离容器(解决安全策略4),

i)把基于标记的规则分派给安全容器,使得标记为DLP违反的 虚拟机被传送到隔离容器(解决安全策略6),以及

j)把基于标记的规则分派给安全容器,使得标记为CVSS得分 高于8的虚拟机被传送到隔离容器(解决安全策略9)。

基于经由GUI接收的输入,安全管理器可以输出一个或更多个 配置文件,该一个或更多个配置文件捕捉被分派的服务和基于标记的 规则。在有些实现中,配置文件可以基于诸如XML之类的基于文本 的格式或二进制格式而被格式化。另外,安全管理器可以维持一个或 更多个日志文件,该一个或更多个日志文件识别虚拟机以及相关联的 事件,其中相关联的事件诸如是标记分派或基于规则的动作(如到隔 离容器的传送)。

本文档中所描述的主题和操作的实施例可以以包括本文档中所公 开的结构及其结构等效物的数字电子电路或者计算机软件、固件或硬 件或者它们当中的一个或更多个的组合来实现。本文档中所描述的主 题的实施例可以被实现为编码在计算机存储介质上的一个或更多个计 算机程序,即计算机程序指令的一个或更多个模块,以便由数据处理 装置执行或者以便控制数据处理装置的操作。替代地或附加地,程序 指令可以被编码在人工生成的传播信号(例如机器生成的电、光或电 磁信号)上,所述传播信号被生成为对信息进行编码以便发送到合适 的接收器装置来让数据处理装置执行。计算机存储介质可以是或者可 以包含于计算机可读存储设备、计算机可读存储基底、随机或串行访 问存储器阵列或设备、或者它们当中一个或更多个的组合。另外,虽 然计算机存储介质不是传播信号,但是计算机存储介质可以是编码在 人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储 介质还可以是或者可以包含于一个或更多个分离的物理组件或介质 (例如,多个CD、盘、或者其它存储设备)。

本文档中所描述的操作可以被实现为由数据处理装置对存储在一 个或更多个计算机可读存储设备上的或者从其它源接收的数据执行的 操作。术语“数据处理装置”涵盖了用于处理数据的所有种类的装 置、设备和机器,作为示例,包括可编程处理器、计算机、片上系 统、或者这些中的多个或组合。该装置可以包括专用逻辑电路,例如 FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之 外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例 如,构造处理器固件、协议堆栈、数据库管理系统、操作系统、跨平 台运行时环境、虚拟机或者它们当中一个或更多个的组合的代码。所 述装置和执行环境可以实现各种不同的计算模型基础结构,诸如web 服务、分布式计算和网格计算基础结构。

计算机程序(也称为程序、软件、软件应用程序、脚本或代码) 可以以任意形式的编程语言来写,包括编译性或解释性语言、声明性 或过程性语言,并且可以以任意形式部署,包括作为独立的程序或者 作为适于在计算环境中使用的模块、组件、子例程、对象或其它单 元。计算机程序可以但不一定对应于文件系统中的文件。程序可以存 储在存有其它程序或数据(例如,存储在标记语言文档中的一个或更 多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文 件中或者存储在多个协调的文件(例如,存储一个或更多个模块、子 程序或代码部分的文件)中。计算机程序可以被部署成在一个计算机 上或者在位于一个地点的多个计算机上或者在跨多个地点分布并且通 过通信网络互连的多个计算机上执行。

本文档中所描述的过程和逻辑流可以由执行一个或更多个计算机 程序的一个或更多个可执行处理器执行,以便通过对输入数据进行操 作并且生成输出来执行动作。过程和逻辑流还可以由专用逻辑电路系 统执行,并且装置也可以被实现为专用逻辑电路系统,专用逻辑电路 例如是FPGA(现场可编程门阵列)或ASIC(专用集成电路)。

举例来说,适于执行计算机程序的处理器包括通用和专用微处理 器这两者,以及任何种类的数字计算机的任意一个或更多个处理器。 一般而言,处理器将从只读存储器或随机存取存储器或者这二者接收 指令和数据。计算机的基本元素是用于根据指令执行动作的处理器以 及用于存储指令和数据的一个或更多个存储器设备。一般而言,计算 机还将包括用于存储数据的一个或更多个大型存储设备(例如,磁、 磁光盘或光盘),或者被操作性地耦接为从一个或更多个大型存储设 备接收数据或向其发送数据。但是,计算机不一定具有这种设备。而 且,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理 (PDA)、移动音频或视频播放器、游戏控制台、全球定位系统 (GPS)接收器、或者便携式存储设备(例如,通用串行总线 (USB)闪存驱动器),等等。适于存储计算机程序指令和数据的设 备包括所有形式的非易失性存储器、介质和存储器设备,举例来说, 包括:半导体存储器设备,例如EPROM、EEPROM和闪存存储器 设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和 DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统补充,或 者被并入到专用逻辑电路中。

为了提供与用户的交互,本文档中所描述的主题的实施例可以在 具有用于向用户显示信息的显示设备以及键盘和定点设备的计算机上 实现,其中显示设备例如是CRT(阴极射线管)或LCD(液晶显示 器)监视器,定点设备例如是让用户可以向计算机提供输入的鼠标或 轨迹球。其它类型的设备也可以用来提供与用户的交互;例如,提供 给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈 或触觉反馈;并且来自用户的输入可以以任何形式接收,包括声学、 语音或触觉输入。此外,计算机可以通过向用户所使用的设备发送文 档以及从该设备接收文档来与用户交互;例如,通过响应于从用户的 客户端设备上的web浏览器接收的请求而向该web浏览器发送网 页。

本文档中所描述的主题的实施例可以在包括后端组件(例如,作 为数据服务器)或包括中间件组件(例如,应用服务器)或包括前端 组件(例如,具有用户通过其与本文档中所描述的主题的实现进行交 互的图形用户接口或web浏览器的客户端计算机)或者一个或更多 个这种后端、中间件或前端组件的任意组合的计算系统中实现。系统 的组件可以通过数字数据通信的任何形式或介质互连,例如,通过通 信网络。通信网络的示例包括局域网(“LAN”)、广域网 (“WAN”)、互联网络(例如,因特网)、和端对端网络(例 如,自组织端对端网络)。

计算系统可以包括客户端和服务器。客户端和服务器一般彼此远 离并且典型地通过通信网络进行交互。客户端和服务器的关系的发生 借助于依靠在各自的计算机上运行并且彼此具有客户端-服务器关系 的计算机程序。在有些实施例中,(例如,为了向与客户端设备交互 的用户显示数据并且从其接收用户输入)服务器向客户端设备发送数 据(例如,HTML页面)。在客户端设备生成的数据(例如,用户 交互的结果)可以在服务器处从客户端设备接收。

虽然本文档包含许多具体的实现细节,但是这些不应当被认为是 对任何发明或可能被要求保护的范围的限制,而应当作为针对特定发 明的特定实施例的特征的描述。在单独实施例的背景下本文档中所描 述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例 的背景下描述的各种特征也可以在多个实施例中单独地实现或者以任 意合适的子组合实现。而且,虽然在上面可能将特征描述为以某种组 合起作用并且甚至初始就是这样要求保护的,但是来自要求保护的组 合的一个或更多个特征在有些情况下可以从组合中除去,并且要求保 护的组合可以针对子组合或子组合的变型。

类似地,虽然在附图中以特定的次序描绘了操作,但是这不应当 被理解为为了取得期望的结果,要求这种操作以所示出的特定次序或 者以顺序次序执行,或者所有例示的操作都要执行。在某些情况下, 多任务和并行处理可能是有利的。而且,上述实施例中的各种系统组 件的分离不应当被理解为在所有实施例中都需要这种分离,并且应当 理解的是,所描述的程序组件和系统一般可以一起集成在单个软件产 品中或者封装到多个软件产品中。

因而,已经描述了主题的特定实施例。其它实施例在以下权利要 求的范围内。在有些情况下,权利要求中所记载的动作可以按不同的 次序执行并且仍然取得期望的结果。此外,附图中所描绘的过程不一 定要求所示出的特定次序或顺序次序来取得期望的结果。在某些实现 中,多任务和并行处理可能是有利的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号