說明性實施例總體上涉及用于動態(tài)車輛通信響應(yīng)的方法和設(shè)備。
背景技術(shù):
從遠(yuǎn)程源與車輛計算系統(tǒng)進(jìn)行通信可采用時間敏感通信形式和非時間敏感通信形式??蓪r間敏感通信及時作出響應(yīng)或者可能需要對時間敏感通信及時作出響應(yīng),以保持響應(yīng)的有用性。非時間敏感通信可包括但不限于例如關(guān)于針對信息目的的車輛系統(tǒng)狀態(tài)的查詢。這些數(shù)據(jù)可以以不那么即時的方式(inlessthananimmediatefashion)被收集,并且仍可保持有用性。
使用任何可用的通信基礎(chǔ)設(shè)施可能導(dǎo)致數(shù)據(jù)丟失和/或高于預(yù)期的成本。根據(jù)若干因素(例如,但不限于,數(shù)據(jù)大小、網(wǎng)絡(luò)使用成本、重傳率等),特定網(wǎng)絡(luò)的使用會增加與車輛通信的成本。這在時間敏感的情況下可能是可接受的,但是當(dāng)可以以非時間敏感方式對查詢作出響應(yīng)時,可采用替代的通信策略。
技術(shù)實現(xiàn)要素:
在第一說明性實施例中,一種系統(tǒng)包括被配置為從遠(yuǎn)程實體接收包括響應(yīng)網(wǎng)絡(luò)參數(shù)的查詢的車輛處理器。所述車輛處理器還被配置為基于響應(yīng)網(wǎng)絡(luò)參數(shù)來確定響應(yīng)傳輸策略。所述車輛處理器還被配置為:確定具有由響應(yīng)傳輸策略與響應(yīng)網(wǎng)絡(luò)參數(shù)值一起定義的特性的網(wǎng)絡(luò)是否被連接,如果所述網(wǎng)絡(luò)當(dāng)前可用,則使用所述網(wǎng)絡(luò)來發(fā)送查詢響應(yīng),否則將所述查詢響應(yīng)放入隊列直到所述網(wǎng)絡(luò)被連接為止。
在第二說明性實施例中,一種計算機實現(xiàn)的方法包括:確定用于發(fā)送針對接收到的查詢的響應(yīng)的網(wǎng)絡(luò)策略,所述查詢包括由車輛計算機使用以基于包括的參數(shù)值來確定將使用哪個網(wǎng)絡(luò)策略的參數(shù),所述網(wǎng)絡(luò)策略定義具有與參數(shù)值相匹配的特性的網(wǎng)絡(luò)。所述方法還包括:如果所述網(wǎng)絡(luò)當(dāng)前可用,則利用所述網(wǎng)絡(luò)來發(fā)送所述響應(yīng),如果所述網(wǎng)絡(luò)當(dāng)前不可用,則將所述響應(yīng)放入隊列。
在第三說明性實施例中,一種計算機實現(xiàn)的方法包括:確定用于發(fā)送針對接收到的查詢的響應(yīng)的網(wǎng)絡(luò)策略,所述查詢包括由車輛計算機使用以基于哪些參數(shù)被包括在所述查詢中來確定將使用哪個網(wǎng)絡(luò)策略的參數(shù),所述網(wǎng)絡(luò)策略定義具有與被包括在所述查詢中的參數(shù)值相匹配的特性的網(wǎng)絡(luò)。所述方法還包括:如果所述網(wǎng)絡(luò)可用,則利用所述網(wǎng)絡(luò)來發(fā)送所述響應(yīng),如果所述網(wǎng)絡(luò)不可用,則將所述響應(yīng)放入隊列。
附圖說明
圖1示出了說明性車輛計算系統(tǒng);
圖2示出了用于對非時間敏感通信作出響應(yīng)的說明性流程圖;
圖3示出了通信策略實施方式的說明性示例;
圖4示出了網(wǎng)絡(luò)狀態(tài)評估處理的說明性示例;
圖5示出了定義說明性策略的傳輸配置參數(shù)的說明性示例;
圖6a至圖6c示出了利用不同的通信策略的數(shù)據(jù)傳輸?shù)恼f明性示例。
具體實施方式
根據(jù)需要,在此公開了本發(fā)明的詳細(xì)實施例。然而,將理解的是,所公開的實施例僅為本發(fā)明的示例,其中,本發(fā)明可以以各種可替代形式來實現(xiàn)。附圖不必按比例繪制;一些特征可被夸大或最小化以示出特定組件的細(xì)節(jié)。因此,在此公開的具體結(jié)構(gòu)和功能細(xì)節(jié)不應(yīng)被解釋為具有限制性,而僅作為用于教導(dǎo)本領(lǐng)域技術(shù)人員以多種方式利用本發(fā)明的代表性基礎(chǔ)。
圖1示出了用于車輛31的基于車輛的計算系統(tǒng)(vcs)1的示例框式拓?fù)鋱D。這種基于車輛的計算系統(tǒng)1的示例為由福特汽車公司制造的sync系統(tǒng)。設(shè)置有基于車輛的計算系統(tǒng)的車輛可包含位于車輛中的可視前端界面4。如果所述界面設(shè)置有例如觸摸敏感屏幕,則用戶還能夠與所述界面進(jìn)行交互。在另一說明性實施例中,通過按鈕按壓、具有自動語音識別和語音合成的口語對話系統(tǒng)來進(jìn)行交互。
在圖1所示的說明性實施例1中,處理器3控制基于車輛的計算系統(tǒng)的至少一部分操作。設(shè)置在車輛內(nèi)的處理器允許對命令和程序進(jìn)行車載處理。另外,處理器連接到非持久性存儲器5和持久性存儲器7兩者。在此說明性實施例中,非持久性存儲器是隨機存取存儲器(ram),持久性存儲器是硬盤驅(qū)動器(hdd)或閃存。一般說來,持久性(非暫態(tài))存儲器可包括當(dāng)計算機或其它裝置掉電時保存數(shù)據(jù)的所有形式的存儲器。這些存儲器包括但不限于:hdd、cd、dvd、磁帶、固態(tài)驅(qū)動器、便攜式usb驅(qū)動器和任何其它適當(dāng)形式的持久性存儲器。
處理器還設(shè)置有允許用戶與處理器進(jìn)行交互的若干不同的輸入。在此說明性實施例中,麥克風(fēng)29、輔助輸入25(用于輸入33)、usb輸入23、gps輸入24、屏幕4(其可以是觸摸屏顯示器)和藍(lán)牙輸入15全部被設(shè)置。還設(shè)置了輸入選擇器51,以允許用戶在各種輸入之間進(jìn)行切換。對麥克風(fēng)和輔助連接器兩者的輸入在被傳送到處理器之前由轉(zhuǎn)換器27對所述輸入進(jìn)行模數(shù)轉(zhuǎn)換。盡管未示出,但是與vcs進(jìn)行通信的眾多車輛組件和輔助組件可使用車輛網(wǎng)絡(luò)(諸如但不限于can總線)向vcs(或其組件)傳送數(shù)據(jù)并傳送來自vcs(或其組件)的數(shù)據(jù)。
系統(tǒng)的輸出可包括但不限于視覺顯示器4以及揚聲器13或立體聲系統(tǒng)輸出。揚聲器連接到放大器11,并通過數(shù)模轉(zhuǎn)換器9從處理器3接收其信號。還可分別沿19和21所示的雙向數(shù)據(jù)流產(chǎn)生到遠(yuǎn)程藍(lán)牙裝置(諸如個人導(dǎo)航裝置(pnd)54)或usb裝置(諸如車輛導(dǎo)航裝置60)的輸出。
在一個說明性實施例中,系統(tǒng)1使用藍(lán)牙收發(fā)器15與用戶的移動裝置53(例如,蜂窩電話、智能電話、pda或具有無線遠(yuǎn)程網(wǎng)絡(luò)連接能力的任何其它裝置)進(jìn)行通信(17)。移動裝置隨后可用于通過例如與蜂窩塔57的通信(55)來與車輛31外部的網(wǎng)絡(luò)61進(jìn)行通信(59)。在一些實施例中,蜂窩塔57可以是wifi接入點。
移動裝置與藍(lán)牙收發(fā)器之間的示例性通信由信號14表示。
可通過按鈕52或類似的輸入來指示將移動裝置53與藍(lán)牙收發(fā)器15進(jìn)行配對。相應(yīng)地,cpu被指示車載藍(lán)牙收發(fā)器將與移動裝置中的藍(lán)牙收發(fā)器進(jìn)行配對。
可利用例如與移動裝置53關(guān)聯(lián)的數(shù)據(jù)計劃、話上數(shù)據(jù)或dtmf音在cpu3與網(wǎng)絡(luò)61之間傳送數(shù)據(jù)??蛇x地,可期望包括具有天線18的車載調(diào)制解調(diào)器63,以便在cpu3與網(wǎng)絡(luò)61之間通過語音頻帶傳送數(shù)據(jù)(16)。移動裝置53隨后可用于通過例如與蜂窩塔57的通信(55)來與車輛31外部的網(wǎng)絡(luò)61進(jìn)行通信(59)。在一些實施例中,調(diào)制解調(diào)器63可與蜂窩塔57建立通信(20),以與網(wǎng)絡(luò)61進(jìn)行通信。作為非限制性示例,調(diào)制解調(diào)器63可以是usb蜂窩調(diào)制解調(diào)器,并且通信20可以是蜂窩通信。
在一個說明性實施例中,處理器設(shè)置有包括用于與調(diào)制解調(diào)器應(yīng)用軟件進(jìn)行通信的api的操作系統(tǒng)。調(diào)制解調(diào)器應(yīng)用軟件可訪問藍(lán)牙收發(fā)器上的嵌入式模塊或固件,以完成與(諸如在移動裝置中發(fā)現(xiàn)的)遠(yuǎn)程藍(lán)牙收發(fā)器的無線通信。藍(lán)牙是ieee802pan(個域網(wǎng))協(xié)議的子集。ieee802lan(局域網(wǎng))協(xié)議包括wifi并與ieee802pan具有相當(dāng)多的交叉功能。兩者都適合于車輛內(nèi)的無線通信??稍诒绢I(lǐng)域使用的另一通信方式是自由空間光通信(諸如irda)和非標(biāo)準(zhǔn)化消費者ir協(xié)議。
在另一實施例中,移動裝置53包括用于語音頻帶數(shù)據(jù)通信或?qū)拵?shù)據(jù)通信的調(diào)制解調(diào)器。在話上數(shù)據(jù)的實施例中,當(dāng)移動裝置的擁有者可在數(shù)據(jù)被傳送的同時通過裝置說話時,可實施已知為頻分復(fù)用的技術(shù)。在其它時間,當(dāng)擁有者沒有在使用裝置時,數(shù)據(jù)傳送可使用整個帶寬(在一個示例中是300hz到3.4khz)。盡管頻分復(fù)用對于車輛與互聯(lián)網(wǎng)之間的模擬蜂窩通信而言會是常見的并且仍在被使用,但是其已經(jīng)很大程度上被用于數(shù)字蜂窩通信的碼域多址(cdma)、時域多址(tdma)、空域多址(sdma)的混合體所替代。這些都是ituimt-2000(3g)兼容的標(biāo)準(zhǔn),并且為靜止或行走的用戶提供高達(dá)2mbs的數(shù)據(jù)速率并且為移動車輛中的用戶提供高達(dá)385kbs的數(shù)據(jù)速率。3g標(biāo)準(zhǔn)現(xiàn)在正被imt-advanced(4g)所替代,其中,所述imt-advanced(4g)為車輛中的用戶提供100mbs的數(shù)據(jù)速率并且為靜止的用戶提供1gbs的數(shù)據(jù)速率。如果用戶具有與移動裝置關(guān)聯(lián)的數(shù)據(jù)計劃,則所述數(shù)據(jù)計劃可允許寬帶傳輸并且所述系統(tǒng)可使用寬得多的帶寬(加速數(shù)據(jù)傳送)。在另一實施例中,移動裝置53被安裝至車輛31的蜂窩通信裝置(未示出)所替代。在又一實施例中,移動裝置(nd)53可以是能夠通過例如(但不限于)802.11g網(wǎng)絡(luò)(即,wifi)或wimax網(wǎng)絡(luò)進(jìn)行通信的無線局域網(wǎng)(lan)裝置。
在一個實施例中,傳入數(shù)據(jù)可經(jīng)由話上數(shù)據(jù)或數(shù)據(jù)計劃通過移動裝置、通過車載藍(lán)牙收發(fā)器傳送,并進(jìn)入車輛的內(nèi)部處理器3。例如,在某些臨時數(shù)據(jù)的情況下,數(shù)據(jù)可被存儲在hdd或其它存儲介質(zhì)7上,直至不再需要所述數(shù)據(jù)時為止。
其它的可與車輛進(jìn)行交互的源包括:具有例如usb連接56和/或天線58的個人導(dǎo)航裝置54、具有usb62或其它連接的車輛導(dǎo)航裝置60、車載gps裝置24、或具有到網(wǎng)絡(luò)61的連接的遠(yuǎn)程導(dǎo)航系統(tǒng)(未示出)。usb是一類串行聯(lián)網(wǎng)協(xié)議中的一種。ieee1394(火線tm(蘋果)、i.linktm(索尼)和lynxtm(德州儀器))、eia(電子工業(yè)協(xié)會)串行協(xié)議、ieee1284(centronics端口)、s/pdif(索尼/飛利浦?jǐn)?shù)字互連格式)和usb-if(usb開發(fā)者論壇)形成了裝置-裝置串行標(biāo)準(zhǔn)的骨干。多數(shù)協(xié)議可針對電通信或光通信來實施。
此外,cpu可與各種其它的輔助裝置65進(jìn)行通信。這些裝置可通過無線連接67或有線連接69來連接。輔助裝置65可包括但不限于:個人媒體播放器、無線保健裝置、便攜式計算機等。
此外或可選地,可使用例如wifi(ieee802.11)收發(fā)器71將cpu連接到基于車輛的無線路由器73。這可允許cpu在本地路由器73的范圍內(nèi)連接到遠(yuǎn)程網(wǎng)絡(luò)。
除了由位于車輛中的車輛計算系統(tǒng)執(zhí)行示例性處理之外,在某些實施例中,還可由與車輛計算系統(tǒng)通信的計算系統(tǒng)來執(zhí)行示例性處理。這樣的系統(tǒng)可包括但不限于:無線裝置(例如,但不限于,移動電話)或通過無線裝置連接的遠(yuǎn)程計算系統(tǒng)(例如,但不限于,服務(wù)器)。這樣的系統(tǒng)可被統(tǒng)稱為與車輛關(guān)聯(lián)的計算系統(tǒng)(vacs)。在某些實施例中,vacs的特定組件可根據(jù)系統(tǒng)的特定實施方式來執(zhí)行處理的特定部分。通過示例而并非限制的方式,如果處理具有與配對的無線裝置進(jìn)行發(fā)送或者接收信息的步驟,則很可能由于無線裝置不會與自身進(jìn)行信息的“發(fā)送和接收”,而使得無線裝置不執(zhí)行該部分的處理。本領(lǐng)域的普通技術(shù)人員將理解何時不適合對給定的解決方案應(yīng)用特定的計算系統(tǒng)。
在每個在此討論的說明性實施例中,示出了可由計算系統(tǒng)執(zhí)行的處理的示例性的非限制性的示例。針對每個處理,執(zhí)行該處理的計算系統(tǒng)為了執(zhí)行該處理的有限目的而變?yōu)楸慌渲脼橛糜趫?zhí)行該處理的專用處理器是可行的。所有處理不需要被全部執(zhí)行,并且被理解為是可被執(zhí)行以實現(xiàn)本發(fā)明的要素的多種類型的處理的示例??筛鶕?jù)需要添加額外的步驟或者從示例性處理中去除額外的步驟。
可將車輛到云的通信協(xié)議設(shè)計成在基于車輛的計算系統(tǒng)(vcs)(諸如車輛的遠(yuǎn)程信息處理單元)與遠(yuǎn)離車輛的服務(wù)傳遞網(wǎng)絡(luò)之間提供通信。該協(xié)議可定義用于在vcs與服務(wù)傳遞網(wǎng)絡(luò)之間發(fā)送消息有效載荷的傳輸層以及被發(fā)送的消息的有效載荷的格式。
名稱/值對模型可允許定義消息的數(shù)據(jù)元素,消息的數(shù)據(jù)元素根據(jù)正在發(fā)送的消息的類型而不同。此外,名稱/值對模型可允許定義數(shù)據(jù)的子集(例如,包括在來自車輛的消息中的信息、包括在來自服務(wù)傳遞網(wǎng)絡(luò)的消息中的信息、描述車輛狀態(tài)的信息、描述車輛當(dāng)前位置的信息等)。這些數(shù)據(jù)的子集隨后可作為其它消息定義中的組成部分而被重復(fù)使用,而無需每次都重新定義數(shù)據(jù)的子集。
此外,通過使用用于數(shù)據(jù)傳輸?shù)拿Q/值對模型,系統(tǒng)可允許將數(shù)據(jù)元素添加到消息定義中,而不會對利用消息定義的先前版本來實現(xiàn)與服務(wù)傳遞網(wǎng)絡(luò)的通信的已部署的消息接收者產(chǎn)生不利影響。相反,由于數(shù)據(jù)元素通過標(biāo)識符而不是通過消息位置來被尋址,所以可利用更新的框架模塊,而不會影響根據(jù)先前的框架版本編譯的現(xiàn)存的部署的應(yīng)用程序或車輛。在示例中,google的協(xié)議緩沖區(qū)可被用作有效載荷協(xié)議(允許設(shè)計消息定義)并且可被自動生成到框架模塊中以被用在各種編程語言中。與在使用諸如可擴展標(biāo)記語言(xml)的文本名稱/值對框架時可行的數(shù)據(jù)傳輸相比,通過使用協(xié)議緩沖區(qū)執(zhí)行的數(shù)據(jù)打包可允許更有效的數(shù)據(jù)傳輸。
說明性的示例性服務(wù)傳遞網(wǎng)絡(luò)可通過消息代理的方式通過網(wǎng)絡(luò)與車輛進(jìn)行通信。車輛可通過車輛的vcs與網(wǎng)絡(luò)進(jìn)行無線通信。當(dāng)車輛被組裝時,車輛可包括各種硬件組件和軟件組件。
在現(xiàn)有的實施方式中,車輛vcs可被配置為查詢車輛的至少一部分硬件組件和軟件組件的存在信息和版本信息。使用查詢的信息以及標(biāo)識特定車輛的附加信息(例如,在控制器局域網(wǎng)(can)總線上發(fā)布的車輛識別碼(vin)信息、諸如國際移動站設(shè)備標(biāo)識(imei)的調(diào)制解調(diào)器的用戶標(biāo)識模塊(sim)信息等),vcs可經(jīng)由網(wǎng)絡(luò)和消息代理進(jìn)行通信,以與服務(wù)傳遞網(wǎng)絡(luò)建立賬戶。服務(wù)傳遞網(wǎng)絡(luò)可從車輛接收這些通信,并且可維護(hù)與車輛的標(biāo)識符相關(guān)聯(lián)的硬件配置和軟件(例如,固件等)版本的數(shù)據(jù)存儲。
消息代理可另外提供用于在服務(wù)傳遞網(wǎng)絡(luò)和車輛之間的通信的發(fā)布/訂閱消息傳送功能。發(fā)布/訂閱模型可利用一個或多個主題,其中,主題被命名為邏輯信道,發(fā)布者可通過邏輯信道發(fā)送消息并且訂閱者可通過邏輯信道接收消息。主題的訂閱者接收被發(fā)布到訂閱者訂閱的主題的消息,而不是接收所有的消息,并且主題的所有訂閱者實質(zhì)上將接收到同一主題消息。
在這種實施方式中,為了添加新的功能,人們可能需要在車輛和云兩者中更改多個參數(shù)集合以啟用新的功能。通過使用在此提供的說明性實施例以及類似的構(gòu)思,可實現(xiàn)對車輛數(shù)據(jù)的提取,對車輛數(shù)據(jù)的提取不需要針對車輛結(jié)構(gòu)或特定功能專門地設(shè)計接口。
圖2示出了用于對非時間敏感通信作出響應(yīng)的說明性流程圖。針對在該圖中描述的說明性實施例,應(yīng)當(dāng)注意的是,為了執(zhí)行在此示出的示例性方法中的一些或全部的目的,通用處理器可被暫時用作專用處理器。當(dāng)執(zhí)行提供用于執(zhí)行所述方法的一些或全部步驟的指令的代碼時,所述處理器可被暫時改用作專用處理器,直到所述方法完成時為止。在另一示例中,在適當(dāng)?shù)某潭壬希鶕?jù)預(yù)先配置的處理器運行的固件可使得所述處理器充當(dāng)為了執(zhí)行所述方法或所述方法的一些合理的變型的目的而被提供的專用處理器。
在該說明性示例中通信過程存在三個參與方。存在云201(其可包括但不限于后端網(wǎng)絡(luò)、與車輛通信的遠(yuǎn)程裝置或用于嘗試車輛通信的遠(yuǎn)程計算系統(tǒng)或后端處理的任何其它中間件(intermediary)。還存在消息隊列遙測傳輸(mqtt)消息代理203(其有助于云和遠(yuǎn)程信息處理控制單元(tcu)205之間的通信)。消息代理負(fù)責(zé)將消息中繼到適當(dāng)?shù)膶嶓w(請求方/請求實體和/或tcu)。最后,在該示例中,tcu205處理對消息的響應(yīng)。在該示例中,tcu還負(fù)責(zé)選擇用于消息響應(yīng)的適當(dāng)?shù)牟呗圆⑶彝ㄟ^相應(yīng)適當(dāng)?shù)男诺纻鬟f響應(yīng)。tcu可與車載分布式連接管理器(ivdcm)一起執(zhí)行該功能。mqtt代理可駐留在云中,并處理tcu/ivdcm與后端實體之間的通信。
在該說明性示例中,在207,云發(fā)布非時間敏感命令,非時間敏感命令可包括控制器局域網(wǎng)(can)信號的動態(tài)查詢,所述動態(tài)查詢包括所述動態(tài)查詢感興趣的can信號名稱列表。在209,消息代理接收查詢并將查詢中繼到在tcu上執(zhí)行的適當(dāng)模塊以處理該請求。該消息/查詢可包括應(yīng)當(dāng)應(yīng)用于響應(yīng)的特定策略和/或定義可用于確定應(yīng)當(dāng)使用哪個策略的響應(yīng)的參數(shù)集合。
在211,適當(dāng)?shù)膖cu模塊隨后接收查詢并構(gòu)建響應(yīng),該響應(yīng)包括信號名稱、信號值、信號消息名稱等。在213,該響應(yīng)被封裝(wrap)為非時間敏感命令響應(yīng)并被傳送回消息代理以進(jìn)行響應(yīng)。tcu可基于定義的策略來確定哪些可用或期望的通信信道適合于消息的傳輸。一旦有適當(dāng)?shù)男诺揽捎?被連接,則在215,消息代理接收響應(yīng)并且可將查詢響應(yīng)傳送回請求實體。
圖3示出了通信策略實施方式的說明性示例。針對在該圖中描述的說明性實施例,應(yīng)當(dāng)注意的是,為了執(zhí)行在此示出的示例性方法中的一些或全部的目的,通用處理器可被暫時用作專用處理器。當(dāng)執(zhí)行提供用于執(zhí)行所述方法的一些或全部步驟的指令的代碼時,所述處理器可被暫時改用作專用處理器,直到所述方法完成時為止。在另一示例中,在適當(dāng)?shù)某潭壬?,根?jù)預(yù)先配置的處理器運行的固件可使得所述處理器充當(dāng)為了執(zhí)行所述方法或所述方法的一些合理的變型的目的而被提供的專用處理器。
在該說明性示例中,在301,所述處理接收用于響應(yīng)的消息(諸如,can查詢)。不同的消息類型可接收不同的響應(yīng)(與利用的網(wǎng)絡(luò)有關(guān)),因而在303,所述處理隨后加載或訪問傳輸協(xié)議(策略)的集合。在305,基于消息的性質(zhì)來為響應(yīng)選擇特定策略(針對所述消息給出了響應(yīng))。
如將在圖5中看到的,該策略定義了一個或更多個適合用于對給定的消息作出響應(yīng)的通信網(wǎng)絡(luò)。如果在307與由策略定義的許可網(wǎng)絡(luò)對應(yīng)的網(wǎng)絡(luò)可用,則在309所述處理將封裝用于響應(yīng)的數(shù)據(jù),并且在311,使用基于所選擇的策略確定的網(wǎng)絡(luò)來發(fā)送數(shù)據(jù)。
另一方面,如果期望的網(wǎng)絡(luò)不可用,或者如果沒有滿足由策略定義的參數(shù)的網(wǎng)絡(luò)可用,則在313,所述處理可立即發(fā)送失敗通知。這使得請求實體知道不能使用針對響應(yīng)而選擇的策略來立即處理該響應(yīng)。這并不一定意味著將不提供響應(yīng),只是目前無法提供響應(yīng)。
可在稍后的時間對特定消息作出響應(yīng),并且如果合適,則在315,所述處理將響應(yīng)放入隊列以供稍后傳送。在該示例中,由于該響應(yīng)基于缺乏適合的網(wǎng)絡(luò)連接而未被傳送,所以在317,所述處理訂閱通知處理,該通知處理將允許所述處理知道適合的網(wǎng)絡(luò)何時變得可用。這可能是由于例如對新的網(wǎng)絡(luò)的連接或現(xiàn)有網(wǎng)絡(luò)的信號強度上的變化而引起的。網(wǎng)絡(luò)特性的其它改變也可能導(dǎo)致當(dāng)前連接的但不適合的網(wǎng)絡(luò)轉(zhuǎn)換成適于響應(yīng)傳送的網(wǎng)絡(luò)。
在319,一旦顯示由響應(yīng)所期望的策略定義的特性的網(wǎng)絡(luò)可用,則在321,所述處理可封裝數(shù)據(jù),并且在323,所述處理使用適合的網(wǎng)絡(luò)發(fā)送數(shù)據(jù)。在說明性示例中,ivdcm(其駐留在車輛上)負(fù)責(zé)基于包括在從(正向其發(fā)送響應(yīng)的)mqtt接收的初始消息中的參數(shù)設(shè)計的策略來選擇用于通信的適當(dāng)?shù)木W(wǎng)絡(luò)。
圖4示出了網(wǎng)絡(luò)狀態(tài)評估處理的說明性示例。針對在該圖中描述的說明性實施例,應(yīng)當(dāng)注意的是,為了執(zhí)行在此示出的示例性方法中的一些或全部的目的,通用處理器可被暫時用作專用處理器。當(dāng)執(zhí)行提供用于執(zhí)行所述方法的一些或全部步驟的指令的代碼時,所述處理器可被暫時改用作專用處理器,直到所述方法完成時為止。在另一示例中,在適當(dāng)?shù)某潭壬希鶕?jù)預(yù)先配置的處理器運行的固件可使得所述處理器充當(dāng)為了執(zhí)行所述方法或所述方法的一些合理的變型的目的而被提供的專用處理器。
在該說明性示例中,所述處理將評估所有連接的網(wǎng)絡(luò),以針對每個連接的網(wǎng)絡(luò)建立特性集合。可將這些特性與由用于給定響應(yīng)的策略定義的參數(shù)進(jìn)行比較,以確定特定網(wǎng)絡(luò)是否適合用于發(fā)送響應(yīng)。這并不是說特定網(wǎng)絡(luò)不能用于發(fā)送響應(yīng),而是針對響應(yīng)選擇的策略可定義用于特定響應(yīng)的期望網(wǎng)絡(luò)的特性,并且tcu可以延遲響應(yīng),直到與策略兼容的網(wǎng)絡(luò)可用時為止。
在401,所述處理將評估連接到車輛的所有的物理網(wǎng)絡(luò),并且確定每個網(wǎng)絡(luò)的策略特性。在403,選擇給定網(wǎng)絡(luò)進(jìn)行評估,并且在405,所述處理檢查網(wǎng)絡(luò)的特定的特性。這些特性可包括但不限于延時、帶寬、特定的網(wǎng)絡(luò)類型、優(yōu)先級、(為數(shù)據(jù)支付費用的)成本支付實體、預(yù)計傳輸時間等??苫谟糜谔囟ㄍㄐ诺膍acid來定義特定網(wǎng)絡(luò)。
一旦所述處理已經(jīng)完成評估網(wǎng)絡(luò),則在407,所述處理將確定是否存在針對與特定網(wǎng)絡(luò)有關(guān)的信息的任何訂閱。由于一些策略定義特定類型的網(wǎng)絡(luò)或者甚至通過mac地址定義特定類型的特定網(wǎng)絡(luò),所以可能存在與針對特定網(wǎng)絡(luò)類型的待處理消息響應(yīng)有關(guān)的產(chǎn)生的訂閱。訂閱也可能是更廣義的,例如,訂閱可以是由客戶付費的高帶寬網(wǎng)絡(luò)。
如果網(wǎng)絡(luò)具有訂閱,或者如果存在對與網(wǎng)絡(luò)的特性(諸如,如先前作為示例示出的高帶寬、客戶付費的網(wǎng)絡(luò)主題)相對應(yīng)的主題的訂閱,則所述處理可對訂閱實體作出響應(yīng)。否則在409,所述處理可存儲網(wǎng)絡(luò)的特性,以供稍后的策略請求進(jìn)行檢索,并且繼續(xù)評估下一個網(wǎng)絡(luò)。由于網(wǎng)絡(luò)的特性可隨著時間而改變,并且由于可不斷地添加或去除新的網(wǎng)絡(luò),所以所述處理可在車輛使用的同時在后臺運行和/或周期性地運行。
如果存在訂閱與網(wǎng)絡(luò)或特性集合相對應(yīng)的特定主題的一個或更多個實體,則在413,所述處理可確定是否滿足由該實體指定的期望參數(shù)。在另一示例中,所述處理可向訂閱實體報告網(wǎng)絡(luò)的所有特性,并且訂閱實體可確定網(wǎng)絡(luò)是否適合。這里,如果在413期望的特性被滿足,則在415,所述處理將網(wǎng)絡(luò)報告為傳輸候選網(wǎng)絡(luò)。
由于可根據(jù)與給定的待處理響應(yīng)相關(guān)聯(lián)的策略的需要動態(tài)地創(chuàng)建訂閱,所以訂閱可以足夠具體以覆蓋給定網(wǎng)絡(luò)的所有可能的特性。在這種模型中,對訂閱實體的響應(yīng)將報告的網(wǎng)絡(luò)“自動地”識別為候選網(wǎng)絡(luò)。在其它模型中,訂閱實體可訂閱某些“必要”參數(shù),并且隨后評估報告的網(wǎng)絡(luò)的所有特性以確定適合的候選。例如,如果存在優(yōu)選且可選擇的網(wǎng)絡(luò)特性,則請求系統(tǒng)可接收與核心訂閱主題(例如,wifi)相對應(yīng)的若干候選網(wǎng)絡(luò),并隨后確定那些網(wǎng)絡(luò)中哪一個具有最佳的可選特性的集合。
此外,在該示例中,所述處理控制(handle)訂閱管理。因此,在415報告候選網(wǎng)絡(luò)之后,所述處理等待對期望的數(shù)據(jù)已被發(fā)送的確認(rèn)。該子處理也可在后臺進(jìn)行假脫機(spool),以便可報告其它候選網(wǎng)絡(luò)。如果在417沒有接收到數(shù)據(jù)傳輸確認(rèn)(諸如,例如,如果在419由于失敗而接收到傳送不完整的通知),則在409,所述處理可僅記錄網(wǎng)絡(luò)特性并且在411確定是否保留任何網(wǎng)絡(luò)以進(jìn)行評估。如果在417接收到傳送成功的通知,則在421,所述處理可使請求實體/請求應(yīng)用取消訂閱特定訂閱,這是因為針對其而創(chuàng)建訂閱的相應(yīng)的響應(yīng)已經(jīng)被完成。
圖5示出了可用于選擇特定策略的傳輸配置參數(shù)的說明性示例501。這并不是詳盡的參數(shù)列表,而是展示了一些可能的考慮,這些考慮可對應(yīng)于與不同類型的響應(yīng)相關(guān)聯(lián)的特定策略。
與響應(yīng)相關(guān)聯(lián)的交互水平511定義響應(yīng)是前臺響應(yīng)還是后臺響應(yīng)。對于該參數(shù)以及許多其它參數(shù),存在忽略特定考慮(在示例中示出為不適用(na))的許多策略。大小513的考慮指示延時(小)或帶寬(大)的網(wǎng)絡(luò)是否是主要關(guān)注的問題(給定多個網(wǎng)絡(luò)的可用性)。交互性和大小一起定義用于某些通信類型的高級別意向策略的集合503。
針對除了由高級別意向參數(shù)指示的通信以外的通信,可使用低級別策略參數(shù)505。如果請求指示將使用低級別策略515,則各種其它參數(shù)可指示使用哪個策略。在該說明性示例中,消息請求定義考慮的參數(shù)集合,或者可被表征為特定類型的消息,其中,響應(yīng)參數(shù)已針對所述特定類型的消息被定義。
物理網(wǎng)絡(luò)參數(shù)517定義可被包括在響應(yīng)定義中或者作為參數(shù)被包括在消息請求中的指定網(wǎng)絡(luò)。在一些策略中,“必須”使用該網(wǎng)絡(luò)(即,如果該網(wǎng)絡(luò)可用,則使用該網(wǎng)絡(luò),如果該網(wǎng)絡(luò)不可用,則等待)。在其它策略中,該網(wǎng)絡(luò)僅是優(yōu)選的,如果該網(wǎng)絡(luò)不可用,則隨后將選擇另一個合理的候選網(wǎng)絡(luò)。
優(yōu)先級519定義響應(yīng)優(yōu)先級,如果多個響應(yīng)正在請求同一通信網(wǎng)絡(luò),則可使用響應(yīng)優(yōu)先級。具有較高優(yōu)先級的響應(yīng)可被賦予優(yōu)先于具有較低優(yōu)先級的另一響應(yīng)的傳輸優(yōu)先權(quán)。優(yōu)先級還可指示是否應(yīng)該使用(遵照策略)指定的網(wǎng)絡(luò)或者是否應(yīng)該使用最佳可用網(wǎng)絡(luò)。例如,如將在此列出的示例性策略描述中看到的,高優(yōu)先級消息響應(yīng)根據(jù)特定策略對于特定網(wǎng)絡(luò)是優(yōu)選的,但是如果優(yōu)選的網(wǎng)絡(luò)不可用,則選擇下一個最佳網(wǎng)絡(luò)。中等優(yōu)先級消息和低優(yōu)先級消息被延遲,直到適當(dāng)?shù)木W(wǎng)絡(luò)可用時為止。
費用參數(shù)521指示是否應(yīng)考慮支付數(shù)據(jù)傳輸?shù)膶嶓w。示例包括但不限于na/忽略(與費用無關(guān))、oem_paid(由制造商支付費用)、customer_paid(由客戶支付費用)、免費等。由于一些請求可能是由oem所做出的并且與客戶體驗幾乎沒有任何關(guān)系,所以客戶付費網(wǎng)絡(luò)可能不適用于這些響應(yīng)。另一方面,針對特定數(shù)據(jù)的明確的客戶請求適用于通過客戶付費網(wǎng)絡(luò)進(jìn)行路由,并且避免使用oem付費網(wǎng)絡(luò)。
在選擇一些策略時也可考慮響應(yīng)數(shù)據(jù)/時間523。這可包括對網(wǎng)絡(luò)是否可用或者是否可能在優(yōu)選的時間/日期可用的考慮。特定響應(yīng)還可支持網(wǎng)絡(luò)故障轉(zhuǎn)移525,網(wǎng)絡(luò)故障轉(zhuǎn)移525是在優(yōu)選的網(wǎng)絡(luò)傳輸由于某種原因而出現(xiàn)故障的情況下的替代網(wǎng)絡(luò)的選擇。
在該示例中,智能調(diào)度527與單個策略相關(guān)聯(lián)。智能調(diào)度允許基于已知的網(wǎng)絡(luò)覆蓋范圍地圖和車輛位置等來調(diào)度響應(yīng)(例如,可在車輛被預(yù)計在具有特定的已知覆蓋范圍的特定位置的時間對響應(yīng)進(jìn)行調(diào)度)。
也可針對特定的消息指定macid529,macid529指示將被用于消息傳輸?shù)奶囟ǖ膚ifi接入點。所有這些考慮的結(jié)果509是策略選擇531,策略選擇531指示將使用哪個網(wǎng)絡(luò)(該網(wǎng)絡(luò)滿足特定的參數(shù))以及用于選擇的標(biāo)準(zhǔn)。策略的幾個例子如下:
策略a-優(yōu)先級:高;規(guī)則–如果有多個網(wǎng)絡(luò)可用,則評估并選擇延時最小的網(wǎng)絡(luò)。
策略b-優(yōu)先級:中等;規(guī)則–選擇在低級別策略中指定的物理網(wǎng)絡(luò)。如果指定的物理網(wǎng)絡(luò)不可用,則等待網(wǎng)絡(luò)可用。
策略c-優(yōu)先級:高;規(guī)則–選擇在低級別策略中指定的物理網(wǎng)絡(luò)作為具有macid的wi-fi接入點。如果指定的wi-fi接入點不可用,則評估可用的網(wǎng)絡(luò)并選擇延時最小的網(wǎng)絡(luò)。
從說明性策略的示例中可以看出,針對高優(yōu)先級策略(在該示例中,僅為了說明),根據(jù)一個或更多個參數(shù)將特定網(wǎng)絡(luò)定義為優(yōu)選的,并且如果優(yōu)選的網(wǎng)絡(luò)不可用,則隨后針對可用的網(wǎng)絡(luò)進(jìn)行次級考慮。針對低優(yōu)先級傳輸和中等優(yōu)先級傳輸,如果具有指定參數(shù)的網(wǎng)絡(luò)當(dāng)前不可用,則等待該具有指定參數(shù)的網(wǎng)絡(luò)。
在該示例中,策略a是不同的,策略a是忽略低級別參數(shù)的高級別意向策略。這種傳輸是基于具有基于特定策略而被賦予特定網(wǎng)絡(luò)特性的優(yōu)先權(quán)的任何可用網(wǎng)絡(luò)而制定的。在這三個策略中,即使是低優(yōu)先級和中等優(yōu)先級響應(yīng)也在任何可用的網(wǎng)絡(luò)上被發(fā)送。
圖6a至圖6c示出了利用不同的通信策略的數(shù)據(jù)傳輸?shù)恼f明性示例。針對在該圖中描述的說明性實施例,應(yīng)當(dāng)注意的是,為了執(zhí)行在此示出的示例性方法中的一些或全部的目的,通用處理器可被暫時用作專用處理器。當(dāng)執(zhí)行提供用于執(zhí)行所述方法的一些或全部步驟的指令的代碼時,所述處理器可被暫時改用作專用處理器,直到所述方法完成時為止。在另一示例中,在適當(dāng)?shù)某潭壬?,根?jù)預(yù)先配置的處理器運行的固件可使得所述處理器充當(dāng)為了執(zhí)行所述方法或所述方法的一些合理的變型的目的而被提供的專用處理器。
在圖6a示出的說明性示例中,在606,駐留在tcu上的應(yīng)用601發(fā)送包括傳輸配置參數(shù)(響應(yīng)參數(shù))和用于響應(yīng)的數(shù)據(jù)的請求。在607,車載分布式連接管理器(ivdcm)603基于指定的響應(yīng)參數(shù)和ivdcm配置確定將針對響應(yīng)使用哪個物理網(wǎng)絡(luò)。如果在609物理網(wǎng)絡(luò)可用,則在611,向mqtt代理605發(fā)送請求響應(yīng)傳輸?shù)恼埱蟆H绻x擇的網(wǎng)絡(luò)(或后退網(wǎng)絡(luò))不可用,則ivdcm可向請求應(yīng)用報告響應(yīng)失敗。
圖6b示出了比圖6a中的處理更加擴展的處理,在該示例中,該處理允許應(yīng)用訂閱與相關(guān)傳輸參數(shù)相對應(yīng)的主題。當(dāng)滿足期望的參數(shù)的網(wǎng)絡(luò)可用時,應(yīng)用可重新發(fā)送用于最終傳輸?shù)捻憫?yīng)。
在該處理中,如圖6a所示,應(yīng)用601在606發(fā)送請求。如前所述,ivdcm將在607選擇網(wǎng)絡(luò),并且將檢查滿足策略約束條件(constraint)的網(wǎng)絡(luò)。如果網(wǎng)絡(luò)可用,則如圖6a所示,在611繼續(xù)執(zhí)行對mqtt代理605的發(fā)送。
然而,如果網(wǎng)絡(luò)不可用,則在613,應(yīng)用將在接收到失敗通知時采取進(jìn)一步的動作。在615,應(yīng)用存儲響應(yīng)數(shù)據(jù)(如果適用于特定響應(yīng)的話)并且(基于策略)針對期望的網(wǎng)絡(luò)選擇考慮因素。在617,基于該網(wǎng)絡(luò)約束條件建立對ivdcm的訂閱。例如,訂閱可以是對客戶付費網(wǎng)絡(luò)的識別。任何數(shù)量的網(wǎng)絡(luò)在行駛期間可能變得可用,并且如果任何網(wǎng)絡(luò)是客戶付費的,則在621,可向應(yīng)用發(fā)送響應(yīng)。情況也可能是,在該策略下,免費網(wǎng)絡(luò)是可接受的,因而可建立對免費網(wǎng)絡(luò)的另一訂閱。在619,ivdcm將在網(wǎng)絡(luò)變得可用時對網(wǎng)絡(luò)進(jìn)行評估,并且如果任何網(wǎng)絡(luò)滿足訂閱參數(shù),則可發(fā)送適當(dāng)響應(yīng)以識別網(wǎng)絡(luò)。
一旦適當(dāng)?shù)木W(wǎng)絡(luò)已被識別為是可用的,則在623,應(yīng)用可重新發(fā)送請求。然后在625,ivdcm可隨后選擇適合用于傳輸?shù)淖R別的網(wǎng)絡(luò)。由于在627網(wǎng)絡(luò)可能已經(jīng)變?yōu)椴豢捎?,所以所述處理還可在網(wǎng)絡(luò)已經(jīng)突然變得不可用的情況下重新啟動訂閱處理。否則,在611,所選擇的網(wǎng)絡(luò)可用于將響應(yīng)發(fā)送到mqtt代理。除非具有特定參數(shù)的指定網(wǎng)絡(luò)可用,否則該說明性處理在例如沒有期望的傳輸?shù)那闆r下是有用的。
圖6c示出了與圖6b中的處理類似的處理的說明性示例。如果策略指示在優(yōu)選的網(wǎng)絡(luò)(在該說明性示例中,諸如針對高優(yōu)先級的傳輸)不可用的情況下將使用次級網(wǎng)絡(luò),則該說明性處理是有用的。
在該說明性示例中,在606,應(yīng)用程序601重新發(fā)送指定特定網(wǎng)絡(luò)優(yōu)先權(quán)和數(shù)據(jù)有效載荷的初始請求。在607,ivdcm603將嘗試選擇適當(dāng)?shù)倪B接的物理網(wǎng)絡(luò),以將該請求傳送到mqtt代理605。
如果網(wǎng)絡(luò)不可用,則在613,可向應(yīng)用發(fā)送失敗通知。在該示例中,應(yīng)用不僅僅等待期望的網(wǎng)絡(luò)變?yōu)榭捎?,而且還嘗試?yán)么渭壘W(wǎng)絡(luò)來進(jìn)行傳輸。因此,在629,應(yīng)用發(fā)送關(guān)于當(dāng)前可用的網(wǎng)絡(luò)的配置參數(shù)的查詢。在631,來自ivdcm的響應(yīng)識別可用的網(wǎng)絡(luò)以及可用的網(wǎng)絡(luò)的特定參數(shù)。
應(yīng)用隨后從可用的網(wǎng)絡(luò)中選擇網(wǎng)絡(luò)?;蛘撸唧w地,在該示例中,將每個網(wǎng)絡(luò)的配置參數(shù)返回到應(yīng)用,并且在633,應(yīng)用選擇最期望的配置參數(shù)集合或特定的重要參數(shù)集合。然后,在623可調(diào)整利用請求的重新發(fā)送返回的配置參數(shù),以匹配可用的參數(shù),這將有助于導(dǎo)致對適當(dāng)網(wǎng)絡(luò)的選擇。
在625,ivdcm接收重新發(fā)送并選擇滿足新參數(shù)的物理網(wǎng)絡(luò)。此外,如果在627網(wǎng)絡(luò)變?yōu)椴豢捎茫瑒t查詢處理可重復(fù)執(zhí)行,或者可生成對優(yōu)選網(wǎng)絡(luò)和/或次級網(wǎng)絡(luò)的訂閱。否則,在611,使用所選擇的網(wǎng)絡(luò)將請求轉(zhuǎn)發(fā)到mqtt代理。
通過使用動態(tài)響應(yīng)架構(gòu),新的查詢只需要指示策略約束來對其構(gòu)成響應(yīng)。這可確保對包含的新的查詢和響應(yīng)數(shù)據(jù)進(jìn)行適當(dāng)?shù)膫魉涂紤],而無需重新配置駐留在車輛上的特定模塊或應(yīng)用。
雖然以上描述了示例性實施例,但是這些實施例并不意在描述本發(fā)明的所有可能形式。更確切地,說明書中所使用的詞語是描述性詞語而非限制性詞語,并且應(yīng)理解的是,可在不脫離本發(fā)明的精神和范圍的情況下做出各種改變。此外,可將各種實施的實施例的特征進(jìn)行組合以形成本發(fā)明的進(jìn)一步的實施例。