KR20130075783A - 복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행 - Google Patents
복수의 디바이스들 사이에서의 연속적인 어플리케이션 실행 Download PDFInfo
- 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
Links
Images
Classifications
-
- 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
-
- 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
Abstract
일실시예에서, 디바이스는 디스플레이, 외부 디바이스들과 데이터를 교환하도록 구성된 인터페이스, 상기 디스플레이가 어플리케이션의 현재의 시각적인 표현을 디스플레이하도록 상기 어플리케이션을 실행하며, 상기 어플리케이션의 현재 어플리케이션 상태를 결정하도록 된 콘트롤 유닛, 상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 포함하며, 그리고 결정된 현재 어플리케이션 상태에 대한 표시를 사용자의 개입없이 상기 인터페이스를 통하여 상기 클라이언트 디바이스로부터 제2의 다른 디바이스로 전송하기 위한 수단을 포함하고, 결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며, 상기 콘트롤 유닛은 제 3 디바이스가 어플리케이션을 실행하고 있다는 표시에 응답하여, 현재 어플리케이션 상태의 후속 표시들이 제 2 디바이스로 전송되는 것을 방지하도록 구성된다.
Description
본 발명은 퍼스널 컴퓨터, 테블릿 컴퓨터, 랩탑, 및 휴대폰 등의 컴퓨팅 디바이스에 관한 것이다.
다양한 컴퓨팅 디바이스들은 어플리케이션들을 수신할 수 있고 그리고 이를 실행할 수 있다. 가령 테블릿 컴퓨터와 스마트폰과 같은 모바일 디바이스들은, 어플리케이션들을 다운로드 및 실행할 수 있는 능력을 통하여 이러한 모바일 디바이스들의 기능들을 확장시킬 수 있는 능력에 일부 기인하여 점점 더 널리 활용되고 있다. 이러한 어플리케이션들 중 몇몇은, 가령, 퍼스널 컴퓨터, 워크스테이션 혹은 이러한 다른 컴퓨팅 디바이스들 등과 같은 다른 컴퓨팅 디바이스에 의해서 실행될 수 있는 어플리케이션들과 유사하다.
본 발명의 일실시예에 따르면 명령들(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개의 디바이스들 사이에서 어플리케이션 상태를 교환하기 위한 다른 방법의 순서도이다.
도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)
- 명령들(instructions)을 포함하는 컴퓨터-판독가능한 저장매체로서, 실행되는 때에 상기 명령들은 제 1 클라이언트 디바이스의 프로세서로 하여금,
상기 제 1 클라이언트 디바이스에서 어플리케이션을 실행하게 하고;
상기 어플리케이션의 현재 어플리케이션 상태를 결정하게 하고 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현(current visual representation)의 적어도 일부를 포함하며- ;
상기 제 1 클라이언트 디바이스로부터 서버 디바이스로, 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하고 -결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고
다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 표시를 수신하는 것에 응답하여, 상기 제 1 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들과 상기 다른 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들 간의 충돌을 방지하도록, 현재 어플리케이션 상태에 대한 후속 표시들이 상기 서버 디바이스로 전송되는 것을 상기 제 1 클라이언트 디바이스가 중지시키게 하는 것
을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 현재 어플리케이션 상태는 제 2 어플리케이션 상태를 포함하고 그리고 상기 표시는 제 2 어플리케이션 상태에 대한 제 2 표시를 포함하며,
상기 프로세서로 하여금,
상기 제 2 어플리케이션 상태를 결정하기 전에, 상기 어플리케이션의 제 1 어플리케이션 상태를 결정하게 하고 그리고 상기 제 1 어플리케이션 상태에 대한 제 1 표시를 상기 서버 디바이스로 전송하게 하며; 그리고
상기 제 1 표시를 전송한 이후에 타이머를 실행하게 하는 명령들을 더 포함하며,
상기 프로세서로 하여금 상기 제 2 어플리케이션 상태를 결정하게 하는 명령들은, 상기 프로세서로 하여금 상기 타이머의 만료 후에 상기 제 2 어플리케이션 상태를 결정하게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 어플리케이션은 멀티미디어 데이터를 제공하는 멀티미디어 어플리케이션을 포함하고, 상기 멀티미디어 데이터는 오디오 데이터와 비디오 데이터 중 적어도 하나를 포함하며, 그리고 상기 현재 어플리케이션 상태는 상기 현재 어플리케이션 상태가 결정되었을 때 재생 중이었던 멀티미디어 데이터 내의 시간적인 위치(temporal location)를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 어플리케이션은 웹 페이지를 디스플레이하는 웹 브라우저를 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 상기 웹 페이지의 유니폼 리소스 로케이터(uniform resource locator: URL)를 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제4항에 있어서,
상기 웹 브라우저는 복수의 윈도우들을 유지하고, 상기 복수의 윈도우들 각각은 각각의 웹 페이지에 대응하며, 그리고 상기 현재 어플리케이션 상태는 상기 복수의 윈도우들에 대한 각각의 웹 페이지들의 URL들을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제4항에 있어서,
상기 현재의 시각적인 표현의 적어도 일부는 상기 웹 브라우저에 의해서 디스플레이되는 웹 페이지의 일부분을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 어플리케이션은 이메일 문서를 디스플레이하는 이메일 어플리케이션을 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 이메일 문서에 대한 표시(indication)를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제7항에 있어서,
상기 현재의 시각적인 표현의 적어도 일부는, 상기 이메일 어플리케이션에 의해서 디스플레이되는 상기 이메일 문서의 위치(position)를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 컴퓨팅 디바이스는 휴대폰을 포함하며, 그리고 상기 제 3 디바이스는 퍼스널 컴퓨팅 디바이스를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 프로세서로 하여금, 별도의 클라이언트 디바이스가 상기 어플리케이션을 실행중이라는 표시를 수신하는 것에 응답하여 상기 어플리케이션의 실행을 중지시키게 하는 명령들을 더 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
상기 프로세서로 하여금 상기 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하는 상기 명령들은,
상기 프로세서로 하여금 상기 결정된 현재 어플리케이션 상태에 대한 표시를 사용자의 개입 없이 상기 서버 디바이스로 전송하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 제1항에 있어서,
다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 상기 표시는,
상기 제 1 클라이언트 디바이스로부터 상기 서버 디바이스로 현재 어플리케이션 상태에 대한 표시들을 전송하는 것을 중지시키기 위한 상기 서버 디바이스로부터의 표시를 포함하는 것을 특징으로 하는 컴퓨터-판독가능한 저장매체. - 클라이언트 디바이스로서,
디스플레이;
외부 디바이스들과 데이터를 교환하도록 된 인터페이스;
상기 디스플레이가 어플리케이션의 현재의 시각적인 표현을 디스플레이하도록 상기 어플리케이션을 실행하며, 상기 어플리케이션의 현재 어플리케이션 상태를 결정하도록 된 콘트롤 유닛 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 포함하며- ; 그리고
결정된 현재 어플리케이션 상태에 대한 표시를 상기 인터페이스를 통하여 상기 클라이언트 디바이스로부터 서버 디바이스로 전송하기 위한 수단
을 포함하고,
결정된 현재 어플리케이션 상태에 대한 상기 표시는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며,
다른 클라이언트 디바이스가 다른 하나의 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스에게 전송하려고 시도하고 있다라는 표시에 응답하여, 상기 제 1 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들과 상기 다른 클라이언트 디바이스로부터의 어플리케이션 상태 업데이트들 간의 충돌을 방지하도록, 상기 콘트롤 유닛은 상기 현재 어플리케이션 상태에 대한 후속 표시들이 상기 서버 디바이스로 전송되는 것을 중지시키는 것을 특징으로 하는 클라이언트 디바이스. - 명령들을 포함하는 컴퓨터 판독가능한 저장매체로서, 실행되는 때에 상기 명령들은 제 1 클라이언트 디바이스의 프로세서로 하여금,
상기 제 1 클라이언트 디바이스에서 어플리케이션을 실행하게 하고;
상기 어플리케이션의 현재 어플리케이션 상태를 결정하게 하고 -상기 현재 어플리케이션 상태는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고
결정된 현재 어플리케이션 상태에 대한 표시를 컴퓨팅 디바이스로부터 제 2의 다른 클라이언트 디바이스로 전송하게 하되, 상기 컴퓨팅 디바이스에 의해서 실행되는 상기 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성함으로써 상기 제 2의 다른 클라이언트 디바이스는 상기 현재 어플리케이션 상태에서 상기 어플리케이션의 실행을 재개하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체. - 제14항에 있어서,
상기 프로세서로 하여금, 결정된 현재 어플리케이션 상태에 대한 표시를 전송하게 하는 상기 명령들은,
상기 프로세서로 하여금,
상기 컴퓨팅 디바이스가 무선 액세스 포인트의 통신 범위 내에 있는지를 결정하게 하고; 그리고
상기 결정에 응답하여, 결정된 현재 어플리케이션 상태에 대한 상기 표시를 상기 무선 액세스 포인트를 통하여 제 2 컴퓨팅 디바이스로 전송하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체. - 제14항에 있어서,
상기 어플리케이션은 멀티미디어 데이터를 제공하는 멀티미디어 어플리케이션을 포함하고, 상기 멀티미디어 데이터는 오디오 데이터와 비디오 데이터 중 적어도 하나를 포함하며, 그리고 상기 현재 어플리케이션 상태는 상기 현재 어플리케이션 상태가 결정되었을 때 재생 중이었던 멀티미디어 데이터 내의 시간적인 위치를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체. - 제14항에 있어서,
상기 어플리케이션은 웹 페이지를 디스플레이하는 웹 브라우저를 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 상기 웹 페이지의 유니폼 리소스 로케이터(URL)를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체. - 제14항에 있어서,
상기 어플리케이션은 이메일 문서를 디스플레이하는 이메일 어플리케이션을 포함하며, 그리고 상기 현재 어플리케이션 상태는 디스플레이되는 이메일 문서에 대한 표시(indication)를 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체. - 제14항에 있어서,
상기 프로세서로 하여금 상기 현재 어플리케이션 상태에 대한 표시를 전송하게 하는 상기 명령들은,
상기 프로세서로 하여금 상기 현재 어플리케이션 상태에 대한 표시를 사용자의 개입 없이 전송하게 하는 명령들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능한 저장매체. - 서버 디바이스로서,
2개 이상의 클라이언트 디바이스들로부터 어플리케이션 상태들의 표시들을 수신하고 그리고 상기 어플리케이션 상태들의 표시들을 상기 2개 이상의 클라이언트 디바이스들에게 제공하도록 된 하나 이상의 외부 디바이스 인터페이스들 -어플리케이션 상태들의 상기 표시들은 상기 어플리케이션 상태들에 대응하는 어플리케이션들의 현재의 시각적인 표현들의 적어도 일부를 재생성하기 위한 정보를 포함하며- ; 그리고
상기 2개 이상의 클라이언트 디바이스들을 그룹으로 연관시키고, 상기 그룹의 제 1 클라이언트 디바이스로부터 어플리케이션 상태의 표시를 수신하고, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태의 표시에 대응하는 어플리케이션을 상기 그룹의 제2의 다른 클라이언트 디바이스가 실행하기 시작했다는 것을 판별하고, 그리고 상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라는 상기 판별에 응답하여 어플리케이션 상태의 상기 표시를 상기 제 2 클라이언트 디바이스에게 제공하도록 된 콘트롤 유닛
을 포함하는 것을 특징으로 하는 서버 디바이스. - 제20항에 있어서,
상기 콘트롤 유닛을 또한, 상기 제 1 클라이언트 디바이스가 상기 어플리케이션의 어플리케이션 상태의 후속 표시들을 서버 디바이스로 전송하는 것을 금지하기 위하여, 상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하고 있다라는 표시를 상기 제 1 클라이언트 디바이스로 전송하도록 된 것을 특징으로 하는 서버 디바이스. - 방법으로서,
2개 이상의 관련된 클라이언트 디바이스들로 구성된 그룹의 제 1 클라이언트 디바이스로부터 어플리케이션 상태에 대한 표시를 서버 디바이스에 의해서 수신하는 단계 -상기 어플리케이션 상태에 대한 표시는 상기 제 1 클라이언트 디바이스에 의해서 실행되는 어플리케이션의 현재의 시각적인 표현의 적어도 일부를 재생성하기 위한 정보를 포함하며- ;
2개 이상의 관련된 클라이언트 디바이스들로 구성된 상기 그룹의 제2의 다른 클라이언트 디바이스가, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태에 대한 상기 표시에 대응하는 어플리케이션을 실행하기 시작했다는 것을 판별하는 단계; 그리고
상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라고 판별하는 것에 응답하여, 상기 제 1 클라이언트 디바이스로부터 수신된 어플리케이션 상태에 대한 상기 표시를 상기 서버 디바이스가 상기 제 2 클라이언트 디바이스에 제공하는 단계
를 포함하는 것을 특징으로 하는 방법. - 제22항에 있어서,
상기 제 2 클라이언트 디바이스가 상기 어플리케이션을 실행하기 시작했다라고 판별하는 것에 응답하여, 상기 제 1 클라이언트 디바이스가 어플리케이션 상태에 대한 표시들을 상기 서버 디바이스로 전송하는 것을 중지시키도록, 상기 제 2 클라이언트가 상기 어플리케이션을 실행하기 시작했다라는 표시를 상기 제 1 클라이언트 디바이스로 전송하는 단계
를 더 포함하는 것을 특징으로 하는 방법.
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)
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)
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)
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端末装置、コンテキスト取得装置、または蓄積装置、それらのプログラム |
-
2010
- 2010-10-13 US US12/903,972 patent/US8473577B2/en active Active
-
2011
- 2011-09-30 US US13/250,770 patent/US8260879B2/en active Active
- 2011-10-06 CN CN201611259973.2A patent/CN106909448B/zh active Active
- 2011-10-06 AU AU2011313950A patent/AU2011313950B2/en active Active
- 2011-10-06 WO PCT/US2011/055137 patent/WO2012051052A1/en active Application Filing
- 2011-10-06 GB GB1306739.2A patent/GB2499738B/en active Active
- 2011-10-06 JP JP2013533891A patent/JP5435833B2/ja active Active
- 2011-10-06 DE DE112011103486T patent/DE112011103486T5/de not_active Ceased
- 2011-10-06 KR KR1020137012359A patent/KR101312708B1/ko active IP Right Grant
- 2011-10-06 CN CN201180059523.8A patent/CN103250138B/zh active Active
-
2012
- 2012-08-30 US US13/599,807 patent/US20120324032A1/en not_active Abandoned
Cited By (75)
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 |