專(zhuān)利名稱(chēng):經(jīng)由端對(duì)端網(wǎng)絡(luò)的軟件分發(fā)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及計(jì)算設(shè)備,并且更具體地,涉及通過(guò)adhoc (自組織)端對(duì)端網(wǎng)絡(luò)來(lái)提供軟件分發(fā)服務(wù)。
背景技術(shù):
通用即插即用(Universal Plug and PlayTM) ( UPnP )定義了用 于所有類(lèi)型的消費(fèi)者電子設(shè)備之間普遍的、端對(duì)端組網(wǎng)的架構(gòu),其 中消費(fèi)者電子設(shè)備包括智能設(shè)備、無(wú)線設(shè)備以及所有形式因素的PC。 UPnP技術(shù)為完全不同的處理設(shè)備提供了通過(guò)鄰近或者ad hoc網(wǎng)絡(luò)來(lái) 交換數(shù)據(jù)的方式。UPnP架構(gòu)設(shè)計(jì)用于為家庭、小型商業(yè)場(chǎng)所、公共 場(chǎng)所中的或者附接至因特網(wǎng)的ad hoc或者未托管網(wǎng)絡(luò)提供易用的、 靈活的、基于標(biāo)準(zhǔn)的連接。UPnP技術(shù)提供一種分布式的、開(kāi)放的組 網(wǎng)架構(gòu),其利用TCP/IP和Web技術(shù)來(lái)支持無(wú)縫的鄰近組網(wǎng),并支持 組網(wǎng)設(shè)備之間的控制和數(shù)據(jù)傳送。
UPnP設(shè)備架構(gòu)(UDA)設(shè)計(jì)用于支持零配置的、"不可見(jiàn)"的 組網(wǎng),以及對(duì)來(lái)自各種供應(yīng)商的多種設(shè)備類(lèi)別的自動(dòng)發(fā)現(xiàn)。這意味 著,設(shè)備可以自動(dòng)加入網(wǎng)絡(luò)、獲取IP地址、傳遞其能力、以及了解 其他設(shè)備的存在和能力。UPnP規(guī)范包括用于設(shè)備發(fā)現(xiàn)的規(guī)范,并且 UPnP論壇發(fā)布了多個(gè)特定的設(shè)備控制協(xié)議(DCP)。這些發(fā)布的 DCP對(duì)特定類(lèi)型的UPnP網(wǎng)絡(luò)功能進(jìn)行了標(biāo)準(zhǔn)化。例如,某些DCP 定義了用于通過(guò)UPnP網(wǎng)絡(luò)來(lái)呈現(xiàn)音頻和視頻的功能。各貢獻(xiàn)者可以 實(shí)現(xiàn)這些以及其他UPnP設(shè)備和服務(wù)描述,由此創(chuàng)建將設(shè)備連接到功 能性網(wǎng)絡(luò)中的簡(jiǎn)易方法。UPnP的目標(biāo)是支持家用電子設(shè)備無(wú)縫地交 互,由此進(jìn)一步提高這些設(shè)備的有效性。
UPnP標(biāo)準(zhǔn)包括用于力良務(wù)發(fā)現(xiàn)的標(biāo)準(zhǔn),并且以鄰近的或者ad hoc
7網(wǎng)絡(luò)為主要目標(biāo)。各貢獻(xiàn)者(contributor)發(fā)布UPnP設(shè)備以及服務(wù) 描述,由此創(chuàng)建連接設(shè)備的簡(jiǎn)易方式并且簡(jiǎn)化網(wǎng)絡(luò)的實(shí)現(xiàn)。UPnP設(shè) 計(jì)用于在多種環(huán)境中工作,包括家庭、商業(yè)場(chǎng)所、公共場(chǎng)所以及附 接至因特網(wǎng)的設(shè)備上。UPnP標(biāo)準(zhǔn)是一種開(kāi)放式架構(gòu),其利用Web 技術(shù)并且設(shè)計(jì)用于提供ad-hoc組網(wǎng)和分布式計(jì)算。
開(kāi)發(fā)UPnP以及相關(guān)的協(xié)議主要是為了允許消費(fèi)者容易地組建 家庭網(wǎng)絡(luò),以及訪問(wèn)和控制正常情況下不與組網(wǎng)計(jì)算相關(guān)聯(lián)的設(shè)備。 然而,UPnP的靈活特性意味著其可以在任何地方實(shí)現(xiàn),并且可以適 用于網(wǎng)絡(luò)架構(gòu)的發(fā)起者不可預(yù)見(jiàn)的使用。例如,UPnP可以在通常連 接至無(wú)線供應(yīng)商網(wǎng)絡(luò)的移動(dòng)設(shè)備上使用。這種設(shè)備可以包含次要的 有線或者無(wú)線接口 ,其允許設(shè)備與家庭或者商業(yè)網(wǎng)絡(luò)的其他實(shí)體通 信。
在本質(zhì)上,移動(dòng)設(shè)備通常是容易運(yùn)送的,因此與其他類(lèi)型的計(jì) 算設(shè)備相比,用戶傾向于具有對(duì)這些設(shè)備的更大訪問(wèn)權(quán)。隨著這種 設(shè)備的數(shù)據(jù)處理能力和多媒體特征的增加,移動(dòng)設(shè)備還可以用于較 為高級(jí)的休閑活動(dòng),例如聽(tīng)音樂(lè)、看電影、打游戲等。這種能力和 活動(dòng)常常可以通過(guò)網(wǎng)絡(luò)通信來(lái)增強(qiáng),其允許人們與共享活動(dòng)中的其 他人交互。然而,網(wǎng)絡(luò)特征的建立和使用對(duì)于某些用戶而言可能是 困難的。這種在使用網(wǎng)絡(luò)特征中的可察覺(jué)到的困難可能阻止了一些 人使用組網(wǎng)的娛樂(lè)功能,因此他們可能認(rèn)為為了增強(qiáng)任意性的活動(dòng) 來(lái)學(xué)習(xí)如何使用網(wǎng)絡(luò)特征所花費(fèi)的努力是不值得的。因此,期望提 供一種對(duì)支持娛樂(lè)活動(dòng)的網(wǎng)絡(luò)技術(shù)的簡(jiǎn)單配置和使用。
發(fā)明內(nèi)容
為了克服上文描述的現(xiàn)有技術(shù)的限制,并且克服在閱讀和理解 本說(shuō)明書(shū)時(shí)將變得易見(jiàn)的其他限制,本說(shuō)明書(shū)公開(kāi)了 一種用于經(jīng)由 ad hoc端對(duì)端網(wǎng)絡(luò)的數(shù)據(jù)處理裝置來(lái)分發(fā)軟件的系統(tǒng)、設(shè)備以及方 法。在一個(gè)實(shí)施方式中, 一種方法,包括配置第一設(shè)備來(lái)提供有 助于對(duì)多個(gè)程序進(jìn)行訪問(wèn)的端對(duì)端軟件分發(fā)服務(wù)。使用adhoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議,經(jīng)由第 一設(shè)備來(lái)公告該端對(duì)端軟件分發(fā)服 務(wù)。響應(yīng)于公告該端對(duì)端軟件分發(fā)服務(wù),在第一設(shè)備處從目標(biāo)機(jī)器 接收針對(duì)該端對(duì)端軟件分發(fā)服務(wù)的描述的至少一個(gè)查詢(xún)。經(jīng)由該端 對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)將程序下載到目標(biāo)設(shè)備。所述程序是從多 個(gè)程序中選出的,并且能夠在目標(biāo)設(shè)備的處理器上操作。
在更為具體的實(shí)施方式中,所述程序配置用于經(jīng)由所述ad hoc 端對(duì)端網(wǎng)絡(luò)來(lái)進(jìn)行操作,并且所述至少一個(gè)查詢(xún)可以響應(yīng)于目標(biāo)設(shè) 備嘗試訪問(wèn)adhoc端對(duì)端網(wǎng)絡(luò)的已公告服務(wù)而接收。在這種情況下, 所述至少一個(gè)查詢(xún)包括對(duì)所公告服務(wù)的描述,并且所述程序使目標(biāo) 設(shè)備能夠使用所公告的服務(wù)。在其他布置中,促進(jìn)將程序下載到目 標(biāo)設(shè)備包括將程序從第一設(shè)備下載到端(peer)設(shè)備和/或從第三 方計(jì)算布置下載到目標(biāo)設(shè)備。將程序下載到目標(biāo)設(shè)備還可以包括 使用與ad hoc端對(duì)端網(wǎng)絡(luò)的協(xié)議不同的一個(gè)或多個(gè)協(xié)議來(lái)下載程 序。
在其他更為具體的實(shí)施方式中,所述方法還包括經(jīng)由所述ad hoc端對(duì)端網(wǎng)絡(luò)在所述目標(biāo)設(shè)備上促進(jìn)激活所述程序。激活所述程序 可以包括驗(yàn)證對(duì)第一設(shè)備和目標(biāo)設(shè)備中的至少一個(gè)的所有者訪問(wèn) 權(quán)限。在某些配置中,adhoc端對(duì)端網(wǎng)路包括通用即插即用網(wǎng)絡(luò)。 在另一布置中,所述至少一個(gè)查詢(xún)包括對(duì)目標(biāo)設(shè)備的計(jì)算機(jī)平臺(tái)和/ 或用于對(duì)響應(yīng)于查詢(xún)而返回的結(jié)果進(jìn)行過(guò)濾的軟件類(lèi)別的描述。
在本發(fā)明的另一實(shí)施方式中, 一種方法,包括將第一設(shè)備耦 合至adhoc端對(duì)端網(wǎng)絡(luò);以及使用ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié) 議,經(jīng)由第一設(shè)備來(lái)發(fā)現(xiàn)端對(duì)端軟件分發(fā)服務(wù)。所述端對(duì)端軟件分 發(fā)服務(wù)由端設(shè)備提供,并且促進(jìn)對(duì)多個(gè)程序的訪問(wèn)。響應(yīng)于發(fā)現(xiàn)所 述端對(duì)端軟件分發(fā)服務(wù),從第一設(shè)備向所述端設(shè)備發(fā)送針對(duì)所述端 對(duì)端軟件分發(fā)對(duì)服務(wù)描述的至少 一個(gè)查詢(xún)。經(jīng)由第 一設(shè)備從多個(gè)程 序中選擇程序,并且所述程序被下載到第一設(shè)備。所述下載由所述 端設(shè)備的軟件分發(fā)服務(wù)來(lái)促進(jìn)。
在更為具體的實(shí)施方式中,所述程序配置用于經(jīng)由所述adhoc端對(duì)端網(wǎng)絡(luò)來(lái)進(jìn)行操作。在這種情況下,所述方法可以包括由所
述第 一設(shè)備嘗試訪問(wèn)所述ad hoc端對(duì)端網(wǎng)絡(luò)的已公告服務(wù),并且響 應(yīng)于訪問(wèn)已公告服務(wù)的嘗試,將所述程序下載到第一設(shè)備。所屬程 序使第一設(shè)備能夠使用所公告的服務(wù),在這種布置中,所述查詢(xún)可 以包括對(duì)所公告服務(wù)的描述,并且所述方法可以包括在第一設(shè)備處 調(diào)用所述程序來(lái)訪問(wèn)所公告的服務(wù)。
在另 一更為具體的實(shí)施方式中,將程序下載到第 一設(shè)備包括從 端設(shè)備和/或第三方計(jì)算布置下載所述程序。此外,將程序下載到第 一設(shè)備可以包括使用與所述ad hoc端對(duì)端網(wǎng)絡(luò)的協(xié)議不同的 一個(gè)或 多個(gè)協(xié)議來(lái)下載所述程序。在一個(gè)配置中,所述方法還包括經(jīng)由 所述adhoc端對(duì)端網(wǎng)絡(luò)在所述第一設(shè)備上激活所述程序,并且激活 所述程序可以包括訪問(wèn)所述ad hoc端對(duì)端網(wǎng)絡(luò)的激活服務(wù)和/或所述 adhoc端對(duì)端網(wǎng)絡(luò)的軟件分發(fā)服務(wù)。激活所述程序可以包括驗(yàn)證 對(duì)所述第一設(shè)備和所述端設(shè)備中的至少一個(gè)的所有者訪問(wèn)權(quán)限。
在本發(fā)明的另一實(shí)施方式中, 一種設(shè)備,包括網(wǎng)絡(luò)接口,其 能夠經(jīng)由adhoc端對(duì)端網(wǎng)絡(luò)來(lái)進(jìn)行通信;以及耦合至所述網(wǎng)絡(luò)接口 的處理器。存儲(chǔ)器存儲(chǔ)設(shè)備耦合至所述處理器,并且包括指令,所 述指令使所述處理器使用所述ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái) 發(fā)現(xiàn)端對(duì)端軟件分發(fā)服務(wù)。所述端對(duì)端軟件分發(fā)服務(wù)由端設(shè)備提供, 并且促進(jìn)對(duì)多個(gè)程序的訪問(wèn)。所述指令還使所述處理器從多個(gè)程序 中選擇程序,并且將所述程序下載到所述裝置。通過(guò)所述端對(duì)端設(shè) 備的軟件分發(fā)服務(wù)來(lái)促進(jìn)所述下載。
在更為具體的實(shí)施方式中,所述指令還使所述處理器提供本地 提供的端對(duì)端軟件分發(fā)服務(wù),其促進(jìn)對(duì)第二多個(gè)程序的訪問(wèn);經(jīng)由 所述服務(wù)發(fā)現(xiàn)協(xié)議來(lái)公告所述本地提供的端對(duì)端軟件分發(fā)服務(wù);以 及經(jīng)由本地提供的端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)將第二程序下載到目 標(biāo)設(shè)備。所述第二程序從第二多個(gè)程序中選擇,并且能夠在目標(biāo)設(shè) 備的處理器上進(jìn)行操作。在某些布置中,所述端對(duì)端軟件分發(fā)服務(wù) 和/或所述本地提供的端對(duì)端軟件分發(fā)服務(wù)作為通用即插即用設(shè)備來(lái)
10公告。
在本發(fā)明的另一實(shí)施方式中, 一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其具
有可由能夠耦合至adhoc端對(duì)端網(wǎng)絡(luò)的裝置來(lái)執(zhí)行的指令。所述指 令可由所述裝置執(zhí)行以執(zhí)行下列步驟使用所述ad hoc端對(duì)端網(wǎng)絡(luò) 的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)發(fā)現(xiàn)端對(duì)端軟件分發(fā)服務(wù)。所述端對(duì)端分發(fā)服務(wù) 由端設(shè)備提供,并且促進(jìn)對(duì)多個(gè)程序的訪問(wèn)。所述步驟還包括從 多個(gè)程序中選擇程序,并將所述程序下載到所述裝置。通過(guò)所述端
設(shè)備的所述軟件分發(fā)服務(wù)來(lái)促進(jìn)所述下載。
在更為具體的實(shí)施方式中,所述步驟還包括提供本地提供的 端對(duì)端軟件分發(fā)服務(wù),其促進(jìn)對(duì)第二多個(gè)程序的訪問(wèn);經(jīng)由所述服 務(wù)發(fā)現(xiàn)協(xié)議來(lái)公告所述本地提供的端對(duì)端軟件分發(fā)服務(wù);以及經(jīng)由 所述本地提供的端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)將第二程序下載到目標(biāo) 設(shè)備。所述第二程序是從第二多個(gè)程序中選擇的,并且能夠在所述 目標(biāo)設(shè)備的處理器上進(jìn)行操作。
在本發(fā)明的另一實(shí)施方式中, 一種系統(tǒng),包括用于經(jīng)由第一 端設(shè)備,通過(guò)ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)提供端對(duì)端軟件 分發(fā)服務(wù)。通用的端對(duì)端軟件分發(fā)服務(wù)促進(jìn)對(duì)多個(gè)程序的訪問(wèn)。所 述系統(tǒng)還包括用于經(jīng)由所述網(wǎng)絡(luò)的第二端設(shè)備來(lái)發(fā)現(xiàn)所述端對(duì)端 軟件分發(fā)服務(wù)的裝置;以及用于經(jīng)由所述端對(duì)端軟件分發(fā)服務(wù)來(lái)促 進(jìn)將程序下載到所述第二端設(shè)備的裝置。在更為具體的實(shí)施方式中, 所述系統(tǒng)還包括用于經(jīng)由所述ad hoc端對(duì)端分發(fā)服務(wù)來(lái)激活所述 程序的裝置。
特別地,表征本發(fā)明的新穎性的這些以及各種其他優(yōu)點(diǎn)和特征 在所附權(quán)利要求書(shū)中特別指出,其中權(quán)利要求書(shū)構(gòu)成本發(fā)明的 一部 分。然而,更為更好地理解本發(fā)明、其優(yōu)點(diǎn)以及其使用所達(dá)到的目 的,將參考構(gòu)成本發(fā)明其他部分的附圖以及所附的描述性文字,其 中示出并描述了按照本發(fā)明的系統(tǒng)、設(shè)備以及方法的代表性示例。
ii將結(jié)合下文附圖中所示的實(shí)施方式來(lái)描述本發(fā)明。
圖1是示出按照本發(fā)明實(shí)施方式的系統(tǒng)的框圖2是示出按照本發(fā)明實(shí)施方式的軟件分發(fā)服務(wù)的實(shí)現(xiàn)的框圖3是示出按照本發(fā)明實(shí)施方式的UPnP軟件分發(fā)架構(gòu)的框圖4是按照本發(fā)明實(shí)施方式的示例軟件分發(fā)服務(wù)交互的序列圖5是按照本發(fā)明實(shí)施方式的移動(dòng)設(shè)備的框圖6是示出按照本發(fā)明實(shí)施方式的、用于提供經(jīng)由adhoc端對(duì)
端網(wǎng)絡(luò)的軟件分發(fā)服務(wù)的方法的流程圖;以及
圖7是示出按照本發(fā)明實(shí)施方式的、用于經(jīng)由adhoc端對(duì)端網(wǎng)
絡(luò)來(lái)使用軟件分發(fā)服務(wù)的方法的流程圖。
具體實(shí)施例方式
在下文對(duì)各種示例性實(shí)施方式的描述中,將參考構(gòu)成本發(fā)明一 部分的附圖,其中以示范的方式示出了可以實(shí)踐本發(fā)明的各種實(shí)施 方式。應(yīng)當(dāng)理解,可以使用其他實(shí)施方式,因?yàn)榭梢栽诓幻撾x本發(fā) 明范圍的情況下進(jìn)行結(jié)構(gòu)性和操作性改變。
總體上,本發(fā)明涉及使軟件能夠經(jīng)由adhoc端對(duì)端網(wǎng)絡(luò)來(lái)分發(fā) 的方法、系統(tǒng)和設(shè)備。軟件的"分發(fā),,可以包括兩個(gè)或者多個(gè)計(jì)算 設(shè)施之間的處理器可執(zhí)行指令的發(fā)現(xiàn)、傳輸、驗(yàn)證、安裝、購(gòu)買(mǎi)、 激活以及維護(hù)的任意組合。軟件可以包括可以在數(shù)據(jù)處理設(shè)備上執(zhí) 行的任何類(lèi)型的系統(tǒng)軟件或者用戶軟件。這種軟件的 一個(gè)示例是游
還使用端對(duì)端網(wǎng)絡(luò)來(lái)公告對(duì)游戲的使用,和/或使用網(wǎng)絡(luò)來(lái)交換游戲 操作數(shù)據(jù)。盡管在此示出的各種實(shí)施方式可能是按照各種特定類(lèi)型 的軟件(例如,游戲)來(lái)描述的,但是將會(huì)理解,本發(fā)明不限于此, 而是可以應(yīng)用于本領(lǐng)域公知的任何方式的計(jì)算機(jī)輔助活動(dòng)。
在按照本發(fā)明實(shí)施方式的系統(tǒng)中,通用軟件分發(fā)服務(wù)允許經(jīng)由 單個(gè)通用接口來(lái)發(fā)現(xiàn)和使用任何程序。因此,在這種布置中,用戶 可以了解到可供使用的多個(gè)程序。在某些情況下,軟件可用于輔助
12設(shè)備以訪問(wèn)端對(duì)端網(wǎng)絡(luò)上的另一服務(wù)。例如,端設(shè)備可以發(fā)現(xiàn)經(jīng)由 網(wǎng)絡(luò)的發(fā)現(xiàn)協(xié)議而公告的多人游戲。多人游戲可以將端對(duì)端網(wǎng)絡(luò)用
于發(fā)現(xiàn)和玩游戲事件二者。為了玩游戲,用戶設(shè)備可以發(fā)現(xiàn)和/或祐_ 自動(dòng)指引到軟件分發(fā)服務(wù),該軟件分發(fā)服務(wù)支持在用戶設(shè)備上安裝
兼容的軟件。以此方式,用戶可以無(wú)縫地使用在端對(duì)端網(wǎng)絡(luò)上出現(xiàn)
的、此前未知和未安裝的能力。
在一個(gè)布置中,支持軟件分發(fā)服務(wù)的adhoc端對(duì)端網(wǎng)絡(luò)可以是 通用即插即用(UPnP)網(wǎng)絡(luò)。UPnP架構(gòu)包括兩層通用UPnP設(shè)備 架構(gòu)(UDA)以及特定于設(shè)備的設(shè)備控制協(xié)議(DCP)。目前存在 用于各種設(shè)備類(lèi)別的大約10個(gè)標(biāo)準(zhǔn)化DCP。經(jīng)由UPnP的軟件分發(fā) 可以包括創(chuàng)建使用戶能夠搜索任何可用程序的通用框架,從而使得 該搜索不與任何特定的軟件類(lèi)型、設(shè)備平臺(tái)、許可機(jī)制或者通常與 軟件分發(fā)相關(guān)聯(lián)的其他類(lèi)別綁定??梢詣?chuàng)建軟件分發(fā)DCP,其將定 義"UPnP軟件分發(fā)設(shè)備"將暴露給UPnP網(wǎng)絡(luò)的服務(wù)、動(dòng)作和狀態(tài) 變量。
現(xiàn)在參考圖l,框圖IOO示出了按照本發(fā)明實(shí)施方式的示例系統(tǒng)。 一般地,諸如UPnP的技術(shù)設(shè)計(jì)用于在有限的空間內(nèi)操作。在圖1 中,物理邊界定義了本地空間102。本地空間102的尺度通常由基礎(chǔ) 網(wǎng)絡(luò)協(xié)議、介質(zhì)以及用來(lái)促進(jìn)軟件分發(fā)的adhoc端對(duì)端組網(wǎng)結(jié)束的 可擴(kuò)展性來(lái)限定。然而,將會(huì)理解,其他adhoc端對(duì)端協(xié)議可能不 限于任何物理空間限制,因此示出本地空間102是為了示范而非限 制的目的。
空間102可以包括至少一個(gè)本地網(wǎng)絡(luò)104,其能夠支持與一個(gè)或 多個(gè)用戶設(shè)備106的通信。本地網(wǎng)絡(luò)104可以包括數(shù)據(jù)傳輸介質(zhì)和 協(xié)議的任意組合。例如,網(wǎng)絡(luò)104可以使用有線的或者無(wú)線的數(shù)據(jù) 傳輸介質(zhì)。類(lèi)似地,本地網(wǎng)絡(luò)104上的設(shè)備106可以使用各種物理 和數(shù)據(jù)鏈路層協(xié)議來(lái)相互通信,包括以太網(wǎng)、FDDI、 PPP、 ATM、 HDLC、光纖信道、X-IO、串行/并行點(diǎn)對(duì)點(diǎn)連接等。多個(gè)較高層的 網(wǎng)絡(luò)協(xié)議同樣可以在網(wǎng)絡(luò)104上操作,包括TCP/IP、 UDP/IP、 IPX、
13Appletalk、 ICMP、 ARP、 DNS、 FTP、 NetBEUI等。
用戶設(shè)備106 —般地包括某些方式的數(shù)據(jù)處理能力,并且特別 地,至少某些設(shè)備106能夠經(jīng)由網(wǎng)絡(luò)104來(lái)獲得和運(yùn)行軟件。在多 數(shù)安裝中,該軟件包括用戶程序或者系統(tǒng)程序,其能夠在具有通用 數(shù)據(jù)處理能力的設(shè)備106上運(yùn)行。這種設(shè)備106通常包括充足的存 儲(chǔ)器(例如,隨機(jī)訪問(wèn)存儲(chǔ)器),以便載入選擇性地改變?cè)O(shè)備行為 的新程序。這種設(shè)備106—般地包括(或者至少能夠訪問(wèn))某些類(lèi) 型的永久數(shù)據(jù)存儲(chǔ)設(shè)備(例如,硬盤(pán)、閃存),其允許設(shè)備106在 電源周期之后保存已改變的和已添加的軟件。
盡管在此描述的概念可以有益地應(yīng)用于通用計(jì)算設(shè)備,但是本 發(fā)明無(wú)需限于這種設(shè)備。例如,設(shè)備106可以包括嵌入式設(shè)備107, 其是有限用途的數(shù)據(jù)處理布置,并且通常不能通過(guò)添加新程序來(lái)進(jìn) 行擴(kuò)展。然而,嵌入式設(shè)備107中包含的已有的專(zhuān)用程序可以通過(guò) 在此描述的端對(duì)端軟件分發(fā)服務(wù)來(lái)更新、修改或者替換。例如,嵌 入式設(shè)備107可以包括"智能"UPnP設(shè)備,其經(jīng)由網(wǎng)絡(luò)104來(lái)執(zhí)行 單個(gè)功能。這種設(shè)備107可以通過(guò)修改包含設(shè)備107操作指令的閃 存來(lái)進(jìn)行升級(jí)(例如,以增強(qiáng)特定的功能或者修正漏洞(bug))。 在這種布置中,設(shè)備107可以包括如下指令,其允許設(shè)備107在無(wú) 需用戶干預(yù)的情況下使用UPnP軟件分發(fā)服務(wù)來(lái)獲得和應(yīng)用閃存升 級(jí)。
在所示的框圖100中,其他可組網(wǎng)設(shè)備106包括游戲控制臺(tái)108、 移動(dòng)電話109、膝上型計(jì)算機(jī)IIO、個(gè)人數(shù)字助理112、便攜式音樂(lè) 播放器114、平板計(jì)算機(jī)116、個(gè)人計(jì)算機(jī)117、娛樂(lè)中心120或者 由通用數(shù)據(jù)處理設(shè)備118表示的任何其他設(shè)備。因?yàn)橹T如UPnP的協(xié) 議適用于多種消費(fèi)者電子設(shè)備,所以諸如娛樂(lè)中心120的消費(fèi)者電 子設(shè)備包括端對(duì)端網(wǎng)絡(luò)功能。在某些配置中,嵌入式設(shè)備107之類(lèi) 的消費(fèi)者電子設(shè)備12 0可以具有固定的功能,諸如只能夠呈現(xiàn)聲音 或者視頻。例如,這種能力可以包括在設(shè)備120的閃存程序中,并 且由此對(duì)于設(shè)備120的使用壽命而言相對(duì)固定。然而,在其他布置中,設(shè)備120可以包括通用計(jì)算機(jī)能力,諸如對(duì)隨機(jī)訪問(wèn)存儲(chǔ)器
(RAM)和/或永久存儲(chǔ)設(shè)備的訪問(wèn),并由此能夠添加新的程序來(lái)擴(kuò) 展設(shè)備的能力。在任一布置中,設(shè)備120可以適用于使用或者提供 在此描述的某些或者全部軟件分發(fā)服務(wù)。
優(yōu)選地,網(wǎng)絡(luò)104及其基礎(chǔ)協(xié)議被設(shè)計(jì)為通用的和靈活的,從
而能夠?qū)⒍喾N類(lèi)型的控制或者數(shù)據(jù)處理功能作為服務(wù)進(jìn)行抽象,并 將其提供給網(wǎng)絡(luò)104上的其他實(shí)體。在一個(gè)實(shí)施方式中,本地網(wǎng)絡(luò) 104可以支持用于ad hoc端對(duì)端服務(wù)發(fā)現(xiàn)和互操作性的一個(gè)或多個(gè) 協(xié)議。Ad hoc端對(duì)端協(xié)議的示例是在UPnP架構(gòu)中使用的那些協(xié)議。 UPnP將簡(jiǎn)單服務(wù)發(fā)現(xiàn)協(xié)議(SSDP)用于服務(wù)發(fā)現(xiàn),并且通常構(gòu)建 在基于因特網(wǎng)協(xié)議UP)的網(wǎng)絡(luò)之上。盡管本發(fā)明的概念可以按照 UPnP網(wǎng)絡(luò)來(lái)描述,但是熟悉可應(yīng)用領(lǐng)域的技術(shù)人員將會(huì)理解,這些 概念可以應(yīng)用于使用消費(fèi)者或者商業(yè)網(wǎng)絡(luò)的任何形式的ad ho c端對(duì) 端組網(wǎng)布置。例如,服務(wù)位置協(xié)議(SLP) 、 Zeroconf以及JiniTM是 提供與UPnP的功能相類(lèi)似功能的協(xié)議。
本地網(wǎng)絡(luò)104可以設(shè)計(jì)用于服務(wù)于有限的物理區(qū)域,如邊界102 所示。在這種本地網(wǎng)絡(luò)104 (例如,UPnP)中使用的協(xié)議經(jīng)常,支設(shè) 網(wǎng)絡(luò)104將只需要支持在合理的小范圍內(nèi)操作的有限數(shù)目的設(shè)備。 然而,本地網(wǎng)絡(luò)104上的^艮多設(shè)備可以受益于可以經(jīng)由外部網(wǎng)路(特 別是因特網(wǎng)126)獲得的信息服務(wù)。UPnP規(guī)范定義了公知為因特網(wǎng) 網(wǎng)關(guān)設(shè)備(IGD) 128的特殊服務(wù)/功能。IGD功能128可以由一個(gè)或 多個(gè)設(shè)備106提供,以用于代表本地UPnP網(wǎng)絡(luò)104的其他設(shè)備106 來(lái)提供路由和防火墻服務(wù)的目的。在某些布置中,專(zhuān)用網(wǎng)關(guān)設(shè)備可 以執(zhí)行UPnP網(wǎng)絡(luò)104上的IGD功能128,以及提供用于非UPnP設(shè) 備的傳統(tǒng)網(wǎng)關(guān)/路由器服務(wù)。
在本發(fā)明的一個(gè)實(shí)施方式中, 一個(gè)或多個(gè)用戶設(shè)備106具有專(zhuān) 用組件130,其使設(shè)備106能夠至少經(jīng)由本地網(wǎng)絡(luò)104來(lái)分發(fā)軟件程 序。該組件130可以可替換地指設(shè)備或者服務(wù)。在UPnP規(guī)范中,概 念"設(shè)備"是一種邏輯抽象,其未必具有與單個(gè)硬件片段的一對(duì)一
15對(duì)應(yīng)。軟件分發(fā)設(shè)備/服務(wù)130可以由一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備106主控, 并按照本地端對(duì)端網(wǎng)絡(luò)104的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)公告132。例如,UPnP 網(wǎng)絡(luò)上的設(shè)備經(jīng)由SSDP來(lái)進(jìn)行公告,SSDP使用XMLUDP單播和 多播分組來(lái)公告132服務(wù)。響應(yīng)于公告132,設(shè)備118可以發(fā)起進(jìn)一 步的協(xié)商(例如,查詢(xún)),以發(fā)現(xiàn)關(guān)于服務(wù)130的細(xì)節(jié)?!暝O(shè)設(shè)備 118希望并且能夠使用軟件分發(fā)服務(wù)130,則設(shè)備可以經(jīng)由服務(wù)130 來(lái)請(qǐng)求134軟件分發(fā)功能。
可以由設(shè)備請(qǐng)求134的一個(gè)軟件分發(fā)功能是下載136。在所示的 環(huán)境中,下載136可以包括將數(shù)據(jù)直接從服務(wù)130傳送到設(shè)備118。 在另一示例中,服務(wù)130可以促進(jìn)下載136,但是數(shù)據(jù)傳送138發(fā)生 自本地網(wǎng)絡(luò)104中的另一設(shè)備117。下載138所源自的設(shè)備117可以 或者可以不能使用服務(wù)130的格式和協(xié)議來(lái)進(jìn)行通信。例如,設(shè)備 117可以處于休眠模式,并且服務(wù)/設(shè)備130充當(dāng)處理查詢(xún)和其他事 物的代理,但是在使設(shè)備117醒來(lái)之后使下載138源自設(shè)備117。在 另一示例中,設(shè)備117可以使用"帶外(out-of-band )"機(jī)制來(lái)傳送 數(shù)據(jù)。在此使用的術(shù)語(yǔ)"帶外"通常是指使用并非adhoc端對(duì)端網(wǎng) 絡(luò)104的協(xié)議的一部分的一個(gè)或多個(gè)協(xié)議。例如,盡管文件傳輸協(xié) 議(FTP)和UPnP二者都可以在TCP/IP網(wǎng)絡(luò)之上工作,但是可以 認(rèn)為簡(jiǎn)單的主機(jī)對(duì)主機(jī)FTP文件傳送是帶外的,因?yàn)檫@種傳送本身 并不使用UPnP協(xié)議棧。反之,"帶內(nèi)"機(jī)制至少使用針對(duì)設(shè)備106 而定義的協(xié)議的最小集合,以經(jīng)由網(wǎng)絡(luò)104來(lái)加入adhoc端對(duì)端交 互。
在另一布置中,下載140可以源自諸如因特網(wǎng)126的外部網(wǎng)絡(luò), 并且可以通過(guò)一個(gè)或多個(gè)本地組件(包括軟件分發(fā)H良務(wù)130和IGD 128)來(lái)加以促進(jìn)。在下載源自網(wǎng)絡(luò)外部的情況下,提供下載140的 實(shí)體142可能并不作為本地網(wǎng)絡(luò)104上的邏輯設(shè)備而出現(xiàn)。在一個(gè) 布置中,諸如IGD 128的設(shè)備可以充當(dāng)用于軟件下載的代理,使得 看起來(lái)好像是IGD 128在提供下載,即使數(shù)據(jù)是源自外部實(shí)體142 的。外部實(shí)體142可以包括單個(gè)服務(wù)器或者多個(gè)分布式的主機(jī),以
16使用諸如BitTorrent和Gnutella的端對(duì)端技術(shù)來(lái)提供部分下載。本地 實(shí)體130、 117也可以參與類(lèi)似的分布式軟件分發(fā)。
下載僅僅是設(shè)備/服務(wù)130能夠促進(jìn)的軟件分發(fā)功能的一個(gè)示 例。其他功能示出為建立/配置/激活功能144。這些功能144可以包 括除了下載之外的任何動(dòng)作,其使得指令在特定的設(shè)備上正確地操 作。例如,配置可以包括向目標(biāo)設(shè)備添加或者修改文件或者其他數(shù) 據(jù)。該配置數(shù)據(jù)可以由安裝程序使用、由程序讀取和寫(xiě)入以維持狀 態(tài)、用來(lái)存儲(chǔ)日志數(shù)據(jù),等等。功能144還可以包括將文件或者其 他永久對(duì)象放置在文件系統(tǒng)層級(jí)中的正確位置、二進(jìn)制的補(bǔ)丁、受 保護(hù)的/加密的代碼的激活、使系統(tǒng)文件/注冊(cè)表改變、與已有軟件組 件通信等。服務(wù)130可以直接執(zhí)行功能144,或者可以促進(jìn)客戶端 118與另一實(shí)體之間的功能。 一個(gè)這樣示例是所示的激活146,其經(jīng) 由本地環(huán)境102外部的實(shí)體142來(lái)執(zhí)行。
將會(huì)理解,相對(duì)于分發(fā)軟件的傳統(tǒng)方式而言,所示的系統(tǒng)100 具有多個(gè)優(yōu)點(diǎn)。在典型的系統(tǒng)中,用戶必須首先了解特定的軟件, 找到針對(duì)特定計(jì)算平臺(tái)的軟件下載,并且安裝軟件。如果軟件包括 與其他人或者設(shè)備的交互(例如,在UPnP環(huán)境中),則用戶可能還 必須找出參與軟件活動(dòng)的設(shè)備、用戶或者團(tuán)體。然而,在按照本發(fā) 明實(shí)施方式的系統(tǒng)中,僅僅經(jīng)由adhoc網(wǎng)絡(luò)來(lái)執(zhí)行發(fā)現(xiàn)服務(wù),便可 以確定目標(biāo)活動(dòng)的存在以及希望參與該活動(dòng)的其他人和設(shè)備的存 在。在很多情況下,如果沒(méi)有附加的軟件,則用戶可能無(wú)法參與目 標(biāo)活動(dòng)。在這種情況下,可以在試用或者永久的基礎(chǔ)上自動(dòng)地將促 進(jìn)該活動(dòng)的軟件從其他位置下載到本地環(huán)境中或者其他任何位置。 這允許用戶更好地辨別其希望將哪個(gè)軟件安裝在其系統(tǒng)上。因此, 決策可以基于用戶經(jīng)常參與的、環(huán)境中的此類(lèi)活動(dòng)的實(shí)際使用,而 不是基于經(jīng)由諸如Web的公共論壇獲得的可能過(guò)期或者不準(zhǔn)確的數(shù) 據(jù)。
現(xiàn)在參考圖2,其給出了按照本發(fā)明實(shí)施方式可以如何促進(jìn)軟件 分發(fā)的更為詳細(xì)的示例。兩個(gè)移動(dòng)終端202、 204經(jīng)由adhoc端對(duì)端網(wǎng)絡(luò)206耦合。在此示例中,移動(dòng)終端202包括控制點(diǎn)/客戶端208, 而終端204包括分發(fā)服務(wù)器210,其可以配置用于將軟件分發(fā)到移動(dòng) 終端202、 204或者網(wǎng)絡(luò)206的其他設(shè)備。將會(huì)理解,盡管在此示例 中在相應(yīng)終端202、 204上僅使用了示出的組件208、 210,但是終端 202、 204 二者可以包含相應(yīng)的控制點(diǎn)/客戶端208和服務(wù)器組件210 的任意組合。在此情況下,終端204可以充當(dāng)UPnP設(shè)備,其向網(wǎng)絡(luò) 206上的其他UPnP設(shè)備提供其分發(fā)服務(wù)210。這樣,終端204可以 響應(yīng)于經(jīng)由網(wǎng)絡(luò)206接收到的查詢(xún)而提供可擴(kuò)展標(biāo)記語(yǔ)言(XML ) 設(shè)備描述212。
示例設(shè)備描述212包括描述設(shè)備本身(諸如,設(shè)備類(lèi)型214)的 變量。 一般地,UPnP設(shè)備還提供一個(gè)或多個(gè)服務(wù),并且所示的設(shè)備 描述212示出了兩個(gè)示例服務(wù)程序目錄服務(wù)216和下載管理器服 務(wù)218。程序目錄服務(wù)216促進(jìn)可以經(jīng)由服務(wù)器設(shè)備214獲得的程序 的查詢(xún)和列表。程序目錄服務(wù)216還能夠使用各種標(biāo)準(zhǔn)來(lái)提供程序 的列表??梢砸罂蛻舳?08提交的一個(gè)參數(shù)包括計(jì)算平臺(tái)。
如本領(lǐng)域內(nèi)已知的,"計(jì)算平臺(tái)"有時(shí)定義為設(shè)備使用的中央 處理單元(CPU)和操作系統(tǒng)(OS)的組合。例如,Intel x86兼容 的CPU可以運(yùn)行不同的0S,諸如Windows , Linux 、 OS X 、 Free BSD等。盡管本機(jī)運(yùn)行在x86 CPU上的所有程序?qū)⑹褂孟嗤?指令集,但是程序需要指令和數(shù)據(jù)的特定布置,以便與特定的OS 相兼容。在某些情況下,程序甚至可以依賴(lài)于OD的特定補(bǔ)丁級(jí)別, 并且將無(wú)法在不兼容的補(bǔ)丁級(jí)別上運(yùn)行。類(lèi)似地,LinuxOS已經(jīng)編 譯為在多種不同的CPU上運(yùn)行。然而,針對(duì)Linux x86編譯的程序 例如將必須重新編譯,方可在用于不同CPU的Linux上運(yùn)行。
已經(jīng)創(chuàng)建了多種適配來(lái)簡(jiǎn)化在不兼容平臺(tái)上使用軟件的問(wèn)題。 在某些布置中,仿真程序創(chuàng)建虛擬的處理器和OS,其允許程序即使 是在針對(duì)不同OS和CPU編譯的情況下也能運(yùn)行,雖然這具有顯著 的性能下降。其他適配(諸如Wine Project)允許針對(duì)特定CPU而 編譯的程序在相同CPU的不同操作系統(tǒng)上運(yùn)行。這些適配對(duì)其他操作系統(tǒng)的應(yīng)用程序接口 (API)進(jìn)行仿真,但是由于程序是針對(duì)相同
的CPU類(lèi)型編譯的,所以程序指令仍然可以在CPU上直接運(yùn)行而無(wú) 需任何轉(zhuǎn)譯。又一種適配包括分發(fā)根本不適用特定于CPU的指令的 程序。這些適配的一個(gè)形式是標(biāo)記語(yǔ)言,諸如Perl、 Python、 Basic 等,其使用在ASCII文本中編寫(xiě)的程序,并且在運(yùn)行時(shí)將該文本聯(lián) 機(jī)轉(zhuǎn)換為機(jī)器語(yǔ)言。諸如JavaTM或者M(jìn)icrosoft .NET的其他適配 使用二進(jìn)制程序,其設(shè)計(jì)為在與平臺(tái)無(wú)關(guān)的運(yùn)行時(shí)環(huán)境中運(yùn)行。與 運(yùn)行時(shí)環(huán)境兼容的程序可以編譯一次,并且在具有所安裝運(yùn)行時(shí)環(huán) 境的任何平臺(tái)上運(yùn)行。
將會(huì)理解,目錄服務(wù)216在處理目錄請(qǐng)求時(shí)可能必須將請(qǐng)求設(shè) 備的平臺(tái)納入考慮。即使是在程序是獨(dú)立于平臺(tái)時(shí)(例如,Java), 也可能存在需要考慮請(qǐng)求設(shè)備208的特定運(yùn)行時(shí)環(huán)境的版本不兼容 性。在分發(fā)軟件時(shí)目錄設(shè)備216需要考慮的其他問(wèn)題包括請(qǐng)求終 端202、 204的容量(例如,存儲(chǔ)器、處理器速度、圖形能力、所需 的用戶輸入設(shè)備)、許可問(wèn)題、軟件類(lèi)別、內(nèi)容限制(例如,家長(zhǎng) 控制、公司IT策略)、其他軟件版本(例如,UPnP版本)、OS補(bǔ) 丁級(jí)別等。響應(yīng)于這些標(biāo)準(zhǔn)的各種組合,目錄服務(wù)214可以提供滿 足標(biāo)準(zhǔn)的可用程序的列表。該列表可以是"平坦的,,,或者可以按 照層級(jí)來(lái)安排,諸如查詢(xún)結(jié)果屏幕220中看到的。
一旦客戶端208已經(jīng)選擇了將要獲得的程序(例如,經(jīng)由選擇 屏幕222 ),則軟件分發(fā)設(shè)備214將促進(jìn)將數(shù)據(jù)諸如經(jīng)由下載管理器 服務(wù)218傳送到客戶端202,從而允許安裝選定的程序。下載管理器 設(shè)備218可以配置用于促進(jìn)從終端204本身或者從第三方下載配置 和/或可執(zhí)行鏡像。例如,下載管理器218可以提供認(rèn)證,其允許其 他終端202訪問(wèn)Web下載站點(diǎn)并獲得可執(zhí)行文件。對(duì)于受限目的(例 如,僅利用終端204來(lái)執(zhí)行)或者對(duì)于終端202所有者的不受限使 用而言,這種下載的可執(zhí)行文件是有利的。
在下載的更為具體的示例中,服務(wù)終端204具有存儲(chǔ)在文件系 統(tǒng)中的所需安裝文件(例如,Java、 Symbian可執(zhí)行對(duì)象)。服務(wù)器210提供到安裝文件的鏈接(例如,統(tǒng)一資源標(biāo)識(shí)符或稱(chēng)URI),并 且接收客戶端208可以使用UPnP內(nèi)容目錄服務(wù)DCP來(lái)下載文件。 在另一示例中,服務(wù)終端204具有存儲(chǔ)在文件系統(tǒng)中的輕量級(jí)運(yùn)行 時(shí)(run-time )對(duì)象(Java或者web瀏覽器腳本)。服務(wù)器210提供 到運(yùn)行時(shí)文件的HTTP鏈接,并且接收客戶端208可以使用UPnP 內(nèi)容目錄服務(wù)DCP來(lái)下載他們。在另一示例中,服務(wù)器210向客戶 端208提供到安裝文件的因特網(wǎng)HTTPURI,并且設(shè)備202可以使用 適當(dāng)?shù)某绦騺?lái)下載這些安裝文件。
軟件分發(fā)服務(wù)器210通常至少允許諸如控制點(diǎn)組件208的其他 網(wǎng)絡(luò)實(shí)體查看和選擇可經(jīng)由終端204獲得的程序。控制點(diǎn)組件208 還能夠查看、查詢(xún)和使用由該軟件分發(fā)服務(wù)器或者其他軟件分發(fā)服 務(wù)器210提供的服務(wù)。響應(yīng)于嘗試使用服務(wù),控制點(diǎn)208 (或者客戶 端設(shè)備202的另一組件)可以自動(dòng)地調(diào)用分發(fā)服務(wù)210。例如,客戶 端終端202可以由正在機(jī)場(chǎng)進(jìn)行長(zhǎng)時(shí)間等待的旅行者所有。他/她拿 起移動(dòng)終端202(或者任何其他適當(dāng)?shù)脑O(shè)備)并且啟動(dòng)"游戲管理器,, 功能,該功能列出了經(jīng)由設(shè)備在adhoc端對(duì)端網(wǎng)絡(luò)上本地主控的組 網(wǎng)游戲。游戲管理器允許終端202的用戶例如通過(guò)用戶接口組件(例 如,游戲控制點(diǎn))來(lái)選擇游戲之一。
作為該游戲選擇功能的一部分,游戲管理器還可以發(fā)現(xiàn)進(jìn)行該 游戲需要客戶端軟件的特定片段。該客戶端游戲軟件的詳情可以作 為游戲管理器的服務(wù)發(fā)現(xiàn)協(xié)議的一部分來(lái)提供(例如,通過(guò)指定可 執(zhí)行名稱(chēng))。游戲管理器可以手動(dòng)地或者自動(dòng)地配置用于使用軟件 分發(fā)客戶端208來(lái)搜索程序分發(fā)服務(wù)器214的實(shí)例。當(dāng)找到這種設(shè) 備214時(shí),客戶端208可以提交針對(duì)游戲客戶端的特定查詢(xún),并且 進(jìn)行到下載和安裝所需軟件。
將會(huì)理解,在上文描述的示例情況中,軟件可以相當(dāng)廣泛和容 易地分發(fā)。然而,軟件經(jīng)常受制于版權(quán)和許可,其對(duì)分發(fā)設(shè)置了法 律限制。在其他情況中,軟件包含數(shù)字版權(quán)管理(DRM)特征,其 在某些情況下阻止軟件分發(fā)。由此,分發(fā)設(shè)備214可能需要有所不同地執(zhí)行特定的軟件分發(fā),這取決于與軟件相關(guān)聯(lián)的許可和/或
DRM。對(duì)于某些軟件分發(fā)情況,諸如開(kāi)源軟件,在開(kāi)源許可下,免
費(fèi)地分發(fā)程序的副本是可接受的使用。然而,軟件分發(fā)的多數(shù)所有 權(quán)模型要求至少某些最終用戶購(gòu)買(mǎi)軟件。如將在下文討論的,分發(fā)
設(shè)備214能夠強(qiáng)制關(guān)于非免費(fèi)軟件的分發(fā)的可接受限制。
參考上文的游戲示例,主機(jī)設(shè)備(例如,終端204)的游戲軟件 可以被許可,從而可以免費(fèi)地分發(fā)程序的特定受限版本。這種情況 類(lèi)似于通常用來(lái)促銷(xiāo)付費(fèi)軟件產(chǎn)品的共享軟件分發(fā)。程序的這種免 費(fèi)分發(fā)版本包含某些限制,其使得免費(fèi)版本的用途少于付費(fèi)版本。 無(wú)論如何,這些限制版本是有用的,因?yàn)槠湓试S人們?cè)谶M(jìn)行最終的 財(cái)務(wù)許諾以便購(gòu)買(mǎi)之前試用該軟件。關(guān)于諸如當(dāng)前情況的網(wǎng)絡(luò)游戲, 為了促進(jìn)網(wǎng)絡(luò)游戲并且能夠最終增加付費(fèi)用戶的基礎(chǔ),使用有限能 力的客戶端版本可能也是有用的。在這種情況下,軟件銷(xiāo)售商可能 希望允許任何人免費(fèi)地連接注冊(cè)用戶并與之進(jìn)行游戲,但是無(wú)法在 不付費(fèi)的情況下使用軟件。
可以這樣來(lái)分發(fā)所有權(quán)程序的受限、免費(fèi)版本即準(zhǔn)備或者修 改已許可程序的可執(zhí)行文件(例如通過(guò)覆寫(xiě)二進(jìn)制文件中的塊), 從而限制程序的執(zhí)行。這種限制可以?xún)H允許使用特定的時(shí)段,或者 預(yù)定次數(shù)的游戲。另 一修改可以包括限制受限版本的用戶可以與之 進(jìn)行游戲的人。例如,客戶端終端202和主才幾終端204的唯一數(shù)據(jù) 可以合并(例如,形成哈希值),并添加到可執(zhí)行文件或者其他文 件中。在進(jìn)行網(wǎng)絡(luò)游戲之前和/或期間可以檢查該值,使得網(wǎng)絡(luò)交互 僅發(fā)生在這兩個(gè)設(shè)備之間,并且在不付費(fèi)的情況下終端202將無(wú)法 連接至其他玩家(除非那些其他用戶也具有恰當(dāng)許可的版本)???以?xún)?nèi)置于所分布的可執(zhí)行文件的其他限制可以包括禁用單人模式、 限制進(jìn)行到某個(gè)游戲級(jí)別、使游戲在縮減模式中操作(例如,縮減 的網(wǎng)絡(luò)帶寬、縮減的圖形顯示等)、阻止游戲或者其他永久數(shù)據(jù)的 保存、在免費(fèi)產(chǎn)品中使用嵌入廣告等。將會(huì)理解,關(guān)于網(wǎng)絡(luò)游戲示 例描述的概念同樣適用于其他非游戲應(yīng)用。
21一般地,經(jīng)由分發(fā)設(shè)備214分發(fā)至客戶端終端202的軟件版本 被限制為特定使用,優(yōu)選地,如果用戶不想再次使用該程序,可以 允許客戶端終端202的用戶容易地釋放存儲(chǔ)器。例如,如果程序僅 在有限的時(shí)間內(nèi)是活躍的,則可以自動(dòng)地將其刪除(或者移動(dòng)到可 覆蓋的高速緩存),以釋放可用的存儲(chǔ)。軟件分發(fā)客戶端208可以 配置用于執(zhí)行這些清理動(dòng)作??蛻舳?08還可以輔助用戶來(lái)獲得不 受限的軟件版本,諸如通過(guò)與計(jì)費(fèi)實(shí)體和軟件激活實(shí)體的交互。
將版權(quán)管理實(shí)現(xiàn)到軟件分發(fā)服務(wù)中可以解決與某些類(lèi)型軟件的 非法分發(fā)有關(guān)的問(wèn)題。在實(shí)現(xiàn)分發(fā)服務(wù)時(shí)需要解決的另 一 問(wèn)題是安 全性。例如,某些類(lèi)型的軟件(經(jīng)常稱(chēng)為"惡意軟件")可能不經(jīng) 意地安裝在了用戶設(shè)備上。在某些情況下,惡意軟件可能出于不受 歡迎的或者惡意而消耗資源,故意地破壞數(shù)據(jù)和/或硬件,試圖訪問(wèn) 和泄漏私有數(shù)據(jù)等。為了阻止惡意或者不期望軟件的擴(kuò)散,基礎(chǔ)平 臺(tái)可以實(shí)現(xiàn)安全性測(cè)量,諸如僅允許安裝經(jīng)過(guò)數(shù)字簽名的和授權(quán)的 軟件。類(lèi)似的測(cè)量還可以在服務(wù)210和/或客戶端208中實(shí)現(xiàn)。例如, 任何軟件在客戶端機(jī)器202安裝其之前,必須由可信來(lái)源授權(quán)。在 其他情況中,控制點(diǎn)208的用戶接口可以在安裝任何軟件之前要求 用戶確i人。
設(shè)備描述212可以包括與安全性和版權(quán)管理二者相關(guān)的特定服 務(wù)。類(lèi)似地,客戶端/控制點(diǎn)208可以包括確保任何分發(fā)服務(wù)器210 將是可信的規(guī)定。例如,與服務(wù)器210之間的事務(wù)可以包括交換可 以獨(dú)立驗(yàn)證的認(rèn)證密鑰。也可以使用現(xiàn)有配置(例如,共享加密密 鑰、手動(dòng)授權(quán)),盡管與來(lái)自受信認(rèn)證源的自動(dòng)認(rèn)證相比,這種現(xiàn) 有配置通常較不用戶友好。
在此描述的系統(tǒng)可以使用本領(lǐng)域已知的組網(wǎng)技術(shù)的任意組合來(lái) 實(shí)現(xiàn)。特別地,UPnP框架對(duì)于經(jīng)由網(wǎng)絡(luò)實(shí)體來(lái)提供游戲活動(dòng)特別有 用?,F(xiàn)在參考圖3,框圖300示出了按照本發(fā)明實(shí)施方式的UPnP軟 件分發(fā)架構(gòu)的示例實(shí)現(xiàn)??驁D300包括兩個(gè)兼容的端設(shè)備302、 304, 其可以經(jīng)由UPnP網(wǎng)絡(luò)306來(lái)交互。設(shè)備302、 304通常表示分離的硬件組件,然而可以存在某些配置,其中設(shè)備302、 304是彼此以及 與網(wǎng)絡(luò)305的其他組件共享硬件的虛擬設(shè)備。
如圖所示,設(shè)備302、 304可以包含兼容的功能性組件308、 310、 312、 314、 338、 340、 342、 344,其允許每個(gè)設(shè)備302、 304促進(jìn)軟 件分發(fā)(例如,充當(dāng)服務(wù)器)以及發(fā)現(xiàn)/使用程序(例如,充當(dāng)客戶 端)。將會(huì)理解,設(shè)備302、 304不必每個(gè)都包括所有列出的功能以 形成可用的系統(tǒng)。例如,某些設(shè)備可以配置用于僅充當(dāng)客戶端,諸 如通過(guò)禁用分發(fā)服務(wù)器功能或者開(kāi)始就不安裝這些功能。類(lèi)似地, 功能性組件可以在多個(gè)物理設(shè)備之間分布,但是以繼承的方式操作, 就像是在一個(gè)設(shè)備上一樣。例如,端設(shè)備302可以包括充當(dāng)UPnP 控制點(diǎn)338的手持游戲控制器,并且該控制器經(jīng)由藍(lán)牙與充當(dāng)UPnP 客戶端240的蜂窩電話通信。
端設(shè)備304的功能性組件308、 310、 312、 314將在下文更為詳 細(xì)地描述。將會(huì)理解,設(shè)備302的類(lèi)似組件338、 340、 342、 344也 可以提供相同的功能。所示的設(shè)備304包括UPnP軟件分發(fā)控制點(diǎn) 318、 UPnP軟件分發(fā)客戶端310、以及UPnP軟件分發(fā)服務(wù)器312。 組件308、 310、 312中的每一個(gè)配置用于經(jīng)由UPnP協(xié)議來(lái)通信,并 因此將實(shí)現(xiàn)UPnP設(shè)備架構(gòu)(UDA)。而且,與這些組件310、 312、 314相關(guān)聯(lián)的是UPnP軟件分發(fā)設(shè)備控制協(xié)議(DCP),其定義組件 310、 312、 314之間的各種交互的動(dòng)作和狀態(tài)變量。
UPnP軟件分發(fā)控制點(diǎn)308可以提供與諸如UPnP音頻視頻(AV ) 控制點(diǎn)的其他UPnP控制點(diǎn)相類(lèi)似的功能。 一般地,控制點(diǎn)308包括 用戶接口和應(yīng)用邏輯,其中應(yīng)用邏輯允許用戶發(fā)現(xiàn)UPnP網(wǎng)絡(luò)306 上的其他軟件分發(fā)設(shè)備的服務(wù)。UPnP軟件分發(fā)控制點(diǎn)308還可以提 供用于與發(fā)現(xiàn)、選擇、購(gòu)買(mǎi)、下載、配置和運(yùn)行軟件相關(guān)聯(lián)的動(dòng)作 的其他控制功能??刂泣c(diǎn)308可以調(diào)用UPnP軟件分發(fā)DCP來(lái)執(zhí)行 這些動(dòng)作,以便得到期望的響應(yīng)。在某些應(yīng)用中,控制點(diǎn)308可以 僅提供最少的用戶接口功能,諸如報(bào)告關(guān)鍵錯(cuò)誤,或者按照安全性 策略設(shè)置的要求來(lái)要求軟件安裝的確認(rèn)。軟件分發(fā)客戶端設(shè)備310是提供UPnP接口以連接至軟件分發(fā)服 務(wù)器的UPnP設(shè)備??蛻舳嗽O(shè)備310可以響應(yīng)于控制點(diǎn)308、其他用 戶接口設(shè)備的操作來(lái)進(jìn)行操作,或者響應(yīng)于其他非用戶發(fā)起的事件 進(jìn)行操作。 一般地,客戶端設(shè)備310與軟件分發(fā)服務(wù)器312、 342交 互,以便至少發(fā)起程序的下載,并且還可以處理其他動(dòng)作,諸如支 持這些程序運(yùn)行所需的配置和激活。
UPnP軟件分發(fā)服務(wù)312充當(dāng)中央控制點(diǎn),用于訪問(wèn)可以經(jīng)由設(shè) 備304獲得的特定程序314。更具體地,服務(wù)器312是具有暴露可用 程序314的"軟件分發(fā)"服務(wù)的UPnP設(shè)備。服務(wù)器設(shè)備312還可以 處理動(dòng)作并維護(hù)與安裝程序314相關(guān)聯(lián)的狀態(tài)變量。服務(wù)器設(shè)備312 可以使用注冊(cè)表或者某些其他機(jī)制來(lái)跟蹤和分類(lèi)可通過(guò)端設(shè)備304 獲得的各種程序314。 一般地,那些程序可以包括UPnP程序317和 非UPnP程序319 二者。特別地,UPnP程序317的分發(fā)可以與UPnP 服務(wù)的發(fā)現(xiàn)集成,其中UPnP服務(wù)包括由設(shè)備304主控的UPnP服務(wù), 設(shè)備304還存儲(chǔ)支持其他設(shè)備使用服務(wù)的程序。
在一個(gè)配置中,軟件分發(fā)服務(wù)器312可以使用對(duì)UPnP內(nèi)容目錄 服務(wù)(CDS)的擴(kuò)展來(lái)實(shí)現(xiàn)。CDS是UPnP音頻視頻(AV)服務(wù)模 板,被標(biāo)識(shí)為 "urn:schemas畫(huà)upnp-org:service:ContentDirectory:l",
其中數(shù)字"r表示最新的版本。CDs是用于訪問(wèn)媒體存儲(chǔ)設(shè)備的服
務(wù)器側(cè)接口。 CDS提供諸如"瀏覽"和"搜索"的查找功能,其允
許設(shè)備發(fā)現(xiàn)存儲(chǔ)在媒體服務(wù)器上的個(gè)體數(shù)據(jù)對(duì)象并訪問(wèn)該內(nèi)容。當(dāng)
前CDS接口可以擴(kuò)展,以包括軟件對(duì)象存儲(chǔ)庫(kù)。備選地,軟件分發(fā) 服務(wù)器312可以使用在CDS之后建模的服務(wù)模板,但是包括對(duì)于軟 件分發(fā)唯一 的特征,包括解決版權(quán)管理和安全性問(wèn)題的特征。
如果將軟件分發(fā)服務(wù)器312配置為CDS或者類(lèi)似CDS的服務(wù), 則標(biāo)準(zhǔn)AV控制點(diǎn)組件可以用于(或者適于)來(lái)查看和選擇可以通 過(guò)系統(tǒng)300獲得的軟件。AV控制點(diǎn)與適于同系統(tǒng)300結(jié)合使用的控 制點(diǎn)之間的 一點(diǎn)不同在于標(biāo)準(zhǔn)AV控制點(diǎn)從媒體存儲(chǔ)設(shè)備向用戶 可感知的AV媒體呈現(xiàn)器設(shè)備發(fā)送數(shù)據(jù)。由系統(tǒng)300分發(fā)的軟件并不一定"呈現(xiàn),,給用戶,而是通常安裝在計(jì)算機(jī)上。然而,諸如客
戶端310、 340的組件可以適于類(lèi)似于UPnP々某體呈現(xiàn)器。在這種情 況下,軟件安裝組件可以經(jīng)由網(wǎng)絡(luò)306來(lái)傳送,其方式類(lèi)似于從媒 體存儲(chǔ)設(shè)備向呈現(xiàn)設(shè)備發(fā)送數(shù)字媒體,因此可以使軟件安裝組件與 某些或者全部現(xiàn)有UPnP AV框架相兼容。
組件308、 310、 312、 314、 338、 340、 342、 344可以進(jìn)行交互, 以用于諸如服務(wù)發(fā)現(xiàn)316、目錄編制318、查詢(xún)/搜索320以及程序的 發(fā)起322、下載324和配置326的目的。在某些情況中,已安裝程序 的運(yùn)行時(shí)數(shù)據(jù)可以在組件308、 310、 312、 314、 338、 340、 342、 344 之間傳送。例如, 一旦安裝并且成功運(yùn)行了程序,則其可以在運(yùn)行 時(shí)信號(hào)通知328成功,使得安裝中所涉及的程序可以終止,并且將 安裝記錄為成功。這種數(shù)據(jù)也可以由帶外機(jī)制329經(jīng)由網(wǎng)絡(luò)或者經(jīng) 由設(shè)備302、 304內(nèi)的進(jìn)程間通信來(lái)傳送。這種帶外機(jī)制可以包括使 用專(zhuān)用組網(wǎng)、備選網(wǎng)絡(luò)接入機(jī)制和介質(zhì)、流式傳輸數(shù)據(jù)、多播數(shù)據(jù)、 向遠(yuǎn)程數(shù)據(jù)庫(kù)寫(xiě)入等。
將會(huì)理解,下載功能324可以包括設(shè)備302、 304之間的直接下 載和/或使用設(shè)備302、 304作為代理的下載。然而,也可以使用帶外 上傳/下載機(jī)制330、 332,諸如用于訪問(wèn)來(lái)自數(shù)據(jù)庫(kù)334的程序和/ 或向數(shù)據(jù)庫(kù)334添加程序。另一示出的帶外上傳/下載機(jī)制包括分布 式上傳/下載356、 358,其通常允許同時(shí)從多個(gè)端設(shè)備360進(jìn)行下載。 諸如BitTorrent的技術(shù)分發(fā)如下文件,該文件包含關(guān)于待共享文件的 源數(shù)據(jù)以及關(guān)于協(xié)調(diào)文件分發(fā)的服務(wù)器(或稱(chēng)"追蹤器(tracker),,) 的源數(shù)據(jù),從而允許此類(lèi)分布式上傳/下載。追蹤器輔助下載設(shè)備發(fā) 現(xiàn)可以下載部分所請(qǐng)求數(shù)據(jù)的端360。將會(huì)理解,端360可以包括 UPnP網(wǎng)絡(luò)306之內(nèi)和之外的主機(jī)(包括因特網(wǎng)主機(jī))的任意組合。
在另一配置中,可以完全使用UPnP網(wǎng)絡(luò)協(xié)議來(lái)支持分布式上傳 /下載356、 358。在這種示例中,UPnP分布客戶端310、 340以及服 務(wù)器312、 342可以擴(kuò)展為充當(dāng)BitTorrent類(lèi)型的端,而不需要使用 追蹤器。這種UPnP分布將僅需要查詢(xún)本地UPnP網(wǎng)絡(luò)上的設(shè)備,以
25發(fā)現(xiàn)分布式下載設(shè)備/服務(wù),當(dāng)然,在這種情況下,可以通過(guò)使用諸
如UPnPIGD (參見(jiàn)圖1)的代理將軟件的可用性擴(kuò)展到網(wǎng)絡(luò)之外的實(shí)體。
現(xiàn)在參考圖4,序列圖示出了按照本發(fā)明實(shí)施方式的軟件分發(fā)服 務(wù)的示例使用。在圖4所示的情況中,用戶具有蜂窩電話400和車(chē) 庫(kù)開(kāi)門(mén)器401,其能夠經(jīng)由諸如UPnP的ad hoc端對(duì)端網(wǎng)絡(luò)進(jìn)行通信。 蜂窩電話包含控制點(diǎn)402和軟件分發(fā)客戶端設(shè)備404。假設(shè)所示情況 中的控制點(diǎn)402能夠處理任何類(lèi)型的UPnP服務(wù)之間的通信,盡管在 某些實(shí)施方式中,所示由控制點(diǎn)402執(zhí)行的動(dòng)作可能由不止一個(gè)物 理和/或邏輯控制點(diǎn)設(shè)備來(lái)處理。
開(kāi)門(mén)器401包括開(kāi)門(mén)器服務(wù)設(shè)備406,其允許對(duì)門(mén)硬件的控制。 開(kāi)門(mén)器設(shè)備406可以包括與門(mén)控制器相關(guān)聯(lián)的典型動(dòng)作,包括開(kāi)門(mén) 和關(guān)門(mén)、關(guān)燈和開(kāi)燈、鎖門(mén)和開(kāi)鎖等。其他較不典型的操作也可以 經(jīng)由設(shè)備406來(lái)執(zhí)行,諸如設(shè)置安全斷路靈敏度、標(biāo)定傳感器等。 開(kāi)門(mén)器設(shè)備406還可以能夠傳輸與硬件相關(guān)聯(lián)的數(shù)據(jù),諸如打開(kāi)/關(guān) 閉狀態(tài)、周期數(shù)目等。這些數(shù)據(jù)在通常的遠(yuǎn)程控制應(yīng)用外部可能是 有用的。例如,人可以具有靠近其床邊的UPnP警報(bào)鎖,其檢測(cè)門(mén)的 狀態(tài),并且經(jīng)由時(shí)鐘顯示器來(lái)指示門(mén)是打開(kāi)的,由此提示人員在其 上床之前門(mén)是打開(kāi)的。
在某些情況下,可以使用設(shè)備406所公告的控制命令的通???用軟件(例如,瀏覽器)可以利用開(kāi)門(mén)器設(shè)備406的能力。然而, 為了使用某些功能,控制點(diǎn)402可能需要特定軟件。例如,門(mén)401 可以使用動(dòng)態(tài)安全碼,其防止某些人無(wú)線地截取打開(kāi)/關(guān)閉命令并稍 后使用這些命令來(lái)開(kāi)門(mén)。因此,開(kāi)門(mén)器401 (或者網(wǎng)絡(luò)的某些其他實(shí) 體)可以包括軟件分發(fā)服務(wù)器設(shè)備408,其將軟件組件分發(fā)至授權(quán)設(shè) 備。授權(quán)設(shè)備可以使用這種組件來(lái)生成正確的碼。將會(huì)理解,分發(fā) 服務(wù)器408可以實(shí)現(xiàn)附加的安全性測(cè)量,以阻止對(duì)控制碼軟件的未 授權(quán)訪問(wèn),但是這種安全性測(cè)量在本討論的范圍以外。
軟件分發(fā)客戶端404和服務(wù)器408可以包括關(guān)于圖3中所示的
26UPnP組件描述的功能。在任何時(shí)候,軟件分發(fā)客戶端404可以從一 個(gè)或多個(gè)軟件分發(fā)服務(wù)設(shè)備408接收服務(wù)發(fā)現(xiàn)消息410。類(lèi)似地,控 制點(diǎn)402可以從開(kāi)門(mén)器服務(wù)406接收服務(wù)發(fā)現(xiàn)消息412。響應(yīng)于服務(wù) 發(fā)現(xiàn)消息412,控制點(diǎn)402可以自動(dòng)地或者在用戶的提示下請(qǐng)求414 服務(wù)描述。作為響應(yīng),開(kāi)門(mén)器服務(wù)器406返回服務(wù)描述416,其包括 Java "midlet"的描述,其可由設(shè)備使用以便利用開(kāi)門(mén)器服務(wù)器406 的特征。
在控制點(diǎn)402已經(jīng)確定了開(kāi)門(mén)器服務(wù)406的能力之后,其可以 向軟件分發(fā)客戶端404發(fā)送請(qǐng)求418,要求安裝所需組件。作為響應(yīng), 軟件分發(fā)客戶端404從軟件分發(fā)服務(wù)器獲得服務(wù)描述420、 422,并 且經(jīng)由查詢(xún)424、 426來(lái)確定服務(wù)器408具有可用組件。軟件分發(fā)客 戶端404繼而下載427、 428適當(dāng)?shù)目蓤?zhí)行文件以及配置430,配置 430可能是將要在其中安裝midlet428的特定設(shè)備400所需的。軟件 分發(fā)客戶端404解析432配置430 (或者使用它,例如使用腳本語(yǔ)言 來(lái)執(zhí)行它),并且安裝midlet434。 midlet無(wú)需安裝434在如圖所示 的控制點(diǎn)402中,而是可以經(jīng)由OS等安裝在其他程序中。
不論使用什么方法來(lái)安裝軟件434,安裝成功或者失敗都可以在 消息436中傳送給軟件分發(fā)客戶端404。此后,控制點(diǎn)402 (或者其 他軟件,包括下載的組件428本身)可以用來(lái)發(fā)送控制消息438。由 于安裝的組件434,所以安全碼是正確的,并且開(kāi)門(mén)器服務(wù)器設(shè)備 406可以打開(kāi)440門(mén),并且將狀態(tài)442信號(hào)通知給控制點(diǎn)402。
圖4中所示的示例情況僅僅是可能如何使用端對(duì)端軟件分發(fā)服 務(wù)的一個(gè)說(shuō)明。除了圖示之外或者作為替代,可以使用其他的消息 和序列。而且,軟件分發(fā)無(wú)需限于控制點(diǎn)設(shè)備。組件402、 404、 406、 408中的任何組件可能夠利用通用軟件分發(fā)服務(wù)。例如,開(kāi)門(mén)器401 的制造商可以提供更新,其包括可用服務(wù)器406使用的較強(qiáng)加密。 IGD或者其他本地連接的設(shè)備可以充當(dāng)代理來(lái)訪問(wèn)制造商的服務(wù) 器,并且通知網(wǎng)絡(luò)更新何時(shí)變?yōu)榭捎谩8驴梢越?jīng)由IGD應(yīng)用于月良 務(wù)器設(shè)備406,或者應(yīng)用于分發(fā)服務(wù)器設(shè)備408,其繼而自動(dòng)地更新可以使用這些更新的其他組件402、 404、 406。即使是軟件分發(fā)組件 404、 408,也可以能夠通過(guò)訪問(wèn)其他分發(fā)組件來(lái)自己進(jìn)4亍更新。
多種類(lèi)型的裝置能夠參與在此描述的軟件分發(fā)活動(dòng)。移動(dòng)設(shè)備 通常在此角色中特別有用,因?yàn)槠涫潜銛y式的用戶接口設(shè)備,并且 因此可以被調(diào)用以控制多種組網(wǎng)組件?,F(xiàn)在參考圖5,示出了能夠執(zhí) 行按照本發(fā)明實(shí)施方式的操作的代表性移動(dòng)計(jì)算布置500。本領(lǐng)域的 技術(shù)人員將會(huì)理解,示例性移動(dòng)計(jì)算布置500僅僅是可以與這種移 動(dòng)設(shè)備相關(guān)聯(lián)的 一 般性功能的表示,并且陸線計(jì)算系統(tǒng)類(lèi)似地包括 執(zhí)行這些操作的計(jì)算電路。
處理單元502控制布置500的基本功能。相關(guān)聯(lián)的那些功能可 以包括為存儲(chǔ)在程序存儲(chǔ)設(shè)備/存儲(chǔ)器504中的指令。在本發(fā)明的一 個(gè)實(shí)施方式中,與存儲(chǔ)設(shè)備/存儲(chǔ)器504相關(guān)聯(lián)的程序模塊存儲(chǔ)在非 易失性電可擦除可編程只讀存儲(chǔ)器(EEPROM)、閃速只讀存儲(chǔ)器 (ROM)、硬盤(pán)等之中,使得在移動(dòng)終端關(guān)機(jī)時(shí)不會(huì)丟失信息。用 于執(zhí)行傳統(tǒng)移動(dòng)終端操作和按照本發(fā)明的操作的相關(guān)軟件還可以經(jīng) 由數(shù)據(jù)信號(hào)傳輸至移動(dòng)計(jì)算布置500,例如經(jīng)由諸如因特網(wǎng)和中間無(wú) 線網(wǎng)的一個(gè)或多個(gè)網(wǎng)絡(luò)電子地下載。
移動(dòng)計(jì)算布置500可以包括耦合至處理/控制單元502的硬件和 軟件組件,以用于執(zhí)行網(wǎng)絡(luò)數(shù)據(jù)交換。移動(dòng)計(jì)算布置500可以包括 多個(gè)網(wǎng)絡(luò)接口,以用于維護(hù)有線或者無(wú)線數(shù)據(jù)連接的任何組合。特 別地,所示的移動(dòng)計(jì)算布置500包括用于執(zhí)行網(wǎng)絡(luò)數(shù)據(jù)交換的無(wú)線 數(shù)據(jù)傳輸電路。
該無(wú)線電路包括用于執(zhí)行各項(xiàng)功能的數(shù)字信號(hào)處理器(DSP ) 506,這些功能包括模數(shù)(A/D)轉(zhuǎn)換、數(shù)模(D/A)轉(zhuǎn)換、語(yǔ)音 編碼/解碼、加密/解密、誤差檢測(cè)和修正、比特流轉(zhuǎn)換、濾波等。通 常耦合至天線510的收發(fā)機(jī)508發(fā)射與無(wú)線設(shè)備關(guān)聯(lián)的傳出無(wú)線電 信號(hào)512并接收與無(wú)線設(shè)備關(guān)聯(lián)的傳入無(wú)線電信號(hào)514。這些組件可 以使布置500能夠加入一個(gè)或多個(gè)網(wǎng)絡(luò)515,包括移動(dòng)服務(wù)提供商網(wǎng) 絡(luò)、本地網(wǎng)絡(luò)以及諸如因特網(wǎng)的公共網(wǎng)絡(luò)。移動(dòng)計(jì)算布置500還可以包括耦合至處理/控制單元502的備選 網(wǎng)絡(luò)/數(shù)據(jù)接口 516。備選網(wǎng)絡(luò)/數(shù)據(jù)接口 516可以包括使用任何方式 的數(shù)據(jù)傳輸介質(zhì)(包括有線介質(zhì)和無(wú)線介質(zhì))在次級(jí)網(wǎng)絡(luò)上通信的 能力。備選網(wǎng)絡(luò)/數(shù)據(jù)接口 516的示例包括USB、藍(lán)牙、以太網(wǎng)、802.11 Wi-Fi、 IRDA等。在所示的示例中,備選網(wǎng)絡(luò)接口耦合至本地ad hoc 端對(duì)端網(wǎng)絡(luò)517。這些備選接口 516還能夠經(jīng)由網(wǎng)絡(luò)515來(lái)通信。
處理器502還耦合至與移動(dòng)終端相關(guān)聯(lián)的用戶接口元件518。移 動(dòng)終端的用戶接口 518例如可以包括諸如液晶顯示器的顯示器520 以及照相機(jī)522。接口 518中可以包括其他用戶接口機(jī)制,諸如小鍵 盤(pán)、揚(yáng)聲器、麥克風(fēng)、語(yǔ)音命令、開(kāi)關(guān)、觸摸板/屏幕、使用指點(diǎn)設(shè) 備的圖形用戶界面、軌跡球、操縱桿、振動(dòng)生成器等。如本領(lǐng)域已 知的,這些以及其他用戶接口組件耦合至處理器502。
程序存儲(chǔ)設(shè)備/存儲(chǔ)器504通常包括操作系統(tǒng),其用于執(zhí)行與移 動(dòng)計(jì)算布置500上的功能相關(guān)聯(lián)的功能和應(yīng)用。程序存儲(chǔ)設(shè)備504 可以包括以下一個(gè)或多個(gè)只讀存儲(chǔ)器(ROM)、閃速ROM、可編 程和/或可擦除ROM、隨機(jī)訪問(wèn)存儲(chǔ)器(RAM )、訂戶接口模塊(SIM )、 無(wú)線接口模塊(WIM)、智能卡、硬盤(pán)驅(qū)動(dòng)或者其他可移動(dòng)存儲(chǔ)設(shè) 備。移動(dòng)計(jì)算布置500的存儲(chǔ)設(shè)備/存儲(chǔ)器504還可以包括用于執(zhí)行 按照本發(fā)明實(shí)施方式的功能的軟件模塊。
特別地,程序存儲(chǔ)設(shè)備/存儲(chǔ)器504包括UPnP棧530,其提供用 于與端對(duì)端網(wǎng)絡(luò)517的設(shè)備進(jìn)行通行的基線UDA功能。該棧530可 以實(shí)現(xiàn)為公共的庫(kù)和/或單獨(dú)的進(jìn)程。備選地,系統(tǒng)500上的某些或 者全部UPnP應(yīng)用可以實(shí)現(xiàn)其自己的UPnP棧。這些UPnP應(yīng)用可以 包括軟件分發(fā)服務(wù)器設(shè)備532、軟件分發(fā)客戶端設(shè)備534、軟件分發(fā) 控制點(diǎn)536以及UPnP感知的程序538。本質(zhì)上不是UPnP感知的其 他程序540也可以能夠通過(guò)插件API 542的方式來(lái)使用UPnP功能。 一般地,開(kāi)發(fā)者經(jīng)常包括插件API 542,以此作為第三方擴(kuò)展基礎(chǔ)程 序540功能的方式。插件可以使用該API 542來(lái)包括UPnP功能,該 功能允許程序540與其他UPnP軟件分發(fā)模塊532、 534、 536、 538
29的功能進(jìn)行集成,以用于諸如軟件更新和添加新軟件的目的。
游戲服務(wù)器和客戶端532、 534可能需要訪問(wèn)永久或者非永久數(shù) 據(jù)存儲(chǔ)設(shè)備,以便高速緩存和/或存儲(chǔ)程序、配置和狀態(tài)數(shù)據(jù)。這種 存儲(chǔ)需求的一個(gè)示例;波示為訂制數(shù)據(jù)庫(kù)546和軟件數(shù)據(jù)庫(kù)548。訂制 數(shù)據(jù)庫(kù)546可以包括與端設(shè)備請(qǐng)求的再次進(jìn)行更新有關(guān)的永久數(shù)據(jù)。 這些訂制可以響應(yīng)于服務(wù)器設(shè)備532所服務(wù)的先前安裝而自動(dòng)添加 到數(shù)據(jù)庫(kù)546,或者基于來(lái)自經(jīng)由服務(wù)器設(shè)備532的描述而發(fā)現(xiàn)了該 訂制能力的設(shè)備的軟件更新服務(wù)器服務(wù)而添加到數(shù)據(jù)庫(kù)546。 一般 地,服務(wù)器設(shè)備532 (或者某些其他組件)可以定期地查詢(xún)已知的更 新源,并且向任何訂制端設(shè)備推送更新。
程序數(shù)據(jù)庫(kù)548可以包含分發(fā)軟件所需的文件,包括可執(zhí)行鏡 像、配置文件/腳本以及隨程序一起分發(fā)的其他元數(shù)據(jù)。在某些情況 下,程序數(shù)據(jù)庫(kù)548可以包含對(duì)這些數(shù)據(jù)的引用,從而無(wú)需本地存 儲(chǔ)數(shù)據(jù)。程序數(shù)據(jù)庫(kù)548可以使用訂制服務(wù)(例如,經(jīng)由訂制數(shù)據(jù) 庫(kù)546和服務(wù)器設(shè)備532 )來(lái)確保數(shù)據(jù)和/或?qū)?shù)據(jù)的引用保持為最 新。
在很多情況下,由UPnP分發(fā)功能所分發(fā)的設(shè)備500的軟件可以 包括本機(jī)UPnP接口,諸如由棧530表示。然而,提供或者使用端對(duì) 端網(wǎng)絡(luò)517功能的舊有程序(在此示為其他應(yīng)用550)可能仍然是有 用的,但是某些限制(例如,版權(quán)問(wèn)題、無(wú)法訪問(wèn)源碼)可能阻止 修改那些程序以使用UPnP,尤其是使用本地提供的(例如,經(jīng)由服 務(wù)器組件532 )或者經(jīng)由網(wǎng)絡(luò)517的其他設(shè)備提供的UPnP軟件更新 功能。仍舊可能修改此類(lèi)程序550,以通過(guò)助手程序或者某些其他裝 置來(lái)使用UPnP。例如,某些應(yīng)用550能夠經(jīng)由操作系統(tǒng)的進(jìn)程間通 信(IPC)工具來(lái)接收命令和配置。這些IPC機(jī)制可以包括系統(tǒng)消息 收發(fā)、套接字、管道、中間件(例如,CORBA、 JavaRMI)、共享 文件、命令行參數(shù)等。備選地,虛擬環(huán)境(在此由封包組件554表 示)可以建立在其中運(yùn)行應(yīng)用550的仿真環(huán)境。以此方式,可以截 取系統(tǒng)或者內(nèi)核調(diào)用,并且可以截取被指引向硬件(例如,網(wǎng)絡(luò)接口 516、 508 )和/或操作系統(tǒng)API的事件,并且對(duì)其進(jìn)行轉(zhuǎn)換以符合 UPnP協(xié)議。
提供圖5的移動(dòng)計(jì)算布置500以作為可以在其中應(yīng)用本發(fā)明原 理的計(jì)算環(huán)境的代表性示例。根據(jù)在此提供的描述,本領(lǐng)域技術(shù)人 員將會(huì)理解,本發(fā)明同樣適用于其他目前已知以及未來(lái)的移動(dòng)和陸 線計(jì)算環(huán)境。例如,桌面計(jì)算設(shè)備類(lèi)似地包括處理器、存儲(chǔ)器、用 戶接口以及數(shù)據(jù)通信電路。因此,本發(fā)明適用于經(jīng)由網(wǎng)絡(luò)傳送數(shù)據(jù) 的任何已知計(jì)算結(jié)構(gòu)。
現(xiàn)在參考圖6,流程圖示出了用于經(jīng)由adhoc端對(duì)端網(wǎng)絡(luò)來(lái)提供 軟件分發(fā)服務(wù)的過(guò)程600。第一設(shè)備配置602用于提供端對(duì)端軟件分 發(fā)服務(wù),其促進(jìn)對(duì)多個(gè)程序的訪問(wèn)。第一設(shè)備使用adhoc端對(duì)端網(wǎng) 絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)公告604端對(duì)端軟件分發(fā)服務(wù)。目標(biāo)設(shè)備選擇 606多個(gè)程序中能夠在目標(biāo)設(shè)備的處理器上操作的程序。經(jīng)由端對(duì)端 軟件分發(fā)服務(wù)來(lái)促進(jìn)608將所述程序下載到目標(biāo)設(shè)備??蛇x地,經(jīng) 由端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)610軟件在目標(biāo)設(shè)備上的配置,并且 經(jīng)由端對(duì)端軟件分發(fā)服務(wù)來(lái)可選地促進(jìn)612軟件在目標(biāo)設(shè)備上的激 活。
現(xiàn)在參考圖7,流程圖示出了用于經(jīng)由adhoc端對(duì)端網(wǎng)絡(luò)來(lái)訪問(wèn) 軟件分發(fā)服務(wù)的過(guò)程700。第一設(shè)備耦合702至adhoc端對(duì)端網(wǎng)絡(luò)。 設(shè)備使用ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)發(fā)現(xiàn)704通用端對(duì)端 軟件分發(fā)服務(wù)。端對(duì)端軟件分發(fā)服務(wù)由端設(shè)備提供,并且促進(jìn)對(duì)多 個(gè)程序的訪問(wèn)。第 一設(shè)備從端設(shè)備的多個(gè)特定程序中選擇706程序。 將該程序下載708到第一設(shè)備。通過(guò)端設(shè)備的軟件分發(fā)服務(wù)來(lái)促進(jìn) 該下載708。該程序可以從端設(shè)備直接下載708到第一設(shè)備,或者端 設(shè)備可以充當(dāng)外部網(wǎng)絡(luò)(例如,因特網(wǎng))的下載代理。在其他情況 下,下載708可以使用帶內(nèi)或者帶外連接而源發(fā)自端對(duì)端網(wǎng)絡(luò)的另 一實(shí)體。在這種情況下,端設(shè)備可以例如通過(guò)提供URI來(lái)促進(jìn)下載 708,該URI允許第一設(shè)備獨(dú)立地訪問(wèn)和下載708程序??蛇x地,經(jīng) 由端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)710軟件在第一設(shè)備上的配置,并且經(jīng)由端對(duì)端軟件分發(fā)服務(wù)來(lái)可選地促進(jìn)712軟件在第一設(shè)備上的激 活。在第一設(shè)備無(wú)法訪問(wèn)外部網(wǎng)絡(luò)的情況下,端設(shè)備除了代表第一 設(shè)備進(jìn)行下載之外,還可以提供對(duì)其他外部網(wǎng)絡(luò)服務(wù)的訪問(wèn)。這種
服務(wù)可以包括通過(guò)外部網(wǎng)絡(luò)進(jìn)行注冊(cè)、配置710、認(rèn)證、購(gòu)買(mǎi)以及激 活。即使是下載708位于本地網(wǎng)絡(luò)的設(shè)備之間的情況下,仍然可以 調(diào)用端設(shè)備,以代表第一設(shè)備來(lái)提供網(wǎng)絡(luò)代理服務(wù)(例如,注冊(cè)、 配置、認(rèn)證、激活)。
將會(huì)理解,可以實(shí)現(xiàn)對(duì)所示的adhoc端對(duì)端軟件分發(fā)服務(wù)的各 種備選方案。例如,當(dāng)注冊(cè)UPnP軟件提供/分發(fā)服務(wù)時(shí),服務(wù)可以 通知其他UPnP服務(wù)可以使用應(yīng)用分發(fā)服務(wù)。例如,當(dāng)利用軟件分發(fā) 服務(wù)注冊(cè)新游戲(或者其他程序)時(shí),通知游戲設(shè)備/服務(wù),從而使 游戲設(shè)備可以將游戲的安裝URI添加到游戲列表。該安裝URI可以 在隨后經(jīng)由游戲服務(wù)和/或與游戲服務(wù)結(jié)合工作的軟件分發(fā)服務(wù)而發(fā) 送的服務(wù)發(fā)現(xiàn)消息中使用。
為了示范和描述的目的,已經(jīng)給出了上文對(duì)本發(fā)明示例性實(shí)施 方式的描述。這并非意在窮盡或者將本發(fā)明限于已公開(kāi)的精確形式。 根據(jù)上文的教導(dǎo),多種修改和變形是可能的。本發(fā)明的范圍并非意 在限于這些詳細(xì)描述,而是應(yīng)有所附纟又利要求書(shū)來(lái)確定。
權(quán)利要求
1.一種方法,包括配置第一設(shè)備以提供端對(duì)端軟件分發(fā)服務(wù),所述端對(duì)端軟件分發(fā)服務(wù)促進(jìn)對(duì)多個(gè)程序的訪問(wèn);經(jīng)由所述第一設(shè)備,使用ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議,來(lái)公告所述端對(duì)端軟件分發(fā)服務(wù);響應(yīng)于公告所述端對(duì)端軟件分發(fā)服務(wù),在所述第一設(shè)備處,從所述ad hoc端對(duì)端網(wǎng)絡(luò)的目標(biāo)設(shè)備接收針對(duì)所述端對(duì)端軟件分發(fā)服務(wù)的描述的至少一個(gè)查詢(xún);響應(yīng)于所述至少一個(gè)查詢(xún),經(jīng)由所述端對(duì)端網(wǎng)絡(luò)分發(fā)服務(wù)來(lái)促進(jìn)將程序下載到所述目標(biāo)設(shè)備,其中所述程序選自所述多個(gè)程序,并且能夠在所述目標(biāo)設(shè)備的處理器上進(jìn)行操作。
2. 如權(quán)利要求1的方法,其中所述程序配置用于經(jīng)由所述adhoc 端對(duì)端網(wǎng)絡(luò)來(lái)進(jìn)行操作。
3. 如權(quán)利要求2的方法,其中響應(yīng)于所述目標(biāo)設(shè)備試圖訪問(wèn)所 述ad hoc端對(duì)端網(wǎng)絡(luò)的已公告服務(wù)來(lái)接收所述至少一個(gè)查詢(xún),其中 所述至少一個(gè)查詢(xún)包括所公告服務(wù)的描述,并且其中所述程序使所 述目標(biāo)設(shè)備能夠使用所公告服務(wù)。
4. 如權(quán)利要求l的方法,其中促進(jìn)將所述程序下載到所述目標(biāo) 設(shè)備包括將所述程序從所述第一設(shè)備下載到端設(shè)備。
5. 如權(quán)利要求1的方法,其中促進(jìn)將所述程序下載到所述目標(biāo) 設(shè)備包括促進(jìn)將所述程序從第二設(shè)備下載到所述目標(biāo)設(shè)備。
6. 如權(quán)利要求l的方法,其中將所述程序下載到所述目標(biāo)設(shè)備 包括使用與所述ad hoc端對(duì)端網(wǎng)絡(luò)的協(xié)議不同的一個(gè)或多個(gè)協(xié)議 來(lái)下載所述程序。
7. 如權(quán)利要求l的方法,還包括經(jīng)由所述adhoc端對(duì)端網(wǎng)絡(luò) 來(lái)促進(jìn)在所述目標(biāo)設(shè)備上激活所述程序。
8. 如權(quán)利要求7的方法,其中激活所述程序包括驗(yàn)證針對(duì)所述第 一設(shè)備和所述目標(biāo)設(shè)備中的至少 一個(gè)的所有者訪問(wèn)權(quán)限。
9. 如權(quán)利要求l的方法,其中所述adhoc端對(duì)端網(wǎng)絡(luò)包括通用即插即用網(wǎng)絡(luò)。
10. 如權(quán)利要求1的方法,其中所述至少一個(gè)查詢(xún)包括用于對(duì)響 應(yīng)于所述查詢(xún)而返回的結(jié)果進(jìn)行過(guò)濾的、所述目標(biāo)設(shè)備的計(jì)算機(jī)平 臺(tái)的描述。
11. 如權(quán)利要求1的方法,其中所述至少一個(gè)查詢(xún)包括用于對(duì)響 應(yīng)于所述查詢(xún)而返回的結(jié)果進(jìn)行過(guò)濾的軟件類(lèi)別。
12. —種方法,包括 將第一設(shè)備耦合至ad hoc端對(duì)端網(wǎng)絡(luò);經(jīng)由所述第 一設(shè)備,使用所述ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié) 議來(lái)發(fā)現(xiàn)端對(duì)端軟件分發(fā)服務(wù),其中所述端對(duì)端軟件分發(fā)服務(wù)由端 設(shè)備提供,并且其中所述端對(duì)端軟件分發(fā)服務(wù)促進(jìn)對(duì)多個(gè)程序的訪 問(wèn);響應(yīng)于發(fā)現(xiàn)所述端對(duì)端軟件分發(fā)服務(wù),從所述第一設(shè)備向所述 端設(shè)備發(fā)送針對(duì)所述端對(duì)端軟件分發(fā)服務(wù)的描述的至少 一 個(gè)查詢(xún);響應(yīng)于從所述端設(shè)備接收到所述端對(duì)端軟件分發(fā)服務(wù)的所述描 述,經(jīng)由所述第一設(shè)備來(lái)從所述多個(gè)程序中選擇程序;將所述程序下載到所述第一設(shè)備,其中通過(guò)所述端設(shè)備的所述軟件分發(fā)服務(wù)來(lái)促進(jìn)所述下載。
13. 如權(quán)利要求12的方法,其中所述程序配置用于經(jīng)由所述ad hoc端對(duì)端網(wǎng)絡(luò)來(lái)進(jìn)行操作。
14. 如權(quán)利要求13的方法,還包括由所述第一設(shè)備嘗試訪問(wèn) 所述adhoc端對(duì)端網(wǎng)絡(luò)的已公告服務(wù),并且其中將所述程序下載到 所述第 一設(shè)備是響應(yīng)于訪問(wèn)所公告服務(wù)的嘗試而發(fā)生的,并且其中 所述程序使所述第一設(shè)備能夠使用所公告服務(wù)。
15. 如權(quán)利要求14的方法,其中所述至少一個(gè)查詢(xún)包括所公告 服務(wù)的描述。
16. 如權(quán)利要求14的方法,還包括在所述第一設(shè)備處調(diào)用所述程序,以訪問(wèn)所公告服務(wù)。
17. 如權(quán)利要求12的方法,其中將所述程序下載到所述第一設(shè) 備包括從所述端設(shè)備下載所述程序。
18. 如權(quán)利要求12的方法,其中將所述程序下載到所述第一設(shè) 備包括從第三方計(jì)算布置下載所述程序。
19. 如權(quán)利要求12的方法,其中將程序下載到所述第一設(shè)備包 括使用與所述adhoc端對(duì)端網(wǎng)絡(luò)的協(xié)議不同的一個(gè)或多個(gè)協(xié)議來(lái) 下載所述程序。
20. 如權(quán)利要求12的方法,還包括經(jīng)由所述adhoc端對(duì)端網(wǎng)絡(luò) 在所述第一設(shè)備上激活所述程序。
21. 如權(quán)利要求20的方法,其中激活所述程序包括訪問(wèn)所述ad hoc端對(duì)端網(wǎng)絡(luò)的激活服務(wù)。
22. 如權(quán)利要求20的方法,其中激活所述程序包括訪問(wèn)所述 ad hoc端對(duì)端網(wǎng)絡(luò)的所述軟件分發(fā)服務(wù)。
23. 如權(quán)利要求20的方法,其中激活所述程序包括驗(yàn)證針對(duì) 所述第 一 設(shè)備和所述端設(shè)備中的至少 一 個(gè)的所有者訪問(wèn)權(quán)限。
24. 如權(quán)利要求12的方法,其中所述adhoc端對(duì)端網(wǎng)絡(luò)包括通 用即插即用網(wǎng)絡(luò)。
25. 如權(quán)利要求12的方法,其中所述至少一個(gè)查詢(xún)包括用于對(duì) 響應(yīng)于所述查詢(xún)而返回的結(jié)果進(jìn)行過(guò)濾的、所述第 一 設(shè)備的計(jì)算機(jī) 平臺(tái)的描述。
26. 如權(quán)利要求12的方法,其中所述至少一個(gè)查詢(xún)包括用于對(duì) 響應(yīng)于所述查詢(xún)而返回的結(jié)果進(jìn)行過(guò)濾的軟件類(lèi)別。
27. —種設(shè)備,包括網(wǎng)絡(luò)接口,其能夠經(jīng)由adhoc端對(duì)端網(wǎng)絡(luò)進(jìn)行通信; 耦合至所述網(wǎng)絡(luò)接口的處理器;以及耦合至所述處理器的存儲(chǔ)器存儲(chǔ)設(shè)備,所述存儲(chǔ)器存儲(chǔ)設(shè)備包 括指令,所述指令使所述處理器使用所述ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)發(fā)現(xiàn)端對(duì)端軟件分發(fā)服務(wù),其中所述端對(duì)端軟件分發(fā)服務(wù)由端設(shè)備提供,并且其中所述端對(duì)端軟件分發(fā)服務(wù)促進(jìn)對(duì)多個(gè)程序的訪問(wèn);響應(yīng)于發(fā)現(xiàn)所述端對(duì)端軟件分發(fā)服務(wù),向所述端設(shè)備發(fā)送針對(duì)所述端對(duì)端軟件分發(fā)服務(wù)的描述的至少一個(gè)查詢(xún);響應(yīng)于從所述端設(shè)備接收到所述端對(duì)端軟件分發(fā)服務(wù)的所述描述,從所述多個(gè)程序中選擇程序;以及將所述程序下載到所述設(shè)備,其中通過(guò)所述端設(shè)備的所述軟件分發(fā)服務(wù)來(lái)促進(jìn)所述下載。
28. 如權(quán)利要求27的設(shè)備,其中所述端對(duì)端軟件分發(fā)服務(wù)作為 通用即插即用設(shè)備來(lái)公告。
29. 如權(quán)利要求27的設(shè)備,其中所述指令還使所述處理器 提供本地提供的端對(duì)端軟件分發(fā)服務(wù),其促進(jìn)對(duì)第二多個(gè)程序的i方問(wèn);經(jīng)由所述服務(wù)發(fā)現(xiàn)協(xié)議,來(lái)公告所述本地提供的端對(duì)端軟件分 發(fā)服務(wù);以及經(jīng)由所述本地提供的端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)將第二程序下 載到目標(biāo)設(shè)備,其中所述第二程序選自所述第二多個(gè)程序,并且能 夠在所述目標(biāo)設(shè)備的處理器上進(jìn)行操作。
30. 如權(quán)利要求29的設(shè)備,其中所述本地提供的端對(duì)端軟件分 發(fā)服務(wù)作為通用即插即用設(shè)備來(lái)公告。
31. —種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其具有存儲(chǔ)在其上的指令,所述 指令可以由耦合至adhoc端對(duì)端網(wǎng)絡(luò)的設(shè)備來(lái)執(zhí)行,以便執(zhí)行步驟, 所述步驟包括使用所述ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)發(fā)現(xiàn)端對(duì)端軟件 分發(fā)服務(wù),其中所述端對(duì)端軟件分發(fā)服務(wù)由端設(shè)備提供,并且其中 所述端對(duì)端軟件分發(fā)服務(wù)促進(jìn)對(duì)多個(gè)程序的訪問(wèn);響應(yīng)于發(fā)現(xiàn)所述端對(duì)端軟件分發(fā)服務(wù),向所述端設(shè)備發(fā)送針對(duì) 所述端對(duì)端軟件分發(fā)服務(wù)的描述的至少一個(gè)查詢(xún);響應(yīng)于從所述端設(shè)備接收到所述端對(duì)端軟件分發(fā)服務(wù)的所述描述,從所述多個(gè)程序中選擇程序;以及將所述程序下載到所述設(shè)備,其中通過(guò)所述端設(shè)備的所述軟件 分發(fā)服務(wù)來(lái)促進(jìn)所述下載。
32. 如權(quán)利要求31的計(jì)算機(jī)可讀介質(zhì),其中所述步驟還包括 提供本地提供的端對(duì)端軟件分發(fā)服務(wù),其促進(jìn)對(duì)第二多個(gè)程序的i方問(wèn);經(jīng)由所述服務(wù)發(fā)現(xiàn)協(xié)議,來(lái)公告所述本地提供的端對(duì)端軟件分 發(fā)服務(wù);以及經(jīng)由所述本地提供的端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)將第二程序下 載到目標(biāo)設(shè)備,其中所述第二程序選自所述第二多個(gè)程序,并且能 夠在所述目標(biāo)設(shè)備的處理器上進(jìn)行操作。
33. —種系統(tǒng),包括用于經(jīng)由第 一端設(shè)備,通過(guò)ad hoc端對(duì)端網(wǎng)絡(luò)的服務(wù)發(fā)現(xiàn)協(xié)議 來(lái)提供端對(duì)端軟件分發(fā)服務(wù)的裝置,其中通用端對(duì)端軟件分發(fā)服務(wù) 促進(jìn)對(duì)多個(gè)程序的訪問(wèn);用于經(jīng)由網(wǎng)絡(luò)的第二端設(shè)備來(lái)發(fā)現(xiàn)所述端對(duì)端軟件分發(fā)服務(wù)的 裝置;以及用于經(jīng)由所述端對(duì)端軟件分發(fā)服務(wù)來(lái)促進(jìn)將程序下載到所述第 二端設(shè)備的裝置。
34. 如權(quán)利要求33的系統(tǒng),還包括用于經(jīng)由所述adhoc端對(duì) 端分發(fā)服務(wù)來(lái)激活所述程序的裝置。
全文摘要
提供一種經(jīng)由ad hoc端對(duì)端網(wǎng)絡(luò)的軟件分發(fā)服務(wù),包括配置第一設(shè)備(106)以提供端對(duì)端軟件分發(fā)服務(wù)(130),所述服務(wù)促進(jìn)對(duì)多個(gè)程序(314、334、344、360)的訪問(wèn)。經(jīng)由第一設(shè)備(106),使用ad hoc端對(duì)端網(wǎng)絡(luò)(104)的服務(wù)發(fā)現(xiàn)協(xié)議來(lái)公告所述端對(duì)端軟件分發(fā)服務(wù)(130)。響應(yīng)于公告所述端對(duì)端軟件分發(fā)服務(wù)(130),在第一設(shè)備(106)處從所述ad hoc端對(duì)端網(wǎng)絡(luò)的目標(biāo)設(shè)備(106)接收針對(duì)所述端對(duì)端軟件分發(fā)服務(wù)(130)的描述的至少一個(gè)查詢(xún)(134、320)。經(jīng)由所述端對(duì)端網(wǎng)絡(luò)分發(fā)服務(wù)(130)來(lái)促進(jìn)將程序下載(136、140)到所述目標(biāo)設(shè)備(106)。所述程序選自多個(gè)程序(314、334、344、360),并且能夠在所述目標(biāo)設(shè)備(106)的處理器上進(jìn)行操作。
文檔編號(hào)H04L29/08GK101584187SQ200780049981
公開(kāi)日2009年11月18日 申請(qǐng)日期2007年11月29日 優(yōu)先權(quán)日2006年12月5日
發(fā)明者A·薩阿里瑪基, K·卡阿雷拉, K·科伊斯蒂南, M·埃蘭德, M·普爾克基南, V·盧伊羅 申請(qǐng)人:諾基亞公司