使用数据交换层系统的事件响应工具的制作方法

文档序号:11291098阅读:337来源:国知局
使用数据交换层系统的事件响应工具的制造方法与工艺

本公开总体上涉及用于使用数据交换层系统的事件响应工具的系统和方法。



背景技术:

人们和公司对计算机系统和设备的依赖突出了计算机安全的日益重要。计算机安全可以包含通过其防止数字设备、信息和服务被意外或未经授权的访问的过程和机制。诸如计算机、笔记本电脑、智能手机、平板电脑、可穿戴式计算机等的用户设备可能需要专门的工具来识别问题。可以使用专门的工具来检测和响应可能影响用户设备的性能或安全性的事件。不幸的是,在速度和连通性被高度重视的世界中,目前可用的工具可能需要大量的时间来识别和隔离用户设备上的问题。

附图说明

具体实施方式参照附图进行说明。使用相同的附图标记表示相似或相同的组件或元件;然而,也可以使用不同的附图标记来表示可能相似或相同的组件或元件。本公开的各种实施方式可以利用除了附图中所例示的元件和/或组件之外的元件和/或组件,并且在各种实施方式中可以不存在某些元件和/或组件。根据上下文,用于描述元件或组件的单数(singular)术语可以包含复数(pluralnumber)个这样的元件或组件,反之亦然。

图1描绘了根据本公开的一个或更多个实施方式的使用数据交换层系统的事件响应工具的示例性系统架构的各种组件之间的示例性数据流。

图2是根据本公开的一个或更多个实施方式的包括图1所描绘的示例性系统架构的各种硬件和软件组件的框图。

图3是根据本公开的一个或更多个实施方式的用于与示例性系统架构中的各种组件进行通信的数据交换层系统中的事件响应工具的示例性方法的过程流程图。

图4是根据本公开的一个或更多个实施方式的用于数据交换层系统中的事件响应工具中的主动陷阱(proactivetrap)的示例性方法的过程流程图。

图5是根据本公开的一个或更多个实施方式的用于数据交换层系统中的事件响应工具中的本地历史高速缓存的示例性方法的过程流程图。

图6是根据本公开的一个或更多个实施方式的用于数据交换层系统中的事件响应工具中的基线(baseline)的示例性方法的过程流程图。

具体实施方式

本公开尤其涉及用于数据交换层系统中的事件响应工具的系统、方法、计算机可读介质、技术和方法。数据交换层系统可以是用于自适应安全性的开放环境或架构,其提供设备之间的实时、双向通信,以在减少的操作开销下实现数据的有效和快速的交换。事件响应工具可以利用数据交换层系统的消息传送(messaging)系统以低延迟有效地与用户设备和代理服务器(brokerserver)进行通信。通过利用数据交换层系统,事件响应工具可以大大减少从位于数据交换层系统内任何地方的用户设备获得数据(例如,诊断数据)所需的时间。数据交换层系统允许将事件响应工具扩展到数十万或数百万个用户设备。

事件响应工具可以利用被推送到用户设备的主动事件响应陷阱来通过恒定监视确定用户设备的当前状态,并且当陷阱被触发时被通知。在一些实施方式中,事件响应工具通过生成和维护本地高速缓存或历史来促进在用户设备上的本地活动的流视图(streamingview)。该流视图可以包括可调整的保留周期,其可以允许事件响应器搜索用户设备的历史记录以识别跨大组系统的活动,而无需与数据交换层系统内部的每个用户设备相关联的数据的中央处理的开销。在一些实施方式中,事件响应工具可以生成基线以建立用户设备或一组用户设备的常态。可以基于通过用户设备的本地高速缓存或历史从用户设备收集的数据或通过用户设备的一个或更多个收集器获得的数据来生成基线。基线可以是非确定性的,并且用于识别异常的设备或用户行为。一旦识别了异常行为,就可以基于其它相关数据来采取进一步的步骤。

以上已经讨论了各种示例性实施方式。在下文中将通过参照附图更详细地描述本公开的这些和其它示例实施方式。附图和相应的描述仅仅是为了例示而提供的,并不意图以任何方式限制本公开。应当理解,许多其它实施方式、变型等等都在本公开的范围内。

示例性使用案例和系统架构

图1描绘了根据本公开的一个或更多个实施方式的用于使用数据交换层系统的事件响应工具的系统的各种组件的示例性架构100。在图1中示意性地描绘了在一个或更多个网络110上通信的一个或更多个用户设备104、一个或更多个代理服务器106以及一个或更多个事件响应服务器108。在一些实施方式中,数据交换层系统可以是用于自适应安全性的开放环境或架构,其提供设备之间的实时、双向通信,以在减少的操作开销下实现数据的有效和快速的交换。例如,数据交换层系统可以提供连接的消息传送系统,其允许用户设备104、代理服务器106和/或事件响应服务器108以低延迟有效地进行通信。在图1中所描绘的示例性架构100中,事件响应服务器108可以与代理服务器106a-106e(统称为106)通信。代理中的每一个都可以与多个用户设备104相关联。多组用户设备104与代理服务器106的关联以及多个代理服务器106与事件响应服务器108的关联使得能够实现用于由系统对用户设备104进行连续监视的更有效的机制。事件响应服务器108可以利用数据交换层系统的消息传送能力来监视用户设备的活动并且主动检测使用若干不同特征的任何事件,诸如,本文中更详细地描述的主动事件响应陷阱、用户设备活动的本地高速缓存、以及用户设备基线。

用户设备104可以包括能够进行wifi和非wifi访问的任何合适的处理器驱动的计算设备,包括但不限于平板计算设备、电子书(e-book)阅读器、上网本、笔记本电脑、便携式计算机、超极本tm计算机、个人数字助理(pda)、智能手机、网络电视、视频游戏机、机顶盒(stb)、数字视频录像机(dvr)系统,或它们的组合等。为了便于说明,用户设备104在本文可能以单数形式描述;然而,应当理解,可以提供多个用户设备104。

代理服务器106可以包括任何合适的处理器驱动的计算设备,包括但不限于台式计算设备、膝上型计算设备、服务器、智能电话、平板电脑等。为了便于说明,代理服务器106在本文中可能以单数形式描述;然而,应当理解,可以提供多个代理服务器106。

事件响应服务器108可以包括任何合适的处理器驱动的计算设备,包括但不限于台式计算设备、膝上型计算设备、服务器、智能电话、平板电脑等。为了便于说明,事件响应服务器108在本文中可能以单数形式描述;然而,应当理解,可以提供多个事件响应服务器108。

图2是根据本公开的一个或更多个实施方式的包括图1所描绘的示例性系统架构的各种硬件和软件组件的框图。示例性架构200可以包括多个用户设备104、一个或更多个代理服务器106和/或一个或更多个事件响应服务器108。用户设备104、代理服务器106和/或事件响应服务器108可以包括参照图1描述的任何类型的设备。

用户设备104、一个或更多个代理服务器106和/或一个或更多个事件响应服务器108中的任何一个都可以被配置为经由一个或更多个网络110彼此之间以及与架构200的任何其它组件进行通信。网络110可以包括但不限于不同类型的合适的通信网络(诸如,有线网络、公共网络(例如,因特网)、专用网络、无线网络、蜂窝网络或任何其它合适的专用和/或公共网络)中的任何一个或组合。此外,网络110可以具有与之相关联的任何合适的通信范围,并且可以包括例如全球网络(例如,因特网)、城域网(man)、广域网(wan)、局域网(lan)、无线个人区域网络(wpan)或个人区域网络(pan)。另外,网络110可以包括通过其可以携带网络业务的任何类型的介质,包括但不限于同轴电缆、双绞线、光纤、混合光纤同轴(hfc)介质、微波地面收发器、射频通信介质、卫星通信介质、或它们的任何组合。

用户设备104、一个或更多个代理服务器106和/或一个或更多个事件响应服务器108中的任何一个都可以包括一个或更多个通信天线(未示出)。通信天线可以是与由用户设备104、一个或更多个代理服务器106和/或一个或更多个事件响应服务器108所使用的通信协议相对应的任何合适类型的天线。合适的通信天线的一些非限制性示例包括wi-fi天线、ieee802.11系列的标准兼容天线、定向天线、非定向天线、偶极天线、折叠偶极天线、贴片天线、多输入多输出(mimo)天线等。通信天线可以通信地联接到无线电组件以发送和/或接收信号,诸如,到用户设备104和/或来自用户设备104的通信信号。

用户设备104、一个或更多个代理服务器106和/或一个或更多个事件响应服务器108中的任何一个都可以包括发送/接收组件(收发器)或无线电组件,其可以包括任何用于在与由用户设备104、一个或更多个代理服务器106和/或一个或更多个事件响应服务器108中的任何一个所使用用于彼此通信的通信协议相对应的带宽和/或信道中发送和/或接收射频(rf)信号的任何合适的无线电和/或收发器。无线电组件可以包括根据预先建立的传输协议来调制和/或解调通信信号的硬件和/或软件。无线电组件还可以具有硬件和/或软件指令用以经由如通过电气和电子工程师协会(ieee)802.11标准标准化的一个或更多个wi-fi和/或wi-fi直接协议进行通信。在某些示例实施方式中,与通信天线协作的无线电组件可以被配置为经由2.4ghz信道(例如,802.11b、802.11g、802.11n)、5ghz信道(例如,802.11n、802.11ac)或60ghz信道(例如802.11ad)进行通信。在一些实施方式中,非wi-fi协议可以用于设备之间的通信,诸如,蓝牙、专用短距离通信(dsrc)或其它分组化无线电通信。无线电组件可以包括适于经由通信协议进行通信的任何已知的接收器和基带。无线电组件还可以包括低噪声放大器(lna)、附加信号放大器、模数(a/d)转换器、一个或更多个缓冲器以及数字基带。

用户设备104可以包括一个或更多个处理器232以及一个或更多个存储器(memory)236(本文中统称为存储器236)。处理器232可以包括能够接收数字数据作为输入、基于存储的计算机可执行指令来处理输入数据、以及生成输出数据的任何合适的处理单元。计算机可执行指令可以例如存储在数据储存器(storage)234中,并且尤其可以包括操作系统软件和应用软件。可以从数据储存器234检索计算机可执行指令,并根据需要加载到存储器236中以供执行。处理器232可以被配置为执行计算机可执行指令以导致执行各种操作。处理器232可以包括任何类型的处理单元,包括但不限于,中央处理单元、微处理器、微控制器、精简指令集计算机(risc)微处理器、复合指令集计算机(cisc)微处理器、专用集成电路(asic)、片上系统(soc)、现场可编程门阵列(fpga)等。

数据储存器234可以存储可由处理器232加载和执行的程序指令,以及在执行程序指令期间由处理器232操纵和生成的数据。程序指令可以根据需要被加载到存储器236中以供执行。根据用户设备104的配置和实现,存储器236可以是易失性存储器(未被配置为在未被供电时保留存储的信息的存储器),例如,随机存取存储器(ram)和/或非易失性存储器(被配置为即使在未被供电时也保留存储的信息的存储器),例如,只读存储器(rom)、闪存等。在各种实现中,存储器236可以包括多种不同类型的存储器,诸如,各种形式的静态随机存取存储器(sram)、各种形式的动态随机存取存储器(dram)、不可更改的(unalterable)rom和/或rom的可写变型(诸如,电可擦除可编程只读存储器(eeprom)、闪存等)。

用户设备104还可以包括附加数据储存器234,诸如,可拆卸储存器和/或不可拆卸储存器,包括但不限于,磁储存器、光盘储存器和/或磁带储存器。数据储存器234可以提供计算机可执行指令和其它数据的非易失性存储。存储器236和/或数据储存器234(可拆卸和/或不可拆卸)是计算机可读存储介质(crsm)的示例。

用户设备104还可以包括有助于示例性系统架构200的用户设备104与其它设备或应用软件之间经由网络110的通信的网络接口240。用户设备104还可以包括可以支持用户与各种i/o设备(诸如,键盘、鼠标、笔、指示设备、语音输入设备、触摸输入设备、显示器、扬声器、照相机、麦克风、打印机等)之间的交互的一个或更多个输入/输出(i/o)接口238(以及可选地相关联的软件组件,诸如设备驱动器)。

再次参照数据储存器234,其中可以存储各种程序模块、应用等,其可以包括当其由处理器232执行时导致执行各种操作的计算机可执行指令。存储器236可以从数据储存器234加载一个或更多个操作系统(o/s)242,其可以提供在用户设备104上执行的其它应用软件(例如,专用应用、浏览器应用、基于网络的应用、分布式客户端服务器应用等)与用户设备104的硬件资源之间的接口。更具体地说,o/s242可以包括用于管理用户设备104的硬件资源并且用于向其它应用程序提供共同服务(例如,管理各种应用程序之间的存储器分配)的一组计算机可执行指令。o/s242可以包括现在已知的或可能在将来开发出的任何操作系统,包括但不限于,任何移动操作系统、台式或膝上型操作系统、大型机操作系统或任何其它专用或开源操作系统。

数据储存器234还可以包括用于访问、检索、存储和/或操纵存储在一个或更多个数据存储区(datastore)250中的数据的一个或更多个数据库管理系统(dbms)244。dbms244可以使用各种数据库模型(例如,关系模型、对象模型等)中的任何一种,并且可以支持各种查询语言中的任何一种。一个或更多个数据存储区250可以存储由一个或更多个收集器246收集的数据和/或由事件响应客户端248生成的数据(例如,本地高速缓存数据、基线数据等)。

数据储存器234还可以包括可以包括用于支持各种相关的功能的计算机可执行指令的各种其它程序模块。例如,数据储存器234可以包括一个或更多个收集器246和/或一个或更多个事件响应模块248。

收集器246可以包括计算机可执行指令,其响应于处理器232的执行而导致执行操作,包括收集与用户设备上的不同类型的活动相关联的数据。在一些实施方式中,收集器246可以是由事件响应服务器108处的系统的管理员配置并且然后被推送到用户设备104的用户配置的收集器246。用户配置的收集器246可以直接收集用户设备104上的数据或测量活动。在一些实施方式中,收集器246可以包括持续收集器104,其可以监视用户设备104的文件、过程、注册表和/或网络活动。持续收集器246可以通过直接测量用户设备104的活动来获得数据,或者可以从其它收集器246获得数据。持续收集器246可以在用户设备104上连续地收集数据,而无需任何用户干预。

事件响应客户端248可以包括响应于处理器232的执行而导致执行操作(包括与一个或更多个收集器246通信、生成用户设备104上的活动的本地高速缓存、分析由收集器246测量的或直接来自用户设备104的任何数据、与相关联的一个或更多个代理服务器106进行通信等)的计算机可执行指令。

在数据储存器234内,可以存储一个或更多个模块。如本文所使用的,术语模块可以指代可由一个或更多个处理器232执行的指令的功能集合。为了便于描述,而不是限制,描述了单独的模块。然而,应当理解,在一些实现中,由模块提供的各种功能可以被合并、分离等等。此外,模块可以相互通信或以其它方式相互作用,使得一个模块的条件影响另一个模块的操作。

代理服务器106可以包括一个或更多个处理器252以及一个或更多个存储器256(本文中统称为存储器256)。处理器252可以包括能够接收数字数据作为输入、基于存储的计算机可执行指令来处理输入数据、以及生成输出数据的任何合适的处理单元。计算机可执行指令可以例如存储在数据储存器254中,并且尤其可以包括操作系统软件和应用软件。可以从数据储存器254检索计算机可执行指令,并根据需要加载到存储器256中以供执行。处理器252可以被配置为执行计算机可执行指令以导致执行各种操作。处理器252可以包括任何类型的处理单元,包括但不限于,中央处理单元、微处理器、微控制器、精简指令集计算机(risc)微处理器、复合指令集计算机(cisc)微处理器、专用集成电路(asic)、片上系统(soc)、现场可编程门阵列(fpga)等。

数据储存器254可以存储可由处理器252加载和执行的程序指令,以及在执行程序指令期间由处理器252操纵和生成的数据。程序指令可以根据需要被加载到存储器256中以供执行。根据代理服务器106的配置和实现,存储器256可以是易失性存储器(未被配置为在未被供电时保留存储的信息的存储器),例如,随机存取存储器(ram)和/或非易失性存储器(被配置为即使在未被供电时也保留存储的信息的存储器),例如,只读存储器(rom)、闪存等。在各种实现中,存储器256可以包括多种不同类型的存储器,诸如,各种形式的静态随机存取存储器(sram)、各种形式的动态随机存取存储器(dram)、不可更改的rom和/或rom的可写变型(诸如,电可擦除可编程只读存储器(eeprom)、闪存等)。

代理服务器106还可以包括附加数据储存器254,诸如,可移动(removable)储存器和/或不可移动储存器,包括但不限于,磁储存器、光盘储存器和/或磁带储存器。数据储存器254可以提供计算机可执行指令和其它数据的非易失性存储。存储器256和/或数据储存器254(可移动和/或不可移动)是计算机可读存储介质(crsm)的示例。

代理服务器106还可以包括促使代理服务器106与示例性系统架构200的其它设备(例如,用户设备104等)或应用软件之间通过网络110进行通信的网络接口260。代理服务器106还可以包括可以支持用户与各种i/o设备(诸如,键盘、鼠标、笔、指示设备、语音输入设备、触摸输入设备、显示器、扬声器、照相机、麦克风、打印机等)之间的交互的一个或更多个输入/输出(i/o)接口258(以及可选地相关联的软件组件,诸如设备驱动器)。

再次参照数据储存器254,其中可以存储各种程序模块、应用等,其可以包括当其由处理器252执行时导致执行各种操作的计算机可执行指令。存储器256可以从数据储存器254加载一个或更多个操作系统(o/s)262,其可以提供在代理服务器106上执行的其它应用软件(例如,专用应用、浏览器应用、基于网络的应用、分布式客户端-服务器应用等)与代理服务器106的硬件资源之间的接口。更具体地说,o/s262可以包括用于管理代理服务器106的硬件资源并且用于向其它应用程序提供共同服务(例如,管理各种应用程序之间的存储器分配)的一组计算机可执行指令。o/s262可以包括现在已知的或可能在将来开发出的任何操作系统,包括但不限于,任何移动操作系统、台式或膝上型操作系统、大型机操作系统或任何其它专用或开源操作系统。

数据储存器254还可以包括用于访问、检索、存储和/或操纵存储在一个或更多个数据存储区中的数据的一个或更多个数据库管理系统(dbms)264。dbms264可以使用各种数据库模型(例如,关系模型、对象模型、非sql、文档模型等)中的任何一种,并且可以支持各种查询语言中的任何一种。

数据储存器254还可以包括可以包括用于支持各种相关功能的计算机可执行指令的各种其它程序模块。例如,数据储存器254可以包括一个或更多个事件响应模块266。

事件响应模块266可以包括计算机可执行指令,其响应于处理器252的执行导致执行操作,所述操作包括与一个或更多个相关联的用户设备104、一个或更多个其它代理服务器106和/或一个或更多个事件响应服务器108进行通信。在一些实施方式中,事件响应模块266可以从一个或更多个用户设备104接收数据,并且可以处理数据(例如,分析来自多个用户设备104的数据并生成要发送到事件响应服务器108的消息、减少事件响应服务器108接收到的消息的数量)。在一些实施方式中,事件响应模块266可以从一个或更多个事件响应服务器108接收请求信息的消息。事件响应模块266可以将对信息的请求发送到一个或更多个用户设备104,诸如可能与所请求的信息更相关的相关联的用户设备104的子集,诸如利用代理服务器106订阅某些主题的那些用户设备104。例如,对信息的请求可以用于识别下载移动应用的用户设备104。事件响应模块266可以确定相关用户设备将是移动设备104,诸如,笔记本电脑、智能电话、平板电脑和/或其它可穿戴式计算机。事件响应模块266可以向订阅用于移动设备的主题的用户设备104发送用于所请求的信息的消息,并且可以从用户设备104的子集接收数据。

在数据储存器254内,可以存储一个或更多个模块。如本文所使用的,术语模块可以指代可由一个或更多个处理器252执行的指令的功能集合。为了便于描述,而不是限制,描述了单独的模块。然而,应当理解,在一些实现中,由模块提供的各种功能可以被合并、分离等等。此外,模块可以相互通信或以其它方式相互作用,使得一个模块的情况影响另一个模块的操作。

事件响应服务器108可以包括一个或更多个处理器272以及一个或更多个存储器276(本文中统称为存储器276)。处理器272可以包括能够接收数字数据作为输入、基于存储的计算机可执行指令来处理输入数据、以及生成输出数据的任何合适的处理单元。计算机可执行指令可以例如存储在数据储存器274中,并且尤其可以包括操作系统软件和应用软件。可以从数据储存器274检索计算机可执行指令,并根据需要加载到存储器276中以供执行。处理器272可以被配置为执行计算机可执行指令以导致执行各种操作。处理器272可以包括任何类型的处理单元,包括但不限于,中央处理单元、微处理器、微控制器、精简指令集计算机(risc)微处理器、复合指令集计算机(cisc)微处理器、专用集成电路(asic)、片上系统(soc)、现场可编程门阵列(fpga)等。

数据储存器274可以存储可由处理器272加载和执行的程序指令,以及在执行程序指令期间由处理器272操纵和生成的数据。程序指令可以根据需要被加载到存储器276中以供执行。根据事件响应服务器108的配置和实现,存储器276可以是易失性存储器(未被配置为在未被供电时保留存储的信息的存储器),例如,随机存取存储器(ram)和/或非易失性存储器(被配置为即使在未被供电时也保留存储的信息的存储器),例如,只读存储器(rom)、闪存等。在各种实现中,存储器276可以包括多种不同类型的存储器,诸如,各种形式的静态随机存取存储器(sram)、各种形式的动态随机存取存储器(dram)、不可更改的rom,和/或rom的可写变型(诸如,电可擦除可编程只读存储器(eeprom)、闪存等)。

事件响应服务器108还可以包括附加数据储存器274,诸如,可移动储存器和/或不可移动储存器,包括但不限于,磁储存器、光盘储存器和/或磁带储存器。数据储存器274可以提供计算机可执行指令和其它数据的非易失性存储。存储器276和/或数据储存器274(可移动和/或不可移动)是计算机可读存储介质(crsm)的示例。

事件响应服务器108还可以包括促使事件响应服务器108与示例性系统架构200的其它设备或应用软件之间经由网络110的通信的网络接口280。事件响应服务器108还可以包括可以支持用户与各种i/o设备(诸如,键盘、鼠标、笔、指示设备、语音输入设备、触摸输入设备、显示器、扬声器、照相机、麦克风、打印机等)之间的交互的一个或更多个输入/输出(i/o)接口278(以及可选地相关联的软件组件,诸如设备驱动器)。

再次参照数据储存器274,其中可以存储各种程序模块、应用等,其可以包括当其由处理器272执行时导致执行各种操作的计算机可执行指令。存储器276可以从数据储存器274加载一个或更多个操作系统(o/s)282,其可以提供在事件响应服务器108上执行的其它应用软件(例如,专用应用、浏览器应用、基于网络的应用、分布式客户端服务器应用等)与事件响应服务器108的硬件资源之间的接口。更具体地说,o/s282可以包括用于管理事件响应服务器108的硬件资源并且用于向其它应用程序提供共同服务(例如,管理各种应用程序之间的存储器分配)的一组计算机可执行指令。o/s282可以包括现在已知的或可能在将来开发出的任何操作系统,包括但不限于,任何移动操作系统、台式或膝上型操作系统、大型机操作系统或任何其它专用或开源操作系统。

数据储存器274还可以包括用于访问、检索、存储和/或操纵存储在一个或更多个数据存储区(例如,事件响应数据存储区288)(其可以存储由事件响应模块286生成的数据(例如,报告、基线、主动陷阱、反应等))中的数据的一个或更多个数据库管理系统(dbms)284。dbms284可以使用各种数据库模型(例如,关系模型、对象模型等)中的任何一种,并且可以支持各种查询语言中的任何一种。

数据储存器274还可以包括可以包括用于支持各种相关功能的计算机可执行指令的各种其它程序模块。例如,数据储存器274可以包括一个或更多个事件响应模块286。

事件响应模块286可以包括计算机可执行指令,其响应于处理器272的执行导致执行操作,所述操作包括配置收集器246以传播到用户设备104;配置主动事件响应陷阱及相关联的反应(在本文中将进一步描述)以传播到用户设备104;发起关于用户设备104的状态信息的查询;从代理服务器106接收数据;分析数据;为一组用户设备104生成组基线;生成一个或更多个报告等。

在数据储存器274内,可以存储一个或更多个模块。如本文所使用的,术语模块可以指代可由一个或更多个处理器272执行的指令的功能集合。为了便于描述,而不是限制,描述了单独的模块。然而,应当理解,在一些实现中,由模块提供的各种功能可以被合并、分离等等。此外,模块可以相互通信或以其它方式相互作用,使得一个模块的情况影响另一个模块的操作。

本领域普通技术人员将理解,在不脱离本公开的范围的情况下,架构200的任何组件都可以包括超出所描述或描绘的另选和/或附加硬件、软件或固件组件。更具体地,应当理解,描绘或描述为形成框架200的示例性组件中的任何一个的一部分的软件、固件或硬件组件以及这些组件支持的相关功能只是示例性的,并且某些组件可能不存在或附加组件可以在各种实施例中提供。虽然已经针对架构200的各种示例性组件描绘和描述了各种程序模块,但是应当理解,被描述为由程序模块支持的功能可以通过硬件、软件和/或固件的任何组合来实现。还应当理解,在各种实施方式中,上述模块中的每一个可以表示所支持的功能的逻辑划分。为了便于功能的说明,描述了这种逻辑划分,并且该逻辑划分可能不代表用于实现所述功能的软件、固件和/或硬件的结构。因此,应当理解,在各种实施方式中,被描述为由特定模块提供的功能可以至少部分地由一个或更多个其它模块提供。此外,在某些实施方式中,一个或更多个所描绘的模块可能不存在,而在其它实施方式中,可能存在未描绘的附加模块并且这些模块可以支持所描述的功能和/或附加功能的至少一部分。此外,虽然某些模块可能被描绘和描述为另一模块的子模块,但是在某些实施方式中,这样的模块可以作为独立模块提供。

本领域普通技术人员将理解,示例性网络架构200仅作为示例提供。许多其它操作环境、系统架构和设备配置都在本公开的范围内。本公开的其它实施方式可以包括更少或更多数量的组件和/或设备,并且可以包括针对示例性架构200描述的功能的一些或全部,或者附加的功能。

示例性过程

图3是根据本公开的一个或更多个实施方式的用于与示例性系统架构中的各种组件进行通信的数据交换层中的事件响应工具的示例性方法300的过程流程图。在一些实施方式中,数据交换层系统有助于将与用户设备104进行通信以及从用户设备104获得数据的能力扩展到数十万或数百万个收集的设备(例如,用户设备104、代理服务器106、事件响应服务器108等)。事件响应工具可以通过扩展代理服务器106以允许插件系统来利用可选的聚合特征,其中代理服务器106可以从用户设备104收集和聚合消息,从而防止事件响应服务器108被来自用户设备104的消息掩盖和淹没。另外,可以通过使用户设备104分析收集的数据并然后将结果发送到代理服务器106和事件响应服务器108来利用分布式计算,从而提高系统的效率。

在框305,事件响应服务器的事件响应模块286可以发起对数据的请求并将请求发送至一个或更多个代理服务器106。在一些实施方式中,利用数据交换层系统可以生成和发送请求。例如,数据交换层系统可以将请求快速传播到与该数据交换层系统连接或关联的设备。在一些实施方式中,源自事件响应服务器108的消息可以被发送到一个或更多个代理服务器106以分发给用户设备104。代理服务器106可以将接收到的消息发送到其它代理服务器106和/或任何相关联的用户设备104。接收消息的每个代理服务器106可以将消息发送到与相应的(respective)代理服务器106相关联的用户设备104。该请求可以包括用于如由发起请求的管理员指定的数据的一个或更多个参数。例如,参数可以包括用户设备104的特性(例如,设备的类型)、用户设备104的用户的特性(例如,组中的成员身份、用户的角色等)等。在一些实施方式中,事件响应服务器可以向多个代理发送对数据的请求。

在框310,代理服务器106的事件响应模块266可以从事件响应服务器108接收请求,并将该请求传达给与代理服务器106相关联的一个或更多个用户设备104以获得所请求的数据。在一些实施方式中,事件响应模块266可以处理请求并识别在请求中指定的一个或更多个参数。在一些实施方式中,事件响应模块266可以标识与所识别的参数相关联的一个或更多个主题,并将该请求发送到订阅该主题的用户设备104。用户设备104可以基于由系统的管理员设置的配置或至少部分地基于在进行配置时用户设备104或用户的特性来订阅主题,以在数据交换层系统内操作。

在框315,事件响应模块266可以从与代理服务器106相关联的一个或更多个用户设备104接收数据并且处理所获得的数据。在一些实施方式中,处理所获得的数据可以包括聚合来自多个用户设备104的包含所请求的数据的多个消息,并且将包含来自用户设备104的消息和/或数据的聚合的单个消息发送到事件响应服务器108。

在框320,事件响应模块286可以接收由一个或更多个代理服务器106的事件响应模块266处理的数据。事件响应模块286可以从多个代理服务器106接收数据,并且可以响应于对信息的请求对所接收到的所有数据进行处理。在一些实施方式中,对数据的请求可能与管理员正在调查的单个事件有关。在其它实施方式中,对数据的请求可能与用户设备104的子集的独立基线和/或组基线的生成有关。在一些实施方式中,事件响应模块286可以分析数据并生成报告。在一些实施方式中,事件响应模块286可以将经处理的数据呈现给管理员,管理员可以至少部分地基于经处理的数据采取进一步的动作。

图4是根据本公开的一个或更多个实施方式的用于数据交换层中的事件响应工具中的主动陷阱的示例性方法400的过程流程图。在一些实施方式中,系统可以仅周期性地查询用户设备104的状态,其中用户设备104在所述查询之间可能发生改变,从而导致关键信息的潜在丢失。因此,可以使用主动事件响应陷阱来监视用户设备104的状态,而不用担心丢失信息。当陷阱条件或条件集触发时,事件响应陷阱可以生成主动通知。事件响应陷阱可以用于监视用户设备104上的不同类型的活动,包括但不限于,监视文件、网络、过程和注册表活动。

在框405,事件响应服务器108的事件响应模块286可以创建并配置事件响应陷阱。事件响应陷阱可以包括用于监视用户设备104上的活动的一个或更多个条件语句。

在框410,事件响应模块286可以将一个或更多个反应与所述事件响应陷阱相关联。反应可以是可以链接到事件响应陷阱或以其它方式与事件响应陷阱相关联的任何动作,其中一旦陷阱被触发(例如,已经满足条件语句),就可以采取指定的动作。例如,可以配置事件响应陷阱,使得当用户设备104尝试接触被指定为不可信的网站时,发生反应。反应可以是终止尝试访问网站的过程。

在框415,事件响应模块286可以发起事件响应陷阱以及相关联的反应经由数据交换层系统的代理服务器106至用户设备的传播。事件响应陷阱以及相关联的反应可以通过将事件响应陷阱以及相关联的反应发送到一个或更多个代理服务器106来推送到数据交换层系统中的用户设备104,所述代理服务器106进而可以将事件响应陷阱以及相关联的反应发送到与代理服务器106相关联的一个或更多个用户设备104。

在框420,当事件响应陷阱被触发时,事件响应模块286可以接收通知。在一些实施方式中,该通知可以指示与事件响应陷阱相关联的历史(例如,触发陷阱的先前事件)、与事件响应陷阱的触发相关联的数据(例如,触发陷阱的日期、时间、事件)。在一些实施方式中,管理员可以响应于该通知而采取进一步的动作,诸如增加其上触发了事件响应陷阱的用户设备104的监视功能等。

图5是根据本公开的一个或更多个实施方式的、用于数据交换层中的事件响应工具中的本地历史高速缓存的示例性方法500的过程流程图。在一些实施方式中,事件响应器可能需要最近的用户设备104的历史来准确地识别和评估问题。用户设备104上的本地高速缓存或历史可以允许连续跟踪和记录本地关键活动,这可以有助于对用户设备104上的问题的更快速且更准确的诊断。例如,如果网络流数据被本地记录在用户设备104上,则事件响应器可以查询数据交换层系统以确定哪一个设备在最近一周接触到特定的ip地址并且快速获得信息,因为信息已经本地高速缓存在用户设备上,并且仅需要检索这样的数据,需要进一步处理以获得这样的数据。

在另一示例中,事件响应器可能希望在500,000个节点环境中确定文件系统上存在特定文件。用户设备104可以具有一个或更多个持续(persistent)收集器,其可以将文件系统上的所有文件进行散列(hash)(例如,使用md5、sha1或sha2算法来散列文件)并将数据存储在用户设备104的本地高速缓存或历史中。持续收集器可以是在它们与数据交换层系统相关联时被推送到用户设备104上的收集器246,并且持续收集器可以连续监视用户设备104上的数据,诸如监视文件、过程、注册表和/或网络活动。持续收集器246可以通过直接测量用户设备104的活动来获得数据,或者可以从其它收集器246获得数据。持续收集器246可以在用户设备104上连续地收集数据,而无需任何用户干预。事件响应器然后可以发起用于确定数据交换层系统中的用户设备中的任何一个上的特定文件的请求。因为文件已经被用户设备上的持续收集器散列,所以事件响应器可以立即获得所请求的数据,而不是必需等待用户设备104对其系统中的所有文件进行散列并且然后确定所请求的文件是否存在于用户设备104上。

在框505,事件响应服务器108的事件响应模块286可以创建和配置一个或更多个收集器246,并将收集器246的副本推送到一个或更多个用户设备104。在一些实施方式中,管理员可以指定要收集的数据的类型、数据的收集的持续时间、用于删除所收集的数据的规则等。在一些实施方式中,收集器246可以被指定为持续收集器,其可以收集与监视用户设备104的文件、过程、注册表和/或网络活动相关联的所有数据。持续收集器可以从其它收集器246获得数据或者直接从用户设备104获得数据。事件响应模块286可以有助于将配置的收集器246推送到数据交换层系统中的用户设备中的一些或全部。因此,事件响应模块286可以将收集器246的副本发送至一个或更多个代理服务器106,然后,所述一个或更多个代理服务器106可以将收集器246的副本发送到一个或更多个与该代理服务器106相关联的用户设备104。

在框510,用户设备104的收集器246可以收集用户设备上的数据并将其存储在本地高速缓存或历史中,而事件响应客户端248可以接收来自事件响应服务器108的请求并通过从本地高速缓存或历史中检索数据、分析本地高速缓存或历史以及识别与该请求相关的数据对其做出响应。

在框515,事件响应模块286可以向一个或更多个代理服务器106发送对数据的请求。对数据的请求可以由一个或更多个代理服务器106中的每一个接收,并被处理以识别在请求中指定的任何参数。例如,请求可以指示应该从智能电话或平板电脑获得数据。一个或更多个代理服务器106中的每一个上的事件响应模块266可以确定所识别出的来自请求的参数对应于与代理服务器106相关联的用户设备104订阅的一个或更多个主题。事件响应模块266然后可以将数据请求发送到订阅所识别出的主题的一个或更多个用户设备104,并且可以接收由用户设备104的事件响应客户端248从用户设备104的本地高速缓存或历史检索并分析的数据。事件响应模块266然后可以聚合从一个或更多个用户设备104接收到的数据,并将单个消息发送到事件响应服务器108。

在框520,事件响应模块286可以从一个或更多个代理服务器106接收所请求的数据。事件响应模块286可以处理从代理服务器106中的每一个接收到的数据,并且可以使用从用户设备104获得的数据用于不同的目的,诸如,识别关于隔离问题的细节、生成基线等。

图6是根据本公开的一个或更多个实施方式的用于数据交换层中的事件响应工具中的基线的示例性方法600的过程流程图。在一些实施方式中,基线是可以用于在系统(例如,用户设备104)内建立常态并且可以用于识别异常行为的非确定性工具。基线可以从存储在用户设备104的由一个或更多个收集器246生成并维护的本地高速缓存或历史中的数据生成。在一些实施方式中,可以生成基线并利用其来识别各个系统(例如,用户设备104)或用户上的模式对比(patterncontrast)。例如,如果分析了两个用户及他们各自的系统,则每个用户和系统将具有与应用使用、浏览活动、交互式登录时间、位置和/或软件安装相关联的唯一模式。两个用户及他们的系统的模式可能会有所不同,但是作为独立用户,随着时间的推移,行为模式将会被开发(例如,用户可能每天浏览网站多次、在一天中的某些时段变得不活跃等)。通过在用户登录系统时以及当他们不与系统交互时监视用户活动,可以导出模式,并且可以生成基线。根据这些基线可以评估模式用于与这些数据的对比。

在框605,事件响应服务器108的事件响应模块286可以发起对数据的请求并且将请求发送到一个或更多个代理服务器106。在一些实施方式中,对数据的请求可以是针对用户设备104的子集,诸如,与用户的特定组、用户设备104的类型等相关联的那些用户设备104。请求可以通过数据交换层系统发送,其中该请求被发送到一个或更多个代理服务器106,该代理服务器106然后可以将消息发送到与代理服务器106相关联的一个或更多个用户设备104。

在框610,事件响应模块286可以从一个或更多个代理服务器106接收从一个或更多个用户设备104收集的所请求的数据。在一些实施方式中,代理服务器106可能已经向订阅被确定为与所请求的信息相关联或相关的主题的用户设备104发送了该请求。在一些实施方式中,代理服务器106可以充当数据交换层系统内的中介,其中代理服务器106可以从多个相关联的用户设备104接收消息、处理从用户设备104接收到的消息、以及从多个用户设备104生成与所接收到的消息相关联的单个消息并将包含所请求的数据的消息从用户设备104发送到事件响应服务器108,从而减少系统内的网络流量。

在框615,事件响应模块286可以基于所接收到的数据生成用于一组用户设备的基线。在一些实施方式中,从代理服务器106接收的数据可以是与它们各自的用户设备104相关联的独立基线。事件响应模块286可以生成与从其接收数据的用户设备104的子集或组相关联的一个或更多个基线。在一些实施方式中,所接收到的数据可以是针对用户设备104的各自的本地高速缓存或历史从用户设备104获得的数据。事件响应模块286可以针对相应的用户设备104生成独立(individual)基线和/或与从其接收数据的用户设备104的集合相关联的一个或更多个组基线。

在一些实施方式中,基线可以是计算的基线,其中可以处理从用户设备104接收到的数据,并且可以通过针对不同类型的活动计算值来生成基线。例如,针对网络活动的计算的基线可以周期性地计算基于协议的连接的数量和连接的类型。可以映射出所计算的数据,并且可以基于所计算的值来生成基线。

在框620,事件响应模块286可以配置与所生成的基线相关联的一个或更多个阈值。例如,阈值可以指示用于确定给定活动是否异常的偏差范围。例如,如果基线指示用户在上午9:00至10:00之间的登录活动,则该阈值可以指示基线的正或负三十分钟的范围,在此时间期间活动仍将被视为正常。然而,如果登录活动发生在阈值之外(例如,上午3:00),那么由于这种行为超过了配置的阈值,所以这种行为可被认为是异常行为。

在框625,事件响应模块286可以监视用户设备104并将用户设备104上的数据与基线进行比较。在一些实施方式中,事件响应模块286可以通过使用(例如,如结合图4所描述的)主动事件响应陷阱来监视用户设备104,其中基线(例如,独立基线或组基线)可用于主动事件响应陷阱的条件语句中,以识别异常行为。在一些实施方式中,管理员可以将用户设备104上识别的活动或事件与独立基线或组基线进行比较,以确定活动或事件是否异常。

在框630,当来自用户设备104的数据偏离所生成的基线并且超过一个或更多个阈值时,事件响应模块286可以接收通知。在一些实施方式中,通知可以与主动事件响应陷阱相关联地从用户设备104(经由代理服务器106)被接收,或者可以响应于用户设备104确定活动或事件偏离与用户设备104相关联的独立基线并且超过在框620配置的一个或更多个阈值而被接收。管理员可以选择通过请求进一步的数据来进一步监视用户设备104,或者可以基于用户设备104上的活动或事件异常的确定来采取主动措施。

在一个实施方式中,计算机可读介质可以存储计算机可执行指令,其在由处理器执行时使得处理器执行操作,该操作包括:由事件响应服务器配置数据收集器,该数据收集器将收集存储数据收集器的用户设备上的数据;由事件响应服务器通过数据交换层系统将数据收集器的副本发送至多个用户设备,其中数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应部分相关联;由事件响应服务器从数据交换层系统发送对一组数据的请求;以及由事件响应服务器从多个代理服务器的至少一个子集接收该组数据,其中该组数据从与所述多个代理服务器的子集相关联的用户设备的子集的数据收集器的相应的副本获得。

在实施方式的一个方面,所述操作还可以包括由事件响应服务器基于所接收到的数据生成与一组用户设备相关联的组基线;以及由事件响应服务器配置与所述组基线相关联的阈值。在实施方式的一个方面,所述操作还可以包括由事件响应服务器接收来自第二用户设备的第二组数据;由事件响应服务器处理所述第二组数据来识别动作;由事件响应服务器确定所述动作超过与所述组基线相关联的阈值;由事件响应服务器生成包括与所述动作、所述阈值以及所述组基线相关联的信息的通知;以及由事件响应服务器促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,配置将收集在存储数据收集器的用户设备上执行的数据的该数据收集器还可以包括由事件响应服务器将数据收集器配置为基于由数据收集器收集并存储在其上存储有数据收集器的用户设备上的数据生成数据的本地高速缓存。在实施方式的一个方面,来自至少用户设备的子集的一组数据可以包括来自用户设备的子集中的每一个并由多个代理服务器聚合的信息。在实施方式的一个方面,所述操作还可以包括由事件响应服务器从数据交换层生成对一组数据的请求,其中在所述请求中包括与用户设备的子集相关联的主题的规范(specification)。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,系统可以包括存储计算机可执行指令的至少一个存储器;以及至少一个处理器,其中,所述至少一个处理器被配置为访问所述至少一个存储器并且执行所述计算机可执行指令以配置包括一个或更多个条件语句的事件响应陷阱;将事件响应陷阱与一个或更多个反应相关联;促使经由包括多个代理服务器的数据交换层系统将事件响应陷阱传播至用户设备,每个代理服务器与多个用户设备相关联;响应于事件响应陷阱被触发以及在所述至少一个用户设备上执行的所述一个或更多个反应中的至少一个,接收来自所述多个用户设备中的至少一个用户设备的通知,其中所述通知包括与所述事件响应陷阱以及所执行的一个或更多个反应相关联的第一数据;以及促使向数据交换层系统的管理员呈现所述通知。

在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以配置将收集存储数据收集器的用户设备上的数据的数据收集器;并通过数据交换层系统将数据收集器的副本发送至用户设备。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以接收由用户设备的子集收集的数据,其中,所述用户设备的子集中的每一个执行所述数据收集器的相应的副本并生成相应的本地高速缓存。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令,以由所述事件响应服务器基于由所述用户设备的子集收集的数据生成组基线。在实施方式的一个方面,事件响应陷阱的一个或更多个条件语句可以与用户设备中的至少一个用户设备的文件、网络、进程(process)或注册表活动相关联。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以通过所述数据交换层系统发起对一组数据的请求;以及通过所述数据交换层系统从用户设备的子集接收所述一组数据,其中,所述用户设备的子集由主题与所述用户设备子集的关联来确定。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以至少部分地基于从所述用户设备的子集接收到的数据来生成报告。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,方法可以包括由事件响应服务器配置数据收集器,该数据收集器将收集存储数据收集器的用户设备上的数据;由事件响应服务器通过数据交换层系统将数据收集器的副本发送至与组相关联的多个用户设备,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应的部分相关联;由事件响应服务器通过数据交换层系统经由所述多个代理服务器的子集接收来自所述多个用户设备中的每一个的一组数据,其中,所述一组数据从所述多个用户设备的每一个的数据收集器的相应的副本获得;由事件响应服务器基于来自所述多个用户设备中的每一个的所述一组数据生成与所述组相关联的组基线;以及由事件响应服务器配置与所述组基线相关联的阈值。

在实施方式的一个方面,该方法还可以包括由事件响应服务器配置包括条件语句和一个或更多个反应的事件响应陷阱,其中,条件语句指示当用户动作超过与组基线相关联的阈值时,发起一个或更多个反应。在实施方式的一个方面,该方法还可以包括由事件响应服务器接收来自第二用户设备的第二组数据;由事件响应服务器处理所述第二组数据来识别动作;以及由事件响应服务器确定事件响应陷阱在所述动作超过与所述组基线相关联的阈值时被触发,其中,发起一个或更多个反应。在实施方式的一个方面,该方法还可以包括由事件响应服务器生成包括与动作、阈值和组基线相关联的信息的通知;以及由事件响应服务器促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,来自多个用户设备中的每一个的一组数据可以被多个代理服务器聚合。

在另一实施方式中,该方法可以包括由事件响应服务器配置数据收集器,该数据收集器将收集存储数据收集器的用户设备上的数据;由事件响应服务器通过数据交换层系统将数据收集器的副本发送至多个用户设备,其中数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应部分相关联;由事件响应服务器从数据交换层系统发送对一组数据的请求;以及由事件响应服务器从多个代理服务器的至少一个子集接收该组数据,其中该组数据从与所述多个代理服务器的子集相关联的用户设备的子集的数据收集器的相应的副本获得。

在实施方式的一个方面,该方法还可以包括由事件响应服务器基于所接收到的数据生成与一组用户设备相关联的组基线;以及由事件响应服务器配置与所述组基线相关联的阈值。在实施方式的一个方面,该方法还可以包括由事件响应服务器接收来自第二用户设备的第二组数据;由事件响应服务器处理所述第二组数据来识别动作;由事件响应服务器确定所述动作超过与所述组基线相关联的阈值;由事件响应服务器生成包括与所述动作、所述阈值以及所述组基线相关联的信息的通知;以及由事件响应服务器促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,配置将收集在存储数据收集器的用户设备上执行的数据的数据收集器还可以包括由事件响应服务器将数据收集器配置为基于由数据收集器收集并存储在其上存储有数据收集器的用户设备上的数据来生成数据的本地高速缓存。在实施方式的一个方面,来自至少用户设备的子集的一组数据可以包括来自用户设备的子集的每一个并由多个代理服务器聚合的信息。在实施方式的一个方面,该方法还可以包括由事件响应服务器从数据交换层生成对一组数据的请求,其中在所述请求中包括与用户设备的子集相关联的主题的规范。在实施方式的一个方面,该主题是用户设备通过其被分组或识别的类别或参数。

在实施方式中,系统可以包括存储计算机可执行指令的至少一个存储器;以及至少一个处理器,其中,所述至少一个处理器被配置为访问所述至少一个存储器并且执行所述计算机可执行指令,以配置将收集存储数据收集器的用户设备上的数据的数据收集器;通过数据交换层系统将数据收集器的副本发送到多个用户设备,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应部分相关联;从数据交换层系统发送对一组数据的请求;以及从所述多个代理服务器的至少一个子集接收所述一组数据,其中,所述一组数据从与所述多个代理服务器的子集相关联的用户设备的子集的数据收集器的相应的副本获得。

在实施方式的一个方面,所述至少一个处理器还可以被配置为基于所接收到的数据来生成与一组用户设备相关联的组基线;并配置与所述组基线相关联的阈值。在实施方式的一个方面,所述至少一个处理器还可以被配置为接收来自第二用户设备的第二组数据;处理所述第二组数据以识别动作;确定该动作超过与组基线相关联的阈值;生成包括与动作、阈值和组基线相关联的信息的通知;并且促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,为了配置将收集在其被存储的用户设备上执行的数据的数据收集器,所述至少一个处理器还可以被配置为配置数据收集器,以基于由数据收集器收集并存储在其上存储数据收集器的用户设备上的数据来生成数据的本地高速缓存。在实施方式的一个方面,来自至少用户设备的子集的一组数据可以包括来自用户设备的子集中的每一个并由多个代理服务器聚合的信息。在实施方式的一个方面,所述至少一个处理器还可以被配置为从所述数据交换层生成对所述一组数据的请求,其中,在所述请求中包括与用户设备的子集相关联的主题的规范。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,服务器可以包括存储计算机可执行指令的至少一个存储器;以及至少一个处理器,其中,所述至少一个处理器被配置为访问所述至少一个存储器并且执行所述计算机可执行指令,以配置将收集存储数据收集器的用户设备上的数据的数据收集器;通过数据交换层系统将数据收集器的副本发送到多个用户设备,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应部分相关联;从数据交换层系统发送对一组数据的请求;以及从所述多个代理服务器的至少一个子集接收所述一组数据,其中,所述一组数据从与所述多个代理服务器的子集相关联的用户设备的子集的数据收集器的相应的副本获得。

在实施方式的一个方面,所述至少一个处理器还可以被配置为基于所接收到的数据来生成与一组用户设备相关联的组基线;并配置与所述组基线相关联的阈值。在实施方式的一个方面,所述至少一个处理器还可以被配置为接收来自第二用户设备的第二组数据;处理所述第二组数据以识别动作;确定该动作超过与组基线相关联的阈值;生成包括与动作、阈值和组基线相关联的信息的通知;并且促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,为了配置将收集在其被存储的用户设备上执行的数据的数据收集器,所述至少一个处理器还可以被配置为配置数据收集器,以基于由数据收集器收集并存储在其上存储数据收集器的用户设备上的数据来生成数据的本地高速缓存。在实施方式的一个方面,来自至少用户设备的子集的一组数据可以包括来自用户设备的子集中的每一个并由多个代理服务器聚合的信息。在实施方式的一个方面,所述至少一个处理器还可以被配置为从所述数据交换层生成对所述一组数据的请求,其中,在所述请求中包括与用户设备的子集相关联的主题的规范。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,系统可以包括用于配置将收集存储数据收集器的用户设备上的数据的数据收集器的装置;用于通过数据交换层系统将数据收集器的副本发送到多个用户设备的装置,其中,所述数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应部分相关联;用于从数据交换层系统发送对一组数据的请求的装置;以及用于从所述多个代理服务器的至少一个子集接收所述一组数据的装置,其中,所述一组数据从与所述多个代理服务器的子集相关联的用户设备的子集的数据收集器的相应的副本获得。

在实施方式的一个方面,该系统还可以包括用于基于所接收到的数据生成与一组用户设备相关联的组基线的装置;以及用于配置与所述组基线相关联的阈值的装置。在实施方式的一个方面,该系统还可以包括用于接收来自第二用户设备的第二组数据的装置;用于处理所述第二组数据以识别动作的装置;用于确定所述动作超过与所述组基线相关联的阈值的装置;用于生成包括与所述动作、所述阈值和所述组基线相关联的信息的通知的装置;以及用于促使向数据交换层系统的管理员呈现所述通知的装置。在实施方式的一个方面,配置将收集在其被存储的用户设备上执行的数据的数据收集器还可以包括用于配置数据收集器以基于由数据收集器收集并存储在其上存储有数据收集器的用户设备上的数据来生成数据的本地高速缓存的装置。在实施方式的一个方面,来自至少用户设备的子集的一组数据可以包括来自用户设备的子集中的每一个并由多个代理服务器聚合的信息。在实施方式的一个方面,该系统还可以包括用于从数据交换层生成对一组数据的请求的装置,其中在所述请求中包括与用户设备的子集相关联的主题的规范。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,计算机可读介质可以存储计算机可执行指令,当其由处理器执行时,使得处理器执行操作,该操作包括:由事件响应服务器配置包括一个或更多个条件语句的事件响应陷阱;由事件响应服务器将事件响应陷阱与一个或更多个反应相关联;由事件响应服务器促使经由包括多个代理服务器的数据交换层系统将事件响应陷阱传播到用户设备,每个代理服务器与多个用户设备相关联;响应于所述事件响应陷阱被触发以及在所述至少一个用户设备上执行的一个或更多个反应中的至少一个,由事件响应服务器接收来自所述多个用户设备中的至少一个用户设备的通知,其中所述通知包括与所述事件响应陷阱相关联的第一数据以及所述一个或更多个反应中的所执行的至少一个;以及由事件响应服务器促使向数据交换层系统的管理员呈现所述通知。

在实施方式的一个方面,所述操作还可以包括由事件响应服务器配置将收集存储数据收集器的用户设备上的数据的数据收集器;以及通过数据交换层系统由事件响应服务器将数据收集器的副本发送至用户设备。在实施方式的一个方面,所述操作还可以包括由事件响应服务器接收由用户设备的子集收集的数据,其中,所述用户设备的子集中的每一个执行所述数据收集器的相应的副本并生成相应的本地高速缓存。在实施方式的一个方面,所述操作还可以包括由事件响应服务器基于由用户设备的子集收集的数据生成组基线。在实施方式的一个方面,事件响应陷阱的一个或更多个条件语句可以与用户设备中的至少一个的文件、网络、进程或注册表活动相关联。在实施方式的一个方面,所述操作还可以包括由事件响应服务器通过数据交换层系统发起对一组数据的请求;以及由事件响应服务器通过数据交换层系统从用户设备的子集接收所述一组数据,其中,所述用户设备的子集由主题与所述用户设备子集的关联来确定。在实施方式的一个方面,所述操作还可以包括由事件响应服务器至少部分地基于从用户设备的子集接收到的数据来生成报告。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,方法可以包括:由事件响应服务器配置包括一个或更多个条件语句的事件响应陷阱;由事件响应服务器将事件响应陷阱与一个或更多个反应相关联;由事件响应服务器促使经由包括多个代理服务器的数据交换层系统将事件响应陷阱传播到用户设备,每个代理服务器与多个用户设备相关联;由事件响应服务器响应于所述事件响应陷阱被触发以及在所述至少一个用户设备上执行的一个或更多个反应中的至少一个,接收来自所述多个用户设备中的至少一个用户设备的通知,其中所述通知包括与所述事件响应陷阱相关联的第一数据以及所述一个或更多个反应中的所执行的至少一个;以及由事件响应服务器促使向数据交换层系统的管理员呈现所述通知。

在实施方式的一个方面,该方法还可以包括由事件响应服务器配置将收集存储数据收集器的用户设备上的数据的数据收集器;以及通过数据交换层系统由事件响应服务器将数据收集器的副本发送至用户设备。在实施方式的一个方面,该方法还可以包括由事件响应服务器接收由用户设备的子集收集的数据,其中,所述用户设备的子集中的每一个执行所述数据收集器的相应的副本并生成相应的本地高速缓存。在实施方式的一个方面,该方法还可以包括由事件响应服务器基于由用户设备的子集收集的数据来生成组基线。在实施方式的一个方面,事件响应陷阱的一个或更多个条件语句可以与用户设备中的至少一个的文件、网络、进程或注册表活动相关联。在实施方式的一个方面,该方法还可以包括由事件响应服务器通过数据交换层系统发起对一组数据的请求;以及由事件响应服务器通过数据交换层系统从用户设备的子集接收所述一组数据,其中,所述用户设备的子集由主题与所述用户设备子集的关联来确定。在实施方式的一个方面,该方法还可以包括由事件响应服务器至少部分地基于从用户设备的子集接收到的数据来生成报告。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,服务器可以包括存储计算机可执行指令的至少一个存储器;以及至少一个处理器,其中所述至少一个处理器被配置为访问所述至少一个存储器并且执行所述计算机可执行指令以配置包括一个或更多个条件语句的事件响应陷阱;将事件响应陷阱与一个或更多个反应相关联;促使经由包括多个代理服务器的数据交换层系统将事件响应陷阱传播至用户设备,每个代理服务器与多个用户设备相关联;响应于事件响应陷阱被触发以及在所述至少一个用户设备上执行的所述一个或更多个反应中的至少一个,接收来自所述多个用户设备中的至少一个用户设备的通知,其中所述通知包括与所述事件响应陷阱以及所述一个或更多个反应中的所执行的至少一个反应相关联的第一数据;以及促使向数据交换层系统的管理员呈现所述通知。

在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以配置数据收集器,该数据收集器将收集存储数据收集器的用户设备上的数据;并通过数据交换层系统将数据收集器的副本发送至用户设备。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以配置接收由用户设备的子集收集的数据,其中,所述用户设备的子集中的每一个执行所述数据收集器的相应的副本并生成相应的本地高速缓存。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令,以配置由所述事件响应服务器基于由所述用户设备的子集收集的数据来生成组基线。在实施方式的一个方面,事件响应陷阱的一个或更多个条件语句可以与用户设备中的至少一个的文件、网络、进程或注册表活动相关联。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以通过所述数据交换层系统发起对一组数据的请求;以及通过所述数据交换层系统从用户设备的子集接收所述一组数据,其中,所述用户设备的子集由主题与所述用户设备子集的关联来确定。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以至少部分地基于从所述用户设备的子集接收到的数据来生成报告。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,系统可以包括:用于配置包括一个或更多个条件语句的事件响应陷阱的装置;用于由事件响应服务器将事件响应陷阱与一个或更多个反应相关联的装置;用于促使经由包括多个代理服务器的数据交换层系统将事件响应陷阱传播到用户设备的装置,每个代理服务器与多个用户设备相关联;用于响应于所述事件响应陷阱被触发以及在所述至少一个用户设备上执行的一个或更多个反应中的至少一个接收来自所述多个用户设备中的至少一个用户设备的通知的装置,其中所述通知包括与所述事件响应陷阱相关联的第一数据以及所述一个或更多个反应中的所执行的至少一个反应;以及用于促使向数据交换层系统的管理员呈现所述通知的装置。

在实施方式的一个方面,该系统还可以包括:用于配置将收集存储数据收集器的用户设备上的数据的数据收集器的装置;以及用于通过数据交换层系统将数据收集器的副本发送至用户设备的装置。在实施方式的一个方面,该系统还可以包括用于接收由用户设备的子集收集的数据的装置,其中,所述用户设备的子集中的每一个执行所述数据收集器的相应的副本并生成相应的本地高速缓存。在实施方式的一个方面,该系统还可以包括用于基于由用户设备的子集收集的数据来生成组基线的装置。在实施方式的一个方面,事件响应陷阱的一个或更多个条件语句可以与用户设备中的至少一个的文件、网络、进程或注册表活动相关联。在实施方式的一个方面,该系统还可以包括:用于通过数据交换层系统发起对一组数据的请求的装置;以及用于通过数据交换层系统从用户设备的子集接收所述一组数据的装置,其中,所述用户设备的子集由主题与所述用户设备子集的关联来确定。在实施方式的一个方面,该系统还可以包括用于至少部分地基于从用户设备的子集接收到的数据来生成报告的装置。在实施方式的一个方面,该主题可以是用户设备通过其被分组或识别的类别或参数。

在一个实施方式中,计算机可读介质可以存储计算机可执行指令,当其被处理器执行时,使得处理器执行操作,该操作包括:由事件响应服务器配置数据收集器,该数据收集器将收集存储数据收集器的用户设备上的数据;由事件响应服务器通过数据交换层系统将数据收集器的副本发送至与组相关联的多个用户设备,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应的部分相关联;由事件响应服务器通过数据交换层系统经由所述多个代理服务器的子集接收来自所述多个用户设备中的每一个的一组数据,其中,所述一组数据从所述多个用户设备中的每一个的数据收集器的相应的副本获得;由事件响应服务器基于来自所述多个用户设备中的每一个的所述一组数据来生成与所述组相关联的组基线;以及由事件响应服务器配置与所述组基线相关联的阈值。

在实施方式的一个方面,该操作还可以包括由事件响应服务器配置包括条件语句和一个或更多个反应的事件响应陷阱,其中,条件语句指示当用户动作超过与组基线相关联的阈值时,发起一个或更多个反应。在实施方式的一个方面,该操作还可以包括由事件响应服务器接收来自第二用户设备的第二组数据;由事件响应服务器处理所述第二组数据来识别动作;以及由事件响应服务器确定事件响应陷阱在所述动作超过与所述组基线相关联的阈值时被触发,其中,发起一个或更多个反应。在实施方式的一个方面,该操作还可以包括由事件响应服务器生成包括与动作、阈值和组基线相关联的信息的通知;以及由事件响应服务器促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,来自多个用户设备中的每一个的一组数据可以被多个代理服务器聚合。

在一个实施方式中,系统可以包括:用于配置数据收集器的装置,该数据收集器将收集存储数据收集器的用户设备上的数据;用于通过数据交换层系统将数据收集器的副本发送至与组相关联的多个用户设备的装置,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应的部分相关联;用于通过数据交换层系统经由所述多个代理服务器的子集接收来自所述多个用户设备中的每一个的一组数据的装置,其中,所述一组数据从所述多个用户设备的每一个的数据收集器的相应的副本获得;用于基于来自所述多个用户设备中的每一个的所述一组数据来生成与所述组相关联的组基线的装置;以及用于配置与所述组基线相关联的阈值的装置。

在实施方式的一个方面,该系统还可以包括用于配置包括条件语句和一个或更多个反应的事件响应陷阱的装置,其中,条件语句指示当用户动作超过与组基线相关联的阈值时,发起一个或更多个反应。在实施方式的一个方面,该系统还可以包括:用于接收来自第二用户设备的第二组数据的装置;用于处理所述第二组数据来识别动作的装置;以及用于确定事件响应陷阱在所述动作超过与所述组基线相关联的阈值时被触发的装置,其中,发起一个或更多个反应。在实施方式的一个方面,该系统还可以包括:用于生成包括与动作、阈值和组基线相关联的信息的通知的装置;以及用于促使向数据交换层系统的管理员呈现所述通知的装置。在实施方式的一个方面,来自多个用户设备中的每一个的一组数据可以被多个代理服务器聚合。

在一个实施方式中,系统可以包括:至少一个存储器,所述至少一个存储器存储计算机可执行指令;以及至少一个处理器,其中,所述至少一个处理器被配置为:访问所述至少一个存储器并且执行所述计算机可执行指令,以配置将收集存储数据收集器的用户设备上的数据的数据收集器;通过数据交换层系统将数据收集器的副本发送至与组相关联的多个用户设备,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应的部分相关联;通过数据交换层系统经由所述多个代理服务器的子集接收来自所述多个用户设备中的每一个的一组数据,其中,所述一组数据从所述多个用户设备中的每一个的数据收集器的相应的副本获得;基于来自所述多个用户设备中的每一个的所述一组数据来生成与所述组相关联的组基线;以及配置与所述组基线相关联的阈值。

在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令,以配置包括条件语句和一个或更多个反应的事件响应陷阱,其中,条件语句指示当用户动作超过与组基线相关联的阈值时,发起一个或更多个反应。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以:接收来自第二用户设备的第二组数据;处理所述第二组数据以识别动作;以及确定所述事件响应陷阱在所述动作超过与所述组基线相关联的阈值时被触发,其中,发起一个或更多个反应。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以:生成包括与动作、阈值和组基线相关联的信息的通知;以及促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,来自多个用户设备中的每一个的一组数据可以被多个代理服务器聚合。

在一个实施方式中,服务器可以包括:至少一个存储器,所述至少一个存储器存储计算机可读指令;以及至少一个处理器,其中,所述至少一个处理器被配置为:访问所述至少一个存储器并且执行所述计算机可执行指令,以配置将收集存储数据收集器的用户设备上的数据的数据收集器;通过数据交换层系统将数据收集器的副本发送至与组相关联的多个用户设备,其中,数据交换层系统包括多个代理服务器,每个代理服务器与多个用户设备的相应的部分相关联;通过数据交换层系统经由所述多个代理服务器的子集接收来自所述多个用户设备中的每一个的一组数据,其中,所述一组数据从所述多个用户设备的每一个的数据收集器的相应的副本获得;基于来自所述多个用户设备中的每一个的所述一组数据来生成与所述组相关联的组基线;以及配置与所述组基线相关联的阈值。

在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令,以配置包括条件语句和一个或更多个反应的事件响应陷阱,其中,条件语句指示当用户动作超过与组基线相关联的阈值时,发起一个或更多个反应。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以:接收来自第二用户设备的第二组数据;处理所述第二组数据以识别动作;以及确定所述事件响应陷阱在所述动作超过与所述组基线相关联的阈值时被触发,其中,发起一个或更多个反应。在实施方式的一个方面,所述至少一个处理器还可以被配置为执行计算机可执行指令以:生成包括与动作、阈值和组基线相关联的信息的通知;以及促使向数据交换层系统的管理员呈现所述通知。在实施方式的一个方面,来自多个用户设备中的每一个的一组数据可以被多个代理服务器聚合。

结论

应当理解,在本公开中被描绘为存储在数据储存器中的程序模块、应用、计算机可执行指令、代码等仅仅是示例性的而不是穷尽的,并且被描述为被任何特定的模块支持的处理可以另选地分布在多个模块上或由不同的模块执行。另外,可以提供各种程序模块、脚本、插件、应用编程接口(api)或者设备(例如,用户设备104、代理106、事件响应服务器108)上本地托管的和/或可经由一个或更多个网络访问的其它计算设备上托管的任何其它合适的计算机可执行代码,以支持由本文所描绘的程序模块、应用或计算机可执行代码提供的功能和/或附加的或另选的功能。此外,功能可以被不同地模块化,使得被描述为由本文所描述的程序模块的集合共同支持的处理可以通过更少或更多数量的模块来执行,或者被描述为被任何特定模块支持的功能可以由另一模块至少部分地支持。另外,支持本文所描述的功能的程序模块可以根据任何合适的计算模型(诸如,客户端-服务器模型、对等模型等)形成可跨任何数量的系统或设备执行的一个或更多个应用的一部分。另外,被描述为由本文所描述的程序模块中的任何一个支持的功能中的任何一个都可以至少部分地以硬件和/或固件的形式跨任何数量的设备实现。

应当进一步理解,在不脱离本公开的范围的情况下,设备(例如,用户设备104、代理106、事件响应服务器108等)可以包括超出所描述或描绘的硬件、软件或固件组件的另选的和/或附加的硬件、软件或固件组件。更具体地,应当理解,被描绘为形成设备(例如,用户设备104、代理106、事件响应服务器108等)的一部分的软件、固件或硬件组件只是示例性的,并且某些组件可能不是可以在各种实施方式中提供的现有的或附加的组件。虽然已经将各种示例性程序模块描绘和描述为存储在数据储存器中的软件模块,但是应当理解,被描述为被程序模块支持的功能可以由硬件、软件和/或固件的任何组合来实现。还应当理解,在各种实施方式中,上述模块中的每一个可以表示所支持的功能的逻辑划分。为了便于说明功能,描述了这种逻辑划分,并且该逻辑划分可能不代表用于实现功能的软件、硬件和/或固件的结构。因此,应当理解,在各种实施方式中,被描述为由特定模块提供的功能可以至少部分地由一个或更多个其它模块来提供。此外,在某些实施方式中,一个或更多个所描绘的模块可能不存在,而在其它实施方式中,可能存在未描绘的附加模块并且这些模块可以支持所描述的功能和/或附加功能的至少一部分。此外,虽然某些模块可能被描绘和描述为另一模块的子模块,但是在某些实施方式中,这样的模块可以作为独立的模块或作为其它模块的子模块被提供。

以上可能已经将方法300-600的一个或更多个操作描述为由设备的一个或更多个组件来执行,或者更具体地,由在这样的设备上执行的一个或更多个程序模块来执行。然而,应当理解,方法300-600的操作中的任何一个可以至少部分地由一个或更多个其它设备或系统(或者更具体地,由在这样的设备上执行的一个或更多个程序模块、应用等)以分布的方式执行。另外,应当理解,响应于作为应用、程序模块等的一部分提供的计算机可执行指令的执行而执行的处理在本文中可以互换地描述为由应用或程序模块本身来执行,或者由在其上执行应用、程序模块等的设备来执行。虽然可以在示例性用户设备600的背景下描述方法300的任何一个的操作,但是应当理解,这样的操作可以结合许多其它系统配置来实现。

在图3至图6的示例性方法中描述和描绘的操作可以按照本公开的各种示例实施方式中所需的任何合适的顺序来实施或执行。另外,在某些示例实施方式中,操作的至少一部分可以并行实施。此外,在某些示例实施方式中,可以执行相比图3至图6中所描绘的操作更少、更多或不同的操作。

尽管已经描述了本公开的具体实施方式,但是本领域普通技术人员将认识到,许多其它修改和另选实施方式在本公开的范围内。例如,相对于特定设备或组件描述的功能和/或处理能力中的任何一个都可以由任何其它设备或组件来执行。此外,虽然已经根据本公开的实施方式描述了各种示例性实现和架构,但是本领域普通技术人员将会理解,对本文所描述的示例性实现和架构的许多其它修改也在本公开的范围内。

以上参照根据示例实施方式的系统、方法、装置和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图的一个或更多个框以及分别在框图和流程图中的框的组合可以通过执行计算机可执行程序指令来实现。同样,根据一些实施方式,框图和流程图的一些框可以不必以所呈现的顺序执行,或者可能不一定需要执行。此外,在某些实施方式中可以存在除框图和/或流程图中的框中所描绘的组件和/或操作之外的附加的组件和/或操作。

因此,框图和流程图的框支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合、以及用于执行指定功能的程序指令装置。还将理解,框图和流程图的每个框以及框图和流程图中的框的组合可以通过执行指定的功能、元件或步骤或者专用硬件和计算机指令的组合的专用的、基于硬件的计算机系统来实现。

本文所公开的程序模块、应用等可以包括一个或更多个软件组件,包括例如软件对象、方法、数据结构等。每个这样的软件组件可以包括计算机可执行指令,其响应于执行而导致执行本文所描述的功能的至少一部分(例如,本文所描述的示例性方法的一个或更多个操作)。

软件组件可以以各种编程语言中的任何一种进行编码。示例性的编程语言可以是较低级的编程语言,诸如与特定硬件架构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编器转换成可执行的机器代码。

另一示例编程语言可以是可以跨多个架构可移植的较高级的编程语言。包括较高级的编程语言指令的软件组件可能需要在执行之前由解释器或编译器转换成中间表示。

编程语言的其它示例包括但不限于宏语言、外壳(shell)或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告写入语言。在一个或更多个示例实施方式中,包括编程语言的前述示例的一个中的指令的软件组件可以由操作系统或其它软件组件直接执行,而不必首先被转换成另一形式。

可以将软件组件存储为文件或其它数据存储结构。相似类型或功能相关的软件组件可以存储在一起,例如,存储在特定目录、文件夹或库中。软件组件可以是静态的(例如,预先建立或固定的)或动态的(例如,在执行时创建或修改的)。

软件组件可以通过各种机制中的任何一种来调用其它软件组件或被其它软件组件调用。被调用或调用的软件组件可以包括其它定制开发的应用软件、操作系统功能(例如,设备驱动器、数据存储(例如,文件管理)例程、其它公共例程和服务等)或第三方软件组件(例如,中间件、加密或其它安全软件、数据库管理软件、文件传输或其它网络通信软件、数学或统计软件、图像处理软件以及格式转换软件)。

与特定解决方案或系统相关联的软件组件可以驻留在单个平台上并在其上执行,或者可以跨多个平台分布。所述多个平台可以与多于一个的硬件供应商、底层芯片技术或操作系统相关联。此外,与特定解决方案或系统相关联的软件组件可以最初以一种或更多种编程语言编写,但可以调用以另一编程语言编写的软件组件。

计算机可执行程序指令可以被加载到专用计算机或其它特定机器、处理器或其它可编程数据处理装置上,以产生特定机器,使得在计算机、处理器、或其它可编程数据处理装置上的指令的执行导致执行流程图中指定的一个或更多个功能或操作。这些计算机程序指令还可以存储在计算机可读存储介质(crsm)中,其在执行时可以指示计算机或其它可编程数据处理装置以特定方式工作,使得存储在计算机可读存储介质中的指令产生包括执行流程图中指定的一个或更多个功能或操作的指令装置的制品。计算机程序指令还可以被加载到计算机或其它可编程数据处理装置上,以使得在计算机或其它可编程装置上执行一系列操作元件或步骤,以产生计算机实现的过程。

可存在于本文所描述的设备的任何一个中的其它类型的crsm可以包括但不限于可编程随机存取存储器(pram)、sram、dram、ram、rom、电可擦除可编程只读存储器(eeprom)、闪存或其它存储器技术、光盘只读存储器(cd-rom)、数字通用盘(dvd)或其它光学储存器、磁带盒、磁带、磁盘储存器或其它磁存储设备、或可用于存储信息并且可以被访问的任何其它介质。上述任何一种的组合也包括在crsm的范围内。另选地,计算机可读通信介质(crcm)可以包括计算机可读指令、程序模块或在诸如载波或其它传输的数据信号内发送的其它数据。然而,如本文所使用的,crsm不包括crcm。

虽然已经以对结构特征和/或方法动作特有的语言描述了实施方式,但是应当理解,本公开不一定限于所描述的特定特征或动作。相反,特定特征和动作被公开为实现实施方式的示例性形式。除非另有明确说明或在所使用的上下文中以其它方式理解,否则条件语言,诸如,尤其是“能够(can)”、“可(could)”、“可能(might)”或“可以(may)”通常旨在表示某些实施方式可包括而其它实施方式不包括某些特征、元件和/或步骤。因此,这种条件语言通常不旨在暗示特征、元件和/或步骤以任何方式对于一个或更多个实施方式是必需的,或者,一个或更多个实施方式必然包括用于在有或者没有用户输入或提示的情况下决定是否在任何具体实施方式中包括这些特征、元件和/或步骤,或者将执行这些特征、元件和/或步骤的逻辑。

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