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