專利名稱:網(wǎng)絡(luò)連接的客戶機的改善的服務(wù)質(zhì)量的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在多個網(wǎng)絡(luò)客戶機和一個網(wǎng)絡(luò)服務(wù)器之間的面向連接的網(wǎng)絡(luò)連接。具體地,它涉及當改變服務(wù)器配置時將網(wǎng)絡(luò)客戶機與不兼容的客戶機配置斷開。
背景技術(shù):
網(wǎng)絡(luò)應(yīng)用使用用于在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間的通信的網(wǎng)絡(luò)協(xié)議。網(wǎng)絡(luò)協(xié)議可以被分類為兩個主要種類無連接協(xié)議;面向連接的協(xié)議。無連接協(xié)議是在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間沒有永久連接的異步協(xié)議。例如,萬維網(wǎng)(web)瀏覽器客戶機使用被稱為超文本傳送協(xié)議(HTTP)的無連接協(xié)議來與web服務(wù)器通信。使用HTTP,web瀏覽器客戶機可以向web服務(wù)器進行請求,諸如對于特定網(wǎng)頁的請求。web服務(wù)器接收作為獨立于所有其他請求的獨特請求的每個請求,并且獨立地響應(yīng)于每個請求。在web瀏覽器客戶機和web服務(wù)器之間存在連接,僅僅當發(fā)送請求和接收響應(yīng)時存在。因此,在web瀏覽器客戶機和web服務(wù)器之間沒有永久的連接用于多個請求和響應(yīng),因此,將HTTP當作無連接的協(xié)議。
相反,面向連接的協(xié)議提供了用于在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間傳輸數(shù)據(jù)的永久連接。面向連接的協(xié)議通常也包括用于錯誤、順序和流控制的功能(facilities)。錯誤控制指的是足以補償網(wǎng)絡(luò)固有的任何不可靠性的錯誤檢測、校正和確認的組合。順序控制保證網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器能夠以意欲接收通過網(wǎng)絡(luò)所接收的數(shù)據(jù)的適當順序來重建通過網(wǎng)絡(luò)所接收的數(shù)據(jù),并且在發(fā)送大量數(shù)據(jù)時是必要的。流控制保證網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器不使用太多的數(shù)據(jù)彼此超限。面向連接的協(xié)議的一個示例是提供這些功能的傳輸控制協(xié)議(TCP)。TCP的一個應(yīng)用是在網(wǎng)絡(luò)上的視頻流傳輸,其中,流傳輸視頻客戶機可以建立與流傳輸視頻服務(wù)器的永久連接,以使用TCP來接收流傳輸視頻數(shù)據(jù)。TCP連接被流傳輸視頻服務(wù)器使用來發(fā)送大的視頻數(shù)據(jù)的流,以由流傳輸視頻客戶機接收。面向連接的通信的其他應(yīng)用包括與蜂窩基站的移動電話連接、數(shù)字機頂盒與數(shù)字電視服務(wù)提供者的連接以及在網(wǎng)絡(luò)聊天客戶機之間的連接,諸如Lotus Sametime Connect(Lotus是國際商業(yè)機器公司的注冊商標)和AOL Instant Messenger(美國在線公司的注冊商標)。
面向連接的協(xié)議提供了在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間的有效和可靠通信,并且支持需要長的實況(lived)連接或可以在其上傳送大量數(shù)據(jù)的連接的應(yīng)用。用于在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間建立面向連接的連接的一種技術(shù)被概述如下。網(wǎng)絡(luò)服務(wù)器將包括服務(wù)器配置,它包括一個或多個服務(wù)器參數(shù)。類似地,網(wǎng)絡(luò)客戶機將包括客戶機配置,它包括一個或多個客戶機參數(shù)。例如,在流傳輸視頻應(yīng)用中,流傳輸視頻服務(wù)器可以包括服務(wù)器配置,它具有對應(yīng)于從服務(wù)器流傳輸?shù)囊曨l數(shù)據(jù)的幀速率的的視頻幀速率參數(shù)。類似地,流傳輸視頻客戶機可以包括客戶機配置,它具有對應(yīng)于所述客戶機能夠接收的視頻數(shù)據(jù)的最大幀速率的最大幀速率參數(shù)。網(wǎng)絡(luò)客戶機使用所述面向連接的協(xié)議來請求到網(wǎng)絡(luò)服務(wù)器的新的連接。這可以包含從網(wǎng)絡(luò)客戶機向網(wǎng)絡(luò)服務(wù)器發(fā)送的初始消息,它具有請求新連接的指示。網(wǎng)絡(luò)服務(wù)器使用連接接受消息來響應(yīng)所述初始消息,所述連接接受消息包括網(wǎng)絡(luò)服務(wù)器配置的細節(jié)。網(wǎng)絡(luò)客戶機接收所述網(wǎng)絡(luò)服務(wù)器配置,并且確定是否客戶機配置與服務(wù)器配置相兼容。例如,服務(wù)器配置可以包括超過客戶機配置的最大幀速率的幀速率,因此網(wǎng)絡(luò)服務(wù)器配置與網(wǎng)絡(luò)客戶機配置不兼容。如果客戶機配置與服務(wù)器配置兼容,則在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間建立連接。如果客戶機配置不與服務(wù)器配置兼容,則網(wǎng)絡(luò)客戶機可以放棄建立連接的請求。
在面向連接的網(wǎng)絡(luò)連接期間也可以改變服務(wù)器配置,并且這樣的改變可影響所連接的網(wǎng)絡(luò)客戶機。例如,一個或多個被連接的網(wǎng)絡(luò)客戶機可能與新的服務(wù)器配置——諸如流傳輸視頻服務(wù)器的幀速率參數(shù)的新值——不兼容。當改變服務(wù)器配置時,網(wǎng)絡(luò)服務(wù)器必須確定被連接的網(wǎng)絡(luò)客戶機的行為的過程(a course of action)。一種用于改變服務(wù)器配置的技術(shù)包含在改變服務(wù)器配置之前斷開所有連接的網(wǎng)絡(luò)客戶機。然后網(wǎng)絡(luò)客戶機能夠重新連接,并且確定是否客戶配置與新的服務(wù)器配置兼容。這種技術(shù)具有缺點與新的服務(wù)器配置兼容的所連接的網(wǎng)絡(luò)客戶機不必要地斷開,因此降低了由網(wǎng)絡(luò)客戶機提供的服務(wù)的質(zhì)量。一種用于改變服務(wù)器配置的替代技術(shù)涉及僅僅引入用于新連接的新的服務(wù)器配置?,F(xiàn)有的連接繼續(xù)在原始服務(wù)器配置下(即在改變所述配置之前)工作。這種替代技術(shù)具有優(yōu)點不斷開現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機。但是,這種替代技術(shù)具有缺點服務(wù)器必須支持用于現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機的原始服務(wù)器配置和用于新的網(wǎng)絡(luò)客戶機連接的新的服務(wù)器配置。這可增加網(wǎng)絡(luò)服務(wù)器的處理要求和降低網(wǎng)絡(luò)服務(wù)器的性能。而且,支持新的服務(wù)器配置的現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機繼續(xù)使用原始的服務(wù)器配置來與所述服務(wù)器通信。這是一個特殊的缺點其中,新的服務(wù)器配置提供相對于原始配置的優(yōu)點,所述優(yōu)點是有益于現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機的(諸如提高了通信速度)。
將會希望提供一種在下述情況下改變具有多個被連接的網(wǎng)絡(luò)客戶機的網(wǎng)絡(luò)服務(wù)器的服務(wù)器配置的方式不斷開與被改變的服務(wù)器配置兼容的所述被連接的網(wǎng)絡(luò)客戶機,并且不需要所述網(wǎng)絡(luò)服務(wù)器支持多個服務(wù)器配置。
發(fā)明內(nèi)容
網(wǎng)絡(luò)應(yīng)用使用用于在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間的通信的網(wǎng)絡(luò)協(xié)議。網(wǎng)絡(luò)協(xié)議可以被分類為兩個主要種類無連接協(xié)議;面向連接的協(xié)議。無連接協(xié)議是在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間沒有永久連接的異步協(xié)議。例如,web瀏覽器客戶機使用被稱為超文本傳送協(xié)議(HTTP)的無連接協(xié)議來與web服務(wù)器通信。使用HTTP,web瀏覽器客戶機可以向web服務(wù)器進行請求,諸如對于特定網(wǎng)頁的請求。web服務(wù)器接收作為獨立于所有其他請求的獨特請求的每個請求,并且獨立地響應(yīng)于每個請求。在web瀏覽器客戶機和web服務(wù)器之間存在連接,僅僅當發(fā)送請求和接收響應(yīng)時存在。因此,在web瀏覽器客戶機和web服務(wù)器之間沒有永久的連接用于多個請求和響應(yīng),因此,將HTTP當作無連接的協(xié)議。
相反,面向連接的協(xié)議提供了用于在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間傳輸數(shù)據(jù)的永久連接。面向連接的協(xié)議通常也包括用于錯誤、順序和流控制的功能。錯誤控制指的是足以補償網(wǎng)絡(luò)固有的任何不可靠性的錯誤檢測、校正和確認的組合。順序控制保證網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器能夠以意欲接收通過網(wǎng)絡(luò)所接收的數(shù)據(jù)的適當順序來重建通過網(wǎng)絡(luò)所接收的數(shù)據(jù),并且在發(fā)送大量數(shù)據(jù)時是必要的。流控制保證網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器不使用太多的數(shù)據(jù)彼此超限。面向連接的協(xié)議的一個示例是提供這些功能的傳輸控制協(xié)議(TCP)。TCP的一個應(yīng)用是在網(wǎng)絡(luò)上的視頻流傳輸,其中,流傳輸視頻客戶機可以建立與流傳輸視頻服務(wù)器的永久連接,以使用TCP來接收流傳輸視頻數(shù)據(jù)。TCP連接被流傳輸視頻服務(wù)器使用來發(fā)送大的視頻數(shù)據(jù)的流,以由流傳輸視頻客戶機接收。面向連接的通信的其他應(yīng)用包括與蜂窩基站的移動電話連接、數(shù)字機頂盒與數(shù)字電視服務(wù)提供者的連接以及在網(wǎng)絡(luò)聊天客戶機之間的連接,諸如Lotus Sametime Connect(Lotus是國際商業(yè)機器公司的注冊商標)和AOLInstant Messenger(美國在線公司的注冊商標)。
面向連接的協(xié)議提供了在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間的有效和可靠通信,并且支持需要長的實況(lived)連接或可以在其上傳送大量數(shù)據(jù)的連接的應(yīng)用。用于在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間建立面向連接的連接的一種技術(shù)被概述如下。網(wǎng)絡(luò)服務(wù)器將包括服務(wù)器配置,它包括一個或多個服務(wù)器參數(shù)。類似地,網(wǎng)絡(luò)客戶機將包括客戶機配置,它包括一個或多個客戶機參數(shù)。例如,在流傳輸視頻應(yīng)用中,流傳輸視頻服務(wù)器可以包括服務(wù)器配置,它具有對應(yīng)于從服務(wù)器流傳輸?shù)囊曨l數(shù)據(jù)的幀速率的的視頻幀速率參數(shù)。類似地,流傳輸視頻客戶機可以包括客戶機配置,它具有對應(yīng)于所述客戶機能夠接收的視頻數(shù)據(jù)的最大幀速率的最大幀速率參數(shù)。網(wǎng)絡(luò)客戶機使用所述面向連接的協(xié)議來請求到網(wǎng)絡(luò)服務(wù)器的新的連接。這可以包含從網(wǎng)絡(luò)客戶機向網(wǎng)絡(luò)服務(wù)器發(fā)送的初始消息,它具有請求新連接的指示。網(wǎng)絡(luò)服務(wù)器使用連接接受消息來響應(yīng)所述初始消息,所述連接接受消息包括網(wǎng)絡(luò)服務(wù)器配置的細節(jié)。網(wǎng)絡(luò)客戶機接收所述網(wǎng)絡(luò)服務(wù)器配置,并且確定是否客戶機配置與服務(wù)器配置相兼容。例如,服務(wù)器配置可以包括超過客戶機配置的最大幀速率的幀速率,因此網(wǎng)絡(luò)服務(wù)器配置與網(wǎng)絡(luò)客戶機配置不兼容。如果客戶機配置與服務(wù)器配置兼容,則在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間建立連接。如果客戶機配置不與服務(wù)器配置兼容,則網(wǎng)絡(luò)客戶機可以放棄建立連接的請求。
在面向連接的網(wǎng)絡(luò)連接期間也可以改變服務(wù)器配置,并且這樣的改變可影響所連接的網(wǎng)絡(luò)客戶機。例如,一個或多個被連接的網(wǎng)絡(luò)客戶機可能與新的服務(wù)器配置——諸如流傳輸視頻服務(wù)器的幀速率參數(shù)的新值——不兼容。當改變服務(wù)器配置時,網(wǎng)絡(luò)服務(wù)器必須確定被連接的網(wǎng)絡(luò)客戶機的行為的過程。一種用于改變服務(wù)器配置的技術(shù)包含在改變服務(wù)器配置之前斷開所有連接的網(wǎng)絡(luò)客戶機。然后網(wǎng)絡(luò)客戶機能夠重新連接,并且確定是否客戶配置與新的服務(wù)器配置兼容。這種技術(shù)具有缺點與新的服務(wù)器配置兼容的所連接的網(wǎng)絡(luò)客戶機不必要地斷開,因此降低了由網(wǎng)絡(luò)客戶機提供的服務(wù)的質(zhì)量。一種用于改變服務(wù)器配置的替代技術(shù)涉及僅僅引入用于新連接的新的服務(wù)器配置。現(xiàn)有的連接繼續(xù)在原始服務(wù)器配置下(即在改變所述配置之前)工作。這種替代技術(shù)具有優(yōu)點不斷開現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機。但是,這種替代技術(shù)具有缺點服務(wù)器必須支持用于現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機的原始服務(wù)器配置和用于新的網(wǎng)絡(luò)客戶機連接的新的服務(wù)器配置。這可增加網(wǎng)絡(luò)服務(wù)器的處理要求和降低網(wǎng)絡(luò)服務(wù)器的性能。而且,支持新的服務(wù)器配置的現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機繼續(xù)使用原始的服務(wù)器配置來與所述服務(wù)器通信。這是一個特殊的缺點其中,新的服務(wù)器配置提供相對于原始配置的優(yōu)點,所述優(yōu)點是有益于現(xiàn)有的被連接的網(wǎng)絡(luò)客戶機的(諸如提高了通信速度)。
將會希望提供一種在下述情況下改變具有多個被連接的網(wǎng)絡(luò)客戶機的網(wǎng)絡(luò)服務(wù)器的服務(wù)器配置的方式不斷開與被改變的服務(wù)器配置兼容的所述被連接的網(wǎng)絡(luò)客戶機,并且不需要所述網(wǎng)絡(luò)服務(wù)器支持多個服務(wù)器配置。
現(xiàn)在參見附圖僅僅通過舉例來說明本發(fā)明的一個優(yōu)選實施例,附圖中圖1是圖解現(xiàn)有技術(shù)中使用面向連接的協(xié)議而連接到網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)客戶機的示意圖;圖2是圖解在本發(fā)明的一個優(yōu)選實施例中使用面向連接的協(xié)議而連接到網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)客戶機的示意圖;圖3是圖解在本發(fā)明的一個優(yōu)選實施例中的包括流傳輸視頻客戶機的客戶計算機系統(tǒng)的示意圖,所述客戶機計算機系統(tǒng)使用TCP面向連接的協(xié)議而連接到包括流傳輸視頻服務(wù)器的服務(wù)器計算機系統(tǒng);以及圖4是圖解在本發(fā)明的一個優(yōu)選實施例中在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間通過網(wǎng)絡(luò)通信的方法的流程圖。
具體實施例方式
圖1是圖解在現(xiàn)有技術(shù)中使用面向連接的協(xié)議而連接到網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)客戶機的示意圖。網(wǎng)絡(luò)客戶機102是網(wǎng)絡(luò)應(yīng)用的客戶機組件的硬件或軟件實現(xiàn)。例如,網(wǎng)絡(luò)客戶機102是意欲接收流傳輸視頻數(shù)據(jù)的流傳輸視頻網(wǎng)絡(luò)客戶機?;蛘?,網(wǎng)絡(luò)客戶機102可以是移動電話或其他無線通信設(shè)備、數(shù)字機頂盒、包括網(wǎng)絡(luò)接口卡(NIC)或任何其他網(wǎng)絡(luò)連接設(shè)備的計算機系統(tǒng)。
網(wǎng)絡(luò)客戶機102包括客戶機通信組件104??蛻魴C通信組件104是在網(wǎng)絡(luò)客戶機102和其他網(wǎng)絡(luò)設(shè)備之間提供面向連接的網(wǎng)絡(luò)連接的網(wǎng)絡(luò)客戶機102的軟件或硬件組件。例如,客戶機通信組件104是TCP軟件庫或提供專用的面向連接的網(wǎng)絡(luò)協(xié)議的軟件庫。網(wǎng)絡(luò)客戶機102還包括客戶機配置106。客戶機配置106是對于網(wǎng)絡(luò)客戶機102的特定網(wǎng)絡(luò)應(yīng)用來說專用的一組客戶機參數(shù)。例如,如果網(wǎng)絡(luò)客戶機102是流傳輸視頻網(wǎng)絡(luò)客戶機,則客戶機配置106可以包括對應(yīng)于可以由網(wǎng)絡(luò)客戶機102接收的視頻數(shù)據(jù)的最大幀速率的最大幀速率參數(shù)?;蛘?,客戶機配置106可以包括與數(shù)據(jù)壓縮標準、數(shù)據(jù)加密標準、信號強度要求、數(shù)據(jù)通信速度、數(shù)據(jù)通信速率、諸如音頻或視頻編碼標準之類的媒體編碼標準相關(guān)的參數(shù)或由網(wǎng)絡(luò)客戶機102要求的任何其他參數(shù)。而且,客戶機配置106可以包括特定業(yè)務(wù)應(yīng)用特有的參數(shù),諸如金融細節(jié)(包括金融限制)、授權(quán)細節(jié)(諸如訪問控制列表)和業(yè)務(wù)規(guī)則??蛻魴C配置106被存儲在網(wǎng)絡(luò)客戶機102的存儲器中,諸如易失性隨機存取存儲器、非易失性存儲器或盤存儲設(shè)備。
網(wǎng)絡(luò)客戶機102通過網(wǎng)絡(luò)連接110而連接到網(wǎng)絡(luò)服務(wù)器108。網(wǎng)絡(luò)服務(wù)器108是網(wǎng)絡(luò)應(yīng)用的服務(wù)器組件的硬件或軟件實現(xiàn)。例如,網(wǎng)絡(luò)服務(wù)器108是用于發(fā)送流傳輸視頻數(shù)據(jù)的流傳輸視頻網(wǎng)絡(luò)服務(wù)器。或者,網(wǎng)絡(luò)服務(wù)器108可以是移動電話或任何其他無線通信訪問點、數(shù)字機頂盒服務(wù)提供器、包括網(wǎng)絡(luò)接口卡(NIC)或任何其他網(wǎng)絡(luò)連接的服務(wù)器設(shè)備的計算機系統(tǒng)。網(wǎng)絡(luò)連接110是在網(wǎng)絡(luò)客戶機102的客戶機通信組件104和網(wǎng)絡(luò)服務(wù)器108的服務(wù)器通信組件112之間的面向連接的網(wǎng)絡(luò)連接。使用面向連接的網(wǎng)絡(luò)協(xié)議來實現(xiàn)網(wǎng)絡(luò)連接110。網(wǎng)絡(luò)連接110可以是面向連接的網(wǎng)絡(luò)連接,它工作在無連接協(xié)議上,由客戶機通信組件104和服務(wù)器通信組件112聯(lián)合提供面向連接的服務(wù)。由網(wǎng)絡(luò)連接110使用的面向連接的協(xié)議的一個示例是TCP。服務(wù)器通信組件112是在網(wǎng)絡(luò)服務(wù)器108和其他網(wǎng)絡(luò)設(shè)備之間提供面向連接的網(wǎng)絡(luò)連接的網(wǎng)絡(luò)服務(wù)器108的軟件或硬件組件。網(wǎng)絡(luò)服務(wù)器108還包括服務(wù)器配置114。所述服務(wù)器配置114是對于網(wǎng)絡(luò)服務(wù)器108的特定網(wǎng)絡(luò)應(yīng)用專用的一組服務(wù)器參數(shù)。例如,如果網(wǎng)絡(luò)服務(wù)器108是流傳輸視頻網(wǎng)絡(luò)服務(wù)器,則服務(wù)器配置114可以包括對應(yīng)于由網(wǎng)絡(luò)服務(wù)器108分發(fā)的視頻數(shù)據(jù)流的幀速率的幀速率參數(shù)?;蛘?,服務(wù)器配置114可以包括上面相對于客戶機配置106所述的參數(shù)的任何一個。服務(wù)器配置114被存儲在網(wǎng)絡(luò)服務(wù)器108的存儲器中,諸如易失性隨機存取存儲器、非易失性存儲器或磁存儲設(shè)備或非磁存儲設(shè)備。網(wǎng)絡(luò)服務(wù)器108還包括服務(wù)器配置器116,用于改變服務(wù)器配置114。服務(wù)器配置器116可以是網(wǎng)絡(luò)服務(wù)器108的硬件或軟件組件,諸如用于向用戶提供用戶界面以指定新的服務(wù)器配置114的軟件應(yīng)用。
在使用中,網(wǎng)絡(luò)客戶機102使用面向連接的網(wǎng)絡(luò)協(xié)議來建立到網(wǎng)絡(luò)服務(wù)器108的網(wǎng)絡(luò)連接110。網(wǎng)絡(luò)連接110的建立可以包括客戶機通信組件104向請求建立新網(wǎng)絡(luò)連接的服務(wù)器通信組件112發(fā)送初始化消息。響應(yīng)于所述初始化消息,服務(wù)器通信組件112向具有服務(wù)器配置114的細節(jié)的客戶機通信組件104提供響應(yīng)消息。客戶機通信組件104接收服務(wù)器配置114的細節(jié),并且確定是否客戶機配置106與服務(wù)器配置114兼容。如果客戶機配置106與服務(wù)器配置114兼容,則在網(wǎng)絡(luò)客戶機102和網(wǎng)絡(luò)服務(wù)器108之間建立網(wǎng)絡(luò)連接110。如果客戶機配置106與服務(wù)器配置114不兼容,則網(wǎng)絡(luò)客戶機102可放棄建立網(wǎng)絡(luò)連接110的請求。隨后,如果成功地建立了網(wǎng)絡(luò)連接110,則網(wǎng)絡(luò)客戶機102能夠使用面向連接的協(xié)議通過網(wǎng)絡(luò)連接110向網(wǎng)絡(luò)服務(wù)器108發(fā)送數(shù)據(jù)和從網(wǎng)絡(luò)服務(wù)器108接收數(shù)據(jù)。隨后,當服務(wù)器配置器116改變服務(wù)器配置114時,由關(guān)閉網(wǎng)絡(luò)連接110的服務(wù)器通信組件112斷開網(wǎng)絡(luò)客戶機102。隨后,網(wǎng)絡(luò)客戶機102能夠試圖重建網(wǎng)絡(luò)連接110。
圖2是圖解在本發(fā)明的一個優(yōu)選實施例中使用面向連接的協(xié)議而連接到網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)客戶機的示意圖。圖2的許多元件與相對于圖1所述的那些相同,在此在圖2的說明中將不進一步說明它們。圖2的網(wǎng)絡(luò)服務(wù)器208還包括客戶機配置檢測器218,它檢測客戶機配置206,并且產(chǎn)生客戶機配置220的拷貝。在所述優(yōu)選實施例中,客戶機配置檢測器218是使用諸如TCP API之類的應(yīng)用程序接口(API)可操作來與服務(wù)器通信組件212通信的軟件模塊?;蛘撸蛻魴C配置檢測器218可以是服務(wù)器通信組件212的組件??蛻魴C配置220的拷貝被存儲在網(wǎng)絡(luò)服務(wù)器208的存儲器中,諸如易失性隨機存取存儲器、非易失性存儲器或磁存儲設(shè)備或非磁存儲設(shè)備??蛻魴C配置220的拷貝可以是客戶機配置206的完全拷貝,或者可替代地可以是客戶機配置206的僅僅相關(guān)參數(shù)的部分拷貝。例如,如果網(wǎng)絡(luò)服務(wù)器208是流傳輸視頻服務(wù)器,則客戶機配置檢測器218可以僅僅復(fù)制與流傳輸視頻相關(guān)的客戶機配置206的參數(shù)。網(wǎng)絡(luò)服務(wù)器208還包括比較器222,用于將客戶機配置220的拷貝與服務(wù)器配置214相比較。在所述優(yōu)選實施例中,比較器222是軟件模塊。比較器222確定是否客戶機配置220的所述拷貝與服務(wù)器配置214兼容。由比較器222進行的這個確定的結(jié)果被服務(wù)器通信組件212使用。
在使用中,網(wǎng)絡(luò)客戶機202使用參照如上的圖1所述的現(xiàn)有技術(shù)的方法來建立到網(wǎng)絡(luò)服務(wù)器208的網(wǎng)絡(luò)連接210。在建立網(wǎng)絡(luò)連接210時,客戶機配置檢測器218檢測客戶機配置206。這個檢測可以使用諸如TCP API之類的API來實現(xiàn),其請求服務(wù)器通信組件212發(fā)送網(wǎng)絡(luò)消息給客戶機通信組件204請求客戶機配置206的細節(jié)。客戶機通信組件204隨后通過網(wǎng)絡(luò)連接210向所述服務(wù)器通信組件發(fā)送客戶機配置206的細節(jié)?;蛘?,客戶機配置檢測器218可以通過下述方式來檢測客戶機配置206請求服務(wù)器通信組件212向客戶機通信組件204發(fā)送“采樣”網(wǎng)絡(luò)消息。跟隨這些采樣網(wǎng)絡(luò)消息的、由服務(wù)器通信組件212從客戶機通信組件204接收的響應(yīng),可以由客戶機配置檢測器218使用來確定客戶機配置206。例如,如果客戶機配置206包括由客戶機通信組件204所發(fā)送的消息的數(shù)據(jù)傳送速度的參數(shù),則客戶機配置檢測器218可以請求服務(wù)器通信組件212向客戶機通信組件204發(fā)送采樣消息,并且請求服務(wù)器通信組件212確定由客戶機通信組件204發(fā)送的響應(yīng)消息的數(shù)據(jù)傳送速度。以這種方式,客戶機配置檢測器218可以確定在客戶機配置206中指定的數(shù)據(jù)傳送速度。然后客戶機配置檢測器218在網(wǎng)絡(luò)服務(wù)器的存儲器中建立客戶機配置220的拷貝。隨后,服務(wù)器配置器216改變服務(wù)器配置214。例如,在服務(wù)器配置214中的參數(shù)的值被改變?yōu)樾轮?。然后比較器222確定是否客戶機配置220的拷貝與所改變的服務(wù)器配置214兼容。隨后,只有當比較器222確定客戶機配置220的拷貝與服務(wù)器配置214不兼容時,服務(wù)器通信組件212斷開與網(wǎng)絡(luò)客戶機202的連接。因此,以這種方式,網(wǎng)絡(luò)客戶機202只有當客戶機配置206與所改變的服務(wù)器配置214不兼容時才與網(wǎng)絡(luò)服務(wù)器208斷開連接。
現(xiàn)在參照圖3和4來說明用于流傳輸視頻應(yīng)用的所述優(yōu)選實施例。圖3是圖解在本發(fā)明的一個優(yōu)選實施例中的包括流傳輸視頻客戶機的客戶機計算機系統(tǒng)的示意圖,所述客戶機計算機系統(tǒng)使用TCP面向連接的協(xié)議而連接到包括流傳輸視頻服務(wù)器的服務(wù)器計算機系統(tǒng)。圖3的各元素是參照圖2所述的各元素的具體示例。具體地,圖3包括使用TCP網(wǎng)絡(luò)連接310而連接到服務(wù)器計算機系統(tǒng)308的三個客戶機計算機系統(tǒng)302a、302b和302c。每個計算機系統(tǒng)包括流傳輸視頻客戶機304和最大幀速率參數(shù)306。流傳輸視頻客戶機304是通信軟件模塊,它被配置來接收視頻數(shù)據(jù)的數(shù)據(jù)流,以由呈現(xiàn)模塊(未示出)使用來用于在屏幕上顯示視頻數(shù)據(jù)。流傳輸視頻客戶機304提供了用于錯誤、順序和流控制的功能以保證視頻數(shù)據(jù)無錯誤地和以正確的順序到達。例如,流傳輸視頻客戶機304是Microsoft Media Player(微軟媒體播放器,Microsoft是微軟公司的注冊商標)。最大幀速率參數(shù)306是被分配一個數(shù)值的參數(shù),所述數(shù)值對應(yīng)于客戶機計算機系統(tǒng)302能夠接收和顯示的視頻數(shù)據(jù)的最大幀速率。因此,具有超過計算機系統(tǒng)302a的最大幀速率參數(shù)306a的幀速率的視頻數(shù)據(jù)不與計算機系統(tǒng)302a兼容。
服務(wù)器計算機系統(tǒng)308包括視頻數(shù)據(jù)324,它被記錄在所述服務(wù)器計算機系統(tǒng)的存儲設(shè)備上,諸如硬盤(fixed disk)存儲設(shè)備。使用視頻編碼標準來編碼視頻數(shù)據(jù)324,所述視頻編碼標準諸如移動圖像專家組標準(MPEG)或QuickTime之一(MPEG是移動圖像專家組公司的注冊商標,QuickTime是蘋果計算機公司的注冊商標)。服務(wù)器計算機系統(tǒng)308還包括流傳輸視頻服務(wù)器312,它是一種通信軟件模塊,被配置來發(fā)送視頻數(shù)據(jù)324的數(shù)據(jù)流以由每個客戶機計算機302接收。流傳輸視頻服務(wù)器312提供了錯誤、順序和流控制的功能以保證視頻數(shù)據(jù)324無錯誤地和以正確的順序到達。例如,流傳輸視頻服務(wù)器312是由Unreal流傳輸技術(shù)組開發(fā)的Unreal Media Server(Unreal媒體服務(wù)器)。服務(wù)器計算機系統(tǒng)308也包括服務(wù)器幀速率參數(shù)314,它被分配對應(yīng)于視頻數(shù)據(jù)324的幀速率的一數(shù)值??梢酝ㄟ^流傳輸視頻服務(wù)器配置器316來改變服務(wù)器幀速率參數(shù)314的值。服務(wù)器計算機系統(tǒng)308也包括客戶機幀速率檢測器318,它檢測每個客戶機計算機系統(tǒng)302的最大幀速率306,并且將所述最大幀速率在服務(wù)器計算機系統(tǒng)308的存儲器中存儲為客戶機幀速率320的拷貝。例如,這種檢測可以使用諸如TCPAPI之類的API來實施,其請求流傳輸視頻服務(wù)器312發(fā)送網(wǎng)絡(luò)消息給流傳輸視頻客戶機304請求客戶機配置306的細節(jié)。流傳輸視頻客戶機304隨后通過TCP網(wǎng)絡(luò)連接310而向流傳輸視頻服務(wù)器312發(fā)送客戶機配置306的細節(jié)。在服務(wù)器計算機系統(tǒng)308的存儲器中以表數(shù)據(jù)結(jié)構(gòu)來組織所述客戶機幀速率320的拷貝,并且在客戶機幀速率320的拷貝中的每個幀速率包括一指示符,用于指示所述幀速率對應(yīng)于客戶機302a、302b或302c的哪個?;蛘?,可以在服務(wù)器計算機系統(tǒng)308的存儲器中以文件、數(shù)據(jù)庫或以任何其他數(shù)據(jù)結(jié)構(gòu)來存儲客戶機幀速率320的拷貝。當通過流傳輸視頻服務(wù)器配置器316來改變服務(wù)器幀速率314的值時,比較器322確定在所述客戶機幀速率320的拷貝中的每個幀速率是否與服務(wù)器幀速率314兼容。如果在所述客戶機幀速率320的拷貝中的客戶機幀速率具有低于服務(wù)器幀速率314的數(shù)值,則認為其不兼容。如果比較器322確定在客戶機幀速率320的拷貝中的客戶機幀速率不與所改變的服務(wù)器幀速率314兼容,則流傳輸視頻服務(wù)器312斷開與對應(yīng)于所述不兼容的幀速率的客戶機302的連接。以這種方式,對于服務(wù)器幀速率314的改變導(dǎo)致僅僅具有最大幀速率參數(shù)306——它與所改變的服務(wù)器幀速率314不兼容——的那些客戶機計算機系統(tǒng)302斷開連接。
圖4是圖解在本發(fā)明的一個優(yōu)選實施例中的、通過網(wǎng)絡(luò)在網(wǎng)絡(luò)客戶機和網(wǎng)絡(luò)服務(wù)器之間通信的方法的流程圖。將針對圖3的客戶機計算機系統(tǒng)302和服務(wù)器計算機系統(tǒng)308的配置來說明圖4的方法。在步驟402,客戶機計算機系統(tǒng)302使用諸如TCP之類的面向連接的協(xié)議而連接到服務(wù)器計算機系統(tǒng)308。可以使用參照圖1如上述的現(xiàn)有技術(shù)的建立連接的方法來進行這些連接。在步驟404,客戶機幀速率檢測器318檢測客戶機302的每個的最大幀速率306,并且在服務(wù)器計算機系統(tǒng)308的存儲器中產(chǎn)生客戶機幀速率320的拷貝。隨后,在步驟406,流傳輸視頻服務(wù)器配置器316將服務(wù)器幀速率314的值改變?yōu)樾轮?。在步驟408,啟動循環(huán)通過在客戶機幀速率320的拷貝中的、用于每個客戶機計算機系統(tǒng)302的每個客戶機幀速率。在步驟410,對于在客戶機幀速率320的拷貝中的、用于每個客戶機計算機系統(tǒng)302的每個客戶機幀速率,由比較器322確定客戶機幀速率是否滿足服務(wù)器幀速率314的所述新值。如果比較器322確定所述幀速率不與服務(wù)器幀速率314的所述新值兼容,則流傳輸視頻服務(wù)器312在步驟412斷開對應(yīng)于所述不兼容的幀速率的客戶機計算機系統(tǒng)302。步驟416重復(fù)步驟408的循環(huán),直到已經(jīng)處理了在客戶機幀速率320的拷貝中的所有幀速率。以這種方式,對于服務(wù)器幀速率314的改變導(dǎo)致僅僅具有最大幀速率參數(shù)314——它與服務(wù)器幀速率314的新值不兼容——的那些客戶機計算機系統(tǒng)302斷開連接。因此,具有最大幀速率參數(shù)306——它與服務(wù)器幀速率參數(shù)306的新值兼容——的那些客戶機計算機系統(tǒng)302繼續(xù)連接到服務(wù)器計算機系統(tǒng)308。
權(quán)利要求
1.一種用于網(wǎng)絡(luò)通信的方法,所述網(wǎng)絡(luò)通信由網(wǎng)絡(luò)服務(wù)器控制、使用面向連接的協(xié)議通過網(wǎng)絡(luò)與網(wǎng)絡(luò)客戶機進行,其中,所述網(wǎng)絡(luò)服務(wù)器具有第一服務(wù)器配置,而所述網(wǎng)絡(luò)客戶機具有客戶機配置,所述方法包括以下步驟檢測所述網(wǎng)絡(luò)客戶機配置;將所述第一服務(wù)器配置替換為第二服務(wù)器配置;響應(yīng)于所述客戶機配置與第二服務(wù)器配置不兼容的判定,斷開所述網(wǎng)絡(luò)客戶機。
2.按照權(quán)利要求1的方法,其中,使用無連接的協(xié)議通過網(wǎng)絡(luò)連接來提供面向連接的協(xié)議。
3.按照權(quán)利要求1的方法,其中,通過所述網(wǎng)絡(luò)服務(wù)器來進行所述客戶機配置與所述第二服務(wù)器配置不兼容的判定。
4.按照權(quán)利要求1的方法,其中,所述檢測步驟還包括步驟在網(wǎng)絡(luò)服務(wù)器接收消息,其中,所述消息包括客戶機配置。
5.按照權(quán)利要求1的方法,其中,所述客戶機配置、第一服務(wù)器配置和第二服務(wù)器配置包括數(shù)據(jù)壓縮參數(shù)。
6.按照權(quán)利要求1的方法,其中,所述客戶機配置、第一服務(wù)器配置和第二服務(wù)器配置包括數(shù)據(jù)加密參數(shù)。
7.按照權(quán)利要求1的方法,其中,所述客戶機配置、第一服務(wù)器配置和第二服務(wù)器配置包括信號強度參數(shù)。
8.按照權(quán)利要求1的方法,其中,所述客戶機配置、第一服務(wù)器配置和第二服務(wù)器配置包括數(shù)據(jù)通信速度參數(shù)。
9.按照權(quán)利要求1的方法,其中,所述客戶機配置、第一服務(wù)器配置和第二服務(wù)器配置包括媒體編碼參數(shù)。
10.按照權(quán)利要求1的方法,其中,所述客戶機配置、第一服務(wù)器配置和第二服務(wù)器配置包括業(yè)務(wù)應(yīng)用參數(shù)。
11.一種網(wǎng)絡(luò)服務(wù)器,用于通過網(wǎng)絡(luò)與網(wǎng)絡(luò)客戶機通信,所述網(wǎng)絡(luò)服務(wù)器包括客戶機配置檢測器,用于檢測所述網(wǎng)絡(luò)客戶機的配置;服務(wù)器配置器,用于改變所述網(wǎng)絡(luò)服務(wù)器的配置;比較器,用于確定所述網(wǎng)絡(luò)客戶機的配置與所述網(wǎng)絡(luò)服務(wù)器的配置是否兼容;以及服務(wù)器通信組件,用于使用面向連接的協(xié)議來與所述網(wǎng)絡(luò)客戶機連接,其中,所述服務(wù)器通信組件可操作來響應(yīng)于所述比較器而斷開與所述網(wǎng)絡(luò)客戶機的連接。
12.按照權(quán)利要求11的網(wǎng)絡(luò)服務(wù)器,其中,通過使用無連接協(xié)議的網(wǎng)絡(luò)連接來提供面向連接的協(xié)議。
13.一種計算機程序產(chǎn)品,包括在計算機可讀存儲介質(zhì)上存儲的計算機程序代碼,所述計算機程序代碼在數(shù)據(jù)處理系統(tǒng)上被執(zhí)行時,指令所述數(shù)據(jù)處理系統(tǒng)執(zhí)行按照權(quán)利要求1的方法。
全文摘要
一種網(wǎng)絡(luò)服務(wù)器,用于通過網(wǎng)絡(luò)與網(wǎng)絡(luò)客戶機通信,所述網(wǎng)絡(luò)服務(wù)器包括客戶機配置檢測器(218),用于檢測所述網(wǎng)絡(luò)客戶機的配置;服務(wù)器配置器(216),用于改變所述網(wǎng)絡(luò)服務(wù)器的配置;比較器(222),用于確定所述網(wǎng)絡(luò)客戶機的配置與所述網(wǎng)絡(luò)服務(wù)器的配置是否兼容;以及服務(wù)器通信組件(212),用于使用面向連接的協(xié)議與所述網(wǎng)絡(luò)客戶機連接,其中,所述服務(wù)器通信組件可操作來響應(yīng)于所述比較器而斷開與所述網(wǎng)絡(luò)客戶機的連接。
文檔編號H04L29/06GK1879387SQ200480033454
公開日2006年12月13日 申請日期2004年12月2日 優(yōu)先權(quán)日2003年12月6日
發(fā)明者菲利普·布萊克, 安德魯·J·斯坦福-克拉克, 斯蒂芬·J·托德 申請人:國際商業(yè)機器公司