CN1832407A - 遥测数据的类属收集和传递 - Google Patents

遥测数据的类属收集和传递 Download PDF

Info

Publication number
CN1832407A
CN1832407A CNA2006100037849A CN200610003784A CN1832407A CN 1832407 A CN1832407 A CN 1832407A CN A2006100037849 A CNA2006100037849 A CN A2006100037849A CN 200610003784 A CN200610003784 A CN 200610003784A CN 1832407 A CN1832407 A CN 1832407A
Authority
CN
China
Prior art keywords
telemetry
action
remote measurement
message
receives
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.)
Pending
Application number
CNA2006100037849A
Other languages
English (en)
Inventor
E·C·马弗利纳克
G·S·帕拉萨曼
T·Y·弗切尔
W·O·佩瑞拉
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1832407A publication Critical patent/CN1832407A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07BSEPARATING SOLIDS FROM SOLIDS BY SIEVING, SCREENING, SIFTING OR BY USING GAS CURRENTS; SEPARATING BY OTHER DRY METHODS APPLICABLE TO BULK MATERIAL, e.g. LOOSE ARTICLES FIT TO BE HANDLED LIKE BULK MATERIAL
    • B07B13/00Grading or sorting solid materials by dry methods, not otherwise provided for; Sorting articles otherwise than by indirectly controlled devices
    • B07B13/04Grading or sorting solid materials by dry methods, not otherwise provided for; Sorting articles otherwise than by indirectly controlled devices according to size
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07BSEPARATING SOLIDS FROM SOLIDS BY SIEVING, SCREENING, SIFTING OR BY USING GAS CURRENTS; SEPARATING BY OTHER DRY METHODS APPLICABLE TO BULK MATERIAL, e.g. LOOSE ARTICLES FIT TO BE HANDLED LIKE BULK MATERIAL
    • B07B1/00Sieving, screening, sifting, or sorting solid materials using networks, gratings, grids, or the like
    • B07B1/28Moving screens not otherwise provided for, e.g. swinging, reciprocating, rocking, tilting or wobbling screens
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07BSEPARATING SOLIDS FROM SOLIDS BY SIEVING, SCREENING, SIFTING OR BY USING GAS CURRENTS; SEPARATING BY OTHER DRY METHODS APPLICABLE TO BULK MATERIAL, e.g. LOOSE ARTICLES FIT TO BE HANDLED LIKE BULK MATERIAL
    • B07B1/00Sieving, screening, sifting, or sorting solid materials using networks, gratings, grids, or the like
    • B07B1/42Drive mechanisms, regulating or controlling devices, or balancing devices, specially adapted for screens
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B07SEPARATING SOLIDS FROM SOLIDS; SORTING
    • B07BSEPARATING SOLIDS FROM SOLIDS BY SIEVING, SCREENING, SIFTING OR BY USING GAS CURRENTS; SEPARATING BY OTHER DRY METHODS APPLICABLE TO BULK MATERIAL, e.g. LOOSE ARTICLES FIT TO BE HANDLED LIKE BULK MATERIAL
    • B07B13/00Grading or sorting solid materials by dry methods, not otherwise provided for; Sorting articles otherwise than by indirectly controlled devices
    • B07B13/14Details or accessories
    • B07B13/16Feed or discharge arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)
  • Radio Relay Systems (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

本发明提供了遥测数据的类属收集和传递。遥测组件通过多个应用程序可访问的公用遥测接口从应用程序接收遥测数据。所接收的遥测数据与遥测数据库中任何现有的遥测聚集起来。响应于检测到的事件,遥测组件经由对应的遥测流将遥测数据发送到遥测服务。遥测服务经由对应的遥测流从遥测组件接收遥测消息。遥测服务提取遥测数据,并标识已注册遥测数据的一个或多个可插遥测处理程序。遥测服务将所提取的遥测数据分派到一个或多个所标识的可插遥测处理程序。遥测服务向遥测组件确认遥测数据的接收。

Description

遥测数据的类属收集和传递
技术领域
本发明涉及搜集计算机诊断信息,尤其涉及遥测数据的类属收集和传递。
背景技术
计算机系统和相关技术影响社会的许多方面。的确,计算机系统处理信息的能力已改变人们生活和工作的方式。例如,计算机系统通常包括用于执行许多任务(例如,文字处理、调度和数据库管理)的软件应用程序,这些任务在计算机系统出现以前是手动执行的。计算机系统也可以包括有助于确保计算机系统保持或可以被返回到适当的操作状态的维护、诊断和安全应用程序(例如,备份应用程序、健康检验器、反病毒应用程序、防火墙等)。例如,反病毒应用程序可以在计算机系统受到损害之前检测并消除计算机病毒。
许多计算机系统通常也相互耦合,并被耦合到其他电子设备,以形成计算机系统和其他电子设备可以在其上传送电子数据的有线和无线计算机网络。结果,在计算机系统处执行的许多任务(例如,语音通信、访问电子邮件、控制家用电子设备、Web浏览、以及打印文档)包括许多计算机系统和/或其他电子设备之间经由有线和/或无线计算机网络的电子消息交换。
网络实际上已变得如此丰富,以致简单的启用的计算系统可以通过常常被称作“因特网”的网络聚集而与散布在全球的数百万个其他的计算系统中的任何一个进行通信。这类计算系统可以包括:台式计算机、膝上型计算机或写字板式个人计算机;个人数字助理(PDA);电话;或能够在数字网络上通信的任何其他计算机或设备。
至少部分地由于网络计算的增长,许多软件销售商为其应用程序提供基于网络的更新。这使大量用户能以有成本效率的方式(例如,与制造和运输CD相对)来获得更新。例如,销售商可以在因特网上的公司万维网站处包括关于其应用程序的最新版本和/或升级。这样,任何用户(利用因特网访问)都可以访问万维网站并将更新下载到其计算机系统。然后,可以在计算机系统处安装被下载的更新。
一些销售商将基于网络的更新性能集成到其应用程序中。例如,应用程序可以包括“更新”控制,当被选择时,它连接到已知网络位置并核对更新。其他应用程序自动核对更新,而不要求选择“更新”控制。无论如何,这些应用程序随后可以向用户呈现可用更新列表(在下载这些更新之前或之后)用于选择。如果适当的话,任何选择的更新随后都可以被下载和安装在计算机系统上。
某些应用程序,尤其是维护、诊断和安全应用程序也可以(经常响应于用户批准)将有限的应用程序专用数据发回给软件销售商用于分析。例如,反病毒应用程序可以向该反病毒应用程序的销售商发送已被检测到的和/或从计算机系统中除去的病毒列表。同样,SPAM阻塞应用程序可以将电子邮件地址列表发送给销售商,用于包含在阻塞列表中。根据应用程序专用数据,销售商可以了解其应用程序正在如何执行。销售商也可能能够提供更完全的更新,并且更迅速地响应于其应用程序中被识别的漏洞。
但是,每个应用程序通常包括用于将应用程序专用数据发回给销售商的专有机制(例如,专有接口、专有协议等)。这样,一个销售商所开发的应用程序通常无法将应用程序专用数据发送给各个其他的销售商。这是令人遗憾的,因为来自一个应用程序的应用程序专用数据对于解决其他应用的问题或为其他应用程序提供更新而言可能颇有价值。例如,SPAM阻塞应用程序销售商知道防火墙的特定版本的不适当配置可以允许电子邮件消息通过不用的端口传送可能是颇有价值的。
但是,可能没有有效的方法来将防火墙专用数据传送给SPAM阻塞应用程序销售商,因为SPAM阻塞应用程序销售商用于发送应用程序专用数据的专有机制与防火墙销售商的专有机制不兼容。它也是令人遗憾的,因为每次任何销售商开发新产品,软件开发者都必须了解专有机制的特质。此外,没有容易、类属的机制将上传数据从应用程序的一个组件放入多个数据宿,其中,不同的数据宿可以具有用于分析数据的不同原因、方法和标准。
另外,没有有效的方式来过滤用于特定目的或被特定销售商使用的应用程序专用数据。例如,即使防火墙专用数据可以被传递给SPAM阻塞应用程序销售商,通常也没有机制来将防火墙专用数据减少到电子邮件相关数据。即,防火墙专用数据也将会包括与基于Web的通信、文件传送等有关的数据,这些数据对SPAM阻塞应用程序销售商的重要性很小(如果有的话)。
所以,用于遥测数据的类属收集和传递的系统、方法和计算机程序产品将会是有利的。
发明内容
现有技术的前述问题被本发明的原理克服,本发明针对用于遥测数据的类属收集和传递的方法、系统和计算机程序产品。遥测组件通过应用程序的多个组件或多个应用程序可访问的公用遥测接口从计算机系统处的应用程序接收遥测数据。该遥测组件将所接收的遥测数据和遥测数据库中任何现有的遥测数据聚集。
遥测组件检测发送遥测事件。计算机系统包括遥测消息中聚集的遥测数据的适当部分。遥测组件响应于被检测到的发送遥测事件,经由遥测消息向遥测服务发送遥测流。遥测服务经由遥测消息从遥测组件接收遥测流。遥测服务从遥测消息中提取指定类型的遥测数据。
遥测服务标识已注册指定类型的遥测数据的一个或多个可插遥测处理程序。遥测服务将提取的遥测数据分派到这一个或多个所标识的可插遥测处理程序。遥测服务将确认发送到遥测组件,该确认指出遥测服务接收到遥测消息;或者在出错条件中,指出遥测的什么部分被接收且不需要被重发、以及什么部分没有被接收过且如果适当的话应该被重发。遥测组件从遥测服务接收确认。
本发明的这些和其他目的和特点将通过以下描述和所附权利要求书而变得更一目了然,或者可以通过如下文陈述的本发明的实践来加以了解。
附图说明
为了进一步阐明本发明的以上和其他优点与特点,将参考附图中展示的其具体实施例来呈现本发明的更具体的描述。可理解:这些附图只描绘本发明的典型实施例,因此将不被认为限制其范围。将通过使用附图来额外确切、详细地描述和解释本发明。在这些附图中:
图1示出了便于通过公用接口的遥测数据的类属收集和传递的计算机体系结构的例子。
图2示出了用于通过公用接口的遥测数据的类属收集和传递的方法的示例流程图。
图3示出了关于本发明的原理的合适的操作环境。
具体实施方式
现有技术的前述问题被本发明的原理克服,本发明针对用于遥测数据的类属收集和传递的方法、系统和计算机程序产品。遥测组件通过应用程序的多个组件或多个应用程序可访问的公用遥测接口从计算机系统处的应用程序接收遥测数据。该遥测组件将所接收的遥测数据和遥测数据库中任何现有的遥测数据聚集。
遥测组件检测发送遥测事件。计算机系统包括遥测消息中聚集的遥测数据的适当部分。遥测组件响应于被检测到的发送遥测事件,经由遥测消息向遥测服务发送遥测流。遥测服务经由遥测消息从遥测组件接收遥测流。遥测服务从遥测消息中提取指定类型的遥测数据。
遥测服务标识已注册指定类型的遥测数据的一个或多个可插遥测处理程序。遥测服务将提取的遥测数据分派到这一个或多个所标识的可插遥测处理程序。遥测服务将确认发送到遥测组件,该确认指出遥测服务接收到遥测消息;或者在出错条件中,指出遥测的什么部分被接收且不需要被重发、以及什么部分没有被接收且如果适当的话应该被重发。遥测组件从遥测服务接收确认。
本发明的范围内的实施例包括用于携带或其上储存有计算机可执行指令或数据结构的计算机可读介质。这类计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。举例来讲(不作限制),这类计算机可读介质可以包括物理存储介质,诸如RAM、ROM、EPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、固态存储设备、或可以被用来携带或存储采取计算机可执行指令、计算机可读指令或数据结构的形式并可以由通用或专用计算机系统访问的所需程序代码装置的任何其他介质。
在本描述和所附权利要求书中,“网络”被定义为允许电子数据在计算机系统和/或模块之间的传输的一个或多个数据链路。当信息通过网络或另一通信连接(要么是硬连线、无线,要么是硬连线或无线的组合)被传送到或提供给计算机系统时,该连接被适当地视作计算机可读介质。这样,任何这样的连接都被适当地称为计算机可读介质。以上内容的组合也应该被包括在计算机可读介质的范围内。例如,计算机可执行指令包括使通用计算机系统或专用计算机系统执行某一项或一组功能的指令和数据。例如,这些计算机可执行指令可以是二进制代码、诸如汇编语言等中间格式指令、或甚至源代码。
在本描述和所附权利要求书中,“计算机系统”被定义为一起工作来对电子数据执行操作的一个或多个软件模块、一个或多个硬件模块、或其组合。例如,计算机系统的定义包括个人计算机的硬件组件、以及软件模块(诸如个人计算机的操作系统)。这些模块的物理布局不重要。计算机系统可以包括经由网络耦合的一台或多台计算机。同样,计算机系统可以包括单一物理设备(诸如移动电话或个人数字助理“PDA”),其中,内部模块(诸如存储器和处理器)一起工作来对电子数据执行操作。
本领域的技术人员将会理解,可以在具有许多类型的计算机系统配置的网络计算环境中实践本发明,这些计算机系统配置包括个人计算机、膝上型计算机、手持式设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机等。也可以在分布式系统环境中实践本发明,在分布式系统环境中,任务由通过网络连接(要么通过硬连线数据链路、无线数据链路,要么通过硬连线和无线数据链路的组合)的本地和远程计算机系统来执行。在分布式系统环境中,程序模块可以位于本地和远程记忆存储设备中。
图1示出了便于通过公用接口的遥测数据的类属收集和传递的计算机体系结构100的例子。如所描绘的,计算机体系结构100包括计算机系统101、124、126、127和131。在计算机系统124、101和126之前、之间和之后的一系列三个垂直句点(垂直省略号)指出,其他计算机系统也可以被包括在计算机体系结构100中。计算机系统101、124、126、127和131可以被连接到诸如局域网(“LAN”)、广域网(“WAN”)或甚至因特网等网络。因此,计算机系统101、124、126、127和131可以相互和从其他网络连接计算机系统(未示出)接收和发送数据。例如,计算机系统101、124、126、127和131以及其他网络连接计算机系统可以通过网络创建消息相关数据并交换消息相关数据(例如,网际协议(“IP”)数据报和利用IP数据报的其他更高层协议,诸如传输控制协议(“TCP”)、超文本传输协议(“HTTP”)、简单邮件传输协议(“SMTP”)等)。例如,计算机系统101、124、126、127和131可以通过对应的网络创建SOAP信封并交换SOAP信封。
计算机系统101包括遥测组件122、应用程序102、103和104、以及遥测数据库123。通常,遥测组件122被配置成搜集来自应用程序的遥测数据,并将搜集的遥测数据存储在遥测数据库123中。遥测组件122包括用于与应用程序(和其他软件组件)接口来接收遥测数据的遥测接口121。遥测接口121可以是对应用程序开发者可用的公用遥测接口。
这样,应用程序开发者可以在开发的应用程序中包括对应的兼容遥测接口。例如,应用程序102、103和104分别包括遥测接口112、113和114。遥测接口112、113和114可以是被开发用于与遥测接口121兼容的遥测接口。因此,应用程序102、103和104中的每个应用程序可以被兼容地配置成将遥测数据发送到遥测组件122。
应用程序可以被配置成生成一种或多种不同类型的遥测数据。遥测数据可以包括各种不同类型的更通用的遥测数据,例如,服务质量(“QoS”)遥测数据、引导时遥测数据、计算机系统健康遥测数据、灾难性故障遥测数据等。更通用的遥测数据可以是各种不同的应用程序开发者/销售商所关注的。例如,反病毒程序销售商、防火墙销售商和备份销售商可能都关注用于使其应用程序更具健壮性的灾难性故障数据。
遥测数据也可以包括各种不同类型的更用户化的遥测数据,例如,反病毒遥测数据、防火墙遥测数据、SPAM阻塞遥测数据、备份遥测数据等。用户化遥测数据可能是单个应用程序开发者/销售商的精简子集所关注的,或只是单一应用程序开发者/销售商所关注的。例如,指出检测到的病毒的日期/时间的遥测数据可能只是反病毒程序开发者/销售商所关注的。
遥测数据可以包括计数遥测数据。例如,遥测可以包括对在计算机系统101处已检测到多少病毒或在指定的时间段内已重新引导计算机系统101多少次的计数。遥测数据也可以包括指出状态的快照遥测数据。例如,快照遥测数据可以包括在特定时刻(例如,当拍摄“快照”时)可用的系统资源。
遥测组件122可以标识不同类型的遥测数据,并按类型将遥测数据存储(或入队)在遥测数据库123中。例如,遥测组件可以标识从应用程序102、103和104接收的QoS数据,并可以将所接收的QoS数据和先前被存储的QoS数据聚集。其他类型的更通用的遥测数据以及不同类型的用户化遥测数据同样可以被聚集在遥测数据库123中。
响应于诸如定时器期满、来自遥测服务的请求、灾难性故障等事件,遥测组件122可以将遥测数据发送(或出队)到遥测服务132。遥测数据可以在各种不同的遥测流中传送。例如,遥测组件122可以在流141中发送第一种类型的遥测数据(例如,引导时遥测数据),并在流143中发送第二种类型的遥测数据(例如,备份遥测数据)。
虽然未清楚地描绘,但是应该理解,计算机系统124和126中的每个计算机系统、以及任何其他网络连接计算机系统可以被配置成类似于计算机系统101。即,计算机系统124和126、以及其他网络连接计算机系统可以包括通过公用遥测接口将遥测数据发送到遥测组件的一个或多个应用程序。这些遥测组件可以标识不同类型的遥测数据,并将遥测数据适当地存储在对应的遥测数据库中。响应于某个事件,遥测组件可以发送遥测数据(例如,在适当的遥测流中)。例如,计算机系统101、124和126的每一个可以经由对应的QoS遥测流向遥测服务132发送QoS遥测数据,经由对应的引导时遥测流向遥测服务132发送引导时遥测数据,等等。
计算机系统131包括遥测服务132、遥测消费者注册数据库133、以及后端组件134、136和137。虽然图1将后端组件134、136和137描绘为被包括在计算机系统131中,但是应该理解,后端组件134、136和137可以跨越一个以上的计算机系统而分布。例如,后端组件134、136和137可以部分地位于计算机系统101处,部分地位于一个或多个其他的计算机系统计算机体系结构100处。通常,遥测服务132被配置成从一个或多个计算机系统(例如,计算机系统124、101和126)接收遥测消息。例如,遥测服务可以经由遥测流141和143、经由来自计算机系统124和126的对应的流、以及经由来自其他网络连接计算机系统的对应的流,来接收遥测消息。
诸如后端组件134、136和137等后端组件可以注册一种或多种不同类型(例如,QoS、引导时、维护等)的遥测数据。遥测服务132可以接收这些注册,并将这些注册存储在遥测消费者注册数据库133中。当接收遥测消息时,遥测服务132标识遥测消息中包含的遥测数据类型。然后,遥测服务132检验遥测消费者注册数据库133,以查找已注册了所标识类型的遥测数据的后端组件。然后,遥测服务132将所包含的遥测数据分发给这些注册的后端组件。响应于遥测消息的适当接收,遥测服务132可以将确认发回到提交过遥测消息的遥测组件。
后端组件可以存储遥测数据,供随后使用。例如,QoS后端组件可以将QoS遥测数据存储在QoS数据库中,引导时分析后端可以将引导时遥测数据存储在引导时间分析数据库中,防火墙后端可以将防火墙遥测数据存储在防火墙数据库中,等等。作为存储的替代或结合存储,后端组件可以将电子消息发送给开发者/销售商。例如,响应于以前未知的病毒的多次检测,反病毒后端组件可以将警报发送给反病毒应用程序销售商。
这样,通常,遥测服务可以是关于来自多个其他网络化计算机系统处的遥测组件的遥测数据的中央接收点。可以使用双向认证和经签署的消息来保护遥测服务与遥测组件之间的通信。例如,可以使用“安全套接层”(“SSL”)协议上的双向认证来保护遥测组件122与遥测服务132之间的通信。遥测服务也可以抑制(例如,通过对可用遥测组件的子集进行采样)每一遥测流的遥测数据的接收,以便处理可管理(和可配置)数量的样本。例如,遥测服务132可以每一小时对QoS遥测数据指定数量的遥测组件(例如,小于所有这些可用遥测组件的某个数目)进行采样,以便维护一组可管理的QoS遥测数据。这样,采样可以减少消耗计算机系统131的大量资源来处理QoS遥测数据(或者,消耗计算机系统131的大量资源来处理任何其他类型的遥测数据)的可能性。
遥测数据可以包括一系列名称/值对。在某些实施例中,名称/值对对于生成这些名称/值对的应用程序以及对应的后端组件而言是可理解的。例如,应用程序102和后端组件134可以理解遥测消息151中所包括的一个或多个名称/值对。但是,遥测组件122和遥测服务132可能不理解(也不关心)这一个或多个名称/值对。
在某些实施例中,遥测以特殊的计算机系统为目标。例如,遥测组件122可以将遥测消息156发送到遥测服务128。遥测消息156可以包括计算机系统127的用户可以用于诊断计算机系统101处的问题的遥测数据(例如,名称/值对)。响应于接收目标消息156,遥测服务128可以将ACK 157(目标消息156被接收的确认)发送到遥测组件122。在ACK 157之上捎带确认(piggyback)的可以是基于来自计算机系统101的遥测消息156的目标消息(可能来自计算机系统127的不同组件)。遥测服务128也可以在用户界面处呈现接收到的遥测数据。
图2示出了用于通过公用接口的遥测数据的类属收集和传递的方法200的示例流程图。方法200将关于计算机体系结构100中的组件和数据来描述。
方法200包括通过公用遥测接口从应用程序接收遥测数据的动作(动作201)。例如,遥测组件122可以通过遥测接口121来接收遥测数据116。遥测数据116可以在应用程序102、103和104中的一个或多个应用程序处生成,并分别经由公用遥测接口112、113和114发送。这样,遥测数据116可以包括名称/值对、名称/值计数器、表示不同类型的遥测数据的自定义遥测和/或原始数据。遥测数据可以用可扩展标记语言(“XML”)形式来表示,或者,例如,对于名称/值对数据,可以被表示为实现遥测接口的函数的串参数。
方法200包括将接收到的遥测数据和遥测数据库中任何现有的遥测数据聚集的动作(动作202)。例如,遥测组件122可以将遥测数据116聚集到遥测数据库123中。遥测数据116可以相应地被聚集到遥测数据类型。例如,遥测数据116的某些部分可以与现有的QoS遥测数据聚集起来,某些部分可以与现有的引导时遥测数据聚集起来,某些部分可以与现有的备份遥测数据聚集起来,等等。聚集遥测数据可以包括更新计数器遥测数据,并替换快照数据。例如,当检测到新的病毒时,可以递增检测到的病毒数目。同样,当拍摄系统资源的新快照时,可以替换系统资源的旧快照。
方法200包括检测发送遥测事件的动作(动作203)。例如,遥测组件122可以检测与遥测数据库123中的遥测数据相对应的发送遥测事件。例如,发送遥测事件可以是定时器的期满、来自遥测服务的请求、灾难性故障等。
方法200包括在遥测消息中包括被聚集的遥测数据的适当部分的动作(动作204)。聚集遥测的该适当部分可以是响应于发送遥测事件和/或由发送遥测事件指定的遥测数据。例如,遥测组件122可以在遥测消息151中包括来自遥测数据库123的遥测数据的一部分。所包括的遥测数据可以是指定的类型,例如,QoS遥测数据、引导时遥测数据、快照遥测、自定义遥测数据等。可以响应于检测到的发送遥测事件来包括该指定的类型。例如,响应于来自遥测服务132的对QoS遥测数据的请求,遥测组件122可以在遥测消息151中包括QoS遥测数据。
可以根据模式来格式化遥测数据。以下的目标消息通信请求和遥测上传XML模式定义(“XSD”)文档定义了用于消息通信请求和发送遥测数据的示例格式:
1.<?xml version="1.0"encoding="utf-16"?>
2.<xs:schema attributeFormDefault="unqualified"elementFormDefault="qualified"
  xmlns:xs="...">
3.  <xs:element name="Telemetry">
4.    <xs:complexType mixed="false">
5.      <xs:sequence minOccurs="0">
6.        <xs:choice maxOccurs="unbounded">
7.          <xs:element name="Stream">
8.            <xs:complexType>
9.              <xs:sequence>
10.               <xs:element maxOccurs="unbounded"name="Property">
11.                 <xs:complexType>
12.                   <xs:attribute name="Name"type="xs:string"use="required"/>
13.                   <xs:attribute name="Value"type="xs:string"use="required"/>
14.                   <xs:attribute name="timestamp"type="xs:string"use="required"/>
15.                 </xs:complexType>
16.               </xs:element>
17.             </xs:sequence>
18.             <xs:attribute name="ID"type="xs:string"use="required"/>
19.           </xs:complexType>
20.         </xs:element>
21.         <xs:element name="StreamRaw">
22.           <xs:complexType mixed="true">
23.             <xs:attribute name="ID"type="xs:string"use="require d"/>
24.             <xs:attribute name="timestamp"type="xs:string"use="required"/>
25.           </xs:complexType>
26.         </xs:element>
27.       </xs:choice>
28.     </xs:sequence>
29.     <xs:attribute name="cver"type="xs:string"use="required″/>
30.     <xs:attribute name="pver"type="xs:unsignedByte"use="required"/>
31.     <xs:attribute name="timestamp"type="xs:string"use="required"/>
32.     <xs:attribute name="telemetryGUID"type="xs:string"use="require d"/>
33.       </xs:complexType>
34.    </xs:element>
35.    <xs:element name="TargetedMessagingRequest">
36.       <MESSAGING REQUEST FORMATS>
37.  </xs:element>
38.</xs:schema>
第3行与第34行之间的数据定义定义了Telemetry(遥测)元素。第7行与第20行之间的数据定义定义了可以被包括在Telemetry元素内的Stream(流)元素。第10行定义了可以被包括在Stream元素内的Property(特性)元素,并指出零个或多个Property元素可以被包括在Stream元素中。第12-14行分别定义了Property元素的Name(名称)、Value(值)和Timestamp(时间戳)属性。第18行定义了关于Stream元素的ID属性。
第21行与第26行之间的数据定义定义了StreamRaw(流原始)元素。第23和24行分别为StreamRaw元素定义了ID属性和Timestamp属性。第6行表示一个或多个Stream元素和/或一个或多个StreamRaw元素可以被包括在遥测元素中。第29-32行定义了可以被用来标识Telemetry元素的Telemetry元素属性(版本、时间戳和GUID)。
第35-37行表示也可以定义额外的目标消息通信请求。这些目标消息通信请求格式可以被用来格式化与上传的遥测数据一起捎带确认的目标消息请求。例如,遥测消息156可以包括遥测数据以及目标消息请求,该目标消息请求请求遥测服务128分析所包括的遥测数据。遥测消息151和/或153也可以包括针对计算机系统131处的模块的目标消息请求。这样,关于其他非遥测相关模块的数据可以被包括在遥测ACK消息中,从而消除在单独的消息中发送数据的需求。该捎带确认潜在地保存了网络带宽。
遥测组件122可以被配置成适当地包括遥测消息中的目标消息请求。遥测服务132和128可以被配置成将任何目标消息请求分派到适当的模块。
因此,遥测消息(例如,SOAP消息)可以包括包含一个或多个Stream元素的Telemetry元素、一个或多个StreamRaw元素、以及一个或多个目标消息请求。以下的XML部分表示根据目标消息通信请求和遥测上传XSD文档中的示例格式来格式化的示例遥测消息:
40.<Telemetry cver=“1”pver=“1”timestamp=“”telemetryGUID=“”>
41.  <Stream ID=“<string>”>
42.    <Property Name=“”Value=“”timestamp=“”/>
43.        .
44     </Stream>
45.    <StreamRaw ID=“<string>”timestamp=“”>
46.         <RAW DATA>
47.    </StreamRaw>
48.    <StreamRaw ID=“CustomTelemetry”timestamp=“”>
49.      <Session Stream=“PortUpdate”Provider=“Firewall”timestamp=“”/>
50.        <Parameter Name=“PortStart”Value=“1024”/>
51.        <Parameter Name=“PortEnd”Value=“1048”/>
52.        <Parameter Name=“Scope”Value=“All”/>
53.      </Session>
54.    </StreamRaw>
55.  </Telemetry>
56.  <TargetedMessagingRequest>
57.       <MESSAGE REQUEST DATA>
58.  </TargetedMessagingRequest>
第40至55行表示Telemetry元素。该属性和对应的属性值cver=”1”pver=“1”timestamp=“”telemetryGUID=“”可以被用来标识Telemetry元素。虽然没有在以上的XML部分中清楚地加以描绘,但是,timestamp和telemetryGUID属性具有对应的值。另外,关于cver和pver属性的“1”的值是示例值,关于cver和pver的值可以跨越不同的客户机和协议版本而变化。
第41-44行表示Stream元素。属性和对应的值ID=“<string>”标识与Stream元素中包含的遥测数据相关联的指定的流(例如,流141或流143)。这些属性和对应的值Name=“”Value=“”分别标识名称/值对。属性和对应的值timestamp=“”指出获得该名称/值对的时间。第43行表示至少一个其他的Property元素可以被包含在第41-44行处表示的Stream元素中。
第45-47行表示StreamRaw元素。属性和对应的值D=“<string>”和timestamp=“”分别标识与StreamRaw元素中包含的遥测数据相关联的指定的流(例如,流141或流143),并指出获得StreamRaw元素中所包含的遥测数据的时间。第46行通常表示诸如大块XML或二进制数据等原始遥测数据被包含在StreamRaw元素中。例如,二进制数据可以被编码成基数64的串。
StreamRaw元素也可以被用来发送Custom Telemetry(自定义遥测)。第48-54行表示另一个StreamRaw元素。属性和对应的值ID=“CustomTelemetry”timestamp=“”标识与StreamRaw元素中包含的遥测数据相关联的自定义遥测流(例如,流141或流143),并指出获得StreamRaw元素中所包含的遥测数据的时间。第49-53行描绘Session(会话)元素。Session元素可能对于生成自定义遥测数据的应用程序(例如,应用程序102)和接收自定义遥测数据的对应的后端组件(后端组件134)而言有意义。但是,Session元素可能对于传送自定义遥测数据的中间模块(例如,遥测组件122和遥测服务132)而言没有意义。
属性和对应的值Stream=“PortUpdate”Provider=“Firewall”timestamp=“”指出自定义遥测更明确地与“Firewall(防火墙)”供应者的PortUpdate(端口更新)流相关联,并指出获得Session元素中所包含的自定义遥测数据的时间。第50和51行表示更新号码范围从1024到1048的端口。
第56至58行表示TargetedMessageRequest(目标消息请求)。第57行表示可以连同遥测消息中的第40-55行处的遥测数据一起捎带确认的消息请求。
方法200包括经由遥测消息将遥测流发送到遥测服务的动作(动作205)。例如,遥测组件122可以经由遥测消息151将流141发送到遥测服务132。同样,遥测组件122可以经由遥测消息153将流143发送到遥测服务132。遥测消息152和153中的每个遥测消息可以分别包括与流141和143相对应的一个或多个Stream和/或StreamRaw元素。
方法200包括经由遥测消息从遥测组件接收遥测流的动作(动作207)。例如,遥测服务132可以经由遥测消息152从遥测组件122接收流141。同样,遥测服务132可以经由遥测消息153从遥测组件122接收流143。
方法200包括从遥测消息中提取指定类型的遥测数据的动作(动作208)。例如,遥测服务132可以从遥测消息151中提取QoS遥测数据。同样,遥测服务132可从消息153中提取自定义防火墙遥测数据。
方法200包括标识一个或多个可插遥测处理程序的动作(动作209)。例如,遥测服务132可以标识后端组件134和137已注册了QoS遥测数据。同样,遥测服务132可以标识后端组件136已注册了自定义防火墙遥测。通常,后端组件可以包括用于访问后端组件已注册的指定类型的遥测数据的接口。后端组件也可以包括专用于访问名称/值对的接口。
在某些实施例中,遥测服务132检验遥测消费者注册数据库133中所包含的先前接收的注册。后端组件时常可以例如通过向遥测服务132指出流ID值,来注册对来自指定的遥测流的遥测数据的关注。遥测服务132可以在遥测消费者注册数据库133中记录注册。当接收遥测数据时,遥测服务132可以将接收到的遥测数据的流ID值(例如,ID=“<string>”的“<string>”部分)与注册的流ID值进行比较。当标识到匹配时,遥测数据被分派到提交该注册的后端组件。
方法200包括将遥测数据分派到一个或多个处理程序的动作(动作210)。例如,遥测服务132可以将遥测消息151中所包含的QoS遥测数据分派到后端组件134和137。同样,遥测服务132可以将自定义防火墙遥测数据分派到后端组件136。
方法200包括发送指出遥测数据的接收的确认的动作(动作211)。例如,遥测服务132可以发送指出遥测消息151中所包含的遥测数据的接收的ACK 152。同样,遥测服务132可以发送指出遥测消息153中所包含的遥测数据的接收的ACK154。或者,例如,在出错条件中,遥测服务132可以发送关于遥测数据的什么部分被接收并且不需要被重发,以及什么部分没有被接收并且如果适当的话应该被重发的指示。ACK 154也可以指出遥测服务132能否处理遥测消息151的各个部分。
可以根据模式来格式化确认。以下的目标消息响应和遥测确认XSD文档定义了用于发送遥测确认的示例格式:
60.<?xml version="1.0"encoding="utf-16"?>
61.<xs:schema attributeFormDefault="unqualified"elementFormDefault="qualified″
    xmlns:xs="...">
62.   <xs:element name="TelemetryResponse">
63.    <xs:complexType>
64.      <xs:sequence>
65.        <xs:element name="StreamAcks">
66.          <xs:complexType mixed="false">
67.            <xs:sequence minOccurs="0">
68.              <xs:element minOccurs="0"maxOccurs="unbounded"name="StreamAck">
69.                <xs:complexType>
70.                  <xs:attribute name="ID"type="xs:string"use="required"/>
71.                  <xs:attribute name="Response"type="xs:string"use="required"/>
72.                </xs:complexType>
73.              </xs:element>
74.              <xs:element minOccurs="0"maxOccurs="unbounded"name="RawStreamAck">
75.                <xs:complexType>
76.                  <xs:attribute name="ID"type="xs:string"use="required"/>
77.                  <xs:attribute name="Response"type="xs:string"use="required"/>
78.                  <xs:attribute name="timestamp"type="xs:string"use="required"/>
79.                </xs:complexType>
80.               </xs:element>
81.              </xs:sequence>
82.             </xs:complexType>
83.            </xs:element>
84.           </xs:sequence>
85.          </xs:complexType>
86.        </xs:element>
87.       </xs:sequence>
88.       <xs:attribute name="ver"type="xs:unsignedByte"use="required"/>
89.       <xs:attribute name="telemetryGUID"type="xs:string"use="required"/>
90.     </xs:complexType>
91.   </xs:element>
92.    <xs:element name="TargetedMessagingResponse">
93.        <MESSAGING RESPONSE FORMATS>
94.   </xs:element>
95.</xs:schema>
第62行与第91行之间的数据定义定义了TelemetryResponse(遥测响应)元素。第65行与第83行之间的数据定义定义了可以被包括在TelemetryResponse元素中的StreamAcks(流确认)元素。第68-73行定义了可以被用来确认经由流的遥测数据的接收的StreamAck元素。第70和71行分别为StreamAck元素定义了ID属性和Response(响应)属性。第74-80行定义了可以被用来确认经由原始流的遥测数据的接收的RawStreamAck(原始流确认)元素。第76-78行分别为RawStreamAck元素定义了ID属性、Response属性和timestamp属性。
第92-94行表示也可以定义额外的目标消息通信响应格式。这些目标消息通信响应格式可以用来格式化与遥测确认一起捎带确认的目标消息响应。例如,ACK157可以包括(遥测消息156中的遥测数据的)遥测确认以及指出(由遥测服务128)分析遥测数据的结果的目标消息响应。ACK 152和/或ACK 154也可以包括针对计算机系统101处的模块的目标消息响应。这样,关于其他非遥测相关模块的数据可以被包括在ACK中,从而消除在单个消息中发送数据的需求。该捎带确认潜在地保存了网络带宽。
遥测服务132和128可以被配置成在ACK中适当地包括目标消息响应。遥测组件122可以被配置成将任何目标消息响应分派到适当的模块。
因此,遥测确认(例如,SOAP消息)可以包括包含一个或多个StreamAck元素的TelemetryResponse元素、一个或多个StreamRawAck元素、以及一个或多个目标消息响应。以下的XML部分表示根据目标消息响应和遥测确认XSD文档中的示例格式格式化的示例ACK:
100.<TelemetryRepsonse ver=“1”telemetryGUID=“”>
101.     <StreamAcks>
102.       <StreamAck ID=“<string>”Response=“OK/Retry”/>
103.       <RawStreamAck ID=“<string>”Response=“OK/Retry”timestamp=“”/>
104.     </StreamAcks>
105.   </TelemetryResponse>
106.   <TargetedMessagingResponse>
107.     <MESSAGE RESPONSE DATA>
108.   </TargetedMessagingResponse>
第100-105行表示TelemetryResponse元素。属性和对应的属性值ver=“1”telemetryGUID=“”可以用来标识TelemetryResponse元素。
第101-104行表示StreamAcks元素。第102行表示StreamAck元素。属性和对应的值ID=“<string>”和Response=“OK/Retry”(在第101行)标识指定的流(例如,流141或流143),并指出经由流接收的数据是OK还是将要被重新发送。第103行表示RawStreamAck元素。属性和对应的值ID=“<string>”和Response=“OK/Retry”(在第102行)标识指定的原始流(例如,流141或流143),并指出经由原始流接收的数据是OK还是将要被重新发送。属性和对应的值timestamp=“”(在第102行)指出公式化响应的时间。
第106-108行表示TargetedMessageResponse(目标消息响应)。第107行表示可以连同ACK中的第100-105行的遥测响应一起捎带确认的消息响应数据。
方法200包括接收指出遥测消息的接收的确认的动作(动作206)。例如,遥测组件122可以接收ACK 152和/或ACK 154。或者,例如,当有出错条件时,遥测组件122可以接收关于遥测数据的什么部分被接收并且不需要被重发,以及什么部分没有被接收并且如果适当的话应该被重发的指示。
因此,本发明的实施例便于遥测数据的类属收集和传递。应用程序可以通过公用遥测接口将遥测数据发送到将遥测数据存储在遥测数据库中的遥测组件。可插后端组件注册所关注的遥测数据并与遥测服务接口,以接收适当的遥测数据。目标消息可以在遥测消息和确认内被捎带确认,以便保存网络带宽。
图3示出了用于本发明的原理的合适的操作环境。图3和下文意在简要、概括地描述其中可以实现本发明的合适的计算环境。虽然未作要求,但是将在正由计算机系统执行的计算机可执行指令(例如,程序模块)的一般上下文中描述本发明。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。计算机可执行指令、相关联的数据结构和程序模块表示用于执行这里所揭示的方法的动作的程序代码手段的例子。
参照图3,用于实现本发明的示例系统包括采取计算机系统320的形式的通用计算设备,包括处理单元321、系统存储器322、以及将包括系统存储器322的各种系统组件耦合到处理单元321的系统总线323。处理单元321可以执行被设计成实现计算机系统320的特点(包括本发明的特点)的计算机可执行指令。系统总线323可以是几种类型的总线结构中的任一种,包括存储总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。系统存储器包括只读存储器(“ROM”)324和随机存取存储器(“RAM”)325。基本输入/输出系统(“BIOS”)326可以被存储在ROM 324中,它包含有助于在计算机系统320内的各个元件之间传送信息(例如,在启动期间)的基本例程。
计算机系统320也可以包括用于从磁硬盘339读取并对其写入的磁硬盘驱动器327、用于从可移动磁盘329读取或对其写入的磁盘驱动器328、以及用于从可移动光盘331(例如,CD-ROM或其他光学介质)读取或对其写入的光盘驱动器330。磁硬盘驱动器327、磁盘驱动器328和光盘驱动器330分别通过硬盘驱动器接口332、磁盘驱动器接口333和光驱接口334而被连接到系统总线323。这些驱动器及其相关联的计算机可读介质为计算机系统320提供计算机可执行指令、数据结构、程序模块和其他数据的非易失性存储。虽然这里所描述的示例环境使用磁硬盘339、可移动磁盘329和可移动光盘331,但是,可以使用用于存储数据的其他类型的计算机可读介质,包括盒式磁带、闪存卡、数字多功能盘、伯努里式磁带匣、RAM、ROM等。
包括一个或多个程序模块的程序代码装置可以被存储在硬盘339、磁盘329、光盘331、ROM 324或RAM 325上,包括操作系统335、一个或多个应用程序336、其他程序模块337和程序数据338。用户可以通过键盘340、定点设备342或其他输入设备(未示出)(例如,话筒、操纵杆、游戏垫、扫描仪或类似的输入设备)来将命令和信息输入计算机系统320。这些和其他的输入设备可以通过被耦合到系统总线323的输入/输出接口346而被连接到处理单元321。输入/输出接口346逻辑上表示众多不同的接口中的任一个,例如,串行端口接口、PS/2接口、并行端口接口、通用串行总线(“USB”)接口、或电气和电子工程师协会(“IEEE”)1394接口(即FireWire接口),或者甚至可以逻辑上表示不同接口的组合。
监视器347或其他显示设备也经由视频接口348而被连接到系统总线323。诸如扬声器和打印机等其他外围输出设备(未示出)也可以被连接到计算机系统320。
计算机系统320可以连接到诸如办公室范围或企业范围的计算机网络、家庭网络、内联网和/或因特网等网络。计算机系统320可以通过这类网络与诸如远程计算机系统、远程应用程序、和/或远程数据库等外部来源交换数据。
计算机系统320包括网络接口353,通过网络接口353,计算机系统320从外部来源接收数据和/或将数据传送到外部来源。如图3中所描绘的,网络接口353便于经由链路351与远程计算机系统383交换数据。网络接口353可以逻辑上表示一个或多个软件和/或硬件模块,例如,网络接口卡和对应的网络驱动器接口规范(“NDIS”)堆栈。链路351表示网络的一个部分(例如,以太网段),并且,远程计算机系统383表示该网络的节点。
同样,计算机系统320包括输入/输出接口346,通过输入/输出接口346,计算机系统320从外部来源接收数据和/或将数据传送到外部源。输入/输出接口346经由链路359被耦合到调制解调器354(例如,标准调制解调器、电缆调制解调器、或数字用户线(“DSL”)调制解调器),通过调制解调器,计算机系统320从外部来源接收数据和/或将数据传送到外部来源。如图3中所描绘的,输入/输出接口346和调制解调器354便于经由链路352与远程计算机系统393交换数据。链路352表示网络的一个部分,并且,远程计算机系统393表示该网络的节点。
尽管图3表示用于本发明的合适的操作环境,但本发明的原理可以被用于能够(如果必要的话,具有合适的修改)实现本发明的原理的任何系统中。图3中所展示的环境只起说明的作用,决不表示其中可以实现本发明的原理的众多不同的环境的甚至一小部分。
根据本发明,包括应用程序、遥测接口、遥测组件、遥测服务、后端组件、以及相关联的数据(包括遥测数据、遥测消息、目标消息和确认)的模块可以被存储在与计算机系统320相关联的任何计算机可读介质中并从中访问。例如,这类模块的各个部分和相关联的程序数据的各个部分可以被包括在操作系统335、应用程序336、程序模块337和/或程序数据338中,用于存储在系统存储器322中。
当诸如磁硬盘339等大容量存储设备被耦合到计算机系统320时,这类模块和相关联的程序数据也可以被存储在该大容量存储设备中。在网络化环境中,相对于计算机系统320或其各个部分而描绘的程序模块可以被存储在诸如与远程计算机系统383和/或远程计算机系统393相关联的系统存储器和/或大容量存储设备等远程记忆存储设备中。可以在如前所述的分布式环境中实现这类模块的执行。
在不脱离其精神或本质特征的前提下,可以用其他具体形式来实施本发明。所描述的实施例将在各个方面被认为只起说明的作用,而不起限制的作用。所以,本发明的范围由所附权利要求书(而不是由前述说明)来指出。该权利要求书的等效技术方案的含义和范围以内的所有更改将被包含在其范围内。

Claims (21)

1.在包括遥测组件、遥测数据库和多个应用程序的计算机系统处,一种用于传递遥测数据的方法,所述方法包括:
所述遥测组件从所述计算机系统处的应用程序接收遥测数据的动作,所述遥测数据是通过所述多个应用程序可访问的公用遥测接口来接收的;
将所接收的遥测数据和所述遥测数据库中任何现有的遥测数据聚集的动作;
检测发送遥测事件的动作;
在遥测消息中包括所聚集的遥测数据的适当部分的动作;
响应于所检测到的发送遥测事件,经由所述遥测消息将遥测流发送到遥测服务的动作;以及
从所述遥测服务接收确认的动作,所述确认指出遥测服务接收到所述遥测消息。
2.如权利要求1所述的方法,其特征在于,所述遥测组件从所述计算机系统处的应用程序接收遥测数据的动作包括接收快照遥测数据的动作。
3.如权利要求1所述的方法,其特征在于,所述遥测组件从所述计算机系统处的应用程序接收遥测数据的动作包括接收至少一个名称/值对的动作。
4.如权利要求1所述的方法,其特征在于,检测发送遥测事件的动作包括检测定时器的期满的动作。
5.如权利要求1所述的方法,其特征在于,在遥测消息中包括所聚集的遥测数据的适当部分的动作包括在所述遥测消息中包括XML指令的动作。
6.如权利要求1所述的方法,其特征在于,在遥测消息中包括所聚集的遥测数据的适当部分的动作包括在所述遥测消息中包括至少一个名称/值对的动作。
7.如权利要求1所述的方法,其特征在于,在遥测消息中包括所聚集的遥测数据的适当部分的动作包括在所述遥测消息中包括自定义遥测数据的动作。
8.如权利要求1所述的方法,其特征在于,响应于所检测到的发送遥测事件,经由所述遥测消息将遥测流发送到遥测服务的动作包括发送至少一个名称/值对的动作。
9.如权利要求1所述的方法,其特征在于,响应于所检测到的发送遥测事件,经由所述遥测消息将遥测流发送到遥测服务的动作包括发送原始遥测数据的动作。
10.如权利要求1所述的方法,其特征在于,从所述遥测服务接收确认的动作包括接收包括目标消息响应的确认消息的动作。
11.如权利要求1所述的方法,其特征在于,还包括:
在所述遥测消息中捎带确认目标消息请求的动作。
12.在包括遥测服务的计算机系统处,一种用于分派遥测数据的方法,所述方法包括:
所述遥测服务经由对应的遥测消息从遥测组件接收遥测流的动作;
从所述遥测消息中提取指定类型的遥测数据的动作;
标识已注册所述指定类型的遥测数据的一个或多个可插遥测处理程序的动作;
将所提取的遥测数据分派到一个或多个所标识的可插遥测处理程序的动作;以及
将确认发送到所述遥测组件的动作,所述确认指出遥测服务接收到所述遥测消息,以及所述遥测服务是否能够处理所述遥测消息的各个部分。
13.如权利要求12所述的方法,其特征在于,还包括:
所述遥测服务从所述一个或多个可插遥测处理程序接收注册的动作,所述注册指出所述一个或多个可插遥测处理程序关注所述指定类型的遥测数据。
14.如权利要求12所述的方法,其特征在于,接收遥测流的动作包括接收一个或多个名称/值对的动作。
15.如权利要求12所述的方法,其特征在于,接收遥测流的动作包括接收原始遥测数据的动作。
16.如权利要求12所述的方法,其特征在于,接收遥测流的动作包括接收包括目标消息请求的遥测消息的动作。
17.如权利要求12所述的方法,其特征在于,接收遥测流的动作包括对将遥测数据提交给所述遥测流的可用遥测组件的子集进行采样的动作。
18.如权利要求12所述的方法,其特征在于,从所述遥测消息中提取指定类型的遥测数据的动作包括从所述遥测消息中提取一个或多个名称/值对的动作。
19.如权利要求12所述的方法,其特征在于,从所述遥测消息中提取指定类型的遥测数据的动作包括提取XML属性的动作。
20.如权利要求12所述的方法,其特征在于,还包括:
在所述确认中捎带确认目标消息响应的动作。
21.一种在包括遥测服务的计算机系统处使用的计算机程序产品,所述计算机程序产品用于实现一种分派遥测数据的方法,所述计算机程序产品包括其上存储计算机可执行指令的一个或多个计算机可读介质,当被处理器执行时,所述计算机可执行指令使所述计算机系统执行以下动作:
经由对应的遥测消息从遥测组件接收遥测流;
从所述遥测消息中提取指定类型的遥测数据;
标识已注册所述指定类型的遥测数据的一个或多个可插遥测处理程序;
将所提取的遥测数据分派到一个或多个所标识的可插遥测处理程序;以及
将确认发送到所述遥测组件,所述确认指出遥测服务接收到所述遥测消息,以及所述遥测服务是否能够处理所述遥测消息的各个部分。
CNA2006100037849A 2005-03-11 2006-02-10 遥测数据的类属收集和传递 Pending CN1832407A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/077,818 2005-03-11
US11/077,818 US20060206698A1 (en) 2005-03-11 2005-03-11 Generic collection and delivery of telemetry data

Publications (1)

Publication Number Publication Date
CN1832407A true CN1832407A (zh) 2006-09-13

Family

ID=36649713

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100037849A Pending CN1832407A (zh) 2005-03-11 2006-02-10 遥测数据的类属收集和传递

Country Status (7)

Country Link
US (1) US20060206698A1 (zh)
EP (1) EP1701579A2 (zh)
JP (1) JP2006252561A (zh)
KR (1) KR20060097571A (zh)
CN (1) CN1832407A (zh)
BR (1) BRPI0600250A (zh)
CA (1) CA2533060A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105765579A (zh) * 2014-09-29 2016-07-13 微软技术许可有限责任公司 数据遥测
CN109791533A (zh) * 2016-09-30 2019-05-21 英特尔公司 推送遥测数据累积
CN110008801A (zh) * 2017-12-04 2019-07-12 地图盒子有限公司 基于移动遥测数据识别数字地图中的缺失要素
CN110506265A (zh) * 2017-04-14 2019-11-26 惠普发展公司,有限责任合伙企业 链接用户反馈到遥测数据
CN110521177A (zh) * 2016-12-29 2019-11-29 编年史有限责任公司 收集攻陷指示器用于安全威胁检测

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601155B2 (en) * 2006-08-16 2013-12-03 Oracle America, Inc. Telemetry stream performance analysis and optimization
US8607305B2 (en) * 2008-09-01 2013-12-10 Microsoft Corporation Collecting anonymous and traceable telemetry
JP5184269B2 (ja) * 2008-09-11 2013-04-17 株式会社Access ユーザ情報提供方法、ユーザ情報提供プログラム、クライアント装置、サーバ装置、およびユーザ情報提供システム
US8953600B2 (en) 2012-09-14 2015-02-10 Microsoft Corporation Telemetry data routing
US9804730B2 (en) 2013-06-03 2017-10-31 Microsoft Technology Licensing, Llc Automatically changing a display of graphical user interface
US11631065B1 (en) * 2014-10-24 2023-04-18 Worldpay, Llc System and method for payment processing telemetry
US9893952B2 (en) * 2015-01-09 2018-02-13 Microsoft Technology Licensing, Llc Dynamic telemetry message profiling and adjustment
US10042732B2 (en) 2015-08-17 2018-08-07 Microsoft Technology Licensing, Llc Dynamic data collection pattern for target device
US9612873B2 (en) 2015-08-20 2017-04-04 Microsoft Technology Licensing, Llc Dynamically scalable data collection and analysis for target device
US9612810B2 (en) * 2015-08-25 2017-04-04 International Business Machines Corporation Profile-based per-device code optimization
US11288245B2 (en) 2015-10-16 2022-03-29 Microsoft Technology Licensing, Llc Telemetry definition system
US11386061B2 (en) 2015-10-16 2022-07-12 Microsoft Technology Licensing, Llc Telemetry request system
US10929272B2 (en) * 2015-10-16 2021-02-23 Microsoft Technology Licensing, Llc Telemetry system extension
US11831654B2 (en) * 2015-12-22 2023-11-28 Mcafee, Llc Secure over-the-air updates
USD809578S1 (en) 2016-05-24 2018-02-06 Nomis Llc Pocket hole jig
US10313316B2 (en) * 2016-05-26 2019-06-04 Pepsico, Inc. Secure gateways for connected dispensing machines
US9996477B2 (en) 2016-09-14 2018-06-12 Western Digital Technologies, Inc. Asynchronous drive telemetry data notification
US20180262407A1 (en) * 2017-03-09 2018-09-13 Arijit Biswas Telemetry Architecture for Integrated Circuits and Cloud Infrastructure
US10433035B2 (en) * 2017-03-31 2019-10-01 Intel Corporation Profiles for collecting telemetry data
US10848839B2 (en) * 2017-06-09 2020-11-24 American Megatrends International, Llc Out-of-band telemetry data collection
USD872147S1 (en) 2018-05-11 2020-01-07 Nomis Llc Pocket hole jig
USD913347S1 (en) 2019-03-06 2021-03-16 Nomis Llc Pocket hole jig
USD894707S1 (en) 2019-03-18 2020-09-01 Nomis Llc Pocket hole jig
USD903456S1 (en) 2019-03-18 2020-12-01 Nomis Llc Pocket hole jig
CN112637331B (zh) * 2020-12-22 2023-04-07 中国人民解放军63920部队 航天器状态数据处理方法及装置
CN115277698B (zh) * 2022-07-20 2024-01-16 福州大学 基于可靠性的遥测收集方案部署方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4104799B2 (ja) * 1999-11-25 2008-06-18 株式会社山武 ネットワークシステム及び通信方法
US7038584B2 (en) * 2000-03-31 2006-05-02 Ge Medical Systems Information Technologies, Inc. Object location monitoring within buildings
JP3810998B2 (ja) * 2000-11-24 2006-08-16 株式会社ホライズン・デジタル・エンタープライズ コンピュータ遠隔管理方法
US7392307B2 (en) * 2001-02-14 2008-06-24 Ricoh Co., Ltd. Method and system of remote diagnostic, control and information collection using a shared resource
US7171670B2 (en) * 2001-02-14 2007-01-30 Ricoh Co., Ltd. Method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols with verification of formats and protocols
JP2002333996A (ja) * 2001-02-14 2002-11-22 Ricoh Co Ltd 遠隔情報収集の方法及びシステム
JP2002318844A (ja) * 2001-02-15 2002-10-31 Hitachi Ltd 車両管理方法
US6768994B1 (en) * 2001-02-23 2004-07-27 Trimble Navigation Limited Web based data mining and location data reporting and system
US20050157856A1 (en) * 2004-01-16 2005-07-21 Humphries Laymon S. Method and apparatus for providing an externalized interface to mobile telemetry devices

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105765579A (zh) * 2014-09-29 2016-07-13 微软技术许可有限责任公司 数据遥测
CN109791533A (zh) * 2016-09-30 2019-05-21 英特尔公司 推送遥测数据累积
CN110521177A (zh) * 2016-12-29 2019-11-29 编年史有限责任公司 收集攻陷指示器用于安全威胁检测
CN110521177B (zh) * 2016-12-29 2020-10-27 编年史有限责任公司 收集攻陷指示器用于安全威胁检测
CN110506265A (zh) * 2017-04-14 2019-11-26 惠普发展公司,有限责任合伙企业 链接用户反馈到遥测数据
CN110008801A (zh) * 2017-12-04 2019-07-12 地图盒子有限公司 基于移动遥测数据识别数字地图中的缺失要素

Also Published As

Publication number Publication date
US20060206698A1 (en) 2006-09-14
KR20060097571A (ko) 2006-09-14
JP2006252561A (ja) 2006-09-21
CA2533060A1 (en) 2006-09-11
EP1701579A2 (en) 2006-09-13
BRPI0600250A (pt) 2006-10-31

Similar Documents

Publication Publication Date Title
CN1832407A (zh) 遥测数据的类属收集和传递
CN1275139C (zh) 链接信息制作设备和链接信息制作方法
CN1095568C (zh) 命名书签组
CN1183717C (zh) 桥连HAVi子网络和UPnP子网络的方法及实施所述方法的装置
CN1783019A (zh) 用于创建web服务并与其交互的接口基础结构
CN1574763A (zh) 外部网络装置的自动发现和配置
CN1319206A (zh) 记录图像文件的计算机可读记录媒体、生成记录媒体的装置、记录图像文件生成程序的媒体,发送图像文件的装置处理图像文件的装置及记录图象文件处理程序的媒体
CN1243317C (zh) 信息提供系统和识别信息添加单元
CN1742480A (zh) 信息处理装置、信息处理方法和计算机程序
CN1703048A (zh) 网络服务应用协议和soap处理模型
US7464004B2 (en) Troubleshooting to diagnose computer problems
CN1716922A (zh) 移动装置消息传送的方法和系统
CN1226852C (zh) 允许一般的web浏览器访问多个不同协议类型的服务器的信息处理系统和方法
CN101030204A (zh) 在用户终端设备上生成用户界面的入口服务器和方法
CN1278623A (zh) 信息处理方法、信息终端支持服务器和储存信息处理程序的存储媒介
CN1892639A (zh) 主题变换系统、便携通信设备、服务器装置和计算机程序
CN1751492A (zh) 在网络通信中压缩报文的系统和方法
CN1551006A (zh) 分布式计算系统架构及分布式应用的设计、部署和管理
CN1681264A (zh) 服务提供系统及其提供方法
CN1745370A (zh) 信息处理装置、内容管理方法、内容信息管理方法和计算机程序
CN1677277A (zh) 服务提供方法、服务提供商设备、信息处理方法和设备
CN1757020A (zh) 信息处理装置、信息处理方法以及计算机程序
CN1650279A (zh) 企业业务过程管理的方法和系统
CN1444359A (zh) 代理,图像形成装置管理系统、方法和程序,存储介质
CN1682183A (zh) 在客户机-服务器通信中处理增量数据的方法和计算机系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20060913