发现和挖掘设备的性能信息用于先行发送更新到设备的制作方法

文档序号:7869024阅读:163来源:国知局
专利名称:发现和挖掘设备的性能信息用于先行发送更新到设备的制作方法
技术领域
本发明一般涉及发现和挖掘设备的性能信息用于先行发送更新到该设备。
背景技术
常规计算技术收集与在计算设备上操作的无响应或不正常运行的软件相关联的信息。例如,崩溃报告技术收集计算设备上已崩溃或停止响应的应用的POST错误调试信息。此外,这种技术可分析这种信息并发送可用的解决方案给设备的用户。在另ー示例中,常规计算技术向用户提供指示对用户端计算设备上安装的应用的可用更新的信息。然后,这种技术提示用户安装可用更新。然而,常规计算技木通过延迟指示与计算设备的硬件和/或软件相关联的更新的信息的传送,和/或通过需要用户方的额外工作或理解,而降低了与计算设备相关联的用户体验并且具有其它缺陷。当今技术的上述缺点仅g在提供常规系统的某些问题的概览,并且不g在是穷尽性的。常规系统的其他问题以及此处所描述的各非限制性实施例的对应的益处可以在审阅以下描述后变得更显而易见。

发明内容
此处提供了简化的发明内容以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的多个方面有基本或大体的理解。然而,本发明内容并不g在是详尽的或穷尽的。相反,本发明内容的唯一目的在于,以简化的形式提出与一些示例性、非限制性实施例相关的ー些概念,作为以下各实施例的更详细的描述的序言。根据ー个或多个实施例及其相应的公开内容,结合监控设备的上下文和性能信息用于先行发送更新信息到该设备来描述各个非限制性方面。例如,一实施例包括由与第一计算设备(例如,服务器)相关联的服务组件(例如,基于网络的服务,其包括有线服务、无线服务(诸如基于云的服务)、设备服务或组件服务(诸如拇指驱动器服务)的任何形式或组合)接收指示第二计算设备(例如,基于网络的服务的客户机)的部分操作环境的上下文信息,接收用户偏好信息、或接收关于用户的推断的将来活动、当前活动或过去活动的信息。在一个示例中,上下文信息可包括第二计算设备的硬件(例如,中央处理单元(CPU)、存储器、盘存储等)和/或软件(例如,应用、操作系统(OS)等)的配置,第二计算设备的位置,与第二计算设备通信耦合的网络、服务等的配置等等。因此,上下文信息、用户偏好或用户活动中的任一个可作为传送配置信息的基础。此外,该实施例包括接收与操作环境中第二计算设备正在执行的ー个或多个操作相关联的性能信息。例如,性能信息可指示:与第二计算设备的操作系统、第二计算设备的软件、第二计算设备的固件等相关联的存储器的消耗,与操作系统、软件、固件等的执行相关联的输入/输出(I/o)带宽,网络的带宽,与经由网络处理数据相关联的等待时间等。然后,响应于使上下文信息与性能信息相关,将配置(或更新)信息传送到第二计算设备。例如,配置信息可包括对第二计算设备的操作系统、软件、固件和/或硬件的升级、更新、不升级、不更新等的推荐、提议等。在另ー示例中,配置信息可包括对利用网络、通信协议等的推荐。在一实施例中,使上下文信息与性能信息相关还包括从部分上下文信息推断部分性能信息的起因。在另ー实施例中,相关还包括接收其它信息,其(I)指示第三计算设备的硬件和/或软件的配置,和/或(2)指示第三计算设备的性能,并且基于其它信息来确定配
置信息。在又一实施例中,相关还包括根据部分上下文信息确定部分性能信息的起因,并将部分配置信息传送到第三计算设备,例如与接收关于硬件和/或软件的操作的信息相关联的系统。在一个实施例中,相关还包括接收关于与上下文信息和/或性能信息相关联的硬件和/或软件问题的与例如第三方执行的通信(例如查询、捜索等)相关联的其它信息,并且基于与通信相关联的其它信息根据部分上下文信息确定部分性能信息的起因。在一个非限制性实现中,接ロ组件可从客户机接收指示客户机的操作环境的上下文信息和与基于操作环境客户机正在执行的操作相关联的性能信息。此外,服务组件可推断上下文信息和性能信息之间的关系以获得相关信息,并且接ロ组件可基于相关信息向客户机发送配置信息或更新信息。在一实施例中,上下文信息包括指示客户机的硬件和/或软件的配置、与客户机通信耦合的网络的配置的信息、和/或指示客户机的位置的信息。此外,配置信息包括指示对客户机的软件和/或硬件的更新、升级、不更新、不升级等的推荐的信息。在另ー实施例中,性能信息包括指示与客户机的操作系统、客户机的软件和/或客户机的固件相关联的存储器的消耗,与客户机的操作系统、软件和/或固件的执行相关联的输入/输出带宽,与客户机通信耦合的网络的带宽,和/或与网络相关联的等待时间的信息。在另ー非限制性实现中,ー种方法可包括由计算设备存储指示与计算设备执行的部分操作相关联的部分操作环境的上下文信息。此外,该方法可包括向服务组件发送上下文信息和与部分操作相关联的性能信息。此外,该方法可包括从服务组件接收基于上下文信息和性能信息的配置信息用于配置计算设备。在一个实施例中,存储上下文信息还包括用部分上下文信息填充高速缓存以获得高速缓存的信息,并且将部分高速缓存的信息发送到服务组件。在另ー实施例中,该方法可包括基于配置信息配置计算设备的软件和/或硬件。在另ー实施例中,ー种方法可包括由第一计算设备的服务组件从客户机接收指示客户机的各个操作环境的上下文信息,并且在数据存储中存储上下文信息;接收与各个操作环境中的客户机正在执行的各个操作相关联的性能信息;以及在数据存储中存储性能信息。然后,响应于利用数据存储使上下文信息与性能信息相关,可推断第二计算设备的推荐的配置。此外,可将推荐的配置传送到第二计算设备。以下更详细地描述其他实施例和各个非限制性示例、场景和实现。


參考附图进一歩描述多个非限制性实施例,在附图中:图1示出根据ー实施例的监控设备的性能信息用于先行发送更新信息到该设备的示例性环境;图2示出根据ー实施例的监控设备的性能信息用于先行发送更新信息到该设备的另一不例性环境;图3示出根据ー实施例的监控设备的性能信息用于先行发送更新信息到该设备的又一示例性环境;图4示出根据ー实施例的包括服务应用系统的示例性环境;图5示出根据ー实施例的包括高速缓存的示例性环境;图6-9示出根据各个实施例的示例性过程;图10是表示其中可实现在本文所述的多个实施例的示例性、非限制性联网环境的框图;以及图11是表示其中可实现本文所述的多个实施例的ー个或多个方面的示例性、非限制性计算系统或操作环境的框图。
具体实施例方式概览如背景中所述,常规计算技术不监控设备的操作性能并且不基于操作性能先行发送更新信息到设备。考虑到常规技术的这些和其它缺陷,本文描述的本发明涉及使设备的上下文信息和性能信息相关,并基于这样的信息发送配置信息到该设备。在一个实施例中,ー种方法包括由第一计算设备的服务组件接收指示第二计算设备的操作环境的ー个或多个部分的上下文信息;并且接收与操作环境中的第二计算设备正在执行的ー个或多个操作相关联的性能信息。然后,响应于使上下文信息与性能信息相关,将配置信息传送到第二计算设备。在另ー非限制性实现中,提供一种计算机可读存储介质,其包括计算机可执行指令,这些指令响应于执行致使计算设备执行各操作。操作包括由计算设备存储指示与部分操作相关联的部分操作环境的上下文信息。此外,该方法可包括向服务组件发送上下文信息和与计算设备正在执行的操作中的至少ー个操作相关联的性能信息。此外,该方法可包括从服务组件接收基于上下文信息和性能信息的配置信息用于配置计算设备。在一个实施例中,一种系统包括存储在可计算可读存储介质中的接ロ组件,其被配置成:从客户机接收指示客户机的操作环境的上下文信息和与基于操作环境客户机正在执行的ー个或多个操作相关联的性能信息。此外,接ロ组件可基于相关信息发送更新信息到客户机。此外,服务组件可推断上下文信息和性能信息之间的关系以获得相关信息。在另ー实施例中,ー种方法可包括由第一计算设备的服务组件从客户机接收指示客户机的各个操作环境的上下文信息,并且在数据存储(诸如数据库)中存储上下文信息;接收与各个操作环境中的客户机正在执行的各个操作相关联的性能信息,并且在数据存储中存储性能信息;响应于利用数据存储使上下文信息与性能信息相关,推断第二计算设备的推荐的配置;以及将推荐的配置传送到第二计算设备。
这种技术允许监控设备的性能信息用于先行发送配置信息到该设备。监控设备的性能信息用于先行发送配置信息到该设备现在參照图1-3,根据各个实施例描绘例如与基于网络的信息服务相关联的包括服务器120的服务环境(100,200,300)。为了避免疑惑,说明书中描述、附图中描绘的或本文要求的任何网络服务或服务组件可应用于设备可通过接ロ连接的任何服务或组件,包括任何形式的有线、无线、或基于设备或组件的通信,包括但不限于以太网、同步光网络(S0NET)、或经由共享设备(例如但不限于软盘或U盘(JumpDrive))的所谓的‘人工传递网络(sneakernet)’通信。因此,诸如“服务组件”或“基于网络的服务”的术语应当被解释为鉴于服务组件或基于网络的服务可以是什么而是一致的。服务器120包括接ロ组件130和服务组件140。接ロ组件130可例如从客户机110经由基于网络的信息服务接收指示客户机110的操作环境(例如服务环境100、服务环境200、服务环境300等)的上下文信息112。在一方面,上下文信息112可包括指示以下内容的信息:客户机110的操作系统、客户机110的软件、客户机110的固件、和/或客户机110的硬件的配置;与客户机110通信耦合的网络210的配置;和/或指示客户机110的位置的信息。除了上下文信息,可接收用户偏好信息,可接收关于用户的推断的将来活动、当前活动、或过去活动的信息作为输入。因此,上下文信息、用户偏好或用户活动中的任一个可作为传送配置信息的基础。此外,接ロ组件130可从客户机110、网络210和计算设备310分别接收包括性能信息114、性能信息220和性能信息320的信息。在一实施例中,性能信息114可与基于操作环境客户机110例如经由操作系统、软件、固件等执行的操作相关联。在一方面,性能信息114可包括指示与操作相关联的存储器的消耗的信息,和/或指示与操作相关联的输入/输出带宽的信息。在另ー实施例中,性能信息200可包括指示网络210的带宽和/或例如与经由网络210处理数据相关联的等待时间的信息。在又一实施例中,性能信息320可包括指示计算设备310的硬件的配置的信息。在各个方面,计算设备可通信耦合到网络210,通信耦合到与网络210不同的网络等等。在一方面,性能信息320可包括指示计算设备310的软件、硬件、固件、操作系统等的配置和/或计算设备310的性能的信息。本文掲示的示例性、非限制性实施例的各个方面可监控上下文信息112和性能信息(例如性能信息114、性能信息220、性能信息320等),以进行向客户机110的更新信息、升级信息、配置信息150等的先行和/或提前提供、发送等,例如用于标识应用、软件补丁、软件更新、操作系统更新、固件更新、硬件更新等,以改进客户机110的操作性能。如此,在一个实施例中,服务组件140可被配置成使上下文信息112与性能信息114、性能信息220和/或性能信息320相关。例如,服务组件140可推断上下文信息112与性能信息114、性能信息220和/或性能信息320之间的关系以进行相关信息的获得、导出、计算等。在一个示例中,服务组件140可基于指示客户机110正在消耗过量存储器和/或(PU循环的性能信息114来推断指示响应于客户机110正在执行的软件和/或应用(例如,如上下文信息112所指示的),客户机110正在缓慢执行、迟缓动作等的相关信息。如此,服务组件140可从上下文信息112的ー个或多个部分推断性能信息114的至少一部分的起因。例如,在ー个或多个方面,服务组件140可包括与上下文信息和相关信息相关联的ー个或多个数据结构(未示出),并且可以是集中式的、或者是可能跨多个设备和/或模式的分布式的。据此,为了用于或有助于本文所描述的推理、相关,服务组件140可以检查全部可用的数据或其子集,并且可以从经由事件和/或数据捕捉到的ー组观察结果推理或推断出各个系统、环境和/或用户的状态。此外,推断可用于标识特定上下文或动作,或者可以生成例如状态上的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑,计算在感兴趣状态上的概率分布。推断也可以是指用于从ー组事件和/或数据构成较高级别的事件的技木。这类推断可导致从一组观察到的事件和/或储存的事件数据中构造新的事件或动作,而不论事件是否在相邻时间上相关,也不论事件和数据是来自一个还是若干个事件和数据源。可以与结合所要求保护的主题执行的自动和/或推断动作、相关等相结合地使用各种分类(显式地和/或隐式地训练的)模式和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎,等等)。分类器可以是将输入属性向量x=(xl, x2, x3, x4, xn)映射到该输入属于ー个类的置信度的函数,即f (X)=ConfidenCe(Class)。这样的分类可以使用基于概率和/或统计的分析(例如,分解成分析效用和成本)来预测或推断用户希望自动地执行的动作。支持向量机(SVM)是可以使用的分类器的ー个示例。SVM通过找出可能输入空间中的超曲面来操作,其中超曲面试图将触发准则从非触发事件中分离出来。直观地,这使得分类可以校正与训练数据接近但又不完全相同的测试数据。可采用其它定向和非定向模型分类方法,包括,例如,朴素贝叶斯、贝叶斯网络、决策树、神经网络、模糊逻辑模型以及提供不同独立性模式的概率分类模型。如这里所使用的分类还包括被用来开发优先级模型的统计回归。再次參照图1-3,接ロ组件130可基于相关信息进行配置信息150、更新信息、升级信息等向客户机110的发送、传送等。在一方面,配置信息150可(I)包括对客户机110的操作系统、软件、固件、硬件等的更新、升级等的推荐;(2)包括对不安装操作系统、软件、固件、硬件等的更新、升级等的推荐;(3)标识在客户机110上可安装、执行等的应用、软件、补丁、软件更新、硬件更新、固件更新、操作系统更新等,例如用于改进客户机110的操作性能;和/或(4)包括对采用网络协议和/或通信协议的推荐。例如,响应于指示客户机110通信耦合到第一设备(例如,外围设备、打印机、扫描仪、游戏设备等)的上下文信息112,接ロ组件130可向客户机110发送例如经由服务组件140导出的配置信息150,其指示跳过或不执行与例如没有通信耦合到客户机110的第二设备(例如第二外围设备)相关联的硬件和/或软件更新、软件补丁、操作系统更新、固件更新等。在另ー示例中,响应于指示经由客户机110选择ー种模式、一系列等的文件的上下文信息112,接ロ组件130可向客户机110发送例如经由服务组件140导出的配置信息150,其指示要在客户机110中安装与文件相关联的硬件和/或软件更新、软件补丁、操作系统更新、固件更新等。在另一方面,响应于指示ー种模式、一系列等的ー类软件、应用、操作系统、固件等被安装在客户机110上的上下文信息112,接ロ组件130可向客户机110发送例如经由服务组件140导出的配置信息150,其指示基于安装在客户机110上的那类软件、应用、操作系统、固件等对客户机110进行硬件和/或软件更新、软件补丁、操作系统更新、固件更新等的推荐等。在图3所示的方面,服务器120可从计算设备310接收指示计算设备310的硬件和/或软件的配置的配置信息。此外,服务器120可从计算设备310接收性能信息320,例如指示与经由计算设备310正在执行的操作系统、软件、固件等相关联的存储器的消耗。此夕卜,服务组件140可基于配置信息和性能信息320进行对配置信息150的确定、推断等。例如,响应于计算设备310的操作系统、硬件、固件和/或软件方面与客户机110兼容,服务组件140可经由配置信息150推荐对客户机110的操作系统、硬件、固件和/或软件的更新。在另一方面,服务器120可接收经由计算设备310作出的通信信息,例如网络查询、社交网络查询等。此外,服务组件140可根据部分通信信息来确定至少一部分性能信息114、220、320等的起因。如此,服务组件140可相关和/或利用例如与硬件和/或软件问题相关联的诸如关于第三方捜索、网络查询、消息等中尖峰的知识,来进行配置信息150的确定、推断等。在图4所示的一方面,服务组件140可被配置成将至少一部分配置信息150传送到例如可与在客户机110上操作的和/或通信耦合到客户机110的硬件、固件、操作系统、软件等的来源、制造商、开发者等相关联的服务应用410的计算设备,例如用于记录与客户机110的操作相关联的信息、日志、错误日志等。现在參照图5,客户机110可与包括计算机可执行指令的计算机可读存储介质相关联,这些指令响应于执行使得客户机110存储指示操作环境500的ー个或多个部分的上下文信息。此外,客户机110可向服务120(例如,接ロ组件130)发送上下文信息和与客户机110执行的操作中的至少ー个操作相关联的性能信息。此外,客户机110可从例如服务组件140接收基于上下文信息和性能信息的配置信息用于配置客户机110。在一方面,上下文信息可包括指示客户机110的硬件和/或客户机110的软件的配置、与客户机110通信耦合的网络(未示出)的配置的信息、和/或指示客户机110的位置的信息。在另一方面,性能信息可与至少ー个操作相关联,例如指示与客户机110的操作系统、客户机110正在执行的软件、客户机110正在执行的固件等相关联的存储器的消耗。在又一方面,客户机110可用至少一部分上下文信息填充高速缓存510以获得高速缓存的信息。此外,客户机110可发送至少一部分高速缓存的信息到服务器120,例如服务组件140。在一方面,客户机110可基于配置信息配置客户机110的软件、硬件、固件、操作系统
坐寸o图6是示出根据ー实施例的用于监控设备的性能信息用于先行发送更新信息到该设备的示例性非限制性实施例的流程图。在600,第一计算设备的服务组件可接收指示第ニ计算设备的操作环境的ー个或多个部分的上下文信息。在610,与操作环境中的第二计算设备正在执行的ー个或多个操作相关联的性能信息可由例如第一计算设备接收。在620,上下文信息可与性能信息相关以获得配置信息。在630,可将配置信息传送到第二计算设备。在一个实施例中,上下文信息包括指示第二计算设备的硬件、软件、固件和/或操作系统的配置的信息。在另ー实施例中,上下文信息包括指示第二计算设备的位置的信息。在又一实施例中,上下文信息包括指示通信耦合到第二计算设备的网络的配置的信息。在一实施例中,性能信息包括指示与第二计算设备正在执行和/或操作的硬件、软件、固件和/或操作系统等相关联的存储器的消耗的信息。另ー实施例包括接收指示与例如第二计算设备正在执行的软件、固件、操作系统等相关联的输入/输出带宽的信息。又一实施例包括接收指示通信耦合到第二计算设备的网络的带宽的信息,和/或接收指示与经由网络处理数据相关联的等待时间的信息。图7是示出根据ー实施例的用于监控设备的性能信息用于先行发送更新信息到该设备的另ー示例性非限制性实施例的流程图。在700,计算设备可存储指示与计算设备执行的至少一部分操作相关联的部分操作环境的上下文信息。在710,计算设备可向服务组件发送上下文信息和与(多个)操作中的ー个操作相关联的性能信息。在720,计算设备可从服务组件接收服务组件发送的基于上下文信息和性能信息的配置信息用于配置计算设备。在730,例如计算设备可基于配置信息配置计算设备的软件、固件、操作系统和/或硬件。图8是示出根据ー实施例的用于监控设备的性能信息用于先行发送更新信息到该设备的又一示例性非限制性实施例的流程图。在800,可从客户机接收指示客户机的操作环境的上下文信息和与基于操作环境客户机正在执行的操作相关联的性能信息。在810,如果接收到与诸如另一客户机的计算设备和/或网络相关联的其它信息,则流程继续到830,在830,可推断上下文信息和其它信息之间的关系以获得配置信息;否则,流程继续到820,在820,可推断上下文信息和性能信息之间的关系以获得配置信息。流程从820和830继续到840,在840,可将配置信息传送到客户机。例如,在ー实施例中,配置信息可包括对更新客户机的硬件和/或软件中的至少ー个的推荐。图9是示出根据ー实施例的用于监控客户机的性能用于先行发送更新信息或配置信息到设备的示例性非限制性实施例的流程图。在900,可从客户机接收指示客户机的各个操作环境的上下文信息,并在数据存储中存储上下文信息。在910,可接收与各个操作环境中的客户机正在执行的各个操作相关联的性能信息,并且在数据存储中存储性能信息。在920,可利用数据存储使上下文信息与性能信息相关,来获得相关信息。在930,可基于相关信息推断第二计算设备的推荐的配置。在940,可将推荐的配置信息传送到第二计算设备。示例性联网以及分布式环境本领域普通技术人员可以理解,本文所描述的用于监控设备的上下文和性能信息用于先行发送更新信息到该设备的各个实施例可以结合任何计算机或其它客户机设备(例如客户机110、服务器120等)来实现。这种设备可作为计算机网络的一部分来部署或者被部署在分布式计算环境中,并且可以连接到任何类型的存在介质的数据存储。在这一点上,本文描述的多个实施例可在具有任何数量的存储器或存储单元的、以及任何数量的应用和跨任何数量的存储单元发生的进程的任何计算机系统或环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户机计算机的环境。分布式计算通过计算设备和系统之间的通信交換提供了计算机资源和服务的共享。这些资源和服务包括信息的交換、对于诸如文件等对象的高速缓存存储和盘存储。这些资源和服务还包括多个处理単元之间的处理能力共享以便进行负载平衡、资源扩展、处理专门化,等等。分布式计算利用网络连接,从而允许客户机利用它们的集体力量来使整个企业受益。在这一点上,各种设备可具有应用、对象或资源,它们可以參与针对本发明的各实施例描述的用于执行与监控设备的上下文和性能信息相关联的操作的机制。图10提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计算对象1010、1012等以及计算对象或设备1020、1022、1024、1026、1028等,这些计算对象或设备可包括如应用1030、1032、1034、1036、1038所表示的程序、方法、数据存储、可编程逻辑等。可以注意到,计算对象1010、1012等以及计算对象或设备1020、1022、1024、1026、1028等可包括不同的设备,诸如PDA、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上型计算机等。每个计算对象1010、1012等以及计算对象或设备1020、1022、1024、1026、1028等可经由通信网络1040直接或间接地与一个或多个其他计算对象1010、1012等以及计算对象或设备1020、1022、1024、1026、1028等通信。即使在图10中被示为单个元件,但通信网络/总线1040可包括向图10的系统提供服务的其他计算对象和计算设备,和/或可表示多个互连网络(未示出)。每个计算对象1010、1012等或计算对象或设备1020、1022、1024、1026、1028等还可以包含应用,诸如应用1030、1032、1034、1036、1038,该应用可利用API或其他对象、软件、固件和/或硬件、适于与根据本发明的各实施例提供的用于监控设备的上下文和性能信息的技术进行通信或使其实现。存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构可用于便于如各个实施例中所述的用于监控设备的上下文和性能信息的系统的示例性通信。由此,可使用诸如客户机/服务器、对等、或混合体系结构之类的网络拓扑结构和网络基础结构的主机。“客户机”是使用与它无关的另ー类或组的服务的ー类或组中的成员。客户机可以是进程,即大致上是请求由另ー程序或进程提供的服务的ー组指令或任务。客户机进程利用所请求的服务,而不必“知道”有关其他程序或服务本身的任何工作细节。在客户机/服务器体系结构中,尤其在网络化系统中,客户机(例如客户机110)通常是访问由另ー计算机(例如服务器120)提供的共享网络资源的计算机。在图10的图示中,作为非限制性示例,计算对象或设备1020、1022、1024、1026、1028等可被认为是客户机,而计算对象1010、1012等可被认为是服务器,其中计算对象1010、1012等提供数据服务,诸如从客户机计算对象或设备1020、1022、1024、1026、1028等接收数据、存储数据、处理数据、向客户机计算对象或设备1020、1022、1024、1026、1028等发送数据等,但任何计算机都可取决于环境而被认为是客户机、服务器或两者。这些计算设备中的任一个可处理数据、或请求事务服务或任务,该事务服务或任务可暗示如本文针对ー个或多个实施例所述的用于监控设备的上下文和性能信息的技木。服务器(例如服务器110)通常是可通过诸如因特网或无线网络基础结构之类的远程网络或本地网络访问的远程计算机系统。例如关于与本文所描述的图1-9相关联的实施例,客户机进程可在第一计算机系统中活动,而服务器进程可在第二计算机系统中活动,它们通过通信介质相互通信,由此提供分布式功能并允许多个客户机利用服务器的信息收集能力。按照用于监控设备的上下文和性能信息的技术来利用的任何软件对象可以单独提供或分布在多个计算设备或对象上。在其中通信网络/总线1040是因特网的网络环境中,例如关于与本文所掲示的图1-9相关联的实施例,计算对象1010、1012等可以是客户机计算对象或设备1020、1022、1024、1026、1028等经由诸如HTTP等多种已知协议中的任一种与其通信的Web服务器。月艮务器1010、1012等也可担当客户机计算对象或设备1020、1022、1024、1026、1028等,这是分布式计算环境的特性。示例性计算设备如上所述,有利的是,此处所描述的技术可适用于期望监控设备的上下文和性能信息的任何设备。因此,应当理解,构想了所有种类的手持式、便携式和其他计算设备和计算对象以供结合各实施例来使用,即,在设备可使服务器能够执行与监控设备的上下文和性能信息相关联的操作的任何地方。因此,以下在图11中所述的通用计算机只是计算设备的ー个示例。另外,例如与上述服务应用相关联的服务器或数据库服务器可包括以下通用计算机的ー个或多个方面。尽管并非所需,但各实施例可部分地经由操作系统来实现,以供设备或对象的服务开发者使用和/或被包括在用于执行本文所述的各个实施例的一个或多个功能方面的例如与服务器120相关联的应用软件内。软件可以在由诸如客户端工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,计算机系统具有可用于传递数据的各种配置和协议,并且由此特定配置或协议都不应被认为是限制性的。因此,图11示出了其中可实现各实施例的ー个或多个方面的合适的计算系统环境1100的ー个示例,尽管如上所述,计算系统环境1100仅为合适的计算环境的ー个示例,并非对使用范围或功能提出任何限制。也不应该将计算环境1100解释为对示例性操作环境1100中示出的任一组件或其组合有任何依赖性或要求。參考图11,用于实现一个或多个实施例的示例性远程设备包括计算机1110形式的通用计算机或计算设备。计算机1110的组件可包括,但不限干,处理单元1120、系统存储器1130、以及将包括系统存储器的各种系统组件耦合到处理单元1120的系统总线1122。计算机1110通常包括各种计算机可读介质,并且可以是可由计算机1110访问的任何可用介质。系统存储器1130可包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)之类的易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制性,存储器1130还可以包括操作系统、应用程序、其他程序模块、和程序数据。用户可通过输入设备1140向计算机1110输入命令和信息。监视器或其他类型的显示设备也经由诸如输出接ロ 1150之类的接ロ连接到系统总线1122。除监视器以外,计算机还可包括诸如扬声器和打印机之类的其他外围输出设备,它们可通过输出接ロ 1150连接。计算机1110可使用到ー个或多个其他远程计算机(诸如远程计算机1170)的逻辑连接在联网或分布式环境中操作。远程计算机1170可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或者任何其他远程媒体消费或传输设备,并且可包括以上关于计算机1110所述的任何或全部元件。图11所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)之类的网络1172,但也可包括其他网络/总线。这些联网环境在家庭、办公室、企业范围的计算机网络、内联网和因特网中是常见的。如上所述,尽管结合各种计算设备和网络体系结构描述了各示例性实施例,但基本概念可被应用于期望便于以灵活的方式发布媒体或消费媒体的任何网络系统和任何计算设备或系统。而且,存在实现相同或相似功能的多种方法,例如适当的AP1、工具包、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用和服务能够使用本文所述的用于监控设备的上下文和性能信息的技木。由此,本文的实施例从API (或其他软件对象)的观点以及从实现这种技术的ー个或多个方面软件或硬件对象来构想。由此,本文所述的多个实施例可具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。本文中所使用的词语“示例性”意味着用作示例、实例、或说明。为避免疑惑,本文所公开的主题不限于这些示例。另外,本文中被描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计更优选或有利,它也不意味着排除本领域普通技术人员已知的等效示例性结构和技木。而且,就术语“包括”、“具有”、“包含”和其他类似的词语在详细描述或权利要求书中的使用而言,为避免疑惑,这样的术语g在以类似于术语“包括”作为开放的过渡词的方式解释而不排除任何附加或其他元素。计算设备通常包括各种介质,各种介质可包括计算机可读存储介质和/或通信介质,此处使用的这两个术语彼此有如下不同。计算机可读存储介质可以是可以被计算机访问的任何可用的存储介质,通常是非瞬时的,可以包括易失性和非易失性介质,可移动的和不可移动的介质。作为示例而非限制,计算机可读存储介质可结合用于存储诸如计算机可读指令、程序模块、结构化数据、或非结构化数据之类的信息的任何方法或技术来实现。计算机可读存储介质包括但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁帯、磁盘存储或其他磁存储设备,或者可用于存储所需信息的其他有形的和/或非瞬时介质。计算机可读存储介质可由一个或多个本地或远程计算设备访问(例如,经由访问请求、查询或其他数据检索协议),用于关于该介质所存储的信息的各种操作。在另一方面,通信介质通常以诸如载波或其他传输机制等已调制数据信号之类的数据信号来体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,且包含任何信息递送或传递介质。术语“已调制数据信号”或信号是指具有以在ー个或多个信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外和其它无线介质。如所述的,此处所述的多种技术可结合硬件或软件或,在适当时,以两者的组合来实现。如此处所使用的,术语“组件”、“系统”等同样g在指示计算机相关实体,或者是硬件、硬件和软件的组合、软件或者是执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算机之间。已经參考若干组件之间的交互描述了如前所述的系统。可以注意到,这些系统和组件可包括这些组件或指定的子组件、某些指定的组件或子组件和/或附加的组件,以及根据上述内容的各种置换和组合。子组件还可作为通信地耦合到其他组件的组件来实现,而不是被包括在父组件内(层次性)。另外,要注意,一个或多个组件可被组合成提供聚集功能的单个组件,或被分成若干単独的子组件,并且诸如管理层之类的任何一个或多个中间层可被设置成通信地耦合到这些子组件以便提供集成功能。此处所述的任何组件也可与一个或多个此处未专门描述的但本领域技术人员一般已知的其他组件进行交互。考虑到以上描述的示例性系统,參考各附图的流程图将可以更好地理解依照所描述的主题可实现的方法。尽管为了说明简洁起见,按照一系列框示出和描述了方法,但是,应该理解和注意到,所要求保护的主题不限于框的次序,因为ー些框可以按与此处所描绘和描述的不同的次序进行和/或与其他框并发地进行。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达到相同或类似结果的各种其他分支、流程路径和框的次序。此外,并非全部所示的框都是实现下面所述的方法所必需的。除了此处所描述的多个实施例之外,可以理解,可以使用其他相似的实施例或者可对所述实施例作出修改和添加以便执行对应的实施例的相同或等效的功能而不背离这些实施例。此外,多个处理芯片或多个设备可共享此处所述的ー个或多个功能的执行,并且类似地,存储可跨多个设备实现。因此,各实施例不限于任何单个实施例,而是应当根据所附权利要求书的广度、精神和范围来解释。
权利要求
1.一种方法,包括: 由第一计算设备的服务组件(140)接收指示第二计算设备的操作环境的ー个或多个部分的上下文信息(112)、指示至少ー个用户偏好的用户偏好信息、或指示至少ー个当前、过去或推断的将来用户活动的用户活动信息中的至少一个; 接收与所述操作环境中的所述第二计算设备正在执行的ー个或多个操作相关联的性能信息(114,220,320);以及 响应于使所述上下文信息(112)、所述用户偏好信息或所述用户活动信息与所述性能信息(114、220、320)相关,将配置信息(150)传送到所述第二计算设备。
2.按权利要求1所述的方法,其特征在于,接收所述上下文信息(112)还包括由基于网络的服务接收指示所述第二计算设备的硬件或所述第二计算设备的软件中的至少ー个的配置的信息。
3.按权利要求1所述的方法,其特征在于,接收所述上下文信息(112)还包括由基于网络的服务接收指示所述第二计算设备的位置的信息。
4.按权利要求1所述的方法,其特征在于,接收所述上下文信息(112)还包括由基于网络的服务接收指示通信耦合到所述第二计算设备的网络(210)的配置的信息。
5.按权利要求1所述的方法,其特征在于,接收所述性能信息(114、220、320)还包括由基于网络的服务接收指示与所述第二计算设备的操作系统、所述第二计算设备的软件、或所述第二计算设备的固件中的至少ー个相关联的存储器的消耗的信息。
6.按权利要求1所述的方法,其特征在于,接收所述性能信息(114、220、320)包括由基于网络的服务接收指示与所述第二计算设备的硬件、所述第二计算设备的软件、所述第二计算设备的操作系统、或所述第二计算设备的固件中的至少ー个相关联的输入或输出带宽的信息。
7.按权利要求1所述的方法,其特征在于,接收所述性能信息(114、220、320)包括由基于网络的服务接收指示通信耦合到所述第二计算设备的网络(210)的带宽的信息。
8.按权利要求1所述的方法,其特征在于,接收所述性能信息(114、220、320)包括由基于网络的服务接收指示与经由通信耦合到所述第二计算设备的网络(210)处理数据相关联的等待时间的信息。
9.按权利要求1所述的方法,其特征在于,所述相关还包括从所述上下文信息(112)的ー个或多个部分推断所述性能信息(114、220、320)的至少一部分的起因。
10.按权利要求1所述的方法,其特征在于,所述相关还包括: 接收指示第三计算设备的硬件的配置、所述第三计算设备的软件的配置、所述第三计算设备的操作系统的配置、所述第三计算设备的固件的配置或所述第三计算设备的性能中的至少ー个的其它信息;以及 基于所述其它信息确定所述配置信息(150)。
11.按权利要求1所述的方法,其特征在于,所述相关还包括: 从所述上下文信息(112)的ー个或多个部分确定所述性能信息(114、220、320)的至少一部分的起因;以及 将所述配置信息(150)的至少一部分传送到第三计算设备。
12.按权利要求1所述的方法,其特征在于,所述相关还包括:接收与关联于第三计算设备的至少ー个通信相关联的其它信息;以及 基于所述其它信息从所述上下文信息(112)的ー个或多个部分确定所述性能信息(114,220,320)的至少一部分的起因。
13.一种系统,包括: 存储在可计算可读存储介质(1030、1130)中的接ロ组件(130),其被配置成: 从客户机(110)接收指示所述客户机(110)的操作环境的上下文信息、指示用户偏好的用户偏好信息、或指示当前、过去或推断的将来用户活动的用户活动信息、以及与基于所述操作环境所述客户机(110)正在执行的ー个或多个操作相关联的性能信息(114、220、320),以及 将基于相关信息的配置信息(150)发送到所述客户机(110);以及 服务组件(140),其被配置成推断所述上下文信息(112)、所述用户偏好信息或所述用户活动信息与所述性能信息(114、220、320)之间的关系以获得所述相关信息。
14.按权利要求13所述的系统,其特征在于,所述上下文信息(112)包括指示所述客户机(110)的硬件或所述客户机(110)的软件中的至少ー个的配置、通信耦合到所述客户机(110)的网络(210)的配置中的至少ー个的信息,或指示所述客户机(110)的位置的信息;以及 其中,所述配置信息(150)包括指示对所述客户机(110)的更新软件或所述客户机(110)的更新硬件中的至少ー个的至少ー个推荐的信息。
15.按权利要求13所述的系统,其特征在于,所述性能信息(114、220、320)包括指示以下至少ー个的信息: 所述客户机(110)的操作系统; 与所述客户机(110)对所述操作系统、软件或固件中的至少ー个的执行相关联的存储器的消耗; 与所述执行相关联的输入或输出带宽; 通信耦合到所述客户机(110)的网络(210)的带宽;或 与所述网络(210)相关联的等待时间。
全文摘要
本发明涉及用于监控设备的上下文信息和性能信息用于先行发送更新信息到该设备的技术。接口组件可从客户机接收指示客户机的操作环境的上下文信息和与基于操作环境客户机正在执行的一个或多个操作相关联的性能信息,并且发送基于相关信息的更新信息到客户机。此外,服务组件可推断上下文信息和性能信息之间的关系以获得相关信息。在其它实施例中,客户机可用部分上下文信息填充高速缓存以获得高速缓存的信息,并且发送至少一部分高速缓存的信息到包括服务组件的一个或多个方面的系统。
文档编号H04L12/24GK103095490SQ20121054670
公开日2013年5月8日 申请日期2012年12月14日 优先权日2011年12月16日
发明者E·雷乌斯, M·戈策尔, S·菲尔德, M·J·希利, J·达奇, D·凯斯, J·杜瑟尔, H·J·M·梅杰 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1