KR20150116392A - Service discovery using collection synchronization with exact names - Google Patents

Service discovery using collection synchronization with exact names Download PDF

Info

Publication number
KR20150116392A
KR20150116392A KR1020150040169A KR20150040169A KR20150116392A KR 20150116392 A KR20150116392 A KR 20150116392A KR 1020150040169 A KR1020150040169 A KR 1020150040169A KR 20150040169 A KR20150040169 A KR 20150040169A KR 20150116392 A KR20150116392 A KR 20150116392A
Authority
KR
South Korea
Prior art keywords
manifest
local
remote
service record
node
Prior art date
Application number
KR1020150040169A
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 KR20150116392A publication Critical patent/KR20150116392A/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
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • H04L61/305
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

One embodiment provides a system that facilitates service discovery based on the synchronization of manifests between devices in a content centric network by using a synchronization protocol based on exact match names. During operation, a local device receives an advertisement corresponding to a remote manifest of a remote device. A manifest represents a collection of service records, and the advertisement includes a service record corresponding to the remote device. The local device updates its local manifest, in response to determining that the local manifest and the remote manifest correspond to a same namespace, by inserting the advertised service record into the local manifest.

Description

정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리{SERVICE DISCOVERY USING COLLECTION SYNCHRONIZATION WITH EXACT NAMES}{SERVICE DISCOVERY USING COLLECTION SYNCHRONIZATION WITH EXACT NAMES}

본 개시는 일반적으로는 데이터 동기화에 관련된다. 좀더 상세하게는, 본 개시는 정확한 매칭 이름을 사용하여 네트워크 상의 피어들 간의 컬렉션의 동기화를 실행하는 서비스 디스커버리에 관련된다.This disclosure generally relates to data synchronization. More particularly, this disclosure relates to service discovery that performs synchronization of collections between peers on a network using an exact match name.

많은 컴퓨팅 어플리케이션에서, 때로는 네트워크 상의 피어들이 그들의 각 데이터 컬렉션(collection)을 동기화하는 것이 중요하다. 디지털 콘텐츠의 확산은 조정을 필요로 하는 방대한 양의 컬렉션을 생성한다. 콘텐츠-중심 네트워크(CCN) 아키텍처는 그러한 디지털 콘텐츠로의 접근과 프로세싱을 용이하게 하도록 고안되었다. CCN은 엔티티, 또는 네트워크 클라이언트, 전달자(예를 들면, 라우터) 및 콘텐츠 제작자와 같은 노드를 포함하는데, 이들은 다양한 콘텐츠 아이템에 대한 "인터레스트" 패킷을 송신하고 그리고 대답으로 콘텐츠 오브젝트를 수신함으로써 서로 통신한다. CCN 인터레스트와 콘텐츠 오브젝트는 유일한 이름에 기초하여 식별되며, 이것은 전형적으로 가장 일반적인 레벨에서 가장 특정한 레벨로 정렬된 인접한 이름 컴포넌트를 포함하는 계층적으로 구조화된 가변 길이 식별자(HSVLI)이다. In many computing applications, it is sometimes important for peers on the network to synchronize their respective data collections. The proliferation of digital content creates an enormous amount of collection that requires coordination. A content-based network (CCN) architecture is designed to facilitate access to and processing of such digital content. The CCN includes nodes such as entities or network clients, forwarders (e.g., routers) and content producers, which transmit "INTERRESS" packets for various content items and receive do. The CCN interleaves and content objects are identified based on a unique name, which is typically a hierarchically structured variable length identifier (HSVLI) that includes adjacent name components aligned to the most specific level at the most general level.

현재의 CCN 동기화 프로토콜은 가장 긴-프리픽스 매칭 방법을 사용하며, 이때, "/parc/events/" 내의 인터레스트는 "parc/events/calendar.txt" 및 "parc/events/conference.txt"에 매칭할 것이다. 이러한 현재의 동기화 프로토콜은 인터레스트의 이름을 확장하는 응답에 기초한다. 이 동기화 프로토콜은 다음의 출원에 기술된다: 2012년 12월 19일에 출원된, 발명자 Van L. Jacobson과 Marc E. Mosko의 "DYNAMIC ROUTING PROTOCOLS USING DATABASE SYNCHRONIZATION"라는 제목의 미국 특허 출원 제13/720,736호(Attorney Docket No. PARC-20111397-US-NP)(이하, "미국 특허출원 13/720,736"); 및 2012년 11월 19일에 출원된, 발명자 Van L. Jacobson과 Marc E. Mosko의 "DATA TRANSPORT BY NAMED CONTENT SYNCHRONIZATION"라는 제목의 미국 특허 출원 제13/681,306 (Attorney Docket No. PARC-20111317-US-NP)(이하, "미국 특허출원 13/681,306").The current CCN synchronization protocol uses the longest-prefix matching method, where the inter- ests in "/ parc / events /" are matched to "parc / events / calendar.txt" and "parc / events / conference.txt" something to do. This current synchronization protocol is based on a response that extends the name of the inter- est. This synchronization protocol is described in the following applications: U.S. Patent Application No. 13 / 720,736, entitled "DYNAMIC ROUTING PROTOCOLS USING DATABASE SYNCHRONIZATION ", filed on December 19, 2012 by inventors Van L. Jacobson and Marc E. Mosko (Attorney Docket No. PARC-20111397-US-NP) (hereinafter "US Patent Application 13 / 720,736"); And U.S. Patent Application No. 13 / 681,306 (Attorney Docket No. PARC-20111317-US) entitled " DATA TRANSPORT BY NAMED CONTENT SYNCHRONIZATION ", inventors Van L. Jacobson and Marc E. Mosko, filed on November 19, -NP) (hereinafter "U.S. Patent Application 13 / 681,306").

CCN 아키텍처가 진화함에 따라서, 현재의 가장 긴-프리픽스 매칭보다는, 정확한 이름 매칭의 사용을 허용하는 동기화 프로토콜에 기초하여 장치들과 이들 장치에 의하여 제공되는 서비스를 발견하고자 하는 요구가 있다. 이러한 새로운 아키텍처에서, 현재의 CCN 동기화 프로토콜은 통하지 않을 것이다.As the CCN architecture evolves, there is a need to discover devices and services provided by these devices based on a synchronization protocol that allows the use of precise name matching rather than the current longest-prefix matching. In this new architecture, the current CCN synchronization protocol will not work.

일 실시예는 정확한 매칭 이름에 기초하여 동기화 프로토콜을 사용함으로써 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초한 서비스 디스커버리를 용이하게 하는 시스템을 제공한다. 동작 동안, 로컬 장치는 원격 장치의 원격 매니페스트(manifest)에 대응하는 광고를 수신한다. 매니페스트는 서비스 레코드의 컬렉션을 표현하고, 광고는 상기 원격 장치에 대응하는 서비스 레코드를 포함한다. 로컬 장치는, 상기 로컬 매니페스트와 상기 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 상기 광고된 서비스 레코드를 상기 로컬 매니페스트로 삽입함으로써, 그의 로컬 매니페스트를 갱신한다.One embodiment provides a system that facilitates service discovery based on synchronization of a manifest between devices in a content-centric network by using a synchronization protocol based on an exact match name. During operation, the local device receives an advertisement corresponding to a remote manifest of the remote device. The manifest represents a collection of service records, and the advertisement includes a service record corresponding to the remote device. The local device updates its local manifest by inserting the advertised service record into the local manifest in response to the determination that the local manifest and the remote manifest correspond to the same namespace.

일부 실시예에서, 상기 로컬 장치는 원격 장치의 원격 매니페스트에 대응하는 광고에 대한 질의(query)를 전송한다.In some embodiments, the local device sends a query for an advertisement corresponding to the remote manifest of the remote device.

일부 실시예에서, 상기 로컬 장치는 로컬 장치의 로컬 매니페스트에 대응하는 광고를 전송하고, 그리고 상기 광고는 상기 로컬 장치에 대응하는 서비스 레코드를 포함한다.In some embodiments, the local device transmits an advertisement corresponding to a local manifest of the local device, and the advertisement includes a service record corresponding to the local device.

일부 실시예에서, 상기 로컬 장치는 로컬 매니페스트에 대응하는 광고에 대한 질의를 원격 장치로부터 수신하고, 그리고 상기 광고는 상기 로컬 장치에 대응하는 서비스 레코드를 포함한다.In some embodiments, the local device receives a query for an advertisement corresponding to a local manifest from a remote device, and the advertisement includes a service record corresponding to the local device.

일부 실시예에서, 상기 로컬 장치에 의해서 송신되거나 수신되는 패킷은 상기 매니페스트를 식별하는 라우팅될 수 있는 프리픽스, 상기 패킷이 데이터의 이송에 대응한다고 결정하는 식별자, 상기 패킷이 데이터의 광고에 대응한다고 결정하는 식별자, 상기 매니페스트의 루트 해시값, 상기 매니페스트 내의 서비스 레코드의 이름 및 서비스 레코드 중의 하나 이상을 지시한다.In some embodiments, the packet transmitted or received by the local device includes a prefix that can be routed identifying the manifest, an identifier that determines that the packet corresponds to a transport of data, a determination that the packet corresponds to an advertisement of data The root hash value of the manifest, the name of the service record in the manifest, and the service record.

일부 실시예에서, 상기 광고의 서비스 레코드의 일련 번호가 상기 광고의 서비스 레코드와 동일한 이름을 갖는 상기 로컬 매니페스트 내의 서비스 레코드의 일련 번호보다 더 크다는 결정에 응답하여, 상기 로컬 장치는 상기 로컬 매니페스트 내의 서비스 레코드의 값을 상기 광고의 서비스 레코드의 값으로 갱신한다.In some embodiments, in response to determining that the serial number of the service record of the advertisement is greater than the serial number of the service record in the local manifest having the same name as the service record of the advertisement, And updates the value of the record with the value of the service record of the advertisement.

일부 실시예에서, 상기 로컬 장치는, 매니페스트 없는, 네트워크상에 초기화한다. 상기 로컬 장치는 상기 로컬 장치에 대응하는 서비스 레코드를 생성하고, 상기 서비스 레코드가 포함된 상기 로컬 장치에 대한 매니페스트를 생성한다.In some embodiments, the local device initializes on a network, without a manifest. The local device generates a service record corresponding to the local device and generates a manifest for the local device containing the service record.

일부 실시예에서, 상기 로컬 장치는 상기 로컬 매니페스트의 루트 해시값이 상기 광고된 원격 매니페스트의 루트 해시값과 상이하다는 결정에 응답하여, 원격 매니페스트에 대한 요청을 송신하며, 이때 루트 해시값은 매니페스트의 서비스 레코드를 식별한다. 수신된 원격 매니페스트에 기초하여, 상기 로컬 장치는 원격 매니페스트에 표현된 어떤 서비스 레코드가 로컬 매니페스트 내에 표현된 서비스 레코드와 상이한지 결정한다. 로컬 장치는 상이한 서비스 레코드에 대한 인터레스트의 세트를 전송한다.In some embodiments, the local device sends a request for a remote manifest in response to determining that the root hash value of the local manifest is different from the root hash value of the advertised remote manifest, wherein the root hash value is a manifest Identify the service record. Based on the received remote manifest, the local device determines which service record represented in the remote manifest differs from the service record represented in the local manifest. The local device transmits a set of interleaves for different service records.

일부 실시예에서, 로컬 매니페스트 내의 서비스 레코드의 타임투리브(time to live, TTL)의 발생에 응답하여, 로컬 장치는 상기 로컬 매니페스트로부터 상기 만료된 서비스 레코드를 삭제함으로써 상기 로컬 매니페스트를 갱신한다. 로컬 장치는 상기 갱신된 로컬 매니페스트에 대응하는 광고를 전송한다.In some embodiments, in response to the occurrence of a time to live (TTL) of a service record in the local manifest, the local device updates the local manifest by deleting the expired service record from the local manifest. The local device sends an advertisement corresponding to the updated local manifest.

도 1은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 노드들 사이의 매니페스트의 동기화를 용이하게 하는 시스템을 보여준다.
도 2는 본 발명의 일 실시예에 따른, 로컬 노드와 원격 노드 간의 통신을 보여준다.
도 3은 본 발명의 일 실시예에 따른 원격 매니페스트와 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른, 변경된 시간에 기초하여 원격 매니페스트 및 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른, 매니페스트에 대응하는 광고를 전송하는 방법을 보여주는 흐름도이다.
도 6a는 본 발명의 일 실시예에 따른, 컬렉션에 표현된 매니페스트와 콘텐츠 오브젝트의 포맷을 보여주는 테이블이다.
도 6b는 본 발명의 일 실시예에 따른, 로컬 매니페스트에 원격 매니페스트로부터 온 콘텐츠 오브젝트가 누락된, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 6c는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이하고, 원격 노드가 그의 매니페스트를 광고하는, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 6d는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이하고, 로컬 노드가 그의 매니페스트를 광고하는, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 6e는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이한, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 7은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 컴퓨터 시스템을 보여준다.
도 8은 본 발명의 일 실시예에 따른, 두 장치 간의 통신을 보여준다.
도 9a와 9b는 본 발명의 일 실시예에 따른, 네트워크 내의 두 장치의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 방법을 보여주는 흐름도이다.
도 10a는 본 발명의 일 실시예에 따른, 컬렉션 내에 표현된 매니페스트와 서비스 레코드의 포맷을 묘사하는 테이블을 보여준다.
도 10b는 본 발명의 일 실시예에 따른, 로컬 장치가 원격 매니페스트를 검색할 필요 없는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 10c는 본 발명의 일 실시예에 따른, 로컬 장치가 원격 장치로부터 갱신된 서비스 레코드를 수신하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 10d는 본 발명의 일 실시예에 따른, 로컬 장치가 초기화하고, 서비스 디스커버리를 수행하고, 원격 매니페스트를 검색하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 11은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 컴퓨터 통신 시스템을 보여준다.
도면에서, 동일한 참조번호는 동일한 특징의 구성요소를 참조한다.
1 illustrates a system that facilitates synchronization of a manifest between nodes in a content-centric network, in accordance with an embodiment of the present invention.
2 illustrates communication between a local node and a remote node, in accordance with an embodiment of the present invention.
3 is a flow chart illustrating a method for synchronizing content associated with a remote manifest and a local manifest according to an embodiment of the present invention.
4 is a flow diagram illustrating a method for synchronizing content associated with a remote manifest and a local manifest based on a modified time, in accordance with an embodiment of the present invention.
5 is a flow diagram illustrating a method for transmitting an advertisement corresponding to a manifest, in accordance with an embodiment of the present invention.
6A is a table showing a format of a manifest and a content object represented in a collection according to an embodiment of the present invention.
6B is a table depicting the format of two manifests during synchronization, in which a local manifest is missing a content object from a remote manifest, in accordance with an embodiment of the present invention.
6C is a flow diagram illustrating the formatting of two manifests during synchronization, where the digest of a content object of the same name in the local manifest is different from the digest in the remote manifest, and the remote node advertises its manifest, in accordance with an embodiment of the present invention. Table.
FIG. 6D is a diagram illustrating a format of two manifests during synchronization, in which a digest of a content object of the same name in a local manifest is different from a digest in a remote manifest, and a local node advertises its manifest, in accordance with an embodiment of the present invention Table.
6E is a table depicting the format of two manifests during synchronization, where the digest of a content object of the same name in the local manifest is different from the digest in the remote manifest, in accordance with an embodiment of the present invention.
Figure 7 illustrates a computer system that facilitates service discovery based on synchronization of manifests between devices in a content-centric network, in accordance with an embodiment of the invention.
Figure 8 shows communication between two devices, in accordance with an embodiment of the present invention.
9A and 9B are flowcharts illustrating a method for facilitating service discovery based on synchronization of manifests of two devices in a network, in accordance with an embodiment of the invention.
Figure 10A shows a table depicting the format of a manifest and service record represented in a collection, according to an embodiment of the present invention.
Figure 10B shows a table depicting the format of two manifests during service discovery using a synchronization protocol, where the local device does not need to retrieve the remote manifest, in accordance with an embodiment of the present invention.
Figure 10C shows a table depicting the format of two manifests during service discovery using a synchronization protocol, in which a local device receives an updated service record from a remote device, in accordance with an embodiment of the present invention.
Figure 10D shows a table depicting the format of two manifests during service discovery using a synchronization protocol, in which a local device initiates, performs service discovery, and retrieves a remote manifest, in accordance with an embodiment of the present invention.
Figure 11 shows a computer communication system that facilitates service discovery based on synchronization of manifests between devices in a content-centric network, in accordance with an embodiment of the present invention.
In the drawings, like reference numerals refer to like elements of the same features.

다음의 설명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 실시예들을 만들고 사용하는 것을 가능하게 하도록 표현되고, 특정 응용과 요구 사항의 맥락에서 제공된다. 개시된 실시예에 대한 다양한 변경이 본 발명이 속하는 분야에서 통상의 지식을 가진자에게 명백할 것이며, 여기 정의되는 일반적인 원칙은 본 개시의 정신이나 영역으로부터 벗어나지 않고 다른 실시예와 응용에 적용될 수 있다. 따라서, 본 발명은 여기 설명되는 실시예에 한정되지 않고, 다만 여기 개시되는 원칙과 특징에 일치하는 가장 넓은 영역에 일치한다.The following 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.

본 발명의 실시예들은 정확한 매칭 이름을 사용함으로써 네트워크 상의 노드들 간의 매니페스트의 동기화에 기초하여, 콘텐츠 중심 네트워크(CCN) 내의 장치들과 이들 장치에 의해서 제공되는 서비스 디스커버리를 용이하게 하는 시스템을 제공한다. 본 발명의 실시예들의 다음의 설명에서, 비록 역할이 반전될 수 있지만, 관련된 CCN 엔티티는 로컬 노드와 원격 노드이다. 일부 실시예에서, 관련된 CCN 엔티티는 로컬 노드의 장치("로컬 장치")와 원격 노드의 장치("원격 장치")이다. 각 로컬 및 원격 노드 또는 장치는 매니페스트와 연관되고, 이는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다. 매니페스트는 특정 프리픽스에 의해서 식별되고, 동일한 프리픽스를 갖는 두 매니페스트는 콘텐츠 오브젝트의 동일한 컬렉션에 대응한다.Embodiments of the present invention provide a system that facilitates devices in a content-centric network (CCN) and service discovery provided by these devices, based on synchronization of manifests between nodes on the network by using exact match names . In the following description of embodiments of the present invention, the associated CCN entity is a local node and a remote node, although roles can be reversed. In some embodiments, the associated CCN entity is a device at the local node ("local device") and a device at the remote node ("remote device"). Each local and remote node or device is associated with a manifest, which represents a collection of content objects at the node. The manifest is identified by a specific prefix and the two manifests with the same prefix correspond to the same collection of content objects.

일부 실시예에서, 매니페스트는 콘텐츠 오브젝트를 식별하는 정렬된 리스트이다. 컬렉션 내의 각 콘텐츠 오브젝트는 그의 이름 및 대응하는 다이제스트에 의해서 식별되고, 다이제스트는 콘텐츠 오브젝트의 해시값이다. 일부 실시예에서, 각 콘텐츠 오브젝트는 또한 콘텐츠가 변경된 시간을 지시하는 변경 시간에 의해서 식별된다. 본 설명의 목적상, 매니페스트는 정렬된 리스트로서 설명되지만, 그러나 다른 실시예는 동기화 트리로서 구조화된 매니페스트를 포함하며, 이는 콘텐츠 오브젝트의 내재된 컬렉션만이 아니라 콘텐츠 오브젝트를 포함한다. 시스템은 매니페스트에 대한 루트 해시값을 생성한다. 루트 해시값은 컬렉션의 개별적인 콘텐츠 오브젝트의 해시값에 기초하는 부가적인 해시값이다. 매니페스트의 루트 해시값은 매니페스트에 대한 유일한 식별자이다.In some embodiments, the manifest is an ordered list that identifies the content objects. Each content object in the collection is identified by its name and corresponding digest, and the digest is a hash value of the content object. In some embodiments, each content object is also identified by a change time that indicates the time at which the content was changed. For purposes of this description, the manifest is described as an ordered list, but other embodiments include a structured manifest as a synchronization tree, which includes content objects as well as an inherent collection of content objects. The system generates a root hash value for the manifest. The root hash value is an additional hash value based on the hash value of the individual content objects in the collection. The root hash value of the manifest is the unique identifier for the manifest.

시스템은 로컬 매니페스트 내의 컬렉션을 정확한 매칭 이름을 사용하여 로컬 매니페스트 내의 콘텐츠와 동기화한다. 원격 노드는 그의 매니페스트의 해시를 광고한다. 로컬 노드는 광고를 수신하고 광고된 원격 매니페스트가 로컬 매니페스트에 대응하는지 결정하는데, 이때 원격 매니페스트와 로컬 매니페스트는 콘텐츠 오브젝트의 동일한 컬렉션에 대응한다. 로컬 노드는 로컬 매니페스트의 루트 해시값과 원격 매니페스트의 루트 해시값을 비교함으로써 로컬 매니페스트의 콘텐츠가 원격 매니페스트의 콘텐츠와 동기인지 여부를 결정한다. 만일 그들이 매칭하지 않는다면, 로컬 노드는 원격 매니페스트에 대한 요청을 원격 노드로 송신함으로써 원격 매니페스트를 검색한다. 일부 실시예에서, 로컬 노드는 청킹 프로토콜에 기초하여 인터레스트의 세트를 송신하고, 각 인터레스트는 매니페스트의 넘버링된 청크에 대응한다. 일부 실시예에서, 원격 노드는 매니페스트에 대응하는 청크의 수를 광고할 수 있다. 원격 매니페스트를 소유하는, 로컬 노드는 원격 매니페스트 내에 지시된 어떤 콘텐츠 오브젝트가 로컬 매니페스트에 지시된 콘텐츠 오브젝트와 상이한지를 결정한다. 연속으로, 로컬 노드는 상이한 콘텐츠 오브젝트들에 대한 인터레스트의 세트를 전송하되, 인터레스트는 요청된 콘텐츠 오브젝트의 이름을 포함한다. 일부 실시예에서, 인터레스트는 또한 요청된 콘텐츠 오브젝트의 대응하는 해시값을 포함한다. 이러한 방식으로, 시스템은 요청에 매칭하는 정확한 이름을 사용하여 상이한 콘텐츠 오브제트들의 세트를 수신한다.The system synchronizes the collection in the local manifest with the content in the local manifest using the correct match name. The remote node advertises a hash of its manifest. The local node receives the advertisement and determines if the advertised remote manifest corresponds to a local manifest, where the remote manifest and the local manifest correspond to the same collection of content objects. The local node compares the root hash value of the local manifest with the root hash value of the remote manifest to determine whether the content of the local manifest is synchronous with the content of the remote manifest. If they do not match, the local node retrieves the remote manifest by sending a request to the remote manifest to the remote node. In some embodiments, the local node transmits a set of intercepts based on a chunking protocol, with each intercept corresponding to a numbered chunk of the manifest. In some embodiments, the remote node may advertise the number of chunks corresponding to the manifest. The local node, which owns the remote manifest, determines which content object indicated in the remote manifest is different from the indicated content object in the local manifest. In succession, the local node transmits a set of interleaves for different content objects, wherein the interleaves include the name of the requested content object. In some embodiments, the interrest also includes a corresponding hash value of the requested content object. In this way, the system receives a different set of content objects using the exact name matching the request.

일부 실시예에서, 매니페스트는 완전한 매니페스트를 송신하기보다는, rsync 프로토콜에서의 롤링 해시 기법(rolling hash technique) 같은, 구조화된 기술을 사용하여 전송된다. In some embodiments, the manifest is transmitted using a structured technique, such as a rolling hash technique in the rsync protocol, rather than sending a complete manifest.

일부 실시예에서, 컬렉션 내의 콘텐츠 오브젝트는 콘텐츠 오브젝트가 변경된 시간을 지시하는, 대응하는 변경된 시간으로 더 식별된다. 상이하다고 결정된 각 콘텐츠 오브젝트에 대하여, 로컬 노드는 원격 매니페스트 내의 콘텐츠 오브젝트의 변경된 시간이 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트보다 더 최근인지 또는 덜 최근인지 여부를 결정한다. 만일 원격 콘텐츠 오브젝트가 좀 더 최근의 버전에 대응한다면, 로컬 노드는 로컬 매니페스트 내의 콘텐츠 오브젝트의 값을 원격 매니페스트로부터의 콘텐츠 오브젝트의 값으로 갱신한다. 콘텐츠 아이템을 데이터 컬렉션으로부터 제거하거나 또는 "화이트 아웃(white-out)"하는 방법에 대한 설명이 미국 특허출원 13/681,306에 포함되어 있다.In some embodiments, the content object in the collection is further identified with a corresponding modified time, indicating the time at which the content object was changed. For each content object determined to be different, the local node determines whether the modified time of the content object in the remote manifest is more recent or less recent than the corresponding content object in the local manifest. If the remote content object corresponds to a more recent version, the local node updates the value of the content object in the local manifest with the value of the content object from the remote manifest. A description of how to remove or "white-out" an item of content from a data collection is included in U.S. Patent Application No. 13 / 681,306.

콘텐츠 오브젝트의 이름은 계층적으로 구조화된 가변 길이 식별자(HSLVI)이고 버전 번호나 타임 스탬프 또는 내재된 정렬 순서를 지시하며, 이는 콘텐츠 오브젝트의 가장 최근의 버전을 결정하도록 매니페스트 내의 변경 시간 대신에 사용된다.The name of the content object is a hierarchically structured variable length identifier (HSLVI) and indicates a version number, a timestamp, or an implied sort order, which is used instead of the modification time in the manifest to determine the most recent version of the content object .

일부 실시예에서, 만일 원격 콘텐츠 오브젝트가 덜 최근의 버전에 대응하면, 시스템은 원격 매니페스트로부터의 콘텐츠 오브젝트의 값을 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트의 이력 필드에 삽입함으로써 이력을 보유할지 여부를 결정한다. 시스템은 상이하다고 결정되는 각 콘텐츠 오브젝트에 대한 값을 적절히 갱신한다. 이러한 방식으로, 시스템은 로컬 노드에서의 매니페스트를 원격 노드에서의 매니페스트와 동기화한다.In some embodiments, if the remote content object corresponds to a less recent version, the system determines whether to retain the history by inserting the value of the content object from the remote manifest into the history field of the corresponding content object in the local manifest . The system appropriately updates the value for each content object determined to be different. In this way, the system synchronizes the manifest on the local node with the manifest on the remote node.

일부 실시예에서, 네트워크 클라이언트, 네트워크 노드(예를 들면, 라우터와 같은 전달자), 그리고 발행자들은 정보 중심 네트워크(ICN)를 통해 통신한다. ICN에서, 콘텐츠의 각 부분은 개별적으로 명명되고, 그리고 데이터의 각 부분은 데이터를, 동일한 데이터의 다른 버전이나 다른 소스로부터의 데이터와 같은, 데이터의 다른 부분으로부터 구별하는 유일한 이름에 결속된다. 이 유일한 이름은 네트워크 장치가 요청 또는 유일한 이름을 나타내는 인터레스트를 유포함으로써 데이터를 요청하는 것을 허용하며, 그리고 데이터의 저장 위치, 네트워크 위치, 어플리케이션 및 전송 수단으로부터 독립적인 데이터를 획득할 수 있다. 네임드-데이터 네트워크(NDN)나 CCN은 ICN 네트워크의 예이며, 다음의 용어는 NDN이나 CCN 아키텍처의 구성요소를 기술한다.In some embodiments, network clients, network nodes (e.g., routers such as routers), and publishers communicate via an information center network (ICN). In the ICN, each part of the content is named separately, and each part of the data is bound to a unique name that distinguishes the data from the other parts of the data, such as data from different versions of the same data or from different sources. This unique name allows the network device to request data by distributing a request or an address representing a unique name, and can obtain data independent of the storage location of the data, the network location, the application and the means of transmission. A named-data network (NDN) or CCN is an example of an ICN network, and the following terms describe the components of an NDN or CCN architecture.

콘텐츠 오브젝트: 네임드 데이터의 단일 부분이며, 유일한 이름에 종속된다. 콘텐츠 오브젝트는 "지속적"이고, 이는 콘텐츠 오브젝트가 컴퓨팅 장치 내에서 또는 상이한 컴퓨팅 장치를 가로질러서 돌아다닐 수 있지만, 그러나 변하지 않는다는 것을 의미하다. 만일 콘텐츠 오브젝트의 어느 컴포넌트가 바뀐다면, 변경을 가한 엔티티는 갱신된 콘텐츠를 포함하는 새로운 콘텐츠 오브젝트를 생성하고, 새로운 콘텐츠 오브젝트를 새로운 유일한 이름에 결속시킨다. Content object : a single part of the named data, subject to a unique name. The content object is "persistent ", which means that the content object may move within the computing device or across different computing devices, but does not change. If any component of the content object changes, the entity that made the change creates a new content object containing the updated content and binds the new content object to a new unique name.

유일한 이름: ICN 내의 이름은 전형적으로 위치 독립적이며 콘텐츠 오브젝트를 유일하게 식별한다. 데이터-전달 장치는 이름이나 이름 프리픽스(prefix)를 사용하여, 콘텐츠 오브젝트의 네트워크 어드레스나 물리적 위치에 상관없이, 콘텐츠 오브젝트를 생성하거나 저장하는 네트워크 노드로 패킷을 전달할 수 있다. 일부 실시예에서, 이름은 계층적으로 구조화된 가변-길이 식별자(hierarchically structured variable-length identifier, HSVLI)일 수 있다. HSVLI는 수개의 계층적인 컴포넌트로 분할되어, 다양한 방법으로 구조화될 수 있다. 예를 들면, 개별적인 이름 컴포넌트 parc, home, ndn 및 test.txt는 좌측-지향 프리픽스-위주의(a left-oriented prefix-major)방식으로 구조화되어 이름 "parc/home/ndn/test.txt"를 형성할 수 있다. 따라서, 이름 "parc/home/ndn"은 "parc/home/ndn/test.txt"의 "부모" 또는 "프리픽스"일 수 있다. 추가적인 컴포넌트가, 협업 문서 같은, 상이한 버전의 콘텐츠 아이템들을 구별하도록 사용될 수 있다. Unique Names : Names within the ICN are typically position-independent and uniquely identify the content object. The data-delivery device may use a name or a name prefix to deliver the packet to a network node that creates or stores the content object, regardless of the network address or physical location of the content object. In some embodiments, the name may be a hierarchically structured variable-length identifier (HSVLI). HSVLI is divided into several hierarchical components and can be structured in various ways. For example, the individual name components parc, home, ndn, and test.txt are structured in a left-oriented prefix-major fashion and have the name "parc / home / ndn / test.txt" . Thus, the name "parc / home / ndn" can be "parent" or "prefix" of "parc / home / ndn / test.txt ". Additional components may be used to distinguish different versions of content items, such as collaborative documents.

일부 실시예에서, 이름은 비-계층적 식별자를 포함할 수 있는데, 예를 들면, 콘텐츠 오브젝트의 데이터(예를 들면, 체크섬 값)로부터 도출되거나, 그리고/또는 콘텐츠 오브젝트의 이름의 구성요소로부터 도출되는 해시값이 있다. 해시-기반의 이름에 대한 설명은 (2013년 3월 20일에 출원된, 발명자 Ignacio Solis의"ORDERED-ELEMENT NAMING FOR NAME-BASED PACKET FORWARDING"로 명명된) 미국 특허 출원 제 13/847,814호에 기술된다. 이름은 또한 플랫(flat) 라벨일 수 있다. 이제부터 여기서, "이름"은, 계층적 이름이나 이름 프리픽스, 플랫 이름, 고정-길이 이름, 임의의-길이 이름 또는 라벨(예를 들면, 멀티프로토콜 라벨 스위칭(MPLS) 라벨)과 같은, 네임-데이터 네트워크 내의 데이터 부분에 대한 이름을 지칭하도록 사용된다. In some embodiments, the name may include a non-hierarchical identifier, for example, derived from data (e.g., a checksum value) of the content object and / or derived from a component of the name of the content object There is a hash value. An explanation of the hash-based name is given in U.S. Patent Application No. 13 / 847,814, entitled "ORDERED-ELEMENT NAMING FOR NAME-BASED PACKET FORWARDING ", inventor Ignacio Solis, filed March 20, do. The name can also be a flat label. Hereinafter, the "name" may be a name, such as a hierarchical name or a name prefix, a flat name, a fixed-length name, an arbitrary-length name or label (eg, a Multiprotocol Label Switching (MPLS) label) Is used to refer to the name of the data portion within the data network.

인터레스트(Interest): 데이터 부분에 대한 요청을 지시하고, 데이터 부분에 대한 이름(또는 이름 프리픽스)을 포함하는 패킷. 데이터 소비자는 정보-중심 네트워크에 걸쳐서 요청이나 인터레스트를 유포할 수 있고, 이를 CCN/NDN 라우터가 저장 장치(예를 들면, 캐시 서버)로, 또는 요청된 데이터를 제공하여 요청이나 인터레스트를 만족시킬 수 있는 데이터 제작자에게 전파할 수 있다. Interest : A packet that indicates a request for a data portion and contains a name (or name prefix) for the data portion. A data consumer can disseminate requests or inter- ests across an information-centric network, and the CCN / NDN router can satisfy requests or inter- ests by providing the requested data to a storage device (e.g., a cache server) To the creator of the data.

일부 실시예에서, ICN 시스템은 콘텐츠-중심 네트워킹(CCN) 아키텍처를 포함할 수 있다. 그러나, 여기 개시되는 방법은 또한 다른 ICN 아키텍처에도 적용가능하다. CCN 아키텍처에 대한 설명은 (2008년 12월 18일에 출원된, 발명자 Van L. Jacobson와 Diana K. Smetters에 의해 "CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN A CONTENT CENTRIC NETWORK"로 명명된) 미국 특허 출원 제 12/338,175호에 기술된다.In some embodiments, the ICN system may include a content-based networking (CCN) architecture. However, the method disclosed herein is also applicable to other ICN architectures. A description of the CCN architecture is given in U.S. Patent Application (entitled "CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN CONTENT CENTRIC NETWORK" by inventors Van L. Jacobson and Diana K. Smetters, filed December 18, 2008) 12 / 338,175.

도 1은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크(CCN) 내의 노드들 사이의 매니페스트의 동기화를 용이하게 하는 네트워크(100)를 보여준다. 네트워크(100)는 클라이언트 장치(116), 콘텐츠 제작 장치(118) 그리고 노드(102, 104, 106, 108, 110, 112 및 114)의 라우터나 다른 전달자를 포함할 수 있다. 각 노드(102-114)는 하나 이상의 매니페스트를 포함할 수 있다. 예를 들면, 노드(112)는 매니페스트(120)를 포함한다. 매니페스트(120)는 컬렉션 이름(124)과 다음 중의 하나 이상에 의해서 식별되는 콘텐츠 오브젝트의 정렬 리스트를 포함한다: 콘텐츠 오브젝트 이름(130.1-130.n); 다이제스트(132.1-132.n), 그리고 변경 시간(134.1-134.n). 다이제스트(132.1-132.n)는 이름(130.1-130.n)에 의해서 식별되는 콘텐츠 오브젝트의 해시값을 포함한다. 다이제스트는 콘텐츠 오브젝트의 SHA-256 해시일 수 있고, 이때, (두 개의 상이한 콘텐츠 오브젝트의 일방향 해시가 동일한 값을 야기하는) 해시 충돌의 가능성이 충분히 낮아서 다이제스트는 콘텐츠 오브젝트에 대한 유일한 식별자가 된다. 매니페스트(120)는 또한 루트 해시(122)를 포함하고, 이는 컬렉션의 각 콘텐츠 오브젝트의 해시값(132.1-132.n)에 기초하는 부가적 해시값이다. 루트 해시(122)는 매니페스트(120)에 대한 유일한 식별자이고 컬렉션 내의 콘텐츠 오브젝트를 표현한다.Figure 1 illustrates a network 100 that facilitates synchronization of a manifest between nodes in a content-centric network (CCN), in accordance with an embodiment of the present invention. The network 100 may include a router or other forwarder of the client device 116, content production device 118 and nodes 102, 104, 106, 108, 110, 112 and 114. Each node 102-114 may include one or more manifests. For example, the node 112 includes a manifest 120. The manifest 120 includes a collection name 124 and an ordered list of content objects identified by one or more of the following: a content object name 130.1-130.n; Digest (132.1-132.n), and change time (134.1-134.n). Digests 132.1-132.n include hash values of the content objects identified by names 130.1-130.n. The digest may be a SHA-256 hash of the content object, at which time the likelihood of a hash collision (where the one-way hash of two different content objects causes the same value) is sufficiently low that the digest is a unique identifier for the content object. The manifest 120 also includes a root hash 122, which is an additional hash value based on the hash value (132.1-132.n) of each content object in the collection. The root hash 122 is a unique identifier for the manifest 120 and represents a content object in the collection.

일부 실시예에서, 매니페스트는 이름 및 대응하는 다이제스트를 지시하지만, 변경된 시간을 지시하지 않는다. 이러한 시스템은, 예를 들면, 텍스트 파일의 이전 버전이 중요하여 시스템에 의해서 보유되는 파일 서버를 포함한다. 다른 실시예에서, 매니페스트는 이름, 대응하는 다이제스트, 그리고 변경 시간을 지시한다. 시스템은 변경 시간을 사용하여 콘텐츠 아이템의 어떤 버전이 보유되어야 하는지를 결정한다. 예를 들면, 만일 콘텐츠 아이템이 링크 상태를 지시하면, 시스템은 이전 버전에 관련된 정보를 필요로 하지 않는다. 이 경우에, 가장 최근에 변경된 시간을 갖는 콘텐츠 오브젝트가 보유된다. In some embodiments, the manifest indicates a name and a corresponding digest, but does not indicate a modified time. Such a system includes, for example, a file server where the previous version of the text file is important and held by the system. In another embodiment, the manifest indicates a name, a corresponding digest, and a modification time. The system uses the modification time to determine which version of the item of content should be retained. For example, if an item of content indicates a link status, the system does not need information related to the previous version. In this case, the content object having the most recently changed time is held.

네트워크 내의 어떤 두 노드는 데이터의 동일한 컬렉션을 표현하는 매니페스트를 유지할 수 있고, 이때 매니페스트는 여기 설명된 방법을 사용하여 동기화될 수 있다. 용어 "로컬 노드" 및 "원격 노드"는 콘텐츠-중심 네트워크(CCN) 내의 노드에 적용될 수 있으며 CCN 내의 두 노드 간의 차별화를 위하여 본 개시에서 사용된다. Any two nodes in the network may maintain a manifest representing the same collection of data, where the manifests may be synchronized using the method described herein. The terms "local node" and "remote node" are applicable to nodes in a content-centric network (CCN) and are used in this disclosure for differentiation between two nodes within a CCN.

두 노드간의 데이터의 동일한 컬렉션을 표현하는 매니페스트의 동기화는 세 부분의 이름에 기초한다. 제1 부분은, "/a/b"와 같은, 컬렉션을 식별하는 라우팅될 수 있는 프리픽스이다. 제2 부분은 관련 네임스페이스의 식별을 포함하고, 광고를 위한 "/adv" 또는 데이터 이송을 위한 "/data"이다. 제3 부분은 광고되거나 이송될 해시값 또는 콘텐츠를 포함한다. 따라서, CCN 이름은 다음의 형식이다.Synchronization of manifests representing the same collection of data between two nodes is based on the names of the three parts. The first part is a routable prefix that identifies the collection, such as "/ a / b ". The second part contains the identification of the relevant namespace and is "/ adv" for advertising or "/ data" for data transfer. The third part includes the hash value or content to be advertised or transported. Thus, the CCN name has the following format:

/collection_prefix/adv_or_data/protocol_data/ collection_prefix / adv_or_data / protocol_data

해시 광고를 송신하는 인터레스트의 예는 다음과 같다.An example of an interlace to send a hash advertisement is as follows.

/a/b/adv/<roothash>/ a / b / adv / <roothash>

이 광고를 수신하고 그리고 동일한 라우팅될 수 있는 프리픽스 "/a/b"를 갖는 로컬 매니페스트를 포함하는 로컬 노드는 청킹 프로토콜에 기초하여 청크 0, 1,... 에서 종결 청크 번호 m 내의 광고된 매니페스트를 검색한다. 이러한 인터레스트는 다음과 같이 보인다:The local node receiving this advertisement and containing the local manifest with the prefix "/ a / b" that can be routed in the same way will be able to receive the advertised manifest within the chunk number m in chunks 0, 1, . This interlude looks like this:

/a/b/data/<roothash>/<chunk number>/ a / b / data / <roothash> / <chunk number>

검색된 매니페스트 내의 엔트리에 기초하여, 시스템은 검색된 매니페스트 내에 식별된 어떤 콘텐츠 오브젝트가 로컬 매니페스트 내에 식별된 콘텐츠 오브젝트와 상이한지 여부를 결정한다. 시스템은 콘텐츠 오브젝트의 이름에 기초하여 상이한 콘텐츠 오브젝트를 검색한다:Based on the entries in the retrieved manifest, the system determines whether any content objects identified in the retrieved manifest are different from the identified content objects in the local manifest. The system searches for different content objects based on the name of the content object:

/a/b/data/<name of content object>/ a / b / data / <name of content object>

일부 실시예에서, 시스템은 요청된 콘텐츠 오브젝트의 해시값에 기초하여 상이한 콘텐츠 오브젝트를 검색한다:In some embodiments, the system retrieves a different content object based on the hash value of the requested content object:

/a/b/data/<hash(content object)>/ a / b / data / <hash (content object)>

일부 실시예에서, 시스템은 매니페스트 내의 이름에 기초하여 상이한 콘텐츠 오브젝트를 검색한다. 기법은 시스템이 컬렉션의 네임스페이스 하의 콘텐츠의 이름을 사용하기보다는 오브젝트의 캐싱된 사본을 검색하는 것을 허용한다. 예를 들면, 도 6b의 매니페스트(140)로부터 최초의 아이템을 검색하기 위하여, 시스템은 이름에 대한 인터레스트와 다이제스트를 송신할 것이다:In some embodiments, the system retrieves a different content object based on the name in the manifest. Technique allows the system to retrieve a cached copy of an object rather than using the name of the content under the collection's namespace. For example, to retrieve the first item from the manifest 140 of FIG. 6B, the system will send an interlude and digest for the name:

/chef/events/calendar.txt, digest = {1}/chef/events/calendar.txt, digest = {1}

도 2는 본 발명의 일 실시예에 따른, 노드(202)(원격 노드)와 노드(206)(로컬 노드) 간의 통신(200)을 보여준다. 노드(202)와 노드(206)는 각각 동일한 라우팅 프리픽스를 갖는 매니페스트, 또는 컬렉션 이름 "a/b"를 포함한다. 원격 노드(202)는 광고_송신 인터레스트(220)를 전송하는데, 이는 컬렉션 이름 "a/b"에 의해 식별되는 매니페스트의 루트 해시값을 포함하는 해시 광고이다. 인터레스트는 "/a/b/adv/<roothash>"의 형태를 취한다. 로컬 노드(206)는 광고된 인터레스트를 수신하여, 노드(206)가 광고된 매니페스트와 동일한 컬렉션을 지시하는 매니페스트를 포함하고 있는지 여부를, 동일한 컬렉션 프리픽스("a/b")에 기초하여, 결정하도록 광고_컬렉션_점검 프로시져(222)를 수행한다. 인터레스트의 세트는 청킹 프로토콜에 기초하여 청크로 분할된다. 다음으로, 로컬 노드(206)는 그의 로컬 매니페스트의 루트 해시가 원격 매니페스트의 루트 해시와 상이한지 여부를 결정한다. 상이한 해시값은 컬렉션이 서로 동기화되어야 한다는 것을 지시한다. 로컬 노드(206)는 다음으로, 매니페스트에 대한 인터레스트의 세트를 송신함으로써, 매니페스트_검색 프로시저(224)를 수행한다. 인터레스트는 매니페스트_인_청크_요청 메시지(226) 내에 송신되고, "/a/b/data/<roothash>/C0", "a/b/data/<roothash>/C1", "/a/b/data/<roothash>/C2", 등의 형식이며, 여기서 "C0"는 매니페스트의 첫번째 청크 등을 표현한다. 일부 실시예에서, 광고 노드는 그의 매니페스트를 전송하도록 요구되는 청크의 수를 포함할 수 있다. 매니페스트_인_청크_송신 메시지(228)에서, 원격 노드(202)는 인터레스트의 세트에 응답하여 요청된 매니페스트를 되송신할 수 있다. 요청된 콘텐츠 오브젝트는 "a/b/data/<roothash>/C0+payload"의 형식을 취하며, 여기서 페이로드는 매니페스트의 요청된 청크를 포함한다.2 shows a communication 200 between a node 202 (remote node) and a node 206 (local node), in accordance with an embodiment of the present invention. Node 202 and node 206 each contain a manifest with the same routing prefix, or collection name "a / b ". The remote node 202 sends an advertisement_transmitter 220, which is a hash advertisement containing the root hash value of the manifest identified by the collection name "a / b ". The interpreter takes the form of "/ a / b / adv / <roothash>". The local node 206 receives the advertised interlaces and determines whether the node 206 includes a manifest that points to the same collection as the advertised manifest, based on the same collection prefix ("a / b" And performs an ad_collection_check procedure 222 to determine whether the advertisement_collection_check procedure 222 is performed. The set of interrupts is divided into chunks based on the chunking protocol. Next, the local node 206 determines whether the root hash of its local manifest differs from the root hash of the remote manifest. The different hash values indicate that the collections should be synchronized with each other. The local node 206 then performs the manifest_earch procedure 224 by sending a set of intercepts for the manifest. &Quot; / a / b / data / < roothash / C0 &quot;, "a / b / data / &lt; roothash / C1 &quot;, / a / b / data / <roothash> / C2 ", where" C0 "represents the first chunk of the manifest, and so on. In some embodiments, the ad node may include a number of chunks that are required to transmit its manifest. In the Manifest_Chunk_Send message 228, the remote node 202 may send back the requested manifest in response to a set of interludes. The requested content object takes the form of "a / b / data / <roothash> / C0 + payload", where the payload contains the requested chunk of the manifest.

원격 매니페스트를 소유한, 로컬 노드(206)는 세트_차이_결정 프로시저(230)를 수행한다. 일부 실시예에서, 이 프로시저의 결과는 이름에 의해 식별되는 콘텐츠 오브젝트의 리스트이다. 다른 실시예에서, 결과는 그들의 대응하는 다이제스트에 의해서 식별된 콘텐츠 오브젝트의 리스트이다. 로컬 노드(206)는 상이하다고 결정된 각 콘텐츠 오브젝트에 대한 세트_차이_요청 인터레스트(234)를 전송한다. 인터레스트는, 예를 들면, "/a/b/data/name 130.3"의 형식을 취한다. 로컬 노드(206)는 원격 노드(202)가 세트_차이_송신 콘텐츠 오브젝트(236)를 송신할 때, 요청된 콘텐츠 오브젝트를 수신하며, 이때 요청된 콘텐츠 오브젝트는 "/a/b/data/name 130.3+payload"의 형식을 취한다. 따라서, 로컬 노드(206)는 상이하다고 결정되는 모든 콘텐츠 오브젝트를 요청하고 수신하여 로컬 매니페스트의 콘텐츠가 원격 매니페스트의 콘텐츠와 동기화되도록 한다. 일부 실시예에서, 로컬 노드(206)는 변경_시간_기반의_동기 프로시저(240)를 수행하는데, 이는 도 4와 관련하여 이하 설명된다.The local node 206, which owns the remote manifest, performs the set_difference_determination procedure 230. In some embodiments, the result of this procedure is a list of content objects identified by name. In another embodiment, the result is a list of content objects identified by their corresponding digests. The local node 206 sends a set_difference_request 234 for each content object determined to be different. The interrest takes the form of, for example, "/ a / b / data / name 130.3 ". The local node 206 receives the requested content object when the remote node 202 sends the set_different_content object 236, where the requested content object is "/ a / b / data / name 130.3 + payload ". Thus, the local node 206 requests and receives all content objects that are determined to be different, so that the content of the local manifest is synchronized with the content of the remote manifest. In some embodiments, the local node 206 performs a change_time_based sync procedure 240, which is described below with respect to FIG.

도 3은 본 발명의 일 실시예에 따른 원격 매니페스트와 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도(300)이다. 아래의 설명에서, 로컬 노드는 도 2에 노드(106)로서 묘사되어 있으며, 원격 노드는 도 2에 노드(102)로서 묘사되어 있다. 로컬 노드는 원격 노드에서 원격 매니페스트에 대응하는 광고를 수신한다(동작 302). 매니페스트는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다. 로컬 노드는 원격 매니페스트와 로컬 매니페스트가 콘텐츠 오브젝트의 동일한 컬렉션을 지시한다고 결정한다(도 2의 광고된_컬렉션_점검 프로시져(222)에 대응하는, 동작 304). 일부 실시예에서, 로컬 노드는 매니페스트의 컬렉션 이름이나 또는 라우팅 프리픽스를 비교함으로써 매니페스트가 동일한 컬렉션을 지시하는지 여부를 결정한다. 로컬 노드는 다음으로 로컬 매니페스트의 루트 해시값이 원격 매니페스트의 루트 해시값과 상이한지 여부를 결정한다(동작 306). 매니페스트의 루트 해시값은 매니페스트에 대한 유일한 식별자이며, 매니페스트 내에 표현된 콘텐츠 오브젝트의 다이제스트의 부가적인 해시값을 포함한다. 만일 로컬 매니페스트의 루트 해시값이 동일하다면(결정 308), 프로시저는 복귀한다.FIG. 3 is a flowchart 300 illustrating a method for synchronizing content associated with a remote manifest and a local manifest, in accordance with an embodiment of the present invention. In the following description, the local node is depicted as node 106 in FIG. 2, and the remote node is depicted as node 102 in FIG. The local node receives an advertisement corresponding to the remote manifest at the remote node (act 302). The manifest represents a collection of content objects at the node. The local node determines that the remote manifest and the local manifest point to the same collection of content objects (action 304, corresponding to the advertised collection collection check 222 of FIG. 2). In some embodiments, the local node determines whether the manifest points to the same collection by comparing the manifest's collection name or the routing prefix. The local node then determines whether the root hash value of the local manifest is different from the root hash value of the remote manifest (act 306). The root hash value of the manifest is the unique identifier for the manifest and contains the additional hash value of the digest of the content object represented in the manifest. If the root hash value of the local manifest is the same (decision 308), the procedure returns.

만일 로컬 매니페스트의 루트 해시값이 원격 매니페스트의 루트 해시값과 동일하지 않다면(결정 308), 이는, 동일한 컬렉션을 표현하는, 로컬 및 원격 매니페스트가 동기가 아니며 조정되어야 한다는 것을 나타낸다. 로컬 노드는 원격 매니페스트에 대한 요청을 송신하고 그리고 요청에 대한 응답을 수신함으로써 원격 매니페스트를 다운로딩하거나 전송한다(도 2의 매니페스트_검색 프로시저(224)에 대응하는, 동작 310).If the local hash value of the local manifest is not equal to the root hash value of the remote manifest (decision 308), this indicates that the local and remote manifests representing the same collection are not synchronous and should be adjusted. The local node downloads or sends the remote manifest by sending a request to the remote manifest and receiving a response to the request (operation 310 corresponding to the manifest_detection procedure 224 of FIG. 2).

로컬 노드는 원격 매니페스트에 식별된 콘텐츠 오브젝트가 로컬 매니페스트에 식별된 콘텐츠 오브젝트와 상이한지 여부를 결정한다(도 2의 세트_차이_결정 동작(230)에 대응하는, 동작 312). 일부 실시예에서, 로컬 노드는 로컬 매니페스트에 식별된 콘텐츠 오브젝트의 다이제스트를 원격 매니페스트에 식별된 동일한 이름의 콘텐츠 오브젝트의 다이제스트와 비교함으로써 세트 차이를 결정한다. 로컬 노드는 결정된 콘텐츠 오브젝트의 상이한 세트에 대응하는 인터레스트의 세트를 전송하고(동작 234), 그리고 대답으로 요청된 콘텐츠 오브젝트를 수신한다(동작 236). 이것은 도 2에 도시된 세트_차이_해결 동작(232)에 대응한다. 따라서, 로컬 매니페스트의 콘텐츠는 원격 매니페스트의 콘텐츠와 동기화된다.The local node determines whether the identified content object in the remote manifest is different from the identified content object in the local manifest (operation 312, corresponding to the set_difference_determination operation 230 of FIG. 2). In some embodiments, the local node determines the set difference by comparing the digest of the content object identified in the local manifest with the digest of the content object of the same name identified in the remote manifest. The local node transmits a set of interlaces corresponding to different sets of determined content objects (action 234), and receives the requested content objects in response (action 236). This corresponds to the set_tag_resolve operation 232 shown in FIG. Thus, the content of the local manifest is synchronized with the content of the remote manifest.

만일 로컬 노드가 변경되면, 로컬 노드는 새로운 루트 해시값을 광고한다. 그것은 곧바로 그렇게 하거나, 또는 네트워크나 다른 타이밍 고려사항에 기초하여 다음 광고를 스케줄링할 수 있다. 예를 들면, 로컬 시스템은 초당 적어도 한번씩, 그러나 초당 4번을 넘지는 않도록, 그의 루트 해시를 광고할 수 있다. 그러므로, 조정 동안, 루트 해시가 갱신으로 인해서 변경될 때, 시스템은 초당 4번의 변경까지 광고할 수 있다. 그렇지 않으면, 안정 상태에서, 초당 한번 광고할 수 있다.If the local node is changed, the local node advertises a new root hash value. It can do so immediately, or schedule the next ad based on network or other timing considerations. For example, the local system can advertise its root hash at least once per second, but not more than four times per second. Therefore, during adjustment, when the root hash is changed due to an update, the system can advertise up to four changes per second. Otherwise, in steady state, you can advertise once per second.

도 4는 본 발명의 일 실시예에 따른, 변경된 시간에 기초하여 원격 매니페스트 및 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도(400)이다. 콘텐츠의 동기화는 또한 콘텐츠 오브젝트와 연관된 시퀀스 번호에 기초할 수 있으며, 이때 더 큰 시퀀스 번호는 콘텐츠 오브젝트의 좀 더 최근의 버전을 지시한다는 것을 주목하라. 콘텐츠의 동기화는 콘텐츠 오브젝트의 이름의 순서에 기초할 수 있으며, 내재된 정렬 순서는 콘텐츠 오브젝트의 좀 더 최근의 버전을 지시한다. 흐름도(400)는 콘텐츠 오브젝트의 변경 시간에 기초하는 방법을 묘사하며, 이는 도 2의 변경_시간_기반의_동기 동작(240)으로서 묘사된다. 이전에 결정된 세트 차이에 기초하여, 로컬 노드는 대응하는 콘텐츠 오브젝트가 변경된 시간을 지시하는 변경 시간을 포함하는 콘텐츠 오브젝트의 요청된 세트를 수신한다(동작 402). 각 콘텐츠 오브젝트에 대하여, 로컬 노드는 원격 매니페스트 내의 콘텐츠 오브젝트의 변경 시간이 로컬 매니페스트의 대응하는 콘텐츠 오브젝트보다 더 최근인지 덜 최근인지 여부를 결정한다(동작 404). 만일 원격 매니페스트로부터의 콘텐츠 오브젝트의 변경 시간이 더 최근이라면(결정 406), 시스템은 로컬 매니페스트 내의 콘텐츠 오브젝트의 값을 원격 매니페스트로부터 콘텐츠 오브젝트의 값으로 갱신한다(동작 408). 일부 실시예에서, 로컬 노드는 (덜 최근의) 콘텐츠 오브젝트의 대응하는 값과 변경 시간을, 로컬 매니페스트 내의 콘텐츠 오브젝트의 값을 갱신하기 전에, 로컬 매니페스트 내의 이력 필드에 삽입함으로써, 로컬 매니페스트 내의 (덜 최근의) 콘텐츠 오브젝트의 값을 보유할 지 여부를 결정할 수 있다. 만일, 검색되어야 할 세트 안에 더 많은 콘텐츠 오브젝트가 있다면(동작 410), 시스템은 동작(404)으로 복귀한다. 만일 아니라면, 시스템은 필요한 콘텐츠 오브젝트의 검색을 완료했다. 4 is a flow diagram 400 illustrating a method for synchronizing content associated with a remote manifest and a local manifest based on a modified time, in accordance with an embodiment of the present invention. Synchronization of content may also be based on a sequence number associated with the content object, where a larger sequence number indicates a more recent version of the content object. The synchronization of the content may be based on the order of the names of the content objects, and the inherent sort order indicates a more recent version of the content object. The flowchart 400 depicts a method based on the modification time of the content object, which is depicted as the change_time_based sync operation 240 of FIG. Based on the previously determined set difference, the local node receives a requested set of content objects that includes a change time indicating the time at which the corresponding content object was changed (act 402). For each content object, the local node determines whether the modification time of the content object in the remote manifest is more recent or less recent than the corresponding content object in the local manifest (operation 404). If the modification time of the content object from the remote manifest is more recent (decision 406), the system updates the value of the content object in the local manifest with the value of the content object from the remote manifest (act 408). In some embodiments, the local node inserts the corresponding value and the modification time of the (less recent) content object into the history field in the local manifest, before updating the value of the content object in the local manifest, &Lt; / RTI &gt; latest) content object. If there are more content objects in the set to be searched (act 410), the system returns to act 404. If not, the system has finished searching for the required content object.

만일 원격 매니페스트로부터의 콘텐츠 오브젝트의 변경 시간이 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트보다 덜 최근이라면(결정 406), 시스템은, (덜 최근의) 콘텐츠 오브젝트의 대응하는 값과 변경 시간을 로컬 매니페스트 내의 이력 필드로 삽입함으로써(동작 414), 원격 매니페스트로부터의 (덜 최근의) 콘텐츠 오브젝트의 값을 저장할지 여부를 결정한다(결정 412). 만일, 검색되어야 할 세트 안에 더 많은 콘텐츠 오브젝트가 있다면(동작 410), 시스템은 동작(404)으로 복귀한다. 만일 아니라면, 시스템은 필요한 콘텐츠 오브젝트의 검색을 완료했다. 따라서, 상이하다고 결정된 모든 콘텐츠 오브젝트가 갱신되었고, 그리고 아마도 로컬 매니페스트의 이력 필드에 보유되거나 저장되어서, 로컬 매니페스트의 콘텐츠는 원격 매니페스트의 콘텐츠와 동기화된다.If the modification time of the content object from the remote manifest is less recent than the corresponding content object in the local manifest (decision 406), the system updates the corresponding value and the modification time of the (less recent) (Act 414) to determine whether to store the value of the (less recent) content object from the remote manifest (decision 412). If there are more content objects in the set to be searched (act 410), the system returns to act 404. If not, the system has finished searching for the required content object. Thus, all content objects determined to be different have been updated and possibly held or stored in the history field of the local manifest, so that the content of the local manifest is synchronized with the content of the remote manifest.

도 5는 본 발명의 일 실시예에 따른, 매니페스트에 대응하는 광고를 전송하는 방법을 보여주는 흐름도(500)이다. 도 5의 노드는 패킷을 원격 노드로 전송하기 때문에 로컬 노드로서 설명된다. 도 5의 로컬 노드는 도 2의 노드(202)에 대응하며, 이는 이전에 원격 노드(202)로 참조되었다는 것을 주목하라. 콘텐츠-중심 네트워크(CCN)와 같은 네트워크 내의 노드는 원격 노드 또는 로컬 노드로서 참조될 수 있다는 것을 상기하라.5 is a flow diagram 500 illustrating a method for transmitting an advertisement corresponding to a manifest, in accordance with an embodiment of the present invention. The node of FIG. 5 is described as a local node because it transmits the packet to the remote node. Note that the local node in FIG. 5 corresponds to node 202 in FIG. 2, which was previously referred to as remote node 202. Recall that a node in a network, such as a content-centric network (CCN), may be referred to as a remote node or a local node.

로컬 노드는 매니페스트에 대응하는 광고를 전송하며, 매니페스트는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다(도 2의 광고_송신 메시지(220)에 대응하는, 동작 502). 이 광고는 비콘(beacon)과 유사한 인터레스트이고, 그리고, 사용된 "/adv" 네임스페이스에 기초하여, 답신으로 콘텐츠를 요구하지 않는다. 원격 노드로부터 매니페스트에 대한 요청을 수신하면, 로컬 노드는 원격 노드로 매니페스트를 전송한다(도 2의 매니페스트_인_청크_요청 인터레스트(226)와 매니페스트_인_청크_송신 인터레스트(228)의 수신에 대응하는, 동작 504). 로컬 매니페스트 내에 식별된 콘텐츠 오브젝트에 대한 요청을 원격 노드로부터 수신하면, 로컬 노드는 요청된 콘텐츠 오브젝트를 요청한 원격 노드로 전송한다(도 2의 세트_차이_요청 인터레스트(234)와 세트_차이_송신 인터레스트(236)의 수신에 대응하는, 동작 506).The local node sends an advertisement corresponding to the manifest, and the manifest represents a collection of content objects at the node (action 502 corresponding to the advertisement_sending message 220 of FIG. 2). This ad is an beacon-like interlace, and does not require content in a reply based on the "/ adv" namespace used. Upon receiving a request for a manifest from a remote node, the local node sends the manifest to the remote node (manifest_in_chunk_request 226 and manifest_chunk_request 228 in FIG. 2) Lt; / RTI &gt; operation 504). Upon receiving a request for a content object identified in the local manifest from the remote node, the local node forwards the requested content object to the requesting remote node (set_difference_request 234, Corresponding to receipt of a transmissioninterpret 236, operation 506).

도 6a는 본 발명의 일 실시예에 따른, 컬렉션에 표현된 매니페스트(120)와 콘텐츠 오브젝트의 포맷을 보여주는 테이블이다. 매니페스트(120)는 컬렉션 이름(124)에 의해 식별되는 콘텐츠 오브젝트의 정렬 리스트를 포함하고, 또한 콘텐츠 오브젝트 이름(130.1-130.n), 다이제스트(132.1-132.n), 그리고 변경 시간(134.1-134.n) 중의 하나 이상을 포함한다. 다이제스트(132.1-132.n)는 이름(130.1-130.n)에 의해서 식별되는 콘텐츠 오브젝트의 해시값을 포함한다. 매니페스트(120)는 또한 루트 해시(122)를 포함하고, 이는 컬렉션의 개별 콘텐츠 오브젝트의 해시값(132.1-132.n)에 기초한 부가적인 해시값이다. 매니페스트(120)의 루트 해시(122)는 매니페스트(120)에 대한 유일한 식별자이다.6A is a table showing the format of a content object and the manifest 120 represented in the collection according to an embodiment of the present invention. The manifest 120 includes an ordered list of content objects identified by the collection name 124 and also includes a list of content object names 130.1-130.n, digests 132.1-132.n, 134.n). Digests 132.1-132.n include hash values of the content objects identified by names 130.1-130.n. The manifest 120 also includes a root hash 122, which is an additional hash value based on the hash value (132.1-132.n) of the individual content objects in the collection. The root hash 122 of the manifest 120 is a unique identifier for the manifest 120.

도 1과 관련되어 설명된 것처럼, 매니페스트(120)는 컬렉션 내에 표현된 각 콘텐츠 오브젝트에 대한 이름 및 대응하는 다이제스트를 지시할 수 있다. 일부 실시예에서, 매니페스트(120)는 컬렉션에 표현된 각 콘텐츠 오브젝트에 대한 변경 시간을 포함할 수 있다. 변경 시간 필드의 사용은 기본 어플리케이션이나 수행되고 있는 서비스에 종속된다. 매니페스트(120)는 컬렉션 이름(124)을 지시한다는 것을 주목하라. 도 6b-e에 묘사된 매니페스트는 또한 컬렉션 이름을 포함하지만, 매니페스트는 데이터의 동일한 컬렉션을 포함하기 때문에, 컬렉션 이름은 도 6b-e에 포함되지 않는다.As described in connection with FIG. 1, the manifest 120 may indicate a name and a corresponding digest for each content object represented in the collection. In some embodiments, the manifest 120 may include a modification time for each content object represented in the collection. The use of the change time field depends on the underlying application or service being executed. Note that the manifest 120 points to the collection name 124. The manifest depicted in Figures 6b-e also includes the collection name, but since the manifest contains the same collection of data, the collection name is not included in Figures 6b-e.

도 6b-6e는 두 개의 노드(102, 106)를 묘사하며, 이들은 각각 매니페스트를 포함한다. 본 예에서, 노드(102)는 원격 노드이고 노드(106)는 로컬 노드이다. 로컬 노드(106)는 매니페스트(160)를 포함하고, 원격 노드(102)는 매니페스트(140)를 포함한다. 매니페스트(140과 160)는 동일한 컬렉션 이름이나 라우팅 프리픽스를 포함하고, 따라서 콘텐츠 오브젝트나 데이터의 동일한 컬렉션을 포함한다. 시간은 라벨 T1, T2 등으로 지시되며, 매니페스트(140, 160)의 콘텐츠는 이들 시간 라벨에 관련되어 묘사된다.Figures 6b-6e depict two nodes 102 and 106, each of which includes a manifest. In this example, node 102 is a remote node and node 106 is a local node. The local node 106 includes a manifest 160 and the remote node 102 includes a manifest 140. Manifests 140 and 160 contain the same collection name or routing prefix, and thus contain the same collection of content objects or data. The times are indicated by labels T1, T2, etc., and the contents of the manifests 140, 160 are depicted relative to these time labels.

매니페스트는 도 6a의 루트 해시(122)로서 도시되는, 루트 해시값에 의해 더 식별되고, 이는 컬렉션의 개별적인 콘텐츠 오브젝트의 다이제스트에 기초하는 부가적인 해시값이다. 아래의 예에서, 루트 해시값과 다이제스트는 괄호안의 번호, 예를 들면, "{999}"로서 지시되지만, 그러나 그 숫자는 이보다 훨씬 클 수 있다. 추가로, 시간에 따라 변하는 콘텐츠 오브젝트의 다이제스트와 매니페스트(140, 160)의 루트 해시값은 부가적인 해시값의 동일한 표현으로서만 묘사된다.The manifest is further identified by the root hash value, shown as the root hash 122 in Figure 6A, which is an additional hash value based on the digest of the individual content objects in the collection. In the example below, the root hash value and digest are indicated in parentheses, for example, "{999}", but the number may be much larger. In addition, the time-varying digest of the content object and the root hash value of the manifest 140,160 are depicted only as an equivalent representation of the additional hash value.

도 6b는 본 발명의 일 실시예에 따른, 로컬 매니페스트에 원격 매니페스트로부터의 콘텐츠 오브젝트가 누락된, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다. 시간 T1에서, 로컬 노드(106)는, {999}의 루트 해시값을 갖는, 매니페스트(140)의 원격 노드(102)로부터 해시 광고를 수신한다. 로컬 노드(106)는 그의 매니페스트(160)가 원격 매니페스트(140)와 동일한 데이터의 컬렉션을 표현한다고 결정하고 매니페스트(140)를 검색한다. 로컬 노드(106)는, 루트 해시값 {60}을 갖는, 로컬 매니페스트(160)가, 루트 해시값 {999}를 갖는 원격 매니페스트(140)와 동기가 아니라고 결정한다. 로컬 노드(106)는 이때 그의 로컬 매니페스트(160)와 원격 매니페스트(140) 간의 세트 차이를 결정한다. 본 예에서, 매니페스트(160)에 "/fruit/lychee/peel"의 이름으로 식별되는 콘텐츠 오브젝트가 누락되고, 이에 따라서 로컬 노드(106)는 그 이름을 갖는 콘텐츠 오브젝트에 대하여 원격 노드(102)로 인터레스트를 송신한다. 원격 노드(102)는 요청된 콘텐츠 오브젝트를 반환한다. 시간 T2에서, 로컬 노드(106)는 누락된 콘텐츠 오브젝트로 매니페스트(160)를 갱신한다. 시간 T2에서 매니페스트(160)의 콘텐츠에 기초하여, 시스템은 매니페스트(160)에 대한 새로운 루트 해시값을 생성하며, 이는 현재 원격 매니페스트의 루트 해시값과 동일한다. 이는 시간 T2:{60} -> {999}에서의 매니페스트(160)의 루트 해시값에 의해 묘사된다. 따라서 로컬 매니페스트와 원격 매니페스트는 그들의 컬렉션을 동기화하였고 둘 다 {999}의 동일한 루트 해시값을 유지한다.6B is a table depicting the format of two manifests during synchronization, in which a local manifest is missing a content object from a remote manifest, in accordance with an embodiment of the present invention. At time T1, the local node 106 receives a hash advertisement from the remote node 102 of the manifest 140, having a root hash value of {999}. The local node 106 determines that its manifest 160 represents a collection of the same data as the remote manifest 140 and retrieves the manifest 140. [ Local node 106 determines that local manifest 160 with root hash value {60} is not synchronous with remote manifest 140 with root hash value {999}. The local node 106 then determines the set difference between its local manifest 160 and the remote manifest 140. In this example, the content object identified by the name "/ fruit / lychee / peel" in the manifest 160 is missing and accordingly the local node 106 sends the content object with that name to the remote node 102 And transmits the interlace. The remote node 102 returns the requested content object. At time T2, the local node 106 updates the manifest 160 with the missing content object. Based on the content of the manifest 160 at time T2, the system generates a new root hash value for the manifest 160, which is the same as the root hash value of the current remote manifest. This is depicted by the root hash value of the manifest 160 at time T2: {60} -> {999}. Thus, the local and remote manifests synchronize their collections and both maintain the same root hash value of {999}.

도 6c는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이하고, 원격 노드가 그의 매니페스트를 광고하고, 로컬 노드가 원격 매니페스트를 검색하는, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다. 시간 T3에서, 로컬 노드(106)는, 루트 해시값 {999}을 갖는, 매니페스트(140)의 원격 노드(102)로부터 해시 광고를 수신한다. 로컬 노드(106)는 그의 매니페스트(160)가 원격 매니페스트(140)와 동일한 데이터의 컬렉션을 표현한다고 결정하고, 매니페스트(140)를 검색한다. 로컬 노드(106)는, 루트 해시값 {53}을 갖는, 로컬 매니페스트(160)가, 루트 해시값 {999}를 갖는 원격 매니페스트(140)와 동기가 아니라고 결정한다. 로컬 노드(106)는 이때 그의 로컬 매니페스트(160)와 원격 매니페스트(140) 간의 세트 차이를 결정한다. 본 예에서, 매니페스트(160)에 {279}의 다이제스트를 갖는 "/fruit/lychee/peel"의 이름으로 식별되는 콘텐츠 오브젝트가 누락되고, 따라서 로컬 노드(106)는 그 이름과 다이제스트에 기초하는 콘텐츠 오브젝트에 대하여 원격 노드(102)로 인터레스트를 송신한다. 원격 노드(102)는 요청된 콘텐츠 오브젝트를 반환한다. 시간 T4.a에서, 로컬 노드(106)는 누락된 콘텐츠 오브젝트로 매니페스트(160)를 갱신한다. 시간 T4.a에서 매니페스트(160)의 콘텐츠에 기초하여, 시스템은 매니페스트(160)에 대한 새로운 루트 해시값을 생성한다. 이는 시간 T4.a:{53} -> {772}에서의 매니페스트(160)의 루트 해시값으로 묘사된다. 그러나, 본래의 루트 해시값이 {999}인, 매니페스트(140)는 현재, 새로운 루트 해시값이 {772}인 매니페스트(160)와 동기가 아니다. FIG. 6C is a block diagram of an embodiment of the present invention in which a digest of a content object of the same name in a local manifest is different from a digest in a remote manifest, a remote node advertises its manifest, a local node retrieves a remote manifest, It is a table depicting the format of the two manifests during. At time T3, the local node 106 receives a hash advertisement from the remote node 102 of the manifest 140, having a root hash value of {999}. The local node 106 determines that its manifest 160 represents a collection of the same data as the remote manifest 140 and retrieves the manifest 140. [ The local node 106 determines that the local manifest 160 with the root hash value {53} is not synchronous with the remote manifest 140 with the root hash value {999}. The local node 106 then determines the set difference between its local manifest 160 and the remote manifest 140. In this example, the content object identified by the name "/ fruit / lychee / peel " having a digest of {279} in the manifest 160 is missing, and thus the local node 106 And sends the object to the remote node 102 for the object. The remote node 102 returns the requested content object. At time T4.a, the local node 106 updates the manifest 160 with the missing content object. Based on the contents of the manifest 160 at time T4.a, the system generates a new root hash value for the manifest 160. This is depicted as the root hash value of the manifest 160 at time T4.a: {53} -> {772}. However, the manifest 140 whose original root hash value is {999} is not currently synchronous with the manifest 160 whose new root hash value is {772}.

연속하여, 원격 노드(102)는, 새로운 루트 해시값 {772}를 갖는. 매니페스트(160)의 로컬 노드(106)로부터 해시 광고를 수신한다. 원격 노드(102)는 그의 매니페스트(140)가 매니페스트(160)와 동일한 데이터의 컬렉션을 표현한다고 결정하고, 매니페스트(160)를 검색한다. 원격 노드(102)는 루트 해시값 {999}를 갖는, 그의 매니페스트(140)가, 루트 해시값이 {772}을 갖는 매니페스트(160)와 동기가 아니라고 결정한다. 원격 노드(102)는 그의 매니페스트(140)와 매니페스트(160) 간의 세트 차이를 결정한다. 이 예에서, 매니페스트(140)에 {41}의 다이제스트를 갖는 "/fruit/lychee/peel"의 이름으로 식별되는 콘텐츠 콘텐츠 오브젝트가 누락되고, 따라서 원격 노드(102)는 그 이름과 다이제스트에 기초하는 콘텐츠 오브젝트에 대하여 로컬 노드(106)로 인터레스트를 송신한다. 로컬 노드(106)는 요청된 콘텐츠 오브젝트를 반환한다. 시간 T5.a에서, 원격 노드(102)는 누락된 콘텐츠 오브젝트로 매니페스트(140)를 갱신한다. 시간 T5.a에서 매니페스트(140)의 콘텐츠에 기초하여, 시스템은 매니페스트(140)에 대한 새로운 루트 해시값을 생성한다. 이는 시간 T5.a:{999} -> {772}에서의 매니페스트(140)의 루트 해시값으로 묘사된다. 따라서, T5.a에서, 노드(102)에서의 매니페스트(140)은 노드(106)에서의 매니페스트(160)와 동기이다. 노드(102, 106)는 그들의 컬렉션을 동기화 하였고, 둘 다 {772}의 동일한 루트 해시값을 유지한다.Subsequently, the remote node 102 has a new root hash value {772}. And receives a hash advertisement from the local node 106 of the manifest 160. The remote node 102 determines that its manifest 140 represents a collection of the same data as the manifest 160 and retrieves the manifest 160. The remote node 102 determines that its manifest 140 with the root hash value of {999} is not synchronous with the manifest 160 whose root hash value is {772}. The remote node 102 determines the set difference between its manifest 140 and the manifest 160. In this example, the content content object identified by the name of "/ fruit / lychee / peel" with the digest of {41} is missing in the manifest 140 and thus the remote node 102 is based on its name and digest And sends an interlace to the local node 106 for the content object. The local node 106 returns the requested content object. At time T5.a, the remote node 102 updates the manifest 140 with the missing content object. Based on the content of the manifest 140 at time T5.a, the system generates a new root hash value for the manifest 140. [ This is depicted as the root hash value of the manifest 140 at time T5.a: {999} -> {772}. Thus at T5.a, the manifest 140 at node 102 is synchronous with the manifest 160 at node 106. [ Nodes 102 and 106 synchronized their collections, and both maintain the same root hash value of {772}.

도 6d는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이하고, 로컬 노드가 광고를 송신하고 원격 노드가 로컬 노드를 검색하는, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다. 시간 T3에서, 원격 노드(102)는, 루트 해시값 {53}을 갖는, 매니페스트(160)의 로컬 노드(106)로부터 해시 광고를 수신한다. 원격 노드(102)는 그의 매니페스트(140)가 로컬 매니페스트(160)와 동일한 데이터의 컬렉션을 표현한다고 결정하고, 매니페스트(160)를 검색한다. 원격 노드(102)는, 루트 해시값 {999}를 갖는, 그의 매니페스트(140)가, 루트 해시값 {53}을 갖는 매니페스트(160)와 동기가 아니라고 결정한다. 원격 노드(102)는 이때 그의 매니페스트(140)와 매니페스트(160) 간의 세트 차이를 결정한다. 본 예에서, 매니페스트(140)에 {41}의 다이제스트를 갖는 "/fruit/lychee/peel"의 이름으로 식별되는 콘텐츠 오브젝트가 누락되고, 따라서 원격 노드(102)는 그 이름과 다이제스트에 기초하는 콘텐츠 오브젝트에 대하여 로컬 노드(106)로 인터레스트를 송신한다. 로컬 노드(106)는 요청된 콘텐츠 오브젝트를 반환한다. 시간 T4.b에서, 원격 노드(102)는 누락된 콘텐츠 오브젝트로 매니페스트(140)를 갱신한다. 시간 T4.b에서 매니페스트(140)의 콘텐츠에 기초하여, 시스템은 매니페스트(140)에 대한 새로운 루트 해시값을 생성한다. 이는 시간 T4.b:{999} -> {772}에서의 매니페스트(140)의 루트 해시값으로 묘사된다. 그러나, 본래의 루트 해시값이 {53}인, 매니페스트(160)는 현재, 새로운 루트 해시값이 {772}인 매니페스트(140)와 동기가 아니다. FIG. 6D is a diagram illustrating an example of a method in which a digest of a content object of the same name in a local manifest is different from a digest in a remote manifest, a local node sends an advertisement, and a remote node searches for a local node, It is a table depicting the format of both manifests. At time T3, the remote node 102 receives a hash advertisement from the local node 106 of the manifest 160, having a root hash value {53}. The remote node 102 determines that its manifest 140 represents a collection of data that is the same as the local manifest 160 and retrieves the manifest 160. The remote node 102 determines that its manifest 140 with the root hash value of {999} is not synchronous with the manifest 160 with the root hash value {53}. The remote node 102 then determines the set difference between its manifest 140 and the manifest 160. In this example, the manifest 140 is missing a content object identified by the name of "/ fruit / lychee / peel" with a digest of {41}, and thus the remote node 102 And sends the interleaves to the local node 106 for the object. The local node 106 returns the requested content object. At time T4.b, the remote node 102 updates the manifest 140 with the missing content object. Based on the content of the manifest 140 at time T4.b, the system generates a new root hash value for the manifest 140. This is depicted as the root hash value of the manifest 140 at time T4.b: {999} -> {772}. However, the manifest 160 whose original root hash value is {53} is not currently synchronous with the manifest 140 whose new root hash value is {772}.

연속하여, 로컬 노드(106)는, 새로운 루트 해시값 {772}를 갖는. 매니페스트(140)의 로컬 노드(102)로부터 해시 광고를 수신한다. 로컬 노드(106)는 그의 매니페스트(160)가 매니페스트(140)와 동일한 데이터 컬렉션을 표현한다고 결정하고 매니페스트(140)를 검색한다. 로컬 노드(106)는 루트 해시값 {53}을 갖는, 그의 매니페스트(160)가, 루트 해시값 {772}를 갖는 매니페스트(140)와 동기가 아니라고 결정한다. 로컬 노드(106)는 그의 로컬 매니페스트(160)와 원격 매니페스트(140) 간의 세트 차이를 결정한다. 이 예에서, 매니페스트(160)에 {41}의 다이제스트를 갖는 "/fruit/lychee/peel"의 이름으로 식별되는 콘텐츠 콘텐츠 오브젝트가 누락되고, 따라서 로컬 노드(106)는 그 이름과 다이제스트에 기초하는 콘텐츠 오브젝트에 대하여 원격 노드(102)로 인터레스트를 송신한다. 원격 노드(102)는 요청된 콘텐츠 오브젝트를 반환한다. 시간 T5.b에서, 로컬 노드(106)는 누락된 콘텐츠 오브젝트로 매니페스트(160)를 갱신한다. 시간 T5.b에서 매니페스트(160)의 콘텐츠에 기초하여, 시스템은 매니페스트(160)에 대한 새로운 루트 해시값을 생성한다. 이는 시간 T5.b:{53} -> {772}에서의 매니페스트(160)의 루트 해시값으로 묘사된다. 따라서, T5.b에서, 노드(102)에서의 매니페스트(140)은 노드(106)에서의 매니페스트(160)와 동기이다. 노드(102, 106)는 그들의 컬렉션을 동기화하였고, 둘 다 {772}의 동일한 루트 해시값을 유지한다.Subsequently, the local node 106 has a new root hash value {772}. And receives a hash advertisement from the local node 102 of the manifest 140. The local node 106 determines that its manifest 160 represents the same data collection as the manifest 140 and retrieves the manifest 140. [ The local node 106 determines that its manifest 160 with the root hash value {53} is not synchronous with the manifest 140 with the root hash value {772}. The local node 106 determines the set difference between its local manifest 160 and the remote manifest 140. In this example, the content content object identified by the name of "/ fruit / lychee / peel" having a digest of {41} is missing in the manifest 160 and thus the local node 106 is based on its name and digest And transmits the interleaves to the remote node 102 for the content object. The remote node 102 returns the requested content object. At time T5.b, the local node 106 updates the manifest 160 with the missing content object. Based on the contents of the manifest 160 at time T5.b, the system generates a new root hash value for the manifest 160. This is depicted as the root hash value of the manifest 160 at time T5.b: {53} -> {772}. Thus at T5.b the manifest 140 at node 102 is synchronous with the manifest 160 at node 106. [ Nodes 102 and 106 synchronized their collections, and both maintain the same root hash value of {772}.

도 6c와 6d는 어느 노드라도 원격 또는 로컬 노드일 수 있고, 그리고 해시 광고, 매니페스트 및 매니페스트와 연관되어 상이하다고 결정된 콘텐츠 오브젝트를 송신하거나 수신하는 순서는 주어진 시간에 컬렉션 내의 콘텐츠에 따라, 예를 들면 시간 [T3, T4.a, T5.a] 와 시간 [T3, T4.b, T5.b]에서 매니페스트(140, 160)의 콘텐츠들에 따라 다를 수 있다는 것을 보여준다. 즉, 어느 노드라도, 본 개시에 설명된 방법을 사용하여, 해시 광고를 송수신할 수 있고 매니페스트를 이송할 수 있고, 그리고 노드에서 매니페스트의 콘텐츠를 동기화할 수 있으며, 이에 따라, 두 노드에서 데이터의 컬렉션의 동기화가 이루어진다.Figures 6c and 6d show that any node can be a remote or local node and the order of sending or receiving content objects determined to be different in association with the hash ad, manifest and manifest can be determined according to the content in the collection at a given time, May vary depending on the contents of the manifests 140 and 160 at times [T3, T4.a, T5.a] and at times [T3, T4.b, T5.b]. That is, any node can send and receive hash advertisements, transport manifests, and synchronize the content of a manifest at a node, using the method described in this disclosure, The collection is synchronized.

도 6e는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트와 변경 시간이 원격 매니페스트 내의 다이제스트와 변경 시간과 상이한, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다. 6E is a table depicting the format of two manifests during synchronization, where the digest of the same name content object and the modification time in the local manifest are different from the modification time in the remote manifest, in accordance with an embodiment of the present invention.

시간 T6에서, 로컬 노드(106)는, 루트 해시값 {999}를 갖는, 매니페스트(140)의 원격 노드(102)로부터 해시 광고를 수신한다. 로컬 노드(106)는 그의 매니페스트(160)가 원격 매니페스트(140)와 동일한 데이터의 컬렉션을 표현한다고 결정하고, 매니페스트(140)를 검색한다. 로컬 노드(106)는, 루트 해시값 {80}을 갖는, 로컬 매니페스트(160)가, 루트 해시값 {999}를 갖는 원격 매니페스트(140)와 동기가 아니라고 결정한다. 로컬 노드(106)는 이때 그의 로컬 매니페스트(160)와 원격 매니페스트(140) 간의 세트 차이를 결정한다. 본 예에서, 매니페스트(140)와 매니페스트(160)는 그의 컬렉션에 표현된 각 콘텐츠 오브젝트에 대응하는 변경 시간(134)을 지시한다. 시스템은 매니페스트(140)와 매니페스트(160) 내에 동일한 이름을 갖는 콘텐츠 오브젝트가 상이한 다이제스트와 상이한 변경 시간을 갖는다고 결정한다. 변경 시간은 콘텐츠 오브젝트가 변경된 초, 분, 시간, 날짜, 월 그리고 연도와 관련된 정보를 포함한다는 것을 주목하라. 단순화를 위하여, 도 6e의 매니페스트는 그 날의 시간만을 포함한다. 매니페스트(140)는 {1}의 다이제스트와 변경 시간 8:05 am을 갖는 "/chef/events/calendar.txt"의 이름으로 식별되는 콘텐츠 오브젝트를 포함한다. 매니페스트(160)는 {320}의 상이한 다이제스트와 상이한 변경 시간 7:30 am을 갖는 동일한 이름으로 식별되는 콘텐츠 오브젝트를 포함한다. 로컬 노드(106)는 상기 상이한 콘텐츠 오브젝트의 이름과 다이제스트에 기초하여 콘텐츠 오브젝트에 대하여 원격 노드(102)로 인터레스트를 송신한다. 원격 노드(102)는 요청된 콘텐츠 오브젝트를 반환한다.At time T6, the local node 106 receives a hash advertisement from the remote node 102 of the manifest 140, having a root hash value of {999}. The local node 106 determines that its manifest 160 represents a collection of the same data as the remote manifest 140 and retrieves the manifest 140. [ Local node 106 determines that local manifest 160 with root hash value {80} is not synchronous with remote manifest 140 with root hash value {999}. The local node 106 then determines the set difference between its local manifest 160 and the remote manifest 140. In this example, the manifest 140 and the manifest 160 indicate a modification time 134 corresponding to each content object represented in its collection. The system determines that a content object having the same name in the manifest 140 and the manifest 160 has a different modification time than the different digest. Note that the modification time includes information related to the seconds, minutes, hours, dates, months, and years when the content object was changed. For simplicity, the manifest of Figure 6E only includes the time of the day. The manifest 140 includes a digest of {1} and a content object identified by the name of "/chef/events/calendar.txt" with a modification time of 8:05 am. The manifest 160 includes a content object identified by the same name with a different modification time of 7:30 am than the different digest of {320}. The local node 106 sends an interrest to the remote node 102 for the content object based on the name and digest of the different content object. The remote node 102 returns the requested content object.

로컬 노드는 변경 시간 8:05 am을 갖는 원격 매니페스트(140)로부터의 콘텐츠 오브젝트가 변경 시간 7:30 am을 갖는 로컬 매니페스트(160)로부터의 콘텐츠 오브젝트보다 좀 더 최근이라고 결정한다. 따라서, 시간 T7에서, 로컬 노드(106)는 상이한 좀더 최근의 콘텐츠 오브젝트로 매니페스트(160)를 갱신한다. 시간 T7에서 매니페스트(160)의 콘텐츠에 기초하여, 시스템은 매니페스트(160)에 대한 새로운 루트 해시값을 생성한다. 이것은 시간 T7:{80} -> {999}에서의 매니페스트(160)의 루트 해시값에 의해 묘사된다. 따라서, 시간 T7에서, 로컬 노드(106)에서의 매니페스트(160)는 원격 노드(102)에서의 매니페스트(140)와 동기이다. 노드(102, 106)는 그들의 컬렉션을 동기화하였고, 둘 다 동일한 루트 해시값 {999}를 포함한다.The local node determines that the content object from the remote manifest 140 with a modification time of 8:05 am is more recent than the content object from the local manifest 160 with a modification time of 7:30 am. Thus, at time T7, the local node 106 updates the manifest 160 with a different, more recent content object. Based on the contents of the manifest 160 at time T7, the system generates a new root hash value for the manifest 160. This is depicted by the root hash value of the manifest 160 at time T7: {80} -> {999}. Thus at time T7 the manifest 160 at the local node 106 is synchronous with the manifest 140 at the remote node 102. [ Nodes 102 and 106 synchronized their collections, both containing the same root hash value {999}.

일부 실시예에서, 시스템은 매니페스트(160)의 이력 필드 내에 변경된 콘텐츠 오브젝트의 이전 버전(예를 들면, {320}의 다이제스트와 변경 시간 7:30 am을 갖는 이름 "/chef/events/calendar.txt"로 식별되는 콘텐츠 오브젝트)을 보유할 것이다. 다른 실시예에서, 원격 노드(102)가 {80}의 루트 해시를 갖는 매니페스트(160)의 로컬 노드(106)로부터 해시 광고를 수신하고 로컬 매니페스트(160)를 다운로드할 때, 원격 노드(102)는 {320}의 다이제스트와 변경 시간 7:30 am을 갖는 이름 "/chef/events/calendar.txt"로 식별되는 수신된 콘텐츠 오브젝트의 버전이 그의 자신의 매니페스트 내의 버전보다 덜 최근이라고 결정한다. 이 경우에 원격 노드(102)에서 매니페스트(140)는 로컬 노드(106)의 매니페스트(160)와 비동기로 남는다. 매니페스트는, 로컬 노드(106)가 매니페스트(140)의 원격 노드(102)로부터 해시 광고를 수신한 이후에, 동기화를 진행할 것이며, 이는, 상술한 것처럼, 좀 더 최근에 갱신된 콘텐츠 오브젝트를 유지한다.In some embodiments, the system stores a previous version of the changed content object (e.g., a digest of {320} and a name with a modification time of 7:30 am "/chef/events/calendar.txt "). &Lt; / RTI &gt; In another embodiment, when the remote node 102 receives a hash advertisement from the local node 106 of the manifest 160 with the root hash of {80} and downloads the local manifest 160, Determines that the version of the received content object identified by the name "/chef/events/calendar.txt" having a digest of {320} and a modification time 7:30 am is less recent than the version in its own manifest. In this case, the manifest 140 at the remote node 102 remains asynchronous with the manifest 160 of the local node 106. The manifest will proceed with synchronization after the local node 106 has received the hash advertisement from the remote node 102 of the manifest 140 which will maintain the more recently updated content object as described above .

일부 실시예에서, 시스템은 콘텐츠-중심 네트워크(CCN) 내의 장치와 이들 장치에 의해 제공되는 서비스 디스커버리를 용이하게 한다. CCN 네임 스페이스는 서비스 타입별로, 예를 들면, 프린터, 파일 서버, 또는 음악 라이브러리로 분할된다. 특정 타입의 장치는 이들 네임스페이스 내에서 본 개시에 설명된 동기화 프로토콜을 수행한다. 예를 들면, 이러한 서비스에 대한 컬렉션 프리픽스는 다음의 형식을 취한다.In some embodiments, the system facilitates devices in a content-centric network (CCN) and service discovery provided by these devices. The CCN namespace is divided into service types, for example, a printer, a file server, or a music library. Certain types of devices perform the synchronization protocol described in this disclosure within these namespaces. For example, the collection prefix for these services takes the following form:

/parc/services/printers/.../ parc / services / printers / ...

/parc/services/servers/.../ parc / services / servers / ...

/parc/services/music/.../ parc / services / music / ...

이러한 서비스 디스커버리 시스템에서, 노드에 있는 장치(예를 들면 "/parc/marvin" 이름의 프린터)는 공백 매니페스트로 부팅한다. 장치는 자신을 위한 서비스 레코드를 생성하며, 이는 "/parc/marvin/service"의 이름을 갖는 콘텐츠 오브젝트이다. 일부 실시예에서, 이 서비스 레코드는 자바스크립트 오브젝트 표기(JSON) 포맷이고, 다음 필드 중의 하나 이상을 포함할 수 있다: 서비스 레코드의 이름; 서비스의 설명; 서비스 레코드의 버전을 지시하는 일련 번호; 서비스를 광고하는 장치에 의해 주기적으로 재개되지 않는다면 서비스 레코드가 만료되도록, 초 단위로 측정되는 타임투리브(time to live, TTL); 그리고 서비스 레코드의 해시값인, 서비스 레코드에 대한 다이제스트. 서비스 레코드의 크기는 상대적으로 작기 때문에, 일부 실시예에서, 서비스 레코드는 인터레스트 내에 페이로드로서 포함될 수 있다. 또한, 더 높은 일련번호를 갖는 서비스 레코드는 좀 더 최근의 서비스 레코드를 지시하고, 더 낮은 일련번호를 갖는 레코드를 대치한다. 더 오래된 서비스 레코드는 매니페스트 내에 보존되지 않는다.In this service discovery system, a device at a node (for example, a printer named "/ parc / marvin") boots to a blank manifest. The device creates a service record for itself, which is a content object with the name "/ parc / marvin / service ". In some embodiments, the service record is a JavaScript Object Notation (JSON) format and may include one or more of the following fields: the name of the service record; Description of services; A serial number indicating the version of the service record; Time to live (TTL), measured in seconds, to expire the service record if it is not periodically resumed by the device advertising the service; And a digest for the service record, which is the hash value of the service record. Because the size of the service record is relatively small, in some embodiments, the service record may be included as a payload in the inter- est. A service record with a higher serial number also indicates a more recent service record and replaces a record with a lower serial number. Older service records are not kept in the manifest.

장치는 장치의 서비스 레코드 및 서비스 레코드의 대응하는 해시값을 포함하는 매니페스트를 생성한다. 시스템은 루트 해시값을 생성하는데, 이는 컬렉션 내의 콘텐츠 오브젝트의 다이제스트에 기초하는 부가적인 해시값이다. 장치의 매니페스트의 루트 해시값은 초기에 매니페스트 내에 지시된 한 서비스 레코드에 기초한다. 장치는 다음으로 "/parc/services/printers/adv/query" 형식의 질의 광고를 송신하여 그것이 다음을 수행할 수 있도록 한다: 동일한 장치 네임스페이스("parc/services/printers") 내의 다른 장치들의 매니페스트를 검색하고; 세트 차이를 결정하고; 그리고 세트 차이를 해결한다. 이러한 방식으로, 노드에 있는 장치는 그의 매니페스트를 다른 노드에 있는 다른 장치들의 매니페스트와 동기화할 수 있다.The device creates a manifest that contains the service record of the device and the corresponding hash value of the service record. The system generates a root hash value, which is an additional hash value based on the digest of the content object in the collection. The root hash value of the device's manifest is based on a service record initially pointed to in the manifest. The device then sends a query advertisement of the form "/ parc / services / printers / adv / query" to allow it to do the following: Manifest of other devices in the same device namespace ("parc / services / printers" &Lt; / RTI &gt; Determine a set difference; And solve set difference. In this way, a device at a node can synchronize its manifest with the manifests of other devices at other nodes.

일부 실시예에서, 서비스 레코드는 서비스 레코드의 TTL 필드 내에 지시된 시간에 기초하여 만료되도록 설정된다. 이것이 만료되기 전 어떤 시간에, 장치는 순차적으로 더 큰 일련번호를 갖는 새로운 서비스 레코드를 생성하고 이전의 서비스 레코드를 대체할 수 있다. 콘텐츠 아이템을 데이터 컬렉션으로부터 제거하거나 "화이트-아웃"하는 방법에 대한 설명은 미국 특허출원 13/681,306에 포함된다. 시스템은 새로운 서비스 레코드에 기초하여 장치와 연관된 매니페스트에 대한 새로운 루트 해시값을 생성한다. 장치는 다음으로 새로이 생성된 루트 해시값을 사용하여 새로운 서비스 레코드로 갱신된 매니페스트를 광고하고, 그리고 상술한 프로세스를 반복한다. 또한, 서비스 레코드가 만료하면, 예를 들면, TTL이 소멸하면, 모든 장치는 만료된 서비스 레코드를 그들의 매니페스트로부터 제거하고 만료된 서비스 레코드 없는 새로운 해시 광고를 생성한다.In some embodiments, the service record is set to expire based on the time indicated in the TTL field of the service record. At some time before it expires, the device can sequentially create a new service record with a larger serial number and replace the old service record. A description of how to remove or "white-out" an item of content from a data collection is included in U.S. Patent Application No. 13 / 681,306. The system generates a new root hash value for the manifest associated with the device based on the new service record. The device then advertises the updated manifest with the new service record using the newly created root hash value, and repeats the process described above. Also, when the service record expires, for example, when the TTL expires, all devices remove expired service records from their manifests and generate new hash advertisements without expired service records.

일부 실시예에서, 장치가 셧다운될 때, 그것은 0으로 설정된 TTL과 더 큰 일련 번호를 갖는 새로운 서비스를 생성한다. 장치는 갱신된 서비스 레코드에 기초하여 그의 매니페스트를 광고하고 그리고 자신을 광고를 송신한 이후에 즉각적으로 만료되도록 설정하여, 광고를 수신하는 다른 장치가 더 높은 일련번호에 기초하여 이 매니페스트가 가장 최근의 서비스 레코드를 포함한다는 것을 알아채도록 할 수 있다.In some embodiments, when the device is shut down, it creates a new service with a TTL set to zero and a larger serial number. The device advertises its manifest based on the updated service record and sets itself to expire immediately after sending the advertisement so that the other device receiving the advertisement will have the most recent Service records to be included.

일부 실시예에서, 광고된 인터레스트는 페이로드를 포함할 수 있고, 이는 그의 전체에 다음의 형식을 갖는 서비스 레코드를 포함한다. In some embodiments, the advertised interlude may include a payload, which in its entirety includes a service record having the following format: &lt; RTI ID = 0.0 &gt;

"/parc/services/printers/adv/<roothash>/<payload>""/ parc / services / printers / adv / <roothash> / <payload>

도 7은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 네트워크(700)를 보여준다. 네트워크는 클라이언트 장치(716), 콘텐츠 제작 장치(718), 그리고 노드(702, 704, 706, 708, 710, 712, 714)에 있는 라우터나 다른 장치(예를 들면, 프린터)를 포함할 수 있다. 각 노드(702-114)는 하나 이상의 매니페스트를 포함할 수 있다. 예를 들면, 노드(712)는 매니페스트(720)를 포함할 수 있다. 매니페스트(720)는 프리픽스 또는 네임스페이스(724)와 다음 중의 하나 이상에 의해서 식별되는 서비스 레코드의 정렬된 리스트를 포함한다: 서비스 레코드 이름(730.1-730.n); 일련번호(732.1-732.n), 타임투리브(TTL)(734.1-734.n), 그리고 다이제스트(736.1-736.n). 다이제스트(736.1-736.n)는 이름(730.1-730.n)에 의해서 식별되는 서비스 레코드의 해시값을 포함한다. 다이제스트는 서비스 레코드의 SHA-256 해시일 수 있고, 이때, (두 개의 상이한 콘텐츠 오브젝트의 일 방향 해시가 동일한 값을 야기하는) 해시 충돌의 가능성이 충분히 낮아서 다이제스트는 서비스 레코드에 대한 유일한 식별자가 된다. 매니페스트(720)는 또한 루트 해시(722)를 포함하고, 이는 컬렉션의 각 레코드 서비스의 해시값(736.1-736.n)에 기초하는 부가적 해시값이다. 루트 해시(722)는 매니페스트(720)에 대한 유일한 식별자이고 컬렉션 내의 서비스 레코드를 표현한다.Figure 7 shows a network 700 that facilitates service discovery based on synchronization of manifests between devices in a content-centric network, in accordance with an embodiment of the present invention. The network may include a client device 716, a content production device 718 and a router or other device (e.g., a printer) at nodes 702, 704, 706, 708, 710, 712, 714 . Each node 702-114 may include one or more manifests. For example, the node 712 may include a manifest 720. The manifest 720 includes an ordered list of service records identified by a prefix or namespace 724 and one or more of the following: a service record name 730.1-730.n; Serial number (732.1-732.n), time to live (TTL) (734.1-734.n), and digest (736.1-736.n). Digest 736.1-736.n contains the hash value of the service record identified by the name 730.1-730.n. The digest may be a SHA-256 hash of the service record, at which time the probability of a hash collision (where the one-way hash of two different content objects causes the same value) is sufficiently low that the digest is the unique identifier for the service record. The manifest 720 also includes a root hash 722, which is an additional hash value based on the hash value (736.1- 736.n) of each record service in the collection. The root hash 722 is a unique identifier for the manifest 720 and represents the service record in the collection.

장치는 네트워크 상의 어느 노드에도 존재할 수 있으며, 여기서 각 장치는 서비스 레코드의 컬렉션을 표현하는 매니페스트를 운반한다. 두 장치는 데이터의 동일한 컬렉션, 예를 들면, 동일한 네임스페이스에 대한 서비스 레코드를 표현하는 매니페스트를 운반하며, 여기서 매니페스트는 여기 설명되는 방법을 사용하여 동기화될 수 있다. 용어 "로컬 노드"와 "원격 노드"는 콘텐츠-중심 네트워크(CCN) 내의 어느 노드에도 적용할 수 있고 본 개시에서 CCN 내의 두 노드들 간에 차별화를 위하여 사용된다. 유사하게, 용어 "로컬 장치"와 "원격 장치"는 CCN 내의 노드에 있는 장치에 적용될 수 있고 본 개시에서 예시의 목적으로 사용된다.A device may reside at any node in the network, where each device carries a manifest representing a collection of service records. Both devices carry a manifest of the same collection of data, e. G., A service record for the same namespace, where the manifests can be synchronized using the method described herein. The terms "local node" and "remote node " are applicable to any node in the content-centric network (CCN) and are used for differentiation between the two nodes in the CCN in this disclosure. Similarly, the terms "local device" and "remote device" can be applied to a device at a node within a CCN and are used for illustrative purposes in this disclosure.

일부 실시예에서, 인터레스트는 그의 대응하는 다이제스트를 포함하는 한 서비스 레코드를 페이로드로서 포함할 수 있다. CCN 내의 노드 또는 노드의 장치(예를 들면, 장치 716, 장치 718, 노드 702-714)는, 송신 장치의 매니페스트의 루트 해시값과 송신 장치에 대응하는 서비스 레코드를 모두 포함하는 광고인, 인터레스트를 송신하거나 수신할 수 있다. 또한, 노드 또는 장치는, 예를 들면, 송신 장치의 매니페스트의 루트 해시값과 페이로드로서 포함된 송신 장치의 서비스 레코드를 모두 포함하는, 그러한 광고에 대한 질의 또는 요청인 인터레스트를 송신하거나 수신할 수 있다. In some embodiments, the interrest may include as a payload a service record containing its corresponding digest. The device (e.g., device 716, device 718, and nodes 702-714) in the node or node in the CCN is an advertisement that contains both the root hash value of the manifest of the sending device and the service record corresponding to the sending device, Or the like. The node or device may also be configured to send or receive an inter-query that is a query or request for such advertisement, including, for example, both the root hash value of the manifest of the sending device and the service record of the sending device included as the payload .

도 8은 본 발명의 일 실시예에 따른, 장치(702)(원격 장치, "래리")와 장치(706)(로컬 장치, "낸시") 간의 통신(800)을 보여준다. 장치(702)와 장치(706)는 각각 동일한 라우팅 프리픽스 또는 네임스페이스, "/p/prn/"을 갖는 매니페스트를 포함한다. 원격 장치(702)는 이미 네트워크상으로 초기화되었고 적어도 그 자신의 서비스 레코드, "L-SR"을 포함하는 매니페스트("L")를 포함한다고 가정해보자. 로컬 장치(706)는 장치_초기화 프로시저(820)에서 초기화된다. 로컬 장치(706)는 자신을 위한 서비스 레코드, "N-SR"을 생성하고, 그 자신의 서비스 레코드가 포함된 자신을 위한 로컬 매니페스트("N")를 생성한다. 로컬 장치는 또한 자신의 매니페스트에 대한 루트 해시값, "<roothash(N)>"을 생성한다. 로컬 장치(706)는 광고에_대한_질의_송신(822)을 "/p/prn/adv/query"의 형식으로 원격 장치(702)로 송신한다. 네트워크 상의 어느 장치도 광고에 대한 질의를 포함하는 인터레스트를 수신할 수 있다는 것을 주목하라. 로컬 장치(706)는 또한 광고_송신 인터레스트(824)를 전송함으로써, 그 자신의 매니페스트와 서비스 레코드를 광고한다. 이 광고는 그 자신의 매니페스트 "N"의 루트 해시값을 포함하고 그리고 로컬 장치의 서비스 레코드를 페이로드로서 포함한다:"p/prn/adv/<roothash(N)>/<payload=(N-SR)>". (점선으로 도시된) 광고_송신(824)은 로컬 장치(706)에 의해서 반복적으로 전송될 수 있으며, 따라서 초기화 이후에만 발생하는 것은 아니다. 노드나 장치는 가십(gossip) 프로토콜을 사용하여 많은 반복을 갖는 플러딩 세그먼트(flooding segment)를 회피할 수 있다. 예를 들면, 노드는 랜덤 백오프(random backoff)를 선택할 수 있는데, 여기서 제1 노드는 그의 루트 해시를 광고하고 그리고 동일한 루트 해시를 갖는 제2 노드는 또한 그의 루트 해시를 광고한다. 동일한 루트 해시를 갖는 제3 및 연속하는 노드는 그의 루트 해시를 송신하는 것을 억제한다.8 shows a communication 800 between an apparatus 702 (remote device, "Larry") and a device 706 (a local device, "Nancy"), in accordance with an embodiment of the present invention. Apparatus 702 and apparatus 706 each contain a manifest with the same routing prefix or namespace, "/ p / prn /". Suppose that the remote device 702 has already been initialized on the network and includes at least its own service record, a manifest ("L") containing "L-SR". The local device 706 is initialized in the device_initialization procedure 820. [ The local device 706 creates a service record for itself, "N-SR", and generates a local manifest ("N") for itself that contains its own service record. The local device also generates a root hash value, "<roothash (N)>, for its manifest. The local device 706 sends the query for query 822 to the remote device 702 in the form of "/ p / prn / adv / query". Note that any device on the network may receive an interlude that includes a query for the ad. The local device 706 also advertises its own manifest and service record by sending an advertisement_request 824. This ad contains the root hash value of its own manifest "N" and contains the service record of the local device as a payload: "p / prn / adv / <roothash (N)> / <payload = SR)> ". The advertisement_transmission 824 (shown in dashed lines) may be repeatedly transmitted by the local device 706, and therefore does not occur only after initialization. A node or device may use a gossip protocol to avoid a flooding segment with many iterations. For example, a node may choose a random backoff, where the first node advertises its root hash and the second node with the same root hash also advertises its root hash. The third and subsequent nodes with the same root hash suppress transmission of its root hash.

로컬 장치(706)는 광고_수신 인터레스트(826)를 수신할 수 있으며, 이는 인터레스트(824)와 유사한 포맷이며, 원격 장치의 매니페스트의 루트 해시값과 원격 장치의 서비스 레코드 "/p/prn/adv/<roothash(L)>/<payload=(L-SR)>"를 페이로드로서 포함한다. 로컬 장치는 매니페스트_갱신 프로시저(828)를 수행한다. 로컬 장치(706)는, 동일한 컬렉션 프리픽스나 네임스페이스("/p/prn/")에 기초하여, 그의 매니페스트가 동일한 네임스페이스를 광고된 인터페스트의 매니페스트로서 지시하는지 여부를 결정한다. 로컬 장치(706)는, 만일 포함된 서비스 레코드가 로컬 장치(702)가 이미 가지고 있는 것보다 좀더 최근이라면, 인터레스트(826)에 페이로드로서 포함된 광고된 서비스 레코드를 그의 로컬 매니페스트에 삽입함으로써 로컬 매니페스트를 갱신한다. 로컬 장치(706)는 그의 로컬 매니페스트를 위한 새로운 루트 해시값을 생성한다. 만일 새로운 루트 해시값이 인터레스트(826)로부터 광고된 인터레스트의 루트 해시값과 동일하다면, 로컬 장치(706)와 원격 장치(702)의 매니페스트 내의 서비스 레코드의 컬렉션이 동기이다. 따라서, 인터레스트는 원격 장치의 서비스 레코드를 페이로드로서 포함하기 때문에, 원격 및 로컬 매니페스트는 네트워크에 걸쳐서 매니페스트를 이송할 필요 없이 동기화된다. The local device 706 may receive an ad-receiveinterface 826, which is a format similar to the interlaces 824, and includes the root hash value of the manifest of the remote device and the service record "/ p / prn / adv / <roothash (L)> / <payload = (L-SR)> "as a payload. The local device performs the manifest_update procedure 828. Local device 706 determines whether its manifest indicates the same namespace as the advertised manifest manifest, based on the same collection prefix or namespace ("/ p / prn /"). Local device 706 may be configured to insert an advertised service record included as a payload into the local manifest 826 if the included service record is more recent than the local device 702 already has Update the local manifest. Local device 706 generates a new root hash value for its local manifest. If the new root hash value is equal to the advertised root hash value from the interlace 826, then the collection of service records in the manifests of the local device 706 and remote device 702 is synchronous. Thus, because the intercept includes the service record of the remote device as a payload, the remote and local manifests are synchronized without having to transport the manifest across the network.

만일 로컬 장치(706)의 새로운 루트 해시값이 광고된 인터페스트(826)의 루트 해시값과 동일하지 않다면, 로컬 장치(706)는 도 1-6과 관련하여 설명된 방법을 사용하여 세트 조정을 수행한다. 로컬 장치(706)는, ("/p/prn/data/<roothash(L)>" 형식의) 원격_매니페스트_요청 인터레스트(842)를 송신하고 ("/p/prn/data/<roothash(L)>" 형식의) 원격_매니페스트_수신 인터레스트(844)를 수신함으로써, 매니페스트_검색 프로시저(840)를 수행한다. 로컬 장치(706)는 세트_차이_결정 프로시저(846)를 수행하여 원격 매니페스트 내에 표현된 어떤 서비스 레코드가 그의 로컬 매니페스트 내에 표현된 서비스 레코드와 상이한지를 결정한다. 로컬 장치(706)는, ("p/prn/data/name 730.3>" 형식의) 세트_차이_요청 인터레스트(850)를 송신하고 ("p/prn/data/name 730.3+payload" 형식의) 세트_차이_수신 인터레스트(852)를 수신함으로써, 세트_차이_해결 프로시저(848)를 수행한다.If the new root hash value of the local device 706 is not equal to the root hash value of the advertised interfast 826, then the local device 706 may perform the set adjustments using the method described with respect to FIGS. . Local device 706 sends a Remote_Manifest_request 842 request (of the form / p / prn / data / <roothash (L)>) Manifest search procedure 840 by receiving a remote_manifest_receive 844 (of the form (L)>). Local device 706 performs set_difference determination procedure 846 to determine which service record represented in the remote manifest is different from the service record represented in its local manifest. Local device 706 sends a set_difference_request 850 (of the form "p / prn / data / name 730.3 & ) Set_difference_receive procedure 858 by receiving the set_difference_receive_receive_receive 852.

도 9a는 본 발명의 일 실시예에 따른, 네트워크 내의 두 장치의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 방법을 보여주는 흐름도(900)이다. 로컬 장치는 네트워크 상에 초기화된다(동작 902). 로컬 장치는 자신을 위한 서비스 레코드를 생성하며, 이는 서비스 레코드의 이름, 일련번호, 타임투리브(TTL), 그리고 다이제스트를 포함한다(동작 904). 로컬 장치는 로컬 장치의 서비스 레코드를 포함하는 로컬 매니페스트를 생성하고(동작 906) 그리고 매니페스트에 포함된 서비스 레코드의 다이제스트에 기초하여 로컬 매니페스트에 대한 루트 해시값을 생성한다(동작 908). 로컬 장치는 동일한 네임스페이스 내의 다른 장치의 매니페스트의 루트 해시를 검색하도록 질의 광고를 송신한다(동작 910). 로컬 장치는 로컬 매니페스트에 대응하는 광고를 전송하며, 이때 광고는 로컬 매니페스트의 루트 해시값을 포함하고 로컬 서비스 레코드를 페이로드로서 운반한다(동작 912). 로컬 장치는 원격 매니페스트에 대응하는 광고를 수신하고, 광고는 원격 매니페스트의 루트 해시값을 포함하고 원격 서비스 레코드를 페이로드로서 운반한다(동작 914). 9A is a flow diagram 900 illustrating a method for facilitating service discovery based on synchronization of manifests of two devices in a network, in accordance with an embodiment of the present invention. The local device is initialized on the network (act 902). The local device generates a service record for itself, which includes the name, serial number, time to live (TTL), and digest of the service record (act 904). The local device creates a local manifest containing the service record of the local device (act 906) and generates a root hash value for the local manifest based on the digest of the service record contained in the manifest (act 908). The local device sends a query advertisement to retrieve the root hash of the manifest of the other device in the same namespace (act 910). The local device sends an advertisement corresponding to the local manifest, which contains the root hash value of the local manifest and carries the local service record as a payload (act 912). The local device receives the advertisement corresponding to the remote manifest, and the advertisement contains the root hash value of the remote manifest and carries the remote service record as a payload (act 914).

로컬 장치는 로컬 및 원격 매니페스트가 동일한 네임스페이스에 대응한다고 결정한다(동작 916). 일부 실시예에서, 로컬 장치는 로컬 매니페스트가 광고된 서비스 레코드와 동일한 이름을 갖는 서비스 레코드를 포함하는지 여부를 결정한다(동작 918). 만일 로컬 매니페스트가 그러한 서비스 레코드를 포함하지 않는다면(동작 920), 로컬 장치는 페이로드로부터의 광고된 서비스 레코드를 로컬 매니페스트로 삽입함으로써 로컬 매니페스트를 갱신한다(동작 926). 만일 로컬 매니페스트가 그러한 서비스 레코드를 포함한다면(동작 920), 로컬 장치는 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스의 일련번호보다 더 큰지 여부를 결정한다(동작 922). 만일 더 크지 않다면(결정 924), 방법은 로컬 장치에 포함된 버전이 좀더 최근이므로 복귀한다. The local device determines that the local and remote manifests correspond to the same namespace (act 916). In some embodiments, the local device determines whether the local manifest includes a service record having the same name as the advertised service record (act 918). If the local manifest does not include such a service record (act 920), the local device updates the local manifest by inserting the advertised service record from the payload into the local manifest (act 926). If the local manifest includes such a service record (act 920), then the local device determines whether the serial number of the advertised service record is greater than the serial number of the service of the same name in the local manifest (act 922). If not greater (decision 924), the method returns because the version contained in the local device is more recent.

만일 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스의 일련번호보다 더 크다면(결정 924), 로컬 장치는 현재의 일련번호가 현재 네트워크에 알려진 일련번호보다 더 크도록 로컬 서비스 레코드를 갱신한다(동작 926). 일부 실시예에서, 이 조건은, 만일 장치가 재부팅되어 메모리를 잃는다면, 그의 일련번호가 장애 이전에 마지막으로 광고된 것보다 더 적게 초기화되도록, 존속할 수 있다. 로컬 장치는 다음으로 갱신된 서비스 레코드를 로컬 매니페스트로 삽입함으로써 로컬 매니페스트를 갱신한다(동작 927). 콘텐츠 아이템을 데이터 컬렉션으로부터 제거하거나 "화이트_아웃(white-out)"하는 방법에 대한 설명은 미국 특허출원 13/681,306에 포함되어 있다.If the serial number of the advertised service record is greater than the serial number of the service of the same name in the local manifest (decision 924), then the local device determines that the current serial number is greater than the current serial number (Operation 926). In some embodiments, this condition may persist so that if the device is rebooted and loses memory, its serial number is initialized less than the last advertised prior to the failure. The local device updates the local manifest by inserting the next updated service record into the local manifest (act 927). A description of how to remove content items from a collection of data or "white-out" is included in U.S. Patent Application No. 13 / 681,306.

도 9b는 도 9a의 흐름도(900)에 도시된 방법을 계속해서 설명하는 흐름도(950)이다. 그의 로컬 매니페스트를 갱신한 이후에(동작 926), 로컬 장치는 로컬 매니페스트에 대한 새로운 루트 해시값을 생성한다(동작 928). 로컬 장치는 새로운 루트 해시값이 광고된 인터페스트에 포함된 원격 매니페스트의 루트 해시값과 상이한지 여부를 결정한다(동작 930). 만일 해시값이 상이하지 않다면(결정 932), 방법은 원격 매니페스트와 로컬 매니페스트가 동기이기 때문에 복귀한다. 만일 해시값이 상이하다면(결정 932), 로컬 장치는 도 1-6과 관련하여 설명된 세트 조정과 매니페스트 이송을 수행한다. 로컬 장치는 광고된 인터레스트의 루트 해시값에 기초하여 요청을 송신하고 원격 매니페스트를 수신한다(동작 934). 로컬 장치는 원격 매니페스트 내에 표현된 어떤 서비스 레코드가 로컬 매니페스트에 표현된 서비스 레코드와 상이한지 결정한다(동작 936). 차이 결정에 응답하여, 로컬 장치는 상이한 서비스 레코드에 대한 인터레스트의 세트를 전송하고(동작 938), 요청된 서비스 레코드의 세트를 수신한다(동작 940).FIG. 9B is a flowchart 950 that continues to illustrate the method shown in flowchart 900 of FIG. 9A. After updating its local manifest (act 926), the local device generates a new root hash value for the local manifest (act 928). The local device determines whether the new root hash value is different from the root hash value of the remote manifest contained in the advertised inter- action (act 930). If the hash value is not different (decision 932), the method returns because the remote manifest and the local manifest are synchronous. If the hash values are different (decision 932), the local device performs the set coordination and manifest transport described in connection with FIGS. 1-6. The local device sends a request based on the advertised interlude's root hash value and receives the remote manifest (act 934). The local device determines which service record represented in the remote manifest differs from the service record represented in the local manifest (act 936). In response to the difference determination, the local device transmits a set of interactions for different service records (act 938) and receives a set of requested service records (act 940).

도 10a는 본 발명의 일 실시예에 따른, 컬렉션 내에 표현된 매니페스트(720)와 서비스 레코드의 포맷을 묘사하는 테이블을 보여준다. 매니페스트(720)는 프리픽스나 네임스페이스(724)를 포함하고 다음의 하나 이상에 의해 식별된 서비스 레코드의 정렬된 리스트를 포함한다:서비스 레코드 이름(730.1-730.n); 일련번호(732.1-732.n); 타임투리브(TTL)(734.1-734.n); 그리고 다이제스트(736.1-736.n). 다이제스트(736.1-736.n)는 이름(730.1-730.n)에 의해 각각 식별되는 콘텐츠 오브젝트의 해시값을 포함한다. 다이제스트는 콘텐츠 오브젝트의 SHA-256 해시일 수 있으며, 이때 (두 개의 상이한 콘텐츠 오브젝트의 일 방향 해시가 동일한 값을 야기하는) 해시 충돌의 가능성이 충분히 낮아서 다이제스트는 콘텐츠 오브젝트에 대한 유일한 식별자가 된다. 매니페스트(720)는 또한 루트 해시(722)를 포함하고, 이는 컬렉션의 각 콘텐츠 오브젝트의 해시값(736.1-736.n)에 기초하는 부가적 해시값이다. 루트 해시(722)는 매니페스트(720)에 대한 유일한 식별자이고 컬렉션 내의 서비스 레코드를 표현한다. 이하의 예에서, 루트 해시값과 다이제스트는 괄호안의 번호, 예를 들면, "{222}"로서 지시되지만, 그러나 그 숫자는 이보다 훨씬 클 수 있다. 추가로, 시간에 따라 변하는 서비스 레코드의 다이제스트와 도 10b-10d의 매니페스트(740, 760, 780)의 루트 해시값은 부가적인 해시값의 동일한 표현으로서만 묘사된다.FIG. 10A shows a table depicting the format of a service record and manifest 720 represented in the collection, according to an embodiment of the present invention. The manifest 720 includes an ordered list of service records including a prefix or namespace 724 and identified by one or more of the following: a service record name 730.1-730.n; Serial number (732.1-732.n); Time to rib (TTL) (734.1-734.n); And Digest (736.1-736.n). Digests 736.1-736.n contain hash values of the content objects each identified by name 730.1-730.n. The digest may be a SHA-256 hash of the content object, where the likelihood of a hash collision (where the one-way hash of two different content objects causes the same value) is sufficiently low that the digest is the unique identifier for the content object. The manifest 720 also includes a root hash 722, which is an additional hash value based on the hash value (736.1- 736.n) of each content object in the collection. The root hash 722 is a unique identifier for the manifest 720 and represents the service record in the collection. In the following example, the root hash values and digests are indicated as numbers in parentheses, e.g., "{222}", but the number may be much larger. In addition, the time-varying digest of the service record and the root hash values of the manifests 740, 760, 780 of Figures 10b-10d are depicted only as an equivalent representation of the additional hash value.

도 10b는 본 발명의 일 실시예에 따른, 로컬 장치가 원격 매니페스트를 검색할 필요 없는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다. 시간 T1에서, "/parc/larry"("래리")라는 이름의 프린터는 노드(702)에서 동작하고, 그리고 "/parc/marvin"("마빈")라는 이름의 프린터는 노드(704)에서 동작한다. 프린터 래리와 마빈은 모두 네임 스페이스 "/parc/services/printer"에 속하고, 따라서 각각은 동일한 네임스페이스내에 모든 다른 매니페스트를 갖는 동기화를 요구하는 매니페스트를 포함한다. 래리라는 이름의 프린터, 또는 장치와 연관된 매니페스트(740)는 장치 래리에 대응하는 한 서비스 레코드를 포함한다. 래리에 대응하는 서비스 레코드는 "L-SR"의 이름, 일련번호 1, 그리고 {22}의 대응하는 다이제스트로 표기된다. 매니페스트(170)의 루트 해시값은 {222}이다. 마빈이라는 이름의 프린터, 또는 장치와 연관된 매니페스트(780)는 장치 마빈에 대응하는 한 서비스 레코드를 포함한다. 마빈에 대응하는 서비스 레코드는 "M-SR"의 이름, 일련번호 7, 그리고 {11}의 대응하는 다이제스트로 표기된다. 매니페스트(780)의 루트 해시값은 {111}이다. Figure 10B shows a table depicting the format of two manifests during service discovery using a synchronization protocol, where the local device does not need to retrieve the remote manifest, in accordance with an embodiment of the present invention. At time T1, a printer named "/ parc / larry" ("Larry") operates at node 702 and a printer named "/ parc / marvin" . Printers Larry and Marvin both belong to the namespace "/ parc / services / printer", and thus each contains a manifest that requires synchronization with all other manifests in the same namespace. A printer named Larry, or a manifest 740 associated with the device, contains a service record corresponding to the device Larry. The service record corresponding to the Larry is denoted by the name of the "L-SR", the serial number 1, and the corresponding digest of {22}. The root hash value of the manifest 170 is {222}. A printer, or a manifest 780 associated with a device named Marvin, contains a service record corresponding to the device Marvin. The service record corresponding to Marvin is denoted by the name of the "M-SR", the serial number 7, and the corresponding digest of {11}. The root hash value of the manifest 780 is {111}.

동작 동안, 시간 T1에서, 래리는 형식 "/parc/services/printer/adv/<roothash={222}>/<payload=(L-SR)>"로 광고를 송신한다. 마빈은 이 광고를 수신하고 그의 매니페스트(780)에 광고 내에 페이로드로서 포함된 서비스 레코드 "L-SR"이 누락되었다고 결정한다. 시간 T2에서, 마빈은 서비스 레코드 "L-SR"을 그의 매니페스트(780)로 삽입하고 매니페스트("M-SR"과 "L-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(780)에 대한 새로운 루트 해시값을 생성한다. 이것은 {111}->{33}으로 묘사된다.During operation, at time T1, the Larry sends an advertisement to the format "/ parc / services / printer / adv / <roothash = {222}> / <payload = (L-SR)>". Marvin receives this ad and determines in his manifest 780 that the service record "L-SR" contained as a payload in the advertisement is missing. At time T2, Marvin inserts the service record "L-SR" into his manifest 780 and, based on the hash value of the existing service record indicated in the manifest ("M-SR" and "L- Lt; RTI ID = 0.0 &gt; 780 &lt; / RTI &gt; This is described as {111} -> {33}.

시간 T2에서, 새로운 루트 해시값 {33}을 갖는, 매니페스트(780)는, 루트 해시값 {222}를 갖는, 광고된 매니페스트(740)와 동기가 아니다. 마빈은 "/parc/services/printer/adv/<roothash={33}>/<payload=(M-SR)>" 형식의 광고를 송신한다. 래리는 이 광고를 수신하고 그의 매니페스트(740)에 광고 내에 페이로드로서 포함된 서비스 레코드 "M-SR"이 누락되었다고 결정한다. 시간 T3에서, 래리는 서비스 레코드 "M-SR"을 그의 매니페스트(740)로 삽입하고 매니페스트(740)("M-SR"과 "L-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(740)에 대한 새로운 루트 해시값을 생성한다. 이것은 {222}->{33}으로 묘사된다. 이러한 방식으로, 노드(702, 704)의 장치 래리와 마빈은, 각 장치가 다른 장치로부터 완전한 매니페스트를 다운로딩할 필요없이, 서로 그들의 각 매니페스트(740, 780)를 동기화하였다. At time T2, the manifest 780 with the new root hash value {33} is not synchronized with the advertised manifest 740 with the root hash value {222}. Marvin sends an ad of the form "/ parc / services / printer / adv / <roothash = {33}> / <payload = (M-SR)>". Larry receives this ad and determines in his manifest 740 that the service record "M-SR" contained as a payload in the advertisement is missing. At time T3, the Larry inserts the service record "M-SR" into its manifest 740 and adds the hash value of the existing service record indicated in the manifest 740 ("M-SR" and "L- And generates a new root hash value for the manifest 740 based on the new root hash value. This is described as {222} -> {33}. In this manner, the devices Larry and Marvin of nodes 702 and 704 synchronized their respective manifests 740 and 780 with each other without having to download the complete manifest from each other.

도 10c는 본 발명의 일 실시예에 따른, 로컬 장치가 원격 장치로부터 갱신된 서비스 레코드를 수신하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다. 시간 T4에서, 매니페스트(740, 780)는 서로 동기이고, 둘 다 루트 해시 {33}을 유지한다. 시간 T5에서, 래리는 그 자신의 서비스 레코드 "L-SR"을 갱신하고 일련번호 2와 새로운 다이제스트 {72}를 할당한다. 래리는 매니페스트(740)(갱신된 "L-SR" 그리고 "M-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(740)에 대한 새로운 루트 해시값을 생성한다. 이것은 {33}->{105}로 묘사된다. 래리는 "/parc/services/printer/adv/<roothash={105}>/<payload=(L-SR)>"의 형식으로 광고를 송신한다. 마빈은 이 광고와 다이제스트 {72}로 갱신된 래리의 서비스 레코드를 수신하고, 그의 매니페스트(780)가 광고에 포함된 서비스 레코드의 일련번호("2")보다 더 작은 일련 번호("1")을 갖는 "L-SR"의 버전을 유지하고 있다고 결정한다. 시간 T6에서, 마빈은 매니페스트(780) 내에서 이름 "L-SR"과 일련번호 1을 갖는 서비스 레코드를, 일련번호 2와 다이제스트 {72}를 갖는, 매니페스트(740)의 광고된 서비스 레코드로 갱신함으로써 매니페스트(780)를 갱신한다. 마빈은 매니페스트(780)에 대한 새로운 루트 해시값을 생성하는데, 이는 {33}->{105}로 표시된다. 따라서 노드(702, 704)에서 장치 래리와 마빈은 각 장치가 다른 장치로부터 전체 매니페스트를 다운로딩할 필요없이 서로 그들의 각 매니페스트를 동기화하였다.Figure 10C shows a table depicting the format of two manifests during service discovery using a synchronization protocol, in which a local device receives an updated service record from a remote device, in accordance with an embodiment of the present invention. At time T4, the manifests 740 and 780 are synchronous with each other, and both maintain the root hash {33}. At time T5, the Larry updates its own service record "L-SR" and assigns a serial number 2 and a new digest &lt; 72 &gt;. Larry generates a new root hash value for manifest 740 based on the hash value of the existing service record indicated in manifest 740 (updated "L-SR" and "M-SR"). This is described as {33} -> {105}. Larry sends the ad in the format "/ parc / services / printer / adv / <roothash = {105}> / <payload = (L-SR)>". Marvin receives Larry's service record updated with this ad and Digest {72}, and his manifest 780 receives a serial number ("1") smaller than the serial number (" Quot; L-SR "having " L-SR &quot; At time T6, Marvin updates the service record with the name "L-SR" and serial number 1 in the manifest 780 to the advertised service record in manifest 740, with serial number 2 and digest &lt; Thereby updating the manifest 780. Marvin generates a new root hash for the manifest (780), which is denoted by {33} -> {105}. Thus, at nodes 702 and 704, device Larry and Marvin synchronized their respective manifests with each other without having to download the entire manifest from each device.

도 10d는 본 발명의 일 실시예에 따른, 로컬 장치가 초기화하고, 서비스 디스커버리를 수행하고, 원격 매니페스트를 검색하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.Figure 10D shows a table depicting the format of two manifests during service discovery using a synchronization protocol, in which a local device initiates, performs service discovery, and retrieves a remote manifest, in accordance with an embodiment of the present invention.

도 10c의 시간 T6에서, 래리와 마빈이라는 이름의 장치는, 노드(702, 704)에서 각 매니페스트(740, 780)와 함께 동작한다. 매니페스트(740, 780)는 동기이고, 각각은 일련번호 2와 다이제스트 {72}를 갖는 래리("L-SR")의 서비스 레코드와 일련번호 7과 다이제스트 {11}을 갖는 마빈("M-SR")의 서비스 레코드를 포함한다. 매니페스트(740, 780)의 루트 해시는 {105}이다.At time T6 in FIG. 10C, a device named Larry and Marvin operates with each manifest 740, 780 at nodes 702, 704. Manifests 740 and 780 are synchronous and each has a service record of a Larry ("L-SR") with sequence number 2 and Digest {72}, Marvin ("M-SR" ") &Lt; / RTI &gt; The root hash of the manifests 740 and 780 is {105}.

도 10d에 도시된 시간 T7에서, 장치 래리는 노드(702)에서 매니페스트(740)로 동작중이며, 이는 두 개의 서비스 레코드: 이름 "L-SR", 일련번호 2, 다이제스트 {72}를 갖는 래리에 대한 서비스 레코드; 이름 "M-SR", 일련번호 7, 다이제스트 {11}을 갖는 마빈에 대한 서비스 레코드를 포함한다. 매니페스트(740)의 루트 해시값은 {105}이다. 시간 T7에서, (도 10d에 도시되지 않은) 마빈에 대한 매니페스트는 래리의 매니페스트(740)와 동기이다. 시간 T7에서, "/parc/nancy"("낸시")의 이름을 갖는 프린터가 부팅되고 노드(706)에서 동작한다. 장치 낸시는 래리 및 마빈과 동일한 네임스페이스 "parc/services/printers"에 속한다. 낸시는 자신을 위한 서비스 레코드를 생성하는데, 이는 "N-SR"의 이름, 일련번호 1, 대응하는 다이제스트 {65}를 갖는 서비스 레코드이다. 낸시는 새롭게 생성된 서비스 레코드를 포함하는 매니페스트(760)를 생성하고 매니페스트에 대한 루트 해시값 {165}를 생성한다. 낸시는 다음으로 "/parc/services/printers/adv/query" 형식의 광고 질의를 네임스페이스 "parc/services/printers"에 대하여 네트워크로 송신한다. 낸시는 래리로부터 "/parc/printers/adv/<roothash={105}>/<payload=(L-SR)>" 형식의 광고를 수신한다. 낸시는 이 광고를 수신하고 그리고 그의 매니페스트(760)에 광고된 해시에 페이로드로서 포함된 서비스 레코드 "L-SR"이 누락되었다고 결정한다. 시간 T8에서, 낸시는 서비스 레코드 "L-SR"을 그의 매니페스트(760)로 삽입하고 매니페스트("N-SR"과 "L-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(760)에 대한 새로운 루트 해시값을 생성한다. 이것은 {165}->{200}로 묘사된다. 낸시는 그의 매니페스트(190)의 루트 해시{200}이 광고된 인터레스트의 루트 해시{105}와 동일하지 않다고 결정하며, 따라서 낸시는 이하 설명되는 방법을 사용하여 완전한 세트 조정을 수행한다.At time T7, shown in FIG. 10d, the device Larry is operating on a manifest 740 at node 702, which is running on a Larry with two service records: name "L-SR", serial number 2, digest 72 Service records for; And a service record for Marvin having the name "M-SR ", serial number 7, digest &lt; 11} The root hash value of manifest 740 is {105}. At time T7, the manifest for Marvin (not shown in Figure 10D) is synchronized with Larry's manifest 740. At time T7, the printer with the name "/ parc / nancy" ("Nancy") is booted and operates at node 706. Device Nancy belongs to the same namespace "parc / services / printers" as Larry and Marvin. Nancy creates a service record for her, which is a service record with the name of "N-SR", serial number 1, and corresponding digest {65}. Nancy generates a manifest 760 containing the newly created service record and generates a root hash value {165} for the manifest. Nancy then sends an ad query of the form "/ parc / services / printers / adv / query" to the network for the namespace "parc / services / printers". Nancy receives an advertisement from Larry in the form of "/ parc / printers / adv / <roothash = {105}> / <payload = (L-SR)>". Nancy receives this ad and determines that the service record "L-SR" contained as a payload in the hash advertised in its manifest 760 is missing. At time T8, the Nancy inserts the service record "L-SR" into its manifest 760 and, based on the hash value of the existing service record indicated in the manifest ("N-SR" and "L- (760). &Lt; / RTI &gt; This is described as {165} -> {200}. Nancy decides that the root hash {200} of his manifest 190 is not the same as the advertised root hash {105} of the advertised, and so the Nancy performs a complete set adjustment using the method described below.

낸시는, 청킹 프로토콜에 기초하여,Based on the chunking protocol,

"parc/services/printers/data/<roothash={105}>/S0","parc / services / printers / data / <roothash = {105}> / S0"

"parc/services/printers/data/<roothash={105}>/S1""parc / services / printers / data / <roothash = {105}> / S1"

"parc/services/printers/data/<roothash={105}>/S2" 등의 형식으로, 인터레스트의 세트를 송신함으로써 루트 해시값 {105}를 갖는 매니페스트를 검색하고, 그리고 요청된 콘텐츠 오브젝트를it searches the manifest with the root hash value {105} by sending a set of intercepts in the form "parc / services / printers / data / <roothash = {105}> / S2"

"parc/services/printers/data/<roothash={105}>/S0+payload" 등의 형식으로 수신한다. 낸시는 다음으로 상이한 서비스 레코드를 결정하고, 상이하다고 결정된 서비스 레코드에 대한 인터레스트의 세트를 전송한다. 이 예에서, 낸시는 누락된 서비스 레코드는 일련번호 7과 대응하는 다이제스트 {11}을 갖는 "M-SR"이라는 이름의, 마빈에 대응하는 것이라고 결정한다. 낸시는"parc / services / printers / data / <roothash = {105}> / S0 + payload". The Nancy then determines the different service records and sends a set of interludes to the service records determined to be different. In this example, Nancy determines that the missing service record corresponds to a Marvin named "M-SR" with a serial number 7 and a corresponding digest {11}. Nancy

"/parc/services/printers/data/M-SR"의 형식으로 인터레스트를 전송하고, 답으로"/parc/services/printers/data/<payload=(M-SR)>"의 형식으로 콘텐츠 오브젝트를 수신한다. 시간 T9에서, 낸시는 서비스 레코드 "M-SR"을 그의 매니페스트(760)으로 삽입하고 그리고 매니페스트("L-SR", "M-SR", "N-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(760)에 대한 새로운 루트 해시값을 생성한다. 이것은 {200}->{420}으로 묘사된다. 그러나, 장치 낸시의 루트 해시 {420}을 갖는 매니페스트(760)는, 루트 해시 {105}를 갖는 래리의 매니페스트(740)(그리고 아마도 도 10c의 시간 T6에 묘사된, 마빈의 매니페스트(780)와 같은, 다른 매니페스트)와 동기가 아니다. 낸시는 다음으로 The content objects are sent in the format of "/ parc / services / printers / data / <payload = (M-SR)>" . At time T9, the Nancy inserts the service record "M-SR" into its manifest 760 and adds the existing service record indicated in the manifest (L-SR, M- And generates a new root hash value for manifest 760 based on the hash value of &lt; RTI ID = 0.0 &gt; This is described as {200} -> {420}. However, the manifest 760 with the root hash {420} of the device nancy has a manifest 740 of Larry with the root hash {105} (and possibly with the Marvin's manifest 780, depicted at time T6 in FIG. The same, different manifest). Next to Nancy

"/parc/services/printers/adv/<roothash={420}>/<payload=(N-SR)>" 형식의 광고를 송신하고, 래리(그리고 마빈과 네트워크 상의 다른 장치들)는 이 광고를 수신하고 그의 각 매니페스트를 이 광고에 페이로드로서 포함된 낸시의 서비스 레코드("N-SR")로 갱신한다. 시간 T10에서, 래리는 다이제스트 {65}를 갖는 낸시의 서비스 레코드, N-SR을 매니페스트(740)로 삽입하고 그리고 동일한 새로운 루트 해시값 {420}을 생성한다. 이것은 {105}->{420}으로 표시된다. 마빈 역시 다이제스트 {65}를 갖는 N-SR을 매니페스트(780)로 삽입할 수 있고, 그리고 또한 동일한 새로운 루트 해시값 {420}을 생성할 수 있다는 것을 주목하라. 따라서, 노드(706)의 새로운 장치 낸시와 노드(702, 704)의 현존하는 장치 래리와 마빈은 매니페스트를 이송할 필요없이 서비스 레코드를 포함하는 광고를 사용함으로써, 또한 도 1-6과 관련하여 설명된 매니페스트의 이송에 기초하여 컬렉션 동기화 프로토콜을 사용함으로써, 그들의 매니페스트를 서로 동기화 하였다.(and other devices on the network) send an advertisement of the form "/ parc / services / printers / adv / <roothash = {420}> / <payload = (N-SR)>" And updates each manifest thereof with the Nancy's service record ("N-SR") included as a payload in this advertisement. At time T10, Larry inserts Nancy's service record, N-SR, with digest {65} into manifest 740 and generates the same new root hash value {420}. This is denoted by {105} -> {420}. Note that Marvin can also insert N-SR with digest {65} into manifest 780 and also generate the same new root hash value {420}. Thus, the existing device Larry and Marvin of node 706 and the new device nancy 702, 704 of node 706 can also use the advertisement containing the service record without having to transport the manifest, By using the collection synchronization protocol based on the transfer of the manifests, their manifests were synchronized with each other.

도 11은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 컴퓨터 통신 시스템을 보여준다. 컴퓨터 통신 시스템(1102)은 프로세스(1104), 메모리(1106), 그리고 저장 장치(1108)를 포함한다. 메모리(1106)는 관리된 메모리로서 제공되는 휘발성 메모리(예를 들면, RAM)를 포함할 수 있고, 그리고 하나 이상의 메모리 풀을 저장하도록 사용될 수 있다. 또한 컴퓨터 통신 시스템(1102)은 디스플레이 장치(1110), 키보드(1112), 그리고 포인팅 장치(1114)에 커플링될 수 있다. 저장 장치(1108)는 운영 체제(1116), 콘텐츠-프로세싱 시스템(1118), 그리고 데이터(1132)를 저장할 수 있다. Figure 11 shows a computer communication system that facilitates service discovery based on synchronization of manifests between devices in a content-centric network, in accordance with an embodiment of the present invention. The computer communication system 1102 includes a process 1104, a memory 1106, and a storage device 1108. Memory 1106 may include volatile memory (e.g., RAM) provided as a managed memory, and may be used to store one or more memory pools. Computer communication system 1102 may also be coupled to display device 1110, keyboard 1112, and pointing device 1114. Storage device 1108 may store operating system 1116, content-processing system 1118, and data 1132.

콘텐츠-프로세싱 시스템(1118)은 컴퓨터 통신 시스템(1102)에 의해 실행될 때, 컴퓨터 통신 시스템(1102)이 본 개시에 설명된 방법 및/또는 프로세스를 수행하도록 유발할 수 있는 명령을 포함할 수 있다. 특히, 콘텐츠-프로세싱 시스템(1118)은 원격 노드의 원격 매니페스트에 대응하는 광고를 수신하는 명령을 포함할 수 있고, 이때 광고는 원격 장치에 대응하는 서비스 레코드를 포함한다(광고 메커니즘 1122). 콘텐츠-프로세싱 시스템(1118)은 로컬 장치의 로컬 매니페스트에 대응하는 광고를 전송하는 명령을 포함할 수 있고, 이때 광고는 로컬 장치에 대응하는 서비스 레코드를 포함한다(광고 메커니즘 1122). 콘텐츠-프로세싱 시스템(1118)은 또한, 갱신된 로컬 매니페스트에 대응하는 광고를 전송하는 명령을 포함할 수 있고, 이때 매니페스트는 매니페스트 내의 서비스 레코드의 타임투리브(TTL) 의 발생에 따라 삭제되는 서비스 레코드에 기초하여 갱신된다(광고 매커니즘 1122).The content-processing system 1118, when executed by the computer communication system 1102, may include instructions that may cause the computer communication system 1102 to cause the method and / or process described in this disclosure to occur. In particular, the content-processing system 1118 may include an instruction to receive an advertisement corresponding to the remote manifest of the remote node, wherein the advertisement includes a service record corresponding to the remote device (advertisement mechanism 1122). The content-processing system 1118 may include an instruction to send an advertisement corresponding to the local manifest of the local device, wherein the advertisement includes a service record corresponding to the local device (advertisement mechanism 1122). The content-processing system 1118 may also include an instruction to send an advertisement corresponding to the updated local manifest, wherein the manifest is a service record that is deleted in response to the occurrence of a time-to-live (TTL) (Ad mechanism 1122).

콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 매니페스트와 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 원격 매니페스트의 광고된 서비스 레코드를 로컬 매니페스트에 삽입함으로써, 로컬 장치의 로컬 매니페스트를 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 매커니즘 1124). 콘텐츠-프로세싱 시스템(1118)은 또한, 원격 장치로부터의 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스 레코드의 일련번호보다 더 크다는 결정에 응답하여, 로컬 매니페스트 내의 서비스 레코드의 값을 원격 장치로부터 광고된 서비스 레코드의 값으로 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 메커니즘 1124). 콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 매니페스트 내의 서비스 레코드의 타임투리브(TTL)의 발생에 응답하여, 로컬 매니페스트로부터 서비스 레코드를 삭제함으로써 로컬 매니페스트를 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 매커니즘 1124).The content-processing system 1118 may also include a command to update the local manifest of the local device by inserting the advertised service record of the remote manifest into the local manifest, in response to the determination that the local manifest and the remote manifest correspond to the same namespace (Manifest update mechanism 1124). The content-processing system 1118 may also be configured to send the value of the service record in the local manifest to the remote server in response to a determination that the serial number of the advertised service record from the remote device is greater than the serial number of the service record of the same name in the local manifest. With the value of the service record advertised from the device (manifest update mechanism 1124). The content-processing system 1118 may also include instructions to update the local manifest by deleting the service record from the local manifest in response to the occurrence of a time-to-live (TTL) of the service record in the local manifest Mechanism 1124).

콘텐츠-프로세싱 시스템(1118)은 원격 장치의 원격 매니페스트에 대응하는 광고에 대한 질의를 전송하고, 그리고 로컬 매니페스트에 대응하는 광고에 대하여 원격 장치로부터 질의를 수신하는 명령을 더 포함할 수 있으며, 이때 광고는 장치에 대응하는 서비스 레코드를 포함한다(질의 메커니즘 1126). The content-processing system 1118 may further comprise instructions to send a query for an advertisement corresponding to the remote manifest of the remote device and receive a query from the remote device for an advertisement corresponding to the local manifest, Includes a service record corresponding to the device (query mechanism 1126).

콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 장치에 의해서, 초기화하고, 로컬 장치에 대응하는 서비스 레코드를 생성하고, 그리고 서비스 레코드가 포함되는 로컬 장치에 대한 매니페스트를 생성하는 명령을 포함할 수 있다(초기화 메커니즘 1128). The content-processing system 1118 may also include instructions to initialize by the local device, generate a service record corresponding to the local device, and generate a manifest for the local device containing the service record ( Initialization mechanism 1128).

콘텐츠-프로세싱 시스템(1118)은 또한, 원격 매니페스트에 대한 요청을 송신하고, 원격 매니페스트를 수신하고, 원격 매니페스트와 연관된 콘텐츠 오브젝트나 서비스 레코드에 대한 요청을 송신하고, 그리고 원격 매니페스트와 연관된 요청된 콘텐츠 오브젝트나 서비스 레코드를 수신하는 명령을 포함할 수 있다(통신 메커니즘 1120). 콘텐츠-프로세싱 시스템(1118)은, 청킹 프로토콜(chunking protocol)에 기초하여, 원격 매니페스트를 검색하도록 인터레스트들의 세트를 송신하여, 각 인터레스트는 상기 매니페스트의 넘버링된 청크에 대응하게 하는, 명령을 포함할 수 있다(통신 메커니즘 1120). 콘텐츠-프로세싱 시스템(1118)은 매니페스트에 대응하는 광고를 전송하고, 매니페스트에 대한 요청의 수신에 응답하여 원격 노드로 상기 매니페스트를 전송하고, 상기 매니페스트와 연관된 요청된 콘텐츠 오브젝트나 서비스 레코드를 원격 노드로 전송하고, 그리고 각 인터레스트가 매니페스트의 넘버링된 청크에 대응하도록 청킹 프로토콜에 기초하여 인터레스트의 세트를 수신하는 명령을 포함할 수 있다(통신 메커니즘 1120). The content-processing system 1118 can also send a request for a remote manifest, receive a remote manifest, send a request for a content object or service record associated with a remote manifest, and send the requested content object Or a service record (communication mechanism 1120). The content-processing system 1118 includes instructions for sending a set of interleaves to retrieve a remote manifest based on a chunking protocol, such that each interleave corresponds to a numbered chunk of the manifest (Communication mechanism 1120). The content-processing system 1118 sends an advertisement corresponding to the manifest, sends the manifest to the remote node in response to receiving the request for the manifest, and sends the requested content object or service record associated with the manifest to the remote node (Communication mechanism 1120), and receiving a set of interludes based on a chunking protocol such that each of the interaves corresponds to a numbered chunk of the manifest.

콘텐츠-프로세싱 시스템(1118)은, 수신된 원격 매니페스트에 기초하여, 원격 매니페스트에 표현된 어떤 서비스 레코드가 로컬 매니페스트에 표현된 서비스 레코드와 상이한지 결정하는 명령을 더 포함할 수 있다(차이 결정 메커니즘 1130). The content-processing system 1118 may further include instructions to determine, based on the received remote manifest, which service record represented in the remote manifest differs from the service record represented in the local manifest (the difference determination mechanism 1130 ).

데이터(1132)는 본 개시에 기술된 방법 및/또는 프로세스에 의해서 입력으로 요청되거나 출력으로 생성되는 여느 데이터를 포함할 수 있다. 특히, 데이터(1132)는 적어도: 서비스 레코드의 컬렉션을 표현하는 매니페스트; 서비스 레코드; 서비스 레코드의 이름; 서비스 레코드의 설명; 일련번호; 초 단위 타임투리브(TTL); 서비스 레코드의 대응하는 다이제스트; 매니페스트에 의해 표현되는 서비스 레코드의 다이제스트에 기초하는 부가적인 해시값인, 매니페스트의 루트 해시값; 매니페스트를 식별하는, 매니페스트의 네임스페이스나, 또는 라우팅 프리픽스; 패킷이 데이터의 광고에 대응한다고 결정하는 식별자; 패킷이 데이터의 이송에 대응한다고 결정하는 식별자; 그리고 청킹 프로토콜에 기초한 매니페스트의 넘버링된 청크에 대응하는 숫자를 저장할 수 있다.The data 1132 may include any data that is requested as input or generated as an output by the method and / or process described in this disclosure. In particular, data 1132 includes at least: a manifest representing a collection of service records; Service records; The name of the service record; Description of the service record; Serial Number; Time-to-second (TTL) in seconds; The corresponding digest of the service record; A manifest's root hash value, which is an additional hash value based on a digest of the service record represented by the manifest; The manifest's namespace or routing prefix, which identifies the manifest; An identifier for determining that the packet corresponds to an advertisement of the data; An identifier that determines that the packet corresponds to a transfer of data; And store a number corresponding to the numbered chunk of the manifest based on the chunking protocol.

본 상세한 설명에 기술되는 데이터 구조와 코드는 전형적으로 컴퓨터-판독가능한 저장 매체에 저장되며, 이는 컴퓨터 시스템에 의한 사용을 위하여 코드 및/또는 데이터를 저장할 수 있는 장치나 매체일 수 있다. 컴퓨터-판독 가능한 저장 매체는 휘발성 메모리, 비-휘발성 메모리, 디스크 드라이브 같은 자성 및 광 저장 장치, 자성 테입, 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.

Claims (7)

이상(anomaly)을 탐지하는 컴퓨터 시스템에 있어서,
프로세서;
상기 프로세서에 연결되고 컴퓨터에 의해서 실행될 때 상기 컴퓨터가 방법을 수행하도록 야기하는 명령들을 저장하는 저장 장치를 포함하고, 상기 방법은
로컬 장치에 의해서, 원격 장치의 원격 매니페스트(manifest)에 대응하는 제1 광고를 수신하는 단계로서, 상기 제1 광고는 상기 원격 장치에 대응하는 서비스 레코드를 포함하는, 상기 단계; 및
로컬 매니페스트와 상기 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 상기 제1 광고의 서비스 레코드를 상기 로컬 매니페스트로 삽입함으로써, 상기 로컬 장치의 로컬 매니페스트를 갱신하는 단계를 포함하는, 컴퓨터 시스템.
A computer system for detecting anomalies,
A processor;
And a storage device coupled to the processor and storing instructions that when executed by the computer cause the computer to perform the method,
Receiving, by a local device, a first advertisement corresponding to a remote manifest of the remote device, the first advertisement comprising a service record corresponding to the remote device; And
Updating the local manifest of the local device by inserting a service record of the first advertisement into the local manifest in response to a determination that the local manifest and the remote manifest correspond to the same namespace.
제1항에 있어서, 상기 방법은
원격 장치의 원격 매니페스트에 대응하는 제2 광고에 대한 질의(query)를 전송하는 단계를 더 포함하는, 컴퓨터 시스템.
The method of claim 1,
And sending a query for a second advertisement corresponding to the remote manifest of the remote device.
제1항에 있어서, 상기 방법은
상기 로컬 장치의 상기 로컬 매니페스트에 대응하는 제2 광고를 전송하는 단계를 더 포함하고, 상기 제2 광고는 상기 로컬 장치에 대응하는 서비스 레코드를 포함하는, 컴퓨터 시스템.
The method of claim 1,
Further comprising transmitting a second advertisement corresponding to the local manifest of the local device, wherein the second advertisement includes a service record corresponding to the local device.
제1항에 있어서,
상기 로컬 장치에 의해서 송신되거나 수신되는 패킷은
상기 매니페스트를 식별하는 라우팅될 수 있는 프리픽스;
상기 패킷이 데이터의 이송에 대응한다고 결정하는 식별자;
상기 패킷이 데이터의 광고에 대응한다고 결정하는 식별자;
상기 매니페스트의 루트 해시값;
상기 매니페스트 내의 서비스 레코드의 이름; 및
서비스 레코드
중의 하나 이상을 지시하는, 컴퓨터 시스템.
The method according to claim 1,
The packets transmitted or received by the local device
A routable prefix identifying the manifest;
An identifier for determining that the packet corresponds to a transfer of data;
An identifier for determining that the packet corresponds to an advertisement of data;
The root hash value of the manifest;
The name of the service record in the manifest; And
Service record
/ RTI &gt; of the computer system.
제1항에 있어서,
상기 로컬 매니페스트를 갱신하는 단계는
상기 제1 광고의 상기 서비스 레코드의 일련 번호가 상기 제1 광고의 상기 서비스 레코드와 동일한 이름을 갖는 상기 로컬 매니페스트 내의 서비스 레코드의 일련 번호보다 더 크다는 결정에 응답하여, 상기 로컬 매니페스트 내의 상기 서비스 레코드의 값을 상기 제1 광고의 서비스 레코드의 값으로 갱신하는 단계를 더 포함하는, 컴퓨터 시스템.
The method according to claim 1,
Updating the local manifest
In response to determining that the serial number of the service record of the first advertisement is greater than the serial number of the service record in the local manifest having the same name as the service record of the first advertisement, Value to the value of the service record of the first advertisement.
제1항에 있어서, 상기 방법은
상기 로컬 장치가 어떤 매니페스트도 포함하지 않을 때, 네트워크상으로 초기화하는 단계;
상기 로컬 장치에 대응하는 서비스 레코드를 생성하는 단계; 및
상기 서비스 레코드가 포함된 상기 로컬 장치에 대한 매니페스트를 생성하는 단계를 더 포함하는, 컴퓨터 시스템.
The method of claim 1,
Initializing on a network when the local device does not include any manifests;
Generating a service record corresponding to the local device; And
Further comprising generating a manifest for the local device containing the service record.
제1항에 있어서, 상기 방법은
상기 로컬 매니페스트 내의 서비스 레코드의 타임투리브(time to live, TTL)의 발생에 응답하여,
상기 로컬 매니페스트로부터 상기 서비스 레코드를 삭제함으로써 상기 로컬 매니페스트를 갱신하는 단계; 및
상기 갱신된 로컬 매니페스트에 대응하는 제2 광고를 전송하는 단계를 더 포함하는, 컴퓨터 시스템.
The method of claim 1,
In response to the occurrence of a time to live (TTL) of a service record in the local manifest,
Updating the local manifest by deleting the service record from the local manifest; And
And sending a second advertisement corresponding to the updated local manifest.
KR1020150040169A 2014-04-07 2015-03-23 Service discovery using collection synchronization with exact names KR20150116392A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/247,140 US9473576B2 (en) 2014-04-07 2014-04-07 Service discovery using collection synchronization with exact names
US14/247,140 2014-04-07

Publications (1)

Publication Number Publication Date
KR20150116392A true KR20150116392A (en) 2015-10-15

Family

ID=52875460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150040169A KR20150116392A (en) 2014-04-07 2015-03-23 Service discovery using collection synchronization with exact names

Country Status (5)

Country Link
US (1) US9473576B2 (en)
EP (1) EP2930912B1 (en)
JP (1) JP2015201179A (en)
KR (1) KR20150116392A (en)
CN (1) CN104980487B (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710535B2 (en) * 2011-08-12 2017-07-18 Nexenta Systems, Inc. Object storage system with local transaction logs, a distributed namespace, and optimized support for user directories
FR3004881B1 (en) 2013-04-19 2015-04-17 Kolor METHOD FOR GENERATING AN OUTPUT VIDEO STREAM FROM A WIDE FIELD VIDEO STREAM
US10063476B2 (en) * 2014-03-28 2018-08-28 Research & Business Foundation Sungkyunkwan University Content centric networking system providing differentiated service and method of controlling data traffic in content centric networking providing differentiated service
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US9922201B2 (en) 2015-04-01 2018-03-20 Dropbox, Inc. Nested namespaces for selective content sharing
WO2017068481A1 (en) * 2015-10-20 2017-04-27 Jayaram Sanjay System for managing data
US10033928B1 (en) 2015-10-29 2018-07-24 Gopro, Inc. Apparatus and methods for rolling shutter compensation for multi-camera systems
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9479567B1 (en) 2015-10-29 2016-10-25 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US9792709B1 (en) 2015-11-23 2017-10-17 Gopro, Inc. Apparatus and methods for image alignment
US9973696B1 (en) 2015-11-23 2018-05-15 Gopro, Inc. Apparatus and methods for image alignment
US9848132B2 (en) * 2015-11-24 2017-12-19 Gopro, Inc. Multi-camera time synchronization
US9537952B1 (en) 2016-01-29 2017-01-03 Dropbox, Inc. Apparent cloud access for hosted content items
US9602795B1 (en) 2016-02-22 2017-03-21 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US9973746B2 (en) 2016-02-17 2018-05-15 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US10019317B2 (en) * 2016-04-25 2018-07-10 Nexenta Systems, Inc. Parity protection for data chunks in an object storage system
US10432855B1 (en) 2016-05-20 2019-10-01 Gopro, Inc. Systems and methods for determining key frame moments to construct spherical images
US9934758B1 (en) 2016-09-21 2018-04-03 Gopro, Inc. Systems and methods for simulating adaptation of eyes to changes in lighting conditions
US10268896B1 (en) 2016-10-05 2019-04-23 Gopro, Inc. Systems and methods for determining video highlight based on conveyance positions of video content capture
US10194101B1 (en) 2017-02-22 2019-01-29 Gopro, Inc. Systems and methods for rolling shutter compensation using iterative process
WO2018189352A1 (en) * 2017-04-14 2018-10-18 Koninklijke Kpn N.V. Transmitting and receiving an interest message specifying an aggregation parameter
US10873564B2 (en) * 2018-09-20 2020-12-22 Palo Alto Research Center Incorporated Cloud-based device manager based on message queues
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface

Family Cites Families (503)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1104536A (en) 1966-06-10 1968-02-28 Bp Chem Int Ltd A process for the production of film forming aqueous dispersions of copolymers of vinyl esters of organic acids
US4309569A (en) 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US4921898A (en) 1985-08-02 1990-05-01 Air Products And Chemicals, Inc. Vinyl acetate-ethylene copolymer emulsions prepared in the presence of a stabilizing system of a low molecular weight polyvinyl alcohol and a surfactant
GB8711984D0 (en) 1987-05-21 1987-06-24 Shell Int Research Polymeric products
US5214702A (en) 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JPH0655874B2 (en) 1989-02-28 1994-07-27 住友化学工業株式会社 Vinyl acetate-ethylene copolymer emulsion and method for producing the same
GB8918553D0 (en) 1989-08-15 1989-09-27 Digital Equipment Int Message control system
US5548646A (en) 1994-09-15 1996-08-20 Sun Microsystems, Inc. System for signatureless transmission and reception of data packets between computer networks
US6181837B1 (en) 1994-11-18 2001-01-30 The Chase Manhattan Bank, N.A. Electronic check image storage and retrieval system
DE19528380A1 (en) 1995-08-02 1997-02-06 Hoechst Ag Heterogeneous vinyl acetate / ethylene dispersion
US5870605A (en) 1996-01-18 1999-02-09 Sun Microsystems, Inc. Middleware for enterprise information distribution
US5629370A (en) 1996-04-29 1997-05-13 Reichhold Chemicals, Inc. High solids vinyl acetate-ethylene emulsions
US5845207A (en) 1996-05-09 1998-12-01 At&T Wirless Services, Inc. Service transfer to a wireless telephone
US6085320A (en) 1996-05-15 2000-07-04 Rsa Security Inc. Client/server protocol for proving authenticity
DE19620817A1 (en) 1996-05-23 1997-11-27 Wacker Chemie Gmbh Flexible building material masses
US6173364B1 (en) 1997-01-15 2001-01-09 At&T Corp. Session cache and rule caching method for a dynamic filter
WO1998038762A2 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Determining visibility to a remote database client
US6366988B1 (en) 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US6091724A (en) 1997-11-20 2000-07-18 International Business Machines Corporation Routing messages within a network using the data content of the message
US6807632B1 (en) 1999-01-21 2004-10-19 Emc Corporation Content addressable information encapsulation, representation, and transfer
US6052683A (en) 1998-02-24 2000-04-18 Nortel Networks Corporation Address lookup in packet data communication networks
US6667957B1 (en) 1998-03-14 2003-12-23 University Of Maryland Adaptive routing method for a dynamic network
US6725373B2 (en) 1998-03-25 2004-04-20 Intel Corporation Method and apparatus for verifying the integrity of digital objects using signed manifests
US6289358B1 (en) 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6915307B1 (en) 1998-04-15 2005-07-05 Inktomi Corporation High performance object cache
US6292880B1 (en) 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6209003B1 (en) 1998-04-15 2001-03-27 Inktomi Corporation Garbage collection in an object cache
US6128627A (en) 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6128623A (en) 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US7466703B1 (en) 1998-05-01 2008-12-16 Alcatel-Lucent Usa Inc. Scalable high speed router apparatus
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6233646B1 (en) 1998-08-28 2001-05-15 Electronics And Telecommunications Research Institute Memory interface controller
US6732273B1 (en) 1998-10-21 2004-05-04 Lucent Technologies Inc. Priority and security coding system for electronic mail messages
US6332158B1 (en) 1998-12-03 2001-12-18 Chris Risley Domain name system lookup allowing intelligent correction of searches and presentation of auxiliary information
US7073129B1 (en) 1998-12-18 2006-07-04 Tangis Corporation Automated selection of appropriate information based on a computer user's context
US6611872B1 (en) 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
US6229895B1 (en) 1999-03-12 2001-05-08 Diva Systems Corp. Secure distribution of video on-demand
US6681220B1 (en) 1999-05-28 2004-01-20 International Business Machines Corporation Reduction and optimization of information processing systems
AU6004400A (en) 1999-07-19 2001-02-05 British Telecommunications Public Limited Company Telecommunications routing
US7451177B1 (en) 1999-08-12 2008-11-11 Avintaquin Capital, Llc System for and method of implementing a closed loop response architecture for electronic commerce
CA2315457A1 (en) 1999-08-16 2001-02-16 Tactical Retailing Solutions, L.L.C. Method for providing consumers with offers
US6772333B1 (en) 1999-09-01 2004-08-03 Dickens Coal Llc Atomic session-start operation combining clear-text and encrypted sessions to provide id visibility to middleware such as load-balancers
US7013389B1 (en) 1999-09-29 2006-03-14 Cisco Technology, Inc. Method and apparatus for creating a secure communication channel among multiple event service nodes
US6769066B1 (en) 1999-10-25 2004-07-27 Visa International Service Association Method and apparatus for training a neural network model for use in computer network intrusion detection
US6834195B2 (en) 2000-04-04 2004-12-21 Carl Brock Brandenberg Method and apparatus for scheduling presentation of digital content on a personal communication device
US6957228B1 (en) 2000-01-07 2005-10-18 International Business Machines Corporation Object oriented apparatus and method for providing context-based class replacement in an object oriented system
US7003571B1 (en) 2000-01-31 2006-02-21 Telecommunication Systems Corporation Of Maryland System and method for re-directing requests from browsers for communication over non-IP based networks
US7412462B2 (en) 2000-02-18 2008-08-12 Burnside Acquisition, Llc Data repository and method for promoting network storage of data
US6654792B1 (en) 2000-02-28 2003-11-25 3Com Corporation Method and architecture for logical aggregation of multiple servers
US6901452B1 (en) 2000-03-02 2005-05-31 Alcatel Selectable prioritization for data communication switch
US6862280B1 (en) 2000-03-02 2005-03-01 Alcatel Priority remapping for data communication switch
US20020152305A1 (en) 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US20030046396A1 (en) 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US6917985B2 (en) 2000-03-10 2005-07-12 The Regents Of The University Of California Core assisted mesh protocol for multicast routing in ad-hoc Networks
US7162539B2 (en) 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
US7552233B2 (en) 2000-03-16 2009-06-23 Adara Networks, Inc. System and method for information object routing in computer networks
US6775258B1 (en) 2000-03-17 2004-08-10 Nokia Corporation Apparatus, and associated method, for routing packet data in an ad hoc, wireless communication system
US7089240B2 (en) 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
US7908337B2 (en) 2000-04-28 2011-03-15 Adara Networks, Inc. System and method for using network layer uniform resource locator routing to locate the closest server carrying specific content
US20020010795A1 (en) 2000-06-09 2002-01-24 Brown Charles P. Method and system for protecting domain names
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US20040064737A1 (en) 2000-06-19 2004-04-01 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of polymorphic network worms and viruses
WO2002003217A1 (en) 2000-06-30 2002-01-10 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
CA2415888C (en) 2000-08-04 2008-10-21 Avaya Technology Corporation Intelligent demand driven recognition of url objects in connection oriented transactions
US7216179B2 (en) 2000-08-16 2007-05-08 Semandex Networks Inc. High-performance addressing and routing of data packets with semantically descriptive labels in a computer network
US7080073B1 (en) 2000-08-18 2006-07-18 Firstrain, Inc. Method and apparatus for focused crawling
EP1334587A1 (en) 2000-08-31 2003-08-13 Padcom Inc. Method and apparatus for routing data over multiple wireless networks
US7698463B2 (en) 2000-09-12 2010-04-13 Sri International System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network
US7206853B2 (en) 2000-10-23 2007-04-17 Sony Corporation content abstraction layer for use in home network applications
AU2001295809A1 (en) 2000-10-26 2002-05-06 British Telecommunications Plc Telecommunications routing
US7031308B2 (en) 2000-10-30 2006-04-18 The Regents Of The University Of California Tree-based ordered multicasting method
JP4225681B2 (en) 2000-12-06 2009-02-18 富士通株式会社 Virtual closed network construction method and apparatus, and relay apparatus
US7844666B2 (en) 2000-12-12 2010-11-30 Microsoft Corporation Controls and displays for acquiring preferences, inspecting behavior, and guiding the learning and decision policies of an adaptive communications prioritization and routing system
US20020078066A1 (en) 2000-12-18 2002-06-20 David Robinson Data storage system including a file system for managing multiple volumes
US20020077988A1 (en) 2000-12-19 2002-06-20 Sasaki Gary D. Distributing digital content
IES20010015A2 (en) 2001-01-09 2002-04-17 Menlo Park Res Teoranta Content management and distribution system
US7580971B1 (en) 2001-01-11 2009-08-25 Oracle International Corporation Method and apparatus for efficient SQL processing in an n-tier architecture
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7350229B1 (en) 2001-03-07 2008-03-25 Netegrity, Inc. Authentication and authorization mapping for a computer network
US7043637B2 (en) 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7266085B2 (en) 2001-03-21 2007-09-04 Stine John A Access and routing protocol for ad hoc network using synchronous collision resolution and node state dissemination
US20020199014A1 (en) 2001-03-26 2002-12-26 Accton Technology Corporation Configurable and high-speed content-aware routing method
US7062490B2 (en) 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
WO2002091692A1 (en) 2001-04-13 2002-11-14 Girard Gregory D Ditributed edge switching system for voice-over-packet multiservice network
FR2826469B1 (en) 2001-06-25 2003-10-24 Eads Airbus Sa METHOD AND DEVICE FOR CONTROLLING AT LEAST ONE AERODYNAMIC DEPTH OF AN AIRPLANE DURING TAKE-OFF
US7054855B2 (en) 2001-07-03 2006-05-30 International Business Machines Corporation Method and system for performing a pattern match search for text strings
US7831733B2 (en) 2001-07-06 2010-11-09 Avaya Holdings Limited Policy-based forwarding in open shortest path first (OSPF) networks
US6981029B1 (en) 2001-07-17 2005-12-27 Cisco Technology, Inc. System and method for processing a request for information in a network
US7382787B1 (en) 2001-07-30 2008-06-03 Cisco Technology, Inc. Packet routing and switching device
US7152094B1 (en) 2001-07-31 2006-12-19 Sprint Communications Company L.P. Middleware brokering system adapter
US6775743B2 (en) 2001-09-12 2004-08-10 International Business Machines Corporation Content caching with special handling of multiple identical requests for content
US20030061384A1 (en) 2001-09-25 2003-03-27 Bryce Nakatani System and method of addressing and configuring a remote device
US7194553B2 (en) 2001-10-16 2007-03-20 Microsoft Corporation Resolving virtual network names
US20090006659A1 (en) 2001-10-19 2009-01-01 Collins Jack M Advanced mezzanine card for digital network data inspection
US7469299B2 (en) 2001-10-25 2008-12-23 Verizon Business Global Llc Bridging user agent and a proxy server for supporting network services
US7124616B2 (en) 2001-11-08 2006-10-24 Komatsu Ltd. Work transfer method for transfer press and work transfer apparatus for transfer press or press
US20030144441A1 (en) 2001-11-13 2003-07-31 Ayusman Sen Controlled copolymerization of methyl acrylate with olefins under mild conditions
CA2411806A1 (en) 2001-11-16 2003-05-16 Telecommunications Research Laboratory Wide-area content-based routing architecture
US6968393B1 (en) 2001-11-19 2005-11-22 Redback Networks, Inc. Method and apparatus for an attribute oriented routing update
GB2382962A (en) 2001-12-07 2003-06-11 Altio Ltd Data routing without using an address
US7149750B2 (en) 2001-12-19 2006-12-12 International Business Machines Corporation Method, system and program product for extracting essence from a multimedia file received in a first format, creating a metadata file in a second file format and using a unique identifier assigned to the essence to access the essence and metadata file
US7509425B1 (en) 2002-01-15 2009-03-24 Dynamicsoft, Inc. Establishing and modifying network signaling protocols
US20030140257A1 (en) 2002-01-22 2003-07-24 Petr Peterka Encryption, authentication, and key management for multimedia content pre-encryption
US9043365B2 (en) 2002-02-26 2015-05-26 International Business Machines Corporation Peer to peer (P2P) federated concept queries
US7007024B2 (en) 2002-03-29 2006-02-28 Panasas, Inc. Hashing objects into multiple directories for better concurrency and manageability
US7315541B1 (en) 2002-04-03 2008-01-01 Cisco Technology, Inc. Methods and apparatus for routing a content request
US7287275B2 (en) 2002-04-17 2007-10-23 Moskowitz Scott A Methods, systems and devices for packet watermarking and efficient provisioning of bandwidth
WO2003091297A1 (en) 2002-04-24 2003-11-06 Stitching Dutch Polymer Institute PROCESS FOR THE COPOLYMERISATION OF α-OLEFINS WITH VINYL MONOMERS
US7564812B1 (en) 2002-06-06 2009-07-21 Bbn Technologies Corp Method and apparatus for varying times/channels of broadcast beacons
US7444655B2 (en) 2002-06-11 2008-10-28 Microsoft Corporation Anonymous aggregated data collection
US20040030602A1 (en) 2002-06-19 2004-02-12 Rosenquist Edward G. Computer-implemented method and system for managing supplier access to purchasing and inventory transactions
US7496668B2 (en) 2002-06-28 2009-02-24 Honeywell International Inc. OPC server redirection manager
US7209976B2 (en) 2002-07-16 2007-04-24 Jeremy Benjamin Protocol communication and transit packet forwarding routed between multiple virtual routers within a single physical router
EP1384729A1 (en) 2002-07-25 2004-01-28 Dutch Polymer Institute Process for the radical coplymerisation of alpha-olefins with vinyl monomers
US7206861B1 (en) 2002-07-29 2007-04-17 Juniper Networks, Inc. Network traffic distribution across parallel paths
US9497168B2 (en) 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US7339929B2 (en) 2002-08-23 2008-03-04 Corrigent Systems Ltd. Virtual private LAN service using a multicast protocol
US7430755B1 (en) 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US7471681B2 (en) 2002-10-10 2008-12-30 Intel Corporation Determining network path transmission unit
US7542471B2 (en) 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US7650416B2 (en) 2003-08-12 2010-01-19 Riverbed Technology Content delivery for client-server protocols with user affinities using connection end-point proxies
US7246159B2 (en) 2002-11-01 2007-07-17 Fidelia Technology, Inc Distributed data gathering and storage for use in a fault and performance monitoring system
US7424014B2 (en) 2002-11-12 2008-09-09 Cisco Technology, Inc. System and method for local packet transport services within distributed routers
US7278168B1 (en) 2002-11-27 2007-10-02 Adobe Systems Incorporated Dynamic enabling of functionality in electronic document readers
KR100511479B1 (en) 2002-12-27 2005-08-31 엘지전자 주식회사 SIP service method in network with NAT
GB0230330D0 (en) 2002-12-31 2003-02-05 British Telecomm Communications routing
US20040193609A1 (en) * 2003-03-26 2004-09-30 Sony Corporation Master content directory service server for providing a consolidated network-wide content directory
JP4025674B2 (en) 2003-04-01 2007-12-26 富士通株式会社 Detour communication route design method
US7519685B2 (en) 2003-04-04 2009-04-14 Panasonic Corporation Contents linkage information delivery system
US7953885B1 (en) 2003-04-18 2011-05-31 Cisco Technology, Inc. Method and apparatus to apply aggregate access control list/quality of service features using a redirect cause
US7805525B2 (en) 2003-04-30 2010-09-28 Hewlett-Packard Development Company, L.P. System and method for processing fibre channel (FC) layer service requests in an FC network
JP4271988B2 (en) 2003-05-19 2009-06-03 株式会社日立コミュニケーションテクノロジー Packet communication device
JP4251018B2 (en) 2003-05-27 2009-04-08 株式会社日立製作所 Node position display method
US20040246902A1 (en) 2003-06-02 2004-12-09 Weinstein Joseph J. Systems and methods for synchronizing multple copies of a database using datablase digest
US7647507B1 (en) 2003-07-08 2010-01-12 Marvell International Ltd. Secure digital content distribution system and secure hard drive
US7257837B2 (en) 2003-07-26 2007-08-14 Innomedia Pte Firewall penetration system and method for real time media communications
US7895595B2 (en) 2003-07-30 2011-02-22 Northwestern University Automatic method and system for formulating and transforming representations of context used by information services
US7472422B1 (en) 2003-09-10 2008-12-30 Symantec Corporation Security management system including feedback and control
US7155305B2 (en) 2003-11-04 2006-12-26 Universal Electronics Inc. System and methods for home appliance identification and control in a networked environment
US20050132207A1 (en) 2003-12-10 2005-06-16 Magda Mourad System and method for authoring learning material using digital ownership rights
US7366720B2 (en) 2004-01-06 2008-04-29 Sharp Laboratories Of America System for remote share access
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US20050198351A1 (en) 2004-02-20 2005-09-08 Microsoft Corporation Content-based routing
EP1723533A1 (en) 2004-03-09 2006-11-22 Clique Communications Llc System and method for peer-to-peer connection of clients behind symmetric firewalls
EP1589716A1 (en) 2004-04-20 2005-10-26 Ecole Polytechnique Fédérale de Lausanne (EPFL) Method of detecting anomalous behaviour in a computer network
JP4230410B2 (en) 2004-05-11 2009-02-25 株式会社日立製作所 Communication quality control device for virtual storage
US7620033B2 (en) 2004-05-21 2009-11-17 Alcatel-Lucent Usa Inc. Method for optimal path selection in traversal of packets through network address translators
GB0412847D0 (en) 2004-06-09 2004-07-14 Nortel Networks Ltd Method of applying the radius restricted routing scheme in a communication network
US8868779B2 (en) 2004-06-15 2014-10-21 Accenture Global Services Limited Method and apparatus to accomplish peer-to-peer application data routing between service consumers and service providers within a service oriented architecture
US7483376B2 (en) 2004-06-17 2009-01-27 International Business Machines Corporation Method and apparatus for discovering path maximum transmission unit (PMTU)
US20050289222A1 (en) 2004-06-28 2005-12-29 Sahim Faramarz F Flexible session initiation protocol endpoint signaling
US20050286535A1 (en) 2004-06-29 2005-12-29 Shrum Edgar V Jr Verification of consumer equipment connected to packet networks based on hashing values
WO2006007623A1 (en) 2004-07-22 2006-01-26 Blue Pulse Pty Ltd Location dependent content provision
US7623535B2 (en) 2004-09-09 2009-11-24 Cisco Technology, Inc. Routing protocol support for half duplex virtual routing and forwarding instance
JP4421981B2 (en) 2004-09-09 2010-02-24 パイオニア株式会社 Content remote viewing system, content remote viewing server device, content remote viewing recording / playback device, content remote viewing method, and computer program
US7685290B2 (en) 2004-09-21 2010-03-23 Cisco Technology, Inc. Method and apparatus for handling SCTP multi-homed connections
US7543064B2 (en) 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7848749B2 (en) 2004-11-08 2010-12-07 Alcatel-Lucent Usa Inc. Method and apparatus for activating a dormant mobile unit in a distributed network
EP1813063A4 (en) 2004-11-19 2009-08-12 Stevens Inst Technology Multi-access terminal wiht capability for simultaneous connectivity to multiple communication channels
EA010458B1 (en) 2004-12-08 2008-08-29 Би-ОБВИЭС ЛТД. Bidirectional data transfer optimization and content control for networks
JP4131964B2 (en) 2004-12-10 2008-08-13 株式会社東芝 Information terminal equipment
KR20060066628A (en) 2004-12-13 2006-06-16 엘지전자 주식회사 Method for securing content on a recording medium and a recording medium storing content secured by the method
US20060133343A1 (en) 2004-12-22 2006-06-22 Nokia Corporation Multi homing transport protocol on a multi-processor arrangement
US7646775B2 (en) 2005-03-08 2010-01-12 Leaf Networks, Llc Protocol and system for firewall and NAT traversal for TCP connections
KR101144243B1 (en) 2005-03-10 2012-05-14 톰슨 라이센싱 Hybrid mesh routing protocol
US7567946B2 (en) 2005-03-14 2009-07-28 Xerox Corporation Method, apparatus, and article of manufacture for estimating parameters of a probability model on shared device usage probabilistic semantic analysis
JP4672405B2 (en) 2005-03-17 2011-04-20 パナソニック株式会社 Communication system, information processing system, connection server, processing server, information processing apparatus, and information processing method
US20130066823A1 (en) 2005-03-30 2013-03-14 Primal Fusion Inc. Knowledge representation systems and methods incorporating customization
US20060223504A1 (en) 2005-04-01 2006-10-05 Ixi Mobile (R&D) Ltd. Efficient server polling system and method
US8089964B2 (en) 2005-04-05 2012-01-03 Cisco Technology, Inc. Transporting multicast over MPLS backbone using virtual interfaces to perform reverse-path forwarding checks
US8312064B1 (en) 2005-05-11 2012-11-13 Symantec Corporation Method and apparatus for securing documents using a position dependent file system
US7773569B2 (en) 2005-05-19 2010-08-10 Meshnetworks, Inc. System and method for efficiently routing data packets and managing channel access and bandwidth in wireless multi-hopping networks
JP2008543202A (en) 2005-05-31 2008-11-27 インターナショナル・ビジネス・マシーンズ・コーポレーション System and method for generating a unique persistent identifier
US7606801B2 (en) 2005-06-07 2009-10-20 Varonis Inc. Automatic management of storage access control
US7704129B2 (en) 2005-07-12 2010-04-27 Tipper Tie, Inc. Ruckers capable of rucking fixed diameter coverings and associated devices, methods, systems and computer program products
KR101309544B1 (en) 2005-07-20 2013-09-24 파이어타이드, 인코포레이티드 Route optimization for on-demand routing protocols for mesh networks
US8432896B2 (en) 2005-07-22 2013-04-30 Cisco Technology, Inc. System and method for optimizing communications between session border controllers and endpoints in a network environment
US7991764B2 (en) 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
JP4940464B2 (en) 2005-09-16 2012-05-30 独立行政法人産業技術総合研究所 Network equipment test equipment
US20070073888A1 (en) 2005-09-26 2007-03-29 Ajay Madhok System and method to control transactions on communication channels based on universal identifiers
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US7558604B2 (en) 2005-11-25 2009-07-07 Lenovo (Singapore) Pte. Ltd. Method and apparatus for remote discovery of client and access point settings in a wireless LAN
US7636767B2 (en) 2005-11-29 2009-12-22 Cisco Technology, Inc. Method and apparatus for reducing network traffic over low bandwidth links
US7664789B2 (en) 2005-12-02 2010-02-16 Cisco Technology, Inc. Method and apparatus to minimize database exchange in OSPF by using a SHA-1 digest value
US7664067B2 (en) 2005-12-15 2010-02-16 Microsoft Corporation Preserving socket connections over a wireless network
US7738495B2 (en) 2006-01-23 2010-06-15 Cisco Technology, Inc. Method of determining a maximum transmission unit value of a network path using transport layer feedback
US7769887B1 (en) 2006-02-03 2010-08-03 Sprint Communications Company L.P. Opportunistic data transfer over heterogeneous wireless networks
US7860106B2 (en) 2006-02-13 2010-12-28 Wind River Systems, Inc. System and method for routing table computation and analysis
US8464329B2 (en) 2006-02-21 2013-06-11 Watchguard Technologies, Inc. System and method for providing security for SIP-based communications
ES2309899T3 (en) 2006-02-23 2008-12-16 Swisscom Ag ADAPTATION OF VIRTUAL AND PHYSICAL NETWORK INTERFACES.
US20070204011A1 (en) 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for offline access to video content of a web-site
US8832302B1 (en) 2006-03-31 2014-09-09 Rockwell Collins, Inc. System and method for a priori scheduling of network services
EP2004701B1 (en) 2006-04-06 2009-07-22 Basf Se Process for preparing an aqueous polymer dispersion
US9043487B2 (en) 2006-04-18 2015-05-26 Cisco Technology, Inc. Dynamically configuring and verifying routing information of broadcast networks using link state protocols in a computer network
US20070255781A1 (en) 2006-04-26 2007-11-01 Bayhub, Inc. Content driven process routing for integrated enterprise applications
WO2007125530A2 (en) 2006-04-27 2007-11-08 D.S.P. Group Ltd. Routing path optimization between si p endpoints according to nat topology
US20070255677A1 (en) 2006-04-28 2007-11-01 Sun Microsystems, Inc. Method and apparatus for browsing search results via a virtual file system
CN101064598B (en) 2006-04-28 2011-04-20 腾讯科技(深圳)有限公司 Method for encrypting and deciphering client instant communication data
US7925681B2 (en) 2006-04-28 2011-04-12 Microsoft Corporation Bypass of the namespace hierarchy to open files
US8571012B2 (en) 2006-05-12 2013-10-29 Oracle International Corporation Customized sip routing to cross firewalls
US9319967B2 (en) 2006-05-15 2016-04-19 Boingo Wireless, Inc. Network access point detection and use
KR20090010204A (en) 2006-05-18 2009-01-29 파나소닉 주식회사 Electronic device, content reproduction control method, program, storage medium, and integrated circuit
US20070283158A1 (en) 2006-06-02 2007-12-06 Microsoft Corporation Microsoft Patent Group System and method for generating a forensic file
US7739082B2 (en) 2006-06-08 2010-06-15 Battelle Memorial Institute System and method for anomaly detection
US7912982B2 (en) 2006-06-09 2011-03-22 Trapeze Networks, Inc. Wireless routing selection system and method
WO2007140818A1 (en) 2006-06-09 2007-12-13 Telefonaktiebolaget Lm Ericsson (Publ) Handling multiple user interfaces in an ip multimedia subsystem
IE20070422A1 (en) 2006-06-13 2007-12-21 Qtelmedia Group Ltd A method for restricting access to digital content
US8117441B2 (en) 2006-06-20 2012-02-14 Microsoft Corporation Integrating security protection tools with computer device integrity and privacy policy
US8468131B2 (en) 2006-06-29 2013-06-18 Avaya Canada Corp. Connecting devices in a peer-to-peer network with a service provider
US20080059631A1 (en) 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
JP5086574B2 (en) 2006-07-11 2012-11-28 株式会社東芝 Content recording apparatus, content reproducing apparatus, method, and program
US7444251B2 (en) 2006-08-01 2008-10-28 Mitsubishi Electric Research Laboratories, Inc. Detecting and diagnosing faults in HVAC equipment
US8312120B2 (en) 2006-08-22 2012-11-13 Citrix Systems, Inc. Systems and methods for providing dynamic spillover of virtual servers based on bandwidth
US7567547B2 (en) 2006-09-07 2009-07-28 Palo Alto Research Center Incorporated Method and system for loop-free ad-hoc routing
US7958081B2 (en) 2006-09-28 2011-06-07 Jagtag, Inc. Apparatuses, methods and systems for information querying and serving on mobile devices based on ambient conditions
US20080080440A1 (en) 2006-09-30 2008-04-03 Yarvis Mark D Device interfaces to integrate cooperative diversity and mesh networking
WO2008052597A1 (en) 2006-10-31 2008-05-08 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for ip network interfacing
JP4308840B2 (en) 2006-11-08 2009-08-05 Okiセミコンダクタ株式会社 SHA operation method and SHA operation device
GB2443889A (en) 2006-11-20 2008-05-21 Skype Ltd Method and system for anonymous communication
US8010795B2 (en) 2006-11-27 2011-08-30 Red Hat, Inc. Secure information transfer using dedicated public key pairs
US8516116B2 (en) 2006-11-30 2013-08-20 Accenture Global Services Limited Context-based routing of requests in a service-oriented architecture
US8181107B2 (en) 2006-12-08 2012-05-15 Bytemobile, Inc. Content adaptation
US9280337B2 (en) 2006-12-18 2016-03-08 Adobe Systems Incorporated Secured distribution of software updates
JP2008160385A (en) 2006-12-22 2008-07-10 Nec Corp Network-path control system and device and method for controlling path
US7523016B1 (en) 2006-12-29 2009-04-21 Google Inc. Detecting anomalies
US8422501B2 (en) 2007-01-04 2013-04-16 International Business Machines Corporation Efficient path maximum transmission unit information discovery and storage
US8655939B2 (en) 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
JP4367493B2 (en) 2007-02-02 2009-11-18 ソニー株式会社 Wireless communication system, wireless communication apparatus, wireless communication method, and computer program
US8364597B2 (en) 2007-02-07 2013-01-29 Panasonic Corporations Recording device, server device, recording method, recording medium with computer program recorded therein and integrated circuit
CN101257670B (en) 2007-02-28 2012-04-11 中国移动通信集团公司 Method, equipment and system for searching and downloading phone file
JP2008217216A (en) 2007-03-01 2008-09-18 Hitachi Ltd Load distribution method and computer system
US8861356B2 (en) 2007-03-13 2014-10-14 Ntt Docomo, Inc. Method and apparatus for prioritized information delivery with network coding over time-varying network topologies
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US7979912B1 (en) 2007-04-18 2011-07-12 Sprint Spectrum L.P. Method and system for verifying network credentials
US8707431B2 (en) 2007-04-24 2014-04-22 The Mitre Corporation Insider threat detection
US7890549B2 (en) 2007-04-30 2011-02-15 Quantum Leap Research, Inc. Collaboration portal (COPO) a scaleable method, system, and apparatus for providing computer-accessible benefits to communities of users
US8656017B2 (en) 2007-05-16 2014-02-18 Microsoft Corporation Peer-to-peer collaboration system with edge routing
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8355706B2 (en) 2007-07-20 2013-01-15 Broadcom Corporation Method and system for utilizing context data tags to catalog data in wireless system
US8271687B2 (en) 2007-06-19 2012-09-18 Cisco Technology, Inc. Streaming network coding
EP2007105A1 (en) 2007-06-22 2008-12-24 Accenture Global Services GmbH Session initiation protocol adaptor
JP4888263B2 (en) 2007-07-19 2012-02-29 ソニー株式会社 Receiving device, receiving method, and computer program
US9009327B2 (en) 2007-08-03 2015-04-14 Citrix Systems, Inc. Systems and methods for providing IIP address stickiness in an SSL VPN session failover environment
US8332375B2 (en) 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
KR101404008B1 (en) 2007-08-30 2014-06-05 톰슨 라이센싱 A unified peer-to-peer and cache system for content services in wireless mesh networks
US20090077184A1 (en) 2007-09-18 2009-03-19 Martin John Brewer Remote Control of Mobile Terminal via Remote Control Proxy and SMS
US20090122753A1 (en) 2007-10-01 2009-05-14 Hughes Timothy J Dynamic data link segmentation and reassembly
US20090097631A1 (en) 2007-10-12 2009-04-16 Doug Gisby Method, apparatus and system for routing a call using overflow groups
US8903756B2 (en) 2007-10-19 2014-12-02 Ying Zhao System and method for knowledge pattern search from networked agents
US8090592B1 (en) 2007-10-31 2012-01-03 At&T Intellectual Property I, L.P. Method and apparatus for multi-domain anomaly pattern definition and detection
JP5261785B2 (en) 2007-10-31 2013-08-14 株式会社日立製作所 Content distribution system, cache server, and cache management server
US7983701B2 (en) 2007-11-01 2011-07-19 International Business Machines Corporation Alerts based on significance of free format text messages
US8184632B1 (en) 2007-11-01 2012-05-22 Cisco Technology, Inc. System and method for accepting information from routing messages into a list
US8924497B2 (en) 2007-11-16 2014-12-30 Hewlett-Packard Development Company, L.P. Managing delivery of electronic messages
US7852774B2 (en) 2007-11-28 2010-12-14 Cisco Technology, Inc. User datagram protocol traceroute probe extension
FR2925247B1 (en) 2007-12-18 2011-11-04 Alcatel Lucent CONTROLLING THE TRANSMISSION INTERFACE OF A SIP RESPONSE MESSAGE
US8761022B2 (en) 2007-12-26 2014-06-24 Rockstar Consortium Us Lp Tie-breaking in shortest path determination
JP4331240B2 (en) 2008-01-23 2009-09-16 株式会社東芝 Electronic apparatus and image display method
US20090193101A1 (en) 2008-01-24 2009-07-30 Panasonic Corporation Multimedia data transmitting apparatus and multimedia data management method
US8880724B2 (en) 2008-01-31 2014-11-04 Cisco Technology, Inc. Event triggered traceroute for optimized routing in a computer network
US7801177B2 (en) 2008-02-25 2010-09-21 Telcordia Technologies, Inc. Method for equitable bandwidth allocation for content distribution networks
US9323837B2 (en) 2008-03-05 2016-04-26 Ying Zhao Multiple domain anomaly detection system and method using fusion rule and visualization
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8559334B2 (en) 2008-03-28 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) End-to end inter-domain routing
US7873619B1 (en) 2008-03-31 2011-01-18 Emc Corporation Managing metadata
US8521512B2 (en) 2008-04-30 2013-08-27 Deep Sky Concepts, Inc Systems and methods for natural language communication with a computer
WO2009137365A1 (en) 2008-05-05 2009-11-12 Sentilla Corporation, Inc. Efficient broadcast of data in a communication network
US8909190B2 (en) 2008-05-13 2014-12-09 Dale Carson Portable wireless compatibility detection, location and communication device
US8776176B2 (en) 2008-05-16 2014-07-08 Oracle America, Inc. Multi-factor password-authenticated key exchange
US8386622B2 (en) 2008-05-16 2013-02-26 Palo Alto Research Center Incorporated Method and apparatus for facilitating communication in a content centric network
US20090288076A1 (en) 2008-05-16 2009-11-19 Mark Rogers Johnson Managing Updates In A Virtual File System
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8165118B2 (en) 2008-05-19 2012-04-24 Palo Alto Research Center Incorporated Voice over content centric networks
US8214364B2 (en) 2008-05-21 2012-07-03 International Business Machines Corporation Modeling user access to computer resources
US20090293121A1 (en) 2008-05-21 2009-11-26 Bigus Joseph P Deviation detection of usage patterns of computer resources
US20090300714A1 (en) 2008-05-27 2009-12-03 Open Invention Network Llc Privacy engine and method of use in a user-centric identity management system
US8065559B2 (en) 2008-05-29 2011-11-22 Citrix Systems, Inc. Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server
US8170990B2 (en) 2008-05-30 2012-05-01 Hitachi, Ltd. Integrated remote replication in hierarchical storage systems
US8583602B2 (en) 2008-06-05 2013-11-12 Palm, Inc. Restoring of data to mobile computing device
EP3553713A1 (en) 2008-06-12 2019-10-16 Guardian Analytics, Inc. Modeling users for fraud detection and analysis
US8165091B2 (en) 2008-06-27 2012-04-24 Nix John A Efficient handover of media communications in heterogeneous IP networks using LAN profiles and network handover rules
US8060513B2 (en) 2008-07-01 2011-11-15 Dossierview Inc. Information processing with integrated semantic contexts
US7801069B2 (en) 2008-07-02 2010-09-21 Hewlett-Packard Development Company, L.P. Distribution of packets among a plurality of nodes
EP2147717A1 (en) 2008-07-25 2010-01-27 Basf Se Auxiliary dispersing agent for emulsion and suspension polymerisation
JP2011530849A (en) 2008-08-08 2011-12-22 アルカテル−ルーセント Extension to SIP forking to improve user services
US8862776B2 (en) 2008-08-27 2014-10-14 Motorola Mobility Llc Communication network and method of operation therefor
US8069023B1 (en) 2008-09-02 2011-11-29 Juniper Networks, Inc. Hardware support for instruction set emulation
US8261273B2 (en) 2008-09-02 2012-09-04 International Business Machines Corporation Assigning threads and data of computer program within processor having hardware locality groups
US9392437B2 (en) 2008-10-17 2016-07-12 Alcatel Lucent Method and system for IP multimedia bearer path optimization through a succession of border gateways
WO2010046178A1 (en) 2008-10-20 2010-04-29 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for a client node to access an information object located at a node of a secured network via a network of information
US8130654B2 (en) 2008-10-29 2012-03-06 Palo Alto Research Center Incorporated Context-aware packet switching
EP2359526B1 (en) 2008-11-04 2017-08-02 SecureKey Technologies Inc. System and methods for online authentication
US20100125911A1 (en) 2008-11-17 2010-05-20 Prakash Bhaskaran Risk Scoring Based On Endpoint User Activities
US8228848B2 (en) 2008-11-17 2012-07-24 Sierra Wireless, Inc. Method and apparatus for facilitating push communication across a network boundary
US8782256B2 (en) 2008-11-26 2014-07-15 Cisco Technology, Inc. Deterministic session load-balancing and redundancy of access servers in a computer network
US7936754B2 (en) 2008-12-12 2011-05-03 At&T Intellectual Property I, L.P. Methods and apparatus to dynamically store network routes for a communication network
US8010691B2 (en) 2008-12-29 2011-08-30 Cisco Technology, Inc. Content tagging of media streams
US7945663B2 (en) 2008-12-29 2011-05-17 Genband Inc. Systems, methods, and computer program products for adaptively adjusting a registration interval of an endpoint
US8341720B2 (en) 2009-01-09 2012-12-25 Microsoft Corporation Information protection applied by an intermediary device
TW201029413A (en) 2009-01-21 2010-08-01 Univ Nat Taipei Technology NAT traversal method in Session Initial Protocol
US20140075567A1 (en) 2009-01-28 2014-03-13 Headwater Partners I Llc Service Processor Configurations for Enhancing or Augmenting System Software of a Mobile Communications Device
US8204060B2 (en) 2009-01-30 2012-06-19 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network
US8243735B2 (en) 2009-01-30 2012-08-14 Palo Alto Research Center Incorporated System for forwarding packets with hierarchically structured variable-length identifiers using an exact-match lookup engine
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
US9282106B2 (en) 2009-02-20 2016-03-08 Comcast Cable Communications, Llc Authenticated communication between security devices
US8000267B2 (en) 2009-02-24 2011-08-16 Palo Alto Research Center Incorporated Network routing with path identifiers
US7941551B2 (en) 2009-02-25 2011-05-10 Microsoft Corporation Tunneling of remote desktop sessions through firewalls
US20100250939A1 (en) 2009-02-26 2010-09-30 Research In Motion Limited System and method of handling encrypted backup data
US8688619B1 (en) 2009-03-09 2014-04-01 Reservoir Labs Systems, methods and apparatus for distributed decision processing
JP4920052B2 (en) 2009-03-11 2012-04-18 株式会社日立製作所 Communication system and server
US8149851B2 (en) 2009-03-16 2012-04-03 Sling Media, Inc. Mediated network address translation traversal
US8225057B1 (en) 2009-03-24 2012-07-17 Netapp, Inc. Single-system configuration for backing-up and restoring a clustered storage system
US8477689B2 (en) 2009-03-26 2013-07-02 The John Hopkins University System and methods for distributed medium access control and QOS scheduling in mobile ad-hoc networks
US8260742B2 (en) 2009-04-03 2012-09-04 International Business Machines Corporation Data synchronization and consistency across distributed repositories
US20120117632A1 (en) 2009-04-29 2012-05-10 Eloy Technology, Llc Method and system for authenticating a data stream
EP2425341B1 (en) 2009-05-01 2018-07-11 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US9444720B2 (en) 2009-05-05 2016-09-13 Ciena Corporation Method and apparatus for multicast implementation in a routed ethernet mesh network
US8009682B2 (en) 2009-05-05 2011-08-30 Citrix Systems, Inc. Systems and methods for packet steering in a multi-core architecture
EP2427993A2 (en) 2009-05-05 2012-03-14 Koninklijke Philips Electronics N.V. Method for securing communications in a wireless network, and resource-restricted device therefor
WO2010140935A1 (en) 2009-06-03 2010-12-09 Telefonaktiebolaget L M Ericsson (Publ) Method and node for finding content in a content distribution network, and method for creating a virtual representation of a content distribution network
US8613100B2 (en) 2009-06-30 2013-12-17 Panasonic Corporation Data exchange processing apparatus and data exchange processing method
US8762707B2 (en) 2009-07-14 2014-06-24 At&T Intellectual Property I, L.P. Authorization, authentication and accounting protocols in multicast content distribution networks
CN101599901B (en) 2009-07-15 2011-06-08 杭州华三通信技术有限公司 Method, system and gateway for remotely accessing MPLS VPN
US8914720B2 (en) 2009-07-31 2014-12-16 Xerox Corporation Method and system for constructing a document redundancy graph
TWI408936B (en) 2009-09-02 2013-09-11 Ind Tech Res Inst Network traversal method and network communication system
JP5061166B2 (en) 2009-09-04 2012-10-31 Kii株式会社 Data synchronization system and data synchronization method
US8352396B2 (en) 2009-09-08 2013-01-08 Hewlett-Packard Development Company, L.P. Systems and methods for improving web site user experience
US8248925B2 (en) 2009-09-08 2012-08-21 Rockstar Bidco, LP Method and apparatus for selecting between multiple equal cost paths
US20110060717A1 (en) 2009-09-08 2011-03-10 George Forman Systems and methods for improving web site user experience
US8880682B2 (en) 2009-10-06 2014-11-04 Emc Corporation Integrated forensics platform for analyzing IT resources consumed to derive operational and architectural recommendations
US8606554B2 (en) 2009-10-19 2013-12-10 Siemens Aktiengesellschaft Heat flow model for building fault detection and diagnosis
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US8805787B2 (en) 2009-10-30 2014-08-12 Verizon Patent And Licensing Inc. Network architecture for content backup, restoring, and sharing
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US8930991B2 (en) 2009-11-19 2015-01-06 Gregory Philpott System and method for delivering content to mobile devices
KR101306667B1 (en) 2009-12-09 2013-09-10 한국전자통신연구원 Apparatus and method for knowledge graph stabilization
US8605657B2 (en) 2009-12-18 2013-12-10 Electronics And Telecommunications Research Institute Mesh routing method and mesh routing apparatus in beacon enabled wireless AD-HOC networks
US8412832B2 (en) 2009-12-23 2013-04-02 Citrix Systems, Inc. Systems and methods for GSLB MEP connection management across multiple core appliances
KR101566883B1 (en) 2009-12-29 2015-11-09 삼성전자주식회사 Network apparatus for requesting data based contents name and method thereof
KR20130009754A (en) 2010-02-01 2013-01-23 점프탭, 인크. Integrated advertising system
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US20110219427A1 (en) 2010-03-04 2011-09-08 RSSBus, Inc. Smart Device User Authentication
US8676914B2 (en) 2010-03-04 2014-03-18 Canon Kabushiki Kaisha Synchronizing services across network nodes
US8769155B2 (en) 2010-03-19 2014-07-01 Brocade Communications Systems, Inc. Techniques for synchronizing application object instances
US8607279B2 (en) 2010-03-23 2013-12-10 Qualcomm Incorporated Induced sleep intervals for devices receiving bursty non-real time broadcast flows
JP5553668B2 (en) 2010-04-14 2014-07-16 株式会社ソニー・コンピュータエンタテインメント Information search method, information search server, and information search system
US8504718B2 (en) 2010-04-28 2013-08-06 Futurewei Technologies, Inc. System and method for a context layer switch
US9811532B2 (en) 2010-05-03 2017-11-07 Panzura, Inc. Executing a cloud command for a distributed filesystem
US9491085B2 (en) 2010-05-24 2016-11-08 At&T Intellectual Property I, L.P. Methods and apparatus to route control packets based on address partitioning
US9521621B2 (en) 2010-06-02 2016-12-13 Qualcomm Incorporated Application-proxy support over a wireless link
CA2714227C (en) 2010-06-18 2011-10-25 Guest Tek Interactive Entertainment Ltd. User-profile server for providing user-tailored entertainment experience across different entertainment devices and method thereof
US8677451B1 (en) 2010-06-22 2014-03-18 Cellco Partnership Enabling seamless access to a domain of an enterprise
WO2012001877A1 (en) 2010-07-01 2012-01-05 パナソニック株式会社 Content transmission/reception system
US8817594B2 (en) 2010-07-13 2014-08-26 Telefonaktiebolaget L M Ericsson (Publ) Technique establishing a forwarding path in a network system
US9262531B2 (en) 2010-07-23 2016-02-16 Applied Minds, Llc System and method for chat message prioritization and highlighting
WO2012014100A1 (en) 2010-07-26 2012-02-02 Telefonaktiebolaget L M Ericsson (Publ) Node and method for computing forwarding trees to distribute traffic in a network
US8244881B2 (en) 2010-08-06 2012-08-14 Palo Alto Research Center Incorporated Service virtualization over content-centric networks
US8553562B2 (en) 2010-09-08 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism
CN102404609A (en) 2010-09-15 2012-04-04 日立民用电子株式会社 Transmitting apparatus and receiving apparatus
WO2012053162A1 (en) 2010-10-18 2012-04-26 日本電気株式会社 Name-database server, name-resolution system, entry-search method, and entry-search program
CN102143199A (en) 2010-10-19 2011-08-03 华为技术有限公司 Content acquisition method, node and content network
KR20120054902A (en) 2010-11-22 2012-05-31 한국전자통신연구원 Method, apparatus and system for multicasting for intermittently connected networks
EP2458548A1 (en) 2010-11-30 2012-05-30 France Telecom System and method for implementing dynamic access control rules to personal cloud information
KR20120058782A (en) 2010-11-30 2012-06-08 삼성전자주식회사 Terminal and intermediate node in content oriented network environment and method of commnication thereof
US8751664B2 (en) 2010-12-16 2014-06-10 Palo Alto Research Center Incorporated Custodian-based routing in content-centric networks
KR20120070410A (en) 2010-12-21 2012-06-29 한국전자통신연구원 Communication node and communication method
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
KR20140004185A (en) 2011-01-25 2014-01-10 인터디지탈 패튼 홀딩스, 인크 Method and apparatus for automatically discovering and retrieving content based on content identity
US9285802B2 (en) 2011-02-28 2016-03-15 Emerson Electric Co. Residential solutions HVAC monitoring and diagnosis
KR20120100046A (en) 2011-03-02 2012-09-12 삼성전자주식회사 Apparatus and method for access control of contents in distributed environment network
US8554951B2 (en) 2011-03-08 2013-10-08 Rackspace Us, Inc. Synchronization and ordering of multiple accessess in a distributed system
JP5648737B2 (en) 2011-03-11 2015-01-07 富士通株式会社 Communication apparatus and communication method
FR2972884A1 (en) 2011-03-15 2012-09-21 France Telecom COMMUNICATION METHOD IN COMMUNICATION NETWORK WITH ROUTING BY NAME
US8705363B2 (en) 2011-04-05 2014-04-22 Telefonaktiebolaget L M Ericsson (Publ) Packet scheduling method and apparatus
US8462781B2 (en) 2011-04-06 2013-06-11 Anue Systems, Inc. Systems and methods for in-line removal of duplicate network packets
TW201312980A (en) 2011-05-03 2013-03-16 Interdigital Patent Holdings Content identification, retrieval and routing in the Internet
WO2012154657A2 (en) 2011-05-06 2012-11-15 The Penn State Research Foundation Robust anomaly detection and regularized domain adaptation of classifiers with application to internet packet-flows
US20120291102A1 (en) 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8837277B2 (en) 2011-06-01 2014-09-16 Cisco Technology, Inc. Source routing convergence in constrained computer networks
TW201720194A (en) 2011-06-01 2017-06-01 內數位專利控股公司 Content delivery network interconnection (CDNI) mechanism
US8667172B2 (en) 2011-06-07 2014-03-04 Futurewei Technologies, Inc. Method and apparatus for content identifier based radius constrained cache flooding to enable efficient content routing
KR20120136507A (en) 2011-06-09 2012-12-20 삼성전자주식회사 Node apparatus and method that prevent overflow of pending interest table in network system of name base
US8332357B1 (en) 2011-06-10 2012-12-11 Microsoft Corporation Identification of moved or renamed files in file synchronization
KR20120137726A (en) 2011-06-13 2012-12-24 삼성전자주식회사 A transmission node and a receiver node of a contents centric network and a communination method thereof
WO2012177681A2 (en) 2011-06-20 2012-12-27 Aces & Eights Corporation Systems and methods for digital forensic triage
US20120323933A1 (en) 2011-06-20 2012-12-20 Microsoft Corporation Displaying notifications based on importance to the user
WO2013000165A1 (en) 2011-06-30 2013-01-03 France Telecom Research & Development Beijing Company Limited Data routing
US9218216B2 (en) 2011-07-22 2015-12-22 Cisco Technology, Inc. Centrally driven performance analysis of low power and Lossy Networks
EP2737404A4 (en) 2011-07-26 2015-04-29 Light Cyber Ltd A method for detecting anomaly action within a computer network
US8654649B2 (en) 2011-07-27 2014-02-18 Cisco Technology, Inc. Reduced topology routing in shared media communication networks
US8836536B2 (en) 2011-07-29 2014-09-16 Hewlett-Packard Development Company, L. P. Device characterization system and methods
US9900224B2 (en) 2011-08-04 2018-02-20 Midokura Sarl System and method for implementing and managing virtual networks
WO2013031124A1 (en) 2011-08-26 2013-03-07 パナソニック株式会社 Terminal device, verification device, key distribution device, content playback method, key distribution method, and computer program
US8873409B2 (en) 2011-08-30 2014-10-28 Cisco Technology, Inc. Installing and using a subset of routes for forwarding packets
US8694675B2 (en) 2011-09-01 2014-04-08 Futurewei Technologies, Inc. Generalized dual-mode data forwarding plane for information-centric network
US8862774B2 (en) 2011-09-12 2014-10-14 Cisco Technology, Inc. Dynamic keepalive parameters for reverse path validation in computer networks
JP5804504B2 (en) 2011-09-15 2015-11-04 日本電気株式会社 Route control method for multi-hop wireless network
US8699350B1 (en) 2011-09-15 2014-04-15 Google Inc. Optimizing traffic in a data network
US9026560B2 (en) 2011-09-16 2015-05-05 Cisco Technology, Inc. Data center capability summarization
US8793790B2 (en) 2011-10-11 2014-07-29 Honeywell International Inc. System and method for insider threat detection
US20130090942A1 (en) 2011-10-11 2013-04-11 Safe-Link, Llc Sytem and method for preventing healthcare fraud
US20130110987A1 (en) 2011-10-31 2013-05-02 Electronics And Telecommunications Research Institute Apparatus and method for providing content location information using ospf opaque lsa
KR20130048032A (en) 2011-11-01 2013-05-09 한국전자통신연구원 Routing method in content-centric network
US8447851B1 (en) 2011-11-10 2013-05-21 CopperEgg Corporation System for monitoring elastic cloud-based computing systems as a service
JP5786670B2 (en) 2011-11-17 2015-09-30 ソニー株式会社 Information processing apparatus, information storage apparatus, information processing system, information processing method, and program
FR2982974A1 (en) 2011-11-22 2013-05-24 France Telecom METHOD OF PROCESSING A QUERY IN A COMMUNICATION NETWORK CENTERED ON INFORMATION
US8769524B2 (en) * 2011-12-09 2014-07-01 Disney Enterprises, Inc. HTML directed adaptive features for mobile applications
CN103988458B (en) 2011-12-09 2017-11-17 华为技术有限公司 The method of coding network message in network based on content center network
CN104170312B (en) 2011-12-15 2018-05-22 英特尔公司 For using the method and apparatus that hardware security engine is securely communicated by network
CN103098090B (en) 2011-12-21 2015-01-21 中国科学院自动化研究所 Multiparameter three-dimensional magnetic resonance imaging brain tumor partition method
US8718064B2 (en) 2011-12-22 2014-05-06 Telefonaktiebolaget L M Ericsson (Publ) Forwarding element for flexible and extensible flow processing software-defined networks
KR101913313B1 (en) 2011-12-28 2018-10-31 삼성전자주식회사 A implementation method of contents centric network in a gateway using internet protocol based networks and a gateway thereof
US9349103B2 (en) 2012-01-09 2016-05-24 DecisionQ Corporation Application of machine learned Bayesian networks to detection of anomalies in complex systems
KR20130093812A (en) 2012-01-12 2013-08-23 삼성전자주식회사 A communication method of contents router to control a traffic transmission rate in a content centric network and the content router
KR20130093813A (en) 2012-01-12 2013-08-23 삼성전자주식회사 A communication method of node prefetching segments of contents in a content centric network and the node
US8718055B2 (en) 2012-01-25 2014-05-06 Cisco Technology, Inc. Fast-tracking approach for building routing topologies in fast-moving networks
US20130197698A1 (en) 2012-01-26 2013-08-01 Carrier Corporation HVAC System Fault Root Cause Self-Determination
US8874671B2 (en) 2012-02-10 2014-10-28 Blackberry Limited Electronic message metering and traffic management in a networked environment
BR112014019550A8 (en) 2012-02-13 2017-07-11 Sanofi Aventis Deutschland ADDITIONAL DEVICE TO BE ATTACHED TO MANUALLY OPERAABLE INJECTION DEVICE AND KIT
US9137152B2 (en) 2012-02-16 2015-09-15 Futurewei Technologies, Inc. Method for scalable routing in content-oriented networks
WO2013123410A1 (en) 2012-02-16 2013-08-22 Huawei Technologies Co., Ltd. A method for scalable routing in content-oriented networks
US9621458B2 (en) 2012-02-21 2017-04-11 Qualcomm Incorporated Internet routing over a service-oriented architecture bus
US8762570B2 (en) 2012-02-21 2014-06-24 Futurewei Technologies, Inc. Method and apparatus for adaptive forwarding strategies in content-centric networking
US8949959B2 (en) 2012-02-21 2015-02-03 Cisco Technology, Inc. Reduced authentication times for shared-media network migration
US9270584B2 (en) 2012-02-28 2016-02-23 Cisco Technology, Inc. Diverse paths using a single source route in computer networks
AU2013225926B2 (en) 2012-02-28 2016-01-07 Emerson Electric Co. HVAC system remote monitoring and diagnosis
US8762477B2 (en) 2012-02-28 2014-06-24 Futurewei Technologies, Inc. Method for collaborative caching for content-oriented networks
EP2634991B1 (en) 2012-02-28 2017-08-02 Alcatel Lucent Content-centric networking
US9253021B2 (en) 2012-02-28 2016-02-02 Cisco Technology, Inc. Hierarchical schema to provide an aggregated view of device capabilities in a network
US20140082661A1 (en) 2012-03-06 2014-03-20 Google Inc. Low latency video storyboard delivery with selectable resolution levels
US9729669B2 (en) 2012-03-15 2017-08-08 Alcatel Lucent Method and system for fast and large-scale longest prefix matching
US9030939B2 (en) 2012-03-23 2015-05-12 Cisco Technology, Inc. Building alternate routes in reactive routing networks
WO2013143137A1 (en) 2012-03-31 2013-10-03 France Telecom Research & Development Beijing Company Limited Content centric m2m system
US20130262365A1 (en) 2012-03-31 2013-10-03 Sharp Kabushiki Kaisha Educational system, method and program to adapt learning content based on predicted user reaction
US9237190B2 (en) 2012-04-18 2016-01-12 Samsung Electronics Co., Ltd. Node and method for generating shortened name robust against change in hierarchical name in content-centric network (CCN)
US9515920B2 (en) 2012-04-20 2016-12-06 Futurewei Technologies, Inc. Name-based neighbor discovery and multi-hop service discovery in information-centric networks
US9253087B2 (en) 2012-04-24 2016-02-02 Futurewei Technologies, Inc. Principal-identity-domain based naming scheme for information centric networks
KR20130140932A (en) 2012-05-08 2013-12-26 한국전자통신연구원 Network path computing apparatus, contents requesting node, relay node and information centric network system comprising the same, and method for computing network path using the network system
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
WO2013178528A1 (en) 2012-06-01 2013-12-05 Thomson Licensing Method of data storing and data synchronization in a distributed data storage system
US9235867B2 (en) 2012-06-04 2016-01-12 Microsoft Technology Licensing, Llc Concurrent media delivery
KR101909666B1 (en) 2012-06-08 2018-10-19 삼성전자주식회사 Method and apparatus for handover in mobile content centric network
US8972969B2 (en) * 2012-06-08 2015-03-03 Adobe Systems Incorporated Out of band services updates
US20130339481A1 (en) 2012-06-11 2013-12-19 Samsung Electronics Co., Ltd. Method for content discovery of node in intra-domain and inter-domain in content centric network and node therefor
US9203734B2 (en) 2012-06-15 2015-12-01 Infosys Limited Optimized bi-directional communication in an information centric network
US8817591B2 (en) 2012-06-15 2014-08-26 Cisco Technology, Inc. Inter-domain signaling to update remote path computation elements after a call set-up failure
US9112895B1 (en) 2012-06-25 2015-08-18 Emc Corporation Anomaly detection system for enterprise network security
US9143557B2 (en) 2012-06-27 2015-09-22 Juniper Networks, Inc. Feedback loop for service engineered paths
KR20140009931A (en) 2012-07-13 2014-01-23 삼성전자주식회사 Communication method of contents requester and contents provider for providing contents and real-time streaming contents in a contents centric network based on contents name
US20140032714A1 (en) 2012-07-27 2014-01-30 Interdigital Patent Holdings, Inc. Method and apparatus for publishing location information for a content object
US8934496B2 (en) 2012-07-30 2015-01-13 Cisco Technology, Inc. Reactive and proactive routing protocol interoperation in low power and lossy networks
US9485174B2 (en) 2012-07-30 2016-11-01 Cisco Technology, Inc. Routing using cached source routes from message headers
PL2885904T3 (en) 2012-08-03 2018-09-28 Vasco Data Security International Gmbh User-convenient authentication method and apparatus using a mobile authentication application
US10599830B2 (en) 2012-08-08 2020-03-24 Northend Systems Bv System and method for controlled decentralized authorization and access for electronic records
US8937865B1 (en) 2012-08-21 2015-01-20 Juniper Networks, Inc. Scheduling traffic over aggregated bundles of links
US20150207864A1 (en) * 2012-09-05 2015-07-23 Blocks Global P/L Technology adapted to enable devices for delivering data in a lockdown mode, methods for operating such devices, and reporting on activity at table devices that provide remote content
US9621620B2 (en) 2012-09-14 2017-04-11 Electronics And Telecommunications Research Institute Apparatus and method for providing content with a distributed architecture, and system for providing content with the said apparatus
KR20140044982A (en) 2012-09-21 2014-04-16 한국전자통신연구원 Method for managing content caching based on hop count and network entity thereof
US9081763B2 (en) 2012-10-16 2015-07-14 Sap Se Ranking in cascading learning system
US9015212B2 (en) 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
US9202384B2 (en) 2012-10-31 2015-12-01 D2L Corporation System and method for gating notifications
US9154370B2 (en) 2012-11-05 2015-10-06 Cisco Technology, Inc. Seamless multipath retransmission using source-routed tunnels
US9098353B2 (en) 2012-11-13 2015-08-04 Netronome Systems, Inc. Transactional memory that performs a split 32-bit lookup operation
US9088511B2 (en) 2012-11-19 2015-07-21 Intel Corporation Multi-hop error recovery
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
KR101355767B1 (en) 2012-12-13 2014-02-05 성균관대학교산학협력단 Peer-to-peer group communication in content centric networking
US9769034B2 (en) 2012-12-14 2017-09-19 Futurewei Technologies, Inc. Method and apparatus for policy based routing in information centric networking based home networks
US20140172783A1 (en) 2012-12-17 2014-06-19 Prowess Consulting, Llc System and method for providing computing environment delivery service with offline operations
US8977596B2 (en) * 2012-12-21 2015-03-10 Zetta Inc. Back up using locally distributed change detection
US20140195328A1 (en) 2013-01-04 2014-07-10 Ron Ferens Adaptive embedded advertisement via contextual analysis and perceptual computing
EP2932694B1 (en) 2013-01-07 2017-08-23 Huawei Technologies Co., Ltd. Contextualized information bus
US10194414B2 (en) 2013-01-07 2019-01-29 Futurewei Technologies, Inc. Information centric networking based service centric networking
US9264505B2 (en) 2013-01-31 2016-02-16 Hewlett Packard Enterprise Development Lp Building a semantics graph for an enterprise communication network
US9356827B2 (en) 2013-02-18 2016-05-31 Comcast Cable Communications, Llc Data center node management
US9009465B2 (en) 2013-03-13 2015-04-14 Futurewei Technologies, Inc. Augmenting name/prefix based routing protocols with trust anchor in information-centric networks
US10742601B2 (en) 2013-03-14 2020-08-11 Fortinet, Inc. Notifying users within a protected network regarding events and information
US20140280823A1 (en) 2013-03-14 2014-09-18 Alcatel-Lucent Wire-speed pending interest table
US9847979B2 (en) 2013-03-15 2017-12-19 Verimatrix, Inc. Security and key management of digital content
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9396320B2 (en) 2013-03-22 2016-07-19 Nok Nok Labs, Inc. System and method for non-intrusive, privacy-preserving authentication
WO2014157886A1 (en) 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for executing application
US9507607B2 (en) 2013-05-10 2016-11-29 Vmware, Inc. Virtual persistence
KR102052520B1 (en) 2013-06-11 2019-12-05 삼성전자주식회사 A node and a communication method for supporting content mobility in a content centric network
CN103327027B (en) * 2013-06-28 2017-02-15 清华大学 Content-centric network bottom implementation method, content-centric network and communication method
US9628400B2 (en) 2013-07-24 2017-04-18 Cisco Technology, Inc. Interest forwarding for interactive client anonymity
US9294482B2 (en) 2013-07-25 2016-03-22 Oracle International Corporation External platform extensions in a multi-tenant environment
CN103457999B (en) * 2013-08-06 2016-05-04 北京大学深圳研究生院 A kind of P2P document transmission method based on the NDN network architecture
CN103401795B (en) * 2013-08-07 2016-03-23 电子科技大学 The removing method of transferring content redundancy in a kind of content center network
US9258238B2 (en) 2013-08-30 2016-02-09 Juniper Networks, Inc. Dynamic end-to-end network path setup across multiple network layers
US9882804B2 (en) 2013-09-26 2018-01-30 Cisco Technology, Inc. Co-existence of a distributed routing protocol and centralized path computation for deterministic wireless networks
CN103581341B (en) * 2013-11-25 2016-08-31 中国科学院计算机网络信息中心 A kind of distributed mobility data transmission method of CCN
US20150169758A1 (en) 2013-12-17 2015-06-18 Luigi ASSOM Multi-partite graph database
US9548896B2 (en) 2013-12-27 2017-01-17 Big Switch Networks, Inc. Systems and methods for performing network service insertion
US9338065B2 (en) 2014-01-06 2016-05-10 Cisco Technology, Inc. Predictive learning machine-based approach to detect traffic outside of service level agreements
US9256549B2 (en) 2014-01-17 2016-02-09 Netapp, Inc. Set-associative hash table organization for efficient storage and retrieval of data in a storage system
US9313030B2 (en) 2014-01-22 2016-04-12 Futurewei Technologies, Inc. Method and apparatus for secure ad hoc group device-to-device communication in information-centric network
US9542928B2 (en) 2014-03-25 2017-01-10 Microsoft Technology Licensing, Llc Generating natural language outputs
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network

Also Published As

Publication number Publication date
CN104980487B (en) 2020-03-03
US9473576B2 (en) 2016-10-18
EP2930912A1 (en) 2015-10-14
CN104980487A (en) 2015-10-14
EP2930912B1 (en) 2021-01-27
JP2015201179A (en) 2015-11-12
US20150288754A1 (en) 2015-10-08

Similar Documents

Publication Publication Date Title
KR20150116392A (en) Service discovery using collection synchronization with exact names
KR20150116390A (en) Collection synchronization using equality matched network names
EP2930903B1 (en) Secure synchronization using matched network names
US9276751B2 (en) System and method for circular link resolution with computable hash-based names in content-centric networks
EP2978191B1 (en) System for distributing nameless objects using self-certifying names
US10204013B2 (en) System and method for maintaining a distributed and fault-tolerant state over an information centric network
US10187460B2 (en) Peer-to-peer sharing in a content centric network
EP3176994B1 (en) Explicit content deletion commands in a content centric network
EP3179694A1 (en) Key catalogs in a content centric network
US10742596B2 (en) Method and system for reducing a collision probability of hash-based names using a publisher identifier
US9455835B2 (en) System and method for circular link resolution with hash-based names in content-centric networks
EP2928150A2 (en) Multi-object interest using network names
US10067948B2 (en) Data deduping in content centric networking manifests