KR20160144296A - 어플리케이션을 공유하는 방법 및 장치 - Google Patents

어플리케이션을 공유하는 방법 및 장치 Download PDF

Info

Publication number
KR20160144296A
KR20160144296A KR1020150169271A KR20150169271A KR20160144296A KR 20160144296 A KR20160144296 A KR 20160144296A KR 1020150169271 A KR1020150169271 A KR 1020150169271A KR 20150169271 A KR20150169271 A KR 20150169271A KR 20160144296 A KR20160144296 A KR 20160144296A
Authority
KR
South Korea
Prior art keywords
target device
source device
shared application
application
target
Prior art date
Application number
KR1020150169271A
Other languages
English (en)
Other versions
KR102295663B1 (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 삼성전자주식회사
Priority to PCT/KR2016/002278 priority Critical patent/WO2016200018A1/en
Priority to EP16807661.0A priority patent/EP3304942B1/en
Priority to US15/075,749 priority patent/US10735930B2/en
Publication of KR20160144296A publication Critical patent/KR20160144296A/ko
Application granted granted Critical
Publication of KR102295663B1 publication Critical patent/KR102295663B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • H04W4/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • G06F9/4445
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/206
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • H04W76/023
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/16Use of wireless transmission of display information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

일 실시 예에 따른 어플리케이션을 공유하는 방법은 어플리케이션을 공유하는 방법에 있어서, 타겟 디바이스가 통신 가능한 영역에 위치하였는지 판단하는 단계; 상기 타겟 디바이스가 통신 가능한 영역에 위치한 경우 소스 디바이스와 타겟 디바이스 사이의 무선 연결을 설정(establish)하는 단계; 상기 타겟 디바이스에 상기 소스 디바이스로부터 제공되는 공유 어플리케이션들의 목록(name list)을 전송하고, 상기 타겟 디바이스로부터 요청된 공유 어플리케이션을 시작하는 단계; 상기 타겟 디바이스를 위한 상기 공유 어플리케이션의 윈도우 인스턴스를 생성하는 단계; 및 상기 공유 어플리케이션이 실행되는 동안 생성된 윈도우들을 상기 타겟 디바이스에 전송하는 단계를 포함한다.

Description

어플리케이션을 공유하는 방법 및 장치{Method and apparatus for sharing an application}
어플리케이션을 공유하는 방법 및 장치에 관한 것이다.
최근 스마트폰들 및 태블릿들의 사용이 증가하고 있다. 사람들은 생활의 요구들을 만족시키고, 배우고, 일하기 위해 다양한 어플리케이션들을 스마트폰에 설치한다. 그러나 서로 다른 스마트폰들의 OS 플랫폼들은 서로 호환되지 않을 수 있으며, 서로 다른 포맷들의 어플리케이션들을 제공한다.
사용자들은 앱스토어, 인터넷 등으로부터 어플리케이션을 다운로드 하고, 어플리케이션을 스마트폰에 설치한다. 사용자의 스마트폰에 설치된 어플리케이션들은 주기적으로 업데이트 된다. 동일한 어플리케이션이 복수의 스마트폰들에 설치되고 동일한 기능을 수행한다.
어플리케이션을 타겟 디바이스가 공유하는 방법 및 장치를 제공하는 데 있다.
일 실시 예에 따른 어플리케이션을 공유하는 방법은 타겟 디바이스가 통신 가능한 영역에 위치하였는지 판단하는 단계; 상기 타겟 디바이스가 통신 가능한 영역에 위치한 경우 소스 디바이스와 타겟 디바이스 사이의 무선 연결을 설정(establish)하는 단계; 상기 타겟 디바이스에 상기 소스 디바이스로부터 제공되는 공유 어플리케이션들의 목록(name list)을 전송하고, 상기 타겟 디바이스로부터 요청된 공유 어플리케이션을 시작하는 단계; 상기 타겟 디바이스를 위한 상기 공유 어플리케이션의 윈도우 인스턴스를 생성하는 단계; 및 상기 공유 어플리케이션이 실행되는 동안 생성된 윈도우들을 상기 타겟 디바이스에 전송하는 단계를 포함한다.
또한, 상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신하는 단계는, 상기 공유 어플리케이션들의 목록 중 사용자에 의해 선택된 공유 어플리케이션의 명칭을 수신하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신한 후, 상기 공유 어플리케이션을 시작하기 전, 만약 상기 공유 어플리케이션이 상기 소스 디바이스에서 동작 중이면, 상기 타겟 디바이스를 위한 공유 어플리케이션의 윈도우 인스턴스를 생성하는 단계; 및 만약 상기 공유 어플리케이션이 상기 소스 디바이스에서 동작 중이 아니면, 상기 공유 어플리케이션을 시작하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와의 무선 연결을 종료하는 것을 특징으로 한다.
또한, 상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와 통신 가능한 또 다른 소스 디바이스를 검색하는 단계; 상기 또 다른 소스 디바이스에 상기 공유 어플리케이션의 정보 및 상기 공유 어플리케이션의 실행 정보를 전송하는 것을 특징으로 한다.
또한, 상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스가 있는지를 판단하는 단계; 및 상기 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스의 접속을 종료하는 단계를 더 포함한다.
또한, 상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스가 있는지를 판단하는 단계; 및 상기 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스의 접속을 종료하는 단계를 더 포함한다.
또한, 상기 소스 디바이스는 소스 디바이스 클러스터에 위치하고, 상기 소스 디바이스와 상기 타겟 디바이스 사이의 무선 연결을 설정하는 단계는, 상기 소스 디바이스 클러스터의 클러스터 매니저에 의해, 상기 타겟 디바이스로부터 무선 연결 요청을 수신하고, 미리 구성된 로드-밸런싱-알고리즘에 따라 상기 소스 디바이스 클러스터로부터 소스 디바이스를 선택하고, 상기 타겟 디바이스와의 상기 무선 연결을 설정하기 위해 상기 선택된 소스 디바이스를 통지하는 단계; 상기 타겟 디바이스로부터 상기 공유 어플리케이션 요청을 수신하는 단계는, 상기 타겟 디바이스와 상기 무선 연결을 설정한 후, 상기 클러스터 매니저에 의해 선택된 상기 소스 디바이스에 의해 상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신하는 단계를 포함하는 것을 특징으로 한다.
일 실시 예에 따른 어플리케이션을 공유하는 장치는 상기 타겟 디바이스가 통신 가능한 영역에 위치한 경우 타겟 디바이스와 무선 연결을 설정하는 통신부; 및 상기 타겟 디바이스에 공유 어플리케이션들의 목록을 상기 통신부를 통해 전송하고, 상기 타겟 디바이스로부터 공유 어플리케이션 접속 요청을 수신하고, 상기 공유 어플리케이션을 시작하고, 상기 타겟 디바이스를 위해 상기 공유 어플리케이션의 윈도우 인스턴스를 생성하고, 상기 공유 어플리케이션이 동작 중 생성된 윈도우들을 상기 통신부를 통해 상기 타겟 디바이스로 전송하는 프로세서를 포함한다.
또한, 상기 프로세서는 상기 타겟 디바이스로부터 공유 어플리케이션 명칭을 운반하는 상기 공유 어플리케이션 접속 요청을 수신하고, 상기 공유 어플리케이션 명칭은 상기 공유 어플리케이션들의 상기 목록에 포함되는 것을 특징으로 한다.
또한, 상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신한 후, 상기 공유 어플리케이션을 시작하기 전, 상기 프로세서는 상기 소스 디바이스 상에 상기 공유 어플리케이션이 동작 중인지를 판단하고, 만약 상기 공유 어플리케이션이 상기 소스 디바이스 상에서 동작 중이면, 상기 프로세서는 직접적으로 상기 타겟 디바이스를 위해 상기 공유 어플리케이션의 상기 윈도우 인스턴스를 생성하고, 만약 상기 공유 어플리케이션이 상기 소스 디바이스 상에서 동작 중이 아니면, 상기 공유 어플리케이션을 시작하는 것을 특징으로 한다.
또한, 상기 프로세서는 상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와의 무선 연결을 종료하는 것을 특징으로 한다.
또한, 상기 프로세서는 상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와 통신 가능한 또 다른 소스 디바이스를 검색하고, 상기 또 다른 소스 디바이스에 상기 공유 어플리케이션의 정보 및 상기 공유 어플리케이션의 실행 정보를 전송하는 것을 특징으로 한다.
또한, 상기 프로세서는 상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스가 있는지를 판단하고, 상기 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스의 접속을 종료하는 것을 특징으로 한다.
또한, 상기 프로세서는 상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스가 있는지를 판단하고, 상기 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스의 접속을 종료하는 것을 특징으로 한다.
또한, 상기 공유 어플리케이션이 동작 중에 생성된 상기 윈도우들을 상기 타겟 디바이스에 전송한 후에, 상기 프로세서는 상기 타겟 디바이스로부터 상기 공유 어플리케이션의 상기 윈도우들에 입력된 정보를 수신하고, 상기 정보를 처리하는 것을 특징으로 한다.
또한, 상기 소스 디바이스는 소스 디바이스 클러스터에 위치하고, 상기 통신부는 상기 소스 디바이스 클러스터의 클러스터 매니저로부터 상기 타겟 디바이스의 식별자를 운반하는 무선 연결 설정 통지를 수신하고, 상기 타겟 디바이스와의 상기 무선 연결을 수립하고, 상기 무선 연결 설정 통지는 상기 소스 디바이스의 상기 무선 모듈에 보내진 상기 타겟 디바이스의 식별자는 운반하는 무선 연결 설정 통지를 포함하고, 상기 클러스터 매니저가 상기 타겟 디바이스로부터 무선 연결 요청을 수신한 후에 미리 구성된 로드 밸런싱 알고리즘에 따라 상기 소스 디바이스 클러스터로부터 상기 소스 디바이스를 선택하는 것을 특징으로 한다.
일 실시 예에 따른 어플리케이션을 공유하는 장치는 소스 디바이스와 무선 연결을 설정하는 통신부; 및 공유 어플리케이션이 사용될 필요가 있을 때, 상기 통신부를 통해 상기 소스 디바이스에 공유 어플리케이션 접속 요청을 송신하는 프로세서를 포함하고, 상기 통신부는 상기 공유 어플리케이션이 동작하는 동안 생성된 윈도우들을 상기 소스 디바이스로부터 수신하고, 상기 프로세서는 스크린에 상기 윈도우들을 표시하는 것을 특징으로 한다.
또한, 상기 프로세서는 상기 윈도우에 사용자에 의해 입력된 정보를 수신할 때, 상기 통신부를 통해 실시간으로 상기 소스 디바이스에 상기 입력된 정보를 전송하는 것을 특징으로 한다.
타겟 디바이스는 어플리케이션을 설치하지 않고, 어플리케이션을 이용할 수 있다.
복수의 타겟 디바이스들은 동일한 어플리케이션을 공유할 수 있다.
도 1은 일 실시 예에 따른 타겟 디바이스와 소스 디바이스가 어플리케이션을 공유하는 것을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 복수의 타겟 디바이스들이 소스 디바이스에 설치된 어플리케이션을 공유하는 것을 설명하기 위한 도면이다.
도 3은 일 실시 예에 따른 소스 디바이스 및 타겟 디바이스의 구성도이다.
도 4는 일 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 흐름도이다.
도 5는 일 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 순서도이다.
도 6은 다른 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 순서도이다.
도 7은 일 실시 예에 따른 시험 어플리케이션을 공유하는 것을 설명하기 위한 도면이다.
도 8은 스마트 장치 중 스마트 냉장고의 경우를 예를 들어 설명한다.
도 9는 일 실시 예에 따른 소스 디바이스를 설명하는 구성도이다.
도 10은 일 실시 예에 따른 타겟 디바이스를 설명하는 구성도이다.
도 11은 일 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 도면이다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1을 일 실시 예에 따른 타겟 디바이스와 소스 디바이스가 어플리케이션을 공유하는 것을 설명하기 위한 도면이다. 도 1을 참조하면, 타겟 디바이스(20)와 소스 디바이스(10)는 동일한 어플리케이션을 공유한다. 타겟 디바이스(20)는 소스 디바이스(10)에 설치된 어플리케이션을 이용할 수 있으며, 이 때, 타겟 디바이스(20)는 어플리케이션을 설치하지 않는다.
소스 디바이스(10)는 타겟 디바이스(20)가 통신 가능한 영역에 위치하였는지를 판단한다. 소스 디바이스(10)는 소스 디바이스(10)로부터의 거리 등을 고려하여 통신 가능한 영역을 지정할 수 있다. 반대로, 타겟 디바이스(20)도 소스 디바아스(10)가 통신 가능한 영역에 위치하였는지를 판단할수 있다.
타겟 디바이스(20)와 소스 디바이스(10)는 무선 연결을 설정(establish)한다. 타겟 디바이스(20)는 소스 디바이스(10)에 무선 연결을 요청할 수 있다. 예를 들어, 타겟 디바이스(20)는 소스 디바이스(10)에 연결 요청 패킷을 전송할 수 있다. 연결 요청 패킷은 타겟 디바이스(20)의 정보, 타겟 디바이스(20)의 명칭, 타겟 디바이스(20)의 식별자 등을 포함할 수 있다. 반대로 소스 디바이스(10)는 타겟 디바이스(20)에 무선 연결을 요청할 수도 있다.
타겟 디바이스(20)와 소스 디바이스(10) 사이에 무선 연결이 설정되면, 타겟 디바이스(20)와 소스 디바이스(10)는 데이터를 송수신한다. 데이터는 타겟 디바이스(20)가 소스 디바이스(10)로 전송하거나, 반대로, 소스 디바이스(10)가 타겟 디바이스(20)로 전송할 수 있다. 소스 디바이스(10)는 소스 디바이스(10)로부터 제공되는 어플리케이션의 목록을 타겟 디바이스(20)에 전송할 수 있다. 타겟 디바이스(20)는 어플리케이션의 목록에서 사용할 어플리케이션을 지정하고, 지정된 어플리케션을 나타내는 데이터를 소스 디바이스(10)에 전송할 수 있다. 소스 디바이스(10)는 어플리케이션을 실행하고, 어플리케이션의 화면을 타겟 디바이스(20)에 전송할 수 있다. 타겟 디바이스(20)는 어플리케이션의 화면을 수신하고, 사용자의 입력을 수신하고, 사용자의 입력을 소스 디바이스(10)로 전송할 수 있다.
상기와 같은 동작으로 통해 타겟 디바이스(20)는 어플리케이션의 설치 없이 소스 디바이스(10)에 설치된 어플리케이션을 이용할 수 있다.
도 2는 일 실시 예에 따른 복수의 타겟 디바이스들이 소스 디바이스에 설치된 어플리케이션을 공유하는 것을 설명하기 위한 도면이다.
복수의 타겟 디바이스들(20 내지 40)은 소스 디바이스(10)에 설치된 어플리케이션을 각각 이용할 수 있다. 복수의 타겟 디바이스들(20 내지 40)은 독립적으로 공유 어플리케이션을 이용할 수 있다. 공유 어플리케이션은 소스 디바이스(10)에 설치된 어플리케이션을 나타내며, 소스 디바이스(10)가 아닌 다른 디바이스가 사용 가능한 어플리케이션이다.
복수의 타겟 디바이스들(20 내지 40)은 각각 소스 디바이스(10)와 연결을 설정한다. 소스 디바이스(10)는 복수의 타겟 디바이스들(20 내지 40) 모두와 무선으로 연결될 수 있고, 제1 타겟 디바이스(20)와만 연결될 수 있다. 소스 디바이스(10)는 복수의 타겟 디바이스들(20 내지 40)이 어플리케이션을 사용할 권한이 있는지를 판단하고, 권한이 있는 타겟 디바이스와만 연결을 설정한다.
소스 디바이스(10)는 복수의 타겟 디바이스들(20 내지 40)을 위한 별도의 윈도우를 생성할 수 있다. 소스 디바이스(10)가 복수의 타겟 디바이스들(20 내지 40)에 제공하는 이미지가 서로 다르기 때문에, 소스 디바이스(10)는 각각의 타겟 디바이스들(20 내지 40)을 위해 별도의 이미지를 생성하고, 타겟 디바이스들(20 내지 40) 각각에 별도의 이미지를 전송한다.
도 3은 일 실시 예에 따른 소스 디바이스 및 타겟 디바이스의 구성도이다.
소스 디바이스(10)는 메모리(11), 프로세서(12), 디스플레이 장치(13) 및 통신부(14)를 포함한다. 메모리(11)는 데이터를 저장한다. 메모리(11)는 소스 디바이스(10)에 접속할 수 있는 타겟 디바이스의 목록을 저장할 수 있다. 예를 들어, 메모리(11)는 타겟 디바이스들의 식별자를 저장할 수 있다. 또한, 메모리(11)는 프로세서(12)에 의해 생성되는 윈도우, 이미지, 각종 데이터 등을 저장할 수 있다.
프로세서(12)는 데이터를 처리한다. 프로세서(12)는 통신부(14)로부터 수신된 요청을 처리할 수 있다. 프로세서(12)는 타겟 디바이스(20)의 연결 요청을 처리하기 위해, 타겟 디바이스(20)의 식별자와 메모리(11)에 저장된 식별자를 비교할 수 있다. 프로세서(12)는 타겟 디바이스(20)에 전송할 데이터를 생성할 수도 있다. 프로세서(12)는 메모리(11)에 데이터를 저장하거나, 메모리(11)에 저장된 데이터를 독출(read)할 수 있다.
프로세서(12)는 디스플레이 장치(13)를 제어할 수 있다. 프로세서(12)는 디스플레이 장치(13)가 재생할 이미지, 동영상 등을 생성하여 디스플레이 장치(13)로 출력한다.
디스플레이 장치(13)는 프로세서(12)로부터 수신된 이미지 또는 동영상 등을 재생한다. 소스 디바이스(10)가 이미지를 재생할 필요가 없는 경우, 소스 디바이스(10)는 디스플레이 장치(13)를 포함하지 않을 수 있다.
통신부(14)는 타겟 디바이스(20)로부터 데이터를 수신하거나, 타겟 디바이스(20)로 데이터를 전송한다. 소스 디바이스(10)의 통신부(14)는 타겟 디바이스(20)의 통신부(24)와 무선 연결을 설정할 수 있다.
타겟 디바이스(20)는 메모리(21), 프로세서(22), 디스플레이 장치(23) 및 통신부(24)를 포함한다.
메모리(21)는 데이터를 저장한다. 메모리(21)는 프로세서(22)에 의해 처리된 데이터를 저장하고, 소스 디바이스(10)에 대한 데이터를 저장할 수 있다.
프로세서(22)는 데이터를 처리한다. 프로세서(22)는 통신부(24)로부터 수신된 요청을 처리할 수 있다. 프로세서(22)는 소스 디바이스(10)와의 연결을 위해 타겟 디바이스(20)의 식별자를 통신부(24)를 통해 소스 디바이스(10)로 전송할 수 있다. 프로세서(22)는 타겟 디바이스(20)에 전송할 데이터를 생성할 수도 있다. 프로세서(22)는 메모리(21)에 데이터를 저장하거나, 메모리(21)에 저장된 데이터를 독출할 수 있다.
프로세서(22)는 디스플레이 장치(23)를 제어할 수 있다. 프로세서(22)는 디스플레이 장치(23)가 재생할 이미지, 동영상 등을 생성하여 디스플레이 장치(23)로 출력한다.
디스플레이 장치(23)는 프로세서(22)로부터 수신된 이미지 또는 동영상 등을 재생한다. 디스플레이 장치(23)는 소스 디바이스(10)로부터 수신된 윈도우, 이미지 또는 동영상 등을 재생할 수 있다.
디스플레이 장치(23)는 사용자로부터 입력을 수신할 수 있다. 디스플레이 장치(23)는 터치 패널을 포함할 수 있으다. 터치 패널은 압력 또는 전류를 인식할 수 있다. 디스플레이 장치(23)는 터치 패널을 이용하여 사용자의 입력을 수신하고, 프로세서(22)로 사용자의 입력을 출력한다. 사용자의 입력은 통신부(24)를 통해 소스 디바이스(10)로 전송된다.
도 4는 일 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 흐름도이다. 도 4를 참조하면, 타겟 디바이스(20)는 소스 디바이스(10)를 통해 어플리케이션을 실행할 수 있다.
단계 401에서, 타겟 디바이스(20)는 사용자로부터 어플리케이션을 실행 요청을 수신한다. 사용자는 타겟 디바이스(20)의 화면을 터치하여 어플리케이션을 실행 요청을 입력할 수 있다.
단계 402에서, 타겟 디바이스(20)는 타겟 디바이스(20)는 소스 디바이스(10)가 통신 가능한 영역에 위치한 경우, 소스 디바이스(10)에 무선 연결을 요청한다. 타겟 디바이스(20)는 연결을 요청하는 메시지 및 타겟 디바이스(20)의 식별자 등을 포함하는 패킷을 소스 디바이스(10)에 전송할 수 있다.
단계 403에서, 소스 디바이스(10)는 타겟 디바이스(20)가 어플리케이션을 사용할 권한이 있는지를 판단한다. 소스 디바이스(10)는 타겟 디바이스(20)의 식별자와 메모리(11)에 저장된 식별자를 비교하여, 타겟 디바이스(20)가 어플리케이션을 사용할 권한이 있는지를 판단할 수 있다. 타겟 디바이스(20)가 어플리케이션을 사용할 권한이 있는 경우 단계 404로 진행한다. 그렇지 않으면 절차를 종료한다.
단계 404에서, 타겟 디바이스(20)와 소스 디바이스(10)는 무선 연결을 설정한다. 타겟 디바이스(20)와 소스 디바이스(10)는 데이터를 송수신할 수 있는 상태가 된다. 소스 디바이스(10)는 타겟 디바이스(20)에 소스 디바이스(10)로부터 제공되는 어플리케이션들의 목록을 전송하고, 타겟 디바이스(20)로부터 어플리케이션 제공 요청을 수신할 수 있다. 타겟 디바이스(20)는 어플리케이션들의 목록 중에서 사용자로부터 선택된 어플리케이션을 나타내는 정보를 소스 디바이스(10)로 전송할 수 있다.
단계 405에서, 소스 디바이스(10)는 어플리케이션을 실행한다. 소스 디바이스(10)는 어플리케이션의 윈도우, 이미지 또는 동영상 등을 생성한다.
단계 406에서, 소스 디바이스(10)는 윈도우, 이미지 또는 동영상 등을 타겟 디바이스(20)로 전송한다.
단계 407에서, 타겟 디바이스(20)는 소스 디바이스(10)로부터 수신된 윈도우, 이미지 또는 동영상 등을 디스플레이 장치(23)에 표시한다.
단계 408에서, 타겟 디바이스(20)는 사용자 입력을 수신한다. 사용자는 터치 입력, 키보드 입력 등을 통해 데이터를 입력할 수 있다.
단계 409에서, 타겟 디바이스(20)는 사용자 입력을 소스 디바이스(10)에 전송한다.
단계 410에서, 소스 디바이스(10)는 사용자 입력에 따른 데이터를 처리한다. 소스 디바이스(10)는 사용자 입력에 대한 어플리케이션의 실행 결과를 출력한다. 예를 들어, 소스 디바이스(10)는 사용자 입력에 따른 윈도우를 생성한다. 또한, 소스 디바이스(10)는 사용자 입력에 따른 데이터를 생성할수도 있다.
단계 411에서, 소스 디바이스(10)는 타겟 디바이스(20)로 윈도우, 이미지 또는 동영상을 전송한다. 타겟 디바이스(20)로 전송되는 윈도우는 사용자 입력에 대한 처리 결과를 나타낸다.
단계 412에서, 타겟 디바이스(20)는 소스 디바이스(10)로부터 수신된 윈도우, 이미지 또는 동영상을 표시한다.
도 5는 일 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 순서도이다.
단계 510에서, 소스 디바이스(10)는 타겟 디바이스(20)가 통신 가능한 영역에 위치하였는지 판단한다.
단계 520에서, 소스 디바이스(10)는 타겟 디바이스(20)가 통신 가능한 영역에 위치한 경우 타겟 디바이스와 무선 연결을 설정한다. 공유 어플리케이션은 소스 디바이스(10)와 타겟 디바이스(20)가 공유하는 어플리케이션을 의미한다. 예를 들어, 무선 연결은 WLAN 연결, WI-FI 연결 등을 나타낸다.
단계 530에서, 소스 디바이스(10)는 타겟 디바이스(20)에 소스 디바이스(10)로부터 제공되는 공유 어플리케이션들의 목록을 전송하고, 타겟 디바이스(20)로부터 요청된 공유 어플리케이션을 시작 또는 실행한다. 타겟 디바이스(20)는 사용자로부터 복수의 공유 어플리케이션들 중 어느 하나를 선택하는 입력을 수신하고, 사용자의 입력을 소스 디바이스(10)로 전송한다. 타겟 디바이스(20)는 사용자에 입력에 따라 공유 어플리케이션을 시작한다. 이때, 공유 어플리케이션은 타겟 디바이스(20)에 설치되지 않는다. 소스 디바이스(10)는 타겟 디바이스(20)로부터 공유 어플리케이션 명칭을 운반하는 공유 어플리케이션 접속 요청을 수신할 수 있다.
단계 540에서, 소스 디바이스(10)는 타겟 디바이스(20)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성한다.
단계 550에서, 소스 디바이스(10)는 공유 어플리케이션이 실행되는 동안 생성된 윈도우들을 타겟 디바이스(20)로 전송한다.
또한, 소스 디바이스(10)가 타겟 디바이스(20)로부터 공유 어플리케이션 접속 요청을 수신한 후, 소스 디바이스(10)가 공유 어플리케이션을 시작하기 전에, 소스 디바이스(10)는 소스 디바이스(10)에서 공유 어플리케이션이 동작 중인지를 판단한다. 만약 공유 어플리케이션이 소스 디바이스(10)에서 동작 중이면, 소스 디바이스(10)는 바로 타겟 디바이스(20)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성한다. 그렇지 않으면, 소스 디바이스(10)는 공유 어플리케이션을 시작한다.
또한, 타겟 디바이스(20)로부터 공유 어플리케이션 접속 요청을 수신한 후, 타겟 디바이스(20)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성하기 전에, 소스 디바이스(10)는 공유 어플리케이션에 접속 중인 타겟 디바이스(20)들의 수가 공유 어플리케이션에 접속하는 타겟 디바이스(20)들의 최대값보다 작은지를 판단한다. 만약 공유 어플리케이션에 접속 중인 타겟 디바이스(20)들의 수가 최대값보다 작으면, 소스 디바이스(10)는 타겟 디바이스(20)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성한다. 그렇지 않으면, 순차적으로 공유 어플리케이션의 대기 큐에 타겟 디바이스(20)의 식별자를 추가한다. 또 다른 타겟 디바이스(20)가 공유 어플리케이션을 종료할 때, 제1 타겟 디바이스의 식별자는 대기 큐로부터 추출되고, 소스 디바이스(10)는 추출된 타겟 디바이스의 식별자에 대응하는 타겟 디바이스를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성한다.
또한, 공유 어플리케이션이 동작하는 동안 생성된 윈도우들을 타겟 디바이스에 전송하는 단계 550은 다음과 같을 수 있다. 공유 어플리케이션이 스태틱 윈도우를 생성하는 것을 필요로 할 때, 소스 디바이스(10)는 스태틱 윈도우의 코딩에 따라 스태틱 윈도우를 위한 버퍼에서 스태틱 윈도우 리스트를 검색한다. 만약 스태틱 윈도우가 검색되면, 소스 디바이스(10)는 버퍼에서 스태틱 윈도우를 바로 복사하고, 복사된 스태틱 윈도우를 타겟 디바이스(20)에 전송한다. 만약 스태틱 윈도우가 검색되지 않으면, 소스 디바이스(10)는 스태틱 윈도우를 생성 및 복사하고 복사된 스태틱 윈도우를 타겟 디바이스(20)로 전송하고, 버퍼에 스태틱 윈도우 목록에 복사된 스태틱 윈도우를 저장한다.
또한, 단계 550에서, 공유 어플리케이션이 동작하는 동안 생성된 윈도우들을 타겟 디바이스(20)에 전송한 후, 소스 디바이스(10)는 타겟 디바이스(20)로부터 공유 어플리케이션의 윈도우에서 입력된 정보를 수신하고, 정보를 처리한다.
또한, 소스 디바이스(10)는 소스 디바이스 클러스터에 위치하고, 단계 510에서, 소스 디바이스(10)와 타겟 디바이스(20) 사이에 WLAN 연결을 설정하는 단계는 다음과 같을 수 있다.
소스 디바이스 클러스터의 클러스터 매니저는 타겟 디바이스(20)로부터 WLAN 연결 요청을 수신하고, 미리 구성된 로드-밸런싱-알고리즘에 따라 소스 디바이스 클러스터로부터 소스 디바이스(10)를 선택하고, 타겟 디바이스(20)와 WLAN 연결을 설정하기 위해 선택된 소스 디바이스(10)를 타겟 디바이스(20)에 통지한다.
단계 530에서 소스 디바이스(10)가 타겟 디바이스(20)로부터 공유 어플리케이션 접속 요청을 수신하는 것을 처리하는 것은 다음과 같을 수 있다. 타겟 디바이스(20)와 WLAN 연결을 설정한 후, 클러스터 매니저에 의해 선택된 소스 디바이스(10)는 타겟 디바이스(20)로부터 공유 어플리케이션 접속 요청을 수신한다.
실제의 어플리케이션들에서, 외부 디바이스들을 위해, 소스 디바이스 클러스터의 WLAN 주소는 클러스터 매니저의 주소일 수 있다. 그러므로, 타겟 디바이스(20)는 우선 클러스터 매니저와 WLAN 연결을 설정하고, 그리고나서 클러스터 매니저에 의해 선택된 소스 디바이스(10)와 WLAN 연결을 설정한다.
클러스터 매니저는 소스 디바이스 클러스터와 독립적인 디바이스일 수 있거나 소스 디바이스 클러스터 안의 소스 디바이스(10)일 수 있다.
도 6은 다른 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하는 순서도이다. 소스 디바이스(10)는 공유 어플리케이션에 접속하는 타겟 디바이스(20)들의 수를 제한할 수 있다.
단계 610에서, 소스 디바이스(10)는 공유 어플리케이션을 사용하기 원하는 타겟 디바이스(20)와 무선 연결을 설정한다. 공유 어플리케이션은 소스 디바이스(10) 상에 설치된다.
예를 들어, 타겟 디바이스(20)는 소스 디바이스(10)에 공유 어플리케이션 접속 요청 및 타겟 디바이스(20)의 식별자를 전송한다. 사용자는 타겟 디바이스(20)의 WLAN을 오픈하고 WLAN 목록으로부터 소스 디바이스(10)의 식별자를 선택한다. 타겟 디바이스(20)의 WLAN 모듈은 소스 디바이스(10)의 식별자가 선택되었는지를 감지하고, 소스 디바이스(10)와의 WLAN 연결을 설정한다.
소스 디바이스(10)는 공유 어플리케이션에 접속하기 위해 허락된 타겟 디바이스(20)들의 식별자를 기록한 합법적인 타겟 디바이스 목록을 유지한다. 특정 타겟 디바이스(20)로부터 WLAN 연결 설정 요청이 수신된 후, 소스 디바이스(10)는 우선적으로 합법적인 타겟 디바이스 목록에 타겟 디바이스(20)의 식별자가 포함되어 있는지 아닌지를 결정한다. 만약 타겟 디바이스 식별자가 합법적인 타겟 디바이스 목록에 포함되어 있으면, 소스 디바이스(10)는 타겟 디바이스(20)와 WLAN 연결을 설정한다. 그렇지 않으면, 소스 디바이스(10)는 타겟 디바이스(20)와의 WLAN 연결을 설정하는 것을 거절한다.
일 실시 예에서, 타겟 디바이스(20)와 소스 디바이스(10)의 WLAN 연결이 설정된 후에, 소스 디바이스(10)는 타겟 디바이스(20)에 공유 어플리케이션 목록을 전송한다. 타겟 디바이스(20)는 스크린에 공유 어플리케이션 명칭 목록을 표시한다. 사용자가 공유 어플리케이션 명칭 목록으로부터 특정 어플리케이션 명칭을 선택하는 것을 감지할 때, 타겟 디바이스(20)는 공유 어플리케이션 명칭을 운반하는 공유 어플리케이션 접속 요청과 타겟 디바이스(20)의 식별자를 소스 디바이스(10)에 전송한다.
단계 630에서, 소스 디바이스(10)는 공유 어플리케이션 접속 요청을 수신하고 어플리케이션에 접속 중인 타겟 디바이스(20)들의 수가 어플리케이션에 접속하는 타겟 디바이스(20)들의 최대값보다 큰지를 판단한다. 만약 어플리케이션에 접속 중인 타겟 디바이스(20)들의 수가 최대값보다 작으면 단계 660으로 진행하고, 그렇지 않으면 단계 640으로 진행한다. 소스 디바이스(10)는 복수의 공유 어플리케이션을 설치할 수 있고, 각각의 공유 어플리케이션마다 접속 가능한 타겟 디바이스(20)들의 최대값이 서로 다를 수 있다. 소스 디바이스(10)는 공유 어플리케이션이 정상적으로 동작하도록, 공유 어플리케이션에 접속하는 타겟 디바이스(20)들의 수를 제한한다.
또 다른 실시 예로, 소스 디바이스(10)는 소스 디바이스(10)에 접속 중인 타겟 디바이스(20)들의 수가 소스 디바이스(10)에 접속 가능한 타겟 디바이스(20)들의 최대값보다 큰지를 판단할 수 있다. 소스 디바이스(10)는 소스 디바이스(10)에 접속하는 타겟 디바이스(20)들의 수를 제한할 수 있다.
단계 640에서, 소스 디바이스(10)는 공유 어플리케이션을 시작하고, 타겟 디바이스(20)를 위한 공유 어케이션의 윈도우 인스턴스를 생성한다.
단계 650에서, 소스 디바이스(10)는 공유 어플리케이션이 동작하는 동안 생성된 스태틱 또는 다이나믹 윈도우들을 타겟 디바이스(20)에 전송한다.
단계 660에서, 소스 디바이스(10)는 어플리케이션의 타겟 디바이스 대기 큐에 타겟 디바이스(20)의 식별자를 추가한다. 어느 타겟 디바이스(20)가 공유 어플리케이션을 종료할 때, 소스 디바이스(10)는 어플리케이션의 타겟 디바이스 대기 큐로부터 제1 타겟 디바이스의 식별자를 추출하고, 제1 타겟 디바이스의 공유 어플리케이션의 접속을 허용한다.
일 실시 예에서, 소스 디바이스(10)는 우선적으로 어플리케이션이 동작하고 있는지를 감지한다. 만약 어플리케이션이 동작 중이면, 소스 디바이스(10)는 타겟 디바이스(20)를 위해 어플리케이션의 윈도우 인스턴스를 생성한다. 그렇지 않으면, 소스 디바이스(10)는 어플리케이션을 시작하고 나서 타겟 디바이스(20)를 위한 어플리케이션의 윈도우 인스턴스를 생성한다.
하나의 어플리케이션을 위해 소스 디바이스(10)가 윈도우 인스턴스를 생성할 때, 윈도우 인스턴스는 어플리케이션이 동작한 후에 생성된 모든 윈도우를 포함한다.
어플리케이션이 동작할 때, 사용자는 타겟 디바이스(20) 상에 표시된 윈도우를 통해 정보를 입력한다. 사용자에 의해 입력된 정보를 수신한 후에, 타겟 디바이스(20)는 소스 디바이스(10)에 정보를 전송한다. 소스 디바이스(10) 상에서 동작 중인 어플리케이션은 정보를 처리하고, 처리 결과는 사용자에게 처리 결과를 보여주기 위해 실시간으로 타겟 디바이스(20)에 전송될 다음 윈도우에 표시된다.
소스 디바이스(10)는 소스 디바이스(10)의 윈도우 상에 타겟 디바이스(20)에 전송할 윈도우들을 표시하지 않을 수 있따.
어플리케이션이 소스 디바이스(10) 상에서 동작을 시작한 후에, 어플리케이션에 접속을 요청하는 타겟 디바이스(20)가 있다면, 소스 디바이스(10)는 타겟 디바이스(20)를 위해 어플리케이션의 새로운 윈도우 인스턴스를 생성한다. 새로운 윈도우 인스턴스는 어플리케이션이 동작한 후에 생성된 모든 윈도우를 순차적으로 생성된다. 소스 디바이스(10)는 실시간으로 타겟 디바이스(20)에 윈도우 인스턴스에서 생성된 모든 윈도우를 전송한다. 다시 말해서, 동일한 어플리케이션을 위해, 소스 디바이스(10)는 다른 시간에 어플리케이션에 접속한 타겟 디바이스(20)들을 위해 다른 윈도우 인스턴스를 생성할 수 있고, 그래서 소스 디바이스(10) 상에서 동작하는 하나의 어플리케이션은 복수의 타겟 디바이스(20)들에 의해 공유 될 수 있고, 다른 타겟 디바이스(20)들의 윈도우 인스턴스들은 서로 다르기 때문에, 다른 컨텐츠들이 다른 타겟 디바이스(20)들 상에 표시될 수 있다.
소스 디바이스(10)가 어플리케이션이 동작 중에 생성된 스태틱 또는 다이나믹 윈도우를 타겟 디바이스(20)에 전송할 때, 소스 디바이스(10)는 윈도우의 각 프레임을 패킹 및 코드화하고 코드화된 윈도우를 타겟 디바이스(20)에 미리 구성된 스트림 미디어 전송 프로토콜을 통해 전송한다.
또한, 일 실시 예에서, 소스 디바이스(10)가 공유 어플리케이션을 위해 스태틱 윈도우를 생성할 때, 만약 스태틱 윈도우가 처음으로 생성되면, 소스 디바이스(10)는 버퍼에 스태틱 윈도우를 저장한다. 공유 어플리케이션의 다음 윈도우 인스턴스를 위해 어떠한 스태틱 윈도우도 다시 생성되지 않고, 스태틱 윈도우는 직접 버퍼로부터 획득되고 타겟 디바이스(20)에 전송된다.
또한, 일 실시 예에서, 소스 디바이스(10)는 각 타겟 디바이스(20)가 공유 어플케이션에 접속하는 시간을 제한할 수 있다. 타겟 디바이스(20)가 공유 어플리케이션에 접속하는 시간이 최대 접속 시간보다 클 때, 소스 디바이스(10)는 능동적으로 타겟 디바이스(20)와의 연결을 종료할 수 있다.
또한, 일 실시 예에서, 소스 디바이스(10)가 특정 공유 어플리케이션에 접속 중인 특정 타겟 디바이스(20)가 최대 동작 대기 시간 동안 공유 어플리케이션을 위한 어떠한 동작도 수행하지 않는 것을 감지할 때, 소스 디바이스(10)는 능동적으로 타겟 디바이스(20)와의 연결을 끊는다.
또한, 일 실시 예에서, 소스 디바이스(10)는 타겟 디바이스(20)를 위한 공유 어플리케이션의 구체적인 사용 정보를 기록한다. 사용 정보는 타겟 디바이스(20)가 다시 어플리케이션에 접속할 때 복원을 수행하기 위해 정상 상태 또는 공유 어플리케이션을 종료하는 비정상 상태를 포함한다.
또한, 일 실시 예에서, 소스 디바이스(10)는 접속이 허가되지 않은 타겟 디바이스(20)들의 식별자들을 기록하기 위해 타겟 디바이스 블랙 리스트를 유지한다. 단계 610에서, 타겟 디바이스(20)로부터 WLAN 연결 설정 요청을 수신한 후, 소스 디바이스(10)는 우선적으로 WLAN 연결 설정 요청에 운반된 식별자를 통해 타겟 디바이스 블랙 리스트를 검색한다. 만약 타겟 디바이스 블랙 리스트에서 식별자가 검색되면, 소스 디바이스(10)는 WLAN 연결 설정하는 것을 거절한다.
또는, 소스 디바이스(10)는 WLAN 연결 설정 요청에 운반된 식별자를 위한 합법적인 타겟 디바이스 리스트를 검색한다. 만약 타겟 디바이스 리스트에서 식별자가 검색되면, 소스 디바이스(10)는 WLAN 연결을 설정한다.
추가로, 일 실시 예에서, 소스 디바이스(10)는 공유 어플리케이션을 위해 오직 하나의 타겟 디바이스만을 지원하는, 즉, 단일 인스턴스 모드(단계 630에서 공유 어플리케이션에 접속하는 타겟 디바이스(20)들의 최대값을 1로 설정)이거나, 공유 어플리케이션을 위해 복수의 타겟 디바이스(20)들을 지원하는, 즉 복수 인스턴스 모드(단계 630에서 어플리케이션에 접속하는 타겟 디바이스들의 최대값이 1보다 큰 경우) 일 수 있다.
도 7은 일 실시 예에 따른 시험 어플리케이션을 공유하는 것을 설명하기 위한 도면이다. TV(700)는 시험 어플리케이션을 실행하는 소스 디바이스이고, 모바일 장치들(710 내지 740)은 타겟 디바이스들이다. 모바일 장치들(710 내지 740)은 학생들이 사용하는 장치이다. 시험 어플리케이션은 모바일 장치들(710 내지 740)에 의해 공유되는 어플리케이션이다.
교실에서 시험 어플리케이션이 공공의 TV(700)를 통해 동작한다. 학생들은 자신들의 모바일 장치들(710 내지 740)을 이용하여 TV(700)에 접속할 수 있다.
학생들은 모바일 장치들(710 내지 740)에서 WLAN을 오픈하고, WLAN 목록으로부터 TV(700)를 선택해서, 학생들의 모바일 장치들(710 내지 740)와 TV(700) 사이의 WLAN 연결을 설정한다. TV(700)는 모바일 장치들(710 내지 740)에 시험 어플리케이션의 명칭을 전송하고, 모바일 장치들(710 내지 740)은 시험 어플리케이션의 명칭을 스크린상에 표시한다.
학생들은 모바일 장치들(710 내지 740)을 통해 시험 어플리케이션의 명칭을 선택한다. 모바일 장치들(710 내지 740)은 TV(700)에 시험 어플리케이션의 명칭을 운반하는 공유 어플리케이션 접속 요청을 전송한다.
TV(700)는 모바일 장치들(710 내지 740)로부터 시험 어플리케이션 접속 요청을 수신하고, 모바일 장치들(710 내지 740)를 위해 윈도우 인스턴스를 생성한다. 시험 어플리케이션이 동작한 후에 생성된 윈도우들은 순차적으로 윈도우 인스턴스에 포함된다. 윈도우들은 실시간으로 모바일 장치들(710 내지 740)에 전송된다. TV(700)는 모바일 장치들(710 내지 740) 각각에 대한 윈도우 인스턴스를 생성한다. 따라서, 모바일 장치들(710 내지 740) 각각에 전송되는 윈도우는 모바일 장치들(710 내지 740)이 시험 어플리케이션에 접속하는 시간 또는 학생들에 따라 다를 수 있다.
TV(700)는 시험 어플리케이션 접속 요청을 수신한 후에, 만약 시험 어플리케이션이 동작하고 있지 않다면, 우선적으로 시험 어플리케이션을 실행한다.
학생들이 모바일 장치들(710 내지 740)에 표시된 윈도우에 정답을 입력하면, 모바일 장치들(710 내지 740)은 정답을 TV(700)에 전송한다. 각각의 학생은 모바일 장치들(710 내지 740)를 통해 시험 어플리케이션을 동작할 수 있고, 학생들은 서로 독립적이고 서로 영향을 주지 않는다.
또 다른 실시 예로 마켓 어플리케이션이 구매자들의 모바일 장치들에 의해 공유된다.
구매자는 마켓에 들어가고, 구매자의 모바일 장치를 통해 WLAN을 오픈하고, WLAN 목록으로부터 마켓에 의해 제공되는 소스 디바이스를 선택하고, 구매자의 모바일 장치는 소스 디바이스와의 WLAN 연결을 설정한다. 소스 디바이스는 구매자의 모바일 장치에 구매자와 함께 공유된 어플리케이션들의 명칭 리스트를 전송한다.
구매자는 모바일 장치를 통해 마켓 어플리케이션을 선택하고, 모바일 장치는 소스 디바이스에 마켓 어플리케이션의 명칭을 운반하는 마켓 어플리케이션 접속 요청을 전송한다. 소스 디바이스는 모바일 장치를 위해 마켓 어플리케이션의 윈도우 인스턴스를 생성한다. 마켓 어플리케이션이 동작된 후에 생성된 윈도우들이 순차적으로 윈도우 인스턴스에 포함된다. 소스 디바이스는 실시간으로 모바일 장치에 윈도우들을 전송한다. 따라서, 구매자는 최신 상품 정보, 프로모션 정보를 스캔할 수 있고, 어플리케이션을 통해 물건을 구매할 수 있다.
또 다른 실시 예로 어플리케이션이 관객들의 모바일 장치들에 의해 공유된다.
관객은 영화를 보기 위해 극장에 들어간다. 홀의 벽에 걸려 있는 각 TV(즉, 소스 디바이스)는 극장에서 현재 상영 중인 영화의 일부를 재생하고 있다. (다른 TV들은 다른 영화를 재생한다)
만약 관객이 특정 영화를 보기를 원하면, 관객은 모바일 장치를 통해 WLAN을 오픈하고, WLAN 목록으로부터 특정 영화의 일부를 재생 중인 TV를 선택한다. 그러면, 관객의 모바일 장치는 선택된 TV와 WLAN 연결을 설정한다. TV는 관객의 모바일 장치에 관객과 공유된 어플리케이션의 명칭 목록을 전송한다.
관객은 모바일 장치를 통해 좌석-선택 어플리케이션(seat-selecting application)의 명칭을 선택하고, 모바일 장치는 TV에 명칭을 전송한다. TV는 모바일 장치를 위해 좌석-선택 어플리케이션의 윈도우 인스턴스를 생성한다. 좌석-선택 어플리케이션들이 동작된 후에 생성된 윈도우들이 순차적으로 윈도우 인스턴스에 포함된다. 모든 윈도우는 실시간으로 TV에 의해 모바일 장치에 전송된다.
관객은 모바일 장치 상에 표시된 윈도우를 통해 좌석을 선택하고, 모바일 장치는 TV에 관객에 의해 선택된 좌석의 번호를 전송한다. TV는 관객에 의해 선택된 좌석을 예약 상태로 변경하고, 관객의 모바일 장치로 결제 윈도우를 전송한다. 관객은 결제 윈도우를 통해 결제 동작을 수행하고, 모바일 장치는 실시간으로 TV에 결제 동작의 정보를 전송한다. TV(700)는 모바일 티겟을 모바일 장치로 전송한다. 상기 과정을 통해 관객은 줄서는 것 없이 좌석을 선택하고 티켓을 구입할 수 있다.
도 8은 일 실시 예에 따라 사물을 제어하기 위한 어플리케이션이 모바일 장치에 의해 공유되는 것을 설명하기 위한 도면이다. 사물 인터넷(Internet on Things)을 통해 사물들은 모바일 장치에 의해 제어될 수 있다. 예를 들어, 사물들은 냉장고, 청소기, TV, 보일러 등과 같은 스마트 장치일 수 있으며, 모바일 장치와 무선으로 연결 가능하고, 데이터 처리가 가능한 프로세서를 구비한다.
스마트 장치들은 사용자의 입력을 수신하기 위해 스크린을 포함해야 하지만, 스마트 장치에 포함된 스크린을 제거하여 스크린으로 인한 비용 및 전력 소모를 줄일 수 있다. 다시 말해서, 스마트 장치의 스크린을 제거하는 대신, 모바일 장치의 스크린을 이용하여 스마트 장치를 제어한다.
도 8은 스마트 장치 중 스마트 냉장고의 경우를 예를 들어 설명한다.
우선, WLAN 모듈이 스마트 냉장고(810)에 추가되고, 스마트 냉장고(810)은 어플리케이션(예를 들어, 온도 조절 어플리케이션)을 실행할 수 있다.
사용자는 모바일 장치(820)를 통해 WLAN을 오픈할 수 있고, WLAN 목록에서 동작되고 있는 스마트 냉장고(810)를 선택하고, 스마트 냉장고(810)와 WLAN 연결을 수행한다.
WLAN 연결이 설정된 후에, 스마트 냉장고(810)는 어플리케이션들의 명칭 목록을 모바일 장치(820)로 전송한다. 모바일 장치(820)는 스크린 상에 어플리케이션들의 명칭 목록을 표시한다.
사용자는 예를 들어 온도 조절 어플리케이션과 같은 특정 어플리케이션의 명칭을 모바일 장치(820)의 스크린을 통해 선택한다. 선택된 명칭은 스마트 냉장고(810)에 전송된다. 스마트 냉장고(810)는 온도 조절 어플리케이션의 윈도우 인스턴스를 생성한다. 온도 조절 어플리케이션이 동작된 후에 생성된 윈도우들은 순차적으로 윈도우 인스턴스에 포함된다. 윈도우들은 실시간으로 모바일 장치(820)에 전송된다.
모바일 장치(820)는 윈도우를 표시한다. 예를 들어, 도 9에 도시된 것과 같이, 모바일 장치(820)는 현재 온도가 5도 인 것과 스마트 냉장고(810)의 온도를 올리거나 낮출 수 있는 +, - 버튼을 표시할 수 있다. 사용자가 + 버튼을 누르면, 모바일 장치(820)는 스마트 냉장고(810)로 온도를 올릴 것을 나타내는 데이터를 전송한다.
또 다른 실시 예로서, 게임 어플리케이션이 게임 플레이어의 장치들에 의해 공유될 수 있다. 게임 어플리케이션이 TV, 서버 등과 같은 소스 디바이스에 설치 및 동작된다.
모바일 장치와 같은 게임 플레이어의 장치는 WLAN 모듈을 통해 소스 디바이스와 WLAN 연결을 설정한다.
게임 플레이어의 장치와 WLAN 연결을 설정한 후에, 소스 디바이스는 각 게임 플레이어의 장치에 소스 디바이스에 의해 제공되는 게임 어플리케이션들의 명칭 목록을 전송하고, 각 게임 플레이어의 장치는 스크린 상에 게임 어플리케이션의 명칭 목록을 표시한다.
각 게임 플레이어는 게임 플레이어의 장치의 스크린을 통해 게임 어플리케이션 명칭을 선택하고, 선택된 게임 어플리케이션 명칭은 소스 디바이스에 전송된다.
소스 디바이스는 장치로부터 게임 어플리케이션 명칭을 수신하고, 게임 플레이어의 장치를 위해 게임 어플리케이션 명칭에 대응하는 게임 어플리케이션의 윈도우 인스턴스를 생성한다. 게임 어플리케이션이 동작한 후에 생성된 윈도우들은 윈도우 인스턴스에 순서대로 포함된다. 윈도우들은 실시간으로 게임 플레이어의 장치에 전송된다.
예를 들어, 복수의 게임 플레이어들이 레이스 트랙 게임(racetrack game)과 같은 동일한 게임을 선택할 때, 소스 디바이스는 각 게임 플레이어의 장치를 위해 레이스 트랙 게임의 윈도우 인스턴스를 생성한다. 게임 플레이어에 의한 동작 정보는 소스 디바이스에 전송되고, 소스 디바이스는 게임 플레이어의 동작 정보에 따라 게임 플레이어의 윈도우 상에 표시될 컨텐츠를 결정한다. 다른 게임 플레이어들의 장치들은 다른 게임 시점들(perspectives) 및 컨텐츠를 표시한다. 동시에, 소스 디바이스는 레이싱 서킷과 같은 전체 게임 시점을 표시하기 위해 게임 서버 어플레이션을 구동(run) 시킬 수 있다. 게임 서버 어플리케이션과 클라이언트 어플리케이션들은 모두 소스 디바이스 상에서 구동(run)되기 때문에, 데이터 인터렉션이 크로스 디바이스들 없이 수행되기 쉽다. 게다가, 게임 영상의 렌더링이 소스 디바이스 상에서 종료되고, 게임 플레이어의 장치는 게임 클라이언트를 설치할 필요가 없고 강력한 그래픽 프로세서를 구성할 필요가 없다. 그래서 적은 자원이 게임 플레이어의 장치에 필요하다.
도 9는 일 실시 예에 따른 소스 디바이스를 설명하는 구성도이다. 소스 디바이스(900)는 WLAN 모듈(910), 윈도우 생성 및 전송 모듈(920)을 포함한다.
WLAN 모듈(910)은 타겟 디바이스와 WLAN 연결을 설정한다. 공유 어플리케이션은 소스 디바이스(900) 상에 설치되고, 타겟 디바이스(1000) 상에 설치되지 않는다.
WLAN 연결이 설정된 후에, 윈도우 생성 및 전송 모듈(920)은 타겟 디바이스(1000)로부터 공유 어플리케이션 접속 요청을 수신하고, 공유 어플리케이션을 시작하고, 타겟 디바이스(1000)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성하고, 공유 어플리케이션이 동작 중에 생성된 윈도우들을 타겟 디바이스(1000)에 전송한다.
또한, 소스 디바이스(900)는 WLAN 연결이 설정된 후에, 타겟 디바이스(1000)에 소스 디바이스(900)에 의해 제공되는 공유 어플리케이션들의 명칭 목록을 전송하기 위한 공유 어플리케이션 명칭 목록 전송 모듈을 더 포함할 수 있다.
윈도우 생성 및 전송 모듈(920)은 타겟 디바이스(1000)로부터 공유 어플리케이션 명칭을 운반하는 공유 어플리케이션 접속 요청을 수신한다. 윈도우 생성 및 전송 모듈(920)은 타겟 디바이스(1000)로부터 공유 어플리케이션 접속 요청을 수신한 후 공유 어플리케이션을 시작하기 전, 소스 디바이스(900) 상에 공유 어플리케이션이 동작 중인지를 판단하고, 만약, 공유 어플리케이션이 소스 디바이스(900) 상에서 동작하고 있다면, 타겟 디바이스(1000)를 위해 공유 어플리케이션의 윈도우 인스턴스를 바로 생성하고, 만약 공유 어플리케이션이 소스 디바이스(900) 상에서 동작하고 있지 않으면, 공유 어플리케이션을 시작한다.
또한, 윈도우 생성 및 전송 모듈(920)은 타겟 디바이스(1000)로부터 공유 어플리케이션 접속 요청을 수신한 후, 타겟 디바이스(1000)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성하기 전에, 공유 어플리케이션에 접속 중인 타겟 디바이스(1000)들의 수가 공유 어플리케이션에 접속하는 타겟 디바이스(1000)들의 최대값보다 작은지를 판단한다. 만약, 공유 어플리케이션에 접속중인 타겟 디바이스(1000)들의 수가 최대값보다 작으면, 윈도우 생성 및 전송 모듈(920)은 타겟 디바이스(1000)를 위한 공유 어플리케이션의 윈도우 인스턴스를 생성한다. 만약, 공유 어플리케이션에 접속 중인 타겟 디바이스(1000)들이 수가 최대값과 같거나 크면, 윈도우 생성 및 전송 모듈(920)은 순차적으로 공유 어플리케이션의 대기 큐에 타겟 디바이스 식별자를 추가하고, 다른 타겟 디바이스(1000)가 공유 어플리케이션을 종료할 때, 대기 큐로부터 제1 타겟 디바이스 식별자를 추출하고, 추출된 타겟 디바이스 식별자에 대응하는 타겟 디바이스(1000)를 위해 공유 어플리케이션의 윈도우 인스턴스를 생성한다.
또한, 공유 어플리케이션이 동작 중에 생성된 윈도우들을 타겟 디바이스(1000)에 전송할 때, 윈도우 생성 및 전송 모듈(920)은 공유 어플리케이션이 스태틱 윈도우를 생성할 필요가 있을 때, 스태틱 윈도우의 코딩에 따라 스태틱 윈도우를 위해 버퍼에서 스태틱 윈도우 목록을 검색한다. 만약, 스태틱 윈도우가 검색되면, 윈도우 생성 및 전송 모듈(920)은 바로 버퍼에서 스태틱 윈도우를 복사하고, 타겟 디바이스(1000)에 복사된 스태틱 윈도우를 전송한다. 만약, 스태틱 윈도우가 검색되지 않으면, 윈도우 생성 및 전송 모듈(920)은 스태틱 윈도우를 생성 및 복하하고, 복사된 스태틱 윈도우를 타겟 디바이스(1000)에 전송하고, 버퍼에 스태틱 윈도우 목록에 복사된 스태틱 윈도우를 저장한다.
또한, 윈도우 생성 및 전송 모듈(920)은 공유 어플리케이션이 동작하는 동안에 생성된 윈도우들을 타겟 디바이스(1000)로 전송한 후에, 타겟 디바이스(1000)로부터 공유 어플리케이션의 윈도우에서 입력된 정보를 수신하고, 정보를 처리한다.
또한, 소스 디바이스(900)는 소스 디바이스 클러스터에 위치하고, WLAN 모듈(910)은 소스 디바이스 클러스터의 클러스터 매니저로부터 타겟 디바이스(1000)의 식별자를 운반하는 WLAN 연결 설정 통지를 수신하고, 타겟 디바이스(1000)와의 WLAN 연결을 설정한다. WLAN연결 설정 통지는 클러스터 매니저가 타겟 디바이스(1000)로부터 WLAN 연결 요청을 수신한 후에, 소스 디바이스(900)의 WLAN 모듈에 전송된 타겟 디바이스(1000)의 식별자를 운반하는 WLAN 연결 설정 통지이고, 미리 구성된 로드-밸런싱 알고리즘에 따라 소스 디바이스 클러스터로부터 소스 디바이스(900)를 선택한다
도 10은 일 실시 예에 따른 타겟 디바이스를 설명하는 구성도이다. 타겟 디바이스(1000)는 WLAN 모듈(1010), 공유 어플리케이션 접속 요청 전송 모듈(1020) 및 어플리케이션 윈도우 수신 및 표시 모듈(1030)을 포함한다.
WLAN 모듈(1010)은 소스 디바이스(900)와 WLAN 연결을 설정한다. 공유 어플리케이션은 소스 디바이스(900) 상에 설치되고, 타겟 디바이스(1000) 상에 설치되지 않는다.
공유 어플리케이션 접속 요청 전송 모듈(1020)은 공유 어플리케이션이 사용될 필요가 있을 때, 소스 디바이스(900)에 공유 어플리케이션 접속 요청을 전송한다.
어플리케이션 윈도우 수신 및 표시 모듈(1030)은 공유 어플리케이션이 동작하는 동안 생성된 윈도우들을 소스 디바이스(900)로부터 수신하고, 스크린 상에 윈도우를 표시한다.
또한, 공유 어플리케이션 접속 요청 전송 모듈(1020)은 소스 디바이스(900)로부터 공유 어플리케이션들의 명칭 목록을 수신하고, 사용자가 공유 어플리케이션들의 명칭 목록으로부터 공유 어플리케이션 명칭을 선택한 것인지를 판단할 때, 소스 디바이스(900)에 사용자에 의해 선택된 공유 어플리케이션 명칭을 운반하는 공유 어플리케이션 접속 요청을 전송한다.
또한, 타겟 디바이스(1000)는 공유 어플리케이션의 윈도우에서 사용자에 의해 입력된 정보를 수신할 때, 실시간으로 소스 디바이스에 정보를 전송하는 전송 모듈을 더 포함할 수 있다.
도 11은 일 실시 예에 따른 어플리케이션을 공유하는 방법을 설명하기 위한 도면이다. 도 11을 참조하면, 제1 및 제2 소스 디바이스(1110 및 1120)는 타겟 디바이스(1100)의 이동에 따라 공유 어플리케이션을 순차적으로 실행할 수 있다. 제1 및 제2 소스 디바이스(1110 및 1120)는 타겟 디바이스(1100)가 이동하더라도 공유 어플리케이션을 타겟 디바이스(1100)에 계속하여 제공할 수 있다. 예를 들어, 타겟 디바이스(1110)의 사용자가 쇼핑몰에서 TV와 무선 통신을 수행하던 중, 사용자가 쇼핑몰의 다른 층으로 이동하면, 타겟 디바이스(1110)와 TV의 무선 통신이 종료될 수 있다. 이때, 다른 층에 위치한 또 다른 TV는 타겟 디바이스(1110)와 무선 연결을 수행하고, 공유 어플리케이션을 타겟 디바이스(1110)에 제공할 수 있다.
제1 영역(1111)은 제1 소스 디바이스(1110)가 통신 가능한 영역을 표시한다. 제2 영역(1121)은 제2 소스 디바이스(1120)가 통신 가능한 영역을 표시한다. 제1 소스 디바이스(1110)와 제2 소스 디바이스(1120)는 서로 통신이 가능한 곳에 위치할 수 있고, 서로 데이터를 송수신할 수 있다. 또한, 제1 소스 디바이스(1110)와 제2 소스 디바이스(1120)는 동일한 어플리케이션들을 저장 및 실행할 수 있다.
도 11에서는 타겟 디바이스(1100)가 A 위치에서 B 위치로 이동하는 경우를 도시한다. 타겟 디바이스(1100)가 A 위치에서 B 위치로 이동하는 경우, 타겟 디바이스(1100)는 제1 영역(1111)을 이탈하고, 제1 소스 디바이스(1110)와의 통신 연결이 종료된다. 따라서, 제2 소스 디바이스(1120)는 타겟 디바이스(1100)를 위해 공유 어플리케이션을 시작하고, 타겟 디바이스(1100)에 윈도우, 이미지 또는 동영상 등을 계속하여 제공할 수 있다.
제2 소스 디바이스(1120)는 타겟 디바이스(1100)가 제2 영역(1121)에 위치하는지를 판단한다. 또한, 제2 소스 디바이스(1120)는 타겟 디바이스(1100)가 제1 영역(1111)으로부터 이탈하였는지도 판단할 수 있다. 만약, 타겟 디바이스(1100)가 이동하였으나, 여전히 제1 영역(1111) 내에 위치한다면, 타겟 디바이스(1100)는 제1 소스 디바이스(1110)와 무선 연결을 유지한다. 따라서, 타겟 디바이스(1100)가 제1 영역(1111)에는 포함되지 않고, 제2 영역(1121)에 포함될 때, 제2 소스 디바이스(1120)와 타겟 디바이스(1100)는 무선 연결을 설정할 수 있다.
제2 소스 디바이스(1120)는 제1 소스 디바이스(1110)로부터 타겟 디바이스(1100)가 제1 영역(1111)을 이탈하였는지 여부를 나타내는 데이터를 수신할 수 있다. 제1 소스 디바이스(1110)는 타겟 디바이스(1100)에 공유 어플리케이션을 제공하는 중 타겟 디바이스(1100)가 제1 영역(1111)을 이탈하면, 제1 소스 디바이스(1110)는 주변의 소스 디바이스들(예를 들어, 제2 소스 디바이스(1120))에 데이터를 전송할 수 있다. 데이터는 제1 소스 디바이스(1110)와 타겟 디바이스(1100)의 연결이 종료되었음을 나타낸다.
제2 소스 디바이스(1120)는 제1 소스 디바이스(1110)에서 실행중이던 공유 어플리케이션의 정보 및 공유 어플리케이션의 실행 정보 등을 수신한다. 공유 어플리케이션의 정보는 공유 어플리케이션의 식별자, 명칭, 다운로드 경로 등을 포함한다. 공유 어플리케이션의 실행 정보는 제1 소스 디바이스(1110)가 공유 어플리케이션을 실행한 후 타겟 디바이스(1100)에 제공한 윈도우, 이미지 또는 동영상 등을 포함하고, 동영상 등의 재생 위치도 포함할 수 있다. 동영상의 재생 위치는 제1 소스 디바이스(1110)와 타겟 디바이스(1100)의 무선 연결이 종료되는 시점에 재생 중이던 동영상의 위치, 시간 등을 나타낸다.
제2 소스 디바이스(1120)는 제1 소스 디바이스(1110)에서 실행 중이던 공유 어플리케이션을 실행하고, 타겟 디바이스(1100)에 공유 어플리케이션의 실행 결과를 전송할 수 있다. 이때, 제2 소스 디바이스(1120)는 제1 소스 디바이스(1110)로부터 수신된 공유 어플리케이션의 실행 정보에 기초하여 타겟 디바이스(1100)에 공유 어플리케이션의 실행 결과를 전송할 수 있다. 따라서, 타겟 디바이스(1100)는 끊김없이 공유 어플리케이션의 실행 결과를 사용자에게 제공할 수 있다.
도 11에서는 제1 소스 디바이스(1110)와 제2 소스 디바이스(1120)가 서로 통신 가능한 경우를 예를 들어 설명하였으나, 제1 소스 디바이스(1110)와 제2 소스 디바이스(1120)가 서로 통신 가능하지 않은 경우에도 제2 소스 디바이스(1120)는 공유 어플리케이션을 실행할 수 있다. 타겟 디바이스(1100)는 제1 소스 디바이스(1110)에서 실행되었던 공유 어플리케이션의 정보를 제2 소스 디바이스(1120)에 전송하고, 제2 소스 디바이스(1120)은 타겟 디바이스(1100)로부터 수신된 공유 어플리케이션의 정보에 따라 공유 어플리케이션을 실행할 수 있다.
타겟 디바이스(1000)는 공유 어플리케이션을 설치할 필요가 없고, 원격으로 소스 디바이스(900) 상의 공유 어플리케이션을 사용할 수 있으므로, 타겟 디바이스(1000)의 자원 및 네트워크 트래픽이 절약된다.
타겟 디바이스(1000) 및 소스 디바이스(900)는 서로 다른 동작 시스템(OS)를 사용할 수 있다. 어떤 스마트 장치는 소스 디바이스(900)로 취급될 수 있고, 스마트 장치 상에 설치된 하나 이상의 어플리케이션들이 또 다른 스마트 장치와 공유될 수 있다.
업데이트 및 업그레이드가 소스 디바이스(900) 상의 어플리케이션들을 위해 오직 수행된다. 인터넷이나 어플리케이션 스토어 상에 업그레이드 버전을 배포할 필요가 없다. 어플리케이션의 개발자들을 위해, 개발 및 디버킹이 서로 다른 플랫폼들에서 수행되는 것이 아닌 오직 소스 디바이스(900)의 동작 시스템 플랫폼을 위해 수행되므로, 유지 관리가 유동적이고 개발 비용이 절약된다.
마지막으로, 어플리케이션이 동작하는 동안, 정보 인터렉션이 소스 디바이스(900)와 타겟 디바이스(1000) 사이에 WLAN 연결에 기초하여 수행되기 때문에, 정보 인터렉션은 공공의 인터넷보다 로컬 네트워크 내에 있다. 몇몇 중요 정보, 계좌 정보, 은행 카드 정보 등과 같은, 정보 인터렉션의 보안이 향상된다.
본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.

Claims (20)

  1. 어플리케이션을 공유하는 방법에 있어서,
    타겟 디바이스가 통신 가능한 영역에 위치하였는지 판단하는 단계;
    상기 타겟 디바이스가 통신 가능한 영역에 위치한 경우 소스 디바이스와 타겟 디바이스 사이의 무선 연결을 설정(establish)하는 단계;
    상기 타겟 디바이스에 상기 소스 디바이스로부터 제공되는 공유 어플리케이션들의 목록(name list)을 전송하고, 상기 타겟 디바이스로부터 요청된 공유 어플리케이션을 시작하는 단계;
    상기 타겟 디바이스를 위한 상기 공유 어플리케이션의 윈도우 인스턴스를 생성하는 단계; 및
    상기 공유 어플리케이션이 실행되는 동안 생성된 윈도우들을 상기 타겟 디바이스에 전송하는 단계를 포함하는 어플리케이션 공유 방법.
  2. 제 1 항에 있어서,
    상기 공유 어플리케이션들의 목록 중 사용자에 의해 선택된 공유 어플리케이션의 명칭을 수신하는 단계를 더 포함하는 것을 특징으로 하는 어플리케이션 공유 방법.
  3. 제 1 항에 있어서,
    상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신한 후, 상기 공유 어플리케이션을 시작하기 전,
    만약 상기 공유 어플리케이션이 상기 소스 디바이스에서 동작 중이면, 상기 타겟 디바이스를 위한 공유 어플리케이션의 윈도우 인스턴스를 생성하는 단계; 및
    만약 상기 공유 어플리케이션이 상기 소스 디바이스에서 동작 중이 아니면, 상기 공유 어플리케이션을 시작하는 단계를 더 포함하는 어플리케이션 공유 방법.
  4. 제 1 항에 있어서,
    상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와의 무선 연결을 종료하는 것을 특징으로 하는 어플리케이션 공유 방법.
  5. 제 4 항에 있어서,
    상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와 통신 가능한 또 다른 소스 디바이스를 검색하는 단계;
    상기 또 다른 소스 디바이스에 상기 공유 어플리케이션의 정보 및 상기 공유 어플리케이션의 실행 정보를 전송하는 것을 특징으로 하는 어플리케이션 공유 방법.
  6. 제 1 항에 있어서,
    상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스가 있는지를 판단하는 단계; 및
    상기 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스의 접속을 종료하는 단계를 더 포함하는 어플리케이션 공유 방법.
  7. 제 1 항에 있어서,
    상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스가 있는지를 판단하는 단계; 및
    상기 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스의 접속을 종료하는 단계를 더 포함하는 어플리케이션 공유 방법.
  8. 제 1 항에 있어서,
    상기 소스 디바이스는 소스 디바이스 클러스터에 위치하고,
    상기 소스 디바이스와 상기 타겟 디바이스 사이의 무선 연결을 설정하는 단계는,
    상기 소스 디바이스 클러스터의 클러스터 매니저에 의해, 상기 타겟 디바이스로부터 무선 연결 요청을 수신하고, 미리 구성된 로드-밸런싱-알고리즘에 따라 상기 소스 디바이스 클러스터로부터 소스 디바이스를 선택하고, 상기 타겟 디바이스와의 상기 무선 연결을 설정하기 위해 상기 선택된 소스 디바이스를 통지하는 단계;
    상기 타겟 디바이스로부터 상기 공유 어플리케이션 요청을 수신하는 단계는,
    상기 타겟 디바이스와 상기 무선 연결을 설정한 후, 상기 클러스터 매니저에 의해 선택된 상기 소스 디바이스에 의해 상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 공유 방법.
  9. 어플리케이션을 공유하는 장치에 있어서,
    상기 타겟 디바이스가 통신 가능한 영역에 위치한 경우 타겟 디바이스와 무선 연결을 설정하는 통신부; 및
    상기 타겟 디바이스에 공유 어플리케이션들의 목록을 상기 통신부를 통해 전송하고, 상기 타겟 디바이스로부터 공유 어플리케이션 접속 요청을 수신하고, 상기 공유 어플리케이션을 시작하고, 상기 타겟 디바이스를 위해 상기 공유 어플리케이션의 윈도우 인스턴스를 생성하고, 상기 공유 어플리케이션이 동작 중 생성된 윈도우들을 상기 통신부를 통해 상기 타겟 디바이스로 전송하는 프로세서를 포함하는 어플리케이션 공유 장치.
  10. 제 9 항에 있어서,
    상기 프로세서는 상기 타겟 디바이스로부터 공유 어플리케이션 명칭을 운반하는 상기 공유 어플리케이션 접속 요청을 수신하고,
    상기 공유 어플리케이션 명칭은 상기 공유 어플리케이션들의 상기 목록에 포함되는 것을 특징으로 하는 어플리케이션 공유 장치.
  11. 제 9 항에 있어서,
    상기 타겟 디바이스로부터 상기 공유 어플리케이션 접속 요청을 수신한 후, 상기 공유 어플리케이션을 시작하기 전, 상기 프로세서는 상기 소스 디바이스 상에 상기 공유 어플리케이션이 동작 중인지를 판단하고,
    만약 상기 공유 어플리케이션이 상기 소스 디바이스 상에서 동작 중이면, 상기 프로세서는 상기 타겟 디바이스를 위해 상기 공유 어플리케이션의 상기 윈도우 인스턴스를 생성하고,
    만약 상기 공유 어플리케이션이 상기 소스 디바이스 상에서 동작 중이 아니면, 상기 공유 어플리케이션을 시작하는 것을 특징으로 하는 어플리케이션 공유 장치.
  12. 제 9 항에 있어서,
    상기 프로세서는 상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와의 무선 연결을 종료하는 것을 특징으로 하는 어플리케이션 공유 장치.
  13. 제 12 항에 있어서,
    상기 프로세서는 상기 타겟 디바이스가 통신 가능한 영역을 이탈한 경우, 상기 타겟 디바이스와 통신 가능한 또 다른 소스 디바이스를 검색하고, 상기 또 다른 소스 디바이스에 상기 공유 어플리케이션의 정보 및 상기 공유 어플리케이션의 실행 정보를 전송하는 것을 특징으로 하는 어플리케이션 공유 장치.
  14. 제 9 항에 있어서,
    상기 프로세서는 상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스가 있는지를 판단하고, 상기 최대 접속 시간 이상 상기 공유 어플리케이션에 접속 중인 타겟 디바이스의 접속을 종료하는 것을 특징으로 하는 어플리케이션 공유 장치.
  15. 제 9 항에 있어서,
    상기 프로세서는 상기 공유 어플리케이션에 접속 중인 타겟 디바이스들 중에서 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스가 있는지를 판단하고, 상기 최대 동작 대기 시간 이상 상기 공유 어플리케이션을 위한 동작을 수행하지 않는 타겟 디바이스의 접속을 종료하는 것을 특징으로 하는 어플리케이션 공유 장치.
  16. 제 9 항에 있어서,
    상기 공유 어플리케이션이 동작 중에 생성된 상기 윈도우들을 상기 타겟 디바이스에 전송한 후에, 상기 프로세서는 상기 타겟 디바이스로부터 상기 공유 어플리케이션의 상기 윈도우들에 입력된 정보를 수신하고, 상기 정보를 처리하는 것을 특징으로 하는 어플리케이션 공유 장치.
  17. 제 9 항에 있어서,
    상기 소스 디바이스는 소스 디바이스 클러스터에 위치하고,
    상기 통신부는 상기 소스 디바이스 클러스터의 클러스터 매니저로부터 상기 타겟 디바이스의 식별자를 운반하는 무선 연결 설정 통지를 수신하고, 상기 타겟 디바이스와의 상기 무선 연결을 수립하고,
    상기 무선 연결 설정 통지는 상기 소스 디바이스의 상기 무선 모듈에 보내진 상기 타겟 디바이스의 식별자는 운반하는 무선 연결 설정 통지를 포함하고, 상기 클러스터 매니저가 상기 타겟 디바이스로부터 무선 연결 요청을 수신한 후에 미리 구성된 로드 밸런싱 알고리즘에 따라 상기 소스 디바이스 클러스터로부터 상기 소스 디바이스를 선택하는 것을 특징으로 하는 어플리케이션 공유 장치.
  18. 어플리케이션을 공유하는 장치에 있어서,
    소스 디바이스와 무선 연결을 설정하는 통신부; 및
    공유 어플리케이션이 사용될 필요가 있을 때, 상기 통신부를 통해 상기 소스 디바이스에 공유 어플리케이션 접속 요청을 송신하는 프로세서를 포함하고,
    상기 통신부는 상기 공유 어플리케이션이 동작하는 동안 생성된 윈도우들을 상기 소스 디바이스로부터 수신하고,
    상기 프로세서는 스크린에 상기 윈도우들을 표시하는 어플리케이션 공유 장치.
  19. 제 18 항에 있어서,
    상기 프로세서는 상기 윈도우에 사용자에 의해 입력된 정보를 수신할 때, 상기 통신부를 통해 실시간으로 상기 소스 디바이스에 상기 입력된 정보를 전송하는 것을 특징으로 하는 어플리케이션 공유 장치.
  20. 제 1 항 내지 제 8 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적(non-transitory) 기록매체.
KR1020150169271A 2015-06-08 2015-11-30 어플리케이션을 공유하는 방법 및 장치 KR102295663B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2016/002278 WO2016200018A1 (en) 2015-06-08 2016-03-08 Method and apparatus for sharing application
EP16807661.0A EP3304942B1 (en) 2015-06-08 2016-03-08 Method and apparatus for sharing application
US15/075,749 US10735930B2 (en) 2015-06-08 2016-03-21 Method and apparatus for sharing application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510307550.2A CN104850463B (zh) 2015-06-08 2015-06-08 应用程序共享方法及装置
CN201510307550.2 2015-06-08

Publications (2)

Publication Number Publication Date
KR20160144296A true KR20160144296A (ko) 2016-12-16
KR102295663B1 KR102295663B1 (ko) 2021-08-30

Family

ID=53850120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150169271A KR102295663B1 (ko) 2015-06-08 2015-11-30 어플리케이션을 공유하는 방법 및 장치

Country Status (3)

Country Link
EP (1) EP3304942B1 (ko)
KR (1) KR102295663B1 (ko)
CN (1) CN104850463B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022149763A1 (ko) * 2021-01-07 2022-07-14 삼성전자 주식회사 요청된 기능을 수행하는 외부 전자 장치를 관리하기 위한 전자 장치 및 그 작동 방법
KR20220115102A (ko) * 2019-12-26 2022-08-17 비보 모바일 커뮤니케이션 컴퍼니 리미티드 애플리케이션 공유 방법, 제1 전자 기기 및 컴퓨터 판독 가능한 저장 매체
US11494050B2 (en) 2020-03-24 2022-11-08 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
US11813229B2 (en) 2020-11-16 2023-11-14 Church & Dwight Co., Inc. Teeth cleaning composition

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105405044B (zh) * 2015-12-07 2021-06-01 重庆海尔滚筒洗衣机有限公司 一种使用洗衣机快速购物的方法及洗衣机
CN108616842A (zh) * 2018-04-12 2018-10-02 陈明星 一种区块链式app本地共享系统
CN109547630B (zh) * 2018-11-12 2021-02-02 王晨宇 锁屏时云手机使用方法、装置、计算机设备及存储介质
CN110662198A (zh) * 2019-09-24 2020-01-07 维沃移动通信有限公司 一种应用共享方法及终端
CN110941501A (zh) * 2019-11-29 2020-03-31 维沃移动通信有限公司 一种应用共享方法及电子设备
CN111124706A (zh) * 2019-12-05 2020-05-08 维沃移动通信有限公司 一种应用程序分享方法及电子设备
CN116055773A (zh) 2019-12-17 2023-05-02 华为技术有限公司 一种多屏协同方法、系统及电子设备
CN111143005B (zh) * 2019-12-25 2022-04-22 维沃移动通信有限公司 一种应用分享方法、电子设备及计算机可读存储介质
CN111328057B (zh) * 2020-01-22 2023-02-07 维沃移动通信有限公司 一种应用共享方法及第一电子设备
CN111259253B (zh) * 2020-01-23 2023-08-22 维沃移动通信有限公司 应用搜索方法及电子设备
CN118488279A (zh) * 2020-07-29 2024-08-13 华为技术有限公司 电子设备间的协同方法、协同系统和电子设备
CN112379963B (zh) * 2020-11-30 2022-08-19 联想(北京)有限公司 远程应用窗口控制方法、装置及计算机设备
CN113190143A (zh) * 2021-04-29 2021-07-30 维沃移动通信(杭州)有限公司 界面显示方法、装置、电子设备及介质
CN113849231B (zh) * 2021-09-01 2024-05-10 珠海格力电器股份有限公司 应用程序运行方法、装置、存储介质及电子设备
CN115857964A (zh) * 2021-09-24 2023-03-28 花瓣云科技有限公司 应用程序安装方法及相关设备
CN116263683A (zh) * 2021-12-13 2023-06-16 华为技术有限公司 应用界面跨设备显示方法、设备系统
CN114115926B (zh) * 2022-01-28 2022-05-03 深圳微迅信息科技有限公司 一种程序共享方法、系统、计算机设备及可读存储介质
CN116708642A (zh) * 2022-02-28 2023-09-05 广州视源电子科技股份有限公司 一种子母型智能设备
CN114785848B (zh) * 2022-03-02 2024-09-27 阿里巴巴(中国)有限公司 电子设备之间的协同交互和协同方法、装置和系统
CN115175003B (zh) * 2022-07-11 2023-10-13 聚好看科技股份有限公司 媒资播放方法、显示设备及服务器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130099419A (ko) * 2012-02-29 2013-09-06 주식회사 팬택 어플리케이션 공유를 위한 이동단말장치 및 이동단말장치에서의 어플리케이션 공유 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102510392B (zh) * 2011-10-10 2014-11-05 Tcl集团股份有限公司 一种设备间共享应用的方法、系统、电视及移动终端
US9936335B2 (en) * 2012-12-13 2018-04-03 Microsoft Technology Licensing, Llc Mobile computing device application sharing
CN104156258B (zh) * 2013-05-14 2018-07-06 腾讯科技(深圳)有限公司 一种应用程序的共享操作方法、相关设备和系统
KR102071579B1 (ko) * 2013-09-02 2020-01-30 삼성전자주식회사 화면 미러링을 이용한 서비스 제공 방법 및 그 장치
KR102107404B1 (ko) * 2013-10-30 2020-05-07 삼성전자주식회사 어플리케이션을 공유하는 전자 장치 및 그 제어 방법
CN108848567B (zh) * 2013-10-31 2022-10-04 华为终端有限公司 一种内容共享的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130099419A (ko) * 2012-02-29 2013-09-06 주식회사 팬택 어플리케이션 공유를 위한 이동단말장치 및 이동단말장치에서의 어플리케이션 공유 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220115102A (ko) * 2019-12-26 2022-08-17 비보 모바일 커뮤니케이션 컴퍼니 리미티드 애플리케이션 공유 방법, 제1 전자 기기 및 컴퓨터 판독 가능한 저장 매체
US11494050B2 (en) 2020-03-24 2022-11-08 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
US11813229B2 (en) 2020-11-16 2023-11-14 Church & Dwight Co., Inc. Teeth cleaning composition
WO2022149763A1 (ko) * 2021-01-07 2022-07-14 삼성전자 주식회사 요청된 기능을 수행하는 외부 전자 장치를 관리하기 위한 전자 장치 및 그 작동 방법

Also Published As

Publication number Publication date
CN104850463B (zh) 2019-11-15
EP3304942A1 (en) 2018-04-11
EP3304942A4 (en) 2018-05-30
KR102295663B1 (ko) 2021-08-30
EP3304942B1 (en) 2020-06-03
CN104850463A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
KR102295663B1 (ko) 어플리케이션을 공유하는 방법 및 장치
US10735930B2 (en) Method and apparatus for sharing application
US9953612B2 (en) Systems and methods for facilitating communication between mobile devices and display devices
JP5624224B2 (ja) データ提供システム、提供装置、実行装置、制御方法、プログラム、及び記録媒体
US9311109B2 (en) Synchronizing device association data among computing devices
JP6257707B2 (ja) 権利および機能包括のコンテンツ選択および配信
US20120252576A1 (en) Method and system for remote game display
US9043856B2 (en) Remote control of program receiving devices
CN106687923A (zh) 多个设备上的计算环境的呈现
KR20160101543A (ko) 파일 다운로드 방법 및 장치
KR20160037335A (ko) 소셜 서비스와 결합된 동영상 서비스를 제공하는 방법과 시스템, 그리고 기록 매체
KR20200116521A (ko) 미디어 콘텐츠를 표시하기 위한 방법, 시스템 및 미디어
US20230139635A1 (en) Method for streaming dynamic 5g ar/mr experience to 5g devices with updatable scenes
CN116583882A (zh) 用于向5g设备递送5g ar/mr认知体验的方法和装置
US11245956B2 (en) Method and device for reproducing content of mobile device on display device
JP2014056333A (ja) 通信制御方法、情報処理システムおよびプログラム
JP2012175452A (ja) 無線通信装置、無線通信方法、プログラム、および無線通信システム
JP2016225823A (ja) 表示システム、情報端末、表示装置、再生制御プログラム及び再生制御方法
KR20160037330A (ko) 소셜 플랫폼을 통해 동영상 콘텐츠를 제공하는 방법과 시스템, 그리고 기록 매체 및 파일 배포 시스템
KR101600386B1 (ko) 애플리케이션의 사용자 인증 방법
KR101844931B1 (ko) 분할 디스플레이를 위한 데이터 관리 장치, 시스템 및 방법과 그 기록 매체
JP2019036787A (ja) 情報処理装置、動画配信方法、及び動画配信プログラム
JP5932892B2 (ja) コンテンツ提供システム、コンテンツ提供機器、コンテンツ再生機器、制御方法、プログラム、及び記録媒体
CN118214777A (zh) 通信方法、系统、电子设备及存储介质
KR20230128914A (ko) 로컬서버가 IoT 기기의 상태정보를 전송하는 방법

Legal Events

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