KR20190126949A - Forwarding activity-related information from source electronic devices to companion electronic devices - Google Patents

Forwarding activity-related information from source electronic devices to companion electronic devices Download PDF

Info

Publication number
KR20190126949A
KR20190126949A KR1020197032808A KR20197032808A KR20190126949A KR 20190126949 A KR20190126949 A KR 20190126949A KR 1020197032808 A KR1020197032808 A KR 1020197032808A KR 20197032808 A KR20197032808 A KR 20197032808A KR 20190126949 A KR20190126949 A KR 20190126949A
Authority
KR
South Korea
Prior art keywords
electronic device
activity
information
related information
source
Prior art date
Application number
KR1020197032808A
Other languages
Korean (ko)
Other versions
KR102097931B1 (en
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
Priority claimed from US14/841,410 external-priority patent/US10187770B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20190126949A publication Critical patent/KR20190126949A/en
Application granted granted Critical
Publication of KR102097931B1 publication Critical patent/KR102097931B1/en

Links

Images

Classifications

    • 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]
    • 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/542Event management; Broadcasting; Multicasting; Notifications

Abstract

설명된 실시예들은 소스 전자 디바이스로부터 동반 전자 디바이스(companion electronic device)로 액티비티를 전달한다. 소스 전자 디바이스는 소스 전자 디바이스의 제1 애플리케이션에서 수행된 액티비티를 설명하는 액티비티 정보를 수신하고, 액티비티에 대한 액티비티 식별자를 포함하는 액티비티 광고를 브로드캐스트한다. 액티비티 광고를 수신하는 경우, 동반 전자 디바이스는 제1 애플리케이션과 연관된 제2 애플리케이션이 동반 전자 디바이스에서 이용가능한지 여부를 결정한다. 제2 애플리케이션이 이용가능한 경우, 동반 전자 디바이스는 소스 전자 디바이스로부터 확장된 액티비티 데이터(extended activity data)를 획득하고, 확장된 액티비티 데이터를 사용하여 제2 애플리케이션을 구성하고, 동반 전자 디바이스의 제2 애플리케이션을 이용해 액티비티의 수행을 시작한다. 소스 전자 디바이스는 또한 액티비티 관련 정보(예를 들어, 소스 전자 디바이스 내의 복사 및 붙여넣기 클립보드로부터의 정보)를 동반 전자 디바이스로 포워드할 수 있다.The described embodiments transfer activities from a source electronic device to a companion electronic device. The source electronic device receives activity information that describes the activity performed in the first application of the source electronic device and broadcasts an activity advertisement that includes an activity identifier for the activity. Upon receiving the activity advertisement, the companion electronic device determines whether a second application associated with the first application is available at the companion electronic device. If a second application is available, the companion electronic device obtains extended activity data from the source electronic device, configures the second application using the extended activity data, and the second application of the companion electronic device. Use to start the activity. The source electronic device may also forward the activity related information (eg, information from the copy and paste clipboard in the source electronic device) to the companion electronic device.

Description

소스 전자 디바이스로부터 동반 전자 디바이스로의 액티비티 관련 정보 포워드{FORWARDING ACTIVITY-RELATED INFORMATION FROM SOURCE ELECTRONIC DEVICES TO COMPANION ELECTRONIC DEVICES}FORWARDING ACTIVITY-RELATED INFORMATION FROM SOURCE ELECTRONIC DEVICES TO COMPANION ELECTRONIC DEVICES}

관련 출원Related Applications

본 출원은 2014년 12월 30일자로 출원되고, 발명의 명칭이 "Activity Continuation between Electronic Devices"인 계류 중인 미국 특허 출원 제14/586,566호의 부분 계속 출원이며, 이에 의해 그에 대한 우선권을 주장한다. 본 출원은 또한 2014년 5월 30일자로 출원되고 그에 대해 모출원 제14/586,566호가 또한 우선권을 주장하는, 발명의 명칭이 "Activity Continuation between Electronic Devices"인 현재-만료된 미국 가특허 출원 제62/005,781호에 대한 우선권을 주장한다. 이들 출원 둘 모두가 참조로서 포함된다.This application is filed on December 30, 2014, and is a partial continuing application of pending US patent application Ser. No. 14 / 586,566, entitled "Activity Continuation between Electronic Devices," and claims priority thereto. The present application is also filed on May 30, 2014 and the presently-expired US Provisional Patent Application No. 62, entitled “Activity Continuation between Electronic Devices,” to which Application No. 14 / 586,566 also claims priority. Insist on priority over / 005,781. Both of these applications are incorporated by reference.

본 출원은 발명의 명칭이 "Companion Application for Activity Cooperation"이고, 발명자들 Marc J. Krochmal, Christopher S. Linn, John J. Iarocci, Geoffrey Stahl, 및 Jacques P. Gasselin de Richebourg에 의한, 본 출원과 동일한 날짜에 출원된, 대리인 사건 번호 제APL-P23129US1호인 계류 중인 미국 특허 출원 제14/586,511호에 관련된다. 본 출원은 또한 발명의 명칭이 "Operating Mode Transitions based on Advertising Information"이고, 발명자들 Craig P. Dooley, Akshay Mangalam Srivatsa, Anjali S. Sandesara, 및 Michael J. Giles에 의한, 2014년 9월 2일자로 출원된, 대리인 사건 번호 제APL-P22643US1호인 계류 중인 미국 특허 출원 제14/475,329호에 관련된다. 본 출원은 또한 발명의 명칭이 "Predefined Wireless Pairing"이고, 발명자들 Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, 및 Michael J. Giles에 의한, 2014년 9월 2일자로 출원된, 대리인 관리 번호 제APL-P22642US1호인 계류 중인 미국 특허 출원 제14/474,466호에 관련된다. 본 출원은 추가로, 발명의 명칭이 "Activity Continuation between Electronic Devices"이고, 발명자들 Christopher S. Linn, Keith Stattenfield, Christopher C. Jensen, Alexander R. Ledwith, David A. Carter, Marc J. Krochmal, John J. Iarocci, 및 Jonathan M. Grynspan에 의한, 2014년 12월 30일자로 출원되고, 대리인 관리 번호 제APL-P22791US1호인 계류 중인 미국 특허 출원 제14/586,566호에 관련된다. 위에서-기술된 출원들 각각은 본 명세서에서 참조로 포함된다.This application is entitled “Companion Application for Activity Cooperation” and is identical to the present application by inventors Marc J. Krochmal, Christopher S. Linn, John J. Iarocci, Geoffrey Stahl, and Jacques P. Gasselin de Richebourg. And pending US patent application Ser. No. 14 / 586,511, filed dated Agent Case No. APL-P23129US1. This application is also entitled "Operating Mode Transitions based on Advertising Information" and is published on 2 September 2014 by inventors Craig P. Dooley, Akshay Mangalam Srivatsa, Anjali S. Sandesara, and Michael J. Giles. And pending US patent application Ser. No. 14 / 475,329, filed, Agent Case No. APL-P22643US1. The present application is also entitled "Predefined Wireless Pairing" and is an agent, filed September 2, 2014 by inventors Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, and Michael J. Giles. No. APL-P22642US1, pending US patent application Ser. No. 14 / 474,466. This application is further entitled, “Activity Continuation between Electronic Devices”, and inventors Christopher S. Linn, Keith Stattenfield, Christopher C. Jensen, Alexander R. Ledwith, David A. Carter, Marc J. Krochmal, John J. Iarocci, and Jonathan M. Grynspan, filed December 30, 2014, and relates to pending US patent application Ser. No. 14 / 586,566, which is Agent Control No. APL-P22791US1. Each of the above-described applications is incorporated herein by reference.

기술분야Technical Field

개시된 실시예들은 전자 디바이스에 관한 것이다. 보다 상세하게는, 개시된 실시예들은 액티비티 관련 정보(activity-related information)를 소스 전자 디바이스로부터 동반 전자 디바이스(companion electronic device)로 포워드하는 것에 관한 것이다.The disclosed embodiments relate to electronic devices. More particularly, the disclosed embodiments relate to forwarding activity-related information from a source electronic device to a companion electronic device.

최근의 컴퓨터 기술의 진보는 제조업체들이 다양한 폼팩터로 강력한 컴퓨팅 디바이스들을 생산할 수 있게 하였고, 따라서 사용자들은 스마트폰 또는 태블릿과 같은 소형의 휴대용 디바이스를 사용하여 한때는 데스크톱이나 랩톱 컴퓨터를 필요로 했을 태스크들을 수행할 수 있게 하였다. 이러한 진보들로 인해, 사용자들은 종종 다니는 중에 스마트폰, 회의 중에 태블릿, 및 업무 시 랩톱 또는 데스크톱 컴퓨터와 같이 다수의 컴퓨팅 디바이스들을 소지하고 사용한다.Recent advances in computer technology have allowed manufacturers to produce powerful computing devices in a variety of form factors, so users can use small, portable devices such as smartphones or tablets to perform tasks that would have once required a desktop or laptop computer. Made it possible. Due to these advances, users often carry and use a number of computing devices, such as smart phones on the go, tablets during meetings, and laptops or desktop computers at work.

사용자가 비록 각각 강력한 컴퓨팅 능력들을 가지고 있는 상이한 디바이스들을 소지하고 있을지라도, 소정 경우들에서, 사용자는 수행되고 있는 태스크, 또는 사용자가 처해 있는 상황에 맞지 않는 디바이스를 사용하고 있는 자신을 발견할 수 있다. 예를 들어, 사용자가 스마트폰과 같이 소형 디스플레이 스크린을 가진 디바이스 상에 짧은 이메일로 의도된 것을 시작하였으나, 이메일이 예상보다 길게 된 경우, 디스플레이 스크린의 크기로 인해 이메일 내의 텍스트를 입력하고 편집하는데 곤란을 겪을 수 있다. 대안적으로, 사용자가 데스크톱 상에서 웹페이지를 읽거나 영화를 관람 중이었으나 데스크톱이 위치한 방을 나가야 할 수 있다. 비록 사용자가 다른 디바이스를 가져와서 태스크를 시작할 수 있으나, 이러한 것은 번거롭다.In some cases, the user may find himself using a device that does not fit the task being performed, or the situation in which the user is, even though the user has different devices, each with powerful computing capabilities. . For example, if a user has initiated an intended short email on a device with a small display screen, such as a smartphone, but the email is longer than expected, the size of the display screen makes it difficult to enter and edit text in the email. May suffer. Alternatively, the user may be reading a web page or watching a movie on the desktop but may have to leave the room where the desktop is located. Although the user can start the task by importing another device, this is cumbersome.

도 1은 일부 실시예들에 따른 전자 디바이스를 예시하는 블록도를 나타낸다.
도 2는 일부 실시예들에 따른 네트워크 환경을 예시하는 블록도를 나타낸다.
도 3은 일부 실시예들에 따른, 액티비티 광고 메시지(activity advertisement message)를 브로드캐스트하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 4는 일부 실시예들에 따른, 동반 전자 디바이스(companion electronic device)에서 이용가능한 액티비티들을 설명하는 액티비티 정보를 저장하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 5는 일부 실시예들에 따른, 확장된 액티비티 데이터(extended activity data)를 요청하고 액티비티를 전달하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 6은 일부 실시예들에 따른, 확장된 액티비티 데이터에 대한 요청에 응답하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 7은 일부 실시예들에 따른, 동반 전자 디바이스에 제2 애플리케이션이 이용가능한지 여부를 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 8은 일부 실시예들에 따른, 플래그를 사용하여 제2 애플리케이션을 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 9는 일부 실시예들에 따른, 광고된 액티비티들을 저장하고 있는 구조체 내의 엔트리를 액티비티 식별자(activity identifier)가 식별하는 경우 제2 애플리케이션이 이용가능한지 여부를 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 10은 일부 실시예들에 따른, 2개 이상의 액티비티 광고 메시지로부터 가장 최근의 액티비티를 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 11은 일부 실시예들에 따른 액티비티 정보를 예시하는 블록도를 나타낸다.
도 12는 일부 실시예들에 따른 광고된-액티비티 테이블(advertised-activity table)을 예시하는 블록도를 나타낸다.
도 13은 일부 실시예들에 따른 액티비티 광고 메시지를 예시하는 블록도를 나타낸다.
도 14는 일부 실시예들에 따른 재개가능-액티비티 표시(resumable-activity indication)를 예시하는 블록도를 나타낸다.
도 15는 일부 실시예들에 따른, 전자 디바이스들 사이에서 교환되는 메시지들을 예시하는 구획도(swim lane diagram)를 나타낸다.
도 16은 일부 실시예들에 따른 서로에 근접한 전자 디바이스들을 예시하는 블록도를 나타낸다.
도 17은 일부 실시예들에 따른, 소스 전자 디바이스로부터 동반 전자 디바이스로 액티비티 관련 정보를 포워드하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 18은 일부 실시예들에 따른 소스 전자 디바이스에 의해 생성된 액티비티 관련 정보 광고를 예시하는 블록도를 나타낸다.
도 19는 일부 실시예들에 따른, 소스 전자 디바이스로부터의 액티비티 관련 정보를, 동반 전자 디바이스에서 수신하기 위한 프로세스를 예시하는 흐름도를 나타낸다.
도 20은 일부 실시예들에 따른 액티비티 관련 정보 이용가능성 표시자를 예시하는 블록도를 나타낸다.
도면들에서, 유사한 도면 부호들은 동일한 도면 요소들을 지칭한다.
1 shows a block diagram illustrating an electronic device in accordance with some embodiments.
2 illustrates a block diagram illustrating a network environment in accordance with some embodiments.
3 shows a flow diagram illustrating a process for broadcasting an activity advertisement message, in accordance with some embodiments.
4 illustrates a flow diagram illustrating a process for storing activity information describing activities available at a companion electronic device, in accordance with some embodiments.
5 shows a flow diagram illustrating a process for requesting extended activity data and delivering the activity, in accordance with some embodiments.
6 shows a flowchart illustrating a process for responding to a request for extended activity data, in accordance with some embodiments.
7 shows a flowchart illustrating a process for determining whether a second application is available to a companion electronic device, in accordance with some embodiments.
8 shows a flow diagram illustrating a process for determining a second application using a flag, in accordance with some embodiments.
9 shows a flow diagram illustrating a process for determining whether a second application is available when an activity identifier identifies an entry in a structure that stores advertised activities, in accordance with some embodiments.
10 shows a flow diagram illustrating a process for determining the most recent activity from two or more activity advertising messages, in accordance with some embodiments.
11 illustrates a block diagram illustrating activity information in accordance with some embodiments.
12 shows a block diagram illustrating an advertised-activity table in accordance with some embodiments.
13 illustrates a block diagram illustrating an activity advertising message in accordance with some embodiments.
14 illustrates a block diagram illustrating a resumeable-activity indication in accordance with some embodiments.
15 illustrates a swim lane diagram illustrating messages exchanged between electronic devices, in accordance with some embodiments.
16 shows a block diagram illustrating electronic devices proximate to each other in accordance with some embodiments.
17 illustrates a flow diagram illustrating a process for forwarding activity related information from a source electronic device to a companion electronic device, in accordance with some embodiments.
18 illustrates a block diagram illustrating an activity related information advertisement generated by a source electronic device in accordance with some embodiments.
19 shows a flowchart illustrating a process for receiving, at a companion electronic device, activity related information from a source electronic device, in accordance with some embodiments.
20 illustrates a block diagram illustrating an activity related information availability indicator in accordance with some embodiments.
In the drawings, like reference numerals refer to the same figure elements.

아래의 설명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자가 설명된 실시예들을 실시 및 사용하는 것을 가능하게 하기 위해 제공되며, 특정 응용 및 그의 요건과 관련하여 제공된다. 설명된 실시예들에 대한 다양한 수정들이 통상의 기술자들에게 자명할 것이며, 본 명세서에서 정의되는 일반 원리들은 설명된 실시예들의 기술적 사상 및 범주로부터 벗어나지 않으면서 다른 실시예들 및 응용들에 적용될 수 있다. 따라서 설명된 실시예들은 도시된 실시예들로 제한되는 것이 아니라, 본 명세서에서 개시되는 원리들 및 특징들과 일치하는 가장 넓은 범주에 부합되어야 한다.The following description is provided to enable any person skilled in the art to practice and use the described embodiments, and is provided in connection with a particular application and its requirements. Various modifications to the described embodiments will be apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the described embodiments. have. Thus, the described embodiments are not to be limited to the illustrated embodiments, but should be accorded the widest scope consistent with the principles and features disclosed herein.

일부 실시예들에서, 전자 디바이스(예컨대, 도 1의 전자 디바이스(100) 및/또는 그 일부분)는 본 명세서에서 설명된 동작들 중 일부 또는 전부를 수행하도록 컴퓨터 판독가능 저장 매체에 저장된 코드 및/또는 데이터를 사용한다. 더욱 상세하게는, 전자 디바이스는 컴퓨터 판독가능 저장 매체로부터 코드 및/또는 데이터를 판독하고 설명된 동작들을 수행하는 경우 코드를 실행하고/하거나 데이터를 사용한다. 이들 실시예에서, 컴퓨터 판독가능 저장 매체는 전자 디바이스에 의한 사용을 위해 코드 및/또는 데이터를 저장하는 임의의 디바이스 또는 매체나 그 조합일 수 있다. 예를 들면, 컴퓨터 판독가능 저장 매체는, 휘발성 메모리 또는 비휘발성 메모리, 예컨대 반도체 메모리(예컨대, 플래시 메모리, 랜덤 액세스 메모리(eDRAM, RAM, SRAM, DRAM, DDR, DDR2/DDR3/DDR4 SDRAM 등) 등), 및/또는 자기 또는 광학 저장 매체(예컨대, 디스크 드라이브, 자기 테이프, CD, DVD)를 포함할 수 있지만, 이로 제한되지 않는다. 설명된 실시예들에서, 컴퓨터 판독가능 저장 매체는 일시적인 신호들과 같은 비-법정(non-statutory) 컴퓨터 판독가능 저장 매체를 포함하지 않는다.In some embodiments, the electronic device (eg, electronic device 100 and / or portions thereof) of the code and / or stored in a computer readable storage medium to perform some or all of the operations described herein. Or use data. More specifically, an electronic device reads code and / or data from a computer readable storage medium and executes code and / or uses data when performing the described operations. In these embodiments, the computer readable storage medium may be any device or medium or combination thereof that stores code and / or data for use by the electronic device. For example, computer-readable storage media may be, for example, volatile or nonvolatile memory, such as semiconductor memory (eg, flash memory, random access memory (eDRAM, RAM, SRAM, DRAM, DDR, DDR2 / DDR3 / DDR4 SDRAM, etc.), etc.). ) And / or magnetic or optical storage media (eg, disk drives, magnetic tapes, CDs, DVDs). In the described embodiments, the computer readable storage medium does not comprise a non-statutory computer readable storage medium such as temporary signals.

일부 실시예들에서, 하나 이상의 하드웨어 모듈은 본 명세서에 설명된 동작들을 수행하도록 구성된다. 예를 들면, 하드웨어 모듈들은, 하나 이상의 프로세서/코어/중앙 프로세싱 유닛(CPU), 응용 주문형 집적 회로(ASIC) 칩, 필드 프로그램가능 게이트 어레이(FPGA), 캐시/캐시 제어기, 메모리 관리 유닛, 컴퓨트 유닛, 임베디드 프로세서, 그래픽 프로세서(GPU)/그래픽 코어, 파이프라인(pipeline), 및/또는 다른 프로그램가능 로직 디바이스를 포함할 수 있지만, 이로 제한되지 않는다. 이러한 하드웨어 모듈들이 활성화될 때, 하드웨어 모듈들은 동작들 중 일부 또는 전부를 수행한다. 일부 실시예들에서, 하드웨어 모듈들은 동작들을 수행하기 위한 명령어들(프로그램 코드, 펌웨어 등)을 실행함으로써 구성되는 하나 이상의 범용 회로를 포함한다.In some embodiments, one or more hardware modules are configured to perform the operations described herein. For example, hardware modules may include one or more processor / core / central processing units (CPUs), application specific integrated circuits (ASIC) chips, field programmable gate arrays (FPGAs), cache / cache controllers, memory management units, computes. Units, embedded processors, graphics processors (GPU) / graphic cores, pipelines, and / or other programmable logic devices. When these hardware modules are activated, the hardware modules perform some or all of the operations. In some embodiments, hardware modules include one or more general purpose circuits configured by executing instructions (program code, firmware, etc.) to perform operations.

본 설명에서, 기능 블록들은 일부 실시예들의 설명 시에 지칭될 수 있다. 일반적으로, 기능 블록들은 설명된 동작들을 수행하는 하나 이상의 상호관련된 회로, 디바이스, 및/또는 메커니즘을 포함한다. 일부 실시예들에서, 기능 블록들 중 적어도 일부는 범용 프로세싱 회로들이 설명된 동작들을 수행하게 하는 프로그램 코드(예컨대, 마이크로코드, 펌웨어, 애플리케이션들 등)를 실행시키는 범용 프로세싱 회로들을 포함한다.In the present description, functional blocks may be referred to in the description of some embodiments. In general, the functional blocks include one or more interrelated circuits, devices, and / or mechanisms that perform the described operations. In some embodiments, at least some of the functional blocks include general purpose processing circuits that execute program code (eg, microcode, firmware, applications, etc.) to cause the general purpose processing circuits to perform the described operations.

개요summary

설명된 실시예들은 소스 전자 디바이스에서 수행되는 액티비티를 소스 전자 디바이스로부터 동반 전자 디바이스로 전달하는데, 이 프로세스는 동반 전자 디바이스에서 그 액티비티를 "계속하는 것(continuing)"으로 지칭된다. 설명된 실시예들에서, 전달을 수행하기 위해 소스 전자 디바이스는 소스 전자 디바이스의 제1 애플리케이션에서 수행된 액티비티를 설명하는 정보를 동반 전자 디바이스로 전송한다. 동반 전자 디바이스는 이어서 정보의 일부 또는 전부를 사용하여, 대응하는 액티비티를 수행하도록 동반 전자 디바이스의 제2 애플리케이션을 구성한다. 일반적으로, 액티비티는 적어도 부분적으로 소스 전자 디바이스에서 수행되고 동반 전자 디바이스로 전달되는/동반 전자 디바이스 상에서 계속되는 하나 이상의 동작을 포함한다. 액티비티들의 예로는 문서(예컨대, 워드 프로세싱 문서, 스프레드시트, 프리젠테이션, 또는 다른 유형의 문서) 읽기 및/또는 편집하기, 이메일 메시지, 이메일, 음성 메시지 또는 비디오 작성하기, 메모 초안 작성하기(draft), 웹사이트 액세스(브라우징)하기, 영화 관람, 오디오 파일 재생하기, 또는 그렇지 않으면 애플리케이션이나 앱을 사용하여 대응하는 동작 수행하기가 포함된다.The described embodiments transfer activities performed at the source electronic device from the source electronic device to the companion electronic device, which process is referred to as "continuing" the activity at the companion electronic device. In the described embodiments, to perform the delivery, the source electronic device transmits information describing the activity performed in the first application of the source electronic device to the companion electronic device. The companion electronic device then uses some or all of the information to configure the second application of the companion electronic device to perform the corresponding activity. In general, an activity includes one or more operations performed at least in part on the source electronic device and continued on / toward the accompanying electronic device. Examples of activities include reading and / or editing a document (eg, a word processing document, spreadsheet, presentation, or other type of document), creating an email message, email, voice message or video, drafting a note. , Accessing (browsing) a website, watching a movie, playing an audio file, or otherwise performing a corresponding action using an application or app.

일부 실시예들에서, 소스 디바이스로부터 동반 디바이스로 액티비티를 전달할 경우, 소스 전자 디바이스는 우선 무선 네트워크 인터페이스(예컨대, 블루투스 로우 에너지(Bluetooth low energy, BLE), 지그비(ZigBee) 등)를 사용하여 액티비티 광고 메시지("액티비티 광고"로도 지칭됨)를 브로드캐스트한다. 일부 실시예들에서, 소스 전자 디바이스는 소스 전자 디바이스의 제1 애플리케이션에서 수행된 액티비티에 대한 액티비티 식별자를 생성하고, 액티비티 광고 메시지 내에 액티비티 식별자를 포함한다. 소스 전자 디바이스는 제1 애플리케이션로부터 수신되는 액티비티를 설명하는 액티비티 정보를 사용하여 동작들(예를 들어, 해시 동작 등)의 세트를 수행함으로써 액티비티 식별자를 생성한다. 액티비티 정보의 예들에 대해 도 11을 참조하여 아래에서 보다 상세히 설명한다.In some embodiments, when transferring an activity from a source device to a companion device, the source electronic device first uses the wireless network interface (eg, Bluetooth low energy (BLE), ZigBee, etc.) to advertise the activity. Broadcast a message (also referred to as an "activity advertisement"). In some embodiments, the source electronic device generates an activity identifier for the activity performed in the first application of the source electronic device and includes the activity identifier in the activity advertisement message. The source electronic device generates an activity identifier by performing a set of operations (eg, a hash operation, etc.) using the activity information describing the activity received from the first application. Examples of activity information are described in more detail below with reference to FIG.

동반 전자 디바이스는, 액티비티 광고를 브로드캐스트한 소스 전자 디바이스 내의 네트워크 인터페이스에 대응하는 네트워크 인터페이스 상에서 액티비티 광고 메시지에 대해 네트워크(예컨대, 블루투스 로우 에너지 네트워크)를 모니터링한다. 소스 전자 디바이스로부터 브로드캐스트된 액티비티 광고를 검출하는 경우, 동반 전자 디바이스는 동반 전자 디바이스에서 이용가능한 액티비티들에 대한 액티비티 식별자들을 액티비티 광고 메시지 내의 액티비티 식별자와 비교한다. 동반 전자 디바이스는 이러한 비교를 사용하여, 제1 애플리케이션에서 수행된 액티비티에 대응하는 액티비티를 수행할 수 있는 제2 애플리케이션이 동반 전자 디바이스에서 이용가능한지 여부를 결정한다.The companion electronic device monitors the network (eg, Bluetooth low energy network) for the activity advertisement message on the network interface corresponding to the network interface in the source electronic device that broadcasted the activity advertisement. Upon detecting the activity advertisement broadcast from the source electronic device, the companion electronic device compares the activity identifiers for the activities available at the companion electronic device to the activity identifier in the activity advertisement message. The companion electronic device uses this comparison to determine whether a second application capable of performing an activity corresponding to the activity performed in the first application is available at the companion electronic device.

일부 실시예들에서, 제2 애플리케이션이 이용가능하다고 결정하는 경우, 동반 전자 디바이스는 통신 채널을 통해(예컨대, 액티비티 광고 메시지를 수신하는 데 사용된 동일한 무선 네트워크 인터페이스, 또는 무선 및/또는 유선의 상이한 네트워크 인터페이스를 사용하여) 소스 전자 디바이스와의 통신을 설정한다. 동반 전자 디바이스는 이어서 통신 채널을 사용하여, 제1 애플리케이션에서 수행된 액티비티에 대한 확장된 액티비티 데이터를 소스 전자 디바이스로부터 요청한다. 일부 실시예들에서, 확장된 액티비티 데이터에 대한 요청을 수신하는 경우, 소스 전자 디바이스는 동일한(또는 상이한) 통신 채널을 사용하여 확장된 액티비티 데이터를 동반 전자 디바이스에 제공한다. 일반적으로, 확장된 액티비티 데이터는 문서 식별자, 스크롤 위치, URL(uniform resource locator) 등과 같이 제1 애플리케이션에서 수행된 액티비티에 관련된 액티비티를 계속하도록 동반 전자 디바이스 내의 제2 애플리케이션을 구성하도록 사용될 수 있는 정보를 포함한다.In some embodiments, when determining that the second application is available, the companion electronic device may communicate via a communication channel (eg, the same wireless network interface used to receive the activity advertisement message, or different wireless and / or wired). Establish communication with the source electronic device) using a network interface. The companion electronic device then uses the communication channel to request extended activity data from the source electronic device for the activity performed in the first application. In some embodiments, upon receiving a request for extended activity data, the source electronic device provides extended activity data to the companion electronic device using the same (or different) communication channel. Generally, extended activity data includes information that can be used to configure a second application in the companion electronic device to continue activities related to the activity performed in the first application, such as document identifier, scroll position, uniform resource locator (URL), and the like. Include.

일부 실시예들에서, 동반 전자 디바이스는 액티비티 식별자 및/또는 확장된 액티비티 데이터를 사용하여 소스 전자 디바이스의 제1 애플리케이션에서 수행된 액티비티에 대응하는 액티비티를 수행하도록 제2 애플리케이션을 구성한다. 동반 전자 디바이스는 이어서 동반 전자 디바이스의 제2 애플리케이션에서 액티비티 수행을 시작한다. 예를 들어, 동반 전자 디바이스가 제2 애플리케이션을 구성한 후, 사용자는 동반 전자 디바이스를 사용하여, 사용자가 소스 전자 디바이스에서 작업하고 있었던 문서 상에서 계속해서 작업하거나, 사용자가 소스 전자 디바이스에서 관람하고 있었던 영화를 계속해서 관람하거나, 사용자가 소스 전자 디바이스에서 브라우징하고 있었던 웹페이지를 계속해서 브라우징하는 등을 수행할 수 있다. 일부 실시예들에서, 동반 전자 디바이스는 액티비티가 제2 애플리케이션으로 전달되었음을 나타내기 위해 통지를 소스 전자 디바이스로 전송한다. 통지는 소스 전자 디바이스 및/또는 제1 애플리케이션으로 하여금, 액티비티에 대한 문서 초안 삭제하기, 액티비티에 대해 열린 문서 닫기 등과 같은 하우스키핑 태스크(housekeeping task)를 수행하게 할 수 있다.In some embodiments, the companion electronic device configures the second application to perform the activity corresponding to the activity performed in the first application of the source electronic device using the activity identifier and / or the extended activity data. The companion electronic device then begins to perform the activity in the second application of the companion electronic device. For example, after the companion electronic device configures the second application, the user may use the companion electronic device to continue working on the document the user was working on the source electronic device, or the movie the user was watching on the source electronic device. Or continue browsing the webpage that the user was browsing on the source electronic device. In some embodiments, the companion electronic device sends a notification to the source electronic device to indicate that the activity has been delivered to the second application. The notification may cause the source electronic device and / or the first application to perform a housekeeping task, such as deleting a document draft for the activity, closing an open document for the activity, and the like.

일부 실시예들에서, 전술된 액티비티 식별자 및/또는 확장된 액티비티 데이터에 더하여, 소스 전자 디바이스는 액티비티 관련 정보를 동반 전자 디바이스로 포워드한다. 예를 들어, 일부 실시예들에서, 소스 전자 디바이스는 소스 전자 디바이스 내의 복사 및 붙여넣기 클립보드(또는 "클립보드")의 내용의 일부 또는 전부를 동반 전자 디바이스로 포워드한다. 액티비티 관련 정보를 수신하는 경우, 동반 전자 디바이스는 동반 전자 디바이스에서 액티비티들(예컨대, 전달된 액티비티들 또는 다른 액티비티들)을 수행하기 위한 액티비티 관련 정보를 제공한다. 예를 들어, 클립보드의 내용의 일부 또는 전부가 소스 전자 디바이스로부터 포워드되는 실시예들에서, 동반 전자 디바이스는 동반 전자 디바이스 내의 클립보드의 기존 내용의 일부 또는 전부를 소스 전자 디바이스로부터 수신된 클립보드의 내용으로 겹쳐쓰기할 수 있다. 이러한 방식으로, 동반 전자 디바이스는 소스 전자 디바이스로부터의 클립보드의 내용(즉, 액티비티 관련 정보)을 동반 전자 디바이스 내의 액티비티들에 이용가능하게 만들 수 있다. 예를 들어, 소스 전자 디바이스 내의 클립보드에 복사된(또는 다른 식으로 그에 배치된) 텍스트, 이미지, 비디오, 사운드, 파일, 필드, 및/또는 다른 정보는, 동반 전자 디바이스의 클립보드를 통해, 동반 전자 디바이스에서의 액티비티들에 이용가능하게 될 수 있다.In some embodiments, in addition to the activity identifier and / or extended activity data described above, the source electronic device forwards the activity related information to the companion electronic device. For example, in some embodiments, the source electronic device forwards some or all of the contents of the copy and paste clipboard (or “clipboard”) in the source electronic device to the companion electronic device. Upon receiving activity related information, the companion electronic device provides activity related information for performing activities (eg, delivered activities or other activities) at the companion electronic device. For example, in embodiments in which some or all of the contents of the clipboard are forwarded from the source electronic device, the companion electronic device may receive some or all of the existing content of the clipboard in the companion electronic device from the clipboard. Can be overridden by the contents of In this manner, the companion electronic device may make the contents of the clipboard (ie, activity related information) from the source electronic device available to activities in the companion electronic device. For example, text, images, video, sound, files, fields, and / or other information copied to (or otherwise placed on) the clipboard within the source electronic device may be sent via the companion electronic device's clipboard, It can be made available to activities in the companion electronic device.

소스 전자 디바이스에서 수행된 액티비티를 동반 전자 디바이스에서 계속하기 위한 전술된 동작들을 수행함으로써, 설명된 실시예들은 사용자가 끊김없이(seamlessly), 그리고 복잡한 사용자 개입 없이 태스크를 계속할 수 있게 한다. 이는 사용자가 원하는 전자 디바이스 상에서 태스크를 보다 용이하게 수행할 수 있게 하며, 이는 2개 이상의 전자 디바이스를 사용하는 사용자의 전반적 경험을 향상시킬 수 있다.By performing the above-described operations for continuing the activity performed at the source electronic device at the companion electronic device, the described embodiments allow the user to continue the task seamlessly and without complex user intervention. This makes it easier for the user to perform the task on the desired electronic device, which may improve the overall experience of the user using two or more electronic devices.

전자 디바이스Electronic devices

도 1은 일부 실시예들에 따른 전자 디바이스(100)를 예시하는 블록도를 나타낸다. 전자 디바이스(100)는 프로세싱 서브시스템(102), 메모리 서브시스템(104), 네트워킹 서브시스템(106), 및 디스플레이 서브시스템(108)을 포함한다.1 shows a block diagram illustrating an electronic device 100 in accordance with some embodiments. The electronic device 100 includes a processing subsystem 102, a memory subsystem 104, a networking subsystem 106, and a display subsystem 108.

프로세싱 서브시스템(102)은 전자 디바이스(100)에서 계산 동작을 수행하는 기능 블록이다. 프로세싱 서브시스템(102)은 하나 이상의 중앙 프로세싱 유닛(CPU)/CPU 코어, 그래픽 처리 유닛(GPU)/GPU 코어, 임베디드 프로세서, 응용 주문형 집적 회로(ASIC), 및/또는 다른 연산 메커니즘을 포함한다.Processing subsystem 102 is a functional block that performs a calculation operation on electronic device 100. Processing subsystem 102 includes one or more central processing units (CPUs) / CPU cores, graphics processing units (GPUs) / GPU cores, embedded processors, application specific integrated circuits (ASICs), and / or other computing mechanisms.

메모리 서브시스템(104)은 전자 디바이스(100) 내의 다른 기능 블록들(예컨대, 프로세싱 서브시스템(102) 등)에 의해 사용되기 위한 데이터 및/또는 명령어들을 저장하는 기능 블록이다. 메모리 서브시스템(104)은 휘발성 메모리 회로들, 예컨대 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 및/또는 명령어들 및 데이터를 저장하기 위해 사용되는 다른 유형의 메모리는 물론 메모리 회로들을 제어하기 위한 메커니즘들을 포함한다. 일부 실시예들에서, 메모리 서브시스템(104)은 메모리 회로들에 결합된 하나 이상의 캐시를 갖는 메모리 계층구조를 포함한다. 이러한 실시예들 중 일부 실시예들에서, 프로세싱 서브시스템(102)은 또한 메모리 계층구조의 일부인 하나 이상의 캐시를 포함한다.Memory subsystem 104 is a functional block that stores data and / or instructions for use by other functional blocks within electronic device 100 (eg, processing subsystem 102, etc.). Memory subsystem 104 is a memory circuit as well as volatile memory circuits, such as dynamic random access memory (DRAM), static random access memory (SRAM), and / or other types of memory used for storing instructions and data. Mechanisms for controlling them. In some embodiments, memory subsystem 104 includes a memory hierarchy having one or more caches coupled to memory circuits. In some of these embodiments, processing subsystem 102 also includes one or more caches that are part of the memory hierarchy.

일부 실시예들에서, 메모리 서브시스템(104)은 하나 이상의 비휘발성 고용량의 대용량 저장 디바이스(도시되지 않음)에 결합된다. 예를 들어, 메모리 서브시스템(104)은 자기 또는 광학 드라이브, 솔리드 스테이트 드라이브, 또는 다른 유형의 대용량 저장 디바이스에 결합될 수 있다. 이들 실시예에서, 메모리 서브시스템(104)은 종종-사용되는 데이터에 대한 고속-액세스 저장소로서 전자 디바이스(100)에 의해 사용될 수 있는 한편, 대량-저장 디바이스는 덜 빈번하게 사용되는 데이터를 저장하기 위해 사용된다.In some embodiments, memory subsystem 104 is coupled to one or more nonvolatile high capacity mass storage devices (not shown). For example, memory subsystem 104 may be coupled to a magnetic or optical drive, a solid state drive, or other type of mass storage device. In these embodiments, memory subsystem 104 may be used by electronic device 100 as a fast-access storage for often-used data, while mass-storage devices may store less frequently used data. Used for.

네트워킹 서브시스템(106)은 유선 및/또는 무선 네트워크에 결합하고 그를 통해 통신하도록(즉, 네트워크 동작들을 수행하도록) 구성되는 하나 이상의 디바이스를 포함하는 기능 블록이다. 예를 들어, 네트워킹 서브시스템(106)은 블루투스(Bluetooth)™ 네트워킹 시스템, 셀룰러 네트워킹 시스템(예로서, UMTS, LTE 등과 같은 3G/4G 네트워크), USB(universal serial bus) 네트워킹 시스템, IEEE 802.11, 802.15 등에서 설명되는 표준들에 기초한 네트워킹 시스템(예로서, 지그비, 와이파이(Wi-Fi) 네트워킹 시스템 등), 이더넷 네트워킹 시스템, 및/또는 다른 네트워킹 시스템을 포함할 수 있다. 네트워킹 서브시스템(106)은 각각의 지원되는 네트워킹 시스템에 결합하고, 그를 통해 통신하고, 그에 대한 데이터 및 이벤트들을 처리하는 데 사용되는 프로세서들, 제어기들, 라디오들/안테나들, 소켓들/플러그들, 및/또는 다른 디바이스들을 포함한다. 아래의 설명에서는, 각각의 네트워크 시스템에 대한 네트워크에 결합하고, 그를 통해 통신하고, 그에 대한 데이터 및 이벤트들을 처리하는 데 사용되는 메커니즘들은 총괄하여 네트워크 시스템에 대한 "인터페이스" 또는 "네트워크 인터페이스"로서 지칭된다.Networking subsystem 106 is a functional block that includes one or more devices that are configured to couple to and communicate with (ie, perform network operations) through a wired and / or wireless network. For example, networking subsystem 106 may include a Bluetooth ™ networking system, a cellular networking system (eg, 3G / 4G networks such as UMTS, LTE, etc.), a universal serial bus (USB) networking system, IEEE 802.11, 802.15 Networking systems (eg, Zigbee, Wi-Fi networking systems, etc.), Ethernet networking systems, and / or other networking systems based on the standards described in, and the like. Networking subsystem 106 is coupled to each supported networking system, communicates through it, processors, controllers, radios / antennas, sockets / plugs used to process data and events therefor. , And / or other devices. In the description below, the mechanisms used to couple to, communicate over, and process data and events for each network system are collectively referred to as an "interface" or "network interface" for the network system. do.

디스플레이 서브시스템(108)은 전자 디바이스(100)에 대한 시각적 인터페이스 상에 정보를 디스플레이하도록 구성된 하나 이상의 디바이스를 포함하는 기능 블록이다. 예를 들어, 일부 실시예들에서, 디스플레이 서브시스템(108)은 그래픽 프로세서들(GPUs), 그래픽 카드들, 및/또는 정보를 디스플레이하기 위해 사용되는 디스플레이 스크린들을 포함한다.Display subsystem 108 is a functional block that includes one or more devices configured to display information on a visual interface to electronic device 100. For example, in some embodiments, display subsystem 108 includes display screens used to display graphics processors (GPUs), graphics cards, and / or information.

일부 실시예들에서, 구성요소들 사이의 화살표시선에 의해 나타낸 바와 같이, 통신 경로들(하나 이상의 버스, 배선, 및/또는 연결부를 포함함)이 전자 디바이스(100) 내의 기능 블록들(프로세싱 서브시스템(102), 메모리 서브시스템(104) 등) 사이에 결합된다. 통신 경로들은 구성요소들 사이에서 커맨드, 데이터, 이벤트 통지, 및/또는 다른 정보를 송신하기 위해 사용된다.In some embodiments, communication paths (including one or more buses, wires, and / or connections), as indicated by the arrows of the lines between the components, may be functional blocks within the electronic device 100 (processing subs). System 102, memory subsystem 104, etc.). Communication paths are used to transmit commands, data, event notifications, and / or other information between components.

특정 컴포넌트들이 전자 디바이스(100)를 설명하는 데 사용되지만, 일부 실시예들에서는 상이한 컴포넌트들 및/또는 서브시스템들이 전자 디바이스(100)에 존재할 수 있다. 예를 들어, 전자 디바이스(100)는 하나 이상의 추가 프로세싱 서브시스템(102), 메모리 서브시스템(104) 등을 포함할 수 있다. 추가적으로, 서브시스템들 중 하나 이상이 전자 디바이스(100) 내에 존재하지 않을 수 있거나, 또는 서브시스템의 기능들 중 일부 또는 전부가 다른 서브시스템들 내에 통합될 수 있다. 더욱이, 일부 실시예들에서, 전자 디바이스(100)는 도 1에 도시되지 않은 하나 이상의 추가 서브시스템을 포함할 수 있다. 예를 들어, 전자 디바이스(100)는 데이터 수집 서브시스템, 오디오 및/또는 비디오 서브시스템, 알람 서브시스템, 미디어 프로세싱 서브시스템, 및/또는 입출력(I/O) 서브시스템을 포함할 수 있지만, 이에 제한되지 않는다.Although specific components are used to describe the electronic device 100, in some embodiments different components and / or subsystems may exist in the electronic device 100. For example, electronic device 100 may include one or more additional processing subsystems 102, memory subsystem 104, and the like. Additionally, one or more of the subsystems may not be present in the electronic device 100, or some or all of the functions of the subsystem may be integrated into other subsystems. Moreover, in some embodiments, electronic device 100 may include one or more additional subsystems not shown in FIG. 1. For example, electronic device 100 may include, but is not limited to, a data collection subsystem, an audio and / or video subsystem, an alarm subsystem, a media processing subsystem, and / or an input / output (I / O) subsystem. It is not limited.

전자 디바이스(100)는 연산 동작들을 수행하는 임의의 디바이스일 수 있거나, 그에 포함될 수 있다. 예를 들어, 전자 디바이스(100)는 데스크톱 컴퓨터, 랩톱 컴퓨터, 웨어러블 컴퓨팅 디바이스, 태블릿 컴퓨터, 스마트폰, 서버, 네트워크 기기, 장난감, 오디오-비주얼 장비(예컨대, 수신기, 셋톱 박스, 애플 TV 등), 자동차(예컨대, 차량 인터페이스 시스템, 내비게이션 시스템, 헤드-업 디스플레이 등), 가전 기기, 제어기 등, 및/또는 그들의 조합일 수 있거나, 그에 포함될 수 있다. (애플 TV는 미국 캘리포니아주, 쿠퍼티노 소재의 애플 인크.(Apple Inc.)의 등록 상표이다).The electronic device 100 may be or include any device that performs computational operations. For example, electronic device 100 may be a desktop computer, laptop computer, wearable computing device, tablet computer, smartphone, server, network device, toy, audio-visual equipment (eg, receiver, set top box, Apple TV, etc.), Automobiles (eg, vehicle interface systems, navigation systems, head-up displays, etc.), consumer electronics, controllers, and the like, and / or combinations thereof. (Apple TV is a registered trademark of Apple Inc., Cupertino, California).

네트워크 환경Network environment

도 2는 일부 실시예들에 따른 네트워크 환경을 예시하는 블록도를 나타낸다. 도 2에서 볼 수 있는 것과 같이, 네트워크 환경(200)은 소스 전자 디바이스(202), 동반 전자 디바이스(204), 제2 소스 전자 디바이스(206)(총괄하여 "전자 디바이스"로 지칭됨)를 포함한다. 일부 실시예들에서, 전자 디바이스들 각각은 전자 디바이스(100)와 유사한 전자 디바이스로서, 즉, 전자 디바이스(100)와 유사한 서브시스템을 갖는다. 그러나, 이는 필수적인 것은 아니며; 설명된 실시예들은 본 명세서에 설명된 동작을 수행할 수 있는 임의의 전자 디바이스를 사용할 수 있다.2 illustrates a block diagram illustrating a network environment in accordance with some embodiments. As can be seen in FIG. 2, the network environment 200 includes a source electronic device 202, a companion electronic device 204, and a second source electronic device 206 (collectively referred to as “electronic device”). do. In some embodiments, each of the electronic devices is an electronic device similar to electronic device 100, that is, has a subsystem similar to electronic device 100. However, this is not essential; The described embodiments can use any electronic device capable of performing the operations described herein.

소스 전자 디바이스(202) 및 제2 소스 전자 디바이스(206)는 액티비티 전달 동작과 관련하여 동반 전자 디바이스(204)와의 통신의 교환에 참여하는 전자 디바이스들이다. 일부 실시예들에서, 소스 전자 디바이스(202)(및/또는 제2 소스 전자 디바이스(206))는 동반 전자 디바이스(204)에 의해 인식되는 전자 디바이스로서, 따라서 액티비티 전달 동작에 참여하도록 허용된다. 예를 들어, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204) 둘 모두는 동일한 계정을 사용하는 서비스 제공자에 등록되었을 수 있으며, 따라서 각각의 전자 디바이스 내에 저장된 정보를 통해 서로를 인식할 수 있다. 예를 들어, 일부 실시예들에서, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)는 예비 페어링 동작, 예컨대, 미리정의된 페어링에 참여하며(그리고 이를 통해 획득된 정보를 통해 서로를 인식함), 이는 전술된 바와 같이 참조로서 편입되는, 발명의 명칭이 "Predefined Wireless Pairing"이고, 발명자들 Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, 및 Michael Giles에 의한, 본 출원과 동일한 날짜에 출원된, 대리인 사건 번호 제APL-P22642USP1호인 계류 중인 미국 특허 출원 제xx/xxx,xxx호에 설명된 바와 같다. 일부 실시예들에서, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)는 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)가 후속적으로 서로를 인식하도록 디바이스간 식별 인자(암호화 키, 인증서 등)의 교환에 참여할 수 있다.Source electronic device 202 and second source electronic device 206 are electronic devices that participate in an exchange of communication with companion electronic device 204 in connection with an activity delivery operation. In some embodiments, the source electronic device 202 (and / or the second source electronic device 206) is an electronic device recognized by the companion electronic device 204 and thus is allowed to participate in an activity delivery operation. For example, both the source electronic device 202 and the companion electronic device 204 may have been registered with a service provider using the same account, and thus may recognize each other through information stored within each electronic device. For example, in some embodiments, source electronic device 202 and companion electronic device 204 participate in a preliminary pairing operation, such as a predefined pairing (and recognize each other through the information obtained thereby). ), Which is named "Predefined Wireless Pairing", incorporated by reference as described above, and on the same date as the present application by inventors Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, and Michael Giles. As described in pending US patent application Ser. No. APL-P22642USP1, filed at No. xx / xxx, xxx. In some embodiments, source electronic device 202 and companion electronic device 204 may include an inter-device identification factor (encryption key, certificate) such that source electronic device 202 and companion electronic device 204 subsequently recognize each other. Etc.) may participate in the exchange.

네트워크 환경(200) 내에서, 동반 전자 디바이스(204)는 무선 통신 신호(208)(도 2에서 "통신 신호(208)"로 라벨링된 지그재그 선을 사용하여 예시됨)를 사용하여 소스 전자 디바이스(202) 및 제2 소스 전자 디바이스(206)와 통신할 수 있다. 일부 실시예들에서, 통신 신호(208)는 대응하는 무선 프로토콜에 따라 - 예를 들어, 블루투스, 지그비와 같은 무선 네트워크 프로토콜, 802.11-기반 프로토콜, 및/또는 다른 무선 네트워크 프로토콜을 통해 - 포맷 및 교환(브로드캐스트, 송신/수신 등)된다. 일부 실시예들에서, 통신 신호(208)의 일부 또는 전부가 예컨대, 유선 이더넷, 유선 LAN, 유선 WAN 등의 신호와 같은 유선 통신 신호로서 통신된다.Within the network environment 200, the companion electronic device 204 uses a wireless communication signal 208 (illustrated using a zigzag line labeled “communication signal 208” in FIG. 2) to the source electronic device ( 202 and the second source electronic device 206. In some embodiments, communication signal 208 is formatted and exchanged in accordance with a corresponding wireless protocol—for example, via a wireless network protocol such as Bluetooth, Zigbee, an 802.11-based protocol, and / or other wireless network protocol. (Broadcast, send / receive, etc.). In some embodiments, some or all of the communication signal 208 is communicated as a wired communication signal, such as, for example, a wired Ethernet, wired LAN, wired WAN, or the like.

일부 실시예들에서, 본 명세서에 설명된 액티비티 전달 동작은, 각각의 전자 디바이스에 의해 전송된 통신 신호(208)(및 따라서 통합된 메시지)가 다른 전자 디바이스에 의해 수신될 수 있도록 서로에 충분히 가까운 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)에 의존한다. 다시 말하면, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)는 서로에게 "근접"하게 있고, 따라서 전자 디바이스들 사이의 메시지 교환을 가능하게 한다. 따라서 본 명세서에서 사용되는 "근접"은 주어진 전자 디바이스로부터 브로드캐스트/전송된 메시지들이 하나 이상의 다른 전자 디바이스에 의해 수신될 수 있는 거리(들)를 표현한다. 이러한 거리는 전자 디바이스 내의 무선 장비(안테나, 수신기/송신기 등), 및 환경적 조건(전자기 간섭 등), 매개 물체(가구, 벽, 옷/가방 등) 등과 같은 인자들에 의해 한정되는, 메시지를 브로드캐스트/전송하는 데 사용되는 특정 무선 프로토콜/신호에 의해 좌우된다. 예를 들어, 일부 실시예들에서, 통신 신호(208)는 소스 전자 디바이스(202)와 동반 전자 디바이스(204) 사이에서 30 미터의 예상 범위를 갖는 프로토콜을 사용하여 교환되며, 따라서 디바이스들이 서로에 대해 30 미터 내에 있을 때 디바이스들은 "근접"하게 된다(다만, 예상 범위는 전술된 인자들에 의해 현저하게 변경될 수 있음을 유의한다).In some embodiments, the activity delivery operations described herein are sufficiently close to each other so that the communication signal 208 (and thus the integrated message) sent by each electronic device can be received by other electronic devices. Depends on source electronic device 202 and companion electronic device 204. In other words, the source electronic device 202 and the companion electronic device 204 are "close to" each other, thus enabling message exchange between the electronic devices. Thus, as used herein, “close” refers to the distance (s) in which messages broadcast / sent from a given electronic device can be received by one or more other electronic devices. This distance is broadened by radio equipment (antennas, receivers / transmitters, etc.) and electronic conditions within the electronic device, and factors such as environmental conditions (such as electromagnetic interference), intermediary objects (furniture, walls, clothes / bags, etc.). It depends on the specific radio protocol / signal used to cast / transmit. For example, in some embodiments, the communication signal 208 is exchanged using a protocol having an expected range of 30 meters between the source electronic device 202 and the companion electronic device 204, thus allowing devices to communicate with each other. Devices are "close" when within about 30 meters (but note that the expected range may be significantly changed by the factors described above).

도 16은 일부 실시예들에 따른 서로에 근접한 전자 디바이스들을 예시하는 블록도를 나타낸다. 도 16에서 볼 수 있듯이, 동반 전자 디바이스(204)는 소스 전자 디바이스(202)에 대한 무선 신호(예컨대, 통신 신호(208))에 대해 범위(1602) 내에 있으며, 이는 동반 전자 디바이스(204)가 소스 전자 디바이스(202)로부터 전송된 무선 신호를 수신할 수 있음을 의미한다. 추가적으로, 소스 전자 디바이스(202)는 동반 전자 디바이스(204)에 대한 무선 신호(예컨대, 통신 신호(208))에 대해 범위(1604) 내에 있으며, 이는 소스 전자 디바이스(202)가 동반 전자 디바이스(204)로부터 전송된 무선 신호를 수신할 수 있음을 의미한다. 따라서 전술된 바와 같이, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)는 서로에게 "근접"하게 있고, 따라서 본 발명에 설명된 메시지들의 통신(및 대응하는 동작들)을 가능하게 한다. 그러나, 소스 전자 디바이스(202)나 동반 전자 디바이스(204) 중 어느 것도 전자 디바이스(1600)에 대한 무선 신호의 범위(1606) 내에 있지 않으며, 이는 소스 전자 디바이스(202)나 동반 전자 디바이스(204) 중 어느 것도 전자 디바이스(1600)에 근접하지 않음을 의미한다. 도 16의 범위들(1602 내지 1606)은 불규칙한 형상을 사용하여 도시됨으로써, 전자 디바이스들로부터의 무선 신호가 전자 디바이스(안테나 배열 등), 전술된 인자 등에 따라 불규칙한 범위를 가진다는 것을 예시함을 유의한다.16 shows a block diagram illustrating electronic devices proximate to each other in accordance with some embodiments. As can be seen in FIG. 16, companion electronic device 204 is within range 1602 for a wireless signal (eg, communication signal 208) for source electronic device 202, which is associated with companion electronic device 204. It means that it can receive the wireless signal transmitted from the source electronic device 202. In addition, the source electronic device 202 is within range 1604 for a wireless signal (eg, communication signal 208) for the companion electronic device 204, such that the source electronic device 202 is accompanied by the companion electronic device 204. Means that the wireless signal transmitted from the Rx can be received. Thus, as described above, the source electronic device 202 and the companion electronic device 204 are in close proximity to each other, thus enabling communication (and corresponding operations) of the messages described herein. However, neither the source electronic device 202 nor the companion electronic device 204 is within the range 1606 of the wireless signal for the electronic device 1600, which is the source electronic device 202 or the companion electronic device 204. None of them are close to the electronic device 1600. It should be noted that the ranges 1602-1606 of FIG. 16 are shown using an irregular shape, thereby illustrating that the wireless signal from the electronic devices has an irregular range in accordance with the electronic device (antenna arrangement, etc.), the factors described above, and the like. do.

일부 실시예들에서, 전자 디바이스들 사이에 통신되는 메시지, 데이터 등은 암호화된다. 이들 실시예들에서, 전자 디바이스들 중 일부 또는 전부가 예컨대, 공유 키, 공유 키로부터 도출된 키들, 및/또는 1회용 키를 사용하여 대응하는 암호화 및 복호화 동작을 수행한다. 예를 들어, 전술된 바와 같이, 일부 실시예들에서, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)는 미리정의된 페어링에 참여하며, 이는 전술된 바와 같이 참조로서 편입되는, 발명의 명칭이 "Predefined Wireless Pairing"이고, 발명자들 Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, 및 Michael Giles에 의한, 본 출원과 동일한 날짜에 출원된, 대리인 사건 번호 제APL-P22642USP1호인 계류 중인 미국 특허 출원 제xx/xxx,xxx호에 설명된 바와 같다. 일부 실시예들에서, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)는, 소스 전자 디바이스(202) 및 동반 전자 디바이스(204)가 미리정의된 페어링에 참여하는 동안 획득하는 하나 이상의 암호화 키를 사용함으로써 액티비티 전달 동작을 위해 교환되는 메시지들을 암호화 및 복호화한다.In some embodiments, messages, data, and the like communicated between electronic devices are encrypted. In these embodiments, some or all of the electronic devices use a shared key, keys derived from the shared key, and / or a disposable key to perform corresponding encryption and decryption operations. For example, as described above, in some embodiments, source electronic device 202 and companion electronic device 204 participate in a predefined pairing, which is a name of the invention, which is incorporated by reference as described above. Is “Predefined Wireless Pairing,” pending US under Agent Case No. APL-P22642USP1, filed on the same date as the present application by inventors Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, and Michael Giles. As described in patent application xx / xxx, xxx. In some embodiments, source electronic device 202 and companion electronic device 204 may obtain one or more encryption keys that source electronic device 202 and companion electronic device 204 obtain while participating in a predefined pairing. Use to encrypt and decrypt messages exchanged for activity delivery operations.

비록 다양한 전자 디바이스들이 도 2에 도시되었으나, 일부 실시예들에서는 전자 디바이스들의 상이한 배열들이 사용되어 본 명세서에 설명된 동작들의 일부 또는 전부를 수행한다. 예를 들어, 일부 실시예들에서, 제2 소스 전자 디바이스(206)는 존재하지 않는다. 일반적으로, 설명된 실시예들은 본 명세서에 설명된 전자 디바이스들 사이에서 액티비티를 전환하기 위해 충분한 디바이스들을 포함한다.Although various electronic devices are shown in FIG. 2, in some embodiments different arrangements of electronic devices are used to perform some or all of the operations described herein. For example, in some embodiments, the second source electronic device 206 is not present. In general, the described embodiments include sufficient devices to switch activities between the electronic devices described herein.

액티비티 광고 메시지의 브로드캐스트Broadcast activity advertising message

도 3은 일부 실시예들에 따른, 액티비티 광고 메시지를 브로드캐스트하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 3에 도시된 프로세스 동안, 소스 전자 디바이스(202)와 같은 전자 디바이스는 액티비티 광고 메시지를 브로드캐스트한다. 도 3에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 동작들의 설명에 있어서 소정 메커니즘들이 사용되고 있으나(예컨대, 소스 전자 디바이스(202) 등), 일부 실시예들에서, 다른 메커니즘들이 동작들을 수행한다. 예를 들어, 동반 전자 디바이스(204) 및 제2 소스 전자 디바이스(206) 중 하나 또는 둘 모두가 액티비티 광고 메시지를 브로드캐스트하기 위해 자체적으로 유사한 동작들을 수행할 수 있다.3 shows a flow diagram illustrating a process for broadcasting an activity advertising message, in accordance with some embodiments. More specifically, during the process shown in FIG. 3, an electronic device, such as source electronic device 202, broadcasts an activity advertisement message. Note that the operations shown in FIG. 3 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, while certain mechanisms are used in the description of the operations (eg, source electronic device 202, etc.), in some embodiments, other mechanisms perform the operations. For example, one or both of the companion electronic device 204 and the second source electronic device 206 may perform similar operations on their own to broadcast the activity advertisement message.

도 3에 도시된 프로세스는 소스 전자 디바이스(202)가 소스 전자 디바이스(202)의 제1 애플리케이션, 즉, 소스 전자 디바이스(202) 상에 설치된/소스 전자 디바이스(202)에서 이용가능한 제1 애플리케이션에서 수행되는 액티비티를 설명하는 액티비티 정보를 수신할 때 시작된다(단계(300)). (액티비티 정보의 예들에 대해 도 11을 참조하여 아래에서 보다 상세히 설명한다.) 일부 실시예들에서, 제1 애플리케이션은 소스 전자 디바이스(202)에 액티비티 정보를 제공 또는 보고하는데, 예컨대, 액티비티 정보를 소스 전자 디바이스(202)의 운영체제, 데몬, 또는 다른 프로세스 및/또는 서비스에 제공 또는 보고한다. 일부 실시예들에서, 소스 전자 디바이스(202)는 제1 애플리케이션에게 액티비티 정보에 대해 질의한다. 일반적으로, 액티비티 정보는 적어도 부분적으로 전자 디바이스를 사용하여 수행되는 액티비티를 설명하는 정보를 포함한다. 액티비티들의 예로는 문서(예컨대, 워드 프로세싱 문서, 스프레드시트, 프리젠테이션, 또는 다른 유형의 문서) 읽기 및/또는 편집하기, 이메일 메시지 작성하기, 메모 초안 작성하기, 웹사이트 액세스(브라우징)하기, 영화 관람, 오디오 파일 재생하기, 또는 그렇지 않으면 애플리케이션이나 앱을 사용하여 대응하는 동작 수행하기가 포함된다.The process shown in FIG. 3 is performed in a first application where the source electronic device 202 is available on the first application of the source electronic device 202, ie, installed on / at the source electronic device 202. Begins upon receiving activity information describing the activity being performed (step 300). (Examples of activity information are described in more detail below with reference to FIG. 11.) In some embodiments, the first application provides or reports activity information to the source electronic device 202, for example, providing activity information. Provide or report to an operating system, daemon, or other process and / or service of source electronic device 202. In some embodiments, source electronic device 202 queries the first application for activity information. In general, activity information includes information describing an activity performed at least in part using an electronic device. Examples of activities include reading and / or editing documents (eg, word processing documents, spreadsheets, presentations, or other types of documents), writing email messages, drafting notes, accessing (browsing) websites, movies Viewing, playing an audio file, or otherwise using the application or app to perform the corresponding action.

다음으로, 소스 전자 디바이스(202)는 수신된 액티비티 정보를 필터링할지 여부를 결정하는데(단계(302)), 이는 추가의 프로세싱을 거치지 않고/않거나 액티비티 광고 메시지로 브로드캐스트되지 않을 액티비티 정보의 폐기에 대한 하나 이상의 기준을 사용하는 것을 포함한다. 예를 들어, 소스 전자 디바이스(202)는 제1 애플리케이션이 액티비티 정보에 대한 업데이트를 제공하는 빈도를 측정할 수 있고, 액티비티 정보가 업데이트된 빈도가 임계치를 초과하는 경우, 제1 애플리케이션으로부터의 액티비티 정보를 폐기할 수 있다(이는 제1 애플리케이션으로부터 액티비티 정보를 "스로틀링(throttling)하는 것"으로서 지칭될 수 있다). 다른 예로서, 소스 전자 디바이스(202)는 복제적(duplicative) 또는 반복적인 액티비티 정보로서, 이전에 보고된 액티비티 정보에 현저한 변화를 포함하지 않고(예컨대, "변경 없음"의 자동 보고, 단순/기본 동작들/변경의 보고 등), 소스 전자 디바이스(202)에 의해 이미 알려진 사실들을 보고하는 등의 액티비티 정보를 폐기할 수 있다. 또 다른 예로서, 일부 실시예들에서, 소스 전자 디바이스(202)는 액티비티 정보에 의해 설명된 액티비티가 광고되지 않을 것이라는 표시에 기초하여 액티비티 정보를 필터링한다. 예를 들어, 일부 실시예들에서, 소스 전자 디바이스(202) 및/또는 소스 전자 디바이스(202)의 사용자는 소정 액티비티들 및/또는 소정 유형의 액티비티들을 광고되지 않을 액티비티들로서 구성할 수 있다. 또 다른 예로서, 일부 실시예들에서, 소스 전자 디바이스(202)는 액티비티 정보가 존재하는 액티비티들의 일부 또는 전부(즉, 광고될 수 있는 액티비티들의 일부 또는 전부)를 순위화하고, 순위에 기초하여 이들 액티비티들 중 하나 이상을 폐기한다. 예를 들어, 소스 전자 디바이스(202)는 사용자가 이전에 계속했던 액티비티들에 보다 높은 순위를, 그리고 사용자가 이전에 계속하지 않았던 액티비티들에는 보다 낮은 순위를 할당할 수 있다. 이들 실시예들 중 일부 실시예들에서, 소스 전자 디바이스(202)는 어떤 광고된 액티비티들이 이전에 계속되었고, 어떤 광고된 액티비티들이 이전에 계속되지 않았는지 결정하기 위해 동반 전자 디바이스(204)로부터의 메시지들, 예컨대, 도 5의 단계(510)를 참조하여 아래에서 설명되는 것들과 같은 메시지들을 사용한다.Next, the source electronic device 202 determines whether or not to filter the received activity information (step 302), which discards the activity information without further processing and / or not to be broadcast in the activity advertisement message. The use of one or more criteria for. For example, the source electronic device 202 can measure the frequency at which the first application provides an update to the activity information and, if the frequency at which the activity information is updated exceeds a threshold, the activity information from the first application. May be discarded (which may be referred to as "throttling" activity information from the first application). As another example, the source electronic device 202 is a duplicate or repetitive activity information that does not include a significant change in previously reported activity information (eg, automatic reporting of "no change", simple / basic). Activity information, such as reporting actions / changes), reporting facts already known by the source electronic device 202, and so forth. As another example, in some embodiments, the source electronic device 202 filters the activity information based on the indication that the activity described by the activity information will not be advertised. For example, in some embodiments, the source electronic device 202 and / or the user of the source electronic device 202 may configure certain activities and / or certain types of activities as activities that will not be advertised. As another example, in some embodiments, source electronic device 202 ranks some or all of the activities for which activity information exists (ie, some or all of the activities that can be advertised) and based on the ranking Discard one or more of these activities. For example, the source electronic device 202 may assign a higher ranking to activities that the user has previously continued and lower ranking to activities that the user has not previously continued. In some of these embodiments, the source electronic device 202 may determine from the companion electronic device 204 to determine which advertised activities have previously continued and which advertised activities have not previously continued. Messages, e.g., messages such as those described below with reference to step 510 of FIG.

소스 전자 디바이스(202)가 액티비티 정보를 필터링하는 경우, 예를 들어, 그것을 폐기하는 경우(단계(302), 예), 프로세스는 종료된다. 그렇지 않으면, 소스 전자 디바이스(202)가 액티비티 정보를 필터링을 하지 않는 경우(단계(302), 아니오), 소스 전자 디바이스(202)는 구조체 내에 액티비티 정보의 일부 또는 전부를 저장한다(단계(304)). 예시를 위해, 액티비티 정보를 테이블의 엔트리 내에 저장하는 실시예를 설명하겠으며, 이를 "광고된-액티비티" 테이블로 지칭할 것이다. 그러나, 실시예들은 액티비티 정보를 저장하기 위한 테이블을 사용하는 것에 한정되지 않음을 유의한다. 일부 실시예들은 연관된 어레이, 콘텐츠-어드레스 가능한 메모리 등과 같은 액티비티 정보를 저장하기 위한 상이한 저장 메커니즘/구조체를 사용한다.If the source electronic device 202 filters the activity information, for example discarding it (step 302, yes), the process ends. Otherwise, if the source electronic device 202 does not filter the activity information (step 302, no), the source electronic device 202 stores some or all of the activity information in the structure (step 304). ). For illustration, an embodiment of storing activity information in an entry in a table will be described, which will be referred to as an "advertised-activity" table. However, it is noted that the embodiments are not limited to using a table for storing activity information. Some embodiments use different storage mechanisms / structures for storing activity information such as associated arrays, content-addressable memories, and the like.

일부 실시예들에서, 액티비티 정보를 저장하는 동안, 소스 전자 디바이스(202)는 광고된-액티비티 테이블 내에 이전에 저장되었던 액티비티 정보를 덮어쓰고/덮어쓰거나 제거한다. 예를 들어, 소스 전자 디바이스(202)는 광고된-액티비티 테이블의 엔트리를 겹쳐쓰고/겹쳐쓰거나 제거하기 위한 최소-최근-사용(least-recently-used, LRU) 알고리즘을 사용할 수 있다. 광고된-액티비티 테이블의 예들에 대해 도 12를 참조하여 아래에서 보다 상세히 설명한다.In some embodiments, while storing the activity information, the source electronic device 202 overwrites / overwrites or removes the activity information previously stored in the advertised-activity table. For example, source electronic device 202 may use a least-recently-used (LRU) algorithm to overwrite / overwrite or remove an entry in the advertised-activity table. Examples of advertised-activity tables are described in more detail below with reference to FIG. 12.

다음으로, 소스 전자 디바이스(202)는 액티비티 정보에 대한 액티비티 식별자를 결정한다(단계(306)). 일반적으로, 액티비티 식별자는 제1 애플리케이션, 및 제1 애플리케이션에서 수행된 액티비티를 식별하는 액티비티 정보로부터의 정보를 포함한다. 일부 실시예들에서, 소스 전자 디바이스(202)는 전체 액티비티 정보에 비해 보다 효율적으로 브로드캐스트될 수 있는 보다 작은 코딩된 표현으로 액티비티 정보를 축소시킴으로써 액티비티 식별자를 생성한다. 이러한 실시예들 중 일부에서, 코딩된 표현은 액티비티 정보의 해시로서, 즉, 그의 입력이 액티비티 정보를 포함하는 해시 함수(예컨대, MD4, MD5, SHA, MurmurHash 등)의 출력이다. 일부 실시예들에서, 소스 전자 디바이스(202)는 광고된-액티비티 테이블(또는 소스 전자 디바이스(202)가 액티비티 정보를 저장하기 위해 사용하는 임의의 구조체) 내에 액티비티 정보와 함께 액티비티 식별자를 저장한다. 액티비티 식별자들의 예들에 대해 도 12를 참조하여 아래에서 보다 상세히 설명한다.Next, the source electronic device 202 determines an activity identifier for the activity information (step 306). In general, the activity identifier includes information from the first application and activity information that identifies the activity performed in the first application. In some embodiments, the source electronic device 202 generates the activity identifier by reducing the activity information to a smaller coded representation that can be broadcast more efficiently than the overall activity information. In some of these embodiments, the coded representation is a hash of the activity information, that is, the output of a hash function (eg, MD4, MD5, SHA, MurmurHash, etc.) whose input includes the activity information. In some embodiments, the source electronic device 202 stores the activity identifier along with the activity information in the advertised-activity table (or any structure that the source electronic device 202 uses to store the activity information). Examples of activity identifiers are described in more detail below with reference to FIG. 12.

일부 실시예들에서, 액티비티 식별자는 도메인 네임의 표현을 포함한다. 예를 들어, 일부 실시예들에서, 제1 애플리케이션에서 수행된 액티비티가 도메인의 리소스를 사용하는 것을 포함하는 경우, 액티비티 정보는 도메인 네임, 예컨대, 도메인의 URL의 적어도 일부를 포함한다. 일부 실시예들에서, 소스 전자 디바이스(202)는 액티비티 식별자 내에 도메인 네임의 일부 또는 전부를 포함함으로써 액티비티 식별자를 결정한다. 예를 들어, 액티비티 식별자는 리소스에 대한 URL의 일부 또는 전부의 해시일 수 있다.In some embodiments, the activity identifier includes a representation of a domain name. For example, in some embodiments, if the activity performed in the first application includes using a resource of a domain, the activity information includes at least a portion of a domain name, eg, a URL of the domain. In some embodiments, the source electronic device 202 determines the activity identifier by including some or all of the domain name in the activity identifier. For example, the activity identifier may be a hash of some or all of the URLs for the resource.

일부 실시예들에서, 액티비티 식별자는 소스 전자 디바이스(202)가 액티비티 정보를 저장했던 구조체 내의 엔트리를 식별한다(예컨대, 단계(304)를 참조하여 위에 설명된 바와 같음). 예를 들어, 액티비티 식별자는 소스 전자 디바이스(202)가 액티비티 정보를 저장했던 광고된-액티비티 테이블 내의 엔트리를 식별할 수 있다. 액티비티 식별자는 또한 광고된-액티비티 테이블 그 자체에 대한 식별자를 포함할 수 있다. 일부 실시예들에서, 소스 전자 디바이스(202)가 액티비티 정보를 저장했던 구조체 내의 엔트리를 식별하기 위하여, 액티비티 식별자는: (1) 광고된-액티비티 테이블을 식별하기 위한, 광고된-액티비티 테이블 내의 데이터의 해시, 및 (2) 액티비티 정보를 저장하는, 광고된-액티비티 테이블 내의 엔트리에 대한 인덱스를 포함한다.In some embodiments, the activity identifier identifies an entry in the structure where the source electronic device 202 has stored the activity information (eg, as described above with reference to step 304). For example, the activity identifier may identify an entry in the advertised-activity table where the source electronic device 202 has stored the activity information. The activity identifier may also include an identifier for the advertised-activity table itself. In some embodiments, in order to identify an entry in the structure where the source electronic device 202 has stored the activity information, the activity identifier is: (1) data in the advertised-activity table for identifying the advertised-activity table; A hash of, and (2) an index for an entry in the advertised-activity table that stores the activity information.

소스 전자 디바이스(202)는 다음으로 액티비티 광고 메시지 내로 액티비티 식별자를 포함시킨다(단계(308)). 일부 실시예들에서, 액티비티 광고 메시지는 액티비티 식별자에 부가하여 다른 데이터를 포함한다. 예를 들어, 일부 실시예들에서, 액티비티 광고 메시지는, 액티비티 식별자가 액티비티에 관련된 온라인 리소스에 대한 도메인 네임의 표현을 포함하는 때를 나타내기 위해 사용되는 플래그를 포함한다. 이들 실시예들에서, 소스 전자 디바이스(202)는 액티비티 식별자가 도메인 네임의 표현을 포함하고 있다고 나타내는 플래그를 어서팅(assert)한다(예컨대, 플래그를 미리결정된 값(예컨대, 1)으로 설정함). 일부 실시예들에서, 예컨대 소스 전자 디바이스(202)가 확장된 액티비티 데이터(확장된 액티비티 데이터는 아래에 보다 상세히 설명함) 내에 대응하는 명령어들을 포함시킴으로써, 소스 전자 디바이스(202)는 소스 전자 디바이스(202)가 동반 전자 디바이스(204)에 개별적으로 제공하는 방식으로 광고된 액티비티가 계속될 수 있음을 나타내는 플래그를 액티비티 광고 메시지 내에 어서팅한다.The source electronic device 202 then includes the activity identifier in the activity advertising message (step 308). In some embodiments, the activity advertising message includes other data in addition to the activity identifier. For example, in some embodiments, the activity advertisement message includes a flag used to indicate when the activity identifier includes a representation of a domain name for the online resource associated with the activity. In these embodiments, the source electronic device 202 asserts a flag indicating that the activity identifier includes a representation of a domain name (eg, sets the flag to a predetermined value (eg, 1)). . In some embodiments, for example, the source electronic device 202 includes instructions corresponding to it in the expanded activity data (extended activity data is described in more detail below), so that the source electronic device 202 may be configured as a source electronic device ( 202 asserts in the activity advertisement message a flag indicating that the advertised activity can continue in a manner that is individually provided to the companion electronic device 204.

일부 실시예들에서, 액티비티 광고 메시지는 액티비티/액티비티 정보에 대한 타임스탬프를 포함한다. 타임스탬프는 절대적 시간 또는 상대적 시간을 표현할 수 있으며, 제1 애플리케이션에서 액티비티가 최종적으로 수행되었던 시간, 예컨대, 문서가 편집되고, 웹사이트가 액세스되고, 영화가 관람되는 등의 최종 시간을 나타낼 수 있다. 일부 실시예들에서, 타임스탬프는 액티비티/액티비티 정보와 독립적이며, 즉, 타임스탬프는 사용자의 최종 상호작용이 사용자가 액티비티를 수행하는 것을 포함하는지 여부와 무관하게 소스 전자 디바이스(202)와 사용자가 최종적으로 상호작용했던 시간을 나타낸다.In some embodiments, the activity advertisement message includes a timestamp for the activity / activity information. The timestamp may represent absolute time or relative time and may indicate the time at which the activity was last performed in the first application, such as the last time the document was edited, the website was accessed, the movie was watched, etc. . In some embodiments, the timestamp is independent of the activity / activity information, i.e., the timestamp is not associated with the source electronic device 202 and the user regardless of whether the user's final interaction includes the user performing the activity. It represents the time of last interaction.

소스 전자 디바이스(202)는 이어서 액티비티 광고 메시지를 브로드캐스트한다(단계(310)). 예를 들어, 소스 전자 디바이스(202)는 통신 신호(208)를 사용하여 액티비티 광고 메시지를 브로드캐스트할 수 있다. 일부 실시예들에서, 소스 전자 디바이스(202)는 네트워크 환경(200)에서 액티비티 광고 메시지를 브로드캐스트/광고함으로써 네트워크 환경(200) 내의 인근 디바이스들이 액티비티 광고 메시지를 수신할 수 있다. 예를 들어, 이러한 실시예들에서, 소스 전자 디바이스(202)는 블루투스 로우 에너지(BLE)와 같은 블루투스™ 통신 채널을 사용하여 액티비티 광고 메시지를 브로드캐스트한다. 일부 실시예들은 피어-투-피어 네트워크, LAN, 인터넷 등과 같은 상이한 통신 채널 상에서 액티비티 광고 메시지를 브로드캐스트할 수 있다. 액티비티 브로드캐스트는 2회 이상 발생할 수 있으며, 예컨대, 소스 전자 디바이스(202)가 동일한 액티비티 광고 메시지를 다수 회 및/또는 주기적으로 브로드캐스트할 수 있음을 유의한다.The source electronic device 202 then broadcasts the activity advertisement message (step 310). For example, the source electronic device 202 can broadcast the activity advertisement message using the communication signal 208. In some embodiments, source electronic device 202 may broadcast / advertise an activity advertisement message in network environment 200 such that nearby devices in network environment 200 may receive the activity advertisement message. For example, in these embodiments, source electronic device 202 broadcasts an activity advertisement message using a Bluetooth ™ communication channel, such as Bluetooth Low Energy (BLE). Some embodiments may broadcast activity advertising messages on different communication channels, such as peer-to-peer networks, LANs, the Internet, and the like. Note that the activity broadcast may occur more than once, for example, the source electronic device 202 may broadcast the same activity advertisement message multiple times and / or periodically.

이용가능-액티비티 테이블 구축Available-building activity tables

일부 실시예들에서, 동반 전자 디바이스(204)는 이용가능한 액티비티 정보, 예컨대, 동반 전자 디바이스(204)에서 이용가능한 액티비티들을 설명하는 액티비티 정보를 저장한다(액티비티 정보의 예들은 도 11을 참조하여 아래에 보다 상세히 설명된다). 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 이용가능한 액티비티 정보에 대한 액티비티 식별자들을 저장한다. 예시를 위한 목적으로서, 동반 전자 디바이스(204)가 테이블 내에 이용가능한 액티비티 정보를 저장하는 것으로 설명하며, 이를 "이용가능-액티비티" 테이블로 지칭한다(이용가능-액티비티 테이블의 예들은 본 개시내용에서 이후에 보다 상세히 설명된다.) 비록 이용가능-액티비티 테이블 내에 이용가능한 액티비티 정보를 저장하는 실시예들을 설명하긴 하나, 실시예들은 이용가능한 액티비티 정보를 저장하기 위한 테이블을 사용하는 것에 한정되지 않음을 유의한다. 일부 실시예들은 연관된 어레이, 콘텐츠-어드레스 가능한 메모리 등과 같은 이용가능한 액티비티 정보를 저장하기 위한 다른 구조체들을 사용할 수 있다.In some embodiments, companion electronic device 204 stores activity information that is available, such as activity information that describes activities available in companion electronic device 204 (examples of activity information are described below with reference to FIG. 11). Is described in more detail in the following). For example, in some embodiments, companion electronic device 204 stores activity identifiers for available activity information. For purposes of illustration, the accompanying electronic device 204 is described as storing activity information available in a table, referred to as an "availability-activity" table (examples of the activity-activity table are described in this disclosure. Although described in more detail below.) Although embodiments are described that store available activity information in the Available-Activities table, it is noted that the embodiments are not limited to using a table for storing available activity information. do. Some embodiments may use other structures for storing available activity information, such as associated arrays, content-addressable memories, and the like.

도 4는 일부 실시예들에 따른, 동반 전자 디바이스(204)에서 이용가능한 액티비티들을 설명하는 액티비티 정보를 이용가능-액티비티 테이블 내로 저장하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 도 4에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 동작들의 설명에 있어서 비록 소정 메커니즘들(예컨대, 동반 전자 디바이스(204) 등)이 사용되고 있으나, 일부 실시예들에서, 다른 메커니즘들이 동작들을 수행한다. 예를 들어, 소스 전자 디바이스(202) 및 제2 소스 전자 디바이스(206) 중 하나 또는 둘 모두가 이용가능한 액티비티들을 설명하는 이용가능한 액티비티 정보를 저장하기 위해 자체적으로 유사한 동작들을 수행할 수 있다.4 shows a flow diagram illustrating a process for storing activity information into an available-activity table that describes activities available at companion electronic device 204, in accordance with some embodiments. It is noted that the operations shown in FIG. 4 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, companion electronic device 204, etc.) are used in the description of the operations, in some embodiments, other mechanisms perform the operations. For example, one or both of source electronic device 202 and second source electronic device 206 may perform similar operations on their own to store available activity information describing the available activities.

도 4에 도시된 프로세스는 동반 전자 디바이스(204)가 동반 전자 디바이스(204)의 제2 애플리케이션에서 이용가능한 액티비티를 설명하는 액티비티 정보, 예컨대, 동반 전자 디바이스(204)에서 수행될 수 있는 액티비티들을 설명하는 액티비티 정보를 수신할 때 시작된다(단계(400)). 일반적으로, 액티비티 정보는 동반 전자 디바이스(204)의 제2 애플리케이션에서 수행될 수 있는 액티비티, 즉, 동반 전자 디바이스(204)의 제2 애플리케이션이 수행할 수 있는 동작 또는 기능을 설명한다. 일부 실시예들에서, 제2 애플리케이션은 제2 애플리케이션이 설치 및/또는 사용됨에 따라 액티비티 정보를 보고/제공한다. 일부 실시예들에서, 동반 전자 디바이스(204)는 제2 애플리케이션에서 이용가능한 액티비티를 설명하는 액티비티 정보를 수집하기 위해 제2 애플리케이션에 질의하거나 그렇지 않으면 모니터링한다. 일부 실시예들에서, 액티비티 정보는 동반 전자 디바이스(204) 상에서 수행되지 않았으나 수행되기 위해 이용가능한 액티비티들에 대한 액티비티 정보(예컨대, 동반 전자 디바이스(204)에서 제2 애플리케이션이 설치/업데이트, 개시, 사용되는 등에 따라 제2 애플리케이션에 의해 보고되는 액티비티 정보)를 포함한다.The process illustrated in FIG. 4 describes activity information that may be performed in companion electronic device 204, such as activity information describing activities available to companion electronic device 204 in a second application of companion electronic device 204. Is initiated upon receiving activity information (step 400). In general, activity information describes an activity that may be performed in a second application of the companion electronic device 204, that is, an action or function that the second application of the companion electronic device 204 may perform. In some embodiments, the second application reports / provides activity information as the second application is installed and / or used. In some embodiments, companion electronic device 204 queries or otherwise monitors the second application to collect activity information describing the activities available in the second application. In some embodiments, activity information is not performed on companion electronic device 204 but activity information for activities available to be performed (eg, a second application on companion electronic device 204 is installed / updated, initiated, Activity information reported by the second application, as used, and so forth.

다음으로, 동반 전자 디바이스(204)는 제2 액티비티 식별자, 즉, 제2 애플리케이션에서 이용가능한 액티비티를 설명하는 액티비티 정보에 대한 액티비티 식별자를 결정한다(단계(402)). 일반적으로, 제2 액티비티 식별자는 제2 애플리케이션, 및 제2 애플리케이션에서 이용가능한 액티비티를 식별한다. 제2 액티비티 식별자는 제2 애플리케이션에서 이용가능한 액티비티를 설명하는 액티비티 정보의 코딩된 표현일 수 있다. 일부 실시예들에서, 동반 전자 디바이스(204)는 제1 애플리케이션 내에서 수행된 액티비티에 대한 액티비티 식별자를 생성하기 위해 소스 전자 디바이스(202)가 수행하는 동일한 동작들 중 일부 또는 전부를 수행함으로써 제2 액티비티 식별자를 결정한다(도 3, 단계(306) 참조). 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 제1 애플리케이션에서 수행된 액티비티에 대한 액티비티 식별자를 생성하기 위해 소스 전자 디바이스(202)가 사용하는 것과 동일한 해시 함수를 사용하여 제2 액티비티 식별자를 생성한다.Next, companion electronic device 204 determines a second activity identifier, that is, an activity identifier for activity information that describes the activity available in the second application (step 402). In general, the second activity identifier identifies the second application and the activities available to the second application. The second activity identifier may be a coded representation of activity information that describes the activity available to the second application. In some embodiments, companion electronic device 204 may perform some or all of the same operations that source electronic device 202 performs to generate an activity identifier for an activity performed within the first application. Determine the activity identifier (see FIG. 3, step 306). For example, in some embodiments, companion electronic device 204 may use a second hash function using the same hash function that source electronic device 202 uses to generate an activity identifier for an activity performed in a first application. Create an activity identifier.

일부 실시예들에서, 제2 애플리케이션이 도메인의 리소스에 액세스하는 것을 포함하는 액티비티를 수행할 수 있는 경우, 이러한 액티비티에 대한 액티비티 정보는 도메인에 대한 도메인 네임을 포함한다. 이러한 실시예들 중 일부에서, 제2 액티비티 식별자는 도메인 네임의 코딩된 표현이며, 이는 제2 애플리케이션이 도메인 네임을 "주장(claim)"할 수 있게 하는데, 즉, 동반 전자 디바이스(204)가 대응하는 액티비티들을 제2 애플리케이션으로 전달할 수 있도록 제2 애플리케이션이 도메인 네임에서 리소스를 사용할 수 있다고 선언할 수 있게 한다. 예를 들어, 이후 설명되는 바와 같이, 제2 애플리케이션이 인터넷 상의 특정 사이트로부터 영화를 스트림하는 시나리오에서, 제2 액티비티 식별자는 그 사이트에 대한 도메인 네임의 적어도 일부 부분의 코딩된 표현일 수 있다. 제2 애플리케이션은 제1 애플리케이션 - 즉, 자신의 액티비티가 액티비티 광고 메시지 내에서 광고되는 애플리케이션 - 과 상이하게 되어, 제1 애플리케이션과 상이한 애플리케이션이 동반 전자 디바이스(204)에서 액티비티를 계속할 수 있게 할 수 있다는 것에 유의한다.In some embodiments, if the second application can perform an activity that includes accessing a resource of a domain, the activity information for that activity includes a domain name for the domain. In some of these embodiments, the second activity identifier is a coded representation of the domain name, which allows the second application to “claim” the domain name, that is, the companion electronic device 204 corresponds. Allows the second application to declare that the resource is available in the domain name so that it can deliver the activities to the second application. For example, as described below, in a scenario where a second application streams a movie from a particular site on the Internet, the second activity identifier may be a coded representation of at least some portion of the domain name for that site. The second application may be different from the first application—that is, the application whose activity is advertised in the activity advertising message—allowing an application different from the first application to continue the activity at the companion electronic device 204. Note that

다음으로, 동반 전자 디바이스(204)는 이용가능-액티비티 테이블 내로 제2 액티비티 식별자를 저장한다(단계(404)).Next, the companion electronic device 204 stores the second activity identifier into the available-activity table (step 404).

확장된 액티비티 데이터 요청 및 액티비티 전달Extended activity data request and activity forwarding

일부 실시예들에서, 액티비티 광고 메시지를 수신하는 경우, 전자 디바이스는 광고된 액티비티에 대한 확장된 액티비티 데이터를 요청함으로써 광고된 액티비티가 후속적으로 전자 디바이스로 전달되게 할 수 있다. 도 5는 일부 실시예들에 따른, 확장된 액티비티 데이터를 요청하고 액티비티를 전달하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 5에 도시된 프로세스 동안, 동반 전자 디바이스(204)는 소스 전자 디바이스(202)로부터 소스 전자 디바이스(202) 내의 제1 애플리케이션에서 수행된 액티비티에 대한 확장된 액티비티 데이터를 요청한다. 도 5에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 비록 동작들의 설명에 있어서 소정 메커니즘들(예컨대, 소스 전자 디바이스(202), 동반 전자 디바이스(204))이 사용되고 있으나, 일부 실시예들에서, 다른 전자 디바이스들 및/또는 메커니즘들이 동작들을 수행한다.In some embodiments, upon receiving the activity advertisement message, the electronic device may request the extended activity data for the advertised activity to cause the advertised activity to be subsequently delivered to the electronic device. 5 shows a flowchart illustrating a process for requesting extended activity data and delivering the activity, in accordance with some embodiments. More specifically, during the process shown in FIG. 5, companion electronic device 204 requests extended activity data for activities performed in a first application within source electronic device 202 from source electronic device 202. . Note that the operations shown in FIG. 5 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, source electronic device 202, companion electronic device 204) are used in the description of the operations, in some embodiments, other electronic devices and / or mechanisms perform the operations. do.

도 5에 도시된 프로세스는 동반 전자 디바이스(204)가 액티비티 광고 메시지, 예컨대, 소스 전자 디바이스(202)로부터 브로드캐스트된 액티비티 광고 메시지(도 3, 단계(310) 참조)를 수신할 때 시작된다(단계(500)). 다음으로, 동반 전자 디바이스(204)는 동반 전자 디바이스(204)가 수신 상태에 있는지 여부를 결정한다(단계(502)). 일반적으로, 동반 전자 디바이스(204)는 자신이 액티비티 전달을 수행하기 위해 이용가능한 때 수신 상태에 있게 된다. 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 디바이스가 "웨이크업(wake-up)" 할 때, 예컨대, 사용자가 디바이스를 웨이크업하기 위한 버튼을 누르고 난 후 잠금 스크린이 디스플레이되는 동안 수신 상태로 전환한다. 일부 실시예들에서, 동반 전자 디바이스(204)는, 동반 전자 디바이스(204)가 사용 중일 때, 예컨대, 사용자가 동반 전자 디바이스(204)의 애플리케이션을 사용하고 있을 때, 및/또는 사용자가 주어진 시간 기간 내에 애플리케이션을 사용했을 때, 수신 상태에 있지 않다.The process shown in FIG. 5 begins when the companion electronic device 204 receives an activity advertisement message, eg, an activity advertisement message broadcast from the source electronic device 202 (see FIG. 3, step 310) ( Step 500). Next, companion electronic device 204 determines whether companion electronic device 204 is in a receiving state (step 502). In general, companion electronic device 204 is in a receive state when it is available to perform activity delivery. For example, in some embodiments, companion electronic device 204 may display a lock screen when the device “wakes up,” eg, after a user presses a button to wake up the device. Switch to receive status In some embodiments, companion electronic device 204 may be used when companion electronic device 204 is in use, such as when a user is using an application of companion electronic device 204, and / or at a given time. When the application is used within the time period, it is not in a reception state.

동반 전자 디바이스(204)가 수신 상태에 있지 않은 경우(단계(502), 아니오), 프로세스는 종료된다(즉, 액티비티 광고 메시지는 무시된다). 그렇지 않으면, 동반 전자 디바이스(204)가 수신 상태에 있는 경우(단계(502), 예), 동반 전자 디바이스(204)는 제1 애플리케이션과 연관된 제2 애플리케이션이 동반 전자 디바이스(204)에서 이용가능한지 여부를 결정한다(단계(504)). 일반적으로, 이러한 동작은 소스 전자 디바이스(202)로부터의 액티비티 광고 메시지 내에 설명된 액티비티를 계속하기 위한 애플리케이션이 동반 전자 디바이스(204) 상에서 이용가능한지 결정하는 것을 포함한다. 제2 애플리케이션이 이용가능한지 여부를 결정하는 것은 도 7 및 도 8을 참조하여 이후 보다 상세히 설명한다.If the companion electronic device 204 is not in a receiving state (step 502, no), the process ends (ie, the activity advertising message is ignored). Otherwise, if the companion electronic device 204 is in a receiving state (step 502, yes), the companion electronic device 204 may determine whether a second application associated with the first application is available at the companion electronic device 204. Determine (step 504). In general, this operation includes determining whether an application for continuing the activity described in the activity advertisement message from the source electronic device 202 is available on the companion electronic device 204. Determining whether the second application is available is described in further detail below with reference to FIGS. 7 and 8.

제2 애플리케이션이 이용가능하지 않은 경우(단계(504), 아니오), 프로세스는 종료된다. 그렇지 않으면, 제2 애플리케이션이 이용가능한 경우(단계(504), 예), 동반 전자 디바이스(204)는 제2 애플리케이션에 대한 액티비티 정보를 검색한다(단계(506)). 예를 들어, 도 7, 도 8, 도 11, 및 도 12를 참조하여 보다 상세히 또한 설명되는 바와 같이, 제2 애플리케이션을 결정한 후, 동반 전자 디바이스(204)는 제2 애플리케이션에 대한 액티비티 식별자를 사용하여, 제2 애플리케이션에서 이용가능한 액티비티를 설명하는 액티비티 정보를 이용가능-액티비티 테이블로부터(또는 이용가능한 액티비티 정보를 저장하기 위해 동반 전자 디바이스(204)가 사용하는 다른 구조체로부터) 검색할 수 있다. 일부 실시예들에서, 동반 전자 디바이스(204)는 검색된 액티비티 정보를 사용하여, 예컨대, 검색된 액티비티 정보 내의 애플리케이션 식별자를 사용하여, 액티비티가 재개가능하다는 표시를, 예컨대 단계(508) 및/또는 도 14를 참조하여 아래에 설명된 바와 같이 맞춤화한다. 애플리케이션 식별자들에 대해 도 11을 참조하여 보다 상세히 설명한다.If the second application is not available (step 504, no), the process ends. Otherwise, if the second application is available (step 504, yes), the companion electronic device 204 retrieves activity information for the second application (step 506). For example, as further described in more detail with reference to FIGS. 7, 8, 11, and 12, after determining the second application, the companion electronic device 204 uses the activity identifier for the second application. Thus, activity information describing the activity available in the second application can be retrieved from the available-activity table (or from another structure used by companion electronic device 204 to store the available activity information). In some embodiments, companion electronic device 204 uses the retrieved activity information, eg, an application identifier in the retrieved activity information, to indicate that the activity is resumable, such as step 508 and / or FIG. 14. See below to customize as described below. Application identifiers will be described in more detail with reference to FIG. 11.

다음으로, 동반 전자 디바이스(204)는 액티비티가 재개가능하다는 표시를 제시한다(단계(508)). 예를 들어, 동반 전자 디바이스(204)는 동반 전자 디바이스(204)의 디스플레이 내에 그래픽 아이콘 및/또는 통지를 제시할 수 있다. 표시들에 대해 도 14를 참조하여 아래에서 보다 상세히 설명한다.Next, companion electronic device 204 presents an indication that the activity is resumable (step 508). For example, companion electronic device 204 can present graphical icons and / or notifications within the display of companion electronic device 204. The indications are described in more detail below with reference to FIG. 14.

이어서, 동반 전자 디바이스(204)는 액티비티 전달이 수락되었는지 여부를 결정한다(단계(510)). 일부 실시예들에서, 동반 전자 디바이스(204)의 사용자는 표시 상에 클릭하기, 하나 이상의 방향으로 그리고/또는 하나 이상의 특정 위치로 표시를 드래그하기 등과 같이 표시를 이용한 동작을 수행함으로써 액티비티 전달을 수락 및/또는 거절한다. 예를 들어, 액티비티 전달을 수락하기 위해, 사용자는 (터치 스크린 디스플레이 상에서) 손가락을 사용하여 아이콘/통지를 탭하고 제1 방향(예컨대, 좌측에서 우측, 상향, 시계방향 원 등)으로 아이콘/통지를 드래그할 수 있다. 다른 예로서, 액티비티를 거절하기 위해, 사용자는 손가락을 이용하여 아이콘/통지를 탭하고 아이콘/통지를 제2 방향(예컨대, 우측에서 좌측, 하향, 반시계방향 원 등)으로 드래그할 수 있다. 일부 실시예들에서, 동반 전자 디바이스(204)는 타임아웃 기간에 기초하여, 즉 표시가 제시된 이래로 표시/액티비티 전달을 수락하기 위한 행동을 사용자가 수행하지 않은 상태로 일정 기간이 지났다고 결정함으로써 액티비티 전달이 수락되지 않았다고 결정한다.The companion electronic device 204 then determines whether activity transfer has been accepted (step 510). In some embodiments, the user of companion electronic device 204 accepts activity delivery by performing an action using the display, such as clicking on the display, dragging the display in one or more directions and / or to one or more specific locations, and the like. And / or decline. For example, to accept activity delivery, the user taps an icon / notification using a finger (on the touch screen display) and the icon / notification in a first direction (eg, left to right, upward, clockwise circle, etc.). You can drag. As another example, to reject an activity, a user can use a finger to tap an icon / notification and drag the icon / notification in a second direction (eg, right to left, downward, counterclockwise circle, etc.). In some embodiments, companion electronic device 204 delivers the activity based on a timeout period, i.e., determining that a period of time has passed without the user performing an action to accept the indication / activity delivery since the indication was presented. Determine that this was not accepted.

액티비티 전달이 수락되지 않은 경우(단계(510), 아니오), 프로세스는 종료된다. 일부 실시예들에서, 액티비티 전달이 수락되지 않은 경우, 동반 전자 디바이스(204)는 액티비티 전달이 수락되지 않았다고 표시하기 위해 소스 전자 디바이스(202)에 메시지를 전송한다는 것에 유의한다. 액티비티 전달이 수락되는 경우(단계(510), 예), 동반 전자 디바이스(204)는 제1 애플리케이션에서 수행된 액티비티에 대한 확장된 액티비티 데이터를 요청하기 위해 소스 전자 디바이스(202)에 메시지를 전송한다(단계(512)). 일반적으로, 확장된 액티비티 데이터에 대한 요청은 소스 전자 디바이스(202)가 확장된 데이터가 요청되고 있는 액티비티를 결정하는 것을 용이하게 하기 위한 정보를 포함한다. 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 확장된 액티비티 데이터에 대한 요청과 함께 액티비티 광고 메시지로부터의 액티비티 식별자를 포함한다.If activity delivery has not been accepted (step 510, no), the process ends. Note that in some embodiments, if activity delivery has not been accepted, companion electronic device 204 sends a message to source electronic device 202 to indicate that activity delivery has not been accepted. If activity delivery is accepted (step 510, yes), companion electronic device 204 sends a message to source electronic device 202 to request extended activity data for the activity performed in the first application. (Step 512). In general, the request for extended activity data includes information to facilitate the source electronic device 202 to determine the activity for which the extended data is being requested. For example, in some embodiments, companion electronic device 204 includes an activity identifier from an activity advertising message with a request for extended activity data.

다음으로, 확장된 액티비티 데이터에 대한 요청에 응답하여 소스 전자 디바이스(202)로부터 확장된 액티비티 데이터를 수신하는 경우, 동반 전자 디바이스(204)는 확장된 액티비티 데이터를 사용하여 제2 애플리케이션을 구성한다(단계(514)). 제2 애플리케이션을 구성하는 것은 제2 애플리케이션을 개시/시작하는 것, 확장된 액티비티 데이터에 기초하여 제2 애플리케이션의 상태를 설정하는 것(또는 상태에 대한 변화를 주는 것), 및 다른 식으로 대응하는 동작을 수행하도록 제2 애플리케이션을 구성하는 것을 포함할 수 있다. 예를 들어, 동반 전자 디바이스(204)는 확장된 액티비티 데이터 내의 문서/리소스 식별자, 문서/리소스를 표현하는 정보, 및/또는 문서/리소스에 대한 참조를 제2 애플리케이션에게 넘겨줌으로써, 제2 애플리케이션이 문서/리소스에 액세스하게 할 수 있다(예컨대, 인터넷 상에 위치된 클라우드-기반 저장소로부터 제2 애플리케이션이 액세스하기 위한 클라우드-저장된 문서에 대한 식별자/그를 표현하는 정보/그에 대한 참조, 데이터베이스로부터 제2 애플리케이션이 액세스하기 위한 문서에 대한 식별자/그를 표현하는 정보/그에 대한 참조 등). 일부 실시예들에서, 액티비티가 소스 전자 디바이스(202)에 저장된 문서를 작성하는 것을 포함한 경우, 확장된 액티비티 데이터는 문서 또는 문서를 표현하는 정보를 포함함으로써, 동반 전자 디바이스(204) 및/또는 제2 애플리케이션이 동반 전자 디바이스(204)에서 제2 애플리케이션을 위한 문서를 사용/재생성하게 한다. 일부 실시예들에서, 확장된 액티비티 데이터는 문서 내의 편집들, 예컨대, 문서 내에서 행해진 편집들의 위치 및/또는 내용을 포함한다. 일부 실시예들에서, 확장된 액티비티 데이터는 미디어 파일 내의 최종 재생/시청/녹화 위치(즉, 재생 또는 녹화가 중단되거나 최종적으로 수행된 미디어 파일 내의 위치), 파일 내의 마커의 위치, 비디오 게임 내의 게임플레이(gameplay)의 위치/상태(예컨대, 최종 플레이 레벨, 플레이어가 최종적으로 있었던 장소에 대한 좌표, 획득한 포인트 및/또는 성취, 및/또는 소스 전자 디바이스(202) 상에서 플레이된 게임의 상태를 동반 전자 디바이스(204)에서 재생성하기 위해 사용될 수 있는 정보) 등과 같은 위치 정보를 포함한다.Next, upon receiving the extended activity data from the source electronic device 202 in response to the request for the extended activity data, the companion electronic device 204 configures the second application using the expanded activity data ( Step 514). Configuring the second application may include starting / launching the second application, setting the state of the second application (or making a change to the state) based on the extended activity data, and otherwise correspondingly. And configuring the second application to perform the operation. For example, the companion electronic device 204 passes the document / resource identifier in the expanded activity data, information representing the document / resource, and / or a reference to the document / resource to the second application, whereby the second application Allow access to the document / resource (e.g., an identifier / information / representation thereof for a cloud-stored document for access by a second application from a cloud-based repository located on the Internet, a second from a database An identifier for the document to be accessed by the application / information representing it / reference to it, etc.). In some embodiments, where the activity includes creating a document stored in the source electronic device 202, the expanded activity data includes information representing the document or document, thereby providing companion electronic device 204 and / or agent information. 2 allows the application to use / regenerate the document for the second application at the companion electronic device 204. In some embodiments, the extended activity data includes the location and / or content of edits in the document, such as edits made within the document. In some embodiments, the extended activity data may include a final play / view / record location in the media file (ie, a location in the media file where playback or recording was interrupted or last performed), the location of a marker in the file, a game in the video game. Location / state of the gameplay (e.g., final play level, coordinates for where the player was last, points earned and / or achievements achieved, and / or state of game played on source electronic device 202) Location information) such as information that can be used to regenerate at the electronic device 204).

이어서, 동반 전자 디바이스(204)는 제2 애플리케이션에서 액티비티 수행을 시작하며(단계(516)), 이는 일반적으로 (제2 애플리케이션이 이미 실행중이 아닌 경우) 동반 전자 디바이스(204)에서 제2 애플리케이션을 시작/개시하고, 확장된 액티비티 데이터에 기초하여 동반 전자 디바이스(204)에서 제2 애플리케이션을 실행하는 것을 포함한다. 예를 들어, 동반 전자 디바이스(204)는 광고된 액티비티에 관련된 문서에 대한 뷰잉 모드 및/또는 편집 모드에서 제2 애플리케이션이 실행을 시작하게 할 수 있으며, 소스 전자 디바이스(202)에서 문서가 뷰/편집되고 있었던 문서 내의 최종 위치로 제2 애플리케이션이 스크롤하게 할 수 있다. 다음으로, 동반 전자 디바이스(204)는 액티비티가 전달되었음을 나타내는 통지를 소스 전자 디바이스(202)에 전송한다(단계(518)).The companion electronic device 204 then begins to perform the activity in the second application (step 516), which is generally the second application in the companion electronic device 204 (if the second application is not already running). And launching a second application at the companion electronic device 204 based on the expanded activity data. For example, companion electronic device 204 may cause a second application to start execution in a viewing mode and / or an editing mode for a document related to the advertised activity, where the document is viewed / viewed at source electronic device 202. The second application can scroll to the final position in the document that was being edited. Next, companion electronic device 204 sends a notification to source electronic device 202 indicating that the activity has been delivered (step 518).

일부 실시예들은 액티비티 광고 메시지 내의 정보, 예컨대, 액티비티 식별자를 사용하여, 확장된 액티비티 데이터가 송신되는 동안에, 또는 확장된 액티비티 데이터가 요청되기 전에도 제2 애플리케이션을 구성하는 것을 시작할 수 있다는 것에 유의한다. 이러한 실시예들 중 일부는 액티비티 광고 메시지 내의 정보를 사용하여 제2 애플리케이션에 대한 초기 백그라운드를 설정하고, 제2 애플리케이션에 대한 모드(예컨대, 편집 모드, 읽기전용 모드, 이메일 작성 모드, 메모 작성 모드 등)를 설정한다. 따라서, 일부 실시예들은 확장된 액티비티 데이터가 수신되기 전에, 가능하게는 액티비티 전달이 수락되자마자 제2 애플리케이션을 개시하고/하거나 구성할 수 있으며, 그에 의해 애플리케이션 개시 시간으로 데이터 전달 시간을 감춤으로써 느린 네트워크에서의 성능을 개선할 수 있다.Note that some embodiments may use the information in the activity advertising message, such as an activity identifier, to begin configuring the second application while the extended activity data is being sent or even before the extended activity data is requested. Some of these embodiments use the information in the activity advertising message to set an initial background for the second application, and the mode for the second application (eg, edit mode, read-only mode, email writing mode, note taking mode, etc.). ). Thus, some embodiments may launch and / or configure a second application as soon as extended activity data is received, possibly as soon as activity delivery is accepted, thereby slowing down the data delivery time by application launch time. Improve performance on your network.

일부 실시예들에서, 동반 전자 디바이스(204)는 통신 신호(208)와 상이한 신호를 사용하고/하거나 액티비티 광고 메시지가 수신되었던 통신 채널/네트워크 인터페이스와는 상이한 통신 채널/네트워크 인터페이스를 사용함으로써 확장된 액티비티 데이터에 대한 요청을 전송한다. 예를 들어, 동반 전자 디바이스(204)는 블루투스 링크(BLE 프로토콜을 사용함)를 통해 액티비티 광고 메시지를 수신할 수 있고 Wi-Fi 링크 또는 인터넷을 통해 확장된 액티비티 데이터를 요청할 수 있다. 이러한 실시예들에서, 소스 전자 디바이스(202)와 동반 전자 디바이스(204)는 통신 신호(208)(예컨대, 블루투스 링크)를 사용하여, 전자 디바이스들이 상이한 통신 채널/네트워크를 통해 통신할 수 있게 하는 정보를 교환한다. 예를 들어, 이러한 실시예들 중 일부에서, 동반 전자 디바이스(204)는 피어-투-피어 네트워크(예컨대, 애드-호크 Wi-Fi 네트워크)를 생성하고 피어-투-피어 네트워크에 액세스하기 위한 정보를 소스 전자 디바이스(202)에 제공한다. 일부 실시예들에서, 소스 전자 디바이스(202)는 확장된 액티비티 데이터를 서버에 제공하고, 동반 전자 디바이스(204)는 서버로부터, 예컨대 인터넷을 통해, 확장된 액티비티 데이터를 수신한다.In some embodiments, companion electronic device 204 may be extended by using a different signal than communication signal 208 and / or by using a different communication channel / network interface than the communication channel / network interface from which the activity advertisement message was received. Send a request for activity data. For example, companion electronic device 204 may receive an activity advertisement message via a Bluetooth link (using the BLE protocol) and request extended activity data via a Wi-Fi link or the Internet. In such embodiments, source electronic device 202 and companion electronic device 204 may use communication signal 208 (eg, a Bluetooth link) to enable electronic devices to communicate over different communication channels / networks. Exchange information. For example, in some of these embodiments, companion electronic device 204 may generate information for creating a peer-to-peer network (eg, an ad-hawk Wi-Fi network) and accessing the peer-to-peer network. To the source electronic device 202. In some embodiments, source electronic device 202 provides extended activity data to a server, and companion electronic device 204 receives extended activity data from a server, such as via the Internet.

광고 정보에 기초한 수신 상태로의 전환Transition to Received State Based on Ad Information

비록 도 5에서 우리는 액티비티 광고 메시지를 수신하고(도 5, 단계(500)) 동반 전자 디바이스(204)가 수신 상태에 있는지 여부를 결정하는(도 5, 단계(502)) 실시예들을 설명하였으나, 일부 실시예들은 수신된 액티비티 광고 메시지 내의 정보에 기초하여 수신 상태로 전환한다. 이러한 실시예들 중 일부에서, 액티비티 광고 메시지를 수신한 후(예컨대, 도 5, 단계(500)에 도시된 바와 같음), 동반 전자 디바이스(204)는 동반 전자 디바이스(204)가 수신 상태에 있는지 여부를 결정하지 않는다. 즉, 도 5에 도시된 프로세스는 단계(502)의 동작을 수행하지 않고 단계(500)로부터 단계(504)로 진행한다.Although in FIG. 5 we have described embodiments of receiving an activity advertising message (FIG. 5, step 500) and determining whether the companion electronic device 204 is in a receiving state (FIG. 5, step 502). Some embodiments transition to the received state based on the information in the received activity advertisement message. In some of these embodiments, after receiving the activity advertisement message (eg, as shown in FIG. 5, step 500), the companion electronic device 204 determines whether the companion electronic device 204 is in a receiving state. Do not decide whether or not. That is, the process shown in FIG. 5 proceeds from step 500 to step 504 without performing the operation of step 502.

예를 들어, 일부 실시예들에서, 소스 전자 디바이스(202)는 블루투스 로우 에너지(BLE), 지그비 등과 같은 저전력 프로토콜을 사용하여, 액티비티 광고 메시지를 대응하는 통신 신호(208)와 함께 브로드캐스트한다. 동반 전자 디바이스(204)는 대응하는 저전력 메커니즘, 예컨대, 대응하는 네트워크 인터페이스 내의 베이스밴드 프로세서(예컨대, 네트워킹 서브시스템(106) 내의 베이스밴드 프로세서)와 같은 대응하는 저전력 메커니즘을 사용하여 소스 전자 디바이스(202)로부터 브로드캐스트된 액티비티 광고 메시지를 모니터링할 수 있다. 이러한 실시예들 중 일부에서, 액티비티 광고 메시지를 수신하는 것은 동반 전자 디바이스(204)에 대한 베이스밴드 프로세서만을 사용하여 동반 전자 디바이스(204)에 의해 취급되는데, 이는 그렇지 않은 경우 동반 전자 디바이스(204)가 유휴(idle) 상태에 있을 수 있음을 의미한다(예컨대, 프로세싱 서브시스템과 같은 서브시스템은 저전력 상태에 있음). 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 사용자 주머니 안에 유휴 상태로 있는 스마트폰일 수 있고, 이 상태에서는 프로세싱 서브시스템(및 일반적으로 동반 전자 디바이스(204))는 저전력 상태에 있는 한편 베이스밴드 프로세서는 액티비티 광고 메시지를 모니터링한다.For example, in some embodiments, source electronic device 202 broadcasts an activity advertisement message along with a corresponding communication signal 208 using a low power protocol such as Bluetooth Low Energy (BLE), Zigbee, or the like. Companion electronic device 204 uses source electronic device 202 using a corresponding low power mechanism, such as a baseband processor in a corresponding network interface (eg, a baseband processor in networking subsystem 106). Activity advertisement message broadcast from In some of these embodiments, receiving the activity advertisement message is handled by the companion electronic device 204 using only the baseband processor for the companion electronic device 204, which is otherwise the companion electronic device 204. May be in an idle state (eg, a subsystem such as a processing subsystem is in a low power state). For example, in some embodiments, companion electronic device 204 may be a smartphone idle in a user's pocket, where the processing subsystem (and generally companion electronic device 204) is in a low power state. On the other hand, the baseband processor monitors the activity advertisement message.

일부 실시예들에서, 이와 같이 액티비티 광고 메시지를 인식하는 경우, 베이스밴드 프로세서는 추후의 동작들을 수행하기 위해 프로세싱 서브시스템을 웨이크한다(또한 일반적으로 동반 전자 디바이스(204)를 유휴 동작 상태로부터 보다 고전력/보다 활성 동작 상태로 전환시킬 수 있음). 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 액티비티 광고 메시지를 모니터링하고 액티비티 광고 메시지에 대해 응답할 수 있으며, 이는 전술된 바와 같이 참조로서 편입되는, 본 출원과 동일한 날짜에 출원되고, 발명의 명칭이 "Operating Mode Transitions based on Advertising Information"이고, 발명자들 Craig P. Dooley, Akshay Mangalam Srivatsa, Anjali S. Sandesara, 및 Michael Giles에 의한, 대리인 사건 번호 제APL-P22643USP1호인 계류 중인 미국 특허 출원 제xx/xxx,xxx호에 설명된 바와 같다. 일부 실시예들에서, 동반 전자 디바이스(204)/스마트폰은 사용자의 주머니로부터 꺼내어져서 동반 전자 디바이스(204)를 수신 상태로 위치시키도록 활성화될 필요가 없다.In some embodiments, upon recognizing the activity advertisement message as such, the baseband processor wakes up the processing subsystem to perform subsequent operations (also generally bringing the companion electronic device 204 higher power from an idle operating state). Can be switched to an active operating state rather than /). For example, in some embodiments, companion electronic device 204 may monitor the activity advertisement message and respond to the activity advertisement message, which is filed on the same date as the present application, which is incorporated by reference as described above. United States pending title, "Operating Mode Transitions based on Advertising Information", by Agent Craig P. Dooley, Akshay Mangalam Srivatsa, Anjali S. Sandesara, and Michael Giles, Agent Case No. APL-P22643USP1 As described in patent application xx / xxx, xxx. In some embodiments, the companion electronic device 204 / smartphone does not need to be taken out of the user's pocket and activated to place the companion electronic device 204 in a received state.

확장된 액티비티 데이터에 대한 요청에 응답하기Respond to Requests for Extended Activity Data

도 6은 일부 실시예들에 따른, 확장된 액티비티 데이터에 대한 요청에 응답하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 6에 도시된 프로세스 동안, 소스 전자 디바이스(202)와 같은 전자 디바이스는 동반 전자 디바이스(204)와 같은 전자 디바이스로부터의 확장된 액티비티 데이터에 대한 요청에 응답한다. 도 6에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 비록 동작들의 설명에 있어서 소정 메커니즘들(예컨대, 소스 전자 디바이스(202), 동반 전자 디바이스(204))이 사용되고 있으나, 일부 실시예들에서, 다른 전자 디바이스들 및/또는 메커니즘들이 동작들을 수행한다.6 shows a flowchart illustrating a process for responding to a request for extended activity data, in accordance with some embodiments. More specifically, during the process shown in FIG. 6, an electronic device, such as source electronic device 202, responds to a request for extended activity data from an electronic device, such as companion electronic device 204. Note that the operations shown in FIG. 6 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, source electronic device 202, companion electronic device 204) are used in the description of the operations, in some embodiments, other electronic devices and / or mechanisms perform the operations. do.

도 6에 도시된 프로세스는, 도 5의 단계(512)를 참조하여 설명된 바와 같이, 예컨대 동반 전자 디바이스(204)가 송신한 확장된 액티비티 데이터에 대한 요청과 같은 확장된 액티비티 데이터에 대한 요청을 소스 전자 디바이스(202)가 수신할 때 시작된다(단계(600)).The process shown in FIG. 6 may be used to request a request for extended activity data, such as a request for extended activity data transmitted by the companion electronic device 204, as described with reference to step 512 of FIG. 5. Begins when the source electronic device 202 receives (step 600).

다음으로, 소스 전자 디바이스(202)는 확장된 액티비티 데이터에 대한 요청 내의 정보를 사용하여 요청이 제1 애플리케이션에 대한 확장된 액티비티 데이터에 대한 것임을 결정한다(단계(602)). 예를 들어, 먼저 설명된 것과 같이, 확장된 액티비티 데이터에 대한 요청은 액티비티 광고 메시지로부터의 액티비티 식별자를 포함할 수 있다(도 3의 단계(308) 참조). 일부 실시예들에서, 소스 전자 디바이스(202)는 광고된-액티비티 테이블(또는 액티비티 정보가 저장되어 있는 다른 구조체; 광고된-액티비티 테이블의 예들은 도 12를 참조하여 아래에 보다 상세히 설명됨) 내에서 액티비티 식별자에 대한 룩업(lookup)을 수행한다. 소스 전자 디바이스(202)가 액티비티 광고 메시지로부터의 액티비티 식별자를 포함하는 광고된-액티비티 테이블 내의 엔트리를 발견하는 경우, 소스 전자 디바이스(202)는 엔트리에 대한 액티비티 정보를 검색하여, 예컨대, 엔트리에 대한 애플리케이션 식별자가 제1 애플리케이션에 대한 애플리케이션 식별자라고 결정함으로써, 액티비티 식별자가 제1 애플리케이션에 대응한다고 결정할 수 있다(액티비티 정보 및 애플리케이션 식별자들의 예들은 도 11 및 도 12를 참조하여 보다 상세히 설명한다).Next, the source electronic device 202 uses the information in the request for extended activity data to determine that the request is for extended activity data for the first application (step 602). For example, as described above, the request for extended activity data may include the activity identifier from the activity advertisement message (see step 308 of FIG. 3). In some embodiments, the source electronic device 202 may be configured in an advertised-activity table (or other structure in which activity information is stored; examples of the advertised-activity table are described in more detail below with reference to FIG. 12). Performs a lookup on the activity identifier. If the source electronic device 202 finds an entry in the advertised-activity table that includes the activity identifier from the activity advertisement message, the source electronic device 202 retrieves the activity information for the entry, eg, for the entry. By determining that the application identifier is an application identifier for the first application, it may be determined that the activity identifier corresponds to the first application (examples of activity information and application identifiers will be described in more detail with reference to FIGS. 11 and 12).

다음으로, 소스 전자 디바이스(202)는 선택적으로 액티비티에 관련된 업데이트를 수행하라는 통지/요청을 제1 애플리케이션에 전송한다(단계(604)). 일부 실시예들에서, 통지는 제1 애플리케이션으로 하여금, 확장된 액티비티 데이터를 동반 전자 디바이스(204)에 제공하기 전에 확장된 액티비티 데이터를 업데이트하게 한다. 예를 들어, 제1 애플리케이션은 통지를 사용하여 액티비티에 관련된 문서에 대한 최종 스크롤/뷰된 위치를 업데이트하고/하거나 액티비티가 전달되기 전에 액티비티에 관련된 동작들, 예컨대 액티비티에 관련된 문서 저장하기, 액티비티에 관련된 문서의 최근 초안을 이용하여 확장된 액티비티 데이터 업데이트하기 등과 같이 액티비티에 관련된 마무리 동작들을 수행할 수 있다.Next, the source electronic device 202 optionally sends a notification / request to the first application to perform an update related to the activity (step 604). In some embodiments, the notification causes the first application to update the extended activity data before providing the expanded activity data to the companion electronic device 204. For example, the first application may use the notification to update the final scrolled / viewed position for the document related to the activity and / or to perform actions related to the activity, such as saving the document related to the activity, related to the activity before the activity is delivered. A recent draft of a document can be used to perform finishing actions related to the activity, such as updating extended activity data.

이어서, 소스 전자 디바이스(202)는 제1 애플리케이션에 대한 확장된 액티비티 데이터를 검색한다(단계(606)). 일부 실시예들에서, 소스 전자 디바이스(202)는 제1 애플리케이션에게 확장된 액티비티 데이터를 제공하도록 요청한다. 일부 실시예들에서, 제1 애플리케이션은 확장된 액티비티의 일부 또는 전부와 함께 초기 액티비티 정보(도 3, 단계(300) 참조)를 제공하고/하거나 확장된 액티비티 정보를 주기적으로 보고한다(예컨대, N초마다 보고하고 - N은 1, 3 등과 같은 수 -, 제1 애플리케이션에서 문서가 저장되고 제1 애플리케이션에서 관람 중이던 영화가 일시정지되는 등과 같이 제1 애플리케이션에 대해 이벤트가 발생하는 때마다 확장된 액티비티 정보를 보고함).The source electronic device 202 then retrieves the extended activity data for the first application (step 606). In some embodiments, the source electronic device 202 requests the first application to provide extended activity data. In some embodiments, the first application provides initial activity information (see FIG. 3, step 300) with some or all of the extended activity and / or periodically reports the extended activity information (eg, N Report every second-N is a number such as 1, 3, etc.-extended activity each time an event occurs for the first application, such as a document being saved in the first application and a movie being watched in the first application being paused Report information).

다음으로, 소스 전자 디바이스(202)는 동반 전자 디바이스(204)에 확장된 액티비티 데이터를 전송한다(단계(608)). 일반적으로, 확장된 액티비티 데이터는 제2 애플리케이션이 액티비티를 계속할 수 있도록 구성하는데 사용될 수 있는 정보, 예컨대, 제1 애플리케이션에서 수행된 액티비티를 위해 사용된 문서를 식별하는 문서 식별자(및/또는 문서에 대한 참조와 같이 문서를 표현하는 정보), 제1 애플리케이션에서 액세스/브라우징된 웹페이지의 URL(및/또는 웹페이지/URL에 대한 참조와 같은 웹페이지/URL을 표현하는 정보), 위치 정보(예컨대, 문서 또는 웹페이지 내의 최종적으로 열람된/스크롤된 위치의 표시, 비디오 게임의 최종적으로 플레이된 위치 등), 소스 전자 디바이스(202)에 그리고/또는 인터넷(예컨대, "클라우드 저장소") 또는 회사 네트워크 상에서 액세스 가능한 저장 디바이스에 저장된 초안 문서의 사본(및/또는 초안 문서에 대한 참조와 같이 초안 문서를 표현하는 정보) 등을 포함한다.Next, the source electronic device 202 transmits the expanded activity data to the companion electronic device 204 (step 608). Generally, extended activity data is information that can be used to configure a second application to continue the activity, such as a document identifier (and / or for a document) that identifies the document used for the activity performed in the first application. Information representing a document, such as a reference), URL of a webpage accessed / browsed from a first application (and / or information representing a webpage / URL such as a reference to a webpage / URL), location information (e.g., An indication of the last viewed / scrolled position in the document or web page, the last played position of the video game, etc., on the source electronic device 202 and / or on the internet (eg, “cloud storage”) or on a corporate network. Copies of draft documents (and / or references to draft documents) stored on accessible storage devices And the like to the current information).

이어서, 소스 전자 디바이스(202)는 액티비티가 전달되었다는 통지를 수신하는데(단계(610)), 예컨대, 도 5, 단계(518)를 참조하여 설명된 바와 같이, 동반 전자 디바이스(204)에 의해 전송된 통지를 수신한다. 일부 실시예들에서, 통지를 수신하는 것에 응답하여, 소스 전자 디바이스(202)는 액티비티가 전달되었음을 제1 애플리케이션에 통지한다(단계(612)). 일부 실시예들에서, 소스 전자 디바이스(202) 및/또는 제1 애플리케이션은 통지를 수신하는 것에 기초하여 액티비티에 관련된 하나 이상의 동작, 예컨대, 국소적으로 저장된 문서/문서 초안의 삭제, 열린 문서 닫기, 애플리케이션 셧다운하기 등과 같은 하우스키핑 태스크들을 수행한다.The source electronic device 202 then receives a notification that the activity has been delivered (step 610), eg, sent by the companion electronic device 204, as described with reference to FIG. 5, step 518. Receive a notification. In some embodiments, in response to receiving the notification, source electronic device 202 notifies the first application that the activity has been delivered (step 612). In some embodiments, the source electronic device 202 and / or the first application may be configured to receive one or more actions related to the activity based on receiving the notification, such as deleting a locally stored document / document draft, closing an open document, Perform housekeeping tasks such as shutting down the application.

일부 실시예들에서, 소스 전자 디바이스(202)는 통신 신호(208)와 상이한 신호를 사용하고/하거나 액티비티 광고 메시지 및/또는 확장된 액티비티 데이터에 대한 요청이 통신되었던 통신 채널/네트워크 인터페이스와는 상이한 통신 채널/네트워크 인터페이스를 사용함으로써, 확장된 액티비티 데이터를 제공한다. 예를 들어, 소스 전자 디바이스(202)는 블루투스 링크를 통해 확장된 액티비티 데이터에 대한 요청을 수신할 수 있고, Wi-Fi 링크 또는 인터넷을 통해 확장된 액티비티 데이터를 제공할 수 있다.In some embodiments, the source electronic device 202 uses a different signal from the communication signal 208 and / or is different from the communication channel / network interface to which the request for activity advertisement message and / or extended activity data was communicated. By using a communication channel / network interface, it provides extended activity data. For example, the source electronic device 202 may receive a request for extended activity data over a Bluetooth link and provide extended activity data over a Wi-Fi link or the Internet.

클라우드 페어링을 사용한 보안 통신Secure communication using cloud pairing

이전에 논의된 바와 같이, 일부 실시예들에서, 액티비티 전달 동작을 수행하는 전자 디바이스들은 예비 페어링 동작, 예를 들어, 전술된 바와 같이 참조로서 편입되는, 발명의 명칭이 "Predefined Wireless Pairing"이고, 발명자들 Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, 및 Michael Giles에 의한, 본 출원과 동일한 날짜에 출원된, 대리인 사건 번호 제APL-P22642USP1호인 계류 중인 미국 특허 출원 제xx/xxx,xxx호에 설명된 미리정의된 페어링과 같은 "클라우드 페어링" 동작에 참여한다. 일부 실시예들에서, 전자 디바이스들은 클라우드 페어링 동작 동안 획득된 보안 정보를 사용하여, 예컨대, 클라우드 페어링 동작 동안 획득된 암호화 키를 사용하여, 액티비티 전달 동작을 수행하기 위해 서로 교환된 메시지들을 암호화 및 복호화한다.As previously discussed, in some embodiments, electronic devices performing an activity transfer operation are named "Predefined Wireless Pairing", which is incorporated by reference as a preliminary pairing operation, eg, as described above, Pending U.S. Patent Application No. xx / xxx, xxx, Agent Case No. APL-P22642USP1, filed on the same date as this application, by inventors Jason C. Conn, Akshay Mangalam Srivatsa, Craig P. Dooley, and Michael Giles. Participate in a "cloud pairing" operation such as the predefined pairing described in the call. In some embodiments, electronic devices encrypt and decrypt messages exchanged with each other to perform an activity delivery operation using security information obtained during a cloud pairing operation, eg, using an encryption key obtained during a cloud pairing operation. do.

예를 들어, 일부 실시예들에서, 소스 전자 디바이스(202)는 소스 전자 디바이스(202)가 동반 전자 디바이스(204)와 함께 수행하는 클라우드 페어링 동작 동안 획득된 암호화 키를 사용하여 액티비티 광고 메시지(도 3, 단계(310) 참조) 및/또는 확장된 액티비티 데이터(도 6, 단계(608) 참조)를 암호화한다. 일부 실시예들에서, 동반 전자 디바이스(204)는 동일한 보안 정보, 동반 전자 디바이스(204)가 소스 전자 디바이스(202)와 함께 수행하는 클라우드 페어링 동작 동안 획득된 상이한 보안 정보, 및/또는 클라우드 페어링 동작 동안 획득된 보안 정보로부터 도출된 정보를 사용하여, 확장된 액티비티 데이터에 대한 요청(도 5, 단계(512) 참조) 및/또는 액티비티가 전달되었다는 통지(도 5, 단계(518) 참조)를 암호화한다.For example, in some embodiments, the source electronic device 202 may use an activity advertisement message (FIG. 1) using an encryption key obtained during a cloud pairing operation that the source electronic device 202 performs with the companion electronic device 204. 3, see step 310) and / or the expanded activity data (see FIG. 6, step 608). In some embodiments, companion electronic device 204 may have the same security information, different security information obtained during a cloud pairing operation that companion electronic device 204 performs with source electronic device 202, and / or cloud pairing operation. Encrypts the request for extended activity data (see FIG. 5, step 512) and / or the notification that the activity has been delivered (see FIG. 5, step 518) using information derived from the security information obtained during the do.

액티비티 식별자를 사용한 제2 애플리케이션 결정Determining a Second Application Using Activity Identifiers

이전에 설명된 바와 같이, 일부 실시예들에서, 전자 디바이스는 (전자 디바이스로의 가능한 액티비티 전달을 용이하게 하기 위해) 제1 애플리케이션과 연관된 제2 애플리케이션이 전자 디바이스에서 이용가능한지 여부를 결정한다. 도 7은 일부 실시예들에 따른, 동반 전자 디바이스(204)에 제2 애플리케이션이 이용가능한지 여부를 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 도 7에 도시된 동작들은 도 5에 도시된 프로세스, 예컨대, 단계(504) 동안 수행될 수 있다. 도 7에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 동작들의 설명에 있어서 비록 소정 메커니즘들(예컨대, 동반 전자 디바이스(204) 등)이 사용되고 있으나, 일부 실시예들에서, 다른 메커니즘들이 동작들을 수행한다. 예를 들어, 소스 전자 디바이스(202) 및 제2 소스 전자 디바이스(206) 중 하나 또는 둘 모두가 제2 애플리케이션이 이용가능한지 여부를 자체적으로 결정하기 위해 유사한 동작들을 수행할 수 있다.As previously described, in some embodiments, the electronic device determines whether a second application associated with the first application is available at the electronic device (to facilitate possible activity delivery to the electronic device). 7 shows a flow diagram illustrating a process for determining whether a second application is available to a companion electronic device 204, in accordance with some embodiments. The operations shown in FIG. 7 may be performed during the process shown in FIG. 5, eg, step 504. Note that the operations shown in FIG. 7 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, companion electronic device 204, etc.) are used in the description of the operations, in some embodiments, other mechanisms perform the operations. For example, one or both of source electronic device 202 and second source electronic device 206 may perform similar operations to determine for themselves whether a second application is available.

도 7에 도시된 프로세스는, 동반 전자 디바이스(204)가 액티비티 광고 메시지 내의 플래그가 어서팅되는지 여부를 결정할 때 시작된다(단계(700)). 이전에 설명된 바와 같이, 일부 실시예들에서, 소스 전자 디바이스(202)는 액티비티 식별자가 광고된 액티비티에 대한 도메인 네임의 표현이고/이를 포함한다고 나타내기 위해 액티비티 광고 메시지 내에 플래그를 어서팅한다. 이러한 실시예들 중 일부에서, 동반 전자 디바이스(204)는 플래그가 어서팅되었다고 결정함으로써 액티비티 광고 메시지가 도메인 네임의 표현을 포함하고 있다고 결정한다. 플래그들은 예컨대 도 11 및 도 13을 참조하여 이후에 본 명세서에서 상세히 설명한다.The process shown in FIG. 7 begins when the companion electronic device 204 determines whether a flag in the activity advertisement message is asserted (step 700). As previously described, in some embodiments, source electronic device 202 asserts a flag within an activity advertising message to indicate that the activity identifier is a representation of and / or includes a domain name for the advertised activity. In some of these embodiments, companion electronic device 204 determines that the activity advertisement message includes a representation of a domain name by determining that the flag is asserted. The flags are described in detail later herein, for example, with reference to FIGS. 11 and 13.

액티비티 광고 메시지 내의 플래그가 어서팅된 경우(단계(700), 예), 동반 전자 디바이스(204)는 플래그를 프로세싱한다(단계(702)). 단계(702)에서 발생하는 플래그의 프로세싱은 도 8을 참조하여 이후에 설명한다. 일부 실시예들은 액티비티 광고 메시지 내의 어서팅된 플래그 각각에 대해 단계(702)(즉, 도 8을 참조하여 설명된 프로세싱)를 반복하는데, 예컨대, 액티비티 광고 메시지가 2개 이상의 어서팅된 플래그를 포함하는 경우 어서팅된 플래그 각각에 대한 프로세싱을 반복한다.If the flag in the activity advertisement message is asserted (step 700, yes), the companion electronic device 204 processes the flag (step 702). The processing of the flag that occurs in step 702 is described later with reference to FIG. Some embodiments repeat step 702 (ie, the processing described with reference to FIG. 8) for each asserted flag in the activity advertisement message, eg, the activity advertisement message includes two or more asserted flags. If so, processing for each asserted flag is repeated.

액티비티 광고 메시지가 어서팅된 플래그를 포함하지 않는 경우(단계(700), 아니오), 동반 전자 디바이스(204)는 액티비티 광고 메시지로부터의 액티비티 식별자를 동반 전자 디바이스(204)에서 이용가능한 액티비티들에 대한 액티비티 식별자들과 비교한다(단계(704)). 예를 들어, 동반 전자 디바이스(204)는 동반 전자 디바이스(204)의 이용가능-액티비티 테이블(또는 도 4를 참조하여 이전에 설명된 바와 같이, 동반 전자 디바이스(204)가 이용가능한 액티비티 정보를 저장하고 있는 다른 구조체) 내의 액티비티 식별자들 내에서 액티비티 광고 메시지로부터의 액티비티 식별자를 룩업할 수 있다.If the activity advertisement message does not include an asserted flag (step 700, no), the companion electronic device 204 may retrieve the activity identifier from the activity advertisement message for the activities available at the companion electronic device 204. Compare to activity identifiers (step 704). For example, the companion electronic device 204 stores the available-activity table of the companion electronic device 204 (or activity information available to the companion electronic device 204, as previously described with reference to FIG. 4). The activity identifier from the activity advertisement message in the activity identifiers).

액티비티 식별자에 대한 룩업이 이용가능-액티비티 테이블 내의 엔트리에서 매치를 발견하는 경우(단계(706), 예), 동반 전자 디바이스(204)는 제2 애플리케이션이 그 엔트리에 자신의 액티비티 식별자가 저장되어 있는 애플리케이션이라고 결정한다(단계(708)).If a lookup for an activity identifier finds a match in an entry in the activity table (step 706, yes), the companion electronic device 204 causes the second application to store its activity identifier in that entry. Determine that it is an application (step 708).

액티비티 식별자에 대한 룩업이 이용가능한 액티비티 정보에서 매치를 발견하지 않은 경우(단계(706), 아니오), 동반 전자 디바이스(204)는 제1 애플리케이션과 연관된 애플리케이션이 동반 전자 디바이스(204)에서 이용가능하지 않다고 결정한다(단계(710)).If the lookup for the activity identifier did not find a match in the available activity information (step 706, no), the companion electronic device 204 may not allow the application associated with the first application to be available at the companion electronic device 204. Not determined (step 710).

플래그를 사용한 제2 애플리케이션 결정Determining a Second Application Using Flags

이전에 설명된 바와 같이, 일부 실시예들은 액티비티 광고 메시지 내에 플래그를 어서팅한다. 도 8은 일부 실시예들에 따른, 플래그를 사용하여 제2 애플리케이션을 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 8은 도 7의 단계(702)에서 동반 전자 디바이스(204)가 수행하는 프로세스를 예시하는 흐름도를 나타낸다. 도 8에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 동작들의 설명에 있어서 비록 소정 메커니즘들(예컨대, 동반 전자 디바이스(204) 등)이 사용되고 있으나, 일부 실시예들에서, 다른 메커니즘들이 동작들을 수행한다. 예를 들어, 소스 전자 디바이스(202) 및 제2 소스 전자 디바이스(206) 중 하나 또는 둘 모두가 자체적으로 유사한 동작들을 수행할 수 있다.As previously described, some embodiments assert a flag within an activity advertising message. 8 shows a flowchart illustrating a process for determining a second application using a flag, in accordance with some embodiments. More specifically, FIG. 8 shows a flow diagram illustrating a process performed by companion electronic device 204 in step 702 of FIG. 7. Note that the operations shown in FIG. 8 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, companion electronic device 204, etc.) are used in the description of the operations, in some embodiments, other mechanisms perform the operations. For example, one or both of the source electronic device 202 and the second source electronic device 206 may perform similar operations on their own.

도 8에 도시된 프로세스는 동반 전자 디바이스(204)가 플래그에 대응하는 애플리케이션을 결정할 때 시작된다(단계(800)). 일부 실시예들에서, 동반 전자 디바이스(204)는 플래그에 대응하는 애플리케이션을 결정하기 위해 어서팅된 플래그의 위치 및/또는 플래그의 값을 사용한다. 예를 들어, 액티비티 광고 메시지가 어서팅될 수 있는 둘 이상의 플래그를 포함하는 경우, 플래그 각각은 액티비티를 계속하기 위해 사용될 수 있는 상이한 애플리케이션을 식별하기 위해 사용될 수 있다. 일부 실시예들에서, 플래그는 다중-비트 필드이고, 다중-비트 필드의 상이한 값들은 상이한 애플리케이션을 식별한다. 일부 실시예들에서, 동반 전자 디바이스(204)는, 플래그들의 위치/값이 대응하는 애플리케이션을 식별하는 매핑을 저장한다.The process shown in FIG. 8 begins when the companion electronic device 204 determines an application corresponding to the flag (step 800). In some embodiments, companion electronic device 204 uses the location of the asserted flag and / or the value of the flag to determine an application corresponding to the flag. For example, if an activity advertising message includes two or more flags that may be asserted, each of the flags may be used to identify different applications that may be used to continue the activity. In some embodiments, the flag is a multi-bit field and different values of the multi-bit field identify different applications. In some embodiments, companion electronic device 204 stores a mapping in which the location / value of flags identifies the application to which it corresponds.

다음으로, 동반 전자 디바이스(204)는 플래그에 대응하는 애플리케이션이 동반 전자 디바이스(204)에서 이용가능한지 여부를 결정한다(단계(802)). 예를 들어, 동반 전자 디바이스(204)는 플래그에 대응하는 애플리케이션이 동반 전자 디바이스(204)에 설치되었는지 여부를 확인할 수 있다. 일부 실시예들에서, 단계(802)는 미수행/생략됨으로써 도 8에 도시된 프로세스가 단계(800)로부터 단계(804)로 계속된다. 예를 들어, 동반 전자 디바이스(204)에서 이용가능한 것으로 공지되고 사용자에 의해 설치 삭제(uninstall)될 수 없는 사전-설치된 애플리케이션들만을 식별하기 위해 플래그들을 사용하는 실시예들에서는, 단계(802)가 수행되지 않는다.Next, companion electronic device 204 determines whether an application corresponding to the flag is available at companion electronic device 204 (step 802). For example, the companion electronic device 204 can confirm whether an application corresponding to the flag has been installed in the companion electronic device 204. In some embodiments, step 802 is not performed / omitted such that the process shown in FIG. 8 continues from step 800 to step 804. For example, in embodiments where flags are used to identify only pre-installed applications that are known to be available at companion electronic device 204 and cannot be uninstalled by a user, step 802 is Not performed.

플래그에 대응하는 애플리케이션이 이용가능한 경우(단계(802), 예), 동반 전자 디바이스(204)는 제2 애플리케이션이 플래그에 대응하는 애플리케이션이라고 결정한다(단계(804)). 이어서 프로세스는 종료되고, 이는 도 5의 단계(506)에서 계속되는 것을 포함할 수 있다.If an application corresponding to the flag is available (step 802, yes), the companion electronic device 204 determines that the second application is an application corresponding to the flag (step 804). The process then ends, which may include continuing at step 506 of FIG. 5.

플래그에 대응하는 애플리케이션이 동반 전자 디바이스(204)에서 이용가능하지 않은 경우(단계(802), 아니오), 프로세스는 종료된다. 이 시점에서, 동반 전자 디바이스(204)는 제2 애플리케이션이 이용가능하지 않다고 결정할 수 있거나(예컨대, 도 5의 경우, 단계(504), 아니오), 도 7의 단계(704)로 계속하여 액티비티 광고 메시지로부터의 액티비티 식별자를 사용함으로써 제2 애플리케이션이 이용가능한지 여부를 결정할 수 있다.If the application corresponding to the flag is not available at the companion electronic device 204 (step 802, no), the process ends. At this point, the companion electronic device 204 may determine that the second application is not available (eg, step 504, no for FIG. 5), or continue to step 704 of FIG. 7. The activity identifier from the message can be used to determine whether a second application is available.

일부 실시예들에서, 도 8에 도시된 프로세스는 제1 애플리케이션과 상이한 애플리케이션이 동반 전자 디바이스(204)에서 액티비티를 계속하도록 허용한다. 예를 들어, 제1 애플리케이션이 웹 브라우저이고, 제1 애플리케이션에서 수행되는 액티비티가 소셜 미디어 웹사이트의 브라우징을 포함하는 경우를 고려해본다. 이러한 예에서, 제2 애플리케이션은 제1 애플리케이션/웹 브라우저에서 액세스된 리소스(예컨대, 소셜 미디어 사용자 페이지 등)에 액세스하는 소셜 미디어 앱일 수 있다(즉, 제2 애플리케이션은 앱이고, 웹 브라우저가 아니다). 플래그를 사용함으로써, 이러한 실시예들은 소셜 미디어 웹사이트에서 수행되고 있었던 액티비티를, 웹 브라우저가 중단된 동일한 지점에서 계속하도록 소셜 미디어 앱을 구성할 수 있다. 다른 예로서, 일부 실시예들에서, 제1 애플리케이션은 웹사이트로부터 영화를 스트리밍하는 독립형 미디어 스트리밍 앱(예컨대, 미디어 재생기 앱)이고, 제2 애플리케이션은 영화를 스트리밍할 수 있는 웹 브라우저이다. 플래그를 사용함으로써, 이러한 실시예들은 웹 브라우저가 영화 재생을 계속하도록 구성하는데, 이는 웹 브라우저로 하여금 미디어 스트리밍 앱이 중단된 곳에서 영화 재생을 계속하게 하도록 액티비티에 대한 확장된 액티비티 데이터를 사용하는 것을 포함할 수 있다.In some embodiments, the process shown in FIG. 8 allows an application different from the first application to continue the activity at the companion electronic device 204. For example, consider the case where the first application is a web browser and the activity performed in the first application includes browsing of a social media website. In this example, the second application may be a social media app that accesses a resource (eg, social media user page, etc.) accessed from the first application / web browser (ie, the second application is an app, not a web browser). . By using the flag, these embodiments can configure the social media app to continue the activity that was being performed on the social media website at the same point where the web browser was interrupted. As another example, in some embodiments, the first application is a standalone media streaming app (eg, a media player app) that streams a movie from a website, and the second application is a web browser capable of streaming a movie. By using the flag, these embodiments configure the web browser to continue playing the movie, which uses the extended activity data for the activity to cause the web browser to continue playing the movie where the media streaming app was interrupted. It may include.

일부 실시예들에서, 소스 전자 디바이스(202)는 소스 전자 디바이스(202)가 동반 전자 디바이스(204)에서 액티비티를 어떻게 계속할지에 대한 명령어들/정보를 후속적으로 제공할 것이라고 나타내기 위해, 액티비티 광고 메시지 내에 제2 플래그(또는 플래그에 대한 상이한 값)를 설정한다. 일부 실시예들에서, 플래그에 대응하는 애플리케이션은 동반 전자 디바이스(204)에서 어떻게 액티비티를 계속할지에 대한 명령어들/정보를 포함한다. 일부 실시예들에서, 확장된 액티비티 데이터는 동반 전자 디바이스(204)에서 액티비티를 계속하는 것에 대한 명령어들/정보를 제공한다.In some embodiments, the source electronic device 202 will indicate that the source electronic device 202 will subsequently provide instructions / information on how to continue the activity at the companion electronic device 204. Set a second flag (or different value for the flag) in the advertising message. In some embodiments, the application corresponding to the flag includes instructions / information on how to continue the activity at companion electronic device 204. In some embodiments, the extended activity data provides instructions / information for continuing the activity at the companion electronic device 204.

광고된 액티비티를 저장하는 구조체를 사용한 제2 애플리케이션 결정Determining a second application using a structure to store the advertised activity

도 3을 참조하여 이전에 설명된 바와 같이, 일부 실시예들에서, 액티비티 광고 메시지 내의 액티비티 식별자는 액티비티를 광고했던 전자 디바이스가 광고된 액티비티에 대한 액티비티 정보를 저장하고 있는 구조체(예컨대, 테이블) 내의 엔트리를 식별한다. 도 9는 일부 실시예들에 따른, 이러한 구조체 내의 엔트리를 액티비티 식별자가 식별하는 경우 제2 애플리케이션이 이용가능한지 여부를 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 9에 도시된 프로세스 동안, 동반 전자 디바이스(204)는 소스 전자 디바이스(202)가 광고된 액티비티에 대한 액티비티 정보를 저장했던 광고된-액티비티 테이블 내의 엔트리를 식별하는 액티비티 식별자를 사용하여, 제1 애플리케이션과 연관된 제2 애플리케이션이 동반 전자 디바이스(204)에서 이용가능한지 여부를 결정한다(광고된-액티비티 테이블의 예들은 도 12를 참조하여 아래에서 보다 상세히 설명한다). 도 9에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 비록 동작들의 설명에 있어서 소정 메커니즘들(예컨대, 소스 전자 디바이스(202), 동반 전자 디바이스(204))이 사용되고 있으나, 일부 실시예들에서, 다른 전자 디바이스들 및/또는 메커니즘들이 동작들을 수행한다.As previously described with reference to FIG. 3, in some embodiments, the activity identifier in the activity advertisement message is in a structure (eg, a table) in which the electronic device that advertised the activity stores activity information for the advertised activity. Identifies the entry. 9 shows a flowchart illustrating a process for determining whether a second application is available when an activity identifier identifies an entry in such a structure, in accordance with some embodiments. More specifically, during the process shown in FIG. 9, companion electronic device 204 may identify an activity identifier that identifies an entry in the advertised-activity table from which source electronic device 202 stored activity information for the advertised activity. Use to determine whether a second application associated with the first application is available at the companion electronic device 204 (examples of advertised-activity tables are described in more detail below with reference to FIG. 12). Note that the operations shown in FIG. 9 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, source electronic device 202, companion electronic device 204) are used in the description of the operations, in some embodiments, other electronic devices and / or mechanisms perform the operations. do.

도 9에 도시된 프로세스는, 소스 전자 디바이스(202)가 광고된 액티비티에 대한 액티비티 정보를 저장했던 광고된-액티비티 테이블 내의 엔트리를 식별하는 액티비티 식별자를 동반 전자 디바이스(204)가 수신할 때 시작된다(단계(900)). 일부 실시예들에서, 액티비티 식별자는 테이블 식별자 및 엔트리 인덱스를 포함하고, 테이블 식별자는 소스 전자 디바이스(202)가 광고된 액티비티에 대한 액티비티 정보를 저장했던 광고된-액티비티 테이블을 식별하며, 엔트리 인덱스는 광고된 액티비티에 대한 액티비티 정보가 저장된 테이블 식별자에 의해 식별된 광고된-액티비티 테이블 내의 엔트리를 식별한다. 일부 실시예들에서, 테이블 식별자는 광고된-액티비티 테이블 데이터의 해시이다.The process shown in FIG. 9 begins when the companion electronic device 204 receives an activity identifier that identifies an entry in the advertised-activity table from which the source electronic device 202 stored activity information for the advertised activity. (Step 900). In some embodiments, the activity identifier includes a table identifier and an entry index, the table identifier identifies the advertised-activity table in which the source electronic device 202 stored the activity information for the advertised activity, and the entry index is Identifies an entry in the advertised-activity table identified by the table identifier in which activity information for the advertised activity is stored. In some embodiments, the table identifier is a hash of advertised-activity table data.

다음으로, 동반 전자 디바이스(204)는 액티비티 식별자에 대한 광고된-액티비티 테이블이 동반 전자 디바이스(204)에서 이용가능한지 여부를 결정한다(단계(902)). 일부 실시예들에서, 동반 전자 디바이스(204)는 동반 전자 디바이스(204)가 광고된-액티비티 테이블의 국소적 사본을 저장했는지 여부를 결정하기 위해 액티비티 식별자로부터의 테이블 식별자를 사용한다.The companion electronic device 204 then determines whether an advertised-activity table for the activity identifier is available at the companion electronic device 204 (step 902). In some embodiments, companion electronic device 204 uses the table identifier from the activity identifier to determine whether companion electronic device 204 has stored a local copy of the advertised-activity table.

액티비티 식별자에 대한 광고된-액티비티 테이블이 동반 전자 디바이스(204)에서 이용가능하지 않은 경우(단계(902), 아니오), 동반 전자 디바이스(204)는 소스 전자 디바이스(202)로부터 광고된-액티비티 테이블을 검색한다(단계(904)). 일부 실시예들에서, 동반 전자 디바이스(204)는 액티비티 광고 메시지로부터의 액티비티 식별자에 의해 식별된 광고된-액티비티 테이블, 예컨대, 테이블 식별자에 의한 광고된-액티비티 테이블 식별자를 전송해줄 것을 소스 전자 디바이스(202)에게 요청한다. 동반 전자 디바이스(204)는 이러한 요청을 송신할 수 있고, 소스 전자 디바이스(202)는 통신 신호(208) 및/또는 상이한 통신 신호/상이한 채널을 사용하여 이러한 요청에 응답할 수 있다.If the advertised-activity table for the activity identifier is not available at the companion electronic device 204 (step 902, no), the companion electronic device 204 is advertised from the source electronic device 202. (Step 904). In some embodiments, companion electronic device 204 is configured to transmit an advertised-activity table identified by an activity identifier from an activity advertisement message, eg, an advertised-activity table identifier by a table identifier. 202). The companion electronic device 204 can transmit this request, and the source electronic device 202 can respond to this request using the communication signal 208 and / or a different communication signal / different channel.

일부 실시예들에서, 동반 전자 디바이스(204)는 자신의 광고된-액티비티 테이블의 국소적 사본/사본들을 소스 전자 디바이스(202)와 주기적으로 동기화한다. 예를 들어, 동반 전자 디바이스(204)는 "푸쉬" 메커니즘을 사용하여, 즉, 광고된-액티비티 테이블의 사본에 대한 요청의 전송 없이 소스 전자 디바이스(202)로부터 광고된-액티비티 테이블의 사본을 수신할 수 있다.In some embodiments, companion electronic device 204 periodically synchronizes local copies / copies of its advertised-activity table with source electronic device 202. For example, the companion electronic device 204 receives a copy of the advertised-activity table from the source electronic device 202 using a "push" mechanism, that is, without sending a request for a copy of the advertised-activity table. can do.

액티비티 식별자에 대한 광고된-액티비티 테이블이 동반 전자 디바이스(204)에서 이용가능한 경우(단계(902), 예), 또는 광고된-액티비티 테이블을 소스 전자 디바이스(202)로부터 수신한 후, 동반 전자 디바이스(204)는 액티비티 식별자를 사용하여 광고된-액티비티 테이블로부터 액티비티 정보를 검색한다(단계(906)). 예를 들어, 동반 전자 디바이스(204)는 엔트리 인덱스에 의해 식별된 광고된-액티비티 테이블 내의 엔트리로부터 액티비티 정보를 검색할 수 있다.If the advertised-activity table for the activity identifier is available at the companion electronic device 204 (step 902, yes), or after receiving the advertised-activity table from the source electronic device 202, the companion electronic device. 204 retrieves the activity information from the advertised-activity table using the activity identifier (step 906). For example, the companion electronic device 204 can retrieve activity information from an entry in the advertised-activity table identified by the entry index.

일부 실시예들에서, 도 9에 도시된 동작들은, 2개 이상의 액티비티를 설명하는 정보가 단일의 액티비티 광고 메시지 내에 광고되는 것을 가능하게 한다. 예를 들어, 예컨대, 액티비티 광고 메시지를 브로드캐스트하기 위해 사용된 네트워크 프로토콜의 한정으로 인해 액티비티 광고 메시지의 크기가 한정되는 경우를 고려해본다. 이러한 경우, 엔트리 식별자, 즉, 액티비티 정보가 저장된 엔트리를 식별하는 액티비티 식별자는, 코딩된 표현, 즉 동일한 액티비티 정보로부터 생성된 액티비티 식별자보다 작을 수 있어서(예컨대, 액티비티 식별자보다 적은 비트를 사용하여 표현됨), 이들 실시예들이 액티비티 광고 메시지 내에 다수의 엔트리 식별자들을 전달할 수 있게 할 수 있다.In some embodiments, the operations shown in FIG. 9 enable information describing two or more activities to be advertised within a single activity advertising message. For example, consider the case where the size of the activity advertisement message is limited due to the limitation of the network protocol used to broadcast the activity advertisement message. In such a case, the entry identifier, i.e., the activity identifier that identifies the entry in which the activity information is stored, may be smaller than the coded representation, i. These embodiments may enable the conveying of multiple entry identifiers within an activity advertising message.

도 3을 참조하여 이전에 설명된 바와 같이, 설명된 실시예들은 이용가능한 액티비티 정보를 저장하기 위해 테이블을 사용하는 것에만 한정되지 않는다. 일부 실시예들은 이용가능한 액티비티 정보를 저장하기 위한 상이한 구조체, 예컨대, 연관 어레이, 콘텐츠-어드레스 가능한 메모리 등을 사용한다. 이러한 실시예들에서, 액티비티 식별자는 소스 전자 디바이스(202)가 광고된 액티비티들에 대한 액티비티 정보를 저장하고 있는 구조체 내의 엔트리를 식별할 수 있다. 예를 들어, 이러한 실시예들에서, 테이블 식별자는 구조체를 식별할 수 있고, 엔트리 인덱스는 소스 전자 디바이스(202)가 광고된 액티비티에 대한 액티비티 정보를 저장해 놓은 구조체 내의 인덱스를 식별할 수 있다.As previously described with reference to FIG. 3, the described embodiments are not limited to using a table to store available activity information. Some embodiments use different structures for storing available activity information, such as associative arrays, content-addressable memories, and the like. In such embodiments, the activity identifier may identify an entry in the structure in which the source electronic device 202 is storing activity information for the advertised activities. For example, in such embodiments, the table identifier can identify the structure and the entry index can identify the index within the structure in which the source electronic device 202 has stored the activity information for the advertised activity.

또한, 비록 하나의 광고된-액티비티 테이블을 사용하는 실시예들을 설명하고 있으나, 일부 실시예들은 2개 이상의 광고된-액티비티 테이블을 사용하는데, 예컨대, 상이한 광고된-액티비티 테이블들 내에 광고된 액티비티들에 대한 액티비티 정보를 저장한다.Also, although embodiments are described using one advertised-activity table, some embodiments use two or more advertised-activity tables, eg, advertised activities in different advertised-activity tables. Stores activity information for.

가장 최근의 액티비티 결정하기Determine the most recent activity

이전에 설명된 바와 같이, 네트워크 환경(200)은 제2 소스 전자 디바이스를 포함할 수 있으며, 이는 제2 소스 전자 디바이스에서 수행된 액티비티들에 대한 액티비티 광고 메시지들을 브로드캐스트할 수 있다. 또한 이전에 설명된 바와 같이, 일부 실시예들은 액티비티 광고 메시지 내에 광고된 액티비티가 최종적으로 수행되었던 시간을 나타내기 위해 액티비티 광고 메시지 내에 타임스탬프를 포함한다. 도 10은 일부 실시예들에 따른, 2개 이상의 액티비티 광고 메시지로부터 가장 최근의 액티비티를 결정하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 10에 도시된 프로세스 동안, 동반 전자 디바이스(204)는 소스 전자 디바이스(202)로부터의 광고("액티비티 광고")와 함께 포함된 타임스탬프, 및 제2 소스 전자 디바이스(206)로부터의 광고와 포함된 타임스탬프("제2 액티비티 광고")를 사용하여 액티비티 광고 및 제2 액티비티 광고 내에서 광고되는 액티비티들 중 가장 최근의 것을 결정한다. 도 10에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 비록 동작들의 설명에 있어서 소정 메커니즘들(예컨대, 소스 전자 디바이스(202), 동반 전자 디바이스(204), 제2 소스 전자 디바이스(206))이 사용되고 있으나, 일부 실시예들에서, 다른 전자 디바이스들 및/또는 메커니즘들이 동작들을 수행한다.As previously described, network environment 200 may include a second source electronic device, which may broadcast activity advertising messages for activities performed at the second source electronic device. As also described previously, some embodiments include a time stamp in the activity advertisement message to indicate the time at which the activity advertised in the activity advertisement message was last performed. 10 shows a flowchart illustrating a process for determining the most recent activity from two or more activity advertising messages, in accordance with some embodiments. More specifically, during the process shown in FIG. 10, the companion electronic device 204 is included with the advertisement from the source electronic device 202 (“activity advertisement”), and the second source electronic device 206. And the included timestamp (“second activity advertisement”) to determine the most recent of the activities advertised within the activity ad and the second activity ad. Note that the operations shown in FIG. 10 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, source electronic device 202, companion electronic device 204, second source electronic device 206) are used in the description of the operations, in some embodiments, other electronic devices. And / or mechanisms perform the operations.

도 10에 도시된 프로세스에 대해, 예컨대, 도 5에 도시된 바와 같이, 동반 전자 디바이스(204)가 소스 전자 디바이스(202)로부터 액티비티 광고를 이미 수신했다고 가정한다. 따라서, 동반 전자 디바이스(204)는 액티비티 광고와 함께 포함된 제1 타임스탬프를 포함한 액티비티 광고를 갖는다.For the process shown in FIG. 10, assume, for example, as shown in FIG. 5, the companion electronic device 204 has already received an activity advertisement from the source electronic device 202. Accordingly, companion electronic device 204 has an activity advertisement including a first timestamp included with the activity advertisement.

도 10에 도시된 프로세스는 동반 전자 디바이스(204)가 제2 액티비티 광고를 수신할 때 시작된다(단계(1000)). 다음으로, 동반 전자 디바이스(204)는 액티비티 광고와 함께 포함된 제1 타임스탬프를 제2 액티비티 광고와 함께 포함된 제2 타임스탬프와 비교한다(단계(1002)). 예를 들어, 동반 전자 디바이스(204)는 타임스탬프들을 비교하여 어떤 것이 더 신규인지(즉, 보다 최근 시간을 나타내는지) 알아볼 수 있다.The process shown in FIG. 10 begins when the companion electronic device 204 receives a second activity advertisement (step 1000). Next, companion electronic device 204 compares the first timestamp included with the activity advertisement with the second timestamp included with the second activity advertisement (step 1002). For example, the companion electronic device 204 can compare the time stamps to find out which is newer (ie, indicating a more recent time).

비교가 제1 타임스탬프가 보다 더 신규하다고 나타내는 경우(단계(1004), 예), 동반 전자 디바이스는 제1 애플리케이션에서 수행된 액티비티, 즉, 액티비티 광고 내에서 광고된 액티비티가 가장 최근의 액티비티라고 결정한다(단계(1006)). 그렇지 않고, 비교가 제2 타임스탬프가 보다 더 신규하다고 나타내는 경우(단계(1004), 아니오), 동반 전자 디바이스(204)는 제2 애플리케이션에서 수행된 액티비티, 즉, 제2 액티비티 광고 내에서 광고된 액티비티가 가장 최근의 액티비티라고 결정한다(단계(1008)).If the comparison indicates that the first timestamp is newer (step 1004), the companion electronic device determines that the activity performed in the first application, that is, the activity advertised within the activity advertisement, is the most recent activity. (Step 1006). Otherwise, if the comparison indicates that the second timestamp is newer (step 1004, no), the companion electronic device 204 may be advertised within the activity performed in the second application, that is, within the second activity advertisement. Determine that the activity is the most recent activity (step 1008).

일부 실시예들에서, 동반 전자 디바이스(204)는, 광고된 액티비티들 중 가장 최근의 것에 대해 액티비티가 재개가능하다는 표시만을 제시함으로써, 동반 전자 디바이스(204)의 디스플레이 내에서 사용자에게 제시된 표시들의 수를 감소시킨다(예컨대, 도 14에 도시된 바와 같음). 일부 실시예들에서, 동반 전자 디바이스(204)는 타임스탬프를 사용하여 액티비티들이 재개가능하다는 표시를 순서대로 제시하는데, 예컨대, 먼저 가장 최근의 액티비티를 제시하고, 이어서 상대적 최근성에 기초하여 하향 순서로 다른 광고된 액티비티들을 제시한다. 이러한 실시예들에서, 2개 이상 표시들이 대응하는 액티비티들의 상대적 최근성에 따라 나란히, 하나 위에 다른 하나 등으로 제시될 수 있다.In some embodiments, companion electronic device 204 only displays an indication that the activity is resumable for the most recent of the advertised activities, thereby providing a number of indications presented to the user within the display of companion electronic device 204. Decrease (e.g., as shown in FIG. 14). In some embodiments, companion electronic device 204 uses the timestamp to present an indication that the activities are resumable, in order, for example, first presenting the most recent activity and then in descending order based on relative recentness. Present other advertised activities. In such embodiments, two or more indications may be presented side by side, one over the other, etc., depending on the relative recency of the corresponding activities.

일부 실시예들에서, 동반 전자 디바이스(204)는 이전에 계속된 적이 있는 액티비티들의 이력을 사용하여 재개가능한 액티비티들에 대한 표시들을 순서대로 제시한다. 일부 실시예들에서, 동반 전자 디바이스(204)는 이전에 계속된 적이 있는 액티비티들을 더 높은 순서로 순서화하는데, 즉 이전에 계속된 적이 있는 액티비티가 재개가능하다는 표시를 이전에 계속된 적이 없는 액티비티가 재개가능하다는 표시보다 앞서 제시한다. 일부 실시예들에서, 대응하는 액티비티들 각각이 이전에 계속된 적이 있는 횟수에 기초하여, 2개 이상의 표시들이 순서대로 제시된다.In some embodiments, companion electronic device 204 presents indications for the resumeable activities in order using a history of activities that have previously been continued. In some embodiments, companion electronic device 204 orders the activities that have been previously performed in higher order, i. Present before an indication of resumability. In some embodiments, two or more indications are presented in order, based on the number of times each of the corresponding activities has previously continued.

액티비티 정보Activity Information

이전에 설명한 바와 같이, 일부 실시예들은 전자 디바이스에서 수행된 액티비티를 설명하는 액티비티 정보를 사용한다. 도 11은 일부 실시예들에 따른 액티비티 정보(1100), 액티비티 정보(1110), 및 액티비티 정보(1120)를 예시하는 블록도를 나타낸다. 도 11에 도시된 액티비티 정보(1100), 액티비티 정보(1110), 및 액티비티 정보(1120)는 일부 실시예들에 의해 사용되는 액티비티 정보의 포맷의 일반적 예로서 제시됨을 유의한다. 일부 실시예들은 상이한 포맷을 사용하고/하거나 액티비티 정보 내에 상이한 정보를 포함한다.As previously described, some embodiments use activity information that describes the activity performed at the electronic device. 11 illustrates a block diagram illustrating activity information 1100, activity information 1110, and activity information 1120 in accordance with some embodiments. Note that activity information 1100, activity information 1110, and activity information 1120 shown in FIG. 11 are presented as a general example of the format of activity information used by some embodiments. Some embodiments use different formats and / or include different information in activity information.

액티비티 정보(1100)는 액티비티 정보(1100) 내에 설명된 액티비티를 수행하기 위해 사용되는 애플리케이션을 식별하는 애플리케이션 식별자(1102)를 포함한다. 예를 들어, 문자열 com.apple.Keynote를 포함하고 있는 애플리케이션 식별자(1102)는 프리젠테이션을 편집 및 뷰하기 위해 사용될 수 있는 애플리케이션인 애플리케이션 Keynote를 식별한다. 액티비티 서술자(1104)는 문자열 EditPresentation을 포함하며, 이는 애플리케이션 Keynote를 이용해 수행되는 액티비티를, 프리젠테이션 편집하기로 식별한다. 문자열/숫자 103을 포함하는 타임스탬프(1106)는 액티비티가 최종적으로 수행되었던 시간, 예를 들어, 애플리케이션 Keynote에서 사용자가 프리젠테이션을 편집했던 최종 시간을 식별한다. 타임스탬프는 액티비티가 최종적으로 수행된 때의 실시간, 예컨대, 벽시계 시간(또는 시스템 타임과 같은, 그의 표현)을 나타낼 수 있거나, 또는 정시 이후에 액티비티가 최종적으로 수행된 이래로, 또는 동기화 이벤트 이래로 경과된 시간의 표현일 수 있다. 일부 실시예들에서, 타임스탬프는 소스 전자 디바이스(202)가 최종적으로 사용된 때(예컨대, 사용자에 의해 최종적으로 활성적으로 사용된 때)의 실시간, 예컨대, 절대적/벽시계 시간(또는 시스템 타임과 같은, 그의 표현)을 나타내거나, 또는 타임스탬프는 정시 이후에 소스 전자 디바이스(202)가 최종적으로 사용된 이래로, 또는 동기화 이벤트 이래로 경과된 시간의 표현일 수 있다. 액티비티 정보(1100)에서, 플래그(1108)는 어서팅되지 않는다.Activity information 1100 includes an application identifier 1102 that identifies an application used to perform the activity described within activity information 1100. For example, the application identifier 1102 containing the string com.apple.Keynote identifies the application Keynote, which is an application that can be used to edit and view the presentation. Activity descriptor 1104 includes a string EditPresentation , which identifies the activity to be performed using the application Keynote as a presentation editing. The timestamp 1106 comprising the string / number 103 identifies the time at which the activity was last performed, for example, the last time the user edited the presentation in the application Keynote. The timestamp may represent the real time when the activity was last performed, e.g., wall clock time (or its representation, such as system time), or has elapsed since the time since the activity was last performed, or since a synchronization event. It can be a representation of time. In some embodiments, the timestamp is in real time, such as absolute / wall clock time (or system time) when the source electronic device 202 was last used (eg, finally active by the user). Or a timestamp may be a representation of the time that has elapsed since the time since the source electronic device 202 was last used, or since a synchronization event. In activity information 1100, flag 1108 is not asserted.

액티비티 정보(1110)는 액티비티 정보(1110) 내에 설명된 액티비티를 수행하기 위해 사용되는 애플리케이션을 식별하는 애플리케이션 식별자(1112)를 포함한다. 예를 들어, 문자열 com.apple.Mail을 포함하고 있는 애플리케이션 식별자(1112)는 이메일 메시지를 작성 및 전송하기 위해 사용될 수 있는 애플리케이션인 애플리케이션 Mail을 식별한다. 액티비티 서술자(1114)는 애플리케이션 Mail을 이용해 수행되는 액티비티가 메시지 초안을 작성하는 것을 포함한다고 식별하기 위해 문자열 ComposeDraft를 포함한다. 문자열/숫자 315를 포함하는 타임스탬프(1116)는 액티비티가 최종적으로 수행되었던 시간, 예를 들어, 사용자가 Mail을 사용하여 초안을 작성했던 최종 시간을 식별한다. 액티비티 정보(1110)에 대한 플래그(1118)는 어서팅되지 않는다.Activity information 1110 includes an application identifier 1112 that identifies an application used to perform the activity described within activity information 1110. For example, application identifier 1112, which includes the string com.apple.Mail , identifies application Mail, which is an application that can be used to compose and send email messages. Activity descriptor 1114 includes the string ComposeDraft to identify that the activity performed using the application Mail includes drafting a message. Timestamp 1116, which includes a string / number 315, identifies the time at which the activity was last performed, for example, the last time the user drafted using Mail. Flag 1118 for activity information 1110 is not asserted.

액티비티 정보(1120)는 액티비티 정보(1120) 내에 설명된 액티비티를 수행하기 위해 사용되는 애플리케이션을 식별하는 애플리케이션 식별자(1122)를 포함한다. 예를 들어, 문자열 com.apple.Safari를 포함하는 애플리케이션 식별자(1122)는 웹 브라우저인 애플리케이션 Safari를 식별한다. 액티비티 서술자(1124)는 웹 브라우저를 이용해 액세스되는 도메인 네임을 식별하는 문자열 www.evideostreamer.com을 포함한다. 이러한 예에서, 액티비티 서술자(1124)는 도메인 네임을 보유하고, 따라서 액티비티 정보(1120) 내의 플래그(1128)는 액티비티 서술자(1124)가 도메인 네임을 포함함을 나타내기 위해 어서팅된 플래그(1128)이다. 문자열/숫자 820을 포함하는 타임스탬프(1126)는 영화 스트리밍 웹사이트에 액세스하기 위해 웹 브라우저가 최종적으로 사용되었던 시간을 식별한다.Activity information 1120 includes an application identifier 1122 that identifies an application used to perform the activity described within activity information 1120. For example, application identifier 1122, which includes the string com.apple.Safari , identifies application Safari, which is a web browser. Activity descriptor 1124 includes a string www.evideostreamer.com that identifies a domain name that is accessed using a web browser. In this example, activity descriptor 1124 holds a domain name, so flag 1128 in activity information 1120 is asserted flag 1128 to indicate that activity descriptor 1124 includes a domain name. to be. Timestamp 1126, which includes the string / number 820, identifies the time when the web browser was last used to access the movie streaming website.

액티비티 정보(1130)는 액티비티 정보(1130) 내에 설명된 액티비티를 수행하기 위해 사용되는 애플리케이션을 식별하는 애플리케이션 식별자(1132)를 포함한다. 예를 들어, 문자열 com.CompanyA.MediaPlayer를 포함하는 애플리케이션 식별자(1132)는 멀티미디어 콘텐츠를 재생 및 녹화하기 위해 사용될 수 있는 애플리케이션인, 애플리케이션 MediaPlayer(본 예에서 이는 개발자 CompanyA에 의해 개발된 것임)를 식별한다. 액티비티 서술자(1134)는 애플리케이션 MediaPlayer를 이용해 수행되는 액티비티가 비디오를 재생하는 것, 즉, 비디오 재생을 포함한다고 식별하기 위해 문자열 PlayVideo를 포함한다. 문자열/숫자 902를 포함하는 타임스탬프(1136)는 액티비티가 최종적으로 수행되었던 시간, 예를 들어, 사용자가 MediaPlayer를 사용하여 비디오를 재생했던 최종 시간을 식별한다. 액티비티 정보(1130)에 대한 플래그(1138)는 어서팅되지 않는다.Activity information 1130 includes an application identifier 1132 that identifies an application used to perform the activity described within activity information 1130. For example, application identifier 1132 comprising the string com.CompanyA.MediaPlayer identifies application MediaPlayer, which in this example was developed by developer CompanyA , which is an application that can be used to play and record multimedia content. do. The activity descriptor 1134 includes a string PlayVideo to identify that the activity performed using the application MediaPlayer is to play video, that is, include video playback. Timestamp 1136, which includes the string / number 902, identifies the time at which the activity was last performed, for example, the last time the user played the video using MediaPlayer. Flag 1138 for activity information 1130 is not asserted.

예시를 위해, 도 11에 도시된 타임스탬프는 예컨대 정시와 같은 동기화 이벤트로부터의 델타(차이)로서 계산된다. 따라서, 도 11에 도시된 예들에서, 액티비티 정보(1100)를 이용해 설명된 액티비티가 가장 최근의 액티비티가 되는데, 왜냐하면 타임스탬프(1106)가 액티비티 정보(1100)를 이용해 설명된 액티비티가 수행된 이래로 정시로부터 최소 시간량이 경과했음을 나타내기 때문이다.For illustration purposes, the timestamp shown in FIG. 11 is calculated as delta (difference) from a synchronization event, such as on time. Thus, in the examples shown in FIG. 11, the activity described using activity information 1100 becomes the most recent activity, since the timestamp 1106 is on time since the activity described using activity information 1100 was performed. This is because it indicates that the minimum amount of time has elapsed from.

비록 도 11의 예들이 애플리케이션 식별자 및 액티비티 서술자를 사용하고 있으나, 일부 실시예들은 애플리케이션 및/또는 액티비티를 식별하기 위해 상이한 정보를 사용할 수 있음을 유의한다. 예를 들어, 일부 실시예들은 애플리케이션 식별자 및/또는 액티비티 서술자에 대한 수치 식별자를 사용한다. 일부 실시예들에서, 애플리케이션 식별자는 온라인 "앱 스토어" 내의 대응하는 애플리케이션에 대한 식별자이다. 일부 실시예들에서, 애플리케이션 식별자는 예컨대 번들 ID와 같은, 번들 식별자의 일부 또는 전부를 포함한다. 또한, 도시된 애플리케이션 식별자는 액티비티 서술자와 별개이지만, 일부 실시예들은 애플리케이션 식별자와 액티비티 서술자를 단일 식별자 내에 조합한다.Although the examples of FIG. 11 use application identifiers and activity descriptors, it is noted that some embodiments may use different information to identify an application and / or activity. For example, some embodiments use numerical identifiers for application identifiers and / or activity descriptors. In some embodiments, the application identifier is an identifier for a corresponding application in an online "app store". In some embodiments, the application identifier includes some or all of the bundle identifier, such as for example the bundle ID. Also, while the application identifier shown is separate from the activity descriptor, some embodiments combine the application identifier and the activity descriptor into a single identifier.

일부 실시예들에서, 애플리케이션/앱 개발자들은 액티비티 서술자들에 대한 정보, 예컨대, 액티비티 서술자(1104), 액티비티 서술자(1114), 액티비티 서술자(1124), 및 액티비티 서술자(1134)를 제공한다. 이러한 예들에서, 애플리케이션/앱의 개발자는 애플리케이션/앱에 대한 다수의 액티비티들을 결정할 수 있으며, 액티비티 서술자들에 대한 관련 값들을 제공할 수 있다.In some embodiments, application / app developers provide information about activity descriptors, such as activity descriptor 1104, activity descriptor 1114, activity descriptor 1124, and activity descriptor 1134. In such examples, the developer of the application / app can determine a number of activities for the application / app, and can provide relevant values for the activity descriptors.

광고된-액티비티 테이블Advertised-activity table

도 12는 일부 실시예들에 따른 광고된-액티비티 테이블(1200)을 예시하는 블록도를 나타낸다. 전술된 바와 같이, 광고된-액티비티 테이블(1200)은 광고되었던 액티비티들(즉, 그에 대해 소스 전자 디바이스(202)와 같은 전자 디바이스에 의해 액티비티 광고 메시지가 전송되었던 액티비티들)에 관한 정보를 포함한다. 도 12에 도시된 광고-액티비티 테이블은 일부 실시예들에 의해 사용되는 광고된-액티비티 테이블들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들은 광고-액티비티 테이블 내에 액티비티 정보를 상이하게 표현하고/하거나 더 많거나 적은 정보를 포함한다.12 shows a block diagram illustrating an advertised-activity table 1200 in accordance with some embodiments. As described above, the advertised-activity table 1200 includes information about activities that were advertised (ie, activities for which an activity advertisement message was sent by an electronic device, such as source electronic device 202). . Note that the advertisement-activity table shown in FIG. 12 is shown as a general example of the advertisement-activity tables used by some embodiments. Some embodiments present activity information differently in the advertisement-activity table and / or include more or less information.

엔트리 인덱스(1206)에 의해 식별되는 엔트리(1202)는 액티비티 정보 1100 및 액티비티 식별자(1204)를 저장한다. 이러한 예에서, 액티비티 식별자(1204)는 문자열 "com.apple.Keynote::EditPresentation"의 해시와 같은, 애플리케이션 식별자(1102) 및 액티비티 식별자(1104)를 사용하여 생성된다.Entry 1202, identified by entry index 1206, stores activity information 1100 and activity identifier 1204. In this example, activity identifier 1204 is generated using application identifier 1102 and activity identifier 1104, such as a hash of string " com.apple.Keynote :: EditPresentation ".

엔트리 인덱스(1216)에 의해 식별되는 엔트리(1212)는 액티비티 정보 1110 및 액티비티 식별자(1214)를 저장한다. 이러한 예에서, 액티비티 식별자(1214)는 문자열 "com.apple.Mail::ComposeDraft"의 해시와 같은, 애플리케이션 식별자(1112) 및 액티비티 서술자(1114)를 사용하여 생성된다.Entry 1212, identified by entry index 1216, stores activity information 1110 and activity identifier 1214. In this example, activity identifier 1214 is generated using application identifier 1112 and activity descriptor 1114, such as a hash of string " com.apple.Mail :: ComposeDraft ".

엔트리 인덱스(1226)에 의해 식별되는 엔트리(1222)는 액티비티 정보(1120) 및 액티비티 식별자(1224)를 저장한다. 이러한 예에서, 액티비티 식별자(1224)는 문자열 www.evideostreamer.com의 해시와 같은 액티비티 서술자(1124)를 사용하여 생성된다.Entry 1222, identified by entry index 1226, stores activity information 1120 and activity identifier 1224. In this example, activity identifier 1224 is generated using activity descriptor 1124, such as a hash of the string www.evideostreamer.com .

엔트리 인덱스(1236)에 의해 식별되는 엔트리(1232)는 액티비티 정보(1130) 및 액티비티 식별자(1234)를 저장한다. 이러한 예에서, 액티비티 식별자(1234)는 문자열 "com.CompanyA.MediaPlayer::PlayVideo"의 해시와 같은, 애플리케이션 식별자(1132) 및 액티비티 서술자(1134)를 사용하여 생성된다.Entry 1232, identified by entry index 1236, stores activity information 1130 and activity identifier 1234. In this example, activity identifier 1234 is generated using application identifier 1132 and activity descriptor 1134, such as a hash of string " com.CompanyA.MediaPlayer :: PlayVideo ".

예시를 위해, 엔트리들(1202 내지 1232)은 액티비티 정보 1100 내지 1130의 전부를 각각 저장한다. 그러나 일부 실시예들에서, 엔트리들(1202 내지 1232)은 액티비티 정보 1100 내지 1130의 다만 일부를 각각 저장함을 유의한다. 예를 들어, 일부 실시예들은 엔트리들(1202 내지 1232) 내에 타임스탬프들(1106 내지 1136)을 저장하지 않는다.For illustrative purposes, entries 1202-1232 store all of activity information 1100-1130, respectively. However, note that in some embodiments, entries 1202-1232 store only a portion of activity information 1100-1130, respectively. For example, some embodiments do not store timestamps 1106-1136 in entries 1202-1232.

이용가능-액티비티 테이블Available-activity table

일부 실시예들에서, 전술된 이용가능-액티비티 테이블은 도 12에 도시된 광고된-액티비티 테이블(1200)과 유사하게 포맷된다. 그러나, 이용가능-액티비티 테이블 내의 엔트리들은 대응하는 전자 디바이스, 예컨대, 동반 전자 디바이스(204) 내에서 이용가능한 애플리케이션들에 관한 애플리케이션 정보를 포함한다.In some embodiments, the available-activity table described above is formatted similar to the advertised-activity table 1200 shown in FIG. 12. However, entries in the available-activity table include application information regarding applications available within the corresponding electronic device, eg, companion electronic device 204.

액티비티 광고 메시지Activity advertising message

도 13은 일부 실시예들에 따른 액티비티 광고(1300), 예컨대, 액티비티 광고 메시지를 예시하는 블록도를 나타낸다. 도 13에 도시된 액티비티 광고 메시지는 일부 실시예들에 의해 사용되는 액티비티 광고 메시지들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들은 액티비티 광고 메시지들 내의 필드들을 상이하게 순서화하고/하거나 액티비티 광고 메시지 내에 상이한 정보를 포함한다.13 illustrates a block diagram illustrating an activity advertisement 1300, eg, an activity advertisement message, in accordance with some embodiments. Note that the activity advertising message shown in FIG. 13 is shown as a general example of activity advertising messages used by some embodiments. Some embodiments order the fields in the activity advertisement messages differently and / or include different information in the activity advertisement message.

액티비티 광고 메시지(1300)는 디바이스 ID 필드(1302), 및 버전 ID 필드(1304)를 선택적으로 포함한다. 디바이스 ID 필드(1302)는 액티비티 광고 메시지(1300)를 전송했던 디바이스, 예컨대, 소스 전자 디바이스(202)를 식별하는 식별자를 포함한다. 버전 ID 필드(1304)는 액티비티 정보(1300) 내의 필드들이 어떻게 포맷되고/되거나 어떻게 정보들이 필드들 내에 저장되는지를 결정하기 위해 동반 전자 디바이스(204)가 사용할 수 있는 버전 식별자와 같은 버전 식별자를 포함한다.The activity advertisement message 1300 optionally includes a device ID field 1302, and a version ID field 1304. The device ID field 1302 includes an identifier that identifies the device that sent the activity advertisement message 1300, such as the source electronic device 202. The version ID field 1304 includes a version identifier, such as a version identifier, that the companion electronic device 204 can use to determine how the fields in the activity information 1300 are formatted and / or how the information is stored in the fields. do.

액티비티 식별자 필드(1306)는 액티비티 식별자, 예컨대, 액티비티 식별자들(1204 내지 1224) 중 하나 이상을 포함한다. 플래그 필드(1308)는 광고된 액티비티에 대응하는 하나 이상의 플래그, 예컨대, 플래그들(1108 내지 1128)을 포함한다.Activity identifier field 1306 includes an activity identifier, such as one or more of activity identifiers 1204-1224. The flag field 1308 includes one or more flags, eg, flags 1108-1128, corresponding to the advertised activity.

타임스탬프 필드(1310)는 액티비티 식별자 필드(1306) 내에 광고된 액티비티에 대한 타임스탬프, 예컨대, 타임스탬프들(1106 내지 1126) 중 하나 이상을 포함한다.Timestamp field 1310 includes a timestamp, eg, one or more of timestamps 1106-1126, for the advertised activity in activity identifier field 1306.

재개가능-액티비티 표시Resumable-activity display

이전에 설명된 바와 같이, 일부 실시예들은 확장된 액티비티 데이터를 요청하기 이전에 액티비티가 재개가능하다는 표시를 제시한다. 도 14는 일부 실시예들에 따른 재개가능-액티비티 표시, 즉, 액티비티가 재개가능하다는 표시를 예시하는 블록도를 나타낸다. 보다 상세하게는, 도 14는 동반 전자 디바이스(204)를 위한 디스플레이(1400) 상에 디스플레이된 재개가능-액티비티 표시를 도시한다. 도 14에 도시된 재개가능-액티비티 표시는 일부 실시예들에 의해 사용되는 재개가능-액티비티 표시의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들은 상이한 재개가능-액티비티 표시를 사용하고/하거나 재개가능-액티비티 표시를 상이하게 제시한다.As previously described, some embodiments present an indication that the activity is resumable prior to requesting extended activity data. 14 shows a block diagram illustrating a resumable-activity indication, that is, an indication that an activity is resumable, in accordance with some embodiments. More specifically, FIG. 14 shows a resumeable-activity indication displayed on display 1400 for companion electronic device 204. It is noted that the resumable-activity indication shown in FIG. 14 is shown as a general example of the resumable-activity indication used by some embodiments. Some embodiments use different resumeable-activity indications and / or present resumeable-activity indications differently.

예시된 실시예에서, 동반 전자 디바이스(204)는 터치 스크린 디스플레이(1400)를 포함하는 스마트폰이다. 도 14에 도시된 실시예는 수신 상태에 있는데, 왜냐하면 디스플레이(1400)가 "밀어서 잠금해제"라는 문구를 보이는, 잠금해제 표시자(1402)를 갖는 잠금 스크린을 보이고 있기 때문이다. 일반적으로, 동반 전자 디바이스(204)의 사용자는 손가락을 이용해 디스플레이(1400)를 가로질러 잠금해제 표시자(1402)에 대한 그래픽을 밀어내는 것과 같이, 동반 전자 디바이스(204)를 잠금해제하기 위한 잠금 해제 표시자(1402)를 이용해 동작을 수행한다.In the illustrated embodiment, the companion electronic device 204 is a smartphone that includes a touch screen display 1400. The embodiment shown in FIG. 14 is in a receive state because the display 1400 shows a lock screen with an unlock indicator 1402, which shows the phrase “slide to unlock”. In general, a user of the companion electronic device 204 uses a finger to lock a graphic to unlock the companion electronic device 204, such as pushing a graphic for the unlock indicator 1402 across the display 1400. The release indicator 1402 is used to perform the operation.

재개가능-액티비티 표시(1404)는 그래픽, 예컨대, 사용자가 액티비티 전달을 수락(또는 거절)하기 위해 조작할 수 있는 아이콘을 포함한다. 도 14에서, 재개가능-액티비티 표시(1404)는 봉투를 닮은 아이콘을 포함하여 재개가능한 액티비티가 메일 애플리케이션을 사용하는 것을 포함한다고 나타내고 있다. 일부 실시예들에서, 사용자는 재개가능-액티비티 표시(1404) 상에 클릭/터치함으로써 그리고/또는 디스플레이(1400) 상의 경로를 따라 재개가능-액티비티 표시(1404)를 이동함으로써 액티비티 전달을 수락할 수 있다. 예를 들어, 일부 실시예들에서, 사용자는 경로(1406)(점선으로 도시됨)를 따라 또는 그 근처에서 재개가능-액티비티 표시(1404)를 터치하고 드래그함으로써 액티비티 전달을 수락할 수 있다.Resumable-activity indication 1404 includes a graphic, such as an icon that a user can manipulate to accept (or decline) activity delivery. In FIG. 14, resumeable-activity indication 1404 indicates that the resumeable activity includes using a mail application, including an icon resembling an envelope. In some embodiments, a user may accept activity delivery by clicking / touching on resumable-activity indication 1404 and / or moving resumable-activity indication 1404 along a path on display 1400. have. For example, in some embodiments, a user may accept activity delivery by touching and dragging resumeable-activity indication 1404 along or near path 1406 (shown in dashed lines).

예시를 위해, 재개가능-액티비티 표시(1404)는 동반 전자 디바이스(204)를 위한 잠금 스크린에 도시된다. 일부 실시예들에서, 재개가능-액티비티 표시(1404)는 상이한 스크린/위치, 예컨대, 잠금해제 스크린, 메뉴 바에서, 통지 윈도우/팝업 등을 사용하여 보여질 수 있다. 또한, 재개가능-액티비티 표시(1404)의 위치, 크기, 그래픽, 색, 및/또는 다른 시각적 특징들이 상이한 실시예 별로 변경될 수 있으며, 재개될 수 있는 액티비티의 유형에 의존할 수 있다. 예를 들어, 일부 실시예들에서, 동반 전자 디바이스(204)는 광고된 액티비티에 대한 애플리케이션 식별자에 기초하여 재개가능-액티비티 표시(1404) 내에 나타난 그래픽을 결정한다. 다른 예로서, 일부 실시예들에서, 재개가능-액티비티 표시(1404)가 디스플레이(1400)의 좌측 하부 모서리에 나타난다. 일부 실시예들은 동일한 시간에 다수의 재개가능한 액티비티 표시를 제시한다.For illustrative purposes, the resumeable-activity indication 1404 is shown in a lock screen for the companion electronic device 204. In some embodiments, resumeable-activity indication 1404 can be viewed using a different screen / location, such as an unlock screen, menu bar, notification window / popup, and the like. In addition, the position, size, graphics, color, and / or other visual characteristics of the resumeable-activity indication 1404 may be changed for different embodiments and may depend on the type of activity that can be resumed. For example, in some embodiments, companion electronic device 204 determines a graphic that appears within resumeable-activity indication 1404 based on the application identifier for the advertised activity. As another example, in some embodiments, a resumeable-activity indication 1404 appears in the lower left corner of the display 1400. Some embodiments present multiple resumable activity indications at the same time.

액티비티 전달의 수락(또는 거절)은 경로(1406)와 상이한 경로를 따라, 예컨대, 곡선 경로 등을 따라 스크린의 상부로 재개가능-액티비티 표시(1404)를 이동하는 것을 포함할 수 있다는 것에 유의한다. 일부 실시예들에서, 사용자는 재개가능-액티비티 표시(1404) 상에 클릭하기, 재개가능-액티비티 표시(1404) 상에서 탭하기, 재개가능-액티비티 표시(1404) 스와이핑하기, 재개가능-액티비티 표시(1404)를 사용한 제스처 수행하기 등에 의해 액티비티 전달을 수락할 수 있다.Note that accepting (or rejecting) activity delivery may include moving the resumable-activity indication 1404 along the path different from the path 1406, such as along a curved path or the like, to the top of the screen. In some embodiments, a user clicks on resumable-activity indication 1404, taps on resumable-activity indication 1404, swipes on resumeable-activity indication 1404, and resumes-activity indication Activity delivery may be accepted by performing a gesture using 1404.

자동 및 수동 액티비티 광고Auto and manual activity ads

일부 실시예들에서, 소스 전자 디바이스(202)는 소스 전자 디바이스(202)의 검출된 위치 등에 기초하여, 예컨대, 미리결정된 시간 간격으로, 액티비티 정보가 수신되자마자, 자동으로 액티비티 광고를 브로드캐스트한다. 이러한 실시예들에서, 소스 전자 디바이스(202)는 사용자가 액티비티 광고의 브로드캐스트를 켜고 끄기 위해 사용할 수 있는 시스템 선호도와 같은 설정을 제공할 수 있다.In some embodiments, the source electronic device 202 automatically broadcasts the activity advertisement based on the detected location of the source electronic device 202, etc., for example, at a predetermined time interval, as soon as the activity information is received. . In such embodiments, source electronic device 202 may provide settings such as system preferences that a user may use to turn on and off the broadcast of an activity advertisement.

일부 실시예들에서, 소스 전자 디바이스(202)는 수동으로 액티비티 광고 브로드캐스트하기를 시작하는데, 즉, 액티비티 광고 브로드캐스트를 시작하기 위한 사용자로부터의 입력을 대기한다. 이러한 실시예들 중 일부에서, 소스 전자 디바이스(202)는 사용자 입력을 검출하는 경우 액티비티 광고 브로드캐스트를 시작하고, 미리결정된 기간 동안 및/또는 사용자가 소스 전자 디바이스(202)에게 액티비티 광고의 중지를 지시하는 입력을 제공할 때까지 액티비티 광고 브로드캐스트를 계속한다. 일부 실시예들에서, 액티비티 광고 시작 및/또는 중지를 위한 사용자 입력은 소스 전자 디바이스(202)의 움직임(예컨대, 소스 전자 디바이스(202) 흔들기, 원호 방향으로 소스 전자 디바이스(202) 이동하기, 소스 전자 디바이스(202) 요동시키기 등), 소스 전자 디바이스(202)를 위한 터치 스크린 상에 하나 이상의 제스처 수행하기, 키 및/또는 버튼 조합 누르기 등을 포함한다.In some embodiments, the source electronic device 202 manually starts to broadcast the activity advertisement, ie, waits for input from the user to start the activity advertisement broadcast. In some of these embodiments, the source electronic device 202 initiates an activity advertisement broadcast when detecting a user input, and for a predetermined period of time and / or the user notifies the source electronic device 202 of the suspension of the activity advertisement. The activity ad broadcast continues until you provide input that points to it. In some embodiments, user input for starting and / or stopping an activity advertisement may include movement of the source electronic device 202 (eg, shaking the source electronic device 202, moving the source electronic device 202 in the arc direction, source Rocking the electronic device 202, etc.), performing one or more gestures on the touch screen for the source electronic device 202, pressing a key and / or button combination, and the like.

일부 실시예들에서, 액티비티 광고 메시지, 및/또는 소스 전자 디바이스(202)가 동반 전자 디바이스(204)에 액티비티 광고 메시지와 함께(즉, 추가적으로) 전송하는 메시지는 동반 전자 디바이스(204)로 하여금 타이머를 시작하게 한다. 일부 실시예들에서, 동반 전자 디바이스(204)는 이러한 타이머가 종료될 때까지 전술된 바와 같이 수신 상태로 유지된다. 소스 전자 디바이스(202)는 타이머에 대한 종료 시간을 동반 전자 디바이스(204)에 제공할 수 있거나, 또는 동반 전자 디바이스(204)가 종료 시간을 결정할 수 있다.In some embodiments, the activity advertisement message, and / or the message that the source electronic device 202 sends with the activity advertisement message to (eg, in addition to) the companion electronic device 204 causes the companion electronic device 204 to timer. Let's start. In some embodiments, companion electronic device 204 remains in a receive state as described above until such a timer expires. The source electronic device 202 can provide the companion electronic device 204 with an end time for the timer, or the companion electronic device 204 can determine the end time.

일부 실시예들에서, 동반 전자 디바이스(204)는 타이머가 종료될 때까지, 액티비티가 재개가능하다는 표시를 제시하며, 사용자가 표시를 수락하는 경우, 사용자가 동반 전자 디바이스(204)를 잠금해제하기 위해 하나 이상의 동작(예컨대, 지문 스캔, 암호 입력 등)을 수행하지 않아도 동반 전자 디바이스(204)에서 액티비티를 계속한다. 보다 상세하게는, 동반 전자 디바이스(204)는 사용자가 표시를 수락했음을 검출할 수 있으며, 잠금 스크린/잠금해제 동작을 우회하여 사용자가 동반 전자 디바이스(204)를 잠금해제하지 않아도 동반 전자 디바이스(204) 사용을 시작하도록 허용할 수 있다. 일부 실시예들에서, 사용자는 타이머가 종료되기 이전에만 잠금 스크린/잠금해제 동작을 우회하도록 허용된다.In some embodiments, the companion electronic device 204 presents an indication that the activity is resumable until the timer expires, and if the user accepts the indication, the user unlocks the companion electronic device 204. The activity continues at the companion electronic device 204 without having to perform one or more operations (eg, fingerprint scan, password entry, etc.). More specifically, companion electronic device 204 may detect that the user has accepted the indication and bypass the lock screen / unlock operation so that the companion electronic device 204 does not need to unlock the companion electronic device 204. ) Can be allowed to start using. In some embodiments, the user is allowed to bypass the lock screen / unlock operation only before the timer expires.

액티비티 계속 프레임워크Activity continues framework

일부 실시예들에서, 제3자 애플리케이션은 액티비티 전달 동작, 예컨대, 도 3 내지 도 10을 참조하여 이전에 설명된 동작들의 일부 또는 전부에 대한 액세스를, 액티비티 전달 동작에 참여할 수 있는 전자 디바이스들에서 이용가능한 "액티비티 계속" 프레임워크를 통해 수신한다. 액티비티 계속 프레임워크는 액티비티 전달 동작 중 적어도 일부를 수행하는 운영체제 기능, 데몬, 프로세스, 서비스 등에 대한 액세스를 제3자 애플리케이션에게 제공할 수 있다. 예를 들어, 일부 실시예들에서, 전자 디바이스의 제공자 및/또는 전자 디바이스를 위한 운영체제는 애플리케이션 프로그래밍 인터페이스(API)를 제공하고, 제3자 애플리케이션은 이를 통해 액티비티 전달 동작을 용이하게 하는 기능들을 호출할 수 있다. 일부 실시예들에서, 액티비티 계속 프레임워크는 제3자 애플리케이션들(및 제3자 애플리케이션 개발자들)이 액티비티 계속의 저-레벨 상세 사항을 구현하는 것(또는 심지어 그에 대해 아는 것) 없이, 하나의 전자 디바이스로부터 다른 전자 디바이스로 액티비티를 전달할 수 있게 한다.In some embodiments, the third party application may be configured to access an activity delivery operation, eg, some or all of the operations previously described with reference to FIGS. 3-10, at electronic devices capable of participating in the activity delivery operation. Receive through the available "Continue Activity" framework. The activity continuation framework may provide third party applications with access to operating system functions, daemons, processes, services, etc. that perform at least some of the activity delivery operations. For example, in some embodiments, a provider of an electronic device and / or an operating system for the electronic device provides an application programming interface (API), through which third party applications invoke functions that facilitate activity transfer operations. can do. In some embodiments, the activity continuity framework is one that allows third party applications (and third party application developers) to implement (or even know about) low-level details of activity continuation. Enables the transfer of activity from an electronic device to another electronic device.

예를 들어, 일부 실시예들에서, 제3자 애플리케이션이 액티비티 전달 동작에 참여할 수 있게 하기 위해, 제3자 애플리케이션 개발자는 제3자 애플리케이션이 수행할 수 있는 액티비티들에 대한 액티비티 서술자들, 및 제3자 애플리케이션을 액티비티를 수행하도록 구성하기 위한 방법을 제공한다. 이러한 실시예들 중 일부에서, 소스 전자 디바이스(202)와 같은 전자 디바이스에서, 제3자 애플리케이션은 제3자 애플리케이션에서 수행되는 액티비티에 대한 액티비티 서술자(및 가능하게는 확장된 액티비티 데이터)를 제공하기 위해 액티비티 계속 프레임워크에 의해 제공되는 기능을 호출한다. 동반 전자 디바이스(204)와 같은 전자 디바이스에서, 액티비티를 수행하도록 제3자 애플리케이션을 구성하기 위해서, 액티비티 계속 프레임워크는 확장된 액티비티 데이터를 제3자 애플리케이션에 전달할 수 있다(예컨대, 커맨드 라인 스위치 또는 파라미터를 통해, 객체를 사용함으로써 등). 따라서, 액티비티 계속 프레임워크는 제3자 애플리케이션 개발자에게 최소의 노력과 비용으로 제3자 애플리케이션들에 대한 액티비티 계속을 용이하게 할 수 있다.For example, in some embodiments, to enable a third party application to participate in an activity delivery operation, the third party application developer may need to create activity descriptors for activities that the third party application can perform, and Provides a way to configure third-party applications to perform activities. In some of these embodiments, in an electronic device such as source electronic device 202, the third party application provides an activity descriptor (and possibly extended activity data) for the activity performed in the third party application. The activity continues to call the functions provided by the framework. In an electronic device, such as companion electronic device 204, to configure a third party application to perform the activity, the activity continue framework may pass extended activity data to a third party application (eg, a command line switch or Via parameters, by using an object, etc.). Thus, the activity continuity framework can facilitate activity continuity for third party applications with minimal effort and cost for third party application developers.

전자 디바이스들 사이에 교환되는 메시지들Messages exchanged between electronic devices

도 15는 일부 실시예들에 따른, 전자 디바이스들 사이에서 교환되는 메시지들을 예시하는 구획도를 나타낸다. 도 15에서 볼 수 있는 바와 같이, 메시지들이 소스 전자 디바이스(202)와 동반 전자 디바이스(204) 사이에서 일정 기간에 걸쳐 교환되는데, 액티비티 광고(1500)가 시간적으로 우선 발생하고, 보다 낮은 메시지들은 시간적으로 후속적으로 발생한다. 비록 도 15에서 특정 순서에 따라 메시지들이 교환되는 것이 도시되었으나, 일부 실시예들에서, 다른 메시지들이 교환되고/되거나 메시지들이 상이한 순서로 교환된다. 일반적으로, 설명된 실시예의 전자 디바이스들은 본 명세서에 설명된 동작들을 가능하게 하기에 충분한 메시지들을 교환한다.15 shows a compartmental diagram illustrating messages exchanged between electronic devices, in accordance with some embodiments. As can be seen in FIG. 15, messages are exchanged over a period of time between the source electronic device 202 and the companion electronic device 204, with the activity advertisement 1500 occurring in time first and the lower messages being timed. Subsequently occurs. Although messages are exchanged in a particular order in FIG. 15, in some embodiments, other messages are exchanged and / or the messages are exchanged in a different order. In general, the electronic devices of the described embodiment exchange sufficient messages to enable the operations described herein.

도 15의 메시지들은 소스 전자 디바이스(202) 및/또는 동반 전자 디바이스(204)에 의해 수행된 2개 동작과 연관된다. 광고(1500)를 포함하는 제1 동작은 도 3에 도시된 것과 같은 액티비티 광고 동작이다. 액티비티 광고 동작 동안, 소스 전자 디바이스(202)는 적어도 하나의 액티비티 광고(1500)를 브로드캐스트한다.The messages in FIG. 15 are associated with two operations performed by the source electronic device 202 and / or the companion electronic device 204. The first operation including the advertisement 1500 is an activity advertisement operation as shown in FIG. 3. During an activity advertisement operation, the source electronic device 202 broadcasts at least one activity advertisement 1500.

확장된 액티비티 데이터에 대한 요청(1502), 확장된 액티비티 데이터(1504), 및 액티비티 전달의 통지(1506)를 포함하는 제2 동작은 도 5 및 도 6에 도시된 것과 같은 액티비티 전달 동작이다. 액티비티 전달 동작 동안, 동반 전자 디바이스(204)는 확장된 액티비티 데이터에 대한 요청(1502)을 이용해 액티비티 광고(1500)에 응답한다. 확장된 액티비티 데이터에 대한 요청(1502)을 수신하는 경우, 소스 전자 디바이스(202)는 확장된 액티비티 데이터(1504)를 전송함으로써 응답한다. 일부 실시예들에서, 동반 전자 디바이스(204)가 제2 애플리케이션에서의 액티비티 수행을 시작하기 위해 확장된 액티비티 데이터를 사용한 후, 동반 전자 디바이스(204)는 액티비티 전달 통지(1506)를 전송하여 소스 전자 디바이스(202)가 액티비티가 전달되었다는 것을 알게 한다.The second operation, which includes a request 1502 for extended activity data, extended activity data 1504, and notification of activity delivery 1506, is an activity delivery operation such as that shown in FIGS. During the activity delivery operation, the companion electronic device 204 responds to the activity advertisement 1500 using a request 1502 for extended activity data. When receiving a request 1502 for extended activity data, the source electronic device 202 responds by sending extended activity data 1504. In some embodiments, after the companion electronic device 204 uses the extended activity data to begin performing the activity in the second application, the companion electronic device 204 sends the activity delivery notification 1506 to send the source electronics. The device 202 knows that the activity has been delivered.

액티비티 관련 정보 포워드Forward information about activities

전술된 바와 같이, 일부 실시예들에서, 소스 전자 디바이스(예컨대, 소스 전자 디바이스(202))는 액티비티 관련 정보를 동반 전자 디바이스(예컨대, 동반 전자 디바이스(204))로 포워드한다. 일반적으로, 액티비티 관련 정보는 액티비티(예컨대, 본 명세서에서 설명된 바와 같이 동반 전자 디바이스로 전달되는 액티비티, 또는 동반 전자 디바이스 상에서 수행되는 다른 액티비티)를 수행할 때 사용될 수 있는 임의의 정보를 포함한다. 예를 들어, 액티비티 관련 정보는 소스 전자 디바이스(202) 내의 복사 및 붙여넣기 클립보드로부터의 정보(예컨대, 텍스트, 이미지, 비디오, 사운드, 설정, 파일 등), 파일의 이전 버전들, 실행취소(undo) 버퍼의 내용(이는 변경을 역전시키기 위해 사용될 수 있는, 사용자에 의해 행해진 시스템에 대한 변경의 기록을 유지함), 및/또는 다른 유형의 정보를 포함하지만, 이에 제한되지 않는다. 액티비티 관련 정보를 수신하는 경우, 동반 전자 디바이스는 하나 이상의 액티비티에 대한 액티비티 관련 정보를 사용할 수 있다. 예를 들어, 액티비티 관련 정보가 실행취소 버퍼의 내용을 포함하는 경우, 동반 전자 디바이스는 소스 전자 디바이스로부터 수신된 실행취소 버퍼의 내용을 사용하여 국소적 실행취소 버퍼(즉, 동반 전자 디바이스 내의 실행취소 버퍼)를 업데이트할 수 있다. 예를 들어, 실행취소 버퍼는 문서를 편집할 때 수행된 최종 N개 동작의 리스팅을 포함할 수 있으며, 리스팅은 메뉴, 핫키 조합 등을 사용해 문서를 후속적으로 편집할 때 그 동작들을 역전시키는 것 또는 "취소하는 것"을 가능하게 하도록 구성된다. 이러한 식으로, 동반 전자 디바이스는 소스 전자 디바이스 상에서 이전에 수행되었던 동작들의 역전 또는 실행취소를 가능하게 하도록 자신을 구성할 수 있다.As described above, in some embodiments, the source electronic device (eg, source electronic device 202) forwards the activity related information to the companion electronic device (eg, companion electronic device 204). In general, activity related information includes any information that may be used when performing an activity (eg, an activity delivered to a companion electronic device, or other activity performed on the companion electronic device, as described herein). For example, activity related information may include information from a copy and paste clipboard within the source electronic device 202 (eg, text, images, video, sound, settings, files, etc.), previous versions of the file, undo ( undo) content of the buffer (which maintains a record of changes to the system made by the user, which can be used to reverse the changes), and / or other types of information. Upon receiving the activity related information, the companion electronic device may use the activity related information for one or more activities. For example, if the activity related information includes the contents of the undo buffer, the companion electronic device uses the contents of the undo buffer received from the source electronic device to use the local undo buffer (ie, undo within the companion electronic device). Buffer) can be updated. For example, an undo buffer could contain a listing of the last N actions performed when editing a document, and the listing would reverse those actions when subsequently editing the document using menus, hotkey combinations, and the like. Or “cancel”. In this way, the companion electronic device can configure itself to enable reversal or undo of operations previously performed on the source electronic device.

도 17은 일부 실시예들에 따른, 소스 전자 디바이스로부터 동반 전자 디바이스로 액티비티 관련 정보를 포워드하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 17은 소스 전자 디바이스(202)가 광고 메시지를 사용하여 액티비티 관련 정보를 동반 전자 디바이스(204)로 포워드하는 실시예를 예시한다. 도 17에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 동작들의 설명에 있어서 비록 소정 메커니즘들(예컨대, 동반 전자 디바이스(204) 등)이 사용되고 있으나, 일부 실시예들에서, 다른 메커니즘들이 동작들을 수행한다.17 illustrates a flow diagram illustrating a process for forwarding activity related information from a source electronic device to a companion electronic device, in accordance with some embodiments. More specifically, FIG. 17 illustrates an embodiment in which the source electronic device 202 forwards activity related information to the companion electronic device 204 using an advertising message. It is noted that the operations shown in FIG. 17 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, companion electronic device 204, etc.) are used in the description of the operations, in some embodiments, other mechanisms perform the operations.

도 17에 도시된 프로세스의 경우, 소스 전자 디바이스(202) 내의 클립보드의 내용은 액티비티 관련 정보로서 사용된다. 그러나, 일부 실시예들에서, 그리고 전술된 바와 같이, 다른 유형의 액티비티 관련 정보가 소스 전자 디바이스(202)로부터 포워드될 수 있다. 추가적으로, 본 명세서에 사용된 바와 같이 "클립보드"는 대응하는 디바이스 내의 복사 및 붙여넣기 클립보드를 나타낸다. 일부 실시예들에서, 클립보드는 전자 디바이스 내의 정보를 위한 일시적 저장소를 제공하는 소프트웨어 서비스(예컨대, 운영체제 소프트웨어 서비스, 독립형 애플리케이션 등)이다. 클립보드는 사용자가 복사하기, 붙여넣기, 잘라내기 등과 같은 동작들을 수행하여 정보와 상호작용할 수 있게 한다. 이러한 클립보드는 일반적으로 본 기술분야에서 일반적으로 알려져 있으며, 따라서 본 명세서에서 더 상세히 설명하지 않는다.For the process shown in FIG. 17, the contents of the clipboard in the source electronic device 202 are used as activity related information. However, in some embodiments, and as described above, other types of activity related information may be forwarded from the source electronic device 202. In addition, as used herein, "clipboard" refers to a copy and paste clipboard in a corresponding device. In some embodiments, the clipboard is a software service (eg, operating system software service, standalone application, etc.) that provides temporary storage for information in the electronic device. The clipboard allows the user to interact with the information by performing operations such as copying, pasting, and cutting. Such clipboards are generally known in the art and thus are not described in more detail herein.

도 17에 도시된 프로세스는, 액티비티 관련 정보가 동반 전자 디바이스(204)에 포워드하는 데 이용가능하다고 소스 전자 디바이스(202)가 결정할 때 시작된다(단계(1700)). 예를 들어, 전술된 액티비티 정보를 수신하는 것에 기초하여(예컨대, 도 3의 단계(300) 참조), 소스 전자 디바이스(202)는 하나 이상의 확인을 수행하고 액티비티 관련 정보가 이용가능하다고 결정할 수 있다. 다른 예로서, 사용자가 정보(예컨대, 복사된 텍스트, 파일, 이미지 등)를 클립보드에 복사하는 복사하기 동작을 수행했음을 나타내는 표시를 수신하는 경우, 소스 전자 디바이스(202)는 액티비티 관련 정보가 이용가능하다고 결정할 수 있다. 다른 예로서, 소스 전자 디바이스(202)는 액티비티를 수행하는 것의 일부로서 소스 전자 디바이스(202)에서 수행되고 있는 다양한 동작을 모니터링할 수 있고, 액티비티 관련 정보가 이용가능해졌음을 직접적으로 또는 간접적으로 결정할 수 있다. 전술된 바와 같이, 도 17의 예의 경우, 클립보드의 내용은 액티비티 관련 정보이다. 따라서 소스 전자 디바이스(202)는, 단계(1700)에서, 현재 액티비티를 수행하는 동안에 배치되었던 하나 이상의 복사된 항목이 클립보드 상에 있다고 결정한다.The process shown in FIG. 17 begins when the source electronic device 202 determines that activity related information is available for forwarding to the companion electronic device 204 (step 1700). For example, based on receiving the activity information described above (eg, see step 300 of FIG. 3), the source electronic device 202 may perform one or more checks and determine that activity related information is available. . As another example, when the user receives an indication indicating that a user has performed a copy operation of copying information (eg, copied text, file, image, etc.) to the clipboard, the source electronic device 202 may use the activity related information. You can decide that it is possible. As another example, the source electronic device 202 can monitor various operations being performed on the source electronic device 202 as part of performing the activity and directly or indirectly determine that activity related information has become available. Can be. As described above, in the case of the example of FIG. 17, the contents of the clipboard are activity related information. Thus, the source electronic device 202 determines, at step 1700, that the one or more copied items that were placed while performing the current activity are on the clipboard.

소스 전자 디바이스(202)는 이어서 액티비티 관련 정보 광고를 생성한다(단계(1702)). 일반적으로, 액티비티 관련 정보 광고는, 동반 전자 디바이스(204)(및 가능하게는 액티비티 관련 정보 광고를 수신하는 다른 디바이스들)로 하여금 액티비티 관련 정보가 관심대상임을 결정하고 액티비티 관련 정보를 프로세싱할 수 있게 하는 충분한 정보를 포함한다. 클립보드 예를 계속하면, 소스 전자 디바이스(202)는 액티비티 관련 정보 광고를 생성하며, 이는 동반 전자 디바이스(204)로 하여금 액티비티 관련 정보 광고에 설명된 액티비티 관련 정보, 즉, 소스 전자 디바이스(202)로부터의 클립보드의 내용이 동반 전자 디바이스(204)의 관심대상임을 결정할 뿐만 아니라, 소스 전자 디바이스(202)로부터의 클립보드의 내용으로, 또는 그에 기초하여 동반 전자 디바이스(204) 내의 클립보드를 업데이트하게 할 수 있다.The source electronic device 202 then generates an activity related informational advertisement (step 1702). In general, activity-related informational advertisements may allow accompanying electronic device 204 (and possibly other devices receiving the activity-related informational advertisement) to determine that the activity-related information is of interest and process the activity-related information. Include enough information to do this. Continuing the clipboard example, the source electronic device 202 generates an activity related information advertisement, which causes the accompanying electronic device 204 to associate the activity related information described in the activity related information advertisement, that is, the source electronic device 202. Not only determine that the contents of the clipboard from are of interest to the companion electronic device 204, but also update the clipboard within the companion electronic device 204 with or based on the contents of the clipboard from the source electronic device 202. It can be done.

도 18은 일부 실시예들에 따른 소스 전자 디바이스(202)에 의해 생성된 액티비티 관련 정보 광고(1800)를 예시하는 블록도를 나타낸다. 액티비티 관련 정보 광고(1800)는 선택적으로 디바이스 ID 필드(1802), 버전 ID 필드(1804), 액티비티 식별자 필드(1806), 및 타임스탬프 필드(1808)를 포함한다. 디바이스 ID 필드(1802)는 액티비티 관련 정보 광고(1800)를 전송했던 디바이스를 식별하는, 예컨대, 소스 전자 디바이스(202)를 식별하는 식별자를 포함한다. 버전 ID 필드(1804)는 액티비티 관련 정보 광고(1800) 내의 필드들이 어떻게 포맷되고/되거나 어떻게 정보가 필드들 내에 저장되는지를 결정하기 위해 동반 전자 디바이스(204)가 사용할 수 있는 버전 식별자와 같은 버전 식별자를 포함한다. 액티비티 식별자 필드(1806)는 대응하는 액티비티 관련 정보가 연관되는 액티비티를 식별하는 액티비티 식별자, 예컨대, 액티비티 식별자들(1204 내지 1224) 중 하나 이상을 포함한다. 타임스탬프 필드(1808)는 액티비티 식별자 필드(1806) 내에 광고된 액티비티에 대한 타임스탬프를 포함한다. 전술된 바와 같이, 타임스탬프는 2개 이상의 액티비티 관련 정보 광고(1800)가 처리되어야 하는 순서, 어떤 액티비티 관련 정보 광고(1800)가 무시되어야 하는지 등을 해결하는 데 사용될 수 있다.18 illustrates a block diagram illustrating an activity related information advertisement 1800 generated by the source electronic device 202 in accordance with some embodiments. The activity related information advertisement 1800 optionally includes a device ID field 1802, a version ID field 1804, an activity identifier field 1806, and a timestamp field 1808. The device ID field 1802 includes an identifier that identifies the device that sent the activity related information advertisement 1800, eg, the source electronic device 202. The version ID field 1804 is a version identifier such as a version identifier that the companion electronic device 204 can use to determine how the fields in the activity related information advertisement 1800 are formatted and / or how the information is stored in the fields. It includes. The activity identifier field 1806 includes one or more of activity identifiers, eg, activity identifiers 1204-1224, that identify the activity with which the corresponding activity related information is associated. The time stamp field 1808 includes a time stamp for the activity advertised within the activity identifier field 1806. As discussed above, timestamps may be used to resolve the order in which two or more activity related information advertisements 1800 should be processed, which activity related information advertisements 1800 should be ignored, and the like.

액티비티 관련 정보 필드(1810)는 액티비티 관련 정보, 및/또는 액티비티 관련 정보에 기초하거나, 그로부터 도출되거나, 또는 다른 식으로 그를 식별하는 정보를 포함한다. 위의 예를 계속하면, 일부 실시예들에서, 소스 전자 디바이스(202)는 액티비티 관련 정보 필드(1810) 내에, 소스 전자 디바이스(202) 내의 클립보드로부터의 실제 내용의 일부 또는 전부를 포함한다. 예를 들어, 텍스트의 섹션이 최근에 클립보드에 복사되었다면, 텍스트의 섹션, 즉 텍스트 자체는, 가능하게는 포맷, 타임스탬프, 버전 정보 등을 포함하는 메타데이터와 함께, 액티비티 관련 정보 필드(1810)에 포함될 수 있다. 다른 예로서, 텍스트, 이미지, 및 파일의 섹션이 하나 이상의 복사하기 동작 동안에 클립보드에 개별적으로 복사되었다면, 텍스트, 이미지, 및 파일의 섹션의 일부 또는 전부가, 가능하게는 대응하는 메타데이터와 함께, 액티비티 관련 정보 필드(1810)에 포함될 수 있다.The activity related information field 1810 includes activity related information, and / or information based on, derived from, or otherwise identifying it. Continuing the example above, in some embodiments, the source electronic device 202 includes, in the activity related information field 1810, some or all of the actual content from the clipboard in the source electronic device 202. For example, if a section of text has recently been copied to the clipboard, then the section of text, i.e., the text itself, is accompanied by an activity related information field 1810, possibly with metadata including format, timestamp, version information, etc. ) May be included. As another example, if a section of text, image, and file was individually copied to the clipboard during one or more copy operations, some or all of the text, image, and section of the file, possibly with corresponding metadata, may be It may be included in the activity related information field 1810.

다른 예로서, 소스 전자 디바이스(202)가 액티비티 관련 정보 필드(1810) 내의 액티비티 관련 정보에 기초하거나, 그로부터 도출되는 등의 정보를 포함하는 실시예들에서, 소스 전자 디바이스(202)는 액티비티 관련 정보 필드(1810) 내에, 압축된 정보, 표현 정보, 액티비티 관련 정보를 도출하는 데 사용될 수 있는 정보, 및/또는 액티비티 관련 정보에 기초하거나 그와 연관된 다른 정보를 포함할 수 있다. 예를 들어, 소스 전자 디바이스(202)는 정보가 이용가능하다는 표시(예컨대, 포인터, 태그, 식별자, 참조, 및/또는 다른 표시자)를 포함할 수 있으며, 이는 아마도 정보의 유형의 기본 식별을 포함하지만, 액티비티 관련 정보 광고(1800) 내에 실제 액티비티 관련 정보 자체를 포함하지는 않는다. 이러한 실시예들에서, 동반 전자 디바이스(204)는 액티비티 관련 정보 광고(1800) 내에 나타난 액티비티 관련 정보를 검색하기 위한 하나 이상의 동작을 수행할 수 있다. 예를 들어, 소스 전자 디바이스(202)가 액티비티 관련 정보 필드(1810) 내의 액티비티 관련 정보에 대한 포인터를 포함한다고 가정하면, 동반 전자 디바이스(204)는 하나 이상의 대응하는 별개의 통신을 통해 소스 전자 디바이스(202)로부터 포인터에 의해 나타난 액티비티 관련 정보를 검색할 수 있다.As another example, in embodiments where the source electronic device 202 includes information based on, derived from, or associated with activity related information in the activity related information field 1810, the source electronic device 202 may include activity related information. Within field 1810 may include compressed information, presentation information, information that may be used to derive activity related information, and / or other information based on or associated with the activity related information. For example, source electronic device 202 may include an indication that information is available (eg, a pointer, tag, identifier, reference, and / or other indicator), which presumably indicates a basic identification of the type of information. But does not include the actual activity related information itself in the activity related information advertisement 1800. In such embodiments, companion electronic device 204 may perform one or more operations to retrieve activity related information presented within activity related information advertisement 1800. For example, assuming that the source electronic device 202 includes a pointer to the activity related information in the activity related information field 1810, the companion electronic device 204 can communicate with the source electronic device via one or more corresponding separate communications. From 202, activity related information indicated by the pointer can be retrieved.

일부 실시예들에서, 액티비티 관련 정보에 기초하거나, 그로부터 도출되는 등의 정보는 실제 액티비티 관련 정보의 일부 또는 전부에 더하여 액티비티 관련 정보 필드(1810)에 포함될 수 있다. 클립보드 예를 계속하면, 작은 섹션의 텍스트(100 바이트) 및 큰 이미지(4 MB)가 소스 전자 디바이스(202) 내의 클립보드에 복사되었다고 가정하면, 소스 전자 디바이스(202)는 액티비티 관련 정보 필드(1810) 내에 작은 섹션의 텍스트(및 가능하게는 대응하는 메타데이터)를 포함할 수 있지만, 이미지에 대해서는 참조만을 포함할 수 있다. 동반 전자 디바이스(204)는 이어서, 전술된 바와 같이 그 참조를 사용하여 이미지를 요청할 수 있다. 일부 실시예들에서, 액티비티 관련 정보 또는 그에 기초한 정보가 액티비티 관련 정보 광고(1800)에 포함될 것인지 여부를 결정하기 위해, 액티비티 관련 정보의 크기가 사용된다. 예를 들어, 하나 이상의 임계치(예컨대, 액티비티 관련 정보 광고(1800)에 대한 최대 크기 등)에 기초하여 액티비티 관련 정보는 액티비티 관련 정보 필드(1810) 내에 직접적으로 포함되거나 간접적으로 포함될(예컨대, 포인터, 표시자 등에 의해 표현됨) 수 있다.In some embodiments, information based on, or derived from, the activity related information may be included in the activity related information field 1810 in addition to some or all of the actual activity related information. Continuing the clipboard example, assuming that a small section of text (100 bytes) and a large image (4 MB) have been copied to the clipboard within the source electronic device 202, the source electronic device 202 may display an activity related information field ( 1810 may contain small sections of text (and possibly corresponding metadata), but may include only references to images. The companion electronic device 204 may then request an image using that reference, as described above. In some embodiments, the size of the activity related information is used to determine whether activity related information or information based thereon is to be included in the activity related information advertisement 1800. For example, based on one or more thresholds (eg, maximum size for activity related information advertisement 1800, etc.), activity related information may be included directly or indirectly within activity related information field 1810 (eg, a pointer, Represented by an indicator or the like).

소스 전자 디바이스(202)는 이어서 액티비티 관련 정보 광고(1800)를 송신(예컨대, 브로드캐스트, 유니캐스트, 멀티캐스트 등)한다(단계(1704)). 예를 들어, 대응하는 프로토콜을 사용하여, 소스 전자 디바이스(202)는 액티비티 관련 정보 광고(1800)를 동반 전자 디바이스(204)에 유니캐스트할 수 있다. 일반적으로, 이 동작 동안, 소스 전자 디바이스(202)는, 유선 또는 무선 통신 링크를 통해, 액티비티 관련 정보 광고(1800)를 동반 전자 디바이스(204)에 제공한다. 이하에서 보다 상세히 설명되는 바와 같이, 액티비티 관련 정보 광고(1800)를 수신하는 경우, 동반 전자 디바이스(204)는 동반 전자 디바이스(204)에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 액티비티 관련 정보를 선택적으로 제공한다.The source electronic device 202 then transmits (eg, broadcasts, unicasts, multicasts, etc.) the activity related information advertisement 1800 (step 1704). For example, using the corresponding protocol, the source electronic device 202 can unicast the activity related information advertisement 1800 to the companion electronic device 204. In general, during this operation, the source electronic device 202 provides the activity related information advertisement 1800 to the companion electronic device 204 via a wired or wireless communication link. As described in greater detail below, when receiving an activity related information advertisement 1800, the companion electronic device 204 optionally selects activity related information for use when performing one or more activities in the companion electronic device 204. To provide.

도 17의 예의 경우, 전술된 액티비티 광고(예컨대, 액티비티 광고(1300))와 별개로 액티비티 관련 정보를 소스 전자 디바이스(202)가 광고하는 실시예들이 설명된다. 다시 말하면, 일부 실시예들에서, 액티비티 광고(1300)는 액티비티 관련 정보 광고(1800)에 더하여 송신된다. 그러나, 일부 실시예들에서, 전술된 액티비티 관련 정보(즉, 실제 정보, 포인터 등)의 일부 또는 전부가 액티비티 광고(1300)에 포함된다. 이러한 실시예들에서, 별개의 액티비티 관련 정보 광고(1800)는 사용되지 않을 수 있다. 이러한 실시예들에서, 액티비티 광고(1300)는 액티비티 관련 정보 또는 그에 기초한 정보를 유지하기 위해 사용되는, 다양한 필드, 값 등을 포함한다. 이러한 실시예들에서, 동반 전자 디바이스(204)는 액티비티 광고(1300) 내의 액티비티 관련 정보를 프로세싱하기 위해 도 19에 도시된 동작들과 유사한 동작들을 수행할 수 있다.In the case of the example of FIG. 17, embodiments in which the source electronic device 202 advertises activity related information separately from the above described activity advertisement (eg, activity advertisement 1300) are described. In other words, in some embodiments, activity advertisement 1300 is transmitted in addition to activity related information advertisement 1800. However, in some embodiments, some or all of the activity related information described above (ie, actual information, pointers, etc.) is included in activity advertisement 1300. In such embodiments, a separate activity related information advertisement 1800 may not be used. In such embodiments, the activity advertisement 1300 includes various fields, values, and the like, used to maintain activity related information or information based thereon. In such embodiments, the companion electronic device 204 may perform operations similar to those shown in FIG. 19 to process activity related information in the activity advertisement 1300.

비록 액티비티 관련 정보 광고(1800)는 액티비티 관련 정보 광고의 일례로 도시되어 있지만, 일부 실시예들에서, 액티비티 관련 정보 광고(1800)는 상이하게 포맷된다(예컨대, 상이한 배열의 필드들을 포함하는 등). 예를 들어, 일부 실시예들에서, 선택적인 것으로서 설명되는 필드들 중 하나 이상은 선택적이지 않다. 일반적으로, 액티비티 관련 정보 광고(1800)는, 소스 전자 디바이스(202)가 동반 전자 디바이스(204)에 액티비티 관련 정보를 전달할 수 있도록 하는 충분한 정보를 포함하여, 동반 전자 디바이스(204)가 동반 전자 디바이스(204)에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 액티비티 관련 정보를 제공할 수 있게 한다.Although activity related information advertisement 1800 is shown as an example of activity related information advertisement, in some embodiments, activity related information advertisement 1800 is formatted differently (eg, including a different arrangement of fields, etc.). . For example, in some embodiments one or more of the fields described as optional are not optional. In general, the activity related information advertisement 1800 includes sufficient information to enable the source electronic device 202 to communicate activity related information to the companion electronic device 204, such that the companion electronic device 204 is accompanied by a companion electronic device. At 204, it is possible to provide activity related information for use in performing one or more activities.

도 19는 일부 실시예들에 따른, 소스 전자 디바이스로부터의 액티비티 관련 정보를, 동반 전자 디바이스에서 수신하기 위한 프로세스를 예시하는 흐름도를 나타낸다. 보다 상세하게는, 도 19는 동반 전자 디바이스(204)가 소스 전자 디바이스(202)로부터 액티비티 관련 정보를 수신하는 실시예를 예시한다. 도 19에 도시된 동작들은 일부 실시예들에 의해 수행되는 동작들의 일반적인 예로서 나타낸 것임을 유의한다. 일부 실시예들에 의해 수행되는 동작들은 상이한 동작들 및/또는 상이한 순서로 수행되는 동작들을 포함한다. 추가적으로, 동작들의 설명에 있어서 비록 소정 메커니즘들(예컨대, 동반 전자 디바이스(204) 등)이 사용되고 있으나, 일부 실시예들에서, 다른 메커니즘들이 동작들을 수행한다.19 shows a flowchart illustrating a process for receiving, at a companion electronic device, activity related information from a source electronic device, in accordance with some embodiments. More specifically, FIG. 19 illustrates an embodiment in which the companion electronic device 204 receives activity related information from the source electronic device 202. It is noted that the operations shown in FIG. 19 are shown as a general example of the operations performed by some embodiments. The operations performed by some embodiments include different operations and / or operations performed in a different order. Additionally, although certain mechanisms (eg, companion electronic device 204, etc.) are used in the description of the operations, in some embodiments, other mechanisms perform the operations.

도 19에 도시된 프로세스의 경우, 소스 전자 디바이스(202) 내의 클립보드의 내용은 액티비티 관련 정보로서 사용된다. 그러나, 일부 실시예들에서, 그리고 전술된 바와 같이, 다른 유형의 액티비티 관련 정보가 소스 전자 디바이스(202)로부터 수신될 수 있다.For the process shown in FIG. 19, the contents of the clipboard in the source electronic device 202 are used as activity related information. However, in some embodiments, and as described above, other types of activity related information may be received from the source electronic device 202.

도 19에 도시된 프로세스는, 동반 전자 디바이스(204)가 소스 전자 디바이스(202)로부터 액티비티 관련 정보 광고(1800)를 수신할 때 시작된다(단계(1900)). 전술된 바와 같이, 이 동작은, 동반 전자 디바이스(204)가 액티비티 관련 정보를 프로세싱하고 동반 전자 디바이스(204)에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 액티비티 관련 정보를 선택적으로 제공할 수 있게 하는 정보를 포함하는 액티비티 관련 정보 광고(1800)의 유니캐스트, 브로드캐스트, 멀티캐스트 등을 수신하는 것을 포함할 수 있다.The process shown in FIG. 19 begins when the companion electronic device 204 receives an activity related information advertisement 1800 from a source electronic device 202 (step 1900). As noted above, this operation enables the companion electronic device 204 to process the activity related information and optionally provide activity related information for use when performing one or more activities in the companion electronic device 204. It may include receiving a unicast, broadcast, multicast, etc. of the activity-related information advertisement 1800 that includes the information.

동반 전자 디바이스(204)는 이어서 액티비티 관련 정보 광고(1800)에 설명된 액티비티 관련 정보가 관심대상인지 여부를 결정한다(1902). 일반적으로, 이 동작 동안, 동반 전자 디바이스(204)는 액티비티 관련 정보가 동반 전자 디바이스(204)에서 사용될 것인지 여부를 결정한다. 이 설명에서, 액티비티 관련 정보가 관심대상임을 결정하고 그에 따라 액티비티 관련 정보를 제공하는(또는 그렇지 않은) 동작은 액티비티 관련 정보를 "선택적으로" 제공하는 것으로서 설명된다는 것에 유의한다. 다시 말해서, 동반 전자 디바이스(204)는 본 명세서에서 설명된 바와 같이 동반 전자 디바이스(204) 내의 액티비티들에 액티비티 관련 정보를 제공할지 여부를 선택한다.The companion electronic device 204 then determines 1902 whether the activity related information described in the activity related information advertisement 1800 is of interest. In general, during this operation, companion electronic device 204 determines whether activity related information is to be used in companion electronic device 204. In this description, it is noted that the act of determining that activity related information is of interest and thus providing (or otherwise) providing activity related information is described as "optionally" providing activity related information. In other words, companion electronic device 204 selects whether to provide activity related information to activities within companion electronic device 204 as described herein.

일부 실시예들에서, 액티비티 관련 정보가 관심대상인지 여부를 결정할 때, 동반 전자 디바이스(204)는 동반 전자 디바이스(204)의 디스플레이(예컨대, 디스플레이(1400)) 상에 액티비티 관련 정보 이용가능성 표시자를 제시한다. 도 20은 일부 실시예들에 따른 액티비티 관련 정보 이용가능성 표시자(2000)를 예시하는 블록도를 나타낸다. 도 20에서 알 수 있는 바와 같이, 액티비티 관련 정보 이용가능성 표시자(2000)는 동반 전자 디바이스(204)의 디스플레이(1400) 상에 제시되는 아이콘이다. 일부 실시예들에서, 액티비티 관련 정보 이용가능성 표시자(2000)는 일반적으로 액티비티 관련 정보가 이용가능하다는 것을 나타내는 단순한 아이콘이다. 그러나, 일부 실시예들에서, 액티비티 관련 정보 이용가능성 표시자(2000)는 아이콘 내에 액티비티 관련 정보의 유형(들)의 표현(예를 들어, 도시된 바와 같은 텍스트 표시자, 이미지 표시자, 실행취소 버퍼 표시자, 클립보드 표시자, 조합 표시자 등)을 포함한다. 전술된 재개가능 액티비티 표시(1404)와 유사하게, 일부 실시예들에서, 사용자는 액티비티 관련 정보의 수락(또는 그렇지 않음)을 동반 전자 디바이스(204)에 신호하기 위해 액티비티 관련 정보 이용가능성 표시자(2000)를 선택할 수 있다. 예를 들어, 사용자는 터치 감응형 스크린 상에서 액티비티 관련 정보 이용가능성 표시자(2000)를 손가락 탭하고, 마우스 포인트 호버(hover)를 수행하고 액티비티 관련 정보 이용가능성 표시자(2000) 상에서 클릭하고, 액티비티 관련 정보 이용가능성 표시자(2000)를 클릭-선택하고 지정된 경로를 따라 그것을 드래그하는 등을 수행할 수 있다. 일부 실시예들에서, 액티비티 관련 정보의 수락은 동반 전자 디바이스(204)로 하여금 액티비티 관련 정보가 관심대상이라고 결정하게 한다.In some embodiments, when determining whether activity related information is of interest, companion electronic device 204 displays an activity related information availability indicator on a display (eg, display 1400) of companion electronic device 204. present. 20 illustrates a block diagram illustrating an activity related information availability indicator 2000 in accordance with some embodiments. As can be seen in FIG. 20, activity related information availability indicator 2000 is an icon that is presented on display 1400 of companion electronic device 204. In some embodiments, activity related information availability indicator 2000 is generally a simple icon indicating that activity related information is available. However, in some embodiments, activity related information availability indicator 2000 may be a representation of the type (s) of activity related information (eg, text indicator as shown, image indicator, undo) within an icon. Buffer indicator, clipboard indicator, combination indicator, etc.). Similar to the resumable activity indication 1404 described above, in some embodiments, the user may indicate an activity related information availability indicator (or not) to signal the companion electronic device 204 to accept (or not) the activity related information. 2000). For example, a user finger taps the activity related information availability indicator 2000 on a touch-sensitive screen, performs a mouse point hover and clicks on the activity related information availability indicator 2000, and Click-select the relevant information availability indicator 2000, drag it along a specified path, and so forth. In some embodiments, acceptance of the activity related information causes the companion electronic device 204 to determine that the activity related information is of interest.

일부 실시예들에서, 액티비티 관련 정보가 관심대상인지 여부를 결정할 때(전술된 액티비티 관련 정보 이용가능성 표시자(2000)를 사용하는 것에 더하여 또는 그 대신에), 동반 전자 디바이스(204)는 대응하는 액티비티가 소스 전자 디바이스(202)로부터 동반 전자 디바이스(204)로 전달될 것인지 여부, 액티비티 관련 정보가 동반 전자 디바이스(204)에 의해 지원되는 포맷인지 여부 등을 결정한다. 일반적으로, 동반 전자 디바이스(204)는, 액티비티 관련 정보가 동반 전자 디바이스(204) 내의 액티비티들에 이용가능하게 되어야 하고 그렇게 될 수 있을 때, 액티비티 관련 정보가 관심대상이라고 결정한다.In some embodiments, when determining whether the activity related information is of interest (in addition to or instead of using the activity related information availability indicator 2000 described above), the companion electronic device 204 may correspond to the corresponding information. Determines whether the activity will be delivered from the source electronic device 202 to the companion electronic device 204, whether the activity related information is in a format supported by the companion electronic device 204, and the like. In general, companion electronic device 204 determines that activity related information is of interest when activity related information should be available to and within activities within companion electronic device 204.

액티비티 관련 정보 광고(1800)에 설명된 액티비티 관련 정보가 관심대상이 아닌 경우(단계(1904)), 동반 전자 디바이스(204)는 액티비티 관련 정보 광고(1800)에 관련된 프로세싱을 중단할 수 있고 프로세스는 종료된다. 이 동작 동안, 일부 실시예들에서, 동반 전자 디바이스(204)는 액티비티 관련 정보 이용가능성 표시자(2000)를 디스플레이 스크린으로부터 제거할 수 있고, 미래의 중복 광고들을 무시하도록 자신을 구성할 수 있고, 부정적 확인응답 또는 거부를 소스 전자 디바이스(202)에 전달하는 등을 수행할 수 있다.If the activity-related information described in the activity-related information advertisement 1800 is not of interest (step 1904), the companion electronic device 204 may stop processing associated with the activity-related information advertisement 1800 and the process may It ends. During this operation, in some embodiments, companion electronic device 204 may remove activity related information availability indicator 2000 from the display screen, configure itself to ignore future duplicate advertisements, Deliver a negative acknowledgment or denial to the source electronic device 202, and the like.

액티비티 관련 정보 광고(1800)에 설명된 액티비티 관련 정보가 관심대상인 경우(단계(1904)), 동반 전자 디바이스(204)는 액티비티 관련 정보를 획득한다(1906). 일반적으로, 이 동작 동안, 동반 전자 디바이스(204)는 액티비티 관련 정보 광고(1800) 및 소스 전자 디바이스(202) 중 하나 또는 둘 모두로부터 액티비티 관련 정보의 적어도 일부를 검색한다. 이 동작 동안, 액티비티 관련 정보 광고(1800)가 실제 액티비티 관련 정보의 일부 또는 전부를 포함하는 경우, 동반 전자 디바이스(204)는 액티비티 관련 정보의 일부 또는 전부를 액티비티 관련 정보 광고(1800)로부터 획득할 수 있다. 예를 들어, 소스 전자 디바이스(202)가 액티비티 관련 정보 광고(1800) 내에 클립보드의 내용의 적어도 일부를 포함했다고 가정하면, 동반 전자 디바이스(204)는 액티비티 관련 정보 광고(1800)로부터 클립보드의 내용을 획득할 수 있다.If the activity related information described in the activity related information advertisement 1800 is of interest (step 1904), the companion electronic device 204 obtains the activity related information (1906). In general, during this operation, companion electronic device 204 retrieves at least some of the activity related information from one or both of activity related information advertisement 1800 and source electronic device 202. During this operation, when the activity-related information advertisement 1800 includes some or all of the actual activity-related information, the companion electronic device 204 may obtain some or all of the activity-related information from the activity-related information advertisement 1800. Can be. For example, assuming that the source electronic device 202 includes at least a portion of the contents of the clipboard within the activity related information advertisement 1800, the companion electronic device 204 may be configured to retrieve the clipboard from the activity related information advertisement 1800. You can get the content.

액티비티 관련 정보 광고(1800)로부터 액티비티 관련 정보를 획득하는 것에 더하여 또는 그 대신에, 동반 전자 디바이스(204)는 소스 전자 디바이스(202)로부터 액티비티 관련 정보의 일부 또는 모두를 획득할 수 있다. 예를 들어, 소스 전자 디바이스(202)가 액티비티 관련 정보 광고(1800) 내에, 소스 전자 디바이스(202) 상의 액티비티 관련 정보에 대한 포인터(또는 그의 다른 표시자)(예컨대, 소스 전자 디바이스(202) 내의 클립보드 상의 이미지 파일과 같은 정보에 대한 포인터 등)를 포함한 경우, 동반 전자 디바이스(204)는 소스 전자 디바이스(202)로부터 액티비티 관련 정보를 요청할 수 있다.In addition to or instead of obtaining activity related information from the activity related information advertisement 1800, the companion electronic device 204 may obtain some or all of the activity related information from the source electronic device 202. For example, the source electronic device 202 may be in an activity related information advertisement 1800, a pointer (or other indicator thereof) to activity related information on the source electronic device 202 (eg, in the source electronic device 202). Companion electronic device 204 may request activity related information from the source electronic device 202.

일부 실시예들에서, 액티비티 관련 정보는 확장된-액티비티 데이터와 함께 획득될 수 있으며, 즉, 소스 전자 디바이스(202)에 의해 확장된 액티비티 데이터 내에 포함될 수 있다. 이러한 실시예들 중 일부에서, 동반 전자 디바이스(204)는 확장된 액티비티 데이터와 함께 액티비티 관련 정보의 전송을 요청한다. 예를 들어, 액티비티 관련 정보 광고(1800)는 액티비티 관련 정보가 이용가능하다는 표시, 예컨대, 포인터 또는 다른 표시자를 포함할 수 있으며, 동반 전자 디바이스는 본 명세서에서 설명된 바와 같이, 대응하는 액티비티를 전달하는 것(즉, 확장된 액티비티 데이터를 요청하는 것)과 함께 액티비티 관련 데이터를 획득하라는 요청을 수신할 수 있다.In some embodiments, activity related information may be obtained along with the extended-activity data, ie, included in the extended activity data by the source electronic device 202. In some of these embodiments, companion electronic device 204 requests the transmission of activity related information along with the expanded activity data. For example, activity related information advertisement 1800 may include an indication that activity related information is available, such as a pointer or other indicator, and the companion electronic device conveys the corresponding activity, as described herein. Along with doing so (ie requesting extended activity data), a request may be received to obtain activity related data.

동반 전자 디바이스(204)는 이어서 동반 전자 디바이스(204)에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 액티비티 관련 정보를 제공한다(단계(1908)). 이 동작 동안, 동반 전자 디바이스(204)는 하나 이상의 대응하는 구조체(메모리, 클립보드, 캐시, 버퍼 등)를 사용하여 액티비티 관련 정보를 저장함으로써, 액티비티 관련 정보가 액티비티들(예컨대, 소스 전자 디바이스(202)로부터 동반 전자 디바이스(204)로 전달된 액티비티, 동반 전자 디바이스(204) 상에서 시작된 액티비티 등)에 이용가능하도록 한다. 일부 실시예들에서, "하나 이상의 액티비티를 수행할 때 사용하기 위한 액티비티 관련 정보를 제공하는 것"은, 액티비티의 동작 동안, 액티비티 관련 정보가 대응하는 그리고 예상된 방식으로 사용될 수 있는 식으로 액티비티 관련 정보를 제공하는 것을 포함한다. 클립보드 예를 계속하면, 이것은, 소스 전자 디바이스(202)로부터의 클립보드의 내용을, 클립보드 상의 정보가 일반적으로 동반 전자 디바이스(204)에서 이용가능한 것처럼 - 즉, 동반 전자 디바이스(204) 내의 클립보드로부터인 것처럼 - 붙여넣기 및 다른 동작들에 이용가능하게 만드는 것을 포함할 수 있다. 예를 들어, 따라서 핫키들 및 메뉴 선택들은, 동반 전자 디바이스(204) 상에서, 소스 전자 디바이스(202)로부터 복사된 클립보드의 내용에 액세스하는 데 사용될 수 있다. 다른 예로서, 액티비티 관련 정보가 실행취소 버퍼의 내용을 포함한다고 가정하면, 동반 전자 디바이스(204) 내의 실행취소 버퍼는 액티비티 관련 정보(즉, 소스 전자 디바이스(202)에서 수행된 동작들의 이력)를 사용하여 업데이트되어, 초기에 동반 전자 디바이스(204)에서 수행되지 않았던 대응하는 동작들이 동반 전자 디바이스(204)에서 실행취소될 수 있게 된다.Companion electronic device 204 then provides activity related information for use in performing one or more activities in companion electronic device 204 (step 1908). During this operation, companion electronic device 204 stores the activity related information using one or more corresponding structures (memory, clipboard, cache, buffer, etc.), whereby the activity related information is generated by the activities (eg, source electronic device ( To activities delivered from companion 202 to companion electronic device 204, activities initiated on companion electronic device 204, and the like. In some embodiments, “providing activity related information for use in performing one or more activities” refers to the activity related in such a way that during the operation of the activity, the activity related information can be used in a corresponding and expected manner. It includes providing information. Continuing with the clipboard example, this shows the contents of the clipboard from the source electronic device 202 as if the information on the clipboard is generally available at the companion electronic device 204-ie within the companion electronic device 204. As it is from the clipboard-which can include making it available for pasting and other operations. For example, hotkeys and menu selections can thus be used to access the contents of the clipboard copied from the source electronic device 202 on the companion electronic device 204. As another example, assuming that the activity related information includes the contents of the undo buffer, the undo buffer in the companion electronic device 204 may retrieve the activity related information (ie, the history of the operations performed at the source electronic device 202). And updated to allow corresponding operations that were not initially performed at the companion electronic device 204 to be undone at the companion electronic device 204.

클립보드 예를 계속하면, 일부 실시예들에서, 동반 전자 디바이스(204)에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 액티비티 관련 정보를 제공하는 것은, 액티비티 관련 정보 광고(1800)에 설명된 클립보드의 내용을 동반 전자 디바이스(204) 내의 클립보드에 복사하는 것을 포함한다. 이러한 실시예들에서, 클립보드의 내용은 액티비티 관련 정보 광고(1800)에 설명된 클립보드의 내용에 의해 부분적으로 또는 완전히 겹쳐쓰기될 수 있다. 일부 실시예들에서, 겹쳐쓰기, 및 그에 따른 동반 전자 디바이스(204) 내의 클립보드 상의 유용한 정보의 손실을 회피하기 위해, 동반 전자 디바이스(204)(예컨대, 그의 운영체제)는 별개의 전달된 정보 버퍼(transferred information buffer)를 제공한다. 이러한 실시예들에서, 전달된 정보 버퍼는 대응하는 메뉴 선택들, 핫키들 등을 사용해 액세스될 수 있다. 일부 실시예들에서, 사용자는 클립보드를 겹쳐쓰거나 정보를 전달된 액티비티 버퍼에 쓰기 위한 선택(예컨대, 팝업 프롬프트)을 제시받을 수 있다. 일부 실시예들에서, 전달된 정보 버퍼는 전자 디바이스들 내의 정보를 위한 일시적 저장소를 제공하는 소프트웨어 서비스(예컨대, 운영체제 소프트웨어 서비스, 독립형 애플리케이션 등)이지만, 하드웨어-기반 전달된 정보 버퍼가 단독으로 또는 소프트웨어 전달된 정보 버퍼와 조합되어 사용될 수 있다. 전달된 정보 버퍼는 사용자가 복사하기, 붙여넣기, 잘라내기 등과 같은 동작들을 수행하여, 전달된 정보 버퍼에 저장된 정보와 상호작용할 수 있게 한다.Continuing with the clipboard example, in some embodiments, providing activity related information for use in performing one or more activities in the companion electronic device 204 may include: the clipboard described in the activity related information advertisement 1800. Copying the contents of the data to a clipboard in the companion electronic device 204. In such embodiments, the contents of the clipboard may be partially or completely overwritten by the contents of the clipboard described in the activity related information advertisement 1800. In some embodiments, the companion electronic device 204 (eg, its operating system) is a separate delivered information buffer to avoid overwriting and thus the loss of useful information on the clipboard within the companion electronic device 204. (transferred information buffer). In such embodiments, the delivered information buffer can be accessed using corresponding menu selections, hotkeys, and the like. In some embodiments, the user may be presented with a choice (eg, a pop-up prompt) to overwrite the clipboard or to write information to the delivered activity buffer. In some embodiments, the delivered information buffer is a software service (eg, operating system software service, standalone application, etc.) that provides temporary storage for information in electronic devices, but the hardware-based delivered information buffer alone or in software. It can be used in combination with the passed information buffer. The delivered information buffer allows the user to perform operations such as copying, pasting, cutting, etc., to interact with the information stored in the delivered information buffer.

일부 실시예들에서, 사용자는 사용자로 하여금 소스 전자 디바이스(202)로부터의 클립보드의 어떤 내용이 동반 전자 디바이스 내의 클립보드로 복사될 것인지 그리고 복사될 위치를 결정할 수 있게 하는 인터페이스를 (예컨대, 디스플레이(1400) 상에서) 제시받을 수 있다. 예를 들어, 액티비티 관련 정보 이용가능성 표시자(2000)를 선택한 후, 소스 전자 디바이스(202)로부터의 클립보드의 내용을 보여주거나 다른 식으로 리스팅하는 팝업 윈도우가 디스플레이(1400) 상에 제시될 수 있으며, 팝업 윈도우는 어떤 내용이 동반 전자 디바이스(204) 내의 클립보드로 복사될 것인지, 클립보드 상의 어디에서 내용이 복사될 것인지 등을 선택하기 위한 메커니즘들을 포함한다.In some embodiments, the user may display an interface (eg, display) that allows the user to determine what content of the clipboard from the source electronic device 202 is to be copied to the clipboard within the companion electronic device and where to copy it. (At 1400). For example, after selecting the activity related information availability indicator 2000, a pop-up window may be presented on the display 1400 that shows or otherwise lists the contents of the clipboard from the source electronic device 202. The pop-up window includes mechanisms for selecting what content will be copied to the clipboard within the companion electronic device 204, where on the clipboard the content will be copied, and the like.

비록 액티비티 관련 정보 이용가능성 표시자(2000)가 잠금 스크린 상에서 특정 위치에 제시되지만, 일부 실시예들에서, 액티비티 관련 정보 이용가능성 표시자(2000)는 동반 전자 디바이스(204)의 동작 동안 임의의 스크린 상에서 상이한 위치들에 제시될 수 있는 등을 유의한다. 또한, 액티비티 관련 정보 이용가능성 표시자(2000)는 재개가능 액티비티 표시(1404)와 함께 그리고/또는 그와 연관되어 제시될 수 있다. 이러한 실시예들에서, 사용자는 액티비티를 전달하는 것(본 명세서에서 설명된 바와 같음) 또는 액티비티 관련 정보를 수락하는 것 중 하나 또는 둘 모두를 위해 액티비티 관련 정보 이용가능성 표시자(2000) 및 재개가능 액티비티 표시(1404) 중 하나 또는 둘 모두를 선택할 수 있다. 일부 실시예들에서, 동반 전자 디바이스(204)는 재개가능 액티비티 표시(1404)만을 제시하며, 사용자가 재개가능 액티비티 표시(1404)를 선택하는 것은 동반 전자 디바이스(204)로 하여금 액티비티를 전달하는 것(본 명세서에서 설명된 바와 같음) 및 액티비티 관련 정보를 수락하는 것 둘 모두를 수행하게 한다.Although the activity related information availability indicator 2000 is presented at a specific location on the lock screen, in some embodiments, the activity related information availability indicator 2000 may be any screen during operation of the companion electronic device 204. Note that it may be presented in different positions in the phase, and the like. In addition, activity related information availability indicator 2000 may be presented with and / or associated with resumable activity indication 1404. In such embodiments, the user can resume activity related information availability indicator 2000 and resume either or both of delivering the activity (as described herein) or accepting activity related information. One or both of activity indication 1404 can be selected. In some embodiments, companion electronic device 204 presents only resumable activity indication 1404, and the user selecting resumeable activity indication 1404 is such that companion electronic device 204 delivers the activity. (As described herein) and accepting activity related information.

실시예들에 대한 위의 설명들은 단지 예시 및 설명의 목적으로 제시되었다. 이는 모두를 규명하거나 실시예들을 개시된 형태들로 한정하려고 의도한 것이 아니다. 따라서, 많은 수정들 및 변경들이 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다. 게다가, 위의 개시내용은 실시예들을 제한하도록 의도되지 않는다. 실시예들의 범주는 첨부된 청구범위에 의해 한정된다.The above description of the embodiments has been presented for the purposes of illustration and description only. It is not intended to be exhaustive or to limit the embodiments to the forms disclosed. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art. In addition, the above disclosure is not intended to limit the embodiments. The scope of the embodiments is defined by the appended claims.

Claims (20)

방법으로서,
동반 전자 디바이스(companion electronic device)에 의해,
소스 전자 디바이스로부터, 액티비티 관련 정보가 상기 소스 전자 디바이스로부터 이용 가능하다는 표시를 포함하는 메시지를 수신하는 단계 - 상기 표시는 상기 소스 전자 디바이스 상의 상기 액티비티 관련 정보에 대한 포인터를 포함하고, 상기 메시지는 상기 액티비티 관련 정보를 포함하지 않음 -;
상기 메시지 내의 상기 표시를 수신하는 것에 응답하여, 상기 메시지와 별개인 송신에서 상기 소스 전자 디바이스 상의 상기 액티비티 관련 정보에 대한 상기 포인터에 기초하여 상기 소스 전자 디바이스로부터 상기 액티비티 관련 정보를 획득하는 단계; 및
상기 동반 전자 디바이스 상에서 하나 이상의 액티비티를 수행할 때 상기 동반 전자 디바이스 상에서 하나 이상의 프로세스에 의해 사용하기 위해 상기 액티비티 관련 정보를 선택적으로 제공하는 단계
를 포함하는 방법.
As a method,
By a companion electronic device,
Receiving, from a source electronic device, a message comprising an indication that activity related information is available from the source electronic device, the indication comprising a pointer to the activity related information on the source electronic device, wherein the message Does not contain activity-related information-;
In response to receiving the indication in the message, obtaining the activity related information from the source electronic device based on the pointer to the activity related information on the source electronic device in a transmission separate from the message; And
Selectively providing the activity related information for use by one or more processes on the companion electronic device when performing one or more activities on the companion electronic device.
How to include.
제1항에 있어서,
상기 액티비티 관련 정보를 선택적으로 제공하는 단계는 상기 동반 전자 디바이스 내의 클립보드의 내용의 일부 또는 전부를 소스 클립보드 정보로 대체하는 단계를 포함하고, 상기 소스 클립보드 정보는 상기 소스 전자 디바이스 내의 클립보드의 내용의 일부 또는 전부의 사본을 포함하는, 방법.
The method of claim 1,
Selectively providing the activity related information includes replacing part or all of the contents of the clipboard in the companion electronic device with source clipboard information, wherein the source clipboard information is a clipboard in the source electronic device. A method comprising a copy of some or all of the contents of a.
제2항에 있어서,
상기 소스 클립보드 정보는 상기 소스 전자 디바이스의 하나 이상의 애플리케이션에 대해 행해진 변경들의 기록을 유지하는 상기 소스 전자 디바이스 내의 실행취소 버퍼의 내용을 포함하고, 상기 기록은 상기 변경들이 상기 동반 전자 디바이스에서 역전되는 것을 가능하게 하는, 방법.
The method of claim 2,
The source clipboard information includes the contents of an undo buffer in the source electronic device that maintains a record of changes made to one or more applications of the source electronic device, wherein the record is that the changes are reversed at the companion electronic device. How to make it possible.
제2항에 있어서, 상기 클립보드의 상기 내용을 대체하는 것에 관한 표시를 수신하는 단계를 더 포함하고, 상기 동반 전자 디바이스 내의 상기 클립보드의 상기 내용의 일부 또는 전부는 상기 표시를 수신하는 것에 응답하여 상기 소스 클립보드 정보로 대체되는, 방법.3. The method of claim 2, further comprising receiving an indication regarding replacing the content of the clipboard, wherein some or all of the content of the clipboard in the companion electronic device is responsive to receiving the indication. Replaced by the source clipboard information. 제2항에 있어서,
상기 소스 클립보드 정보를 상기 동반 전자 디바이스 내의 전달된 정보 버퍼(transferred information buffer)에 저장하는 단계 - 상기 전달된 정보 버퍼는 상기 동반 전자 디바이스 내의 클립보드와 상이함 -; 및
상기 동반 전자 디바이스에서의 액티비티들에서 사용하기 위해 상기 전달된 정보 버퍼로부터 상기 소스 클립보드 정보를 제공하는 단계
를 더 포함하는 방법.
The method of claim 2,
Storing the source clipboard information in a transferred information buffer in the companion electronic device, wherein the transferred information buffer is different from the clipboard in the companion electronic device; And
Providing the source clipboard information from the passed information buffer for use in activities in the companion electronic device.
How to include more.
제1항에 있어서,
확장된 액티비티 데이터와 함께 상기 액티비티 관련 정보를 수신하는 단계를 더 포함하고, 상기 확장된 액티비티 데이터는 상기 소스 전자 디바이스로부터의 액티비티를 계속하기 위한 상기 동반 전자 디바이스 내의 애플리케이션의 구성을 지시하는 정보를 포함하는, 방법.
The method of claim 1,
Receiving the activity related information along with extended activity data, wherein the extended activity data includes information indicating configuration of an application in the companion electronic device for continuing the activity from the source electronic device. How to.
제1항에 있어서,
상기 액티비티 관련 정보를 선택적으로 제공하는 단계는,
상기 동반 전자 디바이스의 디스플레이 상에 액티비티 관련 정보 이용가능성 표시자를 제시하는 단계;
상기 액티비티 관련 정보 이용가능성 표시자의 수락을 수신하는 경우, 상기 동반 전자 디바이스에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 상기 액티비티 관련 정보를 제공하는 단계; 및
상기 액티비티 관련 정보 이용가능성 표시자의 거절을 수신하는 경우, 상기 동반 전자 디바이스에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 상기 액티비티 관련 정보를 제공하지 않는 단계
를 포함하는, 방법.
The method of claim 1,
Optionally providing the activity related information,
Presenting an activity related information availability indicator on a display of the companion electronic device;
When receiving an acceptance of the activity related information availability indicator, providing the activity related information for use in performing one or more activities at the companion electronic device; And
Not receiving the activity related information for use when performing one or more activities in the companion electronic device upon receiving a rejection of the activity related information availability indicator;
Including, the method.
동반 전자 디바이스로서,
프로세싱 서브시스템; 및
네트워킹 서브시스템
을 포함하며,
상기 프로세싱 서브시스템 및 상기 네트워킹 서브시스템은 방법을 수행하도록 구성되고, 상기 방법은,
소스 전자 디바이스로부터, 액티비티 관련 정보가 상기 소스 전자 디바이스로부터 이용 가능하다는 표시를 포함하는 메시지를 수신하는 단계 - 상기 표시는 상기 소스 전자 디바이스 상의 상기 액티비티 관련 정보에 대한 포인터를 포함하고, 상기 메시지는 상기 액티비티 관련 정보를 포함하지 않음 -;
상기 메시지 내의 상기 표시를 수신하는 것에 응답하여, 상기 메시지와 별개인 송신에서 상기 소스 전자 디바이스 상의 상기 액티비티 관련 정보에 대한 상기 포인터에 기초하여 상기 소스 전자 디바이스로부터 상기 액티비티 관련 정보를 획득하는 단계; 및
상기 동반 전자 디바이스 상에서 하나 이상의 액티비티를 수행할 때 상기 동반 전자 디바이스 상에서 하나 이상의 프로세스에 의해 사용하기 위해 상기 액티비티 관련 정보를 선택적으로 제공하는 단계
를 포함하는, 동반 전자 디바이스.
As a companion electronic device,
Processing subsystem; And
Networking subsystem
Including;
The processing subsystem and the networking subsystem are configured to perform a method, the method comprising:
Receiving a message from a source electronic device, the message comprising an indication that activity related information is available from the source electronic device, the indication including a pointer to the activity related information on the source electronic device, the message Does not contain activity-related information-;
In response to receiving the indication in the message, obtaining the activity related information from the source electronic device based on the pointer to the activity related information on the source electronic device in a transmission separate from the message; And
Selectively providing the activity related information for use by one or more processes on the companion electronic device when performing one or more activities on the companion electronic device.
Including a companion electronic device.
제8항에 있어서,
상기 액티비티 관련 정보를 선택적으로 제공하는 단계는 상기 동반 전자 디바이스 내의 클립보드의 내용의 일부 또는 전부를 소스 클립보드 정보로 대체하는 단계를 포함하고, 상기 소스 클립보드 정보는 상기 소스 전자 디바이스 내의 클립보드의 내용의 일부 또는 전부의 사본을 포함하는, 동반 전자 디바이스.
The method of claim 8,
Selectively providing the activity related information includes replacing part or all of the contents of the clipboard in the companion electronic device with source clipboard information, wherein the source clipboard information is a clipboard in the source electronic device. Companion electronic device, including a copy of some or all of the contents of the.
제9항에 있어서,
상기 소스 클립보드 정보는 상기 소스 전자 디바이스의 하나 이상의 애플리케이션에 대해 행해진 변경들의 기록을 유지하는 상기 소스 전자 디바이스 내의 실행취소 버퍼의 내용을 포함하고, 상기 기록은 상기 변경들이 상기 동반 전자 디바이스에서 역전되는 것을 가능하게 하는, 동반 전자 디바이스.
The method of claim 9,
The source clipboard information includes the contents of an undo buffer in the source electronic device that maintains a record of changes made to one or more applications of the source electronic device, wherein the record is that the changes are reversed at the companion electronic device. A companion electronic device that makes it possible.
제9항에 있어서, 상기 클립보드의 상기 내용을 대체하는 것에 관한 표시를 수신하는 단계를 더 포함하고, 상기 동반 전자 디바이스 내의 상기 클립보드의 상기 내용의 일부 또는 전부는 상기 표시를 수신하는 것에 응답하여 상기 소스 클립보드 정보로 대체되는, 동반 전자 디바이스.10. The method of claim 9, further comprising receiving an indication regarding replacing the content of the clipboard, wherein some or all of the content of the clipboard in the companion electronic device is responsive to receiving the indication. Accompanying the source clipboard information. 제9항에 있어서,
상기 방법은,
상기 소스 클립보드 정보를 상기 동반 전자 디바이스 내의 전달된 정보 버퍼에 저장하는 단계 - 상기 전달된 정보 버퍼는 상기 동반 전자 디바이스 내의 클립보드와 상이함 -; 및
상기 동반 전자 디바이스에서의 액티비티들에서 사용하기 위해 상기 전달된 정보 버퍼로부터 상기 소스 클립보드 정보를 제공하는 단계
를 더 포함하는, 동반 전자 디바이스.
The method of claim 9,
The method,
Storing the source clipboard information in a delivered information buffer in the companion electronic device, wherein the delivered information buffer is different from the clipboard in the companion electronic device; And
Providing the source clipboard information from the passed information buffer for use in activities in the companion electronic device.
The companion electronic device further comprises.
제8항에 있어서,
상기 방법은 확장된 액티비티 데이터와 함께 상기 액티비티 관련 정보를 수신하는 단계를 더 포함하고, 상기 확장된 액티비티 데이터는 상기 소스 전자 디바이스로부터의 액티비티를 계속하기 위한 상기 동반 전자 디바이스 내의 애플리케이션의 구성을 지시하는 정보를 포함하는, 동반 전자 디바이스.
The method of claim 8,
The method further includes receiving the activity related information along with extended activity data, wherein the extended activity data indicates configuration of an application in the companion electronic device to continue the activity from the source electronic device. Companion electronic device comprising information.
제8항에 있어서,
상기 액티비티 관련 정보를 선택적으로 제공하는 단계는,
상기 동반 전자 디바이스의 디스플레이 상에 액티비티 관련 정보 이용가능성 표시자를 제시하는 단계;
상기 액티비티 관련 정보 이용가능성 표시자의 수락을 수신하는 경우, 상기 동반 전자 디바이스에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 상기 액티비티 관련 정보를 제공하는 단계; 및
상기 액티비티 관련 정보 이용가능성 표시자의 거절을 수신하는 경우, 상기 동반 전자 디바이스에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 상기 액티비티 관련 정보를 제공하지 않는 단계
를 포함하는, 동반 전자 디바이스.
The method of claim 8,
Optionally providing the activity related information,
Presenting an activity related information availability indicator on a display of the companion electronic device;
When receiving an acceptance of the activity related information availability indicator, providing the activity related information for use in performing one or more activities at the companion electronic device; And
Not receiving the activity related information for use when performing one or more activities in the companion electronic device upon receiving a rejection of the activity related information availability indicator;
Including a companion electronic device.
동반 전자 디바이스 내의 프로세싱 서브시스템에 의해 실행될 때, 상기 동반 전자 디바이스로 하여금 방법을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 방법은,
소스 전자 디바이스로부터, 액티비티 관련 정보가 상기 소스 전자 디바이스로부터 이용 가능하다는 표시를 포함하는 메시지를 수신하는 단계 - 상기 표시는 상기 소스 전자 디바이스 상의 상기 액티비티 관련 정보에 대한 포인터를 포함하고, 상기 메시지는 상기 액티비티 관련 정보를 포함하지 않음 -;
상기 메시지 내의 상기 표시를 수신하는 것에 응답하여, 상기 메시지와 별개인 송신에서 상기 소스 전자 디바이스 상의 상기 액티비티 관련 정보에 대한 상기 포인터에 기초하여 상기 소스 전자 디바이스로부터 상기 액티비티 관련 정보를 획득하는 단계; 및
상기 동반 전자 디바이스 상에서 하나 이상의 액티비티를 수행할 때 상기 동반 전자 디바이스 상에서 하나 이상의 프로세스에 의해 사용하기 위해 상기 액티비티 관련 정보를 선택적으로 제공하는 단계
를 포함하는, 비일시적 컴퓨터 판독가능 매체.
A non-transitory computer readable medium storing instructions that, when executed by a processing subsystem in a companion electronic device, cause the companion electronic device to perform a method, the method comprising:
Receiving a message from a source electronic device, the message comprising an indication that activity related information is available from the source electronic device, the indication including a pointer to the activity related information on the source electronic device, the message Does not contain activity-related information-;
In response to receiving the indication in the message, obtaining the activity related information from the source electronic device based on the pointer to the activity related information on the source electronic device in a transmission separate from the message; And
Selectively providing the activity related information for use by one or more processes on the companion electronic device when performing one or more activities on the companion electronic device.
A non-transitory computer readable medium comprising a.
제15항에 있어서,
상기 액티비티 관련 정보를 선택적으로 제공하는 단계는 상기 동반 전자 디바이스 내의 클립보드의 내용의 일부 또는 전부를 소스 클립보드 정보로 대체하는 단계를 포함하고, 상기 소스 클립보드 정보는 상기 소스 전자 디바이스 내의 클립보드의 내용의 일부 또는 전부의 사본을 포함하는, 비일시적 컴퓨터 판독가능 매체.
The method of claim 15,
Selectively providing the activity related information includes replacing part or all of the contents of the clipboard in the companion electronic device with source clipboard information, wherein the source clipboard information is a clipboard in the source electronic device. A non-transitory computer readable medium comprising a copy of some or all of the contents of the document.
제16항에 있어서,
상기 소스 클립보드 정보는 상기 소스 전자 디바이스의 하나 이상의 애플리케이션에 대해 행해진 변경들의 기록을 유지하는 상기 소스 전자 디바이스 내의 실행취소 버퍼의 내용을 포함하고, 상기 기록은 상기 변경들이 상기 동반 전자 디바이스에서 역전되는 것을 가능하게 하는, 비일시적 컴퓨터 판독가능 매체.
The method of claim 16,
The source clipboard information includes the contents of an undo buffer in the source electronic device that maintains a record of changes made to one or more applications of the source electronic device, wherein the record is that the changes are reversed at the companion electronic device. A non-transitory computer readable medium that makes it possible.
제16항에 있어서,
상기 방법은,
상기 소스 클립보드 정보를 상기 동반 전자 디바이스 내의 전달된 정보 버퍼에 저장하는 단계 - 상기 전달된 정보 버퍼는 상기 동반 전자 디바이스 내의 클립보드와 상이함 -; 및
상기 동반 전자 디바이스에서의 액티비티들에서 사용하기 위해 상기 전달된 정보 버퍼로부터 상기 소스 클립보드 정보를 제공하는 단계
를 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
The method of claim 16,
The method,
Storing the source clipboard information in a delivered information buffer in the companion electronic device, wherein the delivered information buffer is different from the clipboard in the companion electronic device; And
Providing the source clipboard information from the passed information buffer for use in activities in the companion electronic device.
The non-transitory computer readable medium further comprising.
제15항에 있어서,
상기 방법은 확장된 액티비티 데이터와 함께 상기 액티비티 관련 정보를 수신하는 단계를 더 포함하고, 상기 확장된 액티비티 데이터는 상기 소스 전자 디바이스로부터의 액티비티를 계속하기 위한 상기 동반 전자 디바이스 내의 애플리케이션의 구성을 지시하는 정보를 포함하는, 비일시적 컴퓨터 판독가능 매체.
The method of claim 15,
The method further includes receiving the activity related information along with extended activity data, wherein the extended activity data indicates configuration of an application in the companion electronic device to continue the activity from the source electronic device. A non-transitory computer readable medium containing information.
제15항에 있어서,
상기 액티비티 관련 정보를 선택적으로 제공하는 단계는,
상기 동반 전자 디바이스의 디스플레이 상에 액티비티 관련 정보 이용가능성 표시자를 제시하는 단계;
상기 액티비티 관련 정보 이용가능성 표시자의 수락을 수신하는 경우, 상기 동반 전자 디바이스에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 상기 액티비티 관련 정보를 제공하는 단계; 및
상기 액티비티 관련 정보 이용가능성 표시자의 거절을 수신하는 경우, 상기 동반 전자 디바이스에서 하나 이상의 액티비티를 수행할 때 사용하기 위한 상기 액티비티 관련 정보를 제공하지 않는 단계
를 포함하는, 비일시적 컴퓨터 판독가능 매체.
The method of claim 15,
Optionally providing the activity related information,
Presenting an activity related information availability indicator on a display of the companion electronic device;
When receiving an acceptance of the activity related information availability indicator, providing the activity related information for use in performing one or more activities at the companion electronic device; And
Not receiving the activity related information for use when performing one or more activities in the companion electronic device upon receiving a rejection of the activity related information availability indicator;
A non-transitory computer readable medium comprising a.
KR1020197032808A 2015-08-31 2016-06-30 Forwarding activity-related information from source electronic devices to companion electronic devices KR102097931B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/841,410 2015-08-31
US14/841,410 US10187770B2 (en) 2014-05-30 2015-08-31 Forwarding activity-related information from source electronic devices to companion electronic devices
PCT/US2016/040583 WO2017039821A1 (en) 2015-08-31 2016-06-30 Forwarding activity-related information from source electronic devices to companion electronic devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187006717A Division KR102044108B1 (en) 2015-08-31 2016-06-30 Forward activity-related information from the source electronic device to the companion electronic device

Publications (2)

Publication Number Publication Date
KR20190126949A true KR20190126949A (en) 2019-11-12
KR102097931B1 KR102097931B1 (en) 2020-04-06

Family

ID=56551556

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197032808A KR102097931B1 (en) 2015-08-31 2016-06-30 Forwarding activity-related information from source electronic devices to companion electronic devices
KR1020187006717A KR102044108B1 (en) 2015-08-31 2016-06-30 Forward activity-related information from the source electronic device to the companion electronic device

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187006717A KR102044108B1 (en) 2015-08-31 2016-06-30 Forward activity-related information from the source electronic device to the companion electronic device

Country Status (4)

Country Link
KR (2) KR102097931B1 (en)
CN (2) CN107949830B (en)
TW (1) TWI627541B (en)
WO (1) WO2017039821A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096368A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US20140188802A1 (en) * 2012-12-31 2014-07-03 Appsense Limited Pull and paste
US20150012861A1 (en) * 2013-07-02 2015-01-08 Dropbox, Inc. Syncing content clipboard
US8964947B1 (en) * 2013-03-11 2015-02-24 Amazon Technologies, Inc. Approaches for sharing data between electronic devices
WO2015039300A1 (en) * 2013-09-18 2015-03-26 Nokia Corporation Bluetooth low energy packets

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8583090B2 (en) * 2006-12-29 2013-11-12 Nokia Corporation Transferring task completion to another device
US10489414B2 (en) * 2010-03-30 2019-11-26 Microsoft Technology Licensing, Llc Companion experience
US9110743B2 (en) * 2010-12-21 2015-08-18 Microsoft Technology Licensing, Llc Extensible system action for sharing while remaining in context
US8775850B2 (en) * 2011-06-28 2014-07-08 Amazon Technologies, Inc. Transferring state information between electronic devices
TW201314471A (en) * 2011-09-29 2013-04-01 Cheng-Wei Tsai Cloud clipboard system and method thereof
US9003299B2 (en) * 2012-06-08 2015-04-07 Apple Inc. Extensible application state preservation architecture
US9098177B2 (en) * 2012-12-13 2015-08-04 Google Technology Holdings LLC Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096368A1 (en) * 2010-10-14 2012-04-19 Microsoft Corporation Cloud-based virtual clipboard
US20140188802A1 (en) * 2012-12-31 2014-07-03 Appsense Limited Pull and paste
US8964947B1 (en) * 2013-03-11 2015-02-24 Amazon Technologies, Inc. Approaches for sharing data between electronic devices
US20150012861A1 (en) * 2013-07-02 2015-01-08 Dropbox, Inc. Syncing content clipboard
WO2015039300A1 (en) * 2013-09-18 2015-03-26 Nokia Corporation Bluetooth low energy packets

Also Published As

Publication number Publication date
TWI627541B (en) 2018-06-21
TW201719443A (en) 2017-06-01
KR102097931B1 (en) 2020-04-06
KR20180038522A (en) 2018-04-16
WO2017039821A1 (en) 2017-03-09
CN114706698A (en) 2022-07-05
CN107949830B (en) 2022-05-06
KR102044108B1 (en) 2019-11-12
CN107949830A (en) 2018-04-20

Similar Documents

Publication Publication Date Title
US11356829B2 (en) Dynamic types for activity continuation between electronic devices
US10667109B2 (en) Forwarding activity-related information from source electronic devices to companion electronic devices
AU2020200339B2 (en) Activity continuation between electronic devices
US9948728B2 (en) Continuing an activity commenced on a source device with a companion device
KR101882399B1 (en) Companion application for activity cooperation
KR102044108B1 (en) Forward activity-related information from the source electronic device to the companion electronic device

Legal Events

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