KR102452780B1 - 크로스 디바이스 작업 연속성 - Google Patents

크로스 디바이스 작업 연속성 Download PDF

Info

Publication number
KR102452780B1
KR102452780B1 KR1020177008143A KR20177008143A KR102452780B1 KR 102452780 B1 KR102452780 B1 KR 102452780B1 KR 1020177008143 A KR1020177008143 A KR 1020177008143A KR 20177008143 A KR20177008143 A KR 20177008143A KR 102452780 B1 KR102452780 B1 KR 102452780B1
Authority
KR
South Korea
Prior art keywords
user profile
task
application
data
tasks
Prior art date
Application number
KR1020177008143A
Other languages
English (en)
Other versions
KR20170046734A (ko
Inventor
라주 제인
하겐 그린
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20170046734A publication Critical patent/KR20170046734A/ko
Application granted granted Critical
Publication of KR102452780B1 publication Critical patent/KR102452780B1/ko

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

마찰 없는 작업의 참여 및 재참여를 위해 디바이스들 간의 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성을 위한 시스템 및 방법이 제공된다. 작업 연속성은 최근에 연람된 및/또는 수정된 작업들의 간단한 검출 및 선택을 제공할 수 있다. 작업 연속성은 애플리케이션 및/또는 웹 사이트에서 새로운 작업의 간단한 참여를 제공할 수 있고, 새로운 작업은 최근에 표현된 및/또는 수정된 작업들과 관련 있다. 최근에 표현된 및/또는 수정된 작업의 선택에 응답하여, 작업은 그것이 마지막으로 표현된 및/또는 수정된 지점으로부터 매끄럽게 재참여될 수 있다. 새로운 작업의 선택에 응답하여, 그 작업은 시작 지점으로부터 참여될 수 있다. 한 디바이스 상에서 작업의 완료시에, 그 작업은 디바이스들에 걸쳐 종료될 수 있다. 작업 연속성은 단일 디바이스 상에서 또는 복수의 디바이스들에 걸쳐 인에이블될 수 있다. 작업 연속성은 단일 운영 체제 상에서 또는 복수의 운영 체제에 걸쳐 인에이블될 수 있다.

Description

크로스 디바이스 작업 연속성{CROSS DEVICE TASK CONTINUITY}
스마트 폰, 개인용 컴퓨터, 태블릿, 투인원(two-in-one) 디바이스 등과 같은 디바이스들은 사회에서 어디에나 있다. 사람들은 다수의 상이한 기능을 위해 이러한 디바이스들을 사용하고, 각각의 기능은 디바이스를 통해 액세스되는 상이한 애플리케이션 또는 웹 사이트 상에서 잠재적으로 실행된다. 종종 사람들은 하나보다 많은 디바이스들을 소유하고, 각각의 디바이스는 다수의 애플리케이션들로 가득 차 있으며 웹 사이트에 대한 액세스를 제공한다.
그러나, 디바이스들은 일반적으로 서로 간에 진행중인 작업들에 대한 정보를 매끄럽게 공유하는 능력이 부족하다. 디바이스들 간의 어떤 공유는 디바이스 간의 명시적 저장(save) 및 전송을 필요로 한다. 따라서, 사용자가 작업을 계속하기 위해 제 2 디바이스를 집어들 때, 일반적으로 원하는 애플리케이션을 찾으려고 시도하는 데 추가의 시간을 소비해야 하며, 심지어 그것이 가능할지라도, 사용자가 작업을 중단한 위치를 결정하는 데 더 많은 시간을 소비해야 한다.
본 개시는 사용자가 다른 디바이스 상에서의 위치를 포함하는 특정 작업을 마지막으로 열람한 및/또는 수정한 위치를 용이하게 검출할 수 있게 하는 것에 중점을 둔 작업 연속성을 위한 시스템 및 방법을 설명한다. 작업 연속성은 높은 가치의 애플리케이션 및 웹 사이트 사용 및 작업 재개를 전달하기 위해 작업의 마찰 없는 참여(engagement) 및 재참여(reengagement)를 제공하여, 높은 사용자 만족도를 야기한다. 작업 연속성은 단일 디바이스 상에서 및/또는 복수의 디바이스들에 걸쳐 가능하게 된다. 마찬가지로, 작업 연속성은 단일 운영 체제 상에서 및/또는 복수의 운영 체제에 걸쳐 가능하게 된다.
일부 예들에서, 제 1 디바이스 상의 애플리케이션에서 작업을 수행하는 사용자가 그 애플리케이션에서 작업을 중단할 수 있다. 그 시점에서 또는 미래의 시점에서, 사용자는 제 2 디바이스를 깨울 수 있다. 깨어남에 반응하여, 제 2 디바이스는 제 1 디바이스 상에서 중단된 시점에서부터 작업을 계속할 수 있는 옵션을 사용자에게 제공할 수 있다. 다양한 예에서, 사용자는 제 1 디바이스 상의 애플리케이션에서 작업을 수행할 수 있고, 제 2 디바이스를 집어들고 제 1 디바이스 상의 작업과 동시에 제 2 디바이스 상의 작업을 수행할 수 있다. 일부 예에서, 사용자는 제 1 디바이스 상의 애플리케이션에서 작업을 수행할 수 있고, 제 2 디바이스를 집어들고 제 1 디바이스 상의 작업과 연관된 제 2 디바이스 상의 제 2 작업을 수행할 수 있다.
이 요약은 아래의 상세한 설명에서 더욱 설명되는 개념들의 선택을 간략화된 형태로 소개하기 위해서 제공된다. 이 요약은 주장되는 대상의 중요 특징 또는 필수 특징을 식별하기 위한 것도 아니고, 주장되는 대상의 범위를 결정하는 것을 돕기 위해 이용되는 것도 아니다.
상세한 설명은 첨부 도면들을 참조하여 설명된다. 도면에서, 참조 번호의 제일 왼쪽의 숫자(들)은 참조 번호가 처음 나타나는 도면을 식별한다. 상이한 도면에서 동일한 참조 번호의 사용은 유사하거나 동일한 항목을 나타낼 수 있다.
도 1은 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 예시적인 환경을 도시한다.
도 2는 도 1과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 포함하는 예시적인 디바이스를 더욱 상세하게 도시한다.
도 3은 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 포함하는 디바이스 상의 예시적인 디바이스 모듈을 도시한다.
도 4는 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 예시적인 네트워크 환경을 도시한다.
도 5는 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 예시적인 프로세스를 도시한다.
도 6은 도 1 내지 도 4와 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 다른 예시적인 프로세스를 도시한다.
도 7은 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템 상의 프로세스 흐름을 도시한다.
도 8은 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 이용하는 크로스 애플리케이션 작업 수정을 위한 프로세스 흐름을 도시한다.
개요
크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성("작업 연속성")은, 디바이스 타입 또는 운영 체제에 상관없이, 사용자가 디바이스 및/또는 운영 체제에 걸쳐 작업을 매끄럽게 실행할 수 있도록 작업의 발견 및 마찰 없는 참여 및 재참여의 용이함을 제공할 수 있다.
본 개시는 디바이스 및/또는 운영 체제에 걸쳐 작업을 매끄럽게 계속할 수 있는 능력 및 용이한 발견을 가능하게 하는 방법 및 시스템을 설명한다. 작업은 노래 또는 재생 목록 듣기, 뉴스 기사 읽기, 문서 작성, 또는 무수한 기타 활동 등과 같이, 사용자가 애플리케이션 및/또는 웹 사이트 상에서 수행하는 특정 활동을 포함할 수 있다. 본 명세서에 설명하는 바와 같이, 작업 연속성은 상호 작용적일 수 있다. 본 명세서에 설명하는 바와 같이, 작업 연속성은 사용자가 복수의 애플리케이션들 및/또는 웹 사이트들 중 적어도 하나에서 하나 이상의 이전에 열람된 및/또는 수정된 작업들을 용이하게 발견할 수 있게 한다. 하나 이상의 이전에 열람된 및/또는 수정된 작업들의 발견은 하나의 디바이스 상에서, 또는 사용자를 위해 구성된 다수의 디바이스들 상에서 발생할 수 있다. 본 명세서에서 사용되는 바와 같이, 활성 디바이스는 네트워크를 통해 발견 가능한 디바이스이다.
디바이스의 발견 가능성은 디바이스의 전원이 켜지는 것, 오프 슬립 모드, 오프 비행기 모드 및/또는 디바이스가 네트워크를 통해 이용 가능하게 되게 하는 임의의 다른 액션에 기초할 수 있다. 네트워크를 통한 이용 가능성은 Wi-Fi 센서, Bluetooth™ 센서, 근접 센서, 유선 접속 및/또는 네트워크 인터페이스를 검출할 수 있는 임의의 다른 센서에 의해 결정될 수 있다.
작업 연속성은 사용자가 하나 이상의 이전에 열람된 및/또는 수정된 작업들 중 특정 작업을 선택하는 방법을 제공할 수 있다. 선택에 응답하여, 특정 작업은, 그 작업이 마지막으로 열람된 및/또는 수정된 지점에서 재참여될 수 있다. 일부 예에서, 작업 연속성은 상이한 애플리케이션에서 특정 작업을 재개하는 방법을 사용자에게 제공할 수 있다. 다양한 예에서, 작업 연속성은 웹 브라우저에서 특정 작업을 재개하는 방법을 사용자에게 제공할 수 있다. 일부 예에서, 작업 연속성은 적어도 이전에 열람된 작업에 기초하여, 사용자에게 제공된 애플리케이션 및/또는 웹 사이트 특정 정보에 기초하여, 새로운 작업에 참여하도록 선택하는 방법을 사용자에게 제공할 수 있다.
작업 연속성은 사용자에게 작업의 풍부한 재참여를 제공한다. 적어도 하나의 예에서, 풍부한 재참여는 하나 이상의 작업들에서의 가장 최근의 사용자 입력 및/또는 액션에 관련된 작업 컨텍스트 데이터를 사용자에게 제공할 수 있다. 일부 예에서, 애플리케이션 및/또는 웹 사이트는 하나 이상의 작업들과 연관된 애플리케이션 또는 웹 사이트 특정 데이터와 관련된 다른 옵션을 사용자에게 제공할 수 있다. 예를 들어, 스마트 텔레비전 상의 애플리케이션은 기록된 또는 라이브 프로그래밍을 디스플레이할 수 있으며, 스마트 폰 또는 다른 보조 디바이스 상의 애플리케이션은 기록된 또는 라이브 프로그래밍에 대한 정보를 제공할 수 있다. 일부 예에서, 스마트 폰 또는 다른 보조 디바이스 상의 애플리케이션은 탤런트 쇼에서 최고의 가수를 위한 라이브 투표 등과 같은, 기록된 또는 라이브 프로그래밍의 애플리케이션 특정 옵션을 제공할 수 있다.
작업 연속성에서, 적어도 하나의 디바이스가 사용자 프로파일에 구성된다. 적어도 하나의 예에서, 사용자 프로파일 상에 구성된 디바이스는 클라우드와 같은 분산 서비스 플랫폼에 연결되며, 여기서 애플리케이션 및/또는 웹 사이트 상의 작업에 대한 작업 컨텍스트 데이터가 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 저장(save)된다. 참조 사용자 프로파일은 작업 연속성에서 복수의 디바이스들 중 적어도 하나의 디바이스에 대한 사용자 프로파일 데이터의 중심 기준점의 역할을 할 수 있다.
작업 컨텍스트 데이터는 작업이 마지막으로 열람된 및/또는 수정된 시간, 작업이 열람된 및/또는 수정된 횟수, 텍스트, 디바이스 디스플레이 정보, 이미지, 및 애플리케이션 및/또는 웹 사이트 상의 임의의 다른 데이터를 포함할 수 있다. 일부 예에서, 분산 서비스 플랫폼 내의 참조 사용자 프로파일 상의 크로스 디바이스 활동 모듈이 분산 서비스 플랫폼 내의 참조 사용자 프로파일 상의 크로스 디바이스 활동 모듈 및/또는 하나 이상의 활성 디바이스들로부터 작업 컨텍스트 데이터를 주기적으로 얻을 수 있다. 다양한 예에서, 분산 서비스 플랫폼 내의 참조 사용자 프로파일 상의 크로스 디바이스 활동 모듈이 하나 이상의 활성 디바이스들로부터 푸시된 작업 컨텍스트 데이터를 주기적으로 수신할 수 있다. 5초마다, 10초마다, 또는 임의의 시간 기간마다, 가장 최근의 작업 컨텍스트 데이터를, 크로스 디바이스 활동 모듈은 얻고 및/또는 하나 이상의 활성 디바이스들은 푸시할 수 있다. 크로스 디바이스 활동 모듈은 작업 컨텍스트 데이터를 사용자 프로파일 상의 대응하는 애플리케이션 및/또는 웹 사이트에 저장할 수 있다.
다양한 예에서, 활성 디바이스는 네트워크 연결을 통해 활성 디바이스로부터 업데이트를 푸시함으로써 작업 컨텍스트 데이터가 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 전송되게 할 수 있다. 작업 컨텍스트 데이터는 사용자 프로파일에 구성되고 분산 서비스 플랫폼에 액세스할 수 있는 임의의 디바이스 상에서 언제든지 용이하게 액세스하기 위해 분산 서비스 플랫폼에 저장될 수 있다.
또한, 작업 연속성은 근접(proximity) 네트워크를 사용하여 디바이스들 간에 데이터를 업데이트할 수 있다. 근접 네트워크는 피어투피어, 무선 USB, 블루투스, IrDA, Z-Wave, 인체 통신망, 또는 적어도 두 개의 디바이스들의 근접성을 기반으로 하는 임의의 다른 유선 또는 무선 경로일 수 있다. 근접성은 유선 연결 및/또는 근접 센서에 의해 결정될 수 있다. 근접 네트워크에서, 적어도 두 개의 디바이스들이 디바이스들 간에 작업 컨텍스트 데이터를 공유할 수 있어서, 제 1 디바이스 상에서 표현되는 및/또는 수정되는 작업은 근접한 제 2 디바이스에 의해 식별될 수 있고, 제 2 디바이스는 제 1 디바이스 상의 작업으로부터 작업 컨텍스트 데이터를 디스플레이할 수 있다. 따라서, 제 1 디바이스 상에서 작업의 표현 및/또는 수정이 정지할 수 있고, 그 작업은 제 1 디바이스 상에서 중단된 위치에서 제 2 디바이스 상에서 매끄럽게 재개될 수 있다. 일부 예에서, 제 1 디바이스 및 제 2 디바이스가 서로 근접한 것에 응답하여, 작업 컨텍스트 데이터는 제 1 디바이스 및 제 2 디바이스 상에서 동시에 이용 가능할 수 있다.
일부 예에서, 근접 네트워크는 디바이스들 간에 하나 이상의 이전에 열람된 및/또는 수정된 작업들의 작업 컨텍스트 데이터의 명시적 전송을 허용할 수 있다. 일부 예에서, 작업 컨텍스트 데이터의 전달은 암시적일 수 있어서, 제 1 디바이스 및 제 2 디바이스가 서로 근접한 것에 응답하여, 제 2 디바이스는 제 1 디바이스로부터 하나 이상의 이전에 표현된 및/또는 수정된 작업들의 작업 컨텍스트 데이터를 얻는다.
일부 예에서, 작업 연속성은 또한 풍부한 작업 재참여를 제공하기 위해, 분산 서비스 플랫폼, 근접 네트워크, 및/또는 분산 서비스 플랫폼과 근접 네트워크의 조합을 사용하여 디바이스들 간에 데이터를 업데이트할 수 있다.
작업 연속성은 또한 상이한 운영 체제를 갖는 디바이스들 간에 가능하게 될 수 있다. 예를 들어, 제 1 디바이스는 WINDOWS 운영 체제 상에서 작동하도록 구성될 수 있으며, LINUX, ANDROID 운영 체제, iOS™ 운영 체제, 또는 다른 운영 체제 상에서 작동하도록 구성된 제 2 디바이스에 사용자 프로파일 데이터를 송신하고 수신할 수 있다.
예시적인 환경
아래에 설명된 환경은 하나의 예를 구성하는 것으로, 청구항을 임의의 하나의 특정 동작 환경으로 제한하기 위한 것이 아니다. 주장된 대상의 사상 및 범위를 벗어나지 않고 다른 환경이 사용될 수 있다.
크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성은 인터럽트 없이, 디바이스들에 걸쳐 또는 다수의 디바이스들 상에서 동시에 작업의 연속을 허용한다. 작업은 노래 또는 재생 목록 듣기, 뉴스 기사 읽기, 문서 작성, 또는 무수한 기타 활동 등과 같이, 사용자가 디바이스 상의 애플리케이션 및/또는 웹 사이트 상에서 수행하는 특정 활동을 포함할 수 있다. 예를 들어, 사용자가 데스크톱 컴퓨터에서 재생 목록을 듣고 있을 수 있으며, 데스크톱 컴퓨터의 위치를 떠날 필요가 있을 수 있다. 사용자는 스마트 폰을 집어들어 스마트 폰에서 동일한 재생 목록을 계속 들을 수 있고, 데스크톱에서 중단한 재생 목록을 스마트 폰에서 재생하기 시작할 수 있다. 또 다른 예로, 사용자는 데스크톱과 스마트 폰에서 동시에 동일한 재생 목록을 들을 수 있으며, 두 개의 디바이스들은 재생 목록을 동시에 재생한다. 또 다른 예로, 사용자는 데스크톱의 재생 목록을 계속 듣고 있는 동안 스마트 폰을 집어들어 재생 목록을 추가하는 정보를 수신할 수 있다.
도 1은 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 예시적인 환경(100)을 도시한다. 디바이스(들)(102) 및/또는 환경(100)의 컴포넌트들은 하나 이상의 네트워크들(104)을 통해 통신하도록 구성된 다양한 종류의 디바이스 타입을 포함할 수 있으며, 임의의 특정 타입의 디바이스로 제한되지 않는다. 일부 예에서, 102(1)과 같은 디바이스(들)(102)은 서버, 데스크톱 컴퓨터, 개인용 컴퓨터, 네트워크 가능형 텔레비전, 단말기, 게임 콘솔, 셋톱 박스, 게임 디바이스, 워크스테이션, 및 분산 컴퓨팅 자원을 작동시킬 수 있는 씬 클라이언트를 포함하는 고정 디바이스를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 일부 예에서, 102(2)와 같은 디바이스(들)(102)는 이동 전화, 태블릿 컴퓨터, 이동 전화 태블릿 하이브리드, PDA(personal data assistant), 랩톱 컴퓨터, 미디어 플레이어, 개인용 비디오 레코더(personal video recorder; PVR), 카메라, 및 임의의 다른 모바일 컴퓨터 또는 임의의 다른 이동 통신 디바이스들을 포함하는 모바일 디바이스를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 일부 예에서, 102(3)과 같은 디바이스(들)(102)은 웨어러블 컴퓨터, 이식형 컴퓨팅 디바이스, 자동차 컴퓨터, 위성 위치 확인 시스템(GPS) 디바이스를 포함하는 위성 기반 내비게이션 시스템 및 다른 위성 기반 내비게이션 시스템 디바이스와 같은 컴퓨터 내비게이션 타입 디바이스, 가전 제품, 및 컴퓨팅 디바이스에 포함시키기 위한 통합 컴포넌트를 포함하는 임베디드 디바이스를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 다양한 예들에서, 디바이스(102)(N)와 같은 디바이스(102)는 하나 이상의 네트워크(들)(104)를 통해 통신하도록 구성된 임의의 다른 종류의 컴퓨팅 디바이스를 포함할 수 있다.
예를 들어, 네트워크(들)(104)는 인터넷과 같은 공중 네트워크, 기관 및/또는 개인 인트라넷과 같은 사설 네트워크, 또는 사설 네트워크와 공중 네트워크의 일부 조합을 포함할 수 있다. 네트워크(들)(104)는 또한 근거리 통신망(local area network; LAN), 광역 네트워크(wide area network; WAN), 개인 영역 네트워크(personal area network; PAN), 인체 통신망(body area network; BAN), 근거리 무선 통신(near field communication NFC), 위성 네트워크, 케이블 네트워크, Wi-Fi 네트워크, WiMax 네트워크, 이동 통신 네트워크(예를 들어, 3G, 4G 등) 또는 이들의 임의의 조합을 포함하는 임의의 타입의 무선 및/또는 유선 네트워크를 포함할 수 있지만, 이들로 제한되는 것은 아니다. 네트워크(들)(104)는 인터넷 프로토콜(internet protocol; IP), 전송 제어 프로토콜(transmission control protocol; TCP), 사용자 데이터그램 프로토콜(user datagram protocol; UDP), 또는 다른 타입의 프로토콜과 같은 패킷 기반 및/또는 데이터그램 기반 프로토콜을 포함하는 통신 프로토콜을 사용할 수 있다. 게다가, 네트워크(들)(104)는 또한 스위치, 라우터, 게이트웨이, 액세스 포인트, 방화벽, 기지국, 중계기, 백본 장치 등과 같은, 네트워크 통신을 용이하게 하고 및/또는 네트워크를 위한 하드웨어 기반을 형성하는 다수의 디바이스를 포함할 수 있다.
일부 예에서, 네트워크(들)(104)는 무선 액세스 포인트(wireless access point; WAP)와 같은, 무선 네트워크에 대한 연결을 가능하게 하는 디바이스를 더 포함할 수 있다. WAP을 통한 연결을 지원하는 예는, 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers; IEEE) 802.11 표준(예를 들어, 802.11g, 802.11n 등), 및 다른 표준을 지원하는 WAP을 포함하는 다양한 전자기 주파수(예를 들어, 무선 주파수)를 통해 데이터를 전송하고 수신한다.
디바이스(들)(102)는, 예컨대 버스(110)를 통해 컴퓨터 판독 가능 매체(108)에 동작 가능하게 연결된 하나 이상의 프로세싱 유닛(들)(106)을 갖는 임의의 컴퓨팅 디바이스를 포함할 수 있으며, 일부 경우에, 버스(110)는 시스템 버스, 데이터 버스, 어드레스 버스, PCI 버스, 미니-PCI 버스, 및 임의의 다양한 로컬 버스, 주변 장치 버스 및/또는 독립 버스 중 하나 이상을 포함할 수 있다. 컴퓨터 판독 가능 매체(108) 상에 저장된 실행 가능 명령어는, 예를 들어, 운영 체제(112), 연속성 프레임워크(114), 및 프로세싱 유닛(들)(106)에 의해 로드 가능 및 실행 가능한 다른 모듈 및 프로그램을 포함할 수 있다.
디바이스(들)(102) 상의 운영 체제(112)는, MICROSOFT WINDOWS, WINDOWS PHONE, QNX™, IBM z/OS™, LINUX, ANDROID, iOS™, OS X™, NETBSD™, 또는 컴퓨터 하드웨어 및 소프트웨어 자원을 관리할 수 있는 임의의 다른 운영 체제를 포함하는 임의의 운영 체제일 수 있지만, 이들로 제한되는 것은 아니다. 일부 예에서, 디바이스(102(1) 및 102(2))는 Microsoft Windows와 같은 운영 체제(112)를 포함할 수 있다. 다양한 예에서, 디바이스(102(1))는 MICROSOFT WINDOWS와 같은 운영 체제(112(1))를 포함할 수 있고, 디바이스(102(2))는 ANDROID와 같은 운영 체제(112(2))를 포함할 수 있다.
대안적으로, 또는 부가적으로, 본 명세서에 설명된 기능은 가속기와 같은 하나 이상의 하드웨어 로직 컴포넌트에 의해 적어도 부분적으로 수행될 수 있다. 예를 들어, 제한 없이, 사용될 수 있는 예시적인 타입의 하드웨어 로직 컴포넌트는 필드 프로그래머블 게이트 어레이(Field-Programmable Gate Array; FPGA), 주문형 반도체(Application-Specific Integrated Circuits; ASIC), 표준형 반도체(Application-Specific Standard Products; ASSP), 시스템온칩 시스템(System-on-a-chip system; SOC), 컴플렉스 프로그래머블 로직 디바이스(Complex Programmable Logic Device; CPLD) 등을 포함한다. 예를 들어, 가속기는 FPGA 패브릭에 임베딩된 CPU 코스를 포함하는 ZYLEX 또는 ALTERA 중 하나와 같은 하이브리드 디바이스를 나타낼 수 있다.
디바이스(들)(102)는 또한 디바이스(102(2)-102(N))와 같은, 작업 연속성에 관련된 다른 네트워크 디바이스들과 디바이스(102(1)) 간의 통신을 가능하게 하는 하나 이상의 네트워크 인터페이스(들)(116)를 포함할 수 있다. 이러한 네트워크 인터페이스(들)(116)는 네트워크를 통해 통신을 전송하고 수신하기 위해 하나 이상의 네트워크 인터페이스 제어기(network interface controller; NIC) 또는 다른 타입의 송수신기 디바이스를 포함할 수 있다. 예를 들어, 네트워크 인터페이스(들)(116)는 디바이스(102(2)-102(N))와 같은, 작업 연속성에 관련된 다른 네트워크 디바이스들과 디바이스(들)(102(1)) 간의 통신을 더 가능하게 하는 근접(proximity) 인터페이스(들)(118)를 포함할 수 있다. 이러한 근접 인터페이스(들)(118)는 하나 이상의 근접 네트워크 인터페이스 제어기 또는 근접 네트워크를 통해 통신을 전송하고 수신하기 위한 다른 타입의 송수신기 디바이스를 포함할 수 있다.
도 2는 도 1의 디바이스(102)와 같은, 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 포함하는 예시적인 디바이스(200)를 도시한다. 디바이스(200)에서, 프로세싱 유닛(들)(202)은, 예를 들어, CPU 타입 프로세싱 유닛, GPU 타입 프로세싱 유닛, 필드 프로그래머블 게이트 어레이(FPGA), 다른 클래스의 디지털 신호 프로세서(digital signal processor; DSP), 또는 일부 경우에는 CPU에 의해 구동될 수 있는 다른 하드웨어 로직 컴포넌트를 나타낼 수 있다. 예를 들어, 제한 없이, 사용될 수 있는 예시적인 타입의 하드웨어 로직 컴포넌트는 주문형 반도체(ASIC), 표준형 반도체(ASSP), 시스템온칩 시스템(SOC), 컴플렉스 프로그래머블 로직 디바이스(CPLD) 등을 포함한다.
일부 예에서, 디바이스(200)는 분산 서비스 플랫폼(예를 들어, 클라우드)의 일부인 디바이스들(102(1), 102(2), 및 102(N))과 같은 복수의 디바이스들 중 하나의 디바이스일 수 있다. 일부 예에서, 디바이스(200)는 근접 네트워크를 통해 연결이 가능한 복수의 디바이스들 중 하나의 디바이스일 수 있다. 적어도 하나의 예에서, 디바이스(200)는 분산 서비스 플랫폼의 일부이고 근접 네트워크를 통해 연결 가능한 복수의 디바이스들 중 하나의 디바이스일 수 있다.
일부 예에서, 컴퓨터 판독 가능 매체(108)일 수 있는 컴퓨터 판독 가능 매체(204)는 프로세싱 유닛(들)(202)에 의해 실행 가능한 명령어들을 저장할 수 있다. 또한, 컴퓨터 판독 가능 매체(204)는 외부 CPU, 외부 GPU에 의한 것과 같은 외부 프로세싱 유닛에 의해 실행 가능한 명령어 및/또는 FPGA 타입 가속기, DSP 타입 가속기와 같은 외부 가속기, 또는 임의의 다른 내부 가속기 또는 외부 가속기에 의해 실행 가능한 명령어를 저장할 수 있다. 일부 예에서, 적어도 하나의 CPU, GPU 및/또는 가속기가 디바이스(200)에 통합되고, 다른 예에서는 CPU, GPU 및/또는 가속기 중 하나 이상이 디바이스(200) 외부에 있을 수 있다.
도시된 예에서, 컴퓨터 판독 가능 매체(204)는 또한 데이터 저장소(206)를 포함한다. 일부 예에서, 데이터 저장소(206)는 데이터베이스, 데이터 웨어하우스 또는 다른 타입의 구조화된 또는 비구조화된 데이터 저장 장치와 같은 데이터 저장 장치를 포함한다. 일부 예에서, 예를 들어, 하이퍼텍스트 마크업 언어(hypertext markup language; HTML) 테이블, 자원 기술 프레임워크(resource description framework) 테이블, 웹 온톨로지 언어(web ontology language; OWL) 테이블, 및/또는 확장 마크업 언어(extensible markup language; XML) 테이블 중 하나 이상을 포함하는 데이터 저장소(206)는 데이터 액세스를 가능하게 하기 위해서 하나 이상의 테이블, 인덱스, 저장된 절차 등을 갖는 코퍼스 및/또는 관련 데이터베이스를 포함한다. 데이터 저장소(206)는 컴퓨터 판독 가능 매체(204)에 저장 및/또는 프로세싱 유닛(들) 및/또는 가속기(들)(202)에 의해 실행되는 프로세스, 애플리케이션, 컴포넌트 및/또는 모듈의 동작을 위한 데이터를 저장할 수 있다. 대안적으로, 앞서 언급한 데이터의 일부 또는 전부는 CPU 타입 프로세서, GPU 타입 프로세서, FPGA 타입 가속기, DSP 타입 가속기 및/또는 다른 가속기의 온보드 메모리와 같은, 하나 이상의 프로세싱 유닛(들)(202)의 별도의 온보드 메모리(208) 상에 저장될 수 있다.
디바이스(200)는 주변 입력 디바이스(예를 들어, 키보드, 마우스, 펜, 게임 제어기, 음성 입력 디바이스, 터치 입력 디바이스, 제스처 입력 디바이스 등)를 포함하는 사용자 입력 디바이스 및/또는 주변 출력 디바이스(예를 들어, 디스플레이, 프린터, 오디오 스피커, 햅틱 출력 등)를 포함하는 출력 디바이스와 같은 입출력 디바이스와 디바이스(200)가 통신할 수 있게 하는 하나 이상의 입출력(I/O) 인터페이스(210)를 더 포함할 수 있다. 또한, 디바이스(200)에서, 네트워크 인터페이스(들)(116)일 수 있는 네트워크 인터페이스(들)(212)는, 예를 들어, 네트워크 인터페이스 제어기(NIC) 또는 네트워크를 통해 통신을 전송하고 수신하기 위한 다른 타입의 송수신기 디바이스를 나타낼 수 있다. 네트워크 인터페이스(들)(212)는 또한 하나 이상의 근접 인터페이스(들)(214)를 포함할 수 있고, 하나 이상의 근접 인터페이스(들)(214)는 근접 네트워크를 통해 통신하기 위해 하드웨어 및 소프트웨어를 더 포함하여, 디바이스(102(1)-102(N))와 같은, 작업 연속성에 관련된 다른 디바이스들과의 통신을 더욱 가능하게 한다.
도시된 예에서, 디바이스(200)는 버스(110)에 대응하는 버스(216)를 통해 프로세싱 유닛(들)(202)을 컴퓨터 판독 가능 매체(204), I/O 인터페이스(들)(210), 및 네트워크 인터페이스(들)(212)에 동작 가능하게 연결할 수 있다. 일부 예에서, 버스(216)는 시스템 버스, 데이터 버스, 어드레스 버스, PCI 버스, 미니-PCI 버스, 및 임의의 다양한 로컬 버스, 주변 장치 버스 및/또는 독립 버스 중 하나 이상을 포함할 수 있다.
도시된 예에서, 컴퓨터 판독 가능 매체(204)는 또한 운영 체제(112)일 수 있는 운영 체제(218)를 포함한다. 운영 체제는, MICROSOFT WINDOWS, WINDOWS PHONE, QNX™, IBM z/OS™, LINUX, ANDROID, iOS™, OS X™, NETBSD™, 또는 디바이스(200) 상의 컴퓨터 하드웨어 및 소프트웨어 자원을 관리할 수 있는 임의의 다른 운영 체제를 포함하는 임의의 운영 체제일 수 있지만, 이들로 제한되는 것은 아니다. 컴퓨터 판독 가능 매체(204)는 또한 연속성 프레임워크(114)일 수 있는 연속성 프레임워크(220)를 포함한다. 연속성 프레임워크(220)는 블록(222, 224, 226, 228, 230, 232, 234, 236, 238, 240 및 242)으로 도시된 하나 이상의 모듈 및/또는 API를 포함할 수 있지만, 이것은 단지 예로서, 그 수는 더 많거나 적게 달라질 수 있다.
블록(222, 224, 226, 228, 230, 232, 234, 236, 238, 240 및 242)과 연관된 기능은 결합되어 더 적은 수의 모듈 및/또는 API에 의해 수행될 수 있거나, 기능은 분할될 수 있어 더 많은 수의 모듈 및/또는 API에 의해 수행될 수 있다. 예를 들어, 블록(222)은 데이터 저장소(206) 또는 외부 데이터 저장소로부터 작업 컨텍스트 데이터, 및 애플리케이션 및/또는 웹사이트 특정 데이터를 포함하지만 이에 제한되지 않는 데이터의 추출을 위해 디바이스(200)의 프로세싱 유닛(202)을 프로그램하는 로직을 갖는 애플리케이션 리포지토리(repository) 모듈을 나타낼 수 있다. 일부 예에서, 애플리케이션 리포지토리 모듈(222)은 디바이스(200)와 연관된 작업 컨텍스트 데이터 및/또는 디바이스(102(1)-102(N))와 같은 다른 디바이스들과 연관된 작업 컨텍스트 데이터를 구별하는 로직을 더 포함할 수 있다. 다양한 예에서, 애플리케이션 리포지토리 모듈(222)은 디바이스(200) 상에 이전에 표현된 및/또는 수정된 작업을 구별하는 로직을 더 포함할 수 있다.
도시된 예에서, 연속성 프레임워크(220)는 애플리케이션 프로세싱 모듈(224)을 포함할 수 있다. 일부 예에서, 애플리케이션 프로세싱 모듈(224)은 애플리케이션 리포지토리 모듈(222), 데이터 저장소(206) 및/또는 외부 데이터 저장소와 같은 데이터 저장 장치로부터 호환성 데이터를 추출하기 위해 디바이스(200)의 프로세싱 유닛(202)을 프로그램하는 로직을 포함한다. 호환성 데이터는, 애플리케이션이 컨텍스트 데이터를 공유할 수 있도록 복수의 다른 애플리케이션들 중 적어도 하나의 애플리케이션과의 애플리케이션 호환성 및/또는 복수의 대응하는 웹 사이트들 중 적어도 하나의 웹 사이트와의 애플리케이션 호환성을 포함하지만 이에 제한되는 것은 아니다. 일부 예에서, 애플리케이션 프로세싱 모듈(224)은 애플리케이션 제안된 사용자 액션, 애플리케이션 프로모션, 또는 애플리케이션 리포지토리 모듈(222), 데이터 저장소(206) 및/또는 외부 데이터 저장소와 같은 데이터 저장소로부터 제공되도록 애플리케이션에서 프로그램되는 임의의 다른 데이터를 포함하지만 이에 제한되지 않는 다른 애플리케이션 및/또는 웹 사이트 특정 데이터의 추출을 위해 프로세싱 유닛(202)을 프로그램하는 로직을 포함할 수 있다.
연속성 프레임워크(220)는 애플리케이션 리포지토리 모듈(222), 데이터 저장소(206) 및/또는 외부 데이터 저장소와 같은 데이터 저장 장치로부터 애플리케이션 및/또는 웹 사이트 사용 데이터의 추출을 위해 프로세싱 유닛(들)(202)을 프로그램하는 로직을 갖는 순위 모듈(226)을 더 포함할 수 있다. 애플리케이션 및/또는 웹 사이트 사용 데이터는 적어도 복수의 애플리케이션들 및/또는 웹 사이트들 중 적어도 하나의 인기(사용 빈도), 복수의 애플리케이션들 및/또는 웹 사이트들에서의 하나 이상의 작업들이 열람된 및/또는 수정된 시간, 복수의 애플리케이션들 및/또는 웹 사이트들 중 적어도 하나를 열람하는 지속 기간, 및 애플리케이션 및/또는 웹 사이트의 타입을 포함할 수 있다. 순위 모듈(226)은 또한 데이터 저장 장치로부터 사용자 선호도 데이터(즉, 디바이스 설정, 애플리케이션 설정, 웹 사이트 설정 등)의 추출을 위해 프로세싱 유닛(들)(202)을 프로그램하는 로직을 포함할 수 있다.
순위 모듈(226)은 또한 애플리케이션 및/또는 웹 사이트 사용 데이터, 및/또는 사용자 선호도(즉, 디바이스 설정, 애플리케이션 설정, 웹 사이트 설정 등)에 적어도 부분적으로 기초하여, 애플리케이션, 웹 사이트, 애플리케이션의 작업 및/또는 웹 사이트의 작업 중 적어도 하나를 순위 매기는 순위 로직을 포함할 수 있다. 순위 모듈(226)은 애플리케이션 리포지토리 모듈(222), 데이터 저장소(206) 및/또는 외부 데이터 저장소와 같은 데이터 저장 장치에 사용자 프로파일에 대한 순위를 저장하는 로직을 더 포함할 수 있다. 일부 예에서, 순위 모듈(226)의 순위 로직은 마지막 열람 및/또는 수정 이후의 시간, 열람 및/또는 수정의 빈도, 애플리케이션 및/또는 웹 사이트의 타입, 및/또는 사용자 선호도 중 하나 이상에 기초하여 순위 매길 수 있다.
도시된 예에서, 연속성 프레임워크(220)는 디스플레이 모듈(230)에 애플리케이션으로부터의 관련 있는 컨텍스트 데이터 및/또는 애플리케이션의 작업를 출력하기 위해, 애플리케이션 리포지토리 모듈(222), 데이터 저장소(206) 및/또는 외부 데이터 저장소와 같은 데이터 저장 장치, 순위 모듈(226), 또는 애플리케이션 프로세싱 모듈(224) 중 적어도 하나로부터 데이터를 추출하도록 프로세싱 유닛(202)을 프로그램하는 로직을 갖는 출력 모듈(228)을 더 포함할 수 있다. 출력 모듈(228)은 사용자 선호도, 애플리케이션 순위, 웹 사이트 순위, 작업 순위, 애플리케이션 제안된 사용자 액션, 및 애플리케이션 프로모션 중 적어도 하나에 기초하여, 애플리케이션 및/또는 작업으로부터 가장 관련 있는 컨텍스트 데이터를 결정하는 로직을 더 포함할 수 있다. 이러한 이해에 기초하여, 작업 연속성은 디스플레이 모듈(230)에 가장 관련 있는 컨텍스트 데이터를 제공할 수 있으며, 디스플레이 모듈(230)은 사용자의 선택을 알릴 수 있다.
일부 예에서, 디스플레이 모듈(230)은 하나 이상의 상호 작용형 디스플레이 섬네일들(232, 234, 236 및 238) 상에 관련 있는 작업 컨텍스트 데이터, 애플리케이션 및/또는 웹 사이트 특정 데이터, 애플리케이션 제안된 사용자 액션, 및/또는 애플리케이션 프로모션을 표현하는 로직을 포함하지만, 이것은 단지 예로서, 그 수는 더 많거나 적게 달라질 수 있다. 일례에서, 상호 작용형 디스플레이 섬네일(232)은 제 1 애플리케이션의 가장 최근에 열람된 및/또는 수정된 작업을 디스플레이할 수 있는 반면, 상호 작용형 디스플레이 섬네일(234)은 제 2 애플리케이션의 가장 최근에 열람된 및/또는 수정된 작업을 디스플레이할 수 있다. 부가적으로, 상호 작용형 디스플레이 섬네일들(234, 236)은 각각 제 1 애플리케이션 및 제 2 애플리케이션에 대한 애플리케이션 프로모션을 디스플레이할 수 있다.
연속성 프레임워크(220)는 그래픽 사용자 인터페이스(240) 및 활동 피드 엔진(activity feed engine)(242)을 더 포함할 수 있다. 그래픽 사용자 인터페이스는 I/O 인터페이스(들)(210)를 통한 입력에 응답하는 로직을 포함할 수 있다. 그래픽 사용자 인터페이스(240)는 애플리케이션 및/또는 웹 사이트에서 작업을 시작하도록 활동 피드 엔진(242)을 프로그램하는 로직을 더 포함할 수 있다. 일부 예에서, 작업 시작은 하나 이상의 상호 작용형 디스플레이 섬네일들(232, 234, 236 및 238) 상의 사용자 입력에 적어도 부분적으로 기초할 수 있다. 그래픽 사용자 인터페이스(240)는 터치 입력, 펜 입력, 마우스 클릭, 키보드 선택, 또는 임의의 다른 입력 메카니즘 중 적어도 하나에 의해 활성화될 수 있다. 상호 작용형 디스플레이 섬네일(232)과 같은 상호 작용형 디스플레이 섬네일의 선택의 표시를 수신하는 것에 응답하여, 그래픽 사용자 인터페이스(240)는 활동 피드 엔진(242)을 통해 디스플레이된 애플리케이션 및 작업의 시작을 가능하게 하고, 작업의 표현 및/또는 수정을 계속할 수 있다.
그래픽 사용자 인터페이스(240)는 임의의 수의 디바이스들에 걸쳐 및/또는 분산 서비스 플랫폼 내의 크로스 디바이스 활동 모듈에 명시적 푸시(push)로 데이터를 전송하도록 활동 피드 엔진을 프로그램하는 로직을 더 포함할 수 있다. 그래픽 사용자 인터페이스(240)는 I/O 인터페이스(들)(210)를 통한 입력에 적어도 부분적으로 기초하여 명시적 저장으로 데이터를 저장하도록 활동 피드 엔진을 프로그램하는 로직을 더 포함할 수 있다.
활동 피드 엔진(242)은 작업이 디바이스(200) 상에서 열람 및/또는 수정되는 동안 애플리케이션 및/또는 웹 사이트에서의 작업에 대한 작업 컨텍스트 데이터를 저장하도록 프로세싱 유닛(들)(202)을 프로그램하는 로직을 포함할 수 있다. 활동 피드 엔진은 애플리케이션 리포지토리 모듈(222), 데이터 저장소(206) 및/또는 외부 데이터 저장소와 같은 데이터 저장 장치에 작업 컨텍스트 데이터를 저장할 수 있다. 작업 컨텍스트 데이터는 데이터 저장 장치 내의 사용자 프로파일에 저장될 수 있으므로, 사용자 프로파일 데이터를 업데이트할 수 있다. 일부 예에서, 활동 피드 엔진(242)은 또한 데이터 저장 장치로부터 사용자 프로파일 데이터를 추출하고 다른 디바이스 및/또는 분산 서비스 플랫폼으로 그 사용자 프로파일 데이터를 전송하도록 프로세싱 유닛(들)(202)을 프로그램하는 로직을 포함할 수 있다.
일부 예에서, 사용자 프로파일 데이터는 하나의 디바이스 상의 데이터 저장 장치에 저장될 수 있다. 일부 예에서, 사용자 프로파일 데이터는 적어도 두 개의 디바이스들에 걸쳐 저장될 수 있다. 다양한 예에서, 사용자 프로파일 데이터는 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 저장될 수 있다. 적어도 하나의 예에서, 사용자 프로파일 데이터는 하나 이상의 디바이스들에 걸쳐 데이터 저장 장소에 저장될 수 있고, 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 저장될 수 있다.
일부 예에서, 활동 피드 엔진(242)은 그래픽 사용자 인터페이스(240)를 통한 명시적 업데이트로 작업 컨텍스트 데이터를 포함하는 사용자 프로파일 데이터를 저장할 수 있다. 명시적 업데이트에서, 데이터를 푸시하라는 신호를 수신하는 것에 응답하여, 활동 피드 엔진은 데이터 저장 장치로부터 사용자 프로파일 데이터를 추출하고, 네트워크 인터페이스(들)(212)를 통해 디바이스(102(N))와 같은 다른 디바이스에 사용자 프로파일 데이터를 전송한다. 다양한 예에서, 사용자 프로파일 데이터의 업데이트는 암시적 업데이트일 수 있어서, 제 1 디바이스 및 제 2 디바이스가 근접 네트워크에 연결된 것에 응답하여, 디바이스(102)(N)와 같은 제 2 디바이스의 활동 피드 엔진은 네트워크 인터페이스(들)(212)를 통해 제 1 디바이스의 데이터 저장 장치로부터 사용자 프로파일 데이터를 얻을 수 있다.
도 3은 도 1의 디바이스(102)(1)와 같은, 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 포함하는 디바이스 상의 예시적인 디스플레이 모듈을 도시한다. 디바이스(300)는 데이터의 표현을 위해 디스플레이(302)를 포함할 수 있다. 디스플레이(302) 상에 표현된 데이터는 적어도 디스플레이 모듈(230)과 같은 디스플레이 모듈에 의해 생성될 수 있다. 디스플레이(302)는 애플리케이션, 웹 사이트, 애플리케이션 및/또는 웹 사이트 상의 작업, 또는 애플리케이션 제안된 사용자 액션 및 애플리케이션 프로모션을 포함하지만 이에 제한되지 않는 애플리케이션 특정 활동의 풍부한 참여 또는 재참여를 가능하게 할 수 있다.
도시된 예에서, 디스플레이(302)는 상호 작용형 디스플레이 섬네일(304, 306, 308, 310, 312, 314, 316, 318, 및 320)을 포함할 수 있지만, 이것은 단지 예로서, 그 수는 더 많거나 적게 달라질 수 있다. 디스플레이(302)는 연속성 프레임워크(220)와 같은 연속성 프레임워크에서 디스플레이 모듈(230)과 같은 디스플레이 모듈에 동작 가능하게 연결될 수 있다. 일부 예에서, 디스플레이 모듈(302)은 상호 작용형 디스플레이 섬네일(304, 306, 308, 310, 312, 314, 316, 318 및 320) 상에 디스플레이하기 위해 출력 모듈로부터 디스플레이를 위한 데이터를 수신한다. 이러한 예에서, 출력 모듈은 사용자 선호도, 애플리케이션 및/또는 작업 순위, 애플리케이션 제안된 사용자 액션, 및/또는 애플리케이션 프로모션에 적어도 부분적으로 기초하여, 애플리케이션 및/또는 웹 사이트로부터 가장 관련 있는 작업 컨텍스트 데이터를 결정할 수 있다. 가장 관련 있는 작업 컨텍스트 데이터를 결정하는 것에 응답하여, 출력 모듈은 표현을 위해 디스플레이 모듈에 작업 컨텍스트 데이터를 전송할 수 있다. 이러한 이해에 기초하여, 디스플레이(302)는 사용자가 참여 또는 재참여하기를 원하는 애플리케이션 및/또는 작업과 관련된 가장 관련 있는 컨텍스트 데이터 및/또는 다른 애플리케이션 데이터를 디스플레이할 수 있다. 각각의 상호 작용형 디스플레이 섬네일 상에 디스플레이된 작업 컨텍스트 데이터 및/또는 다른 애플리케이션 및/또는 웹 사이트 데이터는, 사용자가 정보에 근거한 선택을 할 수 있게 하기 위해 작업, 애플리케이션 및/또는 웹 사이트에 관한 충분한 데이터를 제공할 수 있다.
도시된 예에서, 블록(304, 306, 308, 310, 312 및 314)은 사용자 프로파일에서 순위 매겨진 작업을 나타낼 수 있다. 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성은 마지막 열람 및/또는 수정 이후의 시간, 열람 및/또는 수정의 빈도, 열람 및/또는 수정의 지속 기간, 애플리케이션 및/또는 웹 사이트의 타입, 및/또는 사용자 선호도 중 하나 이상에 기초하여 순위 매겨질 수 있다. 예시된 예로서, 사용자가 전자 메일을 작성하는 데 2시간을 보내고 그 전자 메일은 보내지 않고 그 뒤에 뉴스 기사를 검토하는 데 5분을 보낸 경우, 전자 메일은 작성하는데 보낸 시간에 적어도 부분적으로 기초하여 뉴스 기사보다 높은 순위가 매겨질 수 있다.
일부 예에서, 디스플레이(302)는 상호 작용형 디스플레이 섬네일(304)과 같은, 애플리케이션 및/또는 웹 사이트에서의 순위 매겨진 작업을 갖는 상호 작용형 디스플레이 섬네일을 더 많거나 적게 포함할 수 있다. 일부 예에서, 디스플레이(302)는 상호 작용형 디스플레이 섬네일(316)과 같은 애플리케이션 특정 데이터를 갖는 상호 작용형 디스플레이 섬네일을 더 많거나 적게 포함할 수 있다.
블록(304)은 사용자 프로파일 상의 가장 높은 순위의 작업을 나타낼 수 있다. 예를 들어, 블록(304)은 디바이스(102(1)-102(N))와 같은, 사용자 프로파일을 위해 구성된 임의의 디바이스 상의 애플리케이션 Z에서 가장 최근에 열람된 및/또는 수정된 작업을 나타낼 수 있다. 다른 예에서, 블록(304)은 사용 빈도에 의해 식별된 바와 같은 및/또는 사용자 선호도에서 사용자에 의해 지정된 바와 같은, 좋아하는 작업을 나타낼 수 있다.
블록(312)은 사용자 프로파일에서 다섯 번째로 가장 최근에 열람된 및/또는 수정된 작업, 및 웹 사이트 C와 같은 웹 사이트에서 가장 최근에 열람된 및/또는 수정된 작업을 나타낼 수 있다.
도시된 예에서, 블록(306, 308, 310, 312 및 314)은 사용자 프로파일에서 두 번째부터 여섯 번째로 높은 순위의 작업을 나타낼 수 있다. 일부 예에서, 디스플레이된 작업은 상이한 애플리케이션 및/또는 웹 사이트에서 최근에 표현된 및/또는 수정된 작업을 나타낼 수 있다. 일부 예에서, 디스플레이된 작업은 동일한 웹 사이트 및/또는 상이한 웹 사이트에서 최근에 표현된 및/또는 수정된 작업을 나타낼 수 있다. 예를 들어, 블록(306)인 애플리케이션 A의 작업 1은, 사용자 프로파일 상의 두 번째로 가장 최근에 표현된 및/또는 수정된 작업, 및 애플리케이션 A에서 가장 최근에 표현된 및/또는 수정된 작업을 나타낼 수 있다. 블록(310)인 애플리케이션 A의 작업 2는, 사용자 프로파일 상의 네 번째로 가장 최근에 표현된 및/또는 수정된 작업, 및 애플리케이션 A에서 두 번째로 가장 최근에 표현된 및/또는 수정된 작업을 나타낼 수 있다. 블록(314)인 애플리케이션 A의 작업 3은, 사용자 프로파일 상의 여섯 번째로 가장 최근에 표현된 및/또는 수정된 작업, 및 애플리케이션 A에서 세 번째로 가장 최근에 표현된 및/또는 수정된 작업을 나타낼 수 있다. 일부 예에서, 애플리케이션 A는 전자 메일 애플리케이션을 나타낼 수 있고, 작업 1, 작업 2, 및 작업 3은 세 개의 상이한 전자 메일 작성을 나타낼 수 있다. 디스플레이(302)는 그래픽 사용자 인터페이스를 통해 추가의 열람 및/또는 수정을 위해 전자 메일 중 어떤 전자 메일의 선택을 가능하게 할 수 있다.
다른 예시적인 예로서, 애플리케이션 A는 비디오 서비스를 나타낼 수 있고, 작업 1, 작업 2, 및 작업 3은 사용자 프로파일 상의 비디오 서비스를 통해 최근에 표현된 3개의 상이한 영화를 나타낼 수 있다. 디스플레이(302)는 계속되는 표현을 위해 3개의 영화 중 하나의 영화의 선택을 가능하게 할 수 있다. 블록(316)에 도시낸 바와 같이, 제안된 사용자 액션이 제공될 수 있다. 제안된 사용자 액션은, 예를 들어, 사용자 프로파일 상의 비디오 서비스에 의해 제안된 네 번째 영화, 사용자 프로파일 상의 최근에 열람된 3개의 영화 각각에 대한 사용자 설문 조사 요청, 또는 사용자 프로파일 상의 임의의 다른 애플리케이션 특정 액션일 수 있다.
일부 예에서, 상호 작용형 디스플레이 섬네일(306, 310 및 314)은 사용자가 선택에 대해 정보에 근거한 결정을 할 수 있도록 애플리케이션 A에서 작업 1, 작업 2 및 작업 3을 구별하기 위한 충분한 작업 컨텍스트 데이터를 표현할 수 있다. 다양한 예에서, 디스플레이를 위해 표현되는 작업 컨텍스트 데이터는 애플리케이션 제목, 작업 제목 및/또는 작업이 마지막 열람된 시간을 포함할 수 있다.
도시된 예에서, 블록(316, 318 및 320)은 상호 작용형 디스플레이 섬네일(316)에 도시된 바와 같은 애플리케이션 A로부터 제안된 사용자 액션, 상호 작용형 디스플레이 섬네일(318)에 도시된 바와 같은 애플리케이션 B로부터 제안된 사용자 액션, 및 상호 작용형 디스플레이 섬네일(320)에 도시된 바와 같은 애플리케이션 A에 대한 애플리케이션 프로모션과 같은, 애플리케이션 특정 데이터를 포함할 수 있다. 애플리케이션 특정 데이터는 사용했거나 최근에 열람된 애플리케이션 및/또는 웹 사이트와 관련된 작업에 사용자가 참여하기 위해, 제안된 사용자 액션 및/또는 애플리케이션 프로모션을 포함할 수 있다. 예시적인 예로서, 스마트 텔레비전 상의 애플리케이션은 라이브 또는 기록된 프로그래밍을 디스플레이할 수 있으며, 스마트 폰 또는 다른 보조 디바이스 상의 애플리케이션은 그 프로그래밍에 대한 정보를 제공할 수 있다. 일부 예에서, 스마트 폰 또는 다른 보조 디바이스 상의 애플리케이션은 탤런트 쇼에서 최고의 가수를 위한 라이브 투표 등과 같은, 프로그래밍에 관련된 제안된 사용자 액션을 제공할 수 있다.
일부 예에서, 상호 작용형 디스플레이 섬네일(304, 306, 308, 310, 312, 314, 316, 318 및 320)은 그래픽 사용자 인터페이스(240)와 같은 그래픽 사용자 인터페이스를 통해 작업의 참여 또는 재참여를 위해 작업, 애플리케이션 및/또는 웹 사이트 중 적어도 하나의 선택을 허용할 수 있다. 복수의 상호 작용형 디스플레이 섬네일 중 적어도 하나의 선택을 수신하는 것에 응답하여, 디바이스(300)는 작업 참여 또는 재참여를 위해 선택된 애플리케이션 및/또는 웹 사이트를 시작할 수 있다.
도 4는 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 예시적인 네트워크 환경을 도시한다. 네트워크 환경(400)은 분산 서비스 플랫폼(402) 및/또는 근접 네트워크(404)를 포함할 수 있다.
분산 서비스 플랫폼(402)은 분산 컴퓨팅 자원(406(1)-406(N))과 같은 하나 이상의 분산 컴퓨팅 자원(들)(406)을 포함할 수 있다. 예들은 분산 컴퓨팅 자원(들)(406)이 디바이스(들)(102)와 같은 하나 이상의 컴퓨팅 디바이스들을 포함할 수 있는 시나리오를 지원하고, 하나 이상의 컴퓨팅 디바이스들은 자원을 공유하거나, 부하의 균형을 유지하거나, 성능을 증가시키거나, 장애 극복 지원 또는 리던던시를 제공하거나, 또는 다른 목적을 위해 클러스터 또는 다른 그룹화된 구성으로 동작한다. 분산 컴퓨팅 자원(들)(406)은 종래의 서버 타입 디바이스, 데스크톱 컴퓨터 타입 디바이스, 모바일 타입 디바이스, 특수 목적 타입 디바이스, 임베디드 타입 디바이스 및/또는 웨어러블 타입 디바이스와 같은 다양한 카테고리 또는 클래스의 디바이스에 속할 수 있다. 따라서, 비록 데스크톱 컴퓨터로서 도시되었어 있지만, 분산 컴퓨팅 자원(들)(406)은 다양한 종류의 디바이스 타입을 포함할 수 있으며, 특정 타입의 디바이스로 제한되는 것은 아니다. 분산 컴퓨팅 자원(들)(406)은 씬 클라이언트, 데스크톱 컴퓨터, 서버 컴퓨터, 웹-서버 컴퓨터, 개인용 컴퓨터, 모바일 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 웨어러블 컴퓨터, 이식 컴퓨팅 디바이스, 통신 디바이스, 자동차 컴퓨터, 네트워크 가능형 텔레비전, 단말기, PDA(personal data assistant), 게임 콘솔, 게임 디바이스, 워크 스테이션, 미디어 플레이어, 개인용 비디오 레코더(PVR), 셋톱 박스, 카메라, 컴퓨팅 디바이스에 포함시키기 위한 통합 컴포넌트, 가전 제품, 또는 네트워크 연결(410)을 통해 디바이스(들)(102)와 같은 다른 디바이스(들)(408)에 연결할 수 있는 임의의 다른 종류의 컴퓨팅 디바이스를 나타낼 수 있지만, 이에 제한되는 것은 아니다.
일부 예에서, 네트워크 연결(410)은 유선 또는 무선일 수 있고, 디바이스(들)(408)이 네트워크 연결(410)을 통해 발견 가능한 것에 응답하여, 디바이스(들)(408)로부터 분산 서비스 플랫폼(402)으로의 데이터 전송, 및 분산 서비스 플랫폼(402)으로부터 디바이스(들)(408)로의 데이터 전송이 가능할 수 있다.
도시된 예에서, 분산 서비스 플랫폼(402)은 적어도 하나의 참조 사용자 프로파일(412)을 포함할 수 있다. 일부 예에서, 참조 사용자 프로파일(412)은 애플리케이션 특정 데이터, 웹 사이트 특정 데이터, 작업 컨텍스트 데이터, 사용자 선호도 및/또는 사용자의 프로파일과 연관된 임의의 다른 데이터를 포함하지만 이에 제한되지 않는 사용자 프로파일 데이터를 저장할 수 있다. 참조 사용자 프로파일(412)은 사용자 프로파일에 구성된 복수의 디바이스들 중 적어도 하나의 디바이스로부터의 사용자 프로파일 데이터를 저장할 수 있다. 일부 예에서, 참조 사용자 프로파일(412)은 작업 연속성 시스템에서 복수의 디바이스들 중 적어도 하나의 디바이스에 대한 사용자 프로파일 데이터의 중심 기준점의 역할을 할 수 있다.
도시된 예에서, 참조 사용자 프로파일(412)은 애플리케이션(414(a)-(N))과 같은 애플리케이션(들)(414)을 포함할 수 있다. 애플리케이션(들)(414)은 작업 컨텍스트 데이터(416(a)-(N))와 같은 작업 컨텍스트 데이터(416)를 또한 저장할 수 있다. 참조 사용자 프로파일(412)은 또한 디바이스(들)(408)와 분산 서비스 플랫폼(402) 간의 데이터 전송을 통해 사용자 프로파일을 업데이트하도록 구성된 크로스 디바이스 활동 모듈(418)을 포함할 수 있다. 디바이스(들)(408)의 발견 가능성에 기초하여, 크로스 디바이스 활동 모듈(418)은 규칙적으로 또는 주기적으로 참조 사용자 프로파일(412)을 업데이트할 수 있다. 업데이트는 적어도 애플리케이션 사용, 웹 사이트 사용 및/또는 디바이스(들)(408) 상의 사용자 선호도 변경에 기초할 수 있다. 디바이스(들)(408)로부터 참조 사용자 프로파일(412)로의 업데이트는, 분산 서비스 플랫폼(402)이 최신 참조 사용자 프로파일 데이터를 유지할 수 있게 한다. 일부 예에서, 최신 참조 사용자 프로파일 데이터는 참조 사용자 프로파일에 구성된 임의의 수의 디바이스들에 걸쳐 애플리케이션 및/또는 웹 사이트의 작업에 대해 최신에 업데이트된 작업 컨텍스트 데이터를 포함할 수 있다.
크로스 디바이스 활동 모듈(418)은 네트워크 연결(410)을 통해 디바이스(들)(408)에 동작 가능하게 연결될 수 있다. 일부 예에서, 하나 이상의 디바이스(들)(408)가 발견 가능한 것에 응답하여(즉, 디바이스의 전원이 켜지거나, 디바이스가 저전력 상태에서 전환되거나, 디바이스의 비행기 모드가 디스에이블되거나, 디바이스가 네트워크에 발견 가능하게 되게 하는 임의의 다른 입력), 크로스 디바이스 활동 모듈(418)은 하나 이상의 디바이스(들)(408) 상의 데이터 저장 장치로부터 사용자 프로파일 데이터를 얻을 수 있다. 일부 예에서, 크로스 디바이스 활동 모듈(418)은 하나 이상의 디바이스(들)(408) 내의 활동 피드 엔진으로부터의 작업 완료 신호의 수신에 기초하여, 하나 이상의 디바이스(들)(408) 상의 데이터 저장 장치로부터 사용자 프로파일 데이터를 얻을 수 있다.
다양한 예에서, 크로스 디바이스 활동 모듈(418)은 주기적 간격으로 하나 이상의 디바이스(들)(408) 상의 데이터 저장 장치로부터 사용자 프로파일 데이터를 얻을 수 있다. 이러한 예에서, 애플리케이션(414(a))의 작업(416(a))이 디바이스(408(1)) 상에서 수정될 수 있다. 수정 동안, 애플리케이션 리포지토리 모듈은 작업(416(a))에 대한 작업 컨텍스트 데이터를 디바이스(408(1))의 데이터 저장 장치에 저장할 수 있다. 작업(416(a))의 수정 내내 주기적으로, 크로스 디바이스 활동 모듈(418)은 네트워크 연결(410)을 통해, 디바이스(408)의 활동 피드 엔진(242)과 같은 활동 피드 엔진(420(1))으로부터 작업(416(a))의 작업 컨텍스트 데이터를 포함하기 위해 업데이트된 사용자 프로파일 데이터를 얻을 수 있다. 크로스 디바이스 활동 모듈(418)은 업데이트된 사용자 프로파일 데이터를 참조 사용자 프로파일(412)의 애플리케이션(414(a))에 저장할 수 있으므로, 가장 최신의 참조 사용자 프로파일 데이터를 인에이블 한다. 일부 예에서, 주기적 간격은 매 5초 또는 10초와 같은 임의의 기간, 또는 업데이트를 위해 합리적인 것으로 결정된 임의의 다른 기간일 수 있다. 일부 예에서, 주기적 간격은 참조 사용자 프로파일에서 적어도 사용자 선호도에 설정된 바와 같은, 업데이트를 위한 사용자 지정 시간일 수 있다.
일부 예에서, 디바이스(들)(408)가 발견 가능하다는 것에 응답하여, 크로스 디바이스 활동 모듈(418)은 참조 사용자 프로파일 데이터를 디바이스(408)에 전송할 수 있다. 이러한 예에서, 디바이스(408(2))와 같은 디바이스가 네트워크 연결(410)을 통해 발견 가능하다는 것에 응답하여, 크로스 디바이스 활동 모듈(418)은 이를 검출할 수 있다. 크로스 디바이스 활동 모듈(418)은 디바이스 상의 사용자 프로파일을 참조 사용자 프로파일(412)과 비교할 수 있다. 크로스 디바이스 활동 모듈(418)은 디바이스 상의 사용자 프로파일을 업데이트하기 위해 디바이스 상의 사용자 프로파일 데이터에 참조 사용자 프로파일 데이터를 푸시할 수 있다. 부가적으로, 크로스 디바이스 활동 모듈은 참조 사용자 프로파일(412)을 업데이트하기 위해 디바이스로부터 사용자 프로파일 데이터를 얻을 수 있다.
다른 예에서, 크로스 디바이스 활동 모듈(418)은 그래픽 사용자 인터페이스(240)와 같은 그래픽 사용자 인터페이스를 통해 업데이트를 푸시하라는 커맨드에 기초하여, 디바이스(408(1) 및 408(2))와 같은 디바이스(들)(408)에 작업 컨텍스트 데이터를 명시적으로 푸시할 수 있다. 예를 들어, 작업(416(a))은 디바이스(408(1)) 상에서 수정될 수 있고, 작업(416(a))에 대한 업데이트된 작업 컨텍스트 데이터를 포함하는 사용자 프로파일 데이터를 디바이스(408(2))에 푸시하라는 커맨드가 활동 피드 엔진(420(1)) 및 네트워크 연결(410)을 통해 크로스 디바이스 활동 모듈(418)에 제공될 수 있다. 이러한 예에서, 작업(416(a))은 개별적으로 또는 동시에 디바이스(408(1)) 및/또는 디바이스(408(2)) 상에서 계속될 수 있다.
네트워크 환경(400)은 또한 디바이스(들)(408) 간의 데이터 전송을 가능하게 하는 근접 네트워크(404)를 포함할 수 있다. 일부 예에서, 애플리케이션 특정 데이터, 웹 사이트 특정 데이터, 작업 컨텍스트 데이터, 사용자 선호도, 및 애플리케이션 및/또는 웹 사이트 사용과 연관된 임의의 다른 데이터를 포함하지만 이에 제한되지 않는 사용자 프로파일 데이터는, 근접 네트워크 연결(424)을 통해 디바이스들 간에 공유될 수 있다. 근접 네트워크 연결(424)은 안전한 유선 또는 무선 연결일 수 있고, 디바이스(408(1) 및 408(2))와 같은 디바이스(들)(408) 간에 2방향 데이터 전송을 가능하게 할 수 있다. 근접 네트워크에서, 디바이스(들)(408)는 적어도 근접하여 서로 발견 가능할 수 있다. 근접 네트워크에서의 발견 가능성은 근접 인터페이스(214)와 같은 디바이스 내의 근접 인터페이스에 의해 결정될 수 있다. 근접 인터페이스는 근접 센서 및/또는 유선 연결을 포함할 수 있다. 일부 예에서, 디바이스들 간의 데이터 공유는 명시적일 수 있다. 일부 예에서, 디바이스들 간의 데이터 공유는 암시적일 수 있다.
명시적 전송에서, 각각의 디바이스 내의 활동 피드 엔진은 그래픽 사용자 인터페이스(240)와 같은 그래픽 사용자 인터페이스 상의 입력에 적어도 부분적으로 기초하여 디바이스들(408(1) 및 408(2)) 간에 사용자 프로파일 데이터를 푸시할 수 있다. 예를 들어, 작업(416(a))이 디바이스(408(1)) 상에서 수정되고 있고, 사용자가 디바이스(408(2)) 상에서 작업(416(a))을 수정하기를 원하는 경우, 작업(416(a))의 작업 컨텍스트 데이터를 포함하는 업데이트된 사용자 프로파일 데이터가 그래픽 사용자 인터페이스 상의 입력을 통해 디바이스(408(2))에 푸시될 수 있다. 이러한 예에서, 디바이스(408(1) 및 408(2)) 내의 각각의 활동 피드 엔진(들)(420)은 사용자 프로파일 데이터가 각각의 디바이스에 걸쳐 동기화되게 할 것이다.
암시적 전송에서, 디바이스(들)(408)이 서로 발견 가능한 것에 응답하여, 디바이스(들)(408)는 업데이트된 사용자 프로파일 데이터를 디바이스(들)(408) 간에 자동으로 송신할 수 있다. 예를 들어, 디바이스(408(2))는 모바일 디바이스일 수 있고, 디바이스(408(1))는 고정 디바이스일 수 있다. 이동 중에, 디바이스(408(2)) 상의 애플리케이션 리포지토리 모듈은 작업(416(a))의 업데이트된 작업 컨텍스트 데이터를 디바이스(408(2)) 상의 데이터 저장 장치에 저장하여 사용자 프로파일을 업데이트할 수 있다. 그런 다음, 디바이스(408(2))가 디바이스(408(1))에 근접한 것에 응답하여, 디바이스(408(2))의 활동 피드 엔진(420)은 작업(416(a))의 작업 컨텍스트 데이터를 포함하는 업데이트된 사용자 프로파일 데이터를 근접 네트워크 연결(424)을 통해 디바이스(408(2))에 송신할 수 있고, 이에 의해 업데이트된 사용자 프로파일을 인에이블 할 수 있다.
다양한 예에서, 디바이스(408(1) 및 408(2))의 각각의 애플리케이션 리포지토리 모듈은 작업(416(a) 및 416(b))의 작업 컨텍스트 데이터를 저장할 수 있고, 이들은 각각 디바이스(408(1) 및 408(2)) 상에서 열람 및/또는 수정된다. 디바이스(408(1)) 및 디바이스(408(2))가 서로 발견 가능하게 되면, 활동 피드 엔진(420(1))이 작업(416(a))의 작업 컨텍스트 데이터를 포함하는 업데이트된 사용자 프로파일 데이터를 디바이스(408(1))로부터 송신하게 하고, 작업(416(b))의 작업 컨텍스트 데이터를 포함하는 업데이트된 사용자 프로파일 데이터를 디바이스(408(2))로부터 수신하게 할 수 있다. 동시에, 활동 피드 엔진(420(2))은 작업(416(b))의 작업 컨텍스트 데이터를 포함하는 업데이트된 사용자 프로파일 데이터를 디바이스(408(2))로부터 송신하고, 작업(416(a))의 작업 컨텍스트 데이터를 포함하는 업데이트된 사용자 프로파일 데이터를 디바이스(408(1))로부터 수신할 수 있다.
도시된 예에서, 네트워크 환경(400)은 분산 서비스 플랫폼(402) 및 근접 네트워크(404)를 포함한다. 이러한 환경에서, 애플리케이션 특정 데이터, 웹 사이트 특정 데이터, 작업 컨텍스트 데이터, 사용자 선호도, 및/또는 애플리케이션 및/또는 웹 사이트 사용과 연관된 임의의 다른 데이터를 포함하는 사용자 프로파일 데이터는 분산 서비스 플랫폼(402) 및 근접 네트워크(404)를 모두 사용하여 디바이스들 간에 공유될 수 있다. 이로써, 임의의 수의 디바이스들에 걸친 참조 사용자 프로파일 데이터 및 사용자 프로파일 데이터가 동일한 데이터를 포함한다는 것을 보장한다.
예를 들어, 디바이스(408(1) 및 408(2))가 근접해 있지만 네트워크 연결(410)을 통해 분산 서비스 플랫폼(402)에 연결될 수 없는 경우, 디바이스(408(1) 및 408(2))는 각각의 활동 피드 엔진을 경유하여 근접 네트워크 연결(424)을 통해 업데이트된 사용자 프로파일 데이터를 송신 및 수신할 수 있다. 나중에, 디바이스(408(1))는 네트워크 연결(410)을 통해 분산 서비스 플랫폼(402)에 연결될 수 있다. 이 연결에 응답하여, 크로스 디바이스 활동 모듈(418)은 디바이스(408(1))의 발견 가능성을 인식할 수 있고, 애플리케이션 특정 데이터, 웹 사이트 특정 데이터, 작업 컨텍스트 데이터, 사용자 선호도, 및 애플리케이션 및/또는 웹 사이트 사용과 연관된 임의의 다른 데이터를 포함하지만 이에 제한되는 것은 아닌 사용자 프로파일 데이터를 얻을 수 있고, 분산 서비스 플랫폼(402)에서 참조 사용자 프로파일(412)을 업데이트할 수 있다. 다른 예에서, 사용자는 네트워크 연결(410)을 획득한 후에 디바이스(408(1))로부터 분산 서비스 플랫폼(402)으로 사용자 프로파일 데이터를 푸시할 수 있다. 그런 다음, 사용자는 임의의 디바이스(들)(408)를 집어들어, 참조 사용자 프로파일(412) 내의 임의의 애플리케이션 및/또는 웹 사이트에 대한 작업을 계속할 수 있다.
예시적인 프로세스
도 5는 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 예시적인 프로세스를 도시한다.
도시된 예에서, 작업(502)은 디바이스(102(1))와 같은 디바이스(506(1)) 상의 애플리케이션(504(1))에서 시간 T = 0에서 표현 및/또는 수정될 수 있다. 작업(502)은 시간 T = N까지 계속해서 표현 및/또는 수정될 수 있다. 시간 T = N에서, 작업(502)은 디바이스(506(1)) 상의 애플리케이션(504(1))에서 정지될 수 있다. 또한 T = N에서, 작업(502)은 디바이스(102(2))와 같은 디바이스(506(2)) 상의 애플리케이션(504(2))에서 표현 및/또는 수정될 수 있다.
일부 예에서, 디바이스(506(1)) 상의 애플리케이션(504(1))은 디바이스(506(2)) 상의 애플리케이션(504(2))과 동일한 애플리케이션일 수 있다. 다양한 예에서, 디바이스(506(1)) 상의 애플리케이션(504(1))은 디바이스(506(2)) 상의 애플리케이션(504(2))과는 상이한 애플리케이션일 수 있다.
예시적인 예에서, 작업(502)은 시간 T = N까지 디바이스(506(1)) 상에서 표현 및/또는 수정될 수 있다. 디바이스(506(2)) 상에서, 작업(502)은 시간 T = N에서부터 작업(502)의 완료 때까지 표현 및/또는 수정될 수 있다. 작업(502)의 완료는 입력 인터페이스를 통한 사용자 입력에 의해 및/또는 애플리케이션 및/또는 웹 사이트에 의해 지정될 수 있다. 일부 예에서, 작업(502)의 완료에 응답하여, 디바이스(506(2))의 활동 피드 엔진은 네트워크(508)를 통해 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 및/또는 복수의 디바이스들에 걸쳐 작업 완료 신호를 전송할 수 있다. 네트워크(508)는 분산 서비스 플랫폼 및/또는 근접 네트워크로 구성될 수 있다. 다양한 예에서, 데이터는 임의의 다른 네트워크 플랫폼을 통해 송신될 수 있다.
다양한 예에서, 작업 완료 신호는 복수의 디바이스들 각각의 사용자 프로파일 및/또는 참조 사용자 프로파일을 업데이트할 수 있어, 그 작업은 복수의 최근에 열람된 및/또는 수정된 작업으로부터 제거될 수 있다. 복수의 최근에 열람된 및/또는 수정된 작업으로부터 해당 작업을 제거하는 것은 작업의 타입, 애플리케이션 및/또는 웹 사이트의 타입, 및/또는 사용자 설정에 적어도 부분적으로 기초할 수 있다. 예를 들어, 작성이 디바이스(506(1))에서 시작되었고, 디바이스(506(2))에서 완료된 전자 메일이 작업(502)일 수 있다. 전자 메일의 작성이 완료되고 전자 메일이 전송되면, 전송 버전이 전자 메일 제공자에 의해 저장될 수 있다. 그러므로, 전자 메일은 작업 연속성에 대한 어떠한 저하없이 복수의 최근에 표현된 및/또는 수정된 작업으로부터 제거될 수 있다.
일부 예에서, 작업을 완료하는 것은 작업이 다른 상태로 전이하게 할 수 있다. 예시적인 예에서, 애플리케이션(504(1))은 데스크톱 컴퓨터일 수 있는 디바이스(506(1)) 상의 매핑 애플리케이션일 수 있다. 작업(502)은 운전 방향 세트일 수 있다. 디바이스(506(2))는 스마트 폰일 수 있고, 매핑 애플리케이션 상에 작업(502)을 디스플레이할 수 있다. 목적지로의 도착에 응답하여, 사용자 및/또는 애플리케이션(504(2))은 작업의 완료를 지정할 수 있다. 작업 완료에 응답하여, 디바이스(506(2)) 상의 활동 피드 엔진은 참조 사용자 프로파일에 및/또는 복수의 디바이스들에 걸쳐 작업 완료 신호를 전송할 수 있다. 그런 다음, 작업 완료 신호는 작업(502)이 디바이스(506(1) 및/또는 506(2)) 중 하나 또는 둘 다 모두에서 리턴 방향과 같은 새로운 방향 세트로 전이하도록 촉구할 수 있다.
다양한 예에서, 작업 완료 및/또는 디바이스(506(2)) 상의 활동 피드 엔진이 복수의 디바이스들에 걸쳐 및/또는 참조 사용자 프로파일에 작업 완료 신호를 전송하는 것은, 하나 이상의 디바이스(506) 상의 완료된 작업과 연관된 새로운 작업(502)을 촉구할 수 있다. 작업 완료에 응답하여, 디바이스(506(2)) 상의 활동 피드 엔진은 동일하거나 상이한 애플리케이션에서 완료된 작업의 컨텍스트 및/또는 완료된 작업과 관련된 새로운 작업을 촉구할 수 있다. 예를 들어, 앞서 논의된 바와 같이 목적지로의 도착에 응답하여, 사용자 및/또는 애플리케이션(504(2))은 작업의 완료를 지정할 수 있다. 작업 완료에 응답하여, 디바이스(506(2)) 상의 활동 피드 엔진은 새로운 작업(502)을 촉구할 수 있으며, 새로운 작업(502)은 목적지와 연관된 사업체 또는 활동 리스트의 표현일 수 있다. 일부 예에서, 새로운 작업(502)은 디바이스(506(1))가 디바이스(506(2))에 근접할 때까지 디바이스(506(1)) 상에 표현되지 않고 디바이스(506(2)) 상에 표현될 수 있다.
도 6은 도 1 내지 도 4와 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템의 다른 예시적인 프로세스를 도시한다.
도시된 예에서, 작업(602)은 디바이스(102(1))와 같은 디바이스(606(1)) 상의 애플리케이션(604(1))에서 표현 및/또는 수정될 수 있다. 동시에, 작업(602)은 디바이스(606(2)) 상의 애플리케이션(604(2))에서 표현 및/또는 수정될 수 있어, 이에 의해 적어도 두 개의 디바이스(들)(606) 상에서 작업(602)의 표현 및/또는 수정을 인에이블 할 수 있다.
일부 예에서, 디바이스(606(1)) 상의 애플리케이션(604(1))은 디바이스(606(2)) 상의 애플리케이션(604(2))과 동일한 애플리케이션일 수 있다. 다양한 예에서, 디바이스(606(1)) 상의 애플리케이션(604(1))은 디바이스(606(2)) 상의 애플리케이션(604(2))과는 상이한 애플리케이션일 수 있다.
일부 예에서, 애플리케이션 특정 데이터, 웹 사이트 특정 데이터, 작업 컨텍스트 데이터, 사용자 선호도, 및/또는 애플리케이션 및/또는 웹 사이트 사용과 연관된 임의의 다른 데이터를 포함하는 사용자 프로파일 데이터가 분산 서비스 플랫폼(402) 및/또는 근접 네트워크(404)와 같은 네트워크(608)를 통해 송신될 수 있다.
도 7 및 도 8은 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 위한 예시적인 프로세스를 도시하는 흐름도이다. 예시적인 프로세스의 동작은 개별 블록으로 도시되고 이들 블록을 참조하여 요약된다. 프로세스는 블록의 논리적 흐름으로 도시되며, 각 블록은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있는 하나 이상의 동작을 나타낼 수 있다.
도 7은 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템 상의 프로세스 흐름을 도시한다. 도 7은 하나의 소스 디바이스 및 하나의 타겟 디바이스가 있는 프로세스 흐름을 도시하지만, 이는 단지 예일 뿐이고, 하나보다 많은 소스 디바이스 및/또는 하나보다 많은 타겟 디바이스가 있을 수 있다.
블록(702)에서, 활동 피드 엔진은 디바이스(102, 200, 408, 506 및/또는 606)와 같은 소스 디바이스 상에서 작업을 참여시킨다.
블록(704)에서, 활동 피드 엔진은 작업 컨텍스트 데이터를 적어도 소스 디바이스 상의 사용자 프로파일에 저장한다. 일부 예에서, 분산 서비스 플랫폼 내의 크로스 디바이스 활동 모듈(418)과 같은 크로스 디바이스 활동 모듈이, 소스 디바이스로부터 업데이트된 사용자 프로파일 데이터를 얻고, 그것을 참조 사용자 프로파일에 저장할 수 있다.
블록(706)에서, I/O 인터페이스는 네트워크에 대한 타겟 디바이스의 연결을 발견한다. 일부 예에서, 디바이스를 네트워크에서 발견 가능하게 만드는 것은, 디바이스의 전원이 켜지거나, 디바이스가 저전력 상태에서 전환되거나, 디바이스의 비행기 모드가 비활성화되거나, 디바이스가 네트워크에서 발견 가능하게 되게 하는 임의의 다른 입력을 포함할 수 있다. 다양한 예에서, 디바이스들은 발견 가능할 수 있고, 디바이스들 각각의 활동 피드 엔진은 소스 디바이스와 타겟 디바이스 간에 사용자 프로파일 데이터를 송신 및 수신할 수 있다. 적어도 하나의 예에서, 발견 가능성에 응답하여, 각각의 활동 피드 엔진은 소스 디바이스와 타겟 디바이스와 크로스 디바이스 활동 모듈 간에 사용자 프로파일 데이터를 송신 및 수신할 수 있다.
일부 예에서, 소스 디바이스로부터 타겟 디바이스 및/또는 크로스 디바이스 활동 모듈로의 사용자 프로파일 데이터의 전송은 암시적일 수 있다. 다양한 예에서, 소스 디바이스로부터 타겟 디바이스 및/또는 크로스 디바이스 활동 모듈로의 작업 컨텍스트 데이터의 전송은 명시적일 수 있다.
블록(708)에서, 디스플레이 모듈은 타겟 디바이스 상의 상호 작용형 섬네일 디스플레이에 이전에 표현된 작업을 디스플레이하게 할 수 있다. 일부 예에서, 디스플레이 모듈은 이전에 표현된 및/또는 수정된 작업의 하나 이상의 관련 있는 작업 컨텍스트 데이터, 애플리케이션 및/또는 웹 사이트 특정 데이터, 애플리케이션 제안된 사용자 액션, 및 애플리케이션 프로모션을 디스플레이할 수 있다.
블록(710)에서, I/O 인터페이스 입력을 통한 그래픽 사용자 인터페이스는 이전에 표현된 작업의 선택을 수신할 수 있다. 일부 예에서, 선택은 애플리케이션 제안된 사용자 액션 또는 애플리케이션 프로모션 중 적어도 하나를 가질 수 있다.
블록(712)에서, 활동 피드 엔진은 블록(710)에서의 작업 선택에 응답하여, 타겟 디바이스 상의 애플리케이션을 시작한다. 일부 예에서, 활동 피드 엔진은 소스 디바이스 상에서 작업이 마지막으로 표현된 및/또는 수정된 동일한 애플리케이션을 시작할 수 있다. 일부 예에서, 활동 피드 엔진은 소스 디바이스 상에서 작업이 마지막으로 표현된 및/또는 수정된 애플리케이션과 호환 가능한 상이한 애플리케이션을 시작할 수 있다. 다양한 예에서, 활동 피드 엔진은 소스 디바이스 상에서 작업이 마지막으로 표현된 및/또는 수정된 애플리케이션과 호환 가능한 웹 사이트를 시작할 수 있다.
블록(714)에서, 애플리케이션 리포지토리 모듈은 데이터 저장 장치의 사용자 프로파일로부터 관련 있는 작업 컨텍스트 데이터를 검색하여, 블록(716)에서와 같이, 타겟 디바이스 상의 애플리케이션 및/또는 웹 사이트에서 작업의 매끄러운 재참여를 가능하게 한다.
도 8은 선행 도면과 일치하는 크로스 디바이스 및/또는 크로스 운영 체제 작업 연속성 시스템을 이용하는 크로스 애플리케이션 작업 수정을 위한 프로세스 흐름을 도시한다.
블록(802)에서, 그래픽 사용자 인터페이스와 연관된 I/O 인터페이스에 대한 입력을 통한 활동 피드 엔진은 애플리케이션 A와 같은 제 1 애플리케이션에서 문서 1을 참여시키고, 디스플레이 모듈이 디바이스(102(1), 200, 408, 506 및/또는 606)와 같은 소스 디바이스 상에서 열람 및/또는 수정을 위해 문서를 디스플레이할 수 있다. 일부 예에서, 활동 피드 엔진은 소스 디바이스 상의 웹 사이트에서 문서 1을 참여시킬 수 있다.
블록(804)에서, 다양한 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1이 디바이스(102(1)) 또는 이전에 설명된 디바이스들 중 임의의 디바이스와 같은 소스 디바이스의 사용자 프로파일에 저장되게 할 수 있다. 일부 예에서, 소스 디바이스의 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1이 근접 네트워크를 통해 디바이스(102(2)) 또는 이전에 설명된 디바이스 중 임의의 다른 디바이스와 같은 타겟 디바이스의 사용자 프로파일에 저장되게 할 수 있다. 일부 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1이 크로스 디바이스 활동 모듈을 통해 참조 사용자 프로파일에 저장되게 할 수 있다. 다양한 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1이 소스 디바이스의 사용자 프로파일에, 타겟 디바이스의 사용자 프로파일에, 및 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 저장되게 할 수 있습니다.
블록(806)에서, 그래픽 사용자 인터페이스를 통한 활동 피드 엔진은 애플리케이션 B와 같은 제 2 애플리케이션에서 문서 1를 재참여시키고, 디스플레이 모듈은 제 2 애플리케이션에서 열람 및/또는 수정을 위해 문서 1을 디스플레이할 수 있다. 재참여에 응답하여, 제 1 애플리케이션에서 추가된 작업 컨텍스트 데이터를 포함하여 문서 1 작업 컨텍스트 데이터가 표현될 있다. 일부 예에서, 활동 피드 엔진은 소스 디바이스 상의 제 2 애플리케이션에서 문서 1을 재참여시킬 수 있다. 다양한 예에서, 활동 피드 엔진은 타겟 디바이스 상의 제 2 애플리케이션에서 문서 1을 재참여시킬 수 있다.
블록(808)에서, 일부 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 디바이스(102(1)) 또는 이전에 설명된 디바이스 중 임의의 디바이스와 같은 소스 디바이스의 사용자 프로파일에 저장할 수 있다. 일부 예에서, 소스 디바이스의 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 근접 네트워크를 통해 디바이스(102(2)) 또는 이전에 설명된 디바이스 중 임의의 다른 디바이스와 같은 타겟 디바이스의 사용자 프로파일에 저장할 수 있다. 일부 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 크로스 디바이스 활동 모듈을 통해 참조 사용자 프로파일에 저장할 수 있다. 다양한 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 소스 디바이스의 사용자 프로파일에, 타겟 디바이스의 사용자 프로파일에, 및 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 저장할 수 있다.
블록(810)에서, 그래픽 사용자 인터페이스를 통한 활동 피드 엔진은 애플리케이션 C와 같은 제 3 애플리케이션에서 문서 1를 재참여시키고, 디스플레이 모듈은 제 3 애플리케이션에서 열람 및/또는 수정을 위해 문서 1을 디스플레이할 수 있다. 재참여에 응답하여, 제 1 및 제 2 애플리케이션에서 추가된 작업 컨텍스트 데이터를 포함하여 문서 1 작업 컨텍스트 데이터가 표현될 있다. 일부 예에서, 활동 피드 엔진은 소스 디바이스 상의 제 3 애플리케이션에서 문서 1을 재참여시킬 수 있다. 다양한 예에서, 활동 피드 엔진은 타겟 디바이스 상의 제 3 애플리케이션에서 문서 1을 재참여시킬 수 있다. 일부 예에서, 타겟 디바이스는 블록(806)에서 사용된 동일한 디바이스일 수 있거나, 또는 디바이스(102(N))와 같은 상이한 디바이스일 수 있다.
블록(812)에서, 일부 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 디바이스(102(1))와 같은 소스 디바이스의 사용자 프로파일에 저장할 수 있다. 일부 예에서, 소스 디바이스의 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 근접 네트워크를 통해 디바이스(102(2))와 같은 타겟 디바이스의 사용자 프로파일에 저장할 수 있다. 일부 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 크로스 디바이스 활동 모듈을 통해 참조 사용자 프로파일에 저장할 수 있다. 다양한 예에서, 활동 피드 엔진은 암시적으로 및/또는 명시적으로 문서 1을 소스 디바이스의 사용자 프로파일에, 타겟 디바이스의 사용자 프로파일에, 및 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 저장할 수 있다.
블록(814)에서, 그래픽 사용자 인터페이스를 통한 활동 피드 엔진은 제 1 애플리케이션에서 문서 1을 재참여시킨다. 재참여에 응답하여, 제 1, 제 2 및 제 3 애플리케이션에서 추가된 작업 컨텍스트 데이터를 포함하여 문서 1 작업 컨텍스트 데이터가 표현될 수 있다. 일부 예에서, 활동 피드 엔진은 문서 1을 디바이스(102(1)) 또는 이전에 설명된 디바이스 중 임의의 디바이스와 같은 소스 디바이스 상의 제 1 애플리케이션에서 재참여시킬 수 있다. 다양한 예에서, 활동 피드 엔진은 문서 1을 디바이스(102(2)-102(N)) 또는 이전에 설명된 디바이스 중 임의의 다른 디바이스와 같은 타겟 디바이스 상의 제 1 애플리케이션에서 재참여시킬 수 있다.
소프트웨어의 컨텍스트에서, 동작은 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서가 나열된 동작을 수행하게 할 수 있는 하나 이상의 컴퓨터 판독 가능 저장 매체 상에 저장된 컴퓨터 실행 가능 명령어를 나타낸다. 일반적으로, 컴퓨터 실행 가능 명령어는 특정 기능을 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 모듈, 컴포넌트, 데이터 구조 등을 포함한다. 이 프로세스는 또한 통신 네트워크를 통해 연결된 원격 프로세싱 디바이스에 의해 기능이 수행되는 분산 컴퓨팅 환경에서도 실행될 수 있다. 분산 컴퓨팅 환경에서, 컴퓨터 실행 가능 명령어는 메모리 저장 장치를 포함하는 로컬 및/또는 원격 컴퓨터 저장 매체에 위치할 수 있다.
하드웨어의 컨텍스트에서, 블록의 일부 또는 전체는 주문형 반도체(ASIC) 또는 나열된 동작을 수행하는 다른 물리적 컴포넌트를 나타낼 수 있다.
동작이 설명된 순서는 제한으로서 해석되는 것으로 의도되지 않으며, 임의의 수의 설명된 동작들은 임의의 순서로 실행되거나, 임의의 순서로 결합되거나, 다수의 부동작들로 세분되거나, 및/또는 설명된 프로세스를 구현하기 위해 병렬로 실행될 수 있다.
예시적인 조항
A: 방법에 있어서, 사용자 프로파일에 구성된 제 1 디바이스 및 사용자 프로파일에 구성된 제 2 디바이스를 하나 이상의 네트워크들에 연결하는 단계; 제 1 디바이스 상의 애플리케이션 - 애플리케이션은 적어도 부분적으로 가장 최근의 사용자 입력으로 구성된 제 1 작업 컨텍스트 데이터를 포함함 - 에서 제 1 작업을 작동시키는 단계; 제 1 디바이스 상의 데이터 저장 장치에 제 1 사용자 프로파일 업데이트로서 제 1 작업 컨텍스트 데이터를 저장하는 단계; 제 1 작업을 포함하는 복수의 최근에 열람된 작업들을 제 2 디바이스 상에 디스플레이하는 단계; 제 2 디바이스 상에서 제 1 작업을 선택하는 단계; 제 1 작업을 선택한 것에 적어도 부분적으로 기초하여, 제 2 디바이스 상의 애플리케이션을 시작하는 단계; 제 2 디바이스 상의 애플리케이션 - 제 2 디바이스 상의 애플리케이션은 제 1 컨텍스트 데이터를 포함함 - 에서 제 1 작업을 작동시키는 단계; 및 제 2 디바이스 상의 데이터 저장 장치에 제 2 사용자 프로파일 업데이트로서 제 2 컨텍스트 데이터를 저장하는 단계를 포함하는 방법.
B: 단락 A의 방법에 있어서, 제 1 디바이스 상의 애플리케이션 및 제 2 디바이스 상의 애플리케이션은 동일한 애플리케이션인 것인, 방법.
C: 단락 A의 방법에 있어서, 제 1 디바이스 상의 애플리케이션은 애플리케이션으로서 구성되고, 제 2 디바이스 상의 애플리케이션은 웹 브라우저로서 구성되는 것인, 방법.
D: 단락 A의 방법에 있어서, 제 1 디바이스는 운영 체제 상에 구성되고, 제 2 디바이스는 동일한 운영 체제 상에 구성되는 것인, 방법.
E: 단락 A의 방법에 있어서, 제 1 디바이스는 제 1 운영 체제 상에 구성되고, 제 2 디바이스는 제 2 운영 체제 상에 구성되며, 제 2 운영 체제는 제 1 운영 체제와는 상이한 것인, 방법.
F: 단락 A 내지 E 중 어느 하나의 방법에 있어서, 하나 이상의 네트워크들은 적어도 분산 서비스 플랫폼으로 구성되는 것인, 방법.
G: 단락 F의 방법에 있어서, 분산 서비스 플랫폼은 또한, 참조 사용자 프로파일 및 크로스 디바이스 활동 모듈로 구성되고, 상기 크로스 디바이스 활동 모듈은 사용자 프로파일에 구성된 복수의 디바이스들 중 적어도 하나의 디바이스로부터 사용자 프로파일 데이터를 송신 및 수신하도록 구성되는 것인, 방법.
H: 단락 A 내지 E 중 어느 하나의 방법에 있어서, 하나 이상의 네트워크들은 적어도 근접 네트워크 아키텍처로 구성되는 것인, 방법.
I: 단락 A 내지 H 중 어느 하나의 방법에 있어서, 복수의 최근에 열람된 작업들 중 적어도 하나의 작업의 디스플레이는 애플리케이션 특정 데이터를 더 포함하고, 애플리케이션 특정 데이터는 제 1 디바이스 상의 애플리케이션에서 제 1 작업을 작동시키는 것에 적어도 부분적으로 기초하고, 애플리케이션 특정 데이터는 애플리케이션 제안된 사용자 액션 및/또는 애플리케이션 프로모션 중 적어도 하나를 포함하는 것인, 방법.
J: 단락 A 내지 I 중 어느 하나의 방법에 있어서, 제 1 디바이스 상의 애플리케이션에서 제 1 작업을 작동시키는 것은, 제 2 디바이스 상의 애플리케이션에서 제 1 작업을 작동시키는 것과 연속하여 일어나는 것인, 방법.
K: 실행에 응답하여 단락 A 내지 J 중 어느 하나의 방법을 수행하도록 컴퓨터를 구성하는 컴퓨터 실행 가능 명령어를 갖는 컴퓨터 판독 가능 매체.
L: 디바이스 또는 시스템에 있어서, 프로세서; 및 프로세서에 결합된 컴퓨터 판독 가능 매체를 포함하고, 컴퓨터 판독 가능 매체는 단락 A 내지 J 중 어느 하나의 방법을 수행하도록 하나 이상의 디바이스들을 구성하는 명령어를 포함하는 것인, 디바이스 또는 시스템.
M: 디바이스 또는 시스템에 있어서, 프로세싱 수단; 및 프로세싱 수단에 결합된 저장 수단을 포함하고, 저장 수단은 단락 A 내지 J 중 어느 하나의 방법을 수행하도록 하나 이상의 디바이스들을 구성하는 명령어를 저장하는 것인, 디바이스 또는 시스템.
N: 방법에 있어서, 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 제 1 디바이스 및 제 2 디바이스를 구성하는 단계; 제 1 디바이스 상의 애플리케이션 - 애플리케이션은 적어도 가장 최근의 사용자 입력으로 구성된 제 1 작업 컨텍스트 데이터를 포함함 - 에서 제 1 작업을 작동시키는 단계; 제 1 디바이스 상의 데이터 저장 장치 내의 제 1 사용자 프로파일에 제 1 작업 컨텍스트 데이터를 저장하는 단계; 네트워크 연결을 통해, 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 제 1 디바이스를 연결하는 단계; 참조 사용자 프로파일에 제 1 사용자 프로파일 업데이트를 전송하는 단계; 제 1 사용자 프로파일 및 참조 사용자 프로파일이 동일한 데이터를 포함하도록 참조 사용자 프로파일을 업데이트하는 단계; 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 제 2 디바이스를 연결하는 단계; 제 2 디바이스 상의 데이터 저장 장치 내의 제 2 사용자 프로파일에 참조 사용자 프로파일을 전송하는 단계; 제 2 사용자 프로파일 및 참조 사용자 프로파일이 동일한 데이터를 포함하도록 제 2 사용자 프로파일을 업데이트하는 단계; 적어도 제 1 작업을 포함하는 복수의 최근에 열람된 작업들 중 적어도 하나의 작업을 제 2 디바이스 상에 디스플레이하는 단계; 제 2 디바이스 상에서 제 1 작업을 선택하는 단계; 제 1 작업을 선택한 것에 적어도 부분적으로 기초하여, 제 2 디바이스 상의 애플리케이션을 시작하는 단계; 제 2 디바이스 상의 애플리케이션 - 애플리케이션은 제 1 작업 컨텍스트 데이터를 포함함 - 에서 제 1 작업을 작동시키는 단계; 및 제 2 디바이스 상의 사용자 입력에 적어도 부분적으로 기초하여 제 2 사용자 프로파일을 업데이트하는 단계를 포함하는 방법.
O: 단락 N의 방법에 있어서, 복수의 최근에 열람된 작업들 중 적어도 하나의 작업을 제 2 디바이스 상에 디스플레이하는 단계는 순위 구조에 구성되고, 순위 구조는 적어도 복수의 최근에 열람된 작업들 각각이 사용자에 의해 마지막으로 열람된 시간에 기초하는 것인, 방법.
P: 단락 N 또는 O 중 어느 하나의 방법에 있어서, 순위 구조는 또한, 사용자 선호도; 애플리케이션 사용 빈도; 애플리케이션 열람 지속 기간; 웹 사이트 사용 빈도; 웹 사이트 열람 지속 기간; 애플리케이션 사용자 제안된 액션; 및/또는 애플리케이션 프로모션 중 적어도 하나에 기초하는 것인, 방법.
Q: 단락 N 내지 P 중 어느 하나의 방법에 있어서, 사용자 프로파일에 제 3 디바이스를 구성하는 단계; 근접 네트워크 연결을 통해 근접 네트워크에 제 2 디바이스 및 제 3 디바이스를 연결하는 단계; 근접 네트워크 연결을 통해 제 2 디바이스로부터 제 3 디바이스에 제 2 사용자 프로파일 업데이트를 전송하는 단계; 제 2 디바이스 상의 사용자 프로파일 및 제 3 디바이스 상의 사용자 프로파일이 동일한 데이터를 포함하도록 제 3 디바이스 상의 사용자 프로파일을 업데이트하는 단계; 적어도 제 1 작업을 포함하는 복수의 최근에 열람된 작업들 중 적어도 하나의 작업을 제 3 디바이스 상에 디스플레이하는 단계; 제 3 디바이스 상에서 제 1 작업을 선택하는 단계; 제 1 작업을 선택한 것에 적어도 부분적으로 기초하여 제 3 디바이스 상의 애플리케이션을 시작하는 단계; 제 3 디바이스 상의 애플리케이션에서 제 1 작업 컨텍스트 데이터를 작동시키는 단계; 및 제 3 디바이스 상의 사용자 프로파일을 업데이트하는 단계를 더 포함하는 방법.
R: 단락 N 내지 Q 중 어느 하나의 방법에 있어서, 제 2 디바이스 상에서 제 1 작업을 완료하는 단계; 참조 사용자 프로파일, 제 1 디바이스 상의 사용자 프로파일 및/또는 제 2 디바이스 상의 사용자 프로파일에 작업 완료 신호를 전송하는 단계; 및 작업 완료 신호의 수신에 응답하여, 참조 사용자 프로파일, 제 1 디바이스 상의 사용자 프로파일 및/또는 제 2 디바이스 상의 사용자 프로파일로부터 해당 작업을 삭제하는 단계를 더 포함하는 방법.
S: 실행에 응답하여 단락 N 내지 R 중 어느 하나의 방법을 수행하도록 컴퓨터를 구성하는 컴퓨터 실행 가능 명령어를 갖는 컴퓨터 판독 가능 매체.
T: 디바이스 또는 시스템에 있어서, 프로세서; 및 프로세서에 결합된 컴퓨터 판독 가능 매체를 포함하고, 컴퓨터 판독 가능 매체는 단락 N 내지 R 중 어느 하나의 방법을 수행하도록 하나 이상의 디바이스들을 구성하는 명령어를 포함하는 것인, 디바이스 또는 시스템.
U: 디바이스 또는 시스템에 있어서, 프로세싱 수단; 및 프로세싱 수단에 결합된 저장 수단을 포함하고, 저장 수단은 단락 N 내지 R 중 어느 하나의 방법을 수행하도록 하나 이상의 디바이스들을 구성하는 명령어를 저장하는 것인, 디바이스 또는 시스템.
V: 컴퓨터 실행 가능 명령어를 갖는 컴퓨터 판독 가능 매체에 있어서, 컴퓨터 판독 가능 명령어는 실행에 응답하여, 사용자 프로파일 데이터로 구성되는 사용자 프로파일에서 복수의 애플리케이션들 상의 복수의 작업들을 식별하는 동작; 복수의 작업들 각각이 디바이스 상의 사용자에 의해 마지막으로 열람된 시간을 식별하는 동작; 복수의 작업들 각각이 사용자에 의해 마지막으로 열람된 시간에 적어도 부분적으로 기초하여, 복수의 애플리케이션들 상의 복수의 작업들을 순위 매기는 동작; 순위에 적어도 부분적으로 기초하여 복수의 작업들 중 적어도 하나의 작업을 디스플레이를 위해 제공하는 동작; 디스플레이된 복수의 작업들에서 특정 작업의 선택을 수신하는 동작; 특정 작업을 수정하는 동작; 데이터 저장 장치에 특정 작업에 대한 작업 컨텍스트 데이터 - 작업 컨텍스트 데이터는 적어도 특정 작업의 수정을 포함함 - 를 저장하는 동작; 및 특정 작업의 작업 컨텍스트 데이터로 사용자 프로파일 데이터를 업데이트하는 동작을 포함하는 동작들을 수행하도록 디바이스를 구성하는 것인, 컴퓨터 판독 가능 매체.
W: 단락 V의 컴퓨터 판독 가능 매체에 있어서, 순위 매기는 동작은 또한, 사용자 선호도, 애플리케이션 사용 빈도, 애플리케이션 열람 지속 기간, 웹 사이트 사용 빈도, 웹 사이트 열람 지속 기간, 애플리케이션 사용자 제안된 액션, 및/또는 애플리케이션 프로모션 중 적어도 하나에 기초하는 것인, 컴퓨터 판독 가능 매체.
X: 단락 V 또는 W 중 어느 하나의 컴퓨터 판독 가능 매체에 있어서, 적어도 참조 사용자 프로파일 데이터를 저장하도록 구성된 참조 사용자 프로파일, 및 크로스 디바이스 활동 모듈을 포함하는 분산 서비스 플랫폼에 디바이스를 연결하는 동작; 참조 사용자 프로파일 및 사용자 프로파일이 동일한 데이터를 포함하도록 디바이스로부터 참조 사용자 프로파일에 사용자 프로파일 데이터를 전송하여 사용자 프로파일 데이터로 참조 사용자 프로파일 데이터를 업데이트하는 동작을 더 포함하는 것인, 컴퓨터 판독 가능 매체.
Y: 단락 V 내지 X 중 어느 하나의 컴퓨터 판독 가능 매체에 있어서, 분산 서비스 플랫폼에 제 2 디바이스 - 제 2 디바이스는 참조 사용자 프로파일에 구성되고, 사용자 프로파일 데이터를 저장하도록 구성된 제 2 데이터 저장 장치 내에 제 2 사용자 프로파일을 포함함 - 를 연결하는 동작; 제 2 사용자 프로파일에 참조 사용자 프로파일 데이터를 전송하는 동작; 및 제 2 사용자 프로파일 데이터가 적어도 특정 작업에 대한 작업 컨텍스트 데이터를 포함하도록 참조 사용자 프로파일 데이터로 제 2 사용자 프로파일 데이터를 업데이트하는 동작을 더 포함하는 것인, 컴퓨터 판독 가능 매체.
Z: 단락 V 내지 Y 중 어느 하나의 컴퓨터 판독 가능 매체에 있어서, 근접 네트워크에서 제 2 디바이스에 디바이스를 연결하는 동작; 디바이스로부터의 사용자 프로파일 데이터를 제 2 디바이스의 데이터 저장 장치에 전송하는 동작; 및 디바이스로부터의 사용자 프로파일 데이터로 제 2 디바이스 상의 제 2 사용자 프로파일 데이터를 업데이트하는 동작을 더 포함하는 것인, 컴퓨터 판독 가능 매체.
AA: 디바이스 또는 시스템에 있어서, 프로세서; 및 프로세서에 결합된 단락 V 내지 Z 중 어느 하나의 컴퓨터 판독 가능 매체를 포함하는 디바이스 또는 시스템.
AB: 디바이스에 있어서, 참조 사용자 프로파일; 및 크로스 디바이스 활동 모듈을 포함하고, 상기 참조 사용자 프로파일은 적어도 사용자 선호도 세트 및 작업 컨텍스트 데이터를 저장하도록 구성되고, 상기 크로스 디바이스 활동 모듈은 네트워크를 통해 하나 이상의 디바이스들에 연결하고, 복수의 디바이스들 중 적어도 하나의 디바이스로부터 작업 컨텍스트 데이터를 수신하고, 참조 사용자 프로파일에 작업 컨텍스트 데이터를 저장하며, 복수의 디바이스들 중 적어도 하나의 디바이스에 작업 컨텍스트 데이터를 전송하도록 구성되는 것인, 디바이스.
AC: 디바이스에 있어서, 사용자 프로파일; 복수의 애플리케이션들; 및 활동 피드 엔진을 포함하고, 상기 사용자 프로파일은 적어도 사용자 선호도 세트 및 작업 컨텍스트 데이터를 저장하도록 구성되고, 상기 애플리케이션들은 애플리케이션 특정 데이터를 저장하도록 구성되며, 상기 활동 피드 엔진은 네트워크를 통해 하나 이상의 디바이스들에 연결하고, 복수의 디바이스들 중 적어도 하나의 디바이스로부터 작업 컨텍스트 데이터를 수신하고, 데이터 저장 장치 내의 사용자 프로파일에 작업 컨텍스트 데이터를 저장하며, 제 2 디바이스에 작업 컨텍스트 데이터를 전송하도록 구성되는 것인, 디바이스.
AD: 단락 AC의 디바이스에 있어서, 작업 피드 엔진은 또한, 작업 완료 신호를 수신하고, 작업 완료 신호를 수신하는 것에 응답하여, 데이터 저장 장치 내의 사용자 프로파일로부터 작업 컨텍스트 데이터를 제거하도록 구성되는 것인, 디바이스.
AE: 단락 AC 또는 AD 중 어느 하나의 디바이스에 있어서, 활동 피드 엔진은 또한, 작업 완료 신호를 수신하고, 작업 완료 신호를 수신하는 것에 응답하여, 작업 완료 신호를 수신하는 것에 적어도 부분적으로 기초하여 애플리케이션에서 새로운 작업을 시작하며, 디바이스 상의 애플리케이션에서 새로운 작업을 작동시키도록 구성되는 것인, 디바이스.
결론
대상이 구조적 특징 및/또는 방법론적 행위에 특정한 언어로 설명되어 있지만, 첨부된 특허 청구 범위에 정의된 대상은 반드시 설명된 특정한 특징 또는 행위로 제한되는 것이 아님이 이해될 것이다. 오히려, 특정한 특징 및 행위는 특허 청구 범위를 구현하는 예시적인 형태로서 개시된다.
구체적으로 달리 명시하지 않는 한, 무엇보다도 "할 수 있다", "할 수 있었다", "할 수도 있었다" 또는 "할 수도 있다"와 같은 조건부 언어는, 특정 예는 포함하지만 다른 예는 포함하지 않는 특정 특징, 요소 및/또는 단계를 나타내기 위해 일반적으로 사용되는 되는 바와 같이 컨텍스트 내에서 다르게 이해된다. 따라서, 이러한 조건부 언어는 일반적으로 특징, 요소, 및/또는 단계가 하나 이상의 예를 위해 어떻게든 요구되거나, 하나 이상의 예가 사용자 입력 또는 프롬프트가 있든 없든, 이러한 특징, 요소 및/또는 단계가 어떤 특정 예에서 포함되거나 수행될 것을 결정하기 위한 로직을 반드시 포함해야 한다는 것을 의미하기 위한 것이 아니다.
"X, Y 또는 Z 중 적어도 하나"라는 문구와 같은 결합 언어는 구체적으로 달리 명시하지 않는 한, 항목, 용어 등이 X, Y 또는 Z 중 어느 하나, 또는 이들의 조합일 수 있음을 나타내도록 이해되어야 한다.
본 명세서에 기술되고 및/또는 첨부된 도면에 도시된 흐름도에서 임의의 루틴 설명, 요소 또는 블록은 루틴의 특정 논리 기능 또는 요소를 구현하기 위한 하나 이상의 실행 가능 명령어를 포함하는 모듈, 세그먼트 또는 코드 부분을 잠재적으로 나타내는 것으로 이해되어야 한다. 대체 예는 본 명세서에 기술된 예들의 범위 내에 포함되며, 요소 또는 기능은 당업자가 이해할 수 있는 관련 기능에 따라, 도시되거나 논의된 순서와는 다른 순서(실질적으로 동기적으로 또는 역순으로)로 실행되거나, 삭제될 수 있다.
전술한 예에 많은 변형 및 변경이 행해질 수 있으며, 그 요소들은 다른 허용 가능한 예로서 이해되어야 한다는 것을 강조해야 한다. 이러한 모든 변경 및 변형은 본 명세서의 범위 내에 포함되며 다음의 청구 범위에 의해 보호되도록 의도된다.

Claims (20)

  1. 컴퓨팅 디바이스에 의해 수행되는 방법에 있어서,
    하나 이상의 네트워크에 제1 디바이스를 연결하는 단계 - 상기 제1 디바이스는 사용자 프로파일에 구성됨 - ;
    상기 제1 디바이스 상의 애플리케이션 상에서 제1 작업을 작동(running)시키는 단계 - 상기 제1 디바이스 상의 애플리케이션은 제1 작업 컨텍스트 데이터를 포함하고, 상기 제1 작업 컨텍스트 데이터는 적어도 부분적으로 가장 최근의 사용자 입력을 포함함 - ;
    상기 제1 디바이스 상의 데이터 저장 장치 내에 상기 제1 작업 컨텍스트 데이터를 제1 사용자 프로파일 업데이트로서 저장하는 단계 - 상기 데이터 저장 장치는 사용자 프로파일 데이터를 저장하도록 구성됨 - ;
    상기 하나 이상의 네트워크에 제2 디바이스를 연결하는 단계 - 상기 제2 디바이스는 상기 사용자 프로파일에 구성됨 - ;
    상기 제2 디바이스 상에 복수의 최근에 열람된(viewed) 작업 중 적어도 하나의 작업을 디스플레이하는 단계 - 상기 복수의 최근에 열람된 작업 중 적어도 하나의 작업은 적어도 상기 제1 작업을 포함함 - ;
    상기 제2 디바이스 상에서 상기 제1 작업을 선택하는 단계;
    상기 제1 작업을 선택하는 단계에 적어도 부분적으로 기초하여, 상기 제2 디바이스 상의 애플리케이션을 시작하는(launching) 단계;
    상기 제2 디바이스 상의 애플리케이션 상에서 상기 제1 작업을 작동시키는 단계 - 상기 제2 디바이스 상의 애플리케이션은 상기 제1 작업 컨텍스트 데이터를 포함함 - ; 및
    상기 제2 디바이스 상의 데이터 저장 장치 내에 제2 작업 컨텍스트 데이터를 제2 사용자 프로파일 업데이트로서 저장하는 단계 - 상기 제2 디바이스 상의 데이터 저장 장치는 사용자 프로파일 데이터를 저장하도록 구성됨 -
    를 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  2. 제1항에 있어서, 상기 제1 디바이스 상의 애플리케이션과 상기 제2 디바이스 상의 애플리케이션은 동일한 애플리케이션인, 컴퓨팅 디바이스에 의해 수행되는 방법.
  3. 제1항에 있어서, 상기 제2 디바이스 상의 애플리케이션은 웹 브라우저로서 구성되는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  4. 제1항에 있어서, 상기 제1 디바이스는 운영 체제로 구성되고, 상기 제2 디바이스는 상기 운영 체제로 구성되는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  5. 제1항에 있어서, 상기 제1 디바이스는 제1 운영 체제 상에 구성되고, 상기 제2 디바이스는 제2 운영 체제 상에 구성되며, 상기 제2 운영 체제는 상기 제1 운영 체제와는 상이한, 컴퓨팅 디바이스에 의해 수행되는 방법.
  6. 제1항에 있어서, 상기 하나 이상의 네트워크는 적어도 분산 서비스 플랫폼을 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  7. 제6항에 있어서, 상기 분산 서비스 플랫폼은,
    참조 사용자 프로파일; 및
    크로스 디바이스 활동 모듈을 더 포함하고, 상기 크로스 디바이스 활동 모듈은, 상기 사용자 프로파일에 구성된 복수의 디바이스 중 적어도 하나의 디바이스로부터의 사용자 프로파일 데이터를 송신 및 수신하도록 구성되는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  8. 제1항에 있어서, 하나 이상의 네트워크는 적어도 근접 네트워크 아키텍처를 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  9. 제1항에 있어서, 상기 복수의 최근에 열람된 작업 중 적어도 하나의 작업을 디스플레이하는 단계는, 애플리케이션 특정 데이터를 디스플레이하는 단계를 더 포함하고, 상기 애플리케이션 특정 데이터는, 상기 제1 디바이스 상의 애플리케이션 상에서 제1 작업을 작동시키는 단계에 적어도 부분적으로 기초하고,
    애플리케이션에 의해 제안된 사용자 액션; 및
    애플리케이션 프로모션
    중 적어도 하나를 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  10. 제1항에 있어서, 상기 제1 디바이스 상의 애플리케이션 상에서 제1 작업을 작동시키는 단계는, 상기 제2 디바이스 상의 애플리케이션 상에서 상기 제1 작업을 작동시키는 단계와 동시에 일어나는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  11. 제1항에 있어서, 상기 제1 디바이스 상의 애플리케이션 상에서 제1 작업을 작동시키는 단계는, 상기 제2 디바이스 상의 애플리케이션 상에서 상기 제1 작업을 작동시키는 단계와 연속하여 일어나는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  12. 컴퓨팅 디바이스에 의해 수행되는 방법에 있어서,
    분산 서비스 플랫폼 내의 참조 사용자 프로파일에 제1 디바이스 및 제2 디바이스를 구성하는 단계;
    상기 제1 디바이스 상의 애플리케이션 상에서 제1 작업을 작동시키는 단계 - 상기 제1 디바이스 상의 애플리케이션은 제1 작업 컨텍스트 데이터를 포함하고, 상기 제1 작업 컨텍스트 데이터는 적어도 부분적으로 가장 최근의 사용자 입력을 포함함 - ;
    상기 제1 디바이스 상의 데이터 저장 장치 내의 제1 사용자 프로파일에 상기 제1 작업 컨텍스트 데이터를 저장하는 단계;
    네트워크 연결을 통해 상기 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 상기 제1 디바이스를 연결하는 단계;
    상기 참조 사용자 프로파일에 제1 사용자 프로파일 업데이트를 전송하는 단계;
    상기 제1 사용자 프로파일과 상기 참조 사용자 프로파일이 동일한 데이터를 포함하도록 상기 참조 사용자 프로파일을 업데이트하는 단계;
    상기 네트워크 연결을 통해 상기 분산 서비스 플랫폼 내의 참조 사용자 프로파일에 상기 제2 디바이스를 연결하는 단계;
    상기 제2 디바이스 상의 데이터 저장 장치 내의 제2 사용자 프로파일에 상기 참조 사용자 프로파일을 전송하는 단계;
    상기 제2 사용자 프로파일과 상기 참조 사용자 프로파일이 동일한 데이터를 포함하도록 상기 제2 사용자 프로파일을 업데이트하는 단계;
    상기 제2 디바이스 상에 복수의 최근에 열람된 작업 중 적어도 하나의 작업을 디스플레이하는 단계 - 상기 복수의 최근에 열람된 작업은 적어도 상기 제1 작업을 포함함 - ;
    상기 제2 디바이스 상에서 상기 제1 작업을 선택하는 단계;
    상기 제1 작업을 선택하는 단계에 적어도 부분적으로 기초하여 상기 제2 디바이스 상의 애플리케이션을 시작하는 단계;
    상기 제2 디바이스 상의 애플리케이션 상에서 상기 제1 작업 컨텍스트 데이터를 작동시키는 단계; 및
    상기 제2 디바이스 상의 사용자 입력에 적어도 부분적으로 기초하여 상기 제2 사용자 프로파일을 업데이트하는 단계
    를 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  13. 제12항에 있어서, 상기 제2 디바이스 상에 복수의 최근에 열람된 작업 중 적어도 하나의 작업을 디스플레이하는 단계는, 순위 구조로 구성되고, 상기 순위 구조는, 적어도, 상기 복수의 최근에 열람된 작업 각각이 사용자에 의해 마지막으로 열람된 시간에 기초하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  14. 제13항에 있어서, 상기 순위 구조는 또한,
    사용자 선호도;
    애플리케이션 사용 빈도;
    애플리케이션 열람 지속 기간;
    웹 사이트 사용 빈도;
    웹 사이트 열람 지속 기간;
    애플리케이션에 의해 제안된 사용자 액션; 및
    애플리케이션 프로모션
    중 적어도 하나에 기초하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  15. 제12항에 있어서,
    사용자 프로파일에 제3 디바이스를 구성하는 단계;
    근접 네트워크 연결을 통해 근접 네트워크에 상기 제2 디바이스 및 상기 제3 디바이스를 연결하는 단계;
    상기 근접 네트워크 연결을 통해 상기 제3 디바이스에 상기 제2 디바이스로부터의 제2 사용자 프로파일 업데이트를 전송하는 단계;
    상기 제2 디바이스 상의 사용자 프로파일과 상기 제3 디바이스 상의 사용자 프로파일이 동일한 데이터를 포함하도록 상기 제3 디바이스 상의 사용자 프로파일을 업데이트하는 단계;
    상기 제3 디바이스 상에 복수의 최근에 열람된 작업 중 적어도 하나의 작업을 디스플레이하는 단계 - 상기 복수의 최근에 열람된 작업 중 적어도 하나의 작업은 적어도 상기 제1 작업을 포함함 - ;
    상기 제3 디바이스 상에서 상기 제1 작업을 선택하는 단계;
    상기 제1 작업을 선택하는 단계에 적어도 부분적으로 기초하여 상기 제3 디바이스 상의 애플리케이션을 시작하는 단계;
    상기 제3 디바이스 상의 애플리케이션 상에서 상기 제1 작업 컨텍스트 데이터를 작동시키는 단계; 및
    상기 제3 디바이스 상의 사용자 프로파일을 업데이트하는 단계
    를 더 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  16. 제12항에 있어서,
    상기 제2 디바이스 상에서 상기 제1 작업을 완료하는 단계;
    상기 참조 사용자 프로파일 및 상기 제1 디바이스 상의 사용자 프로파일에 작업 완료 신호를 전송하는 단계;
    상기 작업 완료 신호의 수신에 응답하여, 상기 참조 사용자 프로파일, 상기 제1 디바이스 상의 사용자 프로파일, 및 상기 제2 디바이스 상의 사용자 프로파일로부터 상기 작업을 삭제하는 단계; 및
    상기 참조 사용자 프로파일, 상기 제1 디바이스 상의 사용자 프로파일, 및 상기 제2 디바이스 상의 사용자 프로파일을 업데이트하는 단계
    를 더 포함하는, 컴퓨팅 디바이스에 의해 수행되는 방법.
  17. 컴퓨터 실행 가능 명령어를 갖는 컴퓨터 판독 가능 메모리 저장 디바이스에 있어서, 상기 컴퓨터 실행 가능 명령어는, 실행에 응답하여, 동작들을 수행하도록 디바이스를 구성하며, 상기 동작들은,
    사용자 프로파일과 연관된 복수의 애플리케이션 상의 복수의 작업을 식별하는 동작 - 상기 사용자 프로파일은 사용자 프로파일 데이터를 포함함 - ;
    상기 복수의 작업 각각이 상기 디바이스 상에서 사용자에 의해 마지막으로 열람된 시간을 식별하는 동작;
    상기 복수의 작업 각각이 상기 사용자에 의해 마지막으로 열람된 시간에 적어도 부분적으로 기초하여, 상기 복수의 애플리케이션 상의 복수의 작업을 순위 매기는 동작;
    상기 순위 매기는 동작에 적어도 부분적으로 기초하여, 상기 복수의 작업 중 적어도 하나의 작업을 디스플레이를 위해 제공하는 동작;
    디스플레이된 상기 복수의 작업으로부터의 특정 작업의 선택을 수신하는 동작;
    상기 특정 작업을 수정하는 동작;
    상기 특정 작업에 대한 작업 컨텍스트 데이터를 데이터 저장 장치에 저장하는 동작 - 상기 작업 컨텍스트 데이터는 적어도 상기 특정 작업의 수정을 포함함 - ; 및
    상기 특정 작업의 작업 컨텍스트 데이터로 상기 사용자 프로파일 데이터를 업데이트하는 동작
    을 포함하는, 컴퓨터 판독 가능 메모리 저장 디바이스.
  18. 제17항에 있어서, 상기 동작들은,
    분산 서비스 플랫폼에 상기 디바이스를 연결하는 동작 - 상기 분산 서비스 플랫폼은 적어도,
    참조 사용자 프로파일 데이터를 저장하도록 구성된 참조 사용자 프로파일; 및
    크로스 디바이스 활동 모듈
    을 포함함 - ; 및
    상기 참조 사용자 프로파일과 상기 사용자 프로파일이 동일한 데이터를 포함하도록 상기 디바이스로부터의 사용자 프로파일 데이터로 상기 참조 사용자 프로파일 데이터를 업데이트하기 위해 상기 참조 사용자 프로파일에 상기 사용자 프로파일 데이터를 전송하는 동작
    을 더 포함하는, 컴퓨터 판독 가능 메모리 저장 디바이스.
  19. 제17항에 있어서, 상기 동작들은,
    분산 서비스 플랫폼에 제2 디바이스를 연결하는 동작 - 상기 제2 디바이스는 참조 사용자 프로파일에 구성되고, 제2 데이터 저장 장치 내에 제2 사용자 프로파일을 포함하며, 상기 제2 사용자 프로파일은 제2 사용자 프로파일 데이터를 저장하도록 구성됨 - ;
    상기 제2 사용자 프로파일에 참조 사용자 프로파일 데이터를 전송하는 동작; 및
    상기 제2 사용자 프로파일 데이터가 적어도 상기 특정 작업에 대한 작업 컨텍스트 데이터를 포함하도록 상기 참조 사용자 프로파일 데이터로 상기 제2 사용자 프로파일 데이터를 업데이트하는 동작
    을 더 포함하는, 컴퓨터 판독 가능 메모리 저장 디바이스.
  20. 제17항에 있어서, 상기 동작들은,
    근접 네트워크 내에서 제2 디바이스에 상기 디바이스를 연결하는 동작;
    상기 제2 디바이스 내의 데이터 저장 장치에 상기 디바이스로부터의 사용자 프로파일 데이터를 전송하는 동작; 및
    상기 디바이스로부터의 사용자 프로파일 데이터로 상기 제2 디바이스 상의 제2 사용자 프로파일 데이터를 업데이트하는 동작
    을 더 포함하는, 컴퓨터 판독 가능 메모리 저장 디바이스.
KR1020177008143A 2014-08-29 2015-08-25 크로스 디바이스 작업 연속성 KR102452780B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/472,914 2014-08-29
US14/472,914 US9571536B2 (en) 2014-08-29 2014-08-29 Cross device task continuity
PCT/US2015/046623 WO2016032987A1 (en) 2014-08-29 2015-08-25 Cross device task continuity

Publications (2)

Publication Number Publication Date
KR20170046734A KR20170046734A (ko) 2017-05-02
KR102452780B1 true KR102452780B1 (ko) 2022-10-07

Family

ID=54072991

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177008143A KR102452780B1 (ko) 2014-08-29 2015-08-25 크로스 디바이스 작업 연속성

Country Status (11)

Country Link
US (2) US9571536B2 (ko)
EP (1) EP3186759A1 (ko)
JP (1) JP6654620B2 (ko)
KR (1) KR102452780B1 (ko)
CN (1) CN106663032B (ko)
AU (1) AU2015306853B2 (ko)
BR (1) BR112017002079B1 (ko)
CA (1) CA2955974C (ko)
MX (1) MX2017002681A (ko)
RU (1) RU2703955C2 (ko)
WO (1) WO2016032987A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US11531672B1 (en) * 2015-02-05 2022-12-20 Bat City Labs, LLC Computerized system and method for electronically synchronizing work station sessions over a network
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10091317B2 (en) * 2015-03-13 2018-10-02 Aircam Inc. Proximity-based content sharing scheme
US10154374B2 (en) * 2015-03-13 2018-12-11 Aircam Inc. Proximity-based geofenced universal URL
US9961493B1 (en) 2017-09-08 2018-05-01 Aircam Inc. Geofenced universal URL
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
WO2017158675A1 (ja) * 2016-03-14 2017-09-21 富士通株式会社 情報処理装置、情報処理方法、および情報処理プログラム
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10255371B2 (en) 2016-09-19 2019-04-09 Adobe Systems Incorporated Methods and systems for identifying multiple devices belonging to a single user by merging deterministic and probabilistic data to generate a cross device data structure
US10834231B2 (en) * 2016-10-11 2020-11-10 Synergex Group Methods, systems, and media for pairing devices to complete a task using an application request
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10338908B2 (en) * 2017-01-11 2019-07-02 Sap Se Modularized application framework
US10789575B2 (en) * 2017-05-05 2020-09-29 Servicenow, Inc. User interface for timesheet reporting
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10637942B1 (en) * 2018-12-05 2020-04-28 Citrix Systems, Inc. Providing most recent application views from user devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DE112020002276T5 (de) * 2019-05-06 2022-01-27 Xperiel, Inc. Geräteunabhängige, kontextgesteuerte Anwendungscomputerumgebung
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN110347494B (zh) * 2019-07-17 2023-11-17 深圳前海微众银行股份有限公司 上下文信息管理方法、装置、系统及计算机可读存储介质
US10673958B1 (en) 2019-08-23 2020-06-02 Capital One Services, Llc System and method for maintaining user session continuity across multiple devices and/or multiple platforms
US12013835B2 (en) * 2020-03-24 2024-06-18 Mckesson Corporation Methods, systems, and apparatuses for improved quality assurance
CN118228219A (zh) * 2020-03-31 2024-06-21 华为技术有限公司 一种跨设备交互的方法和终端设备
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN112258086A (zh) * 2020-11-13 2021-01-22 Oppo广东移动通信有限公司 跨设备任务接力方法、装置、云平台及存储介质
CN113704517A (zh) * 2021-08-31 2021-11-26 维沃移动通信有限公司 多媒体文件的播放方法和装置
US12021806B1 (en) 2021-09-21 2024-06-25 Apple Inc. Intelligent message delivery
CN117597888A (zh) * 2022-06-16 2024-02-23 北京小米移动软件有限公司 一种跨设备的网络管理方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110065384A1 (en) 2009-09-14 2011-03-17 Nokia Corporation Method and apparatus for switching devices using near field communication
US20140032706A1 (en) 2012-07-30 2014-01-30 Google Inc. Transferring a state of an application from a first computing device to a second computing device

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100774475B1 (ko) * 2001-04-21 2007-11-08 엘지전자 주식회사 이동 단말기의 소프트웨어를 다운로드하는 방법
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
US20070021216A1 (en) 2005-07-19 2007-01-25 Sony Ericsson Mobile Communications Ab Seamless gaming method and apparatus
US9864628B2 (en) * 2005-08-23 2018-01-09 Blackberry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
US7664786B2 (en) 2005-12-12 2010-02-16 Electronics And Telecommunications Research Institute Apparatus and method for managing application context
US8185422B2 (en) * 2006-07-31 2012-05-22 Accenture Global Services Limited Work allocation model
KR100961624B1 (ko) * 2006-11-08 2010-06-09 오종택 이동통신 네트워크와 서버, 근거리 무선통신의 연동을 통한개인 환경 서비스 장치 및 시스템
KR101405945B1 (ko) * 2007-10-15 2014-06-12 엘지전자 주식회사 통신 기기 및 통신 기기의 이동 히스토리 생성 방법
US8566431B2 (en) * 2008-01-16 2013-10-22 Razer (Asia-Pacific) Pte. Ltd. Identification device and method for device identification
US9288245B2 (en) * 2008-02-07 2016-03-15 Qualcomm Incorporated Apparatus and methods of accessing content
US20090204966A1 (en) 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US20110219105A1 (en) * 2010-03-04 2011-09-08 Panasonic Corporation System and method for application session continuity
CN103119621B (zh) * 2010-04-30 2016-12-07 当今技术(Ip)有限公司 内容管理装置
US8473577B2 (en) * 2010-10-13 2013-06-25 Google Inc. Continuous application execution between multiple devices
CN102025736A (zh) * 2010-12-08 2011-04-20 四川长虹电器股份有限公司 跨平台节目续播方法及其系统
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US20130041790A1 (en) * 2011-08-12 2013-02-14 Sivakumar Murugesan Method and system for transferring an application state
US9659437B2 (en) 2012-09-28 2017-05-23 Bally Gaming, Inc. System and method for cross platform persistent gaming sessions using a mobile device
US9253282B2 (en) * 2011-10-18 2016-02-02 Qualcomm Incorporated Method and apparatus for generating, using, or updating an enriched user profile
CN103295609B (zh) * 2012-02-22 2018-01-12 腾讯科技(深圳)有限公司 视频播放方法、设备及系统
US9119156B2 (en) * 2012-07-13 2015-08-25 Microsoft Technology Licensing, Llc Energy-efficient transmission of content over a wireless connection
US20140115032A1 (en) 2012-10-23 2014-04-24 General Instrument Corporation Preserving a consumption context for a user session
CN102984226A (zh) * 2012-11-15 2013-03-20 北京奇虎科技有限公司 终端设备和终端设备间应用程序切换方法
US9378456B2 (en) 2012-11-19 2016-06-28 Microsoft Technology Licensing, Llc Task completion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110065384A1 (en) 2009-09-14 2011-03-17 Nokia Corporation Method and apparatus for switching devices using near field communication
US20140032706A1 (en) 2012-07-30 2014-01-30 Google Inc. Transferring a state of an application from a first computing device to a second computing device

Also Published As

Publication number Publication date
RU2017106220A3 (ko) 2019-03-28
KR20170046734A (ko) 2017-05-02
RU2017106220A (ru) 2018-08-27
JP2017534936A (ja) 2017-11-24
AU2015306853A1 (en) 2017-02-16
BR112017002079B1 (pt) 2023-10-10
MX2017002681A (es) 2017-06-19
BR112017002079A2 (pt) 2017-12-19
US20160065626A1 (en) 2016-03-03
CN106663032B (zh) 2021-01-01
AU2015306853B2 (en) 2020-08-13
CA2955974A1 (en) 2016-03-03
JP6654620B2 (ja) 2020-02-26
US20170093938A1 (en) 2017-03-30
CN106663032A (zh) 2017-05-10
CA2955974C (en) 2022-10-04
US9571536B2 (en) 2017-02-14
EP3186759A1 (en) 2017-07-05
RU2703955C2 (ru) 2019-10-22
WO2016032987A1 (en) 2016-03-03

Similar Documents

Publication Publication Date Title
KR102452780B1 (ko) 크로스 디바이스 작업 연속성
US11818199B2 (en) Cross device application discovery and control
US10725765B2 (en) Enhancing a multitasking user interface of an operating system
US20140306863A1 (en) Transferring state information between electronic devices
US9112885B2 (en) Interactive multi-tasker
US20150032889A1 (en) Multi-tasker
CN111935236B (zh) 促进屏幕设备与客户端设备间互操作性的方法、设备和介质
AU2017414413B2 (en) Search method and apparatus
US20140148157A1 (en) Nomination of a primary cell phone from a pool of cell phones
KR101824647B1 (ko) 디바이스간 동기화 방법, 유저 디바이스, 및 컴퓨터로 읽을 수 있는 저장 매체
KR101327287B1 (ko) 주제어 기반 버디구성용 이동통신 단말기 제어방법

Legal Events

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