CN106101201B - 一种ndn中基于重定向和重写的可扩展任播方法和系统 - Google Patents
一种ndn中基于重定向和重写的可扩展任播方法和系统 Download PDFInfo
- Publication number
- CN106101201B CN106101201B CN201610392559.2A CN201610392559A CN106101201B CN 106101201 B CN106101201 B CN 106101201B CN 201610392559 A CN201610392559 A CN 201610392559A CN 106101201 B CN106101201 B CN 106101201B
- Authority
- CN
- China
- Prior art keywords
- request
- layer scheduler
- server
- layer
- scheduler
- 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.)
- Active
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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种NDN基于重定向和重写的可扩展任播方法,包括:客户端向网络发送第一请求;中间路由器将第一请求转发到某个第一层调度器;第一层调度器选择服务第一请求的服务器群;第一层调度器向客户返回重定向通告;客户端通告向所选择的服务器群的第二层调度器发送第二请求;第二层调度器选择服务群中的一个服务器;第二层调度器将第二请求重写为第三请求;第二层调度器将第三请求转发给所选择的服务器;服务器向第二层调度器返回第一响应消息;第二层调度器将第一响应消息重写为第二响应消息;第二层调度器将第二响应消息返回给客户端。本发明的方法能在NDN网络中满足多样化的任播需求,不破坏NDN内容路由器转发引擎的转发逻辑。
Description
技术领域
本发明涉及命名数据网络(Named Data Networking,NDN)技术领域,尤其涉及一种NDN中基于重定向和重写的可扩展任播方法和系统。
背景技术
目前,用户对互联网的访问已经从点对点通信为主转为内容获取为主。而传统的TCP/IP网络仅传输内容,并不感知内容,从而造成了网络上大量的冗余流量传输。为了解决由于内容获取而引发的内容爆炸,研究界提出了以内容为中心的网络NDN,实现了内容和地址以及发送者和接收者的解耦,并提供泛在的内置缓存来满足用户对内容的具有重尾特征的异步访问。
现有互联网存在许多大规模的具有亿万的服务,如Google,Facebook,微信等。这些服务通常都有一组物理上分布但提供相同服务的服务器或服务器集群。对用户而言,这类服务本质上属于任播服务。但是,现有NDN的传输模式仅提供简单的基于任播路由的任播机制,无法满足灵活多变的任播需求。因此,有必要提出一种NDN中能满足多样化需求的任播技术。
发明内容
本发明为解决上述技术问题,提供一种NDN中基于重定向和重写的可扩展任播方法和系统,能不破坏CCN内容路由器转发引擎的转发逻辑。所述技术方案如下:
一方面,本发明提出了一种NDN中基于重定向和重写的可扩展任播方法,包括下述步骤:
客户端向网络发送第一请求;
中间路由器基于任播路由将第一请求转发到某个第一层调度器;
第一层调度器依据第一预设策略选择服务第一请求的服务器群;
第一层调度器向客户返回重定向通告;
客户端依据重定向通告向所选择的服务器群的第二层调度器发送第二请求;
第二层调度器依据第二预设策略选择服务群中的一个服务器;
第二层调度器依据第二层调度器与服务器之间的协议将第二请求重写为第三请求;
第二层调度器将第三请求转发给所选择的服务器;
服务器向第二层调度器返回第一响应消息;
第二层调度器根据第二层调度器和服务器之间的协议将第一响应消息重写为第二响应消息;
第二层调度器将第二响应消息返回给客户端。
进一步地,所述第一请求的服务名是一个任播服务名;第一请求由中间路由器通过NDN的任播路由机制转发到某个第一层调度器;为保证这个过程的正确运行,每个第一层调度器都向网络通告该任播服务名或前缀。
进一步地,所述重定向通告中至少包括所选择的第二层调度器依赖的服务名。
进一步地,所述第二请求的服务名是所选择的第二层调度器依赖服务名;第二请求由中间路由器通过NDN的任播路由机制转发到所标识的第二层调度器;为保证这一过程的正确运行,第二层调度器应向网络通告该第二层调度器依赖服务名或前缀;
进一步地,所述第三请求包括能标识所选择服务器的标识。
进一步地,所述第二响应消息的服务名为与第二请求的服务名相同的第二层调度器依赖服务名;第二响应消息通过第二请求消息转发路径的反向路径逐跳返回给客户端。
进一步地,所述第一请求可以可选地包括客户端生成的流标识;所述流标识被复制到第二请求、第三请求、第一响应和第二响应中。
进一步地,当第一层调度器接收到的第一请求包括流标识时,包括:
第一层调度器获得同一会话中的具有相同流标识的历史调度决策信息;
当存在历史调度决策信息时,采用历史决策调度结果作为该第一请求的调度结果;
当不存在历史调度决策信息时,基于第一预设策略为第一请求选择服务器群。
另一方面,本发明提出一种NDN中基于重定向和重写的可扩展任播系统,包括:
客户端:用于生成并向网络发送第一请求,从网络接收重定向通告,依据重定向通告生成并向网络发生第二请求,从网络接收第二响应消息;
第一层调度器:用于向网络通告任播服务名或其前缀,从网络接收第一请求,依据第一预设策略选择服务第一请求的服务器群,生成并向客户端返回重定向通告;
第二层调度器:用于向网络通告第二层调度器依赖服务名或其前缀,接收第二请求,依据第二预设策略选择服务器,重写第二请求为第三请求,根据第二层调度器和服务器之间的协议转发第三请求,从服务器接收第一响应消息,重写第一响应消息为第二响应消息,转发第二响应消息;
服务器:用于接收第三请求,生成和发送第一响应消息;
中间路由器:用于按照NDN的规则建立和更新路由转发表,依据FIB表转发第一请求消息和第二请求消息,依据PIT表返回第二响应消息。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
通过本发明,能在NDN中支持多样化的任播需求,特别是能有效解决扩展性问题、能根据服务器状态灵活地选择服务器。另外,本发明所提出的技术没有破坏NDN内容路由器转发引擎的转发逻辑。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1示出了依据本发明一实施方式的任播服务场景示意图。
图2示出了依据本发明一实施方式的NDN中基于重定向和重写的可扩展任播方法流程图。
图3示出了依据本发明一实施方式的NDN中基于重定向和重写的可扩展任播方法的实体交互图。
图4示出了依据本发明一实施方式的NDN中基于重定向和重写的可扩展任播系统部署示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
图1示出了依据本发明一实施方式的任播场景示意图。图中,一个大型服务通过多个地理上分散的服务器群来提供服务。这些地理上分散的M个服务器群Site 1,Site2,...,Site M通过网络相连。每个Site都有多个服务器,例如Site k包括Nk个服务器。每个服务器都提供相同的服务。希望访问服务的客户端通过网络发出服务请求,最后由某个服务器群中的一个服务器服务请求。连接客户端和各服务器群的网络是NDN网络。
本发明提出的NDN中基于重定向和重写的可扩展任播方法和系统引入了第一层调度器和第二层调度器这两种实体,如图3所示。系统存在多个第一层调度器,用于接收客户端发出的第一请求,并为其选择合适的服务器群。采用多个第一层调度器的目的是避免第一层调度器成为系统的性能瓶颈和单点失效。每个服务器群都有一个第二层调度器,用于选择服务器群中的一个服务器。第二层调度器通常与某个服务器群位于同一个网络,作为服务器群的门面。
图2示出了依据本发明一实施方式的NDN中基于重定向和重写的可扩展任播方法流程图。具体包括下述步骤:
1)客户端向网络发送第一请求。
客户端发送的第一请求中的服务名为所述服务的虚拟服务名,例如/foo.com/generic-service-name。可选地,客户端可以在请求中包含流标识,则虚拟服务名为/foo.com/generic-service-name/flow-tag。
为了使得以上述服务名前缀的请求能被转发到某个第一层调度器,每个第一层调度器在部署后需向NDN的路由系统通告以所述服务的虚拟服务名为前缀的路由条目,即/foo.com/generic-service-name。可选地,第一层调度器可以将聚合过的路由条目向路由系统通告,如/foo.com。所述路由条目通告消息经路由协议承载向NDN网络的路由器扩散,并注入路由转发表FIB。本质上,该路由条目是一个任播路由条目,中间路由器通过路由协议计算出合适的到达某个第一层调度器的转发端口。
2)中间路由器基于任播路由将第一请求转发到某个第一层调度器。
接收到第一请求后,中间路由器依据FIB中的转发条目匹配合适的端口,将其逐跳转发到某个第一层调度器。由于多个第一层调度器都通告了相同的路由条目,因此,不同的客户端发出的对相同服务的请求可能会被转发到不同的第一层调度器,而相同的客户端在不同时刻发出的对相同服务的请求也可能会被转发到不同的第一层调度器。为了支持基于流的任播服务,所有的第一层调度器需要通过某种方式保证属于同一个流的请求被转发到同一个第二层调度器。
3)第一层调度器依据第一预设策略选择服务第一请求的服务器群。
当第一请求依据任播路由被转发到了某个第一层调度器后,如果该第一请求不包括流标识,或该第一请求是某个会话中的第一个请求,则第一层调度器依据第一预设策略选择服务第一请求的服务器群。为此,第一层调度器至少需要配置所有的服务器群的信息。服务器群还可以将自身的状态定期或实时反馈给所有的第一层调度器,以便其进行更复杂的请求调度。第一层调度器可以采用简单的随机策略随机选择一个服务器群服务第一请求,也可以采用轮转策略进行请求调度,还可以依据服务器群的状态(如实时负载、剩余服务能力等)进行请求调度。本发明对第一层调度器采用的第一预设策略不加以限制。
当第一请求包括流标识时,第一层调度器需要进行基于流的请求调度。如果该第一请求为一个会话中的第一个请求,则第一层调度器基于第一预设策略选择服务器群;如果该第一请求为一个会话中的后续请求,则第一层调度器采用所有第一层调度器构成的整体之前为该会话中的第一个请求的进行服务器群选择的结果作为该第一请求的选择结果,即将该第一请求分配到服务该会话中的第一个请求的服务器群。由于整个系统采用任播路由将第一请求路由到某个第一层调度器,因此,同一个会话中的多个请求可能会被路由到不同的第一层调度器,例如整个会话中的第一个第一请求Req1被路由到第一层调度器i,而该会话中后续的某个第一请求Reqr被路由到第一层调度器j。此时,第一层调度器j需要获得第一层调度器i对Req1的调度结果,从而作为对Reqr的调度结果。这需要第一层调度器之间进行某种隐式或显式的协同。一种方法是,所有的第一层调度器都采用同样的映射算法,对flow-tag进行映射,从而不同的第一层调度器可以将具有相同flow-tag的请求映射到相同的服务器群,该映射算法可以是简单的HASH算法,也可以是较复杂的HRW(HighestRandom Weight)算法。该方法的好处是简单,无需第一层调度器之间进行显式协作,缺点是难以利用服务器群端的动态负载信息。第二种方法是,当某个具有流标识的第一请求到达时,首先基于流标识去查询流调度决策表,如果流调度决策表中已经有该调度决策结果,即之前已经有针对该流中的请求的调度,则采用该调度决策结果,否则表示该请求是流中的第一个请求,依据第一预设策略进行请求的调度决策,选择合适的服务器群,并将调度决策结果保存到流调度决策表。所述的流调度决策表可以以集中式的方式存储,也可以以分布式的方式存储,如分布式HASH表,无论采用何种方式存储,所有的第一层调度器都可以对其进行直接访问。第三种方法是,当某个具有流标识的第一请求到达时,该第一层调度器首先采用某种查询协议询问其它的第一层调度器是否具有对该流标识的调度结果,如果其它第一层调度器都没有对该流标识的调度结果,则依据第一预设策略对其进行调度,否则,采用其他第一层调度器的调度结果。该方法的优点是每个第一层调度器都可以将调度决策结果保存在本地。还有一种方法,可以让第一层调度器和第二层调度器进行协作。当第一层调度器接收到具有流标识的第一请求时,向所有的第二层调度器发送查询请求,询问是否已经有某个第二层调度器负责服务该流标识的请求。若无,则采用第一预设策略进行请求调度,否则,则采用前面的调度结果。无论采用哪种方法,本发明对第一层调度器如何获知对同一会话中的流的调度历史知识的方法不加以限制。
4)第一层调度器向客户端返回请求重定向通告。
当第一层调度器依据第一策略选定服务器群后,向客户端返回请求重定向通告。该通告可以作为一种特殊的Data报文返回,也可以作为一种新的报文类型返回。该通告中至少包括重定向请求名。该重定向请求名对应的是所选择的服务器群的第二层调度器为该服务设定的第二层调度器依赖服务名。例如,如图3所示,假设第一层调度器选择了服务器群1来服务客户端的请求/foo.com/generic-service-name,假设服务器群1的第二层调度器设定的该请求的第二层调度器依赖服务名为/SITE1/foo.com/generic-service-name,则所述请求重定向通告中将包括该第二层调度器依赖服务名。而如果第一请求名包含有流标识,则该流标识将被复制到重定向请求名,如/SITE1/foo.com/generic-service-name/flow-tag。
请求重定向通告沿着第一请求转发路径的反向路径返回给客户端。
5)客户端根据请求重定向通告向第二层调度器发送第二请求。
客户端接收到请求重定向通告后,解析出其中的重定向请求名,如上例所示,为/SITE1/foo.com/generic-service-name或/SITE1/foo.com/generic-service-name/flow-tag。并以该名字为新的服务名构造第二请求并向网络发送。
为了使得该第二请求能被转发到SITE1的第二层调度器,要求SITE1的第二层调度器在部署后即向网络通告该路由前缀/SITE1/foo.com/generic-service-name,或者通告聚合后的路由前缀,如/SITE1。该路由前缀通告将经由路由协议承载在NDN网络的路由器中扩散,并注入转发表FIB。据此,客户端的第二请求能够被正确路由到由第一层调度器所选择的服务器群的第二层调度器。
6)第二层调度器依据第二预设策略选择服务第二请求的服务器。
第二层调度器接收到第二请求后,依据第二预设策略选择服务第二请求的服务器。为此,第二层调度器至少需要配置所在的服务器群的服务器信息。服务器还可以将自身的状态定期或实时反馈给第二层调度器,以便其进行更复杂的请求调度。第二层调度器可以采用简单的随机策略随机选择一个服务器服务第二请求,也可以采用轮转策略进行请求调度,还可以依据服务器的状态(如实时负载、剩余服务能力等)进行请求调度。本发明对第二层调度器采用的第二预设策略不加以限制。
如果第二请求中包括流标识,则表明客户端希望进行基于流的调度。此时,第二层调度器需要基于流标识进行请求调度。第二层调度器首先识别出流标识,然后在流转发表中查找是否已经存在该流标识的调度记录。若不存在,则表明该第二请求是该第二层调度器转发的第一个请求,则基于第二预设策略选择一个服务器服务该请求,同时在流转发表中记录下该转发行为,该表项至少包括<flow-tag,server-ID>两项,即流标识以及服务该流标识的服务器标识。如果已经存在该流标识的调度记录,则第二层调度器不再基于第二预设策略选择服务器服务该请求,而是直接基于流转发表中记录的之前的选择决策结果,由相同的服务器服务该请求。
7)第二层调度器根据第二层调度器和服务器之间的协议将第二请求改写为第三请求。
确定了服务第二请求的服务器后,第二层调度器接着将第二请求改写为第三请求,并记录下该改写行为。第二层调度器根据其和服务器之间运行的协议进行请求的改写,第二层调度器需要能够基于所述的协议将改写后的第三请求转发给所选择的服务器。例如,若第二层调度器和服务器之间支持NDN协议,则可以将请求服务名改写为服务器依赖的请求服务名,例如/server-ID/foo.com/generic-service-name或/server-ID/foo.com/generic-service-name/flow-tag。其中server-ID是所选择的服务器的标识,在图3的示例中,服务器群1选择了服务器群中的第k的服务器,server-ID为SN1k。又如,如果第二层调度器和服务器之间运行的是TCP/IP协议,则第二层调度器可以构建一个IP报文,其源地址为调度器的IP地址,目的地址为所选择服务器的IP地址,同时根据服务名generic-service-name确定服务的端口号,将目的端口设置为对应的端口号,而把请求名中的其它参数信息和请求体中的其它信息按照所运行的协议标准进行改写和封装。在改写的过程中,有可能需要执行消息完整性的重新计算,例如IP报文checksum的计算。本发明对第第二层调度器和服务器之间运行的协议和相应的改写规则不加以限制。
8)第二层调度器将第三请求转发给所选择的服务器。
在第二层调度器将第二请求成功改写为第三请求后,将第三请求基于协议转发给所选择的服务器,同时,在第二层调度器上记录下该改写行为。所述的改写记录行为至少要包括第二请求的服务名和第三请求的标识的映射关系,以便第二层调度器在接收到后续响应时能成功地依据该映射关系执行响应消息的反向改写。
9)服务器向第二层调度器发送第一响应消息。
服务器接收到第三请求后,服务该请求,并构造第一响应消息。该第一响应消息以服务器和第二层调度器之间运行的协议格式构建,并基于该协议转发给第二层调度器。例如,如果第二层调度器和服务器之间运行的是NDN协议,则该第一响应消息的服务名即为/server-ID/foo.com/generic-service-name或/server-ID/foo.com/generic-service-name/flow-tag,在图3所示的例子中为/SN1k/foo.com/generic-service-name或/SN1k/foo.com/generic-service-name/flow-tag并沿着第三请求的反向路径返回给调度器。又如,如果第二层调度器和服务器之间运行的是IP协议,则第一响应消息的目的地址和目的端口即为第三请求的源地址和源端口,该第一响应通过IP协议被转发到第二层调度器。
10)第二层调度器根据自己和服务器之间的协议将第一响应消息改写为第二响应消息。
第二层调度器接收到第一响应消息后,将根据第二请求的改写行为记录,将第一响应消息改写为第二响应消息。例如,如果第二层调度器和服务器之间运行的是NDN协议,则将第一响应消息的服务名/SN1k/foo.com/generic-service-name改写为/SITE1/foo.com/generic-service-name。在改写时,第二层调度器还可能需要同时更新消息签名和密钥信息。而如果第二层调度器和服务器之间运行的是IP协议,首先获取第一响应消息报文的标识信息,包括<源地址、目的地址、源端口、目的端口>,据此构造第三请求的标识信息,然后根据第二请求的服务名和第三请求的标识信息将其改写成第二响应消息。在执行改写时,除了进行协议转换,第二层调度器还需要设置数据包的密钥信息和消息签名信息。
11)第二层调度器将第二响应消息返回给客户端。
当第二层调度器成功构造第二响应消息后,将第二响应消息沿着第二请求的转发路径的反向路径返回给客户端。
图3示出了依据本发明一实施方式的NDN中基于重定向和重写的可扩展任播方法的实体交互图。其中,步骤(1)-(11)分别对应图2中的11个步骤。
图4示出了依据本发明一实施方式的NDN中基于重定向和重写的可扩展任播系统部署示意图,包括:
客户端:用于生成并向网络发送第一请求,从网络接收重定向通告,依据重定向通告生成并向网络发生第二请求,从网络接收第二响应消息;
第一层调度器:用于向网络通告任播服务名或其前缀,从网络接收第一请求,依据第一预设策略选择服务第一请求的服务器群,生成并向客户端返回重定向通告;
第二层调度器:用于向网络通告第二层调度器依赖服务名或其前缀,接收第二请求,依据第二预设策略选择服务器,重写第二请求为第三请求,根据第二层调度器和服务器之间的协议转发第三请求,从服务器接收第一响应消息,重写第一响应消息为第二响应消息,转发第二响应消息;
服务器:用于接收第三请求,生成和发送第一响应消息;
中间路由器:用于按照NDN的规则建立和更新路由转发表,依据FIB表转发第一请求消息和第二请求消息,依据PIT表返回第二响应消息。
通过本发明所提出的技术方案,能够在NDN网络中满足多样化的任播需求,特别是能克服任播的可扩展问题。且该能力的提供不改变NDN网络架构的内容命名规则和NDN转发引擎的处理逻辑。
本技术领域技术人员可以理解,本发明可以涉及用于执行本申请中所述操作中的一项或多项操作的设备。所述设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备,所述通用计算机有存储在其内的程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD‐ROM、和磁光盘)、随即存储器(RAM)、只读存储器(ROM)、电可编程ROM、电可擦ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光线卡片。可读介质包括用于以由设备(例如,计算机)可读的形式存储或传输信息的任何机构。例如,可读介质包括随即存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号)等。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种NDN中基于重定向和重写的可扩展任播方法,包括下述步骤:
客户端向网络发送第一请求;
中间路由器基于任播路由将第一请求转发到某个第一层调度器;
第一层调度器依据第一预设策略选择服务第一请求的服务器群;
第一层调度器向客户端 返回重定向通告;
客户端依据重定向通告向所选择的服务器群的第二层调度器发送第二请求;
第二层调度器依据第二预设策略选择服务群中的一个服务器;
第二层调度器依据第二层调度器与服务器之间的协议将第二请求重写为第三请求;
第二层调度器将第三请求转发给所选择的服务器;
服务器向第二层调度器返回第一响应消息;
第二层调度器根据第二层调度器和服务器之间的协议将第一响应消息重写为第二响应消息;
第二层调度器将第二响应消息返回给客户端;
其中,所述第一请求:
第一请求的服务名是一个任播服务名;
每个第一层调度器都向网络通告该任播服务名或该任播服务名前缀;
第一请求由中间路由器通过NDN的任播路由机制转发到某个第一层调度器。
2.如权利要求1所述的方法,其特征在于,所述重定向通告:
重定向通告中至少包括所选择的第二层调度器依赖的服务名。
3.如权利要求1所述的方法,其特征在于,所述第二请求:
第二请求的服务名是所选择的第二层调度器依赖服务名;
第二层调度器向网络通告该第二层调度器依赖服务名或该第二层调度器依赖服务名前缀;
第二请求由中间路由器通过NDN的任播路由机制转发到所标识的第二层调度器。
4.如权利要求1所述的方法,其特征在于,所述第二层调度器将第二请求重写为第三请求:
第三请求包括能标识所选择服务器的标识。
5.如权利要求1所述的方法,所述第二层调度器将第一响应消息重写为第二响应消息,其特征在于:
第二响应消息的服务名为与第二请求的服务名相同的第二层调度器依赖服务名。
6.如权利要求1所述的方法,其特征在于,所述第一请求包括客户端生成的流标识。
7.如权利要求6所述的方法,其特征在于,所述流标识被复制到第二请求、第三请求、第一响应和第二响应中。
8.如权利要求1所述的方法,其特征在于,当第一层调度器接收到的第一请求包括流标识时,包括:
第一层调度器获得同一会话中的具有相同流标识的历史调度决策信息;
当存在历史调度决策信息时,采用历史决策调度结果作为该第一请求的调度结果;
当不存在历史调度决策信息时,基于第一预设策略为第一请求选择服务器群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610392559.2A CN106101201B (zh) | 2016-06-02 | 2016-06-02 | 一种ndn中基于重定向和重写的可扩展任播方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610392559.2A CN106101201B (zh) | 2016-06-02 | 2016-06-02 | 一种ndn中基于重定向和重写的可扩展任播方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101201A CN106101201A (zh) | 2016-11-09 |
CN106101201B true CN106101201B (zh) | 2019-03-22 |
Family
ID=57447755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610392559.2A Active CN106101201B (zh) | 2016-06-02 | 2016-06-02 | 一种ndn中基于重定向和重写的可扩展任播方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101201B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274733A (zh) * | 2018-09-05 | 2019-01-25 | 杭州领智云画科技有限公司 | 基于设备分类的多层调度系统 |
US20200136965A1 (en) * | 2018-10-29 | 2020-04-30 | Ten-D Energies, Inc. | Robustness enhancing router for controller area networks |
CN114827274A (zh) * | 2022-04-15 | 2022-07-29 | 支付宝(杭州)信息技术有限公司 | 请求处理方法以及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431520A (zh) * | 2008-12-24 | 2009-05-13 | 金蝶软件(中国)有限公司 | 一种建立连接的方法、重定向连接的方法及相关设备 |
US8560597B2 (en) * | 2009-07-30 | 2013-10-15 | At&T Intellectual Property I, L.P. | Anycast transport protocol for content distribution networks |
US8621042B2 (en) * | 2010-12-27 | 2013-12-31 | Limelight Networks, Inc. | Anycast redirect to unicast content download |
CN102546774A (zh) * | 2011-12-27 | 2012-07-04 | 厦门市美亚柏科信息股份有限公司 | 一种二次重定向的cdn路由方法及系统 |
CN103297472B (zh) * | 2012-03-01 | 2018-09-04 | 上海盛大网络发展有限公司 | 一种应用于内容分发网络的重定向方法及内容分发节点 |
CN103354525A (zh) * | 2013-06-08 | 2013-10-16 | 中国科学院计算机网络信息中心 | 基于OpenFlow实现广域网任播负载均衡的系统和方法 |
CN105306571B (zh) * | 2015-10-28 | 2019-04-30 | 南京师范大学 | 基于路由的ndn中支持有状态任播的方法和系统 |
-
2016
- 2016-06-02 CN CN201610392559.2A patent/CN106101201B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106101201A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5536362B2 (ja) | コンテンツセントリックネットワークにおける通信を円滑化するための方法 | |
EP2721787B1 (en) | Principal-identity-domain based naming scheme for information centric networks | |
KR100984384B1 (ko) | 클러스터 노드들을 권위적 도메인 네임 서버들로서사용하여 액티브 부하 조절을 하는 시스템, 네트워크 장치,방법, 및 컴퓨터 프로그램 생성물 | |
US7860975B2 (en) | System and method for secure sticky routing of requests within a server farm | |
KR20160076445A (ko) | 정보 중심 네트워크들에서 링크 상태 정보를 사용한 효율적인 이름 기반 콘텐츠 라우팅을 위한 시스템 및 방법 | |
JP5756884B2 (ja) | 二方向プッシュ通知のためのシステム及び方法 | |
US10205663B1 (en) | Managing host computing devices | |
WO1999030460A2 (en) | Highly-distributed servers for network applications | |
JP2015204110A (ja) | コンテンツ中心ネットワークにおける簡単なサービス検出のためのシステム及び方法 | |
US10924533B2 (en) | System, apparatus and method for load balancing | |
EP2928118B1 (en) | System and method for dynamic name configuration in content-centric networks | |
EP2664112B1 (en) | Method and apparatus for managing the mobility of mobile networks | |
CN106101201B (zh) | 一种ndn中基于重定向和重写的可扩展任播方法和系统 | |
JP2015197920A (ja) | コンテンツ中心ネットワークにおけるデバイス登録及び検出のためのシステム及び方法 | |
EP2223501B1 (en) | Publish/subscribe networks | |
CN106130906B (zh) | 一种ndn中基于重定向的可扩展任播方法和系统 | |
CN105872097B (zh) | 一种ndn中基于重写的可扩展任播方法和系统 | |
CN102037711A (zh) | 在对等网络中限制存储消息 | |
CN101471938B (zh) | 一种点对点p2p网络中的认证方法、系统和装置 | |
CN106101200B (zh) | 一种ndn中基于路由和重写的任播方法和系统 | |
CN105915450B (zh) | 一种ndn中基于重定向的任播方法和系统 | |
CN105306571B (zh) | 基于路由的ndn中支持有状态任播的方法和系统 | |
CN105847448B (zh) | 一种ndn中基于路由和重定向的任播方法和系统 | |
CN105323317B (zh) | 基于解析器的ndn中支持有状态任播的方法和系统 | |
CN105897928B (zh) | 一种ndn中基于重定向和重写的任播方法和系统 |
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 |