KR20140031399A - 애플리케이션 상태를 송신하는 방법 및 시스템 - Google Patents

애플리케이션 상태를 송신하는 방법 및 시스템 Download PDF

Info

Publication number
KR20140031399A
KR20140031399A KR20147003090A KR20147003090A KR20140031399A KR 20140031399 A KR20140031399 A KR 20140031399A KR 20147003090 A KR20147003090 A KR 20147003090A KR 20147003090 A KR20147003090 A KR 20147003090A KR 20140031399 A KR20140031399 A KR 20140031399A
Authority
KR
South Korea
Prior art keywords
application
session
state
user
processor
Prior art date
Application number
KR20147003090A
Other languages
English (en)
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 KR20140031399A publication Critical patent/KR20140031399A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/493Resuming a game, e.g. after pausing, malfunction or power failure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

시스템 및 방법은 본 발명의 특정 실시예들에 따라, 하나의 장치에서 컴퓨터 기반 애플리케이션 세션을 사용하고, 세션의 인터럽션없이 하나 이상의 다른 장치에서 동일한 세션을 계속하기 위한 것이다. 이것은 유선 또는 무선 통신 링크 또는 네트워크를 사용하여 하나의 장치로부터 그의 상태와 함께 애플리케이션을 하나 이상의 다른 장치에 송신 또는 복제함으로써 발생한다. 실시예로서, 제1 유저 자신의 장치에서의 세션을 계속하면서 하나 이상의 다른 유저에게 그들의 장치들로의 송신에 의해 애플리케이션 상태의 송신을 더 포함한다.

Description

애플리케이션 상태를 송신하는 방법 및 시스템{METHOD AND SYSTEM FOR TRANSFERRING AN APPLICATION STATE}
발명자(들): 무루게산 시바쿠마(Sivakumar Murugesan) 및 싱가라베루 사디야바마(Sathyabama Singaravelu)
본 발명의 실시예로서, 제1 전자 장치에서 유래한 하나 이상의 세션에 기초하여 하나 이상의 다른 전자 장치들 상에서의 하나 이상의 애플리케이션 세션을 복원 또는 재개하기 위한 방법 및 시스템에 관한 것이다.
유저가 장치(예를 들어, 데스크탑 컴퓨터)상의 애플리케이션(예를 들어, 스프레드 시트, 워드 프로세서, 게임 또는 웹 브라우저)을 사용하여 어떤 컴퓨터 기반 세션 또는 동작 중에 있고, 유저가 어떤 이유로 자신의 현재 위치로부터 이동하기를 원할 때, 유저는 종종 애플리케이션 세션을 중지 또는 일시중지해야 한다. 유저는 나중 시점에 그 세션을 계속하기 위해 원래 위치로 복귀해야 한다. 이것은 동작에 있어서 자주 인터럽션을 야기한다.
어떤 솔루션들은 동일한 타입의 다른 플랫폼(예를 들어, 안드로이드 또는 애플의 플랫폼들)에서 동일한 애플리케이션을 실행하는 것을 허용하지만, 그것들은 종종 애플리케이션 세션의 계속성(continuity)없이 그렇게 한다. 소프트웨어 개발 키트(software development kits: SDKs)는 일반적으로, 다른 플랫폼에서 동일한 세션을 계속시킬 능력을 갖고 있지 않다. 따라서, 다른 플랫폼을 사용할 때 애플리케이션은 시작 시에 새로운 세션을 시작해야 한다. 예를 들어, 유저가 데스크톱 컴퓨터에서 전자 체스 게임을 플레이하고 있었고, 유저가 자신의 위치를 변경하기를 원한다면, 종종 게임을 일시중지 또는 중지할 필요가 있을 것이다. 유저가 나중에 예를 들어, 스마트 폰 등의 다른 장치에서 체스 게임을 플레이하기를 원한다면, 게임은 모두 다시 시작되어야 할 것이고 처음부터 플레이되어야 할 것이다.
대체로 말해서, 본 발명의 실시예로서, 하나의 장치에서 컴퓨터 기반 애플리케이션을 사용하고 세션의 인터럽션 없이 유저가 선택한 다른 장치에서 동일한 세션 또는 동작을 계속하기 위한 시스템 및 방법에 관한 것이다. 예로서, 게임의 플레이, 오디오/비주얼 콘텐츠의 렌더링, 오피스 생산성 소프트웨어의 실행, 장치에서 웹 브라우저 및 임의의 다른 애플리케이션의 사용이 포함된다. 이것은 유선 또는 무선 네트워크를 사용하여 하나의 장치로부터 특정 시점에서의 애플리케이션 상태 또는 인스턴스(instance)를 또 하나의 시간에 하나 이상의 다른 장치로 끊김 없이 송신하거나 또는 복제하는 것에 의해 달성된다. 실시예들은 또한, 제1 유저 자신의 장치에서의 세션을 계속하면서 하나 이상의 다른 유저에게 애플리케이션의 동작의 현재 상태를 그들의 장치들로의 송신에 의해 복제하거나 또는 송신하는 것을 포함한다.
일 실시예에서, 서버는 제1 장치에서 실행하는 제1 애플리케이션의 애플리케이션 상태를 수신한다. 서버는 또한 애플리케이션 상태에 대한 요청을 제2 장치로부터 수신한다. 이 요청에 응답하여, 서버는 제2 장치에 제2 애플리케이션을 송신하고, 또한, 제2 장치에 제1 애플리케이션의 애플리케이션 상태를 송신한다. 제2 애플리케이션은, 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 제2 애플리케이션이 시작하도록, 제2 장치에서 실행되도록 구성된다.
다른 양태에 있어서, 서버는 제2 애플리케이션이 이미 제2 장치에 상주하는지를 판정한다. 상주한다면, 애플리케이션이 송신되지 않는다. 그러나, 제2 애플리케이션이 제2 장치에 상주하지 않는다고 판정되면, 서버는 제2 장치의 운영 체제 또는 하드웨어 구성의 아이덴티티(identity)를 판정한다. 그 후 서버는 제2 장치의 운영 체제 및 하드웨어 구성에서 동작하도록 구성되는 제2 애플리케이션을 제2 장치에 송신한다.
대안적인 실시예에서, 서버는 애플리케이션 제1 상태, 애플리케이션 제2 상태, 및 애플리케이션 제3 상태를 수신하고, 그 상태 각각은 제1 장치에서 실행되고 있는 제1 애플리케이션의 것이다. 서버는 애플리케이션 제1 상태, 애플리케이션 제2 상태, 및 애플리케이션 제3 상태를 저장한다. 서버는 또한 애플리케이션 제1 상태에 대한 요청을 제2 장치로부터 수신하고, 제2 장치는 애플리케이션 제1 상태, 애플리케이션 제2 상태, 및 애플리케이션 제3 상태 중 어느 하나를 요청하기 위한 옵션을 제공하도록 구성된다. 이 요청에 응답하여, 서버는 제2 애플리케이션을 제2 장치에 송신하고, 또한 애플리케이션 제1 상태를 제2 장치에 송신한다. 제2 애플리케이션은, 제1 장치의 애플리케이션 제1 상태와 대략 동등한 상태에서 제2 애플리케이션이 시작하도록 제2 장치에서 실행되도록 구성된다.
또 다른 대안적인 실시예들에서, 제1 및 제2 장치가 연관된 전술한 통신 및 송신은, 서버를 이용하지 않고 그들 간에 직접 이루어질 수 있다.
대안적인 실시예에서, 제1 유저의 제1 애플리케이션 세션이 식별되고, 제1 애플리케이션 세션은 애플리케이션 서버 및 제1 장치를 포함한다. 제1 장치측 세션 정보 및 서버측 세션 정보는 저장된다. 제2 장치와 애플리케이션 서버 사이에 통신 접속이 확립된다. 또한, 제3 장치와 애플리케이션 서버 사이에 통신 접속이 확립된다. 제1 장치측 세션 정보는 제2 장치 및 제3 장치에 전달된다. 제2 유저의 제2 애플리케이션 세션이 수행되고, 제2 애플리케이션 세션은 제2 장치 및 애플리케이션 서버를 포함하고, 제1 애플리케이션 세션이 세이브(save)되었던 상태와 대략 동등한 상태에서 시작한다. 제3 유저의 제3 애플리케이션 세션이 수행되고, 제3 애플리케이션 세션은 제3 장치 및 애플리케이션 서버를 포함하고, 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작한다.
또 다른 실시예에서, 애플리케이션 제1 세션, 애플리케이션 제2 세션, 및 애플리케이션 제3 세션이 식별되고, 각각의 세션은 애플리케이션 서버 및 제1 장치를 포함하고, 각각의 세션은 애플리케이션 서버에 의한 1차 애플리케이션(primary application)의 실행에 기초한다. 그리고, (a) 애플리케이션 제1 세션에 대응하는 제1 장치측 제1 세션 정보 및 서버측 제1 세션 정보, (b) 애플리케이션 제2 세션에 대응하는 제1 장치측 제2 세션 정보 및 서버측 제2 세션 정보, 및 (c) 애플리케이션 제3 세션에 대응하는 제1 장치측 제3 세션 정보 및 서버측 제3 세션 정보가 저장된다. 애플리케이션 제1 세션, 애플리케이션 제2 세션, 또는 애플리케이션 제3 세션이 세이브되었던 상태에 대한 제2 장치로부터의 요청이 수신된다. 제2 장치는 애플리케이션 제1 세션, 애플리케이션 제2 세션, 및 애플리케이션 제3 세션이 세이브되었던 상태들 중 어느 하나를 선택하기 위한 옵션을 제공하도록 구성된다. 제2 장치에 의해 요청된 상태는 제2 장치에 전달된다. 제2 장치 및 애플리케이션 서버를 포함하고, 요청된 상태와 대략 동등한 상태에서 시작하고, 애플리케이션 서버에 의한 1차 애플리케이션의 실행에 기초한 애플리케이션 제4 세션이 수행된다.
본 발명에 대한 추가적인 양태들이 있다. 그러므로, 선행 기재는 단지 본 발명의 소정의 실시예들 및 양태들의 단지 간단한 개요라고 이해해야 한다. 추가적인 실시예들 및 양태들은 하기의 내용을 참조한다. 또한 개시된 실시예들에 대한 다양한 변경들이 발명의 사상 또는 범위 내에서 이루어질 수 있음을 이해해야 한다. 따라서 선행 기재의 개요는 발명의 범위를 제한하려는 의미가 아니다. 오히려, 본 발명의 범위는 첨부된 청구항들 및 그들의 등가물들에 의해 판정되어야 한다.
본 발명의 이들 및/또는 다른 양태들 및 이점들은 첨부 도면과 함께 특정 실시예들에 대한 하기의 설명을 참조함으로써 명백해지고 더 용이하게 이해될 것이다.
도 1은 본 발명의 실시예들이 적용될 수 있는 하드웨어 환경의 간략화된 블록도이다.
도 2는 하나의 유저에 의해 애플리케이션 상태를 복수의 다른 유저에게 송신하는 방법의 간략화된 프로세스 흐름도이다.
도 3은 본 발명의 대안적인 실시예에 따라 애플리케이션의 복수의 상태를 송신하는 방법의 간략화된 프로세스 흐름도이다.
도 4는 본 발명의 대안적인 실시예에 따라 서버상에서 실행되는 애플리케이션의 애플리케이션 상태를 송신하는 방법의 간략화된 프로세스 흐름도이다.
도 5는 본 발명의 대안적인 실시예에 따라 서버에서 실행되고 있는 애플리케이션의 사용 동안 복수의 애플리케이션 상태가 세이브되는 방법의 간략화된 프로세스 흐름도이다.
하기의 설명은 본 발명을 실시하기 위해 현재 생각되는 최선의 모드이다. 본 발명의 실시예들을 상세하게 참조할 것이고, 이 예로서, 첨부 도면에 도시되고, 전반적으로 동일한 참조 번호들은 동일한 구성 요소들을 지칭한다. 본 발명의 범위 내에서 다른 실시예들이 사용될 수 있고 구조적 및 동작적 변경이 이루어질 수 있음을 이해할 것이다.
본 발명의 실시예로서, 하나의 장치에서 컴퓨터 기반 애플리케이션을 사용하고 인터럽션없이 다른 유저 장치에서 동일한 세션 또는 동작을 계속하기 위한 시스템 및 방법을 포함한다. 예로서, 게임의 플레이, 오디오/비주얼 콘텐츠의 렌더링, 오피스 생산성 소프트웨어의 실행, 장치에서 웹 브라우저 또는 임의의 다른 애플리케이션의 사용이 포함된다. 이것은 유선 또는 무선 통신 링크 또는 네트워크를 사용하여 하나의 장치로부터 하나 이상의 다른 장치로 애플리케이션 상태 또는 인스턴스를 송신 또는 복제함으로써 달성된다. 실시예로서, 또한, 제1 유저 자신의 장치에서의 동작을 계속하면서 하나 이상의 다른 유저에게 그들의 장치들로의 송신에 의해 애플리케이션의 동작의 현재 상태를 복제하거나 또는 송신하는 것을 포함한다.
일 예에서, 제1 유저는 데스크톱 컴퓨터에서 체스 게임을 플레이하고 있을 수 있다. 이 세션의 중간 동안, 제1 유저가 자신의 위치를 변경하고 싶다면, 자신은 자신의 이동 전화에 체스 게임 세션의 현재 상태를 송신할 수 있고, 이동 전화에 이미 설치된 또는 예를 들어, 애플리케이션 스토어-기반 서버(store-based server) 등의 서버로부터 다운로드된 체스 게임 애플리케이션을 계속 사용할 수 있다. 제1 유저는 데스크탑 컴퓨터를 사용하는 동안 자신이 중지했던 초기 게임 세션의 시점으로부터 체스 게임 플레이를 계속할 수 있다.
다른 예에서, 제1 유저는 세션중 동안 체스 게임을 어떤 상태로 가져갈 수 있고, 게임의 현재 상태를 하나의 또는 복수의 다른 장치에 송신함으로써 하나 또는 복수의 다른 유저가 플레이의 그 시점에서 시작하여 게임을 계속하도록 도전한다. 또한, 이 제1 유저는, 게임 세션의 자신의 부분을 완료한 후, 상태를 복제할 수 있고 그것을 다른 장치 또는 동일 장치 내의 다른 유저의 큐에 송신할 수 있어서, 다른 유저가 애플리케이션 세션의 이 부분을 완료할 수 있고 그 후 추가적인 완료를 위해 제2 상태를 다시 제1 유저에게 반환할 수 있거나 또는 그것을 다른 유저들에게 줄 수 있다. 또 다른 예에서는, 제1 유저가 동일한 게임의 상이한 상태들을 저장할 수 있고, 나중에 그 게임에서 다른 경로 또는 분기를 취하여 각각의 상태로부터 계속할 수 있다. 일반적으로, 애플리케이션 상태를 송신함으로써, 유저의 동작 또는 세션은 어디든 위치된 하나 이상의 장치에서 언제라도 인터럽션없이 계속될 수 있다. 따라서, 본 발명의 실시예로서, 모든 장치들을 컴퓨팅 플랫폼들로서 취급하고, 임의의 동작, 게임 또는 애플리케이션의 세션은 하나의 플랫폼으로부터 하나 이상의 다른 플랫폼으로 이동할 수 있고 그들이 초기 플랫폼상의 세션에서 중지했던 상태로부터 계속할 수 있다.
유저가 원할 때마다 현재 상태를 저장하고 자신이, 이 저장된 상태로부터 시작하도록 하기 위해, 본 발명의 실시예로서, 소프트웨어 개발 키트들(SDKs)을 사용한다. SDKs는, 애플리케이션들의 개발자들이 어떻게 저장하고 임의의 주어진 저장된 상태로부터 시작할지에 대해 걱정할 필요가 없도록, 현재 상태를 저장하고 저장된 상태로부터 시작하는 방법을 구현한다.
도 1을 참조하면, 본 발명의 실시예들이 적용될 수 있는 하드웨어 환경의 예시적인 구성이 도시된다. 애플리케이션들 및 그들의 상태들을 송신, 수신, 저장, 편성, 및 생성하도록 구성되는 통신 시스템(100)은 제1 클라이언트 또는 장치(102), 제2 장치(104), 제3 장치(106), 및 서버(108)로 구성된다. 서버(108) 및 제1, 제2, 및 제3 클라이언트(102, 104, 106)는 각각, 예를 들면, 인터넷일 수 있는 네트워크(110)를 통해 서로 접속 또는 결합된다. 접속들은 무선, 또는 하나 이상의 케이블을 통해 또는 그들의 임의의 조합을 통해 이루어질 수 있다. 도시된 예에서, 세 개의 클라이언트 또는 장치와 하나의 서버만 도시되지만, 당업자라면 임의의 개수의 장치 및 서버가 네트워크(110)에 접속될 수 있다는 것을 이해할 것이다. 서버(108)는 다른 메시지 서버들을 통해, 때때로 하나의 장치로부터 다른 장치로 또는 서버(108)로 애플리케이션, 애플리케이션 상태, 전자 메시지, 및 다른 데이터를 송신하기 위한 기능을 제공한다.
서버(108)는 판독 전용 메모리(read-only memory: ROM)(114)에 저장된 또는 저장 유닛(116)으로부터 랜덤 액세스 메모리(random access memory: RAM)(118)에 로드된 프로그램들 및 애플리케이션들에 의해 지시된 대로 각종 처리 동작들을 실행하도록 구성된 프로세서(112)를 포함한다. (도 1은 하나의 프로세서를 도시하지만, 대안적인 실시예로서, 복수의 프로세서를 포함한다.) 프로세서(112), ROM(114), RAM(118) 및 저장 유닛(116)은 버스(120)를 통해 결합 또는 상호접속된다. 저장 유닛(116)은 비-일시적 컴퓨터 판독가능 저장 매체를 포함하고, 비교적 대량의 데이터, 애플리케이션 등을 저장하기 위한 것이다. 저장 유닛(116)은 하나 이상의 하드 디스크 드라이브, 플래시 메모리 장치, 광학 드라이브 등일 수 있다. RAM(118)은 또한 프로세서(112)가 필요에 따라 다양한 애플리케이션 및 처리 동작을 실행하기 위해 필수적인 데이터 등을 저장한다. ROM(114), RAM(118) 및/또는 저장 유닛(116)은 서버(108)의 동작을 가능하게 하기 위해 프로세서(112)와 함께 사용되는 운영 소프트웨어 및 애플리케이션들을 저장한다.
시스템(100)은 또한, 예를 들어, 키보드 및 마우스, 음성 또는 다른 사운드 입력을 수신하기 위한 마이크로폰, 모션을 검출하기 위한 센서, 포인팅 장치, 터치 스크린 디스플레이, 또는 예를 들어, 텔레비전 리모트 컨트롤 타입 유닛 등의 리모트 콘트롤 무선 입력 유닛 등 적어도 하나의 입력 장치(122)를 더 포함한다. 대안적인 실시예로서, 입력 장치들의 전술한 타입들의 임의의 조합뿐만 아니라, 다른 입력 장치들도 포함할 수 있다. 따라서, 시스템(100)은 예를 들면, LCD에 기초한 디스플레이 유닛 등의 출력 장치(124)의 미리 정의된 영역 위에 커서가 위치될 때, 마우스 버튼을 클릭하는 것을 포함하는 유저 액션을 통해 유저 입력을 허용한다. (출력 장치(124)는 음성 프롬프트(voice prompts) 및 말(spoken words), 음악 및 시스템 톤을 제공하기 위한 스피커를 더 포함할 수 있다.) 입력을 위한 다른 유저의 액션들은, 유저에 의한 소리 또는 움직임의 생성, 텔레비전 타입 리모트 콘트롤 유닛을 사용한 선택, 키보드 상의 키의 가압, 포인팅 장치의 이동, 또는 포인팅 장치 또는 유저의 손가락에 의한 터치 스크린 디스플레이상의 터치, 또는 표시된 지시의 선택을 포함할 수 있다.
버스(120)는 또한 입력 장치(122), 출력 장치(124), 저장 유닛(116), 및 통신 장치(126)를 연결 또는 접속한다. 통신 장치(126)는 예를 들어, 모뎀, 네트워크 인터페이스 카드(network interface card: NIC), 무선 액세스 카드 또는 어댑터, 또는 다른 단말 어댑터일 수 있다. 통신 장치(126)는 네트워크(110)를 통해 통신 처리를 실행하고, 프로세서(112)로부터 공급된 데이터를 송신하고, 네트워크(110)로부터 수신된 데이터를 프로세서(112), RAM(118), 및 저장 유닛(116)에 출력한다. 통신 장치(126)는 또한 다른 클라이언트들과 아날로그 신호 또는 디지털 신호를 통신한다.
필요에 따라 버스(120)는 또한 드라이브(128)에 접속 또는 결합되는데, 그 드라이브에 있어서, 예를 들어, 자기 디스크, 광 디스크, 광 자기 디스크, 또는 반도체 메모리 등의 비-일시적 컴퓨터 판독가능 저장 매체에는, 명령어들을 포함하는 컴퓨터 애플리케이션들 또는 이러한 저장 매체들 중 임의의 것으로부터 판독된 다른 데이터가 로드된다. 이 명령어들 및 데이터는, 프로세서(112)에 의해 실행될 때, 그것이 복수의 방법 또는 기능을 수행하게 한다.
상세히 도시되지는 않았지만, 제1, 제2, 및 제3 클라이언트 또는 장치(102, 104, 106)는 또한 각각 서버(108)의 구성과 대체로 유사한 구성을 갖는 컴퓨터로서 구성된다. 도 1은 서버(108) 및 장치들의 하나의 구성을 도시하지만, 대안적인 실시예로서, 셋톱 박스, 퍼스널 컴퓨터, 휴대 전화, 소위 "스마트" 폰, 포터블 디지털 어시스턴트(portable digital assistant), 태블릿 컴퓨터 및 임의의 다른 타입의 컴퓨터 또는 프로세서 기반 장치를 포함한다. 또한, 대안적인 실시예로서, 서버를 통합할 필요가 없고, 오히려 서버를 통한 통신과 반대로 제1, 제2, 및 제3 클라이언트 간의 서로 직접적인 통신을 포함할 수 있다.
전술한 바와 같이, 본 발명의 실시예로서, 다른 장치들을 사용하고 있는 복수의 다른 유저들에, 하나의 유저에 의한 하나의 장치에서의 애플리케이션 상태의 송신을 제공한다. 도 2는 하나의 그러한 실시예의 간략화된 프로세스 흐름을 도시한다. 프로세스는 제1 유저에 의해 사용되고 있는 제1 장치에서 실행되고 있는 제1 애플리케이션의 애플리케이션 상태의 서버 또는 다른 장치에 의한 수신으로 시작한다(단계 202). 전술한 바와 같이, 이러한 애플리케이션의 일 예는 체스 게임이고, 그 애플리케이션 상태는 그의 완료 전의 체스 게임 세션의 중간 단계를 나타낸다. 다음으로, 제2 장치의 제2 유저에 의해 개시되는 요청에 응답하여, 서버는 제1 애플리케이션의 애플리케이션 상태에 대한 이 요청을 수신한다(단계 204). 그 후 서버는 제2 장치에서 실행 가능한 애플리케이션이 제2 장치에 상주하여 애플리케이션이 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작할 수 있는지를 판정한다(단계 206). 그러한 애플리케이션이 제2 장치에 이미 상주한다면, 서버는 제1 장치의 애플리케이션의 애플리케이션 상태를 제2 장치에 송신한다(단계 212). 한편, 필요한 애플리케이션이 제2 장치에 상주하지 않는다면, 서버는 제2 장치의 운영 체제 또는 제2 장치의 하드웨어 구성 또는 둘 다의 아이덴티티를 판정한다(단계 208). 이 정보를 사용하여, 그 후 서버는 제2 장치에 의해 사용될 수 있는 적절한 애플리케이션을 선택하고, 제2 장치에 이 애플리케이션을 송신한다(단계 210). 또한 서버는 제2 장치에 제1 애플리케이션의 애플리케이션 상태를 송신한다(단계 212). 전술한 바와 같이 송신된 애플리케이션은 제2 장치에서 실행되도록 구성되어 이 애플리케이션은 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작한다. 예를 들어, 전술한 체스 게임의 경우에, 제1 유저가 중단하고 애플리케이션 상태를 세이브한 게임의 중간 지점에서 게임이 시작하도록, 게임은 제2 장치에서 실행될 것이다.
프로세스가 제3 장치 및 제3 유저에 대해 반복된다. 즉, 제3 유저에 의해 개시되는 요청에 응답하여, 서버는 제3 장치로부터 제1 애플리케이션의 애플리케이션 상태에 대한 요청을 수신하다(단계 214). 그 후 서버는 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작하도록 실행 가능한 애플리케이션이 제3 장치에 상주하는지를 판정한다(단계 216). 그러한 애플리케이션이 제3 장치에 상주한다면, 서버는 제1 애플리케이션의 애플리케이션 상태를 제3 장치에 송신한다(단계 222). 한편, 필요한 애플리케이션이 제3 장치에 상주하지 않는다면, 서버는 제3 장치의 운영 체제 또는 하드웨어 구성 또는 둘 다의 아이덴티티를 판정한다(단계 218). 이 정보를 사용하여, 서버는 제3 장치에 의해 사용될 수 있는 적절한 애플리케이션을 선택하고, 제3 장치에 이 애플리케이션을 송신한다(단계 220). 서버는 또한, 제3 장치에 제1 애플리케이션의 애플리케이션 상태를 송신한다(단계 222). 전술한 바와 같이, 송신된 애플리케이션은 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작하도록 제3 장치에서 실행되도록 구성된다. 도 2는 두 개의 다른 장치를 동작시키는 두 명의 다른 유저에게 애플리케이션 상태의 송신을 수반하는 방법을 나타내지만, 대안적인 실시예로서, 하나의 다른 장치를 가진 오직 한 명의 다른 유저에게 애플리케이션 상태의 송신, 또는 대안적으로 세 개 이상의 다른 장치를 가진 세 명 이상의 다른 유저에게의 애플리케이션 상태의 송신을 포함한다.
대안적인 실시예로서, 다양한 디지털 권리 관리(digital rights management: DRM) 또는 다른 콘텐츠 제어 기능들을 포함한다. 일 실시예에서, 제1 장치 애플리케이션 상태와 대략 동등한 상태에서 시작했던 애플리케이션 세션들을 유저들이 종료한 후에, 제2 및 제3 장치에서의 애플리케이션들이 비활성화된다. 그 애플리케이션들이 다시 활성화되도록 하기 위해, 제2 및 제3 장치는 콘텐츠 소유자에 의해 제어되는 서버 또는 다른 장치로부터 키를 수신해야 할 것이다. 다른 실시예들에서, 유저들이 이러한 애플리케이션 세션들을 종료한 후에, 제2 및 제3 장치의 애플리케이션들은 이 장치들로부터 자동으로 제거 또는 삭제된다. 이 경우에, 관련 애플리케이션들은, 콘텐츠 제어 조건이 충족된다면, 추가의 사용을 위해 서버들로부터 다시 송신될 필요가 있을 것이다.
DRM 기능을 수반하는 또 다른 실시예로서, 애플리케이션 상태에 대한 요청이 진정한 요청인지에 대한, 서버에 의한 판정을 포함한다. 그것이 진정한 요청이 아니라면, 서버는 요청하는 장치에 관련 애플리케이션을 송신하지 않거나, 또는 애플리케이션 상태를 송신하지 않을 것이거나, 또는 둘 다를 송신하지 않을 것이다. 이 인증은, 관련 애플리케이션이 유저에 의해 구입되었는지 또는 라이센스되었는지에 대한 판정이 이루어지는 유저 레벨에서 판정될 수 있다. 이 경우에, 예를 들면, 유저는 로그인 이름과 패스워드 중 하나 또는 둘 다를 입력할 것이다. 다른 실시예에 따르면, 이 인증은 요청하는 장치가 관련 애플리케이션의 콘텐츠 소유자로 등록되었는지에 대한 판정이 이루어지는 장치 레벨에서 수행될 수 있다.
본 발명의 실시예들이 적용되는 애플리케이션들 및 그들의 용도들의 타입들은 광범위하다. 전술한 바와 같이, 일 실시예는 체스 등의 게임을 플레이하기 위한 애플리케이션들을 포함한다. 게임은 시작 상태, 종료 상태, 및 복수의 중간 상태를 포함한다. 따라서 게임의 어떤 중간 상태 또는 지점에서 제1 유저는 복수의 다른 유저에게 그 중간 상태를 보낼 수 있고 그 유저들은 그 중간 상태에서 그들의 플레이를 시작할 수 있다. 다른 실시예에서, 애플리케이션은 오디오, 비디오 또는 오디오/비디오 콘텐츠 등의 미디어 콘텐츠를 재생하도록 구성된 콘텐츠 플레이어이다. 미디어 콘텐츠는 시작 상태와 종료 상태와 복수의 중간 콘텐츠 상태를 갖는다. 제1 유저는 어떤 중간 상태 또는 포인트에서 콘텐츠 재생을 중지할 수 있고, 제1 유저가 그의 재생을 중지한 포인트에서 동일한 콘텐츠의 재생을 시작할 수 있는 복수의 다른 유저들에게 그 상태를 송신할 수 있다. 또 다른 실시예에서, 애플리케이션은 오피스 생산성 또는 다른 업무 관련 용도들을 위한 것이다. 애플리케이션 상태는 사용 통계 데이터(usage accounting data)를 포함하는 하나 이상의 상태 속성을 포함한다. 예를 들어, 이 데이터는 애플리케이션에 의해 인쇄되는 페이지 또는 사진의 수, 애플리케이션에 의해 번역되는 단어의 수, 또는 문제의 애플리케이션이 실행되는 시간 양에 대한 사용 분(usage minutes)을 포함할 수 있다.
일 실시예에 따르면, 애플리케이션이 실행되는 시간에 대한 사용 분은 유저에게 청구하기 위한 기초로서 사용될 수 있다. 예를 들어, 애플리케이션이 제1 장치에서 구입 또는 라이센스되었다면, 그 애플리케이션은 유저의 계정에 사용 분에 기초한 금액이 청구되도록, 동일한 유저의 제2 장치에서의 사용을 위해 "대여"될 수 있다. 따라서, 제2 장치는 제2 장치와 연관된 유저 계정을 갖는다. 제1 장치에서 제1 애플리케이션이 구입 또는 라이센스되었는지에 대한 판정이 이루어진다. 서버는 제2 애플리케이션이 실행되는 시간 양(예를 들어, 사용 분)을 제2 장치로부터 수신한다. 그 후 유저 계정은 제2 애플리케이션이 실행되는 시간 양에 대응하는 금액(monetary amount)이 청구된다.
또 다른 실시예에 따르면, 유저들이 성공적으로 퍼즐을 풀 수 있거나 또는 게임을 "승리"할 수 있거나 또는 이와 달리 종료하는 애플리케이션 상태나 다른 애플리케이션 상태에 도달할 수 있다면 그들에게 상금을 제공함으로써 애플리케이션을 구입하거나 라이센스하는 것이 장려될 수 있다. 예를 들어, 제1 유저 또는 시스템 서버는, 자신이 게임을 "승리"함으로써 또는 이와 달리 퍼즐을 해결함으로써 종료 게임 상태에 도달할 수 있다면, 자신이 상금을 받을 것이라고 통지받은 제2 유저에게 게임 애플리케이션의 중간 상태를 송신할 수 있다. 따라서 제2 유저는 중간 게임 상태를 얻기 위해, 그리고 게임을 "승리"하려는 또는 다른, 더 진보된 중간 게임 상태에 도달하려는, 또는 퍼즐을 해결하려는 등의 시도에서 게임 애플리케이션을 중간 상태에서 시작하는 것을 실행하기 위해 게임 애플리케이션을 구입 또는 라이센스하도록 유도될 수 있다.
도 2와 관련하여 전술한 실시예는 일반적으로 복수의 다른 장치와 유저에게 애플리케이션 상태를 송신하는 것에 관한 것이다. 대안적인 실시예에서, 하나의 애플리케이션이 하나의 장치에서 실행되는 하나 이상의 세션 동안 복수의 상태가 식별되고 저장된다. 이러한 상태들은, 복수의 상태 중 하나 이상을 선택하고, 선택된 애플리케이션 상태들에서 시작하여 다른 장치에서 애플리케이션의 사용을 개시하는 능력을 제1 유저 또는 다른 유저들에게 제공하는 다른 장치에 의한 사용을 위해 가용적으로 만들어진다.
도 3은 이러한 복수의 애플리케이션 상태를 송신하는 머신 구현 방법의 간략화된 프로세스 흐름도이다. 서버는 제1 장치에서 실행되는 제1 애플리케이션의 애플리케이션 제1 상태를 수신하여 저장하고(단계 302), 제1 장치에서 실행되는 제1 애플리케이션의 애플리케이션 제2 상태를 수신하여 저장하고(단계 304), 그리고 제1 장치에서 실행되는 제1 애플리케이션의 애플리케이션 제3 상태를 수신하여 저장한다(단계 306). 제2 장치의 유저는 애플리케이션 상태들 중 어느 하나를 선택하기 위한 옵션을 가지며, 제2 장치에서 이러한 상태 중 하나를 선택한다(단계 308). 그 후 서버는 제2 장치로부터 선택된 상태에 대한 요청을 수신한다(단계 310). 이 요청에 응답하여, 서버는 제2 장치가 필요한 애플리케이션을 갖는지를 판정하고, 갖지 않는다면, 서버는 요청된 애플리케이션을 제2 장치에 송신한다(단계 312). 이 애플리케이션은, 제1 장치의 선택된 애플리케이션 제1, 제2, 또는 제3 상태와 대략 동등한 상태에서 해당 애플리케이션이 시작하도록, 제2 장치에서 실행되도록 구성된다. 서버는 또한 선택된 제1, 제2, 또는 제3 상태를 제2 장치에 송신한다(단계 314).
대안적인 실시예들에서, 임의의 개수의 중간 애플리케이션 상태들이 서버에 또는 제2 장치에 또는 둘 다에 저장될 수 있다. 이러한 상태들 중 임의의 것이 제2 장치에 의해 또는 다른 장치에 의해 동시에 또는 다른 시간들에서 검색될 수 있다. 제2 장치 및 다른 장치들은 선택된 상태(들)에서 동시에 또는 다른 시간들에 시작하는 애플리케이션을 실행할 수 있다. 또 다른 실시예들에서, 애플리케이션 상태들은 클라이언트 장치들에 "푸시(push)"될 수 있거나, 또는 대안적으로 상태들은 클라이언트 장치들에 의해 "풀(pull)"될 수 있다. 일 예로서, 제1 클라이언트 장치의 유저는 하나 이상의 애플리케이션 상태가 가용인지를 알아보기 위해 서버에 또는 제2 클라이언트 장치에 질의를 개시할 수 있다. 애플리케이션 상태들이 가용인 경우에, 제1 클라이언트 장치의 유저에게, 하나 이상의 애플리케이션 상태를 선택하고 검색하는 옵션이 부여되어, 애플리케이션 상태들이 제1 클라이언트 장치에 송신된다.
도 2 및 도 3의 실시예로서, 일반적으로 유저 장치들에서 실행되고 있는 애플리케이션들에 관한 것이다. 한편, 도 4는 클라이언트 장치의 이득 또는 사용을 위해 서버에서 실행되고 있는 애플리케이션의 애플리케이션 상태를 송신하는 방법의 간략화된 프로세스 흐름도를 나타낸다. 제1 유저는 제1 장치를 사용하여 네트워크를 통해 애플리케이션 서버와 제1 애플리케이션 세션을 확립한다(단계 402). 애플리케이션 제1 세션이 식별되고, 세션 동안의 어떤 시점에서 또는 세션의 종료시에, 장치측 세션 정보 및 서버측 세션 정보가 세이브되고 저장된다(단계 404). 세션 정보의 이러한 세이브 및 저장은 세션을 계속할 수 있는 제1 유저가 "세이브" 또는 이와 유사한 명령을 입력함으로써, 또는 세션의 종료시에 달성될 수 있다. 제2 장치와 서버 사이에 통신이 확립되어, 제1 장치의 장치측 세션 정보가 제2 장치에 전달된다(단계 406). 마찬가지로 제3 장치와 서버 사이에 통신이 확립되어, 제1 장치의 장치측 세션 정보가 제3 장치에 전달된다(단계 408). 그 후 제2 유저의 애플리케이션 제2 세션이 수행되고, 제2 세션은 제2 장치와 서버를 포함하고, 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작한다(단계 410). 마찬가지로 제3 유저의 애플리케이션 제3 세션이 수행되고, 제3 세션은 제3 장치와 서버를 포함하고, 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작한다(단계 412).
본 실시예에 따르면, 제2 및 제3 장치를 사용하여 제2 및 제3 유저의 애플레케이션 세션들은 중첩 기간 동안 거의 동시에 발생할 수 있거나 또는 서로 중첩하지 않는 다른 기간들에 이루어질 수 있다. 또한, 제1 유저가 자신의 세션을 계속하면서 제2 및 제3 유저의 세션들이 발생할 수 있다. 또한, 전술한 본 발명의 실시예로서, 전술한 것들과 유사한 DRM 기능들을 포함할 수 있다. 즉, 그들은 관련 애플리케이션이 제2 또는 제3 유저에 의해 라이센스되었는지의 여부의 서버에 의한 판정을 포함한다. 또한, 제2 또는 제3 장치가 관련 애플리케이션의 콘텐츠 소유자로 등록되었는지에 대한 판정이 이루어지는 장치 레벨에서 인증이 수행될 수 있다.
도 4와 관련하여 전술한 실시예는 클라이언트 장치에 의해 서버에서 실행하고 있는 세션 상태를 복수의 다른 장치 및 유저에 송신하는 것에 관한 것이다. 대안적인 실시예에서, 클라이언트 장치에 의해 하나의 애플리케이션이 서버에서 실행되고 있는 하나 이상의 세션 동안 복수의 상태들이 식별되고 세이브된다. 이러한 상태들은, 복수의 상태 중 하나를 선택하고, 선택된 애플리케이션 상태들에서 시작하여 서버에 의해 다른 장치에서 애플리케이션의 사용을 개시하는 능력을 유저에게 제공하는 다른 장치에 의한 사용을 위해 가용으로 만들어진다.
도 5는 그러한 복수의 애플리케이션 상태를 가용으로 만드는 머신 구현 방법의 간략화된 프로세스 흐름도이다. 제1 유저는 제1 장치를 사용하여 네트워크를 통해 애플리케이션 서버와 제1 애플리케이션 세션을 확립한다(단계 502). 애플리케이션 제1 세션이 식별되고, 제1 애플리케이션 세션 동안의 어떤 시점에서 또는 이 세션의 종료시에, 장치측 제1 세션 정보 및 서버측 제1 세션 정보가 서버에 세이브되고 저장된다(단계 504). 제1 애플리케이션 세션은 애플리케이션 서버에 의해 1차 애플리케이션을 실행하는 것에 기초한다. 그 후 이 프로세스는 복수의 다른 세션들에 대해 반복된다. 즉, 애플리케이션 제2 세션은 제1 장치를 이용하여 제1 유저에 의해 확립되고 식별된다(단계 506). 이 세션은 애플리케이션 서버와 제1 장치를 포함하고, 서버에 의해 1차 애플리케이션을 실행하는 것에 기초한다. 장치측 제2 세션 정보 및 서버측 제2 세션 정보가 서버에 세이브되고 저장된다(단계 508). 마찬가지로, 애플리케이션 제3 세션은 제1 장치를 이용하여 제1 유저에 의해 확립되고 식별된다(단계 510). 전술한 바와 같이 이 제3 세션은 애플리케이션 서버와 제1 장치를 포함하고, 서버에 의해 1차 애플리케이션을 실행하는 것에 기초한다. 장치측 제3 세션 정보 및 서버측 제3 세션 정보는 서버에 세이브되고 저장된다(단계 512). 애플리케이션 제1, 제2, 및 제3 세션에 관련된 세션 정보의 이러한 세이브 및 저장은 유저가 세션을 계속할 수 있도록 제1 유저가 "세이브" 또는 이와 유사한 명령을 단일 세션 동안의 여러 시점들에서 입력함으로써, 또는 각 세션의 종료시에 달성될 수 있다.
제2 장치의 제2 유저는 제1, 제2, 또는 제3 세션이 세이브되었던 상태들 중 어느 하나를 선택하는 옵션을 갖는다. 제2 유저는 이 애플리케이션 상태들 중 하나를 제2 장치에서 선택한다(단계 514). 그 후 서버는 선택된 상태에 대한 요청을 제2 장치로부터 수신한다(단계 516). 이 요청에 응답하여, 서버는 선택된 상태를 제2 장치에 송신 또는 전달한다(단계 518). 마지막으로, 제2 유저는, 제2 장치 및 서버를 포함하는 제4 세션을 수행하고, 제4 세션은 요청된 상태와 대략 동등한 상태에서 시작하고 서버에 의한 1차 애플리케이션의 실행에 기초한다(단계 520).
일 실시예에 따르면, 세션이 제2 유저에 의해 수행되는 동안의 기간은, 제2 유저에 의해 선택되었던 상태와 연관되지 않은 제1 유저에 의해 수행되는 동안의 다른 세션들 중 하나의 기간들과 중첩할 수 있다. 대안적으로, 세션이 제2 유저에 의해 수행되는 기간은 제1 유저에 의해 수행되는 세션들 중 어느 것의 기간들과 중첩하도록 허용되지 않는다.
또한 전술한 본 발명의 도 5의 실시예는 도 2와 관련하여 전술한 것과 유사한 DRM 기능을 포함할 수 있다. 즉, 그들은 관련 애플리케이션을 유저가 라이센스했는지의 서버에 의한 판정을 포함한다. 대안적으로, 제2 장치가 관련 애플리케이션의 콘텐츠 소유자로 등록되었는지에 대한 판정이 이루어지는 장치 레벨에서 인증이 수행될 수 있다.
상기의 관점에서, 본 발명의 실시예로서, 하나의 장치에서 컴퓨터 기반 애플리케이션을 사용하고, 동일한 세션 또는 동작을 유저가 선택한 다른 장치에서 인터럽션 없이 계속하기 위한 시스템 및 방법을 제공함으로써, 당업계의 오랜 당면 문제들 중 많은 부분을 극복한다는 것을 이해할 것이다. 예로서, 인터넷 브라우저의 이용, 게임의 플레이, 오디오/비주얼 콘텐츠의 렌더링, 오피스 생산성 소프트웨어의 실행, 또는 장치에서 임의의 다른 애플리케이션의 사용이 포함된다. 이것은 유선 또는 무선 통신 링크 또는 네트워크를 사용하여 하나의 장치로부터 하나 이상의 다른 장치에 애플리케이션 상태 또는 인스턴스를 송신 또는 복제하는 것에 의해 달성된다. 실시예로서, 또한, 제1 유저 자신의 장치에서의 동작을 계속하면서 하나 이상의 다른 유저에게 그들의 장치들로의 송신에 의한 애플리케이션의 동작의 현재 상태를 복제하거나 또는 송신하는 것을 더 포함한다.
상기의 설명이 본 발명의 특정 실시예들을 참조하지만, 많은 변형들이 본 발명의 사상 내에서 이루어질 수 있음을 이해할 것이다. 청구 범위는 본 발명의 진정한 범위 및 사상 내에 있는 그러한 변형들을 포함하도록 의도된다. 따라서 현재 개시된 실시예로서, 모든 면에서 제한적인 것이 아니라 예시적인 것으로서 고려되어야 하고, 본 발명의 범위는 전술한 설명보다는 오히려 청구 범위에 의해 나타내어지고, 그러므로, 청구 범위에 상당하는 의미 및 범위 내에 들어오는 모든 변경들은 본 발명에 포함되는 것으로 의도된다.

Claims (34)

  1. 머신 구현 방법으로서,
    제1 장치에서 실행하는 제1 애플리케이션의 애플리케이션 상태를 서버에 의해 수신하는 단계,
    상기 애플리케이션 상태에 대한 제2 장치로부터의 요청을 상기 서버에 의해 수신하는 단계,
    상기 제2 장치로부터의 요청에 응답하여, 상기 서버에 의해 상기 제2 장치에 제2 애플리케이션을 송신하는 단계, 및
    상기 제2 장치로부터의 요청에 응답하여, 상기 서버에 의해 상기 제2 장치에 상기 제1 애플리케이션의 애플리케이션 상태를 송신하는 단계를 포함하고,
    상기 제2 애플리케이션은, 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 상기 제2 애플리케이션이 시작하도록, 상기 제2 장치에서 실행되도록 구성되는, 머신 구현 방법.
  2. 제1항에 있어서,
    상기 제2 애플리케이션이 상기 제2 장치에 상주하는지를 서버에 의해 판정하는 단계, 및
    상기 제2 애플리케이션이 상기 제2 장치에 상주하지 않는다는 판정에 응답하여, 상기 제2 장치의 운영 체제와 상기 제2 장치의 하드웨어 구성 중 하나의 아이덴티티(identity)를 서버에 의해 판정하는 단계를 더 포함하고,
    상기 서버에 의해 상기 제2 장치에 상기 제2 애플리케이션을 송신하는 단계는, 상기 제2 애플리케이션이 상기 제2 장치에 상주하지 않는다는 판정에 응답하여 상기 제2 장치에 상기 제2 애플리케이션을 송신하는 단계를 포함하는, 머신 구현 방법.
  3. 제1항에 있어서,
    상기 제1 및 제2 애플리케이션은 시작 게임 상태, 종료 게임 상태, 및 복수의 중간 게임 상태를 갖는 게임을 포함하고, 상기 제1 애플리케이션의 애플리케이션 상태는 복수의 중간 게임 상태 중 하나에 대응하는, 머신 구현 방법.
  4. 제3항에 있어서,
    상기 서버에 의해 상기 애플리케이션 상태를 수신하는 단계는, 제1 유저에 의해 사용되고 있는 상기 제1 장치에서 실행되고 있는 상기 제1 애플리케이션의 애플리케이션 상태를 수신하는 단계를 포함하고,
    상기 제2 장치로부터의 요청은 상기 제2 장치의 제2 유저에 의해 개시되고, 상기 제1 유저는 상기 제2 유저와는 다른 개인이고,
    상기 종료 게임 상태는 문제를 해결하는 것과 게임을 승리하는 것 중 하나에 대응하고,
    상기 방법은,
    상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작한 상기 제2 애플리케이션의 세션 동안 상기 제2 장치에서 상기 종료 게임 상태가 달성되었다는 통지를 수신하는 단계, 및
    상기 제2 장치에서 상기 종료 게임 상태가 달성되었다는 통지를 수신한 후에 상기 제2 유저에게 상금을 제공하는 단계를 더 포함하는, 머신 구현 방법.
  5. 제1항에 있어서,
    상기 제1 및 제2 애플리케이션은 미디어 콘텐츠를 재생하도록 구성된 콘텐츠 플레이어를 포함하고, 상기 미디어 콘텐츠는 오디오 콘텐츠, 비디오 콘텐츠, 및 오디오/비디오 콘텐츠 중 하나이고,
    상기 미디어 콘텐츠는 시작 콘텐츠 상태, 종료 콘텐츠 상태, 및 복수의 중간 컨텐츠 상태를 갖고,
    상기 제1 애플리케이션의 애플리케이션 상태는 상기 복수의 중간 컨텐츠 상태 중 하나에 대응하는, 머신 구현 방법.
  6. 제1항에 있어서,
    상기 서버에 의해 상기 애플리케이션 상태를 수신하는 단계는, 제1 유저에 의해 사용되고 있는 상기 제1 장치에서 실행되고 있는 상기 제1 애플리케이션의 애플리케이션 상태를 수신하는 단계를 포함하고,
    상기 제2 장치로부터의 요청은 상기 제2 장치의 제2 유저에 의해 개시되고, 상기 제1 유저는 상기 제2 유저와는 다른 개인인, 머신 구현 방법.
  7. 제1항에 있어서,
    상기 서버에 의해 상기 애플리케이션 상태를 수신하는 단계는, 제1 유저에 의해 사용되고 있는 상기 제1 장치에서 실행되고 있는 상기 제1 애플리케이션의 애플리케이션 상태를 수신하는 단계를 포함하고, 상기 방법은,
    상기 애플리케이션 상태에 대한 제3 장치로부터의 요청을 상기 서버에 의해 수신하는 단계 -상기 제2 장치로부터의 요청은 상기 제2 장치의 제2 유저에 의해 개시되고, 상기 제3 장치로부터의 요청은 상기 제3 장치의 제3 유저에 의해 개시되고, 상기 제1 유저, 상기 제2 유저, 및 상기 제3 유저는 다른 개인임-,
    상기 제3 장치로부터의 요청에 응답하여, 상기 서버에 의해 제3 애플리케이션을 상기 제3 장치에 송신하는 단계, 및
    상기 제3 장치로부터의 요청에 응답하여, 상기 서버 의해 상기 제3 장치에 상기 제1 애플리케이션의 애플리케이션 상태를 송신하는 단계를 더 포함하고,
    상기 제3 애플리케이션은, 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 상기 제3 애플리케이션이 시작하도록, 상기 제3 장치에서 실행하도록 구성되는, 머신 구현 방법.
  8. 제1항에 있어서,
    상기 애플리케이션 상태는 애플리케이션 제1 상태이고, 상기 방법은,
    상기 제1 장치에서 실행되고 있는 상기 제1 애플리케이션의 애플리케이션 제2 상태와, 상기 제1 장치에서 실행되고 있는 상기 제1 애플리케이션의 애플리케이션 제3 상태를 서버에 의해 수신하는 단계, 및
    상기 애플리케이션 제1 상태, 상기 애플리케이션 제2 상태, 및 상기 애플리케이션 제3 상태를 저장하는 단계를 더 포함하고,
    상기 제2 장치는 상기 애플리케이션 제1 상태, 상기 애플리케이션 제2 상태, 및 상기 애플리케이션 제3 상태 중 어느 하나를 요청하기 위한 옵션을 제공하도록 구성되고,
    상기 제2 장치에 상기 애플리케이션 제1 상태를 송신하는 단계는, 상기 애플리케이션 제1 상태, 상기 애플리케이션 제2 상태, 및 상기 애플리케이션 제3 상태를 저장한 후에 상기 애플리케이션 제1 상태를 송신하는 단계를 포함하는, 머신 구현 방법.
  9. 제1항에 있어서,
    상기 제2 애플리케이션은 또한, 상기 제2 장치에서의 애플리케이션 세션의 종료에 응답하여 상기 제2 장치에서의 더 이상의 동작이 비활성화되도록 구성되고, 상기 애플리케이션 세션은 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작하는 상기 제2 장치에서 상기 제2 애플리케이션을 실행하는 것에 대응하는, 머신 구현 방법.
  10. 제1항에 있어서,
    상기 제2 장치에서의 애플리케이션 세션의 종료에 응답하여, 상기 제2 애플리케이션은 상기 제2 장치로부터 제거되고, 상기 애플리케이션 세션은 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 시작하는 상기 제2 장치에서 상기 제2 애플리케이션을 실행하는 것에 대응하는, 머신 구현 방법.
  11. 제1항에 있어서,
    상기 애플리케이션 상태에 대한 요청이 진정한 요청인지를 판정하는 단계를 더 포함하고,
    상기 제2 애플리케이션을 송신하는 단계는 상기 요청이 진정한 것이라는 판정에 응답하여 상기 제2 애플리케이션을 송신하는 단계를 포함하고,
    상기 애플리케이션 상태를 송신하는 단계는 상기 요청이 진정한 것이라는 판정에 응답하여 상기 애플리케이션 상태를 송신하는 단계를 포함하는, 머신 구현 방법.
  12. 제11항에 있어서,
    상기 제2 장치로부터의 요청은 상기 제2 장치의 유저에 의해 개시되고,
    상기 요청이 진정한 요청인지를 판정하는 단계는 상기 제2 애플리케이션이 상기 유저에 의해 구입되거나 라이센스되었는지를 판정하는 단계를 포함하는, 머신 구현 방법.
  13. 제11항에 있어서,
    상기 제1 및 제2 애플리케이션의 적어도 일부는 콘텐츠 소유자에 의해 소유되거나 또는 라이센스되고,
    상기 요청이 진정한 요청인지를 판정하는 단계는 상기 제2 장치가 상기 콘텐츠 소유자로 등록되었는지를 판정하는 단계를 포함하는, 머신 구현 방법.
  14. 제1항에 있어서,
    상기 애플리케이션 상태는 사용량 통계 데이터(usage accounting data)를 포함하는 상태 속성을 포함하는, 머신 구현 방법.
  15. 제14항에 있어서,
    상기 사용량 통계 데이터는 상기 제1 애플리케이션이 실행되고 있는 시간 양에 대한 사용 분(usage minutes), 상기 제1 애플리케이션에 의해 인쇄되는 페이지 수, 상기 제1 애플리케이션에 의해 인쇄되는 사진의 수, 및 상기 제1 애플리케이션에 의해 번역되는 단어의 수 중 하나에 대응하는, 머신 구현 방법.
  16. 제1항에 있어서,
    상기 제2 장치는 상기 제2 장치와 연관된 유저 계정(user account)을 갖고, 상기 방법은,
    상기 제1 장치에서 상기 제1 애플리케이션이 구입되거나 또는 라이센스되었는지를 판정하는 단계,
    상기 제2 장치로부터 상기 제2 애플리케이션이 실행하는 시간 양을 수신하는 단계, 및
    상기 제1 애플리케이션이 구입되거나 또는 라이센스되었는지를 판정한 후에 상기 제2 애플리케이션이 실행되는 시간 양에 대응하는 금액을 상기 유저 계정에 청구하는 단계를 더 포함하는, 머신 구현 방법.
  17. 머신 구현 방법으로서,
    제1 장치에서 실행되는 제1 애플리케이션의 애플리케이션 상태를 상기 제1 장치에 저장하는 단계,
    상기 애플리케이션 상태에 대한 제2 장치로부터의 요청을 상기 제1 장치에 의해 수신하는 단계,
    상기 제2 장치로부터의 요청에 응답하여, 상기 제1 장치에 의해 제2 애플리케이션을 상기 제2 장치에 송신하는 단계, 및
    상기 제2 장치로부터의 요청에 응답하여, 상기 제1 장치에 의해 상기 제1 애플리케이션의 애플리케이션 상태를 상기 제2 장치에 송신하는 단계를 포함하고,
    상기 제2 애플리케이션은, 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 상기 제2 애플리케이션이 시작하도록, 상기 제2 장치에서 실행하도록 구성되는, 머신 구현 방법.
  18. 제1 애플리케이션을 갖는 제1 장치에 의한 사용 및 제2 장치에 의한 사용을 위한 머신으로서,
    메모리,
    상기 메모리에 결합된 프로세서, 및
    상기 메모리에 저장되고 상기 프로세서에 의해,
    상기 제1 장치에서 실행되고 있는 상기 제1 애플리케이션의 애플리케이션 상태를 상기 프로세서에 의해 수신하는 단계,
    상기 애플리케이션 상태에 대한 상기 제2 장치로부터의 요청을 상기 프로세서에 의해 수신하는 단계,
    상기 제2 장치로부터의 요청에 응답하여, 상기 프로세서에 의해 상기 제2 장치에 제2 애플리케이션을 송신하는 단계, 및
    상기 제2 장치로부터의 요청에 응답하여, 상기 프로세서에 의해 상기 제2 장치에 제1 애플리케이션의 애플리케이션 상태를 송신하는 단계
    를 수행하도록 동작가능하며, 상기 제2 애플리케이션은, 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 상기 제2 애플리케이션이 시작하도록, 상기 제2 장치에서 실행되도록 구성되는, 1차 애플리케이션(primary application)을 포함하는, 머신.
  19. 프로세서에 의해 실행될 때, 상기 프로세서가,
    제1 장치에서 실행되고 있는 제1 애플리케이션의 애플리케이션 상태를 상기 프로세서에 의해 수신하는 단계,
    애플리케이션 상태에 대한 제2 장치로부터의 요청을 상기 프로세서에 의해 수신하는 단계,
    상기 제2 장치로부터의 요청에 응답하여, 상기 프로세서에 의해 상기 제2 장치에 2차 애플리케이션을 송신하는 단계, 및
    상기 제2 장치로부터의 요청에 응답하여, 상기 프로세서에 의해 제2 장치에 상기 제1 애플리케이션의 애플리케이션 상태를 송신하는 단계를 포함하는 방법으로서,
    상기 제2 애플리케이션은, 상기 제1 장치의 애플리케이션 상태와 대략 동등한 상태에서 상기 제2 애플리케이션이 시작하도록, 상기 제2 장치에서 실행되도록 구성되는, 방법을 수행하도록 하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체.
  20. 머신 구현 방법으로서,
    제1 유저의 제1 애플리케이션 세션을 식별하는 단계 -상기 제1 애플리케이션 세션은 애플리케이션 서버와 제1 장치를 포함함-,
    제1 장치측 세션 정보 및 서버측 세션 정보를 저장하는 단계,
    제2 장치와 상기 애플리케이션 서버 사이에 통신 접속을 확립하는 단계,
    제3 장치와 상기 애플리케이션 서버 사이에 통신 접속을 확립하는 단계,
    상기 제2 장치에 상기 제1 장치측 세션 정보를 전달하는 단계,
    상기 제3 장치에 상기 제1 장치측 세션 정보를 전달하는 단계,
    제2 유저의 제2 애플리케이션 세션을 수행하는 단계 -상기 제2 애플리케이션 세션은 상기 제2 장치 및 상기 애플리케이션 서버를 포함하고, 상기 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작함-, 및
    제3 유저의 제3 애플리케이션 세션을 수행하는 단계 -상기 제3 애플리케이션 세션은 상기 제3 장치 및 상기 애플리케이션 서버를 포함하고, 상기 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작함-를 포함하고,
    상기 제1 유저, 상기 제2 유저, 및 상기 제3 유저는 서로 다른 개인인, 머신 구현 방법.
  21. 제20항에 있어서,
    상기 제2 애플리케이션 세션을 수행하는 단계는 제1 기간 동안 발생하고, 상기 제3 애플리케이션 세션을 수행하는 단계는 제2 기간 동안 발생하고, 상기 제1 및 제2 기간 각각의 적어도 일부는 서로 중첩하는, 머신 구현 방법.
  22. 제20항에 있어서,
    상기 제2 유저가 상기 제2 애플리케이션 세션의 사용 권한이 있는지를 판정하는 단계, 및
    상기 제3 유저가 상기 제3 애플리케이션 세션의 사용 권한이 있는지를 판정하는 단계를 더 포함하고,
    상기 제2 애플리케이션 세션을 수행하는 단계는, 상기 제2 유저가 상기 제2 애플리케이션 세션의 사용 권한이 있다는 판정에 응답하여, 상기 제2 애플리케이션 세션을 수행하는 단계를 포함하고,
    상기 제3 애플리케이션 세션을 수행하는 단계는, 상기 제3 유저가 상기 제3 애플리케이션 세션의 사용 권한이 있다는 판정에 응답하여, 상기 제3 애플리케이션 세션을 수행하는 단계를 포함하는, 머신 구현 방법.
  23. 제22항에 있어서,
    상기 제2 유저가 상기 제2 애플리케이션 세션의 사용 권한이 있는지를 판정하는 단계는, 상기 제2 유저가 상기 제2 애플리케이션 세션의 사용에 대한 라이센스를 갖는지를 판정하는 단계를 포함하고, 상기 제3 유저가 상기 제3 애플리케이션 세션의 사용 권한이 있는지를 판정하는 단계는, 상기 제3 유저가 상기 제3 애플리케이션 세션의 사용에 대한 라이센스를 갖는지를 판정하는 단계를 포함하는, 머신 구현 방법.
  24. 제20항에 있어서,
    상기 제1, 제2 및 제3 애플리케이션 세션의 적어도 일부는 콘텐츠 소유자에 의해 소유되거나 또는 라이센스되는 적어도 하나의 애플리케이션에 의해 생성되고, 상기 방법은,
    상기 제2 장치가 상기 콘텐츠 소유자로 등록되었는지를 판정하는 단계, 및
    상기 제3 장치가 상기 콘텐츠 소유자로 등록되었는지를 판정하는 단계를 더 포함하고,
    상기 제2 애플리케이션 세션을 수행하는 단계는 상기 제2 장치가 상기 콘텐츠 소유자로 등록되었다는 판정에 응답하여 상기 제2 애플리케이션 세션을 수행하는 단계를 포함하고,
    상기 제3 애플리케이션 세션을 수행하는 단계는 상기 제3 장치가 상기 콘텐츠 소유자로 등록되었다는 판정에 응답하여 상기 제3 애플리케이션 세션을 수행하는 단계를 포함하는, 머신 구현 방법.
  25. 머신 구현 방법으로서,
    애플리케이션 제1 세션, 애플리케이션 제2 세션, 및 애플리케이션 제3 세션을 식별하는 단계 -그 각각의 세션은 애플리케이션 서버와 제1 장치를 포함하고, 그 각각의 세션은 상기 애플리케이션 서버에 의해 1차 애플리케이션의 실행에 기초함-,
    상기 애플리케이션 제1 세션에 대응하는 제1 장치측 제1 세션 정보와 서버측 제1 세션 정보를 저장하는 단계,
    상기 애플리케이션 제2 세션에 대응하는 제1 장치측 제2 세션 정보와 서버측 제2 세션 정보를 저장하는 단계,
    상기 애플리케이션 제3 세션에 대응하는 제1 장치측 제3 세션 정보와 서버측 제3 세션 정보를 저장하는 단계,
    상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션 중 하나가 세이브되었던 상태에 대한 요청을 제2 장치로부터 수신하는 단계 -상기 제2 장치는 상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션이 세이브되었던 상태들 중 어느 것을 선택하기 위한 옵션을 제공하도록 구성됨-,
    상기 제2 장치에 의해 요청된 상태를 상기 제2 장치에 전달하는 단계, 및
    상기 제2 장치 및 상기 애플리케이션 서버를 포함하는 애플리케이션 제4 세션을 수행하는 단계 -상기 애플리케이션 제4 세션은 요청된 상태와 대략 동등한 상태에서 시작하고, 상기 애플리케이션 제4 세션은 상기 애플리케이션 서버에 의해 상기 1차 애플리케이션을 실행하는 것에 기초함-를 포함하는, 머신 구현 방법.
  26. 제25항에 있어서,
    상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션 각각은 제1 기간, 제2 기간, 및 제3 기간 동안 각각 발생하고, 상기 애플리케이션 제4 세션의 수행은 제4 기간 동안 발생하고, 상기 제4 기간은 상기 제1 기간, 상기 제2 기간, 및 상기 제3 기간 중 어느 하나와 중첩하지 않는, 머신 구현 방법.
  27. 제25항에 있어서,
    상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션은 제1 유저에 의해 상기 제1 장치에서 수행되고, 상기 애플리케이션 제4 세션은 제2 유저에 의해 상기 제2 장치에서 수행되고, 상기 제1 유저와 상기 제2 유저는 서로 다른 개인인, 머신 구현 방법.
  28. 제27항에 있어서,
    상기 제2 유저가 상기 애플리케이션 제4 세션의 사용 권한이 있는지를 판정하는 단계를 더 포함하고,
    상기 애플리케이션 제4 세션을 수행하는 단계는, 상기 제2 유저가 상기 애플리케이션 제4 세션의 사용 권한이 있다는 판정에 응답하여 상기 애플리케이션 제4 세션을 수행하는 단계를 포함하는, 머신 구현 방법.
  29. 제28항에 있어서,
    상기 제2 유저가 상기 애플리케이션 제4 세션의 사용 권한이 있는지의 판정은 상기 제2 유저가 상기 애플리케이션 제4 세션의 사용에 대한 라이센스를 갖고 있는지의 판정을 포함하는, 머신 구현 방법.
  30. 제25항에 있어서,
    상기 1차 애플리케이션의 적어도 일부는 콘텐트 소유자에 의해 소유되거나 또는 라이센스되고, 상기 방법은,
    상기 제2 장치가 상기 콘텐츠 소유자로 등록되었는지를 판정하는 단계를 더 포함하고,
    상기 애플리케이션 제4 세션을 수행하는 단계는, 상기 제2 장치가 상기 콘텐츠 소유자로 등록되었다는 판정에 응답하여 상기 애플리케이션 제4 세션을 수행하는 단계를 포함하는, 머신 구현 방법.
  31. 제1 장치, 제2 장치, 및 제3 장치에 의한 사용을 위한 머신으로서,
    메모리,
    상기 메모리에 결합된 프로세서, 및
    상기 메모리에 저장되고 상기 프로세서에 의해,
    제1 유저의 제1 애플리케이션 세션을 식별하는 단계 -상기 제1 애플리케이션 세션은 상기 프로세서 및 상기 제1 장치를 포함함-,
    제1 장치측 세션 정보 및 프로세서측 세션 정보를 저장하는 단계,
    상기 제2 장치와 상기 프로세서 사이의 통신 접속을 확립하는 단계,
    상기 제3 장치와 상기 프로세서 사이의 통신 접속을 확립하는 단계,
    상기 제2 장치에 상기 제1 장치측 세션 정보를 전달하는 단계,
    상기 제3 장치에 상기 제1 장치측 세션 정보를 전달하는 단계,
    제2 유저의 제2 애플리케이션 세션을 수행하는 단계 -상기 제2 애플리케이션 세션은 상기 제2 장치와 상기 프로세서를 포함하고, 상기 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작함-, 및
    제3 유저의 제3 애플리케이션 세션을 수행하는 단계 -상기 제3 애플리케이션 세션은 상기 제3 장치와 상기 프로세서를 포함하고, 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작함-
    를 수행하도록 동작가능한 애플리케이션으로서, 상기 제1 유저, 상기 제2 유저, 및 상기 제3 유저는 서로 다른 개인인, 애플리케이션을 포함하는, 머신.
  32. 제1 장치 및 제2 장치에 의한 사용을 위한 머신으로서,
    메모리,
    상기 메모리에 결합된 프로세서, 및
    상기 메모리에 저장되고 상기 프로세서에 의해,
    애플리케이션 제1 세션, 애플리케이션 제2 세션, 및 애플리케이션 제3 세션을 식별하는 단계 -그 각각의 세션은 상기 프로세서와 상기 제1 장치를 포함하고, 그 각각의 세션은 상기 프로세서에 의해 1차 애플리케이션을 실행하는 것에 기초함-,
    상기 애플리케이션 제1 세션에 대응하는 제1 장치측 제1 세션 정보 및 프로세서측 제1 세션 정보를 저장하는 단계,
    상기 애플리케이션 제2 세션에 대응하는 제1 장치측 제2 세션 정보 및 프로세서측 제2 세션 정보를 저장하는 단계,
    상기 애플리케이션 제3 세션에 대응하는 제1 장치측 제3 세션 정보 및 프로세서측 제3 세션 정보를 저장하는 단계,
    상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션 중 하나가 세이브되었던 상태에 대한 요청을 상기 제2 장치로부터 수신하는 단계 -상기 제2 장치는 상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션이 세이브되었던 상태들 중 어느 것을 선택하기 위한 옵션을 제공하도록 구성됨-,
    상기 제2 장치에 의해 요청된 상태를 상기 제2 장치에 전달하는 단계, 및
    상기 제2 장치와 상기 프로세서를 포함하는 애플리케이션 제4 세션을 수행하는 단계 -상기 애플리케이션 제4 세션은 요청된 상태와 대략 동등한 상태에서 시작하고, 상기 애플리케이션 제4 세션은 상기 프로세서에 의해 상기 1차 애플리케이션을 실행하는 것에 기초함-
    를 수행하도록 동작가능한 애플리케이션을 포함하는, 머신,
  33. 프로세서에 의해 실행될 때, 프로세서가,
    제1 유저의 제1 애플리케이션 세션을 식별하는 단계 -상기 제1 애플리케이션 세션은 상기 프로세서 및 제1 장치를 포함함-,
    제1 장치측 세션 정보 및 프로세서측 세션 정보를 저장하는 단계,
    제2 장치와 상기 프로세서 사이의 통신 접속을 확립하는 단계,
    제3 장치와 상기 프로세서 사이의 통신 접속을 확립하는 단계,
    상기 제2 장치에 상기 제1 장치측 세션 정보를 전달하는 단계,
    상기 제3 장치에 상기 제1 장치측 세션 정보를 전달하는 단계,
    제2 유저의 제2 애플리케이션 세션을 수행하는 단계 -상기 제2 애플리케이션 세션은 상기 제2 장치와 상기 프로세서를 포함하고, 상기 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작함-, 및
    제3 유저의 제3 애플리케이션 세션을 수행하는 단계 -상기 제3 애플리케이션 세션은 상기 제3 장치와 상기 프로세서를 포함하고, 상기 제1 애플리케이션 세션이 세이브되었던 상태와 대략 동등한 상태에서 시작함-를 포함하는 방법으로서,
    상기 제1 유저, 상기 제2 유저, 및 상기 제3 유저는 서로 다른 개인인, 방법을 수행하도록 하는 명령어들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  34. 프로세서에 의해 실행될 때, 프로세서가,
    애플리케이션 제1 세션, 애플리케이션 제2 세션, 및 애플리케이션 제3 세션을 식별하는 단계 -그 각각의 세션은 상기 프로세서와 제1 장치를 포함하고, 그 각각의 세션은 상기 프로세서에 의한 1차 애플리케이션의 실행에 기초함-,
    상기 애플리케이션 제1 세션에 대응하는 제1 장치측 제1 세션 정보 및 프로세서측 제1 세션 정보를 저장하는 단계,
    상기 애플리케이션 제2 세션에 대응하는 제1 장치측 제2 세션 정보 및 프로세서측 제2 세션 정보를 저장하는 단계,
    상기 애플리케이션 제3 세션에 대응하는 제1 장치측 제3 세션 정보 및 프로세서측 제3 세션 정보를 저장하는 단계,
    상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션 중 하나가 세이브되었던 상태에 대한 요청을 제2 장치로부터 수신하는 단계 -상기 제2 장치는 상기 애플리케이션 제1 세션, 상기 애플리케이션 제2 세션, 및 상기 애플리케이션 제3 세션이 세이브되었던 상태들 중 어느 것을 선택하기 위한 옵션을 제공하도록 구성됨-,
    상기 제2 장치에 의해 요청된 상태를 상기 제2 장치에 전달하는 단계, 및
    상기 제2 장치와 상기 프로세서를 포함하는 애플리케이션 제4 세션을 수행하는 단계 -상기 애플리케이션 제4 세션은 요청된 상태와 대략 동등한 상태에서 시작하고, 애플리케이션 제4 세션은 상기 프로세서에 의해 1차 애플리케이션을 실행하는 것에 기초함-를 포함하는 방법을 수행하도록 하는 명령어들을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
KR20147003090A 2011-08-12 2012-07-05 애플리케이션 상태를 송신하는 방법 및 시스템 KR20140031399A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/208,747 US20130041790A1 (en) 2011-08-12 2011-08-12 Method and system for transferring an application state
US13/208,747 2011-08-12
PCT/US2012/045561 WO2013025292A1 (en) 2011-08-12 2012-07-05 Method and system for transferring an application state

Publications (1)

Publication Number Publication Date
KR20140031399A true KR20140031399A (ko) 2014-03-12

Family

ID=47678148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20147003090A KR20140031399A (ko) 2011-08-12 2012-07-05 애플리케이션 상태를 송신하는 방법 및 시스템

Country Status (6)

Country Link
US (1) US20130041790A1 (ko)
EP (1) EP2721507A4 (ko)
JP (1) JP2014529784A (ko)
KR (1) KR20140031399A (ko)
CN (1) CN103262065A (ko)
WO (1) WO2013025292A1 (ko)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101678271B1 (ko) 2011-06-05 2016-11-21 애플 인크. 다수의 애플리케이션들로부터 수신된 통지들을 디스플레이하기 위한 시스템들 및 방법들
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US9462466B2 (en) * 2011-09-29 2016-10-04 Israel L'Heureux Gateway router supporting session hand-off and content sharing among clients of a local area network
US9098592B2 (en) * 2011-12-14 2015-08-04 International Business Machines Corporation Session completion through co-browsing
US9274780B1 (en) 2011-12-21 2016-03-01 Amazon Technologies, Inc. Distribution of applications with a saved state
US9507630B2 (en) * 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
US10474728B2 (en) * 2012-03-21 2019-11-12 Oath Inc. Seamless browsing between devices
US9071627B2 (en) * 2012-12-03 2015-06-30 Lookout, Inc. Method and system for cloning applications from an electronic source device to an electronic target device
EP2760180A1 (en) * 2013-01-24 2014-07-30 P2S Media Group OY Method and apparatus for providing task based multimedia data
US9731206B2 (en) * 2013-02-19 2017-08-15 Amazon Technologies, Inc. Delegating video game tasks via a sharing service
US9672051B2 (en) 2013-02-19 2017-06-06 Amazon Technologies, Inc. Application programming interface for a sharing service
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US10251034B2 (en) 2013-03-15 2019-04-02 Blackberry Limited Propagation of application context between a mobile device and a vehicle information system
US9300779B2 (en) 2013-03-15 2016-03-29 Blackberry Limited Stateful integration of a vehicle information system user interface with mobile device operations
US9955286B2 (en) * 2013-05-08 2018-04-24 Natalya Segal Smart wearable devices and system therefor
US20140359735A1 (en) * 2013-05-29 2014-12-04 Sap Portals Israel Ltd Maintaining application session continuity across devices
US9934075B2 (en) * 2013-06-28 2018-04-03 Empire Technology Development Llc Managing associated tasks using a task manager in communication devices
CN107181807B (zh) * 2013-08-14 2020-12-15 华为技术有限公司 应用的托管方法及系统、移动终端、服务器
US20150088957A1 (en) * 2013-09-25 2015-03-26 Sony Corporation System and methods for managing applications in multiple devices
US9639889B2 (en) * 2013-12-23 2017-05-02 Ebay Inc. Discovery engine storefront
ES2812541T3 (es) 2013-12-30 2021-03-17 Onespan Int Gmbh Aparato de autenticación con interfaz Bluetooth
KR102267015B1 (ko) * 2014-01-21 2021-06-18 삼성전자주식회사 데이터 처리 방법 및 그 전자 장치
US9292367B2 (en) * 2014-04-08 2016-03-22 Microsoft Corporation Efficient migration of client-side web state
US10057354B2 (en) 2014-05-30 2018-08-21 Genesys Telecommunications Laboratories, Inc. System and method for single logout of applications
US9632824B2 (en) * 2014-05-30 2017-04-25 Genesys Telecommunications Laboratories, Inc. System and method for application inactivity control
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
KR101929372B1 (ko) 2014-05-30 2018-12-17 애플 인크. 하나의 디바이스의 사용으로부터 다른 디바이스의 사용으로의 전환
US9565227B1 (en) * 2014-06-16 2017-02-07 Teradici Corporation Composition control method for remote application delivery
US20150379678A1 (en) * 2014-06-25 2015-12-31 Doa'a M. Al-otoom Techniques to Compose Memory Resources Across Devices and Reduce Transitional Latency
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9641590B2 (en) 2014-08-27 2017-05-02 Google Inc. Resuming session states
US9571536B2 (en) * 2014-08-29 2017-02-14 Microsoft Technology Licensing, Llc Cross device task continuity
US9621650B2 (en) * 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
US10783565B2 (en) * 2014-10-30 2020-09-22 Ebay Inc. Method, manufacture, and system of transferring authenticated sessions and states between electronic devices
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
CN107430532B (zh) * 2015-06-29 2020-12-29 谷歌有限责任公司 传送用于设备上演示的应用数据
US20170054767A1 (en) * 2015-08-17 2017-02-23 Google Inc. Transferring application state between devices
US10430240B2 (en) * 2015-10-13 2019-10-01 Palantir Technologies Inc. Fault-tolerant and highly-available configuration of distributed services
CN105430487A (zh) * 2015-11-30 2016-03-23 小米科技有限责任公司 一种播放多媒体数据的方法、装置及系统
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
WO2018013651A1 (en) * 2016-07-12 2018-01-18 Proximal Systems Corporation Apparatus, system and method for proxy coupling management
US10466891B2 (en) 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
CN106390450A (zh) * 2016-09-23 2017-02-15 广东小天才科技有限公司 一种游戏状态更新方法、装置及系统
US11070647B1 (en) * 2017-03-14 2021-07-20 Parallels International Gmbh Seamless cross-platform synchronization of user activities and application data between mobile and desktop devices
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US10614030B2 (en) 2017-06-02 2020-04-07 Microsoft Technology Licensing Llc Task creation and completion with bi-directional user interactions
US20200128287A1 (en) * 2017-06-26 2020-04-23 Uzi MAIMON Captured content sharing interface
DK3649792T3 (da) * 2018-06-08 2022-06-20 Sivantos Pte Ltd Fremgangsmåde til overførsel af en bearbejdningstilstand i en audiologisk tilpasningsapplikation til et høreapparat
US10637942B1 (en) * 2018-12-05 2020-04-28 Citrix Systems, Inc. Providing most recent application views from user devices
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
KR20220027295A (ko) 2019-05-31 2022-03-07 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
CN110347494B (zh) * 2019-07-17 2023-11-17 深圳前海微众银行股份有限公司 上下文信息管理方法、装置、系统及计算机可读存储介质
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
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
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8062134B2 (en) * 1996-11-14 2011-11-22 Bally Gaming, Inc. Browser manager for a networked gaming system and method
US7284033B2 (en) * 1999-12-14 2007-10-16 Imahima Inc. Systems for communicating current and future activity information among mobile internet users and methods therefor
US7080159B2 (en) * 2000-12-15 2006-07-18 Ntt Docomo, Inc. Method and system for effecting migration of application among heterogeneous devices
US20030154398A1 (en) * 2002-02-08 2003-08-14 Eaton Eric Thomas System for providing continuity between session clients and method therefor
US7225448B2 (en) * 2003-08-14 2007-05-29 Lenovo (Singapore) Pte. Ltd. System and method for hibernating application state data on removable module
CN100547583C (zh) * 2003-08-14 2009-10-07 甲骨文国际公司 数据库的自动和动态提供的方法
US8095658B2 (en) * 2004-05-07 2012-01-10 International Business Machines Corporation Method and system for externalizing session management using a reverse proxy server
JP2006051251A (ja) * 2004-08-13 2006-02-23 Aruze Corp ゲームシステム
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
US7769887B1 (en) * 2006-02-03 2010-08-03 Sprint Communications Company L.P. Opportunistic data transfer over heterogeneous wireless networks
US7979555B2 (en) * 2007-02-27 2011-07-12 ExtraHop Networks,Inc. Capture and resumption of network application sessions
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
US20090204966A1 (en) * 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US8572033B2 (en) * 2008-03-20 2013-10-29 Microsoft Corporation Computing environment configuration
US8147308B2 (en) * 2008-10-21 2012-04-03 Cfph, Llc State save in game
US9537957B2 (en) * 2009-09-02 2017-01-03 Lenovo (Singapore) Pte. Ltd. Seamless application session reconstruction between devices
US20110219105A1 (en) * 2010-03-04 2011-09-08 Panasonic Corporation System and method for application session continuity
US8495129B2 (en) * 2010-03-16 2013-07-23 Microsoft Corporation Energy-aware code offload for mobile devices
EP2691856A1 (en) * 2011-03-31 2014-02-05 AOL Inc. Systems and methods for transferring application state between devices based on gestural input
US8171137B1 (en) * 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices

Also Published As

Publication number Publication date
WO2013025292A1 (en) 2013-02-21
EP2721507A4 (en) 2015-01-21
US20130041790A1 (en) 2013-02-14
JP2014529784A (ja) 2014-11-13
EP2721507A1 (en) 2014-04-23
CN103262065A (zh) 2013-08-21

Similar Documents

Publication Publication Date Title
KR20140031399A (ko) 애플리케이션 상태를 송신하는 방법 및 시스템
US10320880B2 (en) Data locker synchronization
US8556713B2 (en) Single to multi-user synchronous application conversion
US8668591B2 (en) Data locker management
US11120113B2 (en) Audio-based device authentication system
US10218770B2 (en) Method and system for sharing speech recognition program profiles for an application
JP6376638B2 (ja) ゲームに関わるサーバコンピュータ及びゲームプログラム
JP6075494B1 (ja) サーバおよびサーバプログラム
JP6247318B2 (ja) 共有サービスを介したビデオゲームタスクの委任
JP6186474B2 (ja) ロッカー管理システムおよび方法
US10258886B2 (en) Dynamic interface control device mapping when game sharing
JP7366948B2 (ja) ゲームリプレイ方法およびシステム
CN114042310A (zh) 游戏操作数据收集方法、装置、计算机设备及存储介质
KR101819987B1 (ko) 게임 서비스 시스템, 그의 서브 게임을 제공하기 위한 단말 장치 및 방법
TWI842905B (zh) 線上服務存取控制裝置及方法
TW202125272A (zh) 線上服務存取控制裝置及方法
JP2017196388A (ja) サーバおよびサーバプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application