KR101468354B1 - 피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어를 위한 방법 및 디바이스들 - Google Patents

피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어를 위한 방법 및 디바이스들 Download PDF

Info

Publication number
KR101468354B1
KR101468354B1 KR1020137033335A KR20137033335A KR101468354B1 KR 101468354 B1 KR101468354 B1 KR 101468354B1 KR 1020137033335 A KR1020137033335 A KR 1020137033335A KR 20137033335 A KR20137033335 A KR 20137033335A KR 101468354 B1 KR101468354 B1 KR 101468354B1
Authority
KR
South Korea
Prior art keywords
peer
data object
access
access control
control list
Prior art date
Application number
KR1020137033335A
Other languages
English (en)
Other versions
KR20140009577A (ko
Inventor
이니안 마오
비드야 나라야난
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20140009577A publication Critical patent/KR20140009577A/ko
Application granted granted Critical
Publication of KR101468354B1 publication Critical patent/KR101468354B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

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

Abstract

피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어들을 용이하게 하기 위한 방법들 및 장치들이 제공된다. 데이터 오브젝트를 저장하는 피어 노드 (202) 는 저장된 데이터 오브젝트에 대한 액세스 요청 (306) 을 수신할 수도 있고, 데이터 오브젝트에 포함된 라우팅 메커니즘을 사용하여 데이터 오브젝트와 관련된 액세스 제어 리스트에서의 위치가 결정될 수도 있다 (310). 피어 노드 (202) 는 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보를 요청하고 (312) 그 정보를 액세스 제어 리스트를 저장하는 피어 노드로부터 수신할 수도 있으며 (314), 액세스 제어 리스트에 기초하여 요청된 액세스가 인가되는지의 여부를 결정하고 (316), 액세스를 허용하거나 거부할 수도 있다 (318). 라우팅 메커니즘은 분산 해시 테이블 (DHT) 과 결합하여 사용될 URI를 포함할 수도 있다.

Description

피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어를 위한 방법 및 디바이스들{METHOD AND DEVICES FOR DATA ACCESS CONTROL IN PEER-TO-PEER OVERLAY NETWORKS}
본원에서 개시된 여러 특징들은 일반적으로 피어 투 피어 오버레이 네트워크들에 관한 것으로, 적어도 몇몇 특징들은 피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어들을 용이하게 하기 위한 디바이스들 및 방법들에 관한 것이다.
피어 투 피어 (Peer-to-peer; P2P) 및 다른 유사한 오버레이 네트워크들은 피어들 사이에 작업들 또는 작업부하들을 분배하는 분산 어플리케이션 아키텍쳐를 포함한다. 이러한 피어 투 피어 오버레이 네트워크들은 인터넷 프로토콜 (Internet Protocol; IP) 을 활용하는 네트워크와 같은 기반 네트워크 (underlying network) 의 위에 구성될 수 있다.
통상적으로, 피어들은 어플리케이션에서 동등하게 권한이 주어진 대등한 참여자들이며, 통상적으로 피어 투 피어 네트워크의 노드들을 형성하는 것으로 말해진다. 여러 피어 노드들은 서로 협력하여 서비스들을 제공하고 네트워크를 유지한다. 피어 노드들은, 통상적으로, 서버들 또는 안정한 호스트들에 의한 중앙의 조정을 필요로 하지 않으면서, 처리 능력, 디스크 스토리지 또는 네트워크 대역폭과 같은 그들 리소스들의 일부를 다른 네트워크 참여자들에게 직접적으로 이용가능하게 한다. 일반적으로, 피어 노드들은, 서버들만이 공급하고 클라이언트들만이 소비하는 전통적인 클라이언트-서버 모델과는 대조적으로, 리소스들의 공급자들이자 소비자들이다.
피어 투 피어 및 유사한 네트워크들은 어플리케이션들의 용이한 배치 및 저비용의 확장성을 위한 많은 환경들에서 활용될 수 있다. 예를 들면, 홈 환경에서, 컴퓨터들, 텔레비젼들, 셀폰들, 프린터들 또는 데이터를 통신하고 공유하는 네트워크 인터페이스 성능들을 갖는 다른 디바이스들과 같은 복수의 노드들은 피어 투 피어 네트워크에서 서로 연결될 수 있다. 통상적으로, 이러한 네트워크들은 상대적으로 개방적이며, 디바이스들 (즉, 노드들) 이 마음껏 합류하고 떠날 수 있게 한다. 이러한 네트워크의 몇몇 구현예들에서, 유저의 데이터는 분산된 형태로 네트워크의 원격 노드에 저장될 수 있고, 이것은 유저에게 알려질 수도 있고 알려지지 않을 수도 있다. 결과적으로 몇몇 유저들은, 유저의 데이터가 인가받지 못한 형태로 액세스 (예를 들면, 판독 및/또는 수정) 되지 않을 것이라는 보장이 없는 한 오버레이의 데이터 저장 성능을 완전히 확신하지 못할 수도 있다. 데이터 소유자는, 따라서, 누가 저장된 데이터 오브젝트들을 액세스할 수 있는지를 정의하는 액세스 제어들을 특정할 수도 있다.
중앙에서 구현되는 액세스 제어를 용이하게 하기 위한 서버들 또는 안정한 호스트들에 의한 중앙 조정이 없기 때문에, 종래의 피어 투 피어 오버레이 네트워크에서의 각각의 데이터 오브젝트는, 그 특정한 데이터 오브젝트에 대한 액세스 제어 정책을 나타내는 자기 자신의 각각의 액세스 제어 리스트를 포함할 수도 있다. 액세스 제어 리스트는 각각의 데이터 오브젝트 (예를 들면, 파일) 에 첨부되어 각각의 데이터 오브젝트에 대한 액세스 정보를 특정하게 된다. 그러나, 스토리지 오버헤드는 자기 자신의 액세스 제어 리스트를 갖는 각각의 데이터 오브젝트에 의해 상대적으로 크다. 또한, 액세스 제어 리스트가 데이터 오브젝트의 사이즈를 증가시키기 때문에, 피어 노드들 사이에서 데이터 오브젝트를 송신하기 위해 요구되는 대역폭이 증가한다. 따라서, 서버들 또는 안정한 호스트들에 의해 중앙에서 조정되지 않는 피어 투 피어 및 유사한 오버레이 네트워크들에서 데이터 오브젝트들에 대한 액세스 제어를 용이하게 하기 위한 시스템들, 디바이스들 및/또는 방법들에 대한 필요가 존재한다.
개요
여러 특징들은 피어 투 피어 오버레이 네트워크에서 데이터 오브젝트들에 대한 액세스 제어를 용이하게 하기 위한 피어 노드들을 제공한다. 하나의 특징은 내부에 데이터 오브젝트를 저장하는 피어 노드들을 제공한다. 이러한 피어 노드들은 프로세싱 회로에 각각 커플링된 통신 인터페이스 및 저장 매체를 포함한다. 통신 인터페이스는 피어 투 피어 오버레이 네트워크 상에서의 통신을 용이하게 하도록 적응된다. 저장 매체는 내부에 데이터 오브젝트를 포함할 수도 있고, 데이터 오브젝트는 피어 투 피어 오버레이 네트워크 내에서의 데이터 오브젝트와 관련된 액세스 제어 리스트의 위치를 결정하는 데 활용되도록 적응된 라우팅 메커니즘을 포함한다.
여러 구현예들에 따르면, 프로세싱 회로는 저장 매체의 데이터 오브젝트에 액세스하기 위한 요청을 요청 피어 노드로부터 수신하도록 적응될 수도 있다. 프로세싱 회로는 데이터 오브젝트와 함께 포함된 라우팅 메커니즘을 사용하여 피어 투 피어 오버레이 네트워크에서의 액세스 제어 리스트의 위치를 결정하고, 액세스 제어 리스트에 기초하여 요청 피어 노드에 의해 요청된 액세스가 인가되는지의 여부를 결정할 수도 있다. 액세스 제어 리스트가 요청된 액세스를 인가하는지의 여부에 기초하여, 프로세싱 회로는 요청 피어 노드에 대해 데이터 오브젝트에 대한 액세스를 허용하거나 거부할 수도 있다.
피어 투 피어 오버레이 네트워크에서의 데이터 오브젝트들에 대한 액세스 제어를 용이하게 하기 위한 특징에 따른 액세스 단말에서 동작하는 방법들이 또한 제공된다. 예를 들면, 데이터 오브젝트는 저장 매체에 저장될 수도 있다. 데이터 오브젝트는 피어 투 피어 오버레이 네트워크 내에서의 데이터 오브젝트와 관련된 액세스 제어 리스트의 위치를 결정하도록 적응된 라우팅 메커니즘을 포함할 수도 있다. 저장된 데이터 오브젝트에 대한 액세스의 요청은 요청 피어 노드로부터 수신될 수도 있다. 그 다음, 피어 노드는 데이터 오브젝트와 함께 포함된 라우팅 메커니즘을 사용하여 피어 투 피어 오버레이 네트워크에서의 액세스 제어 리스트의 위치를 결정하고, 액세스 제어 리스트에 기초하여 요청 피어 노드에 의해 요청된 액세스가 인가되는지의 여부를 결정할 수도 있다. 데이터 오브젝트에 대한 액세스는, 액세스 제어 리스트가 요청된 액세스를 인가하는지의 여부에 기초하여 요청 피어 노드에 대해 허용되거나 또는 거부될 수도 있다.
추가적인 특징들은, 피어 투 피어 오버레이 네트워크에서의 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위해 적응된 액세스 제어 리스트를 저장하는 피어 노드들을 제공한다. 이러한 피어 노드들은 프로세싱 회로에 각각 커플링된 통신 인터페이스 및 저장 매체를 포함할 수도 있다. 통신 인터페이스는 피어 투 피어 오버레이 네트워크 상에서의 통신을 용이하게 하도록 적응될 수도 있다. 저장 매체는 내부에 저장된 액세스 제어 리스트를 포함할 수도 있고, 액세스 제어 리스트는 적어도 하나의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 적응된다.
프로세싱 회로는 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하는 피어 노드로부터 제 1의 송신을 수신하도록 적응될 수도 있다. 제 1의 송신은 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함할 수 있다. 예를 들면, 제 1의 송신은 액세스 제어 리스트에 대한 요청, 또는 요청 피어 노드에 의해 요청된 데이터 오브젝트에 대한 액세스가 인가되는지의 여부에 대한 표시를 요청하는 질의를 포함할 수도 있다. 그 다음 프로세싱 회로는 제 1의 송신에 응답하여 데이터 오브젝트를 저장하는 피어 노드로 제 2의 송신을 전송할 수도 있다. 제 2의 송신은 데이터 오브젝트와 관련된 액세스 제어들에 관한 요청된 정보를 포함할 수도 있다.
피어 투 피어 오버레이 네트워크에서의 데이터 오브젝트들에 대한 액세스 제어를 용이하게 하기 위한 특징에 따른 액세스 단말에서 동작하는 방법들이 또한 제공된다. 예를 들면, 액세스 제어 리스트는 저장 매체에 저장될 수도 있다. 액세스 제어 리스트는 적어도 하나의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 적응될 수 있다. 제 1의 송신은 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하는 피어 노드로부터 수신될 수도 있다. 제 1의 송신은 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함할 수도 있다. 또한, 제 2의 송신은 제 1의 송신에 응답하여 데이터 오브젝트를 저장하는 피어 노드로 전송될 수도 있다. 제 2의 송신은 데이터 오브젝트와 관련된 액세스 제어들에 관한 요청된 정보를 포함할 수 있다.
도 1은 서버들 또는 안정한 호스트들에 의해 중앙에서 조정되지 않는 오버레이 네트워크를 포함하는 네트워크를 예시하는 블록도로서, 데이터 오브젝트들은 오버레이 네트워크의 노드들 사이에 저장될 수도 있다.
도 2는 서버들 또는 안정한 호스트들에 의해 중앙에서 조정되지 않는 오버레이 네트워크에 저장된 데이터 오브젝트들에 대한 액세스 제어를 용이하게 하기 위한 네트워크 환경을 예시한다.
도 3은 피어 투 피어 또는 유사한 오버레이 네트워크에 저장된 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위한 적어도 몇몇의 단계들의 실시형태를 예시하는 순서도이다.
도 4는 적어도 하나의 구현예에 따른 피어 노드의 선택 컴포넌트들을 예시하는 블록도이다.
도 5는 피어 투 피어 오버레이 네트워크에 저장된 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위한 데이터 오브젝트를 저장하는 피어 노드 상에서 동작하는 방법의 적어도 하나의 구현예의 실시형태를 예시하는 순서도이다.
도 6은 피어 투 피어 오버레이 네트워크에 저장된 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위한 액세스 제어 리스트 (access control list; ACL) 를 저장하는 피어 노드 상에서 동작하는 방법의 적어도 하나의 구현예의 실시형태를 예시하는 순서도이다.
상세한 설명
하기의 설명에서, 설명된 구현예들의 완전한 이해를 제공하기 위해 특정 상세들이 제공된다. 그러나, 당업자라면 이들 특정 상세들 없이도 여러 구현예들이 실시될 수도 있음을 알 수 있을 것이다. 예를 들면, 구현예를 불필요한 상세로 불명확하게 하지 않기 위해 회로들을 블록도로 도시할 수도 있다. 다른 경우들에서, 설명된 구현예를 불명확하게 하지 않기 위해 공지의 회로들, 구조들 및 기술들이 상세히 도시될 수도 있다.
단어 "예시적인"은 본원에서 "실시형태인, 예시인 또는 예증인" 것을 의미하기 위해 사용된다. 본원에서 "예시적인"으로서 설명된 구현예 또는 구체예는 다른 구체예들 또는 구현예들에 비해 더 선호되거나 또는 더 유익한 것으로 반드시 해석될 필요는 없다. 마찬가지로, 용어 "구체예들"은, 모든 구체예들이 논의된 특징, 이점 또는 동작의 모드를 포함하는 것을 필요로 하지 않는다. 본원에서 사용된 바와 같은 용어 "피어 투 피어 오버레이 네트워크" 및 "피어 노드"는 광의적으로 해석되어야 한다. 예를 들면, "피어 투 피어 오버레이 네트워크"는 서버들 또는 안정한 호스트들에 의해 중앙에서 조정되지 않으며 그리고 피어들 사이에 작업들 또는 작업부하들을 분배하는 분산 어플리케이션 아키텍쳐를 포함하는 오버레이 네트워크를 칭할 수도 있다. 또한, "피어 노드"는 피어 투 피어 오버레이 네트워크 상에서의 통신을 용이하게 하는 디바이스를 칭할 수도 있다. "피어 노드들"의 실시형태는 프린터들, 태블릿 컴퓨터들, 텔레비젼들, 모바일 폰들, PDA들, 퍼스널 미디어 플레이어들, 랩탑 컴퓨터들, 노트북 컴퓨터들, 데스크탑 컴퓨터들 등을 포함할 수도 있다.
개관
한 특징은 피어 투 피어 오버레이 네트워크 내에 저장된 데이터 오브젝트들에 대한 액세스 제어를 용이하게 한다. 액세스 제어를 필요로 하는 피어 투 피어 오버레이 네트워크에 저장된 모든 데이터 오브젝트에 대해, 라우팅 메커니즘이 데이터 오브젝트에 추가된다. 이 라우팅 메커니즘은 액세스 제어 리스트 (ACL) 의 피어 투 피어 오버레이 네트워크 내에서의 위치를 특정하고, ACL은 데이터 오브젝트에 대한 액세스 정책을 특정한다. 그 다음, 데이터 오브젝트 (라우팅 메커니즘 포함) 는 피어 투 피어 오버레이 네트워크에 저장되고 궁극적으로는 피어 노드들 중 하나에 저장될 수도 있다. 나중에, 다른 피어 노드가 데이터 오브젝트에 대한 액세스를 요청하면, 그 데이터 오브젝트를 저장하는 피어 노드는, 액세스 제어 리스트 (ACL) 에 의해 특정된 액세스 정책들에 관한 정보를 피어 투 피어 오버레이 네트워크로부터 취출하기 위해, 데이터 오브젝트의 라우팅 메커니즘을 사용할 것이다. 데이터 오브젝트를 저장하는 피어 노드는 데이터 오브젝트에 대한 액세스를 요청하는 피어 노드의 아이덴티티를 인증하고 (authenticate) 요청 피어 노드의 아이덴티티가 요청된 액세스의 타입을 수행하도록 허용되는지를 결정할 수 있다. 액세스 제어 리스트 (ACL) 에 따라 액세스가 허용되면, 데이터 오브젝트를 저장하는 피어 노드는 액세스를 허용할 수 있다. 액세스 제어 리스트 (ACL) 에 따라 액세스가 허용되지 않으면, 데이터 오브젝트를 저장하는 피어 노드는 액세스를 거부할 수 있다.
예시적인 네트워크 환경들
도 1은 서버들 또는 안정한 호스트들에 의해 중앙에서 조정되지 않는 오버레이 네트워크를 포함하는 네트워크 (100) 를 예시하는 블록도로서, 데이터 오브젝트들은 오버레이 네트워크의 노드들 사이에 저장될 수도 있다. 오버레이 네트워크는 다른 네트워크 상에 구성된 피어 투 피어 오버레이 네트워크 (102) 를 포함할 수도 있다. 몇몇 실시형태들에서, 피어 투 피어 오버레이 네트워크 (102) 는 통신 프로토콜 스택의 최상의 레이어 (예를 들면, 어플리케이션 레이어) 에서 동작하도록 구현될 수 있다. 이러한 피어 투 피어 오버레이 네트워크 (102) 는 임의의 타입의 기반 네트워크, 예컨대 인터넷 프로토콜 네트워크를 활용하여, 오버레이 네트워크 (102) 상의 복수의 피어 노드들 (104A-104F) 이 서로 통신하게 할 수 있다. 기반 네트워크는 임의의 수의 타입들의 네트워크, 예컨대 WAN (Wide Area Networks), LAN (Local Area Networks), 무선 네트워크들 (예를 들면, WWAN, WLAN) 및/또는 임의의 다른 타입의 네트워크를 포함할 수도 있다.
피어 노드들 (104A-104F) 은 피어 투 피어 오버레이 네트워크 (102) 를 통해 통신하도록 적응된 임의의 디바이스를 포함할 수 있다. 이러한 디바이스들은 피어 투 피어 오버레이 네트워크 (102) 를 통한 통신들을 용이하게 하도록 적응된 미들웨어 레이어를 포함할 수도 있다. 비제한적인 예로서, 피어 노드들은 프린터들 (104A), 태블릿 컴퓨터들 (104B), 텔레비젼들 (104C), 모바일 폰들, PDA들, 퍼스널 미디어 플레이어들 (104D), 랩탑 및 노트북 컴퓨터들 (104E), 및/또는 데스크탑 컴퓨터들 (104F) 을 포함할 수 있다.
피어 투 피어 오버레이 네트워크 (102) 를 활용하면, 피어 노드들 (104A-104F) 의 각각은, 서버들 또는 안정한 호스트들에 의한 중앙 조정에 대한 필요 없이, 다른 피어 노드들 (104A-104F) 과 통신할 수 있다. 예를 들면, 피어 노드들 (104A-104F) 각각은, 중앙 조정을 위한 서버나 안정한 호스트 없이, 그들 리소스들 (예를 들면, 처리 능력, 디스크 스토리지, 네트워크 대역폭) 의 일부가 다른 피어 노드에 이용가능하도록 할 수 있고, 다른 피어 노드의 리소스들의 일부를 활용할 수 있다. 적어도 몇몇의 구현예들에서, 피어 노드들 (104A-104F) 의 적어도 몇몇은 데이터 오브젝트를 피어 투 피어 오버레이 네트워크 (102) 에 저장할 수도 있다. 데이터 오브젝트가 피어 투 피어 오버레이 네트워크 (102) 에 저장될 때, 데이터 오브젝트에 대한 액세스가 요구되는 경우 피어 투 피어 네트워크 내에서의 데이터 오브젝트의 위치를 결정하기 위해 데이터 오브젝트와 관련된 식별자가 활용된다. 그 다음 데이터 오브젝트는, 다른 피어 노드들 (104A-104F) 중 하나에 데이터 오브젝트를 저장함으로써 피어 투 피어 오버레이 네트워크 (102) 내에 저장된다. 예를 들면, 분산 해시 테이블 (distributed hash table; DHT) 을 사용하면, 피어 투 피어 오버레이 네트워크는 오브젝트의 식별자를 활용하여 올바른 피어 노드로 메시지들 및 요청들을 라우팅시킬 수 있다.
예시적인 네트워크 환경에서의 액세스 제어 용이화
일 특징에 따르면, 데이터 오브젝트의 소유자는 피어 투 피어 네트워크 오버레이 (102) 에 저장된 데이터 오브젝트에 대한 액세스 제어들을 특정할 수 있다. 즉, 피어 노드 (104A-104F) 및/또는 그 유저는, 피어 투 피어 오버레이 네트워크 (102) 에 저장된 데이터 오브젝트에 액세스하도록 어떤 다른 피어 노드들 및/또는 다른 유저들이 인가되는지를 특정할 수 있다. 도 2는 서버들 또는 안정한 호스트들에 의해 중앙에서 조정되지 않는 오버레이 네트워크, 예컨대 피어 투 피어 오버레이 네트워크 (102) 에 저장된 데이터 오브젝트들에 대한 액세스 제어를 용이하게 하기 위한 네트워크 환경을 예시한다. 데이터 오브젝트가 피어 투 피어 오버레이 네트워크 (102) 에 저장되면, 궁극적으로는, 데이터 오브젝트를 저장하는 피어 노드로서 도 2에서 식별된 피어 노드 (202) 에 저장될 수도 있다.
일 특징에 따르면, 데이터 오브젝트와 관련된 액세스 제어 리스트 (ACL) 는, 저장된 데이터 오브젝트와는 독립적인 별개의 데이터 오브젝트로서 피어 투 피어 오버레이 네트워크 (102) 에 저장된다. 도 2의 실시형태에서 도시된 바와 같이, 액세스 제어 리스트 (ACL) 는, ACL을 저장하는 피어 노드로서 나타내어진 피어 노드 (204) 에 저장될 수 있다. 몇몇 구현예들에서, ACL을 저장하는 피어 노드 (204) 는 중앙집중형 노드 (centralized node) 또는 전용 관리자 노드 (designated administrator node) 가 아니다. 즉, ACL을 저장하는 피어 노드 (204) 는 모든 액세스 제어 리스트들 (ACL들) 이 저장될 수도 있는 중앙집중형 노드로서 동작하지 않고, 피어 투 피어 오버레이 네트워크 (102) 에서의 모든 데이터 오브젝트들과 관련된 액세스 제어 리스트 (ACL) 를 저장하도록 구현되지 않는다. 대신, 피어 투 피어 오버레이 네트워크 (102) 에서의 복수의 상이한 데이터 오브젝트와 관련된 복수의 액세스 제어 리스트들 (ACL들) 이 피어 투 피어 오버레이 네트워크 (102) 내의 복수의 상이한 피어 노드들에 저장될 수도 있다. 따라서, 상이한 피어 노드들은 상이한 데이터 오브젝트들과 관련된 ACL을 저장할 수도 있다. 몇몇 구현예들에서, 데이터 오브젝트를 저장하는 피어 노드 (202) 와 ACL을 저장하는 피어 노드 (204) 는 동일한 피어 노드이지만, 데이터 오브젝트와 액세스 제어 리스트 (ACL) 는 별개의 오브젝트들로서 저장됨을 주목해야만 한다. 도 1에 도시된 네트워크 (100) 를 참조하면, 피어 노드들 (104A-104F) 중 임의의 하나는 데이터 오브젝트를 저장하는 피어 노드 (202) 및/또는 ACL을 저장하는 피어 노드 (204) 를 포함할 수 있다. 몇몇 경우들에서, 상이한 데이터 오브젝트들과 관련된 상이한 각각의 액세스 제어 리스트들 (ACL들) 을 피어 투 피어 오버레이 네트워크 (102) 에 저장하기 위해 2개 이상의 피어 노드들 (104A-104F) 이 활용될 수도 있고, 그 결과 2개 이상의 피어 노드들 (104A-104F) 각각은 ACL을 저장하는 피어 노드 (204) 를 포함하게 된다.
액세스 제어 리스트 (ACL) 는 피어 노드 (202) 에 저장된 데이터 오브젝트에 대한 액세스 정책을 특정하도록 적응된다. 적어도 몇몇의 구현예들에 따르면, 피어 투 피어 오버레이 네트워크 (102) 는, 피어 투 피어 오브레이 네트워크 (102) 상의 각각의 피어 노드의 미들웨어가 특정된 포맷을 이해할 수 있도록, 액세스 제어 리스트 (ACL) 에 대한 포맷을 특정할 수도 있다. 액세스 제어 리스트 (ACL) 는 피어 투 피어 오버레이 네트워크 (102) 에서의 피어 노드, 유저 및/또는 유저들의 그룹이 소정 타입의 액세스 (예를 들면, 판독, 판독/기록) 를 획득할 수 있는지의 여부를 특정할 수 있다.
계속 도 2를 참조하면, 몇몇 형태의 액세스 제어들을 가지며 피어 노드 (202) 에 저장된 데이터 오브젝트는, 피어 투 피어 오버레이 네트워크 (102) 에서 액세스 제어 리스트 (ACL) 를 어떻게 및/또는 어디서 찾을지를 나타내는 라우팅 메커니즘, 예컨대 위치 표시자 (location indicator) 를 포함한다. 적어도 몇몇의 구현예들에 따르면, 데이터 오브젝트와 함께 포함된 라우팅 메커니즘은, 피어 투 피어 오버레이 네트워크 (102) 내에서의 관련 액세스 제어 리스트 (ACL) 의 위치를 결정하는 데 사용하기 위해 데이터 오브젝트와 함께 포함된 URI (Universal Resource Identifier) 를 포함할 수도 있다.
후속하여, 하나 이상의 피어 노드들은 피어 투 피어 오버레이 네트워크 (102) 를 통해 저장된 데이터 오브젝트에 대한 액세스를 요청할 수도 있다. 이러한 피어 노드는 요청 피어 노드 (206) 로서 도 2에 예시된다. 데이터 오브젝트와 관련된 식별자를 사용하면, 피어 투 피어 오버레이 네트워크 (102) 는 데이터 오브젝트가 저장되어 있는 피어 노드 (202) 로 요청을 향하게 하거나 라우팅한다. 적어도 몇몇의 구현예들에서, 피어 투 피어 오버레이 네트워크는, 오버레이 네트워크 내에서 관련 식별자에 대한 데이터 오브젝트가 위치된 곳을 찾기 위해 분산 해시 테이블 (DHT) 을 활용한다. 본원에서 설명된 바와 같이, 액세스 요청은, 판독 액세스 또는 판독/수정 액세스 (즉, 판독/기록 액세스) 를 포함하지만 이들에 제한되지 않는 여러 레벨들의 액세스 중 하나에 대한 요청을 포함할 수도 있다.
일반적으로, 요청 피어 노드 (206) 가 데이터 오브젝트에 대한 액세스 요청을 전송하면, 데이터 오브젝트를 저장하는 피어 노드 (202) 는 저장된 데이터 오브젝트와 함께 포함된 라우팅 메커니즘을 활용하여 관련 액세스 제어 리스트의 위치를 결정할 수 있다. 저장하고 있는 피어 노드 (202) 는 ACL을 저장하는 피어 노드 (204) 로 요청을 전송하여 액세스 제어 리스트 및/또는 요청 피어 노드 (206) 가 요청된 액세스 레벨 (예를 들면, 판독 액세스, 판독/기록 액세스) 에 따라 데이터 오브젝트를 액세스하도록 인가되었다는 것을 액세스 제어 리스트가 나타낸다는 검증을 획득할 수 있다.
예를 들면, 데이터 오브젝트가 피어 투 피어 오버레이 네트워크 (102) 에 저장된 다큐먼트를 포함하면, 요청 피어 노드 (206) 는 그 다큐먼트에 대한 액세스 (예를 들면, 판독 또는 판독/기록) 를 피어 투 피어 네트워크로부터 요청할 수 있다. 다규먼트를 저장하는 피어 노드 (202) 는 다큐먼트에 추가된 라우팅 메커니즘을 활용하여 그 다큐먼트와 관련된 액세스 제어 리스트 (ACL) 에 대한 액세스의 요청을 전송할 수도 있다. 몇몇 구현예들에서, 피어 노드 (202) 는 액세스 제어 리스트 (ACL) 를 저장하는 피어 노드 (204) 로부터 액세스 제어 리스트 (ACL) 의 사본을 획득하고, 요청 피어 노드 (206) 가 요청된 바와 같이 다큐먼트를 판독 또는 수정하도록 인가된 것을 액세스 제어 리스트 (ACL) 가 나타내는지의 여부를 결정할 수도 있다.
도 3을 참조하면, 피어 투 피어 또는 유사한 오버레이 네트워크에 저장된 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위한 적어도 몇몇의 단계들의 실시형태를 예시하는 순서도가 도시된다. 이 실시형태에서, 도 2의 데이터 오브젝트를 저장하는 피어 노드 (202), ACL을 저장하는 피어 노드 (204), 및 요청 피어 노드 (206) 는 예시적 목적들을 위해 사용된다. 최초, 단계 302에서, 피어 노드 (202) 는, 몇몇 다른 피어 노드가 피어 투 피어 오버레이 네트워크에 저장했던 데이터 오브젝트를 수신하여 저장할 수도 있다. 이 실시형태에서, 데이터 오브젝트에 대한 액세스는 피어 투 피어 오버레이 네트워크에서의 하나 이상의 피어 노드들에 대해 제한될 수도 있다. 따라서, 저장된 데이터 오브젝트와 관련된 액세스 제어 리스트 (ACL) 는, 단계 304에 도시된 바와 같이, 피어 노드 (204) 에 의해 수신되어 피어 노드 (204) 에 저장된다.
단계 306에서, 요청 피어 노드 (206) 는 피어 투 피어 오버레이 네트워크를 통해 데이터 오브젝트에 대한 액세스를 요청할 수도 있고, 이 요청은 오버레이 네트워크에 의해 그 데이터 오브젝트를 저장하는 피어 노드 (202) 로 향하거나 라우팅된다. 요청 수신시, 데이터 오브젝트를 저장하는 피어 노드 (202) 는, 단계 308에서, 요청 피어 노드 (206) 의 아이덴티티를 인증할 수도 있다. 이러한 인증은, 통신 네트워크에서의 다른 디바이스와 통신하는 한 디바이스를 인증하기 위해 활용된 임의의 종래의 수단을 포함할 수도 있고, 데이터 오브젝트를 저장하는 피어 노드 (202) 또는 피어 투 피어 오버레이 네트워크에서의 다른 피어 노드 중 어느 하나에 의해 실행될 수도 있다. 비제한적인 예로서, 요청 피어 노드 (206) 는 종래의 디지털 시그니쳐 인증, 시도응답 인증 (challenge-response authentication) 등을 사용하여 인증될 수도 있다.
데이터 오브젝트를 저장하는 피어 노드 (202) 가 요청 피어 노드 (206) 를 인증한 후, 데이터 오브젝트를 저장하는 피어 노드 (202) 는 요청된 데이터 오브젝트를 취출할 수도 있고, 단계 310에서 데이터 오브젝트와 관련된 액세스 제어 리스트 (ACL) 를 어떻게 및/또는 어디서 발견할지를 데이터 오브젝트로부터 결정할 수도 있다. 예를 들면, 데이터 오브젝트는, 피어 투 피어 오버레이 네트워크에서 액세스 제어 리스트 (ACL) 를 어떻게 및/또는 어디서 발견할지를 나타내는 라우팅 메커니즘, 예컨대 위치 표시자를 포함할 수 있다. 위에서 언급된 바와 같이, 데이터 오브젝트와 함께 포함된 라우팅 메커니즘은 피어 투 피어 오버레이 네트워크 내에서의 관련 액세스 제어 리스트 (ACL) 의 위치를 결정하기 위해 활용 가능한 URI를 포함할 수도 있다. 적어도 하나의 구현예에 따르면, 피어 투 피어 오버레이 네트워크는 주어진 라우팅 메커니즘 (예를 들면, URI) 에 대해 메시지들 및 요청들을 라우팅하기 위해 하나 이상의 분산 해시 테이블들 (DHT) 을 활용하도록 적응될 수도 있다.
데이터 오브젝트를 저장하는 피어 노드 (202) 는, 단계 312에서, 액세스 제어 리스트 (ACL), 또는 적어도 그 사본을 획득하기 위한 요청을 피어 투 피어 오버레이 네트워크를 통해 전송할 수도 있다. 액세스 제어 리스트 (ACL) 를 저장하는 피어 노드 (204) 는, 단계 314에서, 액세스 제어 리스트 (ACL) 를 취출할 수도 있고 그것 (또는 그 사본) 을 데이터 오브젝트를 저장하는 피어 노드 (202) 로 전송할 수도 있다.
데이터 오브젝트를 저장하는 피어 노드 (202) 는, 단계 316에서, 액세스 제어 리스트 (ACL) 를 수신하고 요청된 데이터 오브젝트에 액세스하도록 요청 피어 노드 (206) 를 액세스 제어 리스트 (ACL) 가 인가하는지의 여부를 결정한다. 요청 피어 노드 (206) 가 요청된 데이터 오브젝트에 액세스하도록 인가된 것을 액세스 제어 리스트 (ACL) 가 나타내면, 데이터 오브젝트를 저장하는 피어 노드 (202) 는 단계 318에서 요청을 허용할 수도 있다. 그러나, 요청 피어 노드 (206) 가 요청된 데이터 오브젝트에 액세스하도록 인가되지 않은 것을 액세스 제어 리스트 (ACL) 가 나타내면, 데이터 오브젝트를 저장하는 피어 노드 (202) 는 단계 318에서 요청을 거부할 수도 있다.
도 3에 예시된 구현예는, 액세스 제어 리스트 (ACL), 또는 그 사본을 획득함으로써 요청된 액세스가 인가되는지의 여부를 직접적으로 결정하고 액세스 제어 리스트 (ACL) 를 활용하여 요청 피어 노드 (206) 가 데이터 오브젝트에 액세스하도록 인가되는지의 여부를 결정하는 데이터 오브젝트를 저장하는 피어 노드 (202) 를 포함함을 주목해야만 한다. 그러나, 여러 대안적 구현예들에서, 데이터 오브젝트를 저장하는 피어 노드 (202) 는, 액세스 제어 리스트가 요청된 액세스를 인가하는지의 표시를 다른 피어 노드로부터 수신함으로써 요청된 액세스가 인가되는지를 간접적으로 결정할 수도 있음을 주목해야만 한다. 예를 들면, 다른 피어 노드는 요청 피어 노드 (206) 가 데이터 오브젝트에 액세스하도록 인가된 것을 액세스 제어 리스트 (ACL) 가 나타내는지의 여부를 식별하기 위해 활용될 수도 있고, 그 결과를 데이터 오브젝트를 저장하는 피어 노드 (202) 로 전달할 수도 있다.
예를 들면, 몇몇 구현예들에서, 액세스 제어 리스트 (ACL) 를 저장하는 피어 노드 (204) 는 요청된 액세스를 요청 피어 노드 (206) 에 대해 액세스 제어 리스트 (ACL) 가 허용하는지의 여부를 식별할 수도 있고, 액세스가 허용되었는지 또는 허용되지 않았는지의 표시를 피어 노드 (202) 에 전송할 수도 있다. 다른 구현예들에서, 데이터 오브젝트를 저장하는 피어 노드 (202) 또는 액세스 제어 리스트 (ACL) 를 저장하는 피어 노드 중 하나는, 액세스 제어 리스트 (ACL) 가 요청된 액세스를 요청 피어 노드 (206) 에 허용하는지의 여부를 식별하기 위해 피어 투 피어 오버레이 네트워크 내의 다른 피어 노드를 활용할 수도 있다. 여러 구현예들 중 임의의 것에 따르면, 데이터 오브젝트를 저장하는 피어 노드 (202) 는, 직접적으로 결정된 또는 다른 피어 노드에 의해 보고된 액세스 제어 리스트 (ACL) 에 의해 표시된 인가된 액세스에 따라 요청된 액세스를 허용하거나 거부할 수도 있다.
예시적인 피어 노드들
도 4는 적어도 하나의 구현예에 따른 피어 노드 (400) 의 선택 컴포넌트들을 예시하는 블록도이다. 피어 노드 (400) 는 통신 인터페이스 (404) 에 그리고 저장 매체 (406) 에 커플링된 프로세싱 회로 (402) 를 포함할 수도 있다.
프로세싱 회로 (402) 는 데이터를 획득, 처리 및/또는 전송하고, 데이터 액세스 및 스토리지를 제어하고, 커맨드들을 내리고 (issue), 그리고 다른 소망의 동작들을 제어하도록 정렬된다. 프로세싱 회로 (402) 는 적어도 하나의 구체예에서 적절한 매체에 의해 제공된 소망의 프로그래밍을 구현하도록 구성된 회로부 (circuitry) 를 포함할 수도 있다. 예를 들면, 프로세싱 회로 (402) 는 하나 이상의 프로세서, 컨트롤러, 예를 들면, 소프트웨어 및/또는 펌웨어 명령들을 포함하는 실행가능 명령들을 실행하도록 구성된 복수의 프로세서들 및/또는 다른 구조, 및/또는 하드웨어 회로부로서 구현될 수도 있다. 프로세싱 회로 (402) 의 구체예들은, 범용 프로세서, 디지털 신호 프로세서 (digital signal processor; DSP), 주문형 반도체 (application specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이 (field programmable gate array; FPGA) 또는 다른 프로그램 가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 조합을 포함할 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 다르게는, 상기 프로세서는 임의의 종래의 프로세서, 컨트롤러, 마이크로컨트롤러, 또는 상태 머신일 수도 있다. 프로세서는 컴퓨팅 컴포넌트들 조합, 예를 들면, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 연계한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 이러한 구성들의 조합으로서 구현될 수도 있다. 프로세싱 회로 (402) 의 이들 실시형태들은 예증적인 것이며 본 개시의 범위 내에서 다른 적절한 구성들이 또한 고려된다.
통신 인터페이스 (404) 는 피어 노드 (400) 의 무선 및/또는 유선 통신들을 용이하게 하도록 구성된다. 예를 들면, 통신 인터페이스 (404) 는 피어 투 피어 오버레이 네트워크에서의 다른 피어 노드들에 대해 양방향으로 정보를 통신하도록 구성될 수도 있다. 통신 인터페이스 (404) 는 안테나와 커플링될 수도 있고, 피어 투 피어 오버레이 네트워크와의 무선 통신들을 위해 적어도 하나의 송신기 (408) 및/또는 적어도 하나의 수신기 (410) (예를 들면, 하나 이상의 송신기/수신기 체인들) 를 포함하는 무선 송수신기 회로부를 포함할 수도 있고, 및/또는 네트워크 인터페이스 카드 (network interface card; NIC) 로서, 직렬 또는 병렬 접속부, 범용 직렬 버스 (Universal Serial Bus; USB), 파이어와이어 인터페이스, 썬더볼트 인터페이스, 또는 공용 및/또는 사설 네트워크들에 대한 통신을 위한 임의의 다른 적절한 배치를 포함할 수도 있다.
저장 매체 (406) 는 프로그래밍 및/또는 데이터, 예컨대 프로세서 실행가능 코드 또는 명령들 (예를 들면, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스, 또는 다른 디지털 정보를 저장하기 위한 하나 이상의 디바이스들을 나타낼 수도 있다. 저장 매체 (406) 는 범용의 또는 특별한 목적의 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 비제한적인 예로서, 저장 매체 (406) 는 판독전용 메모리 (예를 들면, ROM, EPROM, EEPROM), 랜덤 액세스 메모리 (RAM), 자기 디스크 스토리지 매체들, 광학적 스토리지 매체들, 플래시 메모리 디바이스들, 및/또는 정보를 저장하기 위한 다른 비일시적 컴퓨터 판독가능 매체들을 포함할 수도 있다. 저장 매체 (406) 는, 프로세싱 회로 (402) 가 저장 매체 (406) 로부터 정보를 판독하고, 저장 매체 (406) 로 정보를 저장할 수 있도록 프로세싱 회로 (402) 에 커플링될 수도 있다. 다르게는, 저장 매체 (406) 는 프로세에 일체화될 수도 있다.
피어 노드 (400) 의 하나 이상의 특징들에 따르면, 프로세싱 회로 (402) 는 도 1 내지 도 3을 참조로 위에서 설명된 여러 피어 노드들 (예를 들면, 피어 노드 (104A-104F, 202, 204 및/또는 206)) 에 관련된 프로세스들, 기능들, 단계들 및/또는 루틴들의 모두 또는 이들 중 임의의 것을 수행하도록 적응될 수도 있다. 본원에서 사용된 바와 같이, 프로세싱 회로 (402) 와 관련한 용어 "적응된"은, 여러 특징들에 따른 특정 프로세스, 기능, 단계 및/또는 루틴을 수행하도록 구성된, 활용된, 구현된, 또는 프로그래밍된 것 중 하나 이상의 것인 프로세싱 회로 (402) 를 지칭할 수도 있다.
도 5는 피어 투 피어 오버레이 네트워크 (예를 들면, 도 1 및 도 2의 네트워크 (102)) 에 저장된 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위한 데이터 오브젝트를 저장하는 피어 노드, 예컨대 피어 노드 (400) 상에서 동작하는 방법의 적어도 하나의 구현예의 실시형태를 예시하는 순서도이다. 도 4 및 도 5 양자를 참조하면, 데이터 오브젝트는 단계 502에서 수신되어 저장될 수도 있다. 예를 들면, 프로세싱 회로 (402) 는, 통신 인터페이스 (404) 를 통해, 피어 투 피어 오버레이 네트워크로부터 데이터 오브젝트를 수신할 수도 있고, 수신된 데이터 오브젝트를 저장 매체 (406) 에 저장할 수도 있다. 데이터 오브젝트는 피어 투 피어 오버레이 네트워크 내에서의 관련 액세스 제어 리스트의 위치를 결정하는 데 사용하도록 적응된 라우팅 메커니즘을 포함한다. 이러한 라우팅 메커니즘은 중앙 서버 또는 안정한 호스트에 의존하지 않고 관련 액세스 제어 리스트의 위치를 결정하도록 적응된다. 비제한적인 예로서, 라우팅 메커니즘은 URI (Universal Resource Identifier) 를 포함할 수 있다.
단계 504에서, 피어 노드 (400) 는 저장된 데이터 오브젝트에 대한 액세스의 요청을 요청 피어 노드로부터 수신할 수도 있다. 예를 들면, 프로세싱 회로 (402) 는 통신 인터페이스 (404) 를 통해 피어 투 피어 오버레이 네트워크 상의 통신을 수신할 수도 있고, 상기 통신은 저장 매체 (406) 에 저장된 데이터 오브젝트에 대한 액세스 (예를 들면, 판독 액세스, 판독/기록 액세스) 를 요청할 수도 있다. 적어도 몇몇의 구현예들에서, 프로세싱 회로 (402) 는 임의의 종래의 인가 알고리즘을 사용하여 요청 피어 노드를 인가하도록 적응될 수도 있다.
단계 506에서, 피어 노드 (400) 는 저장된 데이터 오브젝트와 함께 포함된 라우팅 메커니즘을 사용하여 액세스 제어 리스트 (ACL) 의 위치를 결정할 수도 있다. 예를 들면, 프로세싱 회로 (402) 는 저장 매체 (406) 로부터 데이터 오브젝트를 취출할 수도 있고 데이터 오브젝트와 함께 포함된 라우팅 메커니즘을 식별할 수도 있다. 라우팅 메커니즘 데이터를 이용하면, 프로세싱 회로 (402) 는 피어 투 피어 오버레이 네트워크에서의 관련 액세스 제어 리스트 (ACL) 의 위치를 결정할 수 있다. 예를 들면, 라우팅 메커니즘 데이터는, 프로세싱 회로 (402) 가 액세스 제어 리스트 (ACL) 를 획득하기 위한 메시지를 전송할 수 있는 액세스 제어 리스트의 위치 (예를 들면, 어드레스) 를 식별할 수도 있다. 다른 실시형태에서, 라우팅 메커니즘 데이터는 피어 투 피어 오버레이 네트워크에서의 액세스 제어 리스트 (ACL) 의 아이덴티티 (예를 들면, 이름) 을 특정할 수도 있고, 프로세싱 회로 (402) 는 식별된 아이덴티티를 사용하여 피어 투 피어 오버레이 네트워크 상에서 액세스 제어 리스트 (ACL) 에 대한 요청을 전송할 수 있다.
관련 액세스 제어 리스트 (ACL) 가 위치 결정된 이후, 단계 508에서 피어 노드 (400) 는, 관련 액세스 제어 리스트 (ACL) 에 기초하여, 요청 피어 노드에 의해 요청된 액세스가 인가되는지의 여부를 결정한다. 적어도 하나의 구현예에서, 피어 노드 (400) 는 액세스 제어 리스트 (ACL), 또는 그 사본을 획득하고, 요청된 액세스가 요청 피어 노드에 대해 인가된 것을 액세스 제어 리스트 (ACL) 가 나타내는지의 여부를 결정할 수 있다. 예를 들면, 프로세싱 회로는 통신 인터페이스 (404) 를 사용하여 액세스 제어 리스트 (ACL) 에 대한 요청을 피어 투 피어 오버레이 네트워크를 통해 전송할 수도 있다. 그 요청에 응답하여, 프로세싱 회로 (402) 는, 통신 인터페이스 (404) 를 통해, 액세스 제어 리스트 (ACL) 또는 그 사본을 수신할 수도 있다. 액세스 제어 리스트 (ACL) 의 수신시, 프로세싱 회로는 수신된 액세스 제어 리스트 (ACL) 를 분석하여 요청 피어 노드가 요청된 데이터 오브젝트에 액세스하도록 인가된 것을 액세스 제어 리스트가 나타내는지의 여부를 결정할 수도 있다.
적어도 몇몇의 구현예들에서, 피어 노드 (400) 는 피어 투 피어 오버레이 네트워크로부터 액세스 제어 리스트 (ACL) 를 획득한 이후 저장된 데이터 오브젝트와 관련된 액세스 제어 리스트 (ACL) 의 사본을 캐싱할 수도 있다. 예를 들면, 프로세싱 회로 (402) 는 획득된 액세스 제어 리스트 (ACL) 의 사본을 저장 매체 (406) 에 저장할 수도 있다. 데이터 오브젝트에 대한 액세스가 피어 투 피어 오버레이 네트워크에서 자주 요청되는 경우, 관련 액세스 제어 리스트 (ACL) 를 저장하는 것은 인기 있는 데이터 오브젝트에 대한 액세스 제어를 수행하기 위한 왕복 지연시간 (round-trip latency) 및 대역폭 사용량을 줄일 수 있다.
하나 이상의 다른 구현예들에서, 피어 노드 (400) 는, 다른 피어 노드로부터의 표시를 수신함으로써, 단계 508에서, 요청된 액세스가 인가되는지의 여부를 결정할 수도 있다. 예를 들면, 프로세싱 회로 (402) 는, 액세스 제어 리스트 (ACL) 가 저장되는 피어 투 피어 오버레이에서의 피어 노드에 통신 인터페이스 (404) 를 통해 질의를 전송할 수도 있다. 질의는, 데이터 오브젝트에 대한 요청된 액세스가 요청 피어 노드에 대해 인가되는지의 여부의 표시를 요청할 수도 있다. 이러한 구현예에서, 액세스 제어 리스트 (ACL) 를 저장하는 피어 노드 또는 피어 투 피어 오버레이 네트워크 상의 몇몇 다른 피어 노드는 액세스 제어 리스트 (ACL) 를 분석하여, 요청된 데이터 오브젝트를 액세스하도록 요청 피어 노드가 인가된 것을 액세스 제어 리스트가 나타내는지의 여부를 결정할 수도 있다. 액세스 제어 리스트 (ACL) 를 분석하는 피어 노드는 표시를 피어 노드 (400) 에 전송할 수 있고, 그 결과 프로세싱 회로 (402) 는 그 표시를 통신 인터페이스 (404) 를 통해 수신하고 수신된 표시가 요청된 액세스를 인가된 것으로 나타내는지 또는 또는 인가되지 않은 것으로서 나타내는지의 여부를 결정한다.
단계 510에서, 피어 노드 (400) 는 액세스 제어 리스트가 요청된 액세스를 인가하는지의 여부에 기초하여 요청 피어 노드에 대해 데이터 오브젝트에 대한 액세스를 허용하거나 거부할 수도 있다. 예를 들면, 프로세싱 회로 (402) 가, 액세스 제어 리스트 (ACL) 또는 액세스 제어 리스트 (ACL) 에 기초한 수신된 표시 중 어느 하나로부터, 요청 피어 노드가 요청된 방식으로 데이터 오브젝트를 액세스하도록 인가된 것을 결정하면, 그 다음 프로세싱 회로 (402) 는 요청 피어 노드에 대해 요청된 액세스를 허용한다. 그러나, 만약 요청 피어 노드가 요청된 방식으로 데이터 오브젝트에 액세스하도록 인가되지 않은 것을 프로세싱 회로 (402) 가 결정하면, 프로세싱 회로 (402) 는 요청 피어 노드에 대해 요청된 액세스를 거부할 수도 있다.
도 6은 피어 투 피어 오버레이 네트워크 (예를 들면, 도 1 및 도 2의 네트워크 (102)) 에 저장된 데이터 오브젝트에 대한 액세스 제어를 용이하게 하기 위한 액세스 제어 리스트 (ACL) 를 저장하는 피어 노드, 예컨대 피어 노드 (400) 상에서 동작하는 방법의 적어도 하나의 구현예의 실시형태를 예시하는 순서도이다. 도 4 및 도 6 양자를 참조하면, 액세스 제어 리스트는 단계 602에서 수신되어 저장될 수도 있다. 예를 들면, 프로세싱 회로 (402) 는 통신 인터페이스 (404) 를 통해 피어 투 피어 오버레이 네트워크로부터 액세스 제어 리스트를 수신할 수도 있고, 수신된 액세스 제어 리스트를 저장 매체 (406) 에 저장할 수도 있다. 피어 노드 (400) 는 모든 액세스 제어 리스트들에 대해 중앙집중형 피어 노드로서 기능하지 않을 수도 있고, 저장된 액세스 제어 리스트는 피어 투 피어 오버레이 네트워크에서의 모든 데이터 오브젝트들과 관련되지 않을 수도 있다. 대신, 피어 노드 (400) 는 피어 투 피어 오버레이 네트워크에서의 하나 이상의 각각의 데이터 오브젝트들과 각각 관련된 각각의 액세스 제어 리스트들을 저장하는 피어 투 피어 오버레이 네트워크에서의 복수의 피어 노드들 중 하나로서 기능할 수도 있다.
액세스 제어 리스트는 피어 투 피어 오버레이 네트워크 내에서의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 적응될 수도 있다. 몇몇 구현예들에서, 액세스 제어 리스트는 피어 투 피어 오버레이 네트워크 내에서의 복수의 관련 데이터 오브젝트들에 대한 액세스 제어들을 나타내도록 적응될 수도 있다. 액세스 제어 리스트는, 하나 이상의 관련 데이터 오브젝트들 각각과 함께 저장된 라우팅 메커니즘에 의해 피어 투 피어 오버레이 네트워크 내에 위치 결정되도록 더 적응된다. 본원에서 논의된 바와 같이, 이러한 라우팅 메커니즘은 적어도 몇몇의 구현예들에서 URI (Universal Resource Identifier) 를 포함할 수도 있다.
단계 604에서, 피어 노드 (400) 는 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하고 있는 피어 노드로부터 제 1의 송신을 수신할 수 있고, 제 1의 송신은 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함한다. 예를 들면, 프로세싱 회로 (402) 는 통신 인터페이스 (404) 를 통해 제 1의 송신을 수신할 수도 있다. 제 1의 송신의 수신에 응답하여, 피어 노드 (400) 는, 단계 606에서, 데이터 오브젝트를 저장하고 있는 피어 노드로 제 2의 송신을 전송할 수도 있고, 제 2의 전송은 데이터 오브젝터와 관련된 액세스 제어들에 관한 요청된 정보를 포함한다. 예를 들면, 프로세싱 회로 (402) 는 통신 인터페이스 (404) 를 통해 피어 투 피어 오버레이 네트워크로 제 2의 송신을 전송할 수도 있다.
적어도 하나의 구현예에서, 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청은 액세스 제어 리스트에 대한 요청을 포함할 수도 있다. 액세스 제어 리스트에 대한 이러한 요청은, 단순히, 액세스 제어 리스트에 대한 액세스의 요청, 액세스 제어 리스트의 사본에 대한 요청 및/또는 실제 액세스 제어 리스트 데이터 오브젝트에 대한 요청일 수도 있다. 이러한 구현예들에서, 피어 노드 (400) 에 의해 전송된 제 2의 송신은 요청된 액세스 제어 리스트 정보를 포함할 수도 있다.
하나 이상의 다른 구현예들에서, 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청은, 요청 피어 노드에 의해 요청된 데이터 오브젝트에 대한 액세스가 액세스 제어 리스트 (ACL) 에 의해 인가되는지의 여부의 표시를 요청하는 질의를 포함할 수도 있다. 이러한 구현예들에서, 프로세싱 회로 (402) 는 액세스 제어 리스트 (ACL) 를 분석하여, 요청 피어 노드에 의해 요청된 액세스가 인가된 것을 액세스 제어 리스트가 나타내는지 또는 나타내지 않는지의 여부를 결정할 수도 있다. 그 다음 피어 노드 (400) 는, 요청 피어 노드에 의해 요청된 액세스가 인가되는지의 여부를 나타내는 요청된 표시와 함께 제 2의 송신을 전송할 수도 있다.
도 1, 도 2, 도 3, 도 4, 도 5 및/또는 도 6에서 예시된 하나 이상의 컴포넌트들, 단계들, 특징들 및/또는 기능들은 단일의 컴포넌트, 단계, 특징, 또는 기능으로 재정렬되고/되거나 결합될 수도 있거나 또는 여러 컴포넌트들, 단계들, 또는 기능들에서 구체화될 수도 있다. 본 개시의 범위를 벗어나시 않으면서, 추가적인 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들이 또한 추가될 수도 있다. 도 1, 도 2 및/또는 도 4에 예시된 장치, 디바이스들, 컴포넌트들 및/또는 송신 프레임들은 도 3, 도 5 및/또는 도 6에서 설명된 하나 이상의 방법들, 특징들, 또는 단계들을 수행하도록 구성될 수도 있다. 또한, 본원에서 설명된 신규의 알고리즘들은 소프트웨어에서 효율적으로 구현되고/되거나 하드웨어에 효율적으로 임베디드될 수도 있다.
또한, 적어도 몇몇의 구현예들이 흐름도, 순서도, 구조도, 또는 블록도로서 묘사된 프로세스로서 설명되었음을 알 수 있다. 흐름도가 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 많은 동작들은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재정렬될 수도 있다. 한 프로세스는 그 동작들이 완료되면 종료된다. 프로세스는 방법, 함수, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응하면, 그 종료는 호출 함수 또는 메인 함수로의 그 함수의 리턴에 대응한다.
또한, 구체예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드에서 구현되면, 필요한 작업들을 수행하는 프로그램 코드 또는 코드 세그먼트들은 저장 매체 또는 다른 스토리지(들)와 같은 머신 판독가능 매체에 저장될 수도 있다. 프로세서는 필요한 작업들을 수행할 수도 있다. 코드 세그먼트는 절차, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들, 또는 프로그램 상태문들의 임의의 조합을 나타낼 수도 있다. 코드 세그먼트는, 정보, 데이터, 인수들 (arguments), 파라미터들, 또는 메모리 컨텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 커플링될 수도 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적절한 수단을 통해 전달되거나, 포워딩되거나, 또는 전송될 수도 있다.
용어들 "머신 판독가능 매체", "컴퓨터 판독가능 매체", 및/또는 "프로세서 판독가능 매체"는 휴대형 또는 고정형 스토리지 디바이스들, 광학 스토리지 디바이스들, 명령 (들) 및/또는 데이터를 저장하거나, 포함하거나, 이동할 수 있는 여러 다른 비일시적 매체들을 포함할 수도 있지만, 이들에 제한되는 것은 아니다. 따라서, 본원에서 설명된 여러 방법들은, "머신 판독가능 매체", "컴퓨터 판독가능 매체", 및/또는 "프로세서 판독가능 매체"에 저장될 수도 있으며 하나 이상의 프로세서들, 머신들 및/또는 디바이스들에 의해 실행될 수도 있는 명령들 및/또는 데이터에 의해 부분적으로 또는 전적으로 구현될 수도 있다.
본원에서 개시된 실시형태들과 연계하여 설명된 방법들 또는 알고리즘들은, 하드웨어에서 직접적으로, 프로세서에 의해 실행가능한 소프트웨어 모듈에서, 또는 이들 양자의 조합에서, 프로세싱 유닛, 프로그래밍 명령들, 또는 다른 지령들의 형태로 구현될 수도 있으며, 단일의 디바이스 또는 복수의 디바이스들에 걸쳐 분산되어 포함될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈식 디스크, CD-ROM, 또는 종래 기술에서 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체로 정보를 저장할 수 있도록 프로세서에 커플링될 수도 있다. 다르게는, 저장 매체는 프로세에 일체화될 수도 있다.
당업자라면, 본원에서 개시된 구체예들과 연계하여 설명된 여러 예증적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어 또는 이들 양자의 조합으로서 구현될 수도 있음을 또한 알 수 있을 것이다. 하드웨어 및 소프트웨어의 이러한 상호 교환성을 명확하게 설명하기 위해, 여러 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들을 상기에서 일반적으로 그들의 기능적 관점에서 설명하였다. 이러한 기능성이 하드웨어로서 또는 소프트웨어로서 구현될지는 특정 어플리케이션과 전체 시스템에 부과되는 디자인 제약들에 따른다.
본원에서 설명된 구체예들의 여러 특징들은 본 개시의 범위를 벗어나지 않으면서 상이한 시스템들에서 구현될 수 있다. 상기 구체예들은 단시 실시형태들이며 본 개시를 제한하는 것으로 이해되어선 안됨을 주목해야만 한다. 구체예들의 설명은 예증적인 것으로 의도된 것이며, 특허청구범위의 범위를 제한하는 것으로 의도된 것은 아니다. 이와 같이, 본 교시는 다른 타입들의 장치들에 쉽게 적용될 수 있으며, 많은 대안예들, 수정예들, 변경예들이 당업자에게는 명확할 것이다.

Claims (37)

  1. 피어 노드로서,
    피어 투 피어 오버레이 네트워크 상에서의 통신을 용이하게 하도록 구성된 통신 인터페이스;
    내부에 저장된 데이터 오브젝트를 포함하는 저장 매체로서, 상기 데이터 오브젝트는 상기 피어 투 피어 오버레이 네트워크 내에서의 상기 데이터 오브젝트와 관련된 액세스 제어 리스트의 위치를 결정하는 데 활용되도록 구성된 라우팅 메커니즘을 포함하는, 상기 저장 매체; 및
    상기 통신 인터페이스 및 상기 저장 매체에 커플링된 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는:
    상기 저장 매체에서의 상기 데이터 오브젝트에 대한 액세스의 요청을 요청 피어 노드로부터 수신하고;
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘을 사용하여 상기 피어 투 피어 오버레이 네트워크에서의 상기 액세스 제어 리스트의 위치를 결정하고;
    상기 액세스 제어 리스트에 기초하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 결정하고; 그리고
    상기 액세스 제어 리스트가 상기 요청된 액세스를 인가하는지의 여부에 기초하여 상기 요청 피어 노드에 대해 상기 데이터 오브젝트에 대한 액세스를 허용하거나 또는 거부하도록 구성되는, 피어 노드.
  2. 제 1항에 있어서,
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘은 URI (Universal Resource Identifier) 를 포함하는, 피어 노드.
  3. 제 1항에 있어서,
    상기 라우팅 메커니즘은 중앙 서버 또는 안정한 호스트의 사용 없이 상기 피어 투 피어 오버레이 네트워크 내에서의 상기 데이터 오브젝트의 위치를 결정하도록 구성되는, 피어 노드.
  4. 제 1항에 있어서,
    상기 프로세싱 회로는:
    상기 액세스 제어 리스트를 획득하고; 그리고
    상기 액세스 제어 리스트를 분석하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가된 것을 상기 액세스 제어 리스트가 나타내는지 또는 나타내지 않는지의 여부를 결정하도록 더 구성되는, 피어 노드.
  5. 제 1항에 있어서,
    상기 프로세싱 회로는:
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부의 표시를 요청하는 질의를, 상기 액세스 제어 리스트를 저장하는 피어 노드에 전송하고, 그리고
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 상기 표시를 수신하도록 더 구성되는, 피어 노드.
  6. 제 5항에 있어서,
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 상기 표시는 상기 액세스 제어 리스트를 저장하는 상기 피어 노드 또는 상기 피어 투 피어 오버레이 네트워크의 다른 피어 노드 중 하나로부터 수신되는, 피어 노드.
  7. 제 1항에 있어서,
    상기 프로세싱 회로는:
    상기 데이터 오브젝트와 관련된 상기 액세스 제어 리스트의 사본을 상기 저장 매체에 캐싱 (caching) 하도록 더 구성되는, 피어 노드.
  8. 제 1항에 있어서,
    상기 저장 매체는 상기 데이터 오브젝트와 관련된 상기 액세스 제어 리스트를 더 포함하고; 그리고
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘은 상기 액세스 제어 리스트가 상기 피어 노드에서 위치결정된 것을 나타내는, 피어 노드.
  9. 제 1항에 있어서,
    상기 프로세싱 회로는 상기 요청 피어 노드를 인증하도록 더 구성되는, 피어 노드.
  10. 피어 노드 상에서 동작하는 방법으로서,
    저장 매체에 데이터 오브젝트를 저장하는 단계로서, 상기 데이터 오브젝트는 피어 투 피어 오버레이 네트워크 내에서의 상기 데이터 오브젝트와 관련된 액세스 제어 리스트의 위치를 결정하는 데 활용되도록 구성된 라우팅 메커니즘을 포함하는, 상기 데이터 오브젝트를 저장하는 단계;
    저장된 상기 데이터 오브젝트에 대한 액세스의 요청을 요청 피어 노드로부터 수신하는 단계;
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘을 사용하여 상기 피어 투 피어 오버레이 네트워크에서의 상기 액세스 제어 리스트의 위치를 결정하는 단계;
    상기 액세스 제어 리스트에 기초하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 결정하는 단계; 및
    상기 액세스 제어 리스트가 상기 요청된 액세스를 인가하는지의 여부에 기초하여 상기 요청 피어 노드에 대해 상기 데이터 오브젝트에 대한 액세스를 허용하거나 또는 거부하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  11. 제 10항에 있어서,
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘은 URI (Universal Resource Identifier) 를 포함하는, 피어 노드 상에서 동작하는 방법.
  12. 제 10항에 있어서,
    상기 액세스 제어 리스트에 기초하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 결정하는 단계는:
    상기 액세스 제어 리스트를 획득하는 단계; 및
    상기 액세스 제어 리스트를 분석하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가된 것을 상기 액세스 제어 리스트가 나타내는지 또는 나타내지 않는지의 여부를 결정하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  13. 제 10항에 있어서,
    상기 액세스 제어 리스트에 기초하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 결정하는 단계는:
    상기 액세스 제어 리스트를 저장하는 피어 노드에 질의를 전송하는 단계로서, 상기 질의는 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부의 표시를 요청하는, 상기 질의를 전송하는 단계; 및
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 상기 표시를 수신하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  14. 제 13항에 있어서,
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 상기 표시를 수신하는 단계는:
    상기 액세스 제어 리스트를 저장하는 상기 피어 노드로부터 상기 표시를 수신하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  15. 제 13항에 있어서,
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 상기 표시를 수신하는 단계는:
    상기 피어 투 피어 오버레이 네트워크의 다른 피어 노드로부터 상기 표시를 수신하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  16. 제 10항에 있어서,
    상기 데이터 오브젝트와 관련된 상기 액세스 제어 리스트의 사본을 상기 저장 매체에 캐싱하는 단계를 더 포함하는, 피어 노드 상에서 동작하는 방법.
  17. 제 10항에 있어서,
    상기 요청 피어 노드를 인증하는 단계를 더 포함하는, 피어 노드 상에서 동작하는 방법.
  18. 피어 노드로서,
    저장 매체에 데이터 오브젝트를 저장하는 수단으로서, 상기 데이터 오브젝트는 피어 투 피어 오버레이 네트워크 내에서의 상기 데이터 오브젝트와 관련된 액세스 제어 리스트의 위치를 결정하는 데 활용되도록 구성된 라우팅 메커니즘을 포함하는, 상기 데이터 오브젝트를 저장하는 수단;
    저장된 상기 데이터 오브젝트에 대한 액세스의 요청을 요청 피어 노드로부터 수신하는 수단;
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘을 사용하여 상기 피어 투 피어 오버레이 네트워크에서의 상기 액세스 제어 리스트의 위치를 결정하는 수단;
    상기 액세스 제어 리스트에 기초하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 결정하는 수단; 및
    상기 액세스 제어 리스트가 상기 요청된 액세스를 인가하는지의 여부에 기초하여 상기 요청 피어 노드에 대해 상기 데이터 오브젝트에 대한 액세스를 허용하거나 또는 거부하는 수단을 포함하는, 피어 노드.
  19. 피어 노드 상에서 동작하는 명령들을 포함하는 프로세서 판독가능 매체로서,
    상기 명령들은 프로세서에 의한 실행시 상기 프로세서로 하여금:
    데이터 오브젝트로서, 피어 투 피어 오버레이 네트워크 내에서의 상기 데이터 오브젝트와 관련된 액세스 제어 리스트의 위치를 결정하는 데 활용되도록 구성된 라우팅 메커니즘을 포함하는 상기 데이터 오브젝트를 저장 매체에 저장하고;
    저장된 상기 데이터 오브젝트에 대한 액세스의 요청을 요청 피어 노드로부터 수신하고;
    상기 데이터 오브젝트와 함께 포함된 상기 라우팅 메커니즘을 사용하여 상기 피어 투 피어 오버레이 네트워크에서의 상기 액세스 제어 리스트의 위치를 결정하고;
    상기 액세스 제어 리스트에 기초하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 결정하고; 그리고
    상기 액세스 제어 리스트가 상기 요청된 액세스를 인가하는지의 여부에 기초하여 상기 요청 피어 노드에 대해 상기 데이터 오브젝트에 대한 액세스를 허용하거나 또는 거부하게 하는, 피어 노드 상에서 동작하는 명령들을 포함하는 프로세서 판독가능 매체.
  20. 피어 노드로서,
    피어 투 피어 오버레이 네트워크 상에서의 통신을 용이하게 하도록 구성된 통신 인터페이스;
    내부에 저장된 액세스 제어 리스트를 포함하는 저장 매체로서, 상기 액세스 제어 리스트는 적어도 하나의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 구성되는, 상기 저장 매체; 및
    상기 통신 인터페이스 및 상기 저장 매체에 커플링된 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는:
    상기 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하는 피어 노드로부터의 제 1의 송신으로서, 상기 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함하는 상기 제 1의 송신을 수신하고; 그리고
    상기 제 1의 송신에 응답하여 상기 데이터 오브젝트를 저장하는 상기 피어 노드로의 제 2의 송신으로서, 상기 데이터 오브젝트와 관련된 상기 액세스 제어들에 관한 요청된 상기 정보를 포함하는 상기 제 2의 송신을 전송하도록 구성되는, 피어 노드.
  21. 제 20항에 있어서,
    상기 통신 인터페이스는 중앙 서버 또는 안정한 호스트의 사용 없이 상기 피어 투 피어 오버레이 네트워크 상에서의 통신을 용이하게 하도록 구성되는, 피어 노드.
  22. 제 20항에 있어서,
    상기 액세스 제어 리스트는 상기 적어도 하나의 관련 데이터 오브젝트와 함께 저장된 라우팅 메커니즘에 의해 상기 피어 투 피어 오버레이 네트워크 내에서 위치결정되도록 구성되는, 피어 노드.
  23. 제 22항에 있어서,
    상기 라우팅 메커니즘은 URI (Universal Resource Identifier) 를 포함하는, 피어 노드.
  24. 제 20항에 있어서,
    상기 액세스 제어 리스트는 상기 피어 투 피어 오버레이 네트워크에 저장된 복수의 상이한 데이터 오브젝트들에 대한 액세스 제어들을 나타내도록 구성되는, 피어 노드.
  25. 제 20항에 있어서,
    상기 프로세싱 회로는:
    상기 액세스 제어 리스트에 대한 요청을 포함하는 상기 제 1의 송신을 수신하도록 더 구성되는, 피어 노드.
  26. 제 25항에 있어서,
    상기 프로세싱 회로는:
    상기 데이터 오브젝트를 저장하는 상기 피어 노드로 상기 액세스 제어 리스트를 포함하는 제 2의 송신을 전송하도록 더 구성되는, 피어 노드.
  27. 제 20항에 있어서,
    상기 프로세싱 회로는:
    요청 피어 노드에 의해 요청된 상기 데이터 오브젝트에 대한 액세스가 인가되는지의 여부의 표시를 요청하는 질의를 포함하는 상기 제 1의 송신을 수신하도록 더 구성되는, 피어 노드.
  28. 제 27항에 있어서,
    상기 프로세싱 회로는:
    상기 액세스 제어 리스트를 분석하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가된 것을 상기 액세스 제어 리스트가 나타내는지 또는 나타내지 않는지의 여부를 결정하고; 그리고
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 요청된 상기 표시를 포함하는 상기 제 2의 송신을 전송하도록 더 구성되는, 피어 노드.
  29. 피어 노드 상에서 동작하는 방법으로서,
    저장 매체에 액세스 제어 리스트를 저장하는 단계로서, 상기 액세스 제어 리스트는 피어 투 피어 오버레이 네트워크에서의 적어도 하나의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 구성되는, 상기 액세스 제어 리스트를 저장하는 단계;
    상기 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하는 피어 노드로부터 제 1의 송신을 수신하는 단계로서, 상기 제 1의 송신은 상기 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함하는, 상기 제 1의 송신을 수신하는 단계; 및
    상기 제 1의 송신에 응답하여 상기 데이터 오브젝트를 저장하는 상기 피어 노드로 제 2의 송신을 전송하는 단계로서, 상기 제 2의 송신은 상기 데이터 오브젝트와 관련된 상기 액세스 제어들에 관한 요청된 상기 정보를 포함하는, 상기 제 2의 송신을 전송하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  30. 제 29항에 있어서,
    상기 액세스 제어 리스트는 상기 적어도 하나의 관련 데이터 오브젝트와 함께 저장된 라우팅 메커니즘에 의해 상기 피어 투 피어 오버레이 네트워크 내에서 위치결정되도록 구성되는, 피어 노드 상에서 동작하는 방법.
  31. 제 30항에 있어서,
    상기 라우팅 메커니즘은 URI (Universal Resource Identifier) 를 포함하는, 피어 노드 상에서 동작하는 방법.
  32. 제 29항에 있어서,
    상기 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 상기 요청을 포함하는 상기 제 1의 송신을 수신하는 단계는:
    상기 액세스 제어 리스트에 대한 요청을 포함하는 상기 제 1의 송신을 수신하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  33. 제 32항에 있어서,
    상기 데이터 오브젝트와 관련된 상기 액세스 제어들에 관한 상기 요청된 정보를 포함하는 상기 제 2의 송신을 전송하는 단계는:
    상기 데이터 오브젝트를 저장하는 상기 피어 노드로 상기 액세스 제어 리스트를 포함하는 상기 제 2의 송신을 전송하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  34. 제 29항에 있어서,
    상기 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보를 요청하는 상기 제 1의 송신을 수신하는 단계는:
    요청 피어 노드에 의해 요청된 상기 데이터 오브젝트에 대한 액세스가 인가되는지의 여부의 표시를 요청하는 질의를 수신하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  35. 제 34항에 있어서,
    상기 데이터 오브젝트와 관련된 상기 액세스 제어들에 관한 상기 요청된 정보를 포함하는 상기 제 2의 송신을 전송하는 단계는:
    상기 액세스 제어 리스트를 분석하여 상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가된 것을 상기 액세스 제어 리스트가 나타내는지 또는 나타내지 않는지의 여부를 결정하는 단계; 및
    상기 요청 피어 노드에 의해 요청된 상기 액세스가 인가되는지의 여부를 나타내는 요청된 상기 표시를 포함하는 상기 제 2의 송신을 전송하는 단계를 포함하는, 피어 노드 상에서 동작하는 방법.
  36. 피어 노드로서,
    저장 매체에 액세스 제어 리스트를 저장하는 수단으로서, 상기 액세스 제어 리스트는 피어 투 피어 오버레이 네트워크에서의 적어도 하나의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 구성되는, 상기 액세스 제어 리스트를 저장하는 수단;
    상기 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하는 피어 노드로부터 제 1의 송신을 수신하는 수단으로서, 상기 제 1의 송신은 상기 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함하는, 상기 제 1의 송신을 수신하는 수단; 및
    상기 제 1의 송신에 응답하여 상기 데이터 오브젝트를 저장하는 상기 피어 노드로 제 2의 송신을 전송하는 수단으로서, 상기 제 2의 송신은 상기 데이터 오브젝트와 관련된 상기 액세스 제어들에 관한 요청된 상기 정보를 포함하는, 상기 제 2의 송신을 전송하는 수단을 포함하는, 피어 노드.
  37. 피어 노드 상에서 동작하는 명령들을 포함하는 프로세서 판독가능 매체로서,
    상기 명령들은 프로세서에 의한 실행시 상기 프로세서로 하여금:
    피어 투 피어 오버레이 네트워크에서의 적어도 하나의 관련 데이터 오브젝트에 대한 액세스 제어들을 나타내도록 구성되는 액세스 제어 리스트를 저장 매체에 저장하고;
    상기 액세스 제어 리스트와 관련된 데이터 오브젝트를 저장하는 피어 노드로부터의 제 1의 송신으로서, 상기 데이터 오브젝트와 관련된 액세스 제어들에 관한 정보에 대한 요청을 포함하는 상기 제 1의 송신을 수신하고; 그리고
    상기 제 1의 송신에 응답하여 상기 데이터 오브젝트를 저장하는 상기 피어 노드로의 제 2의 송신으로서, 상기 데이터 오브젝트와 관련된 상기 액세스 제어들에 관한 요청된 상기 정보를 포함하는 상기 제 2의 송신을 전송하도록 하는, 피어 노드 상에서 동작하는 명령들을 포함하는 프로세서 판독가능 매체.
KR1020137033335A 2011-05-23 2012-05-23 피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어를 위한 방법 및 디바이스들 KR101468354B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/113,813 2011-05-23
US13/113,813 US8516607B2 (en) 2011-05-23 2011-05-23 Facilitating data access control in peer-to-peer overlay networks
PCT/US2012/039049 WO2012162340A1 (en) 2011-05-23 2012-05-23 Method and devices for data access control in peer-to- peer overlay networks

Publications (2)

Publication Number Publication Date
KR20140009577A KR20140009577A (ko) 2014-01-22
KR101468354B1 true KR101468354B1 (ko) 2014-12-03

Family

ID=46201837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137033335A KR101468354B1 (ko) 2011-05-23 2012-05-23 피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어를 위한 방법 및 디바이스들

Country Status (6)

Country Link
US (1) US8516607B2 (ko)
EP (1) EP2716009B1 (ko)
JP (1) JP5777808B2 (ko)
KR (1) KR101468354B1 (ko)
CN (1) CN103563330B (ko)
WO (1) WO2012162340A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012094330A1 (en) * 2011-01-03 2012-07-12 Planetary Data LLC Community internet drive
EP2735131B1 (en) * 2011-07-22 2019-05-22 Raketu Communications, Inc. Self-adapting direct peer to peer communication and messaging system
US8811950B2 (en) * 2012-03-30 2014-08-19 Qualcomm Incorporated Methods and apparatus for controlling devices with no or limited WWAN capability in peer to peer communication
US9106508B2 (en) * 2012-04-30 2015-08-11 International Business Machines Corporation Providing services to virtual overlay network traffic
CN104937895B (zh) 2013-01-18 2018-04-24 Lg电子株式会社 在无线通信系统中控制访问的方法和设备
CN104969235B (zh) * 2013-01-31 2018-02-02 日本电气株式会社 网络系统
KR102063681B1 (ko) * 2013-03-11 2020-01-08 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠 폐기 리스트를 이용하여 유효하지 않은 컨텐츠를 삭제하는 관리 노드, 요청 노드 및 일반 노드의 통신 방법
US10032041B2 (en) * 2015-05-30 2018-07-24 Apple Inc. Storage volume protection using restricted resource classes
JP6459861B2 (ja) * 2015-08-31 2019-01-30 京セラドキュメントソリューションズ株式会社 ネットワーク機器及び機能制限プログラム
CN106612211B (zh) * 2015-10-23 2020-02-21 华为技术有限公司 VxLAN中的路径探测方法,控制器和网络设备
CN106250762A (zh) * 2016-07-18 2016-12-21 乐视控股(北京)有限公司 用于防止存储对象非法引用的方法和系统
US10587616B2 (en) * 2016-09-16 2020-03-10 Google Llc Methods, systems, and media for authentication of user devices to a display device
CN106790304A (zh) * 2017-03-24 2017-05-31 联想(北京)有限公司 数据访问方法、装置、节点以及服务器集群
EP3646571B1 (en) * 2017-06-30 2023-11-15 nChain Licensing AG Flow control for probabilistic relay in a blockchain network
US10664574B1 (en) * 2017-09-15 2020-05-26 Architecture Technology Corporation Distributed data storage and sharing in a peer-to-peer network
US11115486B2 (en) * 2018-08-08 2021-09-07 Microsoft Technology Licensing, Llc Data re-use across documents
EP3620937B1 (en) 2018-09-06 2021-02-24 Icon Clinical Research Limited Management of confidential document distribution and security
US11616774B2 (en) * 2019-01-17 2023-03-28 Blackberry Limited Methods and systems for detecting unauthorized access by sending a request to one or more peer contacts

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100123146A (ko) * 2009-05-14 2010-11-24 이화여자대학교 산학협력단 미디어 스트리밍을 위한 피투피 오버레이 네트워크 구조 및 피투피 오버레이 네트워크의 관리 방법
KR20110040702A (ko) * 2009-10-12 2011-04-20 한국전자통신연구원 P2p 제어 장치 및 전송 오버레이 제어 방법
KR20110042544A (ko) * 2009-10-19 2011-04-27 한국전자통신연구원 실시간 스트리밍 서비스를 위한 피어-투-피어 오버레이 통신 시스템 및 방법
KR20110043775A (ko) * 2008-08-19 2011-04-27 디지맥 코포레이션 콘텐트 처리를 위한 방법들 및 시스템들

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212633B1 (en) * 1998-06-26 2001-04-03 Vlsi Technology, Inc. Secure data communication over a memory-mapped serial communications interface utilizing a distributed firewall
US6601171B1 (en) 1999-02-18 2003-07-29 Novell, Inc. Deputization in a distributed computing system
EP1132796A1 (en) * 2000-03-08 2001-09-12 Universite Catholique De Louvain Mobile code and method for resource management for mobile code
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP4280036B2 (ja) * 2001-08-03 2009-06-17 パナソニック株式会社 アクセス権制御システム
US7024429B2 (en) 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
US7574488B2 (en) * 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
US7200862B2 (en) * 2002-09-30 2007-04-03 Microsoft Corporation Securing uniform resource identifier namespaces
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
KR100553273B1 (ko) * 2003-11-14 2006-02-22 주식회사 넷츠 엑스트라넷 액세스제어 장치 및 방법
US20060026286A1 (en) 2004-07-06 2006-02-02 Oracle International Corporation System and method for managing user session meta-data in a reverse proxy
US8166565B1 (en) * 2004-07-29 2012-04-24 Parallels IP Holdings GmbH Encryption and access method and system for peer-to-peer distributed file storage
US7613701B2 (en) 2004-12-22 2009-11-03 International Business Machines Corporation Matching of complex nested objects by multilevel hashing
ATE422131T1 (de) 2005-02-22 2009-02-15 Microsoft Corp Netzwerkinformationen in einem peer-to-peer netzwerk
JP4434062B2 (ja) * 2005-04-11 2010-03-17 株式会社日立製作所 Webサーバ搭載機器への自動アクセス方法
US7774010B2 (en) * 2005-07-06 2010-08-10 Nokia Corporation Peer-to-peer group management framework and methodology
CN100388740C (zh) * 2005-07-29 2008-05-14 华为技术有限公司 一种数据业务系统及接入控制方法
KR100747466B1 (ko) * 2005-10-01 2007-08-09 엘지전자 주식회사 추가 속성을 가지는 노드를 이용하는 장치 관리 방법 및장치 관리 클라이언트
US20070086435A1 (en) * 2005-10-19 2007-04-19 Microsoft Corporation Sharing devices on peer-to-peer networks
US7774710B2 (en) * 2005-12-28 2010-08-10 Sap Ag Automatic sharing of online resources in a multi-user computer system
CN100362799C (zh) * 2006-03-23 2008-01-16 华为技术有限公司 一种社会网络的实现方法
US9537943B2 (en) * 2006-10-06 2017-01-03 Core Wireless Licensing S.A.R.L. System, method, apparatus, and computer program product for providing a social network diagram in a P2P network device
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
US8205246B2 (en) * 2007-05-10 2012-06-19 Cisco Technology, Inc. User sensitive filtering of network application layer resources
KR20090048069A (ko) 2007-11-09 2009-05-13 한국전자통신연구원 데이터 공유 시스템 및 공유방법
CN101730099B (zh) * 2008-10-14 2013-03-20 华为技术有限公司 基于权限控制的终端管理方法及装置
CN101729583A (zh) * 2008-10-31 2010-06-09 国际商业机器公司 用于在无线移动网络中支持对等传输应用的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110043775A (ko) * 2008-08-19 2011-04-27 디지맥 코포레이션 콘텐트 처리를 위한 방법들 및 시스템들
KR20100123146A (ko) * 2009-05-14 2010-11-24 이화여자대학교 산학협력단 미디어 스트리밍을 위한 피투피 오버레이 네트워크 구조 및 피투피 오버레이 네트워크의 관리 방법
KR20110040702A (ko) * 2009-10-12 2011-04-20 한국전자통신연구원 P2p 제어 장치 및 전송 오버레이 제어 방법
KR20110042544A (ko) * 2009-10-19 2011-04-27 한국전자통신연구원 실시간 스트리밍 서비스를 위한 피어-투-피어 오버레이 통신 시스템 및 방법

Also Published As

Publication number Publication date
EP2716009A1 (en) 2014-04-09
EP2716009B1 (en) 2017-08-09
KR20140009577A (ko) 2014-01-22
CN103563330A (zh) 2014-02-05
JP5777808B2 (ja) 2015-09-09
CN103563330B (zh) 2017-03-15
WO2012162340A1 (en) 2012-11-29
JP2014522013A (ja) 2014-08-28
US8516607B2 (en) 2013-08-20
US20120304313A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
KR101468354B1 (ko) 피어 투 피어 오버레이 네트워크들에서의 데이터 액세스 제어를 위한 방법 및 디바이스들
JP5944501B2 (ja) ピアツーピアオーバーレイネットワーク内のデータオブジェクトに対するグループアクセス制御の容易化
US10608821B2 (en) Providing cross site request forgery protection at an edge server
CN107637011B (zh) 用于物联网网络的自配置密钥管理系统
US10084789B2 (en) Peer to peer enterprise file sharing
US20160364553A1 (en) System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network
US9178868B1 (en) Persistent login support in a hybrid application with multilogin and push notifications
US9288193B1 (en) Authenticating cloud services
WO2016200595A1 (en) System, apparatus and method for managing lifecycle of secure publish-subscribe system
CN107637043B (zh) 用于约束环境中资源管理的业务提供方法、系统和装置
JP7096736B2 (ja) システム、及びデータ処理方法
US9584508B2 (en) Peer to peer enterprise file sharing
US9571288B2 (en) Peer to peer enterprise file sharing
JP6096376B2 (ja) アクセス制御方法、装置、プログラム、及び記録媒体
KR20150036371A (ko) 클라우드 서버를 위한 바우처 인가
EP2954638B1 (en) System and method for validating scep certificate enrollment requests
US9794261B2 (en) Method and apparatus for controlling access to a server
KR20220085375A (ko) 블록체인 기반 공개키 관리 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee