KR20040089664A - 보안유지되고 액세스 제어된 피어-투-피어 자원 공유 방법및 장치 - Google Patents

보안유지되고 액세스 제어된 피어-투-피어 자원 공유 방법및 장치 Download PDF

Info

Publication number
KR20040089664A
KR20040089664A KR10-2004-7013132A KR20047013132A KR20040089664A KR 20040089664 A KR20040089664 A KR 20040089664A KR 20047013132 A KR20047013132 A KR 20047013132A KR 20040089664 A KR20040089664 A KR 20040089664A
Authority
KR
South Korea
Prior art keywords
client
signal
resources
authorization
cache memory
Prior art date
Application number
KR10-2004-7013132A
Other languages
English (en)
Other versions
KR100702427B1 (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 KR20040089664A publication Critical patent/KR20040089664A/ko
Application granted granted Critical
Publication of KR100702427B1 publication Critical patent/KR100702427B1/ko

Links

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/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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • 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
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1068Discovery involving direct consultation or announcement among potential requesting and potential source peers

Abstract

피어-투-피어 네트워크는 클라이언트로부터 클라이언트로 검색을 전파한다. 각각의 클라이언트 내의 자원들은 인증 및 권한부여 프로세스에 응답하여 선택적으로 검색된다. 인증 정보는, 검색 요청에 포함될 수도 있고, 클라이언트 외부의 인증 인증 프로세스에 의해 수행될 수도 있다. 권한부여는 클라이언트 외부의 프로세스에 의해 수행된다. 인증 또는 권한부여 이후에만 특정 클라이언트의 자원이 액세스될 수 있다. 시스템은 피어-투-피어 네트워크 환경에서 안전하게 전파되는 검색 및 자원 액세스를 허용한다. 네트워크는 피어-투-피어 통신을 보다 효율적으로 용이하게 하기 위해 피어-투-피어 네트워크에 접속된 클라이언트들의 목록을 유지하기 위한 서버를 추가로 포함할 수 있다.

Description

보안유지되고 액세스 제어된 피어-투-피어 자원 공유 방법 및 장치{SECURED AND ACCESS CONTROLLED PEER-TO-PEER RESOURCE SHARING METHOD AND APPARATUS}
최근까지, 글로벌 또는 여타 큰 규모의 조직 내의 공동 데이터 및 콘텐트는, 중앙 집중형 콘텐트 저장소를 이용한 복사 및 배포를 통해 배포되어 왔다. 즉, 데이터는 광역적으로 배포되었으나, 특정 영역 내에 위치한 클라이언트에게 콘텐트를 서비스하는 것을 책임지고 있는 중앙 서버를 이용함으로써 소정 위치의 지리적 영역 내에서 이용가능하였다.
피어-투-피어(P2P) 컴퓨팅의 출현은 이러한 접근법을 바꾸어 놓았다. 콘텐트를 중압집중형 서버에 저장하고 서비스하는 것으로부터 콘텐트의 적어도 일부를 클라이언트측으로부터 저장하고 서비스하는 것으로 무게 중심이 이동하였다. 이러한 P2P 모델에서, 콘텐트 제공자는 로컬 클라이언트 내의 콘텐트를 관리하고, 이 콘텐트를 액세스하는 사람과 공유한다. 이 모델에서, 콘텐트 생성, 저장 및 보안은 클라이언트측의 몫이다.
이러한 P2P 접근법에는 몇가지 잇점이 있다. 콘텐트에 대한 책임을 클라이언트측으로 이전함으로써, 다양한 자원들에 대한 서버측 관리가 상당히 경감될 수있다. 서버 관리자는 콘텐트의 완전성을 책임질 필요가 없다. 콘텐트의 중압집중형 배포로부터 발생하는 문제점들은 피할 수 있다.
피어-투-피어 자원 관리 시스템에 대한 적어도 3가지 구조적 접근법이 있다. 중앙집중형 제어의 P2P, 중앙집중형 제어가 없는 P2P, 및 상기 2가지의 특징들의 일부를 병합한 하이브리드 접근법.
중앙집중형 제어기를 갖는 P2P의 한 예는 넵스터(Napster)형이라 불린다. 넵스터 시스템은 접속된 클라이언트들의 목록을 유지하기 위해 중앙 서버를 이용한다. 모든 클라이언트는 중앙 서버에 접속하고, 이 중앙 서버는 클라이언트의 디스크를 조사해서 공유 자원을 찾아내고 그 공유 자원의 인덱스를 유지한다. 리소스를 검색하는 클라이언트는 중앙 서버 상에 유지된 디렉토리와 인덱스에 대한 검색을 수행한다.
일단 클라이언트가 찾고자하는 자원을 발견할 장소(즉, 검색하고 있던 파일을 어느 클라이언트가 갖고 있는지를)를 알게 되면, 그 클라이언트는 적절한 클라이언트와 직접 접속을 이루고 자원을 전송한다.
넵스터는 웹-기반형이 아니며, 브라우저 내에서 실행되는 것이 아니다. 이것은 개개의 클라이언트 상에서 실행되는 독립형 애플리케이션이며, 그 데이터-통신 및 데이터 전송을 위해 TCP/IP를 이용한다. 넵스터는 정보의 수집자 및 조절자로서 작용하는 중앙 서버에 의존하기 때문에, 클라이언트들은 익명성을 보장받지 못한다. 넵스터 시스템은 그 중앙 서버가 고장날 경우에는 취약하다.
중앙집중형 제어가 없는 순수 P2P의 좋은 예는 그누텔라(Gnutella)라 불리는시스템이다. 그누텔라는 그누텔라 프로토콜을 사용하는 P2P 시스템을 구별하기 위한 총칭적 용어이다. 실제로는 프로토콜이란 무엇인가에 대해 유일한 해석이 없다. 그러나, 그누텔라-기반의 시스템에서 나타나는 어떤 공통된 요소들이 있다. 이들 중 주요한 것으로는 중앙 서버가 없다는 점이다. 이러한 시스템에서, 각각의 클라이언트는 시스템 내에서 알려진 클라이언트들에게 핑(ping)을 날려보냄으로써 다른 클라이언트들을 지속적으로 기억한다. 분산된 검색이, 한 클라이언트에서 바로 인접한 클라이언트들로, 해답을 찾을때까지 또는 검색이 타임-아웃될때까지 점증하는 원형으로 전파되어 간다. 검색 응답은 상기와 동일한 방식으로 검색자에게 되돌아온다.
넵스터와 유사하게, 그누텔라-기반의 시스템들도 역시 웹-기반이 아니며, 클라이언트 환경 내의 애플리케이션으로서 실행된다. 그누텔라는 진정한 익명 자원 공유 시스템이다. 검색을 용이하게 하기 위해 어떠한 서버도 이용되지 않으며, 클라이언트들은 애드-혹 피어 정보(ad-hoc peer information)를 설정해야만 한다. 따라서, 인증이나 권한부여 검사가 없으며, 신뢰를 묵시적으로 가정한다.
그누텔라-기반의 시스템에서의 심각한 문제는 신뢰성이 떨어진다는 평판이다. 어떤 클라이언트가 접속되어 있는지, 또 어떤 클라이언트가 접속되어 있지 않은지를 기억하는 중앙 서버가 없으므로, 클라이언트는 그 자신의 이웃들이 살아 있고 접속되어 있는지의 여부를 알 방법이 없다. 이것은 신뢰성이 떨어지는 성능으로 이어진다.
P2P 시스템에 대한 세번째 접근법은 Web MK라 불린다. 이것은 실제의 제품이라기보다 한 접근법에 가까우며, "Emergency of Distributed Content Management and Peer-to-Peer Content Networks"라는 제목의 P2P 컴퓨팅의 출현에 관한 2001년 1월자 가트너 보고서(Gartner Report)에 기술되어 있다. 이 보고서는 본 명세서에서 참고용으로 인용하는 것이다. 이것은 웹 서버와 웹 브라우저를 이용하는 웹-기반의 접근법이다. 웹 브라우저는 사용자에 의해 구성가능하며, 자원-공유 특징을 통합할 것이다. 서버들은 다중의 인덱스를 유지하며 상이한 형태의 데이터에 대한 액세스를 허용한다. 이러한 유형의 시스템은, 복수 자원의 추출이나 병합, 채팅 편의, 및 변경사항 통지와 같은 서비스를 제공하기 위해 소프트웨어 에이젼트나 봇(bots)을 대개 이용한다. 검색 요청은 서버 내에 저장되어 실시간으로 또는 일괄처리 프로세스로 실행되도록 설정될 수 있으며, 그 결과의 적절한 클라이언트에게 경보할 수 있다.
따라서 P2P 시스템의 이점을 채택하고 현재의 P2P 시스템의 단점을 해결하는 시스템이 필요하다. 중앙 서버의 효율성을 희생하지 않고 순수 P2P 네트워크로서의 감소된 중앙 서버 요건의 장점을 취하는 P2P 네트워크가 필요하다. 또한 중앙 서버를 요구하지 않고 클라이언트 자원에 대한 보안 액세스 및 제어를 제공하는 P2P 네트워크가 필요하다.
본 발명은 피어-투-피어 네트워크 분야에 관한 것이다.
도 1은 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크와 시스템의 블럭도.
도 2는 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크와 시스템의 서버의 블럭도.
도 3은 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크와 시스템의 인증 및 권한부여 프로세스의 블럭도.
도 4는 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크와 시스템의 클라이언트의 블거도.
도 5는 본 발명의 양호한 실시예에 따른 씨드 목록(seed list)을 발생하고 유지하기 위한 클라이언트와 서버간의 상호작용을 포함하는 프로스세 흐름도.
도 6은 본 발명의 양호한 실시예에 따른 클라이언트에 의한 PING, SEARCH, 및 GET 요청 처리의 프로세스 흐름도.
도 7은 클라이언트 외부의 인증 프로세스와 통신할 필요가 없는 인증 프로세스의 프로세스 흐름도.
도 8은 본 발명의 양호한 실시예에 따른 클라이언트와 클라이언트 외부의 인증 프로세스간의 통신 프로세스 흐름도.
도 9는 본 발명의 양호한 실시예에 따라 클라이언트와 클라이언트 외부의 인증 프로세스간의 권한부여 흐름도.
제1 특징으로, 본 발명은 피어-투-피어 네트워크에서 제1 클라이언트에 의해 개시된 자원 검색을 안전하게 수행하는 방법을 제공한다. 여기서, 검색 요청에 포함된 상기 자원 검색은 제1 클라이언트를 가리키는 크리덴셜 신호(credentialsignal)를 가진다. 상기 방법은, 제1 클라이언트로부터 제2 클라이언트로 검색 요청을 전달하는 단계로서, 제2 클라이언트는 복수의 제2 자원을 가지며 상기 복수의 제2 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인 상기 단계; 제2 클라이언트에서, 상기 복수의 제2 자원들 각각의 적어도 하나의 액세스 속성과 상기 크리덴셜 신호의 비교에 응답하여 상기 복수의 제2 자원들을 선택적으로 검색하는 단계; 제2 클라이언트로부터 제3 클라이언트로 상기 검색 요청을 전달하는 단계로서, 상기 제3 클라이언트는 복수의 제3 자원을 가지며 상기 복수의 제3 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인, 상기 단계; ,및 제3 클라이언트에서, 상기 복수의 제3 자원들 각각의 적어도 하나의 액세스 속성과 상기 크리덴셜 신호의 비교에 응답하여 상기 복수의 제3 자원들을 선택적으로 검색하는 단계를 포함한다.
이 방법은 양호하게는, 제3 클라이언트에서 상기 복수의 제3 자원을 선택적으로 검색하는 단계에 응답하여 정합 자원을 판정하는 단계; 및 상기 정합 자원을 가리키는 정합 신호를 상기 제3 클라이언트로부터 제1 클라이언트로 전달하는 단계를 더 포함한다.
양호하게는, 크리덴셜 신호는 제1 클라이언트를 가리키는 식별 신호를 포함하고, 제2 및 제3 자원의 액세스 속성은 복수의 클라이언트들 중 적어도 하나를 가리키는 인증 신호를 포함한다. 여기서, 복수의 클라이언트들은 제1 클라이언트를 포함한다. 또한, 제2 복수의 자원들을 선택적으로 검색하는 상기 단계는 상기 식별 신호가 대응하는 액세스 속성에 포함된 인증 신호와 실질적으로 정합한다면 상기 제2 복수의 자원들 중 하나를 검색하고, 제3 복수의 자원들을 선택적으로 검색하는 상기 단계는 상기 식별 신호가 대응하는 액세스 속성에 포함된 인증 신호와 실질적으로 정합한다면 상기 제3 복수의 자원들 중 하나를 검색한다.
양호하게는, 크리덴셜 신호는 제1 클라이언트를 가리키는 식별 신호를 포함하고, 제2 및 제3 자원의 액세스 속성은 복수의 클라이언트들 중 적어도 하나를 가리키는 인증 신호를 포함한다. 여기서, 복수의 클라이언트들은 제1 클라이언트를 포함한다. 제2 복수의 자원들을 선택적으로 검색하는 상기 단계는, 상기 제2 클라이언트로부터 상기 제1, 제2, 제3 클라이언트 외부의 인증 프로세스로 식별 신호를 전달하는 단계; 이에 응답하여 제1 클라이언트를 가리키는 인증된 신호를 인증 프로세스로부터 수신하는 단계; 및 상기 인증된 신호가 대응하는 액세스 속성에 포함된 권한부여 신호와 실질적으로 정합한다면, 제2 복수의 자원들 중 하나를 검색하는 단계를 더 포함한다. 제3 복수의 자원을 선택적으로 검색하는 상기 단계는, 제3 클라이언트로부터 권한부여 프로세스로 식별 신호를 전달하는 단계; 이에 응답하여 제1 클라이언트를 가리키는 인증된 신호를 권한부여 프로세스로부터 수신하는 단계; 및 상기 인증된 신호가 대응하는 액세스 속성에 포함된 권한부여 신호와 실질적으로 정합한다면 제3 복수의 자원들 중 하나를 검색하는 단계를 더 포함한다.
이 방법은 양호하게는, 제2 클라이언트에서, 식별 신호와 수신된 인증된 신호를 제2 클라이언트의 캐시 메모리에 저장하는 단계; 및 제2 클라이언트에서, 제2 클라이언트로부터 인증 프로세스로 전달하는 상기 단계에 앞서, 식별 신호와 수신된 인증 신호를 찾기 위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함한다. 여기서, 상기 제2 클라이언트로부터 인증 프로세스로 전달하는 상기 단계는, 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내부에 저장된 식별 신호와 수신된 인증 신호를 발견하는 경우 수행되지 않으며, 제2 복수의 자원들 중 하나를 검색하는 상기 단계는 캐쉬 메모리 내에 저장된 상기 인증된 신호를 이용함으로써, 제2 클라이언트와 인증 프로세스 간의 통신을 경감시킨다.
이 방법은 양호하게는, 제3 클라이언트에서, 식별 신호와 수신된 인증된 신호를 제3 클라이언트의 캐쉬 메모리에 저장하는 단계; 및 제3 클라이언트에서, 제3 클라이언트로부터 인증 프로세스로 전달하는 상기 단계에 앞서, 식별 신호와 수신된 인증 신호를 찾기 위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함하고, 여기서, 제3 클라이언트로부터 인증 프로세스로 전달하는 상기 단계는, 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내부에 저장된 식별 신호와 수신된 인증 신호를 발견하는 경우 수행되지 않으며, 제3 복수의 자원들 중 하나를 검색하는 상기 단계는 캐쉬 메모리에 저장된 상기 인증된 신호를 이용함으로써 제3 클라이언트와 인증 프로세스간의 통신을 경감시킨다.
양호하게는, 검색 요청을 제2 클라이언트로부터 제3 클라이언트로 전달하는 상기 단계와, 제3 복수의 자원들을 선택적으로 검색하는 상기 단계는, 인증 신호가 제2 클라이언트에 의해 인증 프로세스로부터 수신되지 않는 경우, 수행되지 않는다.
양호하게는, 크리덴셜 신호는 제1 클라이언트를 가리키는 식별 신호를 포함하고 제2 및 제3 자원의 액세스 속성은 복수의 클라이언트 부류들 중 적어도 하나를 가리키는 권한부여 신호를 포함한다. 여기서, 제2 복수의 자원을 선택적으로 검색하는 상기 단계는, 제2 클라이언트로부터 상기 제2 클라이언트 외부의 권한부여 프로세스로 식별 신호를 전달하는 단계; 복수의 클라이언트 부류들 중 어느 것이 상기 식별 신호와 연관된 것인지를 가리키는 클라이언트 부류 신호를 권한부여 프로세스로부터 수신하는 단계; 및, 만일 클라이언트 부류 신호가 대응하는 액세스 속성에 포함된 권한부여 신호와 실질적으로 정합한다면, 제2 복수의 자원들 중 하나를 검색하는 단계를 더 포함한다. 제3 복수의 자원들을 선택적으로 검색하는 상기 단계는, 제3 클라이언트로부터 상기 제3 클라이언트 외부의 권한부여 프로세스로 식별 신호를 전달하는 단계; 복수의 클라이언트 부류들 중 어느 것이 상기 식별 신호와 연관된 것인지를 가리키는 클라이언트 부류 신호를 권한부여 프로세스로부터 수신하는 단계; 및, 만일 클라이언트 부류 신호가 대응하는 액세스 속성에 포함된 권한부여 신호와 실질적으로 정합한다면, 제3 복수의 자원들 중 하나를 검색하는 단계를 더 포함한다.
이 방법은 양호하게는, 제2 클라이언트에서, 식별 신호와 상기 수신된 클라이언트 부류 신호를 제2 클라이언트의 캐시 메모리에 저장하는 단계; 및, 제2 클라이언트에서, 제2 클라이언트로부터 권한부여 프로세스로 전달하는 상기 단계에 앞서, 식별 신호와 수신된 클라이언트 부류 신호를 찾기 위해 캐쉬 메모리를 검색하는 단계를 더 포함한다. 여기서, 상기 제2 클라이언트로부터 권한부여 프로세스로 전달하는 상기 단계는, 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내부에 저장된 식별 신호와 수신된 클라이언트 부류 신호를 발견하는 경우 수행되지않으며, 제2 복수의 자원들 중 하나를 검색하는 상기 단계는, 캐쉬 메모리 내에 저장된 클라이언트 부류 신호를 이용함으로써, 제2 클라이언트와 권한부여 프로세스 간의 통신을 경감시킨다.
이 방법은 양호하게는, 제3 클라이언트에서, 식별 신호와 수신된 클라이언트 부류 신호를 제3 클라이언트의 캐쉬 메모리에 저장하는 단계; 및 제3 클라이언트에서, 제3 클라이언트로부터 권한부여 프로세스로 전달하는 상기 단계에 앞서, 식별 신호와 수신된 클라이언트 부류 신호를 찾기 위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함하고, 여기서, 제3 클라이언트로부터 권한부여 프로세스로 전달하는 상기 단계는, 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내부에 저장된 식별 신호와 수신된 클라이언트 부류 신호를 발견하는 경우 수행되지 않으며, 제3 복수의 자원들 중 하나를 검색하는 상기 단계는 캐쉬 메모리에 저장된 클라이언트 부류 신호를 이용함으로써 제3 클라이언트와 인증 프로세스간의 통신을 경감시킨다.
양호하게는, 피어-투-피어 네트워크는 제1, 제2, 및 제3 클라이언트를 포함한 복수의 클라이언트를 더 포함하며, 복수의 클라이언트들 각각은 고유한 클라이언트 어드레스를 가지며, 서버는 클라이언트 어드레스들의 목록을 가지며, 상기 방법은, 클라이언트 어드레스들의 목록 중 제1 부분을 포함하는 제1 씨드 목록을 서버로부터 제1 클라이언트로 전달하는 단계; 및, 클라이언트 어드레스들의 목록 중 제2 부분을 포함하는 제2 씨드 목록을 서버로부터 제2 클라이언트로 전달하는 단계를 더 포함하고, 상기 제1 씨드 목록은 제2 클라이언트에 대응하는 제2 클라이언트어드레스를 포함하고, 상기 제2 씨드 목록은 제3 클라이언트에 대응하는 제3 클라이언트 어드레스를 포함하며, 여기서, 상기 검색 요청을 제1 클라이언트로부터 상기 제2 클라이언트로 전달하는 상기 단계는, 상기 제1 씨드 목록 내에 포함된 제2 클라이언트 어드레스에 응답하여 상기 제2 클라이언트로 전달되며, 상기 검색 요청을 상기 제2 클라이언트로부터 상기 제3 클라이언트로 전달하는 상기 단계는, 상기 제2 씨드 목록 내에 포함된 제3 클라이언트 어드레스에 응답하여 상기 제3 클라이언트에 전달된다.
양호하게는, 복수의 클라이언트들 각각은 어느 때라도 피어-투-피어 네트워크에 접속하거나 또는 피어-투-피어 네트워크로부터 접속해제될 수 있다. 이 방법은, 서버에서, 복수의 클라이언트들 중 어느 것이 피어-투-피어 네트워크에 접속되어있는지를 판정하는 단계; 서버에서, 상기 판정 단계에 응답하여 접속된 클라이언트 어드레스들의 목록을 발생하는 단계; 및 서버에서, 접속된 클라이언트 어드레스의 상기 목록으로부터 제1 및 제2 씨드 목록을 발생하는 단계를 더 포함한다.
이 방법은 양호하게는, 피어-투-피어 네트워크에 접속하는 복수의 클라이언트들 중 하나에 응답하여 상기 복수의 클라이언트들 중 하나로부터 서버에 접속 신호를 전달하는 단계; 및, 서버에서, 이에 응답하여 상기 복수의 클라이언트들 중 상기 하나에 대응하는 새로이 접속된 클라이언트 어드레스를 상기 접속된 클라이언트 어드레스들의 목록에 추가하는 단계를 더 포함한다.
제2 양상으로, 본 발명은 복수의 클라이언트들을 갖는 피어-투-피어 네트워크에 포함된 클라이언트를 제공한다. 이 클라이언트는, 상기 복수의 클라이언트들중 제2 클라이언트로부터 자원 검색 요청을 수신하기 위한 피어-투-피어 네트워크 디스패쳐로서, 상기 검색 요청은 상기 복수의 클라이언트들 중 개시 클라이언트로부터 개시되고, 상기 검색 요청은 상기 개시 클라이언트를 가리키는 식별 신호를 갖는 크리덴셜 신호를 포함하는 것인, 상기 디스패쳐와; 복수의 자원을 저장하기 위한 메모리로서, 상기 복수의 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인 상기 메모리; 및, 상기 복수의 자원들 각각의 상기 적어도 하나의 액세스 속성과 상기 크리덴셜 신호와의 비교에 응답하여 상기 복수의 자원들 중 적어도 하나를 선택적으로 검색하기 위한 검색 엔진을 포함한다.
양호하게는, 상기 피어-투-피어 네트워크 디스패쳐는 식별 신호를 상기 클라이언트 외부의 인증 프로세서에 전달하고, 상기 식별 신호가 상기 인증 프로세스에 의해 인증되면 인증된 신호를 수신하며, 상기 검색 엔진은 상기 인증된 신호가 상기 인증 프로세스로부터 수신되지 않으면 상기 복수의 자원들 중 어느 것도 검색하지 않는다.
양호하게는, 상기 피어-투-피어 네트워크 디스패쳐는, 인증된 신호가 인증 프로세스로부터 수신되면 복수의 클라이언트들 중 제3 클라이언트에게 자원 검색 요청을 전달하며, 인증된 신호가 인증 프로세스로부터 수신되지 않으면 상기 제3 클라이언트에게 자원 검색 요청을 전달하지 않는다.
양호하게는, 액세스 속성은 대응하는 자원으로의 액세스가 허용된 클라이언트 부류를 가리킨다. 상기 피어-투-피어 네트워크 디스패쳐는 식별 신호를 클라이언트 외부의 권한부여 프로세스에 전달하고 이에 응답하여 클라이언트 부류 신호를수신한다. 상기 검색 엔진은 상기 복수의 자원들 각각의 적어도 하나의 액세스 속성과 클라이언트 부류 신호와의 비교에 응답하여 상기 복수의 자원들 중 적어도 하나를 선택적으로 검색한다.
양호하게는, 피어-투-피어 네트워크는 서버를 더 포함하며, 복수의 클라이언트들 각각은 고유한 클라이언트 어드레스를 가진다. 클라이언트는 서버로부터 클라이언트 어드레스들의 씨드 목록을 수신하여 저장하기 위한 씨드 목록 수신기를 더 포함하며, 상기 피어-투-피어 네트워크 검색 디스패쳐는 자원 검색 요청을 상기 씨디 목록의 클라이언트 어드레스들에 포워딩한다.
피어-투-피어 네트워크 내의 제1 클라이언트에 의해 개시된 자원 검색을 안전하게 수행하는 방법을 가지는 것이 바람직하다. 자원 검색은 제1 클라이언트를 가리키는 크리덴셜 신호를 갖는 검색 요청에 포함되며, 상기 방법은, 검색 요청을 제1 클라이언트로부터 제2 클라이언트로 전달하는 단계; 검색 요청을 제2 클라이언트로부터 제3 클라이언트로 전달하는 단계로서, 상기 제3 클라이언트는 복수의 제3 자원을 가지며, 상기 복수의 제3 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인, 상기 단계; 및 제3 클라이언트에서, 복수의 제3 자원들 각각의 적어도 하나의 액세스 속성과 크리덴셜 신호와의 비교에 응답하여 상기 복수의 제3 자원들을 선택적으로 검색하는 단계를 포함한다.
양호하게는, 피어-투-피어 네트워크는 제1, 제2, 제3 클라이언트를 포함한 복수의 클라이언트를 더 포함하며, 상기 복수의 클라이언트들 각각은 고유한 클라이언트 어드레스를 가지며, 서버는 클라이언트 어드레스들의 목록을 가지며, 상기방법은, 클라이언트 어드레스들의 목록 중 제1 부분을 포함하는 제1 씨드 목록을 서버로부터 제1 클라이언트로 전달하는 단계; 및, 클라이언트 어드레스들의 목록 중 제2 부분을 포함하는 제2 씨드 목록을 서버로부터 제2 클라이언트로 전달하는 단계를 더 포함하고, 상기 제1 씨드 목록은 제2 클라이언트에 대응하는 제2 클라이언트 어드레스를 포함하고, 상기 제2 씨드 목록은 제3 클라이언트에 대응하는 제3 클라이언트 어드레스를 포함하며, 여기서, 상기 검색 요청을 제1 클라이언트로부터 상기 제2 클라이언트로 전달하는 상기 단계는, 상기 제1 씨드 목록 내에 포함된 제2 클라이언트 어드레스에 응답하여 상기 제2 클라이언트로 전달되며, 상기 검색 요청을 상기 제2 클라이언트로부터 상기 제3 클라이언트로 전달하는 상기 단계는, 상기 제2 씨드 목록 내에 포함된 제3 클라이언트 어드레스에 응답하여 상기 제3 클라이언트에 전달된다.
본 발명의 한 양호한 실시예는 제1 클라이언트에 의해 개시된 자원 검색을 안전하게 수행하기 위한 피어-투-피어 네트워크에서의 방법을 제공한다. 여기서, 검색 요청에 포함된 자원 검색은 제1 클라이언트를 가리키는 크리덴셜 신호를 가진다. 이 방법은 검색 요청을 제2 클라이언트로부터 제3 클라이언트로 전달하는 단계로서, 상기 제3 클라이언트는 복수의 제3 자원을 가지며 상기 복수의 제3 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인, 상기 단계와; 제3 클라이언트에서, 상기 복수의 제3 자원들 각각의 적어도 하나의 액세스 속성과 크리덴셜 신호와의 비교에 응답하여 상기 복수의 제3 자원들을 선택적으로 검색하는 단계를 포함한다.
본 발명의 또 다른 실시예는 복수의 클라이언트들을 갖는 피어-투-피어 네트워크 내에 포함된 클라이언트를 제공한다. 이 클라이언트는 복수의 클라이언트들 중 제2 클라이언트로부터 검색 요청을 수신하기 위한 피어-투-피어 네트워크 디스패쳐를 포함한다. 여기서, 상기 검색 요청은 개시 클라이언트를 가리키는 식별 신호를 갖는 크리덴셜 신호를 포함한다. 또한, 클라이언트는, 적어도 하나의 대응하는 액세스 속성을 각각 갖는 복수의 자원을 저장하기 위한 메모리와, 상기 복수의 자원들 각각의 적어도 하나의 액세스 속성과 크리덴셜 신호와의 비교에 응답하여 복수의 자원들 중 적어도 하나를 선택적으로 검색하기 위한 검색 엔진을 포함한다.
본 발명의 또 다른 실시예는 제1 클라이언트에 의해 개시된 자원 검색을 안전하게 수행하기 위한 피어-투-피어 네트워크에서의 한 방법을 제공한다. 여기서, 검색 요청에 포함된 자원 검색은 제1 클라이언트를 가리키는 크리덴셜 신호를 가진다. 이 방법은, 제1 클라이언트로부터 제2 클라이언트로 검색 요청을 전달하는 단계를 포함하며, 상기 제2 클라이언트는 복수의 제2 자원을 가지며, 상기 복수의 제2 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는다. 이 방법은, 복수의 제2 자원들 각각의 적어도 하나의 속성과 크리덴셜 신호의 비교에 응답하여 복수의 제2 자원들을 선택적으로 검색하는 단계를 더 포함한다. 이 방법은 제2 클라이언트로부터 제3 클라이언트로 검색 요청을 전달하는 단계를 더 포함한다. 여기서, 제3 클라이언트는 복수의 제3 자원을 가지며, 복수의 제3 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 가진다. 이 방법은, 제3 클라이언트에서, 복수의 제3 자원들 각각의 적어도 하나의 액세스 속성과 크리덴셜 신호의 비교에 응답하여 복수의 제3 자원들을 선택적으로 검색하는 단계를 더 포함한다.
실시예들은 본 발명의 많은 유익한 사용을 예시하는 것일 뿐임에 유의해야 한다. 본 출원에서 이루어지는 설명은 다양하게 청구된 본 발명 및 등가물을 제한하는 것은 아니며, 어떤 설명은 본 발명의 특징에 해당되나, 또 어떤 것은 그렇지 않다. 특별히 언급되지 않는 한, 단수개의 요소는 복수개일 수도 있고 그 역도 가능하다.
양호한 실시예는 회사 인트라넷 환경 내에서의 P2P(peer-to-peeer) 자원 공유에 관한 것이다. 양호한 실시예는 P2P 자원 공유를 위한 하이브리드 시스템이다. 이것은 서버와 클라이언트 요소로 구성되며, 앞서 언급한 3가지 P2P 구조 뿐만 아니라 약간의 추가적 특징도 지원한다.
클라이언트는 클라이언트 컴퓨터에서 실행되고 있는 애플리케이션이며, 수정된 순수 P2P 클라이언트로서 역할한다. 이 시스템은, 신뢰성있는 IP 저장소, 기업 시스템의 보안 통합, 보다 나은 검색 결과 및 약간의 기본적 네트워크 활동 감소를 위한 강화된 클라이언트측 데이터베이스를 포함한다.
양호한 실시예의 특징들은,
신뢰성있는 IP 보관소 - 각각의 클라이언트는 서버에게 우선 "자신을 알리고", 접속된 클라이언트들의 IP 어드레스 목록을 요청한다. 서버는 접속된 클라이언트들의 씨드 목록(seed list)을 전송한다(용어 씨드 목록은, 각각의 클라이언트가 제한된 갯수의 접속된 다른 클라이언트들만을 알 필요가 있기 때문에 사용되는 용어이다). 서버는 클라이언트들의 목록을 유지하고, 각각의 클라이언트에게 주기적으로 핑(ping)을 날려보냄으로써 접속된 클라이언트들의 현재 목록을 유지한다.
인증 및 권한부여 - 각각의 자원과 연관된 메타데이터는 보안 및 액세스 제어 정보 뿐만 아니라 파일 디스크립션을 포함한다. 보안 검사는 로컬 계정 기반일 수도 있고 기업 수준 보안 기반일 수도 있다.
강화된 클라이언트 데이터베이스 - 각각의 클라이언트는 자신이 공유하는 자원의 데이터베이스를 유지한다. 이 데이터베이스는 양호하게는 파일들의 이름과 특성 뿐만 아니라 상기 파일들을 기술하는 사용자-정의형 메타데이터들도 포함할 것이다.
감소된 네트워크 활동 - 순수 P2P 네트워크와는 달리, 클라이언트들은 다른 클라이언트들에게 지속적으로 핑을 날릴 필요가 없다. 대신에, 클라이언트는 서버로부터 IP 어드레스 목록을 다운로드받음으로써 접속된 다른 클라이언트들을 숙지한다. 각각의 클라이언트는 수신된 목록 내의 클라이언트들 각각에게 핸드세이크를 전송한다. 다른 클라이언트들로부터의 접수확인통지가 수신된다면, 그 클라이언트는 원래의 클라이언트 목록에 첨가된다.
순수 P2P 프로토콜 기반 - 대부분의 패킷 통신에서와 같이, 검색 및 검색 응답은, 순수 P2P 프로토콜과 유사한 프로토콜을 사용하여 클라이언트들 사이에서 이루어진다.
이러한 접근법은 P2P 환경 내에서 중앙 서버 개념의 이용을 가능케함으로써 고도로 강화된 P2P 자원 공유 시스템을 초래한다. 따라서 이 시스템은 기존 P2P 접근법에 기초하여 구축되고 추가적인 기능을 제공한다.
도 1은 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크 및 시스템의 블럭도를 도시한다. 인트라넷 백본(100)은 P2P 서버(102)와 인증 및 권한부여 프로세스(104)를 복수의 클라이언트들(1-Y)(106-120)에 결합한다. 각각의 클라이언트는 IP 1 내지 IP Y로 도시된 클라이언트를 가리키는 대응하는 어드레스를 가진다. 인트라넷(100)은 클라이언트들 사이의 통신을 용이하게함으로써 P2P 통신을 가능케한다.
도 2는 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크 및 시스템의 서버 블럭도이다. 서버(102)는, 인트라넷 및 클라이언트들과의 통신을 용이하게 해주는 네트워크 인터페이스(202)를 통해 인트라넷 백본(100)에 결합된다. 클라이언트가 인트라넷에 접속될 때, 네트워크 인터페이스(202)에 의해 클라이언트 접속 신호가 수신되고 접속된 클라이언트의 어드레스를 접속된 클라이언트 목록(206)에 추가하는 프로세스가 클라이언트 접속 기능부(204)에 의해 실행된다. 접속 신호에 응답하여, 씨드 목록 발생기(208)가 접속된 클라이언트에 대한 씨드 목록을 발생한다. 씨드 목록은 서버가 클라이언트에게 제공한 복수의 씨드 목록(210)의 한 멤버이다. 이 씨드 목록은 양호한 실시예에서 모든 씨드 목록들을 갖는 메모리에 저장되는 것으로 도시되어 있다. 메모리 저장장치는 선택사항이다. 씨드 목록은 무작위로 발생되거나 다수의 기준에 응답하여 발생될 수도 있다. 예시적인 기준으로는 지리적 및 클라이언트 특징이 해당된다. 예를 들어, 씨드 목록은 미국 또는 유럽과 같은 특정 국가나 지역 내에서 접속된 클라이언트로 제한될 수 있다. 대안으로서 씨드 목록은 엔지니어링 또는 세일(sale)과 같은 공통의 속성을 공유하는 접속된 클라이언트 부류로 제한될 수도 있다. 또한 씨드 목록은 클라이언트로부터의 거리, 네트워크 응답 시간을 포함한 거리에 응답하여 발생될 수도 있다. 여기서, 가까운 클라이언트들이 씨드 목록에 포함된다. 또 다른 실시예에서, 검색 시간 내에서 검색된 클라이언트들을 최대화하기 위한 일환으로 최적의 네트워크 상호접속을 생성하기 위해 이전의 씨드 목록에 응답하여 씨드 목록이 발생된다. 이와 같은 방법은 P2P 네트워크 내에서 검색 아일랜드(search island)를 생성하는데 더 이용될 수 있다. 서버(102)는 또는 접속된 클라이언트들로부터 예측된 접수확인통지 신호를 테스팅함으로써 접속된 클라이언트 IP 어드레스(206)를 유지한다. 만일 접수확인통지 신호가 수신되지 않는다면, 리스트로부터 클라이언트 어드레스가 제거된다. 양호하게, 서버는 접속된 클라이언트들에게 주기적으로 핑 신호를 날려보내고, 접수확인 퐁(pong) 신호가 사전설정된 시간 내에 수신되지 않는다면, 서버는 이 클라이언트가 접속해제되었다고 판단하고, 그 클라이언트의 어드레스를 목록(206)으로부터 제거한다.
도 3은 본 발명의 양호한 실시예에 따라 동작하는 P2P 네크워크 및 시스템의 인증 및 권한부여 프로세스의 블럭도이다. 인증 및 권한부여 프로세스(104)는 양호하게는 별도의 네트워크 보안 서버에 존재하지만, 대안으로서 서버(102)에 존재할 수도 있다. 인증 및 권한부여 프로세스는, 인트라넷 및 클라이언트와의 통신을 용이하게 해주는 네트워크 인터페이스(302)를 통해 인트라넷 백본(100)에 결합된다. 한 클라이언트가 자원 검색을 수행하기 전에, 이 클라이언트는 인증 및 권한부여 프로세스가 상기 자원 검색의 인증 및/또는 권한부여를 제공해 줄 것을 요청할 수 있다.
인증이 요구된다면, 클라이언트는 인증 요청 신호를 프로세스(104)에게 전송한다. 네트워크 인터페이스(302)는 이 인증 요청 신호를 수신하여 이를 인증 크리덴셜 검사(304)에 전달한다. 크리덴셜은 SEARCH 요청을 개시하는 클라이언트를 가리키며 SEARCH 요청 신호 내에 포함된다. 한 클라이언트가 SEARCH 요청을 수신하고 요청측 클라이언트의 인증을 원한다면, 크리덴셜이 프로세스(104)에 전달된다. 크리덴셜은 양호하게는 검색을 개시하는 클라이언트의 클라이언트 ID와 대응하는 패스워드를 포함한다. 프로세스(104)는 사전설정된 클라이언트 식별자 및 패스워드 테이블을 가진다. 클라이언트 ID(306) 및 패스워드(308)가 인증 요청 신호 내에 포함된 것과 정합된다면, 요청측 클라이언트가 확인된 것이고, 프로세스(104)는 인증 신호를 요청측 클라이언트에게 되전송한다. 당업자는 다양한 다른 인증 프로세스가 공지되어 있고 상술한 인증 프로세스를 대체할 수 있음을 이해할 것이다.
권한부여가 요구된다면, 클라이언트는 권한부여 요청 신호를 프로세스(104)에 전달한다. 네트워크 인터페이스(302)는 권한부여 요청을 수신하여 이를 권한부여 프로세스(310)에 전달한다. 크리덴셜은 SEARCH 요청을 개시하는 클라이언트를 나타내며 SEARCH 요청 신호에 포함된다. 한 클라이언트가 SEARCH 요청을 수신하고 요청측 클라이언트가 어느 자원에 액세스하도록 권한부여할지를 결정하기를 원한다면, 크리덴셜이 프로세스(104)에 전달된다. 크리덴셜은 양호하게는 SEARCH를 개시하는 클라이언트의 클라이언트 ID를 포함한다. 프로세스(104)는 사전설정된 클라이언트 식별자(312)와 액세스 제어(214) 테이블을 가진다. 권한부여 요청에 응답하여, 프로세스(104)는 대응하는 액세스 제어 신호를 갖는 권한부여 신호를 요청측 클라이언트에 전송한다. 액세스 제어 신호(314)는, 한 클라이언트가 다른 클라이언트들(peer)상에서 검색하도록 허용된 자원의 유형이나 클라이언트 등급을 나타낸다. 다양한 액세스 제어 신호(314) 또는 클라이언트 등급의 예로는, 엔지니어링 자원, 마케팅 자원, 및 관리 자원등이 포함된다. 각각의 액세스 제어는 다수의 서브카테고리를 가질 수 있다. 예를 들어, 엔지니어링은 네트워크, 집적 회로, 및 운영체제 서브카테고리를 포함할 수 있다. 각각의 클라이언트는 각각의 서브카테고리에 고유한 액세스 권한을 가질 수 있다. 예를 들어, 엔지니어링 부문의 클라이언트는 엔지니어링 네트워크 및 운영 체제 자원을 검색에 대해서는 권한부여 받지만 개인 이슈에 관련된 관리 자원이나 엔지니어링 집적 회로 자원의 검색에 대해서는 권한부여 받지 않는다.
양호한 실시예에서, 인증 및 권한부여 프로세스 양자 모두는 클라이언트로부터의 하나의 요청 신호에 의해 수행되며, SEARCH 및 GET 요청 양자 모두에 대해 수행될 수 있다. 대안적 실시예에서, 인증 하나만 또는 권한부여 하나만이 이용될 수 있다. 나아가, 인증 및/또는 권한부여는, 후속된 SEARCH 및 GET 요청에 대한 중복된 인증 및/또는 권한부여 통신을 제거하기 위해 클라이언트의 캐쉬 내에 유지되어 네트워크 트래픽을 감소시킬 수도 있다.
도 4는 본 발명의 양호한 실시예에 따라 동작하는 P2P 네트워크 및 시스템의 블럭도를 도시한다. 클라이언트는 양호하게는 인트라넷 백본(100)에 결합된 개인용 컴퓨터에서 동작하는 프로세스이다. 대안적 실시예에서, 이 프로세스는, 랩탑,PDA와 같은 다른 컴퓨팅 장치, 셋탑 박스, 텔레비젼, 스테레오, 셀 폰과 같은 인터랙티브 장치, 또는 다른 유형의 자원 저장 장치에서 동작할 수 있다. 디스패쳐 및 네트워크 인터페이스(402)는, 서버, 인증 및 권한 프로세스, 및 인트라넷 백본(100)을 통해 서버, 인증 및 권한부여 프로세스 및 다른 클라이언트들과의 통신을 용이하게 한다. 디스패쳐는 인터라넷 백본 상에서 수신된 적어도 3개의 신호들에 응답한다. 이 3개의 신호는 PING, SEARCH, 및 GET이다. 클라이언트는 PING, SEARCH, 및 GET 명령을 개시할 수 있을 뿐만 아니라, 서버(102)와 인증 및 권한부여 프로세스(104)와도 통신할 수 있다. 명령에 응답하여, 디스패쳐(402)는 PING 명령을 핑/퐁 프로세스(404)에 라우팅한다. 이 핑/퐁 프로세스(400)는 핑 명령의 수신에 대해 접수확인을 보내는 퐁 명령으로 응답한다. SEARCH 및 GET 명령은 디스패쳐(402)에 의해 검색 및 획득 프로세서(406)에게 라우팅된다. 그러나, SEARCH 및 GET 명령이 처리되기 이전에, 이 명령은 인증 및 권한부여 프로세스(408)에 의해 평가된다. 프로세스(408)는 적어도 3개의 요소를 가지며, 이들 모두 선택사항이다. 인증의 제1 요소는 사전설정되며 요청측 클라이언트의 식별자에 기초한다. 이 실시예는 외부 인증 프로세스(104)를 요구하지 않는다. 제2 및 제3 요소는 외부 인증 및 권한부여(104)에 의해 수행되는 인증 및 권한부여이다. 이들 3가지 요소의 다양한 조합에 의해 많은 실시예들이 구현될 수 있다. 인증 및 권한부여는 클라이언트 ID(412)와 연관된 권한부여된 클라이언트 식별자 및/또는 액세스 제어를 저장하기 위한 선택적 캐쉬를 역시 포함한다. 캐쉬(410) 내에 이 정보를 저장하게 되면 도 3의 프로세스에 대한 반복된 인증 및/또는 권한부여 요청을 감소시키게 된다.
만일, SEARCH 요청이 인증되지 않으면, P2P 시스템에서 후속 피어에 전파될 필요가 없어 네트워크 트래픽을 경감시키게 된다. 나아가, 인증의 실패는 요청측 클라이언트에 전달될 필요가 없어 인트라넷 해킹을 저지하게 되는데, 이는 검색 요청자가 자신의 요청에 대해 왜 아무런 결과가 없는지를 모르기 때문이다 - 자원이 발견되지 않았거나 검색자가 인증되지 않았다 -. 만일 SEARCH 요청이 인증된다면, 클라이언트의 메모리(320)는 이 SEARCH 요청에 정합하는 자원(422)을 검색하게 된다. 자원은 양호하게는 액세스 제어 및 자원 속성을 포함하는 메타데이터(424)를 검색함으로써 검색된다. 검색 프로세스(404)는 인증된 액세스 제어를 각각의 자원과 연관된 액세스 제어와 비교함으로써 어느 자원이 검색되는지를 판정한다. 정합이 있다면, 자원이 검색된다. 검색은 양호하게는 자원의 속성을 검색함으로써 수행된다. 속성으로는 파일 유형, 파일 크기, 날짜 또는 저자가 포함된다. 속성은, 예를 들어 저자에 의해 수동으로 발생된 코멘트나 요약을 포함할 수 있어, 키워드 검색을 용이하게 한다. 대안으로서, 자원 자체의 보다 철저한 검색이 수행될 수 있다. 정합이 발견되면, 검색을 개시한 클라이언트에게 포지티브 신호가 되전파된다.
GET 요청은 전형적으로 SEARCH 요청을 개시하고 상기 SEARCH 요청을 수신한 클라이언트로부터 긍정적 검색 결과를 수신한 클라이언트에 의해 전형적으로 개시된다. GET 요청은 겟 프로세스(406)에 의해 실행되기 이전에 권한부여 및/또는 인증된다. 그 후, GET 요청에 의해 식별된 특정 자원은 요청측 클라이언트로 전달된다.
디스패쳐(402)는 PING 명령을 직접 라우팅하지만, SEARCH 및 GET 요청은 맞춤형 방화벽(408) 뒤에 사실상 은닉된다. 모든 요청들, PING, SEARCH, 및 GET은 임의의 다른 클라이언트에게 이용가능한 것으로 나타난다. 그러나, 그 클라이언트로부터의 무응답은 GET 또는 SEARCH를 방지하는 보안 조처가 있다는 것을 의미한다. 예를 들어, 실패한 검색은 "해당 항목 없음"이라는 신호를 되전송하지 않는다. 따라서 클라이언트가 검색으로부터 응답을 수신하지 않으면, 해당 항목이 보호된 것인지 또는 단순히 해당 항목이 존재하지 않는 것인지를 알지 못한다.
도 4의 클라이언트는 SEARCH 및 GET 요청을 개시할 수 있다. SEARCH 요청이 개시되면, 검색 조건이 전형적으로 클라이언트의 오퍼레이터로부터 수신된다. SEARCH 및 GET 요청 프로세서(430)는 상기 검색 조건들을, 클라이언트 IP뿐만 아니라 클라이언트 ID 및 패스워드를 포함하는 클라이언트(432)의 크리덴셜과 함께 패키징한다. 그 다음, 이 검색 요청은 그 씨드 목록(434) 내에 포함된 IP 어드레스를 갖는 클라이언트들에게 전달된다. 이 씨드 목록(434)은 앞서 언급한 인증 및 권한부여 프로세스에서 사용된다. 만일 특정한 클라이언트 내의 특정한 자원이 검색 결과로서 희망된다면, SEARCH 및 GET 요청 프로세서(430)는 자원 식별자를 크리덴셜 정보와 함께 패키징하여 하나의 GET 요청을 만들고 이를 대응하는 클라이언트에게 전송한다.
P2P 검색 전파 프로세스의 또 다른 부분으로서, 검색 프로세스(405)에 의해 처리되는 SEARCH 요청이 씨드 목록(434)에 포함된 다른 어드레스들에 전달된다.이것은 자원 검색을 씨드 목록의 클라이언트 어드레스에 포워딩하기 위한 피어-투-피어 네트워크 검색 디스패쳐를 제공한다. 그러나, SEARCH 요청은, 타임아웃이 있거나 인증 프로세스의 실패가 있다면, 전파되지 않을 것이다.
도 5는 본 발명의 양호한 실시예에 따라 씨드 목록을 발생하고 유지하기 위한 클라이언트와 서버간의 상호작용을 포함하는 프로세스 흐름도를 도시한다. 명료성을 위해, 클라이언트 내에서 수행되는 프로세스는 좌측에 있고, 서버 내에서 수행되는 프로세스는 우측에 있다. 단계(500)에서 시작하여, 클라이언트는 네트워크에 접속할때까지 단계(500)에 머무른다. 접속은 양호하게는 P2P 네트워크로의 결합을 용이하게 해주는 프로그램의 실행을 포함한다. 이와 같은 프로그램은 전원 인가후의 데스크탑 컴퓨터 클라이언트에서 실행될 수도 있다. 유사하게, 이와 같은 프로그램은 백본에 물리적으로 결합된 이후의 휴대용 랩탑 컴퓨터 클라이언트 내에서 실행될 수도 있다.
그 후, 클라이언트는 단계(502)에서 클라이언트의 어드레스를 포함하는 접속 신호를 서버에게 전송한다. 서버는 단계(504)에서 접속 신호를 수신하고 단계(506)에서 클라이언트 어드레스를 접속된 클라이언트 어드레스 목록에 추가한다. 단계(508)는 앞서 언급한 씨드 목록 발생 방법을 포함한 임의의 방법을 이용하여 클라이언트에 대한 씨드 목록을 발생한다. 씨드 목록은 단계(510)에서 서버로부터 발생되고 단계(512)에서 클라이언트에 의해 수신된다. 단계(512)는 씨드 목록 상의 클라이언트들에게 PING 신호를 전송하여 P2P 네트워크에 대한 그들의 접속을 확인한다. 무응답 클라이언트들이 단계(514)에서 제거되었다면, 프로세스는 재접속을 기다리는 단계(500)로 되돌아간다. 클라이언트가 전원 OFF되거나 오퍼레이터가 클라이언트의 P2P 프로그램을 종료한 결과로서 접속해제는 어떠한 시간에도 발생할 수 있다. 클라이언트가 자신이 네트워크로부터 접속해제되었음을 서버에게 능동적으로 신호할 필요는 없다. 만일 여전히 접속되어 있다면, 클라이언트는 단계(516)에서 수신된 임의의 PING 신호에 대해 접수확인통지할 것이다. PING 신호는 서버나 다른 클라이언트들로부터 수신될 수 있으며, 전형적으로 PONG 신호와 더불어 접수확인통지된다. 단계(520)는 PING, SEARCH, 및 GET 요청을 수행하는 다른 클라이언트들과 통신한다. 만일 씨드 목록 상의 클라이언트가 PING, SEARCH, GET 요청에 응답하지 않거나, 또는 다른 어떤 식으로든 결합되어 있지 않다면, 그 클라이언트는 네트워크로부터 접속해제된 것으로 판정되고 단계(522)에서 씨드 목록으로부터 제거된다. 단계(524)는 씨드 목록이 리프레시되어야 할지의 여부를 판정한다. 만일 그렇다면, 단계(526)에서 씨드 목록을 리프레쉬하라는 요청을 서버에게 전송한다. 씨드 목록은, 단계(522)에서의 하나 이상의 클라이언트의 제거를 포함한 몇가지 이유로 인해 리프레쉬될 것이다. 대안으로서, 씨드 목록은 오퍼레이터로부터의 특정 입력, 신규 검색의 개시, 또는 소정 기간 경과후 또는 무활동에 응답하여 리프레쉬될 수도 있다. 다른 실시예에서, 서버는 네트워크 행동을 재구성하기 위해 리프레쉬를 개시할 수 있다. 씨드 목록 리프레쉬는 전체 리프레쉬 또는 부분적 리프레쉬일 수 있다. 예를 들어, 만일 씨드 목록이 초기에 10개의 클라이언트를 포함했고 10개 중 4개가 접속해제되었다면, 씨드 목록 리프레쉬는 4개의 새로운 클라이언트 어드레스를 요청할 수 있다. 대안으로서, 제1 개시된 검색이 엔지니어링자원에 기초하고 제2 개시된 검색이 세일즈 자원에 개시한 것이라면, 상이한 유형의 자원 검색을 최적화하기 위해 전체 씨드 목록이 대체될 수 있다. 서버에서, 단계(528)는 접속된 클라이언트 어드레스 목록을 유지한다. 이것은 서버로부터 리스트 상의 클라이언트들로 PING 신호를 주기적으로 전송함으로써 이루어진다. 만일, PONG과 같은 예측된 접수확인통지 신호가 수신되지 않는다면, 그 클라이언트는 씨드 목록으로부터 제거된다. 그 다음, 단계(530)는 서버가 씨드 목록 리프레쉬 요청을 수신했는지의 여부를 판단하고, 수신하지 않았다면 단계(504)로 되돌아간다. 그렇지 않은 경우에는 서버는 단계(532)에서 접속된 클라이언트 IP 어드레스 목록으로부터 씨드 목록 리프레쉬를 발생하고 단계(534)에서 이 씨드 목록을 요청측 클라이언트에게 전송한다. 클라이언트는 리프레쉬된 씨드 목록을 단계(536)에서 수신하고 PING 신호를 새로운 클라이언트들에게 전송한다. 단계(522)에서 응답없는 새로운 클라이언트는 씨드 목록으로부터 제거된다. 도 5의 프로세스에 의해, 씨드 목록이 클라이언트에서 설정되고 유지된다. 접속된 클라이언트 IP 어드레스 목록은 서버에서 유지된다. 다른 실시예에서 서버는 PING 신호에 대한 무응답을 포함한 어떠한 무-접수확인에 응답하여 접속된 목록으로부터 클라이언트를 제거함을 이해하여야 한다. 예를 들어, 클라이언트들은 서버로부터 PING을 요구하지 않고 접수확인 신호를 주기적으로 전송할 수 있으며 접수확인 신호가 사전설정된 시간 내에 수신되지 않는다면, 단계(528)는 접속된 목록으로부터 클라이언트를 제거한다. 대안으로서, 클라이언트는 조건이 허용한다면 접속해제 신호를 능동적으로 전송할 수 있고, 서버는 이에 응답하여 접속된 목록으로부터 그 클라이언트를 제거한다.양호한 실시예에서 씨드 목록 상의 클라이언트들은 PING 신호를 규칙적으로 전송받지 못함에 유의해야 한다. 이는 단계(512)와 단계(536)의 PING 요청으로 충분하기 때문이다. 이것은 분산 검색 P2P 네트워크에서 네트워크 트래픽을 상당히 감소시키는 잇점이 있다.
도 6은 본 발명의 양호한 실시예에 따른 클라이언트에 의한 PING, SEARCH, 및 GET 요청 처리의 프로세스 흐름도이다. 만일 PING이 단계(600)에서 수신된다면 단계(602)에서 클라이언트에 의해 PONG이 수신된다. 만일 단계(604)에서 SEARCH 요청이 단계(606)에서 인증이 수행되고 단계(606)에서 검색 타임 아웃이 검사된다. 인증이 통과되고 검색이 타임 아웃되지 않았다면, 단계(610)는 검색 요청을 씨드 목록 내의 다른 클라이언트들에게 포워딩한다. 단계(612)는 검색을 요청하거나 개시하는 클라이언트에 의해 어떤 자원이 검색되는지를 판단한다. 선택된 또는 인증된 자원중에서, 단계(614)는 검색 요청과 정합되는 자원 메타데이터를 검색한다. 단계(616)에서 자원 정합이 있다면, 클라이언트는 요청측 컴퓨터로 되전파시키기 위해 단계(608)에서 정합 자원을 가리키는 신호로 응답한다. 단계들(604, 606, 608, 616, 또는 618) 중 어느 하나로부터, GET 요청이 수신되었는지의 여부를 판단하기 위해 프로세스는 단계(620)로 진행한다. GET 요청은 전형적으로, SEARCH 요청을 개시하고 단계(618)에서 발생된 정합 신호를 수신한 이후에 클라이언트에 의해 개신된다. 만일 GET 요청이 수신된다면 단계(622)는 요청측 클라이언트가 자원을 수신하도록 권한부여받았는지를 판단한다. 만일 권한부여받았다면, 단계(624)는 GET 요청을 개시한 클라이언트에게 자원을 전송한다. 단계(608)에서의 타임 아웃에 응답하여, 또는 단계(606)에서의 인증 실패에 응답하여, 검색은 전파되지 않음을 이해하여야 한다. 또한 당업자는, 단계(606)의 인증 프로세스는 인증 실패에 응답하여 검색 전파를 금지하는 한편 단계(612)의 판단 프로세스와 결합될 수 있음을 이해할 수 있을 것이다.
도 7은 클라이언트 외부의 인증 프로세스와의 통신을 요구하지 않는 인증 프로세스의 프로세스 흐름도를 도시하고 있다. 도 7의 프로세스는 도 6의 단계(612 및 622)에서 클라이언트측에서 발생한다. 단계(700)에서 검색 요청을 개시하는 클라이언트의 식별자 크리덴셜이 검사된다. 이 크리덴셜 검사는, 클라이언트 ID와 사전설정된 목록과의 단순 비교, 요청측 클라이언트의 IP 어드레스의 판단, 체크섬 검사, 암호화 기법, 보안 증명서 또는 SEARCH나 GET 요청에 응답하여 클라이언트 외부의 프로세스를 통한 인증을 요구하지 않는 다른 방법일 수 있다. 예를 들어, 클라이언트 1은 자원 2 및 자원 3에 대한 액세스권을 갖는 반면 클라이언트 2는 자원 5와 자원 6에 대한 액세스권을 갖는 것으로 결정될 수 있다. 대안으로서, 소정 IP 게이트웨이로부터의 클라이언트들은 제한된 액세스를 갖는 반면 다른 클라이언트들은 자원에 대한 무제한 액세스권을 갖는 것으로 결정될 수 있다. 이에 응답하여 단계(704)는 어떤 특정한 자원이 검색되어 요청측 클라이언트에게 전송되는지를 판정한다. 도 7에 도시된 프로세스는, 외부 권한부여 및/또는 인증 프로세스를 필요로 하지 않고 분산된 P2P 네트워크에서 선택적 자원 공유를 제공하는 이점을 가진다. 여기서, 선택은 요청측 클라이언트를 가리키는 크리덴셜에 응답하여 이루어진다.
도 8은 본 발명의 양호한 실시예에 따른 클라이언트와 클라이언트 외부의 인증 프로세스간의 통신의 프로세스 흐름도를 도시한다. 명료성을 위해, 클라이언트 프로세스는 도 8의 좌측상에서 발생하고, 외부 인증 프로세스는 도 8의 우측상에서 발생한다. 도 8의 프로세스는 도 6의 단계들(612 또는 622)에 도시된 프로세스들에 대한 보다 세부적인 사항을 제공한다. 단계(800)는 앞선 SEARCH 또는 GET 요청에서 수행된 식별자 크리덴셜의 이전 인증을 위해 클라이언트 캐쉬를 검사한다. 만일 어떠한 이전 인증도 없다면, 단계(802)는 도 1의 프로세스(104)와 같은 외부 인증 프로세스에 식별자 크리덴셜을 전송한다. 단계(804)에서 외부 인증 프로세스가 크리덴셜을 수신한다면, 크리덴셜에 포함된 이름과 패스워드가 인증 프로세스에서 저장된 이름과 패스워드에 정합하는지의 여부를 판정한다. 정합한다면, 단계(806)에서 인증 신호가 클라이언트에게 되돌아간다. 그렇지 않다면, 인증이 거부된다. 인증 신호는 단계(808)에서 클라이언트에 의해 수신되고 단계(810)에서 SEARCH 및 GET 요청에서 수신된 크리덴셜과 더불어 클라이언트 캐쉬 내에 저장된다. 그 후, 자원 액세스 제어는 단계(812)에서 식별자 크리덴셜과 비교된다. 예를 들어, 클라이언트 1은 자원 2와 자원 3에 액세스권을 갖는 반면 클라이언트 2는 자원 5와 자원 6에 액세스권을 갖는 것으로 결정될 수 있다. 대안으로서, 소정 IP 게이트웨이로부터의 클라이언트들은 제한된 액세스를 갖는 반면 다른 클라이언트들은 자원에 대한 무제한 액세스권을 갖는 것으로 결정될 수 있다. 단계(814)는 어느 자원이 검색되어 요청측 클라이언트에게 전송될지를 결정한다. 도 8에 도시된 프로세스는, 중앙 제어형 인증 프로세스를 이용하여 분산된 P2P 네트워크에서 선택적 자원 공유를 제공하는 잇점을 가진다. 종업원들이 일상적으로 고용되고 퇴직하는 큰 조직에서, 인증의 중앙 제어는 분산형 검색 P2P 네트워크 시스템에서 검색을 수행하는 자에 대한 보안 제어를 허용한다. 나아가, 이전 인증의 캐싱은 인증 네트워크 트래픽을 상당히 경감시킨다.
도 9는 본 발명의 양호한 실시예에 따른 클라이언트와 클라이언트 외부의 권한부여 프로세스간의 통신의 프로세스 흐름도를 도시한다. 명료성을 위해, 클라이언트 프로세스는 도 9의 좌측상에서 발생하고, 외부 권한부여 프로세스는 도 9의 우측상에서 발생한다. 도 9의 프로세스는 도 6의 단계들(612 또는 622)에 도시된 프로세스들에 대해 보다 세부적인 사항들을 제공한다. 단계(900)는 이전의 SEARCH 또는 GET 요청에서 수행된 식별자 크리덴셜의 이전 권한부여 액세스 제한을 위해 클라이언트 캐쉬를 검사한다. 어떠한 이전 권한부여도 없다면, 단계(902)는 권한부여 크리덴셜을 도 1의 프로세스(104)와 같은 외부 권한부여 프로세스에 전송한다. 외부 권한부여 프로세스는 단계(904)에서 크리덴셜을 수신하고 어떤 액세스 제어가 상기 식별자 크리덴셜과 연관되는지를 결정한다. 이에 응답하여 권한부여 액세스 제어 신호가 단계(906)에서 클라이언트에게 되돌아간다. 권한부여 액세스 제어 신호는 단계(908)에서 클라이언트에 의해 수신되고 단계(910)에서 SEARCH 또는 GET 요청에서 수신된 크리덴셜과 더불어 클라이언트 캐쉬 내에 저장된다. 그 후, 요청측 클라이언트와 연관된 권한부여 액세스 제어는 단계(912)에서 자원 액세스 제어와 비교된다. 단계(914)는 어떤 자원이 요청측 클라이언트에게 검색되어 전송되는지를 결정한다. 도 9에 도시된 프로세스는, 중앙 제어형 권한부여 프로세스를 이용하여 분산형 P2P 네트워크에서 선택적 자원 공유를 제공하는 잇점을 가진다. 종업원들이 정기적으로 직능을 바꾸어 상이한 유형의 정보에 대한 액세스를 요구하는 큰 조직에서, 권한부여의 중앙 제어는 분산형 검색 P2P 네트워크에서 검색할 수 있는 자원의 유형에 대한 보안 제어를 허용한다. 나아가, 이전 권한부여의 캐슁은 권한부여 네트워크 트래픽을 상당히 경감시킨다.
따라서, 현재의 P2P 시스템의 단점들을 해결하고 P2P 네트워크의 잇점들을 채택하는 시스템이 제공된다. 이 P2P 네트워크는 중앙 서버의 효율을 희생하지 않고 순수 P2P 네트워크의 중앙 서버 요구를 완화시킨 잇점을 가진다. 나아가, 이 P2P 네트워크는 중앙 서버를 요구하지 않고도 클라이언트 자원에 대한 보안 액세스 및 제어를 제공한다. 서버 기능과 보안 기능은 독립적으로 동작할 수 있다. 예를 들어, 도 1의 P2P 네트워크는, 서버 강화된 P2P 검색 전파를 제공하기 위해 인증 및 권한부여의 기능이 없이 동작할 수도 있다. 대안으로서, 도 1의 P2P 네트워크는 인증 및/또는 권한부여 기능을 갖는 P2P 검색 전파를 제공하는 P2P 서버(102) 없이 동작될 수도 있다. 서버(102)와 인증 및 권한부여(104)는 결합될 때, 효율적이고 보안유지된 P2P 검색 전파 네트워크를 생성한다. 이와 같은 결합된 시스템은, 글로벌 조직 또는 다른 큰 조직용의 인트라넷 애플리케이션에서 많은 잇점을 제공한다.
당업자라면, 본 발명은 하드웨어나 소프트웨어, 또는 이들의 조합으로 생성될 수 있음을 알 수 있을 것이다. 양호한 실시예와 연계하여 공개된 본 발명의 원리에 따른 시스템 및 방법은, 본 명세서에서 설명되고 특허청구범위에서 청구되고있는 개개의 기능이나 단계들을 수행하기 위한 별개의 요소들, 또는 설명되고 청구되고 있는 기능들이나 단계들 중 임의의 것들의 성능을 결합한 하나 이상의 요소들을 갖는 단일 컴퓨터 시스템으로 생성되거나, 당업자에게 공지된 적절한 수단에 의해 상호접속가능한 분산형 컴퓨터로 구현될 수도 있다.
양호한 실시예와 연계하여 공개된 본 발명의 원리에 따르면, 본 발명 및 그 원리는 상술한 기능들 및 방법의 단계들을 수행하기 위해 특정한 종류의 컴퓨터에 제한되지 않으며 임의의 범용 컴퓨터와 사용될 수 있다는 것을 당업자는 이해할 것이다. 상술한 바와 같이, 이와 같은 컴퓨터의 동작은 컴퓨터 제어를 위한 매체에 포함된 컴퓨터 프로그램에 따른다는 것을 당업자는 이해할 것이다. 컴퓨터 프로그램 제품을 보유하는데 사용될 수 있는 매체는 임베디드 메모리와 같은 컴퓨터 고정물일 수도 있고 디스크와 같은 운반가능한 매체일 수도 있다는 것을 당업자는 이해할 것이다.
본 발명은 임의의 특정 컴퓨터 프로그램 또는 로직이나 랭귀지, 또는 명령어로 제한되지 않으며, 임의의 적절한 프로그램, 로직이나 랭귀지, 또는 명령어로 구현될 수 있다는 것을 당업자는 이해할 것이다. 공개된 본 발명의 원리를 제한하지않고 이와 같은 컴퓨팅 시스템은 특히 데이터, 명령어, 메시지 또는 메시지 패킷, 및 컴퓨터 판독가능한 매체로부터의 다른 판독가능한 정보를 컴퓨터가 판독할 수 있도록 허용하는 적어도 하나의 컴퓨터 판독가능한 매체를 포함할 수 있다. 컴퓨터 판독가능한 매체는 ROM, 플래시 메모리, 플로피 디스크, 디스크 드라이브 메모리, CDROM 및 다른 영구 저장장치와 같은 비휘발성 메모리를 포함할 수 있다. 추가적으로, 컴퓨터 판독가능한 매체는 예를 들어 RAM, 버퍼, 캐쉬 메모리, 및 네트워크 회로와 같은 휘발성 메모리를 포함할 수도 있다.
나아가, 컴퓨터 판독가능한 매체는 이와 같은 컴퓨터 판독가능한 정보를 컴퓨터 판독할 수 있도록 허용하는 유선 네트워크 또는 무선 네트워크를 포함한 네트워크 링크 및/또는 네트워크 인터페이스와 같은 일시 상태 매체의 컴퓨터 판독가능한 정보를 포함할 수도 있다.
비록 본 발명의 특정 실시예가 개시되었지만, 본 발명의 정신과 영역으로부터 벗어나지 않고 특정 실시예에 대한 변경이 이루어질 수 있다는 것을 당업자는 이해할 것이다. 따라서 본 발명의 영역은 특정 실시예로만 제한되는 것은 아니며, 첨부된 특허청구범위는 본 발명의 범위 내에 드는 이와 같은 응용, 변경, 실시예들을 모두 포함하도록 의도되었다.

Claims (10)

  1. 피어-투-피어 네트워크에서 제1 클라이언트에 의해 개시된 자원 검색을 안전하게 수행하는 방법으로서, 상기 자원 검색은 상기 제1 클라이언트를 가리키는 크리덴셜 신호를 갖는 검색 요청 내에 포함된 것인, 상기 방법에 있어서,
    상기 검색 요청을 상기 제1 클라이언트로부터 제2 클라이언트로 전달하는 단계로서, 상기 제2 클라이언트는 복수의 제2 자원을 가지며, 상기 복수의 제2 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인, 상기 제1 클라이언트로부터 제2 클라이언트로 전달하는 단계와;
    상기 제2 클라이언트에서, 상기 복수의 제2 자원들 각각의 상기 적어도 하나의 액세스 속성과 상기 크리덴셜 신호와의 비교에 응답하여 상기 복수의 제2 자원들을 선택적으로 검색하는 단계와;
    상기 검색 요청을 제2 클라이언트로부터 제3 클라이언트로 전달하는 단계로서, 상기 제3 클라이언트는 복수의 제3 자원을 가지며, 상기 복수의 제3 자원들 각각은 적어도 하나의 대응하는 액세스 속성을 갖는 것인, 상기 제2 클라이언트로부터 제3 클라이언트로 전달하는 단계와;
    상기 제3 클라이언트에서, 상기 복수의 제3 자원들 각각의 상기 적어도 하나의 액세스 속성과 상기 크리덴셜 신호와의 비교에 응답하여 상기 복수의 제3 자원들을 선택적으로 검색하는 단계
    를 포함하는 자원 검색 수행 방법.
  2. 제1항에 있어서,
    상기 제3 클라이언트에서, 상기 복수의 제3 자원을 선택적으로 검색하는 상기 단계에 응답하여 정합 자원을 판단하는 단계와;
    상기 제3 클라이언트로부터 상기 제1 클라이언트로 상기 정합 자원을 가리키는 정합 신호를 전달하는 단계를 더 포함하는 자원 검색 수행 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 크리덴셜 신호는 상기 제1 클라이언트를 가리키는 식별 신호를 포함하고,
    상기 제2 자원 및 상기 제3 자원의 액세스 속성은 복수의 클라이언트들 중 적어도 하나를 가리키는 권한부여 신호를 포함하고, 상기 복수의 클라이언트들은 제1 클라이언트를 포함하며,
    상기 제2 복수의 자원들을 선택적으로 검색하는 상기 단계는, 상기 식별 신호가 상기 대응하는 액세스 속성에 포함된 권한부여 신호와 실질적으로 정합하는 경우 상기 제2 복수의 자원들 중 하나를 검색하고,
    상기 제3 복수의 자원들을 선택적으로 검색하는 상기 단계는, 상기 식별 신호가 상기 대응하는 액세스 속성에 포함된 권한부여 신호와 실질적으로 정합하는 경우 상기 제3 복수의 자원들 중 하나를 검색하는 것인, 자원 검색 수행 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 크리덴셜 신호는 상기 제1 클라이언트를 가리키는 식별 신호를 포함하고,
    상기 제2 자원 및 제3 자원의 액세스 속성은 복수의 클라이언트들 중 적어도 하나를 가리키는 권한부여 신호를 포함하고, 상기 복수의 클라이언트들은 상기 제1 클라이언트를 포함하며,
    상기 제2 복수의 자원들을 선택적으로 검색하는 상기 단계는,
    상기 제2 클라이언트로부터 상기 제1, 제2, 제3 클라이언트 외부의 인증 프로세스로 상기 식별 신호를 전달하는 단계;
    이에 응답하여 상기 제1 클라이언트를 가리키는 인증된 신호를 상기 인증 프로세스로부터 수신하는 단계; 및
    상기 인증된 신호가 상기 대응하는 액세스 속성에 포함된 상기 권한부여 신호와 실질적으로 정합한다면 상기 제2 복수의 자원들 중 하나를 검색하는 단계를 더 포함하고,
    상기 제3 복수의 자원들을 선택적으로 검색하는 상기 단계는,
    상기 제3 클라이언트로부터 권한부여 프로세스로 상기 식별 신호를 전달하는 단계;
    이에 응답하여 상기 제1 클라이언트를 가리키는 인증된 신호를 상기 권한부여 프로세스로부터 수신하는 단계; 및
    상기 인증된 신호가 상기 대응하는 액세스 속성에 포함된 상기 권한부여 신호와 실질적으로 정합한다면 상기 제3 복수의 자원들 중 하나를 검색하는 단계를더 포함하는 것인, 자원 검색 수행 방법.
  5. 제4항에 있어서,
    상기 제2 클라이언트에서, 상기 식별 신호와 수신된 인증된 신호를 상기 제2 클라이언트의 캐쉬 메모리에 저장하는 단계와;
    상기 제2 클라이언트에서, 상기 제2 클라이언트로부터 상기 인증 프로세스로 전달하는 상기 단계에 이전에, 상기 식별 신호 및 상기 수신된 인증 신호를 찾기 위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함하며,
    상기 제2 클라이언트로부터 상기 인증 프로세스로 전달하는 상기 단계는, 상기 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내에 저장된 상기 식별 신호와 상기 수신된 인증 신호를 발견하는 경우, 수행되지 않으며,
    상기 제2 복수의 자원들 중 하나를 검색하는 상기 단계는, 상기 캐쉬 메모리 내에 저장된 상기 인증된 신호를 이용함으로써, 상기 제2 클라이언트와 상기 인증 프로세스간의 통신을 경감시키는 것인, 자원 검색 수행 방법.
  6. 제4항에 있어서,
    상기 제3 클라이언에서, 상기 식별 신호와 수신된 인증된 신호를 상기 제3 클라이언트의 캐쉬 메모리에 저장하는 단계와;
    상기 제3 클라이언트에서, 상기 제3 클라이언트로부터 상기 인증 프로세스로 전달하는 상기 단계에 이전에, 상기 식별 신호 및 상기 수신된 인증 신호를 찾기위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함하며,
    상기 제3 클라이언트로부터 상기 인증 프로세스로 전달하는 상기 단계는, 상기 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내에 저장된 상기 식별 신호와 상기 수신된 인증 신호를 발견하는 경우, 수행되지 않으며,
    상기 제3 복수의 자원들 중 하나를 검색하는 상기 단계는, 상기 캐쉬 메모리 내에 저장된 상기 인증된 신호를 이용함으로써, 상기 제3 클라이언트와 상기 인증 프로세스간의 통신을 경감시키는 것인, 자원 검색 수행 방법.
  7. 제4항에 있어서, 상기 제2 클라이언트로부터 상기 제3 클라이언트로 검색 요청을 전달하는 상기 단계와, 상기 복수의 제3 자원들을 선택적으로 검색하는 상기 단계는, 상기 인증 신호가 상기 제2 클라이언트에 의해 상기 인증 프로세스로부터 수신되지 않는 경우 수행되지 않는 것인, 자원 검색 수행 방법.
  8. 제1항 내지 제6항 중 어느 한항에 있어서,
    상기 크리덴셜 신호는 상기 제1 클라이언트를 가리키는 식별 신호를 포함하고,
    상기 제2 자원 및 제3 자원의 액세스 속성은 복수의 클라이언트 부류들 중 적어도 한 부류를 가리키는 권한부여 신호를 포함하고,
    상기 제2 복수의 자원들을 선택적으로 검색하는 상기 단계는,
    제2 클라이언트로부터 상기 제2 클라이언트 외부의 권한부여 프로세스로 상기 식별 신호를 전달하는 단계와;
    상기 복수의 클라이언트 부류들 중 어느 것이 상기 식별 신호와 연관된 것인지를 가리키는 클라이언트 부류 신호를 상기 권한부여 프로세스로부터 수신하는 단계와;
    클라이언트 부류 신호가 상기 대응하는 액세스 속성에 포함된 상기 권한부여 신호와 실질적으로 정합한다면, 제2 복수의 자원들 중 하나를 검색하는 단계를 더 포함하고,
    상기 제3 복수의 자원들을 선택적으로 검색하는 상기 단계는,
    제3 클라이언트로부터 상기 제3 클라이언트 외부의 권한부여 프로세스로 상기 식별 신호를 전달하는 단계와;
    상기 복수의 클라이언트 부류들 중 어느 것이 상기 식별 신호와 연관된 것인지를 가리키는 클라이언트 부류 신호를 상기 권한부여 프로세스로부터 수신하는 단계와;
    클라이언트 부류 신호가 상기 대응하는 액세스 속성에 포함된 상기 권한부여 신호와 실질적으로 정합한다면, 제3 복수의 자원들 중 하나를 검색하는 단계를 더 포함하는 것인, 자원 검색 수행 방법.
  9. 제8항에 있어서,
    상기 제2 클라이언트에서, 상기 식별 신호와 수신된 클라이언트 부류 신호를 상기 제2 클라이언트의 캐쉬 메모리에 저장하는 단계와;
    상기 제2 클라이언트에서, 상기 제2 클라이언트로부터 상기 권한부여 프로세스로 전달하는 상기 단계에 이전에, 상기 식별 신호 및 상기 수신된 클라이언트 부류 신호를 찾기 위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함하며,
    상기 제2 클라이언트로부터 상기 권한부여 프로세스로 전달하는 상기 단계는, 상기 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내에 저장된 상기 식별 신호와 상기 수신된 클라이언트 부류 신호를 발견하는 경우, 수행되지 않으며,
    상기 제2 복수의 자원들 중 하나를 검색하는 상기 단계는, 상기 캐쉬 메모리 내에 저장된 상기 클라이언트 부류 신호를 이용함으로써, 상기 제2 클라이언트와 상기 권한부여 프로세스간의 통신을 경감시키고,
    상기 제3 클라이언트에서, 상기 식별 신호와 수신된 클라이언트 부류 신호를 상기 제3 클라이언트의 캐쉬 메모리에 저장하는 단계와;
    상기 제3 클라이언트에서, 상기 제3 클라이언트로부터 상기 권한부여 프로세스로 전달하는 상기 단계에 이전에, 상기 식별 신호 및 상기 수신된 클라이언트 부류 신호를 찾기 위해 상기 캐쉬 메모리를 검색하는 단계를 더 포함하며,
    상기 제3 클라이언트로부터 상기 권한부여 프로세스로 전달하는 상기 단계는, 상기 캐쉬 메모리를 검색하는 상기 단계가 상기 캐쉬 메모리 내에 저장된 상기 식별 신호와 상기 수신된 클라이언트 부류 신호를 발견하는 경우, 수행되지 않으며,
    상기 제3 복수의 자원들 중 하나를 검색하는 상기 단계는, 상기 캐쉬 메모리내에 저장된 상기 클라이언트 부류 신호를 이용함으로써, 상기 제3 클라이언트와 상기 권한부여 프로세스간의 통신을 경감시키는 것인, 자원 검색 수행 방법.
  10. 복수의 클라이언트들을 갖는 피어-투-피어 네트워크에 포함된 클라이언트에 있어서,
    상기 복수의 클라이언트들 중 제2 클라이언트로부터 자원 검색 요청을 수신하기 위한 피어-투-피어 네트워크 디스패쳐로서, 상기 검색 요청은 상기 복수의 클라이언트들 중 개시 클라이언트로부터 시작되며, 상기 검색 요청은 상기 개시 클라이언트를 가리키는 식별자를 갖는 크리덴셜 신호를 포함하는 것인, 상기 피어-투-피어 네트워크 디스패쳐와;
    적어도 하나의 대응하는 액세스 속성을 각각 갖는 복수의 자원들을 저장하기 위한 메모리와;
    상기 복수의 자원들 각각의 적어도 하나의 액세스 속성과 상기 크리덴셜 신호와의 비교에 응답하여 상기 복수의 자원들 중 적어도 하나를 선택적으로 검색하기 위한 검색 엔진을 포함하는, 클아이언트.
KR1020047013132A 2002-03-15 2003-02-24 보안유지되고 액세스 제어된 피어-투-피어 자원 공유 방법및 장치 KR100702427B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/098,976 US7120691B2 (en) 2002-03-15 2002-03-15 Secured and access controlled peer-to-peer resource sharing method and apparatus
US10/098,976 2002-03-15
PCT/GB2003/000776 WO2003079635A1 (en) 2002-03-15 2003-02-24 Secured and access controlled peer-to-peer resource sharing method and apparatus

Publications (2)

Publication Number Publication Date
KR20040089664A true KR20040089664A (ko) 2004-10-21
KR100702427B1 KR100702427B1 (ko) 2007-04-04

Family

ID=28039483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047013132A KR100702427B1 (ko) 2002-03-15 2003-02-24 보안유지되고 액세스 제어된 피어-투-피어 자원 공유 방법및 장치

Country Status (9)

Country Link
US (2) US7120691B2 (ko)
JP (1) JP4363520B2 (ko)
KR (1) KR100702427B1 (ko)
CN (1) CN100542166C (ko)
AU (1) AU2003207337A1 (ko)
CA (1) CA2477197A1 (ko)
IL (1) IL164065A0 (ko)
TW (1) TWI221979B (ko)
WO (1) WO2003079635A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100788851B1 (ko) * 2005-01-21 2007-12-27 리서치 인 모션 리미티드 컴퓨팅 장치의 구성요소 사이의 지정된 접속을 결정하는 시스템 및 방법

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120691B2 (en) * 2002-03-15 2006-10-10 International Business Machines Corporation Secured and access controlled peer-to-peer resource sharing method and apparatus
US7444413B2 (en) * 2002-06-26 2008-10-28 Microsoft Corporation Authorization access controlled content exchange
US20040019640A1 (en) * 2002-07-25 2004-01-29 Bartram Linda Ruth System and method for distributing shared storage for collaboration across multiple devices
US7376749B2 (en) * 2002-08-12 2008-05-20 Sandvine Incorporated Heuristics-based peer to peer message routing
US7549080B1 (en) 2002-08-27 2009-06-16 At&T Corp Asymmetric data mirroring
US7392375B2 (en) * 2002-09-18 2008-06-24 Colligo Networks, Inc. Peer-to-peer authentication for real-time collaboration
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
FR2855691B1 (fr) * 2003-06-02 2005-11-11 Canon Kk Securisation de la distribution de documents numeriques dans un reseau pair a pair
US7792915B2 (en) * 2003-06-04 2010-09-07 Sony Computer Entertainment Inc. Content distribution overlay network and methods for operating same in a P2P network
US8009572B2 (en) * 2003-07-16 2011-08-30 Skype Limited Peer-to-peer telephone system
US20050182755A1 (en) * 2004-02-14 2005-08-18 Bao Tran Systems and methods for analyzing documents over a network
WO2005103929A1 (en) * 2004-04-20 2005-11-03 Pluck Corporation Method, system, and computer program product for sharing information within a global computer network
US20050268102A1 (en) * 2004-05-07 2005-12-01 Downey Kyle F Method and system for secure distribution of content over a communications network
US20060095365A1 (en) * 2004-06-29 2006-05-04 Damaka, Inc. System and method for conducting an auction in a peer-to peer network
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
US7778187B2 (en) * 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US7623516B2 (en) * 2004-06-29 2009-11-24 Damaka, Inc. System and method for deterministic routing in a peer-to-peer hybrid communications network
US7570636B2 (en) 2004-06-29 2009-08-04 Damaka, Inc. System and method for traversing a NAT device for peer-to-peer hybrid communications
US20070078720A1 (en) * 2004-06-29 2007-04-05 Damaka, Inc. System and method for advertising in a peer-to-peer hybrid communications network
US20060206310A1 (en) * 2004-06-29 2006-09-14 Damaka, Inc. System and method for natural language processing in a peer-to-peer hybrid communications network
US7656870B2 (en) * 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
US8050272B2 (en) * 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7933260B2 (en) * 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US7623476B2 (en) * 2004-06-29 2009-11-24 Damaka, Inc. System and method for conferencing in a peer-to-peer hybrid communications network
US7596690B2 (en) * 2004-09-09 2009-09-29 International Business Machines Corporation Peer-to-peer communications
TWI264658B (en) * 2004-11-04 2006-10-21 Universal Scient Ind Co Ltd Method for universal storage
JP2006260535A (ja) * 2005-02-15 2006-09-28 Canon Inc 検索処理を実行するための情報処理装置、検索処理方法、及びプログラム
JP4719935B2 (ja) * 2005-03-07 2011-07-06 Kddi株式会社 ハイブリッド型ピア・ツー・ピア通信ネットワークシステム、およびそのインデックスサーバ、ならびに端末装置、同システムにおけるミラーピアの作成方法
US7350074B2 (en) * 2005-04-20 2008-03-25 Microsoft Corporation Peer-to-peer authentication and authorization
DE102005037874B4 (de) * 2005-08-10 2008-07-24 Nokia Siemens Networks Gmbh & Co.Kg Verfahren und Anordnung zur Kontrolle und Vergebührung von Peer to Peer-Diensten in einem IP-basierten Kommunikationsnetzwerk
WO2007033338A2 (en) * 2005-09-14 2007-03-22 O-Ya!, Inc. Networked information indexing and search apparatus and method
US20070086435A1 (en) * 2005-10-19 2007-04-19 Microsoft Corporation Sharing devices on peer-to-peer networks
WO2007049388A1 (ja) * 2005-10-24 2007-05-03 Sony Computer Entertainment Inc. 検索仲介装置、検索仲介方法、分散検索システム、分散処理装置及び分散処理装置の制御方法
US20070168419A1 (en) * 2005-12-19 2007-07-19 Sciammarella Eduardo A System, method, and article of manufacture for a network media channel
US8966537B2 (en) * 2005-12-19 2015-02-24 Eduardo Sciammarella System, method, and article of manufacture for a user interface for a network media channel
JP4396643B2 (ja) * 2006-01-23 2010-01-13 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、インターフェース情報公開プログラムおよびインターフェース情報公開方法
CN100458721C (zh) * 2006-02-17 2009-02-04 深圳奇峰创智科技有限公司 利用计算机网络自动备份的方法
JP4256897B2 (ja) * 2006-06-16 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マッチング・サービスを提供するための装置、方法及びプログラム
US8572387B2 (en) * 2006-07-26 2013-10-29 Panasonic Corporation Authentication of a peer in a peer-to-peer network
US7853150B2 (en) 2007-01-05 2010-12-14 Emcore Corporation Identification and authorization of optoelectronic modules by host system
US20080160911A1 (en) * 2006-12-27 2008-07-03 Goosean Media Inc. P2P-based broadcast system and method using the same
US8181213B2 (en) * 2006-12-27 2012-05-15 Avermedia Technologies, Inc. IP-based hometown TV program delivery system
US20090232032A1 (en) * 2007-01-17 2009-09-17 Verbal World, Inc. Methods and Apparatus for the Manipulation of Conferenced Data
US8122488B2 (en) * 2007-05-18 2012-02-21 Yangaroo, Inc. Media file distribution system and method
US8266323B2 (en) * 2007-06-09 2012-09-11 Apple Inc. System connections and user interfaces
US8296833B2 (en) 2007-06-09 2012-10-23 Apple Inc. System connections and user interfaces
US20080307314A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
US20080307504A1 (en) * 2007-06-09 2008-12-11 Pavel Cisler System connections and user interfaces
CN101330593B (zh) * 2007-06-22 2011-11-23 中兴通讯股份有限公司 分布式p2p媒体源检索系统
US8619730B2 (en) * 2007-07-20 2013-12-31 Broadcom Corporation Method and system for establishing a connection outside a mesh by including network connectivity information in router configuration messages
US20090037970A1 (en) * 2007-07-31 2009-02-05 Goosean Media Inc. IP-based hometown TV program delivery system
US8271649B2 (en) * 2007-08-30 2012-09-18 Nokia Corporation Access rights used for resource discovery in peer-to-peer networks
CA2701894C (en) 2007-09-03 2015-11-17 Damaka, Inc. Device and method for maintaining a communication session during a network transition
TWI384801B (zh) * 2007-09-07 2013-02-01 Avermedia Tech Inc 使用ip網路實現之電視節目傳送系統
US8862164B2 (en) 2007-09-28 2014-10-14 Damaka, Inc. System and method for transitioning a communication session between networks that are not commonly controlled
US8380859B2 (en) * 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US20090187978A1 (en) * 2008-01-18 2009-07-23 Yahoo! Inc. Security and authentications in peer-to-peer networks
US8254577B2 (en) * 2008-02-20 2012-08-28 International Business Machines Corporation Validation of encryption key
US20090281833A1 (en) * 2008-05-09 2009-11-12 Tele Video Md, Inc. System and method for secure multi-party medical conferencing
US8196186B2 (en) * 2008-05-20 2012-06-05 Microsoft Corporation Security architecture for peer-to-peer storage system
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
US9026656B2 (en) 2008-11-04 2015-05-05 Qualcomm Incorporated Resource sharing over wireless personal area networks
US8224962B2 (en) * 2009-11-30 2012-07-17 International Business Machines Corporation Automatic network domain diagnostic repair and mapping
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a peer-to-peer environment
US8725895B2 (en) 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US8892646B2 (en) 2010-08-25 2014-11-18 Damaka, Inc. System and method for shared session appearance in a hybrid peer-to-peer environment
US8689307B2 (en) * 2010-03-19 2014-04-01 Damaka, Inc. System and method for providing a virtual peer-to-peer environment
US9043488B2 (en) 2010-03-29 2015-05-26 Damaka, Inc. System and method for session sweeping between devices
US9191416B2 (en) 2010-04-16 2015-11-17 Damaka, Inc. System and method for providing enterprise voice call continuity
US8352563B2 (en) 2010-04-29 2013-01-08 Damaka, Inc. System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8446900B2 (en) 2010-06-18 2013-05-21 Damaka, Inc. System and method for transferring a call between endpoints in a hybrid peer-to-peer network
US8611540B2 (en) 2010-06-23 2013-12-17 Damaka, Inc. System and method for secure messaging in a hybrid peer-to-peer network
DE102010039519A1 (de) * 2010-08-19 2012-02-23 Siemens Aktiengesellschaft System mit einem Produktivsystem und einem Prototypsystem, sowie ein Verfahren hierzu
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US8930469B2 (en) 2011-02-02 2015-01-06 Microsoft Corporation Functionality for sharing items using recipient-specific access codes
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
US10406791B2 (en) * 2011-05-12 2019-09-10 Elantas Pdg, Inc. Composite insulating film
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
US8478890B2 (en) 2011-07-15 2013-07-02 Damaka, Inc. System and method for reliable virtual bi-directional data stream communications with single socket point-to-multipoint capability
CN102271165B (zh) * 2011-09-06 2014-02-12 中国电信股份有限公司 互联网搜索资源的分享管理装置及方法
KR20130029190A (ko) * 2011-09-14 2013-03-22 삼성전자주식회사 사용자 자원 접근 제어 시스템 및 방법
US20130110920A1 (en) * 2011-10-27 2013-05-02 Alcatel-Lucent Usa Inc. Network-assisted peer-to-peer secure communication establishment
GB2500720A (en) * 2012-03-30 2013-10-02 Nec Corp Providing security information to establish secure communications over a device-to-device (D2D) communication link
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
CN103200045B (zh) * 2013-03-22 2016-04-20 汉柏科技有限公司 一种基于实时行为特征识别p2p流量的方法
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
US9467450B2 (en) * 2013-08-21 2016-10-11 Medtronic, Inc. Data driven schema for patient data exchange system
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
WO2016022574A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
US10250698B2 (en) * 2014-08-25 2019-04-02 Futurewei Technologies, Inc. System and method for securing pre-association service discovery
CN106295410B (zh) * 2015-06-05 2019-04-12 宇龙计算机通信科技(深圳)有限公司 双系统下载文件的方法及其装置
US10091025B2 (en) 2016-03-31 2018-10-02 Damaka, Inc. System and method for enabling use of a single user identifier across incompatible networks for UCC functionality
US10382355B2 (en) 2016-06-02 2019-08-13 Electronics And Telecommunications Research Institute Overlay management server and operating method thereof
CN106790262B (zh) * 2017-02-07 2022-02-11 腾讯科技(深圳)有限公司 一种鉴权方法及装置
CN110710171B (zh) * 2017-03-28 2021-12-21 依斯塔国际有限公司 信号通信系统
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US11861386B1 (en) * 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
TWI750973B (zh) * 2020-12-25 2021-12-21 扉睿科技股份有限公司 基於安全導向暨群組分享之物聯網系統
US11902343B1 (en) 2021-04-19 2024-02-13 Damaka, Inc. System and method for highly scalable browser-based audio/video conferencing
US11770584B1 (en) 2021-05-23 2023-09-26 Damaka, Inc. System and method for optimizing video communications based on device capabilities
CN116776016B (zh) * 2023-06-06 2024-02-27 广东保伦电子股份有限公司 一种无需注册特定人员访问浏览器页面的实现方法及终端

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216162A (en) * 1992-08-28 1993-06-01 American Home Products Corporation Substituted pyrrolo[3,2-c]quinolines
US5469575A (en) * 1992-10-16 1995-11-21 International Business Machines Corporation Determining a winner of a race in a data processing system
WO1996032685A1 (en) * 1995-04-11 1996-10-17 Kinetech, Inc. Identifying data in a data processing system
US5586121A (en) * 1995-04-21 1996-12-17 Hybrid Networks, Inc. Asymmetric hybrid access system and method
US6041343A (en) * 1996-12-19 2000-03-21 International Business Machines Corp. Method and system for a hybrid peer-server communications structure
US6098091A (en) * 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
US6233686B1 (en) 1997-01-17 2001-05-15 At & T Corp. System and method for providing peer level access control on a network
US5944783A (en) * 1997-07-29 1999-08-31 Lincom Corporation Apparatus and method for data transfers through software agents using client-to-server and peer-to-peer transfers
US5960404A (en) * 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
JP2000112860A (ja) * 1998-10-01 2000-04-21 Mitsubishi Electric Corp 安全な情報発信・共有サービス方法
US6216162B1 (en) 1998-10-19 2001-04-10 International Business Machines Corp. Extending alias support to heterogeneous servers
WO2001013201A2 (en) * 1999-08-12 2001-02-22 Sarnoff Corporation Peer-to-peer network user authentication protocol
US20020049760A1 (en) * 2000-06-16 2002-04-25 Flycode, Inc. Technique for accessing information in a peer-to-peer network
US6647448B1 (en) * 2000-06-29 2003-11-11 Sony Corporation Method and apparatus for managing resource schedules in a peer to peer distributed networking environment
US7072982B2 (en) * 2000-11-22 2006-07-04 Microsoft Corporation Universal naming scheme for peer to peer resources
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US20020116533A1 (en) * 2001-02-20 2002-08-22 Holliman Matthew J. System for providing a multimedia peer-to-peer computing platform
US7721110B2 (en) * 2001-04-06 2010-05-18 Mcafee, Inc. System and method for secure and verified sharing of resources in a peer-to-peer network environment
US7062555B1 (en) * 2001-04-06 2006-06-13 Networks Associates Technology, Inc. System and method for automatic selection of service provider for efficient use of bandwidth and resources in a peer-to-peer network environment
US7272636B2 (en) * 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
US7013303B2 (en) * 2001-05-04 2006-03-14 Sun Microsystems, Inc. System and method for multiple data sources to plug into a standardized interface for distributed deep search
US20030065774A1 (en) * 2001-05-24 2003-04-03 Donald Steiner Peer-to-peer based distributed search architecture in a networked environment
US20020198929A1 (en) * 2001-06-25 2002-12-26 International Business Machines Corporation Method and apparatus to encourage client into a distributed peer to peer sharing technology
US7440994B2 (en) * 2001-07-06 2008-10-21 Intel Corporation Method and apparatus for peer-to-peer services to shift network traffic to allow for an efficient transfer of information between devices via prioritized list
US20030028610A1 (en) * 2001-08-03 2003-02-06 Pearson Christopher Joel Peer-to-peer file sharing system and method using user datagram protocol
US20030088571A1 (en) * 2001-11-08 2003-05-08 Erik Ekkel System and method for a peer-to peer data file service
US7120691B2 (en) * 2002-03-15 2006-10-10 International Business Machines Corporation Secured and access controlled peer-to-peer resource sharing method and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100788851B1 (ko) * 2005-01-21 2007-12-27 리서치 인 모션 리미티드 컴퓨팅 장치의 구성요소 사이의 지정된 접속을 결정하는 시스템 및 방법

Also Published As

Publication number Publication date
TW200401201A (en) 2004-01-16
US7120691B2 (en) 2006-10-10
US7475139B2 (en) 2009-01-06
JP4363520B2 (ja) 2009-11-11
CN1762138A (zh) 2006-04-19
AU2003207337A1 (en) 2003-09-29
KR100702427B1 (ko) 2007-04-04
US20070016655A1 (en) 2007-01-18
IL164065A0 (en) 2005-12-18
CN100542166C (zh) 2009-09-16
US20030177186A1 (en) 2003-09-18
JP2005521143A (ja) 2005-07-14
CA2477197A1 (en) 2003-09-25
TWI221979B (en) 2004-10-11
WO2003079635A1 (en) 2003-09-25

Similar Documents

Publication Publication Date Title
KR100702427B1 (ko) 보안유지되고 액세스 제어된 피어-투-피어 자원 공유 방법및 장치
US7130921B2 (en) Centrally enhanced peer-to-peer resource sharing method and apparatus
US7782866B1 (en) Virtual peer in a peer-to-peer network
US8554827B2 (en) Virtual peer for a content sharing system
KR101322947B1 (ko) 네트워크에서의 파일의 분산 캐싱
US7610333B2 (en) Method and apparatus for operating a computer network
US8219614B2 (en) Edge peer device, pan gateway device, super peer device, and P2P network-based interconnection method
WO2008119273A1 (fr) Procédé pour libérer et télécharger un fichier, serveur de gestion, terminal et système
JP6614280B1 (ja) 通信装置および通信方法
US9325679B2 (en) Method and apparatus for communicating information between devices
US20130268584A1 (en) Methods and apparatus for publishing and subscribing electronic documents using intermediate rendezvous servers
US20090282105A1 (en) P2p data delivery system, p2p data delivery method and p2p data delivery program
KR100375796B1 (ko) 웹 공유 백업 저장장치를 이용한 개인간 직접 통신 분산 네트워크 시스템
JP6280471B2 (ja) 接続管理方法、プログラムおよび接続管理システム
JP2004023597A (ja) ネットワークシステムおよびプログラム
Shen et al. Freeweb: P2p-assisted collaborative censorship-resistant web browsing
JP2005065177A (ja) P2p通信システムにおける接続リンク数制御方法、情報処理装置、およびリンク数制御プログラム
KR100646346B1 (ko) 동등 계층 통신을 이용한 유무선 통합 스토리지 서비스제공 방법 및 시스템
Cowan S4h: A Peer-to-Peer Search Engine with Explicit Trust
CN114553886A (zh) 数据传输方法和通信装置
KR20090017164A (ko) 서로 다른 방화벽 내의 피어들에 대한 p2p 검색 및 연결방법 및 p2p 검색 시스템
Preguiça Resource Sharing and Search in Partially Decentralized Mobile Networks
Paul et al. Performance of WebRTC in the Context of a Decentralised Storage Solution
KR20030043080A (ko) 신뢰된 사용자간의 퍼스널 네트워크 구축 및 검색리스트작성을 통한 검색방법과 시스템

Legal Events

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

Payment date: 20110201

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee