KR20150116392A - 정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리 - Google Patents

정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리 Download PDF

Info

Publication number
KR20150116392A
KR20150116392A KR1020150040169A KR20150040169A KR20150116392A KR 20150116392 A KR20150116392 A KR 20150116392A KR 1020150040169 A KR1020150040169 A KR 1020150040169A KR 20150040169 A KR20150040169 A KR 20150040169A KR 20150116392 A KR20150116392 A KR 20150116392A
Authority
KR
South Korea
Prior art keywords
manifest
local
remote
service record
node
Prior art date
Application number
KR1020150040169A
Other languages
English (en)
Inventor
이. 모스코 마크
Original Assignee
팔로 알토 리서치 센터 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 팔로 알토 리서치 센터 인코포레이티드 filed Critical 팔로 알토 리서치 센터 인코포레이티드
Publication of KR20150116392A publication Critical patent/KR20150116392A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • H04L61/305
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

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

Abstract

일 실시예는 정확한 매칭 이름에 기초하여 동기화 프로토콜을 사용함으로써 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초한 서비스 디스커버리를 용이하게 하는 시스템을 제공한다. 동작 동안, 로컬 장치는 원격 장치의 원격 매니페스트(manifest)에 대응하는 광고를 수신한다. 매니페스트는 서비스 레코드의 컬렉션을 표현하고, 광고는 상기 원격 장치에 대응하는 서비스 레코드를 포함한다. 로컬 장치는, 상기 로컬 매니페스트와 상기 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 상기 광고된 서비스 레코드를 상기 로컬 매니페스트로 삽입함으로써, 그의 로컬 매니페스트를 갱신한다.

Description

정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리{SERVICE DISCOVERY USING COLLECTION SYNCHRONIZATION WITH EXACT NAMES}
본 개시는 일반적으로는 데이터 동기화에 관련된다. 좀더 상세하게는, 본 개시는 정확한 매칭 이름을 사용하여 네트워크 상의 피어들 간의 컬렉션의 동기화를 실행하는 서비스 디스커버리에 관련된다.
많은 컴퓨팅 어플리케이션에서, 때로는 네트워크 상의 피어들이 그들의 각 데이터 컬렉션(collection)을 동기화하는 것이 중요하다. 디지털 콘텐츠의 확산은 조정을 필요로 하는 방대한 양의 컬렉션을 생성한다. 콘텐츠-중심 네트워크(CCN) 아키텍처는 그러한 디지털 콘텐츠로의 접근과 프로세싱을 용이하게 하도록 고안되었다. CCN은 엔티티, 또는 네트워크 클라이언트, 전달자(예를 들면, 라우터) 및 콘텐츠 제작자와 같은 노드를 포함하는데, 이들은 다양한 콘텐츠 아이템에 대한 "인터레스트" 패킷을 송신하고 그리고 대답으로 콘텐츠 오브젝트를 수신함으로써 서로 통신한다. CCN 인터레스트와 콘텐츠 오브젝트는 유일한 이름에 기초하여 식별되며, 이것은 전형적으로 가장 일반적인 레벨에서 가장 특정한 레벨로 정렬된 인접한 이름 컴포넌트를 포함하는 계층적으로 구조화된 가변 길이 식별자(HSVLI)이다.
현재의 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").
CCN 아키텍처가 진화함에 따라서, 현재의 가장 긴-프리픽스 매칭보다는, 정확한 이름 매칭의 사용을 허용하는 동기화 프로토콜에 기초하여 장치들과 이들 장치에 의하여 제공되는 서비스를 발견하고자 하는 요구가 있다. 이러한 새로운 아키텍처에서, 현재의 CCN 동기화 프로토콜은 통하지 않을 것이다.
일 실시예는 정확한 매칭 이름에 기초하여 동기화 프로토콜을 사용함으로써 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초한 서비스 디스커버리를 용이하게 하는 시스템을 제공한다. 동작 동안, 로컬 장치는 원격 장치의 원격 매니페스트(manifest)에 대응하는 광고를 수신한다. 매니페스트는 서비스 레코드의 컬렉션을 표현하고, 광고는 상기 원격 장치에 대응하는 서비스 레코드를 포함한다. 로컬 장치는, 상기 로컬 매니페스트와 상기 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 상기 광고된 서비스 레코드를 상기 로컬 매니페스트로 삽입함으로써, 그의 로컬 매니페스트를 갱신한다.
일부 실시예에서, 상기 로컬 장치는 원격 장치의 원격 매니페스트에 대응하는 광고에 대한 질의(query)를 전송한다.
일부 실시예에서, 상기 로컬 장치는 로컬 장치의 로컬 매니페스트에 대응하는 광고를 전송하고, 그리고 상기 광고는 상기 로컬 장치에 대응하는 서비스 레코드를 포함한다.
일부 실시예에서, 상기 로컬 장치는 로컬 매니페스트에 대응하는 광고에 대한 질의를 원격 장치로부터 수신하고, 그리고 상기 광고는 상기 로컬 장치에 대응하는 서비스 레코드를 포함한다.
일부 실시예에서, 상기 로컬 장치에 의해서 송신되거나 수신되는 패킷은 상기 매니페스트를 식별하는 라우팅될 수 있는 프리픽스, 상기 패킷이 데이터의 이송에 대응한다고 결정하는 식별자, 상기 패킷이 데이터의 광고에 대응한다고 결정하는 식별자, 상기 매니페스트의 루트 해시값, 상기 매니페스트 내의 서비스 레코드의 이름 및 서비스 레코드 중의 하나 이상을 지시한다.
일부 실시예에서, 상기 광고의 서비스 레코드의 일련 번호가 상기 광고의 서비스 레코드와 동일한 이름을 갖는 상기 로컬 매니페스트 내의 서비스 레코드의 일련 번호보다 더 크다는 결정에 응답하여, 상기 로컬 장치는 상기 로컬 매니페스트 내의 서비스 레코드의 값을 상기 광고의 서비스 레코드의 값으로 갱신한다.
일부 실시예에서, 상기 로컬 장치는, 매니페스트 없는, 네트워크상에 초기화한다. 상기 로컬 장치는 상기 로컬 장치에 대응하는 서비스 레코드를 생성하고, 상기 서비스 레코드가 포함된 상기 로컬 장치에 대한 매니페스트를 생성한다.
일부 실시예에서, 상기 로컬 장치는 상기 로컬 매니페스트의 루트 해시값이 상기 광고된 원격 매니페스트의 루트 해시값과 상이하다는 결정에 응답하여, 원격 매니페스트에 대한 요청을 송신하며, 이때 루트 해시값은 매니페스트의 서비스 레코드를 식별한다. 수신된 원격 매니페스트에 기초하여, 상기 로컬 장치는 원격 매니페스트에 표현된 어떤 서비스 레코드가 로컬 매니페스트 내에 표현된 서비스 레코드와 상이한지 결정한다. 로컬 장치는 상이한 서비스 레코드에 대한 인터레스트의 세트를 전송한다.
일부 실시예에서, 로컬 매니페스트 내의 서비스 레코드의 타임투리브(time to live, TTL)의 발생에 응답하여, 로컬 장치는 상기 로컬 매니페스트로부터 상기 만료된 서비스 레코드를 삭제함으로써 상기 로컬 매니페스트를 갱신한다. 로컬 장치는 상기 갱신된 로컬 매니페스트에 대응하는 광고를 전송한다.
도 1은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 노드들 사이의 매니페스트의 동기화를 용이하게 하는 시스템을 보여준다.
도 2는 본 발명의 일 실시예에 따른, 로컬 노드와 원격 노드 간의 통신을 보여준다.
도 3은 본 발명의 일 실시예에 따른 원격 매니페스트와 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른, 변경된 시간에 기초하여 원격 매니페스트 및 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른, 매니페스트에 대응하는 광고를 전송하는 방법을 보여주는 흐름도이다.
도 6a는 본 발명의 일 실시예에 따른, 컬렉션에 표현된 매니페스트와 콘텐츠 오브젝트의 포맷을 보여주는 테이블이다.
도 6b는 본 발명의 일 실시예에 따른, 로컬 매니페스트에 원격 매니페스트로부터 온 콘텐츠 오브젝트가 누락된, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 6c는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이하고, 원격 노드가 그의 매니페스트를 광고하는, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 6d는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이하고, 로컬 노드가 그의 매니페스트를 광고하는, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 6e는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트가 원격 매니페스트 내의 다이제스트와 상이한, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
도 7은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 컴퓨터 시스템을 보여준다.
도 8은 본 발명의 일 실시예에 따른, 두 장치 간의 통신을 보여준다.
도 9a와 9b는 본 발명의 일 실시예에 따른, 네트워크 내의 두 장치의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 방법을 보여주는 흐름도이다.
도 10a는 본 발명의 일 실시예에 따른, 컬렉션 내에 표현된 매니페스트와 서비스 레코드의 포맷을 묘사하는 테이블을 보여준다.
도 10b는 본 발명의 일 실시예에 따른, 로컬 장치가 원격 매니페스트를 검색할 필요 없는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 10c는 본 발명의 일 실시예에 따른, 로컬 장치가 원격 장치로부터 갱신된 서비스 레코드를 수신하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 10d는 본 발명의 일 실시예에 따른, 로컬 장치가 초기화하고, 서비스 디스커버리를 수행하고, 원격 매니페스트를 검색하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 11은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 컴퓨터 통신 시스템을 보여준다.
도면에서, 동일한 참조번호는 동일한 특징의 구성요소를 참조한다.
다음의 설명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 실시예들을 만들고 사용하는 것을 가능하게 하도록 표현되고, 특정 응용과 요구 사항의 맥락에서 제공된다. 개시된 실시예에 대한 다양한 변경이 본 발명이 속하는 분야에서 통상의 지식을 가진자에게 명백할 것이며, 여기 정의되는 일반적인 원칙은 본 개시의 정신이나 영역으로부터 벗어나지 않고 다른 실시예와 응용에 적용될 수 있다. 따라서, 본 발명은 여기 설명되는 실시예에 한정되지 않고, 다만 여기 개시되는 원칙과 특징에 일치하는 가장 넓은 영역에 일치한다.
본 발명의 실시예들은 정확한 매칭 이름을 사용함으로써 네트워크 상의 노드들 간의 매니페스트의 동기화에 기초하여, 콘텐츠 중심 네트워크(CCN) 내의 장치들과 이들 장치에 의해서 제공되는 서비스 디스커버리를 용이하게 하는 시스템을 제공한다. 본 발명의 실시예들의 다음의 설명에서, 비록 역할이 반전될 수 있지만, 관련된 CCN 엔티티는 로컬 노드와 원격 노드이다. 일부 실시예에서, 관련된 CCN 엔티티는 로컬 노드의 장치("로컬 장치")와 원격 노드의 장치("원격 장치")이다. 각 로컬 및 원격 노드 또는 장치는 매니페스트와 연관되고, 이는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다. 매니페스트는 특정 프리픽스에 의해서 식별되고, 동일한 프리픽스를 갖는 두 매니페스트는 콘텐츠 오브젝트의 동일한 컬렉션에 대응한다.
일부 실시예에서, 매니페스트는 콘텐츠 오브젝트를 식별하는 정렬된 리스트이다. 컬렉션 내의 각 콘텐츠 오브젝트는 그의 이름 및 대응하는 다이제스트에 의해서 식별되고, 다이제스트는 콘텐츠 오브젝트의 해시값이다. 일부 실시예에서, 각 콘텐츠 오브젝트는 또한 콘텐츠가 변경된 시간을 지시하는 변경 시간에 의해서 식별된다. 본 설명의 목적상, 매니페스트는 정렬된 리스트로서 설명되지만, 그러나 다른 실시예는 동기화 트리로서 구조화된 매니페스트를 포함하며, 이는 콘텐츠 오브젝트의 내재된 컬렉션만이 아니라 콘텐츠 오브젝트를 포함한다. 시스템은 매니페스트에 대한 루트 해시값을 생성한다. 루트 해시값은 컬렉션의 개별적인 콘텐츠 오브젝트의 해시값에 기초하는 부가적인 해시값이다. 매니페스트의 루트 해시값은 매니페스트에 대한 유일한 식별자이다.
시스템은 로컬 매니페스트 내의 컬렉션을 정확한 매칭 이름을 사용하여 로컬 매니페스트 내의 콘텐츠와 동기화한다. 원격 노드는 그의 매니페스트의 해시를 광고한다. 로컬 노드는 광고를 수신하고 광고된 원격 매니페스트가 로컬 매니페스트에 대응하는지 결정하는데, 이때 원격 매니페스트와 로컬 매니페스트는 콘텐츠 오브젝트의 동일한 컬렉션에 대응한다. 로컬 노드는 로컬 매니페스트의 루트 해시값과 원격 매니페스트의 루트 해시값을 비교함으로써 로컬 매니페스트의 콘텐츠가 원격 매니페스트의 콘텐츠와 동기인지 여부를 결정한다. 만일 그들이 매칭하지 않는다면, 로컬 노드는 원격 매니페스트에 대한 요청을 원격 노드로 송신함으로써 원격 매니페스트를 검색한다. 일부 실시예에서, 로컬 노드는 청킹 프로토콜에 기초하여 인터레스트의 세트를 송신하고, 각 인터레스트는 매니페스트의 넘버링된 청크에 대응한다. 일부 실시예에서, 원격 노드는 매니페스트에 대응하는 청크의 수를 광고할 수 있다. 원격 매니페스트를 소유하는, 로컬 노드는 원격 매니페스트 내에 지시된 어떤 콘텐츠 오브젝트가 로컬 매니페스트에 지시된 콘텐츠 오브젝트와 상이한지를 결정한다. 연속으로, 로컬 노드는 상이한 콘텐츠 오브젝트들에 대한 인터레스트의 세트를 전송하되, 인터레스트는 요청된 콘텐츠 오브젝트의 이름을 포함한다. 일부 실시예에서, 인터레스트는 또한 요청된 콘텐츠 오브젝트의 대응하는 해시값을 포함한다. 이러한 방식으로, 시스템은 요청에 매칭하는 정확한 이름을 사용하여 상이한 콘텐츠 오브제트들의 세트를 수신한다.
일부 실시예에서, 매니페스트는 완전한 매니페스트를 송신하기보다는, rsync 프로토콜에서의 롤링 해시 기법(rolling hash technique) 같은, 구조화된 기술을 사용하여 전송된다.
일부 실시예에서, 컬렉션 내의 콘텐츠 오브젝트는 콘텐츠 오브젝트가 변경된 시간을 지시하는, 대응하는 변경된 시간으로 더 식별된다. 상이하다고 결정된 각 콘텐츠 오브젝트에 대하여, 로컬 노드는 원격 매니페스트 내의 콘텐츠 오브젝트의 변경된 시간이 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트보다 더 최근인지 또는 덜 최근인지 여부를 결정한다. 만일 원격 콘텐츠 오브젝트가 좀 더 최근의 버전에 대응한다면, 로컬 노드는 로컬 매니페스트 내의 콘텐츠 오브젝트의 값을 원격 매니페스트로부터의 콘텐츠 오브젝트의 값으로 갱신한다. 콘텐츠 아이템을 데이터 컬렉션으로부터 제거하거나 또는 "화이트 아웃(white-out)"하는 방법에 대한 설명이 미국 특허출원 13/681,306에 포함되어 있다.
콘텐츠 오브젝트의 이름은 계층적으로 구조화된 가변 길이 식별자(HSLVI)이고 버전 번호나 타임 스탬프 또는 내재된 정렬 순서를 지시하며, 이는 콘텐츠 오브젝트의 가장 최근의 버전을 결정하도록 매니페스트 내의 변경 시간 대신에 사용된다.
일부 실시예에서, 만일 원격 콘텐츠 오브젝트가 덜 최근의 버전에 대응하면, 시스템은 원격 매니페스트로부터의 콘텐츠 오브젝트의 값을 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트의 이력 필드에 삽입함으로써 이력을 보유할지 여부를 결정한다. 시스템은 상이하다고 결정되는 각 콘텐츠 오브젝트에 대한 값을 적절히 갱신한다. 이러한 방식으로, 시스템은 로컬 노드에서의 매니페스트를 원격 노드에서의 매니페스트와 동기화한다.
일부 실시예에서, 네트워크 클라이언트, 네트워크 노드(예를 들면, 라우터와 같은 전달자), 그리고 발행자들은 정보 중심 네트워크(ICN)를 통해 통신한다. ICN에서, 콘텐츠의 각 부분은 개별적으로 명명되고, 그리고 데이터의 각 부분은 데이터를, 동일한 데이터의 다른 버전이나 다른 소스로부터의 데이터와 같은, 데이터의 다른 부분으로부터 구별하는 유일한 이름에 결속된다. 이 유일한 이름은 네트워크 장치가 요청 또는 유일한 이름을 나타내는 인터레스트를 유포함으로써 데이터를 요청하는 것을 허용하며, 그리고 데이터의 저장 위치, 네트워크 위치, 어플리케이션 및 전송 수단으로부터 독립적인 데이터를 획득할 수 있다. 네임드-데이터 네트워크(NDN)나 CCN은 ICN 네트워크의 예이며, 다음의 용어는 NDN이나 CCN 아키텍처의 구성요소를 기술한다.
콘텐츠 오브젝트: 네임드 데이터의 단일 부분이며, 유일한 이름에 종속된다. 콘텐츠 오브젝트는 "지속적"이고, 이는 콘텐츠 오브젝트가 컴퓨팅 장치 내에서 또는 상이한 컴퓨팅 장치를 가로질러서 돌아다닐 수 있지만, 그러나 변하지 않는다는 것을 의미하다. 만일 콘텐츠 오브젝트의 어느 컴포넌트가 바뀐다면, 변경을 가한 엔티티는 갱신된 콘텐츠를 포함하는 새로운 콘텐츠 오브젝트를 생성하고, 새로운 콘텐츠 오브젝트를 새로운 유일한 이름에 결속시킨다.
유일한 이름: 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"의 "부모" 또는 "프리픽스"일 수 있다. 추가적인 컴포넌트가, 협업 문서 같은, 상이한 버전의 콘텐츠 아이템들을 구별하도록 사용될 수 있다.
일부 실시예에서, 이름은 비-계층적 식별자를 포함할 수 있는데, 예를 들면, 콘텐츠 오브젝트의 데이터(예를 들면, 체크섬 값)로부터 도출되거나, 그리고/또는 콘텐츠 오브젝트의 이름의 구성요소로부터 도출되는 해시값이 있다. 해시-기반의 이름에 대한 설명은 (2013년 3월 20일에 출원된, 발명자 Ignacio Solis의"ORDERED-ELEMENT NAMING FOR NAME-BASED PACKET FORWARDING"로 명명된) 미국 특허 출원 제 13/847,814호에 기술된다. 이름은 또한 플랫(flat) 라벨일 수 있다. 이제부터 여기서, "이름"은, 계층적 이름이나 이름 프리픽스, 플랫 이름, 고정-길이 이름, 임의의-길이 이름 또는 라벨(예를 들면, 멀티프로토콜 라벨 스위칭(MPLS) 라벨)과 같은, 네임-데이터 네트워크 내의 데이터 부분에 대한 이름을 지칭하도록 사용된다.
인터레스트(Interest): 데이터 부분에 대한 요청을 지시하고, 데이터 부분에 대한 이름(또는 이름 프리픽스)을 포함하는 패킷. 데이터 소비자는 정보-중심 네트워크에 걸쳐서 요청이나 인터레스트를 유포할 수 있고, 이를 CCN/NDN 라우터가 저장 장치(예를 들면, 캐시 서버)로, 또는 요청된 데이터를 제공하여 요청이나 인터레스트를 만족시킬 수 있는 데이터 제작자에게 전파할 수 있다.
일부 실시예에서, 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호에 기술된다.
도 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)에 대한 유일한 식별자이고 컬렉션 내의 콘텐츠 오브젝트를 표현한다.
일부 실시예에서, 매니페스트는 이름 및 대응하는 다이제스트를 지시하지만, 변경된 시간을 지시하지 않는다. 이러한 시스템은, 예를 들면, 텍스트 파일의 이전 버전이 중요하여 시스템에 의해서 보유되는 파일 서버를 포함한다. 다른 실시예에서, 매니페스트는 이름, 대응하는 다이제스트, 그리고 변경 시간을 지시한다. 시스템은 변경 시간을 사용하여 콘텐츠 아이템의 어떤 버전이 보유되어야 하는지를 결정한다. 예를 들면, 만일 콘텐츠 아이템이 링크 상태를 지시하면, 시스템은 이전 버전에 관련된 정보를 필요로 하지 않는다. 이 경우에, 가장 최근에 변경된 시간을 갖는 콘텐츠 오브젝트가 보유된다.
네트워크 내의 어떤 두 노드는 데이터의 동일한 컬렉션을 표현하는 매니페스트를 유지할 수 있고, 이때 매니페스트는 여기 설명된 방법을 사용하여 동기화될 수 있다. 용어 "로컬 노드" 및 "원격 노드"는 콘텐츠-중심 네트워크(CCN) 내의 노드에 적용될 수 있으며 CCN 내의 두 노드 간의 차별화를 위하여 본 개시에서 사용된다.
두 노드간의 데이터의 동일한 컬렉션을 표현하는 매니페스트의 동기화는 세 부분의 이름에 기초한다. 제1 부분은, "/a/b"와 같은, 컬렉션을 식별하는 라우팅될 수 있는 프리픽스이다. 제2 부분은 관련 네임스페이스의 식별을 포함하고, 광고를 위한 "/adv" 또는 데이터 이송을 위한 "/data"이다. 제3 부분은 광고되거나 이송될 해시값 또는 콘텐츠를 포함한다. 따라서, CCN 이름은 다음의 형식이다.
/collection_prefix/adv_or_data/protocol_data
해시 광고를 송신하는 인터레스트의 예는 다음과 같다.
/a/b/adv/<roothash>
이 광고를 수신하고 그리고 동일한 라우팅될 수 있는 프리픽스 "/a/b"를 갖는 로컬 매니페스트를 포함하는 로컬 노드는 청킹 프로토콜에 기초하여 청크 0, 1,... 에서 종결 청크 번호 m 내의 광고된 매니페스트를 검색한다. 이러한 인터레스트는 다음과 같이 보인다:
/a/b/data/<roothash>/<chunk number>
검색된 매니페스트 내의 엔트리에 기초하여, 시스템은 검색된 매니페스트 내에 식별된 어떤 콘텐츠 오브젝트가 로컬 매니페스트 내에 식별된 콘텐츠 오브젝트와 상이한지 여부를 결정한다. 시스템은 콘텐츠 오브젝트의 이름에 기초하여 상이한 콘텐츠 오브젝트를 검색한다:
/a/b/data/<name of content object>
일부 실시예에서, 시스템은 요청된 콘텐츠 오브젝트의 해시값에 기초하여 상이한 콘텐츠 오브젝트를 검색한다:
/a/b/data/<hash(content object)>
일부 실시예에서, 시스템은 매니페스트 내의 이름에 기초하여 상이한 콘텐츠 오브젝트를 검색한다. 기법은 시스템이 컬렉션의 네임스페이스 하의 콘텐츠의 이름을 사용하기보다는 오브젝트의 캐싱된 사본을 검색하는 것을 허용한다. 예를 들면, 도 6b의 매니페스트(140)로부터 최초의 아이템을 검색하기 위하여, 시스템은 이름에 대한 인터레스트와 다이제스트를 송신할 것이다:
/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"의 형식을 취하며, 여기서 페이로드는 매니페스트의 요청된 청크를 포함한다.
원격 매니페스트를 소유한, 로컬 노드(206)는 세트_차이_결정 프로시저(230)를 수행한다. 일부 실시예에서, 이 프로시저의 결과는 이름에 의해 식별되는 콘텐츠 오브젝트의 리스트이다. 다른 실시예에서, 결과는 그들의 대응하는 다이제스트에 의해서 식별된 콘텐츠 오브젝트의 리스트이다. 로컬 노드(206)는 상이하다고 결정된 각 콘텐츠 오브젝트에 대한 세트_차이_요청 인터레스트(234)를 전송한다. 인터레스트는, 예를 들면, "/a/b/data/name 130.3"의 형식을 취한다. 로컬 노드(206)는 원격 노드(202)가 세트_차이_송신 콘텐츠 오브젝트(236)를 송신할 때, 요청된 콘텐츠 오브젝트를 수신하며, 이때 요청된 콘텐츠 오브젝트는 "/a/b/data/name 130.3+payload"의 형식을 취한다. 따라서, 로컬 노드(206)는 상이하다고 결정되는 모든 콘텐츠 오브젝트를 요청하고 수신하여 로컬 매니페스트의 콘텐츠가 원격 매니페스트의 콘텐츠와 동기화되도록 한다. 일부 실시예에서, 로컬 노드(206)는 변경_시간_기반의_동기 프로시저(240)를 수행하는데, 이는 도 4와 관련하여 이하 설명된다.
도 3은 본 발명의 일 실시예에 따른 원격 매니페스트와 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도(300)이다. 아래의 설명에서, 로컬 노드는 도 2에 노드(106)로서 묘사되어 있으며, 원격 노드는 도 2에 노드(102)로서 묘사되어 있다. 로컬 노드는 원격 노드에서 원격 매니페스트에 대응하는 광고를 수신한다(동작 302). 매니페스트는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다. 로컬 노드는 원격 매니페스트와 로컬 매니페스트가 콘텐츠 오브젝트의 동일한 컬렉션을 지시한다고 결정한다(도 2의 광고된_컬렉션_점검 프로시져(222)에 대응하는, 동작 304). 일부 실시예에서, 로컬 노드는 매니페스트의 컬렉션 이름이나 또는 라우팅 프리픽스를 비교함으로써 매니페스트가 동일한 컬렉션을 지시하는지 여부를 결정한다. 로컬 노드는 다음으로 로컬 매니페스트의 루트 해시값이 원격 매니페스트의 루트 해시값과 상이한지 여부를 결정한다(동작 306). 매니페스트의 루트 해시값은 매니페스트에 대한 유일한 식별자이며, 매니페스트 내에 표현된 콘텐츠 오브젝트의 다이제스트의 부가적인 해시값을 포함한다. 만일 로컬 매니페스트의 루트 해시값이 동일하다면(결정 308), 프로시저는 복귀한다.
만일 로컬 매니페스트의 루트 해시값이 원격 매니페스트의 루트 해시값과 동일하지 않다면(결정 308), 이는, 동일한 컬렉션을 표현하는, 로컬 및 원격 매니페스트가 동기가 아니며 조정되어야 한다는 것을 나타낸다. 로컬 노드는 원격 매니페스트에 대한 요청을 송신하고 그리고 요청에 대한 응답을 수신함으로써 원격 매니페스트를 다운로딩하거나 전송한다(도 2의 매니페스트_검색 프로시저(224)에 대응하는, 동작 310).
로컬 노드는 원격 매니페스트에 식별된 콘텐츠 오브젝트가 로컬 매니페스트에 식별된 콘텐츠 오브젝트와 상이한지 여부를 결정한다(도 2의 세트_차이_결정 동작(230)에 대응하는, 동작 312). 일부 실시예에서, 로컬 노드는 로컬 매니페스트에 식별된 콘텐츠 오브젝트의 다이제스트를 원격 매니페스트에 식별된 동일한 이름의 콘텐츠 오브젝트의 다이제스트와 비교함으로써 세트 차이를 결정한다. 로컬 노드는 결정된 콘텐츠 오브젝트의 상이한 세트에 대응하는 인터레스트의 세트를 전송하고(동작 234), 그리고 대답으로 요청된 콘텐츠 오브젝트를 수신한다(동작 236). 이것은 도 2에 도시된 세트_차이_해결 동작(232)에 대응한다. 따라서, 로컬 매니페스트의 콘텐츠는 원격 매니페스트의 콘텐츠와 동기화된다.
만일 로컬 노드가 변경되면, 로컬 노드는 새로운 루트 해시값을 광고한다. 그것은 곧바로 그렇게 하거나, 또는 네트워크나 다른 타이밍 고려사항에 기초하여 다음 광고를 스케줄링할 수 있다. 예를 들면, 로컬 시스템은 초당 적어도 한번씩, 그러나 초당 4번을 넘지는 않도록, 그의 루트 해시를 광고할 수 있다. 그러므로, 조정 동안, 루트 해시가 갱신으로 인해서 변경될 때, 시스템은 초당 4번의 변경까지 광고할 수 있다. 그렇지 않으면, 안정 상태에서, 초당 한번 광고할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 변경된 시간에 기초하여 원격 매니페스트 및 로컬 매니페스트와 연관된 콘텐츠를 동기화하는 방법을 보여주는 흐름도(400)이다. 콘텐츠의 동기화는 또한 콘텐츠 오브젝트와 연관된 시퀀스 번호에 기초할 수 있으며, 이때 더 큰 시퀀스 번호는 콘텐츠 오브젝트의 좀 더 최근의 버전을 지시한다는 것을 주목하라. 콘텐츠의 동기화는 콘텐츠 오브젝트의 이름의 순서에 기초할 수 있으며, 내재된 정렬 순서는 콘텐츠 오브젝트의 좀 더 최근의 버전을 지시한다. 흐름도(400)는 콘텐츠 오브젝트의 변경 시간에 기초하는 방법을 묘사하며, 이는 도 2의 변경_시간_기반의_동기 동작(240)으로서 묘사된다. 이전에 결정된 세트 차이에 기초하여, 로컬 노드는 대응하는 콘텐츠 오브젝트가 변경된 시간을 지시하는 변경 시간을 포함하는 콘텐츠 오브젝트의 요청된 세트를 수신한다(동작 402). 각 콘텐츠 오브젝트에 대하여, 로컬 노드는 원격 매니페스트 내의 콘텐츠 오브젝트의 변경 시간이 로컬 매니페스트의 대응하는 콘텐츠 오브젝트보다 더 최근인지 덜 최근인지 여부를 결정한다(동작 404). 만일 원격 매니페스트로부터의 콘텐츠 오브젝트의 변경 시간이 더 최근이라면(결정 406), 시스템은 로컬 매니페스트 내의 콘텐츠 오브젝트의 값을 원격 매니페스트로부터 콘텐츠 오브젝트의 값으로 갱신한다(동작 408). 일부 실시예에서, 로컬 노드는 (덜 최근의) 콘텐츠 오브젝트의 대응하는 값과 변경 시간을, 로컬 매니페스트 내의 콘텐츠 오브젝트의 값을 갱신하기 전에, 로컬 매니페스트 내의 이력 필드에 삽입함으로써, 로컬 매니페스트 내의 (덜 최근의) 콘텐츠 오브젝트의 값을 보유할 지 여부를 결정할 수 있다. 만일, 검색되어야 할 세트 안에 더 많은 콘텐츠 오브젝트가 있다면(동작 410), 시스템은 동작(404)으로 복귀한다. 만일 아니라면, 시스템은 필요한 콘텐츠 오브젝트의 검색을 완료했다.
만일 원격 매니페스트로부터의 콘텐츠 오브젝트의 변경 시간이 로컬 매니페스트 내의 대응하는 콘텐츠 오브젝트보다 덜 최근이라면(결정 406), 시스템은, (덜 최근의) 콘텐츠 오브젝트의 대응하는 값과 변경 시간을 로컬 매니페스트 내의 이력 필드로 삽입함으로써(동작 414), 원격 매니페스트로부터의 (덜 최근의) 콘텐츠 오브젝트의 값을 저장할지 여부를 결정한다(결정 412). 만일, 검색되어야 할 세트 안에 더 많은 콘텐츠 오브젝트가 있다면(동작 410), 시스템은 동작(404)으로 복귀한다. 만일 아니라면, 시스템은 필요한 콘텐츠 오브젝트의 검색을 완료했다. 따라서, 상이하다고 결정된 모든 콘텐츠 오브젝트가 갱신되었고, 그리고 아마도 로컬 매니페스트의 이력 필드에 보유되거나 저장되어서, 로컬 매니페스트의 콘텐츠는 원격 매니페스트의 콘텐츠와 동기화된다.
도 5는 본 발명의 일 실시예에 따른, 매니페스트에 대응하는 광고를 전송하는 방법을 보여주는 흐름도(500)이다. 도 5의 노드는 패킷을 원격 노드로 전송하기 때문에 로컬 노드로서 설명된다. 도 5의 로컬 노드는 도 2의 노드(202)에 대응하며, 이는 이전에 원격 노드(202)로 참조되었다는 것을 주목하라. 콘텐츠-중심 네트워크(CCN)와 같은 네트워크 내의 노드는 원격 노드 또는 로컬 노드로서 참조될 수 있다는 것을 상기하라.
로컬 노드는 매니페스트에 대응하는 광고를 전송하며, 매니페스트는 노드에서의 콘텐츠 오브젝트의 컬렉션을 표현한다(도 2의 광고_송신 메시지(220)에 대응하는, 동작 502). 이 광고는 비콘(beacon)과 유사한 인터레스트이고, 그리고, 사용된 "/adv" 네임스페이스에 기초하여, 답신으로 콘텐츠를 요구하지 않는다. 원격 노드로부터 매니페스트에 대한 요청을 수신하면, 로컬 노드는 원격 노드로 매니페스트를 전송한다(도 2의 매니페스트_인_청크_요청 인터레스트(226)와 매니페스트_인_청크_송신 인터레스트(228)의 수신에 대응하는, 동작 504). 로컬 매니페스트 내에 식별된 콘텐츠 오브젝트에 대한 요청을 원격 노드로부터 수신하면, 로컬 노드는 요청된 콘텐츠 오브젝트를 요청한 원격 노드로 전송한다(도 2의 세트_차이_요청 인터레스트(234)와 세트_차이_송신 인터레스트(236)의 수신에 대응하는, 동작 506).
도 6a는 본 발명의 일 실시예에 따른, 컬렉션에 표현된 매니페스트(120)와 콘텐츠 오브젝트의 포맷을 보여주는 테이블이다. 매니페스트(120)는 컬렉션 이름(124)에 의해 식별되는 콘텐츠 오브젝트의 정렬 리스트를 포함하고, 또한 콘텐츠 오브젝트 이름(130.1-130.n), 다이제스트(132.1-132.n), 그리고 변경 시간(134.1-134.n) 중의 하나 이상을 포함한다. 다이제스트(132.1-132.n)는 이름(130.1-130.n)에 의해서 식별되는 콘텐츠 오브젝트의 해시값을 포함한다. 매니페스트(120)는 또한 루트 해시(122)를 포함하고, 이는 컬렉션의 개별 콘텐츠 오브젝트의 해시값(132.1-132.n)에 기초한 부가적인 해시값이다. 매니페스트(120)의 루트 해시(122)는 매니페스트(120)에 대한 유일한 식별자이다.
도 1과 관련되어 설명된 것처럼, 매니페스트(120)는 컬렉션 내에 표현된 각 콘텐츠 오브젝트에 대한 이름 및 대응하는 다이제스트를 지시할 수 있다. 일부 실시예에서, 매니페스트(120)는 컬렉션에 표현된 각 콘텐츠 오브젝트에 대한 변경 시간을 포함할 수 있다. 변경 시간 필드의 사용은 기본 어플리케이션이나 수행되고 있는 서비스에 종속된다. 매니페스트(120)는 컬렉션 이름(124)을 지시한다는 것을 주목하라. 도 6b-e에 묘사된 매니페스트는 또한 컬렉션 이름을 포함하지만, 매니페스트는 데이터의 동일한 컬렉션을 포함하기 때문에, 컬렉션 이름은 도 6b-e에 포함되지 않는다.
도 6b-6e는 두 개의 노드(102, 106)를 묘사하며, 이들은 각각 매니페스트를 포함한다. 본 예에서, 노드(102)는 원격 노드이고 노드(106)는 로컬 노드이다. 로컬 노드(106)는 매니페스트(160)를 포함하고, 원격 노드(102)는 매니페스트(140)를 포함한다. 매니페스트(140과 160)는 동일한 컬렉션 이름이나 라우팅 프리픽스를 포함하고, 따라서 콘텐츠 오브젝트나 데이터의 동일한 컬렉션을 포함한다. 시간은 라벨 T1, T2 등으로 지시되며, 매니페스트(140, 160)의 콘텐츠는 이들 시간 라벨에 관련되어 묘사된다.
매니페스트는 도 6a의 루트 해시(122)로서 도시되는, 루트 해시값에 의해 더 식별되고, 이는 컬렉션의 개별적인 콘텐츠 오브젝트의 다이제스트에 기초하는 부가적인 해시값이다. 아래의 예에서, 루트 해시값과 다이제스트는 괄호안의 번호, 예를 들면, "{999}"로서 지시되지만, 그러나 그 숫자는 이보다 훨씬 클 수 있다. 추가로, 시간에 따라 변하는 콘텐츠 오브젝트의 다이제스트와 매니페스트(140, 160)의 루트 해시값은 부가적인 해시값의 동일한 표현으로서만 묘사된다.
도 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}의 동일한 루트 해시값을 유지한다.
도 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)와 동기가 아니다.
연속하여, 원격 노드(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}의 동일한 루트 해시값을 유지한다.
도 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)와 동기가 아니다.
연속하여, 로컬 노드(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}의 동일한 루트 해시값을 유지한다.
도 6c와 6d는 어느 노드라도 원격 또는 로컬 노드일 수 있고, 그리고 해시 광고, 매니페스트 및 매니페스트와 연관되어 상이하다고 결정된 콘텐츠 오브젝트를 송신하거나 수신하는 순서는 주어진 시간에 컬렉션 내의 콘텐츠에 따라, 예를 들면 시간 [T3, T4.a, T5.a] 와 시간 [T3, T4.b, T5.b]에서 매니페스트(140, 160)의 콘텐츠들에 따라 다를 수 있다는 것을 보여준다. 즉, 어느 노드라도, 본 개시에 설명된 방법을 사용하여, 해시 광고를 송수신할 수 있고 매니페스트를 이송할 수 있고, 그리고 노드에서 매니페스트의 콘텐츠를 동기화할 수 있으며, 이에 따라, 두 노드에서 데이터의 컬렉션의 동기화가 이루어진다.
도 6e는 본 발명의 일 실시예에 따른, 로컬 매니페스트 내의 동일한 이름의 콘텐츠 오브젝트의 다이제스트와 변경 시간이 원격 매니페스트 내의 다이제스트와 변경 시간과 상이한, 동기화 동안의 두 매니페스트의 포맷을 묘사하는 테이블이다.
시간 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)는 요청된 콘텐츠 오브젝트를 반환한다.
로컬 노드는 변경 시간 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}를 포함한다.
일부 실시예에서, 시스템은 매니페스트(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)로부터 해시 광고를 수신한 이후에, 동기화를 진행할 것이며, 이는, 상술한 것처럼, 좀 더 최근에 갱신된 콘텐츠 오브젝트를 유지한다.
일부 실시예에서, 시스템은 콘텐츠-중심 네트워크(CCN) 내의 장치와 이들 장치에 의해 제공되는 서비스 디스커버리를 용이하게 한다. CCN 네임 스페이스는 서비스 타입별로, 예를 들면, 프린터, 파일 서버, 또는 음악 라이브러리로 분할된다. 특정 타입의 장치는 이들 네임스페이스 내에서 본 개시에 설명된 동기화 프로토콜을 수행한다. 예를 들면, 이러한 서비스에 대한 컬렉션 프리픽스는 다음의 형식을 취한다.
/parc/services/printers/...
/parc/services/servers/...
/parc/services/music/...
이러한 서비스 디스커버리 시스템에서, 노드에 있는 장치(예를 들면 "/parc/marvin" 이름의 프린터)는 공백 매니페스트로 부팅한다. 장치는 자신을 위한 서비스 레코드를 생성하며, 이는 "/parc/marvin/service"의 이름을 갖는 콘텐츠 오브젝트이다. 일부 실시예에서, 이 서비스 레코드는 자바스크립트 오브젝트 표기(JSON) 포맷이고, 다음 필드 중의 하나 이상을 포함할 수 있다: 서비스 레코드의 이름; 서비스의 설명; 서비스 레코드의 버전을 지시하는 일련 번호; 서비스를 광고하는 장치에 의해 주기적으로 재개되지 않는다면 서비스 레코드가 만료되도록, 초 단위로 측정되는 타임투리브(time to live, TTL); 그리고 서비스 레코드의 해시값인, 서비스 레코드에 대한 다이제스트. 서비스 레코드의 크기는 상대적으로 작기 때문에, 일부 실시예에서, 서비스 레코드는 인터레스트 내에 페이로드로서 포함될 수 있다. 또한, 더 높은 일련번호를 갖는 서비스 레코드는 좀 더 최근의 서비스 레코드를 지시하고, 더 낮은 일련번호를 갖는 레코드를 대치한다. 더 오래된 서비스 레코드는 매니페스트 내에 보존되지 않는다.
장치는 장치의 서비스 레코드 및 서비스 레코드의 대응하는 해시값을 포함하는 매니페스트를 생성한다. 시스템은 루트 해시값을 생성하는데, 이는 컬렉션 내의 콘텐츠 오브젝트의 다이제스트에 기초하는 부가적인 해시값이다. 장치의 매니페스트의 루트 해시값은 초기에 매니페스트 내에 지시된 한 서비스 레코드에 기초한다. 장치는 다음으로 "/parc/services/printers/adv/query" 형식의 질의 광고를 송신하여 그것이 다음을 수행할 수 있도록 한다: 동일한 장치 네임스페이스("parc/services/printers") 내의 다른 장치들의 매니페스트를 검색하고; 세트 차이를 결정하고; 그리고 세트 차이를 해결한다. 이러한 방식으로, 노드에 있는 장치는 그의 매니페스트를 다른 노드에 있는 다른 장치들의 매니페스트와 동기화할 수 있다.
일부 실시예에서, 서비스 레코드는 서비스 레코드의 TTL 필드 내에 지시된 시간에 기초하여 만료되도록 설정된다. 이것이 만료되기 전 어떤 시간에, 장치는 순차적으로 더 큰 일련번호를 갖는 새로운 서비스 레코드를 생성하고 이전의 서비스 레코드를 대체할 수 있다. 콘텐츠 아이템을 데이터 컬렉션으로부터 제거하거나 "화이트-아웃"하는 방법에 대한 설명은 미국 특허출원 13/681,306에 포함된다. 시스템은 새로운 서비스 레코드에 기초하여 장치와 연관된 매니페스트에 대한 새로운 루트 해시값을 생성한다. 장치는 다음으로 새로이 생성된 루트 해시값을 사용하여 새로운 서비스 레코드로 갱신된 매니페스트를 광고하고, 그리고 상술한 프로세스를 반복한다. 또한, 서비스 레코드가 만료하면, 예를 들면, TTL이 소멸하면, 모든 장치는 만료된 서비스 레코드를 그들의 매니페스트로부터 제거하고 만료된 서비스 레코드 없는 새로운 해시 광고를 생성한다.
일부 실시예에서, 장치가 셧다운될 때, 그것은 0으로 설정된 TTL과 더 큰 일련 번호를 갖는 새로운 서비스를 생성한다. 장치는 갱신된 서비스 레코드에 기초하여 그의 매니페스트를 광고하고 그리고 자신을 광고를 송신한 이후에 즉각적으로 만료되도록 설정하여, 광고를 수신하는 다른 장치가 더 높은 일련번호에 기초하여 이 매니페스트가 가장 최근의 서비스 레코드를 포함한다는 것을 알아채도록 할 수 있다.
일부 실시예에서, 광고된 인터레스트는 페이로드를 포함할 수 있고, 이는 그의 전체에 다음의 형식을 갖는 서비스 레코드를 포함한다.
"/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)에 대한 유일한 식별자이고 컬렉션 내의 서비스 레코드를 표현한다.
장치는 네트워크 상의 어느 노드에도 존재할 수 있으며, 여기서 각 장치는 서비스 레코드의 컬렉션을 표현하는 매니페스트를 운반한다. 두 장치는 데이터의 동일한 컬렉션, 예를 들면, 동일한 네임스페이스에 대한 서비스 레코드를 표현하는 매니페스트를 운반하며, 여기서 매니페스트는 여기 설명되는 방법을 사용하여 동기화될 수 있다. 용어 "로컬 노드"와 "원격 노드"는 콘텐츠-중심 네트워크(CCN) 내의 어느 노드에도 적용할 수 있고 본 개시에서 CCN 내의 두 노드들 간에 차별화를 위하여 사용된다. 유사하게, 용어 "로컬 장치"와 "원격 장치"는 CCN 내의 노드에 있는 장치에 적용될 수 있고 본 개시에서 예시의 목적으로 사용된다.
일부 실시예에서, 인터레스트는 그의 대응하는 다이제스트를 포함하는 한 서비스 레코드를 페이로드로서 포함할 수 있다. CCN 내의 노드 또는 노드의 장치(예를 들면, 장치 716, 장치 718, 노드 702-714)는, 송신 장치의 매니페스트의 루트 해시값과 송신 장치에 대응하는 서비스 레코드를 모두 포함하는 광고인, 인터레스트를 송신하거나 수신할 수 있다. 또한, 노드 또는 장치는, 예를 들면, 송신 장치의 매니페스트의 루트 해시값과 페이로드로서 포함된 송신 장치의 서비스 레코드를 모두 포함하는, 그러한 광고에 대한 질의 또는 요청인 인터레스트를 송신하거나 수신할 수 있다.
도 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 및 연속하는 노드는 그의 루트 해시를 송신하는 것을 억제한다.
로컬 장치(706)는 광고_수신 인터레스트(826)를 수신할 수 있으며, 이는 인터레스트(824)와 유사한 포맷이며, 원격 장치의 매니페스트의 루트 해시값과 원격 장치의 서비스 레코드 "/p/prn/adv/<roothash(L)>/<payload=(L-SR)>"를 페이로드로서 포함한다. 로컬 장치는 매니페스트_갱신 프로시저(828)를 수행한다. 로컬 장치(706)는, 동일한 컬렉션 프리픽스나 네임스페이스("/p/prn/")에 기초하여, 그의 매니페스트가 동일한 네임스페이스를 광고된 인터페스트의 매니페스트로서 지시하는지 여부를 결정한다. 로컬 장치(706)는, 만일 포함된 서비스 레코드가 로컬 장치(702)가 이미 가지고 있는 것보다 좀더 최근이라면, 인터레스트(826)에 페이로드로서 포함된 광고된 서비스 레코드를 그의 로컬 매니페스트에 삽입함으로써 로컬 매니페스트를 갱신한다. 로컬 장치(706)는 그의 로컬 매니페스트를 위한 새로운 루트 해시값을 생성한다. 만일 새로운 루트 해시값이 인터레스트(826)로부터 광고된 인터레스트의 루트 해시값과 동일하다면, 로컬 장치(706)와 원격 장치(702)의 매니페스트 내의 서비스 레코드의 컬렉션이 동기이다. 따라서, 인터레스트는 원격 장치의 서비스 레코드를 페이로드로서 포함하기 때문에, 원격 및 로컬 매니페스트는 네트워크에 걸쳐서 매니페스트를 이송할 필요 없이 동기화된다.
만일 로컬 장치(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)를 수행한다.
도 9a는 본 발명의 일 실시예에 따른, 네트워크 내의 두 장치의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 방법을 보여주는 흐름도(900)이다. 로컬 장치는 네트워크 상에 초기화된다(동작 902). 로컬 장치는 자신을 위한 서비스 레코드를 생성하며, 이는 서비스 레코드의 이름, 일련번호, 타임투리브(TTL), 그리고 다이제스트를 포함한다(동작 904). 로컬 장치는 로컬 장치의 서비스 레코드를 포함하는 로컬 매니페스트를 생성하고(동작 906) 그리고 매니페스트에 포함된 서비스 레코드의 다이제스트에 기초하여 로컬 매니페스트에 대한 루트 해시값을 생성한다(동작 908). 로컬 장치는 동일한 네임스페이스 내의 다른 장치의 매니페스트의 루트 해시를 검색하도록 질의 광고를 송신한다(동작 910). 로컬 장치는 로컬 매니페스트에 대응하는 광고를 전송하며, 이때 광고는 로컬 매니페스트의 루트 해시값을 포함하고 로컬 서비스 레코드를 페이로드로서 운반한다(동작 912). 로컬 장치는 원격 매니페스트에 대응하는 광고를 수신하고, 광고는 원격 매니페스트의 루트 해시값을 포함하고 원격 서비스 레코드를 페이로드로서 운반한다(동작 914).
로컬 장치는 로컬 및 원격 매니페스트가 동일한 네임스페이스에 대응한다고 결정한다(동작 916). 일부 실시예에서, 로컬 장치는 로컬 매니페스트가 광고된 서비스 레코드와 동일한 이름을 갖는 서비스 레코드를 포함하는지 여부를 결정한다(동작 918). 만일 로컬 매니페스트가 그러한 서비스 레코드를 포함하지 않는다면(동작 920), 로컬 장치는 페이로드로부터의 광고된 서비스 레코드를 로컬 매니페스트로 삽입함으로써 로컬 매니페스트를 갱신한다(동작 926). 만일 로컬 매니페스트가 그러한 서비스 레코드를 포함한다면(동작 920), 로컬 장치는 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스의 일련번호보다 더 큰지 여부를 결정한다(동작 922). 만일 더 크지 않다면(결정 924), 방법은 로컬 장치에 포함된 버전이 좀더 최근이므로 복귀한다.
만일 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스의 일련번호보다 더 크다면(결정 924), 로컬 장치는 현재의 일련번호가 현재 네트워크에 알려진 일련번호보다 더 크도록 로컬 서비스 레코드를 갱신한다(동작 926). 일부 실시예에서, 이 조건은, 만일 장치가 재부팅되어 메모리를 잃는다면, 그의 일련번호가 장애 이전에 마지막으로 광고된 것보다 더 적게 초기화되도록, 존속할 수 있다. 로컬 장치는 다음으로 갱신된 서비스 레코드를 로컬 매니페스트로 삽입함으로써 로컬 매니페스트를 갱신한다(동작 927). 콘텐츠 아이템을 데이터 컬렉션으로부터 제거하거나 "화이트_아웃(white-out)"하는 방법에 대한 설명은 미국 특허출원 13/681,306에 포함되어 있다.
도 9b는 도 9a의 흐름도(900)에 도시된 방법을 계속해서 설명하는 흐름도(950)이다. 그의 로컬 매니페스트를 갱신한 이후에(동작 926), 로컬 장치는 로컬 매니페스트에 대한 새로운 루트 해시값을 생성한다(동작 928). 로컬 장치는 새로운 루트 해시값이 광고된 인터페스트에 포함된 원격 매니페스트의 루트 해시값과 상이한지 여부를 결정한다(동작 930). 만일 해시값이 상이하지 않다면(결정 932), 방법은 원격 매니페스트와 로컬 매니페스트가 동기이기 때문에 복귀한다. 만일 해시값이 상이하다면(결정 932), 로컬 장치는 도 1-6과 관련하여 설명된 세트 조정과 매니페스트 이송을 수행한다. 로컬 장치는 광고된 인터레스트의 루트 해시값에 기초하여 요청을 송신하고 원격 매니페스트를 수신한다(동작 934). 로컬 장치는 원격 매니페스트 내에 표현된 어떤 서비스 레코드가 로컬 매니페스트에 표현된 서비스 레코드와 상이한지 결정한다(동작 936). 차이 결정에 응답하여, 로컬 장치는 상이한 서비스 레코드에 대한 인터레스트의 세트를 전송하고(동작 938), 요청된 서비스 레코드의 세트를 수신한다(동작 940).
도 10a는 본 발명의 일 실시예에 따른, 컬렉션 내에 표현된 매니페스트(720)와 서비스 레코드의 포맷을 묘사하는 테이블을 보여준다. 매니페스트(720)는 프리픽스나 네임스페이스(724)를 포함하고 다음의 하나 이상에 의해 식별된 서비스 레코드의 정렬된 리스트를 포함한다:서비스 레코드 이름(730.1-730.n); 일련번호(732.1-732.n); 타임투리브(TTL)(734.1-734.n); 그리고 다이제스트(736.1-736.n). 다이제스트(736.1-736.n)는 이름(730.1-730.n)에 의해 각각 식별되는 콘텐츠 오브젝트의 해시값을 포함한다. 다이제스트는 콘텐츠 오브젝트의 SHA-256 해시일 수 있으며, 이때 (두 개의 상이한 콘텐츠 오브젝트의 일 방향 해시가 동일한 값을 야기하는) 해시 충돌의 가능성이 충분히 낮아서 다이제스트는 콘텐츠 오브젝트에 대한 유일한 식별자가 된다. 매니페스트(720)는 또한 루트 해시(722)를 포함하고, 이는 컬렉션의 각 콘텐츠 오브젝트의 해시값(736.1-736.n)에 기초하는 부가적 해시값이다. 루트 해시(722)는 매니페스트(720)에 대한 유일한 식별자이고 컬렉션 내의 서비스 레코드를 표현한다. 이하의 예에서, 루트 해시값과 다이제스트는 괄호안의 번호, 예를 들면, "{222}"로서 지시되지만, 그러나 그 숫자는 이보다 훨씬 클 수 있다. 추가로, 시간에 따라 변하는 서비스 레코드의 다이제스트와 도 10b-10d의 매니페스트(740, 760, 780)의 루트 해시값은 부가적인 해시값의 동일한 표현으로서만 묘사된다.
도 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}이다.
동작 동안, 시간 T1에서, 래리는 형식 "/parc/services/printer/adv/<roothash={222}>/<payload=(L-SR)>"로 광고를 송신한다. 마빈은 이 광고를 수신하고 그의 매니페스트(780)에 광고 내에 페이로드로서 포함된 서비스 레코드 "L-SR"이 누락되었다고 결정한다. 시간 T2에서, 마빈은 서비스 레코드 "L-SR"을 그의 매니페스트(780)로 삽입하고 매니페스트("M-SR"과 "L-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(780)에 대한 새로운 루트 해시값을 생성한다. 이것은 {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)를 동기화하였다.
도 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)에서 장치 래리와 마빈은 각 장치가 다른 장치로부터 전체 매니페스트를 다운로딩할 필요없이 서로 그들의 각 매니페스트를 동기화하였다.
도 10d는 본 발명의 일 실시예에 따른, 로컬 장치가 초기화하고, 서비스 디스커버리를 수행하고, 원격 매니페스트를 검색하는, 동기화 프로토콜을 사용하는 서비스 디스커버리 동안 두 매니페스트의 포맷을 묘사하는 테이블을 보여준다.
도 10c의 시간 T6에서, 래리와 마빈이라는 이름의 장치는, 노드(702, 704)에서 각 매니페스트(740, 780)와 함께 동작한다. 매니페스트(740, 780)는 동기이고, 각각은 일련번호 2와 다이제스트 {72}를 갖는 래리("L-SR")의 서비스 레코드와 일련번호 7과 다이제스트 {11}을 갖는 마빈("M-SR")의 서비스 레코드를 포함한다. 매니페스트(740, 780)의 루트 해시는 {105}이다.
도 10d에 도시된 시간 T7에서, 장치 래리는 노드(702)에서 매니페스트(740)로 동작중이며, 이는 두 개의 서비스 레코드: 이름 "L-SR", 일련번호 2, 다이제스트 {72}를 갖는 래리에 대한 서비스 레코드; 이름 "M-SR", 일련번호 7, 다이제스트 {11}을 갖는 마빈에 대한 서비스 레코드를 포함한다. 매니페스트(740)의 루트 해시값은 {105}이다. 시간 T7에서, (도 10d에 도시되지 않은) 마빈에 대한 매니페스트는 래리의 매니페스트(740)와 동기이다. 시간 T7에서, "/parc/nancy"("낸시")의 이름을 갖는 프린터가 부팅되고 노드(706)에서 동작한다. 장치 낸시는 래리 및 마빈과 동일한 네임스페이스 "parc/services/printers"에 속한다. 낸시는 자신을 위한 서비스 레코드를 생성하는데, 이는 "N-SR"의 이름, 일련번호 1, 대응하는 다이제스트 {65}를 갖는 서비스 레코드이다. 낸시는 새롭게 생성된 서비스 레코드를 포함하는 매니페스트(760)를 생성하고 매니페스트에 대한 루트 해시값 {165}를 생성한다. 낸시는 다음으로 "/parc/services/printers/adv/query" 형식의 광고 질의를 네임스페이스 "parc/services/printers"에 대하여 네트워크로 송신한다. 낸시는 래리로부터 "/parc/printers/adv/<roothash={105}>/<payload=(L-SR)>" 형식의 광고를 수신한다. 낸시는 이 광고를 수신하고 그리고 그의 매니페스트(760)에 광고된 해시에 페이로드로서 포함된 서비스 레코드 "L-SR"이 누락되었다고 결정한다. 시간 T8에서, 낸시는 서비스 레코드 "L-SR"을 그의 매니페스트(760)로 삽입하고 매니페스트("N-SR"과 "L-SR")에 지시된 현존하는 서비스 레코드의 해시값에 기초하여 매니페스트(760)에 대한 새로운 루트 해시값을 생성한다. 이것은 {165}->{200}로 묘사된다. 낸시는 그의 매니페스트(190)의 루트 해시{200}이 광고된 인터레스트의 루트 해시{105}와 동일하지 않다고 결정하며, 따라서 낸시는 이하 설명되는 방법을 사용하여 완전한 세트 조정을 수행한다.
낸시는, 청킹 프로토콜에 기초하여,
"parc/services/printers/data/<roothash={105}>/S0",
"parc/services/printers/data/<roothash={105}>/S1"
"parc/services/printers/data/<roothash={105}>/S2" 등의 형식으로, 인터레스트의 세트를 송신함으로써 루트 해시값 {105}를 갖는 매니페스트를 검색하고, 그리고 요청된 콘텐츠 오브젝트를
"parc/services/printers/data/<roothash={105}>/S0+payload" 등의 형식으로 수신한다. 낸시는 다음으로 상이한 서비스 레코드를 결정하고, 상이하다고 결정된 서비스 레코드에 대한 인터레스트의 세트를 전송한다. 이 예에서, 낸시는 누락된 서비스 레코드는 일련번호 7과 대응하는 다이제스트 {11}을 갖는 "M-SR"이라는 이름의, 마빈에 대응하는 것이라고 결정한다. 낸시는
"/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)와 같은, 다른 매니페스트)와 동기가 아니다. 낸시는 다음으로
"/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과 관련하여 설명된 매니페스트의 이송에 기초하여 컬렉션 동기화 프로토콜을 사용함으로써, 그들의 매니페스트를 서로 동기화 하였다.
도 11은 본 발명의 일 실시예에 따른, 콘텐츠 중심 네트워크 내의 장치들 간의 매니페스트의 동기화에 기초하여 서비스 디스커버리를 용이하게 하는 컴퓨터 통신 시스템을 보여준다. 컴퓨터 통신 시스템(1102)은 프로세스(1104), 메모리(1106), 그리고 저장 장치(1108)를 포함한다. 메모리(1106)는 관리된 메모리로서 제공되는 휘발성 메모리(예를 들면, RAM)를 포함할 수 있고, 그리고 하나 이상의 메모리 풀을 저장하도록 사용될 수 있다. 또한 컴퓨터 통신 시스템(1102)은 디스플레이 장치(1110), 키보드(1112), 그리고 포인팅 장치(1114)에 커플링될 수 있다. 저장 장치(1108)는 운영 체제(1116), 콘텐츠-프로세싱 시스템(1118), 그리고 데이터(1132)를 저장할 수 있다.
콘텐츠-프로세싱 시스템(1118)은 컴퓨터 통신 시스템(1102)에 의해 실행될 때, 컴퓨터 통신 시스템(1102)이 본 개시에 설명된 방법 및/또는 프로세스를 수행하도록 유발할 수 있는 명령을 포함할 수 있다. 특히, 콘텐츠-프로세싱 시스템(1118)은 원격 노드의 원격 매니페스트에 대응하는 광고를 수신하는 명령을 포함할 수 있고, 이때 광고는 원격 장치에 대응하는 서비스 레코드를 포함한다(광고 메커니즘 1122). 콘텐츠-프로세싱 시스템(1118)은 로컬 장치의 로컬 매니페스트에 대응하는 광고를 전송하는 명령을 포함할 수 있고, 이때 광고는 로컬 장치에 대응하는 서비스 레코드를 포함한다(광고 메커니즘 1122). 콘텐츠-프로세싱 시스템(1118)은 또한, 갱신된 로컬 매니페스트에 대응하는 광고를 전송하는 명령을 포함할 수 있고, 이때 매니페스트는 매니페스트 내의 서비스 레코드의 타임투리브(TTL) 의 발생에 따라 삭제되는 서비스 레코드에 기초하여 갱신된다(광고 매커니즘 1122).
콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 매니페스트와 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 원격 매니페스트의 광고된 서비스 레코드를 로컬 매니페스트에 삽입함으로써, 로컬 장치의 로컬 매니페스트를 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 매커니즘 1124). 콘텐츠-프로세싱 시스템(1118)은 또한, 원격 장치로부터의 광고된 서비스 레코드의 일련번호가 로컬 매니페스트 내의 동일한 이름의 서비스 레코드의 일련번호보다 더 크다는 결정에 응답하여, 로컬 매니페스트 내의 서비스 레코드의 값을 원격 장치로부터 광고된 서비스 레코드의 값으로 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 메커니즘 1124). 콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 매니페스트 내의 서비스 레코드의 타임투리브(TTL)의 발생에 응답하여, 로컬 매니페스트로부터 서비스 레코드를 삭제함으로써 로컬 매니페스트를 갱신하는 명령을 포함할 수 있다(매니페스트 갱신 매커니즘 1124).
콘텐츠-프로세싱 시스템(1118)은 원격 장치의 원격 매니페스트에 대응하는 광고에 대한 질의를 전송하고, 그리고 로컬 매니페스트에 대응하는 광고에 대하여 원격 장치로부터 질의를 수신하는 명령을 더 포함할 수 있으며, 이때 광고는 장치에 대응하는 서비스 레코드를 포함한다(질의 메커니즘 1126).
콘텐츠-프로세싱 시스템(1118)은 또한, 로컬 장치에 의해서, 초기화하고, 로컬 장치에 대응하는 서비스 레코드를 생성하고, 그리고 서비스 레코드가 포함되는 로컬 장치에 대한 매니페스트를 생성하는 명령을 포함할 수 있다(초기화 메커니즘 1128).
콘텐츠-프로세싱 시스템(1118)은 또한, 원격 매니페스트에 대한 요청을 송신하고, 원격 매니페스트를 수신하고, 원격 매니페스트와 연관된 콘텐츠 오브젝트나 서비스 레코드에 대한 요청을 송신하고, 그리고 원격 매니페스트와 연관된 요청된 콘텐츠 오브젝트나 서비스 레코드를 수신하는 명령을 포함할 수 있다(통신 메커니즘 1120). 콘텐츠-프로세싱 시스템(1118)은, 청킹 프로토콜(chunking protocol)에 기초하여, 원격 매니페스트를 검색하도록 인터레스트들의 세트를 송신하여, 각 인터레스트는 상기 매니페스트의 넘버링된 청크에 대응하게 하는, 명령을 포함할 수 있다(통신 메커니즘 1120). 콘텐츠-프로세싱 시스템(1118)은 매니페스트에 대응하는 광고를 전송하고, 매니페스트에 대한 요청의 수신에 응답하여 원격 노드로 상기 매니페스트를 전송하고, 상기 매니페스트와 연관된 요청된 콘텐츠 오브젝트나 서비스 레코드를 원격 노드로 전송하고, 그리고 각 인터레스트가 매니페스트의 넘버링된 청크에 대응하도록 청킹 프로토콜에 기초하여 인터레스트의 세트를 수신하는 명령을 포함할 수 있다(통신 메커니즘 1120).
콘텐츠-프로세싱 시스템(1118)은, 수신된 원격 매니페스트에 기초하여, 원격 매니페스트에 표현된 어떤 서비스 레코드가 로컬 매니페스트에 표현된 서비스 레코드와 상이한지 결정하는 명령을 더 포함할 수 있다(차이 결정 메커니즘 1130).
데이터(1132)는 본 개시에 기술된 방법 및/또는 프로세스에 의해서 입력으로 요청되거나 출력으로 생성되는 여느 데이터를 포함할 수 있다. 특히, 데이터(1132)는 적어도: 서비스 레코드의 컬렉션을 표현하는 매니페스트; 서비스 레코드; 서비스 레코드의 이름; 서비스 레코드의 설명; 일련번호; 초 단위 타임투리브(TTL); 서비스 레코드의 대응하는 다이제스트; 매니페스트에 의해 표현되는 서비스 레코드의 다이제스트에 기초하는 부가적인 해시값인, 매니페스트의 루트 해시값; 매니페스트를 식별하는, 매니페스트의 네임스페이스나, 또는 라우팅 프리픽스; 패킷이 데이터의 광고에 대응한다고 결정하는 식별자; 패킷이 데이터의 이송에 대응한다고 결정하는 식별자; 그리고 청킹 프로토콜에 기초한 매니페스트의 넘버링된 청크에 대응하는 숫자를 저장할 수 있다.
본 상세한 설명에 기술되는 데이터 구조와 코드는 전형적으로 컴퓨터-판독가능한 저장 매체에 저장되며, 이는 컴퓨터 시스템에 의한 사용을 위하여 코드 및/또는 데이터를 저장할 수 있는 장치나 매체일 수 있다. 컴퓨터-판독 가능한 저장 매체는 휘발성 메모리, 비-휘발성 메모리, 디스크 드라이브 같은 자성 및 광 저장 장치, 자성 테입, CD(컴팩트 디스크), DVD(디지털 다기능 디스크 또는 디지털 비디오 디스크), 또는 현재 알려져 있거나 나중에 개발될 컴퓨터-판독가능한 미디어를 저장할 수 있는 기타 미디어를 포함할 수 있지만, 이에 한정되지 않는다.
본 상세한 설명 섹션에 기술되는 방법과 프로세스는 코드 및/또는 데이터로서 구현되어, 상술한 것처럼, 컴퓨터-판독 가능한 저장 매체에 저장될 수 있다. 컴퓨터 시스템이 컴퓨터-판독 가능한 저장 매체에 저장된 코드 및/또는 데이터를 읽고 실행할 때, 컴퓨터 시스템은 데이터 구조와 코드로서 구현되어 컴퓨터-판독 가능한 저장 매체 내에 저장된 방법과 프로세스를 수행한다.
또한, 상술한 방법과 프로세스는 하드웨어 모듈이나 장치에 포함될 수 있다. 이들 모듈이나 장치는 어플리케이션-특정 집적 회로(ASIC) 칩, 필드-프로그래머블 게이트 어레이(FPGA), 특정 소프트웨어 모듈이나 특정 시간에 코드의 부분을 실행하는 전용 또는 공유 프로세서, 그리고/또는 현재 알려지거나 추후에 개발될 그밖의 프로그래머블-로직 장치를 포함하지만, 이에 한정되지는 않는다. 하드웨어 모듈이나 장치가 활성화되면, 그들은 그들 내에 포함된 방법과 프로세스를 수행한다.

Claims (7)

  1. 이상(anomaly)을 탐지하는 컴퓨터 시스템에 있어서,
    프로세서;
    상기 프로세서에 연결되고 컴퓨터에 의해서 실행될 때 상기 컴퓨터가 방법을 수행하도록 야기하는 명령들을 저장하는 저장 장치를 포함하고, 상기 방법은
    로컬 장치에 의해서, 원격 장치의 원격 매니페스트(manifest)에 대응하는 제1 광고를 수신하는 단계로서, 상기 제1 광고는 상기 원격 장치에 대응하는 서비스 레코드를 포함하는, 상기 단계; 및
    로컬 매니페스트와 상기 원격 매니페스트가 동일한 네임스페이스에 대응한다는 결정에 응답하여, 상기 제1 광고의 서비스 레코드를 상기 로컬 매니페스트로 삽입함으로써, 상기 로컬 장치의 로컬 매니페스트를 갱신하는 단계를 포함하는, 컴퓨터 시스템.
  2. 제1항에 있어서, 상기 방법은
    원격 장치의 원격 매니페스트에 대응하는 제2 광고에 대한 질의(query)를 전송하는 단계를 더 포함하는, 컴퓨터 시스템.
  3. 제1항에 있어서, 상기 방법은
    상기 로컬 장치의 상기 로컬 매니페스트에 대응하는 제2 광고를 전송하는 단계를 더 포함하고, 상기 제2 광고는 상기 로컬 장치에 대응하는 서비스 레코드를 포함하는, 컴퓨터 시스템.
  4. 제1항에 있어서,
    상기 로컬 장치에 의해서 송신되거나 수신되는 패킷은
    상기 매니페스트를 식별하는 라우팅될 수 있는 프리픽스;
    상기 패킷이 데이터의 이송에 대응한다고 결정하는 식별자;
    상기 패킷이 데이터의 광고에 대응한다고 결정하는 식별자;
    상기 매니페스트의 루트 해시값;
    상기 매니페스트 내의 서비스 레코드의 이름; 및
    서비스 레코드
    중의 하나 이상을 지시하는, 컴퓨터 시스템.
  5. 제1항에 있어서,
    상기 로컬 매니페스트를 갱신하는 단계는
    상기 제1 광고의 상기 서비스 레코드의 일련 번호가 상기 제1 광고의 상기 서비스 레코드와 동일한 이름을 갖는 상기 로컬 매니페스트 내의 서비스 레코드의 일련 번호보다 더 크다는 결정에 응답하여, 상기 로컬 매니페스트 내의 상기 서비스 레코드의 값을 상기 제1 광고의 서비스 레코드의 값으로 갱신하는 단계를 더 포함하는, 컴퓨터 시스템.
  6. 제1항에 있어서, 상기 방법은
    상기 로컬 장치가 어떤 매니페스트도 포함하지 않을 때, 네트워크상으로 초기화하는 단계;
    상기 로컬 장치에 대응하는 서비스 레코드를 생성하는 단계; 및
    상기 서비스 레코드가 포함된 상기 로컬 장치에 대한 매니페스트를 생성하는 단계를 더 포함하는, 컴퓨터 시스템.
  7. 제1항에 있어서, 상기 방법은
    상기 로컬 매니페스트 내의 서비스 레코드의 타임투리브(time to live, TTL)의 발생에 응답하여,
    상기 로컬 매니페스트로부터 상기 서비스 레코드를 삭제함으로써 상기 로컬 매니페스트를 갱신하는 단계; 및
    상기 갱신된 로컬 매니페스트에 대응하는 제2 광고를 전송하는 단계를 더 포함하는, 컴퓨터 시스템.
KR1020150040169A 2014-04-07 2015-03-23 정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리 KR20150116392A (ko)

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 (ko) 2015-10-15

Family

ID=52875460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150040169A KR20150116392A (ko) 2014-04-07 2015-03-23 정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리

Country Status (5)

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

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9710535B2 (en) * 2011-08-12 2017-07-18 Nexenta Systems, Inc. Object storage system with local transaction logs, a distributed namespace, and optimized support for user directories
FR3004881B1 (fr) 2013-04-19 2015-04-17 Kolor Procede de generation d'un flux video de sortie a partir d'un flux video large champ
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
US9922201B2 (en) 2015-04-01 2018-03-20 Dropbox, Inc. Nested namespaces for selective content sharing
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
EP3368998B1 (en) * 2015-10-20 2020-12-09 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
US9973696B1 (en) 2015-11-23 2018-05-15 Gopro, Inc. Apparatus and methods for image alignment
US9792709B1 (en) 2015-11-23 2017-10-17 Gopro, Inc. Apparatus and methods for image alignment
US9848132B2 (en) * 2015-11-24 2017-12-19 Gopro, Inc. Multi-camera time synchronization
US9537952B1 (en) 2016-01-29 2017-01-03 Dropbox, Inc. Apparent cloud access for hosted content items
US9602795B1 (en) 2016-02-22 2017-03-21 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US9973746B2 (en) 2016-02-17 2018-05-15 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US10019317B2 (en) * 2016-04-25 2018-07-10 Nexenta Systems, Inc. Parity protection for data chunks in an object storage system
US10432855B1 (en) 2016-05-20 2019-10-01 Gopro, Inc. Systems and methods for determining key frame moments to construct spherical images
US9934758B1 (en) 2016-09-21 2018-04-03 Gopro, Inc. Systems and methods for simulating adaptation of eyes to changes in lighting conditions
US10268896B1 (en) 2016-10-05 2019-04-23 Gopro, Inc. Systems and methods for determining video highlight based on conveyance positions of video content capture
US10194101B1 (en) 2017-02-22 2019-01-29 Gopro, Inc. Systems and methods for rolling shutter compensation using iterative process
WO2018189352A1 (en) * 2017-04-14 2018-10-18 Koninklijke Kpn N.V. Transmitting and receiving an interest message specifying an aggregation parameter
US10873564B2 (en) * 2018-09-20 2020-12-22 Palo Alto Research Center Incorporated Cloud-based device manager based on message queues
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface

Family Cites Families (503)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1104536A (en) 1966-06-10 1968-02-28 Bp Chem Int Ltd A process for the production of film forming aqueous dispersions of copolymers of vinyl esters of organic acids
US4309569A (en) 1979-09-05 1982-01-05 The Board Of Trustees Of The Leland Stanford Junior University Method of providing digital signatures
US4921898A (en) 1985-08-02 1990-05-01 Air Products And Chemicals, Inc. Vinyl acetate-ethylene copolymer emulsions prepared in the presence of a stabilizing system of a low molecular weight polyvinyl alcohol and a surfactant
GB8711984D0 (en) 1987-05-21 1987-06-24 Shell Int Research Polymeric products
US5214702A (en) 1988-02-12 1993-05-25 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
JPH0655874B2 (ja) 1989-02-28 1994-07-27 住友化学工業株式会社 酢酸ビニル―エチレン共重合体エマルジョン及びその製造方法
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 (de) 1995-08-02 1997-02-06 Hoechst Ag Heterogene Vinylacetat/Ethylen-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 (de) 1996-05-23 1997-11-27 Wacker Chemie Gmbh Flexible Baustoffmassen
US6173364B1 (en) 1997-01-15 2001-01-09 At&T Corp. Session cache and rule caching method for a dynamic filter
AU6654798A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions using a networked proxy server
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
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
US6915307B1 (en) 1998-04-15 2005-07-05 Inktomi Corporation High performance object cache
US6289358B1 (en) 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from 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
ATE324726T1 (de) 1999-07-19 2006-05-15 British Telecomm Telekommunikationsrouting
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
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
US6862280B1 (en) 2000-03-02 2005-03-01 Alcatel Priority remapping for data communication switch
US6901452B1 (en) 2000-03-02 2005-05-31 Alcatel Selectable prioritization for data communication switch
US20030046396A1 (en) 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US20020152305A1 (en) 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis 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
WO2001076120A2 (en) 2000-04-04 2001-10-11 Stick Networks, Inc. Personal communication device for scheduling presentation of digital content
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
WO2001097486A2 (en) 2000-06-09 2001-12-20 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
AU2001283464A1 (en) 2000-08-31 2002-03-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
DE60142750D1 (de) 2000-10-26 2010-09-16 British Telecomm Optimale routenplanung in handover-szenarien
US7031308B2 (en) 2000-10-30 2006-04-18 The Regents Of The University Of California Tree-based ordered multicasting method
JP4225681B2 (ja) 2000-12-06 2009-02-18 富士通株式会社 仮想閉域網構築方法及び装置並びに中継装置
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
EP1386432A4 (en) 2001-03-21 2009-07-15 John A Stine PROTOCOL OF ACCESS AND ROUTING FOR AD HOC NETWORKS, IN WHICH THE COLLISION RESOLUTION AND THE DISSEMINATION OF NODE STATES ARE USED
US7043637B2 (en) 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
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 (fr) 2001-06-25 2003-10-24 Eads Airbus Sa Procede et dispositif pour commander au moins une surface aerodynamique de profondeur d'un avion lors d'un decollage
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 (ko) 2002-12-27 2005-08-31 엘지전자 주식회사 Nat를 갖는 망에서의 sip 서비스 방법
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 (ja) 2003-04-01 2007-12-26 富士通株式会社 迂回通信経路設計方法
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 (ja) 2003-05-19 2009-06-03 株式会社日立コミュニケーションテクノロジー パケット通信装置
JP4251018B2 (ja) 2003-05-27 2009-04-08 株式会社日立製作所 ノードの位置表示方法
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
US20080215669A1 (en) 2004-03-09 2008-09-04 William Gaddy 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 (ja) 2004-05-11 2009-02-25 株式会社日立製作所 仮想ストレージの通信品質制御装置
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
JP4421981B2 (ja) 2004-09-09 2010-02-24 パイオニア株式会社 コンテンツ遠隔視聴システム、コンテンツ遠隔視聴用サーバ装置、コンテンツ遠隔視聴用記録再生装置、及びコンテンツ遠隔視聴方法、並びにコンピュータプログラム
US7623535B2 (en) 2004-09-09 2009-11-24 Cisco Technology, Inc. Routing protocol support for half duplex virtual routing and forwarding instance
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
WO2006055784A2 (en) 2004-11-19 2006-05-26 The Trustees Of The Stevens Institute Of Technology Multi-access terminal wiht capability for simultaneous connectivity to multiple communication channels
CA2590345A1 (en) 2004-12-08 2006-06-15 B-Obvious Ltd. Bidirectional data transfer optimization and content control for networks
JP4131964B2 (ja) 2004-12-10 2008-08-13 株式会社東芝 情報端末装置
KR20060066628A (ko) 2004-12-13 2006-06-16 엘지전자 주식회사 기록매체에 수록된 콘텐트를 보호하는 방법 및 그보호방법이 적용된 콘텐트를 수록하고 있는 기록매체
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
WO2006098723A1 (en) 2005-03-10 2006-09-21 Thomson Licensing 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 (ja) 2005-03-17 2011-04-20 パナソニック株式会社 通信システム、情報処理システム、接続サーバ、処理サーバ、情報処理装置、及び情報処理方法
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 (ja) 2005-05-31 2008-11-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 固有の永続的な識別子を生成するシステム及び方法
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
GB2442423B (en) 2005-07-20 2009-05-27 Firetide Inc 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 (ja) 2005-09-16 2012-05-30 独立行政法人産業技術総合研究所 ネットワーク機器試験装置
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
DE502006001025D1 (de) 2006-02-23 2008-08-14 Swisscom Mobile Ag Anpassung von virtuellen und physikalischen Netzwerkschnittstellen
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
ES2328184T3 (es) 2006-04-06 2009-11-10 Basf Se Procedimiento para la obtencion de una dispersion acuosa de polimeros.
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
CN101064598B (zh) 2006-04-28 2011-04-20 腾讯科技(深圳)有限公司 一种客户端即时通信数据的加密和解密方法
US7925681B2 (en) 2006-04-28 2011-04-12 Microsoft Corporation Bypass of the namespace hierarchy to open files
US20070255677A1 (en) 2006-04-28 2007-11-01 Sun Microsystems, Inc. Method and apparatus for browsing search results via a virtual file system
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
WO2007136006A1 (ja) 2006-05-18 2007-11-29 Panasonic Corporation 電子機器、コンテンツ再生制御方法、プログラム、記憶媒体、集積回路
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
ES2346563T3 (es) 2006-06-09 2010-10-18 Telefonaktiebolaget Lm Ericsson (Publ) Gestion de interfases de multiples usuarios en un subsistema de multimedios ip.
US7912982B2 (en) 2006-06-09 2011-03-22 Trapeze Networks, Inc. Wireless routing selection system and method
IES20070421A2 (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 (ja) 2006-07-11 2012-11-28 株式会社東芝 コンテンツ記録装置、コンテンツ再生装置、方法およびプログラム
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
US20080195456A1 (en) 2006-09-28 2008-08-14 Dudley Fitzpatrick Apparatuses, Methods and Systems for Coordinating Personnel Based on Profiles
US20080080440A1 (en) 2006-09-30 2008-04-03 Yarvis Mark D Device interfaces to integrate cooperative diversity and mesh networking
ATE493833T1 (de) 2006-10-31 2011-01-15 Ericsson Telefon Ab L M Verfahren und vorrichtung zum ip-netzwerk- interfacing
JP4308840B2 (ja) 2006-11-08 2009-08-05 Okiセミコンダクタ株式会社 Sha演算方法およびsha演算装置
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 (ja) 2006-12-22 2008-07-10 Nec Corp ネットワーク経路制御システム、経路制御装置および経路制御方法
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
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
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
JP4367493B2 (ja) 2007-02-02 2009-11-18 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
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 (zh) 2007-02-28 2012-04-11 中国移动通信集团公司 手机文件搜索下载的方法、设备及系统
JP2008217216A (ja) 2007-03-01 2008-09-18 Hitachi Ltd 負荷分散方法及び計算機システム
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 (ja) 2007-07-19 2012-02-29 ソニー株式会社 受信装置、受信方法およびコンピュータプログラム
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
WO2009032710A2 (en) 2007-08-29 2009-03-12 Nirvanix, Inc. Filing system and method for data files stored in a distributed communications network
CN101790876A (zh) 2007-08-30 2010-07-28 汤姆逊许可证公司 用于无线网格网络中的内容服务的统一对等和缓存系统
US20090077184A1 (en) 2007-09-18 2009-03-19 Martin John Brewer Remote Control of Mobile Terminal via Remote Control Proxy and SMS
US20090122766A1 (en) 2007-10-01 2009-05-14 Hughes Timothy J Nested weighted round robin queuing
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
JP5261785B2 (ja) 2007-10-31 2013-08-14 株式会社日立製作所 コンテンツ配信システム、キャッシュサーバ及びキャッシュ管理サーバ
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
US7983701B2 (en) 2007-11-01 2011-07-19 International Business Machines Corporation Alerts based on significance of free format text messages
US8571030B1 (en) 2007-11-01 2013-10-29 Cisco Technology, Inc. System and method for computing cost metrics for wireless network links
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 (fr) 2007-12-18 2011-11-04 Alcatel Lucent Controle de l'interface d'emission d'un message de reponse sip
US8761022B2 (en) 2007-12-26 2014-06-24 Rockstar Consortium Us Lp Tie-breaking in shortest path determination
JP4331240B2 (ja) 2008-01-23 2009-09-16 株式会社東芝 電子機器および画像表示方法
WO2009093457A2 (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
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US9323837B2 (en) 2008-03-05 2016-04-26 Ying Zhao Multiple domain anomaly detection system and method using fusion rule and visualization
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
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
US8776176B2 (en) 2008-05-16 2014-07-08 Oracle America, Inc. Multi-factor password-authenticated key exchange
US20090288076A1 (en) 2008-05-16 2009-11-19 Mark Rogers Johnson Managing Updates In A Virtual File System
US8386622B2 (en) 2008-05-16 2013-02-26 Palo Alto Research Center Incorporated Method and apparatus for facilitating communication in a content centric network
US8165118B2 (en) 2008-05-19 2012-04-24 Palo Alto Research Center Incorporated Voice over content centric networks
US20090293121A1 (en) 2008-05-21 2009-11-26 Bigus Joseph P Deviation detection of usage patterns of computer resources
US8214364B2 (en) 2008-05-21 2012-07-03 International Business Machines Corporation Modeling user access to computer resources
US8793757B2 (en) 2008-05-27 2014-07-29 Open Invention Network, Llc User-directed privacy control 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
US10115111B2 (en) 2008-06-12 2018-10-30 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 (de) 2008-07-25 2010-01-27 Basf Se Dispergierhilfsmittel für die Emulsions- und Suspensionspolymerisation
KR101455125B1 (ko) 2008-08-08 2014-10-27 알까뗄 루슨트 개선된 이용자 서비스들을 위한 sip 포킹에 대한 강화
US8862776B2 (en) 2008-08-27 2014-10-14 Motorola Mobility Llc Communication network and method of operation therefor
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
US8069023B1 (en) 2008-09-02 2011-11-29 Juniper Networks, Inc. Hardware support for instruction set emulation
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
US8837484B2 (en) 2008-10-20 2014-09-16 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
US8943311B2 (en) 2008-11-04 2015-01-27 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
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
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
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
CA2695103A1 (en) 2009-02-26 2010-08-26 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 (ja) 2009-03-11 2012-04-18 株式会社日立製作所 通信システム及びサーバ
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
WO2010127365A1 (en) 2009-05-01 2010-11-04 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8009682B2 (en) 2009-05-05 2011-08-30 Citrix Systems, Inc. Systems and methods for packet steering in a multi-core architecture
BRPI1007631A2 (pt) 2009-05-05 2016-02-23 Konink Philipis Electronics N V método para proteger comunicações entre um dispositivo de recursos restritos e um dispositivo de recepção de acordo com um protocolo sem fio, dispositivo de recursos restritos e dispositivo sem bateria
US9444720B2 (en) 2009-05-05 2016-09-13 Ciena Corporation Method and apparatus for multicast implementation in a routed ethernet mesh network
US8665757B2 (en) 2009-06-03 2014-03-04 Telefonaktiebolaget Lm 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 (zh) 2009-07-15 2011-06-08 杭州华三通信技术有限公司 远程接入mpls vpn的方法、系统和网关
US8914720B2 (en) 2009-07-31 2014-12-16 Xerox Corporation Method and system for constructing a document redundancy graph
TWI408936B (zh) 2009-09-02 2013-09-11 Ind Tech Res Inst 網路穿透方法及網路通訊系統
JP5061166B2 (ja) 2009-09-04 2012-10-31 Kii株式会社 データ同期システムおよびデータ同期方法
US20110060717A1 (en) 2009-09-08 2011-03-10 George Forman Systems and methods for improving web site user experience
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
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 (ko) 2009-12-09 2013-09-10 한국전자통신연구원 지식 그래프 정제 장치 및 방법
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 (ko) 2009-12-29 2015-11-09 삼성전자주식회사 콘텐츠 명 기반의 네트워크 장치 및 데이터 요청 방법
EP2531969A4 (en) 2010-02-01 2013-12-04 Jumptap Inc 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 (ja) 2010-04-14 2014-07-16 株式会社ソニー・コンピュータエンタテインメント 情報検索方法、情報検索サーバ、および情報検索システム
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
CA2714224C (en) 2010-06-18 2011-10-25 Guest Tek Interactive Entertainment Ltd. Controller for providing user-tailored entertainment experience at entertainment device and method thereof
US8677451B1 (en) 2010-06-22 2014-03-18 Cellco Partnership Enabling seamless access to a domain of an enterprise
CN102484744B (zh) 2010-07-01 2016-03-16 松下电器(美国)知识产权公司 内容收发系统
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
EP2599269A1 (en) 2010-07-26 2013-06-05 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 (zh) 2010-09-15 2012-04-04 日立民用电子株式会社 发送装置及接收装置
US9378245B2 (en) 2010-10-18 2016-06-28 Nec Corporation Name database server, name resolution system, entry search method and entry search program
CN102143199A (zh) 2010-10-19 2011-08-03 华为技术有限公司 获取内容的方法、节点及内容网络
KR20120054902A (ko) 2010-11-22 2012-05-31 한국전자통신연구원 연결성이 결여된 네트워크 환경 기반 멀티캐스트 통신방법, 장치 및 그 시스템
EP2458548A1 (en) 2010-11-30 2012-05-30 France Telecom System and method for implementing dynamic access control rules to personal cloud information
KR20120058782A (ko) 2010-11-30 2012-06-08 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서의 단말, 중간 노드 및 이들의 통신 방법
US8751664B2 (en) 2010-12-16 2014-06-10 Palo Alto Research Center Incorporated Custodian-based routing in content-centric networks
KR20120070410A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 통신 노드 및 통신 방법
US10304066B2 (en) 2010-12-22 2019-05-28 Facebook, Inc. Providing relevant notifications for a user based on location and social information
EP2938042A1 (en) 2011-01-25 2015-10-28 Interdigital Patent Holdings, Inc. Method and apparatus for automatically discovering and retrieving content based on content identity
EP2681497A4 (en) 2011-02-28 2017-05-31 Emerson Electric Co. Residential solutions hvac monitoring and diagnosis
KR20120100046A (ko) 2011-03-02 2012-09-12 삼성전자주식회사 분산 환경 네트워크에서 컨텐츠의 접근 제어를 위한 장치 및 방법
US8554951B2 (en) 2011-03-08 2013-10-08 Rackspace Us, Inc. Synchronization and ordering of multiple accessess in a distributed system
JP5648737B2 (ja) 2011-03-11 2015-01-07 富士通株式会社 通信装置および通信方法
FR2972884A1 (fr) 2011-03-15 2012-09-21 France Telecom Procede de communication dans un reseau de communication avec acheminement par nom
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 (zh) 2011-05-03 2013-03-16 Interdigital Patent Holdings 在網際網路中內容識別、檢索及路由
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
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US20120291102A1 (en) 2011-05-09 2012-11-15 Google Inc. Permission-based administrative controls
US8837277B2 (en) 2011-06-01 2014-09-16 Cisco Technology, Inc. Source routing convergence in constrained computer networks
TWI584662B (zh) 2011-06-01 2017-05-21 內數位專利控股公司 內容傳遞網路互連(cdni)機制
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 (ko) 2011-06-09 2012-12-20 삼성전자주식회사 네임 기반의 네트워크 시스템에서 펜딩 테이블의 오버플로우를 방지하는 노드 장치 및 방법
US8332357B1 (en) 2011-06-10 2012-12-11 Microsoft Corporation Identification of moved or renamed files in file synchronization
KR20120137726A (ko) 2011-06-13 2012-12-24 삼성전자주식회사 컨텐츠 기반 네트워크(ccn)에서 전송 노드, 수신 노드 및 그 통신 방법
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
WO2013014672A1 (en) 2011-07-26 2013-01-31 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
EP2740242B8 (en) 2011-08-04 2019-01-23 Mido Holdings Ltd. System and method for implementing and managing virtual networks
JP5869580B2 (ja) 2011-08-26 2016-02-24 パナソニック株式会社 端末装置、検証装置、鍵配信装置、コンテンツ再生方法、鍵配信方法及びコンピュータプログラム
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 (ja) 2011-09-15 2015-11-04 日本電気株式会社 マルチホップ無線ネットワークの経路制御方法
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 (ko) 2011-11-01 2013-05-09 한국전자통신연구원 컨텐츠 중심 네트워크에서 라우팅 방법
US8447851B1 (en) 2011-11-10 2013-05-21 CopperEgg Corporation System for monitoring elastic cloud-based computing systems as a service
JP5786670B2 (ja) 2011-11-17 2015-09-30 ソニー株式会社 情報処理装置、情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
FR2982974A1 (fr) 2011-11-22 2013-05-24 France Telecom Procede de traitement d'une requete dans un reseau de communication centre sur les informations
EP2789115A1 (en) 2011-12-09 2014-10-15 Huawei Technologies Co., Ltd Method for network coding packets in content-centric networking based networks
US8769524B2 (en) * 2011-12-09 2014-07-01 Disney Enterprises, Inc. HTML directed adaptive features for mobile applications
EP2792100B1 (en) 2011-12-15 2020-07-29 Intel Corporation Method and device for secure communications over a network using a hardware security engine
WO2013091186A1 (zh) 2011-12-21 2013-06-27 中国科学院自动化研究所 多参数三维磁共振图像脑肿瘤分割方法
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 (ko) 2011-12-28 2018-10-31 삼성전자주식회사 게이트웨이에서 인터넷 프로토콜 기반 네트워크를 이용하여 컨텐츠 중심 네트워크를 구현하는 방법 및 그 게이트웨이
US9349103B2 (en) 2012-01-09 2016-05-24 DecisionQ Corporation Application of machine learned Bayesian networks to detection of anomalies in complex systems
KR20130093812A (ko) 2012-01-12 2013-08-23 삼성전자주식회사 컨텐츠 중심 네트워크에서 트래픽 전송량을 제어하기 위한 컨텐츠 라우터의 통신 방법 및 그 컨텐츠 라우터
KR20130093813A (ko) 2012-01-12 2013-08-23 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠의 세그먼트를 프리패칭하는 대상 노드의 통신 방법 및 그 대상 노드
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
MX2014009766A (es) 2012-02-13 2015-03-09 Sanofi Aventis Deutschland Dispositivo de inyeccion de tipo boligrafo y modulo electronico de enganche para el mismo.
EP2813058B1 (en) 2012-02-16 2016-04-20 Huawei Technologies Co., Ltd. A method for scalable routing in content-oriented networks
US9137152B2 (en) 2012-02-16 2015-09-15 Futurewei Technologies, Inc. Method for scalable routing in content-oriented networks
US8762570B2 (en) 2012-02-21 2014-06-24 Futurewei Technologies, Inc. Method and apparatus for adaptive forwarding strategies in content-centric networking
US9621458B2 (en) 2012-02-21 2017-04-11 Qualcomm Incorporated Internet routing over a service-oriented architecture bus
US8949959B2 (en) 2012-02-21 2015-02-03 Cisco Technology, Inc. Reduced authentication times for shared-media network migration
US9253021B2 (en) 2012-02-28 2016-02-02 Cisco Technology, Inc. Hierarchical schema to provide an aggregated view of device capabilities in a network
EP2634991B1 (en) 2012-02-28 2017-08-02 Alcatel Lucent Content-centric networking
CN104272034B (zh) 2012-02-28 2017-05-24 艾默生电气公司 Hvac系统远程监视和诊断
US9270584B2 (en) 2012-02-28 2016-02-23 Cisco Technology, Inc. Diverse paths using a single source route in computer networks
US8762477B2 (en) 2012-02-28 2014-06-24 Futurewei Technologies, Inc. Method for collaborative caching for content-oriented networks
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
US9119130B2 (en) 2012-03-23 2015-08-25 Cisco Technology, Inc. Proactive link-estimation 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 (ko) 2012-05-08 2013-12-26 한국전자통신연구원 네트워크 경로 계산장치, 콘텐츠 요청노드, 중계노드 및 이를 포함하는 정보 중심 네트워크 시스템과 이를 이용한 네트워크 경로 계산방법
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 (ko) 2012-06-08 2018-10-19 삼성전자주식회사 모바일 컨텐츠 센트릭 네트워크에서 핸드오버를 위한 방법 및 장치
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
JP6329139B2 (ja) 2012-07-13 2018-05-23 サムスン エレクトロニクス カンパニー リミテッド コンテンツネーム基盤のコンテンツ中心ネットワークにおけるコンテンツ提供のための、コンテンツ要求者、コンテンツ提供者、及びノードの通信方法
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
EP2885904B1 (en) 2012-08-03 2018-04-25 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
AU2013313023A1 (en) * 2012-09-05 2015-04-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 tablet 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 (ko) 2012-09-21 2014-04-16 한국전자통신연구원 홉 카운트 기반 콘텐츠 캐싱 방법 및 그 네트워크 엔티티
US9015212B2 (en) 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
US9081763B2 (en) 2012-10-16 2015-07-14 Sap Se Ranking in cascading learning system
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 (ko) 2012-11-26 2019-04-04 삼성전자주식회사 Ip 라우팅 호환을 위한 패킷의 구조, 네트워크 노드의 통신 방법 및 그 네트워크 노드
KR101355767B1 (ko) 2012-12-13 2014-02-05 성균관대학교산학협력단 콘텐츠 중심 네트워크 환경에서의 동등 계층 간 그룹 통신 방법
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
CN104904186B (zh) 2013-01-07 2018-11-06 华为技术有限公司 一种用于与以信息为中心的网络协议层接口的网元
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
US20140280823A1 (en) 2013-03-14 2014-09-18 Alcatel-Lucent Wire-speed pending interest table
US10742601B2 (en) 2013-03-14 2020-08-11 Fortinet, Inc. Notifying users within a protected network regarding events and information
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
US9367676B2 (en) 2013-03-22 2016-06-14 Nok Nok Labs, Inc. System and method for confirming location using supplemental sensor and/or location data
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 (ko) 2013-06-11 2019-12-05 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드
CN103327027B (zh) * 2013-06-28 2017-02-15 清华大学 内容中心网络底层实现方法、内容中心网络以及通信方法
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 (zh) * 2013-08-06 2016-05-04 北京大学深圳研究生院 一种基于ndn网络架构的p2p文件传输方法
CN103401795B (zh) * 2013-08-07 2016-03-23 电子科技大学 一种内容中心网络中传输内容冗余的消除方法
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 (zh) * 2013-11-25 2016-08-31 中国科学院计算机网络信息中心 一种ccn的分布式移动性数据传输方法
US20150169758A1 (en) 2013-12-17 2015-06-18 Luigi ASSOM Multi-partite graph database
US9548896B2 (en) 2013-12-27 2017-01-17 Big Switch Networks, Inc. Systems and methods for performing network service insertion
US9338065B2 (en) 2014-01-06 2016-05-10 Cisco Technology, Inc. Predictive learning machine-based approach to detect traffic outside of service level agreements
US9256549B2 (en) 2014-01-17 2016-02-09 Netapp, Inc. Set-associative hash table organization for efficient storage and retrieval of data in a storage system
US9313030B2 (en) 2014-01-22 2016-04-12 Futurewei Technologies, Inc. Method and apparatus for secure ad hoc group device-to-device communication in information-centric network
US9542928B2 (en) 2014-03-25 2017-01-10 Microsoft Technology Licensing, Llc Generating natural language outputs
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20150116392A (ko) 정확한 이름으로 컬렉션 동기화를 이용하는 서비스 디스커버리
KR20150116390A (ko) 균등 매칭 네트워크 이름을 사용하는 컬렉션 동기화
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
US10187460B2 (en) Peer-to-peer sharing in a content centric network
US20160062840A1 (en) System and method for maintaining a distributed and fault-tolerant state over an information centric network
EP3176994B1 (en) Explicit content deletion commands in a content centric network
US10742596B2 (en) Method and system for reducing a collision probability of hash-based names using a publisher identifier
US20170170955A1 (en) Key catalogs in a content centric network
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