KR20090080051A - P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법 - Google Patents

P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법 Download PDF

Info

Publication number
KR20090080051A
KR20090080051A KR1020097008465A KR20097008465A KR20090080051A KR 20090080051 A KR20090080051 A KR 20090080051A KR 1020097008465 A KR1020097008465 A KR 1020097008465A KR 20097008465 A KR20097008465 A KR 20097008465A KR 20090080051 A KR20090080051 A KR 20090080051A
Authority
KR
South Korea
Prior art keywords
virtual
peer
virtual peer
metadata
members
Prior art date
Application number
KR1020097008465A
Other languages
English (en)
Inventor
리차드 제이. 왈쉬
알프레도 씨. 이사
크리스토퍼 엠. 아미돈
제임스 에반스
Original Assignee
큐리오 홀딩스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 큐리오 홀딩스, 인크. filed Critical 큐리오 홀딩스, 인크.
Publication of KR20090080051A publication Critical patent/KR20090080051A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • 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/1044Group management mechanisms 
    • H04L67/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions

Abstract

본 발명은 P2P(peer-to-peer) 컨텐츠 공유 시스템에 대한 가상 피어(virtual peer)에 관한 것이다. 일반적으로, 가상 피어는 P2P 컨텐츠 공유 시스템에서 다수의 가상 피어 멤버가 하나의 피어 노드처럼 보이게 할 수 있는 논리적 구성(logical construct)이다. 동작을 설명하면, 스폰서 에이전트(sponsoring agent)는 가상 피어를 생성하고 가상 피어를 P2P 네트워크에 등록한다. 일단 등록되면, 가상 피어는 P2P 네트워크에서 새로운 피어 노드처럼 보인다. 효율적인 컨텐츠 공유를 제공하기 위해, 스폰서 에이전트는 가상 피어 멤버들에 의해 공유되는 다수의 디지털 자산(digital asset)의 전부 또는 그 일부분을 설명하는 메타데이터를 획득하고 메타데이터를 가상 피어에 대한 단일의 메타데이터 모음(본 명세서에서 메타데이터 카탈로그(metadata catalog)라고함)으로 통합하는 동작을 하며, 가상 피어 멤버들에 의해 공유되는 디지털 자산의 전부 또는 그 일부분을 캐싱할 수 있다.
Figure P1020097008465
가상 피어, 스폰서 노드, 스폰서 에이전트, P2P 네트워크

Description

P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법{VIRTUAL PEER FOR A CONTENT SHARING SYSTEM}
본 발명은 P2P 컨텐츠 공유 시스템에 관한 것으로서, 보다 상세하게는 P2P 컨텐츠 공유 시스템의 가상 피어에 관한 것이다.
디지털 컨텐츠 및 리소스를 공유하기 위한 P2P(peer-to-peer) 네트워크가 많은 인기를 얻고 있다. 그렇지만, P2P 네트워크에서의 각각의 피어 노드가 일의적으로 어드레싱가능하다는 사실로 인해, 클라이언트에 투명한 방식으로 단일의 요청으로 2개 이상의 장치를 어드레싱하는 것이 현재는 가능하지 않다. 예를 들어, 특정의 사용자가 퍼스널 컴퓨터, 모바일 전화, 및 PVR(Personal Video Recorder) 등의 다수의 피어 장치들의 소유자인 경우, 클라이언트에 투명한 단일의 요청을 사용하여 사용자의 피어 장치들 모두를 어드레싱하는 수단이 현재로서는 없다. 멀티캐스팅이 사용될 수 있지만, 이는 클라이언트에 투명하지 않다. 따라서, 클라이언트가 P2P 네트워크와 연관된 2개 이상의 장치를 클라이언트에 투명한 방식으로 어드레싱할 수 있게 해주는 P2P 네트워크 아키텍처가 필요하다.
본 발명은 P2P(peer-to-peer) 컨텐츠 공유 시스템의 가상 피어에 관한 것이다. 일반적으로, 가상 피어는 P2P 컨텐츠 공유 시스템에서 다수의 가상 피어 멤버들이 단일의 피어 노드처럼 보이게 할 수 있는 논리적 구성이다. 동작을 설명하면, 스폰서 에이전트(sponsoring agent)는 가상 피어에 대한 가상 피어 멤버들을 식별함으로써 가상 피어를 생성하며, 여기서 가상 피어 멤버들은 P2P 네트워크에서의 다른 피어 노드, 다른 가상 피어, 사용자 장치, 기타 등등일 수 있다. 이어서, 스폰서 에이전트는 가상 피어를 P2P 네트워크에 등록한다. 일단 등록되면, 가상 피어는 P2P 네트워크에서 새로운 피어 노드처럼 보이며, 여기서 스폰서 에이전트는 P2P 네트워크에서 가상 피어에 대한 통신 종단점으로서 동작한다.
효율적인 컨텐츠 공유를 제공하기 위해, 스폰서 에이전트는 가상 피어 멤버들에 의해 공유되는 다수의 디지털 자산의 전부 또는 그 일부분을 설명하는 메타데이터를 획득하고 메타데이터를 가상 피어에 대한 단일의 메타데이터 모음(본 명세서에서 메타데이터 카탈로그(metadata catalog)라고 함)으로 통합하는 동작을 한다. 그 후에, 스폰서 에이전트는 메타데이터 카탈로그를 사용하여 컨텐츠 발견 요청에 서비스할 수 있다. 스폰서 에이전트는 또한 컨텐츠 요청에 효율적으로 서비스하기 위해 가상 피어 멤버들에 의해 공유되는 디지털 자산의 전부 또는 그 일부분을 캐싱할 수 있다.
당업자라면 본 발명의 범위를 잘 알 것이며 첨부 도면과 관련하여 양호한 실시예들에 대한 이하의 상세한 설명을 읽어본 후 본 발명의 부가의 측면들을 구현할 것이다.
도 1은 본 발명의 일 실시에에 따른, 가상 피어를 포함하는 P2P(peer-to-peer) 네트워크를 형성하는 시스템을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른, 가상 피어를 생성 및 등록하는 도 1의 스폰서 에이전트의 동작을 나타낸 도면.
도 3A 내지 도 3D는 본 발명의 여러가지 실시예들에 따른, P2P 통신 동안의 도 1의 스폰서 에이전트의 동작을 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른, 도 1의 가상 피어의 예시적인 실시예를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른, 다수의 가상 피어를 호스팅하는 스폰서 에이전트의 예시적인 실시예를 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른, 가상 피어를 포함하는 P2P 컨텐츠 공유 시스템을 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른, 가상 피어들이 메타데이터에 기초하여 형성되는 P2P 네트워크를 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른, 가상 피어들을 형성하는 데 사용될 수 있는 예시적인 온톨로지(ontology)를 나타낸 도면.
도 9는 본 발명의 일 실시예에 따른, 메타데이터에 기초하여 가상 피어들을 형성하는 도 7의 스폰서 에이전트의 동작을 나타낸 도면.
도 10A 및 도 10B는 본 발명의 일 실시예에 따른 예시적인 메타데이터를 나타낸 도면.
도 11은 본 발명의 다른 실시예에 따른, 메타데이터에 기초하여 가상 피어들을 형성하는 도 7의 스폰서 에이전트의 동작을 나타낸 도면.
도 12는 본 발명의 일 실시예에 따른, 메타데이터에 기초하여 가상 피어들을 형성하는 VPDS(virtual peer directory service, 가상 피어 디렉토리 서비스)를 포함하는 시스템을 나타낸 도면.
도 13은 본 발명의 일 실시예에 따른, 도 12의 VPDS의 동작을 나타낸 도면.
도 14는 본 발명의 다른 실시예에 따른, 도 12의 VPDS의 동작을 나타낸 도면.
도 15는 본 발명의 일 실시예에 따른, 메타데이터에 기초하여 가상 피어들을 형성 및 관리하는 VPMS(virtual peer management service, 가상 피어 관리 서비스)를 포함하는 시스템을 나타낸 도면.
도 16은 본 발명의 일 실시예에 따른, 도 15의 VPMS의 동작을 나타낸 도면.
도 17은 스폰서 에이전트의 예시적인 실시예를 나타낸 도면.
도 18은 본 발명의 일 실시예에 따른, 도 12 내지 도 14의 VPDS를 호스팅하는 중앙 서버의 예시적인 실시예를 나타낸 도면.
도 19는 본 발명의 일 실시예에 따른, 도 15 및 도 16의 VPMS를 호스팅하는 중앙 서버의 예시적인 실시예를 나타낸 도면.
본 명세서에 포함되어 그 일부를 형성하는 첨부 도면은 본 발명의 몇가지 측면들을 나타낸 것으로서 상세한 설명과 함께 본 발명의 원리들을 설명하는 데 도움 이 된다.
이하에서 설명되는 실시예들은 당업자로 하여금 본 발명을 실시할 수 있게 해주는 필요한 정보를 나타낸 것으로서, 본 발명을 실시하는 가장 양호한 방식을 설명한다. 첨부 도면을 참조하여 이하의 설명을 읽어볼 때, 당업자라면 본 발명의 개념들을 이해할 것이며 본 명세서에 특별히 언급되지 않은 이들 개념의 응용을 잘 알 것이다. 이들 개념 및 응용이 본 개시 내용 및 첨부된 청구항들의 범위 내에 속한다는 것을 잘 알 것이다.
도 1은 본 발명의 일 실시예에 따른, 가상 피어(12)를 포함하는 P2P(peer-to-peer) 네트워크를 형성하는 시스템(10)을 나타낸 것이다. 일반적으로, 시스템(10)은 네트워크(20)를 통해 P2P 네트워크를 형성하는 가상 피어(12) 및 다수의 가상 노드(virtual node)(14-18)를 포함한다. 이 실시예에서, 가상 피어(12)는 스폰서 노드(sponsoring node)(22) 및 다수의 가상 피어(VP) 멤버(24-28)를 포함한다. 스폰서 노드(22)는, 예를 들어, 네트워크(20)에 액세스할 수 있는 서버, 퍼스널 컴퓨터, 모바일 전화, PDA(Personal Digital Assistant), TiVo
Figure 112009024986079-PCT00001
퍼스널 비디오 레코더와 유사한 PVR(Personal Video Recorder), 기타 등등일 수 있다. 스폰서 노드(22)는 P2P 네트워크에서 피어 노드이거나 피어 노드가 아닐 수 있다. 그에 부가하여, 스폰서 노드(22)는 가상 피어(12)의 멤버이거나 멤버가 아닐 수 있다. 스폰서 노드(22)는 스폰서 에이전트(30)를 포함한다. 스폰서 에이전트(30)는 양호하게는 소프트웨어로 구현된다. 그렇지만, 본 발명은 그것으로 제한되지 않는다. 동작을 설명하면, 스폰서 에이전트(30)는, 이하에서 더 상세히 설명하는 바와 같 이, 가상 피어(12)를 생성하고, 가상 피어(12)를 P2P 네트워크에 등록하며, P2P 네트워크에서 가상 피어(12)에 대한 통신 종단점으로서 동작한다.
VP 멤버(24-28)는 P2P 네트워크에서의 다른 피어 노드, 다른 가상 피어, 독립적인 사용자 장치(예를 들어, 퍼스널 컴퓨터, 모바일 전화, PDA, 또는 PVR 등), 웹 서버, 프록시 서버, 기타 등등일 수 있다. 유의할 점은, 예를 들어, VP 멤버(24)가 P2P 네트워크에서의 피어 노드 또는 다른 가상 피어인 경우, VP 멤버(24)는 가상 피어(12)의 멤버일 수 있으며 P2P 네트워크를 통해 독립적으로 어드레싱가능할 수 있다는 것이다. 이와 달리, VP 멤버는 다른 대안으로서 P2P 네트워크에서 발견가능하지 않은 독립적인 사용자 장치일 수 있다. 또한, 유의할 점은 VP 멤버(24-28)가 본 명세서에서 잠재적 VP 멤버(potential VP member)(24-28)라고도 할 수 있다는 것이다. 특히 VP 멤버(24-28)가 가상 피어(12)에 등록되기 이전으로 따라서 아직 실제의 VP 멤버(24-28)가 아닌 경우에 그러하다.
스폰서 에이전트(30)는 VP 멤버(24-28)와 통신 세션을 유지한다. 선택적으로, 보안 통신을 제공하기 위해, 스폰서 에이전트(30)와 VP 멤버(24-28) 간의 및/또는 스폰서 에이전트(30)와 P2P 네트워크 간의 통신 세션은 암호화될 수 있다. 명확함을 위해, VP 멤버(24-28)가 스폰서 노드(22)에 직접 접속되어 있는 것으로 도시되어 있지만, 본 발명은 그것으로 제한되지 않는다. 일반적으로, VP 멤버(24-28)는 임의의 유형의 로컬 또는 네트워크 접속을 통해 스폰서 노드(22), 따라서 스폰서 에이전트(30)에 접속될 수 있다. 예를 들어, VP 멤버(24-28)는 유선 접속 또는 로컬 무선 접속 등의 직접 통신 링크(direct communication link)를 통해 스폰 서 노드(22)에 접속될 수 있다. 로컬 무선 접속은, 예를 들어, IEEE 802.11 표준군, 블루투스 표준, 기타 등등 중 하나에 따른 접속일 수 있다. 다른 대안으로서, VP 멤버(24-28)는 직접 또는 네트워크(20)를 통해 형성된 P2P 네트워크 또는 다른 P2P 네트워크 내의 하나 이상의 노드를 통해 간접적으로 스폰서 노드(22)에 접속될 수 있다. 다른 대안으로서, VP 멤버(24-28)는 TCP(Transmission Control Protocol) 등의 연결형 프로토콜(connection oriented protocol) 또는 UDP(User Datagram Protocol) 등의 비연결형 프로토콜(connectionless protocol)을 사용하여 인터넷, WAN(Wide Area Network), LAN(Local Area Network), 셀룰러 네트워크, 또는 이들의 임의의 조합을 통해 스폰서 노드(22)에 접속될 수 있다. 게다가, VP 멤버(24-28) 각각과 스폰서 노드(22) 사이에 다수의 접속이 사용될 수 있다.
예로서, VP 멤버(24)가 P2P 네트워크 내의 다른 피어 노드 또는 다른 가상 피어인 경우, 스폰서 에이전트(30)는 P2P 네트워크(네트워크(20), 인터넷, 기타 등등을 통해 형성된 별도의 P2P 네트워크임)를 사용하여 VP 멤버(24)와 연결형 프로토콜 또는 비연결형 프로토콜을 사용하는 통신 세션을 유지할 수 있다. 다른 대안으로서, VP 멤버(24)가 P2P 네트워크 내의 다른 피어 노드 또는 다른 가상 피어인 경우, 스폰서 에이전트(30)는 유선 접속 또는 로컬 무선 접속 등의 직접 통신 링크를 사용하여 VP 멤버(24)와 통신 세션을 유지할 수 있다. 다른 예로서, VP 멤버(24)가 독립적인 사용자 장치인 경우, 스폰서 에이전트(30)는, 예를 들어, 유선 접속, 로컬 무선 접속 또는 인터넷을 통한 접속을 사용하여 VP 멤버(24)와 통신 세션을 유지할 수 있다.
본 명세서를 읽어보면 당업자에게는 명백하게 되는 바와 같이, 피어 노드(14-18)는, 예를 들어, 네트워크(20)에 액세스할 수 있는 퍼스널 컴퓨터, 모바일 전화, PDA, PVR, 기타 등등일 수 있다. 네트워크(20)는 인터넷 등의 공중 분산 네트워크(public distributed network)일 수 있다. 그렇지만, 본 발명은 그것으로 제한되지 않는다. 네트워크(20)는 임의의 유형의 WAN, LAN, PAN(Personal Area Network), 셀룰러 네트워크, 기타 등등 또는 이들의 임의의 조합일 수 있으며, 유선 및/또는 무선 컴포넌트를 포함할 수 있다.
도 2는 가상 피어(12)를 생성하고 가상 피어(12)를 P2P 네트워크에 등록하는 스폰서 에이전트(30)의 동작을 나타낸 플로우차트이다. 스폰서 에이전트(30)는 먼저 가상 피어(12)를 생성한다(단계 100). 보다 구체적으로는, 일 실시예에서, 스폰서 에이전트(30)는 하나 이상의 잠재적 VP 멤버(24-28)로부터 요청이 있을 시에 가상 피어를 생성한다. 일 실시예에서, 가상 피어(12)는 특정의 소유자 또는 일군의 소유자에 대해 생성된다. 따라서, 예를 들어, 잠재적 VP 멤버(24)는 스폰서 에이전트(30)에 등록을 하고 안전하게 잠재적 VP 멤버(24)의 소유자를 식별할 수 있다. VP 멤버(24)의 소유자의 신원에 기초하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(24)를 기존의 가상 피어와 연관시키거나 새로운 가상 피어를 생성할 수 있다. 이 예에서, 스폰서 에이전트(30)는 새로운 가상 피어(가상 피어(12)임)를 생성한다. 잠재적 VP 멤버(24)는 이어서 가상 피어(12)에 등록되고 따라서 가상 피어의 VP 멤버이다. 이어서, 나머지 잠재적 VP 멤버(26-28)가 스폰서 에이전트(30)에 등록을 한다. 이 예에서, 가상 피어 멤버(24)의 소유자는 잠재적 VP 멤버(26-28)의 소유자이기도 하다. 그 자체로서, 스폰서 에이전트(30)는 잠재적 VP 멤버(26-28)를 가상 피어(12)의 VP 멤버로서 추가한다. 이 시점에서, 가상 피어(12) 생성이 완료됨으로써 VP 멤버(24-28)가 가상 피어(12)의 멤버로 된다.
다른 실시예에서, 스폰서 에이전트(30)는, VP 멤버(24-28)를 식별하기 위해, P2P 네트워크 내의 피어 노드(14-18) 등의 피어 노드에 질의를 함으로써, 스폰서 노드(22)에 직접 연결되거나 스폰서 노드(22)의 로컬 무선 통화권 범위 내에 있는 사용자 장치들에 질의함으로써, 또는 둘다에 의해 가상 피어(12)를 능동적으로 생성할 수 있다. 일례로서, 이상에서 설명한 것과 유사한 방식으로, 질의는 가상 피어(12)의 소유자 또는 가상 피어(12)와 연관된 일군의 소유자를 식별해주는 정보를 포함할 수 있다. 피어 노드, 가상 피어 노드, 또는 가상 피어(12)의 소유자 또는 가상 피어(12)와 연관된 일군의 소유자들 중 하나에 의해 역시 소유되어 있는 독립적인 사용자 장치가 질의에 응답함으로써 가상 피어(12)에 가입하고자 한다는 것을 나타낼 수 있다. 질의에 대한 응답에 기초하여, VP 멤버(24-28)가 식별되어 가상 피어(12)에 등록된다. 이 시점에서, 가상 피어(12)가 생성된다.
유의할 점은, 생성 프로세스 동안에, 악의적 사용자의 피어 노드, 가상 피어 노드, 또는 독립적인 사용자 장치가 속임수를 써서 가상 피어(12)의 멤버로 되는 것을 막기 위해 스폰서 에이전트(30)가 VP 멤버(24-28)의 소유자의 신원을 인증하는 동작을 할 수 있다는 것이다. 스폰서 에이전트(30)는, 예를 들어, 패스워드를 사용하여 인증 프로세스를 수행할 수 있다. 다른 대안으로서, 본 명세서를 읽어보면 당업자에게는 명백하게 되는 바와 같이, 스폰서 에이전트(30)는 제3자 인증 서 비스를 사용할 수 있다.
새로운 VP 멤버가 가상 피어(12)에 추가될 수 있고 및/또는 기존의 VP 멤버가 제거될 수 있도록, 가상 피어(12)의 멤버들은 동적일 수 있다. 예를 들어, VP 멤버(24-28)가 로컬 무선 통신을 통해 스폰서 에이전트(30)와 접속을 설정하는 모바일 장치인 경우, 가상 피어(12)의 멤버쉽은 VP 멤버(24-28)가 스폰서 노드(22)의 로컬 무선 통화권 범위에 들어가고 그로부터 나감에 따라 동적으로 변할 수 있다. 이와 유사한 방식으로, 가상 피어(12)의 멤버쉽은 VP 멤버(24-28)가 스폰서 에이전트(30)에 접속하거나 그와의 접속을 해제함에 따라 변할 수 있다.
가상 피어(12)가 생성되면, 스폰서 에이전트(30)는 가상 피어(12)를 P2P 네트워크에 등록한다(단계 102). 등록 동안에, 스폰서 에이전트(30)는 P2P 네트워크 내의 가상 피어(12)에 대한 피어 ID를 수신 또는 발생한다. 유의할 점은, 어떤 유형의 P2P 네트워크에 대해, 스폰서 에이전트(30)가, 예를 들어, 스폰서 노드(22)의 MAC(Media Access Control) 주소를 사용하여 가상 피어(12)에 대해 전역적으로 고유한 피어 ID를 발생할 수 있다는 것이다. 일단 발생되면, 스폰서 에이전트(30)는 P2P 네트워크 내의 하나 이상의 노드들에 피어 ID를 알린다.
P2P 네트워크에 등록되면, 가상 피어(12)는 P2P 네트워크 내의 새로운 피어가 된다. 유의할 점은, 스폰서 노드(22)도 역시 P2P 네트워크 내의 피어 노드인 경우, 스폰서 노드(22) 및 가상 피어(12)가 서로 다른 피어 ID를 갖는다는 것이다. 따라서, 스폰서 노드(22)는 스폰서 노드(22)의 피어 ID를 사용하여 P2P 네트워크에서 어드레싱될 수 있는 반면, 가상 피어(12)는 가상 피어(12)의 피어 ID를 사용하 여 스폰서 노드(22)에 의해 호스팅되는 스폰서 에이전트(30)를 통해 P2P 네트워크에서 어드레싱될 수 있다. 가상 피어 ID를 사용하여, 스폰서 에이전트(30)는 P2P 네트워크에서 가상 피어(12)에 대한 종단점으로서 동작한다.
스폰서 에이전트(30)가 가상 피어(12)를 P2P 네트워크에 등록하는 방식은 P2P 네트워크의 특정의 구현에 의존한다. 예를 들어, 일 실시예에서, 스폰서 에이전트(30)는 가상 피어(12)를 P2P 네트워크의 중앙집중형 또는 분산형 등록 에이전트에 등록한다. 스폰서 에이전트(30)는 한번만 또는 가상 피어(12)가 활성으로 될 때마다 가상 피어(12)를 P2P 네트워크에 등록해야 할지도 모른다. 가상 피어(12)는 VP 멤버(24-28) 중 하나 이상이 스폰서 에이전트(30)에 접속될 때(본 명세서에서 온라인으로 된다고 말함), VP 멤버(24-28) 모두가 온라인으로 될 때, 또는 하나 이상의 미리 정해진 규칙이 충족될 때(여기서, 규칙은 온라인으로 되어 있는 VP 멤버(24-28)의 비율, 처리 능력, 지연 시간, 기타 등등을 고려할 수 있음), 활성일 수 있다. 다른 대안으로서, 가상 피어(12)는 VP 멤버(24-28) 중 어느 것도 온라인으로 되어 있지 않을 때라도 스폰서 노드(22)가 네트워크(20)에 접속되어 있을 때는 언제나 활성일 수 있다. 이것은 스폰서 노드(22)가 VP 멤버(24-28)에 의해 호스팅되는 컨텐츠, 즉 디지털 자산을 캐싱하고 따라서 VP 멤버(24-28)가 오프라인으로 있을 때라도 VP 멤버(24-28)에 의해 호스팅되는 컨텐츠에 대한 요청에 서비스할 수 있는 상황에서 유익할 수 있다.
그에 부가하여, 스폰서 에이전트(30)는 P2P 네트워크에 주기적인 상태 또는 존재 업데이트를 제공하고 가상 피어(12)에 의해 호스팅되는 컨텐츠, 즉 디지털 자 산을 설명하는 메타데이터, 가상 피어(12)의 능력, 사용자 정보, 기타 등등의 정보를 제공해야 할지도 모른다. 가상 피어(12)에 의해 호스팅되는 컨텐츠는 VP 멤버(24-28)에 의해 호스팅되는 컨텐츠이다. 따라서, 스폰서 에이전트(30)는 필요한 메타데이터를 획득하여 이 메타데이터를 P2P 네트워크에 제공하기 위해 VP 멤버(24-28)와 통신을 할 수 있다. 마찬가지로, 스폰서 에이전트(30)는 VP 멤버(24-28) 중 하나 이상으로부터 사용자 정보를 획득할 수 있다. 가상 피어(12)의 능력에 관해서는, P2P 네트워크는 P2P 네트워크 내의 가상 피어(12)를 비롯한 피어 노드의 능력에 기초하여 그의 네트워크 토폴로지를 조정할 수 있다. 따라서, 일 실시예에서, 스폰서 에이전트(30)는 스폰서 노드(22)의 능력을 P2P 네트워크에 가상 피어(12)의 능력으로서 제공할 수 있다. 그렇지만, 예를 들어, 스폰서 노드(22)가 고속 서버인 경우, 스폰서 노드(22)의 능력을 P2P 네트워크에 가상 피어(12)의 능력으로서 보고하면 그 결과 가상 피어(12)가 FastTrack 또는 유사한 P2P 네트워크에서 수퍼 또는 울트라 피어 노드(super or ultra peer node)로서 선택될 수 있다. 이것이 바람직하거나 바람직하지 않을 수 있다. 그 자체로서, 스폰서 에이전트(30)는, P2P 네트워크에서 수퍼 또는 울트라 피어로서 선택되는 것을 회피하기 위해, 스폰서 노드(22)의 인식된 능력 및/또는 보고된 능력을 조정할 수 있다.
스폰서 에이전트(30)는 또한 다른 스폰서 노드들에 의해 호스팅되는 다른 스폰서 에이전트들과의 통신을 설정함으로써 고장 극복(failover) 및 부하 분산(load balancing)도 제공할 수 있다. 따라서, 예를 들어, 스폰서 노드(22)가 어떤 이유로 고장나는 경우, 나머지 스폰서 에이전트들 중 하나가 가상 피어(12)의 스폰서 에이전트로서 인계받을 수 있다. 스폰서 노드(22)가 정상 동작으로 돌아오면, 스폰서 에이전트(30)는 가상 피어(12)에 대한 스폰서 에이전트로서 동작을 재개할 수 있다.
유의할 점은, 어떤 상황에서는, 가상 피어(12)가 VP 멤버를 갖지 않는다는 것이다. 예를 들어, VP 멤버(24-28)가 식별된 후에 가상 피어(12)를 P2P 네트워크에 등록하기보다는, 스폰서 에이전트(30)는 VP 멤버(24-28)가 식별되기 전에 가상 피어(12)를 P2P 네트워크에 등록할 수 있다. 다른 예로서, 가상 피어(12)에서의 멤버쉽이 변할 수 있고 VP 멤버(24-28)가 오프라인으로 될 수 있기 때문에, 생성 후의 어떤 시점에서, 가상 피어(12)에 활성 멤버가 없을지도 모른다. 이러한 경우에, 스폰서 에이전트(30)는 캐싱된 정보에 기초하여 또는 "이용불가" 응답을 제공함으로써 가상 피어(12)를 대신하여 요청들에 계속하여 응답할 수 있다.
도 3A 내지 도 3D는 본 발명의 여러가지 실시예들에 따른, 가상 피어와 P2P 통신을 실시하는 스폰서 에이전트(30)의 동작을 나타낸 것이다. 도 3A에서, 피어 노드(이 예에서, 피어 노드(14)임)는 가상 피어(12)의 스폰서 에이전트(30)에 요청을 제공한다(단계 200). 이 요청을 수신할 때, 스폰서 에이전트(30)는 그 요청을 처리한다(단계 202). 보다 구체적으로는, P2P 네트워크를 통한 통신이 암호화되어 있는 경우, 스폰서 에이전트(30)는 그 요청을 복호화할 수 있다. 그에 부가하여, 스폰서 에이전트(30)는 필터링 프로세스를 수행하기 위해 하나 이상의 보안 규칙을 적용할 수 있다. 예를 들어, 스폰서 에이전트(30)는 다수의 피어 노드(이들로부터의 요청은 허용됨)를 식별해주는 화이트리스트(whitelist), 다수의 피어 노드(이들 로부터의 요청은 허용되지 않음)를 식별해주는 블랙리스트(blacklist), 또는 둘다를 유지할 수 있다. 본 명세서를 읽어보면 다른 유형의 보안 규칙들이 당업자에게는 명백하게 될 것이다.
이 실시예에서, 스폰서 에이전트(30)는 요청에 서비스하기 위한 VP 멤버(24-28) 중 하나(이 예에서, VP 멤버(24)임)를 식별하기 위해 요청을 처리하기도 할 수 있다. 예를 들어, 요청이 특정의 비디오 등의 특정의 디지털 자산에 대한 것인 경우, 스폰서 에이전트(30)는, 예를 들어, VP 멤버(24-28)에 질의를 함으로써 비디오를 호스팅하는 VP 멤버(24-28) 중 하나 이상을 식별하고 이어서, 예를 들어, VP 멤버(24-28)의 접속 속도, 부하 조건, 기타 등등에 기초하여 요청에 서비스할 VP 멤버(24-28) 중 하나를 선택할 수 있다. 스폰서 에이전트(30)는 VP 멤버(24-28) 중 하나 이상으로 전송하기 전에 요청을 암호화하기도 할 수 있다.
스폰서 에이전트(30)는 이어서 처리된 요청을 VP 멤버(24)로 전송한다(단계 204). VP 멤버(24)는 요청된 디지털 자산을 포함하는 응답을 스폰서 에이전트(30)로 전송한다(단계 206). 스폰서 에이전트(30)는 이어서 피어 노드(14)로 전송될 응답을 발생한다(단계 208). 보다 구체적으로는, 스폰서 에이전트(30)는 암호화 및/또는 복호화 기능을 수행할 수 있다. 그에 부가하여, 스폰서 에이전트(30)는 응답이 가상 피어(12)에 의해 디지털 서명되도록 응답을 처리할 수 있다. 스폰서 에이전트(30)는 이어서 이 응답을 피어 노드(14)로 전송한다(단계 210).
대안의 실시예에서, 요청에 서비스하기 위한 VP 멤버(24-28) 중 하나를 식별하기보다는, 스폰서 에이전트(30)는 요청을 VP 멤버(24-28) 모두에게로 브로드캐스 트한다. 요청된 컨텐츠를 호스팅하는 VP 멤버(24-28)가 이어서 응답을 할 수 있다.
다른 대안으로서, 예를 들어, 요청이 특정의 디지털 자산에 대한 것이고 VP 멤버(24-28) 중 2개 이상이 그 특정의 디지털 자산을 호스팅하고 있는 경우, 스폰서 에이전트(30)는, 디지털 자산의 서로 다른 세그먼트가 동시에 스폰서 노드(22)로 전송되도록, 그 특정의 디지털 자산을 호스팅하는 VP 멤버(24-28) 각각에 그 특정의 디지털 자산의 서로 다른 세그먼트를 요청할 수 있다. 그와 같이 함으로써, VP 멤버(24-28)에서의 부하 조건을 감소시키면서 디지털 자산이 신속하게 스폰서 노드(22)로 전송될 수 있다. 게다가, 요청된 디지털 자산의 세그먼트들이 다수의 VP 멤버(24-28)로부터 수신되는 경우, 스폰서 에이전트(30)는 요청된 디지털 자산을 피어 노드(14)로 전송하기 전에 요청된 디지털 자산을 제공하기 위해 그 세그먼트들을 결합할 수 있다. 다른 대안으로서, 이들 세그먼트는 순차적으로 또는 동시에 피어 노드(14)에 제공될 수 있으며, 여기서 피어 노드(14)는 그 후에 요청된 디지털 자산을 제공하기 위해 세그먼트들을 결합한다.
도 3A가 가상 피어(12)에 제공되는 요청 및 가상 피어(12)로부터의 응답에 중점을 두고 있지만, 어떤 착신 또는 발신 메시지라도 유사하게 처리될 수 있다. 보다 구체적으로는, VP 멤버(24)로부터의 발신 메시지는 먼저 스폰서 에이전트(30)에 제공될 수 있다. 스폰서 에이전트(30)는 이어서 발신 메시지를 패키징 및 디지털 서명하고 이 발신 메시지를 P2P 네트워크 내의 해당 피어 노드로 전달할 수 있다.
도 3B는 본 발명의 제2 실시예에 따른, 스폰서 에이전트(30)의 동작을 나타낸 것이다. 일반적으로, 이 실시예에서, 스폰서 에이전트(30)는 피어 노드(14)와 VP 멤버(24) 간의 바이패스 접속(by-pass connection)을 실시하는 동작을 한다. 먼저, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 피어 노드(14)로부터 요청을 수신한다(단계 300). 스폰서 에이전트(30)는 이어서 그 요청을 처리한다(단계 302). 일 실시예에서, 스폰서 에이전트(30)는 모든 요청에 대해 바이패스 접속이 설정되도록 구성 또는 구현되어 있다. 그렇지만, 다른 실시예에서, 스폰서 에이전트(30)는 바이패스 접속이 설정되어야 하는지를 판정하기 위해 하나 이상의 규칙을 사용한다. 이들 규칙은 VP 멤버(24-28) 전부에 적용가능한 일반 규칙일 수 있거나 멤버 관련 규칙일 수 있다. 일례로서, 스폰서 에이전트(30)는 미리 정해진 문턱값보다 큰 파일 크기를 갖는 디지털 자산에 대한 요청이 바이패스 접속을 실시함으로써 처리되어야 한다는 일반 규칙을 가질 수 있다. 그에 부가하여 또는 다른 대안으로서, 이들 규칙은 VP 멤버(24-28)의 능력, 요청된 디지털 자산의 유형, 피어 노드(14)의 피어 ID, 피어 노드(14)의 소유자, 기타 등등의 기준을 고려할 수 있다. 본 명세서를 읽어보면 많은 부가의 또는 대안의 기준들이 당업자에게는 명백하게 될 것이다.
이 예에서는, 바이패스 접속이 설정된다. 그 자체로서, 스폰서 에이전트(30)는 요청에 서비스할 VP 멤버를 식별한다. 스폰서 에이전트(30)는, 예를 들어, 요청에 서비스할 수 있는 VP 멤버(24-28) 중 하나 이상을 식별하기 위해 VP 멤버(24-28)에 질의를 함으로써, 요청에 서비스할 VP 멤버를 식별할 수 있다. 스폰 서 에이전트(30)는 이어서, 예를 들어, 부하 조건, 지연 시간, 기타 등등에 기초하여 요청에 서비스할 VP 멤버(24-28) 중 하나를 선택한다. 이 예에서, 선택된 VP 멤버는 VP 멤버(24)이다.
그 다음에, 스폰서 에이전트(30)는 리디렉션 메시지(redirect message)를 피어 노드(14)로 전송한다(단계 304). 일반적으로, 리디렉션 메시지는 피어 노드(14)가 VP 멤버(24)로의 직접 P2P 접속(direct P2P connection)을 설정할 수 있게 해주기에 충분한 정보를 포함하고 있다. 예를 들어, 리디렉션 메시지는 VP 멤버(24)의 피어 ID 또는 URL(Uniform Resource Locator)와, 선택적으로, 피어 노드(14)가 VP 멤버(24)에 접속할 수 있게 해주는 자격 증명(패스워드 또는 토큰 등)을 포함하고 있을 수 있다. 리디렉션 메시지에 기초하여, 피어 노드(14)는 요청을 VP 멤버(24)로 전송한다(단계 306). 이에 응답하여, VP 멤버(24)는 요청된 디지털 자산을 직접 P2P 접속을 통해 피어 노드(14)로 전송함으로써 스폰서 에이전트(30)를 바이패스한다(단계 308).
계속하기 전에, 유의할 점은, 대안의 실시예에서, VP 멤버(24-28) 중 2개 이상이 요청에 서비스할 수 있는 경우, 스폰서 에이전트(30)가 요청에 동시에 서비스하기 위해 이들 중 2개 이상 또는 그 전부를 선택할 수 있다는 것이다. 보다 구체적으로는, VP 멤버(24-28) 중 2개가 요청에 서비스할 수 있는 경우, 스폰서 에이전트(30)는 요청된 디지털 자산의 제1 부분을 서비스하기 위해 2개의 VP 멤버 중 하나를 선택하고 요청된 디지털 자산의 나머지 부분을 서비스하기 위해 2개의 VP 멤버 중 다른 하나를 선택할 수 있다. 피어 노드(14)는 이어서 디지털 자산의 2개의 부분이 2개의 VP 멤버로부터 동시에 서비스되도록 2개의 VP 멤버로 리디렉션될 수 있다.
다른 대안으로서, 요청을 리디렉션할 VP 멤버(24-28) 중 하나 이상을 식별하기보다는, 스폰서 에이전트(30)는 피어 노드(14)를 VP 멤버(24-28) 모두에게로 리디렉션할 수 있다. 이에 응답하여, 피어 노드(14)는 요청을 VP 멤버(24-28)로 멀티캐스트할 수 있거나 요청된 컨텐츠를 호스팅하는 VP 멤버가 식별될 때까지 VP 멤버(24-28)를 통해 지나갈 수 있다.
도 3B가 가상 피어(12)에게 제공되는 요청 및 가상 피어(12)로부터 응답에 중점을 두고 있지만, 어느 착신 또는 발신 메시지라도 유사하게 처리될 수 있다. 보다 구체적으로는, VP 멤버(24)로부터의 발신 메시지가 먼저 스폰서 에이전트(30)에 제공될 수 있다. 스폰서 에이전트(30)는 이어서 피어 노드(14)와 직접 P2P 접속을 하도록 VP 멤버(24)에게 지시하는 리디렉션 메시지를 전송할 수 있다.
도 3C는 본 발명의 제3 실시예에 따른, 스폰서 에이전트(30)의 동작을 나타낸 것이다. 일반적으로, 이 실시예에서, 스폰서 에이전트(30)는 피어 노드(14)에 직접 응답하도록 VP 멤버(24)에 지시함으로써 피어 노드(14)와 VP 멤버(24) 간에 바이패스 접속을 실시하는 동작을 한다. 먼저, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 피어 노드(14)로부터 요청을 수신한다(단계 400). 스폰서 에이전트(30)는 이어서 요청을 처리한다(단계 402). 일 실시예에서, 스폰서 에이전트(30)는 바이패스 접속이 모든 요청에 대해 설정되도록 구성 또는 구현되어 있다. 그렇지만, 다른 실시예에서, 스폰서 에이전트(30)는 바이패스 접속이 설정되어야 하는지를 판정하기 위해 하나 이상의 규칙을 사용한다. 상기한 바와 같이, 이들 규칙은 VP 멤버(24-28) 모두에게 적용가능한 일반 규칙일 수 있거나, 멤버 관련 규칙일 수 있다. 이들 규칙은 요청된 디지털 자산의 파일 크기, VP 멤버(24-28)의 능력, 요청된 디지털 자산의 유형, 피어 노드(14)의 피어 ID, 피어 노드(14)의 소유자, 기타 등등의 기준을 고려할 수 있다. 본 명세서를 읽어보면, 많은 부가의 또는 대안의 기준들이 당업자에게는 명백하게 될 것이다.
이 예에서, 바이패스 접속이 설정된다. 그 자체로서, 스폰서 에이전트(30)는 요청에 서비스할 VP 멤버를 식별한다. 스폰서 에이전트(30)는, 예를 들어, 요청에 서비스할 수 있는 VP 멤버(24-28) 중 하나 이상을 식별하기 위해 VP 멤버(24-28)에 질의를 함으로써, 요청에 서비스할 VP 멤버를 식별할 수 있고, 이어서 요청에 서비스할 VP 멤버(24-28) 중 하나를 선택한다. 이 예에서, 선택된 VP 멤버는 VP 멤버(24)이다.
그 다음에, 스폰서 에이전트(30)는 리디렉션 정보를 포함하는 요청을 VP 멤버(24)로 전송한다(단계 404). 일반적으로, 리디렉션 정보는 VP 멤버(24)가 피어 노드(14)에의 직접 P2P 접속을 설정할 수 있게 해주기에 충분한 정보를 포함하고 있다. 예를 들어, 리디렉션 정보는 피어 노드(14)의 피어 ID 또는 URL과, 선택적으로, VP 멤버(24)가 피어 노드(14)에 접속할 수 있게 해주는 자격 증명(패스워드 또는 토큰 등)을 포함하고 있을 수 있다. 요청에 기초하여, VP 멤버(24)는 이어서 피어 노드(14)와의 접속을 설정하고 응답을 피어 노드(14)로 전송한다(단계 406).
다른 대안으로서, VP 멤버(24-28) 중 2개 이상이 요청에 서비스할 수 있는 경우, 스폰서 에이전트(30)는 요청에 동시에 서비스하기 위해 그들 중 2개 이상 또는 그 전부를 선택할 수 있다. 보다 구체적으로는, VP 멤버(24-28) 중 2개가 요청에 서비스할 수 있는 경우, 스폰서 에이전트(30)는 요청된 디지털 자산의 제1 부분을 서비스하기 위해 2개의 VP 멤버 중 하나를 선택하고 요청된 디지털 자산의 나머지 부분을 서비스하기 위해 2개의 VP 멤버 중 다른 하나를 선택할 수 있다. 스폰서 에이전트(30)는 이어서 디지털 자산의 2개의 부분이 피어 노드(14)에 동시에 서비스되도록 피어 노드(14)와의 직접 P2P 접속을 설정하라고 2개의 VP 멤버에 지시할 수 있다. 대안으로서, 스폰서 에이전트(30)는 요청을 VP 멤버(24-28) 전부에게로 브로드캐스트할 수 있다. 요청된 컨텐츠를 호스팅하는 VP 멤버(24-28) 중 하나 이상은 이어서 피어 노드(14)에 응답할 수 있다. 유의할 점은, VP 멤버(24-28) 중 하나만이 요청된 컨텐츠를 스폰서 노드(22)로 전송하거나 다수의 VP 멤버(24-28) 각각이 요청된 컨텐츠의 세그먼트를 스폰서 노드(22)로 전송하도록, 요청된 컨텐츠를 호스팅하는 VP 멤버(24-28)가 요청된 컨텐츠의 전송을 조정할 수 있다는 것이다.
다시 말하지만, 도 3C가 가상 피어(12)에게 제공되는 요청 및 가상 피어(12)로부터의 응답에 중점을 두고 있지만, 어느 착신 또는 발신 메시지라도 유사하게 처리될 수 있다. 보다 구체적으로는, VP 멤버(24)로부터의 발신 메시지는 먼저 스폰서 에이전트(30)에 제공될 수 있다. 스폰서 에이전트(30)는 이어서 피어 노드(14)와의 직접 P2P 접속을 하도록 VP 멤버(24)에게 지시할 수 있다.
도 3D는 본 발명의 제4 실시예에 따른, 스폰서 에이전트(30)의 동작을 나타 낸 것이다. 일반적으로, 이 실시예는 도 3C의 실시예와 유사하다. 그렇지만, 이 실시예에서, VP 멤버(24)는 VP 멤버(24)의 신원이 피어 노드(14)에게 노출되지 않도록 피어 노드(14)에 직접 응답할 때 가상 피어(12)의 자격 증명을 사용한다. 피어 노드(14)에게는, VP 멤버(24)보다는 가상 피어(12)가 응답을 제공하는 것처럼 보인다.
보다 구체적으로는, 이 예에서, 스폰서 에이전트(30)는, 예를 들어, VP 멤버(24-28)의 가상 피어(12)에의 등록 동안에, 가상 피어(12)의 자격 증명을 VP 멤버(24-28)에게 제공한다(단계 500). 다른 대안으로서, 가상 피어 자격 증명은 필요에 따라 VP 멤버(24)에게 제공될 수 있다. 가상 피어(12)의 자격 증명은 가상 피어(12)를 대신하여 부인-방지 메시지(non-repudiated message)를 P2P 네트워로 전송하기 위해 VP 멤버(24)가 필요로 하는 모든 정보를 포함할 수 있다. 이 자격 증명은 가상 피어(12)의 피어 ID, 공개키 및 비밀키 정보 등의 암호화/복호화 정보, 가상 피어(12)를 대신하여 메시지에 디지털 서명하는 데 필요한 정보, 기타 등등을 포함할 수 있다.
어떤 시점에서, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 피어 노드(14)로부터 요청을 수신한다(단계 502). 스폰서 에이전트(30)는 이어서 요청을 처리한다(단계 504). 일 실시예에서, 스폰서 에이전트(30)는 모든 요청에 대해 바이패스 접속이 설정되도록 구성 또는 구현되어 있다. 그렇지만, 다른 실시예에서, 스폰서 에이전트(30)는 바이패스 접속이 설정되어야 하는지를 판정하기 위해 하나 이상의 규칙을 사용한다. 상기한 바와 같이, 이들 규칙은 VP 멤버(24-28) 모두에 게 적용가능한 일반 규칙일 수 있거나, 멤버 관련 규칙일 수 있다. 이들 규칙은 요청된 디지털 자산의 파일 크기, VP 멤버(24-28)의 능력, 요청된 디지털 자산의 유형, 피어 노드(14)의 피어 ID, 피어 노드(14)의 소유자, 기타 등등의 기준을 고려할 수 있다. 유의할 점은, 이들 규칙이 전적으로 스폰서 에이전트(30)에 의해 또는 스폰서 에이전트(30)와 VP 멤버(24-28)의 협업에 의해 실행될 수 있다는 것이다. 게다가, 스폰서 에이전트(30)는 제1 일련의 규칙을 실행할 수 있고, VP 멤버(24-28)는 부가의 일련의 규칙을 실행할 수 있으며, 여기서 스폰서 에이전트(30)의 규칙이 VP 멤버(24-28)의 규칙에 우선한다. 본 명세서를 읽어보면 많은 부가의 또는 대안의 기준들이 당업자에게는 명백하게 될 것이다.
이 예에서는, 바이패스 접속이 설정된다. 그 자체로서, 스폰서 에이전트(30)는 요청에 서비스할 VP 멤버를 식별한다. 스폰서 에이전트(30)는, 예를 들어, 요청에 서비스할 수 있는 VP 멤버(24-28) 중 하나 이상을 식별하기 위해 VP 멤버(24-28)에 질의를 함으로써, 요청에 서비스할 VP 멤버를 식별할 수 있다. 스폰서 에이전트(30)는 이어서 요청에 서비스할 VP 멤버(24-28) 중 하나를 선택한다. 이 예에서, 선택된 VP 멤버는 VP 멤버(24)이다.
그 다음에, 스폰서 에이전트(30)는 리디렉션 정보를 포함하는 요청을 VP 멤버(24)로 전송한다(단계 506). 일반적으로, 리디렉션 정보는 VP 멤버(24)가 피어 노드(14)에의 직접 P2P 접속을 설정할 수 있게 해주기에 충분한 정보를 포함하고 있다. 예를 들어, 이 리디렉션 정보는 VP 멤버(24)의 피어 ID 또는 URL과, 선택적으로, VP 멤버(24)가 피어 노드(14)에 접속할 수 있게 해주는 자격 증명(패스워드 또는 토큰 등)을 포함할 수 있다. 그에 부가하여, 대안으로서, VP 자격 증명이 요청 및 리디렉션 정보와 함께 VP 멤버(24)에 제공될 수 있다. 이어서, 가상 피어(12)의 자격 증명을 사용하여, VP 멤버(24)는 피어 노드(14)와 접속을 설정하고 응답을 피어 노드(14)로 전송한다(단계 508). 다시 말하지만, 가상 피어(12)의 자격 증명을 사용함으로써, VP 멤버(24)의 신원이 노출되지 않는다. 피어 노드(14)에게는, VP 멤버(24)보다는 가상 피어(12)가 응답을 제공한 것처럼 보인다.
대안으로서, 스폰서 에이전트(30)는 요청 및 리디렉션 정보를 VP 멤버(24-28) 모두에게로 브로드캐스트할 수 있다. 요청된 컨텐츠를 호스팅하는 VP 멤버(24-28) 중 하나는 이어서 VP 자격 증명을 사용하여 피어 노드(14)에 응답할 수 있다.
다시 말하지만, 도 3D가 가상 피어(12)에게 제공되는 요청 및 가상 피어(12)로부터의 응답에 중점을 두고 있지만, 어떤 착신 또는 발신 메시지라도 이와 유사하게 처리될 수 있다. 보다 구체적으로는, 가상 피어(12)의 자격 증명을 사용하여, VP 멤버(24)는 VP 멤버(24)의 신원을 보호하는 방식으로 발신 메시지를 피어 노드(14)로 전송할 수 있다.
도 4는 가상 피어(12)의 예시적인 실시예이다. 이 예에서, 가상 피어(12)는 내포된 가상 피어들(nested virtual peers)을 포함한다. 보다 구체적으로는, 스폰서 에이전트(30)는 가상 피어(12)(이 예에서, "Doe Family" 가상 피어임)를 생성 및 유지한다. "Doe Family" 가상 피어(12)는 스폰서 에이전트(30) 및 VP 멤버(24-28)를 포함한다. 이 예에서, VP 멤버(24)는 "John Doe" 가상 피어이고, VP 멤 버(26)은 "Jane Doe" 가상 피어이며, VP 멤버(28)는 PVR이다. VP 멤버(24)로 가서, 스폰서 에이전트(32)는 "John Doe" 가상 피어(스폰서 에이전트(32) 및 VP 멤버(34, 36)를 포함함)를 생성 및 유지한다. 이 예에서, VP 멤버(34, 36)는 "John Doe"이 소유하는 랩톱 및 모바일 전화이다. VP 멤버(26)의 경우, 스폰서 에이전트(38)는 "Jane Doe" 가상 피어(스폰서 에이전트(38) 및 VP 멤버(40)를 포함함)를 생성 및 유지한다. 이 예에서, VP 멤버(40)는 "Jane Doe"가 소유하는 퍼스널 컴퓨터(PC)이다. "Doe Family" 가상 피어(12)의 피어 ID를 사용하여, "Doe Family" 가상 피어(12)의 VP 멤버(24-28)는 단일의 피어 노드처럼 보인다. 그 자체로서, "Doe Family"로 정의된 일군의 사람들이 소유하는 많은 장치(28, 34, 36, 40)가 P2P 네트워크에서 단일의 피어 노드로서 어드레싱가능하다. 유의할 점은, 개별적인 스폰서 에이전트(30, 32, 38)가 도시되어 있지만, 3개의 가상 피어가 단일의 스폰서 에이전트를 사용하여 생성 및 유지될 수 있다는 것이다.
도 5는 본 발명에 관한 부가의 개념들을 나타낸 것이다. 보다 구체적으로는, 도 5는 스폰서 에이전트(30)가 2개 이상의 가상 피어를 생성 및 유지할 수 있고 VP 멤버가 2개 이상의 가상 피어의 멤버일 수 있다는 사실을 나타낸 것이다. 도시된 바와 같이, 스폰서 에이전트(30)는 가상 피어(12)(이 예에서, "John Doe" 가상 피어라고 함) 및 "Jane Doe" 가상 피어(42)를 생성 및 유지하는 동작을 한다. "John Doe" 가상 피어(12)는 VP 멤버(24-28)를 포함하는 반면, "Jane Doe" 가상 피어(42)는 VP 멤버(28) 및 VP 멤버(44, 46)를 포함한다. 따라서, VP 멤버(28)는 "John Doe" 가상 피어(12)와 "Jane Doe" 가상 피어(42) 둘다의 멤버이다.
다수의 가상 피어에서의 멤버쉽과 관련하여, 멤버쉽은 위치 및/또는 시간에 기초하여 동적으로 구성될 수 있다. 예를 들어, 모바일 장치는 GPS(Global Positioning System) 수신기, 기타 등등을 장착하고 있을 수 있다. 모바일 장치는 제1 위치에 또는 그 근방에 있을 때 제1 가상 피어에 가입하고 제2 위치에 또는 그 근방에 있을 때 제2 가상 피어에 가입하도록 구성될 수 있다. 일례로서, 모바일 장치는 사용자의 집에 또는 그 근방에 있을 때는 "홈" 가상 피어에 가입할 수 있고, 사용자의 사무실에 또는 그 근방에 있을 때는 "사무실" 가상 피어에 가입할 수 있다.
유사한 방식으로, 가상 피어에서의 멤버쉽은 하루 중 시간에 의존할 수 있다. 예를 들어, 장치가 오전 8시에서 오후 5시까지는 "직장" 가상 피어에 가입할 수 있고, 오후 5시에서 오후 10시까지는 "가정" 가상 피어에 가입할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 시스템(10)을 나타낸 것으로서, 시스템(10)은 가상 피어(12)를 포함하는 P2P 컨텐츠 공유 시스템을 형성한다. 시스템(10)은 본질적으로 도 1과 관련하여 상기한 것과 동일하다. 그렇지만, 가상 피어(12)를 보면, VP 멤버(24)는 공유 에이전트(48), 디지털 자산(50) 및 메타데이터(52)를 포함한다. 공유 에이전트(48)는 양호하게는 소프트웨어로 구현되지만, 본 발명은 그것으로 제한되지 않는다. 일반적으로, 공유 에이전트(48)는 VP 멤버(24)에 의해 호스팅되는 디지털 자산(50)의 전부 또는 그 일부분을 P2P 네트워크 내의 피어 노드(14-18) 및, 선택적으로, P2P 네트워크에 접속된 게스트 노드들과 공유하는 것을 가능하게 해주는 동작을 한다.
디지털 자산(50)은, 예를 들어, 이미지, 비디오, HTML(hypertext transfer markup language) 코드, 문서, 프리젠테이션, 스프레드쉬트, 그래픽, 오디오, 기타 등등을 포함할 수 있다. 메타데이터(52)는 일반적으로 디지털 자산(50) 및, 선택적으로, VP 멤버(24)를 설명하는 정보를 포함한다. 유의할 점은, 메타데이터(52)가 디지털 자산(50)과 분리되어 있는 것으로 도시되어 있지만, 어떤 디지털 자산 파일 유형은 메타데이터가 디지털 자산 파일 내에 저장될 수 있게 해준다. 예를 들어, JPEG(Joint Photographic Experts Group) 파일 형식은 메타데이터(키워드, 주석, 해상도, 크기, 카메라 설정, 이미지를 캡처한 카메라를 설명하는 정보, 캡처 날짜 및 시간, GPS 좌표 등의 위치, 기타 등등)가 이미지 파일 내에 저장될 수 있게 해준다. 메타데이터(52)는 VP 멤버(24)를 설명하는 정보도 포함할 수 있다. 예를 들어, VP 멤버(24)가 모바일 전화인 경우, 메타데이터(52)는, 선택적으로, 모바일 전화의 제조사 및 모델, 모바일 전화의 하드웨어 및 소프트웨어 능력(프로세서, 저장 장치 및 메모리 능력 등), 기타 등등을 포함할 수 있다.
이와 유사한 방식으로, VP 멤버(26)는 공유 에이전트(54), 디지털 자산(56), 및 메타데이터(58)를 포함하고, VP 멤버(28)는 공유 에이전트(60), 디지털 자산(62), 및 메타데이터(64)를 포함한다.
스폰서 노드(22)는 가상 피어(12)를 대신하여 메타데이터 카탈로그(66) 및 캐싱된 디지털 자산(68)을 저장하는 동작을 한다. 이하에서 설명하는 바와 같이, 메타데이터 카탈로그(66)는 VP 멤버(24-28)의 메타데이터(52, 58, 64)의 전부 또는 그 중 선택된 부분이다. 이와 마찬가지로, 캐싱된 디지털 자산(68)은 VP 멤버(24- 28)의 디지털 자산(50, 56, 62)의 전부 또는 그 중 선택된 부분이다. 메타데이터 카탈로그(66) 및 캐싱된 디지털 자산(68)은 양호하게는 캐쉬에 저장되며 VP 멤버(24-28)를 관여시키지 않고 P2P 네트워크 내의 피어 노드(14-18)로부터의 컨텐츠 공유 요청에 서비스하는 데 사용된다. 그렇지만, 메타데이터 카탈로그(66) 및 캐싱된 디지털 자산(68)은 그에 부가하여 또는 다른 대안으로서 하나 이상의 디지털 저장 장치(하나 이상의 하드 디스크 드라이브, 하나 이상의 광 저장 장치, 기타 등등)에 저장 또는 보존될 수 있다.
동작을 설명하면, 일 실시예에서, 메타데이터(52, 58, 64) 또는 그의 선택된 일부분은 능동적으로 스폰서 노드(22)에게 제공되거나 스폰서 노드(22)에 의해 획득된다. 보다 구체적으로는, 일례로서 VP 멤버(24)를 보면, VP 멤버(24)의 소유자 또는 사용자는 디지털 자산(50) 중 어느 것이 P2P 네트워크를 통해 공유되어야 하는지를 선택할 수 있다. 사용자는 공유될 디지털 자산(50, 56, 62)의 특정의 디지털 자산을 선택하고, 공유될 디지털 자산(50, 56, 62)의 특정의 디렉토리 또는 폴더를 선택하며, 공유될 특정의 파일 유형을 선택하고, 공유될 디지털 자산에 태깅하는 데 사용되거나 공유될 디지털 자산과 연관된 하나 이상의 키워드를 선택하며, 기타 등등을 할 수 있다. 그에 부가하여, 사용자는 공유할 디지털 자산(50, 56, 62) 중 하나를 식별하기 위한 시간-기반 또는 위치-기반 규칙을 정의할 수 있다. 본 명세서를 읽어보면, 사용자가 공유할 디지털 자산을 어떻게 선택할 수 있는지에 관한 많은 변형들이 당업자에게는 명백하게 될 것이다. 그에 부가하여, 예를 들어, VP 멤버(24)가 2개 이상의 가상 피어의 멤버인 경우, 사용자는 가상 피어들 각 각을 통해 디지털 자산(50) 중 어느 것이 공유되는지를 선택할 수 있다.
가상 피어(12)에의 등록 동안에, 공유될 디지털 자산(50)에 대한 메타데이터(52)와, 선택적으로, VP 멤버(24)에 대한 메타데이터의 일부분이 이어서 스폰서 에이전트(30)에게 제공될 수 있다. 이와 마찬가지로, VP 멤버(26, 28)의 가상 피어(12)에의 등록 동안에, 공유될 디지털 자산(56, 62)에 대한 메타데이터(58, 64)가 스폰서 에이전트(30)에게 제공될 수 있다. 다른 대안으로서, 스폰서 에이전트(30)는 사전 정의된 유형의 메타데이터만을 원할 수 있다. 예를 들어, 이미지의 경우, 스폰서 에이전트(30)는 파일 크기, 해상도, 이미지에 태깅하는 데 사용되는 키워드, 및 주석만을 원할 수 있다. 그 자체로서, 스폰서 에이전트(30)는 등록 동안에 원하는 유형의 메타데이터만을 VP 멤버(24-28)에 요청할 수 있거나 원하는 유형의 메타데이터를 VP 멤버(24-28)에게 통지할 수 있다. VP 멤버(24-28)는 이어서 공유될 디지털 자산(50, 56, 62)에 대한 메타데이터(52, 58, 64)를 필터링하고 이 필터링된 메타데이터를 스폰서 에이전트(30)로 전송할 수 있다. 다른 대안으로서, 스폰서 에이전트(30)는 VP 멤버(24-28)로부터의 메타데이터를 필터링할 수 있다.
다른 대안으로서, 스폰서 에이전트(30)는 인기있는 디지털 자산 또는 인기있는 토픽을 식별하고 인기있는 디지털 자산 또는 인기있는 토픽에 관계된 디지털 자산에 대한 메타데이터만을 원할 수 있다. 스폰서 에이전트(30)는, 예를 들어, 가상 피어(12)를 대신하여 수신된 요청을 모니터링함으로써, 스폰서 에이전트(30)에 의해 호스팅되는 가상 피어(12)를 포함한 다수의 가상 피어에 의해 수신된 요청을 모니터링함으로써, 또는 원격 서비스에 질의를 함으로써, 인기있는 디지털 자산 또 는 인기있는 토픽을 식별할 수 있다. 그 자체로서, 스폰서 에이전트(30)는 원하는 메타데이터만을 VP 멤버(24-28)에 요청할 수 있다. VP 멤버(24-28)는 이어서 공유될 디지털 자산(50, 56, 62)에 대한 메타데이터(52, 58, 64)를 필터링하고 필터링된 메타데이터를 스폰서 에이전트(30)로 전송할 수 있다. 다른 대안으로서, 스폰서 에이전트(30)는 VP 멤버(24-28)로부터의 메타데이터를 필터링할 수 있다.
스폰서 에이전트(30)가 VP 멤버(24-28)로부터의 메타데이터를 수신하면, 메타데이터 카탈로그(66)를 제공하기 위해 메타데이터가 통합되고, 이 메타데이터 카탈로그는 캐쉬에 저장 및/또는 디지털 저장 장치에 보존된다. VP 멤버(24-28)로부터의 메타데이터를 통합할 때, 스폰서 에이전트(30)는 민감한 메타데이터 또는 민감한 컨텐츠에 대한 메타데이터를 필터링, 즉 제거하기 위해 일반 보안 규칙을 적용할 수 있다. 예를 들어, 스폰서 에이전트(30)는 C:/WIND0WS 디렉토리에 대한 메타데이터를 제거하기 위해 VP 멤버(24-28)로부터의 메타데이터를 필터링할 수 있다. VP 멤버(24-28)로부터의 메타데이터를 통합할 때, 스폰서 에이전트(30)는 그에 부가하여 메타데이터를 원하는 디렉토리 구조로 재구조화(restructure)할 수 있다. 보다 구체적으로는, 스폰서 에이전트(30)는 VP 멤버(24-28)의 디렉토리 구조에 의해 구속받지 않는다. 따라서, VP 멤버(24-28)로부터의 메타데이터가 디지털 자산(50, 56, 62)의 특정의 디렉토리 구조를 나타낼 수 있지만, 스폰서 에이전트(30)는 그 자신의 원하는 디렉토리 구조를 생성하기 위해 재구조화 프로세스를 수행할 수 있다. 일반적으로, 스폰서 에이전트(30)는 임의의 메타데이터(예를 들어, 생성 일자, 토픽, 파일 크기 범위, 기타 등등)에 기초하여 VP 멤버(24-28)의 디렉토리 구조를 재구조화할 수 있다.
등록 동안에 VP 멤버(24-28)로부터 메타데이터를 능동적으로 획득하기보다는, 스폰서 에이전트(30)는 게으른 검색 방식(lazy retrieval scheme)을 구현할 수 있다. 일례로서 VP 멤버(24)를 사용하면, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 VP 멤버(24)에 의해 호스팅되는 디지털 자산에 대한 요청을 수신할 수 있다. 게으른 검색 방식에 따르면, 스폰서 에이전트(30)는 이어서 요청된 디지털 자산에 대한 메타데이터를 VP 멤버(24)에 요청할 수 있다. 그에 부가하여, 스폰서 에이전트(30)는, 예를 들어, 요청된 디지털 자산과 동일한 디렉토리에 저장되어 있는 VP 피어(26)에 의해 호스팅되는 모든 공유 디지털 자산에 대한 메타데이터를 VP 멤버(24)에 요청할 수 있다. 본 명세서를 읽어보면, 게으른 검색 방식의 다른 변형들이 당업자에게는 명백하게 될 것이다.
메타데이터(52, 58, 64)가 처음에 스폰서 노드(22)에 제공되어 메타데이터 카탈로그(66)에 저장되면, 스폰서 에이전트(30)는 메타데이터 카탈로그(66)를 업데이트하기 위해 VP 멤버(24-28)와 상호작용할 수 있다. 보다 구체적으로는, 제1 실시예에서, VP 멤버(24-28)는 업데이트를 스폰서 에이전트(30)로 푸시한다. 예를 들어, 새로운 디지털 자산이 VP 멤버(24)에 추가되는 경우, VP 멤버(24)는 새로운 디지털 자산에 대한 메타데이터를 스폰서 에이전트(30)로 푸시할 수 있다. 이와 유사한 방식으로, 디지털 자산이 VP 멤버(24)로부터 제거되는 경우, VP 멤버(24)는 업데이트를 스폰서 에이전트(30)로 푸시하여 스폰서 에이전트(30)에 디지털 자산의 제거를 통지할 수 있다. 제2 실시예에서, VP 멤버(24-28)는 메타데이터에 대한 업 데이트가 이용가능할 때 스폰서 에이전트(30)에 통지할 수 있다. 스폰서 에이전트(30)는 이어서 요망될 때에 업데이트를 요청할 수 있다. 제3 실시예에서, 스폰서 에이전트(30)는 업데이트가 있는 경우 주기적으로 업데이트를 VP 멤버(24-28)에 요청할 수 있다. 제4 실시예에서, 스폰서 에이전트(30)는 게으른 업데이트 방식에 따라 동작을 할 수 있으며, 이 경우 스폰서 에이전트(30)는 연관된 캐싱된 디지털 자산(68)에 대한 요청에 응답하여 또는 P2P 컨텐츠 발견 요청에 응답하여 메타데이터에 대한 업데이트를 획득한다.
유의할 점은, 스폰서 에이전트(30)가 VP 멤버(24-28) 각각에 대한 메타데이터 및 디지털 자산의 저장을 위해 할당된 저장 또는 캐쉬 공간의 양을 제어할 수 있다는 것이다. 일 실시예에서, VP 멤버(24-28) 각각은 VP 멤버(24-28)의 소유자가 가상 피어(12)에의 가입의 일부로서 수수료를 지불했는지 여부에 기초하여 우선순위를 배정받을 수 있다. 소유자가 수수료를 지불한 VP 멤버(24-28)는 높은 우선순위를 부여받을 수 있다. 스폰서 에이전트(30)는 이어서 VP 멤버(24-28)에 배정된 우선순위에 기초하여 저장 공간을 할당할 수 있다. 게다가, 스폰서 에이전트(30)가 2개 이상의 가상 피어를 호스팅하는 경우, 스폰서 에이전트(30)는, 예를 들어, 가상 피어들에 배정된 우선순위에 기초하여 가상 피어들 간의 저장 및 캐쉬 공간을 할당할 수 있다.
VP 멤버(24-28)로부터 메타데이터 및 메타데이터 업데이트를 획득하는 것에 부가하여, 스폰서 에이전트(30)는 스폰서 노드(22)에 캐싱된 디지털 자산(68)의 전부 또는 그 일부분을 제공하기 위해 VP 멤버(24-28)의 디지털 자산(50, 56, 62)의 전부 또는 선택된 일부분을 사전-캐싱 또는 저장하는 동작을 할 수 있다. 일 실시예에서, 스폰서 에이전트(30)는 메타데이터 카탈로그(66)를 사용하여 VP 멤버(24-28) 중 다수의 멤버에 저장되어 있는 디지털 자산을 식별하는 동작을 할 수 있다. 유의할 점은, 부하 분산, 기타 등등의 목적들을 위해 컨텐츠가 다수의 VP 멤버(24-28)에 의해 호스팅되는 경우, 메타데이터 카탈로그(66)가 동일한 컨텐츠에 대한 다수의 참조를 유지할 수 있다는 것이다. 예를 들어, 스폰서 에이전트(30)는 VP 멤버(24-28) 중 2개의 멤버에 저장되어 있는 특정의 디지털 자산을 식별할 수 있다. 그 자체로서, 스폰서 에이전트(30)는 VP 멤버(24-28) 중 하나로부터 특정의 디지털 자산을 획득하고 이 특정의 디지털 자산을 캐싱된 디지털 자산(68)의 하나로서 저장할 수 있다. 그 후에, 특정의 디지털 자산에 대한 모든 요청이 캐싱된 디지털 자산(68)으로부터 서비스된다.
다른 실시예에서, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 스폰서 에이전트(30)에 의해 수신된 이전의 요청들 및/또는 스폰서 에이전트(30)에 의해 호스팅되는 하나 이상의 부가의 가상 피어들을 대신하여 스폰서 에이전트(30)에 의해 수신된 요청들에 기초하여 인기있는 또는 자주 요청되는 디지털 자산 또는 토픽을 식별할 수 있다. 다른 대안으로서, 스폰서 에이전트(30)는 원격 서비스에 질의를 함으로써 인기있는 또는 자주 요청되는 디지털 자산을 식별할 수 있다. 예를 들어, 원격 서비스는 인기있는 디지털 자산 또는 인기있는 토픽을 식별하기 위해 P2P 내의 가상 피어들 또는 P2P 네트워크에서 행해진 요청들을 모니터링하는 서비스일 수 있다. 다른 예로서, 원격 서비스는 검색 요청에 기초하여 인기있는 디지 털 자산 또는 토픽을 식별하는 인터넷 검색 엔진 등의 원격 서비스일 수 있다. 스폰서 에이전트(30)는 이어서 인기있는 디지털 자산 또는 인기있는 토픽에 관계된 디지털 자산을 VP 멤버(24-28)로부터 획득하고 이 디지털 자산을 캐싱된 디지털 자산(68)의 하나로서 저장할 수 있다.
이와 유사한 방식으로, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 스폰서 에이전트(30)에 의해 수신된 이전의 요청들 및/또는 스폰서 에이전트(30)에 의해 호스팅되는 하나 이상의 부가의 가상 피어들을 대신하여 스폰서 에이전트(30)에 의해 수신된 요청들에 기초하여 인기있는 키워드를 식별할 수 있다. 다른 대안으로서, 스폰서 에이전트(30)는 원격 서비스에 질의를 함으로써 인기있는 키워드를 식별할 수 있다. 예를 들어, 원격 서비스는 인기있는 디지털 자산 또는 인기있는 토픽을 식별하기 위해 P2P 네트워크 내의 가상 피어들 또는 P2P 네트워크에서 행해진 요청들을 모니터링하는 서비스일 수 있다. 다른 예로서, 원격 서비스는 검색 요청에 기초하여 키워드를 식별하는 인터넷 검색 엔진 등의 원격 서비스일 수 있다. 스폰서 에이전트(30)는 이어서 인기있는 키워드로 태깅된 또는 인기있는 키워드와 연관된 디지털 자산을 VP 멤버(24-28)로부터 획득하고 이 디지털 자산을 캐싱된 디지털 자산(68)의 하나로서 저장할 수 있다.
유의할 점은, 상기한 사전-캐싱 방식이 예시적인 것이며 본 발명의 범위를 제한하기 위한 것이 아니라는 것이다. 본 명세서를 읽어보면, 다른 사전-캐싱 방식들이 당업자들에게는 명백하게 될 것이다.
메타데이터 카탈로그(66)를 사용하여, 스폰서 에이전트(30)는 컨텐츠 발견 요청에 효율적으로 서비스할 수 있다. 보다 구체적으로는, 스폰서 에이전트(30)는 P2P 네트워크 내의 노드(예를 들어, 피어 노드(14) 등)로부터 컨텐츠 발견 요청을 수신할 수 있다. 컨텐츠 발견 요청은 가상 피어(12)에 의해 호스팅되는 특정의 디지털 자산에 대한 것이거나, 가상 피어(12)에 의해 호스팅되는 특정 그룹 또는 유형의 디지털 자산에 대한 것이거나, 가상 피어(12)에 의해 호스팅되는 모든 디지털 자산에 대한 것이거나, 기타 등등에 대한 것일 수 있다. 예를 들어, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 특정의 키워드 또는 토픽으로 태깅되거나 다른 방식으로 그와 연관된 가상 피어(12)에 의해 호스팅되는 모든 디지털 자산에 대한 컨텐츠 발견 요청을 수신할 수 있다. 다른 예로서, 컨텐츠 발견 요청은 가상 피어(12)에 의해 호스팅되는 모든 컨텐츠에 대한 것일 수 있다.
컨텐츠 발견 요청에 응답하여, 스폰서 에이전트(30)는 컨텐츠 발견 요청을 만족시키는, 가상 피어(12)에 의해 호스팅되는 디지털 자산(50, 56, 62) 중의 디지털 자산을 식별하기 위해 메타데이터 카탈로그(66)를 검색할 수 있다. 스폰서 에이전트(30)는 이어서 식별된 디지털 자산들 각각에 대한 컨텐츠 참조를 포함하는 응답을 발생하여 요청측 노드로 전송한다. 컨텐츠 참조는 대응하는 디지털 자산 자산을 설명하는 메타데이터(예를 들어, 파일 이름, 파일 크기, 마지막 수정 일자, 및 생성 일자 등)의 전부 또는 그 일부분을 포함한다. 그에 부가하여, 컨텐츠 참조는 대응하는 디지털 자산에 대한 컨텐츠 페치 참조(content fetch reference)를 포함할 수 있다. 컨텐츠 페치 참조는 가상 피어(12)로 분석(resolve)될 수 있다. 다른 대안으로서, 스폰서 에이전트(30)의 바이패싱이 요망되는 경우, 컨텐츠 페치 참조는 디지털 자산을 호스팅하는 VP 멤버(24-28) 중 하나로 분석될 수 있다.
메타데이터 카탈로그(66)가 VP 멤버(24-28)에 의해 공유되는 디지털 자산(50, 56, 62)에 대한 메타데이터(52, 58, 64)의 일부분만을 포함하고 컨텐츠 발견 요청에 서비스할 수 없는 경우, 스폰서 에이전트(30)는 컨텐츠 발견 요청을 VP 멤버(24-28)로 전달할 수 있다. VP 멤버(24-28)는 이어서 스폰서 에이전트를 통해 컨텐츠 발견 요청에 응답하거나 요청측 노드에 직접 응답할 수 있다. 보다 구체적으로는, 일 실시예에서, VP 멤버(24-28)는 스폰서 에이전트(30)에 응답하고, 스폰서 에이전트(30)는 응답들을 통합하여 통합된 응답을 요청측 노드에 제공한다. 다른 실시예에서, VP 멤버(24-28) 각각은 요청측 노드에 응답을 제공하기 위해 스폰서 에이전트(30)를 바이패스할 수 있다. 앞서 설명한 바와 같이, VP 멤버(24-28)는 가상 피어(12)를 대신하여 응답을 제공하기 위해 가상 피어(12)의 자격 증명을 사용할 수 있다.
캐싱된 디지털 자산(68)을 사용하여, 스폰서 에이전트(30)는 또한 컨텐츠 요청에 효율적으로 서비스할 수 있다. 보다 구체적으로는, 피어 노드(14)가 특정의 디지털 자산에 대한 요청을 가상 피어(12)로 전송하는 것으로 가정하면, 스폰서 에이전트(30)는 가상 피어(12)를 대신하여 그 요청을 수신한다. 요청된 디지털 자산이 스폰서 노드(22)에 캐싱 또는 저장되어 있는 캐싱된 디지털 자산(68) 중 하나인 경우, 스폰서 에이전트(30)는 요청된 디지털 자산을 획득하고 요청된 디지털 자산을 피어 노드(14)로 전송함으로써 요청에 서비스한다. 디지털 자산을 피어 노드(14)로 전송하기 전에, 스폰서 에이전트(30)는 디지털 자산이 수정되었는지 여부 를 판정하기 위해 디지털 자산을 호스팅하는 VP 멤버(24)에 질의를 할 수 있다. 디지털 자산이 수정된 경우, 스폰서 에이전트(30)는 요청을 VP 멤버(24)로 전달할 수 있다. 디지털 자산이 수정되지 않은 경우, 스폰서 에이전트(30)는 요청에 서비스한다.
요청된 디지털 자산이 캐싱된 디지털 자산(68) 중 하나가 아닌 경우, 스폰서 에이전트(30)는 요청을 VP 멤버(24-28) 중 하나 이상으로 전달한다. 이어서, 상기한 바와 같이, 요청된 디지털 자산을 호스팅하는 VP 멤버(24-28) 중 하나 이상은 요청된 디지털 자산을 스폰서 노드(22)로 전송할 수 있고, 스폰서 에이전트(30)는 이어서 요청된 디지털 자산을 피어 노드(14)로 전송하고, 선택적으로 요청된 디지털 자산을 캐싱된 디지털 자산(68) 중 하나로서 캐싱할 수 있다. 다른 대안으로서, 스폰서 에이전트(30)는, 상기한 바와 같이, 요청된 디지털 자산을 호스팅하는 VP 멤버(24-28) 중 하나 이상과 피어 노드(14) 간의 바이패스 접속을 실시하는 동작을 할 수 있다.
디지털 자산으로서 캐싱되어 있는 디지털 자산이 요청되어 스폰서 에이전트(30)를 통해 전송될 때, 스폰서 에이전트(30)는 또한 중복 디지털 자산을 식별하기 위해 캐싱된 디지털 자산(68) 및/또는 캐싱된 디지털 자산(68)에 대한 메타데이터를 모니터링하는 동작을 할 수 있다. 중복 디지털 자산은, 이 중복 디지털 자산이 스폰서 에이전트(30)에 의해 호스팅되는 서로 다른 가상 피어에 대해 캐싱되어 있는지에 상관없이, 동일하거나 본질적으로 동일한 디지털 자산인 2개 이상의 디지털 자산의 그룹이다. 중복 디지털 자산이 식별된 경우, 중복된 것들 중 하나 이외 의 모든 것은 캐싱된 디지털 자산(68)으로부터 제거될 수 있다. 그 후에, 중복 디지털 자산 중 임의의 것에 대한 요청이 캐싱된 디지털 자산(68)에 유지된 중복 디지털 자산 중 하나를 사용하여 서비스될 수 있다.
컨텐츠 발견 요청 및 컨텐츠 요청 둘다에 서비스할 때, 스폰서 에이전트(30)는 가상 피어(12)에 대한 일반 공유 규칙 또는 VP 멤버(24-28) 각각에 대한 공유 규칙을 적용할 수 있다. 공유 규칙은 일반적으로 가상 피어(12)에 의해 공유되는 디지털 자산 또는 다른 대안으로서 VP 멤버(24-28)에 의해 공유되는 디지털 자산에 누가 액세스하도록 허용되어 있는지를 정의한다. 게다가, VP 멤버(24-28)는 디렉토리 또는 폴더 등의 일군의 디지털 자산, 특정의 키워드로 태깅된 일군의 디지털 자산, 파일 유형, 기타 등등에 대한 다른 공유 규칙들을 가질 수 있다. 그에 부가하여 또는 다른 대안으로서, 클라이언트 능력에 기초한 공유 규칙이 스폰서 에이전트(30)에 의해 정의되어 사용될 수 있다. 피어 노드(14)의 능력 등의 클라이언트 능력이, 예를 들어, 컨텐츠에 대한 요청의 일부로서 스폰서 에이전트(30)에 제공될 수 있다. 일례로서, 공유 규칙이, 1MB보다 큰 파일 크기를 갖는 디지털 자산을 요청할 때, 클라이언트가 요청된 디지털 자산에 액세스하기 위해서는 클라이언트 접속 속도가 20kbps보아 커야 하는 것으로 되어 있을 수 있다. 본 명세서를 읽어보면, 여러가지 클라이언트 능력에 기초한 다른 공유 규칙들이 당업자에게는 명백하게 될 것이다.
컨텐츠 발견 요청 및 컨텐츠 요청을 처리하는 것 이외에, 스폰서 에이전트(30)는 가상 피어(12)에 의해 공유되는 디지털 자산(50, 56, 62)을 보거나 다른 방식으로 소비할 손님을 초대하는 초대장을 자동으로 전송하기 위해 메타데이터 카탈로그(66) 및 메타데이터 카탈로그(66)에 대한 업데이트를 사용할 수 있다. 보다 구체적으로는, VP 멤버(24-28)의 개개의 소유자 및/또는 가상 피어(12)의 소유자는 다수의 손님을 식별하고 각각의 손님이 초대되어 소비할 디지털 자산을 정의한다. 손님들은 P2P 네트워크에서의 피어이거나 피어가 아닐 수 있다. 특정의 손님이 초대되어 보게 될 디지털 자산은 하나 이상의 디렉토리 이름, 디지털 자산을 태깅하는 데 사용되는 하나 이상의 키워드, 파일 이름, 파일 유형, 기타 등등에 의해 식별될 수 있다. 손님들이 볼 수 있는 디지털 자산을 식별하기 위한 이들 기준은 예시적인 것이며 본 발명의 범위를 제한하기 위한 것이 아니다.
동작을 설명하면, 가상 피어(12)의 소유자는 초대장을 자동으로 제공받을 손님들의 리스트를 생성할 수 있다. 각각의 손님에 대해, 피어 노드(14)의 소유자는 그 손님이 초대되어 보거나 다른 방식으로 소비할 디지털 자산 또는 디지털 자산의 유형을 식별한다. 그 후에, 스폰서 에이전트(30)는 손님들이 초대되어 보게 될 VP 멤버(24-28)에 의해 호스팅되는 디지털 자산을 식별하기 위해 메타데이터 카탈로그(66) 및 메타데이터 카탈로그(66)에 대한 업데이트를 분석한다. 스폰서 에이전트(30)는 이어서, 예를 들어, 손님들이 초대되어 소비하게 될 디지털 자산으로의 하나 이상의 링크를 포함하는 초대장을 손님들에게 전송한다. 일 실시예에서, 이 초대장은 이메일을 통해 손님들에게 제공된다. 그렇지만, 본 발명은 그것으로 제한되지 않는다. 예를 들어, 초대장은 다른 대안으로서 인스턴트 메시징(IM)을 사용하여 전송되어도 된다.
이와 마찬가지로, VP 멤버(24-28)의 소유자 각각은 손님들의 리스트 및 손님들 각각이 소비하도록 허용되어 있는 디지털 자산 또는 디지털 자산의 유형을 식별할 수 있다. 예를 들어, VP 멤버(24)의 소유자 또는 사용자는 손님들의 리스트를 정의하고 손님들 각각이 초대되어 소비할 디지털 자산 또는 디지털 자산의 유형을 식별할 수 있다. VP 멤버(24)의 소유자의 손님들은 VP 멤버(24)에 의해 호스팅되는 디지털 자산(50)으로 제한될지도 모른다. 다른 대안으로서, 손님들에 대한 초대 규칙에 따라, 예를 들어, VP 멤버(24)의 손님들은 가상 피어(12) 내의 VP 멤버(24-28)에 의해 호스팅되는 디지털 자산(50, 56, 62)을 소비하도록 허용되어 있을 수 있다. 손님들의 리스트 및 손님들이 초대되어 소비하게 될 디지털 자산을 식별하는 규칙이 스폰서 에이전트(30)에 제공된다. 스폰서 에이전트(30)는 VP 멤버(24)의 소유자의 손님들이 초대되어 소비하게 될 VP 멤버(24) 또는 다른 대안으로서 VP 멤버(24-28)에 의해 호스팅되는 디지털 자산을 식별하기 위해 메타데이터 카탈로그(66) 및 메타데이터 카탈로그(66)에 대한 업데이트를 분석한다. 스폰서 에이전트(30)는 이어서 식별된 디지털 자산을 소비하도록 손님들을 초대하는 초대장을 손님들에게 전송한다.
스폰서 에이전트(30)는 또한 RSS(Really Simple Syndication) 피드, Atom 피드, 기타 등등을, 예를 들어, P2P 네트워크 또는 인터넷을 통해 피어 노드(14-18) 또는 다른 잠재 손님들에게 제공할 수 있다. 일반적으로, RSS 피드, Atom 피드, 기타 등등은 본 명세서에서 웹 피드라고 한다. 보다 구체적으로는, 일례로서, 피어 노드(14)의 소유자는 가상 피어(12)에 대한 RSS 피드를 수신하기 위해 스폰서 에이전트(30) 또는 어떤 중앙 서비스에 등록을 할 수 있다. 그 후에, 스폰서 에이전트(30)는 메타데이터 카탈로그(66) 및 메타데이터 카탈로그(66)에 대한 업데이트에 기초하여 RSS 피드를 발생한다. RSS 피드를 사용하여, 피어 노드(14)의 소유자는 가상 피어(12)에 의해 호스팅되는 디지털 자산 및 가상 피어(12)에 최근에 추가된, 가상 피어(12)로부터 제거된, 또는 수정된 디지털 자산, 또는 최근에 수정된 메타데이터를 갖는 가상 피어(12)에 의해 호스팅되는 디지털 자산을 설명하는 정보를 손쉽게 얻을 수 있다.
스폰서 에이전트(30)는 또한 피어 노드(14-18)의 사용자와 같은 사용자가 메타데이터 카탈로그(66)에 저장된 메타데이터를 수정하거나 추가할 수 있게 해줄 수 있다. 예를 들어, 피어 노드(14)의 사용자는 가상 피어(12)에 의해 공유되는 비디오를 볼 수 있고 비디오의 메타데이터에 주석, 키워드, 또는 평가를 추가하고자 할 수 있다. 비디오의 메타데이터가 메타데이터 카탈로그(66)에 저장되어 있는 것으로 가정하면, 스폰서 에이전트(30)는 피어 노드(14)의 사용자가 주석, 키워드 또는 평가를 추가하기 위해 메타데이터 카탈로그(66)에 저장되어 있는 비디오의 메타데이터를 수정할 수 있게 해줄 수 있다. 그 후에, 스폰서 에이전트(30)는 메타데이터에 대한 업데이트를 비디오를 호스팅하는 VP 멤버(24-28)로 전송하거나 전송하지 않을 수 있다.
가상 피어(12)의 소유자 및/또는 VP 멤버(24-28)의 소유자는 수정을 위해 메타데이터 카탈로그(66)에 액세스하는 것을 제어하기 위한 보안 규칙을 정의할 수 있다. 보안 규칙은 메타데이터 카탈로그(66) 내의 메타데이터를 수정할 수 있는 사용자의 리스트, 사용자가 메타데이터 카탈로그(66) 내의 메타데이터를 수정하도록 허용되기 전에 사용자에 의해 입력되어야 하는 패스워드, 기타 등등일 수 있다. 게다가, 보안 규칙은 일반적이거나 특정의 디지털 자산 또는 일군의 디지털 자산에 대한 메타데이터에 특유한 것일 수 있다. 예를 들어, VP 멤버(24)의 소유자는 VP 멤버(24)에 있는 디지털 자산을 저장하는 다수의 디렉토리 각각에 대해 또는 다수의 디지털 자산(50) 그룹 각각에 대해(이 경우, 그룹들은 디지털 자산(50)을 태깅하는 데 사용된 키워드에 기초하여 형성됨) 개별적인 보안 규칙을 정의할 수 있다. 유의할 점은, 보안 규칙이 스폰서 에이전트(30)에서는 물론 VP 멤버(24)에서 실행될 수 있다는 것이다. 게다가, 보안 규칙의 계층 구조에서 스폰서 에이전트(30)의 규칙은 VP 멤버(24)의 규칙에 우선할 수 있다.
일 실시예에서, 스폰서 에이전트(30)는 메타데이터 카탈로그 내의 메타데이터에 대한 수정을 VP 멤버(24-28)로 전송하지 않는다. 다른 실시예에서, 스폰서 에이전트(30)는 그 메타데이터 또는 그 수정의 일부를 VP 멤버(24-28)로 전달할 수 있다. 보다 구체적으로는, 제1 예로서, 스폰서 에이전트(30)는 업데이트를 VP 멤버(24-28)에 제공하기 전에 메타데이터에 추가된 노골적인 또는 저속한 주석 또는 키워드를 제거하기 위해 수정을 필터링할 수 있다. 다른 예로서, 스폰서 에이전트(30)는 선택된 사용자들에 의해 행해진 수정만을 VP 멤버(24-28)에게 제공할 수 있다. 선택된 사용자는 메타데이터 카탈로그(66)에 저장된 메타데이터를 수정하도록 허용된 사용자들의 정의된 서브셋일 수 있다. 이와 유사한 방식으로, 스폰서 에이전트(30)는 VP 멤버(24-28)에게 업데이트를 자동으로 제공하기보다는 메타데이 터에 대한 업데이트를 VP 멤버(24-28)에게 통지할 수 있다. VP 멤버(24-28)는 이어서 원하는 경우 업데이트를 요청할 수 있다.
유의할 점은, 메타데이터에 대한 수정이 VP 멤버(24-28)에게 제공되지 않고 스폰서 노드(22)가 VP 멤버(24-28)의 메타데이터(52, 58, 64) 전부를 저장하지 않는 경우, 스폰서 에이전트(30)는 메타데이터 카탈로그(66)에 대해 사용된 캐싱 방식으로 메타데이터가 수정되어 있는지 여부를 고려할 수 있다.
이상의 설명은 소유권에 기초하여 가상 피어들을 형성하는 것에 중점을 두었다. 보다 구체적으로는, 상기한 바와 같이, 가상 피어는 소유자 또는 일군의 소유자와 연관될 수 있다. 그 자체로서, 가상 피어의 동일한 소유자 또는 일군의 소유자 중 하나에 의해 소유된 가상 피어 멤버들이 식별되고 가상 피어를 형성하는 데 사용된다. 도 7 내지 도 13은 가상 피어들이 가상 피어 멤버들의 소유자 또는 사용자를 설명하는 메타데이터, 가상 피어 멤버들에 의해 호스팅되는 컨텐츠, 즉 디지털 자산을 설명하는 메타데이터, 가상 피어 멤버들을 설명하는 메타데이터, 또는 이들의 임의의 조합에 기초하여 형성되는 실시예들을 나타낸 것이다.
도 7은 본 발명의 다른 실시예에 따른, 스폰서 에이전트(30)가 메타데이터에 기초하여 다수의 가상 피어(70-1 내지 70-N)를 형성하는 시스템(10)을 나타낸 것이다. 유의할 점은, 이 예시에서 또한 모든 차후의 예시들에서, 가상 피어(70-1 내지 70-N)가 스폰서 에이전트(30) 내에서 원으로 나타내어져 있다는 것이다. 그렇지만, 가상 피어(70-1 내지 70-N)가 스폰서 에이전트(30) 및 스폰서 노드(22)에 통신 연결되어 있는 대응하는 VP 멤버(72-1 내지 72-M)에 의해 형성된다는 것을 잘 알 것이다. VP 멤버(72-1 내지 72-M)는 P2P 네트워크 내의 피어 노드, 다른 가상 피어, 독립적인 사용자 장치, 웹 서버, 프록시 서버, 기타 등등일 수 있으며, P2P 네트워크, 네트워크(20), 직접 유선 접속, 로컬 무선 접속, 기타 등등을 통해 스폰서 노드(22)에 통신 연결될 수 있다.
상기한 바와 같이, 시스템(10)은 피어 노드(14-18) 및 스폰서 노드(22)(각각이 네트워크(20)에 통신 연결되어 있음)를 포함한다. 이 실시예에서, 스폰서 노드(22)는 스폰서 에이전트(30)를 호스팅하고, 스폰서 에이전트(30)는 가상 피어(70-1 내지 70-N)를 생성 및 유지, 즉 호스팅하는 동작을 한다. 이하에서 설명하는 바와 같이, 가상 피어(70-1 내지 70-N)는 시스템 정의되거나 사용자 정의될 수 있다. 스폰서 노드(22)는 또한 메타데이터 데이터베이스(74) 및 VP 프로파일 데이터베이스(76)도 포함하고 있다. 메타데이터 데이터베이스(74)는 VP 멤버(72-1 내지 72-M)로부터의 메타데이터를 포함하고 있다. 메타데이터는 VP 멤버(72-1 내지 72-M)의 사용자 또는 소유자 및/또는 VP 멤버(72-1 내지 72-M)의 사용자 또는 소유자의 취미 및 관심을 설명하는 사용자 메타데이터, VP 멤버(72-1 내지 72-M)에 의해 호스팅되는 컨텐츠, 즉 디지털 자산을 설명하는 컨텐츠 메타데이터, VP 멤버(72-1 내지 72-M)를 설명하는 VP 멤버 메타데이터, 또는 이들의 임의의 조합을 포함할 수 있다. VP 프로파일 데이터베이스(76)는 가상 피어(70-1 내지 70-N) 각각에 대한 프로파일을 포함하고 있다. 가상 피어(70-1 내지 70-N) 각각에 대해, 대응하는 프로파일은 가상 피어에 대한 멤버들을 선택하기 위한 하나 이상의 선택 기준을 포함한다. 그에 부가하여, 프로파일은, 예를 들어, 가상 피어를 설명하는 정보도 포함할 수 있다.
이하에서 설명하는 바와 같이, 가상 피어(70-1 내지 70-N)에 대한 선택 기준과 잠재적 VP 멤버(72-1 내지 72-M)에 대한 메타데이터의 비교에 기초하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1 내지 72-M) 각각에 대한 가상 피어(70-1 내지 70-N) 중 하나 이상을 식별 또는 선택하고, 여기서 잠재적 VP 멤버(72-1 내지 72-M)는 이어서 가상 피어(70-1 내지 70-N) 중 선택된 것의 VP 멤버로서 등록된다. 가상 피어(70-1 내지 70-N)의 멤버들이 식별되면, 스폰서 에이전트(30)는 가상 피어(70-1 내지 70-N)를 P2P 네트워크에 등록한다. 유의할 점은, 가상 피어(70-1 내지 70-N)가 다른 대안으로서 가상 피어(70-1 내지 70-N) 각각의 VP 멤버가 식별되기 전에 P2P 네트워크에 등록될 수 있다는 것이다.
가상 피어(70-1 내지 70-N)는 시스템 정의되거나 사용자 정의될 수 있다. 일 실시예에서, 가상 피어(70-1 내지 70-N)는 사전 정의되고, 가상 피어(70-1 내지 70-N)에 대한 프로파일은 VP 프로파일 데이터베이스(76)에 저장된다. 따라서, 환언하면, 스폰서 에이전트(30)는 사전 정의된 세트 또는 리스트의 가상 피어를 호스팅한다. 다른 실시예에서, 스폰서 에이전트(30)는 온톨로지를 저장하거나 그에 액세스한다. 예시적인 온톨로지의 일부분이 도 8에 도시되어 있다. 도시된 바와 같이, 온톨로지는 "공상 과학" 및 "스타 트렉"과 같은 다수의 상호 관련된 노드들을 포함한다. 유의할 점은, 온톨로지가 스폰서 노드(22)에서 VP 프로파일 데이터베이스(76)에 로컬적으로 저장될 수 있거나 원격 서비스로부터 획득될 수 있다는 것이다. 그에 부가하여, 온톨로지는 사전 정의되거나 제3자 컨텐츠에 기초하여 자동으 로 발생될 수 있다. 예를 들어, 스폰서 에이전트(30) 또는 원격 서비스는 온톨로지를 제공하기 위해 http://en.wikipedia.org/에 의해 제공되는 것과 같은 제3자 컨텐츠를 모니터링 및 분석할 수 있다. 예를 들어, 키워드 밀도 또는 자연어 분석을 사용하여, 온톨로지 내의 각각의 노드, 즉 토픽에 대해 키워드의 리스트가 생성될 수 있다. 키워드는 이어서 온톨로지 내의 노드들에 대한 선택 기준으로서 사용될 수 있다.
도 7로 돌아가서, 온톨로지 내의 각각의 노드는 연관된 선택 기준을 가지며 가상 피어(70-1 내지 70-N) 중 하나에 대응한다. 온톨로지에서의 관계를 사용함으로써, 스폰서 에이전트(30)는 가상 피어(70-1 내지 70-N)에 대한 멤버쉽 밀도(membership density)를 제어할 수 있다. 예를 들어, 가상 피어(70-1 내지 70-N)는 각각 "공상 과학" 가상 피어, "Blade Runner" 가상 피어, 및 "Blood of Heroes" 가상 피어일 수 있다. 처음에, 멤버쉽이 낮을 때, "공상 과학" 가상 피어(70-1)만이 활성일 수 있다. 그렇지만, "공상 과학" 가상 피어(70-1)에서의 멤버쉽이 문턱값을 초과하면, 스폰서 에이전트(30)는 가상 피어(70-2 내지 70-3)를 활성화시키고, "공상 과학" 가상 피어(70-1)의 멤버들을 가상 피어(70-2 내지 70-3)에 재할당하며, 이어서 "공상 과학" 가상 피어(70-1)를 비활성화시킨다. 이와 같이, 스폰서 에이전트(30)는 가상 피어(70-1 내지 70-N)에 대한 멤버쉽 밀도를 제어할 수 있다.
다른 실시예에서, 가상 피어(70-1 내지 70-N)는 사용자 정의된다. 보다 구체적으로는, VP 멤버(72-1)의 사용자와 같은 사용자는 사용자 정의된 가상 피어에 대한 프로파일을 정의하기 위해 스폰서 에이전트(30)와 상호작용할 수 있다. 사용자 정의된 가상 피어에 대한 프로파일은 가상 피어에 대한 선택 기준, 가상 피어의 설명, 관리 규칙, 어느 사용자가 가상 피어에 액세스할 수 있는지를 정의하는 액세스 제어 규칙, 기타 등등을 포함할 수 있다. 관리 규칙은 가상 피어에 대한 선택 기준을 변경할 수 있는, 액세스 제어 규칙을 변경할 수 있는, 기타 등등을 할 수 있는 사용자를 정의하는 정책을 포함할 수 있다. 유의할 점은, 사용자 정의된 가상 피어가 다수의 사용자에 의해 관리되도록 구성될 수 있다는 것이다. 그에 부가하여, 스폰서 에이전트(30)는 무효화 정책(overriding policy)을 시행할 수 있다. 예를 들어, 비프리미엄 사용자(non-premium user)(서비스에 대한 수수료를 지불하지 않는 사용자일 수 있음)에 의해 소유된 사용자-정의 가상 피어는 10GB의 디지털 자산 또는 1000개의 총 멤버로 제한될 수 있다. 총 멤버는 내포된 가상 피어의 멤버를 포함한다. 보안 규칙과 같이, 관리 규칙도 스폰서 에이전트(30)에 의해 또는 스폰서 에이전트(30) 및 VP 멤버(72-1) 둘다에 의해 실행될 수 있다.
도 7의 시스템(10)에서, 잠재적 VP 멤버(72-1 내지 72-M)는 메타데이터를 스폰서 에이전트(30)와 공유한다. 다른 대안으로서, 보안을 위해, 실제의 메타데이터를 스폰서 에이전트(30)와 공유하기보다는, VP 멤버(72-1 내지 72-M)는 VP 멤버(72-1 내지 72-M)의 메타데이터를 설명하는 온톨로지 점수(ontological score)를 제공할 수 있다. 보다 구체적으로는, 컨텐츠, 즉 디지털 자산에 대해, 컨텐츠 온톨로지가 잠재적 VP 멤버(72-1 내지 72-M)에게 제공될 수 있다. 잠재적 VP 멤버(72-1 내지 72-M)는 이어서 온톨로지 내의 각각의 노드에 대한 사전 정의된 술 어(predicate)를 사용하여 그의 컨텐츠 메타데이터를 컨텐츠 온톨로지와 비교함으로써 컨텐츠 온톨로지의 노드에 점수를 매길 수 있다. 이 점수는 이어서 역으로 스폰서 에이전트(30)에게 제공될 수 있으며, 여기서 컨텐츠 온톨로지 및 점수는 잠재적 VP 멤버(72-1 내지 72-M)의 컨텐츠 메타데이터를 설명한다. 이와 유사한 방식으로, 잠재적 VP 멤버(72-1 내지 72-M)의 사용자 또는 소유자를 설명하는 메타데이터에 대해 사용자 온톨로지에 점수가 매겨질 수 있고, 잠재적 VP 멤버(72-1 내지 72-M)를 설정하는 메타데이터에 대해 장치 능력 온톨로지에 점수가 매겨질 수 있다. 온톨로지 내의 노드에 점수를 매기는 부가의 상세에 대해, 관심있는 사람은 2006년 2월 22일자로 출원된 발명의 명칭이 "Methods, Systems, and Products for Characterizing Target Systems(타겟 시스템을 분석하는 방법, 시스템 및 제품)"인 미국 특허 출원 제11/359,632호를 참조하기 바하며, 이 미국 특허 출원은 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다. 메타데이터 또는 온톨로지 점수에 기초하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1 내지 72-M) 각각을 가상 피어(70-1 내지 70-N) 중 선택된 것의 VP 멤버로서 등록한다.
도 9는 본 발명의 일 실시예에 따른, 도 7의 스폰서 에이전트(30)의 동작을 나타낸 것이다. 이 예는 VP 멤버(72-1)에 중점을 두고 있다. 그렇지만, 이 설명은 나머지 VP 멤버(72-2 내지 72-M)에 똑같이 적용가능하다. 유의할 점은, 상기한 바와 같이, 허가된 가상 피어에의 등록이 완료될 때까지 VP 멤버(72-1)를 잠재적 VP 멤버라고 한다는 것이다. 먼저, 잠재적 VP 멤버(72-1)가 스폰서 에이전트(30)에 등록을 한다(단계 600). 등록 동안에, 잠재적 VP 멤버(72-1)는 메타데이터를 스폰서 에이전트(30)에게 제공한다. 메타데이터는, 예를 들어, XML(Extensible Markup Language) 파일로서 제공될 수 있다. 도 10A 및 도 10B는 예시적인 메타데이터를 나타낸 것이다. 상기한 바와 같이, 메타데이터는 잠재적 VP 멤버(72-1)의 사용자 또는 소유자를 설명하는 메타데이터(예를 들어, 잠재적 VP 멤버(72-1)의 사용자 또는 소유자의 취미 및 관심을 포함함), 잠재적 VP 멤버(72-1)에 의해 호스팅되는 디지털 자산, 즉 컨텐츠를 설명하는 메타데이터, 잠재적 VP 멤버(72-1)를 설명하는 메타데이터(잠재적 VP 멤버(72-1)의 능력 등), 또는 이들의 임의의 조합을 포함할 수 있다.
도 9로 돌아가서, 메타데이터를 스폰서 에이전트(30)에게 제공하기보다는, 잠재적 VP 멤버(72-1)는 다른 대안으로서 컨텐츠 온톨로지, 사용자 온톨로지, 또는 장치 능력 온톨로지 중 하나 이상에 대한 온톨로지 점수를 제공할 수 있으며, 여기서 온톨로지 점수 및 온톨로지는 잠재적 VP 멤버(72-1)의 메타데이터를 설명한다.
그 다음에, 가상 피어(70-1 내지 70-N)에 대한 선택 기준과 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 온톨로지 점수의 비교에 기초하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)가 추가될 수 있는 가상 피어(70-1 내지 70-N) 중 하나 이상을 선택한다(단계 602). 예시적인 선택 기준으로는, 잠재적 VP 멤버(72-1)가 "Flashpoint" 네트워크의 일부이어야 하고 단어 "스타 트렉" 또는 "트렉"을 포함하는 메타데이터를 갖는 5개 이상의 공유된 디지털 자산을 호스팅해야 한다는 것, VP 멤버(72-1)에 의해 호스팅되는 디지털 자산의 5%가 단어 "스타 트렉" 또는 "트렉"을 포함하는 메타데이터를 가져야 한다는 것, 잠재적 VP 멤버(72-1)가 단어 "스타 트렉" 또는 "트렉"을 포함하는 메타데이터를 갖는 디지털 자산(독자적인 것이거나 가상 피어에 의해 아직 호스팅되지 않은 것임)을 호스팅해야 한다는 것, 잠재적 VP 멤버(72-1)가 단어 "스타 트렉" 또는 "트렉"을 포함하는 메타데이터를 갖는 디지털 자산을 호스팅해야 하고 단어 "스타 트렉" 또는 "트렉"을 포함하는 메타데이터를 갖는 가상 피어에 의해 호스팅되는 디지털 자산의 전부의 파일 크기의 합이 100GB 등의 문턱값보다 작은 것, 잠재적 VP 멤버(72-1)가 "Warcraft"를 포함하는 메타데이터를 갖는 디지털 자산을 호스팅해야 하고 "Runescape" 가상 피어의 멤버가 아니어야 한다는 것, 또는 잠재적 VP 멤버(72-1)가 "Warcraft"를 포함하는 메타데이터를 갖는 디지털 자산을 호스팅해야 하고 잠재적 VP 멤버(72-1)의 소유자 또는 사용자가 프리미엄 사용자이며 잠재적 VP 멤버(72-1)의 처리 능력 이력이 50kbps보다 크다는 것이 있을 수 있다. 다시 말하지만, 이들 선택 기준은 예시적인 것이며, 본 발명의 범위를 제한하기 위한 것이 아니다. 게다가, 선택 기준은 평균값(average or mean value) 등의 여러가지 통계적 기준, 프리미엄, 보통 또는 무료 등의 가입 기준, 또는 잠재적 VP 멤버(72-1)의 신뢰성, 잠재적 VP 멤버(72-1)의 사용량 또는 잠재적 VP 멤버(72-1)의 기여도 등의 이력 정보를 포함할 수 있다. 선택 기준은 또한, 예를 들어, 인코딩 레이트, 품질, 평가, 컨텐츠를 전송한 사용자, 해상도, 오디오 품질, 기타 등등의 컨텐츠 메타데이터에 관한 컨텐츠 관련 기준도 포함할 수 있다.
스폰서 에이전트(30)가 잠재적 VP 멤버(72-1)에 대한 가상 피어들을 선택하였으면, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)를 선택된 가상 피어에 추가 해도 좋다는 허가(authorization)에 대한 요청을 잠재적 VP 멤버(72-1)로 전송한다(단계 604). 그렇지만, 유의할 점은 권한 부여가 선택적이라는 것이다. 잠재적 VP 멤버(72-1)는 이어서 선택된 가상 피어 중 하나 이상에 추가되어도 좋다는 허가를 반환한다(단계 606). 이에 응답하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)를 허가된 가상 피어에 추가한다(단계 608). 이 시점에서, 잠재적 VP 멤버(72-1)는 허가된 가상 피어의 VP 멤버(72-1)이다.
허가와 관련하여, 잠재적 VP 멤버(72-1)의 사용자 또는 소유자는 잠재적 VP 멤버(72-1)가 선택된 가상 피어 각각에 가입해도 좋다고 허가되는지 여부를 수동으로 선택할 수 있다. 사용자 또는 소유자의 부담을 덜어주기 위해, 잠재적 VP 멤버(72-1) 또는 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)에 대한 허가 이력을 유지할 수 있으며, 이 허가 이력은 잠재적 VP 멤버(72-1)가 가입해도 좋다고 이전에 허가되었던 가상 피어들 및 잠재적 VP 멤버(72-1)가 가입해도 좋다고 허가되지 않았던 가상 피어들의 기록이다. 유의할 점은, 가상 피어(70-1 내지 70-N)에 대한 허가 이력이 가상 피어(70-1 내지 70-N)에 대한 우선순위를 할당하는 데 사용될 수 있다는 것이다. 허가 이력에 기초하여, 잠재적 VP 멤버(72-1) 또는 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)가 특정의 가상 피어에 가입해도 좋다고 허가되어야 하는지 여부를 암시할 수 있거나 잠재적 VP 멤버(72-1)를 가상 피어에 추가하는 것을 자동으로 허가할 수 있다. 그에 부가하여 또는 다른 대안으로서, 잠재적 VP 멤버(72-1)의 사용자 또는 소유자는 잠재적 VP 멤버(72-1)가 선택된 가상 피어에 가입해도 좋다고 허가되는지 여부를 판정하기 위해 잠재적 VP 멤버(72-1) 또는 스폰 서 에이전트(30)에 의해 사용될 하나 이상의 규칙을 정의할 수 있다. 예를 들어, 비디오 컨텐츠를 배타적으로 또는 주로 공유하는 가상 피어에서의 멤버쉽이 자동으로 허가되도록, 재즈 또는 록 음악을 배타적으로 또는 주로 공유하는 가상 피어에서의 멤버쉽이 자동으로 허가되도록, 특정의 디지털 자산을 공유하지 않는 가상 피어에서의 멤버쉽이 자동으로 거부되도록, 또한 단어 "Manilow"를 포함하는 컨텐츠 메타데이터를 갖는 가상 피어에서의 멤버쉽이 자동으로 하가되도록, 허가 규칙이 정의될 수 있다.
도 11은 본 발명의 제2 실시예에 따른, 도 7의 스폰서 에이전트(30)의 동작을 나타낸 것이다. 이 예는 VP 멤버(72-1)에 중점을 두고 있다. 그렇지만, 이 설명은 나머지 VP 멤버(72-2 내지 72-M)에도 똑같이 적용될 수 있다. 다시 말하지만, 유의할 점은, 상기한 바와 같이, 허가된 가상 피어에의 등록이 완료될 때까지 VP 멤버(72-1)를 잠재적 VP 멤버라고 한다는 것이다. 먼저, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)에 질의를 한다(단계 700). 유의할 점은, 스폰서 에이전트(30)가, 예를 들어, P2P 네트워크 내의 피어 노드들 전부 또는 적어도 일부분에 질의를 함으로써 질의를 제공할 수 있다는 것이다. 이에 응답하여, 잠재적 VP 멤버(72-1)는 메타데이터 또는 온톨로지 점수를 제공한다(단계 702). 상기한 바와 같이, 메타데이터는 잠재적 VP 멤버(72-1)의 사용자 또는 소유자를 설명하는 메타데이터(예를 들어, 잠재적 VP 멤버(72-1)의 사용자 또는 소유자의 취미 및 관심을 포함함), 잠재적 VP 멤버(72-1)에 의해 호스팅되는 디지털 자산, 즉 컨텐츠를 설명하는 메타데이터, 잠재적 VP 멤버(72-1)를 설명하는 메타데이터(잠재적 VP 멤 버(72-1)의 능력 등), 또는 이들의 임의의 조합을 포함할 수 있다. 다른 대안으로서, 잠재적 VP 멤버(72-1)는 컨텐츠 온톨로지, 사용자 온톨로지 및 장치 능력 온톨로지 중 하나 이상에 대한 온톨로지 점수를 제공할 수 있으며, 여기서 온톨로지 점수 및 온톨로지는 잠재적 VP 멤버(72-1)의 메타데이터를 설명한다.
그 다음에, 가상 피어(70-1 내지 70-N)에 대한 선택 기준과 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 온톨로지 점수의 비교에 기초하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)가 추가될 수 있는 가상 피어(70-1 내지 70-N) 중 하나 이상을 선택한다(단계 704). 이 예에서, 스폰서 에이전트(30)는 이어서 잠재적 VP 멤버(72-1)를 선택된 가상 피어에 추가해도 좋다는 허가를 위한 요청을 잠재적 VP 멤버(72-1)로 전송한다(단계 706). 그렇지만, 유의할 점은, 허가가 선택적이라는 것이다. 잠재적 VP 멤버(72-1)는 이어서 선택된 가상 피어 중 하나 이상에 가입해도 좋다는 허가를 반환한다(단계 708). 이에 응답하여, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)를 허가된 가상 피어에 추가한다(단계 710). 이 시점에서, 잠재적 VP 멤버(72-1)는 허가된 가상 피어의 VP 멤버(72-1)이다.
도 9의 등록 모델 및 도 11의 질의 모델이 개별적으로 설명되어 있지만, 스폰서 에이전트(30)는 이들 모델 둘다를 사용할 수 있다. 보다 구체적으로는, 스폰서 에이전트(30)를 알고 있는 잠재적 VP 멤버(72-1 내지 72-M) 중의 멤버들에 대해, 등록 모델이 사용될 수 있다. 잠재적 VP 멤버(72-1 내지 72-M) 중 다른 멤버들에 대해, 질의 모델이 사용될 수 있다.
대안의 실시예에서, 스폰서 에이전트(30)는, 예를 들어, P2P 네트워크에서 컨텐츠 발견 요청을 사용하여 가상 피어에 대한 VP 멤버를 식별할 수 있다. 컨텐츠 발견 요청은 가상 피어에 대한 선택 기준에 대응하는 키워드를 포함할 수 있다. P2P 네트워크 내의 노드들로부터의 컨텐츠 발견 요청에 대한 응답에 기초하여, 스폰서 에이전트(30)는 그 노드들 중 어떤 노드들을 가상 피어에 대한 VP 멤버로서 식별할 수 있다. 유의할 점은, 이 대안의 실시예에서, 스폰서 에이전트(30)가 노드들을 VP 멤버로서 자동으로 추가할 수 있다는 것이다. 게다가, 노드들은 자신이 가상 피어의 VP 멤버이라는 것을 모르고 있을지도 모른다.
도 12는 도 7과 유사하다. 그렇지만, 이 실시예에서, 가상 피어 디렉토리 서비스(virtual peer directory service, VPDS)(78)는 잠재적 VP 멤버에 대한 가상 피어를 식별 또는 선택하는 동작을 한다. VPDS(78)는 중앙 서버에 의해 호스팅될 수 있다. 다른 대안으로서, VPDS(78)는 다수의 분산 시스템 상에 분산되어 있거나 P2P 네트워크 상에 분산되어 있을 수 있다. 보다 구체적으로는, 이 실시예에서, 시스템(10)은 스폰서 에이전트(30)를 호스팅하는 스폰서 노드(22)를 포함한다. 스폰서 에이전트(30)는 가상 피어(70-1, 70-2)를 호스팅한다. 이 예에서, 가상 피어(70-1)는 VP 멤버(72-1, 72-2)를 포함하고, 가상 피어(70-2)는 VP 멤버(72-2, 72-3)를 포함한다. 그에 부가하여, 시스템(10)은 스폰서 에이전트(82)를 호스팅하는 스폰서 노드(80)를 포함한다. 스폰서 에이전트(82)는 가상 피어(84-1, 84-2)를 호스팅한다. 이 예에서, 가상 피어(84-1)는 VP 멤버(72-3, 86-1)를 포함하고, 가상 피어(84-2)는 VP 멤버(86-1, 86-2, 86-3)를 포함한다. 유의할 점은, 명확함과 설명의 용이함을 위해 2개의 스폰서 에이전트(30, 82)가 도시되어 있지만, 본 발명 이 그것으로 제한되지 않는다는 것이다. 시스템(10)은 임의의 수의 스폰서 노드 및 스폰서 에이전트를 포함할 수 있다. 이와 마찬가지로, 스폰서 에이전트(30, 82) 각각이 2개의 가상 피어(70-1, 70-2 및 84-1, 84-2)를 호스팅하고 있지만, 스폰서 에이전트(30, 82) 각각이 임의의 수의 가상 피어를 호스팅할 수 있다. VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3)는 P2P 네트워크 내의 피어 노드, 독립적인 사용자 장치, 다른 가상 피어, 기타 등등일 수 있다.
일반적으로, VPDS(78)는 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2) 각각에 대한 선택 기준을 포함하는 VP 프로파일 데이터베이스(88)를 유지한다. 그에 부가하여, VP 프로파일 데이터베이스(88)는 가상 피어(70-1, 70-2, 84-1, 84-2)를 설명하는 정보, 가상 피어(70-1, 70-2, 84-1, 84-2)의 현재의 부하 조건, 및 스폰서 노드(22, 80)의 능력(프로세서 속도, 메모리량, 저장 용량, 네트워크 접속 속도, 기타 등등)를 포함할 수 있다. 이하에서 기술하는 바와 같이, 동작을 설명하면, VPDS(78)는 잠재적 VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3)에 대한 가상 피어를 선택하는 동작을 한다. 그에 부가하여, 가상 피어에 대한 선택 기준 등의 조건이 변할 때, VPDS(78)는 VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3)를 가상 피어에 재할당할 수 있다.
유의할 점은, 도 12에 도시되어 있지 않지만, VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3)가 가상 피어(70-1, 70-2, 84-1, 84-2) 중 어느 가상 피어에 등록되기 전에도 또 그 후에도 네트워크(20)를 통해 VPDS(88)에 액세스한다는 것이다. 따라서, 이 실시예에서, VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3)는, 예를 들 어, 네트워크(20)에 접속하기 위한 유선 네트워크 인터페이스, 로컬 무선 네트워크 인터페이스, 셀룰러 인터페이스, 기타 등등을 포함한다.
도 13은 본 발명의 일 실시예에 따른, 도 12의 시스템(10)의 동작을 나타낸 것이다. 먼저, 스폰서 에이전트(30, 82)는 VPDS(78)에 등록을 한다(단계 800 및 802). 등록 동안에, 스폰서 에이전트(30, 82)는 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2)에 대한 VP 프로파일을 VPDS(78)에게 제공하며, 여기서 VP 프로파일은 VP 프로파일 데이터베이스(88)에 저장되어 있다. 등록이 스폰서 에이전트(30, 82) 각각에 대해 단일의 단계로서 도시되어 있지만, 스폰서 에이전트(30, 82)는 그 후에 VP 프로파일을 업데이트하거나, 새로운 가상 피어가 생성되는 경우 새로운 VP 프로파일을 추가하거나, 기존의 가상 피어가 비활성화되거나 종료되는 경우 VP 프로파일을 삭제하는 동작을 할 수 있다. 다른 대안으로서, VPDS(78)는 스폰서 에이전트(30, 82) 및 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2)를 발견하기 위해 질의 프로세스를 사용할 수 있다.
이 예에서, 잠재적 VP 멤버(72-1)는 이어서 잠재적 VP 멤버(72-1)가 가입할 자격이 있는 가상 피어에 대한 VPDS(78)에 질의를 할 수 있다(단계 804). 유의할 점은, 이 설명이 잠재적 VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3) 중 어느 것에도 똑같이 적용될 수 있다는 것이다. 이 질의는 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 잠재적 VP 멤버(72-1)에 대한 메타데이터를 설명하는 온톨로지 점수를 포함한다. 상기한 바와 같이, 잠재적 VP 멤버(72-1)에 대한 메타데이터는 사용 자 메타데이터, 컨텐츠 메타데이터, VP 멤버 메타데이터, 기타 등등을 포함할 수 있다. 유의할 점은, VP 멤버 메타데이터가 잠재적 VP 멤버(72-1)에 대한 장치 메타데이터를 포함할 수 있다는 것이다. 그에 부가하여, 잠재적 VP 멤버(72-1)가 다른 가상 피어인 경우, VP 멤버 메타데이터는 스폰서 노드에 대한 장치 메타데이터 및 연관된 VP 멤버에 관한 메타데이터를 포함할 수 있다. 이에 응답하여, VPDS(78)는 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 온톨로지 점수를 VP 프로파일 데이터베이스(88)에 저장된 가상 피어(70-1, 70-2, 84-1, 84-2)에 대한 선택 기준과 비교함으로써 잠재적 VP 멤버(72-1)가 가입할 자격이 있는 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2) 중 하나 이상을 선택한다(단계 806).
이 실시예에서, VPDS(78)는 이어서 선택된 가상 피어(이 예에서, 가상 피어(70-1)임)를 식별해주는 응답을 잠재적 VP 멤버(72-1)로 전송한다(단계 808). 일반적으로, 이 응답은 잠재적 VP 멤버(72-1)가 스폰서 에이전트(30)와 접촉하고 가상 피어(70-1)에 가입할 수 있게 해주는 정보를 포함한다. 예를 들어, 이 응답은 스폰서 에이전트(30)의 URL, 가상 피어(70-1)의 피어 ID, 및 잠재적 VP 멤버(72-1)가 VPDS(78)에 의해 가상 피어(70-1)로 보내졌음을 나타내는 자격 증명(토큰 등)을 포함할 수 있다. 그에 부가하여, 이 응답은 가상 피어(70-1)를 설명하는 정보(가상 피어(70-1)에 가입할지 여부를 결정하기 위해 잠재적 VP 멤버(72-1)의 사용자 또는 소유자가 볼 수 있음)를 포함할 수 있다. 잠재적 VP 멤버(72-1)는 이어서 스폰서 에이전트(30)에 접속하고 가상 피어(70-1)에 등록을 한다(단계 810). 이 시점에서, 잠재적 VP 멤버(72-1)는 가상 피어(70-1)의 VP 멤버로서 등록된다.
유사한 방식으로, 잠재적 VP 멤버(72-2, 72-3 및 86-1 내지 86-3)는 가상 피어(70-1, 70-2, 84-1, 84-2) 중 대응하는 것을 식별하고 그에 등록을 하기 위해 VPDS(78)를 사용할 수 있다.
도 14는 본 발명의 다른 실시예에 따른, 도 12의 시스템(10)의 동작을 나타낸 것이다. 이 실시예는 도 13과 관련하여 기술된 것과 거의 동일하다. 그렇지만, VPDS(78)는 잠재적 VP 멤버(72-1)를 선택된 가상 피어에 자동으로 등록하는 동작을 한다.
보다 구체적으로는, 스폰서 에이전트(30, 82)가 VPDS(78)에 등록을 한다(단계 900 및 902). 등록 동안에, 스폰서 에이전트(30, 82)는 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2)에 대한 VP 프로파일을 VPDS(78)에게 제공하며, 여기서 VP 프로파일은 VP 프로파일 데이터베이스(88)에 저장된다. 등록이 스폰서 에이전트(30, 82) 각각에 대해 단일의 단계로서 도시되어 있지만, 스폰서 에이전트(30, 82)는 그 후에 VP 프로파일을 업데이트하거나, 새로운 가상 피어가 생성되는 경우 새로운 VP 프로파일을 추가하거나, 기존의 가상 피어가 비활성화되거나 종료되는 경우 VP 프로파일을 삭제하는 동작을 할 수 있다. 대안의 실시예에서, VPDS(78)는 질의 프로세스를 사용하여 스폰서 에이전트(30, 82)를 식별할 수 있다.
이 예에서, 잠재적 VP 멤버(72-1)는 이어서 잠재적 VP 멤버(72-1)가 가입할 자격이 있는 가상 피어가 있는지 VPDS(78)에 질의를 한다(단계 904). 유의할 점 은, 이 설명이 잠재적 VP 멤버(72-1 내지 72-3 및 86-1 내지 86-3) 중 어느 것에라도 똑같이 적용될 수 있다는 것이다. 이 질의는 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 잠재적 VP 멤버(72-1)에 대한 메타데이터를 설명하는 온톨로지 점수를 포함한다. 상기한 바와 같이, 잠재적 VP 멤버(72-1)에 대한 메타데이터는 사용자 메타데이터, 컨텐츠 메타데이터, VP 멤버 메타데이터, 기타 등등을 포함할 수 있다. 이에 응답하여, VPDS(78)는, 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 온톨로지 점수를 VP 프로파일 데이터베이스(88)에 저장된 가상 피어(70-1, 70-2, 84-1, 84-2)에 대한 선택 기준과 비교함으로써, 잠재적 VP 멤버(72-1)가 가입할 자격이 있는 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2) 중 하나 이상을 선택한다(단계 906). 이 예에서, 선택된 가상 피어는 가상 피어(70-1)이다.
이 실시예에서, VPDS(78)는 이어서 잠재적 VP 멤버(72-1)를 가상 피어(70-1)에 등록하기 위해 스폰서 에이전트(30)와 통신을 한다(단계 908). 이 시점에서, VP 멤버(72-1)는 가상 피어(70-1)의 VP 멤버로서 등록된다. 등록이 완료되면, VPDS(78)는 VP 멤버(72-1)가 등록되어 있는 가상 피어(70-1)를 식별해주는 응답 및 VP 멤버(72-1)가 스폰서 에이전트(30)와 접속을 설정할 수 있게 해주는 정보(URL 등)를 VP 멤버(72-1)로 전송한다(단계 910). 다른 대안으로서, 스폰서 에이전트(30)는 이 응답을 VP 멤버(72-1)에게 제공할 수 있다. 이와 유사한 방식으로, 잠재적 VP 멤버(72-2, 72-3 및 86-1 내지 86-3)는 가상 피어(70-1, 70-2, 84-1, 84-2) 중 대응한 것을 식별하고 그에 등록하기 위해 VPDS(78)를 사용할 수 있다. 유의할 점은, 잠재적 VP 멤버(72-1)를 가상 피어(70-1)에 등록하기 전에 잠재적 VP 멤버(72-1)의 사용자로부터의 허가가 요구될 수 있다는 것이다.
도 15는 가상 피어 관리 서비스(virtual peer management service, VPMS)(90)가 도 12 내지 도 14와 관련하여 상기한 것과 같은 디렉토리 서비스(directory service) 및 관리 기능(management function)을 제공하는 동작을 하는 시스템(10)의 다른 실시예를 나타낸 것이다. VPMS(90)는 중앙 서버에 의해 호스팅될 수 있다. 유의할 점은, VPMS(90)이, 단일의 서비스로 도시되어 있지만, 다른 대안으로서 디렉토리 서비스 및 관리 서비스로서 구현될 수 있다는 것이다.
VPMS(90)는 관리 기능(92), VP 프로파일 데이터베이스(94) 및 스폰서 에이전트(SA) 프로파일 데이터베이스(96)를 포함한다. 일반적으로, VP 프로파일 데이터베이스(94)는, 상기한 바와 같이, 시스템 정의되거나 사용자 정의될 수 있는 가상 피어(70-1, 70-2, 84-1, 84-2) 등의 다수의 가상 피어의 프로파일을 저장한다. 가상 피어의 프로파일은 가상 피어에 대한 선택 기준, 가상 피어의 설명, 가상 피어에 대한 관리 규칙, 가상 피어에 대한 액세스 제어 규칙, 기타 등등의 정보를 포함할 수 있다. SA 프로파일 데이터베이스(96)는 시스템(10) 내의 스폰서 에이전트(30, 82)에 대한 프로파일을 저장한다. SA 프로파일은 능력을 식별해주는 정보(프로세서, 메모리, 저장 장치 및 네트워크 접속 속도 등) 및 스폰서 에이전트의 현재의 부하 조건, 스폰서 에이전트의 평균 또는 과거 처리 능력, 기타 등등을 식별해주는 정보를 포함할 수 있다.
소프트웨어로 구현될 수 있는 관리 기능(92)은 가상 피어를 스폰서 에이전 트(30, 82)에 할당하는 동작을 한다. 그 후에, 관리 기능(92)은 스폰서 에이전트(30, 82) 및 가상 피어(70-1, 70-2, 84-1, 84-2)를 모니터링하고, 효율적인 동작을 제공하기 위해 가상 피어(70-1, 70-2, 84-1, 84-2)를 스폰서 에이전트(30, 82) 간에 재할당할 수 있다. 관리 기능(92)은 부하 분산, 중복성 및 고장 극복 등의 서비스를 제공하기 위해 스폰서 에이전트(30, 82) 및 가상 피어(70-1, 70-2, 84-1, 84-2)를 관리할 수 있다. 그에 부가하여, 관리 기능(92)은 상기한 것과 유사한 방식으로 가상 피어의 활성화 및 비활성화를 동적으로 제어하여 원하는 멤버쉽 밀도를 달성하기 위해 온톨로지를 사용할 수 있다. 또한, 관리 기능(92)은 가상 피어와 연관된 작업 부하를 분할하기 위해 기존의 가상 피어를 다수의 노드에 의해 호스팅되는 다수의 내포된 가상 피어(nested virtual peer)로 분할할 수 있다. 예를 들어, 스폰서 노드(22)가 고성능 노드이고 스폰서 노드(80)가 저성능 노드이며 가상 피어(84-1)의 멤버쉽이 극적으로 증가하거나 미리 정해진 문턱값을 넘어 증가하는 경우, 관리 기능(92)은 가상 피어(84-1)를 스폰서 에이전트(30)에 재할당하는 동작을 할 수 있다. 다른 예로서, 스폰서 에이전트(82)가 가상 피어(84-2)에 의해 과부하로 되는 경우, 관리 기능(92)은 가상 피어(84-2)를 2개 이상의 스폰서 에이전트에 의해 호스팅되는 2개 이상의 내포된 가상 피어로 분할할 수 있다. 게다가, 가상 피어(84-2)의 VP 멤버(86-1 내지 86-3) 중 하나 이상이 내포된 가상 피어들 중 하나 이상에 대한 스폰서 노드로 변환될 수 있다.
도 16은 본 발명의 일 실시예에 따른, 도 15의 시스템(10)의 동작을 나타낸 것이다. 먼저, 스폰서 에이전트(30, 82)는 VPMS(90)에 등록을 한다(단계 1000 및 1002). 등록 동안에, 스폰서 에이전트(30, 82)는 SA 프로파일 데이터베이스(96)에 저장되어 있는 스폰서 노드(22, 80)의 능력을 제공한다. 그에 부가하여, 스폰서 에이전트(30, 82)는 스폰서 에이전트(30, 82)에서의 현재의 부하 조건, 스폰서 에이전트(30, 82)의 평균 또는 과거 처리 능력, 기타 등등을 식별해주는 정보를 제공할 수 있다. 도시되어 있지는 않지만, 스폰서 에이전트(30, 82)는 그 후에 스폰서 에이전트(30, 82)의 조건 또는 상태가 변할 때 업데이트를 VPMS(90)에게 제공할 수 있다. 대안의 실시예에서, VPMS(90)는 질의 프로세스를 사용하여 스폰서 에이전트(30, 82)를 발견할 수 있다.
VPMS(90)는 이어서 가상 피어를 스폰서 에이전트(30, 82)에 할당한다(단계 1004 및 1006). 이 예에서, VPMS(90)는 가상 피어(70-1, 70-2)를 스폰서 에이전트(30)에 할당하고 가상 피어(84-1, 84-2)를 스폰서 에이전트(82)에 할당한다.
그 후에, VPMS(90)는, 예를 들어, 잠재적 VP 멤버(72-1)에 대한 가상 피어를 식별하기 위한 질의를 잠재적 VP 멤버(72-1)로부터 수신할 수 있다(단계 1008). 이 질의는 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 이 메타데이터를 설명하는 온톨로지 점수를 포함할 수 있다. 이에 응답하여, VPMS(90)는, 잠재적 VP 멤버(72-1)에 대한 메타데이터 또는 온톨로지 점수를 VP 프로파일 데이터베이스(94)에 정의된 가상 피어의 선택 기준과 비교함으로써, 잠재적 VP 멤버(72-1)에 대한 하나 이상의 가상 피어를 선택한다(단계 1010). 이 예에서, 가상 피어(70-1)는 잠재적 VP 멤버(72-1)에 대해 선택된다. VPMS(90)는 이어서 가상 피어(70-1) 및 스폰서 에이전트(30)를 식별해주는 응답을 잠재적 VP 멤버(72-1)로 전송한다(단계 1012). 잠재적 VP 멤버(72-1)는 이어서 스폰서 에이전트(30)에 접속하고 가상 피어(70-1)에 등록을 한다(단계 1014). 다른 대안으로서, VPMS(90)는 VP 멤버(72-1)를 가상 피어(70-1)에 자동으로 등록할 수 있다. 다른 대안으로서, VPMS(90)는 잠재적 VP 멤버(72-1)를 스폰서 에이전트(30)에 통지할 수 있고, 스폰서 에이전트(30)는 잠재적 VP 멤버(72-1)를 가상 피어(70-1)에 등록하기 위해 잠재적 VP 멤버(72-1)와 통신을 할 수 있다. 등록이 완료되면, 잠재적 VP 멤버(72-1)는 가상 피어(70-1)의 VP 멤버이다.
단계(1008-1012)의 디렉토리 서비스를 제공하는 것에 부가하여, VPMS(90)는 스폰서 에이전트(30, 82) 및 스폰서 에이전트(30, 82)에 의해 호스팅되는 가상 피어(70-1, 70-2, 84-1, 84-2)를 모니터링하는 동작을 한다(단계 1016). 단일의 단계로 도시되어 있지만, 모니터링 프로세스는 연속 프로세스일 수 있다. 가상 피어(70-1, 70-2, 84-1, 84-2) 및 스폰서 에이전트(30, 82)의 상태에 기초하여, VPMS(90)는 여러가지 관리 기능을 수행할 수 있다. 유의할 점은, 가상 피어(70-1, 70-2, 84-1, 84-2)의 상태가, 예를 들어, 가상 피어(70-1, 70-2, 84-1, 84-2) 각각에 대한 가상 피어 멤버의 수일 수 있다는 것이다. 스폰서 에이전트(30, 82)의 상태는, 예를 들어, 스폰서 노드(22, 80)의 능력 및 조건, 스폰서 노드(22, 80)에 의해 호스팅되는 가상 피어들에 의해 호스팅되는 컨텐츠의 양, 트래픽 조건, 보류 중인 요청의 수, 현재의 부하 조건, 메모리 사용량, CPU 활용도, 사용되는 대역폭, 기타 등등일 수 있다. VPMS(90)의 모니터링 및 관리 프로세스의 일례로서, VPMS(90)는 가상 피어(70-1, 70-2, 84-1, 84-2)를 스폰서 에이전트(30, 82) 간에 재할당할 수 있거나, 새로운 가상 피어를 스폰서 에이전트(30, 82)에 할당할 수 있거나, 예를 들어, 온톨로지에 기초하여 가상 피어를 내포된 가상 피어로 분할할 수 있거나, 예를 들어, 온톨로지에 기초하여 내포된 가상 피어들을 단일의 가상 피어로 결합할 수 있거나, 기타 등등을 할 수 있다.
도 17은 스폰서 노드(22)의 예시적인 실시예의 블록도이다. 일반적으로, 스폰서 노드(22)는 연관된 메모리(100)를 갖는 제어 시스템(98)을 포함한다. 이 예에서, 스폰서 에이전트(30)는 소프트웨어로 구현되어 메모리(100)에 저장된다. 스폰서 노드(22)는 또한 하나 이상의 디지털 저장 장치(102)를 포함할 수 있다. 스폰서 노드(22)는 또한 스폰서 노드(22)를 네트워크(20)에 통신 연결시키는 통신 인터페이스(104)를 포함한다. 게다가, VP 멤버(24-28 또는 72-1 내지 72-M) 중 하나 이상이 직접 유선 접속 또는 로컬 무선 접속을 통해 스폰서 노드(22)에 접속되어 있는 경우, 통신 인터페이스(104)는 유선 통신 인터페이스 및/또는 로컬 무선 통신 인터페이스를 포함할 수 있다. 스폰서 노드(22)는 또한 사용자 인터페이스(106)를 포함하며, 이 사용자 인터페이스는, 예를 들어, 디스플레이, 스피커, 사용자 입력 장치(키보드 및 마우스 등), 기타 등등의 컴포넌트를 포함할 수 있다.
도 18은 도 12 내지 도 14의 VPDS(78)를 호스팅하는 서버(108)의 예시적인 실시예를 나타낸 것이다. 서버(108)는 연관된 메모리(112)를 갖는 제어 시스템(110)을 포함한다. 일 실시예에서, VPDS(78)는 소프트웨어로 구현되어 메모리(112)에 저장될 수 있다. 서버(108)는 또한 VP 프로파일 데이터베이스(88)를 저장하는 데 사용될 수 있는 하나 이상의 디지털 저장 장치(114)를 포함한다. 서 버(108)는 또한 서버(108)를 네트워크(20)에 통신 연결시키는 통신 인터페이스(116)를 포함한다. 서버(108)는 또한 사용자 인터페이스(118)를 포함할 수 있으며, 이 사용자 인터페이스는, 예를 들어, 디스플레이, 스피커, 사용자 입력 장치(키보드 및 마우스 등), 기타 등등의 컴포넌트를 포함할 수 있다.
도 19는 도 15 및 도 16의 VPMS(90)를 호스팅하는 서버(120)의 예시적인 실시예를 나타낸 것이다. 서버(120)는 연관된 메모리(124)를 갖는 제어 시스템(122)를 포함한다. 일 실시예에서, VPMS(90)는 소프트웨어로 구현되어 메모리(124)에 저장될 수 있다. 서버(120)는 또한 VP 프로파일 데이터베이스(94) 및 SA 프로파일 데이터베이스(96)를 저장하는 데 사용될 수 있는 하나 이상의 디지털 저장 장치(126)를 포함한다. 서버(120)는 또한 서버(120)를 네트워크(20)에 통신 연결시키는 통신 인터페이스(128)를 포함한다. 서버(120)는 또한 사용자 인터페이스(130)를 포함할 수 있으며, 이 사용자 인터페이스는, 예를 들어, 디스플레이, 스피커, 사용자 입력 장치(키보드 및 마우스 등), 기타 등등의 컴포넌트를 포함할 수 있다.
본 발명은 본 발명의 정신 또는 범위를 벗어나지 않고 상당한 변형 가능성을 제공한다. 예를 들어, 스폰서 에이전트(30)가 스폰서 노드(22)에 의해 호스팅되는 것으로 도시되고 이상에서 설명되어 있지만, 본 발명은 그것으로 제한되지 않는다. 보다 구체적으로는, 대안의 실시예에서, 스폰서 에이전트(30)는 가상 피어(12)의 다수의 VP 멤버(24-28) 전부에 구현될 수 있고, 여기서 VP 멤버(24-28) 중 하나가 임의의 주어진 때에 VP 리더(VP leader)로서 선택된다. VP 리더는 이어서 이상의 설명에서의 스폰서 노드(22)와 거의 동일한 방식으로 가상 피어(12)에 대한 통신 종단점으로서 동작할 수 있다. 다른 예로서, 스폰서 에이전트(30)는 가상 피어(12)가 다른 통신 네트워크에서 어드레싱가능할 수 있게 해줄 수 있다. 예를 들어, 스폰서 에이전트(30)는 가상 피어(12)를 인터넷 DNS(Domain Name Server)에 등록할 수 있고 그 후에 인터넷과 VP 멤버(24-28) 간의 브리지로서 역할할 수 있다.
모바일 장치와 관련하여, VP 멤버(24) 등의 VP 멤버는 그의 로컬 무선 통화권 영역 내에서 기존의 가상 피어에 가입하고자 하는 모바일 장치를 검출한 것에 응답하여 새로운 가상 피어를 동적으로 생성 및 유지할 수 있다. 예를 들어, VP 멤버(24)가 로컬 무선 통신 인터페이스를 갖는 퍼스널 컴퓨터인 경우, VP 멤버(24)는 그의 로컬 무선 통화권 영역에서 하나 이상의 모바일 장치를 검출할 수 있다. 모바일 장치가 가상 피어(12)에 가입하고자 하고 또 그렇게 하도록 허가되는 경우, VP 멤버(24)는 새로운 가상 피어를 가상 피어(12)의 멤버로서 생성 및 유지할 수 있고, 여기서 모바일 장치는 새로운 가상 피어의 멤버이다.
당업자라면 본 발명의 양호한 실시예에 대한 여러 개선 및 수정을 잘 알 것이다. 이러한 개선 및 수정 모두가 본 명세서에 개시된 개념들 및 이하의 청구항들의 범위 내에 속하는 것으로 간주된다.

Claims (32)

  1. 복수의 가상 피어 멤버들 - 각각이 디지털 자산을 호스팅함 - 을 포함하는 가상 피어를 형성하는 단계 - 상기 가상 피어는 P2P(peer-to-peer) 네트워크에서 피어 노드로서 등록되고 스폰서 에이전트는 상기 P2P 네트워크에서 상기 가상 피어에 대한 통신 종단점으로서 동작함 -,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 설명하는 메타데이터를 상기 복수의 가상 피어 멤버로부터 획득하는 단계, 및
    상기 가상 피어에 대한 메타데이터 카탈로그를 제공하기 위해 상기 메타데이터를 통합하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 스폰서 에이전트는 스폰서 노드에 의해 호스팅되고,
    상기 방법은,
    상기 메타데이터 카탈로그를 상기 스폰서 노드에 저장하는 단계를 더 포함하는 것인, 방법.
  3. 제1항에 있어서, 상기 메타데이터를 획득하는 단계는,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 전부를 설명하는 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 포함 하는 것인, 방법.
  4. 제1항에 있어서, 상기 메타데이터를 획득하는 단계는,
    적어도 하나의 원하는 메타데이터 유형에 대응하는 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 선택된 부분을 설명하는 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 포함하는 것인, 방법.
  5. 제1항에 있어서, 상기 메타데이터를 획득하는 단계는,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 선택된 서브셋에 대한 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 포함하는 것인, 방법.
  6. 제1항에 있어서, 상기 메타데이터에 대한 업데이트를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서, 상기 메타데이터를 통합하는 단계는,
    적어도 하나의 보안 규칙에 기초하여 상기 메타데이터를 필터링하는 단계를 더 포함하는 것인, 방법.
  8. 제1항에 있어서, 상기 메타데이터를 통합하는 단계는,
    상기 가상 피어에 대한 원하는 디렉토리 구조를 제공하기 위해 상기 메타데이터를 재구조화하는 단계를 더 포함하는 것인, 방법.
  9. 제1항에 있어서, 상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 적어도 하나를 사전-캐싱 방식에 따라 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및
    상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
  10. 제1항에 있어서, 상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 적어도 하나를 포함하는 복수의 인기있는 디지털 자산을 식별하는 단계,
    상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 상기 적어도 하나를 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및
    상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
  11. 제1항에 있어서, 인기있는 토픽을 식별하는 단계,
    상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되고 상기 인기있는 토 픽과 관계되어 있는 상기 디지털 자산 중 적어도 하나를 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및
    상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
  12. 제1항에 있어서, 인기있는 키워드를 식별하는 단계,
    상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되고 상기 인기있는 키워드와 연관되어 있는 상기 디지털 자산 중 적어도 하나를 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및
    상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
  13. 제1항에 있어서, 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 복수의 디지털 자산이 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장되고,
    상기 방법은,
    중복된 것들인 일군의 디지털 자산을 상기 복수의 디지털 자산으로부터 검출하는 단계, 및
    상기 일군의 디지털 자산 중 하나를 제외한 모두를 상기 디지털 자산 캐쉬로부터 제거하는 단계를 더 포함하는 것인, 방법.
  14. 제1항에 있어서, 상기 스폰서 에이전트는 상기 가상 피어에 대한 적어도 하나의 공유 보안 규칙을 유지하고,
    상기 방법은,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하는 단계, 및
    상기 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 가상 피어에 액세스하도록 허가되어 있는지를 판정하는 단계를 더 포함하는 것인, 방법.
  15. 제1항에 있어서, 상기 스폰서 에이전트는 상기 복수의 가상 피어 멤버들 각각에 대한 적어도 하나의 공유 보안 규칙을 유지하고,
    상기 방법은,
    상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하는 단계, 및
    상기 복수의 가상 피어 멤버들 중 상기 하나에 대한 상기 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하는 단계를 더 포함하는 것인, 방법.
  16. 제1항에 있어서, 상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청 및 클라이언트로부터의 능력 정보를 수신하는 단계, 및
    상기 클라이언트로부터의 상기 능력 정보에 기초하여 상기 클라이언트가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하는 단계를 더 포함하는, 방법.
  17. 제1항에 있어서, 상기 메타데이터 카탈로그에 기초하여 상기 가상 피어에 대한 웹 피드를 발생하는 단계, 및
    상기 웹 피드를 적어도 하나의 클라이언트에게 제공하는 단계를 더 포함하는, 방법.
  18. 제1항에 있어서, 적어도 하나의 초대 규칙과 상기 메타데이터 카탈로그의 비교에 기초하여 손님이 초대되어 소비할 디지털 자산을 식별하는 단계,
    상기 식별된 디지털 자산을 소비하도록 상기 손님을 초대하는 초대장을 발생하는 단계, 및
    상기 초대장을 상기 손님에게 제공하는 단계를 더 포함하는, 방법.
  19. 제1항에 있어서, 클라이언트의 사용자가 상기 디지털 자산 중 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 메타데이터를 수정할 수 있게 해주는 단계를 더 포함하는, 방법.
  20. 제1항에 있어서, 상기 디지털 자산 중 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 상기 메타데이터를 수정하라는 요청을 수신하는 단계,
    상기 요청을 제공하는 클라이언트의 소유자가 상기 디지털 자산 중 상기 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 상기 메타데이터를 수정하도록 허가되어 있는지를 판정하는 단계, 및
    상기 클라이언트의 상기 소유자가 상기 메타데이터를 수정하도록 허가되어 있는 경우, 상기 클라이언트의 상기 소유자가 상기 디지털 자산 중 상기 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 상기 메타데이터를 수정할 수 있게 해주는 단계를 더 포함하는, 방법.
  21. 제1항에 있어서, 상기 메타데이터 카탈로그로부터의 컨텐츠 발견 요청에 서비스하는 단계를 더 포함하는, 방법.
  22. 제1항에 있어서, 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 캐싱하는 단계, 및
    상기 디지털 자산 캐쉬로부터의 요청들에 서비스하는 단계를 더 포함하는, 방법.
  23. P2P(peer-to-peer) 네트워크에서 가상 피어를 호스팅하는 스폰서 노드로서,
    통신 인터페이스, 및
    상기 통신 인터페이스와 연관된 제어 시스템을 포함하며,
    상기 제어 시스템은,
    복수의 가상 피어 멤버들 - 각각이 디지털 자산을 호스팅함 - 을 포함하는 상기 가상 피어를 형성하고,
    상기 가상 피어를 P2P 네트워크 내의 피어 노드로서 등록하며 - 상기 스폰서 노드는 상기 P2P 네트워크에서 상기 가상 피어에 대한 통신 종단점으로서 동작함 -,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 설명하는 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하고,
    상기 가상 피어에 대한 메타데이터 카탈로그를 제공하기 위해 상기 메타데이터를 통합하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  24. 제23항에 있어서, 상기 복수의 가상 피어 멤버들로부터의 상기 메타데이터는 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 모두를 설명하는 메타데이터를 포함하는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  25. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 복수의 디지털 자산을 디지털 자산 캐쉬에 캐싱하고,
    중복된 것들인 일군의 디지털 자산을 상기 복수의 디지털 자산으로부터 검출하며,
    상기 일군의 디지털 자산 중 하나를 제외한 모두를 상기 디지털 자산 캐쉬로부터 제거하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  26. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하고,
    상기 가상 피어에 대한 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 가상 피어에 액세스하도록 허가되어 있는지를 판정하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  27. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하고
    상기 복수의 가상 피어 멤버들 중 상기 하나에 대한 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  28. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청 및 클라이언트로부터의 능력 정보를 수신하고,
    상기 클라이언트로부터의 상기 능력 정보와 적어도 하나의 컨텐츠 공유 규칙의 비교에 기초하여, 상기 클라이언트가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  29. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 메타데이터 카탈로그에 기초하여 상기 가상 피어에 대한 웹 피드를 발생하고,
    상기 웹 피드를 적어도 하나의 클라이언트에게 제공하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  30. 제23항에 있어서, 상기 제어 시스템은 또한,
    클라이언트의 사용자가 상기 디지털 자산 중 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 메타데이터를 수정할 수 있게 해주도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  31. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 메타데이터 카탈로그로부터의 컨텐츠 발견 요청에 서비스하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
  32. 제23항에 있어서, 상기 제어 시스템은 또한,
    상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 디지털 자산 캐쉬에 캐싱하고,
    상기 디지털 자산 캐쉬로부터의 요청들에 서비스하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
KR1020097008465A 2006-09-29 2007-08-29 P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법 KR20090080051A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/536,888 2006-09-29
US11/536,888 US8554827B2 (en) 2006-09-29 2006-09-29 Virtual peer for a content sharing system

Publications (1)

Publication Number Publication Date
KR20090080051A true KR20090080051A (ko) 2009-07-23

Family

ID=39261063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097008465A KR20090080051A (ko) 2006-09-29 2007-08-29 P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법

Country Status (5)

Country Link
US (1) US8554827B2 (ko)
EP (1) EP2069952A2 (ko)
KR (1) KR20090080051A (ko)
CN (1) CN101542461B (ko)
WO (1) WO2008042534A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352630B1 (ko) * 2011-08-02 2014-01-17 광주과학기술원 가상화 노드, 가상화 노드를 설치하여 콘텐츠를 공유하는 사용자 노드, 그리고 가상화 노드를 이용한 콘텐츠 공유 방법

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions 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
US7933260B2 (en) 2004-06-29 2011-04-26 Damaka, Inc. System and method for routing and communicating in a heterogeneous network environment
US8009586B2 (en) 2004-06-29 2011-08-30 Damaka, Inc. System and method for data transfer in a peer-to peer hybrid communication network
CN101317448B (zh) * 2005-11-29 2010-06-16 皇家飞利浦电子股份有限公司 管理分布存储系统的方法
WO2008073538A1 (en) * 2006-08-18 2008-06-19 Motionbox, Inc. An operational system and architectural model for improved manipulation of video and time-based media
WO2008118183A1 (en) * 2007-03-28 2008-10-02 Motionbox, Inc. System and method for autogeneration of long term media data from networked time-based media
US8443276B2 (en) * 2006-03-28 2013-05-14 Hewlett-Packard Development Company, L.P. System and data model for shared viewing and editing of time-based media
US20110107369A1 (en) * 2006-03-28 2011-05-05 O'brien Christopher J System and method for enabling social browsing of networked time-based media
US20090129740A1 (en) * 2006-03-28 2009-05-21 O'brien Christopher J System for individual and group editing of networked time-based media
US20100169786A1 (en) * 2006-03-29 2010-07-01 O'brien Christopher J system, method, and apparatus for visual browsing, deep tagging, and synchronized commenting
US20080089299A1 (en) * 2006-10-13 2008-04-17 Motorola, Inc. Method and system for distributing content in Ad-hoc networks using super peers
US20080208963A1 (en) * 2006-10-19 2008-08-28 Aviv Eyal Online File Sharing
US9123048B2 (en) * 2006-10-20 2015-09-01 Yahoo! Inc. Systems and methods for receiving and sponsoring media content
US8028019B2 (en) * 2007-02-28 2011-09-27 Solid State Networks, Inc. Methods and apparatus for data transfer in networks using distributed file location indices
KR101105850B1 (ko) * 2007-02-28 2012-01-13 삼성전자주식회사 P2p 네트워킹을 통한 고품질 콘텐츠 제공 시스템 및 방법
US8112501B2 (en) * 2007-03-30 2012-02-07 Yahoo! Inc. Centralized registration for distributed social content services
US8286086B2 (en) * 2007-03-30 2012-10-09 Yahoo! Inc. On-widget data control
US8312108B2 (en) 2007-05-22 2012-11-13 Yahoo! Inc. Hot within my communities
US8713608B2 (en) * 2007-07-12 2014-04-29 At&T Intellectual Property I, Lp System for presenting media services
CA2701894C (en) 2007-09-03 2015-11-17 Damaka, Inc. Device and method for maintaining a communication session during a network transition
EP2203895B1 (en) * 2007-09-26 2020-03-25 AQ Media, INC. Audio-visual navigation and communication dynamic memory architectures
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
US9357025B2 (en) 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US9009603B2 (en) 2007-10-24 2015-04-14 Social Communications Company Web browser interface for spatial communication environments
US8380859B2 (en) 2007-11-28 2013-02-19 Damaka, Inc. System and method for endpoint handoff in a hybrid peer-to-peer networking environment
US8167724B2 (en) * 2007-12-10 2012-05-01 Gary Stephen Shuster Guest management in an online multi-player virtual reality game
US8326796B2 (en) * 2008-04-15 2012-12-04 International Business Machines Corporation Data retrieval and data feed generation from data sources
US8285810B2 (en) * 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections between participants of a sharing network utilizing bridging
US8224899B2 (en) 2008-04-17 2012-07-17 Eloy Technology, Llc Method and system for aggregating media collections between participants of a sharing network
US8484311B2 (en) * 2008-04-17 2013-07-09 Eloy Technology, Llc Pruning an aggregate media collection
US8285811B2 (en) * 2008-04-17 2012-10-09 Eloy Technology, Llc Aggregating media collections to provide a primary list and sorted sub-lists
US20110208616A1 (en) * 2008-06-13 2011-08-25 Christopher Simon Gorman Content system
US8589993B2 (en) * 2008-08-29 2013-11-19 At&T Intellectual Property I, L.P. Distributing on-demand multimedia content
US20100070490A1 (en) * 2008-09-17 2010-03-18 Eloy Technology, Llc System and method for enhanced smart playlists with aggregated media collections
US7853712B2 (en) * 2008-09-29 2010-12-14 Eloy Technology, Llc Activity indicators in a media sharing system
US20100094834A1 (en) * 2008-10-15 2010-04-15 Concert Technology Corporation Bridging in a media sharing system
US8484227B2 (en) * 2008-10-15 2013-07-09 Eloy Technology, Llc Caching and synching process for a media sharing system
US8880599B2 (en) 2008-10-15 2014-11-04 Eloy Technology, Llc Collection digest for a media sharing system
US20100114979A1 (en) * 2008-10-28 2010-05-06 Concert Technology Corporation System and method for correlating similar playlists in a media sharing network
US8555322B2 (en) * 2009-01-23 2013-10-08 Microsoft Corporation Shared television sessions
US9014832B2 (en) 2009-02-02 2015-04-21 Eloy Technology, Llc Augmenting media content in a media sharing group
US20100211637A1 (en) * 2009-02-17 2010-08-19 Nokia Corporation Method and apparatus for providing shared services
US8321900B2 (en) 2009-12-12 2012-11-27 At&T Intellectual Property I, L.P. Limited chain relay with virtual peer for multimedia distribution
US20110173337A1 (en) * 2010-01-13 2011-07-14 Oto Technologies, Llc Proactive pre-provisioning for a content sharing session
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
US8874785B2 (en) 2010-02-15 2014-10-28 Damaka, Inc. System and method for signaling and data tunneling in a 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
US10423577B2 (en) 2010-06-29 2019-09-24 International Business Machines Corporation Collections for storage artifacts of a tree structured repository established via artifact metadata
KR101631618B1 (ko) * 2010-07-06 2016-06-27 삼성전자주식회사 가상 개인화 그룹 생성 방법 및 가상 개인화 그룹을 이용하는 통신 기기와 허브를 포함하는 네트워크
EP2612288A4 (en) 2010-09-03 2014-03-19 Andrew James Darbyshire CONTENT DISTRIBUTION SYSTEM AND INCENTIVE POST-TO-POST FEES
US8468010B2 (en) 2010-09-24 2013-06-18 Damaka, Inc. System and method for language translation in a hybrid peer-to-peer environment
US9208239B2 (en) 2010-09-29 2015-12-08 Eloy Technology, Llc Method and system for aggregating music in the cloud
US8743781B2 (en) 2010-10-11 2014-06-03 Damaka, Inc. System and method for a reverse invitation in a hybrid peer-to-peer environment
US9100377B2 (en) * 2010-12-09 2015-08-04 Fujifilm North America Corporation System and method for providing caching and pre-fetch of assets/media
US8407314B2 (en) 2011-04-04 2013-03-26 Damaka, Inc. System and method for sharing unsupported document types between communication devices
CN102137165B (zh) * 2011-04-22 2013-04-10 南京邮电大学 一种基于对等网络的阿瑞斯索引系统的实现方法
US8775431B2 (en) * 2011-04-25 2014-07-08 Disney Enterprises, Inc. Systems and methods for hot topic identification and metadata
US8694587B2 (en) 2011-05-17 2014-04-08 Damaka, Inc. System and method for transferring a call bridge between communication devices
TWI645299B (zh) * 2011-06-30 2018-12-21 萬國商業機器公司 資訊裝置與用以協同複數個資訊裝置資源之資訊設備
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
US8756453B2 (en) 2011-11-15 2014-06-17 International Business Machines Corporation Communication system with diagnostic capabilities
US8874974B2 (en) 2011-11-15 2014-10-28 International Business Machines Corporation Synchronizing a distributed communication system using diagnostic heartbeating
US8903893B2 (en) * 2011-11-15 2014-12-02 International Business Machines Corporation Diagnostic heartbeating in a distributed data processing environment
US9244796B2 (en) 2011-11-15 2016-01-26 International Business Machines Corporation Diagnostic heartbeat throttling
US8769089B2 (en) 2011-11-15 2014-07-01 International Business Machines Corporation Distributed application using diagnostic heartbeating
EP2788911A4 (en) * 2011-12-08 2015-07-29 Intel Corp METHOD AND DEVICE FOR POLICY-BASED JOINT CONTENT USE IN A PEER TO PEER WAY WITH ROOT-OF-TRUST ON HARDWARE BASE
CN104169940B (zh) * 2011-12-29 2017-09-12 英特尔公司 将公司数字信息限制在公司界限内的方法
KR101969583B1 (ko) * 2012-01-10 2019-08-20 삼성전자주식회사 컨텐츠 관리 방법과 장치 및 기록 매체
JP6019675B2 (ja) 2012-03-30 2016-11-02 ブラザー工業株式会社 機能実行装置
JP6019676B2 (ja) 2012-03-30 2016-11-02 ブラザー工業株式会社 通信装置
US9277013B2 (en) 2012-05-10 2016-03-01 Qualcomm Incorporated Storing local session data at a user equipment and selectively transmitting group session data to group session targets based on dynamic playback relevance information
US9444564B2 (en) * 2012-05-10 2016-09-13 Qualcomm Incorporated Selectively directing media feeds to a set of target user equipments
JP5867319B2 (ja) 2012-07-03 2016-02-24 ブラザー工業株式会社 通信装置
JP5900228B2 (ja) * 2012-08-06 2016-04-06 ブラザー工業株式会社 通信装置
CN103716340B (zh) * 2012-09-28 2017-08-25 联想(北京)有限公司 终端设备以及信息处理方法
US10631134B2 (en) 2012-11-29 2020-04-21 Red Hat, Inc. Distributing data between mobile services
US10133754B2 (en) 2013-02-10 2018-11-20 Qualcomm Incorporated Peer-to-peer picture sharing using custom based rules for minimal power consumption and better user experience
US9027032B2 (en) 2013-07-16 2015-05-05 Damaka, Inc. System and method for providing additional functionality to existing software in an integrated manner
JP6264815B2 (ja) 2013-09-30 2018-01-24 ブラザー工業株式会社 通信装置
US9357016B2 (en) 2013-10-18 2016-05-31 Damaka, Inc. System and method for virtual parallel resource management
JP6402494B2 (ja) 2014-05-30 2018-10-10 ブラザー工業株式会社 機能実行システム、機能実行装置、及び、通信端末
TWI570626B (zh) * 2014-06-30 2017-02-11 廣達電腦股份有限公司 虛擬檔案分享方法
WO2016022574A1 (en) 2014-08-05 2016-02-11 Damaka, Inc. System and method for providing unified communications and collaboration (ucc) connectivity between incompatible systems
WO2016172963A1 (zh) * 2015-04-30 2016-11-03 华为技术有限公司 一种p2p组的发现方法、相关设备及p2p组
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
US10176623B2 (en) * 2016-05-02 2019-01-08 Tic Talking Holdings Inc. Facilitation of depiction of geographic relationships via a user interface
US10382355B2 (en) 2016-06-02 2019-08-13 Electronics And Telecommunications Research Institute Overlay management server and operating method thereof
CN106455128B (zh) * 2016-11-14 2020-07-28 上海龙旗科技股份有限公司 一种wifi点对点数据传输的方法及设备
US10902119B1 (en) * 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis

Family Cites Families (327)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220657A (en) 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US5537586A (en) * 1992-04-30 1996-07-16 Individual, Inc. Enhanced apparatus and methods for retrieving and selecting profiled textural information records from a database of defined category structures
US5517617A (en) * 1994-06-29 1996-05-14 Digital Equipment Corporation Automatic assignment of addresses in a computer communications network
US5629980A (en) 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
EP1555591B1 (en) 1995-02-13 2013-08-14 Intertrust Technologies Corp. Secure transaction management
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6807534B1 (en) 1995-10-13 2004-10-19 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
WO1997025798A1 (en) 1996-01-11 1997-07-17 Mrj, Inc. System for controlling access and distribution of digital property
US6308175B1 (en) * 1996-04-04 2001-10-23 Lycos, Inc. Integrated collaborative/content-based filter structure employing selectively shared, content-based profile data to evaluate information entities in a massive information network
FI103162B1 (fi) * 1996-12-20 1999-04-30 Nokia Mobile Phones Ltd Verkkorakenne langattoman ATM-järjestelmän osan toteuttamiseen ja menetelmä kytkinten välisen tukiasemanvaihdon suorittamiseksi tällaisessa verkkorakenteessa
US5884035A (en) 1997-03-24 1999-03-16 Pfn, Inc. Dynamic distributed group registry apparatus and method for collaboration and selective sharing of information
IL121181A0 (en) 1997-06-27 1997-11-20 Agentics Ltd A method and system for unifying multiple information resources into hierarchial integrated information resource accessible by means of user interface
JPH11110324A (ja) 1997-10-07 1999-04-23 Hitachi Ltd 代理サーバ選択装置および代理サーバ
US6151624A (en) 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6594693B1 (en) 1998-02-10 2003-07-15 Nitin A. Borwankar Method and apparatus for a structured, synchronized conversation using electronic messages over a computer network
US6260069B1 (en) * 1998-02-10 2001-07-10 International Business Machines Corporation Direct data retrieval in a distributed computing system
US6088702A (en) 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
US7051003B1 (en) 1998-02-26 2006-05-23 Atabok Japan, Inc. Method and apparatus for delivering electronic data through a proxy server
US6567122B1 (en) 1998-03-18 2003-05-20 Ipac Acquisition Subsidiary I Method and system for hosting an internet web site on a digital camera
US7756892B2 (en) 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US6389541B1 (en) 1998-05-15 2002-05-14 First Union National Bank Regulating access to digital content
US6138159A (en) * 1998-06-11 2000-10-24 Phaal; Peter Load direction mechanism
US6338086B1 (en) 1998-06-11 2002-01-08 Placeware, Inc. Collaborative object architecture
NL1009376C1 (nl) 1998-06-11 1998-07-06 Boardwalk Ag Datasysteem voor het verschaffen van relatiepatronen tussen personen.
CN1514976A (zh) 1998-07-24 2004-07-21 �ָ��� 用于进行对象检索的分布式计算机数据库系统和方法
US6983371B1 (en) 1998-10-22 2006-01-03 International Business Machines Corporation Super-distribution of protected digital content
WO2000016221A1 (en) * 1998-09-15 2000-03-23 Microsoft Corporation Interactive playlist generation using annotations
US6487583B1 (en) 1998-09-15 2002-11-26 Ikimbo, Inc. System and method for information and application distribution
WO2000016209A1 (en) 1998-09-15 2000-03-23 Local2Me.Com, Inc. Dynamic matchingtm of users for group communication
US6687732B1 (en) 1998-09-28 2004-02-03 Inktomi Corporation Adaptive traffic bypassing in an intercepting network driver
US6574239B1 (en) * 1998-10-07 2003-06-03 Eric Morgan Dowling Virtual connection of a remote unit to a server
US6149441A (en) * 1998-11-06 2000-11-21 Technology For Connecticut, Inc. Computer-based educational system
JP3991178B2 (ja) 1998-11-11 2007-10-17 ソニー株式会社 複製世代管理方法、情報信号記録装置、情報信号出力装置および情報信号再生装置
US6498795B1 (en) 1998-11-18 2002-12-24 Nec Usa Inc. Method and apparatus for active information discovery and retrieval
US7150030B1 (en) 1998-12-03 2006-12-12 Prime Research Alliance, Inc. Subscriber characterization system
US6560578B2 (en) 1999-03-12 2003-05-06 Expanse Networks, Inc. Advertisement selection system supporting discretionary target market characteristics
US6963884B1 (en) 1999-03-10 2005-11-08 Digimarc Corporation Recoverable digital content degradation: method and apparatus
US6275819B1 (en) 1999-03-16 2001-08-14 Novell, Inc. Method and apparatus for characterizing and retrieving query results
JP3644580B2 (ja) 1999-03-19 2005-04-27 富士通株式会社 表示制御方法及び装置
US6421439B1 (en) 1999-03-24 2002-07-16 Microsoft Corporation System and method for user affiliation in a telephone network
US7302429B1 (en) 1999-04-11 2007-11-27 William Paul Wanker Customizable electronic commerce comparison system and method
US6349336B1 (en) * 1999-04-26 2002-02-19 Hewlett-Packard Company Agent/proxy connection control across a firewall
US7006999B1 (en) 1999-05-13 2006-02-28 Xerox Corporation Method for enabling privacy and trust in electronic communities
GB9913165D0 (en) 1999-06-08 1999-08-04 Secr Defence Access control in a web environment
US6301609B1 (en) * 1999-07-07 2001-10-09 Lucent Technologies Inc. Assignable associate priorities for user-definable instant messaging buddy groups
US6525747B1 (en) 1999-08-02 2003-02-25 Amazon.Com, Inc. Method and system for conducting a discussion relating to an item
US6785704B1 (en) 1999-12-20 2004-08-31 Fastforward Networks Content distribution system for operation over an internetwork including content peering arrangements
US6763343B1 (en) * 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US6748420B1 (en) 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
US6832245B1 (en) 1999-12-01 2004-12-14 At&T Corp. System and method for analyzing communications of user messages to rank users and contacts based on message content
AU2073401A (en) 1999-12-10 2001-06-18 Myteam.Com, Inc. Tools for administering leagues and accessing and populating a community websitestructure
US20010007099A1 (en) 1999-12-30 2001-07-05 Diogo Rau Automated single-point shopping cart system and method
US6651086B1 (en) 2000-02-22 2003-11-18 Yahoo! Inc. Systems and methods for matching participants to a conversation
US6701362B1 (en) 2000-02-23 2004-03-02 Purpleyogi.Com Inc. Method for creating user profiles
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US6442693B1 (en) 2000-03-31 2002-08-27 Ge Financial Assurance Holdings, Inc. Method and system for providing secure online communications between registered participants
US20020032905A1 (en) * 2000-04-07 2002-03-14 Sherr Scott Jeffrey Online digital video signal transfer apparatus and method
US7814208B2 (en) * 2000-04-11 2010-10-12 Science Applications International Corporation System and method for projecting content beyond firewalls
AU2001261141A1 (en) * 2000-05-02 2001-11-12 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
US6816906B1 (en) 2000-05-08 2004-11-09 International Business Machines Corporation Mechanism for building access control structures for authoring systems
US6581072B1 (en) 2000-05-18 2003-06-17 Rakesh Mathur Techniques for identifying and accessing information of interest to a user in a network environment without compromising the user's privacy
EP1657663A3 (en) 2000-05-19 2006-06-07 Netscape Communications Corporation Adaptive multi-tier authentification system
US6772160B2 (en) 2000-06-08 2004-08-03 Ingenuity Systems, Inc. Techniques for facilitating information acquisition and storage
US20020057284A1 (en) 2000-06-29 2002-05-16 Dalby Richard Sean Methods and systems for delivering announcements to users of an information system
US7047202B2 (en) 2000-07-13 2006-05-16 Amit Jaipuria Method and apparatus for optimizing networking potential using a secured system for an online community
AU7593601A (en) 2000-07-14 2002-01-30 Atabok Inc Controlling and managing digital assets
WO2002007011A1 (en) 2000-07-18 2002-01-24 Learningsoft Corporation Adaptive content delivery system and method
JP2002055935A (ja) 2000-08-07 2002-02-20 Sony Corp 情報処理装置および情報処理方法、サービス提供システム、並びに記録媒体
US7054900B1 (en) 2000-08-18 2006-05-30 Netzero, Inc. Automatic, profile-free web page recommendation
US20020032634A1 (en) 2000-09-11 2002-03-14 Abrams Howard Allan Method and system for online live auctions
AU2001294168A1 (en) 2000-10-03 2002-04-15 Vidius Inc. Secure distribution of digital content
US6970840B1 (en) 2000-10-06 2005-11-29 Martsoft Corporation Method and system for providing virtual access to information distributed across heterogeneous catalog servers
US7197470B1 (en) 2000-10-11 2007-03-27 Buzzmetrics, Ltd. System and method for collection analysis of electronic discussion methods
US7370015B2 (en) 2000-10-12 2008-05-06 Sap Portals Israel Ltd. User impersonation by a proxy server
JP4433600B2 (ja) 2000-10-31 2010-03-17 ソニー株式会社 情報処理装置および方法、並びに記録媒体
CA2361022A1 (en) 2000-11-03 2002-05-03 Charles Allan Armstrong Knowledge management system
US7140044B2 (en) 2000-11-13 2006-11-21 Digital Doors, Inc. Data security system and method for separation of user communities
US7103634B1 (en) 2000-11-16 2006-09-05 International Business Machines Corporation Method and system for e-mail chain group
US7072982B2 (en) 2000-11-22 2006-07-04 Microsoft Corporation Universal naming scheme for peer to peer resources
US7024391B2 (en) 2000-12-04 2006-04-04 Kraft Foods Holdings, Inc. System, method and program product for sharing information
US6941370B2 (en) 2000-12-20 2005-09-06 International Business Machines Corporation Dynamic proxy reconfiguration system and method to support sharing of extra capacity
US6993564B2 (en) 2000-12-22 2006-01-31 At&T Corp. Method of authorizing receipt of instant messages by a recipient user
US7467212B2 (en) 2000-12-28 2008-12-16 Intel Corporation Control of access control lists based on social networks
US20020091556A1 (en) 2001-01-08 2002-07-11 Onepub.Com.Inc. Systems and methods for travel networking
US7685224B2 (en) * 2001-01-11 2010-03-23 Truelocal Inc. Method for providing an attribute bounded network of computers
US7774279B2 (en) 2001-05-31 2010-08-10 Contentguard Holdings, Inc. Rights offering and granting
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
US20040148503A1 (en) 2002-01-25 2004-07-29 David Sidman Apparatus, method, and system for accessing digital rights management information
US7120681B2 (en) * 2001-01-30 2006-10-10 International Business Machines Corporation Cluster control in network systems
US7043644B2 (en) * 2001-01-31 2006-05-09 Qurio Holdings, Inc. Facilitating file access from firewall-protected nodes in a peer-to-peer network
US20030018968A1 (en) 2001-02-01 2003-01-23 Mark Avnet Method and apparatus for inserting data into video stream to enhance television applications
US7366759B2 (en) 2001-02-22 2008-04-29 Parity Communications, Inc. Method and system for characterizing relationships in social networks
AU2002252404B2 (en) 2001-03-16 2006-03-16 Netomat, Inc. Sharing, managing and communicating information over a computer network
US7047406B2 (en) 2001-03-21 2006-05-16 Qurlo Holdings, Inc. Method and system for providing a secure peer-to-peer file delivery network
US6871347B2 (en) 2001-04-13 2005-03-22 Interland, Inc. Method and apparatus for facilitating load balancing across name servers
US7272636B2 (en) * 2001-04-24 2007-09-18 Sun Microsystems, Inc. Peer group name server
EP1386448B1 (en) 2001-05-02 2007-02-14 Symbian Limited Group communication method for a wireless communication device
US6757517B2 (en) 2001-05-10 2004-06-29 Chin-Chi Chang Apparatus and method for coordinated music playback in wireless ad-hoc networks
JP4098490B2 (ja) 2001-05-15 2008-06-11 株式会社東芝 知識蓄積支援システムおよび同システムにおけるユーザ操作制限方法
US20040024892A1 (en) 2001-05-21 2004-02-05 Creswell Carroll W. System for providing sequenced communications within a group
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
WO2003003173A1 (en) * 2001-06-26 2003-01-09 Sealedmedia Limited Digital rights management
US6631098B2 (en) 2001-07-02 2003-10-07 Prolific Technology Inc. Dual-mode MP3 player
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
JP4040849B2 (ja) 2001-07-16 2008-01-30 株式会社東芝 知識蓄積支援システムおよび同システムにおけるメッセージ移動方法
US7249107B2 (en) 2001-07-20 2007-07-24 Microsoft Corporation Redistribution of rights-managed content
US7383433B2 (en) 2001-07-31 2008-06-03 Sun Microsystems, Inc. Trust spectrum for certificate distribution in distributed peer-to-peer networks
GB2378274A (en) * 2001-07-31 2003-02-05 Hewlett Packard Co Distributing electronic content
EP1413116A1 (en) 2001-08-03 2004-04-28 Matsushita Electric Industrial Co., Ltd. Access control system
US7089290B2 (en) * 2001-08-04 2006-08-08 Kontiki, Inc. Dynamically configuring network communication parameters for an application
WO2003014955A1 (en) 2001-08-09 2003-02-20 Gigamedia Access Corporation Hybrid system architecture for secure peer-to-peer-communication
US6917944B1 (en) 2001-08-30 2005-07-12 Cisco Technology, Inc. Method and apparatus for configuring access to a plurality of data repositories
GB2379297B (en) * 2001-09-03 2005-02-23 Intercede Ltd Server with file verification
US20030046587A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access using enterprise peer networks
US7454464B2 (en) 2001-09-10 2008-11-18 Intel Corporation Peer discovery and connection management based on context sensitive social networks
US8041803B2 (en) * 2001-09-26 2011-10-18 Qurio Holdings, Inc. Method and system for delivering files in digital file marketplace
US7716287B2 (en) 2004-03-05 2010-05-11 Aol Inc. Organizing entries in participant lists based on communications strengths
EP1442411A4 (en) * 2001-09-30 2006-02-01 Realcontacts Ltd CONNECTING SERVICE
US6629100B2 (en) 2001-10-01 2003-09-30 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture for search and delivery of private images and metadata
GB2381424B (en) 2001-10-26 2005-01-05 Roke Manor Research A method of controlling the amount of data transferred between a terminal and a server
US20030084162A1 (en) 2001-10-31 2003-05-01 Johnson Bruce L. Managing peer-to-peer access to a device behind a firewall
US20030120680A1 (en) 2001-11-16 2003-06-26 Rakesh Agrawal Method for directly providing content and services via a computer network
US7092952B1 (en) 2001-11-20 2006-08-15 Peter Wilens Method for grouping computer subscribers by common preferences to establish non-intimate relationships
US20050021398A1 (en) * 2001-11-21 2005-01-27 Webhound Corporation Method and system for downloading digital content over a network
US7227864B2 (en) 2001-12-17 2007-06-05 Microsoft Corporation Methods and systems for establishing communications through firewalls and network address translators
US20030120928A1 (en) * 2001-12-21 2003-06-26 Miles Cato Methods for rights enabled peer-to-peer networking
US7162480B2 (en) 2001-12-26 2007-01-09 Sbc Technology Resources, Inc. Usage-based adaptable taxonomy
US7088823B2 (en) * 2002-01-09 2006-08-08 International Business Machines Corporation System and method for secure distribution and evaluation of compressed digital information
US7287053B2 (en) 2002-01-15 2007-10-23 International Business Machines Corporation Ad hoc data sharing in virtual team rooms
US20030172053A1 (en) 2002-02-01 2003-09-11 John Fairweather System and method for mining data
US20030154306A1 (en) * 2002-02-11 2003-08-14 Perry Stephen Hastings System and method to proxy inbound connections to privately addressed hosts
US7424701B2 (en) 2002-02-12 2008-09-09 Sandpiper Software, Inc. Method and apparatus for frame-based knowledge representation in the unified modeling language (UML)
US7167910B2 (en) 2002-02-20 2007-01-23 Microsoft Corporation Social mapping of contacts from computer communication information
US20030171941A1 (en) 2002-03-07 2003-09-11 Kraenzel Carl Joseph System and method for identifying synergistic opportunities within and between organizations
US7512649B2 (en) * 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
WO2003082931A1 (fr) 2002-03-28 2003-10-09 Sun Medical Co., Ltd. Composition d'amorce de polymerisation de pate, resine de scellement ou colle chirurgicale et kit d'adhesifs
US6938042B2 (en) 2002-04-03 2005-08-30 Laplink Software Inc. Peer-to-peer file sharing
US20030191814A1 (en) 2002-04-03 2003-10-09 Luu Tran Personalization in a wireless portal server
JP2005522745A (ja) 2002-04-11 2005-07-28 オング コーポレーション ディジタルオーディオコンテンツの分配を管理するためのシステム
US7668901B2 (en) 2002-04-15 2010-02-23 Avid Technology, Inc. Methods and system using a local proxy server to process media data for local area users
US20040039913A1 (en) 2002-04-16 2004-02-26 Sky Kruse Method and system for watermarking digital content and for introducing failure points into digital content
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US6970444B2 (en) 2002-05-13 2005-11-29 Meshnetworks, Inc. System and method for self propagating information in ad-hoc peer-to-peer networks
US20030216824A1 (en) * 2002-05-14 2003-11-20 Docomo Communications Laboratories Usa, Inc. Method and apparatus for self-degrading digital data
US7346696B2 (en) 2002-05-21 2008-03-18 At&T Deleware Intellectual Property, Inc. Group access management system
US20030220980A1 (en) 2002-05-24 2003-11-27 Crane Jeffrey Robert Method and system for providing a computer network-based community-building function through user-to-user ally association
US7568004B2 (en) 2002-06-20 2009-07-28 Linda Gottfried Method and system for sharing brand information
US7107317B2 (en) 2002-06-24 2006-09-12 International Business Machines Corporation Targeted information delivery to multiple users
US8150922B2 (en) 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
JP4076071B2 (ja) * 2002-08-19 2008-04-16 アルパイン株式会社 移動体間の通信方法及び車両通信装置
US7263560B2 (en) * 2002-08-30 2007-08-28 Sun Microsystems, Inc. Decentralized peer-to-peer advertisement
US7627633B2 (en) 2002-08-30 2009-12-01 The Go Daddy Group, Inc. Proxy email method and system
US20040044774A1 (en) 2002-09-04 2004-03-04 Ruchi Mangalik System for providing content sharing and method therefor
US7822810B2 (en) 2002-09-17 2010-10-26 Hewlett-Packard Development Company, L.P. Method and system for peer to peer common channel collaboration
US8204992B2 (en) * 2002-09-26 2012-06-19 Oracle America, Inc. Presence detection using distributed indexes in peer-to-peer networks
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
CN100459534C (zh) * 2002-10-07 2009-02-04 日本电信电话株式会社 分层网络节点及通过该节点构成的网络、节点和分层网络
US20040073659A1 (en) * 2002-10-15 2004-04-15 Carl Rajsic Method and apparatus for managing nodes in a network
US7249123B2 (en) 2002-10-31 2007-07-24 International Business Machines Corporation System and method for building social networks based on activity around shared virtual objects
US7398261B2 (en) 2002-11-20 2008-07-08 Radar Networks, Inc. Method and system for managing and tracking semantic objects
US20040103044A1 (en) 2002-11-26 2004-05-27 Vandewater Eric J. System and method of protecting and promoting digital content
CN1726448A (zh) 2002-12-17 2006-01-25 皇家飞利浦电子股份有限公司 允许内容共享的系统
US7177880B2 (en) 2002-12-19 2007-02-13 International Business Machines Corporation Method of creating and displaying relationship chains between users of a computerized network
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
US7636719B2 (en) 2002-12-19 2009-12-22 Microsoft Corporation Contact schema
US8538895B2 (en) 2004-03-15 2013-09-17 Aol Inc. Sharing social network information
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
US7472110B2 (en) * 2003-01-29 2008-12-30 Microsoft Corporation System and method for employing social networks for information discovery
US7774495B2 (en) * 2003-02-13 2010-08-10 Oracle America, Inc, Infrastructure for accessing a peer-to-peer network environment
WO2004075169A2 (en) 2003-02-19 2004-09-02 Koninklijke Philips Electronics, N.V. System for ad hoc sharing of content items between portable devices and interaction methods therefor
US20040205219A1 (en) * 2003-02-19 2004-10-14 Wen-Syan Li Virtual active network for live streaming media
US20060167804A1 (en) 2003-02-25 2006-07-27 Ali Aydar Track listening and playing service for digital media files
US20040181487A1 (en) 2003-03-10 2004-09-16 Microsoft Corporation Digital media clearing house platform
US20040181517A1 (en) * 2003-03-13 2004-09-16 Younghee Jung System and method for social interaction
US7136945B2 (en) 2003-03-31 2006-11-14 Sony Corporation Method and apparatus for extending protected content access with peer to peer applications
WO2004092901A2 (en) * 2003-04-11 2004-10-28 Richard Postrel Command synchronization method and system
US20040237045A1 (en) * 2003-05-21 2004-11-25 Eintelligence, Inc. Method for asynchronous sharing of integrated spreadsheets using a network
US20050015357A1 (en) * 2003-05-21 2005-01-20 Active Path Solutions, Inc. System and method for content development
US7760729B2 (en) * 2003-05-28 2010-07-20 Citrix Systems, Inc. Policy based network address translation
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
EP1484693A1 (en) * 2003-06-04 2004-12-08 Sony NetServices GmbH Content recommendation device with an arrangement engine
EP1719363A4 (en) * 2003-06-05 2011-05-04 Millennial Net Inc PROTOCOL FOR CONFIGURING A WIRELESS NETWORK
US7069308B2 (en) 2003-06-16 2006-06-27 Friendster, Inc. System, method and apparatus for connecting users in an online computer system based on their relationships within social networks
US7739602B2 (en) * 2003-06-24 2010-06-15 Aol Inc. System and method for community centric resource sharing based on a publishing subscription model
US7769866B2 (en) * 2003-07-14 2010-08-03 Microsoft Corporation Virtual connectivity with subscribe-notify service
US7231249B2 (en) 2003-07-24 2007-06-12 Mirowski Family Ventures, L.L.C. Methods, apparatus, and systems for multiple stimulation from a single stimulator
US8200775B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7188254B2 (en) 2003-08-20 2007-03-06 Microsoft Corporation Peer-to-peer authorization method
KR100493900B1 (ko) 2003-08-21 2005-06-10 삼성전자주식회사 사용자간 콘텐츠에 대한 권한정보의 공유방법
US20050047573A1 (en) * 2003-08-28 2005-03-03 Cameron Jeffrey M. Controlling access to features of call processing software
WO2005025292A2 (en) * 2003-09-12 2005-03-24 Cyota Inc. System and method for risk based authentication
US7316027B2 (en) * 2004-02-03 2008-01-01 Novell, Inc. Techniques for dynamically establishing and managing trust relationships
US20050091316A1 (en) * 2003-10-03 2005-04-28 Oscar Ponce System and method for creating and selectively sharing data elements in a peer-to-peer network
US7281274B2 (en) 2003-10-16 2007-10-09 Lmp Media Llc Electronic media distribution system
US7567987B2 (en) * 2003-10-24 2009-07-28 Microsoft Corporation File sharing in P2P group shared spaces
WO2005043401A1 (en) * 2003-10-30 2005-05-12 Pepper Computer, Inc. Sharing multimedia collection
US7181498B2 (en) * 2003-10-31 2007-02-20 Yahoo! Inc. Community-based green list for antispam
KR100539245B1 (ko) 2003-11-05 2005-12-27 삼성전자주식회사 공기 가이드를 구비한 하드 디스크 드라이브
WO2005048601A1 (en) * 2003-11-12 2005-05-26 Philips Intellectual Property & Standards Gmbh Program recommendation system
US20050114672A1 (en) * 2003-11-20 2005-05-26 Encryptx Corporation Data rights management of digital information in a portable software permission wrapper
US7451190B2 (en) * 2003-11-26 2008-11-11 Yahoo! Inc. Associating multiple visibility profiles with a user of a real-time communication system
US20050203801A1 (en) 2003-11-26 2005-09-15 Jared Morgenstern Method and system for collecting, sharing and tracking user or group associates content via a communications network
US7526459B2 (en) 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive social and process network systems
US7526458B2 (en) * 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive recommendations systems
US7606772B2 (en) 2003-11-28 2009-10-20 Manyworlds, Inc. Adaptive social computing methods
US20050154701A1 (en) 2003-12-01 2005-07-14 Parunak H. Van D. Dynamic information extraction with self-organizing evidence construction
WO2005062843A2 (en) * 2003-12-19 2005-07-14 America On Line, Inc Community messaging lists for authorization to deliver electronic messages
US7475110B2 (en) * 2004-01-07 2009-01-06 International Business Machines Corporation Method and interface for multi-threaded conversations in instant messaging
US8015119B2 (en) * 2004-01-21 2011-09-06 Google Inc. Methods and systems for the display and navigation of a social network
US8010459B2 (en) * 2004-01-21 2011-08-30 Google Inc. Methods and systems for rating associated members in a social network
US7761569B2 (en) * 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
US7707122B2 (en) * 2004-01-29 2010-04-27 Yahoo ! Inc. System and method of information filtering using measures of affinity of a relationship
US7885901B2 (en) * 2004-01-29 2011-02-08 Yahoo! Inc. Method and system for seeding online social network contacts
US7269590B2 (en) * 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
US20050171954A1 (en) * 2004-01-29 2005-08-04 Yahoo! Inc. Selective electronic messaging within an online social network for SPAM detection
US8612359B2 (en) * 2004-01-29 2013-12-17 Yahoo! Inc. Method and system for sharing portal subscriber information in an online social network
US7702728B2 (en) * 2004-01-30 2010-04-20 Microsoft Corporation Mobile shared group interaction
US7310676B2 (en) 2004-02-09 2007-12-18 Proxpro, Inc. Method and computer system for matching mobile device users for business and social networking
US20050198305A1 (en) 2004-03-04 2005-09-08 Peter Pezaris Method and system for associating a thread with content in a social networking environment
US20050198031A1 (en) 2004-03-04 2005-09-08 Peter Pezaris Method and system for controlling access to user information in a social networking environment
US20050197846A1 (en) 2004-03-04 2005-09-08 Peter Pezaris Method and system for generating a proximity index in a social networking environment
US20050195978A1 (en) 2004-03-04 2005-09-08 Miodrag Babic Method and apparatus for encoding and selective distribution of licensed digital content
US7016307B2 (en) 2004-03-11 2006-03-21 Yahoo! Inc. Method and system for finding related nodes in a social network
US20050204038A1 (en) 2004-03-11 2005-09-15 Alexander Medvinsky Method and system for distributing data within a network
US8788492B2 (en) 2004-03-15 2014-07-22 Yahoo!, Inc. Search system and methods with integration of user annotations from a trust network
US20050210409A1 (en) 2004-03-19 2005-09-22 Kenny Jou Systems and methods for class designation in a computerized social network application
US20050210104A1 (en) 2004-03-19 2005-09-22 Marko Torvinen Method and system for presence enhanced group management and communication
US20060020960A1 (en) 2004-03-24 2006-01-26 Sandeep Relan System, method, and apparatus for secure sharing of multimedia content across several electronic devices
US20050216550A1 (en) 2004-03-26 2005-09-29 Paseman William G Communication mode and group integration for social networks
US20050229243A1 (en) 2004-03-31 2005-10-13 Svendsen Hugh B Method and system for providing Web browsing through a firewall in a peer to peer network
US8234414B2 (en) 2004-03-31 2012-07-31 Qurio Holdings, Inc. Proxy caching in a photosharing peer-to-peer network to improve guest image viewing performance
US7849135B2 (en) 2004-04-09 2010-12-07 At&T Mobility Ii Llc Sharing content on mobile devices
US20050243736A1 (en) 2004-04-19 2005-11-03 International Business Machines Corporation System, method, and service for finding an optimal collection of paths among a plurality of paths between two nodes in a complex network
US20050262246A1 (en) 2004-04-19 2005-11-24 Satish Menon Systems and methods for load balancing storage and streaming media requests in a scalable, cluster-based architecture for real-time streaming
US7908663B2 (en) 2004-04-20 2011-03-15 Microsoft Corporation Abstractions and automation for enhanced sharing and collaboration
US20050234864A1 (en) 2004-04-20 2005-10-20 Shapiro Aaron M Systems and methods for improved data sharing and content transformation
US20050240773A1 (en) 2004-04-21 2005-10-27 Fuji Xerox Co., Ltd. Secure file sharing
US7620685B2 (en) 2004-04-21 2009-11-17 Microsoft Corporation Smart shares and transports
US8234374B2 (en) 2004-04-26 2012-07-31 Microsoft Corporation Privacy model that grants access rights and provides security to shared content
US20050268151A1 (en) * 2004-04-28 2005-12-01 Nokia, Inc. System and method for maximizing connectivity during network failures in a cluster system
US7673003B2 (en) 2004-04-28 2010-03-02 Microsoft Corporation Social network email filtering
US7716324B2 (en) 2004-05-12 2010-05-11 Baytsp.Com, Inc. Identification and tracking of digital content distributors on wide area networks
WO2005116979A2 (en) 2004-05-17 2005-12-08 Visible Path Corporation System and method for enforcing privacy in social networks
EP2933746A1 (en) 2004-05-17 2015-10-21 Koninklijke Philips N.V. Processing rights in drm systems
US8190999B2 (en) 2004-05-20 2012-05-29 International Business Machines Corporation System and method for in-context, topic-oriented instant messaging
US20050262530A1 (en) 2004-05-24 2005-11-24 Siemens Information And Communication Networks, Inc. Systems and methods for multimedia communication
US8572221B2 (en) 2004-05-26 2013-10-29 Facebook, Inc. System and method for managing an online social network
US8010458B2 (en) 2004-05-26 2011-08-30 Facebook, Inc. System and method for managing information flow between members of an online social network
US7512984B2 (en) 2004-06-01 2009-03-31 Imera Systems, Inc. Distributed and scalable instant multimedia communication system
CN103037254B (zh) 2004-06-07 2016-07-13 斯灵媒体公司 个人媒体广播系统
US20050273511A1 (en) * 2004-06-08 2005-12-08 Hewlett-Packard Development Company, L.P. Equitable resource sharing in grid-based computing environments
US7788260B2 (en) 2004-06-14 2010-08-31 Facebook, Inc. Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation
US7478078B2 (en) 2004-06-14 2009-01-13 Friendster, Inc. Method for sharing relationship information stored in a social network database with third party databases
US8832138B2 (en) 2004-06-17 2014-09-09 Nokia Corporation System and method for social network search operations
US7788713B2 (en) 2004-06-23 2010-08-31 Intel Corporation Method, apparatus and system for virtualized peer-to-peer proxy services
US7668957B2 (en) 2004-06-30 2010-02-23 Microsoft Corporation Partitioning social networks
US7359894B1 (en) 2004-06-30 2008-04-15 Google Inc. Methods and systems for requesting and providing information in a social network
FR2873526A1 (fr) 2004-07-21 2006-01-27 France Telecom Procede et systeme de gestion de la surcharge d'identite et de la disponibilite privee/publique d'une adresse de messagerie instantanee
US8302164B2 (en) 2004-07-22 2012-10-30 Facebook, Inc. Authorization and authentication based on an individual's social network
US20060036641A1 (en) 2004-07-28 2006-02-16 Antony Brydon System and method for using social networks for the distribution of communications
US7634539B2 (en) 2004-08-02 2009-12-15 Sap Ag Relations between collaboration workspaces
US7444588B2 (en) 2004-08-05 2008-10-28 At&T Intellectual Property, I.L.P. Methods, systems, and storage mediums for providing multi-media content storage and management services
US7387595B2 (en) 2004-08-16 2008-06-17 Intellex, Inc. Exercise machine using lever mounted selectorized dumbbells as exercise mass
US8224966B2 (en) 2004-08-24 2012-07-17 Cisco Technology, Inc. Reproxying an unproxied connection
US7890871B2 (en) 2004-08-26 2011-02-15 Redlands Technology, Llc System and method for dynamically generating, maintaining, and growing an online social network
US7849329B2 (en) 2004-09-01 2010-12-07 Microsoft Corporation Licensing the use of a particular feature of software
US7702730B2 (en) 2004-09-03 2010-04-20 Open Text Corporation Systems and methods for collaboration
US7756540B2 (en) 2004-09-17 2010-07-13 Nextel Communications Inc. Public dispatch chatroom
US7707167B2 (en) 2004-09-20 2010-04-27 Microsoft Corporation Method, system, and apparatus for creating a knowledge interchange profile
US7730129B2 (en) 2004-10-20 2010-06-01 Inbit, Inc. Collaborative communication platforms
US8683351B2 (en) 2004-10-26 2014-03-25 International Business Machines Corporation Chat user interface for threaded text chat systems
US7620996B2 (en) 2004-11-01 2009-11-17 Microsoft Corporation Dynamic summary module
WO2006047879A1 (en) 2004-11-04 2006-05-11 Topeer Corporation System and method for creating a secure trusted social network
US7860019B2 (en) * 2004-11-05 2010-12-28 Toshiba America Research, Inc. Peer-to-peer network and user information discovery and sharing for mobile users and devices
EP1849259B1 (en) * 2004-11-05 2014-12-17 Kabushiki Kaisha Toshiba Network discovery mechanisms
US8413198B2 (en) 2004-11-12 2013-04-02 Intel Corporation System and method for the controlled on-demand distribution of content via a centralized server and a peer-to-peer network
US7698386B2 (en) 2004-11-16 2010-04-13 Qurio Holdings, Inc. Serving content from an off-line peer server in a photosharing peer-to-peer network in response to a guest request
US20060184464A1 (en) 2004-11-22 2006-08-17 Nec Laboratories America, Inc. System and methods for data analysis and trend prediction
US7749084B2 (en) 2004-12-07 2010-07-06 Microsoft Corporation Tool for real-time graphical exploration of interconnected friends and groups
US8876606B2 (en) 2004-12-07 2014-11-04 Microsoft Corporation User-centric method of aggregating information sources to reinforce digital identity
US20060123127A1 (en) 2004-12-08 2006-06-08 Evil Twin Studios, Inc. System and method for organizing online communities and virtual dwellings within a virtual environment
US7519818B2 (en) 2004-12-09 2009-04-14 Microsoft Corporation Method and system for processing a communication based on trust that the communication is not unwanted as assigned by a sending domain
US7657458B2 (en) 2004-12-23 2010-02-02 Diamond Review, Inc. Vendor-driven, social-network enabled review collection system and method
US20060143183A1 (en) 2004-12-23 2006-06-29 Goldberg Adam J System and method for providing collection sub-groups
US7607164B2 (en) 2004-12-23 2009-10-20 Microsoft Corporation Systems and processes for managing policy change in a distributed enterprise
US20060143084A1 (en) * 2004-12-28 2006-06-29 Boloto, Inc. Software and method for advertisor sponsored events within a private centrally managed local or distributed network of users and an optional associated private network card for specialty marketing identification or banking
US20060140134A1 (en) * 2004-12-28 2006-06-29 Boloto, Inc. Advertising business method and system for secure and high speed transmission of media files across an internet, intranet or cable network, and method to avoid digital file sharing or copying
US20060143236A1 (en) 2004-12-29 2006-06-29 Bandwidth Productions Inc. Interactive music playlist sharing system and methods
US20060155813A1 (en) 2005-01-12 2006-07-13 International Business Machines Corporation Instant messaging communications network with selectable responses to active status queries, made to individual user display stations by other user stations, personalized to such other querying user stations
US7606168B2 (en) 2005-01-28 2009-10-20 Attenex Corporation Apparatus and method for message-centric analysis and multi-aspect viewing using social networks
US7689556B2 (en) 2005-01-31 2010-03-30 France Telecom Content navigation service
US8200700B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US20060173963A1 (en) 2005-02-03 2006-08-03 Microsoft Corporation Propagating and responding to announcements in an environment having pre-established social groups
US7852831B2 (en) * 2005-02-22 2010-12-14 Akbar Imran M Method and system for providing private virtual secure Voice over Internet Protocol communications
US20060190536A1 (en) 2005-02-23 2006-08-24 International Business Machines Corporation Method, system and program product for building social networks
US7675874B2 (en) 2005-02-24 2010-03-09 International Business Machines Corporation Peer-to-peer instant messaging and chat system
US7818350B2 (en) 2005-02-28 2010-10-19 Yahoo! Inc. System and method for creating a collaborative playlist
US7665107B2 (en) 2005-03-11 2010-02-16 Microsoft Corporation Viral advertising for interactive services
US20060218225A1 (en) 2005-03-28 2006-09-28 Hee Voon George H Device for sharing social network information among users over a network
US8117277B2 (en) 2005-04-27 2012-02-14 Microsoft Corporation Component based infrastructure for sharing files
US20060248573A1 (en) 2005-04-28 2006-11-02 Content Guard Holdings, Inc. System and method for developing and using trusted policy based on a social model
US7770229B2 (en) 2005-05-11 2010-08-03 Yahoo! Inc. System and method for the propagation of DRM protected content
US20060259733A1 (en) 2005-05-13 2006-11-16 Sony Computer Entertainment Inc. Methods and apparatus for resource management in a logically partitioned processing environment
US7796118B2 (en) 2005-05-24 2010-09-14 Microsoft Corporation Integration of navigation device functionality into handheld devices
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
EP1737180B1 (en) * 2005-06-06 2018-12-26 Comptel Corporation System and method for processing data records in a mediation system
US7890513B2 (en) 2005-06-20 2011-02-15 Microsoft Corporation Providing community-based media item ratings to users
US7849199B2 (en) * 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
US9076175B2 (en) * 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US20070106551A1 (en) 2005-09-20 2007-05-10 Mcgucken Elliot 22nets: method, system, and apparatus for building content and talent marketplaces and archives based on a social network
EP1964003A2 (en) 2005-12-14 2008-09-03 Facebook Inc. Systems and methods for social mapping
US20070143228A1 (en) 2005-12-15 2007-06-21 Microsoft Corporation Licensing matrix
WO2007076072A2 (en) 2005-12-22 2007-07-05 Catalog.Com, Inc. Social network-enabled interactive media player
US20070173325A1 (en) 2006-01-20 2007-07-26 Microsoft Corporation Join in-progress on-line game session
US8037506B2 (en) 2006-03-03 2011-10-11 Verimatrix, Inc. Movie studio-based network distribution system and method
US20070233828A1 (en) * 2006-03-31 2007-10-04 Jeremy Gilbert Methods and systems for providing data storage and retrieval
US8046411B2 (en) 2006-04-28 2011-10-25 Yahoo! Inc. Multimedia sharing in social networks for mobile devices
US20080016081A1 (en) * 2006-07-14 2008-01-17 Anthology Solutions, Inc. System and method for automatic digital library creation
US7992171B2 (en) * 2006-09-06 2011-08-02 Qurio Holdings, Inc. System and method for controlled viral distribution of digital content in a social network
US20080062945A1 (en) * 2006-09-11 2008-03-13 Motorola, Inc. Selecting a leader node for an ad hoc network based on services
US8239677B2 (en) * 2006-10-10 2012-08-07 Equifax Inc. Verification and authentication systems and methods
US7886334B1 (en) * 2006-12-11 2011-02-08 Qurio Holdings, Inc. System and method for social network trust assessment
US8825577B2 (en) * 2010-09-13 2014-09-02 International Business Machines Corporation Using penalty and reward to aggregate data to assess trust

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352630B1 (ko) * 2011-08-02 2014-01-17 광주과학기술원 가상화 노드, 가상화 노드를 설치하여 콘텐츠를 공유하는 사용자 노드, 그리고 가상화 노드를 이용한 콘텐츠 공유 방법

Also Published As

Publication number Publication date
CN101542461A (zh) 2009-09-23
EP2069952A2 (en) 2009-06-17
CN101542461B (zh) 2012-09-26
US20080080392A1 (en) 2008-04-03
US8554827B2 (en) 2013-10-08
WO2008042534A2 (en) 2008-04-10
WO2008042534A3 (en) 2008-11-06

Similar Documents

Publication Publication Date Title
US8554827B2 (en) Virtual peer for a content sharing system
US7782866B1 (en) Virtual peer in a peer-to-peer network
US10554748B2 (en) Content management
US9065835B2 (en) Redirecting web content
JP4363520B2 (ja) ピアツーピア・ネットワークにおけるリソース検索方法
JP3851275B2 (ja) 分散コンピュータ・ネットワークのスケーラブルなリソース・ディスカバリおよび再構成
US8140506B2 (en) File sharing based on social network
JP4938074B2 (ja) リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ
JP5526137B2 (ja) 選択的データ転送ストレージ
TWI575386B (zh) 用以管理資料的計算系統
US20210336839A1 (en) Method of scaling reliability of computing network
US9071569B1 (en) System, method, and computer program for content metadata and authorization exchange between content providers and service providers
KR100706961B1 (ko) 동등 계층 통신을 이용한 블로그 서비스 제공 방법 및시스템
Ibrohimovna et al. Policy-based hybrid approach to service provisioning in federations of personal networks
Chang et al. Service Discovery and Trust in Mobile Social Network in Proximity

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid