KR101575709B1 - 플랫폼들에 걸친 애플리케이션 사용 연속체 - Google Patents

플랫폼들에 걸친 애플리케이션 사용 연속체 Download PDF

Info

Publication number
KR101575709B1
KR101575709B1 KR1020137029002A KR20137029002A KR101575709B1 KR 101575709 B1 KR101575709 B1 KR 101575709B1 KR 1020137029002 A KR1020137029002 A KR 1020137029002A KR 20137029002 A KR20137029002 A KR 20137029002A KR 101575709 B1 KR101575709 B1 KR 101575709B1
Authority
KR
South Korea
Prior art keywords
application
client device
instance
state
continuum
Prior art date
Application number
KR1020137029002A
Other languages
English (en)
Other versions
KR20130141688A (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 KR20130141688A publication Critical patent/KR20130141688A/ko
Application granted granted Critical
Publication of KR101575709B1 publication Critical patent/KR101575709B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

클라이언트 디바이스 및 플랫폼에 걸친 애플리케이션 사용 연속체를 위한 시스템은, 애플리케이션의 제 1 인스턴스를 실행하도록 구성된 제 1 클라이언트 디바이스 및 애플리케이션의 제 2 인스턴스를 실행하도록 구성된 제 2 클라이언트 디바이스를 포함한다. 제 1 클라이언트 디바이스는, 제 1 클라이언트 디바이스에서 작동 중인 애플리케이션의 제 1 인스턴스의 동작을 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 전송하라는 표시를 수신하도록 구성된다. 제 1 클라이언트 디바이스는 또한 제 1 클라이언트 디바이스 상의 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성하고 상태 정보가 제 2 클라이언트 디바이스로 송신되도록 하여 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 하여금 제 1 클라이언트 디바이스로부터의 상태 정보를 사용하여 제 2 클라이언트 디바이스에서 애플리케이션의 동작을 계속할 수 있도록 하도록 구성된다.

Description

플랫폼들에 걸친 애플리케이션 사용 연속체{APPLICATION USAGE CONTINUUM ACROSS PLATFORMS}
본 발명은 애플리케이션 사용 연속체에 관한 것이며, 특히, 플랫폼들에 걸친 애플리케이션 사용 연속체에 관한 것이다.
퍼스널 컴퓨팅은 데스크톱, 노트북, 넷북, 태블릿, 및/또는 스마트 디바이스를 포함한다. 하나 이상의 디바이스 사이에서 문서 및/또는 미디어 콘텐츠와 같은 정보를 공유하는 현재 방법은, 일시적인 전송 수단(예를 들어, 플래시 스토리지, 이메일 전송, 및/또는 IM 파일 전송)에 제 1 디바이스로부터의 원하는 파일을 저장하고 수신 디바이스에 전체 파일을 전송하도록 사용자에게 요구할 수 있다. 수신 디바이스에서 전송된 파일에 액세스하기 위해, 수신 디바이스에 존재하는 적합한 애플리케이션으로 파일을 오픈하는 것이 사용자에게 요구될 수 있고, 파일의 콘텐츠에 대한 맥락 관련 정보(contextual information) 또는 북마크를 사용하여 저장된 데이터로부터 수동으로 전송된 정보의 상태를 복원(restore)하는 것이 사용자에게 요구될 수 있다.
특허청구된 청구 대상의 피쳐 및 이점은 이에 부합하는 실시예들에 관한 다음의 상세한 설명으로부터 자명해질 것이며, 이 설명은 첨부된 도면을 참조하여 고려되어야 한다.
도 1은 본 개시물에 부합하는 예시적인 시스템 실시예를 도시한다.
도 2는 본 개시물의 일 실시예에 따른 개인 도메인을 수립하기 위한 동작에 관한 흐름도를 도시한다.
도 3은 본 개시물의 일 실시예에 따라 플랫폼들에 걸친 애플리케이션 사용 연속체의 동작에 관한 흐름도를 도시한다.
도 4는 본 개시물에 부합하는 다른 예시적인 시스템 실시예를 도시한다.
도 5는 본 개시물에 부합하는 또 다른 예시적인 시스템 실시예를 도시한다.
도 6은 본 개시물의 일 실시예에 따른 동작에 관한 흐름도를 도시한다.
다음의 상세한 설명은 예시적인 실시예들을 참조하여 진행될 것이나, 이들의 많은 대안, 수정 및 변형이 본 기술 분야의 당업자들에게 자명할 것이다.
전반적으로, 본 개시물은 클라이언트 플랫폼들에 걸친 애플리케이션 사용 연속체(application usage continuum)를 위한 시스템(및 방법)을 제공한다. 하나의 예시적인 시스템은 애플리케이션의 제 1 인스턴스를 구동하는 제 1 클라이언트 디바이스, 및 상기 애플리케이션의 제 2 인스턴스를 가진 제 2 클라이언트 디바이스를 포함한다. (제 1 디바이스의) 사용자는 제 1 클라이언트 디바이스의 동작(operation)을 제 2 클라이언트 디바이스로 전송(transfer)할 것인지 결정한다. 애플리케이션의 동작을 전송하라는 사용자에 의한 표시(an indication)에 응답하여, 제 1 클라이언트 디바이스는 작동 중인 애플리케이션의 동작 파라미터에 관한 상태 정보를 생성하고 이 상태 정보를 제 2 클라이언트 디바이스에 전송한다. 제 2 클라이언트 디바이스는 차례로 애플리케이션의 제 2 인스턴스를 시작하고 사용자가 제 1 디바이스 상에서 중단한 시점에 애플리케이션을 진행한다. 이롭게도, 이는 사용자로 하여금 세션 데이터를 잃어버리지 않고 실시간으로(또는 거의 실시간), 두 개의 상이한 디바이스 사이에서 "라이브" 애플리케이션(예를 들어, 비디오 스트림, 오디오 스트림 등)을 전송하는 것을 가능하게 한다.
일부 실시예들에서, 사용자는 하나 이상의 개인 도메인을 생성할 수 있고 각 도메인 내에 애플리케이션 및 디바이스를 등록할 수 있다. 도메인 내 신뢰성 있는 디바이스만이 애플리케이션 상태 정보의 "라이브" 전송에 참여할 수 있도록 암호화 메커니즘이 사용될 수 있다. 다른 실시예들에서, 서버는, 개인 도메인 내 보안 방법을 제공하기 위해 그리고 콘텐츠가 도메인 밖에서 공유되는 것을 방지하기 위해 서버가 암호화 키를 제공하고 개인 도메인을 유지하는 "클라우드" 환경에서 사용될 수 있다. 서버 및 클라이언트 디바이스는, 다양한 통신 프로토콜을 사용하여 클라이언트 디바이스들 사이에서 통신이 가능하도록 조정될 수 있다.
도 1은 본 개시물의 다양한 실시예들에 부합하는 시스템(100)을 도시한다. 시스템(100)은 사용 연속체 서버(102)(이제부터 "서버(102)"로 지칭됨), 및 복수의 클라이언트 디바이스(120A, 120B)를 포함할 수 있다. 시스템(100)에 관한 개관으로서, 각 클라이언트 디바이스(120A 및 120B)는, 하나의 디바이스로부터 다른 하나로 작동 중인 애플리케이션의 동작을 전송하는 것이 가능하도록 서로 통신하도록 구성된다. 서버(102)는, 도메인(114A) 내 클라이언트 디바이스(120A, 120B) 상에서 작동하도록 동작가능한 적어도 하나의 애플리케이션(118) 및 클라이언트 디바이스(120A 및 120B)에 대응하는 식별자를 포함하는 개인 도메인(a private domain)(114A)을 수립하는데 사용될 수 있다. 서버(102)는 또한 클라이언트 디바이스(120A 및 120B) 사이에서 상태 정보의 안전한 전송이 가능하도록 각 애플리케이션당 및/또는 각 도메인당의 단위로 암호화 키(예를 들어, Ka(107) 및/또는 P(113))를 제공할 수 있다. 도 1의 각 컴포넌트는 이하에서 더 상세히 설명된다.
서버(102)는 애플리케이션 등록 엔진(104) 및 개인 도메인 엔진(108)을 포함할 수 있다. 애플리케이션 등록 엔진(104)은 서버(102)에 적어도 하나의 애플리케이션(118)을 등록하고, 애플리케이션(118)이 제 1 및 제 2 클라이언트 디바이스(120A, 120B) 상에서 작동하도록 동작가능한지를 판단하도록 구성될 수 있다. 클라이언트 디바이스(120A-120B) 각각은 휴대 전화, 스마트폰, 퍼스널 미디어 플레이어(PMP), PDA, 넷북, 노트북, 데스크톱, 및/또는 핸드헬드 전자 디바이스를 포함할 수 있으나 이로 한정되지는 않는다. 게다가, 애플리케이션 등록 엔진(104)은 애플리케이션 키 생성기(106)를 또한 포함할 수 있다. 키 생성기(106)는 서버(102)에 등록되는 각 애플리케이션(118)에 대하여, 암호화 키(이후로는 Ka(107)로 지칭됨)를 생성하도록 구성된다. Ka(107)는, 예를 들어, 공개 키(a public key), 개인 키(a private key), 또는 다른 알려진 암호화 키를 포함할 수 있다.
개인 도메인 엔진(108)은 서버(102) 상에 적어도 하나의 개인 도메인(114A)을 생성하도록 구성될 수 있다. 예시적인 실시예에서, 개인 도메인 엔진(108)은 서버에 복수의 개인 도메인(114A, 114B,..., 114N)을 생성하도록 구성될 수 있다. 쉬운 설명을 위해, 복수의 개인 도메인 중 어떤 것일 수 있는 각 개인 도메인은 본원에서 "개인 도메인(114)"으로 지칭될 것이다. 개인 도메인 엔진(108)은, 서버(102), 특히 특정 개인 도메인(114)에, 제 1 및 제 2 클라이언트 디바이스(120A, 120B) 중 적어도 하나를 등록하도록 구성된 디바이스 등록 엔진(110)을 포함할 수 있다. 게다가, 디바이스 등록 엔진(110)은 도메인 키 생성기(112)도 포함할 수 있다. 도메인 키 생성기(112)는 서버(102) 내에 생성된 각 개인 도메인(114)에 대하여, 도메인 키 P(113)를 생성하도록 구성된다. 도메인 키 P(113)는, 예를 들어, 공개 키, 개인 키, 또는 다른 알려진 암호화 키를 포함할 수 있다.
예시적인 실시예에서, 각 개인 도메인(114)은 등록 애플리케이션 테이블(117), 등록 사용자 테이블(119), 및 등록 디바이스 테이블(121)을 포함할 수 있다. 등록 애플리케이션 테이블(117)은 서버(102) 상의 개인 도메인(114)에 등록된 각 애플리케이션의 아이덴티티를 포함할 수 있다. 등록 사용자 테이블(119)은 서버(102) 상의 개인 도메인(114)에 등록된 각 사용자의 아이덴티티를 포함할 수 있다. 등록 디바이스 테이블(121)은 서버(102)에 등록되고 그 특정 도메인(114)에 포함된 각 클라이언트 디바이스(120A, 120B)의 아이덴티티를 포함할 수 있다.
각 개인 도메인(114)에 대한 도메인 키 P(113)가 생성되면, 서버(102)는 통신 링크(132)를 통해 서버(102)에 등록되고 등록 디바이스 테이블(121)에서 식별된 각 클라이언트 디바이스(120A, 120B)와 통신하도록 구성된다. 추가적으로, 각 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120A))는 통신 링크(132)를 통해 다른 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120B))와 통신할 수 있다. 통신 링크(132)는, WiFi, WiMax, 802.1x 표준 중 임의의 하나, 및/또는 블루투스 통신을 포함하나 이에 한정되지는 않는 임의의 유선 및/또는 무선 통신 수단을 포함할 수 있다. 서버(102)는 또한 각 등륵된 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120A, 120B))에 도메인 키 P(113)를 안전하게 전송하고 각 클라이언트 디바이스(120A, 120B) 내 보안 프로세서(124)에 도메인 키 P(113)를 제공하도록 구성된다. 보안 프로세서(124)는 범용 기능 및/또는 보안 기능(즉, 키 데이터의 안전한 보관 및 고속 디지털 서명 연산)을 가지는 프로세서를 포함할 수 있다.
일 실시예에서, 서버(102)는 클라이언트 디바이스(120A, 120B)가 특정 도메인(114)에 일시적으로 등록되도록 허용하도록 구성될 수 있다. 개인 도메인(114)으로의 클라이언트 디바이스(120A, 120B)의 일시적 등록은 게스트 액세스 모드를 가능하게 할 수 있다. 클라이언트 디바이스(120A, 120B)의 일시적 등록은 또한 초기에 분리된 도메인(예를 들어, 114A 및 114N)에 등록된 디바이스(120A, 120B) 사이에서 시간 제한된 일시적 공유를 허용할 수 있고, 이로써 사용자들 사이의 즉각적인 협력 네트워크(an instantaneous collaborative network)를 허용한다.
서버(102)는 클라이언트 디바이스(120A, 120B) 및/또는 애플리케이션(118)의 각각과 커맨드 및 데이터를 교환하도록 구성된 임의 타입의 회로를 포함할 수 있다. 예를 들어, 서버(102)는, 범용 컴퓨팅 시스템(예를 들어, 데스크톱 PC, 랩톱, 모바일 PC, 핸드헬드 모바일 디바이스, 스마트 폰 등)에서 발견되는 상용 회로(commodity circuitry)(예를 들어, (복수의 프로세싱 코어 및 ALU(arithmetic logic units)을 포함할 수 있는) 멀티 코어 CPU, 메모리, 메모리 컨트롤러 유닛, 비디오 프로세서, 네트워크 프로세서, 네트워크 프로세서, 버스 컨트롤러 등), 및/또는 범용 컴퓨팅 시스템 및/또는 특수 목적용 컴퓨팅 시스템(예를 들어, 매우 신뢰성 있는 시스템, 슈퍼컴퓨팅 시스템 등)에서 발견될 수 있는 것과 같은 주문형 회로를 포함할 수 있다.
본원의 임의의 실시예에서 사용되는 바와 같은 "회로(circuitry)"는, 예를 들어, 하드와이어드 회로(hard wired circuitry), 프로그램가능 회로, 상태 머신 회로(state machine circuitry), 및/또는 프로그램가능 회로에 의해 실행되는 명령어를 저장하는 펌웨어를 단일로 또는 임의의 조합으로 포함할 수 있다.
애플리케이션(118)은 임의 타입의 소프트웨어 패키지, 코드 모듈, 펌웨어 및/또는 서버(102)와 각 클라이언트 디바이스(120A, 120B)와 데이터 및 커맨드를 교환하도록 구성되는 명령어 세트를 포함할 수 있다. 예를 들어, 애플리케이션(118)은 범용 컴퓨팅 시스템(예를 들어, 최종 사용자 범용 애플리케이션(예를 들어, 마이크로소프트 워드, 엑셀 등), 네트워크 애플리케이션(예를 들어, 웹 브라우저 애플리케이션, 이메일 애플리케이션 등)) 및/또는 주문형 소프트웨어 패키지, 주문형 코드 모듈, 주문형 펌웨어, 및/또는 범용 컴퓨팅 시스템 및/또는 특수 목적용 컴퓨팅 디바이스를 위해 작성된 주문형 명령어 세트(예를 들어, 과학용 계산 패키지, 데이터베이스 패키지 등)와 연관된 소프트웨어 패키지를 포함할 수 있다.
본 개시물의 목적을 위해, 용어 "소스 디바이스"는 사용자가 작동 중인 애플리케이션(118)을 전송하고자 하는 제 1 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120A))를 지칭하고 용어 "타겟 디바이스"는 사용자가 작동 중인 애플리케이션(118)을 수신하고자 하는 제 2 클라이언트 디바이스(예를 들어, 클라이언트 디바이스(120B))를 지칭한다. 따라서, 다음의 논의에서, 소스 디바이스는 제 1 클라이언트 디바이스(120A)와 상호교환적으로 사용될 수 있고 타겟 디바이스는 제 2 클라이언트 디바이스(120B)와 상호교환적으로 사용될 수 있다. 각 클라이언트 디바이스(120A, 120B)는 호스트 및/또는 오픈 부분(128) 및 보안 부분(130)을 포함할 수 있다. 유념해야 하는 바와 같이, 호스트 부분(128)은 보안 부분(130)에 대한 제한된 액세스를 가질 수 있다.
일 실시예에서, 적어도 하나의 애플리케이션의 제 1 인스턴스(118(1))는 제 1 클라이언트 디바이스(120A) 상에서 작동하고 있을 수 있다. 추가적으로, 애플리케이션의 제 2 인스턴스(118(2))는 제 2 클라이언트 디바이스(120B) 상에 포함될 수 있다. 제 1 클라이언트 디바이스(120A)(소스 디바이스)의 사용자는, 제 1 클라이언트 디바이스(120A) 상에서 작동 중인 애플리케이션(118(1))으로부터의 상태 정보 및 데이터를 개인 도메인(114) 내 제 2 클라이언트 디바이스(120B)(타겟 디바이스)로 전송하기 원할 수 있다. 본원에서 사용되는 바와 같이, 상태 정보는, 작동 중인 애플리케이션을 다른 디바이스로 전송하는 시점에 제 1 클라이언트 디바이스(120A)에서 작동 중인 애플리케이션의 순서 데이터(ordered data)의 시퀀스 내 상대적 위치를 표시하는 정보를 의미한다. 예를 들어, 상태 정보는, 사용자가 전송 기능을 표시할 때 애플리케이션(118) 내 시점(a time point)을 나타내는 애플리케이션(118)의 동작 파라미터(들)를 포함할 수 있고, 이는 애플리케이션(118)으로 하여금 애플리케이션(118) 내 상대적 위치에서 동시에 또는 거의 동시에 타겟 디바이스(120B)에서 작동을 시작할 수 있도록 한다.
예시로써, 사용자는 제 1 클라이언트 디바이스(120A) 상에서 오디오 애플리케이션을 청취하고 있을 수 있다. 오디오 애플리케이션이 작동하고 있는 임의의 순간에, 사용자는 다른 클라이언트 디바이스(예를 들어, 제 2 클라이언트 디바이스(120B))로의 실행 중인 애플리케이션의 전송을 선택적으로 나타낼 수 있다. 이 전송 표시 순간에, 오디오 애플리케이션에 관한 상태 정보는, 전송 표시가 발생하는, 오디오 파일 내 상대적 위치(예를 들어, 타이밍 카운터에 대응하는 데이터 등)를 포함할 수 있다.
다른 예시로써, 사용자는 제 1 클라이언트 디바이스(120A) 상에서 비디오 애플리케이션을 시청하고 있을 수 있다. 비디오 파일이 작동하고 있는 동안, 사용자는 다른 클라이언트 디바이스(예를 들어, 제 2 클라이언트 디바이스(120B))로의 작동 중 비디오 파일의 전송을 선택적으로 나타낼 수 있다. 비디오 파일의 상태 정보는 전송 표시가 발생한 상대적 위치(예를 들어, 비디오 프레임에 대응하는 데이터 등)를 포함할 수 있다. 선택적으로, 만약 있다면, 상태 정보는 비디오 프레임에 대한 대응하는 오디오의 상대적 위치를 포함할 수 있다.
또 다른 예시로서, 사용자는 다른 클라이언트 디바이스(예를 들어, 제 2 클라이언트 디바이스(120B))로의 제 1 클라이언트 디바이스(120A) 상에서 작동 중인 오피스 세트 애플리케이션(an office suite application)의 전송을 개시할 수 있다. 오피스 세트 애플리케이션은, 워드 프로세싱 애플리케이션, 스프레드 시트 애플리케이션, 프레젠테이션 애플리케이션, 및/또는 드로잉 애플리케이션을 포함할 수 있으나 이로 한정되지는 않는다. 전송 표시 순간에, 오피스 세트 애플리케이션에 관한 상태 정보는 전송 표시가 발생한 상대적 위치에 대응하는 데이터(예를 들어, 사용자가 보고 있는 시트 또는 페이지에 대응하는 데이터)를 포함할 수 있다.
애플리케이션의 제 1 및 제 2 인스턴스(118(1), 118(2))는 본원에서 설명된 방법에 따라 서버(102)에 등록된다. 애플리케이션의 제 1 및 제 2 인스턴스(118(1), 118(2))가 등록되면, (등록 애플리케이션(118(1)-118(2))에 특정된) 애플리케이션 특정 키 Ka(107)가 생성된다. 사용자는 또한 본원에서 설명된 바와 같이 서버(102)에 제 1 및 제 2 클라이언트 디바이스(120A, 120B)를 등록함으로써 개인 도메인(114A)을 생성할 수 있다. 개인 도메인(114A)의 등록 애플리케이션 테이블(117) 및 등록 디바이스 테이블(121)은, 등록 애플리케이션(118(1), 118(2)) 및 등록된 클라이언트 디바이스(120A, 120B) 각각에 대응하는 식별자를 포함하도록 구성될 수 있다. 각 디바이스(120A, 120B)를 등록하고 나면, 서버(102)는 등록된 각 클라이언트 디바이스(120A, 120B) 내 보안 프로세서(124)에 (개인 도메인(114A)에 특정된) 도메인 키 P(113)를 안전하게 제공하도록 구성된다.
선택적으로, 클라이언트 디바이스(120A, 120B)는 등록 애플리케이션 테이블(117), 등록 사용자 테이블(119), 및/또는 등록 디바이스 테이블(121)의 복사본(명확성을 위해 미도시)을 포함할 수 있다. 예를 들어, 클라이언트 디바이스(120A, 120B)는, 클라이언트 디바이스 상에서 작동 중인 특정 애플리케이션이 본 개시물의 전송 동작과 호환가능한지를 판단하도록 등록 애플리케이션 테이블(117)을 사용할 수 있다. 클라이언트 디바이스(120A, 120B)는, 클라이언트 디바이스(120A, 120B)의 특정 사용자가 특정 애플리케이션을 전송할 권한이 있는지 그리고 어느 클라이언트 디바이스에 사용자가 애플리케이션을 전송할 수 있는지를 판단하기 위해 등록 사용자 테이블(119)을 사용할 수 있다. 클라이언트 디바이스(120A, 120B)는 또한 작동 중인 특정 애플리케이션이 전송될 수 있는 다른 클라이언트 디바이스를 식별하고 및/또는 판단하도록 등록 디바이스 테이블(121)을 사용할 수 있다. 예를 들어, 제 1 클라이언트 디바이스(120A)는 등록 디바이스 테이블(121)을 사용하여 제 1 클라이언트 디바이스(120A)의 통신 범위 내 가능성 있는 클라이언트 디바이스(potential client devices)의 목록을 결정할 수 있고, 선택을 위해 이 목록을 사용자에게 제시할 수 있다.
애플리케이션(118(1)-118(2)) 및 클라이언트 디바이스(120A-120B)를 등록하고 나면, 사용자는 사용자 입력(125)을 통해 소스 디바이스(120A)에서 작동 중인 애플리케이션의 제 1 인스턴스(118(1))의 동작을 타겟 디바이스(120B)로 전송하고자 하는 자신의 바램을 선택적으로 표시할 수 있다. 사용자 입력(125)은 사용자에 의한 선택적 입력의 임의의 수단을 포함할 수 있으며, 이는 제스처 인식, 모션 인식, 및/또는 근접성 인식 기술뿐만 아니라 다른 입력 수단을 포함하나 이로 한정되지는 않는다. 완전한 목록은 아니지만, 사용자 입력(125)은 (터치 스크린 등과 같은) 디스플레이 디바이스의 일부에 걸친 스위핑 모션(a swiping motion), 쉐이킹 모션(a shaking motion), 패스워드 및/또는 핀 번호 입력, 아이콘 및/또는 메뉴 활성화 등을 포함할 수 있다. 각 클라이언트 디바이스(120A-120B)는 사용자 입력(125)을 수신하도록 구성된 전송 모듈(134)을 포함할 수 있고 애플리케이션의 제 1 및 제 2 인스턴스(118(1), 118(2))와 표시를 통신할 수 있다.
전송 모듈(134)은 사용자 입력(125)으로서 사용자 입력(125)을 식별 및/또는 검증하고 전송을 위해 가능성 있는 타겟 디바이스의 목록을 제시하도록 구성될 수 있다. 예를 들어, 전송 모듈(134)은, 등록 사용자 테이블(119), 등록 디바이스 테이블(121), 및/또는 소스 디바이스(120A)의 통신 범위 내 임의의 디바이스의 아이덴티티에 적어도 부분적으로 기초하여 전송을 위해 가능성 있는 타겟 디바이스의 목록을 제시할 수 있다. 일 실시예에 따라, 전송 모듈(134)은 하나 이상의 타입의 아이콘 및 이외 유사한 것을 사용하여 등록 디바이스 테이블(121)에 기초하여 가능성 있는 타겟 디바이스의 목록을 도표로(graphically) 제시할 수 있다. 이러한 아이콘은 상이한 타입의 디바이스(가령 휴대 전화, 스마트폰, PMP, PDA, 넷북, 노트북, 데스크톱, 및/또는 핸드헬드 전자 디바이스이지만 이로 한정되지는 않음)를 나타낼 수 있다. 유념해야 하는 바와 같이, 등록 디바이스 테이블(121)과 연관된 일부 가능성 있는 타겟 디바이스는 디바이스들 사이의 통신에 사용된 통신 링크(132(2))의 제한(예를 들어, 통신 링크(132(2))가 근거리 통신, 무선 애드-혹 네트워크 등인 경우)으로 인해 범위 밖에 있을 수 있다. 이와 같이, 전송 모듈(134)은 통신 범위 내에 있는 등록 클라이언트 디바이스만을 제시하도록(예를 들어, 디스플레이하도록) 구성될 수 있다. 전송 모듈(134)은 소스 디바이스(120A)에 상대적인 물리적 위치에 기초하여 디스플레이 상에 아이콘을 선택적으로 배치할 수 있다. 사용자는 그 이후, 예를 들어, 제스처 모션 등을 사용하여 원하는 타겟 디바이스(120B)를 선택할 수 있다. 그 이후, 전송 모듈(134)은, 동작을 전송하라는 표시뿐만 아니라 타겟 디바이스(120B)의 아이덴티티를 나타내는 데이터를 등록 애플리케이션의 제 1 인스턴스(118(1))로 전송할 수 있다.
등록 애플리케이션의 제 1 인스턴스(118(1))는, 동작을 전송하라는 표시를 수신하고 나면 상태 블롭(a state blob) (State)를 생성하도록 구성된 상태 정보 생성기(122)를 포함할 수 있다. 용어 "블롭(blob)"은 단일 엔티티로서 저장된 데이터의 집합을 지칭할 수 있으며, 이는 이미지, 오디오, 및/또는 다른 멀티미디어 객체를 포함할 수 있다. 애플리케이션의 제 1 인스턴스(118(1))는, 애플리케이션 특정 키 Ka(107)를 사용하여 상태 블롭 (State)을 서명 및/또는 암호화하여 애플리케이션 암호화(application-encrypted) 상태 블롭 (State)Ka를 형성하도록 구성된다. 서명을 위한 키는 도메인 키 P(113)로부터 도출될 수 있다. 애플리케이션-암호화 상태 블롭 (State)Ka은 상태 정보를 포함하고, 소스 디바이스(120A)에서 현재 작동 중인 등록 애플리케이션의 제 1 인스턴스(118(1))에 관한 데이터를 선택적으로 포함할 수 있다.
예를 들어, 일 실시예에서, 등록 애플리케이션의 제 1 인스턴스(118(1))는 소스 디바이스(120A) 상에서 작동 중인 비디오 파일을 포함할 수 있다. 동작을 전송하라는 표시가 수신될 때, 사용자는 "프레임 F"와 같은 비디오 파일의 특정 마크 또는 프레임에서 비디오를 시청하고 있을 수 있다. (State)Ka에 포함된 상태 정보는 프레임 F(즉, 동작을 전송하라는 표시가 수신된 프레임)를 나타내는 데이터를 포함할 수 있다. (State)Ka에 포함된 상태 정보는, 나머지 프레임(예를 들어, 프레임 F에서 비디오 파일의 마지막 프레임까지 범위인 프레임)을 나타내는 데이터를 포함할 수도 있다. 대안적으로, 상태 정보는 프레임 F를 표시하는 데이터뿐만 아니라 전체 비디오 파일(비디오 파일의 모든 프레임)을 포함할 수 있으며, 이로써 사용자로 하여금 타겟 디바이스(120B)에서 전체 비디오 파일을 시청할 수 있도록 하거나, 파일이 전송되었던 프레임(프레임 F)에서부터만 계속되도록 한다. 예를 들어, 사용자 및/또는 애플리케이션(118(1))은, 소스 디바이스(120A)에서 비디오 파일(프레임 F)을 정지하여, 타겟 디바이스(120B)로 비디오 파일을 전송하고, 타겟 디바이스(120B)에서 프레임 F부터 비디오 시청을 다시 시작할 수 있다.
등록 애플리케이션의 제 1 인스턴스(118(1))는 또한 보안 통신 링크(126)를 통해 제 1 클라이언트 디바이스(120A)의 보안 프로세서(124)와 통신하도록 구성된다. 등록 애플리케이션의 제 1 인스턴스(118(1))는 통신 링크(126)를 통해 소스 디바이스(120A)의 보안 프로세서(124)로 (State)Ka를 전송하도록 구성된다. 등록 애플리케이션의 제 1 인스턴스(118(1))는 또한 도메인 키 P(113)로 (State)Ka를 서명 및/또는 암호화하도록 보안 프로세서(124)에 요청하도록 구성된다. 등록 애플리케이션의 제 1 인스턴스(118(1))로부터 암호화 요청 및 (State)Ka를 수신하면, 보안 프로세서(124)는 도메인 키 P(113)로 (State)Ka를 서명 및/또는 암호화하여 (도메인 키 P(113)로 보호되는) 도메인 암호화 상태 블롭((State)Ka)P을 형성하도록 구성된다.
개인 도메인(114A)에 클라이언트 디바이스(120A-120B)를 등록하고 나면, 제 1 및 제 2 클라이언트 디바이스(120A, 120B)는, 통신 링크(132(2))를 통해, 특히 디바이스들 중 하나에서 작동하고 있는 등록 애플리케이션의 상태 정보인 정보를 서로 전송하고 통신하도록 구성될 수 있다. 본원에서 설명되는 예시의 통신 링크(132)에 더하여, 통신 링크(132(2))는 또한 근거리 통신, 무선 애드-혹 통신 등을 포함할 수 있다. 클라이언트 디바이스(120A-120B)는 또한, 예컨대 협력 사용 시나리오(collaborative use scenario)에서, 각 등록 클라이언트 디바이스의 IP 어드레스와 같은 아이덴티티를 발견하기 위해 서버(102)와 통신하도록 구성될 수 있다.
클라이언트 디바이스를 발견하고 나면, 소스 디바이스(120A)는 개인 도메인(114A)에서 통신 링크(132(2))를 통해 타겟 디바이스(120B)와의 보안 접속을 수립하도록 구성된다. 소스 디바이스(120A)는 또한 통신 링크(132)를 통해 타겟 디바이스(120B)로 ((State)Ka)P를 전송하도록 구성된다. ((State)Ka)P를 수신하고 나면, 타겟 디바이스(120B)(예를 들어, 전송 모듈(123(B))는 등록 애플리케이션의 제 2 인스턴스(118(2))의 시작을 개시하도록 구성된다. 사용자 및/또는 등록 애플리케이션의 제 2 인스턴스(118(2))는 보안 통신 링크(126(B))를 통해 타겟 디바이스(120B)의 보안 프로세서(124B)와 통신하고 ((State)Ka)P를 전송하도록 구성된다. 등록 애플리케이션의 제 2 인스턴스(118(2))는 또한 보안 프로세서(124B)가 ((State)Ka)P를 복호화 및/또는 검증하도록 요청하도록 구성된다.
등록 애플리케이션의 제 2 인스턴스(118(2))로부터 복호화 요청 및 ((State)Ka)P를 수신하면, 보안 프로세서(124B)는 도메인 키 P(113)를 사용하여 ((State)Ka)P를 검증 및/또는 복호화하고 (State)Ka를 생성하도록 구성된다. 보안 프로세서(124B)는 또한 보안 통신 링크(126B)를 통해 등록 애플리케이션의 제 2 인스턴스(118(2))로 (State)Ka를 전송하도록 구성된다. (State)Ka를 수신하고 나면, 등록 애플리케이션의 제 2 인스턴스(118(2))는 애플리케이션 특정 키 Ka(107)를 사용하여 (State)Ka를 검증 및/또는 복호화하고 ((State)Ka)P 내 전송된 등록 애플리케이션의 제 1 인스턴스(118(1))에 관한 정보를 생성하고 복원(restore)하도록 구성된다. 등록 애플리케이션의 제 2 인스턴스(118(2))는 생성되고 복원된 상태 정보로 타겟 디바이스(120B) 상에서 애플리케이션(118)의 실행을 재개(resume)하도록 구성된다. 앞으로의 논의는, 예를 들어, 제 2 클라이언트 디바이스(120B)가 소스 디바이스이고 제 1 클라이언트 디바이스(120A)가 타겟 디바이스일 수 있는 다른 실시예들에 대안적으로 적용할 수 있다는 것을 주목해야 한다.
도 2는 본 개시물의 일 실시예에 따라 개인 도메인을 수립하는 동작에 관한 흐름도(200)를 도시한다. 예를 들어, 방법(200)은 새로운 개인 도메인 D를 생성하는 것(동작 202); 개인 도메인 D와 연관된 하나 이상의 디바이스에 대응하는 식별자를 포함하는 등록 디바이스 테이블을 생성하는 것(동작 204); 개인 도메인 D와 연관된 한명 이상의 사용자에 대응하는 식별자를 포함하는 등록 사용자 테이블을 생성하는 것(동작 206); 개인 도메인 D와 연관된 하나 이상의 애플리케이션에 대응하는 식별자를 포함하는 등록 애플리케이션 테이블을 생성하는 것(동작 208)을 포함할 수 있다.
일 실시예에 따라, 개인 도메인 D는, 사용자가 개시하면, 서버에 의해, 예를 들어, 서버의 개인 도메인 엔진에 의해, 생성될 수 있다(동작 202). 개인 도메인 D를 생성하고 나면, 도메인 키 P가 생성될 수 있다(동작 210). 도메인 키 P는 서버에 의해, 예를 들어, 서버의 도메인 키 생성기에 의해 생성될 수 있고, 공개 키(a public key), 개인 키(a private key), 또는 다른 알려진 암호화 키를 포함할 수 있다. 도메인 키 생성기는, 이에 제한되는 것은 아니지만 Intel® Advanced Encryption Standard(AES), 본 개시물의 출원인으로부터 사용가능한 것과 같은 임의의 암호화 방식을 사용하여 도메인 키 P를 생성할 수 있다. 도메인 키 P는 개인 도메인 D와 연관된 각 디바이스에 저장될 수 있다(동작 212). 예를 들어, 도메인 키 P는 개인 도메인 D와 연관된 각 디바이스의 보안 프로세서 내에 저장될 수 있다.
등록 디바이스 테이블은 서버를 통해 사용자에 의해 생성될 수 있다(동작 204). 예를 들어, 한 명 이상의 사용자는 등록 디바이스 테이블을 생성하기 위해 서버의 디바이스 등록 엔진을 사용하여 개인 도메인 D에 디바이스(들)를 등록할 수 있다. 등록 디바이스 테이블은 각각이 개인 도메인 D와 연관된 디바이스 중 하나에 대응하는 복수의 식별자를 포함할 수 있다.
마찬가지로, 한 명 이상의 사용자는 등록 디바이스 테이블을 생성하기 위해 개인 도메인 D에 등록할 수 있다(동작 206). 등록 사용자 테이블은 각각이 개인 도메인 D와 연관된 사용자 중 하나에 대응하는 복수의 식별자를 포함할 수 있다. 등록 사용자 테이블은 사용자가 연관되어 있는 특정 디바이스(들)에 대응하는 식별자를 선택적으로 포함할 수 있다.
하나 이상의 애플리케이션은 등록 애플리케이션 테이블을 생성하도록 서버에 등록될 수 있다(동작 208). 애플리케이션(들)은 사용자, 제조업자, 및/또는 제 3 자에 의해 등록될 수 있다. 예를 들어, 애플리케이션은 애플리케이션 등록 엔진을 사용하여 서버에 등록될 수 있다. 애플리케이션이 등록되고 나면, 서버는 예컨대 애플리케이션 키 생성기를 사용하여, 애플리케이션-특정 키 Ka를 생성한다(동작 214). 애플리케이션-특정 키 Ka는, 예를 들어, 공개 키, 개인 키 또는 다른 알려진 암호화 키를 포함할 수 있고, 이에 제한되지는 않지만 Intel® Advanced Encryption Standard(AES), 본 개시물의 출원인으로부터 사용가능한 것과 같은 임의의 암호화 방식을 사용하여 생성될 수 있다. 애플리케이션-특정 키 Ka는 그 이후 개인 도메인 D와 연관된 각 디바이스에 저장될 수 있다(동작 216). 예를 들어, 애플리케이션-특정 키 Ka는 각 클라이언트 디바이스 상의 등록 애플리케이션(118)에 저장될 수 있다.
다른 실시예에 따라, 본 개시물의 방법(200)은 서버를 제거할 수 있다. 특히, 하나 이상의 클라이언트 디바이스는, 본원에서 설명된 바와 같이, 개인 도메인 엔진, 디바이스 등록 엔진, 및/또는 애플리케이션 등록 엔진을 포함할 수 있다. 사용자는 개인 도메인 D를 생성하고(동작 202), 제 1 클라이언트 디바이스의 개인 도메인 엔진을 사용하여 도메인 키 P를 생성할 수 있고 이는 이후에 개인 도메인 D와 연관된 다른 디바이스에 전송될 수 있다(동작 212).
마찬가지로, 하나 이상의 클라이언트 디바이스는 등록 디바이스 테이블(204)을 생성하도록 구성될 수 있다(동작 204). 예를 들어, 제 1 클라이언트 디바이스는 디바이스를 등록하고 등록 디바이스 테이블을 생성하기 위한 허브로서의 역할을 할 수 있고, 이는 그 이후에 개인 도메인 D와 연관된 다른 디바이스로 전송될 수 있다. 대안적으로, 각 클라이언트 디바이스는 개별적으로 (예를 들어, 라운드-로빈(round-robin)의 방식으로, 등록 디바이스 테이블 상의 다른 디바이스와 통신될 수 있는) 등록 디바이스 테이블을 등록 및/또는 생성하도록 구성될 수 있다.
등록 애플리케이션 테이블은, 개인 도메인 D와 연관된 하나 이상의 클라이언트 디바이스의 애플리케이션 등록 엔진을 사용하여 생성될 수 있고(동작 208), 애플리케이션-특정 키 Ka는 개인 도메인 D와 연관된 하나 이상의 클라이언트 디바이스의 애플리케이션 키 생성기를 사용하여 생성될 수 있다(동작 214). 예를 들어, 제 1 클라이언트 디바이스는 등록 애플리케이션 테이블을 생성하고 애플리케이션을 등록하기 위한 허브로서 역할을 할 수 있고, 이는 그 이후에 등록 디바이스 테이블 상의 다른 디바이스에 전송될 수 있다(동작 216). 등록 사용자 테이블은 다른 테이블과 같은 비슷한 방식으로 생성될 수 있다(동작 206).
도 3은 본 개시물의 일 실시예에 따라 제 1 디바이스에서 작동 중인 애플리케이션을 제 2 디바이스에 전송하기 위한 플랫폼들에 걸친 애플리케이션 사용 연속체의 동작에 관한 흐름도(300)를 도시한다. 제 1 디바이스에서 작동 중인 애플리케이션에 관한 상태 정보를 제 2 디바이스로 전송하라는 표시가 제 1 디바이스에 수신될 수 있다(동작 302). 애플리케이션 키-암호화 상태 블롭 (State)Ka는 제 1 디바이스에 의해 생성될 수 있다(동작 304). (State)Ka는 제 1 애플리케이션으로부터 제 1 디바이스의 보안 프로세서로 전송될 수 있고(동작 306), 보안 프로세서는 도메인 키 암호화 상태 블롭 ((State)Ka)P을 생성할 수 있다(동작 308). ((State)Ka)P는 제 2 디바이스로 전송될 수 있고(동작 310), 애플리케이션의 제 2 인스턴스는 제 2 디바이스에서 개시될 수 있다(동작 312). ((State)Ka)P는 제 2 디바이스의 보안 프로세서로 전송될 수 있고(동작 314), 이는 ((State)Ka)P를 복호화 및/또는 검증하여 (State)Ka를 생성할 수 있다(동작 316). (State)Ka는 그 이후 제 2 디바이스 상의 애플리케이션의 제 2 인스턴스로 전송될 수 있고(동작 318), 이는 (State)Ka를 복호화 및/또는 검증하여 애플리케이션의 제 2 인스턴스에 대한 상태 정보를 생성할 수 있다(동작 320). 애플리케이션의 제 2 인스턴스는 그 이후 상태 정보를 이용하여 제 2 디바이스 상에서 전송 기능이 제 1 디바이스에서 개시되었던 시점에 재개할 수 있다(동작 322).
이제 도 4를 살펴보면, 본 개시물의 다양한 실시예들에 부합하는 시스템(400)에 관한 다른 실시예가 전반적으로 도시된다. 시스템(400)은, 클라이언트 디바이스(420A, 420B)가 하이퍼바이저(a hypervisor) 및/또는 슈퍼바이저(410)를 포함하고 애플리케이션(118)이 전송 동작에 독립적이라는 점을 제외하고는, 도 1의 시스템(100)과 유사하다. 특히, 슈퍼바이저(410)는, 사용자가 애플리케이션(118)을 다른 디바이스로 전송하기 원한다는 표시를 전송 모듈(134)로부터 수신하면 애플리케이션의 제 1 인스턴스(118(1))와 관련된 상태 정보를 생성하도록 구성된 상태 정보 생성기를 포함한다. 슈퍼바이저(410)는 또한, 동작을 전송하라는 표시를 수신하면 상태 블롭 (State)를 생성하고 애플리케이션 특정 키 Ka(107)를 사용하여 상태 블롭 (State)를 암호화 및/또는 서명하여 애플리케이션-암호화 상태 블롭 (State)Ka를 형성하도록 구성된다. 애플리케이션-암호화 상태 블롭 (State)Ka는 상태 정보를 포함하며, 소스 디바이스(420A)에서 현재 작동 중인 등록 애플리케이션의 제 1 인스턴스(118(1))에 관한 데이터를 선택적으로 포함한다.
슈퍼바이저(410)는 또한 통신 링크(126)를 통해 소스 디바이스(120A)의 보안 프로세서(124)에 (State)Ka를 전송하고 보안 프로세서(124)가 도메인 키 P(113)로 (State)Ka를 암호화 및/또는 서명하도록 요청하도록 구성된다. 슈퍼바이저(410)로부터 암호화 요청 및 (State)Ka를 수신하면, 보안 프로세서(124)는 도메인 키 P(113)로 (State)Ka를 암호화 및/또는 서명하여 (도메인 키 P(113)로 보호되는) 도메인 암호화 상태 블롭 ((State)Ka)P를 형성하도록 구성된다.
도메인 암호화 상태 블롭 ((State)Ka)P은 (예를 들어, 통신 링크(132(2))를 통해) 제 2 클라이언트 디바이스(420B)에 의해 수신될 수 있고 등록 애플리케이션의 제 2 인스턴스(118(2))가 시작된다. 슈퍼바이저(410(B))는 보안 통신 링크(126(B))를 통해 타겟 디바이스(420B)의 보안 프로세서(124B)와 통신하고 ((State)Ka)P를 전송하며 ((State)Ka)P를 복호화 및/또는 검증하도록 보안 프로세서(124B)에 요청하도록 구성된다.
등록 애플리케이션의 제 2 인스턴스(118(2))로부터 ((State)Ka)P 및 복호화 요청을 수신하고 나면, 보안 프로세서(124B)는 도메인 키 P(113)를 사용하여, ((State)Ka)P를 암호화 및/또는 검증하고, (State)Ka를 생성하도록 구성된다. 보안 프로세서(124B)는 또한 보안 통신 링크(126(B))를 통해 슈퍼바이저(410(B))로 (State)Ka를 전송하도록 구성된다. (State)Ka를 수신하고나면, 슈퍼바이저(410(B))는 애플리케이션 특정 키 Ka(107)를 사용하여, (State)Ka를 복호화 및/또는 검증하고, ((State)Ka)P에 전송된 등록 애플리케이션의 제 1 인스턴스(118(1))에 관한 상태 정보를 생성 및 복원하도록 구성된다. 등록 애플리케이션의 제 2 인스턴스(118(2))는 생성된 그리고 복원된 상태 정보를 이용하여 타겟 디바이스(420B)에서 애플리케이션의 실행을 재개하도록 구성된다.
이제 도 5를 살펴보면, 본 개시물의 다양한 실시예들에 부합하는 시스템(500)에 관한 또 다른 실시예가 일반적으로 도시된다. 시스템(500)은 하나 이상의 디바이스(520A, 520B)를 포함하여 개인 도메인을 생성하고 및/또는 제 1 클라이언트 디바이스(520A)(이제부터 "소스 디바이스(520A)"로 지칭됨)에서 작동 중인 애플리케이션(118)을 제 2 클라이언트 디바이스(520B)(이제부터 "타겟 디바이스(520B)"로 지칭됨)로 전송한다. 따라서 시스템(500)은 시스템(100)(도 1)의 사용 연속체 서버(102)를 제거할 수 있다. 시스템(500)에 관한 개관과 같이, 각 클라이언트 디바이스(520A 및 520B)는 작동 중인 애플리케이션을 하나의 디바이스에서 다른 디바이스로 전송할 수 있도록 서로 통신하도록 구성된다. 시스템(100)(도 1)과 동일한 시스템(500)의 양태들은 간결성을 위해 반복되지 않는다.
시스템(500)의 하나 이상의 디바이스(520A, 520B)는 시스템(100)의 디바이스(120A, 120B)와 유사할 수 있으나, 디바이스(520A, 520B) 중 적어도 하나는, 본원에서 설명된 바와 같이, 새로운 개인 도메인 D를 생성하고, 개인 도메인 D와 연관된 하나 이상의 디바이스에 대응하는 식별자를 포함하는 등록 디바이스 테이블을 생성하고, 개인 도메인 D와 연관된 하나 이상의 사용자에 대응하는 식별자를 포함하는 등록 사용자 테이블을 생성하고, 개인 도메인 D와 연관된 하나 이상의 애플리케이션에 대응하는 식별자를 포함하는 등록 애플리케이션 테이블을 생성하도록 구성된다. 명료성을 위해, 제 1 디바이스(520A)가 설명될 것이지만, 시스템(500) 내 임의의 클라이언트 디바이스는 다음의 동작들을 수행하도록 구성될 수 있다는 것을 유념해야 할 것이다.
제 1 클라이언트 디바이스(520A)는 또한, 하나 이상의 개인 도메인(예를 들어, 개인 도메인 D)을 생성하도록 구성된 개인 도메인 엔진(508), 및 사용자가 개인 도메인 D와 연관될 하나 이상의 클라이언트 디바이스를 등록하도록 하고 (개인 도메인 D와 연관된 하나 이상의 다른 디바이스들에 전송되었던) 등록 디바이스 테이블(121)을 생성가능하도록 구성된 디바이스 등록 엔진(510)을 포함할 수 있다. 도메인 키(P) 생성기(512)는 도메인 키 P를 생성할 수 있고, 이는 등록 디바이스 테이블(121)에 기초하여 개인 도메인 D와 연관된 다른 디바이스들 중 하나 이상의 디바이스로 전송될 수 있다. 추가적으로, 등록 사용자 테이블(119)은 사용자를 개인 도메인 내 하나 이상의 애플리케이션 및/또는 디바이스에 연결하는 클라이언트 디바이스(520A) 상에 생성될 수 있다.
개인 도메인 D와 연관될 애플리케이션(118)은 제 1 디바이스(520A)의 애플리케이션 등록 엔진(504)을 사용하여 등록될 수 있다. 애플리케이션(118)이 등록되고 나면, 애플리케이션 키 생성기(506)는 애플리케이션 특정 키 Ka를 생성할 수 있다. 등록 애플리케이션 테이블(117)이 생성될 수 있고 애플리케이션 특정 키 Ka는 애플리케이션(118(1))으로 저장될 수 있다. 제 1 디바이스(520A)는 또한 애플리케이션 특정 키 Ka를 개인 도메인 D와 연관된 다른 디바이스들 중 하나 이상의 디바이스에 전송하도록 구성될 수 있다.
사용자는 본원에서 설명된 바와 같이 실질적으로 진행될 수 있는 전송 동작을 개시할 수 있다. 클라이언트 디바이스(들)(520A, 520B)는 개인 도메인(들)을 생성하고, 애플리케이션(들)을 등록하고, 키(Ka, P)를 생성하도록 구성되고, 시스템(500)은 도 1의 서버를 사용할 필요가 없을 수 있다. 다시, 시스템(500)과 연관된 모든 클라이언트 디바이스가 이러한 기능들을 수행할 수 있는 것은 아니며, 그 대신, 하나의 클라이언트 디바이스가, 키(Ka, P)가 허브 디바이스(예를 들어, 클라이언트 디바이스(520A))에 의해 생성되고 허브 디바이스로부터 수신될 수 있는 것을 제외하면, 다른 디바이스들에 대해 도 1과 실질적으로 동일하게 기능할 수 있는 허브 디바이스로서 기능할 수 있다.
도 6은 본 개시물의 일 실시예에 따른 동작에 관한 흐름도(600)를 도시한다. 이 실시예의 동작들은, 제 1 클라이언트 디바이스 상에서, 애플리케이션의 제 1 인스턴스의 동작을 제 1 클라이언트 디바이스로부터 제 2 클라이언트 디바이스상의 애플리케이션의 제 2 인스턴스로 전송하라는 표시를 수신하는 것(동작 602)을 포함할 수 있다. 또한 동작은, 제 1 클라이언트 디바이스에 의해 그리고 제 1 클라이언트로부터 제 2 클라이언트 디바이스로 애플리케이션의 동작을 전송하라는 표시에 응답하여, 제 1 클라이언트 디바이스 상의 애플리케이션의 실행과 연관된 현재 동작 파라미터 및 데이터를 포함하는 상태 정보를 생성하는 것(동작 604)을 포함할 수 있다. 동작은 또한, 제 1 클라이언트 디바이스에 의해, 상태 정보를 제 2 클라이언트 디바이스로 송신하여 제 2 클라이언트 디바이스로 하여금 애플리케이션의 제 2 인스턴스 및 제 1 클라이언트 디바이스로부터의 상태 정보를 사용하여 제 2 클라이언트 디바이스 상에서 애플리케이션의 동작을 계속(continue)할 수 있도록 하는 것(동작 606)을 포함할 수 있다.
다양한 시스템 및 방법이 설명되었지만, 임의의 실시예 내 다양한 피쳐들은 다른 실시예들과 조합될 수 있다는 것이 이해될 것이다. 예를 들어, 도 4의 하이퍼바이저는 도 1 및/또는 도 5와 조합될 수 있다. 대안적으로(또는 추가적으로), 도 1 또는 도 4의 시스템은 도 5에서 설명된 바와 같은 서버를 제거하도록 수정될 수 있다. 실제로, 본 개시물의 다른 실시예들에서, 도 2, 도 3, 및/또는 도 6에서 묘사된 동작들은 임의의 도면에 구체적으로 도시되지 않은 방식으로 조합될 수 있으나, 여전히 본 개시물에 완전히 부합한다는 것을 본원에서 완전히 유념해야 한다. 따라서, 하나의 도면에 정확하게 도시되지 않은 동작들 및/또는 피쳐들을 가리키는 특허청구항은 본 개시물의 내용 및 범주 내에 있는 것으로 여겨진다.
본 개시물의 시스템 및/또는 방법은, 신뢰성 있는 디바이스들에 걸쳐 실시간으로 실행 중인 애플리케이션의 안전한, 동적인, 그리고 끊어짐 없는 포팅(seamless porting), 및 상태 정보 및 데이터를 보호하는 것이 가능하도록 구성된다. 또한, 애플리케이션 상태 정보 및 데이터 전송의 신뢰성 있는 전송을 가능하게 하기 위해 보안 통신 인프라스트럭처가 수립될 수 있다.
다른 실시예들에서, 본 개시물의 시스템 및/또는 방법은 추가 사용 스킴을 포함할 수 있다. 사용자는 상이한 사용을 수용하도록 상이한 사용 스킴을 생성할 수 있다. 예를 들어, 아침 출근(Morning Commute: MC) 스킴은, 공항 아침 출근(Airport Morning Commute: AMC) 스킴, 작업 아침 출근(Work Morning Commute: WMC), 및/또는 출장 아침 출근(Travel Morning Commute: TMC)을 포함할 수 있다. 각 스킴은 특정 사용과 관련된 신뢰성 있는 애플리케이션의 집합을 포함할 수 있다.
예를 들어, AMC 스킴은 날씨, 교통, 라디오 컨텐츠, 미디어 컨텐츠, 전화, 항공사 정보, 및/또는 작업 관련 애플리케이션을 포함할 수 있다. 일 실시예에서, AMC 스킴은 사용자의 홈 시스템 내에 통합될 수 있다. 집을 떠나기 전에, 사용자는 (예를 들어, 제스처 및/또는 모션 기술, 음성 커맨드, 및/또는 원터치 사전프로그래밍된 버튼을 사용하여) AMC 신뢰성 있는 애플리케이션의 상태 정보를 사용자가 신뢰하는 도메인 내 IA 디바이스(예를 들어, 스마트 폰, 차량용 인포테인먼트 시스템, PC 등)로 전송할 수 있다. 사용자가 공항으로 운전하기 위해 자신의 차량에 탈 때, GPS 시스템을 포함하는 차량의 인포테인먼트 센터는, 예를 들어, 공항으로의 경로 및 교통 정보를 이미 보여주도록 할 것이다.
본원에서 설명된 실시예들은, 본원에서 설명된 방법 및/또는 동작들을 수행하도록 하드웨어, 소프트웨어, 및/또는 펌웨어를 사용하여 구현될 수 있다. 본원에서 설명된 특정 실시예들은, 머신에 의해 실행되는 경우, 머신으로 하여금 본원에서 설명된 방법 및/또는 동작을 수행하도록 하는, 머신 실행가능 명령어를 저장하는 유형의 머신 판독가능 매체로서 제공될 수 있다. 유형의 머신 판독가능 매체는 플로피 디스크, 광학 디스크, 읽기 전용 메모리 컴팩트 디스크(CD-ROMs), 재기록가능 컴팩트 디스크(CD-RWs), 및 자기 광학 디스크를 포함하는 임의 타입의 디스크, 읽기 전용 메모리(ROMs), 동적 및 정적 RAM과 같은 랜덤 액세스 메모리(RAMs), 소거 프로그램 가능 ROM(EPROM), 전기적 소거가능 PROM(EEPROM), 플래시 메모리, 자기 또는 광학 카드, 또는 전자 명령어를 저장하기에 적합한 임의 타입의 유형 매체를 포함할 수 있으나 이로 한정되지는 않는다. 머신은 임의의 적합한 프로세싱 플랫폼, 디바이스 또는 시스템, 컴퓨팅 플랫폼, 디바이스 또는 시스템을 포함할 수 있으며 하드웨어 및/또는 소프트웨어의 임의의 적합한 조합을 사용하여 구현될 수 있다. 명령어는 임의의 적합한 타입의 코드를 포함할 수 있고 임의의 적합한 프로그래밍 언어를 사용하여 구현될 수 있다.
따라서, 일 실시예에서, 본 개시물은 클라이언트 디바이스들에 걸쳐 애플리케이션 사용 연속체를 제공하기 위한 시스템을 제공한다. 이 시스템은 애플리케이션의 제 1 인스턴스를 실행하도록 구성된 제 1 클라이언트 디바이스 및 애플리케이션의 제 2 인스턴스를 실행하도록 구성된 제 2 클라이언트 디바이스를 포함한다. 제 1 디바이스는 또한, 제 1 클라이언트 디바이스에서 작동 중인 애플리케이션의 제 1 인스턴스의 동작을 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 전송하라는 표시를 수신하고, 제 1 클라이언트 디바이스 상의 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성하도록 구성된다. 제 1 클라이언트 디바이스는 또한, 상태 정보가 제 2 클라이언트 디바이스로 송신되도록 하여 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 하여금 제 1 클라이언트 디바이스로부터의 상태 정보를 사용하여 제 2 클라이언트 디바이스 상에서 애플리케이션의 동작을 계속할 수 있게 하도록 구성된다.
다른 실시예에서, 본 개시물은 애플리케이션의 제 1 인스턴스를 가지는 제 1 클라이언트 디바이스와 애플리케이션의 제 2 인스턴스를 가지는 제 2 클라이언트 디바이스 사이의 애플리케이션 사용 연속체를 위한 방법을 제공한다. 이 방법은, 제 1 클라이언트 디바이스에서, 제 1 클라이언트 디바이스에서 실행 중인 애플리케이션의 제 1 인스턴스의 동작을 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 전송하라는 표시를 수신하는 단계; 제 1 클라이언트 디바이스에 의해 그리고 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 표시에 대한 응답으로, 제 1 클라이언트 디바이스 상의 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성하는 단계; 및 제 1 클라이언트 디바이스에 의해, 제 2 클라이언트 디바이스로 상태 정보 및 데이터를 송신하여 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 하여금 제 1 클라이언트 디바이스로부터의 상태 정보 및 애플리케이션의 제 2 인스턴스를 사용하여 제 2 클라이언트 디바이스 상에서 애플리케이션의 동작을 계속할 수 있도록 하는 단계를 포함한다.
다른 실시예에서, 본 개시물은 하나 이상의 프로세서에 의해 실행될 때 컴퓨터 시스템으로 하여금 동작을 수행하도록 하는 내부에 저장된 명령어를 포함하는 유형의 컴퓨터 판독가능 매체를 제공하며, 상기 동작은, 제 1 클라이언트 디바이스에 의해 그리고 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 표시에 응답하여, 제 1 클라이언트 디바이스 상의 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성하는 것; 및 제 1 클라이언트 디바이스에 의해, 상태 정보를 제 2 클라이언트 디바이스로 송신하여 제 2 클라이언트 디바이스 상의 애플리케이션의 제 2 인스턴스로 하여금 제 1 클라이언트 디바이스로부터의 상태 정보를 사용하여 제 2 클라이언트 디바이스 상에서 애플리케이션의 동작을 계속할 수 있도록 하는 것을 포함한다.
본원에서 이용된 용어 및 표현들은 제한이 아닌 설명의 용어로서 사용되고, 그러한 용어 및 표현의 사용에서, 도시되고 설명된 피쳐들(또는 이의 일부)에 관한 임의의 균등물을 제외하고자 하는 의도는 없으며, 다양한 수정이 특허청구범위의 범주 내에서 가능하다는 것이 인식된다. 따라서, 특허청구범위는 모든 그러한 균등물을 포괄하고자 한다.
다양한 피쳐, 양태, 및 실시예가 본원에서 설명되었다. 그러한 피쳐, 양태, 실시예는, 본 기술분야의 당업자들이 이해할 수 있는 바와 같이, 서로와의 조합뿐만 아니라 변형 및 수정이 허용가능하다. 따라서, 본 개시물은 그러한 조합, 변형, 및 수정을 포함하는 것으로 고려되어야 한다.

Claims (32)

  1. 클라이언트 디바이스들 사이에 애플리케이션 사용 연속체(an application usage continuum)를 제공하기 위한 시스템으로서,
    잠재적인 타겟 디바이스의 목록을 제시하도록 구성되고 애플리케이션의 제 1 인스턴스를 실행하도록 구성된 제 1 클라이언트 디바이스를 포함하되,
    상기 제 1 클라이언트 디바이스는 또한,
    상기 제 1 클라이언트 디바이스에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 동작을 상기 타겟 디바이스의 목록의 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 전송(transfer)하라는 표시(an indication)를 수신하고,
    상기 제 1 클라이언트 디바이스 상의 상기 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성 -상기 상태 정보는 상기 제 1 클라이언트 디바이스 상에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 순서 데이터(ordered data)의 시퀀스 내 상대적 위치를 표시하는 정보를 포함함- 하고,
    애플리케이션-암호화된 상태 블롭 (State)Ka를 형성하기 위하여 애플리케이션 키 Ka를 사용하여 상태 블롭(a state blob)을 서명하거나 암호화 -상기 (State)Ka는 상기 애플리케이션 키 Ka로 보호된 상기 애플리케이션의 제 1 인스턴스의 상태 정보를 포함함- 하고,
    상기 (State)Ka는 상기 제 2 클라이언트 디바이스로 송신되도록 하여 상기 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 하여금 상기 제 1 클라이언트 디바이스로부터의 상기 상태 정보를 사용하여 상기 제 2 클라이언트 디바이스 상에서 상기 애플리케이션의 동작을 계속하게 할 수 있도록 구성되는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 제 1 클라이언트 디바이스와 상기 제 2 클라언트 디바이스 각각의 아이덴티티 및 상기 애플리케이션의 아이덴티티를 포함하는 개인 도메인(a private domain)을 생성하도록 구성된 서버를 더 포함하는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  3. 제 2 항에 있어서,
    상기 서버는, 상기 애플리케이션의 제 1 인스턴스 및 제 2 인스턴스 각각에 대한 애플리케이션 암호화 키 Ka 및 상기 개인 도메인에 대한 도메인 암호화 키 P를 생성하도록 구성되고, 상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스 각각에 상기 도메인 암호화 키 P를 저장하는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 제 2 클라이언트 디바이스는, 상기 (State)Ka를 복호화(decrypt)하거나 검증(verify)하고 상기 제 2 클라이언트 디바이스 상에 상기 상태 정보를 복원하도록 구성되는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  6. 제 1 항에 있어서,
    상기 제 1 클라이언트 디바이스는, 도메인-암호화 상태 블롭 ((State)Ka)P를 형성하기 위하여 상기 제 1 클라이언트 디바이스 및 도메인 암호화 키 P를 사용하여 상기 (State)Ka를 암호화하거나 서명하도록 구성된 보안 프로세서(a secured processor)를 포함하는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  7. 제 6 항에 있어서,
    상기 제 2 디바이스는 상기 (State)Ka를 형성하기 위하여 상기 제 2 클라이언트 디바이스를 사용하여 상기 ((State)Ka)P를 복호화하도록 구성된 보안 프로세서를 포함하는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  8. 제 1 항에 있어서,
    상기 상태 정보는 타이밍 카운터, 비디오 프레임, 또는 페이지 번호에 대응하는 데이터를 포함하는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  9. 제 1 항에 있어서,
    상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 상기 표시는 사용자 입력을 포함하는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  10. 제 9 항에 있어서,
    상기 사용자 입력은 제스처 인식, 모션 인식, 음성 인식 및 커맨드, 및 근접성 인식 기술(proximity aware technologies)로 이루어진 그룹에서 선택되는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  11. 클라이언트 디바이스들 사이의 애플리케이션 사용 연속체를 위한 방법으로서,
    잠재적인 타겟 디바이스의 목록을 제시하도록 구성되며 애플리케이션의 제 1 인스턴스를 갖는 제 1 클라이언트 디바이스에서, 상기 제 1 클라이언트 디바이스 상에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 동작을 상기 타겟 디바이스의 목록의 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 전송하라는 표시를 수신하는 단계,
    상기 제 1 클라이언트 디바이스에 의해, 상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 상기 표시에 대한 응답으로, 상기 제 1 클라이언트 디바이스 상의 상기 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성하는 단계 -상기 상태 정보는 상기 제 1 클라이언트 디바이스 상에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 순서 데이터의 시퀀스 내 상대적 위치를 표시하는 정보를 포함함- 와,
    애플리케이션-암호화된 상태 블롭 (State)Ka ―상기 (State)Ka는 애플리케이션 키 Ka로 보호되는 상기 애플리케이션의 제 1 인스턴스에 관한 상태 정보를 포함함― 를 형성하도록 상기 애플리케이션 키 Ka를 사용하여 상태 블롭을 서명하거나 암호화하는 단계와,
    상기 제 1 클라이언트 디바이스에 의해, 상기 (State)Ka 및 데이터를 상기 제 2 클라이언트 디바이스로 송신하여 상기 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 하여금 상기 제 1 클라이언트 디바이스로부터의 상기 상태 정보 및 상기 애플리케이션의 제 2 인스턴스를 사용하여 상기 제 2 클라이언트 디바이스 상에서 상기 애플리케이션의 동작을 계속할 수 있도록 하는 단계를 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  12. 제 11 항에 있어서,
    서버를 사용하여 개인 도메인을 생성하는 단계를 더 포함하되,
    상기 개인 도메인은 상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 각각의 아이텐티티 및 상기 애플리케이션의 아이덴티티를 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  13. 제 12 항에 있어서,
    상기 애플리케이션의 제 1 인스턴스 및 제 2 인스턴스 각각에 대한 애플리케이션 암호화 키 Ka를 생성하는 단계와,
    상기 개인 도메인에 대한 도메인 암호화 키 P를 생성하고 상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스 각각에 상기 도메인 암호화 키 P를 저장하는 단계를 더 포함하는
    애플리케이션 사용 연속체를 위한 방법.

  14. 제 11 항에 있어서,
    도메인-암호화 상태 블롭 ((State)Ka)P를 형성하도록 상기 제 1 클라이언트 디바이스와 도메인 암호화 키 P를 사용하여 상기 (State)Ka를 암호화하는 단계를 더 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  15. 제 14 항에 있어서,
    상기 (State)Ka를 형성하도록 상기 제 2 클라이언트 디바이스를 사용하여 상기 ((State)Ka)P를 복호화하는 단계와,
    상기 제 2 클라이언트 디바이스를 사용하여 상기 (State)Ka를 복호화하는 단계를 더 포함하되,
    상기 애플리케이션의 제 2 인스턴스는 상기 제 2 클라이언트 디바이스에서 상기 상태 정보를 복원하도록 구성되는
    애플리케이션 사용 연속체를 위한 방법.
  16. 제 11 항에 있어서,
    상기 상태 정보는 타이밍 카운터, 비디오 프레임, 또는 페이지 번호에 대응하는 데이터를 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  17. 제 11 항에 있어서,
    상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 상기 표시는 사용자 입력을 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  18. 제 17 항에 있어서,
    상기 사용자 입력은 제스처 인식, 모션 인식, 음성 인식 및 커맨드, 및 근접성 인식 기술로 이루어진 그룹으로부터 선택되는
    애플리케이션 사용 연속체를 위한 방법.
  19. 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 동작을 수행하도록 하는 내부에 저장된 명령어를 포함하는 유형의 컴퓨터 판독가능 매체로서,
    상기 동작은,
    잠재적인 타겟 디바이스의 목록을 제시하도록 구성되고 애플리케이션의 제 1 인스턴스를 가지는 제 1 클라이언트 디바이스에 의해, 상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 표시에 응답하여, 상기 제 1 클라이언트 디바이스 상의 상기 애플리케이션의 제 1 인스턴스의 실행과 연관된 상태 정보 및 데이터를 생성하는 것 -상기 상태 정보는 상기 제 1 클라이언트 디바이스 상에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 순서 데이터의 시퀀스 내 상대적 위치를 표시하는 정보를 포함함- 과,
    애플리케이션-암호화 상태 블롭 (State)Ka를 형성하기 위하여 애플리케이션 키 Ka를 사용하여 상태 블롭(a state blob)을 서명하거나 암호화하는 것 -상기 (State)Ka는 상기 애플리케이션 키 Ka로 보호된 상기 애플리케이션의 제 1 인스턴스의 상태 정보를 포함함- 과,
    상기 제 1 클라이언트 디바이스가 제 2 클라이언트 디바이스에 상기 (State)Ka를 송신하도록 하여, 상기 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 하여금 상기 제 1 클라이언트 디바이스로부터의 상기 상태 정보를 사용하여 상기 제 2 클라이언트 디바이스 상에서 상기 애플리케이션의 동작을 계속할 수 있도록 하는 것을 포함하는
    유형의 컴퓨터 판독가능 매체.
  20. 제 19 항에 있어서,
    상기 동작은,
    상기 제 1 클라이언트 디바이스 상에서, 상기 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 상기 제 1 클라이언트 디바이스 상에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 표시를 수신하는 것을 더 포함하는
    유형의 컴퓨터 판독가능 매체.
  21. 제 1 항에 있어서,
    상기 제 1 클라이언트 디바이스는 상기 제 1 클라이언트 디바이스의 통신 범위 내의 디바이스를 식별하여 상기 잠재적인 타겟 디바이스의 목록을 결정하도록 더 구성되는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  22. 제 1 항에 있어서,
    상기 제 1 클라이언트 디바이스는 하나 이상의 아이콘을 사용하여 상기 잠재적인 타겟 디바이스의 목록을 도표로(graphically) 제시하도록 더 구성되는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  23. 제 22 항에 있어서,
    상기 아이콘은 휴대 전화, 스마트폰, PMP, PDA, 노트북 컴퓨터, 넷북 및 핸드헬드 전자 디바이스로 이루어진 그룹으로부터 선택된 하나 이상의 잠재적인 타겟 디바이스를 나타내는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  24. 제 21 항에 있어서,
    상기 제 1 클라이언트 디바이스는 상기 제 1 클라이언트 디바이스에 대한 타겟 디바이스의 물리적 위치에 기초하여 상기 잠재적인 타겟 디바이스의 목록을 배열하도록 더 구성되는
    애플리케이션 사용 연속체를 제공하기 위한 시스템.
  25. 제 11 항에 있어서,
    상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스의 통신 범위 내의 디바이스를 식별하여 상기 잠재적인 타겟 디바이스의 목록을 결정하는 단계를 더 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  26. 제 11 항에 있어서,
    상기 제 1 클라이언트 디바이스에 의하여, 하나 이상의 아이콘을 사용하여 상기 잠재적인 타겟 디바이스의 목록을 도표로 제시하는 단계를 더 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  27. 제 26 항에 있어서,
    상기 아이콘은 휴대 전화, 스마트폰, PMP, PDA, 노트북 컴퓨터, 넷북 및 핸드헬드 전자 디바이스로 이루어진 그룹으로부터 선택된 하나 이상의 잠재적인 타겟 디바이스를 나타내는
    애플리케이션 사용 연속체를 위한 방법.
  28. 제 25 항에 있어서,
    상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스에 대한 타겟 디바이스의 물리적 위치에 기초하여 상기 잠재적인 타겟 디바이스의 목록을 배열하는 단계를 더 포함하는
    애플리케이션 사용 연속체를 위한 방법.
  29. 제 19 항에 있어서, 상기 동작은
    상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스의 통신 범위 내의 디바이스를 식별하여 상기 잠재적인 타겟 디바이스의 목록을 결정하는 것을 더 포함하는
    유형의 컴퓨터 판독가능 매체.
  30. 제 19 항에 있어서, 상기 동작은
    상기 제 1 클라이언트 디바이스에 의하여, 하나 이상의 아이콘을 사용하여 상기 잠재적인 타겟 디바이스의 목록을 도표로 제시하는 것을 더 포함하는
    유형의 컴퓨터 판독가능 매체.
  31. 제 30 항에 있어서,
    상기 아이콘은 휴대 전화, 스마트폰, PMP, PDA, 노트북 컴퓨터, 넷북 및 핸드헬드 전자 디바이스로 이루어진 그룹으로부터 선택된 하나 이상의 잠재적인 타겟 디바이스를 나타내는
    유형의 컴퓨터 판독가능 매체.
  32. 제 29 항에 있어서, 상기 동작은
    상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스에 대한 타겟 디바이스의 물리적 위치에 기초하여 상기 잠재적인 타겟 디바이스의 목록을 배열하는 것을 더 포함하는
    유형의 컴퓨터 판독가능 매체.
KR1020137029002A 2011-04-01 2011-12-27 플랫폼들에 걸친 애플리케이션 사용 연속체 KR101575709B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/078,740 2011-04-01
US13/078,740 US9337999B2 (en) 2011-04-01 2011-04-01 Application usage continuum across platforms
PCT/US2011/067353 WO2012134578A2 (en) 2011-04-01 2011-12-27 Application usage continuum across platforms

Publications (2)

Publication Number Publication Date
KR20130141688A KR20130141688A (ko) 2013-12-26
KR101575709B1 true KR101575709B1 (ko) 2015-12-08

Family

ID=46927277

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137029002A KR101575709B1 (ko) 2011-04-01 2011-12-27 플랫폼들에 걸친 애플리케이션 사용 연속체

Country Status (8)

Country Link
US (1) US9337999B2 (ko)
EP (1) EP2695080B1 (ko)
JP (2) JP5865480B2 (ko)
KR (1) KR101575709B1 (ko)
CN (1) CN103503364B (ko)
AU (1) AU2011363492B2 (ko)
TW (1) TWI543079B (ko)
WO (1) WO2012134578A2 (ko)

Families Citing this family (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
CN112965769A (zh) 2011-06-05 2021-06-15 苹果公司 用于显示从多个应用接收到的通知的***和方法
US9864632B2 (en) * 2011-08-17 2018-01-09 Open Invention Network, Llc System and method for transfer of an application state between devices
WO2013027077A1 (en) * 2011-08-24 2013-02-28 Sony Ericsson Mobile Communications Ab Short-range radio frequency wireless communication data transfer methods and related devices
US10075533B2 (en) 2011-09-15 2018-09-11 Paypal, Inc. Method and apparatus for transferring the state of content using short codes
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9219661B2 (en) * 2011-12-02 2015-12-22 Netzyn, Inc. System and method for access to continously running application programs by network connected end-user devices
US9507630B2 (en) * 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US20130282859A1 (en) * 2012-04-20 2013-10-24 Benefitfocus.Com, Inc. System and method for enabling the styling and adornment of multiple, disparate web pages through remote method calls
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9317689B2 (en) * 2012-06-15 2016-04-19 Visa International Service Association Method and apparatus for secure application execution
US8572410B1 (en) * 2012-07-18 2013-10-29 Freescale Semiconductor, Inc. Virtualized protected storage
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US10089139B2 (en) * 2013-01-09 2018-10-02 Appsense Us Llc Systems, methods and media for managing embedded content
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US9311041B2 (en) * 2013-02-22 2016-04-12 Blackberry Limited Device, system and method for generating data
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9300779B2 (en) 2013-03-15 2016-03-29 Blackberry Limited Stateful integration of a vehicle information system user interface with mobile device operations
US10251034B2 (en) 2013-03-15 2019-04-02 Blackberry Limited Propagation of application context between a mobile device and a vehicle information system
FR3004047A1 (fr) * 2013-03-29 2014-10-03 France Telecom Technique de cooperation entre une pluralite d'entites clientes
KR102098815B1 (ko) * 2013-05-20 2020-04-08 삼성전자주식회사 어플리케이션의 운영을 위한 전자 장치
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101922663B1 (ko) * 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
US20150089382A1 (en) * 2013-09-26 2015-03-26 Wu-chi Feng Application context migration framework and protocol
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10275765B2 (en) 2013-12-11 2019-04-30 Ebay Inc. Omni-channel state preservation
US9405346B2 (en) 2013-12-23 2016-08-02 International Business Machines Corporation Managing access to data on a client device during low-power state
US9729520B2 (en) * 2014-05-05 2017-08-08 Citrix Systems, Inc. Facilitating communication between mobile applications
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
EP3108342B1 (en) 2014-05-30 2019-10-23 Apple Inc. Transition from use of one device to another
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
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
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9811241B2 (en) 2014-09-17 2017-11-07 International Business Machines Corporation Shared inter-operational control among multiple computing devices
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
KR102317681B1 (ko) * 2015-01-05 2021-10-26 삼성전자주식회사 태스크 정보를 외부 디바이스에 제공하는 방법 및 시스템
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10491685B2 (en) * 2015-03-31 2019-11-26 Microsoft Technology Licensing, Llc Session transfer between resources
US10205598B2 (en) * 2015-05-03 2019-02-12 Ronald Francis Sulpizio, JR. Temporal key generation and PKI gateway
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US20170054767A1 (en) * 2015-08-17 2017-02-23 Google Inc. Transferring application state between devices
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
TWI560567B (en) * 2016-02-03 2016-12-01 Shiow Lin Hwu Password-transforming method
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
WO2018013651A1 (en) * 2016-07-12 2018-01-18 Proximal Systems Corporation Apparatus, system and method for proxy coupling management
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10395027B2 (en) * 2016-12-09 2019-08-27 Vmware, Inc. Co-existence of management applications and multiple user device management
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
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
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
DK3649792T3 (da) * 2018-06-08 2022-06-20 Sivantos Pte Ltd Fremgangsmåde til overførsel af en bearbejdningstilstand i en audiologisk tilpasningsapplikation til et høreapparat
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11288347B2 (en) * 2019-03-07 2022-03-29 Paypal, Inc. Login from an alternate electronic device
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
WO2020243691A1 (en) 2019-05-31 2020-12-03 Apple Inc. User interfaces for audio media control
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
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
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11360634B1 (en) 2021-05-15 2022-06-14 Apple Inc. Shared-content session user interfaces
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204966A1 (en) 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4227253A (en) * 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
KR100753778B1 (ko) * 1998-12-04 2007-08-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 액티비티들을 지원하는 시스템
JP2000331166A (ja) 1999-05-24 2000-11-30 Nec Yonezawa Ltd 指紋認証システム
US7080159B2 (en) * 2000-12-15 2006-07-18 Ntt Docomo, Inc. Method and system for effecting migration of application among heterogeneous devices
US7143443B2 (en) 2001-10-01 2006-11-28 Ntt Docomo, Inc. Secure sharing of personal devices among different users
US8090836B1 (en) * 2002-06-10 2012-01-03 Symantec Operating Corporation TCP connection migration
JP2005011105A (ja) * 2003-06-19 2005-01-13 Toshiba Corp 再生装置、暗号化記録装置及びプログラム
KR100567822B1 (ko) * 2003-10-01 2006-04-05 삼성전자주식회사 공개 키 기반 구조를 이용한 도메인 형성 방법
WO2005093989A1 (en) 2004-03-29 2005-10-06 Smart Internet Technology Crc Pty Limited Digital license sharing system and method
US20060005010A1 (en) * 2004-06-16 2006-01-05 Henrik Olsen Identification and authentication system and method for a secure data exchange
US20060161502A1 (en) * 2005-01-18 2006-07-20 International Business Machines Corporation System and method for secure and convenient handling of cryptographic binding state information
US8341402B2 (en) * 2005-01-19 2012-12-25 Samsung Electronics Co., Ltd. Method of controlling content access and method of obtaining content key using the same
KR100643325B1 (ko) * 2005-02-18 2006-11-10 삼성전자주식회사 네트워크 및 그의 도메인 설정방법
US20070016638A1 (en) 2005-06-30 2007-01-18 Ian Elbury System and method of application provisioning
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
JP4794947B2 (ja) * 2005-08-30 2011-10-19 キヤノン株式会社 制御方法及び再生装置
US20070150736A1 (en) * 2005-12-22 2007-06-28 Cukier Johnas I Token-enabled authentication for securing mobile devices
US20070150742A1 (en) * 2005-12-22 2007-06-28 Cukier Johnas I Secure data communication for groups of mobile devices
JP4984584B2 (ja) 2006-03-17 2012-07-25 富士通株式会社 アプリケーション実行制御プログラム
US7444670B2 (en) * 2006-03-21 2008-10-28 International Business Machines Corporation Method and apparatus for migrating a virtual TPM instance and preserving uniqueness and completeness of the instance
US8126400B2 (en) * 2006-03-24 2012-02-28 The Invention Science Fund I, Llc Method for an aggregate user interface for controlling other devices
EP2060051A4 (en) 2006-09-06 2012-07-25 Sslnext Inc METHOD AND SYSTEM FOR PROVIDING AN AUTHENTICATION SERVICE FOR INTERNET USERS
JP4905073B2 (ja) * 2006-11-13 2012-03-28 株式会社日立製作所 デジタル情報送信装置、デジタル情報受信装置、デジタル情報送受信システム、デジタル情報送信方法、デジタル情報送受信方法、および、デジタル情報受信方法
JP5196883B2 (ja) * 2007-06-25 2013-05-15 パナソニック株式会社 情報セキュリティ装置および情報セキュリティシステム
US20090097769A1 (en) * 2007-10-16 2009-04-16 Sytech Solutions, Inc. Systems and methods for securely processing form data
US7941400B2 (en) * 2007-12-10 2011-05-10 International Business Machines Corporation Systems, methods and computer program products for maintaining a state of a document in a document-centric model to maintain a task across systems with the document
CN102484887A (zh) 2009-05-26 2012-05-30 诺基亚公司 用于传送媒体会话的方法和装置
US8839242B2 (en) * 2011-02-25 2014-09-16 Hitachi, Ltd. Virtual computer management method and virtual computer management system
US8478961B2 (en) * 2011-03-02 2013-07-02 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090204966A1 (en) 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device

Also Published As

Publication number Publication date
EP2695080A4 (en) 2014-12-31
JP5865480B2 (ja) 2016-02-17
TWI543079B (zh) 2016-07-21
US20120250858A1 (en) 2012-10-04
US9337999B2 (en) 2016-05-10
JP2016105601A (ja) 2016-06-09
AU2011363492B2 (en) 2016-08-25
AU2011363492A1 (en) 2013-10-17
KR20130141688A (ko) 2013-12-26
TW201241748A (en) 2012-10-16
CN103503364A (zh) 2014-01-08
JP6072889B2 (ja) 2017-02-01
EP2695080B1 (en) 2019-12-04
CN103503364B (zh) 2016-11-09
WO2012134578A3 (en) 2012-11-22
JP2014512044A (ja) 2014-05-19
WO2012134578A2 (en) 2012-10-04
EP2695080A2 (en) 2014-02-12

Similar Documents

Publication Publication Date Title
KR101575709B1 (ko) 플랫폼들에 걸친 애플리케이션 사용 연속체
CN113438289B (zh) 基于云计算的区块链数据处理方法及装置
US9904557B2 (en) Provisioning of operating systems to user terminals
EP3162021B1 (en) Securely storing content within public clouds
US8990898B2 (en) Connection leasing for hosted services
US9424439B2 (en) Secure data synchronization
Kosta et al. {Clone2Clone}({{{{{C2C)}}}}}:{Peer-to-Peer} Networking of Smartphones on the Cloud
US20140281477A1 (en) Secure Cloud Storage and Encryption Management System
KR20160097892A (ko) 가상화 기반의 보안 서비스 제공 장치 및 제공 방법
WO2018175925A1 (en) Secure memory arrangements
CN113242134B (zh) 数字证书签名方法、装置、***及存储介质
EP2863329A1 (en) Establishing physical locality between secure execution environments
US11410214B2 (en) Systems and methods for secure requests for quotations
US10462113B1 (en) Systems and methods for securing push authentications
US10452855B2 (en) Composite document access
WO2014089968A1 (zh) 虚拟机***数据加密方法及设备
WO2014135046A1 (zh) 用于安全性信息交互的设备
JP6542401B2 (ja) メッセージ終端間暗号化のためのキーチェーン管理方法およびシステム
CN117176852A (zh) 车辆控制方法、装置、设备及存储介质
CN117056943A (zh) 数据处理方法、***、设备及可读存储介质
CN118467107A (zh) 共享数据的方法、装置、处理器、电子设备及可读存储介质

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
LAPS Lapse due to unpaid annual fee