專利名稱:帶有用于驗(yàn)證新部件的服務(wù)器的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到(1)包含計(jì)算機(jī)的系統(tǒng);(2)該系統(tǒng)的各部件;以及(3)操作該系統(tǒng)和其部件的方法。本發(fā)明具體涉及到驗(yàn)證部件,尤其是程序能否作為系統(tǒng)的一部分安全地操作。
背景技術(shù):
在一篇標(biāo)題為″管理系統(tǒng)和活動(dòng)內(nèi)容的完整性“的文章中提出系統(tǒng)完整性的問題,即,計(jì)算機(jī)系統(tǒng)的保護(hù),它的提出是針對由于把不能正常工作的軟件部件加入到計(jì)算機(jī)系統(tǒng)中而導(dǎo)致的誤用和系統(tǒng)的損害,該文章的作者是John.R.Michener和Tolga Acar,并在2000年7月發(fā)表于《計(jì)算機(jī)》的卷33第7頁108-110。該文章通過保證只有可信任來源的程序(該文章中的術(shù)語為‘模塊’)才允許在該計(jì)算機(jī)系統(tǒng)上執(zhí)行而提出了計(jì)算機(jī)系統(tǒng)的系統(tǒng)完整性。該可信任來源假定為一種保證,即這種程序?qū)⒉粫?huì)有意地企圖誤用或甚至損害系統(tǒng)的資源。此外,應(yīng)該避免執(zhí)行任何來源的老版本的程序以便避免已知的這樣的程序錯(cuò)誤,這類程序錯(cuò)誤已經(jīng)在較新版本中得到了修補(bǔ)。
在Michener等人的這篇文章中描述的是健壯的加載器和完整性服務(wù)器的使用。在程序能夠執(zhí)行之前,要把它們加載到系統(tǒng)中,健壯加載器則是必備的。在加載之前,健壯加載器從完整性服務(wù)器中獲取配置管理文件。該配置管理文件包含可加載的程序列表,它指定這些程序的得到認(rèn)可的版本號和這樣的信息,該信息允許檢查該程序是否已經(jīng)遭到破壞。僅當(dāng)該程序與配置管理文件中所指定的信息相對應(yīng)的情況下,該健壯加載器才會(huì)加載程序。
Michener等人所描述的這種技術(shù)做了這樣的假設(shè),即,該系統(tǒng)是一種相對封閉的系統(tǒng)在能夠把程序加載到計(jì)算機(jī)系統(tǒng)之前,完整性服務(wù)器必須要知道所有可以允許的程序。將不能接受非已知的程序并且僅接受最新版本或者是非常新近的一系列版本的程序。僅在收到了來自完整性服務(wù)器的配置管理文件之后才能執(zhí)行各程序。
這就是諸如家庭網(wǎng)絡(luò)的非常開放的系統(tǒng)的缺點(diǎn)。在該系統(tǒng)中,一般情況下,非熟練消費(fèi)者把來自各種生產(chǎn)商的包括以前是不熟悉的部件和生產(chǎn)商的裝置和軟件(它們一般是指系統(tǒng)的部件)整合起來。
在家庭網(wǎng)絡(luò)中,例如,像HAVI這樣的系統(tǒng)典型地包括像游戲這樣的軟件、像機(jī)頂盒、電視機(jī)、錄像機(jī)等這樣的通過通信網(wǎng)連接起來的裝置。第一裝置的運(yùn)行可能涉及在第二裝置上執(zhí)行程序,例如,從第二裝置來控制第一裝置的運(yùn)行,這樣就避免了在計(jì)算機(jī)或者第一裝置中的用戶接口設(shè)備上支出開銷。
一般來說,這樣的系統(tǒng)會(huì)是來自各種生產(chǎn)商的的新老部件的混合體。不同消費(fèi)者會(huì)用不同的配置,在該配置中,具有同樣的總體功能的部件,比如機(jī)頂盒,在不同的系統(tǒng)中就會(huì)表現(xiàn)出不同的能力,該部件在不同系統(tǒng)中表現(xiàn)出的能力要取決于該生產(chǎn)商和該部件的版本。
人們希望這樣的系統(tǒng)的完整性能盡可能得到保護(hù),而不需要消費(fèi)者每次增加一個(gè)新的部件時(shí)就要從單一的生產(chǎn)商那里升級他或她的整個(gè)系統(tǒng)。針對潛在的故障能給消費(fèi)者發(fā)出預(yù)告和/或避免它們,這對消費(fèi)者來說是一種有價(jià)值的服務(wù),并且這對于那些生產(chǎn)商也是有價(jià)值的,該生產(chǎn)商的產(chǎn)品能清楚地給出有關(guān)潛在故障的預(yù)告而不會(huì)只是因?yàn)橐恍o法確定的原因而突然崩潰,引起消費(fèi)者對無辜的生產(chǎn)商產(chǎn)生不滿。
然而,在Michener等人的文章中所描述的完整性保護(hù)是不太適合如此開放的消費(fèi)者系統(tǒng)的。第一,這種完整性保護(hù)假定通過簡單地識別有可能要加載到該系統(tǒng)中的一組程序,就能夠保證該系統(tǒng)的完整性。這沒有反映非常開放的系統(tǒng)情況,在該系統(tǒng)的一種配置中,如果使用來自計(jì)算機(jī)程序的生產(chǎn)商的裝置,那么該程序就可以極好地完成其功能,然而在另一種配置中該相同的程序卻不能工作。人們不可能假定該消費(fèi)者總會(huì)有所有部件的新近版本。
第二,Michener等人所提出的完整性保護(hù)沒有幫助消費(fèi)者來找到和解決完整性問題。實(shí)際上,在添加了新部件之后,那個(gè)部件就需要在以前存在的裝置中執(zhí)行新的計(jì)算機(jī)程序,這時(shí)該消費(fèi)者的以前存在的裝置可能會(huì)出現(xiàn)故障,而該問題事實(shí)上就是由于新部件引入的一個(gè)新計(jì)算機(jī)程序所造成的。顯而易見,對于以前存在的裝置的生產(chǎn)商來說并不想見到這種情況。盡管并不是他的錯(cuò),但是該生產(chǎn)商也將會(huì)失去消費(fèi)者對其的好印象。
第三,如果還沒有鑒定該新生產(chǎn)商是可信任的來源,那么Michener等人所提出的完整性保護(hù)會(huì)排斥來自該新生產(chǎn)商的可能會(huì)極好地完成其功能的軟件。
第四,Michener等人所提出的完整性保護(hù)需要健壯的加載器,它沒有給該消費(fèi)者添加可見的功能,卻可能會(huì)增加系統(tǒng)的成本。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是對于在計(jì)算機(jī)系統(tǒng)中執(zhí)行的計(jì)算機(jī)程序,提供一種更加靈活的的檢查其可接受性的方式。
本發(fā)明提供保護(hù)計(jì)算機(jī)系統(tǒng)的完整性的方法,該方法包括(1)把新系統(tǒng)部件加載到帶計(jì)算機(jī)的系統(tǒng)中;(2)響應(yīng)該加載,通過遠(yuǎn)程通信網(wǎng)絡(luò)向認(rèn)可服務(wù)器發(fā)送關(guān)于該系統(tǒng)部件的信息和該帶計(jì)算機(jī)的系統(tǒng)的配置;(3)用上述認(rèn)可服務(wù)器驗(yàn)證包括系統(tǒng)部件并根據(jù)關(guān)于配置信息配置了的帶計(jì)算機(jī)的系統(tǒng)是否滿足共用性的準(zhǔn)則;(4)通過遠(yuǎn)程通信網(wǎng)絡(luò)向該帶計(jì)算機(jī)的系統(tǒng)發(fā)送來自該認(rèn)可服務(wù)器的認(rèn)可信號;以及(5)根據(jù)該認(rèn)可信號,限定包括系統(tǒng)部件的帶計(jì)算機(jī)的系統(tǒng)的運(yùn)行。
按照本發(fā)明,該系統(tǒng)使用遠(yuǎn)程認(rèn)可服務(wù)器。當(dāng)向該系統(tǒng)引入新部件時(shí),該系統(tǒng)向認(rèn)可服務(wù)器發(fā)送一個(gè)消息,認(rèn)可服務(wù)器用認(rèn)可信號作為響應(yīng),認(rèn)可信號用信號通知當(dāng)把該部件整合到系統(tǒng)中的時(shí)候,是否會(huì)碰到問題。
該消息向認(rèn)可服務(wù)器通知關(guān)于新部件和該系統(tǒng)的配置信息,例如,關(guān)于這樣的裝置的類型和/或生產(chǎn)商,新計(jì)算機(jī)程序就要在該裝置上執(zhí)行。認(rèn)可服務(wù)器然后確定該新部件是否可以在標(biāo)識了的配置下運(yùn)行,即,該服務(wù)器將不僅僅而且要從根本上檢查加載了的新部件是否是最新版本。例如,認(rèn)可服務(wù)器可以檢查指定生產(chǎn)商的指定裝置是否能夠運(yùn)行新的計(jì)算機(jī)程序并且該裝置是否會(huì)遭到該計(jì)算機(jī)程序的破壞。這種檢查的結(jié)果對大體相似但又不完全相同的來自其它生產(chǎn)商的裝置可能會(huì)不同。實(shí)際上,它可能揭示的情況是該計(jì)算機(jī)程序的過期版本在系統(tǒng)中會(huì)運(yùn)行的非常好,或者,例如,因?yàn)槠渌南到y(tǒng)部件不適應(yīng)該最新的版本,所以運(yùn)行最新版本的計(jì)算機(jī)程序就會(huì)無法接受。
根據(jù)來自該認(rèn)可服務(wù)器的認(rèn)可信號,然后該系統(tǒng)就限定它的運(yùn)行。在第一種實(shí)施方案中,如果收到的認(rèn)可信號表明新部件是不可接受的,那么對其所作的限定就包括禁止該新部件。在另一種實(shí)施方案中,該系統(tǒng)僅僅給用戶發(fā)出預(yù)告“該部件會(huì)帶來非共用性的風(fēng)險(xiǎn)”。在又一種實(shí)施方案中,該認(rèn)可信號“標(biāo)識由該新部件執(zhí)行各功能中那些不能共同使用的功能,并且僅禁止那些已標(biāo)識了的功能或者發(fā)出有關(guān)它們的預(yù)告。限定并不需要是即時(shí)的在一種實(shí)施方案中,即使在收到認(rèn)可信號之前,系統(tǒng)都可以啟用加入和執(zhí)行新部件而只對那些在收到該認(rèn)可信號之后才能運(yùn)行者作出限定。尤其是有這樣的情況雖然會(huì)擔(dān)心該新部件的有些功能是非共用性的,但是在實(shí)際上卻沒有損壞。一般說來,期望的情況是該新部件的主要功能運(yùn)行正確,非共用性僅僅出現(xiàn)在不經(jīng)常執(zhí)行的(并且因此不那么作徹底測試的)功能。在期望的這種情況下,即用戶僅在稍后或者也可能在收到該認(rèn)可信號之后才激活非共用性的功能,就可以在收到該認(rèn)可信號之前開始操作(當(dāng)考慮的問題是減少系統(tǒng)的故障數(shù)而不是系統(tǒng)安全性的時(shí)候,這不是一個(gè)不可逾越的問題)。
本發(fā)明可以具體應(yīng)用到這樣的情況,在該情況下,把新裝置添加到像HAVi這樣的網(wǎng)絡(luò)系統(tǒng),然后向該系統(tǒng)中已存在的裝置上載控制程序以此來控制該新裝置。通常的情況下,因?yàn)檫@個(gè)控制程序是被動(dòng)上載的并且它本身是用來控制該新裝置的,所以會(huì)認(rèn)為這個(gè)控制程序是適合該新裝置的。然而,可能發(fā)生的是在該存在的裝置上,該控制程序不可運(yùn)行或者僅僅是部分地可運(yùn)行,例如,因?yàn)檫@種存在的裝置是一種舊類型的或者是來自非預(yù)期的生產(chǎn)商。在這種情況下,本發(fā)明在不會(huì)引起崩潰的情況下允許該系統(tǒng)禁止該新部件,或者禁止非共用性的這種功能。
認(rèn)可信號的形成可以參考配置和新部件的組合清單,但是為了避免出現(xiàn)非已知的組合,認(rèn)可服務(wù)器可以實(shí)際模擬在指定配置的下的部件的操作以此來識別非共用性問題。因?yàn)橐獔?zhí)行這種模擬的情況相對較少,所以它最好被提交到許多消費(fèi)者系統(tǒng)可以訪問的服務(wù)器中。如果某個(gè)生產(chǎn)商的裝置可以訪問服務(wù)器,那么該服務(wù)器就能夠添加這樣的有價(jià)值的顧客支持功能,該生產(chǎn)商的裝置在其每次碰到必須由其執(zhí)行的新的計(jì)算機(jī)程序時(shí)將會(huì)聯(lián)系(例如,通過因特網(wǎng))該有價(jià)值的顧客支持功能。另外一種方式是,這種服務(wù)器可以作為獨(dú)立業(yè)務(wù)的服務(wù)器來運(yùn)行,例如,定購者可以使用各種生產(chǎn)商的裝置訪問該獨(dú)立業(yè)務(wù)。
通過下面的圖形將更加詳細(xì)地描述本發(fā)明的系統(tǒng)、方法和裝置的這些和其它方面的優(yōu)勢。
圖1繪制的是帶計(jì)算機(jī)的系統(tǒng)。
圖2繪制的是該系統(tǒng)的操作流程。
具體實(shí)施例方式
圖1繪制的是具有第一裝置10的系統(tǒng),該系統(tǒng)包括(1)計(jì)算機(jī)11;(2)第二裝置12;(3)本地通信總線;(4)遠(yuǎn)程通信網(wǎng)絡(luò)16(優(yōu)選是因特網(wǎng));以及(5)服務(wù)器18。第一裝置10與第二裝置通過總線14互相連接。第一裝置通過遠(yuǎn)程通信網(wǎng)絡(luò)16連接到服務(wù)器18。盡管以舉例方式圖示了具有單總線14的系統(tǒng),但是應(yīng)當(dāng)理解的是本發(fā)明能夠應(yīng)用于通常意義下的通信網(wǎng)絡(luò)結(jié)構(gòu)。
在運(yùn)行過程中,第一裝置10使用計(jì)算機(jī)11來執(zhí)行像Java字節(jié)碼這樣的計(jì)算機(jī)程序。一個(gè)或多個(gè)這種程序可以是通過通信總線14控制第二裝置12的控制程序。例如,這種程序的執(zhí)行涉及到(1)在第一裝置10中生成和顯示用戶界面圖像;(2)用第一裝置10接收用戶命令;(3)把該命令翻譯成控制消息并把它們發(fā)送到第二裝置12。這個(gè)程序的執(zhí)行還可能涉及到(1)接收來自第二裝置12的消息;(2)處理這些消息并作為響應(yīng)而給用戶顯示信息;(2)控制該通信總線上的其它裝置(未畫出)和/或把控制消息返回給第二裝置12。
例如,第一裝置10是機(jī)頂盒,它包含具有大容量工作存儲(chǔ)器以及含有像MIPS這樣的處理器的強(qiáng)有力的計(jì)算機(jī)11。例如,第二裝置12是錄像機(jī)或者簡單的家用電器如咖啡機(jī),它不包含上述的強(qiáng)有力的計(jì)算機(jī)或上述的大容量存儲(chǔ)器或者用戶界面設(shè)備。第三裝置(未畫出)可以是連接到該通信總線14的顯示屏,它受控于該機(jī)頂盒并用于給用戶顯示用戶界面。第四裝置(未畫出)可以是向該第一裝置10發(fā)送用戶命令的遠(yuǎn)程控制單元。
第二裝置12的控制程序可以從第二裝置12上載到第一裝置10中。在這種情況下,因?yàn)椴恍枰褂脧?qiáng)有力的計(jì)算機(jī)或者用戶界面硬件,所以就可以使第二裝置12保持低成本。該控制程序是例如,Java字節(jié)碼。即使第一裝置的設(shè)計(jì)、生產(chǎn)、以及銷售并不了解第二裝置12,第一裝置10也能用于控制第二裝置。這樣就節(jié)省了第一裝置10上的營業(yè)間接成本并且即使在設(shè)計(jì)和生產(chǎn)該受控的第二裝置10之前就允許生產(chǎn)第一裝置。
可以把該控制程序劃分為不同的事件處理程序,例如,該事件處理程序用于處理接收到的來自該裝置的(人)用戶的不同命令。例如,該控制程序可能有一個(gè)用于處理″開始錄音″命令和“后退“命令等的事件處理程序。
圖2繪制的是上載中的該系統(tǒng)操作的流程圖。該流程圖繪制了控制流的四個(gè)線程(1)在第二裝置12中的控制20的第一線程;(2)在第一裝置10中的控制21、22的第二和第三線程;以及(3)在服務(wù)器18中的控制24的第四線程。
當(dāng)?shù)诙b置12連接到系統(tǒng)中時(shí)(例如,通過物理連接到總線14或通過接通它的電源),第一線程20就被激活。在第一線程20中,第二裝置12執(zhí)行第一步201藉此把來自第二裝置12的控制程序上載到第一裝置10(另一種方式是第二裝置12可以把對第一裝置10的引用發(fā)送到第一裝置能夠獲得該控制程序的地方,例如,包含該控制程序的文件的因特網(wǎng)ftp地址)。接著,第二裝置12開始第二步202,在該步驟中它等待通過總線14接收的命令消息。如果收到了這樣的消息,第二裝置執(zhí)行第三步203并重復(fù)第二步202來等待下一個(gè)命令。
由第一步201開始的上載觸發(fā)第一裝置10中的第二線程的執(zhí)行。第一裝置10執(zhí)行第四步211,打開到遠(yuǎn)程通信網(wǎng)絡(luò)16(例如,因特網(wǎng))的連接并向該服務(wù)器18發(fā)送有關(guān)它自己和該上載了的控制程序的信息。接著,在圖2所示的實(shí)施方案中,第一裝置10執(zhí)行第五步212,在該步中,它把控制交給上載了的程序。第一裝置指向的這次發(fā)送的地址已在第一裝置中進(jìn)行了預(yù)編程,例如該地址是第一裝置10的生產(chǎn)商所提供的因特網(wǎng)地址,另一種方式是第二裝置12可以指定具有該上載了的程序的網(wǎng)站,但是這么做就有這樣的缺點(diǎn)第一裝置就會(huì)失去對其是否能正確操作的控制。
第一裝置10給服務(wù)器18發(fā)送的信息觸發(fā)該服務(wù)器執(zhí)行第四線程24。第四線程24以第7步開始,在該步中,服務(wù)器18接收關(guān)于第一裝置和上載了的程序的信息。在第八步242中,該服務(wù)器18查看含有上載了的程序和裝置的組合項(xiàng)的列表,每一項(xiàng)包含有關(guān)該組合的可接受性的信息,最好是具體說明在該程序所用到的大量的功能。這個(gè)列表存儲(chǔ)在服務(wù)器18中的計(jì)算機(jī)可讀媒介(未畫出)上。如果來自第一裝置10的信息中所標(biāo)識的組合在所存儲(chǔ)的列表上,就執(zhí)行第九步,即,向第一裝置10發(fā)送認(rèn)可信號。該認(rèn)可信號包括有關(guān)第一裝置和上載了的程序的組合的可接受性的信息??蛇x地,這個(gè)信息具體描述了這樣的上載程序的各個(gè)部分,該上載了的程序執(zhí)行不同的用戶命令。在優(yōu)選方案中,該認(rèn)可信號表明至少這些不可接受的部分的起始執(zhí)行點(diǎn)。通過驗(yàn)證可上載軟件(的版本)和裝置(的版本)的各種組合和它們的配置,該列表可以自動(dòng)生成。但是,通過人工的干預(yù),這樣的列表也可以提前編輯和存儲(chǔ)。
如果在所存儲(chǔ)的列表中沒有該組合項(xiàng),服務(wù)器優(yōu)選地執(zhí)行第10步244,在該步中,根據(jù)已收到的來自第一裝置的信息,要為第一裝置10在它的配置下驗(yàn)證上載了的程序。驗(yàn)證可能涉及到,模擬執(zhí)行該上載了的程序的所有的可能的執(zhí)行分支,或者響應(yīng)像用戶命令這樣的所有可能的事件,這些事件觸發(fā)部分上載了的程序的執(zhí)行,以便檢測這些分支或事件是否會(huì)引起非法操作的執(zhí)行或?qū)е略撓到y(tǒng)的暫?;虮罎ⅰ@?,非法操作的指令包括這樣的指令,這些指令用于(1)覆蓋臨界系統(tǒng)數(shù)據(jù);(2)刪除與第二裝置12無關(guān)的文件;(3)調(diào)用第一裝置10不能提供的功能;以及(4)可能會(huì)損壞硬件的序列指令。計(jì)算機(jī)程序可接受性的準(zhǔn)則是它沒有包含上述的指令。
為此,第一裝置10有必要向服務(wù)器18傳達(dá)上載了的程序的指令,或者至少把引用指向該服務(wù)器能夠獲得這個(gè)程序的地方。
上載了的程序在被安排成能響應(yīng)諸如不同用戶命令的不同事件的情況下,可以分別對每種事件進(jìn)行模擬藉此來確定哪些事件能夠可接受地進(jìn)行處理而哪些事件不能。
代替程序的模擬,服務(wù)器18可以掃描上載程序以查明其是否含有可能發(fā)出非法或不可共同操作的命令的指令,并確定這些指令在不應(yīng)該執(zhí)行這些指令的條件下是否可以獲得,(例如,如果上載的程序包含功能調(diào)用指令,該功能是否可在第一裝置10中獲得以及這個(gè)功能調(diào)用的參數(shù)是否在那個(gè)裝置所允許的范圍,或者當(dāng)上載程序包含這樣的指令,該指令用于更改像連接到了總線的其它裝置的地址這樣的基本系統(tǒng)數(shù)據(jù),這種變更限制在上載設(shè)備為其而啟用的變更)。服務(wù)器18把掃描或者模擬的結(jié)果輸入到列表中并執(zhí)行第9步243。
從服務(wù)器18向第一裝置10傳送的認(rèn)可信號觸發(fā)第3線程22的執(zhí)行。執(zhí)行第3線程22時(shí),第一裝置接受在第11步221中的認(rèn)可信號。接著,在第12步222中,當(dāng)認(rèn)可信號表明上載程序在第一裝置中的執(zhí)行將不被認(rèn)可,那么第一裝置10就停止該上載了的程序或停止它的在認(rèn)可信號中標(biāo)識為不可接受的這種功能或事件處理程序。停止的執(zhí)行方法是例如把能拋出一個(gè)異常的指令插入到上載程序的那些點(diǎn),在那些點(diǎn)開始執(zhí)行在認(rèn)可信號中已被標(biāo)識為不可接受的一部分上載程序。
處理認(rèn)可信號之后,第三線程21繼續(xù)第6步212。在第6步212中,如果該認(rèn)可信號還沒有發(fā)出信號通知該上載程序是完全不可接受的,那么控制就交給上載程序。如果響應(yīng)用戶的命令,要激活該上載程序,第一裝置10就檢查那個(gè)用戶命令的執(zhí)行在認(rèn)可信號中是否已經(jīng)被標(biāo)識為不可接受。如果已經(jīng)標(biāo)識為不可接受,第一裝置就不執(zhí)行該用戶命令。在優(yōu)選方案中,第一裝置不是不執(zhí)行而是發(fā)出警告,該警告告訴用戶該上載的軟件因?yàn)椴豢山邮芏А?br>
在所示的實(shí)施方案中,當(dāng)?shù)谝谎b置10在第二線程21中執(zhí)行上載程序時(shí),即在第一裝置10收到來自服務(wù)器18的認(rèn)可信號之前,整個(gè)上載程序?qū)⒃跊]有限定的情況下被執(zhí)行。這種情況是有意為這樣的情況安排的,在這種情況下,不可接受性對于用戶來說只是不方便而已,例如,沒有響應(yīng)、系統(tǒng)掛起或者系統(tǒng)崩潰等這些用戶付出另外的活動(dòng)就可以克服的而不是至關(guān)重要的危險(xiǎn)問題。因此,一旦從服務(wù)器18收到認(rèn)可信號,用戶就會(huì)受到保護(hù)從而避免麻煩,但是到那時(shí)之前如果激活了不可接受的功能,就會(huì)出現(xiàn)麻煩。
在另外方案中,在第一裝置10收到認(rèn)可信號之前,它使上載的軟件失效。因此,針對不可接受的功能,用戶就會(huì)受到更加充分的保護(hù),但是其代價(jià)是要等待一段時(shí)間不能使用上載程序。
用于處理不可接受的上載程序或執(zhí)行這樣的程序中的線程有各種可選實(shí)施方案使上載了的程序的不可接受的部分失效(如上面所描述的);在執(zhí)行不可接受部分之前發(fā)出警告;使具有嚴(yán)重影響的不可接受部分失效并對具有較少嚴(yán)重影響的不可接受部分發(fā)出警告;把執(zhí)行不可接受部分替換為執(zhí)行由第一裝置10或者服務(wù)器18所提供的候選指令。
在另外實(shí)施方案中,在收到認(rèn)可信號時(shí),并不停止不可接受的功能,但是要添加警告信號藉此使用戶在收到涉及執(zhí)行不可接受的指令的警告時(shí)放棄命令的執(zhí)行。在另一種實(shí)施方案中,該警告信號和失效相結(jié)合。在這種實(shí)施方案中,服務(wù)器區(qū)別對待這兩部分,即應(yīng)該失效的上載了的程序部分和應(yīng)該給予警告的部分(例如,分別為會(huì)導(dǎo)致不可挽回?fù)p失的部分和僅導(dǎo)致麻煩的部分)。
通常,部分上載了的程序可以執(zhí)行存在候選方案的功能(例如,使用顯示方式代替打印方式輸出信息)。在這種情況下,如果在認(rèn)可信號中指明上載了的程序中的這種功能是不可接受的,那么該認(rèn)可信號也優(yōu)選地指明可接受的候選方案。如果這樣的話,第一裝置10將會(huì)把該不可接受的功能替換為它可接受的候選方案。
盡管已經(jīng)根據(jù)具體的實(shí)施方案對本發(fā)明進(jìn)行了闡述,但是應(yīng)該清楚的是本發(fā)明并不局限于這個(gè)實(shí)施方案。例如,第一裝置10和服務(wù)器18間的通信也可以使用別的連接到了遠(yuǎn)程通信網(wǎng)絡(luò)16的裝置(未畫出)。盡管對本系統(tǒng)的描述使用了總線系統(tǒng)和當(dāng)把第二裝置連接到該總線系統(tǒng)上時(shí)要上載的計(jì)算機(jī)程序,但是使用認(rèn)可服務(wù)器的原理也能夠用于其它的情況,例如,在不需要連接第二裝置12而要從一些諸如CD-ROM這樣的計(jì)算機(jī)可讀媒介或通過因特網(wǎng)把新程序(或這種程序的新版本)加載到第一裝置中的情況。然而,應(yīng)當(dāng)理解的是本發(fā)明的特別的優(yōu)勢在于連接了各種裝置的消費(fèi)者總線系統(tǒng),它的連接就能把一個(gè)程序或各程序加載到其它裝置。因?yàn)檫@種系統(tǒng)的一般配置用于把“這種連接涉及到上載程序”的情況對消費(fèi)者進(jìn)行屏蔽,而不用關(guān)心該消費(fèi)者是否清楚“上載了的各程序是否有必要得到認(rèn)可”(由自動(dòng)進(jìn)行上載來實(shí)現(xiàn)屏蔽,不管是通過使用物理連接還是接通電源的方式來連接裝置12,該裝置12就會(huì)觸發(fā)上載并且不需要用戶的指令就執(zhí)行上載)。
此外,這樣的消費(fèi)者網(wǎng)絡(luò)系統(tǒng)往往會(huì)包括由完全不同的生產(chǎn)商的非標(biāo)準(zhǔn)化程序執(zhí)行的非標(biāo)準(zhǔn)化功能的裝置,該消費(fèi)者網(wǎng)絡(luò)是諸如連接了像Tv、錄像機(jī)以及家用電器這樣的各種消費(fèi)設(shè)備的家庭總線系統(tǒng)。因此,這種程序的共用性一般都需要對執(zhí)行程序的配置(可用裝置的性質(zhì)、軟件的版本)進(jìn)行評估而不是僅僅檢查非常新近的版本號。
正如在該實(shí)施方案中所描述的,第一裝置向服務(wù)器18報(bào)告它的配置。如果服務(wù)器18是由第一裝置10的生產(chǎn)商(銷售商)提供,那么服務(wù)器18將僅僅給出特定生產(chǎn)商的第一裝置的信息,從而使有關(guān)第一裝置10類型的信息已隱含在這樣的地址中,第一裝置10使用該地址到達(dá)服務(wù)器18。
由裝置的生產(chǎn)商或銷售商所提供的這種服務(wù)器18能夠提供這樣的售后客戶服務(wù),該售后客戶服務(wù)相當(dāng)可觀地增加了該客戶的第一裝置的價(jià)值。另一種方案是所提供的該服務(wù)器可以作為不同生產(chǎn)商的裝置的常規(guī)業(yè)務(wù)(用于訂戶費(fèi)用或者單項(xiàng)收費(fèi))。
權(quán)利要求
1.一種保護(hù)計(jì)算機(jī)系統(tǒng)完整性的方法,該方法包括把新系統(tǒng)部件加載到帶計(jì)算機(jī)的系統(tǒng)中;響應(yīng)該加載,通過遠(yuǎn)程通信網(wǎng)絡(luò)向認(rèn)可服務(wù)器發(fā)送關(guān)于該系統(tǒng)部件的信息和該帶計(jì)算機(jī)的系統(tǒng)的配置;用上述認(rèn)可服務(wù)器驗(yàn)證包含系統(tǒng)部件以及根據(jù)關(guān)于配置信息配置了的帶計(jì)算機(jī)的系統(tǒng)是否滿足共用性的準(zhǔn)則;通過遠(yuǎn)程通信網(wǎng)絡(luò)向該帶計(jì)算機(jī)的系統(tǒng)發(fā)送來自該認(rèn)可服務(wù)器的認(rèn)可信號;以及根據(jù)該認(rèn)可信號限定包含系統(tǒng)部件的帶計(jì)算機(jī)的系統(tǒng)的運(yùn)行。
2.一種根據(jù)權(quán)利要求1的方法,它包括當(dāng)可控裝置通過本地通信網(wǎng)絡(luò)連接到帶計(jì)算機(jī)的系統(tǒng)時(shí),發(fā)送用于確定這樣的計(jì)算機(jī)程序的信息,該計(jì)算機(jī)程序用于從帶計(jì)算機(jī)的系統(tǒng)的可控裝置來控制該可控裝置;所述的系統(tǒng)部件是計(jì)算機(jī)程序,根據(jù)共用性準(zhǔn)則,認(rèn)可服務(wù)器被指示去驗(yàn)證該計(jì)算機(jī)程序在該配置下是否應(yīng)該執(zhí)行;以及根據(jù)該認(rèn)可信號,帶計(jì)算機(jī)的系統(tǒng)對該計(jì)算機(jī)程序進(jìn)行限定,從而控制可控裝置的運(yùn)行。
3.一種帶計(jì)算機(jī)的系統(tǒng),該系統(tǒng)包括用于把新系統(tǒng)部件加載到該系統(tǒng)的裝置;認(rèn)可服務(wù)器;遠(yuǎn)程通信網(wǎng)絡(luò);通過遠(yuǎn)程通信網(wǎng)絡(luò)與該認(rèn)可服務(wù)器連接的裝置,響應(yīng)上述加載,該裝置被配置成通過遠(yuǎn)程通信網(wǎng)絡(luò)向該認(rèn)可服務(wù)器發(fā)送有關(guān)該系統(tǒng)部件以及該帶計(jì)算機(jī)的系統(tǒng)的配置的信息;該認(rèn)可服務(wù)器被配置成驗(yàn)證包含系統(tǒng)部件以及根據(jù)關(guān)于配置信息配置了的計(jì)算機(jī)系統(tǒng)是否滿足共用性的準(zhǔn)則,并且通過遠(yuǎn)程通信網(wǎng)絡(luò)向該計(jì)算機(jī)系統(tǒng)發(fā)送認(rèn)可信號;根據(jù)該認(rèn)可信號,該裝置被配置成去限定包含系統(tǒng)部件的帶計(jì)算機(jī)的系統(tǒng)的運(yùn)行。
4.一種用于帶計(jì)算機(jī)的系統(tǒng)中的裝置,它包括計(jì)算機(jī);輸入端,它接收由該計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)程序;與遠(yuǎn)程認(rèn)可服務(wù)器通信的通信接口,該裝置被配置為向該認(rèn)可服務(wù)器發(fā)送有關(guān)該計(jì)算機(jī)程序和裝置的配置信息,以及接受從認(rèn)可服務(wù)器對該信息所做的答復(fù),該裝置被配置成根據(jù)該認(rèn)可信號去限定計(jì)算機(jī)所執(zhí)行的計(jì)算機(jī)程序。
5.一種根據(jù)權(quán)利要求4的裝置,它包括連接到可控裝置的連接,該連接包括接受該計(jì)算機(jī)程序的輸入端,該計(jì)算機(jī)程序是一種通過連接去控制可控裝置的程序,該裝置根據(jù)認(rèn)可信號限定該可控裝置的控制。
6.一種根據(jù)權(quán)利要求4的裝置,關(guān)于配置的信息識別裝置的類型,上述準(zhǔn)則包含所述關(guān)于配置的信息所識別的裝置的兼容性的子準(zhǔn)則,以及計(jì)算機(jī)程序。
7.一種根據(jù)權(quán)利要求4的裝置,該計(jì)算機(jī)程序被配置成執(zhí)行多個(gè)功能中選定的功能,該認(rèn)可信號包括對每個(gè)功能的可接受性的識別,所述的限定對各功能是可選定的。
8.一種根據(jù)權(quán)利要求4的裝置,其中所述的限定包括,只要認(rèn)可信號識別該計(jì)算機(jī)程序是不可接受的,就停止整個(gè)或者部分計(jì)算機(jī)程序的執(zhí)行。
9.一種根據(jù)權(quán)利要求4的裝置,其中所述的限定包括,當(dāng)用戶試圖執(zhí)行計(jì)算機(jī)程序或其部分時(shí),給用戶生成關(guān)于計(jì)算機(jī)程序或其部分的警告信號和/或在收到該認(rèn)可信號之后,一旦有第一次的用戶操作時(shí),就生成警告信號。
10.一種根據(jù)權(quán)利要求4的裝置,該裝置被配置成,在該裝置收到認(rèn)可服務(wù)器的認(rèn)可信號之前,至少能夠非限定性地執(zhí)行部分計(jì)算機(jī)程序。
11.一種向帶計(jì)算機(jī)的系統(tǒng)提供支持的方法,該方法包括提供連接到通信網(wǎng)絡(luò)的認(rèn)可服務(wù)器;通過通信網(wǎng)絡(luò),用服務(wù)器接受關(guān)于該帶計(jì)算機(jī)的系統(tǒng)的配置和該帶計(jì)算機(jī)的系統(tǒng)的新系統(tǒng)部件的信息;根據(jù)配置信息,用服務(wù)器檢查系統(tǒng)部件及其配置是否滿足共用性的準(zhǔn)則;向所述的信息源回送該服務(wù)器的認(rèn)可信號,該認(rèn)可信號發(fā)信號通知是否滿足所述的共用性準(zhǔn)則。
12.一種根據(jù)權(quán)利要求11的方法,其中,該服務(wù)器是通過通信網(wǎng)絡(luò)使用網(wǎng)絡(luò)地址有選擇地訪問的,該網(wǎng)絡(luò)地址對于預(yù)先確定類型的裝置,或者類型系列裝置是專用的,該準(zhǔn)則具體是針對所述的系列的。
13.一種根據(jù)權(quán)利要求11的方法,其中該新部件是計(jì)算機(jī)程序,該信息至少包含部分所述的計(jì)算機(jī)程序的代碼,該方法包括,當(dāng)計(jì)算機(jī)系統(tǒng)執(zhí)行可執(zhí)行代碼時(shí),使用服務(wù)器來分析該可執(zhí)行代碼來確定它的實(shí)現(xiàn)是否滿足該準(zhǔn)則。
14.一種根據(jù)權(quán)利要求13的方法,其中該計(jì)算機(jī)程序被配置成為處理一組事件中選定的事件,該服務(wù)器確定對哪個(gè)事件的處理滿足所述的準(zhǔn)則,該認(rèn)可信號詳細(xì)說明哪些事件是可接受的。
全文摘要
當(dāng)向系統(tǒng)加載新系統(tǒng)部件時(shí),該系統(tǒng)就向遠(yuǎn)程的認(rèn)可服務(wù)器發(fā)送有關(guān)該系統(tǒng)部件及其配置的信息。該認(rèn)可服務(wù)器驗(yàn)證包含系統(tǒng)部件并根據(jù)有關(guān)配置的信息配置了的系統(tǒng)是否滿足共用性的準(zhǔn)則,例如,檢查該服務(wù)器是否含有這樣的非法指令,這些指令會(huì)破壞臨界系統(tǒng)數(shù)據(jù)或者在該配置下不使用的功能。該服務(wù)器向系統(tǒng)發(fā)送認(rèn)可信號。該認(rèn)可信號詳細(xì)說明由該計(jì)算機(jī)程序處理的多個(gè)事件中的哪些能被可接受地進(jìn)行處理。根據(jù)認(rèn)可信號,該系統(tǒng)限定系統(tǒng)部件的操作,例如,禁止新系統(tǒng)部件的操作或根據(jù)認(rèn)可信號處理那些沒有得到認(rèn)可處理的事件。
文檔編號G06F21/57GK1537260SQ02800591
公開日2004年10月13日 申請日期2002年1月28日 優(yōu)先權(quán)日2001年3月9日
發(fā)明者R·L·C·科伊曼斯, R L C 科伊曼斯, R·T·烏丁克, 烏丁克 申請人:皇家菲利浦電子有限公司