本公開(kāi)大體上涉及無(wú)線用戶設(shè)備,特別是涉及用于基于與設(shè)備相關(guān)聯(lián)的一個(gè)或多個(gè)場(chǎng)境來(lái)更新無(wú)線設(shè)備的固件的方法和系統(tǒng)。
背景技術(shù):
智能電話以及其他無(wú)線用戶設(shè)備通常被設(shè)計(jì)為具有使第一設(shè)備無(wú)線連接至第一設(shè)備的一定鄰近度內(nèi)的另一個(gè)設(shè)備并且由此與該另一設(shè)備通信信息的能力。這樣的無(wú)線連接和/或協(xié)議的示例包括近場(chǎng)通信(NFC)、無(wú)線保真(WiFi)或者射頻識(shí)別(RFID)。這些無(wú)線連接的建立要求搖手操作,其中在第一設(shè)備和/或其他設(shè)備處實(shí)施一些設(shè)置程序以啟用連接。此外,一旦建立連接,設(shè)備之間的連接質(zhì)量便可能受諸如使用環(huán)境的外部因素以及諸如設(shè)備中的一個(gè)或兩者的固件的內(nèi)部因素影響。建立連接和/或連接質(zhì)量存在的問(wèn)題常作為發(fā)起連接的第一用戶設(shè)備存在的問(wèn)題來(lái)報(bào)告。然而,所檢測(cè)到的問(wèn)題有時(shí)可能完全是因?yàn)榈诙O(shè)備,隨后對(duì)第一設(shè)備的修改和/或更改可能不會(huì)解決所檢測(cè)到的問(wèn)題。
附圖說(shuō)明
將結(jié)合附圖來(lái)閱讀說(shuō)明性實(shí)施例的描述,這些附圖提供了并非旨在限定本公開(kāi)的范圍的具體示例,并且其中:
圖1圖示根據(jù)一個(gè)或多個(gè)實(shí)施例的在監(jiān)視諸如移動(dòng)電話的第一無(wú)線設(shè)備與第二設(shè)備之間的近程無(wú)線連接以確定是否需要兩個(gè)設(shè)備中的至少一個(gè)的固件升級(jí)方面的示例性設(shè)備配對(duì)環(huán)境;
圖2提供了根據(jù)一個(gè)或多個(gè)實(shí)施例的表示為移動(dòng)電話的第一設(shè)備的功能性組件的更加詳細(xì)的視圖,該第一設(shè)備支持與附近的第二設(shè)備以及遠(yuǎn)程的固件更新服務(wù)(FUS)的無(wú)線連通性;
圖3圖示根據(jù)一個(gè)或多個(gè)實(shí)施例的位于第一設(shè)備的無(wú)線連接實(shí)用程序內(nèi)的固件更新實(shí)用程序(FUU)內(nèi)的功能性模塊的展開(kāi)視圖;
圖4A提供根據(jù)一個(gè)或多個(gè)實(shí)施例的示例性FUS的功能性組成的更加詳細(xì)的視圖;
圖4B提供根據(jù)一個(gè)實(shí)施例的、根據(jù)各個(gè)無(wú)線設(shè)備的識(shí)別特性所分配的當(dāng)前無(wú)線設(shè)備固件的示例FUS數(shù)據(jù)庫(kù)的更加詳細(xì)的視圖;
圖5是根據(jù)一個(gè)實(shí)施例的基于檢測(cè)到配對(duì)連接和/或第二設(shè)備的狀況而觸發(fā)所連接的第二設(shè)備的固件更新的通用方法的流程圖;
圖6(A至E)共同提供根據(jù)多個(gè)實(shí)施例的在第一無(wú)線設(shè)備內(nèi)執(zhí)行以基于不同的場(chǎng)境來(lái)識(shí)別狀況并且通過(guò)觸發(fā)對(duì)所連接的第二設(shè)備的一個(gè)或多個(gè)固件更新作出響應(yīng)的一個(gè)或多個(gè)方法的流程圖;
圖7是根據(jù)一個(gè)實(shí)施例、用于在修復(fù)所檢測(cè)到的狀況中基于FW更新的成功或者失敗而向FUS提供反饋?lái)憫?yīng)的方法的流程圖;以及
圖8是根據(jù)一個(gè)或多個(gè)實(shí)施例的由FUS實(shí)現(xiàn)以識(shí)別一個(gè)或多個(gè)所連接的無(wú)線設(shè)備所需的正確固件并且觸發(fā)所連接的無(wú)線設(shè)備中的一個(gè)或多個(gè)的固件的更新的方法的流程圖。
具體實(shí)施方式
本公開(kāi)的說(shuō)明性實(shí)施例提供一種無(wú)線設(shè)備以及一種在無(wú)線設(shè)備內(nèi)執(zhí)行的方法,該方法有助于更新第二無(wú)線設(shè)備的固件,所述無(wú)線設(shè)備經(jīng)由近程通信信道與該第二無(wú)線設(shè)備的固件以通信方式連接。根據(jù)一個(gè)方面,所述方法包括第一無(wú)線設(shè)備發(fā)起與第二無(wú)線設(shè)備的無(wú)線連接并且監(jiān)視與無(wú)線連接以及第二無(wú)線設(shè)備中的一個(gè)相關(guān)聯(lián)的至少一個(gè)場(chǎng)境。所述方法進(jìn)一步包括:當(dāng)接收到指示影響無(wú)線連接與第二設(shè)備的操作中的一個(gè)或多個(gè)的狀況的場(chǎng)境數(shù)據(jù)時(shí):確定用于第二無(wú)線設(shè)備的固件更新是否在固件更新服務(wù)(FUS)數(shù)據(jù)庫(kù)內(nèi)可用;以及當(dāng)從FUS數(shù)據(jù)庫(kù)接收到可用的固件更新時(shí),觸發(fā)第一無(wú)線設(shè)備以發(fā)起用于第二無(wú)線設(shè)備的固件更新。
根據(jù)一個(gè)方面,觸發(fā)第一無(wú)線設(shè)備以發(fā)起固件更新包括:傳送使第二設(shè)備置于固件更新模式中的命令;以及將固件更新轉(zhuǎn)發(fā)至第二設(shè)備,使得第一設(shè)備控制和/或發(fā)起第二設(shè)備的固件升級(jí)。
在下面的詳細(xì)描述中,對(duì)可以實(shí)踐本公開(kāi)的各方面的示例性實(shí)施例予以充分詳細(xì)的描述,以使本領(lǐng)域技術(shù)人員能夠?qū)嵺`本發(fā)明。應(yīng)理解的是,在不偏離本公開(kāi)的精神和范圍的情況下,可以利用其他實(shí)施例,并且可以做出邏輯、架構(gòu)、程序、機(jī)制、電子以及其他變化。因此,下文具體描述不應(yīng)被理解為限定性含義,并且本公開(kāi)由所附的權(quán)利要求和其等效內(nèi)容限定。
可以結(jié)合附圖閱讀對(duì)這些說(shuō)明性實(shí)施例的描述。包含本公開(kāi)教導(dǎo)的實(shí)施例被示出并且結(jié)合本文所示的圖進(jìn)行了描述。在對(duì)附圖的不同視圖的描述中,相似的元件被提供了與前面的(多個(gè))圖的名稱和附圖編號(hào)相似的名稱和附圖編號(hào)。指配給這些元件的具體附圖編號(hào)僅為了協(xié)助描述提供,并非旨在暗示對(duì)所描述實(shí)施例的任何限定(結(jié)構(gòu)性或功能性或其他)。將理解的是,為了圖示簡(jiǎn)單清楚起見(jiàn),在附圖中所示的元件未必按比例繪制。例如,一些元件的尺寸相對(duì)于其他元件被夸大。
應(yīng)理解的是特定組件、設(shè)備和/或參數(shù)名稱(諸如本文所描述的執(zhí)行的應(yīng)用、邏輯和/或固件的特定組件、設(shè)備和/或參數(shù)名稱)的使用僅用于示例,并非旨在暗示對(duì)于所描述實(shí)施例的任何限制。因此,可以在沒(méi)有限定的情況下,使用用來(lái)描述本文的組件、設(shè)備、參數(shù)、方法和/或功能的不同命名和/或術(shù)語(yǔ)描述所述實(shí)施例。在描述這些實(shí)施例的一個(gè)或多個(gè)元件、特征或概念過(guò)程中對(duì)任何特定協(xié)議或?qū)@Q的引用,僅是作為一種實(shí)施的示例,并且這些引用并不將所要求保護(hù)的實(shí)施例的擴(kuò)展限定于利用不同元件、特征、協(xié)議或概念名稱的實(shí)施例。因此,此處所使用的每個(gè)術(shù)語(yǔ)在使用該術(shù)語(yǔ)的場(chǎng)境中應(yīng)被賦予其最廣泛的解釋。
如下文進(jìn)一步描述的,本文所描述的本公開(kāi)的功能特征的實(shí)施方式被提供在處理設(shè)備和/或結(jié)構(gòu)中,并且可以涉及硬件、固件以及各種軟件層級(jí)的構(gòu)造的組合的使用(例如,程序代碼和/或程序指令和/或偽代碼),執(zhí)行其以提供用于設(shè)備的具體應(yīng)用或具體功能邏輯。展示的附圖圖示了硬件組件和軟件和/或邏輯組件。
本領(lǐng)域技術(shù)人員將理解的是,在附圖中描繪的硬件組件和基本配置可以變化。圖示的組件并非旨在窮盡所有,而代表性的,以突出用于實(shí)施所描述的實(shí)施例的多個(gè)方面的關(guān)鍵組件。例如,除了或所描述的硬件和/或固件之外(或?qū)⑵涮娲?,可以使用其他的設(shè)備/組件。描述的示例并不意在暗示關(guān)于當(dāng)前描述的實(shí)施例和/或一般發(fā)明的架構(gòu)性或其他限制。
圖1圖示示例性配對(duì)設(shè)備固件更新(PDFU)環(huán)境100,其中能夠利用固件更新服務(wù)(FUS)150以促進(jìn)更新彼此配對(duì)連接的一個(gè)或多個(gè)無(wú)線設(shè)備的固件。如圖所示的,PDFU環(huán)境100包括第一無(wú)線設(shè)備102,諸如移動(dòng)電話。簡(jiǎn)明起見(jiàn),第一無(wú)線設(shè)備102應(yīng)被稱為第一設(shè)備102。雖然被圖示為移動(dòng)電話,但應(yīng)領(lǐng)會(huì)到,第一設(shè)備102能夠是支持與第一設(shè)備102的通信鄰近度內(nèi)的第二設(shè)備(110)無(wú)線配對(duì)的多個(gè)不同設(shè)備和/或設(shè)備類型中的任何一個(gè)。PDFU環(huán)境100還包括一個(gè)或多個(gè)第二設(shè)備110,所述一個(gè)或多個(gè)第二設(shè)備110位于第一無(wú)線設(shè)備102的本地?zé)o線連接區(qū)域(LWCA)105內(nèi)。第二設(shè)備110能夠包括用戶112的各種設(shè)備,諸如但不限于可佩戴式眼鏡114(諸如Glass的)、可佩戴式智能手表116、第一BT頭戴式送受話器(或者耳機(jī))118、第二BT頭戴式送受話器120以及無(wú)線路由器122。在說(shuō)明性實(shí)施例內(nèi),第二BT耳機(jī)120被示為所選擇的第二設(shè)備,其當(dāng)前正通過(guò)無(wú)線連接而與第一設(shè)備102處于配對(duì)連接中(通過(guò)點(diǎn)劃線示出)。雖然并未被示為所引用的第二設(shè)備110中的一個(gè),但應(yīng)領(lǐng)會(huì)到,接入點(diǎn)(AP)124也能夠被認(rèn)為是第二設(shè)備110中的一個(gè)。
根據(jù)說(shuō)明性實(shí)施例,每個(gè)第二設(shè)備110具有對(duì)應(yīng)的設(shè)備標(biāo)識(shí)符(ID),簡(jiǎn)明起見(jiàn),在本文中將其稱為機(jī)器(MAC)ID。此外,LWCA105內(nèi)的每個(gè)第二設(shè)備110均提供簽名,該簽名包括相應(yīng)的MAC ID以及接收信號(hào)強(qiáng)度指示(RSSI)。在每個(gè)第二設(shè)備110旁示出設(shè)備相關(guān)聯(lián)的簽名。根據(jù)一個(gè)實(shí)施例,簽名內(nèi)還包括在的是特定第二設(shè)備110內(nèi)所安裝的當(dāng)前固件版本的指示。應(yīng)領(lǐng)會(huì)到,簽名能夠包括其他識(shí)別信息,諸如供應(yīng)商或制造商的ID。將進(jìn)一步領(lǐng)會(huì)到,在可替代實(shí)施例中,當(dāng)前固件版本能夠是不直接提供給設(shè)備簽名而是必須從第二設(shè)備110中檢索的值。第一設(shè)備102以及AP 124也具有提供各自的設(shè)備ID以及固件版本的相關(guān)聯(lián)的簽名。
LWCA105表示第一設(shè)備102的周?chē)鷧^(qū)域,在該周?chē)鷧^(qū)域內(nèi),一個(gè)或多個(gè)第二設(shè)備110處于配對(duì)通信范圍內(nèi)(即,足夠接近以完成與第一設(shè)備102的本地配對(duì))。根據(jù)本公開(kāi)的一個(gè)方面,第二設(shè)備110中的一個(gè)或多個(gè)在已知的位置連接至第一設(shè)備102和/或通過(guò)已知的網(wǎng)絡(luò)通信,包括諸如網(wǎng)絡(luò)頻率和信道的細(xì)節(jié)。因此,LWCA105能夠表示或提供有關(guān)配對(duì)連接的位置的信息。
如上所介紹,PDFU環(huán)境100還包括FUS 150,其位于遠(yuǎn)程服務(wù)器145(表示一個(gè)或多個(gè)服務(wù)器)上。第一設(shè)備102能夠經(jīng)由通信和數(shù)據(jù)網(wǎng)絡(luò)(CDN)140連接至FUS 150并且與其交換通信。與CDN 140的連接或到CDN 140的連接能夠是經(jīng)由例如第一設(shè)備102可經(jīng)由AP 124訪問(wèn)的直接無(wú)線網(wǎng)絡(luò)服務(wù)或者基于因特網(wǎng)的二級(jí)網(wǎng)絡(luò)。雙向連通路徑被圖示為點(diǎn)劃線表示的雙向箭頭。在說(shuō)明性實(shí)施例中,F(xiàn)US 150被托管在遠(yuǎn)程服務(wù)器145上并且包括由圖5示出的FUS數(shù)據(jù)庫(kù)(DB)155。下面在圖3和4的描述中提供對(duì)遠(yuǎn)程服務(wù)器145以及FUS DB 155的描述。然而,在可替代實(shí)施例中,F(xiàn)US 150位于第一設(shè)備102內(nèi)并且經(jīng)由在第一設(shè)備102上進(jìn)行的過(guò)程來(lái)完成相關(guān)聯(lián)的功能,該功能能夠檢查固件版本并且隨后對(duì)所連接的第二設(shè)備110的固件進(jìn)行更新。
圖2提供根據(jù)一個(gè)或多個(gè)實(shí)施例的表示為諸如移動(dòng)電話的無(wú)線通信設(shè)備的第一設(shè)備102的功能性組件的更加詳細(xì)的視圖,該第一設(shè)備102支持與附近的第二設(shè)備110(圖1)以及遠(yuǎn)程的FUS 150(圖1)的無(wú)線連通性。雖然被圖示并且偶爾被稱為移動(dòng)電話,但第一設(shè)備102能夠是不同類型的用戶通信設(shè)備的主機(jī)中的一個(gè),包括但不限于智能電話、桌面型計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本、超極本和/或平板型計(jì)算設(shè)備。各種設(shè)備提供和/或包括用于支持各種無(wú)線或有線的通信功能的必要硬件和軟件作為PDFU環(huán)境100(圖1)的一部分。
第一設(shè)備102包括集成電路(IC)處理器202,該集成電路(IC)處理器202經(jīng)由多個(gè)總線互聯(lián)裝置(通過(guò)雙向箭頭示出)而連接至第一設(shè)備102的多個(gè)功能性組件。處理器202能夠包括一個(gè)或多個(gè)可編程的微處理器,諸如數(shù)據(jù)處理器204以及數(shù)字信號(hào)處理器(DSP)206,在一些實(shí)施例中,它們都可以集成到單個(gè)處理設(shè)備中。處理器202控制第一設(shè)備102的通信、應(yīng)用數(shù)據(jù)處理和信號(hào)處理、用戶交互以及其他功能和/或操作。連接至處理器202的是存儲(chǔ)器210該存儲(chǔ)器210能夠包括易失性存儲(chǔ)器和/或非易失性存儲(chǔ)器。一個(gè)或多個(gè)可執(zhí)行的應(yīng)用或編程的實(shí)用程序(utilities)能夠被存儲(chǔ)于存儲(chǔ)器210內(nèi)以便由數(shù)據(jù)處理器204執(zhí)行或者在一些信號(hào)處理場(chǎng)景中由DSP 206執(zhí)行。例如,存儲(chǔ)器210被圖示為包含無(wú)線連接實(shí)用程序212,該無(wú)線連接實(shí)用程序212包括無(wú)線連接/連通輔助(WCA)模塊214以及無(wú)線配對(duì)配置設(shè)置(WPCS)模塊216。WPCS模塊216包括已發(fā)現(xiàn)的第二設(shè)備的列表以及使得第一設(shè)備能夠通過(guò)一個(gè)或多個(gè)網(wǎng)絡(luò)與已發(fā)現(xiàn)的第二設(shè)備中的一個(gè)或多個(gè)本地配對(duì)和/或通信的其他功能。WPCS模塊216還包括固件更新實(shí)用程序(FUU)218,當(dāng)在處理器202上執(zhí)行該固件更新實(shí)用程序時(shí),其使得第一設(shè)備102能夠執(zhí)行本文所述的特征和功能中的一些。FUU 218包括FW識(shí)別模塊220以及場(chǎng)境數(shù)據(jù)的數(shù)據(jù)庫(kù)或知識(shí)庫(kù)222。在下文的描述中,將更加詳細(xì)地描述軟件模塊和數(shù)據(jù)中的每個(gè)的相關(guān)的功能性和/或用途。將領(lǐng)會(huì)到,存儲(chǔ)器210也能夠包括其他應(yīng)用和/或服務(wù)(未示出)。在可替代實(shí)施例中,在存儲(chǔ)器210內(nèi)所圖示的實(shí)用程序中的一個(gè)或多個(gè)能夠作為固件而存在于第一設(shè)備102的其他位置上并且被用來(lái)控制第一設(shè)備102內(nèi)的其他控制器或者專門(mén)或?qū)S锰幚砥鞯牟僮骰蛘哂傻谝辉O(shè)備102內(nèi)的其他控制器或者專門(mén)或?qū)S锰幚砥鲌?zhí)行。
第一設(shè)備102能夠包括一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備230,該一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備230作為用戶界面設(shè)備操作。這些I/O設(shè)備230能夠包括一個(gè)或多個(gè)輸入設(shè)備,諸如相機(jī)232、麥克風(fēng)234以及觸摸屏和/或觸摸板和/或鍵盤(pán)236。I/O設(shè)備230還能夠包括一個(gè)或多個(gè)輸出設(shè)備,諸如顯示器238和揚(yáng)聲器239。輸入設(shè)備能夠被用來(lái)訪問(wèn)第一設(shè)備102上的應(yīng)用,諸如WPCS模塊216,并且使得用戶能夠酌情促進(jìn)本文所述的固件更新過(guò)程。
第一設(shè)備102還包括數(shù)據(jù)存儲(chǔ)部240,該數(shù)據(jù)存儲(chǔ)部240存儲(chǔ)在第一設(shè)備102的操作期間所利用的一個(gè)或多個(gè)數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)部240也被聯(lián)接至處理器202并且能夠是集成的、可附接的或者可嵌入的以及能夠存儲(chǔ)一個(gè)或多個(gè)應(yīng)用軟件和數(shù)據(jù)的任何類型的可用存儲(chǔ)設(shè)備。將進(jìn)一步領(lǐng)會(huì)到,在一個(gè)或多個(gè)可替代實(shí)施例中,數(shù)據(jù)存儲(chǔ)部240實(shí)際上能夠是遠(yuǎn)程存儲(chǔ)裝置而非第一設(shè)備102的集成部分。本地FW版本數(shù)據(jù)242以及第二設(shè)備連通數(shù)據(jù)244在所存儲(chǔ)的數(shù)據(jù)當(dāng)中。本地FW版本數(shù)據(jù)242能夠包括網(wǎng)絡(luò)協(xié)議248,該網(wǎng)絡(luò)協(xié)議248能夠是由與第一設(shè)備102配對(duì)的一個(gè)或多個(gè)第二設(shè)備共享的協(xié)議。連通數(shù)據(jù)244包括所檢測(cè)到的第二設(shè)備的識(shí)別信號(hào)數(shù)據(jù)246(諸如但不限于MACID--RSSI數(shù)據(jù)對(duì))。在一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)部240也能夠包括本地存儲(chǔ)的FUS數(shù)據(jù)庫(kù)280,其具有針對(duì)各種第二設(shè)備的固件更新信息。
如圖所示,根據(jù)多個(gè)可替代實(shí)施例,第一設(shè)備102能夠使用幾種不同的技術(shù)來(lái)支持多個(gè)不同形式的通信。為支持無(wú)線通信,第一設(shè)備102具有通信機(jī)構(gòu)250內(nèi)所圖示的不同組件中的至少一個(gè)并且優(yōu)選多個(gè)。通信機(jī)構(gòu)250包括具有連接天線253的無(wú)線廣域網(wǎng)絡(luò)(WWAN)收發(fā)器252,所述連接天線253使得第一設(shè)備102能夠與蜂窩網(wǎng)絡(luò)260的無(wú)線電接入網(wǎng)絡(luò)(RAN)262通信,所述蜂窩網(wǎng)絡(luò)260能夠與通信和數(shù)據(jù)網(wǎng)絡(luò)140(圖1)同義,以便延續(xù)圖1的描述。簡(jiǎn)明起見(jiàn),描繪了WWAN收發(fā)器252的一個(gè)連接天線253。然而,WWAN收發(fā)器252可以與一個(gè)以上的天線253相關(guān)聯(lián),每個(gè)天線具有一個(gè)或多個(gè)已選的操作帶寬以支持不同模式的通信或者用于在不同通信技術(shù)下同時(shí)通信。RAN 262通常被表示為包括描繪為演進(jìn)節(jié)點(diǎn)基站(“eNodeB”)264的基站,其通過(guò)基站天線266來(lái)傳送和接收通信信號(hào)。eNodeB 264被圖示成以通信方式連接至服務(wù)器145,該服務(wù)器145是將FUS 150(圖1)托管于其上的示例性計(jì)算設(shè)備。
除WWAN收發(fā)器252以及相關(guān)聯(lián)的組件以外,第一設(shè)備102能夠包括無(wú)線局域網(wǎng)絡(luò)(WLAN)模塊254,用于與服務(wù)器145和/或可經(jīng)由無(wú)線接入點(diǎn)124接入的無(wú)線網(wǎng)絡(luò)通信。作為示例,WLAN模塊254可以利用用作為WiFi熱點(diǎn)操作的接入點(diǎn)124支持IEEE802.11標(biāo)準(zhǔn)。第一設(shè)備102還能夠包括一個(gè)或多個(gè)近距離無(wú)線通信技術(shù)模塊,包括無(wú)線個(gè)人接入網(wǎng)絡(luò)(WPAN)或者用于與WPAN設(shè)備通信的發(fā)射器256,其被描繪為頭戴式送受話器120、圖示為手表122的運(yùn)動(dòng)/生物特征/生理傳感器以及其他可佩戴式設(shè)備122/124(諸如平視顯示器、相機(jī)、裝備相機(jī)的眼鏡等)。WPAN收發(fā)器256能夠支持諸如紅外數(shù)據(jù)協(xié)會(huì)(IrDA)標(biāo)準(zhǔn)、無(wú)線通用串行總線(USB)、Z-Wave、ZigBee、體域網(wǎng)以及ANT+的技術(shù)??商娲鼗蝾~外地,由第一設(shè)備102提供的近距離無(wú)線通信能夠包括近場(chǎng)通信(NFC)收發(fā)器258,諸如能夠被用來(lái)與另一個(gè)用戶設(shè)備(諸如可佩戴式設(shè)備112/114)交換文件。如進(jìn)一步所示的,第一設(shè)備102也能夠被配置有支持RFID數(shù)據(jù)通信的獨(dú)立RFID模塊259。
可替代地或額外地,第一設(shè)備102也能夠包括用于有線通信的組件,諸如用于連接至局域網(wǎng)(LAN)272的以太網(wǎng)模塊270。如進(jìn)一步所示的,第一設(shè)備102也能夠包括全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)接收器(RXR)274,其能夠從GNSS衛(wèi)星276接收信號(hào)以便提供位置信息。將領(lǐng)會(huì)到,第一設(shè)備102的位置也能夠經(jīng)由網(wǎng)絡(luò)輔助的WiFi三邊測(cè)量法來(lái)獲得或確定。該位置信息能夠在一個(gè)實(shí)施例中被用來(lái)確定第一設(shè)備102的當(dāng)前位置是否對(duì)能夠提供給第二設(shè)備的連通接入的類型有影響(即,可能有地理限制)。
圖3圖示固件更新實(shí)用程序(FUU)218的展開(kāi)視圖內(nèi)的示例性功能性模塊,其中該固件更新實(shí)用程序(FUU)218位于第一設(shè)備102(圖1)的無(wú)線連接實(shí)用程序212內(nèi)的。FUU 218包括FW識(shí)別模塊220,該FW識(shí)別模塊220用來(lái)檢測(cè)和/或以其他方式識(shí)別正由所連接的第二設(shè)備利用的固件版本,以及場(chǎng)境數(shù)據(jù)222,該場(chǎng)境數(shù)據(jù)222識(shí)別與由第一設(shè)備102(圖1)監(jiān)視的配對(duì)連接和/或第二設(shè)備的操作有關(guān)的一系列不同場(chǎng)境。
FUU 218還包括狀況檢測(cè)模塊300、更新請(qǐng)求模塊312、FW更新觸發(fā)模塊314、本地FUS DB更新模塊316以及成功/失敗通知模塊318。每個(gè)模塊均包括能夠被執(zhí)行以提供本文所述功能中的一個(gè)或多個(gè)軟件代碼。狀況檢測(cè)模塊300監(jiān)視與兩個(gè)設(shè)備之間的連接、第二設(shè)備的操作以及在一些實(shí)例中第一設(shè)備在連接至第二設(shè)備時(shí)的操作有關(guān)的一系列不同狀況。包括在這一系列被監(jiān)視狀況內(nèi)的是,但不限于,(i)完成初始配對(duì)連接所需的嘗試次數(shù),(ii)從第二設(shè)備所檢測(cè)到的RSSI,(iii)在所建立的連接上的數(shù)據(jù)吞吐率,(iv)音頻信號(hào)的采樣水平,以及(v)基于建立連接的位置和/或網(wǎng)絡(luò)所預(yù)期的信號(hào)強(qiáng)度。
出于本文中描述的目的,識(shí)別產(chǎn)生不同的場(chǎng)境數(shù)據(jù)222的幾個(gè)不同的場(chǎng)境。這些不同的場(chǎng)境與能夠由第一設(shè)備102(圖1)來(lái)監(jiān)視和/或檢測(cè)的一個(gè)或多個(gè)狀況相關(guān)聯(lián)。包括在說(shuō)明性實(shí)施例的被監(jiān)視狀況內(nèi)的是,但不限于,(i)在建立配對(duì)連接期間所需和/或所記錄的嘗試次數(shù)324,(ii)從第二設(shè)備所檢測(cè)到的RSSI 326,(iii)在所建立的連接上的數(shù)據(jù)吞吐率328,(iv)音頻信號(hào)的當(dāng)前采樣水平330,以及(v)位置/網(wǎng)絡(luò)信號(hào)數(shù)據(jù)332,該位置/網(wǎng)絡(luò)信號(hào)數(shù)據(jù)332識(shí)別在建立連接的已知位置和/或已知網(wǎng)絡(luò)內(nèi)所檢測(cè)到的信號(hào)強(qiáng)度。就最后一個(gè)狀況而言,預(yù)期的信號(hào)強(qiáng)度與當(dāng)前位置和/或網(wǎng)絡(luò)相關(guān)聯(lián)并且該預(yù)期的信號(hào)強(qiáng)度能夠基于當(dāng)前位置和/或網(wǎng)絡(luò)而發(fā)生變化。
與被監(jiān)視狀況中的每個(gè)相關(guān)聯(lián)的是狀況檢測(cè)模塊300內(nèi)存在的已建立的閾值。這些閾值被用來(lái)確定何時(shí)狀況中的任何一個(gè)不處于預(yù)期的范圍內(nèi)并且將由此觸發(fā)潛在的固件更新。如示的,閾值包括閾值連接嘗試次數(shù)302、信號(hào)RSSI閾值304、數(shù)據(jù)吞吐量閾值306、閾值音頻采樣水平308以及位置和/或網(wǎng)絡(luò)信號(hào)RSSI閾值310。每個(gè)變量被表示成具有括號(hào)[]中的代表值,作為一個(gè)示例,連接嘗試的閾值次數(shù)被表示為具有5次連接嘗試的閾值值。在由FUU 218進(jìn)行處理期間,狀況檢測(cè)模塊300確定特定的被監(jiān)視狀況何時(shí)具有落在針對(duì)該狀況所建立的閾值之外的檢測(cè)值(來(lái)自所捕獲的場(chǎng)境數(shù)據(jù)222)。在以下的描述中,術(shù)語(yǔ)狀況通常是指場(chǎng)境數(shù)據(jù)222中的一個(gè)或多個(gè)落在針對(duì)相關(guān)聯(lián)的被監(jiān)視狀況所建立的閾值之外的任何狀況。因此,例如,當(dāng)信號(hào)的RSSI326低于RSSI閾值304(例如,值X)時(shí),識(shí)別觸發(fā)固件更新過(guò)程的狀況。作為另一示例,當(dāng)用戶嘗試建立配對(duì)連接的次數(shù)324高于閾值嘗試次數(shù)302(例如,五次嘗試)時(shí),識(shí)別觸發(fā)固件更新過(guò)程的狀況。
作為本公開(kāi)的一個(gè)額外方面,F(xiàn)UU 218包括一個(gè)或多個(gè)計(jì)時(shí)器320以及一個(gè)或多個(gè)計(jì)數(shù)器322。在監(jiān)視不同的狀況期間,計(jì)時(shí)器320以及計(jì)數(shù)器322供FUU 218利用,以便跟蹤不同的場(chǎng)境并且確定何時(shí)出現(xiàn)狀況。例如,第一計(jì)時(shí)器T1以及第一計(jì)數(shù)器CT1能夠供FUU 218利用。于是,當(dāng)至少一個(gè)場(chǎng)境包括用戶輸入以及連通嘗試時(shí),F(xiàn)UU 218將第一設(shè)備102(圖1)配置成:使用CT1監(jiān)視嘗試連接至第二設(shè)備的次數(shù);并且當(dāng)嘗試的次數(shù)324(即,CT1的值)達(dá)到第一閾值次數(shù)302時(shí),F(xiàn)UU 218:確定最后的接收信號(hào)強(qiáng)度指示(RSSI)讀數(shù)326是否已高于閾值RSSI 304;并且當(dāng)最后的RSSI讀數(shù)326已高于閾值RSSI 304時(shí),觸發(fā)對(duì)固件更新的搜索。
此外,在監(jiān)視嘗試次數(shù)的過(guò)程中,F(xiàn)UU 218進(jìn)一步將設(shè)備102(圖1)配置成:在連接至第二設(shè)備的第一次失敗嘗試時(shí)設(shè)定計(jì)時(shí)器(例如,T1);經(jīng)由T1監(jiān)視第一次失敗嘗試與第一閾值嘗試次數(shù)302之間的經(jīng)過(guò)時(shí)間;僅當(dāng)經(jīng)過(guò)時(shí)間T1低于時(shí)間閾值(T)303時(shí)觸發(fā)對(duì)固件更新的搜索;以及當(dāng)計(jì)時(shí)器達(dá)到時(shí)間閾值303時(shí)重置計(jì)時(shí)器T1。
上文所介紹的圖2和3的組件提供了無(wú)線電子設(shè)備102(圖1),該無(wú)線電子設(shè)備102具有:至少一個(gè)無(wú)線通信機(jī)構(gòu),該無(wú)線通信機(jī)構(gòu)支持通過(guò)無(wú)線連接與至少一個(gè)第二無(wú)線設(shè)備的配對(duì)連接;以及處理器,該處理器以通信方式聯(lián)接至至少一個(gè)無(wú)線通信機(jī)構(gòu)。處理器執(zhí)行固件更新實(shí)用程序(FUU)218,該固件更新實(shí)用程序218將電子設(shè)備102(圖1)配置成:發(fā)起到第二無(wú)線設(shè)備(例如,圖1的BT耳機(jī)120)的無(wú)線連接;監(jiān)視與無(wú)線連接以及第二無(wú)線設(shè)備中的一個(gè)相關(guān)聯(lián)的至少一個(gè)場(chǎng)境;以及當(dāng)接收到指示影響無(wú)線連接以及第二設(shè)備的操作中的一個(gè)或多個(gè)的狀況的場(chǎng)境數(shù)據(jù)時(shí),基于對(duì)FUS數(shù)據(jù)庫(kù)的搜索,確定用于第二無(wú)線設(shè)備的固件更新是否在固件更新服務(wù)(FUS)內(nèi)可用。固件進(jìn)一步將設(shè)備102(圖1)配置成:當(dāng)從FUS數(shù)據(jù)庫(kù)接收到可用的固件更新時(shí),觸發(fā)第一無(wú)線設(shè)備以發(fā)起用于第二無(wú)線設(shè)備的固件更新。根據(jù)一個(gè)方面,F(xiàn)UU 218觸發(fā)第一無(wú)線設(shè)備以發(fā)起固件更新包括FUU218使得第一無(wú)線設(shè)備:傳送使第二設(shè)備置于固件更新模式中的命令;以及將固件更新轉(zhuǎn)發(fā)至第二設(shè)備。
根據(jù)一個(gè)實(shí)施例,第一無(wú)線設(shè)備包括調(diào)制解調(diào)器,該調(diào)制解調(diào)器實(shí)現(xiàn)通過(guò)通信網(wǎng)絡(luò)對(duì)固件更新服務(wù)(FUS)的遠(yuǎn)程訪問(wèn),所述固件更新服務(wù)具有與其相關(guān)聯(lián)的FUS數(shù)據(jù)庫(kù)。而且,F(xiàn)UU進(jìn)一步將所述設(shè)備配置成:編譯與無(wú)線連接、第二設(shè)備以及狀況有關(guān)的信息;以及使用編譯過(guò)的信息生成發(fā)起對(duì)固件更新的檢查的請(qǐng)求,該請(qǐng)求至少包括第二設(shè)備標(biāo)識(shí)符(ID)、識(shí)別安裝在第二設(shè)備中的當(dāng)前固件版本的數(shù)據(jù)以及機(jī)器標(biāo)識(shí)符(MAC ID)、供應(yīng)商ID和制造商ID中的一個(gè)或多個(gè)。于是,當(dāng)FUS數(shù)據(jù)庫(kù)位于第一設(shè)備內(nèi)時(shí),確定固件更新是否可用包括FUU將所述設(shè)備配置成:將第二設(shè)備ID與位于FUS數(shù)據(jù)庫(kù)內(nèi)的設(shè)備ID相比較;以及當(dāng)在FUS數(shù)據(jù)庫(kù)內(nèi)找到第二設(shè)備ID的匹配時(shí),將在第二設(shè)備內(nèi)安裝的當(dāng)前固件版本于FUD數(shù)據(jù)庫(kù)內(nèi)的列出固件版本相比較。當(dāng)列出固件版本與當(dāng)前固件版本相比是固件的更新版本時(shí),F(xiàn)UU218進(jìn)一步從數(shù)據(jù)庫(kù)檢索列出的固件版本以安裝于第二設(shè)備中。然而,當(dāng)在FUS數(shù)據(jù)庫(kù)內(nèi)未找到第二設(shè)備ID的匹配時(shí),F(xiàn)UU 218向提供第二設(shè)備和相關(guān)聯(lián)的固件的更大列表的遠(yuǎn)程服務(wù)發(fā)送所述請(qǐng)求。
在可替代實(shí)施例中,當(dāng)FUS數(shù)據(jù)庫(kù)附屬于遠(yuǎn)程地位于通過(guò)第一設(shè)備以通信方式所連接的通信網(wǎng)絡(luò)上的FUS時(shí),F(xiàn)UU通過(guò)將所述設(shè)備如下配置而確定固件更新是否可用:經(jīng)由通信網(wǎng)絡(luò)向FUS傳送請(qǐng)求;以及從FUS接收固件更新。此外,F(xiàn)UU進(jìn)一步將所述設(shè)備配置成:從第二設(shè)備接收固件更新是否已成功的指示;以及當(dāng)固件更新已成功時(shí):確定固件更新在解決狀況中是否已成功;以及向FUS通信指示固件更新在解決狀況中成功或失敗的反饋?lái)憫?yīng)。另外,F(xiàn)UU進(jìn)一步將所述設(shè)備配置成:當(dāng)固件更新未成功時(shí),向FUS通信固件更新的失敗。
圖4A提供根據(jù)一個(gè)或多個(gè)實(shí)施例的示例遠(yuǎn)程FUS 150的功能性組成的更加詳細(xì)的視圖,該遠(yuǎn)程FUS保存無(wú)線設(shè)備的FUS數(shù)據(jù)庫(kù)155以及其相關(guān)聯(lián)的固件。FUS 150被托管在遠(yuǎn)程服務(wù)器145上。遠(yuǎn)程服務(wù)器145包括處理器405,該處理器405經(jīng)由系統(tǒng)互聯(lián)或者總線(如雙向箭頭所示)而被聯(lián)接至存儲(chǔ)器410以及存儲(chǔ)部415。還聯(lián)接至處理器405的是一個(gè)或多個(gè)I/O設(shè)備445以及網(wǎng)絡(luò)接口設(shè)備440,其實(shí)現(xiàn)與外部網(wǎng)絡(luò)或者經(jīng)由外部網(wǎng)絡(luò)的通信。在說(shuō)明性實(shí)施例中,F(xiàn)US數(shù)據(jù)庫(kù)155被保存在存儲(chǔ)部415內(nèi)。
如圖4B進(jìn)一步所示的,F(xiàn)US數(shù)據(jù)庫(kù)155能夠是諸如表格的數(shù)據(jù)結(jié)構(gòu),其包括一系列的列和行,其中存儲(chǔ)有關(guān)于已經(jīng)識(shí)別并且針對(duì)其已知固件數(shù)據(jù)和安裝(或者更新)指令的各種類型的第二設(shè)備的描述性信息。在FUS數(shù)據(jù)庫(kù)155的每行內(nèi)呈現(xiàn)已知或列舉的第二設(shè)備中的每個(gè)的標(biāo)識(shí)符連同與第二設(shè)備相關(guān)聯(lián)的對(duì)應(yīng)信息。FUS數(shù)據(jù)庫(kù)155的第一列提供設(shè)備類型或ID 450,而第二和第三列分別提供指定第二設(shè)備的制造商ID 455和型號(hào)460。第四列則提供FW版本465,其是可用于特定第二設(shè)備的最近或者最新固件。每當(dāng)由第二設(shè)備的制造商生產(chǎn)出現(xiàn)有固件的新更新時(shí),便能夠更新該列,使得FUS數(shù)據(jù)庫(kù)155保持最新。下一列提供實(shí)際的FW可執(zhí)行文件470或者到可執(zhí)行文件的鏈接。在至少一個(gè)實(shí)施例中,額外的列設(shè)有FW升級(jí)安裝配置信息(UICI)475,該FW升級(jí)安裝配置信息475包括關(guān)于如何將第二設(shè)備置于固件升級(jí)模式中的細(xì)節(jié)。這些指令可以作為可執(zhí)行模塊而提供,其在第一設(shè)備上運(yùn)行或者被觸發(fā)以在配對(duì)連接內(nèi)的第二設(shè)備上執(zhí)行。每當(dāng)針對(duì)特定的第二設(shè)備發(fā)布新的固件時(shí),F(xiàn)US 150(圖4A)便更新FUS數(shù)據(jù)庫(kù)155。FUS 150(圖4A)還將FUS數(shù)據(jù)庫(kù)155更新成包括當(dāng)前未被映射于FUS數(shù)據(jù)庫(kù)155內(nèi)的任何新的第二設(shè)備。
根據(jù)一個(gè)方面,F(xiàn)US數(shù)據(jù)庫(kù)155還能夠被用來(lái)跟蹤可能伴隨第二設(shè)備出現(xiàn)的各種問(wèn)題以及固件更新修復(fù)那些問(wèn)題的能力。因此,例如,F(xiàn)US數(shù)據(jù)庫(kù)155能夠包括可能影響指定第二設(shè)備的操作和/或到第一設(shè)備的配對(duì)連接的狀況480的列表。相關(guān)性分值485提供使用固件的最近的最新版本識(shí)別固件升級(jí)的性能與解決特定的問(wèn)題或所識(shí)別的狀況之間相關(guān)性水平所建立范圍內(nèi)的值(例如,0到9)。在一個(gè)實(shí)施例中,F(xiàn)US 150(圖4A)連續(xù)地將該相關(guān)性分值485更新以解釋(account for)由FUS 150(圖4A)發(fā)起的每個(gè)固件升級(jí)。FUS 150(圖4A)基于從第一設(shè)備接收的固件升級(jí)是否在解決所識(shí)別的狀況中的特定一個(gè)中成功的反饋來(lái)更新(增大或減小)相關(guān)性分值。應(yīng)領(lǐng)會(huì)到,在一些場(chǎng)景中,固件更新并非必然會(huì)解決關(guān)于第二設(shè)備所檢測(cè)到的特定狀況和/或與第一設(shè)備的配對(duì)連接。在這樣的實(shí)例中,相關(guān)性分值485會(huì)低于某一閾值相關(guān)性分值(例如,小于5),在此情形下,F(xiàn)US 150(圖4A)能夠拒絕提供固件升級(jí)或者可以向制造商發(fā)出提供用于修正所檢測(cè)到的狀況的固件版本的請(qǐng)求。
將領(lǐng)會(huì)到,包括在每行以及所提供的列內(nèi)的內(nèi)容和特定排序的信息的FUS數(shù)據(jù)庫(kù)155僅作示例而提供。在一個(gè)或多個(gè)替選的實(shí)施例中,能夠?qū)崿F(xiàn)FUS數(shù)據(jù)庫(kù)的不同實(shí)施例的其他格式以及配置或布局。因此,所呈現(xiàn)的示例并非旨在暗示關(guān)于FUS數(shù)據(jù)庫(kù)155的實(shí)際實(shí)施方式的任何限制。
回到圖4A,固件被存儲(chǔ)在存儲(chǔ)器410內(nèi)并且包括FUS實(shí)用程序420。FUS實(shí)用程序420包括幾個(gè)功能性組件,包括第二設(shè)備識(shí)別模塊422、FW檢索與轉(zhuǎn)發(fā)模塊424、成功/失敗響應(yīng)更新模塊426以及固件更新請(qǐng)求模塊428,該固件更新請(qǐng)求模塊428包括用于處理對(duì)新的第二設(shè)備的檢測(cè)的代碼。在圖8的方法800的描述中,簡(jiǎn)要概述通過(guò)FUS 150并且特別是通過(guò)在處理器405上執(zhí)行FUS實(shí)用程序420來(lái)完成的處理的額外方面。將領(lǐng)會(huì)到,在所有處理發(fā)生于第一設(shè)備102(圖1)本地的至少一個(gè)實(shí)施例中,F(xiàn)US實(shí)用程序420的功能性模塊被實(shí)現(xiàn)為FUU218(圖2)的子組件,使得第一設(shè)備102(圖1)響應(yīng)于檢測(cè)到狀況而提供對(duì)固件升級(jí)的全部檢查。這些狀況與正由第一設(shè)備監(jiān)視的各種場(chǎng)境相關(guān)聯(lián)。
在一個(gè)實(shí)施例中,至少一個(gè)場(chǎng)境包括效能吞吐量;并且FUU 218(圖2)進(jìn)一步將所述設(shè)備配置成:檢測(cè)效能吞吐量低于針對(duì)無(wú)線連接的頻率和信道設(shè)置的閾值吞吐量;以及響應(yīng)于效能吞吐量低于閾值吞吐量而觸發(fā)對(duì)固件更新的搜索。
在另一個(gè)實(shí)施例中,至少一個(gè)場(chǎng)境包括信號(hào)質(zhì)量;并且FUU 218(圖4A)進(jìn)一步將所述設(shè)備配置成:檢測(cè)信號(hào)質(zhì)量低于針對(duì)無(wú)線連接的頻率和信道設(shè)置的閾值質(zhì)量水平;以及響應(yīng)于信號(hào)質(zhì)量低于閾值信號(hào)質(zhì)量水平而觸發(fā)對(duì)固件更新的搜索。
在另一個(gè)實(shí)施例中,至少一個(gè)場(chǎng)境包括已知位置和當(dāng)前網(wǎng)絡(luò)中的至少一個(gè)內(nèi)的信號(hào)強(qiáng)度;并且FUU 218(圖2)進(jìn)一步將所述設(shè)備配置成:檢測(cè)針對(duì)至少已知位置和當(dāng)前網(wǎng)絡(luò)的信號(hào)強(qiáng)度低于針對(duì)該位置和網(wǎng)絡(luò)的預(yù)期信號(hào)強(qiáng)度閾值;以及響應(yīng)于所檢測(cè)到的信號(hào)強(qiáng)度低于預(yù)期的信號(hào)強(qiáng)度閾值而觸發(fā)對(duì)固件更新的搜索。
根據(jù)一個(gè)方面,F(xiàn)UU 218(圖2)進(jìn)一步將所述設(shè)備配置成:檢查第一設(shè)備固件更新并且用第一設(shè)備固件更新來(lái)更新第一設(shè)備;在第一設(shè)備固件更新內(nèi)檢測(cè)用于第一設(shè)備的無(wú)線協(xié)議的更新;識(shí)別第一設(shè)備以及第二設(shè)備被設(shè)計(jì)成使用相同的無(wú)線協(xié)議來(lái)操作;從第二設(shè)備檢索無(wú)線協(xié)議識(shí)別數(shù)據(jù)以與第一設(shè)備的已更新的無(wú)線協(xié)議相比較;以及響應(yīng)于識(shí)別第二設(shè)備的當(dāng)前無(wú)線協(xié)議相對(duì)于第一設(shè)備的已更新的無(wú)線協(xié)議并非最新而觸發(fā)對(duì)固件更新的搜索。
圖5提供根據(jù)一個(gè)實(shí)施例的用于基于與被監(jiān)視的一個(gè)或多個(gè)場(chǎng)境有關(guān)的所檢測(cè)到的狀況來(lái)更新所連接的第二設(shè)備的固件的方法的流程圖。具體地,所述方法有助于在第二設(shè)備的固件不是更新版本并且第二設(shè)備和/或到第二設(shè)備的連接未在最優(yōu)(或者高于閾值)的水平下操作時(shí)更新固件。根據(jù)說(shuō)明性實(shí)施例,方法500的各種特征由執(zhí)行FUU218(圖2)的代碼和軟件模塊的處理器202(圖2)來(lái)執(zhí)行,并且由此將方法500描述為由FUU 218和/或第一設(shè)備102(圖1)來(lái)執(zhí)行。在流程圖的描述中,參照FUU 218和第一設(shè)備102以及其他所提出的組件被理解成參照其中首次介紹所述組件的相應(yīng)前述附圖(即,圖1至圖4)。方法500始于開(kāi)始框并且前進(jìn)至框502,框502提供了第一設(shè)備102發(fā)起與第二設(shè)備(例如,圖1中的BT耳機(jī)120)建立無(wú)線配對(duì)連接,其使得第一設(shè)備102能夠與第二設(shè)備通信。在框504,F(xiàn)UU 218將所述設(shè)備配置成監(jiān)視與第一無(wú)線連接以及第二無(wú)線設(shè)備中的一個(gè)相關(guān)聯(lián)的至少一個(gè)場(chǎng)境。如下文所述,通過(guò)圖6A至6E提供能夠被監(jiān)視的各種不同的場(chǎng)境。在框506,F(xiàn)UU 218接收?qǐng)鼍硵?shù)據(jù)并且檢測(cè)場(chǎng)境數(shù)據(jù)何時(shí)識(shí)別和/或指示狀況的發(fā)生。當(dāng)接收到指示影響無(wú)線連接和第二設(shè)備的操作中的一個(gè)或多個(gè)的狀況的場(chǎng)境數(shù)據(jù)時(shí),F(xiàn)UU 218執(zhí)行一系列準(zhǔn)備步驟來(lái)觸發(fā)固件更新,包括:編譯與無(wú)線連接、第二設(shè)備以及狀況有關(guān)的信息(框508);以及使用編譯過(guò)的信息生成發(fā)起對(duì)固件更新的檢查的請(qǐng)求,該請(qǐng)求至少包括第二設(shè)備標(biāo)識(shí)符(ID)、識(shí)別安裝在第二設(shè)備中的當(dāng)前固件版本的數(shù)據(jù)以及機(jī)器標(biāo)識(shí)符(MAC ID)、供應(yīng)商ID和制造商ID中的一個(gè)或多個(gè)(框510)。
在判定框512,F(xiàn)UU 218確定FUS數(shù)據(jù)庫(kù)155是位于第一設(shè)備102本地還是位于遠(yuǎn)程。當(dāng)FUS數(shù)據(jù)庫(kù)155位于第一設(shè)備102內(nèi)(或者位于其本地)時(shí),F(xiàn)UU 218在本地FUS數(shù)據(jù)庫(kù)155內(nèi)發(fā)起搜索(框514)以確定用于第二無(wú)線設(shè)備的固件更新是否可用。具體地,F(xiàn)UU 218通過(guò)將第二設(shè)備ID與位于FUS數(shù)據(jù)155內(nèi)的設(shè)備ID相比較而確定固件更新是否可用。在一個(gè)實(shí)施例中,當(dāng)在FUS數(shù)據(jù)庫(kù)155內(nèi)未找到第二設(shè)備ID的匹配時(shí),F(xiàn)UU 218可選地向提供第二設(shè)備和相關(guān)聯(lián)的固件的更大列表的遠(yuǎn)程服務(wù)發(fā)送請(qǐng)求(框515)。當(dāng)在FUS數(shù)據(jù)庫(kù)155內(nèi)找到第二設(shè)備ID的匹配時(shí),F(xiàn)UU 218將安裝在第二設(shè)備中的當(dāng)前固件版本與在FUS數(shù)據(jù)庫(kù)155內(nèi)列出的固件版本相比較。判定框516示出FUU 218確定FW更新是否可用。當(dāng)FUS數(shù)據(jù)庫(kù)155中沒(méi)有固件更新可用于第二設(shè)備時(shí),F(xiàn)UU 218在FUS數(shù)據(jù)庫(kù)155內(nèi)檢查第一設(shè)備的固件版本,并且如果FW更新可用則更新第一設(shè)備的固件(框518)。于是方法500結(jié)束。將領(lǐng)會(huì)到,框518的過(guò)程是可選地(如由虛線所示)并且能夠在更新第二設(shè)備的固件的任何嘗試之前實(shí)現(xiàn),因?yàn)樵谝恍?shí)例中,第一設(shè)備固件的更新能夠解決和/或克服所檢測(cè)到的狀況。然而,第一設(shè)備固件的更新對(duì)于本公開(kāi)的主要方面而言是次要的。圖6E圖示與第一設(shè)備固件的更新如何能作為觸發(fā)第二設(shè)備固件的更新的一個(gè)場(chǎng)境而操作操作有關(guān)的幾個(gè)額外的特征。
從判定框516出發(fā),當(dāng)列出的固件版本是從設(shè)備的當(dāng)前固件版本更新的固件版本時(shí),F(xiàn)UU 218從FUS數(shù)據(jù)庫(kù)155檢索列出的固件版本以安裝于第二設(shè)備中(框522)。此外,從判定框516出發(fā),當(dāng)FUS數(shù)據(jù)庫(kù)位于遠(yuǎn)程時(shí),F(xiàn)UU 218經(jīng)由通信網(wǎng)絡(luò)向FUS傳送固件更新請(qǐng)求(框520)并且從FUS接收固件更新(框522)。在框524,當(dāng)從FUS數(shù)據(jù)庫(kù)接收到可用的固件更新時(shí),F(xiàn)UU218觸發(fā)第一無(wú)線設(shè)備以發(fā)起用于第二無(wú)線設(shè)備的固件更新。根據(jù)一個(gè)方面,觸發(fā)第一無(wú)線設(shè)備以發(fā)起固件更新包括:傳送使第二設(shè)備置于固件更新模式中的命令。在第二設(shè)備處于固件更新模式的情況下,方法500進(jìn)一步包括將固件更新轉(zhuǎn)發(fā)至第二設(shè)備(框526)。
圖6A至6E圖示與由第一設(shè)備監(jiān)視的不同場(chǎng)境有關(guān)的一系列過(guò)程的流程。如上所指出,參照FUU 218以及其他組件被理解為參照其中首次介紹所述組件的相應(yīng)前述附圖(即,圖1至圖4)。在圖6A中,方法600始于框602,其中FUU 218識(shí)別被監(jiān)視的場(chǎng)境。當(dāng)場(chǎng)境是連通嘗試的次數(shù)時(shí),所述方法前進(jìn)至框604,在該處FUU 218檢測(cè)到第一次連接嘗試的失敗。FUU 218與檢測(cè)到初次失敗的同時(shí)設(shè)置(或者重置)所分配的計(jì)時(shí)器以隨時(shí)間跟蹤連接嘗試失敗的次數(shù)(框605)。然后,F(xiàn)UU 218監(jiān)視連接至第二設(shè)備的嘗試次數(shù)(例如,使用圖3的計(jì)數(shù)器322)(框606)。根據(jù)一個(gè)實(shí)施例,監(jiān)視嘗試次數(shù)進(jìn)一步包括:在連接至第二設(shè)備的第一次失敗嘗試時(shí)設(shè)定計(jì)時(shí)器;以及監(jiān)視第一次失敗嘗試與第一閾值嘗試次數(shù)之間的經(jīng)過(guò)時(shí)間。
FUU 218在判定框608確定嘗試次數(shù)何時(shí)達(dá)到或者高于閾值嘗試次數(shù),而沒(méi)有成功連接。當(dāng)嘗試次數(shù)等于或大于閾值次數(shù)時(shí),F(xiàn)UU 218在框610檢查經(jīng)過(guò)時(shí)間是否小于時(shí)間閾值(例如,20秒)。當(dāng)經(jīng)過(guò)時(shí)間是否小于時(shí)間閾值時(shí),F(xiàn)UU 218確定最后的接收信號(hào)強(qiáng)度指示(RSSI)讀數(shù)是否等于或大于閾值RSSI(框612)。并且,當(dāng)該最后的RSSI讀數(shù)等于或大于閾值RSSI時(shí),F(xiàn)UU 218觸發(fā)對(duì)固件更新的搜索(框614)。應(yīng)當(dāng)注意,F(xiàn)UU 218僅在經(jīng)過(guò)時(shí)間低于時(shí)間閾值時(shí)才觸發(fā)對(duì)固件更新的搜索。當(dāng)經(jīng)過(guò)時(shí)間等于或大于時(shí)間閾值時(shí),所述方法返回至框605并且重置計(jì)時(shí)器。
返回至判定框608,當(dāng)嘗試次數(shù)小于閾值次數(shù)時(shí),F(xiàn)UU在框606識(shí)別最后一次連接嘗試是否成功。當(dāng)連接并未成功時(shí),F(xiàn)UU 218繼續(xù)監(jiān)視嘗試次數(shù)。然而,當(dāng)連接成功時(shí),F(xiàn)UU 218重置計(jì)數(shù)器(框618)。當(dāng)連接成功時(shí)或者當(dāng)確定最后的RSSI小于閾值RSSI時(shí)(在框612),F(xiàn)UU 218也重置計(jì)時(shí)器(框620)。于是方法600結(jié)束。
從框602出發(fā),當(dāng)至少一個(gè)場(chǎng)境包括效能吞吐量時(shí),所述方法前進(jìn)至圖6B以及框630,在框630,F(xiàn)UU 218檢測(cè)效能吞吐量低于針對(duì)無(wú)線連接的頻率和信道設(shè)置的閾值吞吐量。具體地,F(xiàn)UU 218檢測(cè)一系列吞吐量測(cè)量(經(jīng)過(guò)一段時(shí)間后)指示吞吐量低于針對(duì)兩個(gè)設(shè)備之間無(wú)線連接的給定頻率和所建立的信道的吞吐量閾值。然后,響應(yīng)于效能吞吐量低于閾值吞吐量,F(xiàn)UU 218觸發(fā)對(duì)固件更新的搜索(框632)。
從框602出發(fā),當(dāng)至少一個(gè)場(chǎng)境包括信號(hào)質(zhì)量時(shí),方法600前進(jìn)至圖6C以及框640,在框640,F(xiàn)UU 218檢測(cè)信號(hào)質(zhì)量低于針對(duì)無(wú)線連接的頻率和信道設(shè)置的閾值質(zhì)量水平。然后,響應(yīng)于信號(hào)質(zhì)量低于閾值信號(hào)質(zhì)量水平,F(xiàn)UU 218觸發(fā)對(duì)固件更新的搜索(框642)。
從框602出發(fā),當(dāng)至少一個(gè)場(chǎng)境包括已知位置和當(dāng)前網(wǎng)絡(luò)中的至少一個(gè)內(nèi)的信號(hào)強(qiáng)度時(shí),方法600前進(jìn)至圖6D以及框650,在框650,F(xiàn)UU 218檢測(cè)針對(duì)至少已知位置和當(dāng)前網(wǎng)絡(luò)的信號(hào)強(qiáng)度低于針對(duì)該位置和/或網(wǎng)絡(luò)的預(yù)期的信號(hào)強(qiáng)度閾值。然后,響應(yīng)于所檢測(cè)到的信號(hào)強(qiáng)度低于預(yù)期的信號(hào)強(qiáng)度閾值,F(xiàn)UU 218觸發(fā)對(duì)固件更新的搜索(框652)。
從框602出發(fā),當(dāng)至少一個(gè)場(chǎng)境包括兩個(gè)設(shè)備之間無(wú)線協(xié)議的失配時(shí),方法600前進(jìn)至圖6E以及框670和672,在框670和672,F(xiàn)UU 218檢測(cè)第一和第二設(shè)備被設(shè)計(jì)成以相同的無(wú)線協(xié)議操作。在一個(gè)可替代實(shí)施例中,在該判定之前完成幾個(gè)可選的步驟。如可選的框始于框660所示,F(xiàn)UU 218針對(duì)第一設(shè)備的固件更新而檢查FUS數(shù)據(jù)庫(kù)。然后,F(xiàn)UU 218在判定框662確定用戶第一設(shè)備的固件更新是否可用,并且當(dāng)更新可用時(shí),F(xiàn)UU 218更新第一設(shè)備的固件(框664)。然后,F(xiàn)UU 218檢測(cè)第一設(shè)備的固件的更新(框668)。在第一設(shè)備處的FW更新的定時(shí)能夠與對(duì)其他狀況中的一個(gè)的檢測(cè)同時(shí)進(jìn)行。并且,上述可選的步驟能夠在一些實(shí)施例中執(zhí)行以觸發(fā)所述方法過(guò)程中的其余過(guò)程。然而,也能夠在任何時(shí)間執(zhí)行FW更新,并且一旦特定的第二設(shè)備被連接至第一設(shè)備就能夠完成以下功能和/或特征。因此,在一個(gè)實(shí)施例中,當(dāng)檢測(cè)到連接至第二設(shè)備和/或識(shí)別所連接的第二設(shè)備時(shí),F(xiàn)UU執(zhí)行分析。前進(jìn)至框670,F(xiàn)UU 218從第二設(shè)備檢索無(wú)線協(xié)議識(shí)別數(shù)據(jù)并且將該協(xié)議與第一設(shè)備的已更新的無(wú)線協(xié)議相比較。然后,F(xiàn)UU 218在判定框672確定無(wú)線協(xié)議是否相同。響應(yīng)于識(shí)別第二設(shè)備的當(dāng)前無(wú)線協(xié)議與第一設(shè)備的已更新的無(wú)線協(xié)議并不相同(指示第二設(shè)備的無(wú)線協(xié)議相對(duì)于第一設(shè)備的無(wú)線協(xié)議并非最新),F(xiàn)UU 218觸發(fā)對(duì)固件更新的搜索(框674)。于是方法600結(jié)束。響應(yīng)于識(shí)別第二設(shè)備的當(dāng)前無(wú)線協(xié)議與第一設(shè)備的已更新的無(wú)線協(xié)議相同,方法600結(jié)束。
圖7是根據(jù)一個(gè)實(shí)施例的用于在修復(fù)所檢測(cè)到的狀況中基于FW更新的成功或者失敗而向FUS提供反饋?lái)憫?yīng)的方法700的流程圖。方法700始于開(kāi)始框并且前進(jìn)至框702,在框702,F(xiàn)UU 218從第二設(shè)備接收固件更新是否成功的指示。FUU 218在判定框704確定固件更新是否成功。當(dāng)固件更新成功時(shí),F(xiàn)UU 218在判定框706確定固件更新在解決狀況中是否成功。FUU 218向FUS通信指示固件更新在解決狀況中成功(框708)或者失敗(框710)的反饋?lái)憫?yīng)。返回至框704,當(dāng)固件更新不成功時(shí),F(xiàn)UU 218將固件更新的失敗通信至FUS(框712)。于是方法700結(jié)束。
圖8是根據(jù)一個(gè)或多個(gè)實(shí)施例的由FUS實(shí)現(xiàn)以識(shí)別一個(gè)或多個(gè)所連接的無(wú)線設(shè)備所需的正確固件并且觸發(fā)所連接的無(wú)線設(shè)備中的一個(gè)或多個(gè)的固件的更新的方法800的流程圖。將領(lǐng)會(huì)到,由方法800所提供的各種過(guò)程能夠在FUS服務(wù)器145處或者在其上來(lái)實(shí)現(xiàn)。因此,在說(shuō)明性實(shí)施例中,在托管FUS 150以及FUS數(shù)據(jù)庫(kù)155的遠(yuǎn)程服務(wù)器145處提供FUS實(shí)用程序420的功能。由第一設(shè)備102遠(yuǎn)程地訪問(wèn)FUS 150,以在FUS數(shù)據(jù)庫(kù)155內(nèi)確定固件更新是否可用于所連接的第二設(shè)備。根據(jù)一個(gè)可替代實(shí)施例,F(xiàn)US 150和/或FUU實(shí)用程序218(圖3)的一些功能性模塊能夠在第一設(shè)備102內(nèi)的處理器202上執(zhí)行,而非在遠(yuǎn)程服務(wù)器145處。使用遠(yuǎn)程服務(wù)器的實(shí)施方式,方法800始于開(kāi)始框并且移至框802,在框802,F(xiàn)US實(shí)用程序420從第一設(shè)備接收關(guān)與第一設(shè)備與第二設(shè)備之間的配對(duì)連接相關(guān)聯(lián)的一個(gè)或多個(gè)場(chǎng)境的信息。在框804,F(xiàn)US實(shí)用程序420分析所接收的信息以檢測(cè)可能需要升級(jí)或更新至少第二設(shè)備的固件的一個(gè)或多個(gè)狀況。FUS實(shí)用程序420在判定框806確定固件更新是否能夠解決所識(shí)別的狀況。當(dāng)FUS實(shí)用程序420確定固件更新無(wú)法解決該狀況時(shí),F(xiàn)US實(shí)用程序420更新FUS數(shù)據(jù)庫(kù)155內(nèi)記錄的歷史分析的知識(shí)庫(kù)以解釋所檢測(cè)到的狀況的發(fā)生(框808)。在執(zhí)行該判定中,F(xiàn)US實(shí)用程序420能夠依賴于在跟蹤狀況的歷史時(shí)期內(nèi)所編譯的相關(guān)性分值以及對(duì)第二設(shè)備執(zhí)行固件更新在消除和/或減少狀況的發(fā)生中的作用。于是方法800結(jié)束。
當(dāng)在判定框806確定固件更新能夠解決狀況時(shí),F(xiàn)US實(shí)用程序420在FUS數(shù)據(jù)庫(kù)155內(nèi)匹配第二設(shè)備的MAC ID(框810)。然后,F(xiàn)US實(shí)用程序420將FUS數(shù)據(jù)庫(kù)155中的固件版本與安裝在第二設(shè)備中的當(dāng)前固件版本相比較(框812),并且FUS實(shí)用程序420在判定框814確定FUS數(shù)據(jù)庫(kù)155中的固件是否實(shí)際上是固件的升級(jí)或更新的版本。當(dāng)固件不是更新或升級(jí)的版本時(shí),方法800結(jié)束。然而,當(dāng)固件是更新或升級(jí)的版本時(shí),F(xiàn)US實(shí)用程序420從FUS數(shù)據(jù)庫(kù)155檢索固件并且將固件更新傳送至第一設(shè)備(框816)。隨后,F(xiàn)US實(shí)用程序420接收具有失敗或成功通知的響應(yīng),其指示:(i)固件安裝是否成功,(ii)假設(shè)固件安裝成功,固件升級(jí)是否已解決和/或修復(fù)狀況(框818)。然后,F(xiàn)US實(shí)用程序420根據(jù)所接收的響應(yīng)信息來(lái)更新知識(shí)庫(kù)(框820)。于是方法800結(jié)束。
在本文提出的圖5至圖8的流程圖中,在不偏離所述創(chuàng)新的精神和范圍的情況下,一些方法的處理能夠被組合,同時(shí)或以不同順序執(zhí)行,或者可能被省略。雖然以特定順序描述并示出了這些方法步驟,但使用具體順序的步驟并非旨在暗示對(duì)本創(chuàng)新的任何限制。在不偏離本創(chuàng)新的精神或范圍的情況下,可以對(duì)步驟的順序做出更改。因此,使用特定順序不應(yīng)被理解為限定含義,并且本創(chuàng)新的范圍僅通過(guò)所附的權(quán)利要求來(lái)限定。
示例1:一種用于更新無(wú)線設(shè)備的固件的方法,該方法包括:第一無(wú)線設(shè)備發(fā)起到第二無(wú)線設(shè)備的無(wú)線連接;監(jiān)視與所述無(wú)線連接以及所述第二無(wú)線設(shè)備中的一個(gè)相關(guān)聯(lián)的至少一個(gè)場(chǎng)境;當(dāng)接收到指示影響所述無(wú)線連接以及所述第二設(shè)備的操作中的一個(gè)或多個(gè)的狀況的場(chǎng)境數(shù)據(jù)時(shí),確定用于所述第二無(wú)線設(shè)備的固件更新在固件更新服務(wù)(FUS)數(shù)據(jù)庫(kù)內(nèi)是否可用;以及當(dāng)從所述FUS數(shù)據(jù)庫(kù)接收到可用的固件更新時(shí),觸發(fā)所述第一無(wú)線設(shè)備以發(fā)起用于所述第二無(wú)線設(shè)備的固件更新。
示例2:根據(jù)示例1所述的方法,其中,觸發(fā)所述第一無(wú)線設(shè)備以發(fā)起所述固件更新包括:傳送使所述第二設(shè)備置于固件更新模式中的命令;以及將所述固件更新轉(zhuǎn)發(fā)至所述第二設(shè)備。
示例3:根據(jù)示例1至2中的任一項(xiàng)所述的方法,進(jìn)一步包括:編譯與所述無(wú)線連接、所述第二設(shè)備以及所述狀況有關(guān)的信息;以及使用編譯過(guò)的信息生成發(fā)起對(duì)所述固件更新的檢查的請(qǐng)求,所述請(qǐng)求至少包括第二設(shè)備標(biāo)識(shí)符(ID)、識(shí)別安裝在所述第二設(shè)備中的當(dāng)前固件版本的數(shù)據(jù)以及機(jī)器標(biāo)識(shí)符(MAC ID)、供應(yīng)商ID和制造商ID中的一個(gè)或多個(gè);其中,當(dāng)所述FUS數(shù)據(jù)庫(kù)位于所述第一設(shè)備內(nèi)時(shí),確定固件更新是否可用包括:將所述第二設(shè)備ID與位于所述FUS數(shù)據(jù)庫(kù)內(nèi)的設(shè)備ID相比較;當(dāng)在所述FUS數(shù)據(jù)庫(kù)內(nèi)找到所述第二設(shè)備ID的匹配時(shí),將安裝在所述第二設(shè)備中的所述當(dāng)前固件版本與所述FUD數(shù)據(jù)庫(kù)內(nèi)列出的固件版本相比較;當(dāng)所述列出的固件版本與所述當(dāng)前固件版本相比是所述固件的更新版本時(shí),從所述數(shù)據(jù)庫(kù)檢索所述列出的固件版本以安裝于所述第二設(shè)備中;當(dāng)在所述FUS數(shù)據(jù)庫(kù)內(nèi)未找到所述第二設(shè)備ID的匹配時(shí),向提供所述第二設(shè)備和相關(guān)聯(lián)的固件的更大列表的遠(yuǎn)程服務(wù)發(fā)送請(qǐng)求;其中,當(dāng)所述FUS數(shù)據(jù)庫(kù)附屬于遠(yuǎn)程地位于所述第一設(shè)備以通信方式所連接的通信網(wǎng)絡(luò)上的FUS時(shí),確定固件更新是否可用進(jìn)一步包括:經(jīng)由所述通信網(wǎng)絡(luò)向所述FUS傳送所述請(qǐng)求;以及從所述FUS接收所述固件更新。
示例4:根據(jù)示例1至3中的任一項(xiàng)所述的方法,進(jìn)一步包括:從所述第二設(shè)備接收所述固件更新是否已成功的指示;當(dāng)所述固件更新已成功時(shí),確定所述固件更新在解決所述狀況中是否已成功;向所述FUS通信指示所述固件更新在解決所述狀況中成功或失敗的反饋?lái)憫?yīng);以及當(dāng)所述固件更新未成功時(shí),向所述FUS通信所述固件更新的失敗。
示例5:根據(jù)示例1至4中的任一項(xiàng)所述的方法,其中:至少一個(gè)場(chǎng)境包括用戶輸入以及連通嘗試;并且所述方法進(jìn)一步包括:監(jiān)視連接至所述第二設(shè)備的嘗試次數(shù);以及當(dāng)所述嘗試次數(shù)達(dá)到第一閾值次數(shù)時(shí),確定最后的接收信號(hào)強(qiáng)度指示(RSSI)讀數(shù)是否已高于閾值RSSI;以及當(dāng)所述最后的RSSI讀數(shù)已高于所述閾值RSSI時(shí),觸發(fā)對(duì)所述固件更新的搜索。
示例6:根據(jù)示例1至5中的任一項(xiàng)所述的方法,其中,監(jiān)視所述嘗試次數(shù)進(jìn)一步包括:在連接至所述第二設(shè)備的第一次失敗嘗試時(shí)設(shè)定計(jì)時(shí)器;監(jiān)視所述第一次失敗嘗試與所述第一閾值嘗試次數(shù)之間的經(jīng)過(guò)時(shí)間;僅當(dāng)所述經(jīng)過(guò)時(shí)間低于時(shí)間閾值時(shí),觸發(fā)對(duì)所述固件更新的搜索;以及當(dāng)所述計(jì)時(shí)器達(dá)到所述時(shí)間閾值時(shí),重置所述計(jì)時(shí)器。
示例7:根據(jù)示例1至6中的任一項(xiàng)所述的方法,其中:至少一個(gè)場(chǎng)境包括效能吞吐量;并且所述方法進(jìn)一步包括:檢測(cè)效能吞吐量低于針對(duì)所述無(wú)線連接的頻率和信道設(shè)置的閾值吞吐量;以及其中,確定用于所述第二無(wú)線設(shè)備的固件更新在固件更新服務(wù)(FUS)數(shù)據(jù)庫(kù)內(nèi)是否可用包括響應(yīng)于所述效能吞吐量低于所述閾值吞吐量而觸發(fā)對(duì)所述固件更新的搜索。
示例8:根據(jù)示例1至7中的任一項(xiàng)所述的方法,其中:至少一個(gè)場(chǎng)境包括信號(hào)質(zhì)量;并且所述方法進(jìn)一步包括:檢測(cè)信號(hào)質(zhì)量低于針對(duì)所述無(wú)線連接的頻率和信道設(shè)置的閾值質(zhì)量水平;以及其中,確定用于所述第二無(wú)線設(shè)備的固件更新在固件更新服務(wù)(FUS)數(shù)據(jù)庫(kù)內(nèi)是否可用包括響應(yīng)于所述信號(hào)質(zhì)量低于所述閾值信號(hào)質(zhì)量水平而觸發(fā)對(duì)所述固件更新的搜索。
示例9:根據(jù)示例1至8中的任一項(xiàng)所述的方法,其中:至少一個(gè)場(chǎng)境包括已知位置和當(dāng)前網(wǎng)絡(luò)中的至少一個(gè)內(nèi)的信號(hào)強(qiáng)度;并且所述方法進(jìn)一步包括:檢測(cè)針對(duì)至少所述已知位置和所述當(dāng)前網(wǎng)絡(luò)的信號(hào)強(qiáng)度低于針對(duì)該位置和網(wǎng)絡(luò)的預(yù)期信號(hào)強(qiáng)度閾值;以及其中,確定用于所述第二無(wú)線設(shè)備的固件更新在固件更新服務(wù)(FUS)數(shù)據(jù)庫(kù)內(nèi)是否可用包括響應(yīng)于所檢測(cè)到的信號(hào)強(qiáng)度低于所述預(yù)期的信號(hào)強(qiáng)度閾值而觸發(fā)對(duì)所述固件更新的搜索。
示例10:根據(jù)示例1至9中的任一項(xiàng)所述的方法,進(jìn)一步包括:檢查第一設(shè)備固件更新并且用所述第一設(shè)備固件更新來(lái)更新所述第一設(shè)備;在所述第一設(shè)備固件更新內(nèi)檢測(cè)用于所述第一設(shè)備的無(wú)線協(xié)議的更新;識(shí)別所述第一設(shè)備以及所述第二設(shè)備使用相同的無(wú)線協(xié)議來(lái)操作;從所述第二設(shè)備檢索無(wú)線協(xié)議識(shí)別數(shù)據(jù)以與所述第一設(shè)備的已更新的無(wú)線協(xié)議相比較;以及響應(yīng)于識(shí)別所述第二設(shè)備的當(dāng)前無(wú)線協(xié)議相對(duì)于所述第一設(shè)備的所述已更新的無(wú)線協(xié)議并非最新而觸發(fā)對(duì)所述固件更新的搜索。
示例11:一種無(wú)線電子設(shè)備,包括:至少一個(gè)無(wú)線通信機(jī)構(gòu),該至少一個(gè)無(wú)線通信機(jī)構(gòu)支持通過(guò)無(wú)線連接與至少一個(gè)第二無(wú)線設(shè)備的配對(duì)連接;以及處理器,該處理器以通信方式聯(lián)接至所述至少一個(gè)無(wú)線通信機(jī)構(gòu)并且其執(zhí)行固件更新實(shí)用程序(FUU),所述固件更新實(shí)用程序?qū)⑺鲭娮釉O(shè)備配置成:發(fā)起到第二無(wú)線設(shè)備的無(wú)線連接;監(jiān)視與所述無(wú)線連接以及所述第二無(wú)線設(shè)備中的一個(gè)相關(guān)聯(lián)的至少一個(gè)場(chǎng)境;當(dāng)接收到指示影響所述無(wú)線連接以及所述第二設(shè)備的操作中的一個(gè)或多個(gè)的狀況的場(chǎng)境數(shù)據(jù)時(shí),確定用于所述第二無(wú)線設(shè)備的固件更新在固件更新服務(wù)(FUS)數(shù)據(jù)庫(kù)內(nèi)是否可用;以及當(dāng)從所述FUS數(shù)據(jù)庫(kù)接收到可用的固件更新時(shí),觸發(fā)所述第一無(wú)線設(shè)備以發(fā)起用于所述第二無(wú)線設(shè)備的固件更新。
示例12:根據(jù)示例11所述的無(wú)線電子設(shè)備,其中,所述FUU觸發(fā)所述第一無(wú)線設(shè)備以發(fā)起所述固件更新包括所述FUU使得所述設(shè)備:傳送使所述第二設(shè)備置于固件更新模式中的命令;以及將所述固件更新轉(zhuǎn)發(fā)至所述第二設(shè)備。
示例13:根據(jù)示例11至12中的任一項(xiàng)所述的無(wú)線電子設(shè)備,進(jìn)一步包括:調(diào)制解調(diào)器,所述調(diào)制解調(diào)器實(shí)現(xiàn)通過(guò)通信網(wǎng)絡(luò)對(duì)固件更新服務(wù)(FUS)的遠(yuǎn)程訪問(wèn),所述固件更新服務(wù)具有與其相關(guān)聯(lián)的FUS數(shù)據(jù)庫(kù);其中,所述FUU進(jìn)一步將所述設(shè)備配置成:編譯與所述無(wú)線連接、所述第二設(shè)備以及所述狀況有關(guān)的信息;以及使用編譯過(guò)的信息生成發(fā)起對(duì)所述固件更新的檢查的請(qǐng)求,所述請(qǐng)求至少包括第二設(shè)備標(biāo)識(shí)符(ID)、識(shí)別安裝在所述第二設(shè)備中的當(dāng)前固件版本的數(shù)據(jù)以及機(jī)器標(biāo)識(shí)符(MAC ID)、供應(yīng)商ID和制造商ID中的一個(gè)或多個(gè);其中,當(dāng)所述FUS數(shù)據(jù)庫(kù)位于所述第一設(shè)備內(nèi)時(shí),確定固件更新是否可用包括所述FUU將所述設(shè)備配置成:將所述第二設(shè)備ID與位于所述FUS數(shù)據(jù)庫(kù)內(nèi)的設(shè)備ID相比較;當(dāng)在所述FUS數(shù)據(jù)庫(kù)內(nèi)找到所述第二設(shè)備ID的匹配時(shí),將安裝在所述第二設(shè)備中的所述當(dāng)前固件版本與所述FUD數(shù)據(jù)庫(kù)內(nèi)列出的固件版本相比較;當(dāng)所述列出的固件版本是源自所述當(dāng)前固件版本的固件的更新版本時(shí),從所述數(shù)據(jù)庫(kù)檢索所述列出的固件版本以安裝于所述第二設(shè)備中;當(dāng)在所述FUS數(shù)據(jù)庫(kù)內(nèi)未找到所述第二設(shè)備ID的匹配時(shí),向提供所述第二設(shè)備和相關(guān)聯(lián)的固件的更大列表的遠(yuǎn)程服務(wù)發(fā)送請(qǐng)求;以及其中,當(dāng)所述FUS數(shù)據(jù)庫(kù)附屬于遠(yuǎn)程地位于所述第一設(shè)備以通信方式所連接的通信網(wǎng)絡(luò)上的FUS時(shí),所述FUU確定固件更新是否可用是通過(guò)將所述設(shè)備配置成:經(jīng)由所述通信網(wǎng)絡(luò)向所述FUS傳送所述請(qǐng)求;以及從所述FUS接收所述固件更新。
示例14:根據(jù)示例11至13中的任一項(xiàng)所述的無(wú)線電子設(shè)備,其中所述FUU進(jìn)一步將所述設(shè)備配合成:從所述第二設(shè)備接收所述固件更新是否已成功的指示;當(dāng)所述固件更新已成功時(shí),確定所述固件更新在解決所述狀況中是否已成功;向所述FUS通信指示所述固件更新在解決所述狀況中成功或失敗的反饋?lái)憫?yīng);以及當(dāng)所述固件更新未曾成功時(shí),向所述FUS通信所述固件更新的失敗。
示例15:根據(jù)示例11至14中的任一項(xiàng)所述的無(wú)線電子設(shè)備,其中:至少一個(gè)場(chǎng)境包括用戶輸入以及連通嘗試;并且所述FUU進(jìn)一步將所述設(shè)備配置成:監(jiān)視連接至所述第二設(shè)備的嘗試次數(shù);以及當(dāng)所述嘗試次數(shù)達(dá)到第一閾值次數(shù)時(shí),確定最后的接收信號(hào)強(qiáng)度指示(RSSI)讀數(shù)是否已高于閾值RSSI;以及當(dāng)所述最后的RSSI讀數(shù)已高于所述閾值RSSI時(shí),觸發(fā)對(duì)所述固件更新的搜索。
示例16:根據(jù)示例11至15中的任一項(xiàng)所述的電子設(shè)備,其中,在監(jiān)視所述嘗試次數(shù)中,所述FUU進(jìn)一步將所述設(shè)備配置成:在連接至所述第二設(shè)備的第一次失敗嘗試時(shí)設(shè)定計(jì)時(shí)器;監(jiān)視所述第一次失敗嘗試與所述第一閾值嘗試次數(shù)之間的經(jīng)過(guò)時(shí)間;僅當(dāng)所述經(jīng)過(guò)時(shí)間低于時(shí)間閾值時(shí),觸發(fā)對(duì)所述固件更新的搜索;以及當(dāng)所述計(jì)時(shí)器達(dá)到所述時(shí)間閾值時(shí),重置所述計(jì)時(shí)器。
示例17:根據(jù)示例11至16中的任一項(xiàng)所述的電子設(shè)備,其中:至少一個(gè)場(chǎng)境包括效能吞吐量;并且所述FUU進(jìn)一步將所述設(shè)備配置成:檢測(cè)所述效能吞吐量低于針對(duì)所述無(wú)線連接的頻率和信道設(shè)置的閾值吞吐量;以及響應(yīng)于所述效能吞吐量低于所述閾值吞吐量而觸發(fā)對(duì)所述固件更新的搜索。
示例18:根據(jù)示例11至17中的任一項(xiàng)所述的電子設(shè)備,其中:至少一個(gè)場(chǎng)境包括信號(hào)質(zhì)量;并且所述FUU進(jìn)一步將所述設(shè)備配置成:檢測(cè)所述信號(hào)質(zhì)量低于針對(duì)所述無(wú)線連接的頻率和信道設(shè)置的閾值質(zhì)量水平;以及響應(yīng)于所述信號(hào)質(zhì)量低于所述閾值信號(hào)質(zhì)量水平而觸發(fā)對(duì)所述固件更新的搜索。
示例19:根據(jù)示例11至18中的任一項(xiàng)所述的電子設(shè)備,其中:至少一個(gè)場(chǎng)境包括已知位置和當(dāng)前網(wǎng)絡(luò)中的至少一個(gè)內(nèi)的信號(hào)強(qiáng)度;并且所述FUU進(jìn)一步將所述設(shè)備配置成:檢測(cè)針對(duì)至少所述已知位置和所述當(dāng)前網(wǎng)絡(luò)的信號(hào)強(qiáng)度低于針對(duì)該位置和網(wǎng)絡(luò)的預(yù)期信號(hào)強(qiáng)度閾值;以及響應(yīng)于所檢測(cè)到的信號(hào)強(qiáng)度低于所述預(yù)期的信號(hào)強(qiáng)度閾值而觸發(fā)對(duì)所述固件更新的搜索。
示例20:根據(jù)示例11至19中的任一項(xiàng)所述的電子設(shè)備,其中,所述FUU進(jìn)一步將所述設(shè)備配置成:檢查第一設(shè)備固件更新并且用所述第一設(shè)備固件更新來(lái)更新所述第一設(shè)備;在所述第一設(shè)備固件更新內(nèi)檢測(cè)用于所述第一設(shè)備的無(wú)線協(xié)議的更新;識(shí)別所述第一設(shè)備以及所述第二設(shè)備被設(shè)計(jì)成使用相同的無(wú)線協(xié)議來(lái)操作;從所述第二設(shè)備檢索無(wú)線協(xié)議識(shí)別數(shù)據(jù)以與所述第一設(shè)備的已更新的無(wú)線協(xié)議相比較;以及響應(yīng)于識(shí)別所述第二設(shè)備的當(dāng)前無(wú)線協(xié)議相對(duì)于所述第一設(shè)備的所述已更新的無(wú)線協(xié)議并非最新而觸發(fā)對(duì)所述固件更新的搜索。
本領(lǐng)域技術(shù)人員將領(lǐng)會(huì)到,本創(chuàng)新的實(shí)施例可以體現(xiàn)為系統(tǒng)、設(shè)備和/或方法。因此,本創(chuàng)新的實(shí)施例可以采取完全硬件實(shí)施例或者結(jié)合了在本文中大體上可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”的軟件和硬件實(shí)施例的實(shí)施例的形式。
參照根據(jù)本創(chuàng)新的實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖對(duì)本創(chuàng)新的各方面予以描述。將會(huì)理解到,流程圖和/或框圖中的每個(gè)框以及流程圖和/或框圖中的框的組合能夠通過(guò)計(jì)算機(jī)程序指令來(lái)實(shí)施。這些計(jì)算機(jī)程序指令可以被提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理裝置的處理器,用于產(chǎn)生機(jī)器,使得經(jīng)由計(jì)算機(jī)或者其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實(shí)施流程圖和/或框圖的一個(gè)框或多個(gè)框中所指定的功能/動(dòng)作的方法。
雖然已經(jīng)參考示例性實(shí)施例描述了本創(chuàng)新,但本領(lǐng)域的技術(shù)人員將理解的是,在不偏離本創(chuàng)新的范圍的情況下,可以做出各種修改并且可以利用等效內(nèi)容替代其元件。此外,不偏離本公開(kāi)的基本范圍的情況下,可以做出多種修改以根據(jù)本創(chuàng)新的教導(dǎo)將特定系統(tǒng)、設(shè)備或其組件適配。因此,本創(chuàng)新并非旨在限于公開(kāi)的用于執(zhí)行本創(chuàng)新的特定實(shí)施例,而是本創(chuàng)新可以包含落入所附權(quán)利要求范圍內(nèi)的所有實(shí)施例。此外,術(shù)語(yǔ)第一、第二等的使用并非指任何順序或重要性,而是術(shù)語(yǔ)第一、第二等被用于將一個(gè)元件與另一個(gè)元件區(qū)別開(kāi)。
本文所用術(shù)語(yǔ)的目的僅在于描述特定的實(shí)施例,并不旨在對(duì)本創(chuàng)新做出限定。除非上文另有明確指示或說(shuō)明本文所使用的單數(shù)形式“一個(gè)”、“一”以及“該”也旨在包含復(fù)數(shù)形式。應(yīng)進(jìn)一步理解的是,術(shù)語(yǔ)“包括”和/或“包含”當(dāng)用于本說(shuō)明中時(shí),明確了所陳述的特征、整數(shù)、步驟、操作、元件和/或組件的存在,但不排除添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。
以下的權(quán)利要求中相對(duì)應(yīng)的結(jié)構(gòu)、材料、動(dòng)作和所有方式的等效內(nèi)容或步驟加功能元件旨在包括用于執(zhí)行功能以及所具體要求保護(hù)的其他要求保護(hù)的元件的任何結(jié)構(gòu)、材料或動(dòng)作。出于說(shuō)明和描述目的,已經(jīng)給出本創(chuàng)新的描述,但是并非旨在窮盡所有或者將本創(chuàng)新限于所公開(kāi)的形式。在不偏離本創(chuàng)新的范圍和精神的情況下,許多修改和改變對(duì)于本領(lǐng)域的技術(shù)人員將是顯而易見(jiàn)的。選擇并描述實(shí)施例以便最好地解釋本創(chuàng)新的原理和實(shí)際應(yīng)用,并且使得其它本領(lǐng)域的技術(shù)人員能夠理解本創(chuàng)新用于具有適合于所考慮的特定用途的各種修改的各種實(shí)施例。