KR101773716B1 - Content sharing method in content centric network and router at content centric network sharing content - Google Patents

Content sharing method in content centric network and router at content centric network sharing content Download PDF

Info

Publication number
KR101773716B1
KR101773716B1 KR1020160082412A KR20160082412A KR101773716B1 KR 101773716 B1 KR101773716 B1 KR 101773716B1 KR 1020160082412 A KR1020160082412 A KR 1020160082412A KR 20160082412 A KR20160082412 A KR 20160082412A KR 101773716 B1 KR101773716 B1 KR 101773716B1
Authority
KR
South Korea
Prior art keywords
content
router
routers
packet
identification information
Prior art date
Application number
KR1020160082412A
Other languages
Korean (ko)
Inventor
임혜숙
문주형
Original Assignee
이화여자대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 이화여자대학교 산학협력단 filed Critical 이화여자대학교 산학협력단
Priority to KR1020160082412A priority Critical patent/KR101773716B1/en
Application granted granted Critical
Publication of KR101773716B1 publication Critical patent/KR101773716B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/63Routing a service request depending on the request content or context
    • H04L67/327
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A router of a content-centric network for sharing content includes a content storage device for storing content, an identification information storage device for storing information about a data structure in a bloom filter having a content name or an identifier stored by multiple routers having a router and a neighboring router positioned at a reference distance from the router, an interface device for receiving an interlaced packet or a data packet, and a control device for processing the packet received using the information packet when the interlaced packet or the data packet is received. Accordingly, the content-centric network allows multiple routers to share content and efficiently use limited storage locations.

Description

콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법 및 콘텐츠를 공유하는 콘텐츠 중심 네트워크의 라우터{CONTENT SHARING METHOD IN CONTENT CENTRIC NETWORK AND ROUTER AT CONTENT CENTRIC NETWORK SHARING CONTENT}TECHNICAL FIELD [0001] The present invention relates to a content-sharing network, and more particularly, to a content-

이하 설명하는 기술은 콘텐츠를 공유하는 콘텐츠 중심 네트워크에 관한 것이다.The techniques described below relate to content-centric networks that share content.

IP 기반 네트워크와는 패러다임이 다른 정보 중심 네트워크(Information-Centric Network)에 대한 연구가 진행 중이다. 정보 중심 네트워크에서 가장 주목받는 분야는 데이터 이름 기반 네트워크 (Named Data Network, NDN) 혹은 콘텐츠 중심 네트워크(Content Centric Network, CCN)이다.Research on information-centric networks with different paradigms from IP-based networks is underway. The most notable areas of information-centric network are Named Data Network (NDN) or Content-Centric Network (CCN).

H. Wu, J. Li, Y. Wang, and B. Liu, "EMC: The Effective Multi-Path Caching Scheme for Named Data Networking," IEEE ICCCN, 2013, pp. 1-7.H. Wu, J. Li, Y. Wang, and B. Liu, "EMC: The Effective Multi-Path Caching Scheme for Named Data Networking," IEEE ICCCN, 2013, pp. 1-7.

이하 설명하는 기술은 콘텐츠를 복수의 라우터가 공유하는 콘텐츠 중심 네트워크를 제공하고자 한다.The technique described below is intended to provide a content-centric network in which content is shared by a plurality of routers.

콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법은 콘텐츠 중심 네트워크에서 복수의 라우터가 저장하는 콘텐츠에 대한 식별 정보를 공유하는 단계, 상기 복수의 라우터 중 제1 라우터가 콘텐츠 요청 메시지를 수신하면 상기 식별 정보를 이용하여 요청을 받은 제1 콘텐츠가 상기 복수의 라우터 중 어느 하나에 존재하는지 판단하는 단계, 상기 제1 라우터가 상기 제1 콘텐츠를 자신이 보유한 것으로 판단하면 자신의 콘텐츠 저장소에 있는 콘텐츠를 상기 콘텐츠 요청 메시지를 전달한 페이스로 전달하는 단계 및 상기 제1 라우터가 상기 제1 콘텐츠를 상기 이웃 라우터가 보유한 것으로 판단하면 해당 라우터 방향으로 상기 콘텐츠 요청 메시지를 전달하는 단계를 포함한다.A method of sharing content in a content-centric network includes the steps of: sharing identification information on content stored by a plurality of routers in a content-centric network; using the identification information when the first router among the plurality of routers receives the content request message Determining whether any one of the plurality of routers has a request for the first content; if the first router determines that the first content is owned by the first router, And forwarding the content request message in the direction of the router if the first router determines that the neighboring router has the first content.

다른 측면에서 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법은 콘텐츠 중심 네트워크에서 라우터가 데이터 패킷을 수신하면 복수의 라우터가 저장하는 콘텐츠에 대한 식별 정보를 이용하여 상기 데이터 패킷에 포함된 콘텐츠가 상기 복수의 라우터에 존재하는지 확인하는 단계, 상기 복수의 라우터 중 제1 라우터는 상기 복수의 라우터에 상기 콘텐츠가 존재하지 않는 경우 상기 콘텐츠를 자신의 콘텐츠 저장소에 저장하는 단계 및 상기 제1 라우터는 상기 복수의 라우터 중 어느 하나가 상기 콘텐츠를 저장하고 있다면 펜딩 인터레스트 테이블(PIT)을 기준으로 상기 데이터 패킷을 상기 콘텐츠를 요청한 페이스로 전달하는 단계를 포함한다.In another aspect, a method of sharing content in a content-centric network includes the steps of: when a router receives a data packet in a content-centric network, using the identification information of the content stored in the plurality of routers, Wherein the first router of the plurality of routers stores the content in its own content repository if the content does not exist in the plurality of routers, and the first router is the one of the plurality of routers And forwarding the data packet to the requested pace based on a pending interlace table (PIT) if any one of the contents stores the content.

콘텐츠를 공유하는 콘텐츠 중심 네트워크의 라우터는 콘텐츠를 저장하는 콘텐츠 저장 장치, 라우터와 상기 라우터에서 기준 거리에 있는 이웃 라우터를 포함하는 복수의 라우터가 저장하는 콘텐츠의 이름 또는 식별자를 원소로 갖는 블롬 필터 형태의 자료 구조인 정보를 저장하는 식별정보 저장 장치, 인터레스트 패킷 또는 데이터 패킷을 수신하는 인터페이스 장치 및 상기 인터레스트 패킷 또는 상기 데이터 패킷을 수신하면 상기 정보를 이용하여 수신한 패킷을 처리하는 제어 장치를 포함한다.A router of a content-centric network sharing contents is a content storage device for storing contents, a blind filter form having elements or names of contents stored by a plurality of routers including a router and a neighboring router at a reference distance from the router An interface device for receiving an interlaced packet or a data packet, and a control device for processing the packet received using the information packet when the interlaced packet or the data packet is received .

이하 설명하는 기술은 콘텐츠 중심 네트워크가 복수의 라우터가 콘텐츠를 공유하여 제한된 저장 장소를 효율적으로 사용하게 한다.The technology described below allows a content-oriented network to efficiently share a limited storage location by sharing content among a plurality of routers.

도 1은 콘텐츠 중심 네트워크의 동작에 대한 예이다.
도 2는 콘텐츠 중심 네트워크에서 라우터의 포워딩 엔진에 대한 예이다.
도 3은 콘텐츠를 공유하는 콘텐츠 중심 네트워크에 대한 예이다.
도 4는 콘텐츠 중심 네트워크에서 라우터의 포워딩 엔진에 대한 다른 예이다.
도 5는 라우터가 인터페이스 패킷을 처리하는 과정에 대한 예이다.
도 6은 라우터가 데이터 패킷을 처리하는 과정에 대한 예이다.
도 7은 라우터가 전달하는 서머리 패킷의 구조를 도시한 예이다.
도 8은 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 영역에 대한 예이다.
도 9는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 영역에 대한 다른 예이다.
도 10은 콘텐츠를 공유하는 콘텐츠 중심 네트워크의 동작에 대한 시나리오의 예이다.
Figure 1 is an example of the operation of a content-centric network.
Figure 2 is an example of a forwarding engine of a router in a content-centric network.
Figure 3 is an example of a content-centric network sharing content.
Figure 4 is another example of a forwarding engine of a router in a content-centric network.
FIG. 5 shows an example of a process in which a router processes an interface packet.
6 is an example of a process of a router processing a data packet.
FIG. 7 shows an example of a structure of a summary packet transmitted by a router.
Figure 8 is an example of a region that shares content in a content-centric network.
Figure 9 is another example of a region for sharing content in a content-centric network.
Figure 10 is an example of a scenario for the operation of a content-centric network sharing content.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The following description is intended to illustrate and describe specific embodiments in the drawings, since various changes may be made and the embodiments may have various embodiments. However, it should be understood that the following description does not limit the specific embodiments, but includes all changes, equivalents, and alternatives falling within the spirit and scope of the following description.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc., may be used to describe various components, but the components are not limited by the terms, but may be used to distinguish one component from another . For example, without departing from the scope of the following description, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.As used herein, the singular " include "should be understood to include a plurality of representations unless the context clearly dictates otherwise, and the terms" comprises & , Parts or combinations thereof, and does not preclude the presence or addition of one or more other features, integers, steps, components, components, or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Before describing the drawings in detail, it is to be clarified that the division of constituent parts in this specification is merely a division by main functions of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. In addition, each of the constituent units described below may additionally perform some or all of the functions of other constituent units in addition to the main functions of the constituent units themselves, and that some of the main functions, And may be carried out in a dedicated manner.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Also, in performing a method or an operation method, each of the processes constituting the above method may occur in a different order than that described in the context without explicitly specifying a specific order in the context. That is, each process may occur in the same order as described, may be performed substantially concurrently, or may be performed in the opposite order.

이하 설명하는 기술은 정보 중심 네트워크(Information-Centric Network, ICN)에 관한 것이다. ICN은 주소(Address), 서버(Server), 호스트(Host) 등과 같은 “어디(Where)”에 초점을 맞추는 현재의 통신 패러다임을 “무엇(What)”, 즉 사용자와 애플리케이션의 구축에 중요한 의미를 갖는 정보(Information) 중심으로 변화시킨 것이다. 즉, IP 주소와 같은 위치를 지정하는 대신에, 정보에 고유(Unique)한 식별자(Identifier) 혹은 이름(Name)을 부여함으로써 정보를 최상의 독립적 주체로 고려하는 것이다. 정보 중심 네트워크(ICN)란 개념은 미국 및 유럽연합의 다양한 연구 과제에서 Named Data Network(NDN), Content-Centric Network(CCN), Data-Oriented Network Architecture(DONA), Publish-Subscribe Internet(PSI), Network of Information(NetInf) 등과 같은 이름으로 연구되고 있다. 정보 중심 네트워크(ICN)에 대한 연구 중 주목받는 것은 데이터 이름 기반 네트워크 (Named Data Network, NDN) 혹은 콘텐츠 중심 네트워크(Content Centric Network, CCN)이다. NDN과 CCN 등으로 명칭은 상이하지만 기본적인 구성이나 동작은 유사하다. 설명의 편의를 위해 이하 콘텐츠 중심 네트워크(CCN)이란 용어를 중심으로 설명한다. CCN은 콘텐츠를 콘텐츠 이름 내지 식별자로 식별한다. 이하 설명의 편의를 위해 콘텐츠 이름을 사용한다고 가정한다.The following description relates to an information-centric network (ICN). The ICN defines the current communication paradigm that focuses on "where", such as address, server, host, etc., as "what" (Information). That is, instead of specifying the same location as the IP address, the information is considered as the best independent subject by giving a unique identifier or name to the information. The concept of information-centric network (ICN) has been used in various research projects in the United States and the European Union, such as Named Data Network (NDN), Content-Centric Network (CCN), Data-Oriented Network Architecture (DONA) Network of Information (NetInf). The focus of research on ICN is Named Data Network (NDN) or Content Centric Network (CCN). NDN and CCN are different names, but the basic structure and operation are similar. For convenience of explanation, the following description will focus on the term content-oriented network (CCN). The CCN identifies the content as a content name or an identifier. For convenience of explanation, it is assumed that a content name is used.

먼저 콘텐츠 중심 네트워크(CCN)의 기본적인 동작을 설명하고자 한다. 도 1은 종래 콘텐츠 중심 네트워크의 동작에 대한 예이다. First, the basic operation of a content-centric network (CCN) will be described. Figure 1 is an example of the operation of a conventional content-centric network.

도 1(a)는 사용자가 특정 콘텐츠 요청하는 과정을 예시한 도면이다. 콘텐츠 중심 네트워크는 클라이언트 장치(C1, C2 및 C3), 라우터(R0 내지 R6) 및 콘텐츠 제공장치(P1)를 포함한다.FIG. 1 (a) is a diagram illustrating a process of requesting a user for a specific content. The content-oriented network includes client devices C1, C2 and C3, routers R0 to R6, and content providing device P1.

클라이언트 장치(C1, C2 및 C3)는 특정 콘텐츠를 요청하는 장치이다. 예컨대, 클라이언트 장치(C1, C2 및 C3)는 동영상 콘텐츠를 요청하는 컴퓨터 장치, 스마트 기기 등일 수 있다. 라우터(R0 내지 R6)는 콘텐츠 요청을 수신하고, 요청 받은 콘텐츠를 전달하는 네트워크 장치이다. 콘텐츠 제공장치(P1)는 동영상 콘텐츠를 제공하는 서버 등에 해당한다. 콘텐츠 제공장치(P1)는 개인이 사용하는 컴퓨터 장치, 스마트 기기일 수도 있다.The client devices C1, C2, and C3 are devices that request specific contents. For example, the client devices C1, C2, and C3 may be a computer device, a smart device, or the like that requests video content. The routers R0 to R6 are network devices that receive content requests and deliver the requested content. The content providing apparatus P1 corresponds to a server or the like that provides video contents. The content providing apparatus P1 may be a computer device or a smart device used by an individual.

사용자는 클라이언트 장치(C1, C2 및 C3)를 통해 제공받고자 하는 콘텐츠의 이름을 포함하는 콘텐츠 요청 메시지(Interest Packet)를 인접한 라우터에 전달한다. 예컨대, 클라이언트 장치 C1은 인접한 라우터 R3에 인터레스트 패킷을 전송하고, 라우터 R3는 콘텐츠 제공장치(P1)에 이르는 경로에 있는 이웃 라우터 R1에 인터레스트 패킷을 전송한다. 라우터 R1은 콘텐츠 제공장치(P1)에 이르는 경로에 있는 이웃 라우터 R0에 인터레스트 패킷을 전송한다. 라우터 R0는 콘텐츠 제공장치(P1)에 인터레스트 패킷을 전송한다. 나머지 클라이언트 장치 C2 및 클라이언트 장치 C3도 유사한 방식으로 인터레스트 패킷을 콘텐츠 제공장치(80)에 전달하게 된다.The user delivers a content request message (Interest Packet) including names of contents to be provided through the client devices C1, C2 and C3 to the adjacent router. For example, the client apparatus C1 transmits an intra-router packet to an adjacent router R3, and the router R3 transmits an inter-router packet to a neighbor router R1 on a route to the content providing apparatus P1. The router R1 transmits the intra-packet to the neighboring router R0 on the route to the content providing apparatus P1. The router R0 transmits the interlace packet to the content providing apparatus P1. The remaining client device C2 and the client device C3 also deliver the interpreter packet to the content providing device 80 in a similar manner.

도 1(b)는 콘텐츠 제공장치(P1)로부터 클라이언트 장치(C1, C2 및 C3)에 콘텐츠를 전달하는 과정에 대한 예이다. 콘텐츠 제공장치(P1)는 콘텐츠를 포함하는 데이터 패킷을 클라이언트 장치(C1, C2 및 C3)를 향하여 전달한다. 데이터 패킷이 전달되는 경로는 인터레스트 패킷이 전달된 경로의 역순이다. 예컨대, 클라이언트 장치 C1이 콘텐츠 제공장치 P1에 콘텐츠를 요청한 경로에 라우터(R0, R1 및 R3)가 있다. 콘텐츠 제공장치(P1는 라우터 R0에 데이터 패킷을 전달하고, 라우터 R0는 라우터 R1에 데이터 패킷을 전달하고, 마지막으로 라우터 R3는 클라이언트 장치 C1에 데이터 패킷을 전달한다.1 (b) is an example of a process of transferring contents from the content providing apparatus P1 to the client apparatuses C1, C2, and C3. The content providing apparatus P1 delivers a data packet containing the content to the client apparatuses C1, C2 and C3. The path through which the data packet is delivered is the reverse order of the path through which the inter- est packet is delivered. For example, there are routers (R0, R1 and R3) in the path where the client device C1 requested the content to the content providing device P1. The content providing apparatus P1 transmits a data packet to the router R0, the router R0 delivers the data packet to the router R1, and finally the router R3 delivers the data packet to the client apparatus C1.

CCN는 IP 기반 네트워크와 달리 기본적으로 라우터(R0 내지 R6)가 데이터 패킷을 수신하는 경우 일정하게 해당 데이터를 자신의 저장 장치에 저장한다는 것이다. 예컨대, 클라이언트 장치 C1이 콘텐츠 제공장치 P1에 콘텐츠를 요청한 경로에 위치하는 라우터(R0, R1 및 R3)가 콘텐츠 제공장치 P1이 전달한 콘텐츠를 저장한다. 이후 라우터 R3가 클라이언트 장치 C1로부터 종전과 동일한 콘텐츠 이름을 갖는 콘텐츠에 대한 인터레스트 패킷을 받는 경우 인터레스트 패킷을 전달하지 않고, 자신의 저장 매체에 저장된 콘텐츠를 클라이언트 장치 A(10)에 곧바로 전달한다. Unlike an IP-based network, the CCN basically stores the data in its own storage device when routers (R0 to R6) receive the data packet. For example, routers (R0, R1 and R3) located in the path where the client device C1 requests the content to the content providing device P1 store the content delivered by the content providing device P1. Then, when the router R3 receives an interpreting packet for a content having the same content name as the previous one from the client device C1, the router R3 directly delivers the content stored in its own storage medium to the client device A10 without delivering the interpreter packet .

도 2는 CCN에서 라우터(50)의 포워딩 엔진에 대한 예이다. 도 2는 라우터(50)에서 패킷 처리에 관여하는 구성만을 간략하게 도시한 예이다. 라우터(50)는 콘텐츠 저장소(Content Store(이하 CS), 51), 펜딩 인터레스트 테이블(Pending Interest Table(이하 PIT), 52) 및 포워딩 인포메이션 베이스(Forwarding Information Base(이하 FIB), 53)를 포함한다. 또한 라우터(50)는 다른 노드와 통신하기 위한 인터페이스(Face 0, Face1, Face 3)를 포함한다. 2 is an example of a forwarding engine of the router 50 in the CCN. FIG. 2 is an example showing only a configuration involved in packet processing in the router 50. FIG. The router 50 includes a content store (CS) 51, a Pending Interest Table (PIT) 52, and a Forwarding Information Base (FIB) 53 do. The router 50 also includes interfaces (Face 0, Face 1, Face 3) for communicating with other nodes.

물리적으로 라우터(50)는 인접한 네트워크 장치와 정보를 송수신하는 인터페이스 장치, 콘텐츠 등을 저장하는 저장 장치 및 정보에 따라 동작을 제어하는 제어 장치를 포함한다. 저장 장치가 CS(51), PIT(52), FIB(53) 등을 저장하고 관리한다. 제어 장치가 저장 장치가 CS(51), PIT(52), FIB(53)에 저장된 정보를 기반으로 인터레스트 패킷 및 데이터 패킷을 처리한다. Physically, the router 50 includes an interface device for transmitting and receiving information with an adjacent network device, a storage device for storing content and the like, and a control device for controlling the operation according to the information. The storage device stores and manages the CS 51, the PIT 52, the FIB 53, and the like. The control device processes the interleave packet and the data packet based on the information stored in the CS 51, the PIT 52, and the FIB 53 by the storage device.

CS(51)는 콘텐츠 제공장치(80)로부터 전달되는 콘텐츠(데이터)를 저장한다. CS(51)는 콘텐츠 이름과 콘텐츠 이름에 대응되는 데이터를 저장한다. PIT(52)는 인터레스트 패킷을 수신받은 경로 및 인터페이스 패킷을 전달한 경로를 저장한다. PIT(52)는 Interest Aggregation 및 콘텐츠 데이터 전달 경로를 안내한다. FIB(53)는 인터레스트 패킷을 포워딩하는데 사용된다. FIB(53)는 콘텐츠 이름으로부터 패킷을 전달할 인터페이스를 결정하는 라우팅 테이블 역할을 한다. FIB(53)는 콘텐츠 제공장치가 CCN 코어에 등록 동작(registration operation)을 수행하여 생성된다. The CS 51 stores content (data) transmitted from the content providing apparatus 80. [ The CS 51 stores data corresponding to the content name and the content name. The PIT 52 stores the path that received the interlace packet and the path that transmitted the interface packet. The PIT 52 guides the Interest Aggregation and the content data delivery path. The FIB 53 is used to forward the interleaved packets. The FIB 53 serves as a routing table for determining the interface to which to forward the packet from the content name. The FIB 53 is generated by the content providing apparatus performing a registration operation on the CCN core.

CCN에서 콘텐츠 이름은 콘텐츠가 저장된 노드를 찾아가기 위한 식별자 역할을 한다. 그러므로, 각 콘텐츠는 고유한 이름을 사용하며 두 콘텐츠의 콘텐츠 이름이 서로 다르면 같은 내용의 콘텐츠도 다른 콘텐츠로 취급한다. 콘텐츠 이름은 도 2에 도시한 "/abc.com/audio/voice1.file"과 같이 일정한 경로를 포함하는 형태로 표현할 수 있다. In the CCN, the content name serves as an identifier for locating the node where the content is stored. Therefore, each content uses a unique name, and if the content names of the two contents are different, the same contents are treated as different contents. The content name can be expressed in a form including a certain path such as "/ abc.com/audio/voice1.file" shown in FIG.

라우터(50)가 페이스 1로부터 "/abc.com/video/video2.file"이라는 콘텐츠를 요청하는 인터레스트 패킷을 수신했다고 가정하자. 라우터(50)는 먼저 인터레스트 패킷 내에 있는 콘텐츠의 계층적 이름(/abc.com/video/video2.file)을 참조하여 해당 콘텐츠가 CS(51)에 있는지 확인한다. CS(51) 내에 해당 콘텐츠가 저장되어 있으므로, 라우터(50)는 해당 콘텐츠를 인터레스트 패킷이 수신된 페이스 1(56)로 반환한다.Suppose that the router 50 receives an interlace packet requesting content "/abc.com/video/video2.file" from the face 1. The router 50 first refers to the hierarchical name (/ abc.com/video/video2.file) of the content in the interlaced packet to check whether the corresponding content is in the CS 51. [ Since the corresponding content is stored in the CS 51, the router 50 returns the content to the first piconet 56 where the interpreting packet is received.

반면에, 라우터(50)가 페이스 0로부터 "xxx.com/audio/voice1.file"이라는 콘텐츠 요청을 받았는데 해당 콘텐츠가 CS(51)에 저장되어 있지 않다. 라우터(50)는 PIT(52) 내에 동일한 콘텐츠 이름으로 저장된 항목(entry)이 있는지 여부를 확인한다. 라우터(50)는 동일한 콘텐츠 이름으로 저장된 항목이 있으면, PIT(52) 내의 해당 항목에 콘텐츠 요청 패킷이 들어온 인터페이스(여기서는 페이스 0(55))에 대한 정보를 추가한다. 만약 PIT(52) 내에 동일 콘텐츠 이름으로 등록된 항목이 없다면, 라우터(50)는 PIT(52)에 콘텐츠 이름 및 인터페이스를 기록하고, FIB(53)에서 콘텐츠 이름에 기반한 검색(name lookup)을 수행하여 해당 엔트리를 찾는다. 이때, 라우터(50)는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다. 라우터(50)는 FIB(53)에 등록되어 있는 정보에 기초하여 인터레스트 패킷을 전달할 페이스를 결정하고, 인터페이스 2(57)로 인터레스트 패킷을 전송한다.On the other hand, when the router 50 receives a content request of "xxx.com/audio/voice1.file" from the face 0, the corresponding content is not stored in the CS 51. The router 50 checks whether there is an entry stored in the PIT 52 with the same content name. If there is an item stored with the same content name, the router 50 adds information about the interface (here, face 0 (55) in which the content request packet is received) to the corresponding item in the PIT 52. If there is no entry registered with the same content name in the PIT 52, the router 50 records the content name and the interface in the PIT 52 and performs a name lookup based on the content name in the FIB 53 And finds the corresponding entry. At this time, the router 50 can perform the search according to the longest prefix matching. Based on the information registered in the FIB 53, the router 50 determines a face to which the interlace packet is to be transmitted, and transmits the interleave packet to the interface 2 (57).

라우터(50)는 인터레스트 패킷 내의 콘텐츠 이름을 보고 해당 콘텐츠의 소스 방향, 즉 콘텐츠 제공장치(80)에 이르는 경로로 인터레스트 패킷을 전달한다. 이러한 상황에서 라우터(50)는 이후에 동일한 콘텐츠에 대한 인터레스트 패킷을 수신하면 PIT(52)에 인터레스트 패킷을 수신한 인터페이스 정보만 추가하고, 일정 시간 동안 동일한 콘텐츠에 대한 인터레스트 패킷을 더 이상 전달하지 않는다. 예컨대, 도 1(a)와 같이 인기 있는 동일 콘텐츠를 다수의 사용자가 동시에 요청하더라도, 라우터들(R3, R5, R6, R1, R2, R0)은 콘텐츠 제공장치(80) 방향으로 인터레스트 패킷을 한 번만 전달한다. The router 50 refers to the content name in the interleaved packet and delivers the interleaved packet to the source direction of the content, that is, the path to the content providing device 80. [ In this situation, when the router 50 receives an interpreting packet for the same content thereafter, the router 50 adds only the interface information that received the interpreting packet to the PIT 52, Do not forward. Routers R3, R5, R6, R1, R2, and R0 may transmit an interleave packet in the direction of the content providing apparatus 80, for example, even if a plurality of users simultaneously request the same popular content as shown in FIG. I only deliver once.

인터레스트 패킷이 콘텐츠 제공장치(P1)에 전달되면, 콘텐츠 제공장치(P1)는 도 1(b)와 같이 인터레스트 패킷이 전달된 역방향으로 데이터 패킷(콘텐츠)을 배포한다. 라우터(R3, R5, R6, R1, R2, R0는 인터레스트 패킷을 수신한 인터페이스 정보를 PIT(52)에 저장하고 있으므로, 해당 콘텐츠의 데이터 패킷을 수신하면 PIT(52)를 참조하여 인터레스트 패킷을 수신했던 모든 인터페이스로 데이터 패킷을 전달한다.When the interleaved packet is delivered to the contents providing apparatus P1, the contents providing apparatus P1 distributes the data packet (contents) in the reverse direction to which the interleave packet is transmitted as shown in Fig. 1 (b). Since the routers R3, R5, R6, R1, R2 and R0 store the interface information of the received interpreter packet in the PIT 52, when receiving the data packet of the corresponding content, Lt; / RTI > to all interfaces that have received the data packet.

CCN에서 각 라우터는 한정된 저장 공간을 갖는다. 종래 CCN에서 라우터는 데이터 패킷을 수신하면 콘텐츠 저장소(CS)를 검색하고, CS에 해당 데이터 패킷에 포함된 콘텐츠가 없으면 해당 콘텐츠를 CS에 저장한다. 이와 같이 동작하는 경우 라우터의 한정된 저장 공간을 효율적으로 사용하지 못할 수 있다. In the CCN, each router has a limited storage space. In the conventional CCN, when a router receives a data packet, it searches for a content store (CS). If there is no content included in the data packet, the router stores the content in the CS. In such a case, the limited storage space of the router may not be efficiently used.

이하 설명하는 CCN은 동일 네트워크에 존재하는 복수의 라우터가 콘텐츠를 공유한다. 이를 통해 CCN은 동일한 저장 공간을 갖는 라우터에 보다 다양한 콘텐츠를 저장할 수 있다. 도 3은 콘텐츠를 공유하는 CCN에 대한 예이다. 예컨대, 도 3에서 점선으로 표시한 영역(A1)에 위치한 라우터 R2, R4 및 R5는 콘텐츠가 중복되지 않게 저장할 수 있다. 다른 말로 하면 라우터 R2, R4 및 R5는 각각의 콘텐츠 내지 콘텐츠 저장소(CS)를 공유한다고 할 수도 있다. 이하 라우터 R2, R4 및 R5과 같이 콘텐츠를 공유하는 라우터를 공유 라우터 그룹이라고 명명한다.The CCNs described below share a plurality of routers existing in the same network. This allows the CCN to store more content on routers with the same storage space. Figure 3 is an example of a CCN sharing content. For example, the routers R2, R4 and R5 located in the area A1 indicated by the dotted line in Fig. 3 can store contents without overlapping. In other words, the routers R2, R4 and R5 may share respective content or content storage (CS). Hereinafter, routers sharing content, such as routers R2, R4, and R5, are referred to as shared router groups.

CCN에서 공유 라우터 그룹에 속하는 라우터들은 서로 보유하고 있는 콘텐츠에 대한 정보를 공유해야 한다. 공유 라우터 그룹에 속하는 라우터가 보유하는 콘텐츠에 대한 정보를 식별 정보라고 명명한다. 각 라우터는 식별 정보를 기준으로 공유 라우터 그룹에 속한 라우터가 특정 콘텐츠를 저장하고 있는지 확인할 수 있다. 따라서 라우터는 식별 정보를 별도로 저장하고 관리해야 한다.In the CCN, routers belonging to a shared router group must share information about the content they hold with each other. Information about contents held by a router belonging to a shared router group is called identification information. Each router can check whether the router belonging to the shared router group is storing specific contents based on the identification information. Therefore, the router must store and manage the identification information separately.

도 4는 CCN에서 라우터(100)의 포워딩 엔진에 대한 다른 예이다. 도 4에서 라우터(100)는 콘텐츠 저장소(CS, 101), 서머리 저장소(Summary Store(SS), 102), PIT(103) 및 FIB(104) 등을 포함한다. 도 4의 라우터(100)는 도 2의 라우터(50)와 달리 서머리 저장소(102)를 갖는다. 서머리 저장소(102)는 전술한 식별 정보를 저장하는 장소이다. 다양한 자료구조가 가능하겠지만 서머리 저장소(102)는 공유 라우터 그룹에 속한 각각의 라우터가 보유하는 콘텐츠 이름을 원소로 갖는 블룸 필터(Bloom Filter)를 보유한다고 가정한다. 4 is another example of the forwarding engine of the router 100 in the CCN. In FIG. 4, the router 100 includes a content repository (CS) 101, a summary store (SS) 102, a PIT 103 and a FIB 104, and the like. The router 100 of FIG. 4 has a summary store 102 unlike the router 50 of FIG. The summary repository 102 is a place for storing the aforementioned identification information. Although various data structures are possible, it is assumed that the summary repository 102 has a Bloom Filter that has, as an element, a content name held by each router belonging to a shared router group.

블롬 필터를 널리 알려진 바와 같이 블룸 필터는 입력데이터가 주어진 집합의 원소인지 아닌지를 판단하는 확률적인 자료 구조이다. 블룸 필터는 주어진 집합의 정보를 축약하여 저장하는 m-비트의 배열이다. 블롬 필터는 확률적인 정보를 포함하기 때문에 저장 공간을 효율적으로 사용한다. 서머리 저장소(102)는 블룸 필터로 구성된다고 가정하였다. 각 라우터가 보유한 콘텐츠 이름에 대한 블롬 필터 형태의 정보를 서머리(summary)라고 명명한다. 블룸 필터 형태의 자료이기에 서머리(요약)이라고 명명한 것이다. As is well known, a Bloom filter is a stochastic data structure that determines whether input data is an element of a given set or not. A Bloom filter is an array of m-bits that stores the information of a given set in a reduced form. Bloch filters use storage space efficiently because they contain probabilistic information. It is assumed that the summary repository 102 is composed of a Bloom filter. The information in the form of a blind filter for the content name held by each router is referred to as a summary. It is named as summaries because it is a Bloom filter type data.

각 라우터는 자신의 콘텐츠 저장소에 보유한 콘텐츠의 이름을 기준으로 서머리를 생성한다. 라우터(100)는 먼저 블룸 필터의 모든 비트를 0으로 초기화하고, 그 다음 주어진 집합의 원소(콘텐츠 이름)에 해당하는 k개의 해시 색인 값을 구한다. 라우터(100)는 구해진 k개의 해시 색인의 값에 해당하는 비트 값을 1로 변경한다. 라우터(100)는 이러한 과정을 반복하여 콘텐츠 저장소에 보유한 콘텐츠의 이름에 대한 블롬 필터(서머리)를 생성한다.Each router creates a summary based on the name of the content it has in its content repository. The router 100 first initializes all bits of the Bloom filter to 0, and then obtains k hash index values corresponding to the elements (content names) of the given set. The router 100 changes the bit value corresponding to the value of the obtained k hash indexes to one. The router 100 repeats this process to generate a blind filter (summary) for the name of the content held in the content repository.

라우터(100)는 서머리 저장소(102)에 공유 라우터 그룹에 속한 각 라우터에 대한 서머리를 저장한다. 즉, 서머리 저장소(102)에 자신의 콘텐츠 저장소(101)에 저장한 콘텐츠에 대한 서머리도 보유한다. 도 4에서 페이스 ID가 'X'로 표시한 부분이 자신의 콘텐츠 저장소(101)에 저장한 콘텐츠에 대한 서머리를 의미한다. The router 100 stores the summary information for each router belonging to the shared router group in the summary repository 102. In other words, the summary is also stored in the content repository 101 in the summary repository 102. In FIG. 4, the portion indicated by the face ID 'X' means a summary for the content stored in the content repository 101 of the user.

도 4에서 서머리 저장소(102)를 제외한 나머지 구성은 도 2의 구성과 동일하다. 다만 서머리를 사용하기 때문에 라우터(100)의 동작은 다음과 같이 달라진다.The remaining configuration except for the summary repository 102 in Fig. 4 is the same as that in Fig. However, since the summary is used, the operation of the router 100 is changed as follows.

도 5는 라우터(100)가 인터페이스 패킷을 처리하는 과정(200)에 대한 예이다. 라우터(100)는 인터레스트 패킷을 수신한다(210). 라우터(100)는 인터레스트 패킷을 수신하면 PIT(103)에 인터레스트 패킷을 전달받은 페이스를 기록한다.5 is an example of a process 200 in which the router 100 processes an interface packet. The router 100 receives the interlace packet (210). When the router 100 receives the interleaved packet, the router 100 records the pace received from the PIT 103 by the interlace packet.

라우터(100)는 콘텐츠 저장소(101)을 검색하기 전에 먼저 인터레스트 패킷에 포함된 콘텐츠 이름을 기준으로 서머리 저장소(102)를 쿼리(query)한다(220). 쿼링(querying)은 입력 데이터가 집합의 원소인지를 확인하는 과정이다. 라우터(100)는 서머리를 생성할 때 사용했던 것과 같은 해시 함수를 사용하여 인터레스트 패킷에 포함된 콘텐츠 이름에 대한 해시 색인을 구한다. 라우터(100)는 구해진 해시 색인에 해당하는 비트 값을 확인하여, k개의 비트의 값이 모두 1이면 양성(positive)으로 판단하며, 이는 입력 데이터가 주어진 집합의 원소임을 의미한다(230의 Yes). 즉, 공유 라우터 그룹이 인터레스트 패킷에 포함된 콘텐츠를 저장하고 있다는 의미이다. 반대로 인터레스트 패킷에 포함된 콘텐츠 이름에 대한 해시 색인에 해당하는 비트값이 0인 비트가 하나라도 있으면 음성(negative)으로 판단하며, 이는 입력 데이터는 주어진 집합에 속하지 않음을 의미한다(230의 No).The router 100 first queries 220 the summary number store 102 based on the content name included in the interlace packet before searching the content store 101. [ Querying is the process of determining if input data is an element of a set. The router 100 obtains a hash index of the content name included in the interlace packet using the same hash function as that used when generating the summary. The router 100 checks the bit value corresponding to the obtained hash index and judges that the k bits are all positive. This means that the input data is an element of a given set (Yes in 230) . In other words, it means that the shared router group is storing the contents included in the interleaved packet. Conversely, if there is at least one bit having a bit value of 0 corresponding to the hash index of the content name included in the interlace packet, it is determined to be negative, which means that the input data does not belong to a given set (No in 230 ).

라우터(100)는 서머리 저장소(102)에 쿼리 결과가 음성이라면 종래 CCN에서 인터레스트 패킷을 처리하는 과정과 같이 FIB 테이블을 검색하여 인터레스트 패킷을 전달한다(240).If the query result is voice in the summary repository 102, the router 100 searches for an FIB table and transmits the interleaved packet in a similar manner to the process of processing an intervening packet in the conventional CCN (240).

라우터(100)는 서머리 저장소(102)에 쿼리 결과가 양성인 서머리가 존재하면(250의 Yes), 라우터(100)는 해당 서머리가 자신의 것인지 판단한다(250). 양성인 서머리가 자신의 것인 경우 라우터(100)는 콘텐츠 저장소(101)를 검색하여 요청받은 콘텐츠를 전달한다(260). 라우터(100)는 요청받은 콘텐츠를 PIT를 참조하여 인터레스트 패킷을 전달받은 페이스로 전달한다.If there is a summary in which the query result is positive in the summary repository 102 (Yes in 250), the router 100 determines whether the summary is its own (250). If the positive summary is its own, the router 100 searches the content storage 101 and delivers the requested content (260). The router 100 refers to the PIT and delivers the requested content to the pace at which the interpreting packet is transmitted.

라우터(100)는 쿼리 결과가 양성인 서머리 자신의 것이 아니라면(250의 No), 양성인 서머리가 콘텐츠를 요청한 페이스(인터레스트 패킷을 전달한 페이스)와 동일한지 확인한다(270). 라우터(100)는 양성인 서머리가 콘텐츠를 요청한 페이스와 동일하다면(270의 Yes) 거짓 양성(false positive)으로 판단한다. 거짓 양성인 경우 라우터(100)는 종래 CCN에서 인터레스트 패킷을 처리하는 과정과 같이 FIB 테이블을 검색하여 인터레스트 패킷을 전달한다(240).If the query result is not positive (No at 250), the router 100 checks whether the positive summary is identical to the pace at which the content was requested (the face at which the intercept packet was transmitted) (270). Router 100 determines false positive if it is the same as the face at which the positive summary requested the content (Yes at 270). In the case of false positive, the router 100 searches for an FIB table and transmits an intercept packet (240) as in the process of processing an intervening packet in the conventional CCN.

라우터(100)는 양성인 서머리가 콘텐츠를 요청한 페이스와 동일하지 않다면(270의 No), 공유 라우터 그룹 중 양성인 서머리를 갖는 라우터 방향의 페이스로 인터레스트 패킷을 전달한다(280).If the positive summary is not the same as the pace at which content was requested (No at 270), the router 100 delivers 280 an interlaced packet at the face of the router with a positive summary of the shared router group.

도 4를 기준으로 라우터(100)가 인터레스트 패킷을 처리하는 과정을 설명한다. 도 4에서 라우터(100)는 페이스 0으로부터 "/abc.com/video/video1.file"이라는 콘텐츠를 요청받았다. (1) 라우터(100)는 먼저 서머리 저장소(102)를 쿼리하고, 쿼리 결과가 음성인 경우, FIB(104)를 검색하여 페이스 2로 인터레스트 패킷을 전달한다. (2) 서머리에 대한 쿼리 결과가 양성인 경우 라우터(100)는 양성인 서머리가 자신의 것인지 확인한다. 양성인 서머리가 자신의 것이라면(도 4에서 X로 표시), 라우터(100)는 콘텐츠 저장소(101)를 검색하여 해당 콘텐츠를 페이스 0으로 전달한다. (3) 양성인 서머리가 페이스 1의 것이라면, 라우터(100)는 인터레스트 패킷을 페이스 1로 전달한다. (4) 양성인 서머리가 인터페스트 패킷을 전달한 페이스 0의 것이라면, 라우터(100)는 FIB(104)를 검색하여 페이스 2로 인터레스트 패킷을 전달한다. The process of the router 100 processing the interleaved packet will be described with reference to FIG. In FIG. 4, the router 100 receives a request for content "/abc.com/video/video1.file" from the face 0. (1) The router 100 first queries the summary repository 102, and if the query result is voice, it searches the FIB 104 and delivers the interlace packet to the face 2. (2) If the query result for the summary is positive, the router 100 confirms that the positive summary is its own. If the positive summary is its own (indicated by X in FIG. 4), the router 100 searches the content repository 101 and delivers the content to face 0. (3) If the positive summary is for the face 1, then the router 100 forwards the interlace packet to face 1. (4) If the positive summary is for the face 0 that transmitted the interfaced packet, the router 100 searches the FIB 104 and forwards the interlaced packet to the face 2.

도 6은 라우터(100)가 데이터 패킷을 처리하는 과정(300)에 대한 예이다. 라우터(100)는 데이터 패킷을 수신한다(310). 라우터(100)는 자신의 콘텐츠 저장소(101)을 검색하기 전에 서머리 저장소(102)를 먼저 쿼리한다. 즉, 라우터(100)는 자신을 포함하는 공유 콘텐츠 그룹에 데이터 패킷에 포함된 콘텐츠를 저장하고 있는 라우터가 있는지 확인하는 것이다.FIG. 6 is an example of a process 300 in which the router 100 processes a data packet. The router 100 receives the data packet (310). The router 100 first queries the summary repository 102 before searching its content repository 101. [ That is, the router 100 checks whether or not there is a router that stores content included in a data packet in a shared content group including itself.

쿼리 검색 결과가 양성인 경우(330의 Yes) 라우터(100)는 콘텐츠를 자신의 콘텐츠 저장소(101)에 저장하지 않고, PIT(103)를 검색하여 해당 콘텐츠를 요청했던 페이스로 데이터 패킷을 전달한다(340). 이 경우 CCN은 동일 콘텐츠 이름으로 식별되는 콘텐츠를 공유 라우터 그룹에 하나만 저장하게 된다.If the query search result is positive (Yes in 330), the router 100 searches the PIT 103 without storing the content in its own content repository 101 and delivers the data packet to the pace at which the content was requested 340). In this case, the CCN stores only the content identified by the same content name in the shared router group.

쿼리 검색 결과가 음성인 경우(330의 No) 라우터(100)는 자신의 콘텐츠 저장소(101)에 데이터 패킷에 포함된 콘텐츠를 저장한다(350). 콘텐츠 저장소(101)에 저장된 콘텐츠가 추가되었으므로, 라우터(100)는 서머리를 업데이트한다(360). 이후 라우터(100)는 변경된 서머리를 포함하는 서머리 패킷을 공유 라우터 그룹에 속하는 다른 라우터에 전달한다(370). 이를 통해 공유 라우터 그룹은 각 라우터가 보유하는 콘텐츠에 대한 정보를 공유하게 된다.If the query result is voice (No in step 330), the router 100 stores the content included in the data packet in its content storage 101 (350). Since the content stored in the content repository 101 has been added, the router 100 updates (360) the summary. Thereafter, the router 100 forwards the summary packet including the changed summary to another router belonging to the shared router group (370). This allows the shared router group to share information about the content held by each router.

라우터(100)는 콘텐츠 저장소(101)에 저장되는 콘텐츠가 변경되는 경우 서머리를 업데이트 해야 한다. 도 6에서는 새로운 콘텐츠가 추가된 경우를 설명하였다. 반대로 라우터(100)는 캐시(cache) 교체 정책에 따라 일정한 시간 동안 요청이 없는 콘텐츠를 삭제할 수도 있다. 이 경우에도 라우터(100)는 콘텐츠 저장소(101)에 저장된 콘텐츠에 대핸 서머리를 다시 업데이트하고, 서머리 패킷을 공유 라우터 그룹에 속하는 다른 라우터에 전달해야 한다.The router 100 must update the summary information when the content stored in the content repository 101 is changed. In Fig. 6, a case where new content is added has been described. Conversely, the router 100 may delete content that is not requested for a certain period of time in accordance with a cache replacement policy. In this case as well, the router 100 must update the summary for the content stored in the content repository 101 and deliver the summary packet to another router belonging to the shared router group.

라우터(100)는 콘텐츠 저장소(101)에 저장된 내용이 변경된 경우에 서머리를 다시 생성할 수 있다. 나아가 라우터(100)는 주기적으로 콘텐츠 저장소(101)에 저장된 콘텐츠의 이름을 기준으로 서머리를 업데이트할 수도 있다. 라우터(100)는 서머리가 변경된 경우 또는 일정한 주기에 따라 서머리 패킷을 전달할 수도 있다.The router 100 can regenerate summary information when the content stored in the content repository 101 is changed. Furthermore, the router 100 may periodically update the summary based on the name of the content stored in the content repository 101. [ The router 100 may forward the summary packet when the summary changes or after a predetermined period.

도 7은 라우터(100)가 전달하는 서머리 패킷의 구조를 도시한 예이다. 서머리 패킷은 라우터(100)가 생성한 서머리를 다른 라우터에 전달하기 위한 것이다. 서머리 패킷은 다양한 포맷을 가질 수 있지만 기본적으로 콘텐츠 이름을 원소로 갖는 집합에 대한 블롬 필터(서머리)를 포함해야 한다. 나아가 도 7과 같이 서머리 패킷은 블롬 필터의 길이(Length)에 대한 정보를 포함할 수 있다. 7 shows an example of the structure of a summary packet transmitted by the router 100. In FIG. The summary packet is for delivering the summary generated by the router 100 to another router. A summary packet can have a variety of formats, but basically it must include a bloom filter (summaries) for the set with the content name as an element. Further, as shown in FIG. 7, the summary packet may include information on the length of the BLOF filter.

라우터(100)가 다른 라우터로부터 서머리 패킷을 수신하는 경우, 라우터(100)는 서머리 저장소(102)에 해당 서머리를 저장한다. 이때 라우터(100)는 서머리와 함께 서머리 패킷을 전달한 페이스에 대한 정보를 기록할 수 있다. 전술한 바와 같이 라우터(100)는 인터레스트 패킷을 수신하고, 요청된 콘텐츠 이름을 기준으로 쿼리를 수행한다. 라우터(110)는 서머리에 대한 쿼리 결과가 양성인 페이스로 인터레스트 패킷을 전달한다. When the router 100 receives a summary packet from another router, the router 100 stores the summary in the summary repository 102. At this time, the router 100 can record information about the face at which the summary packet is transmitted together with the summary. As described above, the router 100 receives the interlace packet and performs a query based on the requested content name. The router 110 delivers the interleaved packet to the face at which the query result for the summary is positive.

공유 라우터 그룹은 복수의 라우터를 포함한다. 공유 라우터 그룹에 포함되는 라우터는 기본적으로 서로 인접한 라우터들일 수 있다. 전체 CCN에서 공유 라우터 그룹을 구분하는 기준은 다양할 수 있다. The shared router group includes a plurality of routers. The routers included in the shared router group may be basically adjacent to each other. The criteria for distinguishing shared router groups across the CCN can vary.

도 8은 CCN에서 콘텐츠를 공유하는 영역에 대한 예이다. 도 8은 공유 라우터 그룹을 일정한 영역으로 구분한 예이다. 도 8에서 각 영역은 점선으로 표시하였다. 도 8(a)는 네트워크에 존재하는 복수의 라우터를 3개의 공유 라우터 그룹(A1, A2 및 A3)으로 구분한 예이다. 도 8(a)에서 A1, A2 및 A3 영역은 서로 중복되지 않는다. 도 8(b)는 네트워크에 존재하는 복수의 라우터를 4개의 공유 라우터 그룹(A1, A2, A3 및 A4)으로 구분한 예이다. 도 8(b)에서 서로 다른 공유 라우터 그룹은 라우터를 공유한다. 예컨대, 공유 라우터 그룹 A1과 A2는 라우터 R3를 공유하고, 공유 라우터 그룹 A2와 A4는 라우터 R6를 공유한다. 네트워크의 토폴로지, 서비스의 종류 등을 고려하여 공유 라우터 그룹을 설정할 수 있다.8 is an example of a region in which content is shared in the CCN. 8 shows an example of dividing a shared router group into a certain area. In FIG. 8, each area is indicated by a dotted line. 8A is an example of dividing a plurality of routers existing in a network into three shared router groups A1, A2 and A3. In Fig. 8 (a), regions A1, A2, and A3 do not overlap with each other. FIG. 8 (b) shows an example of dividing a plurality of routers existing in a network into four shared router groups A1, A2, A3 and A4. 8 (b), different shared router groups share a router. For example, shared router groups A1 and A2 share router R3, and shared router groups A2 and A4 share router R6. A shared router group can be set in consideration of the topology of the network and the type of the service.

도 9는 CCN에서 콘텐츠를 공유하는 영역에 대한 다른 예이다. 도 9는 연결된 라우터 사이의 거리를 기준으로 공유 라우터 그룹을 구분한 예이다. 도 9(a)는 라우터 R1을 기준으로 공유 라우터 그룹을 구분한 예이다. 도 9(a)는 라우터 R1을 기준으로 홉 거리가 1인 라우터를 공유 라우터 그룹 A1으로 구분한 예이다. 공유 라우터 그룹 A1은 라우터 R1, R2 및 R3를 포함한다.FIG. 9 is another example of a region in which content is shared in the CCN. FIG. 9 is an example of dividing a shared router group based on the distance between connected routers. FIG. 9 (a) is an example of sharing router groups based on router R1. FIG. 9A shows an example in which a router having a hop distance of 1 based on the router R1 is divided into a shared router group A1. Shared router group A1 includes routers R1, R2 and R3.

도 9(b)는 라우터 R1을 기준으로 공유 라우터 그룹을 구분한 다른 예이다. 도 9(b)는 라우터 R1을 기준으로 홉 거리가 2인 라우터를 공유 라우터 그룹 A2로 구분한 예이다. 공유 라우터 그룹 A2는 라우터 R1, R2, R3, R4, R5 및 R6를 포함한다. 라우터 R1 및 R3는 라우터 R1을 기준으로 1홉 거리에 있다. 라우터 R4, R5 및 R6는 라우터 R1을 기준으로 2홉 거리에 있다.FIG. 9 (b) shows another example in which a shared router group is divided based on the router R1. FIG. 9 (b) shows an example in which a router having a hops distance of 2 based on the router R1 is divided into a shared router group A2. Shared router group A2 includes routers R1, R2, R3, R4, R5 and R6. Routers R1 and R3 are one hop away from router R1. Routers R4, R5 and R6 are two hops away from router R1.

도 9(c)는 라우터 R5를 기준으로 공유 라우터 그룹을 구분한 예이다. 도 9(c)는 라우터 R5을 기준으로 홉 거리가 1인 라우터를 공유 라우터 그룹 A3으로 구분한 예이다. 공유 라우터 그룹 A3은 라우터 R2, R3, R5 및 R7을 포함한다. 도 9(d)는 라우터 R5을 기준으로 공유 라우터 그룹을 구분한 다른 예이다. 도 9(d)는 라우터 R5을 기준으로 홉 거리가 2인 라우터를 공유 라우터 그룹 A4로 구분한 예이다. 공유 라우터 그룹 A4는 라우터 R1, R2, R3, R4, R5, R6 및 R7을 포함한다. 라우터 R2, R3 및 R7은 라우터 R5를 기준으로 1홉 거리에 있다. 라우터 R1, R4 및 R6은 라우터 R5를 기준으로 2홉 거리에 있다.FIG. 9 (c) shows an example in which a shared router group is divided based on the router R5. FIG. 9 (c) shows an example in which a router having a hop distance of 1 based on the router R5 is divided into a shared router group A3. Shared router group A3 includes routers R2, R3, R5 and R7. FIG. 9D is another example of dividing a shared router group based on the router R5. FIG. 9 (d) shows an example in which a router having a hop distance of 2 based on the router R5 is divided into a shared router group A4. Shared router group A4 includes routers R1, R2, R3, R4, R5, R6 and R7. Routers R2, R3 and R7 are one hop away from router R5. Routers R1, R4 and R6 are two hops away from router R5.

공유 라우터 그룹을 설정하는 기준은 도 9와 달리 다른 다양한 값 내지 기준이 사용될 수 있다.A variety of values or criteria different from those in FIG. 9 may be used as criteria for setting the shared router group.

도 8 이나 9와 같이 공유 라우터 그룹을 설정하는 범위는 사전에 설정될 수도 있다. 설정된 공유 범위 안에서는 콘텐츠가 중복으로 저장되지 않지만, 이 공유 범위를 벗어나면 콘텐츠가 중복으로 저장될 수 있다.The range for setting the shared router group as shown in FIG. 8 or 9 may be set in advance. Content is not stored as duplicates within the set shared scope, but content can be stored as duplicates if it is out of the shared scope.

도 10은 콘텐츠를 공유하는 CCN의 동작에 대한 시나리오의 예이다. 도 10에서 1홉 거리에 있는 라우터를 공유 라우터 그룹으로 설정한다고 가정한다. 또한 클라이언트 장치가 요청하는 콘텐츠는 모두 콘텐츠 제공장치 P1이 제공하는 동일한 콘텐츠라고 가정한다.Figure 10 is an example of a scenario for the operation of a CCN sharing content. In FIG. 10, it is assumed that a router at a one-hop distance is set as a shared router group. It is also assumed that the content requested by the client apparatus is all the same content provided by the content providing apparatus P1.

도 10(a)는 클라이언트 장치 C1이 요청한 콘텐츠를 전달받는 과정에 대한 예이다. 클라이언트 장치 C1은 인터레스트 패킷을 라우터 R4에 전달한다. 이후 인터레스트 패킷은 R2 및 R1을 거쳐 콘텐츠 제공장치 P1에 전달된다. 콘텐츠 제공장치 P1는 요청 받은 콘텐츠를 포함하는 데이터 패킷을 라우터 R1에 전달한다. 이후 데이터 패킷은 인터레스트 패킷이 전달된 방향의 역순으로 클라이언트 장치 C1에 전달된다. 라우터 R1은 공유 라우터 그룹(R1, R2 및 R3)이 콘텐츠를 저장하지 않고 있으므로, 콘텐츠 제공장치 P1이 전달한 콘텐츠를 저장한다. 라우터 R2는 공유 라우터 그룹(R1, R2, R3, R4 및 R5) 중 R1이 콘텐츠를 저장하고 있으므로 콘텐츠를 저장하지 않고, 데이터 패킷을 라우터 R4에 전달한다. FIG. 10A is an example of a process of receiving a content requested by the client device C1. The client device C1 delivers the interleaved packet to the router R4. Thereafter, the interlace packet is transmitted to the content providing device P1 via R2 and R1. The content providing apparatus P1 transmits a data packet including the requested content to the router R1. Thereafter, the data packets are transmitted to the client device C1 in the reverse order of the direction in which the interpreting packets are delivered. The router R1 stores the content delivered by the content providing apparatus P1 because the shared router groups R1, R2 and R3 do not store the content. The router R2 transfers the data packet to the router R4 without storing the content because R1 of the shared router group R1, R2, R3, R4, and R5 stores the content.

경우에 따라서는 라우터 R1이 전달하는 서머리 패킷이 데이터 패킷보다 늦게 도착한다면, 라우터 R2가 콘텐츠를 저장할 수도 있다. 다만 설명의 편의를 위해 특정 라우터가 콘텐츠를 저장하면 먼저 서머리 패킷을 전달한다고 가정한다.In some cases, if the summary packet delivered by router R1 arrives later than the data packet, router R2 may store the content. However, for convenience of explanation, it is assumed that a specific router delivers a summary packet first when storing a content.

라우터 R4는 공유 라우터 그룹(R2 및 R3)이 콘텐츠를 저장하지 않고 있으므로 콘텐츠를 저장하고, 데이터 패킷을 클라이언트 장치 C1에 전달한다. The router R4 stores the content and transfers the data packet to the client device C1 because the shared router groups R2 and R3 do not store the content.

나아가 도 6에서 설명한 데이터 패킷 처리 과정과 관계 없이 클라이언트 장치에 인접한 라우터는 모두 콘텐츠를 저장할 수도 있다. 클라이언트 장치에 인접하여 콘텐츠 제공에 유리하기 때문이다. Furthermore, irrespective of the data packet processing process described in FIG. 6, all the routers adjacent to the client apparatus may store the contents. It is advantageous to provide contents adjacent to the client apparatus.

도 10(b)는 일정한 시간 동안 클라이언트 장치 C1만이 동일한 콘텐츠를 요청한 경우이다. 클라이언트 장치 C1으로부터 인터레스트 패킷을 수신한 라우터 R4는 자신이 저장하고 있는 콘텐츠를 계속 클라이언트 장치 C1에 전달한다. 캐시 교체 정책에 따라 라우터 R1에 저장된 콘텐츠는 삭제될 수 있다. 이 경우 라우터 R1은 서머리 저장소에 대한 서머리를 다시 생성하고, 서머리 패킷을 공유 라우터 그룹에 전송해야 한다.10B shows a case where only the client apparatus C1 requests the same content for a certain period of time. The router R4 that has received the interpreting packet from the client apparatus C1 continues to deliver the content stored therein to the client apparatus C1. Depending on the cache replacement policy, the content stored in the router R1 may be deleted. In this case, Router R1 must recreate the summary for the summary repository and send the summary packet to the shared router group.

도 10(c)는 클라이언트 장치 C2가 요청한 콘텐츠를 전달받는 과정에 대한 예이다. 라우터 R5는 클라이언트 장치 C2로부터 인터레스트 패킷을 수신하면 공유 라우터 그룹(R2, R3 및 R5)에 요청받은 콘텐츠가 존재하는지 판단한다. 공유 라우터 그룹(R2, R3 및 R5)에 콘텐츠가 존재하지 않으므로 라우터 R5는 FIB 테이블을 검색하여 인터레스트 패킷을 라우터 R2에 전달한다. 라우터 R2는 인터레스트 패킷을 수신하고, 공유 라우터 그룹(R1, R3, R4, R5 및 R6)에 콘텐츠가 존재하는지 확인한다. 라우터 R4에 현재 콘텐츠가 존재하므로 라우터 R2는 R1이 아닌 R4에 인터레스트 패킷을 전달한다. 라우터 R4는 자신이 보유한 콘텐츠를 포함하는 데이터 패킷을 라우터 R2에 전달한다. 이후 데이터 패킷은 인터레스트 패킷이 전달된 역순으로 클라이언트 장치 C2에 전달된다. 한편 라우터 R5는 공유 라우터 그룹(R2, R3 및 R5)이 콘텐츠를 저장하고 있지 않으므로 콘텐츠를 저장한다.FIG. 10 (c) is an example of a process in which the client device C2 receives the requested content. When the router R5 receives an inter- est packet from the client apparatus C2, it judges whether the requested contents exist in the shared router groups R2, R3 and R5. Since the contents do not exist in the shared router groups (R2, R3, and R5), the router R5 searches the FIB table and forwards the interlaced packet to the router R2. The router R2 receives the interleaved packet and confirms that the contents exist in the shared router groups R1, R3, R4, R5 and R6. Since the current contents are present in the router R4, the router R2 transfers the intra-R4 packets to the R4, not the R1. The router R4 transmits a data packet including the content held therein to the router R2. The data packets are then transmitted to the client device C2 in the reverse order in which the interlaced packets are delivered. On the other hand, the router R5 stores the contents since the shared router groups R2, R3 and R5 do not store the contents.

도 10(d)는 클라이언트 장치 C3가 요청한 콘텐츠를 전달받는 과정에 대한 예이다. 라우터 R6는 클라이언트 장치 C3로부터 인터레스트 패킷을 수신하면 공유 라우터 그룹(R2 및 R3)에 요청받은 콘텐츠가 존재하는지 판단한다. 공유 라우터 그룹(R2 및 R3)에 콘텐츠가 존재하지 않으므로 라우터 R6는 FIB 테이블을 검색하여 인터레스트 패킷을 라우터 R3에 전달한다. 라우터 R3는 인터레스트 패킷을 수신하고, 공유 라우터 그룹(R1, R2, R3, R4, R5 및 R6)에 콘텐츠가 존재하는지 확인한다. 이때 라우터 R4는 캐시 교체 정책에 따라 콘텐츠를 삭제한 상태라고 가정한다( 만약 라우터 R4에도 콘텐츠가 존재한다면 라우터 R3는 R4 또는 R5 중 어느 하나에 인터레스트 패킷을 전달할 수 있다). 라우터 R5에 현재 콘텐츠가 존재하므로 라우터 R3는 R1이 아닌 R5에 인터레스트 패킷을 전달한다. 라우터 R5는 자신이 보유한 콘텐츠를 포함하는 데이터 패킷을 라우터 R3에 전달한다. 이후 데이터 패킷은 인터레스트 패킷이 전달된 역순으로 클라이언트 장치 C3에 전달된다. 한편 라우터 R6는 공유 라우터 그룹(R2 및 R3)이 콘텐츠를 저장하고 있지 않으므로 콘텐츠를 저장한다.FIG. 10D shows an example of a process of receiving a content requested by the client apparatus C3. When the router R6 receives the inter- est packet from the client apparatus C3, it determines whether the requested content exists in the shared router groups R2 and R3. Since the contents do not exist in the shared router groups (R2 and R3), the router R6 searches the FIB table and transfers the interleaved packets to the router R3. The router R3 receives the interlace packet and confirms that the contents exist in the shared router group R1, R2, R3, R4, R5 and R6. At this time, it is assumed that the content of the router R4 is deleted according to the cache replacement policy (if the content exists also in the router R4, the router R3 can transmit the transmitted packet to either R4 or R5). Because the current content is present in the router R5, the router R3 delivers the interpreter packet to R5 instead of R1. The router R5 delivers to the router R3 a data packet containing the content held by the router R5. Thereafter, the data packets are transmitted to the client apparatus C3 in the reverse order in which the interpreting packets are transmitted. Meanwhile, the router R6 stores the contents since the shared router groups R2 and R3 do not store the contents.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The present embodiment and drawings attached hereto are only a part of the technical idea included in the above-described technology, and it is easy for a person skilled in the art to easily understand the technical idea included in the description of the above- It will be appreciated that variations that may be deduced and specific embodiments are included within the scope of the foregoing description.

50 : 라우터
51 : 콘텐츠 저장소
52 : PIT
53 : FIB
100 : 라우터
101 : 콘텐츠 저장소
102 : 서머리 저장소
103 : PIT
104 : FIB
50: Router
51: Content Store
52: PIT
53: FIB
100: Router
101: Content Store
102: The story store
103: PIT
104: FIB

Claims (12)

콘텐츠 중심 네트워크에서 복수의 라우터가 각각 저장하는 콘텐츠에 대한 식별 정보를 공유하는 단계;
상기 복수의 라우터 중 제1 라우터가 콘텐츠 요청 메시지를 수신하면 상기 식별 정보를 이용하여 요청을 받은 제1 콘텐츠가 상기 복수의 라우터 중 어느 하나에 존재하는지 판단하는 단계;
상기 제1 라우터가 상기 제1 콘텐츠를 자신이 보유한 것으로 판단하면 자신의 콘텐츠 저장소에 있는 콘텐츠를 상기 콘텐츠 요청 메시지를 전달한 페이스로 전달하는 단계; 및
상기 제1 라우터가 상기 제1 콘텐츠를 상기 복수의 라우터 중 상기 제1 라우터를 제외한 어느 하나의 이웃 라우터가 보유한 것으로 판단하면 해당 라우터 방향으로 상기 콘텐츠 요청 메시지를 전달하는 단계를 포함하되,
상기 복수의 라우터는 상기 복수의 라우터 중 어느 하나의 라우터를 기준으로 상기 어느 하나의 라우터에서 기준 홉 거리에 있는 라우터들 중 적어도 2개 이상의 라우터들인 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
Sharing identification information on a content stored in each of a plurality of routers in a content-oriented network;
When the first router of the plurality of routers receives the content request message, determining whether any one of the plurality of routers has the first content requested by using the identification information;
If the first router determines that the first content is owned by the first router, delivering the content in its content repository to the pace at which the content request message is delivered; And
When the first router determines that the first content is held by one of the plurality of routers except for the first router, transmitting the content request message in the direction of the corresponding router,
Wherein the plurality of routers share content in a content-centric network, wherein the plurality of routers are at least two routers of the routers at a reference hop distance from any one of the plurality of routers.
제1항에 있어서,
상기 식별 정보는 상기 복수의 라우터가 저장하는 콘텐츠의 이름 또는 식별자를 원소로 갖는 블롬 필터 형태의 자료 구조인 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
Wherein the identification information is a data structure in the form of a blind filter having elements or names of contents stored by the plurality of routers as elements.
제1항에 있어서,
상기 복수의 라우터 중 제2 라우터가 데이터 패킷을 수신하면 상기 데이터 패킷에 포함된 제2 콘텐츠가 상기 복수의 라우터에 존재하지 않는 경우에 상기 제2 라우터에 상기 제2 콘텐츠를 저장하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
Wherein when a second one of the plurality of routers receives a data packet, if a second content contained in the data packet is not present in the plurality of routers, the second router stores the second content in a content- How to share your content.
제1항에 있어서,
상기 복수의 라우터 중 제2 라우터가 상기 복수의 라우터에 존재하지 않는 콘텐츠가 포함된 데이터 패킷을 수신하는 경우에 자신의 식별 정보를 업데이트하고, 상기 업데이트한 식별 정보를 상기 복수의 라우터 중 다른 라우터에 전달하는 단계를 더 포함하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
When the second router of the plurality of routers receives a data packet including a content that does not exist in the plurality of routers, updates its identification information, and transmits the updated identification information to another router among the plurality of routers And delivering content to the content-centric network.
제1항에 있어서,
상기 복수의 라우터 중 어느 하나는 각각 식별 정보가 업데이트된 경우 또는 주기적으로 자신이 보유한 식별 정보를 다른 라우터에 전달하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
Wherein any one of the plurality of routers shares content in a content-oriented network, wherein each of the plurality of routers communicates identification information held by itself to another router when the identification information is updated or periodically.
제1항에 있어서,
상기 판단하는 단계에서
상기 제1 라우터는 상기 제1 콘텐츠의 이름 또는 식별자를 기준으로 블롬 필터 형태의 상기 식별 정보에 상기 콘텐츠를 저장하는 경로에 대한 페이스가 있는지 확인하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
In the determining step
Wherein the first router checks whether there is a face for a path storing the content in the identification information in the form of a blind filter based on the name or identifier of the first content.
제1항에 있어서,
상기 제1 라우터는 상기 제1 콘텐츠의 이름 또는 식별자를 기준으로 블롬 필터 형태의 상기 식별 정보에서 상기 콘텐츠를 저장하는 라우터를 향하는 페이스를 확인하고,
상기 제1 라우터는 상기 페이스가 상기 콘텐츠 요청 메시지를 전달한 페이스와 동일한 경우 포워딩 인포메이션 베이스(FIB) 테이블 검색 결과에 따라 상기 콘텐츠 요청 메시지를 전달하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
The first router checks the face toward the router storing the content in the identification information in the form of a blind filter based on the name or identifier of the first content,
Wherein the first router shares content in a content-centric network that delivers the content request message according to a forwarding information base (FIB) table search result if the face is the same as the face at which the content request message was delivered.
제1항에 있어서,
상기 복수의 라우터 중 적어도 하나의 라우터와 나머지 라우터는 서로 다른 그룹에 속하고, 서로 동일한 그룹에 속한 라우터는 각각 콘텐츠에 대한 식별 정보를 공유하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method according to claim 1,
Wherein at least one router among the plurality of routers and the remaining routers belong to different groups and routers belonging to the same group share content identification information for each content.
콘텐츠 중심 네트워크에서 어느 하나의 라우터가 데이터 패킷을 수신하면 복수의 라우터가 저장하는 콘텐츠에 대한 식별 정보를 이용하여 상기 데이터 패킷에 포함된 콘텐츠가 상기 복수의 라우터에 존재하는지 확인하는 단계;
상기 복수의 라우터 중 제1 라우터는 상기 복수의 라우터에 상기 콘텐츠가 존재하지 않는 경우 상기 콘텐츠를 자신의 콘텐츠 저장소에 저장하는 단계; 및
상기 제1 라우터는 상기 복수의 라우터 중 어느 하나가 상기 콘텐츠를 저장하고 있다면 펜딩 인터레스트 테이블(PIT)을 기준으로 상기 데이터 패킷을 상기 콘텐츠를 요청한 페이스로 전달하는 단계를 포함하되,
상기 복수의 라우터는 상기 복수의 라우터 중 어느 하나의 라우터를 기준으로 상기 어느 하나의 라우터에서 기준 홉 거리에 있는 라우터들 중 적어도 2개 이상의 라우터들인 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
The method comprising: confirming whether a content included in the data packet exists in the plurality of routers by using identification information of contents stored in a plurality of routers when one of the routers receives the data packet in the content-centered network;
Wherein the first router of the plurality of routers stores the content in its own content repository if the content does not exist in the plurality of routers; And
Wherein the first router includes forwarding the data packet at a requested pace based on a pending interlace table (PIT) if any of the plurality of routers stores the content,
Wherein the plurality of routers share content in a content-centric network, wherein the plurality of routers are at least two routers of the routers at a reference hop distance from any one of the plurality of routers.
제9항에 있어서,
상기 식별 정보는 상기 복수의 라우터가 저장하는 콘텐츠의 이름 또는 식별자를 원소로 갖는 블롬 필터 형태의 자료 구조인 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
10. The method of claim 9,
Wherein the identification information is a data structure in the form of a blind filter having elements or names of contents stored by the plurality of routers as elements.
제9항에 있어서,
상기 제1 라우터는 상기 콘텐츠의 이름 또는 식별자를 기준으로 블롬 필터 형태의 상기 식별 정보에 상기 콘텐츠가 존재하는지 확인하는 콘텐츠 중심 네트워크에서 콘텐츠를 공유하는 방법.
10. The method of claim 9,
Wherein the first router identifies whether the content is present in the identification information in the form of a Bloom filter based on the name or identifier of the content.
콘텐츠를 저장하는 콘텐츠 저장 장치;
라우터와 상기 라우터에서 기준 홉 거리에 있는 이웃 라우터를 포함하는 복수의 라우터가 저장하는 콘텐츠의 이름 또는 식별자를 원소로 갖는 블롬 필터 형태의 자료 구조인 정보를 저장하는 식별정보 저장 장치;
인터레스트 패킷 또는 데이터 패킷을 수신하는 인터페이스 장치; 및
상기 인터레스트 패킷에 포함된 콘텐츠의 이름과 상기 정보를 비교하여 상기 인터레스트 패킷이 요청한 콘텐츠를 자신이 보유한 것으로 판단하면 자신의 콘텐츠 저장소에 있는 콘텐츠를 콘텐츠 요청 메시지를 전달한 페이스로 전달하고, 상기 인터레스트 패킷이 요청한 콘텐츠를 상기 이웃 라우터 중 어느 하나의 라우터가 보유한 것으로 판단하면 상기 어느 하나의 라우터 방향으로 상기 콘텐츠 요청 메시지를 전달하고, 상기 데이터 패킷을 수신하면 상기 복수의 라우터에 상기 데이터 패킷에 포함된 콘텐츠가 존재하지 않는 경우 상기 데이터 패킷에 포함된 콘텐츠를 자신의 콘텐츠 저장소에 저장하도록 제어하는 제어 장치를 포함하는 콘텐츠를 공유하는 콘텐츠 중심 네트워크의 라우터.
A content storage device for storing content;
An identification information storage device for storing information, which is a data structure in the form of a bluff filter, having a router and a name or an identifier of a content stored by a plurality of routers including a neighboring router at a reference hop distance from the router;
An interface device for receiving an interlaced packet or a data packet; And
Compares the name of the content included in the interleaved packet with the information, and if the interleaved packet is judged to have the content requested by the interleaved packet, delivers the content in its content store to the face at which the content request message is transmitted, If the content requested by the rest packet is judged to be held by any one of the neighboring routers, the contents request message is transmitted to the one of the routers, and when receiving the data packet, And a control device for controlling the content stored in the data packet to be stored in its own content storage when the content is not present.
KR1020160082412A 2016-06-30 2016-06-30 Content sharing method in content centric network and router at content centric network sharing content KR101773716B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160082412A KR101773716B1 (en) 2016-06-30 2016-06-30 Content sharing method in content centric network and router at content centric network sharing content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160082412A KR101773716B1 (en) 2016-06-30 2016-06-30 Content sharing method in content centric network and router at content centric network sharing content

Publications (1)

Publication Number Publication Date
KR101773716B1 true KR101773716B1 (en) 2017-09-12

Family

ID=59926460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160082412A KR101773716B1 (en) 2016-06-30 2016-06-30 Content sharing method in content centric network and router at content centric network sharing content

Country Status (1)

Country Link
KR (1) KR101773716B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200053863A (en) * 2018-11-09 2020-05-19 한국과학기술원 Method and system for probabilistic caching content under limited storage
KR20200078913A (en) * 2018-12-24 2020-07-02 서울여자대학교 산학협력단 System and method for transceiving contents based on ccn network
JP2021526268A (en) * 2018-06-07 2021-09-30 レベル スリー コミュニケーションズ,エルエルシー Load balancing across superclusters

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101582050B1 (en) * 2014-10-24 2015-12-31 이화여자대학교 산학협력단 Apparatus and method for searching name using bloom filter pre-searching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101582050B1 (en) * 2014-10-24 2015-12-31 이화여자대학교 산학협력단 Apparatus and method for searching name using bloom filter pre-searching

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021526268A (en) * 2018-06-07 2021-09-30 レベル スリー コミュニケーションズ,エルエルシー Load balancing across superclusters
KR20200053863A (en) * 2018-11-09 2020-05-19 한국과학기술원 Method and system for probabilistic caching content under limited storage
KR102225745B1 (en) 2018-11-09 2021-03-10 한국과학기술원 Method and system for probabilistic caching content under limited storage
KR20200078913A (en) * 2018-12-24 2020-07-02 서울여자대학교 산학협력단 System and method for transceiving contents based on ccn network
KR102137895B1 (en) * 2018-12-24 2020-07-24 서울여자대학교 산학협력단 System and method for transceiving contents based on ccn network

Similar Documents

Publication Publication Date Title
KR101607879B1 (en) Adaptive multi-interface use for content networking
JP5624331B2 (en) Computer implementation method
US9515920B2 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
JP6225249B2 (en) Routing and forwarding method, apparatus and system
EP2495940B1 (en) Method and computer program for collaboration between an internet service provider (ISP) and a content distribution system as well as among plural ISP
US20130110987A1 (en) Apparatus and method for providing content location information using ospf opaque lsa
JP2017069950A (en) Information centric network by small multi-pass or single-pass transfer state
KR20160076445A (en) System and method for efficient name-based content routing using link-state information in information-centric networks
US20170339228A1 (en) Decentralized, hierarchical, and overlay-driven mobility support architecture for information-centric networks
KR20170038148A (en) System and method for stateless information-centric networking
US9929954B2 (en) Hash-based overlay routing architecture for information centric networks
JP2015204110A (en) System and method for simple service detection in content-centric network
JP2013502860A (en) Name address mapping system, data transmission method, and name address mapping maintenance method
US20130166695A1 (en) System for providing information-centric networking services based on p2p and method thereof
KR101773716B1 (en) Content sharing method in content centric network and router at content centric network sharing content
JP2015197919A (en) System and method for dynamic name configuration in content-centric network
US20150098468A1 (en) Method of controlling routing of identifier/locator mapping service
KR102437289B1 (en) Method and Apparatus for Defining Path of a Packet in Information-Centric Networking for Data Producer Mobility
JP6894391B2 (en) Content delivery network client devices and programs
JP4432626B2 (en) Multicast tree construction system and method, network node device, and server device
KR20130138670A (en) Method of searching contents by node in a intra domain and a inter domain of a contents centric network and the node
Hong et al. Dynamic group support in LANMAR routing ad hoc networks
KR102397923B1 (en) Apparatus for managing content name in information-centric networking and method for the same
Li et al. ANBR: An aggregatable name based routing for information-centric network
Jaber et al. Scholars Journal of Engineering and Technology

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
R401 Registration of restoration