KR20130075783A - 복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행 - Google Patents

복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행 Download PDF

Info

Publication number
KR20130075783A
KR20130075783A KR1020137012359A KR20137012359A KR20130075783A KR 20130075783 A KR20130075783 A KR 20130075783A KR 1020137012359 A KR1020137012359 A KR 1020137012359A KR 20137012359 A KR20137012359 A KR 20137012359A KR 20130075783 A KR20130075783 A KR 20130075783A
Authority
KR
South Korea
Prior art keywords
application
current
indication
status
client device
Prior art date
Application number
KR1020137012359A
Other languages
English (en)
Other versions
KR101312708B1 (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 KR20130075783A publication Critical patent/KR20130075783A/ko
Application granted granted Critical
Publication of KR101312708B1 publication Critical patent/KR101312708B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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

Abstract

일실시예에서, 디바이스는 디스플레이, 외부 디바이스들과 데이터를 교환하도록 구성된 인터페이스, 상기 디스플레이가 어플리케이션의 현재의 시각적인 표현을 디스플레이하도록 상기 어플리케이션을 실행하며, 상기 어플리케이션의 현재 어플리케이션 상태를 결정하도록 된 콘트롤 유닛, 상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 포함하며, 그리고 결정된 현재 어플리케이션 상태에 대한 표시를 사용자의 개입없이 상기 인터페이스를 통하여 상기 클라이언트 디바이스로부터 제2의 다른 디바이스로 전송하기 위한 수단을 포함하고, 결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며, 상기 콘트롤 유닛은 제 3 디바이스가 어플리케이션을 실행하고 있다는 표시에 응답하여, 현재 어플리케이션 상태의 후속 표시들이 제 2 디바이스로 전송되는 것을 방지하도록 구성된다.

Description

복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행{CONTINUOUS APPLICATION EXECUTION BETWEEN MULTIPLE DEVICES}
본 발명은 퍼스널 컴퓨터, 테블릿 컴퓨터, 랩탑, 및 휴대폰 등의 컴퓨팅 디바이스에 관한 것이다.
다양한 컴퓨팅 디바이스들은 어플리케이션들을 수신할 수 있고 그리고 이를 실행할 수 있다. 가령 테블릿 컴퓨터와 스마트폰과 같은 모바일 디바이스들은, 어플리케이션들을 다운로드 및 실행할 수 있는 능력을 통하여 이러한 모바일 디바이스들의 기능들을 확장시킬 수 있는 능력에 일부 기인하여 점점 더 널리 활용되고 있다. 이러한 어플리케이션들 중 몇몇은, 가령, 퍼스널 컴퓨터, 워크스테이션 혹은 이러한 다른 컴퓨팅 디바이스들 등과 같은 다른 컴퓨팅 디바이스에 의해서 실행될 수 있는 어플리케이션들과 유사하다.
본 발명의 일실시예에 따르면 명령들(instructions)을 포함하는 컴퓨터-판독가능한 저장매체가 제공되는바, 상기 명령들은 실행되는 때에 제 1 클라이언트 디바이스의 프로세서로 하여금, 상기 제 1 클라이언트 디바이스에서 어플리케이션을 실행하게 하고; 상기 어플리케이션의 현재 어플리케이션 상태를 결정하게 하고 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현(current visual representation)의 적어도 일부를 포함하며- ; 상기 제 1 클라이언트 디바이스로부터 서버 디바이스로, 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하고 -결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고 다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 표시를 수신하는 것에 응답하여, 상기 제 1 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들과 상기 다른 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들 간의 충돌을 방지하도록, 현재 어플리케이션 상태에 대한 후속 표시들이 상기 서버 디바이스로 전송되는 것을 상기 제 1 클라이언트 디바이스가 중지시키게 한다.
본 발명의 다른 실시예에 따르면 클라이언트 디바이스가 제공되는바, 상기 클라이언트 디바이스는 디스플레이; 외부 디바이스들과 데이터를 교환하도록 된 인터페이스; 상기 디스플레이가 어플리케이션의 현재의 시각적인 표현을 디스플레이하도록 상기 어플리케이션을 실행하며, 상기 어플리케이션의 현재 어플리케이션 상태를 결정하도록 된 콘트롤 유닛 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 포함하며- ; 그리고 결정된 현재 어플리케이션 상태에 대한 표시를 상기 인터페이스를 통하여 상기 클라이언트 디바이스로부터 서버 디바이스로 전송하기 위한 수단을 포함한다. 결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함한다. 다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 표시에 응답하여, 상기 제 1 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들과 상기 다른 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들 간의 충돌을 방지하도록, 상기 콘트롤 유닛은 상기 현재 어플리케이션 상태에 대한 후속 표시들이 상기 서버 디바이스로 전송되는 것을 중지시킨다.
본 발명의 다른 실시예에 따르면, 명령들을 포함하는 컴퓨터 판독가능한 저장매체가 제공되는바, 상기 명령들은 실행되는 때에 제 1 클라이언트 디바이스의 프로세서로 하여금, 상기 제 1 클라이언트 디바이스에서 어플리케이션을 실행하게 하고; 상기 어플리케이션의 현재 어플리케이션 상태를 결정하게 하고 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고 결정된 현재 어플리케이션 상태에 대한 표시를 컴퓨팅 디바이스로부터 제 2의 다른 클라이언트 디바이스로 전송하게 하되, 상기 컴퓨팅 디바이스에 의해서 실행되는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성함으로써 상기 제 2의 다른 클라이언트 디바이스는 상기 현재 어플리케이션 상태에서 상기 어플리케이션의 실행을 재개한다.
본 발명의 다른 실시예에 따르면, 서버 디바이스가 제공되는바, 상기 서버 디바이스는 2개 이상의 클라이언트 디바이스들로부터 어플리케이션 상태들의 표시들을 수신하고 그리고 상기 어플리케이션 상태들의 표시들을 상기 2개 이상의 클라이언트 디바이스들에게 제공하도록 된 하나 이상의 외부 디바이스 인터페이스들 -어플리케이션 상태들의 상기 표시들은 상기 어플리케이션 상태들에 대응하는 어플리케이션들의 현재의 시각적인 표현들의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고 상기 2개 이상의 클라이언트 디바이스들을 그룹으로 연관시키고, 상기 그룹의 제 1 클라이언트 디바이스로부터 어플리케이션 상태의 표시를 수신하고, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태의 표시에 대응하는 어플리케이션을 상기 그룹의 제2의 다른 클라이언트 디바이스가 실행하기 시작했다는 것을 판별하고, 그리고 상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라는 상기 판별에 응답하여 어플리케이션 상태의 상기 표시를 상기 제 2 클라이언트 디바이스에게 제공하도록 된 콘트롤 유닛을 포함한다.
도1a는 예시적인 시스템을 도시하는 블록도로서, 이러한 예시적인 시스템에서 모바일 디바이스와 컴퓨팅 디바이스는 다양한 어플리케이션들에 대한 어플리케이션 상태들의 표시들을 어플리케이션 상태 서버를 통하여 제공 및/또는 수신할 수 있다.
도1b는 모바일 디바이스와 컴퓨팅 디바이스를 포함하는 다른 예시적인 시스템을 도시하는 블록도이다.
도2는 어플리케이션 상태 정보를 가령, 어플리케이션 상태 서버 혹은 원격 컴퓨팅 디바이스 등과 같은 외부 디바이스에 제공하는 예시적인 모바일 디바이스를 도시한 블록도이다.
도3은 어플리케이션 상태 서버의 구성요소들의 예시적인 구성을 도시한 블록도이다.
도4는 주기적인 어플리케이션 상태 업데이트를 어플리케이션 상태 서버에 제공하기 위한 예시적인 방법의 순서도이다.
도5는 어플리케이션 상태 서버를 통하여 모바일 디바이스와 컴퓨팅 디바이스 사이에서 어플리케이션 상태 정보를 교환하는 예시적인 방법의 순서도이다.
도6은 어플리케이션 상태 서버를 통하여 모바일 디바이스와 컴퓨팅 디바이스 사이에서 어플리케이션 상태 정보를 교환하는 다른 예시적인 방법의 순서도이다.
도7은 2개의 디바이스들 사이에서 어플리케이션 상태를 교환하기 위한 다른 방법의 순서도이다.
일반적으로, 본 발명은, 사용자가 어플리케이션들에서 그 혹은 그녀의 위치(place)를 상실함이 없이 하나의 디바이스에서 사용중인 어플리케이션들이 다른 디바이스 상에서 재개될 수 있도록, 2개 이상의 디바이스들 사이에서 가령, 모바일 디바이스(예컨대, 휴대폰)와 컴퓨팅 디바이스 사이에서 사용자가 스위칭할 수 있게하는 기술에 관한 것이다. 예를 들면, 만일 사용자가 모바일 디바이스 상에서 특정 웹 페이지를 보고 있으며, 이후 컴퓨팅 디바이스의 사용을 개시하고 웹 브라우저를 실행시킨다면, 모바일 디바이스는 모바일 디바이스에 의해서 디스플레이되는 웹 페이지의 현재 부분(즉, 현재 파라그래프)과 웹 페이지의 유니폼 리소스 로케이터(uniform resource locator: URL)에 대한 표시(indication)를 컴퓨팅 디바이스에게 제공할 수 있다. 컴퓨팅 디바이스는 현재 웹 페이지의 표시와 모바일 디바이스에 의해서 디스플레이되는 웹 페이지의 현재 부분을 수신할 수 있으며, 이후 상기 웹 페이지를 자동으로(즉, 사용자의 개입 없이) 디스플레이하고 그리고 모바일 디바이스에 의해서 디스플레이되었던 웹 페이지의 상기 부분으로 자동으로 스크롤할 수 있다.
모바일 디바이스는 액티브 어플리케이션에 대한 어플리케이션 상태를 주기적으로 저장할 수 있으며 그리고 외부 디바이스(본 명세서에서는 어플리케이션 상태 서버라고 지칭됨)에게 어플리케이션 상태를 업로드할 수 있다. 일부 실시예에서, 어플리케이션 상태 서버는 어플리케이션들을 재개하는 컴퓨팅 디바이스와 동일한 디바이스가 될 수 있다. 즉, 일부 실시예들에서, 컴퓨팅 디바이스는 어플리케이션 상태 서버의 기능을 구현할 수도 있다. 일부 실시예들에서, 어플리케이션 상태 서버는 모바일 디바이스 및 컴퓨팅 디바이스 둘다와 통신하는 별도의 디바이스가 될 수도 있다. 어느 한 경우에 있어서, 모바일 디바이스는 하나 이상의 액티브 어플리케이션들의 현재 어플리케이션 상태에 대한 표시들을 어플리케이션 상태 서버로 주기적으로 전송할 수 있다.
모바일 디바이스는 다른 디바이스가 상기 어플리케이션의 실행을 개시했다라는 표시를 어플리케이션 상태 서버로부터 수신할 수 있다. 다른 디바이스가 상기 어플리케이션을 실행중이라는 이러한 표시를 수신함에 응답하여, 모바일 디바이스는 현재 어플리케이션 상태에 대한 후속 표시들이 모바일 디바이스로부터 어플리케이션 상태 서버로 전송되는 것을 금지시킬 수 있다. 예를 들어, 모바일 디바이스는 컴퓨팅 디바이스가 어플리케이션의 실행을 개시했다라는 표시를 예컨대, 어플리케이션 상태 서버 및/또는 컴퓨팅 디바이스로부터 수신할 수 있으며, 그리고 이에 응답하여, 상기 어플리케이션에 대한 장래의(future) 어플리케이션 상태 업데이트들을 금지할 수 있다. 다른 일례로서, 모바일 디바이스는 어플리케이션을 실행시키기 위하여 사용자가 상기 모바일 디바이스를 더 이상 이용하지 않는다라는 표시를 사용자로부터 수신할 수도 있다. 이후 모바일 디바이스는 어플리케이션의 현재 어플리케이션 상태에 대한 미래의 표시들을 어플리케이션 상태 서버에 전송하는 것을 금지할 수 있다.
또한, 어플리케이션 상태 서버는 현재의(즉, 가장 최근의) 어플리케이션 상태에 대한 표시를 상기 어플리케이션의 실행을 개시한 컴퓨팅 디바이스에게 제공할 수 있다. 컴퓨팅 디바이스는 어플리케이션 상태에 대한 상기 표시를 이용하여, 모바일 디바이스가 마지막 어플리케이션 상태 업데이트를 행한 지점(point)에서 어플리케이션의 실행을 재개할 수 있다. 이러한 방식으로, 2개의 디바이스들(이들 2개의 디바이스들 둘다는 가령, 웹 브라우저, 이메일 어플리케이션, 멀티미디어 어플리케이션, 동영상 재생기 혹은 뮤직 플레이어, 게임 어플리케이션 혹은 여타의 어플리케이션들과 같은 동일한 어플리케이션을 실행할 수 있음) 사이에서 이동할 때, 사용자는, 어플리케이션 실행의 상대적으로 무결절성인 천이(relatively seamless transition)를 경험할 수 있다.
도1a는 예시적인 시스템(10)을 나타내는 블록도로서, 예시적인 시스템(10)에서 모바일 디바이스(16)와 컴퓨팅 디바이스(18)는 다양한 어플리케이션들에 대한 어플리케이션 상태들의 표시를 제공 및/또는 수신할 수 있다. 특히, 도1a의 일례에서, 모바일 디바이스(16)와 컴퓨팅 디바이스(18)는 어플리케이션 상태 업데이트들을 네트워크(14)를 통해 어플리케이션 상태 서버(12)에 제공하도록 구성될 수 있다. 예를 들면, 모바일 디바이스(16)에 의해 실행되는 어플리케이션과 사용자가 상호작용하는 동안, 모바일 디바이스(16)는 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버(12)에 주기적으로 제공할 수 있다. 나중에, 사용자는 상기 어플리케이션을 실행하기 위하여 컴퓨팅 디바이스(18)로 스위칭할 수 있으며, 그리고 컴퓨팅 디바이스(18)는 가장 최근의 어플리케이션 상태를 어플리케이션 상태 서버(12)로부터 검색할 수 있는바, 따라서 컴퓨팅 디바이스(18)는 가장 최근의 어플리케이션 상태 업데이트로부터 어플리케이션의 실행을 재개할 수 있다. 이와 유사하게, 컴퓨팅 디바이스(18)는 모바일 디바이스(16)에 의해서도 실행될 수 있는 어플리케이션들을 실행하면서, 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버(12)에 제공하도록 구성될 수 있다.
이러한 방식으로, 시스템(10)은 가령, 모바일 디바이스(16)와 컴퓨팅 디바이스(18) 사이에서와 같이 디바이스들 사이에서 이동하는 때에, 연속적인 어플리케이션 경험을 사용자에게 제공할 수 있다. 비록, 예시를 위해서, 하나의 어플리케이션에 관하여 주로 설명되었지만, 본 발명의 기술은, 모바일 디바이스(16)에 의해서 실행되며 그리고 컴퓨팅 디바이스(18)에 의해서 후속으로 실행되는, 임의 개수의 어플리케이션들에 적용될 수 있음을 유의해야 한다. 또한, 비록 예시를 위하여 모바일 디바이스와 컴퓨팅 디바이스에 관하여 설명되었지만, 본 발명의 기술은, 동일하거나 혹은 유사한 어플리케이션들을 실행할 수 있는 임의의 2개 이상의 디바이스들에 적용될 수 있다는 점을 유의해야 한다. 예를 들면, 시스템(10)의 디바이스들은 2개 이상의 정적인 컴퓨팅 디바이스, 2개 이상의 모바일 디바이스, 혹은 정적인 디바이스들 및/또는 모바일 디바이스들의 임의의 조합에 대응될 수 있다. 상기 2개 이상의 디바이스들 중 임의의 것은, 예를 들면, 퍼스널 컴퓨터, 워크스테이션 컴퓨터, 랩탑 컴퓨터, 테블릿 컴퓨터, 휴대폰, 스마트폰, PDA, 혹은 어플리케이션들을 실행할 수 있는 임의의 다른 디바이스에 대응될 수 있다.
본 발명의 기술들은 매우 다양한 어플리케이션들에 적용될 수 있다. 일반적으로, 본 발명의 기술들은 모바일 디바이스(16)와 컴퓨팅 디바이스(18)에 의해서 실행될 수 있는 어플리케이션들에 적용될 수 있다. 예를 들면, 본 발명의 기술들은 웹 브라우저, 이-메일 판독기, 문서 판독기, 비디오 및 음악 재생기와 같은 멀티미디어 재생기, 혹은 다른 어플리케이션들에 적용될 수 있다. 일반적으로, 모바일 디바이스(16)에 의해 실행되는 어플리케이션들은 컴퓨팅 디바이스(18)에 의해 실행되는 어플리케이션들과 다를 수도 있지만, 동일한 유형들의 어플리케이션들 즉, 동일한 목적으로 이용되는 어플리케이션들이 될 수 있다. 따라서, 모바일 디바이스(16)와 컴퓨팅 디바이스(18) 둘다에 의해서 실행되는 어플리케이션이라 함은, 모바일 디바이스(16)와 컴퓨팅 디바이스(18)에 의해 실행되지만 동일한 목적을 위해 실행되는, 서로 구별되는 어플리케이션들을 포함하는 것으로 이해되어야 한다. 예를 들면, 모바일 디바이스(16)에 의해서 실행되는 웹 브라우저는, 컴퓨팅 디바이스(18)에 의해서 실행되는 웹 브라우저와 다를 수도 있다. 하지만, 이들 웹 브라우저들 둘다는 하이퍼텍스트 트랜스퍼 프로토콜(HTTP)을 구현하도록 의도된 것이며, 인터넷 웹 사이트들, 기타 등등을 검색 및 렌더링할 수 있다는 점에서, 동일한 어플리케이션이라고 여전히 간주될 수 있다.
어플리케이션 상태 서버(12)에 제공되는 상태 업데이트들은, 2개 이상의 디바이스들, 예컨대, 모바일 디바이스(16)와 컴퓨팅 디바이스(18)에 의해서 실행될 수 있는 어플리케이션에 대해 특유한 것이 될 수 있다. 하나의 일례로서, 모바일 디바이스(16)와 컴퓨팅 디바이스(18) 각각은 각각의 웹 브라우저를 실행할 수 있다. 예를 들어, 사용자는 특정한 유니폼 리소스 로케이터(URL)의 웹 페이지를 보기 위하여 모바일 디바이스(16)의 웹 브라우저와 상호작용할 수 있다. 본 발명의 기술에 따르면, 모바일 디바이스(16)는 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버(12)에 주기적으로 제공할 수 있다. 어플리케이션 상태 업데이트들은, 웹 브라우저의 일례의 경우, 예컨대, 모바일 디바이스(16)의 웹 브라우저에 의해서 현재 보여지고 있는 웹 페이지의 URL의 표시를 포함할 수 있다. 일부 실시예들에서, 웹 브라우저는 가령, 웹 브라우저를 위해 여러 개의 윈도우들(windows) 혹은 탭들(tabs)을 오픈시킴으로써, 복수의 URL들을 보여줄 수도 있다. 따라서, 어플리케이션 상태 업데이트들은 복수의 URL들을 포함할 수도 있다.
또한, 어플리케이션 상태의 표시자(indicator)는 어플리케이션의 현재의 시각적인 표현(current visual representation)의 적어도 일부를 재생성하기 위한 정보를 포함할 수 있다. 웹 브라우저 일례의 경우, 예컨대, 상기 현재의 시각적인 표현은 현재의 문단(paragraph), 단어, 워드, 문장, 줄 번호(line number), 하이퍼텍스트 마크업 랭귀지(HTML) 앵커 태그(anchor tag), 사진, 섹션, 링크, 혹은 웹 브라우저에 의해서 디스플레이되는 웹 페이지의 현재 부분에 대한 다른 표시에 해당할 수 있다. 이러한 방식으로, 사용자가 모바일 디바이스(16)를 이용한 다음에 컴퓨팅 디바이스(18)로 스위칭하는 때, 컴퓨팅 디바이스(18)는 모바일 디바이스(16)에 의해서 앞서 디스플레이되었던 것과 실질적으로 동일한 정보를 디스플레이할 수 있다. 예를 들면, 컴퓨팅 디바이스(18)는, 사용자가 모바일 디바이스(16)로부터 컴퓨팅 디바이스(18)로 스위칭하기 전에 모바일 디바이스(16)에 의해서 디스플레이되었던 웹 페이지의 부분으로 자동으로 스크롤할 수 있다.
다른 일례로서, 모바일 디바이스(16)와 컴퓨팅 디바이스(18)는 각각의 이메일 어플리케이션들을 실행하도록 구성될 수 있다. 이러한 일례에서, 어플리케이션 상태에 대한 표시는, 사용자가 모바일 디바이스(16)에서 컴퓨팅 디바이스(18)로 스위칭한 때의, 이메일 어플리케이션에 의해서 현재 디스플레이되는 특정 이메일, 그리고 현재의 문단, 줄(line), 문장, 혹은 이메일 내의 위치에 대한 다른 표현을 나타낼 수 있다. 따라서, 모바일 디바이스(16)는 어플리케이션 상태 업데이트를 위해서, 모바일 디바이스(16)에 의해 디스플레이되는 현재 이메일과 그리고 현재 디스플레이되는 이메일 내의 위치를나타내는 어플리케이션 상태에 대한 표시를 생성할 수 있다.
다른 일례로서, 어플리케이션은 음악 혹은 동영상 재생기 등과 같은 멀티미디어 재생기에 대응할 수 있다. 이러한 일례에서, 어플리케이션 상태는 재생 중인 현재 음악 혹은 비디오를 나타낼 수 있으며, 뿐만 아니라 상기 음악 혹은 비디오 내의 현재 시간적 위치(current temporal location)를 나타낼 수도 있다. 상기 현재 시간적 위치는, 어플리케이션 상태가 결정되었을 때 재생중이었던 멀티미디어 데이터 내의 시간적 위치를 정의할 수도 있다. 따라서, 현재의 시각적인 표현은, 재생 중인 음악 혹은 비디오의 현재 시간적 위치를 시각적으로 나타내는 상태 바(status bar)에 대응할 수도 있다. 모바일 디바이스(16)는 어플리케이션 상태 업데이트를 위하여, 모바일 디바이스(16)에 의해서 재생중인 현재 음악 혹은 비디오를 나타낼 뿐만 아니라, 음악/비디오 내의 시간적 위치를 나타내는 어플리케이션 상태에 대한 표시(indication)를 생성할 수 있다. 일부 실시예들에서, 모바일 디바이스(16)는 또한, 음악 혹은 비디오를 어플리케이션 상태 서버(12)로 전송하거나 혹은 컴퓨팅 디바이스(18)로 직접 전송할 수 있다(적용가능한 저작권법 및 관련 규정들에 의해 이러한 전송이 허용된다면).
도1b는 모바일 디바이스(22)와 컴퓨팅 디바이스(24)를 포함하는 다른 예시적인 시스템(20)을 나타내는 블록도이다. 이러한 일례에서는, 도1a에서와 같이 어플리케이션 상태에 대한 표시들을 서버로 전송하는 대신에, 모바일 디바이스(22)는 어플리케이션 상태에 대한 표시들을 컴퓨팅 디바이스(24)로 직접 전송할 수 있다. 즉, 사용자는 소정 시간 동안 모바일 디바이스(22)를 이용하여 어플리케이션을 실행할 수 있다. 이후, 사용자는 컴퓨팅 디바이스(24) 상에서 어플리케이션을 실행시킬 수도 있다.
컴퓨팅 디바이스(24)는, 컴퓨팅 디바이스(24)가 어플리케이션의 실행을 시작하였다라는 표시를 모바일 디바이스(22)로 전송할 수 있으며, 그리고 모바일 디바이스(22)에 의해 실행된 바와 같은 어플리케이션에 대한 현재 어플리케이션 상태를 요청할 수 있다. 모바일 디바이스(22)로부터 현재 어플리케이션 상태에 대한 표시를 수신한 이후, 컴퓨팅 디바이스(24)는 모바일 디바이스(22)로부터 수신된 바와 같은 현재 어플리케이션 상태에서 어플리케이션의 실행을 재개할 수 있다.
모바일 디바이스(22)와 컴퓨팅 디바이스(24)는, 모바일 디바이스(22)와 컴퓨팅 디바이스(24)를 통신가능하게 접속하는 연결(26)을 확립한다. 모바일 디바이스(22)는 다양한 방식으로 컴퓨팅 디바이스(24)에 통신가능하게 접속될 수 있다. 예를 들어, 컴퓨팅 디바이스(24)는 범용 직렬 버스(USB) 포트를 포함할 수 있는데, USB 포트는 가령, 마이크로 USB 케이블 등과 같은 USB 케이블에 의해서 모바일 디바이스(22)가 컴퓨팅 디바이스(24)에 접속될 수 있게 한다. USB 케이블은 모바일 디바이스(22)가 컴퓨팅 디바이스(24)와 통신할 수 있게 하며 또한, 모바일 디바이스(22)의 배터리를 충전하는데 이용될 수도 있다. 또 다른 일례로서, 모바일 디바이스(22)는, 컴퓨팅 디바이스(24)가 또한 접속되는 네트워크의 무선 스위치 혹은 무선 라우터(미도시)에 무선으로 접속될 수도 있다.
연결(26)을 확립한 이후, 모바일 디바이스(22)는 어플리케이션 상태에 대한 표시를 다양한 방식으로 컴퓨팅 디바이스(24)에게 전송할 수 있다. 일례로서, 모바일 디바이스(22)는 하나 이상의 어플리케이션 상태들에 대한 표시들을 컴퓨팅 디바이스(24)로 자동으로 전송할 수도 있다. 즉, 모바일 디바이스(22)는 어플리케이션 상태 정보를 컴퓨팅 디바이스(24)로 푸쉬(push)할 수 있다. 다른 일례로서, 컴퓨팅 디바이스(24)는, 컴퓨팅 디바이스(24)가 연결(26)을 통하여 모바일 디바이스(22)에 접속되는 때 그리고 모바일 디바이스(22) 상에도 또한 설치된 어플리케이션(혹은 이를 위한 유사한 어플리케이션이 설치된 경우)을 사용자가 실행하는 때, 어플리케이션 상태 정보를 모바일 디바이스(22)로부터 요청할 수 있다. 즉, 컴퓨팅 디바이스(24)는 어플리케이션 상태 정보를 모바일 디바이스(22)로부터 풀(pull)할 수 있다. 몇몇 일례들에서, 모바일 디바이스(22)와 컴퓨팅 디바이스(24)는 각각 데이터를 푸시 및 풀(push and pull)하도록 구성될 수도 있다.
몇몇 일례들에서, 모바일 디바이스(22)와 컴퓨팅 디바이스(24)는, 모바일 디바이스(22)로 하여금 어플리케이션 상태 정보를 컴퓨팅 디바이스(24)로 전송하게끔 야기하는 각각의 어플리케이션들을 실행하도록 구성될 수 있다. 예를 들면, 컴퓨팅 디바이스(24)에 의해서 실행되는 어플리케이션은 모바일 디바이스(22)가 컴퓨팅 디바이스(24)와 연결(26)을 확립하는 때를 인식할 수 있으며, 그리고 이에 응답하여, 컴퓨팅 디바이스(24)와 모바일 디바이스(22) 둘다에 의해서 실행될 수 있는 하나 이상의 어플리케이션들에 대한 어플리케이션 상태 정보를 모바일 디바이스(22)로부터 요청할 수 있다. 또 다른 일례로서, 모바일 디바이스(22)에 의해서 실행되는 어플리케이션은, 상기 연결(26)이 확립되는 때를 식별할 수 있으며, 그리고 이에 응답하여, 어플리케이션 상태 정보를 컴퓨팅 디바이스(24)로 전송할 수 있다. 모바일 디바이스(22)는 어플리케이션 상태를 디바이스(24)로 전송하면 그 즉시 어플리케이션의 실행을 중지시킬 수 있다(예를 들면, 음악 혹은 비디오의 재생을 중지시킬 수 있다).
본 발명의 기술이, 어플리케이션 상태 정보가 교환되는 것을 허용하는 어플리케이션들로 구현되는 경우, 모바일 디바이스(22)와 컴퓨팅 디바이스(24) 사이에서 어플리케이션 상태 정보가 교환되게 하는 이러한 어플리케이션들은, 사용자 어플리케이션 상태 정보의 교환을 사용자가 설정할 수 있게 하는, 설정 세팅을 제공할 수 있다. 예를 들어, 사용자는 옵션들을 제공받을 수 있는데, 이러한 옵션들은 어플리케이션 상태 정보의 교환을 자동으로 만들고, 다른 디바이스가 어플리케이션 상태 정보를 요청했었다는 표시를 제시하고, 그리고 상기 디바이스가 어플리케이션 상태 정보를 전송하는 것을 사용자가 확실한 응답을 통해 허용한 경우에만 어플리케이션 상태 정보를 전송하게 하거나 혹은 하나 이상의 어플리케이션들(혹은 모든 어플리케이션들)에 대한 어플리케이션 상태 정보의 교환을 완전하게 디스에이블시킬 수 있다. 이러한 방식으로, 사용자는 임의의 시간에서 2개의 디바이스들(가령, 모바일 디바이스 22와 컴퓨팅 디바이스 24) 사이에서의 어플리케이션 상태 정보의 교환을 인에이블 혹은 디스에이블시킬 수 있다. 사용자는 도1a의 예시적인 시스템(100)에서도 유사한 설정 옵션들을 제공받을 수 있다.
비록 설명을 위하여, 모바일 디바이스(22)가 어플리케이션 업데이트 정보를 컴퓨팅 디바이스(24)에게 제공하는 것으로 도1b가 묘사되었지만, 컴퓨팅 디바이스(24)도 이와 유사하게 어플리케이션 업데이트 정보를 모바일 디바이스(22)에게 제공할 수도 있음을 유의해야 한다. 이러한 방식으로, 사용자는 먼저 컴퓨팅 디바이스(24)를 이용하여 어플리케이션을 실행하고, 이후 모바일 디바이스(22) 상에서 상기 어플리케이션의 실행을 계속할 것을 원할 수 있다. 따라서, 컴퓨팅 디바이스(24)는 어플리케이션에 대한 현재 어플리케이션 상태를 결정할 수 있으며 그리고 현재 어플리케이션 상태를 모바일 디바이스(22)에게 전송할 수 있다. 다음으로, 사용자는 어플리케이션의 실행을 모바일 디바이스(22) 상에서 재개할 수 있다. 또한, 도1b에 관하여 설명된 기술들은, 2개의 이상의 유사한 디바이스들(가령, 2개 이상의 모바일 디바이스들, 2개 이상의 정적인 컴퓨팅 디바이스들, 혹은 모바일 디바이스와 정적인 디바이스의 임의의 조합)로 구현될 수도 있다.
또한, 도1a 및 도1b에 관한 기술들은 몇몇 일례에서 서로 조합될 수도 있다. 즉, 일부 실시예들에서, 모바일 디바이스는 다양한 설정 데이터에 기초하여, 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버 및/또는 컴퓨팅 디바이스에 제공하도록 구성될 수 있다. 예를 들면, 제 1 어플리케이션의 경우, 모바일 디바이스는 어플리케이션 상태 정보를 컴퓨팅 디바이스에게 직접 전송하도록 구성될 수 있는 반면에, 다른 하나의 어플리케이션의 경우, 모바일 디바이스는 도1a의 어플리케이션 상태 서버(12)와 같은 어플리케이션 상태 서버로 어플리케이션 상태 정보를 제공하도록 구성될 수도 있다.
도2는 어플리케이션 상태 서버 혹은 원격 컴퓨팅 디바이스와 같은 외부 디바이스에게 어플리케이션 상태 정보를 제공하는 예시적인 모바일 디바이스(30)를 도시한 블록도이다. 도2의 일례에서, 모바일 디바이스(30)는 디스플레이(32), 콘트롤 유닛(34), 및 외부 디바이스 인터페이스(44)를 포함한다. 콘트롤 유닛(34)은 상태 결정 모듈(36), 상태 업데이트 모듈(38), 타이밍 모듈(40), 및 하나 이상의 어플리케이션들을 포함한다. 모바일 디바이스(30)는 도1a의 모바일 디바이스(16) 혹은 도1b의 모바일 디바이스(22)에 대응할 수 있으며, 그리고 몇몇 일례들에서는 모바일 디바이스(16) 및 모바일 디바이스(22) 둘다와 유사한 기능을 포함할 수도 있다.
디스플레이(32)는 액정 디스플레이(LCD) 스크린, 터치스크린 디스플레이, 혹은 텍스트 및/또는 이미지를 사용자에게 제시할 수 있는 다른 디스플레이에 해당할 수 있다. 디스플레이(32)는 모바일 디바이스(30)의 사용자 인터페이스의 적어도 일부를 구성할 수 있다. 터치스크린에 해당하는 경우, 디스플레이(32)는 또한 터치스크린을 통하여(사용자가 터치스크린의 소정 영역을 선택하는 때에) 사용자로부터의 입력을 수신할 수 있다. 외부 디바이스 인터페이스(44)는 외부 디바이스와 통신하기 위한 인터페이스에 대응할 수 있다. 외부 디바이스 인터페이스(44)는 미니 혹은 마이크로-USB 포트, 네트워크 인터페이스 카드, 무선 랜(WLAN) 혹은 3rd Generation Partnership Project(3GPP) 네트워크에 연결하기 위한 인터페이스 등과 같은 무선 네트워크 인터페이스 혹은 다른 인터페이스에 대응할 수 있다. 일부 실시예들에서, 모바일 디바이스(30)는 다양한 방법으로 외부 디바이스들과 통신하기 위한 2개 이상의 외부 디바이스 인터페이스를 포함할 수 있다.
콘트롤 유닛(34)은 예컨대, 마이크로프로세서, 주문형 반도체(ASIC), 디지털 신호 프로세서(DSP), 필드 프로그램어블 게이트 어레이(FPGA) 혹은 다른 프로세싱 유닛들 등과 같은 하나 이상의 프로세서 혹은 프로세싱 유닛을 포함할 수 있다. 또한, 콘트롤 유닛(34)은 예컨대, 상태 결정 모듈(36), 상태 업데이트 모듈(38), 타이밍 모듈(40), 및 어플리케이션들(42)을 위한 명령들을 저장할 수 있는 플래시 메모리 등의 컴퓨터 판독가능한 저장 매체를 포함할 수 있다. 따라서, 하나 이상의 프로세싱 유닛들은 상태 결정 모듈(36), 상태 업데이트 모듈(38), 타이밍 모듈(40), 및 어플리케이션들(42)에 속한 기능들을 수행하기 위한 명령들을 실행할 수 있다. 일부 실시예들에서, 상태 결정 모듈(36), 상태 업데이트 모듈(38), 타이밍 모듈(40), 및 어플리케이션들(42)의 전부 또는 일부는 개별 하드웨어 유닛들에 대응할 수 있다. 상태 결정 모듈(36), 상태 업데이트 모듈(38), 타이밍 모듈(40), 및 어플리케이션들(42)의 전부 또는 일부는 기능적으로 집적되거나 및/또는 추가 모듈들 혹은 유닛들로 분리될 수도 있다.
어플리케이션들(42)은 콘트롤 유닛(34)에 의해서 실행될 수 있는 하나 이상의 어플리케이션들을 포함할 수 있는데, 이들 어플리케이션들은 다른 디바이스에 의해서도 실행될 수 있다(혹은 이를 위해 기능적 아날로그들이 실행될 수 있음). 예를 들면, 어플리케이션들(42)은 하나 이상의 웹 브라우저, 이메일 클라이언트, 게임, 문서 판독기, 스프레드시트 프로그램, 텍스트 에디터, 비디오 및/또는 음악 플레이어와 같은 멀티미디어 플레이어 혹은 다른 어플리케이션들을 포함할 수 있다. 전술한 바와 같이, 어플리케이션들(42)의 전부 또는 일부를 위한 명령들은 콘트롤 유닛(34)의 컴퓨터-판독가능한 저장 매체에 저장될 수 있다. 상기 명령들은 콘트롤 유닛(34)의 하나 이상의 프로세서들 혹은 프로세싱 유닛들에 의해서 실행될 수도 있다.
상태 결정 모듈(36)은, 콘트롤 유닛(34)에 의해서 어플리케이션들(42)이 실행되는 동안, 하나 이상의 어플리케이션들(42)의 어플리케이션 상태를 결정하도록 구성될 수 있다. 어플리케이션들(42)의 실행은 일반적으로 사용자로부터 입력을 수신하는 것을 포함하며, 이러한 입력에 응답하여 어플리케이션들(42)은 출력, 예컨대 시각적인 디스플레이를 출력한다. 현재의 어플리케이션 상태는 일반적으로 어플리케이션들(42) 중 하나의 실행에 관한 정보에 대응할 수 있는데, 이는 동일한 사용자 입력을 수신함이 없이 어플리케이션을 실행하는 동일하거나 혹은 다른 디바이스로 하여금 시각적인 디스플레이의 적어도 일 부분을 제시하게 하기에 충분하다.
하나의 일례로서, 웹 브라우저 어플리케이션의 경우, 웹 브라우저는 원하는 웹 페이지의 유니폼 리소스 로케이터(URL) 형태인 입력을 사용자로부터 수신할 수 있다. 또한, 웹 브라우저는 웹 페이지의 특정 부분으로의 스크롤링(scrolling) 형태인 사용자 입력을 수신할 수도 있다. 웹 브라우저에 대한 예시적인 어플리케이션 상태는 URL을 포함할 수 있으며, 그리고 일부 실시예에서는 사용자에 의한 입력으로서의 일련의 스크롤들 혹은 다른 움직임들의 결과로서 현재 디스플레이되는 상기 URL에 대응하는 웹 페이지의 일부분을 포함할 수 있다. 즉, 상태 결정 모듈(36)은 URL과 디스플레이(32)에 의해서 디스플레이되는 URL에 대응하는 웹 페이지의 현재 위치를 결정할 수 있으며 그리고 URL 및 웹 페이지 내의 위치에 대한 표현들을 포함하는 어플리케이션 상태를 구성할 수 있다. 따라서, 웹 브라우저를 실행하는 다른 디바이스는 외부 디바이스 인터페이스(44)를 통하여 모바일 디바이스(30)로부터 어플리케이션 상태를 수신할 수 있고 그리고 웹 브라우저를 상기 URL로 다이렉트할 수 있으며, 이후 모바일 디바이스(30)로부터 수신된 어플리케이션 상태 정보에 기초하여, 모바일 디바이스(30)에 의해서 디스플레이 되었던 웹 페이지의 소정 부분으로 자동으로 스크롤할 수 있다.
또 다른 일례로서, 이메일 클라이언트 어플리케이션의 경우, 이메일 클라이언트는 선택된 이메일 문서의 형태인 입력을 수신할 수 있다. 또한, 이메일 클라이언트는 상기 이메일 문서의 특정 부분으로의 스크롤링 형태인 사용자 입력을 수신할 수 있다. 상태 결정 모듈(36)은 콘트롤 유닛(34)이 이메일 클라이언트를 실행하는 중에 디스플레이(32)에 의해서 디스플레이되는 현재의 이메일 문서를 결정할 수 있으며, 그리고 일부 실시예들에서는 디스플레이되는 이메일 문서의 현재 부분을 결정할 수 있으며, 그리고 현재의 이메일 문서와 디스플레이되는 이메일 문서의 현재 부분을 나타내는 어플리케이션 상태 정보를 구성할 수 있다. 따라서, 이메일 클라이언트를 실행하는 다른 디바이스는, 상기 다른 디바이스가 사용자의 이메일 서버에 액세스하였다고 가정하면, 외부 디바이스 인터페이스(44)를 통하여 모바일 디바이스(30)로부터 어플리케이션 상태를 수신할 수 있고 그리고 이메일 클라이언트로 하여금 동일한 이메일 문서를 디스플레이하게 할 수 있으며, 이후 모바일 디바이스(30)로부터 수신된 어플리케이션 상태 정보에 기초하여, 모바일 디바이스(30)에 의해서 디스플레이 되었던 이메일 문서의 소정 부분으로 자동으로 스크롤할 수 있다.
다른 일례로서, 어플리케이션 상태는 콘트롤 유닛(34)에 의해서 실행되는 특정한 어플리케이션에 기초하는 다른 정보를 포함할 수도 있다. 예를 들면, 콘트롤 유닛(34)에 의해서 실행되는 게임 어플리케이션은, 플레잉 보드 상에 남아있는 피스들(pieces), 데크에 남아있는 카드들 및 데크 내의 카드들의 순서, 플레이에 남이있는 패들(tiles)과 이들의 위치(예를 들면, 마작: mahjong), 점수, 타이밍 정보, 혹은 게임의 시각적인 표현의 적어도 일부분을 재생성하기 위한 다른 데이터를 나타내는 어플리케이션 상태를 가질 수도 있다. 다른 일례로서, 문서 판독기는 열린 문서(open document)와 현재 디스플레이되는 문서의 일부분을 나타내는 어플리케이션 상태를 가질 수도 있다. 또 다른 일례로서, 비디오 혹은 오디오 플레이어와 같은 멀티미디어 어플리케이션은, 재생중인 음악 혹은 비디오와 재생중인 음악 혹은 비디오에 대한 현재 시간을 나타내는 어플리케이션 상태를 가질 수 있다. 멀티미디어 어플리케이션의 일례에서, 시각적인 표현의 일부분은, 음악 혹은 비디오의 현재 시간적인 위치에 대응하는 수평 스크롤 바에 해당할 수 있다.
예컨대, 도1b에 도시된 바와 같은 일부 실시예들에서, 상태 결정 모듈(36)은 외부 디바이스로부터의 요청이 있으면, 콘트롤 유닛(34)에 의해서 실행되는 하나 이상의 어플리케이션들(42)에 대한 현재 어플리케이션 상태를 결정할 수 있다. 다른 실시예들에서, 상태 결정 모듈(36)은 예컨대, 상태 업데이트 모듈(38)로부터의 요청들에 응답하여, 콘트롤 유닛(34)에 의해서 실행되는 하나 이상의 어플리케이션들(42)에 대한 현재 어플리케이션 상태를 주기적으로 결정할 수 있다. 상태 업데이트 모듈(38)은, 어플리케이션들(42)에 대한 현재 어플리케이션 상태를 주기적으로 요청하도록 구성될 수 있으며 그리고 어플리케이션들에 대한 업데이트들을 도1a에 도시된 바와 같은 외부 어플리케이션 상태 서버에 제공하도록 구성될 수 있다. 이러한 일례들에서, 상태 업데이트 모듈(38)은 하나 이상의 어플리케이션들(42)에 대한 상태 업데이트들을 어플리케이션 상태 서버에 주기적으로 제공하도록 구성될 수 있다.
상태 업데이트 모듈(38)은 하나 이상의 어플리케이션들(42)에 대한 현재 어플리케이션 상태의 표시들을 상태 결정 모듈(36)로부터 수신할 수 있다. 이후, 상태 업데이트 모듈(38)은 어플리케이션 상태 정보를 어플리케이션 상태 서버에 제공할 수 있다. 또한, 상태 업데이트 모듈(38)은 가령, 모바일 디바이스(30)를 고유하게 식별하는 모바일 디바이스(30)에 대한 고유 식별자와 같은, 상태 업데이트들에 대한 문맥 정보(contextual information)를 어플리케이션 상태 서버에게 제공할 수 있다. 상태 업데이트 모듈(38)은 타이밍 모듈(40)과 상호작용하여, 상태 업데이트들을 어플리케이션 상태 서버에 제공할 시간을 결정할 수 있다. 예를 들면, 상태 업데이트 모듈(38)은, 증분하는 시간 기간(예를 들면, X 분 마다 혹은 X 시간 마다)에서, 어플리케이션 상태 업데이트를 어플리케이션 상태 서버에 제공하도록 구성될 수 있다. 따라서, 시간 기간이 만료하였음을 타이밍 모듈(40)을 나타내는 때, 상태 업데이트 모듈(38)은 상태 결정 모듈(36)로부터 현재 어플리케이션 상태를 검색할 수 있으며 그리고 현재 어플리케이션 상태를 어플리케이션 상태 서버로 전송할 수 있다.
다른 컴퓨팅 디바이스가 어플리케이션에 대한 실행을 개시하였다라는 외부 디바이스로부터의 표시(예컨대, 어플리케이션 상태 서버 혹은 컴퓨팅 디바이스 자신으로부터의 메시지)에 응답하여, 상태 업데이트 모듈(38)은 향후(future)의 어플리케이션 상태 업데이트들을 금지시킬 수 있다. 예를 들면, 상태 업데이트 모듈(38)은, 타이밍 모듈(40)을 디스에이블시킬 수 있으며, 업데이트 상태 플래그를 실패(false)로 세팅하고(여기서, 상태 업데이트 모듈 38은 업데이트 상태 플래그를 체크하여, 타이밍 모듈 40이 만료되는 때에 어플리케이션 상태 업데이트를 어플리케이션 상태 서버로 전송해야할지의 여부를 결정할 수 있다), 어플리케이션의 실행을 중지시키거나 혹은 그렇지 않으면 향후의 어플리케이션 상태 업데이트들이 모바일 디바이스(30)로부터 전송되는 것을 금지시킬 수 있다. 상태 업데이트 모듈(38)은, 외부 컴퓨팅 디바이스가 상기 어플리케이션을 더 이상 실행하지 않는다는 표시에 응답하여, 어플리케이션 상태 업데이트들을 전송하는 것을 재개할 수 있다.
일부 실시예들에서, 모바일 디바이스(30)는, 모바일 디바이스(30)가 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버로 전송하는 것을 사용자가 더 이상 원하지 않음을 나타내는 입력을 사용자로부터 수신할 수 있다. 일부 실시예들에서, 모바일 디바이스(30)는 어플리케이션 상태 업데이트들의 전송을 중지하라는 표시를 단순히 수신할 수도 있는바, 이는 모바일 디바이스(30)에 의해서 실행중이었던 하나 이상의 어플리케이션들을 컴퓨팅 디바이스가 실행하기 시작했다고 결정하는 것에 응답하여, 전송 디바이스가 생성 및 모바일 디바이스(30)로 전송할 수도 있다. 임의의 경우에 있어서, 일반적으로, 상태 업데이트 모듈(38)이 어플리케이션 상태 업데이트들을 생성하였던 어플리케이션을, 모바일 디바이스(30)에 관련된 다른 디바이스가 실행하기 시작하였을 때, 상태 업데이트 모듈(38)은 어플리케이션 상태 업데이트들을 방지할 수 있다.
비록, 모바일 디바이스의 일례에 관하여 서술되었지만, 다른 디바이스들은 모바일 디바이스(30)의 구성요소들과 유사한 구성요소들을 포함할 수 있다. 예를 들면, 랩탑 컴퓨터, 테블릿 컴퓨터, 퍼스널 컴퓨터, 워크스테이션 컴퓨터, 혹은 다른 컴퓨팅 디바이스들은 모바일 디바이스(30)와 관련하여 서술된 구성요소들과 유사한 구성요소들을 포함할 수 있다.
도3은 어플리케이션 상태 서버(12)의 구성요소들의 배치를 예시한 블록도이다. 도3의 일례에서, 어플리케이션 상태 서버(12)는 콘트롤 유닛(52)과 외부 디바이스 인터페이스(60)를 포함한다. 외부 디바이스 인터페이스(60)는 외부 디바이스와 통신하기 위한 인터페이스에 대응할 수 있다. 외부 디바이스 인터페이스(60)는 USB 포트, 네트워크 인터페이스 카드, 가령, 무선 LAN(wireless LAN : WLAN)에 접속하기 위한 인터페이스 등과 같은 무선 네트워크 인터페이스 혹은 다른 인터페이스에 대응할 수 있다. 일부 실시예들에서, 어플리케이션 상태 서버(12)는 외부 디바이스들과 다양한 방식으로 통신하기 위한 2개의 이상의 외부 디바이스 인터페이스를 포함할 수 있다.
도3의 일례에서, 콘트롤 유닛(52)은 상태 업데이트 모듈(54), 상태 검색(retrieval) 모듈(56), 상태 데이터(58), 및 디바이스 그룹핑 모듈(62)을 포함한다. 콘트롤 유닛(52)은 예컨대, 마이크로프로세서, ASIC, DSP, FPGA, 혹은 다른 프로세싱 유닛 등과 같은 하나 이상의 프로세서들 혹은 프로세싱 유닛들을 포함할 수 있다. 콘트롤 유닛(52)은 플래시 메모리와 같은 컴퓨터-판독가능한 저장 매체를 더 포함할 수 있으며, 이러한 컴퓨터-판독가능한 저장 매체는 예컨대, 상태 업데이트 모듈(54), 상태 검색 모듈(56), 및 디바이스 그룹핑 모듈(62)을 위한 명령들을 저장할 수 있다. 따라서, 하나 이상의 프로세싱 유닛들은 상태 업데이트 모듈(54), 상태 검색 모듈(56), 및 디바이스 그룹핑 모듈(62)에 속한 기능들을 수행하기 위하여 상기 명령들을 실행할 수 있다. 일부 실시예들에서, 상태 업데이트 모듈(54), 상태 검색 모듈(56), 및 디바이스 그룹핑 모듈(62)의 전부 또는 일부는 개별 하드웨어 유닛에 대응할 수 있다. 상태 업데이트 모듈(54), 상태 검색 모듈(56), 및 디바이스 그룹핑 모듈(62)의 전부 또는 일부는 기능적으로 집적되거나 및/또는 추가 모듈들 혹은 유닛들로 분리될 수도 있다.
상태 데이터(58)는 서로 다른 다양한 디바이스들에 의해서 실행되는 어플리케이션들을 위한 어플리케이션 상태들을 포함하는 데이터베이스에 대응할 수 있다. 다른 일례들에서, 상태 데이터(58)는 플랫 파일(flat file), 하나 이상의 데이터 스트럭처들, 혹은 다른 구조적인 체계(organizational)로 구성될 수도 있다. 일반적으로, 상태 데이터(58)는 임의 개수의 관련 디바이스들에 의해서 실행될 수 있는 어플리케이션에 대한 현재의 어플리케이션 상태를 저장한다. 하나의 일례로서, 디바이스들의 그룹은, 사용자의 퍼스널 컴퓨터와 사용자의 휴대폰을 포함할 수 있다. 상태 데이터(58)는 그룹 내의 디바이스들 중 하나에 의해서 실행되는 어플리케이션(예컨대, 웹 브라우저, 이메일 클라이언트, 게임, 멀티미디어 어플리케이션 등등)에 대한 현재 어플리케이션 상태를 저장할 수 있는바, 따라서, 그룹 내의 다른 디바이스는 어플리케이션 상태를 검색할 수 있으며 그리고 사용자가 그룹 내의 다른 디바이스들 중 하나로 스위칭하고 그리고 어플리케이션의 실행을 개시하는 때 상기 어플리케이션의 실행을 재개할 수 있다.
상태 데이터(58)는 디바이스들의 그룹에 관련된 다수의 어플리케이션들에 대한 현재 어플리케이션 상태들을 저장할 수 있다. 또한, 상태 데이터(58)는 디바이스들의 다수의 그룹들에 대한 현재 어플리케이션 상태를 저장할 수 있다. 디바이스 그룹핑 모듈(62)은 그룹을 형성하도록 디바이스들을 연관시킬 수 있다.
관리자 혹은 다른 사용자는 그룹을 형성하도록 디바이스들을 서로 관련시키기 위한 정보를 제공할 수 있다. 예를 들면, 그룹에 부가될 디바이스를 사용하는 중에, 사용자는 로그인 증명서(login credential)(예를 들면, 사용자 이름과 패스워드)를 어플리케이션 상태 서버(12)에 제공할 수 있으며 그리고 사용중인 디바이스가 사용자의 로그인 증명서에 관계된 그룹에 부가되어야함을 나타낼 수 있다. 사용자는 복수의 그룹들을 생성할 수 있다. 각각의 그룹은 상기 그룹의 디바이스들 중 임의의 것에 의해서 실행될 수 있는 하나 이상의 어플리케이션들에 관련될 수 있다. 디바이스 그룹핑 모듈(62)은 디바이스들 간의 관련성(association)을 상태 데이터(85) 내에 저장할 수 있다.
상태 업데이트 모듈(54)은 외부 디바이스 인터페이스(60)를 통하여 그룹의 디바이스로부터 어플리케이션 상태 업데이트들을 수신할 수 있다. 어플리케이션 상태 업데이트들을 수신하면, 상태 업데이트 모듈(54)은, 이로부터 어플리케이션 상태 업데이트가 수신되었던 디바이스를 포함하고 있는 그룹을 결정하도록 상태 데이터(58)에 조회(query)할 수 있다. 다음으로 상태 업데이트 모듈(54)은, 이로부터 업데이트가 수신되었던 상기 디바이스를 포함하는 그룹과 관련하여, 해당 어플리케이션에 대한 현재 어플리케이션 상태를 상태 데이터(58)에 저장할 수 있다.
상태 검색(retrieval) 모듈(56)은 특정 어플리케이션에 대한 현재 어플리케이션 상태에 관한 요청을 특정 그룹의 디바이스로부터 수신할 수 있다. 이에 응답하여, 상태 검색 모듈(56)은 상기 어플리케이션에 대해서 그리고 상기 요청 디바이스를 포함하고 있는 그룹에 대해서 상태 데이터(58)에 조회할 수 있는데, 이는 현재 어플리케이션 상태를 검색하고 그리고 현재 어플리케이션 상태를 상기 요청을 전송한 디바이스에게 외부 디바이스 인터페이스(60)를 통해 제공하기 위한 것이다. 또한, 상태 검색 모듈(56)은, 외부 디바이스 인터페이스(60)를 통하여 어플리케이션 상태 서버(12)로 현재 상태 업데이트를 전송하였던 상기 그룹의 디바이스에게 메시지를 생성 및 전송할 수 있는데, 이는 상기 디바이스가 어플리케이션 상태 업데이트들을 전송하는 것을 중지시키기 위한 것이다.
일부 실시예들에서, 콘트롤 유닛(52)은 그룹 내의 오직 하나의 디바이스만에게만 "토큰(token)"이 수여되는, 토큰 패싱 체계(token passing scheme)를 구현할 수도 있다. 토큰을 구비한 디바이스는 어플리케이션 상태 업데이트들을 전송할 권리를 부여받을 수 있다. 따라서, 상태 업데이트 모듈(54)은 어플리케이션 상태 업데이트를 수신하면, 업데이트를 제공한 디바이스가 토큰을 갖고 있는지의 여부(즉, 상기 디바이스가 어플리케이션 상태 업데이트들을 제공하는 것이 허용되었는지)를 결정할 수 있으며 그리고 상기 디바이스가 토큰을 갖고 있는 경우에만 현재 어플리케이션 상태를 업데이트할 수 있다(혹은 상기 디바이스가 현재 어플리케이션 상태를 업데이트하는 것이 허용된다). 토큰이 부여된 디바이스를 제외한 그룹의 다른 디바이스들은 토큰을 요청할 수도 있으며, 이 경우 상기 토큰은 현재의 디바이스로부터 제거되어 요청 디바이스로 전달될 수 있다. 일반적으로, 토큰을 구비한 디바이스는 특정 어플리케이션을 실행하도록 사용자에 의해서 현재 이용되고 있는 디바이스에 대응할 수 있다.
도4는 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버로 주기적으로 제공하기 위한 예시적인 방법을 도시한 순서도이다. 비록, 모바일 디바이스(30)(도2 참조)에 관한 일례를 설명하기 위한 것이지만, 도4의 예시적인 방법을 구현 및 실행하기 위하여 임의의 적절한 디바이스가 이용될 수도 있음을 유의해야 한다.
먼저, 모바일 디바이스(30)는 어플리케이션의 실행을 개시할 수 있다(80). 예를 들면, 콘트롤 유닛(34)은 어플리케이션들(42) 중 하나의 실행을 개시할 수 있다. 콘트롤 유닛(34)은 예를 들어, 실행을 개시하기 위하여, 어플리케이션들(42) 중 하나에 대한 선택을 사용자로부터 수신할 수 있다. 예를 들어, 사용자는 모바일 디바이스(30)의 터치스크린과 상호작용하여, 어플리케이션에 대응하는 아이콘을 선택할 수 있으며, 그리고 콘트롤 유닛(34)은 상기 아이콘이 선택되었다는 표시를 수신할 수 있으며, 그리고 상기 어플리케이션에 대한 명령들을 검색하고 그리고 실행을 개시할 수 있다.
다음으로 상태 결정 모듈(36)은 실행된 어플리케이션에 대한 현재 어플리케이션 상태를 결정할 수 있다(82). 예를 들면, 웹 브라우저 어플리케이션의 경우, 상태 결정 모듈(36)은 현재의 웹 페이지 URL 그리고 디스플레이되는 웹 페이지의 위치를 결정할 수 있다. 다른 일례로서, 이메일 어플리케이션의 경우, 상태 결정 모듈(36)은 판독중인 현재 이메일 문서와 디스플레이되는 이메일 문서의 위치를 결정할 수 있다. 다른 일례로서, 게임 어플리케이션의 경우, 상태 결정 모듈(36)은, 게임의 현재 상태를 결정할 수 있는바, 예컨대, 데크 내의 카드들, 이들의 순서들, 플레이 중인 카드들 및 이들의 위치들(예를 들면, 솔리테르(solitaire) 게임), 플레이 필드 상에 있는 패(tile)들의 위치(예를 들면, 마작 게임) 혹은 게임 피스들의 다른 위치들과 존재/부존재 등을 결정할 수 있다. 또 다른 일례로서, 멀티미디어 어플리케이션의 경우, 상태 결정 모듈(36)은 멀티미디어 어플리케이션에 의해서 재생 중인 현재의 멀티미디어 파일(예컨대, 음악 또는 비디오)을 결정할 수 있으며, 뿐만 아니라 재생 중인 멀티미디어 데이터 내의 현재의 시간적 위치를 결정할 수도 있다.
상태 업데이트 모듈(38)은 어플리케이션 상태 업데이트를 가령, 어플리케이션 상태 서버(12)(도1a 참조)와 같은 어플리케이션 상태 서버에 제공할 수 있다(84). 일부 실시예들에서, 상태 업데이트 모듈(38)은 콘트롤 유닛(34)에 의해서 실행중인 어플리케이션을 실행할 수 있는 디바이스에게 어플리케이션 상태 업데이트를 직접 제공할 수도 있다. 도4의 일례에서, 어플리케이션 상태 업데이트를 제공한 이후, 상태 업데이트 모듈(38)은 예컨대, 후속 어플리케이션 상태 업데이트를 제공하기 전에 기결정된 소정 시간만큼 대기하도록, 타이밍 모듈(40)을 실행시킬 수 있다(86).
기결정된 소정 시간이 만료되었다라는 표시를 기다리는 동안, 상태 업데이트 모듈(38)은 어플리케이션 상태 업데이트들의 제공을 중지하라는 표시(예컨대, 메시지 혹은 신호)를 체크할 수도 있다(88). 만일, 이러한 메시지를 수신하지 않는다면(88에서 '아니오'), 콘트롤 유닛(34)은 타이밍 모듈(40)을 계속 실행시킬 수 있다(86). 만일, 이전의 어플리케이션 상태 업데이트 이후로 상기 기결정된 소정 시간이 만료되었다면(90의 '예'), 상태 결정 모듈(36)은 실행중인 어플리케이션에 대한 현재 어플리케이션 상태를 다시한번 결정할 수 있으며(82), 상태 업데이트 모듈(38)은 어플리케이션 상태 업데이트를 예컨대, 어플리케이션 상태 서버(12)에 제공할 수 있으며, 그리고 타이밍 모듈(40)을 재시작할 수 있다(86). 만일, 상기 기결정된 소정 시간이 만료되지 않았다면(90의 '아니오'), 상태 업데이트 모듈(38)은 타이밍 모듈(40)을 계속 실행시킬 수 있다(86).
한편, 어플리케이션 상태 업데이트들의 전송을 중지하라는 메시지를 상태 업데이트 모듈(38)이 수신하였다면(88의 '예'), 상태 업데이트 모듈(38)은 향후 상태 업데이트들의 전송을 금지할 수 있다(92). 일부 실시예들에서, 콘트롤 유닛(34)은 어플리케이션의 실행을 중지시킬 수 있다. 대안적으로, 콘트롤 유닛(34)은 어플리케이션 상태 업데이트들을 전송함이 없이 어플리케이션의 실행을 계속할 수도 있다.
도4의 방법은 제 1 디바이스에 의해서 어플리케이션을 실행하고, 상기 어플리케이션의 현재 어플리케이션 상태를 결정하고, 여기서 현재 어플리케이션 상태는 어플리케이션의 현재의 시각적인 표현의 적어도 일부분을 포함하며, 결정된 현재 어플리케이션 상태에 대한 표시를 사용자의 개입없이 제 1 디바이스로부터 제 2 디바이스(제 1 디바이스와 다름)로 전송하고, 여기서 결정된 현재 어플리케이션 상태에 대한 표시는 어플리케이션의 현재의 시각적인 표현의 적어도 일부분을 재생성하기 위한 정보를 포함하며, 그리고 제 3 디바이스가 상기 어플리케이션을 실행하고 있다는 표시를 수신하는 것에 응답하여 현재 어플리케이션 상태에 대한 후속 표시들이 제 1 디바이스로부터 제 2 디바이스로 전송되는 것을 금지하는 것으로 요약될 수 있다. 비록, 도2에 대해 서술된 모바일 디바이스(30)의 예시적인 구성요소들에 관하여 전술한 일례가 설명되었지만, 다른 디바이스들도 도4의 방법을 수행할 수 있음을 유의해야 한다.
도5는 어플리케이션 상태 서버를 통하여 모바일 디바이스와 컴퓨팅 디바이스 사이에서 어플리케이션 상태 정보를 교환하기 위한 예시적인 방법을 나타낸 순서도이다. 비록, 모바일 디바이스 및 컴퓨팅 디바이스의 일례들에 관하여 설명되었지만, 도5의 방법은 다양한 유형들의 2개 이상의 디바이스들, 예컨대, 2개 이상의 모바일 디바이스들, 2개 이상의 정적인 컴퓨팅 디바이스들, 및/또는 모바일 디바이스와 정적인 디바이스의 임의의 조합에 의해서 수행될 수도 있음을 유의해야 한다. 일부 실시예들에서, 컴퓨팅 디바이스에 대응하는 디바이스는 어플리케이션 상태 서버에 속한 기능들을 또한 수행할 수도 있다.
도5의 일례에서, 예컨대 도1a의 모바일 디바이스(16)와 같은 모바일 디바이스는 어플리케이션을 실행한다(100). 어플리케이션을 실행하는 동안, 모바일 디바이스(16)는 현재 어플리케이션 상태를 나타내는 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버(12)에 주기적으로 전송하며(102), 어플리케이션 상태 서버(12)는 현재 어플리케이션 상태를 저장한다(104). 예를 들면, 어플리케이션 상태 서버(12)는 모바일 디바이스(16)에 대한 식별자를 판별할 수 있으며 그리고 모바일 디바이스(16)에 대한 식별자를 포함하는 디바이스들의 그룹과 관련된 데이터베이스에 수신된 어플리케이션 상태를 저장할 수 있다.
모바일 디바이스(16)는 어플리케이션의 실행을 지속할 수 있으며(100) 그리고 업데이트들의 전송을 중지하는 메시지가 수신되지 않는다면(106의 '아니오'), 어플리케이션 상태 업데이트들을 어플리케이션 상태 서버(12)에 주기적으로 전송할 수 있다(102). 예를 들어, 컴퓨팅 디바이스(18)가 어플리케이션(혹은 유사한 어플리케이션)의 실행을 개시한 이후(108), 컴퓨팅 디바이스(18)는 어플리케이션에 대한 현재 어플리케이션 상태를 어플리케이션 상태 서버(12)로부터 요청할 수도 있다(110). 예시된 일례에서, 어플리케이션에 대한 현재 어플리케이션 상태를 어플리케이션 상태 서버가 저장했다라고 가정하면, 어플리케이션 상태 서버(12)는 저장된 어플리케이션 상태를 검색할 수 있으며(112) 그리고 새로운 디바이스(이러한 일례에서는 컴퓨팅 디바이스 18)가 어플리케이션의 실행을 개시하였다라는 표시를 모바일 디바이스(16)에게 전송할 수 있다(114). 따라서, 모바일 디바이스(16)는 어플리케이션 상태 서버(12)로부터 상기 표시를 수신하는 것에 응답하여(106의 '예'), 향후 상태 업데이트들을 금지할 수 있다(116).
또한, 어플리케이션 상태 서버(12)는 현재 어플리케이션 상태에 대한 표시를 컴퓨팅 디바이스(18)에게 전송할 수 있다(118). 현재 어플리케이션 상태에 대한 표시를 수신한 이후(120), 컴퓨팅 디바이스(18)는 어플리케이션 상태에 대한 수신된 상기 표시(indication)에 의해서 표시되는(indicated) 포인트로부터 어플리케이션의 실행을 재개할 수 있다. 예를 들어, 웹 브라우저 어플리케이션의 경우, 컴퓨팅 디바이스(18)는 현재 어플리케이션 상태의 표시자(indicator)에 의해서 표시되는 URL 로부터 웹 페이지를 검색하고, 웹 페이지를 디스플레이하며, 그리고 현재 어플리케이션 상태의 표시자에 의해서 표시되는 위치(position)로 자동으로 스크롤할 수 있다. 또 다른 일례로서, 이메일 클라이언트 어플리케이션의 경우, 컴퓨팅 디바이스(18)는 어플리케이션 상태의 표시자의 이메일 문서를 제시할 수 있으며 그리고 어플리케이션 상태에 의해서 표시되는 위치로 자동으로 스크롤할 수 있다. 게임 어플리케이션의 경우, 컴퓨팅 디바이스(18)는, 어플리케이션 상태의 표시자에 의해서 표시되는 게임의 상태를 재생성할 수 있다. 멀티미디어 어플리케이션의 경우, 컴퓨팅 디바이스(18)는, 현재 어플리케이션 상태에 의해서 표시되는 멀티미디어 데이터 파일(예컨대, 음악 혹은 비디오)을 로딩하고 그리고 어플리케이션 상태의 표시자에 의해서 표시되는 시간적 위치로부터 멀티미디어 데이터 파일의 재생을 시작할 수 있다.
도6은 어플리케이션 상태 서버를 통하여 모바일 디바이스와 컴퓨팅 디바이스 사이에서 어플리케이션 상태 정보를 교환하기 위한 또 다른 예시적인 방법을 나타낸 순서도이다. 도6의 일례에서는, 어플리케이션 상태에 대한 표시들을 주기적으로 제공하는 대신에, 모바일 디바이스(16)는 요청이 있으면(즉, 어플리케이션 상태 서버 12로부터의 요청에 응답하여) 현재 어플리케이션 상태에 대한 표시를 제공한다. 다시한번 설명하는 바와 같이, 비록, 도1a의 사례의 구성요소들에 관하여 설명되었지만, 도6의 방법은 임의의 적절한 디바이스들, 예컨대, 2개 이상의 모바일 디바이스들, 2개 이상의 정적인 컴퓨팅 디바이스들, 및/또는 모바일 디바이스와 정적인 디바이스의 임의의 조합에 의해서 수행될 수도 있음을 유의해야 한다.
도6의 일례에서, 모바일 디바이스(16)는 어플리케이션를 실행하고(140) 그리고 현재 어플리케이션 상태를 전송하라는 요청을 예컨대, 어플리케이션 상태 서버(12)로부터 수신할 때까지 어플리케이션의 실행을 계속한다(142). 어플리케이션을 실행하는 동안의 소정 위치에서, 컴퓨팅 디바이스(18)는 어플리케이션의 실행을 개시할 수 있다(144). 따라서, 컴퓨팅 디바이스(18)는 어플리케이션 상태 서버(12)로부터 현재 어플리케이션 상태를 요청할 수 있다(146). 현재 어플리케이션 상태에 대한 요청에 응답하여, 어플리케이션 상태 서버(12)는 컴퓨팅 디바이스(18)와 관련된 디바이스(어플리케이션을 실행중일 수 있으며, 이러한 일례에서는 모바일 디바이스 16)를 결정할 수 있다. 따라서, 어플리케이션 상태 서버(12)는 모바일 디바이스(16)로부터 현재 어플리케이션 상태를 요청할 수 있다(148).
현재 어플리케이션 상태에 대한 상기 요청에 응답하여, 모바일 디바이스(16)는 현재 어플리케이션 상태에 대한 표시를 어플리케이션 상태 서버(12)로 전송할 수 있다(150). 어플리케이션 상태 서버(12)는 현재 어플리케이션 상태에 대한 상기 표시를 수신하고(152) 그리고 현재 어플리케이션 상태에 대한 상기 표시를 컴퓨팅 디바이스(18)에게 전송한다(154). 현재 어플리케이션 상태에 대한 상기 표시를 수신한 이후(156), 컴퓨팅 디바이스(18)는 현재 어플리케이션 상태에서 어플리케이션의 실행을 재개할 수 있다(158).
도7은 예컨대, 모바일 디바이스(22) 및 컴퓨팅 디바이스(24)(도1b)와 같은 2개의 디바이스들 사이에서 어플리케이션 상태를 교환하기 위한 또 다른 예시적인 방법을 나타낸 순서도이다. 도7의 예시적인 방법에서, 모바일 디바이스(22)와 컴퓨팅 디바이스(24)는 어플리케이션 상태 서버를 이용하지 않고, 현재 어플리케이션 상태에 대한 표시를 교환한다. 비록, 예시를 위해서 모바일 디바이스(22)와 컴퓨팅 디바이스(24)에 관하여 설명되었지만, 2개 이상의 모바일 디바이스들, 2개 이상의 정적인 컴퓨팅 디바이스들, 또는 이들의 임의의 조합과 같은 임의의 2개의 디바이스들에 의해서 도7의 방법이 수행될 수도 있음을 유의해야 한다.
도7의 일례에서, 모바일 디바이스(22)는 어플리케이션을 실행하고(180) 그리고 현재 어플리케이션 상태에 대한 요청의 수신을 기다린다(182). 모바일 디바이스(22)에 의해서 어플리케이션을 실행하는 동안의 소정 포인트에서, 컴퓨팅 디바이스(24)는 상기 어플리케이션의 실행을 개시할 수 있으며, 또는 상기 어플리케이션의 실행을 개시하라는 요청을 예컨대, 사용자로부터 수신할 수도 있다(184). 이에 응답하여, 컴퓨팅 디바이스(18)는 모바일 디바이스(22)에 의해서 실행된 바와 같은 현재 어플리케이션 상태의 표시에 대한 요청을 모바일 디바이스(22)로 전송할 수 있다(186).
이러한 요청에 응답하여, 모바일 디바이스(22)는 현재 어플리케이션 상태에 대한 표시를 컴퓨팅 디바이스(18)로 전송할 수 있다(188). 모바일 디바이스(22)로부터 현재 어플리케이션 상태에 대한 상기 표시를 수신한 이후(190), 컴퓨팅 디바이스(18)는, 현재 어플리케이션 상태에 대한 표시에 의해서 표시되는 상태로부터 어플리케이션의 실행을 재개할 수 있다(192).
본 명세서에 서술된 기술들은 하드웨어, 소프트웨어, 펌웨어, 혹은 이들의 임의의 조합으로 적어도 부분적으로 구현될 수 있다. 예를 들어, 본 명세서에 서술된 기술들의 다양한 양상들은 하나 이상의 마이크로프로세서들, 디지털 신호 처리기(DSP), 주문형 반도체(ASIC), 필드 프로그램어블 게이트 어레이(FPGA) 혹은 다른 등가의 집적회로 혹은 개별 논리 회로를 포함하는 하나 이상의 프로세서들로 구현될 수 있을 뿐만 아니라 이러한 구성요소들의 임의의 조합으로 구현될 수도 있다. 일반적으로 "프로세서" 혹은 "프로세싱 유닛" 이라는 용어는, 단독으로 혹은 다른 논리 회로들과 조합되는, 전술한 논리 회로들 중 임의의 것을 지칭할 수 있으며 혹은 임의의 다른 등가 회로들을 지칭할 수도 있다. 또한, 하드웨어를 포함하는 콘트롤 유닛은 본 명세서의 기술들 중 하나 이상을 수행할 수 있다.
이러한 하드웨어, 소프트웨어, 펌웨어는 동일한 디바이스 내에 구현될 수도 있으며 혹은 본 명세서에 개시된 다양한 동작들 및 기능들을 지원하는 개별 디바이스들로 구현될 수도 있다. 또한, 서술된 임의의 유닛들, 모듈들, 혹은 구성요소들은 함께 구현될 수도 있으며 혹은, 개별적이지만 공동사용가능한(interoperable) 논리 디바이스들로 별도로 구현될 수도 있다. 서로 다른 피처들을 모듈들 혹은 유닛들로 묘사한 것은, 서로 다른 기능적 양상들을 강조하기 위한 것일 뿐, 별도의 하드웨어 혹은 소프트웨어 구성요소들에 의해서 이러한 모듈들 혹은 유닛들이 실현되어야 함을 반드시 의미하는 것은 아니다. 오히려, 하나 이상의 모듈들 혹은 유닛들에 관련된 기능들은, 별도의 하드웨어 혹은 소프트웨어 구성요소들에 의해서 구현될 수도 있으며, 또는 공통 혹은 개별 하드웨어 또는 소프트웨어 구성요소들 내에 통합될 수도 있다.
또한, 본 명세서에 서술된 기술들은 가령, 명령들을 포함하는 컴퓨터-판독가능한 저장 매체 등과 같은 컴퓨터-판독가능한 매체에 구현 혹은 인코딩될 수도 있다. 컴퓨터-판독가능한 매체에 구현 혹은 인코딩된 명령들은, 상기 명령들이 실행되는 때에, 프로그램가능한 프로세서 혹은 다른 프로세서로 하여금 본 발명에 따른 방법을 수행하게 할 수 있다. 컴퓨터-판독가능한 저장 매체는, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그램가능한 판독 전용 메모리(PROM), 소거 및 프로그램가능한 판독 전용 메모리(EPROM), 전기적으로 소거 및 프로그램가능한 판독 전용 메모리(EEPROM), 플래시 메모리, 하드 디스크, CD-ROM, 플로피 디스크, 카세트, 자기 매체, 광 매체, 혹은 다른 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. "컴퓨터-판독가능한 저장 매체" 라는 용어는, 물리적인 저장 매체를 지칭하지만, 신호, 반송파(carrier wave) 등의 다른 일시적인 매체를 지칭하는 것은 아니다. 이러한 방식으로, 컴퓨터-판독가능한 저장 매체는 비-일시적인 물리적인 매체로 이해되어야 한다.
다양한 일례들이 설명되었다. 이들 일례들 및 다른 일례들은 다음의 청구항들의 범위에 속한다.

Claims (23)

  1. 명령들(instructions)을 포함하는 컴퓨터-판독가능한 저장매체로서, 실행되는 때에 상기 명령들은 제 1 클라이언트 디바이스의 프로세서로 하여금,
    상기 제 1 클라이언트 디바이스에서 어플리케이션을 실행하게 하고;
    상기 어플리케이션의 현재 어플리케이션 상태를 결정하게 하고 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현(current visual representation)의 적어도 일부를 포함하며- ;
    상기 제 1 클라이언트 디바이스로부터 서버 디바이스로, 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하고 -결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고
    다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 표시를 수신하는 것에 응답하여, 상기 제 1 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들과 상기 다른 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들 간의 충돌을 방지하도록, 현재 어플리케이션 상태에 대한 후속 표시들이 상기 서버 디바이스로 전송되는 것을 상기 제 1 클라이언트 디바이스가 중지시키게 하는 것
    을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  2. 제1항에 있어서,
    상기 현재 어플리케이션 상태는 제 2 어플리케이션 상태를 포함하고 그리고 상기 표시는 제 2 어플리케이션 상태에 대한 제 2 표시를 포함하며,
    상기 프로세서로 하여금,
    상기 제 2 어플리케이션 상태를 결정하기 전에, 상기 어플리케이션의 제 1 어플리케이션 상태를 결정하게 하고 그리고 상기 제 1 어플리케이션 상태에 대한 제 1 표시를 상기 서버 디바이스로 전송하게 하며; 그리고
    상기 제 1 표시를 전송한 이후에 타이머를 실행하게 하는 명령들을 더 포함하며,
    상기 프로세서로 하여금 상기 제 2 어플리케이션 상태를 결정하게 하는 명령들은, 상기 프로세서로 하여금 상기 타이머의 만료 후에 상기 제 2 어플리케이션 상태를 결정하게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  3. 제1항에 있어서,
    상기 어플리케이션은 멀티미디어 데이터를 제공하는 멀티미디어 어플리케이션을 포함하고, 상기 멀티미디어 데이터는 오디오 데이터와 비디오 데이터 중 적어도 하나를 포함하며, 그리고 상기 현재 어플리케이션 상태는 상기 현재 어플리케이션 상태가 결정되었을 때 재생 중이었던 멀티미디어 데이터 내의 시간적인 위치(temporal location)를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  4. 제1항에 있어서,
    상기 어플리케이션은 웹 페이지를 디스플레이하는 웹 브라우저를 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 상기 웹 페이지의 유니폼 리소스 로케이터(uniform resource locator: URL)를 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  5. 제4항에 있어서,
    상기 웹 브라우저는 복수의 윈도우들을 유지하고, 상기 복수의 윈도우들 각각은 각각의 웹 페이지에 대응하며, 그리고 상기 현재 어플리케이션 상태는 상기 복수의 윈도우들에 대한 각각의 웹 페이지들의 URL들을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  6. 제4항에 있어서,
    상기 현재의 시각적인 표현의 적어도 일부는 상기 웹 브라우저에 의해서 디스플레이되는 웹 페이지의 일부분을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  7. 제1항에 있어서,
    상기 어플리케이션은 이메일 문서를 디스플레이하는 이메일 어플리케이션을 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 이메일 문서에 대한 표시(indication)를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  8. 제7항에 있어서,
    상기 현재의 시각적인 표현의 적어도 일부는, 상기 이메일 어플리케이션에 의해서 디스플레이되는 상기 이메일 문서의 위치(position)를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  9. 제1항에 있어서,
    상기 컴퓨팅 디바이스는 휴대폰을 포함하며, 그리고 상기 제 3 디바이스는 퍼스널 컴퓨팅 디바이스를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  10. 제1항에 있어서,
    상기 프로세서로 하여금, 별도의 클라이언트 디바이스가 상기 어플리케이션을 실행중이라는 표시를 수신하는 것에 응답하여 상기 어플리케이션의 실행을 중지시키게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  11. 제1항에 있어서,
    상기 프로세서로 하여금 상기 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하는 상기 명령들은,
    상기 프로세서로 하여금 상기 결정된 현재 어플리케이션 상태에 대한 표시를 사용자의 개입 없이 상기 서버 디바이스로 전송하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  12. 제1항에 있어서,
    다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 상기 표시는,
    상기 제 1 클라이언트 디바이스로부터 상기 서버 디바이스로 현재 어플리케이션 상태에 대한 표시들을 전송하는 것을 중지시키기 위한 상기 서버 디바이스로부터의 표시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체.
  13. 클라이언트 디바이스로서,
    디스플레이;
    외부 디바이스들과 데이터를 교환하도록 된 인터페이스;
    상기 디스플레이가 어플리케이션의 현재의 시각적인 표현을 디스플레이하도록 상기 어플리케이션을 실행하며, 상기 어플리케이션의 현재 어플리케이션 상태를 결정하도록 된 콘트롤 유닛 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 포함하며- ; 그리고
    결정된 현재 어플리케이션 상태에 대한 표시를 상기 인터페이스를 통하여 상기 클라이언트 디바이스로부터 서버 디바이스로 전송하기 위한 수단
    을 포함하고,
    결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며,
    다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 표시에 응답하여, 상기 제 1 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들과 상기 다른 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들 간의 충돌을 방지하도록, 상기 콘트롤 유닛은 상기 현재 어플리케이션 상태에 대한 후속 표시들이 상기 서버 디바이스로 전송되는 것을 중지시키는 것을 특징으로 하는 클라이언트 디바이스.
  14. 명령들을 포함하는 컴퓨터 판독가능한 저장매체로서, 실행되는 때에 상기 명령들은 제 1 클라이언트 디바이스의 프로세서로 하여금,
    상기 제 1 클라이언트 디바이스에서 어플리케이션을 실행하게 하고;
    상기 어플리케이션의 현재 어플리케이션 상태를 결정하게 하고 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고
    결정된 현재 어플리케이션 상태에 대한 표시를 컴퓨팅 디바이스로부터 제 2의 다른 클라이언트 디바이스로 전송하게 하되, 상기 컴퓨팅 디바이스에 의해서 실행되는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성함으로써 상기 제 2의 다른 클라이언트 디바이스는 상기 현재 어플리케이션 상태에서 상기 어플리케이션의 실행을 재개하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체.
  15. 제14항에 있어서,
    상기 프로세서로 하여금, 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하는 상기 명령들은,
    상기 프로세서로 하여금,
    상기 컴퓨팅 디바이스가 무선 액세스 포인트의 통신 범위 내에 있는지를 결정하게 하고; 그리고
    상기 결정에 응답하여, 결정된 현재 어플리케이션 상태에 대한 상기 표시를 상기 무선 액세스 포인트를 통하여 제 2 컴퓨팅 디바이스로 전송하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체.
  16. 제14항에 있어서,
    상기 어플리케이션은 멀티미디어 데이터를 제공하는 멀티미디어 어플리케이션을 포함하고, 상기 멀티미디어 데이터는 오디오 데이터와 비디오 데이터 중 적어도 하나를 포함하며, 그리고 상기 현재 어플리케이션 상태는 상기 현재 어플리케이션 상태가 결정되었을 때 재생 중이었던 멀티미디어 데이터 내의 시간적인 위치를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체.
  17. 제14항에 있어서,
    상기 어플리케이션은 웹 페이지를 디스플레이하는 웹 브라우저를 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 상기 웹 페이지의 유니폼 리소스 로케이터(URL)를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체.
  18. 제14항에 있어서,
    상기 어플리케이션은 이메일 문서를 디스플레이하는 이메일 어플리케이션을 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 이메일 문서에 대한 표시(indication)를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체.
  19. 제14항에 있어서,
    상기 프로세서로 하여금 상기 현재 어플리케이션 상태에 대한 표시를 전송하게 하는 상기 명령들은,
    상기 프로세서로 하여금 상기 현재 어플리케이션 상태에 대한 표시를 사용자의 개입 없이 전송하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체.
  20. 서버 디바이스로서,
    2개 이상의 클라이언트 디바이스들로부터 어플리케이션 상태들의 표시들을 수신하고 그리고 상기 어플리케이션 상태들의 표시들을 상기 2개 이상의 클라이언트 디바이스들에게 제공하도록 된 하나 이상의 외부 디바이스 인터페이스들 -어플리케이션 상태들의 상기 표시들은 상기 어플리케이션 상태들에 대응하는 어플리케이션들의 현재의 시각적인 표현들의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고
    상기 2개 이상의 클라이언트 디바이스들을 그룹으로 연관시키고, 상기 그룹의 제 1 클라이언트 디바이스로부터 어플리케이션 상태의 표시를 수신하고, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태의 표시에 대응하는 어플리케이션을 상기 그룹의 제2의 다른 클라이언트 디바이스가 실행하기 시작했다는 것을 판별하고, 그리고 상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라는 상기 판별에 응답하여 어플리케이션 상태의 상기 표시를 상기 제 2 클라이언트 디바이스에게 제공하도록 된 콘트롤 유닛
    을 포함하는 것을 특징으로 하는 서버 디바이스.
  21. 제20항에 있어서,
    상기 콘트롤 유닛을 또한, 상기 제 1 클라이언트 디바이스가 상기 어플리케이션의 어플리케이션 상태의 후속 표시들을 서버 디바이스로 전송하는 것을 금지하기 위하여, 상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하고 있다라는 표시를 상기 제 1 클라이언트 디바이스로 전송하도록 된 것을 특징으로 하는 서버 디바이스.
  22. 방법으로서,
    2개 이상의 관련된 클라이언트 디바이스들로 구성된 그룹의 제 1 클라이언트 디바이스로부터 어플리케이션 상태에 대한 표시를 서버 디바이스에 의해서 수신하는 단계 -상기 어플리케이션 상태에 대한 표시는 상기 제 1 클라이언트 디바이스에 의해서 실행되는 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ;
    2개 이상의 관련된 클라이언트 디바이스들로 구성된 상기 그룹의 제2의 다른 클라이언트 디바이스가, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태에 대한 상기 표시에 대응하는 어플리케이션을 실행하기 시작했다는 것을 판별하는 단계; 그리고
    상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라고 판별하는 것에 응답하여, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태에 대한 상기 표시를 상기 서버 디바이스가 상기 제 2 클라이언트 디바이스에 제공하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  23. 제22항에 있어서,
    상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라고 판별하는 것에 응답하여, 상기 제 1 클라이언트 디바이스가 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스로 전송하는 것을 중지시키도록, 상기 제 2 클라이언트가 상기 어플리케이션을 실행하기 시작했다라는 표시를 상기 제 1 클라이언트 디바이스로 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
KR1020137012359A 2010-10-13 2011-10-06 복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행 KR101312708B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US12/903,972 2010-10-13
US12/903,972 US8473577B2 (en) 2010-10-13 2010-10-13 Continuous application execution between multiple devices
US13/250,770 2011-09-30
US13/250,770 US8260879B2 (en) 2010-10-13 2011-09-30 Continuous application execution between multiple devices
PCT/US2011/055137 WO2012051052A1 (en) 2010-10-13 2011-10-06 Continuous application execution between multiple devices

Publications (2)

Publication Number Publication Date
KR20130075783A true KR20130075783A (ko) 2013-07-05
KR101312708B1 KR101312708B1 (ko) 2013-10-01

Family

ID=45935048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137012359A KR101312708B1 (ko) 2010-10-13 2011-10-06 복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행

Country Status (8)

Country Link
US (3) US8473577B2 (ko)
JP (1) JP5435833B2 (ko)
KR (1) KR101312708B1 (ko)
CN (2) CN106909448B (ko)
AU (1) AU2011313950B2 (ko)
DE (1) DE112011103486T5 (ko)
GB (1) GB2499738B (ko)
WO (1) WO2012051052A1 (ko)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160148646A (ko) * 2014-05-30 2016-12-26 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR20170012428A (ko) * 2014-05-30 2017-02-02 애플 인크. 액티비티 협력을 위한 동반 애플리케이션
KR20170130605A (ko) * 2015-08-17 2017-11-28 구글 엘엘씨 디바이스들 간의 애플리케이션 상태 전달
US9847999B2 (en) 2016-05-19 2017-12-19 Apple Inc. User interface for a device requesting remote authorization
WO2017222097A3 (ko) * 2016-06-24 2018-03-08 엘지전자 주식회사 디스플레이 장치
KR20180046395A (ko) * 2014-05-30 2018-05-08 애플 인크. 연속성
US10142835B2 (en) 2011-09-29 2018-11-27 Apple Inc. Authentication with secondary approver
US10178234B2 (en) 2014-05-30 2019-01-08 Apple, Inc. User interface for phone call routing among devices
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
US10466891B2 (en) 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
US10484384B2 (en) 2011-09-29 2019-11-19 Apple Inc. Indirect authentication
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US10908781B2 (en) 2011-06-05 2021-02-02 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11037150B2 (en) 2016-06-12 2021-06-15 Apple Inc. User interfaces for transactions
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US11283916B2 (en) 2017-05-16 2022-03-22 Apple Inc. Methods and interfaces for configuring a device in accordance with an audio tone signal
US11360634B1 (en) 2021-05-15 2022-06-14 Apple Inc. Shared-content session user interfaces
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US11539831B2 (en) 2013-03-15 2022-12-27 Apple Inc. Providing remote interactions with host device using a wireless device
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11683408B2 (en) 2017-05-16 2023-06-20 Apple Inc. Methods and interfaces for home media control
US11741210B2 (en) 2014-05-30 2023-08-29 Apple Inc. Proximity unlock and lock operations for electronic devices
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130104062A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop input segregation in an application manager
US10999298B2 (en) 2004-03-02 2021-05-04 The 41St Parameter, Inc. Method and system for identifying users and detecting fraud by use of the internet
US11301585B2 (en) 2005-12-16 2022-04-12 The 41St Parameter, Inc. Methods and apparatus for securely displaying digital images
US8151327B2 (en) 2006-03-31 2012-04-03 The 41St Parameter, Inc. Systems and methods for detection of session tampering and fraud prevention
JP2012510118A (ja) 2008-11-26 2012-04-26 カルガリー・サイエンティフィック・インコーポレイテッド アプリケーションプログラムの状態への遠隔アクセスを提供するための方法およびシステム
US10055105B2 (en) 2009-02-03 2018-08-21 Calgary Scientific Inc. Method and system for enabling interaction with a plurality of applications using a single user interface
US9112850B1 (en) 2009-03-25 2015-08-18 The 41St Parameter, Inc. Systems and methods of sharing information through a tag-based consortium
US9741084B2 (en) 2011-01-04 2017-08-22 Calgary Scientific Inc. Method and system for providing remote access to data for display on a mobile device
CA2734860A1 (en) 2011-03-21 2012-09-21 Calgary Scientific Inc. Method and system for providing a state model of an application program
JP5678778B2 (ja) * 2011-03-31 2015-03-04 富士通株式会社 システムおよびマイグレーション方法
CA2844851A1 (en) 2011-08-15 2013-02-21 Calgary Scientific Inc. Method for flow control and for reliable communication in a collaborative environment
RU2625525C2 (ru) 2011-08-15 2017-07-14 Калгари Сайентифик Инк. Бесконтактный удаленный доступ к программному приложению
US20130104051A1 (en) * 2011-09-27 2013-04-25 Z124 Unified desktop big brother application pools
US10075533B2 (en) 2011-09-15 2018-09-11 Paypal, Inc. Method and apparatus for transferring the state of content using short codes
US11416131B2 (en) 2011-09-27 2022-08-16 Z124 Unified desktop input segregation in an application manager
US20130080899A1 (en) * 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop big brother applications
CN103959708B (zh) 2011-09-30 2017-10-17 卡尔加里科学公司 包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展
US10754913B2 (en) * 2011-11-15 2020-08-25 Tapad, Inc. System and method for analyzing user device information
CN104040946B (zh) 2011-11-23 2017-07-14 卡尔加里科学公司 用于协作远程应用程序共享和会议的方法和系统
EP2600305A1 (en) * 2011-11-30 2013-06-05 Thomson Licensing Method and apparatus for generating metadata for digital content
US10776103B2 (en) * 2011-12-19 2020-09-15 Majen Tech, LLC System, method, and computer program product for coordination among multiple devices
KR101679343B1 (ko) * 2011-12-28 2016-11-24 노키아 테크놀로지스 오와이 애플리케이션 스위쳐
RU2601831C2 (ru) 2011-12-28 2016-11-10 Нокиа Текнолоджиз Ой Предоставление открытого экземпляра приложения
US8996729B2 (en) 2012-04-12 2015-03-31 Nokia Corporation Method and apparatus for synchronizing tasks performed by multiple devices
US9680927B2 (en) * 2012-02-05 2017-06-13 Apple Inc. Cloud tabs
US9507630B2 (en) * 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
US9633201B1 (en) 2012-03-01 2017-04-25 The 41St Parameter, Inc. Methods and systems for fraud containment
US9602581B2 (en) 2012-03-02 2017-03-21 Calgary Scientific Inc. Remote control of an application using dynamic-linked library (DLL) injection
US10474728B2 (en) * 2012-03-21 2019-11-12 Oath Inc. Seamless browsing between devices
US9521551B2 (en) 2012-03-22 2016-12-13 The 41St Parameter, Inc. Methods and systems for persistent cross-application mobile device identification
US9459781B2 (en) 2012-05-09 2016-10-04 Apple Inc. Context-specific user interfaces for displaying animated sequences
KR101935357B1 (ko) * 2012-05-21 2019-01-04 엘지전자 주식회사 홈 디바이스 웹 브라우저를 이용한 웹 페이지 제공 방법 및 이를 위한 홈 디바이스
US9729673B2 (en) 2012-06-21 2017-08-08 Calgary Scientific Inc. Method and system for providing synchronized views of multiple applications for display on a remote computing device
WO2014022813A1 (en) 2012-08-02 2014-02-06 The 41St Parameter, Inc. Systems and methods for accessing records via derivative locators
US20140047019A1 (en) * 2012-08-07 2014-02-13 James Dean Midtun Communication Alerts Management
US20140053128A1 (en) * 2012-08-14 2014-02-20 Microsoft Corporation Persisting state using scripts
US9776078B2 (en) 2012-10-02 2017-10-03 Razer (Asia-Pacific) Pte. Ltd. Application state backup and restoration across multiple devices
US8977723B2 (en) 2012-10-02 2015-03-10 Nextbit Systems Inc. Cloud based application fragmentation
US9600552B2 (en) * 2012-10-02 2017-03-21 Nextbit Systems Inc. Proximity based application state synchronization
US9210203B2 (en) 2012-10-02 2015-12-08 Nextbit Systems Inc. Resource based mobile device application streaming
US10200464B2 (en) * 2012-10-02 2019-02-05 Razer (Asia-Pacific) Pte. Ltd. In-app application casting
US8892693B2 (en) 2012-10-02 2014-11-18 Nextbit Systems Inc. Enabling fragment-based mobile device application streaming
US9747000B2 (en) 2012-10-02 2017-08-29 Razer (Asia-Pacific) Pte. Ltd. Launching applications on an electronic device
US9268655B2 (en) 2012-10-02 2016-02-23 Nextbit Systems Inc. Interface for resolving synchronization conflicts of application states
US10425471B2 (en) 2012-10-02 2019-09-24 Razer (Asia-Pacific) Pte. Ltd. Multi-tasker
US9717985B2 (en) 2012-10-02 2017-08-01 Razer (Asia-Pacific) Pte. Ltd. Fragment-based mobile device application streaming utilizing crowd-sourcing
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US8764555B2 (en) 2012-10-02 2014-07-01 Nextbit Systems Inc. Video game application state synchronization across multiple devices
US9112885B2 (en) 2012-10-02 2015-08-18 Nextbit Systems Inc. Interactive multi-tasker
US9654556B2 (en) 2012-10-02 2017-05-16 Razer (Asia-Pacific) Pte. Ltd. Managing applications on an electronic device
WO2014078569A1 (en) 2012-11-14 2014-05-22 The 41St Parameter, Inc. Systems and methods of global identification
US9077811B2 (en) 2012-11-16 2015-07-07 Adobe Systems Incorporated Method and apparatus for enabling interoperability of touch devices
US9807151B2 (en) 2013-02-20 2017-10-31 Samsung Electronics Co., Ltd. Method and electronic device for sending and receiving data
US9311041B2 (en) * 2013-02-22 2016-04-12 Blackberry Limited Device, system and method for generating data
US9614918B2 (en) 2013-03-14 2017-04-04 International Business Machines Corporation Migration of network connection under mobility
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
US9888059B2 (en) * 2013-03-15 2018-02-06 Gordon E. Seay Methods and systems for switching between software applications
US8954611B2 (en) 2013-03-21 2015-02-10 Nextbit Systems Inc. Mechanism for sharing states of applications and devices across different user profiles
US10123189B2 (en) 2013-03-21 2018-11-06 Razer (Asia-Pacific) Pte. Ltd. Electronic device system restoration by tapping mechanism
US20140289419A1 (en) * 2013-03-22 2014-09-25 Salesforce.Com, Inc. System, method and computer program product for transferring a website state across user devices using a cookie
US10306467B2 (en) * 2013-04-11 2019-05-28 Uniloc 2017 Llc Shared state among multiple devices
US9729642B2 (en) 2013-05-24 2017-08-08 International Business Machines Corporation Sharing web application sessions across multiple devices
US20140359637A1 (en) * 2013-06-03 2014-12-04 Microsoft Corporation Task continuance across devices
US10599742B2 (en) * 2013-08-06 2020-03-24 Adobe Inc. Sharing and consuming web content across multiple devices
US10902327B1 (en) 2013-08-30 2021-01-26 The 41St Parameter, Inc. System and method for device identification and uniqueness
USD768162S1 (en) 2013-09-30 2016-10-04 Nextbit Systems Inc. Display screen or portion thereof with graphical user interface
US20150120840A1 (en) * 2013-10-29 2015-04-30 International Business Machines Corporation Resource referencing in a collaboration application system and method
AU2014348589A1 (en) * 2013-11-15 2016-06-02 Ebay Inc. Displaying activity across multiple devices
EP3075111B1 (en) 2013-11-29 2017-12-20 Calgary Scientific Inc. Method for providing a connection of a client to an unmanaged service in a client-server remote access system
US9886710B2 (en) 2014-03-25 2018-02-06 Ebay Inc. Data mesh visualization
US9292367B2 (en) 2014-04-08 2016-03-22 Microsoft Corporation Efficient migration of client-side web state
US9565081B2 (en) 2014-05-19 2017-02-07 Ebay Inc. Phone thermal context
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US9451438B2 (en) 2014-05-30 2016-09-20 Apple Inc. Predefined wireless pairing
US9549375B2 (en) 2014-05-30 2017-01-17 Apple Inc. Operating-mode transitions based on advertising information
US9380123B2 (en) 2014-05-30 2016-06-28 Apple Inc. Activity continuation between electronic devices
US20150379678A1 (en) * 2014-06-25 2015-12-31 Doa'a M. Al-otoom Techniques to Compose Memory Resources Across Devices and Reduce Transitional Latency
WO2015200889A1 (en) 2014-06-27 2015-12-30 Apple Inc. Electronic device with rotatable input mechanism for navigating calendar application
TWI647608B (zh) 2014-07-21 2019-01-11 美商蘋果公司 遠端使用者介面
US9571536B2 (en) * 2014-08-29 2017-02-14 Microsoft Technology Licensing, Llc Cross device task continuity
WO2016036541A2 (en) 2014-09-02 2016-03-10 Apple Inc. Phone user interface
US9841740B2 (en) * 2014-09-09 2017-12-12 Vivint, Inc. Hybrid rule implementation for an automation system
US10091312B1 (en) 2014-10-14 2018-10-02 The 41St Parameter, Inc. Data structures for intelligently resolving deterministic and probabilistic device identifiers to device profiles and/or groups
US10404701B2 (en) * 2015-01-21 2019-09-03 Onion ID Inc. Context-based possession-less access of secure information
US10015264B2 (en) 2015-01-30 2018-07-03 Calgary Scientific Inc. Generalized proxy architecture to provide remote access to an application framework
CN107431630B (zh) 2015-01-30 2021-06-25 卡尔加里科学公司 高度可扩展、容错的远程访问架构和与之连接的方法
RU2606879C2 (ru) * 2015-02-06 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ управления электронным устройством и электронное устройство
US10055121B2 (en) 2015-03-07 2018-08-21 Apple Inc. Activity based thresholds and feedbacks
US10621189B2 (en) 2015-06-05 2020-04-14 Apple Inc. In-application history search
US10755032B2 (en) 2015-06-05 2020-08-25 Apple Inc. Indexing web pages with deep links
US10275116B2 (en) 2015-06-07 2019-04-30 Apple Inc. Browser with docked tabs
US10681182B1 (en) 2016-04-06 2020-06-09 Uipco, Llc Multi-device work flow management method and system for managing work flow data collection for users across a diverse set of devices and processes by unifying the work process to be data and device agnostic
DK201770423A1 (en) 2016-06-11 2018-01-15 Apple Inc Activity and workout updates
ES2703473B2 (es) * 2016-07-12 2020-10-22 Proximal Systems Corp Aparato, sistema y procedimiento de gestion de acoplamiento de intermediario
US10824594B2 (en) * 2016-11-07 2020-11-03 Qualcomm Incorporated Associating a captured screenshot with application-specific metadata that defines a session state of an application contributing image data to the captured screenshot
US20180225420A1 (en) * 2017-02-09 2018-08-09 Banyan Medical Systems, Inc. Medical Data Sharing in a Replicated Environment
WO2019133684A1 (en) * 2017-12-29 2019-07-04 DMAI, Inc. System and method for personalized and adaptive application management
US11070630B2 (en) 2018-05-04 2021-07-20 Citrix Systems, Inc. Computer system providing SAAS application session state migration features and related methods
CN113168336A (zh) 2018-08-27 2021-07-23 谷歌有限责任公司 基于实验参数适配功能电话的客户端应用
US10924545B2 (en) * 2018-10-10 2021-02-16 Citrix Systems, Inc. Computer system providing mirrored SAAS application sessions and related methods
US10637942B1 (en) * 2018-12-05 2020-04-28 Citrix Systems, Inc. Providing most recent application views from user devices
US11194815B1 (en) * 2019-02-11 2021-12-07 Amazon Technologies, Inc. Constrained query execution
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11722572B2 (en) * 2019-10-01 2023-08-08 Christiana Care Health System, Inc. Communication platform shifting for voice-enabled device
US11044279B1 (en) * 2019-12-19 2021-06-22 Capital One Services, Llc Systems and methods for secure browser session transfer
WO2022048221A1 (zh) * 2020-09-07 2022-03-10 聚好看科技股份有限公司 一种音视频进度同步方法、显示设备及电子设备
CN112307405B (zh) * 2020-11-16 2024-03-22 Oppo广东移动通信有限公司 跨设备的应用接力方法、装置、设备、系统及存储介质
WO2022249240A1 (ja) * 2021-05-24 2022-12-01 三菱電機株式会社 起動システム及び起動方法
US11748681B1 (en) * 2021-09-14 2023-09-05 Amazon Technologies, Inc. Persistent state management system for web applications
WO2023200022A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 디스플레이 장치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH039443A (ja) * 1989-06-07 1991-01-17 Hitachi Ltd データセット管理方式
JP3504763B2 (ja) * 1994-08-19 2004-03-08 富士通株式会社 分散システムに使用されるクライアント,サーバ及び記憶装置並びに分散システムにおける資源管理用サーバの復旧方法
US6044475A (en) 1995-06-16 2000-03-28 Lucent Technologies, Inc. Checkpoint and restoration systems for execution control
JPH1011192A (ja) * 1996-06-26 1998-01-16 Ricoh Co Ltd 情報処理システム
JPH1145201A (ja) * 1997-05-28 1999-02-16 Toshiba Corp コンピュータシステム、同システムにおけるデータアクセス処理方法および記録媒体
JP2002288125A (ja) * 2001-03-27 2002-10-04 Just Syst Corp 作業状態再現システム、作業状態再現方法
US6912569B1 (en) 2001-04-30 2005-06-28 Sun Microsystems, Inc. Method and apparatus for migration of managed application state for a Java based application
JP2003233520A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd ネットワーク上のファイル資源のためのファイル制御装置
US20030154398A1 (en) * 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
JP2003242106A (ja) * 2002-02-14 2003-08-29 Sony Communication Network Corp 情報同期方法とこの方法を利用可能な情報同期装置および情報端末
US8006288B2 (en) * 2004-11-05 2011-08-23 International Business Machines Corporation Method and apparatus for accessing a computer application program
JP4817814B2 (ja) * 2004-11-19 2011-11-16 富士通株式会社 アプリケーション状態情報転送システム
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
EP2017729B1 (en) * 2005-08-23 2018-08-08 BlackBerry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
JP2007179105A (ja) * 2005-12-26 2007-07-12 World Planning:Kk 共有データベースの制御システム及び共有データベースの制御方法並びにコンピュータプログラム
US8166176B2 (en) 2006-05-31 2012-04-24 Alcatel Lucent Context-aware migration of communication session
ES2388469T3 (es) * 2007-02-21 2012-10-15 Research In Motion Limited Transmisión eficiente de información de actualización de presencia a clientes de servicio de presencia
US20090063690A1 (en) 2007-09-05 2009-03-05 Motorola, Inc. Continuing an application session using a different device from one that originally initiated the application session while preserving session while preserving session state and data
US20090077248A1 (en) * 2007-09-14 2009-03-19 International Business Machines Corporation Balancing access to shared resources
CN101493786B (zh) * 2008-01-22 2012-07-04 联想(北京)有限公司 一种计算机的虚拟机系统及设备访问方法
US20090204966A1 (en) 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US7526559B1 (en) 2008-03-31 2009-04-28 International Business Machines Corporation Transfer of web applications between devices
US8458363B2 (en) * 2008-06-08 2013-06-04 Apple Inc. System and method for simplified data transfer
US8140109B2 (en) * 2008-11-24 2012-03-20 Sony Ericsson Mobile Communications Ab Method of operating a mobile electronic device and mobile electronic device
JP2010205111A (ja) * 2009-03-05 2010-09-16 Nippon Telegr & Teleph Corp <Ntt> コンテキスト再現システム、コンテキスト再現方法、第1端末装置、第2端末装置、コンテキスト取得装置、または蓄積装置、それらのプログラム

Cited By (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487403B2 (en) 2011-06-05 2022-11-01 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US11921980B2 (en) 2011-06-05 2024-03-05 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US10908781B2 (en) 2011-06-05 2021-02-02 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US11442598B2 (en) 2011-06-05 2022-09-13 Apple Inc. Systems and methods for displaying notifications received from multiple applications
US10419933B2 (en) 2011-09-29 2019-09-17 Apple Inc. Authentication with secondary approver
US11755712B2 (en) 2011-09-29 2023-09-12 Apple Inc. Authentication with secondary approver
US11200309B2 (en) 2011-09-29 2021-12-14 Apple Inc. Authentication with secondary approver
US10142835B2 (en) 2011-09-29 2018-11-27 Apple Inc. Authentication with secondary approver
US10516997B2 (en) 2011-09-29 2019-12-24 Apple Inc. Authentication with secondary approver
US10484384B2 (en) 2011-09-29 2019-11-19 Apple Inc. Indirect authentication
US11539831B2 (en) 2013-03-15 2022-12-27 Apple Inc. Providing remote interactions with host device using a wireless device
US10667109B2 (en) 2014-05-30 2020-05-26 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10187770B2 (en) 2014-05-30 2019-01-22 Apple Inc. Forwarding activity-related information from source electronic devices to companion electronic devices
US10193987B2 (en) 2014-05-30 2019-01-29 Apple Inc. Activity continuation between electronic devices
US10237711B2 (en) 2014-05-30 2019-03-19 Apple Inc. Dynamic types for activity continuation between electronic devices
US11256294B2 (en) 2014-05-30 2022-02-22 Apple Inc. Continuity of applications across devices
US10178234B2 (en) 2014-05-30 2019-01-08 Apple, Inc. User interface for phone call routing among devices
KR20160148646A (ko) * 2014-05-30 2016-12-26 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR20190000399A (ko) * 2014-05-30 2019-01-02 애플 인크. 액티비티 협력을 위한 동반 애플리케이션
US10165391B2 (en) 2014-05-30 2018-12-25 Apple Inc. Companion application for activity cooperation
US11741210B2 (en) 2014-05-30 2023-08-29 Apple Inc. Proximity unlock and lock operations for electronic devices
KR20200024348A (ko) * 2014-05-30 2020-03-06 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR20200024197A (ko) * 2014-05-30 2020-03-06 애플 인크. 연속성
US10616416B2 (en) 2014-05-30 2020-04-07 Apple Inc. User interface for phone call routing among devices
US11356829B2 (en) 2014-05-30 2022-06-07 Apple Inc. Dynamic types for activity continuation between electronic devices
US10659200B2 (en) 2014-05-30 2020-05-19 Apple Inc. Companion application for activity cooperation
KR20180086514A (ko) * 2014-05-30 2018-07-31 애플 인크. 전자 디바이스들 사이의 액티비티 계속
US10708371B2 (en) 2014-05-30 2020-07-07 Apple Inc. Activity continuation between electronic devices
KR20210131970A (ko) * 2014-05-30 2021-11-03 애플 인크. 연속성
US10771946B2 (en) 2014-05-30 2020-09-08 Apple Inc. Dynamic types for activity continuation between electronic devices
US10866731B2 (en) 2014-05-30 2020-12-15 Apple Inc. Continuity of applications across devices
KR20200140944A (ko) * 2014-05-30 2020-12-16 애플 인크. 전자 디바이스들 사이의 액티비티 계속
KR20170012428A (ko) * 2014-05-30 2017-02-02 애플 인크. 액티비티 협력을 위한 동반 애플리케이션
US9990129B2 (en) 2014-05-30 2018-06-05 Apple Inc. Continuity of application across devices
US11907013B2 (en) 2014-05-30 2024-02-20 Apple Inc. Continuity of applications across devices
KR20180046395A (ko) * 2014-05-30 2018-05-08 애플 인크. 연속성
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
KR20170130605A (ko) * 2015-08-17 2017-11-28 구글 엘엘씨 디바이스들 간의 애플리케이션 상태 전달
US10749967B2 (en) 2016-05-19 2020-08-18 Apple Inc. User interface for remote authorization
US9847999B2 (en) 2016-05-19 2017-12-19 Apple Inc. User interface for a device requesting remote authorization
US11206309B2 (en) 2016-05-19 2021-12-21 Apple Inc. User interface for remote authorization
US10334054B2 (en) 2016-05-19 2019-06-25 Apple Inc. User interface for a device requesting remote authorization
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US11323559B2 (en) 2016-06-10 2022-05-03 Apple Inc. Displaying and updating a set of application views
US11037150B2 (en) 2016-06-12 2021-06-15 Apple Inc. User interfaces for transactions
US11900372B2 (en) 2016-06-12 2024-02-13 Apple Inc. User interfaces for transactions
WO2017222097A3 (ko) * 2016-06-24 2018-03-08 엘지전자 주식회사 디스플레이 장치
US10945026B2 (en) 2016-06-24 2021-03-09 Lg Electronics Inc. Display device
US11281372B2 (en) 2016-09-12 2022-03-22 Apple Inc. Special lock mode user interface
US11803299B2 (en) 2016-09-12 2023-10-31 Apple Inc. Special lock mode user interface
US11567657B2 (en) 2016-09-12 2023-01-31 Apple Inc. Special lock mode user interface
US10877661B2 (en) 2016-09-12 2020-12-29 Apple Inc. Special lock mode user interface
US10466891B2 (en) 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US11750734B2 (en) 2017-05-16 2023-09-05 Apple Inc. Methods for initiating output of at least a component of a signal representative of media currently being played back by another device
US11412081B2 (en) 2017-05-16 2022-08-09 Apple Inc. Methods and interfaces for configuring an electronic device to initiate playback of media
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11095766B2 (en) 2017-05-16 2021-08-17 Apple Inc. Methods and interfaces for adjusting an audible signal based on a spatial position of a voice command source
US11201961B2 (en) 2017-05-16 2021-12-14 Apple Inc. Methods and interfaces for adjusting the volume of media
US11683408B2 (en) 2017-05-16 2023-06-20 Apple Inc. Methods and interfaces for home media control
US11283916B2 (en) 2017-05-16 2022-03-22 Apple Inc. Methods and interfaces for configuring a device in accordance with an audio tone signal
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11755273B2 (en) 2019-05-31 2023-09-12 Apple Inc. User interfaces for audio media control
US11853646B2 (en) 2019-05-31 2023-12-26 Apple Inc. User interfaces for audio media control
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11782598B2 (en) 2020-09-25 2023-10-10 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11360634B1 (en) 2021-05-15 2022-06-14 Apple Inc. Shared-content session user interfaces
US11822761B2 (en) 2021-05-15 2023-11-21 Apple Inc. Shared-content session user interfaces
US11449188B1 (en) 2021-05-15 2022-09-20 Apple Inc. Shared-content session user interfaces
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11928303B2 (en) 2021-05-15 2024-03-12 Apple Inc. Shared-content session user interfaces
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Also Published As

Publication number Publication date
CN103250138B (zh) 2017-02-15
CN106909448B (zh) 2020-10-16
US20120324032A1 (en) 2012-12-20
AU2011313950B2 (en) 2013-09-19
GB201306739D0 (en) 2013-05-29
CN106909448A (zh) 2017-06-30
US20120096069A1 (en) 2012-04-19
US20120096076A1 (en) 2012-04-19
AU2011313950A1 (en) 2013-05-02
DE112011103486T5 (de) 2013-07-25
GB2499738B (en) 2014-08-20
US8473577B2 (en) 2013-06-25
JP5435833B2 (ja) 2014-03-05
WO2012051052A1 (en) 2012-04-19
US8260879B2 (en) 2012-09-04
JP2014503861A (ja) 2014-02-13
GB2499738A (en) 2013-08-28
KR101312708B1 (ko) 2013-10-01
CN103250138A (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
KR101312708B1 (ko) 복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행
TWI464600B (zh) 具有議程交遞之個人雲端計算
US20170012950A1 (en) Method and apparatus for supporting secure chat
CN110870979B (zh) 游戏处理系统、游戏处理方法以及信息处理装置
JP6006986B2 (ja) 投稿情報共有システム、情報処理装置、情報処理方法および情報処理システム
CN105210031B (zh) 用于操作系统的自助服务机应用模式
EP3955153A1 (en) Method and apparatus for inserting information into online document
US9882977B2 (en) Information-processing system, information-processing device, storage medium, and information-processing method
KR101871876B1 (ko) 채팅 정보 전송 방법 및 장치, 및 채팅 정보 푸시 방법 및 서버
KR101739664B1 (ko) 이벤트 생성을 위한 시스템 및 방법
CN108140037B (zh) 在后台预先实例化本原应用
US20120182981A1 (en) Terminal and method for synchronization
CN109658934B (zh) 通过语音控制多媒体app的方法及装置
JP5810239B2 (ja) プログラム、制御方法、サーバ装置
US10454750B2 (en) Information-processing system, information-processing device, information-processing method, and storage medium for accessing a service that shares information
JP6285579B2 (ja) ロングポーリング処理方法およびシステム、並びに記録媒体
AU2013260669B2 (en) Continuous application execution between multiple devices
US9742760B1 (en) System and method for improving login and registration efficiency to network-accessed data
CN109344312A (zh) 基于全双工通信协议的数据交互方法和系统
US20170169483A1 (en) Method for pushing and displaying information and electronic device
JP2008104085A (ja) 通信端末、通信方法、および通信プログラム
JP2009252136A (ja) 情報処理システム
KR20140113754A (ko) 게임을 제공하는 방법 및 모바일 단말
KR20150096588A (ko) 다른 사용자 단말기에 대해 게임 플레이를 위임하는 서비스를 제공하기 위한 시스템, 서버, 사용자 단말기 및 이를 이용한 서비스 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160908

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170912

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180905

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190910

Year of fee payment: 7