專利名稱:用于模擬導(dǎo)航裝置的行為的通信裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及尤其是移動(dòng)導(dǎo)航領(lǐng)域的信息技術(shù)。
背景技術(shù):
對(duì)移動(dòng)導(dǎo)航裝置的不斷增加的需求強(qiáng)加了若干關(guān)于例如以下內(nèi)容的限制管理導(dǎo)航內(nèi)容(如路線安排信息、交通信息、地圖信息等導(dǎo)航項(xiàng)目)、向?qū)Ш窖b置提供例如用戶特定導(dǎo)航內(nèi)容、操作導(dǎo)航裝置或管理安裝在例如導(dǎo)航裝置上的可執(zhí)行程序。
然而,導(dǎo)航裝置的不斷增長(zhǎng)的復(fù)雜性和對(duì)信息的增長(zhǎng)的需求意味著與有效管理信息和操作導(dǎo)航裝置相關(guān)聯(lián)的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種概念,用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序而模擬導(dǎo)航裝置的行為,即使(例如)裝置固件的版本未知也是如此。
通過獨(dú)立權(quán)利要求的特征實(shí)現(xiàn)此目的。
本發(fā)明是基于這樣的發(fā)現(xiàn)只要另一程序模擬安裝在導(dǎo)航裝置上的裝置固件,便可使用所述另一程序來(lái)模擬導(dǎo)航裝置的行為。因此,所述另一程序可作為例如嵌入的模擬器安裝在另一裝置上,并被執(zhí)行以模擬導(dǎo)航裝置。然而,在模擬導(dǎo)航裝置之前,須確保所述另一程序?qū)?yīng)于裝置固件,例如,所述另一程序的源代碼對(duì)應(yīng)于裝置固件的源代碼。因此,即使導(dǎo)航裝置關(guān)閉,用戶也可使用模擬程序與導(dǎo)航裝置一起工作。
一實(shí)施例提供一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序來(lái)模擬導(dǎo)航裝置的行為的通信裝置。優(yōu)選地,所述通信裝置包括提供器,其用于提供關(guān)于裝置固件程序的信息;確定器,其用于確定安裝在通信裝置上的當(dāng)前固件程序是否對(duì)應(yīng)于安裝在導(dǎo)航裝置上的裝置固件程序;以及處理器,其用于在當(dāng)前固件程序?qū)?yīng)于裝置固件的情況下執(zhí)行通信裝置上的當(dāng)前固件程序,以便模擬導(dǎo)航裝置的行為。
根據(jù)進(jìn)一步的實(shí)施例,處理器可經(jīng)由通信網(wǎng)絡(luò)建立與遠(yuǎn)程網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接,以便在當(dāng)前固件程序不對(duì)應(yīng)于裝置固件程序的情況下獲得當(dāng)前固件程序的更新的版本。此外,處理器可執(zhí)行當(dāng)前固件程序的更新的版本,以便模擬導(dǎo)航裝置的行為。
根據(jù)進(jìn)一步的實(shí)施例,提供器可連接到導(dǎo)航裝置,以便檢索指示裝置固件程序的信息。
根據(jù)進(jìn)一步的實(shí)施例,確定器可確定安裝在通信裝置上的當(dāng)前固件程序是否對(duì)應(yīng)于裝置固件,所述確定是基于包括指示裝置固件程序的信息的內(nèi)容文件表,或者是基于包括指示當(dāng)前固件程序的信息的內(nèi)容文件表。
根據(jù)進(jìn)一步的實(shí)施例,處理器可基于導(dǎo)航裝置的行為的模擬來(lái)控制導(dǎo)航裝置。
另一實(shí)施例提供一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序來(lái)模擬導(dǎo)航裝置的行為的方法。所述方法包括提供關(guān)于來(lái)自導(dǎo)航裝置的裝置固件程序的信息;確定當(dāng)前固件程序是否對(duì)應(yīng)于安裝在導(dǎo)航裝置上的裝置固件;以及在當(dāng)前固件程序?qū)?yīng)于裝置固件的情況下執(zhí)行通信裝置上的當(dāng)前固件程序,以便模擬導(dǎo)航裝置的行為。
根據(jù)另一實(shí)施例,所述方法包括經(jīng)由通信網(wǎng)絡(luò)建立與遠(yuǎn)程網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接,以便在當(dāng)前固件程序不對(duì)應(yīng)于裝置固件程序的情況下獲得當(dāng)前固件程序的更新的版本;以及執(zhí)行當(dāng)前固件程序的更新的版本,以便模擬導(dǎo)航裝置的行為。
根據(jù)另一實(shí)施例,所述方法包括連接到導(dǎo)航裝置,以便檢索指示裝置固件程序的信息。
根據(jù)另一實(shí)施例,所述方法包括確定當(dāng)前固件程序是否對(duì)應(yīng)于裝置固件程序,所述確定是基于包括指示裝置固件程序的信息的內(nèi)容文件表,或者是基于包括指示當(dāng)前固件程序的信息的內(nèi)容文件表。
另一實(shí)施例提供一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序來(lái)模擬導(dǎo)航裝置的行為的可通過編程來(lái)設(shè)置的通信裝置。所述可通過編程來(lái)設(shè)置的通信裝置可執(zhí)行用于提供關(guān)于裝置固件程序的信息的第一計(jì)算機(jī)程序;執(zhí)行用于確定可供可通過編程來(lái)設(shè)置的通信裝置使用的當(dāng)前固件程序是否對(duì)應(yīng)于安裝在導(dǎo)航裝置上的裝置固件程序的第二計(jì)算機(jī)程序;并在當(dāng)前固件程序?qū)?yīng)于裝置固件程序的情況下執(zhí)行通信裝置上的當(dāng)前固件程序,以便模擬導(dǎo)航裝置的行為。
優(yōu)選地,所述可通過編程來(lái)設(shè)置的通信裝置經(jīng)配置以執(zhí)行上述方法的步驟。
根據(jù)另一方面,一種可通過編程來(lái)設(shè)置的實(shí)體可通過以下方式來(lái)控制進(jìn)一步的實(shí)體向不存在的(即,虛設(shè))網(wǎng)絡(luò)地址傳輸特定命令或請(qǐng)求傳輸特定命令,以便控制所述進(jìn)一步的可通過編程來(lái)設(shè)置的實(shí)體??赏ㄟ^額外的可通過編程來(lái)設(shè)置的(例如,控制)實(shí)體來(lái)截取傳輸或傳輸請(qǐng)求,所述額外的可通過編程來(lái)設(shè)置的實(shí)體向進(jìn)一步的可通過編程來(lái)設(shè)置的實(shí)體提供特定命令。因此,間接地分配命令,這會(huì)降低額外復(fù)雜性。在此方面,術(shù)語(yǔ)“可通過編程來(lái)設(shè)置的實(shí)體”可指代可通過編程來(lái)設(shè)置的構(gòu)件或能夠在計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序。
一實(shí)施例提供一種通信裝置,其具有可通過編程來(lái)設(shè)置的第一構(gòu)件、可通過編程來(lái)設(shè)置的第二構(gòu)件以及可通過編程來(lái)設(shè)置的第三構(gòu)件。所述可通過編程來(lái)設(shè)置的第一構(gòu)件可經(jīng)配置以請(qǐng)求可通過編程來(lái)設(shè)置的第二構(gòu)件向不存在的網(wǎng)絡(luò)地址(例如,虛設(shè)地址)傳輸特定命令??赏ㄟ^編程來(lái)設(shè)置的第二構(gòu)件可經(jīng)配置以通知可通過編程來(lái)設(shè)置的第三構(gòu)件關(guān)于傳輸特定命令的請(qǐng)求。響應(yīng)于指示所述請(qǐng)求的信息,可通過編程來(lái)設(shè)置的第三構(gòu)件可執(zhí)行所述特定命令。因此,即使可通過編程來(lái)設(shè)置的第一構(gòu)件無(wú)法與可通過編程來(lái)設(shè)置的第三構(gòu)件直接交互,可通過編程來(lái)設(shè)置的第一構(gòu)件也可間接地控制可通過編程來(lái)設(shè)置的第三構(gòu)件。
根據(jù)進(jìn)一步的實(shí)施例,可通過編程來(lái)設(shè)置的第二構(gòu)件可執(zhí)行第二計(jì)算機(jī)程序,其提供虛擬機(jī),虛擬機(jī)為另一程序提供例如主機(jī)或環(huán)境。因此,可通過編程來(lái)設(shè)置的第一構(gòu)件可在虛擬機(jī)上執(zhí)行第一計(jì)算機(jī)程序。因此,第一計(jì)算機(jī)程序在第二計(jì)算機(jī)程序提供的虛擬機(jī)上運(yùn)行,使得第二計(jì)算機(jī)程序可監(jiān)管第一計(jì)算機(jī)程序并(例如)捕獲請(qǐng)求。
根據(jù)進(jìn)一步的實(shí)施例,第一計(jì)算機(jī)程序包括不可執(zhí)行的腳本。此外,第二計(jì)算機(jī)程序在被執(zhí)行時(shí)可提供網(wǎng)絡(luò)瀏覽功能性,例如網(wǎng)絡(luò)瀏覽器。此外,第三計(jì)算機(jī)程序在被執(zhí)行時(shí)可提供用戶應(yīng)用程序,例如用戶環(huán)境(例如,本地應(yīng)用程序)。
另一實(shí)施例提供一種可經(jīng)配置以執(zhí)行第一計(jì)算機(jī)程序、第二計(jì)算機(jī)程序和第三計(jì)算機(jī)程序的通信裝置,所述第一計(jì)算機(jī)程序請(qǐng)求第二計(jì)算機(jī)程序向不存在的網(wǎng)絡(luò)地址傳輸特定命令,第二計(jì)算機(jī)程序通知第三計(jì)算機(jī)程序關(guān)于傳輸特定命令的請(qǐng)求,第三計(jì)算機(jī)程序響應(yīng)于指示所述請(qǐng)求的信息而執(zhí)行所述特定命令。因此,即使例如第一計(jì)算機(jī)程序不包括用于直接與第三計(jì)算機(jī)程序交互的可執(zhí)行例程,第一計(jì)算機(jī)程序當(dāng)被執(zhí)行時(shí)也可間接地控制第三計(jì)算機(jī)程序。
根據(jù)進(jìn)一步的實(shí)施例,第二計(jì)算機(jī)程序在被執(zhí)行時(shí)可提供虛擬機(jī),其中第一計(jì)算機(jī)程序可在第二計(jì)算機(jī)程序提供的虛擬機(jī)上運(yùn)行。因此,當(dāng)被例如在計(jì)算機(jī)上執(zhí)行時(shí),第一計(jì)算機(jī)程序借助虛擬機(jī)提供一個(gè)環(huán)境,其實(shí)現(xiàn)監(jiān)管第一計(jì)算機(jī)程序并捕獲請(qǐng)求,且間接地捕獲特定命令。
根據(jù)進(jìn)一步的實(shí)施例,第一計(jì)算機(jī)程序可提供不可執(zhí)行的腳本,第二計(jì)算機(jī)程序可提供網(wǎng)絡(luò)瀏覽功能性,例如網(wǎng)絡(luò)瀏覽器,且第三計(jì)算機(jī)程序可提供用戶應(yīng)用程序,例如用戶環(huán)境。
舉例來(lái)說(shuō),特定命令指示例如通過第三計(jì)算機(jī)程序經(jīng)由通信網(wǎng)絡(luò)建立到達(dá)遠(yuǎn)程網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接。
另一實(shí)施例提供一種通信方法,其包括通過第二計(jì)算機(jī)程序請(qǐng)求第一計(jì)算機(jī)程序向不存在的網(wǎng)絡(luò)地址傳輸特定命令;向第三計(jì)算機(jī)程序提供指示請(qǐng)求的信息;以及通過第三計(jì)算機(jī)程序響應(yīng)于指示傳輸特定命令的請(qǐng)求的信息來(lái)執(zhí)行特定命令。
另一實(shí)施例提供一種計(jì)算機(jī)程序,其包括第一計(jì)算機(jī)程序、第二計(jì)算機(jī)程序和第三計(jì)算機(jī)程序,所述第一計(jì)算機(jī)程序當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí)請(qǐng)求第二計(jì)算機(jī)程序向不存在的網(wǎng)絡(luò)地址傳輸特定命令,第二計(jì)算機(jī)程序當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí)通知第三計(jì)算機(jī)程序關(guān)于傳輸特定命令的請(qǐng)求,第三計(jì)算機(jī)程序當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí)響應(yīng)于關(guān)于所述請(qǐng)求的信息而執(zhí)行所述特定命令。
根據(jù)另一方面,由多種程序或可通過編程來(lái)設(shè)置的實(shí)體提供的標(biāo)準(zhǔn)統(tǒng)一資源識(shí)別符字段(URI)可形成界面,用于例如間接地與計(jì)算機(jī)程序或與可通過編程來(lái)設(shè)置的實(shí)體交互。因此,有效地利用已經(jīng)存在的資源。
一實(shí)施例提供一種用于在表示統(tǒng)一資源識(shí)別符的字符串中檢測(cè)特定計(jì)算機(jī)命令的處理裝置,所述特定命令包括預(yù)定義的命令標(biāo)頭,所述命令標(biāo)頭之后是來(lái)自多個(gè)預(yù)定義的命令名稱的一命令名稱。處理裝置包括確定器,其用于確定所述字符串是否包括預(yù)定義的命令標(biāo)頭,其中在字符串包括預(yù)定義的命令標(biāo)頭的情況下,所述確定器可進(jìn)一步確定命令標(biāo)頭之后的子字符串是否包括命令名稱。處理裝置進(jìn)一步包括提供器,其用于在命令標(biāo)頭包括命令名稱的情況下,提供預(yù)定義的命令標(biāo)頭和命令名稱作為特定計(jì)算機(jī)命令。包括預(yù)定義的命令標(biāo)頭和命令標(biāo)頭之后的命令名稱的命令結(jié)構(gòu)允許以低復(fù)雜度在URI中識(shí)別特定命令。
根據(jù)進(jìn)一步的實(shí)施例,在命令標(biāo)頭之后的子字符串包括命令名稱的情況下,確定器可確定命令名稱之后的進(jìn)一步的子字符串是否包括至少一個(gè)命令自變量。此外,確定器可確定所述至少一個(gè)命令自變量是否對(duì)應(yīng)于特定命令的預(yù)定參數(shù)。在所述至少一個(gè)命令自變量對(duì)應(yīng)于預(yù)定參數(shù)的情況下,提供器可提供預(yù)定義的命令標(biāo)頭、命令名稱和所述至少一個(gè)命令自變量作為特定計(jì)算機(jī)命令。因此,特定計(jì)算機(jī)命令是在URI中檢測(cè)到的命令部分的基礎(chǔ)上構(gòu)成的,且可(例如)由例如處理器執(zhí)行。
根據(jù)進(jìn)一步的實(shí)施例中,處理裝置可包括(例如)用于執(zhí)行特定命令的可通過編程來(lái)設(shè)置的處理器。
另一實(shí)施例提供一種用于在表示統(tǒng)一資源識(shí)別符的字符串中檢測(cè)特定計(jì)算機(jī)命令的方法,所述特定命令包括預(yù)定義的命令標(biāo)頭,所述命令標(biāo)頭之后是來(lái)自多個(gè)預(yù)定義的命令名稱的一命令名稱。所述方法包括確定所述字符串是否包括預(yù)定義的命令標(biāo)頭;在字符串包括預(yù)定義的命令標(biāo)頭的情況下,確定命令標(biāo)頭之后的子字符串是否包括命令名稱;以及在命令標(biāo)頭包括命令名稱的情況下,提供預(yù)定義的命令標(biāo)頭和命令名稱作為特定計(jì)算機(jī)命令。
根據(jù)進(jìn)一步的實(shí)施例,命令名稱之后是一個(gè)或一個(gè)以上命令自變量,且所述方法包括在命令標(biāo)頭之后的子字符串包括命令名稱的情況下,確定命令名稱之后的進(jìn)一步的子字符串是否包括至少一個(gè)命令自變量;以及在命令名稱之后的進(jìn)一步的子字符串包括所述至少一個(gè)命令自變量的情況下,提供預(yù)定義的命令標(biāo)頭、命令名稱和所述至少一個(gè)命令自變量作為特定計(jì)算機(jī)命令。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括在命令標(biāo)頭之后的子字符串包括命令名稱的情況下,確定命令名稱之后的進(jìn)一步的子字符串是否包括至少一個(gè)命令自變量;確定所述至少一個(gè)命令自變量是否對(duì)應(yīng)于特定命令的預(yù)定參數(shù);以及在所述至少一個(gè)命令自變量對(duì)應(yīng)于預(yù)定參數(shù)的情況下,提供預(yù)定義的命令標(biāo)頭、命令名稱和所述至少一個(gè)命令自變量作為特定計(jì)算機(jī)命令。
根據(jù)進(jìn)一步的實(shí)施例,預(yù)定參數(shù)將命令名稱與進(jìn)一步的命令自變量分開,且所述方法進(jìn)一步包括提供預(yù)定義的命令標(biāo)頭、命令名稱和所述至少一個(gè)命令自變量以及進(jìn)一步的命令自變量作為特定計(jì)算機(jī)命令。
根據(jù)進(jìn)一步的實(shí)施例,特定命令指示經(jīng)由通信網(wǎng)絡(luò)建立到達(dá)遠(yuǎn)程網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接,以便獲得用戶特定信息。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括以可編程的方式執(zhí)行特定計(jì)算機(jī)程序。
根據(jù)另一方面,在以下情況下可及時(shí)地提供特定信息響應(yīng)于對(duì)遠(yuǎn)程服務(wù)器提供特定信息的請(qǐng)求,替代于傳輸特定信息,而是提供時(shí)間信息,所述時(shí)間信息指示再次連接到遠(yuǎn)程服務(wù)器以獲得特定信息的時(shí)間瞬間。因此,避免了與例如用戶進(jìn)行的管理或評(píng)估過時(shí)信息相關(guān)聯(lián)的問題。
一實(shí)施例提供一種用于從進(jìn)一步的網(wǎng)絡(luò)實(shí)體(例如,網(wǎng)絡(luò)服務(wù)器)向網(wǎng)絡(luò)實(shí)體(例如,通信裝置)提供特定信息的方法。所述方法包括經(jīng)由通信網(wǎng)絡(luò)向進(jìn)一步的網(wǎng)絡(luò)實(shí)體傳輸對(duì)來(lái)自網(wǎng)絡(luò)實(shí)體的特定信息的請(qǐng)求;以及經(jīng)由通信網(wǎng)絡(luò)向網(wǎng)絡(luò)實(shí)體傳輸來(lái)自進(jìn)一步的網(wǎng)絡(luò)實(shí)體的時(shí)間信息,所述時(shí)間信息指示連接到進(jìn)一步的網(wǎng)絡(luò)實(shí)體以獲得特定信息的特定時(shí)間瞬間。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括在特定時(shí)間瞬間在網(wǎng)絡(luò)實(shí)體與進(jìn)一步的網(wǎng)絡(luò)實(shí)體之間建立網(wǎng)絡(luò)連接;以及經(jīng)由通信網(wǎng)絡(luò)將來(lái)自進(jìn)一步的網(wǎng)絡(luò)實(shí)體的特定信息傳輸?shù)骄W(wǎng)絡(luò)實(shí)體。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括在特定時(shí)間瞬間在網(wǎng)絡(luò)實(shí)體與進(jìn)一步的網(wǎng)絡(luò)實(shí)體之間建立連接;經(jīng)由通信網(wǎng)絡(luò)將來(lái)自進(jìn)一步的第二網(wǎng)絡(luò)實(shí)體的特定信息傳輸?shù)骄W(wǎng)絡(luò)實(shí)體;以及通過網(wǎng)絡(luò)實(shí)體顯示特定信息。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括通過網(wǎng)絡(luò)實(shí)體接收對(duì)特定信息的請(qǐng)求。
根據(jù)進(jìn)一步的實(shí)施例,所述特定信息包括與用戶特定的導(dǎo)航路線有關(guān)的交通信息。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括將請(qǐng)求存儲(chǔ)在進(jìn)一步的網(wǎng)絡(luò)實(shí)體中。
另一實(shí)施例提供一種用于經(jīng)由通信網(wǎng)絡(luò)從進(jìn)一步的網(wǎng)絡(luò)實(shí)體獲得特定信息的網(wǎng)絡(luò)實(shí)體。所述網(wǎng)絡(luò)實(shí)體可經(jīng)由通信網(wǎng)絡(luò)將對(duì)特定信息的請(qǐng)求傳輸?shù)竭M(jìn)一步的網(wǎng)絡(luò)實(shí)體,并經(jīng)由通信網(wǎng)絡(luò)從進(jìn)一步的網(wǎng)絡(luò)實(shí)體接收時(shí)間信息,所述時(shí)間信息指示連接到進(jìn)一步的網(wǎng)絡(luò)實(shí)體以獲得特定信息的特定時(shí)間瞬間。
根據(jù)進(jìn)一步的實(shí)施例,相應(yīng)的網(wǎng)絡(luò)實(shí)體可在特定時(shí)間瞬間連接到進(jìn)一步的網(wǎng)絡(luò)實(shí)體以獲得特定信息。
另一實(shí)施例提供一種網(wǎng)絡(luò)實(shí)體,其用于響應(yīng)于對(duì)可由進(jìn)一步的通信實(shí)體經(jīng)由通信網(wǎng)絡(luò)傳輸?shù)奶囟ㄐ畔⒌恼?qǐng)求而經(jīng)由通信網(wǎng)絡(luò)向所述進(jìn)一步的網(wǎng)絡(luò)實(shí)體提供特定信息,所述網(wǎng)絡(luò)實(shí)體經(jīng)配置以經(jīng)由通信網(wǎng)絡(luò)傳輸時(shí)間信息,時(shí)間瞬間指示連接到網(wǎng)絡(luò)實(shí)體以獲得特定信息的時(shí)間瞬間。
根據(jù)進(jìn)一步的實(shí)施例,在進(jìn)一步的網(wǎng)絡(luò)實(shí)體己建立到達(dá)網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接的情況下,網(wǎng)絡(luò)實(shí)體可在特定時(shí)間瞬間向進(jìn)一步的網(wǎng)絡(luò)實(shí)體傳輸特定信息。
根據(jù)另一方面,可在可經(jīng)由通信網(wǎng)絡(luò)接入的遠(yuǎn)程服務(wù)器上有效地管理導(dǎo)航內(nèi)容(其可以是用戶特定的)。優(yōu)選地,遠(yuǎn)程服務(wù)器依據(jù)例如當(dāng)前安裝在導(dǎo)航裝置上的導(dǎo)航內(nèi)容、用戶或裝置權(quán)利或其它參數(shù)來(lái)提供導(dǎo)航內(nèi)容。因此,可以在遠(yuǎn)程服務(wù)器處定制更新的導(dǎo)航內(nèi)容,這會(huì)減少導(dǎo)航裝置或管理導(dǎo)航裝置的計(jì)算機(jī)程序的復(fù)雜度。
一實(shí)施例提供一種用于更新存儲(chǔ)在導(dǎo)航裝置中的當(dāng)前導(dǎo)航內(nèi)容的通信裝置。所述通信裝置包括檢索元件,其用于從導(dǎo)航裝置中檢索指示當(dāng)前導(dǎo)航內(nèi)容的信息;傳輸器,其用于經(jīng)由通信網(wǎng)絡(luò)向遠(yuǎn)程網(wǎng)絡(luò)裝置傳輸指示當(dāng)前導(dǎo)航內(nèi)容的信息;接收器,其用于從遠(yuǎn)程通信裝置接收更新的導(dǎo)航內(nèi)容;以及處理器,其用于顯示與更新的導(dǎo)航內(nèi)容有關(guān)的信息,或者用于將更新的導(dǎo)航內(nèi)容安裝在導(dǎo)航裝置上。
根據(jù)進(jìn)一步的實(shí)施例,檢索元件可從導(dǎo)航裝置中檢索指示裝置標(biāo)識(shí)或用戶標(biāo)識(shí)的信息,其中傳輸器可將用戶裝置標(biāo)識(shí)傳輸?shù)竭h(yuǎn)程通信裝置。
根據(jù)進(jìn)一步的實(shí)施例,傳輸器可將指示當(dāng)前導(dǎo)航內(nèi)容的信息作為元數(shù)據(jù)或作為內(nèi)容文件表來(lái)傳輸。
根據(jù)進(jìn)一步的實(shí)施例,檢索元件可連接到導(dǎo)航裝置,以用于從導(dǎo)航裝置獲得當(dāng)前導(dǎo)航內(nèi)容。舉例來(lái)說(shuō),檢索元件或通信裝置可以無(wú)線方式連接到導(dǎo)航裝置。根據(jù)另一實(shí)施例,導(dǎo)航裝置或通信裝置可能可經(jīng)由電線連接到檢索元件,使得檢索元件可起始到達(dá)導(dǎo)航裝置的有線連接(或反之亦然)。
另一實(shí)施例提供一種用于更新存儲(chǔ)在導(dǎo)航裝置中的當(dāng)前導(dǎo)航內(nèi)容的方法。優(yōu)選地,所述方法包括從導(dǎo)航裝置中檢索指示當(dāng)前導(dǎo)航內(nèi)容的信息;經(jīng)由通信網(wǎng)絡(luò)向遠(yuǎn)程網(wǎng)絡(luò)裝置傳輸指示當(dāng)前導(dǎo)航內(nèi)容的信息;從遠(yuǎn)程通信裝置接收更新的導(dǎo)航內(nèi)容;以及顯示與更新的導(dǎo)航內(nèi)容有關(guān)的信息,或者將更新的導(dǎo)航內(nèi)容安裝在導(dǎo)航裝置上。
根據(jù)另一實(shí)施例,所述方法包括從導(dǎo)航裝置中檢索指示裝置標(biāo)識(shí)或用戶標(biāo)識(shí)的信息,或者將用戶裝置標(biāo)識(shí)傳輸?shù)竭h(yuǎn)程通信裝置。
根據(jù)另一實(shí)施例,所述方法包括將指示當(dāng)前導(dǎo)航內(nèi)容的信息作為元數(shù)據(jù)或作為內(nèi)容文件表來(lái)傳輸。
根據(jù)另一實(shí)施例,所述方法包括驗(yàn)證與導(dǎo)航裝置相關(guān)聯(lián)的用戶的權(quán)利,或驗(yàn)證導(dǎo)航裝置的權(quán)利,以便獲得特定的更新的導(dǎo)航內(nèi)容。
根據(jù)另一實(shí)施例,所述導(dǎo)航內(nèi)容或更新的導(dǎo)航內(nèi)容包括指示路線安排信息或更新的固件或地圖信息的信息。
根據(jù)另一實(shí)施例,所述指示更新的導(dǎo)航內(nèi)容的信息包括指示特定的導(dǎo)航內(nèi)容具有高于另一導(dǎo)航內(nèi)容的優(yōu)先級(jí)的優(yōu)先級(jí)信息。
根據(jù)另一方面,如果(例如,可執(zhí)行的)計(jì)算機(jī)命令包括命令名稱及一個(gè)或一個(gè)以上命令自變量(例如,命令自變量列表),那么當(dāng)(例如)自動(dòng)簽署命令名稱并使用(簽署的)命令名稱及其密碼簽名作為額外自變量來(lái)構(gòu)成可驗(yàn)證的計(jì)算機(jī)命令時(shí),可獲得可用降低的額外開銷來(lái)用密碼驗(yàn)證的計(jì)算機(jī)命令。
一實(shí)施例提供一種用于提供密碼簽署的命令的方法,所述命令包括命令名稱和至少一個(gè)命令自變量。所述方法包括產(chǎn)生命令名稱的密碼簽名,以及使用命令名稱、簽名和所述至少一個(gè)命令自變量來(lái)構(gòu)成密碼簽署的命令。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括將命令名稱、命令名稱的密碼簽名和所述至少一個(gè)命令自變量串連在一起,以便構(gòu)成密碼簽署的命令。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括基于不對(duì)稱密碼算法,特別是RSA(Rivest-Shamir-Adleman)算法或基于數(shù)字簽名算法來(lái)產(chǎn)生命令名稱的密碼簽名。
根據(jù)進(jìn)一步的實(shí)施例,命令名稱指示確定通過所述至少一個(gè)命令自變量確定的到達(dá)目的地的導(dǎo)航路線,且/或指示提供由所述至少一個(gè)命令自變量指示的地址數(shù)據(jù)確定的導(dǎo)航地圖,或者用所述至少一個(gè)命令自變量執(zhí)行計(jì)算機(jī)程序。
另一實(shí)施例提供一種基于密碼簽署的命令來(lái)提供密碼驗(yàn)證的命令的方法,所述密碼簽署的命令包括命令名稱、命令名稱的密碼簽名和至少一個(gè)命令自變量。所述方法包括將密碼簽名解密以獲得第一密碼值;處理命令名稱以獲得第二密碼值;將第一密碼值與第二密碼值進(jìn)行比較以獲得比較結(jié)果;以及依據(jù)比較結(jié)果,將命令名稱和所述至少一個(gè)命令自變量作為密碼驗(yàn)證的命令來(lái)提供或執(zhí)行。
根據(jù)進(jìn)一步的實(shí)施例,第一密碼值包括密碼簽名的散列值,且第二密碼值包括命令名稱的散列值。
根據(jù)進(jìn)一步的實(shí)施例,所述方法包括在第一密碼值和第二密碼值相等的情況下提供或執(zhí)行密碼驗(yàn)證的命令。舉例來(lái)說(shuō),所述方法進(jìn)一步包括比較所述散列值。
另一實(shí)施例提供一種用于提供密碼簽署的命令的裝置,所述命令包括命令名稱和至少一個(gè)命令自變量。所述裝置包括產(chǎn)生器,其用于產(chǎn)生命令名稱的密碼簽名;以及構(gòu)成器,其用于使用命令名稱、簽名和所述至少一個(gè)命令自變量來(lái)構(gòu)成(例如,串連)密碼簽署的命令。
優(yōu)選地,所述裝置(或其元件)經(jīng)配置以執(zhí)行上述用于提供密碼簽署的命令的方法步驟。
另一實(shí)施例提供一種用于在密碼簽署的命令的基礎(chǔ)上提供密碼驗(yàn)證的命令的裝置,所述密碼簽署的命令包括命令名稱、命令名稱的密碼簽名和至少一個(gè)命令自變量。所述裝置包括解密器,其用于將密碼簽名解密以獲得第一密碼值;處理器,其用于處理命令名稱以獲得第二密碼值;比較器,其用于將第一密碼值與第二密碼值進(jìn)行比較以獲得比較結(jié)果;以及提供器,其用于依據(jù)比較結(jié)果,將命令名稱和所述至少一個(gè)命令自變量作為密碼驗(yàn)證的命令來(lái)提供或執(zhí)行。優(yōu)選地,所述裝置(或其元件)經(jīng)配置以執(zhí)行上述用于提供密碼驗(yàn)證的命令的方法步驟。
另一實(shí)施例提供一種計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行時(shí)所述計(jì)算機(jī)程序用于執(zhí)行發(fā)明性方法中的至少一者。
將參看下圖描述本發(fā)明的進(jìn)一步的實(shí)施例,下圖中 圖1展示通信裝置的框圖; 圖2展示處理裝置的框圖; 圖3展示通信裝置的框圖; 圖4例示提供特定信息的方法; 圖5例示提供密碼簽署的命令的方法; 圖6展示用于更新導(dǎo)航內(nèi)容的通信裝置的框圖;以及 圖7展示通信情形的框圖。
具體實(shí)施例方式 圖1展示通信裝置的框圖,所述通信裝置包括可通過編程來(lái)設(shè)置的第一構(gòu)件101;連接到可通過編程來(lái)設(shè)置的第一構(gòu)件101的可通過編程來(lái)設(shè)置的第二構(gòu)件103;以及連接到可通過編程來(lái)設(shè)置的第一構(gòu)件105的可通過編程來(lái)設(shè)置的第三構(gòu)件105。
可通過編程來(lái)設(shè)置的第一構(gòu)件101請(qǐng)求可通過編程來(lái)設(shè)置的第二構(gòu)件向不存在的網(wǎng)絡(luò)地址(即,向不存在的HTTP地址)傳輸特定命令。響應(yīng)于此,可通過編程來(lái)設(shè)置的第二構(gòu)件103通知可通過編程來(lái)設(shè)置的第三構(gòu)件105關(guān)于傳輸特定命令的請(qǐng)求。響應(yīng)于指示所述請(qǐng)求的信息,可通過編程來(lái)設(shè)置的第三構(gòu)件105響應(yīng)于指示所述請(qǐng)求的信息而執(zhí)行特定命令。
可通過編程來(lái)設(shè)置的第一構(gòu)件101可例如在第二計(jì)算機(jī)程序(例如網(wǎng)絡(luò)瀏覽器)提供的環(huán)境內(nèi)執(zhí)行包括不可執(zhí)行腳本(例如Java腳本)的第一程序,所述第二計(jì)算機(jī)程序可由可通過編程來(lái)設(shè)置的第二構(gòu)件103執(zhí)行。
可通過編程來(lái)設(shè)置的第三構(gòu)件103優(yōu)選地執(zhí)行第三計(jì)算機(jī)程序,例如用戶應(yīng)用程序(本地應(yīng)用程序),所述第三計(jì)算機(jī)程序接收命令,因?yàn)榈谝挥?jì)算機(jī)程序詢問其運(yùn)行的環(huán)境(網(wǎng)絡(luò)瀏覽器,且進(jìn)而是用戶應(yīng)用程序)以代表其自身發(fā)送命令。提供網(wǎng)絡(luò)瀏覽器(第二計(jì)算機(jī)程序),因?yàn)榫W(wǎng)頁(yè)上存在Java腳本,且Java腳本無(wú)法直接與第三計(jì)算機(jī)程序通信。
舉例來(lái)說(shuō),可采用以上概念管理導(dǎo)航內(nèi)容(比如,例如路線安排信息或路線安排地圖)。舉例來(lái)說(shuō),第一計(jì)算機(jī)程序可起始例如遠(yuǎn)程服務(wù)器(包括例如活動(dòng)頁(yè)面)與第三計(jì)算機(jī)程序(提供本地客戶端應(yīng)用程序)之間的通信。舉例來(lái)說(shuō),本地應(yīng)用程序(或遠(yuǎn)程服務(wù)器)含有出售語(yǔ)音、地圖等的在線(網(wǎng)絡(luò))商店。此網(wǎng)絡(luò)商店優(yōu)選地使用集成的網(wǎng)絡(luò)瀏覽器來(lái)實(shí)施。本地應(yīng)用程序指令嵌入式瀏覽器下載表示所述商店的網(wǎng)頁(yè)。此外,網(wǎng)絡(luò)商店頁(yè)面可能含有Java腳本,因此,下載的頁(yè)面可使用例如所謂的AJAX技術(shù)與遠(yuǎn)程服務(wù)器通信。然而,在特定點(diǎn),頁(yè)面上的Java腳本必須向本地應(yīng)用程序客戶端提供特定命令。一實(shí)例命令是在用戶已購(gòu)買網(wǎng)絡(luò)商店中的語(yǔ)音后“下載此語(yǔ)音”。雖然Java腳本可實(shí)施信用卡處理,但其無(wú)法實(shí)際下載和安裝到例如導(dǎo)航裝置,因此其發(fā)送命令或請(qǐng)求發(fā)送命令。
通過以下方式向本地應(yīng)用程序客戶端發(fā)送命令首先(例如在商店中的網(wǎng)頁(yè)上的Java腳本中)制作特殊請(qǐng)求,且接著向不存在的地址(例如http://ttds)發(fā)送請(qǐng)求。(例如,嵌入式)網(wǎng)絡(luò)瀏覽器通知其主機(jī)——本地客戶端應(yīng)用程序——關(guān)于所述請(qǐng)求。本地客戶端知道不存在http://tt.ds這樣的地址,因此本地客戶端(例如)提取命令[s]并執(zhí)行所述命令。為了加速進(jìn)一步的處理,接著可取消對(duì)http://tt.ds的虛設(shè)請(qǐng)求。
除了下載例如像地圖和語(yǔ)音這樣的導(dǎo)航內(nèi)容之外,還可例如指示本地客戶端(由第三計(jì)算機(jī)程序提供)打開更多網(wǎng)頁(yè)(例如,第二商店頁(yè)面)或關(guān)閉所述網(wǎng)頁(yè)、顯示彈出消息、切換到本地應(yīng)用程序內(nèi)的特定窗口(例如,在下載語(yǔ)音后有用的“安裝到裝置”面板)、檢查新的本地應(yīng)用程序版本、檢查對(duì)裝置固件的更新、檢查對(duì)導(dǎo)航內(nèi)容的更新、檢查對(duì)模擬導(dǎo)航裝置的模擬器的更新,或者詢問和發(fā)送用戶證書。
圖2展示在表示統(tǒng)一資源識(shí)別符(URI)的字符串中檢測(cè)特定計(jì)算機(jī)命令的處理裝置的框圖。特定命令可包括預(yù)定義的命令標(biāo)頭,其后面是來(lái)自多個(gè)預(yù)定義的命令名稱的一命令名稱,且其后面視情況有一個(gè)或一個(gè)以上命令自變量。處理裝置包括確定器201,其用于確定字符串是否包括預(yù)定義的命令標(biāo)頭,所述確定器進(jìn)一步經(jīng)配置以在字符串包括預(yù)定義的命令標(biāo)頭的情況下確定命令標(biāo)頭之后的子字符串是否包括命令名稱;以及提供器203,其連接到確定器201,所述提供器203在命令標(biāo)頭包括命令名稱的情況下提供預(yù)定義的命令標(biāo)頭和命令名稱作為特定計(jì)算機(jī)命令。
圖2中描繪的概念也可例如使用(可執(zhí)行的)計(jì)算機(jī)程序來(lái)實(shí)施。此外,與URI有關(guān)的描述也適用于URL(統(tǒng)一資源識(shí)別符)。
至于URI,同一URI也可用作網(wǎng)頁(yè)上的或電子郵件中的超鏈接的“目標(biāo)”。在所述情況下,可通過例如在此超鏈接上點(diǎn)擊來(lái)激活URI。進(jìn)一步可能使用來(lái)自嵌入于網(wǎng)頁(yè)上的Java腳本程序的URI。然而,其它本地安裝于例如計(jì)算機(jī)上的程序也可使用此URI。例如,電子郵件地址簿插件可使用此URI將來(lái)自電子郵件程序的地址發(fā)送到安裝在例如PC上的本地應(yīng)用程序。
舉例來(lái)說(shuō),本地應(yīng)用程序(例如,管理導(dǎo)航內(nèi)容)提供其自身的UI。然而,進(jìn)一步的內(nèi)容可用于存儲(chǔ)在本地應(yīng)用程序外部的導(dǎo)航用途。例如,電子郵件程序含有地址簿,所述地址簿像萬(wàn)維網(wǎng)一樣包括多個(gè)地址。在本地客戶端可利用所述地址的情況下,地址簿將是有用的。其它方可能(例如)對(duì)在萬(wàn)維網(wǎng)上以允許通過本地應(yīng)用程序來(lái)安裝的格式提供導(dǎo)航內(nèi)容感興趣,本地應(yīng)用程序可實(shí)施允許此接入的定制<header>:///URI方案。
通過RFC 3986定義的URI方案定義一框架,在所述框架內(nèi)可實(shí)施多個(gè)協(xié)議?,F(xiàn)代操作系統(tǒng)允許應(yīng)用程序?qū)⑵渥陨碜?cè)為用于具有給定協(xié)議的URI的指定句柄。例如由上文提到的第三計(jì)算機(jī)程序提供的本地應(yīng)用程序(本地客戶端)將其自身注冊(cè)為用于以<header>:///開頭的URI的句柄。
URI的其余部分用作本地客戶端中的命令列表。使用此方法,像“Amsterdam,Rembrandtplein 35”之類的地址可例如編碼為<header>:///Address?Amsterdam&Rembrandtplein&35。
在此方面,“?”和“&”字符是可選的,且可由其它預(yù)定義的字符或字符串替換。
除了支持URI的本地客戶端之外的任何應(yīng)用程序均可在遇到此URI時(shí)要求操作系統(tǒng)(OS)解析URI。OS又將通知本地客戶端用戶意圖使用“Address?Amsterdam&Rembrandtplein&35”。本地客戶端接著向用戶提供對(duì)所述地址作何處理的選擇的列表。然而,存在多個(gè)可使用地址的導(dǎo)航任務(wù)。
使用同一方法,且假設(shè)“http://shop.<web address>/voices/dutch/bram.toc“是一個(gè)荷蘭語(yǔ)音,則可能創(chuàng)建以下URI <header>:///Install?http%3a%2f%2fshop.<web address>%2fvoices%2fdutch%2fbram.toc 如果此URI將出現(xiàn)在網(wǎng)頁(yè)上,且用戶點(diǎn)擊所述URI,那么網(wǎng)絡(luò)瀏覽器可要求OS轉(zhuǎn)發(fā)此URI。OS將要求本地客戶端采取Install?http%3a%2f%2fshop.<webaddress>%2fvoices%2fdutch%2fbram.toc所暗示的動(dòng)作,在此情況下,其是從給定地址下載bram.toc(內(nèi)容表)。
下文中將描述命令的格式規(guī)范。
參考通用URL格式(其可能順應(yīng)RFC 3986),命令可具有以下結(jié)構(gòu) <header>:///command-list 其中 command-list=command[′#′command]+ command =command-name′?′argument-list command-name=(所支持的命令的名稱,見下文) argument-list =UrlEncode(argument)[′&′argument-list]+ argument=UTF8-string 參照傳統(tǒng)URL格式,命令可具有以下結(jié)構(gòu) <header>://legacy-command-list 其中 legacy-command-list =legacy-command[′&′legacy-command]+ legacy-command=command-name′(′legacy-argument-list′)′ legacy-argument-list=UrlEncode(argument)[′,′legacy-argument-list]+ 傳統(tǒng)URL無(wú)法含有字符“?”,而適當(dāng)URL總是含有所述字符。這使得可能區(qū)分傳統(tǒng)URL與適當(dāng)URL。應(yīng)注意,這些URL并不順應(yīng)RFC。許多URL處理實(shí)體將在處理期間改變所述URL。確切地說(shuō),許多Windows網(wǎng)絡(luò)瀏覽器將加上額外的“/”,以便使URL符合。有些網(wǎng)絡(luò)瀏覽器根本不支持所述URL。本地應(yīng)用程序試圖截取不當(dāng)形成的URL,以便處理各種各樣支持URL的應(yīng)用程序,但使用傳統(tǒng)URL格式會(huì)使所述方法更加復(fù)雜。
命令可具有以下結(jié)構(gòu)和自變量 結(jié)構(gòu)EMailContact?folder-ID&entry-ID 自變量電子郵件聯(lián)系人ID。
本地應(yīng)用程序?qū)碾娮余]件程序中檢索聯(lián)系人數(shù)據(jù),并詢問用戶對(duì)其作何處理(在地圖上顯示、導(dǎo)航到所述數(shù)據(jù)、添加為偏好等)。
結(jié)構(gòu)Address?city&street&number 自變量地址數(shù)據(jù)。
本地應(yīng)用程序?qū)⒃儐栍脩魧?duì)地址作何處理(在地圖上顯示、導(dǎo)航到所述地址、添加為偏好等)。
結(jié)構(gòu)ShowOnMap?city&street&number 自變量地址數(shù)據(jù)。
至少有一個(gè)城市或街道必須不為空。
結(jié)構(gòu)NavigateTo?city&street&number 自變量地址數(shù)據(jù)。
至少有一個(gè)城市或街道必須不為空。
結(jié)構(gòu)AddFavourite?favourite-name&city&street&number 自變量偏好的名稱和地址數(shù)據(jù)。
至少有一個(gè)城市或街道必須不為空。
Install?URL 自變量待下載的項(xiàng)目的TOC描述的HTTP URL,如果裝置連接上則安裝。
由URL指示的資源具有MIME類型“text/xml”。
TOC(內(nèi)容表)格式可由例如文件“TOC format.xsd”中的XML大綱(schema)來(lái)指定。
以下類型的項(xiàng)目可由用戶(例如第三方)安裝POI(感興趣的點(diǎn))、數(shù)據(jù)組、語(yǔ)音、顏色方案。
結(jié)構(gòu)Execute?URL 自變量含有實(shí)際命令列表的文本文件的HTTP URL。
由URL指示的資源具有MIME類型“text/plain”。
例如,如果將命令作為URL的一部分傳遞將產(chǎn)生過長(zhǎng)的URL,那么可使用此命令。
當(dāng)在傳統(tǒng)命令中使用Execute()命令名稱時(shí),URL可響應(yīng)于此而提供傳統(tǒng)命令列表。
結(jié)構(gòu)SwitchTab?Tabname 自變量服務(wù)器創(chuàng)建的標(biāo)簽(tab)的名稱。
如果標(biāo)簽存在的話,本地應(yīng)用程序?qū)⑶袚Q到此標(biāo)簽。如果標(biāo)簽不存在,那么本地應(yīng)用程序?qū)⒂涀∶Q,且一旦服務(wù)器確實(shí)創(chuàng)建了標(biāo)簽,便切換到所述標(biāo)簽。本地應(yīng)用程序?qū)⒅挥涀∫粋€(gè)名稱;第二SwitchTab命令將取代第一個(gè)。
結(jié)構(gòu)<user or host name>Page?Tabname&hostname&URL-path&anchor 自變量新創(chuàng)建的標(biāo)簽的標(biāo)簽名稱、主機(jī)名稱、路徑(相對(duì)于主機(jī)名稱)及URL錨(anchor)。
本地應(yīng)用程序首先檢查是否存在具有給定標(biāo)簽名稱的標(biāo)簽,否則其創(chuàng)建一個(gè)標(biāo)簽。此標(biāo)簽接著將其URL設(shè)置成http://hostname.<web address>/URL-path#anchor 本地應(yīng)用程序可拒絕帶有非字母數(shù)字字符的主機(jī)名稱,這會(huì)阻止名稱注入。例如,主機(jī)名稱“badguys.com/ignore”可能會(huì)被拒絕,因?yàn)椤?”和“/”是無(wú)效的。
如下文將提及,命令可具備密碼簽名,從而允許驗(yàn)證命令。舉例來(lái)說(shuō),可使用以下命令結(jié)構(gòu) 結(jié)構(gòu)<PublicKeyldentifier>?command-list&signature 自變量命令列表和簽名。
此命令用于執(zhí)行只可由用戶執(zhí)行的命令的列表。簽名證實(shí)命令列表的真實(shí)性。
signature=Sign<PrivateKey>(command-list) 應(yīng)注意,任何人均可驗(yàn)證簽名(使用公共密鑰)。
Sign<PrivateKey>(command-list)可如下實(shí)施 命令列表是UFT-8串,且因此可表達(dá)為字節(jié)序列。
命令列表當(dāng)用作Sign<PrivateKey>的輸入時(shí)不應(yīng)是用URL編碼的。
參照編碼方案,計(jì)算此字節(jié)序列的SHA-256散列H(256個(gè)位)。此外,使用私用密鑰(Q,M),計(jì)算簽名值(QH模數(shù)M)。將簽名存儲(chǔ)為Base-64編碼的小頭(little-endian)字節(jié)序列(既不要求也不添加填補(bǔ),目的是使URL保持較短)。與所有自變量一樣,命令列表和簽名自變量將是URL編碼的。當(dāng)在傳統(tǒng)命令中使用<PublicKeyldentifier>()命令名稱時(shí),第一自變量應(yīng)優(yōu)選是傳統(tǒng)命令列表。
解密是相反的過程本地應(yīng)用程序持有公共密鑰(P,M)。計(jì)算命令列表的SHA-256散列H(在URL解碼之后)(256個(gè)位)。使用公共密鑰(P,M),計(jì)算副署(PH模數(shù)M)。將簽名進(jìn)行Base-64解碼以獲得(QH模數(shù)M),其中計(jì)算乘積(PH·QH)模數(shù)M。如果簽名與副署匹配則接受簽名,這意味著(PH·QH)模數(shù)M等于1。
如果不存在命令自變量,則也可應(yīng)用以上概念。此外,命令名稱可包括若干向自變量指派語(yǔ)義的參數(shù)。舉例來(lái)說(shuō),每個(gè)自變量可用兩種可能的方式與參數(shù)匹配,所述兩種方式在下文中稱為定位法和命名法,這類似于編程語(yǔ)言中的函數(shù)調(diào)用語(yǔ)法。
參照定位語(yǔ)法,如果命令名稱具有例如三個(gè)參數(shù),且提供三個(gè)自變量,那么第一參數(shù)與第一自變量匹配等。舉例來(lái)說(shuō),地址命令具有三個(gè)參數(shù)城市、街道和門牌號(hào)。那么實(shí)際URI將含有三個(gè)自變量,其中將第一自變量解譯為城市名稱等。
或者,可支持以下語(yǔ)法 Address?Street=RembrandtPlein&City=Amsterdam。
在此情況下,每個(gè)自變量包含參數(shù)名稱。因此,這些稱為“命名”自變量。
此外,可規(guī)定以上提到的參數(shù)為強(qiáng)制性參數(shù)。這意味著必須存在匹配的自變量。代替于使用例如“?”,可使用其它參數(shù)來(lái)指示命令名稱與命令自變量之間的分隔。此外,也可采用其它機(jī)制,例如強(qiáng)加固定長(zhǎng)度的命令名稱(這暗示所述位置之后的第一字母開始第一命令自變量)。
<header>:///URI一般來(lái)說(shuō)可含有一個(gè)或一個(gè)以上命令。因此,可使用字符“#”(或任何其它字符,例如“and”)來(lái)串連命令。
圖3展示用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序而模擬導(dǎo)航裝置的行為的通信裝置的框圖。所述通信裝置包括提供器301,其用于提供與裝置固件程序有關(guān)的信息;確定器303,其連接到提供器301,用于確定安裝在通信裝置上的當(dāng)前固件程序是否對(duì)應(yīng)于安裝在導(dǎo)航裝置上的裝置固件程序;以及處理器305,其連接到確定器303,用于執(zhí)行通信裝置上的當(dāng)前固件程序,以便在當(dāng)前固件程序?qū)?yīng)于裝置固件的情況下模擬導(dǎo)航裝置的行為。
通信裝置可以通過編程來(lái)設(shè)置和配置,以便執(zhí)行可控制模擬過程的以上提到的本地應(yīng)用程序。
模擬概念進(jìn)一步支持導(dǎo)航裝置的便攜性和可用性。通常,(便攜式)導(dǎo)航裝置具有例如小型屏幕,所述小型屏幕也充當(dāng)其輸入。相反,例如(臺(tái)式)計(jì)算機(jī)(例如,PC)具有大得多的屏幕和更加高級(jí)的輸入方法。因此,如果導(dǎo)航裝置由可例如連接到導(dǎo)航裝置的計(jì)算機(jī)控制,那么可在導(dǎo)航裝置上執(zhí)行的許多任務(wù)更容易進(jìn)行。此外,計(jì)算機(jī)的處理器(例如CPU)更快。
此外,模擬概念可以通過編程來(lái)實(shí)施,且例如嵌入到本地應(yīng)用程序中,以便有效地使得例如計(jì)算機(jī)(代表通信裝置的實(shí)施例)能夠使用更有能力的計(jì)算機(jī)資源來(lái)控制導(dǎo)航裝置。
當(dāng)將導(dǎo)航裝置連接到本地客戶端(或連接到通信裝置)時(shí),確定安裝在導(dǎo)航裝置上的固件版本。如果本地客戶端具有固件的計(jì)算機(jī)等效版本,那么開始所述固件。如果沒有任何等效的版本可用,但有網(wǎng)絡(luò)連接(例如,因特網(wǎng)連接)可用,那么本地客戶端可詢問本地服務(wù)器等效版本是哪個(gè),以及可從何處下載所述版本。
圖4例示從進(jìn)一步的網(wǎng)絡(luò)實(shí)體向網(wǎng)絡(luò)實(shí)體提供特定信息的方法。所述方法包括經(jīng)由通信網(wǎng)絡(luò)從網(wǎng)絡(luò)實(shí)體向進(jìn)一步的網(wǎng)絡(luò)實(shí)體傳輸401對(duì)特定信息的請(qǐng)求,并經(jīng)由通信網(wǎng)絡(luò)從進(jìn)一步的網(wǎng)絡(luò)實(shí)體向網(wǎng)絡(luò)實(shí)體傳輸403時(shí)間信息,所述時(shí)間信息指示連接到進(jìn)一步的網(wǎng)絡(luò)實(shí)體以用于獲得特定信息的特定時(shí)間瞬間。所述方法可例如在軟件中實(shí)施(例如,作為本地應(yīng)用程序),所述軟件在被執(zhí)行時(shí)執(zhí)行所述方法步驟。
舉例來(lái)說(shuō),用戶可向本地應(yīng)用程序要求關(guān)于特定道路的每日交通報(bào)告(特定和用戶特定的信息)。本地應(yīng)用程序?qū)⒔又缑咳赵谡?qǐng)求的時(shí)間顯示關(guān)于所請(qǐng)求的道路上的交通堵塞及交通事故的報(bào)告。當(dāng)在本地客戶端中進(jìn)行交通報(bào)告請(qǐng)求時(shí),客戶端例如立刻將請(qǐng)求轉(zhuǎn)發(fā)到服務(wù)器。針對(duì)給定用戶將請(qǐng)求數(shù)據(jù)存儲(chǔ)在服務(wù)器上。響應(yīng)于所述請(qǐng)求,服務(wù)器發(fā)回本地客戶端應(yīng)輪詢本地服務(wù)器的時(shí)間。此外,每當(dāng)同一用戶再次登錄時(shí),本地服務(wù)器均將告訴本地客戶端輪詢服務(wù)器的時(shí)間。服務(wù)器對(duì)輪詢報(bào)告作出反應(yīng)而發(fā)送實(shí)際交通報(bào)告。本地應(yīng)用程序例如將交通報(bào)告格式化以用于顯示用途。結(jié)果是將所有數(shù)據(jù)存儲(chǔ)在服務(wù)器側(cè),但仍然由客戶端起始連接。這允許本地客戶端在被作為軟件程序在計(jì)算機(jī)上執(zhí)行時(shí),突破防火墻或彈出攔截器而顯示交通警告。
為了確定用戶信息以便獲得例如用戶特定的信息,可利用用戶手動(dòng)輸入的登錄證書?;蛘?,本地客戶端可在早期已存儲(chǔ)了登錄證書。不論是哪種方式,如果本地客戶端具有登錄證書,那么每當(dāng)執(zhí)行軟件程序提供的本地客戶端時(shí),本地客戶端均可自動(dòng)發(fā)送登錄證書。如果本地客戶端尚未具有證書,那么用戶可手動(dòng)起始登錄。在所述情況下,本地客戶端將提示輸入證書,立刻將證書發(fā)送到遠(yuǎn)程服務(wù)器,且還存儲(chǔ)證書以供將來(lái)使用。
圖5例示用于提供密碼簽署的命令的方法,所述命令包括命令名稱和至少一個(gè)命令自變量。所述方法包括產(chǎn)生501命令名稱的密碼簽名,以及使用命令名稱、簽名和所述至少一個(gè)命令自變量構(gòu)成503(例如,串聯(lián))密碼簽署的命令。
舉例來(lái)說(shuō),可采用結(jié)合圖2的實(shí)施例描述的加密和解密方案來(lái)提供和驗(yàn)證數(shù)字簽名。
舉例來(lái)說(shuō),經(jīng)過鑒定的URI可包括具有兩個(gè)自變量的命令;第一自變量是作為命令的字符串。第二自變量是第一自變量的“數(shù)字簽名”。優(yōu)選地,采用標(biāo)準(zhǔn)公共密鑰密碼術(shù)來(lái)使用私用密鑰簽署第一自變量,所述私用密鑰提供數(shù)字簽名。舉例來(lái)說(shuō),具有匹配的公共密鑰的本地客戶端可副署第一自變量。在且僅在密鑰相等的情況下,簽名和副署才是互補(bǔ)的。如果是這種情況,那么本地客戶端信任第一命令,且即使第一自變量中的命令將被認(rèn)為是危險(xiǎn)的,仍將執(zhí)行第一命令。
也可使用以上鑒定的URI機(jī)制來(lái)更新導(dǎo)航裝置上的固件。優(yōu)選地,可允許復(fù)制或更新命令,然而不能更改命令。因此,例如用錯(cuò)誤的固件更新導(dǎo)航裝置可能會(huì)對(duì)導(dǎo)航裝置造成無(wú)法修復(fù)的損害。
根據(jù)一實(shí)施例,簽署的命令接著用作另一命令(密碼簽署的命令)中的第一自變量,其中所述簽名用作例如第二自變量。密碼簽署的命令的結(jié)構(gòu)可如下 verify_command(commandnamel(argument1,argument2,argument3),signature) 可通過向應(yīng)被鑒定的命令應(yīng)用例如私用(秘密)密鑰來(lái)產(chǎn)生簽名(針對(duì)外部命令的第二自變量),即 Commandnamel(argument1,argument2,argument3)+private_key=signature 為了產(chǎn)生副署,可使用類似算法 commandnamel(argument1,argument2,argument3)+public_key=countersignature。
如果簽名和副署彼此對(duì)應(yīng),那么驗(yàn)證命令。優(yōu)選地,可為了簽名用途而采用像例如RSA或DSA算法之類的標(biāo)準(zhǔn)公共密鑰密碼術(shù)方法。
舉例來(lái)說(shuō),考慮命令<header>:///<PublicKeyIdentifier>?Install%3fhttp%3a%2f%2fintranet%2fplus%2fdocuments%2ftemp%2fnavcore_6.522.7709.go510-go710.toc&JYrSIQ, 其中<PublicKeyIdentifier>是用于由用戶鑒定的命令的實(shí)際命令名稱。第一自變量是Install%3fhttp%3a%2f%2fintranet%2fplus%2fdocuments%2ftemp%2fnavcore_6.522.7709.go510-go710.toc 這是嵌入式命令。實(shí)際命令名稱是安裝,將“?”編碼成%3f,且其余部分是安裝命令的自變量。用戶用其私用密鑰簽署安裝命令,且出現(xiàn)的簽名是JYrSIQ。為了驗(yàn)證命令,可產(chǎn)生副署。如果正確地簽署命令,那么副署將匹配。
如果另一用戶試圖編輯命令,例如<header>:///<PublicKeyIdentifier>?Install%3fhttp%3a%2f%evil.com%2fnavcore_6.522.7709.go510-go710.toc&JYrSIQ,那么將計(jì)算不與簽名匹配的不同副署。因此,將拒絕安裝來(lái)自evil.com的內(nèi)容。
圖6展示用于更新存儲(chǔ)在導(dǎo)航裝置中的當(dāng)前導(dǎo)航內(nèi)容的通信裝置。所述通信裝置包括檢索元件601,其用于從導(dǎo)航裝置中檢索指示當(dāng)前導(dǎo)航內(nèi)容的信息;傳輸器603,其連接到檢索元件,用于經(jīng)由通信網(wǎng)絡(luò)向遠(yuǎn)程網(wǎng)絡(luò)裝置傳輸指示當(dāng)前導(dǎo)航內(nèi)容的信息;接收器605,其用于從遠(yuǎn)程通信裝置接收更新的導(dǎo)航內(nèi)容;以及處理器607,其用于顯示與更新的導(dǎo)航內(nèi)容有關(guān)的信息,或者用于在導(dǎo)航裝置上安裝更新的導(dǎo)航內(nèi)容。
可將指示當(dāng)前或更新的導(dǎo)航內(nèi)容的信息作為內(nèi)容文件表來(lái)傳輸,所述內(nèi)容文件表指示例如內(nèi)容類型、內(nèi)容名稱、內(nèi)容大小或內(nèi)容版本。此外,可傳輸與裝置標(biāo)識(shí)或用戶標(biāo)識(shí)有關(guān)的信息。
遠(yuǎn)程通信裝置(例如,服務(wù)器)可包括存儲(chǔ)例如可用的導(dǎo)航項(xiàng)目(例如,地圖、路線安排信息、GPS定位等)的列表的數(shù)據(jù)庫(kù)。此外,遠(yuǎn)程服務(wù)器可在傳輸更新的內(nèi)容之前檢查因例如預(yù)訂狀態(tài)而授予的用戶的權(quán)利或因例如裝置標(biāo)識(shí)而授予的導(dǎo)航裝置的權(quán)利。
如上文提到的,可在TOC文件(內(nèi)容表)中概括內(nèi)容信息。以下列出示范性TOC文件 <Program> <Id>13214</Id> <Version>1.2</Version> <Target>target</Target> <Name>NameOfItem</Name> <Preview>http://download.<download_address>/somepreview.exe</Preview> <Location>http://download.<web address>/someitem.cab</Location> <Size>546484</Size> </Program> <Map> <Id>8977</Id> <Version>1.2</Version> <Target>Thistarget</Target> <Name>Benelux</Name><Category>Category</Category> <Preview>http://download.<download_address>/mappreview.png</Preview> <Location>http://download.<download_address>/mapdownload.cab</Location> <Icon>http://download.<download_address>/mapicon.png</Icon> <Size>4646498/</Size> <Insta11Restrictions DeviceId=″35265252″/> </Map> <Voice language=″e(cuò)n″gender=″male″> <Id>4657</Id> <Version>1.1</Version> <Name>user_name</Name> <Preview>http://download.<download_address>/voicepreview.mp3</Preview> <Location>http://download.<download_address>/voicedownload.cab</Location> <Size>468797946231</Size> <Picture>http://<download_address>/voicepicture.png</Picture> <Icon>http://<download_address>/voiceicon.png</Icon> </Voice> <Colorscheme> <Id>98797</Id> <Version>1.1</Version> <Name>Bright Black</Name> <Location>http://download.<download_address>/colordownload.cab</Location> <Size>6464</Size> </Colorscheme> <Poi> <Id>65446</Id> <Version>1.3</Version> <Name>Wifi Hotspots</Name> <Category>Connectivity</Category> <Location>http://download.<download_address>/poidownload.cab</Location> <Size>54567</Size> </Poi> </Toc> 字段<InstallRestrictions DeviceId=″35265252″/>指定對(duì)于此項(xiàng)目(除了<Target>元素)的可安裝性的限制。其沒有任何內(nèi)容??蛇x的屬性為deviceId(串),其指示項(xiàng)目只可安裝在具有此裝置ID的裝置上;以及minNavigatorVersion(串),其指示必須針對(duì)待安裝的此項(xiàng)目而安裝的導(dǎo)航儀程序的最低版本。
圖7展示例如在計(jì)算機(jī)上運(yùn)行可執(zhí)行應(yīng)用程序701(甜點(diǎn)應(yīng)用程序(sweetapplication)、本地應(yīng)用程序)的通信情形的框圖,所述計(jì)算機(jī)經(jīng)由通信網(wǎng)絡(luò)703與遠(yuǎn)程服務(wù)器705通信,以便如圖7中所描繪而互換信息。服務(wù)器707可提供消息,所述消息以氣球消息707或例如應(yīng)用程序701提供的瀏覽器組件的形式展現(xiàn)。
上述實(shí)施例中的元件和特征的特定組合僅是示范性的;還明確地涵蓋這些教示與本發(fā)明及以引用的方式并入的專利/申請(qǐng)案中的其它教示的互換和替換。所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,所屬領(lǐng)域的一般技術(shù)人員在不偏離所主張的本發(fā)明的精神和范圍的情況下可想到本文中描述的內(nèi)容的變化、修改及其它實(shí)施方案。因此,以上描述僅舉例而言,且不希望其是限制性的。本發(fā)明的范圍在隨附權(quán)利要求書及其等效物中定義。此外,描述內(nèi)容和權(quán)利要求書中使用的參考符號(hào)并不限制所主張的本發(fā)明的范圍。
權(quán)利要求
1.一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序而模擬所述導(dǎo)航裝置的行為的通信裝置,所述通信裝置包括
提供器(301),其用于提供與所述裝置固件程序有關(guān)的信息;
確定器(303),其用于確定安裝在所述通信裝置上的當(dāng)前固件程序是否對(duì)應(yīng)于安裝在所述導(dǎo)航裝置上的所述裝置固件程序;以及
處理器(305),其用于在所述當(dāng)前固件程序?qū)?yīng)于所述裝置固件的情況下執(zhí)行所述通信裝置上的所述當(dāng)前固件程序,以便模擬所述導(dǎo)航裝置的所述行為。
2.根據(jù)權(quán)利要求1所述的通信裝置,所述處理器(305)進(jìn)一步經(jīng)配置以經(jīng)由通信網(wǎng)絡(luò)建立到達(dá)遠(yuǎn)程網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接,以便在所述當(dāng)前固件程序不對(duì)應(yīng)于所述裝置固件程序的情況下獲得所述當(dāng)前固件程序的更新的版本,所述處理器(305)進(jìn)一步經(jīng)配置以執(zhí)行所述當(dāng)前固件程序的所述更新的版本,以便模擬所述導(dǎo)航裝置的所述行為。
3.根據(jù)權(quán)利要求1或2所述的通信裝置,所述提供器(301)經(jīng)配置以連接到所述導(dǎo)航裝置,以便檢索指示所述裝置固件程序的信息。
4.根據(jù)權(quán)利要求1到3中任一權(quán)利要求所述的通信裝置,所述確定器(305)經(jīng)配置以確定安裝在所述通信裝置上的所述當(dāng)前固件程序是否對(duì)應(yīng)于所述裝置固件,所述確定是基于包括指示所述裝置固件程序的信息的內(nèi)容文件表,或者是基于包括指示所述當(dāng)前固件程序的信息的內(nèi)容文件表。
5.根據(jù)權(quán)利要求1到4中任一權(quán)利要求所述的通信裝置,所述處理器(305)進(jìn)一步經(jīng)配置以基于對(duì)所述導(dǎo)航裝置的所述行為的所述模擬來(lái)控制所述導(dǎo)航裝置。
6.一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序來(lái)模擬所述導(dǎo)航裝置的行為的方法,所述方法包括
提供關(guān)于來(lái)自所述導(dǎo)航裝置的所述裝置固件程序的信息;
確定當(dāng)前固件程序是否對(duì)應(yīng)于安裝在所述導(dǎo)航裝置上的所述裝置固件;以及
在所述當(dāng)前固件程序?qū)?yīng)于所述裝置固件的情況下執(zhí)行通信裝置上的所述當(dāng)前固件程序,以便模擬所述導(dǎo)航裝置的所述行為。
7.根據(jù)權(quán)利要求6所述的方法,其包括經(jīng)由通信網(wǎng)絡(luò)建立到達(dá)遠(yuǎn)程網(wǎng)絡(luò)實(shí)體的網(wǎng)絡(luò)連接,以便在所述當(dāng)前固件程序不對(duì)應(yīng)于所述裝置固件程序的情況下獲得所述當(dāng)前固件程序的更新的版本;以及執(zhí)行所述當(dāng)前固件程序的所述更新的版本,以便模擬所述導(dǎo)航裝置的所述行為。
8.根據(jù)權(quán)利要求6或7所述的方法,其包括連接到所述導(dǎo)航裝置,以便檢索指示所述裝置固件程序的信息。
9.根據(jù)權(quán)利要求6到8中任一權(quán)利要求所述的方法,其包括確定所述當(dāng)前固件程序是否對(duì)應(yīng)于所述裝置固件程序,所述確定是基于包括指示所述裝置固件程序的信息的內(nèi)容文件表,或者是基于包括指示所述當(dāng)前固件程序的信息的內(nèi)容文件表。
10.一種計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行時(shí)所述計(jì)算機(jī)程序用于執(zhí)行根據(jù)權(quán)利要求6到9中任一權(quán)利要求所述的方法。
11.一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序來(lái)模擬所述導(dǎo)航裝置的行為的可通過編程來(lái)設(shè)置的通信裝置,所述可通過編程來(lái)設(shè)置的通信裝置經(jīng)配置以執(zhí)行用于提供關(guān)于所述裝置固件程序的信息的第一計(jì)算機(jī)程序;執(zhí)行用于確定可供所述可通過編程來(lái)設(shè)置的通信裝置使用的當(dāng)前固件程序是否對(duì)應(yīng)于安裝在所述導(dǎo)航裝置上的所述裝置固件程序的第二計(jì)算機(jī)程序;并在所述當(dāng)前固件程序?qū)?yīng)于所述裝置固件程序的情況下執(zhí)行所述通信裝置上的所述當(dāng)前固件程序,以便模擬所述導(dǎo)航裝置的所述行為。
全文摘要
本發(fā)明提供一種用于響應(yīng)于執(zhí)行安裝在導(dǎo)航裝置上的裝置固件程序而模擬導(dǎo)航裝置的行為的通信裝置。所述通信裝置包括提供器301,其用于提供關(guān)于所述裝置固件程序的信息;確定器303,其用于確定安裝在所述通信裝置上的當(dāng)前固件程序是否對(duì)應(yīng)于安裝在所述導(dǎo)航裝置上的所述裝置固件程序;以及處理器305,其用于在所述當(dāng)前固件程序?qū)?yīng)于所述裝置固件的情況下執(zhí)行所述通信裝置上的所述當(dāng)前固件程序,以便模擬所述導(dǎo)航裝置的行為。
文檔編號(hào)G01C21/00GK101389925SQ200780006539
公開日2009年3月18日 申請(qǐng)日期2007年3月8日 優(yōu)先權(quán)日2006年3月8日
發(fā)明者戴維·維斯曼斯, 米希爾·薩爾特斯, 詹姆斯·泰比特 申請(qǐng)人:通騰科技股份有限公司