KR101612390B1 - 호스트 디바이스의 능력들의 증강 - Google Patents
호스트 디바이스의 능력들의 증강 Download PDFInfo
- Publication number
- KR101612390B1 KR101612390B1 KR1020157007627A KR20157007627A KR101612390B1 KR 101612390 B1 KR101612390 B1 KR 101612390B1 KR 1020157007627 A KR1020157007627 A KR 1020157007627A KR 20157007627 A KR20157007627 A KR 20157007627A KR 101612390 B1 KR101612390 B1 KR 101612390B1
- Authority
- KR
- South Korea
- Prior art keywords
- computing device
- host device
- network
- capability
- instructions
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/002—Special television systems not provided for by H04N7/007 - H04N7/18
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4112—Peripherals receiving signals from specially adapted client devices having fewer capabilities than the client, e.g. thin client having less processing power or no tuning capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25833—Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25858—Management of client data involving client software characteristics, e.g. OS identifier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4108—Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/42204—User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
호스트 디바이스의 능력들을 증강시키기 위한 시스템, 적어도 하나의 프로그램을 저장하는 컴퓨터 판독가능 저장 매체, 및 컴퓨터 구현 방법이 제시된다. 호스트 디바이스 상의 제 1 애플리케이션이 실행되고, 여기서, 제 1 애플리케이션은 제 2 디바이스 상에서 실행되도록 구성되고, 제 2 디바이스 상에서 실행가능한 능력을 이용하도록 구성되고, 여기서, 능력은 호스트 디바이스에는 포함되지 않는다. 제 2 디바이스에서 이용가능한 능력을 이용하기 위한 요청이 제 1 애플리케이션으로부터 수신되고, 여기서, 제 1 애플리케이션은 제 2 디바이스의 능력들에 대한 정보를 갖지 않는다. 적어도 하나의 네트워크를 통해 제 2 디바이스로의 접속이 설정된다. 제 2 디바이스 상에서 이용가능한 능력을 제 1 애플리케이션에 제공하기 위해, 적어도 하나의 네트워크를 통해 제 1 애플리케이션과 제 2 디바이스 사이에서 통신들이 용이하게 된다.
Description
개시된 실시예들은 일반적으로 호스트 디바이스의 능력들을 증강시키는 것에 관한 것이다.
전자 디바이스들은 통상적으로 고정된 세트의 고유 능력들을 포함한다. 예를 들어, 디지털 텔레비젼 셋탑 박스는 디지털 텔레비젼 신호들을 수신하고 디코딩하는 능력을 포함하지만, 셀룰러 폰 네트워크를 이용하여 전화 통화를 하는 능력을 포함하지는 않는다. 스마트 폰은 셀룰러 네트워크를 이용하여 전화 통화를 하는 능력을 포함하지만, 디지털 텔레비젼 신호들을 수신하고 디코딩하는 능력을 포함하지는 않는다. 제 2 디바이스의 능력들로 제 1 디바이스의 능력들을 증강시키는 것이 바람직하다.
본 명세서에 개시된 실시예들은, 첨부된 도면들의 도시들에서 제한의 방식이 아닌 예시의 방식으로 예시된다. 도면들 전반에 걸쳐 유사한 참조 부호들은 대응하는 부분들을 지칭한다.
도 1은 몇몇 실시예들에 따른 네트워크 시스템을 예시하는 블록도이다.
도 2a는 몇몇 실시예들에 따라, 디바이스를 호스트 디바이스와 페어링(pairing)하는 예시적인 프로세스를 예시하는 블록도이다.
도 2b는 몇몇 실시예들에 따라, 호스트 디바이스 상에서 실행되는 애플리케이션과 디바이스 상에서 이용가능한 능력 사이의 통신을 용이하게 하는 예시적인 프로세스를 예시하는 블록도이다.
도 3a는 몇몇 실시예들에 따라, 디바이스를 서버를 통해 호스트 디바이스와 페어링하는 예시적인 프로세스를 예시하는 블록도이다.
도 3b는 몇몇 실시예들에 따라, 호스트 디바이스 상에서 실행되는 애플리케이션과 디바이스 상에서 이용가능한 능력 사이의 통신을 용이하게 하는 다른 예시적인 프로세스를 예시하는 블록도이다.
도 4는 몇몇 실시예들에 따른 호스트 디바이스를 예시하는 블록도이다.
도 5는 몇몇 실시예들에 따른 서버를 예시하는 블록도이다.
도 6은 몇몇 실시예들에 따른 디바이스를 예시하는 블록도이다.
도 7은 몇몇 실시예들에 따른 호스트 디바이스의 능력들을 증강시키기 위한 방법의 흐름도이다.
도 8은 몇몇 실시예들에 따라, 디바이스를 호스트 디바이스와 페어링하기 위한 방법의 흐름도이다.
도 9는 몇몇 실시예들에 따라, 호스트 디바이스에 포함되지 않은 능력을 포함하는 디바이스의 선택을 수신하기 위한 방법의 흐름도이다.
도 1은 몇몇 실시예들에 따른 네트워크 시스템을 예시하는 블록도이다.
도 2a는 몇몇 실시예들에 따라, 디바이스를 호스트 디바이스와 페어링(pairing)하는 예시적인 프로세스를 예시하는 블록도이다.
도 2b는 몇몇 실시예들에 따라, 호스트 디바이스 상에서 실행되는 애플리케이션과 디바이스 상에서 이용가능한 능력 사이의 통신을 용이하게 하는 예시적인 프로세스를 예시하는 블록도이다.
도 3a는 몇몇 실시예들에 따라, 디바이스를 서버를 통해 호스트 디바이스와 페어링하는 예시적인 프로세스를 예시하는 블록도이다.
도 3b는 몇몇 실시예들에 따라, 호스트 디바이스 상에서 실행되는 애플리케이션과 디바이스 상에서 이용가능한 능력 사이의 통신을 용이하게 하는 다른 예시적인 프로세스를 예시하는 블록도이다.
도 4는 몇몇 실시예들에 따른 호스트 디바이스를 예시하는 블록도이다.
도 5는 몇몇 실시예들에 따른 서버를 예시하는 블록도이다.
도 6은 몇몇 실시예들에 따른 디바이스를 예시하는 블록도이다.
도 7은 몇몇 실시예들에 따른 호스트 디바이스의 능력들을 증강시키기 위한 방법의 흐름도이다.
도 8은 몇몇 실시예들에 따라, 디바이스를 호스트 디바이스와 페어링하기 위한 방법의 흐름도이다.
도 9는 몇몇 실시예들에 따라, 호스트 디바이스에 포함되지 않은 능력을 포함하는 디바이스의 선택을 수신하기 위한 방법의 흐름도이다.
본 명세서에서 설명되는 실시예들은 호스트 디바이스의 능력들을 증강시키기 위한 기술들을 제공한다. 몇몇 실시예들에서, 호스트 디바이스 상의 제 1 애플리케이션이 실행되고, 여기서, 제 1 애플리케이션은 제 2 디바이스 상에서 실행되도록 구성되고, 제 2 디바이스 상에서 이용가능한 능력을 이용하도록 구성되고, 여기서, 이 능력은 호스트 디바이스에는 포함되지 않는다. 그 다음, 제 2 디바이스에서 이용가능한 능력을 이용하기 위한 요청이 제 1 애플리케이션으로부터 수신되고, 여기서, 제 1 애플리케이션은 제 2 디바이스의 능력들에 대한 정보를 갖지 않는다. 적어도 하나의 네트워크를 통해 제 2 디바이스로의 접속이 설정되고, 제 2 디바이스 상에서 이용가능한 능력을 제 1 애플리케이션에 제공하기 위해, 적어도 하나의 네트워크를 통해 제 1 애플리케이션과 제 2 디바이스 사이의 통신들이 용이하게 된다.
도 1은, 몇몇 실시예들에 따른 네트워크 시스템(100)을 예시하는 블록도이다. 네트워크 시스템(100)은 디스플레이 디바이스(102)에 커플링된 호스트 디바이스(104)를 포함한다. 호스트 디바이스(104)는 디스플레이 디바이스(102) 상에 컨텐츠를 디스플레이하도록 구성된다. 네트워크 시스템(100)은 네트워크(120)를 포함한다. 네트워크(120)는 일반적으로, 컴퓨팅 노드들을 함께 커플링할 수 있는 임의의 타입의 유선 또는 무선 통신 채널을 포함할 수 있다. 이것은, 로컬 영역 네트워크, 광역 네트워크 또는 네트워크들의 조합을 포함하지만 이에 제한되는 것은 아니다. 몇몇 실시예들에서, 네트워크(120)는 인터넷을 포함한다.
몇몇 실시예들에서, 호스트 디바이스(104)는 네트워크(120)를 통해 디바이스(106)에 커플링된다. 몇몇 실시예들에서, 호스트 디바이스(104)는 네트워크(121)를 통해 디바이스(106)에 커플링된다. 이러한 실시예들에서, 네트워크(121)는 네트워크(120)와 상이하다. 예를 들어, 네트워크(121)는 로컬 네트워크(예를 들어, Wi-Fi 네트워크, 블루투스 네트워크, 셀룰러 네트워크 등)일 수 있고, 네트워크(120)는 광역 네트워크(예를 들어, 인터넷)일 수 있다. 몇몇 실시예들에서, 호스트 디바이스(104)는 서버(110)에 커플링된다.
몇몇 실시예들에서, 호스트 디바이스(104)는 컴퓨터 시스템을 포함한다. 예를 들어, 컴퓨터 시스템은, 랩탑 컴퓨터 시스템, 데스크탑 컴퓨터 시스템, 모바일 전화, 스마트 폰, 태블릿 컴퓨터 시스템, 개인 휴대 정보 단말 또는 서버를 포함할 수 있지만, 이에 제한되는 것은 아니다. 몇몇 실시예들에서, 호스트 디바이스(104)는 텔레비젼 셋탑 박스를 포함한다. 몇몇 실시예들에서, 호스트 디바이스(104)는 텔레비젼 세트를 포함한다. 몇몇 실시예들에서, 호스트 디바이스(104)는 네트워크(예를 들어, 유선 네트워크, 무선 네트워크 등)를 통해 디스플레이 디바이스(102)에 커플링된다. 몇몇 실시예들에서, 호스트 디바이스(104)는 주변기기 케이블(예를 들어, USB 케이블, HDMI 케이블, DVI 케이블 등)을 통해 디스플레이 디바이스(102)에 커플링된다.
몇몇 실시예들에서, 디바이스(106)는 컴퓨터 시스템이다. 예를 들어, 컴퓨터 시스템은, 랩탑 컴퓨터 시스템, 데스크탑 컴퓨터 시스템, 모바일 전화, 스마트 폰, 태블릿 컴퓨터 시스템, 개인 휴대 정보 단말 또는 서버를 포함할 수 있지만, 이에 제한되는 것은 아니다. 몇몇 실시예들에서, 디바이스(106)는 텔레비젼 셋탑 박스를 포함한다. 몇몇 실시예들에서, 디바이스(106)는 텔레비젼 세트를 포함한다. 몇몇 실시예들에서, 디바이스(106)는 텔레비젼 수신 또는 라디오 수신 능력 또는 둘 모두를 포함한다. 몇몇 실시예들에서, 텔레비젼 수신은 케이블, 위성, 섬유, 또는 텔레비젼 방송(라디오 파)을 통한 수신을 포함하지만, 이에 제한되는 것은 아니다. 라디오 수신은 라디오 파, 케이블, 위성 또는 섬유를 통한 수신을 포함하지만, 이에 제한되는 것은 아니다.
몇몇 실시예들에서, 호스트 디바이스(104)는, 디바이스(106) 상에서 실행되도록 구성되고, 디바이스(106) 상에서 이용가능하지만 호스트 디바이스(104) 상에는 포함되지 않은(또는 이용가능하지 않은) 능력을 이용하도록 구성되는 애플리케이션들을 실행한다. 이러한 실시예들에서, 애플리케이션들은, 디바이스(106) 상에서는 실행되지만 호스트 디바이스(104) 상에서는 실행되지 않도록 설계, 프로그래밍(예를 들어, 코딩) 또는 그렇지 않으면 구성된다. 따라서, 애플리케이션들은 디바이스(106) 상에서는 실행될 수 있지만, 이와 달리, 본 명세서에서 설명되는 실시예들 없이 호스트 디바이스(104) 상에서는 실행가능하지 않을 것이다. 예를 들어, 디바이스의 내장 카메라를 이용하여 사진을 찍는 카메라 애플리케이션을 고려한다. 카메라 애플리케이션은, 내장 카메라를 포함하는 디바이스(106) 상에서 실행되도록 구성(설계, 프로그래밍, 코딩 등)되지만, 카메라 애플리케이션은, 내장 카메라를 포함하지 않는 호스트 디바이스(104) 상에서 실행되도록 구성(설계, 프로그래밍, 코딩 등)되지는 않는다고 가정한다. 내장 카메라의 부재(lack)에도 불구하고, 본 명세서에서 설명되는 실시예들은 호스트 디바이스(104)의 능력들을 증강시키고, 호스트 디바이스(104)가 카메라 애플리케이션을 실행하고 디바이스(106)의 내장 카메라를 활용하도록 허용한다. 게다가, 본 명세서에서 설명되는 실시예들은, 카메라 애플리케이션에 대한 변형없이 호스트 디바이스(104)가 카메라 애플리케이션을 실행하도록 허용한다. 예를 들어, 카메라 애플리케이션은, 가상 머신에서 실행되는 바이트코드(예를 들어, JAVA 바이트코드)로 컴파일될 수 있고, 카메라 애플리케이션은, 런타임 시에 해석되는 스크립팅 언어(예를 들어, TCL, PERL)로 기록될 수 있거나, 카메라 애플리케이션은 특정한 운영 시스템(예를 들어, 안드로이드 OS, 크롬 OS, iOS, MacOS, 마이크로소프트 윈도우즈 등) 내에서 실행가능하도록 컴파일될 수 있다. 호스트 디바이스의 능력들을 증강시키는 프로세스는 도 2a, 도 2b, 도 3a, 도 3b 및 도 7 내지 도 9를 참조하여 아래에서 더 상세히 설명된다.
몇몇 실시예들에서, 호스트 디바이스(104)는 디스플레이 디바이스(102) 상에 디스플레이될 컨텐츠를 서버(110)로부터 네트워크(120)를 통해 획득한다. 예를 들어, 호스트 디바이스(104)는, 서버(110) 상에서 호스트되는 비디오(예를 들어, 영화, 텔레비젼 프로그램 등)를 획득할 수 있다. 네트워크(120)는 일반적으로, 컴퓨팅 노드들을 함께 커플링시킬 수 있는 임의의 타입의 유선 또는 무선 통신 채널을 포함할 수 있다. 이것은, 로컬 영역 네트워크, 광역 네트워크 또는 네트워크들의 조합을 포함하지만, 이에 제한되는 것은 아니다. 몇몇 실시예들에서, 네트워크(120)는 인터넷을 포함한다.
몇몇 실시예들에서, 호스트 디바이스(104)는 디스플레이 디바이스(102) 상에 디스플레이될 컨텐츠를 컨텐츠 소스(112)로부터 획득한다. 컨텐츠 소스(112)는, 스트리밍 미디어 서비스, 비디오-온-디맨드(video-on-demand) 서비스, 오버-디-에어(over-the-air) 텔레비젼 서비스, 케이블 텔레비젼 서비스, 위성 텔레비젼 서비스 및/또는 인터넷 프로토콜 텔레비젼 서비스를 포함하지만, 이에 제한되는 것은 아니다. 몇몇 실시예들에서, 호스트 디바이스(104)는 네트워크(120)를 통해 컨텐츠 소스(112)에 커플링된다. 몇몇 실시예들에서, 호스트 디바이스(104)는, (예를 들어, 오버-디-에어 텔레비젼 서비스, 케이블 텔레비젼 서비스, 위성 텔레비젼 서비스를 통해) 컨텐츠 소스(112)로의 액세스를 호스트 디바이스(104)에 제공하는 미디어 디바이스에 커플링된다.
도 1은, 호스트 디바이스(104), 디바이스(106), 서버(110) 및 컨텐츠 소스(112) 각각에 대해 하나의 예를 도시하지만, 네트워크 시스템(100)에 다수의 호스트 디바이스들, 디바이스들, 서버들 및 컨텐츠 소스들이 존재할 수 있음을 주목한다. 또한, 서버(110) 및 컨텐츠 소스(112) 각각은 복수의 분산된 서버들을 포함할 수 있음을 주목한다. 복수의 분산된 서버들은 로드 밸런싱을 제공할 수 있고 그리고/또는 인근의 컴퓨터 시스템들에 대한 낮은 레이턴시의 액세스 포인트들을 제공할 수 있다. 분산된 서버들은 단일 위치(예를 들어, 데이터 센터, 건물 등) 내에 위치될 수 있거나, 다수의 위치들(예를 들어, 다양한 지리적 위치들에 있는 데이터 센터들 등)에 걸쳐 지리적으로 분산될 수 있다. 아울러, 본 명세서에서 설명되는 실시예들은 호스트 디바이스(104), 디바이스(106), 서버(110) 및 컨텐츠 소스(112)를 지칭하지만, 실시예들은 다수의 호스트 디바이스들, 디바이스들, 서버들 및 컨텐츠 소스들에 적용될 수 있음을 주목한다.
도 2a는 몇몇 실시예들에 따라, 디바이스를 호스트 디바이스와 페어링하는 예시적인 프로세스를 예시하는 블록도(200)이다. 도 2a에 예시된 바와 같이, 호스트 디바이스(104)는 페어링 모듈(202), 향상된 능력 모듈(204), 애플리케이션(206), 고유 능력들(208) 및 디바이스 데이터베이스(210)를 포함한다. 페어링 모듈(202)은 호스트 디바이스(104)와 디바이스(106) 사이의 페어링 동작들(예를 들어, 호스트 디바이스(104)를 디바이스(106)와 페어링/연관시키기 위한 동작, 디바이스(106)를 호스트 디바이스(104)로부터 언페어링(unpair)/연관해제시키기 위한 동작 등)을 조작하고, 호스트 디바이스(104)와 디바이스(106) 사이의 통신들을 용이하게 한다. 고유 능력들(208)은 하드웨어 능력들(예를 들어, 센서들, 내장 카메라들 등) 및/또는 소프트웨어 능력들(예를 들어, 소프트웨어, 애플리케이션들, 위젯(widget)들 등)을 포함할 수 있다. 애플리케이션(206)은, 호스트 디바이스(104)의 고유 능력들(208)에 포함되지는 않지만 디바이스(106)의 고유 능력들(226)에는 포함되는 능력을 요구하는 애플리케이션이다. 향상된 능력 모듈(204)은 본 명세서에서 설명되는 바와 같이, 호스트 디바이스(104)의 고유 능력들(208)을 증강시켜, 호스트 디바이스(104)가 애플리케이션(206)을 실행할 수 있게 한다. 디바이스 데이터베이스(210)는, 호스트 디바이스(104)와 현재 페어링된(또는 이전에 페어링되었던) 디바이스들 및 그 디바이스들의 대응하는 능력들과 관련된 정보를 포함한다.
디바이스(106)는 페어링 모듈(222), 향상된 능력 모듈(224) 및 고유 능력들(226)을 포함한다. 페어링 모듈(222)은 호스트 디바이스(104)와 디바이스(106) 사이의 페어링 동작들(예를 들어, 호스트 디바이스(104)를 디바이스(106)와 페어링/연관시키기 위한 동작, 디바이스(106)를 호스트 디바이스(104)로부터 언페어링/연관해제시키기 위한 동작 등)을 조작하고, 호스트 디바이스(104)와 디바이스(106) 사이의 통신들을 용이하게 한다. 고유 능력들(226)은 하드웨어 능력들(예를 들어, 센서들, 내장 카메라들 등) 및/또는 소프트웨어 능력들(예를 들어, 소프트웨어, 애플리케이션들, 위젯들 등)을 포함할 수 있다. 향상된 능력 모듈(224)은 디바이스(106)의 고유 능력들(226)에 대한 다른 디바이스들에 의한 액세스를 용이하게 한다.
도 2a에 예시된 예시적인 프로세스에서, 디바이스(106)의 페어링 모듈(222)은 호스트 디바이스(104)와 페어링하기 위한 요청(230)을 발행한다. 호스트 디바이스(104)의 페어링 모듈(202)은 요청(230)을 수신하고, 디바이스(106)와의 페어링 동작(232)을 개시한다. 페어링 동작은 2개의 디바이스들을 결합시킴을 주목한다. 페어링 동작은 통상적으로, 디바이스들이 서로 접속되는 최초의 시간에 행해진다. 2개의 디바이스들이 서로 결합되면, 디바이스들은 페어링 동작을 다시 수행할 필요없이 서로와의 접속들을 설정할 수 있다. 또한, 2개의 디바이스들을 서로 페어링하는 프로세스는, 2개의 디바이스들 사이에 활성 접속이 존재하는 것을 의미하지는 않음을 주목한다. 예를 들어, 호스트 디바이스(104) 및 디바이스(106)는 이전의 페어링 동작의 결과로서 서로 결합될 수 있지만, 디바이스(106)가 턴오프되거나 호스트 디바이스(104)의 범위 밖에 있기 때문에 호스트 디바이스(104)와 디바이스(106) 사이에 활성 접속이 존재하지 않을 수 있다.
페어링 동작(232) 동안 (또는 대안적으로, 페어링 동작(232)이 완료된 후), 페어링 모듈(222)은 디바이스 정보(234)를 호스트 디바이스(104)에 송신한다. 디바이스 정보(234)는 디바이스(106)의 고유 능력들(226)과 관련된 정보를 포함한다. 페어링 모듈(202)은, 디바이스(106)와 연관된 디바이스 데이터베이스(210)의 하나 또는 그 초과의 레코드들에 디바이스 정보(234)를 저장한다.
도 2b에 예시된 바와 같이, 애플리케이션(206)의 실행 동안, 향상된 능력 모듈(204)은, 호스트 디바이스(104)의 고유 능력들(208)에 포함되지 않은 능력에 대한 액세스를 요청하는 요청(236)을 애플리케이션(206)으로부터 수신한다. 향상된 능력 모듈(204)은 디바이스 데이터베이스(210)에 문의하여, 호스트 디바이스(104)와 현재 페어링된 디바이스가 애플리케이션(206)에 의해 요청된 능력을 포함하는지를 결정한다. 이 예에서, 향상된 능력 모듈(204)은, 애플리케이션(206)에 의해 요청된 능력이 디바이스(106)의 고유 능력들(226)에 포함된다고 결정한다. 이 결정에 응답하여, 향상된 능력 모듈(204)은 디바이스(106)로의 접속(238)을 설정하기 위한 요청을 페어링 모듈(202)에 발행한다. 호스트 디바이스(104)의 페어링 모듈(202) 및 디바이스(106)의 페어링 모듈(222)은 호스트 디바이스(104)와 디바이스(106) 사이에 접속(238)을 설정한다. 접속(238)은 네트워크(120) 및/또는 네트워크(121)를 이용하여 설정될 수 있다. 페어링 모듈들(202 및 222)은 접속(238)을 통해, 호스트 디바이스(104)의 향상된 능력 모듈(204)과 디바이스(106)의 향상된 능력 모듈(224) 사이에서 데이터 및/또는 커맨드들(240)의 통신들을 용이하게 한다. 애플리케이션(206)은 접속(238)을 이용하여, 애플리케이션(206)에 의해 요청된 디바이스(106)의 능력에 액세스한다. 이를 행할 시에, 호스트 디바이스(104)의 능력들은 디바이스(106)의 능력들에 의해 증강된다.
도 2a 및 도 2b에 예시된 예시적인 프로세스에서, 호스트 디바이스(104) 및 디바이스(106)는, 호스트 디바이스(104)와 디바이스(106) 사이의 통신들을 용이하게 하는 어떠한 개입 컴퓨터 시스템들없이 적어도 하나의 네트워크를 통해 서로 접속된다. 몇몇 실시예들에서, 서버(110)가 호스트 디바이스(104)와 디바이스(106) 사이의 통신들을 용이하게 한다. 이러한 실시예들은 도 3a 및 도 3b에서 예시된다.
도 3a는 몇몇 실시예들에 따라, 디바이스(106)를 서버(110)를 통해 호스트 디바이스(104)와 페어링하는 예시적인 프로세스를 예시하는 블록도(300)이다. 도 3a에 예시된 바와 같이, 서버(110)는 페어링 모듈(302) 및 디바이스 데이터베이스(304)를 포함한다. 페어링 모듈(302)은, 호스트 디바이스(104)와 디바이스(106) 사이의 페어링 동작들(예를 들어, 호스트 디바이스(104)를 디바이스(106)와 페어링/연관시키기 위한 동작, 디바이스(106)를 호스트 디바이스(104)로부터 언페어링/연관해제시키기 위한 동작 등)을 용이하게 하고, 호스트 디바이스(104)와 디바이스(106) 사이의 통신들을 용이하게 한다. 디바이스 데이터베이스(304)는 호스트 디바이스(104)와 현재 페어링된(또는 이전에 페어링되었던) 디바이스들 및 그 디바이스들의 대응하는 능력들과 관련된 정보를 포함한다. 디바이스 데이터베이스(304)는, 다른 호스트 디바이스들과 현재 페어링된(또는 이전에 페어링되었던) 디바이스들 및 그 디바이스들의 대응하는 능력들과 관련된 정보를 포함할 수 있음을 주목한다. 즉, 서버(110)는 복수의 호스트 디바이스들과 디바이스들 사이의 페어링 동작들 및 통신들을 용이하게 할 수 있다.
도 3a에 예시된 예시적인 프로세스에서, 디바이스(106)의 페어링 모듈(222)은, 디바이스(106)와 호스트 디바이스(104) 사이의 페어링 동작을 용이하게 하도록 서버(110)에 요청하는 요청(310)을 서버(110)에 발행한다. 서버(110)의 페어링 모듈(302)은 요청(310)을 수신하고, 호스트 디바이스(104)가 서버(110)를 통해 디바이스(106)와 페어링 동작을 개시하도록 요청하는 요청(311)을 호스트 디바이스(104)에 발행한다. 요청(311)에 응답하여, 호스트 디바이스(104)의 페어링 모듈(202)은 서버(110)를 통해 호스트 디바이스와의 페어링 동작(312)을 개시한다. 서버(110)의 페어링 모듈(302)은 호스트 디바이스(104)와 디바이스(106) 사이의 페어링 동작(312)을 용이하게 한다. 예를 들어, 페어링 모듈(302)은 호스트 디바이스(104)와 디바이스(106) 사이의 페어링 동작(312)과 관련된 데이터 및/또는 커맨드들을 용이하게 할(예를 들어, 포워딩할) 수 있다. 페어링 동작(312) 동안 (또는 대안적으로 페어링 동작(312)이 완료된 후), 페어링 모듈(222)은 디바이스 정보(264)를 서버(110)를 통해 호스트 디바이스(104)에 송신한다. 앞서 논의된 바와 같이, 디바이스 정보(264)는 디바이스(106)의 고유 능력들(226)과 관련된 정보를 포함한다. 서버(110)의 페어링 모듈(302)은, 디바이스(106)와 연관된 디바이스 데이터베이스(304)의 하나 또는 그 초과의 레코드들에 디바이스 정보(264)를 저장한다. 유사하게, 페어링 모듈(202)은, 디바이스(106)와 연관된 디바이스 데이터베이스(210)의 하나 또는 그 초과의 레코드들에 디바이스 정보(264)를 저장한다.
도 3b에 예시된 바와 같이, 애플리케이션(206)의 실행 동안, 향상된 능력 모듈(204)은, 호스트 디바이스(104)의 고유 능력들(208)에 포함되지 않은 능력에 대한 액세스를 요청하는 요청(336)을 애플리케이션(206)으로부터 수신한다. 향상된 능력 모듈(204)은 디바이스 데이터베이스(210)에 문의하여, 호스트 디바이스(104)와 현재 페어링된 디바이스가 애플리케이션(206)에 의해 요청된 능력을 포함하는지를 결정한다. 이 예에서, 향상된 능력 모듈(204)은, 애플리케이션(206)에 의해 요청된 능력이, 서버(110)를 통해 호스트 디바이스(104)와 페어링된 디바이스(106)의 고유 능력들(226)에 포함된다고 결정한다. 이 결정에 응답하여, 향상된 능력 모듈(204)은 서버(110)를 통해 디바이스(106)로의 접속을 설정하기 위한 요청을 페어링 모듈(202)에 발행한다. 호스트 디바이스(104)의 페어링 모듈(202) 및 서버(110)의 페어링 모듈(222)은 호스트 디바이스(104)와 서버(110) 사이에 접속(320)을 설정한다. 서버(110)의 페어링 모듈(302) 및 디바이스(106)의 페어링 모듈(222)은 서버(110)와 디바이스(106) 사이에 접속(322)을 설정한다. 접속들(320 및 322)은 네트워크(120) 및/또는 네트워크(121)를 이용하여 설정될 수 있다. 페어링 모듈들(202, 302 및 222)은 접속들(320 및 322)을 통해, 호스트 디바이스(104)의 향상된 능력 모듈(204)과 디바이스(106)의 향상된 능력 모듈(224) 사이에서 데이터 및/또는 커맨드들(330)의 통신들을 용이하게 한다. 애플리케이션(206)은 접속들(320 및 322)을 이용하여, 애플리케이션(206)에 의해 요청된 디바이스(106)의 능력에 액세스한다. 이를 행할 시에, 호스트 디바이스(104)의 능력들은 디바이스(106)의 능력들에 의해 증강된다.
도 4는 몇몇 실시예들에 따른 호스트 디바이스(104)를 예시하는 블록도이다. 호스트 디바이스(104)는 통상적으로, 프로그램들(예를 들어, 메모리(410)에 저장된 프로그램들)을 실행하기 위한 하나 또는 그 초과의 프로세싱 유닛들(때때로 프로세서들로 지칭되는 CPU들)(402), 하나 또는 그 초과의 네트워크 또는 다른 통신 인터페이스들(404), 메모리(410), 및 이러한 컴포넌트들을 상호접속시키기 위한 하나 또는 그 초과의 통신 버스들(409)을 포함한다. 통신 버스들(409)은, 시스템 컴포넌트들 사이의 통신들을 상호접속시키고 제어하는 회로(때때로 칩셋으로 지칭됨)를 포함할 수 있다. 호스트 디바이스(104)는, 디스플레이 디바이스(102) 및 입력 디바이스들(408)(예를 들어, 키보드, 마우스, 터치 스크린, 키패드들 등)을 포함하는 사용자 인터페이스(405)를 포함한다. 호스트 디바이스(104)는 또한 하나 또는 그 초과의 하드웨어 능력들(430)(예를 들어, 가속도계들, 자력계들, 온도 센서들, 내장 카메라들, 마이크로폰들, 스피커들, 입력 디바이스들 등)을 포함한다. 메모리(410)는, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하고; 통상적으로, 하나 또는 그 초과의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래쉬 메모리 디바이스들 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(410)는 선택적으로, CPU(들)(402)로부터 원격 위치되는 하나 또는 그 초과의 저장 디바이스들을 포함한다. 메모리(410), 또는 대안적으로 메모리(410) 내의 비휘발성 메모리 디바이스(들)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 몇몇 실시예들에서, 메모리(410) 또는 메모리(410)의 컴퓨터 판독가능 저장 매체는 하기 프로그램들, 모듈들 및 데이터 구조들 또는 이들의 서브세트를 저장한다:
· 다양한 기본 시스템 서비스들을 조작하고 하드웨어 의존 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(412);
· 하나 또는 그 초과의 통신 인터페이스들(404)(유선 또는 무선) 및 하나 또는 그 초과의 통신 네트워크들, 예를 들어, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시 영역 네트워크들 등을 통해 호스트 디바이스(104)를 다른 컴퓨터들에 접속시키기 위해 이용되는 통신 모듈(414);
· 입력 디바이스들(408)을 통해 사용자로부터의 커맨드들을 수신하고 디스플레이 디바이스(406)에 사용자 인터페이스 오브젝트들을 생성하는 사용자 인터페이스 모듈(416);
· 본 명세서에 설명된 바와 같이, 페어링 동작들을 조작하고 호스트 디바이스(104)와 다른 디바이스들(예를 들어, 디바이스(106), 서버(110) 등) 사이의 통신들을 용이하게 하는 페어링 모듈(202);
· 본 명세서에 설명된 바와 같이, 호스트 디바이스(104)가 애플리케이션들(예를 들어, 호스트 디바이스(104)의 고유 능력들(208)에 포함되지 않은 능력을 요구하는 애플리케이션(206))을 실행할 수 있도록 호스트 디바이스(104)의 고유 능력들(208)을 증강시키는 향상된 능력 모듈(204);
· 본 명세서에 설명된 바와 같이, 호스트 디바이스(104)의 고유 능력들(208)에 포함되지 않지만, 다른 디바이스의 고유 능력들(예를 들어, 디바이스(106)의 고유 능력들(226))에는 포함되는 능력을 요구하는 애플리케이션(206);
· 본 명세서에 설명된 바와 같이, 호스트 디바이스(104)의 고유 능력들(208)(예를 들어, 소프트웨어 능력들, 하드웨어 능력들(430) 등);
· 본 명세서에 설명된 바와 같이, 호스트 디바이스(104)와 현재 페어링된(또는 이전에 페어링되었던) 디바이스들 및 그 디바이스들의 대응하는 능력들과 관련된 정보를 포함하는 디바이스 데이터베이스(210).
몇몇 실시예들에서, 앞서 식별된 프로그램들 또는 모듈들은, 앞서 설명된 기능을 수행하기 위한 명령들의 세트들에 대응한다. 명령들의 세트들은 하나 또는 그 초과의 프로세서들(예를 들어, CPU들(402))에 의해 실행될 수 있다. 앞서 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로 구현될 필요가 없고, 따라서, 이러한 프로그램들 또는 모듈들의 다양한 서브세트들이 다양한 실시예들에서 결합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 실시예들에서, 메모리(410)는 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 게다가, 메모리(410)는 앞서 설명되지 않은 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.
도 4는 "호스트 디바이스"를 도시하지만, 도 4는, 본 명세서에서 설명되는 실시예들의 구조적인 개략으로서보다는 호스트 디바이스에 존재할 수 있는 다양한 기능들의 기능적 설명으로서 의도된다. 실행시에 그리고 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 항목들은 결합될 수 있고 몇몇 항목들을 분리될 수 있다.
도 5는 몇몇 실시예들에 따른 서버(110)를 예시하는 블록도이다. 서버(110)는 통상적으로, 프로그램들(예를 들어, 메모리(510)에 저장된 프로그램들)을 실행하기 위한 하나 또는 그 초과의 프로세싱 유닛들(때때로 프로세서들로 지칭되는 CPU들)(502), 하나 또는 그 초과의 네트워크 또는 다른 통신 인터페이스들(504), 메모리(510), 및 이러한 컴포넌트들을 상호접속시키기 위한 하나 또는 그 초과의 통신 버스들(509)을 포함한다. 통신 버스들(509)은, 시스템 컴포넌트들 사이의 통신들을 상호접속시키고 제어하는 회로(때때로 칩셋으로 지칭됨)를 포함할 수 있다. 서버(110)는 선택적으로, 디스플레이 디바이스(506) 및 입력 디바이스들(508)(예를 들어, 키보드, 마우스, 터치 스크린, 키패드들 등)을 포함하는 사용자 인터페이스(505)를 포함한다 (그러나, 통상적으로는 포함하지 않는다). 메모리(510)는, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하고; 통상적으로, 하나 또는 그 초과의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래쉬 메모리 디바이스들 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(510)는 선택적으로, CPU(들)(502)로부터 원격 위치되는 하나 또는 그 초과의 저장 디바이스들을 포함한다. 메모리(510), 또는 대안적으로 메모리(510) 내의 비휘발성 메모리 디바이스(들)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 몇몇 실시예들에서, 메모리(510) 또는 메모리(510)의 컴퓨터 판독가능 저장 매체는 하기 프로그램들, 모듈들 및 데이터 구조들 또는 이들의 서브세트를 저장한다:
· 다양한 기본 시스템 서비스들을 조작하고 하드웨어 의존 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(512);
· 하나 또는 그 초과의 통신 인터페이스들(504)(유선 또는 무선) 및 하나 또는 그 초과의 통신 네트워크들, 예를 들어, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시 영역 네트워크들 등을 통해 서버(110)를 다른 컴퓨터들에 접속시키기 위해 이용되는 통신 모듈(514);
· 입력 디바이스들(508)을 통해 사용자로부터의 커맨드들을 수신하고 디스플레이 디바이스(506)에 사용자 인터페이스 오브젝트들을 생성하는 선택적인 사용자 인터페이스 모듈(516);
· 본 명세서에 설명된 바와 같이, 서버(110)와 디바이스들(예를 들어, 호스트 디바이스(104), 디바이스(106)) 사이의 페어링 동작들 및 통신들을 용이하게 하는 페어링 모듈(302);
· 본 명세서에 설명된 바와 같이, 호스트 디바이스(예를 들어, 호스트 디바이스(104))와 현재 페어링된(또는 이전에 페어링되었던) 디바이스들 및 그 디바이스들의 대응하는 능력들과 관련된 정보를 포함하는 디바이스 데이터베이스(304).
몇몇 실시예들에서, 앞서 식별된 프로그램들 또는 모듈들은, 앞서 설명된 기능을 수행하기 위한 명령들의 세트들에 대응한다. 명령들의 세트들은 하나 또는 그 초과의 프로세서들(예를 들어, CPU들(502))에 의해 실행될 수 있다. 앞서 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로 구현될 필요가 없고, 따라서, 이러한 프로그램들 또는 모듈들의 다양한 서브세트들이 다양한 실시예들에서 결합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 실시예들에서, 메모리(510)는 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 게다가, 메모리(510)는 앞서 설명되지 않은 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.
도 5는 "서버"를 도시하지만, 도 5는, 본 명세서에서 설명되는 실시예들의 구조적인 개략으로서보다는 서버들의 세트에 존재할 수 있는 다양한 기능들의 기능적 설명으로서 의도된다. 실행시에 그리고 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 항목들은 결합될 수 있고 몇몇 항목들을 분리될 수 있다. 예를 들어, 도 5에 별개로 도시된 몇몇 항목들은 단일 서버들 상에서 구현될 수 있고, 단일 항목들은 하나 또는 그 초과의 서버들에 의해 구현될 수 있다. 서버를 구현하기 위해 이용되는 서버들의 실제 수 및 서버들 사이에서 특징들이 어떻게 할당되는지는 실시예마다 상이할 것이고, 평균 사용량 기간들 동안 뿐만 아니라 피크 사용량 기간들 동안 시스템이 조작해야 하는 데이터 트래픽의 양에 부분적으로 의존할 수 있다.
도 6은 몇몇 실시예들에 따른 디바이스(106)를 예시하는 블록도이다. 디바이스(106)는 통상적으로, 프로그램들(예를 들어, 메모리(610)에 저장된 프로그램들)을 실행하기 위한 하나 또는 그 초과의 프로세싱 유닛들(때때로 프로세서들로 지칭되는 CPU들)(602), 하나 또는 그 초과의 네트워크 또는 다른 통신 인터페이스들(604), 메모리(610), 및 이러한 컴포넌트들을 상호접속시키기 위한 하나 또는 그 초과의 통신 버스들(609)을 포함한다. 통신 버스들(609)은, 시스템 컴포넌트들 사이의 통신들을 상호접속시키고 제어하는 회로(때때로 칩셋으로 지칭됨)를 포함할 수 있다. 디바이스(106)는, 디스플레이 디바이스(606) 및 입력 디바이스들(608)(예를 들어, 키보드, 마우스, 터치 스크린, 키패드들 등)을 포함하는 사용자 인터페이스(605)를 포함한다. 호스트 디바이스(104)는 또한 하나 또는 그 초과의 하드웨어 능력들(630)(예를 들어, 가속도계들, 자력계들, 온도 센서들, 내장 카메라들, 마이크로폰들, 스피커들, 입력 디바이스들 등)을 포함한다. 메모리(610)는, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하고; 통상적으로, 하나 또는 그 초과의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래쉬 메모리 디바이스들 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(610)는 선택적으로, CPU(들)(602)로부터 원격 위치되는 하나 또는 그 초과의 저장 디바이스들을 포함한다. 메모리(610), 또는 대안적으로 메모리(610) 내의 비휘발성 메모리 디바이스(들)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 몇몇 실시예들에서, 메모리(610) 또는 메모리(610)의 컴퓨터 판독가능 저장 매체는 하기 프로그램들, 모듈들 및 데이터 구조들 또는 이들의 서브세트를 저장한다:
· 다양한 기본 시스템 서비스들을 조작하고 하드웨어 의존 작업들을 수행하기 위한 절차들을 포함하는 운영 시스템(612);
· 하나 또는 그 초과의 통신 인터페이스들(604)(유선 또는 무선) 및 하나 또는 그 초과의 통신 네트워크들, 예를 들어, 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 대도시 영역 네트워크들 등을 통해 디바이스(106)를 다른 컴퓨터들에 접속시키기 위해 이용되는 통신 모듈(614);
· 입력 디바이스들(608)을 통해 사용자로부터의 커맨드들을 수신하고 디스플레이 디바이스(606)에 사용자 인터페이스 오브젝트들을 생성하는 사용자 인터페이스 모듈(616);
· 본 명세서에 설명된 바와 같이, 페어링 동작들을 조작하고 디바이스(106)와 다른 디바이스들(예를 들어, 호스트 디바이스(104), 서버(110) 등) 사이의 통신들을 용이하게 하는 페어링 모듈(222);
· 본 명세서에 설명된 바와 같이, 디바이스(106)의 고유 능력들(226)에 대한 다른 디바이스들(예를 들어, 호스트 디바이스(104), 서버(110) 등)에 의한 액세스를 용이하게 하는 향상된 능력 모듈(224); 및
· 본 명세서에 설명된 바와 같이, 디바이스(106)의 고유 능력들(226)(예를 들어, 소프트웨어 능력들, 하드웨어 능력들(630) 등).
몇몇 실시예들에서, 앞서 식별된 프로그램들 또는 모듈들은, 앞서 설명된 기능을 수행하기 위한 명령들의 세트들에 대응한다. 명령들의 세트들은 하나 또는 그 초과의 프로세서들(예를 들어, CPU들(602))에 의해 실행될 수 있다. 앞서 식별된 모듈들 또는 프로그램들(즉, 명령들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로 구현될 필요가 없고, 따라서, 이러한 프로그램들 또는 모듈들의 다양한 서브세트들이 다양한 실시예들에서 결합되거나 그렇지 않으면 재배열될 수 있다. 몇몇 실시예들에서, 메모리(610)는 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 게다가, 메모리(610)는 앞서 설명되지 않은 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.
도 6은 "디바이스"를 도시하지만, 도 6은, 본 명세서에서 설명되는 실시예들의 구조적인 개략으로서보다는 디바이스에 존재할 수 있는 다양한 기능들의 기능적 설명으로서 의도된다. 실행시에 그리고 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 항목들은 결합될 수 있고 몇몇 항목들을 분리될 수 있다.
호스트 디바이스의 능력들의 증강
도 7은, 몇몇 실시예들에 따른 호스트 디바이스(104)의 능력들을 증강시키기 위한 방법(700)의 흐름도이다. 호스트 디바이스(104)는 제 1 애플리케이션을 실행하고(702), 여기서, 제 1 애플리케이션(예를 들어, 애플리케이션(206))은 제 2 디바이스(예를 들어, 디바이스(106)) 상에서 실행되도록 구성되고, 제 2 디바이스 상에서 이용가능하지만 호스트 디바이스(104)에는 포함되지 않은 능력을 이용하도록 구성된다. 몇몇 실시예들에서, 호스트 디바이스(104)는 제 1 애플리케이션 프레임워크를 포함하고, 제 2 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 여기서, 제 1 애플리케이션 프레임워크 및 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크이다. 애플리케이션 프레임워크는 특정한 개발 환경(예를 들어, 운영 시스템, 웹 애플리케이션 등)에 대한 애플리케이션의 표준 구조를 제공함을 주목한다. 몇몇 실시예들에서, 제 1 애플리케이션은 제 2 디바이스 상에서 실행되지 않는다.
몇몇 실시예들에서, 제 2 디바이스의 능력은, 제 2 디바이스의 위치를 결정하는 것, 전화 통화를 하는 것, 비디오 통화를 하는 것, 사진을 찍는 것, (예를 들어, 음성 제어, 음악 인식 등을 위해) 오디오를 기록하는 것, 비디오를 기록하는 것, 사용자로부터 (예를 들어, 제 2 디바이스의 입력 디바이스 - 키보드, 터치패드 등을 통해) 입력을 수신하는 것, 제 2 디바이스의 센서(예를 들어, 자이로스코프, 가속도계, 자력계, 온도 센서, 광 센서, 근접 센서 등)로부터 센서 측정들을 수신하는 것, 및 텍스트 메시지를 전송하는 것으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함한다.
몇몇 실시예들에서, 제 2 디바이스의 능력은, 위성 포지셔닝 디바이스(예를 들어, GPS 수신기 등), 모바일 전기통신 디바이스(예를 들어, 셀룰러 라디오, 위성 라디오 등), 카메라(예를 들어, 비디오 카메라, 스틸 카메라 등), 마이크로폰, 스피커, 디스플레이 디바이스 및 입력 디바이스(예를 들어, 포인팅 디바이스, 키보드, 터치 스크린 등)로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함한다.
향상된 능력 모듈(204)은, 제 2 디바이스 상에서 이용가능한 능력을 이용하기 위한 요청을 제 1 애플리케이션으로부터 수신한다(704). 몇몇 실시예들에서, 제 1 애플리케이션은 제 2 디바이스의 능력들에 대한 정보를 갖지 않는다. 즉, 제 1 애플리케이션은 제 2 디바이스 상에서 실행되도록 구성될 수 있고, 제 2 디바이스의 능력의 이용을 요구할 수 있지만, 제 2 디바이스의 능력들은 애플리케이션 자체에 전달되지 않는다. 실제로, 제 1 애플리케이션은, 제 2 디바이스가 호스트 디바이스(104)에 접속되고(예를 들어, 페어링되고), 제 1 애플리케이션이 호스트 디바이스(104)로부터 요청한 능력을 제공하기 위해 이용되고 있다는 정보를 갖지 않는다. 달리 말하면, 제 1 애플리케이션이, 제 2 디바이스 상에서 이용가능한 능력의 이용에 대해 요청한 경우, 제 1 애플리케이션은, 호스트 디바이스(104)가 그 능력을 포함한다고 가정하고 있다. 향상된 능력 모듈(204)은, 애플리케이션이 요청하고 있는 능력에 액세스하기 위해 제 2 디바이스에 접속하는 복잡성을 숨긴다.
페어링 모듈(202)은 적어도 하나의 네트워크를 통해 제 2 디바이스로의 접속을 설정한다(706). 몇몇 실시예들에서, 호스트 디바이스 및 제 2 디바이스가 로컬 영역 네트워크(예를 들어, Wi-Fi 네트워크, 블루투스 네트워크 등)에 접속되는 경우, 페어링 모듈(202)은 로컬 영역 네트워크를 통해 제 2 디바이스로의 접속을 설정한다. 몇몇 실시예들에서, 호스트 디바이스가 제 1 네트워크(예를 들어, 로컬 영역 네트워크 등)에 접속되고, 제 2 디바이스가 제 2 네트워크(예를 들어, 셀룰러 네트워크)에 접속되는 경우, 페어링 모듈(202)은 제 1 네트워크 및 제 2 네트워크를 통해 제 2 디바이스로의 접속을 설정한다.
몇몇 실시예들에서, 제 2 디바이스는, 호스트 디바이스가 호스트 디바이스에서 이용가능하지 않은 자원을 요구한다고 호스트 디바이스가 결정하는 것에 대한 응답으로 호스트 디바이스와 페어링된다. 따라서, 호스트 디바이스는, 자신이 추가적인 능력을 필요로 할 때까지 제 2 디바이스와 페어링되지 않는다. 몇몇 실시예들에서, 제 2 디바이스는, 특정한 자원이 요청되기 전에 호스트 디바이스와 페어링된다. 예를 들어, 호스트 디바이스에 의해 새로운 디바이스가 검출되는 경우, 호스트 디바이스는, 임의의 특정한 자원이 요청되기 전에, 새로 검출된 제 2 디바이스와 페어링된다.
페어링 모듈(202)은, 제 2 디바이스 상에서 이용가능한 능력을 제 1 애플리케이션에 제공하기 위해 적어도 하나의 네트워크를 통해 제 1 애플리케이션과 제 2 디바이스 사이의 통신들(예를 들어, 데이터 및/또는 커맨드들(240), 데이터 및/또는 커맨드들(330))을 용이하게 한다(708). 몇몇 실시예들에서, 페어링 모듈(202)은, 호스트 디바이스(104) 및 제 2 디바이스에 인터-프로세스(inter-process) 통신 채널을 제공함으로써 적어도 하나의 네트워크를 통해 제 1 애플리케이션과 제 2 디바이스 사이의 통신들을 용이하게 한다.
몇몇 실시예들에서, 제 2 디바이스 상에서 이용가능한 능력을 이용하기 위한 요청을 제 1 애플리케이션으로부터 수신하기 전에, 제 2 디바이스는 호스트 디바이스(104)와 페어링된다. 도 8은 몇몇 실시예들에 따라 디바이스를 호스트 디바이스와 페어링하기 위한 방법(800)의 흐름도이다. 페어링 모듈(202)은 제 2 디바이스를 호스트 디바이스(104)와 페어링한다(802). 그 다음, 향상된 능력 모듈(204)은 제 2 디바이스의 능력들을 식별한다(804). 예를 들어, 향상된 능력 모듈(204)은 제 2 디바이스로부터 제 2 디바이스의 능력들과 관련된 정보를 수신할 수 있다. 다른 예에서, 향상된 능력 모듈(204)은, 제 2 디바이스의 디바이스 식별자(예를 들어, 제 2 디바이스의 MAC 어드레스, 제 2 디바이스의 시리얼 넘버 등)를 이용하여 디바이스 데이터베이스(210)에 문의하여, 제 2 디바이스의 능력들과 관련된 정보를 획득할 수 있다.
몇몇 실시예들에서, 제 2 디바이스 상에서 이용가능한 능력을 이용하기 위한 요청을 제 1 애플리케이션으로부터 수신하기 전에, 향상된 능력 모듈(204)은 호스트 디바이스(104)에 포함되지 않은 능력을 포함하는 디바이스의 선택을 수신한다. 도 9는 몇몇 실시예들에 따라, 호스트 디바이스(104)에 포함되지 않은 능력을 포함하는 디바이스의 선택을 수신하기 위한 방법(900)의 흐름도이다. 향상된 능력 모듈(204)은, 호스트 디바이스(104)와 페어링되고 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하고(902), 복수의 디바이스들은 제 2 디바이스를 포함한다. 각각의 디바이스가 호스트 디바이스(104)와 동일한 네트워크(예를 들어, Wi-Fi 네트워크, 블루투스 네트워크 등)에 접속되고 그리고/또는 다수의 네트워크들을 통해 호스트 디바이스(104)에 접속되는 경우, 각각의 디바이스는 호스트 디바이스(104)에 액세스가능함을 주목한다. 향상된 능력 모듈(204)은 복수의 디바이스들을 호스트 디바이스(104)의 사용자 인터페이스(예를 들어, 디스플레이 디바이스(102))에서 제시한다(904). 그 다음, 향상된 능력 모듈(204)은 복수의 디바이스들로부터 제 2 디바이스의 선택을 수신한다(906). 예를 들어, 선택은 호스트 디바이스(104)의 사용자로부터 입력 디바이스들(408)을 통해 수신된다. 몇몇 실시예들에서, 향상된 능력 모듈(204)은 복수의 디바이스들로부터 제 2 디바이스를 자동으로 제시하고, 여기서, 제시된 제 2 디바이스는 가장 최근에 선택된 제 2 디바이스이다. 몇몇 실시예들에서, 제시된 제 2 디바이스는, 요청된 특정한 기능, 및 특정하게 요청된 기능에 대해 가장 최근에 선택된 제 2 디바이스를 제시하는 것에 따라 결정된다. 예를 들어, 향상된 능력 모듈(204)은 시각적으로 강조된 디바이스들 중 하나로 복수의 디바이스들을 제시한다. 향상된 디바이스는 복수의 디바이스들로부터 가장 최근에 선택된 디바이스이다. 대안적으로, 향상된 디바이스는 특정하게 요청된 기능에 대해 가장 최근에 선택된 디바이스이다.
상기 논의는 도 7 내지 도 9에 예시된 동작들을 수행하는 페어링 모듈(202) 및 향상된 능력 모듈(204)을 참조하지만, 이러한 동작들은 호스트 디바이스(104)(또는 임의의 다른 컴퓨터 시스템)의 임의의 모듈(또는 모듈들)에 의해 수행될 수 있음을 주목한다.
도 7 내지 도 9에 예시된 방법들은, 컴퓨터 판독가능 저장 매체에 저장되고 호스트 디바이스의 적어도 하나의 프로세서에 의해 실행되는 명령들에 의해 감독될 수 있다. 도 7 내지 도 9에 도시된 동작들 각각은 비일시적 컴퓨터 메모리 또는 컴퓨터 판독가능 저장 매체에 저장된 명령들에 대응할 수 있다. 다양한 실시예들에서, 비일시적 컴퓨터 판독가능 저장 매체는 자기 또는 광 디스크 저장 디바이스, 솔리드 스테이트 저장 디바이스들, 예를 들어, 플래쉬 메모리, 또는 다른 비휘발성 메모리 디바이스 또는 디바이스들을 포함한다. 비일시적 컴퓨터 판독가능 저장 매체 상에 저장된 컴퓨터 판독가능 명령들은, 소스 코드, 어셈블리 언어 코드, 오브젝트 코드, 또는 하나 또는 그 초과의 프로세서들에 의해 해석되고 그리고/또는 실행가능한 다른 명령 포맷일 수 있다.
본 명세서에서 단일 예로서 설명된 컴포넌트들, 동작들 또는 구조들에 대해 복수의 예들이 제공될 수 있다. 마지막으로, 다양한 컴포넌트들, 동작들 및 데이터 스토어들 사이의 경계들은 다소 임의적이고, 특정한 동작들은 특정한 예시적인 구성들의 상황에서 예시된다. 기능의 다른 할당들이 고안되고, 실시예(들)의 범위 내에 속할 수 있다. 일반적으로, 예시적인 구성들에서 별개의 컴포넌트들로서 제시된 구조들 및 기능은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조들 및 기능은 별개의 컴포넌트들로서 구현될 수 있다. 이러한 그리고 다른 변화들, 변형들, 추가들 및 개선들은 실시예(들)의 범위 내에 속한다.
다양한 엘리먼트들을 설명하기 위해 용어들 "제 1", "제 2" 등이 본 명세서에서 이용될 수 있지만, 이러한 엘리먼트들은 이러한 용어들로 제한되지 않아야 함을 또한 이해할 것이다. 이러한 용어들은 하나의 엘리먼트를 다른 엘리먼트로부터 구별하기 위해서만 이용된다. 예를 들어, 제 1 접촉은 제 2 접촉으로 지칭될 수 있고, 유사하게 제 2 접촉은 제 1 접촉으로 지칭될 수 있는데, 이것은, "제 1 접촉"의 모든 발생들이 일관되게 재명명되고 제 2 접촉의 모든 발생들이 일관되게 재명명되는 한, 설명의 의미를 변경한다. 제 1 접촉 및 제 2 접촉은 모두 접촉들이지만, 이들은 동일한 접촉이 아니다.
본 명세서에서 이용되는 용어는 오직 특정한 실시예들을 설명하기 위한 목적이고, 청구항들의 제한으로 의도되지 않는다. 실시예들의 설명 및 첨부된 청구항들에서 이용되는 바와 같이, 단수형 형태들은, 문맥에서 명시적으로 달리 표시하지 않으면 복수형 형태들을 또한 포함하는 것으로 의도된다. 본 명세서에서 이용되는 용어 "및/또는"은 연관된 나열된 항목들 중 하나 또는 그 초과의 임의의 그리고 모든 가능한 조합들을 지칭하고 포함함이 또한 이해될 것이다. 본 명세서에서 사용되는 경우, 용어들 "포함하다" 및/또는 "포함하는"은, 언급된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그들의 그룹들의 존재 또는 부가를 배제하지 않음이 추가로 이해될 것이다.
본 명세서에서 이용되는 경우, 용어 "만약(if)"은, 맥락에 따라, 언급된 선행 조건이 참(true)인 "경우(when)" 또는 "때(upon)" 또는 "결정에 대한 응답으로" 또는 "결정에 따라" 또는 "검출에 대한 응답으로"를 의미하도록 해석될 수도 있다. 유사하게, 어구 "(언급된 선행 조건이 참인 것이) 결정되면" 또는 "만약 (언급된 선행 조건이 참)이면" 또는 "(언급된 선행 조건이 참인) 경우"는, 맥락에 따라, 언급된 선행 조건이 참인 "것으로 결정한 때" 또는 "것을 결정하는 것에 대한 응답으로" 또는 "결정에 따라" 또는 "것을 검출할 때" 또는 "것을 검출하는 것에 대한 응답으로"를 의미하도록 해석될 수 있다.
전술된 설명은, 예시적인 실시예들을 구현하는 예시적인 시스템들, 방법들, 기술들, 명령 시퀀스들 및 컴퓨팅 머신 프로그램 물건들을 포함하였다. 설명의 목적으로, 창작적 요지의 다양한 실시예들의 이해를 제공하기 위해 다수의 특정 세부사항들이 기술되었다. 그러나, 창작적 요지의 실시예들이 이러한 특정 세부사항들없이도 실시될 수 있음은 당업자들에게 자명할 것이다. 일반적으로, 주지의 명령 예들, 프로토콜들, 구조들 및 기술들은 상세히 나타내지 않았다.
설명의 목적으로, 전술된 설명은 특정한 실시예들을 참조하여 설명되었다. 그러나, 상기 예시적인 논의들은, 총망라하는 것, 또는 실시예들을 개시된 정확한 형태들로 제한하는 것으로 의도되지 않는다. 상기 교시들의 관점에서 많은 변형들 및 변화들이 가능하다. 실시예들은, 원리들 및 이들의 실시 애플리케이션들을 최상으로 설명하기 위해 선택 및 설명되었으며, 그에 따라, 고려되는 특정한 이용에 적합하도록 다양한 변형들로 실시예들 및 다양한 실시예들을 당업자들이 최상으로 활용할 수 있게 한다.
Claims (36)
- 호스트 디바이스 상에서 수행되는, 상기 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법으로서, 상기 호스트 디바이스는 적어도 하나의 프로세서 및 적어도 하나의 프로그램을 저장하는 메모리를 가지고, 상기 적어도 하나의 프로그램은 상기 방법을 수행하기 위해 상기 적어도 하나의 프로세서에 의해 실행되기 위한 것이고,
상기 방법은,
상기 호스트 디바이스 및 제 2 컴퓨팅 디바이스를 네트워크를 통해 페어링하는 단계 ―상기 제 2 컴퓨팅 디바이스는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 의한 실행을 위한 적어도 하나의 제 2 프로그램을 저장하는 메모리를 가짐―;
상기 제 2 컴퓨팅 디바이스의 제 1 능력에 관한 정보를 디바이스 데이터베이스에 저장하는 단계 ―상기 제 1 능력은, 상기 호스트 디바이스에 의해 제공되지 않는 멀티미디어 또는 센서 능력을 포함하고, 상기 디바이스 데이터베이스는, 상기 호스트 디바이스와 페어링된 복수의 디바이스들에 대해, 상기 복수의 디바이스들 각각의 적어도 하나의 각각의 멀티미디어 또는 센서 능력에 관한 정보를 포함함―;
상기 호스트 디바이스에 의해 제공되지 않는 상기 제 1 능력을 이용하도록 구성되는 제 1 애플리케이션을 상기 호스트 디바이스 상에서 실행하는 단계;
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스가 상기 제 1 능력을 제공한다는 것을 상기 디바이스 데이터베이스에의 참조에 의해 결정하는 단계;
적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계; 및
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 의해 실행되는 상기 제 1 능력의 출력을 제공하기 위해, 상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하는 단계는 상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스에 인터-프로세스(inter-process) 통신 채널을 제공하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 제 2 컴퓨팅 디바이스를 상기 호스트 디바이스와 페어링하는 단계; 및
상기 제 2 컴퓨팅 디바이스의 능력들을 식별하는 단계를 더 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 호스트 디바이스와 페어링되고 상기 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하는 단계 ―상기 복수의 디바이스들은 상기 제 2 컴퓨팅 디바이스를 포함함―;
상기 복수의 디바이스들을 상기 호스트 디바이스의 사용자 인터페이스에서 제시하는 단계; 및
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 대한 사용자의 선택을 수신하는 단계를 더 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 호스트 디바이스는 제 1 애플리케이션 프레임워크를 포함하고, 상기 제 2 컴퓨팅 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 상기 제 1 애플리케이션 프레임워크 및 상기 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크들인, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스는 로컬 영역 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계는 상기 로컬 영역 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 호스트 디바이스는 제 1 네트워크에 접속되고, 상기 제 2 컴퓨팅 디바이스는 제 2 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계는 상기 제 1 네트워크 및 상기 제 2 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
상기 제 2 컴퓨팅 디바이스의 위치를 결정하는 것,
전화 통화를 하는 것,
비디오 통화를 하는 것,
사진을 찍는 것,
오디오를 기록하는 것,
비디오를 기록하는 것,
사용자로부터 입력을 수신하는 것,
상기 제 2 컴퓨팅 디바이스의 센서로부터 센서 측정들을 수신하는 것, 및
텍스트 메시지를 전송하는 것
으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
위성 포지셔닝 디바이스;
모바일 전기통신 디바이스;
카메라;
마이크로폰;
스피커;
디스플레이 디바이스 및
입력 디바이스
로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 호스트 디바이스는 텔레비젼 셋탑 박스를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 호스트 디바이스는 텔레비젼 세트를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 제 1 항에 있어서,
상기 제 1 애플리케이션은 상기 제 2 컴퓨팅 디바이스 상에서는 실행되지 않는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법. - 호스트 디바이스의 능력들을 증강시키는 시스템으로서,
적어도 하나의 프로세서;
메모리; 및
상기 메모리에 저장되고 상기 적어도 하나의 프로세서에 의해 실행가능한 적어도 하나의 프로그램을 포함하고,
상기 적어도 하나의 프로그램은,
상기 호스트 디바이스 및 제 2 컴퓨팅 디바이스를 네트워크를 통해 페어링하기 위한 명령들 ―상기 제 2 컴퓨팅 디바이스는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 의한 실행을 위한 적어도 하나의 제 2 프로그램을 저장하는 메모리를 가짐―;
상기 제 2 컴퓨팅 디바이스의 제 1 능력에 관한 정보를 디바이스 데이터베이스에 저장하기 위한 명령들 ―상기 제 1 능력은, 상기 호스트 디바이스에 의해 제공되지 않는 멀티미디어 또는 센서 능력을 포함하고, 상기 디바이스 데이터베이스는, 상기 호스트 디바이스와 페어링된 복수의 디바이스들에 대해, 상기 복수의 디바이스들 각각의 적어도 하나의 각각의 멀티미디어 또는 센서 능력에 관한 정보를 포함함―;
상기 호스트 디바이스에 의해 제공되지 않는 상기 제 1 능력을 이용하도록 구성되는 제 1 애플리케이션을 상기 호스트 디바이스 상에서 실행하기 위한 명령들;
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스가 상기 제 1 능력을 제공하는 것을 상기 디바이스 데이터베이스에의 참조에 의해 결정하기 위한 명령들;
적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하기 위한 명령들; 및
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 의해 실행되는 상기 제 1 능력의 출력을 제공하기 위해, 상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들은 상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스에 인터-프로세스 통신 채널을 제공하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 적어도 하나의 프로그램은,
상기 제 2 컴퓨팅 디바이스를 상기 호스트 디바이스와 페어링하기 위한 명령들; 및
상기 제 2 컴퓨팅 디바이스의 능력들을 식별하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 적어도 하나의 프로그램은,
상기 호스트 디바이스와 페어링되고 상기 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하기 위한 명령들 ―상기 복수의 디바이스들은 상기 제 2 컴퓨팅 디바이스를 포함함―;
상기 복수의 디바이스들을 상기 호스트 디바이스의 사용자 인터페이스에서 제시하기 위한 명령들; 및
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 대한 사용자의 선택을 수신하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 호스트 디바이스는 제 1 애플리케이션 프레임워크를 포함하고, 상기 제 2 컴퓨팅 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 상기 제 1 애플리케이션 프레임워크 및 상기 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크들인, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스는 로컬 영역 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 로컬 영역 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 호스트 디바이스는 제 1 네트워크에 접속되고, 상기 제 2 컴퓨팅 디바이스는 제 2 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 제 1 네트워크 및 상기 제 2 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
상기 제 2 컴퓨팅 디바이스의 위치를 결정하는 것,
전화 통화를 하는 것,
비디오 통화를 하는 것,
사진을 찍는 것,
오디오를 기록하는 것,
비디오를 기록하는 것,
사용자로부터 입력을 수신하는 것,
상기 제 2 컴퓨팅 디바이스의 센서로부터 센서 측정들을 수신하는 것, 및
텍스트 메시지를 전송하는 것
으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
위성 포지셔닝 디바이스;
모바일 전기통신 디바이스;
카메라;
마이크로폰;
스피커;
디스플레이 디바이스; 및
입력 디바이스
로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 호스트 디바이스는 텔레비젼 셋탑 박스를 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 호스트 디바이스는 텔레비젼 세트를 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 제 13 항에 있어서,
상기 제 1 애플리케이션은 상기 제 2 컴퓨팅 디바이스 상에서는 실행되지 않는, 호스트 디바이스의 능력들을 증강시키는 시스템. - 컴퓨터 시스템의 적어도 하나의 프로세서에 의한 실행을 위해 구성되는 적어도 하나의 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
상기 적어도 하나의 프로그램은,
호스트 디바이스 및 제 2 컴퓨팅 디바이스를 네트워크를 통해 페어링하기 위한 명령들 ―상기 제 2 컴퓨팅 디바이스는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 의한 실행을 위한 적어도 하나의 제 2 프로그램을 저장하는 메모리를 가짐―;
상기 제 2 컴퓨팅 디바이스의 제 1 능력에 관한 정보를 디바이스 데이터베이스에 저장하기 위한 명령들 ―상기 제 1 능력은, 상기 호스트 디바이스에 의해 제공되지 않는 멀티미디어 또는 센서 능력을 포함하고, 상기 디바이스 데이터베이스는, 상기 호스트 디바이스와 페어링된 복수의 디바이스들에 대해, 상기 복수의 디바이스들 각각의 적어도 하나의 각각의 멀티미디어 또는 센서 능력에 관한 정보를 포함함―;
상기 호스트 디바이스에 의해 제공되지 않는 상기 제 1 능력을 이용하도록 구성되는 제 1 애플리케이션을 상기 호스트 디바이스 상에서 실행하기 위한 명령들;
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스가 상기 제 1 능력을 제공한다는 것을 상기 디바이스 데이터베이스에의 참조에 의해 결정하기 위한 명령들;
적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하기 위한 명령들; 및
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 의해 실행되는 상기 제 1 능력의 출력을 제공하기 위해, 상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들은 상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스에 인터-프로세스 통신 채널을 제공하기 위한 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 적어도 하나의 프로그램은,
상기 제 2 컴퓨팅 디바이스를 상기 호스트 디바이스와 페어링하기 위한 명령들; 및
상기 제 2 컴퓨팅 디바이스의 능력들을 식별하기 위한 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 적어도 하나의 프로그램은,
상기 호스트 디바이스와 페어링되고 상기 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하기 위한 명령들 ―상기 복수의 디바이스들은 상기 제 2 컴퓨팅 디바이스를 포함함―;
상기 복수의 디바이스들을 상기 호스트 디바이스의 사용자 인터페이스에서 제시하기 위한 명령들; 및
상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 대한 사용자의 선택을 수신하기 위한 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 호스트 디바이스는 제 1 애플리케이션 프레임워크를 포함하고, 상기 제 2 컴퓨팅 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 상기 제 1 애플리케이션 프레임워크 및 상기 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크들인, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스는 로컬 영역 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 로컬 영역 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 호스트 디바이스는 제 1 네트워크에 접속되고, 상기 제 2 컴퓨팅 디바이스는 제 2 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 제 1 네트워크 및 상기 제 2 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
상기 제 2 컴퓨팅 디바이스의 위치를 결정하는 것,
전화 통화를 하는 것,
비디오 통화를 하는 것,
사진을 찍는 것,
오디오를 기록하는 것,
비디오를 기록하는 것,
사용자로부터 입력을 수신하는 것,
상기 제 2 컴퓨팅 디바이스의 센서로부터 센서 측정들을 수신하는 것, 및
텍스트 메시지를 전송하는 것
으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
위성 포지셔닝 디바이스;
모바일 전기통신 디바이스;
카메라;
마이크로폰;
스피커;
디스플레이 디바이스 및
입력 디바이스
로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 호스트 디바이스는 텔레비젼 셋탑 박스를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 호스트 디바이스는 텔레비젼 세트를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 제 25 항에 있어서,
상기 제 1 애플리케이션은 상기 제 2 컴퓨팅 디바이스 상에서는 실행되지 않는, 비일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/598,530 US8984186B2 (en) | 2012-08-29 | 2012-08-29 | Augmenting capabilities of a host device |
US13/598,530 | 2012-08-29 | ||
PCT/US2013/057372 WO2014036311A1 (en) | 2012-08-29 | 2013-08-29 | Augmenting capabilities of a host device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167009200A Division KR101744183B1 (ko) | 2012-08-29 | 2013-08-29 | 호스트 디바이스의 능력들의 증강 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150048196A KR20150048196A (ko) | 2015-05-06 |
KR101612390B1 true KR101612390B1 (ko) | 2016-04-14 |
Family
ID=49213095
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157007627A KR101612390B1 (ko) | 2012-08-29 | 2013-08-29 | 호스트 디바이스의 능력들의 증강 |
KR1020167009200A KR101744183B1 (ko) | 2012-08-29 | 2013-08-29 | 호스트 디바이스의 능력들의 증강 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167009200A KR101744183B1 (ko) | 2012-08-29 | 2013-08-29 | 호스트 디바이스의 능력들의 증강 |
Country Status (5)
Country | Link |
---|---|
US (2) | US8984186B2 (ko) |
EP (2) | EP4220402A3 (ko) |
KR (2) | KR101612390B1 (ko) |
CN (2) | CN104756080B (ko) |
WO (1) | WO2014036311A1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9715659B2 (en) | 2011-08-26 | 2017-07-25 | Google Inc. | System and method for determining a level of confidence that a media item is being presented |
US9552598B2 (en) * | 2012-10-12 | 2017-01-24 | Ebay Inc. | Mobile trigger web workflow |
US9374517B2 (en) | 2012-10-12 | 2016-06-21 | Ebay Inc. | Guided photography and video on a mobile device |
US10448453B2 (en) * | 2015-09-25 | 2019-10-15 | Intel Corporation | Virtual sensor system |
US10681149B2 (en) | 2016-10-10 | 2020-06-09 | Paypal, Inc. | Application redirection system |
US11272481B2 (en) | 2016-11-14 | 2022-03-08 | Google Llc | Distributed resource model |
US10754673B2 (en) * | 2017-05-08 | 2020-08-25 | Google Llc | Smart device configuration guidance via automated assistant interface of separate client device |
US10540977B2 (en) | 2018-03-20 | 2020-01-21 | Microsoft Technology Licensing, Llc | Proximity-based engagement with digital assistants |
US10747560B2 (en) | 2018-03-20 | 2020-08-18 | Microsoft Technology Licensing, Llc | Computerized task guidance across devices and applications |
CN109753315A (zh) * | 2018-11-22 | 2019-05-14 | 广州小鸡快跑网络科技有限公司 | 一种智能设备交互式内容编辑实现方法及存储介质 |
US10789093B2 (en) * | 2019-02-05 | 2020-09-29 | Citrix Systems, Inc. | Extension of mobile device sensor capabilities into an application |
US11438435B2 (en) | 2019-03-01 | 2022-09-06 | Microsoft Technology Licensing, Llc | User interaction and task management using multiple devices |
US11438497B2 (en) * | 2019-12-13 | 2022-09-06 | Sony Group Corporation | Managing multiple image devices |
US11962650B2 (en) | 2020-06-29 | 2024-04-16 | Google Llc | Distributed ambient computing within an environment |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411276B1 (en) * | 1996-11-13 | 2002-06-25 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
US6141705A (en) * | 1998-06-12 | 2000-10-31 | Microsoft Corporation | System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed |
US6418555B2 (en) * | 1998-07-21 | 2002-07-09 | Intel Corporation | Automatic upgrade of software |
US6963784B1 (en) | 1998-10-16 | 2005-11-08 | Sony Corporation | Virtual device control modules and function control modules implemented in a home audio/video network |
EP1205843A3 (en) | 2000-11-13 | 2004-10-20 | Canon Kabushiki Kaisha | User interfaces |
US8352624B2 (en) * | 2002-04-18 | 2013-01-08 | Citrix Systems, Inc. | System for and method of streaming data to a computer in a network |
JP2003316522A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
US7043572B2 (en) * | 2003-06-06 | 2006-05-09 | Microsoft Corporation | Method and system for providing a peripheral service to a host computing device |
US8452847B2 (en) | 2003-09-22 | 2013-05-28 | Broadcom Corporation | Processor sharing between in-range devices |
CN1894931A (zh) * | 2003-10-15 | 2007-01-10 | 高通股份有限公司 | 高数据速率接口 |
CN101867516B (zh) * | 2003-12-08 | 2012-04-04 | 高通股份有限公司 | 具有改进链路同步的高数据速率接口 |
JP2005182481A (ja) * | 2003-12-19 | 2005-07-07 | Hitachi Ltd | ネットワーク機器 |
JP4971610B2 (ja) * | 2005-09-01 | 2012-07-11 | キヤノン株式会社 | デバイスドライバを管理するためのプログラムおよび方法と情報処理装置 |
US20070174429A1 (en) * | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US8784196B2 (en) * | 2006-04-13 | 2014-07-22 | Igt | Remote content management and resource sharing on a gaming machine and method of implementing same |
US9028329B2 (en) * | 2006-04-13 | 2015-05-12 | Igt | Integrating remotely-hosted and locally rendered content on a gaming device |
US8992304B2 (en) * | 2006-04-13 | 2015-03-31 | Igt | Methods and systems for tracking an event of an externally controlled interface |
US20100199290A1 (en) * | 2009-02-02 | 2010-08-05 | Richard Thomas Kavanaugh | System and method for multifunction device enumeration |
US8073440B2 (en) * | 2009-04-27 | 2011-12-06 | Airbiquity, Inc. | Automatic gain control in a personal navigation device |
-
2012
- 2012-08-29 US US13/598,530 patent/US8984186B2/en active Active
-
2013
- 2013-08-29 CN CN201380056098.6A patent/CN104756080B/zh active Active
- 2013-08-29 KR KR1020157007627A patent/KR101612390B1/ko active IP Right Grant
- 2013-08-29 WO PCT/US2013/057372 patent/WO2014036311A1/en active Application Filing
- 2013-08-29 KR KR1020167009200A patent/KR101744183B1/ko active IP Right Grant
- 2013-08-29 EP EP22213616.0A patent/EP4220402A3/en active Pending
- 2013-08-29 CN CN201810796765.9A patent/CN109101335B/zh active Active
- 2013-08-29 EP EP13763365.7A patent/EP2891063A1/en not_active Ceased
-
2015
- 2015-02-04 US US14/614,366 patent/US9386264B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20150048196A (ko) | 2015-05-06 |
KR101744183B1 (ko) | 2017-06-07 |
EP2891063A1 (en) | 2015-07-08 |
CN104756080A (zh) | 2015-07-01 |
WO2014036311A1 (en) | 2014-03-06 |
EP4220402A3 (en) | 2023-08-09 |
US20150181156A1 (en) | 2015-06-25 |
CN104756080B (zh) | 2018-08-17 |
CN109101335A (zh) | 2018-12-28 |
US9386264B2 (en) | 2016-07-05 |
KR20160042188A (ko) | 2016-04-18 |
US8984186B2 (en) | 2015-03-17 |
US20140063344A1 (en) | 2014-03-06 |
CN109101335B (zh) | 2020-09-22 |
EP4220402A2 (en) | 2023-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101612390B1 (ko) | 호스트 디바이스의 능력들의 증강 | |
US10725972B2 (en) | Continuous and concurrent device experience in a multi-device ecosystem | |
JP6228676B2 (ja) | 接続状態プロンプティング方法および装置 | |
US8959141B2 (en) | System and method for pervasive computing | |
CN108476242B (zh) | 在支持云存储服务的无线通信系统中发送和接收文件的装置和方法 | |
KR20170084216A (ko) | 동일 스크린 상에 콘텐츠를 표시하기 위한 방법 및 장치, 그리고 단말 장치 | |
US10165058B2 (en) | Dynamic local function binding apparatus and method | |
US9716970B2 (en) | Wireless communication system, and apparatus and method for controlling communication connections with plurality of user terminals in system | |
CN114647350B (zh) | 应用共享方法、电子设备和存储介质 | |
KR102566622B1 (ko) | 멀티코어 통신방법, 장치, 전자기기 및 저장매체 | |
CN106027631B (zh) | 一种数据传输方法及装置 | |
CN108600529B (zh) | 信息交互方法、装置及计算机可读存储介质 | |
US9948732B2 (en) | Method for providing status messaging service in electronic device and the electronic device thereof | |
CN113596328B (zh) | 摄像头调用方法、装置和电子设备 | |
KR20150068136A (ko) | 전자 장치의 컨텐츠 다운로드 방법 및 그 전자 장치 | |
US11252206B2 (en) | Reducing setup time for online meetings | |
CN113489600B (zh) | 一种网络参数的配置方法、装置以及存储介质 | |
CN110633141A (zh) | 一种应用程序的内存管理方法、装置、终端设备及介质 | |
WO2023246756A1 (zh) | 算力服务方法、装置、终端及核心网设备 | |
CN106033246B (zh) | 一种数据传输方法及电子设备 | |
CN111105345B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN115734205A (zh) | 被动蓝牙连接方法、装置及蓝牙设备 | |
CN117294889A (zh) | 请求的展示方法、装置、电子设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |