蜂窩網絡中的連續高速緩存服務的制作方法
【專利摘要】本申請涉及蜂窩網絡中的連續高速緩存服務。提供了用于把對象傳送到移動設備的技術。響應移動設備從由第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,第一高速緩存把存儲在第一高速緩存中的對象傳送到第二高速緩存。第一高速緩存向第二高速緩存傳送使第二高速緩存把對象轉發到第二區域中的移動設備的指令。
【專利說明】蜂窩網絡中的連續高速緩存服務
【技術領域】
[0001]示例性實施例涉及通信,而且更具體地說,涉及網絡中的通信。
【背景技術】
[0002]蜂窩網絡是經稱為小區的陸地區域分布的無線電網絡,每個小區都由至少一個固定位置的收發器(稱為蜂窩站或者基站)提供服務。當結合到一起時,這些小區對廣大的地理區域提供無線電覆蓋。這使得大量便攜式收發器(例如,包括智能電話在內的移動電話和移動計算機)能夠經基站彼此通信并且與網絡中任何地方的固定收發器和電話通信,即使有些收發器在傳送過程中移動通過多于一個小區也是如此。
[0003]如今,3G網絡(以及4G網絡)提供高速數據傳輸。這允許各種各樣的手機特征,例如高速互聯網、音頻與視頻流傳輸、和甚至視頻會議。3G網絡采用各種無線技術,例如W-CDMA、W1-MAX、CDMA (碼分多址訪問)2000、EDGE (GSM (全球移動通信系統)增強數據率演進或者全球增強數據率演進)等。
【發明內容】
[0004]根據一種示例性實施例,提供了一種用于把對象傳送到移動設備的方法。響應移動設備從由第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,第一高速緩存把存儲在第一高速緩存中的對象傳送到第二高速緩存。第一高速緩存向第二高速緩存傳送使第二高速緩存把對象轉發到第二區域中的移動設備的指令。
[0005]根據一種示例性實施例,提供了一種用于把對象傳送到移動設備的方法。響應移動設備從由存儲相同對象的第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,第二高速緩存從第一高速緩存接收所述相同對象的傳送上下文。第二高速緩存本地存儲與第一高速緩存相同的對象。根據從第一高速緩存接收到的傳送上下文,第二高速緩存把本地存儲在第二高速緩存中的相同對象傳送到第二區域中的移動設備。
[0006]根據一種示例性實施例,提供了一種用于把對象傳送到移動設備的系統。所述系統包括網絡以及配置成經網絡進行通信并且存儲對象的第一高速緩存。響應移動設備從由第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,第一高速緩存配置成把存儲在第一高速緩存中的對象傳送到第二高速緩存。第一高速緩存配置成向從第一高速緩存接收對象的第二高速緩存傳送指令,其中所述指令使第二高速緩存把對象轉發到第二區域中的移動設備。
[0007]附加的特征是通過本公開內容的教義實現的。根據其它實施例的其它系統、方法、裝置和/或計算機程序產品在本文具體描述并且被認為是所保護的發明的一部分。為了更好地理解示例性實施例與特征,參考描述與附圖。
【專利附圖】
【附圖說明】[0008]被認為是本發明的主題在本說明書結束部分的權利要求中特別指出并明確地要求保護。結合附圖閱讀以下具體描述,本公開內容的上述及其它特征是顯然的,其中:
[0009]圖1繪出了根據一種示例性實施例的用于連續高速緩存內容服務的系統。
[0010]圖2繪出了根據一種示例性實施例的用于連續高速緩存內容服務的系統。
[0011]圖3繪出了根據一種示例性實施例的用于高速緩存內容服務的系統。
[0012]圖4繪出了根據一種示例性實施例的用于高速緩存內容服務的系統。
[0013]圖5繪出了根據一種示例性實施例的用于移動性支持過程的流程圖。
[0014]圖6繪出了根據一種示例性實施例的用于移動性支持過程的流程圖。
[0015]圖7繪出了根據一種示例性實施例的示例覆蓋網絡的圖。
[0016]圖8繪出了根據一種示例性實施例的示例覆蓋網絡的圖。
[0017]圖9繪出了具有根據一種示例性實施例可以利用的特征的計算系統。
[0018]圖10繪出了為移動設備提供通信服務的3G蜂窩網絡系統。
【具體實施方式】
[0019]3G蜂窩網絡1000可以包括按層次結構組織的各種設備,例如圖10中所繪出的結構。在圖10中,依賴特定蜂窩網絡標準稱為移動站(MS)或用戶設備(UE)的移動設備10(例如,蜂窩電話、智能電話等)經無線通信鏈路連接到一個或幾個基站。基站(BS),有時候在CDMA2000中稱為基站收發器系統(BTS)或者在UMTS (通用移動通訊系統)中稱為節點B,負責經無線鏈路為多個移動設備提供服務,而BS本身連接到基站控制器(BSC)(在UMTS中也稱為RNC (無線電網絡控制器))并受其控制。RNC (或BSC)負責控制多個節點B (BTS),而且RNC本身連接到蜂窩網絡的核心網絡中的網關節點并受其控制。RNC常常維持到其它RNC的通信鏈路。網關節點負責控制多個RNC并且負責把數據業務從移動設備發送到公共網絡(例如,互聯網)和從公共網絡發送到移動設備。依賴于特定的蜂窩網絡體系結構,RNC受多個網關節點(例如,UMTS中的服務通用分組無線電服務(GPRS )支持節點(SGSN)與網關GPRS支持節點(GGSN))的控制或者RNC受單個設備(例如,CDMA2000中的分組數據服務節點(PDSN))控制。
[0020]在蜂窩網絡術語中,移動設備、基站和無線電網絡控制器一起構成稱為無線電接入網絡(RAN)的子系統,而網關節點的子系統稱為核心網絡(CN)。在以上的體系結構下,移動設備10可以通過RAN和CN中的設備與公共網絡中的設備通信,以便例如從互聯網中的服務器15檢索內容(例如,文件、流傳輸視頻、軟件應用等)。此外,蜂窩網絡的層次結構使移動設備能夠無縫地從互聯網中的服務器(例如,服務器15)檢索內容,即使當移動設備從被一個基站覆蓋的位置移動到被另一個基站覆蓋的另一個位置時也是如此。
[0021]利用高速無線蜂窩接入網絡(例如,像W-CDMA (寬帶碼分多址訪問)與UMTS (通用移動通訊系統))和支持互聯網協議(IP)應用的高端蜂窩用戶設備(例如,智能電話、平板PC等)的增殖,移動網絡運營商越來越多地面對在它們的主干網絡鏈路中(也稱為無線電接入網絡)和它們的核心網絡中需要高帶寬的聚集業務需求。在有線網絡中,在終端用戶附近的網絡邊緣在應用層中高速緩存內容(例如,通過http請求-響應檢索出的數據)是一種有效的解決辦法并且在本地為用戶提供服務(利用本地服務器代替從具有原始內容的遠端服務器提供內容)不僅減小了后端網絡中的負荷,而且就減小的延遲而言改善了終端用戶的體驗。
[0022]根據示例性實施例,本文討論的一種方法提供了在蜂窩網絡的無線電接入網絡(RAN)中,即,在蜂窩網絡中的基站(BS)或者在基站控制器(BSC),具有高速緩存服務器的效果,其中終端用戶可以從一個基站的覆蓋范圍移動到另一個基站的覆蓋范圍。在有些情況下,基站(BS)在GSM和CDMA2000中可以被稱為基站收發器(BTS),在UMTS中被稱為節點B (Node B),在LTE (長期演進)中被稱為eNodeB,等等;而且,基站控制器(BSC)在UMTS中可以被稱為RNC (無線電網絡控制器)。由BS和BSC組成的子系統也可以被稱為BSS (基站子系統)或RAN (無線電接入網絡)。應當理解,位于特定蜂窩網絡設備(例如,BS或RNC)的高速緩存服務器可以實現為那個蜂窩網絡設備中的計算與存儲元件,作為通過它們之間的通信鏈路連接到所述蜂窩網絡設備的獨立設備,和/或作為以上所述的組合。我們在這里使用術語“位于設備X的高速緩存服務器”或者“位于X的高速緩存”(例如,位于BS的高速緩存)來指與某個網絡設備X共同定位的高速緩存服務器的任何可能的實現。
[0023]以下場景是為了解釋的目的說明的,而不是限制。假定在蜂窩網絡中連接到基站BSl的移動用戶利用TCP/IP協議之上的HTTP (超文本傳輸協議)請求從互聯網中的服務器請求內容(例如,html文件、視頻文件、音頻文件、音頻/視頻文件等)。位于BSl的高速緩存服務器,充當代理服務器,終止用戶的TCP/IP連接、截取HTTP請求,并且如果它具有所請求內容的拷貝的話,該BSl就在到該用戶的TCP/IP連接之上開始利用HTTP響應向發出請求的用戶發送內容(否則,BSl就朝著原始拷貝的服務器向上游節點轉發請求)。現在,在利用打開的TCP連接接收內容的同時,移動設備的用戶移動到一個新的基站BS2,使用戶不能夠繼續從位于BSl的高速緩存服務器接收內容。
[0024]位于BS2的高速緩存服務器,既沒有注意到TCP連接狀態也沒有注意到該TCP連接上發送的內容,將不能夠為移動用戶提供服務,不管位于BS2的高速緩存服務器是否具有與用戶已經從位于BSl的高速緩存開始接收的相同內容。即使BS2簡單地把從用戶接收到的所有(未知的)TCP分組都轉發到(互聯網中)原始拷貝的服務器,原始服務器也不能確定該TCP分組的上下文,從而使用戶不能夠繼續接收所請求的內容。應當理解,以上場景中HTTP與TCP/IP的使用僅僅是為了解釋,而且涉及其它會話層和傳輸層協議,例如RTSP (實時流傳輸協議)、RTP (實時傳輸協議)、UDP (用戶數據報協議)等,的類似場景也同樣適用于說明性例子。
[0025]示例性實施例配置成提供可以在以上情形、類似情形以及其它情形中把高速緩存的內容無縫地提供給移動用戶的技術。例如,如果相同的內容存在于位于移動用戶的(連接到和/或與新基站關聯的)新位置的高速緩存服務器中,則位于(連接到和/或與舊基站關聯的)舊位置的高速緩存把內容的標識符與當前的傳送協議狀態發送到新高速緩存,使得新高速緩存可以從其本地儲存器為用戶提供服務。另一方面,如果相同的內容不存在于位于移動用戶新位置的高速緩存中,則位于舊位置的高速緩存發現新位置并且繼續沿著與其它高速緩存形成的路徑從其本地儲存器向移動用戶發送內容。
[0026]而且,示例性實施例配置成檢測用戶的用戶移動性狀態。例如,位于新位置的高速緩存一接收到具有未被識別的傳送上下文的分組(例如,沒有SYN、TCP ACK等的普通TCP分組,這對于舊基站是未知的),位于移動用戶新位置的高速緩存就發現(例如,發送發現請求以便發現)位于用戶舊位置的高速緩存;而且,如果發現了舊高速緩存,新高速緩存就請求把傳送上下文和/或內容從所發現的舊高速緩存發送到新高速緩存。在另一個例子中,舊高速緩存一檢測到用戶移交到另一個位置,位于用戶舊位置的高速緩存就發現(發送發現請求以便發現)位于新位置的新高速緩存;如果發現了新高速緩存,舊高速緩存就把傳送上下文或內容發送到新高速緩存。
[0027]根據示例性實施例,高速緩存(例如,高速緩存服務器)可以在現有的蜂窩網絡元件之上形成覆蓋網絡。高速緩存可以利用現有的蜂窩網絡協議彼此通信,以便在蜂窩網絡元件之間獲取交換與高速緩存之間高速緩存的內容發現與輸送有關的信息的數據信道和帶寬。特別地,這些過程對于移動用戶和移動網絡基礎設施都是透明的。
[0028]現在,轉向附圖,圖1和2繪出了根據一種示例性實施例的、當高速緩存服務器部署在RNC時的連續高速緩存內容服務,其中直接通信鏈路(例如,IP連接35)存在于高速緩存之間。在圖1中,系統100包括諸如RNCl和RNC2的多個RNC。每個RNC (諸如RNCl和RNC2)包括通信設備以及包括在其中或者附連到其的具有硬件與軟件的計算設備(例如,高速緩存服務器)。而且,例如節點BI和節點B2的每個節點B都包括連接到天線的通信設備并且分別連接到RNCl和RNC2。在這種實施例中,每個節點B簡單地充當普通的中繼設備,在移動設備與它所連接到的RNC之間轉發數據業務。
[0029]移動設備10 (例如,智能電話/蜂窩電話)最初在位置X,在這個例子中位置X是由節點BI提供服務的,節點BI又在RNCl的控制之下。然后,移動設備10的用戶移動到位置Y,在這個例子中位置Y是由節點B2提供服務的,節點B2又在RNC2的控制之下。但是,在仍然處于由節點BI提供服務的位置X的時候,移動設備10從服務器15,例如,在互聯網上,請求了內容5;服務器15可以代表在互聯網上運行的一個或多個服務器。為了實現來自移動設備10的這種請求,節點BI配置成把對內容5的這個請求中繼到無線電網絡控制器(RNCl)(也稱為基站控制器)。位于RNCl的高速緩存服務器A配置成截取由移動設備10發送的對內容5的請求。
[0030]如果內容5沒有存儲在其存儲器30中的本地高速緩存25,則RNCl配置成經網關20從服務器15請求內容5。網關20代表作為例如UMTS中的SGSN (服務GPRS (通用分組無線電服務)支持節點)和GGSN (網關GPRS支持節點)操作的硬件與軟件,并且配置成在其控制之下把數據從RNC轉發到互聯網中的服務器并從互聯網中的服務器轉發到RNC。當RNCl經網關20從服務器15接收到內容5時,RNCl可以把內容5存儲/高速緩存在其本地高速緩存25 ;RNC1把內容5傳送到節點BI,節點BI又把內容5中繼到移動設備10。
[0031]當RNCl從移動設備10接收到對內容5的請求時,內容5可能存在于RNCl的本地高速緩存25中,因為相同的內容5被某個其它移動設備請求、從服務器15接收并且存儲在本地高速緩存25中。在這種情況下,RNCl開始把高速緩存的內容5朝移動設備10傳送,而且節點BI開始把來自RNCl的內容5中繼到移動設備10。
[0032]在這個例子中,當節點BI向移動設備10發送(B卩,中繼)內容5時,移動設備10移動到由節點B2提供服務的位置Y,節點B2連接到RNC2并在其控制之下。在過渡到位置Y的時候,節點BI并且由此RNCl把對移動設備10的服務切換(移交)到節點B2和RNC2。因為在位置Y中(在這個例子中)節點BI可能不再具有與移動設備10通信的范圍/能力,所以現在節點B2與RNC2將開始為移動設備10提供服務。但是,在移動設備10超出范圍之前(即,在被節點B2與RNC2覆蓋的位置Y中),RNC1與節點BI還沒有完成向移動設備10傳送內容5。
[0033]當移動設備10被切換到由RNC2提供服務的位置時,RNCl配置成,連同識別移動設備10的信息和傳送上下文(包括內容標識與TCP/IP狀態)一起,把高速緩存在高速緩存25中的內容5轉發到RNC2 (例如,高速緩存服務器B)。在移動設備10處于位置Y的覆蓋范圍的時候,RNC2 (根據指令)把內容5經節點B2傳送到移動設備10,而不需要RNC在互聯網上從服務器15 (再次)請求內容5。RNCl和RNC2是通過IP連接35連接的而且可以經IP連接35彼此通信。
[0034]在一種實現中,RNC2可以從RNCl接收內容5并且把內容5存儲在存儲器31中的高速緩存26中。然后,RNC2可以把內容5傳送到節點B2,而且節點B2可以把內容5中繼到在位置Y被覆蓋的移動設備10。此外,和/或作為替代,在另一種實現中,RNC2可以從RNCl接收內容5,而不在其高速緩存26中高速緩存內容5。相應地,RNC2可以經節點B2把內容5轉發到移動設備10。預期這些實現可以組合,以便以任何期望的方式把內容5提供給移動設備10。
[0035]雖然為了簡潔只示出了一個移動設備10,但是每個節點B (例如節點BI和節點B2)都配置成同時為其各自范圍(例如,位置X或Y)內的眾多移動設備提供服務。應當理解,如本文所討論的那樣維持連續高速緩存不限于單個移動設備10,而是適用于眾多移動設備10。而且,例如RNCl和RNC2的每個RNC (連同圖3和4中的RNC3 —起)都配置成同時管理和控制眾多節點B而不限于單個節點B。
[0036]應當指出,無線電網絡控制器(RNC)是UMTS無線電接入網絡中的掌控元件并且負責控制連接到其的節點B。RNC執行無線電資源管理、執行移動性管理功能而且是在用戶數據發送到移動設備或者從移動設備發送之前進行加密的地方。RNC通過例如媒體網關(MGff)連接到電路交換核心網絡并且連接到分組交換核心網絡中的SGSN (服務GPRS支持節點)。
[0037]當被存儲/高速緩存時,內容5可以是一個或多個數據對象。對象的例子包括視頻與音頻內容、音頻內容、視頻內容、媒體、文件、下載、流傳輸內容、游戲內容、軟件應用等。
[0038]轉向圖2,示出了根據一種示例性實施例的用于內容傳送上下文的系統200,其中新高速緩存也包含內容。
[0039]如圖1中所討論的,移動設備10最初位于由節點BI提供服務的位置X,而且移動設備10移動到由節點B2提供服務的位置Y。類似地,移動設備10經節點BI請求位于服務器15的內容5,而且節點BI把該請求轉發到RNCl。RNCl從節點BI接收請求,并且(i)經網關20在互聯網上從服務器15請求內容5、從服務器15接收內容5并且可以把內容5存儲在其本地高速緩存25中,和/或(ii)從其本地高速緩存25檢索內容。然后,RNCl開始經節點BI向移動設備10傳送內容。如以上所提到的,RNCl和RNC2可以分別包括高速緩存服務器A和B的硬件與軟件和/或可以是高速緩存服務器A和B。
[0040]當RNCl開始向處于覆蓋位置X的移動設備10傳送內容5時,RNCl在傳輸協議連接(例如TCP/IP)上傳送內容5。RNCl和RNC2每個可以分別包括TCP/IP堆棧40、41 (BP,如本領域技術人員所理解的,用于實現TCP協議與IP協議的軟件應用)。當RNCl把內容5的分組傳送到移動設備10時,移動設備10移動到節點B2覆蓋的位置Y。在過渡到位置Y的時候,節點B1/RNC1把對移動設備10的服務切換到節點B2/RNC2。在這個例子中,RNC2的新高速緩存(例如,高速緩存26)已經存儲了存儲在RNCl的舊高速緩存(例如,高速緩存25)中的相同內容5。例如,內容5可以已經為先前處于由節點B2提供服務的位置Y的移動設備存儲在存儲器31中。由于內容5已經存儲在RNC2的存儲器31中的高速緩存26中,因此RNCl轉發在本次傳送被中斷之前所發生的用于內容5分組傳送的傳送上下文。因此,RNCl不需要把內容5本身發送到RNC2,因為RNC2存儲了它自己的拷貝(例如,在高速緩存服務器B中的存儲器31中)。RNC2從RNCl接收對應于未完成的內容5傳輸的傳送上下文。用于內容5的傳送上下文可以包括內容ID (這可以是識別HTTP協議中所使用的所請求內容5的(對應)位置的URL (統一資源定位符))、RNCl停止(剩下)的內容的偏移位置(例如,從文件開始的字節計數)、TCP狀態/傳送狀態(這可以是構成內容5的分組的序列號)和/或移動設備10的標識符,例如電話號碼、移動設備的IP地址與端口號和/或國際移動用戶識別碼(MSI)。在一種實現中,從RNCl發送到RNC2的TCP狀態可以包括被確認為由移動設備10成功接收到的最后一個分組序列號、被確認為由移動設備10成功接收到的最后一組分組序列號和/或被確認為由移動設備10成功接收到的所有分組序列號;在以上任何一個例子中,分組序列號都可能還沒有被確認為由移動設備10接收到。內容5的TCP狀態可以對應于在從RNCl發送到(位于位置X的)移動設備10的過程中開始但是當移動設備10移動到由RNC2提供服務的位置Y時中斷的未完成的(構成內容5的)分組傳輸。對于內容5,TCP狀態提供了從RNCl到移動設備10的當前傳輸狀態。在一個例子中,TCP狀態可以指示所有分組序列號都已經被移動設備10接收(確認),和/或除最后的(例如,10個、20個...50個、60個)組之外的所有分組序列號都已經被移動設備10在處于RNCl覆蓋的位置X時接收(確認)。
[0041]響應接收到用于未完成的內容5傳輸的傳送上下文,RNC2 (根據該傳送上下文)把本地存儲在其高速緩存26中的內容5傳輸到現在由覆蓋位置Y的節點B2提供服務的移動設備10,而不需要從服務器15或者從RNCl請求內容5。RNC2可以命令(推)節點B2把本地存儲的內容5傳輸到移動設備10,和/或節點B2可以從RNC2請求(拉)要發送到移動設備10的內容5。
[0042]在一種實現中,RNC2的TCP/IP堆棧41可以接收并利用TCP狀態(S卩,傳送狀態)繼續從(中斷之前)RNCl的TCP/IP堆棧剩下的地方開始傳輸內容5的分組。例如,TCP/IP堆棧41可以配置成在被移動設備10成功確認的最后一個分組序列號和/或最后一個分組序列號之前幾個分組(例如,5個、10個、15個...30個等)繼續傳輸內容5的分組。附加地和/或作為替代,TCP/IP堆棧41可以重新傳輸構成內容5的所有分組,包括移動設備10成功確認的分組序列號,和/或可以重新傳輸被移動設備10成功確認的一部分分組序列號。另夕卜,附加地和/或作為替代,在一種實現中,RNCl中的TCP/IP堆棧40可以配置成命令RNC2中的TCP/IP堆棧41在某個(識別出的)分組序列號開始傳送內容5的分組。
[0043]而且,如果因為RNC2不本地存儲內容5而使得內容5(沒有被確認為由節點BI中的移動設備10接收的分組)和傳送上下文都從RNCl發送,則RNC2中的TCP/IP堆棧41配置成根據該傳送上下文(即,TCP狀態)傳輸構成內容5的分組,例如,使得不是所有分組都需要重新發送到移動設備10和/或使得只有未經確認的分組序列號發送到節點B2中的移動設備10。
[0044]圖3和4繪出了根據一種示例性實施例的當高速緩存之間不存在直接鏈路時的高速緩存內容服務。在這種實施例中,例如節點BI和節點B2的每個節點B都包括通信設備以及具有硬件與軟件的計算設備(包括高速緩存服務器),而且節點B連接到RNC3并且受其控制。此外,RNC3也包括通信設備以及包括高速緩存服務器的計算設備。如以上所討論的,在節點BI還沒有完成把內容5的分組發送到移動設備10的過程的時候,移動設備10從由位于節點BI的高速緩存服務器提供服務的位置X移動到由位于節點B2的高速緩存服務器提供服務的位置Y。為圖1和2討論的細節可以應用到圖3和4,但是為了簡潔,不是所有細節都重復。
[0045]圖3中的系統300包括為節點BI和節點B2連同未示出的其它節點B提供服務的RNC3。節點BI可以包括在存儲內容5的存儲器330中具有高速緩存325的計算設備A。節點B2可以包括在存儲器331中具有高速緩存326的計算設備B,而高速緩存326 (最初)可能不包含內容5。如為圖1和2所討論的,節點BI可以經網關20和RNC3 (例如,高速緩存服務器C)從服務器15接收內容5。
[0046]當移動設備10從由節點BI提供服務移動到節點B2時,節點BI處于向移動設備10傳輸內容5的過程當中。由于節點BI在其自己的高速緩存325中存儲了內容5,因此節點BI經公共的RNC3把內容5 (例如,一個拷貝)從高速緩存325傳輸到節點B2的存儲器331中的高速緩存326。節點B2可以可選地在轉發到位于位置Y的移動設備10之前和/或期間高速緩存內容5的拷貝。同樣,RNC3可以可選地在轉發到節點B2之前存儲內容5的拷貝,和/或RNC3可以先前已經在存儲器310的高速緩存305中高速緩存了內容5的拷貝。因此,節點BI可以命令或者使RNC3把其本地存儲在高速緩存305中的內容5轉發到節點B2。
[0047]在一種實現中,節點B2可以請求RNC3從節點BI中的高速緩存325檢索內容5的拷貝,例如,在從節點BI接收到用于移動設備10的移交信息后。附加地和/或作為替代,在另一種實現中,節點BI可以命令或者使RNC3把內容5的拷貝從高速緩存325轉發(中繼)到節點B2,使得節點B2可以把內容5發送到移動設備10。在把內容5轉發到節點B2之前和/或期間,RNC3可以可選地為其自己把內容5的拷貝高速緩存在RNC3的存儲器310中的高速緩存305中。而且,節點B2可以經RNC3從節點BI接收用于內容5的傳送上下文信息(例如,不接收內容5);相應地,節點B2可以隨后請求經RNC3從節點BI中的高速緩存325請求(拉)內容5的拷貝,和/或如果已經被RNC3存儲的話,從高速緩存305請求內容5的拷貝。
[0048]現在參考圖4,圖4繪出了根據一種示例性實施例的內容傳送上下文從一個節點B到另一個節點B的傳輸。在系統400中,內容5存儲在節點BI中的高速緩存325中而且也存儲在節點B2中的高速緩存326中。當移動設備10從為位置X提供服務的節點BI切換到為位置Y提供服務的節點B2時,節點BI把用于內容5的傳送上下文發送到節點B2。如以上所討論的,傳送上下文(信息)可以包括內容ID和TCP狀態,這提供了關于節點BI向移動設備10發送構成內容5的分組的未完成過程的信息。例如,節點BI中的TCP/IP堆棧340可以向節點B2中的TCP/IP堆棧341傳送所述傳送上下文(對應于節點BI到節點B2未完成的內容5傳輸)。雖然沒有重復,但是對于TCP/IP堆棧40、41的各種討論分別可以應用到 TCP/IP 堆棧 340,341ο
[0049]在一種實現中,節點Β2的TCP/IP堆棧341可以接收并利用TCP狀態(信息),以便從(中斷之前)節點BI的TCP/IP堆棧340停止的地方繼續傳輸內容5的分組。例如,如以上所討論的,TCP/IP堆棧341可以配置成在被移動設備10成功確認的最后一個分組序列號和/或在成功確認的最后一個分組序列號之前幾個分組(例如,5個、10個、15個...30個,等等)繼續傳輸內容5的分組。附加地或者作為替代,TCP/IP堆棧341可以重新傳輸構成內容5的所有分組,包括移動設備10成功確認的分組序列號,和/或可以重新傳輸被移動設備10成功確認的一部分分組序列號。另外,在一種實現中,節點BI中的TCP/IP堆棧340可以配置成命令節點B2中的TCP/IP堆棧341在某個(識別出的)分組序列號開始傳送內容5的分組。
[0050]節點B1、節點B2、RNC1、RNC2和RNC3全都利用軟件應用(計算指令)和硬件(包括處理器、輸入、輸出等)配置成如本文所討論的那樣運行和操作。此外,節點B1、節點B2、RNC1、RNC2和RNC3可以包括任意一個或多個射頻發送器、接收器、功率放大器、編碼器/解碼器、多路復用器/多路分離器、控制功能等。
[0051]轉向圖5,圖5根據一種示例性實施例、在流程圖500中說明了用于在利用移動設備10的用戶目標位置的高速緩存服務器和/或計算設備的移動性支持過程。
[0052]在節點BI還沒有完成把內容5的分組傳輸到移動設備10的時候,移動設備10從由節點BI提供服務的位置X移動到由節點B2提供服務的位置Y (其中節點B2是目標位置Y)。內容5可以(在某個點)高速緩存在高速緩存25、26、305、325、326中。
[0053]各種操作都可以由RNC2 (例如,高速緩存服務器B)和/或由節點B2 (例如,也稱為高速緩存服務器的計算設備B)執行。有時候,節點B2/RNC2可以用于代表可以由節點B2和/或由RNC2執行的操作而且可以代表可以在節點B2與RNC2之間傳遞以便執行操作的指令。而且,應當指出,由RNC2執行的任何操作都可以由如圖3和4中所述的RNC3(例如,高速緩存服務器C)執行。
[0054]在方框502,節點B2/RNC2配置成截取從移動設備10進入的分組。例如,移動設備10可以發送繼續接收內容5的分組的請求消息、可以發送移動設備10沒有接收到最后的分組的消息、可以發送內容5的分組接收不完整的消息、而且可以發送沒有由節點B2識別的基礎的未識別傳送上下文(例如,不帶SYN、TCP ACK等的普通TCP分組)等等。這些截取的從移動設備10進入的(關于內容5的)分組利用未知的傳送上下文發送到節點B2。
[0055]在方框504,節點B2/RNC2配置成確定用戶傳送上下文(信息)是否已經為這個移動設備10存在于其本地高速緩存26、326中。如果是,則節點B2/RNC2繼續為移動設備10提供服務的正常操作,因為用戶傳送上下文的存在指示例如內容5的下載是在移動設備10處于被節點B2覆蓋的位置Y中的時候。
[0056]如果在方框504結果是否,則在方框508,節點B2/RNC2配置成為移動設備10的用戶發現包含內容5的原始高速緩存(例如,高速緩存25、325)。這可以通過例如節點B2/RNC2發送和/或節點B2命令RNC2向RNC與節點B中的鄰居高速緩存(例如,高速緩存服務器)發送發現請求消息(帶用戶ID,例如電話號碼)來實現。發現請求消息使鄰居高速緩存(例如,高速緩存服務器)從它們各自的高速緩存搜索該用戶ID,以便確定該鄰居高速緩存服務器/計算設備是否在向移動設備10提供服務(和/或曾經提供服務)。例如,在節點B(1-N)和/或RNC (1-N)中可能存在鄰居高速緩存服務器/計算設備,而且當前的節點B2/RNC2向這些鄰居發送發現請求消息。節點B(1-N)和/或RNC(1-N)代表眾多節點B和RNC而且可以類似于圖1-4中所描述的節點B和RNC。而且,例如,節點B2/RNC2可以發送發現請求消息,該消息指示它正在進行搜索,以期發現例如存儲內容5的任何高速緩存(例如,RNCl中的高速緩存25和/或節點BI中的高速緩存325)。節點B1/RNC1接收這個發現請求消息并且利用指示節點B1/RNC1已經在高速緩存25、325中存儲了內容5 (或者之前為移動設備10服務過)的發現響應消息作出應答。
[0057]在方框510,節點B2/RNC2配置成在方框510確定是否存在存儲內容5的原始高速緩存(例如,高速緩存25、325)。如果沒有在某個時間周期內從鄰居節點B和/或RNC接收到響應,則在方框520節點B2/RNC2配置成把接收到的進入分組朝上游向服務器15發送,以再次請求內容5。在這個例子中,節點B2/RNC2已經截取了移動設備10的信息,例如,請求構成內容5的剩余缺失分組。利用截取的信息,即,從移動設備10截取的進入分組,RNC2可以經網關20從服務器15 (再次)請求內容5。
[0058]但是,如果從RNCl和/或節點BI接收到指示它們最初高速緩存內容5的響應,因為節點BI之前(在位置X的覆蓋范圍內)為移動設備10服務過,則在方框512節點B2/RNC2從節點B1/RNC1獲得(請求)傳送上下文。例如,節點B2/RNC2配置成和/或節點B2命令RNC2從RNCl和/或節點BI中的高速緩存25、325 (或者從TCP/IP堆棧40、340)請求(拉)內容5的傳送上下文。
[0059]用于內容5的傳送內容可以包括TCP狀態,這可以是TCP/IP序列號、內容ID (例如,到服務器15上內容5的位置的URL)和/或移動設備10的電話號碼。利用接收到的傳送上下文,在方框514節點B2/RNC2配置成確定相同內容5是否本地存儲在節點B2和/或RNC2的存儲器31、331中的高速緩存26、326中。
[0060]如果相同內容5沒有本地存儲在節點B2/RNC2中,則在方框516節點B2/RNC2配置成從節點B1、RNCl和/或RNC3請求并接收內容5 (例如,一個拷貝),使得節點B2/RNC2可以把內容5轉發到移動設備10。如果相同內容5本地存儲在節點B2/RNC2中,則在方框518節點B2/RNC2配置成從其本地高速緩存26、326 (從節點BI停止的點或者其附近)恢復內容5的傳送。
[0061]圖6根據一種示例性實施例在流程圖600中說明了用于在利用移動設備10的用戶的舊位置的高速緩存服務器和/或計算設備的移動性支持過程。如以上所討論的,在節點BI還沒有完成向移動設備10傳輸內容5的分組的時候,移動設備10從由節點BI提供服務的舊位置X移動到由節點B2提供服務的新位置Y。
[0062]各種操作可以由RNCl (例如,高速緩存服務器A)和/或由節點BI (例如,也稱為高速緩存服務器的計算設備A)執行。有時候,節點B1/RNC1可以用于代表可以由節點BI和/或由RNCl執行的操作。在方框602,節點B1/RNC1配置成監視(即,監聽)移動設備10的行為和/或監視移動設備10的移交狀態。
[0063]在方框604,節點B1/RNC1配置成確定用戶是否移動到(或者正在移動到)一個不同的位置(例如移動到位置Y)。這可以通過節點B1/RNC1 (或者RNC3)監視蜂窩網絡移交協議消息和/或監視(用戶)移動設備10的不活動性延長到(預定的)時間周期來實現。如果移動設備10不活動(例如,不發送周期性控制消息)超過一個閾值,則節點B1/RNC1確定移動設備10已經移出位置X。
[0064]如果在方框604節點B1/RNC1確定移動設備10還沒有移動(例如,移出由節點BI提供服務的覆蓋位置X),則在方框606節點B1/RNC1配置成繼續為移動設備10提供服務的正常動作。相反,如果節點B1/RNC1確定移動設備10已經移到一個新位置(例如,由節點B2提供服務的位置Y),則在方框608節點B1/RNC1配置成發現位于新位置的、需要內容5和/或用于內容5的傳送上下文的目標高速緩存(例如,節點B2中的高速緩存326、RNC2中的高速緩存26和/或RNC3中的高速緩存305)。這可以通過節點B1/RNC1 (或RNC3)監視蜂窩網絡移交協議消息和/或向鄰居高速緩存發送發現請求消息來實現(其中,發現消息指示節點B1/RNC1正在進行搜索,以期發現新高速緩存或節點B2)。在移動設備移到新位置Y之前,節點B1/RNC1 (或RNC3)配置成識別出它還沒有完成向移動設備10發送內容5的(全部)分組。
[0065]節點B2/RNC2 (或RNC3)可以接收發現請求消息并且識別出其節點B2現在正在為移動設備10提供服務;節點B2/RNC2 (或RNC3)利用這個信息應答并且指示它具有可用的目標高速緩存26、326。節點B1/RNC1 (或RNC3)(經RNC2和/或RNC3)連同用于新位置Y的可用目標高速緩存26、326 —起接收當前節點B2正在為移動設備10提供服務的這個應
答消息。
[0066]如果目標高速緩存不存在或者沒有發現,則過程結束。當存在目標高速緩存26、326時,在方框610節點B1/RNC1配置成確定相同內容5是否存在于目標高速緩存26、305(或326)中。例如,節點B1/RNC1可以向節點B2/RNC2發送一個(識別內容5的)請求,詢問內容5是否高速緩存在高速緩存26、305、326中。如果節點B2/RNC2響應內容5沒有高速緩存,則節點B1/RNC1配置成把內容5從高速緩存25、305、325傳送到節點B2/RNC2 (中的高速緩存),使得節點B2可以在方框612完成內容5向移動設備10的傳輸。
[0067]當節點B2/RNC2 (或RNC3)響應相同內容5已經存在于高速緩存26、306、326中時,節點B1/RNC1配置成把傳送上下文(這可以對應于內容5在位置X的部分傳輸)移植(傳送)到節點B2/RNC2 (或RNC3),使得節點B2可以在方框614繼續把內容的分組轉發到位于位置Y的移動設備10。
[0068]圖7繪出了根據一種示例性實施例的在3G蜂窩網絡中利用虛擬網絡實體的示例覆蓋網絡的圖700,使得包括高速緩存服務器的設備之間的覆蓋網絡可以利用這些設備之間現有的蜂窩網絡協議構造。圖700是可以適用于圖1和2的覆蓋網絡。為了簡潔,圖1和2中的每個元件在圖700中都沒有示出,但是應當理解,缺失的圖1和2中的元件也結合到圖7中并相應地運行。這種實施例中消息以及物理和虛擬實體的名字代表UMTS中的對應元件,而且應當理解,類似的方法與裝置可以用于在其它蜂窩網絡技術中同樣實現,只要把本文所使用的術語用特定蜂窩網絡技術中對應實體的名字代替就可以(例如,“H)SN”或“核心網絡網關節點” 一般換成“SGSN”、“MS”換成“UE”,等等)。
[0069]在圖700中,高速緩存I包含要發送到例如移動設備10的移動設備的例如內容5的內容,而且移動設備10已經從(與RNCl關聯的)第一位置X(其中RNCl例如管理節點BI)移動到(與RNC2關聯的)第二位置Y (其中RNC2例如管理節點B2)。
[0070]虛擬服務GPRS支持節點(vSGSNl)是由在RNCl的處理器上執行計算機指令的計算設備(例如,高速緩存服務器A)實現的。vSGSNl配置成發送3G控制消息(在圖7中稱為RAB指定消息),以命令RNCl在RNCl與RNC2之間建立通信信道。然后,RNCl通過向RNC2發送控制面消息(在圖7中稱為ALCAP =Iu傳送承載建立消息)建立數據信道。vSGSNl代表高速緩存I朝RNC2發送內容5,而且RNCl把內容5轉發到RNC2,好像vSGSNl是物理SGSN一樣。根據指令,RNCl把內容5從高速緩存I轉發到RNC2。高速緩存I和vSGSNl可以在RNCl的計算設備的存儲器30中實現。
[0071]RNC2中所包括的或者附連到其的計算設備(在處理器上執行計算機指令)實現虛擬用戶設備(vUE)、高速緩存2和虛擬服務GPRS支持節點(vSGSN2)。vUE作用就像移動設備(例如,智能電話或蜂窩電話)。RNC2向vUE發送控制消息(稱為RB建立消息),以便建立到RNC2的虛擬信道,而且RNC2從vSGSN2接收控制消息(稱為RAB指定請求),以便建立從VSGSN2到RNC2的虛擬信道。一從vSGSN2接收到RAB指定請求消息,RNC2就通過發送RB建立消息建立到移動設備10 (UE)的信道。然后,RNC2與vUE之間建立的虛擬信道被RNC2用于把從RNCl接收到的內容5轉發到vUE,然后vUE又把內容5轉發到高速緩存2。類似地,VSGSN2與RNC2之間建立的虛擬信道和RNC2與UE之間建立的虛擬信道由vSGSN和RNC2使用,使得VSGSN2 (代表高速緩存2)向RNC2發送內容5,RNC2又經節點B2 (在圖7中未示出)把內容5轉發到移動設備10 (UE)0節點B2作用就像一個中繼設備,用于傳送內容5和/或對應于內容5的傳送上下文。
[0072]如蜂窩通信領域(例如在3G蜂窩網絡中)的技術人員將理解的,數據(例如內容5)可以源自用戶設備(UE)和/或到其終止、可以源自SGSN和/或到其終止,或者是其任意組合。但是,根據蜂窩通信協議(例如,3G協議),不用作控制消息的數據不源自節點B和RNC和/或到其終止。在一種示例性實施例中,發起例如內容5的數據就像從一個移動設備發出/啟動在另一個移動設備終止的呼叫(包括發送例如視頻文件、音樂文件、圖片文件、文本文件等的文件)。在圖7中,vSGSNl發起(啟動呼叫以發送)內容5,到存儲在高速緩存2中的vUE終止。VSGSN2 (或vUE)經節點B2發起在移動設備10終止的內容5。
[0073]例如vSGSNl、vUE和vSGSN2的虛擬實體操作就像物理硬件與軟件,使得RNCl、RNC2和節點B2可以根據正規的3G蜂窩網絡協議傳送和接收命令消息;這允許向移動設備10發送內容5和/或傳送上下文。
[0074]圖8繪出了根據一種示例性實施例的在3G蜂窩網絡中利用虛擬網絡實體的示例覆蓋網絡的圖800。圖800是可以適用于圖3和4的覆蓋網絡。雖然為了簡潔,圖3和4中的每個元件在圖800中都沒有示出,但是應當理解,缺失的圖3和4中的元件也結合到圖8中并相應地運行。
[0075]在圖800中,高速緩存I包含要傳送到例如移動設備10的移動設備的例如內容5的內容,而且移動設備10已經從(與節點BI關聯并由其提供服務的)第一位置X移動到(與節點B2關聯并由其提供服務的)第二位置Y。
[0076]虛擬用戶設備(vUE)(例如虛擬移動設備)和高速緩存I是由節點BI的(在處理器上執行計算機指令的)計算設備實現的。vUE作用就像內容5的發起者而且向節點BI傳送控制消息(RAB指定請求)并且命令節點BI建立到RNC的數據信道,使得節點BI可以把內容5從高速緩存I發送到RNC的高速緩存2。
[0077]虛擬服務GPRS支持節點(vSGSN)和高速緩存2是由RNC(例如圖3和4中的RNC3)的(在處理器上執行計算機指令的)計算設備實現的。vSGSN配置成從RNC接收請求并且向RNC發送用于建立到RNC/來自RNC的虛擬信道的3G控制消息。這些虛擬信道被vSGSN和RNC使用,使得RNC可以把從節點BI接收到的內容5轉發到vSGSN并且把從vSGSN接收到的內容5轉發到UE,就像vSGSN是物理SGSN —樣。根據指令,RNC經節點B2 (在圖8中未示出)把來自高速緩存2的內容5轉發到移動設備10。節點B2可以充當中繼設備,以把內容5轉發到位于位置Y的移動設備10。
[0078]在圖8中,vUE發起在vSGSN (高速緩存2)終止的內容5。因此,現在vSGSN發起在移動設備10終止的(存儲在高速緩存2中的)內容5。例如VUE和VSGSN2的虛擬實體操作就像物理硬件與軟件,使得節點BI和RNC可以根據常規的3G蜂窩網絡傳送和接收命令消息,用于把內容5和/或傳送上下文發送到移動設備10。而且,vSGSN通常可以稱為虛擬核心網絡網關節點。圖7和圖8中的例子是在兩個RNC之間和在一個節點B與一個RNC之間建立覆蓋網絡的上下文下說明的,但是應當理解,這些實施例可以應用到在蜂窩網絡設備的任意組合之間(例如,在節點Bl-RNC-節點B之間)建立覆蓋的其它場景。
[0079]為了解釋但不是限制,在3G網絡的上下文下說明了某些例子。應當理解,示例性實施例可以應用到2G、3G、4G、其它網絡以及其任意組合。
[0080]圖9說明了具有可以包括在示例性實施例中的能力的計算機900的例子。本文所討論的各種方法、過程、模塊、流程圖、工具、應用和技術也可以結合和/或利用計算機900的能力。而且,計算機900的能力可以用于實現包括參考圖1-8本文所討論的示例性實施例的特征。計算機900的一個或多個能力可以實現本文所討論的任何元件,例如但不限于移動設備10、RNC、節點B、網關20、高速緩存服務器、高速緩存、服務器、計算設備、基站、基站控制器、通信設備以及其它蜂窩網絡設備。
[0081]一般來說,就硬件體系結構而言,計算機900可以包括經本地接口(未示出)通信連接的一個或多個處理器910、計算機可讀存儲存儲器920以及一個或多個輸入和/或輸出(I/O)設備970。如本領域中已知的,本地接口可以是,例如但不限于,一條或多條總線或者其它有線或無線連接。本地接口可以具有啟用通信的附加元件,例如控制器、緩沖區(高速緩存)、驅動器、中繼器和接收器。另外,本地接口可以包括地址、控制和/或數據連接,以便在以上提到的組件之間啟用適當的通信。
[0082]處理器910是用于執行可以存儲在存儲器920中的軟件的硬件設備。在與計算機900關聯的幾種處理器中,處理器910實際上可以是任何定制或商業可用的處理器、中央處理單元(CPU)、數據信號處理器(DSP)或者輔助處理器。
[0083]計算機可讀存儲器920可以包括易失性存儲器元件(例如,隨機存取存儲器(RAM),像動態隨機存取存儲器(DRAM)、靜態隨機存取存儲器(SRAM)等)和非易失性存儲器元件(例如,ROM、可擦除可編程只讀存儲器(EPR0M)、電可擦除可編程只讀存儲器(EEPR0M)、可編程只讀存儲器(PR0M)、磁帶、光盤只讀存儲器(⑶-ROM)、磁盤、軟磁盤、盒式磁帶、卡型盒式磁帶等)的任意一種或組合。而且,存儲器920可以結合電、磁、光和/或其它類型的存儲介質。應當指出,存儲器920可以具有分布式體系結構,其中各種組件位于彼此遠離的位置,但是可以被處理器910訪問。
[0084]計算機可讀存儲器920中的軟件可以包括一個或多個單獨的程序,每個程序都包括用于實現邏輯功能的可執行指令的有序列表。存儲器920中的軟件包括合適的操作系統
(OS)950、編譯器940、源代碼930以及示例性實施例的一個或多個應用960。如所說明的,應用960包括用于實現示例性實施例的特征、過程、方法、功能與操作的多種功能性組件。另外,應用960可以是源程序、可執行程序(目標代碼)、腳本或者包括要執行的一組指令的任何其它實體。
[0085]I/O設備可以970可以包括輸入設備(或外圍設備),例如但不限于鼠標、鍵盤、掃描儀、麥克風、照相機等。此外,I/o設備970還可以包括輸出設備(或外圍設備),例如但不限于打印機、顯示器等。最后,I/O設備970可以進一步包括傳送輸入與輸出的設備,例如但不限于NIC或調制器/解調器(用于訪問遠端設備、其它文件、設備、系統或網絡)、射頻(RF)或其它收發器(塔)、電話接口、橋、路由器等。I/O設備970還包括用于經各種網絡例如互聯網或內聯網進行通信的組件。I/O設備970可以利用藍牙連接和電纜(經例如通用串行總線(USB)端口、串口、并口、光纖、火線(FireWire)、HDMI (高清晰多媒體接口)等)連接到和/或與處理器910通信。
[0086]所屬【技術領域】的技術人員知道,本發明的各個方面可以實現為系統、方法或計算機程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬件實施例、完全的軟件實施例(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結合的實施例,這里可以統稱為“電路”、“模塊”或“系統”。此外,在一些實施例中,本發明的各個方面還可以實現為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0087]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。
[0088]計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用于由指令執行系統、裝置或者器件使用或者與其結合使用的程序。
[0089]計算機可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0090]可以以一種或多種程序設計語言的任意組合來編寫用于執行本發明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++等,還包括常規的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟件包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或服務器上執行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0091]下面將參照根據本發明實施例的方法、裝置(系統)和計算機程序產品的流程圖和/或框圖描述本發明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數據處理裝置的處理器執行時,產生了實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的裝置。
[0092]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數據處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現流程圖和/或框圖中的一個或多個方框中規定的功能/動作的指令的制造品(article of manufacture)0
[0093]計算機程序指令也可以加載到計算機、其它可編程數據處理裝置或者其它設備上,使得一系列操作步驟在計算機、其它可編程裝置或者其它設備上執行,產生一種計算機實現的過程,使得在所述計算機或者其它可編程裝置上執行的指令提供用于實現在所述流程圖和/或框圖的一個或多個塊中所指定的功能/動作的過程。
[0094]附圖中的流程圖和框圖顯示了根據本發明的多個實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個連續的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或動作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
[0095]本文所使用的術語僅僅是為了描述特定的實施例而不是要作為本發明的限制。所本文所使用的,除非上下文明確地另外指出,否則單數形式的“以”、“一個”和“這個”是要也包括復數形式。還應當理解,當在本說明書使用時,術語“包括”規定所述特征、整數、步驟、操作、元件和/或組件的存在,但是并不排除一個或多個其它特征、整數、步驟、操作、元件、部件和/或其組的存在或添加。
[0096]以下權利要求中所有方式或步驟加功能元件的對應結構、材料、動作及等價物都是要包括用于結合具體所述的其它所述元件執行所述功能的任何結構、材料或行為。已經為了說明和描述給出了本發明的描述,但這不是詳盡的或者要把本發明限定到所公開的形式。在不背離本發明范圍與主旨的情況下,許多修改和變化對本領域普通技術人員都將是顯而易見的。實施例的選擇和描述是為了最好地解釋本發明的原理和實踐應用,并使本領域普通技術人員能夠理解本發明具有適于預期特定使用的各種修改的各種實施例。
[0097]本文所繪出的流程圖僅僅是一個例子。在不背離本發明主旨的情況下,對于這個圖或者其中所描述的步驟(或操作)可以有許多變化。例如,步驟可以按不同的次序執行或者步驟可以添加、刪除或修改。所有這些變化都被認為是要求保護的發明的一部分。
[0098]盡管已經描述了本發明的示例性實施例,但是應當理解,現在和將來本領域技術人員都可以進行屬于以下權利要求范圍的各種改進與增強。這些權利要求應當被認為是維護對首先描述的發明的適當保護。
【權利要求】
1.一種用于把對象傳送到移動設備的方法,所述方法包括: 響應移動設備從由第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,把存儲在第一高速緩存中的對象從第一高速緩存傳送到第二高速緩存;以及 從第一高速緩存向第二高速緩存傳送使第二高速緩存把對象轉發到第二區域中的移動設備的指令。
2.如權利要求1所述的方法,進一步包括由第一高速緩存檢測移動設備到由第二高速緩存提供服務的第二區域的移交,其中檢測包括第一高速緩存監聽蜂窩網絡移交消息,從而啟動存儲在第一高速緩存中的對象向第二高速緩存的傳送。
3.如權利要求1所述的方法,進一步包括從第一高速緩存傳送發現請求消息,其中所述發現請求消息指示第一高速緩存正在進行搜索,以期發現在移動設備從第一區域移開之后現在正為移動設備提供服務的任何高速緩存;以及 由第一高速緩存從現在正為移動設備提供服務的第二高速緩存接收返回的發現響應消息。
4.如權利要求1所述的方法,其中對象包括視頻與音頻內容、音頻內容、視頻內容、媒體、下載、流傳輸內容和游戲內容中的至少一種。
5.如權利要求1所述的方法,其中對象是從互聯網檢索的并且存儲在第一高速緩存中,以便經蜂窩網絡提供給移動設備。
6.如權利要求1所述的方法,進一步包括從第一高速緩存向第二高速緩存傳送對象的傳送上下文,使得第二高速緩存可以從第一高速緩存停止的地方開始繼續向移動設備傳送對象的分組。
7.如權利要求1所述的方法,其中虛擬用戶設備配置成在把對象傳送到移動設備的過程中發起控制消息,所述控制消息對應于向虛擬核心網絡網關節點傳送對象并且在所述虛擬核心網絡網關節點終止對象。
8.如權利要求1所述的方法,其中虛擬核心網絡網關節點配置成在把對象發送到移動設備的過程中發起控制消息,所述控制消息對應于向虛擬用戶設備軟件系統傳送對象并且在所述虛擬用戶設備軟件系統終止對象。
9.一種用于把對象傳送到移動設備的方法,所述方法包括: 響應移動設備從由存儲相同對象的第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,由第二高速緩存從第一高速緩存接收所述相同對象的傳送上下文; 第二高速緩存本地存儲與第一高速緩存相同的對象;以及 根據從第一高速緩存接收到的傳送上下文,由第二高速緩存把本地存儲在第二高速緩存中的相同對象傳送到第二區域中的移動設備。
10.如權利要求9所述的方法,其中傳送上下文包括相同對象的內容標識與相同對象的傳送狀態。
11.如權利要求10所述的方法,其中傳送狀態包括以下至少一個: 當處于第一區域中時已經由第一高速緩存傳送到移動設備的相同對象的分組序列號;當處于第一區域中時已經由第一高速緩存傳送到移動設備的相同對象的最后一組分組序列號;以及 當處于第一區域中時已經得到確認由移動設備接收的相同對象的分組序列號。
12.如權利要求9所述的方法,進一步包括由第二高速緩存監視從第二區域接收到的具有未知傳送上下文的分組。
13.如權利要求9所述的方法,進一步包括傳送發現請求消息,所述發現請求消息指示第二高速緩存正在進行搜索,以期發現在移動到第二區域之前為移動設備先前提供服務的先前服務高速緩存;以及 在第二高速緩存從第一高速緩存接收發現響應消息,其中所述發現響應消息指示第一高速緩存先前為移動設備提供服務。
14.如權利要求9所述的方法,其中第二高速緩存配置成接收相同對象的傳送上下文,使得第二高速緩存可以從第一高速緩存停止的地方開始繼續向移動設備傳送相同對象的分組。
15.一種用于把對象傳送到移動設備的系統,所述系統包括: 網絡; 第一高速緩存,配置成經網絡進行通信并且存儲對象; 響應移動設備從由第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,所述第一高速緩存配置成把存儲在第一高速緩存中的對象傳送到第二高速緩存;以及 所述第一高速緩存配置成向從第一高速緩存接收對象的第二高速緩存傳送指令,其中所述指令使第二高速緩存把對象轉發到第二區域中的移動設備。
16.如權利要求15所述的系統,其中第一高速緩存配置成檢測移動設備到由第二高速緩存提供服務的第二區域的移交,其中檢測包括第一高速緩存監聽蜂窩網絡移交消息,以便知道向第二高速緩存傳送對象。
17.如權利要求15所述的系統,其中第一高速緩存配置成發送發現請求消息,所述發現請求消息指示第一高速緩存正在進行搜索,以期發現從移動設備從第一區域移開之后現在正為移動設備提供服務的任何高速緩存;以及 其中第一高速緩存配置成從現在正為移動設備提供服務的第二高速緩存接收返回的發現響應消息。
18.如權利要求15所述的系統,其中第一高速緩存配置成向第二高速緩存傳送對象的傳送上下文,以使第二高速緩存從第一高速緩存停止的地方開始繼續向移動設備傳送對象的分組。
19.如權利要求15所述的系統,其中第一高速緩存包括虛擬用戶設備; 其中所述虛擬用戶設備配置成在把對象傳送到移動設備的過程中發起控制消息,所述控制消息對應于向虛擬服務GPRS支持節點傳送對象并且在所述虛擬服務GPRS支持節點終止對象。
20.如權利要求15所述的系統,其中第一高速緩存包括虛擬核心網絡網關節點;以及 其中所述虛擬核心網絡網關節點配置成在把對象傳送到移動設備的過程中發起控制消息,所述控制消息對應于向虛擬用戶設備傳送對象并且在所述用戶設備終止對象。
21.一種用于把對象傳送到移動設備的系統,所述系統包括: 網絡; 第一高速緩存,配置成經網絡與第二高速緩存通信,所述第二高速緩存存儲與第一高速緩存相同的對象; 響應移動設備從由第一高速緩存提供服務的第一區域移動到由第二高速緩存提供服務的第二區域,第二高速緩存配置成從第一高速緩存接收相同對象的傳送上下文; 第二高速緩存配置成根據從第一高速緩存接收到的傳送上下文把存儲在第二高速緩存中的相同對象傳送到第二區域中的移動設備。
22.如權利要求21所述的系統,其中傳送上下文包括相同對象的內容標識與相同對象的傳送狀態。
23.如權利要求21所述的系統,其中第二高速緩存配置成監視從第二區域接收到的具有未知傳送上下文的分組。
24.如權利要求21所述的系統,其中第二高速緩存配置成傳送發現請求消息,所述發現請求消息指示第二高速緩存正在進行搜索,以期發現在移動到第二區域之前為移動設備先前提供服務的先前服務高速緩存;以及 其中第二高速緩存配置成從第一高速緩存接收發現響應消息,其中所述發現響應消息指示第一高速緩存先前為移動設備提供服務。
25.如權利 要求21所述的系統,其中第二高速緩存配置成接收相同對象的傳送上下文,使得第二高速緩存可以從第一高速緩存停止的地方開始繼續向移動設備傳送相同對象的分組。
【文檔編號】H04W36/00GK103597876SQ201280026270
【公開日】2014年2月19日 申請日期:2012年5月22日 優先權日:2011年6月28日
【發明者】高鳳晙, 李康源, V·帕帕斯, D·維爾馬 申請人:國際商業機器公司