KR102192701B1 - 디바이스 간의 복사하기 및 붙이기 - Google Patents

디바이스 간의 복사하기 및 붙이기 Download PDF

Info

Publication number
KR102192701B1
KR102192701B1 KR1020187034192A KR20187034192A KR102192701B1 KR 102192701 B1 KR102192701 B1 KR 102192701B1 KR 1020187034192 A KR1020187034192 A KR 1020187034192A KR 20187034192 A KR20187034192 A KR 20187034192A KR 102192701 B1 KR102192701 B1 KR 102192701B1
Authority
KR
South Korea
Prior art keywords
data
pasteboard
remote
local
wirelessly
Prior art date
Application number
KR1020187034192A
Other languages
English (en)
Other versions
KR20190002575A (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 KR1020207035838A priority Critical patent/KR102405113B1/ko
Publication of KR20190002575A publication Critical patent/KR20190002575A/ko
Application granted granted Critical
Publication of KR102192701B1 publication Critical patent/KR102192701B1/ko

Links

Images

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • H04L67/36
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/10Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Abstract

디바이스는 적어도 하나의 무선 송수신기, 로컬 페이스트보드를 저장하도록 구성된 메모리, 및 프로세서를 포함할 수 있다. 프로세서는 로컬 페이스트보드 상에 배치될 데이터의 로컬 선택들을 수신하고, 로컬 데이터가 로컬 페이스트보드 상에 있음을 나타내는 광고를 브로드캐스트하고, 로컬 데이터를 원격 디바이스 페이스트보드에 무선으로 전송하도록 구성될 수 있다. 프로세서는 또한 원격 데이터가 다른 디바이스들의 원격 페이스트보드들 상에서 이용가능함을 나타내는 광고들을 수신하고, 붙이기 커맨드에 응답하여 원격 데이터를 요청하고, 원격 데이터를 무선으로 수신하고, 원격 데이터를 붙여넣도록 구성될 수 있다.

Description

디바이스 간의 복사하기 및 붙이기
본 발명은 일반적으로 디바이스들 사이의 데이터 전달에 관한 것이다.
개인용 컴퓨터들, 스마트폰들, 태블릿들, 및 다른 디바이스들과 같은 컴퓨팅 디바이스들은 일반적으로 이용가능하고, 많은 경우들에서, 다수의 컴퓨팅 디바이스들은 서로 매우 근접해 있을 수 있다. 때때로, 단일 사용자가 짧은 시간 내에 다수의 컴퓨팅 디바이스들을 사용할 수 있다. 예를 들어, 사용자는 랩톱 상에 애플리케이션을 사용중일 수 있고, 태블릿 또는 스마트폰으로 스위칭하여 상이한 애플리케이션을 사용할 수 있다. 그러한 경우들에서, 디바이스들 사이의 데이터 전달은 간단하지 않을 수 있고, 종종 사용자가 디바이스들 각각에 다수의 단계들 및/또는 다수의 애플리케이션들을 수반하는 태스크들을 수행할 것을 요구할 수 있다.
일부 실시예들에서, 컴퓨팅 디바이스들은 그들의 클립보드 또는 페이스트보드의 콘텐츠를 다른 컴퓨팅 디바이스들과 공유하도록 구성될 수 있다. 사용자는 예를 들어 텍스트 또는 그래픽과 같은 제1 디바이스 상의 애플리케이션에서 데이터를 선택할 수 있고, 데이터를 페이스트보드 상에 배치하기 위해 오려두기 또는 복사 커맨드를 입력할 수 있다. 로컬 페이스트보드에 데이터를 배치하는 것에 더하여, 이러한 동작은 제1 디바이스로 하여금 다른 디바이스들에 페이스트보드 데이터의 존재를 광고하게 할 수 있다. 사용자는 제2 디바이스 상에 붙이기 커맨드를 입력할 수 있다. 이러한 붙이기 커맨드는, 제2 디바이스로 하여금 제1 디바이스로부터 페이스트보드 데이터를 획득하게 하고, 데이터가 제2 디바이스 상의 애플리케이션으로부터 제2 디바이스의 페이스트보드 내로 캡처된 경우와 매우 동일한 방식으로 제2 디바이스 상의 애플리케이션 내로 데이터를 붙여넣을 수 있다.
특정 구현예들은 적어도 하기의 이점들을 제공한다: 사용자들은 하나의 디바이스 상에서 데이터를 끊김없이 오리거나 복사하고 다른 디바이스 상에 이를 붙여넣을 수 있다. 따라서, 사용자들은, 예를 들어 사용자 계정을 공유하는 서로 근접한 디바이스들 사이에서 데이터를 전달할 수 있다. 전달은 사용자에게 보이지 않게 발생할 수 있다. 전달은 저 에너지 통신 기술을 사용하여 수행될 수 있다. 전달되고 있는 데이터의 크기가 큰 경우에, 전달은 고속 통신 기술을 사용하여 수행될 수 있고/있거나, 전달 진행을 나타내고/내거나 전달의 사용자 취소를 허용하는 사용자 인터페이스가 제공될 수 있다.
하나 이상의 구현예들의 상세사항들이 첨부 도면 및 이하의 설명에서 기재된다. 다른 특징들, 태양들, 및 잠재적 이점들이 설명 및 도면으로부터 그리고 청구범위로부터 명백해질 것이다.
도 1은 디바이스들 사이의 복사하기 및 붙이기를 위한 예시적인 시스템이다.
도 2는 디바이스들 간의 복사하기 및 붙이기를 위한 예시적인 그래픽 사용자 인터페이스이다.
도 3은 디바이스들 사이의 복사하기 및 붙이기를 위한 예시적인 데이터 전달 메커니즘이다.
도 4는 제1 디바이스로부터 제2 디바이스로 붙이기 위한 콘텐츠의 이용가능성을 광고하기 위한 예시적인 프로세스의 흐름도이다.
도 5는 다른 디바이스로부터 붙게 될 데이터를 요청하기 위한 예시적인 프로세스의 흐름도이다.
도 6은 오려두기 또는 복사된 데이터를 다른 디바이스로 전송하기 위한 예시적인 프로세스의 흐름도이다.
도 7은 임계 크기를 초과하는 오려두기 또는 복사된 데이터를 다른 디바이스에 전송하기 위한 예시적인 프로세스의 흐름도이다.
도 8은 디바이스들 사이의 복사하기 및 붙이기를 위해 구성된 예시적인 디바이스이다.
다양한 도면들에서의 유사한 도면 부호들은 유사한 요소들을 가리킨다.
개요
도 1은 컴퓨팅 디바이스들의 예시적인 네트워크(100)를 도시한다. 컴퓨팅 디바이스는 랩톱 컴퓨터, 데스크톱 컴퓨터, 컴퓨터 단말기, 텔레비전 시스템, 태블릿 컴퓨터, 전자책 리더기, 스마트폰, 시계, 및 웨어러블 컴퓨터를 포함하지만, 이에 한정되지 않는 다양한 전자디바이스들 중 하나일 수 있다. 디바이스(1)(예컨대, 랩톱 컴퓨터)(110), 디바이스(2)(예컨대, 태블릿)(120), 디바이스(3)(예컨대, 스마트폰)(130), 및 디바이스(N)(예컨대, 데스크톱 컴퓨터)와 같은 2 개 이상의 컴퓨팅 디바이스들은 서로 근접해 있을 수 있다. 각각의 디바이스는 적어도 하나의 무선 송수신기(112/122/132/142), 예를 들어 블루투스 저 에너지(BTLE) 송수신기 또는 다른 송수신기를 포함할 수 있다. 디바이스들은 그것들이 그들 각각의 BTLE 송수신기를 통해 서로 통신 범위 내에 있을 때 서로 근접해 있는 것으로 간주될 수 있다. BTLE를 사용하여 서로 통신하는 것에 더하여, 디바이스들(110/120/130/140)은 유선 또는 무선 라우터(150) 또는 다른 네트워킹 디바이스를 사용하여 근거리 통신망(LAN)과 선택적으로 접속할 수 있다. 예를 들어, 디바이스들(110/120/130/140)은 라우터(150)를 사용하여 인터넷 또는 다른 광역 네트워크(WAN)에 액세스할 수 있다.
각각의 디바이스(110/120/130/140)는 일반적인 디바이스 동작 및 디바이스와의 사용자 상호작용을 용이하게 하도록 구성된 운영 체제(114/124/134/144)를 포함할 수 있다. 운영 체제(114/124/134/144)는 페이스트보드(116/126/136/146)를 포함할 수 있다. 페이스트보드(116/126/136/146)는 디바이스(110/120/130/140)의 메모리, 디바이스(110/120/130/140)의 파일 시스템 내의 파일, 또는 데이터를 저장하고 오려두기, 복사하기, 및/또는 붙이기 동작들을 용이하게 하도록 구성된 일부 다른 데이터 저장 요소의 일부분일 수 있다. 일부 실시예들에서, 페이스트보드(116/126/136/146)는 운영 체제 자체와는 별개의 애플리케이션에 의해 제공될 수 있다. 각각의 디바이스(110/120/130/140)는 또한 하나 이상의 애플리케이션(118/128/138/148)을 실행할 수 있다. 사용자는 애플리케이션으로부터 데이터를 오려두기 및/또는 복사하여, 데이터가 페이스트보드 상에 나타나게 할 수 있다. 사용자는 페이스트보드에서의 데이터를 동일한 애플리케이션 또는 데이터가 유래된 애플리케이션과는 상이한 애플리케이션 내에 붙여넣을 수 있다.
도 2는 디바이스(예컨대, 네트워크(100)의 태블릿(120) 또는 임의의 다른 디바이스) 상에 디스플레이될 수 있는 예시적인 그래픽 사용자 인터페이스(GUI)(200)를 도시한다. 사용자는 태블릿(120)과 상호작용하여 데이터(210), 예를 들어 이미지 또는 이미지의 일부분을 선택할 수 있다. 선택은 태블릿(120)이 오려두기, 복사하기, 및 다른 옵션들을 포함하는 메뉴(220)를 제시하도록 촉구할 수 있다. 사용자가 오려두기 또는 복사하기를 선택할 때, 선택된 데이터(210)는 페이스트보드(126) 상에 배치될 수 있다. 이러한 예에서, GUI(200)는 이미지 뷰잉 또는 편집 애플리케이션(128)을 위한 인터페이스이지만, 유사한 기능을 제공하는 GUI 가 다른 애플리케이션에도 또한 제공될 수 있다.
도 3은 제1 디바이스(예컨대, 네트워크(100)의 태블릿(120)) 상에 데이터를 복사하고 제2 디바이스(예컨대, 네트워크(100)의 스마트 폰(130)) 상에 데이터를 붙이는 일례를 도시한다. 도 2에 관하여 기술된 바와 같이, 사용자는 제1 디바이스(120)의 GUI(200)의 메뉴(220)를 사용하여 선택된 데이터(210)를 복사할 수 있다. 이어서, 사용자는 제2 디바이스(130)의 GUI(300)와 상호작용하여(예컨대, 붙이기 메뉴(320)를 통해 또는 일부 다른 커맨드를 사용하여) 붙이기 커맨드를 입력할 수 있다. 아래에서 더 상세히 기술되는 바와 같이, 제2 디바이스(130)는 제1 디바이스의 페이스트보드(126) 상의 데이터를 학습하고, 데이터를 수신하고, 데이터를 제2 디바이스의 페이스트보드(136)에 추가할 수 있다. 붙이기 커맨드는 제1 디바이스(120) 상에서 유래된 데이터를 제2 디바이스(130)의 애플리케이션(128)에 붙여넣을 수 있다. 제1 디바이스(120) 상에서 유래된 데이터는 원래 제2 디바이스(130)를 사용하여 오려두거나 복사된 것처럼 제2 디바이스의 페이스트보드(136)에 지속될 수 있다. 붙이기 메뉴(320)를 통해 붙이기 커맨드를 발행하는 것이 예로서 도시되어 있지만, 사용자는 다른 방식으로 원격 붙이기를 트리거할 수 있다. 예를 들어, 데이터가 제1 디바이스 상에서 복사되고, 제1 디바이스가 데이터의 이용가능성을 광고한 후에, 제2 디바이스(130)는 광고를 수신하고, 데이터가 제2 디바이스(130) 상에 붙여져야 하는지 여부를 사용자에게 묻는 프롬프트를 생성할 수 있다. 다른 예에서, 사용자는 제2 디바이스(130)의 키보드(예컨대, command-c 또는 control-c)를 사용하여 커맨드를 발행할 수 있다.
예시적인 프로세스들
도 4는 제1 디바이스(120)를 수반하는 예시적인 복사하기 및 광고 프로세스(400)의 흐름도이다. 이러한 프로세스(400)가 제1 디바이스(120)에 의해 수행되는 것으로 제시되지만, 네트워크(100) 내의 임의의 디바이스는 데이터가 디바이스 상에서 절취 또는 복사될 때 유사하게 거동할 수 있다. 프로세스(400)는 데이터가 디바이스의 페이스트보드(402)에 추가될 때 시작할 수 있다. 예를 들어, 사용자는 (예를 들어, 전술된 바와 같은 GUI(200)와의 상호작용을 통해) 애플리케이션 내의 데이터를 선택하고 오려두기 또는 복사하기 커맨드를 입력하여, 디바이스(120)로 하여금 선택된 데이터를 페이스트보드(126) 상에 배치하게 할 수 있다.
데이터가 페이스트보드(126)에 추가될 때, 디바이스(120)는 그러한 데이터(404)의 존재를 광고할 수 있다. 예를 들어, 광고는 다른 프로세스에 의해 또한 사용되는 BTLE 비콘 데이터 내로 삽입될 수 있다. 네트워크(100) 내의 일부 디바이스들은 핸드오프 비콘 페이로드를 주기적으로 전송할 수 있다. 핸드오프 비콘은, 예를 들어, 디바이스(120)에 의해 주기적으로 전송되는 BTLE 광고 패킷일 수 있다. 핸드오프 비콘은 디바이스들 사이의 애플리케이션 동작 상태들의 전달을 용이하게 하는 연속성 데이터를 포함할 수 있다. 다른 디바이스들은 마찬가지로 유사한 기능들 또는 다른 이유들로 비콘 데이터를 주기적으로 전송할 수 있다. 패킷은, 예를 들어, 제1 애플리케이션 및 제1 애플리케이션에서 수행된 액티비티를 식별하는 액티비티 식별자, 액티비티 식별자가 액티비티에 관련된 온라인 리소스에 대한 도메인 네임의 표현을 포함함을 나타낼 때 사용되는 플래그, 액티비티/액티비티 정보에 대한 타임스탬프, 및/또는 다른 데이터를 포함할 수 있다. 광고는 핸드오프 비콘 데이터 또는 다른 비콘 데이터를 포함하는 전송 안에 삽입될 수 있다. 예를 들어, 광고는 핸드오프 비콘 광고 패킷으로 인코딩될 수 있고, 동일한 패킷은 액티비티 연속성 데이터 및 페이스트보드 이용가능성 데이터 둘 모두를 전송하는데 사용될 수 있다. 일부 실시예들에서, 광고는 발명의 명칭이 "Activity Continuation Between Electronic Devices" 인 미국 특허 출원 공개 제2015/0350355호, 및 발명의 명칭이 "Forwarding Activity-Related Information From Source Electronic Devices to Companion Electronic Devices"인, 미국 특허 출원 공개 제2015/0373084호에 기재된 유형의 주기적으로 전송되는 액티비티 광고 메시지 안에 삽입될 수 있는데, 이들 각각은 전체적으로 본 명세서에 참조로서 포함된다.
광고는 제한된 기간 동안 디바이스(120)에 의해 전송된 비콘 페이로드들 내로 삽입될 수 있다(404). 예를 들어, 사전정의된 길이의 시간(예컨대, 2 분 또는 일부 다른 길이의 시간)이 경과한 후에(406), 광고는 후속 비콘 페이로드에 더 이상 추가되지 않을 수 있다(410). 일부 실시예들에서, 시간의 길이는 디폴트 길이일 수 있거나, 사용자에 의해 GUI와의 상호작용을 통해 특정되는 선택가능한 길이일 수 있다. 비콘 페이로드는 임의의 특정 다른 디바이스에 의한 수신을 위해 의도됨이 없이 디바이스(120)에 의해 브로드캐스트될 수 있다(즉, 그것들은 리스닝할 수 있는 임의의 디바이스에 광고될 수 있음).
일부 경우들에서, 다른 디바이스(예컨대, 제2 디바이스(130))는 제1 디바이스(120) 페이스트보드(126)의 데이터를 붙여넣기 위하여 요청할 수 있고, 이러한 요청은 제1 디바이스(120)에서 수신될 수 있다(408). 요청이 수신된 후에, 광고는 후속 비콘 전송들(410)에 더이상 추가되지 않을 수 있고, 추가적인 프로세싱(하기)이 제1 디바이스(120) 및/또는 제2 디바이스(130)에 의해 제2 디바이스(130) 상에 데이터를 붙이도록 수행될 수 있다. 다른 실시예들에서, 제1 디바이스(120)는, 붙이기 요청이 수신된 후에도, 미리결정된 기간의 나머지 동안 페이스트보드 데이터의 존재를 계속해서 광고할 수 있다. 이는 추가적인 디바이스들(예컨대, 도 1의 디바이스(110) 또는 디바이스(140))도 제1 디바이스(120) 페이스트보드(126)의 데이터를 붙여넣는 것을 허용할 수 있다.
도 5는 제2 디바이스(130)를 수반하는 예시적인 붙이기 요청 프로세스(500)의 흐름도이다. 이러한 프로세스(500)는 제2 디바이스(130)에 의해 수행되는 것으로 제시되지만, 네트워크(100) 내의 임의의 디바이스는, 디바이스 상에 붙이기 커맨드가 수신되고 네트워크(100) 내의 다른 디바이스가 광고를 포함하는 비콘 전송을 브로드캐스트할 때 유사하게 거동할 수 있다. 제2 디바이스(130)는 광고를 포함하는 비콘 전송을 수신할 수 있다(502). 일부 실시예들에서, 제2 디바이스(130)는 제2 디바이스(130)가 제1 디바이스(120)와 동일한 사용자 계정 또는 기타 공통 식별자와 연관될 때 단지 광고를 프로세싱하고/하거나 다음의 동작들(504 내지 512)을 수행할 수 있다. 예를 들어, 사용자는 두 디바이스(120/130)에서 사용자 계정(예컨대, 애플 ID 또는 기타 사용자 계정)에서 이미 로그인했을 수 있다. 일부 실시예들에서, 디바이스들(120/130)은 서로 교환되는 데이터를 암호화하여, 동일한 사용자 계정 또는 기타 공통 식별자와 연관된 디바이스들만이 데이터를 복호화하고 사용할 수 있다. 일부 실시예들에서, 제2 디바이스(130)는 공유된 복사하기 및 붙이기 기능이 사용자 계정 설정 및/또는 디바이스 설정에서 인에이블될 때 단지 광고를 프로세싱하고/하거나 다음 동작들(504 내지 512)을 수행할 수 있다. 이러한 설정들은, 예를 들어, GUI와의 상호작용을 통해 사용자가 선택가능하거나 또는 디폴트 설정일 수 있다.
제2 디바이스(130)는 광고가 제1 디바이스(120)에 의해 브로드캐스트되고 제2 디바이스(130)에 의해 수신되는 기간 동안 (예컨대, 전술된 바와 같은 GUI(300)와의 상호작용을 통해) 붙이기 커맨드를 수신할 수 있다(504). 두 디바이스들(120/130)이 동일한 사용자 계정과 연관되고, 데이터가 제1 디바이스(120) 페이스트보드(126)에 추가된 직후에 붙이기 커맨드가 수신되는 경우(예컨대, 광고가 제1 디바이스(120)에 의해 브로드캐스트 중이고, 제2 디바이스(130)에 의해 수신되는 기간 동안), 사용자가 페이스트보드(126) 콘텐츠를 제2 디바이스(130) 페이스트보드(136)로 전달하고 그것을 붙이려고 의도한다고 가정될 수 있다. 제2 디바이스(130)는 BTLE 또는 기타 연결을 이용하여 제1 디바이스(120)에 더 많은 정보에 대한 요청을 송신할 수 있다(506). 예를 들어, 제2 디바이스(130)는 제1 디바이스(120) 페이스트보드(126) 상의 데이터에 대한 유형 목록을 요청할 수 있다. 유형 목록은 페이스트보드(126) 상에서 이용가능한 데이터의 유형에 관한 정보 및/또는 데이터의 크기에 관한 정보를 포함할 수 있다. 예를 들어, 텍스트가 페이스트보드(126) 상으로 오려두기 또는 복사되면, 유형 목록은 텍스트 데이터에 대한 일반 텍스트 및 리치 텍스트 입력들을 포함할 수 있다. 이미지가 페이스트보드(126) 상으로 오려두기 또는 복사되는 경우, 유형 목록은 이미지 데이터에 대해 다양한 이미지 포맷들(예컨대,.gif,.jpg,.png 등)을 포함할 수 있다. 제2 디바이스(130)가 광고 내에 유형 데이터를 포함하기보다는 오히려 그것을 요청하게 함으로써, 일부 실시예들에서 광고 비트 크기 요건들을 감소시킬 수 있다. 그러나, 일부 실시예들에서, 광고는 유형 데이터를 포함하여, 본 명세서에 기술된 유형 데이터를 요청 및 수신하는 것과 관련된 행동들이 생략되게 할 수 있다.
일부 실시예들에서, 사용자 계정과 연관된 하나 초과의 디바이스(예컨대, 제1 디바이스(120) 및 제3 디바이스(110))는, 붙이기 커맨드가 수신되는 동일한 기간 동안 광고들을 브로드캐스트할 수 있다(504). 이러한 상황에서, 제2 디바이스(130)는 우선 제2 디바이스(130)에 의해 가장 최근에 검출된 광고를 송신한 디바이스(110/120) 어느 한쪽에 요청을 전송할 수 있다(506). 즉, 디바이스(110/120) 중 어느 한쪽이 광고를 마지막으로 브로드캐스트하기 시작하였다. 이는 본 기술 분야에 공지된 바와 같이 단일 디바이스 상에서 복사하기 및 붙이기와 일치하는 사용자 경험을 제공할 수 있으며, 여기서 사용자가 제1 데이터를 복사하고, 이어서 제1 데이터를 붙이기 하지 않고서 제2 데이터를 복사하는 경우, 제2 데이터가 최종적으로 붙이기 되는 데이터이다. 일부 실시예들에서, 광고들은 데이터가 초기에 절취되거나 복사되었을 때를 나타내는 타임 스탬프들을 포함할 수 있는데, 이는 최신 데이터를 선택하기 위해 제2 디바이스(130)에 의해 사용될 수 있다.
제1 디바이스(120)는 유형 목록에 대한 요청을 수신할 수 있고, 이에 응답하여 유형 목록을 전송할 수 있다(도 6 참조). 제2 디바이스(130)는 BTLE 또는 기타 연결(508)을 통해 유형 목록를 수신할 수 있다. 제2 디바이스(130)는 요청에 대한 데이터의 유형(들)을 결정하기 위해 유형 목록을 검사할 수 있다(510). 예를 들어, 일부 디바이스들 및/또는 애플리케이션들은 이용가능한 데이터의 서브세트(예컨대, 텍스트만을 사용하고 그래픽은 사용하지 않음, 단지 일반 텍스트만 사용하고 리치 텍스트는 사용하지 않음, 단지 소정 그래픽 또는 비디오 또는 기타 파일 유형 포맷들만 사용하는 등)만을 사용할 수 있다. 이러한 경우들에서, 제2 디바이스(130)는 이용가능한 유형들의 서브세트만이 요청되어야 한다고 결정할 수 있다. 다른 경우들에서, 제2 디바이스(130)는 이용가능한 데이터의 모든 유형들이 요청되어야 한다고 결정할 수 있다. 제2 디바이스(130)는 결정된 데이터에 대한 요청을 BTLE 또는 기타 연결을 이용하여 제1 디바이스(120)로 송신할 수 있다(512).
도 6은 제1 디바이스(120)를 수반하는 예시적인 데이터 전달 프로세스(600)의 흐름도이다. 이러한 프로세스(600)가 제1 디바이스(120)에 의해 수행되는 것으로 제시되지만, 네트워크(100) 내의 임의의 디바이스는 유형 목록 및/또는 데이터 전달에 대한 요청이 수신될 때 유사하게 거동할 수 있다. 제1 디바이스(120)는 BTLE 또는 기타 연결을 통해 다른 디바이스(예컨대, 전술된 바와 같은 제2 디바이스(130))로부터 유형 목록에 대한 요청을 수신할 수 있다(602). 제1 디바이스(120)는 이에 응답하여 BTLE 또는 기타 연결을 사용하여 페이스트보드(126)에 대한 유형 목록을 전송할 수 있다(604). 요청 디바이스(예컨대, 제2 디바이스(130))는 전술된 바와 같이 특정 유형의 페이스트보드 데이터에 대한 요청을 송신할 수 있고, 제1 디바이스(120)는 BTLE 또는 기타 연결을 통해 이 요청을 수신할 수 있다(606). 이러한 요청에 응답하여, 제1 디바이스(120)는 요청된 데이터의 전송을 페이스트보드(126)로부터 개시할 수 있다.
일부 실시예들에서, 제1 디바이스(120)의 페이스트보드(126)로부터 제2 디바이스(130)의 페이스트보드(136)로 데이터를 전달하는 모드는 전달되는 데이터의 크기에 의존할 수 있다. 예를 들어, 임계 데이터 크기가 설정될 수 있다(예컨대, 10 kB 또는 일부 다른 크기). 일부 실시예들에서, 임계 데이터 크기는 디폴트 크기일 수 있거나, 사용자에 의해 GUI와의 상호작용을 통해 특정되는 선택가능한 크기일 수 있다. 제1 디바이스(120)는 전송될 요청된 페이스트보드 데이터가 임계치 크기 미만인지 여부를 결정할 수 있다(608). 그렇다면, 요청된 페이스트보드 데이터는 BTLE(또는 다른 저 에너지 연결, 예컨대, 광고를 전송하는 데 사용되는 연결)를 사용하여 전송될 수 있다(610). 그렇지 않은 경우, 제1 디바이스(120)는 데이터를 전송하기 위해 상이한(예컨대, 더 높은 에너지) 연결을 사용할 수 있다.
예를 들어, 제1 디바이스(120)와 제2 디바이스(130)는 더 많은 양의 데이터를 전달하기 위해 서로 직접 WiFi 연결을 설정할 수 있다. 제1 디바이스(120)는 WiFi 서비스 연결을 이용가능하게 하고 BTLE 또는 기타 연결을 사용하여 WiFi 서비스 이용가능성 광고를 브로드캐스트할 수 있다(612). 제2 디바이스(130)는 제1 디바이스(120)(도 7 참조)에 의해 제공되는 WiFi 서비스에 접속할 수 있고, 두 디바이스들 사이의 연결이 확립될 수 있다(614). 연결이 확립되면, 제1 디바이스(120)는 WiFi 연결을 사용하여 제2 디바이스(130)에 페이스트보드 콘텐츠를 전송할 수 있다(616). 일부 실시예들에서, 디바이스들(120/130) 사이에 확립된 WiFi 서비스는 시분할 또는 기타 다중화 기법들의 사용을 통해 네트워크(100) WiFi와 공존할 수 있는데, 예를 들어, 디바이스들(120/130)이 데이터 전달 동안 라우터(150)와 계속 통신할 수 있게 한다.
도 7은 제2 디바이스(130)를 수반하는 예시적인 데이터 전달 프로세스(700)의 흐름도이다. 이러한 프로세스(600)가 제2 디바이스(130)에 의해 수행되는 것으로 제시되지만, 네트워크(100) 내의 임의의 디바이스는 다른 디바이스(예컨대, 도 6에 대해 전술된 바와 같은 제1 디바이스(120))의 페이스트보드 데이터를 수신하는 것과 유사하게 거동할 수 있다. 제2 디바이스(130)는 (예를 들어, 도 5에 대하여 전술된 바와 같이) 데이터를 요청할 수 있다(512). 제2 디바이스(130)가 WiFi 서비스 광고(704)를 검출하지 않는 경우, 그것은 대신에 요청에 응답하여 전송된 제1 디바이스(120)의 페이스트보드 데이터를 수신할 수 있다(706).
그러나, 제2 디바이스(130)가 WiFi 서비스 광고를 검출하는 경우(704), 그것은 광고된 WiFi 서비스를 통해 제1 디바이스(120)에 연결할 수 있다(708). 도 6에 대하여 앞서 논의된 바와 같이, 일단 연결이 확립되면, 제1 디바이스(120)는 연결부를 통해 페이스트보드 데이터를 전송할 수 있고, 제2 디바이스(130)는 데이터를 수신할 수 있다(710). 일부 실시예들에서, 제2 디바이스(130)는 페이스트보드 데이터가 전송되고 있는 동안 GUI를 디스플레이할 수 있다(712). GUI는 데이터 전달 진행의 표시(예컨대, 백분율 완성도 및/또는 진행 바) 및/또는 전송을 취소하기 위한 옵션(예컨대, "취소" 버튼)을 포함할 수 있다. 취소 버튼이 사용자에 의해 선택되면(714), 제2 디바이스(130)는 데이터 전달을 중지할 수 있고(716), 일부 실시예들에서, WiFi 서비스 연결을 중단할 수 있다(718). 그렇지 않으면, 제2 디바이스(130)는 WiFi를 통해 페이스트보드 데이터를 수신할 수 있고(720), 일부 실시예들에서, 전달이 완료된 후에 WiFi 서비스 연결을 중단할 수 있다(722). 일부 실시예들에서, WiFi 서비스 연결은 중단될 필요가 없으며(718/722), 일부 미리결정된 기간 동안 열려 있을 수 있고/있거나, 미래의 페이스트보드 데이터 교환들을 용이하게 하기 위해 사용될 수 있고/있거나, 다른 기능들에 대해 사용될 수 있다.
페이스트보드 데이터가 BTLE 또는 WiFi를 통해 수신되는지에 상관없이, 전송이 완료된 후에, 제2 디바이스(130)는 자신의 페이스트보드(724)에 데이터를 저장하고 사용자의 원래의 붙이기 커맨드에 응답하여 그 데이터를 애플리케이션으로 붙여넣을 수 있다. 데이터는, 그것이 원래 제2 디바이스(130) 상에 국부적으로 절취 또는 복사되어 있던 것처럼 제2 디바이스 페이스트보드(136)에 남아 있을 수 있다.
그래픽 사용자 인터페이스
상기 개시내용은 다양한 특징, 프로세스들 또는 워크플로우들을 구현하기 위한 다양한 그래픽 사용자 인터페이스(Graphical User Interfaces, GUI)에 대해 설명한다. 이들 GUI들은 랩톱 컴퓨터, 데스크탑 컴퓨터, 컴퓨터 단말기, 텔레비전 시스템, 태블릿 컴퓨터, 이북리더기(e-book reader) 및 스마트폰들을 포함하는 다양한 전자 디바이스들 상에 제시될 수 있으나, 이에 한정되는 것은 아니다. 하나 이상의 이들 전자 디바이스들이 터치-감응 표면을 포함할 수 있다. 터치-감응 표면은 복수개의 동시적인 입력 점들을 프로세싱할 수 있으며, 이는 입력 점 각각의 압력, 정도 또는 위치와 연관된 데이터의 프로세싱을 포함할 수 있다. 이와 같은 프로세싱은 핀칭(pinching) 및 스와이핑(swiping)을 포함하는 복수개의 손가락을 사용한 제스추어 입력을 용이하게 할 수 있다.
본 명세서에서 GUI 내의 사용자 인터페이스 요소들을 "선택한다(to select)" 또는 "선택하는(selecting)"이라고 지칭할 경우, 이러한 표현들은 마우스 또는 다른 입력 디바이스를 가지고 사용자 인터페이스 요소 상부에서 클릭하거나 "호버링(hovering)"하는 것, 또는 하나 이상의 손가락 또는 스타일러스를 가지고 사용자 인터페이스 요소 상에 터치, 탭핑(tapping) 또는 제스처 입력(gesturing)하는 것을 포함하는 것으로 이해된다. 사용자 인터페이스 요소는 가상의 버튼, 메뉴, 선택기, 스위치, 슬라이더, 스크러버, 노브(knob), 썸네일, 링크, 아이콘, 라디오 버튼, 체크 박스 및 사용자로부터 입력을 수신하거나 사용자에게 피드백을 제공하기 위한 임의의 다른 메커니즘일 수 있다.
예시적인 시스템 아키텍처
도 8은 도 1 내지 도 7의 특징부들 및 프로세스들을 구현할 수 있는 예시적인 컴퓨팅 디바이스(800)의 블록도이다. 예를 들어, 컴퓨팅 디바이스(800)는 네트워크(100)의 하나 이상의 사용자 디바이스들(110 내지 140)로서 기능할 수 있다. 컴퓨팅 디바이스(800)는 메모리 인터페이스(802), 하나 이상의 데이터 프로세서, 이미지 프로세서 및/또는 중앙 처리 유닛(804), 및 주변기기 인터페이스(806)를 포함할 수 있다. 메모리 인터페이스(802), 하나 이상의 프로세서(804), 및/또는 주변기기 인터페이스(806)는 별도의 컴포넌트들일 수 있거나 하나 이상의 집적회로에 통합될 수 있다. 컴퓨팅 디바이스(800) 내의 다양한 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인들에 의해 결합될 수 있다.
센서, 디바이스 및 서브시스템은 다수의 기능들을 용이하게 하기 위하여 주변기기 인터페이스(806)에 결합될 수 있다. 예를 들어, 모션 센서(810), 광 센서(812) 및 근접 센서(814)는 배향, 조명 및 근접 기능들을 용이하게 하기 위하여 주변기기 인터페이스(806)에 결합될 수 있다. 다른 센서(816)들이 또한 GNSS(global navigation satellite system)(예를 들어, GPS 수신기), 온도 센서, 생체인식 센서, 자력계 또는 다른 감지 디바이스와 같은 주변기기 인터페이스(806)에 연결되어 관련 기능들을 용이하게 할 수 있다.
사진 및 비디오 클립의 녹화와 같은 카메라 기능들을 가능하게 하기 위해 카메라 서브시스템(820) 및 광 센서(822), 예컨대 전하 결합 소자(CCD) 또는 상보형 금속 산화물 반도체(CMOS) 광 센서가 사용될 수 있다. 카메라 서브시스템(820) 및 광학 센서(822)는, 예를 들어, 안면 인식 분석을 수행함으로써, 사용자의 인증 동안에 사용될 사용자의 이미지를 수집하는 데 사용될 수 있다.
무선 주파수 수신기와 송신기 및/또는 광학(예컨대, 적외선) 수신기와 송신기를 포함할 수 있는 하나 이상의 무선 통신 서브시스템들(824)을 통해 통신 기능들이 가능하게 될 수 있다. 예를 들어, 전술한 BTLE 및/또는 WiFi 통신은 무선 통신 서브시스템(824)에 의해 처리될 수 있다. 통신 서브시스템(824)의 특정 설계 및 구현은 컴퓨팅 디바이스(800)가 동작하도록 의도되는 통신 네트워크(들)에 의존할 수 있다. 예를 들어, 컴퓨팅 디바이스(800)는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, Wi-Fi 또는 WiMax 네트워크, 및 블루투스™ 네트워크를 통해 동작하도록 설계된 통신 서브시스템들(824)을 포함할 수 있다. 특히, 무선 통신 서브시스템(824)은, 디바이스(100)가 다른 무선 디바이스들을 위한 기지국으로서 구성되고/되거나 전술한 바와 같이 WiFi 서비스를 제공할 수 있도록 호스팅 프로토콜을 포함할 수 있다.
오디오 서브시스템(826)은 화자 인식, 음성 복제, 디지털 녹음, 및 전화 통신 기능과 같은 음성 지원 기능들을 용이하게 하기 위해 스피커(828) 및 마이크로폰(830)에 결합될 수 있다. 오디오 서브시스템(826)은 예를 들어 음성 명령, 성문 감정(voiceprinting) 및 음성 인증의 처리를 용이하게 하도록 구성될 수 있다.
I/O 서브시스템(840)은 터치 표면 제어기(842) 및/또는 다른 입력 제어기(들)(844)를 포함할 수 있다. 터치 표면 제어기(842)는 터치 표면(846)에 결합될 수 있다. 터치 표면(846)과 터치 표면 제어기(842)는, 예를 들어, 용량성, 저항성, 적외선 및 표면 탄성파(surface acoustic wave) 기술들뿐만 아니라, 터치 표면(846)과의 하나 이상의 접촉점을 결정하기 위한 다른 근접 센서 어레이들 또는 다른 요소들을 포함하지만 이들로 제한되지 않는 복수의 터치 감응성 기술들 중 임의의 기술을 사용하여 접촉 및 이동 또는 그의 중단을 검출할 수 있다.
기타 입력 제어기(들)(844)는 하나 이상의 버튼들, 로커 스위치(rocker switch), 지동륜(thumb-wheel), 적외선 포트, USB 포트, 및/또는 포인터 디바이스, 예컨대 스타일러스와 같은 기타 입력/제어 디바이스들(848)에 결합될 수 있다. 하나 이상의 버튼(도시되지 않음)은 스피커(828) 및/또는 마이크로폰(830)의 음량 제어를 위한 상/하 버튼을 포함할 수 있다.
일 구현예에서, 제1 지속기간 동안의 버튼 누름은 터치 표면(846)의 잠금을 결합해제할 수 있고; 제1 지속기간보다 더 긴 제2 지속기간 동안의 버튼 누름은 컴퓨팅 디바이스(800)에 대한 전원을 켜거나 끌 수 있다. 제3 지속기간 동안의 버튼 누름은, 사용자로 하여금 마이크로폰(830)에 명령을 말하여 디바이스가 음성 명령을 실행하게 할 수 있는, 음성 제어, 또는 음성 명령, 모듈을 활성화시킬 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능을 사용자 지정(customize)할 수 있다. 터치 표면(846)은, 예를 들어 가상 또는 소프트 버튼들 및/또는 키보드를 구현하는 데 또한 사용될 수 있다.
일부 구현들에서, 컴퓨팅 디바이스(800)는 MP3, AAC, 및 MPEG 파일들과 같은 레코딩된 오디오 및/또는 비디오 파일들을 제시할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(800)는 아이팟(iPod™)과 같은 MP3 재생기의 기능을 포함할 수 있다. 그러므로, 컴퓨팅 디바이스(800)는 아이팟과 호환되는 36-핀 커넥터를 포함할 수 있다. 기타 입력/출력 및 제어 디바이스가 또한 사용될 수 있다.
메모리 인터페이스(802)는 메모리(850)에 결합될 수 있다. 메모리(850)는 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리, 예컨대 하나 이상의 자기 디스크 저장 디바이스, 하나 이상의 광학 저장 디바이스, 및/또는 플래시 메모리(예를 들어, NAND, NOR)를 포함할 수 있다. 메모리(850)는 운영 체제(852), 예컨대 다윈(Darwin), RTXC, 리눅스(LINUX), 유닉스(UNIX), OS X, 윈도우즈(WINDOWS), 또는 임베디드 운영 체제, 예컨대 VxWorks를 저장할 수 있다.
운영 체제(852)는 기본 시스템 서비스들을 처리하기 위한 그리고 하드웨어 종속 태스크들을 수행하기 위한 명령어들을 포함할 수 있다. 일부 구현들에서, 운영 체제(852)는 커널(예를 들어, 유닉스 커널)일 수 있다. 일부 구현예들에서, 운영 체제(852)는 음성 인증을 수행하기 위한 명령어들을 포함할 수 있다. 예를 들어, 운영 체제(852)는 도 1 내지 도 7을 참조하여 설명한 바와 같이 복사하기 및 붙이기 기능들을 구현할 수 있다.
메모리(850)는 또한 하나 이상의 추가 디바이스들, 하나 이상의 컴퓨터들 및/또는 하나 이상의 서버들과의 통신을 가능하게 하는 통신 명령어들(854)을 저장할 수 있다. 메모리(850)는 그래픽 사용자 인터페이스의 처리를 용이하게 하기 위한 그래픽 사용자 인터페이스 명령어들(856); 센서 관련 처리 및 기능들을 가능하게 하는 센서 처리 명령어들(858); 전화 관련 프로세스들 및 기능들을 가능하게 하는 전화 명령어들(860); 전자 메시징 관련 프로세스들 및 기능들을 가능하게 하는 전자 메시징 명령어들(862); 웹 브라우징 관련 프로세스들 및 기능들을 가능하게 하는 웹 브라우징 명령어들(864); 미디어 처리 관련 프로세스들 및 기능들을 가능하게 하는 미디어 처리 명령어들(866); GNSS 및 내비게이션 관련 프로세스들 및 명령어들을 가능하게 하는 GNSS/내비게이션 명령어들(868); 및/또는 카메라 관련 프로세스들 및 기능들을 가능하게 하는 카메라 명령어들(870)을 포함할 수 있다.
메모리(850)는 도 1 내지 도 7을 참조하여 기술된 바와 같이, 복사하기 및 붙이기 프로세스 및 기능과 같은 기타 프로세스 및 기능을 가능하게 하는 복사하기 및 붙이기 명령어들(872)을 저장할 수 있다.
메모리(850)는 또한 웹 비디오 관련 프로세스들 및 기능들을 용이하게 하는 웹 비디오 명령어들과 같은 기타 소프트웨어 명령어들(874); 및/또는 웹 쇼핑 관련 프로세스들 및 기능들을 용이하게 하는 웹 쇼핑 명령어들을 저장할 수 있다. 일부 구현예들에서, 미디어 프로세싱 명령어들(866)은 오디오 프로세싱 관련 프로세스들 및 기능들과 비디오 프로세싱 관련 프로세스들 및 기능들을 각각 가능하게 하는 오디오 프로세싱 명령어들과 비디오 프로세싱 명령어들로 나뉠 수 있다.
앞서 확인된 명령어들 및 애플리케이션들 각각은 전술한 하나 이상의 기능을 수행하기 위한 명령어들의 세트에 대응할 수 있다. 이들 명령어는 별개의 소프트웨어 프로그램들, 절차들, 또는 모듈들로서 구현될 필요는 없다. 메모리(850)는 추가의 명령어들 또는 더 적은 수의 명령어들을 포함할 수 있다. 또한, 컴퓨팅 디바이스(800)의 다양한 기능들은, 하나 이상의 신호 처리 및/또는 ASIC(application specific integrated circuit)를 포함하는, 하드웨어 및/또는 소프트웨어로 구현될 수 있다.
다양한 실시예들이 전술되었지만, 이들은 예로써 제시되었을 뿐, 제한하는 것은 아니라는 점을 이해해야 한다. 형태 및 상세 사항의 다양한 변화가 사상 및 범주로부터 벗어남이 없이 그 내에서 이루어질 수 있음이 통상의 기술자에게 명백할 것이다. 실제로, 상기 설명을 읽은 후에, 대안적인 실시예들을 구현하는 방법이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다.
또한, 기능 및 이점을 강조하는 임의의 도면들이 예시 목적으로만 제시된다는 것을 이해하여야 한다. 개시된 방법 및 시스템은 각각 충분히 유동적이고 구성가능하여, 도시된 것과 다른 방식으로 이용될 수 있다.
용어 "적어도 하나" 가 종종 명세서, 청구범위 및 도면에 사용될 수 있지만, 용어 "a", "an", "the", "상기" 등은 또한 명세서, 청구범위 및 도면에서 "적어도 하나" 또는 "상기 적어도 하나"를 의미한다.
마지막으로, 표현 언어 "~ 위한 수단" 또는 "~ 위한 단계"를 포함하는 청구항만이 35 U.S.C. 112(f) 하에서 해석되어야 한다는 것이 출원인의 의도이다. 어구 "~ 위한 수단" 또는 "~ 위한 단계"를 명확하게 포함하지 않는 청구범위는 35 U.S.C. 112(f) 하에서 해석되지 않는다.

Claims (25)

  1. 방법으로서,
    제1 디바이스에서, 상기 제1 디바이스의 제1 페이스트보드 상에 배치될 데이터의 선택을 수신하는 단계;
    상기 제1 디바이스를 이용하여, 상기 제1 페이스트보드 상의 상기 데이터의 존재를 나타내는 정보를 포함하는 광고를 무선으로 브로드캐스트하는 단계;
    상기 제1 디바이스에서, 제2 디바이스로부터 유형 목록에 대한 요청을 무선으로 수신하는 단계 - 상기 유형 목록은 상기 제1 페이스트보드 상의 상기 데이터의 복수의 서브세트의 복수의 데이터 유형을 포함함 - ;
    상기 제1 디바이스를 이용하여, 상기 유형 목록을 상기 제2 디바이스로 직접 무선으로 전송하는 단계;
    상기 제1 디바이스에서, 상기 제2 디바이스로부터 상기 제1 페이스트보드 상의 상기 데이터에 대한 요청을 무선으로 수신하는 단계 - 상기 데이터에 대한 요청은 상기 유형 목록에서 제공된 상기 복수의 데이터 유형 중 하나의 선택을 포함함 - ;
    상기 제1 디바이스를 이용하여, 상기 제2 디바이스로의 직접 무선 연결을 설정하는 단계; 및
    상기 제1 디바이스를 이용하여, 상기 직접 무선 연결에 의해 상기 제2 디바이스의 제2 페이스트보드로 직접 상기 제1 페이스트보드 상의 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형으로 상기 데이터를 무선으로 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형은 상기 제2 디바이스에 의해 사용가능한 데이터 유형에 대응하는, 방법.
  3. 제1항에 있어서, 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형은, 상기 제2 디바이스에 의해 사용가능하지 않은 적어도 하나의 데이터 유형을 생략하는, 방법.
  4. 삭제
  5. 제1항에 있어서, 상기 제2 페이스트보드 내의 상기 데이터는 상기 제2 디바이스 상의 문서에 붙여넣어질 수 있는, 방법.
  6. 제1항에 있어서, 상기 광고는 추가 정보를 포함하는 사전 스케줄링된 브로드캐스트 메시지에 추가되는, 방법.
  7. 제1항에 있어서, 상기 제1 페이스트보드 상의 상기 데이터는 상기 데이터의 크기가 임계 크기 미만일 때 블루투스 저 에너지(Bluetooth low energy) 전송을 사용하여 직접 전송되는, 방법.
  8. 제1항에 있어서, 상기 제1 페이스트보드 상의 상기 데이터는, 상기 데이터의 크기가 임계 크기 이상일 때, 상기 제1 디바이스와 상기 제2 디바이스 사이의 직접 WiFi 연결을 사용하여 직접 전송되는, 방법.
  9. 제8항에 있어서,
    상기 제1 디바이스를 이용하여, 이용가능한 WiFi 서비스를 무선으로 광고하는 단계;
    상기 제1 디바이스에서, 상기 제2 디바이스로부터 상기 이용가능한 WiFi 서비스에 연결하기 위한 요청을 무선으로 수신하는 단계; 및
    상기 제1 디바이스를 이용하여, 상기 제1 디바이스와 상기 제2 디바이스 사이의 상기 직접 WiFi 연결을 설정하는 단계를 추가로 포함하는, 방법.
  10. 방법으로서,
    제2 디바이스에서, 제1 디바이스의 제1 페이스트보드 상의 데이터의 존재를 나타내는 정보를 포함하는 광고를 무선으로 수신하는 단계;
    상기 제2 디바이스에서, 상기 제2 디바이스의 제2 페이스트보드의 데이터를 붙이기 위한 커맨드를 수신하는 단계;
    상기 제2 디바이스를 이용하여, 유형 목록에 대한 요청을 상기 제1 디바이스로 무선으로 전송하는 단계 - 상기 유형 목록은 상기 제1 페이스트보드 상의 상기 데이터의 복수의 서브세트의 복수의 데이터 유형을 포함함 -;
    상기 제2 디바이스에서, 상기 유형 목록을 상기 제1 디바이스로부터 직접 무선으로 수신하는 단계;
    상기 제2 디바이스를 이용하여, 상기 복수의 데이터 유형 중 하나를 선택하는 단계;
    상기 제2 디바이스를 이용하여, 상기 제1 페이스트보드 상의 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형에 대한 요청을 상기 제1 디바이스에 무선으로 전송하는 단계;
    상기 제2 디바이스를 이용하여, 상기 제1 디바이스로의 직접 무선 연결을 설정하는 단계;
    상기 제2 디바이스에서, 상기 직접 무선 연결에 의해 상기 제1 디바이스로부터 직접 상기 제1 페이스트보드 상의 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형으로 상기 데이터를 무선으로 수신하는 단계;
    상기 제2 디바이스를 이용하여, 상기 제2 디바이스의 상기 제2 페이스트보드 내에 상기 수신된 데이터를 배치하는 단계; 및
    상기 제2 디바이스를 이용하여, 상기 수신된 데이터를 붙이는 단계를 포함하는, 방법.
  11. 제10항에 있어서, 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형은 상기 제2 디바이스에 의해 사용가능한 데이터 유형에 대응하는, 방법.
  12. 제10항에 있어서, 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형은, 상기 제2 디바이스에 의해 사용가능하지 않은 적어도 하나의 데이터 유형을 생략하는, 방법.
  13. 제10항에 있어서, 상기 제1 페이스트보드 상의 상기 데이터는 블루투스 저 에너지 전송을 사용하여 전송되는, 방법.
  14. 제10항에 있어서,
    상기 제2 디바이스에서, 상기 제1 디바이스로부터 이용가능한 WiFi 서비스의 광고를 무선으로 수신하는 단계;
    상기 제2 디바이스를 이용하여, 상기 제2 디바이스로부터 상기 이용가능한 WiFi 서비스에 연결하기 위한 요청으로 상기 광고에 무선으로 응답하는 단계; 및
    상기 제2 디바이스를 이용하여, 상기 제1 디바이스와 상기 제2 디바이스 사이의 직접 WiFi 연결을 설정하는 단계를 추가로 포함하고, 상기 제1 페이스트보드 상의 상기 데이터는 상기 직접 WiFi 연결을 통해 수신되는, 방법.
  15. 제14항에 있어서, 상기 제1 페이스트보드 상의 상기 데이터가 수신되고 있는 동안, 상기 제2 디바이스를 이용하여, 사용자 인터페이스를 디스플레이하는 단계를 추가로 포함하고, 상기 사용자 인터페이스는 데이터 수신 진행, 취소 옵션, 또는 이들의 조합의 표시를 포함하는, 방법.
  16. 제15항에 있어서,
    상기 제2 디바이스에서, 상기 사용자 인터페이스로부터 취소 커맨드를 수신하는 단계; 및
    상기 제2 디바이스를 이용하여, 상기 취소 커맨드를 수신하는 것에 응답하여 제1 페이스트보드 상의 상기 데이터의 수신을 중지하는 단계를 추가로 포함하는, 방법.
  17. 디바이스로서,
    적어도 하나의 무선 송수신기;
    로컬 페이스트보드를 저장하도록 구성된 메모리; 및
    프로세서를 포함하며, 상기 프로세서는,
    상기 로컬 페이스트보드 상에 배치될 로컬 데이터의 선택을 수신하고;
    상기 선택된 로컬 데이터를 상기 페이스트보드 상에 배치하고;
    상기 적어도 하나의 무선 송수신기를 사용하여, 상기 로컬 페이스트보드 상의 상기 로컬 데이터의 존재를 나타내는 정보를 포함하는 로컬 광고를 무선으로 브로드캐스트하고;
    적어도 하나의 원격 디바이스로부터 유형 목록에 대한 요청을 무선으로 수신하고 - 상기 유형 목록은 상기 로컬 페이스트보드 상의 상기 데이터의 복수의 서브세트의 복수의 데이터 유형을 포함함 - ;
    상기 유형 목록을 상기 원격 디바이스로 직접 무선으로 전송하고;
    상기 적어도 하나의 무선 송수신기를 통해, 상기 적어도 하나의 원격 디바이스로부터 상기 로컬 페이스트보드 상의 상기 로컬 데이터에 대한 요청을 무선으로 수신하고 - 상기 로컬 데이터에 대한 요청은 상기 복수의 데이터 유형 중 하나의 선택을 포함함 - ;
    상기 적어도 하나의 무선 송수신기를 사용하여, 상기 적어도 하나의 원격 디바이스로의 직접 무선 연결을 설정하고;
    상기 적어도 하나의 무선 송수신기를 사용하여, 상기 복수의 데이터 유형 중 상기 선택된 하나의 데이터 유형으로 상기 로컬 페이스트보드 상의 상기 로컬 데이터를 상기 직접 무선 연결에 의해 상기 적어도 하나의 원격 디바이스의 적어도 하나의 원격 페이스트보드에 직접 무선으로 전송하고;
    상기 적어도 하나의 무선 송수신기를 통해, 상기 적어도 하나의 원격 디바이스의 상기 적어도 하나의 원격 페이스트보드 상의 원격 데이터의 존재를 나타내는 정보를 포함하는 원격 광고를 무선으로 수신하고;
    상기 원격 광고를 수신한 후에 데이터를 붙이기 위한 커맨드를 수신하고;
    상기 적어도 하나의 무선 송수신기를 사용하여, 상기 적어도 하나의 원격 페이스트보드 상의 상기 원격 데이터에 대한 요청을 상기 적어도 하나의 원격 디바이스에 무선으로 전송하고;
    상기 적어도 하나의 무선 송수신기를 통해, 상기 적어도 하나의 원격 페이스트보드 상의 상기 원격 데이터를 상기 직접 무선 연결에 의해 상기 적어도 하나의 원격 디바이스로부터 직접 무선으로 수신하고;
    상기 수신된 원격 데이터를 상기 로컬 페이스트보드에 배치하고;
    데이터를 붙이기 위한 상기 커맨드에 응답하여 상기 수신된 원격 데이터를 붙이도록 구성된, 디바이스.
  18. 제17항에 있어서, 상기 적어도 하나의 무선 송수신기는 블루투스 저 에너지 송수신기, WiFi 송수신기, 또는 이들의 조합을 포함하는, 디바이스.
  19. 제18항에 있어서, 상기 프로세서는,
    상기 로컬 데이터의 크기가 임계 크기 미만인지 여부를 결정하고;
    상기 로컬 데이터의 상기 크기가 상기 임계 크기 미만이라고 결정하는 것에 응답하여, 상기 로컬 페이스트보드 상의 상기 로컬 데이터를 상기 적어도 하나의 원격 디바이스의 상기 적어도 하나의 원격 페이스트보드에 직접 무선으로 전송하기 위한 상기 블루투스 저 에너지 송수신기를 선택하고;
    상기 데이터의 상기 크기가 상기 임계 크기 이상이라고 결정하는 것에 응답하여, 상기 로컬 페이스트보드 상의 상기 로컬 데이터를 상기 적어도 하나의 원격 디바이스의 상기 적어도 하나의 원격 페이스트보드에 직접 무선으로 전송하기 위한 상기 WiFi 송수신기를 선택하도록 추가로 구성되는, 디바이스.
  20. 제18항에 있어서, 상기 프로세서는,
    상기 적어도 하나의 무선 송수신기를 사용하여, 이용가능한 로컬 WiFi 서비스를 무선으로 광고하고;
    상기 적어도 하나의 무선 송수신기를 통해, 상기 적어도 하나의 원격 디바이스로부터 상기 이용가능한 로컬 WiFi 서비스에 연결하기 위한 요청을 무선으로 수신하고;
    상기 적어도 하나의 무선 송수신기를 통해, 상기 적어도 하나의 원격 디바이스로부터 이용가능한 원격 WiFi 서비스의 광고를 무선으로 수신하고;
    상기 적어도 하나의 무선 송수신기를 사용하여, 상기 적어도 하나의 원격 디바이스로부터 상기 이용가능한 원격 WiFi 서비스에 연결하기 위한 요청으로 상기 광고에 무선으로 응답하고;
    상기 적어도 하나의 무선 송수신기를 이용하여, 상기 적어도 하나의 원격 디바이스와의 직접 WiFi 연결을 설정하도록 추가로 구성되는, 디바이스.
  21. 제17항에 있어서, 상기 프로세서는,
    상기 적어도 하나의 무선 송수신기를 통해, 상기 적어도 하나의 원격 디바이스로부터 유형 목록에 대한 요청을 무선으로 수신하고 - 상기 유형 목록은 상기 로컬 페이스트보드 상의 상기 로컬 데이터의 복수의 서브세트의 복수의 데이터 유형을 포함함 -;
    상기 적어도 하나의 무선 송수신기를 사용하여, 상기 유형 목록을 상기 적어도 하나의 원격 디바이스에 직접 무선으로 전송하도록 추가로 구성되고,
    상기 로컬 데이터에 대한 상기 요청은 전송될 상기 데이터로서 상기 복수의 데이터 유형 중 적어도 하나의 선택을 포함하는, 디바이스.
  22. 제17항에 있어서, 상기 프로세서는,
    상기 적어도 하나의 무선 송수신기를 사용하여, 유형 목록에 대한 요청을 상기 적어도 하나의 원격 디바이스에 무선으로 전송하고 - 상기 유형 목록은 상기 원격 페이스트보드 상의 상기 원격 데이터의 복수의 서브세트의 복수의 데이터 유형을 포함함 -;
    상기 적어도 하나의 무선 송수신기를 통해, 상기 유형 목록을 상기 적어도 하나의 원격 디바이스로부터 직접 무선으로 수신하고;
    전송될 상기 데이터로서 상기 복수의 데이터 유형 중 적어도 하나를 선택하고;
    전송될 상기 데이터의 상기 선택을 상기 적어도 하나의 원격 페이스트보드 상의 상기 원격 데이터에 대한 상기 요청에 포함시키도록 추가로 구성된, 디바이스.
  23. 제17항에 있어서, 상기 광고는 추가 정보를 포함하는 사전 스케줄링된 브로드캐스트 메시지에 추가되는, 디바이스.
  24. 제17항의 복수의 상기 디바이스를 포함하는 네트워크.
  25. 제24항에 있어서, 상기 복수의 디바이스의 각각은 공통 사용자 계정 또는 식별자와 연관되는, 네트워크.
KR1020187034192A 2016-05-30 2017-05-24 디바이스 간의 복사하기 및 붙이기 KR102192701B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207035838A KR102405113B1 (ko) 2016-05-30 2017-05-24 디바이스 간의 복사하기 및 붙이기

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/168,183 US20170347226A1 (en) 2016-05-30 2016-05-30 Copy And Paste Between Devices
US15/168,183 2016-05-30
PCT/US2017/034304 WO2017210062A1 (en) 2016-05-30 2017-05-24 Copy and paste between devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035838A Division KR102405113B1 (ko) 2016-05-30 2017-05-24 디바이스 간의 복사하기 및 붙이기

Publications (2)

Publication Number Publication Date
KR20190002575A KR20190002575A (ko) 2019-01-08
KR102192701B1 true KR102192701B1 (ko) 2020-12-17

Family

ID=59034897

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207035838A KR102405113B1 (ko) 2016-05-30 2017-05-24 디바이스 간의 복사하기 및 붙이기
KR1020187034192A KR102192701B1 (ko) 2016-05-30 2017-05-24 디바이스 간의 복사하기 및 붙이기

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207035838A KR102405113B1 (ko) 2016-05-30 2017-05-24 디바이스 간의 복사하기 및 붙이기

Country Status (6)

Country Link
US (4) US20170347226A1 (ko)
EP (2) EP3437307B1 (ko)
KR (2) KR102405113B1 (ko)
CN (2) CN109644201A (ko)
AU (2) AU2017275461B2 (ko)
WO (1) WO2017210062A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114865A (ja) * 2013-12-12 2015-06-22 ソニー株式会社 情報処理装置、中継コンピュータ、情報処理システム、および情報処理プログラム
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
US10783012B2 (en) 2018-04-20 2020-09-22 CopyBucket, Inc. Systems and methods for efficient inter-device data exchange
KR102629412B1 (ko) 2019-01-04 2024-01-26 삼성전자주식회사 외부 장치의 콘텐트를 편집하는 전자 장치 및 방법
CN112565425B (zh) * 2020-12-03 2021-08-06 南京机敏软件科技有限公司 在多个跨云服务器主机会话的云应用程序间进行拷贝粘贴的方法
CN113420002A (zh) * 2021-06-24 2021-09-21 阿波罗智联(北京)科技有限公司 数据同步方法、装置、电子设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207850A1 (en) * 2012-09-11 2015-07-23 Google Inc. Clipboard
US20150332258A1 (en) * 2014-05-19 2015-11-19 Qualcomm Incorporated Identity Verification via Short-Range Wireless Communications

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325038B1 (en) * 2002-09-27 2008-01-29 Ricoh Company, Ltd. Mechanism for transferring data between applications running on multiple networked computers
KR100552671B1 (ko) * 2002-12-21 2006-02-20 한국전자통신연구원 블루투스 실시간 전송 시스템의 동적 비대칭 운용 방법
FI20095120A0 (fi) * 2009-02-09 2009-02-09 Valtion Teknillinen NFC-leikepöytä ja tähän liittyvä menetelmä
CN102262565B (zh) * 2010-05-28 2015-06-24 腾讯科技(深圳)有限公司 一种跨程序应用剪切板的方法和设备
CN102045369A (zh) * 2011-01-27 2011-05-04 北京播思软件技术有限公司 一种实现云拷贝的信息推送系统及其方法
KR20120088199A (ko) * 2011-01-31 2012-08-08 주식회사 팬택 광고 정보가 삽입된 어플리케이션을 제공하는 장치 및 방법
US20140213185A1 (en) * 2011-09-07 2014-07-31 Nokia Corporation Methods, apparatuses and computer program products for performing wireless innercopy of data between devices
KR101933445B1 (ko) * 2011-10-17 2018-12-28 한국전자통신연구원 통신 시스템에서 데이터 송수신 장치 및 방법
US8706037B1 (en) * 2012-01-13 2014-04-22 Google Inc. Alternative transport mechanism selection
US10152861B2 (en) * 2012-02-09 2018-12-11 Apple Inc. Wireless security camera system
JP5969775B2 (ja) * 2012-03-05 2016-08-17 キヤノン株式会社 情報処理装置、制御方法、およびプログラム
US9208001B2 (en) 2012-03-08 2015-12-08 Blackberry Limited Object mediated data transfer between electronic devices
US8725808B2 (en) * 2012-05-10 2014-05-13 Intel Mobile Communications GmbH Method for transferring data between a first device and a second device
US20140095673A1 (en) 2012-09-25 2014-04-03 Tencent Technology (Shenzhen) Company Limited Systems and methods for transmitting and receiving data
CN102882963B (zh) * 2012-09-25 2016-01-27 腾讯科技(深圳)有限公司 一种数据传输方法、相关终端及系统
US9917881B2 (en) * 2012-10-22 2018-03-13 Samsung Electronics Co., Ltd. Apparatus, system, and method for transferring data across mobile terminals paired using near field communication (NFC)
US9633374B2 (en) * 2012-12-28 2017-04-25 Intel Corporation System and methods for rebroadcasting of radio ads over other mediums
US20140274031A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Sharing data among proximate mobile devices with short-range wireless signals
US9100943B2 (en) * 2013-09-23 2015-08-04 Google Technology Holdings LLC Device auto pairing without touch and tap
KR102164917B1 (ko) * 2014-02-10 2020-10-13 삼성전자주식회사 근거리 무선 통신에서 재연결 방법 및 장치
US9553916B2 (en) 2014-03-13 2017-01-24 Ca, Inc. Copy and paste between devices
US20150350268A1 (en) * 2014-05-28 2015-12-03 Acer Incorporated Electronic device and data copy method between electronic devices
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10193987B2 (en) 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
US9357342B2 (en) * 2014-10-07 2016-05-31 Google Inc. Short-range wireless controller filtering and reporting
TWI574518B (zh) * 2015-01-08 2017-03-11 緯創資通股份有限公司 低耗電藍牙傳送設備和低耗電藍牙接收設備以及其方法
US9351154B1 (en) * 2015-02-23 2016-05-24 Microsoft Technology Licensing, Llc Wireless advertising to initiate pairing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150207850A1 (en) * 2012-09-11 2015-07-23 Google Inc. Clipboard
US20150332258A1 (en) * 2014-05-19 2015-11-19 Qualcomm Incorporated Identity Verification via Short-Range Wireless Communications

Also Published As

Publication number Publication date
AU2017275461A1 (en) 2018-11-22
US20200162876A1 (en) 2020-05-21
EP3437307A1 (en) 2019-02-06
WO2017210062A1 (en) 2017-12-07
KR102405113B1 (ko) 2022-06-02
EP3437307B1 (en) 2022-12-21
EP4161035A1 (en) 2023-04-05
AU2017275461B2 (en) 2020-04-16
KR20200142116A (ko) 2020-12-21
US9967697B2 (en) 2018-05-08
AU2020203815B2 (en) 2021-05-27
US10863338B2 (en) 2020-12-08
US20170347226A1 (en) 2017-11-30
KR20190002575A (ko) 2019-01-08
US20190335306A1 (en) 2019-10-31
CN115883587A (zh) 2023-03-31
AU2020203815A1 (en) 2020-07-02
CN109644201A (zh) 2019-04-16
US20170347227A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
KR102192701B1 (ko) 디바이스 간의 복사하기 및 붙이기
EP2624601B1 (en) Short-range radio communication system and method for operating the same
US10299110B2 (en) Information transmission method and system, device, and computer readable recording medium thereof
KR102135052B1 (ko) 네트워크 디바이스 간의 어플리케이션 데이터 전송 개시 및 완료를 위한 3차원 제스처 검출 시스템 및 방법
US20210204127A1 (en) Image Sharing Method and System, and Electronic Device
US20150128067A1 (en) System and method for wirelessly sharing data amongst user devices
TW201621706A (zh) 使用近場通訊來以權限控制進行共享內容
EP2696603A2 (en) Apparatus and method for communicating data in mobile device having near field communication module
US10693986B2 (en) Notification extensions for applications
WO2018049971A1 (zh) 热点网络切换方法及终端
JP2021007032A (ja) 遠隔キーボードサービスの提供
WO2015043405A1 (en) Service processing method, apparatus, and electronic device
EP3285542B1 (en) Service processing method and terminal
KR101973641B1 (ko) 이동 단말기 및 이동 단말기의 제어 방법
JP6806410B2 (ja) 異なるアプリケーションプログラムの間でコンテンツを転送するための方法および装置
EP2555499B1 (en) Mobile terminal and method of controlling the same

Legal Events

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