[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20150114404A - System and method for device registration and discovery in content-centric networks - Google Patents

System and method for device registration and discovery in content-centric networks Download PDF

Info

Publication number
KR20150114404A
KR20150114404A KR1020150038880A KR20150038880A KR20150114404A KR 20150114404 A KR20150114404 A KR 20150114404A KR 1020150038880 A KR1020150038880 A KR 1020150038880A KR 20150038880 A KR20150038880 A KR 20150038880A KR 20150114404 A KR20150114404 A KR 20150114404A
Authority
KR
South Korea
Prior art keywords
namespace
client device
content object
discovery
content
Prior art date
Application number
KR1020150038880A
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 팔로 알토 리서치 센터 인코포레이티드
Publication of KR20150114404A publication Critical patent/KR20150114404A/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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/305
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

One embodiment of the present invention provides a system for device registration and discovery in a content-centric network (CCN). During operation, the system receives, by a computer, an interest for registration of a client device. The Interest includes at least a unique identifier associated with the client device. In response to the interest, the system generates a content object, which includes at least a name assigned to the client device; and sends the content object to the client device, thereby enabling the client device to be discovered by other client devices in the CCN.

Description

콘텐츠-중심 네트워크 내의 장치 등록 및 발견을 위한 시스템과 방법{SYSTEM AND METHOD FOR DEVICE REGISTRATION AND DISCOVERY IN CONTENT-CENTRIC NETWORKS}[0001] SYSTEM AND METHOD FOR DEVICE REGISTRATION AND DISCOVERY IN CONTENT-CENTRIC NETWORKS [0002]

본 개시는 일반적으로는 콘텐츠-중심 네트워크(CCN)에 관련된다. 좀더 상세하게는, 본 개시는 콘텐츠-중심 네트워크(CCN) 내의 장치 등록 및 발견을 위한 시스템 및 방법에 관련된다.This disclosure generally relates to a content-centric network (CCN). More particularly, this disclosure relates to systems and methods for device registration and discovery within a content-centric network (CCN).

인터넷 및 전자 상거래의 확산은 네트워크 산업에서의 혁명적 변화를 계속해서 가속시키고 있다. 오늘날, 온라인 영화 관람부터 일간 뉴스 배달, 소비자 판매, 그리고 인스턴트 메시징에 이르기까지, 상당한 수의 정보교환이 온라인에서 수행된다. 증가하는 인터넷 어플리케이션은 또한 모바일로 되고 있다. 그러나, 현재의 인터넷은 주로 위치-기반의 어드레싱 기법(scheme)에서 동작한다. 2 개의 가장 흔한 프로토콜인, 인터넷 프로토콜(IP)과 이더넷 프로토콜은 둘다 종단-호스트 어드레스를 기반으로 한다. 즉, 콘텐츠의 소비자는 물리적 오브젝트나 위치와 전형적으로 연관되는 어드레스(예를 들면, IP 어드레스나 이더넷 미디어 접근 제어(MAC) 어드레스)로부터 콘텐츠를 명시적으로 요청함으로써 콘텐츠를 수신할 수 있을뿐이다. 제한적인 어드레싱 기법은 항상 변화하는 네트워크 수요를 충족시키기에 점점 더 부적합해지고 있다.The proliferation of the Internet and electronic commerce continues to accelerate the revolutionary changes in the network industry. Today, a significant number of information exchanges are conducted online, ranging from online movie viewing to daily news delivery, consumer sales, and instant messaging. Increasing Internet applications are also becoming mobile. However, the current Internet operates mainly in a location-based addressing scheme. The two most common protocols, Internet Protocol (IP) and Ethernet protocols are both based on end-to-end addresses. That is, a consumer of content can only receive content by explicitly requesting content from an address (e.g., an IP address or an Ethernet media access control (MAC) address) typically associated with a physical object or location. Limited addressing techniques are becoming increasingly inadequate to meet ever-changing network demands.

최근에, 정보-중심 네트워크(information-centric network, ICN) 아키텍처가 콘텐츠가 직접 명명되고 다루어지는 산업에서 제안되어 왔다. 콘텐츠-중심 네트워크(CCN)은 콘텐츠 전송에 새로운 접근 방법을 가져온다. 콘텐츠가 이동하는 엔드-투-엔드(end-to-end) 대화로서 어플리케이션 레벨에서 관찰되는 네트워크 트래픽을 갖는 대신에, 콘텐츠는 그 유일한 이름에 기초하여 요청되거나 반환되고, 그리고 네트워크는 제공자로부터 소비자로 콘텐츠를 라우팅하게 된다. 콘텐츠는, 텍스트, 이미지, 비디오 및/또는 오디오와 같은 데이터의 형식을 포함하여, 통신 시스템에서 전송될 수 있는 데이터를 포함한다는 것을 주목하라. 소비자와 제공자는 컴퓨터 주변의 사람이나 CCN 내부 또는 외부의 자동화 프로세스일 수 있다. 콘텐츠의 부분은 전체 콘텐츠나 콘텐츠의 각 부분을 참조할 수 있다. 예를 들면, 신문 기사는 데이터 패킷으로 구현되는 복수의 콘텐츠의 부분으로 표현될 수 있다. 콘텐츠의 부분은 또한 콘텐츠의 부분을 인증 날짜, 생성 날짜, 콘텐츠 소유자 등과 같은 정보로 기술하거나 증강하는 메타데이터와 연관될 수 있다. Recently, an information-centric network (ICN) architecture has been proposed in industries where content is directly named and handled. A content-centric network (CCN) brings a new approach to content delivery. Instead of having network traffic observed at the application level as an end-to-end conversation over which content is moving, content is requested or returned based on its unique name, and the network is moved from the provider to the consumer The content is routed. Note that the content includes data that can be transmitted in a communication system, including the format of data, such as text, images, video and / or audio. Consumers and providers can be automation processes inside or outside the CCN or around the computer. The portion of the content may refer to the entire content or each portion of the content. For example, a newspaper article may be represented as a portion of a plurality of content that is implemented as a data packet. Portions of content may also be associated with metadata describing or augmenting portions of the content with information such as an authentication date, a creation date, a content owner, and the like.

CCN에서, 이름은 중요한 역할을 갖는다. 좀더 상세하게는, 콘텐츠 오브젝트와 인터레스트(interest)는 그들의 이름에 의해서 식별되며, 이는 전형적으로 계층적으로 구조화된 가변-길이 식별자(HSVLI)이다. 인터레스트와 콘텐츠 오브젝트는 그들의 이름에 기초하여 네트워크를 통해 흐른다. 컴퓨팅 장치가 최초에 CCN 네트워크에 합류할 때, 인터레스트 메시지를 어디로 전달해야 하는지 알아야 하며, 또한 새로운 환경 내의 기본 서비스를 획득하기 위하여 송신되어야 하는 인터레스트 메시지 내에 어떤 이름이나 이름 프리픽스가 포함될지 알아야 한다. 또한, 장치는 자신을 CCN 네트워크에 등록해야 한다.In CCN, names have an important role. More specifically, the content objects and interests are identified by their names, which is typically a hierarchically structured variable-length identifier (HSVLI). The interrest and content objects flow through the network based on their name. When the computing device first joins the CCN network, it needs to know where to deliver the inter- est message and also know what name or name prefix is to be included in the inter- est message to be sent in order to obtain the underlying service in the new environment . In addition, the device must register itself with the CCN network.

본 발명의 일 실시예는 콘텐츠 중심 네트워크(content centric network, CCN) 내의 장치 등록 및 발견을 위한 시스템을 제공한다. 동작 동안, 시스템은, 컴퓨터에 의해서, 클라이언트 장치의 등록을 위한 인터레스트를 수신한다. 상기 인터레스트는 상기 클라이언트 장치와 연관된 적어도 유일한 식별자를 포함한다. 상기 인터레스트에 응답하여, 시스템은 콘텐츠 오브젝트를 생성하고, 이는 상기 클라이언트 장치에 할당된 적어도 이름을 포함하고, 그리고, 상기 콘텐츠 오브젝트를 상기 클라이언트 장치에 송신함으로써, 상기 클라이언트가 상기 CCN 내의 다른 클라이언트 장치들에 의해 발견될 수 있도록 한다.One embodiment of the present invention provides a system for device registration and discovery in a content centric network (CCN). During operation, the system receives, by the computer, an interface for registration of the client device. The at least one identifier associated with the client device. In response to the interleaving, the system generates a content object, which includes at least a name assigned to the client device, and by sending the content object to the client device, To be discovered by the user.

본 실시예의 일 변형에서, 상기 인터레스트는 상기 클라이언트 장치와 연관된 공개키, 장치 타입, 장치 모델 번호 및 임의의 포맷의 장치 식별자 중의 하나 이상을 더 포함한다. In one variation of this embodiment, the interrest further includes at least one of a public key associated with the client device, a device type, a device model number, and a device identifier in any format.

본 실시예의 일 변형에서, 상기 콘텐츠 오브젝트는 상기 클라이언트 장치에 할당된 라우팅될 수 있는 이름 프리픽스, 서브디렉토리 장치-디스커버리(device-discovery) 네임스페이스, 상기 클라이언트 장치가 데이터를 발행하기 위한 하나 이상의 네임스페이스, 그리고 선택적으로 상기 클라이언트 장치가 서명 키를 획득하기 위한 네임스페이스 중의 하나 이상을 포함한다.In one variation of this embodiment, the content object includes a name prefix that can be routed to the client device, a subdirectory device-discovery namespace, one or more namespaces for the client device to publish data , And optionally, a namespace for the client device to obtain a signature key.

본 실시예의 일 변형에서, 상기 인터레스트는 미리-결정된 이름 프리픽스를 갖는다. In one variation of this embodiment, the interrest has a pre-determined name prefix.

다른 변형에서, 시스템은 상기 클라이언트 장치의 초기 구성 동안 상기 클라이언트 장치에게 상기 미리-결정된 이름 프리픽스를 통지한다. In another variation, the system notifies the client device of the pre-determined name prefix during an initial configuration of the client device.

다른 변형에서, 상기 미리-결정된 이름 프리픽스가 상기 클라이언트 장치의 제조자에 의해서 제공된다.In another variation, the pre-determined name prefix is provided by the manufacturer of the client device.

본 실시예의 일 변형에서, 시스템은 상기 할당된 이름을 사용하여 상기 클라이언트 장치를 추가함으로써 장치 데이터베이스를 갱신한다.In one variation of this embodiment, the system updates the device database by adding the client device using the assigned name.

다른 변형에서, 시스템은 상기 CCN 내의 다른 장치들의 발견을 위한 추가적인 인터레스트를 수신한다. 상기 추가적인 인터레스트에 응답하여, 시스템은 상기 장치 데이터베이스에 저장된 정보에 기초하여 장치-리스트 콘텐츠 오브젝트를 생성하고 상기 장치-리스트 콘텐츠 오브젝트를 반환한다.In another variation, the system receives additional interrupts for discovery of other devices within the CCN. In response to the additionalinterest, the system creates a device-list content object based on the information stored in the device database and returns the device-list content object.

다른 변형에서, 시스템은 상기 추가적인 인터레스트를 송신하는 장치가 상기 장치-리스트 콘텐츠 오브젝트를 획득하도록 인가되었는지 여부를 결정하기 위한 보안 점검을 수행한다. 상기 추가적인 인터레스트를 송신하는 장치가 상기 장치-리스트 콘텐츠 오브젝트를 획득하도록 인가되었다는 결정에 응답하여, 시스템은 상기 장치-리스트 콘텐츠 오브젝트를 상기 인가된 장치로 송신한다.In another variation, the system performs a security check to determine whether the device transmitting the additional interrest is authorized to obtain the device-list content object. In response to the determination that the device transmitting the additionalinterest is authorized to obtain the device-list content object, the system sends the device-list content object to the authorized device.

도 1은 본 발명의 일 실시예에 따른, 네트워크 아키텍처를 보여준다.
도 2는 본 발명의 일 실시예에 따른, CCN 동적 네임스페이스 구성 프로토콜(DNCP) 클라이언트의 아키텍처를 표현하는 도면을 보여준다.
도 3은 본 발명의 일 실시예에 따른, CCN-DNCP 서버의 아키텍처를 표현하는 도면을 보여준다.
도 4는 본 발명의 일 실시예에 따른, 동적 네임스페이스 구성을 위한 서버 프로세스를 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른, 동적 네임스페이스 구성을 위한 클라이언트 프로세스를 보여주는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 장치-디스커버리 중계자의 아키텍처를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른, 장치-디스커버리 중계자에 의해 수행되는 장치-등록 프로세스를 보여주는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른, 장치-디스커버리 중계자에 의해 수행되는 장치-디스커버리 프로세스를 보여주는 흐름도이다.
도 9는 본 발명의 일 실시예에 따른, 장치 등록 및 발견을 위한 시스템을 보여준다.
도면에서, 유사한 참조 번호는 동일한 도면 구성요소를 참조한다.
Figure 1 shows a network architecture, in accordance with an embodiment of the present invention.
Figure 2 shows a diagram representing an architecture of a CCN Dynamic Namespace Configuration Protocol (DNCP) client, in accordance with an embodiment of the present invention.
FIG. 3 is a diagram illustrating an architecture of a CCN-DNCP server according to an embodiment of the present invention.
4 is a flow diagram illustrating a server process for dynamic namespace configuration, in accordance with one embodiment of the present invention.
5 is a flow diagram illustrating a client process for dynamic namespace configuration, in accordance with one embodiment of the present invention.
Figure 6 is a diagram illustrating the architecture of a device-discovery intermediary, in accordance with an embodiment of the present invention.
7 is a flow diagram illustrating a device-registration process performed by a device-discovery intermediary, in accordance with an embodiment of the present invention.
8 is a flow diagram illustrating a device-discovery process performed by a device-discovery intermediary, in accordance with an embodiment of the present invention.
Figure 9 shows a system for device registration and discovery, in accordance with an embodiment of the present invention.
In the drawings, like reference numerals refer to the same drawing elements.

본 발명의 실시예는 CCN 내의 장치 등록 및 디스커버리를 위한 시스템 및 방법을 제공한다. 본 해결 방법은 새로운 "아웃-오브-더-박스(out-of-the-box)" 장치들이 그들의 장치를 발행하기 위하여 네트워크에 자신들을 등록하는 것을 허용하며, 그리고 현존하는 장치들이 네트워크 내에 새롭게 등록된 장치들을 발견하도록 허용한다. 또한, 만일 새로운 장치가 라우팅될 수 있는 이름 프리픽스를 갖고 있고 그리고 그 이름 프리픽스 하에 도달되려고 한다면, 해당 이름 프리픽스에 대한 적절한 인터레스트 메시지가 이 장치로 라우팅될 수 있다. 그것은 또한 하나 이상의 인가된 이름 프리픽스 하에 콘텐츠 서빙(또는 발행)을 시작할 수 있다. 좀 더 상세하게는, 장치가 새로운 "아웃-오브-더-박스"일 때, 또는 새로운 CCN 환경에 도입될 때, 초기 구성의 일부로서 등록 서비스와 장치-디스커버리 서비스의 네임스페이스를 획득한다. 연속하여, 그것은 필요한 등록 정보를 포함하는 인터레스트 메시지를 등록 서비스의 네임스페이스에 송신할 수 있다. 만일 등록 서비스가 필요한 모든 정보가 인터레스트 메시지에 의해서 제공되었다고 결정한다면, 등록 서비스는 콘텐츠 오브젝트를 장치에 반환하고, 그리고 장치 데이터베이스 내에 장치 이름 및 상기 장치 이름과 연관된 다른 정보를 포함한다. 장치는 또한 인터레스트 메시지를 장치-디스커버리 서비스의 네임스페이스로 송신할 수 있으며, 이는 콘텐츠 오브젝트를 반환한다. 반환된 콘텐츠 오브젝트는 선택적으로 네트워크 내의 모든 등록된 장치를 리스팅한다.Embodiments of the present invention provide a system and method for device registration and discovery within a CCN. This solution allows new "out-of-the-box" devices to register themselves with the network to issue their devices, and existing devices are newly registered Allowed devices to be discovered. Also, if the new device has a name prefix that can be routed and it is to be reached under that name prefix, then the appropriate intercept message for that name prefix can be routed to this device. It can also start serving (or issuing) content under one or more authorized name prefixes. More specifically, when the device is a new "out-of-the-box ", or when introduced into a new CCN environment, it obtains the namespace of the registration service and device-discovery service as part of its initial configuration. Subsequently, it may send an inter-message containing the necessary registration information to the namespace of the registration service. If the registration service determines that all necessary information is provided by the interleaved message, the registration service returns the content object to the device and includes the device name and other information associated with the device name in the device database. The device may also send an inter-message to the device-discovery service namespace, which returns a content object. The returned content object optionally lists all registered devices in the network.

일반적으로, CCN은 두 가지 유형의 메시지인, 인터레스트와 콘텐츠 오브젝트를 사용한다. 인터레스트는 콘텐츠 오브젝트의 "이름"으로 불리기도 하는, 계층적으로 구조화된 가변-길이 식별자(HSVLI)를 실어나르고, 오브젝트에 대한 요청으로서 제공된다. 만일 네트워크 구성요소(예를 들면, 라우터)가 동일한 이름에 대한 복수의 인터레스트를 수신하면, 그것은 이들 인터레스트를 집합한다. 매칭 콘텐츠 오브젝트를 갖는 인터레스트의 경로를 따라서 있는 네트워크 구성요소는 상기 오브젝트를 캐싱하고 반환하여 인터레스트를 충족할 수 있다. 콘텐츠 오브젝트는 인터레스트의 기원(들)을 향하는 인터레스트의 역 경로를 뒤따른다. 콘텐츠 오브젝트는, 다른 정보들 중에도, 동일한 HSVLI, 오브젝트의 페이로드 및 HSVLI를 페이로드에 결속하도록 사용되는 암호화 정보를 포함한다.In general, CCNs use two types of messages: interlaces and content objects. The interpreter carries a hierarchically structured variable-length identifier (HSVLI), also referred to as the "name" of the content object, and is provided as a request to the object. If a network element (e.g., a router) receives multiple interlaces for the same name, it aggregates these interlaces. A network component along the path of the inter- est with the matching content object may cache and return the object to satisfy the inter- est. The content object follows the reverse path of the intercept to the origin (s) of the interlace. The content object includes, among other information, the same HSVLI, payload of the object, and encryption information used to bind the HSVLI to the payload.

본 개시에 사용되는 용어는 일반적으로 다음과 같이 정의된다(그러나 그들의 해석은 이에 한정되지 않는다). The terms used in this disclosure are generally defined as follows (but their interpretation is not so limited).

"HSVLI:" 계층적으로 구조화된 가변-길이 식별자(HSVLI)이며, 또한 이름이라고 불림. 이것은 이름 컴포넌트의 정렬 리스트이며, 가변길이 옥텟(octet) 문자열일 수 있다. 인간-판독 가능한 형식에서, 이것은 ccnx:/path/part와 같은 포맷으로 표현될 수 있다. 또한, HSVLO는 사람이 읽지 못할 수 있다. 상술한 것처럼, HSVLI는 콘텐츠를 지칭하며, 이들이 콘텐츠에 대한 조직적인 구조를 표현할 수 있고 적어도 인간에게 부분적으로 의미있는 것이 바람직하다. HSVLI의 각 컴포넌트는 임의의 길이를 가질 수 있다. 또한, HSVLI는 명시적으로 구획된 컴포넌트를 가질 수 있으며, 바이트의 시퀀스를 포함할 수 있고, 그리고 인간-판독가능한 문자에 한정되지 않는다. 가장 긴-프리픽스-매칭 룩업(lookup)은 HSVLI를 갖는 패킷을 전달하는 데 있어서 중요하다. 예를 들면, "parc/home/bob" 내의 인터레스트를 나타내는 HSVLI는 "parc/home/bob/test.txt"와 "parc/home/bob/bar.txt"에 매칭할 것이다. 이름 컴포넌트의 수의 맥락에서, 매칭하는 것 중에 가장 긴 것이 제일 좋은 것으로 여겨지는데, 이는 그것이 가장 명확하기 때문이다. HSVLI의 상세한 설명은, 2009년 9월 23일에 출원된, 발명자 Van L. Jacobson과 James D. Thornton의 "SYSTEM FOR FORWARIDNG A PACKET WITH A HIERARCHICHALLY STRUCTURED VARIABLE-LENGTH IDENTIFIER"라는 제목의 미국 특허 번호 제8,160,069호에서 찾을 수 있다."HSVLI:" is a hierarchically structured variable-length identifier (HSVLI), also called a name. This is an ordered list of name components and can be a variable-length octet string. In a human-readable format, this can be expressed in the same format as ccnx: / path / part. In addition, HSVLO may not be human readable. As mentioned above, HSVLI refers to content, and it is desirable that they represent an organizational structure for content and at least partially meaningful to humans. Each component of the HSVLI may have any length. In addition, HSVLI may have explicitly partitioned components, may contain a sequence of bytes, and are not limited to human-readable characters. The longest-prefix-matching lookup is important in delivering packets with HSVLI. For example, an HSVLI representing an interlude in "parc / home / bob" would match "parc / home / bob / test.txt" and "parc / home / bob / bar.txt". In the context of the number of name components, the longest match is considered the best because it is the most obvious. A detailed description of HSVLI can be found in U.S. Patent No. 8,160,069 entitled " SYSTEM FOR FORWARDING A PACKET WITH A HIERARCHICHALLY STRUCTURED VARIABLE-LENGTH IDENTIFIER ", filed September 23, 2009 by inventors Van L. Jacobson and James D. Thornton Can be found in

"인터레스트:" 콘텐츠 오브젝트에 대한 요청. 인터레스트는 HSVLI 이름 프리픽스를 명시하고 그리고 동일한 이름 프리픽스를 갖는 복수의 오브젝트 중에서 선택하도록 사용될 수 있는 그 밖의 옵션 선택기를 명시한다. 인터레스트 이름 프리픽스(그리고 선택적으로 발행자 키-ID 매칭과 같은 다른 필요한 파라미터)에 매칭하는 이름을 갖는 콘텐츠 오브젝트는 인터레스트를 만족시킨다. "Interrest:" Request for a content object. The interrest specifies an HSVLI name prefix and other option selectors that can be used to select among a plurality of objects having the same name prefix. A content object that has a name that matches an interrest name prefix (and optionally other required parameters such as issuer key-ID matching) satisfies the interleaves.

"콘텐츠 오브젝트:" 인터레스트에 응답하여 송신되는 데이터 오브젝트. 이것은 암호화 서명을 통해 함께 결속되는 HSVLI 이름과 콘텐츠 페이로드를 갖는다. 선택에 의해서, 모든 콘텐츠 오브젝트는 상기 콘텐츠 오브젝트의 SHA-256 다이제스트(digest)로 구성되는 함축적인 단말 이름 컴포넌트를 갖는다. 일 실시예에서, 함축적 다이제스트는 유선상으로 전송되지 않으며, 필요 시, 각 홉(hop)에서 계산된다. "Content Object:" Data object sent in response to an < / RTI > It has an HSVLI name and content payload tied together through a cryptographic signature. Optionally, all content objects have an implicit terminal name component consisting of an SHA-256 digest (digest) of the content object. In one embodiment, the implicit digest is not transmitted over the wire, and is calculated at each hop, if necessary.

"페이스(face)": CCN에서, 용어 페이스는 인터페이스의 개념의 일반화이다. 페이스는 네트워크 또는 직접 어플리케이션 부분으로의 연결일 수 있다. 페이스는 특정 네트워크 인터페이스 상에 브로드캐스트나 멀티캐스트 패킷을 송신하고 수신하거나, 또는 기본 전송 내의 포인트-투-포인트(point-to-point) 어드레싱을 사용하거나 터널(예를 들면, TCP 터널)을 사용하여 패킷을 송신하고 수신하도록 구성될 수 있다. 페이스는 또한, UDP 같은 캡슐화 기법이나 OS-특정 인터-프로세스 통신 경로를 통한, 동일한 장치에서 수행되는 싱글 어플리케이션 프로세스로의 연결일 수 있다. 모든 메시지는 페이스를 통해 도착하고 페이스를 통해 송출된다."Face": In CCN, the term face is a generalization of the concept of an interface. The face may be a connection to the network or directly to the application portion. The face can be used to send and receive broadcast or multicast packets on a particular network interface, or to use point-to-point addressing within the underlying transport, or to use a tunnel (for example, a TCP tunnel) And transmit and receive packets. The pace may also be a connection to an encapsulation scheme such as UDP or to a single application process running on the same device via an OS-specific inter-process communication path. All messages arrive through the face and are transmitted through the face.

앞에서 언급한 것처럼, HSVLI는 콘텐츠의 부분을 지시하며, 계층적으로 구조화되고, 그리고 가장 일반적인 레벨에서부터 가장 특정한 레벨로 정렬되는 인접 컴포넌트를 포함한다. 각 HSVLI의 길이는 고정이 아니다. 콘텐츠-중심 네트워크에서, 종래의 IP 네트워크와는 다르게, 패킷은 HSVLI에 의해 식별될 수 있다. 예를 들면, "abcd/bob/papers/ccn/news"는 콘텐츠의 이름일 수 있고 그리고 대응하는 패킷(들), 즉, "ABCD"라는 이름의 조직에서 "Bob"이라는 이름의 사용자를 위한 신문들의 컬렉션 "ccn"으로부터의 "news" 기사를 식별할 수 있다. 콘텐츠의 부분을 요청하기 위하여, 노드는 콘텐츠의 이름에 의해 콘텐츠 내의 인터레스트를 표현(예를 들면, 브로드캐스트)한다. 콘텐츠의 부분의 인터레스트는 콘텐츠의 이름이나 식별자에 따른 콘텐츠에 대한 이름일 수 있다. 콘텐츠는, 만일 네트워크에서 가용하다면, 상기 콘텐츠를 저장하는 노드로부터 요청하는 노드로 되 송신될 수 있다. 라우팅 인프라구조는 정보를 가지고 있을 것 같은 예상 노드로 인터레스트를 전파하고 그리고 다음으로 상기 인터레스트 메시지에 의해 횡단된 역 경로를 따라서 가용한 콘텐츠를 운반한다. 필수적으로 콘텐츠 오브젝트는 인터레스트 메시지가 남긴 자취를 따라가서, 요청한 노드에 도달한다.As mentioned earlier, HSVLI includes a contiguous component that points to a portion of the content, is hierarchically structured, and is ordered from the most general level to the most specific level. The length of each HSVLI is not fixed. In a content-centric network, unlike conventional IP networks, packets can be identified by HSVLI. For example, "abcd / bob / papers / ccn / news" may be the name of the content and may be a newspaper for a user named "Bob " in the corresponding packet (s) News "articles from the collection" ccn " In order to request a portion of the content, the node expresses (e.g., broadcasts) an interrelation in the content by the name of the content. The interrelation of a portion of the content may be a name for the content according to the name or identifier of the content. The content may be sent back to the requesting node from the node storing the content if it is available in the network. The routing infrastructure propagates the inter- est to the expected node with information and then carries the available content along the reverse path traversed by the inter- est message. Essentially, the content object follows the trace left by the inter- est message and arrives at the requested node.

도 1은 본 발명의 일 실시예에 따른, 네트워크 아키텍처를 보여준다. 본 예에서, 네트워크(180)는 노드(100-145)를 포함한다. 네트워크 내의 각 노드는 하나 이상의 다른 노드와 연결되어 있다. 네트워크 연결(185)은 이러한 연결의 예이다. 네트워크 연결은 선으로 표현되지만, 각 선은 또한 서브-네트워크 또는 한 노드를 다른 노드에 연결하는 수퍼-네트워크를 표현할 수 있다. 네트워크(180)는 콘텐츠-중심, 로컬 네트워크, 수퍼-네트워크, 또는 서브-네트워크일 수 있다. 이들 네트워크 각각은 일 네트워크 내의 노드가 다른 네트워크 내의 노드에 도달할 수 있도록 상호 연결될 수 있다. 네트워크 연결은 브로드밴드, 무선, 전화, 위성, 또는 기타 다른 유형의 네트워크 연결일 수 있다. 노드는 컴퓨터 시스템, 사용자를 표현하는 엔드-포인트, 및/또는 인터레스트를 생성하거나 콘텐츠를 만들 수 있는 장치일 수 있다.Figure 1 shows a network architecture, in accordance with an embodiment of the present invention. In this example, the network 180 includes nodes 100-145. Each node in the network is connected to one or more other nodes. Network connection 185 is an example of such a connection. Network connections are represented by lines, but each line may also represent a sub-network or a super-network connecting one node to another. Network 180 may be content-centric, local network, super-network, or sub-network. Each of these networks may be interconnected such that the nodes in one network can reach the nodes in the other network. The network connection may be broadband, wireless, telephone, satellite, or any other type of network connection. A node may be a computer system, an end-point representing a user, and / or a device capable of creating aninterest or creating content.

본 발명의 일 실시예에 따르면, 소비자는 콘텐츠의 부분에 대한 인터레스트를 생성하고 상기 인터레스트를 네트워크(180) 내의 노드로 전달할 수 있다. 콘텐츠의 부분은 네트워크 내부나 외부에 위치할 수 있는 발행자나 콘텐츠 제작자에 의해서 네트워크(180) 내의 노드에 저장될 수 있다. 예를 들면, 도 1에서, 콘텐츠의 부분 내의 인터레스트는 노드(105)에서 유래한다. 만일 콘텐츠가 노드에서 가용하지 않다면, 인터레스트는 제1 노드에 연결된 하나 이상의 노드로 흘러간다. 예를 들면, 도 1 에서, 인터레스트는 노드(115)로 흘러가는데(인터레스트 흐름 150), 이것은 가용한 콘텐츠를 갖고 있지 않다. 다음으로, 인터레스트는 노드(115)로부터 노드(125)로 흘러가는데(인터레스트 흐름 155), 이는 역시 콘텐츠를 갖고 있지 않다. 다음으로, 인터레스트는 노드(130)로 흘러가는데(인터레스트 흐름 160), 이는 가용한 콘텐츠를 갖고 있다. 콘텐츠 오브젝트의 흐름은 다음으로 노드(105)에 도달할 때까지 그의 경로를 역으로 되돌리고(콘텐츠 흐름 165, 170, 그리고 175), 여기서 콘텐츠가 배달된다. 인증 같은 다른 프로세스가 콘텐츠 흐름에 포함될 수 있다.In accordance with one embodiment of the present invention, a consumer may create an interpreter for a portion of the content and deliver the interpreter to a node in the network 180. Portions of the content may be stored in a node within the network 180 by an issuer or content creator that may be located inside or outside the network. For example, in FIG. 1, the interes within the portion of the content originate at node 105. If the content is not available at the node, the interpreter flows to one or more nodes connected to the first node. For example, in FIG. 1, an interpreter flows to node 115 (an interrupted flow 150), which does not have any available content. Next, the interpreter flows from the node 115 to the node 125 (the interrupted flow 155), which also has no content. Next, the interpreter flows to node 130 (interref flow 160), which has available content. The flow of the content object then reverses its path (content flows 165, 170, and 175) until the next node 105 is reached, where the content is delivered. Other processes such as authentication can be included in the content flow.

네트워크(180)에서, 콘텐츠 홀더(노드 130)와 인터레스트 생성 노드(노드 105) 간의 경로 내의 어떤 수의 중간 노드(노드 100-145)라도, 네트워크를 횡단할 때, 콘텐츠의 로컬 사본의 캐싱(caching)에 참여할 수 있다. 캐싱은 국지적으로 캐싱된 콘텐츠로의 접근을 내재적으로 공유함으로써 다른 구독자에게 인접한 제2 구독자에 대한 네트워크 부하를 경감한다. In the network 180, any number of intermediate nodes (nodes 100-145) in the path between the content holder (node 130) and the inter-generating node (node 105) caching. Caching implicitly shares access to locally cached content, thereby alleviating the network load on the second subscriber adjacent to the other subscriber.

CCN 내의, 각 노드는 세 개의 주요 데이터 구조를 유지하는데, 이는 전달 정보 베이스(FIB), 콘텐츠 저장소(CS), 그리고 펜딩 인터레스트 테이블(PIT)을 포함한다. Within the CCN, each node maintains three main data structures, which include a forwarding information base (FIB), a content store (CS), and a pendinginterest table (PIT).

FIB는 인터레스트 패킷을 매칭 콘텐츠 오브젝트의 잠재적인 소스(들)로 전달하도록 사용될 수 있다. 전형적으로, 라우팅 프로토콜은 네트워크 내의 모든 노드 간의 FIB를 채우도록 사용될 수 있다. FIB 엔트리는 종종, 매칭 인터레스트가 전달되어야 하는 적어도 하나의 페이스의 물리적 어드레스를 포함하는 각 엔트리를 갖는, 이름 프리픽스에 의해서 인덱싱될 수 있다. 인터레스트 메시지를 전달하는 동안, 이름의 가장 긴-프리픽스-매칭 룩업이 매칭 엔트리를 발견하기 위하여 FIB에서 수행된다.The FIB can be used to deliver the intercepted packets to the potential source (s) of the matching content object. Typically, a routing protocol can be used to populate the FIB between all nodes in the network. A FIB entry is often indexed by a name prefix, with each entry containing a physical address of at least one face for which a matching interlace should be delivered. During the delivery of the inter- est message, the longest-prefix-matching lookup of the name is performed in the FIB to find the matching entry.

콘텐츠 저장소(CS)는 IP 라우터에 의해서 사용되는 버퍼 메모리와 유사하다. 좀더 상세하게는, CS는 이 노드를 통과하는 콘텐츠 오브젝트를 일시적으로 버퍼링하면서, 상이한 소비자들에 의한 효율적인 데이터 검색을 허용한다. 라우터가 인터레스트 패킷을 수신할 때, 그것은 그의 콘텐츠 저장소에 매칭 콘텐츠 오브젝트가 있는지 여부를 우선 점검한다.The content store (CS) is similar to a buffer memory used by an IP router. More particularly, the CS temporarily buffers the content objects passing through this node, allowing for efficient data retrieval by different consumers. When a router receives an interlaced packet, it first checks whether there is a matching content object in its content repository.

펜딩 인터레스트 테이블(PIT)은 콘텐츠 소스(들)를 향해 상향 전달된 인터레스트를 추적하여 반환된 콘텐츠 오브젝트가 그의 요청자(들)에게 다운스트림을 송신할 수 있도록 한다. CCN 내의, 오직 인터레스트 패킷만이 라우팅된다. 반환 콘텐츠 오브젝트는 콘텐츠 요청자에게 돌아가는 인터레스트 패킷의 자취를 따라간다. 인터레스트에 대한 PIT 엔트리는 인터레스트의 이름과 상기 인터레스트를 요청한 하나 또는 복수의 인커밍 페이스를 명시한다.The pendinginterest table (PIT) tracks the upstream delivered to the content source (s) and allows the returned content object to send downstream to its requestor (s). Only intra-CC packets within the CCN are routed. The returned content object follows the traces of the intercepted packets going to the content requestor. The PIT entry for the interrest specifies the name of the interlace and one or more incoming faces that requested the interlace.

인터레스트 패킷이 특정 페이스에 도달할 때, 가장 긴-매칭 룩업(lookup)이 콘텐츠 이름이나 HSVLI에 기초하여 수행된다. 이름 룩업에 사용되는 인덱스 구조는 CS 매칭이 PIT 매칭보다 선호되는 방식으로 정렬되고, 이는 FIB 매칭보다 선호될 것이다. 따라서, 만일 CS 내에 인터레스에 매칭하는 콘텐츠 오브젝트가 이미 있다면, 콘텐츠 오브젝트는 인터레스트가 도달한 페이스를 통해 송출되고 인터레스트는 폐기될 것이다. 그렇지 않으면, PIT는 매칭이 발견될 수 있는지 여부를 알기 위해 점검될 것이다. 만일 그렇다면, 인터레스트의 도달 페이스는 PIT 엔트리의 요청 페이스 리스트에 추가될 것이고, 인터레스트는 폐기될 것이다. 아니면, FIB가 점검되고 인터레스트는 매칭 FIB 엔트리에 리스팅된 더 많은 페이스 중의 하나를 따라서 전달된다.When the interlaced packet reaches a certain pace, the longest-matching lookup is performed based on the content name or HSVLI. The index structure used for name lookups is arranged in a way that CS matching is preferred to PIT matching, which would be preferred over FIB matching. Thus, if there is already a content object matching the interlace in the CS, the content object will be transmitted over the pace reached by the interlace and the interlace will be discarded. Otherwise, the PIT will be checked to see if a match can be found. If so, the reach pace of the intercept will be added to the request face list of the PIT entry, and the intercept will be discarded. Otherwise, the FIB is checked and the intercept is delivered along one of the more paces listed in the matching FIB entry.

전술한 것처럼, CCN 내의, (인터레스트와 콘텐츠 오브젝트를 포함하는) 패킷은 그들의 이름 프리픽스에 기초하여 네트워크를 통해 흘러간다. 장치가 초기화될 때(최초의 시간 동안 또는 그것이 네트워크에 합류할 때), 장치는 네트워크의 다른 장치에 그의 존재를 통지해야 하고 네트워크 라우터에게 그의 페이스의 물리적 어드레스를 알려야 한다. 예를 들면, 센서(예를 들면, 온도계)가 최초로 가정에 설치될 때, 센서는 그의 데이터를 어디로 송신할 지 알 수 있도록 구성되어야 한다. 유사하게, 랩톱이나 태블릿 컴퓨터가 가정의 환경에서 커피숍으로 이동될 때, 컴퓨터는 그의 인터레스트를 어디로 송신할 지 알아야 하고, 그리고 선택적으로 네트워크 상의 다른 장치에게 그것에 도달하는 방법을 알려야 한다. 비록 초기화 동안 장치를 수작업으로 구성하는 것이 가능하지만, 현존하는 CCN 프로토콜은 자동화된 장치 초기화에 대한 해법이 없다. As described above, packets (including inter- ests and content objects) within the CCN flow through the network based on their name prefix. When the device is initialized (for the first time or when it joins the network), the device must notify other devices of the network of its presence and inform the network router of the physical address of its pace. For example, when a sensor (e.g., a thermometer) is first installed in the home, the sensor should be configured to know where to transmit its data. Similarly, when a laptop or tablet computer is moved from a home environment to a coffee shop, the computer has to know where to send itsinterest, and optionally tells other devices on the network how to reach it. Although it is possible to manually configure the device during initialization, the existing CCN protocol has no solution for automated device initialization.

현존하는 인터넷 프로토콜(IP) 네트워크에서, 동적 호스트 구성 프로토콜(DHCP)은, 인터페이스와 서비스를 위한 IP 주소와 같은, 네트워크 구성 파라미터를 동적으로 구성하도록 사용된다. 좀더 상세하게는, DHCP는 컴퓨터가 DHCP 서버로부터 자동으로 IP 어드레스와 네트워킹 파라미터를 요청하도록 허용함으로써 ,네트워크 관리자나 사용자가 설정을 수작업으로 구성할 필요를 감소시킨다. 유사한 메커니즘은, 장치가 처음으로 온라인에 출현할 때 또는 새로운 환경에 소개될 때, 장치를 초기화하기 위해서 CCN 내에서 필요하다. 좀 더 상세하게는, 장치가 CCN 네트워크에서 적절하게 기능하기 위하여, 장치는 특정 서비스를 수신하기 위한 인터레스트 패킷을 어디로 송신할 지 알아야 한다. CCN은 이름 프리픽스에 의존하여 패킷을 이동하기 때문에, 장치의 초기 구성은 네임스페이스의 구성을 포함할 것이다. 예를 들면, 장치는 FIB 내에 (하나 이상의 적절한 엔트리를 포함할 수 있는) 디폴트 전달 정보를 설정하거나, 또는 이러한 서비스에 대한 요청이 (인터레스트의 형식으로) 적절하게 전달될 수 있도록 다양한 서비스의 네임스페이스를 구성할 필요가 있다. 또한, 이 서비스를 획득하기 위하여, 장치는 적절한 인터레스트 메시지에 포함되는 이름이나 이름 프리픽스를 알아야 한다. 이들 서비스의 예는, 장치 등록, 서비스 디스커버리, 키(key)를 인가하는 인증 서비스 등을 포함하지만, 이에 한정되지 않는다.In existing Internet Protocol (IP) networks, Dynamic Host Configuration Protocol (DHCP) is used to dynamically configure network configuration parameters, such as IP addresses for interfaces and services. More specifically, DHCP allows a computer to automatically request an IP address and networking parameters from a DHCP server, thereby reducing the need for the network administrator or user to manually configure the settings. A similar mechanism is needed within the CCN to initialize the device when it first comes online or when it is introduced to a new environment. More specifically, in order for the device to function properly in the CCN network, the device must know where to send the interleaved packet to receive the particular service. Since the CCN relies on the name prefix to move the packet, the initial configuration of the device will include the configuration of the namespace. For example, the device may set default forwarding information within the FIB (which may include one or more appropriate entries), or may include a name of various services such that a request for such a service may be properly delivered Space needs to be configured. Also, in order to obtain this service, the device must know the name or name prefix that is included in the appropriate inter- est message. Examples of these services include, but are not limited to, device registration, service discovery, authentication services that authorize keys, and the like.

장치 초기화에 대한 자동화 해법을 제공하기 위하여, 일부 실시예에서, 시스템은 동적 네임스페이스 구성 프로토콜(DNCP)을 구현함으로써, 예를 들면, 디폴트 전달 엔트리, 장치의 등록 및 디스커버리 서비스의 네임 스페이스 및 이름 풀이(우회) 서비스의 네임스페이스와 같은, 장치의 적절한 기능을 위해 요구되는 네임스페이스를 갖는 장치를 자동으로 구성한다. DNCP가 제대로 동작하게 하기 위하여, 다음의 조건이 충족되어야 한다는 것을 주목하라, 먼저, 각 장치는 기본 CCN 스택을 을 수행하여야 하고 CCN 인터레스트와 콘텐츠 오브젝트를 생성하고 프로세싱할 수 있어야 한다. 둘째, 장치는 수동으로 구성되거나 또는 기본 네트워크 연결을 자동을 설정할 수 있다(이는 이더넷, WiFi, 블루투스 등을 포함할 있지만 이에 한정되지 않는다). 셋 째, 각 장치는 제조사가 공급하는 유일한 장치 식별자가 제공되어야 하며, 이는 미디어 접근 제어(MAC) 어드레스와 유사하다. 이러한 장치 ID는 16이나 32 바이트 길이일 수 있고, 또는 임의의 길이일 수 있다는 것을 주목하라. 또한, 그것은 장치 제조자에 의해 정의되는 형식을 취할 수 있다. 예를 들면, 특정 제조자에 의해 제작되는 각 온도 센서는 제조자에 의해 발행된 유일한 ID를 가질 수 있다. 또한, 각 장치는 그것이 발행하고자 하는 콘텐츠 오브젝트에 서명하기 위해서, 공개-개인키 쌍, 대칭키, 또는 CCN 요구사항에 부합하는 그 밖의 서명 키와 같은, 서명 키로 미리-로딩되어야 한다. 만일 장치가 그러한 키들로 미리-구성되지 않는다면, DNCP 서비스는 장치를 적절한 서비스로 전환하여, 이 서비스의 이름을 명시함으로써 그의 키를 획득하거나 인증하도록 해야 한다.To provide an automated solution to device initialization, in some embodiments, the system implements a Dynamic Namespace Configuration Protocol (DNCP), for example, a default forwarding entry, a device registration and discovery service namespace, Such as the namespace of the service (bypass) service, for the proper functioning of the device. Note that in order for DNCP to work properly, the following conditions must be met: First, each device must perform a basic CCN stack and be able to create and process CCN inter- ests and content objects. Second, the device can be manually configured or automatically set up a basic network connection (including, but not limited to, Ethernet, WiFi, Bluetooth, etc.). Third, each device should be provided with a unique device identifier supplied by the manufacturer, which is similar to a media access control (MAC) address. Note that such a device ID may be 16 or 32 bytes long, or it may be any length. It can also take the format defined by the device manufacturer. For example, each temperature sensor manufactured by a particular manufacturer may have a unique ID issued by the manufacturer. In addition, each device must be pre-loaded with a signature key, such as a public-private key pair, a symmetric key, or any other signature key that meets CCN requirements, in order to sign the content object it intends to issue. If the device is not pre-configured with such keys, then the DNCP service should convert the device to the appropriate service and obtain or authenticate its key by specifying the name of this service.

도 2는 본 발명의 일 실시예에 따른, CCN 동적 네임스페이스 구성 프로토콜(DNCP) 클라이언트의 아키텍처를 표현하는 도면을 보여준다. 도 2에서, CCN-DNCP 클라이언트(200)는, 페이스(202, 204, 206)와 같은, 복수의 페이스, 인터레스트 생성 모듈(208), 전달 모듈(210), 수신 모듈(212), 전달 정보 베이스(FIB)(214) 및 네임스페이스 구성 모듈(216)을 포함한다. Figure 2 shows a diagram representing an architecture of a CCN Dynamic Namespace Configuration Protocol (DNCP) client, in accordance with an embodiment of the present invention. 2, the CCN-DNCP client 200 includes a plurality of paces, an interface generation module 208, a delivery module 210, a reception module 212, A base (FIB) 214 and a namespace configuration module 216.

페이스(202-206)는 물리적 인터페이스만이 아니라 패킷을 송수신할 수 있는 어플리케이션 프로세스도 포함할 수 있다. 인터레스트 생성 모듈(208)은 콘텐츠나 서비스에 대한 요청일 수 있는, 인터레스트 패킷을 생성하는 책임이 있다. 일부 실시예에서, 인터레스트-생성 모듈(208)은 "HELLO" 인터레스트 메시지를 생성하도록 구성되는데, 이는 DNCP 서비스를 요청하도록 사용될 수 있다. 다른 실시예에서, "HELLO" 인터레스트 메시지는 미리-결정된 네임스페이스 내에 생성된다. 즉, 시스템은 DNCP 목적으로 ("/hello" 같은) 네임스페이스를 미리 정의하고 보유하며, CCN-DNCP 클라이언트(200)는 이와 같은 네임스페이스로 (머신에서 동작하는 CCN 스택에 의해서) 미리 구성된다. 만일 미리-정의된 DCNP 네임스페이스가 "/hello"라면, "HELLO" 인터레스트는 네임스페이스를 "/hello"로서 갖는다는 것을 주목하라.The paces 202-206 may include not only a physical interface but also an application process capable of sending and receiving packets. The interrest creation module 208 is responsible for generating an intercept packet, which may be a request for content or service. In some embodiments, the inter-create module 208 is configured to generate a "HELLO" INTERRESS message, which can be used to request a DNCP service. In another embodiment, a "HELLO" interrest message is generated in a pre-determined namespace. That is, the system predefines and holds the namespace for DNCP purposes (such as "/ hello"), and the CCN-DNCP client 200 is preconfigured (by the CCN stack running on the machine) in this namespace. Note that if the predefined DCNP namespace is "/ hello", then the "HELLO" interpreter has the namespace as "/ hello".

전달 모듈(210)은, 인터레스트나 콘텐츠 오브젝트와 같은, 패킷을 CCN-DNCP 클라이언트(200) 상의 다양한 페이스에 전달하는 역할을 한다. CCN 프로토콜에 따라서, 전달 모듈(210)은 FIB(214) 내의 엔트리를 기초로 인터레스트를 전달하고, (도 2에 도시되지 않은) PIT 내의 엔트리에 기초하여 콘텐츠 오브젝트를 전달한다. 일부 실시예에서, 전달 모듈(210)은 "HELLO" 인터레스트를 DNCP 클라이언트(200) 상의 모든 페이스에 전달(또는 브로드캐스트)하도록 구성된다. FIB(214)는 인터레스트를 전달하는 정보를 저장한다. FIB(214) 내의 엔트리는 때로는 이름 프리픽스로 인덱싱된다. 일부 실시예에서, FIB(214)는 (초기화 프로세스 동안) 디폴트 엔트리로 미리 채워질수 있으며, 전달 모듈(210)은 이들 디폴트 엔트리를 사용하여 인터레스트를 전달할 수 있다. The delivery module 210 is responsible for delivering packets, such as interrests and content objects, to various paces on the CCN-DNCP client 200. In accordance with the CCN protocol, the delivery module 210 delivers the content based on the entry in the FIB 214 and delivers the content object based on the entry in the PIT (not shown in Fig. 2). In some embodiments, the delivery module 210 is configured to deliver (or broadcast) the "HELLO" interpreter to all paces on the DNCP client 200. The FIB 214 stores information conveying the interrest. Entries in the FIB 214 are sometimes indexed with a name prefix. In some embodiments, the FIB 214 may be pre-populated with default entries (during the initialization process) and the delivery module 210 may use these default entries to deliver the interleaves.

수신 모듈(212)은 다양한 페이스로부터 인터레스트와 콘텐츠 오브젝트를 포함하는 패킷을 수신하는 역할을 맡는다. 예를 들면, 수신 모듈(212)은 기존에 송신된 인터레스트에 응답하여 콘텐츠 오브젝트를 수신할 수 있다. 일부 실시예에서, 수신 모듈(212)은 원격 DNCP 서버로부터 "HELLO" 인터레스트에 대한 응답을 수신할 수 있다. DNCP 응답은 FIB(214)에 대한 디폴트 엔트리 및, 장치 등록 및 디스커버리, 서비스 디스커버리, 콘텐츠 이름에 대한 서명 키나 해시를 획득하기 위한 풀이 서비스, 키 서비스, 인쇄 서비스, 그리고 오늘날 사용되고 있거나 미래에 발견될 그 밖의 네트워크 서비스와 같은, 다양한 서비스에 대한 네임스페이스를 포함할 수 있지만 이에 한정되지 않는다.Receiving module 212 is responsible for receiving packets containing interlaces and content objects from various faces. For example, the receiving module 212 may receive the content object in response to an already transmitted interlace. In some embodiments, the receiving module 212 may receive a response to the "HELLO" The DNCP response includes a default entry for the FIB 214 and a list of service attributes for device registration and discovery, service discovery, a pool service to obtain a signature key or hash for the content name, a key service, a print service, But is not limited to, a namespace for various services, such as a network service.

FIB(214)에 대한 디폴트 엔트리는 디포트 전달자의 물리적 어드레스를 명시할 수 있으며, 이는 DMZ(비무장 지역) 라우터일 수 있고 MAC 어드레스 00:01:02:03:04:05를 가질 수 있다. 따라서, 루트 네임스페이스 "/" 내의 인터레스트는 디폴트 전달자로 전달될 수 있다. 다른 디폴트 엔트리는 로컬 라우터 및 그의 매칭 네임스페이스의 물리적 어드레스를 명시할 수 있다. 예를 들면, 추가적인 디폴트(default) 엔트리는 이름 프리픽스 "/abc"를 MAC 어드레스 12:34:56:78:9A:9B에 매핑할 수 있으며, 이는 "/abc" 네임스페이스 내의 모든 인터레스트가 MAC 어드레스 12:34:56:78:9A:9B를 갖는 페이스로 전달되어야 한다는 것을 의미한다.The default entry for the FIB 214 may specify the physical address of the detour forwarder, which may be a DMZ (unarmed area) router and may have MAC addresses 00: 01: 02: 03: 04: 05. Thus, the inter- ests in the root namespace "/" can be passed to the default forwarder. Other default entries may specify the physical address of the local router and its matching namespace. For example, an additional default entry may map the name prefix "/ abc" to the MAC address 12: 34: 56: 78: 9A: 9B, Address 12: 34: 56: 78: 9A: 9B.

네임스페이스 구성 모듈(216)은 DNCP 응답에 기초하여 CCN-DNCP 클라이언트(200) 상의 네임스페이스를 구성하는 역할을 한다. 일단 네임스페이스가 올바르게 구성되면, 인터레스트-생성 모듈(208)은 적절하게 다양한 서비스 요청을 (인터레스트의 형식으로) 생성할 수 있고, 전달 모듈(210)은 적절한 목적지로 서비스 요청을 전달할 수 있다. 예를 들면, DNCP 응답이 만일 방 2015호에 제공되는 장치-디스커버리 서비스에 대한 네임스페이스가 "/devices/room2015"라고 명시한다면, 인터레스트-생성 모듈(208)은 이름 프리픽스 "/devices/room2015"를 갖는 인터레스트를 생성할 수 있고, 전달 모듈(210)은 이름 프리픽스에 기초하여 이 인터레스트를 전달할 수 있다. 또한, 시스템은 하부구조 스키마(substructure scheme)를 사용하여 장치 유형에 기초하는 장치-디스커버리 스페이스를 정제할 수 있다. 예를 들면, 네임스페이스 "/devices/room2015/thermometers"가 방 2015호내의 모든 온도계를 발견하도록 사용될 수 있다. 다른 추가적인 네임스페이스가 또한 DNCP 응답에 포함되어서, 네임스페이스 구성 모듈(216)이 적절하게 이들 네임스페이스를 구성하도록 허용할 수 있다. 예를 들면, 네트워크는 프린터를 포함할 수 있으며, 새로운 클라이언트 장치에 대한 DNCP 응답은 프린터 서비스에 대한 네임스페이스가 "/abc/printer"라고 선언할 수 있다. 새로운 장치가 문서를 출력하려고 시도할 때, 이는 그의 인쇄 요청을 네임스페이스 "/abc/printer"에 송신할 수 있다. 네임스페이스와 연관되는 전달 정보는 FIB(214)에 저장된다는 것을 주목하라.The namespace configuration module 216 is responsible for configuring the namespace on the CCN-DNCP client 200 based on the DNCP response. Once the namespace is properly configured, the inter-create module 208 may appropriately generate various service requests (in the form of aninterest), and the delivery module 210 may forward the service request to the appropriate destination . For example, if the DNCP response specifies that the namespace for the device-discovery service provided in room 2015 is "/ devices / room2015", then the inter-create module 208 will generate a name prefix "/ devices / room2015" And the delivery module 210 can deliver this interlace based on the name prefix. The system may also use a substructure scheme to refine the device-discovery space based on the device type. For example, the namespace "/ devices / room2015 / thermometers" can be used to find all the thermometers in room 2015. Other additional namespaces may also be included in the DNCP response, allowing the namespace configuration module 216 to properly configure these namespaces. For example, the network may include a printer, and a DNCP response to a new client device may declare the namespace for the printer service as "/ abc / printer". When a new device attempts to print a document, it can send its print request to the namespace "/ abc / printer ". Note that the forwarding information associated with the namespace is stored in the FIB 214.

도 3은 본 발명의 일 실시예에 따른, CCN-DNCP 서버의 아키텍처를 표현하는 도면을 보여준다. 도 3에서, CCN-DNCP 서버(300)는, 페이스(302, 304, 306) 같은 많은 페이스, 패킷-프로세싱 모듈(308), DNCP 리스너(310), DNCP-응답-생성 모듈(312), DNCP 데이터베이스(314), 그리고 전달 모듈(316)을 포함한다. FIG. 3 is a diagram illustrating an architecture of a CCN-DNCP server according to an embodiment of the present invention. 3, the CCN-DNCP server 300 includes a number of paces, such as the paces 302, 304, and 306, a packet-processing module 308, a DNCP listener 310, a DNCP- A database 314, and a delivery module 316.

페이스(302-306)는 페이스(202-206)와 유사하며, 물리적 인터레이스와 어플리케이션 프로세스를 포함할 수 있다. 패킷-프로세싱 모듈(308)은 다양한 페이스 상에 수신된 패킷을 프로세싱하는 역할을 한다. 일부 실시예에서, 패킷-프로세싱 모듈(308)은 수신된 패킷의 이름 프리픽스를 추출한다. 다른 실시예에서, 만일 수신된 인터레스트의 이름 프리픽스가 미리 결정된 DNCP 네임스페이스(예를 들면, "/hello" 네임스페이스) 내에 있다면, 패킷-프로세싱 모듈(308)은 인터레스트를 DNCP 리스너(310)에 전달하고, 이는 미리 결정된 네임스페이스 내의 인터레스트를 청취한다. 앞서 언급한 예에서, 미리 결정된 DNCP 네임스페이스는 "/hello"이다. DNCP 리스너(310)가 미리 결정된 DNCP 네임스페이스 내의 "HELLO" 인터레스트 메시지를 수신하면, CCN-DNCP 서버(300)는 "HELLO" 인터레스트를 수신하는 노드가 DNCP 서비스를 요청하고 있다고 결정한다. DNCP 요청에 응답하여, DNCP-응답-생성 모듈(312)은, DNCP 데이터베이스(314)에 저장된 정보에 기초하여, 콘텐츠 패킷의 형식으로, 적절한 DNCP 응답을 생성한다. DNCP 데이터베이스(314)는 디폴트 FIB 엔트리와, 장치 등록 및 디스커버리, 네트워크 서비스 디스커버리를 위한 네임스페이스, 풀이(resolution) 서비스의 네임스페이스, 키 서비스의 네임스페이스 등과 같은 다양한 네임스페이스 구성 정보를 저장한다. 장치 등록 및 디스커버리에 대한 네임스페이스는 클라이언트 장치가 등록 또는 장치-디스커버리 인터레스트 메시지를 서버에 송신하도록 허용한다. 서비스 디스커버리 네임스페이스는 클라이언트 장치가 가용한 네트워크 서비스를 발견하기 위하여 인터레스트 메시지를 송신하도록 허용한다. 풀이(resolution) 서비스의 네임스페이스는 클라이언트 장치가 발행자 키나 콘텐츠 이름의 해시를 획득하기 위하여 인터레스트 메시지를 네임스페이스에 송신하도록 허용한다. 키(key) 서비스의 네임스페이스는, 클라이언트 장치가 인증 키에 의해 미리-로딩되지 않았다면, 클라이언트 장치가 인증된 서명 키를 획득하기 위하여 인터레스트 메시지를 송신하도록 허용한다. 네트워크 환경은 시간에 따라 변하기 때문에, DNCP 응답 패킷은 각 네임스페이스에 대한 리스 시간을 선택적으로 포함함으로써, 네임스페이스가 얼마나 오랫동안 유효하게 남아있을 것인지 알릴 수 있다는 것을 주목하라. 이러한 시나리오에서, 클라이언트 장치는 DNCP 인터레스트를 주기적으로 송신하여 그들의 네임스페이스 구성이 여전히 유효하다는 것을 보장하고, 그리고 필요 시 그들의 네임스페이스 구성을 갱신해야 한다. 클라이언트 장치는 이전의 DNCP 응답을 수신했기 때문에, DNCP 인터레스트를 다시 브로드캐스팅할 필요 없이, DNCP 인터레스트를 DNCP 서비스에 직접 송신할 수 있다는 것을 주목하라.The faces 302-306 are similar to the faces 202-206 and may include physical interlaces and application processes. The packet-processing module 308 is responsible for processing the received packets on various faces. In some embodiments, the packet-processing module 308 extracts the name prefix of the received packet. In another embodiment, if the name prefix of the receivedinterest is within a predetermined DNCP namespace (e.g., a "/ hello" namespace), the packet-processing module 308 sends the interpreter to the DNCP listener 310, , Which listens to the inter- ests within the predetermined namespace. In the example mentioned above, the predetermined DNCP namespace is "/ hello ". When the DNCP listener 310 receives a "HELLO" INTEREST message in the predetermined DNCP namespace, the CCN-DNCP server 300 determines that the node receiving the "HELLO" In response to the DNCP request, the DNCP-response-generation module 312 generates an appropriate DNCP response, in the form of a content packet, based on the information stored in the DNCP database 314. The DNCP database 314 stores various namespace configuration information, such as default FIB entries, device registration and discovery, namespace for network service discovery, resolution service namespace, key service namespace, and the like. The namespace for device registration and discovery permits the client device to send a registration or device-discovery interleaved message to the server. The service discovery namespace allows the client device to send an intercept message to discover available network services. The resolution service's namespace allows the client device to send an intercept message to the namespace to obtain a hash of the issuer key or content name. The namespace of the key service permits the client device to send an INTEREST message to obtain an authenticated signing key, if the client device has not been pre-loaded with an authentication key. Note that since the network environment varies over time, the DNCP response packet may optionally include a lease time for each namespace, thereby indicating how long the namespace will remain valid. In such a scenario, the client device must periodically send DNCP interrupts to ensure that their namespace configuration is still valid, and update their namespace configuration, if necessary. Note that because the client device has received a previous DNCP response, the DNCP interpreter can be sent directly to the DNCP service without having to re-broadcast the DNCP inter- est.

(콘텐츠 오브젝트로서) 생성된 DNCP 응답 패킷은 전달 모듈(316)에 의해 "HELLO" 인터레스트의 인커밍 페이스로 다시 전달됨으로써 응답 패킷이 "HELLO" 인터레스트의 본래 노드로 역-전달되는 것을 보장한다.The generated DNCP response packet (as a content object) is forwarded back to the incoming face of the "HELLO" interlace by the forwarding module 316 to ensure that the response packet is forwarded back to the original node of the " HELLO " .

DNCP 데이터베이스에 저장된 구성 정보가 싱글 콘텐츠 오브젝트에게는 너무 많거나, 또는 구성 정보가 복수의 섹터를 포함하고 있고, 이 중 일부는 장치 운영에 필수적이고, 이 중 일부는 선택적인 상황이 존재한다. 예를 들면, 디폴트 FIB 엔트리는 필수적인 구성 정보인 반면, 프린터 서비스는 선택적이다. 일부 실시예에서, DNCP-응답-생성 모듈(312)은 클라이언트 장치가 추가적인 구성 정보를 회득하도록 하는 명령을 포함하는 DNCP 콘텐츠 오브젝트를 생성할 수 있다. 예를 들면, 클라이언트 장치가 CCN-DNCP 서버(300)에 전달되는 제1 "HELLO" 인터레스트를 송신할 때, DNCP-응답-생성 모듈(312)은 (디폴트 FIB 엔트리와 장치 등록을 위한 네임스페이스 같은) 필수적인 구성 정보를 포함하는 DNCP 콘텐츠 오브젝트를 생성할 수 있다. DNCP 콘텐츠 오브젝트는 더 많은 DNCP 정보가 가용하다는 것을 나타낼 수 있고, 그리고 추가적인 DNCP 정보와 연관된 네임스페이스를 명시할 수 있다. 따라서, 추가적인 정보를 획득하기 위하여, 클라이언트 장치는 특정 네임스페이스에 추가적인 DNCP 요청을 송신할 수 있다. 예를 들면, 클라이언트 장치에 대한 초기 DNCP 응답은 프린팅 서비스가 이용 가능하다는 것을 지시하고, 그리고 프린팅 서비스에 대한 네임스페이스를 획득하기 위하여, 클라이언트 장치는 새로운 "HELLO" 인터레스트를 "/hello-1" 네임스페이스에 송신해야 한다. 유사하게, 만일 가용한 DNCP 정보가 복수의 콘텐츠 오브젝트를 점유한다면, 클라이언트 장치로 송신된 제1 콘텐츠 오브젝트는 클라이언트 장치가 후속하는 콘텐츠 오브젝트를 검색하기 위하여 새로운 "HELLO" 인터레스트를 "/hello-1" 네임스페이스에 송신해야 한다고 지시할 수 있다. The configuration information stored in the DNCP database is too much for a single content object, or the configuration information includes a plurality of sectors, some of which are essential for device operation, some of which are optional. For example, the default FIB entry is mandatory configuration information, while the printer service is optional. In some embodiments, the DNCP-response-generation module 312 may generate a DNCP content object that includes instructions that allow the client device to gain additional configuration information. For example, when a client device sends a first "HELLO" -received to the CCN-DNCP server 300, the DNCP-response-generation module 312 (the default FIB entry and the namespace for device registration And the like). ≪ / RTI > The DNCP content object may indicate that more DNCP information is available, and may specify a namespace associated with additional DNCP information. Thus, in order to obtain additional information, the client device may send an additional DNCP request to a particular namespace. For example, the initial DNCP response to the client device indicates that the printing service is available, and to obtain the namespace for the printing service, the client device sends a new "HELLO" Must be sent to the namespace. Similarly, if the available DNCP information occupies a plurality of content objects, the first content object sent to the client device may include a new "HELLO" "You can tell it to send to the namespace.

도 4는 본 발명의 일 실시예에 따른, 동적 네임스페이스 구성을 위한 서버 프로세스를 보여주는 흐름도이다. 동작 동안, 시스템은 미리 결정된 네임스페이스 내의 인터레스트 청취하고(동작 402), 그리고 이 네임스페이스 내의 이름 프리픽스를 갖는 미리 결정된 인터레스트가 클라이언트 장치로부터 수신되었는지 여부를 결정한다(동작 404). 예를 들면, 미리 결정된 네임스페이스는 "/hello" 같은, DNCP 네임스페이스일 수 있고, 그리고 미리 결정된 DNCP 인터레스트는 미리 정의된 "HELLO" 패킷일 수 있다. 일부 실시예에서, DNCP 네임스페이스와 "HELLO" 인터레스트의 포맷은 서버와 클라이언트 장치에서 동작하는 CCN 프로토콜에 의해 미리 구성된다.4 is a flow diagram illustrating a server process for dynamic namespace configuration, in accordance with one embodiment of the present invention. During operation, the system hears interlaced in a predetermined namespace (act 402) and determines whether a predetermined inter- est with a name prefix in this namespace has been received from the client device (act 404). For example, the predetermined namespace may be a DNCP namespace, such as "/ hello ", and the predetermined DNCP interface may be a predefined" HELLO "packet. In some embodiments, the format of the DNCP namespace and the "HELLO" interface is preconfigured by the CCN protocol running on the server and client device.

만일 시스템이 DNCP 인터레스트를 수신하면, 시스템은 DNCP 응답을 생성하고(동작 406), 그리고 DNCP 인터레스트의 본래의 노드로 DNCP 응답을 송신한다(동작 408). DNCP 응답은 (클라이언트 장치가 그의 인터레스트를 송신할 수 있는 디폴트 페이스 같은) 디폴트 FIB 엔트리와 다양한 서비스를 위한 네임스페이스도 포함한다. 일부 실시예에서, DNCP 인터레스트는 클라이언트에 의해 요청된 서비스의 타입을 지시하고, DNCP 응답은 요청된 서비스에 기초하여 생성된다. 예를 들면, DNCP 인터레스트는 본래의 노드가 서명 키를 갖고 있지 않다고 지시할 수 있다. 응답으로, DNCP 응답은, 클라이언트는 서명 키를 획득하기 위한 인터레스트를 송신할 수 있는, 키 서비스의 네임스페이스를 포함한다.If the system receives a DNCP request, the system generates a DNCP response (operation 406), and sends the DNCP response to the original node of the DNCP (operation 408). The DNCP response also includes a default FIB entry (such as the default face at which the client device can send its inter- est) and a namespace for various services. In some embodiments, the DNCP interpreter indicates the type of service requested by the client, and a DNCP response is generated based on the requested service. For example, the DNCP interpreter may indicate that the original node does not have a signing key. In response, the DNCP response includes the namespace of the key service, in which the client can send an intercept to obtain the signing key.

도 5는 본 발명의 일 실시예에 따른, 동적 네임스페이스 구성을 위한 클라이언트 프로세스를 보여주는 흐름도이다. 동작 동안, 새로운 환경에 합류하거나 처음으로 온라인을 도입한 클라이언트 장치는 그의 모든 페이스 상에 DNCP 요청 메시지를 브로드캐스팅한다(동작 502). 일부 실시예에서, DNCP 요청 메시지는 미리 정의된 네임스페이스 내의 이름 프리픽스를 갖는 인터레스트 패킷이다. 미리 정의된 네임스페이스는 DNCP 서비스에 대하여 특별하게 보유된 네임스페이스일 수 있다. 예를 들면, 시스템은 DNCP 서비스에 대하여 네임스페이스 "/hello"를 보유할 수 있다. DNCP 인터레스트나 "HELLO" 인터레스트는 이름 프리픽스 "/hello"를 갖는다. DNCP 인터레스트(또는 "HELLO" 인터레스트)는 클라이언트 장치의 모든 페이스 상에 브로드캐스팅되기 때문에, DNCP 서비스는 직접 "HELLO" 인터레스트를 그의 페이스 중의 하나에 수신하거나, 또는 다른 장치에 의해 전달된 "HELLO" 인터레스트를 수신할 수 있다. 일부 실시예에서, 브리지의 태스크를 수행하거나 또는 장치들이 CCN 네트워크 내의 "HELLO" 인터레스트를 수신하거나 DNCP 서비스에 전달할 수 있도록 세팅된 전달정보를 갖는, 네트워크 환경 내의 (다른 클라이언트 장치와 같은) 다른 장치들이 존재한다. 5 is a flow diagram illustrating a client process for dynamic namespace configuration, in accordance with one embodiment of the present invention. During operation, a client device joining a new environment or first introducing online first broadcasts a DNCP request message on all its faces (act 502). In some embodiments, the DNCP request message is an intercept packet having a name prefix in a predefined namespace. The predefined namespace may be a namespace specifically reserved for the DNCP service. For example, the system may have a namespace " / hello "for the DNCP service. The DNCP or "HELLO" interpreter has the name prefix "/ hello". Since the DNCP inter- est (or "HELLO" inter- est) is broadcast on all paces of the client device, the DNCP service either directly receives the "HELLO" Quot; HELLO " In some embodiments, other devices (such as other client devices) in the network environment, such as those in a network environment, that have the delivery information set to perform the tasks of the bridge, or to allow devices to receive the "HELLO" Lt; / RTI >

클라이언트 장치는 다음으로 DNCP 서비스로부터 DNCP 응답 패킷을 수신한다(동작 504). DNCP 응답 패킷은 콘텐츠 오브젝트의 형식이다. 일부 실시예에서, DNCP 콘텐츠 오브젝트의 이름은 "/hello" 같은 인터레스트 메시지의 이름에 매칭한다. DNCP 콘텐츠 오브젝트는, 디폴트 FIB 엔트리와 클라이언트 장치가 필요한 서비스를 획득하기 위하여 사용할 수 있는 다양한 네임스페이스 같은, 클라이언트 장치를 구성하도록 사용될 수 있는 정보를 포함할 수 있다. DNCP 응답을 수신하면, 클라이언트 장치는 그의 FIB를 디폴트 엔트리로 채우고 그리고 그의 네임스페이스를 구성한다(동작 506). 일단 FIB가 디폴트 엔트리로 채워지고 네임스페이스가 구성되면, 클라이언트 장치는 서비스를 획득하기 위하여 적절한 이름 프리픽스를 갖는 인터레스트를 생성할 수 있다. The client device then receives a DNCP response packet from the DNCP service (act 504). The DNCP response packet is in the form of a content object. In some embodiments, the name of the DNCP content object matches the name of the inter- est message, such as "/ hello. &Quot; The DNCP content object may include information that may be used to configure the client device, such as the default FIB entry and various namespaces that the client device may use to obtain the required service. Upon receiving the DNCP response, the client device fills its FIB with a default entry and configures its namespace (act 506). Once the FIB is populated with the default entry and the namespace is configured, the client device may create an interpreter with the appropriate name prefix to obtain the service.

일부 실시예에서, DNCP 응답에 포함되는 네임스페이스는, 그들이 특정한 미리 결정된 기간 동안만 유효하다는 것을 의미하는, (하루나 열흘 같은) 리스 시간을 가지고 있다. 이러한 시나리오에서, 클라이언트 장치는 리스 시간이 만료되었는지 여부를 결정할 수 있고(동작 508), 그리고 최신의 구성 설정을 획득하기 위하여 DNCP 인터레스트를 재 송신할 수 있다(동작 502).In some embodiments, the namespaces included in the DNCP response have lease times (such as one or ten days), which means they are only valid for a certain predetermined period of time. In such a scenario, the client device may determine whether the lease time has expired (operation 508) and may retransmit the DNCP interpreter to obtain the latest configuration settings (act 502).

도 2-5에 도시된 예에서, DNCP 요청은 DNCP 서버나 서버 프로세스에 의해서 응답된다는 것을 주목하라. 실제로, 컴퓨터의 클러스터에서 동작하는 DNCP-응답 프로세스를 갖는 것도 가능하다. 무엇보다도, DNCP 인터레스트에 응답하기 위하여 CCN 네트워크 내에 다른 피어 클라이언트 컴퓨터를 가질 수 있다. 일부 실시예에서, 피어 클라이언트 머신은 재-전환 정보를 포함하는 콘텐츠 오브젝트를 갖는 DNCP 인터레스트에 응답할 수 있다. 예를 들면, 콘텐츠 오브젝트는, 요청한 클라이언트가 DNCP 요청을 송신할 수 있는, (DNCP 인터레스트의 네임스페이스와 상이한) 다른 DNCP 네임스페이스를 제공할 수 있다. 이 재-전환 콘텐츠 오브젝트는 또한 CCN 네트워크 내의 다른 클라이언트 장치의 구성 정보를 포함할 수 있다. 예를 들면, CCN 네트워크에 합류하는 클라이언트 장치는 DNCP 인터레스트를 "/hello" 네임스페이스에 송신하고, CCN 네트워크 내의 현존하는 피어 클라이언트 장치로부터 콘텐츠 오브젝트를 수신한다. 콘텐츠 오브젝트는 새로운 클라이언트 장치가 구성 정보를 획득하기 위하여 새로운 DNCP 인터레스트를 네임스페이스 "/name-abc"에 송신해야 한다는 것을 지시한다. 또한, 콘텐츠 오브젝트는 네트워크 상의 다른 피어 장치가 새로운 장치의 등록과 네트워크 상의 다른 새로운 장치의 발견을 위하여 "/device-discovery" 네임스페이스를 사용해야 한다고 명시할 수 있다.In the example shown in FIGS. 2-5, note that the DNCP request is answered by the DNCP server or server process. In fact, it is also possible to have a DNCP-response process running in a cluster of computers. Best of all, you can have other peer client computers in the CCN network to respond to DNCP inter- views. In some embodiments, the peer client machine may respond to a DNCP < RTI ID = 0.0 > For example, the content object may provide a different DNCP namespace (different from the namespace of the DNCP interpreter) from which the requesting client may send a DNCP request. This re-switching content object may also include configuration information of other client devices in the CCN network. For example, a client device joining a CCN network sends a DNCP < Desc / Clms Page number 2 >interest to the "/ hello" namespace and receives a content object from an existing peer client device in the CCN network. The content object indicates that the new client device should send a new DNCP interface to the namespace "/ name-abc" in order to obtain configuration information. In addition, the content object may specify that another peer device on the network should use the "/ device-discovery" namespace for registration of the new device and discovery of other new devices on the network.

일단 클라이언트 장치가 필요한 네임스페이스 구성 정보를 수신하면, 장치 등록 및 발견과 같은, 서비스를 획득하기 위하여 인터레스트 패킷을 적절한 네임스페이스에 송신할 수 있다. 장치의 등록은 장치가 하나 이상의 인가된 이름 프리픽스 하에 그의 데이터를 발행하기 위하여, 그리고/또는 네트워크 상의 다른 장치가 이 장치에 도달하는 것을 허용하기 위하여, 필수적이다. 더욱이, 등록은 장치가 네트워크 상에 허용되었는지 그리고 장치가 다른 인증/보안 프로세스를 필요로 하는지를 검증하는 것을 허용한다. 일부 실시예에서, 네트워크가 새로운 장치를 등록하고 발견하기 위하여, 모든 장치 등록 및 설정 서비스가 특정 네임스페이스 내의 인터레스트 메시지를 청취하도록 구성된다. 이 특정 네임스페이스는 미리-정의될 수 있고 합의될 수 있다. 등록 프로세스 동안, 새로운 장치는, 인터레스트 메시지에 포함된 장치 ID 및 장치와 연관되는 다른 정보를 갖는, 인터레스트 메시지를 이 특정 네임스페이스에 송신할 수 있다. 이들 인터레스트 메시지에 응답하도록 인가되는 서비스(예를 들면, 장치-등록 서비스나 장치-디스커버리 서비스)는 콘텐츠 오브젝트로 응답할 수 있다. 콘텐츠 오브젝트는 장치 ID를 확인하고 그의 데이터를 발행하기 위하여 장치에 의해 사용될 수 있는 추가적인 정보를 제공한다. Once the client device receives the necessary namespace configuration information, it can send the interlace packet to the appropriate namespace to obtain the service, such as device registration and discovery. Registration of the device is necessary to allow the device to issue its data under one or more authorized name prefixes, and / or allow other devices on the network to reach the device. Moreover, registration permits verifying whether the device is allowed on the network and whether the device requires another authentication / security process. In some embodiments, in order for the network to register and discover new devices, all device registration and configuration services are configured to listen to the inter- est messages within a particular namespace. This particular namespace can be pre-defined and agreed upon. During the registration process, the new device may send an interlaced message to this particular namespace, having the device ID contained in the interlaced message and other information associated with the device. A service (e.g., a device-registration service or a device-discovery service) authorized to respond to these interleaved messages may respond with a content object. The content object provides additional information that can be used by the device to identify the device ID and issue its data.

일부 실시예에서, 장치-디스커버리 중재자는 네트워크 내의 장치에 이름을 할당하고 장치가 그들의 데이터를 발행할 수 있는 곳에 네임스페이스를 제공한다. 그렇게 하기 위하여, 장치-디스커버리 중재자는 장치-디스커버리 네임스페이스 스키마(schema)를 관리해야하는데, 이는 다양한 유형의 장치를 표현할 수 있는 조직화된 네임스페이스 구조를 포함한다. 또한, 장치-디스커버리 중재자는 동일한 CCN 네트워크 내의 다른 장치를 발견하도록 지원한다.In some embodiments, the device-discovery arbiter assigns a name to a device in the network and provides a namespace where the device can issue their data. To do so, the device-discovery arbiter needs to manage the device-discovery namespace schema, which includes an organized namespace structure that can represent various types of devices. In addition, the device-discovery arbiter supports discovery of other devices within the same CCN network.

장치-디스커버리 네임스페이스 스키마는 의미있는 방식으로 다양한 유형의 장치와 연관되는 네임스페이스를 조직하여 네트워크 내의 장치 발견을 용이하게 한다. 장치-디스커버리 네임스페이스 스키마를 다루는 몇 가지 기법이 있다. 한가지 옵션은 이름 프리픽스를 장치-디스커버리 네임스페이스의 루트(root) 프리픽스로서 선택하는 것이다. 예를 들면, 네임스페이스 "/devices"는 모든 장치-디스커버리 서비스에 대하여 루트 프리픽스로서 사용될 수 있다. 추가로, 서브구조 스키마는 장치 디스커버리의 영역을 더 정제하도록 사용될 수도 있다. 예를 들면, 네임스페이스 "/devices/abc/room2105"는 "/abc" 네임스페이스 내에 방 2015호의 모든 장치-디스커버리 서비스에 대한 네임스페이스 프리픽스로서 제공될 수 있다. The device-discovery namespace schema facilitates device discovery within the network by organizing namespaces associated with various types of devices in a meaningful manner. There are several techniques for dealing with device-discovery namespace schemas. One option is to select the name prefix as the root prefix for the device-discovery namespace. For example, the namespace "/ devices" can be used as a root prefix for all device-discovery services. Additionally, the sub-structure schema may be used to further refine the area of device discovery. For example, the namespace "/ devices / abc / room 2105" may be provided as a namespace prefix for all device-discovery services in room 2015 in the "/ abc" namespace.

또한, 서브구조 스키마를 사용하여 장치 유형에 기초하여 장치-디스커버리 네임스페이스를 정제할 수 있다. 예를 들면, 네임스페이스 "/devices/abc/printers"는 "/device/abc" 네임스페이스 내의 새로운 프린터를 발견하도록 사용될 수 있고, 반면 "/devices/abc/thermometers/room2105"는 "/abc" 네임스페이스 내의 방 2015호의 온도계에 관련된 모든 장치-디스커버리 서비스에 대하여 사용될 수 있다. 네임스페이스 내의 다양한 서브구조를 어떻게 생성하고 관리하는지에 대한 결정은 장치-디스커버리 서비스에 의해서 다루어질 수 있다.In addition, the device-discovery namespace can be refined based on the device type using the sub-structure schema. For example, the namespace "/ devices / abc / printers" can be used to find new printers in the "/ device / abc" namespace, while "/ devices / abc / thermometers / room2105" It can be used for all device-discovery services related to thermometers in room 2015 in the space. The decision on how to create and manage the various sub-structures within the namespace can be handled by the device-discovery service.

두 번째 옵션은 장치가 장치 디스커버리를 위하여 그들의 자신의 제조자-공급 네임스페이스 스키마를 갖추는 것이다. 예를 들면, "def" 회사에 의해서 제조되는 모든 장치는 "/devices/def"를 그들의 루트 프리픽스로 사용할 수 있고 그리고 특정 네임스페이스 프리픽스에 인터레스트 메시지를 송신할 수 있다. 이 루트 이름 프리픽스 상에 청취하는 장치-디스커버리 서비스는 인터레스트 메시지를 프로세싱한다. The second option is that the devices have their own manufacturer-supplied namespace schema for device discovery. For example, all devices manufactured by the "def" company can use "/ devices / def" as their root prefix and send an intercept message to a specific namespace prefix. The device-discovery service listening on this root name prefix processes the intra-message.

제1 및 제2 옵션은 장치 디스커버리를 위한 미리 결정된 네임스페이스 스키마에 의존한다는 것을 알 수 있다. 즉, 장치는 장치-디스커버리 네임스페이스로 (장치 제조자에 의해서 또는 장치에서 수행되는 CCN 프로토콜에 의해서) 미리-구성되고, 그리고 인터레스트를 미리-구성된 장치-디스커버리 네임스페이스에 자동으로 송신한다. It will be appreciated that the first and second options rely on a predetermined namespace scheme for device discovery. That is, the device is pre-configured with the device-discovery namespace (by the device manufacturer or by the CCN protocol performed by the device) and automatically transmits the inter- ests to the pre-configured device-discovery namespace.

제3 옵션은, 장치가 새로이 박스에서 꺼내어 질 때, 또는 처음으로 환경에 소개될 때, 장치-디스커버리 네임스페이스를 자동으로 구성하는 앞서 언급한 DNCP 서비스에 의존한다. 좀더 상세하게는, 장치는 DNCP 네임스페이스 내의 모든 그의 페이스 상에 "HELLO" 인터레스트를 브로드캐스팅한다. DNCP 서비스는 ("/abc/devices" 같은) 장치-디스커버리 서비스의 루트 이름 프리픽스를 명시하는 콘텐츠 오브젝트를 갖는 "HELLO" 인터레스트에 응답한다. 일단 장치가 그러한 콘텐츠 오브젝트를 수신하면, 그것은 인터레스트 메시지를 장치-디스커버리 서비스에 대한 특정 루트 이름 프리픽스로 송신한다.The third option depends on the aforementioned DNCP service, which automatically configures the device-discovery namespace when the device is newly removed from the box or when it is first introduced into the environment. More specifically, the device broadcasts a "HELLO" interpreter on all of its faces within the DNCP namespace. The DNCP service responds to a "HELLO" interface having a content object that specifies the root name prefix of the device-discovery service (such as "/ abc / devices"). Once the device receives such a content object, it sends the inter- est message to the specific route name prefix for the device-discovery service.

도 6은 본 발명의 일 실시예에 따른, 장치-디스커버리 중계자의 아키텍처를 보여주는 도면이다. 도 6에서, 장치-디스커버리 중계자(600)는, 페이스(602, 604, 606)와 같은, 많은 페이스, 패킷-프로세싱 모듈(608), 리스너(610), 장치-등록 모듈(612), 응답-생성 모듈(614), 네임스페이스 데이터베이스(616), 장치 데이터베이스(718), 그리고 전달 모듈(620)을 포함한다. Figure 6 is a diagram illustrating the architecture of a device-discovery intermediary, in accordance with an embodiment of the present invention. 6, device-discovery intermediary 600 may include a number of paces, such as pace 602, 604, 606, a packet-processing module 608, a listener 610, a device-registration module 612, A creation module 614, a namespace database 616, a device database 718, and a delivery module 620.

페이스(602-606)는 페이스(202-206)와 유사하며, 물리적 인터레이스와 어플리케이션 프로세스를 포함할 수 있다. 패킷-프로세싱 모듈(608)은 다양한 페이스 상에 수신된 패킷을 프로세싱하는 역할을 한다. 일부 실시예에서, 패킷-프로세싱 모듈(608)은 수신된 인터레스트의 이름 프리픽스를 점검하여, 만일 인터레스트의 이름 프리픽스가 장치-디스커버리 네임스페이스 내에 있다면, 인터레스트를 리스너(610)에게 송신한다. 리스너(610)는, "/abc/devices" 같은, 장치-디스커버리 네임스페이스의 루트 프리픽스 상의 인터레스트 메시지를 청취한다. 장치-디스커버리 네임스페이스는 장치-디스커버리 중계자(600)에 등록할 장치에 대하여 (이름 프리픽스 "/abc/devices/registration"를 갖는) 등록 서비스를 제공하고, 그리고 장치가 네트워크 상의 다른 장치를 발견하도록 (이름 프리픽스 "/abc/devices/list"를 갖는) 디스커버리 서비스를 제공할 수 있다는 것을 주목하라, 새로운 장치는 그것이 다른 장치에 의해서 발견될 수 있기 전에 먼저 등록해야 한다는 것을 주목하라. Pairs 602-606 are similar to faces 202-206 and may include physical interlaces and application processes. The packet-processing module 608 is responsible for processing packets received on various faces. In some embodiments, the packet-processing module 608 checks the name prefix of the received inter- est and sends the inter- est to the listener 610 if the name prefix of the inter- est is in the device-discovery namespace. Listener 610 listens to the intercept message on the root prefix of the device-discovery namespace, such as "/ abc / devices." The device-discovery namespace provides a registration service (with the name prefix "/ abc / devices / registration") for the device to register with the device-discovery intermediary 600 and allows the device to discover other devices on the network Note that it is possible to provide a discovery service with the name prefix "/ abc / devices / list", note that a new device must first be registered before it can be discovered by another device.

리스너(610)가 등록 네임스페이스 내에 인터레스트 메시지를 수신할 때, 장치-등록 모듈(612)은 인터레스트 메시지에 포함된 정보를 추출함으로써 인터레스트를 송신하는 장치를 등록한다. 일부 실시예에서, 장치 등록을 위한 인터레스트 메시지는 장치와 연관되는 다양한 정보를 포함하며, 이는 (제조자에 의해 발급되는 유일한 ID일 수 있는) 장치 ID, 콘텐츠 서명을 위하여 장치에 의해 사용되는 공개키(또는 공개키에 대한 참조), 그리고 장치의 설명을 포함하지만 이에 한정되지 않는다. 장치의 설명은 (전구 또는 온도계와 같은) 장치 유형, 모델 번호 등을 포함할 수 있다. 수신된 등록 인터레스트에 기초하여, 장치-등록 모듈(612)은 인터레스트가 등록을 위하여 요구되는 모든 정보를 포함하는지 여부를 결정한다. 만일 그렇다면, 응답-생성 모듈(614)은 "등록 확인" 콘텐츠 오브젝트를 생성한다. "등록 확인" 콘텐츠 오브젝트는 장치의 할당된 이름을 포함할 수 있고, 선택적으로 장치에 대한 라우팅될 수 있는 이름 프리픽스를 포함할 수 있다. 예를 들면, 등록된 온도계는 이름 "/thermometer-id-123"과, 그리고 선택적으로 라우팅될 수 있는 이름 프리픽스 "/abc/Room2105/thermometer-id-123"이 주어질 수 있다. 다른 장치-등록 정보가 또한 "등록 확인" 콘텐츠 오브젝트에 포함될 수 있으며, 이는 서브디렉토리 네임스페이스, 장치가 데이터를 발행하기 위한 네임스페이스(또는 장치가 발행하도록 인가된 네임스페이스), 그리고 (이미 갖고 있지 않다면) 장치가 인증키를 획득할 수 있는 인증 권한을 위한 네임스페이스를 포함할 수 있지만 이에 한정되지 않는다. 다른 실시예에서, 보안 정책에 기초하여, 일단 장치가 키 서비스로부터 (공개-개인 키 쌍 같은) 키를 획득하면, 장치는 그의 공개키를 갖는 장치 이름을 장치-디스커버리 중개자(600)에게 송신해야 할 수 있다는 것을 주목하라. 이들 네임스페이스는 네임스페이스 데이터베이스(616)로부터 획득된다. 서브디렉토리 네임스페이스는 추가적인 장치-디스커버리 서비스를 허용한다는 것을 주목하라. 예를 들면, 서브디렉토리 네임스페이스 "/devices/abc/room2105"는 네임스페이스 "/abc" 내에 방 2015 내의 장치 디스커버리를 허용한다. 데이터를 발행하기 위한 온도계에 대한 네임스페이스는 "abc/Room2105/thermometer-id-123/data"일 수 있다. 응답-생성 모듈(614)이 복수의 콘텐츠 오브젝트를 생성하는 것이 가능하고, 각각은 장치 등록 정보의 부분과 다음의 부분을 획득하기 위하여 클라이언트 장치에 의해서 사용될 수 있는 네임스페이스를 포함한다는 것을 주목하라. 즉, 콘텐츠 오브젝트의 체인은, 각 아이템이 다음 아이템의 포인터를 포함하도록, 형성될 수 있다.When the listener 610 receives the intra-message in the registration namespace, the device-registration module 612 registers the device that transmits the inter-post by extracting the information contained in the inter-message. In some embodiments, the interrest message for device registration includes various information associated with the device, including a device ID (which may be the only ID issued by the manufacturer), a public key used by the device for content signing (Or a reference to a public key), and a description of the device. The description of the device may include device type (such as a bulb or thermometer), model number, and the like. Based on the received registration context, the device-registration module 612 determines whether the intercept contains all of the information required for registration. If so, the response-creation module 614 creates a "registration confirmation" content object. The "registration confirmation" content object may include an assigned name of the device, and optionally a name prefix that can be routed to the device. For example, a registered thermometer can be given the name "/ thermometer-id-123" and optionally the name prefix "/ abc / Room2105 / thermometer-id-123" that can be routed. Other device-registration information may also be included in the "registration confirmation" content object, which may include a subdirectory namespace, a namespace for the device to issue data (or a namespace authorized for the device to issue) The device may include a namespace for authentication authority to obtain an authentication key, but is not limited thereto. In another embodiment, based on a security policy, once the device obtains a key (such as a public-private key pair) from a key service, the device must send a device name with its public key to the device-discovery intermediary 600 Note that you can. These namespaces are obtained from the namespace database 616. Note that the subdirectory namespace allows additional device-discovery services. For example, the subdirectory namespace "/ devices / abc / room 2105" allows device discovery in room 2015 within the namespace "/ abc ". The namespace for the thermometer for issuing the data may be "abc / Room 2105 / thermometer-id-123 / data ". Note that the response-generating module 614 is capable of generating a plurality of content objects, each of which includes a namespace that can be used by the client device to obtain portions of the device registration information and the next portion. That is, a chain of content objects may be formed such that each item contains a pointer to the next item.

만일 장치-등록 모듈(612)이 모든 필요한 정보가 제공되지 않았다고 결정한다면, 응답-생성 모듈(614)은 장치가 자신을 올바르게 등록하기 위하여 어떤 정보가 필요한 지를 명시하는 "필요한 정보" 콘텐츠 오브젝트를 생성한다. 필요한 정보는, 장치-디스커버리 중재자(600)에 의해 현재 구현되는 특정 보안 정책에 따라, 인증 정보, 키(key) 정보 등을 포함할 수 있다. 콘텐츠 오브젝트("등록 확인" 또는 "필요한 정보")는 전달 모듈(620)에 의해 장치로 반환된다.If the device-registration module 612 determines that all necessary information has not been provided, the response-creation module 614 generates a "required information" content object that specifies what information the device needs to properly register itself do. The necessary information may include authentication information, key information, etc., in accordance with the specific security policy currently implemented by the device-discovery arbiter 600. The content object ("registration confirmation" or "necessary information") is returned to the device by the delivery module 620.

일단 장치가 등록되면, 장치 데이터베이스(618)는 새로운 장치 이름 및 상기 새로운 장치 이름에 연관되는 등록 정보를 포함하도록 갱신된다. 장치 데이터베이스(618)는 네트워크 상의 다른 장치를 발견하는 프로세스를 용이하게 한다. 동작 동안, 리스너(610)가 ("/abc/devices/list" 같은) 디스커버리 서비스 네임스페이스 내의 인터레스트 메시지를 수신할 때, 응답-생성 모듈(614)은 장치 데이터베이스(618)에 저장된 정보에 기초하여 콘텐츠 오브젝트를 생성한다. 일부 실시예에서, 이 콘텐츠 오브젝트는 네트워크 내의 현재 등록되어 있는 모든 장치의 리스트를 포함할 수 있다. 다른 실시에에서, 적절한 인증과 암호화는 장치-디스커버리 프로세스의 일부이다. 예를 들면, 오직 특정 장치만이 모든 등록된 장치들의 리스트를 획득하도록 인가된다. 또한, 등록된 클라이언트 장치는 선택적으로 네트워크 내의 다른 클라이언트 장치에 의해서 발견되지 않도록 자신을 숨길 수 있다.Once the device is registered, the device database 618 is updated to include the new device name and the registration information associated with the new device name. The device database 618 facilitates the process of discovering other devices on the network. During operation, when the listener 610 receives an inter- est message in the discovery service namespace (such as "/ abc / devices / list"), the response-generating module 614 generates, based on the information stored in the device database 618 Thereby creating a content object. In some embodiments, the content object may include a list of all currently registered devices in the network. In other implementations, proper authentication and encryption are part of the device-discovery process. For example, only a specific device is authorized to obtain a list of all registered devices. In addition, the registered client device may optionally hide itself so that it is not discovered by other client devices in the network.

초기의 등록 및 발견에 부가하여, 클라이언트 장치는 또한 주기적인 하트비트(heartbeat) 메시지를 장치-디스커버리 중계자(600)에게 송신하여, 장치-디스커버리 중계자(600)가 네트워크 내에 모든 액티브 장치의 갱신된 현재 리스트를 유지할 수 있게 된다. 일부 실시예에서, 리스너(610)는 (초기 장치 구성 동안 장치로 배포될 수 있는) 미리 결정된 하트비트 네임스페이스 내의 인터레스트 메시지를 청취할 수 있다. 장치에 의해 송신된 하트비트 인터레스트는 장치의 할당된 이름을 포함해야 하고 그리고 장치의 키로 서명된다. 일단 리스너(listner)(610)가 그러한 주기적 하트비트 메시지를 수신하면, 응답-생성 모듈(614)은 확인 콘텐츠 오브젝트를 생성하고, 그리고 전달 모듈(620)은 확인 콘텐츠 오브젝트를 장치로 송신한다.In addition to initial registration and discovery, the client device also sends a periodic heartbeat message to the device-discovery intermediary 600 to allow the device-discovery intermediary 600 to send an updated current < RTI ID = 0.0 > The list can be maintained. In some embodiments, the listener 610 may listen to an interlaced message in a predetermined heartbeat namespace (which may be distributed to the device during initial device configuration). The heartbeat transmitted by the device must contain the device's assigned name and is signed with the device's key. Once the listener 610 receives such a periodic heartbeat message, the response-creation module 614 generates an acknowledgment content object, and the delivery module 620 sends the acknowledgment content object to the device.

도 7은 본 발명의 일 실시예에 따른, 장치-디스커버리 중계자에 의해 수행되는 장치-등록 프로세스를 보여주는 흐름도이다. 동작 동안, 장치-디스커버리 중계자는 등록 서비스의 네임스페이스 상의 등록 인터레스트를 청취하고(동작 702), 그리고 등록 인터레스트가 수신되었는지 여부를 결정한다(동작 704). 만일 그렇다면, 장치-디스커버리 중계자는 장치를 올바르게 등록하기 위하여 필요한 모든 정보가 등록 인터레스트에 포함되었는지 여부를 결정한다(동작 706). 이 정보-점검 동작은 장치가 이전에 등록되었는지 여부를 결정하고, 만일 그렇다면, 등록 갱신이 필요한지 여부를 결정하는 추가적인 단계를 포함한다. 무엇보다도, 장치-디스커버리 중계자는 또한 보안 점검을 수행하여 악의적인 노드들이 자신들을 네트워크에 등록하는 것을 방지하도록 장치가 자기 자신을 등록하는 것을 인가하도록 보장한다. 만일 모든 필요한 정보가 포함되었고 그리고 장치가 보안 점검을 통과한다면, 장치-디스커버리 중재자는 등록 확인 콘텐츠 오브젝트를 생성하며, 이는 장치에 할당된 이름을 포함하고 그리고 선택적으로 라우팅될 수 있는 이름 프리픽스를 포함한다(동작 708). 라우팅될 수 있는 이름 프리픽스는 장치가 다른 장치에 의해서 도달되는 것을 허용한다는 것을 주목하라. 예를 들면, 랩톱 컴퓨터는, 장치-디스커버리 중개자로부터, 이름 "/laptop"을 수신하고, 그리고 선택적으로 라우팅될 수 있는 이름 프리픽스 "/abc/laptop"을 수신할 수 있다. 따라서, 다른 장치는 인터레스트 메시지 "/abc/laptop"을 송신함으로써 랩톱에 도달할 수 있다. 다른 장치를 발견하고, 데이터 발행하고, 그리고 서명 키를 획득하기 위하여 장치에 의해서 사용될 수 있는 추가적인 정보는 또한 등록 확인 콘텐츠 오브젝트에 포함될 수 있다. 예를 들면, 앞서 언급한 랩톱 컴퓨터("/abc/laptop")는, "abc/research/papers" 같은, 랩톱에 할당된 라우팅될 수 있는 이름 프리픽스와 상이한 하나 이상의 이름 프리픽스 하에 데이터를 발행하도록 인가될 수 있다. 데이터 발행을 위한 이 추가적인 이름 프리픽스는 또한 등록 확인 콘텐츠 오브젝트에 포함될 수 있다. 장치-디스커버리 중개자는 다음으로 그의 장치 데이터베이스를 갱신하고(동작 710), 그리고 등록 확인 콘텐츠 오브젝트를 장치에 송신한다(동작 712). 만일 필요한 모든 정보가 등록 인터레스트에 의해서 제공되지 않았다면, 장치-디스커버리 중개자는 필요한-정보 콘텐츠 오브젝트를 생성하고(동작 714), 그리고 콘텐츠 오브젝트를 장치로 되 송신하여 추가적인 정보를 요청한다(동작 716).7 is a flow diagram illustrating a device-registration process performed by a device-discovery intermediary, in accordance with an embodiment of the present invention. During operation, the device-discovery intermediary listens for a registration inter- est on the namespace of the registration service (act 702) and determines whether a registration inter- est has been received (act 704). If so, the device-discovery intermediary determines whether all the information needed to properly register the device is included in the registration interface (act 706). This information-checking operation includes an additional step of determining whether the device has previously been registered, and if so, determining whether a registration update is required. Above all, the device-discovery intermediary also performs a security check to ensure that the device is authorized to register itself to prevent malicious nodes from registering themselves in the network. If all necessary information is included and the device passes the security check, the device-discovery arbitrator generates a registration confirmation content object, which contains the name assigned to the device and includes a name prefix that can be optionally routed (Act 708). Note that the name prefix that can be routed allows the device to be reached by another device. For example, a laptop computer may receive a name "/ laptop" from a device-discovery intermediary and receive a name prefix "/ abc / laptop" Thus, another device can reach the laptop by sending an " / abc / laptop " Additional information that may be used by the device to discover other devices, issue data, and obtain a signature key may also be included in the registration confirmation content object. For example, the aforementioned laptop computer ("/ abc / laptop") is authorized to issue data under one or more name prefixes different from the routable name prefix assigned to the laptop, such as "abc / research / . This additional name prefix for data publication may also be included in the registration confirmation content object. The device-discovery intermediary then updates its device database (act 710), and sends a registration confirmation content object to the device (act 712). If all the necessary information is not provided by the registration interface, the device-discovery intermediary creates a required-information content object (act 714) and sends the content object back to the device to request additional information (act 716) .

도 8은 본 발명의 일 실시예에 따른, 장치-디스커버리 중계자에 의해 수행되는 장치-디스커버리 프로세스를 보여주는 흐름도이다. 동작 동안, 장치-디스커버리 중계자는 디스커버리 서비스의 네임스페이스 상의 인터레스트를 청취하고(동작 802), 그리고 인터레스트 수신되었는지 여부를 결정한다(동작 804). 만일 그렇다면, 장치-디스커버리 중계자는 인터레스트가 등록된 장치의 리스트를 수신하도록 인가된 장치에 의해서 송신되었는지 여부를 결정한다(동작 806). 그와 같이 하기 위하여, 장치-디스커버리 중계자는 인터레스트 메시지에 포함된 접근 정보(예를 들면, 키, 사용자 ID, 패스워드 등)에 기초하여 보안 체크를 수행할 수 있다. 만일 장치가 보안 체크를 통과하고 장치 리스트를 수신하도록 인가되면, 장치-디스커버리 중계자는 장치 데이터베이스로부터 등록된 장치의 리스트 획득하고(동작 808), 그리고 장치 리스트를 포함하는 콘텐츠 오브젝트를 생성하고(동작 810), 콘텐츠 오브젝트를 요청하는 장치로 송신한다(동작 812). 만일 장치-디스커버리 중계자가 장치가 장치의 리스트를 수신하도록 인가되지 않았다고 결정하면, 그것은 오류 메시지를 송신한다(동작 814).8 is a flow diagram illustrating a device-discovery process performed by a device-discovery intermediary, in accordance with an embodiment of the present invention. During operation, the device-discovery intermediary listens for an interlace on the namespace of the discovery service (act 802) and determines whether the interlace has been received (act 804). If so, the device-discovery intermediary determines whether the intercept has been transmitted by the authorized device to receive the list of registered devices (act 806). To do so, the device-discovery intermediary can perform a security check based on the access information (e.g., key, user ID, password, etc.) included in the inter- est message. If the device passes the security check and is authorized to receive the device list, the device-discovery intermediary obtains a list of registered devices from the device database (act 808), and creates a content object containing the device list ) And sends the content object to the requesting device (act 812). If the device-discovery intermediary determines that the device is not authorized to receive the list of devices, it sends an error message (act 814).

장치-디스커버리 중계자는 장치 구성과 등록을 다루는 스탠드-얼론(stand-alone)의 중앙 서버에서 수행되는 프로세스일 수 있고, 또는 머신의 클러스터에서 수행되는 분산 프로세스일 수 있다. 대안으로, 그것은 클라이언트 장치의 부분일 수 있는, 어느 머신에서 수행되는 프로세스일 수 있다. 예를 들면, CCN 네트워크 내의, 클라이언트 장치는 필요한 장치 등록 및 디스커버리 서비스를 다른 클라이언트 장치에 제공할 능력이 있을 수 있다.The device-discovery intermediary may be a process performed on a stand-alone central server that handles device configuration and registration, or it may be a distributed process performed on a cluster of machines. Alternatively, it may be a process performed on any machine, which may be part of the client device. For example, within a CCN network, a client device may be capable of providing the necessary device registration and discovery services to other client devices.

도 9는 본 발명의 일 실시예에 따른, 장치 등록 및 발견을 위한 시스템을 보여준다. 장치 등록 및 디스커버리를 위한 시스템(900)은 프로세서(910), 메모리(920), 저장소(930)를 포함한다. 저장소(930)는 전형적으로 메모리(920)로 로딩될 수 있는 명령을 저장하고 상술한 방법을 수행하는 프로세스(910)에 의해서 실행될 수 있다. 일 실시예에서, 저장소(930)의 명령은 장치-디스커버리 중계자 모듈(932), 네임스페이스 데이터베이스(934), 그리고 장치 데이터베이스(936)를 구현할 수 있고, 이들 모두 다양한 수단을 통해 서로 통신할 수 있다.Figure 9 shows a system for device registration and discovery, in accordance with an embodiment of the present invention. A system 900 for device registration and discovery includes a processor 910, a memory 920, and a storage 930. The storage 930 may be executed by a process 910 that typically stores instructions that can be loaded into the memory 920 and performs the methods described above. In one embodiment, the instructions of the repository 930 may implement a device-discovery intermediary module 932, a namespace database 934, and a device database 936, all of which may communicate with one another through various means .

일부 실시예에서, 모듈(932, 934, 936)은 부분적으로 또는 전체적으로하드웨어로 구현될 수 있고 그리고 프로세서(910)의 일부일 수 있다. 또한, 일부 실시예에서, 시스템은 별도의 프로세서와 메모리를 포함하지 않을 수 있다. 대신에, 그들의 특정 태스크의 수행에 추가하여, 모듈(932, 934, 936)은, 별도의 또는 협력하는, 범용- 또는 특수-목적 컴퓨팅 엔진의 부분일 수 있다. In some embodiments, modules 932,934, and 936 may be implemented in hardware, either partially or entirely, and may be part of processor 910. [ Also, in some embodiments, the system may not include a separate processor and memory. Instead, in addition to performing their specific tasks, the modules 932, 934, 936 may be part of a general purpose or special purpose computing engine, either separate or cooperating.

저장소(930)는 프로세서(910)에 의해 실행되는 프로그램을 저장한다. 특히, 저장소(930)는 장치 등록 및 발견을 용이하게 하는 시스템(어플리케이션)을 구현하는 프로그램을 저장한다. 동작 동안, 어플리케이션 프로그램은 저장소(930)에서 메모리(920)로 로딩될 수 있고, 그리고 프로세서(910)에 의해 실행될 수 있다. 결과로서, 시스템(900)은 상술한 기능을 수행할 수 있다. 시스템(900)은 (터치스크린 디스플레이일 수 있는) 선택적인 디스플레이(980), 키보드(960), 그리고 포인팅 장치(970)에 연결될 수 있고, 그리고 또한 하나 이상의 네트워크 인터페이스를 통해 네트워크(982)에 연결될 수 있다.The storage 930 stores programs executed by the processor 910. In particular, the repository 930 stores a program that implements a system (application) that facilitates device registration and discovery. During operation, the application program may be loaded into the memory 920 from the storage 930 and executed by the processor 910. [ As a result, the system 900 can perform the functions described above. The system 900 may be coupled to an optional display 980 (which may be a touch screen display), a keyboard 960, and a pointing device 970 and may also be coupled to the network 982 via one or more network interfaces .

본 상세한 설명에 기술되는 데이터 구조와 코드는 전형적으로 컴퓨터-판독가능한 저장 매체에 저장되며, 이는 컴퓨터 시스템에 의한 사용을 위하여 코드 및/또는 데이터를 저장할 수 있는 장치나 매체일 수 있다. 컴퓨터-판독 가능한 저장 매체는 휘발성 메모리, 비-휘발성 메모리, 디스크 드라이브 같은 자성 및 광 저장 장치, 자성 테입, CD(컴팩트 디스크), DVD(디지털 다기능 디스크 또는 디지털 비디오 디스크), 또는 현재 알려져 있거나 나중에 개발될 컴퓨터-판독가능한 미디어를 저장할 수 있는 기타 미디어를 포함할 수 있지만, 이에 한정되지 않는다.The data structures and codes described in this specification are typically stored in a computer-readable storage medium, which may be an apparatus or medium capable of storing code and / or data for use by a computer system. The computer-readable storage medium may be a magnetic and optical storage device such as a volatile memory, a non-volatile memory, a disk drive, a magnetic tape, a CD (compact disk), a DVD (digital versatile disk or digital video disk) And other media capable of storing computer-readable media to be played back.

본 상세한 설명 섹션에 기술되는 방법과 프로세스는 코드 및/또는 데이터로서 구현되어, 상술한 것처럼, 컴퓨터-판독 가능한 저장 매체에 저장될 수 있다. 컴퓨터 시스템이 컴퓨터-판독 가능한 저장 매체에 저장된 코드 및/또는 데이터를 읽고 실행할 때, 컴퓨터 시스템은 데이터 구조와 코드로서 구현되어 컴퓨터-판독 가능한 저장 매체 내에 저장된 방법과 프로세스를 수행한다. The methods and processes described in this Detailed Description section may be implemented as code and / or data and stored in a computer-readable storage medium, as described above. When a computer system reads and executes code and / or data stored in a computer-readable storage medium, the computer system is implemented as a data structure and code to perform the methods and processes stored in the computer-readable storage medium.

또한, 상술한 방법과 프로세스는 하드웨어 모듈이나 장치에 포함될 수 있다. 이들 모듈이나 장치는 어플리케이션-특정 집적 회로(ASIC) 칩, 필드-프로그래머블 게이트 어레이(FPGA), 특정 소프트웨어 모듈이나 특정 시간에 코드의 부분을 실행하는 전용 또는 공유 프로세서, 그리고/또는 현재 알려지거나 추후에 개발될 그밖의 프로그래머블-로직 장치를 포함하지만, 이에 한정되지는 않는다. 하드웨어 모듈이나 장치가 활성화되면, 그들은 그들 내에 포함된 방법과 프로세스를 수행한다.In addition, the methods and processes described above may be included in a hardware module or device. These modules or devices may be application specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), dedicated software modules or dedicated or shared processors that execute portions of code at specific times, and / And other programmable-logic devices to be developed. When a hardware module or device is activated, they perform the methods and processes contained within them.

위의 설명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 실시예들을 만들고 사용하는 것을 가능하게 하도록 표현되고, 특정 응용과 요구사항의 맥락에서 제공된다. 개시된 실시예에 대한 다양한 변경이 본 발명이 속하는 분야에서 통상의 지식을 가진자에게 명백할 것이며, 여기 정의되는 일반적인 원칙은 본 개시의 정신이나 영역으로부터 벗어나지 않고 다른 실시예와 응용에 적용될 수 있다. 따라서, 본 발명은 여기 설명되는 실시예에 한정되지 않고, 다만 여기 개시되는 원칙과 특징에 일치하는 가장 넓은 영역에 일치한다.The above description is presented to enable one of ordinary skill in the art to make and use the embodiments, and is provided in the context of specific applications and requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art to which the invention pertains and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit or scope of the disclosure. Accordingly, the present invention is not limited to the embodiments described herein but is to be accorded the widest scope consistent with the principles and features disclosed herein.

Claims (9)

콘텐츠 중심 네트워크(content centric network, CCN)의 장치 등록 및 탐지를 위한 컴퓨터 시스템에 있어서,
프로세서; 및
상기 프로세서에 연결되고, 상기 프로세서에 의해서 실행될 때 상기 프로세서가 방법을 수행하도록 하는 명령들을 저장하는 저장 장치를 포함하고, 상기 방법은
컴퓨터에 의해서, 클라이언트 장치의 등록을 위한 인터레스트(Interest)를 수신하는 단계로, 상기 인터레스트는 적어도 상기 클라이언트 장치와 연관된 유일한 식별자를 포함하는, 상기 수신하는 단계;
상기 인터레스트에 응답하여 콘텐츠 오브젝트를 생성하는 단계로, 상기 콘텐츠 오브젝트는 적어도 상기 클라이언트 장치에 할당된 이름을 포함하는, 상기 생성하는 단계; 및
상기 콘텐츠 오브젝트를 상기 클라이언트 장치로 송신하는 단계로, 그에 의해 상기 CCN 내의 다른 클라이언트 장치들에 의해 상기 클라이언트 장치가 탐지되는 것이 가능해지는, 상기 송신하는 단계를 포함하는, 시스템.
A computer system for device registration and detection of a content centric network (CCN)
A processor; And
And a storage coupled to the processor and storing instructions for causing the processor to perform the method when executed by the processor, the method comprising:
Receiving, by a computer, an interest for registration of a client device, the intercept comprising at least a unique identifier associated with the client device;
Generating a content object in response to the interleaving, the content object including at least a name assigned to the client device; And
And sending the content object to the client device, thereby making it possible for the client device to be detected by other client devices in the CCN.
제1항에 있어서, 상기 인터레스트는
상기 클라이언트 장치와 연관된 공개키;
장치 타입;
장치 모델 번호; 및
임의의 포맷의 장치 식별자
중의 하나 이상을 더 포함하는, 시스템.
2. The method of claim 1,
A public key associated with the client device;
Device type;
Device model number; And
Device identifiers in any format
≪ / RTI >
제1항에 있어서, 상기 콘텐츠 오브젝트는
상기 클라이언트 장치에 할당된 라우팅가능한 이름 프리픽스(prefix);
서브디렉토리 장치-탐지(device-discovery) 네임스페이스(namespace);
상기 클라이언트 장치가 데이터를 발행하는 하나 이상의 네임스페이스들; 및
상기 클라이언트 장치가 서명 키를 획득하는 네임스페이스
중의 하나 이상을 포함하는, 시스템.
The method of claim 1, wherein the content object
A routable name prefix assigned to the client device;
Subdirectory device-discovery namespace;
One or more namespaces for which the client device issues data; And
Wherein the client device obtains a signature key from a namespace
≪ / RTI >
제1항에 있어서,
상기 인터레스트는 미리-결정된 이름 프리픽스를 갖는, 시스템.
The method according to claim 1,
Wherein the interrest has a pre-determined name prefix.
제4항에 있어서,
상기 방법은, 상기 클라이언트 장치의 초기 구성 동안, 상기 클라이언트 장치에 상기 미리-결정된 이름 프리픽스를 통지하는 단계를 더 포함하는, 시스템.
5. The method of claim 4,
The method further comprising, during an initial configuration of the client device, notifying the client device of the pre-determined name prefix.
제4항에 있어서,
상기 미리-결정된 이름 프리픽스는 상기 클라이언트 장치의 제조자에 의해 제공되는, 시스템.
5. The method of claim 4,
Wherein the pre-determined name prefix is provided by a manufacturer of the client device.
제1항에 있어서,
상기 방법은 상기 할당된 이름을 사용하여 상기 클라이언트 장치를 추가함으로써 장치 데이터베이스를 갱신하는 단계를 더 포함하는, 시스템.
The method according to claim 1,
The method further comprising updating the device database by adding the client device using the assigned name.
제7항에 있어서, 상기 방법은
상기 CCN 내의 다른 장치들의 탐지를 위한 추가 인터레스트를 수신하는 단계;
상기 추가 인터레스트에 응답하여, 상기 장치 데이터베이스에 저장된 정보에 기초하여 장치-리스트 콘텐츠 오브젝트를 생성하는 단계; 및
상기 장치-리스트 콘텐츠 오브젝트를 반환하는 단계를 더 포함하는, 시스템.
8. The method of claim 7,
Receiving an additionalinterest for detection of other devices in the CCN;
Generating a device-list content object based on the information stored in the device database, in response to the additionalinterest; And
And returning the device-list content object.
제8항에 있어서, 상기 방법은
상기 추가 인터레스트를 송신하는 장치가 상기 장치-리스트 콘텐츠 오브젝트를 획득하도록 인가되었는지 여부를 결정하기 위한 보안 체크를 수행하는 단계; 및
상기 추가 인터레스트를 송신하는 장치가 상기 장치-리스트 콘텐츠 오브젝트를 획득하도록 인가되었다는 결정에 응답하여, 상기 장치-리스트 콘텐츠 오브젝트를 상기 인가된 장치로 송신하는 단계를 더 포함하는, 시스템.
9. The method of claim 8,
Performing a security check to determine whether the device transmitting the additionalinterest is authorized to obtain the device-list content object; And
And sending the device-list content object to the authorized device in response to determining that the device transmitting the additional content is authorized to obtain the device-list content object.
KR1020150038880A 2014-04-01 2015-03-20 System and method for device registration and discovery in content-centric networks KR20150114404A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/242,761 2014-04-01
US14/242,761 US20150281376A1 (en) 2014-04-01 2014-04-01 System and method for device registration and discovery in content-centric networks

Publications (1)

Publication Number Publication Date
KR20150114404A true KR20150114404A (en) 2015-10-12

Family

ID=52779525

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150038880A KR20150114404A (en) 2014-04-01 2015-03-20 System and method for device registration and discovery in content-centric networks

Country Status (5)

Country Link
US (1) US20150281376A1 (en)
EP (1) EP2928117B1 (en)
JP (1) JP2015197920A (en)
KR (1) KR20150114404A (en)
CN (1) CN104980484A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515920B2 (en) * 2012-04-20 2016-12-06 Futurewei Technologies, Inc. Name-based neighbor discovery and multi-hop service discovery in information-centric networks
US9825860B2 (en) * 2014-05-30 2017-11-21 Futurewei Technologies, Inc. Flow-driven forwarding architecture for information centric networks
US10701038B2 (en) * 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
JP6474710B2 (en) * 2015-11-18 2019-02-27 Kddi株式会社 Communication apparatus and program
US10212196B2 (en) * 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
WO2018056032A1 (en) * 2016-09-21 2018-03-29 Kddi株式会社 Server device, transfer device, and program for content distribution system
EP3725024B1 (en) * 2017-12-14 2023-06-07 Telefonaktiebolaget LM Ericsson (publ) Secure next-hop communication

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141717B2 (en) * 1999-03-22 2015-09-22 Esdr Network Solutions Llc Methods, systems, products, and devices for processing DNS friendly identifiers
JP2004272632A (en) * 2003-03-10 2004-09-30 Sony Corp Information processor, information processing method and computer program
US20060265508A1 (en) * 2005-05-02 2006-11-23 Angel Franklin J System for administering a multiplicity of namespaces containing state information and services
US20090117883A1 (en) * 2006-07-20 2009-05-07 Dan Coffing Transaction system for business and social networking
US8032622B2 (en) * 2007-03-20 2011-10-04 Siemens Enterprise Communications, Inc. System and method for social-networking based presence
US8160069B2 (en) 2009-01-30 2012-04-17 Palo Alto Research Center Incorporated System for forwarding a packet with a hierarchically structured variable-length identifier
US8923293B2 (en) * 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US8644211B2 (en) * 2010-12-16 2014-02-04 Palo Alto Research Center Incorporated Energy-efficient content retrieval in content-centric networks
US9191459B2 (en) * 2011-07-12 2015-11-17 Futurewei Technologies, Inc. Method and apparatus for seamless mobility techniques in content-centric network
KR101797221B1 (en) * 2011-07-29 2017-11-14 삼성전자주식회사 A content source node, the first content router in a content centric network and the communication method thereof
US9253087B2 (en) * 2012-04-24 2016-02-02 Futurewei Technologies, Inc. Principal-identity-domain based naming scheme for information centric networks
KR101965794B1 (en) * 2012-11-26 2019-04-04 삼성전자주식회사 Packet format and communication method of network node for compatibility of ip routing, and the network node
KR101978173B1 (en) * 2013-01-18 2019-05-14 삼성전자주식회사 Method of transmitting data packet by contents provider in a content centric network and the contents provider
US9445354B2 (en) * 2013-02-05 2016-09-13 Mediatek Inc. Apparatus and method for acquiring IPv6 domain name system server and SIP server address
US9628400B2 (en) * 2013-07-24 2017-04-18 Cisco Technology, Inc. Interest forwarding for interactive client anonymity
US20150120924A1 (en) * 2013-10-29 2015-04-30 Palo Alto Research Center Incorporated Software-defined named-data networking

Also Published As

Publication number Publication date
CN104980484A (en) 2015-10-14
EP2928117B1 (en) 2020-09-02
EP2928117A1 (en) 2015-10-07
JP2015197920A (en) 2015-11-09
US20150281376A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
US9451032B2 (en) System and method for simple service discovery in content-centric networks
KR20150114404A (en) System and method for device registration and discovery in content-centric networks
US11070424B2 (en) System and method for dynamic name configuration in content-centric networks
US9276751B2 (en) System and method for circular link resolution with computable hash-based names in content-centric networks
US8064896B2 (en) Push notification service
TWI478549B (en) System and method for dynamic routing for push notifications
EP3054635B1 (en) System and method for on-demand content exchange with adaptive naming in information-centric networks
JP5756884B2 (en) System and method for two-way push notification
US10104092B2 (en) System and method for parallel secure content bootstrapping in content-centric networks
EP2869510B1 (en) Express header for packets with hierarchically structured variable-length identifiers
JP2019515555A (en) Anonymous Identification Information and Protocol of Identification Information Oriented Network
US10243851B2 (en) System and method for forwarder connection information in a content centric network
US9455835B2 (en) System and method for circular link resolution with hash-based names in content-centric networks
US10212196B2 (en) Interface discovery and authentication in a name-based network