CN102546820A - 传输优化方法、映射信息的存储方法、装置及系统 - Google Patents
传输优化方法、映射信息的存储方法、装置及系统 Download PDFInfo
- Publication number
- CN102546820A CN102546820A CN2012100349916A CN201210034991A CN102546820A CN 102546820 A CN102546820 A CN 102546820A CN 2012100349916 A CN2012100349916 A CN 2012100349916A CN 201210034991 A CN201210034991 A CN 201210034991A CN 102546820 A CN102546820 A CN 102546820A
- Authority
- CN
- China
- Prior art keywords
- alto
- map information
- network
- parameter
- sub
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了传输优化方法、映射信息的存储方法、ALTO客户端、ALTO服务器以及ALTO系统,其中,该传输优化方法,包括:当需要为服务确定下一跳节点时,检查ALTO客户端关联的存储系统中是否存储有映射信息;如果ALTO客户端关联的存储系统中存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于所述第一子网络,从而降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载。
Description
技术领域
本发明涉及网络技术领域,具体涉及传输优化方法、映射信息的存储方法、装置及系统。
背景技术
如文件共享,流媒体直播或点播,语音通信及在线游戏支撑平台等分布式应用,在网络上普遍地使用了相当数量的网络资源。通常情况下,这些应用通过在整个网络分布的节点之间建立连接以传输大量数据,大多数的应用从一大堆节点集合中随机地选择一个子集来交换数据,而对底层网络拓扑结构知之甚少。如图1-a所示,当前很多的P2P(Peer to Peer,对等网络)系统直接由对等连接组成一种覆盖层网络,覆盖层网络由分布在多个服务提供商网络ISP的节点组成,当两个节点peer属于同一个ISP(Internet Service Provider,互联网服务提供者),由于对等连接往往无法感知底层网络拓扑结构,从而导致这两个节点之间的上层链接(如P2P应用)往往需要多次穿越网络边界,过载的链接将导致频繁的拥塞,不必要地给服务提供商增加了传输成本。
面对这种情况,业界提出了ALTO(Application Layer Traffic Optimization,应用层流量优化)服务,将底层网络拓扑信息传送到应用层,即ALTO服务为应用提供了向导,使其能从一序列候选的、可提供所需资源的网络节点中选取一个或多个目标主机,从而降低网络资源消耗,一定程度上避免网络拥塞。
ALTO(Application Layer Traffic Optimization,应用层流量优化)架构采用客户端/服务器模型,其中服务器通过维护“my-Internet”视图,能提供一个特定网络区域的网络信息。这个视图由两张映射表组成:一是网络映射表Network Map,记录了整个网络中的各节点的布局,通过主机组描述符的方式将一个或多个子网络(即IP前缀)组成一台主机组描述符,一组IP前缀标记为一个分区,相对应的主机组描述符称为分区ID;二是路径成本表Cost Map,记录了各节点间访问的开销。这些映射信息通常情况下是不变的,但在某些特殊情况下,例如,用户数增长,服务提供商则需要重新分配IP子网,以确保对IP地址的有效使用,从而改变了映射信息。
如图1-b所示,针对每个服务请求,ALTO客户端向ALTO服务器发送查询请求,以得到最新的网络映射表和路径成本表,假设ALTO架构下,较长一段时间内映射信息没有改变或更新,显然的在ALTO客户端和ALTO服务端之间存在大量的冗余查询请求/响应的交互消息,这些冗余查询请求/响应的交互消息占用了大量有限的带宽资源,并加重了ALTO服务器的负担。
发明内容
本发明实施例提供传输优化方法、映射信息的存储方法、装置及系统,以避免ALTO客户端与ALTO服务器之间的冗余查询请求/响应的交互消息,从而有效节省运营商的带宽资源且减轻了对ALTO服务器的收发负载。
本发明实施例提供以下技术方案:
【待权利要求确定后拷贝】
由上可见,本发明实施例中,ALTO客户端关联的存储系统中存储有映射信息,一旦ALTO客户端查询到ALTO存储系统中存储有相应的映射信息(如网络映射信息和/或路径成本映射信息),则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1-a是一种覆盖层网络结构示意图;
图1-b是现有ALTO传输优化方法的原理示意图;
图2是本发明实施例提供的一种传输优化方法的流程示意图;
图3是本发明实施例提供的另一种传输优化方法的流程示意图;
图4-a是本发明实施例提供的另一种传输优化方法的流程示意图;
图4-b是本发明实施例提供的一种映射信息的存储方法的流程示意图;
图5-a是本发明实施例提供的一种传输优化方法的流程示意图;
图5-b是本发明实施例提供的一种网络映射表Network Map的结构示意图;
图5-c是本发明实施例提供的另一种网络映射表Network Map的结构示意图;
图6-a是本发明实施例提供的一种基于Tracker的P2P对等网络的组网示意图;
图6-b是本发明实施例提供的应用于图6-a所示场景下的另一种传输优化方法的流程示意图;
图7-a是本发明实施例提供的一种不基于Tracker的P2P对等网络的组网示意图;
图7-b是本发明实施例提供的应用于图7-a所示场景下的另一种传输优化方法的流程示意图;
图8-a是本发明实施例提供的一种内容分发网络CDN的组网示意图;
图8-b是本发明实施例提供的应用于图8-a所示场景下的另一种传输优化方法的流程示意图;
图9-a是本发明实施例提供的另一种内容分发网络CDN的组网示意图;
图9-b是本发明实施例提供的应用于图9-a所示场景下的另一种传输优化方法的流程示意图;
图10-a是本发明实施例提供的一种ALTO客户端的结构示意图;
图10-b是本发明实施例提供的另一种ALTO客户端的结构示意图;
图11是本发明实施例提供的再一种ALTO客户端的结构示意图;
图12是本发明实施例提供的一种ALTO系统的结构示意图。
具体实施方式
本发明实施例提供虚拟化处理方法及相关装置和计算机系统,以期优化虚拟化系统的性能和兼容性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例提供传输优化方法、ALTO(Application Layer TrafficOptimization,应用层流量优化)映射信息的存储方法、ALTO客户端、ALTO服务器以及ALTO系统,针对不同的服务请求,ALTO客户端关联的存储系统中存储有映射信息,一旦ALTO客户端查询到ALTO存储系统中存储有相应的映射信息(即网络映射信息和/或路径成本映射信息),则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素;
PID:基于网络拓扑,类型或其他属性对网络中的多个端点Endpoint进行分组,并给每组端点分配PID,即用网络位置标识符来表示;例如,PID可以被ALTO服务提供方定义为表示一个子网络,或者多个子网络的一个集合,一个中心区域,一个PoP(Point-of-Presence),一个自治系统,或者多个自治系统的一个集合。
网络映射表Network Map:记录了整个网络中的各节点的布局,对网络中的多个节点进行分组的结果集可以被称为Network Map;Network Map包括一个或多个PID,每个PID包括一个或多个IP前缀,一组IP前缀标记为一个分区;
路径成本映射表Cost Map:记录了各节点间访问的开销,Cost Map定义了源网络位置到目的网络位置之间的路径成本。
参见图2,为本发明实施例提供的一种传输优化方法,需要说明的是,本发明实施例的方法的执行主体是ALTO客户端,该方法可以包括:
201、当需要为服务确定下一跳节点,检查ALTO客户端关联的存储系统中是否存储有映射信息,其中所述映射信息包括全网络层级的网络映射信息Network Map、路径成本映射信息Cost Map、子网络层级的NetworkMapFilter,CostMapFilter、endpointprop或endpointcost;
其中,全网络层级的Network Map具有过期时间参数;或者,子网络层级的NetworkMapFilter具有过期时间参数;
需要说明的是,本发明实施例的ALTO客户端关联的存储系统(后文简称为ALTO存储系统)可以理解为用于存储ALTO服务器端返回的响应中携带的映射信息的任何逻辑实体,本发明实施例的ALTO客户端关联的存储系统可以是ALTO客户端本地的存储系统,也可以是独立于ALTO客户端的存储系统,但ALTO客户端与该存储系统之间具有通信连接。其中,存储系统中存储有ALTO服务器提供的映射信息,这里的映射信息可以是全网络层级的映射信息,也可以是子网络层级的映射信息。
202、如果存储系统中存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于第一子网络。
需要说明的是,本发明实施例中提及的“子网络层级的映射信息”表示全网络层级的映射信息的子集层级,这里的子集层级包括但不限于一个子网络层级,或者多个子网络的一个集合层级。
需要说明的是,这里的信息源可以包括:服务请求节点的网络地址、网络映射信息Network Map和路径成本映射信息Cost Map;
或者,这里的信息源可以包括:服务请求节点的网络地址和网络映射信息Network Map;
或者,这里的信息源可以包括:服务请求节点的网络地址和路径成本映射信息Cost Map;
较优的,考虑负载均衡,上述的信息源还可以包括:负载均衡策略等等。
这里的服务请求节点的网络地址,例如可以是IP地址,MAC地址等等。
由上可见,本实施例中,ALTO客户端关联的存储系统中存储有映射信息,一旦ALTO客户端查询到ALTO存储系统中存储有相应的映射信息(网络映射信息和/或路径成本映射信息),则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载。
参见图3,本发明实施例提供的另一种传输优化方法,可应用于ALTO客户端,该方法可包括:
301、当需要确定下一跳节点时,检查ALTO客户端关联的存储系统中是否存储有网络映射信息和/或路径成本映射信息;
需要说明的是,在不同的应用场景下,当ALTO客户端收到其他节点发来的服务请求或者响应用户的操作或者收到其他节点发来的peer列表请求后,检查ALTO客户端关联的存储系统中是否存储有网络映射信息和/或路径成本映射信息;
302、如果存储有网络映射信息和/或路径成本映射信息,根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对所述第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证;
如果ALTO客户端关联的存储系统中存储有全网络层级的网络映射信息和/或路径成本映射信息,全网络层级的网络映射信息和/或路径成本映射信息与一个过期时间参数之间存在关联关系,则步骤302为:根据全网络层级的网络映射信息和/或路径成本映射信息与所述一个过期时间参数之间的关联关系,对全网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,其中所述全网络层级的网络映射信息和/或路径成本映射信息包括第一子网络层级的网络映射信息和/或路径成本映射信息;
或者,
如果存储的全网络层级的网络映射信息和/或路径成本映射信息与多个过期时间参数之间存在关联关系,且第一子网络层级的网络映射信息和/或路径成本映射信息与所述多个过期时间参数中的第一过期时间参数之间存在关联关系,则步骤302为:根据第一子网络层级的网络映射信息和/或路径成本映射信息与对应的第一过期时间参数之间的关联关系,对第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
其中,欲与目标节点建立通信会话的源节点属于第一子网络,需要说明的是,这里的第一子网络可以表示全网络/全拓扑网络的子集,这里的全网络的子集包括但不限于一个子网络,或者多个子网络的一个集合等等。这里的源节点可以理解为服务请求节点,这里的目标节点可以理解为服务提供节点。
需要说明的是,在不同的实现方式下,可以是事件触发,或者周期性的定时触发对网络映射信息和/或路径成本映射信息进行过期失效验证。过期失效验证的周期是按照实际场景来设置的。
303、如果第一子网络层级的网络映射信息和/或路径成本映射信息未过期失效,则根据包括服务请求节点的网络地址,以及第一子网络层级的网络映射信息和/或路径成本映射信息的信息源确定下一跳节点集合,所述下一跳节点集合包括一个或多个服务提供节点。
需要说明的是,网络映射信息Network Map动态可变的,路径成本映射信息Cost Map通常情况下静态不变的,网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系
由上可见,本实施例中,ALTO客户端关联的存储系统中存储有映射信息,一旦ALTO客户端查询到ALTO存储系统中存储有相应的映射信息(网络映射信息和/或路径成本映射信息),则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端既支持子网络层级,又支持全网络层级的过期失效机制,如果全网络层级的网络映射信息和/或路径成本映射信息未过期失效,或者第一子网络层级的网络映射信息和/或路径成本映射信息未过期失效,则可以直接利用存储的有效的映射信息确定合适的下一跳节点。
以及,本发明实施例中,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,则本发明实施例的传输优化方法还包括:
向ALTO服务器发送ALTO查询请求;
接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息(第一子网络层级的网络映射信息和/或路径成本映射信息),第一子网络层级的映射信息中包含第一过期时间参数;
利用该ALTO响应中携带有第一子网络层级的映射信息(第一子网络层级的网络映射信息和/或路径成本映射信息)更新ALTO客户端关联的存储系统中存储的映射信息,并建立或管理所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
由上可见,本实施例中,当第一子网络层级的映射信息过期失效时,ALTO客户端能主动向ALTO服务器查询第一子网络层级的映射信息,从而利用ALTO服务器返回的携带有过期时间参数的第一子网络层级的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端关联的存储系统中存储的映射信息得以及时更新以及有效性。
以及,本发明实施例中,本发明实施例的传输优化方法还包括:
向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;
接收ALTO服务器返回的确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。
以及,如果所述订阅请求为ALTO客户端向ALTO服务器发送的首个订阅请求,则所述订阅请求中进一步携带有订阅者联系地址contactaddr参数,且所述contactaddr参数通过Java脚本对象标记法JSON对象编码后以净荷payload方式发送。
相应的,本发明实施例的传输优化方法还包括:
接收ALTO服务器发送的通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及更新后的、与所述event-type参数对应的映射信息;
如果所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配,则利用所述通知消息中携带的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息。
以及,如果所述substate参数表示活的订阅状态,所述通知消息中进一步携带有订阅有效期expires参数;
如果所述substate参数表示终止的订阅状态,所述通知消息中进一步携带有原因reason参数。
相应的,如果所述substate参数表示活的订阅状态,且所述订阅有效期expires参数表示订阅的剩余时间低于阈值,或者,所述substate参数表示终止的订阅状态,本发明实施例的传输优化方法还包括:
向ALTO服务器发送订阅刷新请求,所述订阅刷新请求中携带有订阅事件类型event-type参数、subscrid参数,其中所述订阅刷新请求中的event-type参数和subscrid参数与所述确认接受订阅的响应中的event-type参数和subscrid参数相同。
由上可见,本实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
为便于理解,下面从ALTO客户端与ALTO服务器交互的角度来介绍本发明实施例的传输优化方法。
参见图4-a,为本发明实施例的另一种传输优化方法,该方法可包括:
401、ALTO客户端向ALTO服务器发送ALTO查询请求;
需要说明的是,步骤401中的ALTO查询请求可以理解为初始的查询请求,以向ALTO服务器查询全网络层级别的映射信息;
402、ALTO服务器向ALTO客户端返回ALTO响应,该ALTO响应中携带有全网络层级的映射信息,所述全网络层级的映射信息中包含一个或多个过期时间参数;
需要说明的是,如果ALTO客户端需要从ALTO服务器查询得到网络映射信息(下文称为Network Map)和路径成本映射信息(下文称为Cost Map),通常情况下,需要向ALTO服务器分别发送Network Map的查询请求和Cost Map的查询请求,以及分别接收ALTO服务器返回的携带有Network Map的响应和携带有Cost Map的响应。需要说明的是,本发明实施例中,为了简化描述,下文中将统一采用步骤402的表达方式。
ALTO服务器在响应中指定子网络层级或全网络层级的过期时间参数,例如,过期时间参数以GMT标准时间作为绝对日期和时间的格式,应当理解的是,ISP可以使用任何机制来确定过期时间参数,本发明实施例对此不作限定。
在不同的实现方式下,可以是全网络层级的Network Map具有统一的过期时间参数,也可以是,全网络层级的Network Map中,每个子网络层级具有对应的过期时间参数。
403、ALTO客户端存储全网络层级的映射信息,其中,全网络层级的Network Map与过期时间参数之间具有关联关系,或者每个子网络层级的Network Map与过期时间参数之间具有关联关系;
404、ALTO客户端对映射信息进行过期失效验证,过期失效验证结果表示第一子网络层级的映射信息过期失效;
比如,全网络层级的Network Map中,第一子网络层级对应的过期时间参数归零,则表示第一子网络层级的映射信息过期失效。
405、ALTO客户端向ALTO服务器发送ALTO查询请求,以查询第一子网络层级的映射信息;
406、ALTO服务器向ALTO客户端返回ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,第一子网络层级的映射信息中包含第一过期时间参数;
407、ALTO客户端更新存储的映射信息;
408、ALTO客户端向ALTO服务器发送订阅请求,以订阅状态发生变化的映射信息;
409、ALTO服务器向ALTO客户端返回确认接受订阅的响应;
410、当订阅的资源状态发生变化后,ALTO服务器向ALTO客户端发送通知消息,该通知消息中携带更新的映射信息,该映射信息中包含过期时间参数;
411a-411b、ALTO客户端更新存储的映射信息,并向ALTO服务器发送确认收到通知的响应;
412、当需要确定下一跳节点集合时,ALTO客户端检查是否存储有映射信息,所述映射信息包括:网络映射信息和/或路径成本映射信息;
413、当存储有映射信息且映射信息未过期失效时,基于包括服务请求节点的网络地址以及映射信息的信息源确定下一跳节点集合,所述下一跳节点集合包括一个或多个服务提供节点。
由上可见,本实施例中,ALTO客户端存储有映射信息,一旦ALTO客户端查询到ALTO存储系统中存储有相应的映射信息(网络映射信息和/或路径成本映射信息),则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
请参阅图4-b,为本发明实施例提供的一种映射信息的存储方法,该方法的执行主体为ALTO客户端,该方法可包括:
421、接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有映射信息,其中所述映射信息中包含一个或多个过期时间参数;
其中,映射信息包括网络映射信息和/或路径成本映射信息,相对于路径成本映射信息,网络映射信息会动态可变的,而路径成本映射信息Cost Map通常情况下静态不变的,相应的,在一种实现方式下,本发明实施例的网络映射信息中包含一个或多个过期时间参数。
422、将所述映射信息进行存储,并建立所述映射信息与所述一个或多个过期时间参数之间的关联关系。
在一种实现方式下,步骤422具体为将网络映射信息和路径成本映射信息进行存储,并建立或管理网络映射信息与一个或多个过期时间参数之间的关联关系。
需要说明的是,步骤421中的ALTO响应可以是ALTO客户端向ALTO服务器发送的首个ALTO查询请求所对应的ALTO响应(参见示例1),相应的,ALTO响应中可以携带全网络层级的映射信息,如果所述映射信息中包含一个过期时间参数,则步骤422可以为,将所述映射信息进行存储,并建立全网络层级的映射信息与所述一个过期时间参数之间的关联关系;
步骤421中的ALTO响应可以是ALTO客户端向ALTO服务器发送的非首个ALTO查询请求所对应的ALTO响应(参见示例3),相应的,ALTO响应中可以携带子网络层级的映射信息(如Filtered Network Map),如果所述子网络层级的映射信息中包含多个过期时间参数,则步骤422可以为,将所述子网络层级的映射信息进行存储,并建立各子网络层级的映射信息与所述多个过期时间参数中对应的过期时间参数之间的关联关系,比如PID1与第一过期时间参数的关联关系,PID2与第二过期时间参数的关联关系;
由上可见,本实施例中,ALTO客户端存储有映射信息,一旦ALTO客户端查询到ALTO存储系统中存储有相应的映射信息(网络映射信息和/或路径成本映射信息),则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
为了能保证ALTO客户端存储的映射信息得以及时更新以及有效性,本发明实施例的方法进一步包括:
基于所述映射信息与所述一个或多个过期时间参数之间的关联关系,对所述映射信息进行过期失效验证。
在一种实现方式下,具体为基于网络映射信息与所述一个或多个过期时间参数之间的关联关系,对所述网络映射信息进行过期失效验证。
如果所述映射信息的过期失效验证结果表示第一子网络层级的映射信息过期失效,则所述方法还包括:
向所述ALTO服务器发送ALTO查询请求;
接收所述ALTO服务器返回的ALTO响应,所述ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含第一过期时间参数;
利用该ALTO响应中携带的第一子网络层级的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息,并建立或管理所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
为了能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性,本发明实施例的方法进一步包括:
向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;
接收ALTO服务器返回的发送确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。
以及,如果所述订阅请求为ALTO客户端向ALTO服务器发送的首个订阅请求,则所述订阅请求中进一步携带有订阅者联系地址contactaddr参数,且所述contactaddr参数通过JSON对象编码后以payload方式发送。
相应的,本发明实施例的方法进一步包括:
接收所述ALTO服务器发送的通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及更新后的、与所述event-type参数对应的映射信息;
如果所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配,利用所述通知消息中携带的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息。
以及,如果所述substate参数表示活的订阅状态,所述通知消息中进一步携带有订阅有效期expires参数;
如果所述substate参数表示终止的订阅状态,所述通知消息中进一步携带有原因reason参数。
相应的,如果所述substate参数表示活的订阅状态,且所述订阅有效期expires参数表示订阅的剩余时间低于阈值,或者,所述substate参数表示终止的订阅状态,所述方法还包括:
向ALTO服务器发送订阅刷新请求,所述订阅刷新请求中携带有订阅事件类型event-type参数、subscrid参数,其中所述订阅刷新请求中的event-type参数和subscrid参数与所述确认接受订阅的响应中的event-type参数和subscrid参数相同。
下文结合示例展示ALTO客户端向ALTO服务器查询Network Map和CostMap,并缓存Network Map和Cost Map,以及对缓存的Cost Map进行更新的过程,以及ALTO服务器通过一个单独的子域“custom.alto.example.com”,向ALTO客户端提供订阅、通知的服务。
参见图5-a,为本发明实施例的另一种传输优化方法,该方法可包括:
501、ALTO客户端向ALTO服务器发送HTTP POST,以请求ALTO服务器返回全网络层级的Network Map,即覆盖所有PID的Network Map;
在不同实现方式下,Network Map的查询请求也可以是HTTP GET消息。
502、ALTO客户端接收ALTO服务器返回的200OK,该200OK中携带有全网络层级别的Network Map,其中Network Map具有过期时间参数;
一种实现方式下,针对全网络层级别的Network Map,NetworkMapData具有统一的过期时间参数,即“expires”参数,如图5-b所示,Network Map包括的一个或多个PID具有统一的过期时间Expires参数;
另一种实现方式下,针对全网络层级别的Network Map,其中Network Map包括的一个或多个PID中,如图5-c所示,每个PID分别具有对应的过期时间参数,即“expires”参数,每个PID分别具有的过期时间参数可以是相同的,也可以是不同的;这里的PID可以表示一个子网,或者多个子网的集合等等。
503、ALTO客户端存储全网络层级别的Network Map,并建立或管理Network Map与过期时间参数之间的关系,或者,Network Map中包括的各PID与过期时间参数之间的关系,如下表a所示;
表a
504、ALTO客户端向ALTO服务器发送HTTP POST,以请求ALTO服务器返回全网络层级的Cost Map,即覆盖所有PID的Cost Map;
在不同实现方式下,Cost Map的查询请求也可以是HTTP GET消息。
505、ALTO客户端接收ALTO服务器返回的200OK,该200OK中携带有全网络层级别的Cost Map;
506、ALTO客户端存储全网络层级别的Cost Map,该Cost Map中记录了源PID与目的PID之间的路径成本,如下表b所示;
表b
507、ALTO客户端向ALTO服务器发送订阅请求,其中所述订阅请求中携带“event-type”、“expires”值域,且“contactaddr”参数通过JSON对象编码后以净荷payload方式发送,其中“expires”表示订阅的有效期,“event-type”的取值为CostMapFilter;
Subscribe(ReqFilteredCostMap);
pids:
“srcs”:{“PID1”},
“dsts”:{“PID1”,“PID2”,“PID3”},
508、ALTO服务器向ALTO客户端返回200OK,以确认接受订阅,其中200OK响应消息中携带“event-type”参数、“subscrid”参数和“expires”值域,其中所述“event-type”参数与步骤507中的订阅请求中的“event-type”的取值相同;
509、当订阅的资源状态发生变化后,ALTO服务器向ALTO客户端发送通知消息,该通知消息中携带更新后的资源信息CostMapFilter,以及“event-type”、“substate”和“subscrid”参数,其中“event-type”的取值为“CostMapFilter”字符串;
510、ALTO客户端向ALTO服务器发送200OK,以确认收到通知;
511、ALTO客户端更新存储的全网络层级别的Cost Map,该Cost Map中记录了更新后的源PID与目的PID之间的路径成本,如下表c所示。
表c
512、基于PID与过期时间参数的关联关系,ALTO客户端对Network Map进行过期失效验证,如果Network Map中PID1和PID2相关的映射信息过期失效,则向ALTO服务器发送HTTP POST,该HTTP POST携带有PID1和PID2,以请求ALTO服务器返回Filtered Network Map(即与PID1和PID2相关的映射信息,与PID1和PID2相关的映射信息中包含有对应的过期时间参数),参见下文2.2节的示例3;
具体的,Filtered Network Map的查询请求也可以是HTTP GET消息。
513、ALTO客户端接收ALTO服务器返回的200OK,该200OK中携带有Filtered Network Map,其中Filtered Network Map具有过期时间参数;
514、ALTO客户端更新存储的全网络层级别的Network Map,并建立或管理Network Map与过期时间参数之间的关系,或者,Network Map中包括的各PID与过期时间参数之间的关系,如下表d所示。
表d
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
下面从实现层面对本发明实施例做更清楚的介绍:
1)ALTO类型
本发明实施例扩展基本ALTO类型EndpointAddrGroup和NetworkMapData的“expires”参数如下:
2)ALTO缓存与失效验证机制
ALTO服务器:在响应中指定子网络层级或全网络层级的过期时间,过期时间以GMT标准时间作为绝对日期和时间的格式。ALTO服务器可以使用基于HTTP或ALTO的缓存机制来传送过期时间参数。当是HTTP GET请求消息时,ALTO服务器可以使用基于HTTP的缓存机制,这样更有助于Network Map andCost Map信息的查询;在请求是HTTP POST的情况下,ALTO服务器可以使用ALTO的缓存机制,这将有助于过滤掉信息查询。
ALTO客户端:能够识别出子网络层级或全网络层级的过期时间参数。一旦过期失效,ALTO客户端应该触发一个新的请求到服务器。
2.1下面示例ALTO客户端以HTTP GET或POST查询Network Map且ALTO服务器返回带有过期时间参数的Network Map的场景。ALTO客户端建立Network Map和过期时间参数之间的关联,一旦过期,ALTO客户端需要立即发起一个新的查询。
示例1如下:
示例2如下:
2.2.下面示例ALTO客户端以HTTP POST查询Filtered Network Map且ALTO服务器返回带有过期时间参数的Filtered Network Map的场景。ALTO客户端建立子网络层级映射信息和过期时间参数之间的关联。一旦过期,ALTO客户端发起一个新的仅用于查询子网络层级的映射信息的查询,以此避免对网络造成的额外负担。
示例3:
2.3下面示例ALTO客户端以HTTP GET查询Cost Map且ALTO服务器返回Cost Map的场景。
示例4:
2.4.下面示例ALTO客户端以HTTP POST查询Filtered Cost Map且ALTO服务器返回Filtered Cost Map的场景。
示例5:
3)订阅与通知服务机制:
订阅服务允许ALTO客户端发起一个事件的订阅,以便ALTO服务器可以返回全网络层级的映射信息或子网络层级的映射信息(全网络层级的映射信息的子集)。一旦事件有所变化,ALTO服务器向ALTO客户端主动发送更改事件的通知。
3.1发起订阅请求
当ALTO客户端要订阅某个资源的一个特定状态,它会构造一个HTTPGET或POST消息发出,ALTO服务器给POST消息回复200OK消息以表明该订阅已被接受,且通知消息将被发送。该框架允许订阅方订阅全网络层级或子网络层级的映射信息,例如ALTO客户端可以订阅NetworkMap和CostMaps全网络层级映射信息,也可以订阅像NetworkMapFilter,CostMapFilter或端点服务的子网络层级的映射信息。
订阅请求可以携带“event-type”、“expires”值域,且“contactaddr”参数通过JSON对象编码后以payload方式发送。“event-type”表示什么类型的事件需要订阅,“expires”指示订阅保持活跃状态的实际有效期。
节点需要在首个订阅消息中提供“contactaddr”参数,以便于ALTO服务器节点发送通知消息。
非2xx应答表示没有创建订阅和没有通知消息将被发送。
在HTTP POST请求消息的实体body中携带输入参数,且输入参数具有的数据格式是由“application/alto-subscribeinput+json”媒体类型表示,具体参见SubscribeInput的JSON对象:
event-type:表示订阅哪种类型信息,其中event-type的取值可以是“NetworkMap”,“CostMap”,“NetworkMapFilter”,“CostMapFilter”,“endpointprop”,“endpointcost”字符串。“NetworkMap”和“CostMap”表明订阅全网络层级的映射信息,其余的取值表明订阅子网络层级的映射信息。
expires:订阅有效期,换言之即订阅的生命期。
contactaddr:用以指明通知应该发送的订阅者。
其中,根据“event-type”取值来决定ReqFilteredNetworkMap等对象是否必备或可选。
3.2订阅的刷新
在订阅过期之前,订阅者可以发送HTTP POST请求消息,以刷新订阅,其中HTTP POST请求消息中的event-type参数和subscrid参数与200OK消息中event-type参数和subscrid参数相同。subscrid参数是用来区分来自同一节点上的多次订阅,换言之,如果subscrid参数相同,则说明是来自同一节点上的多次订阅;反之,则说明:来自不同节点上的多次订阅。
3.3通知方对订阅事件的处理
通知方应检查订阅事件是可以被接受的,且存储“contactaddr”、“event-type”和“expires”参数信息,返回订阅方200OK响应消息以表明订阅成功,200OK响应消息中携带“event-type”参数、惟一的“subscrid”参数和“expires”值域,其中subscrid参数是用来区分多重订阅。
输入参数提供在200OK响应消息的实体body中,且输入参数的数据格式是由“application/alto-subscriptiondata+json”媒体类型表示:
subscrid:该ID由通知方发送,用于惟一标识订阅者。刷新订阅和通知必须携带此ID。
event-type:同订阅请求中的值。
3.4通知方的通知行为
通知方通过发送携带资源信息和“event-type”、“substate”、“subscrid”参数的HTTP POST请求消息,表明订阅状态的变化,其中资源信息可以是“NetworkMap”、“CostMap”、“NetworkMapFilter”、“CostMapFilter”或端点服务等信息。“substate”表示通知方维护的订阅状态,值可以为“active”或“terminated”。
如果“substate”的值为“active”,通知方发送的HTTP POST请求消息应进一步包括一个“expires”,标明订阅的剩余时间;如果“substate”的值为“terminated”,通知方应发送的HTTP POST请求消息进一步包括一个“reason”的值域。
在HTTP POST请求消息的实体body中携带有输入参数,且输入参数的数据格式是由“application/alto-notificationdata+json”媒体类型来表示:
其中:
substate:表示由ALTO服务器维护的订阅状态。
expires:表示subscrid所对应订阅的剩余时间。
根据“event-type”参数来决定资源对象是可选的还是必备的。
3.5订阅方对通知事件的处理
订阅方通过通知消息中返回的“subscrid”参数来检查是否是预期的订阅。如果不是,订阅方必须返回“404Not Found”响应消息;如果是,并且“substate”的值为“active”,表明该订阅仍是活跃的,继而可检查expires参数(这里的expires参数表示订阅的剩余时间)。如若需要,订阅方可以请求刷新订阅。
3.6取消订阅
通过发送携带uri为example.com/unsubscribe,且payload包含subscrid的HTTP POST消息可以终止订阅。
3.7示例
如下示例展示了ALTO客户端本地缓存有映射信息,为资源状态变化(Filtered Network Map)进行订阅,辅以执行订阅刷新和取消订阅操作。ALTO服务器通过一个单独的子域“custom.alto.example.com”,来提供订阅、通知和取消订阅的服务:
ALTO客户端发起订阅请求:
ALTO服务器发送确认接受订阅的响应:
当订阅的资源状态发生变化后,ALTO服务器采用通知消息通知ALTO客户端资源状态的更改:
其中,需要说明的是,ALTO客户端发起订阅请求,以订阅与PID1和PID2有关联关系且发生变化的PID,本示例中,由于与PID1或PID2有关联关系的PID3以及PID1和PID2均发生变化,ALTO服务器通知给订阅方。
ALTO客户端发送确认收到通知的响应:
HTTP/1.1200OK
ALTO客户端发起刷新订阅请求:
ALTO服务器发送确认接受订阅刷新的响应:
HTTP/1.1200OK
ALTO客户端终止订阅:
ALTO服务器发送确认接受终止订阅的响应:
HTTP/1.1200OK
该发明实施例中,ALTO客户端和ALTO服务器要注册如下表格中的媒体类型:
+-------------+--------------------------------------------+
|Type |Subtype |
+-------------+--------------------------------------------+
|application |alto-subscribeinput+json |
|application |alto-subscriptiondata+json |
|application|alto-notificationdata+json |
+-----------+---------------------------------------------+
为便于更好的理解和实施本发明实施例上述方案,下面结合具体应用场景进行进一步介绍。
参见图6-b,本发明实施例提供的另一种传输优化方法,应用于如图6-a所示的基于Tracker的P2P对等网络的场景中,其中,基于Tracker的P2P对等网络包括骨干网络、ALTO使能Tracker服务器(下文简称为Tracker服务器)、多个p2p客户端和ALTO服务器,需要说明的是,在如图6-a的应用场景中,Tracker服务器上部署有ALTO客户端,换言之,Tracker服务器为ALTO客户端,其利用包括映射信息的信息源为P2P客户端选择最合适的内容提供者,该方法可包括:
601、P2P客户端1向Tracker服务器发送peer列表请求,所述peer列表请求中携带有P2P客户端1的网络地址;
比如当P2P客户端1要下载内容时,则向Tracker服务器发送peer列表请求。
602、Tracker服务器收到peer列表请求后,向ALTO服务器发送ALTO查询请求;
需要说明的是,本发明实施例中,当Tracker服务器初次收到peer列表请求后,向ALTO服务器发送Network Map的查询请求,以请求ALTO服务器返回全网络层级的Network Map,即覆盖所有PID的Network Map,其中Network Map中包括一个或多个PID,每个PID包括IP前缀,在一种实现方式下,如图5-c所示,Network Map包括的一个或多个PID中的每个PID可以分别对应有过期时间Expires参数;或者,在另一种实现方式下,如图5-b所示,Network Map包括的一个或多个PID具有统一的过期时间Expires参数。
以及,Tracker服务器向ALTO服务器发送Cost Map的查询请求,以请求ALTO服务器返回全网络层级的Cost Map,即覆盖所有PID的Cost Map,请参阅上表b,为对应图5-b或5-c的Cost Map的结构示意图,如表b所示,Cost Map中记录了源PID与目的PID之间的路径成本。
具体的,Network Map的查询请求和Cost Map的查询请求可以是HTTPPOST或GET消息。
603、Tracker服务器接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有全网络层级别的映射信息,即接收ALTO服务器返回的携带有全网络层级别的Network Map的响应和ALTO服务器返回的携带有全网络层级别的CostMap的响应;其中Network Map具有过期时间参数;
一种实现方式下,针对全网络层级别的Network Map,NetworkMapData具有统一的过期时间参数,即“expires”参数;
另一种实现方式下,针对全网络层级别的Network Map,NetworkMapData中包括的一个或多个PID,每个PID分别具有对应的过期时间参数,即“expires”参数,每个PID分别具有的过期时间参数可以是相同的,也可以是不同的;这里的PID可以表示一个子网,或者多个子网的集合等等。如上表a所示。
604、Tracker服务器存储映射信息,即全网络层级别的Network Map和CostMap,并建立或管理Network Map与过期时间参数之间的关系,或者,NetworkMap中包括的PID与过期时间参数之间的关系;
606、Tracker服务器基于包括P2P客户端1的网络地址以及映射信息的信息源确定peer列表,其中peer列表包括合适的内容提供方(如P2P客户端2);
其中,在一种实现方式下,Tracker服务器基于P2P客户端1的网络地址以及Network Map确定peer列表,比如选择同一个PID或ISP下的节点作为内容提供方,比如P2P客户端1(源节点)与P2P客户端2(目标节点)属于同一个PID或ISP下,则选择P2P客户端2作为内容提供方;
在另一种实现方式下,Tracker服务器基于P2P客户端1的网络地址以及CostMap确定peer列表,比如P2P客户端1(源节点)与P2P客户端2(目标节点)之间的路径成本最小,则选择P2P客户端2作为内容提供方;
在又一种实现方式下,Tracker服务器基于P2P客户端1的网络地址以及Network Map和Cost Map确定peer列表,比如P2P客户端1(源节点)与P2P客户端2(目标节点)属于同一个PID或ISP下,且P2P客户端1(源节点)与P2P客户端2(目标节点)之间的路径成本最小,则选择P2P客户端2作为内容提供方;
较优的,如果考虑网络中各节点负载均衡,用于确定peer列表的信息源还可以包括网络中各节点的业务相关处理能力,本发明实施例包括但不限于此。
606、Tracker服务器与ALTO服务器之间进行映射信息的订阅;详细流程不再赘述。
607、Tracker服务器向P2P客户端1返回确定的peer列表;
608、P2P客户端1从peer列表中找到最合适的内容提供方(如P2P客户端2),向P2P客户端2发送服务请求,比如如果P2P客户端要下载内容,则向P2P客户端2发送内容下载请求,本实施例中P2P客户端1向P2P客户端2发送HTTP GET;
609、P2P客户端2向P2P客户端1发送200OK;
610、一段时间过去之后,P2P客户端1向Tracker服务器再次发送peer列表请求,所述peer列表请求中携带有P2P客户端1的网络地址;
611、Tracker服务器收到携带有P2P客户端1的网络地址的peer列表请求后,检查ALTO存储系统中是否存储有P2P客户端1的网络地址归属的第一子网络的映射信息,如果存储有第一子网络层级的映射信息(即NetworkMapFilter,CostMapFilter的第一子网络层级映射表),且所述第一子网络层级的ALTO映射表未过期有效,则基于包括P2P客户端1的网络地址以及存储的第一子网络层级的映射信息的信息源确定peer列表,其中peer列表包括合适的内容提供方(如P2P客户端2);
具体的,Tracker服务器根据Network Map中包括的PID与过期时间参数之间的关系,检查P2P客户端1的网络地址归属的PID(比如PID1)是否过期失效,当P2P客户端1的网络地址归属的PID(比如PID1)所关联的过期时间参数表示未过期失效时,基于包括P2P客户端1的网络地址以及ALTO存储系统中存储的与该PID(比如PID1)相关的映射信息的信息源确定peer列表,其中peer列表包括合适的内容提供方(如P2P客户端2)。
612、Tracker服务器向P2P客户端1返回peer列表;
613、P2P客户端1从peer列表中找到最佳的内容提供方(如P2P客户端2),向P2P客户端2发送服务请求,比如如果P2P客户端要下载内容,则向P2P客户端2发送内容下载请求,本实施例中P2P客户端1向P2P客户端2发送HTTP GET;
614、P2P客户端2向P2P客户端1发送200OK。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
参见图7-b,本发明实施例提供的另一种传输优化方法,应用于如图7-a所示的不基于Tracker的P2P对等网络的场景中,其中,不基于Tracker的P2P对等网络包括骨干网络、多个p2p客户端和ALTO服务器,需要说明的是,在如图7-a的应用场景中,p2p客户端上部署有ALTO客户端,换言之,p2p客户端为ALTO客户端,其利用包括映射信息的信息源选择最合适的内容提供者,该方法可包括:
701、响应于用户触发P2P客户端1上的P2P应用,P2P客户端1向ALTO服务器发送ALTO查询请求;
需要说明的是,本发明实施例中,当P2P客户端1初次响应于用户触发P2P客户端1上的P2P应用,向ALTO服务器发送Network Map的查询请求,以请求ALTO服务器返回全网络层级的Network Map,即覆盖所有PID的Network Map,其中Network Map中包括一个或多个PID,每个PID包括IP前缀,在一种实现方式下,如图5-c所示,Network Map包括的一个或多个PID中的每个PID可以分别对应有过期时间Expires参数;或者,在另一种实现方式下,如图5-b所示,Network Map包括的一个或多个PID具有统一的过期时间Expires参数。
以及,P2P客户端1向ALTO服务器发送Cost Map的查询请求,以请求ALTO服务器返回全网络层级的Cost Map,即覆盖所有PID的Cost Map,请参阅上表b,为对应图5-b或5-c的Cost Map的结构示意图,如上表b所示,Cost Map中记录了源PID与目的PID之间的路径成本。
具体的,Network Map的查询请求和Cost Map的查询请求可以是HTTPPOST或GET消息。
702、P2P客户端1接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有全网络层级别的映射信息,即接收ALTO服务器返回的携带有全网络层级别的Network Map的响应和ALTO服务器返回的携带有全网络层级别的CostMap的响应;其中Network Map具有过期时间参数;
一种实现方式下,针对全网络层级别的Network Map,NetworkMapData具有统一的过期时间参数,即“expires”参数;
另一种实现方式下,针对全网络层级别的Network Map,NetworkMapData中包括的一个或多个PID,每个PID分别具有对应的过期时间参数,即“expires”参数,每个PID分别具有的过期时间参数可以是相同的,也可以是不同的;这里的PID可以表示一个子网,或者多个子网的集合等等。如上表a所示。
703、P2P客户端1存储映射信息,即全网络层级别的Network Map和CostMap,并建立或管理Network Map与过期时间参数之间的关系,或者,NetworkMap中包括的PID与过期时间参数之间的关系;
704、P2P客户端1基于包括P2P客户端1的网络地址以及映射信息的信息源确定peer列表,其中peer列表包括合适的内容提供方(如P2P客户端2);
其中,在一种实现方式下,P2P客户端1基于P2P客户端1的网络地址以及Network Map确定peer列表,比如选择同一个PID或ISP下的节点作为内容提供方,比如P2P客户端1(源节点)与P2P客户端2(目标节点)属于同一个PID或ISP下,则选择P2P客户端2作为内容提供方;
在另一种实现方式下,P2P客户端1基于P2P客户端1的网络地址以及CostMap确定peer列表,比如P2P客户端1(源节点)与P2P客户端2(目标节点)之间的路径成本最小,则选择P2P客户端2作为内容提供方;
在又一种实现方式下,P2P客户端1基于P2P客户端1的网络地址以及Network Map和Cost Map确定peer列表,比如P2P客户端1(源节点)与P2P客户端2(目标节点)属于同一个PID或ISP下,且P2P客户端1(源节点)与P2P客户端2(目标节点)之间的路径成本最小,则选择P2P客户端2作为内容提供方;
较优的,如果考虑网络中各节点负载均衡,用于确定peer列表的信息源还可以包括网络中各节点的业务相关处理能力,本发明实施例包括但不限于此。
705、P2P客户端1与ALTO服务器之间进行映射信息的订阅;详细流程不再赘述。
707、P2P客户端1从peer列表中找到最合适的内容提供方(如P2P客户端2),向P2P客户端2发送服务请求,比如向P2P客户端2发送内容下载请求,本实施例中P2P客户端1向P2P客户端2发送HTTP GET;
707、P2P客户端2向P2P客户端1发送200OK;
708a-708b、响应于用户再次触发P2P客户端1上的P2P应用,P2P客户端1检查ALTO存储系统中是否缓存有P2P客户端1的网络地址归属的第一子网络的映射信息,如果缓存有第一子网络层级的映射信息(即NetworkMapFilter,CostMapFilter的第一子网络层级映射表),且所述第一子网络层级的ALTO映射表未过期有效,则基于包括P2P客户端1的网络地址以及缓存的第一子网络层级的映射信息的信息源确定peer列表,其中peer列表包括合适的内容提供方(如P2P客户端2);
具体的,P2P客户端1根据Network Map中包括的PID与过期时间参数之间的关系,检查P2P客户端1的网络地址归属的PID(比如PID1)是否过期失效,当P2P客户端1的网络地址归属的PID(比如PID1)所关联的过期时间参数表示未过期失效时,基于包括P2P客户端1的网络地址以及ALTO缓存系统中缓存的与该PID(比如PID1)相关的映射信息的信息源确定peer列表,其中peer列表包括合适的内容提供方(如P2P客户端2)。
709、P2P客户端1从peer列表中找到最佳的内容提供方(如P2P客户端2),向P2P客户端2发送服务请求,比如向P2P客户端2发送内容下载请求,本实施例中P2P客户端1向P2P客户端2发送HTTP GET;
710、P2P客户端2向P2P客户端1发送200OK。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
参见图8-b,本发明实施例提供的另一种传输优化方法,应用于如图8-a所示的内容分发网络CDN的场景中,其中,CDN网络包括重定向设备Redirector、ALTO服务器、一个或多个内容节点Content Node(比如源内容服务器(originalserver)和多个代理内容服务器(cache server)),需要说明的是,在如图8-a的应用场景中,重定向设备上部署有ALTO客户端,换言之,重定向设备为ALTO客户端,其利用包括映射信息的信息源选择最合适的内容节点(最合适的源内容服务器或代理内容服务器),该方法可包括:
801、用户主机Host向CDN网络发送初始的内容服务请求,所述内容服务请求中携带有Host的网络地址;
其中,内容服务请求可以是HTTP POST或GET消息(本实施例中以HTTPGET举例说明)。
802、CDN网络中的重定向设备收到所述HTTP GET请求后,向ALTO服务器发送ALTO查询请求;
需要说明的是,本发明实施例中,当重定向设备初次收到HTTP GET请求后,向ALTO服务器发送Network Map的查询请求,以请求ALTO服务器返回全网络层级的Network Map,即覆盖所有PID的Network Map,其中Network Map中包括一个或多个PID,每个PID包括IP前缀,在一种实现方式下,如图5-c所示,Network Map包括的一个或多个PID中的每个PID可以分别对应有过期时间Expires参数;或者,在另一种实现方式下,如图5-b所示,Network Map包括的一个或多个PID具有统一的过期时间Expires参数。
以及,重定向设备向ALTO服务器发送Cost Map的查询请求,以请求ALTO服务器返回全网络层级的Cost Map,即覆盖所有PID的Cost Map,请参阅上表b,为对应图5-b或5-c的Cost Map的结构示意图,如上表b所示,Cost Map中记录了源PID与目的PID之间的路径成本。
具体的,Network Map的查询请求和Cost Map的查询请求可以是HTTPPOST或GET消息。
803、重定向设备接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有全网络层级别的映射信息,即接收ALTO服务器返回的携带有全网络层级别的Network Map的响应和ALTO服务器返回的携带有全网络层级别的CostMap的响应;其中Network Map具有过期时间参数;
一种实现方式下,针对全网络层级别的Network Map,NetworkMapData具有统一的过期时间参数,即“expires”参数;
另一种实现方式下,针对全网络层级别的Network Map,NetworkMapData中包括的一个或多个PID,每个PID分别具有对应的过期时间参数,即“expires”参数,每个PID分别具有的过期时间参数可以是相同的,也可以是不同的;这里的PID可以表示一个子网,或者多个子网的集合等等。
804、重定向设备存储映射信息,即全网络层级别的Network Map和CostMap,并建立或管理Network Map与过期时间参数之间的关系,或者,NetworkMap中包括的PID与过期时间参数之间的关系;
805、重定向设备基于包括Host的网络地址以及映射信息的信息源选择最合适的CDN节点,比如Cache服务器1;
其中,在一种实现方式下,重定向设备基于Host的网络地址以及NetworkMap选择与Host属于同一个PID或ISP下的CDN节点,比如Host与Cache服务器1属于同一个PID或ISP下,则选择Cache服务器1;
在另一种实现方式下,重定向设备基于Host的网络地址以及Cost Map选择最合适的CDN节点,比如Cache服务器1,其中Host到达被选中的Cache服务器1的成本代价属于Host到达CDN网络中各Cache服务器的路径成本代价中最小的;
在又一种实现方式下,重定向设备基于Host的网络地址以及Network Map和Cost Map选择最合适的CDN节点,比如Cache服务器1,其中Host与Cache服务器1属于同一个PID或ISP下,且Host到达被选中的Cache服务器1的成本代价属于Host到达CDN网络中各Cache服务器的路径成本代价中最小的;
较优的,如果考虑网络中各节点负载均衡或其他更好的因素,用于确定peer列表的信息源还可以包括网络中各节点的业务相关处理能力、CDN策略,本发明实施例包括但不限于此。
806、重定向设备与ALTO服务器之间进行映射信息的订阅;详细流程不再赘述。
807、重定向设备向Host返回HTTP 302重定向响应,所述HTTP 302重定向响应携带有选中的最合适的CDN节点信息,比如Cache服务器1的网络地址;
808、Host向Cache服务器1发送服务请求,比如如果Host要下载内容,则向Cache服务器1发送内容下载请求,本实施例中Host向Cache服务器1发送HTTP GET请求;
809、Cache服务器1向Host发送200OK;
810、一段时间过去之后,Host再次向CDN网络发送HTTP GET请求,以请求内容服务,所述HTTP GET请求中携带有Host的网络地址;
811、CDN网络中的重定向设备收到所述HTTP GET请求后,检查ALTO存储系统中是否存储有映射信息即Network Map和Cost Map,尤其是Host的网络地址归属的第一子网络的映射信息,如果存储有第一子网络层级的映射信息(即NetworkMapFilter,CostMapFilter的第一子网络层级映射表),且所述第一子网络层级的ALTO映射表未过期有效,则基于包括Host的网络地址以及存储的第一子网络层级的映射信息的信息源选择最合适的CDN节点,比如Cache服务器1;
具体的,重定向设备根据Network Map中包括的PID与过期时间参数之间的关系,检查Host的网络地址归属的PID(比如PID1)是否过期失效,当Host的网络地址归属的PID(比如PID1)所关联的过期时间参数表示未过期失效时,基于包括Host的网络地址以及ALTO存储系统中存储的与所述PID(比如PID1)相关的映射信息的信息源选择最合适的CDN节点,比如Cache服务器1。
812、重定向设备向Host返回HTTP 302重定向响应,所述HTTP 302重定向响应携带有选中的最合适的CDN节点信息,比如Cache服务器1的网络地址;
813、Host向Cache服务器1发送服务请求,比如如果Host要下载内容,则向Cache服务器1发送内容下载请求,本实施例中Host向Cache服务器1发送HTTP GET请求;
814、Cache服务器1向Host发送200OK。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
参见图9-b,本发明实施例提供的另一种传输优化方法,应用于如图9-a所示的内容分发网络CDN的场景中,其中,CDN网络包括DNS代理、DNS服务器、ALTO服务器、一个或多个内容节点Content Node(比如源内容服务器(original server)和多个代理内容服务器(cache server)),需要说明的是,在如图9-a的应用场景中,DNS服务器上部署有ALTO客户端,换言之,DNS服务器为ALTO客户端,其利用包括映射信息的信息源选择最合适的内容节点(最合适的源内容服务器或代理内容服务器),该方法可包括:
901、用户主机Host向DNS代理发送初始的DNS查询请求,所述DNS查询请求中携带有Host的网络地址;
902、在收到所述DNS查询请求后,DNS代理向DNS服务器转发所述查询请求;
903、在收到所述DNS查询请求后,DNS服务器向ALTO服务器发送ALTO查询请求;
需要说明的是,本发明实施例中,当DNS服务器初次收到HTTP GET请求后,向ALTO服务器发送Network Map的查询请求,以请求ALTO服务器返回全网络层级的Network Map,即覆盖所有PID的Network Map,其中Network Map中包括一个或多个PID,每个PID包括IP前缀,在一种实现方式下,如图5-c所示,Network Map包括的一个或多个PID中的每个PID可以分别对应有过期时间Expires参数;或者,在另一种实现方式下,如图5-b所示,Network Map包括的一个或多个PID具有统一的过期时间Expires参数。
以及,DNS服务器向ALTO服务器发送Cost Map的查询请求,以请求ALTO服务器返回全网络层级的Cost Map,即覆盖所有PID的Cost Map,请参阅上表b,为对应图5-b或5-c的Cost Map的结构示意图,如上表b所示,Cost Map中记录了源PID与目的PID之间的路径成本。
具体的,Network Map的查询请求和Cost Map的查询请求可以是HTTPPOST或GET消息。
904、DNS服务器接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有全网络层级别的映射信息,即接收ALTO服务器返回的携带有全网络层级别的Network Map的响应和ALTO服务器返回的携带有全网络层级别的CostMap的响应;其中Network Map具有过期时间参数;
一种实现方式下,针对全网络层级别的Network Map,NetworkMapData具有统一的过期时间参数,即“expires”参数;
另一种实现方式下,针对全网络层级别的Network Map,NetworkMapData中包括的一个或多个PID,每个PID分别具有对应的过期时间参数,即“expires”参数,每个PID分别具有的过期时间参数可以是相同的,也可以是不同的;这里的PID可以表示一个子网,或者多个子网的集合等等。如上表a所示。
905、DNS服务器存储映射信息,即全网络层级别的Network Map和CostMap,并建立或管理Network Map与过期时间参数之间的关系,或者,NetworkMap中包括的PID与过期时间参数之间的关系;
906、DNS服务器基于包括Host的网络地址以及映射信息的信息源选择最合适的CDN节点,比如Cache服务器1;
其中,在一种实现方式下,DNS服务器基于Host的网络地址以及NetworkMap选择与Host属于同一个PID或ISP下的CDN节点,比如Host与Cache服务器1属于同一个PID或ISP下,则选择Cache服务器1;
在另一种实现方式下,DNS服务器基于Host的网络地址以及Cost Map选择最合适的CDN节点,比如Cache服务器1,其中Host到达被选中的Cache服务器1的成本代价属于Host到达CDN网络中各Cache服务器的路径成本代价中最小的;
在又一种实现方式下,DNS服务器基于Host的网络地址以及Network Map和Cost Map选择最合适的CDN节点,比如Cache服务器1,其中Host与Cache服务器1属于同一个PID或ISP下,且Host到达被选中的Cache服务器1的成本代价属于Host到达CDN网络中各Cache服务器的路径成本代价中最小的;
较优的,如果考虑网络中各节点负载均衡或其他更好的因素,用于确定peer列表的信息源还可以包括网络中各节点的业务相关处理能力、CDN策略,本发明实施例包括但不限于此。
907、DNS服务器与ALTO服务器之间进行映射信息的订阅;
908、DNS服务器向DNS代理返回DNS响应,所述DNS响应携带有选中的最合适的CDN节点信息,比如Cache服务器1的网络地址;
909、在收到所述DNS响应后,DNS代理向Host转发所述DNS响应;
910、在收到所述DNS响应后,Host基于Cache服务器1的网络地址,向Cache服务器1发送服务请求,比如如果Host要下载内容,则向Cache服务器1发送内容下载请求,本实施例中Host向Cache服务器1发送HTTP GET请求;
911、Cache服务器1向Host发送200OK;
912、Host再次向DNS代理发送DNS查询请求,所述DNS查询请求中携带有Host的网络地址;
913、在收到所述DNS查询请求后,DNS代理向DNS服务器转发所述查询请求;
914、在收到所述DNS查询请求后,DNS服务器检查ALTO存储系统中是否存储有映射信息即Network Map和Cost Map,尤其是Host的网络地址归属的第一子网络的映射信息,如果存储有第一子网络层级的映射信息(即NetworkMapFilter,CostMapFilter的第一子网络层级映射表),且所述第一子网络层级的ALTO映射表未过期有效,则基于包括Host的网络地址以及存储的第一子网络层级的映射信息的信息源选择最合适的CDN节点,比如Cache服务器1;
具体的,DNS服务器根据Network Map中包括的PID与过期时间参数之间的关系,检查Host的网络地址归属的PID是否过期失效,当Host的网络地址归属的PID所关联的过期时间参数表示未过期失效时,基于包括Host的网络地址以及ALTO存储系统中存储的与所述PID相关的映射信息的信息源选择最合适的CDN节点,比如Cache服务器1。
915、DNS服务器向DNS代理返回DNS响应,所述DNS响应携带有选中的最合适的CDN节点信息,比如Cache服务器1的网络地址;
916、DNS代理向Host转发所述DNS响应,所述DNS响应携带有选中的最合适的CDN节点信息,比如Cache服务器1的网络地址;
917、基于Cache服务器1的网络地址,Host向Cache服务器1发送服务请求,比如如果Host要下载内容,则向Cache服务器1发送内容下载请求,本实施例中Host向Cache服务器1发送HTTP GET请求;
918、Cache服务器1向Host发送200OK。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
本发明实施例还提供用于实施上述方法的相关装置和系统。
参见图10-a、本发明实施例提供一种ALTO客户端1000,可包括:存储管理单元1010、有效性管理单元1020和下一跳节点确定单元1030,其中:
存储管理单元1010,用于检查所述ALTO客户端关联的存储系统中是否存储有映射信息,所述映射信息包括第一子网络层级的映射信息;有效性管理单元1020,用于验证存储的映射信息是否过期失效;
下一跳节点确定单元1030,用于如果ALTO客户端关联的存储系统中存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括所述服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源为所述服务请求节点确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,服务请求节点属于所述第一子网络。
可以理解的是,本实施例ALTO客户端可如上述方法实施例中的Tracker服务器、P2P客户端、重定向设备或DNS服务器,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
可以理解的是,所述ALTO客户端关联的存储系统是ALTO客户端本地的存储系统,也可以是独立于ALTO客户端的存储系统,且ALTO客户端与该存储系统之间具有通信连接。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载。
在一种实现方式下,所述存储的映射信息包括网络映射信息和/或路径成本映射信息,所述有效性管理单元1020具体用于:
根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对所述第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
如果存储的全网络层级的网络映射信息和/或路径成本映射信息与一个过期时间参数之间存在关联关系,
所述有效性管理单元1020具体用于:根据全网络层级的网络映射信息和/或路径成本映射信息与所述一个过期时间参数之间的关联关系,对全网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,其中所述全网络层级的网络映射信息和/或路径成本映射信息包括第一子网络层级的网络映射信息和/或路径成本映射信息;
或者,
如果存储的全网络层级的网络映射信息和/或路径成本映射信息与多个过期时间参数之间存在关联关系,且第一子网络层级的网络映射信息和/或路径成本映射信息与所述多个过期时间参数中的第一过期时间参数之间存在关联关系,
所述有效性管理单元1020具体用于:根据第一子网络层级的网络映射信息和/或路径成本映射信息与对应的第一过期时间参数之间的关联关系,对第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,请参阅图10-b,本发明实施例的ALTO客户端还包括:
通信单元1040,用于向ALTO服务器发送ALTO查询请求,以及接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,第一子网络层级的映射信息中包含第一过期时间参数;
所述存储管理单元1010进一步用于利用该ALTO响应中携带有第一子网络层级的映射信息更新ALTO客户端关联的存储系统中存储的映射信息,并建立或管理所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
由上可见,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
请参阅图10b,本发明实施例的ALTO客户端还包括:
订阅管理单元1050,用于向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;接收ALTO服务器返回的发送确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。
以及,所述订阅管理单元1050进一步用于接收ALTO服务器发送的通知消息,所述通知消息中携带有更新后的、与所述event-type参数对应的映射信息,以及所述event-type参数、所述subscrid参数、订阅状态substate参数;
相应的,所述存储管理单元1010进一步用于当所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配时,利用所述通知消息中携带的映射信息更新ALTO客户端关联的存储系统中存储的映射信息。
以及,如果所述通知消息中进一步携带有订阅有效期expires参数,以及,所述substate参数表示活的订阅状态,且所述订阅有效期expires参数表示订阅的剩余时间低于阈值,或者,所述substate参数表示终止的订阅状态,
则所述订阅管理单元1050进一步用于向ALTO服务器发送订阅刷新请求,所述订阅刷新请求中携带有订阅事件类型event-type参数、subscrid参数,其中所述订阅刷新请求中的event-type参数和subscrid参数与所述确认接受订阅的响应中的event-type参数和subscrid参数相同。
由上可见,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
参见图11、本发明实施例提供另一种ALTO客户端1100,可包括:
通信单元1110,用于接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有映射信息,其中所述映射信息中包含一个或多个过期时间参数;
存储管理单元1120,用于将所述映射信息进行存储,并建立所述映射信息与所述一个或多个过期时间参数之间的关联关系。
可以理解的是,本实施例ALTO客户端可如上述方法实施例中的Tracker服务器、P2P客户端、重定向设备或DNS服务器,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载。
参见图12,本发明实施例还提供一种ALTO系统,可包括:
ALTO客户端10,用于接收ALTO服务器返回的ALTO响应,将所述ALTO响应中携带的映射信息存储于所述ALTO客户端关联的存储系统中,并建立所述映射信息与一个或多个过期时间参数之间的关联关系;
ALTO服务器20,用于向ALTO客户端发送ALTO响应,该ALTO响应中携带有映射信息,其中所述映射信息中包含所述一个或多个过期时间参数。
需要说明的是,如果所述映射信息中包含一个过期时间参数,则说明ALTO服务器在ALTO响应中指定全网络层级的过期时间参数;如果所述映射信息中包含多个过期时间参数,则说明ALTO服务器在ALTO响应中指定各个子网络层级分别对应的过期时间参数。
以及,当需要为服务确定下一跳节点时,所述ALTO客户端10进一步用于:检查所述ALTO客户端关联的存储系统中是否存储有映射信息;如果存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于所述第一子网络。
在一种实现方式下,当需要为服务确定下一跳节点时,所述ALTO客户端10具体用于:检查ALTO客户端关联的存储系统中是否存储有网络映射信息和/或路径成本映射信息;如果存储有网络映射信息和/或路径成本映射信息,根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对存储的第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息未过期失效,基于包括服务请求节点的网络地址以及所述第一子网络层级的网络映射信息和/或路径成本映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于所述第一子网络。
以及,如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,即第一子网络层级的原始映射信息过期失效的情况下,比如PID1相关的映射信息过期失效,
所述ALTO客户端10进一步用于:向ALTO服务器发送ALTO查询请求;接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含第一过期时间参数;利用该ALTO响应中携带有第一子网络层级的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息,并建立或更新所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
相应的,所述ALTO服务器20进一步用于:接收ALTO查询请求,所述查询请求中携带有表示第一子网络的网络位置标识符(比如PID1),并向ALTO客户端发送ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含第一过期时间参数。
以及,本发明实施例的ALTO系统支持订阅通知机制,ALTO客户端发起订阅请求,一旦订阅事件(比如订阅事件类型:“NetworkMap”,“CostMap”,“NetworkMapFilter”,“CostMapFilter”)有所变化,ALTO服务器向ALTO客户端主动发送更改事件的通知,所述通知中携带全网络层级的映射信息或子网络层级的映射信息(全网络层级的映射信息的子集)。
所述ALTO客户端10进一步用于:向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;接收ALTO服务器返回的确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。可选的,所述订阅请求中进一步携带有contactaddr参数;
相应的,所述ALTO服务器20进一步用于:接收ALTO客户端发来的订阅请求,存储所述订阅请求中携带的event-type参数、订阅有效期expires参数和contactaddr参数,并向ALTO客户端返回确认接受订阅的响应,所述响应携带有所述event-type参数、订阅有效期expires参数和订阅者标识subscrid参数。
一旦网络中一些子网络层级的拓扑信息发生变化,或者,网络中部分节点信息发生变化,则所述ALTO服务器20进一步用于:向ALTO客户端发送通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及与所述event-type参数对应的更新的映射信息(比如NetworkMapFilter”、“CostMapFilter”),其中所诉更新的映射信息中包含第二过期时间参数;
相应的,所述ALTO客户端10进一步用于:接收ALTO服务器发送的通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及与所述event-type参数对应的更新的映射信息;如果所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配,利用所述通知消息中携带的映射信息更新ALTO客户端关联的存储系统中存储的映射信息,并建立更新的映射信息与第二过期时间参数之间的关联关系。
其中,所述ALTO客户端关联的存储系统为所述ALTO客户端本地的存储系统,也可以是独立于所述ALTO客户端的存储系统,且所述ALTO客户端与所述存储系统之间具有通信连接。
需要说明的是,ALTO客户端与ALTO服务器之间可以采用携带ALTO协议内容的HTTP GET或POST请求和响应进行交互。另补充说明:原始的HTTPGET消息是有缓存机制的,本发明实施例中为POST消息添加了缓存机制,并且对GET消息而言,ALTO服务器可以选择性的使用基于HTTP的缓存机制或基于ALTO的缓存机制。
由上可见,本实施例中,一旦ALTO客户端存储有相应的网络映射信息和/或路径成本映射信息,则可以直接利用存储的有效的映射信息确定合适的下一跳节点,以响应不同的服务请求,避免了现有ALTO服务方案中,针对每个服务请求均触发ALTO客户端向ALTO服务器发起用于查询最新的网络映射信息和/或路径成本映射信息的请求,以及ALTO服务器返回携带最新的网络映射信息和/或路径成本映射信息的响应的交互消息,从而显著降低在ALTO客户端与ALTO服务器之间的冗余查询请求和响应消息交互对整个骨干网的流量消耗,从而减少骨干网络的负载;
此外,本发明实施例中,ALTO客户端支持子网络层级的过期失效机制,如果第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,ALTO客户端向ALTO服务器重新发起查询请求,并利用ALTO服务器返回的响应中携带的第一子网络层级的网络映射信息和/或路径成本映射信息更新存储的映射信息,从而能保证ALTO客户端存储的映射信息得以及时更新以及有效性;
此外,本发明实施例中,ALTO客户端主动向ALTO服务器发起订阅请求,一旦收到ALTO服务器发送的携带更新的映射信息的通知消息,则利用通知消息中携带的映射信息更新存储的映射信息,从而能进一步保证ALTO客户端存储的映射信息得以及时更新以及有效性。
需要说明的是,前述实施例描述中所采用的第一、第二的说法,没有限定顺序的意思,仅为方便区分而已。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明实施例所提供的虚拟化处理方法及相关装置和计算机系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (33)
1.一种传输优化方法,其特征在于,包括:
当需要为服务确定下一跳节点时,检查应用层流量优化ALTO客户端关联的存储系统中是否存储有映射信息;
如果ALTO客户端关联的存储系统中存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于所述第一子网络。
2.如权利要求1所述的方法,其特征在于,所述存储的映射信息包括网络映射信息和/或路径成本映射信息,所述方法还包括:
根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对所述第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
3.如权利要求2所述的方法,其特征在于,如果存储的全网络层级的网络映射信息和/或路径成本映射信息与一个过期时间参数之间存在关联关系,
则所述根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,为:
根据全网络层级的网络映射信息和/或路径成本映射信息与所述一个过期时间参数之间的关联关系,对全网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,其中所述全网络层级的网络映射信息和/或路径成本映射信息包括第一子网络层级的网络映射信息和/或路径成本映射信息;
或者,
如果存储的全网络层级的网络映射信息和/或路径成本映射信息与多个过期时间参数之间存在关联关系,且第一子网络层级的网络映射信息和/或路径成本映射信息与所述多个过期时间参数中的第一过期时间参数之间存在关联关系,
则所述根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,为:
根据第一子网络层级的网络映射信息和/或路径成本映射信息与对应的第一过期时间参数之间的关联关系,对第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
4.如权利要求2或3所述的方法,其特征在于,如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,则所述方法还包括:
向ALTO服务器发送ALTO查询请求;
接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含第一过期时间参数,所述第一子网络层级的映射信息包括第一子网络层级的网络映射信息和/或路径成本映射信息;
利用该ALTO响应中携带有第一子网络层级的映射信息更新ALTO客户端关联的存储系统中存储的映射信息,并建立或管理所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
5.如权利要求1至4任一项所述的方法,其特征在于,还包括:
向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;
接收ALTO服务器返回的确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。
6.如权利要求5所述的方法,其特征在于,所述订阅请求中进一步携带有订阅者联系地址contactaddr参数,且所述contactaddr参数通过Java脚本对象标记法JSON对象编码后以净荷payload方式发送。
7.如权利要求5或6所述的方法,其特征在于,还包括:
接收ALTO服务器发送的通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及更新的、与所述event-type参数对应的映射信息;
如果所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配,则利用所述通知消息中携带的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息。
8.如权利要求7所述的方法,其特征在于,如果所述substate参数表示活的订阅状态,所述通知消息中进一步携带有订阅有效期expires参数;
如果所述substate参数表示终止的订阅状态,所述通知消息中进一步携带有原因reason参数。
9.如权利要求8所述的方法,其特征在于,如果所述substate参数表示活的订阅状态,且所述订阅有效期expires参数表示订阅的剩余时间低于阈值,或者,所述substate参数表示终止的订阅状态,所述方法还包括:
向ALTO服务器发送订阅刷新请求,所述订阅刷新请求中携带有订阅事件类型event-type参数、subscrid参数,其中所述订阅刷新请求中的event-type参数和subscrid参数与所述确认接受订阅的响应中的event-type参数和subscrid参数相同。
10.一种应用层流量优化映射信息的存储方法,其特征在于,包括:
接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有映射信息,其中所述映射信息中包含一个或多个过期时间参数;
将所述映射信息进行存储,并建立所述映射信息与所述一个或多个过期时间参数之间的关联关系。
11.如权利要求10所述的方法,其特征在于,所述方法进一步包括:
基于所述映射信息与所述一个或多个过期时间参数之间的关联关系,对所述映射信息进行过期失效验证。
12.如权利要求11所述的方法,其特征在于,如果所述映射信息的过期失效验证结果表示第一子网络层级的映射信息过期失效,则所述方法还包括:
向所述ALTO服务器发送ALTO查询请求;
接收所述ALTO服务器返回的ALTO响应,所述ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含第一过期时间参数;
利用该ALTO响应中携带的第一子网络层级的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息,并建立或管理所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
13.如权利要求10至12任一项所述的方法,其特征在于,还包括:
向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;
接收ALTO服务器返回的发送确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。
14.如权利要求13所述的方法,其特征在于,所述订阅请求中进一步携带有订阅者联系地址contactaddr参数,且所述contactaddr参数通过JSON对象编码后以净荷payload方式发送。
15.如权利要求13或14所述的方法,其特征在于,还包括:
接收所述ALTO服务器发送的通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及更新的、与所述event-type参数对应的映射信息;
如果所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配,利用所述通知消息中携带的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息。
16.如权利要求15所述的方法,其特征在于,如果所述substate参数表示活的订阅状态,所述通知消息中进一步携带有订阅有效期expires参数;
如果所述substate参数表示终止的订阅状态,所述通知消息中进一步携带有原因reason参数。
17.如权利要求16所述的方法,其特征在于,如果所述substate参数表示活的订阅状态,且所述订阅有效期expires参数表示订阅的剩余时间低于阈值,或者,所述substate参数表示终止的订阅状态,所述方法还包括:
向ALTO服务器发送订阅刷新请求,所述订阅刷新请求中携带有订阅事件类型event-type参数、subscrid参数,其中所述订阅刷新请求中的event-type参数和subscrid参数与所述确认接受订阅的响应中的event-type参数和subscrid参数相同。
18.一种应用层流量优化ALTO客户端,其特征在于,包括:存储管理单元、有效性管理单元和下一跳节点确定单元,其中:
所述存储管理单元用于检查所述ALTO客户端关联的存储系统中是否存储有映射信息,所述映射信息包括第一子网络层级的映射信息;
所述有效性管理单元用于验证存储的映射信息是否过期失效;
所述下一跳节点确定单元用于如果ALTO客户端关联的存储系统中存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括所述服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源为所述服务请求节点确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,服务请求节点属于所述第一子网络。
19.如权利要求18所述的装置,其特征在于,所述存储的映射信息包括网络映射信息和/或路径成本映射信息,所述有效性管理单元具体用于:
根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对所述第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
20.如权利要求19所述的装置,其特征在于,如果存储的全网络层级的网络映射信息和/或路径成本映射信息与一个过期时间参数之间存在关联关系,
所述有效性管理单元具体用于:根据全网络层级的网络映射信息和/或路径成本映射信息与所述一个过期时间参数之间的关联关系,对全网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,其中所述全网络层级的网络映射信息和/或路径成本映射信息包括第一子网络层级的网络映射信息和/或路径成本映射信息;
或者,
如果存储的全网络层级的网络映射信息和/或路径成本映射信息与多个过期时间参数之间存在关联关系,且第一子网络层级的网络映射信息和/或路径成本映射信息与所述多个过期时间参数中的第一过期时间参数之间存在关联关系,
所述有效性管理单元具体用于:根据第一子网络层级的网络映射信息和/或路径成本映射信息与对应的第一过期时间参数之间的关联关系,对第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证。
21.如权利要求19或20所述的装置,其特征在于,如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,所述装置还包括:
通信单元,用于向ALTO服务器发送ALTO查询请求,以及接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,第一子网络层级的映射信息中包含第一过期时间参数;
所述存储管理单元进一步用于利用该ALTO响应中携带有第一子网络层级的映射信息更新ALTO客户端关联的存储系统中存储的映射信息,并建立或管理所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系。
22.如权利要求18至20任一项所述的装置,其特征在于,还包括:
订阅管理单元,用于向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;接收ALTO服务器返回的发送确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数。
23.如权利要求22所述的装置,其特征在于,
所述订阅管理单元进一步用于接收ALTO服务器发送的通知消息,所述通知消息中携带有更新后的、与所述event-type参数对应的映射信息,以及所述event-type参数、所述subscrid参数、订阅状态substate参数;
所述存储管理单元进一步用于当所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配时,利用所述通知消息中携带的映射信息更新ALTO客户端关联的存储系统中存储的映射信息。
24.如权利要求23所述的装置,其特征在于,如果所述通知消息中进一步携带有订阅有效期expires参数,以及,所述substate参数表示活的订阅状态,且所述订阅有效期expires参数表示订阅的剩余时间低于阈值,或者,所述substate参数表示终止的订阅状态,
则所述订阅管理单元进一步用于向ALTO服务器发送订阅刷新请求,所述订阅刷新请求中携带有订阅事件类型event-type参数、subscrid参数,其中所述订阅刷新请求中的event-type参数和subscrid参数与所述确认接受订阅的响应中的event-type参数和subscrid参数相同。
25.如权利要求18所述的装置,其特征在于,所述ALTO客户端关联的存储系统是ALTO客户端本地的存储系统,也可以是独立于ALTO客户端的存储系统,且ALTO客户端与该存储系统之间具有通信连接。
26.一种应用层流量优化ALTO客户端,其特征在于,包括:
通信单元,用于接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有映射信息,其中所述映射信息中包含一个或多个过期时间参数;
存储管理单元,用于将所述映射信息进行存储,并建立所述映射信息与所述一个或多个过期时间参数之间的关联关系。
27.一种应用层流量优化ALTO系统,其特征在于,包括:
ALTO客户端,用于接收ALTO服务器返回的ALTO响应,将所述ALTO响应中携带的映射信息存储于所述ALTO客户端关联的存储系统中,并建立所述映射信息与一个或多个过期时间参数之间的关联关系;
ALTO服务器,用于向ALTO客户端发送ALTO响应,该ALTO响应中携带有映射信息,其中所述映射信息中包含所述一个或多个过期时间参数。
28.如权利要求27所述的系统,其特征在于,所述ALTO客户端进一步用于:当需要为服务确定下一跳节点时,检查所述ALTO客户端关联的存储系统中是否存储有映射信息;如果存储有第一子网络层级的映射信息且所述第一子网络层级的映射信息未过期失效时,基于包括服务请求节点的网络地址以及所述第一子网络层级的映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于所述第一子网络。
29.如权利要求28所述的系统,其特征在于,所述ALTO客户端具体用于:当需要为服务确定下一跳节点时,检查ALTO客户端关联的存储系统中是否存储有网络映射信息和/或路径成本映射信息;如果存储有网络映射信息和/或路径成本映射信息,根据网络映射信息和/或路径成本映射信息与一个或多个过期时间参数之间的关联关系,对存储的第一子网络层级的网络映射信息和/或路径成本映射信息进行过期失效验证,如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息未过期失效,基于包括服务请求节点的网络地址以及所述第一子网络层级的网络映射信息和/或路径成本映射信息的信息源确定下一跳节点集合,其中,所述下一跳节点集合包括一个或多个服务提供节点,所述服务请求节点属于所述第一子网络。
30.如权利要求29所述的系统,其特征在于,如果第一子网络层级的网络映射信息和/或路径成本映射信息的过期失效验证结果表示第一子网络层级的网络映射信息和/或路径成本映射信息过期失效,
所述ALTO客户端进一步用于:向ALTO服务器发送ALTO查询请求;接收ALTO服务器返回的ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含过期时间参数;利用该ALTO响应中携带有第一子网络层级的映射信息更新所述ALTO客户端关联的存储系统中存储的映射信息,并建立或更新所述第一子网络层级的映射信息与第一过期时间参数之间的关联关系;
所述ALTO服务器进一步用于:接收ALTO查询请求,所述查询请求中携带有表示第一子网络的过滤因子,并向所述ALTO客户端发送ALTO响应,该ALTO响应中携带有第一子网络层级的映射信息,所述第一子网络层级的映射信息中包含第一过期时间参数。
31.如权利要求27至30任一项所述的系统,其特征在于,
所述ALTO客户端进一步用于:向ALTO服务器发送订阅请求,所述订阅请求中携带有订阅事件类型event-type参数、订阅有效期expires参数;接收ALTO服务器返回的发送确认接受订阅的响应,所述响应携带有所述event-type参数、所述订阅有效期expires参数和订阅者标识subscrid参数;
所述ALTO服务器进一步用于:接收ALTO客户端发来的订阅请求,存储所述订阅请求中携带的event-type参数、订阅有效期expires参数和contactaddr参数,并向ALTO客户端返回确认接受订阅的响应,所述响应携带有所述event-type参数、订阅有效期expires参数和订阅者标识subscrid参数。
32.如权利要求31所述的系统,其特征在于,
所述ALTO服务器进一步用于:向ALTO客户端发送通知消息,所述通知消息中携带有event-type参数、subscrid参数、订阅状态substate参数,以及与所述event-type参数对应的更新的映射信息,其中更新的映射信息中包含第二过期时间参数;
所述ALTO客户端进一步用于:接收ALTO服务器发送的通知消息,所述通知消息中携带有所述event-type参数、所述subscrid参数、订阅状态substate参数,以及与所述event-type参数对应的更新的映射信息;如果所述通知消息中携带的subscrid参数与所述确认接受订阅的响应中携带的subscrid参数匹配,利用所述通知消息中携带的映射信息更新ALTO客户端关联的存储系统中存储的映射信息,并建立更新的映射信息与第二过期时间参数之间的关联关系。
33.如权利要求27-32任一项所述的系统,其特征在于,所述ALTO客户端关联的存储系统为所述ALTO客户端本地的存储系统,也可以是独立于所述ALTO客户端的存储系统,且所述ALTO客户端与所述存储系统之间具有通信连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210034991.6A CN102546820B (zh) | 2012-02-16 | 2012-02-16 | 传输优化方法、映射信息的存储方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210034991.6A CN102546820B (zh) | 2012-02-16 | 2012-02-16 | 传输优化方法、映射信息的存储方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546820A true CN102546820A (zh) | 2012-07-04 |
CN102546820B CN102546820B (zh) | 2015-12-16 |
Family
ID=46352766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210034991.6A Active CN102546820B (zh) | 2012-02-16 | 2012-02-16 | 传输优化方法、映射信息的存储方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546820B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780775A (zh) * | 2012-07-19 | 2012-11-14 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
CN102780776A (zh) * | 2012-07-19 | 2012-11-14 | 中兴通讯股份有限公司 | 应用层传输优化服务器发现方法及装置 |
CN102811256A (zh) * | 2012-07-19 | 2012-12-05 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
WO2015176650A1 (en) * | 2014-05-20 | 2015-11-26 | Huawei Technologies Co., Ltd. | Method for optimizing network traffic engineering and system thereof |
CN105704064A (zh) * | 2014-11-24 | 2016-06-22 | 华为技术有限公司 | 一种用于选取服务节点的方法及装置、应用引擎 |
CN106411553A (zh) * | 2015-08-03 | 2017-02-15 | 中国移动通信集团公司 | 一种业务链路径的优化方法及装置 |
CN107707628A (zh) * | 2017-09-06 | 2018-02-16 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
CN108989168A (zh) * | 2017-06-02 | 2018-12-11 | 罗伯特·博世有限公司 | 用于在计算机网络中进行标识的方法和设备 |
CN111064780A (zh) * | 2017-03-01 | 2020-04-24 | 贵州白山云科技股份有限公司 | 一种多任务内容更新方法、装置、设备及介质 |
WO2024109032A1 (zh) * | 2022-11-25 | 2024-05-30 | 腾讯科技(深圳)有限公司 | 数据传输优化方法、装置、计算机可读介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101640684A (zh) * | 2009-08-21 | 2010-02-03 | 中国电信股份有限公司 | 内容分发方法、网络系统、gslb设备和域名服务器 |
CN101820351A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 一种用于发现p2p流量优化服务的方法、装置和系统 |
US20110295983A1 (en) * | 2010-05-28 | 2011-12-01 | Juniper Networks, Inc. | Application-layer traffic optimization service endpoint type attribute |
CN102291447A (zh) * | 2011-08-05 | 2011-12-21 | 中国电信股份有限公司 | 内容分发网络负载调度方法和系统 |
-
2012
- 2012-02-16 CN CN201210034991.6A patent/CN102546820B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101820351A (zh) * | 2009-02-27 | 2010-09-01 | 华为技术有限公司 | 一种用于发现p2p流量优化服务的方法、装置和系统 |
CN101640684A (zh) * | 2009-08-21 | 2010-02-03 | 中国电信股份有限公司 | 内容分发方法、网络系统、gslb设备和域名服务器 |
US20110295983A1 (en) * | 2010-05-28 | 2011-12-01 | Juniper Networks, Inc. | Application-layer traffic optimization service endpoint type attribute |
CN102291447A (zh) * | 2011-08-05 | 2011-12-21 | 中国电信股份有限公司 | 内容分发网络负载调度方法和系统 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102780776A (zh) * | 2012-07-19 | 2012-11-14 | 中兴通讯股份有限公司 | 应用层传输优化服务器发现方法及装置 |
CN102811256A (zh) * | 2012-07-19 | 2012-12-05 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
CN102780775B (zh) * | 2012-07-19 | 2017-11-07 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
CN102811256B (zh) * | 2012-07-19 | 2017-11-07 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
CN102780775A (zh) * | 2012-07-19 | 2012-11-14 | 中兴通讯股份有限公司 | 一种实现应用层传输优化的方法及系统 |
WO2015176650A1 (en) * | 2014-05-20 | 2015-11-26 | Huawei Technologies Co., Ltd. | Method for optimizing network traffic engineering and system thereof |
CN105704064A (zh) * | 2014-11-24 | 2016-06-22 | 华为技术有限公司 | 一种用于选取服务节点的方法及装置、应用引擎 |
CN106411553A (zh) * | 2015-08-03 | 2017-02-15 | 中国移动通信集团公司 | 一种业务链路径的优化方法及装置 |
CN106411553B (zh) * | 2015-08-03 | 2020-01-07 | 中国移动通信集团公司 | 一种业务链路径的优化方法及装置 |
CN111064780B (zh) * | 2017-03-01 | 2023-04-18 | 贵州白山云科技股份有限公司 | 一种多任务内容更新方法、装置、设备及介质 |
CN111064780A (zh) * | 2017-03-01 | 2020-04-24 | 贵州白山云科技股份有限公司 | 一种多任务内容更新方法、装置、设备及介质 |
CN108989168A (zh) * | 2017-06-02 | 2018-12-11 | 罗伯特·博世有限公司 | 用于在计算机网络中进行标识的方法和设备 |
CN107707628A (zh) * | 2017-09-06 | 2018-02-16 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
US11544001B2 (en) | 2017-09-06 | 2023-01-03 | Huawei Technologies Co., Ltd. | Method and apparatus for transmitting data processing request |
CN107707628B (zh) * | 2017-09-06 | 2020-06-02 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
WO2024109032A1 (zh) * | 2022-11-25 | 2024-05-30 | 腾讯科技(深圳)有限公司 | 数据传输优化方法、装置、计算机可读介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102546820B (zh) | 2015-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546820A (zh) | 传输优化方法、映射信息的存储方法、装置及系统 | |
US11178062B2 (en) | Orchestrating physical and virtual resources for delivering digital contents | |
KR101595527B1 (ko) | 넷스토어 기반의 서비스 네트워크 동적 구성 시스템 및 서비스 네트워크 동적 구성 방법 | |
US7706265B2 (en) | Decentralized node, access edge node, and access node for aggregating data traffic over an access domain, and method thereof | |
EP2932657B1 (en) | Information centric networking based service centric networking | |
EP2649850B1 (en) | Method and apparatus for a control plane to manage domain-based security and mobility in an information centric network | |
EP3539269B1 (en) | Node type based control of assistance for data streaming | |
WO2020198218A1 (en) | Consistent route announcements among redundant controllers in global network access point | |
EP3025483A1 (en) | End-to-end m2m service layer sessions | |
CN104967685A (zh) | 基于Flash P2P的流媒体多级缓存网络加速方法 | |
CN101997759A (zh) | 一种业务实现方法及业务系统 | |
US10848586B2 (en) | Content delivery network (CDN) for uploading, caching and delivering user content | |
CN105229993B (zh) | 用于执行增强的服务路由的方法、系统和计算机可读介质 | |
CN103327088B (zh) | 一种基于ims信令体系构建云计算服务的系统及方法 | |
CN103873497A (zh) | 用于调度信息的方法、装置和系统 | |
Azgin et al. | A scalable mobility-centric architecture for named data networking | |
JP2017216011A (ja) | Ipネットワークにおけるコンテンツキャッシングおよび配信のための方法、システムおよび装置 | |
CN106716939A (zh) | 数据流递送中改进的qos | |
BR112015013723B1 (pt) | Sistema e método para otimização de distribuição de conteúdo ao vivo a partir de uma rede de distribuição de conteúdo; e servidor otimizador de transmissão ao vivo (listo) para distribuição ideal de conteúdo de mídia ao vivo | |
EP2223501A1 (en) | Publish/subscribe networks | |
CN106209952A (zh) | 服务节点分配方法、装置、cdn管理服务器及系统 | |
JP5399276B2 (ja) | コンテンツ配信システムと方法およびプログラム | |
JP5726302B2 (ja) | トポロジサーバを用いた、通信アーキテクチャにわたって分散されたノードのネットワークに対する秘密または保護されたアクセス | |
US20090154422A1 (en) | Method of providing seamless qos guarantees in internet protocol (ip) network when ip-based mobility service is provided | |
CN107040442B (zh) | 通信方法、通信系统和城域传送网的缓存路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |