專利名稱:發現和挖掘設備的性能信息用于先行發送更新到設備的制作方法
技術領域:
本發明一般涉及發現和挖掘設備的性能信息用于先行發送更新到該設備。
背景技術:
常規計算技術收集與在計算設備上操作的無響應或不正常運行的軟件相關聯的信息。例如,崩潰報告技術收集計算設備上已崩潰或停止響應的應用的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·梅杰 申請人:微軟公司