專利名稱:對裝置控制軟件的卸載進行控制的卸載控制裝置的制作方法
背景技術:
1.發(fā)明領域本發(fā)明涉及一種卸載控制裝置,它用于監(jiān)控裝置與系統(tǒng)的斷開并控制裝置控制軟件的卸載過程,所述系統(tǒng)由主控裝置和其它裝置組成,其中所述卸載過程通過主控裝置響應斷開而執(zhí)行。
2.相關技術描述傳統(tǒng)上存在一種硬件裝置的應用形式,其中多個裝置連接成一個系統(tǒng),硬件裝置中的一個作為控制其它裝置的主控裝置。該系統(tǒng)通過主控裝置控制其它裝置的操作來實現(xiàn),這些操作例如起動/終止、處理內容、操作時限。為實現(xiàn)該目的,主控裝置裝配有能控制其它裝置(此后稱為“控制對象裝置或從動裝置”)的控制軟件。控制軟件向主控裝置上的安裝通常是通過用戶對主控裝置的手動操作從記錄媒體輸入或借助于通信裝置下載來完成的。然而,在系統(tǒng)中,控制對象裝置的連接/斷開會觸發(fā)主控裝置自動執(zhí)行這些安裝/卸載程序,這樣的系統(tǒng)變得益發(fā)普通。
作為這種系統(tǒng)的具體示例,有這樣一些情況,其中(1)個人計算機(PC)與外圍設備彼此連接,以及(2)視聽設備彼此連接。
第一情況(即關于PC)中外圍設備包括配有即插即用功能的裝置,現(xiàn)在這種裝置變得很普遍。在筆記本式計算機的情況下,例如用戶可簡單地通過將PCMCIA卡插到計算機中設置的插槽內來使用該卡。在該情況下,筆記本式計算機安裝了在插入卡時能把卡連到其本身上的控制軟件。相反地,在從插槽拆除卡時,筆記本式計算機能檢測到該拆除并自己卸載卡的控制軟件。另一個例子是,PC響應作為觸發(fā)器的電纜的連接/斷開,借助于USB電纜裝載或卸載與PC相連的外圍設備的控制軟件。
上述第二種情況(即有關視聽設備的)包括裝置之間的連接,它們兩者都遵從家庭聲頻視頻互操作性(HAVi)規(guī)范。HAVi規(guī)范已經發(fā)展成為家庭AV網絡的體系結構,而規(guī)范Ver.1.0現(xiàn)在是可得到的。HAVi體系結構允許連接多個符合IEEE 1394的裝置的使用形式,被連接裝置中的一個裝置控制其它裝置的操作。此后,為方便起見,相連的多個裝置整體和諸如電纜的連接設備都稱為“IEEE 1394網絡”。在該網絡中,裝配有HAVi中間設備的控制裝置(主控裝置)稱為全AV裝置(FAV),而受控裝置稱為基本AV裝置(BAV)。
當新的BAV與IEEE 1394網絡連接時,F(xiàn)AV自動從BAV內或因特網服務器內的存儲單元內采集并安裝控制BAV的控制軟件(該軟件稱為裝置控制模塊(DCM))。相反,當BAV與網絡斷開時,F(xiàn)AV自動卸載對應于BAV的控制軟件。
然而,正如上面所述,控制軟件的安裝/卸載是簡單地根據(jù)裝置的連接/斷開自動執(zhí)行的。因此,當用戶無心或偶然斷開裝置與系統(tǒng)的連接并立即再次連接上裝置時,會分別響應斷開和再連接而執(zhí)行卸載/再安裝程序。于是,用戶不得不等候使用裝置,直到程序執(zhí)行完畢。當軟件必需借助于通信裝置下載時,由于用戶必需等候較長時間以便重新裝載軟件,因此該問題變得尤其嚴重。
發(fā)明概述鑒于上述問題,本發(fā)明的目的是提供一種卸載控制裝置,它能控制卸載控制軟件的程序,以便在用戶無意斷開設備時,用戶能簡單地通過立即再將設備連接到系統(tǒng)上而再次利用設備,且無需等候長時間。
(1)為實現(xiàn)該目的,依照本發(fā)明的卸載控制裝置與主控裝置相連,其用于控制從控制裝置上卸載控制軟件的程序,主控裝置利用控制軟件控制由主控裝置和一個或多個從動裝置組成的系統(tǒng)中的一個或多個從動裝置,卸載控制裝置由以下部件構成時間單元,如果一個從動設備從系統(tǒng)上斷開,它就測量自斷開的從動設備的斷開開始所經過的時間;時間控制單元,用于為斷開的從動裝置控制卸載控制軟件的時間;以及卸載單元,用于在時間控制單元的控制下為斷開的從動設備卸載控制軟件,其中,如果斷開的從動設備在所測得的經過時間到達第一預定時間前還未重新連接到系統(tǒng)上,時間控制單元就控制卸載單元起動卸載。
利用這種結構,可在自檢測單元檢測到從動設備的斷開起經過預定時間后起動卸載程序。由此,即使在用戶偶然斷開從動設備的情況下,用戶也能在經過預定時間以前簡單地通過將從動設備再次連接到系統(tǒng)上而能無延遲地再次利用從動設備。
(2)在上面的(1)中,可通過隨斷開/再連接產生的總線復位信號檢測到從動設備與系統(tǒng)的斷開/再連接。
利用這種結構,依照本發(fā)明的裝置變得不僅適用于諸如電纜物理斷開的情況,也適用于主控裝置響應產生的總線復位信號而檢測不到其它從動設備的所有情況。
(3)在上面的(1)中,由卸載單元執(zhí)行的卸載程序可包括多個級,時間控制單元響應時間單元測得的經過時間以控制卸載單元執(zhí)行多級中的每一級。
通過這種結構,可根據(jù)自檢測單元檢測到從動設備斷開起測得的經過時間來執(zhí)行卸載程序的每一級(stage)。結果,就能更可靠地確認從動設備的斷開是否按照用戶的意愿。
(4)在上面的(3)中,卸載控制裝置可進一步包括用于恢復卸載過程中被改變的數(shù)據(jù)的恢復單元。在該裝置中,當在卸載單元完成卸載過程前檢測到從動設備的再連接時,時間控制單元終止卸載單元的卸載過程,并向恢復單元發(fā)出指令,命其將檢測到重新連接時被修改的數(shù)據(jù)恢復到起動卸載程序之前的狀態(tài)。
利用該結構,在卸載過程中被斷開的從動設備重新連接到系統(tǒng)上的情況下,簡單地通過將檢測單元檢測到重新連接之前被更改的數(shù)據(jù)恢復到起動卸載重新之前狀態(tài),從而使從動設備變得可用。因此,與執(zhí)行作為單個程序的卸載程序的情況相比,這可以減少直到從動設備變得再次可用之前的等候時間。
(5)在上面的(4)中,要被卸載的控制軟件可以用面向對象的語言描述,由卸載單元執(zhí)行的卸載程序可包括用于卸載在安裝控制軟件時裝入的類(class)的級(stage),和當經過時間達到第二預定時間時,時間控制單元可控制卸載單元卸載類(class)。
利用這種結構,在用諸如Java的面向對象語言描述控制軟件的環(huán)境下,如果從動設備在作為卸載程序對象的控制軟件類被刪除之前重新連接到系統(tǒng)上,則從動設備無需重新裝載類就能變得再次可用。因此,與起動卸載程序后立即刪除類的情況相比,通過省去完成重新裝載過程所需的時間能減少從動設備直到變得再次可用時止的等待時間。
(6)在上面的(4)中,卸載單元執(zhí)行的卸載程序可包括用于刪除作為卸載程序對象的控制軟件上的登記信息的級,登記信息是在控制軟件裝載時產生的,當經過時間達到第三預定時間時,時間控制單元可控制卸載單元刪除登記信息。
利用這種結構,如果在刪除作為卸載程序對象的控制軟件上的登記信息之前從動設備重新連接到系統(tǒng)上,則無需再次設定登記信息就能使從動設備變得再次可用。因此,與在起動卸載程序后立即刪除登記信息的情況相比,通過省去了再次完成設定登記信息所需的時間可減少到從動設備變得再次可用時止的等待時間。
(7)在上面(4)到(6)中的任一個中,卸載控制裝置可進一步包括用于存儲被裝載的控制軟件的存儲單元。在該裝置中,由卸載單元執(zhí)行的卸載程序可包括用于從存儲單元中刪除作為卸載程序對象的控制軟件的級,當經過時間達到第四預定時間時,時間控制單元可卸載單元從存儲單元中刪除控制軟件。
利用該結構,如果從動設備在控制軟件從存儲單元中刪掉之前重新連接到系統(tǒng)中,則無需再次存儲控制軟件就能使從動設備變得再次可用。因此,與在起動卸載程序后立即刪除控制軟件的情況相比,通過省去再次在存儲單元中存儲控制軟件所需的時間,從而可減少從動設備變得再次可用時止的等待時間。
(8)在上面的(7)中,卸載控制裝置可進一步包括在輔助存儲單元和存儲單元中采集控制軟件和存儲控制軟件的采集單元。在該裝置中,卸載單元執(zhí)行的卸載程序可包括用于從輔助存儲單元中刪除控制軟件的級,當經過時間達到第五預定時間時,時間控制單元可控制控制卸載單元從輔助存儲單元中刪除控制軟件。
利用這種結構,如果從動設備在控制軟件從存儲單元刪除之前重新連接到系統(tǒng)中,則能簡單地通過實施將控制軟件從輔助存儲單元發(fā)送到存儲單元的級和后面的級,于是無需重新采集控制軟件并將其存儲在輔助存儲單元中,就能再次使從動設備變得可用。因此,與在起動卸載過程后立即從輔助存儲單元中刪除控制軟件的情況相比,通過省去再次采集控制軟件所需的時間,從而可減少從動設備變得再次可用時為止的等待時間。對于軟件必需從遠程服務器發(fā)送到輔助存儲單元的情況來說,該優(yōu)點是特別有效的。
(9)在上面的(3)中,時間控制單元可控制卸載單元在為每級設定的預定時刻執(zhí)行多個級中的每個級。該裝置進一步包括用于根據(jù)外部指令更新第一預定時間和為多級設定的至少一個預定時刻的更新單元。
利用該結構,為了用戶的方便起見,可以改變卸載程序和/或卸載程序中的多個級的執(zhí)行時間。
(10)在上面的(1)中,卸載控制裝置進一步包括用于接收控制軟件上的更新信息的更新信息接收單元。在該裝置中,當更新信息接收單元接收到控制軟件上的更新信息,且在接收到更新信息后第一次檢測到與控制軟件對應的從動裝置斷開時,時間控制單元控制卸載單元執(zhí)行卸載程序,而無需根據(jù)經過時間控制該程序。
利用該結構,在用戶為了下載和安裝最新版本的控制軟件而有意斷開從動設備時,用戶無需為起動該軟件的安裝程序而等候較長時間,同時可以實現(xiàn)本發(fā)明的目的、即避免無意斷開從動裝置后不必要的卸載/安裝。
附圖的簡要說明通過結合描述本發(fā)明特定實施例的附圖所作的下述描述,將使本發(fā)明的這些和其它目的、優(yōu)點和特征更加明顯。
在附圖中
圖1表示依照本發(fā)明一個實施例包含控制裝置的網絡A的結構;圖2表示依照實施例的控制裝置的結構;圖3表示依照實施例的軟件管理表結構和內容的一個例子;圖4表示依照實施例的類管理表中存儲的類管理信息;圖5表示依照實施例的檢測單元中存儲的設備目錄信息和更新信息的一個例子,以及表示斷開前后裝置連接的說明;圖6表示自依照實施例的控制裝置檢測到設備斷開起經過的時間與控制裝置實施的卸載過程之間的關系;以及圖7是表示依照實施例的控制裝置執(zhí)行的卸載程序的流程圖。
優(yōu)選實施例描述下面參照附圖描述依照本發(fā)明控制裝置的實施例。
(介紹)圖1表示包括依照本發(fā)明實施例的控制裝置的網絡A。這樣構造網絡A使多個裝置借助于電纜40彼此相連,其中每個裝置包括符合IEEE 1394標準的連接設備,網絡遵照HAVi規(guī)格。作為BAV的相連的裝置包括設有起FAV作用的TV接收器10、數(shù)碼攝像機20、VTR走帶機構30等。TV接收器10進一步設有通信裝置,該通信裝置能借助于公共電話網N使TV接收器10與服務器50通信??刂蒲b置包括在作為FAV的TV接收器10中。
作為FAV的TV接收器10采集并保存(即安裝)用于控制數(shù)碼攝像機20和VTR走帶機構30的控制軟件程序??刂栖浖惭b到TV接收器10中可使用戶通過TV接收器10操作其它設備。TV接收器10直接從數(shù)碼攝像機20采集用于數(shù)碼攝像機20的控制軟件,并采集通過從服務器50下載下來的用于VTR走帶機構30的控制軟件。
控制單元控制控制軟件向或從TV接收器10的安裝/卸載。在此注意控制軟件是用JAVA描述的(JAVA是美國Sun Microsystem有限公司的商標)。
通常,安裝時采集軟件、產生執(zhí)行軟件所需的登記信息、將軟件轉換成可執(zhí)行的對象、以及在存儲裝置中存儲軟件的過程。然而在該實施例中,因為控制軟件是用JAVA描述的,因此安裝過程不包括“產生登記信息”的過程。另外,將軟件轉換成可執(zhí)行對象的程序可以用軟件中包含的類裝載程序代替。
因此,該實施例中的安裝程序由兩個級組成(1)從外部采集設備控制軟件并將其存儲在存儲裝置中(在該情況下,是圖2中的存儲單元13)的程序,以及(2)用于將控制軟件中包含的類裝載到存儲單元中(圖2中的存儲單元13)的程序。然而,在從服務器50采集控制軟件的情況下,安裝程序也包括程序(3)在將從服務器50采集的壓縮軟件存儲在存儲裝置之前,將其臨時保存在輔助存儲裝置(圖2中的輔助存儲裝置161)中。
同時,卸載是按照安裝程序順序地刪除存儲裝置中存儲的軟件和類的過程。在從服務器50采集軟件的情況下,卸載也包括從輔助存儲裝置刪除軟件的過程。
在設備與網絡A相連時,控制裝置安裝控制軟件。但是,自裝置與網絡A斷開后經過預定時間段后,控制裝置開始卸載控制軟件。另外,控制裝置將卸載程序分成一些級,在設備斷開后隨著時間推移執(zhí)行每一級。這能使偶然與系統(tǒng)斷開然后立即接上的裝置迅速再次有效。該卸載程序是控制裝置的特征。
在此注意依照該實施例的控制裝置檢測到的“斷開”不限于連接電纜物理連接/斷開的情況,而是包括由于某些原因主控裝置不能檢測到其控制對象設備的所有情況。例如,假設系統(tǒng)構造得將控制對象設備A與主控裝置B連接。如果另一個控制對象設備C也連接到系統(tǒng)上,則將發(fā)生總線復位。在總線復位后,主控裝置B不能立即檢測到設備A。然而,在該總線復位后可立即發(fā)生另一總線復位,由此主控裝置變得能夠再次檢測到設備A。于是,在該情況下,不能檢測到設備A時的時間長度非常短。依照該實施例的控制裝置能夠響應上述廣泛意義上的這種“斷開”來控制控制軟件的卸載/再安裝。
(控制裝置的結構)圖2是表示依照該實施例的控制裝置1的結構的方框圖。
控制裝置1包括檢測單元11、判斷單元14、第一采集單元15、第二采集單元16、安裝單元17和卸載單元18。檢測單元11檢測裝置與網絡A的連接/斷開,它變成一個軟件的安裝/卸載觸發(fā)器。判斷單元14判斷是否必需為裝置的連接/斷開進行安裝/卸載,并控制執(zhí)行卸載的時間。第一和第二采集單元15和16分別在安裝時采集控制軟件。安裝單元17執(zhí)行安裝程序和裝載軟件中包含的類程序,所述安裝程序即將軟件和相關信息存儲到存儲單元13中的程序。卸載單元18執(zhí)行卸載程序,即從存儲單元13中刪除軟件、相關信息和類的程序??刂茊卧?進一步包括時間單元12,它能在判斷單元14的控制下工作。下面詳細描述這些單元的主要部件。
(存儲單元13)首先將描述存儲單元13中存儲的有關安裝程序的數(shù)據(jù)。
存儲單元13存儲控制軟件Pa和Pb。這些軟件的存儲位置信息(即這些軟件的地址)保存在軟件管理表T1內。然后軟件管理表T1內保存的信息稱為“軟件管理信息”。
圖3表示軟件管理表T1的結構和內容的一個示例。軟件管理表T1由裝置標識符區(qū)域310和地址區(qū)域320組成。裝置標識符區(qū)域310存儲標識裝置的標識符,同時地址區(qū)域320在控制軟件的存儲單元13中為對應裝置標識符表示的裝置存儲地址。
在安裝程序中由安裝單元17將軟件管理信息添加到軟件管理表T1中,而在卸載程序中由卸載單元18將其刪除。
此外,在安裝程序中,軟件Pa和Pb中包含的類裝載到存儲單元13中。另外,類管理表12也存儲在存儲單元13中。在該表T2中,描述了用于辨別其類已經裝載到存儲單元13中的軟件的信息。
圖4表示類管理表T2中存儲的類管理信息400。類管理信息400借助于與軟件對應的裝置的裝置標識符(該裝置標識符與軟件管理表T1中存儲的裝置標識符相同)表示類已經被裝載到存儲單元13中的控制軟件。圖4表示與標識符“A”和“B”對應的裝置的控制軟件中包括的類已經裝載到存儲單元13中。這些裝置(即與該裝置對應的控制軟件中包括的類已經裝載到存儲單元13中)變得可被作為主控裝置的TV接收器控制。
在安裝過程中,安裝單元17裝載類并將對應的類管理信息加載到類管理表T2中,而在卸載過程中,卸載單元18從存儲單元13中刪除類和對應的類管理信息。
(檢測單元11)檢測單元11檢測裝置與網絡A的連接/斷開。如果裝置與網絡A連接/斷開,則會產生總線復位信號。檢測單元11通過該信號檢測連接/斷開。正如前面所述,產生總線復位信號并不限于裝置與網絡物理地連接/斷開的情況??梢源娴氖牵绻a生了總線復位信號,檢測單元17始終判斷所發(fā)生的裝置的連接/斷開,并執(zhí)行以下程序。
一檢測到總線復位信號,檢測單元11向網絡A中可檢測到存在的所有裝置傳送標識符發(fā)送請求。響應這些請求,每個裝置將它們的標識符傳送給檢測單元11。于是,檢測單元11對照檢測單元內存儲的連接裝置目錄檢查所傳送的標識符,然后判定目錄中未包括的標識符表示再連接裝置。相反,如果目錄包括了不是從裝置傳送來的標識符,則檢測單元11判定與該標識符對應的裝置已經與網絡斷開。在此注意標識符對每個裝置都是唯一的,由此它能夠表示裝置。
在檢測單元11判定裝置與網絡再次連接的情況下,檢測單元11將該裝置的標識符添加到連接裝置的目錄中。相反,在檢測單元11判定裝置已經與網絡斷開的情況下,檢測單元11從目錄中刪除該裝置的標識符。
圖5表示在檢測單元11中存儲的裝置目錄500和更新目錄的一個示例,連同表示裝置在更新前后的連接狀態(tài)的圖解。圖5(a)和(b)分別表示更新前后的狀態(tài)。這些圖表示有兩個裝置與TV接收器10相連的狀態(tài)(見圖5(a))和識別符為B的裝置B(VTR30)與網絡斷開的更新狀態(tài)(見圖5(b))。根據(jù)這些變化,裝置目錄500更新為圖5(b)中那樣。
另外,一檢測到裝置的連接/斷開,檢測單元11就向其它單元發(fā)出指令并向/從其它單元進行查詢。
對于裝置與網絡再次連接的情況,當一檢測到裝置的連接,檢測單元11就向判斷單元14發(fā)送連接裝置的標識符,以便詢問是否必需為裝置安裝控制軟件。
如果判斷單元14的反應是“不需要”,檢測單元11就不執(zhí)行安裝程序。該情形(即,不必為連接裝置安裝控制軟件的情形)適用于在為裝置卸載控制軟件之前用戶重新連接已經偶然與網絡斷開的裝置。
相反,如果判斷單元14的反應是“必需”,則檢測單元11就向第一采集單元15或第二采集單元16發(fā)出指令,讓其為裝置采集控制軟件并將控制軟件連同裝置標識符一起發(fā)送給安裝單元17。一接收到這些信息,安裝單元17就在存儲單元13中存儲控制軟件,同時裝載軟件中包含的類,產生類管理信息,并將它們存儲到存儲單元13中(更具體地說是將類管理信息存儲到類表T2中)。
對于控制軟件,存在兩種情況從裝置本身采集控制軟件,和必需從服務器50下載軟件。因此,檢測單元11從重新連接的裝置獲得信息,在該裝置上采集控制軟件(即直接從裝置或服務器采集)。在前一種情況下,檢測單元11向第一采集單元15發(fā)送采集指令,而在后一種情況下,它向第二采集單元16發(fā)送指令。
至于后一種情況,當從服務器50采集控制軟件時,第二采集單元16將該控制軟件發(fā)送給安裝單元17,同時將其連同管理表一起存儲在輔助存儲單元161中。該管理表的結構與存儲單元13中存儲的軟件管理表T1結構(見圖2)相同,它由輔助存儲單元161中的軟件存儲地址和與軟件對應的裝置際識符之間的對應性組成。
可以選擇的是,在檢測單元11檢測到裝置斷開的情況下,檢測單元11向判斷單元14發(fā)出指令,讓其執(zhí)行與裝置的控制軟件卸載有關的程序。
(判斷單元14)當檢測單元11檢測到裝置的連接/斷開時,判斷單元14判斷是否有必要為連接而安裝軟件,和判斷是否有必要為斷開而卸載軟件。另外,判斷單元14根據(jù)時間單元12測得的經過時間控制來執(zhí)行卸載程序的時間。
首先,下面描述檢測單元11通知判斷單元14裝置已經斷開的情況(即,卸載程序的情況)。在該情況下,判斷單元14讓時間單元12測量斷開后經過的時間,同時響應經過時間進行已被分成兩級或三級的卸載程序。
在卸載程序的開始階段,判斷單元14在已經存儲在判斷單元14中的卸載裝置目錄中列出從檢測單元11接收到的裝置標識符。然后判斷單元14向時間單元12發(fā)送起動測量的請求,以便起動時鐘。每當經過時間達到其中一個預定值,時間單元12就將經過時間通知給判斷單元14。于是,判斷單元14響應通知的經過時間而進行卸載程序。
圖6表示依照該實施例的控制裝置自檢測到裝置斷開開始經過的時間與卸載程序之間的關系。
正如該圖中所示,在卸載程序中時間單元12三次向判斷單元14通知經過時間。第一次經過時間a表示從存儲單元13中刪除(卸載)軟件的類。值a是范圍從1到5秒的任意預置值。第二經過時間β表示從存儲單元13中刪除軟件和對應軟件管理信息(存儲在軟件管理表T1中)的時間。值β是范圍從1到10分鐘的任意預置值。第三經過時間γ表示刪除第二采集單元16內輔助存儲單元161中存儲的軟件的時間。注意γ僅是為第二采集單元16采集的軟件而設定的。值γ是范圍從幾小時到幾天的任意預置值。
當經過了時間a時,判斷單元14將把要被處理的裝置的標識符發(fā)送給卸載單元18,以便從存儲單元13中刪除該裝置的類和類管理信息。
此后,當經過了時間β時,判斷單元14將裝置的標識符發(fā)送給卸載單元18,由此將該裝置的控制軟件和該軟件的軟件管理信息分別從存儲單元13和軟件管理表T1中刪除。另外,此時判斷單元14查詢第二采集單元16中保存的管理表,以便檢查該裝置的控制軟件是否存儲在第二采集單元16內的輔助存儲單元161中。如果軟件并未存儲在比,判斷單元14就判定已經完成了卸載過程,于是終止時間單元12的測量,并從自身存儲的卸載裝置目錄內卸載裝置標識符。此后,如果裝置與網絡A再次連接,則判定單元判斷出該裝置是再次連接的裝置,并執(zhí)行控制軟件的安裝。
可以選擇的是,裝置的控制軟件也存儲在輔助存儲單元161中,判斷單元14另外進行卸載程序。當經過了時間γ時,判斷單元14向第二采集單元16發(fā)送裝置標識符,以便刪除輔助存儲單元161內存儲的裝置的控制軟件。然后,判斷單元14終止測量經過時間的時間單元12,并從卸載裝置目錄中刪除裝置標識符,以便完成卸載過程。
接著,下面描述在檢測到裝置連接(即有關判斷是否有必要進行安裝的程序)的情況下判斷裝置14執(zhí)行的程序。在該情況下,判斷單元14判斷所檢測到的裝置是否是新添加的裝置,或剛在連接前斷開的裝置(即現(xiàn)在正處于卸載過程的裝置)。為實現(xiàn)該目的,判斷單元14對照判斷單元14自身保存的卸載裝置目錄檢查檢測單元11通知的連接裝置的標識符。如果標識符包含在目錄中,則判斷單元14就能判定該連接是重新連接。
在新添加裝置(不是再次連接)的情況下,判斷單元14通知檢測單元11必需安裝該裝置的控制軟件。
另一方面,在重新連接的情況下,判斷單元14通知檢測單元11不必進行安裝,同時終止現(xiàn)在正為該裝置執(zhí)行的控制軟件卸載程序。更準確地說,該程序包括以下三個步驟(1)發(fā)給時間單元12終止測量經過時間的指令,(2)從卸載裝置目錄中刪除終止標識符,以及(3)只有當卸載程序進行到一半時,將安裝信息恢復成卸載前的狀態(tài)。在這些步驟中,步驟(3)的具體內容可隨經過時間而變化,直到卸載程序終止。下面描述基于經過時間的具體內容。
在經過時間“不短于a而短于β”時,在卸載過程中執(zhí)行第一步驟“刪除類”。由此,判斷單元14向安裝單元17發(fā)送裝置標識符,以便為裝置從控制軟件(存儲在存儲單元13內)中提取類,并將類裝載到存儲單元13中。另外,判斷單元14命令安裝單元17將控制軟件的類管理信息添加到類管理表T2中。
在經過時間“不短于β但短于γ”的情況下,執(zhí)行第二步驟“從存儲單元13中刪除軟件”。(在此注意除了從第二采集單元16采集的軟件以外,軟件的卸載程序僅包括第一和第二級,由此該軟件將象新安裝的軟件那樣被處理。)然后,判斷單元14向安裝單元17發(fā)送裝置標識符,并向安裝單元17發(fā)出重新為該裝置采集輔助存儲單元161中存儲的控制軟件的指令。響應該指令,安裝單元17向第二采集單元16發(fā)出一個指令,讓其從輔助存儲單元161讀取軟件,以便采集軟件。然后,安裝單元17將軟件存儲到存儲單元13中,并將對應的軟件管理信息添加到軟件管理表T1中。另外,安裝單元17將程序內包含的類裝載到存儲單元13中,并將軟件的類管理信息添加到類管理表T2中。
(操作)下面,將參照流程圖描述控制裝置1為控制卸載而執(zhí)行的操作。
圖7是表示控制裝置1執(zhí)行的卸載程序的流程圖。
首先,當檢測單元11檢測到總線復位并判定總線復位歸因于裝置的斷開時,卸載程序起動。檢測單元11將斷開裝置(S701是)的標識符通知給判斷單元14。
判斷單元14將裝置標識符添加到卸載裝置目錄中,通過向時間單元12發(fā)出起動測量裝置斷開后的經過時間的指令(S702)。
此后,每當經過時間t成為預定值(a、β、γ)時,時間單元12將該信息通知給判斷單元14。然后,判斷單元14響應經過時間執(zhí)行下面的程序。
當經過時間t達到a(S704“a<=t<β”),判斷單元14向卸載單元18發(fā)出從存儲單元13刪除有關裝置控制軟件的類和類管理信息的指令(S704)。
當經過時間達到β(S704“β<=t<γ”)時,判斷單元14向卸載單元18發(fā)出從存儲單元13和軟件管理表T1分別刪除裝置的控制軟件和有關控制軟件的軟件管理信息的指令(S706)。另外,判斷單元14檢查裝置的控制軟件是否存儲在第二采集單元16的輔助存儲單元161內。在軟件未存儲在其中的情況下(S707否),判斷單元14判定卸載過程已經完成,因此終止時間單元12測量經過時間,并從卸載裝置目錄中刪除裝置標識符以完成卸載過程(S714)。
可以選擇的是,在裝置的控制軟件也存儲在輔助存儲單元161中的情況下(S707是),判斷單元14進一步進行卸載程序。在時間為γ(S704γ<=t)時,判斷單元14向第二采集單元16發(fā)出刪除輔助存儲單元161中存儲的裝置控制軟件的指令(S708)。另外,判斷單元14執(zhí)行前述步驟S714以完成卸載過程。
然而,如果檢測單元11在上述步驟S740到S708的中間檢測到裝置與網絡相連,則判斷單元14按以下步驟進行操作。
在卸載過程中間,一從檢測單元11接到裝置連接的通知(S709是),判斷單元14就對照判斷單元14自身保存的卸載裝置目錄檢查被通知裝置的標識符,以便判斷現(xiàn)在處于卸載過程中的裝置是否重新連接。如果情況不是重新連接(S710否),則判斷單元14將該信息通知給檢測單元11。于是檢測單元11執(zhí)行上述安裝程序(向第一采集單元15或第二采集單元16發(fā)出采集重新連接裝置的控制軟件的指令)。至于為在步驟S701中由檢測單元11檢測到斷開的裝置執(zhí)行的卸載程序,程序繼續(xù)進行。同時,在重新連接的情況下(S701是),判斷單元14通知檢測單元11不必進行安裝。另外,如果卸載過程進行到一半,判斷單元14向安裝單元17發(fā)出指令,使其執(zhí)行恢復在下面步驟S712和S713中描述的那些信息的程序。
在經過時間“不短于a但短于β”(S711a<=t<β)的情況下,判斷單元14向安裝單元17發(fā)出將存儲單元13中保存的裝置控制軟件中所包含的類裝載到存儲單元13中的指令。另外,判斷單元14命令安裝單元17將控制軟件的類管理信息添加到類管理表T2中(S712)。
在經過時間“不短于β但短于γ”(S711β<=t<γ)的情況下,判斷單元14向安裝單元17發(fā)出重新采集裝置控制軟件的指令。作為該指令的響應,安裝單元17向第二采集單元16發(fā)出從輔助存儲單元161讀取軟件并將其發(fā)送給安裝單元17的指令。然后,安裝單元17將軟件存儲到存儲單元13中,并將對應的軟件管理信息添加到軟件管理表T1中。另外,安裝單元17將控制軟件中包含的類裝載到存儲單元13中,并將軟件的類管理信息添加到類管理表T2中(S713)。
完成步驟S712和S713后,判斷單元14執(zhí)行上述步驟S714以完成重新連接過程。
在此注意,在檢測單元11于經過時間達到預定時間a(S703是,S709是)之前檢測到裝置重新連接的情況下,既不執(zhí)行諸如刪除類的卸載程序,也不執(zhí)行卸載的恢復程序。
(總結)正如上面所述,一檢測到裝置與網絡A斷開,該實施例中的控制裝置1就為該裝置起動控制軟件的卸載程序。然而,直到經過了預定時間,控制裝置1才會刪除軟件和與軟件相關的信息。另外,即使經過預定時間段后,也要順序地執(zhí)行每個預定經過時間的卸載程序的多個級。結果,即使用戶偶然斷開了裝置,因為控制軟件和有關信息仍然保留在其中,因此斷開后立即重新連接也能使用戶繼續(xù)使用該裝置,而無需耽擱和無需等候控制軟件的重新安裝。另外,即使在重新連接前已經經過了一些時間段,且控制軟件的卸載過程進行到一半時,與需要重新安裝軟件的情況相比,因為一部分軟件和相關信息并未刪除,它們仍然保存在裝置內,因此縮短了到裝置變得再次可用的等候時間。
這些優(yōu)點對以下情況非常有效必需從遠程服務器下載軟件的情況,和象IEEE1394中那樣頻繁發(fā)生總線復位的情況。
盡管已經參照附圖通過舉例方式全面描述了本發(fā)明,但要注意的是,對于本技術領域的那些普通技術人員來說各種變化和改進是顯而易見的。因此,除非這些變化和修改脫離了本發(fā)明的范圍,都應將它們構想成包含在本發(fā)明中。
上述實施例討論了家用電器與IEEE1394網絡相連的例子。然而,連接方式和裝置并不限于這些例子。也就是說,本發(fā)明可用于在滿足以下兩種先決條件范圍內的任何用途形式(1)連接有多個裝置,主控裝置利用控制軟件控制其它裝置操作的環(huán)境,以及(2)一檢測到裝置的連接/斷開,主控裝置就安裝/卸載該裝置的控制軟件。例如,裝置可通過USB和其它串行總線或通過符合無線IEEE1394標準的無線電設備連接。另外,本發(fā)明可用于包括作為主控裝置的PC和外部裝置的系統(tǒng),其中PC與外部裝置彼此相連。另外,控制軟件不必通過Java進行描述。
在上述實施例中,卸載程序包括“刪除類”、“從存儲單元中刪除控制軟件”和“從輔助存儲單元刪除控制軟件”三級。然而,這僅是一個示例,控制軟件的詳細內容和這些級的執(zhí)行順序可隨要被處理的裝置所采用的安裝/卸載程序的規(guī)格而變化。例如,存在這樣一種情況,其中安裝程序需要在軟件上產生系統(tǒng)登記信息,而作為安裝程序的結果軟件變得可被執(zhí)行,由此當執(zhí)行軟件時該系統(tǒng)能訪問系統(tǒng)登記信息。在該情況下,信息的刪除級包含在卸載程序中。
上述實施例描述了限于DCM那樣的控制軟件,該軟件是用于單獨控制每個裝置的程序。然而,依照本發(fā)明的控制軟件并不限于DCM,它可包括從諸如遠程服務器的外部裝置自動采集的程序(例如,稱為“應用模式”的程序,它用于控制DCM)。這些程序包括稱為“havlet”的程序,該程序執(zhí)行界面處理,執(zhí)行界面處理包括顯示GUI以便從用戶接收符號表示,和將符號表示通知給DCM。
用作輔助存儲單元161的記錄媒體可以是RAM或硬盤,或可與控制裝置1拆分的裝置,例如可拆卸硬盤和存儲卡。
上述時間裝置12在其內部可具有多個時鐘,以便能同時測量與多個斷開裝置有關的經過時間。在該情況下,有關時鐘標識符和與時鐘相關的裝置標識符之間對應性的管理信息應當存儲在該單元中。
在上述實施例中,預定時間a、β和γ是預置的。然而,用戶可以自由設定這些時間,或這些預置時間可以根據(jù)用戶的指示而改變。另外,盡管上述實施例一律對所有裝置都施用了一套預定時間,但也可以設定對每個裝置都專有的一套時間值。
在該情況下,卸載控制裝置1應當進一步設有用于從用戶處接收預定時間值a、β和γ的接收單元,所接收的值發(fā)送給判斷單元14。判斷單元14存儲這些值,并在判斷程序中查詢它們。
通過這種結構,用戶能夠設定預定時間a、β和γ,由此能夠根據(jù)系統(tǒng)環(huán)境隨意確定卸載程序中每級的起始時間(如果需要的話,為每個裝置設定起始時間)。另外,當用戶故意連接/斷開裝置與系統(tǒng)的連接時,該結構很方便。例如,存在用戶要獲得有關裝置控制軟件的更新信息的情況。為了卸載舊版本并從服務器安裝最新版本時,用戶故意斷開裝置與系統(tǒng)的連接。然而根據(jù)上述實施例,裝置斷開后用戶必需等待裝置斷開后經過時間β和γ才能重新安裝裝置,以便能安裝最新版本。另一方面,利用這種結構,用戶能夠為每個裝置設定預定時間a、β和γ。因此,如果斷開前將所有的預定時間a、β和γ都設定為“0”,然后斷開裝置,就能直接安裝所需要的最新版本。此后,a、β和γ的值應當返還成原始值,這就避免了如果用戶偶然斷開裝置導致的不必要的卸載/重新安裝。
可以選擇的是,在通過通信設備從服務器傳送控制軟件的更新信息的情況下,判斷單元14可通過第二采集單元16采集更新信息,并在僅當采集信息后第一次斷開有關更新信息的裝置時將值a、β和γ設定為零。利用這種結構,就能安裝最新版本中的控制軟件而免去用戶設定這些值的麻煩。為實現(xiàn)該目的,判斷單元14應當存儲a、β和γ的原始值,以便能將改變了的值返還成原始值,并應當存儲標記或計數(shù)器,以便只能在一次將這些值設定成零。更準確地說,在接收到更新數(shù)據(jù)時,標志從OFF變到ON,同時有關該裝置的預定時間a、β和γ設定為零。當檢測到裝置斷開時,判斷單元14根據(jù)預定時間(在該情況下是“0”)命令卸載單元執(zhí)行卸載程序。另外,當檢測到斷開時,判斷單元14查詢標志。在標志為ON的情況下,裝置的標識符并不添加到卸載裝置目錄中去。利用該程序,當檢測到裝置重新連接時,判斷單元14立即向安裝單元發(fā)出重新安裝的指令。然后,完成安裝程序后,判斷單元再次查詢標志。在標志為ON的情況下,將a、β和γ值返還成存儲的原始值,并將標志返還成OFF。
不同于將值a、β和γ設定為零并將其返還成原始值的上述程序,也可以采用其它程序,其中如果標志為ON,則判斷單元14并不根據(jù)經過時間控制卸載程序。在該情況下,按照以下步驟執(zhí)行程序。標志的狀態(tài)ON/OFF可由檢測單元設定。在標志為ON的情況下,檢測單元向卸載單元發(fā)出執(zhí)行卸載程序的指令。卸載程序完成后,在重新連接的情況下(和在標志為ON的情況下),檢測單元并不將重新連接通知給判斷單元,而是向安裝單元發(fā)出執(zhí)行安裝程序的指令。另一方面,在標志為OFF的情況下,控制裝置執(zhí)行與上述實施例中的程序相同的程序。在該情況下,卸載/安裝單元必需通知檢測單元程序已經完成(用于確定起動安裝程序的時間,并將標志設定為OFF)。
權利要求
1.一種和主控裝置相連的卸載控制裝置,該卸載控制裝置用于控制從主控裝置卸載控制軟件的程序,主控裝置利用控制軟件控制系統(tǒng)中的一個或多個從動裝置,其中所述系統(tǒng)由主控裝置和所述一個或多個從動裝置組成,卸載控制裝置包括時序設備,如果一個從動裝置與系統(tǒng)斷開,所述時序設備用于測量自斷開的從動裝置斷開起的經過時間;時序控制設備,用于控制卸載用于斷開的從動裝置的控制軟件的卸載時間;以及卸載設備,其在時序控制設備的控制下用于為斷開的從動裝置卸載控制軟件,其中如果斷開的從動裝置在測得的經過時間達到第一預定時間前還未與系統(tǒng)重新連接,時序控制設備就控制卸載設備以起動卸載。
2.根據(jù)權利要求1所述的卸載控制裝置,其中通過隨斷開/重新連接產生的總線復位信號檢測從動裝置與系統(tǒng)的斷開/重新連接。
3.根據(jù)權利要求1所述的卸載控制裝置,其中由卸載設備執(zhí)行的卸載程序包括多個級,以及時序控制設備響應時序設備測得的經過時間以控制卸載設備執(zhí)行多個級中的每一級。
4.根據(jù)權利要求3所述的卸載控制裝置,其進一步包括恢復設備,用于恢復卸載程序中改變的數(shù)據(jù),其中時序控制設備,當在卸載設備完成卸載程序之前檢測到從動裝置重新連接,則終止卸載設備的卸載程序,并向恢復設備發(fā)出指令,令其將在檢測到重新連接時為止的時間內改變的數(shù)據(jù)恢復到起動卸載程序之前的狀態(tài)。
5.根據(jù)權利要求4所述的卸載控制裝置,其中用面向對象的語言描述要被卸載的控制軟件,由卸載設備執(zhí)行的卸載程序包括卸載類的級,所述類是在安裝控制軟件時裝載的,以及當經過時間達到第二預定時間時時序控制設備控制卸載設備卸載類。
6.根據(jù)權利要求4所述的卸載控制裝置,其中卸載設備執(zhí)行的卸載程序包括用于刪除作為卸載程序目標的控制軟件的登記信息的級,登記信息是在安裝控制軟件時產生的,以及當經過時間達到第三預定時間時,時序控制設備控制卸載設備刪除登記信息。
7.根據(jù)權利要求4到6中任一項所述的卸載控制裝置,其進一步包括存儲設備,用以存儲安裝的控制軟件,其中卸載設備執(zhí)行的卸載程序包括用于從存儲設備刪除作為卸載程序目標的控制軟件的級,以及當經過時間達到第四預定時間時,時序控制設備控制卸載設備從存儲設備刪除控制軟件。
8.根據(jù)權利要求7所述的卸載控制裝置,其進一步包括采集裝置,用于采集控制軟件,并將控制軟件既存儲在輔助存儲設備又存儲在存儲設備中,其中卸載設備執(zhí)行的卸載程序包括用于從輔助設備刪除控制軟件的級,以及當經過時間達到第五預定時間時,時序控制設備控制卸載設備從輔助存儲設備刪除控制軟件。
9.根據(jù)權利要求3所述的卸載控制裝置,其中在為級設定的預定時間處,時序控制設備控制卸載設備執(zhí)行多個級中的每一級,其中卸載控制裝置進一步包括更新設備,用于依照外部指示更新第一預定時間和更新為多個級設置的至少一個預定時間。
10.根據(jù)權利要求1所述的卸載控制裝置,其進一步包括更新信息接收設備,用于接收有關控制軟件的更新信息,其中當更新信息接收設備接收到有關控制軟件的更新信息,且在接到更新信息后第一次檢測到與控制軟件對應的從動裝置的斷開時,時序控制設備控制卸載設備執(zhí)行卸載程序,而不是根據(jù)經過時間控制該程序。
11.一種控制從主控裝置卸載控制軟件的程序的方法,主控裝置利用控制軟件來控制系統(tǒng)中的一個或多個從動裝置,其中所述系統(tǒng)由主控裝置和所述一個或多個從動裝置組成,該方法包括以下步驟檢測步驟,用于檢測從動裝置與系統(tǒng)的斷開;限時步驟,用于測量自檢測步驟中檢測到斷開的從動設備斷開起的經過時間;以及卸載步驟,用于卸載被用于控制斷開的從動裝置的控制軟件,如果在測得的經過時間達到第一預定時間之前未檢測到斷開的從動裝置重新連接,則開始卸載步驟。
12.根據(jù)權利要求11所述的控制程序的方法,其中卸載步驟包括多個級,以及當經過時間達到為級預置的預定時間時,就執(zhí)行多個級中的每個級。
13.根據(jù)權利要求12所述的控制卸載程序的方法,其進一步包括當在卸載步驟中檢測到斷開的從動裝置重新連接時,恢復步驟用于終止卸載,并將檢測到重新連接為止已經執(zhí)行的級中被修改的數(shù)據(jù)恢復到起動卸載之前的狀態(tài)。
14.一種可讀的計算機記錄媒體,它記錄與主控裝置連接的卸載控制裝置中使用的程序,該程序可用于控制從主控裝置卸載控制軟件的過程,主控裝置利用控制軟件來控制系統(tǒng)中的一個或多個從動裝置,其中所述系統(tǒng)由主控裝置和所述一個或多個從動裝置組成,該程序包括檢測步驟,用于檢測從動裝置與系統(tǒng)的斷開;限時步驟,用于檢測自檢測步驟中檢測到斷開的從動設備斷開起的經過時間;以及卸載步驟,用于卸載控制斷開從動裝置的控制軟件,如果在測得的經過時間達到第一預定時間之前未檢測到斷開的從動裝置的重新連接,則起動卸載步驟。
15.根據(jù)權利要求14所述的計算機可讀記錄媒體,其中卸載步驟包括多個級,以及當經過時間達到為級預置的預定時間時,就執(zhí)行多個級中的每個級。
16.根據(jù)權利要求15所述的計算機可讀記錄媒體,記錄媒體上記錄的程序進一步包括當在卸載步驟中檢測到斷開的從動裝置重新連接時,恢復步驟用于終止卸載,并將截止到檢測到重新連接為止已經執(zhí)行的級中被修改的數(shù)據(jù)恢復到起動卸載之前的狀態(tài)。
全文摘要
當檢測單元11檢測到裝置斷開時,判斷單元14控制數(shù)據(jù)單元12,以測量自檢測到斷開開始的經過時間。當所測得的經過時間達到預定時間時,就起動卸載裝置控制軟件的程序。另外,卸載程序包括多個級,判斷單元14響應測得的經過時間執(zhí)行每個級。如果檢測單元11在完成卸載程序之前檢測到裝置重新連接,則判斷單元14終止卸載程序,并將控制軟件和有關信息恢復到執(zhí)行卸載程序之前的狀態(tài)。
文檔編號H04L12/28GK1362663SQ0113817
公開日2002年8月7日 申請日期2001年12月24日 優(yōu)先權日2000年12月26日
發(fā)明者楠堂忠夫, 渡邊茂晃, 三村義祐, 葉山悟 申請人:松下電器產業(yè)株式會社