專利名稱:移動專用軟件包代碼更新的制作方法
技術領域:
本發(fā)明一般涉及主機、軟件和方法,并且更具體地說,涉及用于將專用軟件包從第一主機提供到第二主機的機構和技術。
背景技術:
無線電電話在其之初設計用于話音通信。隨著消費者電子行業(yè)繼續(xù)走向成熟,并且處理器的能力增強,更多裝置變得可用于使用數(shù)據(jù)的無線傳送,并且更多基于此類傳送的數(shù)據(jù)操作的應用變得可用。特別要注意的是因特網(wǎng)和局域網(wǎng)(LAN)。這兩項創(chuàng)新允許多個用戶和多個裝置在不同裝置和裝置類型之間傳遞和交換數(shù)據(jù)。隨著這些裝置和能力的出現(xiàn),用戶(商業(yè)和住宅)發(fā)現(xiàn)從移動位置傳送數(shù)據(jù)及話音的需要。支持此話音和數(shù)據(jù)傳送的基礎設施和網(wǎng)絡同樣地一直在發(fā)展。諸如文本消息傳遞等有限數(shù)據(jù)應用被引入所謂的“2G”系統(tǒng),例如全球移動通信系統(tǒng)(GSM)。通過無線電通信系統(tǒng)的分組數(shù)據(jù)在增加了通用分組無線電服務(GPRS)的GSM中變得更可使用。3G系統(tǒng)及隨后通過通用地面無線電訪問(UTRA)標準引入的甚至更高帶寬無線電通信使得象網(wǎng)上沖浪等應用更容易為成千上百萬用戶訪問。甚至隨著新網(wǎng)絡設計由網(wǎng)絡制造商鋪展,提供更大數(shù)據(jù)吞吐量到最終用戶裝置的將來系統(tǒng)在討論和開發(fā)之中。例如,所謂的3GPP長期演進(LTE)標準化項目預期為將來數(shù)十年的無線電通信提供技術基礎。所有這些新協(xié)議設計為支持在各種主機之間的視頻通
fn °然而,主機本身需要配置用于支持例如需要可由測量工具測量的參數(shù)的應用,例如視頻通信、VoIP、游戲、交互應用等。這些應用的一方面是主機執(zhí)行主動端對端測量以提供所需參數(shù)的能力。主動端對端測量例如是在分組交換網(wǎng)絡中主機之間的往返時間(RTT)、 抖動、可用性或可用帶寬。這些測量,即測量的參數(shù)可由范圍廣泛的網(wǎng)絡應用使用。在一個應用中,此類信息可用于優(yōu)化在主機之間的文件傳送性能,或者它能夠只是用于監(jiān)視網(wǎng)絡路徑。常規(guī)地,端對端網(wǎng)絡測量方法要求兩個端點(主機)參與測量。例如,端對端可用帶寬測量方法要求訪問發(fā)送器方節(jié)點和接收器節(jié)點,所述可用帶寬測量方法例如是 BART(Ekelin等人所著“使用卡爾曼濾波的端對端可用帶寬的實時測量”("Real-time measurement of end-to-end available bandwidth using Kalman filtering, " in Proceedings to the 10th IEEE/IFIP Network Operations and Management Symposium, Vancouver, Canada, April 2006)和 S. Ekelin 與 Μ· Nilsson 所著,美國專禾丨J 申請 11/285723 “使用濾波和主動探測評估數(shù)據(jù)傳送路徑”(Using Filtering and Active Probing to Evaluate a Data Transfer Path),其全部內容通過引用結合于本文中)、 pathChirp (Ribeiro等人所著“pathChirp 網(wǎng)絡路徑的有效可用帶寬估計”(〃 pathChirp Efficient available bandwidth estimation for network paths," in Proceedings of the Passive and Active Measurement Workshop, San Diego, 2003),其全部內容通過弓|用結合于本文中)JathloacKM. Jain和C. Dovrolis所著“I^athload 端對端可用帶寬的測量工具,,(〃 Pathload :a measurement tool for end-to-end available bandwidth, " in Proceedings of the Passive and Active Measurement Workshop,Ft Collins,2002),其全部內容通過引用結合于本文中)及SprUce(StraUSS等人所著“可用帶寬估計工具的測量石if究”("A measurement study of available bandwidth estimation tools, " in Proceedings of the ACM SIGCOMM Internet Measurement Workshop, Miami, 2003), ^^ 部內容通過引用結合于本文中)。這些方法依賴于將UDP/IP(用戶數(shù)據(jù)協(xié)議)分組注入網(wǎng)絡路徑中并在發(fā)送器節(jié)點和接收器節(jié)點處測量分組間分隔的相對變化。從此測量中,通過使用各種統(tǒng)計分析算法,可估計在節(jié)點之間的可用帶寬。即使此類方法已經(jīng)在網(wǎng)絡棧中實現(xiàn),諸如Ping等其它常見工具也要求發(fā)送器節(jié)點和接收器節(jié)點安裝有適當?shù)能浖?。因此,當在第一?jié)點上運行的應用需要與第一節(jié)點和第二節(jié)點有關的一個或多個參數(shù)時,第一節(jié)點和第二節(jié)點均需要具有允許參數(shù)測量的測量軟件。如果僅第一節(jié)點具有測量軟件,并且第二節(jié)點沒有該軟件,則該應用將不能繼續(xù)運行或者第二節(jié)點將請求用戶下載測量軟件。然而,這些方案可能讓用戶沮喪。此情形在圖1中示出,其中,系統(tǒng)10包括節(jié)點A 20、節(jié)點B 30和服務器40。節(jié)點A 20包括至少一個應用22和測量軟件MS 24。節(jié)點B 30包括對應的應用32,但沒有對應的測量軟件。假設應用22和32與視頻通信有關。在節(jié)點A 20的用戶啟動應用22時,此應用為與節(jié)點B 30建立視頻通信執(zhí)行一些準備工作。部分準備工作是確立在節(jié)點A 20與節(jié)點 B 30之間的可用帶寬。為確定可用帶寬,測量軟件MS M需要與在節(jié)點B 32處的對應測量軟件通信。然而,如上所述,存在節(jié)點B 32不具有對應測量軟件或不具有相同版本的MS時的情況。對應用22而言,一個解決方案是通知節(jié)點A 20的用戶,可不與節(jié)點B建立視頻通信。另一解決方案是讓MS M猜測可用帶寬是多少并使用該值。然而,此解決方案將導致在節(jié)點之間不合理的視頻通信,例如,在通過因特網(wǎng)設置交互視頻會話時,可用帶寬需要足夠高,同時等待時間應盡可能低。路徑特征猜測錯誤能夠損害體驗的視頻和音頻質量。在圖1中示出的另一解決方案是在節(jié)點B 30處從服務器40下載必需的測量軟件 MS 42。因此,應用32可在步驟34中從服務器40請求必需的軟件MS 42并且可在步驟36 中接收MS 42。在具有測量軟件MS 42的情況下,應用22和32可完成所需的視頻通信。然而,此情形要求節(jié)點B的用戶介入MS軟件42從服務器40的下載及在節(jié)點B與服務器40之間的補充通信交換。另外,因為隨著時間的發(fā)展,諸如用于測量端對端可用帶寬的那些技術等更高級的測量技術被開發(fā)并因此定期更新,所以兩個節(jié)點均需要相同的軟件版本以便能夠利用這些測量方法,并且因此,兩個節(jié)點均最終需要與服務器40交互。相應地,最好是提供避免上述問題和缺點并且即使節(jié)點之一不具有該測量軟件也能夠執(zhí)行測量的裝置、系統(tǒng)和方法。
發(fā)明內容
當?shù)谝恢鳈C上的應用嘗試與不同于第一主機的第二主機上的對應應用通信時,該應用可要求執(zhí)行某些測量以便與對應應用建立準確通信。此類測量可由專用軟件包執(zhí)行。 然而,第二主機可能沒有該專用軟件包。
根據(jù)一個示范實施例,有一種用于將專用軟件包從第一主機提供到第二主機的方法。該方法包括在第一主機處初始化在第一主機上用于與第二主機上對應應用通信的應用。第一主機可發(fā)送用于驗證在第二主機上存在專用軟件包的消息。當在第二主機上不存在專用軟件包時,將專用軟件包從第一主機推送到第二主機。在兩個主機處均具有專用軟件包的情況下,第一主機基于在第一主機處的專用軟件包和在第二主機處的專用軟件包執(zhí)行專用活動。專用活動的結果在第一主機的應用處接收,該結果由在第一主機處的應用用于與在第二主機上對應應用通信。根據(jù)另一示范實施例,有一種包括計算機可執(zhí)行指令的計算機可讀介質,其中這些指令在執(zhí)行時實現(xiàn)用于將專用軟件包從第一主機提供到第二主機的方法。該方法包括上一段落中所述的步驟。根據(jù)仍有的另一示范實施例,通信裝置可配置用于將專用軟件包提供到另一通信裝置。該通信裝置包括存儲器和處理器,存儲器用于存儲配置為與在另一通信裝置上的對應應用通信的應用。處理器配置為發(fā)送用于驗證在另一通信裝置上存在專用軟件包的消息;當在另一通信裝置上沒有專用軟件包時將專用軟件包從通信裝置推送到另一通信裝置;基于在通信裝置處的專用軟件包和在另一通信裝置處的專用軟件包執(zhí)行專用活動;以及接收專用活動的結果。專用活動的結果由在通信裝置處的應用用于與在另一通信裝置處的對應應用通信。目的是克服前一部分中所述的一些缺陷和提供能夠將所需軟件推送到另一主機的主機。
結合在說明書中并構成其一部分的附圖示出一個或多個實施例,并與描述一起解釋這些實施例。在圖中圖1是包括兩個節(jié)點和提供必需的軟件到節(jié)點的服務器的系統(tǒng)的示意圖;圖2是包括兩個主機且無服務器的系統(tǒng)和一個主機包括代碼的示意圖;圖3是包括兩個主機且無服務器的系統(tǒng)和一個主機包括移動對象的示意圖;圖4是包括兩個主機且無服務器的系統(tǒng)和一個主機包括移動代理的示意圖;圖5是包括兩個主機的系統(tǒng)的示意圖,一個主機包括移動對象,一個主機沒有移動對象,以及具有移動對象的主機根據(jù)一個示范實施例啟動與另一主機的通信;圖6是圖5的系統(tǒng)的示意圖,其中,帶有移動對象的主機根據(jù)另一示范實施例將移動對象推送到另一主機;圖7是圖5的系統(tǒng)的示意圖,其中,兩個主機根據(jù)一個示范實施例,使用移動對象執(zhí)行測量;圖8是示出根據(jù)一個示范實施例,用于將移動對象從一個主機推送到另一主機的步驟的流程圖;圖9示出根據(jù)一個示范實施例的移動代碼的結構;圖10是示出根據(jù)一個示范實施例,用于將專用軟件包從一個主機推送到另一主機的步驟的流程圖;圖11示出包括獨特軟件模塊的系統(tǒng);以及
圖12是主機之一的示意圖。
具體實施例方式示范實施例的以下描述參照附圖。不同圖形中的相同標號標識相同或類似的要素。以下詳細描述不限制本發(fā)明。相反,本發(fā)明的范圍由隨附權利要求定義。為簡明起見, 下面的實施例相對于兩個主機和如下測量進程的術語和結構進行論述,所述測量進程涉及兩個主機并用于確定主機和/或連接主機的網(wǎng)絡的各種特征。然而,隨后要論述的實施例并不限于這些系統(tǒng),而是可應用到其它現(xiàn)有系統(tǒng)。說明書通篇對“一個實施例”或“實施例”的引用指結合實施例描述的特定特性、 結構或特征包括在本發(fā)明的至少一個實施例中。因此,在說明書通篇各個位置出現(xiàn)的“在一個實施例中”或“在實施例中”短語不一定全部指同一實施例。此外,特定的特性、結構或特征可在一個或多個實施例中以任何適合的方式組合。根據(jù)后面要論述的示范實施例,用于解決關于現(xiàn)有系統(tǒng)和方法的限制的上述問題的一個解決方案是使用移動代碼技術來提供沒有必需的測量基礎設施的主機,例如,通過將測量移動代碼推送或移動到?jīng)]有必需軟件的主機。在下述內容中,術語主機用于包括計算機、服務器、移動電話、個人數(shù)字助理、攝像機和/或網(wǎng)絡中的節(jié)點。如上所述,兩個主機A和B可能需要具有相同的專用軟件包以執(zhí)行專用活動。例如,專用軟件包可沿連接主機的網(wǎng)絡執(zhí)行測量,而專用活動可正在測量主機之間的可用帶寬。專用軟件包和專用活動的其它示例在后面論述。假設主機之一沒有專用軟件包,或者主機具有不同版本的專用軟件包,則移動代碼可用于確保兩個主機具有專用軟件包和/或匹配版本的專用軟件包。移動代碼是例如可從遠程系統(tǒng)(計算機、服務器、移動電話等)獲得,跨網(wǎng)絡傳送并隨后在本地系統(tǒng)(主機)上下載并執(zhí)行而無需接收方的明確安裝或執(zhí)行的軟件。移動代碼的示例包括腳本(JavaScript、VB Script)、Java applet、ActiveX 控件、Flash 動畫、 Shockwave電影(和Xtras)及在Office文檔內嵌入的宏。移動代碼也能夠利用電子郵件在客戶端工作站中下載和執(zhí)行。移動代碼可利用電子郵件附件(例如,Word文件中的宏)或利用HTML電子郵件正文(例如,JavaScript)下載。在大多數(shù)情況下,主機不知道移動代碼在其工作站中下載和執(zhí)行。移動代碼是可例如包括代碼、移動對象或移動代理的通用名稱。這些類別在下面相對于圖2-4論述。使用代碼的系統(tǒng)50的示例在圖2中示出。系統(tǒng)50包括具有代碼62的主機A 60 和不包括測量軟件的主機B 70。如上所述,測量軟件是可能通過代碼62分發(fā)的軟件的許多示例之一,并且測量軟件在此處未用于限制示范實施例。代碼62可包括用于執(zhí)行主機A和 B所需測量的計算機指令,即MS 24。主機A 60基于后面要論述的某一確定,可推送要在主機B上執(zhí)行的代碼62。此操作方法稱為遠程評估??稍诩僭O在主機A和B上的執(zhí)行環(huán)境相同的情況下執(zhí)行此方法,并且在一個應用中執(zhí)行環(huán)境能夠例如是Java虛擬機器(JVM)??墒褂萌魏螆?zhí)行環(huán)境,但根據(jù)一個示范實施例,相同的執(zhí)行環(huán)境必須在主機A和B上均存在。移動代碼的更高級形式是也具有從主機A移到主機B的能力的移動對象。與代碼 62不同,移動對象包含代碼(計算機指令)和數(shù)據(jù),并且移動對象也移動代碼的運行實例的實際狀態(tài)。根據(jù)一個示范實施例,數(shù)據(jù)包括代碼使用的變量的值。圖3示出具有主機A 60和主機B 70的系統(tǒng)50。主機A 60可包括移動對象64,該移動對象包括專用軟件包MS 24 和代碼62,而主機B 70沒有專用軟件包。在主機A 60 (或其移動對象64)執(zhí)行某一確定時,移動對象64被推送或移動到主機B 70以便進一步執(zhí)行。除代碼62外,移動對象64還可包括數(shù)據(jù)66。移動代碼的第三種形式是移動代理,該移動代理比移動代碼64更高級,并且能夠理解為實現(xiàn)如下四個特性之一或全部的某種類型的軟件自治性(autonomy)、社會能力(social ability)、學習(learning)及移動性(mobility)(參閱 http//agent. cs. dartmouth. edu/MA2002Keynote. ppt, 2008年9月,其全部內容通過引用結合于本文中)。移動代理被本領域技術人員理解為表示能夠將其狀態(tài)從一個環(huán)境傳輸?shù)搅硪画h(huán)境、其數(shù)據(jù)完整并仍能夠在新環(huán)境中適當?shù)貓?zhí)行的進程。移動代理決定在何時及何處進行下次移動,這從遠程過程調用(PRC)發(fā)展而來。RPC是一種進程間通信技術,其允許計算機程序促使子例程或過程在(共同地在共享網(wǎng)絡上的另一計算機上的)另一地址空間中執(zhí)行而無需程序員為此遠程交互明確地對這些細節(jié)編碼。因此,根據(jù)一個示范實施例,移動代理不必與主機A的用戶交互以執(zhí)行各種功能, 即確定何時推送或移動移動代理到另一主機。因此,移動代理以類似于未實際訪問網(wǎng)站而只是復制其的用戶的方式移動,即,移動代理通過數(shù)據(jù)復制完成該移動。在移動代理決定移動時,它保存其自己的狀態(tài)并將此保存的狀態(tài)傳輸?shù)较乱恢鳈C,并從保存的狀態(tài)恢復執(zhí)行。在此方面,圖4示出包括主機A 60和主機B 70的系統(tǒng)50。圖4所示主機A和B 的結構類似于圖3所示的結構,不同之處是主機A 60具有移動代理65,該移動代理65不但包括代碼62和數(shù)據(jù)64,而且包括高級特性(AF)68。高級特性例如可以是自治性、社會能力、學習和移動性。如上所述,移動代理是移動代碼的一種特定形式。然而,例如與遠程評估和移動對象范例不同,移動代理是主動的,表現(xiàn)在它們可選擇在其執(zhí)行期間任何時候在計算機之間遷移。這是在計算機網(wǎng)絡中實現(xiàn)分布式應用的珍貴工具。上述移動代碼的各種形式可配置為支持在主機A與B之間的主動端對端測量。要執(zhí)行主動端對端測量,常規(guī)方法是為每個主機提供測量代碼(例如,BART、PathChirp)。然而,根據(jù)示范實施例,描述了即使一個主機最初沒有所需測量應用/代碼時在兩個主機之間也執(zhí)行主動端對端測量的一種方法。為更詳細地例示此方法,圖5示出包括主機A 60和主機B 70的系統(tǒng)50。兩個主機A和B可利用網(wǎng)絡80鏈接。假設主機A 60包括要與主機B 70 (能夠是實際主機B 70 或在主機B 70之上運行的應用100)通信的應用90。該通信可通過(例如,基于IP的因特網(wǎng)中的)分組交換網(wǎng)絡80進行。也假設主機/應用需要有關網(wǎng)絡狀態(tài)和連接主機/應用的網(wǎng)絡路徑的性能的信息以便例如優(yōu)化通信性能。此外,假設主機A 60包括可以是代碼、 移動對象或移動代理的移動測量對象(MMO) 92及MMO 92在其中執(zhí)行的移動測量對象執(zhí)行環(huán)境94。MMO 92可替代為前面相對于圖2和4所述的代碼62和/或移動代理65。MMO 92 可執(zhí)行測量軟件MS M的測量,并且為此圖5和后面的一些圖形示出包括MS對的匪0 92。 因此,MS M作為MMO 92的一部分的此圖示應理解為MMO 92包括MS M和/或MMO 92具有MS 24的能力。
相對于圖8論述用于在兩個主機A與B之間執(zhí)行主動端對端測量的方法的步驟。 該方法從步驟800開始,其中,主機A 60啟動與主機B 70的通信。在此步驟期間,主機A 60可探測(發(fā)送消息)主機B 70以驗證主機B 70是否包括必需的測量軟件MS 24。啟動主機(在此情況下為主機A 60)擁有能夠執(zhí)行必需的測量任務的MMO 92 (參見圖幻,而主機B 70未擁有測量軟件。根據(jù)一個示范實施例,在主機A和B具有相同的移動測量對象執(zhí)行環(huán)境(ΜΜ0執(zhí)行環(huán)境)94時,此處所述方法工作更有效。如果在步驟810中確定主機B 70不具有測量軟件,則在步驟820中,將MMO 92從主機A 60推送到主機B 70 (參見圖6)。因此,在此步驟后,主機A和B均具有能夠執(zhí)行所需測量的MMO 92??蛇x的是,如果在步驟810中確定主機B具有MMO 92,則在步驟830中, 主機A 60可驗證是否主機A和主機B均具有MMO 92的相同版本的MS 24。如果在步驟830 中確定主機A和B不具有相同版本,則方法繼續(xù)到步驟840。在此步驟中,具有最新版本的主機將該版本的MMO 92推送到另一主機。備選,如果主機A和B每個具有多個版本的MMO 92,則可識別共同版本的MMO 92并將其用于將來通信。MMO 92可以是具有用于測量諸如RTT、端對端可用帶寬、抖動、單向延遲、延遲變化或簡單地可用性等度量的用途的移動對象。MMO 92可以某種方式存儲,使得它能夠移動及在MMO執(zhí)行環(huán)境(例如,Java串行化)中執(zhí)行。在兩個主機A和B均具有相同MMO 92后,進程轉到步驟850,在該步驟中,在主機 A 60與主機B 70之間執(zhí)行測量(參見圖7)。在位于主機A處的MMO 92和位于主機B處的MMO 92之間執(zhí)行測量后,將測量的結果轉發(fā)到一個或兩個應用100,從而允許在兩個應用100之間的通信。在測量數(shù)據(jù)已由應用100使用后,在主機B 70處推送的MMO 92可在該主機B處被緩存或只是被刪除。如相對于圖8所述,移動代碼(ΜΜ0 92)不但可用于為沒有專用軟件包(MS 24)的主機提供該包,而且用于更新現(xiàn)有專用軟件包。例如,由于測量技術頻繁改進,因此,在端點處的測量軟件需要更新以便進行正確的測量。根據(jù)一個示范實施例,通過使用移動代碼的推送屬性,可執(zhí)行此更新操作而對主機用戶的干擾極少。在均擁有執(zhí)行環(huán)境的兩個主機具有不同版本的測量軟件時,帶有最新版本的主機可配置為將測量軟件推送到另一主機。根據(jù)示范實施例,圖9中示出MMO 92或代理65的結構。例如,此類對象的一個實例能夠在主機之間共享的共同虛擬機器中執(zhí)行。MMO 92可包括代碼部分62。代碼部分62 可包括用于發(fā)送和接收測量分組的單元110、用于推斷/估計路徑狀態(tài)(例如,可用帶寬、 抖動等)的分析單元112及用于在MMO中實現(xiàn)移動代碼邏輯的遠程評估模塊114。此模塊可負責與執(zhí)行代碼遷移(推送)、在新主機上啟動移動代碼及支持MMO執(zhí)行的一個或多個方面有關的所有方面。MMO 92也可包括用于存儲測量結果或其它數(shù)據(jù)的存儲模塊115和各種接口 116、118與120。應用接口 116可從應用100和/或測量軟件MS M接收測量參數(shù)122(諸如地址),并將測量結果IM提供到應用100。發(fā)送和接收接口 118可與網(wǎng)絡相接口(interface with)以探測在主機A與B之間的業(yè)務126。換而言之,發(fā)送和接收接口 118配置為訪問網(wǎng)絡棧以便根據(jù)MMO 92實現(xiàn)的測量算法發(fā)送和接收分組。控制層120可與測量業(yè)務控制更新1 交互以同步指配為一起解決任務的分布式MMO之間的活動和數(shù)據(jù) (兩個或更多個通信主機)。根據(jù)圖10所示的一個示范實施例,有一種用于將專用軟件包從第一主機提供到第二主機的方法。方法包括步驟1000,在第一主機處初始化在第一主機上用于與第二主機上對應應用通信的應用;步驟1002,從第一主機發(fā)送用于驗證在第二主機上存在專用軟件包的消息;步驟1004,當在第二主機上不存在專用軟件包時將專用軟件包從第一主機推送到第二主機;步驟1006,基于在第一主機處的專用軟件包和在第二主機處的專用軟件包,在第一主機處執(zhí)行專用活動;以及步驟1008,在第一主機的應用接收專用活動的結果, 其中,專用活動的結果由在第一主機處的應用用于與第二主機上對應應用通信。根據(jù)圖11所示的一個示范實施例,上述方法的步驟可實現(xiàn)為在計算機可讀介質上的計算機可執(zhí)行指令,其中,指令在執(zhí)行時實現(xiàn)圖11的方法。該方法包括提供包括獨特軟件模塊的系統(tǒng),其中,獨特軟件模塊包括移動對象環(huán)境模塊1100、移動對象模塊1110及應用模塊1120。這些模塊類似于上述元件94、94和100相互交互。如上所述,專用軟件包配置為沿連接第一主機和第二主機的網(wǎng)絡在第一主機與第二主機之間執(zhí)行至少一個主動端對端測量,以及專用活動是測量在第一主機與第二主機之間的往返時間、抖動、可用性、單向延遲、延遲變化及可用帶寬之一。該應用可以是在第一主機與第二主機之間的通過IP分組的視頻通信、通過IP的話音、游戲或交互應用之一,并且該方法也可包括當在第二主機上存在專用軟件包時驗證第二主機上的專用軟件包的版本的步驟,以及當?shù)谝恢鳈C和第二主機具有專用軟件包的多個版本時,將最新版本的專用軟件包推送到具有更舊版本的專用軟件包的那個主機,或者使用共同版本的專用軟件包的步馬聚O推送步驟可包括將專用軟件包存儲到配置為從第一主機復制到第二主機的移動對象中,并且移動對象包括計算機指令和與計算機指令的變量有關的數(shù)據(jù)。雖然已相對于 MMO 92描述示范實施例,但可使用代碼62或移動代理65而不是MMO 92。與要求發(fā)送器和接收器事先擁有一份軟件的現(xiàn)有技術端對端測量方法不同,上述一些示范實施例使得即使未通過必需的測量軟件啟用主機,也可能執(zhí)行此類網(wǎng)絡測量。此外,通過使用一些示范實施例,與網(wǎng)絡測量應用版本有關的問題得以解決。由于請求測量的主機能夠將網(wǎng)絡測量軟件推送到另一主機,因此,這些主機可始終運行相同的版本,使得測量的成功率增大。為了說明而不是限制的目的,圖12中示出能夠執(zhí)行根據(jù)示范實施例的操作的代表性主機的一個示例。然而,應認識到的是,所述示范實施例的原理同樣適用于標準計算系統(tǒng)。示范主機1200可包括諸如微處理器、精簡指令集計算機(RISC)或其它中央處理模塊等處理/控制單元1202。處理單元1202無需是單個裝置,并且可包括一個或多個處理器。例如,處理單元1202可包括主處理器和被耦合以便與主處理器進行通信的相關聯(lián)從處理器。處理單元1202可如存儲裝置/存儲器1204中可用的程序指示,控制系統(tǒng)的基本功能。因此,處理單元1202可執(zhí)行如圖5到10所述的功能。更具體地說,存儲裝置/存儲器1204可包括用于在主機上執(zhí)行功能和應用的操作系統(tǒng)和程序模塊。例如,程序存儲裝置可包括一個或多個只讀存儲器(ROM)、閃存ROM、可編程和/或可擦除ROM、隨機存取存儲器 (RAM)、訂戶接口模塊(SIM)、無線接口模塊(WIM)、智能卡或其它可移動存儲器裝置等。程序模塊和相關聯(lián)特性也可利用數(shù)據(jù)信號傳送到主機1200,諸如以電子方式利用諸如因特網(wǎng)等網(wǎng)絡下載??稍诖鎯ρb置/存儲器1204中存儲的程序之一是特定程序1206。如前面所述,特定程序1206可以是測量軟件。程序1206和相關聯(lián)特性可以可通過處理器1202操作的軟件和/或固件形式實現(xiàn)。存儲裝置/存儲器1204也可用于存儲與所述示范實施例相關聯(lián)的數(shù)據(jù)1208。在一個示范實施例中,程序1206和數(shù)據(jù)1208存儲在非易失性電可擦除可編程ROM(EEPROM)、閃存ROM等中,以便在主機1200的電源關閉時信息不會丟失。處理器1202也可耦合到用戶接口 1210元件。主機的用戶接口 1210可例如包括諸如液晶顯示器等顯示器1212、鍵盤1214、揚聲器1216及麥克風1218。正如本領域所熟知的一樣,這些和其它用戶接口組件耦合到處理器1202。鍵盤1214可包括用于執(zhí)行包括撥號和執(zhí)行指配到一個或多個鍵的操作等多種功能的字母數(shù)字鍵。備選,可采用其它用戶接口機構,例如話音命令、開關、觸摸墊/屏、使用指點裝置的圖形用戶接口、軌跡球、操縱桿或任何其它用戶接口機構。主機1200還可包括數(shù)字信號處理器(DSP) 1220。DSP 1220可執(zhí)行多種功能,包括模數(shù)(A/D)轉換、數(shù)模(D/A)轉換、語音編碼/解碼、加密/解密、檢錯和糾錯、比特流轉化、 濾波等。一般耦合到天線12M的收發(fā)信機1222可傳送和接收與無線裝置相關聯(lián)的無線電信號。圖12的主機1200提供為其中可應用所述示范實施例的原理的計算環(huán)境的代表性示例。從本文提供的說明中,本領域技術人員將理解,本發(fā)明在各種其它當前已知和將來的移動和固定計算環(huán)境中同樣適用。例如,特定應用1206和相關聯(lián)特性及數(shù)據(jù)1208可以多種方式存儲,可能在各種處理裝置上是可操作的,并且可在具有附加的、更少或不同支持電路和用戶接口機構的移動裝置中是可操作的。要注意的是,所述示范實施例的原理同樣適用于非移動終端,即陸上通信線計算系統(tǒng)。公開的示范實施例提供了用于將專用軟件包從第一主機提供到第二主機的主機、 方法和計算機程序產品。應理解,此描述無意限制本發(fā)明。相反,示范實施例旨在涵蓋在如隨附權利要求定義的本發(fā)明的精神和范圍中包括的備選、修改和等效物。此外,在示范實施例的詳細描述中,陳述了許多特定的細節(jié)以提供要求保護的發(fā)明的詳盡理解。然而,本領域的技術人員將理解,在無此類特定細節(jié)的情況下可實踐各種實施例。正如本領域的技術人員也將理解的一樣,示范實施例可在無線通信裝置、電信網(wǎng)絡中實施為方法,或者以計算機程序產品的形式實施。相應地,示范實施例可采用完全硬件實施例或組合硬件和軟件方面的實施例的形式。此外,示范實施例可采用在計算機可讀存儲介質上存儲的計算機程序產品形式,其中在該介質中實施有計算機可讀指令??衫萌魏魏线m的計算機可讀介質,包括硬盤、CD-ROM、數(shù)字多功能光盤(DVD)、光學存儲裝置或磁存儲裝置,諸如軟盤或磁帶。計算機可讀介質的其它非限制性示例包括閃存類型的存儲器或其它已知存儲器。雖然所示示范實施例的特性和要素在以特定組合形式的實施例中描述,但每個特性或要素可單獨使用而無實施例的其它特性和要素,或者以帶有或無本文公開的其它特性和要素的各種組合形式使用。本申請中提供的方法或流程圖可以計算機可讀存儲介質中切實(tangibly)實施的計算機程序、軟件或固件中實現(xiàn)以便由專門編程的計算機或處理器執(zhí)行。
權利要求
1.一種用于從第一主機(60)提供專用軟件包04)到第二主機(70)的方法,所述方法包括在所述第一主機(60)處初始化在所述第一主機(60)上用于與所述第二主機(70)上對應應用(100)通信的應用(90);從所述第一主機(60)發(fā)送用于驗證在所述第二主機(70)上存在所述專用軟件包04) 的消息;當在所述第二主機(70)上不存在所述專用軟件包04)時將所述專用軟件包04)從所述第一主機(60)推送到所述第二主機(70);基于在所述第一主機(60)處的所述專用軟件包和在所述第二主機(70)處的所述專用軟件包(M),在所述第一主機(60)處執(zhí)行專用活動;以及在所述第一主機(60)的所述應用(90)接收所述專用活動的結果,其中所述專用活動的所述結果由在所述第一主機(60)的所述應用(90)用于與所述第二主機(70)上所述對應應用(100)通信。
2.如權利要求1所述的方法,其中所述專用軟件包配置為沿連接所述第一主機和第二主機的網(wǎng)絡在所述第一主機與所述第二主機之間執(zhí)行至少一個主動端對端測量,以及所述專用活動是測量在所述第一主機與所述第二主機之間的往返時間、抖動、可用性、單向延遲、延遲變化及可用帶寬之一。
3.如權利要求1所述的方法,其中所述應用是在所述第一主機與第二主機之間的通過 IP分組的視頻通信、通過IP的話音、游戲或交互應用之一。
4.如權利要求1所述的方法,還包括當在所述第二主機上存在所述專用軟件包時驗證在所述第二主機上的所述專用軟件包的版本;以及當所述第一主機和所述第二主機具有所述專用軟件包的多個版本時,將最新版本的所述專用軟件包推送到具有更舊版本的所述專用軟件包的那個主機,或者使用共同版本的所述專用軟件包。
5.如權利要求1所述的方法,其中所述推送步驟包括將所述專用軟件包存儲到配置為從所述第一主機復制到所述第二主機的移動對象中。
6.如權利要求5所述的方法,其中所述移動對象包括計算機指令和與所述計算機指令的變量有關的數(shù)據(jù),并且所述移動對象復制而不與所述第一主機的用戶交互。
7.一種包括計算機可執(zhí)行指令的計算機可讀介質,其中所述指令在執(zhí)行時實現(xiàn)用于將專用軟件包04)從第一主機(60)提供到第二主機(70)的方法,所述方法包括提供包括獨特軟件模塊的系統(tǒng),其中所述獨特軟件模塊包括移動對象環(huán)境模塊 (1100)、移動對象模塊(1110)及應用模塊(1120);在所述第一主機(60)處初始化在所述第一主機(60)上用于與所述第二主機(70)上對應應用模塊(100)通信的應用模塊(90);從所述第一主機(60)發(fā)送用于驗證在所述第二主機(70)上存在所述專用軟件包04) 的消息;當在所述第二主機(70)上不存在所述專用軟件包04)時將所述專用軟件包04)從所述第一主機(60)推送到所述第二主機(70);基于在所述第一主機(60)處的所述專用軟件包04)和在所述第二主機(70)處的所述專用軟件包(M),在所述第一主機(60)處執(zhí)行專用活動;以及在所述第一主機(60)的所述應用模塊(90)處接收所述專用活動的結果,其中所述專用活動的所述結果由在所述第一主機(60)處的所述應用模塊(90)用于與所述第二主機 (70)上所述對應應用模塊(100)通信。
8.如權利要求7所述的介質,其中所述專用軟件包配置為在所述移動對象環(huán)境模塊中運行并且沿連接所述第一主機和所述第二主機的網(wǎng)絡在所述第一主機與所述第二主機之間執(zhí)行至少一個主動端對端測量,以及所述專用活動是測量在所述第一主機與第二主機之間的往返時間、抖動、可用性、單向延遲、延遲變化及可用帶寬之一。
9.如權利要求7所述的介質,其中所述應用模塊包括在所述第一主機與所述第二主機之間通過IP分組的視頻通信、通過IP的話音、游戲或交互應用之一。
10.如權利要求7所述的介質,還包括當在所述第二主機上存在所述專用軟件包時驗證在所述第二主機上的所述專用軟件包的版本;以及當所述第一主機和所述第二主機具有所述專用軟件包的多個版本時,將最新版本的所述專用軟件包推送到具有更舊版本的所述專用軟件包的那個主機,或者使用共同版本的所述專用軟件包。
11.如權利要求7所述的介質,其中所述推送步驟包括將所述專用軟件包存儲到配置為從所述第一主機復制到所述第二主機的移動對象模塊中。
12.如權利要求11所述的介質,其中所述移動對象模塊包括計算機指令和與所述計算機指令的變量有關的數(shù)據(jù),并且所述移動對象模塊復制而不與所述第一主機的用戶交互。
13.—種通信裝置(60,1200),用于提供專用軟件包04)到另一通信裝置(70),所述通信裝置(60,1200)包括存儲器(1204),用于存儲配置為與在所述另一通信裝置(70)上的對應應用(100)通信的應用(90);以及處理器(1202),配置為發(fā)送用于驗證在所述另一通信裝置(70)上存在所述專用軟件包04)的消息,當在所述另一通信裝置(70)上不存在所述專用軟件包04)時將所述專用軟件包04) 從所述第一通信裝置(60,1200)推送到所述另一通信裝置(70),基于在所述通信裝置(60,1200)處的所述專用軟件包04)和在所述另一通信裝置 (70)處的所述專用軟件包(100),執(zhí)行專用活動,以及接收所述專用活動的結果,其中所述專用活動的所述結果由在所述通信裝置(60, 1200)處的所述應用(90)用于與在所述另一通信裝置(70)處的所述對應應用(100)通信。
14.如權利要求13所述的裝置,其中所述專用軟件包配置為沿連接所述通信裝置和所述另一通信裝置的網(wǎng)絡在所述通信裝置與所述另一通信裝置之間執(zhí)行至少一個主動端對端測量,以及所述專用活動是測量在所述通信裝置與所述另一通信裝置之間的往返時間、 抖動、可用性、單向延遲、延遲變化及可用帶寬之一。
15.如權利要求13所述的裝置,其中所述應用是在所述通信裝置與所述另一通信裝置之間的通過IP分組的視頻通信、通過IP的話音、游戲或交互應用之一。
16.如權利要求13所述的裝置,其中所述處理器還配置為當在所述另一通信裝置上存在所述專用軟件包時驗證在所述另一通信裝置上的所述專用軟件包的版本;以及當所述通信裝置和所述另一通信裝置具有所述專用軟件包的多個版本時,將最新版本的所述專用軟件包推送到具有更舊版本的所述專用軟件包的該通信裝置,或者使用共同版本的所述專用軟件包。
17.如權利要求13所述的裝置,其中所述專用軟件包是在所述存儲器中存儲的移動對象的一部分,并且配置為從所述通信裝置復制到所述另一通信裝置而不與所述通信裝置的用戶交互。
18.如權利要求17所述的裝置,其中所述移動對象包括計算機指令和與所述計算機指令的變量有關的數(shù)據(jù)。
19.如權利要求13所述的裝置,其中所述裝置是計算機、便攜式計算機、個人數(shù)字助理、游戲控制臺及移動電話之一。
全文摘要
用于提供專用軟件包(24)到第二主機(70)的第一主機(60)、計算機可讀介質和方法。該方法包括在第一主機(60)初始化在第一主機(60)上用于與第二主機(70)上對應應用(100)通信的應用(90);從第一主機(60)發(fā)送用于驗證在第二主機(70)上存在專用軟件包(24)的消息;當在第二主機(70)上不存在專用軟件包(24)時將專用軟件包(24)從第一主機(60)推送到第二主機(70);基于在第一主機(60)的專用軟件包和在第二主機(70)的專用軟件包(24),在第一主機(60)執(zhí)行專用活動;以及在第一主機(60)的應用(90)接收專用活動的結果,其中,專用活動的結果由在第一主機(60)的應用(90)用于與第二主機(70)上對應應用(100)通信。
文檔編號G06F9/445GK102282541SQ200980155418
公開日2011年12月14日 申請日期2009年1月19日 優(yōu)先權日2009年1月19日
發(fā)明者A·約翰遜, A·達莫拉 申請人:瑞典愛立信有限公司