KR102194021B1 - Peer-to-peer content delivery network, method, and manager - Google Patents

Peer-to-peer content delivery network, method, and manager Download PDF

Info

Publication number
KR102194021B1
KR102194021B1 KR1020167017998A KR20167017998A KR102194021B1 KR 102194021 B1 KR102194021 B1 KR 102194021B1 KR 1020167017998 A KR1020167017998 A KR 1020167017998A KR 20167017998 A KR20167017998 A KR 20167017998A KR 102194021 B1 KR102194021 B1 KR 102194021B1
Authority
KR
South Korea
Prior art keywords
data
routing
file
network
data file
Prior art date
Application number
KR1020167017998A
Other languages
Korean (ko)
Other versions
KR20160102211A (en
Inventor
그레고리 에이치 리클리
알렉산더 사베녹
파벨 사베녹
Original Assignee
그레고리 에이치 리클리
알렉산더 사베녹
파벨 사베녹
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/099,348 external-priority patent/US9549024B2/en
Application filed by 그레고리 에이치 리클리, 알렉산더 사베녹, 파벨 사베녹 filed Critical 그레고리 에이치 리클리
Publication of KR20160102211A publication Critical patent/KR20160102211A/en
Application granted granted Critical
Publication of KR102194021B1 publication Critical patent/KR102194021B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities

Abstract

피어-투-피어(P2P) 콘텐츠 전송 네트워크는 셀렉트 데이터 파일들을 엔드 유저에게 전송한다. 콘텐츠 전송 네트워크는 컴퓨터-파퓰레이트된 네트워크(a computer-populated network) 내에서 클라이언트, P2P 게이트웨이 서버, 및 리소스 네임 서버(RNS)를 제공한다. RNS는 컴퓨터-파퓰레이트된 네트워크 내에서 데이터 리소스 위치들을 캐싱하고, 상기 컴퓨터-파퓰레이트된 네트워크 내에서 최적의 데이터 리소스 위치들을 이용하여 리소스 요청들을 해결한다. 게이트웨이 서버는 RNS를 통해 최적의 데이터 리소스 위치들을 요청 및 수신하고; 최적의 데이터 리소스 위치들을 거쳐 컴퓨터-파퓰레이트된 네트워크로부터 데이터 파일들을 요청 및 수신하고; 클라이언트로의 데이터 파일 전송을 위해 수신된 데이터 파일들을 처리한다. 따라서, 네트워크는 셀렉트 데이터 파일들을 엔드 유저에게 최적으로 전송하기 위한 기점-무관형(origin-agnostic)의 데이터 전송 방법을 가능하게 한다. 데이터-라우팅 통제 또는 관리 유틸리티는 산업 권리 관리, 컴플라이언스 모니터링, 및/또는 데이터 파일 전송의 컴플라이언스 보고를 제공하기 위해 콘텐츠 전송 네트워크 및 관련 방법을 통제/관리한다. A peer-to-peer (P2P) content delivery network delivers select data files to end users. The content delivery network provides a client, a P2P gateway server, and a resource name server (RNS) within a computer-populated network. RNS caches data resource locations within a computer-populated network and resolves resource requests using optimal data resource locations within the computer-populated network. The gateway server requests and receives optimal data resource locations via RNS; Request and receive data files from the computer-populated network via optimal data resource locations; Processes received data files for data file transfer to the client. Thus, the network enables an origin-agnostic data transmission method for optimally transmitting select data files to end users. The data-routing control or management utility controls/manages the content delivery network and related methods to provide industry rights management, compliance monitoring, and/or compliance reporting of data file transfers.

Description

피어-투-피어 콘텐츠 전송 네트워크, 방법, 및 관리자{PEER-TO-PEER CONTENT DELIVERY NETWORK, METHOD, AND MANAGER}Peer-to-peer content delivery network, method, and manager {PEER-TO-PEER CONTENT DELIVERY NETWORK, METHOD, AND MANAGER}

본 발명은 일반적으로 콘텐츠 전송 네트워크, 및 미디어 컴플라이언스 엔진(a media compliance engine)을 제공하는 관련 방법에 관한 것이다. 본 발명에 따른 미디어 컴플라이언스 엔진은, 미디어의 전송을 최적화하고 보고 프로세스를 간소화하는 데 피어-투-피어 네트워크들 및 다수의 데이터 기점(data origins)(클라우드)을 이용하는 로컬 게이트웨이 서버들로써 동작한다. 본 발명에 따른 미디어 컴플라이언스 엔진은 스트리밍 제공자들로부터의 요청들을 최적화된 데이터 소스 및 네트워크와 매칭한다. 이렇게 함으로써, 미디어 컴플라이언스 엔진은 대역폭 소비, 라이센싱, 및 보고 비용을 최소화할 수 있다. The present invention generally relates to a content delivery network, and a related method for providing a media compliance engine. The media compliance engine according to the present invention operates as local gateway servers that use peer-to-peer networks and multiple data origins (cloud) to optimize the transmission of media and simplify the reporting process. The media compliance engine according to the present invention matches requests from streaming providers with an optimized data source and network. By doing so, the media compliance engine can minimize bandwidth consumption, licensing, and reporting costs.

본 발명은, 백엔드 시스템(back end systems)에 대한 어떠한 변화 없이, 임의의 기존의 표준형 콘텐츠 전송 네트워크, 또는 서버 구성에 추가될 수 있는 피어-투-피어 콘텐츠 전송 네트워크(CDN)를 제공한다. 본 발명에 따른 피어-투-피어 CDN은 엔드 유저가 로컬 피어-투-피어 게이트웨이 서버를 클라이언트 머신 상에 설치할 때에 형성된다. 게이트웨이 서버는 암호화 또는 복호화된 접속(예를 들어, HTTP, HTTPS, 보안 소켓, 및/또는 소켓)을 거쳐 미디어 소비 클라이언트로부터 요청(들)을 수신한다. The present invention provides a peer-to-peer content delivery network (CDN) that can be added to any existing standard content delivery network, or server configuration, without any changes to the back end systems. A peer-to-peer CDN according to the present invention is formed when an end user installs a local peer-to-peer gateway server on a client machine. The gateway server receives request(s) from the media consuming client over an encrypted or decrypted connection (eg, HTTP, HTTPS, secure socket, and/or socket).

로컬 게이트웨이 서버는 피어-투-피어 네트워크 상에서 피어로서 동작하고, 또한 다른 피어들로의 전송 또는 데이터 소비 클라이언트로의 로컬 전송을 위한 데이터를 저장하는 암호화된 캐시를 갖는다. 또한, 로컬 게이트웨이 서버는 관련된 원격 데이터 소스(예를 들어, 서버 또는 다른 CDN)로부터 리소스들을 끌어 모을 수 있다. 소비 클라이언트는 단지 게이트웨이 서버로 단일 요청을 전달해야 할 것이며, 게이트웨이 서버는 클라이언트와는 별개로 리소스들 및 네트워크 접속을 관리한다. 이러한 타입의 셋업은 독립형 데스크탑 애플리케이션들로의 미디어 전송뿐만 아니라, 표준형 웹 브라우저들의 능력들(예를 들어, HTTP, HTTPS, 및/또는 소켓)을 갖는 모바일 애플리케이션, 브라우저 및 미디어 플레이어로의 미디어의 전송을 가능하게 한다. The local gateway server operates as a peer on a peer-to-peer network and also has an encrypted cache that stores data for transmission to other peers or for local transmission to data consuming clients. In addition, the local gateway server can pull resources from an associated remote data source (eg, server or other CDN). The consuming client will only have to forward a single request to the gateway server, and the gateway server manages resources and network connections independently of the client. This type of setup allows for media transfer to standalone desktop applications, as well as mobile applications, browsers and media players with the capabilities of standard web browsers (e.g. HTTP, HTTPS, and/or sockets). Makes it possible.

본 발명은 로컬 머신 상의 클라이언트로부터 통신을 수신하는 P2P 게이트웨이 서버를 제공한다. 통신 또는 요청은 로컬 도메인 네임 아래에서 등록되는 것인 로컬 게이트웨이 서버를 향한 표준 HTTP 요청으로서 포맷될 수 있다. 게이트웨이 서버가 존재하는 예비 포트(a reserved port)를 참조한다는 새로운 전송 프로토콜이 형성되는 경우에 요청(들)이 상이하게 포맷될 수 있음을 고려한다. 이 경우에, 요청은 약간 상이하게(즉, HTTP 프리픽스 없이) 포맷될 것이다. The present invention provides a P2P gateway server for receiving communication from a client on a local machine. The communication or request can be formatted as a standard HTTP request directed to the local gateway server, which is registered under the local domain name. Consider that the request(s) may be formatted differently when a new transport protocol that refers to a reserved port in which the gateway server exists is formed. In this case, the request will be formatted slightly differently (ie, without the HTTP prefix).

본 발명은 리소스 네임 서버(RNS; Resource Name Server)를 제공하고, 이 RNS는 리소스 URL 및 리소스 위치(즉, IP 어드레스)를 캐싱하며 또한 머신 어드레스를 갖고서 리소스 요청들을 해결한다. 비매칭된 미디어 타입에 대한 일반적인 프로세스 또는 방법은 이하와 같다. The present invention provides a Resource Name Server (RNS), which RNS caches the resource URL and resource location (i.e., IP address) and also has a machine address to resolve resource requests. A general process or method for mismatched media types is as follows.

1. 클라이언트는 리소스들에 대한 요청을 게이트웨이 서버로 전송한다;1. The client sends a request for resources to the gateway server;

2. 그 후에 게이트웨이 서버는 리소스 어드레스를 갖고서 리소스 요청을 해결하기 위해 RNS로 요청을 전송한다; 2. The gateway server then sends the request to the RNS to resolve the resource request with the resource address;

3. 리소스 요청이 최적의(최소 비용의) 리소스 위치들과 매칭되면, 리소스 위치 데이터는 게이트웨이 서버로 되돌려 보내진다; 3. If the resource request matches the optimal (least cost) resource locations, the resource location data is sent back to the gateway server;

4. 그 후에 게이트웨이는 리소스 데이터에 대한 요청을 적절한 머신들 또는 서버 클러스터들로 전송한다;4. The gateway then sends the request for resource data to the appropriate machines or server clusters;

5. 그 후에 머신들 또는 서비스 클러스터들은 로컬 머신에 위치한 게이트웨이 서버에 대해 요청되는 데이터를 제공함으로써 응답한다; 5. The machines or service clusters then respond by providing the requested data to the gateway server located on the local machine;

6. 게이트웨이 프로세스는 데이터를 조직화 및 검증하고 나서, 로컬 머신 상의 클라이언트로 리소스들을 전송한다;6. The gateway process organizes and verifies the data and then transfers the resources to the client on the local machine;

종래의 클라이언트-서버 관계에서, 클라이언트가 서버로부터 데이터를 요청하고, 클라이언트 요청에 따라 서버가 데이터를 전송한다는 것을 독자는 유의할 것이다. 종래의 비관리형 피어-투-피어 네트워크에서, 각 피어는 서버(즉, 데이터의 전송자) 및 클라이언트(즉, 데이터의 수신자)의 양쪽으로서 동작할 수 있다. 비관리형 환경에서, 데이터에 대한 요청은 파일이 위치될 때까지 피어에서부터 피어로 전달된다. The reader will note that in a conventional client-server relationship, the client requests data from the server, and the server sends the data according to the client request. In a conventional unmanaged peer-to-peer network, each peer can act as both a server (ie, a sender of data) and a client (ie, a recipient of data). In an unmanaged environment, requests for data are passed from peer to peer until the file is located.

관리형 피어-투-피어 네트워크는 리소스들을 인덱싱하는 중앙 집중형 서버를 갖는다. 이러한 네트워크에서의 피어들은 그들의 이용가능성을 보고 및 등록함으로써, 리소스의 위치 설정을 보다 용이하고 빠르게 할 수 있다. 하이브리드 시스템에서, 피어-투-피어 네트워크는 저비용의 피어 전송을 제공하되 중압 집중형 데이터 소스의 일관성 및 속도를 제공하도록, 또한 관리형 피어-투-피어 네트워크에서와 같이 리소스 전송을 신속히 처리하기 위해, 중앙 집중형 데이터 소스/인덱싱 서버와 함께 사용된다. 이러한 상황에서, 데이터 기점 서버 및 피어들이 합쳐져서 데이터를 전송한다. A managed peer-to-peer network has a centralized server that indexes resources. Peers in these networks can make the location of resources easier and faster by reporting and registering their availability. In hybrid systems, peer-to-peer networks provide low-cost peer transport, but to provide consistency and speed of heavy-duty centralized data sources, and to expedite resource transfers as in managed peer-to-peer networks. , Used with a centralized data source/indexing server. In this situation, the data origin server and peers merge to transmit data.

본 발명에 의하면, 클라이언트는 독립형 클라이언트이며, 데이터 요청은 발신되어 독립형 클라이언트(브라우저, 데스크탑 또는 모바일 애플리케이션)에 의해 소비된다. 상기한 네트워크들과는 달리, 데이터에 대한 요청은 피어에 의해 발신되지 않지만, 종래의 클라이언트 서버 관계에서와 같이 독립형 클라이언트에 의해 발신된다. According to the invention, the client is a standalone client, and data requests are sent and consumed by the standalone client (browser, desktop or mobile application). Unlike the networks described above, requests for data are not originated by peers, but are originated by standalone clients as in a conventional client-server relationship.

게이트웨이 서버는 요청을 수신하고 나서, 리소스 네임 서버(즉, 리소스 인덱싱 서버)에 의해 리소스에 대한 요청을 해결한다. RNS는 리소스 기점 또는 피어일 수 있는 리소스 위치(즉, IP 어드레스)로 응답한다. 네트워크가 데이터 기점에 무관하다고 하면, 피어 데이터는 중앙 데이터 서버에 의해 관리되는 것이 아니라, 요청들이 전달되어 게이트웨이 서버에서 캐싱되는 것과 같이 RNS 상에서 인덱싱된다. The gateway server receives the request and then resolves the request for the resource by the resource name server (i.e., the resource indexing server). The RNS responds with a resource origin (ie, an IP address), which can be a resource origin or peer. Assuming the network is irrelevant to the origin of the data, peer data is not managed by a central data server, but rather indexed on the RNS as requests are forwarded and cached at the gateway server.

따라서, 이러한 네트워크에서, 데이터 소스는 리소스 인덱싱 서버로부터 떨어져 있으므로, 독립형 클라이언트에 의한 임의의 데이터 요청이 데이터 기점 또는 피어-투-피어(P2P) 네트워크로부터 입력되도록 될 수 있고, 이는 요청이 독립형 클라이언트로부터 전송될 때에 P2P 네트워크 내 데이터가 캐싱되기 때문이다. Thus, in such a network, since the data source is away from the resource indexing server, any data request by a standalone client can be made to be input from a data origin or peer-to-peer (P2P) network, which means that the request is sent from a standalone client This is because data in the P2P network is cached when transmitted.

본 발명의 다른 특징들은 본 발명의 예시에 대한 이하의 간단한 설명으로부터 보다 자명해질 것이다.
도 1은 서브-스트림 패킷들의 행 및 검증 패킷들의 열을 포함하는 데이터 파일에 대한 단편화된 구성을 도시한 도면이다.
도 2는 서버 클러스터들의 클라우드 및 리소스 네임 버서의 중간에 위치된 게이트웨이 서버를 나타내고 있는, 본 발명에 따른 시스템 개요를 나타내는 제 1 도면이다.
도 3은 서버 클러스터들의 클라우드 및 리소스 네임 버서의 중간에 위치된 게이트웨이 서버를 나타내고 있는, 본 발명에 따른 시스템 개요를 나타내는 제 2 도면이다.
도 4는 도메인 네임 서버 시스템 개요를 나타내는 도면이다.
도 5는 리소스 네임 서버 시스템 개요를 나타내는 도면이다.
도 6은 비플러그인(non-plug-in) 보안 측정 개요를 나타내는 도면이다.
도 7은 클라이언트가 데이터를 요청하여 서버가 데이터를 전송하는 종래의 클라이언트-서버 관계를 나타내는 도면이다.
도 8은 각 피어가 서버 및 클라이언트의 양쪽으로서 동작할 수 있으며, 파일이 위치될 때까지 데이터에 대한 요청들이 피어에서부터 피어로 전달되는 피어-투-피어 비관리형 네트워크 개요를 나타내는 도면이다.
도 9는 중앙 집중형 서버가 리소스들을 인덱싱하고 피어들이 그들의 이용 가능성을 보고 및 등록하는 피어-투-피어 관리형 네트워크 개요를 나타내는 도면이다.
도 10은 저비용의 피어 전송을 제공하되 중앙 집중형 데이터 소스의 일관성 및 속도를 제공하도록 중앙 집중형 데이터 소소/인덱싱 서버와 함께 피어-투-피어 네트워크가 사용되는 피어-투-피어 중앙 집중형 하이브리드 네트워크 개요를 나타내는 도면이다.
도 11은 피어-투-피어 게이트웨이 서버 네트워크 개요를 나타내는 도면이다.
도 12는 보안 접속들이 로컬 서버 및 브라우저 관점에서 어떻게 구조화되는지를 나타내는 도면이다.
도 13은 로컬 게이트웨이 서버가 플러그인을 통해 어떻게 검증되는지를 나타내는 도면이다.
도 14는 초기 요청을 갖되 파일 매칭이 없는 리소스 인덱싱 구성을 나타내는 도면이다.
도 15는 후속 요청을 갖고 파일 매칭을 갖지 않는 리소스 인덱싱 구성을 나타내는 도면이다.
도 16은 초기 요청을 갖는 프로그레시브 클라우드 인덱싱 구성을 나타내는 도면이다.
도 17은 로컬 리소스 인덱싱 구성을 나타내는 도면이다.
도 18은 제 1 인덱싱된 리소스 요청 프로세싱 구성을 나타내는 도면이다.
도 19는 제 2 인덱싱된 리소스 요청 프로세싱 구성을 나타내는 도면이다.
도 20은 제 3 인덱싱된 리소스 요청 프로세싱 구성을 나타내는 도면이다.
도 21은 제 4 인덱싱된 리소스 요청 프로세싱 구성을 나타내는 도면이다.
도 22는 서브-라이센싱의 클라우드 전송 구성을 나타내는 도면이다.
도 23은 서브-라이센싱의 피어-투-피어 전송 구성을 나타내는 도면이다.
도 24는 본 발명에 따라 모바일 디바이스에서 노래가 재생되는 것을 요청하는 스트리밍 제공자를 나타내는 제 1 도면이다.
도 25는 본 발명에 따라 모바일 디바이스에서 노래가 재생되는 것을 요청하는 스트리밍 제공자를 나타내는 제 2 도면이다.
도 26은 본 발명에 따른 게이트웨이 서버 개선형 시스템 개요를 나타내는 도면이다.
도 27은 본 발명에 따른 사전 레코드된 미디어 큐 구성을 나타내는 도면이다.
도 28은 본 발명에 따른 스트림 분할 구성을 나타내는 도면이다.
도 29는 오디오 스트림의 프레임 헤더들 및 오디오 프레임들을 나타내는 본 발명에 따른 MP3 파일 구조를 도시하는 도면이다.
도 30은 인터넷을 통한 스트리밍 라디오를 위한 기술 방법들의 상태를 나타내는 도면이다.
도 31은 본 발명에 따른 오디오 믹싱 없는 광고 통합을 위한 시스템 개요를 나타내는 도면이다.
도 32는 본 발명에 따른 광고 표시자 구성을 나타내는 도면이다.
도 33은 브라우저들 및/또는 다른 미디어-소비 클라이언트들로부터의 HTTP 요청들을 라우팅하는 것에 관련된 방법을 나타내는 도면이다.
Other features of the invention will become more apparent from the following brief description of examples of the invention.
1 is a diagram showing a fragmented configuration of a data file including a row of sub-stream packets and a column of verification packets.
2 is a first diagram showing a system overview according to the present invention, showing a gateway server located in the middle of a cloud of server clusters and a resource name server.
3 is a second diagram showing a system overview according to the present invention, showing a gateway server located in the middle of a cloud of server clusters and a resource name server.
4 is a diagram showing an overview of a domain name server system.
5 is a diagram showing an overview of a resource name server system.
6 is a diagram showing an overview of non-plug-in security measurement.
7 is a diagram illustrating a conventional client-server relationship in which a client requests data and a server transmits data.
Figure 8 is a diagram illustrating a peer-to-peer unmanaged network overview in which each peer can act as both a server and a client, and requests for data are passed from peer to peer until a file is located.
9 is a diagram illustrating a peer-to-peer managed network overview in which a centralized server indexes resources and peers report and register their availability.
Figure 10 is a peer-to-peer centralized hybrid in which a peer-to-peer network is used with a centralized data source/indexing server to provide low-cost peer transport, but to provide consistency and speed of centralized data sources. It is a diagram showing the outline of the network.
11 is a diagram illustrating an overview of a peer-to-peer gateway server network.
12 is a diagram showing how secure connections are structured from a local server and browser perspective.
13 is a diagram showing how a local gateway server is verified through a plug-in.
14 is a diagram illustrating a resource indexing configuration with an initial request but no file matching.
15 is a diagram showing a resource indexing configuration with a subsequent request and no file matching.
16 is a diagram showing a progressive cloud indexing configuration with an initial request.
17 is a diagram showing a configuration of local resource indexing.
18 is a diagram illustrating a first indexed resource request processing configuration.
19 is a diagram illustrating a second indexed resource request processing configuration.
20 is a diagram illustrating a third indexed resource request processing configuration.
21 is a diagram illustrating a fourth indexed resource request processing configuration.
22 is a diagram showing a cloud transmission configuration of sub-licensing.
23 is a diagram showing a peer-to-peer transmission configuration of sub-licensing.
24 is a first diagram illustrating a streaming provider requesting a song to be played on a mobile device according to the present invention.
25 is a second diagram showing a streaming provider requesting a song to be played on a mobile device according to the present invention.
26 is a diagram illustrating an overview of a gateway server improved system according to the present invention.
27 is a diagram showing a configuration of a pre-recorded media queue according to the present invention.
28 is a diagram showing a stream division configuration according to the present invention.
FIG. 29 is a diagram showing a structure of an MP3 file according to the present invention showing frame headers and audio frames of an audio stream.
30 is a diagram showing the state of technology methods for streaming radio over the Internet.
31 is a diagram illustrating a system overview for advertisement integration without audio mixing according to the present invention.
32 is a diagram showing the configuration of an advertisement indicator according to the present invention.
33 is a diagram illustrating a method related to routing HTTP requests from browsers and/or other media-consuming clients.

이제 보다 구체적으로 도면들을 참조해 보면, 본 발명은 콘텐츠 전송 네트워크, 및 클라우드 무관형의 피어-투-피어 데이터 스트리밍(Cloud Agnostic Peer-to-Peer Data Streaming)을 위한 관련 방법을 제공한다. 상기한 바와 같이, 본 발명은 3으로 도시 및 인용되는 바와 같은 피어-투-피어(P2P) 게이트웨이 서버를 포함한다. P2P 게이트웨이 서버(3)는 로컬 머신(101) 상의 클라이언트(2)로부터 (200에서와 같은) 통신들을 수신한다. Referring now to the drawings in more detail, the present invention provides a content delivery network and a related method for Cloud Agnostic Peer-to-Peer Data Streaming. As noted above, the present invention includes a peer-to-peer (P2P) gateway server as shown and referred to as 3. The P2P gateway server 3 receives communications (as in 200) from the client 2 on the local machine 101.

이들 요청들은 로컬 도메인 네임 아래에서 등록되는 것들인 로컬 게이트웨이 서버(3)를 향한 표준 HTTP 요청들로서 포맷될 수 있다. 웹 브라우저들 및 다른 디바이스들로부터의 라우팅 HTTP 요청들이 국부적으로 등록된 도메인 네임들의 사용을 포함할 수 있으며 프로토콜들이 실행가능한 방법들인 반면에, 이하의 방법은 브라우저들 및 다른 미디어 소비 클라이언트들로부터 HTTP 요청들을 라우팅할 때에 선호된다. These requests can be formatted as standard HTTP requests directed to the local gateway server 3 which are those registered under the local domain name. While routing HTTP requests from web browsers and other devices may involve the use of locally registered domain names and protocols are viable methods, the following method provides HTTP requests from browsers and other media consuming clients. Preferred when routing them.

소비 클라이언트(2)는 피어-투-피어 원격 서버(4) 또는 리소스 네임 서버(4)에 대해 완전히 포맷된 도메인 네임(a Fully Formatted domain name)을 부여받는다. 단순화를 위해, 독자는 도메인 네임 www.rns_server.com을 생각할 것이다. 144에서와 같은 피어-투-피어 콘텐츠 전송 네트워크(CDN)를 통해 미디어(401)를 요청하기 위해, 클라이언트(2)는 RNS 공용 도메인 네임을 갖는 URL, 및 요청된 미디어의 위치를 갖는 GET 변수로서 www.rns_server.com?media=www.somemediasource.com/media.mp4&protocol=http 형태의 일부를 포함한다. The consuming client 2 is given a Fully Formatted domain name for the peer-to-peer remote server 4 or the resource name server 4. For simplicity, the reader will consider the domain name www.rns_server.com. To request media 401 via a peer-to-peer content delivery network (CDN) as in 144, the client 2 serves as a URL with the RNS public domain name, and a GET variable with the location of the requested media. Includes a part of the form www.rns_server.com?media=www.somemediasource.com/media.mp4&protocol=http.

RNS(4)는 요청을 수신하면, 2개의 별개의 데이터베이스에게 질의(404)한다. 제 1 질의는 임의의 네트워크 피어들(3)이 요청중인 디바이스들의 로컬 네트워크(101) 내에 존재하는지를 식별하기 위해 상기 요청중인 디바이스들의 공용 IP 어드레스를 사용한다. 제 2 질의는 피어-투-피어(P2P) CDN(144) 내에서 (200, 207, 208, 209, 및 210에서와 같이) 스트리밍에 이용가능한 요청된 미디어를 이용하여 피어들(3)을 식별하기 위해 리소스 데이터베이스를 탐색한다. Upon receiving the request, the RNS 4 queries 404 two separate databases. The first query uses the public IP address of the requesting devices to identify if any network peers 3 are present in the local network 101 of the requesting devices. The second query identifies peers 3 using the requested media available for streaming (as in 200, 207, 208, 209, and 210) within a peer-to-peer (P2P) CDN 144 To do this, it searches the resource database.

질의들(404)의 결과에 기초하여, 이하의 일들이 발생할 수 있다. 먼저, 로컬 네트워크 상에 등록된 피어가 없으면, 요청은 403에서와 같이 미디어의 원격 소스(104)로 다시 향하게 되고, P2P 네트워크(144)는 이용되지 않을 것이다. 로컬 네트워크(101) 내에 등록된 피어(3)가 있으면, 요청은 402에서와 같이 제 2 질의(404)에서 검색되었던 리소스 위치 및 이용가능성 데이터와 함께 로컬 네트워크 피어(3)로 다시 향하게 된다. 그 후에 로컬 네트워크 피어(3)는 (200, 207, 208, 209, 및 210에서와 같이) 미디어 스트림을 다룬다. Based on the results of queries 404, the following may occur. First, if there is no registered peer on the local network, the request will be directed back to the remote source 104 of media, as at 403, and the P2P network 144 will not be used. If there is a registered peer 3 in the local network 101, the request is directed back to the local network peer 3 with the resource location and availability data that was retrieved in the second query 404 as in 402. The local network peer 3 then handles the media stream (as in 200, 207, 208, 209, and 210).

따라서, 독자는 4로 인용된 RNS가 본 발명의 실시에 대해 중심임을 이해할 것이다. RNS(4)는 리소스 URL 및 리소스 위치(IP 어드레스)를 캐싱하고, 머신 어드레스(IP 어드레스)를 이용하여 리소스 요청들을 해결한다. 비매칭된 미디어 타입에 대한 일반적인 프로세스는 이하와 같을 것이다. 클라이언트(2)는 (200에서와 같이) 리소스들에 대한 요청을 게이트웨이 서버(3)로 전송한다. Accordingly, the reader will understand that the RNS cited at 4 is central to the practice of the present invention. The RNS 4 caches the resource URL and resource location (IP address), and uses the machine address (IP address) to resolve resource requests. The general process for mismatched media types would be as follows. The client 2 sends a request for resources to the gateway server 3 (as in 200).

그 후에 게이트웨이 서버(3)는 (203에서와 같은) 착신 리소스 ID/URL 요청을 (204에서와 같은) 리소스 어드레스를 이용하여 해결하기 위해 (201에서와 같이) 요청을 분리된 RNS(4)로 전송하여, 도 5에 보다 구체적으로 도시된 바와 같이 리소스 또는 IP 어드레스가 그 후에 (205에서와 같이) 게이트웨이 서버(3)로 다시 통신된다. 즉, 리소스 요청(203)이 202에서와 같이 최적의(예를 들어, (a) 가장 가격 효율적인 또는 (b) 소스의 최고 사운드 품질의) 리소스 위치(204)와 매칭되면, 리소스 위치 데이터 또는 IP 어드레스(들)(204)는 205에서와 같이 게이트웨이 서버(3)로 리턴된다. The gateway server 3 then routes the request (as in 201) to a separate RNS 4 to resolve the incoming resource ID/URL request (as in 203) using the resource address (as in 204). By sending, the resource or IP address is then communicated back to the gateway server 3 (as in 205), as shown more specifically in FIG. 5. That is, if the resource request 203 matches the optimal (e.g., (a) the most cost effective or (b) the highest sound quality of the source) resource location 204 as in 202, the resource location data or IP The address(s) 204 is returned to the gateway server 3 as in 205.

그 후에 게이트웨이 서버(3)는 (206, 207, 및 208에서와 같이) 리소스 데이터에 대한 요청(들)을 적절한 머신들(102 및/또는 103) 또는 104에서와 같은 서버 클러스터들로 전송한다. 머신들(102/103) 또는 서버 클러스터들(104)은 그 후에 머신(101)에 위치된 게이트웨이 서버(3)로 요청받은 데이터를 (209에서와 같이) 제공함으로써 응답한다. 머신(101) 상의 게이트웨이 서버(3)는 209에서 제공된 바와 같은 데이터를 처리(즉, 조직화 및 검증)하고, 그 후에 리소스들을 클라이언트(2)에게 전송(210)한다. The gateway server 3 then sends the request(s) for resource data (as in 206, 207, and 208) to the appropriate machines 102 and/or 103 or server clusters as in 104. Machines 102/103 or server clusters 104 then respond by providing the requested data (as in 209) to a gateway server 3 located on machine 101. The gateway server 3 on the machine 101 processes (i.e., organizes and verifies) the data as provided at 209, and then transfers 210 the resources to the client 2.

소정의 클라이언트-서버-피어 관계들은 기본적으로 도 7, 8, 9 및 10에 도시되어 있다. 종래의 클라이언트-서버 관계는 도 7에 도시되어 있고; 비관리형 피어-투-피어 네트워크는 도 8에 도시되어 있으며; 관리형 피어-투-피어 네트워크는 도 9에 도시되어 있고; 중앙 집중형/하이브리드 피어-투-피어 네트워크는 도 10에 도시되어 있다. Certain client-server-peer relationships are basically shown in Figures 7, 8, 9 and 10. A conventional client-server relationship is shown in Fig. 7; The unmanaged peer-to-peer network is shown in Figure 8; The managed peer-to-peer network is shown in FIG. 9; The centralized/hybrid peer-to-peer network is shown in FIG. 10.

종래의 클라이언트-서버 관계에서, 클라이언트(105)는 서버(106)로부터 데이터를 요청(211)하고, 서버(106)는 도 7에 도시된 바와 같은 주기적인 방식으로 데이터를 전송한다(212). 통상, 비관리형 피어-투-피어 네트워크의 각 피어(또는 클라이언트/서버 조합)(107)는 데이터를 수신하는 클라이언트(105) 및 데이터를 전송하는 서버(106)의 양쪽으로서 동작할 수 있다. 도 8에 일반적으로 도시된 바와 같은 비관리형 환경에서, 데이터에 대한 요청(211)은 파일이 위치될 때까지 피어(107)에서부터 피어(107)로 전달된다. In a conventional client-server relationship, the client 105 requests 211 data from the server 106, and the server 106 transmits data 212 in a periodic manner as shown in FIG. 7. Typically, each peer (or client/server combination) 107 in an unmanaged peer-to-peer network can act as both a client 105 receiving data and a server 106 transmitting data. In an unmanaged environment as generally shown in FIG. 8, a request 211 for data is passed from peer 107 to peer 107 until the file is located.

도 9에 일반적으로 도시된 바와 같은 관리형 피어-투-피어 네트워크는 리소스들을 인덱싱하도록 기능하는 중앙 집중형의 리소스-인덱싱 서버(108)를 갖는다. 인덱싱된 리소스들은 피어들(107)에게 전송되고, 이로써 요청들(214)이 뒤따른다. 인덱싱된 리소스의 이용가능성은 그 후에 피어들(107)에 의해 보고 및 등록된다. 이러한 타입의 구성은 리소스의 위치 설정을 보다 쉽고 빠르게 한다. A managed peer-to-peer network as generally shown in FIG. 9 has a centralized resource-indexing server 108 that functions to index resources. The indexed resources are sent to peers 107, whereby requests 214 follow. The availability of the indexed resource is then reported and registered by peers 107. This type of configuration makes positioning of resources easier and faster.

도 10에 일반적으로 도시된 하이브리드 시스템에서, 피어-투-피어 네트워크는 중앙 집중형 데이터 소스/인덱싱 서버(109)와 함께 사용된다. 인덱싱된 리소스들 및 데이터의 양쪽은, 서버(109)로부터 피어들(107)로 전송(215)되고, 피어(들)(107)에 의한 리소스들 및 데이터에 대한 요청들(216)이 뒤따른다. 이러한 타입의 구성은 관리형 피어-투-피어 네트워크에서와 같이 리소스 전송을 신속히 처리하기 위해, 저비용의 피어 전송이지만 중앙 집중형 데이터 소스의 일관성 및 속도를 제공한다. 이러한 상황에서, 데이터의 혼합은 서버(109)에서부터 시작되고 피어들(107)은 데이터를 전송한다. In the hybrid system generally shown in FIG. 10, a peer-to-peer network is used with a centralized data source/indexing server 109. Both indexed resources and data are transferred 215 from server 109 to peers 107, followed by requests 216 for resources and data by peer(s) 107 . This type of configuration provides the consistency and speed of a low-cost peer transmission, but a centralized data source, to expedite resource transmission as in a managed peer-to-peer network. In this situation, the mixing of data begins with the server 109 and peers 107 transmit the data.

도 2 및 3에 일반적으로 도시된 기점-무관형(origin-agnostic)의 피어-투-피어 콘텐츠 전송 네트워크(CDN)(144)에서, 클라이언트(2)는 독립형 클라이언트이다. 즉, 데이터 요청은 시작되어 독립형 클라이언트(2)(즉, 브라우저, 데스크탑 또는 모바일 애플리케이션)에 의해 소비된다. 다른 네트워크들에서와는 달리, 데이터에 대한 요청은 피어(107)를 이용하여 시작되는 것이 아니라, 도 7에 일반적으로 도시된 종래의 클라이언트 서버 관계에서와 같이 독립형 클라이언트(2)를 이용하여 시작된다. In the origin-agnostic peer-to-peer content delivery network (CDN) 144 generally shown in Figures 2 and 3, the client 2 is a standalone client. That is, a data request is initiated and consumed by the standalone client 2 (ie, a browser, desktop or mobile application). Unlike in other networks, the request for data is not initiated using peer 107, but is initiated using a standalone client 2 as in the conventional client-server relationship generally shown in FIG. 7.

게이트웨이 서버(3)는 클라이언트(2)로부터 요청을 수신하고, 그 후에 리소스에 대한 요청을 리소스 네임 서버 또는 리소스 인덱싱 서버(4)를 이용하여 해결한다. RNS(4)는 리소스 위치들(예를 들어, IP 어드레스)을 이용하여 응답하고, 상기 리소스 위치들은 리소스 기점들 또는 피어들일 수 있다. 네트워크가 데이터 기점-무관형이라고 하면, 피어 데이터는 중앙 데이터 서버에 의해 관리되기보다는, 요청들이 전달되어 게이트웨이 서버(3)에서 캐싱되는 것과 같이 RNS(4) 상에서 인덱싱된다. The gateway server 3 receives a request from the client 2, and then resolves the request for a resource using a resource name server or a resource indexing server 4. The RNS 4 responds using resource locations (eg, IP address), and the resource locations may be resource origins or peers. If the network is said to be data origin-independent, peer data is indexed on the RNS 4 as requests are forwarded and cached in the gateway server 3, rather than being managed by a central data server.

이러한 네트워크에서, 데이터 소스는 리소스 인덱싱 서버 또는 RNS(4)로부터 떨어져 있다. 이는, 독립형 클라이언트(2)로부터 요청이 전송될 때에 피어-투-피어 네트워크 내의 데이터가 캐싱되기 때문에, 독립형 클라이언트(2)에 의한 임의의 데이터 요청이 데이터 기점 또는 피어-투-피어 네트워크로부터 입력되도록 하게 한다. In such a network, the data source is remote from the resource indexing server or RNS 4. This is because data in the peer-to-peer network is cached when the request is sent from the standalone client 2, so that any data request by the standalone client 2 is input from the data origin or peer-to-peer network. Let's do it.

본 발명은 HTTP 또는 웹 소켓을 이용하는 것으로 제한되는 것이 아니라, 표준 파일 전송 프로토콜(FTP, WebDAV, SMB, AFP, 등)을 이용할 수도 있다. 이 경우에, 클라이언트는 독립형 FTP(또는 임의의 표준 파일 전송 프로토콜 클라이언트)일 것이다. FTP 디렉토리(또는 WebDAV, SMB, AFP, 등)가 오퍼레이팅 시스템 내의 네트워크 드라이브로서 실장되면, 오퍼레이팅 시스템은 클라이언트로서 동작할 것이다. 이러한 상황에서, 게이트웨이 서버는 파일 서버로서 동작할 것이다. The present invention is not limited to using HTTP or Web sockets, and standard file transfer protocols (FTP, WebDAV, SMB, AFP, etc.) may be used. In this case, the client will be a standalone FTP (or any standard file transfer protocol client). If an FTP directory (or WebDAV, SMB, AFP, etc.) is mounted as a network drive in the operating system, the operating system will act as a client. In this situation, the gateway server will act as a file server.

특히, 이러한 구성에서 몇몇의 보안 문제점들이 존재한다. 본 발명에 따른 제안된 해결안 또는 구성은 "중간자 공격(man in the middle attacks)" 및/또는 비승인된 클라이언트 액세스에 잠재적으로 취약하다. 이들 문제점들은 소정의 클라이언트 및/또는 서버 인증 수단을 제공함으로써 처리될 수 있다. 클라이언트 및/또는 서버 인증 수단은 기본적으로 클라이언트 및/또는 서버 진위(authenticity)를 검증하도록 기능한다. In particular, there are several security problems in this configuration. The proposed solution or configuration in accordance with the present invention is potentially vulnerable to "man in the middle attacks" and/or unauthorized client access. These problems can be addressed by providing some means of client and/or server authentication. The client and/or server authentication means basically functions to verify the client and/or server authenticity.

클라이언트 및/또는 서버 인증 수단은 이후에 보다 상세히 설명되는 다수의 상이한 메카니즘에 의해 예시화될 수 있다. 예컨대, 상기 인증 수단은 미디어 플러그인 인증(클라이언트 인증), 및 손상 서버(a corrupt server)가 아님을 확실히 하기 위해 로컬 서버를 검증하는 브라우저 확장(이는 고유 ID, 세션 토큰, 또는 키 페어링(key pairing)의 일부 종류를 요구할 것임)으로써 제공될 수 있다. The client and/or server authentication means may be exemplified by a number of different mechanisms, which are described in more detail later. For example, the authentication means is media plug-in authentication (client authentication), and a browser extension that verifies the local server to ensure that it is not a corrupt server (this is a unique ID, session token, or key pairing). May require some kind of).

또한, 플러그인과 함께 클라이언트측 스크립트는, 플러그인 내에 검증 식별의 일부 형태를 내장함으로써 클라이언트 및 서버의 양쪽을 인증하는 데 사용될 수도 있으며, 그 후에 상기 검증 식별의 일부 형태는 AJAX를 이용하여 검증 식별을 입증하는 클라이언트측 스크립트로 전달된다. 브라우저 플러그인과 연계한 클라이언트측 스크립트의 사용은, 하나의 프로세스에서 클라이언트 및 서버 양쪽의 검증을 제공하므로 바람직하다. 이 방법은 이하에서 설명된다. In addition, the client-side script along with the plug-in may be used to authenticate both the client and server by embedding some form of verification identification in the plug-in, after which some form of verification identification is verified using AJAX. Is delivered to the client-side script. The use of a client-side script in conjunction with a browser plug-in is preferable as it provides verification of both the client and server in one process. This method is described below.

도 12 및 13을 참조하면, 독자는 브라우저 플러그인 및 클라이언트측 스트립트를 통한 클라이언트 검증을 고려할 것이다. 보안 접속을 생성하는 프로세스는 로컬 서버의 설치와 함께 시작된다. 설치되면, 서버는 자체 서명한 인증서(a self-signed certificate)를 생성하고, 그 자체 서명한 인증서를 루트 인증서 트리에 추가한다. 이는 브라우저로부터의 보안 접속을 서버가 생성할 수 있게 한다. Referring to Figures 12 and 13, the reader will consider client verification through browser plug-ins and client-side scripts. The process of creating a secure connection begins with the installation of the local server. When installed, the server generates a self-signed certificate and adds the self-signed certificate to the root certificate tree. This allows the server to create a secure connection from the browser.

다른 보안 계층을 추가하기 위해, 로컬 서버(110)는 미디어 프로세싱 브라우저 플러그인(24)의 다수의 인스턴스들(예를 들어, 플래시, 실버라이트, 등)을 로드한다. 로컬 서버(110)는 미디어 프로세싱 브라우저 플러그인(24)에 대한 무려 1,000개의 다수의 인스턴스들을 용이하게 로드할 수 있다. 각 인스턴스는 27에서와 같은 고유 암호화 키를 인스턴스 내에 내장하였다. 다수의 인스트턴스들을 로드하는 것 대신에, 암호화 키(27)는 플러그인 라이브러리들에 의해 맞춤형 코드 삽입이 가능하게 되면 플러그인 컴포넌트 파일에 주입될 수 있다. To add another layer of security, the local server 110 loads multiple instances of the media processing browser plug-in 24 (eg, Flash, Silverlight, etc.). The local server 110 can easily load as many as 1,000 multiple instances of the media processing browser plug-in 24. Each instance has its own encryption key, as in 27, embedded within the instance. Instead of loading multiple instances, the encryption key 27 can be injected into the plug-in component file if custom code insertion is enabled by plug-in libraries.

브라우저가 26에서와 같은 보안 접속을 생성하는 경우, 서버(110)는 개시된 접속을 위한 고유 세션을 생성하고, 그 후에 그 세션을 미디어 플러그인 인스턴스(24) 및 내장된 암호화 키(27)와 페어링하거나, 혹은 암호화 키(27)를 생성하여 플러그인 컴포넌트 파일에 주입한다. 그 후에, 플러그인 컴포넌트 파일(25)은 브라우저(111)로 로드된다. 플러그인 파일(25)은 클라이언트측 스크립트를 통해 브라우저(111)로부터 오는 요청들을 전부 암호화하고, 또한 그것들을 암호화된 접속(26)을 통해 서버(110)로 보낸다. 또한, 고유 암호화 키(27)는 요청들을 검증하기 위해 요청들을 서명하는 데 사용되는 고유 토큰일 수 있다. When the browser creates a secure connection as in 26, the server 110 creates a unique session for the initiated connection, and then pairs that session with the media plug-in instance 24 and the embedded encryption key 27 or Alternatively, the encryption key 27 is generated and injected into the plug-in component file. After that, the plug-in component file 25 is loaded into the browser 111. The plug-in file 25 encrypts all requests coming from the browser 111 through a client-side script, and also sends them to the server 110 through an encrypted connection 26. Further, the unique encryption key 27 may be a unique token used to sign requests to verify the requests.

암호화 키 또는 토큰(27)을 검색하기 위해, 로컬 서버(110)에 의해 제공되는 플러그인 파일(25)을 디컴파일하고 나서, 새로운 "크랙트(cracked)" 플러그인 인스턴스를 이용하여 서버(110)와의 접속을 재수립해야 할 것이다. 그러나, 서버(110)가 세션마다 상이한 암호화 키(27)를 선택하기 때문에, 새로운 보안 소켓 접속(26)이 수립되자마자 이전의 암호화 키(27)는 만료된다. 이는 디컴파일링을 통해 검색된 암호화 키(27)를 쓸모 없게 만든다. In order to retrieve the encryption key or token 27, the plug-in file 25 provided by the local server 110 is decompiled, and then a new "cracked" plug-in instance is used to interact with the server 110. You will have to re-establish the connection. However, since the server 110 selects a different encryption key 27 for each session, the old encryption key 27 expires as soon as a new secure socket connection 26 is established. This makes the encryption key 27 retrieved through decompilation useless.

콘텐츠 전송에 로컬 서버를 이용하는 것에 관한 주요한 문제점들 중 하나는, 시나리오 악성 소프트웨어가 유효 게이트웨이인 체하여 사용자 데이터를 차단할 수 있는 "중간자 공격"이 가능하다는 것이다. 이러한 형태의 공격을 방지하기 위해, 본 시스템은 브라우저 플러그인 컴포넌트(25)를 거쳐 유효 서버 인증 식별(31)을 제시함으로써 유효 게이트웨이의 진위를 검증할 것을 로컬 서버(110)에게 요구하는 방법을 이용한다. 프로세스는 이후에 보다 상세히 설명된다. One of the major problems with using a local server for content delivery is that scenario malicious software is capable of "man-in-the-middle attack" that can block user data by pretending to be a valid gateway. To prevent this type of attack, the system uses a method of requesting the local server 110 to verify the authenticity of the valid gateway by presenting the valid server authentication identification 31 via the browser plug-in component 25. The process is described in more detail later.

각 로컬 게이트웨이 서버(110)는 로컬 머신의 공용 인터넷 프로토콜에 링크되는 검증 식별(31)을 생성함으로써 (19에서와 같이) 원격 호스트(112)에 자신을 등록한다. 이 검증 식별(31) 및 그 관련 공용 인터넷 프로토콜은 원격 호스트(112) 상의 데이터베이스(29)에 저장된다. 웹 페이지(30)가 로컬 게이트웨이 서버(110)를 이용하여 로드되면, 브라우저(111)는 (217에서와 같이) 요청을 로컬 서버(110)로 전송한다. 서버(110)는 그 검증 식별(31)을 제시함으로써 응답한다. Each local gateway server 110 registers itself with a remote host 112 (as in 19) by generating a verification identification 31 that is linked to the local machine's public Internet protocol. This verification identification 31 and its associated public internet protocol are stored in a database 29 on the remote host 112. When the web page 30 is loaded using the local gateway server 110, the browser 111 transmits a request to the local server 110 (as in 217). Server 110 responds by presenting its verification identification 31.

그 후에, 브라우저(111)는 (218에서와 같이) 검증 식별(31)을 갖는 요청을 원격 호스트(112)로 전송한다. 검증 식별(31)이 원격 데이터베이스(29)에 저장된 인터넷 프로토콜 어드레스 및 검증 식별에 매칭되면, 원격 서버(112)는 로컬 게이트웨이 서버(110)를 검증하는 경로(218)를 따라 응답을 전송한다. 검증 후에, 브라우저(111)는 로컬 서버(110)로부터 미디어 플러그인(24)을 (26에서와 같이) 로드하도록 진행한다. 그 후에, 미디어 플러그인(24)은 데이터(예를 들어, 음악 기반 데이터)를 전송하는 로컬 게이트웨이 서버(110)로의 보안 접속(219)을 생성한다. The browser 111 then sends a request with a verification identification 31 to the remote host 112 (as in 218). If the verification identification 31 matches the Internet Protocol address and verification identification stored in the remote database 29, the remote server 112 sends a response along the path 218 that verifies the local gateway server 110. After verification, the browser 111 proceeds to load the media plug-in 24 (as in 26) from the local server 110. The media plug-in 24 then creates a secure connection 219 to the local gateway server 110 that transmits data (eg, music-based data).

도 6을 참조하면, 독자는 비플러그인 보안 측정을 고려할 것이다. 본 발명에 따른 미디어 플러그인의 사용을 필요로 하지 않는 방법은, 클라이언트(2)가 자신의 진위를 증명하기 위해 게이트웨이 서버(3)로부터의 등록된 세션 식별(113)에 대한 요청을 전송하는 단계를 포함한다. 세션 식별(114)은 게이트웨이 서버에 의해 (221에서와 같이) 사전 등록되며, 단일 인증 후에 무효로 된다. Referring to Figure 6, the reader will consider a non-plug-in security measure. A method that does not require the use of a media plug-in according to the present invention comprises the step of the client 2 sending a request for a registered session identification 113 from the gateway server 3 to prove its authenticity. Include. The session identification 114 is pre-registered (as in 221) by the gateway server and becomes invalid after a single authentication.

이는, 게이트웨이 서버(3)가 다수의 세션(114)을 미리 등록하는 것과, 각 세션 식별(113)이 단일 검증을 위해서만 유효하다는 것을 요구한다. 게이트웨이 서버(3)는 (222에서와 같이) 세션 식별(113)을 클라이언트(2)에게 제시한다. 그 후에, 클라이언트(2)는 검증 서버(116)를 이용하여 (223에서와 같이) 수신된 세션 식별(115)을 증명한다. 검증 서버(116)는 (224 및 225에서와 같이) 클라이언트(2)에 의해 전송된 세션 식별(115)을 등록된 세션 식별(114)과 매칭시킨다. 매칭이 발견되면, 검증 서버(116)는 (224에서와 같이) 게이트웨이 서버(3)의 유효성을 클라이언트(2)에게 확인한다. This requires that the gateway server 3 registers multiple sessions 114 in advance, and that each session identification 113 is valid only for a single verification. The gateway server 3 presents the session identification 113 to the client 2 (as in 222). Thereafter, the client 2 verifies the received session identification 115 (as in 223) using the verification server 116. The verification server 116 matches the session identification 115 sent by the client 2 (as in 224 and 225) with the registered session identification 114. If a match is found, the verification server 116 verifies the validity of the gateway server 3 to the client 2 (as in 224).

게이트웨이 서버를 위해 확보된 로컬 도메인 네임을 갖는 오퍼레이팅 시스템 통합을 포함해서, 유효 접속을 보장하기 위한 다른 대체 방법들이 존재함으로써, 다른 애플리케이션들은 이러한 시스템을 통한 데이터 전송용 전송 프로토콜의 생성을 통해서 적법한 게이트웨이 서버인체 할 수 없다. 이들 양쪽은 가능한 해결안들이다. 그러나, 맞춤형 프로토콜 해결안은 이후에 예시되는 바와 같이 상이한 요청 포맷팅을 요구한다: Other alternative methods exist to ensure valid access, including integrating the operating system with the local domain name reserved for the gateway server, so that other applications can create a transfer protocol for data transmission through these systems Human body can not Both of these are possible solutions. However, custom protocol solutions require different request formatting, as illustrated later:

rstp://domain.com/resource_directory/resource_name?var=123rstp://domain.com/resource_directory/resource_name?var=123

(and not http://vertigo/domain.com/resource_directory/resource_name?var=123)( and not http://vertigo/domain.com/resource_directory/resource_name?var=123)

시스템을 보안화하기 위한 다른 방법은 그 시스템을 거쳐 전송되는 콘텐츠를 미디어(음악, 이미지, 비디오, 등)로 제한하고, 웹사이트 또는 애플리케이션의 구조 및 코드에 관련되지 않은 콘텐츠에 대한 파일 배포를 제한하는 것이다. 이 방법은 미디어 파일들만이 허용되기 때문에 악성 코드를 불러오기 더욱 어렵다. 이는 보안을 고려하여 행해진다. 즉, HTML, 자바스크립트, CSS, PHP 파일들 등은 게이트웨이 서버를 거쳐 전달될 수 없다. 다른 제약사항은 웹사이트(구조, 코드 및 미디어)가 https를 거쳐 로드되고 기밀을 요하는 것이면 이러한 게이트웨이 또는 프로토콜의 사용을 제한하는 클라이언트(브라우저)를 갖는 것이다.Another way to secure the system is to limit the content transmitted through the system to media (music, images, videos, etc.), and to limit file distribution for content not related to the structure and code of a website or application. Is to do. This method is more difficult to load malicious code because only media files are allowed. This is done for security considerations. In other words, HTML, JavaScript, CSS, and PHP files cannot be delivered through the gateway server. Another limitation is to have a client (browser) restricting the use of these gateways or protocols if the website (structure, code and media) is loaded over https and is confidential.

도 1을 참조하면, 독자는 본 발명에 따른 소정의 데이터 유효성 및 보안 측면들을 고려할 것이다. 데이터-기점 무관형의 CDN(144)에서의 문제점들 중 하나는 데이터의 유효성이다. 예컨대, 피어들 중 하나가 손상된 데이터를 갖으면, 또는 원래의 데이터에 관련이 없는 파일들을 원래의 파일의 피어 캐싱된 버전으로서 등록하는 악성 피어를 누군가가 생성했으면, 시스템의 신뢰성 및 유용성은 손상될 수 있다. Referring to Figure 1, the reader will consider certain data validity and security aspects in accordance with the present invention. One of the problems with the data-originated CDN 144 is the validity of the data. For example, if one of the peers has corrupted data, or if someone creates a malicious peer that registers files unrelated to the original data as peer-cached versions of the original file, the reliability and usefulness of the system will be compromised. I can.

이는, 신뢰될 수 있고 유용한 시스템을 위해 데이터 단편화 및 검증 방법들이 포함되어야 하는 이유이다. 따라서, 부적절한 방식으로 데이터를 손상시키거나 의도적으로 교체시키는 것으로부터 단일 피어를 유지하기 위해, 소정의 데이터 전송 단편화 수단을 통해 다수의 피어들에 걸친 데이터 전송을 단편화하는 것이 바람직하다. 본 발명에 따른 데이터 전송 단편화 수단은 다수의 메카니즘들에 의해 예시화될 수 있다. 예컨대, 데이터 전송 단편화는 데이터(199)를 행들(117, 118, 119, 120)에서와 같은 패킷들 또는 서브-스트림들로 나눔으로써 달성될 수 있다. 단편화는 시스템의 요구사항들을 충족하도록 최적화될 수 있다. This is why data fragmentation and verification methods should be included for a reliable and useful system. Accordingly, in order to keep a single peer from corrupting or intentionally replacing data in an improper manner, it is desirable to fragment the data transmission across multiple peers through some data transmission fragmentation means. The data transmission fragmentation means according to the present invention can be exemplified by a number of mechanisms. For example, data transmission fragmentation can be achieved by dividing data 199 into packets or sub-streams as in rows 117, 118, 119, 120. Fragmentation can be optimized to meet the requirements of the system.

단편화는 각 피어의 전송을 소정의 미디어 파일의 예를 들어 최대 1/3 또는 1/4로 단순히 제한함으로써 행해질 수 있다. 이는 추후에 이하에서 보다 상세히 설명되는 바와 같이 리소스 네임 서버 또는 RNS(4)를 이용하여 관리된다. 데이터 전송 단편화와 함께, 각 데이터 파일은 열들(121, 122, 123, 124)에서와 같은 데이터의 특정 섹터를 위한 검증 패키지를 갖는다. 이는, 데이터를 제공하는 모든 피어가 데이터를 다시 제공하기 전에 미디어를 우선 캐싱해야 하기 때문에 행해진다. 따라서, 예로서, 피어가 데이터 서브스트림(117)을 전송하면, 그 데이터와 함께 파일의 섹터(121)를 위한 검증 패키지를 또한 전송할 것이다. 이 검증 패키지는 사전 결정된 알고리즘에 의해 생성된 체크섬이다. Fragmentation can be done by simply limiting each peer's transmission to, for example, at most 1/3 or 1/4 of a given media file. This is managed using a resource name server or RNS 4 as described in more detail later below. With data transfer fragmentation, each data file has a verification package for a specific sector of data as in columns 121, 122, 123, 124. This is done because all peers providing the data must first cache the media before providing the data again. Thus, as an example, if a peer sends a data substream 117, it will also send a verification package for sector 121 of the file along with that data. This verification package is a checksum generated by a predetermined algorithm.

따라서, 피어 전송 서브스트림(118)이 손상되거나 악의적인 데이터를 전송하는 것이었으면, 수신 피어는 피어 전송 서브스트림(118)에 의해 전달되는 콘텐츠를 검증하기 위해 피어 전송 서브스트림(117)으로부터 검증 체크섬을 이용함으로써 이를 검출할 수 있을 것이다. 콘텐츠가 검증될 수 없으면, 피어는 데이터 요청을 원래의 또는 데이터 기점 소스로 전송할 것이다. 본 발명은 요청들의 최소 일일 임계치(a minimum daily threshold)를 설정하는 것을 추가로 고려하여, 이러한 피어-투-피어 데이터 검증을 가능하게 할 것이다. 그렇지 않으면, 검증 서버는 체크섬을 제공할 것이고, 이들 체크섬은 리소스를 위해 게이트웨이 서버로 전달되는 제 1 요청에서 형성될 것이다. Thus, if the peer-transmit sub-stream 118 was to transmit corrupt or malicious data, the receiving peer may perform a verification checksum from the peer-transmit sub-stream 117 to verify the content delivered by the peer-transmit sub-stream 118. You will be able to detect this by using. If the content cannot be verified, the peer will send the data request to the original or data origin source. The present invention will enable such peer-to-peer data verification, further taking into account setting a minimum daily threshold of requests. Otherwise, the verification server will provide checksums, and these checksums will be formed in the first request forwarded to the gateway server for the resource.

도 4 및 5를 참조하면, 독자는 도메인 네임 서버(DNS)와 리소스 네임 서버(RNS) 사이의 소정의 차이점들을 비교해서 고려할 것이다. DNS(130)와 RNS(4) 사이의 주요한 차이점은 리소스에 대한 요청이 어떻게 처리되는지에 있다. DNS(130) 내에서, (226에서와 같은) 리소스에 대한 요청은 SOA(Start of Authority)(126)의 디렉토리(128) 내의 특정 리소스(127)를 갖는 SOA(126) 또는 도메인 네임(129)에 대해 (227에서와 같이) 해결된다. 클라이언트(2)는 DNS로부터 SOA의 IP 어드레스를 (228에서와 같이) 수신하고 나서, SOA(126)로부터 리소스(127)에 대한 (229에서와 같은) 요청을 행한다. Referring to Figures 4 and 5, the reader will compare and consider certain differences between a domain name server (DNS) and a resource name server (RNS). The main difference between DNS 130 and RNS 4 is how requests for resources are handled. Within DNS 130, a request for a resource (such as in 226) is an SOA 126 or domain name 129 with a specific resource 127 in a directory 128 of a Start of Authority (SOA) 126. Is solved (as in 227). The client 2 receives the IP address of the SOA from DNS (as in 228), and then makes a request (as in 229) for the resource 127 from the SOA 126.

리소스 네임 서버 또는 RNS(4) 내에서, RNS(4)는 리소스에 대한 (201에서와 같은) 요청을, 저장되거나 캐싱된 고유 리소스를 갖는 다수의 머신들에 대해 (202에서와 같이) 해결한다. 따라서, 리소스를 갖는 SOA의 IP 어드레스는 유효 리소스 위치로서 (205에서와 같이) 리턴될 수 있으며, 또한 피어 캐싱된 리소스들에 대한 IP 어드레스 역시 리턴될 수 있다. 즉, DNS 시스템 내에서, URL은 특정 리소스의 어드레스에 보다 유사하고, RNS(4) 내에서, URL(240)은 고유 리소스를 다수의 위치들로 링크하는 고유 식별로서 취급된다. Within the resource name server or RNS 4, the RNS 4 resolves a request (as in 201) for a resource (as in 202) for multiple machines with unique resources stored or cached. . Thus, the IP address of the SOA with the resource can be returned (as in 205) as a valid resource location, and the IP address for peer cached resources can also be returned. That is, within the DNS system, the URL is more similar to the address of a particular resource, and within the RNS 4, the URL 240 is treated as a unique identification linking the unique resource to multiple locations.

파일 매칭을 이용하지 않는 리소스 인덱싱을 위한 소정의 수단들이 도 14 및 15에 도시되어 있고, 파일 매칭을 이용하는 리소스 인덱싱을 위한 소정의 수단들이 도 16 및 17에 도시되어 있다. 컴플라이언스를 다룰 때에 일어나는 주요 문제들 중 하나는 재생되고 있는 것을 어떻게 검증하냐는 것이다. 메타데이터는 종종 사용자에 의해 손상되거나 수정된다. 따라서, 보다 효과적으로 로컬 미디어를 스트리밍하기 위해, 로컬 드라이브 상의 미디어 파일 또는 노래가 클라우드에 저장된 것들에 대응함을 매우 높은 정도의 확실성으로 검증하기 위한 방법을 제공해야 한다. Some means for resource indexing without using file matching are shown in FIGS. 14 and 15, and some means for resource indexing using file matching are shown in FIGS. 16 and 17. One of the main issues that arise when dealing with compliance is how to verify what is being regenerated. Metadata is often corrupted or modified by the user. Therefore, in order to stream local media more effectively, it is necessary to provide a method for verifying with a very high degree of certainty that media files or songs on a local drive correspond to those stored in the cloud.

이는 메타데이터-독립형 파일 매칭 시스템 또는 수단을 이용함으로써, 또한 모든 로컬 파일들을 인덱싱하여 그것들을 클라우드 파일들과 매칭함으로써 행해진다. (1) 다른 스트리밍 제공자들로부터 시작되거나 또는 외부 클라우드들로부터 오는 것들, 및 (2) 로컬 머신 상에 있는 것들을 포함해서, 본 발명에 따라 라이브러리에 대해 매칭되어야 하는 파일들의 2개의 소스가 존재한다. This is done by using a metadata-independent file matching system or means, and also by indexing all local files and matching them with cloud files. There are two sources of files that must be matched against the library in accordance with the present invention, including (1) those originating from other streaming providers or coming from external clouds, and (2) those on the local machine.

도 16을 참조하면, 프로그레시브 인덱싱의 프로세스(247)는 제3자 클라이언트 애플리케이션으로부터 오는 요청으로 시작된다. 이는 131에서와 같은 독립형 데스크탑 애플리케이션이거나, 혹은 132에서와 같은 브라우저를 통해 재생하는 웹사이트일 수 있다. 애플리케이션(131) 또는 브라우저(132)는 (241 및 242와 같은) 적절하게 포맷화되고 유효한 URL을 로컬 게이트웨이 서버(133)로 전달한다. 로컬 게이트웨이 서버(133)는 (243 및 244에서와 같은) 스트리밍을 위해 요청된 리소스를 관련된 클라우드(245, 246)(혹은 관련 피어-투-피어 네트워크, 또는 임의의 가능한 네트워크 기반 리소스)로부터 검색하기 위해 (241 및 242에서와 같은) URL을 사용한다. 리소스가 243 및 244에서와 같이 스트리밍을 위해 다운로드되었으면, 로컬 서버(133)는 (서브 루틴들(248-252)을 갖는) 247에서와 같은 인덱싱의 프로세스를 시작한다. 로컬 리소스 인덱싱(253)은 (서브 루틴들(254-258)을 갖는) 도 17에 일반적으로 도시되어 있다. Referring to Fig. 16, the process 247 of progressive indexing begins with a request coming from a third party client application. This may be a standalone desktop application as in 131 or a website played through a browser as in 132. The application 131 or browser 132 passes a properly formatted and valid URL (such as 241 and 242) to the local gateway server 133. Local gateway server 133 retrieves the requested resource for streaming (such as in 243 and 244) from the associated cloud 245, 246 (or associated peer-to-peer network, or any possible network-based resource). For this, use the URL (as in 241 and 242). If the resource has been downloaded for streaming, such as at 243 and 244, the local server 133 begins the process of indexing as at 247 (with subroutines 248-252). Local resource indexing 253 is shown generally in FIG. 17 (with subroutines 254-258).

인덱싱된 리소스 요청 프로세싱(259)은 도 18에 일반적으로 도시되어 있다. 리소스가 인덱싱된 후, 후속 요청들이 제3자 클라이언트들로부터 행해진 경우에 이하의 프로세스가 발생한다. (132에서와 같은) 미디어 스트리밍 서비스 제공자가 표준 URL을 이용하여 로컬 서버(133)에 대해 요청(242)을 게재한다고 가정하면, 요청(242)이 도착하여 로컬 서버(133)는 리소스가 이전에 인덱싱되었는지를 결정하기 위해 로컬 파일 시스템 데이터베이스(135) 및 인덱싱 서버(134)에게 질의한다. (URL은 그것이 인덱싱 서버(134)에 또는 로컬 파일 시스템(137)에 존재하는지를 결정하는 데 시용된다.) 이 경우, 로컬 서버(133)는 리소스가 인덱싱되었고 피어-투-피어 네트워크(138) 상에서 이용가능하다고 결정한다. 그러면 미디어는 피어-투-피어 네트워크(138)로부터 검색되어, 재생을 위해 (132에서와 같은) 미디어 스트리밍 서비스 제공자에게 제공된다. Indexed resource request processing 259 is shown generally in FIG. 18. After the resource has been indexed, the following process occurs when subsequent requests are made from third party clients. Assuming that the media streaming service provider (as in 132) publishes the request 242 to the local server 133 using a standard URL, the request 242 arrives and the local server 133 has previously The local file system database 135 and indexing server 134 are queried to determine if they have been indexed. (The URL is used to determine if it exists on the indexing server 134 or on the local file system 137.) In this case, the local server 133 has the resource indexed and on the peer-to-peer network 138. Decide that it is available. The media is then retrieved from the peer-to-peer network 138 and provided to a media streaming service provider (such as at 132) for playback.

다른 경우에, (131에서와 같은) 미디어 스트리밍 서비스 제공자는 URL을 이용하여 유사한 요청을 행한다. 이때 서버(133)는 리소스가 인덱싱되고 로컬 파일(137)과 연관되어 있음을 나타내는 로컬 데이터베이스에게 질의함으로써 결정한다. 그 후에, 서버(133)는 이 파일을, 예를 들어 (131에서와 같은) 제3자 클라우드 기반 음악 스트리머(예를 들어, Spotify)에게 제공한다. 로컬 게이트웨이 서버(133)에 액세스하는 시스템들 또는 애플리케이션들이 세션 동안에 필요로 되는 모든 리소스들을 세션의 시작시에 전달할 가능성이 크다. 그 후에, 서버(133)는 리소스 인덱싱 서버(134)로부터 연관된 필드들을 끌어낼 것이다. 이처럼 모든 인덱싱된 데이터는 신속한 액세스 및 라우팅을 위해 국부적으로 저장된다. In other cases, the media streaming service provider (such as in 131) makes a similar request using the URL. At this time, the server 133 determines by querying a local database indicating that the resource is indexed and associated with the local file 137. The server 133 then provides this file to, for example, a third-party cloud-based music streamer (eg, Spotify) (such as in 131). Systems or applications accessing the local gateway server 133 are likely to deliver all the resources required during the session at the start of the session. Thereafter, server 133 will derive the associated fields from resource indexing server 134. All of this indexed data is stored locally for quick access and routing.

본 발명에 따른 게이트웨이 서버는 데이터(예를 들어, 음악) 전송용 스마트 라우팅 및 로얄티 보고의 양쪽을 위한 소정의 수단을 제공한다. 음악이 다수의 소스들로부터 전송될 수 있다고 하면, 본 발명에 따른 로컬 게이트웨이 서버들은 클라이언트 애플리케이션에 의해 형성된 상호적인 음악 요청 및 비상호적인 음악 요청의 양쪽을 전달하고, 또한 대역폭 비용 및 로얄티 약정의 양쪽에 대한 최적의(예를 들어, (a) 가장 가격 효율적인, 또는 (b) 소스의 최고 사운드 품질의) 위치로부터 실제 전송을 라우팅한다. 이러한 시스템은, 모든 권리 소유자의 요구사항들 및 기준들을 충족시키면서, 다양한 형태의 서비스 플랫폼들로부터 또한 그것들에 걸쳐서 사용 보고 및 로얄티 약정이 생성될 수 있게 하는 고유한 컴플라이언스 엔진 또는 컴플라이언스 기기를 야기한다. The gateway server according to the present invention provides predetermined means for both smart routing and royalty reporting for data (eg, music) transmission. Assuming that music can be transmitted from multiple sources, the local gateway servers according to the present invention deliver both the reciprocal music request and the non-interactive music request made by the client application, and also the bandwidth cost and loyalty agreement. Route the actual transmission from the best (eg (a) most cost effective, or (b) highest sound quality of the source) location on both sides. Such a system results in a unique compliance engine or compliance device that allows usage reports and loyalty agreements to be generated from and across various types of service platforms, while meeting the requirements and criteria of all rights holders. .

전송 소스들의 예들은: (1) 클라우드 기반 스트리머; (2) 디바이스 소유자에 대해 이용가능한 데이터 구매를 하는 제3자 클라우드 기반 스토리지 제공자; (3) (저작권법의 512(c) 아래에서 보호되는) Vertigo의 클라우드 기반 가상 락커; (4) 사용자/서브-서비스 매칭된 데이터에 의해 구동되는 Vertigo-라이센스의 음악; (5) 청취자의 디바이스 또는 와이파이를 통해 접속된 다른 소유의 자격 부여받은 디바이스 상에서 이용가능한 국부적으로 소유 및 저장된 음악 파일들; (6) 링크된 PC로부터 모바일 디바이스로의 전송; (7) 상기 열거된 (1), (3) 및 (4)로부터 스트리밍되기 전에 파일의 대체시에 라우팅되고 또한 전송에 이용가능한 피어-투-피어 소유 파일들을 포함하지만, 이들로 제한되지 않는다. Examples of transmission sources include: (1) cloud-based streamer; (2) a third-party cloud-based storage provider that makes purchases of data available to device owners; (3) Vertigo's cloud-based virtual locker (protected under 512(c) of the Copyright Act); (4) Vertigo-licensed music driven by user/sub-service matched data; (5) locally owned and stored music files available on the listener's device or other owned entitled device connected via Wi-Fi; (6) transfer from the linked PC to the mobile device; (7) Includes, but is not limited to, peer-to-peer owned files routed on replacement of a file prior to being streamed from (1), (3) and (4) listed above and available for transmission.

음악 라우팅 및 경로-결과 보고의 몇 가지 예들은 이하와 같다. 도 19를 참조하면, 청취자가 (140에서와 같은) 관련 스트리밍 클라이언트(예를 들어, 웹사이트 또는 독립형 데스크탑 애플리케이션)를 거쳐 비상호적인 인터넷 라디오 채널을 듣고 있고, 인터넷 라디오 서비스 제공자가 청취자의 디바이스 상에 이미 저장되어 이용가능한 파일(139)을 (230에서와 같이) 스트리밍할 준비가 되어 있는 경우, 본 발명에 따른 게이트웨이 서버(141)는 인덱싱된 로컬 파일(139)을 인터넷 라디오 서비스 제공자의 착신 요청과 (231에서와 같이) 매칭하고, 142에서와 같은 인터넷 라디오 서비스 제공자의 클라우드로부터의 재생 대신에 파일(139)을 (232에서와 같이) 스트리밍하는 것을 독자는 고려할 것이다. Some examples of music routing and route-result reporting are as follows. Referring to FIG. 19, a listener is listening to a non-interactive Internet radio channel via an associated streaming client (e.g., a website or a standalone desktop application) (such as in 140), and an Internet radio service provider is on the listener's device. When ready to stream the file 139 that is already stored and available in (as in 230), the gateway server 141 according to the present invention sends the indexed local file 139 to the Internet radio service provider's incoming request The reader will consider matching (as in 231) and streaming the file 139 (as in 232) instead of playing from the cloud of the Internet radio service provider as in 142.

특히, 모든 리소스들은 로컬이던지 원격이던지 인덱싱되어 신속한 매칭을 가능하게 한다. 스트리밍(232) 후에, 로컬 파일의 사용은 컴플라이언스 서버(143)에게 233에서와 같이 보고된다. 파일들이 불법 복제되지 않음을 보장할 방법이 없이 때문에 로컬 파일(139)을 스트리밍(232)할 때에 인터넷 라디오 서비스 제공자가 적은 요금을 지불할 것을 라벨들이 요구할 수 있다. 서버(141)에 따른 효율적인 리소스 할당의 결과로서, 인터넷 라디오 서비스 제공자(140)는 대역폭의 지불 또는 전체 라이센싱을 위한 지불을 하지 않아도 될 것이고, 그러면 이러한 비용 절감은 인터넷 라디오 서비스 제공자에게 전달될 수 있다. In particular, all resources, whether local or remote, are indexed to enable quick matching. After streaming 232, the use of the local file is reported to the compliance server 143 as at 233. Labels may require Internet radio service providers to pay a small fee when streaming 232 local files 139 because there is no way to ensure that files are not pirated. As a result of efficient resource allocation according to the server 141, the Internet radio service provider 140 will not have to pay for the bandwidth or for the entire licensing, and this cost reduction can then be transferred to the Internet radio service provider. .

도 20은 비상호적인 인터넷 라디오 서비스 제공자 채널을 청취자가 듣고 있고, 또한 청취자의 디바이스 상에서 이용할 수 없지만 본 발명에 따른 피어-투-피어 네트워크(144) 내의 피어(141) 상에서 이용가능한 파일을 인터넷 라디오 서비스 제공자 클라이언트(140)가 (230에서와 같이) 스트리밍할 준비가 되어 있을 때의 시나리오를 도시하는 것을 시도한다. 인터넷 라디오 서비스 제공자에 대한 로얄티 절감이 없지만, 본 발명에 따른 피어-투-피어 네트워크(144)는 대역폭 절감으로 인터넷 라디오 서비스 제공자의 파일의 대체시에 파일(139)을 233에서와 같이 인터넷 라디오 서비스 제공자에게 전송한다. 그 후에 서버(141)는 233에서 필요한 경우 컴플라이언스 서버(143)에 대해 어떤 노래가 재생되었는지를 보고할 수 있다. FIG. 20 shows a file that a listener is listening to on a non-interactive Internet radio service provider channel and is not available on the listener's device but is available on the peer 141 in the peer-to-peer network 144 according to the present invention. It attempts to illustrate a scenario when the service provider client 140 is ready to stream (as in 230). Although there is no loyalty reduction for the Internet radio service provider, the peer-to-peer network 144 according to the present invention saves the bandwidth and replaces the file 139 with the Internet radio service provider as shown in 233. Send to the service provider. Thereafter, the server 141 may report at 233 what song has been played to the compliance server 143 if necessary.

도 21은 청취자가 특별한 이벤트를 위해 145에서와 같은 미디어 스트리밍 서비스 제공자 계정에서 10-노래 재생목록을 생성할 때의 시나리오를 도시하는 것을 시도한다. 청취자는 레스토랑 소유주 또는 관리자이고, 이벤트는 상업적 환경에서 공용 이벤트이다. 미디어 스트리밍 서비스 제공자 계정(145)은 상업적 환경을 허용하지 않으며, 또한 3개의 노래들이 사실상 청취자의 클라우드 스토리지 락커를 통해 로컬 디바이스로 다운로드될 수 있는 반면에, 구매된 미디어 라이센스 합의는 역시 상업적 환경에서의 전송을 허용하지 않는다. Fig. 21 attempts to show a scenario when a listener creates a 10-song playlist in a media streaming service provider account as at 145 for a special event. The listener is the restaurant owner or manager, and the event is a public event in a commercial setting. The media streaming service provider account 145 does not allow a commercial environment, and while three songs can in fact be downloaded to a local device via the listener's cloud storage locker, the purchased media license agreement is also in a commercial environment. Do not allow transmission.

상업적 라이센싱 제공자 디바이스(146)는 10개의 노래들 전부를 브로드캐스트하기 위한 법적 권리를 갖는 전제로 설치되지만, 제공자의 국부적으로 설치된 디바이스(146) 상에서 이용가능한 10개의 노래들의 요청된 재생목록 중 5개만이 존재한다. 본 발명에 따른 시스템은 미디어 스트리밍 제공자의 미디어 플레이어(145)에서 만들어진 재생목록을 동기화하고, Vertigo 클라우드에서 이용가능한 파일들과 누락된 파일들을 (231에서와 같이) 매칭하고, 제공자의 라이센싱 합의마다 상업적인 라이센싱 제공자의 디바이스(146)에 노래들을 전송한다(234). 이러한 전송은 대역폭 비용에 따라 Vertigo의 피어-투-피어 네트워크(144)로부터 올 수 있다. 모든 전송 및 스트리밍은 노래가 재생된 횟수를 추적하기 위해 (필요한 경우) 서버(141)에 의해 컴플라이언스 서버(143)에게 보고(233)될 수 있다. The commercial licensing provider device 146 is installed on the premise that it has the legal right to broadcast all 10 songs, but only 5 of the requested playlists of 10 songs available on the provider's locally installed device 146 Exists. The system according to the present invention synchronizes playlists made in the media player 145 of the media streaming provider, matches the files available in the Vertigo cloud and the missing files (as in 231), The songs are transmitted to the licensing provider's device 146 (234). These transmissions may come from Vertigo's peer-to-peer network 144 depending on the bandwidth cost. All transmissions and streaming can be reported 233 by server 141 to compliance server 143 to track the number of times the song has been played (if necessary).

도 24에 도시된 시나리오에서, 스트리밍 제공자(147)는 노래(151)가 모바일 디바이스(148) 상에서 재생되는 것을 요청한다. 요청은 모바일 다비이스(148) 상의 모바일 디바이스 애플리케이션(149)으로부터 전송받아서, 본 발명에 따른 원격 서버(150)로 전송된다. 노래를 요청(237)하는 모바일 디바이스(148)가 국부적으로 저장된 파일을 갖는 퍼스널 컴퓨터(152)에 235에서와 같이 링크되면, 노래에 대한 요청을 데이터 기점 서버(147)(즉, 스트리밍 제공자의 서버)로 라우팅하는 대신에, 요청은 퍼스널 컴퓨터(152)로 전송되어 퍼스널 컴퓨터(152)로부터 모바일 디바이스(148)로 236에서와 같이 스트리밍된다. 이러한 상황에서, 추가적인 스트리밍 권리가 요구되지 않으며 대역폭 비용도 발생하지 않는다. 요청(237)이 본 발명에 따른 원격 서버(150)로 전송되고, 링크된 퍼스널 컴퓨터(152) 또는 클라우드에 파일이 존재하지 않으면, 요청(237)은 데이터 기점(147)으로 238에서와 같이 전송되고, 그 후에 데이터 기점(147)은 디바이스(148)로 파일을 스트리밍(239)할 수 있다. In the scenario shown in FIG. 24, streaming provider 147 requests song 151 to be played on mobile device 148. The request is sent from the mobile device application 149 on the mobile device 148 and sent to the remote server 150 according to the present invention. When the mobile device 148 requesting the song 237 is linked as in 235 to the personal computer 152 having the locally stored file, the request for the song is sent to the data origin server 147 (i.e., the streaming provider's server). Rather than routing to ), the request is sent to personal computer 152 and streamed from personal computer 152 to mobile device 148 as at 236. In this situation, no additional streaming rights are required and no bandwidth cost is incurred. If the request 237 is transmitted to the remote server 150 according to the present invention and the file does not exist in the linked personal computer 152 or in the cloud, the request 237 is transmitted as in 238 to the data origin 147 And then the data origin 147 can stream 239 the file to the device 148.

도 25에 도시된 시나리오에서, 스트리밍 제공자(147)는 노래가 모바일 디바이스(148) 상에서 재생되는 것을 요청한다. 요청은 모바일 디바이스(148) 상의 모바일 애플리케이션(149)으로부터 전송받아서, 본 발명에 따른 원격 서버(150)로 전송된다. 모바일 디바이스(148)가 235에서와 같이 링크되어 있는 퍼스널 컴퓨터(152)로부터 클라우드 서비스(153)로 240에서와 같이 업로드된 노래를 요청하고 있으면, 원격 서버(150)는 요청(237)을 클라우드 락커 또는 서비스(153)로 라우팅(236)한다. 이 경우에, 라이센싱이 필요로 되지 않지만, 대역폭 요금이 적용될 것이다. 요청(237)이 본 발명에 따른 원격 서버(150)로 전송되고, 링크된 퍼스널 컴퓨터(152) 또는 링크된 클라우드(153)에 파일이 존재하지 않으면, 요청은 데이터 기점(147)로 238에서와 같이 전송되고, 그 이후에 파일은 디바이스(148)로 239에서와 같이 스트리밍될 수 있다. In the scenario shown in FIG. 25, the streaming provider 147 requests that the song be played on the mobile device 148. The request is sent from the mobile application 149 on the mobile device 148 and sent to the remote server 150 according to the present invention. When the mobile device 148 is requesting the uploaded song as in 240 from the personal computer 152 linked as in 235 to the cloud service 153, the remote server 150 sends the request 237 to the cloud locker. Or routing 236 to service 153. In this case, no licensing is required, but bandwidth charges will apply. If the request 237 is sent to the remote server 150 according to the present invention and the file does not exist in the linked personal computer 152 or in the linked cloud 153, the request is made at 238 to the data origin 147 and And then the file can be streamed to device 148 as at 239.

본 발명에 따른 서버(150), 및 이전의 예들에서 설명된 바와 같은 그 스마트 뮤직 라우팅 엔진은, 상기의 예들 1-6과 같은 리소스들을 포함하지만 이들로 제한되지 않는 대역폭 및 로얄티 비용과 관련해서 최소 비용의 전송 포인트로부터 노래를 선택할 뿐만 아니라, 이러한 전송의 컴플라이언스 측면들을 평가하고 또한 로얄티를 위한 이러한 활동을 보고한다. The server 150 according to the present invention, and its smart music routing engine, as described in the previous examples, in terms of bandwidth and loyalty costs, including but not limited to resources such as Examples 1-6 above. In addition to selecting songs from the least cost transmission points, it evaluates the compliance aspects of these transmissions and also reports this activity for royalties.

도 22 및 23을 참조하면, 독자는 본 발명에 따른 소정의 서브-라이센싱 구성을 고려할 것이다. 스트리밍된 콘텐츠의 자동화된 서브-라이센싱을 위한 로컬 게이트웨이 서버의 사용은 저작권자와 콘텐츠 전달자(즉, 스트리밍 서비스 제공자) 사이의 합의 사항들에 의존적이다. 스트리밍 제공자가 스트리밍 라이센싱된 미디어로부터 얻어진 수익의 일부를 공유하는 것을 요구하는 합의를 갖을 수 있다는 상황에 대해 이하에 설명된다. 특별히 이러한 라이센스에 의해 스트리밍 제공자가 도매상으로서 동작할 수 있게 되는 요구사항이 존재할 수 있다. Referring to Figures 22 and 23, the reader will consider some sub-licensing configurations in accordance with the present invention. The use of a local gateway server for automated sub-licensing of streamed content relies on agreements between the copyright holder and the content bearer (ie, streaming service provider). A situation is described below in which a streaming provider may have an agreement requiring sharing a portion of the revenue obtained from streaming licensed media. In particular, there may be a requirement that a streaming provider can operate as a wholesaler under such a license.

제 1 케이스 시나리오가 도 22에 도시되어 있다. 이 경우에, 스트리밍 서비스 제공자(155)는, 로컬 서버(150)가 최적의 가격으로 스트리밍(241)할 수 있게 되는 소정의 파라미터들을 제공자(155)가 설정해야 한다는 요청에 따라, 로컬 게이트웨이 서버(150)로 요청을 전달한다. 이는, 서버(150)가 156에서와 같은 서브 라이센싱된 계정으로부터 스트리밍할 수 있음을 나타낸다. 도면에서, 157, 158, 및 159로 인용된 3개의 서브-라이센싱된 계정들이 있다. The first case scenario is shown in FIG. 22. In this case, the streaming service provider 155, in response to a request for the provider 155 to set predetermined parameters that enable the local server 150 to stream 241 at an optimal price, the local gateway server ( 150). This indicates that the server 150 can stream from a sub-licensed account as at 156. In the figure, there are three sub-licensed accounts referred to as 157, 158, and 159.

요청이 클라이언트 애플리케이션(155)으로부터 오는 경우, 로컬 서버(150)는 (계정들(157-159)로부터 선택된) 서브-라이센싱 계정이 소정의 요청(241)에 대해 최적의 라이센싱 비용을 갖는지를 242에서와 같이 결정한다. 그 후에, 노래는 서브-라이센서들의 클라우드로부터(예를 들어, 계정(157)으로부터) 스트리밍(234)된다. 스트리밍 제공자는 그 후에 서브-라이센서(157)를 대신하여 244에서와 같이 청구서를 발행받는다. 청구서 발행은 서브-라이센서들의 라이센싱 합의에 기초한 라이센싱 비용 및 스트리밍 비용을 포함한다. 그 후에, 서브 라이센서는 저작전자(160)에게 로얄티를 지불(245)하고, 스트리밍의 비용을 충당하기 위해 필요한 돈 및 거래로부터 얻어진 이익을 유지한다. If the request comes from a client application 155, the local server 150 determines at 242 whether the sub-licensing account (selected from accounts 157-159) has the optimal licensing cost for a given request 241. Decide like this. The song is then streamed 234 from the cloud of sub-licensors (eg, from account 157). The streaming provider then receives an invoice as at 244 on behalf of the sub-licensor 157. Billing includes licensing fees and streaming fees based on sub-licensors' licensing agreements. Thereafter, the sub-licensor pays 245 royalties to the author 160, and maintains the money needed to cover the cost of the streaming and the profits obtained from the transaction.

도 23에 도시된 바와 같은 제 2 케이스에서, 주요 차이점은 스트리밍의 비용이 어떻게 충당되는지에 있다. 데이터가 본 발명에 따른 피어-투-피어 네트워크(161)로부터 스트리밍(246)되기 때문에, 피어-투-피어 네트워크(161) 이용과 연관된 요금은 네트워크(161)를 소유하고 있는 서비스 제공자(162)에게 지불(247)되며, 그 후에 라이센싱의 비용은 저작권자(160)에 대한 로얄티를 지불(245)하고 거래로부터 얻어진 이익을 보유하는 서브-라이센서(157)로 전달(244)된다. In the second case as shown in Fig. 23, the main difference lies in how the cost of streaming is covered. Since the data is streamed 246 from the peer-to-peer network 161 according to the present invention, the fees associated with using the peer-to-peer network 161 are the service provider 162 that owns the network 161 Is paid 247, after which the cost of the licensing is passed 244 to the sub-licensor 157, which pays 245 royalties to the copyright holder 160 and holds the profits obtained from the transaction.

로컬 서버(150)가 스트림을, 즉 누가 어디(어떤 서브 라이센서)에서부터 스트리밍하는지를 추적 및 보고하기 때문에, 상기의 서브 라이센싱 케이스들이 가능하며, 그 결과 로얄티 지불을 적절하게 라우팅할 수 있다. 시스템의 고유성은 이러한 추적을 허용하지 않지만, 피어-투-피어 네트워크에 액세스할 수 있으며 이러한 사용을 여전히 보고할 수 있다. 상기에서 제시된 제 2 케이스 시나리오는 단지 로컬 게이트웨이 서버(150)로 가능한 반면에, 제 1 시나리오는 서버 요청에 대한 표준 서버, 혹은 리라이트 또는 리다이렉트의 일부 형태로 발생할 수 있다. Since the local server 150 tracks and reports the stream, that is, who streams from where (which sub-licensor), the above sub-licensing cases are possible, and as a result, it is possible to properly route royalties payments. The system's uniqueness does not allow such tracking, but it has access to peer-to-peer networks and can still report such usage. While the second case scenario presented above is only possible with the local gateway server 150, the first scenario may occur in the form of a standard server for server requests, or some form of rewrite or redirect.

로컬 서버 콘텐츠를 이용함으로써 소정의 라이센싱 혜택/이점은 본 발명에 의하면 자명하다. 이와 관련하여, 서비스의 엔드 유저에 의해 제어 또는 소유되는 로컬 서버 상에 노래가 존재하면 로컬 미디어 사용은 재생의 상태로 된다. 이는 이미 사용자의 퍼스널 미디어 라이브러리 계정 또는 로컬 컴퓨터의 임의의 부분에서의 타이틀 또는 앨범일 것이다. 이러한 콘텐츠는 구매, 다운로드 또는 선물로 그곳에 배치될 수 있었다. 이는 엔드 유저의 컴퓨터 상에서 로컬 파일들의 합법적인 소싱을 확인하는 본 시스템/방법의 소유자들 또는 서비스 제공자들의 책임이 아니다. Certain licensing benefits/benefits by using local server content are self-evident according to the present invention. In this regard, if the song exists on a local server controlled or owned by the end user of the service, the local media usage is in the state of playback. This will already be a title or album in the user's personal media library account or in any part of the local computer. Such content could be placed there as a purchase, download, or gift. It is not the responsibility of the owners or service providers of the system/method to verify the legitimate sourcing of local files on the end user's computer.

스트리밍 제공자는 국부적으로 제어되는 사운드 레코딩 또는 음악 작성의 수행, 배포, 또는 복제를 행하지 않을 것이다. 따라서, 권리가 사용되지 않으며, 계산 또는 보고를 위해 추가적인 라이센스 요금이 요구되지 않는다. 엔드 유저의 경험을 방해하지 않도록 이들 추적을 신속하고 정확하게 식별할 수 있는 것이 핵심이다. The streaming provider will not perform, distribute, or duplicate locally controlled sound recording or music creation. Thus, no rights are used, and no additional license fees are required for calculation or reporting. The key is to be able to quickly and accurately identify these tracks so that they do not interfere with the end user's experience.

본 발명에 따른 서버로부터의 미디어의 사용은, 본 시스템/방법의 소유자로부터의 보다 바람직한 요금으로 라이센싱된 노래가 스트리밍 제공자로부터의 노래 대신에 사용될 수 있을 때에 발생한다. 이는 콘텐츠 제어기를 이용하여 직접 만들어진 라이센스들에 의해 가능하게 된다. 이들 새로운 직접적인 합의는 보다 투명한 로얄티 구조 및 아티스트에게 직접 보고하는 프로세스를 제공한다. The use of media from the server according to the present invention occurs when a song licensed at a more desirable fee from the owner of the system/method can be used in place of a song from a streaming provider. This is made possible by licenses created directly using the content controller. These new direct agreements provide a more transparent loyalty structure and a process for reporting directly to the artist.

또한, 다이렉트 라이센스는 온라인 사용을 위한 "원-스탑" 관계 그 이상을 형성하는 상호적 및 비상호적인 사용의 양쪽을 고려한다. 또한, 합의는 전송 효율성으로부터 얻어진 절감에 의해 계산된 고유 로얄티 지불을 제공할 것이다. 공유 파일에 의해 형성된 절감의 일부를 산업계로 다시 전달하는 합의가 현재 없다. In addition, Direct Licensing considers both interactive and non-interactive use that form more than a "one-stop" relationship for online use. In addition, the consensus will provide a unique loyalty payment calculated by the savings gained from transmission efficiency. There is currently no agreement to convey some of the savings made by shared files back to the industry.

스트리밍 제공자에게 있어서 이러한 파일들을 사용하는 장점은 상호적 및 비상호적 사용에 걸쳐서 감소된 로얄티 레이트에서 유래한다. 이들 타이틀의 사용으로부터 계산된 청취 시간 및 모든 성능은 표준형 "풀-레이트(full-rate)" 로얄티 계산으로 달성될 것이며, 또한 보다 유리한 레이트에 기초할 것이다. The advantage of using these files for streaming providers stems from the reduced loyalty rate over mutual and non-interactive use. All performance and listening times calculated from the use of these titles will be achieved with standard "full-rate" loyalty calculations, and will also be based on more favorable rates.

제어되는 피어-투-피어 미디어의 사용은, 파일이 제어형 사용자 서버의 보안 캐시 내에 위치될 때에 일어나며, 또한 스트리밍 제공자의 데이터 공급마다 재생하도록 스케쥴링된 파일을 교체할 수 있다. 로얄티 요금으로부터 비용 절감이 없지만, 본 시스템 및 방법에 따라 직접적인 라이센스 하에 있는 아티스트들에게 유익한 전송 절감이 존재한다. 따라서, 이 보안 캐시로부터 유래할 수 있는 타이틀이 더 많을수록 스트리밍 제공자 및 음악 산업의 양쪽에 대한 이점이 많아진다. The use of controlled peer-to-peer media occurs when the file is placed in the secure cache of the controlled user server, and can also replace the scheduled file for playback per streaming provider's data supply. There is no cost savings from the royalties fee, but there are transfer savings that are beneficial for artists under direct license under the present system and method. Thus, the more titles that can originate from this secure cache, the greater the advantage for both the streaming provider and the music industry.

이하는 가상의 스트리밍 제공자로부터 프로그래밍하는 표본 달(a sample month)의 내역(a breakout)이다. 내역은 다중 소스의 콘텐츠의 사용과 관련된 절감뿐만 아니라 고유 컴플라이언스 계산 프로세스가 전반적인 절감 프로세스에 대해 어떻게 중요한지를 나타내는 것이다. Below is a breakout of a sample month programming from a virtual streaming provider. The breakdown is not only the savings associated with the use of multiple sources of content, but also how the unique compliance calculation process is important to the overall savings process.

컴플라이언스 엔진 및 보고 툴은 이하의 정보를 불러올 수 있는 능력을 갖는다:The compliance engine and reporting tool has the ability to retrieve the following information:

1) 모든 공연권 기구들(Performing Rights Organizations)에 의해 요구되는 고유 사양들에 기초한 사용 보고들. 이들 사양들은 이하의 항목들을 포함한다. 1) Usage reports based on specific specifications required by all Performing Rights Organizations. These specifications include the following items.

a. 플랫폼(스트림 제공자)마다 고유 보고들을 제공함a. Provides unique reports per platform (stream provider)

b. 수익 정보가 플랫폼 타입에 기초해서 스트리밍 제공자마다 안전하게 입력될 수 있게 하는 능력을 제공함b. Provides the ability to securely enter revenue information per streaming provider based on platform type

c. 평균 청취 시간 총계, 플레이 비율 총계(Per play totals), 및 청취 세션 비율 총계(per listening session totals)를 생성하도록 고유 사용자 세션마다의 사용 보고들c. Usage reports per unique user session to generate average listening time totals, Per play totals, and per listening session totals.

d. 모든 사용 및 수익 정보를 SP 마다 PRO 마다 별도의 사용 보고들로 집약할 수 있는 능력d. Ability to aggregate all usage and revenue information into separate usage reports for each SP and PRO

2) 사운드 교환 보고 및 지불을 위한 사용 사양들2) Usage specifications for sound exchange reporting and payment

a. 플랫폼(스트림 제공자)마다 고유 보고들을 제공함a. Provides unique reports per platform (stream provider)

b. 수익 정보가 플랫폼 타입에 기초해서 스트리밍 제공자마다 안전하게 입력될 수 있게 하는 능력을 제공함b. Provides the ability to securely enter revenue information per streaming provider based on platform type

c. 평균 청취 시간 총계, 플레이 당 총계, 및 청취 세션 당 총계를 생성하도록 고유 사용자 세션마다의 사용 보고들c. Usage reports per unique user session to generate average listening time total, total per play, and total per listening session

d. 모든 사용 및 수익 정보를 SP 마다 별도의 사용 보고들로 집약할 수 있는 능력d. Ability to aggregate all usage and revenue information into separate usage reports for each SP

3) 레코드 라벨들 및 퍼블리셔들(Publishers)을 위한 일반적 사용 사양 - 상호적인 사용에 사용됨3) Record Labels and General Usage Specification for Publishers-Used for interactive use

4) 권한 모듈 "컴플라이언스 대시보드" - 4) Authorization module "Compliance Dashboard"-

다양한 합의 타입들을 위한 콘텐츠 제어기에 의해 승인된 권한, 로얄티 레이트, 허가 상태(clearance status) 및 사용들을 (미디어 자산마다) 일괄 변경하거나 개별적으로 변경할 수 있는 능력:Ability to change permissions, loyalty rates, clearance status and usages approved by the content controller for various types of consensus in bulk or individually (per media asset):

a. 레코드 라벨 라이센스 합의a. Record label license agreement

b. 거주용(Residential) 라이센스 합의b. Residential License Agreement

c. 광고용 라이센스 합의c. Advertisement license agreement

d. 다중 플랫폼 라이센스 합의d. Multi-platform license agreement

e. 번들형 권한 합의e. Bundled authorization agreement

f. 로얄티 공유 합의(출판 관리)f. Loyalty sharing agreement (publishing management)

g. 웨이버/무료(Waiver/gratis)g. Waiver/gratis

5) 이하의 "콘텐츠 소스 타입들" 각각에 대해 모든 별도의 플랫폼들 및 서비스들에 걸쳐서 상기 모든 보고 요구사항들을 개별적이며 집약된 계정에 제공할 수 있는 능력5) Ability to provide individual and aggregated accounts with all of the reporting requirements above across all separate platforms and services for each of the following "content source types"

a. 100% 스트리밍 제공자(SP) 콘텐츠a. 100% streaming provider (SP) content

b. 로컬 서버 콘텐츠b. Local server content

c. 제어형 P2P 콘텐츠c. Controlled P2P content

d. Vertigo 라이센싱된 콘텐츠d. Vertigo Licensed Content

6) 로얄티 계산 엔진 - 시스템은 컴플라이언스 대시보드에 입력된 레이트들에 기초하여 데이터 범위, 콘텐츠 소스 타입 및 스트리밍 제공자마다 사용 데이터를 결합함으로써 소유되는 로얄티들을 계산할 수 있는 능력을 갖는다. 이하의 계산은 로컬 서버 콘텐츠의 별도 취급(carve outs)을 위해 사용될 것이다. X/X+Y×(플레이 비율(per play) 또는 스트리밍 시간 레이트) = 총 로얄티. X=로컬 서버 콘텐츠 및 Y=스트리밍 제공자 콘텐츠6) Loyalty Calculation Engine-The system has the ability to calculate owned royalties by combining usage data for each data range, content source type, and streaming provider based on rates entered in the compliance dashboard. The following calculations will be used for carve outs of local server content. X/X+Y×(per play or streaming time rate) = total loyalty. X=local server content and Y=streaming provider content

모든 권리들의 집단, 점포, 소스에 대해 정확하게 계산 및 보고하고, 제어형 및 독점형 콘텐츠 사용을 계산하며, 총 로얄티로 전송 비용 절감을 통합할 수 있는 능력은 이를 일종의 컴플라이언스 서비스로 만든다. The ability to accurately calculate and report on groups, stores, and sources of all rights, calculate the use of controlled and proprietary content, and consolidate transmission cost savings with total royalties makes this a type of compliance service.

본 명세서의 이 부분은 종래의 라디오 스테이션들의 인터넷 스트림을 보다 효율적으로 만들며 또한 스트리밍된 오디오의 품질을 향상시키기 위해 데 로컬 게이트웨이 서버가 어떻게 사용될 수 있었는지를 개시한다. 본 발명, 더 정확히는 본 명세서의 이 부분은 토크쇼, 스포츠 방송 등이 아니라 음악을 주로 재생하는 라디오 방송에 초점이 맞추어져 있다. 라디오 방송을 기반으로 하는 음악이 라이브 오디오와 사전 레코드된 오디오와의 믹스라는 사실로 인해, 상당한 절감이 얻어질 수 있으며, 또한 오디오의 품질이 상당히 개선될 수 있다. This part of this specification discloses how the local gateway server could be used to make the Internet stream of conventional radio stations more efficient and also to improve the quality of the streamed audio. The present invention, more precisely, this part of the specification is not focused on talk shows, sports broadcasts, and the like, but on radio broadcasts that mainly play music. Due to the fact that music based on radio broadcasts is a mix of live audio and pre-recorded audio, significant savings can be obtained, and the quality of the audio can also be significantly improved.

사전 레코드된 오디오가 라이브 오디오 또는 스튜디오 믹스로부터 분리되고, 피어-투-피어 네트워크를 거쳐 혹은 로컬 파일 시스템들(적절한 노래가 재생되고 있음을 확실히 하기 위해 메타데이터 파일 매칭 시스템들이 사용될 것임)을 통해 로컬 컴퓨터로 전송될 수 있으면, 상당한 절감 및 오디오 품질에서의 향상이 달성될 수 있다. 그러면 사전 레코드된 오디오 및 스튜디오 믹스는 일관된 방송 콘텐츠 및 품질을 보장하기 위해 로컬 컴퓨터 상에서 믹스될 수 있다. 본 명세서는 이것이 어떻게 달성될 수 있는지를 설명할 것이다. Pre-recorded audio is separated from the live audio or studio mix, and locally via a peer-to-peer network or via local file systems (metadata file matching systems will be used to ensure that the appropriate song is playing). Significant savings and improvements in audio quality can be achieved if they can be transmitted to a computer. The pre-recorded audio and studio mix can then be mixed on the local computer to ensure consistent broadcast content and quality. This specification will explain how this can be achieved.

인터넷을 거쳐 라디오를 스트리밍하는 기존의 방법들은 일반적으로 도 30에 도시되어 있다. 인터넷을 거쳐 라디오 스트림을 전송하는 현재의 방법들은, 통상, 사전 레코드된 오디오(음악 트랙, 광고, 등)를 재생하는 163에서와 같은 미디어 재생 디바이스(예를 들어, 일반적으로 퍼스널 컴퓨터)의 사용을 포함하고, 오디오를 사운드보드(164)로 출력(248)한다. 그 후에 이 오디오는, 디스크 자키의 발언 및/또는 해설, 및 스튜디오 또는 레코딩 시스템(170)에서 모두 사운드보드(164)로 입력(249)되는 다른 라이브 오디오(165)와 믹스된다. Existing methods of streaming radio over the Internet are generally shown in FIG. 30. Current methods of transmitting radio streams over the Internet typically use the use of a media playback device (e.g., a personal computer in general) as in 163 playing pre-recorded audio (music tracks, advertisements, etc.). And outputs 248 audio to the sound board 164. This audio is then mixed with the disc jockey's utterances and/or commentary, and other live audio 165 that is input 249 to the soundboard 164 both in the studio or recording system 170.

그 후에 사운드보드 믹스는 오디오의 단일 스트림으로서 컴퓨터(166)에 250에서와 같이 출력된다. 그러면 컴퓨터(166)는 오디오 스트림을 압축하고, 그 오디오 스트림을 압축된 오디오 파일(167)(이는 일반적으로 MP3 파일임)에 출력한다. 파일이 라이브 스트리밍되고 파일의 끝에 새로운 데이터가 끊임없이 첨부되고 있음에 따라, 이 MP3 파일은 설정 지속기간(a set duration)을 갖지 않는다. 이 MP3 파일은 콘텐츠 전송 네트워크(168), 및 압축시에 이 파일을 새로운 데이터와 함께 첨부(251)하는 오디오 스트림을 압축 및 트랜스-코딩하는(trans-codes) 컴퓨터(166) 상에 통상적으로 위치된다. 그러면 콘텐츠 전송 네트워크(168)는 이 파일을 클라이언트들(169)에게 배포(252)한다. 또한, 이는 단순한 시스템 개요로서 시장에서의 대부분의 구성들과 유사할 가능성이 있다. The soundboard mix is then output as at 250 to computer 166 as a single stream of audio. The computer 166 then compresses the audio stream and outputs the audio stream to a compressed audio file 167 (which is usually an MP3 file). As the file is live streamed and new data is constantly appending to the end of the file, this MP3 file does not have a set duration. This MP3 file is typically located on a content delivery network 168 and a computer 166 that compresses and trans-codes an audio stream that attaches 251 the file with new data upon compression. do. The content delivery network 168 then distributes 252 this file to the clients 169. Also, this is a simple system overview and is likely to be similar to most configurations on the market.

본 발명에 따른 게이트웨이 서버의 개선된 시스템은 도 26-29에 일반적으로 도시되어 있다. 개선된 시스템은 사운드보드(164)로 사전 레코드된 오디오를 출력(248)하는 컴퓨터(163) 및 라디오 스튜디오(170)에서 시작된다. 본 발명에 따른 컴퓨(163)는 특허 소프트웨어에 의해 예시화되는 바와 같은, 설치 또는 적용시에 가능하게 되는 소정의 이벤트 표시자(event maker) 관련 수단을 갖을 것이다. An improved system of a gateway server according to the invention is shown generally in Figs. 26-29. The improved system starts with computer 163 and radio studio 170 outputting 248 pre-recorded audio to soundboard 164. The computer 163 according to the present invention will have certain event maker related means that are enabled upon installation or application, as exemplified by the patented software.

1. 방송을 위한 노래들을 큐잉하는 디스크 자키; 소프트웨어는 클라이언트들(172)에게 배포되는 노래 큐(171)를 생성하고, 클라이언트들(172)은 방송을 스트리밍한다. 큐(171)는 디스크 자키가 방송중에 재생하려고 계획한 노래들을 포함한다. 로컬 서버(184)는 이 노래들을 사전 로드(253)해서, 디스크 자키가 노래를 재생하려고 결정할 때에 그 노래는 재생을 위해 클라이언트(172)에서 이용가능하게 될 것이다. 이 노래들은 원격 콘텐츠 전송 네트워크 클라이언트(173), 피어-투-피어 네트워크 클라이언트(174)를 거쳐 전송되거나, 혹은 로컬 파일 시스템(175)으로부터 매칭 및 스트리밍될 수 있다. 1. Disc jockey cueing songs for broadcast; The software creates a song queue 171 that is distributed to clients 172, and the clients 172 stream the broadcast. The cue 171 contains songs that the disc jockey plans to play while on air. The local server 184 preloads 253 these songs so that when the disc jockey decides to play the song the song will be made available to the client 172 for playback. These songs may be transmitted via a remote content delivery network client 173, a peer-to-peer network client 174, or matched and streamed from a local file system 175.

2. 소프트웨어는 또한 사운드보드(164)로부터 되돌아오는 오디오 출력(176)을 256에서와 같이 압축한다. 또한, 소프트웨어는 오디오 스트림(179)의 프레임 헤더들(177)에 이벤트 표시자들을 삽입한다. 각 MP3 오디오 스트림/파일(179)은 오디오 프레임들(178)로 이루어지고, 오디오 프레임들(178) 각각은 헤더(177)를 갖는다. 새로운 오디오가 추가됨에 따라, 새로운 프레임들(178)이 파일에 첨부된다. 이 헤더들(177)은 32 비트의 길이이다. 각 헤더(177) 내에서, 전용 애플리케이션 사용을 위해 확보된 비트가 있다. 이 비트는 이벤트의 시작에서는 "1"로 설정되고, 정기적인 스트리밍 동안에는 "0"으로 설정될 것이다. 이 데이터는 사운드보드(164)로부터 오는 스트림들(176 및/또는 256)의 양쪽으로 삽입될 것이다. 또한, 각 헤더(177)는 단지 정보를 제공하며 오디오 재상에 영향을 미치지 못하는 비트들(예를 들어, "저작권", "원본")을 포함한다. 각 헤더(177)는 오디오 재생에 영향을 미치지 못하는 적어도 3 비트(전용 비트를 포함함)를 갖는다. 이들 비트는 이벤트 ID를 생성하는 데 사용될 수 있다. 10초 재생을 채우기에 충분한 이벤트들을 수용할 만큼 충분히 고유한 ID를 가능하게 하도록 "0" 및 "1"의 조합을 형성하는 데 이들 비트를 사용함으로써 상기 ID가 생성될 것이다. 따라서, 원래의 짝수 표시자 비트를 갖는 프레임 헤더가 프레임 헤더와 함께 사용되면, 적어도 5 비트들의 합계로 사용되는 곧바로 수행되는 것은 적어도 32 또는 25개의 고유 마커들을 생성하는 데 사용될 수 있다. 이는 가능한 10초 지연에 대한 충분한 이벤트들을 커버할만큼 충분한 고유 마커들보다 많아야 한다. 보다 많은 마커들이 필요하면, 다른 헤더는 32로부터 256로의 전체를 증가시키기 위해 추가될 수 있다. 각 이벤트가 10초 프레임 내에 고유한 마커를 갖기 때문에, 이 마커들은 완전히 원격으로 믹스된 스트림 및 국부적으로 믹스된 스트림(스튜디오로부터 스트리밍된 라이브 오디오, 및 로컬 서버에 의해 이벤트 마커들에서 스트림으로 믹스되는 사전 레코드된 오디오의 스트림일 것임)으로 핸드오프 및 천이하도록, 2개의 별도의 스트림들(하나는 라이브 오디오만을 포함하고, 다른 하나는 풀 믹스일 것임)을 동기화하는 데 사용될 수 있다. 이벤트 마커들은 또한 스튜디오로부터의 오디오 믹스를 모방하라는 믹싱 인스트럭션에 링크될 것이다. 2. The software also compresses the audio output 176 returning from the soundboard 164 as at 256. In addition, the software inserts event indicators in the frame headers 177 of the audio stream 179. Each MP3 audio stream/file 179 consists of audio frames 178, and each of the audio frames 178 has a header 177. As new audio is added, new frames 178 are attached to the file. These headers 177 are 32 bits long. Within each header 177, there are bits reserved for dedicated application use. This bit will be set to "1" at the start of the event and "0" during periodic streaming. This data will be inserted into both streams 176 and/or 256 coming from soundboard 164. In addition, each header 177 only provides information and contains bits (eg, "copyright", "original") that do not affect the audio reproduction. Each header 177 has at least 3 bits (including dedicated bits) that do not affect audio reproduction. These bits can be used to generate the event ID. The ID will be generated by using these bits to form a combination of "0" and "1" to enable an ID that is unique enough to accommodate enough events to fill a 10 second replay. Thus, if a frame header with the original even indicator bits is used with the frame header, what is done immediately, which is used as a sum of at least 5 bits, can be used to generate at least 32 or 2 5 unique markers. This should be more than enough unique markers to cover enough events for a possible 10 second delay. If more markers are needed, another header can be added to increase the total from 32 to 256. Since each event has a unique marker within a 10 second frame, these markers are fully remotely mixed streams and locally mixed streams (live audio streamed from the studio, and mixed from event markers to stream by the local server). It can be used to synchronize two separate streams (one containing only live audio and the other will be a full mix) to handoff and transition to a pre-recorded stream of audio). Event markers will also be linked to the mixing instruction to mimic the audio mix from the studio.

3. 애플리케이션은 또한 이벤트 큐를 생성한다. 이는 (상기한 바와 같이) 마커에 뒤따르는 고유 비트 ID에 기초하여 이벤트 마커들에 매칭되는 이벤트들의 큐일 것이다. 이들 이벤트는 오디오를 압축하고 있는 컴퓨터(163) 상에 기록될 것이어서, 이벤트들이 발생하고, 원래의 스튜디오 믹스(176)에서 이벤트들이 발생하는 정확한 위치에서 라이브 오디오 스트림(256)으로 이벤트들의 타이밍이 삽입되는 것을 보장하는 정확한 프레임(178)에서 각 이벤트가 등록된다. 이 이벤트들은 이하에 대한 정보를 포함할 것이다. 3. The application also creates an event queue. This would be a queue of events matching event markers based on the unique bit ID following the marker (as described above). These events will be recorded on the computer 163 compressing the audio so that the events occur and the timing of the events is inserted into the live audio stream 256 at the exact location where the events occur in the original studio mix 176. Each event is registered at the correct frame 178 to ensure that it is. These events will contain information on:

a. 어떤 사전 레코드된 오디오가 이벤트 마커에서 재생될 필요가 있는지a. What pre-recorded audio needs to be played in the event marker

b. 사전 레코드된 오디오를 위해 어떤 프레임 재생에서 시작되는지b. At which frame playback starts for pre-recorded audio

c. 어떤 볼륨 재생에서 시작되어야 하는지c. At what volume playback should start

d. 볼륨이 점점 페이드 인되고 있었으면, 수학식은 볼륨 페이드 인/아웃의 기울기 및 방향을 가장 잘 맞춘다. 이는 스튜디오 페이드 인/아웃을 모방하는 데 사용될 것이다. 이 정보는 사운드보드(164)로 출력됨에 따라 디스크 자키가 오디오를 제어(257)하고, 볼륨 백(volume back)에서의 변화들을 컴퓨터(163)에 보고하도록 하게 하는 주변 페이더(fader)(180)에 의해 레코드될 수 있다. d. If the volume was gradually fading in, the equation best matches the slope and direction of the volume fade in/out. This will be used to mimic the studio fade in/out. This information is output to the soundboard 164 as a peripheral fader 180 that allows the disc jockey to control the audio 257 and report changes in the volume back to the computer 163. Can be recorded by

e. 이벤트의 종료(이는 페이드 인/아웃이 정지하는 때를 기록하기 위해 통상적으로 요구됨)e. End of event (this is normally required to record when fade in/out stops)

f. 그 이상으로, 이는 단지 가장 유사한 형태의 이벤트들에 대한 예이다. f. Beyond that, this is just an example of the most similar types of events.

4. 애플리케이션은 또한 원격 서버 또는 콘텐츠 전송 네트워크(150) 상에서 라이브 오디오 스트림 파일(181) 및 풀 믹스 파일(182)을 업데이트(258)한다. 4. The application also updates 258 live audio stream files 181 and full mix files 182 on a remote server or content delivery network 150.

2개의 스트림(181/182)이 컴퓨터(163)에서 스튜디오(170) 내의 애플리케이션에 의해 레코드 및 인코드되면, 양쪽의 파일들(181/182)은 클라이언트들(172)로의 전송(259)을 위해 콘텐츠 전송 네트워크 또는 원격 서버(185)로 업로드(258)된다. 클라이언트측 애플리케이션(183)(예를 들어, 브라우저 등)은 적절하게 포맷화된 URL을 이용함으로써 라디오 스트림에 대한 요청들을 전송한다. URL은 주요 도메인 네임의 서브 도메인으로서 구조화될 있으며, 예를 들어 이러한 포맷의 URL은 라디오 스테이션 스트림 radiostation.vertigomusic.com/[show id]를 참조하는 데 사용될 수 있다. Vertigo 게이트웨이 서버(184)가 설치되지 않았으면, 이 URL은 클라이언트에게 완전히 믹스된 스튜디오 스트림(182)을 참조하게 하고, 종래의 인터넷 라디오 스트림과 동일한 방식으로 파일을 재생할 것이다(상기 및 도 30 참조). When two streams 181/182 are recorded and encoded by an application in studio 170 at computer 163, both files 181/182 are for transmission 259 to clients 172. It is uploaded 258 to a content delivery network or remote server 185. Client-side application 183 (eg, browser, etc.) sends requests for radio streams by using a properly formatted URL. The URL can be structured as a subdomain of the main domain name, for example a URL in this format can be used to refer to the radio station stream radiostation.vertigomusic.com/[show id]. If the Vertigo gateway server 184 is not installed, this URL will cause the client to refer to the fully mixed studio stream 182 and will play the file in the same manner as the conventional Internet radio stream (see above and Fig. 30). .

Vertigo 게이트웨이 서버(184)가 설치되었으면, 서버(184)는 그 서브 도메인 네임을 자신에게 등록하고 나서 로컬 클라이언트 애플리케이션(183)으로부터의 서브 도메인 네임에 대한 모든 요청들을 처리한다. 이 경우, 스트림에 대한 요청이 클라이언트 애플리케이션(183)에 의해 이루어지면, 요청은 게이트웨이 서버(184)에 의해 제공(260)된다. 게이트웨이 서버(184)는 원격 콘텐츠 전송 네트워크(185)로부터 완전히 믹스된(fully mixed) 스트림(182)을 제공함으로써 시작된다. 스트림이 시작되면, 게이트웨이 서버(184)는 사전 레코드된 오디오 큐(171)를 요청하고 피어-투-피어(174), 원격 콘텐츠 전송 네트워크(들)(173), 또는 로컬 소스들(175)로부터 사전 레코드된 오디오를 캐싱(253)하기 시작한다. 게이트웨이 서버(184)는 또한 스튜디오 컴퓨터(163)에 의해 끊임없이 업데이트되는 원격 데이터베이스(186)로부터 이벤트 큐를 로드(261)한다. 게이트웨이(184)는 스트림(181)이 진행되는 동안에 이벤트들(261)의 업데이트를 꾸준히 수신할 것이다. Once the Vertigo gateway server 184 is installed, the server 184 registers its sub-domain name with itself and then processes all requests for the sub-domain name from the local client application 183. In this case, if a request for the stream is made by the client application 183, the request is provided by the gateway server 184 (260). The gateway server 184 starts by providing a fully mixed stream 182 from the remote content delivery network 185. When the stream starts, the gateway server 184 requests a pre-recorded audio queue 171 and from peer-to-peer 174, remote content delivery network(s) 173, or local sources 175. Begin caching 253 pre-recorded audio. The gateway server 184 also loads 261 an event queue from a remote database 186 that is constantly updated by the studio computer 163. The gateway 184 will continuously receive updates of the events 261 while the stream 181 is in progress.

풀 스튜디오 믹스(182)로부터 라이브 오디오만의 스트림(181)으로의 천이를 위해, 게이트웨이 서버(184)는 양쪽 스트림(181, 182)을 로드하고, 단지 풀 믹스(182)를 제공한다. 게이트웨이 서버(184) 및 믹싱 애플리케이션(187)이 모든 작업들을 완료하기에 충분한 시간을 갖는다는 것을 보장하기 위해, 서버(184)는 라이브 데이터 수신에서부터 스트림 10-20초를 시작하여, 믹싱 및 천이를 실행하는 시스템을 위해 시간을 생성하는 데 사용되는 맞춤 지연(a custom lag)을 생성한다. 게이트웨이 서버(184)는 라이브 오디오 스트림(181)으로 천이하기 위해 풀 스튜디오 믹스(182)의 프레임 헤더들(177)에서의 이벤트 비트를 대기한다. For the transition from the full studio mix 182 to the live audio only stream 181, the gateway server 184 loads both streams 181 and 182 and only provides a full mix 182. To ensure that the gateway server 184 and mixing application 187 have enough time to complete all tasks, the server 184 starts a stream 10-20 seconds from receiving live data, mixing and transitioning. It creates a custom lag that is used to generate time for the running system. The gateway server 184 waits for an event bit in the frame headers 177 of the full studio mix 182 to transition to the live audio stream 181.

게이트웨이 서버(184)는 2개의 스트림(181/182)을 이벤트 비트로 정렬시킨다. 이는 이벤트 비트 다음의 비트 코드를 매칭함으로써 행해진다. 비트 코드가 양쪽의 이벤트들에 매칭되는 경우, 스트림의 마지막 10-15초만이 검색되기 때문에 이벤트들은 매칭된다고 생각된다. 32 고유 비트 코드들은 매칭된 이벤트들이 사실상 동일하다는 것을 보장하기에 충분한 고유성을 제공한다. 이벤트 비트들이 한번 매칭되면, 게이트웨이 서버(184)는 이벤트 비트가 발생하는 프레임(178)에서 풀 스튜디오 믹스(182)로부터 라이브 오디오 믹스(181)로 천이시킨다. 이 방법을 사용하는 것은 프레임-투-프레임 정확성을 갖고서 스트림에서부터 스트림으로 원할한 천이를 제공한다. The gateway server 184 sorts the two streams 181/182 into event bits. This is done by matching the bit code after the event bit. If the bit code matches both events, the events are considered to match because only the last 10-15 seconds of the stream are searched. The 32 unique bit codes provide enough uniqueness to ensure that the matched events are virtually identical. Once the event bits are matched, the gateway server 184 transitions from the full studio mix 182 to the live audio mix 181 in the frame 178 in which the event bit occurs. Using this method provides a smooth transition from stream to stream with frame-to-frame accuracy.

게이트웨이 서버(184)가 라이브 오디오만의 스트림(181)으로 한번 천이했으면, 이벤트 비트가 출현할 때에 이벤트들의 데이터베이스(186)에 저장되는 믹싱 인스트럭션들을 따르기 시작한다. 라이브 스트림의 마지막 10-15초만이 이벤트 비트들을 위해 추적되기 때문에, 이벤트 비트 코드를 매칭하는 데이터베이스(186) 내에 이벤트 데이터를 위치시키는 데 비트 코드가 사용된다. Once the gateway server 184 has transitioned to the live audio-only stream 181, it starts following mixing instructions stored in the database 186 of events when an event bit appears. Because only the last 10-15 seconds of the live stream are tracked for event bits, the bit code is used to place the event data in the database 186 matching the event bit code.

따라서, 제 1 이벤트가 사전 레코드된 오디오 큐(171) 내의 제 1 노래의 재생을 위한 것이었다고 가정하면, 애플리케이션은 이미 오디오의 적어도 10-20%를 캐싱했을 것이다. 이 경우, 게이트웨이 서버(184)는 라이브 오디오 스트림(181) 및 사전 레코드된 오디오 데이터(188)를 내부 믹싱 애플리케이션(187)(이는 커맨드 라인 애플리케이션과 유사한 SoX 또는 맞춤형 구축 애플리케이션일 수 있음)으로 전달한다. Thus, assuming that the first event was for the playback of the first song in the prerecorded audio cue 171, the application would have already cached at least 10-20% of the audio. In this case, the gateway server 184 delivers the live audio stream 181 and the pre-recorded audio data 188 to the internal mixing application 187 (which may be an SoX similar to a command line application or a custom built application). .

또한, 게이트웨이 서버(184)는 풀 스튜디오 믹스(182)를 모방하기 위해 라이브 오디오 스트림(181) 및 사전 레코드된 오디를 믹싱하는 애플리케이션으로 믹싱 데이터를 전송(261)한다. 이는 스튜디오(170)에서 레코드되며 디스크 자키의 페이딩 및 타이밍을 모방하기 위해 이벤트와 연관되는 데이터를 이용함으로써 행해진다. 그러면 애플리케이션(187)은 요청 클라이언트(183)로 제공되는 국부적으로 믹싱된 새로운 파일(189)을 출력한다. 서버가 라이브 데이터 전송과 클라이언트 애플리케이션으로의 데이터 제공과의 사이에 상당한 지연을 생성할 수 있기 때문에, 이는 모두 원할하게 행해질 수 있다. 이러한 지연이 오디오 제공의 처음에 생성되는 한, 이러한 지연 구간은 오디오를 믹싱 및 준비하는 데 사용될 수 있다. In addition, the gateway server 184 transmits 261 the mixing data to an application that mixes the live audio stream 181 and pre-recorded audio to imitate the full studio mix 182. This is recorded in the studio 170 and is done by using data associated with the event to mimic the fading and timing of the disc jockey. The application 187 then outputs a locally mixed new file 189 that is provided to the requesting client 183. This can all be done smoothly, as the server can create significant delays between sending live data and providing data to the client application. As long as this delay is created at the beginning of the audio presentation, this delay interval can be used to mix and prepare the audio.

라디오 스테이션 또는 쇼가 광고들을 단지 통합하고, 사전 레코드된 오디오(예를 들어, 음악)으로 라이브 스트림을 믹싱하지 않는 경우에, 시스템은 이하에 설명되는 바와 같이 또한 도 31 및 32에 일반적으로 도시되는 바와 같이 작동하는 소정의 광고 통합 수단을 고려한다. If the radio station or show only incorporates advertisements and does not mix the live stream with pre-recorded audio (e.g. music), the system will also be shown generally in FIGS. 31 and 32 as described below. Consider some advertising consolidation means that works as follows.

라디오 쇼는 오디오를 인코드하고, 광고 또는 다른 사전 레코드된 파일이 재생되어야 할 때를 표시하는 소프트웨어(191)를 통해 컴퓨터(190) 상에서 레코드될 수 있다. 광고 표시자들은 오디오 침묵(audio silence)의 사전 결정된 시간 후에 배치된다. 이를 달성하기 위해, 인코딩 애플리케이션(191)은 오디오 침묵(301)을 나타내는 사전 결정된 광고보다 몇 초 더 긴 지연(300)을 생성한다. 따라서, 라디오 유명인이 레코딩하고 있으며 광고 휴식 시간을 삽입해야 하면, 라디오 유명인은 (예를 들어) 301에서와 같이 5초 동안 마이크로폰을 단순히 음소거하거나 침묵하게 한다. (예로서)(301에서와 같은) 5초의 침묵 후에, 인코딩 애플리케이션은 5초 침묵의 끝(302)이 아니라 시작(303)에서 오디오 스트림을 표시한다. 이에 의해, 최종 청취자는 침묵이 아니라 광고를 듣는다. The radio show can be recorded on the computer 190 via software 191 that encodes the audio and indicates when an advertisement or other pre-recorded file should be played. The advertisement indicators are placed after a predetermined time of audio silence. To achieve this, the encoding application 191 creates a delay 300 that is several seconds longer than a predetermined advertisement indicating audio silence 301. So, if a radio celebrity is recording and needs to insert a commercial break, the radio celebrity simply mutes or silences the microphone for 5 seconds, as in 301 (for example). After 5 seconds of silence (as in 301 as an example), the encoding application marks the audio stream at the start 303, not at the end 302 of the 5 seconds silence. Thereby, the final listener hears the advertisement, not silence.

침묵의 사전 결정된 구간이 지나갔으면, 애플리케이션(191)은 라디오 유명인에게 광고가 얼마나 오래 재생되어야 하는지를 표시하게 하고, 광고들은 선택된 구간에 따라 통합된다. 이러한 오디오 스트림은 그 후에 애플리케이션(191)에 의해 인코드 및 표시되고, 라디오 유명인이 선택하는 서버 또는 콘텐츠 전송 네트워크(192)로 업로드된다. If a predetermined period of silence has passed, the application 191 allows the radio celebrity to indicate how long the advertisement should be played, and the advertisements are consolidated according to the selected period. This audio stream is then encoded and displayed by the application 191 and uploaded to a server or content delivery network 192 of which the radio celebrity chooses.

그 디바이스(193)로부터의 청취자가 클라이언트 애플리케이션(194)(예를 들어, 브라우저 또는 모바일 애플리케이션)을 통해 라디오 스트림을 요청하는 경우, 그 요청은 게이트웨이 서버(195)로 전송(270)된다. 게이트웨이 서버(195)는, 응답하여 오디오를 게이트웨이 서버(195)로 전달(272)하는 클라우드/서버(192)로 오디오 스트림에 대한 요청을 전송(271)한다. When a listener from the device 193 requests a radio stream through the client application 194 (eg, a browser or mobile application), the request is sent 270 to the gateway server 195. The gateway server 195 transmits (271) a request for an audio stream to the cloud/server 192 that transmits 272 audio to the gateway server 195 in response.

그 후에 게이트웨이 서버(195)는 오디오 스트림을 클라이언트(194)로 전달(293)한다. 광고 표시자가 오디오 스트림 내에서 식별되는 경우, 게이트웨이 서버(195)가 광고 서버(196)로부터 적절한 광고를 페치(274)하여 특정 시간에 통합할 수 있도록, 게이트웨이 서버(195)는 소형 버퍼(2-5초의 데이터)를 생성한다. 모바일 애플리케이션에서, 애플리케이션은 게이트웨이 서버(194) 없이 광고들을 통합해야 할 것이다. 모바일 애플리케이션은 애플리케이션의 소스 코드로 통합된 것을 가져야 할 것이다. 따라서, 모바일 애플리케이션은 광고 표시자를 검출하고 나서 광고 표시자의 초반에 광고를 통합하는 코드를 갖을 것이다. Thereafter, the gateway server 195 delivers (293) the audio stream to the client 194. When an advertisement indicator is identified within the audio stream, the gateway server 195 is a small buffer (2-) so that the gateway server 195 can fetch 274 the appropriate advertisement from the advertisement server 196 and integrate it at a specific time. 5 seconds of data). In a mobile application, the application would have to integrate advertisements without gateway server 194. The mobile application will have to be integrated into the application's source code. Thus, the mobile application will have code that detects the advertisement indicator and then incorporates the advertisement at the beginning of the advertisement indicator.

상기 설명은 많은 특성을 포함하지만, 이 특성은 발명의 범위에 대한 제약사항들로서 간주되는 것이 아니라 발명의 예시화로서 간주되어야 한다. 예컨대, 본 발명이 엔드 유저에게 선택 데이터 파일들을 전달(예를 들어, 스트리밍)하기 위해 피어-투-피어(P2P) 콘텐츠 전송 네트워크를 반드시 제공하는 것으로 생각된다. Although the above description includes many features, these features should be regarded as illustrative of the invention, not as limitations on the scope of the invention. For example, it is contemplated that the present invention necessarily provides a peer-to-peer (P2P) content delivery network for delivering (eg, streaming) selection data files to end users.

본 발명에 따른 이른바 P2P 콘텐츠 전송 네트워크(CDN) 또는 P2P CDN은 2에서와 같은 클라이언트, 3에서와 같은 P2P 게이트웨이 서버, 4에서와 같은 리소스 네임 서버(RNS), 및 컴퓨터-파퓰레이트된 네트워크(a computer-populated network)를 바람직하게 포함하고, 상기 컴퓨터-파퓰레이트된 네트워크는 로컬 서버, 피어 접속형 서버, 클라우드 락커, 클라우드 스토리지, 클라우드 미디어, 및/또는 광고(음악) 스트리밍 서비스 제공 인프라스트럭처(들)를 포함할 수 있다. The so-called P2P content delivery network (CDN) or P2P CDN according to the present invention includes a client as in 2, a P2P gateway server as in 3, a resource name server (RNS) as in 4, and a computer-populated network (a computer-populated network), wherein the computer-populated network is a local server, a peer-connected server, a cloud locker, a cloud storage, a cloud media, and/or an advertisement (music) streaming service providing infrastructure(s). ) Can be included.

클라이언트는 P2P 게이트웨이 서버와 통신하며, P2P 게이트웨이 서버는 RNS 및 컴퓨터-파퓰레이트된 네트워크와 통신한다. RNS는 기본적으로 컴퓨터-파퓰레이트된 네트워크 내에서 데이터 리소스 위치들을 캐싱하고, 컴퓨터-파퓰레이트된 네트워크 내에서 최적의(예를 들어, (a) 가장 가격 효율적인 또는 (b) 소스의 최고 사운드 품질의) 데이터 리소스 위치들로 리소스 요청들을 해결하도록 기본적으로 동작한다. The client communicates with the P2P gateway server, and the P2P gateway server communicates with the RNS and computer-populated network. RNS basically caches data resource locations within a computer-populated network, and provides optimal (e.g., (a) most cost effective or (b) highest sound quality of the source) within the computer-populated network. ) Basically works to resolve resource requests with data resource locations.

P2P 게이트웨이 서버는 RNS를 거쳐 최적의 데이터 리소스 위치들을 요청 및 수신하고; 최적의 데이터 리소스 위치들을 이용하여 컴퓨터-파퓰레이트된 네트워크로부터 데이터 파일들을 요청 및 수신하고, 클라이언트 및 엔드 유저로의 데이터 파일 전송을 위해 수신된 데이터 파일들을 프로세싱한다. The P2P gateway server requests and receives optimal data resource locations via RNS; Request and receive data files from the computer-populated network using optimal data resource locations, and process the received data files for data file transfer to clients and end users.

본 발명에 따른 콘텐츠 전송 네트워크 또는 CDN은, 상기에서 보다 상세히 설명된 바와 같이 클라이언트 및/또는 서버 진위를 검증하기 위한 소정의 클라이언트 및/또는 서버 인증 수단을 포함해서, 선택형이지만 바람직하게는 애드온(add-on)의 기본 시스템의 다수의 구성요소들을 통합한다. 또한, 비손상 데이터 스트림의 전송을 개선하기 위한 노력으로, 본 발명은 상기에서 또한 설명된 바와 같은 소정의 데이터 전송 단편화 수단을 고려한다. The content delivery network or CDN according to the present invention is optional but preferably add-on, including predetermined client and/or server authentication means for verifying the authenticity of the client and/or server, as described in more detail above. -on) integrates multiple components of the base system. Further, in an effort to improve the transmission of intact data streams, the present invention contemplates some means of data transmission fragmentation as also described above.

리소스 위치들은 네트워크 또는 방법 효율성을 더욱 개선하기 위해 RNS와 관련되어 협력가능한 소정의 리소스 인덱싱 수단을 거쳐 바람직하게 인덱싱될 수 있다. 특히, 리소스 인덱싱 수단은 데이터 파일 메타데이터와는 독립적으로 데이터 파일들을 빠르고 효과적으로 매칭하기 위한 소정의 파일 매칭 수단을 바람직하게 포함할 수 있다. 본 발명에 따른 파일 매칭 수단은, 이들 명세서들이 이점을 주장하고 있는 허가받은 미국 특허 출원 제13/065,254호, 현재 등록된 미국 특허 제8,589,171호에 더욱 완전하게 명시되어 있으며, 이 명세서들은 본 명세서에 참고로 포함되어 있다. The resource locations can be preferably indexed via some resource indexing means cooperating in connection with the RNS to further improve the network or method efficiency. In particular, the resource indexing means may preferably include a predetermined file matching means for quickly and effectively matching data files independently of the data file metadata. The file matching means according to the present invention is more fully specified in the licensed U.S. Patent Application No. 13/065,254, currently issued U.S. Patent No. 8,589,171, in which these specifications are claimed to be beneficial. Included for reference.

따라서, 본 발명에 따른 파일 매칭 수단은 소정의 데이터 추출 수단, 소정의 요약 통계 도출 수단, 소정의 맞춤 표시자 생성 수단, 소정의 맞춤 표시자 연관 수단, 및 소정의 맞춤 표시자 액세스 수단을 바람직하게 포함할 수 있다. Accordingly, the file matching means according to the present invention preferably comprises a predetermined data extracting means, a predetermined summary statistics derivation means, a predetermined custom indicator generating means, a predetermined custom indicator association means, and a predetermined custom indicator access means. Can include.

데이터 추출 수단은 제 1 데이터 파일로부터 파형 데이터를 추출한다. 추출된 파형 데이터는 길이 세그먼트 값들을 포함하되, 이 값들은 데이터 추출 베이스라인에 관련하여 추출되고 트로프-투-베이스라인(trough-to-baseline) 및 피크-투-베이스라인 길이 세그먼트 값들을 포함한다. 요약 통계 도출 수단은 추출된 파형 데이터로부터 요약 통계를 도출하되, 상기 요약 통계는 길이 세그먼트 값들로부터 도출되고 트로프-투-베이스라인 및 피크-투-베이스라인 길이 세그먼트 통계를 포함한다. The data extracting means extracts waveform data from the first data file. The extracted waveform data includes length segment values, these values are extracted in relation to the data extraction baseline and include trough-to-baseline and peak-to-baseline length segment values. . The summary statistics derivation means derives summary statistics from the extracted waveform data, wherein the summary statistics are derived from length segment values and include trough-to-baseline and peak-to-baseline length segment statistics.

맞춤 표시자 생성 수단은 도출된 요약 통계에 기초하여 맞춤 표시자를 생성하고, 맞춤 표시자 연관 수단은 맞춤 표시자를 제 1 데이터 파일과 연관시킴으로써 맞춤 표시된 데이터 파일을 구축한다. 맞춤 표시자 액세스 수단은 포지티브 데이터 파일 매치가 되게 하기 위해 제 2 데이터 파일을 표시된 데이터 파일과 비교할 때에 맞춤 표시자에 액세스한다. The custom indicator generating means generates a custom indicator based on the derived summary statistics, and the custom indicator association means associates the custom indicator with the first data file, thereby constructing a custom displayed data file. The custom indicator access means accesses the custom indicator when comparing the second data file with the displayed data file in order to make a positive data file match.

P2P 콘텐츠 전송 네트워크는 상기에서 보다 상세히 설명된 데이터 파일 전송을 개선하기 위해 데이터 파일의 프레임 헤더에서의 이벤트 표시자를 연관시키는 소정의 이벤트 표시자 연관 수단을 더 포함할 수 있다. 이 마지막 점에서, 독자는 본 발명이 소정의 광고 통합 수단을 추가로 고려한다는 것을 상기할 것이며, 상기 수단은 특정된 이벤트 표시자 연관 수단을 거쳐 광고 콘텐츠를 데이터 파일들로 통합하기 위해 추가로 채택될 수 있다. The P2P content delivery network may further include predetermined event indicator association means for associating the event indicator in the frame header of the data file to improve the data file transmission described in more detail above. In this last point, the reader will be reminded that the present invention further considers certain advertising integration means, which means are further adopted to integrate advertising content into data files via specified event indicator association means. Can be.

본 발명의 데이터 기점에 무관한 특성을 감안하면, 데이터 라우팅 통제 시스템이 추가로 고려된다. 본 발명에 따른 데이터 라우팅 통제 시스템은 데이터 라우팅 컴플라이언스 기기 또는 엔진 및 설명된 콘텐츠 전송 네트워크를 결합하여 바람직하게 포함한다. 따라서, 데이터 라우팅 컴플라이언스 기기는 콘텐츠 전송 네트워크와 통신하고, 상기 콘텐츠 전송 네트워크는 데이터 파일들을 포함하거나 저장하는 복수의 데이터 소스들을 포함한다. In view of the characteristics irrelevant to the data origin of the present invention, a data routing control system is additionally considered. The data routing control system according to the present invention preferably includes a data routing compliance device or engine in combination with the described content delivery network. Thus, the data routing compliance device communicates with a content delivery network, the content delivery network comprising a plurality of data sources including or storing data files.

콘텐츠 전송 네트워크는 최적의 데이터 소스 위치로부터 엔드 유저로 선택 데이터 파일들을 전송하되, 최적의 데이터 소스 위치는 데이터 소스들로 이루어지는 그룹으로부터 선택된다. 따라서, 본 발명에 따른 컴플라이언스 기기 또는 엔진은 (a) 산업 권리 관리 (b) 컴플라이언스 모니터링 및/또는 (c) 데이터 파일 전송의 컴플라이언스 보고를 제공한다. The content delivery network transfers selected data files from the optimal data source location to the end user, with the optimal data source location selected from the group consisting of data sources. Accordingly, a compliance device or engine according to the present invention provides (a) industrial rights management (b) compliance monitoring and/or (c) compliance reporting of data file transfers.

근본적으로, 본 발명은 (1) 로컬 서버(예를 들어, PANDORA® 라디오에 의해 예시화되는 디지털 라디오)로부터 간접 요청 스트림을 전달하고; 피어 접속형 서버로부터 간접 요청 스트림을 전달하고; 제 2 직접 요청 소스(예를 들어, iTunes Match 또는 Spotify 또는 DropBox와 같은 클라우드 락커 또는 클라우드에서의 임의의 미디어)로부터 간접 요청 스트림을 전달하고; 제 2 직접 요청 소스의 재생 또는 스트림에 대한 권리에 기초하여 피어 접속형 서버로부터 간접 요청 스트림을 전달하고; (a) 가격 효율성 또는 (b) 소스의 사운드 품질에 기초하여 제 2 직접 요청 소스로부터 간접 요청 스트림을 전달하고; (6) 제 2 직접 요청 소스의 재생 또는 스트림에 대한 권리에 기초하여 피어 접속형 소스로부터 직접 요청 스트림을 전달하는 기능을 제공한다고 할 수 있다. 본 발명의 데이터 기점에 무관하거나 또는 클라우드에 무관한 측면들을 감안하면, 시스템은 (a) 산업 권리 관리 (b) 컴플라이언스 모니터링 및/또는 (c) 상기 예들 1-6을 포함하는 원래의 요청된 소스 서비스 이외에 콘텐츠의 전송이 보조 소스로부터 공급되는 컴플라이언스 보고를 제공한다. Fundamentally, the present invention is to (1) deliver an indirect request stream from a local server (eg, a digital radio exemplified by PANDORA® radio); Deliver an indirect request stream from a peer-connected server; Deliver an indirect request stream from a second direct request source (eg, a cloud locker such as iTunes Match or Spotify or DropBox or any media in the cloud); Deliver the indirect request stream from the peer-connected server based on the rights to the playback or stream of the second direct request source; deliver an indirect request stream from a second direct request source based on (a) cost effectiveness or (b) sound quality of the source; (6) It can be said that it provides a function of delivering a request stream directly from a peer-connected source based on the playback of the second direct request source or the right to the stream. Given the data origin-independent or cloud-independent aspects of the present invention, the system can be used to: (a) manage industrial rights (b) monitor compliance and/or (c) source the original requested source including Examples 1-6 above. In addition to the service, the delivery of content provides compliance reporting provided by secondary sources.

앞서의 명세서는 컴퓨터-파퓰레이트된 환경에서 엔드 유저에게 선택 데이터를 최적으로(예를 들어, 비용 효율적으로) 전달하기 위한 소정의 기점-무관형 데이터 전송 방법을 지원하는 것으로 추가로 여겨진다. 본 발명에 따른 기점-무관형 데이터 전송 방법은: 클라이언트, 피어-투-피어(P2P) 게이트웨이 서버, 및 리소스 네임 서버(RNS)를 컴퓨터-파퓰레이트된 네트워크와 통신하는 단계; RNS를 거쳐 컴퓨터-파퓰레이트된 네트워크 내의 데이터 리소스 위치들을 캐싱하는 단계를 바람직하게 포함한다고 할 수 있다. The preceding specification is further believed to support certain fiducial-independent data transfer methods for optimally (eg, cost-effectively) delivery of selection data to end users in a computer-populated environment. The fiducial-independent data transmission method according to the present invention comprises: communicating a client, a peer-to-peer (P2P) gateway server, and a resource name server (RNS) with a computer-populated network; It can preferably be said to include caching data resource locations in the computer-populated network via RNS.

최적의 데이터 리소스 위치들은 RNS 캐싱된 데이터 리소스 위치들로부터 클라이언트를 거쳐 P2P 게이트웨이 서버에 의해 요청될 수 있고, 리소스 요청들은 RNS를 거쳐 최적의 리소스 위치들로 해결된다. 최적의 리소스 위치들은 RNS를 거쳐 P2P 게이트웨이 서버에 의해 수신되고, 그 이후에 컴퓨터-파퓰레이트된 네트워크로부터의 데이터 파일들은 수신된 최적의 리소스 위치들을 이용하여 요청되거나 혹은 수신된 최적의 리소스 위치들에 의해 가능해지는 바와 같이 요청된다. 요청된 데이터 파일들은 그 후에 클라이언트로의 데이터 파일 전송을 위해 전송(즉, 송수신) 및 프로세싱된다. Optimal data resource locations may be requested by the P2P gateway server via the client from RNS cached data resource locations, and resource requests are resolved to the optimal resource locations via RNS. Optimal resource locations are received by the P2P gateway server via the RNS, after which data files from the computer-populated network are either requested or received using the received optimal resource locations. Requested as made possible by The requested data files are then transmitted (ie, transmitted/received) and processed for data file transfer to the client.

Claims (33)

선택적으로 동기화된 데이터 파일을 사용자에게 실시간으로 전송하기 위해 하나 이상의 데이터 소스와 함께 동작가능한 라우팅 및 동기화 시스템으로서,
컴퓨터-파퓰레이트된 네트워크(a computer-populated network)와 함께 통신하는, 리소스 네임 서버(Resource Name Server: RNS), 게이트웨이 서버, 및 동기화 및 라우팅 수단과 협력가능한 클라이언트를 포함하되,
상기 RNS는 (1) 상기 컴퓨터-파퓰레이트된 네트워크 내의 데이터 리소스 위치를 캐싱하고, (2) 상기 컴퓨터-파퓰레이트된 네트워크 내의 최적의 데이터 리소스 위치를 이용해서 리소스 요청을 해결하며,
상기 게이트웨이 서버는 (1) 상기 RNS를 통해 최적의 데이터 리소스 위치를 요청 및 수신하고, (2) 상기 최적의 데이터 리소스 위치를 통해 상기 컴퓨터-파퓰레이트된 네트워크로부터 데이터 파일을 요청 및 수신하고, (3) 상기 클라이언트로의 데이터 파일 전송을 위해 수신된 데이터 파일을 처리하고,
상기 동기화 및 라우팅 수단은, 동기화되고 소비가능하며 합법적으로 보호되는 데이터(synchronized, consumable, legally-protected data)를 최적의 데이터 리소스 위치(a optimal data resource location)로부터 소비를 위해 상기 클라이언트로 동기화 및 라우팅함으로써, 상호적인 요청 및 비상호적인 요청에 대해 응답하도록 동작가능하고,
상기 최적의 데이터 리소스 위치는, 라우팅 인스트럭션 생성 소스로부터 수신된 라우팅 인스트럭션에 의해 유도되는(prompted) 라우팅 인스트럭션 이행 소스로부터 선택되고,
상기 라우팅 인스트럭션 이행 소스 및 상기 라우팅 인스트럭션 생성 소스는 각각 합법적 액세스 포인트와 연계되고(affiliated),
상기 동기화되고 소비가능하며 합법적으로 보호되는 데이터는 데이터 라이브러리로부터 소비자에게 공급되는(sourced)
라우팅 및 동기화 시스템.
A routing and synchronization system operable with one or more data sources to selectively transfer synchronized data files to users in real time, comprising:
A resource name server (RNS), a gateway server, and a client capable of cooperating with synchronization and routing means, which communicates with a computer-populated network,
The RNS (1) caches the data resource location in the computer-populated network, (2) resolves the resource request using the optimal data resource location in the computer-populated network,
The gateway server (1) requests and receives an optimal data resource location through the RNS, (2) requests and receives a data file from the computer-populated network through the optimal data resource location, ( 3) process the received data file for data file transmission to the client,
The synchronization and routing means synchronize and route synchronized, consumable, legally-protected data from a optimal data resource location to the client for consumption. By doing so, it is operable to respond to reciprocal requests and non-reciprocal requests,
The optimal data resource location is selected from a routing instruction fulfillment source prompted by a routing instruction received from a routing instruction generating source,
The routing instruction fulfillment source and the routing instruction generation source are each affiliated with a legitimate access point,
The synchronized, consumable and legally protected data is sourced from a data library to the consumer.
Routing and synchronization system.
제 1 항에 있어서,
상기 라우팅 인스트럭션 이행 소스는 적어도 두 개의 이행-기반 합법적 액세스 포인트와 연계되는
라우팅 및 동기화 시스템.
The method of claim 1,
The routing instruction fulfillment source is associated with at least two fulfillment-based legitimate access points.
Routing and synchronization system.
제 1 항에 있어서,
상기 동기화되고 소비가능하며 합법적으로 보호되는 데이터는 ID-해시 매핑에 의해 통제되는 상기 데이터 라이브러리로부터 소비자에게 공급되는
라우팅 및 동기화 시스템.
The method of claim 1,
The synchronized, consumable and legally protected data is supplied to consumers from the data library controlled by ID-hash mapping
Routing and synchronization system.
제 1 항에 있어서,
(a) 데이터를 단편화하고, (b) 단편화된 데이터를 전송하고, (c) 비손상(non-corrupt) 데이터 스트림의 전송을 개선(enhancing)하기 위한, 상기 RNS를 통해 동작가능한 데이터 전송 단편화 수단을 포함하는
라우팅 및 동기화 시스템.
The method of claim 1,
Data transmission fragmentation means operable through the RNS for (a) fragmenting the data, (b) transmitting the fragmented data, and (c) enhancing the transmission of a non-corrupt data stream. Containing
Routing and synchronization system.
제 1 항에 있어서,
리소스 위치를 인덱싱하고, 그에 따라 상기 라우팅 및 동기화 시스템의 네트워크 효율성을 개선하기 위한, 상기 RNS를 통해 동작가능한 리소스 인덱싱 수단을 포함하는
라우팅 및 동기화 시스템.
The method of claim 1,
A resource indexing means operable through the RNS for indexing the resource location and thus improving network efficiency of the routing and synchronization system
Routing and synchronization system.
제 5 항에 있어서,
상기 리소스 인덱싱 수단은 또한, 데이터 파일 메타데이터와는 별개로 데이터 파일을 매칭하여 상기 라우팅 및 동기화 시스템의 네트워크 효율성을 개선하도록 동작하는
라우팅 및 동기화 시스템.
The method of claim 5,
The resource indexing means further operates to improve network efficiency of the routing and synchronization system by matching data files separately from data file metadata.
Routing and synchronization system.
제 1 항에 있어서,
라우팅되고 동기화되고 소비가능하며 합법적으로 보호되는 데이터 콘텐츠(routed, synchronized, consumable, legally-protected data content)의 소유자 또는 소유자의 대리인에 대해, 상기 최적의 데이터 리소스 위치로부터의 라우팅되고 동기화되고 소비가능하며 합법적으로 보호되는 데이터의 데이터 파일 전송을 관리, 모니터링 및/또는 보고하는 컴플라이언스 기기를 포함하는
라우팅 및 동기화 시스템.
The method of claim 1,
Routed, synchronized, consumable, legally-protected data content (routed, synchronized, consumable, legally-protected data content). Including compliance devices that manage, monitor and/or report data file transfers of legally protected data.
Routing and synchronization system.
제 1 항에 있어서,
상기 데이터 파일의 프레임 헤더에서 이벤트 표시자(event markers)를 연관시켜 데이터 파일 전송을 개선하는 이벤트 표시자 연관 수단을 포함하는
라우팅 및 동기화 시스템.
The method of claim 1,
And event indicator association means for improving data file transmission by associating event markers in the frame header of the data file.
Routing and synchronization system.
제 8 항에 있어서,
상기 이벤트 표시자 연관 수단은 데이터 파일에 광고 콘텐츠를 통합하도록 동작가능한
라우팅 및 동기화 시스템.
The method of claim 8,
The event indicator association means is operable to incorporate advertising content into a data file.
Routing and synchronization system.
컴퓨터 파퓰레이트된 환경에서, 하나 이상의 데이터 소스로부터 선택되는 최적의 리소스 위치로부터 엔드 유저로 합법적으로 보호되는 데이터 파일을 전송하는 기점-무관형(origin-agnostic)의 데이터 전송 방법으로서,
컴퓨터-파퓰레이트된 네트워크 내에서 클라이언트, 게이트웨이 서버, 및 리소스 네임 서버(RNS)와 통신하는 단계와,
상기 RNS를 통해 상기 컴퓨터-파퓰레이트된 네트워크 내의 데이터 이행 소스들을 캐싱하는 단계와,
싱기 게이트웨이 서버에 의해, 라우팅 인스트럭션 생성 소스를 통해 RNS-캐싱된 데이터 이행 소스들로부터 데이터 이행 소스 리스팅을 요청하는 단계와,
상기 데이터 이행 소스들 중 어느 것이 사용자 정의된 데이터 전송 요건을 최적으로 충족시키는지를 질의하는 단계 ― 상기 질의에 의해 최적의 이행 소스가 정의됨 ― 와
상기 컴퓨터-파퓰레이트된 네트워크를 통해 상기 최적의 이행 소스로부터 합법적으로 보호되는 데이터 파일을 요청하는 단계 ― 상기 합법적으로 보호되는 데이터 파일은 데이터 파일 라이브러리로부터 상기 클라이언트로 공급됨 ― 와,
상기 최적의 이행 소스로부터 상기 합법적으로 보호되는 데이터 파일을 전송하는 단계와,
상기 클라이언트로의 전송을 위해 상기 전송된 합법적으로 보호되는 데이터 파일을 처리하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
An origin-agnostic data transfer method for transferring a legally protected data file to an end user from an optimal resource location selected from one or more data sources in a computer-populated environment, comprising:
Communicating with a client, a gateway server, and a resource name server (RNS) within a computer-populated network,
Caching data migration sources in the computer-populated network via the RNS;
Requesting a data fulfillment source listing from RNS-cached data fulfillment sources through a routing instruction generation source, by the Singgi gateway server;
Querying which of the data fulfillment sources best meets user-defined data transfer requirements-an optimal transition source is defined by the query; and
Requesting a data file that is legally protected from the optimal transit source over the computer-populated network, the data file that is legally protected is supplied to the client from a data file library; and
Transferring the legally protected data file from the optimal source of fulfillment;
Processing the transmitted legitimately protected data file for transmission to the client.
Origin-independent data transmission method.
제 10 항에 있어서,
클라이언트 진위(authenticity)를 검증하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 10,
Including the step of verifying the authenticity of the client (authenticity)
Origin-independent data transmission method.
제 10 항에 있어서,
서버 진위를 검증하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 10,
Including the step of verifying the server authenticity
Origin-independent data transmission method.
제 10 항에 있어서,
비손상 데이터 스트림의 전송을 개선하기 위해 데이터 파일 전송 동안에 데이터 파일을 단편화하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 10,
Fragmenting the data file during data file transfer to improve the transfer of the intact data stream.
Origin-independent data transmission method.
제 10 항에 있어서,
방법 효율성(method efficiency)을 개선하기 위해 리소스 위치를 인덱싱하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 10,
Including the step of indexing the resource location to improve the method efficiency
Origin-independent data transmission method.
제 14 항에 있어서,
방법 효율성을 개선하기 위해 데이터 파일 메타데이터와는 별개로 데이터 파일을 매칭하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 14,
Matching the data file separately from the data file metadata to improve method efficiency.
Origin-independent data transmission method.
제 15 항에 있어서,
상기 데이터 파일을 매칭하는 단계는,
제 1 데이터 파일로부터 파형 데이터를 추출하는 단계 - 상기 추출된 파형 데이터는 길이 세그먼트 값을 포함하고, 상기 길이 세그먼트 값은 데이터 추출 베이스라인(baseline)에 관련하여 추출되고 트로프-투-베이스라인(trough-to-baseline) 길이 세그먼트 값 및 피크-투-베이스라인(peak-to-baseline) 길이 세그먼트 값을 포함함 - 와,
상기 추출된 파형 데이터로부터 요약 통계(summary statistics)를 도출하는 단계 - 상기 요약 통계는 상기 길이 세그먼트 값으로부터 도출되고, 상기 요약 통계는 트로프-투-베이스라인 길이 세그먼트 통계 및 피크-투-베이스라인 길이 세그먼트 통계를 포함함 - 와,
도출된 요약 통계에 기초하여 맞춤 표시자(custom marker)를 생성하는 단계와,
상기 맞춤 표시자를 상기 제 1 데이터 파일과 연관시킴으로써 맞춤 표시된 데이터 파일(a custom marked data file)을 구축하는 단계와,
포지티브 미디어 파일 매치(a positive media file match)를 렌더링하기 위해 제 2 데이터 파일을 상기 맞춤 표시된 데이터 파일과 비교할 때 상기 맞춤 표시자에 액세스하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 15,
The step of matching the data files,
Extracting waveform data from a first data file-the extracted waveform data includes a length segment value, and the length segment value is extracted in relation to a data extraction baseline and trough-to-baseline -to-baseline) contains length segment values and peak-to-baseline length segment values-and,
Deriving summary statistics from the extracted waveform data-the summary statistics are derived from the length segment values, and the summary statistics are trough-to-baseline length segment statistics and peak-to-baseline length Includes segment statistics-Wow,
Generating a custom marker based on the derived summary statistics, and
Building a custom marked data file by associating the custom indicator with the first data file; and
Accessing the custom indicator when comparing a second data file to the custom marked data file to render a positive media file match.
Origin-independent data transmission method.
제 10 항에 있어서,
적어도 두 개의 데이터 리소스 위치로부터의 라우팅되고 합법적으로 보호되는 데이터의 데이터 파일 전송에 대해 (a) 산업 권리 관리, (b) 컴플라이언스 모니터링, 및/또는 (c) 컴플라이언스 보고를 제공하는 단계를 포함하되, 상기 (a) 산업 권리 관리, (b) 컴플라이언스 모니터링, 및/또는 (c) 컴플라이언스 보고는 상기 합법적으로 보호되는 데이터 파일의 소유자 또는 소유자의 대리인을 위한 것인
기점-무관형의 데이터 전송 방법.
The method of claim 10,
Providing (a) industry rights management, (b) compliance monitoring, and/or (c) compliance reporting for data file transfers of routed and lawfully protected data from at least two data resource locations, Said (a) industrial rights management, (b) compliance monitoring, and/or (c) compliance reporting is for the owner or representative of the owner of the lawfully protected data file.
Origin-independent data transmission method.
제 10 항에 있어서,
데이터 파일 전송을 개선하기 위해 상기 데이터 파일의 프레임 헤더에서 이벤트 표시자를 연관시키는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 10,
Associating an event indicator in the frame header of the data file to improve data file transfer.
Origin-independent data transmission method.
제 18 항에 있어서,
데이터 파일에 광고 콘텐츠를 통합하는 단계를 포함하는
기점-무관형의 데이터 전송 방법.
The method of claim 18,
Incorporating the advertising content into the data file.
Origin-independent data transmission method.
콘텐츠 전송 네트워크 내에서 데이터 라우팅을 통제 및 보고하는 데이터 라우팅 통제 시스템(a data-routing governance system)으로서,
라우팅 및 동기화 시스템과 통신하는 데이터 라우팅 컴플라이언스 기기를 포함하되,
상기 라우팅 및 동기화 시스템은 (a) 상기 콘텐츠 전송 네트워크 내에서 (b) 하나 이상의 데이터 소스와 함께 동작가능하고,
상기 콘텐츠 전송 네트워크는 데이터 파일을 각각 포함하는 복수의 라우팅 인스트럭션 이행 소스를 포함하며,
상기 콘텐츠 전송 네트워크는 라우팅 인스트럭션 생성 소스에 의해 유도되는 최적의 데이터 이행 소스로부터 엔드 유저로 데이터 파일을 전송하고,
상기 최적의 데이터 이행 소스는 상기 복수의 라우팅 인스트럭션 이행 소스를 포함하는 그룹으로부터 선택되고,
상기 라우팅 인스트럭션 이행 소스 및 상기 라우팅 인스트럭션 생성 소스는 각각 합법적 액세스 포인트를 정의하고,
각각의 합법적 액세스 포인트는 데이터 파일 라이브러리와 연관되고,
상기 데이터 파일은 데이터 파일 라이브러리로부터 상기 엔드 유저로 공급되고,
상기 컴플라이언스 기기는, 상기 데이터 파일의 소유자 또는 소유자의 대리인에게, 최적의 데이터 소스 위치로부터의 라우팅되고 합법적으로 보호되는 데이터의 데이터 파일 전송에 대한 (a) 산업 권리 관리, (b) 컴플라이언스 모니터링, 및/또는 (c) 컴플라이언스 보고를 제공하는
데이터 라우팅 통제 시스템.
As a data-routing governance system that controls and reports data routing within the content delivery network,
Including a data routing compliance device in communication with the routing and synchronization system,
The routing and synchronization system (a) is operable with (b) one or more data sources within the content delivery network,
The content delivery network includes a plurality of routing instruction fulfillment sources each including a data file,
The content delivery network transfers the data file from the optimal data transition source induced by the routing instruction generation source to the end user,
The optimal data transition source is selected from a group comprising the plurality of routing instruction transition sources,
The routing instruction fulfillment source and the routing instruction generation source each define a legitimate access point,
Each legitimate access point is associated with a data file library,
The data file is supplied from a data file library to the end user,
The compliance device may provide (a) industrial rights management, (b) compliance monitoring, for data file transfer of routed and legally protected data from an optimal data source location to the owner or representative of the owner of the data file, and /Or (c) providing compliance reporting
Data routing control system.
선택적으로 공급된 미디어 콘텐츠 방송(a selectively sourced media content broadcast)을 소비자에게 제공하기 위해 네트워크-기반의 미디어 콘텐츠 재생 환경 내에서 하나 이상의 데이터 소스와 함께 동작가능한 라우팅 및 동기화 시스템으로서,
라우팅 인스트럭션 생성 소스를 통해 생성된 라우팅 및 재생 인스트럭션에 의해 유도되는 라우팅 인스트럭션 이행 소스로부터 상기 소비자에게 소비가능하고 합법적으로 보호되는 미디어 콘텐츠를 동기화 및 라우팅하는 동기화 및 라우팅 수단을 포함하되,
상기 라우팅 인스트럭션 이행 소스는 적어도 하나의 합법적 액세스 포인트와 연계되고,
상기 동기화 및 라우팅 수단은, (a) 콘텐츠 전송용 1차 채널을 통한 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠의 재생을 통제하기 위해 상기 라우팅 인스트럭션 생성 소스를 통해 상기 라우팅 및 재생 인스트럭션을 생성하고, (b) 동작가능한 네트워크 인프라스트럭처를 통해 상기 소비자에 대해 인스트럭션 전달용 2차 채널을 개설하고, (c) 상기 적어도 하나의 합법적 액세스 포인트로부터 상기 소비자에게 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠를 공급하기 위해 상기 인스트럭션 전달용 2차 채널을 통해 상기 소비자에게 상기 라우팅 및 재생 인스트럭션을 전달하도록 동작가능한
라우팅 및 동기화 시스템.
A routing and synchronization system operable with one or more data sources within a network-based media content playback environment to provide a selectively sourced media content broadcast to a consumer,
Synchronizing and routing means for synchronizing and routing media content consumable and legally protected to the consumer from a routing instruction fulfillment source induced by a routing and playback instruction generated through a routing instruction generation source,
The routing instruction fulfillment source is associated with at least one legitimate access point,
The synchronization and routing means (a) generate the routing and playback instructions through the routing instruction generation source to control playback of the consumable and legally protected media content through a primary channel for content delivery, (b) establish a secondary channel for instruction delivery to the consumer through an operable network infrastructure, and (c) supply the consumable and legally protected media content to the consumer from the at least one legitimate access point. Operable to deliver the routing and playback instructions to the consumer via a secondary channel for delivery of instructions to
Routing and synchronization system.
제 21 항에 있어서,
상기 선택적으로 공급된 미디어 콘텐츠 방송은, 상기 라우팅 인스트럭션 생성 소스에 의해 유도되는 소비자 액세스가능 콘텐츠 라이브러리(consumer-accessible content library)로부터 상기 소비자로의 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠의 직접적인 소스 전송을 특징으로 하는
라우팅 및 동기화 시스템.
The method of claim 21,
The selectively supplied media content broadcast is a direct source transmission of the consumable and legally protected media content to the consumer from a consumer-accessible content library derived by the routing instruction generation source. Characterized by
Routing and synchronization system.
제 22 항에 있어서,
상기 라우팅 인스트럭션 생성 소스는 초기화 소스이고, 상기 초기화 소스는 인입되는 간접 소스(an incoming indirect source) 및 소비자 연계된 직접 소스로 이루어진 그룹으로부터 선택되는
라우팅 및 동기화 시스템.
The method of claim 22,
The routing instruction generation source is an initialization source, and the initialization source is selected from the group consisting of an incoming indirect source and a consumer-associated direct source.
Routing and synchronization system.
제 23 항에 있어서,
상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠는 사전 정의된 파라미터에 의해 통제되는 상기 소비자에게 공급되고,
상기 사전 정의된 파라미터는 가격 효율성 파라미터 및 데이터 품질 파라미터를 포함하는 파라미터 그룹으로부터 선택되고,
상기 가격 효율성 파라미터는 비용 효율적 콘텐츠 라이브러리로부터의 미디어 재생을 통제하고, 상기 데이터 품질 파라미터는 고품질 콘텐츠 라이브러리로부터의 미디어 재생을 통제하는
라우팅 및 동기화 시스템.
The method of claim 23,
The consumable and legally protected media content is supplied to the consumer controlled by a predefined parameter,
The predefined parameter is selected from a parameter group comprising a price efficiency parameter and a data quality parameter,
The price efficiency parameter controls media playback from a cost effective content library, and the data quality parameter controls media playback from a high quality content library.
Routing and synchronization system.
제 23 항에 있어서,
상기 소비자 연계된 직접 소스는 피어 접속된 것이며, 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠는 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠를 공급할 상기 소비자 연계된 직접 소스의 합법적 권리에 기초하여 상기 소비자에게 집적 공급되는
라우팅 및 동기화 시스템.
The method of claim 23,
The consumer-associated direct source is peer-connected and the consumable and legally protected media content is provided to the consumer based on the legal right of the consumer-associated direct source to supply the consumable and legally protected media content Integrated
Routing and synchronization system.
제 21 항에 있어서,
(a) 산업 권리 관리, (b) 컴플라이언스 모니터링 및/또는 (c) 컴플라이언스 보고를 제공하는 컴플라이언스 기기를 포함하되,
상기 컴플라이언스 기기는, 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠의 소유자 또는 소유자의 대리인에 대해, 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠의 전송을 관리, 모니터링 및/또는 보고하는
라우팅 및 동기화 시스템.
The method of claim 21,
(a) industrial rights management, (b) compliance monitoring and/or (c) compliance devices that provide compliance reporting,
The compliance device manages, monitors and/or reports the transmission of the consumable and legally protected media content to the owner or agent of the owner of the consumable and legally protected media content.
Routing and synchronization system.
제 21 항에 있어서,
상기 라우팅 인스트럭션 생성 소스에 의해 유도되는 콘텐츠를 식별하고, 상기 적어도 하나의 합법적 액세스 포인트로부터의 매칭 파일의 존재를 질의함으로써 상기 라우팅 인스트럭션 이행 소스를 결정하도록 동작가능한 파일 매칭 수단을 포함하는
라우팅 및 동기화 시스템.
The method of claim 21,
File matching means operable to identify the content derived by the routing instruction generation source, and to determine the routing instruction fulfillment source by querying the existence of a matching file from the at least one legitimate access point.
Routing and synchronization system.
제 21 항에 있어서,
상기 동기화 및 라우팅 수단은 이벤트 참조(event reference)를 상기 라우팅 및 재생 인스트럭션과 연관시키도록 동작가능하고,
상기 이벤트 참조와 상기 라우팅 및 재생 인스트럭션은 함께, 콘텐츠 라이브러리로부터 상기 소비자에게 상기 소비가능하고 합법적으로 보호되는 미디어 콘텐츠를 공급하는
라우팅 및 동기화 시스템.
The method of claim 21,
The synchronization and routing means are operable to associate an event reference with the routing and playback instructions,
The event reference and the routing and playback instructions together provide the consumable and legally protected media content to the consumer from a content library.
Routing and synchronization system.
제 28 항에 있어서,
인코딩 프로세스 동안 상기 이벤트 참조와 상기 라우팅 및 재생 인스트럭션은 맞춤 미디어 포맷에 수용(accommodate)되는
라우팅 및 동기화 시스템.
The method of claim 28,
During the encoding process, the event reference and the routing and playback instructions are accepted into a custom media format.
Routing and synchronization system.
제 21 항에 있어서,
상기 라우팅 및 재생 인스트럭션은 파일 위치와 연관되고, 상기 파일 위치는 파일 시작 위치 또는 파일 종료 위치로 이루어진 위치 그룹으로부터 선택되는
라우팅 및 동기화 시스템.
The method of claim 21,
The routing and playback instructions are associated with a file location, and the file location is selected from a location group consisting of a file start location or a file end location.
Routing and synchronization system.
제 21 항에 있어서,
상기 라우팅 및 재생 인스트럭션은 시간관련 메타데이터(timed metadata)인
라우팅 및 동기화 시스템.
The method of claim 21,
The routing and playback instruction is timed metadata
Routing and synchronization system.
제 21 항에 있어서,
상기 라우팅 및 재생 인스트럭션은 다수의 재생 이벤트에 종속되고, 상기 다수의 재생 이벤트는 (a) 플레이, (b) 일시 정지, (c) 정지, (d) 로드, (e) 탐색, (f) 코멘트, (i) 코멘트 시작, (ii) 코멘트 종료, (g) 오디오 믹스, (h) 재생 속도, (j) 재생 방향 및 (k) 콘텐츠 식별을 포함하는 그룹으로부터 선택되는
라우팅 및 동기화 시스템.
The method of claim 21,
The routing and playback instructions are subject to multiple playback events, and the multiple playback events include (a) play, (b) pause, (c) stop, (d) load, (e) search, (f) comment. , (i) comment start, (ii) comment end, (g) audio mix, (h) playback speed, (j) playback direction, and (k) content identification.
Routing and synchronization system.
비일시적 컴퓨터 구현가능 매체 콘텐츠 공유 시스템(non-transitory computer-implementable media content-sharing system)으로서,
상기 비일시적 컴퓨터 구현가능 매체 콘텐츠 공유 시스템은, 적어도 두 개의 컴퓨터를 포함하는 네트워크-기반의 미디어 콘텐츠 재생 환경 내에서 상기 적어도 두 개의 컴퓨터 중 제 1 컴퓨터에 대한 액세스를 갖는 소비자에게 선택적 공급형 미디어 콘텐츠 방송을 제공하도록 동작가능하며,
상기 비일시적 컴퓨터 구현가능 매체 콘텐츠 공유 시스템은 컴퓨터 구현가능 인스트럭션을 포함하고 제공하되, 상기 인스트럭션은,
(a) 동작가능한 네트워크를 통해 소비자에 대한 인스트럭션 전달용 2차 채널을 개설하고,
(b) 콘텐츠 전송용 1차 채널을 통한 소비가능하고 합법적으로 보호되는 미디어 콘텐츠의 재생을 통제하는 라우팅 및 재생 인스트럭션을 생성하고,
(c) 적어도 하나의 합법적 액세스 포인트로부터 상기 소비자에게 소비가능하고 합법적으로 보호되는 미디어 콘텐츠를 공급하기 위해 상기 인스트럭션 전달용 2차 채널을 통해 상기 소비자에게 상기 라우팅 및 재생 인스트럭션을 전달하는
비일시적 컴퓨터 구현가능 매체 콘텐츠 공유 시스템.
As a non-transitory computer-implementable media content-sharing system,
The non-transitory computer-implementable media content sharing system includes selectively supplied media content to a consumer having access to a first of the at least two computers within a network-based media content playback environment including at least two computers Operable to provide broadcast,
The non-transitory computer-implementable media content sharing system includes and provides computer-implementable instructions, wherein the instructions,
(a) open a secondary channel for delivery of instructions to consumers through an operable network,
(b) create routing and playback instructions that control the playback of consumable and legally protected media content through the primary channel for content delivery,
(c) delivering the routing and playback instructions to the consumer through a secondary channel for delivery of instructions to supply consumable and legally protected media content to the consumer from at least one legitimate access point.
Non-transitory computer-implementable media content sharing system.
KR1020167017998A 2013-12-06 2014-12-08 Peer-to-peer content delivery network, method, and manager KR102194021B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/099,348 2013-12-06
US14/099,348 US9549024B2 (en) 2012-12-07 2013-12-06 Routing and synchronization system, method, and manager
PCT/US2014/069067 WO2015085296A1 (en) 2012-12-07 2014-12-08 Peer-to-peer content delivery network, method, and manager

Publications (2)

Publication Number Publication Date
KR20160102211A KR20160102211A (en) 2016-08-29
KR102194021B1 true KR102194021B1 (en) 2020-12-23

Family

ID=56800072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017998A KR102194021B1 (en) 2013-12-06 2014-12-08 Peer-to-peer content delivery network, method, and manager

Country Status (2)

Country Link
KR (1) KR102194021B1 (en)
SG (1) SG11201605426RA (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11936535B2 (en) 2021-10-29 2024-03-19 Samsung Electronics Co., Ltd. Server and electronic device for transmitting and receiving stream data and method for operating the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031038A1 (en) 2002-08-08 2004-02-12 Jean-Christophe Hugly System and method for providing multiple embodiments of abstract software modules in peer-to-peer network environments
US20130198001A1 (en) 2011-11-01 2013-08-01 Keith Teare Opt-in system for promotional messages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031038A1 (en) 2002-08-08 2004-02-12 Jean-Christophe Hugly System and method for providing multiple embodiments of abstract software modules in peer-to-peer network environments
US20130198001A1 (en) 2011-11-01 2013-08-01 Keith Teare Opt-in system for promotional messages

Also Published As

Publication number Publication date
KR20160102211A (en) 2016-08-29
SG11201605426RA (en) 2016-08-30

Similar Documents

Publication Publication Date Title
AU2019203053B2 (en) Peer-to-Peer Content Delivery Network, Method, and Manager
US7921221B2 (en) Method and apparatus for obtaining digital objects in a communication network
US8555367B2 (en) Method and system for securely streaming content
EP3349394B1 (en) System, method, and application for exchanging content in a social network environment
JP2017504134A5 (en)
US20130080268A1 (en) Multi-platform media syndication customization
US20090240786A1 (en) Methods for transmitting multimedia files and advertisements
US20130080579A1 (en) Dynamically-executed syndication services
US20130080267A1 (en) Single-url content delivery
CN102025749A (en) Anti-theft method of mobile streaming media service
CN103392344A (en) Format-agnostic streaming architecture using an http network for streamings
KR20040078674A (en) Method and system for distributing multimedia object
US20110099372A1 (en) Method and system for providing peer-to-peer video on demand
US20120317192A1 (en) Re-headerer system and method
KR102194021B1 (en) Peer-to-peer content delivery network, method, and manager
KR20040088868A (en) Apparatus and method for deliverying digital contents
CN112203118B (en) Multimedia resource distribution method, device, electronic device and storage medium
CN113141542A (en) Video stream safe playing system, method, medium and server based on block chain
US9204190B2 (en) Methods and systems for verification of video delivery
BR112016012893B1 (en) AGNOSTIC DATA DELIVERY METHOD, DATA ROUTING GOVERNMENT SYSTEM AND CONTENT DELIVERY NETWORK
US20110138437A1 (en) Method and system for providing both live viewing and video on demand
CN116389508B (en) Multi-center digital content distribution method and system based on alliance chain
CN108322786A (en) A kind of audio play in audio transmission strategy

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant