KR20140067003A - 리치 웹 페이지 생성 - Google Patents

리치 웹 페이지 생성 Download PDF

Info

Publication number
KR20140067003A
KR20140067003A KR1020147004262A KR20147004262A KR20140067003A KR 20140067003 A KR20140067003 A KR 20140067003A KR 1020147004262 A KR1020147004262 A KR 1020147004262A KR 20147004262 A KR20147004262 A KR 20147004262A KR 20140067003 A KR20140067003 A KR 20140067003A
Authority
KR
South Korea
Prior art keywords
content file
data
module
user
video
Prior art date
Application number
KR1020147004262A
Other languages
English (en)
Other versions
KR101979472B1 (ko
Inventor
매튜 토마스 다비
프레드릭 런드
매튜 와이즈맨
Original Assignee
구글 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20140067003A publication Critical patent/KR20140067003A/ko
Application granted granted Critical
Publication of KR101979472B1 publication Critical patent/KR101979472B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/435Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/535Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/65Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/74Browsing; Visualisation therefor
    • G06F16/748Hypervideo
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F16/94Hypermedia
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking

Abstract

제 3 자 컨텐츠 파일에 대한 타겟 데이터에 적어도 일부 기초하여 리치 웹 페이지를 생성하는 시스템 및 방법이 개시된다. 시스템은 타겟팅 모듈 및 그래픽 사용자 인터페이스 모듈(graphic user interface module,“GUI 모듈”)을 포함한다. 타겟팅 모듈은 사용자 활동을 설명하는 소셜 데이터에 적어도 일부 기초하여 사용자 생성된 컨텐츠 파일에 대한 제 3 자 컨텐츠 파일을 결정한다. 타겟팅 모듈은 제 3 자 컨텐츠 파일에 대한 타겟 데이터를 검색한다. GUI 모듈은 타겟팅 모듈로부터 검색된 타겟 데이터를 수신하기 위해 타겟팅 모듈과 통신적으로 결합한다. GUI 모듈은 검색된 타겟 데이터에 적어도 일부 기초하여 제 3 자 컨텐츠 파일에 대한 리치 웹 페이지를 생성한다.

Description

리치 웹 페이지 생성{RICH WEB PAGE GENERATION}
본 명세서는 데이터 관리 시스템에 관한 것으로서, 더욱 상세하게는 비디오들과 같은 타겟 컨텐츠 파일들에 대한 리치 웹 페이지들을 생성하는 시스템에 관한 것이다.
많은 웹사이트들이 사용자에 의해 시청되는 비디오들을 호스트(host)한다. 비디오 호스팅 사이트는 클라이언트들에 의해 접근되는 비디오들을 관리한다. 공급자들은 비디오 컨텐츠를 비디오 호스팅 사이트에 업로드한다. 비디오 호스팅 사이트는 공급자들에 의해 업로드된 비디오들을 사용자에게 밀어낸다.
비디오 호스팅 사이트에 의해 호스팅된 이러한 비디오들 중 일부는 다른 비디오들과 관련된 사용자-생성된 비디오 컨텐츠(User-Generated Video Content, UGVC)이다. 예를 들어, 제 1 영화의 팬은 제 1 영화의 전체-길이 버전으로부터 컨텐츠를 포함하는 트리뷰트(tribute) 비디오를 만든다. 트리뷰트 비디오는 제 1 영화의 전체-길이 버전과 관련된다. 트리뷰트 비디오를 시청하는 사용자는 제 1 영화의 전체-길이 버전이나 제 1 영화의 전체-길이 버전과 관련된 다른 비디오들을 시청하는 데 관심을 가질 것이다. 예를 들어, 제 1 영화에서 연기한 배우들과 인터뷰하거나 제 1 영화를 논의하는 것을 다룬 비디오들이 트리뷰트 비디오들을 시청하는 사용자에게 관심을 끌 수 있다. 사용자는 또한 제 1 영화의 전체-길이 버전을 설명하는 추가적인 정보를 받는 데 관심을 가질 수 있다. 예를 들어, 사용자는 제 1 영화에 대한 리뷰들을 설명하는 정보, 어떤 배우나 여배우들이 제 1 영화에서 연기하는지, 제 1 영화에 대한 트레일러들로의 링크들 등을 받는 데 관심을 가진다.
기존 시스템에 있는 문제는 그것들이 긴 형태 비디오 및/또는 짧은 형태 비디오와 관련된 다른 비디오들을 결정하기 위해 짧은 형태 비디오 주변의 사용자 소셜 활동들을 분석하는 데 실패한 것이다. 예를 들어, 기존 시스템들은 UGVC가 얻어진 전체 버전 비디오 및 다른 관련된 비디오들을 결정하기 위해 UGVC 주변의 사용자 소셜 활동들을 분석하지 않는다.
기존 시스템에 있는 두 번째 문제는 그것들이 UGVC, 전체 버전 비디오 및/또는 다른 관련된 비디오들 사이의 연결을 표시하는 웹 페이지들을 제공하지 않는다는 것이다.
기존 시스템에 있는 세 번째 문제는 그것들이 전체 버전 영화에 대한 리뷰들을 표시하는 정보, 어떤 배우 또는 여배우들이 전체 버전 영화에서 연기하는지, 전체 버전 영화에 대한 트레일러들로의 링크들 등과 같은 제 1 영화의 전체-길이 버전을 설명하는 추가적인 정보를 설명하는 리치 웹 페이지를 생성하는 것이 불가능하다는 것이다.
여기서 개시된 실시 예들은 제 3 자 컨텐츠 파일에 대한 타겟 데이터에 적어도 일부 기초하여 제 3 자 컨텐츠 파일을 설명하는 리치 웹 페이지(rich web page)를 생성하는 시스템 및 방법을 제공한다. 자산 호스팅 사이트는 업로드 서버, 타겟팅(targeting) 모듈, 그래픽 사용자 인터페이스 모듈(graphic user interface module,“GUI 모듈”)을 포함한다. 업로드 서버는 사용자 생성된 컨텐츠 파일을 수신하고 그것을 저장 장치에 저장한다. 타겟팅 모듈은 사용자 활동을 설명하는 소셜 데이터에 적어도 일부 기초하여 사용자 생성된 컨텐츠 파일에 대한 제 3 자 컨텐츠 파일을 결정한다.
일 실시 예에서, 자산 호스팅 사이트는 또한 유니버설(universal) 데이터베이스를 포함한다. 타겟팅 모듈은 유니버설 데이터베이스로부터 제 3 자 컨텐츠 파일을 위한 타겟 데이터를 검색한다. 예를 들어, 타겟 데이터는 제 3 자 컨텐츠 파일을 설명하는 데이터를 포함한다. GUI 모듈은 타겟팅 모듈로부터 검색된 타겟 데이터를 수신하기 위해 타겟팅 모듈에 통신적으로 연결된다. GUI 모듈은 검색된 타겟 데이터에 적어도 일부 기초하여 제 3 자 컨텐츠 파일을 위한 리치 웹 데이터를 생성한다.
여기서 설명되는 특징들 및 이점들이 모든 것을-포함하는(all-inclusive) 것은 아니며, 많은 추가적인 특징들 및 이점들이 본 도면들 및 상세한 설명의 관점에서 당해 기술 분야의 통상의 기술자들에게 명백할 것이다. 게다가, 본 명세서에서 사용된 언어들은 원칙적으로 가독성과 알려주는 용도로 선택되었으며, 여기서 설명된 발명의 범위를 한정하기 위한 것이 아니다.
상세한 설명은 첨부된 도면들로 한정하는 방법이 아니라 예시하는 방법으로 설명되는 것이고, 첨부된 도면들에서 유사한 참조 번호들은 유사한 원소들을 나타낸다.
도 1은 타겟 컨텐츠 파일에 대한 리치 웹 페이지를 생성하는 시스템의 일 실시 예를 도시하는 하이-레벨(high-level) 블록도이다.
도 2는 링크 모듈이 상세히 설명된 자산 호스팅 사이트의 일 실시 예를 도시하는 블록도이다.
도 3은 타겟팅 모듈의 일 실시 예를 도시하는 블록도이다.
도 4a는 업로드된 컨텐츠 파일을 재생하기 위해 GUI 모듈에 의해 생성되는 사용자 인터페이스를 도시한 도면이다.
도 4b는 긴 형태 또는 전체 버전 영화를 설명하는 정보를 표시하기 위해 GUI 모듈에 의해 생성되는 사용자 인터페이스를 도시하는 도면이다.
도 4c는 긴 형태 또는 전체 버전 영화를 설명하는 정보를 표시하기 위해 GUI 모듈에 의해 생성되는 또 다른 사용자 인터페이스를 도시하는 도면이다.
도 4d는 긴 형태 또는 전체 버전 영화를 재생하기 위해 GUI 모듈에 의해 생성되는 사용자 인터페이스를 도시하는 도면이다.
도 5는 컨텐츠 파일들을 링크하는 방법의 일 실시 예에 대한 순서도이다.
도 6은 컨텐츠 파일들을 링크하는 방법의 또 다른 실시 예에 대한 순서도이다.
도 7은 사용자 활동을 설명하는 소셜 데이터에 기초하여 컨텐츠 파일들을 링크하는 방법의 일 실시 예에 대한 순서도이다.
도 8a 내지 8b는 상이한 지역들에 대해 컨텐츠 파일들의 링크들을 생성하는 방법의 일 실시 예에 대한 순서도들이다.
도 9는 타겟 컨텐츠 파일에 대한 리치 웹 페이지를 생성하는 방법의 일 실시 예를 나타내는 순서도이다.
타겟 컨텐츠 파일에 대한 타겟 데이터에 적어도 일부 기초하여 리치 웹 페이지를 생성하는 시스템 및 방법이 아래에서 설명된다. 이후의 상세한 설명에서, 설명의 목적으로, 많은 특정한 세부사항들이 명세서의 완전한 이해를 제공하기 위해 제시된다. 그러나, 당해 기술 분야의 통상의 기술자들에게는 실시 예들이 이러한 특정한 세부사항들 없이도 실시될 수 있다는 것이 명백할 것이다. 다른 예들에서, 구조들 및 장치들이 상세한 설명을 모호하게 하는 것을 피하기 위해 블록도의 형태로 도시된다. 예를 들어, 상세한 설명은 아래의 일 실시 예에서 사용자 인터페이스들 및 특정한 하드웨어에 관하여 설명된다. 그러나, 상세한 설명은 데이터 및 명령을 수신할 수 있는 어떤 유형의 컴퓨팅 장치 및 서비스들을 제공하는 어떤 주변 장치들에도 적용된다.
“일 실시 예”또는“하나의 실시 예”에 대한 본 명세서의 참조는 그 실시 예와 관련하여 설명되는 특정한 특징, 구조 또는 특성이 적어도 하나의 실시 예에 포함되는 것을 의미한다. 본 명세서의 다양한 위치에서 등장하는“일 실시 예에서”라는 구문들은 모두가 필수적으로 동일한 실시 예를 참조하는 것은 아니다.
이후의 구체적인 설명들의 어떤 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 알고리즘 및 상징적 표현의 측면에서 제시된다. 이러한 알고리즘적 설명들 및 표현들은 데이터 처리 분야의 당업자가 그들의 일의 본질을 다른 당업자에게 가장 효과적으로 전달하기 위해 사용하는 수단들이다. 알고리즘은 여기서, 그리고 일반적으로, 원하는 결과를 이끌어내는 단계들의 자기 일관적 시퀀스(sequence)인 것으로 이해된다. 단계들은 물리적 양들의 물리적 조작을 필요로 하는 것들이다. 통상, 비록 필수적인 것은 아닐지라도, 이러한 양들은 저장되고, 전송되고, 결합되고, 비교되고, 다른 방식으로 조작될 수 있는 전기적 또는 자기적 신호들의 형태를 취한다. 주로 일반적인 용법상의 이유로, 이러한 신호들을 비트들, 값들, 원소들, 상징들, 문자들, 용어들, 숫자들 또는 그와 유사한 것들로서 참조하는 것이 때때로 편리하다는 것이 증명되었다.
그러나, 이러한 및 유사한 용어들의 전부는 적절한 물리적 양들과 관련되는 것이고, 단순히 이러한 양들에 적용되는 편리한 라벨(label)들이라는 점을 명심하여야 한다. 만일 이후의 논의로부터 명백하게 특별히 달리 언급되지 않는다면, 명세서 전체에서,“처리”또는“컴퓨팅”또는“계산”또는“결정”또는“표시”또는 그와 유사한 것들과 같은 용어들을 이용하는 논의들은 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전기적) 양들로서 표현되는 데이터를 조작하거나 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 표시 장치들 내의 물리적 양들로서 유사하게 표현되는 다른 데이터로 변환하는 , 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 행동 및 처리들을 참조하는 것으로 이해된다.
본 명세서는 또한 여기에 있는 연산들을 수행하는 장치와 관련된다. 이러한 장치는 필요한 용도로 특별히 구성되거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 실행 또는 재구성되는 일반-목적 컴퓨터를 포함한다. 그러한 컴퓨터 프로그램은 각각이 컴퓨터 시스템 버스(bus)와 연결되는 플로피 디스크, 광 디스크, CD-ROMs 및 자기 디스크, ROMs(read-only memories), RAMs(random access memories), EPROMs, EEPROMs, 자기 또는 광 카드들, 불휘발성 메모리와 함께 USB 키들을 포함하는 플래시 메모리들 또는 전자 명령들을 저장하는 데 적합한 어떤 유형의 매체를 포함하는 어떤 유형의 디스크와 같은, 그러나 이에 한정되지는 않는, 컴퓨터 판독가능한 저장 매체에 저장될 수 있다.
어떤 실시 예들은 완전히 하드웨어로 된 실시 예, 완전히 소프트웨어로 된 실시 예 또는 하드웨어와 소프트웨어 요소들을 모두 포함하는 실시 예의 형태를 취할 수 있다. 바람직한 실시 예는 펌웨어, 레지던트(resident) 소프트웨어, 마이크로코드, 등을 포함하는 그러나 이에 한정되지 않는, 소프트웨어로 구현된다.
게다가, 어떤 실시 예들은 컴퓨터 또는 어떤 명령 실행 시스템에 의해 또는 그것과 관련되어 사용을 위한 프로그램 코드를 제공하는 컴퓨터-사용가능한 또는 컴퓨터-판독가능한 저장 매체로부터 접근가능한 컴퓨터 프로그램 생산물의 형태를 취할 수 있다. 이러한 설명의 목적으로, 컴퓨터-사용가능한 또는 컴퓨터 판독가능한 매체는 명령 실행 시스템, 장치 또는 기기에 의해 또는 그것과 관련되어 사용을 위한 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 어떤 장치일 수 있다.
프로그램 코드를 저장 및/또는 실행하기에 적합한 데이터 처리 시스템은 시스템 버스를 통해 메모리 원소들과 직접 또는 간접적으로 결합하는 적어도 하나의 프로세서를 포함할 것이다. 메모리 원소들은 프로그램 코드의 실제 실행 동안 사용되는 로컬 메모리, 벌크 저장장치, 및 실행 동안 벌크 저장장치로부터 코드를 검색하는 횟수를 감소시키기 위해 적어도 어떤 프로그램 코드의 일시적인 저장을 제공하는 캐시 메모리들을 포함할 수 있다.
입력/출력 또는 I/O 장치들(키보드들, 디스플레이들, 지시 장치들 등을 포함하지만 이에 한정되지 않는)은 직접적으로 또는 중개하는 I/O 제어기들을 통해 시스템과 결합할 수 있다.
네트워크 어댑터(adapter)들이 또한 데이터 처리 시스템이 다른 데이터 처리 시스템들 또는 원격 프린터들 또는 저장 장치들과 중개하는 개인용 또는 공용 네트워크들을 통해 결합할 수 있도록 하기 위해 시스템과 결합할 수 있다. 모뎀들, 케이블 모뎀 및 이더넷(ethernet) 카드들은 네트워크 어댑터들의 현재 사용가능한 유형들 중 단지 일부일 뿐이다.
여기서 제시되는 알고리즘들 및 디스플레이들은 본질적으로 어떤 특정한 컴퓨터 또는 다른 장치와 관련되는 것이 아니다. 다양한 일반-목적 시스템들에는 여기서 가르치는 바에 따른 프로그램이 사용될 수 있고, 또는 필요한 방법 단계들을 수행하기 위해 더욱 전문화된 장치를 구성하는 것이 편리할 수도 있다. 이러한 다양한 시스템들에 대해 요구되는 구조는 아래의 상세한 설명에서 나타날 것이다. 추가적으로, 본 명세서는 어떤 특정한 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어들이 여기서 설명되는 바와 같은 다양한 실시 예들의 가르치는 바를 구현하는 데 사용될 수 있음이 인정될 것이다.
마지막으로, 여기서 설명되는 실시 예들은 사용자 및/또는 사용자들의 활동들을 설명하는 데이터의 수집을 포함한다. 일 실시 예에서, 그러한 데이터는 단지 이러한 데이터의 수집에 대한 동의를 제공하는 사용자에 대해서만 수집된다. 어떤 실시 예에서, 사용자는 즉시 명확하게 데이터 수집이 가능하도록 한다. 나아가, 사용자는 그러한 데이터 수집 활동에의 참여를 옵트-인(opt-in) 또는 옵트-아웃(opt-out)할 수 있다. 일 실시 예에서, 수집된 데이터는 사용자의 신원이 수집된 데이터로부터 드러나지 않도록 하기 위해 어떤 통계적 패턴들을 획득하는 어떤 분석을 수행하기 전에 익명화된다.
시스템 개관
도 1은 일 실시 예에 따른, 타겟 컨텐츠 파일들을 설명하는 리치 웹 페이지들을 생성하는 시스템(130)의 블록도를 도시한다. 시스템(130)의 도시된 실시 예는 사용자들(125a, 125n, 또한 사용자들(125)로서 집합적으로 또는 개별적으로 참조되는)에 의해 접근되는 클라이언트 장치들(115a, 115n, 또는 클라이언트 장치들(115)로서 집합적으로 또는 개별적으로 참조되는), 링크 모듈(178)을 포함하는 자산 호스팅 사이트(100), 제 3 자 서버(182), 제 1 서버(101) 및 데이터 소스 서버(151, data source server)를 포함한다. 제 1 서버(101)는 그것이 시스템(130)의 선택적 특징임을 가리키는 점선들을 사용하여 도 1에서 도시된다. 도시된 실시 예에서, 이러한 주체들은 네트워크(105)를 통해 통신적으로 결합된다. 예를 들어, 자산 호스팅 사이트(100), 컨텐츠 제공자(118), 제 3 자 서버(182) 및 클라이언트 장치들(115)은 네트워크(105)를 통해 또 다른 장치와 통신적으로 연결되어 클라이언트 장치들(115)의 사용자들(125) 사이에서 정보(예를 들어, 비디오 컨텐츠 파일)의 공유를 용이하게 한다.
비록 하나의 컨텐츠 제공자(118), 두 개의 클라이언트 장치들(115), 하나의 제 3 자 서버(182), 하나의 자산 호스팅 사이트(100), 하나의 제 1 서버(101) 및 하나의 데이터 소스 서버(151)가 도 1에 도시되었지만, 당해 기술 분야의 통상의 기술자들은 임의의 숫자의 컨텐츠 제공자들(118), 클라이언트 장치들(115), 제 3 자 서버들(182), 자산 호스팅 사이트들(100), 제 1 서버들(101) 및 데이터 소스 서버(151)가 네트워크(105)를 통해 통신적으로 결합할 수 있음을 인지할 것이다. 게다가, 하나의 네트워크(105)가 제 3 자 서버(182), 클라이언트 장치들(115), 컨텐츠 제공자(118), 자산 호스팅 사이트(100), 제 1 서버(101) 및 데이터 소스 서버(151)와 결합하지만, 당해 기술 분야의 통상의 기술자들은 임의의 숫자의 네트워크들(105)이 제 3 자 서버(182), 클라이언트 장치들(115), 컨텐츠 제공자(118), 자산 호스팅 사이트(100), 제 1 서버(101) 및 데이터 소스 서버(151)와 결합할 수 있음을 인정할 것이다.
네트워크(105)는 종래의 유형, 유선 또는 무선, 이고, 별 구성, 토큰링 구성 또는 당해 기술 분야에 잘 알려진 다른 구성들과 같은 임의의 수의 구성을 가질 수 있다. 게다가, 네트워크(105)는 LAN(local area network), WAN(wide area network)(예를 들어, 인터넷), 및/또는 다중 장치들이 가로질러 통신할 수 있는 어떤 다른 상호 연결된 데이터 경로를 포함할 수 있다. 네트워크(105)는 또한 다양한 상이한 통신 프로토콜들로 데이터를 전송하는 전기통신(telecommunication) 네트워크의 부분들과 결합하거나 포함할 수 있다. 예를 들어, 네트워크(105)는 3G 네트워크 또는 4G 네트워크이다. 계속하여 또 다른 실시 예에서, 네트워크(105)는 블루투스 통신 네트워크 또는 SMS(short messaging service), MMS(multimedia messaging service), HTTP(hypertext transfer protocol), 직접 데이터 연결, WAP, 이-메일 등을 통해 데이터를 송신 및 수신하는 셀룰러 통신 네트워크를 포함한다. 계속하여 또 다른 실시 예에서, 네트워크(105) 내의 링크들의 전부 또는 일부는 SSL(secure sockets layer), 보안 HTTP 및/또는 VPNs(virtual private networks)와 같은 종래의 암호화 기술들을 이용하여 암호화된다.
도시된 실시 예에서, 컨텐츠 제공자(118)는 단일 선(181)을 통해 네트워크(105)와 통신적으로 결합한다. 클라이언트 장치(115a)는 단일 선(183)을 통해 네트워크(105)와 결합한다. 사용자(125a)는 단일 선(197)에 의해 표현되는 바와 같이 클라이언트 장치(115a)와 상호작용한다. 클라이언트 장치(115n) 및 사용자(125n)는 유사한 방식으로 결합 및 상호작용한다. 제 1 서버(101)는 단일 선(111)을 통해 네트워크(105)와 통신적으로 결합한다. 제 3 자 서버(182)는 단일 선(187)을 통해 네트워크(105)와 통신적으로 결합한다. 자산 호스팅 사이트(100)는 단일 선(113)을 통해 네트워크(105)와 통신적으로 결합한다. 데이터 소스 서버(151)는 단일 선(199)을 통해 네트워크(105)와 통신적으로 결합한다.
제 3 자 서버(182)는 제 3 자 사이트(186)를 호스팅하도록 구성되는 하드웨어 서버이다. 제 3 자 사이트(186)는 제 3 자 서버(182)의 프로세서에 의해 실행될 때, 소셜 네트워크 웹사이트, 블로그 웹사이트, 마이크로블로그 웹사이트, 메시지 게시판 및 전자 메일 서비스(“이-메일 서비스”) 중 하나 이상을 제공하도록 구성된 코드(code) 및 루틴(routine)들을 포함한다. 일 실시 예에서, 제 3 자 사이트(186)는 소셜 네트워크 웹사이트, 블로그 웹사이트, 마이크로블로그 웹사이트, 메시지 게시판 및 이-메일 서비스 중 하나 이상의 상이한 특징들을 구현하는 웹사이트이다. 예를 들어, 제 3 자 사이트(186)는 이-메일 서비스를 함께 제공하는 소셜 네트워크이다.
일 실시 예에서, 제 3 자 사이트(186)는 하나 이상의 컨텐츠 제공자들(118) 및/또는 클라이언트 장치들(115)의 사용자들(125)에 의해 업로드된 비디오들을 호스팅한다. 예를 들어, 제 3 자 사이트(186)는 클라이언트 장치(115)의 사용자(125)에 의해 업로드된 비디오들을 호스팅하는 소셜 네트워크이다. 사용자(125)는 비디오를 제 3 자 사이트(186)에 업로드하기 위해 클라이언트 장치(115)를 사용한다. 다른 사용자들(125)은 제 3 자 사이트(186) 상의 비디오를 시청한다(비디오를 시청하는 사용자(125)는 여기서“시청자”로 지칭된다). 이러한 시청자들 중 일부는 비디오를“좋아하고”, 비디오에 대한 코멘트(comment)를 제공하거나 소셜 네트워킹에 친숙한 사람들에게 알려진 비디오와의 다른 사회적 상호작용들을 수행할 것이다.
제 1 서버(101)는 하드웨어 서버 장치이다. 예를 들어, 제 1 서버(101)는 캘리포니아 마운틴 뷰의 Google®에 의해 운영되는 하드웨어 서버이다. 일 실시 예에서, 제 1 서버(101)는 Google® 외의 주체에 의해 운영된다. 제 1 서버(101)는 여러가지 것들 중, 모니터 모듈(191) 및 저장 장치(141)를 포함한다. 제 1 서버(101)는 프로세서(미도시), 메모리(미도시) 및 하드웨어 서버 장치에 일반적인 다른 요소들(예를 들어, 방화벽, 네트워크 장치 등)을 추가로 포함한다.
제 1 서버(101)는 시스템(130)의 선택적 특징임을 가리키는 점선을 사용하여 도 1에서 도시된다. 따라서, 일 실시 예에서 시스템(130)은 제 1 서버(101)를 포함하지 않고 모니터 모듈(191)은 자산 호스팅 서버(100)에 저장된다.
모니터 모듈(191)은 자산 호스팅 서버(100) 또는 제 1 서버(101) 중 어느 하나의 원소일 수 있음을 가리키는 점선을 사용하여 도 1에서 도시된다. 예를 들어, 일 실시 예에서 모니터 모듈(191)은 자산 호스팅 사이트(100)의 원소이고 제 1 서버(101)의 원소가 아니다. 또 다른 실시 예에서, 모니터 모듈(191)은 자산 호스팅 사이트(100)의 원소이고, 시스템(130)은 제 1 서버(101) 또는 저장장치(141)를 포함하지 않는다.
모니터 모듈(191)은 제 1 서버(101)의 프로세서에 의해 실행될 때, 하나 이상의 제 3 자 사이트들 및/또는 자산 호스팅 사이트(100)에 호스팅된 비디오들에 대한 사용자 활동들을 모니터하고 제 3 자 사이트(186) 또는 자산 호스팅 사이트(100)와 같은 다른 비디오 호스팅 사이트들에 의해 호스팅된 비디오들과 사용자들(125)이 어떻게 상호작용할 지 결정하도록 구성된 코드 및 루틴들을 포함한다. 모니터 모듈(191)은 제 1 서버(101)의 유형의 불휘발성 메모리 상에 저장된다.
일 실시 예에서, 모니터 모듈(191)은 파서(parser), 웹 크롤러(web crawler) 및 제 1 서버(101)의 프로세서에 의해 수행될 때 하나 이상의 제 3 자 사이트들(186) 및/또는 자산 호스팅 사이트(100) 상에 호스팅된 비디오들에 대한 사용자 활동들을 모니터하도록 구성되는 유사한 컴퓨터 프로그램 하위-모듈 중 하나 이상을 포함한다. 모니터 모듈(191)은 비디오들에 대한 사용자 활동을 설명하는 데이터를 수집하고 이 데이터를 제 1 저장 장치(141)에 저장한다. 이 데이터는“소셜 데이터”로서 여기서 지칭된다.
일 실시 예에서, 모니터 모듈(191)은 자산 호스팅 사이트(100)와 소셜 데이터를 공유한다. 예를 들어, 제 3 자 사이트들(186) 및/또는 자산 호스팅 사이트(100) 중 하나 이상은 모니터 모듈(191)과 피드(feed)를 설정하고 제 3 자 사이트들(186) 및/또는 자산 호스팅 사이트(100) 상에 호스팅된 하나 이상의 비디오들에 대한 사용자 활동을 설명하는 모니터 모듈(191)에 데이터를 전송한다. 이러한 실시 예에서, 모니터 모듈(191)은 제 1 서버(101)의 프로세서에 의해 실행될 때, 피드를 수신하고 데이터를 저장 장치(141)에 저장하도록 구성된 컴퓨터 코드를 포함한다. 일 실시 예에서, 모니터 모듈(191)은 파서, 웹 크롤러 및 피드 중 하나 이상을 사용하여 비디오들에 대한 사용자 활동을 설명하는 데이터를 수신한다. 이런 이유로, 모니터 모듈(191)은 하나 이상의 소스(source)를 통해 비디오들에 대한 사용자 활동을 설명하는 데이터를 수신할 수 있다.
일 실시 예에서, 모니터 모듈(191)은 제 3 자 사이트(186) 내의 쿠키(cookie)에 내장되고 사용자 활동을 보고하는 쿠키로부터 통신을 수신한다. 또 다른 실시 예에서, 사용자(125)에게는 모니터 모듈(191)에 의해 수행되는 모든 추적(tracking)을 옵트-아웃할 기회가 주어진다. 예를 들어, 제 3 자 사이트(186)는 개인 정책을 설명하고 사용자(125)에게 모니터 모듈(191)에 의해 제공되는 것과 같은 추적에 대한 옵트 아웃할 기회를 주는 사용자 그래픽 인터페이스를 표시한다. 일 실시 예에서, 개인 정책은 사용자(125)의 신원이 모니터 모듈(191)에 의해 수집된 데이터로부터 드러나지 않도록 사용자(125)에 대해 수집된 모든 데이터를 익명화하는 것을 포함한다.
저장 장치(141)는 모니터 모듈(191)에 의해 수집된 소셜 데이터를 저장하는 불휘발성 메모리이다. 일 실시 예에서, 저장 장치(141)는 또한 비디오들 및 비디오들과 관련된 비디오 데이터를 저장한다. 비디오 데이터는 비디오와 관련된 어떤 데이터이다.
일 실시 예에서, 사용자(125) 및 사용자(125)의 활동들을 설명하는 제 1 서버(101)에 저장된 데이터는 단지 이러한 데이터의 수집에 동의한 사용자(125)에 대해서만 수집된다. 어떤 실시 예에서, 사용자(125)는 즉각적으로 명확하게 데이터 수집을 하게 할 수 있다. 나아가, 사용자(!25)는 그러한 데이터 수집 활동들에 참여하는 것에 대해 옵트-인 또는 옵트-아웃할 수 있다. 일 실시 예에서, 수집된 데이터는 사용자(125)의 신원이 수집된 데이터로부터 드러나지 않도록 어떤 통계적 패턴들을 획득하는 어떤 분석을 수행하기 전에 익명화된다.
자산 소스 서버(151)는 하드웨어 서버 장치이다. 예를 들어, 데이터 소스 서버(151)는 캘리포니아 마운틴 뷰의 Google®에 의해 운영되는 하드웨어 서버이다. 일 실시 예에서, 데이터 소스 서버(151)는 Google® 외의 주체에 의해 운영된다. 데이터 소스 서버(151)는 그 중에서도, 문의 모듈(155) 및 유니버설 데이터베이스(161)를 포함한다. 데이터 소스 서버(151)는 추가로 프로세서(미도시), 메모리(미도시) 및 하드웨어 서버 장치에 일반적인 다른 요소들(예를 들어, 방화벽, 네트워크 카드 등)을 포함한다.
문의 모듈(155)은 데이터 소스 서버(151)의 프로세서에 의해 실행될 때, 유니버설 데이터베이스(161)에 키워드와 같은 하나 이상의 검색 기준들을 만족하는 데이터를 문의하는 코드 및 루틴들을 포함한다. 예를 들어, 문의 모듈(155)은 자산 호스팅 사이트(100)로부터 키워드를 포함하는 특정한 데이터에 대한 요청을 수신한다. 문의 모듈(155)은 유니버설 데이터베이스(161)에 키워드를 포함하는 데이터 또는 그렇지 않으면 키워드와 관련된 데이터를 문의한다. 예를 들어, 유니버설 데이터베이스(161)는 영화와 관련 데이터를 저장한다. 영화와 관련 데이터는 예를 들어, 영화에 대한 리뷰들, 배역과 영화에 구성원에 대한 설명, 영화의 시놉시스(synopsis) 등을 포함하는 영화와 관련된 어떤 데이터일 수 있다. 일 실시 예에서, 유니버설 데이터베이스(161)에 저장된 데이터는 도 4c에 도시되고 도 4c를 참조하여 아래에서 더욱 상세히 설명되는 것과 같은 데이터를 포함한다.
유니버설 데이터베이스(161)는 하나 이상의 영화들과 관련한 데이터를 돌려줄 수 있게 하는 어떤 방법으로 조직된다. 일 실시 예에서, 유니버설 데이터베이스(161)에 저장된 데이터는 영화의 제목과 같은 키워드들로 태그(tag)된다. 유니버설 데이터베이스(161)는 영화의 이름과 같은 키워드들을 사용하여 문의된다. 유니버설 데이터베이스(161)는 문의에 응답하여 키워드가 태그된 데이터를 돌려준다. 또 다른 실시 예에서, 유니버설 데이터베이스(161)는 유니버설 데이터베이스(161)에 저장된 데이터를 하나 이상의 영화들과 관련시키는 하나 이상의 테이블들을 사용하여 조직된다. 유니버설 데이터베이스는 영화와 관련된 데이터에 대해 문의되고, 유니버설 데이터베이스(161)는 문의에 응답하여 데이터를 돌려준다. 당해 기술 분야의 통상의 기술자들은 유니버설 데이터베이스(161)가 위에서 설명되지 않은 다른 방식들로 조직될 수도 있음을 인지할 것이다.
일 실시 예에서, 문의 모듈(155)은 유니버설 데이터베이스(161)에 타겟 컨텐츠 파일을 설명하는 타겟 데이터를 문의한다. 예를 들어, 타겟 컨텐츠 파일이 자산 호스팅 사이트(100) 내에서 링크 모듈(178)에 의해 결정되는 전체 버전 영화라고 가정한다. 문의 모듈(155)은 전체 버전 영화를 설명하는 타겟 데이테에 대한 검색 문의를 생성하고, 전체 버전 영화를 설명하는 타겟 데이터를 유니버설 데이터베이스(161)로부터 검색한다. 자산 호스팅 사이트(100) 및 링크 모듈(178)은 아래에서 더 상세히 설명된다.
일 실시 예에서, 문의 모듈(155)은 데이터 소스 서버(151)의 유형의 비-일시적인 메모리 상에 저장된다.
일 실시 예에서, 타겟 데이터는 타겟 컨텐츠 파일을 설명한다. 예를 들어, 타겟 데이터는 다음 중 하나 이상을 포함한다: 제목 데이터; 영화 출시 데이터; 시놉시스 데이터; 영화 생산 데이터; 리뷰 데이터; 플레이백 옵션 데이터; 및 관련된 컨텐츠 파일 데이터. 예를 들어, 타겟 컨텐츠 파일이 영화“에일리언들이 마운틴 뷰를 공격하다”의 전체 버전이라고 가정한다. 제목 데이터는 영화“에일리언들이 마운틴 뷰를 공격하다”의 이름 및/또는 포스터를 포함한다. 영화 출시 데이터는 영화“에일리언들이 마운틴 뷰를 공격하다”의 장르, 영화의 런닝 타임, 영화 평점, 영화의 출시 연도, 영화의 영상 품질 및 영화의 언어를 포함한다. 시놉시스 데이터는 영화“에일리언들이 마운틴 뷰를 공격하다”의 요약을 포함하는 데이터이다. 일 실시 예에서, 시놉시스 데이터는 영화“에일리언들이 마운틴 뷰를 공격하다”의 트레일러 및 간략한 소개 중 하나 이상을 포함하는 데이터이다. 영화 생산 데이터는 영화의 출연한 하나 이상의 배우들 및/또는 여배우들을 포함하는 배역 및 구성원, 영화에 참여한 하나 이상의 연출자들, 영화에 참여한 하나 이상의 제작자들, 영화에 참여한 하나 이상의 작가들 등을 설명한다. 리뷰 데이터는 제 3 자 사이트(186)와 같은 어떤 영화 평론 사이트에 의해 제공되는 영화의 리뷰들을 설명한다. 플레이백 옵션 데이터는 영화“에일리언들이 마운틴 뷰를 공격하다”를 플레이백할 수 있는 선택적 장치들에 대한 설명을 제공한다.
일 실시 예에서, 관련된 컨텐츠 데이터는 타겟 컨텐츠 파일과 관련된 다른 전체 버전 영화들을 설명한다. 예를 들어, 다른 전체 버전 영화들은 영화“에일리언들이 마운틴 뷰를 공격하다”와 동일한 제작자, 동일한 연출자, 동일한 배우/여배우, 동일한 작가, 동일한 장르, 동일한 출시 연도 및 동일한 극적 카테고리(예를 들어, 드라마, 액션, 코메디, 로맨스, 스릴러, 등)과 같은 어떤 공통 특징들을 공유한다. 또 다른 예에서, 영화“에일리언들이 마운틴 뷰를 공격하다”와 관련된 전체 버전 영화는 유사한 시놉시스를 갖는다(예를 들어, 두 영화들은 모두 외계인 침공을 포함한다).
또 다른 실시 예에서, 관련된 컨텐츠 파일 데이터는 타겟 컨텐츠 파일과 관련된 짧은 형태 비디오들을 설명한다. 예를 들어, 관련된 컨텐츠 파일 데이터는 영화“에일리언들이 마운틴 뷰를 공격하다”의 트레일러, 영화“에일리언들이 마운틴 뷰를 공격하다”의 배우 및/또는 여배우의 인터뷰, 영화“에일리언들이 마운틴 뷰를 공격하다”와 관련된 UGVC 등을 설명한다.
일 실시 예에서, 관련된 컨텐츠 파일 데이터는 관리자에 의해 추천된 영화들을 설명한다. 예를 들어, 관리자에 의해 추천된 비디오들은 올해의 최고(top) 영화들이다. 또 다른 예에서, 관련된 컨텐츠 파일 데이터는 올해의 탑 영화들 및 영화“에일리언들이 마운틴 뷰를 공격하다”와 관련된 영화들을 모두 설명한다.
일 실시 예에서, 문의 모듈(155)은 타겟 컨텐츠 파일에 대한 검색 문의를 생성하고, 유니버설 데이터베이스(161)에 타겟 컨텐츠 파일을 문의한다. 예를 들어, 타겟 컨텐츠 파일이 전체 버전 영화라고 가정한다. 문의 모듈(155)은 영화의 제목 및/또는 영화의 비디오 식별자(ID)를 포함하는 검색 문의를 생성한다. 문의 모듈(155)은 검색 문의를 사용하여 유니버설 데이터베이스(161)에 영화를 문의한다. 일 실시 예에서, 검색 모듈(155)은 영화의 오디오 및 비디오 데이터를 검색한다.
일 실시 예에서, 검색 모듈(155)은 검색된 타겟 데이터 및/또는 검색된 타겟 컨텐츠 파일을 자산 호스팅 사이트(100)에 포함된 GUI 모듈(126)에 전송한다. 검색된 타겟 데이터 및 타겟 컨텐츠 파일들은 타겟 컨텐츠 파일을 설명하는 정보를 표시하고 타겟 컨텐츠 파일을 재생하는 웹 페이지를 생성하는 데 사용된다. 웹 페이지들을 포함하는 사용자 인터페이스들은 도 4b-4d를 참조하여 아래에서 더욱 상세히 설명된다.
유니버설 데이터베이스(161)는 그것이 자산 호스팅 사이트(100) 또는 데이터 소스 서버(151) 중 어느 하나의 원소임을 가리키는 점선을 사용하여 도 1에 도시된다. 예를 들어, 일 실시 예에서 유니버설 데이터베이스(161)는 자산 호스팅 사이트(100)의 원소이고 데이터 소스 서버(151)의 원소가 아니다.
유니버설 데이터베이스(161)는 자산 호스팅 사이트(100) 및 클라이언트 장치들(115) 상에서 운영하는 사용자들(125)에 의해 공유되는 유니버설 데이터를 저장하는 저장 시스템이다. 일 실시 에에서, 유니버설 데이터베이스(161)는 영화들, 음악 오디오들, 음악 비디오들, 텔레비전 쇼들 등과 같은 하나 이상의 오디오 파일들 및 하나 이상의 비디오 파일들을 저장한다. 또 다른 실시 예에서, 유니버설 데이터베이스(161)는 또한 문의 모듈(155)을 참조하여 위에서 설명된 타겟 데이터에 포함되는 데이터와 같은, 오디오 파일들 및 비디오 파일들을 설명하는 메타데이터를 저장한다. 계속하여 또 다른 실시 예에서, 유니버설 데이터베이스(161)는 또한 오디오 파일에 대한 하나 이상의 오디오 식별자들(오디오 ID들) 및 비디오 파일에 대한 하나 이상의 비디오 ID들을 저장한다.
일 실시 예에서, 유니버설 데이터베이스(161)는 여행 목적지들의 사진들, 전세계의 토시들을 소개하는 글들과 같은 하나 이상의 이미지들 및/또는 하나 이상의 글들을 저장한다.
일 실시 예에서, 유니버설 데이터베이스(161)에 저장된 유니버설 데이터는 컨텐츠 제공자(118), 사용자(125) 및 유니버설 데이터(161)에 저장된 것과 같은 데이터를 갖는 다른 주체들 중 하나 이상에 의해 제공된다. 예를 들어, 컨텐츠 제공자(118)는 전체 버전 영화, 영화의 하나 이상의 트레일러들 및 영화의 배우 및/또는 여배우의 하나 이상의 인터뷰들을 업로드한다. 컨텐츠 제공자(118)는 또한 문의 모듈(155)을 참조하여 위에서 설명된 타겟 데이터와 같은, 영화를 설명하는 메타데이터를 제공한다. 또 다른 예에서, 사용자(125)는 책의 설명, 도시의 설명 및 인물의 전기와 같은, 글을 유니버설 데이터베이스(161)에 업로드한다.
자산 호스팅 사이트(100)는 사용자가 검색 및/또는 브라우징(browsing) 인터페이스를 통해 비디오 컨텐츠에 접근하도록 하는 어떤 시스템이다. 자산 호스팅 사이트(100)의 일 예는 www.youtube.com에서 발견되는 YOUTUBE™ 웹사이트이다. 다른 비디오 호스팅 사이트들도 잘 알려져 있고, 여기에 개시된 가르침에 따라 운영되도록 조정된다. “웹사이트”라는 용어는 어떤 인터넷 동작 프로토콜들을 사용하여 컨텐츠를 제공하도록 조정된 어떤 컴퓨터 시스템을 나타내며, 인터넷 또는 HTTP 프로토콜을 통해 업로드 또는 다운로드되는 컨텐츠에 한정되지 않는다.
일 실시 예에서, 자산 호스팅 사이트(100) 상의 비디오 컨텐츠의 소스들은 사용자에 의한 비디오들의 업로드들, 비디오들의 다른 웹사이트들 또는 데이터베이스들에 대한 검색들 또는 크롤(crawl)들, 또는 그와 유사한 것들 또는 그것들의 임의의 조합에서 유래한다. 예를 들어, 일 실시 예에서, 자산 호스팅 사이트(100)는 사용자들(125) 및/또는 컨텐츠 제공자들(118)에 의한 비디오 컨텐츠의 업로드가 가능하도록 구성된다. 또 다른 실시 예에서, 자산 호스팅 사이트(100)는 실시간으로 그러한 소스들을 크롤링하거나 그러한 소스들을 검색하는 것에 의해 다른 소스들로부터 비디오들을 얻도록 구성된다.
제시된 설명을 단순화하고 명확화하기 위해서, 자산 호스팅 사이트(100)에 의해 수신 및 공유되는 비디오 컨텐츠 파일들은 비디오들, 비디오 파일들 또는 비디오 항목들로서 지칭될 것이다. 당해 기술 분야의 통상의 기술자들은 자산 호스팅 사이트(100)가 임의의 미디어 유형 및 파일 유형의 컨텐츠를 수신 및 공유할 수 있다는 것을 인지할 것이다. 예를 들어, 자산 호스팅 사이트(100)는 비디오, 오디오, 비디오 및 오디오의 조합과 같은 컨텐츠 파일, JPET 또는 GIF 파일과 같은 이미지 및/또는 텍스트 파일 등을 공유한다.
자산 호스팅 사이트(100)는 단일 선(113)을 통해 네트워크(105)와 통신적으로 결합한다. 도시된 실시 예에서, 자산 호스팅 사이트(100)는 다음을 포함한다: 프런트 엔드 인터페이스(front end interface, 102); 비디오 제공 모듈(104); 비디오 검색 모듈(106); 업로드 서버(108); 미리보기 생성기(112); GUI 모듈(126); 사용자 데이터베이스(114); 비디오 데이터베이스(116); 지문 저장장치(128); 사용자 가능 입력 장치(196); 그래픽 데이터 저장장치(194); 사용자 활동 저장장치(192); 유니버설 데이터베이스(161); 링크 모듈(178) 및 모니터 모듈(191). 자산 호스팅 사이트(100)의 요소들은 서로 통신적으로 결합한다. 방화벽들, 부하 평형기들, 인증 서버들, 응용 서버들, 페일오버(failover) 서버, 사이트 관리 도구들 및 등등과 같은 다른 종래의 특징들은 시스템의 특징을 흐리지 않도록 도시되지 않는다.
모니터 모듈(191) 및 유니버설 데이터베이스(161)는 그것들이 자산 호스팅 사이트(100)의 선택적 특징들이라는 것을 가리키는 파선을 사용하여 도 1에 도시된다. 예를 들어, 일 실시 예에서 모니터 모듈(191)은 제 1 서버(101)에 저장된다. 일 실시 예에서, 유니버설 데이터베이스(161)는 데이터 소스 서버(151)에 저장된다.
일 실시 예에서, 자산 호스팅 사이트(100)의 도시된 요소들은 소프트웨어나 하드웨어의 단일 조각 또는 소프트웨어나 하드웨어의 다중 조각들로 구현된다. 일반적으로, 하나의 요소에 의해 수행되는 것으로 일 실시 예에서 설명되는 기능들은 또한 다른 실시 예들에서 다른 요소들에 의해 수행되거나, 요소들의 조합에 의해 수행될 수 있다. 나아가, 자산 호스팅 사이트(100)의 요소들에 의해 수행되는 것으로 일 실시 예에서 설명된 기능들은 적절하다면 다른 실시 예들에서는 하나 이상의 클라이언트 장치들(115) 및/또는 컨텐츠 제공자들(118)에 의해 수행된다. 일 실시 예에서, 특정 요소에 기인하는 기능은 함께 동작하는 상이한 또는 다중 요소들에 의해 수행된다.
자산 호스팅 사이트(100) 상의 다양한 서버들 및 모듈들 각각은 하나 이상의 중앙 처리 부들(“CPU”또는 복수인 경우에“CPU들”), 메모리, 네트워크 인터페이스, 주변 인터페이스들, 및 다른 잘-알려진 요소들을 포함하는 서버-급 컴퓨터 상에서 수행되는 서버 프로그램으로 구현된다. 일 실시 예에서, 컴퓨터들 자신은 LINUX와 같은 오픈-소스 운영 시스템을 구동하고, 하나 이상의 CPU들, 1 기가바이트 이상의 메모리, 및 100 기가바이트 이상의 디스크 저장장치를 갖는다 일 실시 예에서, 다른 유형의 컴퓨터들이 사용되고, 미래에 더욱 강력한 컴퓨터들이 개발되면, 여기서 설명되는 가르침에 따라 그것들이 구성될 수 있을 것이 기대된다. 또 다른 실시 예에서, 원소들 중 어떤 것에 의해 구현되는 기능은 하나 이상의 실재하는, 불휘발성 컴퓨터-판독가능한 저장 매체들(예를 들어,“RAM”(random access memory), 플래시,“SSD”(solid-state-drive), 하드 디스크 드라이브, 광/자기 매체 등)에 저장되는 컴퓨터 프로그램 생산물들로부터 제공된다.
프런트 엔드 인터페이스(102)는 네트워크(105)를 통한 제 1 서버(101), 컨텐츠 제공자(118) 및 클라이언트 장치들(115)과의 통신을 다루는 인터페이스이다. 예를 들어, 프런트 엔드 인터페이스(102)는 컨텐츠 제공자(118) 및/또는 클라이언트 장치들(115)의 사용자들(125)로부터 업로드되는 비디오 파일들을 수신하고 비디오 파일들을 업로드 서버(108)로 전달한다. 일 실시 예에서, 프런트 엔드 인터페이스(102)는 클라이언트 장치들(115)의 사용자들(125)로부터 요청을 수신하고 자산 호스팅 사이트(100)의 다른 요소들(예를 들어, 비디오 검색 모듈(106), 비디오 제공 모듈(104) 등)에 요청을 전달한다. 예를 들어, 프런트 엔드 인터페이스(102)는 사용자(125)로부터 비디오 검색 문의(query)를 수신하고 비다오 검색 모듈(106)로 비디오 검색 문의를 보낸다.
일 실시 예에서, 프런트 엔드 인터페이스(102)는 컨텐츠 제공자(118) 및/또는 클라이언트 장치들(115)의 사용자들(125)로부터 하나 이상의 링크 가능 입력들을 수신한다. 프런트 엔드 인터페이스(102)는 링크 가능 입력들을 링크 모듈(178)에 의해 후에 검색되는 사용자 가능 입력 저장장치(196)에 저장한다. 사용자 가능 입력 저장장치(196) 및 링크 모듈(178)은 아래에서 상세히 설명된다.
업로드 서버(108)는 프런트 엔드 인터페이스(102)를 통해 클라이언트 장치들(115) 상에서 운영되는 컨텐츠 제공자(118) 및/또는 사용자들(125)로부터 비디오 파일들을 수신한다. 일 실시 예에서, 업로드 서버(108)는 비디오 파일들을 처리하고, 비디오 파일들을 비디오 데이터베이스(116)에 저장한다. 예를 들어, 업로드 서버(108)는 비디오 ID를 비디오에 할당하고 비디오 및 비디오 ID를 비디오 데이터베이스(116)에 저장한다. 또 다른 실시 예에서, 업로드 서버(108)는 비디오 파일들을 처리하고 비디오 파일들을 링크 모듈(178)로 전송한다. 업로드 서버(108)에 의해 비디오 파일을 처리하는 또 다른 예들은 다음 중 하나 이상을 수행하는 것을 포함한다: 포맷; 압축; 메타데이터 태그; 및 컨텐츠 분석 등.
비디오 데이터베이스(116)는 자산 호스팅 사이트(100)에 의해 사용자들(125)과 공유되는 비디오 파일들을 저장하는 저장 시스템이다. 일 실시 예에서, 비디오 데이터베이스(116)는 업로드 서버(108)에 의해 처리되는 비디오 파일들을 저장한다. 또 다른 실시 예에서, 비디오 데이터베이스(116)는 비디오 파일들의 메타 데이터를 저장한다. 예를 들어, 비디오 데이터베이스(116)는 다음 중 하나 이상을 저장한다: 제목; 비디오 ID; 태그 정보; 비디오 파일의 관리 권한. 비디오 파일의 관리 권한은 다음 중 하나 이상을 포함한다: 비디오 파일을 삭제할 권한; 비디오 파일에 대한 정보를 편집할 권한; 비디오 파일을 광고와 연관시킬 권한 등.
일 실시 예에서, 비디오 파일의 메타데이터는 컨텐츠 제공자(118) 및/또는 사용자(125)에 의해 제공된다. 예를 들어, 컨텐츠 제공자(118) 및/또는 사용자(125)는 자산 호스팅 사이트(100)에 비디오를 업로드 할 때, 제목 및/또는 비디오의 짧은 설명을 제공한다. 또 다른 실시 예에서, 컨텐츠 제공자(118) 및/또는 사용자(125)는 또한 컨텐츠 제공자(118) 및/또는 사용자(125)에 의해 업로드된 비디오 파일이 개인적인지, 참조를 위한 것인지 또는 공적인지를 가리키는 명세서를 제공한다. 개인 비디오 파일 및 참조를 이한 비디오 파일은 다른 사용자들(125)에게 시청될 수 없다. 계속하여 또 다른 실시 예에서, 컨텐츠 제공자(118) 및/또는 사용자(125)는 업로드된 비디오 파일에 대한 지역적 한계를 포함한다. 이러한 것들은 도 3 및 8a-8b를 참조하여 아래에서 더욱 상세히 설명된다.
비디오 검색 모듈(106)은 프로세서(미도시)에 의해 실행될 때, 클라이언트 장치(115)를 사용하여 사용자(125)로부터 프런트 엔드 인터페이스(102)에 의해 수신되는 어떤 검색 문의들을 처리하는 코드 및 루틴들을 포함한다. 사용자(125)로부터의 검색 퀴리는 예를 들어, 사용자(125)가 시청에 관심있는 비디오들을 식별하는 키워드와 같은 검색 기준을 포함한다. 일 실시 예에서, 비디오 검색 모듈(106)은 검색 기준을 비디오 데이터베이스(116) 내에 저장된 비디오 파일들의 메타데이터를 문의하는 데 사용한다. 비디오 검색 모듈(106)은 프런트 엔드 인터페이스(102)를 통해 검색 결과를 클라이언트 장치(115)에 되돌린다. 예를 들어, 사용자(125)는 키워드 검색 문의를 프런트 엔드 인터페이스(102)를 통해 비디오 검색 모듈(106)에 제공하고, 비디오 검색 모듈(106)은 키워드와 일치하는(matching) 비디오 데이터베이스(116) 내에 저장된 비디오들을 식별하고, 프런트 엔드 인터페이스(102)를 통해 검색 결과들(예를 들어, 비디오 ID들, 제목들, 설명들, 식별된 비디오들의 미리보기들)을 사용자(125)에게 되돌린다.
비디오 제공 모듈(104)은 프로세서(미도시)에 의해 실행될 때, 비디오들에 대한 요청을 처리하고 클라이언트 장치들(115)에 비디오들을 제공하는 코드 및 루틴들을 포함한다. 예를 들어, 비디오 제공 모듈(104)은 클라이언트 장치(115)의 사용자(125)로부터 비디오 시청에 대한 요청을 수신하고, 요청에 적어도 일부는 기초하여 비디오 데이터베이스(116)로부터 비디오를 검색하고, 프런트 엔드 인터페이스(102)를 통해 클라이언트 장치(115)에 비디오를 제시한다.
일 실시 예에서, 비디오 제공 모듈(104)은 클라이언트 장치(115)로부터 요청을 수신하여 사용자(125)가 비디오에 대한 링크를 클릭할 때 비디오에 접근한다. 클라이언트 장치(115)로부터 수신되는 요청은 비디오의 비디오 ID를 포함한다. 일 실시 예에서, 비디오 ID는 사용자(125)가 비디오에 대한 링크를 클릭하면 요청에 자동적으로 포함된다. 비디오 제공 모듈(104)은 비디오 데이터베이스(116) 내에서 비디오를 검색하고 위치를 찾는데 비디오 ID를 사용한다. 요청된 비디오의 위치를 찾으면, 비디오 검색 모듈(104)은 프런트 엔드 인터페이스(102)를 통해 비디오를 클라이언트 장치(115)에 보낸다. 일 실시 예에서, 비디오는 클라이언트 장치(115)에 의해 저장되고 실행되는 웹브라우저 상에서 사용자(125)에게 제시된다. 비디오의 제목 및 설명과 같은 비디오와 관련된 메타데이터가 또한 사용자(125)에게 제시된다. 일 실시 예에서, 비디오 제공 모듈(104)은 사용자(125)의 비디오 시청 히스토리(history)가 사용자 데이터베이스(114)에 저장되도록 비디오를 클라이언트 장치(115)로 보낸 후에 사용자 데이터베이스(114) 내에 비디오의 비디오 ID를 저장한다.
사용자 데이터베이스(114)는 어떤 사용자(125)와 관련된 데이터 및/또는 정보를 저장하는 저장 시스템이다. 예를 들어, 사용자 데이터베이스(114)는 사용자(125)의 비디오 업로드 히스토리가 사용자 데이터베이스(114)에 유지되도록 사용자(125)에 의해 업로드된 비디오 파일들의 비디오 ID들을 저장한다. 사용자 데이터베이스(114)는 또한 사용자(125)에 대한 비디오 시청 히스토리가 사용자 데이터베이스(114)에 저장되도록 사용자(125)가 시청을 위해 비디오 데이터베이스(116)로부터 접근한 비디오 파일들의 비디오 ID들을 저장한다. 일 실시 예에서, 사용자(125)는 유일한 사용자 이름 및 비밀번호를 사용함으로써 및/또는 사용자(125)의 인터넷 프로토콜 주소를 사용함으로써 식별된다.
미리보기 생성기(112)는 프로세서(미도시)에 의해 실행될 때, 비디오에 대한 미리보기를 생성하는 코드 및 루틴들을 포함한다. 미리보기는 자산 호스팅 사이트(100) 상의 비디오를 나타내는 이미지이다. 예를 들어, 미리보기 생성기(112)는 비디오를 분석하고 비디오로부터 하나의 프레임(frame)을 미리보기로서 선택한다. 일 실시 예에서, 미리보기 생성기(112)는 비디오에 대한 하나 이상의 이미지들을 제공하고 공급자(예를 들어, 클라이언트 장치(115)를 사용하여 비디오를 업로드하는 컨텐츠 제공자(118) 또는 사용자(125))가 미리보기로서 하나의 이미지를 선택하도록 한다.
그래픽 데이터 저장장치(194)는 클라이언트 장치(115)의 브라우저 내에서 사용자(125)에게 표시를 위한 그래픽 사용자 인터페이스(“GUI”)들을 생성하는 그래픽 코드를 저장하는 저장 시스템이다. 예를 들어, 그래픽 데이터 저장장치(194)는 사용자(125)가 모니터 모듈(191)에 의해 제공되는 서비스를 옵트-아웃할 수 있게 하는 클라이언트 장치(115)의 디스플레이 상의 화면을 표시하는 그래픽 데이터를 저장한다.
GUI 모듈(126)은 프로세서(미도시)에 의해 실행될 때, 사용자 인터페이스를 통해 사용자에게 정보를 표시하는 및/또는 사용자가 정보를 입력하게 하는 사용자 인터페이스를 생성하는 코드 및 루틴들을 포함한다. 일 실시 예에서, GUI 모듈(126)은 사용자(125)로부터 입력들을 수신하는 및/또는 사용자(125)에게 정보를 표시하는 아래에서 설명되는 기능들 제공한다. GUI 모듈(126)은 프런트 엔드 인터페이스(102)와 통신적으로 결합한다. GUI 모듈(126)은 그래픽 데이터 저장장치(194)로부터 그래픽 데이터를 검색하고 그래픽 데이터를 프런트 엔드 인터페이스(102)로 전송한다. 프런트 엔드 인터페이스(102)는 네트워크(105)와 통신하여 그래픽 데이터를 네트워크(105)와 결합한 프로세서-기반 컴퓨팅 장치에 전송한다.
예를 들어, 프런트 엔드 인터페이스(102)는 그래픽 데이터를 컨텐츠 제공자(118) 및 클라이언트 장치(115) 중 하나 이상에 전송한다. 컨텐츠 제공자(118) 및 클라이언트 장치(115) 중 하나 이상은 그래픽 데이터를 수신하고, 컨텐츠 제공자(118) 및/또는 클라이언트 장치(115)와 통신적으로 결합한 디스플레이 장치(예를 들어, 모니터) 상에 표시되는 GUI를 생성한다. GUI는 디스플레이 장치 상에 표시되고 인간 사용자(사용자(125)와 같은)에 의해 시청된다. GUI는 하나 이상의 필드(field)들, 드랍 다운 상자(drop down box)들 또는 인간 사용자들에 의해 사용되는 다른 종래의 그래픽들을 포함하여, 다음에 네트워크(105)를 통해 자산 호스팅 사이트(100)로 전송되는 입력들을 제공한다. GUI로 입력된 데이터는 프런트 엔드 인터페이스(102)에 의해 수신되고 하나 이상의 비디오 데이터베이스(116), 사용자 데이터베이스(114) 및 사용자 활동 저장장치(192)에 저장된다.
일 실시 예에서, GUI 모듈(126)은 업로드된 컨텐츠 파일(UGVC와 같은)을 검색하고 업로드된 컨텐츠 파일의 재생가능한 버전을 포함하는 웹 페이지를 생성한다. 예를 들어, 웹 페이지는 업로드된 컨텐츠 파일을 사용자(125)에게 재생하는 내장된 비디오 플레이어(player)를 포함한다. 일 실시 예에서, 웹 페이지는 또한 업로드된 컨텐츠 파일과 관련하여 메타데이터(예를 들어, 제목, 업로드 주체, 업로드 날짜, 시청 횟수를 설명하는 메타데이터)를 포함한다. GUI 모듈(126)은 웹 페이지를 프런트 엔드 인터페이스(102)에 전송한다. 프런트 엔드 인터페이스(102)는 네트워크(105)와 통신하여, 클라이언트 장치(115), 컨텐츠 제공자(118) 및/또는 제 3 자 서버(182)와 통신적으로 결합한 디스플레이 장치상에 웹 페이지를 표시하는 클라이언트 장치(115), 컨텐츠 제공자(118) 및 제 3 자 서버(182) 중 하나 이상에 웹 페이지를 전송한다.
일 실시 예에서, GUI 모듈(126)은 또한 링크 모듈(178)에 의해 생성된 하나 이상의 결과들에서 식별되는 타겟(target) 컨텐츠 파일(업로드된 컨텐츠 파일이 얻어진 전체 버전 영화와 같은)에 대한 링크를 수신한다. GUI 모듈(126)은 그 다음 업로드된 컨텐츠 파일을 재생하는 웹 페이지에 대한 링크를 포함한다. 예를 들어, 비디오 플레이어의 어느 한 면은“이 비디오의 전체 버전”이라고 말하는 링크이다. 링크는 전체 버전 비디오와 같은 타겟 컨텐츠 파일을 시청, 대여 또는 구매하기 위해 사용자들(125)에 의해 클릭될 수 있다.
또 다른 실시 예에서, GUI 모듈은 웹 페이지 내에 업로드된 컨텐츠 파일과 관련된 컨텐츠 파일(다른 관련된 비디오 클립들, 타겟 컨텐츠 파일과 관련된 다른 비디오들과 같은)의 리스트 및 업로드된 컨텐츠 파일과 관련된 컨텐츠 파일들에 대한 상응하는 링크들을 포함한다. 업로드된 컨텐츠 파일을 재생하고 링크들을 보여주는 웹 페이지는 도 4a를 참조하여 아래에서 더욱 상세히 설명된다.
업로드된 컨텐츠 파일을 재생하는 웹 페이지 내의 타겟 컨텐츠 파일에 대한 링크를 클릭하는 것은 타겟 컨텐츠 파일에 대한 리치 웹 페이지와 같은 제 2 웹 페이지를 향할 것이다. 일 실시 예에서, GUI 모듈(126)은 타겟 데이터에 적어도 일부 기초하여 타겟 컨텐츠 파일에 대한 리치 웹 페이지를 생성한다. 일 실시 예에서, GUI 모듈(126)은 문의 모듈(155)로부터 타겟 컨텐츠 파일에 대한 타겟 데이터를 수신한다. 또 다른 실시 예에서, GUI 모듈(126)은 링크 모듈(178)로부터 타겟 컨텐츠 파일에 대한 타겟 데이터를 수신한다.
예를 들어, GUI 모듈(126)은 영화에 대한 수신된 타겟 데이터를 사용하여 영화에 대한 리치 웹 페이지를 생성한다. 영화에 대한 리치 웹 페이지는 영화의 제목, 영화의 포스터, 트레일러, 시놉시스, 출시 정보, 배역 및 구성원 정보, 영화의 리뷰, 영화를 재생하는 선택적 장치들에 대한 정보, 영화와 관련된 다른 영화들에 대한 정보 및/또는 관련된 비디오 클립들(예를 들어, 다른 트레일러들, 인터뷰들, UGVC들 등) 중 하나 이상을 포함한다. 또 다른 예에서, GUI 모듈(126)은 리치 웹 페이지 내의 대여 또는 구매 버튼을 포함한다. 대여 및 구매 버튼은 영화를 대여 또는 구매하기 위해 사용자들(125)에 의해 클릭될 수 있다.
일 실시 예에서, GUI 모듈(126)은 업로드된 컨텐츠 파일을 재생하는 웹 페이지 상의 타겟 컨텐츠 파일에 대한 링크를 클릭하는 것에 응답하여 프런트 엔드 인터페이스(102) 및 네트워크(105)를 통해 리치 웹 페이지를 클라이언트 장치(115), 컨텐츠 제공자(118) 및/또는 제 3 자 서버(182) 중 하나 이상에 전송한다. 리치 웹 페이지는 도 4b-4c를 참조하여 아래에서 더 상세히 설명된다.
일 실시 예에서, GUI 모듈(126)은 타겟 컨텐츠 파일을 재생하는 플레이백 페이지를 생성한다. 예를 들어, GUI 모듈(126)은 문의 모듈(155)로부터 타겟 컨텐츠 파일에 대한 오디오 및 비디오 데이터를 수신한다. GUI 모듈(126)은 타겟 컨텐츠 파일의 수신된 오디오 및 비디오 데이터에 기초하여 타겟 컨텐츠 파일의 재생가능한 버전을 포함하는 플레이백 페이지를 생성한다. 또 다른 예에서, GUI 모듈(126)은 링크 모듈(178)로부터 타겟 컨텐츠 파일의 오디오 및 비디오 데이터를 수신하고, 오디오 및 비디오 데이터에 기초하여 플레이백 페이지를 생성한다.
일 실시 예에서, GUI 모듈(126)은 유니버설 데이터베이스(161)로부터 하나 이상의 관련된 컨텐츠 파일들(타겟 컨텐츠 파일과 관련된 전체 버전 영화들과 같은)을 설명하는 메타데이터를 검색한다. 예를 들어, 관련된 컨텐츠 파일들을 설명하는 메타데이터는 관련된 컨텐츠 파일 데이터와 같은, 타겟 데이터 내에 포함된 데이터이다. 플레이백 페이지는 도 4d를 참조하여 아래에서 더욱 상세히 설명된다.
일 실시 예에서, GUI 모듈(126)은 튜토리얼(tutorial), 용어들 및 동의들 등과 같은 사용자에 대한 정보를 표시하는 사용자 인터페이스를 제공한다. 계속하여 또 다른 실시 예에서, GUI 모듈(126)은 사용자(125)에게 정보를 표시하고 사용자 인터페이스를 통해 사용자가 정보를 입력하게 하는 사용자 인터페이스를 제공한다.
일 실시 예에서, GUI 모듈(126)은 자산 호스팅 사이트(100)(및/또는 제 1 서버(101))에 의해 데이터 수집에 대해 명확하게 옵트-인 또는 옵트-아웃하는 데 사용자(125)가 사용할 수 있는 그래픽 입력을 사용자(125)에게 제공한다. 만일 사용자(125)가 데이터 수집을 옵트-아웃하는 입력을 제공하면, 자산 호스팅 사이트(100) 및/또는 제 1 서버(101)는 사용자(125) 또는 사용자(125)의 활동을 설명하는 데이터를 수집하지 않는다. 일 실시 예에서, 만일 사용자가 데이터 수집에 참여하기를 선택하면, 자산 호스팅 사이트(100) 및/또는 제 1 서버(101)는 사용자(125)의 신원이 수집된 데이터로부터 드러나지 않도록 사용자(125) 및 사용자(125)의 활동들을 설명하는 어떤 수집된 데이터를 익명화한다. 일 실시 예에서, GUI는 수집된 데이터가 어떻게 익명화되고 수집된 데이터가 어떻게 이용될지를 설명하는 개인 정책에 대한 기재된 설명을 포함한다.
사용자 활동 저장장치(192)는 하나 이상의 제 3 자 사이트들(186)(소셜 네트워크 사이트들, 블로그 웹사이트들, 마이크로블로그 웹사이트들, 메시지 게시판, 이-메일 서비스들, 비디오 호스팅 사이트들 등) 및 자산 호스팅 사이트(100)와 같은 하나 이상의 다른 비디오 호스팅 사이트들 상에서 사용자 활동을 설명하는 데이터를 저장하는 저장 시스템이다. 예를 들어, 사용자 활동 저장장치(192)는 모니터 모듈(191)을 참조하여 위에서 설명된 소셜 데이터를 저장한다. 일 실시 예에서, 사용자 활동 저장장치(192)는 또한 비디오 파일을 시청하는 동안 및 그 전후에 사용자에 의해 방문되는 웹사이트들을 설명하는 데이터, 시청자(125)에 의해 방문되는 웹 사이트들의 히스토리, 비디오 파일을 시청하는 동안 및 그 전후에 사용자(125)에 의해 수행되는 검색들, 시청자(125)의 검색 히스토리 등을 저장한다. 일 실시 예에서, 사용자 활동 저장장치(192)는 비디오들, 비디오들과 연관된 메타데이터, 사용자 프로파일(profile) 정보 및 컨텐츠 파일 링크 시스템과 연관된 다른 정보를 저장하는 불휘발성 메모리이다.
일 실시 예에서, 사용자 활동 저장장치(192)는 사용자 프로파일 정보를 저장한다. 사용자 프로파일 정보는 사용자(125)와 연관된 정보이다. 예를 들어, 사용자 프로파일 정보는 사용자 이름, 사용자(125)에 의해 제출된 비디오들의 표시 및 사용자(125)에 의해 제출된 비디오들의 인기와 수익성을 설명하는 정보 중 하나 이상을 포함한다. 당해 기술 분야의 통상의 기술자들은 사용자 프로파일 정보가 사용자(125)와 관련된 다른 정보를 포함할 것임을 인지할 것이다. 일 실시 예에서, 사용자 활동 저장장치(192)는 컨텐츠 제공자(118) 및 컨텐츠 제공자(118)에 의해 업로드된 비디오들을 설명하는 유사한 정보를 저장한다.
링크 모듈(178)은 프로세서(미도시)에 의해 실행될 때, 업로드된 컨텐츠 파일(예를 들어, 클립, 하미지 비디오, 패러디들 등과 같은 짧은 형태 비디오인 비디오 파일)에 적어도 일부 기초하여 타겟 컨텐츠 파일(예를 들어, 긴 형태 또는 전체 버전 비디오인 비디오 파일, 텔레비전 쇼의 에피소드)에 대한 링크를 생성하는 코드 및 루틴들을 포함한다. 일 실시 예에서, 업로드된 컨텐츠 파일은 UGVC 파일이다. 타겟 컨텐츠 파일은 UGVC 파일이 얻어진 전체 버전 영화이다.
일 실시 예에서, 링크 모듈(178)은 업로드된 컨텐츠 파일에 적어도 일부 기초하여 타겟 컨텐츠 파일을 결정한다. 예를 들어, 링크 모듈(178)은 업로드된 비디오들의 지문 분석을 사용하여 생성된 지문들을 검색하고 일치시킴으로써 타겟 비디오 파일을 결정한다. 링크 모듈(178)은 지문 저장장치(128) 내에 모든 업로드된 비디오들에 대한 지문들을 생성 및 저장한다.
일 실시 예에서, 링크 모듈(178)은 링크 가능 입력(또한, 여기서“링크 입력”으로 지칭되는))에 따라 타겟 컨텐츠 파일에 대한 링크를 생성한다. 예를 들어, 링크 모듈(178)은 사용자 가능 입력 저장장치(196)로부터 링크 입력을 검색한다. 만일 링크 입력이 링크가 가능함을 가리키면, 링크 모듈(178)은 타겟 컨텐츠 파일에 대한 링크를 생성한다; 그렇지 않으면, 링크 모듈(178)은 타겟 컨텐츠 파일에 대한 링크를 생성하지 않는다.
일 실시 예에서, 링크 모듈(178)은 타겟 컨텐츠 파일을 설명하는 타겟 데이터에 대한 요청 및/또는 타겟 컨텐츠 파일에 대한 요청을 데이터 소스 서버(151)에 포함된 문의 모듈(155)에 전송한다. 타겟 데이터는 문의 모듈(155)을 참조하여 위에서 설명되었다. 또 다른 실시 예에서, 링크 모듈(178)은 자산 호스팅 사이트(100)에 포함된 유니버설 데이터베이스(161)에 타겟 데이터 및/또는 타겟 컨텐츠 파일을 문의한다. 링크 모듈(178)은 유니버설 데이터베이스(161)로부터 타겟 데이터 및/또는 타겟 컨텐츠 파일을 검색한다.
일 실시 예에서, 링크 모듈(178)은 업로드된 컨텐츠 파일을 재생하고 타겟 컨텐츠 파일에 대한 링크를 보여주는 웹 페이지를 생성하기 위해 타겟 컨텐츠 파일에 대한 링크를 GUI 모듈(126)에 전송한다. 일 실시 예에서, 링크 모듈(178)은 또한 리치 웹 페이지 및/또는 플레이백 페이지를 생성하기 위해 검색된 타겟 데이터 및/또는 검색된 타겟 컨텐츠 파일을 GUI 모듈(126)에 전송한다. 이러한 기능들 및 링크 모듈의 다른 기능들은 도 2 및 도 3을 참조하여 아래에서 더욱 상세히 설명된다.
지문 저장장치(128)는 기존의 컨텐츠 파일들(비디오들과 같은)에 대한 지문들을 저장하는 저장 시스템이다. 일 실시 예에서, 기존의 컨텐츠 파일들은 비디오 데이터베이스(116)에 저장된 비디오들이다. 예를 들어, 업로드된 서버(108)는 컨텐츠 제공자(118) 및/또는 클라이언트 장치들(115)의 사용자들(125)에 의해 업로드된 비디오들을 수신하고 비디오들을 비디오 데이터베이스(116)에 저장한다. 링크 모듈(178)은 업로드된 비디오들에 대한 지문을 생성한다. 링크 모듈(178)은 그 다음 지문을 지문 저장장치(128)에 저장한다.
지문 저장장치(128)는 상응하는 비디오 제목들 및/또는 비디오 ID들과 관련된 지문들을 저장한다. 일 실시 예에서, 지문 저장장치(128)는 하나 이상의 테이블들 및 행렬들에 지문들을 저장하도록 구성된다. 예를 들어, 지문들은 상응하는 비디오 ID들과 연관된 테이블들에 저장된다. 또 다른 예에서, 지문 저장장치(128)는 비디오들을 수신한 시간 순서에 따라 행렬들에 지문들을 저장한다.
사용자 가능 입력들(196)은 컨텐츠 제공자들(118) 및/또는 클라이언트 장치(115)를 운영하는 사용자들(125)로부터 프런트 엔드 인터페이스(102)에 의해 수신된 링크 입력들을 포함한다. 링크 입력은 만일 공급자 또는 컨텐츠 파일(비디오와 같은)의 소유자가 컨텐츠 파일에 대한 승인된 링크를 가지는지를 나타낸다. 후에, 링크 모듈(178)은 사용자 가능 입력들(196)로부터 링크 입력을 검색하여 공급자 또는 소유자에 의해 타겟 컨텐츠에 대한 링크가 가능해지는지(즉, 만일 공급자 또는 소유자가 타겟 컨텐츠 파일에 대한 승인된 링크를 가지는지)를 결정한다. 만일 링크가 가능하면, 링크 모듈(178)은 타겟 컨텐츠 파일에 대한 링크를 생성한다.
클라이언트 장치(115)는 임의의 컴퓨터 장치이다. 예를 들어, 클라이언트 장치(115a, 115n)는 개인용 컴퓨터(“PC”), 스마트 폰, 태블릿 컴퓨터(또는 태블릿 PC), 등이다. 당해 기술 분야의 통상의 기술자는 클라이언트 장치들(115) 중 다른 유형들이 가능하다는 것을 인지할 것이다. 일 실시 예에서, 시스템(130)은 클라이언트 장치들(115)의 상이한 유형들의 조합을 포함한다. 예를 들어, 복수의 다른 클라이언트 장치들(115)은 개인용 컴퓨터, 스마트 폰 및 태블릿 컴퓨터의 어떤 조합이다.
클라이언트 장치(115)는 브라우저(미도시)를 포함한다. 일 실시 예에서, 브라우저는 클라이언트 장치(115)의 메모리에 저장되고 클라이언트 장치(115)의 프로세서에 의해 실행되는 코드 및 루틴들을 포함한다. 예를 들어, 브라우저는 구글 크롬(Google Chrome)과 같은 브라우저 어플리케이션이다. 사용자(125)는 클라이언트 장치(115)의 인간 사용자이다.
링크 모듈(178)
이제 도 2를 참조하면, 링크 모듈(178)이 더욱 상세히 도시된다. 도 2는 자산 호스팅 사이트(100)의 실시 예를 도시하는 블록도이다. 도 2에는 링크 모듈(178), 프로세서(235), 메모리(237), GUI 모듈(126), 사용자 활동 저장장치(192) 및 지문 저장장치(128)가 도시된다. 일 실시 예에서, 도 2에 도시되지 않은 자산 호스팅 사이트(100)의 요소들은 메모리(237)에 저장된다. 예를 들어, 메모리(237)는 비디오 제공 모듈(104), 비디오 검색 모듈(106), 업로드 서버(108), 미리보기 생성기(112) 그리고 선택적으로 모니터 모듈(191) 중 하나 이상을 저장한다.
일 실시 예에서, 프로세서(235)는 자산 호스팅 사이트(100)의 컴퓨터 프로세서이고, 비디오 제공 모듈(104), 비디오 검색 모듈(106), 업로드 서버(108), 미리보기 생성기(112), GUI 모듈(126) 및 링크 모듈(178) 중 하나 이상을 포함하는 코드 및 루틴들을 실행하는 데 사용될 수 있다. 프로세서(235)는 수학적 논리 유닛(unit), 마이크로프로세서, 일반 목적 제어기 또는 어떤 다른 프로세서 어레이(array)를 포함하여 계산을 수행하고 비디오 검색 모듈(104), 비디오 검색 모듈(106), 업로드 서버(108), 미리보기 생성기(112), GUI 모듈(126) 및 링크 모듈(178)을 실행한다. 프로세서(235)는 자산 호스팅 사이트(100)의 다른 요소들과의 토인을 위해 버스(220)와 결합한다. 프로세서(235)는 데이터 신호들을 처리하고 CISC(complex instruction set computer) 아키텍처(architecture), RISC(reduced instruction set computer) 아키텍처, 또는 명령 집합의 조합을 구현하는 아키텍처를 포함하는 다양한 컴퓨팅 아키텍처들을 포함할 수 있다. 단지 단일 프로세서만이 도 2에 도시되었지만, 다중 프로세서들이 포함될 수도 있다. 처리 능력은 이미지 및 캡쳐(capture)의 표시 및 이미지들의 전송을 지원하는 것에 한정될 수 있다. 처리 능력은 다양한 유형의 특징 추출 및 샘플링(sampling)을 포함하는, 더 복잡한 업무들을 수행하기에 충분할 수 있다. 다른 프로세들, 운영 시스템들, 센서들, 디스플레이들 및 물리적 구성들이 가능함이 당해 기술 분야의 통상의 기술자에게 명백할 것이다. 프로세서(235)는 단일 선(236)을 통해 버스(220)와 통신적으로 결합한다.
메모리(237)는 비-일시적인 저장 매체이다. 메모리(237)는 프로세서(235)에 의해 실행될 수 있는 명령들 및/또는 데이터를 저장한다. 예를 들어, 메모리(237)는 도 1을 참조하여 위에서 설명된 자산 호스팅 사이트(100)의 모듈들 중 하나 이상을 저장한다. 메모리(237)는 자산 호스팅 사이트(100)의 다른 요소들과의 통신을 위해 통신적으로 버스(220)와 결합한다. 일 실시 예에서, 메모리(237)에 저장된 명령들 및/또는 데이터는 여기서 설명된 기술들의 일부 및/또는 전부를 수행하는 코드를 포함한다. 메모리(237)는 DRAM(dynamic random access memory) 장치, SRAM(static random access memory) 장치, 플래시 메모리 또는 당해 기술 분야에 알려진 어떤 다른 메모리 장치이다. 일 실시 예에서, 메모리(237)는 또한 하드 디스크 드라이브, 플로피 디스크 드라이브, CD-ROM 장치, DVD-ROM 장치, DVD-RAM 장치, DVD-RW 장치, 플래시 메모리 장치, 또는 당해 기술 분야에 알려진 어떤 다른 불휘발성 저장 장치와 같은 불휘발성 메모리 또는 유사한 영구적 저장 장치 및 매체를 포함한다. 메모리(237)는 단일 선(238)을 통해 버스(220)와 통신적으로 결합한다. 일 실시 예에서, 메모리(237)는 링크 모듈(178) 및 링크 모듈(178)에 포함되는 하위-모듈들(202, 204, 206, 208)을 저장한다.
일 실시 예에서, 링크 모듈(178)은 통신 인터페이스(202), 타겟팅 모듈(204), 링크 생성 모듈(206) 및 비디오 대어 모듈(208)을 포함한다. 비디오 대여 모듈(208)은 링크 모듈(178)의 선택적 특징임을 가리키기 위해 도 2에서 파선으로 도시된다.
통신 인터페이스(202)는 타겟팅 모듈(204), 링크 생성 모듈(206), 비디오 대여 모듈(208), GUI 모듈(126) 및 자산 호스팅 사이트(100)의 다른 요소들 사이에서 통신을 제어하는 루틴들을 포함하는 소프트웨어이다. 일 실시 예에서, 통신 인터페이스(202)는 메모리(237)에 저장되고, 프로세서(235)에 의해 접근가능 및 실행가능하다. 통신 인터페이스(202)는 단일 선(222)을 통해 프로세서(235) 및 자산 호스팅 사이트(100)의 다른 요소들과의 협력 또는 통신에 적용된다.
일 실시 예에서, 통신 인터페이스(202)는 업로드 서버(108)로부터 업로드된 컨텐츠 파일을 수신한다. 통신 인터페이스(202)는 업로드된 컨텐츠 파일을 타겟팅 모듈(204)에 전달한다. 또 다른 실시 예에서, 통신 인터페이스(202)는 링크 생성 모듈(206)로부터 타겟 컨텐츠 파일에 대한 링크를 수신하고 GUI 모듈(126)에 링크를 전달한다. 계속하여 또 다른 실시 예에서, 통신 인터페이스(202)는 타겟팅 모듈(204)로부터 타겟 데이터 및/또는 타겟 컨텐츠 파일을 수신하고, 타겟 데이터 및/또는 타겟 컨텐츠 파일을 GUI 모듈(126)에 전달한다.
타겟팅 모듈(204)은 업로드된 컨텐츠 파일에 적어도 일부 기초하여 타겟 컨텐츠 파일을 결정하고 타겟 컨텐츠 파일에 대한 타겟 데이터를 검색하는 루틴들을 포함하는 소프트웨어이다. 일 실시 예에서, 타겟팅 모듈(204)은 업로드된 컨텐츠 파일에 적어도 일부 기초하여 타겟 컨텐츠를 결정하고 타겟 컨텐츠 파일에 대한 타겟 데이터를 검색하기 위해 도 3 및 5-9를 참조하여 아래에서 설명되는 기능을 제공하는 프로세서(235)에 의해 실행가능한 명령들의 집합이다. 또 다른 실시 예에서, 타겟팅 모듈(204)은 메모리(237)에 저장되고 프로세서(235)에 의해 접근가능 및 실행가능하다. 다른 실시 예에서, 타겟팅 모듈(204)은 단일 선(224)을 통해 수신된 업로드된 컨텐츠 파일에 적어도 일부 기초하여 타겟 컨텐츠 파일을 결정하고 타겟 컨텐츠 파일에 대한 타겟 데이터를 검색하도록 적용된다.
일 실시 예에서, 공급자와 같은 컨텐츠 제공자(118)가 자산 호스팅 사이트(100)에 비디오를 업로드할 때, 컨텐츠 제공자(118)는 또한 컨텐츠 제공자(118)에 의해 업로드된 비디오에 대에 다른 비디오의 링크를 가능 또는 불가능하게 하는 입력을 제공한다. 이러한 입력들은 사용자 가능 입력들(196)에 저장된다. 타겟팅 모듈(204)은 사용자 가능 입력 저장장치(196)로부터 가능 입력을 검색하고 입력에 기초하여 링크가 주어진 비디오에 대해 가능한지 결정한다. 사용자 가능 입력 저장장치(196)로부터 가능 입력을 검색하고 입력에 기초하여 주어진 비디오에 대한 링크가 가능한지 결정하는 타겟팅 모듈(204)의 프로세스는“가능 결정”으로 지칭된다.
타겟팅 모듈(204)은 도 3 및 5-9를 참조하여 아래에서 더욱 상세히 설명된다.
링크 생성 모듈(206)은 타겟 컨텐츠 파일에 대한 하나 이상의 링크들을 생성하는 코드 및 루틴들을 포함한다. 일 실시 예에서, 링크는 가능 결정에 적어도 일부 기초하여 생성된다. 예를 들어, 링크 생성 모듈(206)이 타겟팅 모듈(204)로부터 타겟 컨텐츠 파일에 대한 링크가 가능하다고 가리키는 결정을 수신하면, 링크 생성 모듈(206)은 그 다음 타겟 컨텐츠 파일에 대한 링크를 생성한다. 만일, 링크 생성 모듈(206)이 타겟 컨텐츠 파일에 대한 링크가 불가능하다고 가리키는 결정을 수신하면, 링크 생성 모듈(206)은 그에 따라 링크를 생성하지 않는다.
일 실시 예에서, 만일 링크 생성 모듈(206)이 타겟 컨텐츠 파일에 대한 링크를 생성하면, 링크 생성 모듈(206)은 통신 인터페이스(202)를 통해 GUI 모듈(126)에 대한 링크를 전송한다. GUI 모듈(126)은 업로드된 컨텐츠 파일을 재생하는 하나 이상의 웹 페이지들에 링크를 부가한다. 어떤 링크도 생성되지 않으면, 링크 생성 모듈(206)은 통신 인터페이스(202)를 통해 GUI 모듈(126)에 링크가 타겟 컨텐츠 파일의 소유자 또는 공급자에 의해 가능하지 않다는 것을 가리키는 통지를 전송한다. 링크 생성 모듈(206)은 단일 선(226)을 통해 버스(220)와 통신적으로 결합한다.
비디오 대여 모듈(208)은 사용자(125)에게 비디오를 대여하는 코드 및 루틴들을 포함한다. 일 실시 예에서, 비디오 대여 모듈(208)은 사용자(125)에 대한 비디오를 대여하기 위해 아래에서 상세히 설명되는 기능을 제공하는 프로세서(235)에 의해 실행가능한 명령들의 집합이다. 또 다른 실시 예에서, 비디오 대여 모듈(208)은 메모리(237)에 저장되고 프로세서(235)에 의해 접근가능 및 실행가능하다. 다른 실시 예에서, 비디오 대여 모듈(208)은 단일 선(228)을 통해 사용자(125)에게 비디오를 대여하도록 적용된다. 비디오 대여 모듈(208)은 링크 모듈(178)이 선택적 특징임을 가리키는 파선을 이용하여 도 2에 도시된다.
일 실시 예에서, 비디오 대여 모듈(208)은 사용자(125)에게 비디오를 대여하고 사용자(125)에 의해 지불된 대여 요금을 수신한다. 비디오 대여 모듈(208)은 상이한 비디오들로부터 벌어들인 요금들을 모니터하고 이러한 정보를 메모리(237)에 저장한다.
GUI 모듈(126), 지문 저장장치(128) 및 사용자 활동 저장장치(192)는 도 1을 참조하여 위에서 설명되었으므로, 여기서 반복적으로 설명되지 않는다. GUI 모듈(126)은 단일 선(240)을 통해 버스(220)에 통신적으로 결합한다. 지문 저장장치(128)는 단일 선(242)을 통해 버스(220)에 통신적으로 결합한다. 사용자 활동 저장장치(192)는 단일 선(246)을 통해 버스(220)에 통신적으로 결합한다.
타겟팅 모듈(204)
이제 도 3을 참조하면, 타겟팅 모듈(204)의 일 실시 예가 더욱 상세시 도시된다. 도 3은 지문 모듈(302), 사용자 활동 모듈(304), 일치 모듈(matching module, 306), 승인 모듈(308) 및 링크 가능 모듈(310)을 포함하는 타겟팅 모듈(204)의 일 실시 예에 대한 블록도(300)이다. 타겟팅 모듈(204)의 이 실시 예는 도 2와 함께 논의된다. 예를 들어, 도 3은 도 2를 참조하여 앞서 언급되었던 버스(220), 프로세서(235) 및 단일 선(236)을 도시하고, 이러한 요소들에 대한 설명이 여기서 반복되지 않을 거이다. 지문 모듈(302)은 단일 선(332)을 통해 버스(220)와 통신적으로 결합한다. 사용자 활동 모듈(304)은 단일 선(334)을 통해 버스(220)와 통신적으로 결합한다. 일치 모듈(306)은 단일 선(336)을 통해 버스(220)와 통신적으로 결합한다. 승인 모듈(308)은 단일 선(338)을 통해 버스(220)와 통신적으로 결합한다. 링크 가능 모듈(310)은 단일 선(340)을 통해 버스(220)와 통신적으로 결합한다. 지문 모듈(302), 사용자 활동 모듈(304), 일치 모듈(306), 승인 모듈(308) 및 링크 가능 모듈(310)은 자산 호스팅 사이트(100)의 다른 요소들과 버스(220)를 통해 통신한다.
지문 모듈(302)은 프로세서(235)에 의해 실행될 때 업로드된 컨텐츠 파일(예를 들어, 비디오 파일)에 대한 하나 이상의 지문을 생성하고 생성된 지문들을 지문 저장장치(128)에 저장하는 코드 및 루틴들을 포함한다. 지문은 업로드된 컨텐츠 파일의 식별자인 데이터이다. 예를 들어, 지문은 오디오 서명 또는 오디오 서명과 비디오 파일에 대한 비디오 서명의 조합과 같은 데이터이다. 다른 지문은 당해 기술 분야에 알려져 있는 것이다.
업로드된 컨텐츠 파일은 컨텐츠 파일의 어떤 유형일 수 있다. 예를 들어, 업로드된 컨텐츠 파일은 클립들, 하미지 비디오들, 패러디들 및 사용자(125)에 의해 업로드되는 어떤 다른 짧은 형태 비디오들과 같은 하나 이상의 UGVC들을 포함한다. 지문은 업로드된 컨텐츠 파일을 식별한다. 일 실시 예에서, 업로드된 컨텐츠 파일은 또한 고전 음악 비디오들, 인터뷰들 및 컨텐츠 제공자(118)에 의해 업로드된 트레일러(trailer)들 중 하나 이상을 포함한다. 일 실시 예에서, 고전 음악 비디오들, 인터뷰들 및 트레일러들 중 하나 이상은 타겟 컨텐츠 파일(예를 들어 전체 버전 영화와 같은 긴 형태 비디오)과 관련된다.
일 실시 예에서, 지문 모듈(302)은 또한 전체 버전 영화들, 쇼들, 텔레비전 프로그래들 등과 같은 긴 형태 컨텐츠 파일들에 대한 지문들을 생성한다. 지문 모듈(302)은 생성된 지문들을 지문 저장장치(128)에 전송하고 미래의 사용을 위해 지문들을 거기에 저장한다.
일 실시 예에서, 지문 모듈(302)은 미리-결정된 시간 간격에(한 시간, 하루, 한 주 등과 같은) 주기적으로 업로드된 컨텐츠 파일들에 대한 지문들을 생성한다. 예를 들어, 지문 모듈(302)은 업로드된 비디오 파일들을 분석하고 비디오 파일등레 대한 지문들을 묶음으로 생성한다. 또 다른 실시 예에서, 지문 모듈(302)은 사용자(125) 또는 컨텐츠 제공자(118)에 의한 컨텐츠 파일의 업로드와 동시에 업로드된 컨텐츠 파일에 대한 지문을 생성한다.
사용자 활동 모듈(304)은 프로세서(235)에 의해 실행될 때, 사용자 활동 저장장치(192)로부터 업로드된 컨텐츠 파일(예를 들어, 소셜 데이터)과 관련하여 사용자 활동을 설명하는 데이터를 검색하고, 타겟 컨텐츠 파일을 설명하는 데이터(예를 들어, 타겟 컨텐츠 파일의 제목과 같은 메타데이터)를 결정하기 위해 데이터를 분석한다. 예를 들어, 사용자 활동 모듈(304)은 하나 이상의 제 3 자 사이트들(186, 소셜 네트워크 사이트들, 블로그 웹사이트들, 마이크로블로그 웹사이트들, 메시지 게시판들, 이-메일 서비스들, 비디오 호스팅 사이트들 등) 및 자산 호스팅 사이트(100, 사용자 활동 저장장치(192)를 참조하여 위해서 설명된)와 같은 다른 비디오 호스팅 사이트들에 포함된 비디오 파일에 관한 사용자 활동을 설명하는 데이터를 검색한다. 데이터는 예를 들어, 비디오 파일을 참조하여 하나 이상의 사용자들(125)에 의해 만들어진 코멘트들, 블로그 및 마이크로 블로그 포스트(post)들, 및 비디오 반응들을 설명할 수 있다. 데이터는 또한 비디오 파일을 업로드한 사용자(125)의 프로파일 정보 및 등록 정보를 포함할 수 있다.
일 실시 예에서, 사용자 활동 모듈(304)은 비디오 파일을 시청하는 동안 및 그 전후에 사용자(125)에 의해 방문되는 웹사이트들, 시청자들(125)에 의해 방문되는 웹사이트들의 히스토리, 비디오 파일을 시청하는 동안 및 그 전후에 사용자(125)에 의해 행해지는 검색들, 시청자들(125)의 검색 히스토리 등을 설명하는 데이터를 검색한다. 일 실시 예에서, 사용자 활동 모듈(304)에 의해 검색된 데이터는 타이틀, 예술가, 남배우/여배우, 감독, 밴드, 컨텐츠 파일을 업로드한 업로드 주체, 태그 등을 설명하는 메타데이터와 같은 업로드된 파일과 연관된 메타데이터를 포함한다.
사용자 활동 모듈(304)은 업로드된 컨텐츠 파이로가 연관된 검색된 데이터를 분석한다. 일 실시 예에서, 사용자 활동 모듈(304)은 업로드된 컨텐츠 파일과 연관된 데이터로부터 하나 이상의 주제들 및/또는 하나 이상의 키워드들을 결정한다. 사용자 활동 모듈(304)은 비디오들을 주제들 및/또는 키워드들과 사상한다. 만일 비디오와 주제들 및/또는 키워드들 중 적어도 하나 사이를 사상한다면, 사용자 활동 모듈(304)은 비디오를 하나의 타겟 컨텐츠 파일로서 결정한다. 이러한 방법으로, 사용자 활동 모듈(304)은 하나 이상의 타겟 컨텐츠 파일들을 결정한다.
예를 들어, 긴 형태 영화가 존재하고“우주 에일리언들이 마운틴 뷰를 공격하다”라고 명명되며, 이 영화에 대한 비디오 데이터가 비디오 데이터베이스(116)에 저장된다고 가정한다. 이 영화와 관련된 클립들 및 다른 짧은 형태 컨텐츠 파일들이 또한 비디오 데이터베이스에 저장된다. 사용자(125)는 자산 호스팅 사이트(100) 상에 있고“이것은 영화‘우주 에일리언들이 마운틴 뷰를 공격하다’ 중에서 내가 가장 좋아하는 장면이다”라고 언급하는 짧은 형태 비디오에 대한 코멘트를 포스트(post)한다. 코멘트 내의 키워드/주제로부터, 사용자 활동 모듈(304)은 영화“우주 에일리언들이 마운틴 뷰를 공격하다”에 대한 사상이 있음을 결정한다. 그러므로, 사용자 활동 모듈(304)은 영화의 긴 형태 버전을 타겟 컨텐츠 파일로서 결정한다. 사용자 활동 모듈(304)은 영화의 제목과 같은 타겟 컨텐츠 파일을 설명하는 메타데이터를 일치 모듈(306)에 전송한다.
일 실시 예에서, 타겟 컨텐츠 파일은 다른 관련된 컨텐츠 파일들 뿐 아니라 긴 형태 컨텐츠 파일도 포함한다. 예를 들어, 긴 형태 또는 전체 버전 영화가 타겟 컨텐츠 파일로서 결정된다. 전체 버전 영화의 트레일러, 영화의 배우의 인터뷰 및 전체 버전 영화와 관련된 다른 비디오들이 또한 타겟 컨텐츠 파일들로서 결정된다. 나아가, 업로드된 컨텐츠 파일과 관련된 다른 짧은 형태 비디오들 및 클립들이 타겟 컨텐츠 파일들로서 결정된다.
일 실시 예에서, 사용자 활동 모듈(304)은 사용자 활동 저장장치(192)로부터 하나 이상의 업로드된 컨텐츠 파일들과 관련한 사용자 활동들을 설명하는 데이터를 검색하고 검색된 데이터를 자산 호스팅 사이트(100)의 관리자에 의해 정의된 간격에(한 시간, 하루, 한 주 등) 주기적으로 검색된 데이터를 분석한다. 또 다른 실시 예에서, 사용자 활동 모듈(304)은 사용자 활동 저장장치(192)로부터 업로드된 컨텐츠 파일과 관련한 사용자 활동들을 설명하는 데이터를 검색하고, 사용자(125) 또는 컨텐츠 제공자(118)에 의한 컨텐츠 파일의 업로드와 동시에 검색된 데이터를 분석한다. 사용자 활동 모듈(304)은 도 7을 참조하여 아래에서 더욱 상세히 설명된다.
일치 모듈(306)은 프로세서(235)에 의해 실행될 때, 업로드된 컨텐츠 파일과 일치하는 하나 이상의 컨텐츠 파일들을 결정하는 코드 및 루틴들을 포함한다. 다시 말해서, 주어진 업로드된 컨텐츠 파일에 대해서(예를 들어, 짧은 형태 비디오 파일), 일치 모듈(306)은 업로드된 컨텐츠 파일과 관련된 하나 이상의 타겟 컨텐츠 파일들(예를 들어, 하나 이상의 긴 형태 비디오 파일들)을 결정한다. 예를 들어, 업로드된 컨텐츠 파일은 예를 들어, 사용자(125)가 좋아하는 세 개의 상이한 영화들로부터 나온 세 개의 클립들을 포함하는“좋아하는 액션 영화들”이라는 제목을 가진 UGVC이다. 그에 따라, 일치 모듈(306)은 세 개의 전체 버전 액션 영화들을 타겟 컨텐츠 파일들로서 결정한다.
일 실시 예에서, 일치 모듈(306)은 일치 지문을 검색 및 확인함으로써 하나 이상의 일치하는 타겟 컨텐츠 파일들을 결정한다. 예를 들어, 사용자(125)는 짧은 형태 비디오 파일(예를 들어, 어떤 형태의 UGVC)을 자산 호스팅 사이트(100)에 업로드한다. 지문 모듈(302)은 업로드된 짧은 형태 비디오 파일에 대한 제 1 지문을 생성하고 일치 모듈(306)과 통신하여 생성된 지문을 일치 모듈(306)에 전송한다. 일치 모듈(306)은 업로드된 컨텐츠 파일에 대한 제 1 지문을 수신하고 지문 저장장치(128)에 제 1 지문과 일치하는 기존의 지문들을 문의한다. 제 1 지문과 일치하는 기존의 지문들 중 하나 이상에 적어도 일부 기초하여, 일치 모듈(306)은 업로드된 컨텐츠 파일에 대한 하나 이상의 일치하는 타겟 컨텐츠 파일들(클립이 얻어진 전체 버전 영화와 같은)을 결정한다.
또 다른 실시 예에서, 일치 모듈(306)은 사용자 활동 모듈(304)의 하나 이상의 결정에 적어도 부분적으로 기초하여 하나 이상의 일치하는 타겟 컨텐츠 파일들을 결정한다. 예를 들어, 일치 모듈(306)은 사용자 활동 모듈(304)로부터 전체 버전 영화의 제목을 수신하고 그것을 타겟 컨텐츠 파일로서 결정한다. 계속하여 또 다른 실시 예에서, 일치 모듈(306)은 일치하는 지문들 양쪽에 기초하여 일치하는 타겟 컨텐츠 파일을 결정하고 사용자 활동 모듈(304)의 하나 이상의 결정들을 결정한다.
일 실시 예에서, 일치 모듈(306)은 일치하는 타겟 컨텐츠 파일이 결정된 후에 비디오 데이터베이스(116)에 일치하는 타겟 컨텐츠 파일(전체 버전 영화 및 전체 버전 영화와 관련된 다양한 비디오들과 같은)을 문의한다. 일 실시 예에서, 일치 모듈(306)은 사용자들(125)에 의해 업로드된 모든 일치하는 비디오 파일들(즉, 일치하는 타겟 컨텐츠 파일들과 동일한 컨테츠를 갖는 비디오들)을 확인하기 위해 비디오 데이터베이스(116)에 문의한다.
만일 일치 모듈(306)이 비디오 데이터베이스(116)로부터 일치하는 타겟 컨텐츠 파이를 찾는 데 실패하거나 비디오 데이터베이스(116) 내에 일치하는 타겟 컨텐츠 파일이 없으면, 그 다음 일치 모듈(306)은 다른 관련된 비디오들에 대해서 비디오 데이터베이스(116)를 검색한다. 예를 들어, 짧은 형태 비디오는 텔리비젼 쇼의 에피소드의 긴 형태 비디오와 관련되고, 에피소드는 비디오 데이터베이스(116) 내에 저장되지 않는다. 이러한 경우에, 일치 모듈(306)은 동일한 쇼의 다른 에피소드와 같은, 다른 관련된 비디오에 대해서 비디오 데이터베이스(116)를 검색한다.
일 실시 예에서, 일치 모듈(306)은 타겟 컨텐츠 파일에 대한 요청 및/또는 타겟 컨텐츠 파일을 설명하는 타겟 데이터에 대한 요청을 통신 인터페이스(202)를 통해서 문의 모듈(155)로 전송한다. 또 다른 실시 예에서, 일치 모듈(306)은 자산 호스팅 사이트(100)에 포함된 유니버설 데이터베이스(161)에 타겟 컨텐츠 파일 및/또는 타겟 컨텐츠 파일을 설명하는 타겟 데이터를 문의한다. 예를 들어, 일치 모듈(306)은 타겟 컨텐츠 파일의 제목 및/또는 컨텐츠 식별자(“컨텐츠 ID”)를 포함하는 검색 문의를 사용하여 유니버설 데이터베이스(161)에 타겟 데이터 및 타겟 컨텐츠 파일을 문의한다. 일치 모듈(306)은 유니버설 데이터베이스(161)로부터 타겟 컨텐츠 파일 및/또는 타겟 데이터를 검색한다. 타겟 데이터는 문의 모듈(155)을 참조하여 위에서 설명되었다.
일치 모듈(306)은 일치 결과들을 GUI 모듈(126)에 전송한다. 예를 들어, 일치 결과들은 짧은 형태 업로드된 비디오와 관련된 긴 형태 비디오의 어떤 조합(예를 들어, 전체 버전 영화, 텔레비전 쇼의 에피소드 등) 및 긴 형태 비디오와 관련된 다양한 다른 비디오들(예를 들어, 트레일러, 인터뷰 등)이다. 일 실시 예에서, 일치 결과들은 또한 타겟 컨텐츠 파일을 설명하는 타겟 데이터를 포함한다. 또 다른 실시 예에서, 일치 모듈(306)은 또한 결과들을 승인 모듈(308) 및 링크 가능 모듈(310)에 전송한다.
승인 모듈(308)은 프로세서(235)에 의해 실행될 때, 타겟 컨텐츠 파일에 대한 지역 제한을 결정하는 코드 및 루틴들을 포함한다. 예를 들어, 사용자(125a)는 제 1 비디오를 업로드하고 제 1 비디오가 오직 특정한 지리적 지역들에서 다른 사용자들에 의해 시청될 수 있음을 지정한다. 사용자(125)의 지리적 지역은 승인 모듈(308)에 의해, 예를 들어 사용자(125)의 인터넷 프로토콜(“IP”) 주소에 의해 확인가능하다. 업로드하는 사용자(125a)는 도한 제 1 비디오 파일의 다른 버전들(통합적으로 제 2 비디오로서 지칭되는 제 1 비디오 파일의 하나 이상의 다른 버전들)을 업로드하고 그것들이 제 1 비디오에 대해 식별된 것들과 상이한 지역들에서 다른 사용자들(125)에 의해 시청가능함을 지정한다. 예시적인 방법으로, 제 1 비디오는 미국 및 캐나다에서 사용자들에 의해 시청될 수 있도록 지정되고, 반면에, 제 2 비디오는 멕시코와 온두라스에서 사용자들(125)에 의해 시청될 수 있도록 지정된다.
승인 모듈(308)은 타겟 컨텐츠 파일들을 분석하고 타겟 컨텐츠 파일들에 대한 지역 제한을 결정한다. 일 실시 예에서, 승인 모듈(308)은 (1) 타겟 컨텐츠 파일과 동일한 컨텐츠를 갖고 (2) 타겟 컨텐츠 파일과 상이한 지역 제한을 갖는 하나 이상의 비디오 파일들을 비디오 데이터베이스(116)에 문의한다. 이러한 방법으로 승인 모듈(308)은 동일한 컨텐츠를 갖지만 상이한 지역 제한을 갖는 상이한 컨텐츠 파일들을 확인한다.
예를 들어, 사용자(125n)가 영국과 같은 특정 지리적 영역에 위치한다고 가정한다. 나아가 타겟 컨텐츠 파일이 단지 미국과 캐나다에서만 시청가능한 지역 제한을 갖는 것으로 결정되었다고 가정한다. 사용자(125n)는 영국에 있기 때문에, 승인 모듈(308)은 타겟 컨텐츠 파일과 동일한 컨텐츠를 갖지만 영국에서 시청될 수 있는 상이한 지역 제한을 갖는 대체 타겟 컨텐츠 파일을 확인한다.
일 실시 예에서, 승인 모듈(308)은 최대 수의 지역들을 위한 링크들이 링크 생성 모듈(206)에 의해 후에 생성될 수 있도록, 타겟 컨텐츠 파일과 동일한 컨텐츠를 갖는 하나 이상의 컨텐츠 파일들을 비디오 데이터베이스(116) 내에서 확인한다. 예를 들어, 승인 모듈(308)은 타겟 컨텐츠 파일과 동일한 컨텐츠를 갖는 모든 컨텐츠 파일들을 확인하고, 이러한 파일들이 재생될 수 있는 지역들을 확인하고, 확인된 지역마다 적어도 하나의 링크를 생성한다. 이러한 링크들은 그 다음 업로드된 컨텐츠 파일의 재생가능한 버전을 포함하는 하나 이상의 웹 페이지들에 내장된다.
일 실시 예에서, 승인 모듈(308)은 또한 타겟 컨텐츠 파일이 개인용 파일인지 또는 공용 파일인지 결정한다. 개인용 파일은 컨텐츠 제공자(118) 또는 사용자(125)와 같은 업로딩 주체들에 의해 업로드되고, 업로딩 주체에 의해 개인용으로 확인되고, 다른 사람들에게는 시청이 승인되지 않는 파일(예를 들어, 비디오 파일)이다. 일 실시 예에서, 승인 모듈(308)은 비디오 데이터베이스(116) 내의 타겟 컨텐츠 파일에 대한 비디오 ID와 같은 컨텐츠 ID를 확인한다. 승인 모듈(308)은 컨텐츠 ID를 인덱스(index)로서 사용하여, 컨텐츠 파일이 업로딩 주체에 의해 개인용으로 특정되었는지 확인한다.
만일 승인 모듈(308)이 타겟 컨텐츠 파일이 개인용 파일인 것으로 결정하면, 승인 모듈(308)은 개인용 파일과 동일한 컨텐츠를 갖는 대체 공용 타겟 컨텐츠 파일을 확인한다. 예를 들어, 승인 모듈(308)은 타겟 비디오 파일이 개인용이라고 특정하는 사용자(125, 또는 컨텐츠 제공자(118))에 의한 입력을 확인한다. 승인 모듈(308)은 개인용 타겟 비디오 파일과 동일한 컨텐츠를 갖는 공융 비디오 파일을 확인하기 위해 비디오 데이터베이스(116)에 문의한다.
일 실시 예에서, 승인 모듈(308)은 클라이언트 장치(115) 상에 업로드된 컨텐츠 파일을 보여주는 GUI를 요청하는 사용자(125)에게 적용가능한 지역 제한을 갖는 하나 이상의 타겟 컨텐츠 파일들을 링크 가능 모듈(310)에 전송한다.
링크 가능 모듈(310)은 프로세서(235)에 의해 실행될 때, 사용자 가능 입력들 저장장치(196)로부터 링크 입력들을 검색하고 링크가 가능한지 결정하는 코드 및 루틴들을 포함한다. 예를 들어, 승인 모듈(308)은 적용가능한 지역 제한을 갖는 공용 타겟 컨텐츠 파일을 결정하고, 링크 가능 모듈(310)은 사용자 가능 입력들(196)을 문의하고 공용 타겟 컨텐츠 파일에 대한 링크가 그것의 소유자에 의해 가능한 지 결정한다. 또 다른 실시 예에서, 링크 가능 모듈(310)은 일치 모듈(306)이 타겟 컨텐츠 파일과 일치하는 것을 결정한 후에 위의 단계들을 구현한다.
그래픽 사용자 인터페이스 엔진(126)
도 4a는 일 실시 예에 따른, 업로드된 컨텐츠 파일을 재생하는 GUI 모듈(126)에 의해 생성되는 사용자 인터페이스의 그래픽 표시(400)이다.
원소(402)는 업로드된 컨텐츠 파일과 같은 컨텐츠 파일의 플레이백(playback)을 표시하는 윈도우(window)이다.
원소(404)는 하나 이상의 제안들을 표시하는 그래픽 윈도우이다. 제안들은 원소(402) 내에서 플레이백되는 업로드된 컨텐츠 파일과 관련된 컨텐츠를 포함한다. 예를 들어, 제안들은 전체 버전 영화(즉, 원소(402)의 업로드된 컨텐츠 파일에 대한 타겟 컨텐츠 파일) 및 다양한 다른 관련된 컨텐츠 파일들(예를 들어, UGVC들, 트레일러들, 인터뷰들 등) 중 하나 이상을 포함한다. 원소(406)는 타겟 컨텐츠 파일에 대한 영화 포스터 그래픽(406)이다. 원소(408)는 타겟 컨텐츠 파일 내에 포함된 전체 버전 영화의 이름을 그래픽 표시한다. 원소(410)는 타겟 컨텐츠 파일이 플레이백 되도록 하는 사용자에 의해 클릭가능한 전체 버전 영화 버튼(410)이다. 일 실시 예에서, 영화 포스터 그래픽(406), 영화 이름(408) 및 전체 버전 버튼(410)은 전체 버전 영화에 대한 리치 웹 페이지와 같은, 전체 버전 영화를 시청하기 위한 웹 페이지에 링크된다. 예를 들어, 만일 사용자(125)가 영화 포스터 그래픽(406), 영화 이름(408) 및 전체 버전 버튼(410) 중 어떤 것을 클릭하면, 자산 호스팅 사이트(100)는 사용자(125)를 그들이 전체 버전 영화를 설명하는 정보를 볼 수 있는 요약 페이지로 보낸다. 일 실시 예에서, 리치 웹 페이지가 제공하는 접근을 통해, 사용자(125)는 전체 버전 영화를 대여 및 구매할 수 있다.
원소들(412, 414)은 그래픽 버튼들이다. 만일 사용자(125)가 전체 영화 보기 버튼(412)을 클릭하면, 사용자(125)는 원소들(406, 408, 410)과 유사한 전체 버전 영화를 설명하는 정보를 보여주는 리치 웹 페이지로 가게 된다. 만일 구매 버튼(414)이 사용자(125)에 의해 클릭되면, 사용자(125)는 타겟 컨텐츠 파일의 사본을 구매(예를 들어, 전체 버전 영화를 구매) 또는 타겟 컨텐츠 파일을 대여하는 허가권을 구매(예를 들어, 일정 기간 동안 전체 버전 영화를 대여하기 위한 허가권을 구매)하기 위해 사용자(125)가 정보를 제공할 수 있는 제 3 웹사이트로 가게 된다. 일 실시 예에서, 제 3 웹사이트는 제 3 자 서버(182)에 의해 호스팅된다.
도 4b는 일 실시 예에 따른, 또 다른 사용자 인터페이스를 그래픽 표시(450)한다. 도 4b에 도시된 사용자 인터페이스는 긴 형태 또는 전체 버전 영화를 설명하는 정보를 표시하고 있다. 원소(452)는 영화 이름의 그래픽 표시이다. 원소(454)는 영화 포스터의 그래픽 표시이다. 원소(456)는 영화를 대여하기 위한 시간권을 구매하기 위해 사용자(125)가 클릭할 수 있는 그래픽 버튼이다.
원소(458)는 영화를 설명하는 출시 정보를 도시하는 그래픽 윈도우이다. 예를 들어, 원소(458)는 영화의 장르(genre), 영화의 런닝 타임(running time), 영화의 평점, 영화가 출시된 연도 및 영화의 영상 품질을 도시한다. 예를 들어, 원소(460)는 영화에 대한 하나 이상의 배역들, 영화에 대한 하나 이상의 연출자들, 영화에 대한 하나 이상의 제작자들 및 영화에 대한 하나 이상의 작가들을 도시한다.
원소(462)는 영화에 대한 트레일러의 플레이백을 위한 윈도우이다. 원소(464)는 영화에 대한 하나 이상의 리뷰(review)들을 도시하는 그래픽 윈도우이다. 원소(466)는 영화와 관련된 하나 이상의 컨텐츠 파일들을 도시하는 그래픽 윈도우이다. 예를 들어, 컨텐츠 파일들은 동일한 제작자, 동일한 연출자, 동일한 배우/여배우, 동일한 작가, 동일한 장르, 동일한 출시 연도 및 동일한 카테고리(예를 들어, 드라마, 액션, 코메디 등) 중 하나 이상과 같은, 영화와 어떤 공통 특징들을 공유하는 다른 전체 버전 영화들이다. 원소(468)는 자산 호스팅 사이트(100)의 관리자에 의해 선택되는 하나 이상의 영화들을 설명하는 그래픽 윈도우이다. 예를 들어, 원소(468)는 하나 이상의 올해의 최고 수익 영화들을 도시한다. 원소(470)는 영화를 시청하기 위한 하나 이상의 시스템들을 설명하는 그래픽 윈도우이다.
도 4c는 또 다른 실시 예에 따른, 긴 형태 또는 전체 버전 영화를 설명하는 정보를 표시하기 위한 또 다른 사용자 인터페이스를 도시(471)한다.
원소들(452-466, 470)은 도 4b에 도시된 사용자 인터페이스의 원소들(452-466, 470)과 동일하다. 원소(473)는 자산 호스팅 사이트(100)에 의해 선택된 하나 이상의 짧은 형태 비디오들을 도시하는 그래픽 윈도우이다. 예를 들어, 원소(473)는 긴 형태 또는 전체 버전 영화와 관련된 하나 이상의 트레일러들, 하나 이상의 인터뷰들 및/또는 하나 이상의 UGVC들을 도시한다.
도 4d는 일 실시 예에 따른, 사용자 인터페이스를 도시(485)한다. 도 4d에 도시된 사용자 인터페이스는 긴 형태 또는 전체 버전 영화를 재생하고 있다. 원소(487)는 전체 버전 영화와 같은 타겟 컨텐츠 파일의 플레이백을 표시하는 윈도우이다.
원소(489)는 영화에 대한 시놉시스 정보를 도시하는 그래픽 윈도우이다. 원소(491)는 영화의 포스터를 도시한다. 원소(493)는 하나 이상의 제안들을 표시하는 그래픽 윈도우이다. 제안들은 원소(487)에서 플레이백되는 영화와 관련된 하나 이상의 컨텐츠 파일들을 포함한다. 예를 들어, 제안들은 원소(487)에서 플레이백되는 영화와 하나 이상의 공통 특징들(동일한 배우/여배우, 동일한 연출자, 동일한 작가와 같은)을 공유하는 자산 호스팅 사이트(100)에 의해 결정된 다른 전체 버전 영화들을 포함한다.
방법들
도 5-9는 도 1-3을 참조하여 위에서 설명된 시스템에 의해 수행되는 다양한 방법들(500, 600, 700, 800, 900)을 도시한다.
도 5는 컨텐츠 파일들을 링크하는 방법(500)의 일 실시 예를 도시하는 순서도이다. 업로드 서버(108)는 업로드된 컨텐츠 파일을 수신 및 저장한다(502). 예를 들어, 업로드된 서버(108)는 클라이언트 장치(115)의 사용자(125) 또는 컨텐츠 제공자(118)로부터 짧은 형태 비디오를 수신한다. 업로드된 서버(108)는 비디오 데이터베이스(116) 내에 짧은 형태 비디오를 저장한다. 일 실시 예에서, 업로드된 컨텐츠 파일은 클립, 하미지 비디오, 패러디 등과 같은 UGVC이다.
504 단계에서, 타겟팅 모듈(204)은 하나 이상의 타겟 컨텐츠 파일들을 결정한다. 일 실시 예에서, 타겟팅 모듈(204)은 미리-결정된 간격으로 주기적으로 업로드된 컨텐츠 파일들의 그룹에 대해 타겟 컨텐츠 파일들의 그룹을 결정한다. 또 다른 실시 예에서, 타겟팅 모듈(204)은 업로드된 컨텐츠 파일의 수신과 동시에 업로드된 컨텐츠 파일에 대한 타겟 컨텐츠 파일을 결정한다.
506 단계에서, 링크 생성 모듈(206)은 타겟 컨텐츠 파일에 대한 하나 이상의 링크들을 생성한다. 예를 들어, 링크 생성 모듈(206)은 타겟팅 모듈(204)로부터 결정을 수신한다. 만일 결정이 타겟 컨텐츠 파일에 대한 링크가 가능함을 가리키면, 링크 생성 모듈(206)은 그 다음 타겟 컨텐츠 파일에 대한 링크를 생성한다. 만일 결정이 타겟 컨텐츠 파일에 대한 링크가 불가능함을 가리키면, 링크 생성 모듈(206)은 그에 따라 링크를 생성하지 않는다.
508 단계에서, GUI 모듈(126)은 하나 이상의 웹 페이지들에 대한 링크를 추가한다. 예를 들어, GUI 모듈(126)은 업로드된 컨텐츠 파일의 재생가능한 버전을 포함하는 웹 페이지를 생성한다. GUI 모듈(126)은 그 다음 웹 페이지 상에서 업로드된 컨텐츠 파일의 재생가능한 버전 중 어느 한쪽에 대한 링크를 포함한다. 일 실시 예에서, 웹 페이지 상의 링크는 타겟 컨텐츠 파일에 대한 시청, 대여 또는 구매를 위해 사용자들(125)에 의해 클릭될 수 있다.
도 6은 컨텐츠 파일들을 링크하는 방법(600)의 또 다른 실시 예를 도시하는 순서도이다. 업로드 서버(108)는 업로드된 컨텐츠 파일을 수신 및 저장한다(602). 예를 들어, 업로드된 컨텐츠 파일은 클립, 하미지 비디오, 패러디, 트레일러, 남배우/여배우의 인터뷰 등과 같은 짧은 형태 비디오이다. 일 실시 예에서, 업로드 서버(108)는 비디오 데이터베이스(116) 내에 업로드된 컨텐츠 파일을 저장한다.
604 단계에서, 지문 모듈(302)은 업로드된 컨텐츠 파일에 대한 제 1 지문을 생성한다. 예를 들어, 업로드된 컨텐츠 파일은 비디오 클립이다. 지문 모듈(302)은 업로드된 비디오 클릭을 분석하고, 비디오 클립에 대한 제 1 지문을 생성한다. 일 실시 예에서, 지문 모듈(302)은 또한 비디오 데이터베이스(116) 내에 저장된 비디오 파일들과 같은 하나 이상의 컨텐츠 파일들에 대한 하나 이상의 지문들을 생성한다. 606 단계에서, 지문 모듈(302)은 지문 저장장치(128) 내에 제 1 지문을 저장한다.
608 단계에서, 일치 모듈(306)은 제 1 지문과 일치시키기 위해 기존의 지문들을 검색한다. 일 실시 예에서, 일치 모듈(306)은 제 1 지문과 일치하는 하나 이상의 지문들을 위해 지문 저장장치(128)에 저장된 기존의 지문들을 검색한다. 610 단계에서, 일치 모듈(306)은 제 1 지문과 일치하는 하나의 기존 지문들에 적어도 일부 기초하여 일치하는 타겟 컨텐츠 파일을 결정한다. 일 실시 예에서, 일치하는 타겟 컨텐츠 파일은 제 1 지문과 일치하는 지문을 갖는다. 또 다른 실시 예에서, 일치 모듈(306)은 제 1 지문과 일치하는 지문을 갖는 둘 이상의 일치하는 타겟 컨텐츠 파일들을 결정한다.
612 단계에서, 링크 가능 모듈(310)은 사용자 가능 입력들(196)로부터 일치하는 타겟 컨텐츠 파일을 위한 하나 이상의 링크 입력들을 수신한다. 링크 입력은 타겟 컨텐츠 파일의 공급자 또는 소유자가 일치하는 타겟 컨텐츠 파일에 대한 승인된 링크를 갖는지를 가리킨다. 만일 601 단계에서 일치 모듈(306)에 의해 둘 이상의 일치하는 타겟 컨텐츠 파일들이 결정되었으면, 링크 가능 모듈(310)은 둘 이상의 일치하는 타겟 컨텐츠 파일에 대한 링크 입력들을 수신한다.
614 단계에서, 링크 가능 모듈(310)은 적어도 하나 이상의 링크 입력들에 기초하여 링크가 가능한지 결정한다 만일 링크가 불가능하면(즉, 소유자 또는 공급자가 일치하는 타겟 컨텐츠 파일에 대한 승인된 링크를 갖지 않으면), 그 다음 방법(600)은 616 단계로 진행한다. 616 단계에서, 링크 생성 모듈(206)은 일치하는 타겟 컨텐츠 파일에 대한 링크를 생성하지 않는다.
만일 링크가 가능하면(즉, 소유자 또는 공급자가 일치하는 타겟 컨텐츠 파일에 대해 적어도 하나의 승인된 링크를 가지면), 그 다음 방법은 618 단계로 진행한다. 618 단계에서, 링크 생성 모듈(206)은 일치하는 타겟 컨텐츠 파일에 대한 링크를 생성한다. 620 단계에서, GUI 모듈(126)은 웹 페이지에 대한 링크를 추가한다. 예를 들어, GUI 모듈(126)은 업로드된 컨텐츠 파이를 재생하는 웹 페이지를 생성한다. GUI 모듈(126)은 업로드된 컨텐츠 파일을 재생하는 웹 페이지에 대한 링크를 포함한다.
도 7은 사용자 활동을 설명하는 데이터에 기초하여 컨텐츠 파일을 링크하는 방법(700)의 일 실시 예를 도시하는 순서도이다. 업로드 서버(108)는 업로드된 컨텐츠 파일을 수신 및 저장한다(702). 704 단계에서, 모니터 모듈(191)은 업로드된 컨텐츠 파일에 대한 사용자 활동을 모니터한다. 일 실시 예에서, 모니터 모듈(191)은 사용자 활동 저장장치(192)에서 사용자 활동을 설명하는 데이터를 저장한다. 일 실시 예에서, 데이터는 소셜 네트워크 사이트들, 블로그 사이트들, 마이크로블로그 사이트들 및 비디오 호스팅 사이트들 상에서의 사용자 활동들을 설명한다. 또 다른 예에서, 데이터는 또한 업로드된 파일을 시청하는 동안 및 그 전후에 사용자(125)에 의해 방문되는 웹사이트들, 업로드된 컨텐츠 파일을 시정하는 동안 및 그 전후에 사용자(125)에 의해 방문되는 웹사이트들의 히스토리 및 사용자(125)에 의해 수행되는 검색들을 포함한다.
706 단계에서, 사용자 활동 모듈(304)은 사용자 활동 저장장치(192)로부터 업로드된 컨텐츠 파일에 대하여 사용자 활동들을 설명하는 데이터를 검색한다.
708 단계에서, 일치 모듈(306)은 지문 저장장치(128)를 검색하고 업로드된 컨텐츠 파일에 대한 지문과 일치하는 하나 이상의 기존 지문들을 확인한다. 708 단계는 그것이 방법(700)의 선택적 특징임을 가리키는 점선을 사용하여 도 7에 도시된다.
710 단계에서, 사용자 활동 모듈(304)은 하나 이상의 일치하는 타겟 컨텐츠 파일을들을 결정한다. 일 실시 예에서, 사용자 활동 모듈(304)은 업로드된 컨텐츠 파일에 대하여 사용자 활동들을 설명하는 데이터를 분석하고 일치하는 타겟 컨텐츠 파일을 결정한다. 예를 들어, 사용자 활동 모듈(304)은 업로드된 데이터 클립에 대한 코멘트들을 분석하고 업로드된 비디오 클립이 영화의 긴 형태 버전과 관계 있는지 결정한다. 예를 들어, 업로드된 컨텐츠 파일은 영화의 긴 형태 버전으로부터 만들어진 클립이고, 클립에 대한 코멘트는“와, 이 클립은‘에일리언들이 마운틴 뷰를 공격하다’로부터 만들어진 것이다”라고 얘기한다. 사용자 활동 모듈(304)은 그러므로이러한 코멘트의 키워드에 적어도 일부 기초하여 클립이 영화“에일리언들이 마운틴 뷰를 공격하다”와 관련되었다고 결정한다. 사용자 활동 모듈(304)은 그 다음 일치하는 타겟 컨텐츠 파일로서 영화“에일리언들이 마운틴 뷰를 공격하다”의 긴 형태 버전을 결정한다.
712 단계에서, 링크 가능 모듈(310)은 하나 이상의 타겟 컨텐츠 파일 링크 입력들을 수신한다. 714 단계에서, 링크 가능 모듈(310)은 하나 이상의 링크 입력들에 따라서, 링크가 일치하는 타겟 컨텐츠 파일의 공급자 또는 소유자에 의해 가능한지 결정한다. 만일 링크가 불가능하면, 그 다음 방법(700)은 716 단계로 진행한다.
716 단계에서, 링크 생성 모듈(206)은 일치하는 타겟 컨텐츠 파일에 대한 링크를 생성하지 않는다. 만일 링크가 가능하면, 방법은 718 단계로 진행한다.
718 단계에서, 링크 생성 모듈(206)은 일치하는 타겟 컨텐츠 파일에 대한 링크를 생성한다. 720 단계에서, GUI 모듈(126)은 링크를 웹 페이지에 추가한다. 일 실시 예에서, GUI 모듈(126)은 업로드된 컨텐츠 파일의 재생을 위해 링크를 웹 페이지에 추가한다. 또 다른 실시 예에서, GUI 모듈은 링크를 타겟 컨텐츠 파일 파이프라인(pipeline)을 포함하는 웹 페이지에 추가한다.
도 8a-8b는 상이한 지역들에 대해 컨텐츠 파일들의 링크들을 생성하는 방법(800)의 일 실시 예를 도시하는 순서도이다. 방법(800)은 또한 업로드 서버(180)가 업로드된 컨텐츠 파일을 수신 및 저장하는(802) 것으로 시작한다. 다음의 단계들(804-810)에서, 방법(800)은 단계들(704-710)을 참조하여 앞에서 설명된 방법(700)과 동일하다. 따라서, 이것에 대한 설명은 여기서 반복되지 않을 것이다.
812 단계에서, 승인 모듈(308)은 타겟 컨텐츠 파일에 대해 컨텐츠 식별자를 식별한다. 예를 들어, 승인 모듈(308)은 비디오 데이터베이스(116)를 문의함으로써 타겟 비디오 파일에 대한 비디오 ID를 식별한다. 815 단계에서, 승인 모듈(308)은 타겟 컨텐츠 파일이 개인용 파일인지 또는 공용 파일인지 결정한다. 예를 들어, 승인 모듈(308)은 검색 기준으로서 타겟 비디오 파일에 대한 비디오 ID를 사용하여 비디오 데이터베이스(116)를 문의하고 타겟 비디오 파일의 명세서를 검색한다. 명세서에 기초하여, 승인 모듈(308)은 타겟 비디오 파일이 그것의 소유자 또는 공급자에 의해 공용 파일로 특정되었는지 결정한다. 만일 타겟 컨텐츠 파일이 공용 파일이면, 방법(800)은 816 단계로 진행한다.
816 단계에서, 승인 모듈(308)은 타겟 컨텐츠 파일의 영역들을 결정한다. 예를 들어, 승인 모듈(308)은 업로드된 컨텐츠 파일을 시청하기를 요청한 사용자(125)의 IP 주소를 분석하고, 미국과 같은 사용자(125)의 지리적 영역을 결정한다. 일 실시 예에서, 승인 모듈(308)은 또한 타겟 컨텐츠를 영국에 있는 사용자(125)가 시청할 수 있게 하는 지역 제한과 같은, 타겟 컨텐츠 파일에 대한 지역 제한을 결정한다.
만일 타겟 컨텐츠 파일이 개인용 파일이면, 방법(800)은 818 단계로 진행한다. 818 단계에서, 승인 모듈(308)은 비디오 데이터베이스(116) 내의 대체 공용 파일을 식별하고, 그 다음 방법(800)은 816 단계로 진행한다. 대체 공용 파일은 개인용 파일과 동일한 컨텐츠를 갖는다.
820 단계에서, 승인 모듈(308)은 각 지역에 대해 하나 이상의 대체 공용 파이를 식별한다. 일 실시 예에서, 만일 타겟 컨텐츠 파일에 대한 지역적 제한(영국 내에서 시청가능한 것과 같은)이 사용자(125)의 지리적 영역(미국과 같은)에 적용가능하지 않으면, 승인 모듈(308)은 적용가능한 지역적 제한(미국 내에서 시청가능한 것과 같은)을 갖는 대체 공용 타겟 컨텐츠를 비디오 데이터베이스(116) 내에서 확인한다.
또 다른 실시 예에서, 승인 모듈(308)은 더 많은 사용자들(125)이 타겟 컨텐츠 파일과 동일한 컨텐츠를 시청하도록 타겟 컨텐츠 파일의 지역 제한 외의 지역 제한들을 갖는 하나 이상의 대체 공용 파일들을 확인한다. 예를 들어, 상이한 지역들에 대한 공용 컨텐츠 파일들은, 비록 그것들이 동일한 컨텐츠를 갖더라도, 상이할 수 있다. 공용 타겟 컨텐츠 파일이 영국 내에서 사용자들(125)에게 시청가능하다고 가정한다. 승인 모듈(308)은 미국 및 캐나다 내의 사용자들(125)을 위한 대체 공용 파일을 확인한다. 그러므로, 승인 모듈(308)은 시청자의 수들 증가시키기 위해 대체 공용 타겟 파일을 결정한다. 820 단계는 방법(800)의 선택적 단계임을 가리키는 점선을 사용하여 도 8b에서 도시된다.
822 단계에서, 링크 가능 모듈(310)은 각 영역에 대한 하나 이상의 타겟 컨텐츠 파일 링크 입력들을 수신한다. 824 단계에서, 링크 가능 모듈(310)은 각 영역에 대해 타겟 컨텐츠 파일에 대한 링크가 하나 이상의 링크 입력들에 따라서 공급자 또는 소유자에 의해 가능한지 결정한다. 만일, 영역에 대해 타겟 컨텐츠 ㅍ파일에 대한 링크가 불가능하면, 그 다음 방법(800)은 826 단계로 진행한다.
826 단계에서, 링크 생성 모듈(206)은 영역에 대해 타겟 컨텐츠 파일에 대한 링크를 생성하지 않는다. 만일 여역에 대해 타겟 컨텐츠 파일에 대한 링크가 가능하면, 그 다음 방법(800)은 828 단계로 진행한다.
828 단계에서, 링크 생성 모듈(206)은 영역에 대해 타겟 컨텐츠 파일에 대한 링크를 생성한다. 830 단계에서, GUI 모듈(126)은 링크를 웹 페이지에 추가한다. 일 실시 예에서, GUI 모듈(126)은 업로드된 컨텐츠 파일에 대한 재생을 위해 링크를 웹 페이지에 추가한다. 또 다른 실시 예에서, GUI 모듈(126)은 타겟 컨텐츠 파일 파이프라인을 포함하는 웹 페이지에 링크를 추가한다.
도 9는 타겟 컨텐츠 파일에 대한 리치 웹 페이지를 생성하는 방법(900)의 일 실시 예를 도시하는 순서도이다. 방법(900)은 또한 업로드 서버(108)가 업로드된 컨텐츠 파일을 수신 및 저장(902)하는 데서 시작한다. 이후의 단계들(904-906)에서, 방법(900)은 단계들(704-706)을 참조하여 방법(700)에서 앞서 설명된 것들과 동일하다. 908 단계에서, 방법(900)은 710 단계를 참조하여 방법(700)에서 앞서 설명된 것과 동일하다. 그에 따라, 이것에 대한 설명은 여기서 반복되지 않을 것이다.
910 단계에서, 일치 모듈(306)은 유니버설 데이터베이스(161)로부터 타겟 컨텐츠 파일에 대한 타겟 데이터를 검색한다. 예를 들어, 일치 모듈(306)은 타겟 컨텐츠 파일의 제목 및/또는 컨텐츠 ID를 포함하는 검색 문의를 사용하여 유니버설 데이터베이스(161)에 타겟 데이터를 문의한다. 일치 모듈(306)은 유니버설 데이터베이스(161)로부터 타겟 컨텐츠 파일에 대한 타겟 데이터를 검색한다.
912 단계에서, GUI 모듈(126)은 타겟 데이터에 적어도 일부 기초하여 리치 웹 페이지를 생성한다. 일 실시 예에서, GUI 모듈(126)은 일치 모듈(306)로부터 검색된 타겟 데이터를 수신한다. GUI 모듈(126)은 타이틀 데이터, 영화 출시 데이터, 시놉시스 데이터, 영화 생산 데이터, 리뷰 데이터, 플레이백 옵션 데이터 및 관련된 컨텐츠 파일 데이터와 같은 타겟 데이터를 사용하여 리치 웹 페이지를 생성한다. 예를 들어, 리치 웹 페이지는 도 4b 또는 도 4c에 도시된 사용자 인터페이스를 포함한다.
본 명세서의 실시 예들에 대한 앞서의 설명은 예시 및 설명의 목적으로 제시되었다. 본 명세서는 빠짐없이 완전히 기술되거나 개시된 정확한 형태에 한정되는 것을 의도하지는 않는다. 많은 변경 및 변형들이 위의 가르침에 비추어 가능하다. 개시된 범위는 여기서의 상세한 설명이 아니라, 이 출원의 청구범위에 의해 한정되는 것으로 의도된다. 당해 기술 분야에 익숙한 사람들에 의해 이해되는 것처럼, 본 명세서는 그것의 사상 또는 필수적 특성들로부터 벗어남이 없이, 다른 특정한 형태들에 내장될 수 있다. 유사하게, 모듈들, 루틴들, 특징들, 속성들, 방법론들 및 다른 측면들의 특정한 명명(naming) 및 분할은 필수적이거나 중요하지 않으며, 본 명세서나 그것의 특징들을 구현하는 메커니즘들은 상이한 이름들, 분할들 및/또는 포맷들을 가질 수 있다. 나아가, 관련 기술 분야의 통상의 기술자에게 명백한 것처럼, 본 상세한 설명의 모듈들, 루틴들 특징들, 속성들, 방법론들 및 다른 특징들은 소프트웨어, 하드웨어, 펌웨어 또는 그 세 가지의 임의의 조합으로 구현될 수 있다. 또한, 본 명세서의 요소(예를 들어 모듈인)가 소프트웨어로 구현되는 어디에나, 요소는 단일 프로그램으로서, 더 큰 프로그램의 일부로서, 분리된 복수의 프로그램들로서, 정적 또는 동적으로 링크된 라이브러리(library)로서, 커널(kernel) 로딩가능한 모듈로서, 장치 드라이버(driver)로서, 및/또는 컴퓨터 프로그램 분야의 통상의 기술자들에게 현재 또는 미래에 알려지는 모든 및 어떤 방법으로 구현될 수 있다. 추가로, 여기서 개시된 내용은 어떤 특정한 프로그래밍 언어로의 구현 또는 어떤 특정한 운영 시스템 또는 환경에 대한 구현에 결코 한정되지 않는다. 따라서, 여기서 개시된 내용은 한정하는 것이 아니라, 예시적인 것으로 의도되며, 본 명세서의 범위는 이후의 청구범위에서 제시된다.

Claims (20)

  1. 사용자 활동을 설명하는 소셜 데이터에 적어도 일부 기초하여 사용자 생성된 컨텐츠 파일에 대한 제 3 자 컨텐츠 파일을 결정하는 단계;
    상기 제 3 자 컨텐츠 파일에 대한 타겟 데이터를 검색하는 단계; 및
    상기 검색된 타겟 데이터에 적어도 일부 기초하여 상기 제 3 자 컨텐츠 파일에 대한 리치 웹 페이지를 생성하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 사용자 활동은 소셜 네트워크 사이트, 블로그 사이트, 마이크로블로그 사이트, 메시지 게시판, 전자 메일 서비스 및 비디오 호스팅 사이트 중 하나 이상에서의 활동을 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 소셜 데이터는 상기 사용자 생성된 컨텐츠 파일을 시청하기 전후에 사용자에 의해 방문된 웹사이트 및 상기 사용자 생성된 컨텐츠 파일을 시청하기 전후에 상기 사용자에 의해 행해진 검색 중 하나 이상을 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 타겟 데이터는 제목 데이터, 영화 출시 데이터, 시놉시스 데이터, 영화 생산 데이터, 리뷰 데이터, 플레이백 옵션 데이터 및 관련된 컨텐츠 파일 데이터 중 하나 이상을 포함하는, 방법.
  5. 제 1 항에 있어서,
    제 3 자 컨텐츠 파일을 검색하는 단계; 및
    상기 제 3 자 컨텐츠 파일의 재생가능한 버전을 포함하는 플레이백 페이지를 생성하는 단계를 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 리치 웹 페이지는 버튼을 더 포함하고,
    상기 버튼은 상기 플레이백 페이지로 링크하는, 방법.
  7. 제 1 항에 있어서,
    상기 제 3 자 컨텐츠 파일을 결정하는 단계는:
    상기 사용자 생성된 컨텐츠 파일에 대한 제 1 지문을 생성하는 단계;
    상기 제 1 지문과의 일치를 위해 기존 지문들을 검색하는 단계; 및
    상기 일치에 적어도 일부 기초하여 상기 제 3 자 컨텐츠 파일을 결정하는 단계를 더 포함하는, 방법.
  8. 사용자 활동을 설명하는 소셜 데이터에 적어도 일부 기초하여 사용자 생성된 컨텐츠 파일에 대한 제 3 자 컨텐츠 파일을 결정하고, 상기 제3 자 컨텐츠 파일에 대한 타겟 데이터를 검색하는 타겟팅 모듈; 및
    상기 타겟팅 모듈로부터 상기 검색된 타겟 데이터를 수신하기 위해 상기 타겟팅 모듈과 통신적으로 결합하고, 상기 검색된 타겟 데이터에 적어도 일부 기초하여 상기 제 3 자 컨텐츠 파일에 대한 리치 웹 페이지를 생성하는 그래픽 사용자 인터페이스 모듈을 포함하는, 시스템.
  9. 제 8 항에 있어서,
    상기 사용자 활동은 소셜 네트워크 사이트, 블로그 사이트, 마이크로블로그 사이트, 메시지 게시판, 전자 메일 서비스 및 비디오 호스팅 사이트 중 하나 이상에서의 활동을 포함하는, 시스템.
  10. 제 8 항에 있어서,
    상기 소셜 데이터는 상기 사용자 생성된 컨텐츠 파일을 시청하기 전후에 사용자에 의해 방문되는 웹사이트 및 상기 사용자 생성된 컨텐츠 파일을 시청하기 전후에 상기 사용자에 의해 행해지는 검색 중 하나 이상을 포함하는, 시스템.
  11. 제 8 항에 있어서,
    상기 타겟 데이터는 제목 데이터, 영화 출시 데이터, 시놉시스 데이터, 영화 생산 데이터, 리뷰 데이터, 플레이백 옵션 데이터 및 관련된 컨텐츠 파일 데이터 중 하나 이상을 포함하는, 시스템.
  12. 제 8 항에 있어서,
    상기 타겟팅 모듈은 제 3 자 컨텐츠 파일을 검색하고,
    상기 그래픽 사용자 인터페이스 모듈은 상기 제 3 자 컨텐츠 파일을 수신하고 상기 제 3 자 컨텐츠 파일의 재생가능한 버전을 포함하는 플레이백 페이지를 생성하는, 시스템.
  13. 제 12 항에 있어서,
    상기 리치 웹 페이지는 버튼을 더 포함하고,
    상기 버튼은 상기 플레이백 페이지로 링크하는, 시스템.
  14. 제 8 항에 있어서,
    상기 타겟팅 모듈은 상기 사용자 생성된 컨텐츠 파일에 대한 제 1 지문을 생성하고, 상기 제 1 지문과의 일치를 위해 기존 지문들을 검색하고 상기 일치에 적어도 일부 기초하여 상기 제 3 자 컨텐츠 파일을 결정하는, 시스템.
  15. 컴퓨터 판독가능한 프로그램을 포함하는 컴퓨터 사용가능한 매체를 포함하는 컴퓨터 프로그램 생산물에 있어서, 상기 컴퓨터 판독가능한 프로그램은 컴퓨터상에서 실행될 때 상기 컴퓨터가 단계들을 수행하게 하고, 상기 단계들은:
    사용자 활동을 설명하는 소셜 데이터에 적어도 일부 기초하여 사용자 생성된 컨텐츠 파일에 대한 제 3 자 컨텐츠 파일을 결정하는 단계;
    상기 제 3 자 컨텐츠 파일에 대한 타겟 데이터를 검색하는 단계; 및
    상기 검색된 타겟 데이터에 적어도 일부 기초하여 상기 제 3 자 컨텐츠 파일에 대한 리치 웹 페이지를 생성하는 단계를 포함하는, 컴퓨터 프로그램 생산물.
  16. 제 15 항에 있어서,
    상기 사용자 활동은 소셜 네트워크 사이트, 블로그 사이트, 마이크로블로그 사이트, 메시지 게시판, 전자 메일 서비스 및 비디오 호스팅 사이트 중 하나 이상에서의 활동을 포함하는, 컴퓨터 프로그램 생산물.
  17. 제 15 항에 있어서,
    상기 소셜 데이터는 사용자 생성된 컨텐츠 파일을 시청하기 전후에 사용자에 의해 방문된 웹사이트 및 상기 사용자 생성된 컨텐츠 파일을 시청하기 전후에 상기 사용자에 의해 행해진 검색 중 하나 이상을 포함하는, 컴퓨터 프로그램 생산물.
  18. 제 15 항에 있어서,
    상기 타겟 데이터는 타이틀 데이터, 영화 출시 데이터, 시놉시스 데이터, 영화 생산 데이터, 리뷰 데이터, 플레이백 옵션 데이터 및 관련된 컨텐츠 파일 데이터 중 하나 이상을 포함하는, 컴퓨터 프로그램 생산물.
  19. 제 15 항에 있어서,
    상기 컴퓨터 판독가능한 프로그램은 컴퓨터상에서 실행될 때 상기 컴퓨터가 상기 단계들을 수행하게 하고, 상기 단계들은:
    제 3 자 컨텐츠 파일을 검색하는 단계; 및
    상기 제 3 자 컨텐츠 파일의 재생가능한 버전을 포함하는 플레이백 페이지를 생성하는 단계를 더 포함하는, 컴퓨터 프로그램 생산물.
  20. 제 19 항에 있어서,
    상기 리치 웹 페이지는 버튼을 더 포함하고,
    상기 버튼은 상기 플레이백 페이지로 링크하는, 컴퓨터 프로그램 생산물.
KR1020147004262A 2011-07-22 2012-07-10 리치 웹 페이지 생성 KR101979472B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161510980P 2011-07-22 2011-07-22
US61/510,980 2011-07-22
US13/535,235 US9990431B2 (en) 2011-07-22 2012-06-27 Rich web page generation
US13/535,235 2012-06-27
PCT/US2012/046103 WO2013015983A1 (en) 2011-07-22 2012-07-10 Rich web page generation

Publications (2)

Publication Number Publication Date
KR20140067003A true KR20140067003A (ko) 2014-06-03
KR101979472B1 KR101979472B1 (ko) 2019-05-16

Family

ID=47556681

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147004261A KR101993017B1 (ko) 2011-07-22 2012-06-27 컨텐츠 파일들을 링크
KR1020147004262A KR101979472B1 (ko) 2011-07-22 2012-07-10 리치 웹 페이지 생성

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147004261A KR101993017B1 (ko) 2011-07-22 2012-06-27 컨텐츠 파일들을 링크

Country Status (5)

Country Link
US (2) US9990431B2 (ko)
EP (1) EP2734909A4 (ko)
KR (2) KR101993017B1 (ko)
CN (4) CN110069661B (ko)
WO (2) WO2013015933A2 (ko)

Families Citing this family (151)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2579079T3 (es) * 2011-12-31 2016-08-04 Nokia Technologies Oy Provocación de la visualización de elementos
US8893287B2 (en) * 2012-03-12 2014-11-18 Microsoft Corporation Monitoring and managing user privacy levels
KR101952260B1 (ko) 2012-04-03 2019-02-26 삼성전자주식회사 다수의 동영상 썸네일을 동시에 표시하기 위한 영상 재생 장치 및 방법
US9690759B2 (en) * 2013-01-03 2017-06-27 Cable Television Laboratories, Inc. Content linking
EP3428427B1 (en) * 2013-03-15 2020-09-02 United Technologies Corporation Gas turbine engine with air-oil cooler oil tank
US9874989B1 (en) * 2013-11-26 2018-01-23 Google Llc Providing content presentation elements in conjunction with a media content item
US9977580B2 (en) * 2014-02-24 2018-05-22 Ilos Co. Easy-to-use desktop screen recording application
US10282479B1 (en) * 2014-05-08 2019-05-07 Google Llc Resource view data collection
US9729583B1 (en) 2016-06-10 2017-08-08 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
GB2538326B (en) 2015-05-07 2019-06-05 Cmr Surgical Ltd A surgical drape for transferring drive
US20220164840A1 (en) 2016-04-01 2022-05-26 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10706447B2 (en) 2016-04-01 2020-07-07 OneTrust, LLC Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments
US11244367B2 (en) 2016-04-01 2022-02-08 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US11004125B2 (en) 2016-04-01 2021-05-11 OneTrust, LLC Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and methods
US11416109B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US11038925B2 (en) 2016-06-10 2021-06-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems and related methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10798133B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11586700B2 (en) 2016-06-10 2023-02-21 OneTrust, LLC Data processing systems and methods for automatically blocking the use of tracking tools
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related methods
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11416590B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US10839102B2 (en) 2016-06-10 2020-11-17 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US10776517B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems and related methods
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking systems and related methods
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US10997318B2 (en) * 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for generating and populating a data inventory for processing data access requests
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems and related methods
US11418492B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10949170B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for integration of consumer feedback with data subject access requests and related methods
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US10776518B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Consent receipt management systems and related methods
US11138242B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems and related methods
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US10416966B2 (en) 2016-06-10 2019-09-17 OneTrust, LLC Data processing systems for identity validation of data subject access requests and related methods
US11277448B2 (en) 2016-06-10 2022-03-15 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10706131B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10769301B2 (en) 2016-06-10 2020-09-08 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US11294939B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems and related methods
US10909265B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Application privacy scanning systems and related methods
US10282559B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US11410106B2 (en) 2016-06-10 2022-08-09 OneTrust, LLC Privacy management systems and methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US11366909B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11343284B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10706379B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for automatic preparation for remediation and related methods
US11228620B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11438386B2 (en) 2016-06-10 2022-09-06 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems and related methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US10318761B2 (en) 2016-06-10 2019-06-11 OneTrust, LLC Data processing systems and methods for auditing data request compliance
US10706174B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
US10944725B2 (en) 2016-06-10 2021-03-09 OneTrust, LLC Data processing systems and methods for using a data model to select a target data asset in a data migration
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
US11025675B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US10510031B2 (en) 2016-06-10 2019-12-17 OneTrust, LLC Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques
US10848523B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository and related methods
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11057356B2 (en) 2016-06-10 2021-07-06 OneTrust, LLC Automated data processing systems and methods for automatically processing data subject access requests using a chatbot
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US10496846B1 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing and communications systems and methods for the efficient implementation of privacy by design
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US10708305B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Automated data processing systems and methods for automatically processing requests for privacy-related information
US11625502B2 (en) 2016-06-10 2023-04-11 OneTrust, LLC Data processing systems for identifying and modifying processes that are subject to data subject access requests
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10585968B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US10873606B2 (en) 2016-06-10 2020-12-22 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US10467432B2 (en) 2016-06-10 2019-11-05 OneTrust, LLC Data processing systems for use in automatically generating, populating, and submitting data subject access requests
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10740487B2 (en) 2016-06-10 2020-08-11 OneTrust, LLC Data processing systems and methods for populating and maintaining a centralized database of personal data
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems and related methods
US10565397B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related methods
US11222139B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems and methods for automatic discovery and assessment of mobile software development kits
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11336697B2 (en) 2016-06-10 2022-05-17 OneTrust, LLC Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods
US11727141B2 (en) 2016-06-10 2023-08-15 OneTrust, LLC Data processing systems and methods for synching privacy-related user consent across multiple computing devices
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US20180160194A1 (en) * 2016-12-01 2018-06-07 Google Inc. Methods, systems, and media for enhancing two-dimensional video content items with spherical video content
US10013577B1 (en) 2017-06-16 2018-07-03 OneTrust, LLC Data processing systems for identifying whether cookies contain personally identifying information
CN108024145B (zh) * 2017-12-07 2020-12-11 北京百度网讯科技有限公司 视频推荐方法、装置、计算机设备和存储介质
US11074310B2 (en) * 2018-05-14 2021-07-27 International Business Machines Corporation Content-based management of links to resources
US11544409B2 (en) 2018-09-07 2023-01-03 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US11144675B2 (en) 2018-09-07 2021-10-12 OneTrust, LLC Data processing systems and methods for automatically protecting sensitive data within privacy management systems
US10803202B2 (en) 2018-09-07 2020-10-13 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US11797528B2 (en) 2020-07-08 2023-10-24 OneTrust, LLC Systems and methods for targeted data discovery
EP4189569A1 (en) 2020-07-28 2023-06-07 OneTrust LLC Systems and methods for automatically blocking the use of tracking tools
US11475165B2 (en) 2020-08-06 2022-10-18 OneTrust, LLC Data processing systems and methods for automatically redacting unstructured data from a data subject access request
US11436373B2 (en) 2020-09-15 2022-09-06 OneTrust, LLC Data processing systems and methods for detecting tools for the automatic blocking of consent requests
US20230334158A1 (en) 2020-09-21 2023-10-19 OneTrust, LLC Data processing systems and methods for automatically detecting target data transfers and target data processing
US11397819B2 (en) 2020-11-06 2022-07-26 OneTrust, LLC Systems and methods for identifying data processing activities based on data discovery results
US11687528B2 (en) 2021-01-25 2023-06-27 OneTrust, LLC Systems and methods for discovery, classification, and indexing of data in a native computing system
CN114816603A (zh) * 2021-01-27 2022-07-29 北京字跳网络技术有限公司 作品的展示方法、装置、电子设备和存储介质
US11442906B2 (en) 2021-02-04 2022-09-13 OneTrust, LLC Managing custom attributes for domain objects defined within microservices
US11494515B2 (en) 2021-02-08 2022-11-08 OneTrust, LLC Data processing systems and methods for anonymizing data samples in classification analysis
US11601464B2 (en) 2021-02-10 2023-03-07 OneTrust, LLC Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system
WO2022178089A1 (en) 2021-02-17 2022-08-25 OneTrust, LLC Managing custom workflows for domain objects defined within microservices
US11546661B2 (en) 2021-02-18 2023-01-03 OneTrust, LLC Selective redaction of media content
US11533315B2 (en) 2021-03-08 2022-12-20 OneTrust, LLC Data transfer discovery and analysis systems and related methods
US11562078B2 (en) 2021-04-16 2023-01-24 OneTrust, LLC Assessing and managing computational risk involved with integrating third party computing functionality within a computing system
CN115278326A (zh) * 2021-04-29 2022-11-01 腾讯科技(深圳)有限公司 视频展示方法、装置、计算机可读介质及电子设备
US11445257B1 (en) * 2021-10-20 2022-09-13 Dish Network Technologies India Private Limited Managing and delivering user-provided content that is linked to on-demand media content
US11620142B1 (en) 2022-06-03 2023-04-04 OneTrust, LLC Generating and customizing user interfaces for demonstrating functions of interactive user environments

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115430A1 (en) * 2008-10-23 2010-05-06 Skirpa Alexander R Universal content referencing, packaging, distribution system, and a tool for customizing web content
US20100293190A1 (en) * 2009-05-13 2010-11-18 Kaiser David H Playing and editing linked and annotated audiovisual works
US20110035382A1 (en) * 2008-02-05 2011-02-10 Dolby Laboratories Licensing Corporation Associating Information with Media Content

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6769010B1 (en) 2000-05-11 2004-07-27 Howzone.Com Inc. Apparatus for distributing information over a network-based environment, method of distributing information to users, and method for associating content objects with a database wherein the content objects are accessible over a network communication medium by a user
US8200700B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Systems and methods for use of structured and unstructured distributed data
US20100049608A1 (en) 2005-04-25 2010-02-25 Grossman Stephanie L Third party content management system and method
CN1897587A (zh) * 2005-06-24 2007-01-17 株式会社东芝 播放列表合成设备、版权管理设备以及查看终端设备
US8849821B2 (en) * 2005-11-04 2014-09-30 Nokia Corporation Scalable visual search system simplifying access to network and device functionality
US8645991B2 (en) * 2006-03-30 2014-02-04 Tout Industries, Inc. Method and apparatus for annotating media streams
KR100714727B1 (ko) * 2006-04-27 2007-05-04 삼성전자주식회사 메타 데이터를 이용한 미디어 컨텐츠의 탐색 장치 및 방법
US20070265969A1 (en) * 2006-05-15 2007-11-15 Apple Computer, Inc. Computerized management of media distribution agreements
US7613735B2 (en) 2006-06-13 2009-11-03 Alcatel-Lucent Usa Inc. Method and apparatus for managing multimedia content
US20080086689A1 (en) 2006-10-09 2008-04-10 Qmind, Inc. Multimedia content production, publication, and player apparatus, system and method
US7806329B2 (en) 2006-10-17 2010-10-05 Google Inc. Targeted video advertising
CN1953542A (zh) * 2006-11-03 2007-04-25 张帆 网络视频传输系统及其处理方法
WO2008072093A2 (en) 2006-12-13 2008-06-19 Quickplay Media Inc. Mobile media platform
US20080201255A1 (en) 2007-02-16 2008-08-21 Green Mark L Facilitating creation and sale of carbon credits
US9405830B2 (en) 2007-02-28 2016-08-02 Aol Inc. Personalization techniques using image clouds
US20080320512A1 (en) * 2007-06-22 2008-12-25 Inskin Media Ltd. Systems and methods for providing interactive advertisements through media player skin
US20090007274A1 (en) 2007-06-28 2009-01-01 Yahoo! Inc. Rights Engine Including Access Rights Enforcement
US9235848B1 (en) * 2007-07-09 2016-01-12 Groupon, Inc. Implicitly associating metadata using user behavior
CA2696970C (en) * 2007-08-17 2015-04-28 Phoenix Myrrh Technology Pty Ltd. Method and system for content delivery
US20090113475A1 (en) 2007-08-21 2009-04-30 Yi Li Systems and methods for integrating search capability in interactive video
US20090063277A1 (en) * 2007-08-31 2009-03-05 Dolby Laboratiories Licensing Corp. Associating information with a portion of media content
US8290982B2 (en) * 2007-09-27 2012-10-16 Yahoo! Inc. Methods for managing content for brand related media
US20090113315A1 (en) 2007-10-26 2009-04-30 Yahoo! Inc. Multimedia Enhanced Instant Messaging Engine
US20090271289A1 (en) 2007-11-20 2009-10-29 Theresa Klinger System and method for propagating endorsements
US8655718B2 (en) * 2007-12-18 2014-02-18 Yahoo! Inc. Methods for augmenting user-generated content using a monetizable feature
WO2009134462A2 (en) * 2008-01-14 2009-11-05 Aptima, Inc. Method and system to predict the likelihood of topics
US20090271283A1 (en) * 2008-02-13 2009-10-29 Catholic Content, Llc Network Media Distribution
CN102084386A (zh) * 2008-03-24 2011-06-01 姜旻秀 利用数字内容关联元信息的关键字广告方法及其关联系统
US9489383B2 (en) * 2008-04-18 2016-11-08 Beats Music, Llc Relevant content to enhance a streaming media experience
WO2010005743A2 (en) * 2008-06-16 2010-01-14 View2Gether Inc. Contextual advertising using video metadata and analysis
US20100153848A1 (en) * 2008-10-09 2010-06-17 Pinaki Saha Integrated branding, social bookmarking, and aggregation system for media content
US20100158391A1 (en) 2008-12-24 2010-06-24 Yahoo! Inc. Identification and transfer of a media object segment from one communications network to another
US20100169153A1 (en) 2008-12-26 2010-07-01 Microsoft Corporation User-Adaptive Recommended Mobile Content
US20100199184A1 (en) * 2009-01-30 2010-08-05 Yahoo! Inc. Prioritizing vitality events in a social networking system
US8271529B2 (en) * 2009-08-10 2012-09-18 Yuheng Qiu Location-based and time control-based interactive information group and distribution platform
US9197736B2 (en) * 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
WO2011082496A1 (en) 2010-01-11 2011-07-14 Gill Barjinderpal S Apparatus and method for delivering target content to members on a social network
US10692093B2 (en) * 2010-04-16 2020-06-23 Microsoft Technology Licensing, Llc Social home page
US8601076B2 (en) 2010-06-10 2013-12-03 Aol Inc. Systems and methods for identifying and notifying users of electronic content based on biometric recognition
US9124906B2 (en) 2010-06-11 2015-09-01 Disney Enterprises, Inc. System and method for simplifying discovery of content availability for a consumer
CN101901619B (zh) * 2010-07-16 2012-10-17 复旦大学 一种基于视频内容缩影的增强用户体验的视频播放器
US20120030586A1 (en) * 2010-07-30 2012-02-02 Neel Ketkar Systems and methods for sharing media using social media guidance applications
US20120030587A1 (en) * 2010-07-30 2012-02-02 Neel Ketkar Systems and methods for sharing media using social media guidance applications
CN102012937A (zh) 2010-12-08 2011-04-13 萨·约翰尼 用于将广告发布在超文本文档中的图像上的方法和系统
US20120272185A1 (en) * 2011-01-05 2012-10-25 Rovi Technologies Corporation Systems and methods for mixed-media content guidance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110035382A1 (en) * 2008-02-05 2011-02-10 Dolby Laboratories Licensing Corporation Associating Information with Media Content
US20100115430A1 (en) * 2008-10-23 2010-05-06 Skirpa Alexander R Universal content referencing, packaging, distribution system, and a tool for customizing web content
US20100293190A1 (en) * 2009-05-13 2010-11-18 Kaiser David H Playing and editing linked and annotated audiovisual works

Also Published As

Publication number Publication date
CN109062978B (zh) 2022-03-18
US20130024758A1 (en) 2013-01-24
WO2013015983A1 (en) 2013-01-31
CN103797439B (zh) 2018-07-24
CN109062978A (zh) 2018-12-21
CN110069661A (zh) 2019-07-30
WO2013015933A3 (en) 2014-05-08
EP2734909A1 (en) 2014-05-28
EP2734909A4 (en) 2016-04-27
KR101993017B1 (ko) 2019-06-25
CN104025017A (zh) 2014-09-03
US20130024754A1 (en) 2013-01-24
CN103797439A (zh) 2014-05-14
KR101979472B1 (ko) 2019-05-16
CN110069661B (zh) 2023-09-26
US9767202B2 (en) 2017-09-19
WO2013015933A2 (en) 2013-01-31
US9990431B2 (en) 2018-06-05
KR20140064784A (ko) 2014-05-28

Similar Documents

Publication Publication Date Title
KR101979472B1 (ko) 리치 웹 페이지 생성
US8661124B2 (en) Organizing social activity information on a site
US8572647B2 (en) Online ad placement based on user metrics for hosted media
US8856111B1 (en) Cross media type recommendations for media items based on identified entities
US20130110929A1 (en) Integrated Social Network and Stream Playback
US20120173441A1 (en) Ownership Resolution System
US10303781B1 (en) Deriving associations between assets
US20140063339A1 (en) In Browser Muxing and Demuxing For Video Playback
US10805656B1 (en) Content restriction system
US9436686B1 (en) Claim evaluation system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right