CN106537880A - 在信息中心网络架构中缓存数据 - Google Patents
在信息中心网络架构中缓存数据 Download PDFInfo
- Publication number
- CN106537880A CN106537880A CN201580038000.3A CN201580038000A CN106537880A CN 106537880 A CN106537880 A CN 106537880A CN 201580038000 A CN201580038000 A CN 201580038000A CN 106537880 A CN106537880 A CN 106537880A
- Authority
- CN
- China
- Prior art keywords
- data object
- router
- data
- message
- interest message
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- 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/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/808—User-type aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
在一个实现中,一种方法包括通过第一信息中心网络(ICN)接口接收第一兴趣消息,该第一兴趣消息包括第一数据对象的第一名称。该方法还包括基于第一兴趣消息来确定第一数据对象是否被储存在路由器的缓存中。该方法还包括,当第一数据对象被储存在路由器的缓存中时,用第一指示符更新第一兴趣消息,该第一指示符表明第一数据对象被储存在路由器的缓存中。该方法还包括,当第一数据对象被储存在路由器的缓存中的时候,通过第二ICN接口传输所更新的第一兴趣消息。
Description
相关申请
本申请要求递交于2015年6月8日的美国专利申请号14/733,849的权益,其要求递交于2014年7月13日的美国临时申请号为62/023,883的35U.S.C§119(e)的优先权。所有前述申请的内容通过结合全部引用于此。
技术领域
本公开涉及信息中心网络(ICN)系统架构。更具体地,本公开涉及用于在ICN系统架构中缓存数据对象的方法与系统。
技术背景
在ICN系统架构中,客户端设备(例如消费者或请求者)通常用兴趣消息从服务器(诸如生产者)请求数据。客户端设备通过一个或多个路由器向服务器传输兴趣消息,并且服务器可以用数据对象(例如数据消息)向客户端设备传输所请求的数据。兴趣消息可以包括用于标识数据的名称。路由器可以用该名称向可能具有该数据的一个或多个服务器传输(例如转发或路由)兴趣消息。数据对象还包括这些数据对象中所包括的数据的名称。路由器还可以用名称向客户端设备传输(例如转发或路由)数据对象。
附图说明
为使本领域技术人员能够理解本公开,更多细节描述可以参考示例的实现方式,附图示出了它们中的一些。然而,附图仅仅示出了本公开的示例的特性,并且因此不应作为限制性的,因为说明书可以容许其他有效的特性。
图1是根据一些实施例,示出系统架构的框图;
图2是根据一些实施例,示出示例的数据对象的框图;
图3是根据一些实施例,示出示例的所转发的兴趣消息的框图;
图4是根据一些实施例,示出示例的数据消息的框图;
图5是根据一些实施例,生成和/或传输所转发的兴趣消息的方法的流程图;
图6是根据一些实施例,传输数据对象的方法的流程图;
图7是根据一些实施例,生成和/或传输数据消息的方法的流程图;
图8是根据一些实施例的计算设备的框图;
图9是根据一些实施例的计算设备的框图。
根据惯例,附图中所示出的各种特性可能并没有按比例绘制在附图中。相应地,出于清晰的目的,各种特性的方面可能被任意扩大或缩小。此外,附图中的一些可能没有描绘给定系统、方法、或设备的全部组件。最后,相似的标号可以被用来表示贯穿说明书以及附图的相似的特征。
示例的实施例
本文描述了大量细节,从而提供附图中所示出的示例性实现方式的透彻的理解。然而,附图仅仅示出了本公开的一些示例的方面,并且因此不应被认为是限制性的。本领域技术人员会从本公开中理解,其他有效的方面和/或变化并非包括本文所描述的所有的细节。此外,众所周知的系统、方法、组件、设备以及电路没有以非常详尽的方式描述,以免不必要地模糊本文所描述实现方式的更多有关的方面。
概括
本文所描述的各种实现方式包括用于在ICN系统架构中缓存数据对象的装置、系统、以及方法。例如,在一些路由器实现方式中,一种方法包括通过第一信息中心网络(ICN)接口接收第一兴趣消息,该第一兴趣消息包括第一数据对象的第一名称。该方法还包括基于第一兴趣消息来确定第一数据对象是否被储存在路由器的缓存中。该方法还包括当第一数据对象被储存在路由器的缓存中的时候,用第一指示符更新第一兴趣消息,该第一指示符表明第一数据对象被储存在路由器的缓存中。该方法还包括当第一数据对象被储存在路由器的缓存中的时候,通过第二ICN接口传输所更新的第一兴趣消息。
在其他服务器实现方式中,一种方法包括通过信息中心网络(ICN)接口接收第一兴趣消息,该第一兴趣消息包括储存在服务器中的第一数据的第一名称。该方法还包括基于第一兴趣消息通过ICN接口传输第一数据对象,其中第一数据对象包括第一数据以及第一参数,该第一参数表明:当路由器接收包括第一名称的附加兴趣消息并且当第一数据被储存在路由器的缓存中的时候,路由器将会向服务器转发附加兴趣消息。
详细描述
信息中心网络(ICN)系统架构越来越流行。ICN系统架构的示例包括命名数据网络(NDN)系统架构以及内容中心网络(CCN)系统架构。如以上所描述的,ICN系统架构(诸如NDN系统架构)可以允许消费者(例如客户端设备)用兴趣消息请求数据,该兴趣消息标识所请求的数据的名称。生产者(例如所请求的数据的生产者或提供者,诸如服务器计算设备)可以接收兴趣消息,并且可以(响应于兴趣消息)传输数据对象到客户。通过ICN系统架构,路由器用在兴趣消息与数据对象中的名称来路由和/或转发兴趣消息和/或数据对象。传输兴趣消息来请求数据对象以及接收数据对象可以被称为兴趣数据交换。
ICN系统架构(诸如NDN系统架构)可以允许用来路由/转发兴趣消息和/或数据对象的路由器在它们相应的缓存中储存(例如缓存)NDN数据对象。当路由器接收针对数据对象的请求(例如兴趣包)并且路由器在它的缓存储存有该数据对象的时候,路由器可以响应于请求从缓存传输NDN数据对象,而不是向服务器转发请求。因为没有向服务器转发兴趣消息,所以服务器不能追踪请求该数据对象的兴趣消息的数量。这可能对于各种应用和服务导致麻烦和/或问题。例如,广告追踪者(例如广告追踪应用/服务)将无法确定针对广告的点击的总数量。
在一些实施例中,系统架构可以用NDN系统架构。在本文所公开的NDN系统架构中,数据对象可以包括各种参数,该参数表明:当匹配数据对象被储存在路由器的缓存中的时候,路由器应该继续转发兴趣消息。所转发的兴趣消息可以包括指示符/值以表明数据对象在路由器的缓存中被找到了,该路由器位于连接到存有数据对象的一个或多个服务器的路径上。这些参数、指示符、和/或值可以允许服务器追踪/管理(从客户端设备所接收的)兴趣消息和/或(储存在缓存中并且向客户端设备传输的)数据消息。
尽管本公开可以涉及NDN系统架构,但应当理解NDN系统架构仅仅是可能被采用的示例的架构。其他实施例可以用其他类型的系统架构(诸如CCN、Pursuit、NetInf等等),并且本文所描述的示例、实现方式、和/或实施例可以与其他类型的架构一起被采用。
图1是根据一些实施例示出系统架构100的框图。该系统架构包括服务器110、客户端设备130、网络105、以及路由器140。系统架构100可以是NDN系统架构。例如,系统架构110中的消费者(诸如客户端设备130)可以用兴趣消息请求数据,并且生产者(诸如服务器110)可以用数据对象(诸如NDN数据对象)传输所请求的数据。服务器110可以被称为生产者(或提供者),并且客户端设备130可以被称为消费者(或请求者)。
服务器110可以是一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、智能电话、个人数字助手(PDA)、膝上型计算机、平板电脑、以及台式计算机等等)。客户端设备130也可以是计算设备(诸如个人计算机、智能电话、个人数字助手(PDA)、膝上型计算机、平板电脑、以及台式计算机等等)。网络105可以包括以下一个或多个:公共网络(诸如因特网)、专用网络(诸如局域网(LAN)或广域网(WAN))、有线网络(诸如以太网)、无线网络(诸如802.11网络或Wi-Fi网络)、蜂窝网络(诸如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机、和/或它们的组合。
如在图1中所示出的,服务器110包括数据对象136。例如,数据对象136可以位于(例如可以被储存在)服务器110的存储器(例如硬盘、固态盘等等)中。在其他实施例中,数据对象136可以位于数据存储库(例如具有存储器、硬盘、固态盘等等的单独的计算设备)中,该数据存储库可以与服务器110是分离的。数据对象136可以是由服务器110所拥有、管理、和/或运营的内容或数据。例如,数据对象136可以是文件、图像、电影、电影的一部分、文件的一部分等等。服务器110可以向请求数据对象136(例如传输具有数据对象136的名称的兴趣消息)的客户端设备(例如客户端设备130)提供数据对象136。服务器还包括服务器模块111。在一个实施例中,数据对象136可以是NDN数据对象、CCN数据对象等等。
系统架构100还包括路由器140。路由器140可以是通信设备(例如计算设备,诸如路由器、交换器等等),该通信设备可以在服务器110与客户端设备130之间路由和/或转发数据。例如,路由器140可以从客户端设备130接收兴趣消息(例如对于数据/内容的请求),并且可以向服务器110转发兴趣消息。通过路由器140,服务器110可以(响应于兴趣消息)向客户端设备130传输数据对象。路由器140可以包括缓存141。路由器140还可以包括多个网络接口(例如多个网络端口和/或网络连接)。路由器140可以接收兴趣消息(例如NDN兴趣消息、CCN兴趣消息等等),并且可以在计算设备之间(例如在客户端设备130与服务器110之间)转发/路由兴趣消息。例如,路由器140可以在第一网络接口(例如第一端口)处接收兴趣消息,并且用第二网络接口(诸如第二端口)转发/路由兴趣消息。在一个实施例中,路由器140可以用多个网络接口(例如多个端口)转发/路由兴趣消息。例如,除了接收兴趣消息的那个网络接口(例如第一网络接口/端口)之外,路由器140可以用任何数量的网络接口来转发/路由兴趣消息。路由器140还可以响应于兴趣消息接收数据对象,并且可以在计算设备之间转发/路由数据对象(例如NDN数据对象、CCN数据对象)。例如,路由器140可以在第二网络接口处接收数据对象,并且用第一网络接口转发/路由数据对象。
路由器140可以包括转发信息库(FIB)。FIB(未在图中示出)可以由基于名称的路由协议来填充。FIB可以基于在兴趣消息中的名称的前缀和/或部分,表明路由器140的哪(一个或多个)网络接口应该被用来转发/路由兴趣消息。例如,兴趣消息可以包括名称“company1/video/video1”。FIB可以表明应该向第一网络接口转发/路由(诸如通过第一网络接口传输)具有“/company1”的前缀的兴趣消息。路由器还可以静态地被配置来向不同的网络接口路由名称的不同的前缀和/或部分。路由器140还可以包括未决兴趣表(PIT)。PIT(未在图中示出)可以储存正在等待返回的数据对象的兴趣消息的列表(例如尚未被满足的兴趣消息的列表)。在一个实施例中,路由器140可以集合具有从不同网络接口(诸如不同端口)所接收的匹配名称的兴趣消息。当路由器140集合兴趣消息的时候,当具有与PIT中的条目匹配的名称的兴趣消息被接收之后,路由器140可以不在PIT中创建单独的条目。替代地,路由器140可以更新匹配条目以表明兴趣消息是从哪个网络端口所接收的。
系统架构100可以允许路由器140在缓存141中储存(例如缓存)NDN数据对象。例如,当路由器140从客户端设备130(或其他客户端设备)接收对于数据对象136的初始请求(诸如兴趣包),并且路由器在缓存141中不具有数据对象136的时候,那么路由器140可以向服务器110转发初始兴趣消息。服务器110可以接收初始兴趣消息并且可以向路由器140转发数据对象136。当路由器140(第一次)接收数据对象136的时候,路由器140可以在缓存141中储存数据对象136,并且可以向客户端设备130转发数据对象136。当路由器140接收针对数据对象136的后续的兴趣消息的时候,路由器140可以已在缓存141中储存有数据对象136。在通常的NDN系统架构中,路由器140可以响应于请求而向客户端设备130传输储存在缓存141中的数据对象136,而不是向服务器110转发请求。这可以改善延迟并且可以减少网络105中的网络拥堵。在一个实施例中,缓存141还可以允许多路径以及多目的地路由,而无需使用域名系统(DNS)查找、负载平衡器、以及代理服务器。
当路由器在它们相应的缓存中存储有(由兴趣消息所请求的)数据对象的时候,通常的NDN系统架构对于服务器110追踪和/或监控由客户端设备传输的(对于数据对象的)兴趣消息可能没有规定。如上文所讨论的,在通常的NDN架构中,在缓存中储存有数据对象的路由器可以向客户端设备传输所请求的对象,而不是向服务器转发兴趣消息。这可能导致服务器110无法追踪和/或监控对于数据对象的兴趣消息,因为一旦路由器将数据对象储存在它们的缓存中,服务器将无法从路由器接收该兴趣消息。例如,路由器140可能已经将数据对象136储存在它的缓存141中。数据对象136可能从(例如与客户端设备130或其他客户端设备的)先前的兴趣数据交换中已经被路由器140接收了。如图1所示出的,服务器110包括服务器模块111,并且路由器140包括路由器模块142。在一个实施例中,即使路由器140可能在缓存中储存有数据对象,服务器模块111和/或路由器模块142也可以允许服务器110追踪和/或监控对于该数据对象的兴趣消息。
在一个实施例中,当服务器模块111响应于兴趣消息传输数据对象136的时候,服务器模块111可以在数据对象136中包括一个或多个参数。服务器模块111可以在数据对象136中包括第一参数(例如在图2中示出的转发参数),该第一参数可以对路由器140表明:当路由器140接收对于数据对象136的兴趣消息121的时候,以及当路由器140在缓存141中储存有数据对象136的时候,路由器140应该向服务器110传输所转发的兴趣消息123。在一个实施例中,路由器140可以用多个网络接口(例如多个端口)传输所转发的兴趣消息123。例如,除了那个接收兴趣消息121的网络端口(例如第一网络接口/端口)之外,路由器140可以用任何数量的网络接口来传输多个所转发的兴趣消息123。在一个实施例中,所转发的兴趣消息123包括值、字段、指示符、和/或数据,表明路由器140在它的缓存141中储存有数据对象136(如下文将被详细讨论的)。所转发的兴趣消息还可以包括其他值、字段、指示符、和/或数据(如下文将被详细讨论的)。所转发的兴趣消息123可以允许服务器110监控和/或追踪对于数据对象136的兴趣消息。
服务器模块111还可以在数据对象136中包括第二参数(例如在图2中所示出的数据返回参数),该第二参数可以对路由器140表明路由器140应该在什么时候向客户端设备130传输由兴趣消息121所请求的数据对象136。例如,第二参数可以表明,路由器140一旦接收了兴趣消息121就可以传输数据对象136(如下文将被详细讨论的)。在另一个示例中,第二参数可以表明,路由器140在传输数据对象136之前应该等待来自服务器110的响应(例如数据消息125)(如下文将被详细讨论的)。在另一个示例中,第二参数可以表明,如果一段时间内没有从服务器110接收响应(例如数据消息125),则路由器应该传输数据对象136(如下文将被详细讨论的)。
在一个实施例中,当服务器110接收所转发的兴趣消息123的时候,服务器模块111还可以生成数据消息125并且可以向路由器140传输数据消息125。数据消息125可以允许路由器140遵循对于兴趣消息121的兴趣数据交换的约定(例如响应于兴趣消息而接收数据对象)。除了包括在数据消息125中的数据对象136之外,服务器模块111可以在数据消息125中包括数据对象136的散列(例如用诸如SHA-1、MD5等等的散列函数所生成的散列值)。数据消息125还可以包括由服务器模块111所生成的签名。例如,服务器模块111可以对数据消息125签名(例如可以生成签名,并且可以在数据消息125中包括该签名)。在一个实施例中,数据消息125可以是数据对象(诸如NDN数据对象、CCN数据对象等等)。数据对象的名称可以与所转发的兴趣消息123中的名称相同,并且数据对象的内容/有效载荷可以是数据对象的散列(例如数据对象136的散列),该数据对象由所转发的兴趣消息123中的名称所标识。
在一个实施例中,服务器模块111还可以追踪/监控兴趣消息、所转发的兴趣消息、和/或数据对象。例如,服务器模块111可以对所接收的兴趣消息进行计数,以确定对于不同数据对象的请求的总数量。在另一个示例中,服务器模块111可以分析所转发的兴趣消息中的跳(hop)数值或计数器。跳数值或计数器可以被用于确定在沿客户端设备130与服务器110之间的路由器的路径上的、在其缓存中储存有数据对象136的第一个路由器(如下文将被详细讨论的)。在另一个示例中,服务器模块111可以检测在路由器的缓存中储存的数据对象的错误。例如,如果在所转发的兴趣消息123中的散列不匹配由服务器模块111所生成的数据对象136的散列,那么服务器模块111可以确定在缓存141中储存的数据对象136有错误(例如数据对象136被损坏、修改等等)。在一个实施例中,服务器模块111可以向路由器140传输数据对象136的正确版本,使得路由器140可以更新储存在缓存141中的数据对象136的不正确版本。
如上文所讨论的,路由器140可以包括路由器模块142。路由器模块142可以在客户端设备130与服务器110之间转发兴趣消息、数据消息、和/或数据对象。由于服务器110与客户端设备130(或其他客户端设备)之间的先前的兴趣数据交换,路由器模块142可以从服务器110接收数据对象136。数据对象136可以包括第一参数,该第一参数表明:当路由器140接收对于数据对象136的兴趣消息的时候并且当路由器140在它的缓存141中储存有数据对象136的时候,路由器140应该向服务器110转发后续的兴趣消息123。在一个实施例中,路由器模块142可以用PIT以及FIB处理兴趣消息121。例如路由器模块142可以访问FIB以确定应该用哪个网络接口(例如哪个网络端口或网络连接)来向服务器转发兴趣消息121。在另一个示例中,路由器模块142可以更新PIT以表明路由器140正在等待对于兴趣消息121的数据对象。
在一个实施例中,当路由器模块接收兴趣消息121的时候,路由器模块142可以基于数据对象136的第一参数来更新或修改兴趣消息121,得到所转发的兴趣消息123。例如,路由器模块142可以添加附加的字段、值、和/或数据到兴趣消息121,得到所转发的兴趣消息123。在一个实施例中,所转发的兴趣消息123可以是由路由器140所生成的新的兴趣消息(而不是修改或更新兴趣消息121)。如上文所讨论的,除了数据对象136的名称之外,所转发的兴趣消息123还可以包括值、字段、指示符、和/或数据。在一个实施例中,所转发的兴趣消息123可以包括值、字段、指示符、和/或数据,表明路由器在它的缓存141中储存有数据对象136。例如,所转发的兴趣消息123可以包括具有值“1”的标记,以表明路由器140在它的缓存中储存有数据对象136。在另一个实施例中,所转发的兴趣消息123还可以包括数据对象136的散列。例如,路由器模块142可以用散列函数/算法(诸如SHA-1、MD5等等)生成数据对象136的散列(诸如散列值),并且可以将散列包括在所转发的兴趣消息123中。在另一个示例中,路由器模块142可以获得数据对象136的先前所生成的散列值,并且可以将散列包括在所转发的兴趣消息123中。所转发的兴趣消息123还可以包括其他值、字段、指示符、和/或数据。例如,ICN协议系统架构可以在兴趣消息中包括跳限制字段/参数,以控制循环以及限制传播距离(例如兴趣消息可以被转发的次数)。所转发的兴趣消息123可以包括字段、值、参数等等,它们可以表明在(沿着路由器的路径的)第一个在其缓存中具有数据对象136的路由器处的跳限制字段/参数的值(例如可以被用来标识具有数据对象136的、距离客户端设备130最近的路由器)。这可以允许服务器110确定数据对象136离服务器设备130有多近,并且可以允许服务器110确定网络105中的路由器在缓存数据对象方面的效率。
如上文所讨论的,数据对象136还可以包括第二参数,该第二参数可以表明路由器140应该在什么时候向客户端设备130传输数据对象136。在一个实施例中,第二参数可以表明:当兴趣消息121被接收的时候,路由器可以向客户端设备130传输(例如转发)数据对象136。例如,在兴趣消息121的接收之后,路由器140可以立即(或很快)向客户端设备130传输数据对象136(例如,无需等待数据消息125)。在接收数据消息125之前传输数据对象136可以允许路由器140减少对兴趣消息121进行响应的延迟。
在另一个实施例中,第二参数可以表明:路由器140在向客户端设备130传输数据对象136之前,应该等待数据消息125。例如,除非在一段时间内(例如5秒的时间段)路由器140接收到数据消息125,否则路由器140不可以被允许传输数据对象136(例如,可以制止传输数据对象136)。数据消息125可以包括数据对象136的散列而不是数据对象136(如上文所讨论的)。由于各种原因和/或错误,路由器140可能未接收数据消息125。例如,网络105中可能存在路由故障,该路由故障导致所转发的兴趣消息123无法到达服务器110。在另一个示例中,在网络105中可能存在拥堵,该拥堵可能导致所转发的兴趣消息123被丢弃。在另一个示例中,服务器110可能发生故障(例如可能已被破坏、可能无法运行、可能在故障中等等)。
如果数据消息125在该段时间内被接收,那么路由器模块142可以用PIT与FIB处理数据消息125。例如,当数据消息125被接收之后,路由器140可以更新和/或移除PIT中的条目。路由器140还可以向客户端设备130传输(例如转发)数据对象136。如果数据消息125没有在该段时间内被接收,那么路由器模块142可以向客户端设备130传播该错误(例如传输代表错误已发生的消息),而不是向客户端设备130传输(储存在缓存141中的)数据对象136。当数据对象136没有储存在缓存141中的时候,等待数据消息125(在传输数据对象136之前)可以允许路由器140复现数据对象136的传输中的延迟。向客户端设备130传播错误可以允许路由器140像缓存141中没有储存过数据对象136那样操作或运作。这使得当服务器110故障或无法联络的时候(例如错误使得服务器110无法接收所转发的兴趣消息123或传输数据消息125),系统架构可以避免向客户端设备130传输数据对象136。
在另一个实施例中,第二参数可以表明路由器应该等待数据消息125一段时间。如果数据消息125没有在该段时间内被接收,那么在该段时间(例如超时周期)到期之后,路由器140可以向客户端设备130传输数据对象136。例如,如果数据消息125没有在五秒(例如超时周期)之后被接收,那么路由器140可以向客户端设备130传输数据对象136。如上文所讨论的,由于各种原因和/或错误,路由器140可能未接收数据对象125。允许路由器140在该段时间到期之后传输数据对象136(而不是制止传输数据对象136)可以使得系统架构100更加可靠地向客户端设备提供数据对象,同时给服务器110提供追踪和/或监控成功地从客户端设备所接收的兴趣消息的能力。
在其他实施例中,系统架构100可以在网络105(例如在服务器110与客户端设备130之间)中包括附加的路由器(未在图中所示出)。如果附加的路由器接收所转发的兴趣消息123,那么该附加的路由器可以用PIT与FIB执行所转发兴趣消息123的正常处理。例如,该附加的路由器可以在PIT中添加条目(或如果该附加的路由器被配置以集合兴趣消息,则更新条目),并且可以用FIB来确定应该用该附加的路由器的哪个网络接口来传输所转发的兴趣消息123。如果附加的路由器接收数据消息125,那么附加的路由器还可以用PIT与FIB执行数据消息125的正常的处理。例如,该附加的路由器可以用PIT确定应该用附加的路由器的哪个网络接口来传输数据消息125,并且当数据消息125被接收的时候可以更新和/或移除PIT中的条目。附加的路由器还可以向客户端设备130传输(例如转发)数据消息125。
在一个实施例中,系统架构100可以允许服务器110追踪/管理兴趣消息和/或数据对象(就像路由器140的缓存141中没有储存该数据一样),同时允许路由器140(以及附加的路由器)通过传输来自缓存141的数据对象(而不是从服务器110请求这些数据对象)来减少网络105的拥堵或带宽使用。系统架构100可以允许路由器140在接收兴趣消息121之后立即(或很快)返回数据,由此来模仿通常的NDN表现,并且仍旧能够在可能的时候向服务器110告知每个将要到达的兴趣消息。无论当数据消息125到达或当错误发生的时候,系统架构100可以都允许数据对象136从缓存被返回。系统架构100还可以仅当服务器110能够联络与响应的时候,才允许数据对象136被返回。
尽管图1可以涉及NDN系统架构,应当理解NDN系统架构仅仅是可以被采用的示例的架构。其他实施例可以采用其他类型的系统架构(诸如CCN、Pursuit、NetInf等等)。例如,本文所描述的实施例、实现方式、和/或示例可以适用于这样的任何ICN系统架构:该ICN系统架构用兴趣数据交换在客户端(诸如消费者)与服务器(诸如生产者)之间传输数据。在另一个示例中,本文所描述的实施例、实现方式、和/或示例可以适用于这样的任何ICN系统架构:该ICN系统架构允许路由器缓存数据对象,以及允许路由器用缓存中的数据对象来响应于兴趣消息。
图2是根据一些实施例示出了示例的数据对象136的框图。如上文结合图1所讨论的,服务器(例如图1所示出的服务器110或服务器模块111)可以生成和/或储存数据对象136。数据对象136包括名称205、到期210、缓存参数215、转发参数220、数据返回参数225、数据230、以及签名235。在其他实施例中,数据对象136可以包括上述项的不同组合。
在一个实施例中,名称205可以标识数据230和/或数据对象136。在另一个实施例中,到期210可以表明数据对象136可以保持有效的时间(或一段时间)量。例如,到期210可以表明路由器应该在一段时间之后(例如在一天之后)删除数据对象136,和/或可以表明数据在该段时间之后不应被视作有效。在一个实施例中,缓存参数215可以表明是否允许路由器缓存数据对象136。例如,缓存参数215可以是标记,其中“0”值表明不允许路由器返回数据对象136的经缓存的副本,而“1”值表明不允许路由器返回数据对象136经缓存的副本。
在一个实施例中,签名235可以安全地绑定以下一个或多个:名称205、到期210、缓存参数215、转发参数220、数据返回参数225、以及数据230。例如,签名235可以使用私有密钥(例如秘密的密钥)以及以下一项或多项来生成:名称205、到期210、缓存参数215、转发参数220、数据返回参数225、以及数据230。签名235可以允许路由器和/或客户端设备确定和/或确认服务器的身份。
图3是根据一些实施例,示出了示例的所转发的兴趣消息123的框图。如上文结合图1所讨论的,路由器(例如图1所示出的路由器140或路由器模块142)可以生成和/或向服务器传输所转发的兴趣消息123。所转发的兴趣消息123包括名称305、缓存指示符310、以及散列315。在另一个实施例中,所转发的兴趣消息123可以包括上述项的不同组合。例如,在所转发的兴趣消息123中,散列315可以是可选的。
在一个实施例中,名称305可以标识由客户端设备所请求的数据和/或数据对象(例如数据对象136)。例如,参考图1,名称305可以标识储存在服务器110中的数据对象136。在一个实施例中,缓存指示符310可以表明由名称305所标识的数据对象被储存在路由器的缓存中。缓存指示符310还可以向服务器表明和/或提供附加的信息。例如,缓存指示符310还可以被用来表明当前的跳计数或跳值。在一个实施例中,散列315可以是由名称305所标识的数据对象的散列。例如散列315可以是用散列函数/算法(例如SHA-1)和由名称305所标识的数据对象所生成的散列值。
图4是根据一些实施例,示出示例的数据消息125的框图。如以上结合图1所讨论的,服务器(例如在图1中示出的服务器110或服务器模块111)可以生成和/或向客户端设备传输数据消息125。数据消息125包括名称405、散列410、以及签名415。在其他实施例中,数据消息125可以包括上述项的不同组合。例如,在数据消息215中签名415可以是可选的。
在一个实施例中,名称405可以标识由客户端设备所请求的和/或在路由器的缓存中所储存的数据和/或数据对象(诸如数据对象136)。例如,参考图1,名称405可以标识储存在服务器110以及路由器140的缓存141中的数据对象136。在一个实施例中,散列410可以是由名称405所标识的数据对象的散列。例如,散列410可以是用散列函数/算法(例如SHA-1)以及由名称405所标识的数据对象所生成的散列值。在一个实施例中,签名415可以安全地绑定名称405与散列410中的一个或多个。例如,签名415可以用私有密钥(例如秘密的密钥)以及名称405与散列410中的一个或多个所生成。签名415可以允许路由器和/或客户端设备确定和/或确认服务器的身份。
图5是根据一些实施例,生成和/或传输所转发的兴趣消息的方法500的流程图。在一些实现方式中,方法500可以由路由器和/或路由器模块(例如图1所示出的路由器140和/或路由器模块142)所执行。简言之,方法500包括接收兴趣消息、确定数据对象是否被储存在缓存中、以及传输所转发的兴趣消息。方法500在块501处开始,该处方法500接收数据对象。例如,方法500可以接收数据对象,作为与服务器此前的兴趣数据交换的一部分(如上文所讨论的)。在块502处,方法500在路由器的缓存中储存数据对象。在块505处,方法500接收请求数据对象的兴趣消息。例如,方法500可以从客户端设备或从另一个路由器接收兴趣消息。兴趣消息可以包括数据对象的名称(例如如上文所讨论的)。在块510处,方法500可以确定由兴趣消息中的名称标识的数据对象是否被储存在路由器的缓存中。
如果由兴趣消息中的名称所标识的数据对象没有被储存在路由器的缓存中,那么方法500在块512处可以向服务器传输(例如转发)兴趣消息。如果由兴趣消息中的名称所标识的数据对象被储存在路由器的缓存中,那么方法500在块515处更新(例如修改)兴趣消息。例如,参考图3,方法500可以更新兴趣消息以包括一个或多个参数、值、字段等等(例如图1所示出的,可以更新兴趣消息121,得到所转发的兴趣消息123)。方法500在块520处向服务器传输所更新的兴趣消息。在一个实施例中,方法500可以用多个网络接口(例如多个端口)向服务器传输所更新的兴趣消息,例如,除了接收该兴趣消息(在块505处)的那个网络接口之外,方法500可以用任何数量的网络接口来传输所更新的兴趣消息。
图6是根据一些实施例,传输数据对象的方法600的流程图。在一些实现方式中,方法600可以由路由器和/或路由器模块(例如在图1中所示出的路由器140和/或路由器模块142)所执行。简言之,方法600包括确定数据消息是否被接收,以及确定是否传输数据对象。方法600在块605处开始,该处方法600确定数据消息是否被接收。例如,参考图4,方法600可以确定数据消息125是否被接收。数据消息可以包括数据对象的名称。如果数据消息被接收,方法600(在块630处)确定是否先前已经向客户端设备传输或发送数据消息中所标识的数据对象。例如,参考回图2,方法600可以分析数据返回参数225以确定数据对象是否已被传输而未等待数据消息。如果没有在先前向客户端设备传输或发送在数据消息中所标识的数据对象,那么方法600可以在块635处向客户端设备传输数据对象。如果已经在先前向客户端设备传输或发送在数据消息中所标识的数据对象,那么方法600可以更新路由器的PIT。例如,方法600可以更新在PIT中的条目以表明兴趣消息已经被满足(如上文所讨论的)。
如果数据消息没有被接收,那么方法600在块610处确定超时周期(例如一段时间)是否已经到期。如果超时周期尚未到期,那么方法600可以继续进行到605处。如果超时周期已经到期,那么方法600在块615处可以确定是否在超时周期已经到期之后向客户端设备传输数据对象。例如参考回图2,方法600可以分析数据返回参数225,以确定是否在尽管超时周期已到期的情况下仍应该向客户端设备传输数据对象。如果在超时周期已到期之后,仍应该向客户端设备传输数据对象,方法600可以在块625处向客户端设备传输数据对象。如果在超时周期到期之后,不应该向客户端设备传输数据对象,那么方法600可以块620处制止向客户端设备传输数据对象。
图7是根据一些实施例,生成和/或传输数据消息的方法的流程图。在一些实现方式中,方法700可以由服务器和/或服务器模块(例如图1中所示出的服务器110和/或服务器模块111)执行。简言之,方法600包括接收所转发的兴趣消息、生成数据消息、以及传输数据消息。方法700在块705处开始,该处方法700接收对于数据对象的兴趣消息并且响应于兴趣消息传输数据对象。例如,第一客户端设备可以传输(具有数据对象的名称的)兴趣消息,并且方法700可以响应于兴趣消息向第一客户端设备传输数据对象。如上文所讨论以及在图2中所示出的,数据对象可以包括各种数据、字段、值、和/或参数。
在块710处,方法700接收所转发的兴趣消息。例如,参考图1和图3,方法700可以接收所转发的兴趣消息123。在块715处,方法700可以确定与所转发的兴趣消息相关联的信息。例如,方法700可以以1为单位递增针对数据对象所接收的兴趣消息的总数。在块702处,方法700还可以确定与由所转发的兴趣消息所标识的数据对象相关联的信息。例如,方法700可以分析在所转发的兴趣消息中的散列,以确定储存在路由器的缓存中的数据对象的副本是否有错误。在块725处,方法700生成数据消息。例如,参考图1与图4,方法700可以生成数据消息125。如图4中所示出与上文所讨论的,数据消息125可以包括各种数据、字段、值、和/或参数。在块730处,方法700可以向客户端设备传输数据消息125。
图8是根据一些实施例的计算设备800的框图。尽管某些的具体特性被示出,本领域技术人员应当从本公开中理解,出于简化的目的而未示出各种其他特性,以免模糊本文所公开的实施例的更多相关的方面。为此,作为非限制性的示例,在一些实施例中,计算设备800包括一个或多个处理单元(CPU)802(例如处理器)、一个或多个输出接口803、存储器806、编程接口808、以及用于将它们与各种其他组件互联的一个或多个通信总线804。
在一些实施例中,通信总线804包括互联与控制系统组件之间的通信的电路。存储器806包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储器设备;并且可以包括非易失存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失固态存储设备。存储器806可选地包括位于CPU 802远程的一个或多个存储设备。存储器806包括非暂态计算机可读存储介质。此外,在一些实施例中,存储器806或存储器806的其他非暂态计算机可读存储介质储存下文的程序、模块以及数据结构、或其子集,包括可选的操作系统830与服务器模块840。在一些实施例中,逻辑存储器与非暂态存储器的组合中包括一个或多个指令。操作系统830包括用于运作各种基础系统服务以及用于执行基于硬件的任务的过程。在一些实施例中,服务器模块840可以被配置来生成数据对象、接收兴趣消息、传输数据对象、接收所转发的兴趣消息、生成数据消息、和/或传输数据消息。为此,服务器模块840包括兴趣分析模块841以及数据控制模块842。
在一些实施例中,兴趣分析模块841可以接收兴趣消息、接收所转发的兴趣消息、和/或确定信息(例如检测在数据对象中的错误、确定跳值或计数)。为此,兴趣分析模块841包括指令841a与启发和元数据841b的集合。在一些实施例中,数据控制模块842可以生成数据对象、传输数据对象、生成数据消息、和/或传输数据消息。为此,数据控制模块842包括指令842a与启发和元数据842b的集合。
尽管服务器模块840、兴趣分析模块841、以及数据控制模块842被图示为存在于单一的计算设备800上,应当理解在其他实施例中,服务器模块840、兴趣分析模块841、以及数据控制模块842的每一个可以存在于单独的计算设备上。
图9是根据一些实施例的计算设备900的框图。尽管示出了特定具体的特性,本领域技术人员应当从本公开中理解,出于简化的目的而未示出各种其他的特性,以免模糊本文所公开的实施例的更多的相关方面。为此,作为非限制性的示例,在一些实施例中,计算设备900包括一个或多个处理单元(CPU)902(例如处理器)、一个或多个输出接口903、存储器906、编程接口908、用于将这些与各种其他组件互联的一个或多个通信总线904。
在一些实施例中,通信总线904包括互联和控制系统组件之间的通信的电路。存储器906包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且可以包括非易失存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失固态存储设备。存储器906可选地包括位于(一个或多个)CPU 902远程的一个或多个存储设备。存储器906包括非暂态计算机可读存储介质。此外,在一些实施例中,存储器906或存储器906的非暂态计算机可读存储设备介质储存下文的程序、模块、以及数据结构、或其子集,包括可选的操作系统930以及服务器模块940。在一个实施例中,逻辑存储器与非暂态存储器的组合中包括一个或多个指令。操作系统930包括用于运作各种基础系统服务以及用于执行基于硬件的任务的步骤。在一些实施例中,路由器模块940可以被配置来接收兴趣消息、传输兴趣消息、接收数据对象、传输数据对象、生成所转发的兴趣消息、传输所转发的兴趣消息、接收数据消息、以及传输数据消息。为此,路由器模块940包括兴趣转发模块941以及数据对象模块942。
在一些实施例中,兴趣转发模块941可以接收兴趣消息、传输兴趣消息、生成所转发的兴趣消息、以及传输所转发的兴趣消息。为此,兴趣转发模块941包括指令941a以及启发和元数据941b的集合。在一些实施例中,数据对象模块942可以接收数据对象、传输数据对象、接收数据消息、以及传输数据消息。为此,数据对象模块942包括指令942a与启发和元数据942b的集合。
尽管路由器模块940、兴趣转发模块941、以及数据对象模块942被示出为位于单一的计算设备900中,应当理解在其他实施例中,路由器模块940、兴趣转发模块941、以及数据对象模块942的任何组合可以位于单独的计算设备中。
此外,图8到图9更多地意在作为可能出现在特定实施例中的各种特性的功能性描述,而不是本文所描述的实施例的结构示意图。如本领域技术人员所理解的,分别示出的项可以被组合,并且一些项可以被拆分。例如,图8到图9中分别地示出的一些功能性的模块可以在单个模块中被实现,并且单个功能性块的各种功能可以在各种实施例中由一个或多个功能块所实现。模块的实际数量与具体功能的划分、以及它们之间如何分配特性,从一个实施例到另一个会是不同的,并且可以部分地取决于针对特定实施例所选择的硬件、软件和/或固件的特定的组合。
本公开描述了各种特性,这些特性中没有一个单独负责本文所描述的优点。应当理解本文所描述的各种特性可以被组合、修改、或省略,这对本领域技术人员是显然的。除了本文所具体描述之外的其他组合以及子组合对于本领域技术人员将是显然的,并且意在组成本公开的一部分。本文结合各种流程图步骤和/或阶段描述了各种方法。应当理解在许多情境中,某些步骤和/或阶段可以被组合在一起,使得在流程图中示出的多个步骤和/或阶段可以作为单个步骤和/或阶段执行。同样地,某些步骤和/或阶段可以被分解为更多的子成分而被分别地执行。在一些示例中,步骤和/或阶段的顺序可以被重新安排,并且某些步骤和/或阶段可以被完全省略。同样地,本文所描述的方法应当被理解为开放性的,使得对于本文所示和所述的步骤和/或阶段而言,还可以执行附加的步骤和/或阶段。
本文所描述的系统与方法的一些方面可以用例如计算机软件、硬件、固件或计算机软件、硬件、固件的任何组合而有利地实现。计算机软件可以包括储存在计算机可读介质(诸如非暂态计算机可读介质)中的计算机可执行代码,当其被执行时,执行本文所描述的功能。在一些实施例中,计算机可执行代码由一个或多个通用计算机处理器所执行。根据本公开,技术人员将理解,可以用在通用计算机上所执行的软件所实现的任何特性或功能也可以用硬件、软件、或固件的不同组合实现。例如,这种模块可以用集成电路的组合完全被实现在硬件中。替代地或此外,这种特性或功能可以用除通用计算机之外的专用计算机而完全或部分地实现,该专用计算机被设计来执行本文所描述的特定功能。
可以用多个分布式的计算设备来代替本文所描述的任何一个计算设备。在这种分布式实施例中,一个计算设备的功能被(例如通过网络)分布,使得在每一个分布式计算设备上执行一些功能。
一些实施例可以参考公式、算法、和/或流程图而被描述。这些方法可以用能够在一个或多个计算机上执行的计算机程序指令而实现。这些方法还可以被实现为计算机程序产品,或者单独实现,或是作为装置或系统的组件而被实现。就此而言,每个公式、算法、块、或流程图的步骤以及它们的组合可以由硬件、固件、和/或软件而被实现,该软件包括存在于计算机可读程序代码逻辑中的一个或多个计算机程序指令。可以理解,任何这种计算机程序指令可以被装载到一个或多个计算机(包括但不限于通用计算机或专用计算机)或其他可编程处理装置上以产生一种机器,使得在这(一个或多个)计算机或(一个或多个)其他可编程处理设备上所执行的计算机程序指令实现由公式、算法、和/或流程图所指定的功能。应当理解在流程图中所示出的公式、算法、和/或块、以及它们的组合,可以由专用的基于硬件的计算机系统所实现,该基于硬件的计算机系统执行所指定的功能或步骤,或由专用硬件与计算机可读程序代码逻辑手段的组合实现。
此外,(诸如在计算机可读程序代码逻辑中的)计算机程序指令可以被储存在计算机可读存储器(例如非暂态计算机可读介质)中,该计算机可读存储器可以指导一个或多个计算机或其他可编程处理设备以特定的方式工作,使得计算机可读存储器中储存的指令实现在(一个或多个)流程图中的(一个或多个)块中指定的(一个或多个)功能。计算机程序指令还可以被装载到一个或多个计算机或其他可编程计算设备上,使得一系列可操作的步骤在这一个或多个计算机上或其他可编程计算设备上执行以产生计算机实现的处理,使在计算机上或其他可编程处理设备上所执行的指令提供用于实现由流程图的(一个或多个)公式、(一个或多个)算法、和/或(一个或多个)块所指定的功能的步骤。
本文所描述的一些或全部的方法和任务可以由计算机系统所执行以及全自动化。在一些情境中,计算机系统可以包括多个不同的计算机或计算设备(例如物理服务器、工作站、存储设备阵列等等),其通过网络通信以及交互操作来执行所描述的功能。每个这种计算设备通常包括处理器(或多个处理器),其执行在存储器、其他非暂态的计算机可读存储设备介质或设备中储存的程序指令或模块。本文所公开的各种功能可以由这种程序指令实现,尽管一些或全部所公开的功能可以在专用电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))中替代地实现。在计算机系统包括多个计算设备的情况下,这些设备可以但不必要在相同的位置。所公开的方法与任务的结果可以通过把物理存储设备(诸如固态存储器芯片和/或磁盘)转换到另一状态而被持久地储存。
除非上下文另有明确要求,贯穿说明书和权利要求书,词语“包括”等等应解释为包容的意义,而不是排除的或穷举的意义;即“包括但不局限于”的意义。本文中常用的词语“耦接”指的是两个或更多个元件可以被直接地连接或通过一个或多个中间元件所连接。此外,词语“本文”“上文”“下文”以及相似含义的词语当在本申请中使用时应当指的是本申请作为一个整体而不是本申请的任何特定的部分。在上下文允许的情况下,在以上详细说明中使用单数或复数数量的词语还可以包括相应的复数或单数数量。对于一系列两个或更多个项所用的词语“或”,该词语涵盖对该词语的下列所有解释:该系列中的任一项、该系列中的所有项、以及该系列中的项的任何组合。词语“示例的”在本文仅仅意指“作为示例、实例或举例”。本文描述为“示例的”任何实现方式不一定被认为比其他的实现方式更优选或更有利。
应当理解,尽管本文可能使用了术语“第一”“第二”等等来描述各种元件,这些元件不应该被这些术语所局限。这些术语仅仅被用来将一个元件与其他的元件区分开。例如,第一接点可以被叫做第二接点,并且相似地,第二接点可以被叫做第一接点,不改变说明书的意思,只要出现的所有“第一接点”被一致地重命名并且出现的所有第二接点也被一致地重命名。第一接点和第二接点都是接点,但是它们不是同一个接点。同样地如在对实施例的说明以及所附权利要求书中所使用的,单数形式“一”、“该”意在也包括复数形式,除非上下文以其他方式明确表明。应当理解,本文所使用的术语“和/或”表示并且包含所列出的有关项中一个或多个的任何且所有可能的组合。
还如本文所使用的,术语“如果”可以被解释为“当...的时候”或“一旦...”或“响应于确定”或“根据确定”或“响应于检测”,其根据上下文所陈述的先决条件为真。相似地,取决于上下文,句子“如果确定[所陈述的先决条件为真]”、或“如果[所陈述的先决条件为真]”、或“当[所陈述的先决条件为真]的时候”可以被解释意为“一旦确定”或“响应于确定”或“根据确定”或“一旦检测到”或“响应于检测到”所陈述的先决条件是真。
本公开不意在局限本文所示出的实现方式。对本公开中所描述的实现方式的各种修改对于本领域技术人员可能是显然的,并且本文所定义的一般原则可以用于其他实现方式而不脱离本公开的精神或范围。本文所提供发明的教导可以适用于其他方法和系统,并且不局限于以上所描述的方法和系统,并且以上所描述的各种实施例的元件与动作可以被组合来提供更多的实施例。相应地,本文所描述的新颖的方法与系统可以以多种其他形式实施;此外,在本文所描述的方法或系统的形式中可以做出各种省略、置换以及改变而不脱离本公开的精神。所附的权利要求书以及它们的等同含义意在覆盖落在本公开的范围与精神中的这些形式或修改。
Claims (20)
1.一种方法,包括:
通过第一信息中心网络(ICN)接口,接收第一兴趣消息,该第一兴趣消息包括第一数据对象的第一名称;
基于所述第一兴趣消息确定所述第一数据对象是否被储存在路由器的缓存中;
当所述第一数据对象被储存在所述路由器的缓存中时,用第一指示符更新所述第一兴趣消息,该第一指示符表明所述第一数据对象被储存在所述路由器的缓存中;以及
当所述第一数据对象被储存在所述路由器的缓存中时,通过第二ICN接口传输所更新的第一兴趣消息。
2.根据权利要求1所述的方法,还包括:
接收所述第一数据对象,其中所述第一数据对象包括第一参数,并且其中所述第一参数表明:当所述路由器接收包括所述第一名称的第一兴趣消息并且当所述第一数据对象被储存在所述路由器的缓存中的时候,所述路由器将会更新所述第一兴趣消息;以及
在所述路由器的缓存中储存所述第一数据对象。
3.根据权利要求2所述的方法,还包括:
当所述第一数据对象被储存在所述路由器的缓存中的时候,基于所述第一参数通过所述第一ICN接口传输所述第一数据对象,其中所述第一参数还表明:所述第一数据对象将会被传输而无需等待响应于所述所更新的第一兴趣消息的数据消息。
4.根据权利要求1所述的方法,还包括:
当所述第一数据对象没有被储存在所述路由器的缓存中的时候,通过所述第二ICN接口传输所述第一兴趣消息。
5.根据权利要求2所述的方法,其中所述所更新的第一兴趣消息还包括所述第一数据对象的散列。
6.根据权利要求5所述的方法,还包括:
当所述第一数据对象储存在所述路由器的缓存中的时候,确定包括所述第一数据对象的散列的数据消息是否在超时周期内被接收;
当所述数据消息在所述超时周期内被接收的时候,通过所述第一ICN接口传输所述第一数据对象,其中所述第一参数还表明:在接收所述数据消息之后,所述第一数据对象将会被传输;以及
更新未决兴趣表(PIT)以表明所述第一兴趣消息已经被满足。
7.根据权利要求6所述的方法,还包括:
当所述数据消息没有在所述超时周期内被接收的时候,制止传输所述第一数据对象。
8.根据权利要求5所述的方法,还包括:
当所述第一数据对象被储存在所述路由器的缓存中的时候,确定包括所述第一数据对象的散列的数据消息是否在超时周期内被接收;
当所述数据消息没有在所述超时周期内被接收的时候,通过所述第一ICN接口传输所述第一数据对象,其中所述第一参数还表明:在超时周期已经过去之后,所述第一数据对象将会被传输;以及
更新未决兴趣表(PIT)以表明所述第一兴趣消息已经被满足。
9.根据权利要求1所述的方法,还包括:
递增第一值,该第一值表明在服务器与客户端之间的路由器的当前数量,其中所述第一指示符包括所述第一值。
10.一种装置,包括:
多个信息中心网络(ICN)接口;
一个或多个处理器;以及
存储器,该存储器包括指令,该指令在被执行时使得所述一个或多个处理器执行以下操作,包括:
通过第一消息中心网络(ICN)接口接收第一兴趣消息,该第一兴趣消息包括第一数据对象的第一名称;
基于所述第一兴趣消息确定所述第一数据对象是否被储存在路由器的缓存中;
当所述第一数据对象被储存在所述路由器的缓存中的时候,用第一指示符更新所述兴趣消息,该第一指示符表明所述第一数据对象被储存在所述路由器的缓存中;以及
当所述第一数据对象被储存在所述路由器的缓存中的时候,通过第二ICN接口传输所更新的第一兴趣消息。
11.根据权利要求10所述的方法,还包括:
接收所述第一数据对象,其中所述第一数据对象包括第一参数,并且其中所述第一参数表明:当所述路由器接收包括第一名称的所述第一兴趣消息并且当所述第一数据对象被储存在所述路由器的缓存中的时候,所述路由器将更新所述第一兴趣消息;以及
在所述路由器的缓存中储存所述第一数据对象。
12.根据权利要求11所述的装置,还包括:
当所述第一数据对象被储存在所述路由器的缓存中的时候,基于所述第一参数通过所述第一ICN接口传输所述第一数据对象,其中所述第一参数还表明:所述第一数据对象将会被传输而无需等待响应于所述所更新的兴趣消息的数据消息。
13.根据权利要求10所述的装置,还包括:
当所述第一数据对象没有被储存在所述路由器的缓存中的时候,通过所述第二ICN接口传输所述第一兴趣消息。
14.一种方法,包括:
通过信息中心网络(ICN)接口接收第一兴趣消息,该第一兴趣消息包括储存在服务器上的第一数据的第一名称;以及
基于所述第一兴趣消息,通过所述ICN接口传输第一数据对象,其中所述第一数据对象包括所述第一数据与第一参数,该第一参数表明:当所述路由器接收包括所述第一名称的附加兴趣消息并且当所述第一数据被储存在所述路由器的缓存中的时候,路由器将会转发附加兴趣消息到所述服务器。
15.根据权利要求14所述的方法,还包括:
接收第二兴趣消息,其中所述第二兴趣消息还包括第一指示符,该第一指示符表明所述第一数据被储存在所述路由器的缓存中;以及
基于第二兴趣消息传输第二数据对象,其中所述第二数据对象缺少所述第一数据。
16.根据权利要求15所述的方法,其中,所述第二数据对象还包括所述第一数据的散列。
17.根据权利要求15所述的方法,其中,所述第一指示符包括表明所述服务器与客户端之间的当前跳数量的第一值。
18.根据权利要求15所述的方法,其中,所述第二兴趣消息包括所述第一数据的散列。
19.根据权利要求15所述的方法,还包括:
基于所述第一数据的散列来确定储存在所述路由器的缓存中的所述第一数据对象有错误。
20.根据权利要求15所述的方法,其中,所述第二数据对象包括由所述服务器生成的签名。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462023883P | 2014-07-13 | 2014-07-13 | |
US62/023,883 | 2014-07-13 | ||
US14/733,849 | 2015-06-08 | ||
US14/733,849 US9906447B2 (en) | 2014-07-13 | 2015-06-08 | Caching data in an information centric networking architecture |
PCT/US2015/037266 WO2016010695A1 (en) | 2014-07-13 | 2015-06-23 | Caching data in an information centric networking architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106537880A true CN106537880A (zh) | 2017-03-22 |
CN106537880B CN106537880B (zh) | 2020-02-14 |
Family
ID=55068414
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580038000.3A Active CN106537880B (zh) | 2014-07-13 | 2015-06-23 | 在信息中心网络架构中缓存数据 |
CN201580037991.3A Active CN106489258B (zh) | 2014-07-13 | 2015-06-23 | 使用信息中心网络链接到内容 |
CN201580037979.2A Active CN106664298B (zh) | 2014-07-13 | 2015-06-23 | 用于表述性状态转移操作的方法和装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580037991.3A Active CN106489258B (zh) | 2014-07-13 | 2015-06-23 | 使用信息中心网络链接到内容 |
CN201580037979.2A Active CN106664298B (zh) | 2014-07-13 | 2015-06-23 | 用于表述性状态转移操作的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (3) | US9979644B2 (zh) |
EP (3) | EP3167596B1 (zh) |
CN (3) | CN106537880B (zh) |
WO (3) | WO2016010695A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173965A (zh) * | 2018-01-22 | 2018-06-15 | 广东技术师范学院 | 社团感知的icn缓存方法 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992281B2 (en) * | 2014-05-01 | 2018-06-05 | Cisco Technology, Inc. | Accountable content stores for information centric networks |
US9979644B2 (en) * | 2014-07-13 | 2018-05-22 | Cisco Technology, Inc. | Linking to content using information centric networking |
US20160164952A1 (en) * | 2014-12-05 | 2016-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and Methods For Information Centric Networking |
US9462006B2 (en) * | 2015-01-21 | 2016-10-04 | Palo Alto Research Center Incorporated | Network-layer application-specific trust model |
US9838243B2 (en) * | 2015-03-24 | 2017-12-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Transformative requests |
US10757213B2 (en) * | 2015-08-14 | 2020-08-25 | Futurewei Technologies, Inc. | Method and apparatus for pushing data in a content-centric networking (CCN) network |
US10313227B2 (en) | 2015-09-24 | 2019-06-04 | Cisco Technology, Inc. | System and method for eliminating undetected interest looping in information-centric networks |
US11616719B2 (en) * | 2015-10-23 | 2023-03-28 | Netflix, Inc | Techniques for determining client-side effects of server-side behavior using canary analysis |
EP3206348B1 (en) | 2016-02-15 | 2019-07-31 | Tata Consultancy Services Limited | Method and system for co-operative on-path and off-path caching policy for information centric networks |
US10742596B2 (en) | 2016-03-04 | 2020-08-11 | Cisco Technology, Inc. | Method and system for reducing a collision probability of hash-based names using a publisher identifier |
US10051071B2 (en) | 2016-03-04 | 2018-08-14 | Cisco Technology, Inc. | Method and system for collecting historical network information in a content centric network |
US10264099B2 (en) | 2016-03-07 | 2019-04-16 | Cisco Technology, Inc. | Method and system for content closures in a content centric network |
US10067948B2 (en) | 2016-03-18 | 2018-09-04 | Cisco Technology, Inc. | Data deduping in content centric networking manifests |
US10091330B2 (en) | 2016-03-23 | 2018-10-02 | Cisco Technology, Inc. | Interest scheduling by an information and data framework in a content centric network |
US10320760B2 (en) | 2016-04-01 | 2019-06-11 | Cisco Technology, Inc. | Method and system for mutating and caching content in a content centric network |
US10425503B2 (en) * | 2016-04-07 | 2019-09-24 | Cisco Technology, Inc. | Shared pending interest table in a content centric network |
EP3244590B1 (en) | 2016-05-13 | 2018-09-26 | Koninklijke KPN N.V. | Network node, endpoint node and method of receiving an interest message |
CN105870441B (zh) * | 2016-06-01 | 2018-07-31 | 湖南杉杉能源科技股份有限公司 | 一种高倍率型钴酸锂正极材料及其制备方法 |
US10158570B2 (en) | 2016-06-22 | 2018-12-18 | Cisco Technology, Inc. | Carrying TCP over an ICN network |
US10148572B2 (en) * | 2016-06-27 | 2018-12-04 | Cisco Technology, Inc. | Method and system for interest groups in a content centric network |
US10164910B2 (en) * | 2016-07-13 | 2018-12-25 | Futurewei Technologies, Inc. | Method and apparatus for an information-centric MAC layer |
CN106211136B (zh) * | 2016-08-31 | 2021-07-13 | 上海交通大学 | 一种智能电网中基于命名的安全通信方法 |
US10033642B2 (en) | 2016-09-19 | 2018-07-24 | Cisco Technology, Inc. | System and method for making optimal routing decisions based on device-specific parameters in a content centric network |
US10069672B2 (en) * | 2016-10-07 | 2018-09-04 | Bank Of America Corporation | Real time event capture, analysis and reporting system |
US10158737B2 (en) * | 2016-10-07 | 2018-12-18 | Bank Of America Corporation | Real time event capture and analysis of transient data for an information network |
US10067994B2 (en) | 2016-10-07 | 2018-09-04 | Bank Of America Corporation | Real time event capture and transformation of transient data for an information network |
US10628511B2 (en) * | 2016-10-17 | 2020-04-21 | Google Llc | Machine learning system and method of classifying an application link as broken or working |
US11665260B2 (en) * | 2017-04-14 | 2023-05-30 | Koninklijke Kpn N.V. | Transmitting and receiving an interest message specifying an aggregation parameter |
JP6944820B2 (ja) * | 2017-06-16 | 2021-10-06 | パナソニック株式会社 | ノード装置および該ノード装置におけるキャッシュ管理方法 |
US11258879B2 (en) * | 2017-06-19 | 2022-02-22 | Northeastern University | Joint routing and caching method for content delivery with optimality guarantees for arbitrary networks |
US20180367452A1 (en) * | 2017-06-19 | 2018-12-20 | Futurewei Technologies, Inc. | Information centric networking over multi-access network interfaces |
CN108093482B (zh) * | 2017-12-11 | 2020-01-21 | 北京科技大学 | 一种无线信息中心网络资源分配的优化方法 |
US11144530B2 (en) | 2017-12-21 | 2021-10-12 | International Business Machines Corporation | Regulating migration and recall actions for high latency media (HLM) on objects or group of objects through metadata locking attributes |
US11210369B2 (en) | 2018-01-19 | 2021-12-28 | Nasdaq, Inc. | Systems and methods of digital content certification and verification using cryptography and blockchain |
US11245677B2 (en) * | 2018-07-25 | 2022-02-08 | Cisco Technology, Inc. | Secure packet modification |
US11677625B2 (en) | 2019-07-02 | 2023-06-13 | Northeastern University | Network and method for servicing a computation request |
CN110493136B (zh) * | 2019-08-15 | 2021-10-29 | 赛尔网络有限公司 | 资源名称编码方法、装置、电子设备及存储介质 |
US20220014466A1 (en) * | 2021-09-24 | 2022-01-13 | Kshitij Arun Doshi | Information centric network tunneling |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860550A (zh) * | 2010-06-25 | 2010-10-13 | 复旦大学 | 一种基于路由器缓存的流媒体系统加速方法 |
CN103023768A (zh) * | 2013-01-11 | 2013-04-03 | 中国科学院声学研究所 | 边缘路由节点以及其从多源预取内容的方法 |
US20130227048A1 (en) * | 2012-02-28 | 2013-08-29 | Futurewei Technologies, Inc. | Method for Collaborative Caching for Content-Oriented Networks |
US20130242996A1 (en) * | 2012-03-15 | 2013-09-19 | Alcatel-Lucent Usa Inc. | Method and system for fast and large-scale longest prefix matching |
US20140189060A1 (en) * | 2013-01-03 | 2014-07-03 | Futurewei Technologies, Inc. | End-User Carried Location Hint for Content in Information-Centric Networks |
Family Cites Families (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205481B1 (en) * | 1998-03-17 | 2001-03-20 | Infolibria, Inc. | Protocol for distributing fresh content among networked cache servers |
US6687732B1 (en) * | 1998-09-28 | 2004-02-03 | Inktomi Corporation | Adaptive traffic bypassing in an intercepting network driver |
US7363361B2 (en) * | 2000-08-18 | 2008-04-22 | Akamai Technologies, Inc. | Secure content delivery system |
US6775709B1 (en) * | 2000-02-15 | 2004-08-10 | Brig Barnum Elliott | Message routing coordination in communications systems |
US6988280B2 (en) * | 2001-06-29 | 2006-01-17 | International Business Machines Corporation | System and method for enhancing authorization request in a computing device |
US7382637B1 (en) * | 2002-02-01 | 2008-06-03 | Netlogic Microsystems, Inc. | Block-writable content addressable memory device |
US7188216B1 (en) * | 2002-12-13 | 2007-03-06 | Vignette Corporation | Method and system for an extensible caching framework |
US8010670B2 (en) * | 2003-12-23 | 2011-08-30 | Slipstream Data Inc. | Meta-data based method for local cache utilization |
US20070204011A1 (en) * | 2006-02-28 | 2007-08-30 | Maven Networks, Inc. | Systems and methods for offline access to video content of a web-site |
WO2007113163A1 (de) | 2006-03-29 | 2007-10-11 | Siemens Aktiengesellschaft | Verbessertes digitales rechtemanagement für gruppen von geräten |
US9208104B2 (en) * | 2008-08-28 | 2015-12-08 | Citrix Systems, Inc. | Content replacement and refresh policy implementation for a content distribution network |
EP2335393B1 (en) | 2008-10-08 | 2018-03-28 | Citrix Systems, Inc. | Connection management for pushing asynchronous messages from servers to clients |
US7953792B2 (en) * | 2008-11-24 | 2011-05-31 | At&T Intellectual Property I, Lp | Method and system for content distribution network performance and quality measurement |
US9369516B2 (en) * | 2009-01-13 | 2016-06-14 | Viasat, Inc. | Deltacasting |
US8321533B2 (en) * | 2009-08-03 | 2012-11-27 | Limelight Networks, Inc. | Systems and methods thereto for acceleration of web pages access using next page optimization, caching and pre-fetching techniques |
US20110289316A1 (en) * | 2010-05-19 | 2011-11-24 | Mtld Top Level Domain Limited | User authentication |
US8931034B2 (en) | 2010-06-25 | 2015-01-06 | Telefonaktiebolaget L M Ericsson (Publ) | System, method, and policy engine for granting temporary access to electronic content |
US20120089781A1 (en) * | 2010-10-11 | 2012-04-12 | Sandeep Ranade | Mechanism for retrieving compressed data from a storage cloud |
CN102143200B (zh) | 2010-10-20 | 2013-09-11 | 华为技术有限公司 | 一种soap api转换为rest api的公共消息头承载方法及装置 |
CN102469041B (zh) | 2010-11-19 | 2016-01-20 | 中兴通讯股份有限公司 | 聊天会话启动和获取会话列表的方法及系统 |
US8849825B1 (en) * | 2010-12-23 | 2014-09-30 | Amazon Technologies, Inc. | System and method for clustering distributed hash table entries |
US8650156B1 (en) * | 2010-12-23 | 2014-02-11 | Amazon Technologies, Inc. | System and method for fetching the latest versions of stored data objects |
US8645702B2 (en) | 2010-12-28 | 2014-02-04 | Futurewei Technologies, Inc. | Method and apparatus to use identity information for digital signing and encrypting content integrity and authenticity in content oriented networks |
US9021552B2 (en) * | 2011-04-05 | 2015-04-28 | Sap Se | User authentication for intermediate representational state transfer (REST) client via certificate authority |
US8775555B2 (en) * | 2011-05-13 | 2014-07-08 | Sap Ag | Rest interface interaction with expectation management |
US9379970B2 (en) * | 2011-05-16 | 2016-06-28 | Futurewei Technologies, Inc. | Selective content routing and storage protocol for information-centric network |
US8667172B2 (en) * | 2011-06-07 | 2014-03-04 | Futurewei Technologies, Inc. | Method and apparatus for content identifier based radius constrained cache flooding to enable efficient content routing |
US9191459B2 (en) | 2011-07-12 | 2015-11-17 | Futurewei Technologies, Inc. | Method and apparatus for seamless mobility techniques in content-centric network |
US8694675B2 (en) | 2011-09-01 | 2014-04-08 | Futurewei Technologies, Inc. | Generalized dual-mode data forwarding plane for information-centric network |
US9378389B2 (en) | 2011-09-09 | 2016-06-28 | Microsoft Technology Licensing, Llc | Shared item account selection |
KR20130031660A (ko) | 2011-09-21 | 2013-03-29 | 삼성전자주식회사 | 컨텐츠 이름 기반의 네트워크 장치 및 컨텐츠 이름 생성 방법, 그리고 인증 방법 |
CN103095470B (zh) * | 2011-10-27 | 2016-02-10 | 阿尔卡特朗讯 | 一种向应用内容提供商的访客用户在线计费的方法 |
US9215204B2 (en) | 2011-10-31 | 2015-12-15 | Avaya Inc. | Federation route cache based on dynamic domain name system server |
JP2013113931A (ja) * | 2011-11-25 | 2013-06-10 | Canon Inc | 画像形成装置 |
US10218756B2 (en) * | 2012-01-06 | 2019-02-26 | Comcast Cable Communications, Llc | Streamlined delivery of video content |
US9137152B2 (en) * | 2012-02-16 | 2015-09-15 | Futurewei Technologies, Inc. | Method for scalable routing in content-oriented networks |
US8762570B2 (en) | 2012-02-21 | 2014-06-24 | Futurewei Technologies, Inc. | Method and apparatus for adaptive forwarding strategies in content-centric networking |
US8897806B2 (en) * | 2012-03-27 | 2014-11-25 | Toyota Jidosha Kabushiki Kaisha | Dynamic data publication and dissemination |
US9515920B2 (en) * | 2012-04-20 | 2016-12-06 | Futurewei Technologies, Inc. | Name-based neighbor discovery and multi-hop service discovery in information-centric networks |
CN103516606B (zh) | 2012-06-25 | 2017-08-11 | 中兴通讯股份有限公司 | 一种cdn路由实现方法和系统 |
US8891541B2 (en) * | 2012-07-20 | 2014-11-18 | International Business Machines Corporation | Systems, methods and algorithms for named data network routing with path labeling |
CN102970185B (zh) | 2012-11-26 | 2015-03-25 | 北京奇虎科技有限公司 | 网络应用的运行状态监控方法、客户端设备及通信系统 |
US9426053B2 (en) * | 2012-12-06 | 2016-08-23 | International Business Machines Corporation | Aliasing of named data objects and named graphs for named data networks |
CN103874157B (zh) | 2012-12-12 | 2017-07-07 | 华为技术有限公司 | 路由转发、建立路由表、和获取内容的方法及其装置 |
KR101355767B1 (ko) * | 2012-12-13 | 2014-02-05 | 성균관대학교산학협력단 | 콘텐츠 중심 네트워크 환경에서의 동등 계층 간 그룹 통신 방법 |
KR102033999B1 (ko) | 2012-12-21 | 2019-10-21 | 삼성전자주식회사 | 컨텐트 중심 네트워크에서의 통신 방법 및 장치 |
CN103095710B (zh) | 2013-01-17 | 2016-05-18 | 北京交通大学 | 以内容为中心的网络中基于身份的广播加密传输方法 |
CN103399734B (zh) | 2013-07-10 | 2017-02-08 | 北京慧点科技有限公司 | 生成rest服务和rest实现的方法及对应的设备 |
KR20150071621A (ko) * | 2013-12-18 | 2015-06-26 | 삼성전자주식회사 | 컨텐츠 중심 네트워크에서 라운드 트립 시간을 예측하는 방법 |
US9509793B2 (en) * | 2013-11-22 | 2016-11-29 | Verizon Patent And Licensing Inc. | Content caching in a network for efficient user device access |
CN103747083B (zh) | 2014-01-02 | 2015-10-14 | 北京邮电大学 | 一种基于ccn的内容推送方法 |
US9930132B2 (en) * | 2014-01-10 | 2018-03-27 | Facebook, Inc. | Content specific router caching |
US9147051B2 (en) * | 2014-03-03 | 2015-09-29 | Palo Alto Research Center Incorporated | Method and apparatus for maintaining content view statistics in a named data network |
US20150281101A1 (en) * | 2014-03-31 | 2015-10-01 | Palo Alto Research Center Incorporated | Multi-object interest using network names |
US9673998B2 (en) * | 2014-05-15 | 2017-06-06 | Futurewei Technologies, Inc. | Differential cache for representational state transfer (REST) API |
US9979644B2 (en) * | 2014-07-13 | 2018-05-22 | Cisco Technology, Inc. | Linking to content using information centric networking |
-
2015
- 2015-01-27 US US14/606,810 patent/US9979644B2/en active Active
- 2015-02-27 US US14/633,580 patent/US10742552B2/en active Active
- 2015-06-08 US US14/733,849 patent/US9906447B2/en active Active
- 2015-06-23 EP EP15738185.6A patent/EP3167596B1/en active Active
- 2015-06-23 WO PCT/US2015/037266 patent/WO2016010695A1/en active Application Filing
- 2015-06-23 CN CN201580038000.3A patent/CN106537880B/zh active Active
- 2015-06-23 WO PCT/US2015/037271 patent/WO2016010696A1/en active Application Filing
- 2015-06-23 EP EP15738191.4A patent/EP3167587B1/en active Active
- 2015-06-23 EP EP15736882.0A patent/EP3167594B1/en active Active
- 2015-06-23 CN CN201580037991.3A patent/CN106489258B/zh active Active
- 2015-06-23 CN CN201580037979.2A patent/CN106664298B/zh active Active
- 2015-06-23 WO PCT/US2015/037097 patent/WO2016010690A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101860550A (zh) * | 2010-06-25 | 2010-10-13 | 复旦大学 | 一种基于路由器缓存的流媒体系统加速方法 |
US20130227048A1 (en) * | 2012-02-28 | 2013-08-29 | Futurewei Technologies, Inc. | Method for Collaborative Caching for Content-Oriented Networks |
US20130242996A1 (en) * | 2012-03-15 | 2013-09-19 | Alcatel-Lucent Usa Inc. | Method and system for fast and large-scale longest prefix matching |
US20140189060A1 (en) * | 2013-01-03 | 2014-07-03 | Futurewei Technologies, Inc. | End-User Carried Location Hint for Content in Information-Centric Networks |
CN103023768A (zh) * | 2013-01-11 | 2013-04-03 | 中国科学院声学研究所 | 边缘路由节点以及其从多源预取内容的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173965A (zh) * | 2018-01-22 | 2018-06-15 | 广东技术师范学院 | 社团感知的icn缓存方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106489258B (zh) | 2021-02-02 |
EP3167596B1 (en) | 2020-02-12 |
EP3167587B1 (en) | 2020-02-12 |
WO2016010696A1 (en) | 2016-01-21 |
EP3167596A1 (en) | 2017-05-17 |
US20160014215A1 (en) | 2016-01-14 |
US10742552B2 (en) | 2020-08-11 |
CN106489258A (zh) | 2017-03-08 |
CN106664298B (zh) | 2020-06-30 |
WO2016010690A1 (en) | 2016-01-21 |
EP3167587A1 (en) | 2017-05-17 |
EP3167594A1 (en) | 2017-05-17 |
US9979644B2 (en) | 2018-05-22 |
US20160014234A1 (en) | 2016-01-14 |
US9906447B2 (en) | 2018-02-27 |
CN106664298A (zh) | 2017-05-10 |
WO2016010695A1 (en) | 2016-01-21 |
US20160014027A1 (en) | 2016-01-14 |
EP3167594B1 (en) | 2019-05-22 |
CN106537880B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106537880A (zh) | 在信息中心网络架构中缓存数据 | |
EP3289727B1 (en) | Network path proof of transit using in-band metadata | |
Yi et al. | A case for stateful forwarding plane | |
CN100413290C (zh) | 设置边界网关协议路由选择通知功能的方法 | |
US10498627B2 (en) | Detecting packet forwarding path | |
JP6055009B2 (ja) | パケット処理方法、装置及びシステム | |
EP2978174B1 (en) | Interest return control message | |
US20160149804A1 (en) | Parallel multipath routing architecture | |
CN104335537A (zh) | 用于层2多播多路径传送的系统和方法 | |
CN105721536A (zh) | 用于信息中心联网的兴趣确认 | |
CN101772918A (zh) | 服务链的操作、管理和维护(oam) | |
US9379964B2 (en) | Discovering a topology—transparent zone | |
CN105099695A (zh) | 用于命名数据网络的边界属性验证 | |
ES2441490A2 (es) | Método y sistema de almacenamiento en caché de web para una red de distribución de contenido (cdn) | |
WO2016091156A1 (zh) | 节点故障的判断方法及装置 | |
CN105376292A (zh) | 基于名称的转发中的显式策略反馈 | |
US7920487B2 (en) | Method and apparatus for loop prevention in communication networks | |
Czirkos et al. | Solution for the broadcasting in the Kademlia peer-to-peer overlay | |
JP2021517767A (ja) | ランダム差動リレー及びネットワークコーディングのシステム及び方法 | |
US11876566B2 (en) | Classical implementation of entanglement | |
CN103368798B (zh) | 数据传输网络中基于内容的寻址的方法和网络部件 | |
KR102043031B1 (ko) | 서버 및 이를 이용한 부하 분산 방법 | |
US10855578B1 (en) | Anonymous communications network utilizing bridging connections between broadcast domains | |
WO2016122562A1 (en) | Replicating network communications | |
Tang et al. | TISIN: Traceable Information Sharing in Intermittent Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |