KR20140115155A - Method and node performing routing using bloom filter in a content centric network - Google Patents

Method and node performing routing using bloom filter in a content centric network Download PDF

Info

Publication number
KR20140115155A
KR20140115155A KR1020130029889A KR20130029889A KR20140115155A KR 20140115155 A KR20140115155 A KR 20140115155A KR 1020130029889 A KR1020130029889 A KR 1020130029889A KR 20130029889 A KR20130029889 A KR 20130029889A KR 20140115155 A KR20140115155 A KR 20140115155A
Authority
KR
South Korea
Prior art keywords
bloom filter
content
node
information
bloom
Prior art date
Application number
KR1020130029889A
Other languages
Korean (ko)
Other versions
KR102110524B1 (en
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 KR1020130029889A priority Critical patent/KR102110524B1/en
Publication of KR20140115155A publication Critical patent/KR20140115155A/en
Application granted granted Critical
Publication of KR102110524B1 publication Critical patent/KR102110524B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • H04L45/7459Address table lookup; Address filtering using hashing using Bloom filters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects

Abstract

Provided are a method and a node for performing routing by using a bloom filter in a content centric network, which is configured to receive an advertisement message including the bloom filter to be created by reflecting the name of at least one content containing the node, and to perform routing by using the path information to be grasped by using the information on the bloom filter.

Description

컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법{METHOD AND NODE PERFORMING ROUTING USING BLOOM FILTER IN A CONTENT CENTRIC NETWORK}METHOD AND NODE PERFORMING ROUTING USING BLOOM FILTER IN A CONTENT CENTRIC NETWORK BACKGROUND OF THE INVENTION 1. Field of the Invention [0001]

아래의 실시예들은 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법에 관한 것이다.The following embodiments relate to a node and method for performing routing using a Bloom filter in a content-oriented network.

컨텐츠 중심 네트워크(Contents Centric Network; 이하, CCN)에서 패킷은 컨텐츠를 요청하는 컨텐츠 요청 패킷(즉, 인터레스트(interest) 패킷)과 데이터 응답 패킷으로 구분될 수 있다. 컨텐츠 요청 패킷은 요청하는 컨텐츠의 이름을 포함하고 있으며, 데이터 응답 패킷은 요청 받은 컨텐츠와 컨텐츠 이름 등을 포함할 수 있다. In a content-centric network (CCN), a packet can be divided into a content request packet (i.e., an interest packet) requesting content and a data response packet. The content request packet includes the name of the content to be requested, and the data response packet may include the requested content and the content name.

네트워킹 장비는 컨텐츠 요청 패킷을 수신한 경우, 헤더에 있는 컨텐츠 이름으로 자신의 스토리지를 검색할 수 있다. 해당 컨텐츠를 갖고 있을 경우, 네트워킹 장비는 해당 컨텐츠를 요청자에게 전달할 수 있다. 따라서, 컨텐츠의 원래(original) 소유자에게까지 가서 컨텐츠를 받아와야 하는 인터넷 프로토콜(Internet Protocol; 이하 IP) 기반 인터넷에 비해, 중간의 어느 노드라도 자신의 스토리지에 해당 컨텐츠가 있을 경우 응답(reply)할 수 있다. 그러므로, 평균 전송 경로(path)의 길이가 짧아져 전체적인 네트워크 사용량이 줄어들 수 있다.When a networking device receives a content request packet, it can retrieve its storage by the content name in the header. If the content is present, the networking device can deliver the content to the requester. Therefore, compared to the Internet Protocol (IP) -based Internet, in which content must be received by the original owner of the content, any node in the middle of the Internet will reply when the corresponding content exists in its storage . Therefore, the length of the average transmission path (path) is shortened and the overall network usage can be reduced.

일 실시예에 따르면, 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법은 블룸 필터- 상기 블룸 필터는 노드가 포함하는 적어도 하나의 컨텐츠의 이름을 반영하여 생성된 것임-를 포함하는 광고 메시지를 수신하는 단계; 상기 블룸 필터의 정보에 기초하여 경로 정보를 파악하는 단계; 및 상기 경로 정보를 이용하여 라우팅(routing)을 수행하는 단계를 포함할 수 있다. According to one embodiment, a method of performing routing using a Bloom filter in a content-centric network includes: generating a Bloom filter, the Bloom filter being generated by reflecting a name of at least one content included in the node, ; Determining path information based on the information of the Bloom filter; And performing routing using the path information.

해당 노드가 포함하는 경로 정보에 기초하여 블룸 필터 요청 메시지를 생성하는 단계; 및 상기 블룸 필터 요청 메시지를 전달하는 단계를 더 포함할 수 있다. Generating a Bloom filter request message based on path information included in the node; And transmitting the Bloom filter request message.

상기 경로 정보는 상기 해당 노드로부터의 홉 카운트(hop count)에 기반할 수 있다. The path information may be based on a hop count from the corresponding node.

상기 블룸 필터 요청 메시지에 응답하는 블룸 필터 응답 메시지를 수신하는 단계를 더 포함하고, 상기 해당 노드가 상기 블룸 필터 요청 메시지를 생성한 노드인 경우, 상기 블룸 필터 응답 메시지에 포함된 블룸 필터의 정보를 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 등록하는 단계를 더 포함할 수 있다. Receiving a bloom filter response message responsive to the bloom filter request message, and when the corresponding node is a node that generated the bloom filter request message, receiving information of a bloom filter included in the bloom filter response message, And registering it in a Bloom filter pool corresponding to the interface.

상기 블룸 필터 응답 메시지에 포함된, 결합된 블룸 필터의 개수에 기초하여 상기 블룸 필터 요청 메시지의 전달 범위를 결정하는 단계를 더 포함할 수 있다. And determining a delivery range of the Bloom filter request message based on the number of the combined Bloom filters included in the Bloom filter response message.

상기 블룸 필터 요청 메시지에 응답하는 블룸 필터 응답 메시지를 수신하는 단계; 상기 해당 노드가 포함하는 적어도 하나의 컨텐츠의 이름을 반영하여 제1 블룸 필터를 생성하는 단계; 상기 제1 블룸 필터와 상기 블룸 필터 요청 메시지에 포함된 블룸 필터를 결합하여 제2 블룸 필터를 생성하는 단계; 및 상기 제2 블룸 필터와 상기 해당 노드의 경로 정보를 포함하는 블룸 필터 응답 메시지를 전달하는 단계를 더 포함할 수 있다. Receiving a bloom filter response message in response to the bloom filter request message; Generating a first bloom filter by reflecting a name of at least one content included in the corresponding node; Generating a second bloom filter by combining the first bloom filter and the bloom filter included in the bloom filter request message; And transmitting a Bloom filter response message including the second bloom filter and the path information of the corresponding node.

상기 제2 블룸 필터를 생성하는 단계는 상기 블룸 필터 요청 메시지에 포함된 블룸 필터와 상기 제1 블룸 필터의 동일 위치에 있는 정보 비트들에 대하여 OR 연산을 수행하여 상기 블룸 필터와 상기 제1 블룸 필터를 결합하는 단계; 및 상기 결합 결과를 이용하여 상기 제2 블룸 필터를 생성하는 단계를 포함할 수 있다. Wherein the generating of the second bloom filter comprises performing an OR operation on the information bits located at the same position of the bloom filter included in the bloom filter request message and the first bloom filter, ≪ / RTI > And generating the second bloom filter using the combined result.

상기 제2 블룸 필터의 채움 비(fill ratio)와 미리 설정된 임계값을 비교하는 단계; 및 상기 비교 결과를 기초로 추가적인 블룸 필터의 생성 여부를 결정하는 단계를 더 포함할 수 있다. Comparing a fill ratio of the second bloom filter with a predetermined threshold value; And determining whether to generate an additional Bloom filter based on the comparison result.

상기 제1 블룸 필터를 생성하는 단계는 상기 해당 노드가 포함하는 적어도 하나의 컨텐츠가 영구 컨텐츠(permanent contents)와 캐시 컨텐츠(cached contents) 중 어디에 해당하는지를 포함하는 컨텐츠의 속성을 반영한 별도의 블룸 필터를 생성하는 단계를 더 포함할 수 있다. The generating of the first bloom filter may include generating a first bloom filter by adding a separate bloom filter that reflects attributes of content including at least one content included in the node corresponds to permanent contents and cached contents And a step of generating the generated data.

상기 적어도 하나의 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신하는 단계; 상기 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경하는 단계; 상기 블룸 필터의 인덱스 값과 각 인터페이스에 대응하는 블룸 필터 풀(pool)을 매칭(matching)시키는 단계; 및 상기 블룸 필터의 인덱스 값에 매칭되는 인터페이스로 상기 컨텐츠 요청 패킷에 응답하는 컨텐츠 응답 패킷을 전송하는 단계를 더 포함할 수 있다. Receiving a content request packet requesting the at least one content; Changing a name of the at least one content to an index value of a Bloom filter; Matching an index value of the Bloom filter with a Bloom filter pool corresponding to each interface; And transmitting a content response packet responsive to the content request packet to an interface matched with the index value of the Bloom filter.

상기 광고 메시지는 상기 적어도 하나의 컨텐츠의 이름이 계층적 컴포넌트 별로 나누어 저장되는 적어도 하나의 블룸 필터를 포함할 수 있다. The advertisement message may include at least one bloom filter in which a name of the at least one content is divided and stored for each hierarchical component.

일 실시예에 따르면, 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드는 적어도 하나의 컨텐츠의 이름을 반영하는 블룸 필터의 갱신 및 전송을 수행하는 컨트롤 플레인(control plane); 및 상기 블룸 필터에 포함된 정보를 볼룸 필터 풀과 매칭시키고, 매칭된 블룸 필터 풀에 대응되는 인터페이스를 통해 패킷을 포워딩하는 데이터 플레인(data plane)을 포함할 수 있다. According to an exemplary embodiment, a node that performs routing using a Bloom filter in a content-centric network includes a control plane for performing update and transmission of a Bloom filter reflecting the name of at least one content; And a data plane for matching information included in the Bloom filter with a ballroom filter pool and for forwarding a packet through an interface corresponding to the matched Bloom filter pool.

상기 컨트롤 플레인은 상기 볼룸 필터를 포함하는 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지를 전달하는 블룸 필터 관리자(Manager); 각 노드에 이르는 경로 정보를 포함하는 토폴로지 맵(topology map); 및 상기 각 노드 간의 링크 상태 정보를 공유함으로써 상기 토폴로지 맵을 형성하는 경로 탐색 데몬(Route Find Daemon)을 포함할 수 있다. Wherein the control plane comprises: a bloom filter manager for delivering a bloom filter request message and a bloom filter response message including the ballroom filter; A topology map including path information to each node; And a route search daemon that forms the topology map by sharing link state information between the nodes.

상기 컨트롤 플레인은 해당 노드가 상기 블룸 필터 요청 메시지를 생성한 노드인 경우, 상기 블룸 필터 응답 메시지에 포함된 블룸 필터의 정보를, 상기 데이터 플레인의 포워딩 인포메이션 베이스의 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 등록할 수 있다. Wherein the control plane is configured to transmit the information of the bloom filter included in the bloom filter response message to the bloom filter pool corresponding to the corresponding interface of the forwarding information base of the data plane when the corresponding node is the node that generated the bloom filter request message pool.

상기 컨트롤 플레인은 상기 블룸 필터 응답 메시지에 포함된 결합된 블룸 필터의 개수를 기반으로 상기 블룸 필터 요청 메시지의 전달 범위를 결정할 수 있다. The control plane may determine a delivery range of the Bloom filter request message based on the number of the combined Bloom filters included in the Bloom filter response message.

상기 블룸 필터 관리자는 상기 데이터 플레인의 포워딩 인포메이션 베이스 내의 블룸 필터의 값을 설정하고 업데이트할 수 있다. The bloom filter manager may set and update the value of the bloom filter in the forwarding information base of the data plane.

상기 데이터 플레인은 포워딩 인포메이션 베이스(Forwarding Information Base)를 포함하고, 상기 포워딩 인포메이션 베이스는 상기 적어도 하나의 컨텐츠의 이름을 반영하는 적어도 하나의 블룸 필터를 포함하는 블룸 필터 풀(pool); 및 상기 블룸 필터 풀의 적어도 하나의 블룸 필터에 대응하는 인터페이스를 포함할 수 있다. Wherein the data plane comprises a forwarding information base and the forwarding information base comprises at least one bloom filter reflecting the name of the at least one content; And an interface corresponding to at least one bloom filter of the bloom filter pool.

상기 데이터 플레인은 컨텐츠 요청 패킷 내에 포함된 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경하고, 상기 블룸 필터의 인덱스 값과 각 인터페이스에 대응하는 블룸 필터 풀(pool)을 매칭(matching)시키고, 상기 컨트롤 플레인은 상기 블룸 필터의 인덱스 값과 매칭되는 인터페이스로 상기 컨텐츠 요청 패킷에 응답하는 컨텐츠 응답 패킷을 전송할 수 있다. The data plane changes the name of at least one content included in the content request packet to the index value of the bloom filter and matches the index value of the bloom filter with the bloom filter pool corresponding to each interface The control plane can transmit a content response packet responding to the content request packet with an interface matched with the index value of the Bloom filter.

상기 블룸 필터 응답 메시지는 상기 적어도 하나의 컨텐츠의 이름이 계층적 컴포넌트 별로 나누어 저장되는 적어도 하나의 블룸 필터를 포함할 수 있다.The bloom filter response message may include at least one bloom filter in which names of the at least one content are divided and stored for each hierarchical component.

도 1은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 요청 패킷을 처리하는 과정을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법을 나타낸 플로우 차트이다.
도 3은 일 실시예에 따른 블룸 필터에서 정보를 저장하는 방법을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 블룸 필터에서 정보를 확인(look-up)하는 방법을 설명하기 위한 도면이다.
도 5는 다른 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법을 나타낸 플로우 차트이다.
도 6은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터 요청 메시지를 전달하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터 응답 메시지를 전달하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 노드가 블룸 필터 응답 메시지를 전달하는 방법을 나타낸 플로우차트이다.
도 9는 일 실시예에 따른 블룸 필터의 정보를 결합하는 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 컨텐츠 요청 패킷을 수신한 노드가 컨텐츠 응답 패킷을 전달하는 방법을 나타낸 플로우 차트이다.
도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 패킷을 포워딩하는 방법을 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드의 동작을 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드가 컨텐츠의 계층적 이름을 지원하기 위한 결합된 블룸 필터를 전달하는 방법을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터를 결합할 때 채움 비(fill ratio)에 기반하여 블룸 필터를 분리하는 방법을 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터 요청 메시지를 전달한 노드가 블룸 필터 요청 메시지의 전달 범위를 결정하는 방법을 나타낸 플로우 차트이다.
FIG. 1 illustrates a process of processing a content request packet in a content-centric network according to an embodiment of the present invention.
2 is a flowchart illustrating a method of performing routing using a Bloom filter in a content-centric network according to an exemplary embodiment of the present invention.
3 is a view for explaining a method of storing information in a Bloom filter according to an embodiment.
4 is a view for explaining a method of looking up information in a Bloom filter according to an embodiment.
FIG. 5 is a flowchart illustrating a method of performing routing using a Bloom filter in a content-centric network according to another embodiment.
FIG. 6 is a diagram illustrating a method for delivering a Bloom filter request message according to a method of performing routing using a Bloom filter in a content-centered network according to an exemplary embodiment. Referring to FIG.
FIG. 7 illustrates a method for transmitting a Bloom filter response message according to a method of performing routing using a Bloom filter in a content-centric network according to an exemplary embodiment. Referring to FIG.
FIG. 8 is a flowchart illustrating a method for a node to transmit a Bloom filter response message according to a method of performing routing using a Bloom filter in a content-based network according to an embodiment.
9 is a view for explaining a method of combining information of a Bloom filter according to an embodiment.
FIG. 10 is a flowchart illustrating a method of transmitting a content response packet by a node receiving a content request packet according to a method of performing routing using a Bloom filter in a content-centered network according to an exemplary embodiment.
FIG. 11 is a diagram for explaining a method of forwarding a packet using a Bloom filter in a content-centered network according to an embodiment.
12 is a view for explaining an operation of a node performing routing using a Bloom filter in a content-centric network according to an exemplary embodiment.
FIG. 13 is a diagram for explaining a method in which a node that performs routing using a Bloom filter in a content-centered network according to an embodiment delivers a combined Bloom filter for supporting hierarchical names of contents.
FIG. 14 is a diagram for explaining a method of separating a bloom filter based on a fill ratio when combining bloom filters according to a method of performing routing using a bloom filter in a content-centered network according to an exemplary embodiment; to be.
FIG. 15 is a flowchart illustrating a method of determining a delivery range of a Bloom filter request message by a node that has transmitted a Bloom filter request message according to a method of performing routing using a Bloom filter in a content-centered network according to an exemplary embodiment.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 일실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 이하에서, '노드'는 예를 들어, 사용자 단말(예를 들어, 스마트 폰), 스마트 tv, pc 노트북, 로봇 청소기 등과 같은 고객 장치, 라우터 및 액세스 포인트 등과 같이 컨텐츠 중심 네트워크에 포함된 디바이스들을 포함할 수 있다.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. In addition, the same reference numerals shown in the drawings denote the same members. Hereinafter, a 'node' includes devices included in a content-centric network such as, for example, a customer terminal such as a user terminal (eg, a smart phone), a smart TV, a pc notebook, a robot cleaner, can do.

도 1은 일 실시예에 따른 컨텐츠 중심 네트워크에서 컨텐츠 요청 패킷을 처리하는 과정을 설명하기 위한 도면이다. FIG. 1 illustrates a process of processing a content request packet in a content-centric network according to an embodiment of the present invention.

컨텐츠 중심 네트워크(ICN)에서 정보의 이름은 정보가 저장된 노드를 찾아가기 위한 나침판 역할과 해당 정보를 다른 정보와 구분해 주는 역할을 할 수 있다. 그러므로, 각 정보는 고유한 이름을 사용하며, 두 정보의 이름이 서로 다르면, 같은 내용의 정보도 다른 정보로 취급할 수 있다. 예를 들어, 같은 내용으로 이루어진 두 파일이 각각 /ABC.com/sait/video/intro.avi과 /ABC.com/sait/comm/video/intro.avi의 정보 이름으로 존재할 경우, 두 파일은 서로 다른 정보로 처리될 수 있다. 이러한 규칙은 이름이 비슷한 서로 다른 정보들을 구분함에 있어서 매우 유용하게 사용될 수 있다.In a content-centric network (ICN), the name of the information can serve as a compass for locating the node where the information is stored, and to distinguish that information from other information. Therefore, each information uses a unique name, and if the two pieces of information have different names, the same information can be treated as different information. For example, if two files with the same contents exist as information names of /ABC.com/sait/video/intro.avi and /ABC.com/sait/comm/video/intro.avi, respectively, It can be processed with other information. These rules can be very useful in distinguishing different information with similar names.

이하에서는 컨텐츠 중심 네트워크에서 노드가 패킷을 처리하는 과정을 설명한다. 아래에서 컨텐츠를 요청하는 패킷은 정보를 요청하는 '인터레스트(Interest)' 혹은 '인터레스트 패킷'으로 이해할 수 있다. Hereinafter, a process of processing a packet by a node in a content-centric network will be described. A packet requesting content may be understood as an'interest packet 'or an'interest packet' for requesting information.

도 1을 참조하면, 컨텐츠 중심 네트워크(Content-Centric Networking; CCN)에서 컨텐츠를 요청하는 패킷을 처리하는 과정을 살펴볼 수 있다. Referring to FIG. 1, a process of processing a content-requesting packet in a content-centric network (CCN) can be considered.

컨텐츠 중심 네트워크에 포함된 노드가 페이스 0(101)로부터 예를 들어, '/ABC.com/철수/abc.avi/v3/s2'에 해당하는 컨텐츠를 요청하는 패킷을 수신했다고 가정하자. Suppose that a node included in the content-oriented network receives a packet requesting content corresponding to '/ABC.com/corruption/abc.avi/v3/s2' from the face 0 (101), for example.

이때, 노드의 네트워킹 모듈은 컨텐츠를 요청하는 패킷 내에 있는 컨텐츠의 계층적 이름(여기서는 '/ABC.com/철수/abc.avi/v3/s2')을 참조하여 해당 컨텐츠가 노드의 컨텐츠 스토어(Content Store)(110)에 있는지 확인한다. 이때, 컨텐츠 스토어(110)는 컨텐츠 캐시(Contents Cache)라고도 불릴 수 있다. At this time, the networking module of the node refers to the hierarchical name of the content in the packet requesting content (here, '/ABC.com/abc/abc.avi/v3/s2'), Store (110). At this time, the content store 110 may be referred to as a contents cache.

확인 결과, 컨텐츠 스토어(110) 내에 해당 컨텐츠가 저장되어 있으면, 노드는 해당 컨텐츠를 컨텐츠를 요청하는 패킷이 수신된 페이스 0(101)로 반환한다. 이때, 페이스(face)는 인터페이스(interface)로도 표현할 수 있다. If it is determined that the content is stored in the content store 110, the node returns the content to the received face 0 (101). At this time, the face may be expressed as an interface.

반면에, 해당 컨텐츠가 컨텐츠 스토어(110)에 저장되어 있지 않으면, 노드는 펜딩 인터레스트 테이블(Pending Interest Table; PIT)(130) 내에 동일한 컨텐츠 이름(여기서는 '/ABC.com/철수/abc.avi/v3/s2'으로 저장된 엔트리(entry)가 있는지 여부를 확인할 수 있다. On the other hand, if the content is not stored in the content store 110, the node generates the same content name (here, '/ ABC.com/ebc/abc.avi') in the Pending Interest Table (PIT) / v3 / s2 ". < / RTI >

노드는 펜딩 인터레스트 테이블(PIT)(130) 내에 동일한 컨텐츠 이름으로 저장된 엔트리가 있으면, 해당 엔트리에 컨텐츠를 요청하는 패킷이 들어온 페이스(여기서는 페이스 0(101))에 대한 정보를 추가할 수 있다. If there is an entry stored in the Pending Paste Table (PIT) 130 with the same content name, the node can add information about the face (here, face 0) 101 where the packet requesting the content is included in the entry.

펜딩 인터레스트 테이블(130) 내에 동일한 컨텐츠 이름으로 등록된 엔트리가 없다면, 노드는 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)(150)에서 컨텐츠 이름에 기반한 검색(name lookup)을 수행하여 해당 엔트리(entry)를 찾을 수 있다. 이때, 노드는 최장 프리픽스 매칭(longest prefix matching)에 따라 검색을 수행할 수 있다. If there is no entry registered with the same content name in the pendinginterest table 130, the node performs a name lookup based on the content name in the Forwarding Information Base (FIB) 150, ). At this time, the node can perform the search according to the longest prefix matching.

그 후, 노드는 포워딩 인포메이션 베이스(FIB)(150)에 등록되어 있는 정보에 기초하여 컨텐츠를 요청하는 패킷을 전달할 페이스(예를 들어, 페이스 1(105))를 결정하고, 해당 페이스(페이스 1(105))로 컨텐츠를 요청하는 패킷을 전송할 수 있다. The node then determines a face (e. G., Face 1 105) to deliver the packet requesting content based on the information registered in the forwarding information base (FIB) 150, Lt; RTI ID = 0.0 > 105). ≪ / RTI >

이 과정에서 노드는 컨텐츠를 요청하는 패킷이 전달되어 온 페이스(페이스 0(101))에 대한 정보('0')를 인터레스트 테이블(PIT)(130)에 등록할 수 있다. 이는 향후 컨텐츠를 요청하는 패킷에 대응되는, 컨텐츠를 포함한 데이터 패킷이 전달되었을 때, 해당 컨텐츠를 요청한 노드에게 데이터 패킷을 전달하기 위함이다. 여기서, 포워딩 인포메이션 베이스 (150)에 기초하여 컨텐츠를 요청하는 패킷을 전달할 페이스를 선택(결정)할 때, 컨텐츠를 요청하는 패킷이 수신된 페이스(여기서는 페이스 0(101))는 선택 대상에서 제외될 수 있다.
In this process, the node can register the information ('0') of the on-face (face 0 (101)) in the PIT (130) This is for transmitting a data packet to a node requesting the content when a data packet including content corresponding to a packet requesting the content is transmitted in the future. Here, when selecting (determining) a face for transmitting a packet requesting content based on the forwarding information base 150, the face at which a packet requesting content is received (here, face 0 (101)) is excluded from the selection target .

도 2는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법을 나타낸 플로우 차트이다. 2 is a flowchart illustrating a method of performing routing using a Bloom filter in a content-centric network according to an exemplary embodiment of the present invention.

도 2를 참조하면, 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드(이하, '노드')는 블룸 필터를 포함하는 광고 메시지를 수신할 수 있다(210). 여기서, 블룸 필터는 노드가 포함하는 적어도 하나의 컨텐츠의 이름을 반영하여 생성된 것일 수 있다. 또한, 광고 메시지는 적어도 하나의 컨텐츠의 이름이 계층적 컴포넌트 별로 나누어 저장되는 적어도 하나의 블룸 필터를 포함할 수 있다. 노드가 적어도 하나의 컨텐츠의 이름을 블룸 필터들에 계층적 컴포넌트 별로 나누어 저장하는 방법에 대하여는 후술하는 도 13을 통해 설명한다. Referring to FIG. 2, a node (hereinafter, referred to as a 'node') that performs routing using a Bloom filter in a content-centric network according to an exemplary embodiment may receive an advertisement message including a Bloom filter (210). Here, the bloom filter may be generated by reflecting the name of at least one content included in the node. In addition, the advertisement message may include at least one bloom filter in which names of at least one content are divided and stored for each hierarchical component. A method in which a node divides names of at least one content into bloom filters by hierarchical components and stores them will be described with reference to FIG.

블룸 필터(Bloom filter) 및 블룸 필터의 기본적인 동작에 대하여 도 3, 도 4 및 도 9를 참조하여 설명한다. The basic operation of the Bloom filter and the Bloom filter will be described with reference to Figs. 3, 4 and 9. Fig.

노드는 210에서 수신한 블룸 필터의 정보에 기초하여 경로 정보를 파악할 수 있다(230). The node can grasp the path information based on the information of the bloom filter received at 210 (230).

노드는 230에서 파악한 경로 정보를 이용하여 라우팅(routing)을 수행할 수 있다(250). The node may perform routing using the path information obtained at 230 (250).

컨텐츠의 이름을 기반으로 하는 컨텐츠 중심 네트워크에서는 컨텐츠의 이름 정보가 노드들 간에 교환되고, 컨텐츠에 대한 요청이 오면 노드들은 해당 컨텐츠가 있는 경로로 해당 메시지를 전달할 수 있다. 다시 말해, 적어도 하나의 컨텐츠의 이름을 포함하는 리스트 정보는 라우팅 경로의 형성에 활용될 수 있다. In a content - centric network based on content name, content name information is exchanged between nodes, and when a request for content comes, nodes can deliver the message to the path where the content exists. In other words, list information including the name of at least one content can be utilized in forming the routing path.

컨텐츠 중심 네트워크에서 노드는 적어도 하나의 컨텐츠의 이름을 포함하는 컨텐츠 리스트를 광고하고, 광고된 컨텐츠 리스트를 바탕으로 컨텐츠 요청 메시지에 대한 경로를 결정할 수 있다. 다시 말해, 노드는 해당 컨텐츠(혹은 해당 컨텐츠의 이름)를 광고함으로써 찾고자 하는 컨텐츠가 있는 다른 노드에게 데이터를 요청하는 메시지를 보낼 수 있는 경로를 형성하게 된다. In a content-centric network, a node may advertise a content list that includes the name of at least one content, and may determine a path to a content request message based on the advertised content list. In other words, the node advertises the corresponding content (or the name of the corresponding content) to form a path for sending a message requesting data to another node having content to be searched.

하지만, 이러한 광고 메시지의 데이터 사이즈가 크거나 또는 이러한 메시지가 빈번히 네트워크 상의 제어 정보로서 전달되면, 그 오버헤드로 인해 실제 컨텐츠를 포함하는 데이터 패킷의 전달이 느려질 수 있다. 또한, 경로 정보(예를 들어, 컨텐츠가 있는 곳에 대한 정보)에 대한 효율적인 업데이트 또한 잘 이뤄지지 않을 수 있다. However, if the data size of such advertisement message is large, or if such a message is frequently transmitted as control information on the network, the overhead may slow down the delivery of the data packet including the actual contents. Also, efficient updating of path information (e.g., information about where the content is located) may not be well performed.

따라서, 일 실시예에서는 이러한 적어도 하나의 컨텐츠의 이름을 포함하는 컨텐츠 리스트의 광고 정보를 블룸 필터 형태로 전달해 줌으로써, 주고받는 컨텐츠 리스트의 크기를 줄이고, 네트워크 오버헤드를 감소시킬 수 있다. Accordingly, in one embodiment, the advertisement information of the content list including the name of at least one content is transmitted in the form of a bloom filter, thereby reducing the size of the content list to be exchanged and reducing the network overhead.

일 실시예에서는 이와 같이 블룸 필터를 활용함으로써 네트워크의 과부하를 감소시키고, 두 네트워크 노드 간에 빠른 컨텐츠 리스트의 업데이트를 가능하게 할 수 있다. 또한, 컨텐츠의 수와 종류가 많아지는 빅 데이터(big data) 환경이 가속화되는 상황에서 블룸 필터를 활용함으로써 컨텐츠 이름에 대한 광고 시스템의 효율성을 크게 증가시킬 수 있다.
In one embodiment, by utilizing the Bloom filter, the overload of the network can be reduced, and the rapid updating of the content list between the two network nodes can be enabled. In addition, the efficiency of the advertisement system for the content name can be greatly increased by utilizing the Bloom filter in a situation where a big data environment in which the number and type of contents is increased accelerates.

도 3은 일 실시예에 따른 블룸 필터에서 정보를 저장하는 방법을 설명하기 위한 도면이고, 도 4는 일 실시예에 따른 블룸 필터에서 정보를 확인하는 방법을 설명하기 위한 도면이다. FIG. 3 is a view for explaining a method for storing information in a Bloom filter according to an embodiment. FIG. 4 is a diagram for explaining a method for checking information in a Bloom filter according to an embodiment.

도 3 및 도 4를 참조하면, 일 실시예에 따른 노드가 블룸 필터를 이용하여 멤버 정보(예를 들어, 컨텐츠의 이름)를 저장(Insertion)하고, 해당 멤버 정보가 블룸 필터에 있는지 확인(Look up)하는 방법을 살펴볼 수 있다. 3 and 4, a node according to an exemplary embodiment inserts member information (e.g., name of contents) using a bloom filter, checks whether corresponding member information is in a bloom filter (Look up.

블룸 필터는 작은 메모리를 활용하여 멤버 리스트 정보를 담는 공간 효율적인 자료 구조이다. 블룸 필터를 사용하여 데이터를 멤버 리스트에 등록할 때 데이터는 k개 해시 함수를 통해 m bits array 내 인덱스 값으로 변환되고, 결정된 인덱스 비트들(bits)은 '1'로 설정될 수 있다. The Bloom filter is a space-efficient data structure that uses small memory to hold member list information. When the data is registered in the member list using the Bloom filter, the data is converted into the index value in the m bits array through k hash functions, and the determined index bits (bits) can be set to '1'.

그리고 주어진 데이터가 멤버인지 확인(Look up)하는 방법은 다음과 같다. And how to look up a given data member is as follows.

우선, 데이터를 k개의 해시 함수를 통해 m bits array 내 인덱스 값으로 변환하고, 해당하는 블룸 필터의 인덱스 비트들이 모두 '1'로 설정되어 있는지 확인할 수 있다. 만약, 블룸 필터의 인덱스 비트들이 모두 '1'이면 주어진 데이터가 멤버인 것이고 그렇지 않다면 멤버가 아니라고 판단할 수 있다. First, it is possible to convert the data into index values in the m bits array through k hash functions and to check whether the index bits of the corresponding bloom filter are all set to '1'. If all of the index bits of the Bloom filter are '1', it can be determined that the given data is a member or not a member.

하지만, 블룸 필터는 주어진 데이터가 멤버가 아님에도 불구하고 k개 해시 함수의 결과로서 얻어진 인덱스 비트들이 모두 '1'로 설정된 상황이 존재할 수 있다. 이와 같이, 주어진 데이터가 멤버가 아님에도 불구하고 멤버로 판단하는 경우를 '긍정 오류(false positive)'라고 한다. However, there may be situations in which the Bloom filter has all the index bits obtained as a result of the k hash functions set to '1', even though the given data is not a member. A case where a given data is determined to be a member even though it is not a member is referred to as a " false positive ".

블룸 필터를 이용해 컨텐츠의 이름을 광고할 때, 정해진 블룸 필터의 사이즈(m bits)에서 몇 개의 멤버(n)를 넣을 것인가는 긍정 오류 값을 결정짓는 요소가 될 수 있다. When naming the content using Bloom filter, how many members (n) to put in the size (m bits) of the Bloom filter can be a determinant of the positive error value.

예를 들어, 어느 한 노드가 주변 노드로부터 컨텐츠 리스트가 들어 있는 블룸 필터를 받고, 블룸 필터에 자신의 컨텐츠 리스트 정보를 추가해서 전달하는 상황이 계속될 수 있다. 그러면, 이는 블룸 필터 내의 멤버 수가 증가함을 의미한다. 따라서 블룸 필터의 각 비트에서는 '0'보다 '1'로 채워지는 비율인 채움 비(fill ratio)가 높아져 긍정 오류가 증가하는 상황이 발생할 수 있다. For example, a situation may occur in which a node receives a Bloom filter containing a content list from a neighboring node, and adds its own content list information to the Bloom filter for delivery. Then, this means that the number of members in the Bloom filter increases. Therefore, in each bit of the bloom filter, the fill ratio, which is a ratio of being filled with '1' rather than '0', is increased, and the positive error may increase.

이러한 상황은 블룸 필터에 저장된 데이터의 신뢰성을 저하시킬 수 있다. This situation can degrade the reliability of the data stored in the Bloom filter.

보통은 이를 방지하기 위해서 블룸 필터 내 임의의 위치의 비트(bit)를 '1'에서 '0'으로 바꾸어 주거나, 각 비트열에 타임 투 리브(Time to Live; TTL)를 두어 TTL값이 '0'이 되면 해당 위치의 비트를 '1'에서 '0'으로 바꾸는 방식을 통해서 긍정 오류 확률의 증가를 방지할 수 있다. Usually, to prevent this, the bit of a certain position in the Bloom filter is changed from '1' to '0', or a time to live (TTL) , It is possible to prevent an increase in the positive error probability by changing the bit of the corresponding position from '1' to '0'.

하지만, 이러한 방식은 멤버십 정보의 변형을 가져오기 때문에 멤버가 있는데도 불구하고 없다고 하는 '부정 오류(false negative)' 상황을 발생시킬 수 있다. However, this approach can lead to a "false negative" situation in which there is no member even though there is a variation of the membership information.

따라서, 일 실시예에서는 블룸 필터를 사용하는 컨텐츠 이름에 기반하는 컨텐츠 중심 네트워크에서 부정 오류(false negative)를 발생시키지 않으면서, 긍정 오류(false positive)의 확률 증가를 방지할 수 있는 방법을 제안한다.
Accordingly, in one embodiment, a method of preventing the probability of a false positive from occurring without generating a false negative in a content-based network based on a content name using a Bloom filter is proposed .

도 5는 다른 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법을 나타낸 플로우 차트이다. FIG. 5 is a flowchart illustrating a method of performing routing using a Bloom filter in a content-centric network according to another embodiment.

도 5를 참조하면, 일 실시예에 따른 노드는 도 2의 과정을 통해 블룸 필터를 포함하는 광고 메시지가 전달된 이후, 해당 경로 정보를 이용하여 아래의 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지를 전달할 수 있다. Referring to FIG. 5, after receiving an advertisement message including a Bloom filter through the process of FIG. 2, the node transmits a Bloom filter request message and a Bloom filter response message below using the route information .

노드는 해당 노드의 경로 정보에 기초하여, 블룸 필터를 요청하는 블룸 필터 요청 메시지를 생성하고(510), 생성된 블룸 필터 요청 메시지를 다음 노드에게 전달할 수 있다(520). 여기서, 경로 정보는 해당 노드로부터의 홉 카운트(hop count)에 기반한 것으로서, 적어도 하나의 다른 노드에게 블룸 필터의 결합을 요청하기 위한 정보를 포함할 수 있다. The node may generate a Bloom filter request message requesting a Bloom filter (510) based on the route information of the node, and may transmit the generated Bloom filter request message to a next node (520). Here, the path information is based on a hop count from the corresponding node, and may include information for requesting binding of the Bloom filter to at least one other node.

노드는 520에서 전송한 블룸 필터 요청 메시지에 응답하는 블룸 필터 응답 메시지를 수신할 수 있다(530). 이때, 블룸 필터 응답 메시지는 결합된(merged) 블룸 필터 정보 및 경로 정보를 포함할 수 있다. 또한, 블룸 필터 응답 메시지는 적어도 하나의 컨텐츠의 이름이 계층적 컴포넌트 별로 나누어 저장되는 적어도 하나의 블룸 필터를 포함할 수 있다. The node may receive a Bloom Filter Response message in response to the Bloom Filter Request message sent at 520 (530). At this time, the bloom filter response message may include merged bloom filter information and path information. In addition, the Bloom filter response message may include at least one Bloom filter in which the name of at least one content is divided and stored for each hierarchical component.

블룸 필터 응답 메시지를 수신한 노드는 자신이 블룸 필터 요청 메시지를 생성한 노드인지를 판단할 수 있다(540). 만약, 자신이 블룸 필터 요청 메시지를 생성한 노드라면, 해당 노드는 블룸 필터 응답 메시지에 포함된 블룸 필터의 정보를 자신의 데이터 플레인 내의 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 등록할 수 있다(550). 블룸 필터 풀 및 이에 대응하는 인터페이스에 대하여는 도 11 및 도 12를 참조하여 설명한다. 만약, 자신이 블룸 필터 요청 메시지를 생성한 노드가 아니라면, 해당 노드는 블룸 필터 응답 메시지를 다음 노드에게 전달할 수 있다(560). The node receiving the bloom filter response message may determine whether it is the node that generated the bloom filter request message (540). If the node is the node that generated the Bloom filter request message, the corresponding node can register the Bloom filter information included in the Bloom filter response message in the Bloom filter pool corresponding to the corresponding interface in the data plane of the node (550). The bloom filter pool and the corresponding interface will be described with reference to Figs. 11 and 12. Fig. If it is not the node that generated the Bloom filter request message, the node may forward the Bloom filter response message to the next node (560).

해당 노드가 블룸 필터 응답 메시지를 다음 노드에게 전달하는 구체적인 방법은 도 8을 참조하여 설명한다. A concrete method for the node to transmit the Bloom filter response message to the next node will be described with reference to FIG.

여기서, 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지는 경로 정보를 획득하기 위해 일 실시예에서 정의된 메시지로서 그 구체적인 전달 방법에 대하여는 아래의 도 6 및 도 7을 참조하여 설명한다.
Here, the Bloom filter request message and the Bloom filter response message are messages defined in one embodiment to acquire path information, and a concrete transmission method thereof will be described with reference to FIG. 6 and FIG.

도 6은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터 요청 메시지를 전달하는 방법을 설명하기 위한 도면이다. FIG. 6 is a diagram illustrating a method for delivering a Bloom filter request message according to a method of performing routing using a Bloom filter in a content-centered network according to an exemplary embodiment. Referring to FIG.

도 6을 참조하면, 일 실시예에 따른 컨텐츠 중심 네트워크에서 노드들 간에 블룸 필터 요청 메시지가 전달되는 상황을 살펴볼 수 있다. Referring to FIG. 6, it can be seen that a Bloom filter request message is transmitted between nodes in a content-centric network according to an exemplary embodiment.

일 실시예에 따른 노드(예를 들어, 라우터)는 블룸 필터 요청 메시지를 작성할 때, 경로 및 범위를 기반으로 메시지 패킷의 내용(경로)을 작성하여 각 네트워크 노드에 대한 블룸 필터 정보를 요청할 수 있다. When creating a Bloom filter request message, a node (e.g., a router) according to one embodiment may request the Bloom filter information for each network node by creating the content (path) of the message packet based on the path and range .

OSPF(Open Shortest Path First)와 같은 네트워크 라우팅 노드 간에 정보를 공유하는 링크 상태 알고리즘을 활용하면, 각각의 노드는 노드 간 경로 정보를 획득할 수 있다. 그리고, 이를 통해서 각각의 노드는 다른 노드로 향하는 링크 코스트(link cost)가 낮은 경로를 계산할 수 있다. Using a link state algorithm that shares information between network routing nodes such as Open Shortest Path First (OSPF), each node can obtain inter-node path information. Then, each node can calculate a path with a low link cost to another node.

도 6에서 라우터 A는 자신이 가지고 있는 경로 정보를 바탕으로 블룸 필터 요청 메시지 (패킷)를 생성하여 전달할 수 있다. 블룸 필터 요청 메시지는 블룸 필터의 결합을 요청하기 위한 경로 정보를 포함할 수 있다. In FIG. 6, the router A can generate and transmit a Bloom filter request message (packet) based on the route information it has. The Bloom filter request message may include path information for requesting a combination of Bloom filters.

라우터 A로부터 블룸 필터 요청 메시지를 수신한 라우터들(예를 들어, 라우터 B, C, G, H)은 블룸 필터 요청 메시지에 포함된 경로 정보에 해당하는 노드로 블룸 필터 요청 메시지를 전송할 수 있다. Routers (e.g., routers B, C, G, and H) that have received the Bloom filter request message from router A may send a Bloom filter request message to the node corresponding to the route information included in the Bloom filter request message.

예를 들어, 라우터 A는 블룸 필터 요청 메시지를 이용하여 {BD, BEF} 경로 정보를 라우터 B에게 보내게 되고, {C} 경로 정보를 라우터 C에게, {H} 경로 정보를 라우터 H에게, {G} 경로 정보를 라우터 G에게 보낼 수 있다. For example, the router A sends a {B BD, BEF} route information to the router B using the Bloom filter request message, sends the route information of {C} to the router C, the route information of the {H} G} route information to the router G.

해당 경로 정보를 받은 라우터 B는 {D}, {EF} 경로 정보를 각각 라우터 D와 라우터 E에게 보낼 수 있다. Router B, which receives the route information, can send route information of {D} and {EF} to router D and router E, respectively.

또한, {EF} 경로 정보를 받은 라우터 E는 {F} 경로 정보를 라우터 F에게 보내는 방식으로 블룸 필터 요청 메시지를 다른 라우터들에게 전달할 수 있다. In addition, the router E having received the {EF} path information can forward the {F} path information to the router F, and can transmit the bloom filter request message to the other routers.

이때, 라우터 A는 블룸 필터 요청 메시지를 작성할 때, 홉 카운트(범위)를 기반으로 경로 정보를 담은 블룸 필터 요청 메시지의 내용(예를 들어 경로 정보)를 작성할 수 있다.
At this time, when creating the Bloom filter request message, the router A can create the contents (for example, route information) of the Bloom filter request message containing the route information based on the hop count (range).

도 7은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터 응답 메시지를 전달하는 방법을 설명하기 위한 도면이다. FIG. 7 illustrates a method for transmitting a Bloom filter response message according to a method of performing routing using a Bloom filter in a content-centric network according to an exemplary embodiment. Referring to FIG.

도 7을 참조하면, 일 실시예에 따른 노드(예를 들어, 라우터)는 블룸 필터 응답 메시지를 받으면, 해당 응답 메시지에 있는 블룸 필터를 자신의 블룸 필터 정보와 결합하고, 블룸 필터 요청 메시지를 받은 노드에게 결합된 블룸 필터 정보를 포함하는 블룸 필터 응답 메시지를 전달할 수 있다. Referring to FIG. 7, when a node (e.g., a router) according to an exemplary embodiment receives a Bloom filter response message, it combines the Bloom filter in the corresponding response message with its Bloom filter information, It may deliver a Bloom filter response message including the combined Bloom filter information to the node.

예를 들어, 라우터 D와 라우터 E는 라우터 A로부터 전송된 블룸 필터 요청 메시지를 수신하고, 이에 응답하여 블룸 필터 응답 메시지를 라우터 B로 전송할 수 있다. 이때, 라우터 D로부터 라우터 B로 전송되는 블룸 필터 응답 메시지는 라우터 D에서 결합된 블룸 필터 정보 및 경로 정보가 포함될 수 있다. 또한, 라우터 E에서 라우터 B로 전송되는 블룸 필터 응답 메시지는 라우터 B에서 결합된 블룸 필터 정보 및 경로 정보를 포함할 수 있다. For example, router D and router E may receive the Bloom filter request message sent from router A and send a Bloom filter response message to router B in response. At this time, the bloom filter response message transmitted from the router D to the router B may include the combined bloom filter information and the route information at the router D. In addition, the bloom filter response message transmitted from the router E to the router B may include the combined bloom filter information and the route information at the router B.

이와 같이 일 실시예에 따른 각 노드들은 블룸 필터 응답 메시지를 받으면, 경로 정보를 바탕으로 결합된 블룸 필터 정보와 자신의 로컬 블룸 필터 정보를 재차 결합할 수 있다. 그리고, 각 노드들은 결합된 블룸 필터 정보와 경로 정보를 포함하는 블룸 필터 응답 메시지를, 블룸 필터 요청 메시지를 전달한 노드들에게 전달한다. As described above, when each node receives the Bloom filter response message, it can combine the combined Bloom filter information with its own local Bloom filter information based on the route information. Then, each node transmits a Bloom filter response message including combined Bloom filter information and route information to nodes that have transmitted Bloom filter request message.

블룸 필터 요청 메시지를 생성하여 전달한 노드(예를 들어, 라우터 A)는 자신이 요청한 메시지에 해당하는 블룸 필터 응답 메시지를 받으면 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 블룸 필터를 등록할 수 있다. The node (e.g., router A) generating and transmitting the bloom filter request message can register the bloom filter in the bloom filter pool corresponding to the interface when receiving the bloom filter response message corresponding to the message requested by the node .

각각의 노드는 이러한 방식으로 분산 방식을 통해서 각 인터페이스에 해당하는 블룸 필터 풀(pool)을 설정할 수 있다. Each node can set a Bloom filter pool corresponding to each interface through a distributed manner in this manner.

각 노드(예를 들어, 라우터 B, 라우터 E 라우터 A)는 블룸 필터 응답 메시지를 작성할 때, 블룸 필터를 결합(Merge)한다. 이 때, 일 실시예에서는 블룸 필터의 채움 비(fill ratio)를 기반으로, 채움 비(fill ratio) 값이 임계값(threshold)보다 커질 때 정보 결합을 위한 블룸 필터를 추가 생성함으로써 긍정 오류(false positive)를 낮출 수 있다. Each node (for example, Router B, Router E Router A) merges the Bloom filter when creating a Bloom Filter response message. In this case, in one embodiment, when the fill ratio value is greater than the threshold value, a Bloom filter for information combination is additionally generated based on the fill ratio of the Bloom filter, positive.

또한, 노드는 블룸 필터에 적어도 하나의 컨텐츠의 이름 정보를 저장할 때, 해당 노드가 포함하는 적어도 하나의 컨텐츠가 영구 컨텐츠(permanent contents)와 캐시 컨텐츠(cached contents) 중 어디에 해당하는지를 포함하는 컨텐츠의 속성을 반영한 별도의 블룸 필터를 생성할 수 있다. 여기서, '영구 컨텐츠'는 하드 디스크 등과 같은 영구적으로 저장된 컨텐츠이고, '캐시 컨텐츠'는 컨텐츠 스토어 등과 같이 임시적으로 저장된 컨텐츠로 이해할 수 있다. In addition, when storing the name information of at least one content in the bloom filter, the node determines whether or not at least one content included in the node is a content attribute including content of permanent contents and cached contents A separate Bloom filter can be generated. Here, 'persistent content' is a permanently stored content such as a hard disk, and 'cache content' can be understood as a content temporarily stored such as a content store.

노드는 영구 컨텐츠 및 캐시 컨텐츠를 구별하는 별도의 블룸 필터를 두고, 해당하는 컨텐츠 속성에 대한 블룸 필터에 컨텐츠의 이름을 저장할 수도 있다.
The node may have a separate bloom filter that distinguishes between persistent and cache content, and may store the name of the content in a bloom filter for the corresponding content attribute.

도 8은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 노드가 블룸 필터 응답 메시지를 전달하는 방법을 나타낸 플로우차트이다. FIG. 8 is a flowchart illustrating a method for a node to transmit a Bloom filter response message according to a method of performing routing using a Bloom filter in a content-based network according to an embodiment.

도 8을 참조하면, 일 실시예에 따른 노드는 요청 노드로부터 전달된 블룸 필터 요청 메시지를 전달하고(810), 이에 대한 응답으로 블룸 필터 요청 메시지에 응답하는 블룸 필터 응답 메시지를 수신할 수 있다(820).Referring to FIG. 8, a node according to an exemplary embodiment may transmit a Bloom filter request message (810) transmitted from a requesting node and receive a Bloom filter response message in response to the Bloom filter request message 820).

노드는 해당 노드가 포함하는 적어도 하나의 컨텐츠의 이름을 반영하여 제1 블룸 필터를 생성할 수 있다(830). 그리고, 노드는 830에서 생성한 제1 블룸 필터와 820에서 수신한 블룸 필터 요청 메시지에 포함된 블룸 필터를 결합하여 제2 블룸 필터를 생성할 수 있다(840).The node may generate a first bloom filter by reflecting the name of at least one content included in the corresponding node (830). In operation 840, the node may generate a second bloom filter by combining the first bloom filter generated in step 830 and the bloom filter included in the bloom filter request message received in step 820.

840에서 노드는 블룸 필터 요청 메시지에 포함된 블룸 필터와 제1 블룸 필터의 동일 위치에 있는 정보 비트들에 대하여 OR 연산을 수행하여 블룸 필터와 제1 블룸 필터를 결합할 수 있다. 그리고, 노드는 결합 결과를 이용하여 제2 블룸 필터를 생성할 수 있다. 노드가 제2 블룸 필터를 생성하는 방법은 도 9를 참조하여 상세히 설명한다. At 840, the node may combine the bloom filter and the first bloom filter by performing an OR operation on the information bits in the same position of the bloom filter and the first bloom filter included in the bloom filter request message. Then, the node can generate the second bloom filter using the combining result. The method by which the node generates the second bloom filter will be described in detail with reference to Fig.

이후, 노드는 840에서 생성한 제2 블룸 필터와 해당 노드의 경로 정보를 포함하는 블룸 필터 응답 메시지를 생성하여 다음 노드에게 전달할 수 있다(850).
Thereafter, the node generates a Bloom filter response message including the second bloom filter 840 and the path information of the corresponding node, and transmits the generated Bloom filter response message to the next node (850).

도 9는 일 실시예에 따른 블룸 필터의 정보를 결합하는 방법을 설명하기 위한 도면이다. 9 is a view for explaining a method of combining information of a Bloom filter according to an embodiment.

도 9를 참조하면, 네트워크 노드들 간에는 블룸 필터 정보를 교환함으로써 각 노드가 가지고 있는 멤버십 정보(예를 들어, 컨텐츠의 이름을 포함하는 리스트 정보)를 교환할 수 있다. 그리고, 블룸 필터 형태로 저장한 자신의 멤버십 정보와 다른 노드로 전달받은 블룸 필터 형태의 멤버십 정보를 결합함으로써 멤버십 정보가 합쳐진 블룸 필터를 생성할 수 있다. Referring to FIG. 9, it is possible to exchange membership information (for example, list information including names of contents) held by each node by exchanging bloom filter information between network nodes. The bloom filter combining the membership information can be generated by combining the membership information stored in the bloom filter form and the membership information in the form of the bloom filter transmitted to the other node.

이러한 블룸 필터 간의 정보 결합은 블룸 필터들의 동일한 위치에 있는 비트들끼리의 OR 연산에 의해 수행될 수 있다. The information combining between such Bloom filters can be performed by an OR operation between the bits located at the same positions of the Bloom filters.

예를 들어, 블룸 필터 1(910)에 '01000010' 저장되어 있고, 블룸 필터 2(920)에 '10000011'이, 해당 노드의 로컬 블룸 필터(930)에 '00001100'이 저장되어 있다고 하자. 이때, 이 세 개의 블룸 필터에서 동일한 위치에 있는 비트들끼리 OR 연산을 수행한 결과는 '11001111'이 된다. 따라서, 결합된 블룸 필터(940)에는 '11001111'가 저장될 수 있다. For example, it is assumed that '01000010' is stored in the bloom filter 1 910, '10000011' is stored in the bloom filter 2 920, and '00001100' is stored in the local bloom filter 930 of the corresponding node. At this time, the result of OR operation between the bits located at the same positions in the three bloom filters is '11001111'. Accordingly, '11001111' may be stored in the combined Bloom filter 940.

하지만, 블룸 필터들 간의 정보 결합이 증가할수록 확률적으로 채움 비(fill ratio)가 증가하는 현상이 발생하고, 이는 긍정 오류(false positive)의 확률을 증가시킬 수 있다. However, as the information coupling between Bloom filters increases, the fill ratio increases stochastically, which can increase the probability of false positives.

따라서, 일 실시예에서는 블룸 필터의 정보 결합(merge) 시에 채움 비(fill ratio)가 일정 임계값(threshold)를 초과하는 경우, 블룸 필터들 간의 정보를 결합할 때에 새로운 블룸 필터를 추가로 생성하여 결합 작업을 수행하도록 함으로써 긍정 오류의 발생 확률을 줄일 수 있다.
Accordingly, in one embodiment, when the fill ratio exceeds a certain threshold value at the time of information merge of the Bloom filter, a new Bloom filter is additionally generated when combining information between Bloom filters So that the probability of occurrence of the positive error can be reduced.

도 10은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 컨텐츠 요청 패킷을 수신한 노드가 컨텐츠 응답 패킷을 전달하는 방법을 나타낸 플로우 차트이다. FIG. 10 is a flowchart illustrating a method of transmitting a content response packet by a node receiving a content request packet according to a method of performing routing using a Bloom filter in a content-centered network according to an exemplary embodiment.

도 10을 참조하면, 일 실시예에 따른 노드는 적어도 하나의 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신할 수 있다(1010).Referring to FIG. 10, a node according to an exemplary embodiment may receive a content request packet requesting at least one content (1010).

그리고, 노드는 컨텐츠 요청 패킷 내의 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경할 수 있다(1020). 1020에서 노드는 예를 들어, 해싱(hashing)을 이용하여 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경할 수 있다.The node may then change the name of at least one content in the content request packet to the index value of the Bloom filter (1020). At 1020, the node may change the name of at least one content to the index value of the Bloom filter, for example, using hashing.

노드는 블룸 필터의 인덱스 값과 각 인터페이스에 대응하는 블룸 필터 풀(pool)을 매칭(matching)시킬 수 있다(1030). 이때, 블룸 필터 풀은 컨텐츠 이름이 저장되고, 라우터의 각 인터페이스마다 존재할 수 있다. The node may match 1030 the Bloom filter index value with a Bloom filter pool corresponding to each interface. At this time, the Bloom filter pool stores the content name and may exist for each interface of the router.

노드는 블룸 필터의 인덱스 값에 매칭되는 인터페이스로 컨텐츠 요청 패킷에 응답하는 컨텐츠 응답 패킷을 전송할 수 있다(1040).
The node may send a content response packet in response to the content request packet with an interface matched to the index value of the bloom filter (1040).

도 11은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 패킷을 포워딩하는 방법을 설명하기 위한 도면이다. FIG. 11 is a diagram for explaining a method of forwarding a packet using a Bloom filter in a content-centered network according to an embodiment.

도 11을 참조하면, 일 실시예에 따른 노드는 컨텐츠 요청 패킷이 전달되면, 컨텐츠 요청 패킷에 포함된 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경할 수 있다. 그리고, 블룸 필터의 인덱스 값과 라우터의 각 인터페이스에 해당하는 블룸 필터 풀들(1130)과 블룸 필터 매칭(BF matching)을 수행할 수 있다. 노드는 블룸 필터 매칭(BF matching)을 통해서 패킷을 어느 인터페이스(1150)로 전달할지를 결정할 수 있다. 노드는 매칭이 성공한 인터페이스로 해당 패킷을 전달할 수 있다. Referring to FIG. 11, a node according to an exemplary embodiment may change the name of a content included in a content request packet to an index value of a Bloom filter when a content request packet is transmitted. The index value of the Bloom filter and the Bloom filter pools 1130 corresponding to each interface of the router may be subjected to BF matching. The node may determine which interface 1150 to forward the packet to via the BF matching. The node can forward the packet to the matching interface.

노드는 각 인터페이스(1150)마다에 대하여 컨텐츠 이름이 저장된 블룸 필터 풀(pool)들(1130)을 가질 수 있으며, 블룸 필터 매칭(1110)은 예를 들어, 노드의 데이터 플레인(data plane)(1110)에서 수행될 수 있다. A node may have bloom filter pools 1130 with a content name stored for each interface 1150 and the bloom filter matching 1110 may include a data plane 1110 ). ≪ / RTI >

이때, 일 실시예에서는 최장 프리픽스 매칭(longest prefix matching)을 지원하기 위해서 블룸 필터를 컨텐츠의 이름의 계층적 컴포넌트 별로 구성할 수 있다.
In this case, in one embodiment, the bloom filter may be configured for each hierarchical component of the content name to support the longest prefix matching.

도 12는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드의 동작을 설명하기 위한 도면이다. 12 is a view for explaining an operation of a node performing routing using a Bloom filter in a content-centric network according to an exemplary embodiment.

도 12를 참조하면, 일 실시예에 따른 노드는 컨트럴 플레인(Control Plane)(1210) 및 데이터 플레인(Data Plane)(1250)을 포함할 수 있다. Referring to FIG. 12, a node according to one embodiment may include a control plane 1210 and a data plane 1250.

컨트럴 플레인(Control Plane)(1210)은 적어도 하나의 컨텐츠의 이름을 반영하는 블룸 필터의 갱신 및 전송을 수행할 수 있다. The control plane 1210 may perform the update and transmission of the bloom filter reflecting the name of at least one content.

컨트럴 플레인(Control Plane)(1210)은 블룸 필터 관리자(BF Manager)(1213), 토폴로지 맵(topology map)(1216) 및 경로 탐색 데몬(Route Find Daemon)(1219)를 포함할 수 있다. The control plane 1210 may include a Bloom Filter Manager 1213, a topology map 1216, and a Route Find Daemon 1219. [

블룸 필터 관리자(BF Manager)(1213)는 볼룸 필터를 포함하는 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지를 전달할 수 있다. 블룸 필터 관리자(BF Manager)(1213)는 데이터 플레인(Data Plane)(1250)의 FIB(1251) 내에 블룸 필터 값을 설정하고 업데이트할 수 있다. The Bloom Filter Manager (BF Manager) 1213 can deliver a Bloom Filter Request message and a Bloom Filter Response message including a Bloom filter. The Bloom Filter Manager (BF Manager) 1213 may set and update Bloom filter values in the FIB 1251 of the Data Plane 1250.

토폴로지 맵(topology map)(1216)은 컨텐츠 중심 네트워크에서 각 노드에 이르는 경로 정보를 포함할 수 있다. The topology map 1216 may include path information from the content-centric network to each node.

경로 탐색 데몬(Route Find Daemon)(1219)은 각 노드 간의 링크 상태 정보를 공유함으로써 토폴로지 맵(1216)을 형성할 수 있다. The Route Find Daemon 1219 may form the topology map 1216 by sharing link state information between each node.

컨트롤 플레인(Control Plane)(1210)은 해당 노드가 블룸 필터 요청 메시지를 생성한 노드인 경우, 블룸 필터 응답 메시지에 포함된 블룸 필터의 정보를, 데이터 플레인의 포워딩 인포메이션 베이스의 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 등록할 수 있다. The control plane (control plane) 1210 transmits the information of the bloom filter included in the bloom filter response message to the bloom filter corresponding to the corresponding interface in the forwarding information base of the data plane when the corresponding node generates the bloom filter request message You can register in the filter pool.

컨트롤 플레인(Control Plane)(1210)은 블룸 필터 응답 메시지에 포함된 결합된 블룸 필터의 개수를 기반으로 블룸 필터 요청 메시지의 전달 범위를 결정할 수 있다. The control plane 1210 may determine the delivery range of the Bloom filter request message based on the number of combined Bloom filters included in the Bloom filter response message.

데이터 플레인(Data Plane)(1250)은 블룸 필터에 포함된 정보를 볼룸 필터 풀과 매칭시키고, 매칭된 블룸 필터 풀에 대응되는 인터페이스를 통해 패킷을 포워딩할 수 있다. The data plane 1250 may match the information contained in the Bloom filter with the ballroom filter pool and forward the packet through the interface corresponding to the matched Bloom filter pool.

또한, 데이터 플레인(Data Plane)(1250)은 컨텐츠 요청 패킷 내에 포함된 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경하고, 블룸 필터의 인덱스 값과 각 인터페이스에 대응하는 블룸 필터 풀(pool)을 매칭(matching)시킬 수 있다. 이때, 컨트롤 플레인(Control Plane)(1210)은 블룸 필터의 인덱스 값과 매칭되는 인터페이스로 컨텐츠 요청 패킷에 응답하는 컨텐츠 응답 패킷을 전송할 수 있다. In addition, the data plane 1250 changes the name of at least one content included in the content request packet to the index value of the bloom filter, and stores the index value of the bloom filter and the index value of the bloom filter pool ) Can be matched. At this time, the control plane (control plane) 1210 may transmit a content response packet responding to the content request packet with an interface matching the index value of the Bloom filter.

데이터 플레인(Data Plane)(1250)은 포워딩 인포메이션 베이스(Forwarding Information Base; FIB(1251), 컨텐츠 스토어(Contents Store; CS)(1253), 펜딩 인터레스트 테이블(PIT)(1255) 및 패킷 프로세싱부(Packet processing)(1257)를 포함할 수 있다. The data plane 1250 includes a Forwarding Information Base (FIB) 1251, a contents store (CS) 1253, a pending interleaving table (PIT) 1255, and a packet processing unit Packet processing (1257).

포워딩 인포메이션 베이스(Forwarding Information Base; FIB(1251)는 적어도 하나의 컨텐츠의 이름을 반영하는 적어도 하나의 블룸 필터를 포함하는 블룸 필터 풀(pool) 및 블룸 필터 풀의 적어도 하나의 블룸 필터에 대응하는 인터페이스를 포함할 수 있다. The Forwarding Information Base (FIB) 1251 includes a bloom filter pool including at least one bloom filter that reflects the name of at least one content and an interface corresponding to at least one bloom filter of the bloom filter pool . ≪ / RTI >

패킷 프로세싱부(Packet processing)(1257)는 데이터 프레임의 송, 수신을 수행할 수 있다. 그리고, 컨텐츠 스토어(Contents Store; CS)(1253), 펜딩 인터레스트 테이블(PIT)(1255)의 동작은 도 1을 통해 설명한 바와 동일하므로 해당 부분의 설명을 참조하기로 한다. A packet processing unit (packet processing) 1257 can perform transmission and reception of a data frame. The operations of the contents store (CS) 1253 and the pending interaction table (PIT) 1255 are the same as those described with reference to FIG. 1, and therefore, the description of the corresponding portions will be referred to.

전술한 바와 같이, 일 실시예에 따른 노드는 컨텐츠 중심 네트워크에서 경로 결정 시에, 컨텐츠의 이름 매칭을 블룸 필터를 이용하여 수행할 수 있다. 이 때 컨트럴 플레인(Control Plane)(1210)에서는 컨텐츠 목록을 의미하는 블룸 필터의 갱신 및 전송을 담당할 수 있다. 그리고, 데이터 플레인(Data Plane)(1250)에서는 블룸 필터 매칭(matching) 작업을 통해서 패킷 포워딩을 수행할 수 있다. As described above, a node according to an exemplary embodiment may perform name matching of contents using a Bloom filter when determining a route in a content-centric network. At this time, the control plane 1210 may be responsible for updating and transmitting the bloom filter, which means a content list. In the data plane 1250, packet forwarding can be performed through a bloom filter matching operation.

이때, 노드는 경로 탐색 데몬(Route Find Daemon)(1219)을 통해 링크 상태 정보를 공유함으로써 토폴로지 맵(topology map)(1216)을 형성할 수 있다. At this time, the node may form a topology map 1216 by sharing link state information through a route find daemon 1219. [

블룸 필터 관리자(BF Manager)(1213)는 토폴로지 맵(topology map)(1216)의 정보(예를 들어, link capacity)를 바탕으로 라우팅 정보의 요청 범위 또는 홉 수를 제한하여 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지를 전달 혹은 처리할 수 있다. The Bloom Filter Manager 1213 limits the request range or the number of hops of the routing information based on the information (e.g., link capacity) of the topology map 1216, The filter response message can be forwarded or processed.

토폴로지 맵(topology map)(1216)은 각 노드에 이르는 경로 정보를 포함하고, 컨텐츠 이름에 기반한 컨텐츠 경로와 관련된 정보는 블룸 필터의 형태로 노드들 간에 공유될 수 있다. The topology map 1216 includes path information to each node, and information related to the content path based on the content name may be shared among the nodes in the form of a Bloom filter.

일 실시예에서 노드들은 블룸 필터 정보를 얻기 위해 토폴로지 맵(topology map)(1216)을 이용해서 블룸 필터 요청 메시지를 전달하고, 결합된 블룸 필터 형태의 블룸 필터 응답 메시지를 수신할 수 있다. In one embodiment, the nodes may use the topology map 1216 to communicate Bloom filter request messages to obtain Bloom filter information, and receive Bloom filter response messages in the form of a combined Bloom filter.

노드는 컨트럴 플레인(Control Plane)(1210)의 블룸 필터 관리자(BF Manager)(1213)를 통해서 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지를 전달할 수 있다. The node may forward the bloom filter request message and the bloom filter response message via the BF Manager 1213 of the control plane 1210. [

블룸 필터 관리자(BF Manager)(1213)는 자신이 보낸 블룸 필터 요청 메시지에 해당하는 블룸 필터 응답 메시지를 받으면, 블룸 필터 응답 메시지의 정보를 기반으로 데이터 플레인(Data Plane)(1250)의 FIB(1251)를 갱신할 수 있다. Upon receipt of the bloom filter response message corresponding to the bloom filter request message sent from the bloom filter manager (BF Manager) 1213, the bloom filter manager 1213 receives the bloom filter response message from the FIB 1251 of the data plane 1250 Can be updated.

블룸 필터를 활용하여 컨텐츠의 이름을 저장할 때, 각각의 노드들의 컨텐츠 스토어(Contents Store; CS)(1253)에는 캐쉬된 컨텐츠의 이름 리스트를 저장한 캐쉬 컨텐츠를 위한 블룸 필터가 존재할 수 있다. 그리고, 각각의 노드들에는 각각의 호스트 기기들이 하드 디스크에 저장된 컨텐츠 목록을 가지고 작성한, 영구 컨텐츠를 위한 블룸 필터가 존재할 수 있다. When storing the name of the content using the Bloom filter, a Bloom filter for the cache content storing the name list of the cached contents may exist in the contents store (CS) 1253 of each node. In addition, each node may have a Bloom filter for permanent contents created by each host device with a list of contents stored in the hard disk.

전술한 바와 같이 일 실시예에서는 이러한 두 타입의 블룸 필터를 구별함으로써, 블룸 필터 요청 메시지를 생성한 노드가 캐쉬된 컨텐츠 목록에 대한 블룸 필터 또는 영구 컨텐츠 목록에 대한 블룸 필터를 각각 선별적으로 요청하도록 할 수 있다.
As described above, in one embodiment, the two types of Bloom filters are distinguished so that the node that generated the Bloom filter request message selectively requests the Bloom filter for the cached content list or the Bloom filter for the permanent content list can do.

도 13은 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드가 컨텐츠의 계층적 이름을 지원하기 위한 결합된 블룸 필터를 전달하는 방법을 설명하기 위한 도면이다.FIG. 13 is a diagram for explaining a method in which a node that performs routing using a Bloom filter in a content-centered network according to an embodiment delivers a combined Bloom filter for supporting hierarchical names of contents.

도 13을 참조하면, 일 실시예에 따른 노드는 컨텐츠 중심 네트워크에서 컨텐츠의 계층적 이름에 대한 최장 프리픽스 매칭(longest prefix matching; LPM)을 수행하기 위해서 컨텐츠의 계층적 이름의 각 컴포넌트 별로 여러 개의 블룸 필터를 사용하여 메시지를 요청, 전달, 및 결합할 수 있다. 13, in order to perform a longest prefix matching (LPM) on a hierarchical name of a content in a content-centric network, a node according to an exemplary embodiment includes a plurality of blobs You can use filters to request, forward, and combine messages.

컨텐츠의 이름을 블룸 필터에 저장할 때, 계층적 이름에 대한 최장 프리픽스 매칭 검색을 지원하기 위해서 컨텐츠의 이름은 각 컴포넌트로 나누어 각 블룸 필터에 저장될 수 있다.When storing the name of the content in a Bloom filter, the name of the content can be stored in each Bloom filter divided by each component to support the longest prefix-matching search for the hierarchical name.

예를 들어, 계층적 이름의 첫 번째 컴포넌트(ABC)를 담는 블룸 필터(Component 1 BF), 첫 번째 및 두 번째를 연결한 컴포넌트(ABC/sait)를 담는 블룸 필터(Component 2 BF), 첫 번째, 두 번째, 및 세 번째를 연결한 컴포넌트(ABC/sait/fit)를 담는 블룸 필터(Component 3 BF)와 같이 계층적인 컴포넌트들을 담기 위해 여러 개의 블룸 필터들을 둘 수 있다. For example, a Bloom filter (Component 1 BF) that contains the first component (ABC) of the hierarchical name, a Bloom filter (Component 2 BF) that contains the first and second connected components (ABC / , And a Bloom filter (Component 3 BF) that contains the second, third, and third connected components (ABC / sait / fit).

일 실시예에서는 이와 같은 방법을 통해, 컨텐츠의 이름의 확인(look up) 시에 최장 프리픽스 매칭을 지원하도록 블룸 필터를 구성할 수 있다. In one embodiment, a Bloom filter can be configured to support the longest prefix matching at the time of lookup of the content name through such a method.

이러한 컴포넌트 별 블룸 필터들은 컨텐츠의 이름을 광고하는 라우팅 메시지로서 이웃 노드들 사이에서 전달된다. 이때, 각 노드들 간에는 계층적 이름의 컴포넌트의 개수를 정하여 메시지 혹은 그 밖의 정보 등을 요청할 수 있다. These component-by-component Bloom filters are passed between neighboring nodes as a routing message advertising the name of the content. At this time, it is possible to request a message or other information among the nodes by setting the number of hierarchical name components.

예를 들어, 노드들은 계층적 이름의 컴포넌트가 몇 개 이하일 것 등과 같이 특정 조건을 지닌 블룸 필터들을 요청하고 전달받을 수 있다. 또한, 노드들은 이를 활용하여 계층적 이름의 최상위 컴포넌트만 담고 있는 블룸 필터를 홉 수(범위)의 제한없이 여러 라우터를 거쳐서 광고할 수 있다. For example, nodes may request and receive Bloom filters with certain conditions, such as fewer than a few components of a hierarchical name. In addition, nodes can use this to advertise Bloom filters, which contain only the top-level components of a hierarchical name, across multiple routers without limiting the number of hops (ranges).

이 밖에도, 네트워크 경계면에 위치하는 보더(Border) 노드(예를 들어, 라우터)끼리는 특정 개수의 컴포넌트에 해당하는 블룸 필터들은 교환하자는 설정을 맺어서 라우팅 정보로서 활용할 수 있다. In addition, border nodes (for example, routers) located at a network interface can be used as routing information by establishing a setting for exchanging bloom filters corresponding to a specific number of components.

이러한 컴포넌트 별 블룸 필터가 결합될 때는, 노드는 같은 컴포넌트의 개수를 포함하는 블룸 필터들끼리 결합 되도록 하고, 이를 통해서 계층적 이름에 대한 최장 프리픽스 매칭 확인(longest prefix matching look up)을 지원할 수 있다.
When such a component-by-component bloom filter is combined, the nodes may combine bloom filters that include the same number of components and thereby support a longest prefix matching lookup for the hierarchical name.

도 14는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터를 결합할 때 채움 비(fill ratio)에 기반하여 블룸 필터를 분리하는 방법을 설명하기 위한 도면이다. FIG. 14 is a diagram for explaining a method of separating a bloom filter based on a fill ratio when combining bloom filters according to a method of performing routing using a bloom filter in a content-centered network according to an exemplary embodiment; to be.

블룸 필터가 여러 홉을 거치면서 정보 결합이 진행되면 결합된 블룸 필터의 채움 비(fill ratio)는 점차 높아질 수 있다. 이러한 현상은 결합된 블룸 필터를 활용하여 정보를 확인(look up)을 할 때, 해당 컨텐츠의 이름이 블룸 필터에 등록되지 않은 상황임에도 불구하고, 컨텐츠 요청 패킷이 블룸 필터와 매칭되는 상황을 가져올 수 있다. 다시 말해, 컨텐츠 요청 패킷이 기대하지 않은 인터페이스로 잘못 전달될 수 있다. The fill ratio of the combined Bloom filter may gradually increase when the information combining proceeds as the Bloom filter passes through several hops. This phenomenon may lead to a situation where the content request packet matches the Bloom filter even though the name of the content is not registered in the Bloom filter when the information is checked up using the combined Bloom filter have. In other words, the content request packet may be misdirected to an unexpected interface.

따라서, 일 실시예에서는 블룸 필터를 결합할 때, 채움 비에 대한 임계값(threshold)을 설정하고, 이 값보다 채움 비(fill ratio)가 커지면 새로운 결합을 위한 블룸 필터를 추가 생성하고, 추가 블룸 필터에 결합을 시도할 수 있다. Accordingly, in one embodiment, when a Bloom filter is combined, a threshold value for a fill ratio is set. When the fill ratio is greater than the threshold value, a Bloom filter for new combination is additionally generated. You can try to join the filter.

채움 비(fill ratio)가 임계값보다 커지면, 결합을 위한 복수개의 블룸 필터들을 사용함으로써 긍정 오류의 증가를 억제시킬 수 있다. If the fill ratio is greater than the threshold value, the increase in positive error can be suppressed by using a plurality of bloom filters for combining.

예를 들어, 일 실시예에서는 도 14와 같이 노드 1(1401), 노드 2(1403) 및 노드 3(1405)와 같이 여러 홉을 거치면서 블룸 필터를 결합할 때에, 블룸 필터 1(1410)의 채움 비가 미리 설정된 임계값보다 같거나 클 경우, 결합을 위한 새로운 블룸 필터 2(1430)(혹은 블룸 필터 3(1450))을 추가 생성하고, 추가 블룸 필터인 블룸 필터 2(1430)에 결합을 시도할 수 있다. For example, in one embodiment, when combining Bloom filters through several hops, such as node 1 1401, node 2 1403, and node 3 1405 as shown in FIG. 14, If the fill ratio is equal to or greater than a preset threshold value, a new Bloom filter 2 1430 (or Bloom filter 3 1450) for combining is additionally created and attempted to join Bloom filter 2 1430, an additional Bloom filter can do.

이때, 채움 비에 대한 임계값(threshold)은 예를 들어, 긍정 오류(false positive)'가 많이 증가하는 구간인 전체 홉 수에 대한 1/2 값으로 설정할 수 있다.
At this time, the threshold value for the filling ratio can be set to a half value with respect to the total number of hops, for example, a period in which a false positive 'increases a lot.

도 15는 일 실시예에 따른 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법에 따라 블룸 필터 요청 메시지를 전달한 노드가 블룸 필터 요청 메시지의 전달 범위를 결정하는 방법을 나타낸 플로우 차트이다. FIG. 15 is a flowchart illustrating a method of determining a delivery range of a Bloom filter request message by a node that has transmitted a Bloom filter request message according to a method of performing routing using a Bloom filter in a content-centered network according to an exemplary embodiment.

도 15를 참조하면, 블룸 필터 요청 메시지를 전달하여 블룸 필터를 요청한 노드는 이에 대한 응답으로 블룸 필터 응답 메시지를 수신할 수 있다(1510). 이때, 블룸 필터 응답 메시지는 결합된 블룸 필터를 포함할 수 있다. Referring to FIG. 15, a node that requests a Bloom filter by transmitting a Bloom filter request message may receive a Bloom filter response message in response to the Bloom filter response message (1510). At this time, the bloom filter response message may include a combined bloom filter.

노드는 블룸 필터 응답 메시지에 포함된 블룸 필터의 개수를 기반으로 블룸 필터 요청 메시지의 전달 범위를 결정할 수 있다. The node may determine the delivery range of the bloom filter request message based on the number of bloom filters included in the bloom filter response message.

노드는 1510에서 수신한 블룸 필터 응답 메시지에 포함된, 결합된 블룸 필터의 개수가 미리 설정된 임계값보다 큰지 여부를 판단할 수 있다(1520).The node may determine 1520 whether the number of combined bloom filters included in the bloom filter response message received at 1510 is greater than a preset threshold value.

1520의 판단 결과, 결합된 블룸 필터의 개수가 미리 설정된 임계값보다 크다면, 노드는 블룸 필터 요청 메시지의 전달 범위를 감소시킬 수 있다(1530). If it is determined in operation 1520 that the number of combined bloom filters is greater than a preset threshold value, the node may decrease the transmission range of the bloom filter request message (1530).

반면에, 1520의 판단 결과, 결합된 블룸 필터의 개수가 미리 설정된 임계값보다 작다면, 노드는 블룸 필터 요청 메시지의 전달 범위를 증가시키거나 그대로 유지(hold)할 수 있다(1540).
On the other hand, if it is determined in step 1520 that the number of combined Bloom filters is less than a preset threshold value, the node may increase or decrease the transmission range of the Bloom filter request message (step 1540).

이와 같이 일 실시 예에 따르면, 링크 메트릭(link metric) 정보를 활용하여 라우팅 정보의 교환 범위(홉 수)를 제한함으로써 긍정 오류(false positive)를 억제시키고, 블룸 필터를 활용한 경로 결정 시에 신뢰성을 높일 수 있다. According to this embodiment, by using the link metric information, it is possible to suppress the false positive by limiting the exchange range (the number of hops) of the routing information, and to reduce the reliability .

또한, 일 실시 예에 따르면, 링크 코스트(link cost)가 낮은 경로에서 블룸 필터 정보를 요청하여 해당하는 경로 상에 위치한 컨텐츠의 이름 정보를 획득함으로써 데이터의 전송 지연(delay)이 경감시킬 수 있다. Also, according to an exemplary embodiment of the present invention, it is possible to reduce data transmission delay by requesting bloom filter information on a path having a low link cost and acquiring name information of contents located on a corresponding path.

또한, 일 실시 예에 따르면, 컨텐츠 이름의 컴포넌트 별로 블룸 필터를 구성하고, 이를 요청 또는 전달함으로써 계층적 이름의 최장 프리픽스 매칭(longest prefix matching)을 수행할 수 있다. In addition, according to an exemplary embodiment, a bloom filter may be constructed for each component of the content name, and a longest prefix matching of a hierarchical name may be performed by requesting or transmitting the bloom filter.

또한, 일 실시 예에 따르면, 블룸 필터를 컴포넌트 별로 구성함으로써 블룸 필터 요청 노드가 최상위 이름(root name) 컴포넌트에 대한 블룸 필터를 전체 노드에게 요청하여 컨텐츠 이름을 통한 경로 결정 시, 노드 간 최상위 이름을 통한 경로를 결정하는 것을 보장할 수 있다.In addition, according to an exemplary embodiment, when the Bloom filter request node requests the entire node with the Bloom filter for the root name component by constructing the Bloom filter according to the component, when determining the route through the content name, Lt; RTI ID = 0.0 > a < / RTI >

또한, 일 실시 예에 따르면, 영구 컨텐츠 및 캐쉬 컨텐츠의 블룸 필터를 구분하여 작성함으로써 블룸 필터 요청 노드가 영구 컨텐츠 또는 캐쉬 컨텐츠에 대한 선별적인 라우팅을 수행하도록 할 수 있다.
In addition, according to an exemplary embodiment, the Bloom filter request node may selectively perform the selective routing for the persistent content or the cache content by separately generating the Bloom filter of the persistent content and the cache content.

이상과 같이 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

101,105: 페이스(face)
110: 컨텐츠 스토어(Contents Store)
130: 펜딩 인터레스트 테이블(Pending Interest Table; PIT)
150: 포워딩 인포메이션 베이스(Forwarding Information Base; FIB)
101, 105: face
110: Contents Store
130: Pending Interest Table (PIT)
150: Forwarding Information Base (FIB)

Claims (20)

블룸 필터- 상기 블룸 필터는 노드가 포함하는 적어도 하나의 컨텐츠의 이름을 반영하여 생성된 것임-를 포함하는 광고 메시지를 수신하는 단계;
상기 블룸 필터의 정보에 기초하여 경로 정보를 파악하는 단계; 및
상기 경로 정보를 이용하여 라우팅(routing)을 수행하는 단계
를 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
Bloom filter - the bloom filter is generated reflecting the name of at least one content that the node includes; receiving an advertisement message;
Determining path information based on the information of the Bloom filter; And
Performing routing using the path information
Wherein the routing is performed using a Bloom filter in a content-centric network.
제1항에 있어서,
해당 노드가 포함하는 경로 정보에 기초하여 블룸 필터 요청 메시지를 생성하는 단계; 및
상기 블룸 필터 요청 메시지를 전달하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
The method according to claim 1,
Generating a Bloom filter request message based on path information included in the node; And
Transmitting the Bloom filter request message
Further comprising the steps of: receiving a broadcast message from a content-centric network;
제2항에 있어서,
상기 경로 정보는
상기 해당 노드로부터의 홉 카운트(hop count)에 기반하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
3. The method of claim 2,
The path information
And performing a routing using a Bloom filter in a content-centric network based on a hop count from the node.
제2항에 있어서,
상기 블룸 필터 요청 메시지에 응답하는 블룸 필터 응답 메시지를 수신하는 단계
를 더 포함하고,
상기 해당 노드가 상기 블룸 필터 요청 메시지를 생성한 노드인 경우,
상기 블룸 필터 응답 메시지에 포함된 블룸 필터의 정보를 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 등록하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
3. The method of claim 2,
Receiving a bloom filter response message in response to the bloom filter request message
Further comprising:
If the corresponding node is the node that generated the Bloom filter request message,
Registering the information of the bloom filter included in the bloom filter response message in a bloom filter pool corresponding to the corresponding interface
Further comprising the steps of: receiving a broadcast message from a content-centric network;
제4항에 있어서,
상기 블룸 필터 응답 메시지에 포함된, 결합된 블룸 필터의 개수에 기초하여 상기 블룸 필터 요청 메시지의 전달 범위를 결정하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 노드가 정보를 광고하는 방법.
5. The method of claim 4,
Determining a delivery range of the Bloom filter request message based on the number of combined Bloom filters included in the Bloom filter response message
Further comprising the steps of: receiving information from a content-centric network;
제2항에 있어서,
상기 블룸 필터 요청 메시지에 응답하는 블룸 필터 응답 메시지를 수신하는 단계;
상기 해당 노드가 포함하는 적어도 하나의 컨텐츠의 이름을 반영하여 제1 블룸 필터를 생성하는 단계;
상기 제1 블룸 필터와 상기 블룸 필터 요청 메시지에 포함된 블룸 필터를 결합하여 제2 블룸 필터를 생성하는 단계; 및
상기 제2 블룸 필터와 상기 해당 노드의 경로 정보를 포함하는 블룸 필터 응답 메시지를 전달하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
3. The method of claim 2,
Receiving a bloom filter response message in response to the bloom filter request message;
Generating a first bloom filter by reflecting a name of at least one content included in the corresponding node;
Generating a second bloom filter by combining the first bloom filter and the bloom filter included in the bloom filter request message; And
Transmitting a Bloom filter response message including the second bloom filter and path information of the corresponding node
Further comprising the steps of: receiving a broadcast message from a content-centric network;
제6항에 있어서,
상기 제2 블룸 필터를 생성하는 단계는
상기 블룸 필터 요청 메시지에 포함된 블룸 필터와 상기 제1 블룸 필터의 동일 위치에 있는 정보 비트들에 대하여 OR 연산을 수행하여 상기 블룸 필터와 상기 제1 블룸 필터를 결합하는 단계; 및
상기 결합 결과를 이용하여 상기 제2 블룸 필터를 생성하는 단계
를 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
The method according to claim 6,
The step of generating the second bloom filter
Performing an OR operation on information bits in the same position of the bloom filter and the first bloom filter included in the bloom filter request message to combine the bloom filter and the first bloom filter; And
Generating the second bloom filter using the combined result
Wherein the routing is performed using a Bloom filter in a content-centric network.
제6항에 있어서,
상기 제2 블룸 필터의 채움 비(fill ratio)와 미리 설정된 임계값을 비교하는 단계; 및
상기 비교 결과를 기초로 추가적인 블룸 필터의 생성 여부를 결정하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
The method according to claim 6,
Comparing a fill ratio of the second bloom filter with a predetermined threshold value; And
Determining whether to generate an additional Bloom filter based on the comparison result
Further comprising the steps of: receiving a broadcast message from a content-centric network;
제6항에 있어서,
상기 제1 블룸 필터를 생성하는 단계는
상기 해당 노드가 포함하는 적어도 하나의 컨텐츠가 영구 컨텐츠(permanent contents)와 캐시 컨텐츠(cached contents) 중 어디에 해당하는지를 포함하는 컨텐츠의 속성을 반영한 별도의 블룸 필터를 생성하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
The method according to claim 6,
Wherein generating the first bloom filter comprises:
Generating a separate bloom filter reflecting attributes of contents including at least one content included in the node corresponds to permanent contents and cached contents;
Further comprising the steps of: receiving a broadcast message from a content-centric network;
제1항에 있어서,
상기 적어도 하나의 컨텐츠를 요청하는 컨텐츠 요청 패킷을 수신하는 단계;
상기 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경하는 단계;
상기 블룸 필터의 인덱스 값과 각 인터페이스에 대응하는 블룸 필터 풀(pool)을 매칭(matching)시키는 단계; 및
상기 블룸 필터의 인덱스 값에 매칭되는 인터페이스로 상기 컨텐츠 요청 패킷에 응답하는 컨텐츠 응답 패킷을 전송하는 단계
를 더 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
The method according to claim 1,
Receiving a content request packet requesting the at least one content;
Changing a name of the at least one content to an index value of a Bloom filter;
Matching an index value of the Bloom filter with a Bloom filter pool corresponding to each interface; And
Transmitting a content response packet responsive to the content request packet to an interface matching an index value of the Bloom filter
Further comprising the steps of: receiving a broadcast message from a content-centric network;
제1항에 있어서,
상기 광고 메시지는
상기 적어도 하나의 컨텐츠의 이름이 계층적 컴포넌트 별로 나누어 저장되는 적어도 하나의 블룸 필터를 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
The method according to claim 1,
The advertisement message
And at least one bloom filter in which the name of the at least one content is divided and stored for each hierarchical component.
제1항 내지 제11항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 1 to 11. 적어도 하나의 컨텐츠의 이름을 반영하는 블룸 필터의 갱신 및 전송을 수행하는 컨트롤 플레인(control plane); 및
상기 블룸 필터에 포함된 정보를 볼룸 필터 풀과 매칭시키고, 매칭된 블룸 필터 풀에 대응되는 인터페이스를 통해 패킷을 포워딩하는 데이터 플레인(data plane)
을 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
A control plane for performing update and transmission of the bloom filter reflecting the name of at least one content; And
A data plane for matching information included in the Bloom filter with a ballroom filter pool and for forwarding a packet through an interface corresponding to the matched Bloom filter pool,
A node that performs routing using a Bloom filter in a content-centric network.
제13항에 있어서,
상기 컨트롤 플레인은
상기 볼룸 필터를 포함하는 블룸 필터 요청 메시지 및 블룸 필터 응답 메시지를 전달하는 블룸 필터 관리자(Manager);
각 노드에 이르는 경로 정보를 포함하는 토폴로지 맵(topology map); 및
상기 각 노드 간의 링크 상태 정보를 공유함으로써 상기 토폴로지 맵을 형성하는 경로 탐색 데몬(Route Find Daemon)
을 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
14. The method of claim 13,
The control plane
A bloom filter manager for delivering a bloom filter request message and a bloom filter response message including the ballroom filter;
A topology map including path information to each node; And
A route search daemon for forming the topology map by sharing link state information between the nodes,
A node that performs routing using a Bloom filter in a content-centric network.
제14항에 있어서,
상기 컨트롤 플레인은
해당 노드가 상기 블룸 필터 요청 메시지를 생성한 노드인 경우,
상기 블룸 필터 응답 메시지에 포함된 블룸 필터의 정보를, 상기 데이터 플레인의 포워딩 인포메이션 베이스의 해당 인터페이스에 대응하는 블룸 필터 풀(pool)에 등록하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
15. The method of claim 14,
The control plane
If the node is the node that generated the Bloom filter request message,
A node that performs routing using a Bloom filter in a content-centric network that registers information of the bloom filter included in the bloom filter response message in a bloom filter pool corresponding to a corresponding interface of the data plane forwarding information base, .
제15항에 있어서,
상기 컨트롤 플레인은
상기 블룸 필터 응답 메시지에 포함된 결합된 블룸 필터의 개수를 기반으로 상기 블룸 필터 요청 메시지의 전달 범위를 결정하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
16. The method of claim 15,
The control plane
A node for performing routing using a bloom filter in a content-centric network for determining a delivery range of the bloom filter request message based on the number of combined bloom filters included in the bloom filter response message.
제14항에 있어서,
상기 블룸 필터 관리자는
상기 데이터 플레인의 포워딩 인포메이션 베이스 내의 블룸 필터의 값을 설정하고 업데이트하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
15. The method of claim 14,
The Bloom filter manager
A node for performing routing using a Bloom filter in a content-centric network for setting and updating a value of a Bloom filter in a forwarding information base of the data plane;
제13항에 있어서,
상기 데이터 플레인은
포워딩 인포메이션 베이스(Forwarding Information Base)
를 포함하고,
상기 포워딩 인포메이션 베이스는
상기 적어도 하나의 컨텐츠의 이름을 반영하는 적어도 하나의 블룸 필터를 포함하는 블룸 필터 풀(pool); 및
상기 블룸 필터 풀의 적어도 하나의 블룸 필터에 대응하는 인터페이스
를 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
14. The method of claim 13,
The data plane
Forwarding Information Base
Lt; / RTI >
The forwarding information base
A bloom filter pool including at least one bloom filter that reflects the name of the at least one content; And
An interface corresponding to at least one Bloom filter of the Bloom filter pool
A node that performs routing using a Bloom filter in a content-centric network.
제13항에 있어서,
상기 데이터 플레인은
컨텐츠 요청 패킷 내에 포함된 적어도 하나의 컨텐츠의 이름을 블룸 필터의 인덱스 값으로 변경하고, 상기 블룸 필터의 인덱스 값과 각 인터페이스에 대응하는 블룸 필터 풀(pool)을 매칭(matching)시키고,
상기 컨트롤 플레인은
상기 블룸 필터의 인덱스 값과 매칭되는 인터페이스로 상기 컨텐츠 요청 패킷에 응답하는 컨텐츠 응답 패킷을 전송하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드.
14. The method of claim 13,
The data plane
Changing a name of at least one content included in the content request packet to an index value of a bloom filter, matching an index value of the bloom filter with a bloom filter pool corresponding to each interface,
The control plane
And a content response packet that responds to the content request packet with an interface matched with the index value of the Bloom filter.
제13항에 있어서,
상기 블룸 필터 응답 메시지는
상기 적어도 하나의 컨텐츠의 이름이 계층적 컴포넌트 별로 나누어 저장되는 적어도 하나의 블룸 필터를 포함하는 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 방법.
14. The method of claim 13,
The Bloom filter response message
And at least one bloom filter in which the name of the at least one content is divided and stored for each hierarchical component.
KR1020130029889A 2013-03-20 2013-03-20 Method and node performing routing using bloom filter in a content centric network KR102110524B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130029889A KR102110524B1 (en) 2013-03-20 2013-03-20 Method and node performing routing using bloom filter in a content centric network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130029889A KR102110524B1 (en) 2013-03-20 2013-03-20 Method and node performing routing using bloom filter in a content centric network

Publications (2)

Publication Number Publication Date
KR20140115155A true KR20140115155A (en) 2014-09-30
KR102110524B1 KR102110524B1 (en) 2020-05-28

Family

ID=51758578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130029889A KR102110524B1 (en) 2013-03-20 2013-03-20 Method and node performing routing using bloom filter in a content centric network

Country Status (1)

Country Link
KR (1) KR102110524B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045065A (en) * 2004-03-31 2006-05-16 마이크로소프트 코포레이션 Routing in peer-to-peer networks
KR20110075569A (en) * 2009-12-28 2011-07-06 경희대학교 산학협력단 Method for tracebacking packet sensor network
KR20130008325A (en) * 2011-07-12 2013-01-22 삼성전자주식회사 A communication method of content owner, middle node and content requester in a contents centric network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060045065A (en) * 2004-03-31 2006-05-16 마이크로소프트 코포레이션 Routing in peer-to-peer networks
KR20110075569A (en) * 2009-12-28 2011-07-06 경희대학교 산학협력단 Method for tracebacking packet sensor network
KR20130008325A (en) * 2011-07-12 2013-01-22 삼성전자주식회사 A communication method of content owner, middle node and content requester in a contents centric network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정태중 외 2명. "컨텐트 중심 네트워크를 위한 블룸필터 기반 확장 가능한 라우팅 기법 연구", 2012.6월* *

Also Published As

Publication number Publication date
KR102110524B1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
KR102301353B1 (en) Method for transmitting packet of node and content owner in content centric network
JP6578416B2 (en) Method and system for load balancing anycast data traffic
EP2214357B1 (en) Method and system for facilitating forwarding a packet in a content-centric network
US9825860B2 (en) Flow-driven forwarding architecture for information centric networks
US20140280823A1 (en) Wire-speed pending interest table
KR101337039B1 (en) Server-side load balancing using parent-child link aggregation groups
US9948550B2 (en) Method, apparatus, and system for routing and forwarding
CN104901997B (en) System and method for the direct storage access in content center network
KR20170037818A (en) Information-centric networking with small multi-path or single-path forwarding state
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
KR20150037938A (en) High-speed content routing
US20140181226A1 (en) Content-centric network communication method and apparatus
WO2013130359A1 (en) A method for collaborative caching for content-oriented networks
US9407687B2 (en) Method, apparatus, and network system for acquiring content
CN103873602A (en) Network resource naming method and generating device
KR20170036610A (en) System and method for eliminating undetected interest looping in information-centric networks
JP2016059039A (en) Interest keep alive in intermediate router in ccn
US20150049764A1 (en) Distributed Storage System, Control Apparatus, Client Terminal, Load Balancing Method and Program
RU2483457C2 (en) Message routing platform
US20170012874A1 (en) Software router and methods for looking up routing table and for updating routing entry of the software router
KR102110524B1 (en) Method and node performing routing using bloom filter in a content centric network
US10033642B2 (en) System and method for making optimal routing decisions based on device-specific parameters in a content centric network
KR102397923B1 (en) Apparatus for managing content name in information-centric networking and method for the same
Azgin et al. H 2 N4: Packet forwarding on hierarchical hash-based names for content centric networks
JP2006221457A (en) Servant for replication control in pure p2p communication, replication control method for the same, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant