国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      維持會(huì)話連接的制作方法

      文檔序號(hào):7620372閱讀:148來(lái)源:國(guó)知局
      專利名稱:維持會(huì)話連接的制作方法
      技術(shù)領(lǐng)域
      所描述的技術(shù)一般涉及數(shù)據(jù)通信網(wǎng)絡(luò),尤其涉及維持會(huì)話連接。
      背景技術(shù)
      計(jì)算設(shè)備用戶有時(shí)使用其計(jì)算設(shè)備來(lái)與其它用戶進(jìn)行通信。例如,用戶可使用計(jì)算設(shè)備,通過(guò)發(fā)送或接收鍵入的消息,如通過(guò)使用MICROSOFTMESSENGER(“MESSENGER”)即時(shí)消息通信產(chǎn)品,而與另一用戶進(jìn)行通信。作為另一個(gè)例子,用戶可通過(guò)使用話筒說(shuō)話并通過(guò)揚(yáng)聲器或頭戴式耳機(jī)聽(tīng)見(jiàn)其他用戶,如通過(guò)使用互聯(lián)網(wǎng)協(xié)議上的話音(“VoIP”)應(yīng)用程序,而與另一個(gè)用戶進(jìn)行通信。這些用戶可使用各種計(jì)算設(shè)備,如個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理、蜂窩電話、啟用VoIP的電話,等等。
      將這些類型的通信服務(wù)提供給用戶的應(yīng)用程序也可能需要提供存在信息(presence information)。存在信息傳達(dá)用戶的能力或者意愿,以使用計(jì)算設(shè)備進(jìn)行通信。存在信息可由計(jì)算設(shè)備自動(dòng)檢測(cè),或者可由用戶主動(dòng)選擇。計(jì)算設(shè)備可自動(dòng)觀察并傳遞存在信息,如用戶“狀態(tài)”。例如,當(dāng)用戶沒(méi)有登錄到任何計(jì)算設(shè)備或沒(méi)有使用(或登錄到)觀察并傳遞存在信息的應(yīng)用程序時(shí),用戶狀態(tài)可被自動(dòng)表示為“脫機(jī)”。當(dāng)用戶啟動(dòng)或登錄到諸如MESSENGER等觀察并傳達(dá)存在信息的應(yīng)用程序時(shí),用戶狀態(tài)可被自動(dòng)表示為“聯(lián)機(jī)”。當(dāng)用戶一段時(shí)間沒(méi)有在計(jì)算設(shè)備上執(zhí)行任何行動(dòng)時(shí),應(yīng)用程序可自動(dòng)表示用戶“離開(kāi)”。用戶也可主動(dòng)選擇其狀態(tài)。例如,用戶可表示他們“外出就餐”或者“忙碌”,這可表示他們可能無(wú)法立即對(duì)來(lái)自其他用戶的消息做出響應(yīng)。
      多個(gè)計(jì)算設(shè)備可向一注冊(cè)服務(wù)器計(jì)算設(shè)備注冊(cè)其存在信息,這樣以使“監(jiān)視程序”,即希望確定用戶狀態(tài)的應(yīng)用程序,可通過(guò)查詢注冊(cè)服務(wù)器或預(yù)訂自動(dòng)接收存在信息來(lái)確定有意義的存在信息。例如,MESSENGER可向注冊(cè)服務(wù)器表明,用戶在一段時(shí)間內(nèi)還沒(méi)有在計(jì)算設(shè)備上執(zhí)行任何行動(dòng),因此用戶存在信息可以是“離開(kāi)”。啟用VoIP的電話可向注冊(cè)服務(wù)器表明,用戶已經(jīng)打了電話,因此該用戶的存在信息可以是“接聽(tīng)電話”。當(dāng)監(jiān)視程序從注冊(cè)服務(wù)器接收到該存在信息時(shí),它可確定用戶狀態(tài)是“接聽(tīng)電話,且不能對(duì)計(jì)算設(shè)備上的消息做出響應(yīng)”。然而,若用戶開(kāi)始在計(jì)算設(shè)備上執(zhí)行行動(dòng),則監(jiān)視程序可確定用戶狀態(tài)是“接聽(tīng)電話,但能夠?qū)τ?jì)算設(shè)備上的消息做出響應(yīng)”。若用戶主動(dòng)在計(jì)算設(shè)備上表明其用戶狀態(tài)是“離開(kāi)”,并使用啟用VoIP的電話,則監(jiān)視程序可確定用戶狀態(tài)是“漫游”。
      通信應(yīng)用程序有時(shí)需要確立并管理計(jì)算設(shè)備之間的會(huì)話。會(huì)話是在一段時(shí)間內(nèi)出現(xiàn)的計(jì)算設(shè)備之間的一組交互。例如,諸如MESSENGER或VoIP等實(shí)時(shí)通信應(yīng)用程序代表用戶建立通信設(shè)備之間的會(huì)話。這些應(yīng)用程序可使用諸如“會(huì)話發(fā)起協(xié)議”(“SIP”)等各種機(jī)制來(lái)建立會(huì)話。SIP是一種應(yīng)用層控制協(xié)議,計(jì)算設(shè)備可使用它來(lái)發(fā)現(xiàn)另一個(gè)計(jì)算設(shè)備,并建立、修改和終止計(jì)算設(shè)備之間的會(huì)話。
      應(yīng)用程序可將SIP用于另一個(gè)協(xié)議來(lái)發(fā)送或接收信息。通過(guò)將SIP用于其它協(xié)議,應(yīng)用程序可創(chuàng)建并管理會(huì)話,并在會(huì)話期間交換信息。以SIP來(lái)使用以交換信息的協(xié)議可將該信息分割為消息。例如,VoIP應(yīng)用程序可將長(zhǎng)的敘述分割為較短的消息。在會(huì)話期間交換消息被稱為“對(duì)話”。SIP可使用較低級(jí)通信層來(lái)傳輸對(duì)話的消息,如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(“TCP/IP”),它通常用于傳輸層以及網(wǎng)絡(luò)層協(xié)議。
      傳輸控制協(xié)議(”TCP”)是面向連接的、可靠的傳遞傳輸層協(xié)議。TCP通常被描述為一傳輸層,它提供應(yīng)用層(如使用SIP的應(yīng)用程序)和網(wǎng)絡(luò)層之間的接口。應(yīng)用層一般通過(guò)發(fā)送或接收數(shù)據(jù)流(如許多數(shù)據(jù)字節(jié))來(lái)與TCP層進(jìn)行通信。TCP將這個(gè)數(shù)據(jù)流組織為段,它可由諸如互聯(lián)網(wǎng)協(xié)議(“IP”)等在網(wǎng)絡(luò)層使用的協(xié)議攜帶。這些數(shù)據(jù)段通常被稱為“分組”、“幀”或者“消息”。每條消息一般包含報(bào)頭和凈荷。報(bào)頭包含用于路由和解釋消息所需的數(shù)據(jù)。凈荷包含被發(fā)送或接收的實(shí)際數(shù)據(jù)。應(yīng)用層、傳輸層以及網(wǎng)絡(luò)層,連同其它層,共同被稱為數(shù)據(jù)通信棧。
      連接中的消息可經(jīng)過(guò)中間計(jì)算設(shè)備。當(dāng)發(fā)送計(jì)算設(shè)備數(shù)據(jù)通信棧的傳輸層或網(wǎng)絡(luò)層建立與接收計(jì)算設(shè)備中數(shù)據(jù)通信棧的相應(yīng)層的連接時(shí),由計(jì)算設(shè)備交換的消息可經(jīng)過(guò)幾個(gè)中間計(jì)算設(shè)備。例如,消息可經(jīng)過(guò)代理服務(wù)器、網(wǎng)絡(luò)地址轉(zhuǎn)換器或者網(wǎng)關(guān)。這些中間計(jì)算設(shè)備接收、處理并轉(zhuǎn)發(fā)消息。例如,代理服務(wù)器可以是連接到內(nèi)聯(lián)網(wǎng)的計(jì)算設(shè)備和連接到因特網(wǎng)的計(jì)算設(shè)備之間的中介。該代理服務(wù)器可例如通過(guò)忽略來(lái)自內(nèi)聯(lián)網(wǎng)外部的連接請(qǐng)求,試圖使內(nèi)聯(lián)網(wǎng)更安全。
      中間計(jì)算設(shè)備可終止兩個(gè)計(jì)算設(shè)備之間的空閑連接,以有效地使用網(wǎng)絡(luò)資源。例如,在連接到內(nèi)聯(lián)網(wǎng)的用戶計(jì)算設(shè)備(“計(jì)算設(shè)備A”)上執(zhí)行的MESSENGER或VoIP應(yīng)用程序可建立與在連接到因特網(wǎng)的另一個(gè)計(jì)算設(shè)備(“計(jì)算設(shè)備B”)上執(zhí)行的應(yīng)用程序的基于SIP的會(huì)話。該會(huì)話可使用計(jì)算設(shè)備A和B之間的TCP/IP連接,而且由計(jì)算設(shè)備交換的消息可經(jīng)過(guò)代理服務(wù)器。當(dāng)在一段時(shí)間內(nèi)沒(méi)有在連接中交換消息時(shí),代理服務(wù)器可關(guān)閉它與計(jì)算設(shè)備B之間的連接,以保存網(wǎng)絡(luò)資源。然而,計(jì)算設(shè)備A可能不知道該連接已被關(guān)閉,因?yàn)樗c代理服務(wù)器的連接保持打開(kāi)。結(jié)果,在計(jì)算設(shè)備B上執(zhí)行的應(yīng)用程序可能錯(cuò)誤地假定計(jì)算設(shè)備A的應(yīng)用程序(或用戶)不再處于聯(lián)機(jī)狀態(tài)或者使用該連接。此外,為使代理服務(wù)器所連接的內(nèi)聯(lián)網(wǎng)更加安全,代理服務(wù)器可忽略來(lái)自未連接到內(nèi)聯(lián)網(wǎng)的設(shè)備,諸如連接到因特網(wǎng)的計(jì)算設(shè)備的連接請(qǐng)求。隨后,在連接到內(nèi)聯(lián)網(wǎng)的計(jì)算設(shè)備B上執(zhí)行的應(yīng)用程序可能無(wú)法查詢?cè)谟?jì)算設(shè)備A上執(zhí)行的應(yīng)用程序的狀態(tài)或請(qǐng)求重新建立會(huì)話。
      中間計(jì)算設(shè)備即使在計(jì)算設(shè)備使用“保持活躍”機(jī)制的時(shí)候也可關(guān)閉連接。某些計(jì)算設(shè)備使用保持活躍機(jī)制來(lái)保持連接活躍,而不論消息缺乏與否。該機(jī)制包括發(fā)送“保持活躍”消息,以表明發(fā)送者還沒(méi)有關(guān)閉連接。然而,有效的中間計(jì)算設(shè)備可識(shí)別保持活躍消息,并在保持發(fā)送計(jì)算設(shè)備和中間計(jì)算設(shè)備之間的連接活躍時(shí),可終止與在保持活躍消息中表明的接收者的連接(如,與連接到因特網(wǎng)的計(jì)算設(shè)備的連接)。
      連接可通過(guò)發(fā)送應(yīng)用層的有效消息而得到維持。例如,使用傳輸層中的TCP的SIP應(yīng)用程序可周期性地發(fā)送有效的SIP消息,如REGISTER(寄存器)消息。REGISTER消息可用于使SIP服務(wù)器能夠?qū)⑾l(fā)送者的統(tǒng)一資源標(biāo)識(shí)符(“URI”)與發(fā)送者使用的計(jì)算設(shè)備相關(guān)聯(lián)。當(dāng)有效SIP消息不能被發(fā)送或接收時(shí),SIP應(yīng)用程序可檢測(cè)到其TCP連接是不可用的。發(fā)送REGISTER,或者實(shí)際上包含有效數(shù)據(jù)的任何有效SIP消息的問(wèn)題,是當(dāng)多個(gè)客戶機(jī)和服務(wù)器需要這樣做以維持連接時(shí),這樣做可能是計(jì)算密集的。在REGISTER消息的情況下,接收這樣消息的服務(wù)器可能需要對(duì)該消息進(jìn)行語(yǔ)法分析,以確定發(fā)送者計(jì)算設(shè)備的URI和身份,并且可能進(jìn)一步需要將數(shù)據(jù)儲(chǔ)存在可能在另一個(gè)服務(wù)器上的數(shù)據(jù)庫(kù)中。
      這樣,不依賴于消息TCP保持活躍或廣泛計(jì)算處理來(lái)維持會(huì)話連接的有效方法將具有顯著的實(shí)用性。
      SIP是一種因特網(wǎng)提議標(biāo)準(zhǔn)。其規(guī)范“RFC 3261”,可在&lt;http//www.ietf.org/rfc/rfc3261.txt&gt;處獲得。用于對(duì)涉及事件通知的SIP的擴(kuò)展的規(guī)范“RFC 3265”可在&lt;http//www.ietf.org/rfc/rfc3265.txt&gt;處獲得。涉及即時(shí)消息通信系統(tǒng)中的存在信息的規(guī)范“RFC 2778”可在&lt;http//www.ietf.org/rfc/rfc2778.txt&gt;處獲得。涉及SIP中的存在信息的提議規(guī)范的草稿可在&lt;http//www.ietf.org/intemet-drafts/draft-ietf-simple-presene-10.txt&gt;處獲得。所有這四個(gè)規(guī)范通過(guò)整體引用合并于此。

      發(fā)明內(nèi)容
      在一實(shí)施例中,提供了用于維持會(huì)話連接的技術(shù)。該技術(shù)在不發(fā)送消息時(shí)可導(dǎo)致會(huì)話連接由于超時(shí)條件而關(guān)閉時(shí)發(fā)送心跳消息。心跳消息是有效的傳輸層消息,它會(huì)被數(shù)據(jù)通信棧的較高層處的協(xié)議忽略。例如,該技術(shù)可發(fā)送其凈荷中僅包含回車和換行(“CRLF”)的TCP消息。因?yàn)門CP層將僅包含CRLF的消息認(rèn)為是有效TCP消息,所以諸如代理服務(wù)器這樣的中間計(jì)算設(shè)備可以不將心跳消息解釋為“保持活躍”消息,并可維持會(huì)話連接。


      圖1是示出用于維持會(huì)話連接的系統(tǒng)的實(shí)施例的框圖。
      圖2是示出圖1的網(wǎng)絡(luò)的實(shí)施例的框圖。
      圖3是示出由計(jì)算設(shè)備所使用的數(shù)據(jù)通信棧的實(shí)施例的框圖。
      圖4是示出send_message例程的實(shí)施例的流程圖。
      圖5是示出sustain_connection例程的實(shí)施例的流程圖。
      圖6是示出send_heartbeat子例程的實(shí)施例的流程圖。
      圖7是示出receive_message子例程的實(shí)施例的流程圖。
      圖8是示出一實(shí)施例中的消息流的消息流圖。
      圖9是示出一實(shí)施例中的消息流的消息流圖。
      圖10是示出一實(shí)施例中的消息流的框圖。
      具體實(shí)施例方式
      在一實(shí)施例中,提供了用于維持會(huì)話連接的技術(shù)。該技術(shù)在不發(fā)送消息可導(dǎo)致會(huì)話連接由于超時(shí)條件而關(guān)閉時(shí)發(fā)送心跳消息。心跳消息是包含非空凈荷的有效傳輸層消息,它會(huì)被數(shù)據(jù)通信棧的較高層處的協(xié)議忽略。例如,該技術(shù)可發(fā)送在其凈荷中僅包含回車和換行(“CRLF”)的TCP消息。因?yàn)門CP層將僅包含CRLF的消息認(rèn)為是有效的TCP消息,所以諸如代理服務(wù)器這樣的中間計(jì)算設(shè)備可復(fù)位涉及其中發(fā)送或接收消息的連接的消息時(shí)鐘。該消息時(shí)鐘表明自從消息在連接中被最后一次發(fā)送或接收以來(lái)已過(guò)去的時(shí)間量。當(dāng)連接的消息時(shí)鐘表明已經(jīng)過(guò)了閾值量的時(shí)間(如表明超時(shí)條件已經(jīng)出現(xiàn))時(shí),中間計(jì)算設(shè)備可關(guān)閉該連接。因?yàn)橄r(shí)鐘在消息被發(fā)送或接收時(shí)被復(fù)位,所以該連接可可以不被關(guān)閉,除非另一個(gè)消息在閾值量的時(shí)間過(guò)去之前沒(méi)有被發(fā)送或接收。當(dāng)接收者計(jì)算設(shè)備的TCP層將接收到的心跳消息轉(zhuǎn)發(fā)到其數(shù)據(jù)通信棧的較高層時(shí),該較高層可忽略心跳消息。例如,SIP可忽略僅包含諸如空格、制表符、回車、換行或CRLF等空白的其它有效SIP消息。若接收到包含除CRLF之外信息的消息,則較高層可試圖將這些消息解釋為包含不能被忽略的信息。在各種實(shí)施例中,心跳可只包含回車、換行或可在傳輸層有效但被數(shù)據(jù)通信棧的較高層忽略的任何數(shù)據(jù)。這樣,通過(guò)發(fā)送有效傳輸層消息,如被SIP忽略的心跳消息,即使在處于數(shù)據(jù)通信棧中高于傳輸層的層的計(jì)算設(shè)備之間沒(méi)有交換任何信息,該技術(shù)也可維持會(huì)話連接。可在協(xié)議的規(guī)范或定義中定義何種類型的消息是有效但可被忽略的。
      在一實(shí)施例中,被傳輸層以上的層所忽略的消息可包括,如回車、換行、空格、制表符、或者任何一般的空白字符。在一實(shí)施例中,只包含空白字符的這樣的消息能以回車或換行結(jié)束。可用于消息中以維持連接而不導(dǎo)致過(guò)量計(jì)算負(fù)擔(dān)的字符可通過(guò)分析在可能關(guān)閉連接的協(xié)議(如TCP)之上使用的協(xié)議來(lái)確定。
      現(xiàn)在轉(zhuǎn)到附圖,圖1是示出用于維持會(huì)話連接的系統(tǒng)的實(shí)施例的框圖。該系統(tǒng)可包含一個(gè)或多個(gè)客戶機(jī)102、一個(gè)或多個(gè)網(wǎng)絡(luò)104、以及將客戶機(jī)和網(wǎng)絡(luò)連接起來(lái)的網(wǎng)絡(luò),如因特網(wǎng)114。客戶機(jī)可通過(guò)網(wǎng)絡(luò)連接108連接到因特網(wǎng)。網(wǎng)絡(luò)104可使用各種形式的數(shù)據(jù)通信鏈路110連接到因特網(wǎng)??蛻魴C(jī)可以是,如計(jì)算機(jī)、蜂窩電話、或者連接到因特網(wǎng)的其它設(shè)備。網(wǎng)絡(luò)可以是如內(nèi)聯(lián)網(wǎng)??蛻魴C(jī)也可使用專用數(shù)據(jù)通信鏈路112直接連接到網(wǎng)絡(luò)。類似地,網(wǎng)絡(luò)可使用專用數(shù)據(jù)通信鏈路112直接連接到其它網(wǎng)絡(luò)。因特網(wǎng)也可連接到各種其它計(jì)算設(shè)備(未示出)。這里描述的連接可以是物理的、無(wú)線的,并且可實(shí)際上可以是任何形式的數(shù)據(jù)通信網(wǎng)絡(luò)連接。
      圖2是示出圖1的網(wǎng)絡(luò)的實(shí)施例的框圖。網(wǎng)絡(luò)200包含一個(gè)或多個(gè)客戶機(jī)202、服務(wù)器204、以及邊緣代理服務(wù)器212。網(wǎng)絡(luò)也可包含其它設(shè)備(未示出)。所示的網(wǎng)絡(luò)設(shè)備(以及未示出的那些設(shè)備)可通過(guò)與網(wǎng)絡(luò)相關(guān)聯(lián)的數(shù)據(jù)通信網(wǎng)絡(luò)(未示出)而互聯(lián)??蛻魴C(jī)202和服務(wù)器204可執(zhí)行各種活動(dòng),包括交換SIP消息。邊緣代理服務(wù)器212可以同時(shí)連接到網(wǎng)絡(luò)200(“內(nèi)部”網(wǎng)絡(luò))相連和“外部”網(wǎng)絡(luò)。如因特網(wǎng)(未示出)。當(dāng)客戶機(jī)想要打開(kāi)到網(wǎng)絡(luò)外部的服務(wù)器的會(huì)話時(shí),邊緣代理可例如確定該會(huì)話是否應(yīng)被打開(kāi),以及應(yīng)使用哪個(gè)通信鏈路。
      圖3是示出由圖1和圖2的計(jì)算設(shè)備所使用的數(shù)據(jù)通信棧的實(shí)施例的框圖。計(jì)算設(shè)備可使用一個(gè)或多個(gè)數(shù)據(jù)通信棧來(lái)彼此通信。在所示的示例中,計(jì)算設(shè)備300使用與這些計(jì)算設(shè)備相關(guān)聯(lián)的數(shù)據(jù)通信棧來(lái)與計(jì)算設(shè)備303進(jìn)行通信。計(jì)算設(shè)備301和302可使用其相關(guān)聯(lián)的數(shù)據(jù)通信棧在計(jì)算設(shè)備300和303之間接收并轉(zhuǎn)發(fā)消息。
      計(jì)算設(shè)備300具有包含應(yīng)用層304、傳輸層306、網(wǎng)絡(luò)層308、數(shù)據(jù)鏈路層310以及物理層312的數(shù)據(jù)通信棧。應(yīng)用層可包含SIP應(yīng)用程序以及其它的應(yīng)用程序。SIP應(yīng)用程序可具有與傳輸層通信的組件或?qū)印IP應(yīng)用程序的這個(gè)通信層可發(fā)送或接收心跳消息。計(jì)算設(shè)備301、302和303可具有類似的數(shù)據(jù)通信棧。具體地,計(jì)算設(shè)備303可具有包含應(yīng)用層314、傳輸層316、網(wǎng)絡(luò)層318、數(shù)據(jù)鏈路層320以及物理層322的數(shù)據(jù)通信棧。一些或所有這些應(yīng)用層可另外包含SIP應(yīng)用程序。
      當(dāng)兩個(gè)計(jì)算設(shè)備被連接起來(lái)時(shí),其數(shù)據(jù)通信棧的層可具有彼此之間的邏輯或物理連接。例如,當(dāng)計(jì)算設(shè)備300通過(guò)計(jì)算設(shè)備301和302連接到計(jì)算設(shè)備303時(shí),物理層312可通過(guò)物理連接324連接到計(jì)算設(shè)備301的物理層,計(jì)算設(shè)備301可通過(guò)物理連接連接到計(jì)算設(shè)備302的物理層,計(jì)算設(shè)備302可通過(guò)物理連接連接到計(jì)算設(shè)備303的物理層。每個(gè)計(jì)算設(shè)備可通過(guò)如調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡或者諸如通過(guò)因特網(wǎng)等其它連接而彼此相連。因特網(wǎng)由各種物理連接組成,如電話線、微波鏈路、以及其它形式的有線和無(wú)線物理連接,它們共同形成了消息的多條路線。實(shí)際上,因特網(wǎng)的早期目標(biāo)是讓發(fā)送者即使在網(wǎng)絡(luò)不工作時(shí)也能夠與接收者進(jìn)行通信。當(dāng)計(jì)算設(shè)備300將數(shù)據(jù)發(fā)送到計(jì)算設(shè)備303時(shí),數(shù)據(jù)可通過(guò)因特網(wǎng)在不同的物理路線上行進(jìn)。
      數(shù)據(jù)通信棧的較高層,如數(shù)據(jù)鏈路層310和320、網(wǎng)絡(luò)層308和318、傳輸層306和316,以及應(yīng)用層304和314可通過(guò)諸如邏輯連接326、328、330和332等邏輯連接而相連。當(dāng)數(shù)據(jù)通信棧的兩層具有邏輯連接并交換數(shù)據(jù)時(shí),該數(shù)據(jù)可通過(guò)物理連接沿著發(fā)送計(jì)算設(shè)備的數(shù)據(jù)通信棧“向下”發(fā)送到數(shù)據(jù)通信棧的物理層,然后沿著接收計(jì)算設(shè)備的數(shù)據(jù)通信?!跋蛏稀卑l(fā)送。例如,當(dāng)計(jì)算設(shè)備300的SIP應(yīng)用程序304與計(jì)算設(shè)備303的SIP應(yīng)用程序314進(jìn)行通信時(shí),SIP應(yīng)用程序304可將數(shù)據(jù)傳遞到傳輸層306,傳輸層306可將數(shù)據(jù)傳遞到網(wǎng)絡(luò)層308,網(wǎng)絡(luò)層308可將數(shù)據(jù)傳遞到數(shù)據(jù)鏈路層310,數(shù)據(jù)鏈路層310可將數(shù)據(jù)傳遞到物理層312。物理層312可通過(guò)物理連接324傳遞數(shù)據(jù),且最終可將數(shù)據(jù)傳遞到物理層322。物理層322可將其接收的數(shù)據(jù)向上傳遞到數(shù)據(jù)鏈路層320,數(shù)據(jù)鏈路層320可將數(shù)據(jù)傳遞到網(wǎng)絡(luò)層318,網(wǎng)絡(luò)層318可將數(shù)據(jù)傳遞到傳輸層316,傳輸層最終可將數(shù)據(jù)傳遞到SIP應(yīng)用程序314。
      當(dāng)計(jì)算設(shè)備301和302在其物理連接上接收數(shù)據(jù)時(shí),它們也可沿其數(shù)據(jù)通信棧向上發(fā)送數(shù)據(jù)??赡艿那闆r是,數(shù)據(jù)通信棧的較低層,而不是應(yīng)用層,能夠處理接收到的數(shù)據(jù),而不將其發(fā)送到較高層。例如,當(dāng)SIP應(yīng)用程序304將SIP消息發(fā)送到SIP應(yīng)用程序時(shí),它可將對(duì)應(yīng)于SIP消息的數(shù)據(jù)發(fā)送到傳輸層306。計(jì)算設(shè)備301和302的數(shù)據(jù)通信棧均接收其物理層上的數(shù)據(jù),它們可將接收到的數(shù)據(jù)沿著數(shù)據(jù)通信棧向上傳遞到其各自的傳輸層。傳輸層可從接收到的數(shù)據(jù)中識(shí)別出在數(shù)據(jù)中表示的目的地是計(jì)算設(shè)備303,它可簡(jiǎn)單地將數(shù)據(jù)轉(zhuǎn)發(fā)到傳輸層316(通過(guò)其對(duì)應(yīng)的較低層)。這樣,計(jì)算設(shè)備301和302的應(yīng)用/SIP層可以不必處理或者甚至查看消息。
      當(dāng)任一計(jì)算設(shè)備301或者302的傳輸層在一段時(shí)間內(nèi)沒(méi)有接收到任何數(shù)據(jù)時(shí),計(jì)算設(shè)備可關(guān)閉對(duì)應(yīng)于計(jì)算設(shè)備300和303之間的SIP會(huì)話的連接。例如,若計(jì)算設(shè)備301不能在來(lái)自計(jì)算設(shè)備300或者計(jì)算設(shè)備302的連接上接收任何消息,則它可假定該連接不再是必要的,并關(guān)閉該連接。這樣,計(jì)算設(shè)備300和303之間的進(jìn)一步SIP消息也許無(wú)法經(jīng)過(guò)通過(guò)計(jì)算設(shè)備301和302的先前打開(kāi)的連接。
      圖4是示出send_message(發(fā)送消息)例程的實(shí)施例的流程圖。該例程可由應(yīng)用層組件執(zhí)行,如SIP應(yīng)用程序的組件,以發(fā)送消息。send_message例程可由如在計(jì)算設(shè)備上執(zhí)行的SIP應(yīng)用程序在它將消息發(fā)送到在另一個(gè)計(jì)算設(shè)備上執(zhí)行的SIP應(yīng)用程序時(shí)使用。該例程開(kāi)始于方框402,那里它接收消息的指示作為參數(shù)。在方框404處,該例程復(fù)位時(shí)鐘值,如通過(guò)將其設(shè)置到零。時(shí)鐘值是自從消息被最后一次發(fā)送以來(lái)已經(jīng)過(guò)的時(shí)間的指示。這個(gè)值可由系統(tǒng)組件檢查,以確定連接是否應(yīng)被關(guān)閉。在方框406處,該例程將在方框402處接收到的消息發(fā)送到傳輸層。該例程可使用由傳輸層所展現(xiàn)的應(yīng)用程序接口來(lái)發(fā)送消息。在方框408處,該例程返回到其調(diào)用者處。
      圖5是示出sustain_connection(維持連接)例程的實(shí)施例的流程圖。該例程由諸如SIP應(yīng)用程序的組件這樣的應(yīng)用層組件來(lái)執(zhí)行,以維持連接。該連接可能需要在如表示自從消息被最后一次發(fā)送以來(lái)已經(jīng)過(guò)的時(shí)間量的時(shí)鐘值超過(guò)超時(shí)值時(shí)候被維持。適當(dāng)?shù)某瑫r(shí)數(shù)可通過(guò)如使用傳輸層的API來(lái)確定傳輸層的屬性而確定,或者可由系統(tǒng)管理員來(lái)定義。該例程開(kāi)始于方框502。在方框504處,該例程確定時(shí)鐘值是否在超時(shí)值附近。若時(shí)鐘值超過(guò)超時(shí)值,則該連接可能已經(jīng)被關(guān)閉了。結(jié)果,超時(shí)值之前的某段時(shí)間應(yīng)當(dāng)被選擇。若時(shí)鐘值在超時(shí)值附近,則該例程繼續(xù)到方框506。否則,該例程繼續(xù)到方框508。在方框506處,該例程調(diào)用send_heartbeat(發(fā)送心跳)子例程,它發(fā)送可維持連接的消息。send_heartbeat子例程在下文相關(guān)圖6來(lái)進(jìn)一步描述。在方框508處,該例程返回到其調(diào)用者處。
      sustain_connection例程可在與發(fā)送或接收消息的線程分離的線程循環(huán)中被重復(fù)調(diào)用?;蛘?,sustain_connection例程可響應(yīng)于在超時(shí)之前以某個(gè)指定時(shí)間間隔觸發(fā)的時(shí)鐘事件而被調(diào)用。
      或者,sustain_connect例程可簡(jiǎn)單地以小于超時(shí)值的某個(gè)時(shí)間間隔發(fā)送心跳消息,而不論時(shí)鐘值如何。例如,若代理服務(wù)器可在非活動(dòng)狀態(tài)一分鐘之后超時(shí),則該例程可每隔30秒發(fā)送一次心跳消息,即使消息在幾秒鐘之前已被發(fā)送或接收到。
      圖6是示出send_heartbeat(發(fā)送心跳)子例程的實(shí)施例的流程圖。該子例程由諸如SIP應(yīng)用程序的組件等應(yīng)用層組件來(lái)執(zhí)行,以發(fā)送心跳消息。該心跳消息可被發(fā)送,以維持若在一段時(shí)間內(nèi)在連接中沒(méi)有發(fā)送消息可被關(guān)閉的連接。該子例程開(kāi)始于方框602,那里它接收會(huì)話指示作為參數(shù)。在方框604處,該子例程創(chuàng)建心跳消息。心跳消息是可被數(shù)據(jù)通信棧的一層所忽略但也許不能被數(shù)據(jù)通信棧的另一層所忽略的消息。例如,心跳消息可由SIP應(yīng)用程序發(fā)送,以在TCP連接具有被處理兩個(gè)具有打開(kāi)的SIP會(huì)話的計(jì)算設(shè)備之間的消息的另一個(gè)計(jì)算設(shè)備(如代理服務(wù)器)關(guān)閉的風(fēng)險(xiǎn)時(shí),維持TCP連接。心跳消息例如可僅包含CRLF字符?;蛘?,心跳消息可包含以CRLF結(jié)束的一個(gè)或多個(gè)空格或制表符。若不使用CRLF,心跳消息也可使用回車或換行字符。對(duì)TCP層而言,這樣的消息可以是有效消息,它在消息被發(fā)送或接收時(shí)復(fù)位時(shí)鐘值。然而,SIP應(yīng)用程序可忽略這樣的消息。這樣,通過(guò)發(fā)送這樣的心跳消息,TCP連接可保持打開(kāi),SIP存在信息由此可保持準(zhǔn)確,且沒(méi)有任何無(wú)用信息被呈現(xiàn)給SIP應(yīng)用程序。在另一個(gè)實(shí)施例中,僅回車或換行字符可在心跳消息中發(fā)送。
      在方框606處,子例程調(diào)用send_message子例程,并將所創(chuàng)建的心跳消息作為參數(shù)傳遞給它。send_message子例程在上文相關(guān)圖4描述。在方框608處,該子例程返回到其調(diào)用者處。
      圖7是示出receive_message(接收消息)子例程的實(shí)施例的流程圖。該子例程可由接收者計(jì)算設(shè)備的應(yīng)用層組件,如SIP應(yīng)用程序的組件來(lái)執(zhí)行。該子例程開(kāi)始于方框702,那里它接收消息指示作為參數(shù)。在方框704處,該子例程確定接收到的消息是否為心跳消息。子例程可試圖通過(guò)檢查消息的內(nèi)容是否僅是回車、換行或者兩者兼有,來(lái)確定接收到的消息是否為心跳消息?;蛘?,receive_message子例程可被定制,以尋找消息中已知為標(biāo)識(shí)心跳消息的任何其它信息。若接收到的消息是心跳消息,則該子例程繼續(xù)到方框706。否則,該子例程繼續(xù)到方框708。在方框706處,該子例程可確認(rèn)消息。通常,傳輸層確認(rèn)消息。然而,在某些情況下,應(yīng)用層組件可能需要確認(rèn)消息。因?yàn)楦鶕?jù)執(zhí)行該子例程的應(yīng)用層組件,這個(gè)步驟可以是可任選的,所以方框706被表示為虛線。在方框708處,該子例程可將消息轉(zhuǎn)發(fā)到如SIP應(yīng)用程序。在方框710處,該子例程返回到其調(diào)用者處。
      一接收到消息,子例程就可復(fù)位時(shí)鐘值(未示出),它可用于確定是否需要發(fā)送心跳消息以維持會(huì)話。
      圖8是示出一實(shí)施例中的消息流的消息流圖。在所示的實(shí)施例中,計(jì)算設(shè)備1已經(jīng)建立了與計(jì)算設(shè)備2的SIP會(huì)話。在會(huì)話中交換的消息經(jīng)過(guò)代理服務(wù)器。例如,當(dāng)計(jì)算設(shè)備1在時(shí)間0處發(fā)送消息1時(shí),該消息經(jīng)過(guò)代理服務(wù)器,且計(jì)算設(shè)備2在時(shí)間1處接收該消息。類似地,當(dāng)計(jì)算設(shè)備2在時(shí)間2處發(fā)送消息2時(shí),該消息在計(jì)算設(shè)備1在時(shí)間3處接收到它之前經(jīng)過(guò)代理服務(wù)器。每當(dāng)代理服務(wù)器轉(zhuǎn)發(fā)或接收消息時(shí),它可復(fù)位時(shí)鐘。例如,當(dāng)代理服務(wù)器轉(zhuǎn)發(fā)消息1時(shí),它將時(shí)鐘值復(fù)位為0。類似地,當(dāng)代理服務(wù)器接收到消息2時(shí),它將時(shí)鐘值復(fù)位到0。時(shí)鐘值可例如響應(yīng)于系統(tǒng)時(shí)鐘而自動(dòng)遞增。若時(shí)鐘值超過(guò)超時(shí)值,則代理服務(wù)器可關(guān)閉與會(huì)話相關(guān)聯(lián)的連接。在所示的示例中,計(jì)算設(shè)備1也許無(wú)法在時(shí)鐘值超過(guò)超時(shí)值之后發(fā)送消息3。
      圖9是示出一實(shí)施例中的消息流的消息流圖。在所示的實(shí)施例中,計(jì)算設(shè)備1和2已經(jīng)在時(shí)間0和3之間交換了消息1和2,如圖8中所示并在上文中所解釋的。在時(shí)間4處,計(jì)算設(shè)備1在識(shí)別出超時(shí)即將來(lái)臨(圖中用虛線表示)之后,可在時(shí)間5所表示的超時(shí)之前將心跳消息發(fā)送到計(jì)算設(shè)備2。在發(fā)送心跳消息之后,代理服務(wù)器可復(fù)位時(shí)鐘,因此,計(jì)算設(shè)備1能夠在時(shí)間6處發(fā)送消息3,這是因?yàn)榇矸?wù)器還沒(méi)有關(guān)閉連接。通過(guò)在代理服務(wù)器超時(shí)之前發(fā)送心跳消息,系統(tǒng)能夠維持計(jì)算設(shè)備1和2之間的連接。發(fā)送心跳消息的計(jì)算設(shè)備可能需要試圖在心跳消息接收者的時(shí)鐘值也不超過(guò)超時(shí)值的充足時(shí)間內(nèi)發(fā)送心跳消息。
      圖10是示出一實(shí)施例中的消息流的框圖。在所示的實(shí)施例中,發(fā)送者計(jì)算設(shè)備1000已經(jīng)打開(kāi)了與接收者計(jì)算設(shè)備1002的SIP會(huì)話。當(dāng)發(fā)送者計(jì)算設(shè)備通過(guò)其應(yīng)用/SIP層1004來(lái)發(fā)送SIP消息1時(shí),傳輸層1006可將消息分割成兩段S1和S2。為防止超時(shí),發(fā)送者計(jì)算設(shè)備可發(fā)送心跳消息S3。該心跳消息可包含回車、換行,或者兩者兼有,或者表示可被應(yīng)用程序忽略的心跳消息這樣的其它信息。然后,接收者計(jì)算設(shè)備可發(fā)送SIP消息2,它被傳輸層1016分割成傳輸消息S4、S5和S6。被分割的消息可以有各種大小。
      在一實(shí)施例中,計(jì)算設(shè)備可在某些連接中發(fā)送心跳消息,并可將另一機(jī)制用于另一個(gè)連接來(lái)維持其連接。例如,計(jì)算設(shè)備可在將消息發(fā)送到其自己的“宿主(home)”服務(wù)器或與之相連的其它計(jì)算設(shè)備時(shí)使用心跳消息,這是因?yàn)樗拗鞣?wù)器能夠?qū)⑿奶⑴c計(jì)算設(shè)備的連接相關(guān)聯(lián),并處存該關(guān)聯(lián)指示。通過(guò)這樣做,若連接隨后丟失的話,服務(wù)器能夠有效地更新計(jì)算設(shè)備的存在信息。計(jì)算設(shè)備可在這樣做有利時(shí)在其它連接中發(fā)送REGISTER器消息。例如,計(jì)算設(shè)備可在中間設(shè)備不能轉(zhuǎn)發(fā)心跳消息時(shí)發(fā)送REGISTER消息。
      盡管這里討論的特定示例涉及使用SIP和TCP,但是其它實(shí)施例可使用其它等效或類似的協(xié)議。
      在其上實(shí)現(xiàn)維持會(huì)話連接的技術(shù)的計(jì)算設(shè)備可包括中央處理單元、存儲(chǔ)器、輸入設(shè)備(如鍵盤和定位設(shè)備)、輸出設(shè)備(如顯示設(shè)備)以及存儲(chǔ)設(shè)備(如盤驅(qū)動(dòng)器)。存儲(chǔ)器和存儲(chǔ)設(shè)備是計(jì)算機(jī)可讀介質(zhì),它可包含實(shí)現(xiàn)安全系統(tǒng)的指令。另外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被儲(chǔ)存或通過(guò)諸如通信鏈路上的信號(hào)等數(shù)據(jù)傳輸介質(zhì)來(lái)發(fā)送??墒褂酶鞣N通信鏈路,如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)或者點(diǎn)對(duì)點(diǎn)撥號(hào)連接。
      圖1示出其中可實(shí)現(xiàn)維持會(huì)話連接的技術(shù)的合適操作環(huán)境的示例。該操作環(huán)境僅是合適操作環(huán)境的一個(gè)示例,并非暗示對(duì)本系統(tǒng)使用范圍或功能的任何限制。適合使用的其它公知的計(jì)算系統(tǒng)、環(huán)境和配置包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、包括“智能”蜂窩電話的手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括任何上面系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境,等等。
      可在諸如由一個(gè)或多個(gè)計(jì)算機(jī)或其它設(shè)備執(zhí)行的程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述用于維持會(huì)話連接的技術(shù)。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。通常,程序模塊的功能可如各實(shí)施例中所需的被組合或分布。
      如前述,應(yīng)當(dāng)認(rèn)識(shí)到,為說(shuō)明的目的,此處已經(jīng)描述了本發(fā)明的具體實(shí)施例,但是在不背離本發(fā)明的精神和范圍的前提下,可做出不同的修改。因此,本發(fā)明只受到所附權(quán)利要求書的限制。
      權(quán)利要求
      1.一種由計(jì)算設(shè)備執(zhí)行用于維持會(huì)話連接的方法,包含使用第一協(xié)議打開(kāi)與第二計(jì)算設(shè)備的會(huì)話,所述會(huì)話具有連接;以及使用第二協(xié)議發(fā)送心跳消息,其中,所述第一協(xié)議由數(shù)據(jù)通信棧中高于所述第二協(xié)議的較高層使用,所述心跳消息是所述第二協(xié)議的有效消息,但可被所述第一協(xié)議忽略,并且發(fā)送所述心跳消息維持所述會(huì)話連接。
      2.如權(quán)利要求1所述的方法,其特征在于,所述心跳消息包含回車和換行。
      3.如權(quán)利要求1所述的方法,其特征在于,所述心跳消息在消息時(shí)鐘到期之前被發(fā)送。
      4.如權(quán)利要求3所述的方法,其特征在于,所述消息時(shí)鐘測(cè)量自從前一消息被發(fā)送或接收以來(lái)已經(jīng)過(guò)的時(shí)間。
      5.如權(quán)利要求3所述的方法,其特征在于,所述消息時(shí)鐘涉及由數(shù)據(jù)通信棧的傳輸層發(fā)送或接收的消息。
      6.如權(quán)利要求1所述的方法,其特征在于,所述第一協(xié)議是會(huì)話發(fā)起協(xié)議。
      7.如權(quán)利要求6所述的方法,其特征在于,所述第二協(xié)議是傳輸控制協(xié)議。
      8.如權(quán)利要求6所述的方法,其特征在于,所述第二協(xié)議是TCP/IP。
      9.如權(quán)利要求1所述的方法,其特征在于,所述心跳消息被周期性地發(fā)送,其中,所述周期性是超時(shí)值的函數(shù)。
      10.如權(quán)利要求1所述的方法,其特征在于,所述心跳消息在缺少所述第一協(xié)議的消息時(shí)被發(fā)送。
      11.一種計(jì)算可讀介質(zhì),其內(nèi)容促使計(jì)算系統(tǒng)執(zhí)行一種方法,所述方法包含使用第一協(xié)議來(lái)打開(kāi)與第二計(jì)算設(shè)備的會(huì)話,所述會(huì)話具有連接;使用所述第一協(xié)議來(lái)發(fā)送消息,其中,所述消息被傳輸層分割成第二協(xié)議的一組消息;以及使用第二協(xié)議來(lái)發(fā)送心跳消息,其中,所述第一協(xié)議由數(shù)據(jù)通信棧中高于所述第二協(xié)議的較高層使用,所述心跳消息是所述第二協(xié)議的有效消息,但是它不能被提供到使用所述第一協(xié)議的應(yīng)用程序,而且發(fā)送所述心跳消息維持所述會(huì)話連接。
      12.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述心跳消息在使用所述第一協(xié)議發(fā)送消息之后經(jīng)過(guò)了一段時(shí)間時(shí)被發(fā)送。
      13.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述心跳消息被周期性地發(fā)送,其中,所述周期性是超時(shí)值的函數(shù)。
      14.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述心跳消息包含回車和換行。
      15.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述心跳消息在消息時(shí)鐘過(guò)期之前被發(fā)送。
      16.如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述消息時(shí)鐘測(cè)量自從前一消息被發(fā)送或接收以來(lái)已經(jīng)過(guò)的時(shí)間。
      17.如權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述消息時(shí)鐘涉及由數(shù)據(jù)通信棧的傳輸層發(fā)送或接收的消息。
      18.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第一協(xié)議是會(huì)話發(fā)起協(xié)議。
      19.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第二協(xié)議是傳輸控制協(xié)議。
      20.如權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第二協(xié)議是TCP/IP。
      21.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述心跳消息在缺少所述第一協(xié)議的消息時(shí)被發(fā)送。
      22.一種用于維持會(huì)話連接的系統(tǒng),包含接收消息的組件;以及確定所接收到的消息是否為心跳消息的組件,其中,所述心跳消息是較低層協(xié)議的有效消息,但是它對(duì)較高層協(xié)議沒(méi)有效果;以及,當(dāng)所接收到的消息不是心跳消息時(shí),轉(zhuǎn)發(fā)所述消息。
      23.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述心跳消息在接收到較高層協(xié)議的消息之后經(jīng)過(guò)了一段時(shí)間時(shí)被接收到,所述時(shí)間段少于超時(shí)值。
      24.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述心跳消息被周期性地接收,其中,所述周期性是超時(shí)值的函數(shù)。
      25.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述心跳消息包含回車和換行。
      26.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述心跳消息在消息時(shí)鐘過(guò)期之前被接收到。
      27.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述消息時(shí)鐘測(cè)量自從前一消息被發(fā)送或接收以來(lái)已經(jīng)過(guò)的時(shí)間。
      28.如權(quán)利要求26所述的系統(tǒng),其特征在于,所述消息時(shí)鐘涉及由數(shù)據(jù)通信棧的傳輸層發(fā)送或接收的消息。
      29.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述較高層協(xié)議是會(huì)話發(fā)起協(xié)議。
      30.如權(quán)利要求29所述的系統(tǒng),其特征在于,所述較低層協(xié)議是傳輸控制協(xié)議。
      31.如權(quán)利要求29所述的系統(tǒng),其特征在于,所述較低層協(xié)議是TCP/IP。
      32.如權(quán)利要求22所述的系統(tǒng),其特征在于,所接收到的消息在其不是心跳消息時(shí)使用較高層協(xié)議被轉(zhuǎn)發(fā)到應(yīng)用程序。
      33.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述心跳消息包含空白字符。
      34.如權(quán)利要求33所述的系統(tǒng),其特征在于,所述空白字符是換行。
      35.如權(quán)利要求33所述的系統(tǒng),其特征在于,所述空白字符是回車。
      全文摘要
      在一實(shí)施例中,提供了用于維持會(huì)話連接的技術(shù)。該技術(shù)在不發(fā)送消息可導(dǎo)致會(huì)話連接由于超時(shí)條件而被關(guān)閉時(shí)發(fā)送心跳消息。心跳消息是有效傳輸層消息,它可被數(shù)據(jù)通信棧的較高層處的協(xié)議忽略。例如,該技術(shù)可發(fā)送在其凈荷中僅包含回車和換行(“CRLF”)的TCP消息。因?yàn)門CP層將僅包含CRLF的消息認(rèn)為是有效TCP消息,所以諸如代理服務(wù)器這樣的中間計(jì)算設(shè)備可以不將心跳消息解釋為“保持活躍”消息,并可維持會(huì)話連接。
      文檔編號(hào)H04L29/08GK1716964SQ200510082260
      公開(kāi)日2006年1月4日 申請(qǐng)日期2005年6月30日 優(yōu)先權(quán)日2004年6月30日
      發(fā)明者J·E·安德瑞, M·馬爾卡良 申請(qǐng)人:微軟公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1