KR101516903B1 - 운영 체제 환경 간의 웹 데이터 전달 - Google Patents

운영 체제 환경 간의 웹 데이터 전달 Download PDF

Info

Publication number
KR101516903B1
KR101516903B1 KR1020137017438A KR20137017438A KR101516903B1 KR 101516903 B1 KR101516903 B1 KR 101516903B1 KR 1020137017438 A KR1020137017438 A KR 1020137017438A KR 20137017438 A KR20137017438 A KR 20137017438A KR 101516903 B1 KR101516903 B1 KR 101516903B1
Authority
KR
South Korea
Prior art keywords
environment
web
electronic device
operating system
web session
Prior art date
Application number
KR1020137017438A
Other languages
English (en)
Other versions
KR20130101571A (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 KR20130101571A publication Critical patent/KR20130101571A/ko
Application granted granted Critical
Publication of KR101516903B1 publication Critical patent/KR101516903B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

멀티-환경 운영 체제(OS)를 갖는 전자 디바이스(100, 200, 및 300)가 개시된다. 전자 디바이스(100, 200, 300)는 제2 OS 환경에서의 웹 세션 및/또는 브라우저 구성에 기반하여 제1 OS 환경(110, 115, 330, 335)에서 웹 세션을 생성하고/하거나 브라우저 구성을 업데이트한다. 1차 OS 환경이 제2 OS 환경(110, 115, 330, 335)으로부터 제1 OS 환경(110, 115, 330, 335)으로 트랜지션될 때 웹 세션이 생성되고/되거나 브라우저 구성이 업데이트된다. 이러한 트랜지션은 디바이스(100, 200, 300)가 도킹 모드로부터 모바일 모드로 또는 모바일 모드로부터 도킹 모드로 트랜지션될 때 일어날 수 있다.

Description

운영 체제 환경 간의 웹 데이터 전달{TRANSFERRING WEB DATA BETWEEN OPERATING SYSTEM ENVIRONMENTS}
본 발명은 일반적으로 운영 체제에 관한 것으로서, 더 구체적으로는 다수의 환경을 포함하는 운영 체제에 관한 것이다.
리눅스(Linux™) 및 윈도우(Windows™)와 같은 범용 운영 체제는 파일 시스템, 디바이스 드라이버, 애플리케이션, 라이브러리 등과 같은 확장 기능 세트를 갖는다. 비록 범용 운영 체제들은 데스크톱 컴퓨터와 같은 일반적인 고정형(stationary) 컴퓨팅 디바이스에 적합한 운영 체제일 수 있지만, 휴대폰, 스마트폰, 및 태블릿 컴퓨터와 같은 모바일 디바이스에 적합한 운영 체제가 아닐 수 있다. 실시간 성능을 포함하는 임베디드 또는 실시간 운영 체제의 특징들을 갖는 운영 체제들이 모바일 디바이스에 더 적합할 수 있다. 모바일 디바이스의 컴퓨팅 전력이 증가할수록 모바일 디바이스들은 모바일 환경에서 스탠드얼론(standalone) 디바이스들로서 사용될 수 있을 뿐만 아니라, 상대적 고정 환경(relatively stationary environment)에서 컴퓨터, 모니터, 및 프로젝터 등과 같은 주변 디바이스들과 함께 사용될 수 있다. 모바일 디바이스들이 모바일 환경으로부터 고정 환경(stationary environments)으로 또는 그 반대로 트랜지션(transition)되는 경우, 모바일 디바이스들의 운영 체제들은 모바일 운영 체제 환경으로부터 범용 운영 체제 환경으로 또는 그 반대로 트랜지션될 수 있다.
모바일 환경 및 고정 환경 모두에서, 모바일 디바이스는 유무선 연결을 사용하여 인터넷 또는 사설 인트라넷에 연결하는 능력과 같은 네트워크 연결성을 가질 수 있다. 인터넷에 연결되어 있는 동안, 모바일 디바이스의 사용자는 URL(uniform resource locator)을 사용하여 네트워크를 통해 액세스되었던 오픈 웹 사이트, 웹 페이지, 웹 애플리케이션, 또는 그 밖의 다른 정보로 구성되는 웹 세션을 생성할 수 있다. 모바일 디바이스의 사용자는 환경을 변경할 때 웹 세션을 오픈 상태로 유지하거나, 웹 세션을 쉽게 재생성하고 싶을 수 있다. 일례로서, 사용자는 무선 홈 네트워크를 통해 가정에 있는 모바일 디바이스에서 웹 페이지를 볼 수 있다. 무선 홈 네트워크에 연결되어 있는 동안, 모바일 디바이스는 범용 환경에서 동작한다. 일하러 가거나 심부름을 가는 것처럼 사용자가 집을 떠나야 하면, 그 사용자는 웹 페이지를 오픈 상태로 유지하거나, 웹 페이지를 쉽게 다시 오픈하고 싶을 것이다.
집을 떠날 때 모바일 디바이스는 범용 동작 환경으로부터 모바일 동작 환경으로 트랜지션될 수 있다. 웹 페이지를 다시 오픈하기 위해, 사용자는 여전히 범용 환경에 있으면서 어드레스 바에 있는 웹 페이지와 관련된 URL을 복사해야 한다. 모바일 디바이스가 범용 환경으로부터 모바일 환경으로 트랜지션된 후, 사용자는 모바일 환경에서 브라우저를 오픈하고, 모바일 환경에 있는 브라우저의 어드레스 바에 URL을 붙여 넣는다. 복사 및 붙여 넣기 기능들은 모바일 디바이스들을 사용하는 경우 어렵고 시간 소모적일 수 있다. 복사 및 붙여 넣기 기능은 다수의 웹 사이트 또는 웹 페이지가 다수의 탭 또는 다수의 브라우저 윈도우에서 오픈되어 있으면 더 문제가 된다. 또한, 사용자가 이메일 계정과 같은 웹 기반 애플리케이션을 실행하면, 사용자는 자신이 봤던 이메일에 다시 액세스하기 위한 쉬운 방식을 갖지 못한다. 대신, 사용자는 다시 로그인해서 자신이 보던 이메일을 다시 오픈해야 한다.
추가적으로, 사용자가 웹 사이트를 내비게이팅하고/하거나, 웹 브라우저를 사용하여 웹 페이지에서 정보를 입력하는 동안, 웹 브라우저의 구성이 변경될 수 있다. 예를 들어, 사용자의 브라우저 이력이 변경되거나, 사용자가 새로운 패스워드를 입력했을 수 있다. 하나의 환경으로부터 다른 환경으로 트랜지션되는 경우, 다른 환경에서 오픈된 웹 브라우저는 제1 환경에서 행해졌던 구성 변화를 전혀 알지 못한다. 사용자는 다른 환경에서 브라우저로 구성 정보를 입력해야 할 수 있다.
도 1은 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 하나의 운영 체제 환경에서 다른 환경으로 전달하고 다른 운영 체제 환경에서 웹 세션을 생성하고/하거나 웹 브라우저의 구성을 업데이트하는데 사용되는 2개의 운영 체제 환경의 예시적인 컴포넌트들을 개략적 형태로 표현하는 블록도이다.
도 2는 도 1의 컴포넌트를 사용할 수 있는 모바일 디바이스의 예시적인 사시도를 예시한다.
도 3은 다수의 환경을 갖는 예시적인 운영 체제를 포함하는 도 2의 모바일 디바이스의 예시적인 컴포넌트들을 개략적인 형태로 표현한 블록도이다.
도 4는 도 3의 예시적인 운영 체제를 개략적인 형태로 더 상세히 표현한 블록도로서, 도 1에 도시된 컴포넌트들을 포함한다.
도 5는 1차(primary) 운영 체제가 제2 운영 체제 환경으로부터 제1 운영 체제 환경으로 트랜지션되는 경우 제2 운영 체제 환경에서의 웹 세션 및/또는 웹 브라우저 구성에 기반하여 제1 운영 체제 환경에서 웹 세션을 생성하고/하거나 웹 브라우저의 구성을 업데이트하는 예시적인 방법을 예시한다.
본 발명은 1차 운영 체제(OS) 환경이 제2 OS 환경으로부터 제1 OS 환경으로 트랜지션 또는 변경되는 경우 제2 OS 환경에서의 웹 세션에 기반하여 제1 OS 환경에서 웹 세션을 생성하는 것을 설명한다. 본 발명은 1차 OS 환경이 제2 OS 환경으로부터 제1 OS 환경으로 트랜지션 또는 변경되는 경우 제2 OS 환경에서의 웹 브라우저 구성에 기반하여 제1 OS 환경에서 웹 브라우저 구성을 업데이트하는 것을 설명한다. 제1 OS 환경 및 제2 OS 환경은 전자 디바이스의 OS에서의 단일 커널에서 동시에 실행될 수도 있다. 전자 디바이스는 OS를 개시하도록 구성된 실행 명령들(executable instructions)을 갖는 메모리에 결합된 프로세서를 포함할 수 있다.
도 1은 제1 OS 환경(110) 및 제2 OS 환경(115)을 갖는 전자 디바이스(100)의 운영 체제(105)를 예시하며, 운영 체제의 1차 OS 환경이 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로 트랜지션 또는 변경될 때, 제1 OS 환경(110)에서 웹 세션을 생성하고/하거나 웹 브라우저 구성을 업데이트하는데 사용되는 제1 OS 환경(110) 및 제2 OS 환경(115)의 컴포넌트들을 포함한다. 운영 체제(105)의 예시적인 실시예에서, OS 환경들(110, 115) 중 하나가 모바일 디바이스(예를 들어, 휴대폰, 스마트폰, 태블릿 컴퓨터)에서의 모바일 컴퓨팅을 위한 임베디드 OS 환경이며, OS 환경들 중 나머지 하나는 모바일 디바이스와 함께 및/또는 데스크톱 컴퓨터 또는 랩톱 컴퓨터와 같은 일반적으로 고정형 전자 디바이스들과 함께 사용하지 않으려는 범용 컴퓨터 OS 환경이다. 범용 OS 환경은 웹톱(webtop) 환경일 수 있다. 그 밖의 다른 OS 환경이 사용될 수 있다. 또한, OS 환경들(110, 115) 양자 모두는 모바일 OS 환경이거나, OS 환경들 양자 모두 범용 OS 환경일 수 있다. 또한, 대체 또는 추가적으로, 2보다 많은 OS 환경들이 운영 체제(105)에 포함될 수 있다. 멀티-환경 운영 체제(multi-environment operating systems)를 갖는 전자 디바이스들은 미국 특허 출원 제12/838,668호; 제12/838,868호; 제12/838,984호; 제12/839,069호; 및 제12/839,193호에 설명되어 있다.
도 1에 도시된 바와 같이, 제2 OS 환경(115)은 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로의 1차 OS 환경의 트랜지션 또는 변경을 결정하도록 구성될 수 있는 도킹 관리자 모듈(120)을 포함한다. 도킹 관리자 모듈(120)은 제2 OS 환경(115)에서 웹 세션과 관련된 웹 세션 데이터를 결정하도록 구성될 수 있다. 웹 세션은 웹 사이트, 웹 애플리케이션, 웹 콘텐츠, 또는 텍스트, 이미지, 사운드, 비디오, 및/또는 애니메이션과 같은 임의의 다른 전자 정보를 포함할 수 있는데, 이들은 인터넷, 인트라넷, 또는 다른 컴퓨터 네트워크를 통해 액세스될 수 있다. 웹 세션은 액티브 웹 브라우저에서 오픈되어 있고/거나 제2 OS 환경(115)에서 사용자에게 디스플레이되는 웹 사이트들을 포함하는 웹 세션과 같은 오픈 웹 세션일 수 있다. 웹 세션은 웹 브라우저의 이력에서 식별되는 웹 사이트 및/또는 웹 애플리케이션들을 포함할 수 있다. 웹 세션 데이터는 OS 환경들(110 및 115) 중 하나에서 하나 이상의 애플리케이션들을 활성화하는 웹 세션과 관련된 데이터일 수 있다. 애플리케이션은 웹 세션에 액세스하고/하거나 이를 오픈하는데 사용될 수 있다. 웹 세션 데이터는 웹 사이트, 웹 페이지, 또는 웹 애플리케이션의 URL(uniform resource locator), 파비콘(favicon), 및/또는 타이틀을 포함할 수 있다.
도킹 관리자 모듈(120)은 모드 상태 변경 신호를 수신하도록 구성될 수도 있다. 모드 상태 변경 신호는 1차 OS 환경이 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로 트랜지션 또는 변경되었다는 것을 나타낼 수 있다. 대체 또는 추가적으로, 모드 상태 변경 신호는 전자 디바이스(100)가 도킹 모드(docked mode)로부터 비-도킹 모드(undocked mode)로 또는 비-도킹 모드로부터 도킹 모드로 변경되었다는 것을 나타낼 수 있다. 이하, 모드 상태 변경 신호 및 그 생성이 더 상세히 설명된다. 비-도킹 모드는 모바일 모드라고 지칭될 수 있다. 도킹 모드는 전자 디바이스(100)가 모니터와 같은 주변 장치(미도시)에 연결되는 시점에 전자 디바이스(100)가 있는 모드일 수 있으며, 범용 OS 환경이 1차 OS 환경이다. 또한, 모바일 모드는 전자 디바이스(100)가 주변 장치에 연결되지 않은 시점에 전자 디바이스(100)가 있는 모드일 수 있으며, 모바일 OS 환경이 1차 OS 환경이다. 도 1에 도시된 바와 같이, 도킹 관리자 모듈(120)은 웹 브라우저와 같은 애플리케이션(125)과 통신 중에 있을 수 있다. 도킹 관리자 모듈(120)은 웹 세션 데이터에 대해 제2 OS 환경(115)에 있는 웹 브라우저(125)를 쿼리(query)하도록 구성될 수 있다. 도킹 관리자 모듈(120)은 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로의 1차 OS 환경의 트랜지션을 결정한 후 웹 브라우저(125)를 쿼리하도록 구성될 수 있다. 일례에서, 도킹 관리자 모듈(120)은 모드 상태 변경 신호의 수신에 응답하여 웹 브라우저(125)를 쿼리하도록 구성된다. 웹 브라우저는 도킹 관리자 모듈(120)에 의한 쿼리에 응답하여 웹 세션 데이터를 도킹 관리자 모듈(120)에 제공하도록 구성될 수 있다. 웹 브라우저(125)는 도킹 관리자 모듈(120)로부터의 쿼리를 수신하고/하거나 웹 세션 데이터를 도킹 관리자 모듈(120)에 제공하는 하나 이상의 개별 컴포넌트 또는 모듈을 포함할 수 있다. 도킹 관리자 모듈(120)은 웹 세션 데이터를 제1 OS 환경(110)에 전송 또는 전달하도록 구성될 수 있다.
예시적인 실시예에서, 제1 OS 환경(110)은 웹 세션 데이터를 송수신하는데 사용되는 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)를 제공하는 웹 세션 프레임워크(130)를 포함할 수 있다. 도킹 관리자 모듈(120)은 프레임워크(130)를 사용하여 웹 세션 데이터를 제1 OS 환경(110)에 전송할 수 있다. 제1 OS 환경(110)은 제2 OS 환경(115)으로부터 웹 세션 데이터를 수신하도록 구성된 커넥터 모듈(135)을 포함할 수도 있다. 커넥터 모듈(135)은 웹 세션 데이터를 파싱(parse) 및/또는 저장하도록 구성될 수 있다. 커넥터 모듈(135)은 웹 세션을 구성하는 개별 웹 사이트 및/또는 웹 애플리케이션들에 기반하여 웹 세션 데이터를 파싱할 수 있다. 예를 들어, 웹 세션 데이터는 웹 세션의 개별 웹 사이트 또는 웹 애플리케이션과 관련된 URL, 파비콘, 및/또는 타이틀에 기반하여 나뉘거나 조직될 수 있으며, 커넥터 모듈은 URL, 파비콘, 및/또는 타이틀에 따라 웹 세션 데이터를 파싱한다. URL, 파비콘, 및/또는 타이틀 정보가 여러 분야로 분리, 조직, 또는 그룹화될 수 있으며, 커넥터 모듈(135)은 이 분야에 따라 웹 세션 데이터를 파싱할 수 있다. 커넥터 모듈(135)은 전자 디바이스(100)의 하드웨어(도 1에는 미도시)의 하나 이상의 저장 위치에 파싱된 웹 세션 데이터를 저장할 수 있다.
커넥터 모듈(135)은 제1 OS 환경(110)에서 웹 세션을 생성하는데 사용될 수 있다. 제1 OS 환경(110)의 웹 세션은 하나 이상의 웹 사이트, 웹 애플리케이션, 및/또는 제2 OS 환경(115)으로부터의 웹 세션으로부터의 다른 웹 정보로 구성될 수 있다. 제1 OS 환경(110)의 웹 세션은 제1 OS 환경(110)에서, 웹 브라우저와 같은 애플리케이션(140)을 활성화함으로써 생성될 수 있다. 일례에서, 커넥터 모듈(135)은 파싱 및/또는 저장되었던 웹 세션과 관련된 웹 사이트, 웹 애플리케이션, 및/또는 다른 웹 정보에 액세스하고/하거나 이들을 오픈하는 하나 이상의 애플리케이션(140)을 자동 활성화하도록 구성될 수 있다. 대체 또는 추가적으로, 커넥터 모듈(135)은 사용자 인터페이스(145)에 웹 세션 데이터 또는 이러한 웹 세션 데이터를 표시하는 정보를 디스플레이하도록 구성될 수 있다. 사용자 인터페이스(145)는 웹 커넥터(135)의 컴포넌트일 수 있다. 또한, 사용자 인터페이스(145)는 웹 커넥터(135)로부터 분리되어 있는 제1 OS 환경(110)의 애플리케이션일 수 있다. 사용자 인터페이스는 제1 모바일 OS 환경의 런처 메뉴(launcher menu)에 있는 애플리케이션 런처 바로가기(short cut)에 의해 인보크(invoke)될 수 있다. 또한, 제1 OS 환경의 상태/통지 바에서의 통지가 디스플레이될 수 있으며, 여기서 사용자는 통지를 선택함으로써 사용자 인터페이스(145)에 용이하게 액세스할 수 있다.
웹 세션 데이터는 사용자 선택을 위하여 사용자 인터페이스(145)에 디스플레이될 수 있다. 사용자가 사용자 인터페이스(145)에서 하나 이상의 웹 세션 데이터를 선택한 후, 웹 세션은 사용자 선택에 기반하여 제1 OS 환경(110)에서 생성된다. 일례로서, 사용자 인터페이스는 URL을 디스플레이할 수 있다. 사용자가 URL을 선택한 후, 제1 OS 환경(110)의 웹 브라우저와 같은 애플리케이션(140)이 활성화되고, 웹 브라우저(140)는 선택된 URL과 관련된 웹 사이트, 웹 애플리케이션, 웹 페이지, 및/또는 그 밖의 다른 웹 정보에 액세스하고/하거나 이들을 오픈한다.
대체 또는 추가적으로, 도킹 관리자(120) 및 커넥터 모듈(135)은 기능을 전환(switch)할 수 있다. 예를 들어, 커넥터 모듈(135)은 OS 환경들(110 및 115) 중 하나로부터의 트랜지션을 결정하고 웹 세션 데이터에 대해 웹 브라우저(140)를 쿼리하도록 구성될 수 있다. 커넥터 모듈(135)은 웹 세션 데이터를 제2 OS 환경(115)에 전송 또는 전달하도록 구성될 수 있다. 커넥터 모듈(135)은 웹 세션 프레임워크(130)를 사용하여 웹 세션 데이터를 제2 OS 환경(115)에 전송 또는 전달할 수 있다. 도킹 관리자 모듈(120)은 커넥터 모듈(135)로부터 웹 세션 데이터를 수신하도록 구성될 수 있다. 도킹 관리자(120)는 제1 OS 환경(110)으로부터 수신된 웹 세션 데이터의 전부 또는 일부에 기반하여 제2 OS 환경(115)에서 웹 세션을 생성하도록 구성될 수 있다. 도킹 관리자(120)는 웹 세션 데이터를 파싱 및/또는 저장하도록 구성될 수 있다. 또한, 도킹 관리자(120)는 웹 세션 데이터와 관련된 하나 이상의 웹 사이트, 웹 페이지, 웹 애플리케이션, 또는 그 밖의 다른 웹 데이터를 오픈하는 웹 브라우저(125)를 활성화하도록 구성될 수 있다. 도킹 관리자(120)는 사용자 인터페이스(150)를 사용하여 웹 세션 데이터를 디스플레이하도록 구성될 수 있다. 웹 세션 데이터는 사용자 선택을 위하여 사용자 인터페이스(150)에 디스플레이될 수 있다. 사용자가 사용자 인터페이스(150)에서 하나 이상의 웹 세션 데이터를 선택한 후, 웹 세션은 사용자 선택에 기반하여 제2 OS 환경(115)에서 생성된다. 일례로서, 사용자 인터페이스는 URL을 디스플레이할 수 있다. 사용자는 URL을 선택한 후, 제2 OS 환경(115)의 웹 브라우저와 같은 웹 애플리케이션(125)은 활성화되고, 웹 브라우저(125)는 선택된 URL과 관련된 웹 사이트, 웹 애플리케이션, 웹 페이지, 및/또는 그 밖의 다른 웹 정보에 액세스하고/하거나 이들을 오픈한다.
대체 또는 추가적으로, 도킹 관리자 모듈(120) 및 커넥터 모듈(135)은 이중 역할(dual role)을 수행하도록 구성될 수 있다. 예를 들어, 1차 OS 환경이 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로 전환되면, 도킹 관리자 모듈(120)은 웹 세션 데이터에 대해 웹 브라우저(125)를 쿼리하고, 웹 세션 데이터를 제1 OS 환경(110)에 전송한다. 커넥터 모듈(135)은 제1 OS 환경에서 웹 세션 데이터를 수신하고 웹 세션을 생성한다. 한편, 1차 OS 환경은 제1 OS 환경(110)으로부터 제2 OS 환경(115)으로 전환되면, 커넥터 모듈(135)은 웹 세션 데이터에 대해 웹 브라우저(140)를 쿼리하고, 커넥터 모듈(135)은 웹 세션 데이터를 도킹 관리자 모듈(120)로 전송한다. 도킹 관리자 모듈(120)은 제2 OS 환경(115)에서 웹 세션 데이터를 수신하고 웹 세션을 생성한다.
전술한 바와 같이, OS 환경들(110 및 115) 중 하나는 모바일 OS 환경이며, OS 환경들(110 및 115) 중 다른 하나는 범용 OS 환경일 수 있다. 1차 OS 환경이 범용 OS 환경으로부터 모바일 OS 환경으로 트랜지션되는 경우, 전자 디바이스(100)는 도킹 모드로부터 모바일 모드로 트랜지션된다. 마찬가지로, 1차 OS가 모바일 OS 환경으로부터 범용 OS 환경으로 트랜지션되면, 전자 디바이스(100)는 모바일 모드로부터 도킹 모드로 트랜지션된다. 제1 OS 환경이 모바일 OS 환경이고, 제2 OS 환경(115)이 범용 환경이면, 전자 디바이스(100)가 도킹 모드로부터 모바일 모드로 트랜지션될 때, 도킹 관리자(120)는 웹 세션 데이터를 제1 OS 환경(110)에 전송하도록 구성된다. 마찬가지로, 전자 디바이스가 모바일 모드로부터 도킹 모드로 트랜지션되면, 커넥터 모듈(135)은 웹 세션 데이터를 제2 OS 환경으로 전송하도록 구성된다. 한편, 제1 OS 환경(110)이 범용 환경이고, 제2 OS 환경(115)이 모바일 환경이면, 전자 디바이스(100)가 도킹 모드로부터 비-도킹 모드로 트랜지션되는 경우, 커넥터 모듈(135)은 웹 세션 데이터를 제2 OS 환경(115)에 전송하도록 구성된다. 마찬가지로, 전자 디바이스(100)가 모바일 모드로부터 도킹 모드로 트랜지션되면, 도킹 관리자(120)는 웹 세션 데이터를 제1 OS 환경(110)에 전송하도록 구성된다.
대체 또는 추가적으로, 1차 OS 환경이 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로 트랜지션 또는 변경되면, 제2 OS 환경(115)에서의 웹 브라우저(125)의 구성에 기반하여 제1 OS 환경(110)의 웹 브라우저의 구성이 업데이트, 수정, 리셋, 및/또는 변경될 수 있다. 1차 OS가 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로 트랜지션되었다는 결정에 응답하여, 도킹 관리자 모듈(120)은 웹 브라우저(125)의 구성 데이터에 대해 제2 OS 환경(115)에 있는 웹 브라우저(125)를 쿼리하도록 구성될 수 있다. 웹 브라우저(125)의 구성 데이터는 다음 중 하나 이상을 포함할 수 있다: 브라우징 이력, 다운로드 이력, 검색 이력, 폼 필드 엔트리 이력(form field entry history), 쿠키, 로그인, 및/또는 패스워드 데이터, 홈 페이지 정보, 북마크 정보, 팝업 정보, 및/또는 웹 페이지 디스플레이 정보. 다른 웹 브라우저 구성 데이터 또는 설정이 포함될 수 있다. 웹 브라우저(125)는 웹 브라우저 구성 데이터를 도킹 관리자 모듈(120)에 전송하도록 구성될 수 있다. 웹 브라우저(125)의 하나 이상의 개별 컴포넌트 또는 모듈은 구성 데이터를 수신하고/하거나 구성 데이터를 도킹 관리자 모듈(120)에 전송하도록 구성될 수 있다.
도킹 관리자 모듈(120)은 웹 브라우저 구성 데이터를 제1 OS 환경(110)에 전송하도록 구성될 수 있다. 도킹 관리자 모듈(120)은 웹 세션 데이터와 함께 웹 브라우저 구성 데이터를 전송 또는 전달하도록 구성될 수 있다. 또한, 도킹 관리자 모듈(120)은 웹 세션 데이터와 분리된 웹 브라우저 구성 데이터를 전송 또는 전달할 수 있다. 도킹 관리자 모듈(120)은 브라우저 구성 데이터를 제1 OS 환경(110)에 전송하기 위해 제1 OS 환경(110)에서 웹 세션 프레임워크(130)를 사용할 수 있다. 도킹 관리자 모듈(120)은 비-보안 또는 보안 채널을 통해 웹 브라우저 구성 데이터를 전송할 수 있다. 예를 들어, 암호화, 해시 함수(hash function), 인증서(certificate), 토큰, 및/또는 보안 채널을 생성하기 위해 알려진 임의의 다른 기법들을 사용하여, 보안 채널을 생성하는데 하나 이상의 기법들이 사용될 수 있다.
제1 OS 환경(110)은 커넥터 모듈(135)을 사용하여 웹 브라우저 구성 데이터를 수신할 수 있다. 커넥터 모듈(135)은 웹 브라우저 구성 데이터를 수신, 파싱, 및/또는 저장하도록 구성될 수 있다. 커넥터 모듈은 또한 제2 OS 환경(115)으로부터 수신된 웹 브라우저 구성 데이터를 사용하여 제1 OS 환경(110)에서 웹 브라우저(140)의 구성을 업데이트, 변형, 리셋, 및/또는 변경하도록 구성될 수 있다. 커넥터 모듈(135)은 사용자 인터페이스(155)에서 웹 브라우저 구성 데이터를 디스플레이하도록 구성될 수도 있다. 커넥터 모듈(135)은 사용자 인터페이스(155)에 구성 데이터 전부를 디스플레이하도록 구성될 수 있다. 또한, 커넥터 모듈(135)은 제1 OS 환경(110)에서 웹 브라우저(140)에 적용될 수 있는 구성 데이터만을 사용자 인터페이스(155)에서 디스플레이하도록 구성될 수 있다. 예를 들어, 제2 OS 환경(115)에서 브라우저(125)로부터의 구성 데이터 중 하나가 제1 OS 환경(110)에서 웹 브라우저(140)를 위한 구성에 사용되지 않으면, 커넥터 모듈(135)은 사용자 인터페이스(155)에서 구성 데이터를 디스플레이하지 않을 수도 있다. 구성 데이터를 보여주기 위해 사용된 사용자 인터페이스는 웹 세션 데이터를 보여주는데 사용되는 인터페이스와 상이한 사용자 인터페이스일 수 있다. 또한, 웹 세션 데이터를 디스플레이하기 위해 사용된 사용자 인터페이스(145) 및 브라우저 구성 데이터를 디스플레이하는데 사용된 사용자 인터페이스(155)는 동일할 수 있다. 사용자는 하나 이상의 구성 데이터를 선택하여 브라우저(140)의 구성을 업데이트, 변형, 리셋, 및/또는 변경할 수 있다. 사용자는 사용자 인터페이스(155)에 디스플레이된 구성 데이터 전부를 선택할 수 있다. 또한, 사용자는 디스플레이되는 구성 데이터 중 전부 미만을 선택함으로써 제1 OS 환경(110)에서 웹 브라우저(140)의 구성 업데이트를 커스터마이즈할 수 있다.
대체 또는 추가적으로, 도킹 관리자(120) 및 커넥터 모듈(135)은 기능을 전환할 수 있다. 예를 들어, 커넥터 모듈(135)은 OS 환경들(110 및 115) 중 하나로부터의 트랜지션을 결정하고 웹 브라우저 구성 데이터에 대해 웹 브라우저(140)를 쿼리하도록 구성될 수 있다. 커넥터 모듈(135)은 웹 브라우저 구성 데이터를 제2 OS 환경(115)에 전송 또는 전달하도록 구성될 수 있다. 커넥터 모듈(135)은 프레임워크(130)를 사용하여 웹 브라우저 구성 데이터를 제2 OS 환경(115)에 전송 또는 전달할 수 있다. 도킹 관리자 모듈(120)은 커넥터 모듈(135)로부터 웹 브라우저 구성 데이터를 수신하도록 구성될 수 있다. 도킹 관리자(120)는 제1 OS 환경(110)으로부터 수신된 웹 세션 데이터의 전부 또는 일부에 기반하여 제2 OS 환경(115)에서 웹 브라우저(125)의 구성을 업데이트, 변형, 리셋, 및/또는 변경하도록 구성될 수 있다. 도킹 관리자(120)는 웹 브라우저 구성 데이터를 파싱 및/또는 저장하도록 구성될 수 있다. 도킹 관리자 모듈(120)은 사용자 인터페이스(160)에 웹 브라우저 구성 데이터를 디스플레이하도록 구성될 수도 있다. 도킹 관리자 모듈(120)은 사용자 인터페이스(160)에 구성 데이터 전부를 디스플레이하도록 구성될 수 있다. 또한, 도킹 관리자 모듈(120)은 제2 OS 환경(115)에서 웹 브라우저(125)에 적용될 수 있는 구성 데이터만을 사용자 인터페이스(160)에서 디스플레이하도록 구성될 수 있다. 예를 들어, 제1 OS 환경(110)에서 브라우저(140)로부터의 구성 데이터 중 하나가 제2 OS 환경(115)에서 웹 브라우저(125)를 위한 구성에 사용되지 않으면, 도킹 관리자 모듈(120)은 사용자 인터페이스(160)에 그 구성 데이터를 디스플레이하지 않을 수도 있다. 구성 데이터를 보여주기 위해 사용된 사용자 인터페이스는 웹 세션 데이터를 보여주는데 사용되는 인터페이스와 상이한 사용자 인터페이스일 수 있다. 또한, 웹 세션 데이터를 디스플레이하기 위해 사용된 사용자 인터페이스(150) 및 브라우저 구성 데이터를 디스플레이하는데 사용된 사용자 인터페이스(160)는 동일할 수 있다. 사용자는 하나 이상의 구성 데이터를 선택하여 브라우저(125)의 구성을 업데이트, 변형, 리셋, 및/또는 변경할 수 있다. 사용자는 사용자 인터페이스(160)에 디스플레이된 구성 데이터 전부를 선택할 수 있다. 또한, 사용자는 디스플레이되는 구성 데이터 중 전부 미만을 선택함으로써 제2 OS 환경(115)에서 웹 브라우저(125)의 구성 업데이트를 커스터마이즈할 수 있다.
대체 또는 추가적으로, 제1 OS 환경(110) 및 제2 OS 환경(115) 각각에서 웹 브라우저(125, 140)를 업데이트, 변형, 리셋, 및/또는 변경을 수행하는 경우 도킹 관리자 모듈(120) 및 커넥터 모듈(135)은 이중 역할을 수행하도록 구성될 수 있다. 예를 들어, 1차 OS 환경이 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로 전환되면, 도킹 관리자 모듈(120)은 웹 브라우저 구성 데이터에 대해 웹 브라우저(125)를 쿼리하고, 웹 브라우저 구성 데이터를 제1 OS 환경(110)에 전송한다. 커넥터 모듈(135)은 제1 OS 환경(110)에서 웹 브라우저 구성 데이터를 수신하고, 웹 브라우저 구성을 업데이트, 변형, 변경, 및/또는 리셋한다. 한편, 1차 OS 환경이 제1 OS 환경(110)으로부터 제2 OS 환경(115)으로 전환되면, 커넥터 모듈(135)은 웹 브라우저 구성 데이터에 대해 웹 브라우저(140)를 쿼리하고, 커넥터 모듈(135)은 웹 브라우저 구성 데이터를 도킹 관리자 모듈(120)에 전송한다. 도킹 관리자 모듈(120)은 제2 OS 환경(115)에서 웹 브라우저 구성 데이터를 수신하고, 웹 브라우저의 구성을 업데이트, 변형, 변경, 및/또는 리셋한다. 전술한 바와 같이, OS 환경들(110 및 115) 중 하나는 모바일 OS 환경이며, OS 환경들(110 및 115) 중 다른 하나는 범용 OS 환경일 수 있다. 1차 OS 환경이 범용 OS 환경으로부터 모바일 OS 환경으로 트랜지션되는 경우, 전자 디바이스(100)는 도킹 모드로부터 모바일 모드로 트랜지션된다. 마찬가지로, 1차 OS가 모바일 OS 환경으로부터 범용 OS 환경으로 트랜지션되면, 전자 디바이스(100)는 모바일 모드로부터 도킹 모드로 트랜지션된다. 예를 들어, 제1 OS 환경(110)이 모바일 OS 환경이고, 제2 OS 환경(115)이 범용 OS 환경이면, 전자 디바이스(100)가 모바일 모드로부터 도킹 모드로 트랜지션될 때, 도킹 관리자 모듈(120)은 웹 세션 데이터에 대해 웹 브라우저(125)를 쿼리하고, 웹 브라우저 구성 데이터를 제1 모바일 OS 환경(110)에 전송 또는 전달하도록 구성된다. 유사하게, 전자 디바이스(100)가 도킹 모드로부터 모바일 모드로 트랜지션될 때, 커넥터 모듈은 웹 브라우저 구성 데이터에 대해 웹 브라우저(140)를 쿼리하고, 웹 브라우저 구성 데이터를 제2 OS 환경(115)에 전송 또는 전달하도록 구성된다.
웹 세션 데이터 및/또는 웹 브라우저 구성 데이터는 인텐트(intent)들을 사용하여 도킹 관리자 모듈(120), 커넥터 모듈(135), 및/또는 웹 애플리케이션/브라우저(125 및 140)로/로부터 전달될 수 있다. 인텐트는 데이터에 수행될 조치(action)의 설명을 포함하는 데이터 구조일 수 있다. 인텐트는 조치가 수행될 데이터를 포함할 수 있다. 인텐트는 이러한 조치를 포함, 표시, 및/또는 특정할 수도 있다. 일 실시예에서, 도킹 관리자(120)는 제2 OS 환경(115)으로부터 제1 OS 환경(110)으로의 1차 OS 환경의 트랜지션을 결정한 후, 도킹 관리자 모듈은 인텐트를 생성하여 제1 OS 환경에 인텐트를 전송한다. 인텐트는 웹 세션 데이터 및/또는 웹 구성 데이터를 포함할 수 있다. 인텐트는 데이터를 파싱하고, 데이터를 저장하고, 웹 애플리케이션/브라우저(140)를 오픈하고, 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 디스플레이하는 사용자 인터페이스(145, 155)를 오픈하고, 및/또는 웹 브라우저(140)를 구성하는 것과 같은, 데이터에 수행하는 하나 이상의 조치들을 포함할 수 있다. 유사하게, 일례로서, 커넥터 모듈(120)이 제1 OS 환경(110)으로부터 제2 OS 환경(115)으로의 1차 OS 환경의 트랜지션을 결정한 후, 커넥터 모듈(135)은 인텐트를 생성하여 제2 OS 환경에 인텐트를 전송할 수 있다. 인텐트는 웹 세션 데이터 및/또는 웹 구성 데이터를 포함할 수 있다. 인텐트는 데이터를 파싱하고, 데이터를 저장하고, 웹 애플리케이션/브라우저(125)를 오픈하고, 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 디스플레이하는 사용자 인터페이스(150, 160)를 오픈하고, 웹 브라우저(125)를 구성하는 것과 같은, 데이터에 수행하는 하나 이상의 조치들을 포함할 수 있다.
대체 또는 추가적으로, 인텐트는 사용자가 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 사용자 선택한 후 도킹 관리자 모듈(120) 및/또는 커넥터 모듈(130)에 의해 생성될 수 있다. 일례로서, 커넥터 모듈(135)이 사용자 인터페이스(145)에 웹 세션 데이터를 디스플레이하고, 사용자가 웹 세션 데이터를 선택한 후, 웹 커넥터(135)는 인텐트를 생성하여 모바일 OS 환경 프레임워크(예를 들어, 안드로이드(Android™) 프레임워크)의 웹 브라우저(140)에 인텐트를 전송한다. 인텐트는 선택된 URL과 같은 선택된 웹 세션 데이터를 포함한다. 인텐트는 웹 브라우저(140)의 웹 세션 데이터와 관련된 하나 이상의 웹 사이트 또는 웹 페이지를 오픈하는 것과 같은 하나 이상의 조치를 포함할 수 있다. 인텐트를 수신한 후, 웹 브라우저가 활성화되고, 웹 세션 데이터와 관련된 웹 사이트, 웹 페이지, 웹 애플리케이션, 및/또는 그 밖의 다른 웹 정보가 웹 브라우저(140)에서 오픈된다. 예를 들어, 웹 세션 데이터가 웹 기반 애플리케이션(140)과 관련되어 있으면, 모바일 OS 환경 프레임워크는 웹 세션 데이터와 관련된 애플리케이션(140)에 웹 세션 데이터를 오픈하고 처리하라고 명령할 것이다. 예를 들어, URL이 유튜브(YouTube) 비디오와 관련되어 있으면, 모바일 OS 환경 프레임워크는 유튜브 애플리케이션을 시작하고, URL과 관련된 유튜브 비디오가 유튜브 애플리케이션에 디스플레이된다. 다른 예시에서, 웹 기반 애플리케이션(140)은 프리즘(Prism)과 같은 소프트웨어 애플리케이션을 사용하여 액세스되고/되거나 오픈될 수 있다. 프리즘은 표준(또는 비-웹 기반) 데스크톱 애플리케이션이 오픈되는 방법과 유사한 스탠드얼론 윈도우로서 오픈될 웹 브라우저에 액세스되고/되거나 오픈될 웹 사이트 또는 웹 애플리케이션을 위한 능력을 제공한다. 특정 웹 사이트 또는 웹 애플리케이션이 예를 들어, 프리즘을 사용하여 제1 OS 환경에서 (웹 브라우저를 통하는 것 대신) 스탠드얼론 애플리케이션으로서 액세스되고/되거나 오픈되도록 구성되었으면, 인텐트를 수신한 후 웹 세션 데이터와 관련된 스탠드얼론 애플리케이션(140)이 웹 브라우저 대신 활성화된다.
다음의 도 2 내지 도 4는 본 발명의 컴포넌트가 사용 및/또는 구현될 수 있는 예시적인 전자 디바이스 및 전자 디바이스의 예시적인 컴포넌트를 도시한다. 도 2를 참조하면, 모바일 전자 디바이스(200)가 제공된다. 모바일 디바이스(200)는 그래픽 사용자 인터페이스(GUI)(210) 및 복수의 데이터 입력 버튼(220)을 포함한다. 모바일 디바이스(200)는 이들로 제한되는 것은 아니지만, 모바일 개인용 컴퓨터(PC), 태블릿 PC, 넷북, 휴대폰, 랩톱 컴퓨터, 핸드헬드 컴퓨터, 또는 스마트폰일 수 있다. 그 밖의 다른 전자 디바이스가 사용될 수 있다. 사용자가 디바이스(200)를 다양한 주변 디바이스(미도시)에 연결할 수 있다. 주변 디바이스들은, 이들로 제한되는 것은 아니지만, 컴퓨터 모니터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 PC, 또는 스크린 프로젝터일 수 있다.
도 3은 도 2의 모바일 디바이스(200)의 컴포넌트들을 개략적인 행태로 도시한 블록도이다. 모바일 디바이스(200)는 디바이스 하드웨어(305)와 통신하는 운영 체제(300)를 포함한다. 운영 체제(300)는 GNU/리눅스 디스트리뷰션(Linux distribution)일 수 있다. 그 밖의 운영 체제가 사용될 수 있다. 도 3에 도시된 바와 같이, 운영 체제(300)는 서로 통신하는 커널(315) 및 사용자 컴포넌트(320)를 포함한다. 사용자 컴포넌트(320)는 제1 애플리케이션 미들웨어 환경(330)(이하 제1 OS 환경) 및 제2 애플리케이션 미들웨어 환경(335)(이하 제2 OS 환경)을 포함한다. 화살표 340 및 345로 표시된 바와 같이, 제1 OS 환경(330) 및 제2 OS 환경(335)은 커널(315)과 통신한다. 또한, 제1 OS 환경(330) 및 제2 OS 환경(335)은 서로 통신한다.
제1 OS 환경(330) 및 제2 OS 환경(335)은 서로 독립적으로 동작하고 공존할 수 있다. 일례로서, OS 환경들(330 및 335) 각각은 다른 OS 환경(330 및 335)의 존재 없이도 홀로 동작할 수 있다. 다른 실시예로서, OS 환경들(330 및 335)은 (임베드된 하나의 OS 환경(330, 335), 엠베드되지 않은 다른 OS 환경(330, 335)과 같이) 상이한 타입일 수 있다. 다른 예시로서, OS 환경들(330 및 335)은 커널(315), 디바이스 하드웨어(305), 및/또는 디바이스의 사용자와 통신하면서 상이한 동작 또는 기능들을 수행할 수 있다. 대체 또는 추가적으로, 제1 OS 환경(330) 및 제2 OS 환경(335)은 상호 의존적(interdependent)일 수 있다. 예를 들어, 제1 OS 환경(330) 및 제2 OS 환경(335)은 커널(315)의 리소스를 두고 경쟁할 수 있다. 대체 또는 추가적으로, 제1 OS 환경(330) 및 제2 OS 환경(335)은 서로 함께 동작할 수 있다.
예시적인 실시예에서, OS 환경들(330 및 335) 중 하나는 모바일 디바이스(예를 들어, 휴대폰, 스마트폰, 모바일 개인용 컴퓨터, 넷북, 랩톱, 및 핸드헬드 컴퓨터)에 사용하기 위한 OS 환경이며, 나머지 OS 환경(330, 335)은 모바일 디바이스들에 사용하지 않기 위한/위하거나 고정형 디바이스(예를 들어, 데스크톱 컴퓨터)에 사용하기 위한 범용 OS 환경이다. 비제한적 예시로서, 모바일 OS 환경(330)은 안드로이드(Android), 윈도우 모바일(Window Mobile), 심비안(Symbian), iOS, 또는 RIM 블랙베리(Blackberry) 모바일 운영 체제 환경일 수 있다. 그 밖의 모바일 OS 환경들이 사용될 수 있다. 비제한적 예시로서, 범용 OS 환경(335)은 표준 GNU/리눅스, 윈도우, 유닉스(Unix), Mac OS X, 또는 구글 크롬(Google Chrome) OS 환경일 수 있다. 범용 OS 환경(335)은 웹톱(webtop) 환경일 수 있다. 그 밖의 OS 환경들이 사용될 수 있다. 모바일 및 범용 OS 환경들(330, 335)은 다양한 타입의 커널들(예를 들어, 리눅스 기반 커널, 윈도우 기반 커널)을 이용하여 구현될 수 있다. 또한, 2보다 많은 임의의 다양한 타입의 OS 환경들이 동일한 커널(315)에 독립적으로 공존할 수 있다. 간단히 말하면, 도 3에 도시된 바와 같이, 제1 OS 환경(330)은 모바일 환경으로서 지정되고, 제2 OS 환경(335)은 범용 환경으로서 지정된다. OS 환경들(330 및 335)은 여러 소프트웨어 컴포넌트들을 포함할 수 있다. 도 3에 도시된 바와 같이, 모바일 환경(330)은 애플리케이션(355)(예를 들어, 사용자 애플리케이션)을 포함한다. 모바일 환경(330)은 미들웨어(360)를 포함할 수도 있다. 애플리케이션(355)은 스택 및 그 밖의 애플리케이션 소프트웨어 컴포넌트들을 포함할 수 있으며, 애플리케이션들(355)이 병치되어(juxtaposed) 있는 맨 위에 미들웨어(360)에 의해 인식 가능한 컴퓨터 명령을 포함할 수 있다. 미들웨어(360)는 모바일 애플리케이션 프레임워크(365) 및 모바일 실행 시간 프로그래밍(370)을 포함한다. 애플리케이션(355)은 애플리케이션 프레임워크(365)에 의해 관리되며 실행 시간 프로그래밍(370)에 의해 해석될 수 있다.
범용 환경(335)은 미들웨어(380)와 결합된 애플리케이션(375)(예를 들어, 사용자 애플리케이션)을 포함한다. 미들웨어(380)는 애플리케이션 프레임워크(385) 및 라이브러리/도구들(390)을 포함할 수 있다. 라이브러리/도구들(390)은 Qt 또는 GTK(GIMP Toolkit)와 같은 라이브러리를 포함하는 다양한 컴포넌트들을 포함할 수 있는데, 이들은 GUI에 대한 정보의 디스플레이에 유용할 수 있다. 그 밖의 도구 및/또는 라이브러리가 사용될 수 있다. 애플리케이션(375)은 애플리케이션(375)의 실행 코드가 커널(315) 및/또는 디바이스 하드웨어(305)의 명령 세트 아키텍처에 대응한다는 점에서 네이티브 애플리케이션일 수 있다. 모바일 OS 환경(330)에 있는 애플리케이션들(355)과 같이, 범용 OS 환경(335)에서의 애플리케이션들(375)은 스택 및 그 밖의 애플리케이션 소프트웨어 컴포넌트들을 포함할 수 있으며, 애플리케이션들(375)이 병치되어 있는 맨 위에 미들웨어(380)에 의해 인식 가능한 컴퓨터 명령을 포함할 수 있다.
디바이스 하드웨어(305)는 프로세서(미도시)와 결합된 메모리 저장 디바이스(미도시)와 같은 다양한 하드웨어 디바이스를 포함할 수 있는데, 메모리 저장 디바이스는 다양한 기능 및 동작을 수행하도록 구성된 컴퓨터 실행 명령들을 저장한다. 추가적으로, 디바이스 하드웨어(305)는 셀룰러 블루투스(Bluetooth) 및/또는 WiFi 송수신기 또는 라디오, 키보드, 스피커 및/또는 비디오 스크린과 같은 다른 입력 디바이스, 하드웨어, 액셀러레이터(accelerator), IP 소켓 등과 같은 다양한 다른 컴포넌트/리소스들을 포함할 수 있다. 커널(315)은 OS 환경(330, 335)의 미들웨어(360, 380)와 디바이스 하드웨어(305) 사이의 상호 작용을 연결 및 관리함으로써 모바일 디바이스의 리소스들을 할당한다. 미들웨어(360, 380)(예를 들어, 애플리케이션 프레임워크(365. 385), 실행 시간 프로그래밍(370), 및/또는 라이브러리 도구들(390))에 포함되는 소프트웨어 컴포넌트들은 미들웨어라고 지칭될 수 있는데, 그 이유는 커널(315)과 소프트웨어 애플리케이션들(355 및 375) 사이에 논리적으로 개재되기 때문이다.
도 4는 제1 OS 환경(330) 및 제2 OS 환경(335)을 갖는 운영 체제(300)를 더 상세히 예시한다. 도 4는 운영 체제(300)의 1차 운영 체제 환경이 OS 환경들(330, 335) 중 하나로부터 OS 환경들(330, 335) 중 나머지로 트랜지션 또는 변경될 때 OS 환경들(330 및 335) 중 하나에서 웹 세션을 생성하고/하거나 웹 브라우저를 구성하는데 사용되는 제1 OS 환경(330) 및 제2 OS 환경(335)의 컴포넌트들을 예시한다. 도 4에 도시된 바와 같이, 제1 OS 환경(330)은 포털 서비스 모듈(405), 포털 액티비티 모듈(410), 모바일 서비스 모듈(415), 및 모바일 애플리케이션 모듈(420)을 포함한다. 포털 액티비티 모듈(410) 및 모바일 애플리케이션 모듈(420)은 도 3에 도시된 바와 같이 제1 OS 환경(330)의 애플리케이션들(355) 사이에 고려될 수 있다. 또한, 포털 서비스 모듈(405) 및 모바일 서비스 모듈(415)은 제1 OS 환경(330)의 미들웨어(360)의 일부일 수 있다. 또한, 도 4에 도시된 바와 같이, 제2 OS 환경(335)은 아비터(arbiter) 또는 리소스 관리자 모듈(425), AIW(Android in a window) 모듈(430), 범용 서비스 모듈(435), 및 범용 OS 애플리케이션 모듈(440)을 포함한다. 범용 OS 애플리케이션 모듈(440)은 도 3에 도시된 사용자 애플리케이션들(375)의 일부일 수 있다. 리소스 관리자(425), AIW 모듈(430), 범용 서비스 모듈은 도 3에 도시된 미들웨어(380)의 일부일 수 있다. 또한, AIW 모듈(430)은 사용자 애플리케이션(375) 중 하나일 수 있다.
모듈들(405, 410, 415, 425, 430, 및 435)이 특정 기능들을 제공하는 역할을 하도록 구성된다. AIW 모듈은 (도 2에 도시된) GUI(210)에 제1 환경 애플리케이션 윈도우를 디스플레이하도록 구성될 수 있지만, 제2 OS 환경(335)은 1차 OS 환경이다. 포털 서비스 모듈(405)은 제1 OS 환경(330)을 위한 서비스를 허용하도록 구성된 명령 세트를 포함하며, 리소스 관리자(425)에게 모든 통신을 지시한다. 모바일 디바이스(200)가 동작하는 동안, 바람직하게 포털 서비스 모듈(405)은 항상 실행된다. 또한, 포털 서비스 모듈(405)은 포털 액티비티 모듈(410)과 관련된 액티비티와 연결된다. 포털 액티비티 모듈(410)은 제1 환경(330) 스택에 위치하는 제2 OS 환경(335) 애플리케이션일 수 있다. 일례로서, 제2 OS 환경이 우분투(Ubuntu) 환경이면, 포털 액티비티 모듈(410)은 우분투 애플리케이션을 나타낼 수 있으며, 포털 액티비티 모듈(410)이 포커스(focus)를 갖는 경우(즉, 포털 액티비티 모듈이 GUI(220)에 디스플레이되는 다른 애플리케이션들(355)의 상단에 있는 경우), 우분투는 GUI(220)를 통해 보여진다.
도 4에 도시된 바와 같이, 제2 OS 환경(335)에서의 리소스 관리자 모듈(425) 및 제1 OS 환경에서의 포털 서비스 모듈(405)은 서로 직접 통신한다. 리소스 관리자 모듈(425) 및 포털 서비스 모듈(405)은 미들웨어(260) 및 미들웨어(280)의 동작 중의 충돌을 피하기 위해 서로 직접 통신할 수 있다. 리소스 관리자 모듈(425)은 제1 OS 환경(330) 및 제2 OS 환경(335)에 의해 공유되는 리소스들을 관리하도록 구성된 명령 세트일 수 있다. 공유 리소스들은 디스플레이 디바이스들, 입력 디바이스들, 전력 관리 서비스들, 및 시스템 상태 정보를 포함한다. 또한, 리소스 관리자(425)는 OS 환경들(330 및 335)에 의해 디바이스 하드웨어(305)의 액세스를 제어하도록 구성될 수 있다. 또한, 리소스 관리자(425)는 환경들(330 및 335)과 관련된 어느 사용자 인터페이스가 GUI(220)를 통해 디스플레이되는 지를 식별 및 제어할 수 있다. 포털 서비스 모듈(405)은 제1 환경(330)으로부터 리소스 관리자(425)로의 모든 통신의 소스일 수 있다. 또한, 포털 서비스 모듈(405)은 리소스 관리자(425)로부터 제1 OS 환경(330)으로의 모든 콜백(callback)을 위한 싱크(sink)일 수 있다.
또한, 도 4는 다른 OS 환경들(330, 335)로부터의 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터에 기반하여 환경들(330 및 335) 중 하나에서 웹 세션을 생성하고/하거나 웹 브라우저 구성을 업데이트하는데 사용되는 본 발명의 컴포넌트들을 도시한다. 도 4에 도시된 바와 같이, 도킹 관리자 모듈(445)은 리소스 관리자 모듈(425)에 위치한다. 애플리케이션/웹 브라우저(450)는 범용 OS 애플리케이션 모듈(440)에 위치한다. 모바일 OS 환경(330)과 범용 OS 환경(335) 사이의 웹 브라우저 또는 구성 데이터 및/또는 웹 세션 데이터를 포함하는 인텐트들을 전달하기 위한 프레임워크(455)가 포털 서비스 모듈(405)에 위치한다. 커넥터 모듈(460) 및 웹 애플리케이션/웹 브라우저(465)는 모바일 OS 애플리케이션 모듈(420)에 위치한다.
도 1을 참조하여 전술한 바와 같이, 운영 체제(300)의 1차 OS 환경이 제2 OS 환경(335)으로부터 제1 OS 환경(330)으로 트랜지션되는 경우, 리소스 관리자 모듈(425)에 위치한 도킹 관리자 모듈(445)은 상태 변경 신호를 수신할 수 있다. 상태 변경 신호의 수신에 응답하여, 도킹 관리자 모듈(445)은 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터에 대해 범용 OS 애플리케이션 모듈(440)에 위치한 웹 브라우저(450)를 쿼리할 수 있다. 도킹 관리자(445)가 웹 세션 데이터 및/또는 웹 브라우저 구성을 수신한 후, 도킹 관리자(445)는 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 포함하는 하나 이상의 인텐트를 생성할 수 있다. 인텐트는 데이터에 수행하는 조치들을 포함할 수도 있다. 도킹 관리자 모듈(445)은 포털 서비스 모듈(405)에 위치하는 프레임워크(455)를 사용하여 모바일 OS 환경(330)에 인텐트를 전달할 수 있다. 모바일 OS 환경 애플리케이션들 모듈에 위치한 커넥터 모듈(460)은 인텐트를 수신할 수 있다. 커넥터 모듈(460)은 인텐트의 데이터를 파싱 및/또는 저장 위치(예를 들어, 디바이스 하드웨어(305)의 저장 위치)에 저장하도록 구성될 수 있다. 커넥터 모듈(460)은 수신된 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터에 기반하여 웹 세션을 생성하고/하거나, 웹 브라우저(465)를 구성할 수 있다. 일례에서, 커넥터 모듈(460)은 인텐트를 수신한 후, 사용자 선택을 위하여 사용자 인터페이스에 웹 세션 데이터 및/또는 웹 구성 데이터를 디스플레이할 수 있다. 웹 세션 데이터가 선택된 후, 커넥터 모듈(460)은 사용자 선택에 기반하여, 웹 브라우저(465)(또는 웹 세션 데이터와 관련된 다른 웹 애플리케이션)를 활성화하는데 사용되는 인텐트를 생성할 수 있으며, 웹 브라우저(465)는 선택되었던 웹 세션 데이터와 관련된 하나 이상의 웹 사이트, 웹 페이지, 웹 애플리케이션, 및/또는 그 밖의 웹 데이터를 오픈한다. 대체 또는 추가적으로, 웹 브라우저 구성 데이터가 선택된 후, 웹 브라우저(465)의 구성은 사용자 선택에 기반하여 업데이트될 수 있다.
유사하게, 도 1을 참조하여 전술한 바와 같이, 운영 체제(300)의 1차 OS 환경이 제1 OS 환경(330)으로부터 제2 OS 환경(335)으로 트랜지션되는 경우, 커넥터 모듈(460)은 상태 변경 신호를 수신할 수 있다. 상태 변경 신호를 수신하는 것에 응답하여, 모바일 OS 애플리케이션 모듈(420)에 위치한 커넥터 모듈(460)은 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터에 대해 웹 브라우저(465)를 쿼리할 수 있다. 커넥터 모듈(460)이 웹 세션 데이터 및/또는 웹 브라우저 구성을 수신한 후, 커넥터 모듈(460)은 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 포함하는 하나 이상의 인텐트를 생성할 수 있다. 인텐트는 데이터에 수행하는 조치들을 포함할 수도 있다. 커넥터 모듈(460)은 포털 서비스 모듈(405)에 위치하는 프레임워크(455)를 사용하여 범용 OS 환경(335)에 인텐트를 전달할 수 있다. 리소스 관리자 모듈(425)에 위치한 도킹 관리자 모듈(445)은 인텐트를 수신할 수 있다. 도킹 관리자 모듈(445)은 인텐트를 파싱하고/하거나 저장 위치(예를 들어, 디바이스 하드웨어(305)의 저장 위치)에 저장하도록 구성될 수 있다. 도킹 관리자(445)는 수신된 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터에 기반하여 웹 세션을 생성하고/하거나, 웹 브라우저(450)를 구성할 수 있다. 일례에서, 도킹 관리자 모듈(445)은 인텐트를 수신한 후, 사용자 선택을 위하여 사용자 인터페이스에 웹 세션 데이터 및/또는 웹 구성 데이터를 디스플레이할 수 있다. 하나 이상의 웹 세션 데이터가 선택된 후, 도킹 관리자 모듈(445)은 사용자 선택에 기반하여, 웹 브라우저(450)(또는 웹 세션 데이터와 관련된 다른 웹 애플리케이션)를 활성화하는 인텐트를 생성할 수 있으며, 웹 브라우저(450)는 웹 세션 데이터와 관련된 하나 이상의 웹 사이트, 웹 페이지, 웹 애플리케이션, 및/또는 그 밖의 웹 데이터를 오픈한다. 대체 또는 추가적으로, 웹 브라우저 구성 데이터가 선택된 후, 웹 브라우저(450)의 구성은 사용자 선택에 기반하여 업데이트될 수 있다.
전술한 바와 같이, 1차 OS 환경이 OS 환경들(330 및 335) 중 하나로부터 트랜지션되면, 도킹 관리자 모듈(445) 또는 커넥터 모듈(460)은 모드 상태 변경 신호를 수신할 수 있다. 모드 상태 변경 신호는 전자 디바이스(200)의 도킹 상태가 도킹 상태로부터 모바일 상태로 트랜지션되거나 모바일 상태로부터 도킹 상태로 트랜지션될 때 생성될 수 있다. 일례에서, 전자 디바이스(200)를 주변 디바이스에 연결하는 (HDMI 또는 USB 케이블과 같은) 케이블이 전자 디바이스(200)에 연결되었다고 나타내는 케이블 신호가 리소스 관리자 모듈(425)에 의해 수신된다. 또한, 전자 디바이스(200)를 주변 디바이스로부터 연결 해제하는 (HDMI 또는 USB 케이블과 같은) 케이블이 전자 디바이스(200)로부터 연결 해제되었다고 나타내는 케이블 신호가 리소스 관리자 모듈(425)에 의해 수신된다. 또한, 케이블 신호는 전자 디바이스(200)와 주변 디바이스 사이의 무선 통신이 인에이블 또는 디스에이블될 때 리소스 관리자 모듈(425)에 의해 수신될 수 있다. 케이블 신호가 리소스 관리자 모듈(425)에 의해 수신된 후, 모드 상태 트랜지션을 나타내는 신호가 리소스 관리자 모듈(425)로부터 포털 액티비티 모듈(410)에 전송된다. 신호를 수신한 것에 응답하여, 포털 액티비티 모듈(410)은 OS 환경들(330 및 335) 중 하나가 1차 OS 환경이라고 나타내는 신호를 리소스 관리자 모듈(425)에 전송한다. 예를 들어, 케이블이 전자 디바이스(200)로부터 연결 해제되었으면(또는 전자 디바이스(200)와 주변 디바이스 사이의 무선 연결이 디스에이블되었으면), 포털 액티비티 모듈(410)로부터 전송된 신호는 모바일 OS 환경이 1차 OS 환경이라고 나타낸다. 한편, 케이블이 전자 디바이스(200)에 연결되었으면(또는 전자 디바이스(200)와 주변 디바이스 사이의 무선 연결이 인에이블되었으면), 포털 액티비티 모듈(410)로부터 전송된 신호는 범용 OS 환경이 1차 OS 환경이라고 나타낸다. 또한, 1차 OS 환경이 되었던 OS 환경(330, 335)이 프레임 버퍼의 소유권을 취했다고 나타내는 신호가 리소스 관리자(425)로부터 포털 액티비티 모듈(405)에 전송된다. 추가적으로, 전자 디바이스(200)가 모바일 모드 또는 도킹 모드에 있다고 식별하는 모드 상태 변경 신호(모드 상태 변경 확인 신호라고도 지칭됨)가 포털 액티비티 모듈(410)로부터 리소스 모듈(425)에 전송된다. 모드 상태 변경 신호는 케이블이 연결 해제되었거나 무선 연결이 디스에이블되어 있으면 전자 디바이스(200)가 모바일 모드에 있다고 나타낸다. 모드 상태 변경 신호는 케이블이 연결되었거나 무선 연결이 인에이블 되어 있으면 전자 디바이스(200)가 도킹 모드에 있다고 나타낸다. 도킹 관리자(445) 및/또는 커넥터 모듈(460)은 모드 상태 변경 신호를 수신한다. 도킹 관리자(445) 및/또는 커넥터 모듈(460)은 모드 상태 변경 신호의 수신에 응답하여 각각의 웹 브라우저(450, 460)를 쿼리한다.
도 5는 1차 OS 환경이 제2 OS 환경으로부터 제1 OS 환경으로 트랜지션되는 경우 제2 OS 환경에서의 웹 세션 및/또는 웹 브라우저 구성에 기반하여 제1 OS 환경에서 웹 세션을 생성하고/하거나 웹 브라우저 구성을 업데이트하기 위한 예시적인 방법을 예시한다. 단계(505)에서, 제2 OS 환경에 위치한 제1 모듈은 제2 OS 환경으로부터 제1 OS 환경으로의 1차 OS 환경의 트랜지션을 결정한다. 제1 모듈은 전술한 바와 같은 도킹 관리자 모듈 또는 커넥터 모듈일 수 있다. 제1 모듈은 모드 상태 변경 신호의 수신에 기반하여 트랜지션을 결정할 수 있다. 단계(510)에서, 1차 OS 환경에서 트랜지션을 결정한 후, 제1 모듈은 웹 세션 데이터 및/또는 웹 브라우저 데이터를 결정할 수 있다. 제1 모듈은 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터에 대해 제2 OS 환경에 있는 웹 브라우저를 쿼리함으로써 데이터를 결정할 수 있다. 단계(515)에서, 제1 모듈은 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 제1 OS 환경에 전송 또는 전달한다. 단계(515)에서, 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터는 제2 OS 환경으로부터 제1 OS 환경으로 전달된다. 제1 모듈은 인텐트를 사용하여 데이터를 전송할 수 있다. 웹 브라우저로부터 데이터를 수신한 후, 사용자는 데이터를 포함하는 인텐트를 생성한다. 인텐트는 데이터에 수행될 하나 이상의 조치들을 포함할 수도 있다. 제1 OS 환경에 위치한 제2 모듈이 인텐트를 수신한다. 인텐트를 수신한 후, 제2 모듈은 데이터를 파싱 및/또는 저장할 수 있다. 단계(520)에서, 제1 OS 환경에서 웹 세션이 생성되고/되거나 웹 브라우저가 구성된다. 일례에서, 제1 OS 환경에서 웹 세션을 생성하고/하거나 웹 브라우저를 구성하는 것은 사용자 인터페이스에 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 디스플레이하는 것을 포함한다. 사용자가 사용자 인터페이스를 사용하여 사용자 선택을 입력한 후, 제2 모듈은 웹 세션 데이터 및/또는 웹 브라우저 데이터의 사용자 선택을 수신한다. 제2 모듈은 제1 OS 환경에서 웹 세션을 생성하고/하거나 웹 브라우저를 구성하는 인텐트를 생성할 수 있다. 사용자가 웹 세션 데이터의 일부 또는 전부를 선택하면, 제2 모듈은 제1 OS 환경에서 웹 브라우저 또는 그 밖의 다른 애플리케이션을 개시하고, 선택된 웹 세션 데이터와 관련된 웹 사이트, 웹 페이지, 웹 애플리케이션, 또는 다른 웹 데이터에 액세스하고/하거나 오픈하는 인텐트를 생성하여 제1 OS 환경의 프레임워크에 디스패치(dispatch)할 수 있다. 대체 또는 추가적으로, 사용자가 웹 브라우저 구성 데이터의 일부 또는 전부를 선택하면, 제2 모듈은 사용자 선택에 기반하여 제1 OS 환경에서 웹 브라우저의 구성을 업데이트하는 인텐트를 생성할 수 있다.
전술한 바와 같이, 전자 디바이스(200)는 전자 디바이스(200)의 도킹 또는 비-도킹과 같은 비요청 이벤트(unsolicited event)에 응답하여 모드 상태들 및/또는 환경들 사이에서 트랜지션될 수 있다. 대체 또는 추가적으로, 전자 디바이스(200)는 모바일 디바이스(200)를 도킹 또는 비-도킹하는 것 이외의 이벤트에 기반하고/하거나 비요청 이벤트 이외의 이벤트들에 기반하여 모드 상태들 및/또는 환경들 사이에서 트랜지션될 수 있다. 예를 들어, 전자 디바이스(200)가 미리 설정된 기간 동안 고정되어 있으면, 전자 디바이스(200)는 디바이스 상태와 무관하게 가장 에너지 효율적인 모드 상태에서 동작하도록 구성될 수 있다. 다른 예시에서, 디바이스가 주변 디바이스와의 연결을 갖는 경우에도 사용자는 모드 상태를 도킹으로부터 모바일로 트랜지션시킬 수 있다. 추가적으로, 모바일 디바이스(200)에 연결된 주변 디바이스의 타입은 자동 모드 상태 변경 시퀀스가 개시되는지 또는 사용자가 모드 상태 변경 요청을 제공하는지 여부를 좌우(dictate)할 수 있다. 일례에서, 사용자는 모바일 디바이스를 동작시키는 모드 상태를 선택할 수 있다.
또한, 사용자가 다른 환경과 관련된 애플리케이션을 활성화할 때 전자 디바이스(200)는 1차 환경으로서 하나의 OS 환경으로부터 다른 OS 환경으로 전환될 수 있다. 전자 디바이스(200)는 임의의 이벤트 또는 이벤트들이 모드 상태 변경을 트리거링할 수 있도록 구성될 수 있다. 일례로서, 전자 디바이스(200)가 웹 서버 또는 중간 서버와 통신하면, 웹 서버 또는 중간 서버로부터의 푸시(예를 들어, 서버로부터 전자 디바이스(200)로의 강제 정보 전송)는 하나의 OS 환경으로부터 푸시된 정보를 수신하는데 적합한 다른 OS 환경으로의 전환을 자동으로 트리거할 수 있다. 전자 디바이스(200)의 1차 OS 환경을 하나의 OS 환경으로부터 다른 OS 환경으로 트랜지션하는 전술한 이벤트 중 어느 하나는 하나의 OS 환경으로부터 다른 OS 환경으로 전달될 웹 세션 데이터 및/또는 웹 브라우저 구성 데이터를 트리거링할 수 있다.
본 발명은 실시예들 및 그 안에 포함된 예시들로 제한되지 않으며, 다음의 특허청구범위 내에 있는 실시예들의 일부 및 상이한 실시예들의 요소들의 조합을 포함하는 이들 실시예들의 변형 형태를 포함하는 것으로 특히 의도된다.

Claims (25)

  1. 전자 디바이스의 운영 체제(OS:operating system)의 제2 OS 환경에서의 제2 웹 세션에 기반하여 상기 전자 디바이스에서의 운영 체제의 제1 OS 환경에서의 제1 웹 세션을 생성하는 방법으로서,
    상기 전자 디바이스에서의 운영 체제의 상기 제2 OS 환경으로부터 상기 전자 디바이스에서의 운영 체제의 상기 제1 OS 환경으로의 상기 전자 디바이스에서의 운영 체제의 1차(primary) OS 환경의 트랜지션(transition)을 도킹 관리자 모듈을 통해 결정하는 단계;
    상기 제2 OS 환경으로부터 상기 제1 OS 환경으로의 1차 OS 환경의 트랜지션을 결정하는 것에 응답하여 상기 제2 웹 세션과 관련된 웹 세션 데이터를 상기 도킹 관리자 모듈을 통해 결정하는 단계; 및
    상기 제2 웹 세션과 관련된 웹 세션 데이터에 기반하여 상기 제1 OS 환경에서 커넥터 모듈을 통해 상기 제1 웹 세션을 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 전자 디바이스에서의 운영 체제의 제2 OS 환경으로부터 상기 전자 디바이스에서의 운영 체제의 상기 제1 OS 환경으로의 1차 OS 환경의 트랜지션을 결정하는 단계는 도킹 상태(docking state)에서의 트랜지션을 결정하는 단계를 포함하는 방법.
  3. 제2항에 있어서, 상기 도킹 상태에서의 트랜지션을 결정하는 단계는 도킹 상태로부터 비-도킹 상태(undocked state)로의 트랜지션을 결정하는 단계를 포함하는 방법.
  4. 제2항에 있어서, 상기 도킹 상태에서의 트랜지션을 결정하는 단계는 비-도킹 상태로부터 도킹 상태로의 트랜지션을 결정하는 단계를 포함하는 방법.
  5. 제1항에 있어서, 상기 제2 웹 세션과 관련된 웹 세션 데이터를 결정하는 단계는 상기 웹 세션 데이터에 대해 상기 제2 OS 환경에 있는 웹 브라우저를 쿼리(query)하는 단계를 포함하는 방법.
  6. 제1항에 있어서, 상기 제1 OS 환경에서 상기 제1 웹 세션을 생성하는 단계는,
    상기 웹 세션 데이터를 저장하는 단계; 및
    상기 저장된 웹 세션 데이터와 관련된 상기 제1 OS 환경에서의 애플리케이션을 활성화하는 단계
    를 포함하는 방법.
  7. 제6항에 있어서, 상기 제1 OS 환경에서의 애플리케이션을 활성화하는 단계는,
    상기 제1 OS 환경에서 웹 브라우저를 활성화하는 단계; 및
    상기 웹 브라우저에서 상기 웹 세션 데이터와 관련된 웹 사이트를 오픈하는 단계
    를 포함하는 방법.
  8. 제6항에 있어서, 상기 웹 세션 데이터의 사용자 선택을 위하여 상기 웹 세션 데이터를 디스플레이하는 단계를 더 포함하고,
    상기 애플리케이션은 상기 사용자 선택에 기반하여 상기 제1 OS 환경에서 활성화되는 방법.
  9. 전자 디바이스로서,
    상기 전자 디바이스에서의 운영 체제를 개시하도록 구성된 실행 명령들(executable instructions)을 갖는 메모리에 결합된 프로세서
    를 포함하고,
    상기 운영 체제는 단일 커널에서 제1 운영 체제(OS) 환경 및 제2 OS 환경을 실행하도록 구성되고,
    상기 전자 디바이스에서의 상기 운영 체제의 상기 제2 OS 환경은, 상기 전자 디바이스에서의 운영 체제의 제2 OS 환경으로부터 상기 전자 디바이스에서의 운영 체제의 상기 제1 OS 환경으로의 상기 전자 디바이스에서의 운영 체제의 1차 OS 환경의 트랜지션을 결정하고, 상기 전자 디바이스에서의 운영 체제의 제2 OS 환경에서 웹 세션과 관련된 웹 세션 데이터를 결정하도록 구성된 제1 모듈을 포함하고,
    상기 전자 디바이스에서의 운영 체제의 제1 OS 환경은, 상기 전자 디바이스에서의 운영 체제의 제1 OS 환경으로부터 상기 웹 세션 데이터를 수신하고, 상기 웹 세션 데이터와 관련된 상기 전자 디바이스에서의 운영 체제의 상기 제1 OS 환경에서의 애플리케이션을 활성화하도록 구성된 제2 모듈을 포함하는 전자 디바이스.
  10. 제9항에 있어서, 상기 제1 모듈은 또한 모드 상태 변경 신호를 수신하도록 구성되는 전자 디바이스.
  11. 제10항에 있어서, 상기 제1 모듈은 또한 상기 모드 상태 변경 신호의 수신에 응답하여 상기 웹 세션 데이터에 대해 상기 제2 OS 환경에 있는 웹 브라우저를 쿼리하도록 더 구성되는 전자 디바이스.
  12. 제10항에 있어서, 상기 모드 상태 변경 신호는 도킹 상태로부터 비-도킹 상태로의 변경을 나타내는 전자 디바이스.
  13. 제10항에 있어서, 상기 모드 상태 변경 신호는 비-도킹 상태로부터 도킹 상태로의 변경을 나타내는 전자 디바이스.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 전자 디바이스에서의 운영 체제의 제1 운영 체제(OS) 환경에서의 웹 브라우저의 구성을 업데이트하기 위한 방법으로서,
    상기 전자 디바이스에서의 운영 체제의 제2 OS 환경으로부터 상기 전자 디바이스에서의 운영 체제의 제1 OS 환경으로의 상기 전자 디바이스에서의 운영 체제의 1차 OS 환경의 트랜지션을 도킹 관리자 모듈을 통해 결정하는 단계;
    상기 제2 OS 환경으로부터 상기 제1 OS 환경으로의 1차 OS 환경의 트랜지션을 결정하는 것에 기반하여 상기 제2 OS 환경에서의 웹 브라우저의 구성을 상기 도킹 관리자 모듈을 통해 결정하는 단계; 및
    상기 제2 OS 환경에서의 웹 브라우저의 구성에 기반하여 상기 제1 OS 환경에서 상기 웹 브라우저의 구성을 커넥터 모듈을 통해 업데이트하는 단계
    를 포함하는 방법.
  23. 제22항에 있어서, 상기 전자 디바이스에서의 운영 체제의 제2 OS 환경으로부터 상기 전자 디바이스에서의 운영 체제의 상기 제1 OS 환경으로의 상기 전자 디바이스에서의 운영 체제의 1차 OS 환경의 트랜지션을 결정하는 단계는 도킹 상태에서의 트랜지션을 결정하는 단계를 포함하는 방법.
  24. 삭제
  25. 제22항에 있어서, 상기 제2 OS 환경에서의 상기 웹 브라우저의 웹 브라우저 구성 데이터는 보안 채널을 통해 상기 제2 OS 환경으로부터 상기 제1 OS 환경으로 전달되는 방법.
KR1020137017438A 2011-01-04 2011-12-29 운영 체제 환경 간의 웹 데이터 전달 KR101516903B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/984,387 2011-01-04
US12/984,387 US8782258B2 (en) 2011-01-04 2011-01-04 Transferring web data between operating system environments
PCT/US2011/067737 WO2012094222A2 (en) 2011-01-04 2011-12-29 Transferring web data between operating system environments

Publications (2)

Publication Number Publication Date
KR20130101571A KR20130101571A (ko) 2013-09-13
KR101516903B1 true KR101516903B1 (ko) 2015-05-11

Family

ID=45563505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137017438A KR101516903B1 (ko) 2011-01-04 2011-12-29 운영 체제 환경 간의 웹 데이터 전달

Country Status (5)

Country Link
US (1) US8782258B2 (ko)
EP (1) EP2661689A2 (ko)
KR (1) KR101516903B1 (ko)
CN (1) CN103477322B (ko)
WO (1) WO2012094222A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US8983536B2 (en) 2010-10-22 2015-03-17 Google Technology Holdings LLC Resource management in a multi-operating environment
US20120192100A1 (en) * 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
KR101831693B1 (ko) * 2011-03-08 2018-02-23 삼성전자주식회사 멀티 소프트웨어 플랫폼 기반의 휴대용 단말기에서 플랫폼 간 정보를 동기화하는 방법 및 장치
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US10089093B1 (en) * 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US9396041B2 (en) 2012-02-01 2016-07-19 Google Technology Holdings LLC Optimization of resource usage in a multi-environment computing system
US20130293573A1 (en) * 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
CN102880508A (zh) * 2012-09-14 2013-01-16 深圳市中兴移动通信有限公司 一种实现PC操控Android终端的方法及系统
US20150341347A1 (en) * 2014-05-23 2015-11-26 Google Inc. Methods and systems of issuing, transmitting and managing tokens using a low-latency session syndication framework
KR101590888B1 (ko) * 2014-11-27 2016-02-03 에스피테크놀러지 주식회사 Vid와 pid 정보를 이용한 휴대 단말기 인식 방법 및 그 장치
EP3267649B1 (en) * 2016-07-08 2019-02-13 Omron Corporation Method and industrial computing apparatus for performing a secure communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033843A1 (en) * 2002-01-21 2005-02-10 Anuroop Shahi Communication system and method for data web session transfer
US20100251265A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Operating System Distributed Over Heterogeneous Platforms

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI108478B (fi) * 1998-01-21 2002-01-31 Nokia Corp Sulautettu jõrjestelmõ
US7437550B2 (en) * 1999-12-02 2008-10-14 Ponoi Corp. System for providing session-based network privacy, private, persistent storage, and discretionary access control for sharing private data
US8285880B2 (en) * 2001-11-30 2012-10-09 Oracle International Corporation Servicing requests that are issued in a protocol other than the protocol expected by the service
JP2003196096A (ja) * 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
US7107331B2 (en) * 2002-03-25 2006-09-12 Kabushiki Kaisha Toshiba System and method for configuring digital image devices
US7952569B2 (en) 2002-08-08 2011-05-31 Hewlett-Packard Development Company, L.P. System and method of switching between multiple viewing modes in a multi-head computer system
AU2003287360A1 (en) * 2002-11-01 2004-06-07 Parker-Hannifin Corporation Human-machine interface system and method
US7437556B2 (en) * 2003-05-09 2008-10-14 Sun Microsystems, Inc. Global visibility controls for operating system partitions
US7158154B2 (en) 2003-06-18 2007-01-02 Lg Electronics Inc. Method for controlling display mode in portable computer
US7376949B2 (en) 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
US7779280B2 (en) 2005-09-16 2010-08-17 Gary Stephen Shuster Low power mode for portable computer system
US20080034193A1 (en) * 2006-08-04 2008-02-07 Day Michael N System and Method for Providing a Mediated External Exception Extension for a Microprocessor
US7689817B2 (en) * 2006-11-16 2010-03-30 Intel Corporation Methods and apparatus for defeating malware
US8706558B2 (en) * 2008-03-19 2014-04-22 Viewbix Inc. Video e-commerce
US8028089B2 (en) * 2008-08-12 2011-09-27 Disney Enterprises, Inc., A Delaware Corporation On-deck detection for a web site
US20100060572A1 (en) * 2008-09-11 2010-03-11 Ely Tsern Display device for interfacing with a handheld computer device that dynamically generates a different user environment for the display device
WO2010037022A1 (en) * 2008-09-26 2010-04-01 Fuhu, Inc. Hypervisor and webtop in a set top box environment
JP5137781B2 (ja) 2008-10-30 2013-02-06 株式会社エヌ・ティ・ティ・ドコモ 移動機及びアプリケーションの切替方法
US20100306224A1 (en) * 2009-06-02 2010-12-02 Yahoo! Inc. Online Measurement of User Satisfaction Using Long Duration Clicks
WO2012044557A2 (en) * 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033843A1 (en) * 2002-01-21 2005-02-10 Anuroop Shahi Communication system and method for data web session transfer
US20100251265A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Operating System Distributed Over Heterogeneous Platforms

Also Published As

Publication number Publication date
US8782258B2 (en) 2014-07-15
US20120173741A1 (en) 2012-07-05
EP2661689A2 (en) 2013-11-13
CN103477322A (zh) 2013-12-25
CN103477322B (zh) 2016-12-14
KR20130101571A (ko) 2013-09-13
WO2012094222A3 (en) 2012-10-04
WO2012094222A2 (en) 2012-07-12

Similar Documents

Publication Publication Date Title
KR101516903B1 (ko) 운영 체제 환경 간의 웹 데이터 전달
US11509708B2 (en) Application sharing method and apparatus
JP5930236B2 (ja) ウェブアプリケーションアーキテクチャ
US10970101B2 (en) System and method for dynamically configuring virtual displays and virtual inputs for different remote sessions that each present content for a virtual machine
KR101702729B1 (ko) 다중 환경 운영 시스템에서 환경을 전환하는 시스템 및 방법
US10659449B2 (en) Application managed service instances
KR20200047494A (ko) 자동 애플리케이션 업데이트
US9160796B2 (en) Cross-environment application compatibility for single mobile computing device
US10491700B2 (en) Application managed service instances
KR20140043167A (ko) 멀티-환경 운영 체제
US11392395B2 (en) Generating and presenting contextual user interfaces on devices with foldable displays
EP3460675A1 (en) Method and device for acquiring web content
EP2954452B1 (en) Resilient portals through sandboxing
EP2630576A2 (en) Goal state communication in computer clusters
US20140068021A1 (en) Configuring client services
US9270788B2 (en) Terminal device and data communication method thereof
US20200089512A1 (en) Method and Apparatus for Invoking Input Method, Server, and Terminal
US11233853B1 (en) System and method for controlling remote sessions executing on other devices
US20140337801A1 (en) Methods and systems for displaying icons on a user interface
KR20120082300A (ko) 콘텐츠 제공 장치 및 방법
CA2812425C (en) Method, apparatus and system for transmitting an application using a plurality of computers
Huang et al. Design and implementation of an adaptive Web2. 0 QoS‐based home appliance control service platform
KR101392773B1 (ko) 홈 어플리케이션을 실행하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
EP3413228A1 (en) Collecting device, mobile device program product, and method for a security analysis of a computing system
KR20090030677A (ko) 휴대 단말기의 통신망 접속 설정 방법 및 그 기능이 탑재된휴대 단말기

Legal Events

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