KR20090080051A - P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법 - Google Patents
P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1053—Group management mechanisms with pre-configuration of logical or physical connections with a determined number of other peers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
Abstract
본 발명은 P2P(peer-to-peer) 컨텐츠 공유 시스템에 대한 가상 피어(virtual peer)에 관한 것이다. 일반적으로, 가상 피어는 P2P 컨텐츠 공유 시스템에서 다수의 가상 피어 멤버가 하나의 피어 노드처럼 보이게 할 수 있는 논리적 구성(logical construct)이다. 동작을 설명하면, 스폰서 에이전트(sponsoring agent)는 가상 피어를 생성하고 가상 피어를 P2P 네트워크에 등록한다. 일단 등록되면, 가상 피어는 P2P 네트워크에서 새로운 피어 노드처럼 보인다. 효율적인 컨텐츠 공유를 제공하기 위해, 스폰서 에이전트는 가상 피어 멤버들에 의해 공유되는 다수의 디지털 자산(digital asset)의 전부 또는 그 일부분을 설명하는 메타데이터를 획득하고 메타데이터를 가상 피어에 대한 단일의 메타데이터 모음(본 명세서에서 메타데이터 카탈로그(metadata catalog)라고함)으로 통합하는 동작을 하며, 가상 피어 멤버들에 의해 공유되는 디지털 자산의 전부 또는 그 일부분을 캐싱할 수 있다.
가상 피어, 스폰서 노드, 스폰서 에이전트, P2P 네트워크
Description
본 발명은 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 퍼스널 비디오 레코더와 유사한 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)
- 복수의 가상 피어 멤버들 - 각각이 디지털 자산을 호스팅함 - 을 포함하는 가상 피어를 형성하는 단계 - 상기 가상 피어는 P2P(peer-to-peer) 네트워크에서 피어 노드로서 등록되고 스폰서 에이전트는 상기 P2P 네트워크에서 상기 가상 피어에 대한 통신 종단점으로서 동작함 -,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 설명하는 메타데이터를 상기 복수의 가상 피어 멤버로부터 획득하는 단계, 및상기 가상 피어에 대한 메타데이터 카탈로그를 제공하기 위해 상기 메타데이터를 통합하는 단계를 포함하는, 방법.
- 제1항에 있어서, 상기 스폰서 에이전트는 스폰서 노드에 의해 호스팅되고,상기 방법은,상기 메타데이터 카탈로그를 상기 스폰서 노드에 저장하는 단계를 더 포함하는 것인, 방법.
- 제1항에 있어서, 상기 메타데이터를 획득하는 단계는,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 전부를 설명하는 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 포함 하는 것인, 방법.
- 제1항에 있어서, 상기 메타데이터를 획득하는 단계는,적어도 하나의 원하는 메타데이터 유형에 대응하는 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 선택된 부분을 설명하는 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 포함하는 것인, 방법.
- 제1항에 있어서, 상기 메타데이터를 획득하는 단계는,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 선택된 서브셋에 대한 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 포함하는 것인, 방법.
- 제1항에 있어서, 상기 메타데이터에 대한 업데이트를 상기 복수의 가상 피어 멤버들로부터 획득하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 메타데이터를 통합하는 단계는,적어도 하나의 보안 규칙에 기초하여 상기 메타데이터를 필터링하는 단계를 더 포함하는 것인, 방법.
- 제1항에 있어서, 상기 메타데이터를 통합하는 단계는,상기 가상 피어에 대한 원하는 디렉토리 구조를 제공하기 위해 상기 메타데이터를 재구조화하는 단계를 더 포함하는 것인, 방법.
- 제1항에 있어서, 상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 적어도 하나를 사전-캐싱 방식에 따라 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 적어도 하나를 포함하는 복수의 인기있는 디지털 자산을 식별하는 단계,상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 상기 적어도 하나를 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 인기있는 토픽을 식별하는 단계,상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되고 상기 인기있는 토 픽과 관계되어 있는 상기 디지털 자산 중 적어도 하나를 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 인기있는 키워드를 식별하는 단계,상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되고 상기 인기있는 키워드와 연관되어 있는 상기 디지털 자산 중 적어도 하나를 상기 복수의 가상 피어 멤버들 중 상기 하나로부터 획득하는 단계, 및상기 디지털 자산 중 상기 적어도 하나를 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 복수의 디지털 자산이 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 저장되고,상기 방법은,중복된 것들인 일군의 디지털 자산을 상기 복수의 디지털 자산으로부터 검출하는 단계, 및상기 일군의 디지털 자산 중 하나를 제외한 모두를 상기 디지털 자산 캐쉬로부터 제거하는 단계를 더 포함하는 것인, 방법.
- 제1항에 있어서, 상기 스폰서 에이전트는 상기 가상 피어에 대한 적어도 하나의 공유 보안 규칙을 유지하고,상기 방법은,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하는 단계, 및상기 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 가상 피어에 액세스하도록 허가되어 있는지를 판정하는 단계를 더 포함하는 것인, 방법.
- 제1항에 있어서, 상기 스폰서 에이전트는 상기 복수의 가상 피어 멤버들 각각에 대한 적어도 하나의 공유 보안 규칙을 유지하고,상기 방법은,상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하는 단계, 및상기 복수의 가상 피어 멤버들 중 상기 하나에 대한 상기 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하는 단계를 더 포함하는 것인, 방법.
- 제1항에 있어서, 상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청 및 클라이언트로부터의 능력 정보를 수신하는 단계, 및상기 클라이언트로부터의 상기 능력 정보에 기초하여 상기 클라이언트가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 메타데이터 카탈로그에 기초하여 상기 가상 피어에 대한 웹 피드를 발생하는 단계, 및상기 웹 피드를 적어도 하나의 클라이언트에게 제공하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 적어도 하나의 초대 규칙과 상기 메타데이터 카탈로그의 비교에 기초하여 손님이 초대되어 소비할 디지털 자산을 식별하는 단계,상기 식별된 디지털 자산을 소비하도록 상기 손님을 초대하는 초대장을 발생하는 단계, 및상기 초대장을 상기 손님에게 제공하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 클라이언트의 사용자가 상기 디지털 자산 중 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 메타데이터를 수정할 수 있게 해주는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 디지털 자산 중 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 상기 메타데이터를 수정하라는 요청을 수신하는 단계,상기 요청을 제공하는 클라이언트의 소유자가 상기 디지털 자산 중 상기 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 상기 메타데이터를 수정하도록 허가되어 있는지를 판정하는 단계, 및상기 클라이언트의 상기 소유자가 상기 메타데이터를 수정하도록 허가되어 있는 경우, 상기 클라이언트의 상기 소유자가 상기 디지털 자산 중 상기 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 상기 메타데이터를 수정할 수 있게 해주는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 메타데이터 카탈로그로부터의 컨텐츠 발견 요청에 서비스하는 단계를 더 포함하는, 방법.
- 제1항에 있어서, 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 상기 스폰서 에이전트와 연관된 디지털 자산 캐쉬에 캐싱하는 단계, 및상기 디지털 자산 캐쉬로부터의 요청들에 서비스하는 단계를 더 포함하는, 방법.
- P2P(peer-to-peer) 네트워크에서 가상 피어를 호스팅하는 스폰서 노드로서,통신 인터페이스, 및상기 통신 인터페이스와 연관된 제어 시스템을 포함하며,상기 제어 시스템은,복수의 가상 피어 멤버들 - 각각이 디지털 자산을 호스팅함 - 을 포함하는 상기 가상 피어를 형성하고,상기 가상 피어를 P2P 네트워크 내의 피어 노드로서 등록하며 - 상기 스폰서 노드는 상기 P2P 네트워크에서 상기 가상 피어에 대한 통신 종단점으로서 동작함 -,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 설명하는 메타데이터를 상기 복수의 가상 피어 멤버들로부터 획득하고,상기 가상 피어에 대한 메타데이터 카탈로그를 제공하기 위해 상기 메타데이터를 통합하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 복수의 가상 피어 멤버들로부터의 상기 메타데이터는 상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 모두를 설명하는 메타데이터를 포함하는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 복수의 디지털 자산을 디지털 자산 캐쉬에 캐싱하고,중복된 것들인 일군의 디지털 자산을 상기 복수의 디지털 자산으로부터 검출하며,상기 일군의 디지털 자산 중 하나를 제외한 모두를 상기 디지털 자산 캐쉬로부터 제거하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하고,상기 가상 피어에 대한 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 가상 피어에 액세스하도록 허가되어 있는지를 판정하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청을 수신하고상기 복수의 가상 피어 멤버들 중 상기 하나에 대한 적어도 하나의 공유 보안 규칙에 기초하여, 상기 요청을 제공하는 요청측 노드의 소유자가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 복수의 가상 피어 멤버들 중 하나에 의해 호스팅되는 상기 디지털 자산 중 하나에 대한 요청 및 클라이언트로부터의 능력 정보를 수신하고,상기 클라이언트로부터의 상기 능력 정보와 적어도 하나의 컨텐츠 공유 규칙의 비교에 기초하여, 상기 클라이언트가 상기 디지털 자산 중 상기 하나에 액세스하도록 허가되어 있는지를 판정하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 메타데이터 카탈로그에 기초하여 상기 가상 피어에 대한 웹 피드를 발생하고,상기 웹 피드를 적어도 하나의 클라이언트에게 제공하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,클라이언트의 사용자가 상기 디지털 자산 중 선택된 하나에 대한 상기 메타데이터 카탈로그 내의 메타데이터를 수정할 수 있게 해주도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 메타데이터 카탈로그로부터의 컨텐츠 발견 요청에 서비스하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
- 제23항에 있어서, 상기 제어 시스템은 또한,상기 복수의 가상 피어 멤버들에 의해 호스팅되는 상기 디지털 자산의 적어도 일부분을 디지털 자산 캐쉬에 캐싱하고,상기 디지털 자산 캐쉬로부터의 요청들에 서비스하도록 구성되어 있는 것인, P2P 네트워크에서 가상 피어를 호스팅하는 스폰서 노드.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101352630B1 (ko) * | 2011-08-02 | 2014-01-17 | 광주과학기술원 | 가상화 노드, 가상화 노드를 설치하여 콘텐츠를 공유하는 사용자 노드, 그리고 가상화 노드를 이용한 콘텐츠 공유 방법 |
Families Citing this family (96)
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)
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 |
-
2006
- 2006-09-29 US US11/536,888 patent/US8554827B2/en not_active Expired - Fee Related
-
2007
- 2007-08-29 CN CN2007800434757A patent/CN101542461B/zh not_active Expired - Fee Related
- 2007-08-29 EP EP07814516A patent/EP2069952A2/en not_active Withdrawn
- 2007-08-29 WO PCT/US2007/077047 patent/WO2008042534A2/en active Application Filing
- 2007-08-29 KR KR1020097008465A patent/KR20090080051A/ko not_active Application Discontinuation
Cited By (1)
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 |