KR101417242B1 - 세션 이동을 갖는 개인 클라우드 컴퓨팅 - Google Patents
세션 이동을 갖는 개인 클라우드 컴퓨팅 Download PDFInfo
- 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
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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
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
실시예들은 데이터 프로세싱 분야에 연관되며, 특히, 세션 이동을 갖는 개인 클라우드 컴퓨팅과 연관된 방법, 장치 및 물품에 관한 것이다.
본원에 달리 지시되지 않은 이상, 이 부분에서 설명된 재료들은 본원의 청구항들에 대한 종래 기술이 아니며, 이 부분에 포함된다고 해서 종래 기술로 인정되는 것은 아니다.
오늘날의 상호 연결된 디지털 환경에서, 대부분의 사용자들은 몇몇의 컴퓨팅, 통신, 및/또는 엔터테인먼트 디바이스들을 소유한다. 현재 기술 하의 대부분의 경우들에서, 상이한 디바이스들이 함께 매끄럽게 동작하도록 하는 것은 종종 어렵거나 또는 기술적인 지식 및/또는 능력을 요구하므로, 이러한 디바이스들은 격리된 엔티티들(entities)로서 동작한다. 일반적으로, 사용자가 다양한 디바이스들 상에서 또는 디바이스들을 사용하여 수행하는 어떠한 행동에 대해서도 지속적인 경험이 부족하다.
예컨대, 많은 사용자들이 그들 각각의 구축된 및/또는 온라인 음악 스토어들과 연관된 재생 목록들을 사용하여 그들의 랩톱을 통해 음악을 듣는다. 종종, 그들은 또한 인터넷 가능 미디어 플레이어를 갖는 차량 내 인포테인먼트 디바이스들(in-vehicle infotainment devices)을 소유한다. 그러나, 오늘날의 기술 하에서, 이러한 사용자들은 그들의 사무실/집으로부터 그들의 차량으로 이동하거나, 그들의 차량으로부터 그들의 사무실/집으로 이동할 때 일반적으로 지속적인 경험을 즐길 수 없다.
유사하게, 많은 사용자들은 종종 그들의 데스크톱으로부터 그들의 스마트 폰으로, 또는 그 반대로 인터넷 브라우징을 스위칭하기를 원한다. 다시, 오늘날의 기술 하에서, 이러한 경험은 종종 불연속적이다.
본 명세서의 실시예들은 유사한 참조들이 유사한 요소들을 나타내는 수반하는 도면들에 예시된 제한적이지 않은 예시적인 실시예들로서 제시될 것이다.
도 1은 세션 이동을 갖는 개인 컴퓨팅 클라우드의 개략을 도시한다.
도 2는 도 1의 개인 클라우드 컴퓨팅 클라이언트 디바이스들 중 하나를 더 상세히 도시한다.
도 3은 도 1의 개인 클라우드 컴퓨팅 서버를 더 상세히 도시한다.
도 4는 도 1의 개인 클라우드 컴퓨팅 데이터베이스를 더 상세히 도시한다.
도 5는 다양한 개인 클라우드 컴퓨팅 프로세스들을 도시한다.
도 6은 개인 클라우드 컴퓨팅 디스플레이의 예를 도시한다.
도 7은 세션 이동의 예를 도시한다.
도 8은 개인 클라우드 컴퓨팅의 다양한 클라이언트 디바이스 및/또는 서버 양태들을 실시하도록 사용하기에 적합한 컴퓨터 시스템의 예를 도시하며, 앞서 말한 모든 예시들은 본 명세서의 실시예들에 따라 배열된다.
도 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 세션을 상기 또 다른 클라이언트 디바이스로부터 이동시키기 위한 정보를 포함하고, 상기 2개의 클라이언트 디바이스는 상이한 클라이언트 디바이스들임 -;
상기 메시지를 수신하는 것에 응답하여, 상기 클라이언트 디바이스 상의 제2 어플리케이션이, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들을 지원한다는 것을 상기 메시지에 포함된 상기 정보를 사용하여 상기 클라이언트 디바이스에 의해 결정하는 단계 - 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들이고, 상기 클라이언트 디바이스와 상기 또 다른 클라이언트 디바이스는 상이한 클라이언트 디바이스들임 -; 및
상기 클라이언트 디바이스 상의 상기 제2 어플리케이션이 상기 제1 동작들 또는 상기 제1 데이터 포맷들을 지원한다고 결정하면, 상기 제1 어플리케이션에 이어서, 상기 클라이언트 디바이스 상에서 실행되는 제2 어플리케이션을 상기 클라이언트 디바이스에 의해 시작하고, 상기 제1 어플리케이션의 상기 제1 세션을 상기 클라이언트 디바이스 상의 상기 제2 어플리케이션의 제2 세션으로 이동시키는 단계
를 포함하는 방법. - 제1항에 있어서,
메시지를 수신하는 단계는, 상기 서버로부터의 메시지를 상기 클라이언트 디바이스에 의해 수신하는 단계를 포함하며,
상기 메시지는, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 또 다른 클라이언트 디바이스 상에서의 상기 제1 세션의 제1 상태의 제1 하나 이상의 파라미터 값들을 포함하는 방법. - 제2항에 있어서,
제2 어플리케이션을 시작하는 단계는, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 데이터 포맷들을 지원하는 제2 어플리케이션을 상기 클라이언트 디바이스에 의해 시작하는 단계를 포함하는 방법. - 삭제
- 제1항에 있어서,
상기 클라이언트 디바이스의 상기 제2 어플리케이션을 상기 클라이언트 디바이스에 의해 상기 서버에 등록하는 단계를 더 포함하며, 이는 상기 제2 어플리케이션의 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하는 방법. - 제1항에 있어서,
상기 클라이언트 디바이스를 상기 클라이언트 디바이스에 의해 상기 서버에 등록하는 단계를 더 포함하는 방법. - 제1항에 있어서,
상기 서버로부터 상기 개인 컴퓨팅 클라우드의 상기 또 다른 클라이언트 디바이스 상의 상기 제1 어플리케이션의 제1 상태를 상기 클라이언트 디바이스에 의해 수신하는 단계; 및
상기 또 다른 클라이언트 디바이스 상의 상기 제1 어플리케이션의 상기 제1 상태를 상기 클라이언트 디바이스에 의해 디스플레이하는 단계
를 더 포함하는 방법. - 개인 클라우드 컴퓨팅을 위한 클라이언트 디바이스로서,
상기 클라이언트 디바이스를 네트워크에 연결하도록 구성된 네트워킹 인터페이스;
상기 네트워킹 인터페이스와 연결되며, 상기 클라이언트 디바이스를 프로그래밍하도록 구성된 복수의 프로그래밍 명령들을 실행하도록 구성된 프로세서; 및
상기 프로세서와 연결되며, 상기 프로세서에 의한 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금, 개인 컴퓨팅 클라우드의 클라이언트 디바이스로서 동작하게 하는 상기 복수의 프로그래밍 명령들을 내부에 저장한 저장 매체
를 포함하며, 상기 개인 컴퓨팅 클라우드의 클라이언트 디바이스로서 동작하는 것은,
상기 개인 컴퓨팅 클라우드와 연관된 서버로부터 메시지를 수신하는 동작 - 상기 메시지는 상기 개인 컴퓨팅 클라우드의 또 다른 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 또 다른 클라이언트 디바이스로부터 상기 클라이언트 디바이스로 이동시키기 위한 정보를 포함하고, 상기 클라이언트 디바이스와 상기 또 다른 클라이언트 디바이스는 상이한 클라이언트 디바이스들임 -;
상기 메시지에 포함된 상기 정보를 사용하여 상기 클라이언트 디바이스 상의 제2 어플리케이션이, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들을 지원한다는 것을 결정하는 동작 - 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들임 -; 및
상기 클라이언트 디바이스 상의 상기 제2 어플리케이션의 제2 세션을 시작하고, 상기 클라이언트 디바이스로 상기 제1 어플리케이션의 상기 제1 세션을 이동시키는 동작
을 포함하는 클라이언트 디바이스. - 제8항에 있어서,
상기 메시지를 수신하는 동작은, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 또 다른 클라이언트 디바이스 상에서의 상기 제1 세션의 제1 상태의 제1 하나 이상의 파라미터 값들을 갖는 메시지를 상기 서버로부터 수신하는 것을 포함하는 클라이언트 디바이스. - 제9항에 있어서,
제2 어플리케이션을 시작하는 동작은, 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 동작들, 또는 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 상기 제1 데이터 포맷들을 지원하는 제2 어플리케이션을 시작하는 것을 포함하는 클라이언트 디바이스. - 삭제
- 제9항에 있어서,
상기 프로그래밍 명령들은 또한, 상기 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금, 상기 클라이언트 디바이스의 상기 제2 어플리케이션을 개인 클라우드 컴퓨팅 서버에 등록하게 하며, 이는 상기 제2 어플리케이션의 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하고, 상기 제2 동작들 및 상기 제2 데이터 포맷들은 각각 상기 제1 동작들 및 상기 제1 데이터 포맷들을 포함하는 클라이언트 디바이스. - 제9항에 있어서,
상기 프로그래밍 명령들은 또한, 상기 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금, 상기 클라이언트 디바이스를 개인 클라우드 컴퓨팅 서버에 등록하게 하는 클라이언트 디바이스. - 제9항에 있어서,
상기 프로그래밍 명령들은 또한, 상기 프로그래밍 명령들의 실행에 응답하여, 상기 클라이언트 디바이스로 하여금,
상기 개인 컴퓨팅 클라우드의 상기 또 다른 클라이언트 디바이스의 상기 제1 어플리케이션의 상기 제1 상태를 개인 클라우드 컴퓨팅 서버로부터 수신하고,
상기 제1 상태를 디스플레이하게 하는 클라이언트 디바이스. - 제9항에 있어서,
상기 클라이언트 디바이스는 모바일 개인 디바이스, 정지된 컴퓨팅 디바이스, 또는 디지털 홈 디바이스 중 선택된 것을 포함하는 클라이언트 디바이스. - 적어도 하나의 비-일시적인(non-transitory) 컴퓨터 판독가능한 저장 매체로서,
상기 저장 매체에 저장되고, 장치의 프로세서에 의한 프로그래밍 명령들의 실행에 응답하여, 상기 장치로 하여금, 서버 이외에도 상이한 제1 및 제2 클라이언트 디바이스들을 갖는 개인 컴퓨팅 클라우드의 서버의 동작들을 수행하게 하도록 상기 장치를 프로그래밍하도록 구성된 프로그래밍 명령들
을 포함하며, 상기 개인 컴퓨팅 클라우드의 서버의 동작들은,
상기 개인 컴퓨팅 클라우드의 제1 클라이언트 디바이스로부터, 상기 제1 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 제1 클라이언트 디바이스로부터 이동시키기 위한 요청을 수신하는 동작; 및
상기 요청의 수신에 응답하여, 상기 제1 어플리케이션의 제1 동작들 및 제1 데이터 포맷들에 대한 지원을 포함하는 지에 관한 상기 제2 클라이언트 디바이스의 지원을 결정하고, 상기 지원을 한다고 결정하면, 상기 제1 어플리케이션에 이어서, 상기 제2 클라이언트 디바이스 상의 제2 어플리케이션을 시작하고, 상기 제1 어플리케이션의 상기 제1 세션을 상기 제2 클라이언트 디바이스 상의 상기 제2 어플리케이션의 제2 세션으로 이동시키도록 갖추어진 상기 개인 컴퓨팅 클라우드의 상기 제2 클라이언트 디바이스에 메시지를 전송하는 동작 - 상기 메시지는 상기 이동을 위한 정보를 포함하고, 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들임 -
을 포함하는 컴퓨터 판독가능한 저장 매체. - 제16항에 있어서,
상기 메시지를 전송하는 동작은, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 제1 어플리케이션의 상기 제1 세션의 제1 상태의 하나 이상의 파라미터 값들을 포함하는 메시지를 전송하는 것을 포함하는 컴퓨터 판독가능한 저장 매체. - 삭제
- 제16항에 있어서,
상기 동작들은 상기 제2 클라이언트 디바이스의 상기 제2 어플리케이션을 등록하는 것을 더 포함하며, 이는 상기 제2 어플리케이션의 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하는 컴퓨터 판독가능한 저장 매체. - 제16항에 있어서,
상기 동작들은 상기 제1 및 제2 클라이언트 디바이스들을 등록하는 것을 더 포함하는 컴퓨터 판독가능한 저장 매체. - 개인 클라우드 컴퓨팅을 위한 서버로서,
상기 서버를 네트워크에 연결하도록 구성된 네트워킹 인터페이스;
상기 네트워킹 인터페이스에 연결되며, 상기 서버를 프로그래밍하도록 구성된 복수의 프로그래밍 명령들을 실행하도록 구성된 프로세서;
상기 프로세서에 연결되고, 상기 프로세서에 의한 상기 프로그래밍 명령들의 실행에 응답하여, 상기 서버로 하여금,
개인 컴퓨팅 클라우드의 제1 클라이언트 디바이스로부터, 상기 제1 클라이언트 디바이스 상에서 실행되는 제1 어플리케이션의 제1 세션을 상기 제1 클라이언트 디바이스로부터 이동시키기 위한 요청을 수신하고;
상기 요청의 수신에 응답하여, 상기 개인 컴퓨팅 클라우드의 제2 클라이언트 디바이스가 상기 제1 어플리케이션의 제1 동작들 및 제1 데이터 포맷들을 각각 포함하는 제2 동작들 및 제2 데이터 포맷들을 지원하는 지에 관해 결정하고,
상기 지원을 한다고 결정하면, 상기 제1 어플리케이션에 이어서, 상기 제2 클라이언트 디바이스 상의 제2 어플리케이션을 시작하고, 상기 제1 어플리케이션의 상기 제1 세션을 상기 제2 클라이언트 디바이스 상으로 이동시키도록 상기 제2 클라이언트 디바이스에 메시지를 전송
하도록 상기 개인 컴퓨팅 클라우드 내에서 동작하게 하는 상기 복수의 프로그래밍 명령들을 내부에 저장한 저장 매체
를 포함하고,
상기 메시지는 이동에 관한 정보를 포함하고, 상기 제1 및 제2 클라이언트 디바이스들은 상이한 클라이언트 디바이스들이고, 상기 제1 및 제2 어플리케이션들은 상이한 어플리케이션들인 서버. - 제21항에 있어서,
상기 메시지를 전송하는 동작은, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션의 메타데이터, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 동작들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 지원되는 제1 데이터 포맷들, 상기 제1 클라이언트 디바이스의 상기 제1 어플리케이션에 의해 사용되는 리소스들을 식별하는 제1 로케이터, 또는 상기 제1 클라이언트 디바이스 상의 상기 제1 어플리케이션의 상기 제1 세션의 제1 상태의 하나 이상의 파라미터 값들을 포함하는 메시지를 전송하는 것을 포함하는 서버. - 삭제
- 제21항에 있어서,
상기 프로그래밍 명령들은 또한 상기 서버로 하여금, 상기 제2 클라이언트 디바이스의 상기 제2 어플리케이션을 등록하게 하며, 이는 상기 제2 어플리케이션의 제2 메타데이터, 상기 제2 어플리케이션에 의해 지원되는 제2 동작들, 또는 상기 제2 어플리케이션에 의해 지원되는 제2 데이터 포맷들을 등록하는 것을 포함하는 서버. - 제21항에 있어서, 상기 프로그래밍 명령들은 또한 상기 서버로 하여금, 상기 제2 클라이언트 디바이스를 등록하게 하는 서버.
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)
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)
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)
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 |
-
2010
- 2010-09-10 US US12/879,816 patent/US8843616B2/en active Active
-
2011
- 2011-08-15 TW TW100129050A patent/TWI464600B/zh not_active IP Right Cessation
- 2011-08-29 CN CN201180002815.8A patent/CN102725747B/zh not_active Expired - Fee Related
- 2011-08-29 KR KR1020117031568A patent/KR101417242B1/ko active IP Right Grant
- 2011-08-29 RU RU2013114306/08A patent/RU2013114306A/ru unknown
- 2011-08-29 WO PCT/US2011/049608 patent/WO2012033667A2/en active Application Filing
- 2011-08-29 JP JP2012533395A patent/JP2012531002A/ja active Pending
- 2011-08-29 EP EP11799142.2A patent/EP2614441A4/en not_active Withdrawn
Patent Citations (2)
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 |