KR20210097221A - 내장가능형 미디어 콘텐츠 검색 위젯 - Google Patents

내장가능형 미디어 콘텐츠 검색 위젯 Download PDF

Info

Publication number
KR20210097221A
KR20210097221A KR1020217023931A KR20217023931A KR20210097221A KR 20210097221 A KR20210097221 A KR 20210097221A KR 1020217023931 A KR1020217023931 A KR 1020217023931A KR 20217023931 A KR20217023931 A KR 20217023931A KR 20210097221 A KR20210097221 A KR 20210097221A
Authority
KR
South Korea
Prior art keywords
video
user interface
content
content platform
user
Prior art date
Application number
KR1020217023931A
Other languages
English (en)
Other versions
KR102344780B1 (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 KR20210097221A publication Critical patent/KR20210097221A/ko
Application granted granted Critical
Publication of KR102344780B1 publication Critical patent/KR102344780B1/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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • 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/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/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
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0253During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy

Abstract

제1 조직과 관련되는 제1 컴퓨터 시스템이 제2 조직과 관련되는 제2 컴퓨터 시스템에 소프트웨어 컴포넌트를 제공하는 시스템 및 방법이 개시되며, 소프트웨어 컴포넌트는, 제2 조직에 의해 제공되는 사용자 인터페이스 내에 내장되어 실행될 때, 제1 미디어 콘텐츠 아이템으로의 제1 링크 및 제2 미디어 콘텐츠 아이템으로의 제2 링크를 포함한다. 일 구현에서, 제1 미디어 콘텐츠 아이템 및 제2 미디어 콘텐츠 아이템은 제1 조직과 관련된 데이터 저장소에 존재하고, 제1 미디어 콘텐츠 아이템 및 제2 미디어 콘텐츠 아이템은 사용자 인터페이스에서의 콘텐츠에 기초하는 복수의 미디어 콘텐츠 아이템들로부터 선택된다.

Description

내장가능형 미디어 콘텐츠 검색 위젯{EMBEDDABLE MEDIA CONTENT SEARCH WIDGET}
본 개시내용의 양상들 및 구현들은 데이터 처리 시스템들에 관련되고, 보다 구체적으로는, 사용자 인터페이스들에 내장될 수 있는 소프트웨어 컴포넌트에 관련된다.
사용자들은 구매를 행하기 전에 제품들 및 서비스들을 온라인으로 점점 더 조사하고 있다. 이러한 조사는 데모 비디오들(demonstration videos), 텍스트 기반의 리뷰들, 오디오 기반의 리뷰들, 비디오 기반의 리뷰들, 소매업자 웹사이트들, 쇼핑 검색 엔진들 등을 찾아보는 것을 포함할 수 있다.
이하 이러한 양상들의 기본적인 이해를 제공하기 위해 본 개시내용의 다양한 양상들의 간략화된 요약을 제시한다. 이러한 요약은 모든 고려되는 양상들의 포괄적인 개요는 아니며, 중요한 또는 핵심적인 엘리먼트들을 식별하려는 의도도 아니고, 이러한 양상들의 범위를 정의하려는 의도도 아니다. 그 목적은 나중에 제시되는 더 상세한 설명에 대한 서론으로서 간략화된 형태로 본 개시내용의 일부 개념들을 제시하는 것이다.
본 개시내용의 일 양상에서, 제1 조직과 관련된 제1 컴퓨터 시스템은 제2 조직과 관련된 제2 컴퓨터 시스템에 소프트웨어 컴포넌트를 제공하며, 이러한 소프트웨어 컴포넌트는, 제2 조직에 의해 제공되는 사용자 인터페이스 내에 내장되어 실행될 때, 제1 미디어 콘텐츠 아이템으로의 제1 링크 및 제2 미디어 콘텐츠 아이템으로의 제2 링크를 사용자 인터페이스에 포함시킨다. 일 구현에서, 제1 미디어 콘텐츠 아이템 및 제2 미디어 콘텐츠 아이템은 제1 조직과 관련된 데이터 저장소에 존재하고, 제1 미디어 콘텐츠 아이템 및 제2 미디어 콘텐츠 아이템은 사용자 인터페이스에서의 콘텐츠에 기초하는 복수의 미디어 콘텐츠 아이템들로부터 선택된다.
본 개시내용의 양상들 및 구현들이 이하 주어지는 상세한 설명으로부터 및 본 개시내용의 다양한 양상들 및 구현들의 첨부 도면들로부터 보다 충분히 이해될 것이지만, 이는 본 개시내용을 이러한 특정 양상들 또는 구현들에 제한하는 것으로 고려되지 않아야 하며, 설명 및 이해를 위한 것일 뿐이다.
도 1은, 본 개시내용의 일 구현에 따라서, 예시적인 시스템 아키텍처를 도시한다.
도 2는 소프트웨어 컴포넌트에 대한 요청을 다루는 방법의 일 예의 흐름도를 도시한다.
도 3은 클라이언트 머신에 의해 다운로드되어 실행되는 사용자 인터페이스에 소프트웨어 컴포넌트가 내장되는 방법의 일 예의 흐름도를 도시한다.
도 4는 클라이언트 머신에 의해 실행될 때 내장형 소프트웨어 컴포넌트의 일부 동작들의 일 예의 흐름도를 도시한다.
도 5는, 본 개시내용의 일 구현에 따라서, 내장형 재생목록을 갖는 예시적인 사용자 인터페이스를 도시한다.
도 6은 하나 이상의 키워드들에 관련되는 미디어 콘텐츠 아이템들로의 링크들에 대한 요청을 처리하는 방법의 일 예의 흐름도를 도시한다.
도 7은 본 개시내용의 양상들 및 구현들에 따라 동작하는 예시적인 컴퓨터 시스템의 블록도를 도시한다.
사용자가 제품 또는 서비스 구매를 고려할 때(예를 들어, 소매업자의 웹사이트를 둘러보는 동안, 제품 또는 서비스의 제공자에 의해 생성되는 애플리케이션 [또는 "앱(app)"]을 사용하는 동안 등), 사용자는 제품 또는 서비스를 조사하기 위해 종종 다른 웹사이트들에 방문하거나 또는 앱들 사이에서 전환한다. 이 방식으로 조사를 행하는 것은 모바일 디바이스들(예를 들어, 스마트폰들 등) 상에서 특히 불편한데 그 이유는 이러한 디바이스들이 통상적으로 소형 스크린들을 갖고 한 번에 스크린 상에 단일 웹사이트 또는 앱을 디스플레이할 수만 있기 때문이다. 이러한 불편은, 모바일 디바이스들의 사용자들을 구매들을 행하는 것을 억제시킬 수 있고, "임펄스" 및 다른 타입들의 구매들의 손실 판매들을 초래할 수 있다. 예를 들어, 사용자가 아이템을 쇼핑하기 위해 모바일 웹 페이지 또는 애플리케이션을 통해 제품 목록들 페이지를 보고 있고, 이러한 사용자가 그 아이템의 비디오 데모가 존재하는지 확인하기를 원하면, 그 또는 그녀는:
· 아이템의 명칭을 (예를 들어, 타이핑에 의해서, 복사/붙여넣기에 의해서 등) 검색 엔진에 입력하여 비디오들에 대한 검색 결과를 필터링하기 위해 다른 웹 페이지를 열 수 있다(또는 다른 애플리케이션을 런치(launch)할 수 있다); 또는
· 이러한 비디오 데모를 찾기 위해 다른 애플리케이션(예를 들어, 저장소에 있는 비디오들을 검색 및 시청하는 애플리케이션)을 런치할 수 있다.
어느 경우에나, 사용자는 비디오 데모를 찾기 위해 웹 페이지들 또는 애플리케이션들 사이를 전환해야 하며, 이는 사용자가 조사 및 구매를 포기하는 것을 초래할 수 있는 모바일 디바이스 상의 불편한 과제이다.
제1 조직과 관련되는 제1 컴퓨터 시스템이 제2 조직과 관련되는 제2 컴퓨터 시스템에 소프트웨어 컴포넌트("위젯"으로 알려짐)를 제공하는 양상들 및 구현들이 개시되며, 여기서 소프트웨어 컴포넌트는, 제2 조직에 의해 제공되는 사용자 인터페이스 내에 내장되고 실행될 때, 제1 조직에 의해 관리되는 데이터 저장소(예를 들어, 파일 서버, 관련 데이터베이스 등)에 관련 미디어 콘텐츠 아이템들(예를 들어, 비디오 클립들, 오디오 클립들 등)로의 링크들을 사용자 인터페이스들에 포함한다. 일부 구현들에서, 소프트웨어 컴포넌트는 제2 조직에 의해 생성되고 클라이언트(예를 들어, 스마트폰, 랩톱 컴퓨터 등)에 의해 다운로드되어 실행되는 애플리케이션(또는 "앱")의 사용자 인터페이스 내에 내장될 수 있는 반면, 일부 다른 구현들에서, 소프트웨어 컴포넌트는 제2 조직에 의해 생성되고 클라이언트 브라우저에 의해 다운로드되는 웹 페이지 내에 내장될 수 있다.
본 개시내용의 양상들 및 구현들은 따라서, 예를 들어, 그의 또는 그녀의 스마트폰 상에 소매업자의 모바일 웹사이트를 브라우징하고 있거나, 또는 스마트폰 상에 실행중인 소매업자의 모바일 앱을 사용하고 있는 사용자가, 현재 웹 페이지를 떠나야 하거나 또는 현재 앱을 중단하여야 하지 않고도 잠재적 구매를 조사할 수 있게 할 수 있다. 보다 구체적으로, 소매업자를 위해 일하는 웹사이트 개발자(즉, 위에 인용된 "제2 조직")는, 다른 조직(즉, 위에 인용된 "제1 조직)으로부터 소프트웨어 컴포넌트를 취득할 수 있고, 클라이언드에 의해 다운로드되고 실행되는 사용자 인터페이스에(예를 들어, 클라이언트 브라우저에 의해 방문되는 웹 페이지에, 클라이언트에 의해 다운로드되고 실행되는 앱에 등) 소프트웨어 컴포넌트를 내장할 수 있다. 일 구현에서, 소프트웨어 컴포넌트는, 사용자 인터페이스의 콘텐츠(예를 들어, 텍스트, 버튼 라벨들, 이미지들, 메타데이터 태그들 등)에 기초하여 하나 이상의 키워드들을 취득하고, 제1 조직의 데이터 저장소에 쿼리를 송신하며, 여기서 이러한 쿼리는, 키워드(들)을 명시하고, 키워드(들)에 관련되는 데이터 저장소에서의 미디어 콘텐츠 아이템들로의 링크들을 요청한다. 쿼리에 반응하여, 관련 미디어 콘텐츠 아이템들은 명시된 키워드(들)에 기초하여 데이터 저장소에 저장된 아이템들 중에서 선택되고, 선택된 미디어 콘텐츠 아이템들로의 링크들은 소프트웨어 컴포넌트에 송신된다. 소프트웨어 컴포넌트는 사용자 인터페이스에서의 재생목록을 생성하고, 그리고 나서 재생목록을 수신된 링크들로 재생목록을 채운다. 그 결과, 관련 비디오들(예를 들어, 제품 데모 비디오 등)의 재생목록은 사용자가, 웹 페이지 또는 애플리케이션을 떠나서 새로운 웹 페이지를 방문하거나 또는 다른 애플리케이션을 런치하지 않고도, 현재 웹 페이지 또는 애플리케이션에서 볼 수 있고, 이에 의해 사용자 체험을 향상시킨다.
도 1은, 본 개시내용의 일 구현에 따라서, 예시적 시스템 아키텍처(100)를 도시한다. 시스템 아키텍처(100)는 네트워크(104)에 연결되는 서버 머신(115), 미디어 콘텐츠 아이템 저장소(110), 소프트웨어 컴포넌트 라이브러리(130), 및 웹사이트 개발자 머신들(102A-102N)을 포함한다. 네트워크(104)는 공용 네트워크(예를 들어, 인터넷), 사설 네트워크(예를 들어, LAN(Local Area Network) 또는 WAN(Wide Area Network), 또는 이들의 조합일 수 있다.
서버 머신(115)은 랙마운트(rackmount) 서버, 라우터 컴퓨터, 개인용 컴퓨터, PDA(Portable Digital Assistant), 모바일 폰, 랩톱 컴퓨터, 태블릿 컴퓨터, 카메라, 비디오 카메라, 넷북, 데스크톱 컴퓨터, 미디어 센터, 또는 상기한 것의 임의의 조합일 수 있다. 서버 머신(115)은 웹 서버(140) 및 미디어 콘텐츠 아이템 관리자(145)를 포함한다. 대안적인 구현들에서, 웹 서버(140) 및 미디어 콘텐츠 아이템 관리자(145)는 상이한 머신들(예를 들어, 콘텐츠 호스팅의 일부이고 플랫폼을 공유하는 복수의 서버들 등) 상에서 실행될 수 있다.
미디어 콘텐츠 아이템 저장소(110)는, 미디어 콘텐츠 아이템들(예를 들어, 비디오 클립들, 오디오 클립들, 이미지들 등) 뿐만 아니라 미디어 콘텐츠 아이템들을 태그하고, 조직하며, 인덱스하는 데이터 구조들을 저장할 수 있고, 저장된 미디어 콘텐츠 아이템들에 관계되는 쿼리들을 처리할 수 있는 영구 스토리지이다. 미디어 콘텐츠 아이템 저장소(110)는, 메인 메모리, 자기 또는 광 스토리지 기반의 디스크들, 테이프들 또는 하드 드라이브들, NAS, SAN 등과 같은, 하나 이상의 스토리지 디바이스들에 의해 호스팅될 수 있다. 일부 구현들에서, 미디어 콘텐츠 아이템 저장소(110)는 네트워크-결합형 파일 서버일 수 있는 한편, 다른 실시예들에서 미디어 콘텐츠 아이템 저장소(110)는, 객체-지향형 데이터베이스, 관계형 데이터베이스 등과 같은, 서버 머신(115) 또는 네트워크(104)를 통해 서버 머신(115)에 연결되는 하나 이상의 상이한 머신들에 의해 호스팅될 수 있는 영구 스토리지의 일부 다른 타입일 수 있다. 미디어 콘텐츠 아이템 저장소(110)에 저장되는 미디어 콘텐츠 아이템들은, 사용자 디바이스들을 통해 업로드되는 최종 사용자 콘텐츠 뿐만 아니라, 게시자들, 라이브러리들, 뉴스 서비스들 등에 의해 업로드되는 미디어 콘텐츠 아이템들을 포함할 수 있다. 일 구현에서, 미디어 콘텐츠 아이템 저장소(110)는 서버 머신(115)을 유지하는 동일한 조직(예를 들어, 기업, 정부 기관 등)에 의해 유지된다.
소프트웨어 컴포넌트 라이브러리(130)는, 소프트웨어 컴포넌트들(예를 들어, 웹 페이지들에 내장될 수 있는 위젯들, 애플리케이션들의 사용자 인터페이스들에 내장될 수 있는 위젯들, 객체-지향형 프로그래밍 언어로 기입되는 애플리케이션들에 의해 사용될 수 있는 소프트웨어 오브젝트들[예를 들어, 데이터 구조들, 비즈니스 오브젝트들 등] 등) 뿐만 아니라, 소프트웨어 컴포넌트들을 태그하고, 조직하며, 인덱싱하는 데이터 구조들을 저장할 수 있는 영구 스토리지이다. 소프트웨어 컴포넌트들은 사설 소프트웨어 조직들, 개방-소스 소프트웨어 조직들, 독립적 소프트웨어 개발자들 등에 의해 제공될 수 있다.
소프트웨어 컴포넌트 라이브러리(130)는, 메인 메모리, 자기 또는 광 스토리지 기반의 디스크들, 테이프들 또는 하드 드라이브들, NAS, SAN 등과 같은, 하나 이상의 스토리지 디바이스들에 의해 호스팅될 수 있다. 일부 구현들에서, 미디어 소프트웨어 컴포넌트 라이브러리(130)는 네트워크-결합형 파일 서버일 수 있는 한편, 다른 실시예들에서 소프트웨어 컴포넌트 라이브러리(130)는, 객체-지향형 데이터베이스, 관계형 데이터베이스 등과 같은, 서버 머신(115) 또는 네트워크(104)를 통해 서버 머신(115)에 연결되는 하나 이상의 상이한 머신들에 의해 호스팅될 수 있는 영구 스토리지의 일부 다른 타입일 수 있다. 일 구현에서, 소프트웨어 컴포넌트 라이브러리(130)는 서버 머신(115) 및 미디어 콘텐츠 아이템 저장소(110)를 유지하는 동일한 조직(예를 들어, 기업, 정부 기관 등)에 의해 유지된다.
일부 구현들에 따라서, 미디어 콘텐츠 아이템 관리자(145)는, 미디어 콘텐츠 아이템 저장소(110)에 저장되는 아이템들로의 링크들에 대한 요청들을 수신할 수 있고(예를 들어, 소프트웨어 컴포넌트들 등으로부터), 이 요청들에 응답하여 이러한 링크들을 제공할 수 있다. 일 구현에서, 미디어 콘텐츠 아이템 관리자(145)는, 요청에 의해 명시되는 하나 이상의 키워드들에 기초하여 미디어 콘텐츠 아이템 저장소(110)에서의 특정 아이템들을 선택할 수 있고, 이러한 관련 콘텐츠 아이템들로의 링크들을 요청의 송신자에게 리턴한다. 일부 양상들에서, 미디어 콘텐츠 아이템 관리자(145)는 또한 개발자들에게(예를 들어, 웹 서버(140) 등을 통해) 소프트웨어 컴포넌트들을(예를 들어, 소프트웨어 컴포넌트 라이브러리(130) 등으로부터) 제공할 수 있을 수 있다. 미디어 콘텐츠 아이템 관리자(145)의 일부 동작들은 도 2와 도 6을 참조하여 이하 상세히 설명된다.
일 예에서, 서버 머신(115), 미디어 콘텐츠 아이템 저장소(110), 및 소프트웨어 컴포넌트 라이브러리(130)는 하나의 특정 조직(예를 들어, 콘텐츠 호스팅 및/또는 공유 플랫폼을 제공하는 조직)과 관련된다.
웹사이트 개발자 머신들(102A-102N)은, PC들(Personal Computers), 랩톱들, 태블릿 컴퓨터들, 스마트폰들 또는 임의의 다른 컴퓨팅 또는 통신 디바이스들이다. 일 예에서, 각각의 웹사이트 개발자 머신(102)은 서버 머신(115), 미디어 콘텐츠 아이템 저장소(110), 및 소프트웨어 컴포넌트 라이브러리(130)과 관련된 조직과는 상이한 조직에 속하는 인간 웹사이트 개발자와 관련된다.
웹사이트 개발자 머신들(102A-102N)은 웹사이트 개발자 머신들(102A-102N)의 하드웨어 및 소프트웨어를 관리하는 OS(Operating System)를 실행할 수 있다. 브라우저(도시되지 않음)는 웹사이트 개발자 머신들 상에서(예를 들어, 웹사이트 개발자 머신들의 OS 상에서) 실행될 수 있다. 브라우저는, 웹 서버(예를 들어, 서버 머신(115)에 의해 호스팅되는 웹 서버(140) 등)에 의해 서비스를 받는 웹 페이지들을 다운로드하여 렌더링할 수 있고, 웹 페이지들 내에 내장되거나 이에 의해 링크되는 아이템들(예를 들어, 이미지들, 소프트웨어 컴포넌트들[또는 "위젯들"] 등)을 다운로드할 수 있는 웹 브라우저일 수 있다.
도 2는 소프트웨어 컴포넌트에 대한 요청을 다루는 방법(200)의 일 예의 흐름도를 도시한다. 이러한 방법은, 하드웨어(회로, 전용 로직 등), (범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 바와 같은) 소프트웨어, 또는 이들 양자 모두의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 일 구현에서는, 이러한 방법이 도 1의 서버 머신(115)에 의해 실행되는 반면, 일부 다른 구현들에서는, 도 2의 하나 이상의 블록들이 다른 머신에 의해 실행될 수 있다.
설명의 간소화를 위해, 방법들은 일련의 행위들로서 도시되고 설명된다. 그러나, 본 개시내용에 따른 행위들은, 다양한 순서들로 및/또는 동시에, 그리고 본 명세서에 제시되어 설명되지 않은 다른 행위들과 함께, 발생할 수 있다. 또한, 도시된 모든 행위들이 개시된 주제에 따른 방법들을 구현할 것이 요구되는 것은 아닐 수 있다. 또한, 본 분야의 숙련자는 이러한 방법들이 상태도를 통한 일련의 상호연관된 상태들 또는 이벤트들로서 대안적으로 표현될 수 있다는 점을 이해하고 인식할 것이다. 또한, 본 명세서에 개시되는 방법들은 이러한 방법들을 컴퓨터 디바이스들에 전송 및 이송하는 것을 촉진하는 제조 물품 상에 저장될 수 있다는 점이 인식되어야 한다. 제조 물품이라는 용어는, 본 명세서에 사용되는 바와 같이, 임의의 컴퓨터 판독가능 디바이스 또는 스토리지 매체로부터 액세스할 수 있는 컴퓨터 프로그램을 포함하는 것으로 의도된다.
블록 201에서는, 소프트웨어 컴포넌트에 대한 요청이 수신된다. 일 구현에서, 이러한 요청은, 웹 서버(140)에 의해 웹사이트 개발자 머신으로부터 수신되고, 서버 머신(115)으로부터 다운로드되는 웹 페이지의 특정 링크, 버튼 등 상에 웹사이트 개발자가 클릭하는 것에 응답하여 생성될 수 있다. 웹사이트 개발자는, 검색엔진 쿼리를 통해서, 또는 웹사이트 개발자에 의해 수신된 이메일에서의 링크를 통해서 등으로 웹 페이지에 도달할 수 있다.
블록 202에서는, 요청된 소프트웨어 컴포넌트가 소프트웨어 컴포넌트 라이브러리(130)로부 검색되고, 블록 203에서는, 이러한 소프트웨어 컴포넌트가 웹사이트 개발자 머신에 송신된다. 일 구현에서는, 웹 콘텐츠 아이템 관리자(145)가 소프트웨어 컴포넌트를 검색하고 FTP(File Transfer Protocol)을 통해 소프트웨어 컴포넌트를 웹사이트 개발자 머신에 송신한다. 일부 다른 구현들에서, 소프트웨어 컴포넌트는, 웹사이트로부터(예를 들어, 웹사이트 개발자에게 제공되는 CD-ROM 배포로부터 등) 다운로드하는 것을 통하는 대신에, 일부 다른 방식으로 웹사이트 개발자에 의해 취득될 수 있다는 점이 주목되어야 한다.
도 3은 소프트웨어 컴포넌트가 클라이언트 머신에 의해 다운로드되고 실행되는 사용자 인터페이스에 내장되는 방법(300)의 일 예의 흐름도를 도시한다. 이러한 방법은, 하드웨어(회로, 전용 로직 등), (예를 들어, 범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 바와 같은) 소프트웨어, 또는 이들 양자 모두의 조합을 포함할 수 있는 처리 로직에 의해 수행된다.
블록 301에서는, 웹사이트 개발자 머신(예를 들어, 도 1의 머신들(102A 내지 102N) 중 하나)이 소프트웨어 컴포넌트를 수신한다. 일 구현에서, 웹사이트 개발자 머신은 특정 조직에 속하고, 소프트웨어 컴포넌트는 상이한 조직으로부터(예를 들어, 소프트웨어 컴포넌트 라이브러리(130)로부터 등) 수신된다.
블록 302에서는, 소프트웨어 컴포넌트가 사용자 인터페이스에 내장된다. 일부 다른 구현들에서, 사용자 인터페이스는 웹 페이지(예를 들어, 전자 상거래 회사의 웹 페이지, 쇼핑 검색엔진 서비스의 웹 페이지 등)일 수 있고, 소프트웨어 컴포넌트는 웹 페이지 내에 내장되는 자바스크립트(Javascript) 위젯, 액티브엑스(ActiveX) 제어 등 일 수 있는 반면, 일부 다른 구현들에서, 사용자 인터페이스는 브라우저와 무관하게 실행되는 애플리케이션의 일부일 수 있고, 소프트웨어 컴포넌트 사용자 인터페이스는 (예를 들어, 소스 코드, 자바(Java) 바이트코드, 오브젝트 코드 등으로서) 사용자 인터페이스 내에 내장되는 자바스크립트 위젯, 자바 오브젝트 등 일 수 있다.
블록 303에서는, 내장형 소프트웨어 컴포넌트를 갖는 사용자 인터페이스가 클라이언트 머신에 의해 (예를 들어, 그 사용자가 월드 와이드 웹(World Wide Web)을 통해 웹 페이지[예를 들어, 전자 상거래 회사의 또는 쇼핑 검색 엔진 서비스의 웹 페이지]를 브라우징하고 있는 스마트폰을 통해, 그 사용자가 "앱 스토어(app store)" 또는 다른 사이트로부터 사용자 인터페이스[예를 들어, 검색 엔진 애플리케이션, 야구 팀에 의해 제공되는 앱, 소매업자에 의해 제공되는 앱 등]를 포함하는 애플리케이션을 다운로드할 것을 선택한 스마트폰을 통해서 등) 다운로드된다. 블록 304에서는, 소프트웨어 컴포넌트가 클라이언트 머신에 의해 실행된다. 소프트웨어 컴포넌트가 웹 페이지 내에 내장되는 경우에는, 웹 페이지가 클라이언트 머신 상에서 실행되는 브라우저에 의해 렌더링될 때 소프트웨어 컴포넌트가 실행될 수 있는 반면, 소프트웨어 컴포넌트가 애플리케이션의 UI(User Interface) 내에 내장되는 경우에는, 애플리케이션 코드의 UI 부분이 클라이언트 머신에 의해 실행될 때 소프트웨어 컴포넌트가 실행될 수 있다.
도 4는 클라이언트 머신에 의해 실행될 때 내장형 소프트웨어 컴포넌트의 일부 동작들(400)의 일 예의 흐름도를 도시한다. 이러한 동작들은, 하드웨어(회로, 전용 로직 등), (예를 들어, 범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 바와 같은) 소프트웨어, 또는 이들 양자 모두의 조합을 포함할 수 있는 처리 로직에 의해 수행된다.
블록 401에서는, 소프트웨어 컴포넌트가 사용자 인터페이스(예를 들어, 도 5에 도시된 내장형 재생목록을 갖는 예시적 사용자 인터페이스(500) 등)에 재생목록을 포함시킨다. 사용자 인터페이스가 웹 페이지일 때, 소프트웨어 컴포넌트는 재생목록 위젯을 생성하여 이러한 위젯을 웹 페이지의 특정 영역에 디스플레이되도록 사용자 인터페이스의 마크업 언어 코드 내에 추가할 수 있다. 대안적으로, 사용자 인터페이스가 애플리케이션의 일부일 때, 소프트웨어 컴포넌트는 새로운 재생목록 오브젝트를 예시하여 사용자 인터페이스의 엘리먼트들에 이러한 재생목록 오브젝트를 추가할 수 있다. 일 구현에서, 재생목록 위젯 또는 오브젝트는, 미디어 콘텐츠 아이템들의 설명(예를 들어, 미디어 콘텐츠 아이템들의 제목들 및/또는 비디오 클립 아이템의 프레임의 썸네일(thumbnail))을 제시하고, 사용자가 미디어 콘텐츠 아이템들 중 하나를 선택할 수 있게 하는 제1 영역, 및 선택된 미디어 콘텐츠 아이템이 재생되는 제2 영역을 포함한다. 일부 다른 구현들은, 재생목록 대신에 위젯 또는 오브젝트의 상이한 타입(예를 들어, 미디어 콘텐츠 아이템들이 순서화된 목록 대신에 순서화되지 않은 세트에 의해 설명되는 위젯 또는 오브젝트 등)을 생성할 수 있다는 점이 주목되어야 한다.
블록 402에서는, 소프트웨어 컴포넌트가, 사용자 인터페이스에서의 콘텐츠(예를 들어, 텍스트, 버튼 라벨들, 메타데이터 태그들 등)를 분석하고, 콘텐츠에 기초하여 하나 이상의 키워드들을 취득한다. ("키워드"라는 용어는 본 명세서에서 다수 워드 구절들(예를 들어, "Barack Obama", "San Francisco Giants" 등) 뿐만 아니라 단일 워드들을 포함하는데 사용된다는 점이 주목되어야 한다.) 예를 들어, 도 5의 예시적인 사용자 인터페이스(500)에서, 하나 이상의 키워드들은 "Broan", "Trash Compactor", "Stainless Steel" 등을 포함할 수 있다. 소프트웨어 컴포넌트가 객체-지향형 애플리케이션에서의 오브젝트일 때, 소프트웨어 컴포넌트는 객체-지향형 프로그래밍 언어에 의해 제공되는 자체-반영(self-reflection) 메커니즘을 통해 런타임시 사용자 인터페이스에서의 콘텐츠를 분석할 수 있다는 점이 주목되어야 한다. 블록 403에서는, 블록 402에서 취득된 키워드(들)를 명시하고 키워드(들)에 관련된 미디어 콘텐츠 아이템들로의 링크들을 요청하는 요청을 소프트웨어 컴포넌트가 송신한다. 일부 구현들에서, 이러한 요청은 또한, 사용자에 의해 허용될 때(예를 들어, 웹사이트 또는 애플리케이션이 현재 위치를 사용하는 것에 대한 허가를 요청하는 운영 체제로부터의 프롬프트에 사용자가 긍정적으로 응답할 때 등) 클라이언트 머신의 현재 위치를 명시할 수 있다. 일 양상에 따르면, 이러한 요청은 서버 머신(115)에 송신되어 이에 의해 다뤄진다. 이러한 요청을 다루는 방법은 도 6에 대해 이하 상세히 설명된다.
블록 404에서는, 소프트웨어 컴포넌트가 블록 403에서 송신된 쿼리에 응답하여 미디어 콘텐츠 아이템들로의 링크들을 수신한다. 일부 구현들에서는, 블록 404에서 수신되는 이러한 링크들이 분류될 수 있는 반면, 일부 다른 구현들에서는, 이러한 링크들이 순서화되지 않은 세트로서 리턴될 수 있다. 일 양상에서, 소프트웨어 컴포넌트는, 현재 위치, 관련도 점수들(relevancy scores), 미디어 콘텐츠 아이템들의 저자들 등과 같은 하나 이상의 기준에 기초하여 링크들을 분류하거나 또는 재분류할 수 있다.
일 실시예에서, 링크들은 서버 머신(115)으로부터 수신되며 미디어 콘텐츠 아이템 저장소(110)에서의 미디어 콘텐츠 아이템들에 대한 포인트이다. 블록 405에서는, 소프트웨어 컴포넌트가, 블록 401에서 UI에 포함되는 재생목록을, 블록 404에서 수신되는 미디어 콘텐츠 아이템들로의 링크들로 채운다. 일부 다른 실시예들에서는, 소프트웨어 컴포넌트가, 사용자 인터페이스에 재생목록을 포함시킬 수 있고, 도 4의 방법에서와 같이, 런타임시 동적으로 대신에, 컴파일시(예를 들어, 사용자 인터페이스의 다운로딩 및 실행 이전에 코드 또는 마크업 언어를 수정하는 것을 통해) 재생목록을 채울 수 있다는 점이 주목되어야 한다.
도 6은 하나 이상의 키워드들에 관련되는 미디어 콘텐츠 아이템들로의 링크들에 대한 요청을 처리하는 방법(600)의 일 예의 흐름도를 도시한다. 이러한 방법은, 하드웨어(회로, 전용 로직 등), (예를 들어, 범용 컴퓨터 시스템 또는 전용 머신 상에서 실행되는 바와 같은) 소프트웨어, 또는 이들 양자 모두의 조합을 포함할 수 있는 처리 로직에 의해 수행된다. 일 구현에서는, 이러한 방법이 도 1의 서버 머신(115)에 의해 수행되는 반면, 일부 다른 구현들에서는, 도 6의 하나 이상의 블록들이 다른 머신에 의해 수행될 수 있다.
블록 601에서는, 하나 이상의 키워드들을 명시하고 키워드(들)에 관련된 미디어 콘텐츠 아이템로의 링크들을 요청하는 요청이 수신된다. 일 구현에서, 이러한 요청은 HTTP(HyperText Transfer Protocol)을 통해 내장형 소프트웨어 컴포넌트에 의해 미디어 콘텐츠 아이템 관리자(145)에 송신되는 웹 서비스 호출(invocation)이다.
블록 602에서는, 블록 601에서 수신된 키워드(들)에 기초하여 하나 이상의 키워드들의 새로운 세트가 생성된다. 일 구현에서는, 미디어 콘텐츠 아이템 관리자(145)가, 표준 키워드들의 사전(도면들에 도시되지 않음)을 참고할 수 있고, 이러한 사전에 따라서, 필요에 따라, 블록 601에서 수신된 키워드(들)을 "해석"할 수 있다. 이외에도, 미디어 콘텐츠 아이템 관리자(145)는 또한, 불필요한(redundant) 키워드들을 삭제할 수 있고, 하나 이상의 추가적 관련된 키워드들을 새로운 키워드 세트에 포함시킬 수 있다.
블록 603에서는, 키워드들의 새로운 세트를 명시하고 키워드들에 관련되는 미디어 콘텐츠 아이템들로의 링크들을 요청하는 쿼리가 제출된다. 일 구현에서, 이러한 쿼리는 미디어 콘텐츠 아이템 관리자(145)에 의해 미디어 콘텐츠 아이템 저장소(110)에 송신된다.
블록 604에서는, 관련 미디어 콘텐츠 아이템들로의 링크들이 블록 603의 쿼리에 응답하여 수신된다. 일 구현에서, 미디어 콘텐츠 아이템 저장소(110)는, 키워드(들)의 새로운 세트에 기초하여 관련 콘텐츠 아이템들을 선택하고, 미디어 콘텐츠 아이템 관리자(145)에 이러한 링크들을 리턴한다. 일부 구현들에서는, 이러한 링크들이 미디어 콘텐츠 아이템 저장소(110)에 의해 리턴될 때 분류될 수 있는 반면, 일부 다른 구현들에서는, 이러한 링크들이 순서화되지 않은 세트로서 리턴될 수 있다. 링크들이 분류되는 구현들에서, 이러한 분류는, 미디어 콘텐츠 아이템에 관한 키워드들에 대한 관련도 점수, 요청을 제출하는 클라이언트 머신의 현재 위치, 미디어 콘텐츠 아이템의 저자 등과 같은 하나 이상의 기준에 기초할 수 있다.
블록 605에서는, 선택된 콘텐츠 아이템들로의 링크들이 블록 601의 요청의 송신자에게 송신된다. 일 구현에서, 미디어 콘텐츠 아이템 관리자(145)는 하나 이상의 HTTP 메시지들을 통해 내장형 소프트웨어 컴포넌트에 이러한 링크들을 리턴한다. 일부 구현들에서, 미디어 콘텐츠 아이템 관리자(145)는 링크들을 내장형 소프트웨어 컴포넌트에 리턴하기 이전에 링크들을 처리할 수 있다(예를 들어, 링크의 수를 최대로 제한하거나, 다양한 다른 기준에 따라 링크들을 분류 또는 재분류하는 등).
도 7은, 머신으로 하여금 본 명세서에 논의되는 방법론들 중 임의의 하나 이상을 수행하게 하는, 명령어들의 세트가 그 내에서 실행될 수 있는 예시적 컴퓨터 시스템을 도시한다. 대안적인 구현들에서, 머신은, LAN, 인트라넷, 엑스트라넷, 또는 인터넷 내에 있는 다른 머신들에 접속될 수 있다(예를 들어, 네트워킹될 수 있다). 머신은 클라이언트-서버 네트워크 환경에서 서버 머신의 자격으로 동작할 수 있다. 머신은 PC(Personal Computer), STB(Set-Top Box), 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 그 머신에 의해 취해질 액션들을 명시하는 (순차적인 또는 다른 방식의) 명령어들의 세트를 실행할 수 있는 임의의 머신일 수 있다. 또한, 단일 머신만이 도시되지만, "머신"이라는 용어는 또한 본 명세서에 논의되는 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 머신들의 임의의 집합을 포함하는 것으로 고려되어야 한다.
예시적인 컴퓨터 시스템(700)은, 버스(708)를 통해 상호 통신하는, 처리 시스템(프로세서)(702), 메인 메모리(704)(예를 들어, ROM(Read-Only Memory), 플래시 메모리, SDRAM(Synchronous DRAM)과 같은 DRAM(Dynamic Random Access Memory)), 정적 메모리(706)(예를 들어, 플래시 메모리, SRAM(Static Random Access Memory)), 및 데이터 스토리지 디바이스(716)를 포함한다.
프로세서(702)는, 마이크로프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 범용 처리 디바이스들을 나타낸다. 보다 구체적으로, 프로세서(702)는, CISC(Complex Instruction Set Computing) 마이크로프로세서, RISC(Reduced Instruction Set Computing) 마이크로프로세서, VLIW(Very Long Instruction Word) 마이크로프로세서, 또는 다른 명령어 세트들을 구현하는 프로세서 또는 명령어 세트들의 조합을 구현하는 프로세서들일 수 있다. 프로세서(702)는 또한 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 디바이스들일 수 있다. 프로세서(702)는 본 명세서에 논의되는 동작들과 단계들을 수행하는 명령어들(726)을 실행하도록 구성된다.
컴퓨터 시스템(700)은 네트워크 인터페이스 디바이스(722)를 더 포함할 수 있다. 컴퓨터 시스템(700)은 또한 비디오 디스플레이 유닛(710)(예를 들어, LCD(Liquid Crystal Display) 또는 CRT(Cathode Ray Tube)), 영숫자 입력 디바이스(712)(예를 들어, 키보드), 커서 제어 디바이스(714)(예를 들어, 마우스), 및 신호 생성 디바이스(720)(예를 들어, 스피커)를 포함할 수 있다.
데이터 스토리지 디바이스(716)는 본 명세서에 설명되는 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어들(726)(예를 들어, 웹 페이지 관리자(225)에 의해 실행되는 명령어들 등)의 하나 이상의 세트가 저장되는 컴퓨터 판독가능 매체(724)를 포함할 수 있다. 명령어들(726)은 또한 컴퓨터 시스템(700)에 의한 그의 실행 동안 메인 메모리(704) 내에 및/또는 프로세서(702) 내에, 전부 또는 적어도 일부, 상주할 수 있으며, 메인 메모리(704) 및 프로세서(702) 또한 컴퓨터 판독가능 매체를 구성한다. 명령어들(726)은 네트워크 인터페이스 디바이스(722)를 경유하여 네트워크를 통해 더욱 송신되거나 수신될 수 있다.
컴퓨터 판독가능 스토리지 매체(724)는 예시적인 실시예에서 단일 매체인 것으로 도시되지만, "컴퓨터 판독가능 스토리지 매체"라는 용어는 명령어들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다수의 매체(예를 들어, 집중형 또는 분산형 데이터베이스, 및/또는 관련된 캐시들 및 서버들)를 포함하는 것으로 고려되어야 한다. "컴퓨터 판독가능한 스토리지 매체"라는 용어는 또한, 머신에 의한 실행을 위해 명령어들의 세트를 저장하거나, 인코딩하거나, 또는 운반할 수 있고, 머신으로 하여금 본 개시내용의 방법론들 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 고려되어야 한다. "컴퓨터 판독가능한 스토리지 매체"라는 용어는 따라서, 이에 제한되는 것은 아니지만, 솔리드-스테이트 메모리들(solid-state memories), 광 매체, 및 자기 매체를 포함하는 것으로 고려되어야 한다.
위의 설명에서 다양한 상세들이 제시된다. 그러나, 본 개시내용의 이익을 갖는 통상의 기술자에게는 이러한 특정 상세들 없이도 실시예들이 실시될 수 있다는 점이 명백할 것이다. 일부 예들에서는, 설명을 불명료하게 하는 것을 회피하기 위해서, 잘 알려진 구조들 및 디바이스들은, 상세히 대신에, 블록도 형태로 도시된다.
상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 심볼 표현들에 관하여 제시된다. 이들 알고리즘 설명들 및 표현들은, 데이터 처리 분야의 통상의 기술자들에 의해 그들의 작업의 본질을 그 분야의 다른 통상의 기술자들에게 가장 효과적으로 전달하는데 사용되는 수단이다. 여기서 그리고 일반적으로, 알고리즘은 원하는 결과를 야기하는 단계들의 일관성 있는 시퀀스라고 생각된다. 단계들은 물리량들의 물리적인 조작을 요구하는 것들이다. 일반적으로, 반드시 그러하지는 않지만, 이러한 양들은 저장, 송신, 조합, 비교, 및 달리 조작이 가능한 전기 또는 자기 신호들의 형태를 취한다. 주로 통상적인 사용의 이유로, 이러한 신호들을 비트들, 값들, 엘리먼트들, 심볼들, 문자들, 용어들, 숫자들 등으로 지칭하는 것이 때로는 편리한 것으로 밝혀졌다.
그러나, 이러한 용어들 및 유사한 용어들 모두가 적절한 물리적 양들과 연관되는 것이며, 이러한 양들에 적용되는 단지 편리한 레이블들일 뿐이라는 점을 명심해야 한다. 상기 논의로부터 명백한 바와 같이 명시적으로 달리 언급하지 않는 한, 설명 전반적으로, "제공하는(providing)", "포함하는(including)", "채우는(populating)", "송신하는(transmitting)" 등과 같은 용어들을 이용하는 논의들은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적 (예를 들어, 전자적) 양들로서 표현되는 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들, 또는 다른 이러한 정보 스토리지, 송신 또는 디스플레이 디바이스들 내의 물리량들로서 유사하게 표현되는 다른 데이터로 변환하는, 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 동작들 및 처리들을 지칭한다는 점이 이해된다.
본 개시내용의 양상들 및 구현들은 또한 본 명세서에서 동작들을 수행하는 장치에 관련된다. 이러한 장치는 요구되는 목적들을 위해 특별히 구성될 수 있거나, 또는 이는 컴퓨터에 저장되는 컴퓨터 프로그램에 의해 선택적으로 작동되거나 또는 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 이에 제한되는 것은 아니지만, 플로피 디스크들, 광 디스크들, CD-ROM들, 및 광자기 디스크들을 포함하는 임의의 타입의 디스크, ROM들(Read-Only Memories), RAM들(Random Access Memories), EPROM들, EEPROM들, 자기 또는 광 카드들, 또는 전자 명령어들을 저장하기에 적합한 임의 타입의 매체와 같은, 컴퓨터 판독가능 스토리지 매체에 저장될 수 있다.
본 명세서에 제시되는 알고리즘들 및 디스플레이들가 본질적으로 임의의 특정 컴퓨터 또는 다른 장치에 관련되는 것은 아니다. 다양한 범용 시스템들이 본 명세서에서의 교시 내용들에 따른 프로그램들과 함께 사용될 수 있거나, 또는 요구되는 방법 단계들을 수행하도록 보다 특수화된 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 다양한 이러한 시스템들에 대해 요구되는 구조는 이하의 설명으로부터 나타날 것이다. 또한, 본 개시내용이 임의의 특정 프로그래밍 언어를 참조하여 설명되는 것은 아니다. 본 명세서에서 설명되는 바와 같은 본 개시내용의 교시내용들을 구현하는데 다양한 프로그래밍 언어들이 사용될 수 있다는 점이 이해될 것이다.
위의 설명은 제한적이 아니라 예시적인 것으로 의도된다는 점이 이해되어야 한다. 위의 설명을 읽고 이해하면 많은 다른 실시예들이 통상의 기술자들에게 명백할 것이다. 더욱이, 위에 설명된된 기술들은 미디어 클립들(예를 들어, 이미지들, 오디오 클립들, 텍스트 문서들, 웹페이지들 등) 대신에 또는 이에 추가하여 데이터의 다른 타입들에 적용될 수 있다. 따라서, 본 개시내용의 범위는, 첨부된 청구항들을 참조하여, 이러한 청구항들이 권리를 갖는 균등물들의 전체 범위와 함께, 결정되어야 한다.

Claims (20)

  1. 제1 콘텐츠 플랫폼의 제1 컴퓨터 시스템에서, 제2 콘텐츠 플랫폼의 제2 컴퓨터 시스템으로부터 사전 정의된 애플리케이션 컴포넌트를 수신하는 단계;
    상기 제1 콘텐츠 플랫폼과 관련된 콘텐츠를 제시하는 소프트웨어 애플리케이션의 사용자 인터페이스에 상기 사전 정의된 애플리케이션 컴포넌트를 내장하는(embedding) 단계; 및
    상기 사용자 인터페이스를 사용자 모바일 디바이스에서의 제시를 위해 제공되도록 하는 단계 - 상기 사용자 인터페이스에서의 상기 사전 정의된 애플리케이션 컴포넌트는 상기 사용자 모바일 디바이스로 하여금, 상기 사용자 인터페이스에서 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠 및 재생목록을 제시하게 하고, 상기 재생목록은 순차적으로 재생될 비디오들의 순서화된 세트를 표현하고, 상기 비디오들의 순서화된 세트는 제1 비디오 및 제2 비디오를 포함하고, 상기 제1 비디오 및 제2 비디오는 복수의 비디오로부터 선택되고 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠에 대한 상기 제1 비디오 및 상기 제2 비디오의 관련도 점수에 기초하여 분류됨(ranked) -
    를 포함하고,
    사용자가 상기 재생목록에서 상기 제1 비디오의 표현을 선택하는 것에 응답하여, 상기 제1 비디오의 재생이 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠의 제시와 함께 상기 사용자 인터페이스에 제공되는, 방법.
  2. 제1항에 있어서,
    상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠 및 상기 제1 비디오의 재생은 상기 사용자가 다른 사용자 인터페이스를 방문하지 않고 상기 사용자 인터페이스에서 함께 제공되는 방법.
  3. 제1항에 있어서,
    상기 사용자 모바일 디바이스에 의한 상기 사전 정의된 애플리케이션 컴포넌트의 실행은, 하나 이상의 키워드가 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠에 기초하여 취득되게 하고, 상기 하나 이상의 키워드 중 적어도 하나를 지정하는 요청을 상기 제2 콘텐츠 플랫폼의 제2 컴퓨팅 시스템으로 전송되도록 하는, 방법.
  4. 제3항에 있어서,
    상기 요청은 상기 하나 이상의 키워드 중 상기 적어도 하나에 기초하여 선택될 하나 이상의 비디오에 대한 것인, 방법.
  5. 제1항에 있어서,
    상기 제1 콘텐츠 플랫폼을 위한 상기 콘텐츠는 상기 사용자 인터페이스의 재생 영역에서 상기 제1 비디오의 재생 및 상기 사용자 인터페이스의 재생목록 영역에서의 상기 재생목록의 제시와 함께 제공되는 방법.
  6. 제1항에 있어서,
    상기 제1 비디오 및 상기 제2 비디오는, 상기 제1 비디오 및 상기 제2 비디오의 관련도 점수, 상기 사용자 모바일 디바이스의 현재 위치, 또는 상기 제1 비디오 및 상기 제2 비디오의 저자 중 적어도 하나를 포함하는 하나 이상의 기준에 기초하여 상기 제2 컴퓨터 시스템에 의해 분류되는(ranked), 방법.
  7. 제1항에 있어서,
    상기 제1 비디오 및 상기 제2 비디오는 상기 제2 콘텐츠 플랫폼의 데이터 저장소에 존재하는 방법.
  8. 제1 콘텐츠 플랫폼과 연관된 제1 컴퓨터 시스템으로서,
    메모리; 및
    상기 메모리에 동작가능하게 결합된 처리 디바이스
    를 포함하고, 상기 처리 디바이스는,
    제2 콘텐츠 플랫폼과 연관된 제2 컴퓨터 시스템으로부터 사전 정의된 애플리케이션 컴포넌트를 수신하고;
    상기 제1 콘텐츠 플랫폼과 관련된 콘텐츠를 제시하는 소프트웨어 애플리케이션의 사용자 인터페이스에 상기 사전 정의된 애플리케이션 컴포넌트를 내장하고(embedding);
    상기 사용자 인터페이스를 사용자 모바일 디바이스에서의 제시를 위해 제공되도록 하고 - 상기 사용자 인터페이스에서의 상기 사전 정의된 애플리케이션 컴포넌트는 상기 사용자 모바일 디바이스로 하여금, 상기 사용자 인터페이스에서 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠 및 재생목록을 제시하게 하고, 상기 재생목록은 순차적으로 재생될 비디오들의 순서화된 세트를 표현하고, 상기 비디오들의 순서화된 세트는 제1 비디오 및 제2 비디오를 포함하고, 상기 제1 비디오 및 제2 비디오는 복수의 비디오로부터 선택되고 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠에 대한 상기 제1 비디오 및 상기 제2 비디오의 관련도 점수에 기초하여 분류됨(ranked) -,
    사용자가 상기 재생목록에서 상기 제1 비디오의 표현을 선택하는 것에 응답하여, 상기 제1 비디오의 재생이 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠의 제시와 함께 상기 사용자 인터페이스에 제공되는, 시스템.
  9. 제8항에 있어서,
    상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠 및 상기 제1 비디오의 재생은 상기 사용자가 상기 사용자 인터페이스를 떠나지 않고 상기 사용자 인터페이스에서 함께 제공되는 시스템.
  10. 제8항에 있어서,
    상기 사용자 모바일 디바이스에 의한 상기 사전 정의된 애플리케이션 컴포넌트의 실행은, 하나 이상의 키워드가 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠에 기초하여 취득되게 하고, 상기 하나 이상의 키워드 중 적어도 하나를 지정하는 요청을 상기 제2 콘텐츠 플랫폼의 제2 컴퓨팅 시스템으로 전송되도록 하는, 시스템.
  11. 제10항에 있어서,
    상기 요청은 상기 하나 이상의 키워드 중 상기 적어도 하나에 기초하여 선택될 하나 이상의 비디오에 대한 것인, 시스템.
  12. 제8항에 있어서,
    상기 제1 비디오 및 상기 제2 비디오는, 상기 제1 비디오 및 상기 제2 비디오의 관련도 점수, 상기 사용자 모바일 디바이스의 현재 위치, 또는 상기 제1 비디오 및 상기 제2 비디오의 저자 중 적어도 하나를 포함하는 하나 이상의 기준에 기초하여 상기 제2 컴퓨터 시스템에 의해 분류되는(ranked), 시스템.
  13. 제8항에 있어서,
    상기 제1 콘텐츠 플랫폼과 연관된 상기 콘텐츠는 상기 사용자 인터페이스의 재생 영역에서 상기 제1 비디오의 재생 및 상기 사용자 인터페이스의 재생목록 영역에서의 상기 재생목록의 제시와 함께 제공되는 시스템.
  14. 명령어들이 저장된 비일시적 컴퓨터 판독 가능 매체로서, 상기 명령어들은 실행될 때 제1 콘텐츠 플랫폼과 연관된 제1 컴퓨터 시스템의 처리 디바이스로 하여금,
    제2 콘텐츠 플랫폼과 연관된 제2 컴퓨터 시스템으로부터 사전 정의된 애플리케이션 컴포넌트를 수신하고;
    상기 제1 콘텐츠 플랫폼과 관련된 콘텐츠를 제시하는 소프트웨어 애플리케이션의 사용자 인터페이스에 상기 사전 정의된 애플리케이션 컴포넌트를 내장하고(embedding);
    상기 사용자 인터페이스를 사용자 모바일 디바이스에서의 제시를 위해 제공되도록 - 상기 사용자 인터페이스에서의 상기 사전 정의된 애플리케이션 컴포넌트는 상기 사용자 모바일 디바이스로 하여금, 상기 사용자 인터페이스에서 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠 및 재생목록을 제시하게 하고, 상기 재생목록은 순차적으로 재생될 비디오들의 순서화된 세트를 표현하고, 상기 비디오들의 순서화된 세트는 제1 비디오 및 제2 비디오를 포함하고, 상기 제1 비디오 및 제2 비디오는 복수의 비디오로부터 선택되고 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠에 대한 상기 제1 비디오 및 상기 제2 비디오의 관련도 점수에 기초하여 분류됨(ranked) -,
    하게끔 하고,
    사용자가 상기 재생목록에서 상기 제1 비디오의 표현을 선택하는 것에 응답하여, 상기 제1 비디오의 재생이 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠의 제시와 함께 상기 사용자 인터페이스에 제공되는, 컴퓨터 판독 가능 매체.
  15. 제14항에 있어서,
    상기 제1 비디오 및 상기 제2 비디오는, 상기 제1 비디오 및 상기 제2 비디오의 관련도 점수, 상기 사용자 모바일 디바이스의 현재 위치, 또는 상기 제1 비디오 및 상기 제2 비디오의 저자 중 적어도 하나를 포함하는 하나 이상의 기준에 기초하여 상기 제2 컴퓨터 시스템에 의해 분류되는(ranked), 컴퓨터 판독 가능 매체.
  16. 제14항에 있어서,
    상기 사용자 모바일 디바이스에 의한 상기 사전 정의된 애플리케이션 컴포넌트의 실행은, 하나 이상의 키워드가 상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠에 기초하여 취득되게 하고, 상기 하나 이상의 키워드 중 적어도 하나를 지정하는 요청을 상기 제2 콘텐츠 플랫폼의 제2 컴퓨팅 시스템으로 전송되도록 하는, 컴퓨터 판독 가능 매체.
  17. 제16항에 있어서,
    상기 요청은 상기 하나 이상의 키워드 중 상기 적어도 하나에 기초하여 선택될 하나 이상의 비디오에 대한 것인, 컴퓨터 판독 가능 매체.
  18. 제14항에 있어서,
    상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠 및 상기 제1 비디오의 재생은 상기 사용자가 상기 사용자 인터페이스를 떠나지 않고 상기 사용자 인터페이스에서 제시되는 컴퓨터 판독 가능 매체.
  19. 제14항에 있어서,
    상기 제1 콘텐츠 플랫폼과 연관된 콘텐츠는 상기 사용자 인터페이스의 재생 영역에서 상기 제1 비디오의 재생 및 상기 사용자 인터페이스의 재생목록 영역에서의 상기 재생목록의 제시와 함께 제공되는 컴퓨터 판독 가능 매체.
  20. 제14항에 있어서,
    상기 제1 비디오 및 상기 제2 비디오는 상기 제2 콘텐츠 플랫폼의 데이터 저장소에 존재하는 컴퓨터 판독 가능 매체.
KR1020217023931A 2013-06-12 2014-05-22 내장가능형 미디어 콘텐츠 검색 위젯 KR102344780B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/916,290 US9805406B2 (en) 2013-06-12 2013-06-12 Embeddable media content search widget
US13/916,290 2013-06-12
KR1020167000561A KR102284761B1 (ko) 2013-06-12 2014-05-22 내장가능형 미디어 콘텐츠 검색 위젯
PCT/US2014/039242 WO2014200684A1 (en) 2013-06-12 2014-05-22 Embeddable media content search widget

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000561A Division KR102284761B1 (ko) 2013-06-12 2014-05-22 내장가능형 미디어 콘텐츠 검색 위젯

Publications (2)

Publication Number Publication Date
KR20210097221A true KR20210097221A (ko) 2021-08-06
KR102344780B1 KR102344780B1 (ko) 2021-12-28

Family

ID=52020055

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167000561A KR102284761B1 (ko) 2013-06-12 2014-05-22 내장가능형 미디어 콘텐츠 검색 위젯
KR1020217023931A KR102344780B1 (ko) 2013-06-12 2014-05-22 내장가능형 미디어 콘텐츠 검색 위젯

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167000561A KR102284761B1 (ko) 2013-06-12 2014-05-22 내장가능형 미디어 콘텐츠 검색 위젯

Country Status (6)

Country Link
US (1) US9805406B2 (ko)
EP (1) EP3008591A4 (ko)
JP (2) JP6437537B2 (ko)
KR (2) KR102284761B1 (ko)
CN (1) CN105283843B (ko)
WO (1) WO2014200684A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150356529A1 (en) * 2014-06-10 2015-12-10 Disney Enterprises, Inc. Digital Purchase Transfers Between Separate Retailers
US10482144B2 (en) * 2016-08-01 2019-11-19 Facebook, Inc. Systems and methods to manage media content items
CN106657601B (zh) * 2016-10-31 2019-10-01 努比亚技术有限公司 智能终端操作的引导装置及方法
US10499090B2 (en) * 2016-12-30 2019-12-03 Facebook, Inc. Systems and methods to transition between media content items
US9936230B1 (en) * 2017-05-10 2018-04-03 Google Llc Methods, systems, and media for transforming fingerprints to detect unauthorized media content items
US20180341716A1 (en) * 2017-05-26 2018-11-29 Microsoft Technology Licensing, Llc Suggested content generation
US20210248668A1 (en) 2018-09-11 2021-08-12 Nippon Food Manufacturer Co. Virtual store provision system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040788A (ja) * 2006-08-07 2008-02-21 Value Commerce Co Ltd Rss広告配信方法、rss広告配信装置
JP2011508925A (ja) * 2007-12-28 2011-03-17 アマゾン テクノロジーズ インコーポレーテッド 行動関連性のウィジェット支援による検出および公表

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010042107A1 (en) 2000-01-06 2001-11-15 Palm Stephen R. Networked audio player transport protocol and architecture
US7565332B2 (en) * 2006-10-23 2009-07-21 Chipin Inc. Method and system for providing a widget usable in affiliate marketing
US8260687B2 (en) * 2007-04-16 2012-09-04 Ebay Inc. Distributed commerce application-widget
US9224149B2 (en) * 2007-10-15 2015-12-29 Google Inc. External referencing by portable program modules
US8145521B2 (en) * 2008-07-15 2012-03-27 Google Inc. Geographic and keyword context in embedded applications
US8352913B2 (en) 2009-08-07 2013-01-08 Adobe Systems Incorporated Generating and resolving component names in an integrated development environment
US9721035B2 (en) 2010-06-30 2017-08-01 Leaf Group Ltd. Systems and methods for recommended content platform
CN102693238B (zh) * 2011-03-23 2015-09-16 青岛海信电器股份有限公司 Widget应用方法、系统及多媒体终端
US20140298184A1 (en) * 2013-03-26 2014-10-02 Larry Bailin Computer-implemented system and method for integrating and managing product specific data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040788A (ja) * 2006-08-07 2008-02-21 Value Commerce Co Ltd Rss広告配信方法、rss広告配信装置
JP2011508925A (ja) * 2007-12-28 2011-03-17 アマゾン テクノロジーズ インコーポレーテッド 行動関連性のウィジェット支援による検出および公表

Also Published As

Publication number Publication date
EP3008591A4 (en) 2017-01-18
JP6437537B2 (ja) 2018-12-12
JP2019040629A (ja) 2019-03-14
KR102284761B1 (ko) 2021-08-03
EP3008591A1 (en) 2016-04-20
CN105283843A (zh) 2016-01-27
KR20160018770A (ko) 2016-02-17
JP6695952B2 (ja) 2020-05-20
CN105283843B (zh) 2020-02-18
US20140372255A1 (en) 2014-12-18
WO2014200684A1 (en) 2014-12-18
KR102344780B1 (ko) 2021-12-28
US9805406B2 (en) 2017-10-31
JP2016529583A (ja) 2016-09-23

Similar Documents

Publication Publication Date Title
US11163777B2 (en) Smart content recommendations for content authors
US20210182415A1 (en) Querying in big data storage formats
KR102344780B1 (ko) 내장가능형 미디어 콘텐츠 검색 위젯
US10394949B2 (en) Deconstructing documents into component blocks for reuse in productivity applications
US10733358B2 (en) Method and system for site migration
US20200334313A1 (en) Personalizing a search of a search service
US10956438B2 (en) Catalog with location of variables for data
US10496686B2 (en) Method and system for searching and identifying content items in response to a search query using a matched keyword whitelist
US20150254216A1 (en) Contextual hyperlink insertion
US9760557B2 (en) Tagging autofill field entries
US9619570B2 (en) Searching content based on transferrable user search contexts
RU2693193C1 (ru) Автоматизированное извлечение информации
CN110110184B (zh) 信息查询方法、系统、计算机系统及存储介质
US10567845B2 (en) Embeddable media content search widget
US10417288B2 (en) Search of web page metadata using a find function
US9098228B2 (en) Determining content rendering capabilities for web browser optimization
US9530094B2 (en) Jabba-type contextual tagger
Saha et al. A Lightweight and Precise Information Retrieval System for Organisational Wiki
Hasiholan Tobing Web Mining on Official Website of Indonesia Banks: A Three-Tier Application

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant