KR101417242B1 - 세션 이동을 갖는 개인 클라우드 컴퓨팅 - Google Patents

세션 이동을 갖는 개인 클라우드 컴퓨팅 Download PDF

Info

Publication number
KR101417242B1
KR101417242B1 KR1020117031568A KR20117031568A KR101417242B1 KR 101417242 B1 KR101417242 B1 KR 101417242B1 KR 1020117031568 A KR1020117031568 A KR 1020117031568A KR 20117031568 A KR20117031568 A KR 20117031568A KR 101417242 B1 KR101417242 B1 KR 101417242B1
Authority
KR
South Korea
Prior art keywords
client device
application
message
server
session
Prior art date
Application number
KR1020117031568A
Other languages
English (en)
Other versions
KR20120050935A (ko
Inventor
클라우디오 제이. 지. 오초아
매튜 제이. 알룸
스탠리 모
쉐넌 알. 슈뢰더
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20120050935A publication Critical patent/KR20120050935A/ko
Application granted granted Critical
Publication of KR101417242B1 publication Critical patent/KR101417242B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

개인 클라우드 컴퓨팅(PCC)과 연관된 방법들 및 시스템들이 본원에 개시된다. 실시예들에서, 방법은 PCC 서버로부터의 메시지를 PCC 클라이언트에 의해 수신하는 단계를 포함할 수 있다. 메시지는 또 다른 PCC 클라이언트 상에서 실행되는 어플리케이션의 세션을 다른 PCC 클라이언트 디바이스로부터 떨어져서 이동시키기 위한 정보를 포함할 수 있다. 그에 응답하여, 클라이언트 디바이스에 의해 메시지에 포함된 정보를 사용하여 세션을 클라이언트 디바이스 상으로 이동시키는 어플리케이션이 시작될 수 있다. 실시예들에서, PCC 서버는 클라이언트 디바이스 상에서 실행되는 어플리케이션의 세션을 클라이언트 디바이스로부터 떨어져서 이동시키기 위한 요청을 PCC 클라이언트로부터 수신하고, 그에 응답하여, 세션을 다른 클라이언트 디바이스 상으로 이동시키기 위해 다른 클라이언트 디바이스 상의 어플리케이션을 시작하도록 갖추어진 또 다른 PCC 클라이언트 디바이스에 메시지를 전송하도록 구성될 수 있다. 메시지는 이동에 대한 정보를 포함할 수 있다. 다른 실시예들이 또한 개시되고 청구된다.

Description

세션 이동을 갖는 개인 클라우드 컴퓨팅{PERSONAL CLOUD COMPUTING WITH SESSION MIGRATION}
실시예들은 데이터 프로세싱 분야에 연관되며, 특히, 세션 이동을 갖는 개인 클라우드 컴퓨팅과 연관된 방법, 장치 및 물품에 관한 것이다.
본원에 달리 지시되지 않은 이상, 이 부분에서 설명된 재료들은 본원의 청구항들에 대한 종래 기술이 아니며, 이 부분에 포함된다고 해서 종래 기술로 인정되는 것은 아니다.
오늘날의 상호 연결된 디지털 환경에서, 대부분의 사용자들은 몇몇의 컴퓨팅, 통신, 및/또는 엔터테인먼트 디바이스들을 소유한다. 현재 기술 하의 대부분의 경우들에서, 상이한 디바이스들이 함께 매끄럽게 동작하도록 하는 것은 종종 어렵거나 또는 기술적인 지식 및/또는 능력을 요구하므로, 이러한 디바이스들은 격리된 엔티티들(entities)로서 동작한다. 일반적으로, 사용자가 다양한 디바이스들 상에서 또는 디바이스들을 사용하여 수행하는 어떠한 행동에 대해서도 지속적인 경험이 부족하다.
예컨대, 많은 사용자들이 그들 각각의 구축된 및/또는 온라인 음악 스토어들과 연관된 재생 목록들을 사용하여 그들의 랩톱을 통해 음악을 듣는다. 종종, 그들은 또한 인터넷 가능 미디어 플레이어를 갖는 차량 내 인포테인먼트 디바이스들(in-vehicle infotainment devices)을 소유한다. 그러나, 오늘날의 기술 하에서, 이러한 사용자들은 그들의 사무실/집으로부터 그들의 차량으로 이동하거나, 그들의 차량으로부터 그들의 사무실/집으로 이동할 때 일반적으로 지속적인 경험을 즐길 수 없다.
유사하게, 많은 사용자들은 종종 그들의 데스크톱으로부터 그들의 스마트 폰으로, 또는 그 반대로 인터넷 브라우징을 스위칭하기를 원한다. 다시, 오늘날의 기술 하에서, 이러한 경험은 종종 불연속적이다.
본 명세서의 실시예들은 유사한 참조들이 유사한 요소들을 나타내는 수반하는 도면들에 예시된 제한적이지 않은 예시적인 실시예들로서 제시될 것이다.
도 1은 세션 이동을 갖는 개인 컴퓨팅 클라우드의 개략을 도시한다.
도 2는 도 1의 개인 클라우드 컴퓨팅 클라이언트 디바이스들 중 하나를 더 상세히 도시한다.
도 3은 도 1의 개인 클라우드 컴퓨팅 서버를 더 상세히 도시한다.
도 4는 도 1의 개인 클라우드 컴퓨팅 데이터베이스를 더 상세히 도시한다.
도 5는 다양한 개인 클라우드 컴퓨팅 프로세스들을 도시한다.
도 6은 개인 클라우드 컴퓨팅 디스플레이의 예를 도시한다.
도 7은 세션 이동의 예를 도시한다.
도 8은 개인 클라우드 컴퓨팅의 다양한 클라이언트 디바이스 및/또는 서버 양태들을 실시하도록 사용하기에 적합한 컴퓨터 시스템의 예를 도시하며, 앞서 말한 모든 예시들은 본 명세서의 실시예들에 따라 배열된다.
세션 이동을 갖는 개인 클라우드 컴퓨팅(PCC)과 연관된 방법들 및 시스템들의 실시예들이 본원에 개시된다. 실시예들에서, 방법은 PCC 클라이언트 디바이스(이하, 간단히 클라이언트 디바이스)에 의해 PCC 서버(이하, 간단히 서버)로부터의 메시지를 수신하는 단계를 포함할 수 있다. 메시지는 또 다른 클라이언트 디바이스 상에서 실행되는 어플리케이션의 세션을 다른 클라이언트 디바이스로부터 떨어져서 이동시키기 위한 정보를 포함할 수 있다. 그에 응답하여, 클라이언트 디바이스에 의해 메시지에 포함된 정보를 사용하여 세션을 클라이언트 디바이스로 이동시키는 어플리케이션이 시작될 수 있다.
다양한 실시예들에서, 메시지를 수신하는 단계는 서버로부터의 메시지를 클라이언트 디바이스에 의해 수신하는 단계를 포함할 수 있으며, 그 메시지는 다른 클라이언트 디바이스의 어플리케이션의 메타데이터, 다른 클라이언트 디바이스의 어플리케이션에 의해 지원되는 동작(action)들, 다른 클라이언트 디바이스의 어플리케이션에 의해 지원되는 데이터 포맷들, 다른 클라이언트 디바이스의 어플리케이션에 의해 사용되는 로케이터(locator) 식별 리소스들, 또는 특정 상태에서 클라이언트 디바이스 상에서의 세션의 재개를 가능하게 하는 하나 이상의 파라미터 값들을 포함한다. 다양한 실시예들에서, 어플리케이션을 시작하는 단계는, 다른 클라이언트 디바이스의 어플리케이션에 의해 지원되는 동작들, 또는 다른 클라이언트 디바이스의 어플리케이션에 의해 지원되는 데이터 포맷들을 지원하는 어플리케이션을 클라이언트 디바이스에 의해 시작하는 단계를 포함할 수 있다.
다양한 실시예들에서, 방법은 다른 클라이언트 디바이스의 어플리케이션에 의해 지원되는 동작들, 또는 다른 클라이언트 디바이스의 어플리케이션에 의해 지원되는 데이터 포맷들을 지원하는 클라이언트 디바이스의 어플리케이션을 클라이언트 디바이스에 의해 결정하는 단계를 더 포함할 수 있다. 다양한 실시예들에서, 방법은 클라이언트 디바이스에 의해 클라이언트 디바이스의 어플리케이션을 서버에 등록하는 단계를 더 포함할 수 있으며, 이는 등록되는 어플리케이션의 메타데이터, 등록되는 어플리케이션에 의해 지원되는 동작들, 또는 등록되는 어플리케이션에 의해 지원되는 데이터 포맷들의 등록을 포함한다. 다양한 실시예들에서, 방법은 클라이언트 디바이스에 의해 클라이언트 디바이스를 서버에 등록하는 단계를 더 포함할 수 있다. 다양한 실시예들에서, 방법은 클라이언트 디바이스에 의해 개인 컴퓨팅 클라우드의 다른 클라이언트 디바이스들의 어플리케이션들의 상태들을 서버로부터 수신하고, 클라이언트 디바이스에 의해 그 상태들을 디스플레이하는 단계를 더 포함할 수 있다.
다양한 실시예들에서, 네트워킹 인터페이스, 프로세서 및 저장 매체를 갖는 클라이언트 디바이스는 클라이언트 디바이스에 의해 프로그래밍 명령들을 실행하는 것에 응답하여 클라이언트 디바이스로 하여금 위에서 설명한 방법들을 수행하도록 하는 프로그래밍 명령들을 구비할 수 있다.
다양한 실시예들에서, 서버는 클라이언트 디바이스에서 실행되는 어플리케이션의 세션을 클라이언트 디바이스로부터 떨어져서 이동시키기 위한 요청을 클라이언트 디바이스로부터 수신하고, 그에 응답하여 세션을 다른 클라이언트 디바이스 상으로 이동시키기 위해 다른 클라이언트 디바이스 상의 어플리케이션을 시작하도록 갖추어진 또 다른 클라이언트에 메시지를 전송하도록 구성될 수 있다. 메시지는 이동에 대한 정보를 포함할 수 있다.
다양한 실시예들에서, 저장 매체를 갖는 제조 물품은, 서버에 의한 프로그래밍 명령들의 실행에 응답하여 위에서 설명한 서버 방법들을 수행하도록 서버를 프로그래밍하도록 구성된 그 안에 저장된 명령들을 포함할 수 있다.
예시적인 실시예들의 다양한 양태들이, 본 기술분야의 당업자들이 그들의 연구 내용을 다른 당업자들에게 전달하기 위해 통상적으로 사용되는 용어들을 사용하여 설명될 것이다. 그러나, 대안적인 실시예들은 설명된 양태들 중 단지 일부만을 사용하여 실시될 수 있다는 것이 본 기술분야의 당업자에게 명백할 것이다. 예시적인 실시예들의 완전한 이해를 제공하기 위해, 특정 번호들, 재료들, 및 구성들이 설명의 목적으로 제시된다. 그러나, 대안적인 실시예들은 그러한 특정 세부 사항들 없이 실시될 수 있다는 것이 본 기술분야의 당업자에게 명백할 것이다. 다른 경우들에서, 예시적인 실시예들을 모호하게 하지 않기 위해 공지된 특징들은 생략되거나 단순화된다.
더욱이, 다양한 동작들이 예시적인 실시예들을 이해하는 데 있어서 가장 도움이 되는 방식으로, 복수의 개별적인 동작들로서 차례로 설명될 것이다. 그러나, 설명의 순서는, 이러한 동작들이 반드시 순서에 의존한다는 것을 의미하는 것으로 해석되어서는 안된다. 특히, 이러한 동작들은 제시된 순서대로 수행될 필요는 없다.
어구 "일 실시예에서"가 반복적으로 사용된다. 그 어구는 일반적으로 동일한 실시예를 참조하지 않는다(그러나, 동일한 실시예를 참조할 수도 있다). 문맥이 달리 지시하지 않는 이상, 용어들 "포함하는(comprising)," "갖는(having)," 및 "포함하는(including)"은 유의어들이다. 어구 "A/B"는 "A 또는 B"를 의미한다. 어구 "A 및/또는 B"는 "(A), (B), 또는 (A 및 B)"를 의미한다. 어구 "A, B 및 C 중 적어도 하나"는 "(A), (B), (C), (A 및 B), (A 및 C), (B 및 C), 또는 (A, B 및 C)"를 의미한다. 어구"(A)B"는 "(B) 또는 (A B)", 즉, A는 옵션이라는 것을 의미한다.
도 1은 본 명세서의 실시예들에 따른, 세션 이동을 갖는 개인 컴퓨팅 클라우드의 개략를 도시한다. 예시된 것과 같이, 개인 클라우드 컴퓨팅(PCC) 환경(100)은 네트워킹 구조(networking fabric)(120)를 통해 PCC 서버(이하, 간단히 서버)(110)에 연결된 다수의 PCC 클라이언트 디바이스들(이하, 간단히 클라이언트 디바이스)(102)을 포함한다. 클라이언트 디바이스들(102)은 하나 이상의 모바일 개인 디바이스들(104), 정지된 컴퓨팅 디바이스들(106) 및/또는 디지털 홈 디바이스들(108)을 포함할 수 있다. 서버(110)는 세션 이동을 갖는 PCC 서비스(이하, 간단히 서비스)(112) 및 PCC 데이터베이스(이하, 간단히 데이터베이스)(114)를 포함할 수 있다.
클라이언트 디바이스들(102)은, 본 명세서의 가르침들 외에, 본 기술분야에 알려진 광범위한 이러한 디바이스들을 나타내도록 의도된다. 모바일 개인 디바이스들(104)의 예들은, 스마트 폰(휴대 전화의 기능들이 지속적으로 개선됨에 따라, 때로는 또한 간단히 휴대 전화로 명명됨), 모바일 인터넷 디바이스, PDA(personal digital assistant), 휴대용 매체 재생기, 랩톱 컴퓨터, 태블릿 컴퓨터, 전자책 판독기, 휴대용 게임기, 디지털 카메라 등을 포함할 수 있으나, 이들에 제한되지 않는다. 정지된 컴퓨팅 디바이스들(106)은, 다양한 데스크톱 컴퓨터들 및 차내 인포테인먼트 디바이스들을 포함할 수 있으나, 이들에 제한되지 않는다. 디지털 홈 디바이스들(108)은, 디지털 통신 가능 텔레비전, 디지털 비디오 레코더, 및 다른 디지털 가전 제품들을 포함할 수 있으나, 이들에 제한되지 않는다.
서버(110)는, 본 명세서의 가르침들 외에, 본 기술분야에 알려진 광범위한 서버 디바이스들을 나타내도록 의도된다. 서버(110)는 직접 연결, 로컬 영역 네트워크 및/또는 광역 네트워크를 통해 국부적으로 및/또는 원격으로 연결된 하나의 서버 또는 서버들의 집단일 수 있다. 연결들은 유선 및/또는 무선일 수 있다.
네트워킹 구조(120)은, 본 기술분야에 알려진 광범위한 개인 및/또는 공공 로컬 및/또는 광역 네트워크들을 나타내도록 의도된다. 네트워크들은 유선 또는 무선일 수 있다. 네트워킹 구조의 일부 또는 전체는 로컬 영역 네트워크 및/또는 광역 네트워크일 수 있다.
도 2 내지 8을 참조하여 아래에 더 상세히 설명될 것과 같이, 본 명세서의 가르침들에 의해, 하나의 클라이언트 디바이스(102) 상의 어플리케이션 세션은 또 다른 클라이언트 디바이스(102)로 매끄럽게 이동될 수 있다. 그 결과로서, 클라이언트 디바이스(102)의 사용자들은 다른 방법으로는 현재의 기술 하에서 이용할 수 없는 지속적인 경험을 즐길 수 있다. 도 7은 디지털 홈 디바이스(텔레비전)(652)로부터 랩톱 컴퓨터(654)로의 비디오 세션의 이동의 예를 도시한다.
이제 본 명세서의 다양한 실시예들에 따라 도 1의 클라이언트 디바이스(102)가 더 상세히 도시된 도 2를 참조한다. 도시된 것과 같이, 예시된 실시예들에 대해, 클라이언트 디바이스(102)는 서로 동작 가능하도록 연결된 하나 이상의 어플리케이션들(202), 개인 클라우드 컴퓨팅 클라이언트(이하, 간단히 클라이언트)(204) 및 다양한 시스템 (통신) 서비스들(206)을 포함할 수 있다. 어플리케이션들(202)은, 본 명세서의 가르침들 외에, 본 기술분야에 알려진 광범위한 어플리케이션들을 나타내도록 의도된다. 어플리케이션들(202)의 예들은, 비디오, 오디오, 인터넷 브라우징 및/또는 게임플레이 어플리케이션들을 포함할 수 있으나, 이들에 제한되지 않는다. 그들의 주 기능들, 즉, 비디오 렌더링, 오디오 렌더링, 게임플레이 등 외에, 어플리케이션들(202)은 그 자신들을 클라이언트(204)에 등록하도록 추가적으로 구성될 수 있다. 특히, 어플리케이션들(202)은 그들의 메타데이터, 지원되는 동작들 및/또는 데이터/파일 포맷들을 등록하도록 추가적으로 구성될 수 있다.
예컨대, 비디오 어플리케이션이 그것의 메타데이터를 등록할 수 있고, 사실, 그것은 "재생", "일시 정지", "정지", 및 "탐색"의 동작들, 및 ogv(Xiph.Org Foundation에 의해 공포됨), avi(Microsoft Corp.에 의해 도입된 Audio Video Interleaved), mpg(Moving Picture Experts Group에 의해 공포됨), 및/또는 wmv(Microsoft Corp.에 의해 개발된 Window Media Video)의 비디오 데이터/파일 포맷들을 지원하고, 또는 오디오 어플리케이션이 그것의 메타데이터를 등록할 수 있고, 사실, 그것은 유사한 동작들 뿐 아니라, ogg(Xiph.Org Foundation에 의해 공포됨), mps(Moving Picture Experts Group에 의해 공포됨), wma(Microsoft Corp.에 의해 개발된 Window Media Audio), acc(International Organization for Standardization에 의해 표준화된 Advanced Audio Coding), 및/또는 wav(Microsoft Corp.에 의해 개발된 Waveform Audio File Format)의 오디오 데이터/파일 포맷들을 지원한다. 유사하게, 멀티미디어 재생기는 그것의 메타데이터를 등록할 수 있고, 사실, 그것은 "열기(open)" 및 "북 마킹(book marking)"의 동작들, 및 m3u(Nullsoft에 의해 개발됨), asx(Microsoft Corp에 의한 Advanced Stream Redirector), xspf(Xiph.Org Foundation에 의해 후원되는 XMF Shareable Playlist Format), wpl(Microsoft Corp.에 의해 개발된 Windows Media Player Playlist), 및/또는 pls(Playlist format)의 데이터/파일 포맷들을 지원하는 한편, 전자책(e-book) 어플리케이션은 그것의 메타데이터를 등록할 수 있고, 사실, 그것은 유사한 동작들, 및 txt(Text File Format), azw(a Kindle eBook File Format), opf(Open Packaging File Format), tr3(TomeRaider eBook File Format), xml(W3C에 의해 제작된 Extensible Markup Language), chm(Compiled HTML File Format), 또는 pdf(Adobe Systems에 의한 Portable Document Format)의 데이터/파일 포맷들을 지원한다.
다양한 실시예들에서, 클라이언트(204)는 클라이언트 디바이스 및 그것의 어플리케이션들(202)을, 어플리케이션들의 메타데이터, 지원되는 동작들 및/또는 데이터/파일 포맷들을 포함하여, 서버(110)의 서비스(112)에 등록하도록 구성될 수 있다. 더욱이, 클라이언트(204)는 어플리케이션들(202)의 상태를 서비스(112)에 보고하고, 다른 클라이언트 디바이스(102) 상의 다른 어플리케이션들(202)의 상태를 수신할 뿐 아니라, 그것 자체 및 다른 어플리케이션들(202)의 상태를 디스플레이하도록 구성될 수 있다. 다양한 실시예들에서, 클라이언트(204)는 XMPP(Extensible Messaging and Presence Protocol)에 정통하도록 구성될 수 있다. 시스템 (통신) 서비스들(206)은 다양한 종래의 시스템, 특히, 통신 서비스들을 어플리케이션들(202) 및 클라이언트(204)에 제공하도록 구성될 수 있다. 서비스들(206)은 (프로세서, 메모리 및 저장소와 같은) 리소스 할당, 및/또는 서버(110)와 같은 외부 디바이스들과의 네트워크 통신들을 포함할 수 있다.
이제 본 명세서의 다양한 실시예들에 따라 도 1의 서버(110)가 더 상세히 도시된 도 3을 참조한다. 도시된 것과 같이, 예시된 실시예들에 대해, 서버(110)는 서로 동작 가능하도록 연결된 서비스(112) 및 시스템 (통신) 서비스들(306)을 포함할 수 있다. 서비스(112)는 등록 및 상태 서비스들(302) 및 세선 이동 서비스들(304)을 포함할 수 있다. 다양한 실시예들에서, 등록 및 상태 서비스들(302)은 각각의 어플리케이션들(202)을 등록하기 위해 클라이언트 디바이스(102)의 클라이언트(204)와 협력하도록 구성될 수 있다. 더욱이, 등록 및 상태 서비스들(302)은 다양한 클라이언트들(204)이 선택된 어플리케이션들 또는 모든 어플리케이션들(202)의 상태를 알고, 이를 각각 디스플레이할 수 있게 하기 위해 다양한 클라이언트들(204)과 협력하도록 구성될 수 있다. 세션 이동 서비스들(304)은 하나의 클라이언트 디바이스(102)로부터 또 다른 클라이언트 디바이스(102)로의 어플리케이션 세션들의 매끄러운 이동을 가능하게 하도록 구성될 수 있다. 시스템(통신) 서비스들(206)과 유사한 시스템 (통신) 서비스들(306)은 다양한 종래의 시스템 서비스들, 특히, 통신 서비스들을 등록 및 상태 서비스(302) 및 세션 이동 서비스(304)에 제공하도록 구성될 수 있다. 서비스들(306)은 (프로세서, 메모리 및 저장소와 같은) 리소스 할당, 및/또는 클라이언트 디바이스(102)와 같은 외부 디바이스들과의 네트워크 통신들을 포함할 수 있다. 다양한 실시예들에서, 등록 및 상태 서비스들(302) 및 세션 이동 서비스들(304) 양쪽 모두는 XMPP(Extensible Messaging and Presence Protocol)를 지원하도록 구성될 수 있다.
이제 본 명세서의 다양한 실시예들에 따라 도 1의 데이터베이스(114)가 더 상세히 도시된 도 4를 참조한다. 도시된 것과 같이, 예시된 실시예들에 대해, 데이터베이스(114)는 다양한 데이터 구조들(도시되지 않음), 예컨대, 등록된 클라이언트 디바이스(102)의 식별, 그들의 어플리케이션들(202), 및 어플리케이션들(202)의 연관된 정보를 저장하는 표들을 포함할 수 있다. 다양한 실시예들에서, 데이터 구조들은 각각의 등록된 클라이언트 디바이스(102)의 식별(402) 및 상태(404)를 저장하도록 구성될 수 있다. 더욱이, 각각의 등록된 클라이언트 디바이스(102)에 대해, 각각의 등록된 어플리케이션(202)의 식별(406)이 저장될 수 있다. 추가적으로, 각각의 등록된 어플리케이션에 대해, 메타데이터(408), 지원되는 동작들(410), 및 지원되는 데이터/파일 포맷(412)이 또한 저장될 수 있다.
이제 본 명세서의 다양한 실시예들에 따라 다양한 PCC 프로세스들이 도시된 도 5를 참조한다. 도시된 것과 같이, 프로세스들은 클라이언트 디바이스(102)의 클라이언트(204)가 클라이언트 디바이스(102)를 서비스(112)에 등록 또는 등록 해제할 수 있는 프로세스(502)를 포함할 수 있다. 그에 응답하여, 서비스(112)의 등록 및 상태 서비스들(302)은 클라이언트 디바이스(102)를 적절하게 등록하거나 등록 해제할 수 있다(504).
추가적으로, 프로세스들은, 클라이언트 디바이스(102)의 어플리케이션(202)이 그 자신을 클라이언트 디바이스(102)의 클라이언트(204)에 등록 또는 등록 해제할 수 있는 프로세스(512)를 포함할 수 있다. 그에 응답하여, 클라이언트 디바이스(102)의 클라이언트(204)는 어플리케이션의 식별 및 연관된 정보를 저장하거나 폐기할 수 있을 뿐 아니라, 그 어플리케이션 및 연관된 정보를 서비스(112)에 등록 또는 등록 해제할 수 있다(514). 유사하게, 그에 응답하여, 서비스(112)의 등록 및 상태 서비스들(302)은 클라이언트 디바이스(102)의 어플리케이션들(202)을 적절하게 등록 또는 등록 해제할 수 있다(516).
계속 도 5를 참조하면, 프로세스는 클라이언트 디바이스(102)의 어플리케이션(202) 또는 클라이언트 디바이스(102) 자체의 상태의 변화(예컨대, 온라인, 정지 등)가 있을 때, 클라이언트 디바이스(102)의 클라이언트(204)가 상태 변화를 등록 및 상태 서비스(302)에 보고할 수 있는 프로세스(522)를 포함할 수 있다. 그에 응답하여, 등록 및 상태 서비스(302)는 새로운 상태 정보를 다른 클라이언트 디바이스(102)에 방송하고, 그것이 유지하는 상태를 업데이트할 수 있다(524). 그것 자체의 어플리케이션(202) 또는 또 다른 클라이언트 디바이스(102)의 어플리케이션(202) 중 하나의 새로운 상태를 수신하면, 클라이언트(204)는 다양한 클라이언트 디바이스(102)의 로컬 상태 디스플레이를 업데이트할 수 있다(526).
상태 디스플레이의 예가 도 6에 도시된다. 따라서, 본 명세서의 클라이언트 디바이스(102)의 사용자는 세션 이동(100)을 갖는 그의/그녀의 개인 컴퓨팅 클라우드 내의 모든 클라이언트 디바이스들(102)의 상태를 파악할 수 있을 것이다.
다시 도 5를 참조하면, 프로세스들은 클라이언트 디바이스(102)(예컨대, 클라이언트 디바이스_A)의 클라이언트(204)가 그것의 어플리케이션들 중 하나의 세션을 또 다른 클라이언트 디바이스(예컨대, 클라이언트 디바이스_B)(102)로 이동시키기 위해 세션 이동 서비스들(304)을 요청할 수 있는 프로세스(532)를 포함할 수 있다. 다양한 실시예들에서, 클라이언트(204)는 사용자로 하여금 그러한 요청을 할 수 있게 하는 기능을 제공할 수 있다. 이러한 실시예들에 대해, 클라이언트(204)는 사용자 요청의 수신에 응답하여 요청을 시작할 수 있다. 다른 실시예들에서, 어플리케이션들(202)은 사용자로 하여금 그러한 요청을 할 수 있게 하는 기능을 제공할 수 있다. 이러한 실시예들에 대해, 클라이언트(204)는 어플리케이션(202)을 통해 사용자 요청의 수신에 응답하여 요청을 시작할 수 있다. 어느 경우든, 세션 이동 요청은 메시지의 형태로 서비스(112)에 전송될 수 있다. 메시지는 어플리케이션의 메타데이터, 어플리케이션의 지원되는 동작들 및 데이터/파일 포맷을 포함할 수 있다. 추가적으로, 메시지는 어플리케이션 세션에 의해 사용되는 데이터의 위치를 식별하는 로케이터(예컨대, URL(Uniform Resource Locator)), 및/또는 특정 상태에서 세션을 재시작하기 위한 세션의 후속 어플리케이션들에 대한 파라미터 값들을 포함할 수 있다.
다양한 실시예들에서, 클라이언트 디바이스_B(102)는 메시지 내에 제공된 정보, 예컨대, 어플리케이션의 메타데이터, 지원되는 동작들 및 데이터/파일 포맷 등에 기초하여 세션 이동 서비스들(304)에 의해 결정/선택될 수 있다. 다른 실시예들에서, 클라이언트 서비스_B(102)의 사양이 세션 이동 서비스들(304)에 제공될 수 있다. 목표 클라이언트 디바이스_B(102)의 수신 또는 결정과 동시에, 세션 이동 서비스들(304)은 클라이언트 디바이스_B(102)의 클라이언트(204)에 어플리케이션의 메타데이터, 이동되는 세션, 어플리케이션의 지원되는 동작들 및/또는 데이터/파일 포맷들을 알릴 수 있다(534). 다양한 실시예들에서, 세션 이동 서비스들(304)은 클라이언트 디바이스_B(102)의 클라이언트(204)에 세션과 연관된 리소스의 위치, 및 특정 상태에서 세션을 재시작하기 위한 파라미터 값들을 더 알릴 수 있다.
다양한 실시예들에서, 이동 정보(메타데이터 등)의 수신과 동시에, 클라이언트 디바이스(102)의 클라이언트(204)는 클라이언트 디바이스(102)의 어떤 등록된 어플리케이션(202)이 세션에 대한 적합한 후속 어플리케이션인지 결정한다(536). 다양한 실시예들에서, 복수의 어플리케이션들(202)이 적합하다면, 클라이언트(204)는 사용자가 선택할 적합한 어플리케이션들의 메뉴를 제공할 수 있다(도시되지 않음). 어쨌든, 후속 어플리케이션의 결정 또는 선택과 동시에, 클라이언트(204)는 후속 어플리케이션을 시작하고(이미 시작되지 않았다면), 실행을 후속 어플리케이션에 전달하여(538), 그로 인해 개인 컴퓨팅 클라우드의 하나의 클라이언트 디바이스로부터 개인 컴퓨팅 클라우드의 또 다른 클라이언트 디바이스로의 세션의 매끄러운 이동을 가능하게 할 수 있다.
도 8은 본 명세서의 다양한 실시예들의 클라이언트 디바이스 및/또는 서버 양태들을 실시하기 위해 사용하기에 적합한 컴퓨터 시스템의 예를 도시한다. 도시된 것과 같이, 컴퓨팅 시스템(700)은 다수의 프로세서들 또는 프로세서 코어들(702), 및 시스템 메모리(704)를 포함한다. 청구항들을 포함하는 본 명세서의 목적을 위해, 문맥이 명백히 다르게 요구하지 않는 이상, 용어들 "프로세서" 및 "프로세서 코어"는 동의어로 간주될 수 있다. 추가적으로, 컴퓨팅 시스템(700)은 (디스켓, 하드 드라이브, 컴팩트 디스크 판독 전용 메모리(CDROM) 등과 같은) 대용량 저장 디바이스들(706), (디스플레이, 키보드, 커서 제어 등과 같은) 입/출력 디바이스들(708), 및 (네트워크 인터페이스 카드, 모뎀 등과 같은) 통신 인터페이스들(710)을 포함한다. 요소들은 하나 이상의 버스들을 대표하는 시스템 버스(712)를 통해 서로 연결된다. 복수의 버스들의 경우, 그들은 하나 이상의 버스 브리지들(도시되지 않음)에 의해 브리지된다.
이러한 요소들 각각은 본 기술분야에 알려진 그것의 종래의 기능들을 수행한다. 특히, 시스템 메모리(704) 및 대용량 저장소(706)는, 본원에서 집합적으로 722로 표시된, 클라이언트(204), 등록 및 상태 서비스(302), 또는 세션 이동 서비스(304)와 같은 다양한 컴포넌트들을 구현하는 프로그래밍 명령들의 동작 사본 및 영구 사본을 저장하도록 사용될 수 있다. 다양한 컴포넌트들은 프로세서(들)(702)에 의해 지원되는 어셈블러 명령들, 또는 예컨대 C와 같은, 그러한 명령들로 컴파일될 수 있는 고레벨 언어들에 의해 구현될 수 있다.
프로그래밍 명령들의 영구 사본은, 예컨대 콤팩트 디스크(CD)와 같은 배포 매체(도시되지 않음)를 통해, 또는 (배포 서버(도시되지 않음)로부터의) 통신 인터페이스(710)를 통해 공장에서 또는 현장에서 영구 저장소(706) 내에 배치될 수 있다. 즉, 에이전트를 배포하고, 다양한 컴퓨팅 디바이스들을 프로그래밍하기 위해 에이전트 프로그램의 구현을 갖는 하나 이상의 배포 매체가 사용될 수 있다.
이러한 요소들(702 내지 712)의 구성은 알려져 있으며, 따라서 더 설명되지 않을 것이다.
본원에서 특정한 실시예들이 예시되고 설명되었으나, 다양한 대안적인 및/또는 동등한 구현들이 본 발명의 실시예들의 범위로부터 벗어나지 않으면서 도시되고 기술된 특정한 실시예들을 대체할 수 있다는 것이 본 기술분야의 당업자들에 의해 인식될 것이다. 본원은 본원에 논의된 실시예들의 임의의 적응물들 또는 변형들을 포함하도록 의도된다. 그러므로, 본 발명의 실시예들은 단지 청구항들 및 그 동등물들에 의해서만 제한된다는 것이 분명하게 의도된다.

Claims (25)

  1. 개인 클라우드 컴퓨팅을 위한 방법으로서,
    개인 컴퓨팅 클라우드와 연관된 서버로부터의 메시지를 상기 개인 컴퓨팅 클라우드의 클라이언트 디바이스에 의해 수신하는 단계 - 상기 메시지는 상기 개인 컴퓨팅 클라우드의 또 다른 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 또 다른 클라이언트 디바이스로부터 이동시키기 위한 정보를 포함하고, 상기 2개의 클라이언트 디바이스는 상이한 클라이언트 디바이스들임 -;
    상기 메시지를 수신하는 것에 응답하여, 상기 클라이언트 디바이스 상의 제2 어플리케이션이, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들을 지원한다는 것을 상기 메시지에 포함된 상기 정보를 사용하여 상기 클라이언트 디바이스에 의해 결정하는 단계 - 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들이고, 상기 클라이언트 디바이스와 상기 또 다른 클라이언트 디바이스는 상이한 클라이언트 디바이스들임 -; 및
    상기 클라이언트 디바이스 상의 상기 제2 어플리케이션이 상기 제1 동작들 또는 상기 제1 데이터 포맷들을 지원한다고 결정하면, 상기 제1 어플리케이션에 이어서, 상기 클라이언트 디바이스 상에서 실행되는 제2 어플리케이션을 상기 클라이언트 디바이스에 의해 시작하고, 상기 제1 어플리케이션의 상기 제1 세션을 상기 클라이언트 디바이스 상의 상기 제2 어플리케이션의 제2 세션으로 이동시키는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    메시지를 수신하는 단계는, 상기 서버로부터의 메시지를 상기 클라이언트 디바이스에 의해 수신하는 단계를 포함하며,
    상기 메시지는, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 또 다른 클라이언트 디바이스 상에서의 상기 제1 세션의 제1 상태의 제1 하나 이상의 파라미터 값들을 포함하는 방법.
  3. 제2항에 있어서,
    제2 어플리케이션을 시작하는 단계는, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 데이터 포맷들을 지원하는 제2 어플리케이션을 상기 클라이언트 디바이스에 의해 시작하는 단계를 포함하는 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 클라이언트 디바이스의 상기 제2 어플리케이션을 상기 클라이언트 디바이스에 의해 상기 서버에 등록하는 단계를 더 포함하며, 이는 상기 제2 어플리케이션의 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하는 방법.
  6. 제1항에 있어서,
    상기 클라이언트 디바이스를 상기 클라이언트 디바이스에 의해 상기 서버에 등록하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 서버로부터 상기 개인 컴퓨팅 클라우드의 상기 또 다른 클라이언트 디바이스 상의 상기 제1 어플리케이션의 제1 상태를 상기 클라이언트 디바이스에 의해 수신하는 단계; 및
    상기 또 다른 클라이언트 디바이스 상의 상기 제1 어플리케이션의 상기 제1 상태를 상기 클라이언트 디바이스에 의해 디스플레이하는 단계
    를 더 포함하는 방법.
  8. 개인 클라우드 컴퓨팅을 위한 클라이언트 디바이스로서,
    상기 클라이언트 디바이스를 네트워크에 연결하도록 구성된 네트워킹 인터페이스;
    상기 네트워킹 인터페이스와 연결되며, 상기 클라이언트 디바이스를 프로그래밍하도록 구성된 복수의 프로그래밍 명령들을 실행하도록 구성된 프로세서; 및
    상기 프로세서와 연결되며, 상기 프로세서에 의한 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금, 개인 컴퓨팅 클라우드의 클라이언트 디바이스로서 동작하게 하는 상기 복수의 프로그래밍 명령들을 내부에 저장한 저장 매체
    를 포함하며, 상기 개인 컴퓨팅 클라우드의 클라이언트 디바이스로서 동작하는 것은,
    상기 개인 컴퓨팅 클라우드와 연관된 서버로부터 메시지를 수신하는 동작 - 상기 메시지는 상기 개인 컴퓨팅 클라우드의 또 다른 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 또 다른 클라이언트 디바이스로부터 상기 클라이언트 디바이스로 이동시키기 위한 정보를 포함하고, 상기 클라이언트 디바이스와 상기 또 다른 클라이언트 디바이스는 상이한 클라이언트 디바이스들임 -;
    상기 메시지에 포함된 상기 정보를 사용하여 상기 클라이언트 디바이스 상의 제2 어플리케이션이, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들을 지원한다는 것을 결정하는 동작 - 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들임 -; 및
    상기 클라이언트 디바이스 상의 상기 제2 어플리케이션의 제2 세션을 시작하고, 상기 클라이언트 디바이스로 상기 제1 어플리케이션의 상기 제1 세션을 이동시키는 동작
    을 포함하는 클라이언트 디바이스.
  9. 제8항에 있어서,
    상기 메시지를 수신하는 동작은, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 또 다른 클라이언트 디바이스 상에서의 상기 제1 세션의 제1 상태의 제1 하나 이상의 파라미터 값들을 갖는 메시지를 상기 서버로부터 수신하는 것을 포함하는 클라이언트 디바이스.
  10. 제9항에 있어서,
    제2 어플리케이션을 시작하는 동작은, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 데이터 포맷들을 지원하는 제2 어플리케이션을 시작하는 것을 포함하는 클라이언트 디바이스.
  11. 삭제
  12. 제9항에 있어서,
    상기 프로그래밍 명령들은 또한, 상기 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금, 상기 클라이언트 디바이스의 상기 제2 어플리케이션을 개인 클라우드 컴퓨팅 서버에 등록하게 하며, 이는 상기 제2 어플리케이션의 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하고, 상기 제2 동작들 및 상기 제2 데이터 포맷들은 각각 상기 제1 동작들 및 상기 제1 데이터 포맷들을 포함하는 클라이언트 디바이스.
  13. 제9항에 있어서,
    상기 프로그래밍 명령들은 또한, 상기 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금, 상기 클라이언트 디바이스를 개인 클라우드 컴퓨팅 서버에 등록하게 하는 클라이언트 디바이스.
  14. 제9항에 있어서,
    상기 프로그래밍 명령들은 또한, 상기 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금,
    상기 개인 컴퓨팅 클라우드의 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션의 상기 제1 상태를 개인 클라우드 컴퓨팅 서버로부터 수신하고,
    상기 제1 상태를 디스플레이하게 하는 클라이언트 디바이스.
  15. 제9항에 있어서,
    상기 클라이언트 디바이스는 모바일 개인 디바이스, 정지된 컴퓨팅 디바이스, 또는 디지털 홈 디바이스 중 선택된 것을 포함하는 클라이언트 디바이스.
  16. 적어도 하나의 비-일시적인(non-transitory) 컴퓨터 판독가능한 저장 매체로서,
    상기 저장 매체에 저장되고, 장치의 프로세서에 의한 프로그래밍 명령들의 실행에 응답하여, 상기 장치로 하여금, 서버 이외에도 상이한 제1 및 제2 클라이언트 디바이스들을 갖는 개인 컴퓨팅 클라우드의 서버의 동작들을 수행하게 하도록 상기 장치를 프로그래밍하도록 구성된 프로그래밍 명령들
    을 포함하며, 상기 개인 컴퓨팅 클라우드의 서버의 동작들은,
    상기 개인 컴퓨팅 클라우드의 제1 클라이언트 디바이스로부터, 상기 제1 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 제1 클라이언트 디바이스로부터 이동시키기 위한 요청을 수신하는 동작; 및
    상기 요청의 수신에 응답하여, 상기 제1 어플리케이션의 제1 동작들 및 제1 데이터 포맷들에 대한 지원을 포함하는 지에 관한 상기 제2 클라이언트 디바이스의 지원을 결정하고, 상기 지원을 한다고 결정하면, 상기 제1 어플리케이션에 이어서, 상기 제2 클라이언트 디바이스 상의 제2 어플리케이션을 시작하고, 상기 제1 어플리케이션의 상기 제1 세션을 상기 제2 클라이언트 디바이스 상의 상기 제2 어플리케이션의 제2 세션으로 이동시키도록 갖추어진 상기 개인 컴퓨팅 클라우드의 상기 제2 클라이언트 디바이스에 메시지를 전송하는 동작 - 상기 메시지는 상기 이동을 위한 정보를 포함하고, 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들임 -
    을 포함하는 컴퓨터 판독가능한 저장 매체.
  17. 제16항에 있어서,
    상기 메시지를 전송하는 동작은, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 제1 어플리케이션의 상기 제1 세션의 제1 상태의 하나 이상의 파라미터 값들을 포함하는 메시지를 전송하는 것을 포함하는 컴퓨터 판독가능한 저장 매체.
  18. 삭제
  19. 제16항에 있어서,
    상기 동작들은 상기 제2 클라이언트 디바이스의 상기 제2 어플리케이션을 등록하는 것을 더 포함하며, 이는 상기 제2 어플리케이션의 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하는 컴퓨터 판독가능한 저장 매체.
  20. 제16항에 있어서,
    상기 동작들은 상기 제1 및 제2 클라이언트 디바이스들을 등록하는 것을 더 포함하는 컴퓨터 판독가능한 저장 매체.
  21. 개인 클라우드 컴퓨팅을 위한 서버로서,
    상기 서버를 네트워크에 연결하도록 구성된 네트워킹 인터페이스;
    상기 네트워킹 인터페이스에 연결되며, 상기 서버를 프로그래밍하도록 구성된 복수의 프로그래밍 명령들을 실행하도록 구성된 프로세서;
    상기 프로세서에 연결되고, 상기 프로세서에 의한 상기 프로그래밍 명령들의 실행에 응답하여, 상기 서버로 하여금,
    개인 컴퓨팅 클라우드의 제1 클라이언트 디바이스로부터, 상기 제1 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 제1 클라이언트 디바이스로부터 이동시키기 위한 요청을 수신하고;
    상기 요청의 수신에 응답하여, 상기 개인 컴퓨팅 클라우드의 제2 클라이언트 디바이스가 상기 제1 어플리케이션의 제1 동작들 및 제1 데이터 포맷들을 각각 포함하는 제2 동작들 및 제2 데이터 포맷들을 지원하는 지에 관해 결정하고,
    상기 지원을 한다고 결정하면, 상기 제1 어플리케이션에 이어서, 상기 제2 클라이언트 디바이스 상의 제2 어플리케이션을 시작하고, 상기 제1 어플리케이션의 상기 제1 세션을 상기 제2 클라이언트 디바이스 상으로 이동시키도록 상기 제2 클라이언트 디바이스에 메시지를 전송
    하도록 상기 개인 컴퓨팅 클라우드 내에서 동작하게 하는 상기 복수의 프로그래밍 명령들을 내부에 저장한 저장 매체
    를 포함하고,
    상기 메시지는 이동에 관한 정보를 포함하고, 상기 제1 및 제2 클라이언트 디바이스들은 상이한 클라이언트 디바이스들이고, 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들인 서버.
  22. 제21항에 있어서,
    상기 메시지를 전송하는 동작은, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 제1 클라이언트 디바이스 상의 상기 제1 어플리케이션의 상기 제1 세션의 제1 상태의 하나 이상의 파라미터 값들을 포함하는 메시지를 전송하는 것을 포함하는 서버.
  23. 삭제
  24. 제21항에 있어서,
    상기 프로그래밍 명령들은 또한 상기 서버로 하여금, 상기 제2 클라이언트 디바이스의 상기 제2 어플리케이션을 등록하게 하며, 이는 상기 제2 어플리케이션의 제2 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하는 서버.
  25. 제21항에 있어서, 상기 프로그래밍 명령들은 또한 상기 서버로 하여금, 상기 제2 클라이언트 디바이스를 등록하게 하는 서버.
KR1020117031568A 2010-09-10 2011-08-29 세션 이동을 갖는 개인 클라우드 컴퓨팅 KR101417242B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/879,816 US8843616B2 (en) 2010-09-10 2010-09-10 Personal cloud computing with session migration
US12/879,816 2010-09-10
PCT/US2011/049608 WO2012033667A2 (en) 2010-09-10 2011-08-29 Personal cloud computing with session migration

Publications (2)

Publication Number Publication Date
KR20120050935A KR20120050935A (ko) 2012-05-21
KR101417242B1 true KR101417242B1 (ko) 2014-07-09

Family

ID=45807763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117031568A KR101417242B1 (ko) 2010-09-10 2011-08-29 세션 이동을 갖는 개인 클라우드 컴퓨팅

Country Status (8)

Country Link
US (1) US8843616B2 (ko)
EP (1) EP2614441A4 (ko)
JP (1) JP2012531002A (ko)
KR (1) KR101417242B1 (ko)
CN (1) CN102725747B (ko)
RU (1) RU2013114306A (ko)
TW (1) TWI464600B (ko)
WO (1) WO2012033667A2 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8554802B1 (en) 2010-10-09 2013-10-08 MEI Research, Ltd. System to dynamically collect and synchronize data with mobile devices
FR2968494B1 (fr) * 2010-12-03 2012-12-28 Oberthur Technologies Procede de communication entre un serveur embarque et un serveur distant
US10235205B2 (en) * 2012-05-24 2019-03-19 Citrix Systems, Inc. Remote management of distributed datacenters
US9003299B2 (en) * 2012-06-08 2015-04-07 Apple Inc. Extensible application state preservation architecture
US9102936B2 (en) 2012-06-11 2015-08-11 Agilent Technologies, Inc. Method of adaptor-dimer subtraction using a CRISPR CAS6 protein
US8990343B2 (en) 2012-07-30 2015-03-24 Google Inc. Transferring a state of an application from a first computing device to a second computing device
KR101876822B1 (ko) * 2012-09-18 2018-08-09 에스케이테크엑스 주식회사 메타 정보 기반의 클라우드 서비스 방법
CN104782136B (zh) 2012-09-28 2018-10-23 英特尔公司 在云中处理视频数据
US8745261B1 (en) 2012-10-02 2014-06-03 Nextbit Systems Inc. Optimized video streaming using cloud computing platform
US8725800B1 (en) 2012-10-02 2014-05-13 Nextbit Systems Inc. Mobile photo application migration to cloud computing platform
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US9277017B2 (en) 2012-10-30 2016-03-01 Netiq Corporation Techniques for device independent session migration
US9219762B2 (en) 2012-10-30 2015-12-22 Netiq Corporation Techniques for desktop migration
CN103825917B (zh) * 2012-11-16 2017-11-21 中国移动通信集团公司 一种数据同步方法、系统、数据同步服务器及终端
CN103841142B (zh) * 2012-11-23 2017-06-20 华为技术有限公司 一种会话迁移的方法、装置及系统
JP5905122B2 (ja) * 2012-11-30 2016-04-20 株式会社日立製作所 管理装置、管理方法及びプログラムを格納する記録媒体
KR102069876B1 (ko) * 2012-12-21 2020-01-23 삼성전자주식회사 전자 기기, 개인 클라우드 기기, 개인 클라우드 시스템 및 이들의 개인 클라우드 기기 등록 방법
KR102000184B1 (ko) 2012-12-28 2019-07-16 (주)휴맥스 클라우드 서비스를 제공하기 위한 장치 및 방법, 이를 구비한 시스템
US9471556B2 (en) 2013-01-30 2016-10-18 Microsoft Technology Licensing, Llc Collaboration using multiple editors or versions of a feature
US9946691B2 (en) 2013-01-30 2018-04-17 Microsoft Technology Licensing, Llc Modifying a document with separately addressable content blocks
US9852115B2 (en) 2013-01-30 2017-12-26 Microsoft Technology Licensing, Llc Virtual library providing content accessibility irrespective of content format and type
EP3657826B1 (en) * 2013-03-14 2022-02-02 Samsung Electronics Co., Ltd. Application connection for devices in a network
US10284657B2 (en) 2013-03-14 2019-05-07 Samsung Electronics Co., Ltd. Application connection for devices in a network
US10735408B2 (en) 2013-03-14 2020-08-04 Samsung Electronics Co., Ltd. Application connection for devices in a network
CN103428268B (zh) * 2013-07-09 2016-03-16 华数数字电视传媒集团有限公司 一种基于云化架构的数字家庭平台及实现方法
US10599742B2 (en) * 2013-08-06 2020-03-24 Adobe Inc. Sharing and consuming web content across multiple devices
CN109286724B (zh) 2013-12-11 2021-02-26 创新先进技术有限公司 一种基于短信息的数据交互方法及装置
US9374703B2 (en) * 2013-12-12 2016-06-21 International Business Machines Corporation Customizable serviceability mechanism
US9531811B2 (en) * 2014-03-05 2016-12-27 Arcsoft Hangzhou Co., Ltd. Method for sharing application
US10313404B2 (en) 2016-06-30 2019-06-04 Microsoft Technology Licensing, Llc Sharing user context and preferences
CN108684205B (zh) 2017-02-02 2021-10-15 谷歌有限责任公司 用于处理数字组件的方法及系统
US10320920B2 (en) 2017-05-23 2019-06-11 Bank Of America Corporation Automatic migration of communication sessions using a private cloud-cloud technology
US10462230B2 (en) 2017-05-23 2019-10-29 Bank Of America Corporation Migrating sessions using a private cloud-cloud technology
US10614030B2 (en) 2017-06-02 2020-04-07 Microsoft Technology Licensing Llc Task creation and completion with bi-directional user interactions
US10621984B2 (en) * 2017-10-04 2020-04-14 Google Llc User-configured and customized interactive dialog application
CN109032768A (zh) * 2018-08-10 2018-12-18 北京智能管家科技有限公司 应用会话的迁移方法、装置、终端、服务器及存储介质
CN109086123A (zh) * 2018-08-10 2018-12-25 北京智能管家科技有限公司 应用会话的迁移方法、装置、终端、服务器及存储介质
US10893108B2 (en) * 2019-03-13 2021-01-12 Cisco Technology, Inc. Maintaining application state of mobile endpoint device moving between virtualization hosts based on sharing connection-based metadata
US11868622B2 (en) 2020-02-25 2024-01-09 Pure Storage, Inc. Application recovery across storage systems
US11637896B1 (en) 2020-02-25 2023-04-25 Pure Storage, Inc. Migrating applications to a cloud-computing environment
US11757999B1 (en) * 2020-06-02 2023-09-12 State Farm Mutual Automobile Insurance Company Thick client and common queuing framework for contact center environment
CN116319949B (zh) * 2022-12-19 2023-11-14 北京开科唯识技术股份有限公司 会话迁移方法、装置、终端设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060131739A (ko) * 2003-10-10 2006-12-20 사이트릭스 시스템스, 인크. 영속적 어플리케이션 세션에 대한 엑세스를 제공하기 위한방법 및 장치
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

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4817814B2 (ja) 2004-11-19 2011-11-16 富士通株式会社 アプリケーション状態情報転送システム
US8166176B2 (en) * 2006-05-31 2012-04-24 Alcatel Lucent Context-aware migration of communication session
US7797453B2 (en) 2006-09-29 2010-09-14 Microsoft Corporation Resource standardization in an off-premise environment
TWI331290B (en) * 2006-12-22 2010-10-01 Compal Electronics Inc Apparatus, system and method for controlling multimedia system
US20080276170A1 (en) * 2007-02-06 2008-11-06 Access Systems Americas, Inc. System and method for generating and arranging status gadgets in a small display area
TWI328747B (en) * 2007-03-16 2010-08-11 Ind Tech Res Inst System and method for sharing e-service resource of digital home
TW200904180A (en) * 2007-07-09 2009-01-16 Cyberlink Corp Automatic resume system of a media center and the method thereof
TW200915878A (en) * 2007-09-29 2009-04-01 Inventec Besta Co Ltd System and method for displaying signals outputted from remote computer in television
US20090204966A1 (en) * 2008-02-12 2009-08-13 Johnson Conrad J Utility for tasks to follow a user from device to device
US20100241507A1 (en) * 2008-07-02 2010-09-23 Michael Joseph Quinn System and method for searching, advertising, producing and displaying geographic territory-specific content in inter-operable co-located user-interface components
US8352575B2 (en) * 2008-10-14 2013-01-08 Samaha Tareq A System and method for a server-based files and tasks brokerage
US9436414B2 (en) * 2010-05-08 2016-09-06 Hewlett-Packard Development Company, L.P. Managing a printing device behind a firewall

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060131739A (ko) * 2003-10-10 2006-12-20 사이트릭스 시스템스, 인크. 영속적 어플리케이션 세션에 대한 엑세스를 제공하기 위한방법 및 장치
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

Also Published As

Publication number Publication date
TW201229777A (en) 2012-07-16
WO2012033667A2 (en) 2012-03-15
US20120066373A1 (en) 2012-03-15
EP2614441A2 (en) 2013-07-17
CN102725747B (zh) 2016-05-11
JP2012531002A (ja) 2012-12-06
WO2012033667A3 (en) 2012-06-07
TWI464600B (zh) 2014-12-11
US8843616B2 (en) 2014-09-23
RU2013114306A (ru) 2014-10-10
EP2614441A4 (en) 2017-07-05
KR20120050935A (ko) 2012-05-21
CN102725747A (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
KR101417242B1 (ko) 세션 이동을 갖는 개인 클라우드 컴퓨팅
CN108174248B (zh) 视频播放方法、视频播放控制方法、装置、及存储介质
EP4262172A2 (en) System and method for use of a media content bot in a social messaging environment
JP6700259B2 (ja) コンポーネント固有アプリケーション提示履歴
US20150088966A1 (en) Service activity user interface
US9055193B2 (en) System and method of a remote conference
EP3136655B1 (en) Multimedia display method, device and equipment
CN102298947A (zh) 一种用于在多媒体播放器间进行播放切换的方法与设备
EP3041241B1 (en) Method and apparatus for playing multimedia resource
US20160007141A1 (en) Linking Media Access Between Devices
WO2018093471A1 (en) Video playback in group communications
JP7454680B2 (ja) 素材表示方法、装置、電子機器、および記憶媒体
US20120182981A1 (en) Terminal and method for synchronization
CN112637626B (zh) 推流方法、系统、装置、电子设备及存储介质
KR101531284B1 (ko) 클라우드 스트리밍 서비스를 제공하기 위한 장치, 이를 위한 방법 및 이를 위한 시스템
US10417279B1 (en) Customized cross fades for continuous and seamless playback
CN112422614A (zh) 用于设备交互的方法、装置和介质
KR101428472B1 (ko) 클라우드 스트리밍 서비스 제공을 위한 장치 및 이를 위한 방법
CN111666483B (zh) 应用程序的推荐方法、装置、电子设备及可读存储介质
JP5274220B2 (ja) 情報処理装置、再生制御方法及び再生制御プログラム
KR20140076836A (ko) 스트리밍 서비스에서 데이터 저장을 위한 장치 및 이를 위한 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 6