專利名稱:升級無線移動站的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明通常針對無線移動系統(tǒng),以及更具體地,涉及升級無線移動站中的軟件的裝置和方法。
背景技術(shù):
為使無線市場增加了最大可能程序,無線服務(wù)供應(yīng)商和無線設(shè)備制造商經(jīng)常尋求新方法來使無線設(shè)備和服務(wù)盡可能方便、用戶友好和能承受。為此,無線服務(wù)供應(yīng)商和蜂窩電話的制造商和其他無線移動站頻繁地一起工作作用為注冊和訓練新用戶以及用于提高現(xiàn)有用戶的服務(wù)和設(shè)備的流線型過程。
這些努力的一個重要方面是空中傳輸(OTA)供應(yīng)和升級無線移動站,諸如蜂窩電話、無線個人數(shù)字助理(PDAs)、無線手持計算機、雙向?qū)ず魴C等等。OTA供給是允許購買新蜂窩電話(或其他移動站)的新用戶建立與無線服務(wù)供應(yīng)商的帳戶以及配置電話用于操作的相對新的特征。OTA供給過程主要是自動的并且不要求新用戶訪問蜂窩電話服務(wù)中心。通常,新用戶從其箱移出新蜂窩電話,呼叫專用電話號碼(在說明書中給出),并執(zhí)行與自動代理或人工服務(wù)代理人的交互式供給過程。
無線移動站的空中傳輸升級也是允許用戶下載和安裝包含補丁、缺陷補丁(bug fix)、包括操作系統(tǒng)的移動站軟件的較新版本的升級軟件的相對新的過程。無線服務(wù)供應(yīng)商或移動站制造商,或二者可以提供升級軟件。
經(jīng)Internet下載和安裝用于個人計算機(PC)的軟件升級可以很長。然而,這一過程在移動站中相當復雜。個人計算機具有可用于執(zhí)行軟件升級的更多的資源,包括動態(tài)鏈接庫(DLLs)、存儲器管理單元(MMU)、以及大的隨機存取存儲器(RAM)空間。傳統(tǒng)的PC軟件升級可以被分割被下載到個人計算機作為一組共享對象。如果一個對象文件在傳輸期間被轉(zhuǎn)錯或中斷,僅需要重傳那個對象文件。正確接收的對象文件不需要重傳。只要存在所有對象文件,PC的存儲器管理單元(MMU)將所有對象文件加載到RAM中并重新鏈接對象文件形成DLL。然后,可以將DLL重新存儲到PC的ROM(即盤)中。在這一過程期間,MMU能修改代碼或符號表部分。
然而,無線移動站(例如,蜂窩電話)通常具有比PC更少的資源。移動站缺少存儲器管理單元以及不能由RAM執(zhí)行代碼。在充當只讀存儲(ROM)的閃速存儲器外執(zhí)行代碼。閃速存儲器通常不能寫入,其僅能通過非常大的難度重新編程。這些資源限制大大地使無線移動站中的軟件升級操作變得復雜。
因此,在現(xiàn)有技術(shù)中需要用于執(zhí)行無線手持裝置和其他類型的移動站的自動軟件升級的改進系統(tǒng)和方法。特別地,在現(xiàn)有技術(shù)中需要用于執(zhí)行允許使用移動站手持裝置中的動態(tài)鏈接庫(DLLs)的空中傳輸軟件升級的系統(tǒng)和方法。
發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)中的上述缺陷,本發(fā)明的主要目的是提供能從軟件升級服務(wù)器,經(jīng)無線網(wǎng)絡(luò)無線地接收軟件文件的移動站。
本發(fā)明的另一目的是提供能經(jīng)無線網(wǎng)絡(luò),將軟件文件傳送到無線移動站的軟件升級服務(wù)器。
本發(fā)明的另一目的是提供能經(jīng)無線網(wǎng)絡(luò),由從軟件升級服務(wù)器接收的Δ文件升級的移動站。
根據(jù)本發(fā)明的優(yōu)選實施例,移動站包括1)能存儲軟件文件的存儲器;以及2)與存儲器有關(guān)的控制器,能經(jīng)無線網(wǎng)絡(luò)與軟件升級服務(wù)器通信,其中,控制器從軟件升級服務(wù)器接收識別能由移動站執(zhí)行的可用軟件文件的至少第一消息,以及其中,控制器確定可以將可用軟件文件安裝到其中的存儲器中的可用空間,并將與存儲器中的可用空間有關(guān)的目標地址傳送到軟件升級服務(wù)器。
根據(jù)本發(fā)明的一個實施例,目標地址表示存儲器中的可用空間的起始點。
根據(jù)本發(fā)明的另一實施例,存儲器中的可用空間是能存儲所有可用軟件文件的存儲器的連續(xù)塊。
根據(jù)本發(fā)明的另一實施例,可用軟件文件是動態(tài)鏈接庫(DLL)文件。
根據(jù)本發(fā)明的另一實施例,控制器由從軟件升級服務(wù)器接收的至少第一消息,確定第一可用軟件文件的文件大小。
根據(jù)本發(fā)明的另一實施例,控制器由第一可用軟件文件的文件大小,確定存儲器中的可用空間。
根據(jù)本發(fā)明的另一實施例,控制器能將升級請求消息傳送到軟件升級服務(wù)器,請求能由移動站執(zhí)行的可用軟件文件列表。
在本發(fā)明的優(yōu)選實施例中,移動站包括存儲器,能存儲初始圖象文件和適合于升級所述初始圖象文件的所述Δ文件;以及與所述存儲器有關(guān)的控制器,能經(jīng)所述無線網(wǎng)絡(luò)與所述軟件升級服務(wù)器通信。移動站能通過經(jīng)無線網(wǎng)絡(luò),從軟件升級服務(wù)器接收的Δ文件來升級。控制器從所述軟件升級服務(wù)器接收識別對應(yīng)于所述初始圖象文件的升級圖象文件的至少第一消息、響應(yīng)所述第一消息,將所述存儲器中與所述初始圖象文件有關(guān)的目標地址傳送到所述軟件升級服務(wù)器,以及根據(jù)存儲在所述Δ文件中的命令,通過改變所述初始圖象文件,在所述存儲器中產(chǎn)生所述升級圖象文件。
在本發(fā)明的另一優(yōu)選實施例中,軟件升級服務(wù)器包括數(shù)據(jù)庫,能將多個軟件升級文件存儲為用于所述移動站的對象文件和多個圖象文件;以及與所述數(shù)據(jù)庫有關(guān)的升級控制器,能經(jīng)所述無線網(wǎng)絡(luò)與所述移動站通信。軟件升級服務(wù)器能經(jīng)無線網(wǎng)絡(luò)升級移動站。升級控制器從所述移動站接收用于選擇所述多個軟件升級文件的一個的選擇消息和與所述移動站的存儲器中的初始圖象文件有關(guān)的目標地址、響應(yīng)接收的所述目標地址,鏈接所述多個軟件升級文件中的選定文件,以形成基于所述目標地址動態(tài)鏈接的動態(tài)鏈接庫(DLL)文件、產(chǎn)生對應(yīng)于所述初始圖象文件和所述DLL文件間的差異的Δ文件,以及將所述Δ文件傳送到所述移動站。
上文已經(jīng)相當寬泛地概述了本發(fā)明的特征和技術(shù)優(yōu)勢以便本領(lǐng)域的技術(shù)人員可以更好地理解以下的本發(fā)明的詳細描述。在下文中,將描述形成本發(fā)明的權(quán)利要求書的主題的本發(fā)明的另外的特征和優(yōu)點。本領(lǐng)域的技術(shù)人員應(yīng)意識到,它們可以很容易地使用所公開的原理和特定實施例,作為用于修改或設(shè)計用于執(zhí)行本發(fā)明的相同目的的其他結(jié)構(gòu)。本領(lǐng)域的技術(shù)人員還應(yīng)了解到這些等效的指示在其最寬形式方面不會背離本發(fā)明的精神和范圍。
在開始以下本發(fā)明的詳細描述之前,闡述在貫穿本專利文獻中使用的某些詞和短語的定義是很有利的術(shù)語“包括”和“包含”及其變型是指包括但不限定;術(shù)語“或”是包含,是指和/或;短語“與...有關(guān)”以及“與之有關(guān)”,及其變型可以指包括、包括在其中、與...交互作用、包含、包含在其中、連接到或與...連接、耦合到或...耦合、具有、具有...屬性等等;以及術(shù)語“控制器”表示控制至少一個操作的任何設(shè)備、系統(tǒng)或及其部分,這種設(shè)備可以用硬件、固件或軟件,或至少二者的某一組合來實現(xiàn)。應(yīng)注意到與任何特定服務(wù)器有關(guān)的功能性可以集中化或分布,不管是本地還是遠程。在貫穿本發(fā)明文獻提供用于某些詞和短語的定義,本領(lǐng)域的技術(shù)人員應(yīng)當理解在許多,如果不是大多數(shù)實例中,這些定義應(yīng)用于這些限定的詞和短語的以前,以及未來使用。
為更全面地了解本發(fā)明及其優(yōu)點,現(xiàn)在參考下述結(jié)合附圖的描述,其中相同的標記表示相同的對象,以及其中圖1根據(jù)本發(fā)明的實施例,示例說明示例性無線網(wǎng)絡(luò);圖2根據(jù)本發(fā)明的實施例,更詳細地示例說明示例性移動站;圖3根據(jù)本發(fā)明的一個實施例,示例說明示例性升級服務(wù)器;圖4是根據(jù)本發(fā)明的第一示例性實施例,示例說明移動站的升級操作的流程圖;以及圖5是根據(jù)本發(fā)明的第二示例性實施例,示例說明移動站的升級操作的流程圖。
具體實施例方式
用來描述本專利文獻中的本發(fā)明的原理的以下論述的圖1至圖4,以及各個實施例僅通過舉例以及不應(yīng)當以任何方式解釋為限定本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員將理解到可以用任何適當安排的無線網(wǎng)絡(luò)實現(xiàn)本發(fā)明的原理。
圖1根據(jù)本發(fā)明的一個實施例,示例說明示例性無線網(wǎng)絡(luò)100。無線網(wǎng)絡(luò)100包括多個覆蓋區(qū)域(cell site)121-123,每個包含一個基站BS101、BS102或BS103。基站101-103與在碼分多路存取(CDMA)信道上的多個移動站(MS)111-114通信。移動站111-114可以是任何適當?shù)臒o線設(shè)備,包括常規(guī)蜂窩無線電話、PCS手持設(shè)備、個人數(shù)字助理、便攜式計算機或測量設(shè)備。本發(fā)明不限于移動設(shè)備??梢允褂闷渌愋偷拇嫒〗K端,包括固定無線終端。然而,為簡便起見,在下文中僅示出和論述移動站。
虛線表示基站101-103所處的覆蓋區(qū)域121-123的近似邊界。僅為示例和說明目的,覆蓋區(qū)域僅為接近圓形。應(yīng)當很清楚地理解到根據(jù)所選擇的覆蓋區(qū)域結(jié)構(gòu)以及自然和人工障礙物,覆蓋區(qū)域可以具有其他不規(guī)則形狀。
如本領(lǐng)域所公知的,覆蓋區(qū)域121-123由多個扇區(qū)(未示出)組成,每個扇區(qū)用連接到基站的定向天線照明。圖1的實施例示例說明覆蓋區(qū)域中心的基站。可選的實施例將定向天線放在扇區(qū)角中。本發(fā)明的系統(tǒng)不限于任何特定的覆蓋區(qū)域結(jié)構(gòu)。
在本發(fā)明的一個實施例中,BS101、BS102和BS103包括基站控制器(BSC)和一個或多個基本收發(fā)信器子系統(tǒng)(BTS)?;究刂破骱突臼瞻l(fā)信機子系統(tǒng)對本領(lǐng)域的技術(shù)人員來說是非常公知的?;究刂破魇枪芾碛糜跓o線通信網(wǎng)絡(luò)中的特定覆蓋區(qū)域的無線通信資源,包括基本收發(fā)信機站的設(shè)備?;臼瞻l(fā)信機子系統(tǒng)包括RF收發(fā)信機、天線和位于每個覆蓋區(qū)域中的其他電子設(shè)備。這一設(shè)備可以包括空調(diào)設(shè)備、加熱裝置、電源、電話線接口以及RF發(fā)射機和RF接收機。為說明本發(fā)明的操作的簡便和清楚起見,在每個覆蓋區(qū)域121、122和123中的基本收發(fā)信機子系統(tǒng)和與每個收發(fā)信機子系統(tǒng)有關(guān)的基站控制器分別共同用BS101、BS102和BS103表示。
BS101、BS102和BS103經(jīng)通信線路131和移動交換中心(MSC)140,在彼此和公共開關(guān)電話網(wǎng)絡(luò)(PSTN)(未示出)間傳送語音和數(shù)據(jù)信號。BS101、BS102和BS103也經(jīng)通信線路131和分組數(shù)據(jù)服務(wù)器節(jié)點(PDSN)150,與Internet(未示出)傳送數(shù)據(jù)信號,諸如分組數(shù)據(jù)。線路131還提供連接通路以便在MSC140和BS101、BS102和BS103間傳送控制信號,用來建立用于MSC140和BS101、BS102和BS103間的語音和數(shù)據(jù)電路的連接。
通信線路131可以是任何適當?shù)倪B接裝置,包括T1線路、T3線路、光纖鏈接、網(wǎng)絡(luò)分組數(shù)據(jù)中樞連接,以及任何其他類型的數(shù)據(jù)連接。線路131將BSC中的每個聲碼器與MSC140中的開關(guān)元件連接。本領(lǐng)域的技術(shù)人員將意識到線路131上的連接可以提供用于傳輸音頻信號的傳輸通路、用于以脈沖編碼調(diào)制(PCM)格式傳輸聲音信號的數(shù)字通路、用于以網(wǎng)際協(xié)議(IP)格式傳輸聲音信號的數(shù)字通路、用于以異步傳輸模式(ATM)格式或其他適合的連接傳輸協(xié)議傳輸聲音信號的數(shù)字通路。本領(lǐng)域的技術(shù)人員將意識到線路131上的連接可以提供于以適當?shù)男帕顓f(xié)議傳輸數(shù)字或模擬控制信號的傳輸通路。
MSC140是提供服務(wù)無線網(wǎng)絡(luò)的外部網(wǎng)絡(luò),諸如PSTN或Internet中的用戶間的協(xié)調(diào)的開關(guān)設(shè)備。MSC140對本領(lǐng)域的技術(shù)人員來說是非常公知的。在本發(fā)明的一些實施例中,通信線路131可以是幾種不同的數(shù)據(jù)鏈路,其中每個數(shù)據(jù)鏈路將BS101、BS102或BS103的一個連接到MSC140。
在示例性的無線網(wǎng)絡(luò)100中,MS111位于覆蓋區(qū)域121中并且與BS101通信。MS113位于覆蓋區(qū)域122中并與BS102通信。MS114位于覆蓋區(qū)域123中并與BS103通信。MS112還位于覆蓋區(qū)域123的邊緣附近并在覆蓋區(qū)域123的方向中移動,用最接近MS112的方向箭頭表示。在某一點,當MS112移入覆蓋區(qū)域123并移出覆蓋區(qū)域121時,將發(fā)生切換(hand-off)。
眾所周知,切換過程將呼叫控制從第一覆蓋區(qū)域傳送到第二覆蓋區(qū)域。當MS112從覆蓋區(qū)域121移動到覆蓋區(qū)域123時,MS112刪除來自BS103的導頻信號并將導頻強度測量消息發(fā)送到BS101。當由BS103傳送并由MS112接收和報告的導頻強度超出閾值時,BS101通過向目標BS103發(fā)出需要切換的信號來啟動軟切換過程,如在TIA/EIAIS95或TIA/EIA IS2000中所述。
BS103和MS112進行建立CDMA信道中的通信鏈路的協(xié)商。在建立BS103和MS112間的通信鏈路后,在軟切換模式中,MS112與BS101和BS103通信。本領(lǐng)域的技術(shù)人員將意識到軟切換提高了正向(BS到MS)信道和反向(MS到BS)信道鏈路的性能。當來自BS101的信號落在預定信號強度閾值以下時,那么MS112可以撤消與BS101的鏈路并僅從BS103接收信號。從而該呼叫被無縫地從BS101傳送到BS103。上述軟切換假定移動站處于聲音或數(shù)據(jù)呼叫中。空閑切換是正在控制或?qū)ず粜盘栔型ㄐ诺囊苿诱镜母采w區(qū)域間的切換。
可以通過空中傳輸(OTA)升級過程升級無線網(wǎng)絡(luò)100中的任何或所有移動站,OTA升級過程將新軟件從圖3所示的遠程升級服務(wù)器300傳送到移動站。根據(jù)本發(fā)明的原理,升級服務(wù)器300提供具有可用于個人計算機,但通常在蜂窩電話或類似的移動站中缺少的資源的選定移動站,例如MS111。特別地,升級服務(wù)器300從移動站(例如MS111)接收目標地址,以及作為響應(yīng),使用目標地址以便遠程鏈接與特定軟件升級有關(guān)的一組共享對象以便形成動態(tài)鏈接庫(DLL)。然后,空中傳輸傳送用于移動站的DLL文件并將其載入目標地址的存儲器中。用這種方式,遠程而不是在移動站中執(zhí)行與重新鏈接DLL有關(guān)的密集處理。
根據(jù)本發(fā)明的優(yōu)選實施例,可以通過Δ文件執(zhí)行用于移動站(例如MS111)的初始升級和隨后的小升級。在這一實施例中,升級服務(wù)器300將Δ文件dxy傳送到移動站。移動站執(zhí)行軟件算法以便從Δ文件讀取命令和數(shù)據(jù)。軟件算法例如,改變現(xiàn)有的操作系統(tǒng)軟件以便形成新(或升級)版本的操作系統(tǒng)軟件。在這一優(yōu)選實施例中,根據(jù)本發(fā)明的移動站通過無線下載小的Δ文件代替大的圖象文件,從而維持網(wǎng)絡(luò)帶寬。
創(chuàng)建Δ文件包括如下兩種任務(wù)1)應(yīng)用程序在能由移動站執(zhí)行固件的兩種版本間產(chǎn)生最小可能二進制數(shù)差異(即,“Δ文件”);以及2)在移動站中操作的軟件算法接收二進制Δ文件,將二進制Δ文件傳送到移動站中的現(xiàn)有圖象文件,以及將現(xiàn)有圖象文件轉(zhuǎn)換成新的圖象文件。
例如,假定IO表示現(xiàn)有圖象(例如,修訂版1.0)以及IN表示新圖象(例如修訂版1.1)。T(x,y)是通過兩個圖象x和y產(chǎn)生Δ文件dxy的應(yīng)用程序。P(dxy,x)是通過Δ文件dxy和圖象x重新構(gòu)成新圖象的軟件算法。新圖象文件y是通過T(x,y)實現(xiàn)的圖象文件y的精確位拷貝(exact bit copy)。
本發(fā)明包括下述步驟1)在主工作站或服務(wù)器上計算dxy=T(IO,IN);2)通過無線將dxy傳送到移動站(通常,dxy遠小于IN);以及3)在移動站中執(zhí)行軟算法P(dxy,IO)(P(dxy,IO)的輸出按位準確地表示圖象IN)。
圖2根據(jù)本發(fā)明的優(yōu)選實施例,示例說明無線移動站111。無線移動站111包括天線205、射頻(RF)收發(fā)信機210、傳輸(TX)處理電路215、麥克風220以及接收(RX)處理電路225。MS111還包括揚聲器230、主處理器240、輸入/輸出(I/O)接口(IF)245、鍵盤250、顯示器255和存儲器260。存儲器26進一步包括基本操作系統(tǒng)(OS)程序261、升級控制程序262、重新鏈接DLL263空間、P(dxy,IO)算法程序264和Δ文件dxy265。
射頻(RF)收發(fā)信機210從天線205接收由無線網(wǎng)絡(luò)100的基站傳送的呼入RF信號。射頻(RF)收發(fā)信機210下變頻呼入RF信號以產(chǎn)生中頻(IF)或基帶信號。IF或基帶信號被發(fā)送到通過過濾、解碼和/或數(shù)字化基帶或IF信號以產(chǎn)生處理過的基帶信號的接收機(RX)處理電路225以便產(chǎn)生處理過的基帶信號。接收機(RX)處理電路225將處理過的基帶信號(即,語音數(shù)據(jù))傳送到揚聲器230或傳送到主處理器240,用于進一步處理(例如,web瀏覽)。
發(fā)射機(TX)處理電路215從麥克風220接收模擬或數(shù)字語音數(shù)據(jù)或從主處理器240接收呼出基帶數(shù)據(jù)(例如,web數(shù)據(jù)、e-mail、交互式電視游戲數(shù)據(jù))。發(fā)射機(TX)處理電路215編碼、多路傳輸和/或數(shù)字化呼出基帶數(shù)據(jù)以便產(chǎn)生處理過的基帶或IF信號。射頻(RF)收發(fā)信機210從發(fā)射機(TX)處理電路215接收呼出處理過的基帶或IF信號。射頻(RF)收發(fā)信機210將基帶或IF信號上變頻為經(jīng)天線傳送的射頻(RF)信號。
在本發(fā)明的優(yōu)選實施例中,主處理器240是微處理器或微控制器。存儲器260連接到主處理器240上。根據(jù)本發(fā)明的優(yōu)選實施例,存儲器260的一部分包括隨機存取存儲器(RAM)以及存儲器260的另一部分包括充當只讀存儲器(ROM)的閃速存儲器。
主處理器240執(zhí)行存儲在存儲器260中的基本操作系統(tǒng)(OS)程序261以便控制無線移動站111的整體操作。在一個這種操作中,主處理器240根據(jù)非常公知的原理,通過射頻(RF)收發(fā)信機210、接收(RX)處理電路225以及發(fā)射機(TX)處理電路215,控制接收正向信道信號以及傳輸反向信道信號。
主處理器240能執(zhí)行其他處理和駐留在存儲器260中的程序。主處理器240根據(jù)執(zhí)行過程的需要,能將數(shù)據(jù)移入或移出存儲器260。主處理器240還能連接到I/O接口245。I/O接口245為移動站111提供連接到其他設(shè)備諸如膝上型計算機和手持計算機的能力。I/O接口245是這些附件和主控制器240間的通信通路。
主處理器240還能連接到鍵盤250和顯示單元255。移動站111的操作者使用鍵盤250將數(shù)據(jù)輸入移動站111。顯示器255可以是能再現(xiàn)來自web站點的文本和/或至少有限圖形的液晶顯示器。另外的實施例可以使用其他類型的顯示器。
根據(jù)本發(fā)明的原理,主處理器240還能在升級控制程序262的控制下,接收安裝軟件升級。OTA升級過程可以是下述兩種過程之一。在第一種OTA升級過程中,其可以在升級程序?qū)σ苿诱?11來說完全是新的或基本上不同于在前版本的情況下執(zhí)行,所有升級程序被從升級服務(wù)器300遠程鏈接風,然后傳送到移動站111。在第二種OTA升級過程中,其可以在升級程序具有不同于安裝在移動站111的現(xiàn)有程序的相對小的部分的情況下執(zhí)行,能使用Δ文件。
在第二種OTA升級過程中,升級程序被從升級服務(wù)器300遠程鏈接,以及使用不同的檢測程序來檢測升級程序和已經(jīng)安裝在移動站111中的在前版本的程序間的差異。然后,升級服務(wù)器300在所檢測的兩個程序間的差異的基礎(chǔ)上,產(chǎn)生一個或多個Δ文件。最后,僅將所產(chǎn)生的一個或多個Δ文件傳送到移動站111。
上述OTA升級過程可以用任何傳統(tǒng)的觸發(fā)事件,諸如操作者啟動動作、自動定期過程(即,MS111中的定時器期滿),或接到到來自升級服務(wù)器300的通知消息來啟動。通知消息可以包括基于短消息服務(wù)(SMS)的OTA通知。響應(yīng)這種觸發(fā)事件的任何一個,主處理器240經(jīng)無線網(wǎng)絡(luò)100的Internet連接,建立到無線網(wǎng)絡(luò)100和服務(wù)器的通信鏈路。
當建立通信鏈路時,主處理器240請求用于其類型的移動站的可用升級的列表。升級服務(wù)器300通過升級程序的列表和那些升級程序的資源需要(即,存儲器空間、處理器速度)響應(yīng)。作為另一例子,當建立通信鏈路時,升級服務(wù)器300可以簡單地向主處理器240報告軟件升級可用并準備傳輸。
然后主處理器240選擇所需升級程序(如果需要的話,通過操作者許可)并確定存儲器260中足夠保存所選定的升級程序的鄰近空間。在圖2中,這一空間是重新鏈接DLL空間263,其開始于目標地址270。主處理器240告知升級服務(wù)器300(圖3所示)所選定的升級程序的身份同時還告知升級服務(wù)器300DLL將存儲在目標地址270。
圖3示例說明根據(jù)本發(fā)明的一個實施例的示例性升級服務(wù)器300。升級服務(wù)器300包括升級控制器305和存儲器310。存儲器310存儲應(yīng)用程序和與升級服務(wù)器300的操作有關(guān)的數(shù)據(jù),包括升級服務(wù)器應(yīng)用程序315、動態(tài)鏈接庫(DLL)重新鏈接應(yīng)用程序320和移動站(MS)升級數(shù)據(jù)庫330。MS升級數(shù)據(jù)庫30包括多個對象文件,包括示例性對象文件331、332和333,以及多個圖象文件,包括示例性圖象文件341、342和343。根據(jù)能升級移動站111的Δ文件的操作,使用T(x,y)實用算法程序325和圖象文件341、342和343。
升級控制器305在升級服務(wù)器應(yīng)用程序315的控制下操作以便提供用于無線網(wǎng)絡(luò)100中的無線電臺的軟件升級服務(wù)。升級服務(wù)器應(yīng)用程序315與MS111中的主處理器240通信。升級服務(wù)器應(yīng)用程序315從MS111接收升級請求并根據(jù)MS111的銷售商和型號,或一些類似的標準,識別MS升級數(shù)據(jù)庫330中的可用升級。升級服務(wù)器應(yīng)用程序315還從MS111接收目標地址270,以及作為響應(yīng),啟動DLL重新鏈接程序320。DLL重新鏈接程序320識別與MS111請求的軟件升級有關(guān)的MS升級數(shù)據(jù)庫中的選定的一個目標文件。當整個DLL文件為新(即,當其不是現(xiàn)存于移動站111中的文件)時,將DLL文件傳送到升級控制器305,其將DLL文件中繼到MS111,用于OTA下載。
圖4描述流程圖400,其示例說明根據(jù)本發(fā)明的示例性實施例的MS111的升級操作。響應(yīng)1)用戶提示;2)定時器期滿;或3)來自升級服務(wù)器300的通知消息的一個或多個,MS111請求并從升級服務(wù)器300接收有關(guān)可用軟件升級的信息。作為響應(yīng),MS111識別用于保存重新鏈接DLL碼的存儲器260(即,閃速存儲器)的適當?shù)倪B續(xù)塊(過程步驟405),然后MS111將目標地址270傳送到升級服務(wù)器300(過程步驟410)。升級服務(wù)器300基于目標地址270檢索用于請求升級的所需對象文件以及重新鏈路對象文件以便形成DLL(過程步驟415)。接著,將重新鏈接DLL傳送到MS111(過程步驟420)。MS111重新編程閃速存儲器并將重新鏈接DLL文件存儲在以目標地址270開始的存儲器260中(過程步驟425)。在重啟時,MS111指向目標地址270以便執(zhí)行重新鏈接DLL碼(過程步驟430)。
在上述描述中,假定目標地址是存儲器260中可用存儲空間的開始點。然而這并不嚴格必要。本領(lǐng)域的普通技術(shù)人員將意識到可以很容易修改升級服務(wù)器300和MS111以便通過位于未端,或可用存儲空間中的中間點的目標地址操作。在這些可選實施例中,升級服務(wù)器300可以使用終點(或中間點)以及文件大小來計算DLL必定所處的存儲器260中的起始點。然后升級服務(wù)器300使用所計算的起始點來鏈接DLL文件。
如上所述,當相對小部分升級程序不同于移動站111中的現(xiàn)有程序時,可以使用Δ文件。根據(jù)本發(fā)明的原理,在存儲在存儲器265中的Δ文件dxy的形式,將升級程序傳送到移動站111。然后,P(dxy,IO)算法程序264接收Δ文件265并將Δ文件265應(yīng)用到已經(jīng)安裝在移動站111中的初始圖象文件IO以便產(chǎn)生新的圖象文件IN。例如。將升級的圖象文件IO可以是以目標地址270開始的重新鏈接DLL空間263中的應(yīng)用程序。在升級中,根據(jù)Δ文件265中數(shù)據(jù)和命令,由閃速存儲器執(zhí)行P(dxy,IO)算法程序264,以及重新鏈接DLL空間263中的應(yīng)用程序被修改和執(zhí)行以便產(chǎn)生升級圖象文件IN。然后,移動站111執(zhí)行重新鏈接DLL空間263中的應(yīng)用程序的升級版本。
通過比較升級程序,諸如遠程鏈接DLL文件和存在于移動站111中的相同程序的在前版本間的差異,產(chǎn)生Δ文件諸如Δ文件265。升級服務(wù)器應(yīng)用程序315從MS111接收升級請求并向移動站111執(zhí)行升級是可能的。升級服務(wù)器應(yīng)用程序315根據(jù)MS111的銷售商和型號,或一些類似的標準,識別MS升級數(shù)據(jù)庫330中的可用升級。
升級服務(wù)器應(yīng)用程序315還接收移動站111中的軟件應(yīng)用的當前版本號。升級服務(wù)器應(yīng)用程序315使用當前版本號來確認移動站的升級數(shù)據(jù)庫330中的初始(或當前)圖象文件IO以及新(或升級)圖象文件IN。根據(jù)本發(fā)明的原理,初始圖象文件IO由具有已經(jīng)鏈接到升級器300的DLL文件組成并傳送到移動站110。另外,新(或升級)圖象文件IN能通過鏈接至少兩個對象文件331、332和333形成,如參考圖4所示。在這點上,移動站111能傳送重新鏈接DLL空間263中的初始圖象文件I的目標地址270。此后,升級服務(wù)器300使用目標地址270來確認存儲在移動站升級數(shù)據(jù)庫330中的初始相應(yīng)圖象文件IO。
此后,升級服務(wù)器應(yīng)用程序315執(zhí)行用于IO和IN的T(x,y)實用算法程序325以便產(chǎn)生將傳送到移動站111的Δ文件dxy。由于目標地址270用IO和IN來說是相同的,升級服務(wù)器應(yīng)用程序315使用目標地址270產(chǎn)生Δ文件265。Δ文件265被傳送到升級控制器305,其將Δ文件265中繼到移動站111,用于OTA下載。
圖5描述流程圖500,其示例說明根據(jù)本發(fā)明的示例性寶瓶座列,經(jīng)無線網(wǎng)絡(luò)100的MS111的升級操作。響應(yīng)1)用戶提示;2)定時器期滿;或3)來自升級服務(wù)器300的通知消息的一個或多個,MS111傳送有關(guān)MS111中的現(xiàn)有軟件程序的版本號(處理步驟505)。這一信息包括用于每個這種軟件程序的目標地址270。升級服務(wù)器300搜索升級數(shù)據(jù)庫330并使用版本信號和目標地址270獲得初始圖象文件IO。升級服務(wù)器300還搜索對應(yīng)于用于特定類型的移動站的初始圖象文件IO的新(或升級)圖象文件IN。
然后,升級服務(wù)器300通過輸入執(zhí)行T(x,y)實用算法程序(utilityalgorithm program),其中,x=IO以及y=IN。然后,執(zhí)行輸出是Δ文件dxy265(處理步驟515)??蛇x地,在MS111不包括P(dxy,IO)算法程序264的情況下,升級服務(wù)器300能將P(dxy,IO)算法程序264增加到Δ文件265上以便執(zhí)行升級。然后,Δ文件265被傳送到MS111(處理步驟520)。MS111接收Δ文件265并將其存儲在臨時非易失存儲器(即,閃速存儲器)。通常,Δ文件265具有遠小于IO圖象文件或IN圖象文件的大小,從而導致不會在存儲器出現(xiàn)問題。
在下載所有Δ文件dxy后,MS111通過MDS、HAMC-DS或類似的校驗和算法全部校驗Δ文件dxy265。此后,MS111執(zhí)行P(dxy,IO)算法程序264。初始圖象文件IO已經(jīng)存在于MS111中。通過執(zhí)行P(dxy,IO)算法程序264發(fā),將初始圖象文件IO(即,操作系統(tǒng)程序261)改變?yōu)樾聢D象IN的精確拷貝(處理步驟525)。在重啟后,MS111執(zhí)行新(或升級)圖象文件(處理步驟530)。
根據(jù)本發(fā)明的實施例,Δ文件dxy265可以包括如下重要信息1)在P(dxy,IO)算法程序264完成其操作后校驗的新圖象IN的密碼安全校驗和;2)圖象IN的最終大??;以及3)用于將現(xiàn)有圖象文件IO改變到新圖象文件IN的命令。
Δ文件dxy265中的命令可以包括例如以下a)將M字節(jié)字符數(shù)據(jù)增加到偏移N中;b)將來自偏移M中的初始圖象的數(shù)據(jù)拷貝到新的偏移N中;以及c)刪除偏移M中的N字節(jié)數(shù)據(jù)。
可選地,可以使用各種傳統(tǒng)算法,包括LZW、GZIP、RLE、ZIP等等壓縮Δ文件dxy265以便進一步降低OTA傳輸大小。
在另一方法中,能將Δ文件dxy265通過Internet下載到個人計算機上,以及能通過專用用戶支持軟件或由個人計算機管理的串行端口,重新編程MS111。這一方法允許快速和容易升級大量軟件,因為其僅需要小的Δ文件而不需要編程整個軟件。
根據(jù)本發(fā)明,移動站可以將軟件文件存儲在存儲器中、通過通信,從軟件升級服務(wù)器接收表示能由移動站執(zhí)行的可用軟件文件的至少第一消息、確定可以存儲可用軟件文件的存儲器中的可用空間,以及將與存儲器中的可用空間有關(guān)的目標地址傳送到軟件升級服務(wù)器。因此,移動站能通過無線網(wǎng)絡(luò),從軟件升級服務(wù)器無線地接收軟件文件。
根據(jù)本發(fā)明的移動站還能存儲初始圖象文件和適合于升級初始圖象文件的Δ文件、通過通信,經(jīng)無線網(wǎng)絡(luò)從軟件升級服務(wù)器接收消息、響應(yīng)所接收的信息,將與初始圖象文件有關(guān)的存儲器中的目標地址傳送到軟件升級服務(wù)器,以及通過根據(jù)存儲在Δ文件中的命令,改變初始圖象文件來在存儲器中產(chǎn)生升級圖象文件。因此,能通過經(jīng)無線網(wǎng)絡(luò),從軟件升級服務(wù)器接收的Δ文件升級移動站。
盡管已經(jīng)詳細地描述了本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員應(yīng)理解到在不背離以最寬形式中的本發(fā)明的精神和范圍的情況下,能做出各種修改、取代和改變。
權(quán)利要求
1.一種移動站,能通過經(jīng)無線網(wǎng)絡(luò),從軟件升級服務(wù)器接收的Δ文件來升級,所述移動站包括存儲器,能存儲初始圖象文件和適合于升級所述初始圖象文件的所述Δ文件;以及與所述存儲器有關(guān)的控制器,能經(jīng)所述無線網(wǎng)絡(luò)與所述軟件升級服務(wù)器通信,其中,所述控制器從所述軟件升級服務(wù)器接收識別對應(yīng)于所述初始圖象文件的升級圖象文件的至少第一消息、響應(yīng)所述第一消息,將所述存儲器中與所述初始圖象文件有關(guān)的目標地址傳送到所述軟件升級服務(wù)器,以及根據(jù)存儲在所述Δ文件中的命令,通過改變所述初始圖象文件,在所述存儲器中產(chǎn)生所述升級圖象文件。
2.如權(quán)利要求1所述的移動站,其中,所述目標地址表示所述存儲器中的所述初始圖象文件的起始點。
3.如權(quán)利要求1所述的移動站,其中,所述控制器能經(jīng)所述無線網(wǎng)絡(luò),與所述軟件升級服務(wù)器通信,以及所述控制器將用于識別所述初始圖象文件的當前版本的版本號傳送到所述軟件升級服務(wù)器。
4.如權(quán)利要求3所述的移動站,其中,所述控制器響應(yīng)從所述軟件升級服務(wù)器接收的通知消息,將所述版本號傳送到所述軟件升級服務(wù)器。
5.如權(quán)利要求3所述的移動站,其中,所述控制器響應(yīng)從所述移動站的操作者接收的用戶提示,將所述版本號傳送到所述軟件升級服務(wù)器。
6.如權(quán)利要求3所述的移動站,其中,所述控制器響應(yīng)定時器期滿,將所述版本號傳送到所述軟件升級服務(wù)器。
7.如權(quán)利要求3所述的移動站,其中,所述Δ文件包括與所述升級圖象文件有關(guān)的文件大小。
8.如權(quán)利要求3所述的移動站,其中,所述Δ文件包括與所述升級圖象文件有關(guān)的至少一個校驗和值。
9.如權(quán)利要求1所述的移動站,其中,所述控制器由從所述軟件升級服務(wù)器接收的至少第一消息,確定所述升級圖象文件的文件大小。
10.如權(quán)利要求1所述的移動站,其中,所述控制器能將升級請求消息傳送到所述軟件升級服務(wù)器,請求能由所述移動站執(zhí)行的可用軟件文件列表。
11.一種用于升級存儲在移動站的存儲器中的初始圖象文件的方法,所述移動站能通過經(jīng)無線網(wǎng)絡(luò)從軟件升級服務(wù)器接收的Δ文件升級,所述方法包括步驟從所述軟件升級服務(wù)器接收識別對應(yīng)于所述初始圖象文件的升級圖象文件的至少第一消息;響應(yīng)所述第一消息,將在所述存儲器中、與所述初始圖象文件有關(guān)的目標地址傳送到所述軟件升級服務(wù)器;從所述軟件升級服務(wù)器接收能升級存儲在所述移動站的所述存儲器中的所述初始圖象文件的所述Δ文件;將所述Δ文件存儲在所述移動站的所述存儲器中;以及根據(jù)存儲在Δ文件中的命令,通過改變所述初始圖象文件,在所述移動站的所述存儲器中產(chǎn)生所述升級圖象文件。
12.如權(quán)利要求11所述的方法,其中,所述目標地址表示所述存儲器中的所述初始圖象文件的起始點。
13.如權(quán)利要求11所述的方法,進一步包括將用于識別所述初始圖象文件的當前版本的版本號傳送到所述軟件升級服務(wù)器的步驟。
14.如權(quán)利要求13所述的方法,其中,響應(yīng)從所述軟件升級服務(wù)器接收的通知消息,將所述版本號傳送到所述軟件升級服務(wù)器。
15.如權(quán)利要求13所述的方法,其中,響應(yīng)從所述移動站的操作者接收的用戶提示,將所述版本號傳送到所述軟件升級服務(wù)器。
16.如權(quán)利要求13所述的方法,其中,響應(yīng)定時器期滿,將所述版本號傳送到所述軟件升級服務(wù)器。
17.如權(quán)利要求13所述的方法,其中,所述Δ文件包括與所述升級圖象文件有關(guān)的文件大小。
18.如權(quán)利要求17所述的方法,其中,所述Δ文件包括與所述升級圖象文件有關(guān)的至少一個校驗和值。
19.如權(quán)利要求11所述的方法,進一步包括將升級請求消息傳送到所述軟件升級服務(wù)器,請求能由所述移動站執(zhí)行的可用軟件文件列表的步驟。
20.一種軟件升級服務(wù)器,能經(jīng)無線網(wǎng)絡(luò)升級移動站,所述軟件升級服務(wù)器包括數(shù)據(jù)庫,能將多個軟件升級文件存儲為用于所述移動站的對象文件和多個圖象文件;以及與所述數(shù)據(jù)庫有關(guān)的升級控制器,能經(jīng)所述無線網(wǎng)絡(luò)與所述移動站通信,其中,所述升級控制器從所述移動站接收用于選擇所述多個軟件升級文件的一個的選擇消息和與所述移動站的存儲器中的初始圖象文件有關(guān)的目標地址、響應(yīng)接收的所述目標地址,鏈接選定的所述多個軟件升級文件中的文件,以形成基于所述目標地址動態(tài)鏈接的動態(tài)鏈接庫(DLL)文件、從所述數(shù)據(jù)庫查找所述初始圖象文件的拷貝,產(chǎn)生對應(yīng)于所述初始圖象文件和所述DLL文件間的差異的Δ文件,以及將所述Δ文件傳送到所述移動站。
21.如權(quán)利要求20所述的軟件升級服務(wù)器,其中,所述目標地址表示所述存儲器中所述初始圖象文件的起始點。
22.如權(quán)利要求20所述的軟件升級服務(wù)器,其中,所述升級控制器能將通知消息傳送到所述移動站,其允許所述移動站將版本號傳送到所述軟件升級服務(wù)器。
23.如權(quán)利要求20所述的軟件升級服務(wù)器,其中,所述升級控制器能從所述移動站接收請求能由所述移動站執(zhí)行的可用軟件文件的列表的升級請求消息。
24.一種經(jīng)無線網(wǎng)絡(luò),通過軟件升級服務(wù)器升級移動站的方法,所述方法包括步驟將多個軟件升級文件作為用于所述移動站的對象文件和多個圖象文件存儲在數(shù)據(jù)庫中;從所述移動站接收用于選擇所述多個軟件升級文件的一個的選擇消息以及與所述移動站的存儲器中的初始圖象文件有關(guān)的目標地址;響應(yīng)接收的所述目標地址,鏈接選定的所述多個軟件升級文件的中的文件,以形成基于所述目標地址動態(tài)鏈接的動態(tài)鏈接庫(DLL)文件;從所述數(shù)據(jù)庫搜索所述初始圖象文件的拷貝;產(chǎn)生對應(yīng)于所述初始圖象文件和所述DLL文件間的差異的Δ文件;以及將所述Δ文件傳送到所述移動站。
25.一種能經(jīng)無線網(wǎng)絡(luò),無線地從軟件升級服務(wù)器接收軟件文件的移動站,所述移動站包括存儲器,能存儲所述軟件文件;以及與所述存儲器有關(guān)的控制器,能經(jīng)所述無線網(wǎng)絡(luò),與所述軟件升級服務(wù)器通信,其中,所述控制器從所述軟件升級服務(wù)器接收識別能由所述移動站執(zhí)行的可用軟件文件的至少第一消息,以及其中,所述控制器確定可以將所述可用軟件文件存儲到其中的所述存儲器中的可用空間,并將與所述存儲器中的所述可用空間有關(guān)的目標地址傳送到所述軟件升級服務(wù)器。
26.如權(quán)利要求25所述的移動站,其中,所述目標地址表示所述存儲器中的所述可用空間的起始點。
27.如權(quán)利要求26所述的移動站,其中,所述存儲器中的所述可用空間是能存儲所有所述可用軟件文件的存儲器的連續(xù)塊。
28.如權(quán)利要求27所述的移動站,其中,所述可用軟件文件是動態(tài)鏈接庫(DLL)文件。
29.如權(quán)利要求25所述的移動站,其中,所述控制器由從所述軟件升級服務(wù)器接收的至少第一消息,確定所述第一可用軟件文件的文件大小。
30.如權(quán)利要求29所述的移動站,其中,所述控制器由所述第一可用軟件文件的所述文件大小,確定所述存儲器中的所述可用空間。
31.一種用在能經(jīng)無線網(wǎng)絡(luò),從軟件升級服務(wù)器無線地接收軟件文件的移動站中,升級移動站中的軟件的方法,包括步驟從軟件升級服務(wù)器接收識別能由移動站執(zhí)行的可用軟件文件的至少第一消息;搜索移動站的存儲器以確定可以將可用軟件文件存儲到其中的可用空間;以及將與存儲器中的可用空間有關(guān)的目標地址傳送到軟件升級服務(wù)器。
32.如權(quán)利要求31所述的方法,其中,目標地址表示存儲器中可用空間的起始點。
33.如權(quán)利要求32所述的方法,其中,存儲器中的可用空間是能存儲所有可用軟件文件的存儲器的連續(xù)塊。
34.如權(quán)利要求33所述的方法,其中,可用軟件文件是動態(tài)鏈接庫(DLL)文件。
35.如權(quán)利要求31所述的方法,其中,從軟件升級服務(wù)器接收的至少第一消息包括第一可用軟件文件的大小。
36.如權(quán)利要求35所述的方法,其中,搜索存儲器的步驟由第一可用軟件文件的文件大小確定存儲器中的可用空間。
37.一種能將軟件文件經(jīng)無線網(wǎng)絡(luò)傳送到無線移動站的軟件升級服務(wù)器,所述軟件升級服務(wù)器包括數(shù)據(jù)庫,能將多個軟件升級文件存儲為多個對象文件;以及與所述數(shù)據(jù)庫有關(guān)的升級控制器,能經(jīng)所述無線網(wǎng)絡(luò)與所述移動站通信,其中,所述升級控制器從所述移動站接收選擇所述多個軟件升級文件的一個的選擇消息,以及與所述移動站的存儲器中的可用空間有關(guān)的目標地址,以及其中,所述升級控制器響應(yīng)接收的所述目標地址,鏈接所述多個對象文件中的選定的文件,以形成基于所述目標地址的動態(tài)鏈接庫(DLL)文件并將所述DLL文件傳送到所述移動站。
38.如權(quán)利要求37所述的軟件升級服務(wù)器,其中,所述目標地址表示在所述移動站存儲器中的所述可用空間的起始點。
39.如權(quán)利要求38所述的軟件升級服務(wù)器,其中,所述可用空間是能存儲所有所述DLL文件的存儲器的連續(xù)塊。
40.如權(quán)利要求37所述的軟件升級服務(wù)器,其中,所述升級控制器能從所述移動站接收請求能由所述移動站執(zhí)行的所述多個軟件升級文件的一個的列表的升級請求消息。
41.一種用在能經(jīng)無線網(wǎng)絡(luò),將軟件文件無線地傳送給移動站的軟件升級服務(wù)器中,升級移動站中的軟件文件的方法,包括步驟將多個軟件升級文件作為多個對象文件存儲在數(shù)據(jù)庫中;以及從移動站接收選擇多個軟件升級文件的一個的選擇消息和與移動站的存儲器中的可用空間有關(guān)的目標地址;響應(yīng)接收的目標地址,鏈接多個對象文件中的選定的文件,以形成基于目標地址的動態(tài)鏈接庫(DLL)文件;以及將DLL文件傳送到移動站。
42.如權(quán)利要求41所述的方法,其中,所述目標地址表示在移動站存儲器中的可用空間的起始點。
43.如權(quán)利要求42所述的方法,其中,可用空間是能存儲所有DLL文件的存儲器的連續(xù)塊。
44.如權(quán)利要求43所述的方法,進一步包括從移動站接收請求能由移動站執(zhí)行的多個軟件升級文件的一個的列表的升級請求消息的步驟。
全文摘要
一種軟件升級服務(wù)器,能經(jīng)無線網(wǎng)絡(luò)將軟件文件傳送到無線移動站。軟件升級服務(wù)器包括數(shù)據(jù)庫,能將多個軟件升級文件存儲為用于所述移動站的對象文件和多個圖象文件;以及與所述數(shù)據(jù)庫有關(guān)的升級控制器,能經(jīng)所述無線網(wǎng)絡(luò)與所述移動站通信。軟件升級服務(wù)器能經(jīng)無線網(wǎng)絡(luò)升級移動站。升級控制器從所述移動站接收用于選擇所述多個軟件升級文件的一個的選擇消息和與所述移動站的存儲器中的初始圖象文件有關(guān)的目標地址、響應(yīng)接收的所述目標地址,鏈接所述多個軟件升級文件中的選定的文件,以形成基于所述目標地址動態(tài)鏈接的動態(tài)鏈接庫(DLL)文件、產(chǎn)生對應(yīng)于所述初始圖象文件和所述DLL文件間的差異的Δ文件,以及將所述Δ文件傳送到所述移動站。
文檔編號G06F9/445GK1505433SQ200310119759
公開日2004年6月16日 申請日期2003年12月3日 優(yōu)先權(quán)日2002年12月5日
發(fā)明者J·莫爾斯·布萊恩, P·赫爾勒·祖德辛德魯, J 莫爾斯 布萊恩, 鍘ぷ嫻灤戀侶 申請人:三星電子株式會社