KR101612390B1 - 호스트 디바이스의 능력들의 증강 - Google Patents

호스트 디바이스의 능력들의 증강 Download PDF

Info

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
Application number
KR1020157007627A
Other languages
English (en)
Other versions
KR20150048196A (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 KR20150048196A publication Critical patent/KR20150048196A/ko
Application granted granted Critical
Publication of KR101612390B1 publication Critical patent/KR101612390B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/002Special television systems not provided for by H04N7/007 - H04N7/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4112Peripherals 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5055Allocation 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client 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/25808Management of client data
    • H04N21/25833Management of client data involving client hardware characteristics, e.g. manufacturer, processing or storage capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client 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/25808Management of client data
    • H04N21/25858Management of client data involving client software characteristics, e.g. OS identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4108Peripherals receiving signals from specially adapted client devices characterised by an identification number or address, e.g. local network address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference 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

호스트 디바이스의 능력들의 증강{AUGMENTING CAPABILITIES OF A HOST DEVICE}
개시된 실시예들은 일반적으로 호스트 디바이스의 능력들을 증강시키는 것에 관한 것이다.
전자 디바이스들은 통상적으로 고정된 세트의 고유 능력들을 포함한다. 예를 들어, 디지털 텔레비젼 셋탑 박스는 디지털 텔레비젼 신호들을 수신하고 디코딩하는 능력을 포함하지만, 셀룰러 폰 네트워크를 이용하여 전화 통화를 하는 능력을 포함하지는 않는다. 스마트 폰은 셀룰러 네트워크를 이용하여 전화 통화를 하는 능력을 포함하지만, 디지털 텔레비젼 신호들을 수신하고 디코딩하는 능력을 포함하지는 않는다. 제 2 디바이스의 능력들로 제 1 디바이스의 능력들을 증강시키는 것이 바람직하다.
본 명세서에 개시된 실시예들은, 첨부된 도면들의 도시들에서 제한의 방식이 아닌 예시의 방식으로 예시된다. 도면들 전반에 걸쳐 유사한 참조 부호들은 대응하는 부분들을 지칭한다.
도 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)

  1. 호스트 디바이스 상에서 수행되는, 상기 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법으로서, 상기 호스트 디바이스는 적어도 하나의 프로세서 및 적어도 하나의 프로그램을 저장하는 메모리를 가지고, 상기 적어도 하나의 프로그램은 상기 방법을 수행하기 위해 상기 적어도 하나의 프로세서에 의해 실행되기 위한 것이고,
    상기 방법은,
    상기 호스트 디바이스 및 제 2 컴퓨팅 디바이스를 네트워크를 통해 페어링하는 단계 ―상기 제 2 컴퓨팅 디바이스는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 의한 실행을 위한 적어도 하나의 제 2 프로그램을 저장하는 메모리를 가짐―;
    상기 제 2 컴퓨팅 디바이스의 제 1 능력에 관한 정보를 디바이스 데이터베이스에 저장하는 단계 ―상기 제 1 능력은, 상기 호스트 디바이스에 의해 제공되지 않는 멀티미디어 또는 센서 능력을 포함하고, 상기 디바이스 데이터베이스는, 상기 호스트 디바이스와 페어링된 복수의 디바이스들에 대해, 상기 복수의 디바이스들 각각의 적어도 하나의 각각의 멀티미디어 또는 센서 능력에 관한 정보를 포함함―;
    상기 호스트 디바이스에 의해 제공되지 않는 상기 제 1 능력을 이용하도록 구성되는 제 1 애플리케이션을 상기 호스트 디바이스 상에서 실행하는 단계;
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스가 상기 제 1 능력을 제공한다는 것을 상기 디바이스 데이터베이스에의 참조에 의해 결정하는 단계;
    적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계; 및
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 의해 실행되는 상기 제 1 능력의 출력을 제공하기 위해, 상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하는 단계는 상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스에 인터-프로세스(inter-process) 통신 채널을 제공하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  3. 제 1 항에 있어서,
    상기 제 2 컴퓨팅 디바이스를 상기 호스트 디바이스와 페어링하는 단계; 및
    상기 제 2 컴퓨팅 디바이스의 능력들을 식별하는 단계를 더 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  4. 제 1 항에 있어서,
    상기 호스트 디바이스와 페어링되고 상기 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하는 단계 ―상기 복수의 디바이스들은 상기 제 2 컴퓨팅 디바이스를 포함함―;
    상기 복수의 디바이스들을 상기 호스트 디바이스의 사용자 인터페이스에서 제시하는 단계; 및
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 대한 사용자의 선택을 수신하는 단계를 더 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  5. 제 1 항에 있어서,
    상기 호스트 디바이스는 제 1 애플리케이션 프레임워크를 포함하고, 상기 제 2 컴퓨팅 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 상기 제 1 애플리케이션 프레임워크 및 상기 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크들인, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  6. 제 1 항에 있어서,
    상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스는 로컬 영역 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계는 상기 로컬 영역 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  7. 제 1 항에 있어서,
    상기 호스트 디바이스는 제 1 네트워크에 접속되고, 상기 제 2 컴퓨팅 디바이스는 제 2 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계는 상기 제 1 네트워크 및 상기 제 2 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 단계를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  8. 제 1 항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
    상기 제 2 컴퓨팅 디바이스의 위치를 결정하는 것,
    전화 통화를 하는 것,
    비디오 통화를 하는 것,
    사진을 찍는 것,
    오디오를 기록하는 것,
    비디오를 기록하는 것,
    사용자로부터 입력을 수신하는 것,
    상기 제 2 컴퓨팅 디바이스의 센서로부터 센서 측정들을 수신하는 것, 및
    텍스트 메시지를 전송하는 것
    으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  9. 제 1 항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
    위성 포지셔닝 디바이스;
    모바일 전기통신 디바이스;
    카메라;
    마이크로폰;
    스피커;
    디스플레이 디바이스 및
    입력 디바이스
    로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  10. 제 1 항에 있어서,
    상기 호스트 디바이스는 텔레비젼 셋탑 박스를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  11. 제 1 항에 있어서,
    상기 호스트 디바이스는 텔레비젼 세트를 포함하는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  12. 제 1 항에 있어서,
    상기 제 1 애플리케이션은 상기 제 2 컴퓨팅 디바이스 상에서는 실행되지 않는, 호스트 디바이스의 능력들을 증강시키기 위한 컴퓨터 구현된 방법.
  13. 호스트 디바이스의 능력들을 증강시키는 시스템으로서,
    적어도 하나의 프로세서;
    메모리; 및
    상기 메모리에 저장되고 상기 적어도 하나의 프로세서에 의해 실행가능한 적어도 하나의 프로그램을 포함하고,
    상기 적어도 하나의 프로그램은,
    상기 호스트 디바이스 및 제 2 컴퓨팅 디바이스를 네트워크를 통해 페어링하기 위한 명령들 ―상기 제 2 컴퓨팅 디바이스는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 의한 실행을 위한 적어도 하나의 제 2 프로그램을 저장하는 메모리를 가짐―;
    상기 제 2 컴퓨팅 디바이스의 제 1 능력에 관한 정보를 디바이스 데이터베이스에 저장하기 위한 명령들 ―상기 제 1 능력은, 상기 호스트 디바이스에 의해 제공되지 않는 멀티미디어 또는 센서 능력을 포함하고, 상기 디바이스 데이터베이스는, 상기 호스트 디바이스와 페어링된 복수의 디바이스들에 대해, 상기 복수의 디바이스들 각각의 적어도 하나의 각각의 멀티미디어 또는 센서 능력에 관한 정보를 포함함―;
    상기 호스트 디바이스에 의해 제공되지 않는 상기 제 1 능력을 이용하도록 구성되는 제 1 애플리케이션을 상기 호스트 디바이스 상에서 실행하기 위한 명령들;
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스가 상기 제 1 능력을 제공하는 것을 상기 디바이스 데이터베이스에의 참조에 의해 결정하기 위한 명령들;
    적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하기 위한 명령들; 및
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 의해 실행되는 상기 제 1 능력의 출력을 제공하기 위해, 상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  14. 제 13 항에 있어서,
    상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들은 상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스에 인터-프로세스 통신 채널을 제공하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  15. 제 13 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 제 2 컴퓨팅 디바이스를 상기 호스트 디바이스와 페어링하기 위한 명령들; 및
    상기 제 2 컴퓨팅 디바이스의 능력들을 식별하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  16. 제 13 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 호스트 디바이스와 페어링되고 상기 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하기 위한 명령들 ―상기 복수의 디바이스들은 상기 제 2 컴퓨팅 디바이스를 포함함―;
    상기 복수의 디바이스들을 상기 호스트 디바이스의 사용자 인터페이스에서 제시하기 위한 명령들; 및
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 대한 사용자의 선택을 수신하기 위한 명령들을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  17. 제 13 항에 있어서,
    상기 호스트 디바이스는 제 1 애플리케이션 프레임워크를 포함하고, 상기 제 2 컴퓨팅 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 상기 제 1 애플리케이션 프레임워크 및 상기 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크들인, 호스트 디바이스의 능력들을 증강시키는 시스템.
  18. 제 13 항에 있어서,
    상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스는 로컬 영역 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 로컬 영역 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  19. 제 13 항에 있어서,
    상기 호스트 디바이스는 제 1 네트워크에 접속되고, 상기 제 2 컴퓨팅 디바이스는 제 2 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 제 1 네트워크 및 상기 제 2 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  20. 제 13 항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
    상기 제 2 컴퓨팅 디바이스의 위치를 결정하는 것,
    전화 통화를 하는 것,
    비디오 통화를 하는 것,
    사진을 찍는 것,
    오디오를 기록하는 것,
    비디오를 기록하는 것,
    사용자로부터 입력을 수신하는 것,
    상기 제 2 컴퓨팅 디바이스의 센서로부터 센서 측정들을 수신하는 것, 및
    텍스트 메시지를 전송하는 것
    으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  21. 제 13 항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
    위성 포지셔닝 디바이스;
    모바일 전기통신 디바이스;
    카메라;
    마이크로폰;
    스피커;
    디스플레이 디바이스; 및
    입력 디바이스
    로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  22. 제 13 항에 있어서,
    상기 호스트 디바이스는 텔레비젼 셋탑 박스를 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  23. 제 13 항에 있어서,
    상기 호스트 디바이스는 텔레비젼 세트를 포함하는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  24. 제 13 항에 있어서,
    상기 제 1 애플리케이션은 상기 제 2 컴퓨팅 디바이스 상에서는 실행되지 않는, 호스트 디바이스의 능력들을 증강시키는 시스템.
  25. 컴퓨터 시스템의 적어도 하나의 프로세서에 의한 실행을 위해 구성되는 적어도 하나의 프로그램을 저장하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 적어도 하나의 프로그램은,
    호스트 디바이스 및 제 2 컴퓨팅 디바이스를 네트워크를 통해 페어링하기 위한 명령들 ―상기 제 2 컴퓨팅 디바이스는, 적어도 하나의 프로세서 및 상기 적어도 하나의 프로세서에 의한 실행을 위한 적어도 하나의 제 2 프로그램을 저장하는 메모리를 가짐―;
    상기 제 2 컴퓨팅 디바이스의 제 1 능력에 관한 정보를 디바이스 데이터베이스에 저장하기 위한 명령들 ―상기 제 1 능력은, 상기 호스트 디바이스에 의해 제공되지 않는 멀티미디어 또는 센서 능력을 포함하고, 상기 디바이스 데이터베이스는, 상기 호스트 디바이스와 페어링된 복수의 디바이스들에 대해, 상기 복수의 디바이스들 각각의 적어도 하나의 각각의 멀티미디어 또는 센서 능력에 관한 정보를 포함함―;
    상기 호스트 디바이스에 의해 제공되지 않는 상기 제 1 능력을 이용하도록 구성되는 제 1 애플리케이션을 상기 호스트 디바이스 상에서 실행하기 위한 명령들;
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스가 상기 제 1 능력을 제공한다는 것을 상기 디바이스 데이터베이스에의 참조에 의해 결정하기 위한 명령들;
    적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하기 위한 명령들; 및
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 의해 실행되는 상기 제 1 능력의 출력을 제공하기 위해, 상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  26. 제 25 항에 있어서,
    상기 적어도 하나의 네트워크를 통해 상기 제 1 애플리케이션과 상기 제 2 컴퓨팅 디바이스 사이의 통신들을 용이하게 하기 위한 명령들은 상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스에 인터-프로세스 통신 채널을 제공하기 위한 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  27. 제 25 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 제 2 컴퓨팅 디바이스를 상기 호스트 디바이스와 페어링하기 위한 명령들; 및
    상기 제 2 컴퓨팅 디바이스의 능력들을 식별하기 위한 명령들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  28. 제 25 항에 있어서,
    상기 적어도 하나의 프로그램은,
    상기 호스트 디바이스와 페어링되고 상기 호스트 디바이스에 액세스가능한 복수의 디바이스들을 식별하기 위한 명령들 ―상기 복수의 디바이스들은 상기 제 2 컴퓨팅 디바이스를 포함함―;
    상기 복수의 디바이스들을 상기 호스트 디바이스의 사용자 인터페이스에서 제시하기 위한 명령들; 및
    상기 복수의 디바이스들 중 상기 제 2 컴퓨팅 디바이스에 대한 사용자의 선택을 수신하기 위한 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  29. 제 25 항에 있어서,
    상기 호스트 디바이스는 제 1 애플리케이션 프레임워크를 포함하고, 상기 제 2 컴퓨팅 디바이스는 제 2 애플리케이션 프레임워크를 포함하고, 상기 제 1 애플리케이션 프레임워크 및 상기 제 2 애플리케이션 프레임워크는 상이한 애플리케이션 프레임워크들인, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 제 25 항에 있어서,
    상기 호스트 디바이스 및 상기 제 2 컴퓨팅 디바이스는 로컬 영역 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 로컬 영역 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  31. 제 25 항에 있어서,
    상기 호스트 디바이스는 제 1 네트워크에 접속되고, 상기 제 2 컴퓨팅 디바이스는 제 2 네트워크에 접속되고, 적어도 하나의 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것은 상기 제 1 네트워크 및 상기 제 2 네트워크를 통해 상기 제 2 컴퓨팅 디바이스로의 접속을 설정하는 것을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  32. 제 25 항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
    상기 제 2 컴퓨팅 디바이스의 위치를 결정하는 것,
    전화 통화를 하는 것,
    비디오 통화를 하는 것,
    사진을 찍는 것,
    오디오를 기록하는 것,
    비디오를 기록하는 것,
    사용자로부터 입력을 수신하는 것,
    상기 제 2 컴퓨팅 디바이스의 센서로부터 센서 측정들을 수신하는 것, 및
    텍스트 메시지를 전송하는 것
    으로 이루어진 그룹으로부터 선택되는 기능적 능력을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  33. 제 25 항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 제 1 능력은,
    위성 포지셔닝 디바이스;
    모바일 전기통신 디바이스;
    카메라;
    마이크로폰;
    스피커;
    디스플레이 디바이스 및
    입력 디바이스
    로 이루어진 그룹으로부터 선택되는 하드웨어 능력을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  34. 제 25 항에 있어서,
    상기 호스트 디바이스는 텔레비젼 셋탑 박스를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  35. 제 25 항에 있어서,
    상기 호스트 디바이스는 텔레비젼 세트를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  36. 제 25 항에 있어서,
    상기 제 1 애플리케이션은 상기 제 2 컴퓨팅 디바이스 상에서는 실행되지 않는, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020157007627A 2012-08-29 2013-08-29 호스트 디바이스의 능력들의 증강 KR101612390B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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