KR20140021042A - 멀티모드 컴퓨팅 디바이스 - Google Patents

멀티모드 컴퓨팅 디바이스 Download PDF

Info

Publication number
KR20140021042A
KR20140021042A KR1020137034765A KR20137034765A KR20140021042A KR 20140021042 A KR20140021042 A KR 20140021042A KR 1020137034765 A KR1020137034765 A KR 1020137034765A KR 20137034765 A KR20137034765 A KR 20137034765A KR 20140021042 A KR20140021042 A KR 20140021042A
Authority
KR
South Korea
Prior art keywords
virtual machine
home
work
applications
application
Prior art date
Application number
KR1020137034765A
Other languages
English (en)
Other versions
KR101672227B1 (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 KR20140021042A publication Critical patent/KR20140021042A/ko
Application granted granted Critical
Publication of KR101672227B1 publication Critical patent/KR101672227B1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/468Specific access rights for resources, e.g. using capability register
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

여기에 기재된 기술들은 일반적으로 적어도 이중의 용도를 제공할 수 있는 멀티모드 디바이스를 제공한다. 일 예에서, 멀티모드 디바이스는 베이스 하드웨어 및 그 베이스 하드웨어 상에서 실행하는 하이퍼바이저를 포함할 수도 있다. 직장 가상 머신은 하이퍼바이저 상에서 동작하도록 구성되는 직장 운영 시스템을 포함할 수도 있다. 홈 가상 머신은 하이퍼바이저 상에서 동작하도록 구성되는 홈 운영 시스템을 포함할 수도 있다. 직장 가상 머신은 또한 하이퍼바이저 상에서 동작하도록 구성된 중재자 운영 시스템을 포함할 수도 있다. 중재자 운영 시스템은 스마트 중재자 서버를 실행하도록 구성될 수도 있다. 스마트 중재자 서버는 직장 가상 머신과 홈 가상 머신 사이에 게이트웨이를 제공하도록 구성될 수도 있다. 스마트 중재자 서버는 또한 직장 가상 머신과 홈 가상 머신 사이에서 여러 폴리시들을 시행하도록 구성될 수도 있다.

Description

멀티모드 컴퓨팅 디바이스{MULTIMODAL COMPUTING DEVICE}
달리 나타내지 않는 한, 본 섹션에 기술된 자료는 본 출원의 청구항들에 대한 종래기술이 아니며, 본 섹션 내의 포함에 의해 종래기술로 되는 것으로 인정되지 않는다.
태블릿 컴퓨팅 디바이스들 (이하, "태블릿들" 로서 지칭됨) 은 개인용 및 사업용으로 최근 수년간 대중성이 증가해 왔다. 사용자는 개인용 및 사업용으로 단일의 태블릿을 소지할 수도 있다. 그러나, 개인용 목적들 및 사용용 목적들은 상이할 수도 있다. 개인용 목적들은 통상 사용자에 의해 정의된다. 예를 들어, 사용자는 태블릿에 게임들 및 소셜 네트워킹 애플리케이션들을 설치할 자유를 원할 수도 있다. 사용자는 또한 태블릿에 저장된 개인 데이터에 대한 프라이버시를 원할 수도 있다. 사업용 목표들은 통상 기업에 의해 정의된다. 예를 들어, 기업은 태블릿에 설치된 애플리케이션들을 제어하기를 원할 수도 있다. 기업은 또한 태블릿 상의 애플리케이션들 및 사업 데이터에 대한 액세스를 원할 수도 있다.
개인용과 사업용 사이의 이들 충돌하는 목표들을 다루기 위해, 사용자는 대신에 임의의 주어진 시간에 2 개의 태블릿들, 즉 개인용을 위해 하나의 태블릿 및 사업용을 위해 또 다른 태블릿을 소지할 수도 있다. 그러나, 하나 보다 많은 태블릿을 소지하는 것은 귀찮고 불편할 수 있다. 또, 각 태블릿은 개별적인 서비스 계획과 연관되어, 추가의 비용들을 발생시킬 수도 있다.
본 개시는 일반적으로 적어도 이중의 용도를 제공하도록 구성된 멀티모드 디바이스를 기술한다. 일부 예시의 멀티모드 디바이스들은 베이스 하드웨어, 하이퍼바이저, 직장 가상 머신, 홈 가상 머신, 중재자 운영 시스템, 및 스마트 중재자 서버를 포함할 수도 있다. 베이스 하드웨어는 프로세서 및 프로세서에 커플링된 메모리를 포함할 수도 있다. 하이퍼바이저는 베이스 하드웨어 상에서 동작하도록 구성될 수도 있다. 하이퍼바이저는 다수의 운영 시스템들 사이에 베이스 하드웨어의 자원들을 할당하도록 적응될 수도 있다. 직장 가상 머신은 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함할 수도 있다. 직장 운영 시스템은 직장 가상 머신에 설치된 직장 애플리케이션들을 실행하도록 적응될 수도 있다. 홈 가상 머신은 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함할 수도 있다. 홈 운영 시스템은 홈 가상 머신에 설치된 홈 애플리케이션들을 실행하도록 적응될 수도 있다. 중재자 운영 시스템은 하이퍼바이저 상에서 동작하도록 구성될 수도 있다. 스마트 중재자 서버는 중재자 운영 시스템 상에서 동작하도록 구성될 수도 있다. 스마트 중재자 서버는 직장 가상 머신과 홈 가상 머신 사이에 게이트웨이를 제공하고, 폴리시에 따라 직장 애플리케이션들에 대한 액세스를 관리하며, 폴리시에 따라 홈 애플리케이션들에 대한 액세스를 관리하도록 적응될 수도 있다. 폴리시는 직장 애플리케이션들에 대한 액세스와 홈 애플리케이션들에 대한 액세스 사이에 상이할 수도 있다.
본 개시는 일반적으로 또한 베이스 하드웨어 상에서 동작하도록 구성된 베어 메탈 하이퍼바이저를 갖는 멀티모드 디바이스를 중재하기 위한 기법들을 기술한다. 일부 예시의 방법들은 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함하는 직장 가상 머신을 제공하는 것을 포함할 수도 있다. 직장 운영 시스템은 직장 가상 머신 상에 설치된 직장 애플리케이션들을 실행하도록 적응될 수도 있다. 예시의 방법들은 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함하는 홈 가상 머신을 제공하는 것을 포함할 수도 있다. 홈 운영 시스템은 홈 가상 머신에 설치된 홈 애플리케이션들을 실행하도록 적응될 수도 있다. 예시의 방법들은 직장 가상 머신과 홈 가상 머신 사이에 게이트웨이를 제공하는 것을 포함할 수도 있다. 예시의 방법들은 또한 폴리시에 따라 직장 애플리케이션들에 대한 액세스를 관리하는 것을 포함할 수도 있다. 예시의 방법들은 또한 폴리시에 따라 홈 애플리케이션들에 대한 액세스를 관리하는 것을 포함할 수도 있다. 폴리시는 직장 애플리케이션들에 대한 액세스와 홈 애플리케이션들에 대한 액세스 사이에 상이할 수도 있다.
본 개시는 일반적으로 또한 적어도 이중 용도를 제공하도록 적응된 태블릿 컴퓨터를 기술한다. 일부 예시의 태블릿 컴퓨터들은 베이스 하드웨어, 하이퍼바이저, 직장 가상 머신, 홈 가상 머신, 중재자 운영 시스템, 및 스마트 중재자 서버를 포함할 수도 있다. 베이스 하드웨어는 프로세서 및 프로세서에 커플링된 메모리를 포함할 수도 있다. 베어 메탈 하이퍼바이저는 베이스 하드웨어 상에서 동작하도록 구성될 수도 있다. 베어 메탈 하이퍼바이저는 다수의 운영 시스템들 사이에 베이스 하드웨어의 자원들을 할당하도록 적응될 수도 있다. 직장 가상 머신은 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함할 수도 있다. 직장 운영 시스템은 직장 가상 머신에 설치된 직장 애플리케이션들 및 공유된 애플리케이션들을 실행하도록 적응될 수도 있다. 홈 가상 머신은 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함할 수도 있다. 홈 운영 시스템은 홈 가상 머신에 설치된 홈 애플리케이션들 및 공유된 애플리케이션들을 실행하도록 적응될 수도 있다. 중재자 운영 시스템은 베어 메탈 하이퍼바이저 상에서 동작하도록 구성될 수도 있다. 스마트 중재자 서버는 중재자 운영 시스템 상에서 동작하도록 구성될 수도 있다. 스마트 중재자 서버는 직장 가상 머신과 홈 가상 머신 사이에 게이트웨이를 제공하고, 폴리시에 따라 직장 애플리케이션들에 대한 액세스를 관리하며, 폴리시에 따라 홈 애플리케이션들에 대한 액세스를 관리하도록 적응될 수도 있다. 폴리시는 직장 애플리케이션들에 대한 액세스와 홈 애플리케이션들에 대한 액세스 사이에 상이할 수도 있다.
상기의 개요는 단지 예시적이며 어떠한 방식으로든 제한하는 것으로 의도되지 않는다. 상술된 예시적인 양태들, 실시형태들, 및 특징들에 더하여, 다른 양태들, 실시형태들, 및 특징들이 도면들 및 다음의 상세한 설명에 의해 명백하게 될 것이다.
본 개시의 상기 및 다른 특징들은 첨부하는 도면들과 결합하여 취해진 다음의 설명 및 첨부된 청구항들로부터 더욱 완전히 명백하게 될 것이다. 이들 도면들은 단지 본 개시에 따른 몇 개의 실시형태들을 묘사하고, 따라서 그의 범위를 제한하는 것으로 고려되지 않는다는 것을 이해하면서, 본 개시는 첨부하는 도면들의 사용을 통해 추가의 구체성과 상세로 기술될 것이다.
도 1 은 예시의 멀티모드 컴퓨팅 디바이스를 도시하는 기능 블록도이다.
도 2 는 스마트 중재자 서버의 예시의 구현을 도시하는 기능 블록도이다.
도 3 은 다수의 컴퓨팅 디바이스들 사이에서 이전가능한 애플리케이션들을 구현하도록 적응된 예시의 기업 클라우드 아키텍쳐를 도시하는 기능 블록도이다.
도 4 는 멀티모드 디바이스를 중재하도록 적응된 예시의 프로세스 (400) 를 도시하는 흐름도이다.
도 5 는 예시의 컴퓨팅 시스템을 위한 컴퓨터 하드웨어 아키텍쳐를 도시하는 블록도이다.
도 6 은 컴퓨팅 디바이스 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 도시하는 개략도이다.
모두가 여기에 제시된 적어도 일부 실시형태들에 따라 배열된다.
다음의 상세한 설명에서, 여기의 일부를 형성하는 첨부하는 도면들에 대한 참조가 행해진다. 도면들에서, 콘텍스트가 달리 언급하지 않는 한 동일한 부호들은 통상 동일한 컴포넌트들을 식별한다. 상세한 설명, 도면 및 청구범위에 기술된 예시적인 실시형태들은 제한하는 것으로 의도되지 않는다. 여기에 제시된 청구물의 사상 또는 범위로부터 일탈하지 않고, 다른 실시형태들이 사용될 수도 있고, 다른 변경들이 행해질 수도 있다. 여기에 일반적으로 기술되고 도면들에 도시된 본 개시의 양태들은, 모두 명시적으로 여기에서 고려된 광범위한 상이한 구성들로 배열, 대체, 결합, 분리, 및 설계될 수 있다는 것이 용이하게 이해될 것이다.
본 개시는 일반적으로 특히 적어도 2 개의 자급식 (self-contained) 의, 개별 관리되는, 고립된 환경들을 제공하도록 구성된 멀티모드 컴퓨팅 디바이스로 이끌어진다. 일부 구현들에서, 멀티모드 컴퓨팅 디바이스는 2 개의 모드들 중 어느 하나에서 동작하고 2 개의 모드들 사이에서 천이하도록 구성될 수도 있다: 홈 가상 머신을 제공하도록 적응된 개인 또는 홈 모드 및 직장 가상 머신을 제공하도록 적응된 직장 모드. 홈 가상 머신은 개인용을 위해 전용된 단일 모드 컴퓨팅 디바이스와 같이 동작할 수도 있다. 예를 들어, 사용자는 사용자가 전용 개인 컴퓨팅 디바이스에서 가질 수 있는 것처럼 홈 가상 머신 상에서 애플리케이션들의 선택 및 설치에 대한 동일한 자유를 가질 수도 있다. 직장 가상 머신은 사용자에게 기업 (예를 들어, 사용자의 고용주) 에 의해 발행되고 직장용을 위해 전용된 단일 모드 컴퓨팅 디바이스와 같이 동작할 수도 있다. 예를 들어, 기업은 기업이 전용의 직장 특정 컴퓨팅 디바이스에 대해 가질 수 있는 것처럼 직장 가상 머신 상에서 애플리케이션들의 선택 및 설치에 대한 동일한 제어를 가질 수도 있다.
도 1 은 여기에 제시된 적어도 일부 실시형태들에 따라 배열된 예시의 멀티모드 컴퓨팅 디바이스 (100) 를 도시하는 기능 블록도이다. 멀티모드 컴퓨팅 디바이스 (100) 는 태블릿, 스마트 폰, 랩탑 컴퓨터, 차량내 컴퓨터, 또는 적어도 이중 용도를 갖는 다른 컴퓨팅 디바이스들로서 구현될 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 는 베이스 하드웨어 (102) 및 베이스 하드웨어 (102) 상에서 실행하도록 구성된 하이퍼바이저 (104) 를 포함할 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 는 또한 각각이 하이퍼바이저 (104) 상에서 실행하도록 구성되는 홈 운영 시스템 (106), 직장 운영 시스템 (108), 및 중재자 운영 시스템 (110) 을 포함할 수도 있다. 홈 운영 시스템 (106) 은 하나 이상의 홈 애플리케이션들 (112) 을 실행하고 홈 데이터 (114) 에 액세스하도록 구성될 수도 있다. 직장 운영 시스템 (108) 은 하나 이상의 직장 애플리케이션들 (116) 을 실행하고 직장 데이터 (118) 에 액세스하도록 구성될 수도 있다. 중재자 운영 시스템 (110) 은 스마트 중재자 서버 (120) 를 실행하도록 구성될 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 는 또한 하나 이상의 센서들 (122) 및/또는 하나 이상의 무선 장치들 (124) 를 포함할 수도 있다.
하이퍼바이저 (104) 는 일부 실시형태들에 따라 베어 메탈 (bare metal) 하이퍼바이저일 수도 있다. 베어 메탈 하이퍼바이저에 있어서, 하이퍼바이저 (104) 는 하이퍼바이저 (104) 와 베이스 하드웨어 (102) 사이에 개재하는 소프트웨어 없이 베이스 하드웨어 (102) 상에서 직접 실행 또는 작동할 수도 있다. 하이퍼바이저 (104) 는 베이스 하드웨어 (102) 의 프로세서들, 캐시 메모리, 메인 메모리, 및 다른 공유된 자원들에 대한 액세스를 관리 및 제어하도록 구성될 수도 있다. 하이퍼바이저 (104) 를 통해, 홈 운영 시스템 (106), 직장 운영 시스템 (108), 및 중재자 운영 시스템 (110) 을 포함하는 다수의 운영 시스템들이 동일한 베이스 하드웨어 (102) 상에서 설치 및 실행 또는 작동될 수 있다.
홈 운영 시스템 (106) 은 자급식이며 직장 운영 시스템 (108) 으로부터 고립될 수도 있다. 홈 운영 시스템 (106) 은 개인용 시나리오들을 위해 적응된 홈 가상 머신을 형성할 수도 있다. 홈 가상 머신에서, 사용자 또는 사용자 엔티티는 홈 애플리케이션들 (112) 및 홈 데이터 (114) 에 대한 제어 및 비제한적 액세스를 가질 수도 있다. 홈 애플리케이션들 (112) 의 일부 예들은 사진 관람 애플리케이션, 네비게이션 애플리케이션, 음악 애플리케이션, 소셜 네트워킹 애플리케이션, 영화 관람 애플리케이션, 게임들, 개인 백업 애플리케이션, 또는 개인용 시나리오들과 연관된 다른 개인 애플리케이션들을 포함할 수도 있다. 홈 데이터 (114) 의 일부 예들은 개인 사진들, 음악, 영화들, 또는 개인용 시나리오들과 연관된 다른 개인 데이터를 포함할 수도 있다.
직장 운영 시스템 (108) 은 자급식이며, 홈 운영 시스템 (106) 으로부터 고립될 수도 있다. 직장 운영 시스템 (108) 은 직장용 시나리오들을 위해 적응된 직장 가상 머신을 형성할 수도 있다. 직장 가상 머신에서, 기업 (비사용자 엔티티로서도 지칭됨) 의 정보 기술 ("IT") 관리자 또는 다른 권한부여된 대표자는 직장 애플리케이션들 (116) 및 직장 데이터 (118) 에 대한 제어 및 액세스를 가질 수도 있다. IT 관리자는 또한 직장 애플리케이션들 (116) 및/또는 직장 데이터 (118) 에 대한 사용자의 액세스를 제한할 수도 있다. 직장 애플리케이션들 (116) 의 일부 예들은 비용 애플리케이션, 기업 이메일 애플리케이션, 고객 관계 관리 애플리케이션, 기업 백업 애플리케이션, 또는 직장용 시나리오들과 연관된 다른 기업 특정 애플리케이션들을 포함할 수도 있다. 직장 데이터 (118) 의 일부 예들은 비용 데이터, 클라이언트 데이터, 기업 이메일들, 또는 직작용 시나리오들과 연관된 다른 기업 특정 데이터를 포함할 수도 있다.
스마트 중재자 서버 (120) 는 중재자 운영 시스템 (110) 상에서 실행하도록 구성될 수도 있다. 홈 운영 시스템 (106) 및 직장 운영 시스템 (108) 은 주어진 운영 시스템의 더욱 완전한 버전들일 수도 있는 반면, 중재자 운영 시스템 (110) 은 운영 시스템의 가장 기본적인 것만 남긴 (stripped-down) 버전일 수도 있다. 스마트 중재자 서버 (120) 는 제한된 수의 태스크들을 수행하도록 구성될 수도 있다. 결과적으로, 중재자 운영 시스템 (110) 은 이들 태스크들을 수행하기 위해 스마트 중재자 서버 (120) 에 의해 사용되는 그러한 컴포넌트들만으로 감소될 수도 있다. 이런 식으로, 중재자 운영 시스템 (110) 은 증가된 성능 및 감소된 전력 소비를 제공할 수 있다.
여러 실시형태들에 따르면, 멀티모드 컴퓨팅 디바이스 (100) 는 2 개의 모드들, 즉 홈 모드 또는 직장 모드 중 어느 하나의 모드에서 동작하도록 구성될 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 가 홈 모드에서 동작하는 경우, 멀티모드 컴퓨팅 디바이스 (100) 는 홈 운영 시스템 (106) 을 실행하도룩 구성될 수도 있다. 사용자의 관점에서, 홈 모드에서 구성되거나 동작하는 멀티모드 컴퓨팅 디바이스 (100) 는 개인용을 위해 전용된 단일 모드 컴퓨팅 디바이스 처럼 동작할 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 가 직장 모드에서 동작하는 경우, 멀티모드 컴퓨팅 디바이스 (100) 는 직장 운영 시스템 (108) 을 실행하도록 구성될 수도 있다. 사용자의 관점에서, 직장 모드에서 구성되거나 동작하는 멀티모드 컴퓨팅 디바이스 (100) 는 기업에 의해 사용자에게 지급되고 직장용을 위해 전용된 단일 모드 컴퓨팅 디바이스 처럼 동작할 수도 있다.
스마트 중재자 서버 (120) 는 홈 가상 머신 또는 직장 가상 머신 중 어느 것으로의 인텔리전트 게이트웨이로서 작용할 수도 있다. 스마트 중재자 서버 (120) 는 직장 가상 머신에 대한 IT 관리자 제어를 제공하도록 구성될 수도 있다. 예를 들어, IT 관리자는 직장 애플리케이션들 (116) 및 직장 데이터 (118) 에 대한 사용자의 액세스를 제한할 수도 있다. 스마트 중재자 서버 (120) 는 또한 다수의 디바이스들 상에서 애플리케이션들을 실행하는데 있어서의 유연성 (flexibility) 을 제공하도록 구성될 수도 있다. 예를 들어, 스마트 중재자 서버 (120) 는 사용자가 주어진 상태에서 멀티모드 컴퓨팅 디바이스 (100) 상에서의 애플리케이션의 실행을 멈추고, 그 후 동일한 상태에서 다른 컴퓨팅 디바이스 상에서의 애플리케이션의 실행을 재개하는 것을 가능하게 하도록 구성될 수도 있다. 스마트 중재자 서버 (120) 는 또한 사용되지 않는 센서들 (122) 및/또는 무선 장치들 (124) 의 적어도 일부를 턴 오프하거나 대기 모드로 천이시킴으로써 전력 소비를 관리하도록 구성될 수도 있다. 스마트 중재자 서버 (120) 에 대한 추가의 상세들이 도 2 를 참조하여 이하에 제공된다.
센서들 (122) 의 일부 예들은 나침반, 카메라, 마이크로폰, 가속도계, 자이로스코프, 또는 글로벌 포지셔닝 시스템 ("GPS") 수신기를 포함할 수도 있다. 센서들 (122) 에 의해 획득된 데이터는 홈 애플리케이션들 (112), 직장 애플리케이션들 (116), 및/또는 멀티모드 컴퓨팅 디바이스 (100) 에 설치된 다른 애플리케이션들에 의해 사용될 수도 있다. 무선 장치들 (124) 의 일부 예들은 3G 네트워크들에 액세스하도록 구성된 3G 무선 장치, 4G 네트워크들에 액세스하도록 구성된 4G 무선 장치, WI-FI 네트워크들에 액세스하도록 구성된 WI-FI 무선 장치, 또는 BLUETOOTH 네트워크들에 액세스하도록 구성된 BLUETOOTH 무선 장치를 포함할 수도 있다. 무선 장치들 (124) 은 멀티모드 컴퓨팅 디바이스 (100) 가 인터넷 뿐아니라 여러 공공 및 사설 네트워크들을 통해 다른 컴퓨팅 디바이스들과 통신하는 것을 가능하게 할 수도 있다.
도 2 는 여기에 제시된 적어도 일부 실시형태들에 따라 배열된 스마트 중재자 서버 (120) 의 예시의 구현을 도시하는 기능 블록도이다. 스마트 중재자 서버 (120) 는 연결 관리자 (202), 시스템 설정 모듈 (204), 통지 서비스 모듈 (206), 공유 서비스 모듈 (208), 활동 관리자 (210), 메타데이터 레포지토리 (212), 및 하나 이상의 공유 애플리케이션들 (214) 을 포함할 수도 있다.
멀티모드 컴퓨팅 디바이스 (100) 상에 설치되어 실행되는 애플리케이션들의 일부 예들은 홈 애플리케이션들 (112), 직장 애플리케이션들 (116), 및 공유 애플리케이션들 (214) 을 포함할 수도 있다. 홈 애플리케이션들 (112) 은 개인용 시나리오들과 연관된 개인 애플리케이션들을 포함할 수도 있다. 예를 들어, 홈 애플리케이션들 (112) 은 직장 환경에 대해 또는 직장 환경에서 적합하지 않은 엔터테인먼트 및 게임 애플리케이션들을 포함할 수도 있다. 홈 애플리케이션들 (112) 은 홈 데이터 (114) 에 액세스하도록 구성될 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 가 홈 모드에서 동작하는 경우, 사용자는 홈 애플리케이션들 (112) 을 실행할 수도 있다.
사용자는 홈 애플리케이션들 (112) 및 홈 데이터 (114) 에 대한 제어 및 비제한된 액세스를 가질 수도 있다. IT 관리자는 홈 애플리케이션들 (112) 또는 홈 데이터 (114) 에 대한 제어, 액세스, 또는 가시성 (visibility) 을 갖지 않을 수도 있다. 일부 실시형태들에서, 사용자는 활동 관리자 (210) 를 통해, 공개적으로 액세스가능한 애플리케이션 스토어에 액세스하고 소정의 홈 애플리케이션들을 선택할 수도 있다. 활동 관리자 (210) 는 공개적으로 액세스가능한 애플리케이션 스토어로부터 선택된 홈 애플리케이션들을 다운로드하고 홈 운영 시스템 (106) 에 선택된 홈 애플리케이션들을 설치하도록 구성될 수도 있다. 공개적으로 액세스가능한 애플리케이션 스토어는 멀티모드 컴퓨팅 디바이스 (100) 의 플랫폼과 연관될 수도 있다. 특정의 플랫폼들과 연관된 공개적으로 액세스가능한 애플리케이션 스토어의 일부 예들은 애플사로부터의 앱 스토어 (APP STORE), 구글로부터의 안드로이드 마켓 (ANDROID MARKET), 또는 마이크로소프트로부터의 윈도우즈 폰 마켓플레이스 (WINDOWS PHONE MARKETPLACE) 를 포함할 수도 있다.
직장 애플리케이션들 (116) 은 직장용 시나리오들과 연관된 직장 애플리케이션들을 포함할 수도 있다. 예를 들어, 직장 애플리케이션들 (116) 은 독점적 기업 비밀들 또는 기밀의 클라이언트 데이터가 액세스되는 기업 애플리케이션들을 포함할 수도 있다. 직장 애플리케이션들 (116) 은 직장 데이터 (118) 에 액세스하도록 구성될 수도 있다. 멀티모드 컴퓨팅 디바이스 (100) 가 직장 모드에서 동작하는 경우, 사용자는 직장 애플리케이션들 (116) 을 실행할 수도 있다.
IT 관리자는 직장 애플리케이션들 (116) 및 직장 데이터 (118) 에 대한 제어 및 액세스를 가질 수도 있다. IT 관리자는 활동 관리자 (210) 를 통해 직장 애플리케이션들 (116) 및 직장 데이터 (118) 에 대해 사용자가 가지는 액세스의 레벨을 정의할 수도 있다. IT 관리자는 또한 멀티모드 컴퓨팅 디바이스 (100) 에 설치될 수 있는 특정의 직장 애플리케이션들을 정의할 수도 있다. 일부 실시형태들에서, IT 관리자는 사적으로 액세스가능한 애플리케이션 스토어에서, 멀티모드 컴퓨팅 디바이스 (100) 에 다운로드되고 설치될 수 있는 소정의 직장 애플리케이션들을 승인하고 프로비져닝할 수도 있다. 사용자 또는 IT 관리자는 활동 관리자 (210) 를 통해 사적으로 액세스가능한 애플리케이션 스토어에 액세스할 수도 있다. 활동 관리자 (210) 는 사적으로 액세스가능한 애플리케이션 스토어로부터 프로비져닝된 직장 애플리케이션들을 다운로드하고 직장 운영 시스템 (108) 에 그 프로비져닝된 직장 애플리케이션들을 설치하도록 구성될 수도 있다. 사적으로 액세스가능한 애플리케이션 스토어는 기업과 연관될 수도 있다. 사적으로 액세스가능한 애플리케이션 스토어는 소정의 사용자들 (예를 들어, 고용인들 또는 기업) 에 대해 액세스를 제한할 수도 있다. 또한, 멀티모드 컴퓨팅 디바이스 (100) 가 홈 모드에 있는 경우, 사용자는 사적으로 액세스가능한 애플리케이션 스토어에 액세스하는 것이 제한될 수도 있다.
공유 애플리케이션들 (214) 은 홈 운영 시스템 (106) 및 직장 운영 시스템 (108) 양자 모두에 의해 사용되는 애플리케이션들을 포함할 수도 있다. IT 관리자는 공유 애플리케이션들 (214) 에 대한 제어를 가질 수도 있다. IT 관리자는 멀티모드 컴퓨팅 디바이스 (100) 에 설치될 수 있는 특정의 공유 애플리케이션들을 정의할 수도 있다. 일부 실시형태들에서, IT 관리자는 멀티모드 컴퓨팅 디바이스 (100) 에 다운로드되고 설치될 수 있는 사적으로 액세스가능한 애플리케이션 스토어에서의 소정의 공유 애플리케이션들을 승인하고 프로비져닝할 수도 있다. 사용자 또는 IT 관리자는 활동 관리자 (210) 를 통해 사적으로 액세스가능한 애플리케이션 스토어에 액세스할 수도 있다. 활동 관리자 (210) 는 사적으로 액세스가능한 애플리케이션 스토어로부터 그 프로비져닝된 공유 애플리케이션들을 다운로드하고 멀티모드 컴퓨팅 디바이스 (100) 에 그 프로비져닝된 공유 애플리케이션들을 설치하도록 구성될 수도 있다. 공유 애플리케이션들 (214) 의 일부 예들은 여러 기업용 애플리케이션들 (예를 들어, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션 등) 뿐아니라 여러 유틸리티 애플리케이션들 (예를 들어, 시계 애플리케이션, 계산기 애플리케이션 등) 을 포함할 수도 있다. 공유 애플리케이션들 (214) 은 개별적인 홈 데이터 및 직장 데이터 및/또는 공유 데이터와 연관될 수도 있다.
활동 관리자 (210) 는 IT 관리자가 또는 사용자가 설치를 개시하는지 여부에 따라 멀티모드 컴퓨팅 디바이스 (100) 의 상이한 영역들에 공유 애플리케이션들 (214) 을 설치하도록 구성될 수도 있다. IT 관리자가 공유 애플리케이션의 설치를 개시하는 경우, 활동 관리자 (210) 는 스마트 중재자 서버 (120) 및/또는 직장 운영 시스템 (108) 에 공유 애플리케이션을 설치하도록 구성될 수도 있다. 사용자가 공유 애플리케이션의 설치를 개시하는 경우, 활동 관리자 (210) 는 홈 운영 시스템 (106) 에 공유 애플리케이션을 설치하도록 구성될 수도 있다. IT 관리자는 활동 관리자 (210) 를 통해 사용자가 공유 애플리케이션을 설치하도록 허용되는지 여부를 정의할 수도 있다. 일부 구현들은 스마트 중재자 서버 (120), 홈 운영 시스템 (106), 및/또는 직장 운영 시스템 (108) 에 공유 애플리케이션들의 중복 설치들을 허용할 수도 있다. 사용자는 홈 운영 시스템 (106) 에의 공유 애플리케이션들 (214) 의 설치들에 대한 더 큰 제어를 가질 수도 있는 반면, IT 관리자는 스마트 중재자 서버 (120) 또는 직장 운영 시스템 (108) 에의 공유 애플리케이션들 (214) 의 설치들에 대한 더 큰 제어를 가질 수도 있다.
멀티모드 컴퓨팅 디바이스 (100) 에 설치된 홈 애플리케이션들 (112) 및/또는 직장 애플리케이션들 (116) 중 적어도 일부는 이전가능한 애플리케이션들일 수도 있다. 다른 이전가능한 애플리케이션들은 각 이전가능한 애플리케이션의 일부는 클라우드에 위치되고 각 이전가능한 애플리케이션의 다른 일부는 멀티모드 컴퓨팅 디바이스 (100) 에 위치되는 하이브리드 애플리케이션들 뿐아니라 (예를 들어, 원격 서버 컴퓨터 상의) 클라우드에 전체적으로 위치된 스트리밍 애플리케이션들을 포함할 수도 있다. 사용자는 주어진 상태에서 제 1 컴퓨팅 디바이스 상의 이전가능한 애플리케이션을 멈추고, 그 후 동일한 상태에서 제 2 컴퓨팅 디바이스 상의 그 이전가능한 애플리케이션을 재개할 수도 있다. 제 1 컴퓨팅 디바이스 및/또는 제 2 컴퓨팅 디바이스는 멀티모드 컴퓨팅 디바이스 (100) 일 수도 있다. 이전가능한 애플리케이션들에 대한 추가의 상세들이 도 3 을 참조하여 이하에 제공된다.
애플리케이션 개발자가 홈 애플리케이션들 (112) 및 직장 애플리케이션들 (116) 과 같은 애플리케이션을 생성하는 경우, 애플리케이션 개발자는 또한 애플리케이션과 연관된 메타데이터를 생성할 수도 있다. 활동 관리자 (210) 는 스마트 중재자 서버 (120), 홈 운영 시스템 (106), 및 직장 운영 시스템 (108) 상의 각각의 설치된 애플리케이션과 연관된 메타데이터를 판독하도록 구성될 수도 있다. 활동 관리자 (210) 는 메타데이터 레포지토리 (212) 를 생성하고 메타데이터 레포지토리 (212) 에 메타데이터를 저장하도록 구성될 수도 있다. 각각의 애플리케이션과 연관된 메타데이터는 애플리케이션과 연관된 제어 정보, 구성 정보, 및/또는 위치 정보를 포함할 수도 있다. 각각의 애플리케이션과 연관된 메타데이터는 또한 애플리케이션이 이전가능한 애플리케이션인지 여부를 특정할 수도 있다. 이전가능한 애플리케이션들의 경우, 연관된 메타데이터는 또한 이전가능한 애플리케이션에 의해 지원되는 디바이스 타입들, 이전을 수행하도록 적응된 동기화 서버의 아이덴티티 및 위치, 이전에 영향을 주는 다른 정보, 및/또는 상태 정보를 특정할 수도 있다. 이전가능한 애플리케이션들에 대한 추가의 상세들은 도 3 을 참조하여 이하에 더욱 상세히 제공된다.
메타데이터는 또한 센서들 (122) 및/또는 무선 장치들 (124) 중 어느 것이 각각의 설치된 애플리케이션에 의해 사용되는지를 특정할 수도 있다. 활동 관리자 (210) 는 멀티모드 컴퓨팅 디바이스 (100) 상에 존재하는 센서들 (122) 및 무선 장치들 (124) 을 특정하는 목록을 유지하도록 구성될 수도 있다. 활동 관리자 (210) 는 또한 메타데이터 레포지토리 (212) 에 그 목록을 저장하도록 구성될 수도 있다. 활동 관리자는 또한 그 목록과 센서들 (122) 중 어느 것 및 무선 장치들 (124) 중 어느 것이 각각의 설치된 애플리케이션에 의해 사용되는지를 특정하는 메타데이터 사이의 맵을 생성하도록 구성될 수도 있다. 애플리케이션들, 센서들 및/또는 무선 장치들이 멀티모드 컴퓨팅 디바이스 (100) 로 추가되고 멀티모드 컴퓨팅 디바이스 (100) 로부터 제거됨에 따라, 활동 관리자 (210) 는 이에 따라 메타데이터 레포지토리 (212) 를 업데이트하도록 구성될 수도 있다. 활동 관리자 (210) 는 애플리케이션들 중 어느 것이 설치되지만 실행 중이 아닌지, 애플리케이션들 중 어느 것이 실행 중이고 활성인지 (예를 들어, 전경 (foreground) 에서 실행 중이고 사용자에게 노출된 애플리케이션), 및/또는 어느 애플리케이션들이 실행 중이지만 활성이 아닌지 (예를 들어, 배경에서 실행 중이고 사용자에게 노출되지 않는 애플리케이션) 를 특정하는 애플리케이션 리스트를 유지하도록 구성될 수도 있다.
활동 관리자 (210) 는 3 개의 전력 설정들, 즉 디폴트 설정, 자동 설정, 및 고객 (custom) 설정 중 하나에 따라 센서들 (122) 각각 및/또는 무선 장치들 (124) 각각의 전력 레벨을 설정하도록 구성될 수도 있다. 디폴트 설정에서, 활동 관리자 (210) 는 센서들 (122) 각각 및/또는 무선 장치들 (124) 각각을 파워 온 (power on) 하도록 구성될 수도 있다. 센서들 (122) 및/또는 무선 장치들 (124) 은 설치되는 특정의 애플리케이션들 또는 설치된 애플리케이션들이 실행 중이고/이거나 활성인지 여부에 관계없이 파워 온될 수도 있다.
자동 설정에서, 활동 관리자 (210) 는 목록에 기초하여 멀티모드 컴퓨팅 디바이스 (100) 상에 존재하는 센서들 (122) 및/또는 무선 장치들 (124) 을 식별하도록 구성될 수도 있다. 활동 관리자 (210) 는 설치된 애플리케이션들에 의해 사용되지 않는 센서들 및/또는 무선 장치들을 턴 오프하도록 구성될 수도 있다. 활동 관리자 (210) 는 현재 실행 중이지 않은 설치된 애플리케이션들 및/또는 실행 중이지만 활성이 아닌 애플리케이션들에 의해 사용되는 센서들 및/또는 무선 장치들을 대기 전력 모드로 천이시키도록 구성될 수도 있다. 대기 전력 모드는 파워 온 모드 보다 상당히 적은 전력을 소비할 수도 있다. 예를 들어, 파워 온 모드는 풀 전력 모드일 수도 있고, 대기 전력 모드는 감소된 전력 모드일 수도 있다. 활동 관리자 (210) 는 설치된 애플리케이션들에 의해 사용되고 현재 실행 중이고 활성인 센서들 및/또는 무선 장치들을 파워 온하도록 구성될 수도 있다.
고객 설정에서, 활동 관리자 (210) 는 목록에 기초하여 멀티모드 컴퓨팅 디바이스 (100) 상에 존재하는 센서들 (122) 및/또는 무선 장치들 (124) 을 식별하도록 구성될 수도 있다. 활동 관리자 (210) 는 사용자 정의된 설정들에 기초하여 센서들 (122) 각각 및/또는 무선 장치들 (124) 각각을 턴 오프, 대기 전력 모드로 천이, 및/또는 파워 온하도록 구성될 수도 있다. 활동 관리자 (210) 는 사용자가 소정의 변경들을 행하는 것을 제한하도록 구성될 수도 있다. 예를 들어, 활동 관리자 (210) 는 사용자가 설치된 애플리케이션에 의해 사용되고, 현재 실행 중이고 활성인 센서 및/또는 무선 장치를 턴 오프하는 것을 방지하도록 구성될 수도 있다.
IT 관리자가 멀티모드 컴퓨팅 디바이스 (100) 를 점유하고 있는 경우, IT 관리자는 멀티모드 컴퓨팅 디바이스 (100) 를 구성 (configure) 할 수도 있다. IT 관리자는 또한 원격으로 멀티모드 컴퓨팅 디바이스 (100) 를 구성할 수도 있다. IT 관리자는 연결 관리자 (202) 를 통해 멀티모드 컴퓨팅 디바이스 (100) 에 원격으로 연결할 수도 있다. 연결 관리자 (202) 는 IT 관리자를 인증하도록 구성될 수도 있다. IT 관리자가 연결 관리자 (202) 를 통해 멀티모드 컴퓨팅 디바이스 (100) 에 원격으로 연결한 경우, IT 관리자는 연결 관리자 (202) 에 여러 네트워크들을 등록할 수도 있다. 사용자는 기업 네트워크 (216) 및 하나 이상의 비기업 네트워크들 (218) 을 통해 통신하기 위해 이들 등록된 네트워크들을 사용할 수도 있다. 기업 네트워크 (216) 는 기업의 사설 네트워크로 지칭될 수도 있다. 기업 네트워크 (216) 는 기업 WI-FI 네트워크 또는 가상 사설 네트워크 ("VPN") 를 통해 액세스가능할 수도 있다. 비기업 네트워크들 (218) 은 사용자와 연관된 개인 네트워크들, 공개적으로 액세스가능한 네트워크들, 및/또는 기업과 연관되지 않은 다른 네트워크들로 지칭될 수도 있다. 공공의 등록된 네트워크들의 일부 예들은 3G/4G 네트워크들 및/또는 공공의 WI-FI 네트워크들을 포함할 수도 있다.
IT 관리자가 연결 관리자 (202) 를 통해 멀티모드 컴퓨팅 디바이스 (100) 에 원격으로 연결한 경우, IT 관리자는 또한 직장 가상 머신에 여러 폴리시들을 할당할 수도 있다. 이하에 더 상세히 기술되는 폴리시들의 일부 예들은 동기화 폴리시, 보안 폴리시, 및 액세스 폴리시를 포함할 수도 있다. 활동 관리자 (210) 는 이들 폴리시들을 시행하도록 구성될 수도 있다.
활동 관리자 (210) 는 홈 가상 머신과 직장 가상 머신 사이의 분리를 관리하도록 구성될 수도 있다. 활동 관리자 (210) 는 기업이 직장 가상 머신에 대한 액세스는 갖지만 홈 가상 머신에 대한 액세스는 갖지 않는다는 것을 지령하도록 구성될 수도 있다. 활동 관리자 (210) 는 기업이 기업 WI-FI 네트워크 또는 VPN 과 같은 소정의 등록된 네트워크들을 통해 직장 가상 머신에 원격으로 액세스할 수 있다고 지령하도록 구성될 수도 있다. 활동 관리자 (210) 는 IT 관리자가 직장 가상 머신을 로크 다운 (lock down) 하는 것을 허용하여 사용자가 직장 가상 머신에 대한 액세스를 갖도록 한다. 로크 다운 동안, IT 관리자는 컴플라이언스 기능들, 감사 (auditing) 기능들, 업그레이드들, 및/또는 직장 가상 머신의 유지보수를 수행하기 위해 활동 관리자 (210) 를 사용할 수도 있다.
활동 관리자 (210) 는 멀티모드 컴퓨팅 디바이스 (100) 의 위치에 기초하여 특정의 네트워크들에 직장 가상 머신 및 홈 가상 머신을 연결하도록 구성될 수도 있다. 예를 들어, 활동 관리자 (210) 는 GPS 수신기를 통해 멀티모드 컴퓨팅 디바이스 (100) 의 위치를 결정하도록 구성될 수도 있다. 멀티모드 컴퓨팅 디바이스의 위치는 사용자가 직장에 있는지 또는 직장에 있지 않은지 여부를 나타낼 수도 있다.
사용자가 직장에 있는 경우, 활동 관리자 (210) 는 연결 관리자 (202) 에 의해 특정된 기업 WI-FI 네트워크가 이용가능한지 여부를 결정하도록 구성될 수도 있다. 기업 WI-FI 네트워크는 기업 네트워크 (216) 에 대한 국부적인 액세스를 제공할 수도 있다. 기업 WI-FI 네트워크가 이용가능한 경우, 활동 관리자 (210) 는 연결 관리자 (202) 를 통해 기업 WI-FI 네트워크에 직장 가상 머신을 연결하도록 구성될 수도 있다. 기업 WI-FI 네트워크가 이용가능하지 않는 경우, 활동 관리자 (210) 는 연결 관리자 (202) 를 통해 3G/4G 네트워크를 사용하여 VPN 에 직장 가상 머신을 연결하도록 구성될 수도 있다. VPN 은 기업 네트워크 (216) 에 대한 원격 액세스를 제공할 수도 있다. 활동 관리자 (210) 는 연결 관리자 (202) 를 통해 공공의 WI-FI 네트워크 또는 3G/4G 네트워크에 홈 가상 머신을 연결하도록 구성될 수도 있다.
사용자가 직장에 있지 않은 경우, 활동 관리자 (210) 는 WI-FI 네트워크가 이용가능한지 여부를 결정하도록 구성될 수도 있다. WI-FI 네트워크가 이용가능한 경우, 활동 관리자 (210) 는 연결 관리자 (202) 를 통해 WI-FI 네트워크를 사용하여 VPN 에 직장 가상 머신을 연결하도록 구성될 수도 있다. WI-FI 네트워크가 이용가능한 경우, 활동 관리자 (210) 는 또한 연결 관리자 (202) 를 통해 WI-FI 네트워크에 홈 가상 머신을 연결하도록 구성될 수도 있다. WI-FI 네트워크가 이용가능하지 않은 경우, 활동 관리자 (210) 는 연결 관리자 (202) 를 통해 3G/4G 네트워크를 사용하여 VPN 에 직장 가상 머신을 연결하도록 구성될 수도 있다. WI-FI 네트워크가 이용가능하지 않은 경우, 활동 관리자 (210) 는 또한 연결 관리자 (202) 를 사용하여 3G/4G 네트워크에 홈 가상 머신을 연결하도록 구성될 수도 있다.
활동 관리자 (210) 는 동기화 폴리시를 시행하도록 구성될 수도 있다. 예시적인 구현에서, 기업 서버는 직장 애플리케이션들 (116) 및/또는 직장 데이터 (118) 를 백업하도록 구성될 수도 있다. 사용자의 개인 컴퓨터는 홈 애플리케이션들 (112) 및/또는 홈 데이터 (114) 를 백업하도록 구성될 수도 있다. 동기화 폴리시는 기업 서버가 직장 애플리케이션들 (116) 및/또는 직장 데이터 (118) 를 백업하는 것을 허용할 수도 있다. 동기화 폴리시는 기업 서버가 홈 애플리케이션들 (112) 및/또는 홈 데이터 (114) 를 백업하는 것을 제한할 수도 있다. 동기화 폴리시는 사용자의 개인 컴퓨터가 홈 애플리케이션들 (112) 및/또는 홈 데이터 (114) 를 백업하는 것을 허용할 수도 있다. 동기화 폴리시는 사용자의 개인 컴퓨터가 직장 애플리케이션들 (116) 및/또는 직장 데이터 (118) 를 백업하는 것을 제한할 수도 있다.
활동 관리자 (210) 는 보안 폴리시를 시행하도록 구성될 수도 있다. 보안 폴리시는 IT 관리자가 직장 가상 머신 상에서 구성 (configuration) 동작들, 백업 동작들, 로드 동작들, 및/또는 언로드 동작들을 수행하는 것을 허용할 수도 있다. 보안 폴리시는 IT 관리자가 홈 가상 머신 상에서 이들 동일한 동작들을 수행하는 것을 제한할 수도 있다.
활동 관리자 (210) 는 멀티모드 컴퓨팅 디바이스 (100) 의 위치 또는 사용자의 과거 거동들에 기초하여 직장 가상 머신 또는 홈 가상 머신을 활성화하도록 구성될 수도 있다. 예를 들어, 활동 관리자 (210) 는 GPS 수신기를 통해 멀티모드 컴퓨팅 디바이스 (100) 의 위치를 결정하도록 구성될 수도 있다. 멀티모드 컴퓨팅 디바이스의 위치는 사용자가 직장에 있는지 또는 직장에 있지 않은지 여부를 나타낼 수도 있다. 사용자가 직장에 있는 경우, 활동 관리자 (210) 는 직장 가상 머신을 활성화하도록 구성될 수도 있다. 사용자가 직장에 있지 않은 경우, 활동 관리자 (210) 는 홈 가상 머신을 활성화하도록 구성될 수도 있다.
활동 관리자 (210) 는 사용자가 초기에 멀티모드 컴퓨팅 디바이스 (100) 를 액세스 (예를 들어, 턴 온) 하는 경우 환영 (welcome) 스크린을 디스플레이하도록 구성될 수도 있다. 환영 스크린은 직장 아이콘 및 홈 아이콘을 포함하는 그래픽 사용자 인터페이스일 수도 있다. 사용자가 멀티모드 컴퓨팅 디바이스 (100) 의 위치에 기초하여 직장에 더 가까운 경우, 직장 아이콘이 홈 아이콘보다 더 크게 나타내어 질 수도 있다. 사용자가 멀티모드 컴퓨팅 디바이스 (100) 의 위치에 기초하여 직장으로부터 더 멀리 떨어져 있는 경우, 홈 아이콘은 직장 아이콘과 동일한 사이즈로서 또는 직장 아이콘보다 더 크게 나타내어질 수도 있다. 사용자가 그래픽 사용자 인터페이스를 통해 직장 아이콘을 선택하는 경우, 활동 관리자 (210) 는 직장 가상 머신을 활성화하도록 구성될 수도 있다. 사용자가 그래픽 사용자 인터페이스를 통해 홈 아이콘을 선택하는 경우, 활동 관리자 (210) 는 홈 가상 머신을 활성화하도록 구성될 수도 있다.
시스템 설정 모듈 (204) 은 사용자가 멀티모드 컴퓨팅 디바이스 (100) 의 여러 시스템 설정들을 변경하는 것을 가능하게 하도록 구성될 수도 있다. 예를 들어, 현재의 시스템 설정들 하에서, 멀티모드 컴퓨팅 디바이스 (100) 내의 마이크로폰은 턴 오프될 수도 있다. 사용자는 마이크로폰을 턴 온하기 위해 시스템 설정 모듈 (204) 을 사용할 수도 있다.
통지 서비스 모듈 (206) 은 사용자, IT 관리자, 및/또는 다른 디바이스들에게 여러 가지 통지들을 제공하도록 구성될 수도 있다. 통지들의 일부 예들은 정보 통지들 (예를 들어, 애플리케이션이 설치되었다, 자이로스코프가 정지되었다 등), 액션가능 통지들 (예를 들어, 애플리케이션이 멈추었고 다른 디바이스로 이전되었다), 또는 인간 개입 통지들 (예를 들어, 갑자기 기능이 멈춘 애플리케이션 - 테크니컬 응답 필요, 갑자기 기능이 멈춘 하드웨어 - 테크니컬 응답 필요 등) 을 포함할 수도 있다. 일부 실시형태에서, 통지 서비스 모듈 (206) 은 멀티모드 컴퓨팅 디바이스 (100) 와 다른 컴퓨팅 디바이스들 사이에서 이전가능한 애플리케이션들을 구현하는데 사용될 수도 있다. 통지 서비스 모듈 (206) 에 대한 추가의 상세들이 도 3 을 참조하여 이하에 제공된다.
공유 서비스 모듈 (208) 은 홈 운영 시스템 (106) 및 직장 운영 시스템 (108) 양자 모두에 의해 공유되는 여러 서비스들을 제공하도록 구성될 수도 있다. 공유 서비스들의 일부 예들은 클록 타임, 백업 서비스들, 또는 배터리 수명을 포함할 수도 있다. 공유 서비스들의 일부 다른 예들은 스크린 레졸류션 또는 스크린 휘도와 같은 글로벌 디바이스 제어들을 포함할 수도 있다.
일부 실시형태들에서, 활동 관리자 (210), 통지 서비스 모듈 (206), 및/또는 공유 서비스 모듈 (208) 은 사용자 및/또는 IT 관리자에 의해 프로그램가능할 수도 있다. 따라서, 활동 관리자 (210), 통지 서비스 모듈 (206) 및/또는 공유 서비스 모듈 (208) 의 초기 구성 후에도, 사용자 및/또는 IT 관리자는 활동 관리자 (210), 통지 서비스 모듈 (206), 및/또는 공유 서비스 모듈 (208) 을 변경하여 새로운 사용 케이스 시나리오들을 수용할 수도 있다.
도 3 은 여기에 제시된 적어도 일부의 실시형태들에 따라 배열된 다수의 컴퓨팅 디바이스들 사이에서 이전가능한 애플리케이션들을 구현하도록 적응된 예시의 기업 클라우드 아키텍쳐 (300) 를 도시하는 기능 블록도이다. 기업 클라우드 아키텍쳐 (300) 는 애플리케이션 테이블 (302), 프로비져닝 서버 (304), 사용자 디바이스 레지스트리 (306), 및 다수의 동기화 서버들 (308) 을 포함할 수도 있다. 동기화 서버들 (308) 의 일부 예들은 스트리밍 애플리케이션 동기화 서버 (310), 설치된 애플리케이션 동기화 서버 (312), 및 하이브리드 애플리케이션 동기화 서버 (314) 를 포함할 수도 있다. 동기화 서버들 (308) 은 네트워크 (318) 를 통해 제 1 컴퓨팅 디바이스 (316A) 및 제 2 컴퓨팅 디바이스 (316B) 에 커플링될 수도 있다. 제 1 컴퓨팅 디바이스 (316A) 및 제 2 컴퓨팅 디바이스 (316B) 는 집합적으로 컴퓨팅 디바이스들 (316) 로서 지칭될 수도 있다. 제 1 컴퓨팅 디바이스 (316A) 및/또는 제 2 컴퓨팅 디바이스 (316B) 는 멀티모드 컴퓨팅 디바이스 (100) 로서 구현될 수도 있다.
사용자는 사용자 디바이스 레지스트리 (306) 를 통해 다수의 컴퓨팅 디바이스들을 등록할 수도 있다. 애플리케이션 테이블 (302) 은 애플리케이션들의 리스트 및 애플리케이션들 각각과 연관된 애플리케이션 속성들을 포함할 수도 있다. 애플리케이션 속성들은 각각의 애플리케이션이 스트리밍 애플리케이션, 설치된 애플리케이션 또는 하이브리드 애플리케이션인지 여부를 특정하는 정보를 포함할 수도 있다. 프로비져닝 서버 (304) 는 사용자 디바이스 레지스트리 (306) 로부터 컴퓨팅 디바이스들의 리스트를 취출하도록 구성될 수도 있다. 프로비져닝 서버 (304) 는 컴퓨팅 디바이스들 각각과 연관된, 메타데이터 레포지토리 (202) 와 같은 메타데이터 레포지토리로부터 메타데이터를 취출하도록 구성될 수도 있다.
프로비져닝 서버 (304) 는 메타데이터에 기초하여 이전가능 애플리케이션들을 식별하도록 구성될 수도 있다. 프로비져닝 서버 (304) 는 애플리케이션 속성들에 기초하여 각각의 이전 가능 애플리케이션이 스트리밍 애플리케이션, 설치된 애플리케이션 또는 하이브리드 애플리케이션인지 여부를 식별하도록 구성될 수도 있다. 이전가능 애플리케이션들을 식별하고 애플리케이션 속성들에 기초하여 애플리케이션의 타입을 식별했을 때, 프로비져닝 서버 (304) 는 이전가능 애플리케이션이 스트리밍 애플리케이션, 설치된 애플리케이션 또는 하이브리드 애플리케이션인지 여부에 따라 각각의 이전가능 애플리케이션에 동기화 서버들 (308) 중 하나를 연관시키도록 구성될 수도 있다.
이전가능 애플리케이션의 애플리케이션 속성들이 이전가능 애플리케이션이 스트리밍 애플리케이션이라는 것을 나타내는 경우, 프로비져닝 서버 (304) 는 스트리밍 애플리케이션에 스트리밍 애플리케이션 동기화 서버 (310) 를 할당하도록 구성될 수도 있다. 스트리밍 애플리케이션은 클라우드에 전체적으로 상주하는 애플리케이션을 지칭할 수도 있다. 예를 들어, 컴퓨팅 디바이스들 (316) 은 원격 서버 컴퓨터를 통해 스트리밍 애플리케이션에 액세스하도록 구성될 수도 있다.
예시적인 구현에서, 사용자는 제 1 컴퓨팅 디바이스 (316A) 상의 스트리밍 애플리케이션에 액세스할 수도 있다. 사용자는 그 후 스트리밍 애플리케이션을 멈출 수도 있다. 활동 관리자 (210) 는 통지 서비스 모듈 (206) 로 스트리밍 애플리케이션이 멈췄다는 통지, 사용자를 식별하는 사용자 식별자, 스트리밍 애플리케이션을 식별하는 애플리케이션 식별자 (예를 들어, 스트리밍 애플리케이션의 이름), 및 멈춤 (pause) 시의 스트리밍 애플리케이션 및 연관 데이터의 상태를 송신할 수도 있다. 통지 서비스 모듈 (206) 은 연결 관리자 (202) 를 통해 스트리밍 애플리케이션이 멈췄다는 통지, 사용자 식별자, 애플리케이션 식별자, 및 스트리밍 애플리케이션의 상태를 스트리밍 애플리케이션 동기화 서버 (310) 로 송신하도록 구성될 수도 있다.
제 2 컴퓨팅 디바이스 (316B) 는 스트리밍 애플리케이션 동기화 서버 (310) 에 사용자 식별자 및 애플리케이션 식별자를 제출하도록 구성될 수도 있다. 스트리밍 애플리케이션 동기화 서버 (310) 에서 사용자 식별자 및 애플리케이션 식별자를 수신했을 때, 스트리밍 애플리케이션 동기화 서버 (310) 는 멈춤 시의 스트리밍 애플리케이션 및 연관 데이터의 상태를 취출하도록 구성될 수도 있다. 스트리밍 애플리케이션 동기화 서버 (310) 는 제 2 컴퓨팅 디바이스 (316B) 로 멈춤 시의 스트리밍 애플리케이션 및 연관 데이터의 상태를 제공하도록 구성될 수도 있다. 제 2 컴퓨팅 디바이스 (316B) 는 멈춤 시의 스트리밍 애플리케이션 및 연관 데이터의 상태에서 스트리밍 애플리케이션을 재개하도록 구성될 수도 있다.
일부 실시형태들에서, 사용자가 스트리밍 애플리케이션을 멈춘 경우, 활동 관리자 (210) 는 사용자에게 컴퓨팅 디바이스들의 드롭-다운 리스트를 갖는 그래픽 사용자 인터페이스를 제공하도록 구성될 수도 있다. 특히, 드롭-다운 리스트는 사용자 디바이스 레지스트리 (306) 에 등록된 컴퓨팅 디바이스들을 포함할 수도 있다. 예를 들어, 드롭-다운 리스트는 제 2 컴퓨팅 디바이스 (316B) 를 선택하기 위한 옵션을 포함할 수도 있다. 사용자가 드롭-다운 리스트를 통해 제 2 컴퓨팅 디바이스 (316B) 를 선택하는 경우, 활동 관리자 (210) 는 스트리밍 애플리케이션이 멈췄고 스트리밍 애플리케이션을 재시동하라는 통지, 스트리밍 애플리케이션을 식별하는 애플리케이션 식별자, 멈춤 시의 스트리밍 애플리케이션 및 연관 데이터의 상태, 및 제 2 컴퓨팅 디바이스 (316B) 를 식별하는 디바이스 식별자를 송신하도록 구성될 수도 있다. 통지 서비스 모듈 (206) 은 연결 관리자 (202) 를 통해 스트리밍 애플리케이션 동기화 서버 (310) 로 스트리밍 애플리케이션이 멈췄고 스트리밍 애플리케이션을 재시동하라는 통지, 애플리케이션 식별자, 멈춤 시의 스트리밍 애플리케이션 및 연관 데이터의 상태, 및 디바이스 식별자를 송신하도록 구성될 수도 있다. 스트리밍 애플리케이션 동기화 서버 (310) 는 제 2 컴퓨팅 디바이스 (316B) 에게 스트리밍 애플리케이션을 재시동하고 멈춤 시의 스트리밍 애플리케이션 및 연관 데이터의 상태에서 스트리밍 애플리케이션을 재개하도록 명령하도록 구성될 수도 있다. 이러한 방식으로, 제 2 컴퓨팅 디바이스 (316B) 는 추가의 사용자 입력 없이 올바른 상태에서 스트리밍 애플리케이션을 자동으로 재시동 및 재개할 수도 있다.
이전가능 애플리케이션의 애플리케이션 속성들이 이전가능 애플리케이션이 설치된 애플리케이션이라고 나타내는 경우, 프로비져닝 서버 (304) 는 설치된 애플리케이션에 설치된 애플리케이션 동기화 서버 (312) 를 할당하도록 구성될 수도 있다. 설치된 애플리케이션은 디바이스 상에 국부적으로 상주하는 애플리케이션을 지칭할 수도 있다. 설치된 애플리케이션들의 일부 예들은 홈 가상 머신에 설치된 홈 애플리케이션들 (112) 및 직장 가상 머신에 설치된 직장 애플리케이션들 (116) 을 포함할 수도 있다.
예시적인 구현예에서, 사용자는 제 1 컴퓨팅 디바이스 (316A) 상의 설치된 애플리케이션에 액세스할 수도 있다. 사용자는 그 후 설치된 애프리케이션을 멈출 수도 있다. 활동 관리자 (210) 는 하나 이상의 파일들에 설치된 애플리케이션 및 연관된 데이터의 상태를 저장하도록 구성될 수도 있다. 예를 들어, 설치된 애플리케이션의 상태는 제어 파일에 저장될 수도 있고, 연관된 데이터의 상태는 데이터 파일에 저장될 수도 있다. 활동 관리자 (210) 는 통지 서비스 모듈 (206) 로, 설치된 애플리케이션이 멈췄다는 통지, 사용자를 식별하는 사용자 식별자, 설치된 애플리케이션을 식별하는 애플리케이션 식별자, 및 파일들을 송신하도록 구성될 수도 있다. 통지 서비스 모듈 (206) 은 설치된 애플리케이션 동기화 서버 (312) 로 설치된 애플리케이션이 멈췄다는 통지, 사용자 식별자, 애플리케이션 식별자, 및 파일들을 송신하도록 구성될 수도 있다.
제 2 컴퓨팅 디바이스 (316B) 는 설치된 애플리케이션 동기화 서버 (312) 로 사용자 식별자 및 애플리케이션 식별자를 제출하도록 구성될 수도 있다. 설치된 애플리케이션 동기화 서버 (312) 가 설치된 애플리케이션 동기화 서버 (312) 로의 사용자 식별자 및 애플리케이션 식별자를 수신하는 경우, 설치된 애플리케이션 동기화 서버 (312) 는 제 2 컴퓨팅 디바이스 (316B) 로 파일들을 송신하도록 구성될 수도 있다. 제 2 컴퓨팅 디바이스 (316B) 는 파일들에 기초하여 멈춤 시의 설치된 애플리케이션 및 관련 데이터의 상태에서 설치된 애플리케이션을 재개하도록 구성될 수도 있다.
이전가능 애플리케이션의 애플리케이션 속성들이 이전가능 애플리케이션이 하이브리 애플리케이션이라고 나타내는 경우, 프로비져닝 서버 (304) 는 하이브리드 애플리케이션에 하이브리드 애플리케이션 동기화 서버 (314) 를 할당하도록 구성될 수도 있다. 하이브리드 애플리케이션은 애플리케이션의 제 1 부분이 클라우드에 상주하고 애플리케이션의 제 2 부분이 디바이스상에 국부적으로 상주하는 애플리케이션을 지칭할 수도 있다. 즉, 하이브리드 애플리케이션은 스트리밍 애플리케이션 및 설치된 애플리케이션의 조합일 수도 있다. 하이브리드 애플리케이션들의 경우, 하이브리드 애플리케이션 동기화 서버 (314) 는 클라우드 내에 상주하는 하이브리드 애플리케이션의 제 1 부분의 이전을 핸들링하기 위해 스트리밍 애플리케이션 동기화 서버 (310) 에 대해 기술된 상기의 프로세스들을 구현하도록 구성될 수도 있다. 하이브리드 애플리케이션 동기화 서버 (314) 는 또한 디바이스 상에 국부적으로 상주하는 하이브리드 애플리케이션의 제 2 부분의 이전을 핸들링하기 위해 설치된 애플리케이션 동기화 서버 (312) 에 대해 기술된 상기의 프로세스들을 구현하도록 구성될 수도 있다.
도 4 는 여기에 제시된 적어도 일부의 실시형태들에 따라 배열된 멀티모드 디바이스를 중재하도록 적응된 예시의 프로세스 (400) 를 도시하는 흐름도이다. 멀티모드 컴퓨팅 디바이스 (100) 와 같은 멀티모드 디바이스는 베이스 하드웨어 상에서 동작하도록 구성된 베어 메탈 하이퍼바이저를 포함할 수도 있다. 프로세서 (400) 는 하나 이상의 블록들 (402 내지 410) 에 의해 예시된 여러 동작들, 기능들, 또는 액션들을 포함할 수도 있다.
프로세서 (400) 는 블록 (402) (직장 가상 머신을 제공) 에서 시작할 수도 있고, 여기서 멀티모드 디바이스는 직장 운영 시스템을 포함하도록 구성될 수도 있다. 직장 운영 시스템은 직장 가상 머신을 형성할 수도 있다. 직장 운영 시스템은 베어 메탈 하이퍼바이저 상에서 실행할 수도 있다. 직장 운영 시스템은 직장 운영 시스템 상에 설치된 직장 애플리케이션들을 실행하도록 적응될 수도 있다. 블록 (402) 은 블록 (404) 이 후속한다.
블록 (404) (홈 가상 머신을 제공) 에서, 멀티모드 디바이스는 홈 운영 시스템을 포함하도록 구성될 수도 있다. 홈 운영 시스템은 홈 가상 머신을 형성할 수도 있다. 홈 가상 머신은 직장 가상 머신으로부터 분리되며 고립될 수도 있다. 홈 운영 시스템은 베어 메탈 하이퍼바이저 상에서 실행할 수도 있다. 홈 운영 시스템은 홈 운영 시스템에 설치된 홈 애플리케이션들을 실행하도록 적응될 수도 있다. 블록 (404) 은 블록 (406) 이 후속한다.
블록 (406) (직장 가상 머신과 홈 가상 머신 사이에 게이트웨이를 제공) 에서, 멀티모드 디바이스는 스마트 중재자 서버를 포함하도록 구성될 수도 있다. 스마트 중재자 서버는 직장 가상 머신과 홈 가상 머신 사이의 게이트 웨이로서 작용하도록 적응될 수도 있다. 스마트 중재자 서버는 직장 가상 머신과 홈 가상 머신 사이에서 여러 폴리시들을 시행하도록 적응될 수도 있다. 폴리시들의 일부 예들은 동기화 폴리시들, 보안 폴리시들, 및 액세스 폴리시들을 포함할 수도 있다. 블록 (406) 은 블록 (408) 이 후속한다.
블록 (408) (폴리시에 따라 직장 애플리케이션들에 대한 액세스를 제공) 에서, 스마트 중재자 서버는 직장 가상 머신으로 지향된 액세스 폴리시를 시행하도록 구성될 수도 있다. 예를 들어, 액세스 폴리시는 기업의 대표자와 같은 비사용자 엔티티가 직장 가상 머신 상의 사적으로 액세스가능한 애플리케이션 스토어로부터 취출된 직장 애플리케이션들을 설치하는 것을 허용할 수도 있다. 액세스 폴리시는 또한 사용자 엔티티가 직장 가상 머신 상의 공개적으로 액세스가능한 애플리케이션 스토어로부터 취출된 홈 애플리케이션들을 설치하는 것을 제한할 수도 있다. 블록 (408) 은 블록 (410) 이 후속한다.
블록 (410) (폴리시에 따라 홈 애플리케이션들에 대한 액세스를 제공) 에서, 스마트 중재자 서버가 홈 가상 머신으로 지향된 액세스 폴리시를 시행하도록 구성될 수도 있다. 예를 들어, 액세스 폴리시는 사용자 엔티티가 홈 가상 머신 상의 공개적으로 액세스가능한 애플리케이션 스토어로부터 취출된 홈 애플리케이션들을 설치하도록 허용할 수도 있다. 액세스 폴리시는 비사용자 엔티티가 홈 가상 머신상의 사적으로 액세스가능한 애플리케이션 스토어로부터 취출된 직장 애플리케이션들을 설치하는 것이 제한할 수도 있다. 블록 (410) 후에, 프로세서 (400) 는 (예를 들어, 주기적으로, 연속적으로, 또는 필요에 따라 요구될 때) 반복하거나 종료할 수도 있다.
도 5 는 여기에 제시된 적어도 일부의 실시형태들에 따라 배열된 예시의 컴퓨팅 시스템을 위한 컴퓨터 하드웨어 아키텍쳐를 도시하는 블록도이다. 도 5 는 프로세서 (510), 메모리 (520), 및 하나 이상의 드라이브들 (530) 을 포함하는 컴퓨터 (500) 를 포함한다. 컴퓨터 (500) 는 종래의 컴퓨터 시스템, 임베딩된 제어 컴퓨터, 랩톱, 또는 서버 컴퓨터, 이동 디바이스, 셋톱 복스, 키오스크, 차량 정보 시스템, 이동 전화, 커스텀화된 머신, 또는 다른 하드웨어 플랫폼으로서 구현될 수도 있다.
드라이브들 (530) 및 그들의 연관된 컴퓨터 저장 매체는 컴퓨터 판독가능 명령들, 데이터 구조들, 프로그램 모듈들, 및 컴퓨터 (500) 를 위한 다른 데이터의 저장을 제공한다. 드라이브들 (530) 은 운영 시스템 (540), 애플리케이션 프로그램들 (550), 프로그램 모듈들 (560), 및 데이터베이스 (580) 를 포함할 수 있다. 프로그램 모듈들 (560) 의 일부 예들은 중재자 운영 시스템 (110) 및 스마트 중재자 서버 (120) 를 포함할 수도 있다. 프로그램 모듈들 (560) 의 일부 다른 예들은 홈 운영 시스템 (106) 및 직장 운영 시스템 (108) 을 포함할 수도 있다. 컴퓨터 (500) 는 또한 사용자가 커맨드들 및 데이터를 입력할 수도 있는 사용자 입력 디바이스들 (950) 을 포함한다. 입력 디바이스들은 전자 디지타이저, 마이크로폰, 키보드 및 통상 마우스로 지칭되는 포인팅 디바이스, 트랙볼 또는 터치 패드를 포함할 수 있다. 다른 입력 디바이스들은 조이스틱, 게임 패드, 위성 디시, 스캐너 등을 포함할 수도 있다.
이들 및 다른 입력 디바이스들은 시스템 버스에 커플링되는 사용자 입력 인터페이스를 통해 프로세서 (510) 에 커플링될 수 있지만, 병렬 포트, 게임 포트 또는 유니버샬 시리얼 버스 ("USB") 와 같은 다른 인터페이스 및 버스 구조들에 의해 커플링될 수도 있다. 컴퓨터 (500) 와 같은 컴퓨터들은 또한 출력 주변 인터페이스 (594) 등을 통해 커플링될 수도 있는 스피커들과 같은 다른 주변 출력 디바이스들을 포함할 수도 있다.
컴퓨터 (500) 는 네트워크 인터페이스 (596) 에 커플링된 원격 컴퓨터와 같은 하나 이상의 컴퓨터들에 대한 논리적 연결들을 사용하여 네크워킹된 환경에서 동작할 수도 있다. 원격 컴퓨터는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 통상의 네트워크 노드일 수도 있지만, 컴퓨터 (500) 에 대해 상술된 엘리먼트들의 다수 또는 전부를 포함할 수 있다. 네트워킹 환경들은 오피스들, 기업-광역 네트워크들 ("WAN"), 로컬 영역 네트워크들 ("LAN"), 인트라넷들 및 인터넷에서 통상적이다.
LAN 또는 WLAN 네트워킹 환경에서 사용되는 경우, 컴퓨터 (500) 는 네트워크 인터페이스 (596) 또는 어댑터를 통해 LAN 에 커플링될 수도 있다. WAN 네트워킹 환경에서 사용되는 경우, 컴퓨터 (500) 는 통상 인터넷 또는 네트워크 (318) 와 같은 WAN 통한 통신들을 확립하기 위한 모뎀 또는 다른 수단을 포함한다. WAN 은 인터넷, 예시된 네트워크 (318), 여러 다른 네트워크들, 또는 이들의 임의의 조합을 포함할 수도 있다. 컴퓨터들 사이의 통신 링크, 링, 메시, 버스, 클라우드, 또는 네트워크를 확립하는 다른 메커니즘들이 사용될 수도 있다는 것이 인정될 것이다.
일부 실시형태들에 따르면, 컴퓨터 (500) 는 네트워킹 환경에 커플링될 수도 있다. 컴퓨터 (500) 는 드라이브들 (530) 과 연관된 물리적 컴퓨터 판독가능 저장 매체 또는 매체들 또는 다른 저장 디바이스들의 하나 이상의 인스턴스들을 포함할 수도 있다. 시스템 버스는 프로세서 (510) 가 컴퓨터 판독가능 저장 매체로/로부터 코드 및/또는 데이터를 판독하는 것을 가능하게 할 수도 있다. 매체는 반도체들, 자기 재료들, 광학 매체, 전기적 기억장치, 전기화학적 기억장치, 또는 임의의 다른 그러한 저장 기술을 포함하지만 이들에 제한되지 않는 임의의 적합한 기술을 사용하여 구현되는 저장 엘리먼트들의 형태의 장치를 나타낼 수도 있다. 매체는 RAN, ROM, 플래시 또는 다른 타입들의 휘발성 또는 비휘발성 메모리 기술을 막론하고 메모리 (520) 와 연관된 컴포넌트들을 나타낼 수도 있다. 매체는 또한 저장 드라이브들 (530) 로서 또는 달리 구현되는 지에 관계 없이 2차 기억장치를 나타낼 수도 있다. 하드 드라이브 구현들은 고체 상태로서 특징지워질 수도 있고, 자기적으로 인코딩된 정보를 저장하는 회전 매체를 포함할 수도 있다.
저장 매체는 하나 이상의 프로그램 모듈들 (560) 을 포함할 수도 있다. 프로그램 모듈들 (560) 은 프로세서 (510) 로 로딩되고 실행될 때 범용 컴퓨팅 시스템을 특수 목적 컴퓨팅 시스템으로 변환하는 소프트웨어 명령들을 포함할 수도 있다. 본 상세한 설명을 통해 상세화된 바와 같이, 프로그램 모듈들 (560) 은 컴퓨터 (500) 가 여기에서 논의된 컴포넌트들, 로직 플로우들, 및/또는 데이터 구조들을 사용하여 전체 시스템들 또는 동작 환경들 내에서 참가할 수도 있는 여러 도구들 또는 기법들을 제공할 수도 있다.
프로세서 (510) 는 임의의 수의 트랜지스터들 또는 다른 회로 소자들로부터 구축될 수도 있으며, 이는 개별적으로 또는 집합적으로 임의의 수의 상태들을 가정할 수도 있다. 구체적으로, 프로세서 (510) 는 상태 머신 또는 유한 상태 머신으로서 동작할 수도 있다. 그러한 머신은 프로그램 모듈들 (560) 에 포함된 실행가능한 명령들을 로딩함으로써 제 2 머신 또는 특수 머신으로 변환될 수도 있다. 이들 컴퓨터 실행가능 명령들은 프로세서 (510) 가 상태들 사이에서 천이하는 방법을 특정함으로써 프로세서 (510) 를 변환하여, 프로세서 (510) 를 구성하는 트랜지스터들 또는 다른 회로 소자들을 제 1 머신으로부터 제 2 머신으로 변환할 수도 있다. 각 머신의 상태들은 또한 하나 이상의 사용자 입력 디바이스들 (590), 네트워크 인터페이스 (596), 다른 주변 장치들, 다른 인터페이스들, 또는 하나 이상의 사용자들 또는 다른 액터들로부터 입력을 수신함으로써 변환될 수도 있다. 양 머신은 또한 프린터들, 스피커들, 비디오 디스플레이들 등과 같은 여러 출력 디바이스들의 상태들 또는 여러 물리적 측징들을 변환할 수도 있다.
프로그램 모듈들 (560) 을 인코딩하는 것은 또한 저장 매체의 물리적 구조를 변환할 수도 있다. 물리적 구조의 특정의 변환은 본 설명의 상이한 구현들에서 여러 팩터들에 의존할 수도 있다. 그러한 팩터들의 예들은 자장 매체가 일차 또는 이차 기억장치 등으로서 특징지워지는지 여부에 관계없이 저장 매체를 구현하는데 사용된 기술을 포함하지만 이것에 제한되지 않는다. 예를 들어, 저장 매체가 반도체 기반 메모리로서 구현되는 경우, 프로그램 모듈들 (560) 은 소프트웨어가 그 안에서 인코딩되는 경우 반도체 메모리 (520) 의 물리적 상태를 변환할 수도 있다. 예를 들어, 소프트웨어가 반도체 메모리 (520) 를 구성하는 트랜지스터들, 커패시터들 또는 다른 이산 회로 소자들을 변환할 수도 있다.
다른 예로서, 저장 매체는 드라이브들 (530) 과 같은 자기 또는 광학 기술을 사용하여 구현될 수도 있다. 그러한 구현들에서, 프로그램 모듈들 (560) 은 소프트웨어가 그 안에서 인코딩되는 경우 자기 또는 광학 매체의 물리적 상태를 변환할 수도 있다. 이들 변환들은 주어진 자기 매체 내의 특정의 위치들의 자기적 측징들을 변경하는 것을 포함할 수도 있다. 이들 변환들은 또한 이들 위치들의 광학 특징들을 변경하기 위해 주어진 광학 매체 내의 특정의 위치들의 물리적 피쳐들 또는 특징들을 변경하는 것을 포함할 수도 있다. 본 설명의 범위 및 사상으로부터 일탈하지 않고 물리적 매체의 여러 다른 변환들이 가능하다는 것이 인정되어야 한다.
도 6 은 여기에 제시된 적어도 일부 실시형태들에 따라 배열된 컴퓨팅 디바이스 상에서 컴퓨터 프로세스를 실행하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품 (600) 을 도시하는 개략도이다. 예시의 컴퓨터 프로그램 제품의 예시적인 실시형태는 신호 베어링 매체 (602) 를 사용하여 제공되며, 604 의 적어도 하나의 명령: 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함하는 직장 가상 머신을 제공하기 위한 하나 이상의 명령들; 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함하는 홈 가상 머신을 제공하기 위한 하나 이상의 명령들; 직장 가상 머신과 홈 가상 머신 사이에 게이트웨이를 제공하기 위한 하나 이상의 명령들; 폴리시에 따라 직장 애플리케이션들에 대한 액세스를 관리하기 위한 하나 이상의 명령들; 폴리시에 따라 홈 애플리케이션들에 대한 액세스를 관리하기 위한 하나 이상의 명령들. 일부 실시형태들에서, 하나 이상의 컴퓨터 프로그램 제품들 (600) 의 신호 베어링 매체 (602) 는 컴퓨터 판독가능 매체 (606), 기록가능한 매체 (608), 및/또는 통신 매체 (610) 를 포함한다.
여기에 기술된 청구물은 컴퓨터 시스템 상의 운영 시스템 및 애플리케이션 프로그램들의 실행과 결합하여 실행하는 프로그램 모듈들의 일반적 정황에서 제시되지만, 본 기술 분야의 통상의 기술자들은 다른 타입들의 프로그램 모듈들과 결합하여 수행될 수도 있다는 것을 인식할 것이다. 일반적으로, 프로그램 모듈들은 특정의 태스크들을 수행하거나 특정의 추상적 데이터 타입들을 구현하는 루틴들, 프로그램들, 컴포넌트들, 데이터 구조들, 및 다른 타입들의 구조들을 포함한다. 또한, 본 기술 분야의 통상의 기술자들은 여기에 기술된 청구물이 소형 디바이스들, 멀티 코어 프로세서 시스템들, 마이크로프로세서 기반 또는 프로그램가능 소비자 전자제품, 마이크로컴퓨터들, 메인프레임 컴퓨터들 등을 포함하여 다른 컴퓨터 시스템 구성들로 실시될 수도 있다는 것을 인정할 것이다.
본 개시는 여러 양태들의 예시들로서 의도된, 본 출원에 기술된 특정의 실시형태들에 의해 제한되지 않아야한다. 본 기술 분야의 통상의 기술자들에게 명백한 바와 같이, 본 개시의 사상 및 범위로부터 일탈하지 않고 많은 변경들 및 변형들이 행해질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 내의 기능적으로 등가인 방법들 및 장치들은 상술한 설명들로부터 본 기술 분야의 통상의 기술자들에게는 명백할 것이다. 그러한 변경들 및 변형들은 첨부된 청구항들의 범위 내에 있도록 의도된다. 본 개시는 첨부된 청구항들이 자격을 부여받는 등가물들의 전체 범위와 함께, 첨부된 청구항들에 의해서만 제한되어야 한다. 본 개시는 물론 변할 수 있는 특정의 방법들, 시약들, 화합물들, 조성물들 또는 생물학적 시스템들에 제한되지 않는다는 것이 이해되어야 한다. 여기에서 사용된 용어는 특정의 실시형태들만을 기술할 목적이며, 제한하는 것으로 의도되지 않는다는 것이 또한 이해되어야 한다.
여기의 실질적으로 임의의 복수의 및/또는 단수의 용어들의 사용에 대하여는, 본 기술 분야의 통상의 기술자들은 콘텍스트 및/또는 애플리케이션에 적절한 대로 복수로부터 단수로 및/또는 단수로부터 복수로 변환할 수 있다. 여러 단수/복수 조합들은 명확성을 위해 여기에 명백히 진술될 수도 있다.
여기에, 및 특히 첨부된 청구항들 (예를 들어, 첨부된 청구항들의 본문들) 에 사용된 용어들은 일반적으로 "개방된" 용어들 (예를 들어, 용어 "포함하는" 은 "포함하지만 제한되지 않는" 으로 해석되어야 하고, 용어 "갖는" 은 "적어도 갖는" 으로서 해석되어야 하며, 용어 "포함한다" 는 "포함하지만 제한되지 않는다" 로서 해석되어야 하는 등이다) 로서 의도된다는 것이 본 기술 분야의 통상의 기술자들에 의해 이해될 것이다. 특정의 수의 도입되는 청구항 기재가 의도되는 경우, 그러한 의도는 청구항에 명백히 기재될 것이고, 그러한 기재가 없으면 그러한 의도가 없다는 것이 또한 본 기술 분야의 통상의 기술자들에게 이해될 것이다. 예를 들어, 이해에 대한 도움으로서, 다음의 첨부된 청구항들은 청구항 인용들을 도입하기 위해 도입적 어구들 "적어도 하나의" 및 "하나 이상의" 의 사용을 포함할 수도 있다. 그러나, 그러한 어구들의 사용은 부정 관사 "a" 또는 "an" 에 의한 청구항 기재의 도입이, 동일한 청구항이 도입적 어구들 "하나 이상의" 또는 "적어도 하나의" 및 "a" 또는 "an" 과 같은 부정 관사들 (예를 들어, "a" 및/또는 "an" 이 "적어도 하나의" 또는 "하나 이상의" 를 의미하는 것으로 해석되어야 한다) 을 포함할지라도, 단지 하나의 그러한 기재를 포함하는 실시형태들에 대한 그러한 도입되는 청구항 기재를 포함하는 임의의 특정의 청구항을 제한한다는 것을 암시하는 것으로 해석되지 않아야 한다; 동일한 것이 청구항 기재들을 도입하기 위해 사용되는 정관사들의 사용에 대해 사실로 유지된다. 또, 특정의 수의 도입되는 청구항 기재가 명시적으로 기재될지라도, 본 기술 분야의 통상의 기술자들은 그러한 기재가 적어도 기재된 수 (예를 들어, 다른 수식어들 없이 "2 개의 기재들" 의 베어 기재는 적어도 2 개의 기재들, 또는 둘 이상의 기재들을 의미한다) 를 의미하도록 해석되어야 한다는 것을 인식할 것이다. 또한, "A, B, 및 C 등 중 적어도 하나" 와 유사한 관례가 사용되는 이들 경우들에서, 일반적으로 그러한 구성은 본 기술 분야의 통상의 기술자들이 그 관례 (예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템" 은 A 를 단독으로, B 를 단독으로, C 를 단독으로, A 및 B 를 함께, A 및 C 를 함께, B 및 C 를 함께, 및/또는 A, B, 및 C 를 함께 갖는 시스템들을 포함하지만 이들에 제한되지 않는 등이다) 를 이해할 것이라는 의미에서 의도된다. "A, B, 및 C 등 중 적어도 하나" 와 유사한 관례가 사용되는 이들 경우들에서, 일반적으로 그러한 구성은 본 기술 분야의 통상의 기술자들이 그 관례 (예를 들어, "A, B, 및 C 중 적어도 하나를 갖는 시스템" 은 A 를 단독으로, B 를 단독으로, C 를 단독으로, A 및 B 를 함께, A 및 C 를 함께, B 및 C 를 함께, 및/또는 A, B, 및 C 를 함께 갖는 시스템들을 포함하지만 이들에 제한되지 않는 등이다) 를 이해할 것이라는 의미에서 의도된다. 상세한 설명에서든, 청구범위에서든, 도면에서든, 실제로 2 개 이상의 대안적인 항들을 제시하는 임의의 선언적인 단어 및/또는 어구는 항들 중 하나, 항들 중 어느 하나, 또는 양자 모두의 항들을 포함하는 가능성들을 고려하는 것으로 이해되어야 한다는 것이 본 기술 분야의 통상의 기술자들에 의해 또한 이해될 것이다. 예를 들어, 어구 "A 또는 B" 는 "A" 또는 "B" 또는 "A 및 B" 의 가능성들을 포함하는 것으로 이해될 것이다.
또, 본 개시의 피쳐들 또는 양태들이 마쿠쉬 그룹들에 의해 기술되는 경우, 본 기술 분야의 통상의 기술자들은 본 개시가 그것에 의해 마쿠쉬 그룹의 임의의 개별적인 멤버 또는 멤버들의 서브그룹에 의해 기술되는 것을 인식할 것이다.
본 기술 분야의 통상의 기술자들에 의해 이해되는 바와 같이, 기록된 설명을 제공하는 것에 의하는 것과 같은 임의의 및 모든 목적들을 위해, 여기에 개시된 모든 범위들은 또한 임의의 및 모든 가능한 서브범위들 및 그 서브 범위들의 조합들을 포함한다. 임의의 리스트된 범위는 적어도 동일한 반절들, 1/3 들, 1/4 들, 1/5 들, 1/10 들 등으로 쪼개지는 동일한 범위를 충분히 기술하고 가능하게 하는 것으로 쉽게 인식될 수 있다. 비제한적인 예로서, 여기에서 논의된 각 범위는 하위 1/3, 중간 1/3 및 상위 1/3 등으로 용이하게 쪼개질 수 있다. 또한, 본 기술 분야의 통상의 기술자들에 의해 이해되는 바와 같이, "~ 까지 (upto)", "적어도", "~보다 큰", "~보다 더 작은" 등과 같은 모든 언어는 기재된 수를 포함하고 상술된 서브 범위들로 후속적으로 쪼개질 수 있는 범위들로 지칭된다. 마지막으로, 본 기술 분야의 통상의 기술자들에 의해 이해되는 바와 같이, 범위는 각각의 개별적인 멤버를 포함한다. 따라서, 예를 들어, 1-3 개의 엘리먼트들을 갖는 그룹은 1 개, 2 개 또는 3 개의 엘리먼트들을 갖는 그룹들을 지칭한다. 유사하게, 1-5 개의 엘리먼트들을 갖는 그룹은 1개, 2 개, 3 개, 4 개 또는 5 개의 엘리먼트들을 갖는 그룹들을 지칭하는 등이다.
여러 양태들 및 실시형태들이 여기에 개시되었지만, 다른 양태들 및 실시형태들이 본 기술 분야의 통상의 기술자들에게 명백할 것이다. 여기에 개시된 여러 양태들 및 실시형태들은 예시의 목적들을 위한 것이고 제한하는 것으로 의도되지 않으며, 다음의 청구항들에 의해 나타내어지는 진정한 범위 및 사상을 갖는다.

Claims (26)

  1. 멀티모드 디바이스로서,
    프로세서 및 상기 프로세서에 커플링된 메모리를 포함하는 베이스 하드웨어;
    상기 베이스 하드웨어 상에서 동작하도록 구성된 하이퍼바이저로서, 상기 하이퍼바이저는 다수의 운영 시스템들 사이에 상기 베이스 하드웨어의 자원들을 할당하도록 된, 상기 하이퍼바이저;
    상기 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함하는 직장 가상 머신으로서, 상기 직장 운영 시스템은 상기 직장 가상 머신에 설치된 직장 애플리케이션들을 실행하도록 된, 상기 직장 가상 머신;
    상기 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함하는 홈 가상 머신으로서, 상기 홈 운영 시스템은 상기 홈 가상 머신에 설치된 홈 애플리케이션들을 실행하도록 된, 상기 홈 가상 머신;
    상기 하이퍼바이저 상에서 동작하도록 구성된 중재자 운영 시스템; 및
    상기 중재자 운영 시스템 상에서 동작하도록 구성된 스마트 중재자 서버를 포함하고,
    상기 스마트 중재자 서버는,
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 게이트웨이를 제공하고,
    폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하며,
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하도록 되고,
    상기 폴리시는 상기 직장 애플리케이션들에 대한 액세스와 상기 홈 애플리케이션들에 대한 액세스 사이에 상이한, 멀티모드 디바이스.
  2. 제 1 항에 있어서,
    상기 폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하기 위해, 상기 스마트 중재자 서버는 또한 비사용자 엔티티가 상기 직장 가상 머신 상에서 상기 직장 애플리케이션들을 설치 및 제거하도록 허용하고, 사용자 엔티티가 상기 직장 가상 머신 상에서 상기 직장 애플리케이션들을 설치 및 제거하는 것을 제한하도록 되고,
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하기 위해, 상기 스마트 중재자 서버는 또한 상기 사용자 엔티티가 상기 홈 가상 머신에서 상기 홈 애플리케이션들을 설치 및 제거하도록 허용하고, 상기 비사용자 엔티티가 상기 홈 가상 머신에서 상기 홈 애플리케이션들을 설치 및 제거하는 것을 제한하도록 된, 멀티모드 디바이스.
  3. 제 2 항에 있어서,
    상기 스마트 중재자 서버는 또한,
    상기 비사용자 엔티티로부터 상기 직장 가상 머신에 원격으로 액세스하기 위한 요청을 수신하고,
    상기 요청에 응답하여 상기 비사용자 엔티티가 상기 직장 가상 머신에 액세스하도록 인가된 것을 인증하며,
    상기 비사용자 엔티티가 인증된 경우, 상기 비사용자 엔티티가 상기 직장 가상 머신에 액세스하도록 허용하고, 상기 비사용자 엔티티가 상기 홈 가상 머신에 액세스하는 것을 제한하도록 된, 멀티모드 디바이스.
  4. 제 2 항에 있어서,
    상기 폴리시는 사적으로 액세스가능한 기업 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 직장 가상 머신에 설치되도록 허용되는 것과, 공개적으로 액세스가능한 소비자 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 직장 가상 머신에 설치되는 것이 제한되는 것을 특정하고,
    상기 폴리시는 상기 공개적으로 액세스가능한 소비자 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 홈 가상 머신에 설치되도록 허용되는 것과, 상기 사적으로 액세스가능한 기업 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 홈 가상 머신에 설치되는 것이 제한되는 것을 특정하는, 멀티모드 디바이스.
  5. 제 4 항에 있어서,
    상기 폴리시는 또한 상기 직장 가상 머신에 설치된 상기 직장 애플리케이션들로부터의 선택된 직장 애플리케이션이 상기 홈 가상 머신에 설치되도록 허용되는 것과, 상기 직장 애플리케이션들로부터의 다른 직장 애플리케이션들이 상기 홈 가상 머신에 설치되는 것이 제한되는 것을 특정하는, 멀티모드 디바이스.
  6. 제 1 항에 있어서,
    상기 폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하기 위해, 상기 스마트 중재자 서버는 또한 상기 직장 가상 머신과 직장 서버 컴퓨터 사이의 데이터 동기화를 허용하고, 상기 홈 가상 머신과 홈 서버 컴퓨터 사이의 데이터 동기화를 제한하도록 되고,
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하기 위해, 상기 스마트 중재자 서버는 또한 상기 홈 가상 머신과 상기 홈 서버 컴퓨터 사이의 데이터 동기화를 허용하고, 상기 직장 가상 머신과 상기 직장 서버 컴퓨터 사이의 데이터 동기화를 제한하도록 된, 멀티모드 디바이스.
  7. 제 1 항에 있어서,
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 상기 게이트웨이를 제공하기 위해, 상기 스마트 중재자 서버는 또한,
    상기 멀티모드 디바이스가 홈 네트워크의 범위 내에 있는지 여부를 검출하고,
    상기 멀티모드 디바이스가 상기 홈 네크워트의 범위 내에 있는 것으로 결정되는 경우, 상기 홈 가상 머신을 활성화하고 상기 홈 네트워크에 연결하며,
    상기 멀티모드 디바이스가 직장 네트워크의 범위 내에 있는지 여부를 검출하고,
    상기 멀티모드 디바이스가 상기 직장 네트워크의 범위 내에 있는 것으로 결정되는 경우, 상기 직장 가상 머신을 활성화하고 상기 직장 네트워크에 연결하도록 된, 멀티모드 디바이스.
  8. 제 1 항에 있어서,
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 상기 게이트웨이를 제공하기 위해, 상기 스마트 중재자 서버는 또한,
    상기 직장 가상 머신 또는 상기 홈 가상 머신의 선택을 요청하도록 적응된 그래픽 사용자 인터페이스를 제공하고,
    상기 그래픽 사용자 인터페이스를 통해, 상기 직장 가상 머신 또는 상기 홈 가상 머신의 선택을 수신하며,
    상기 직장 가상 머신의 선택이 수신되는 경우, 상기 직장 가상 머신을 활성화하고 직장 네트워크에 연결하고,
    상기 홈 가상 머신의 선택이 수신되는 경우, 상기 홈 가상 머신을 활성화하고 홈 네트워크에 연결하도록 된, 멀티모드 디바이스.
  9. 제 1 항에 있어서,
    상기 멀티모드 디바이스는 복수의 디바이스 센서들을 포함하고;
    상기 스마트 중재자 서버는 또한,
    상기 멀티모드 디바이스에 설치된 상기 직장 애플리케이션들 및 상기 홈 애플리케이션들에 의해 사용되지 않는, 상기 복수의 디바이스 센서들로부터의 비사용 디바이스 센서들을 디스에이블하고,
    상기 멀티모드 디바이스에 설치된 상기 직장 애플리케이션들 및 상기 홈 애플리케이션들에 의해 사용되는 것으로 기대되고 현재 사용되지 않는, 상기 복수의 디바이스 센서들로부터의 사용 디바이스 센서들의 제 1 세트를 감소된 전력 모드에서 인에이블하며,
    상기 멀티모드 디바이스에 설치된 상기 직장 애플리케이션들 및 상기 홈 애플리케이션들에 의해 사용되는 것으로 기대되고 현재 사용되는, 상기 복수의 디바이스 센서들로부터의 사용 디바이스 센서들의 제 2 세트를 풀 (full) 전력 모드에서 인에이블하도록 된, 멀티모드 디바이스.
  10. 제 1 항에 있어서,
    상기 스마트 중재자 서버는 또한,
    상기 직장 애플리케이션들 또는 상기 홈 애플리케이션들로부터의 설치된 애플리케이션이 멈춰진다는 표시를 수신하고,
    상기 설치된 애플리케이션이 멈춰졌을 때의 상기 설치된 애플리케이션 및 상기 설치된 애플리케이션과 연관된 데이터의 상태를 파일에 저장하며,
    설치된 애플리케이션 동기화 서버 컴퓨터로 상기 파일을 송신하도록 적응되며,
    상기 설치된 애플리케이션 동기화 서버 컴퓨터는 상기 설치된 애플리케이션을 상기 상태에서 재개하기 위해 다른 디바이스로 상기 파일을 제공하도록 된, 멀티모드 디바이스.
  11. 제 10 항에 있어서,
    상기 스마트 중재자 서버는 또한,
    스트리밍 애플리케이션이 멈춰진다는 제 2 표시를 수신하고,
    스트리밍 애플리케이션 동기화 서버 컴퓨터로 상기 스트리밍 애플리케이션이 멈춰졌을 때의 상기 스트리밍 애플리케이션 및 상기 스트리밍 애플리케이션과 연관된 데이터의 제 2 상태를 송신하도록 적응되며,
    상기 스트리밍 애플리케이션 동기화 서버 컴퓨터는 상기 스트리밍 애플리케이션을 상기 제 2 상태에서 재개하도록 다른 디바이스로 상기 제 2 상태를 제공하도록 된, 멀티모드 디바이스.
  12. 제 1 항에 있어서,
    상기 하이퍼바이저는 베어 메탈 하이퍼바이저를 포함하는, 멀티모드 디바이스.
  13. 베이스 하드웨어 상에서 동작하도록 구성된 베어 메탈 하이퍼바이저를 갖는 멀티모드 디바이스를 중재하기 위한 방법으로서,
    상기 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함하는 직장 가상 머신을 제공하는 것으로서, 상기 직장 운영 시스템은 상기 직장 가상 머신에 설치된 직장 애플리케이션들을 실행하도록 된, 상기 직장 가상 머신을 제공하는 것;
    상기 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함하는 홈 가상 머신을 제공하는 것으로서, 상기 홈 운영 시스템은 상기 홈 가상 머신에 설치된 홈 애플리케이션들을 실행하도록 된, 상기 홈 가상 머신을 제공하는 것;
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 게이트웨이를 제공하는 것;
    폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하는 것; 및
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하는 것으로서, 상기 폴리시는 상기 직장 애플리케이션들에 대한 액세스와 상기 홈 애플리케이션들에 대한 액세스 사이에 상이한, 멀티모드 디바이스를 중재하기 위한 방법.
  14. 제 13 항에 있어서,
    상기 폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하는 것은, 비사용자 엔티티가 상기 직장 가상 머신 상에서 상기 직장 애플리케이션들을 설치 및 제거하도록 허용하고, 사용자 엔티티가 상기 직장 가상 머신 상에서 상기 직장 애플리케이션들을 설치 및 제거하는 것을 제한하는 것을 포함하고,
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하는 것은, 상기 사용자 엔티티가 상기 홈 가상 머신 상에서 상기 홈 애플리케이션들을 설치 및 제거하도록 허용하고, 상기 비사용자 엔티티가 상기 홈 가상 머신 상에서 상기 홈 애플리케이션들을 설치 및 제거하는 것을 제한하는 것을 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  15. 제 14 항에 있어서,
    상기 비사용자 엔티티로부터 상기 직장 가상 머신에 원격으로 액세스하기 위한 요청을 수신하는 것;
    상기 요청에 응답하여 상기 비사용자 엔티티가 상기 직장 가상 머신에 액세스하도록 인가된 것을 인증하는 것; 및
    상기 비사용자 엔티티를 인증하는 것에 응답하여, 상기 비사용자 엔티티가 상기 직장 가상 머신에 액세스하도록 허용하고, 상기 비사용자 엔티티가 상기 홈 가상 머신에 액세스하는 것을 제한하는 것을 더 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  16. 제 14 항에 있어서,
    상기 폴리시는 사적으로 액세스가능한 기업 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 직장 가상 머신에 설치되도록 허용되는 것과, 공개적으로 액세스가능한 소비자 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 직장 가상 머신에 설치되는 것이 제한되는 것을 특정하고,
    상기 폴리시는 상기 공개적으로 액세스가능한 소비자 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 홈 가상 머신에 설치되도록 허용되는 것과, 상기 사적으로 액세스가능한 기업 애플리케이션 스토어로부터 취출된 하나 이상의 애플리케이션들이 상기 홈 가상 머신에 설치되는 것이 제한되는 것을 특정하는, 멀티모드 디바이스를 중재하기 위한 방법.
  17. 제 16 항에 있어서,
    상기 폴리시는 또한 상기 직장 가상 머신에 설치된 상기 직장 애플리케이션들로부터의 선택된 직장 애플리케이션이 상기 홈 가상 머신에 설치되도록 허용되는 것과, 상기 직장 애플리케이션들로부터의 다른 직장 애플리케이션들이 상기 홈 가상 머신에 설치되는 것이 제한되는 것을 특정하는, 멀티모드 디바이스를 중재하기 위한 방법.
  18. 제 13 항에 있어서,
    상기 폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하는 것은, 상기 직장 가상 머신과 직장 서버 컴퓨터 사이의 데이터 동기화를 허용하고, 상기 홈 가상 머신과 홈 서버 컴퓨터 사이의 데이터 동기화를 제한하는 것을 포함하고,
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하는 것은, 상기 홈 가상 머신과 상기 홈 서버 컴퓨터 사이의 데이터 동기화를 허용하고, 상기 직장 가상 머신과 상기 직장 서버 컴퓨터 사이의 데이터 동기화를 제한하는 것을 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  19. 제 13 항에 있어서,
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 상기 게이트웨이를 제공하는 것은,
    상기 멀티모드 디바이스가 홈 네트워크의 범위 내에 있는지 여부를 검출하는 것;
    상기 멀티모드 디바이스가 상기 홈 네크워트의 범위 내에 있는 것을 검출하는 것에 응답하여, 상기 홈 가상 머신을 활성화하고 상기 멀티모드 디바이스를 상기 홈 네트워크에 연결하는 것;
    상기 멀티모드 디바이스가 직장 네트워크의 범위 내에 있는지 여부를 검출하는 것; 및
    상기 멀티모드 디바이스가 상기 직장 네트워크의 범위 내에 있는 것을 검출하는 것에 응답하여, 상기 직장 가상 머신을 활성화하고 상기 멀티모드 디바이스를 상기 직장 네트워크에 연결하는 것을 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  20. 제 13 항에 있어서,
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 상기 게이트웨이를 제공하는 것은,
    상기 멀티모드 디바이스를 통해, 상기 직장 가상 머신 또는 상기 홈 가상 머신의 선택을 요청하도록 적응된 그래픽 사용자 인터페이스를 제공하는 것;
    상기 그래픽 사용자 인터페이스를 통해, 상기 직장 가상 머신 또는 상기 홈 가상 머신의 선택을 수신하는 것;
    상기 직장 가상 머신의 선택을 수신하는 것에 응답하여, 상기 직장 가상 머신을 활성화하고 상기 멀티모드 디바이스를 직장 네트워크에 연결하는 것; 및
    상기 홈 가상 머신의 선택을 수신하는 것에 응답하여, 상기 홈 가상 머신을 활성화하고 상기 멀티모드 디바이스를 홈 네트워크에 연결하는 것을 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  21. 제 13 항에 있어서,
    상기 멀티모드 디바이스에 설치된 상기 직장 애플리케이션들 및 상기 홈 애플리케이션들에 의해 사용되지 않는, 상기 멀티모드 디바이스에서의 비사용 디바이스 센서들을 디스에이블하는 것;
    상기 멀티모드 디바이스에 설치된 상기 직장 애플리케이션들 및 상기 홈 애플리케이션들에 의해 사용되는 것으로 기대되고 현재 사용되지 않는 사용 디바이스 센서들의 제 1 세트를 감소된 전력 모드에서 인에이블하는 것; 및
    상기 멀티모드 디바이스에 설치된 상기 직장 애플리케이션들 및 상기 홈 애플리케이션들에 의해 사용되는 것으로 기대되고 현재 사용되는 사용 디바이스 센서들의 제 2 세트를 풀 (full) 전력 모드에서 인에이블하는 것을 더 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  22. 제 13 항에 있어서,
    상기 직장 애플리케이션들 또는 상기 홈 애플리케이션들로부터의 설치된 애플리케이션이 멈춰진다는 표시를 수신하는 것;
    상기 설치된 애플리케이션이 멈춰졌을 때의 상기 설치된 애플리케이션 및 상기 설치된 애플리케이션과 연관된 데이터의 상태를 파일에 저장하는 것; 및
    설치된 애플리케이션 동기화 서버 컴퓨터로 상기 파일을 송신하는 것을 더 포함하고,
    상기 설치된 애플리케이션 동기화 서버 컴퓨터는 상기 설치된 애플리케이션을 상기 상태에서 재개하기 위해 다른 디바이스로 상기 파일을 제공하도록 된, 멀티모드 디바이스를 중재하기 위한 방법.
  23. 제 22 항에 있어서,
    스트리밍 애플리케이션이 멈춰진다는 제 2 표시를 수신하는 것; 및
    스트리밍 애플리케이션 동기화 서버 컴퓨터로 상기 스트리밍 애플리케이션이 멈춰졌을 때의 상기 스트리밍 애플리케이션 및 상기 스트리밍 애플리케이션과 연관된 데이터의 제 2 상태를 송신하는 것을 더 포함하고,
    상기 스트리밍 애플리케이션 동기화 서버 컴퓨터는 상기 스트리밍 애플리케이션을 상기 제 2 상태에서 재개하도록 다른 디바이스로 상기 제 2 상태를 제공하도록 된, 멀티모드 디바이스를 중재하기 위한 방법.
  24. 제 13 항에 있어서,
    상기 멀티모드 디바이스는 태블릿 컴퓨터를 포함하는, 멀티모드 디바이스를 중재하기 위한 방법.
  25. 태블릿 컴퓨터로서,
    프로세서 및 상기 프로세서에 커플링된 메모리를 포함하는 베이스 하드웨어;
    상기 베이스 하드웨어 상에서 동작하도록 구성된 베어 메탈 하이퍼바이저로서, 상기 베어 메탈 하이퍼바이저는 다수의 운영 시스템들 사이에 상기 베이스 하드웨어의 자원들을 할당하도록 된, 상기 베어 메탈 하이퍼바이저;
    상기 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 직장 운영 시스템을 포함하는 직장 가상 머신으로서, 상기 직장 운영 시스템은 상기 직장 가상 머신에 설치된 직장 애플리케이션들 및 공유 애플리케이션들을 실행하도록 된, 상기 직장 가상 머신;
    상기 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 홈 운영 시스템을 포함하는 홈 가상 머신으로서, 상기 홈 운영 시스템은 상기 홈 가상 머신에 설치된 홈 애플리케이션들 및 공유 애플리케이션들을 실행하도록 된, 상기 홈 가상 머신;
    상기 베어 메탈 하이퍼바이저 상에서 동작하도록 구성된 중재자 운영 시스템; 및
    상기 중재자 운영 시스템 상에서 동작하도록 구성된 스마트 중재자 서버를 포함하고,
    상기 스마트 중재자 서버는,
    상기 직장 가상 머신과 상기 홈 가상 머신 사이에 게이트웨이를 제공하고,
    폴리시에 따라 상기 직장 애플리케이션들에 대한 액세스를 관리하며,
    상기 폴리시에 따라 상기 홈 애플리케이션들에 대한 액세스를 관리하도록 되고,
    상기 폴리시는 상기 직장 애플리케이션들에 대한 액세스와 상기 홈 애플리케이션들에 대한 액세스 사이에 상이한, 태블릿 컴퓨터.
  26. 제 25 항에 있어서,
    상기 직장 애플리케이션들은, 상기 폴리시에서 특정되지 않는 한, 상기 홈 가상 머신에 설치되는 것이 제한되고;
    상기 홈 애플리케이션들은 상기 직장 가상 머신에 설치되는 것이 제한되며;
    상기 공유 애플리케이션들은 상기 홈 가상 머신과 상기 직장 가상 머신 사이에 공유되는, 태블릿 컴퓨터.
KR1020137034765A 2011-08-15 2011-08-15 멀티모드 컴퓨팅 디바이스 KR101672227B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/047756 WO2013025196A1 (en) 2011-08-15 2011-08-15 Multimodal computing device

Publications (2)

Publication Number Publication Date
KR20140021042A true KR20140021042A (ko) 2014-02-19
KR101672227B1 KR101672227B1 (ko) 2016-11-03

Family

ID=47715327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137034765A KR101672227B1 (ko) 2011-08-15 2011-08-15 멀티모드 컴퓨팅 디바이스

Country Status (4)

Country Link
US (1) US8813175B2 (ko)
JP (1) JP5718525B2 (ko)
KR (1) KR101672227B1 (ko)
WO (1) WO2013025196A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170029001A (ko) * 2014-07-11 2017-03-14 피씨엠에스 홀딩스, 인크. 가상화에 근거한 보안 디바이스를 위한 시스템 및 방법
US9866890B2 (en) 2015-11-10 2018-01-09 Hyundai Motor Company Method and apparatus for providing linking service between vehicle AVN system and smartphone based on virtualization framework

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2237200A1 (en) * 2009-04-01 2010-10-06 Alcatel Lucent Method for filtering the streaming of virtual environment content assets, a related system, network element and a related virtual environment content asset
US8966004B2 (en) * 2011-09-29 2015-02-24 Comcast Cable Communications, LLC. Multiple virtual machines in a mobile virtualization platform
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US9271110B1 (en) 2012-07-09 2016-02-23 Sprint Communications Company L.P. Location awareness session management and cross application session management
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9130932B2 (en) * 2012-08-13 2015-09-08 Cellco Partnership Hybrid network application architecture
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US10728322B2 (en) 2013-01-31 2020-07-28 Micro Focus Llc Determining transferability of a computing resource to a cloud computing environment
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9374363B1 (en) * 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US20140366080A1 (en) * 2013-06-05 2014-12-11 Citrix Systems, Inc. Systems and methods for enabling an application management service to remotely access enterprise application store
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US9786997B2 (en) 2013-08-01 2017-10-10 Centurylink Intellectual Property Llc Wireless access point in pedestal or hand hole
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US10154325B2 (en) 2014-02-12 2018-12-11 Centurylink Intellectual Property Llc Point-to-point fiber insertion
US9780433B2 (en) 2013-09-06 2017-10-03 Centurylink Intellectual Property Llc Wireless distribution using cabinets, pedestals, and hand holes
US10276921B2 (en) 2013-09-06 2019-04-30 Centurylink Intellectual Property Llc Radiating closures
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
US9853863B1 (en) * 2014-10-08 2017-12-26 Servicenow, Inc. Collision detection using state management of configuration items
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
CN107430563B (zh) 2015-04-18 2021-10-29 英特尔公司 多模态接口
US9992204B2 (en) * 2015-05-06 2018-06-05 International Business Machines Corporation Virtual machine access control in mobile computing device based on positional range from beacon signal
EP3113092B1 (en) * 2015-07-03 2021-12-01 Huawei Technologies Co., Ltd. Method and apparatus for managing virtual execution environments using contextual information fragments
US10375172B2 (en) * 2015-07-23 2019-08-06 Centurylink Intellectual Property Llc Customer based internet of things (IOT)—transparent privacy functionality
US10623162B2 (en) 2015-07-23 2020-04-14 Centurylink Intellectual Property Llc Customer based internet of things (IoT)
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10412064B2 (en) 2016-01-11 2019-09-10 Centurylink Intellectual Property Llc System and method for implementing secure communications for internet of things (IOT) devices
US10832665B2 (en) 2016-05-27 2020-11-10 Centurylink Intellectual Property Llc Internet of things (IoT) human interface apparatus, system, and method
US10249103B2 (en) 2016-08-02 2019-04-02 Centurylink Intellectual Property Llc System and method for implementing added services for OBD2 smart vehicle connection
US10110272B2 (en) 2016-08-24 2018-10-23 Centurylink Intellectual Property Llc Wearable gesture control device and method
US10097472B2 (en) 2016-09-14 2018-10-09 At&T Intellectual Property I, L.P. Method and system for dynamically distributing and controlling a virtual gateway
US10687377B2 (en) 2016-09-20 2020-06-16 Centurylink Intellectual Property Llc Universal wireless station for multiple simultaneous wireless services
US10426358B2 (en) 2016-12-20 2019-10-01 Centurylink Intellectual Property Llc Internet of things (IoT) personal tracking apparatus, system, and method
US10150471B2 (en) 2016-12-23 2018-12-11 Centurylink Intellectual Property Llc Smart vehicle apparatus, system, and method
US10222773B2 (en) 2016-12-23 2019-03-05 Centurylink Intellectual Property Llc System, apparatus, and method for implementing one or more internet of things (IoT) capable devices embedded within a roadway structure for performing various tasks
US10735220B2 (en) 2016-12-23 2020-08-04 Centurylink Intellectual Property Llc Shared devices with private and public instances
US10637683B2 (en) 2016-12-23 2020-04-28 Centurylink Intellectual Property Llc Smart city apparatus, system, and method
US10193981B2 (en) 2016-12-23 2019-01-29 Centurylink Intellectual Property Llc Internet of things (IoT) self-organizing network
US10146024B2 (en) 2017-01-10 2018-12-04 Centurylink Intellectual Property Llc Apical conduit method and system
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US10992593B2 (en) * 2017-10-06 2021-04-27 Bank Of America Corporation Persistent integration platform for multi-channel resource transfers
EP3651052A1 (en) * 2018-11-09 2020-05-13 Klaus Drosch Secure use of dual networks
US11295745B1 (en) * 2019-09-04 2022-04-05 Amazon Technologies, Inc. Multi-tasking and skills processing
WO2021096399A1 (en) * 2019-11-12 2021-05-20 Klaus Drosch Secure system virtual machines
US11537705B2 (en) * 2020-10-27 2022-12-27 Dell Products L.P. Device access control system
US11829493B2 (en) * 2020-10-27 2023-11-28 Dell Products L.P. Device access control system
US20230065950A1 (en) * 2021-08-31 2023-03-02 Dell Products L.P. System and Method for Secure Application Domain on Bare Metal Information Handling System

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155125A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Method, computer program product, and apparatus for automatically adapting hardware and software preferences based on a network connection
US20080201414A1 (en) * 2007-02-15 2008-08-21 Amir Husain Syed M Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer
US20090325562A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Hypervisor for managing a device having distinct virtual portions
US20100115315A1 (en) * 2008-11-04 2010-05-06 Lenovo (Singapore) Pte. Ltd. Establishing power save mode in hypervisor system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007228098A (ja) * 2006-02-21 2007-09-06 Canon Inc ネットワーク機能プロキシ
US7788665B2 (en) * 2006-02-28 2010-08-31 Microsoft Corporation Migrating a virtual machine that owns a resource such as a hardware device
US20070266409A1 (en) * 2006-05-15 2007-11-15 Ming-Tso Hsu Data transmission system and method of transmitting a digital signal from a trigger device to a shifter device without any loss of data
JP2009093601A (ja) * 2007-10-05 2009-04-30 Jig.Jp Co Ltd バーチャルマシン
JP5223596B2 (ja) * 2008-10-30 2013-06-26 富士通株式会社 仮想計算機システム及びその管理方法、管理プログラム並びに記録媒体、制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155125A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Method, computer program product, and apparatus for automatically adapting hardware and software preferences based on a network connection
US20080201414A1 (en) * 2007-02-15 2008-08-21 Amir Husain Syed M Transferring a Virtual Machine from a Remote Server Computer for Local Execution by a Client Computer
US20090325562A1 (en) * 2008-06-25 2009-12-31 Microsoft Corporation Hypervisor for managing a device having distinct virtual portions
US20100115315A1 (en) * 2008-11-04 2010-05-06 Lenovo (Singapore) Pte. Ltd. Establishing power save mode in hypervisor system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170029001A (ko) * 2014-07-11 2017-03-14 피씨엠에스 홀딩스, 인크. 가상화에 근거한 보안 디바이스를 위한 시스템 및 방법
US9866890B2 (en) 2015-11-10 2018-01-09 Hyundai Motor Company Method and apparatus for providing linking service between vehicle AVN system and smartphone based on virtualization framework

Also Published As

Publication number Publication date
JP5718525B2 (ja) 2015-05-13
WO2013025196A1 (en) 2013-02-21
JP2014527662A (ja) 2014-10-16
US20130074067A1 (en) 2013-03-21
US8813175B2 (en) 2014-08-19
KR101672227B1 (ko) 2016-11-03

Similar Documents

Publication Publication Date Title
KR101672227B1 (ko) 멀티모드 컴퓨팅 디바이스
US9622068B2 (en) System, method and computer program product for connecting roaming mobile devices to a virtual device platform
US9380456B1 (en) System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
CN106471791B (zh) 用于基于移动设备的集群计算架构的方法和装置
CN106664321B (zh) 基于放置策略的计算资源分配
KR101530104B1 (ko) 모바일 장치를 통한 다중-os(운영 체제) 부팅
US9378467B1 (en) User interaction pattern extraction for device personalization
US10515056B2 (en) API for resource discovery and utilization
US9060196B2 (en) Constrained execution of background application code on mobile devices
US20150100890A1 (en) User interface management method and system
US20140195927A1 (en) Multi-Persona Devices and Management
US10095527B2 (en) Method for managing device and electronic device supporting the same
US10725818B2 (en) Agent-based configuration co-management to selectively migrate workloads
US11962599B2 (en) Techniques for automatically configuring minimal cloud service access rights for container applications
US20170364713A1 (en) Computing systems and methods
US10481756B2 (en) Controlling application access to applications and resources via graphical representation and manipulation
CN108205619B (zh) 一种基于安卓系统的多用户管理方法及其装置
US10908948B2 (en) Multiple application instances in operating systems that utilize a single process for application execution
US11861577B2 (en) System and method for distributed enforcement of configuration limitations
US11301285B1 (en) Methods and systems for seamless virtual machine changing for software applications
US20130185448A1 (en) Systems and Methods for Managing Emulation Sessions
US9535753B2 (en) Context and optimization framework
WO2023202406A1 (zh) 显示方法及电子设备
US11698755B1 (en) Physical hardware controller for provisioning dynamic storage services on processing devices
US20240028335A1 (en) Application state synchronization across computing environments to an alternate application

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right