專利名稱:通信接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信接口和對(duì)這種通信接口進(jìn)行操作的方法。
技術(shù)背景隨著對(duì)互聯(lián)網(wǎng)訪問的改進(jìn)并且在互聯(lián)網(wǎng)上利用VoiP進(jìn)行通信的語 音應(yīng)用,以及用來玩游戲和下載或調(diào)整時(shí)間的小型便攜式設(shè)備的使用的 不斷增加,通過最終鏈路與這些設(shè)備連接這一問題對(duì)用戶的體驗(yàn)產(chǎn)生了 不利的影響。開發(fā)中的技術(shù)目前允許數(shù)據(jù)在面向連接的網(wǎng)絡(luò)(例如PSTN) 和無連接網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))二者中以很高的速度傳送。在許多情況下, 網(wǎng)絡(luò)的最終接入點(diǎn)本身是無線鏈路,無線鏈路可以是公共接入無線點(diǎn), 例如通常設(shè)置在辦公室、咖啡廳和商場(chǎng)以便人們能夠使用膝上型計(jì)算機(jī)、 PPC (例如Hewlett-Packard IPAQ )和其他設(shè)備借助于互聯(lián)網(wǎng)或萬維網(wǎng) 來進(jìn)行通信。這種通信能力的可獲得性(availability)以及具備使用視頻、數(shù)據(jù)和 程序以及語音的能力的不斷復(fù)雜化的移動(dòng)電話的發(fā)展,意味著最終用戶 可以在電話通信(telephony)中訪問并傳送非常大的數(shù)據(jù)文件和/或諸如 VoiP或視頻的對(duì)時(shí)間要求嚴(yán)格(time critical)的數(shù)據(jù)。如果移動(dòng)設(shè)備與接入點(diǎn)之間的連接例如是藍(lán)牙和其他低功率無線電 或者例如是經(jīng)由紅外端口的,則網(wǎng)絡(luò)接入點(diǎn)與移動(dòng)電話或PPC之間的最 終鏈路上可能有明顯的帶寬限制。當(dāng)需要在該連接上處理多個(gè)連接或高密度數(shù)據(jù)消息時(shí),上述帶寬限 制可能導(dǎo)致數(shù)據(jù)消息的明顯丟失,因此必須對(duì)最終鏈路進(jìn)行最有效的利 用。發(fā)明內(nèi)容本發(fā)明提供了一種對(duì)位于通信網(wǎng)絡(luò)與最終用戶設(shè)備之間的最終鏈路 上的通信接口進(jìn)行操作的方法,該方法包括以下步驟針對(duì)每個(gè)鄰近的數(shù)據(jù)消息序列,在所述通信接口與所述設(shè)備之間創(chuàng) 建鏈路標(biāo)識(shí);在所述接口處存儲(chǔ)所述鏈路標(biāo)識(shí)到源地址和目的地址的映射;針對(duì)從所述設(shè)備接收到的每個(gè)尋址消息,用與所述目的地相對(duì)應(yīng)的報(bào)頭信息來替換鏈路標(biāo)識(shí)信息;以及針對(duì)從源接收到的每個(gè)消息,用鏈路標(biāo)識(shí)信息來替換報(bào)頭信息,由此,極大地提高了最終鏈路中的數(shù)據(jù)消息的數(shù)據(jù)有效載荷與目的地?cái)?shù)據(jù)的比例。本發(fā)明的第二方面提供了 一種位于通信網(wǎng)絡(luò)與最終用戶設(shè)備之間的 最終鏈路上的通信接口,該通信接口包括無線收發(fā)機(jī),用于向所述最 終用戶設(shè)備發(fā)送數(shù)據(jù)消息并從所述最終用戶設(shè)備接收數(shù)據(jù)消息;與通信 網(wǎng)絡(luò)的高速連接,用于向和從遠(yuǎn)程設(shè)備發(fā)送和接收數(shù)據(jù)消息;以及控制 器,該控制器針對(duì)所述最終用戶設(shè)備與遠(yuǎn)程設(shè)備之間的每個(gè)鄰近的數(shù)據(jù) 消息序列,創(chuàng)建用于去往或來自所述最終用戶設(shè)備的消息的第一地址, 和用于所述遠(yuǎn)程設(shè)備的第二地址,所述控制器存儲(chǔ)有所述第一地址和所 述第二地址之間的映射,并且在接收到來自所述最終用戶設(shè)備的數(shù)據(jù)消 息時(shí),用所述第二地址替換所述第一地址,而在接收到去往所述最終用 戶設(shè)備的數(shù)據(jù)消息時(shí),用所述第一地址替換所述第二地址,所述第一地 址相比所述第二地址包括少得多的數(shù)據(jù),由此通過所述最終鏈路傳送到 所述最終用戶設(shè)備的每個(gè)消息的數(shù)據(jù)有效載荷都被最大化。
下面將參照附圖,僅以實(shí)例的方式對(duì)根據(jù)本發(fā)明的通信接口進(jìn)行描 述,附圖中圖1是示出通信系統(tǒng)中的接口的示意性框圖; 圖1A更詳細(xì)地示出了圖1的一部分;圖2到圖9示出了在該接口的各個(gè)操作階段中的消息(數(shù)據(jù)報(bào))結(jié)構(gòu);圖10和圖11分別是針對(duì)服務(wù)器和移動(dòng)設(shè)備的類圖(class diagram);而圖12到圖17是分組序列(packetsequence)圖。
具體實(shí)施方式
首先參照?qǐng)D1,接入點(diǎn)1提供了到互聯(lián)網(wǎng)2的網(wǎng)關(guān),使得能夠通過 互聯(lián)網(wǎng)2與遠(yuǎn)程終端、互聯(lián)網(wǎng)節(jié)點(diǎn)或服務(wù)器3、 4進(jìn)行通信。到互聯(lián)網(wǎng)的 連接是已知的形式并且以己知方式運(yùn)行以向并從遠(yuǎn)程服務(wù)器3 、 4發(fā)送和 接收消息。這種消息(或數(shù)據(jù)報(bào))包括報(bào)頭和"數(shù)據(jù)有效載荷",報(bào)頭定 義了數(shù)據(jù)報(bào)的目的地以及用于對(duì)該數(shù)據(jù)報(bào)作出應(yīng)答的返回地址。報(bào)頭數(shù)據(jù)的長(zhǎng)度取決于所使用的協(xié)議并可以包括相當(dāng)大量的字節(jié)。 一些協(xié)議試圖使報(bào)頭數(shù)據(jù)量最小化,但這些協(xié)議都確定了特定數(shù)量的包括 一個(gè)或多個(gè)字節(jié)的字段來實(shí)現(xiàn)數(shù)據(jù)報(bào)的源和目的地。其他特征包括命令數(shù) 據(jù),例如每個(gè)所發(fā)送的分組中所要求的信息(例如在進(jìn)行HTP請(qǐng)求時(shí))。接入點(diǎn)1因此包括IP (互聯(lián)網(wǎng)協(xié)議)棧5,用于通過其與互聯(lián)網(wǎng)2 的寬帶連接來接收和發(fā)送數(shù)據(jù)報(bào)。接入點(diǎn)1與遠(yuǎn)程設(shè)備3、 4之間通過互聯(lián)網(wǎng)2的通信是標(biāo)準(zhǔn)格式的, 并且因?yàn)檫@種通信的設(shè)置和運(yùn)行是公知的,所以在此不作進(jìn)一步描述。接入點(diǎn)1的另一標(biāo)準(zhǔn)運(yùn)行特征是允許配備有藍(lán)牙的移動(dòng)設(shè)備(例如 移動(dòng)電話7)與接入點(diǎn)1進(jìn)行通信和經(jīng)由接入點(diǎn)1進(jìn)行通信的藍(lán)牙無線通 信配置6。將配備藍(lán)牙的設(shè)備彼此配對(duì)就其正常運(yùn)行而言也是公知的,所 以這些基本系統(tǒng)在此也不作進(jìn)一步描述。然而, 一旦完成了這種配對(duì), 就在接入點(diǎn)1處提供特殊的控制器8 (此處為BLIP控制器8)以管理并 提高接入點(diǎn)1與移動(dòng)設(shè)備7之間的通信效率。為避免引起懷疑,接入點(diǎn)1與移動(dòng)設(shè)備7之間的該最終鏈路不必須 是藍(lán)牙鏈路,因?yàn)楸景l(fā)明可用于針對(duì)其他類型的最終鏈路(包括但不限 于紅外傳送、其他低功率無線鏈路以及其他具有有限帶寬的鏈路)來改 進(jìn)接入點(diǎn)1與移動(dòng)設(shè)備7之間的通信效率。在運(yùn)行于提供基本連接的可靠底層藍(lán)牙協(xié)議(RFCOMM-ACL)下的 藍(lán)牙鏈路的當(dāng)前情況下,僅需要隨每個(gè)分組發(fā)送最小量的附加信息。因 此對(duì)于移動(dòng)設(shè)備7與遠(yuǎn)程服務(wù)器之間的包括一序列數(shù)據(jù)報(bào)(或分組)的 每個(gè)通信而言, 一旦BLIP控制器8和移動(dòng)設(shè)備7啟動(dòng)了通信,就僅需要 幾比特的數(shù)據(jù)(在同一移動(dòng)設(shè)備上實(shí)現(xiàn)多個(gè)應(yīng)用)和一些非常小的分組 排序編號(hào)(sequencingnumbering)。接著考慮圖1A,其利用了OSI分層模型的基本概念,藍(lán)牙層6A、 6B近似相當(dāng)于提供基本成幀和鏈路同步的OSI鏈路層。如圖1A所示, 客戶機(jī)和服務(wù)器都使用相同的0++類作為他們的服務(wù)。圖中可以看到核 心類。僅當(dāng)存在寬帶連接時(shí),LAN處理器IO才用于接入點(diǎn)1中。鏈路管 理器11A、 IIB保持著(最多16條)虛擬鏈路的狀態(tài)控制,其中兩條可 以為特殊用途而預(yù)留,從而使得在任意時(shí)刻都能夠通過藍(lán)牙連接建立14 個(gè)可用的通信鏈路,并為上層12、 13、服務(wù)器和客戶機(jī)類提供一組公共 控制和數(shù)據(jù)基元(primitive)。藍(lán)牙處理器6A/6B在保持鏈路整體性的同 時(shí),向和從鏈路層發(fā)送和接收數(shù)據(jù)分組。可以從圖10的類圖中看到服務(wù)器在接入點(diǎn)中的運(yùn)行的更詳細(xì)視圖, 而圖11以詳細(xì)類圖示出了移動(dòng)設(shè)備的運(yùn)行。下面通過參照?qǐng)D2到圖9,來考慮鏈路管理器IIA、 11B與藍(lán)牙對(duì) 6A、 6B之間的通信的協(xié)議和運(yùn)行。在通信中使用了有線協(xié)議,從而參照?qǐng)D2并假設(shè)總是首先傳輸?shù)谝?字節(jié)的第一位,通用格式包括兩字節(jié)的分組報(bào)頭,之后是包括命令序列 或數(shù)據(jù)有效載荷的多個(gè)字節(jié)。分組是命令或純數(shù)據(jù),有效載荷或命令相 對(duì)于被設(shè)定為1023字節(jié)的分組最大值而言長(zhǎng)度是可變的。選擇1023字 節(jié)的固定限制是為了避免更小的數(shù)據(jù)分組弓I起額外的分組報(bào)頭。需要超過 1023字節(jié)的有效載荷的應(yīng)用被要求處理超大的數(shù)據(jù)載荷的碎片,因而通過 要求高的或可變長(zhǎng)度的有效載荷長(zhǎng)度定義字段,使得不增加報(bào)頭尺寸。因此如圖3所示,兩字節(jié)的報(bào)頭字段具有可能的最小值并利用字節(jié) 1的前4位來提供鏈路標(biāo)識(shí),該鏈路標(biāo)識(shí)使得源和目的地可以引導(dǎo)出 (direct)藍(lán)牙鏈路上的最多16個(gè)通信。不使用鏈路確認(rèn),因?yàn)槲覀兗僭O(shè)藍(lán)牙連接是可靠的,從而不需要分組標(biāo)識(shí)和流控制技術(shù)。包括第一字節(jié)的第5位和第6位的下一字段是簡(jiǎn)單序列號(hào),用于檢査所接收的分組是否為正確的序列。盡管我們假設(shè)底層藍(lán)牙連接是可靠 的,但是序列號(hào)僅確保如果在處理連續(xù)消息中出現(xiàn)錯(cuò)誤,則可以采取校 正動(dòng)作。發(fā)送方和接收方都增加各自的計(jì)數(shù),從而在每個(gè)方向(0,1,2,3,0,1,2,...)保持發(fā)射和接收序列計(jì)數(shù)器,由此為連接提供某種類 型健全檢查。假設(shè)底層連接是可靠的,那么就不需要更長(zhǎng)序列檢查。最 終,10位字段(字節(jié)1的最后2位加上字節(jié)2的8位)定義了允許多達(dá) 1023字節(jié)的有效載荷的長(zhǎng)度(不包括報(bào)頭的16位)。不使用分組的交織(interleave),從而鏈路管理器1A和11B可用此在尋找另一分組報(bào)頭 之前接收消息中的剩余數(shù)據(jù)(或命令)。因此,發(fā)送方(接入點(diǎn)或設(shè)備) 總是一次利用僅16位來發(fā)送一個(gè)完整的分組,以高效地向和從正確的源 和目的地輸運(yùn)多達(dá)1023字節(jié)的數(shù)據(jù)。圖4示出了命令序列,其在需要時(shí)跟隨著報(bào)頭。緊接著報(bào)頭的2個(gè) 字節(jié)可包括命令代碼和版本定義,命令代碼指示了所需的操作而版本確 保了接入點(diǎn)與設(shè)備之間相同層級(jí)的協(xié)議支持。如果設(shè)備發(fā)出了接入點(diǎn)不 能支持的請(qǐng)求,那么它將返回指示該設(shè)備請(qǐng)求不能被處理的結(jié)果代碼。 這樣的目的是使得恒定值和行為能夠在更新版本中變化而無需與先前版 本的向后兼容。由命令代碼定義的操作包括Bad Version、NewLink、NewLink Result、 LinkDown、 Heartbeat和VersionError??梢愿鶕?jù)需要向命名空間中添加 其他操作。因此,例如,如果接入點(diǎn)檢測(cè)到版本不兼容,它將返回圖5所示的 簡(jiǎn)單分組,該分組包括兩個(gè)字節(jié)錯(cuò)誤、命令代碼"BadVersion"以及指示了 接入點(diǎn)服務(wù)器所運(yùn)行的版本的版本字段。圖6中示出了在設(shè)備7與目的地之間創(chuàng)建新鏈路以產(chǎn)生新的虛擬鏈 路。接入點(diǎn)服務(wù)器將分配鏈路ID。因此,在報(bào)頭和命令代碼以及版本字 段(4字節(jié))之后,將定義在目的地主機(jī)(例如3、 4)與接入點(diǎn)1之間 使用的協(xié)議。該協(xié)議將取決于由移動(dòng)設(shè)備7發(fā)起的鏈路的類型。為鏈路標(biāo)志標(biāo)識(shí)分配了一個(gè)字節(jié),鏈路標(biāo)識(shí)使得設(shè)備能夠定義關(guān)于所創(chuàng)建鏈路的額外信息,例如,標(biāo)志(flag)可指示出所使用的地址是Ipv4還是lpv6, 地址串的格式,例如地址是否加點(diǎn)(例如10丄2.3的格式),或地址是 resolve.me.com格式的串(DNS地址類型)。標(biāo)志還可指示鏈路是僅供流 出(outgoing)數(shù)據(jù)使用,即指示對(duì)于此鏈路沒有流入數(shù)據(jù)業(yè)務(wù),而且不 會(huì)通過該藍(lán)牙連接發(fā)送任何LAN業(yè)務(wù)。鏈路標(biāo)志字段中還定義了其他特 征,如重用地址(指示如果本地端口在用,則可以不顧這種情況而與所 定義的本地端口創(chuàng)建連接)。目的地長(zhǎng)度字段中提供了兩個(gè)字節(jié),使得能夠指定目的地地址的長(zhǎng) 度,而在隨后的兩個(gè)字段中定義了設(shè)備的兩字節(jié)源端口和目的地端口 。最終,目的地地址數(shù)據(jù)被保存在數(shù)據(jù)分組的最后一個(gè)字段中,使得 接入點(diǎn)能夠與期望的遠(yuǎn)程終端目標(biāo)建立通信?,F(xiàn)在轉(zhuǎn)到圖7,對(duì)于newlink (新鏈路)命令分組的響應(yīng)是 newlinkresult,其包括報(bào)頭和命令/版本字段、結(jié)果代碼、在整個(gè)通信中要 使用的并且反映了最后6個(gè)字節(jié)中的源IP地址和源端口 (如由之前發(fā)送 的newlink命令中的目的地端口和地址字段定義的)的鏈路id。因此,結(jié)果代碼包括響應(yīng),該響應(yīng)指示了由接入點(diǎn)l接收的對(duì)于 所發(fā)送的請(qǐng)求的響應(yīng)并包括"LinkcreationOK",其表示該鏈路目前正 在運(yùn)行并且所返回的鏈路標(biāo)識(shí)是有效的; "FailedLinkCreationDNSerror",其表示目的地地址中給出的名稱不能被 解析;"FailedLinkCreationNoResponse",其表示遠(yuǎn)程節(jié)點(diǎn)無法作出響應(yīng); 或"FailedLinkCreationNoLinks",其表示接入點(diǎn)1與移動(dòng)設(shè)備7之間沒有 任何空閑鏈路可用。圖8是LINK DOWN命令消息,該命令代碼指示所標(biāo)識(shí)的鏈路不再 被使用。該命令可從設(shè)備7發(fā)送到接入點(diǎn)1,以便通告己經(jīng)完成了通信所 以服務(wù)器13可以終止真實(shí)的IP通信。另選的是,如果服務(wù)器13檢測(cè)到 運(yùn)行鏈路已經(jīng)終止,其它會(huì)向移動(dòng)設(shè)備7發(fā)送該命令。最后,圖9中示出了簡(jiǎn)單的"heartbeat(心跳)"命令,以周期間隔(例 如大約每13秒)在每個(gè)方向上發(fā)送簡(jiǎn)單的4字節(jié)消息,以確保鏈路仍在運(yùn)行(live)。只要在延長(zhǎng)時(shí)段(例如29秒)內(nèi)沒有接收到心跳(表示 沒有接收到兩個(gè)這種連續(xù)的心跳命令),就會(huì)導(dǎo)致接入點(diǎn)1和移動(dòng)設(shè)備7 都終止藍(lán)牙連接。下面參照?qǐng)D10到圖11來考慮服務(wù)器類圖(接入點(diǎn)1)和設(shè)備客戶 機(jī)類圖(移動(dòng)設(shè)備7) 。 BLIP接入點(diǎn)和客戶機(jī)設(shè)備都使用藍(lán)牙處理器和 鏈路管理器的相同核心類。這兩個(gè)類均假設(shè)符合(adhere to) IControl接 口的控制/報(bào)告類。該接口定義了控制客戶機(jī)或服務(wù)器類所必須提供的接 口的最小集合。實(shí)質(zhì)上這些僅是報(bào)告回調(diào)(callback),對(duì)于客戶機(jī)是 "IPLiteClient"類,而對(duì)于服務(wù)器是"IPLiteServer"類??刂破鲃?chuàng)建了藍(lán)牙事 務(wù)處理器(BTTH)和鏈路管理器(LinkManager),并將兩個(gè)處理器彼 此關(guān)聯(lián)起來。在被用于服務(wù)器模式時(shí),兩個(gè)處理器都大致地處理事件, 僅當(dāng)藍(lán)牙鏈路完全關(guān)閉,且兩個(gè)對(duì)象都需要被清除(clean)時(shí)才僅報(bào)告 回控制器。在被用于客戶機(jī)模式時(shí),處理器將所有事件都報(bào)告給用戶應(yīng) 用。此設(shè)計(jì)是通過用戶提供的回調(diào)來實(shí)現(xiàn)這一點(diǎn)的。這種實(shí)現(xiàn)對(duì)于設(shè)計(jì) 的影響在于,其被封裝于DLL中并且DLL可由多個(gè)應(yīng)用來使用。每個(gè) 應(yīng)用都創(chuàng)建其與接入點(diǎn)的邏輯鏈路。這是必需的,否則每個(gè)應(yīng)用都不得 不共享同一用戶鏈路空間(即,被限制于14條虛擬鏈路)。用戶回調(diào)有 一些公共字段也有可變長(zhǎng)度的有效載荷。公共字段返回了服務(wù)器句柄、 鏈路ID和結(jié)果代碼。結(jié)果代碼確定了有效載荷的內(nèi)容(例如,可以是命 令響應(yīng)或流入數(shù)據(jù))。用戶應(yīng)用必須利用鏈路控制調(diào)用或發(fā)送數(shù)據(jù),來 指定所有事務(wù)上的服務(wù)器句柄以及鏈路ID。IPLiteCUent類主要定義了 BLIP與應(yīng)用之間的層,并且因此提供了 到應(yīng)用的接口。這可變?yōu)榻o每個(gè)客戶機(jī)平臺(tái)其自身的外觀和感受。另外,LinkManager使用多個(gè)LAN handler類,與Link ID--關(guān)聯(lián),以便在與IPLiteServer—起使用時(shí)提供接口并控制寬帶鏈路。針對(duì)每個(gè)客戶機(jī)(或 服務(wù)器)提供并耦接一個(gè)BTTH和LinkMnager給出了一個(gè)連接的良好封 裝(encapsulation)。這些類一同來管理IP協(xié)議事務(wù)和控制。圖11示出了移動(dòng)設(shè)備類圖。服務(wù)器使用客戶機(jī)套接字(socket)來索引遠(yuǎn)程客戶機(jī)結(jié)構(gòu)的表,除了套接字是用于連接到服務(wù)器的套接字以 外,客戶機(jī)使用了相同的機(jī)制。在研究了 Bluetooth Lite (BLIP)系統(tǒng)和接入點(diǎn)以及移動(dòng)設(shè)備基本事 務(wù)的協(xié)議結(jié)構(gòu)之后,我們下面考慮針對(duì)各種發(fā)生的通信的消息流。下面參照?qǐng)D12來考慮服務(wù)器初始化和連接。當(dāng)落入廣告(advertise) 其具備藍(lán)牙處理能力的接入點(diǎn)1的范圍內(nèi)時(shí),移動(dòng)設(shè)備7發(fā)現(xiàn)服務(wù)并發(fā) 送正常藍(lán)牙連接消息以確定其存在。接入點(diǎn)1可以處理來自配備有藍(lán)牙 的設(shè)備的最多7個(gè)同時(shí)連接,這是協(xié)議目前規(guī)定的最大值。連接消息未 被明確應(yīng)答,因?yàn)槿绻涫t設(shè)備7將從較低藍(lán)牙層得到藍(lán)牙錯(cuò)誤 (B luetooth error )。首先,服務(wù)器設(shè)置包括多個(gè)步驟??刂茟?yīng)用調(diào)用在IPLiteSever范例 (instance)中的Open (打開)。這設(shè)定了藍(lán)牙服務(wù)廣告并對(duì)連接進(jìn)行監(jiān) 聽。 一旦設(shè)備進(jìn)行連接,就產(chǎn)生藍(lán)牙處理器和鏈路管理器。LinkManager 產(chǎn)生一些LanHandler對(duì)象,而BTTH監(jiān)聽對(duì)于客戶機(jī)套接字的請(qǐng)求。 IPLiteserver在由客戶機(jī)套接字索引的列表中保存了對(duì)兩個(gè)處理器的引用 (reference),并監(jiān)聽其他藍(lán)牙連接?,F(xiàn)在轉(zhuǎn)到圖13,當(dāng)移動(dòng)設(shè)備7位于經(jīng)適當(dāng)配備的接入點(diǎn)1的范圍內(nèi) 吋,其可通過向其blip客戶機(jī)12發(fā)送打開連接消息而初始化。blip客戶 機(jī)隨后通過向接入點(diǎn)發(fā)送連接消息來嘗試打開接入點(diǎn)1藍(lán)牙RFCOMM 連接。接入點(diǎn)1返回確認(rèn)消息,接著blip客戶機(jī)12創(chuàng)建LinkManager 11A 和藍(lán)牙處理器(BTTH)6A。blip客戶機(jī)12隨后通過向BTTH發(fā)送syncLink 消息來使連接同步,其中BTTH向接入點(diǎn)1中的客戶機(jī)發(fā)送了 Sync消息。 BTTH隨后向blip客戶機(jī)12返回確認(rèn)并等待來自接入點(diǎn)1的SyncAck消 息。 一旦設(shè)備7和接入點(diǎn)1同步,BTTH就發(fā)送表示了客戶機(jī)和服務(wù)器已 彼此初始化的事件代碼"NotifyLinkReset",從而允許隨后利用BLIP協(xié)議 進(jìn)行分組傳送。 一旦初始化完成,接入點(diǎn)1的服務(wù)器和blip客戶機(jī)12就 如前所述開始傳輸和監(jiān)控心跳。對(duì)移動(dòng)設(shè)備7和接入點(diǎn)1進(jìn)行了初始化之后,將分別按照?qǐng)D14和 15所示的處理來創(chuàng)建新鏈路,我們下面將描述設(shè)備到接入點(diǎn)以及接入點(diǎn)到遠(yuǎn)程位置信號(hào)流。因此,在移動(dòng)設(shè)備7被用戶要求從遠(yuǎn)程站點(diǎn)3、 4獲得信息時(shí),其產(chǎn) 生要傳送至其BLIP客戶機(jī)12的TCP請(qǐng)求。BLIP客戶機(jī)12指示 LinkManager IIA創(chuàng)建鏈路,從而向藍(lán)牙處理器6A發(fā)送命令消息。隨后 向接入點(diǎn)發(fā)送NewLink命令消息,該接入點(diǎn)由于底層的可靠連接而被假 定為已經(jīng)確認(rèn)。在接入點(diǎn)1處,藍(lán)牙處理器6B接收Newlink消息,藍(lán)牙處理器6B 處理對(duì)于鏈路管理器11B的命令,鏈路管理器11B將Open (打開)命令 轉(zhuǎn)發(fā)到Lan處理器10, Lan處理器10借助于通信網(wǎng)絡(luò)向遠(yuǎn)程IP節(jié)點(diǎn)3、 4發(fā)送命令數(shù)據(jù)報(bào)。LAN處理器10返回LinkResult命令消息到藍(lán)牙處理 器6B,藍(lán)牙處理器6B向移動(dòng)設(shè)備7發(fā)回NotifyNewLink結(jié)果數(shù)據(jù)報(bào), 該數(shù)據(jù)報(bào)在移動(dòng)設(shè)備7處由藍(lán)牙處理器6A接收。隨后通過鏈路管理器11A 和BLIP客戶機(jī)12向具有該結(jié)果的設(shè)備發(fā)送Process Command消息。如果 出于任何原因該請(qǐng)求失敗,則客戶機(jī)將不會(huì)接收到NewLink命令和消息而 是接收到NewLinkFailure命令消息,該命令消息將由設(shè)備來適當(dāng)處理。一旦建立了設(shè)備與遠(yuǎn)程IP節(jié)點(diǎn)之間的鏈路,數(shù)據(jù)傳輸就是以下的簡(jiǎn) 單過程Blip客戶機(jī)12調(diào)用客戶機(jī)桟,而BTTH 6A利用鏈路管理器11A 通過該鏈路來發(fā)送后續(xù)數(shù)據(jù)分組。在接入點(diǎn)1處,數(shù)據(jù)分組被藍(lán)牙處理 器6B獲取,傳遞到鏈路管理器11B并接著傳遞到具有針對(duì)遠(yuǎn)程IP節(jié)點(diǎn) 3、 4的適當(dāng)?shù)刂穲?bào)頭信息的LAN處理器10。 LAN處理器10從遠(yuǎn)程IP 節(jié)點(diǎn)3、 4接收到的返回?cái)?shù)據(jù)分組被返回到鏈路管理器11B,在鏈路管理 器11B處剝離出TCP報(bào)頭(RTP、 UDP等),隨后藍(lán)牙處理器6B經(jīng)由 該鏈路將分組傳輸給移動(dòng)設(shè)備7中的藍(lán)牙處理器6A。現(xiàn)在轉(zhuǎn)到圖16, 一旦移動(dòng)設(shè)備7的用戶停止使用遠(yuǎn)程站點(diǎn)3、 4,或 設(shè)備確定不再需要該鏈路,就通過相應(yīng)的藍(lán)牙處理器6A、 6B向接入點(diǎn)1 發(fā)送LinkDown命令,并隨后發(fā)送到鏈路管理器IIB,鏈路管理器11B 確定合適的遠(yuǎn)程連接,并將Close (關(guān)閉)消息傳遞到LAN處理器10。 LAN處理器10隨后向遠(yuǎn)程站點(diǎn)3、 4轉(zhuǎn)發(fā)掉話(drop connection)數(shù)據(jù)報(bào) 并且鏈路管理器從它的記錄中刪除該鏈路。另一方面,如果遠(yuǎn)程EP節(jié)點(diǎn)3、 4掉話,則圖17示出了這一過程。 在此,經(jīng)由通信網(wǎng)絡(luò)2接收的連接斷開(down)數(shù)據(jù)報(bào)被LAN處理器 IO接收,并且向鏈路管理器llB發(fā)送LinkDown命令消息,鏈路管理器 1 IB通過相應(yīng)的藍(lán)牙處理器6B、 6A將LinkDown命令發(fā)送到移動(dòng)設(shè)備7 以供使用。移動(dòng)設(shè)備7和接入點(diǎn)1現(xiàn)在可以進(jìn)入各自的清理(cleanup)過程來 釋放鏈路以供隨后使用。在鏈路故障或心跳故障的情況下也有相應(yīng)的清理過程,其使得移動(dòng) 設(shè)備能夠以一種有組織的方式從用戶應(yīng)用中退出。盡管此處所指的報(bào)頭通常為TCP/TRP/UDP類型,但是還應(yīng)注意,更 長(zhǎng)的報(bào)頭,例如在超文本傳輸(HTTP)中使用的報(bào)頭,也可以就特定鏈 路完全地緩存(cache)在接入點(diǎn)1處。通過緩存整個(gè)HTTP報(bào)頭,可以 顯著地節(jié)省傳輸時(shí)間。例如,457字節(jié)的報(bào)頭將僅由4字節(jié)來代表。這種報(bào)頭的實(shí)例如下n, Ettemnt II, sec: 00:ll:化5cU訴xf, ost: 00'.0d:72Ui:81ie Internet Protocol, Src Add,': 192.168.1.73 (192.16S'丄76), OSt Add'': 207,68.172.246 (207.68.372.245) ajTfai、sroission control Protocol, src Port'. 3301 (3301), Dst Poft: http (80), S柳1, Ado 1, Lan: 403 b Mypectgxt Transfer p"ot。c。1 GET / HTTP/l.lVVlAccept: iraage/srff, iraagaA-xMtaap,化age/jpeg, fn,age/pjp的,app"cat on/x-sl,ockwave-flash, *7*\r、ii Acc印t-Language: en-gb;r、ri Acc印t-Encoding: gzi'p, def1ate、r、nUser-Asisnt; MozmaM.O (compatible: MSIE 6.0; Windows NT 5.1; SV1; .NET CUR 1,1.4322; .NETCLR 2.0.50210VAt, Host: home, microsoft,con《r、n Cormection: Ke印-A"HVe、r、n\r、n在接入點(diǎn)能夠緩存任何類型的報(bào)頭,由此得到通過從接入點(diǎn)1到移動(dòng)設(shè)備7的藍(lán)牙鏈路的傳輸時(shí)間的顯著節(jié)省。盡管此類報(bào)頭意味著最初的NewLink消息更加復(fù)雜,但是對(duì)于每個(gè) 此類HTTP消息,其僅發(fā)送一次,而在整個(gè)轉(zhuǎn)發(fā)和返回消息的序列中都 是有效的。創(chuàng)建了新鏈路時(shí),該鏈路實(shí)質(zhì)上是新的http連接,并且將指 定公共參數(shù),于是對(duì)于該連接內(nèi)的每個(gè)單獨(dú)的http事務(wù),將得到節(jié)省。可以根據(jù)事務(wù)的類型來將NewLink命令階段所設(shè)置的報(bào)頭的特定部 分用于用戶或設(shè)備7隨后請(qǐng)求的不同交易,并且接入點(diǎn)1可以選擇合適 的部分。
權(quán)利要求
1、一種對(duì)位于通信網(wǎng)絡(luò)與最終用戶設(shè)備之間的最終鏈路上的通信接口進(jìn)行操作的方法,該方法包括以下步驟針對(duì)每個(gè)鄰近的數(shù)據(jù)消息序列,在所述通信接口與所述設(shè)備之間創(chuàng)建鏈路標(biāo)識(shí);在所述接口處存儲(chǔ)所述鏈路標(biāo)識(shí)到源地址和目的地址的映射;針對(duì)從所述設(shè)備接收到的每個(gè)尋址消息,用與所述目的地相對(duì)應(yīng)的報(bào)頭信息來替換鏈路標(biāo)識(shí)信息;以及針對(duì)從源接收到的每個(gè)消息,用鏈路標(biāo)識(shí)信息來替換報(bào)頭信息,由此,極大地提高了所述最終鏈路中的數(shù)據(jù)消息的數(shù)據(jù)有效載荷與目的地?cái)?shù)據(jù)的比例。
2、 根據(jù)權(quán)利要求l所述的對(duì)通信接口進(jìn)行操作的方法,其中,在所 述接口處對(duì)所述報(bào)頭信息進(jìn)行緩存。
3、 根據(jù)權(quán)利要求1或權(quán)利要求2所述的對(duì)通信接口進(jìn)行操作的方法, 其中所述報(bào)頭信息在第一消息中被從所述最終用戶設(shè)備發(fā)送到所述接 口,所述第一消息在所述最終鏈路具有多條從所述用戶設(shè)備到所述接口 的信道的情況下建立額外的這種信道。
4、 根據(jù)權(quán)利要求1、 2或3中任意一項(xiàng)所述的對(duì)通信接口進(jìn)行操作 的方法,其中所述最終鏈路根據(jù)藍(lán)牙協(xié)議運(yùn)行。
5、 一種位于通信網(wǎng)絡(luò)與最終用戶設(shè)備之間的最終鏈路上的通信接 口,該通信接口包括無線收發(fā)機(jī),用于向所述最終用戶設(shè)備發(fā)送數(shù)據(jù) 消息并從所述最終用戶設(shè)備接收數(shù)據(jù)消息;與通信網(wǎng)絡(luò)的高速連接,用 于向和從遠(yuǎn)程設(shè)備發(fā)送和接收數(shù)據(jù)消息;以及控制器,該控制器針對(duì)所 述最終用戶設(shè)備與遠(yuǎn)程設(shè)備之間的每個(gè)鄰近的數(shù)據(jù)消息序列,創(chuàng)建用于 去往或來自所述最終用戶設(shè)備的消息的第一地址,和用于所述遠(yuǎn)程設(shè)備 的第二地址,所述控制器存儲(chǔ)有所述第一地址和所述第二地址之間的映 射,并且在接收到來自所述最終用戶設(shè)備的數(shù)據(jù)消息時(shí),用所述第二地 址替換所述第一地址,而在接收到去往所述最終用戶設(shè)備的數(shù)據(jù)消息時(shí),用所述第一地址替換所述第二地址,所述第一地址相比所述第二地址包 括少得多的數(shù)據(jù),由此通過所述最終鏈路傳送到所述最終用戶設(shè)備的每 個(gè)消息的數(shù)據(jù)有效載荷都被最大化。
全文摘要
在通往互聯(lián)網(wǎng)(2)的接入點(diǎn)(1)處,控制器(8)將與數(shù)據(jù)報(bào)一同接收到的報(bào)頭數(shù)據(jù)縮減為最小報(bào)頭,經(jīng)由藍(lán)牙接口傳輸?shù)揭苿?dòng)設(shè)備。這是通過為移動(dòng)設(shè)備(7)和遠(yuǎn)程IP節(jié)點(diǎn)(3,4)之間的每個(gè)通信序列建立鏈路標(biāo)識(shí)而實(shí)現(xiàn)的。通過在藍(lán)牙鏈路上使用最小報(bào)頭,較之使用互聯(lián)網(wǎng)上所需的全部報(bào)頭的情況,能夠以快得多的速度傳送由移動(dòng)設(shè)備接收或發(fā)送的數(shù)據(jù)報(bào)。
文檔編號(hào)H04L29/06GK101258724SQ200680032407
公開日2008年9月3日 申請(qǐng)日期2006年9月6日 優(yōu)先權(quán)日2005年9月6日
發(fā)明者尼古拉斯·威廉·法羅 申請(qǐng)人:英國(guó)電訊有限公司