KR101575709B1 - 플랫폼들에 걸친 애플리케이션 사용 연속체 - Google Patents
플랫폼들에 걸친 애플리케이션 사용 연속체 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration 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
본 발명은 애플리케이션 사용 연속체에 관한 것이며, 특히, 플랫폼들에 걸친 애플리케이션 사용 연속체에 관한 것이다.
퍼스널 컴퓨팅은 데스크톱, 노트북, 넷북, 태블릿, 및/또는 스마트 디바이스를 포함한다. 하나 이상의 디바이스 사이에서 문서 및/또는 미디어 콘텐츠와 같은 정보를 공유하는 현재 방법은, 일시적인 전송 수단(예를 들어, 플래시 스토리지, 이메일 전송, 및/또는 IM 파일 전송)에 제 1 디바이스로부터의 원하는 파일을 저장하고 수신 디바이스에 전체 파일을 전송하도록 사용자에게 요구할 수 있다. 수신 디바이스에서 전송된 파일에 액세스하기 위해, 수신 디바이스에 존재하는 적합한 애플리케이션으로 파일을 오픈하는 것이 사용자에게 요구될 수 있고, 파일의 콘텐츠에 대한 맥락 관련 정보(contextual information) 또는 북마크를 사용하여 저장된 데이터로부터 수동으로 전송된 정보의 상태를 복원(restore)하는 것이 사용자에게 요구될 수 있다.
특허청구된 청구 대상의 피쳐 및 이점은 이에 부합하는 실시예들에 관한 다음의 상세한 설명으로부터 자명해질 것이며, 이 설명은 첨부된 도면을 참조하여 고려되어야 한다.
도 1은 본 개시물에 부합하는 예시적인 시스템 실시예를 도시한다.
도 2는 본 개시물의 일 실시예에 따른 개인 도메인을 수립하기 위한 동작에 관한 흐름도를 도시한다.
도 3은 본 개시물의 일 실시예에 따라 플랫폼들에 걸친 애플리케이션 사용 연속체의 동작에 관한 흐름도를 도시한다.
도 4는 본 개시물에 부합하는 다른 예시적인 시스템 실시예를 도시한다.
도 5는 본 개시물에 부합하는 또 다른 예시적인 시스템 실시예를 도시한다.
도 6은 본 개시물의 일 실시예에 따른 동작에 관한 흐름도를 도시한다.
다음의 상세한 설명은 예시적인 실시예들을 참조하여 진행될 것이나, 이들의 많은 대안, 수정 및 변형이 본 기술 분야의 당업자들에게 자명할 것이다.
도 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)
- 클라이언트 디바이스들 사이에 애플리케이션 사용 연속체(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 클라이언트 디바이스 상에서 상기 애플리케이션의 동작을 계속하게 할 수 있도록 구성되는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 1 항에 있어서,
상기 제 1 클라이언트 디바이스와 상기 제 2 클라언트 디바이스 각각의 아이덴티티 및 상기 애플리케이션의 아이덴티티를 포함하는 개인 도메인(a private domain)을 생성하도록 구성된 서버를 더 포함하는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 2 항에 있어서,
상기 서버는, 상기 애플리케이션의 제 1 인스턴스 및 제 2 인스턴스 각각에 대한 애플리케이션 암호화 키 Ka 및 상기 개인 도메인에 대한 도메인 암호화 키 P를 생성하도록 구성되고, 상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스 각각에 상기 도메인 암호화 키 P를 저장하는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 삭제
- 제 1 항에 있어서,
상기 제 2 클라이언트 디바이스는, 상기 (State)Ka를 복호화(decrypt)하거나 검증(verify)하고 상기 제 2 클라이언트 디바이스 상에 상기 상태 정보를 복원하도록 구성되는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 1 항에 있어서,
상기 제 1 클라이언트 디바이스는, 도메인-암호화 상태 블롭 ((State)Ka)P를 형성하기 위하여 상기 제 1 클라이언트 디바이스 및 도메인 암호화 키 P를 사용하여 상기 (State)Ka를 암호화하거나 서명하도록 구성된 보안 프로세서(a secured processor)를 포함하는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 6 항에 있어서,
상기 제 2 디바이스는 상기 (State)Ka를 형성하기 위하여 상기 제 2 클라이언트 디바이스를 사용하여 상기 ((State)Ka)P를 복호화하도록 구성된 보안 프로세서를 포함하는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 1 항에 있어서,
상기 상태 정보는 타이밍 카운터, 비디오 프레임, 또는 페이지 번호에 대응하는 데이터를 포함하는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 1 항에 있어서,
상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 상기 표시는 사용자 입력을 포함하는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 9 항에 있어서,
상기 사용자 입력은 제스처 인식, 모션 인식, 음성 인식 및 커맨드, 및 근접성 인식 기술(proximity aware technologies)로 이루어진 그룹에서 선택되는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 클라이언트 디바이스들 사이의 애플리케이션 사용 연속체를 위한 방법으로서,
잠재적인 타겟 디바이스의 목록을 제시하도록 구성되며 애플리케이션의 제 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 클라이언트 디바이스 상에서 상기 애플리케이션의 동작을 계속할 수 있도록 하는 단계를 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 11 항에 있어서,
서버를 사용하여 개인 도메인을 생성하는 단계를 더 포함하되,
상기 개인 도메인은 상기 제 1 클라이언트 디바이스와 상기 제 2 클라이언트 디바이스 각각의 아이텐티티 및 상기 애플리케이션의 아이덴티티를 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 12 항에 있어서,
상기 애플리케이션의 제 1 인스턴스 및 제 2 인스턴스 각각에 대한 애플리케이션 암호화 키 Ka를 생성하는 단계와,
상기 개인 도메인에 대한 도메인 암호화 키 P를 생성하고 상기 제 1 클라이언트 디바이스 및 상기 제 2 클라이언트 디바이스 각각에 상기 도메인 암호화 키 P를 저장하는 단계를 더 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 11 항에 있어서,
도메인-암호화 상태 블롭 ((State)Ka)P를 형성하도록 상기 제 1 클라이언트 디바이스와 도메인 암호화 키 P를 사용하여 상기 (State)Ka를 암호화하는 단계를 더 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 14 항에 있어서,
상기 (State)Ka를 형성하도록 상기 제 2 클라이언트 디바이스를 사용하여 상기 ((State)Ka)P를 복호화하는 단계와,
상기 제 2 클라이언트 디바이스를 사용하여 상기 (State)Ka를 복호화하는 단계를 더 포함하되,
상기 애플리케이션의 제 2 인스턴스는 상기 제 2 클라이언트 디바이스에서 상기 상태 정보를 복원하도록 구성되는
애플리케이션 사용 연속체를 위한 방법.
- 제 11 항에 있어서,
상기 상태 정보는 타이밍 카운터, 비디오 프레임, 또는 페이지 번호에 대응하는 데이터를 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 11 항에 있어서,
상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 상기 표시는 사용자 입력을 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 17 항에 있어서,
상기 사용자 입력은 제스처 인식, 모션 인식, 음성 인식 및 커맨드, 및 근접성 인식 기술로 이루어진 그룹으로부터 선택되는
애플리케이션 사용 연속체를 위한 방법.
- 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 동작을 수행하도록 하는 내부에 저장된 명령어를 포함하는 유형의 컴퓨터 판독가능 매체로서,
상기 동작은,
잠재적인 타겟 디바이스의 목록을 제시하도록 구성되고 애플리케이션의 제 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 클라이언트 디바이스 상에서 상기 애플리케이션의 동작을 계속할 수 있도록 하는 것을 포함하는
유형의 컴퓨터 판독가능 매체.
- 제 19 항에 있어서,
상기 동작은,
상기 제 1 클라이언트 디바이스 상에서, 상기 제 2 클라이언트 디바이스 상의 상기 애플리케이션의 제 2 인스턴스로 상기 제 1 클라이언트 디바이스 상에서 실행 중인 상기 애플리케이션의 제 1 인스턴스의 동작을 전송하라는 표시를 수신하는 것을 더 포함하는
유형의 컴퓨터 판독가능 매체. - 제 1 항에 있어서,
상기 제 1 클라이언트 디바이스는 상기 제 1 클라이언트 디바이스의 통신 범위 내의 디바이스를 식별하여 상기 잠재적인 타겟 디바이스의 목록을 결정하도록 더 구성되는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 1 항에 있어서,
상기 제 1 클라이언트 디바이스는 하나 이상의 아이콘을 사용하여 상기 잠재적인 타겟 디바이스의 목록을 도표로(graphically) 제시하도록 더 구성되는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 22 항에 있어서,
상기 아이콘은 휴대 전화, 스마트폰, PMP, PDA, 노트북 컴퓨터, 넷북 및 핸드헬드 전자 디바이스로 이루어진 그룹으로부터 선택된 하나 이상의 잠재적인 타겟 디바이스를 나타내는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 21 항에 있어서,
상기 제 1 클라이언트 디바이스는 상기 제 1 클라이언트 디바이스에 대한 타겟 디바이스의 물리적 위치에 기초하여 상기 잠재적인 타겟 디바이스의 목록을 배열하도록 더 구성되는
애플리케이션 사용 연속체를 제공하기 위한 시스템.
- 제 11 항에 있어서,
상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스의 통신 범위 내의 디바이스를 식별하여 상기 잠재적인 타겟 디바이스의 목록을 결정하는 단계를 더 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 11 항에 있어서,
상기 제 1 클라이언트 디바이스에 의하여, 하나 이상의 아이콘을 사용하여 상기 잠재적인 타겟 디바이스의 목록을 도표로 제시하는 단계를 더 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 26 항에 있어서,
상기 아이콘은 휴대 전화, 스마트폰, PMP, PDA, 노트북 컴퓨터, 넷북 및 핸드헬드 전자 디바이스로 이루어진 그룹으로부터 선택된 하나 이상의 잠재적인 타겟 디바이스를 나타내는
애플리케이션 사용 연속체를 위한 방법.
- 제 25 항에 있어서,
상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스에 대한 타겟 디바이스의 물리적 위치에 기초하여 상기 잠재적인 타겟 디바이스의 목록을 배열하는 단계를 더 포함하는
애플리케이션 사용 연속체를 위한 방법.
- 제 19 항에 있어서, 상기 동작은
상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스의 통신 범위 내의 디바이스를 식별하여 상기 잠재적인 타겟 디바이스의 목록을 결정하는 것을 더 포함하는
유형의 컴퓨터 판독가능 매체.
- 제 19 항에 있어서, 상기 동작은
상기 제 1 클라이언트 디바이스에 의하여, 하나 이상의 아이콘을 사용하여 상기 잠재적인 타겟 디바이스의 목록을 도표로 제시하는 것을 더 포함하는
유형의 컴퓨터 판독가능 매체.
- 제 30 항에 있어서,
상기 아이콘은 휴대 전화, 스마트폰, PMP, PDA, 노트북 컴퓨터, 넷북 및 핸드헬드 전자 디바이스로 이루어진 그룹으로부터 선택된 하나 이상의 잠재적인 타겟 디바이스를 나타내는
유형의 컴퓨터 판독가능 매체.
- 제 29 항에 있어서, 상기 동작은
상기 제 1 클라이언트 디바이스에 의하여, 상기 제 1 클라이언트 디바이스에 대한 타겟 디바이스의 물리적 위치에 기초하여 상기 잠재적인 타겟 디바이스의 목록을 배열하는 것을 더 포함하는
유형의 컴퓨터 판독가능 매체.
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)
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)
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)
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 |
-
2011
- 2011-04-01 US US13/078,740 patent/US9337999B2/en not_active Expired - Fee Related
- 2011-12-27 CN CN201180070543.5A patent/CN103503364B/zh active Active
- 2011-12-27 JP JP2014502551A patent/JP5865480B2/ja not_active Expired - Fee Related
- 2011-12-27 EP EP11862291.9A patent/EP2695080B1/en active Active
- 2011-12-27 KR KR1020137029002A patent/KR101575709B1/ko not_active IP Right Cessation
- 2011-12-27 AU AU2011363492A patent/AU2011363492B2/en not_active Ceased
- 2011-12-27 WO PCT/US2011/067353 patent/WO2012134578A2/en active Application Filing
- 2011-12-29 TW TW100149542A patent/TWI543079B/zh not_active IP Right Cessation
-
2015
- 2015-12-25 JP JP2015254448A patent/JP6072889B2/ja not_active Expired - Fee Related
Patent Citations (1)
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 |