CN104243542A - 信息处理设备、内容分发方法及内容分发系统 - Google Patents
信息处理设备、内容分发方法及内容分发系统 Download PDFInfo
- Publication number
- CN104243542A CN104243542A CN201410239137.2A CN201410239137A CN104243542A CN 104243542 A CN104243542 A CN 104243542A CN 201410239137 A CN201410239137 A CN 201410239137A CN 104243542 A CN104243542 A CN 104243542A
- Authority
- CN
- China
- Prior art keywords
- address
- mobile terminal
- protocol device
- virtual protocol
- copy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
Abstract
本发明提供一种信息处理设备、内容分发方法及内容分发系统,目的为了防止内容分发系统中通信量的增加。解决手段:一种信息处理设备,包括:第一存储单元,其存储内容;第二存储单元,其存储包括有移动终端的本地地址和转交地址、虚拟代理器的本地地址、分发内容以及会话状态的会话信息;以及处理单元,进行如下处理:在接收到来自建立会话的移动终端的位置登记请求时,基于位置登记请求来更新会话信息;寻找位于移动终端附近的信息处理设备;向所检测到的信息处理设备通知会话信息;在接收到与建立同另一信息处理设备的会话的移动终端有关的会话信息时,向移动终端发送包括有虚拟代理器的地址的位置登记请求;以及分发包括在会话信息中的内容。
Description
技术领域
本发明涉及用于分发内容的信息处理设备、内容分发方法以及内容分发系统。
背景技术
为了更有效地分发内容,网络内容分发通常采用如下系统:在该系统中,布置有多个缓存服务器,将内容分散给缓存服务器,并且客户端从邻近的缓存服务器下载内容。系统的示例包括内容分发网络(CDN)。
图1是示出了CDN系统的示例的图。在CDN系统中布置了多个副本。该副本是缓存服务器,并且副本是通过例如因特网服务提供商(ISP)管理并且存在于ISP的网络中。在图1所示的示例中,一个副本用作主服务器,其他副本用作从服务器。在图1中,将主服务器描述为副本#Master,将从服务器描述为副本#1至#3。除非特别区分,可以简单地描述为副本。
副本#Master通过因特网从具有原始内容的网络服务器获取内容,并且将该内容保存在缓存中。副本#1至副本#3从副本#Master下载内容并将内容保存在缓存中。移动终端访问相邻的副本,并且与该副本建立传输控制协议(TCP)通信会话以下载内容。在此情况下,副本用作移动终端的虚拟代理器。因此,在移动终端与副本之间安置通信会话,并且可以减少网络中的通信量。
如果在从移动终端访问时,所请求的内容没有保存在缓存中,则副本从副本#Master获取内容并将该内容保存在缓存中。如果所请求的内容没有保存在副本#Master的缓存中,则副本#Master从具有原始内容的网络服务器下载内容,并且将该内容提供给副本或移动终端。
[现有技术]
[专利文献]
[专利文献1]日本专利特许公报No.2003-289327
发明内容
本发明要解决的问题
然而,传统内容分发技术具有以下问题。图2是用于描述传统分发技术中的问题的图。图2示出了与图1类似的CDN系统。
虚拟代理器是在由移动终端首次访问的副本中创建的对象。即使当移动终端移动至不同链路,如果保持与首次访问的副本中的虚拟代理器的通信会话,则移动终端继续从该副本中的虚拟代理器下载内容。
例如,在图2所示的示例中,如果移动终端在建立通信会话的同时从连接副本#1的链路移动至连接副本#2的链路,则移动终端继续从副本#1下载内容。副本#2位于与移动目的地处的移动终端更近的距离处,并且副本#2在缓存中保存相同的内容。然而,由于移动终端继续从副#1下载内容,所以在网络中生成额外的通信量,并且效率低。
此外,为了使移动终端从移动目的地处的链路中的副本#2下载内容,移动终端通常断开与副本#1的通信会话,以建立与副本#2的通信会话。移动终端的用户执行结束网络浏览器等的操作,以断开与副本#1的通信会话,而该操作对用户来说是麻烦的。
本发明的一个方面的目的是提供一种信息处理设备、内容分发方法和内容分发系统,其能够抑制在内容分发中由于移动终端的移动而造成的网络中通信量的增加。
解决问题的手段
本发明的一个方面提供了一种信息处理设备,包括:
第一存储单元,该第一存储单元存储内容;
第二存储单元,该第二存储单元存储包括正在建立会话的移动终端的本地地址和转交地址、用于与移动终端的会话的本地地址、分发内容以及会话状态的会话信息;以及
处理单元,该处理单元进行如下处理:在接收到来自正在建立会话的移动终端的位置登记请求时,基于该位置登记请求来更新与移动终端有关的会话信息、基于包括在位置登记请求中的移动终端的地址来寻找位于移动终端附近的信息处理设备、在与移动终端有关的更新之后向所检测到的信息处理设备通知会话信息;以及
在接收到与正在建立同另一信息处理设备的会话的移动终端有关的会话信息时,向移动终端发送位置登记请求,位置登记请求包括在与包括在会话信息中的移动终端的会话中所使用的地址,以及分发包括在会话信息中的内容。
本发明的另一方面提供了一种包括有多个上述信息处理设备的内容分发系统。此外,本发明的另一方面提供了一种其中信息处理设备执行过程的内容分发方法。此外,本发明的其他方面可以包括使得计算机能够用作信息处理设备的程序以及记录该程序的计算机可读非暂态记录介质。能够通过计算机等读取的非暂态记录介质是如下记录介质:其中,通过电操作、磁操作、光操作、机械操作或化学操作来累积信息,例如数据和程序,并且可以从计算机等读取该信息。
本发明的效果
根据所公开的信息处理设备、内容分发方法和内容分发系统,可以抑制由于在内容分发中移动终端的移动而造成的网络中通信量的增加。
附图说明
图1是示出了CDN系统的示例的图;
图2是用于描述传统的内容分发技术的问题的图;
图3是示出了根据第一实施例的内容分发系统的配置示例的图;
图4是示出了缓存服务器的硬件配置示例的图;
图5是示出了根据第一实施例的用作副本的缓存服务器的功能块的示例的图;
图6是通信目的地登记表的示例;
图7是会话信息表的示例;
图8是UE邻近副本确定表的示例;
图9是虚拟代理器本地代理管理表的示例;
图10是示出了第一实施例中的内容分发系统中的处理序列示例的图;
图11A是示出了在图10的OP11中从移动终端发送至副本#1的地址的HTTP GET消息的示例的图;
图11B是示出了当移动终端将连接副本#1的链路处理为外部链路时,向副本的地址发送的HTTP GET消息的示例的图;
图12是示出了在图10的OP12中从副本#1发送至移动终端的HTTP重定向包的示例的图;
图13是示出了在图10的OP13中从移动终端发送至副本#1的HTTPGET消息的示例的图;
图14是示出了在图10的OP14中从副本#1发送至移动终端的HTTPGET消息的响应包的示例的图;
图15是示出了在图10的OP18中从移动终端发送至终端本地代理5的绑定更新(BU)的示例的图;
图16A是示出了在图10的OP21中从移动终端发送至正在建立会话的副本#1中的虚拟代理器的BU的示例的图;
图16B是示出了从移动终端发送至正在建立会话的副本中的虚拟代理器的BU包的示例的图;
图17是示出了在图10的OP24中从副本#2中的虚拟代理器发送至虚拟代理器本地代理的BU的示例的图;
图18是示出了在图10的OP25中从副本#2中的虚拟代理器发送至移动终端4的BU的示例的图;
图19是虚拟代理器处理单元在接收到去往副本的地址的HTTP GET消息时的过程的流程图的示例;
图20A是虚拟代理器处理单元在接收到去往副本中的虚拟代理器的地址的TCP包时的过程的流程图的示例;
图20B是虚拟代理器处理单元在接收到去往副本中的虚拟代理器的地址的TCP包时的过程的流程图的示例;
图20C是虚拟代理器处理单元在接收到去往副本中的虚拟代理器的地址的TCP包时的过程的流程图的示例;
图20D是虚拟代理器处理单元在接收到去往副本中的虚拟代理器的地址的TCP包时的过程的流程图的示例;
图21是在图10的OP14的过程之后副本#1的通信目的地登记表和会话信息表的示例;
图22是虚拟代理器处理单元在接收到来自移动终端的BU时过程的流程图的示例;
图23是作为切换目的地处的副本的虚拟代理器处理单元在接收到来自另一副本的通信目的地登记表和会话信息表的记录时的过程的流程图的示例;
图24是在图10的OP23的过程之后副本#1和副本#2的通信目的地登记表和会话信息表的示例;
图25是作为虚拟代理器本地代理的虚拟代理器本地代理处理单元在接收到来自虚拟代理器的BU时的过程的流程图的示例;
图26是在图10的OP24的过程之后副本#1和副本#2的虚拟代理器本地代理管理表的示例;
图27是作为虚拟代理器本地代理的虚拟代理器本地代理处理单元在接收到来自移动终端的TCP包时的过程的流程图的示例;
图28是根据第二实施例的通信目的地登记表的示例;
图29是根据第二实施例的虚拟代理器本地代理管理表的示例;
图30是示出了根据第二实施例的内容分发系统中的过程的序列的示例的图;
图31是在图30的OP31中从移动终端发送至副本#1的地址的HTTPGET消息的示例;
图32是示出了在图30的OP32中从副本#1发送至移动终端的HTTPGET消息的响应消息包(HTTP200OK)的示例的图;
图33A是示出了在图30的OP39中从移动终端发送至正在建立会话的副本#1中的虚拟代理器的BU包的示例的图;
图33B是示出了在图30的OP39中从移动终端发送至正在建立会话的副本#1中的虚拟代理器的BU包的示例的图;
图34是示出了在图30的OP42中从副本#2中的虚拟代理器发送至虚拟代理器本地代理3的BU包的示例的图;
图35是示出了在图30的OP43中从副本#2中的虚拟代理器发送至移动终端4的BU包的示例的图;
图36是示出了在图30的OP44中从虚拟代理器本地代理发送至副本#2中的虚拟代理器的IP包中的IP的示例的图;
图37是虚拟代理器处理单元在接收到去往副本的地址的内容请求时的过程的流程图的示例;
图38是作为切换目的地处的副本的虚拟代理器处理单元在接收到来自另一副本的通信目的地登记表和会话信息表的记录时的过程的流程图的示例;
图39是作为虚拟代理器本地代理的虚拟代理器本地代理处理单元在接收到来自虚拟代理器的BU时的过程的流程图的示例;
图40是作为虚拟代理器本地代理的虚拟代理器本地代理处理单元在接收到来自移动终端的TCP包时的过程的流程图的示例;
图41是根据第三实施例的通信目的地登记表的示例;
图42是示出了根据第三实施例的内容分发系统中的过程序列的示例的图;
图43是作为虚拟代理器本地代理的虚拟代理器本地代理处理单元在接收到来自移动终端的TCP包时的过程的流程图的示例;以及
图44是虚拟代理器处理单元在接收到来自虚拟代理器本地代理的TCP包时的过程的流程图的示例。
具体实施方式
在下文中,将参照附图描述本发明的实施例。以下实施例的配置是说明性的,并且本发明不限于实施例的配置。
<第一实施例>
图3是示出了根据第一实施例的内容分发系统的配置的示例的图。内容分发系统100包括多个副本。然而,为了方便,在图3所示的示例中,选取并示出副本#1、副本#2和副本#Master。此外,尽管图3所示的内容分发系统是基于CDN,但是该系统不限于此。
假设在图3所示的内容分发系统100中采用移动IPv6。图3所示的内容分发系统100不限于IPv6,并且当采用IPv4时,也可以应用第一实施例。
移动IPv6是IPv6的扩展规范之一,并且移动IPv6甚至在移动至另一网络后仍保持连接,同时保存相同的IP地址。在移动IPv6中,移动终端(用户设备;也称为UE)以及副本中的虚拟代理器使用本地地址(homeaddress)和转交地址(care-of address)来保持与网络的连接。在本说明书中,“链路”与“网络”同义地使用。此外,链路是相同的事实意味着网络地址是相同的。
本地地址是在移动终端的本地链路中使用的地址。转交地址是向移动目的地处的链路(外部链路)分派的地址,并且该地址根据由于移动终端的移动而造成的链路的变化而改变。管理移动终端的本地地址和转交地址之间的对应关系的本地代理存在于本地链路中。当移动终端移向外部链路并且获取新的转交地址时,移动终端向本地代理通知新的转交地址。如果存在正在建立通信会话的通信伙伴时,也向通信伙伴通知转交地址。本地地址和转交地址的关联被称为移动IP中的地址登记。通过发送绑定更新来通知转交地址。在下文中,将绑定更新描述为BU。该BU也称为位置登记请求。
在移动IPv6中,当数据被发送到本地地址,本地代理将数据转发至转交地址,并且用作中继站。因此,即使通信伙伴存在于外部链路中并且转交地址不是已知的,该数据也能到达通信伙伴。
图3所示的示例示出了移动终端4下载内容的示例。假设在第一实施例中移动终端4的本地链路是连接的副本#1的链路。还假设副本#2连接至与副本#1不同的链路。因此,连接副本#2的链路是移动终端4的外部链路。
移动终端4首先连接至副本#1,以从副本#1下载内容。该内容是通过例如超本文传输协议(HTTP)下载的。在副本#1中,根据来自移动终端4的访问来创建虚拟代理器2的对象。虚拟代理器2将连接作为创建源的副本#1的链路处理为本地链路,并且具有由副本#1分派的本地地址。虚拟代理器2用作移动终端4的通信伙伴。
此外,在作为虚拟代理器2的创建源的副本#1中,也启动虚拟代理器本地代理3的对象。虚拟代理器本地代理3管理虚拟代理器2的本地地址与转交地址之间的对应关系。虚拟代理器本地代理3的位置可以在与副本#1相同的链路内的任意设备中,并且该位置不限于此。在第一实施例中,假设虚拟代理器本地代理3存在于与其中存在虚拟代理器2的设备相同的设备中。
如果移动终端4从连接副本#1的链路移向连接副本#2的链路,同时建立与虚拟代理器2的通信会话,则移动终端4获取在移动目的地处的链路中的转交地址。移动终端4将用于通知新获取的转交地址与本地地址之间的对应关系的BU发送至终端本地代理5和作为通信伙伴的虚拟代理器2(OP1)。
作为虚拟代理器2的创建源的副本#1通过接收来自移动终端4的BU来检测移动终端4至不同链路的移动。副本#1根据由BU通知的移动终端4的转交地址来寻找位于移动终端4附近的副本,并且检测副本#2。副本#1将虚拟代理器2与移动终端4之间的会话信息移向副本#2(OP2)。虚拟代理器2与移动终端4之间的会话信息包括例如虚拟代理器2的本地地址、移动终端4的本地地址和转交地址、分发内容、分发内容的分发完成位置以及指示会话状态的信息。
虚拟代理器2与移动终端4之间的会话信息从副本#1移向副本#2表示虚拟代理器2从本地链路移向外部链路。因此,移向副本#2的虚拟代理器2获取转交地址并且将BU发送至副本#1中的虚拟代理器2的虚拟代理器本地代理3和作为通信伙伴的移动终端4(OP3和OP4).
此外,在待从副本#1移向副本#2的移动终端4与虚拟代理器2之间建立的会话信息还包括分发内容、会话状态等。因此,在移向副本#2之后,虚拟代理器2使用会话信息来从内容分发完成位置处而非从开始处;重新启动内容分发。在根据移动IP的规范虚拟代理器2通过IP隧道中的IP移向副本#2后,将在虚拟代理器2的移动期间产生的去往虚拟代理器2的通信数据从虚拟代理器本地代理3传输至虚拟代理器2。
更具体地,在第一实施例中,虚拟代理器2根据作为通信伙伴的移动终端的移动而移向移动终端附近的副本。结果,移动终端4在移动之前和之后从邻近副本下载内容,并且可以减少网络中的额外通信量的增加。从移动终端4的用户来看,在移动之前和之后,连续地分发内容,而无需因为移动而再次下载内容或者无需用于转换连接目的地的操作,并且在移动之前或之后不存在操作的负担或不便。
(缓存服务器的配置)
图4是示出了缓存服务器1的硬件配置的示例的图。该缓存服务器1是用作例如图3所示的内容分发系统100中的副本#1、副本#2或副本#Master的信息处理设备。缓存服务器1包括处理器101、主存储设备102、辅助存储设备105、可移动记录介质驱动设备106和网络接口107。这些设备可以通过总线109相互连接。
可移动记录介质驱动设备106读取记录在可移动记录介质110中的程序和各种数据,并且将程序和各种数据输出至处理器101。可移动记录介质110是例如记录介质,例如SD卡、miniSD卡、microSD卡、USB(通用串行总线)闪存、CD(压缩盘)、DVD(数字多用途光盘)、蓝光碟以及闪存卡。
网络接口107是向网络输入或从网络输出信息的接口。网络接口107包括连接至有线网络的接口和连接至无线网络的接口。网络接口107例如为网络接口卡(NIC)、无线局域网(LAN)卡等。通过网络接口107接收的数据等被输出至处理器101。尽管为了方便,在图4中通过一个框来显示网络接口107,但是网络接口107可以包括例如多个端口。
辅助存储设备105存储处理器101使用的各种程序和数据,以执行程序。辅助存储设备105为例如非易失性存储器,例如可擦除可编程只读存储器(EPROM)和硬盘驱动器。辅助存储设备105保存例如操作系统(OS)、内容分发程序和各种其他应用程序。
主存储设备102提供用于将存储在辅助存储设备105中的程序加载至处理器101上的存储区域和工作区域,并且主存储器设备102用作缓冲器。主存储设备102为例如半导体存储器,例如RAM(随机存取存储器)和ROM。
处理器101是例如CPU(中央处理单元)。处理器101将在辅助存储设备105或可移动记录介质110中保存的OS和各种应用程序加载在主存储介质102上,并且执行OS和各种应用程序以执行各种过程。处理器101的数目不限于一个,并且可以包括有多个处理器101。
例如,在缓存服务器1中,处理器101将在辅助存储设备105中保存的内容分发程序加载在主存储设备102上,以执行内容分发程序。缓存服务器1通过执行内容分发程序来用作副本。缓存服务器1的硬件配置是一个示例,并且该硬件配置不限于此。可以根据实施例适当地省略、代替或添加组成元件。例如,缓存服务器1可以包括输入设备例如鼠标和键盘以及输出设备例如显示器。内容分发程序可以记录在例如可移动记录介质110中。内容分发程序是“信息处理程序”的示例。
图5是示出了根据第一实施例的作为副本的缓存服务器1的功能块示例的图。缓存服务器1执行内容分发程序并且包括功能块,例如包转发处理单元11、内容缓存管理单元12、虚拟代理器处理单元13、网络缓存器14、通信状态管理表组15、虚拟代理器本地代理16以及虚拟代理器本地代理管理表17。当缓存服务器1也用作虚拟代理器本地代理3的情况下,包括虚拟代理器本地代理16和虚拟代理器本地代理管理表17作为功能块。
包转发处理单元11向内容缓存管理单元12、虚拟代理器处理单元13以及虚拟代理器本地代理处理单元16中的一个单元分派所接收的包。例如,包转发处理单元11识别流,并且根据所接收的包所属的流来分派所接收的包。
例如,包转发处理单元11将从缓存服务器1发送的HTTP(通信伙伴侧上的端口号为80)的流的包转发至内容缓存管理单元12。
存在于缓存服务器1中的虚拟代理器2包括将连接缓存服务器1的链路处理为本地链路的虚拟代理器2以及将连接缓存服务器1的链路处理为外部链路的虚拟代理器2。因此,所接收的包到将连接缓存服务器1的链路处理为本地链路的虚拟代理器2的目的地址是虚拟代理器2的本地地址。此外,所接收的包到将连接缓存服务器1的链路处理为外部链路的虚拟代理器2的目的地址是虚拟代理器2的转交地址。因此,如果所接收的包的目的地址是存在于缓存服务器1中的虚拟代理器2的本地地址或转交地址,则包转发处理单元11将所接收的包转发至虚拟代理器处理单元13。
如果所接收的包的目的地址是在后面描述的虚拟代理器本地代理管理表17中所描述的地址,则包转发处理单元11将所接收的包转发至虚拟代理器本地代理处理单元16。
包转发处理单元11可以指的是例如后面描述的通信目的地登记表、虚拟代理器本地代理管理表17等,以分派所接收的包。可替代地,例如,可以将除了通信目的地登记表和虚拟代理器本地代理表17等的专用表保存在辅助存储设备105以及提到的存储区域中。
内容缓存管理单元12管理网络缓存14中的内容。例如,如果从虚拟代理器处理单元13请求的内容没有保存在网络缓存14中,则从副本#Master或网络服务器下载该内容,并且将该内容存储在网络缓存14中。
网络缓存14保存内容。例如,在辅助存储设备105的存储区域中预先静态地创建网络缓存14,或者通过执行内容分发程序动态地创建网络缓存14。如果例如网络缓存14中所保存的内容未被访问持续预定时间,则内容缓存管理单元12删除该内容。网络缓存14是“第一存储单元”的示例。
虚拟代理器处理单元13执行存在于缓存服务器1中的虚拟代理器2的过程。具体地,例如,当接收到来自移动终端的内容请求时,虚拟代理器处理单元13创建虚拟代理器2并且将相对应的内容发送至请求源。
此外,当移动终端在内容分发期间移动,并且接收到来自移动终端的BU时,虚拟代理器处理单元13寻找移动终端的移动目的地附近的副本。虚拟代理器处理单元13将移动终端与虚拟代理器2之间的会话信息等发送至所检测的副本。具体地,在此情况下发送的信息是在下面所描述的通信状态管理表组15中存储的通信目的地登记表和会话信息表中相对应的记录。
此外,当接收到来自另一副本的在副本中的虚拟代理器2与移动终端之间的会话信息等时,虚拟代理器处理单元13重新启动虚拟代理器2与作为通信伙伴的移动终端4之间的会话,并且将内容分发给移动终端4。将在后面描述通过虚拟代理器处理单元13的过程的细节。虚拟代理器处理单元13是“处理单元”的示例。
虚拟代理器本地代理处理单元16执行在连接至包括虚拟服务器1的相同链路的设备中创建的虚拟代理器2的本地代理的过程。将在后面描述过程细节。
(数据结构)
在主存储设备102或辅助存储设备105的存储区域中创建通信状态管理表组15。存储存在于缓冲服务器1中的虚拟代理器2与通信伙伴之间的会话信息。在通信状态管理表组15中存储通信目的地登记表、会话信息表和UE相邻副本确定表。
图6是通信目的地登记表的示例。通信目的地登记表是存储存在于缓存服务器1中的虚拟代理器2和正在接收内容分发的移动终端的表。图6所示的通信目的地登记表的记录包括“UE本地地址”项、“UE转交地址”项、“虚拟代理器本地地址”项以及“虚拟代理器转交地址”项。
移动终端在连接至本地链路时不具有转交地址。因此,如果连接缓存服务器1的链路是移动终端的本地链路,则不存储“UE转交地址”,而如果链路是外部链路,则存储移动终端的转交地址。
在缓存服务器1中还存在从另一副本移动的虚拟代理器2。如果虚拟代理器2是由缓存服务器1创建的或者连接缓存服务器1的链路是本地链路,则“虚拟代理器转交地址”是空的。如果虚拟代理器2将连接缓存服务器1的链路处理为外部链路,则虚拟代理器2的转交地址存储在“虚拟代理器转交地址”中。
当例如接收到来自移动终端的第一连接请求时,通过虚拟代理器处理单元13来创建和登记通信目的地登记表的记录。在第一实施例中,通信目的地登记表中存在相对应的记录意味着在缓存服务器1中存在相对应的虚拟代理器2。当完成内容分发并且断开会话时,虚拟代理器处理单元13删除通信目的地登记表的记录。在第一实施例中删除通信目的地登记表中的记录意味着在缓存服务器1中不存在相对应的虚拟代理器2。
图7是会话信息表的示例。会话信息表是用于保存通信目的地登记表中登记的在虚拟代理器2与移动终端之间建立的会话状态的表。
图7所示的会话信息表包括“UE本地地址”项、“UE端口”项、“发送序列号(SQN)”项、“确认序列号(SQN)”项、“所接收的序列号(SQN)”项、“当前内容统一资源标识符(URI)”项以及“当前内容的位置”项。
“UE本地地址”使会话信息表的记录与通信目的地登记表的记录相关联。
“UE端口”存储在移动终端与虚拟代理器2之间建立的TCP通信会话的移动终端侧上的端口号。因为移动终端是由虚拟代理器2处理的会话的发送器,所以移动终端侧的端口号在每个会话中是不同的。因此,通过移动终端的本地地址和端口号来指定会话。
“发送SQN”存储提供给从虚拟服务器2发送至移动终端的最新的协议数据单元(PDU)的序列号。针对从虚拟代理器2发送至移动终端的PDU,“确认SQN”存储一个序列号,对于该序列号,已经接收到来自移动终端的确认(TCP ACK)。“所接收的SQN”存储通过虚拟代理器2从移动终端接收的最新PDU的序列号。
“当前内容URI”存储从与相对应的TCP会话有关的移动终端请求的内容的标识符。在图7所示的示例中,将内容的URI(统一资源标识符)存储作为内容的标识符。
“当前内容的位置”存储从与相对应的TCP会话有关的移动终端请求的内容的顶部起分发完成的当前位置。例如,如果“当前内容的位置”为0字节,则尚未发送内容。例如,如果“当前内容的位置”为200字节,则从内容的顶部至200字节的发送完成。
图7所示的示例表示在本地地址“UE#x-本地地址”的情况下,在缓存服务器1中的虚拟代理器2与移动终端之间建立了两个会话,其中,移动终端侧上的端口号是“10000”和“10002”。尽管在第一实施例中假设针对一个移动终端准备一个虚拟代理器并且在一个虚拟代理器与一个移动终端之间使用多个会话,但是配置不限于此。例如,可以针对每个会话准备虚拟代理器。
在第一实施例中,虚拟代理器处理单元13在建立第一通信会话时创建会话信息表的记录。此外,虚拟代理器处理单元13每次接收和发送TCP的PDU时更新相对应的记录。当断开通信会话时,虚拟代理器处理单元13删除会话信息表中相对应的记录。
图8是UE邻近副本确定表的示例。UE邻近副本确定表是存储网络地址与覆盖网络地址的副本之间的关联的表。
图8所示的UE邻近副本确定表包括“UE容纳网络(accommodationnetwork)”项和“邻近副本”项。内容分发系统100中的网络地址存储在“UE容纳网络”中。位于相对应的网络地址附近的副本的标识信息存储在“相邻副本”中。例如,可以将副本的地址存储作为副本的识别信息。
例如,通过安装内容分发程序来预先登记或者通过内容分发系统100的管理器预先登记UE邻近副本确定表。
图9是虚拟代理器本地代理管理表17的示例。虚拟代理器本地代理管理表17是存储虚拟代理器2的本地地址与转交地址之间的关联的表,该虚拟代理器2将连接缓存服务器1的链路处理为本地链路。
图9所示的虚拟代理器本地代理管理表17包括“虚拟代理器的本地地址”项和“虚拟代理器转交地址”项。虚拟代理器2在连接至本地链路时不具有转交地址而在连接至外部链路时具有转交地址。因此,在虚拟代理器本地代理管理表17中登记有从连接缓存服务器1的链路(虚拟代理器2的本地链路)移向另一链路(虚拟代理器2的外部链路)的虚拟代理器2。
图6至图9所示的表是说明性的,并且表的数据结构不限于图6至图9所示的示例。
(过程流程)
图10是示出了根据第一实施例的内容分发系统100中的过程序列的示例的图。图10所示的示例表示图3所示的内容分发系统100中的如下顺序:从在移动终端4与副本#1之间建立通信会话,至移动终端4的移动以及虚拟代理器2相对应移动的完成。在图3所示的示例中,假设通信会话是HTTP会话。然而,在内容分发系统100中的移动终端4与副本之间建立的通信会话不限于HTTP。在内容分发系统100中的移动终端4与副本之间建立的会话可以是基于TCP的通信,例如在旨在将内容分发给多个观察者的服务中的文件传输协议(FTP)和HTTP,或者可以是基于单播的UDP的通信,例如普通文件传输协议(TFTP)。
注意,图10中的BS1和BS2分别表示在移动之前和移动之后通过移动终端连接的基站。在图10中,在初始状态下,移动终端4连接至BS1。
在OP11中,移动终端4发送HTTP GET消息。在将副本#1的地址作为目的地址的情况下,发送该HTTP GET。此外,在图10中,HTTP GET消息是由副本#1从移动终端4首先接收的连接请求。
尽管在图10中未示出,但是移动终端4在OP11中发送HTTP GET之前访问域名系统(DNS)服务器,并且基于名称解析来获取与访问目的地的URL相对应的副本#1的地址。
副本#1接收来自移动终端4的HTTP GET消息,以创建移动终端4的虚拟代理器2。
在OP12中,副本#1将HTTP重定向消息返回至移动终端4。HTTP重定向消息是用于通知URL的移动的消息。通过HTTP重定向消息向移动终端4通知副本#1中的虚拟代理器2的本地地址。
在OP13中,移动终端4通过将由HTTP重定向消息通知的虚拟代理器2的本地地址处理为目的地址来发送HTTP GET消息。
在OP14中,副本#1用作虚拟代理器2来向移动终端4发送HTTPGET消息的响应消息。当完成OP14时,建立移动终端4与副本#1中的虚拟代理器2之间的通信会话。
在OP15中,用作虚拟代理器2的副本#1将所请求的内容发送至移动终端4。如果所请求的内容没有存储在副本#1的网络缓存器14中,则副本#1从副本#Master下载相对应的内容并且将该内容发送至移动终端4。
在OP16中,假设移动终端4移动并且从BS1切换至BS2。此外,假设连接移动终端4的链路也因为移动至BS2的覆盖范围而改变。
在OP17中,移动终端4访问预定DHCP服务器(在图3中未示出),并且获取移动目的地处的链路中的转交地址。
在OP18中,因为移动终端4已经新获取了转交地址,所以移动终端4将BU发送至终端本地代理5。此外,因为也将BU发送至移动IP中的通信伙伴,所以移动终端4也将BU发送至作为虚拟代理器2的副本#1,该虚拟代理器2为OP21中的通信伙伴。移动终端4的本地地址与移动目的地处的链路中的转交地址之间的对应关系包括在BU中。其中,终端本地代理5与副本#1中的哪个首先接收由移动终端4发送的BU高度依赖于网络环境,并且BU可能未必总是如图10所示的首先到达终端本地代理5。
在移动终端4的移动期间还分发来自作为虚拟代理器2的副本#1的内容。OP19和OP20示出了在来自移动终端4的BU到达之前由副本#1执行的数据发送。
在OP19和OP20中,因为没有获取移动终端4的移动目的地的转交地址,所以副本#1仍将数据发送至移动终端4的本地地址。在OP19中,尽管数据通过BS1,但是作为目的地的移动终端4没有在BS1的控制下,并且该数据发送以失败结束。
在OP20中来自副本#1的数据发送是OP19中的数据发送的重新发送。在OP20中,终端本地代理5已经接收到BU并且获取了移动终端4的新的转交地址。因此,在OP20中,去往移动终端4的本地地址的数据也传输至终端本地代理5,并且终端本地代理5将数据转发至移动终端4的新的转交地址。
接着,从移动终端4发送的数据以及发送至移动终端4的数据通过BS2。
在OP23中,因为在OP21中接收到来自移动终端4的BU,但是副本#1基于移动终端4的移动目的地处的转交地址检测到副本#1作为移动终端附近的副本。副本#1将与同移动终端4的通信会话有关的信息发送至副本#2。具体地,副本#1将在通信目的地登记表和会话信息表中与移动终端4相对应的记录发送至副本#2。当接收到记录时,副本#2将该记录登记在通信目的地登记表和会话信息表中。结果,虚拟代理器2从副本#1移向副本#2。然而,在此阶段,移动终端4仍识别到“存在与副本#1的会话。
在OP24和OP25中,因为虚拟代理器2已经移动,所以作为虚拟代理器2的副本#2获取虚拟代理器2的转交地址并且将BU发送至虚拟代理器本地代理3和作为通信伙伴的移动终端4。移动终端4接收来自副本#2的BU,并且此后,移动终端4获取虚拟代理器2的转交地址,并且在将转交地址作为目的地的情况下来发送包。结果,与副本#1的会话移向副本#2。
OP22是在完成将虚拟代理器2移向副本#2之前执行的将数据从移动终端4发送至虚拟代理器2。在OP22的阶段,因为没有获取虚拟代理器2的移动目的地的转交地址。所以移动终端4将数据发送至虚拟代理器2的本地地址。因此,将数据传输至作为虚拟代理器2的本地代理的虚拟代理器本地代理3。然而,因为在点OP22处,虚拟代理器本地代理3不知道虚拟代理器2的移动目的地的地址,所以将不将数据转发至虚拟代理器2。例如,虚拟代理器本地代理3将数据临时缓冲在虚拟代理器2中。
当在OP24中接收到来自虚拟代理器2的BU之后,虚拟代理器本地代理3获取虚拟代理器2的移动目的地的转交地址。接着,虚拟代理器本地代理3可以将数据转发至虚拟代理器2。
在OP26中,虚拟代理器本地代理3向虚拟代理器2的移动目的地处的副本#2发送在OP22中缓冲在虚拟代理器2中的数据,以及在将虚拟代理器2的本地地址作为目的地的情况下从移动终端4发送的数据。通过使用根据移动IP规范的IP隧道中的IP,将数据从虚拟代理器本地代理3传输至虚拟代理器2的移动目的地处的副本#2。
同时,在OP25中,移动终端4通过接收来自作为虚拟代理器2的副本#2的BU来将数据发送至虚拟代理器2的转交地址。在OP27和OP28中,因为移动终端4和作为虚拟代理器2的副本#2知道彼此的转交地址,所以将数据发送至转交地址。
(包的示例)
接下来,将根据图10所示的序列的示例的流程来描述所发送和接收的包的示例。
图11A是示出了在图10的OP11中从移动终端4发送至副本#1的地址的HTTP GET消息的示例的图。图11A示出了当移动终端4将连接副本#1的链路处理为本地链路时的HTTP GET消息。因为假设在图10所示的序列中移动终端4将连接副本#1的链路处理为本地链路,所以在OP11中发送图11A所示的HTTP GET消息。在此情况下HTTP GET消息的发送源地址是移动终端4的本地地址(图11A中的UE#x-本地地址)。HTTP GET消息的目的地址是副本#1的地址(图11A中的“副本#1-地址”)。
图11B是示出了当移动终端4将连接副本#1的链路处理为外部链路时发送至副本的地址的HTTP GET消息的示例的图。在此情况下,将用于存储移动终端4的本地地址(图11B中的IP报头中的本地地址=UE#x-本地地址)的字段布置在HTTP GET消息的IP报头。此外,在此情况下HTTP GET消息的发送源地址是移动终端的转交地址(UE#x-转交地址)。
图12是示出了在图10的OP12中从副本#1发送至移动终端4的HTTP重定向包的示例的图。用户数据中的位置字段是存储URL的移动目的地的字段,并且在图12中存储了虚拟代理器2的本地地址(虚拟代理器#x-本地地址)。通过HTTP重定向消息来向移动终端4通知副本#1中的虚拟代理器2的本地地址。
图13是示出了在图10的OP13中从移动终端4发送至副本#1的HTTP GET消息的示例的图。在图10的OP13中,因为移动终端4已经获取了副本#1中的虚拟代理器2的本地地址,所以HTTP GET消息的目的地址是虚拟代理器2的本地地址(虚拟代理器#x-本地地址)。HTTP GET消息的发送源地址是如图11A中的移动终端4的本地地址(UE#x-本地地址)。
图14是示出了在图10的OP14中从副本#1发送至移动终端4的HTTP GET消息的响应包的示例的图。发送源地址是副本#1中虚拟代理器2的本地地址(虚拟代理器#x-本地地址),并且目的地址是移动终端4的本地地址(UE#x-本地地址)。
图15是示出了在图10的OP18中从移动终端4发送至终端本地代理5的BU的示例的图。在图10的OP18中,因为已经将移动终端4移向连接副本#2的作为外部链路的链路并且移动终端4已经获取了转交地址,所以在移动目的地处获取的移动终端4的转交地址(UE#x-转交地址#2)存储在BU的“转交地址”字段中。此外,同样在BU的发送源地址中,还存储了移动目的地处的链路中的移动终端4的转交地址(UE#x-转交地址#2)。
图16A是示出了在图10的OP21中从移动终端4发送至正在建立会话的副本#1中的虚拟代理器2的BU的示例的图。在BU中,在移动目的地处获取的移动终端4的转交地址(UE#x-转交地址#2)也存储在IP移动报头中的“转交地址”字段中。此外,还存储用于BU的发送源地址的移动目的地处的链路中的移动终端4的转交地址(UE#x-转交地址#2)。BU的目的地址是副本#1中的虚拟代理器2的本地地址(虚拟代理器#x-本地地址)。注意,图16A所示的示例是当副本#1中的虚拟代理器2将连接副本#1的链路处理为本地链路的示例。
图16B是示出了从移动终端4发送至正在建立会话的副本中的虚拟代理器2的BU包的示例的图。然而,图16B所示的示例是当正在建立与移动终端4的会话的副本#1中的虚拟代理器2将连接副本#1的链路处理为外部链路时的示例。因此,图16B中所示的BU的目的地址是副本#1中的虚拟代理器2的转交地址(虚拟代理器#y-转交地址#1)。
图17是示出了在图10的OP24中从副本#2中的虚拟代理器2发送至虚拟代理器本地代理3的BU的示例的图。在图10的OP24中,因为虚拟代理器2已经从副本#1移向副本#2并且已经获取了转交地址,所以将在移动目的地处获取的虚拟代理器2的转交地址(虚拟代理器#-转交地址#2)存储在BU的移动IP报头中的“转交地址”字段中。此外,还存储在移动目的地处的链路中的虚拟代理器2的转交地址(虚拟代理器#x-转交地址#2)用于BU的发送源地址。
图18是示出了在图10的OP25中从副本#2中的虚拟代理器2发送至移动终端4的BU的示例的图。在BU包中,在移动目的地处获取的虚拟代理器2的转交地址(虚拟代理器#x-转交地址#2)也存储在移动IP报头中的“转交地址”中。此外,还存储在移动目的地处的链路中的虚拟代理器2的转交地址(虚拟代理器#x-转交地址#2)用于BU的发送源地址。
(内部过程)
接下来,将根据图10所示的序列示例的流程来描述缓存服务器1的内部过程的流程。
图19是虚拟代理器处理单元13在接收到去往副本的地址的HTTPGET消息时的过程的流程图的示例。当例如在图10的OP11中代理器处理单元13接收到去往副本#1的地址的HTTP GET消息(参见图11A)时,在副本#1中开始图19所示的流程图。
在S1中,虚拟代理器处理单元13从所接收的包(HTTP GET消息)中取出移动终端4的本地地址。如果连接副本#1的链路是移动终端4的本地链路,则虚拟代理器处理单元13从HTTP GET消息的发送源地址(参见图11A)中取出移动终端4的本地地址。如果连接副本#1的链路是移动终端4的外部链路,则虚拟代理器处理单元13从HTTP GET消息中取出移动终端4的本地地址,并且从发送源地址(参见图11B)中取出移动终端4的转交地址。接下来,过程进行至S2。
在S2中,虚拟代理器处理单元13基于在S1中从所接收的包(HTTPGET消息)中取出的移动终端4的本地地址来寻找通信目的地登记表中的“UE本地地址”项。如果不存在与在S1中从所接收的包(HTTP GET消息)取出的移动终端4的本地地址匹配的记录(S3:否),则过程进行至S4。
在S4中,因为在通信目的地登记表中不存在相对应的记录,也就是说,因为移动终端4的虚拟代理器2不存在于缓存服务器1中,所以虚拟代理器处理单元13捕获虚拟代理器2的本地地址,以创建虚拟代理器2。可以从例如DHCP服务器获取虚拟代理器2的本地地址。缓存服务器1可以预先保存虚拟代理器2的地址池,并且可以从地址池中的未使用地址中获取本地地址。接下来,过程进行至S5。
在S5中,虚拟代理器处理单元13将记录添加到通信目的地登记表中。将在S1中取出的移动终端4的本地地址、转交地址以及在S4中捕获的虚拟代理器2的本地地址分别保存在此情况下添加的记录中的“UE本地地址”项、“UE转交地址”项以及“虚拟代理器本地地址”项中。因为虚拟代理器2存在于本地链路中,所以该记录的“虚拟代理器转交地址”是空的。此外,当移动终端4将连接缓存服务器1的链路处理为本地链路时,“UE转交地址”是空的。接下来,过程进行至S6。
如果存在与在S1中从所接收的包(HTTP GET消息)中取出的移动终端4的本地地址匹配的记录(S3:是),则存在正在建立与移动终端4的通信会话的虚拟代理器2。在此情况下,由于可能未将记录添加在通信目的登记表中,所以过程进行至S6。
在S6中,虚拟代理器处理单元13将HTTP重定向消息返回至移动终端4。HTTP重定向消息包括用于存储URL的移动目的地的位置字段,并且虚拟代理器处理单元13将虚拟代理器2的本地地址存储在位置字段中(参见图12)。结果,向移动终端4通知虚拟代理器2的本地地址。S6的过程等同于例如图10的OP12。接着,图19所示的过程结束。
图20A、图20B、图20C和图20D示出了虚拟代理器处理单元13在接收到去往副本中的虚拟代理器的地址的TCP包时的过程的流程图的示例。在例如代理器处理单元13接收到去往缓存服务器1中的虚拟代理器2的本地地址的TCP包时,开始图20A所示的流程图。当在图10的OP13中副本#1接收到来自的移动终端4的HTTP GET消息时,也在副本#1中开始图20A所示的流程图。
S11至S13的过程与图19中的S1至S3类似。在S11中,虚拟代理器处理单元13从所接收的包(TCP包)中取出移动终端4的本地地址。在S12中,虚拟代理器处理单元13基于在S11中从所接收的包中取出的移动终端4的本地地址来寻找通信目的地登记表中的“UE本地地址”项。
如果存在与在S11中从所接收的包中取出的移动终端4的本地地址匹配的记录(S13:是),则过程进行至S14。因为在图20之前所执行的图19所示的过程中将记录登记在通信目的地登记表中,所以过程通常进行至S14。
如果不存在与在S11中从所接收的包中取出的移动终端4的本地地址匹配的记录(S13:否),则在缓存服务器1中不存在作为所接收的包的目的地的虚拟代理器2,并且图20A至图20D中所示的过程结束。
在S14中,从所接收的包中取出发送源的端口号。发送源的端口号是TCP会话的移动终端4的一侧上的端口号。接下来,过程进行至S15。
在S15中,虚拟代理器处理单元13基于在S11中从所接收的包中取出的移动终端4的本地地址和在S14中从所接收的包中取出的发送源的端口号来寻找会话信息表的“UE本地地址”项和“UE端口”项。如果存在匹配记录(S16:是),则过程进行至S20。如果不存在匹配记录(S16:否),则过程进行至S17。
在S17中,虚拟代理器处理单元13确定所接收的包是否为连接请求。连接请求的TCP包是TCP SYN包,并且HTTP GET消息是TCP SYN包中的一个包。如果所接收的包是连接请求(S17:是),则过程进行至S18。如果所接收的包不是连接请求(S17:否),则在会话信息表中不存在相对应的记录,并且没有建立会话。因此,图20A至图20D所示的过程结束。
在S18中,虚拟代理器处理单元13将记录添加至会话信息表中。在S11中取出的移动终端4的本地地址和在S14中取出的发送源的端口号分别存储在在此情况下添加的记录的“UE本地地址”和“UE端口”中。还从所接收的包中提取其他记录的项的信息,并且将其他记录的项的信息存储在会话信息表中。接下来,过程进行至S19。
在S19中,虚拟代理器处理单元13将响应发送至所接收的包(连接请求)的发送源的移动终端4。如果所接收的包时HTTP GET消息,则响应是HTTP200OK包(参见图14)。接着,图20A至图20D所示的过程结束。S19的过程等同于例如图10的OP14。
S20是当通信目的地登记表和会话信息表包括与所接收的包的发送源的移动终端4相对应的记录时的过程。在S20中,虚拟代理器处理单元13确定所接收的包是否是断开请求。如果所接收的包是断开请求(S20:是),则过程进行至S22。
如果所接收的包不是断开请求(S20:否),则因为已经确定在虚拟代理器2与移动终端4之间建立了会话,所以所接收的包是数据包。在此情况下,过程进行至S21。
在S21中,因为所接收的包是数据包,所以虚拟服务器处理单元13从所接收的包中提取信息,并且更新会话信息表中相对应的记录。例如,虚拟代理器处理单元13提取所接收的包的序列号并且更新会话信息记录中相对应的“发送SQN”项、“确认SQN”项、“所接收的SQN”项。此外,虚拟代理器处理单元13将内容的下一个PDU发送至移动终端4。接着,图20A至图20D所示的过程结束。S21的过程等同于例如图10的OP15的过程。
在S22中,因为所接收的包是断开请求,所以虚拟代理器处理单元13删除其中所接收的包的发送源的本地地址和发送源的端口号与会话信息表中的“UE本地地址”和“UE端口”一致的记录。接下来,过程进行至S23。
在S23中,将TCP FIN包发送至所接收的包的发送源的移动终端4。随着移动终端4接收TCP FIN包,断开移动终端4与虚拟代理器2之间的通信会话。接下来,过程进行至S24。
在S24中,虚拟代理器处理单元13基于从所接收的包中取出的移动终端4的本地地址来寻找会话信息表中的“UE本地地址”项。S24是如下过程:检查是否存在与由在S22中删除的记录所表示的会话不同的虚拟代理器2与移动终端4之间的会话。如果存在其中“UE本地地址”项与移动终端4的本地地址匹配的记录(S25:是),则虚拟代理器2与移动终端4之间存在另一会话。因此,不删除通信目的地登记表中相对应的记录,并且图20A至图20D所示的过程结束。
如果会话信息表中不存在其中“UE本地地址”项与移动终端4的本地地址相匹配的记录(S25:否),则在虚拟服务器2与移动终端4之间不存在会话。在此情况下,可以删除虚拟代理器2。因此,S26至S28是删除虚拟代理器2的过程。
在S26中,虚拟代理器处理单元13根据通信目的登记表中相对应的记录来确定虚拟代理器2是否连接至本地链路。如果虚拟代理器2连接至本地链路,则通信目的地登记表中相对应的记录的“虚拟代理器转交地址”项是空的。另一方面,如果虚拟代理器2连接至外部链路,则将转交地址存储在通信目的地登记表中相对应的记录的“虚拟代理器转交地址”项中。因此,通过通信目的地登记表中是否存在相对应记录的“虚拟代理器转交地址”项的值来确定虚拟代理器2是否连接至本地链路。
如果虚拟代理器2连接至外部链路(S26:否),则表示虚拟代理器2从另一链路移动。在此情况下,包括虚拟代理器2的本地地址和转交地址的记录存在于虚拟代理器本地代理3的管理虚拟代理器2的虚拟代理器本地代理管理表17中。因此,在S27中,虚拟代理器处理单元13向虚拟代理器2的本地地址发送如下指令:该指令用于删除包括有虚拟代理器本地代理管理表17的虚拟代理器2的本地地址和转交地址的记录。向虚拟代理器2的本地地址发送的删除指令到达管理虚拟代理器2的虚拟代理器本地代理3,并且从虚拟代理器本地代理管理表17删除相对应的条目。接下来,过程进行至S28。
如果虚拟代理器2连接至本地链路(S26:是),则在虚拟代理器本地代理3的管理虚拟代理器2的虚拟代理器本地代理管理表17中不存在虚拟代理器2的记录。因此,过程进行至S28。
在S28中,虚拟代理器处理单元13从通信目的地登记表中删除与虚拟代理器2相对应的记录。随着从通信目的地登记表中删除相对应的记录,从副本中删除用于可移动终端4的虚拟代理器2。接着,图20A至图20D所示的过程结束。
图21是在图10的OP14过程之后副本#1的通信目的地登记表和会话信息表的示例。因为在图10所示的示例中副本#1创建了虚拟代理器2,所以虚拟代理器2连接至本地链路。此外,在图10所示的示例中,假设移动终端4将连接副本#1的链路处理为本地链路。因此,在图21所示的通信目的地登记表的记录中,将值存储在“UE本地地址”项和“虚拟代理器本地地址”项中,并且值没有存储在“UE转交地址”项和“虚拟代理器转交地址”项。
因为在图10的OP14中没有开始分发内容,所以在会话信息表中该记录的“当前内容的位置”项的值为“0字节”。
图22是当从移动终端4接收到BU时通过虚拟代理器处理单元13的过程的流程图的示例。当例如接收到去往缓存服务器1中的虚拟代理器2的BU时,开始图22所示的流程图。在图10的OP21中,当副本#1接收到来自移动终端4的BU(参见图16A)时,在副本#1中也开始图22所示的流程图。
在S31中,虚拟代理器处理单元13从所接收的包(BU)(参见图16A)中提取发送源的移动终端4的本地地址。接下来,过程进行至S32。
在S32中,虚拟代理器处理单元13基于在S31中获取的移动终端4的本地地址来寻找通信目的地登记表中的“UE本地地址”项。如果通信目的地登记表中不存在其中“UE本地地址”项的值与移动终端4的本地地址匹配的记录(S33:否),则不存在与移动终端4的会话,并且图22所示的过程结束。
如果存在其中“UE本地地址”项的值与移动终端4的本地地址匹配的记录(S33:是),则通过所接收的包(BU)通知移动终端4至另一链路的移动。因此,从接下来的S34执行如下过程:该过程将保持与移动终端4的会话的虚拟代理器2移向位于移动终端4的移动目的地附近的副本。在下文中,作为虚拟代理器2的移动目的地的副本将被称为切换目的地,这是因为会话沿着移动终端4的移动而移动。此外,也将虚拟代理器4的移动源的副本称为切换源。
在S34中,虚拟代理器处理单元13将停止其中会话信息表中的“UE本地地址”与移动终端4的本地地址相匹配的所有通话。接下来,过程进行至S35。
在S35中,虚拟代理器处理单元13使用所接收的包(BU)中的移动终端4的转交地址来更新通信目的登记表中相对应的记录的“UE转交地址”。接下来,过程进行至S36。
在S36中,虚拟代理器处理单元13寻找最靠近移动终端4的移动目的地的副本。具体地,虚拟代理器处理单元13基于在所接收的包(BU)中的移动终端4的转交地址来寻找UE邻近副本确定表,并且检测移动终端4的移动目的地附近的副本。所检测的副本用作切换目的地处的副本。接下来,过程进行至S37。
在S37中,虚拟代理器处理单元13将通信目的地登记表和会话信息表中相对应的记录发送至切换目的地处的副本。通信目的地登记表和会话信息表中相对应的记录是其中“UE本地地址”与所接收的包(BU)中的移动终端4的本地地址相匹配的记录。接下来,过程进行至S38。S37的过程等同于例如图10的OP23。
在S38中,虚拟代理器处理单元13删除通信目的地登记表和会话信息表中相对应的记录。结果,从作为切换源的副本删除相对应的虚拟代理器2。接着,图22所示的过程结束。
图23是当从另一副本接收到通信目的地登记表和会话信息表中的记录时,作为切换目的地处的副本的虚拟代理器处理单元13的过程的流程图的示例。在从另一副本接收通信目的地登记表和会话信息表的记录时,开始图23所示的流程图。如果在图10的OP23中副本#2接收来自的副本#1的会话信息时,也在副本#2中开始图23所示的流程图。
在S41中,虚拟代理器处理单元13将从作为切换源的副本接收的记录登记在通信目的地登记表和会话信息表中。结果,完成虚拟代理器2从切换源至切换目的地的移动。接下来,过程进行至S42。
在S42中,因为虚拟代理器2移至外部链路,所以虚拟代理器处理单元13捕获虚拟代理器2的转交地址。例如,从预定DHCP服务器获取虚拟代理器2的转交地址。接下来,过程进行至S43。
在S43中,虚拟代理器处理单元13将在S42中获取的虚拟代理器2的转交地址储存在通信目的地登记表中相对应的记录的“虚拟代理器转交地址”项中。接下来,过程进行至S44。
在S44和S45中,因为虚拟代理器2已经新获取了转交地址,所以将BU发送至管理虚拟代理器2的虚拟代理器本地代理3和作为通信伙伴的移动终端4。该BU包括在通信目的地登记表中所接收的记录中的虚拟代理器2的本地地址与在S42中获取的虚拟代理器2的转交地址之间的对应关系。
更具体地,在S44中,在通信目的地登记表中所接收的记录的虚拟代理器2的本地地址被处理为目的地,并且将BU发送至管理虚拟代理器2的虚拟代理器本地代理3。S44的过程等同于例如图10的OP24。在S45中,将由在通信目的地登记表中所接收的记录中的“UE转交地址”表示的地址处理为目的地,并且将BU发送至作为通信伙伴的移动终端4。S45的过程等同于例如图10的OP25。接下来,过程进行至S46。
在S46中,虚拟代理器处理单元13使用会话信息表中所接收的记录来重新开始与移动终端4的会话以重新开始内容分发。例如,会话信息表中相对应的记录的“UE端口”被用作移动终端4一侧上的端口号,下面的“发送SQN”等序列号以及从由“当前内容的位置”表示的位置之后的位置开始的内容数据被用于重新开始与移动终端4的会话。接着,图23所示的过程结束。
图24是在图10的OP23的过程之后的副本#1和副本#2的通信目的地登记表和会话信息表的示例。将副本#1中的通信目的地登记表和会话信息表中相对应的记录复制至副本#2的通信目的地登记表和会话信息表中。接着,从副本#1中删除通信目的地登记表和会话信息表中相对应的记录。
图25是当从虚拟代理器2接收到BU时,作为虚拟代理器本地代理的虚拟代理器本地代理处理单元16的过程的流程图的示例。当接收到来自虚拟代理器2的BU时,开始图25所示的流程图。当在图10的OP24中虚拟代理器本地代理3接收到来自在副本#2中移动的虚拟代理器2的BU(参见图15)时,也在包括虚拟代理器本地代理3副本#1中开始图25所示的流程图。
在S51中,虚拟代理器本地代理处理单元16从所接收的包(BU)中取出作为发送源的虚拟代理器2的本地地址和转交地址(参见图15)。接下来,过程进行至S52。
在S52中,如果存在虚拟代理器本地代理管理表17中相对应的记录,则虚拟代理器本地代理处理单元16使用作为发送源的虚拟代理器2的从所接收的包(BU)中取出的转交地址来更新“虚拟代理器转交地址”项。如果不存在虚拟代理器本地代理管理表17中相对应的记录,则将作为发送源的虚拟代理器2的从所接收的包(BU)中取出的本地地址和转交地址设置为记录的“虚拟代理器本地地址”项和“虚拟代理器转交地址”项,并且添加该记录。接着,图25所示的过程结束。
图26是在图10中的OP24的过程之后副本#1和副本#2的虚拟代理器本地代理管理表17的示例。在图10的OP24中,副本#1中的虚拟代理器本地代理处理单元16执行图25所示的过程。因此,将虚拟代理器2的本地地址(虚拟代理器#x-本地地址)和切换目的地处的转交地址(虚拟代理器#x-转交地址#2)存储在副本#1中的虚拟代理器本地代理管理表17中。另一方面,在副本#2中的虚拟代理器本地代理管理表16中不生成图25所示的过程,并且将保持初始状态。
图27是当接收到来自移动终端4的TCP包时,作为虚拟代理器本地代理3的虚拟代理器本地代理处理单元16的过程的流程图的示例。当从移动终端4接收到去往由虚拟代理器本地代理3管理的虚拟代理器2的本地地址的TCP数据时,开始图27所示的流程图。当在图10的OP22中虚拟代理器本地代理3接收到来自移动至另一链路的移动终端4的数据时,也在包括虚拟代理器本地代理3的副本#1中开始图27所示的流程图。
在S61中,虚拟代理器本地代理处理单元16从所接收的包(TCP包)中取出虚拟代理器2的本地地址。将虚拟代理器2的本地地址存储作为所接收的包(TCP包)的目的地址。接下来,过程进行至S62。
在S62中,虚拟代理器本地代理处理单元16基于虚拟代理器2的从所接收的包中获取的本地地址来寻找虚拟代理器本地代理管理表17中的“虚拟代理器本地地址”项。如果虚拟代理器本地代理管理表17中存在其中“虚拟代理器本地地址”项的值与虚拟代理器2的从所接收的包中获取的本地地址匹配的记录(S63:是),则过程进行至S64。如果虚拟代理器本地代理管理表17中不存在其中“虚拟代理器本地地址”项的值与虚拟代理器2的从所接收的包中获取的本地地址匹配的记录(S63:否),则过程进行至S65。
在S64中,虚拟代理器本地代理处理单元16将所接收的包转发至虚拟代理器本地代理管理表17中相对应的记录中的“虚拟代理器转交地址”项的地址。在此情况下,通过IP中的IP来封装所接收的包。S64的过程等同于例如图10的OP26的过程。接着,图27所示的过程结束。
如果作为虚拟代理器2的副本接收到通过IP中的IP封装的包,则副本的虚拟代理器处理单元13移除所接收的包的封壳(capsule),以执行与例如图20A至20D的那些过程相同的过程。
在S65中,由于虚拟代理器本地代理处理单元16不知道作为所接收的包的转发目的地的虚拟代理器2的转交地址,所以所接收的包暂时保存在缓冲器中。接着,图27所示的过程结束。注意,当例如通过来自虚拟代理器2的BU通知虚拟代理器2的转交地址时,通过IP隧道中的IP来将暂时保存在缓冲器中的TCP包转发至虚拟代理器2。
<第一实施例的操作和效果>
在第一实施例中,根据移动终端的移动,将正在建立与移动终端的会话的虚拟代理器也移向移动终端的移动目的地附近的缓存服务器1。这可以减少在移动终端与虚拟代理器之间的内容分发系统的网络中通信流量的增加。结果,可以减少内容分发系统的网络中的负载。
此外,由于也向移动目的地处的缓存服务器1通知涉及与虚拟代理器的移动处的移动终端建立的会话的信息,所以可以从移动源继续会话。在移动终端的移动之前和之后,移动终端的用户可以继续接收内容,而不执行用于继续内容分发的任意操作,并且这非常方便。
此外,在第一实施例中,移动终端与副本之间的通信是根据移动IP的,并且可以使用现存的移动IP。
<第二实施例>
在第二实施例中,将缓存服务器1的地址用于虚拟代理器2的本地地址和转交地址,以减少地址。在第二实施例中,将不再重复与第一实施例共有的描述。
在第二实施例中,缓存服务器的硬件配置和功能块与第二实施例共有,并且如图4和图5中所示。
(数据结构)
在第二实施例中,因为缓存服务器1的地址被用于虚拟代理器2的本地地址和转交地址,所以表中的数据结构与第一实施例不同。
图28是根据第二实施例的通信目的地登记表的示例。在第二实施例中,通信目的地登记表的记录包括“UE本地地址”项、“UE转交地址”项和“虚拟代理器本地地址”项。在第二实施例中,副本的地址被用于虚拟代理器2的转交地址,并且这是因为副本已经识别了副本的地址。
此外,因为在第二实施例中副本的地址被用于虚拟代理器2的本地地址,所以可以通过通信目的地登记表中的记录的“虚拟代理器本地地址”的地址来识别虚拟代理器2的创建源的副本。
图28中所示的通信目的地登记表是图3的内容分发系统100中的副本#1的表。其中“虚拟代理器本地地址”是副本#1的地址(副本#1-地址)的记录的虚拟代理器2是通过副本#1创建的,并且连接至本地链路。
其中“虚拟代理器本地地址”是副本#2的地址(副本#2-地址)的记录的虚拟代理器2是通过副本#2创建的,并且连接至外部链路。该记录的虚拟代理器2的转交地址用作副本#1的地址(副本#1-地址)。
图29是根据第二实施例的虚拟代理器本地代理管理表17的示例。在第一实施例中,虚拟代理器本地代理3通过本地地址和转交地址来识别待连接至外部链路的虚拟代理器2。然而,在第二实施例中,虚拟代理器2的本地地址是副本的地址,并且没有通过本地地址和转交地址来识别虚拟代理器2。因此,在第二实施例中,虚拟代理器本地代理3通过作为通信伙伴的移动终端的本地地址和虚拟代理器2的转交地址来识别待连接至外部链路的虚拟代理器2。
因此,在第二实施例中,虚拟代理器本地代理管理表17中的记录的项是“UE本地地址”和“虚拟代理器转交地址”。
(过程流程)
图30是在根据第二实施例的内容分发系统100中的过程的序列的示例的图。如第一实施例的图10,图30示出了在图3所示的内容分发网络中的如下序列:从在移动终端4与副本#1之间建立通信会话,至移动终端4的移动以及虚拟代理器2的相应移动的完成。图30所示的示例的先决条件与图10所示的示例的相同。
与图10所示的第一实施例的顺序相比,图30所示的第二实施例的序列不包括向HTTP GET消息返回HTTP重定向消息的过程(图10的OP11和OP12)。这是因为在第二实施例中将副本的地址用作虚拟代理器2的本地地址。
在OP31中从移动终端4发送的HTTP GET消息的目的地是副本#1的地址。这是因为移动终端4已经在OP31之前从预定DNS服务器获取了副本#1的地址(图30中未示出)。当接收到HTTP GET消息时,在副本#1中创建与移动终端4建立会话的虚拟代理器2。虚拟代理器2的本地地址是副本#1的地址,并且该地址与HTTP GET消息的目的地址一致。因此,在OP32中,代替发送用于向移动终端4通知虚拟代理器2的本地地址的HTTP重定向,副本#1将HTTP GET消息的响应消息(HTTP200OK)发送至移动终端4。
从OP33开始,序列与从图10中的OP15开始的序列相同。因此,将不再重复从OP33开始的过程的描述。
(包的示例)
将根据图30所示的序列的示例的流程图来描述所发送和接收的包的示例。将不再描述与第一实施例共有的包。
图31是在图30的OP31中从移动终端4发送至副本#1的地址的HTTP GET消息的示例。HTTP GET消息的目的地是副本#1的地址(副本#1-地址)。在图30的序列的OP31中,移动终端4将连接副本#1的链路处理为本地链路。因此,图31所示的示例的HTTP GET消息的发送源地址是移动终端4的本地地址(UE#x-本地地址)。
图32是示出了在图30的OP32中从副本#1发送至移动终端4的HTTP GET消息的响应消息(HTTP200OK)的包的示例。图32所示的示例的HTTP GET消息的响应消息的发送源地址是副本#1中的虚拟服务器2的本地地址,也就是说,副本#1的地址(副本#1-地址)。此外,目的地址是移动终端4的本地地址(UE#x-本地地址)。
在图30的OP36中从移动终端4发送至终端本地代理5的BU包与例如在图10的OP18中从移动终端4发送至终端本地代理5的BU包(参见图15)相同。
图33A是示出了在图30的OP39中从移动终端4发送至正在建立会话的副本#1中的虚拟代理器2的BU包的示例的图。在图30的OP39中,移动终端4已经移至外部链路,并且获取移动目的地处的链路中的转交地址。因此,移动终端4的在移动目的链路中获取的转交地址(UE#x-转交地址#2)存储在图33A所示的BU的IP移动报头中的“转交地址”字段。此外,移动目的地处的链路中的移动终端4的转交地址(UE#x-转交地址#2)被存储用于BU的发送源地址。BU的目的地址是副本#1中的虚拟代理器2的本地地址,也就是说,副本1的地址(副本#1-地址)。注意,图33A所示的示例是当副本#1中的虚拟代理器2将连接副本#1的链路处理为本地链路的示例。
图33B是示出在图30的OP39中从移动终端4发送至正在建立会话的副本#1中的虚拟代理器2的BU包的示例的图。然而,图33B所示的示例是当副本#1中的与移动终端4正在建立会话的虚拟代理器2将连接副本#1的链路处理为外部链路的示例。因此,图33B所示的BU的目的地址是副本#1中的虚拟代理器2的转交地址。因为在第二实施例中也将副本的地址用于虚拟代理器2的转交地址,所以副本#1中的虚拟代理器2的转交地址是副本#1的地址(副本#1-地址)。
图34是示出了在图30的OP42中从副本#2中的虚拟代理器2发送至虚拟代理器本地代理3的BU包的示例的图。在图30的OP42中,完成移动终端4和虚拟代理器2至连接副本#2的链路的移动。在此情况下BU的有效载荷段包括移动终端4的本地地址(UE#x-本地地址)以及在虚拟代理器2的移动目的地处的链路中获取的转交地址,也就是说,副本#2的地址(副本#2-地址)。
此外,图34所示的BU的目的地址是从副本#1移至副本#2的虚拟代理器2的本地地址,也就是说,副本#1的地址(副本#1-地址)。此外,BU的发送源地址是从副本#1移至副本#2的虚拟代理器2的转交地址,也就是说,副本#2的地址(副本#2-地址)。
图35是示出了在图30的OP43中从副本#2中的虚拟代理器2发送至移动终端4的BU包的示例的图。副本#2中的虚拟代理器2的在移动目的地处的链路中获取的转交地址,也就是说,副本#2的地址(副本#2-地址),存储在图35所示的BU的IP移动报头中的“转交地址”字段中。此外,副本#2中的虚拟代理器2的在移动目的地处的链路中获取的转交地址,也就是说,副本#2的地址(副本#2-地址)被存储用于BU的发送源地址。BU的目的地址是移动终端4的在移动目的地处的链路中获取的转交地址(UE#x转交地址#2)。
图36是示出了在图30的OP44中从虚拟代理器本地代理3发送至副本#2中的虚拟代理器2的IP包中的IP的示例的图。在图36所示的包的IP包报头中的IP的目的地址是副本#2中的虚拟代理器2的转交地址,也就是说,副本#2的地址(副本#2-地址)。IP包报头中的IP的发送源地址是管理副本#2中的虚拟代理器2的虚拟代理器本地代理3的地址,也就是说,副本#1的作为虚拟代理器2的本地地址的地址(副本#1-地址)。
原始包的目的地址是副本#2中的虚拟代理器2的本地地址,也就是说,副本#1的地址(副本#1-地址)。该原始包的包段(packet section)的发送源地址是在移动终端4的移动目的地处的链路中获取的转交地址(UE#x-转交地址#2)。
(内部过程)
接下来,将根据图30所示的序列的示例的流程来描述缓存服务器1的内部过程的流程。
图37是当接收到去往副本的地址的内容请求时虚拟代理器处理单元13的过程的流程图的示例。当例如在图30的OP31中代理器处理单元13接收到去往副本#1的地址的内容请求(参见图31)时,在副本#1中开始图37所示的流程图。
在S71中,虚拟代理器处理单元13从所接收的包中取出移动终端4的本地地址。如果在所接收的包的“本地地址”字段中存储该地址,则虚拟代理器处理单元13将取出该地址作为移动终端4的本地地址。如果在所接收的包的“本地地址”字段中没有存储该地址,则虚拟代理器处理单元13取出发送源地址作为移动终端4的本地地址。
在S72中,虚拟代理器处理单元13基于在S71中从所接收的包中取出的移动终端4的本地地址来寻找通信目的地登记表中的“UE本地地址”项。
如果通信目的地登记表包括与在S71中从所接收的包中取出的移动终端4的本地地址相匹配的记录(S73:是),则过程进行至图20A中的S14。如果通信目的地登记表不包括与在S71中从所接收的包中取出的移动终端4的本地地址相匹配的记录(S73:否),则过程进行至S74。
在S74中,虚拟代理器处理单元13确定所接收的包是否为连接请求(TCP SYN包)。如果所接收的包是连接请求(S74:是)。则过程进行至S75。如果所接收的包不是连接请求(S74:否),则在会话信息表中不存在相对应的记录,并且没有建立会话。因此,图37所示的过程结束。
在S75中,虚拟代理器处理单元13将记录添加至通信目的地登记表中。在S71中取出的移动终端4的本地地址和副本的地址分别存储在在此情况下添加的记录中的“UE本地地址”和“虚拟代理器本地地址”中。如果移动终端4将连接副本的链路处理为外部链路,则在所接收的包中包括的移动终端4的转交地址存储在所添加的记录的“UE转交地址”中。接着,过程进行至图20B的S18中。
接着,如从图20B的S18开始的过程,将记录添加至会话信息表中,并且将响应发送至作为所接收的包(连接请求)的发送源的移动终端4。
在图20的OP39中,当副本#1接收到来自移动终端4的用于通知在移动目的地处获取的转交地址的BU时,副本#1的过程与第一实施例的过程相同(参见图22)。因此,将不详细描述图30的OP39中副本#1中的内部过程。
图38是当从另一副本接收到通信目的地登记表和会话信息表中的记录时,作为切换目的地处的副本的虚拟代理器处理单元13的过程的流程图的示例。当从另一副本接收到通信目的地登记表和会话信息表的记录时,开始图38所示的流程图。当在图30的OP41中副本#2接收到来自副本#1的会话信息时,也在副本#2中开始图38所示的流程图。
与第一实施例中的图23所示的相对应的流程图相比较,图38所示的流程图不包括捕获虚拟代理器2的转交地址的过程(图23,S42),以及将所捕获的虚拟代理器2的转交地址设定用于通信目的地登记表中相对应的记录的“虚拟代理器转交地址”项的过程(图23,S43)。这是因为第二实施例是基于如下前提:虚拟代理器2的转交地址是副本的地址。
图38中的S81至S84的过程分别与图23中的S41和S44至S46的过程相同。因此,将不详细描述图38中的S81至S84的过程。
图39是当从虚拟代理器2接收到BU时,作为虚拟代理器本地代理3的虚拟代理器本地代理处理单元16的过程的流程图的示例。当接收到来自虚拟代理器2的BU时,开始图39所示的流程图。当在图30的OP42中虚拟代理器本地代理3接收到来自移动至副本#2的虚拟代理器2的BU(参见图34)时,在包括虚拟代理器本地代理3的副本#1中也开始图39所示的流程图。
在S91中,虚拟代理器本地代理处理单元16从所接收的包(BU)中取出移动终端4的本地地址和移动至副本#2的虚拟代理器2的转交地址(参见图34)。接下来,过程进行至S92。
在S92中,如果存在虚拟代理器本地代理管理表17的相对应的条目,则虚拟代理器本地代理处理单元16使用从所接收的包(BU)中取出的虚拟代理器2的转交地址来更新“虚拟代理器转交地址”项。如果不存在虚拟代理器本地代理管理表17中相对应的条目,则虚拟代理器本地代理处理单元16将从所接收的包(BU)中取出的移动终端4的本地地址和虚拟代理器2的转交地址设定用于记录的“UE本地地址”项和“虚拟代理器转交地址”项,并且添加该记录。接着,图39所示的过程结束。
图40是当接收到来自移动终端4的TCP包时,作为虚拟代理器本地代理3的虚拟代理器本地代理处理单元16的过程的流程图。当从移动终端4接收到去往由虚拟代理器本地代理3管理的虚拟代理器2的本地地址的TCP包时,开始图40所示的流程图。当在图30的OP40中虚拟代理器本地代理3接收到来自移动至另一链路的移动终端4的数据时,在包括虚拟代理器本地代理3的副本#1中也开始图40所示的流程图。
在S101中,虚拟代理器本地代理处理单元16从所接收的包(TCP包)中取出发送源的移动终端4的本地地址(参见图11A和图11B)。接下来,过程进行至S102。
在S102中,虚拟代理器本地代理处理单元16基于从所接收的包获取的移动终端4的本地地址来寻找虚拟代理器本地代理管理表17中的“UE本地地址”项。如果虚拟代理器本地代理管理表17中存在其中“UE本地地址”项的值与从所接收的包获取的移动终端4的本地地址相匹配的记录(S103:是),则过程进行至S104。如果虚拟代理器本地代理管理表17中不存在其中“UE本地地址”项的值与从所接收的包获取移动终端4的的本地地址相匹配的记录(S103:否),则过程进行至S105。
在S104中,虚拟代理器本地代理处理单元16将所接收的包转发至虚拟代理器本地代理管理表17中相对应的记录的“虚拟代理器转交地址”项的地址。在此情况下,通过IP中的IP来封装所接收的包。S104的过程等同于例如图30的OP44的过程。接着,图40所示的过程结束。
如果作为虚拟代理器2的副本接收到通过IP中的IP封装的包,则副本的虚拟代理器处理单元13移除所接收的包的封壳并且执行与图37中的相同的过程。
在S105中,因为虚拟代理器本地代理处理单元16不知道作为所接收的包的转发目的地的虚拟代理器2的转交地址,所以将所接收的包暂时存储在缓冲器中。接着,图40所示的过程结束。
<第二实施例的操作和效果>
在第二实施例中,将副本的地址设定用于虚拟代理器2的本地地址和转交地址,并且这将减少向虚拟代理器2支付的地址。
此外,通过将副本的地址设定用于虚拟代理器2的本地地址和转交地址,例如,去除了如在第一实施例的图19的S10中用于捕获虚拟代理器2的本地地址的过程以及如在图23的S42中用于捕获虚拟代理器的转交地址的过程。减少副本的处理负载。
此外,第二实施例中不执行如图30的OP31和OP32中向来自移动终端4的HTTP GET消息返回HTTP重定向的过程。可以减少设备之间的通信程序,并且这是有效的。
<第三实施例>
在第三实施例中,将一个代表本地地址用作内容分发系统100中的虚拟代理器2的本地地址。结果,向内容分发系统100中的虚拟代理器2的本地地址支付一个地址,从而可以减少地址。如在第二实施例中,将副本的地址用于虚拟代理器2的转交地址。在第三实施例中,将省略与第一实施例和第二实施例共有的描述。
在第三实施例中,缓存服务器1的硬件配置和功能块与第一实施例共有,并且如图4和图5所示。
(数据结构)
在第三实施例中,缓存服务器1的通信目的地登记表、会话信息表和虚拟代理器本地代理管理表17的数据结构与第二实施例的那些数据结构相同
图41是根据第三实施例的通信目的地登记表的示例。如在第二实施例中,第三实施例中的通信目的地登记表的记录包括“UE本地地址”项、“UE转交地址”项和“虚拟代理器本地地址”项。
在第三实施例中,因为一个代表本地地址用于内容分发系统100中的虚拟代理器2的本地地址,所以将该代表本地地址(副本#代表地址)存储在通信目的地登记表中的记录的“虚拟代理器本地地址”的所有记录中。
针对虚拟代理器2的代表本地地址,可以使用与内容分发系统100中的副本的任意地址不重叠的地址,或者可以使用副本的地址中的一个地址。
(过程流程)
图42是示出根据第三实施例的内容分发系统100中的过程序列的示例的图。如第一实施例中的图10和第二实施例中的图30,图42示出了在图3所示的内容分发网络中的如下序列:从在移动终端4与副本#1之间建立通信会话,至移动终端4的移动以及虚拟代理器2相对应移动的完成。在图42中,假设移动终端4将副本#1处理为本地链路。
在OP51中,移动终端4将TCP SYN包发送至代表本地地址。该包被传输至管理虚拟代理器的虚拟代理器本地代理3。
在OP52中,虚拟代理器本地代理3从所接收的包中获取发送源的移动终端4的转交地址,以检测移动终端4附近的副本#1并将所接收的TCPSYN包转发至副本#1。在图42中,由于在OP51时移动终端4连接至本地链路,所以不包括转交地址。因此,从所接收的包中取出本地地址而不是转交地址。
此外,在图42中假设图3所示的内容分发系统,并且虚拟代理器本地代理3存在于副本#1中。因此,OP52的通信实际上是副本#1的内部过程。通过IP中的IP来封装包,以将该包转发至与其中存在虚拟代理器本地代理3的副本#1不同的副本。
在OP53中,副本#1接收到来自虚拟代理器本地代理3的TCP SYN包,以认为虚拟代理器2移动并且将BU发送至作为通信伙伴的移动终端4。
例如,如果代表本地地址是副本#1的地址,则虚拟代理器2的移动目的地是本地链路,并且BU不包括虚拟代理器2的转交地址。例如,如果代理本地地址是与副本#1的地址不同的地址,则虚拟代理器2的移动目的地是外部链路,并且BU包括虚拟代理器2的转交地址。在此情况下,虚拟代理器2的转交地址是副本#1的地址。
在OP54中,副本#1的虚拟代理器2将TCP ACK发送至移动终端4。结果,在移动终端4与作为虚拟代理器2的副本#1之间建立通信会话。
在OP55中,移动终端4将由BU通知的虚拟代理器2的本地地址和转交地址处理为目的地址并发送HTTP GET消息。该HTTP GET消息到达副本#1。如果BU包括转交地址,则虚拟代理器2的转交地址是HTTPGET消息的目的地。如果BU不包括转交地址,则虚拟代理器2的本地地址是HTTP GET消息的目的地。
从OP56开始,序列与图10的OP14的序列相同。因此,将不再描述从OP56开始的过程。
(包的示例)
在图42所示的序列的过程中交换的包中,在第二实施例中描述的包的本地地址(参见图31至图36)被代表本地地址代替。因此,将不再描述细节。
(内部过程)
图43是当从移动终端4接收到TCP包时,作为虚拟代理器本地代理3的虚拟代理器本地代理处理单元16的过程的流程图的示例。当从移动终端4接收到去往由虚拟代理器本地代理3管理的虚拟代理器2的本地地址(代表本地地址)的TCP数据时,开始图43所示的流程图。当在图42的OP51和OP64中虚拟代理器本地代理3接收来来自移动终端4的数据时,在包括虚拟代理器本地代理3的副本#1中也开始图42所示的流程图。
在S111中,虚拟代理器本地代理处理单元16从所接收的包(TCP包)中取出作为发送源的移动终端的本地地址。该移动终端4的本地地址存储在所接收的包(TCP包)的发送源地址或有效载荷部分中(参见图11A和图11B)。接下来,过程进行至S112。
在S112中,虚拟代理器本地代理处理单元16基于从所接收的包获取的移动终端4的本地地址来寻找虚拟代理器本地代理管理表17中的“UE本地地址”项。如果虚拟代理器本地代理管理表17中存在其中“UE本地地址”项的值与从所接收的包获取的移动终端4的本地地址相匹配的记录(S113:是),则过程进行至S117。如果虚拟代理器本地代理管理表17中不存在其中“UE本地地址”项的值与从所接收的包获取的移动终端4的本地地址相匹配的记录(S113:否),则过程进行至S114。
在S114中,虚拟代理器本地代理处理单元16从所接收的包(TCP包)中取出作为发送源的移动终端4的转交地址。移动终端4的转交地址存储在所接收的包的发送源地址中。接下来,过程进行至S115。
在S115中,虚拟代理器本地代理处理单元16寻找移动终端4附近的副本,并且确定虚拟代理器2的转交地址。具体地,虚拟代理器本地代理处理单元16使用在S114中获取的移动终端4的转交地址以寻找UE邻近副本确定表,并且确定最靠近移动终端4的副本。所检测的副本的地址用作虚拟代理器2的转交地址。接下来,过程进行至S37。
在S116中,虚拟代理器本地代理处理单元16将从所接收的包(TCP包)获取的移动终端4的本地地址以及在S115中确定的虚拟代理器2的转交地址设定用于“UE本地地址”项和“虚拟代理器转交地址”项,以将该记录添加在虚拟代理器本地代理管理表17中。接着,过程进行至S117。
在S117中,虚拟代理器本地代理处理单元16将所接收的包转发至虚拟代理器本地代理管理表17中相对应的记录的“虚拟代理器转交地址”项的地址。在此情况下,通过IP中的IP来封装所接收的包。S117的过程等同于例如图42的OP68中的过程。接着,图43所示的过程结束。
图44是当接收到来自虚拟代理器本地代理3的TCP包时,虚拟代理器处理单元13的过程的流程图。当例如代理器处理单元13从虚拟代理器本地代理3接收到通过IP中的IP封装的TCP包时,开始图44所示的流程图。例如,当假设虚拟代理器本地代理3存在于不同于图43中的副本#1的设备中时,当在OP52中副本#1接收到来自虚拟代理器本地代理3的TCP包时,在副本#1中也开始图44所示的流程图。
在S121中,虚拟代理器处理单元13移除所接收的包的IP封壳中的IP。接下来,过程进行至S122。
在S122中,虚拟代理器处理单元13从所接收的包中取出发送源的移动终端4的本地地址。接下来,过程进行至S123。
在S123中,虚拟代理器处理单元13基于在S122中从所接收的包中取出的移动终端4的本地地址来寻找通信目的地登记表中的“UE本地地址”项。如果通信目的地登记表中不包括与在S122中从所接收的包中取出的移动终端4的本地地址相匹配的记录(S124:否),则过程进行至S125。如果通信目的地登记表中包括在S122中从所接收的包中取出的与移动终端4的本地地址相匹配的记录(S124:是),则过程进行至图20A的S14。如上描述了图20A的S14之后的过程,并且将不再重复该描述。
在S125中,虚拟代理器处理单元13确定所接收的包是否是连接请求。连接请求的示例是TCP SYN包。如果所接收的包是连接请求(S125:是),则过程进行至S126。如果所接收的包不是连接请求(S125:否),则通信目的地登记表中不存在记录,并且没有建立与所接收的包的发送源的会话。因此,不对所接收的包执行过程,并且例如,丢弃所接收的包。接着,图44所示的过程结束。
在S126中,虚拟代理器处理单元13将记录添加至通信目的地登记表中。所添加的记录的“UE本地地址”、“UE转交地址”以及“虚拟代理器本地地址”分别是在S122中获取的移动终端4的本地地址、从所接收的包获取的移动终端4的转交地址以及虚拟代理器2的本地地址(代表本地地址)。将记录添加至通信目的地登记表表明虚拟代理器2移动至副本。注意如果移动终端4连接至本地链路,则移动终端4的转交地址不存在。接下来,过程进行至S127。
在S127中,由于虚拟代理器2移动,所以将BU发送至作为通信伙伴的移动终端4。虚拟代理器2的包括在BU中的本地地址是代表本地地址,并且转交地址是副本地址。接着,图44所示的过程结束。
在第三实施例中,虚拟代理器2的本地地址是代表本地地址,并且转交地址是副本地址。因此,不执行在S126中捕获虚拟代理器2的本地地址的过程以及在S127中捕获虚拟代理器2的转交地址的过程。
除了图43和图44所示的过程以外,缓存服务器的内部过程与第二实施例共有,并且将不再重复该描述。
<第三实施例的操作和效果>
由于在第三实施例中将代表本地地址用作虚拟代理器2的本地地址,所以在内容分发系统100中存在虚拟代理器2的一个本地地址。因此,根据第三实施例,可以减少所使用的地址。
Claims (6)
1.一种内容分发系统中的信息处理设备,所述内容分发系统包括分发内容的多个信息处理设备,所述信息处理设备包括:
第一存储单元,所述第一存储单元存储内容;
第二存储单元,所述第二存储单元存储包括正在建立会话的移动终端的本地地址和转交地址、用于与所述移动终端的会话的本地地址、分发内容以及会话状态的会话信息;以及
处理单元,所述处理单元进行如下处理:
在接收到来自正在建立会话的所述移动终端的位置登记请求时,基于所述位置登记请求来更新与所述移动终端有关的会话信息、基于包括在所述位置登记请求中的所述移动终端的地址来寻找位于所述移动终端附近的信息处理设备、在与所述移动终端有关的更新之后向所检测到的信息处理设备通知所述会话信息;以及
在接收到与正在建立同另一信息处理设备的会话的移动终端有关的会话信息时,向所述移动终端发送位置登记请求,所述位置登记请求包括在与包括在所述会话信息中的所述移动终端的会话中所使用的地址,以及分发包括在所述会话信息中的内容。
2.根据权利要求1所述的信息处理设备,其中,
所述会话信息还包括所述分发内容中的分发完成位置,以及
所述处理单元从包括在所述会话信息中的所述分发完成位置处开始分发包括在所接收的会话信息中的内容。
3.根据权利要求1或2所述的信息处理设备,其中,
所述处理单元使用所述信息处理设备的地址作为用于与所述移动终端的所述会话的所述本地地址和转交地址。
4.根据权利要求1或2所述的信息处理设备,其中,
所述处理单元使用代表本地地址作为用于与所述移动终端的所述会话的所述本地地址,并且使用所述信息处理设备的地址作为用于与所述移动终端的所述会话的所述转交地址。
5.一种内容分发系统中的内容分发方法,所述内容分发系统包括分发内容的多个信息处理设备,其中,所述信息处理设备
将内容存储在第一存储单元中;
将会话信息存储在第二存储单元中,所述会话信息包括正在建立会话的移动终端的本地地址和转交地址、用于与所述移动终端的会话的本地地址;分发内容;以及会话状态;在接收到来自正在建立会话的所述移动终端的位置登记请求时,基于所述位置登记请求来更新与所述移动终端有关的会话信息、基于包括在所述位置登记请求中的所述移动终端的地址来寻找位于所述移动终端附近的信息处理设备、以及在与所述移动终端有关的更新之后向所检测到的信息处理设备通知所述会话信息;以及
在接收到与正在建立同另一信息处理设备的会话的移动终端有关的会话信息时,向所述移动终端发送位置登记请求,所述位置登记请求包括在与包括在所述会话信息中的所述移动终端的会话中所使用的地址,以及分发包括在所述会话信息中的内容。
6.一种内容分发系统,所述内容分发系统包括分发内容的多个信息处理设备,每个信息处理设备包括:
第一存储单元,所述第一存储单元存储内容;
第二存储单元,所述第二存储单元存储包括正在建立会话的移动终端的本地地址和转交地址的会话信息、用于与所述移动终端的会话的本地地址、分发内容以及会话状态的会话信息;以及
处理单元,所述处理单元进行如下处理:
在接收到来自正在建立会话的所述移动终端的位置登记请求时,基于所述位置登记请求来更新与所述移动终端有关的会话信息、基于包括在所述位置登记请求中的所述移动终端的地址来寻找位于所述移动终端附近的信息处理设备、在与所述移动终端有关的更新之后向所检测到的信息处理设备通知所述会话信息;以及
在接收到与正在建立同另一信息处理设备的会话的移动终端有关的会话信息时,向所述移动终端发送位置登记请求,所述位置登记请求包括在与包括在所述会话信息中的所述移动终端的会话中所使用的地址,以及分发包括在所述会话信息中的内容。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013122266A JP6217151B2 (ja) | 2013-06-10 | 2013-06-10 | 情報処理装置、コンテンツ配信方法、及びコンテンツ配信システム |
JP2013-122266 | 2013-06-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104243542A true CN104243542A (zh) | 2014-12-24 |
CN104243542B CN104243542B (zh) | 2018-04-24 |
Family
ID=52006408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410239137.2A Expired - Fee Related CN104243542B (zh) | 2013-06-10 | 2014-05-30 | 信息处理设备、内容分发方法及内容分发系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140365557A1 (zh) |
JP (1) | JP6217151B2 (zh) |
CN (1) | CN104243542B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10298713B2 (en) * | 2015-03-30 | 2019-05-21 | Huawei Technologies Co., Ltd. | Distributed content discovery for in-network caching |
CN109218275B (zh) * | 2017-07-07 | 2021-09-21 | 北京小米移动软件有限公司 | 应用交互方法及装置 |
EP3627322A4 (en) | 2017-06-14 | 2020-04-29 | Beijing Xiaomi Mobile Software Co., Ltd. | APPLICATION INTERACTION METHOD, INTERACTION METHOD AND DEVICE |
JP7003562B2 (ja) * | 2017-10-16 | 2022-01-20 | 富士通株式会社 | ミラーパケット制御プログラム、ミラーパケット制御方法、およびミラーパケット制御装置 |
CA3189017A1 (en) * | 2020-08-18 | 2022-02-24 | Joseph Alan Epstein | Wi-fi virtualization |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030145038A1 (en) * | 2002-01-25 | 2003-07-31 | Bin Tariq Muhammad Mukarram | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
CN101553796A (zh) * | 2006-11-15 | 2009-10-07 | 思达伦特网络公司 | 用于重定向请求的系统和方法 |
CN102007752A (zh) * | 2008-02-18 | 2011-04-06 | 松下电器产业株式会社 | 当改变了移动性管理方案时的归属代理发现 |
WO2013069985A1 (ko) * | 2011-11-08 | 2013-05-16 | 삼성전자 주식회사 | 이동통신 시스템 및 그 이동통신 시스템에서 컨텐츠 제공 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7398312B1 (en) * | 2000-03-29 | 2008-07-08 | Lucent Technologies Inc. | Method and system for caching streaming multimedia on the internet |
WO2007062004A2 (en) * | 2005-11-22 | 2007-05-31 | The Trustees Of Columbia University In The City Of New York | Methods, media, and devices for moving a connection from one point of access to another point of access |
US8051145B2 (en) * | 2007-03-30 | 2011-11-01 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method of simultaneously providing data to two or more devices on the same network |
CN101431780B (zh) * | 2007-11-09 | 2010-12-22 | 华为技术有限公司 | 一种实现网络优化切换的方法、设备及系统 |
US8402111B2 (en) * | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
JP2011044988A (ja) * | 2009-08-24 | 2011-03-03 | Nippon Telegr & Teleph Corp <Ntt> | 通信システムにおける位置登録管理方法、プロキシ装置及びプロキシプログラム |
US8688816B2 (en) * | 2009-11-19 | 2014-04-01 | Oracle International Corporation | High availability by letting application session processing occur independent of protocol servers |
JP2012023659A (ja) * | 2010-07-16 | 2012-02-02 | Nec Corp | 配信システム、配信制御装置および配信制御方法 |
JP6184406B2 (ja) * | 2011-07-05 | 2017-08-23 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Utlanからlteへの(rsrvcc)ハンドオーバ |
US8954786B2 (en) * | 2011-07-28 | 2015-02-10 | Oracle International Corporation | Failover data replication to a preferred list of instances |
US9344494B2 (en) * | 2011-08-30 | 2016-05-17 | Oracle International Corporation | Failover data replication with colocation of session state data |
US9148486B2 (en) * | 2011-11-22 | 2015-09-29 | Cisco Technology, Inc. | Content distribution through blind-cache instantiation |
-
2013
- 2013-06-10 JP JP2013122266A patent/JP6217151B2/ja not_active Expired - Fee Related
-
2014
- 2014-05-06 US US14/270,453 patent/US20140365557A1/en not_active Abandoned
- 2014-05-30 CN CN201410239137.2A patent/CN104243542B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030145038A1 (en) * | 2002-01-25 | 2003-07-31 | Bin Tariq Muhammad Mukarram | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
CN101553796A (zh) * | 2006-11-15 | 2009-10-07 | 思达伦特网络公司 | 用于重定向请求的系统和方法 |
CN102007752A (zh) * | 2008-02-18 | 2011-04-06 | 松下电器产业株式会社 | 当改变了移动性管理方案时的归属代理发现 |
WO2013069985A1 (ko) * | 2011-11-08 | 2013-05-16 | 삼성전자 주식회사 | 이동통신 시스템 및 그 이동통신 시스템에서 컨텐츠 제공 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2014239405A (ja) | 2014-12-18 |
US20140365557A1 (en) | 2014-12-11 |
CN104243542B (zh) | 2018-04-24 |
JP6217151B2 (ja) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995845B (zh) | 一种控制面资源迁移的实现方法、装置及网络功能实体 | |
CN103597876B (zh) | 蜂窝网络中的连续高速缓存服务 | |
EP2862390B1 (en) | Gateway reselection | |
CN104243542A (zh) | 信息处理设备、内容分发方法及内容分发系统 | |
US10084659B2 (en) | Systems and methods for enhanced discovery | |
CN102437964B (zh) | 业务下发方法、装置及通信系统 | |
EP3318084A1 (en) | Systems and methods for mobility management in a distributed software defined network packet core system | |
JP6432515B2 (ja) | 通信システムにおける通信装置および通信制御方法 | |
US7515590B2 (en) | Mobile communication system and method thereof | |
CN107517189B (zh) | 一种wlan用户接入认证及配置信息下发的方法、设备 | |
KR20150121713A (ko) | 네트워크 노드 기능을 제공하기 위한 네트워크 노드들 사이의 할당 리소스 | |
CN102014053A (zh) | 业务下发方法、装置及通信系统 | |
EP2924956A1 (en) | Method and apparatus for handover between content servers for transmission path optimization | |
CN105981430A (zh) | 基于小区负载的内容数据网络选择 | |
CN109314725B (zh) | 移动ip网络中的本地疏导 | |
CN105471748A (zh) | 一种应用分流方法和装置 | |
JP6553760B2 (ja) | 負荷分散装置、中継装置、負荷分散方法及びプログラム | |
CN105338511B (zh) | 网络拓扑隐藏方法和设备 | |
US20150127837A1 (en) | Relay apparatus and data transfer method | |
KR20150099944A (ko) | 피투피 기반 파일 전송 제어 방법 및 이를 위한 피투피 통신 제어 장치 | |
KR101541348B1 (ko) | Gtp 네트워크 기반 세션 관리 방법 및 장치 | |
CN108075963B (zh) | 内容的传输方法和装置 | |
CN102780701A (zh) | 访问控制方法和设备 | |
WO2021073431A1 (zh) | 一种客户端地址获取方法、装置、存储介质及计算机设备 | |
CN105847337A (zh) | 一种基于sdn的文件分发方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180424 Termination date: 20200530 |