KR20150116392A - Service discovery using collection synchronization with exact names - Google Patents
Service discovery using collection synchronization with exact names Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H04L61/305—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
Description
본 개시는 일반적으로는 데이터 동기화에 관련된다. 좀더 상세하게는, 본 개시는 정확한 매칭 이름을 사용하여 네트워크 상의 피어들 간의 컬렉션의 동기화를 실행하는 서비스 디스커버리에 관련된다.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
일부 실시예에서, 매니페스트는 이름 및 대응하는 다이제스트를 지시하지만, 변경된 시간을 지시하지 않는다. 이러한 시스템은, 예를 들면, 텍스트 파일의 이전 버전이 중요하여 시스템에 의해서 보유되는 파일 서버를 포함한다. 다른 실시예에서, 매니페스트는 이름, 대응하는 다이제스트, 그리고 변경 시간을 지시한다. 시스템은 변경 시간을 사용하여 콘텐츠 아이템의 어떤 버전이 보유되어야 하는지를 결정한다. 예를 들면, 만일 콘텐츠 아이템이 링크 상태를 지시하면, 시스템은 이전 버전에 관련된 정보를 필요로 하지 않는다. 이 경우에, 가장 최근에 변경된 시간을 갖는 콘텐츠 오브젝트가 보유된다. 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
/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
원격 매니페스트를 소유한, 로컬 노드(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
도 3은 본 발명의 일 실시예에 따른 원격 매니페스트와 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도(300)이다. 아래의 설명에서, 로컬 노드는 도 2에 노드(106)로서 묘사되어 있으며, 원격 노드는 도 2에 노드(102)로서 묘사되어 있다. 로컬 노드는 원격 노드에서 원격 매니페스트에 대응하는 광고를 수신한다(동작 302). 매니페스트는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다. 로컬 노드는 원격 매니페스트와 로컬 매니페스트가 콘텐츠 오브젝트의 동일한 컬렉션을 지시한다고 결정한다(도 2의 광고된_컬렉션_점검 프로시져(222)에 대응하는, 동작 304). 일부 실시예에서, 로컬 노드는 매니페스트의 컬렉션 이름이나 또는 라우팅 프리픽스를 비교함으로써 매니페스트가 동일한 컬렉션을 지시하는지 여부를 결정한다. 로컬 노드는 다음으로 로컬 매니페스트의 루트 해시값이 원격 매니페스트의 루트 해시값과 상이한지 여부를 결정한다(동작 306). 매니페스트의 루트 해시값은 매니페스트에 대한 유일한 식별자이며, 매니페스트 내에 표현된 콘텐츠 오브젝트의 다이제스트의 부가적인 해시값을 포함한다. 만일 로컬 매니페스트의 루트 해시값이 동일하다면(결정 308), 프로시저는 복귀한다.FIG. 3 is a
만일 로컬 매니페스트의 루트 해시값이 원격 매니페스트의 루트 해시값과 동일하지 않다면(결정 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 (
로컬 노드는 원격 매니페스트에 식별된 콘텐츠 오브젝트가 로컬 매니페스트에 식별된 콘텐츠 오브젝트와 상이한지 여부를 결정한다(도 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 (
만일 로컬 노드가 변경되면, 로컬 노드는 새로운 루트 해시값을 광고한다. 그것은 곧바로 그렇게 하거나, 또는 네트워크나 다른 타이밍 고려사항에 기초하여 다음 광고를 스케줄링할 수 있다. 예를 들면, 로컬 시스템은 초당 적어도 한번씩, 그러나 초당 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
만일 원격 매니페스트로부터의 콘텐츠 오브젝트의 변경 시간이 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트보다 덜 최근이라면(결정 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 (
도 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
도 1과 관련되어 설명된 것처럼, 매니페스트(120)는 컬렉션 내에 표현된 각 콘텐츠 오브젝트에 대한 이름 및 대응하는 다이제스트를 지시할 수 있다. 일부 실시예에서, 매니페스트(120)는 컬렉션에 표현된 각 콘텐츠 오브젝트에 대한 변경 시간을 포함할 수 있다. 변경 시간 필드의 사용은 기본 어플리케이션이나 수행되고 있는 서비스에 종속된다. 매니페스트(120)는 컬렉션 이름(124)을 지시한다는 것을 주목하라. 도 6b-e에 묘사된 매니페스트는 또한 컬렉션 이름을 포함하지만, 매니페스트는 데이터의 동일한 컬렉션을 포함하기 때문에, 컬렉션 이름은 도 6b-e에 포함되지 않는다.As described in connection with FIG. 1, the
도 6b-6e는 두 개의 노드(102, 106)를 묘사하며, 이들은 각각 매니페스트를 포함한다. 본 예에서, 노드(102)는 원격 노드이고 노드(106)는 로컬 노드이다. 로컬 노드(106)는 매니페스트(160)를 포함하고, 원격 노드(102)는 매니페스트(140)를 포함한다. 매니페스트(140과 160)는 동일한 컬렉션 이름이나 라우팅 프리픽스를 포함하고, 따라서 콘텐츠 오브젝트나 데이터의 동일한 컬렉션을 포함한다. 시간은 라벨 T1, T2 등으로 지시되며, 매니페스트(140, 160)의 콘텐츠는 이들 시간 라벨에 관련되어 묘사된다.Figures 6b-6e depict two
매니페스트는 도 6a의 루트 해시(122)로서 도시되는, 루트 해시값에 의해 더 식별되고, 이는 컬렉션의 개별적인 콘텐츠 오브젝트의 다이제스트에 기초하는 부가적인 해시값이다. 아래의 예에서, 루트 해시값과 다이제스트는 괄호안의 번호, 예를 들면, "{999}"로서 지시되지만, 그러나 그 숫자는 이보다 훨씬 클 수 있다. 추가로, 시간에 따라 변하는 콘텐츠 오브젝트의 다이제스트와 매니페스트(140, 160)의 루트 해시값은 부가적인 해시값의 동일한 표현으로서만 묘사된다.The manifest is further identified by the root hash value, shown as the
도 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
도 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
연속하여, 원격 노드(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
도 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
연속하여, 로컬 노드(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
도 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
로컬 노드는 변경 시간 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
일부 실시예에서, 시스템은 매니페스트(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 "). ≪ / RTI > In another embodiment, when the
일부 실시예에서, 시스템은 콘텐츠-중심 네트워크(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" ≪ / RTI > 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: < RTI ID = 0.0 >
"/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
장치는 네트워크 상의 어느 노드에도 존재할 수 있으며, 여기서 각 장치는 서비스 레코드의 컬렉션을 표현하는 매니페스트를 운반한다. 두 장치는 데이터의 동일한 컬렉션, 예를 들면, 동일한 네임스페이스에 대한 서비스 레코드를 표현하는 매니페스트를 운반하며, 여기서 매니페스트는 여기 설명되는 방법을 사용하여 동기화될 수 있다. 용어 "로컬 노드"와 "원격 노드"는 콘텐츠-중심 네트워크(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,
도 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
도 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
도 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
동작 동안, 시간 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 > 780 < / RTI > 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
도 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
도 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.
도 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
낸시는, 청킹 프로토콜에 기초하여,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
"/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
"/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
도 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
콘텐츠-프로세싱 시스템(1118)은 컴퓨터 통신 시스템(1102)에 의해 실행될 때, 컴퓨터 통신 시스템(1102)이 본 개시에 설명된 방법 및/또는 프로세스를 수행하도록 유발할 수 있는 명령을 포함할 수 있다. 특히, 콘텐츠-프로세싱 시스템(1118)은 원격 노드의 원격 매니페스트에 대응하는 광고를 수신하는 명령을 포함할 수 있고, 이때 광고는 원격 장치에 대응하는 서비스 레코드를 포함한다(광고 메커니즘 1122). 콘텐츠-프로세싱 시스템(1118)은 로컬 장치의 로컬 매니페스트에 대응하는 광고를 전송하는 명령을 포함할 수 있고, 이때 광고는 로컬 장치에 대응하는 서비스 레코드를 포함한다(광고 메커니즘 1122). 콘텐츠-프로세싱 시스템(1118)은 또한, 갱신된 로컬 매니페스트에 대응하는 광고를 전송하는 명령을 포함할 수 있고, 이때 매니페스트는 매니페스트 내의 서비스 레코드의 타임투리브(TTL) 의 발생에 따라 삭제되는 서비스 레코드에 기초하여 갱신된다(광고 매커니즘 1122).The content-
콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 매니페스트와 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 원격 매니페스트의 광고된 서비스 레코드를 로컬 매니페스트에 삽입함으로써, 로컬 장치의 로컬 매니페스트를 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 매커니즘 1124). 콘텐츠-프로세싱 시스템(1118)은 또한, 원격 장치로부터의 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스 레코드의 일련번호보다 더 크다는 결정에 응답하여, 로컬 매니페스트 내의 서비스 레코드의 값을 원격 장치로부터 광고된 서비스 레코드의 값으로 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 메커니즘 1124). 콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 매니페스트 내의 서비스 레코드의 타임투리브(TTL)의 발생에 응답하여, 로컬 매니페스트로부터 서비스 레코드를 삭제함으로써 로컬 매니페스트를 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 매커니즘 1124).The content-
콘텐츠-프로세싱 시스템(1118)은 원격 장치의 원격 매니페스트에 대응하는 광고에 대한 질의를 전송하고, 그리고 로컬 매니페스트에 대응하는 광고에 대하여 원격 장치로부터 질의를 수신하는 명령을 더 포함할 수 있으며, 이때 광고는 장치에 대응하는 서비스 레코드를 포함한다(질의 메커니즘 1126). The content-
콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 장치에 의해서, 초기화하고, 로컬 장치에 대응하는 서비스 레코드를 생성하고, 그리고 서비스 레코드가 포함되는 로컬 장치에 대한 매니페스트를 생성하는 명령을 포함할 수 있다(초기화 메커니즘 1128). The content-
콘텐츠-프로세싱 시스템(1118)은 또한, 원격 매니페스트에 대한 요청을 송신하고, 원격 매니페스트를 수신하고, 원격 매니페스트와 연관된 콘텐츠 오브젝트나 서비스 레코드에 대한 요청을 송신하고, 그리고 원격 매니페스트와 연관된 요청된 콘텐츠 오브젝트나 서비스 레코드를 수신하는 명령을 포함할 수 있다(통신 메커니즘 1120). 콘텐츠-프로세싱 시스템(1118)은, 청킹 프로토콜(chunking protocol)에 기초하여, 원격 매니페스트를 검색하도록 인터레스트들의 세트를 송신하여, 각 인터레스트는 상기 매니페스트의 넘버링된 청크에 대응하게 하는, 명령을 포함할 수 있다(통신 메커니즘 1120). 콘텐츠-프로세싱 시스템(1118)은 매니페스트에 대응하는 광고를 전송하고, 매니페스트에 대한 요청의 수신에 응답하여 원격 노드로 상기 매니페스트를 전송하고, 상기 매니페스트와 연관된 요청된 콘텐츠 오브젝트나 서비스 레코드를 원격 노드로 전송하고, 그리고 각 인터레스트가 매니페스트의 넘버링된 청크에 대응하도록 청킹 프로토콜에 기초하여 인터레스트의 세트를 수신하는 명령을 포함할 수 있다(통신 메커니즘 1120). The content-
콘텐츠-프로세싱 시스템(1118)은, 수신된 원격 매니페스트에 기초하여, 원격 매니페스트에 표현된 어떤 서비스 레코드가 로컬 매니페스트에 표현된 서비스 레코드와 상이한지 결정하는 명령을 더 포함할 수 있다(차이 결정 메커니즘 1130). The content-
데이터(1132)는 본 개시에 기술된 방법 및/또는 프로세스에 의해서 입력으로 요청되거나 출력으로 생성되는 여느 데이터를 포함할 수 있다. 특히, 데이터(1132)는 적어도: 서비스 레코드의 컬렉션을 표현하는 매니페스트; 서비스 레코드; 서비스 레코드의 이름; 서비스 레코드의 설명; 일련번호; 초 단위 타임투리브(TTL); 서비스 레코드의 대응하는 다이제스트; 매니페스트에 의해 표현되는 서비스 레코드의 다이제스트에 기초하는 부가적인 해시값인, 매니페스트의 루트 해시값; 매니페스트를 식별하는, 매니페스트의 네임스페이스나, 또는 라우팅 프리픽스; 패킷이 데이터의 광고에 대응한다고 결정하는 식별자; 패킷이 데이터의 이송에 대응한다고 결정하는 식별자; 그리고 청킹 프로토콜에 기초한 매니페스트의 넘버링된 청크에 대응하는 숫자를 저장할 수 있다.The
본 상세한 설명에 기술되는 데이터 구조와 코드는 전형적으로 컴퓨터-판독가능한 저장 매체에 저장되며, 이는 컴퓨터 시스템에 의한 사용을 위하여 코드 및/또는 데이터를 저장할 수 있는 장치나 매체일 수 있다. 컴퓨터-판독 가능한 저장 매체는 휘발성 메모리, 비-휘발성 메모리, 디스크 드라이브 같은 자성 및 광 저장 장치, 자성 테입, 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)
프로세서;
상기 프로세서에 연결되고 컴퓨터에 의해서 실행될 때 상기 컴퓨터가 방법을 수행하도록 야기하는 명령들을 저장하는 저장 장치를 포함하고, 상기 방법은
로컬 장치에 의해서, 원격 장치의 원격 매니페스트(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.
원격 장치의 원격 매니페스트에 대응하는 제2 광고에 대한 질의(query)를 전송하는 단계를 더 포함하는, 컴퓨터 시스템.The method of claim 1,
And sending a query for a second advertisement corresponding to the remote manifest of the remote device.
상기 로컬 장치의 상기 로컬 매니페스트에 대응하는 제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.
상기 로컬 장치에 의해서 송신되거나 수신되는 패킷은
상기 매니페스트를 식별하는 라우팅될 수 있는 프리픽스;
상기 패킷이 데이터의 이송에 대응한다고 결정하는 식별자;
상기 패킷이 데이터의 광고에 대응한다고 결정하는 식별자;
상기 매니페스트의 루트 해시값;
상기 매니페스트 내의 서비스 레코드의 이름; 및
서비스 레코드
중의 하나 이상을 지시하는, 컴퓨터 시스템.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 > of the computer system.
상기 로컬 매니페스트를 갱신하는 단계는
상기 제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.
상기 로컬 장치가 어떤 매니페스트도 포함하지 않을 때, 네트워크상으로 초기화하는 단계;
상기 로컬 장치에 대응하는 서비스 레코드를 생성하는 단계; 및
상기 서비스 레코드가 포함된 상기 로컬 장치에 대한 매니페스트를 생성하는 단계를 더 포함하는, 컴퓨터 시스템.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.
상기 로컬 매니페스트 내의 서비스 레코드의 타임투리브(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.
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)
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)
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 |
-
2014
- 2014-04-07 US US14/247,140 patent/US9473576B2/en active Active
-
2015
- 2015-03-17 JP JP2015053785A patent/JP2015201179A/en active Pending
- 2015-03-20 CN CN201510124613.0A patent/CN104980487B/en active Active
- 2015-03-23 KR KR1020150040169A patent/KR20150116392A/en unknown
- 2015-03-24 EP EP15160679.5A patent/EP2930912B1/en active Active
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 |