KR101260934B1 - 애플리케이션 동기화 방법 및 시스템 - Google Patents

애플리케이션 동기화 방법 및 시스템 Download PDF

Info

Publication number
KR101260934B1
KR101260934B1 KR1020110130290A KR20110130290A KR101260934B1 KR 101260934 B1 KR101260934 B1 KR 101260934B1 KR 1020110130290 A KR1020110130290 A KR 1020110130290A KR 20110130290 A KR20110130290 A KR 20110130290A KR 101260934 B1 KR101260934 B1 KR 101260934B1
Authority
KR
South Korea
Prior art keywords
operating system
application
module
operating
synchronization
Prior art date
Application number
KR1020110130290A
Other languages
English (en)
Inventor
김수현
송규원
Original Assignee
한국과학기술연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술연구원 filed Critical 한국과학기술연구원
Priority to KR1020110130290A priority Critical patent/KR101260934B1/ko
Application granted granted Critical
Publication of KR101260934B1 publication Critical patent/KR101260934B1/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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 실시예는 애플리케이션 동기화 시스템에 의한 제1 운영체제 및 제2 운영체제 사이의 애플리케이션을 동기화하기 위하여, 상기 제1 운영체제를 실행하는 제1운영체제 실행단계; 상기 제1 운영체제 상에서 동작하는 애플리케이션 실행모듈을 상기 애플리케이션 동기화 시스템이 접근 가능한 저장매체에 저장하는 대기단계; 및 상기 저장매체로부터 상기 애플리케이션 실행모듈을 입력받아 상기 제2 운영체제 상에서 동작하도록 제어받는 제2운영체제 실행단계를 포함하는 것을 특징으로 하는 애플리케이션 동기화 방법 및 시스템을 제공한다.

Description

애플리케이션 동기화 방법 및 시스템{Method and System For Application Synchronization}
본 발명의 실시예는 애플리케이션 동기화 방법 및 시스템에 관한 것이다. 더욱 상세하게는, 애플리케이션이 어떤 운영체제(OS: Operating System) 상에서 동작하고 있을 때 새로운 OS가 실행되면 해당 애플리케이션이 이전에 동작하던 상태 그대로 새로운 OS 상에서 동작할 수 있도록 하기 위한 애플리케이션 동기화 방법 및 시스템에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근 출시되는 개인용 컴퓨터에는, 네이티브 운영 체제(native operating system)가 부팅(booting)되지 않은 상태에서도 내장 운영 체제(embedded operating system)를 통하여 MP3 파일 등 음원 파일 재생, 웹 서핑 등과 같은 비교적 단순한 동작을 수행하는 인스턴트 온(instant on) 기능이 내장되어 있다. 또한 멀티 OS를 사용하도록 하는 기술의 발전으로 한 기기 컴퓨터 내에 여러개의 다른 운영 체제를 운영할 수 있는 기능이 구비되는 경우가 있다.
네이티브 운영 체제와 내장 운영 체제의 두 개의 운영 체제를 포함하는 시스템 등에서, 사용자의 작업 내용이 기록되는 영역은 각 운영 체제마다 분리되어 있다. 따라서, 다른 운영 체제에서 작업한 내용을 불러오기 위해서는 수동으로 자료를 저장하고 불러들이는 과정을 거쳐야 하며, 이때 중요한 정보를 잃어버리는 경우도 많다.
예를 들어, 사용자가 네이티브 운영 체제를 부팅하지 않고 즉시 사용할 수 있는 인스턴트 온 기능을 사용하여 음악을 들으면서 웹 서핑을 하고 있던 도중에 네이티브 운영 체제에서만 접근 가능한 웹사이트(예컨대, 높은 보안 수준을 요구하는 인트라넷(intranet) 등)에 접근하고자 할 경우, 사용자는 반드시 내장 운영 체제를 종료하고 네이티브 운영 체제를 새롭게 부팅하여 해당 웹사이트에 접근하여야 한다. 운영 체제를 전환하는 동안 내장 운영 체제에서 작업하였던 각종 정보(예컨대, 열람했던 웹 페이지 히스토리 정보, 작성 중이었던 글 등)는 모두 잃게 된다.
따라서, 예컨대 듣고 있던 음악을 이어서 듣기 위해서는 해당 음원 파일을 찾아 다시 재생시키는 수고를 감수해야 한다.
등록특허공보 제10-1024305호
전술한 문제점을 해결하기 위해 본 발명의 실시예는, 복수 개의 운영체제(operating system)를 실행하도록 구성된 시스템에서, 하나의 운영 체제로부터 다른 운영 체제로 전환하는 경우 이전 운영 체제상의 작업 내용을 다음 운영 체제로 그대로 옮겨주어 자연스럽게 작업을 이어서 진행할 수 있도록 하는 데에 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 실시예의 일 측면에 의하면, 제1 운영체제를 실행하는 제1 운영모듈; 제2 운영체제를 실행하며, 상기 제1 운영모듈과 전환되며 동작하는 제2 운영 모듈; 상기 제1 운영모듈의 동작이 종료되는 경우에, 상기 제1 운영체제 상에서 동작하는 애플리케이션을 대기모드로 전환하는 제1 동기화모듈; 상기 애플리케이션이 상기 제2 운영체제 상에서 동작하도록 인터페이스를 제공하는 애플리케이션 인터페이스부; 및 상기 제2 운영모듈의 동작이 개시되는 경우에 상기 대기모드로 전환된 애플리케이션이 상기 인터페이스를 이용하여 상기 제2 운영체제 환경에서 동작하도록 제어하는 제2 동기화모듈을 포함하는 것을 특징으로 하는 애플리케이션 동기화 시스템을 제공한다.
상기 제1 동기화모듈은, 상기 제1 동기화모듈에 의해 상기 애플리케이션이 대기모드로 전환하는 경우 상기 애플리케이션의 실행모듈을 저장할 수 있다.
상기 제2 동기화모듈은, 대기모드로 저장되어 있는 애플리케이션 실행모듈을 입력받아 이전 실행위치에서부터 상기 제2 운영체제 상에서 재실행되도록 상기 인터페이스부에 제공할 수 있다.
상기 제2 동기화모듈은, 상기 애플리케이션의 프로세스 및 그에 수반되는 자식 프로세스도 동시에 상기 제2 운영체제 상에서 동작하도록 상기 애플리케이션의 프로세스 및 그에 수반되는 자식 프로세스에 대한 정보를 상기 인터페이스부에 제공할 수 있다.
상기 인터페이스부는, 상기 제1 운영체제에서의 동작 환경과 동일한 동작 환경을 갖도록 인터페이스를 제공할 수 있다.
전술한 목적을 달성하기 위해 본 발명의 실시예의 일 측면에 의하면, 제1 운영체제를 실행하는 제1 운영모듈; 제2 운영체제를 실행하며, 상기 제1 운영모듈과 전환되며 동작하는 제2 운영 모듈; 상기 제1 운영모듈의 동작이 종료되는 경우에, 상기 제1 운영체제, 및 상기 제1 운영체제 상에서 동작하는 애플리케이션을 대기모드로 전환하는 제1 동기화모듈; 상기 제1 운영체제가 상기 제2 운영체제 상에서 동작하도록 인터페이스를 제공하는 애플리케이션 인터페이스부; 및 상기 제2 운영모듈의 동작이 개시되는 경우에 상기 대기모드로 전환된 상기 제1 운영체제 및 상기 애플리케이션이 상기 인터페이스를 이용하여 상기 제2 운영체제 환경에서 동작하도록 제어하는 제2 동기화모듈을 포함하는 것을 특징으로 하는 애플리케이션 동기화 시스템을 제공한다.
상기 제1 동기화모듈은, 상기 제1 동기화모듈에 의해 상기 제1 운영체제 및 상기 애플리케이션이 대기모드로 전환하는 경우 상기 제1 운영체제 및 상기 애플리케이션의 실행모듈을 저장할 수 있다.
상기 제2 동기화모듈은, 대기모드로 저장되어 있는 상기 제1 운영체제 및 상기 애플리케이션 실행모듈을 입력받아 이전 실행위치에서부터 상기 제2 운영체제 상에서 재실행되도록 상기 인터페이스부에 제공할 수 있다.
전술한 목적을 달성하기 위해 본 발명의 실시예의 일 측면에 의하면, 애플리케이션 동기화 시스템에 의한 제1 운영체제 및 제2 운영체제 사이의 애플리케이션 동기화 방법에 있어서, 상기 제1 운영체제를 실행하는 제1운영체제 실행단계; 상기 제1 운영체제 상에서 동작하는 애플리케이션 실행모듈을 상기 애플리케이션 동기화 시스템이 접근 가능한 저장매체에 저장하는 대기단계; 및 상기 저장매체로부터 상기 애플리케이션 실행모듈을 입력받아 상기 제2 운영체제 상에서 동작하도록 제어하는 제2운영체제 실행단계를 포함하는 것을 특징으로 하는 애플리케이션 동기화 방법을 제공한다.
상기 제2운영체제 실행단계에서는, 대기모드로 저장되어 있는 애플리케이션 실행모듈에 대하여 이전 실행위치에서부터 상기 제2 운영체제 상에서 재실행되도록 제어할 수 있다.
전술한 목적을 달성하기 위해 본 발명의 실시예의 일 측면에 의하면, 애플리케이션 동기화 시스템에 의한 제1 운영체제 및 제2 운영체제 사이의 애플리케이션 동기화 방법에 있어서, 상기 제1 운영체제를 실행하는 제1운영체제 실행단계; 상기 제1 운영체제, 및 상기 제1 운영체제 상에서 동작하는 애플리케이션 실행모듈을 상기 애플리케이션 동기화 시스템이 접근 가능한 저장매체에 저장하는 대기단계; 및 상기 저장매체로부터 상기 애플리케이션 실행모듈을 입력받아 상기 제2 운영체제 상에서 동작하도록 제어하는 제2운영체제 실행단계를 포함하는 것을 특징으로 하는 애플리케이션 동기화 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 응용 프로그램을 실행 하던 중 네이티브 운영 체제(native operating system)로 전환하는 경우 또는 그 역의 경우 등에 있어서, 작업 중인 내용을 따로 저장하는 등의 불편 없이 이를 자동으로 저장하고 운영 체제의 전환 후 다시 불러들여 종전 작업 내용을 복구시킴으로써 사용자의 편의성을 대폭 향상하는 효과가 있다.
또한, 운영체제 전환 후에 OS를 제외하고 실행중인 응용 애플리케이션만 불러들여 재실행하도록 함으로서 OS 전체를 불러들여 재실행하는 경우에 비하여 메인 메모리의 소모가 적은 장점이 있다.
또한, 운영체제 전환 후에 전환되기 전의 운영체제를 전환된 후의 운영체제에 로딩하여 실행하는 경우에는 전환되기 전 운영체제 상에서 동작되는 개별 애플리케이션별로 인터페이스를 만들지 않아도 되는 장점이 있다.
도 1은 본 발명의 실시예에 따른 애플리케이션 동기화 시스템의 일 예를 도시한 도면이다.
도 2는 이와 같은 운영체제 전환을 위한 소프트웨어 구조를 나타낸 블록도이다.
도 3은 위와 같은 운영체제 전환을 위한 소프트웨어 구조를 나타낸 블록도이다.
도 4는 일 실시예에 따른 애플리케이션 동기화 방법의 각 단계를 도시한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 동기화 시스템의 일 예를 도시한 도면이다.
본 발명의 일 실시예에 따른 애플리케이션 동기화 시스템은 처리장치(110, Processing Unit), 제1 운영모듈(120), 제2 운영모듈(130), 제1 동기화모듈(140) 및 제2 동기화모듈(150)을 포함한다.
처리 장치(110)는 개인용 컴퓨터 또는 서버 컴퓨터 등의 범용의 컴퓨팅 장치에 포함되는 다양한 형태의 처리 수단일 수 있다. 처리 장치(110)는 시스템 버스를 통해 하나 이상의 시스템 컴포넌트(예컨대, 휘발성/비휘발성 메모리, 하나 이상의 입력장치 및/또는 하나 이상의 출력 장치 등)와 연결되어, 통상의 컴퓨터의 기능을 수행할 수 있다.
제1 운영모듈(120)은 처리 장치(110)를 이용하여 제1 운영체제를 실행시키기 위한 부분이며, 제2 운영모듈(130)은 처리 장치(110)를 이용하여 제2 운영체제를 실행시키기 위한 부분이다. 제1 운영모듈(120) 및 제2 운영모듈(130)은 서로 전환되며 동작할 수 있다. 즉, 전체 시스템은 제1 운영체제 또는 제2 운영체제 중 어느 하나를 부팅(booting)시켜 동작하고, 버튼을 누르거나 명령을 입력하는 등 사용자의 특정 입력 등에 반응하여 시스템의 운영 체제가 제1 운영 체제로부터 제2 운영 체제로, 또는 제2 운영 체제로부터 제1 운영 체제로 전환될 수 있다.
제1 및 제2 운영 체제는 네이티브 운영 체제(navive operating system), 내장 운영 체제(embedded operating system), 또는 네이티브 운영 체제 상의 가상머신(virtual machine)에 포함된 운영 체제, 또는 다른 적당한 용도의 운영 체제일 수 있다. 예컨대, 제1 및 제2 운영 체제는 윈도우(Windows), 리눅스(Linux) 또는 안드로이드 OS(Android OS) 등 다른 적당한 운영 체제일 수 있다.
본 명세서에서 "장치", "모듈" 또는 "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 또는 소프트웨어 등으로 구현될 수 있는 컴퓨터 관련 엔티티(entity)를 지칭한다. 예를 들어, 본 명세서에서 모듈은 실행중인 프로세스, 프로세서, 객체, 실행파일(executable), 실행 스레드(thread of execution), 프로그램 및/또는 컴퓨터일 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서, 애플리케이션 동기화 시스템은 저장 매체(160)를 더 포함할 수도 있다.
저장 매체(160)는 하나 이상의 자기 저장 장치(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립(strip) 등), 광학 디스크(예컨대, CD, DVD 등), 스마트 카드, 플래쉬 메모리 장치, 휘발성/비휘발성 메모리 등의 컴퓨터로 판독 가능한 다른 매체를 포함할 수 있다.
저장 매체(160)는 제1 및 제 2 운영 체제에 의한 작업 영역으로 사용될 수 있다. 또한 제1 및 제2 운영 체제 자체가 저장 매체(160)에 직접 설치될 수도 있다. 또한, 제1 및 제2 운영체제 중에서 일부분은 휘발성 메모리에 저장되어 실행되고 일부분은 비휘발성 메모리에 저장되어 필요에 따라 휘발성 메모리와 비휘발성 메모리 사이를 페이지 인/아웃 하는 방법으로 사용될 수도 있다.
제1 동기화 모듈(140)은, 시스템의 운영 체제가 제1 운영 체제로부터 제2 운영 체제로 전환되는 것을 감지하고, 이에 반응하여 제1 운영 체제 상에서 동작하는 애플리케이션을 대기모드로 전환하여 애플리케이션에 대한 정보를 저장할 수 있다. 여기서 애플리케이션에 대한 정보란, 예컨대 프로세스 형태로 시스템 메모리 상에 상주하면서 동작되는 애플리케이션 실행모듈일 수 있다. 이러한 애플리케이션 실행모듈로는 애플리케이션 프로세스 형태를 들 수 있으며, 이외에도 실행 스레드(thread of execution) 형태 등일 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
제1 동기화 모듈(140)은 제1 운영 체제 상에서 동작하는 애플리케이션을 대기모드로 전환하는 경우 애플리케이션 실행모듈을 저장매체(160)에 저장할 수 있다. 추후 제2 동기화 모듈(150)은 저장매체(160)에 저장된 애플리케이션 실행모듈을 읽어들여 제2 운영 체제에서 동작되도록 할 수 있다.
인터페이스부(170)는 애플리케이션 실행모듈이 제2 운영체제 상에서 동작하도록 제2운영체제 상에서와 동일한 동작환경을 구축하는 인터페이스를 제공한다. 즉, 인터페이스부는, 제1 운영체제에서의 동작 환경과 동일한 동작 환경을 갖도록 애플리케이션에게 인터페이스를 제공한다.
제2 동기화 모듈(150)은, 운영 체제가 전환되어 제1 운영 체제가 종료되고 제2 운영 체제가 부팅된 후 인터페이스부(170)를 제어하여 저장된 애플리케이션 실행모듈(예컨대, 애플리케이션 프로세스)을 읽어들이고 애플리케이션 프로세스를 제2 운영체제 환경에서 계속 동작되도록 한다.
애플리케이션 실행모듈이 인터페이스부(170)를 통하여 제2 운영체제로 전달되어 제2 운영체제가 해당 애플리케이션 프로세스가 제1 운영체제 하에서 실행이 중단된 지점부터 재실행 할 수 있다.
도 2는 이와 같은 운영체제 전환을 위한 소프트웨어 구조를 나타낸 블록도이다.
제1운영체제를 안드로이드 OS, 제2 운영체제를 윈도우 OS라 가정하고 안드로이드 OS에서 음악 애플리케이션(App. A)을 실행 중이라고 가정하자. 만일, 안드로이드 OS가 동작되다가 동작을 멈추고 제2운영체제(예컨대 윈도우(Windows))가 동작되는 경우에 안드로이드 OS에서 동작되던 음악 애플리케이션(App. A)은 도 2에 도시한 바와 같이, 윈도우 OS에서 동작되도록 인터페이스부(인터페이스 A)를 구비한다. 인터페이스 A는 윈도우 OS 상에서 동작되는 것으로서 음악 애플리케이션에게 안드로이드 OS와 같은 동작환경을 제공한다. 이 경우, 각 애플리케이션마다독립적인 인터페이스부가 필요하다. 즉, App. B를 위하여는 인터페이스 B가 제공된다.
한편, 제1 동기화 모듈(140)은, 시스템의 운영 체제가 제1 운영 체제로부터 제2 운영 체제로 전환되는 것을 감지하고, 이에 반응하여 제1 운영체제, 및 제1 운영 체제 상에서 동작하는 애플리케이션을 대기모드로 전환하여 애플리케이션에 대한 정보 및 제1 운영체제에 대한 정보 등을 저장할 수 있다. 전술하였듯이, 애플리케이션에 대한 정보란, 예컨대 프로세스 형태로 시스템 메모리 상에 상주하면서 동작되는 애플리케이션 실행모듈을 의미하며, 제1 운영 체제에 대한 정보 역시 제1 운영체제에 대한 프로세스와 같은 실행모듈 정보를 의미한다.
제1 동기화 모듈(140)은 제1 운영체제, 및 제1 운영 체제 상에서 동작하는 애플리케이션을 대기모드로 전환하는 경우 제1 운영체제의 실행모듈 및 애플리케이션 실행모듈을 저장매체(160)에 저장할 수 있다. 추후 제2 동기화 모듈(150)은 저장매체(160)에 저장된 제1 운영체제의 실행모듈 및 애플리케이션 실행모듈을 읽어들여 제2 운영 체제에서 동작되도록 할 수 있다.
인터페이스부(170)는 제1 운영체제의 실행모듈이 제2 운영체제 상에서 동작하도록 제2운영체제 상에서와 동일한 동작환경을 구축하는 인터페이스를 제공한다.
제2 동기화 모듈(150)은, 운영 체제가 전환되어 제1 운영 체제가 종료되고 제2 운영 체제가 부팅된 후 인터페이스부(170)를 제어하여 저장된 애플리케이션 실행모듈(예컨대, 애플리케이션 프로세스) 및 제1 운영체제 실행모듈을 읽어들이고 저장된 제1 운영체제 실행모듈 및 애플리케이션 실행모듈이 제2 운영체제 환경에서 계속 동작되도록 한다.
애플리케이션 실행모듈이 인터페이스부(170)를 통하여 제2 운영체제로 전달되면, 제2 운영체제는 제1 운영체제를 실행이 중단된 지점부터 재실행한다. 따라서, 제1 운영체제 상에서 동작하던 애플리케이션이 계속 동작될 수 있다.
도 3은 또 다른 실시예에 따른 운영체제 전환을 위한 소프트웨어 구조를 나타낸 블록도이다.
제1운영체제를 안드로이드 OS, 제2 운영체제를 윈도우 OS라 가정하고 안드로이드 OS에서 음악 애플리케이션(App. A)을 실행 중이라고 가정하자. 만일, 안드로이드 OS가 동작되다가 제2운영체제(예컨대 윈도우(Windows))가 동작되는 경우에 안드로이드 OS를 위한 인터페이스 C를 구비한다. 인터페이스 C는 윈도우 OS 상에서 동작되는 것으로서 대기상태로 저장된 안드로이드 OS가 윈도우 상에서 동작될 수 있도록 한다. 이 경우 안드로이드 OS 상에서 동작하던 애플리케이션을 위한 독립적인 인터페이스는 필요치 않고 안드로이드 OS를 위한 하나의 인터페이스만 필요하다. 즉, App. A 및 App. B를 위하여 인터페이스 C가 제공된다. 이러한 인터페이스 C는 OS 가상화를 통해 구현될 수도 있다.
따라서, 이와 같은 기능을 갖는 인터페이스부를 구비함으로써 운영 체제의 전환 전에 사용자가 제1 운영 체제상에서 수행하던 작업 내용을 제2 운영 체제상에 그대로 옮겨오는 것이 가능하다.
전술한 제1 및 제2 동기화 모듈(140, 150)과 인터페이스부(170)는 각각 제1 및 제2 운영 체제상에서 실행될 수 있는 애플리케이션의 형태로 구현될 수도 있다. 예를 들어, 제1 및 제2 동기화 모듈(140, 150)과 인터페이스부(170)는 각각 제1 및 제2 운영 체제가 부팅된 후 자동으로 또는 사용자의 입력에 의해 실행되는 애플리케이션일 수도 있다. 제1 및 제2 동기화모듈(140, 150)와 각각 제1 및 제 2 운영 체제의 일부분으로서 일체화될 수도 있으며, 또는 제1 및 제2 운영 체제와 독립적으로 구성되어 각 운영 체제상에 설치 가능한 별도의 애플리케이션일 수도 있다. 마찬가지로 인터페이스부(170) 역시 제 2 운영 체제의 일부분으로서 일체화될 수 있다.
이상에서 설명한 일 실시예에 따른 애플리케이션 동기화 시스템의 동작에 대하여, 도 2를 참조하여 후술하는 일 실시예에 따른 애플리케이션 동기화 방법과 관련하여 보다 상세히 설명한다.
도 4는 일 실시예에 따른 애플리케이션 동기화 방법의 각 단계를 도시한 순서도이다.
도 1 및 도 4를 참조하면, 애플리케이션 동기화 방법에 따라 먼저 제1 운영체제를 실행할 수 있다(S410). 이는 제1 운영모듈(120)이 처리 장치(110)를 이용하여 제1 운영체제를 실행함으로써 수행될 수 있다. 제1 운영체제를 실행하는 과정은 제1 운영체제를 부팅시키는 과정을 포함할 수도 있다. 일 예로, 제1 운영 체제는 인스턴트 온(instant on) 기능에 의하여 실행되는 내장 운영 체제일 수 있다. 인스턴트 온 기능에 대응되는 사용자의 특정 입력 등에 반응하여, 제1 운영 모듈(120)이 처리 장치(110)를 이용하여 제1 운영 체제를 부팅시킬 수 있다.
제1 운영 체제가 실행되면 제1 동기화 모듈(140)이 동작될 수도 있다. 즉, 제1 동기화 모듈(140)은 제1 운영 체제가 부팅되면 자동으로 실행되는 애플리케이션의 형태로 구현될 수 있다. 그러나, 이는 예시적인 것으로서, 제1 동기화 모듈(140)은 운영 체제의 전환을 위한 신호 및/또는 명령에 반응하여 구동되거나, 또는 사용자의 입력에 따라 수동적으로 구동되는 애플리케이션의 형태로 구성될 수도 있다.
다음으로, 제1 운영 체제상에서 하나 이상의 애플리케이션을 실행할 수 있다(S420). 제1 운영 체제가 내장 운영 체제일 경우, 제1 운영 체제상에서 실행되는 애플리케이션은 MP3 파일 등과 같은 음원 파일, 이미지 파일, 또는 동화상 파일 등을 재생하기 위한 미디어 플레이어(media player), 웹 서핑을 하기 위한 웹 브라우저(web browser), 또는 문서를 작성하기 위한 워드 프로세서(word processor) 등과 같이 상대적으로 간단한 업무를 수행하기 위한 소프트웨어일 수 있다.
다음으로, 제1 운영 체제로부터 제2 운영 체제로의 전환을 위한 신호 및/또는 명령이 입력되면, 제1 운영 체제에서 실행되고 있던 애플리케이션을 대기모드로 저장할 수 있다(S430). 여기서 대기모드인 경우 제1 운영체제 상에서 실행중이던 애플리케이션 프로세스는 저장매체(160)에 저장될 수 있다. 여기서 프로세스란 메모리에 상주되어 실행중이던 애플리케이션 프로그램을 구성하는 명령어 등에 대한 처리위치, 내부 프로그램 변수 등의 데이터 등 '실행중인 프로그램'에 대한 총체적 정보를 의미한다. 이러한 정보는 제1 운영체제 하에서 관리된다. 만일, 도 3과 같이 제1 운영체제가 제2 운영체제 상에서 동작하도록 구현하는 경우에 S430단계에서는, 제1 운영 체제에서 실행되고 있던 애플리케이션 뿐만 아니라 제1 운영 체제도 대기모드로 저장매체(160)에 저장한다.
대기모드로 저장되어 제2 운영모듈(150)에 의해 제2 운영체제에서 실행되는 애플리케이션은 하나 이상일 수 있으며, 하나의 프로세스는 부모 프로세스(parent process)로서 동작하여 자식프로세스(child process)라는 하위계층이 존재할 수도 있다. 프로그램이나 명령어에 의해 시작된 부모 프로세스가 자신이 생성한 하나 이상의 자식프로세스를 관리할 수 있으며, 이러한 경우에 제1 동기화 모듈(140)은 대기모드로 저장하고자 하는 애플리케이션 뿐만 아니라 해당 애플리케이션이 실행되면서 생성한 자식 프로세스에 대한 정보도 같이 대기모드로 저장할 수 있다. 본 발명의 실시예는 이와 같이 여러 개의 프로세스가 동시에 실행되는 멀티태스킹(multitasking) 환경에서도 적용 가능하다.
일반적으로 제1 운영 체제가 내장 운영 체제일 경우, 내장 운영 체제에서는 상대적으로 단순한 동작만을 수행할 수 있다. 예를 들어, 내장 운영 체제를 통해 쇼핑몰 홈페이지를 열람하던 사용자가 제품 구매를 위하여 전자 인증 및/또는 결제를 필요로 하는 경우에는, 사용중인 내장 운영 체제를 종료하고 네이티브 운영 체제로 부팅할 필요가 있을 수 있다.
제1 동기화 모듈(140)은 운영 체제의 전환에 관련된 신호 및/또는 명령을 감지하고, 이에 반응하여 제1 운영 체제에서 동작하는 애플리케이션의 프로세스를 저장매체(160)에 저장할 수 있다. 저장매체(160)에 저장된 애플리케이션 프로세스가 추후 제2 운영 체제에 의하여 접근될 수 있다.
제1 운영체제에서 실행되던 애플리케이션 프로세스가 대기모드가 된 후에 제1 운영 모듈(120)은 제1 운영 체제를 종료시킬 수 있으며, 이어서 제2 운영 모듈(130)에 의해 제2 운영 체제가 부팅될 수 있다(S440). 예컨대, 제1 운영 체제가 내장 운영 체제일 경우 제2 운영 체제는 네이티브 운영 체제일 수도 있다.
제2 운영 체제가 부팅되면, 자동으로 또는 사용자의 입력에 따라 제2 동기화모듈(150)의 동작이 개시될 수 있다. 그리고 제2 동기화 모듈(150)은 전술한 단계(S230)에서 저장된 애플리케이션 프로세스를 로딩할 수 있다(S450). 전술하였듯이, 로딩되는 애플리케이션 프로세스는 하나일 수도 있지만 해당 애플리케이션 프로세스의 자식 프로세스도 포함될 수 있다. 또한 이러한 애플리케이션 프로세스의 로딩 및 실행을 위하여 인터페이스부(170)을 구비함으로써 애플리케이션 프로세스가 제2 운영체제 하에서 제1 운영체제에서와 동일한 동작환경으로 동작 가능하도록 한다. 만일, 도 3과 같이 제1 운영체제가 제2 운영체제 상에서 동작하도록 구현하는 경우에 S450단계에서는, S430단계에서 저장된 애플리케이션 프로세스 및 제1 운영 체제 프로세스를 로딩한다.
제2 동기화 모듈(150)은 대기상태인 애플리케이션 프로세스를 로딩하여 제2 운영 체제가 실행할 수 있도록 할 수 있다(S460). 즉, 제2 동기화 모듈(150)은 읽어들인 프로세스에서 실행중이던 명령어 등에 대한 처리위치, 내부 프로그램 변수 등의 데이터 등에 대한 정보를 제2 운영체제로 전달하여 제2 운영체제가 해당 애플리케이션 프로세스가 제1 운영체제 하에서 실행이 중단된 지점부터 재실행할 수 있도록 한다. 만일, 도 3과 같이 제1 운영체제가 제2 운영체제 상에서 동작하도록 구현하는 경우에 S460단계에서는, 제2 동기화 모듈(150)은 대기상태인 애플리케이션 프로세스 및 제1 운영체제 프로세스를 로딩하여 제1 운영체제 프로세스가 인터페이스부(170)를 이용하여 제2 운영 체제 상에서 실행될 수 있도록 함으로써 제1 운영체제 상에서 동작하던 애플리케이션 프로세스를 계속 동작시킨다.
운영 체제상에서는 하나 이상의 애플리케이션을 실행할 수 있다. 예를 들어, 제2 동기화 모듈(150)은 제2 운영 체제상에서 웹 브라우저를 실행시키고 제1 운영 체제상에서 사용자가 열람 중이던 웹 사이트에 접속하거나, 제1 운영 체제상에서 사용자가 듣고 있던 음원 파일을 재생하는 등, 제1 운영 체제상의 종전 작업 내용을 그대로 옮겨올 수 있다. 따라서, 사용자가 작업 내용을 별도로 저장할 필요 없이 자연스럽게 작업이 이어질 수 있으므로 사용자의 편의성이 대폭 향상될 수 있다.
이상에서 살펴본 실시예는 제1 운영 체제가 내장 운영 체제이며 제2 운영 체제가 네이티브 운영 체제인 경우에 대하여 설명되었다. 그러나 이는 예시적인 것으로서, 반대로 제1 운영 체제가 네이티브 운영 체제이며 제2 운영 체제가 내장 운영체제인 경우에도 본 발명에 따른 애플리케이션 동기화 시스템 및 방법이 적용될 수 있음은 자명하다.
이상에서 설명한 네이티브 운영 체제와 내장 운영 체제 사이의 전환 방식들은 단지 예시적인 것으로서, 본 명세서에 기술되지 않은 다른 상이한 방식에 의하여 전환 동작이 이루어질 수도 있다. 나아가, 제1 운영 체제가 네이티브 운영 체제상의 가상 머신에 포함된 운영 체제이며 제2 운영 체제가 네이티브 운영 체제인 경우나, 혹은 그 반대의 경우에도 본 발명에 따른 애플리케이션 동기화 시스템 및 방법이 적용될 수 있으며, 그 외에 본 명세서에서 기재되지 않은 다른 복수 개의 운영 체제 사이의 상태 전환에 적용될 수도 있다.
전술한 애플리케이션 동기화 방법은 도면에 제시된 순서도를 참조로 하여 설명되었다. 간단히 설명하기 위하여 상기 방법은 일련의 블록들로 도시되고 설명되었으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 다른 블록들과 본 명세서에서 도시되고 기술된 것과 상이한 순서로 또는 동시에 일어날 수도 있으며, 동일한 또는 유사한 결과를 달성하는 다양한 다른 분기, 흐름 경로, 및 블록의 순서들이 구현될 수 있다. 또한, 본 명세서에서 기술되는 방법의 구현을 위하여 도시된 모든 블록들이 요구되지 않을 수도 있다.
한편, 본 명세서에 기술된 애플리케이션 동기화 시스템 및 방법, 또는 이들의 어떤 측면이나 부분은, 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 기타 임의의 컴퓨터로 판독 가능한 기록 매체와 같은 유형의 매체에 포함된 프로그램 코드(즉, 명령어)의 형태로 구현될 수도 있다. 상기 프로그램 코드는 컴퓨터와 같은 장치에 로드되어 실행되며, 이때 상기 장치가 본 발명을 실시하기 위한 시스템에 해당된다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 응용 프로그램을 실행 하던 중 네이티브 운영 체제(native operating system)로 전환하는 경우 또는 그 역의 경우 등에 있어서, 작업 중인 내용을 따로 저장하는 등의 불편 없이 이를 자동으로 저장하고 운영 체제의 전환 후 다시 불러들여 종전 작업 내용을 복구시킴으로써 사용자의 편의성을 대폭 향상하는 효과가 있어 유용한 발명이다.
110: 처리 장치
120: 제1 운영모듈
130: 제2 운영 모듈
140: 제1 동기화모듈
150: 제2 동기화모듈
160: 저장 매체
170: 인터페이스부

Claims (11)

  1. 제1 운영체제를 실행하는 제1 운영모듈;
    제2 운영체제를 실행하며, 상기 제1 운영모듈과 전환되며 동작하는 제2 운영 모듈;
    상기 제1 운영모듈의 동작이 종료되는 경우에, 상기 제1 운영체제 상에서 동작하는 애플리케이션을 대기모드로 전환하는 제1 동기화모듈;
    상기 애플리케이션이 상기 제2 운영체제 상에서 동작하도록 인터페이스를 제공하는 애플리케이션 인터페이스부; 및
    상기 제2 운영모듈의 동작이 개시되는 경우에 상기 대기모드로 전환된 애플리케이션이 상기 인터페이스를 이용하여 상기 제2 운영체제 환경에서 동작하도록 제어하는 제2 동기화모듈을 포함하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  2. 제 1항에 있어서,
    상기 제1 동기화모듈은,
    상기 제1 동기화모듈에 의해 상기 애플리케이션이 대기모드로 전환하는 경우 상기 애플리케이션의 실행모듈을 저장하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  3. 제 2항에 있어서,
    상기 제2 동기화모듈은,
    대기모드로 저장되어 있는 애플리케이션 실행모듈을 입력받아 이전 실행위치에서부터 상기 제2 운영체제 상에서 재실행되도록 상기 인터페이스부에 제공하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  4. 제 1항에 있어서,
    상기 제2 동기화모듈은,
    상기 애플리케이션의 프로세스 및 그에 수반되는 자식 프로세스도 동시에 상기 제2 운영체제 상에서 동작하도록 상기 애플리케이션의 프로세스 및 그에 수반되는 자식 프로세스에 대한 정보를 상기 인터페이스부에 제공하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  5. 제 1항에 있어서,
    상기 인터페이스부는, 상기 제1 운영체제에서의 동작 환경과 동일한 동작 환경을 갖도록 인터페이스를 제공하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  6. 제1 운영체제를 실행하는 제1 운영모듈;
    제2 운영체제를 실행하며, 상기 제1 운영모듈과 전환되며 동작하는 제2 운영 모듈;
    상기 제1 운영모듈의 동작이 종료되는 경우에, 상기 제1 운영체제, 및 상기 제1 운영체제 상에서 동작하는 애플리케이션을 대기모드로 전환하는 제1 동기화모듈;
    상기 제1 운영체제 및 상기 애플리케이션이 상기 제2 운영체제 상에서 동작하도록 인터페이스를 제공하는 애플리케이션 인터페이스부; 및
    상기 제2 운영모듈의 동작이 개시되는 경우에 상기 대기모드로 전환된 상기 제1 운영체제 및 상기 애플리케이션이 상기 인터페이스를 이용하여 상기 제2 운영체제 환경에서 동작하도록 제어하는 제2 동기화모듈을 포함하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  7. 제 6항에 있어서,
    상기 제1 동기화모듈은,
    상기 제1 동기화모듈에 의해 상기 제1 운영체제 및 상기 애플리케이션이 대기모드로 전환하는 경우 상기 제1 운영체제 및 상기 애플리케이션의 실행모듈을 저장하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  8. 제 7항에 있어서,
    상기 제2 동기화모듈은,
    대기모드로 저장되어 있는 상기 제1 운영체제 및 상기 애플리케이션 실행모듈을 입력받아 이전 실행위치에서부터 상기 제2 운영체제 상에서 재실행되도록 상기 인터페이스부에 제공하는 것을 특징으로 하는 애플리케이션 동기화 시스템.
  9. 애플리케이션 동기화 시스템에 의한 제1 운영체제 및 제2 운영체제 사이의 애플리케이션 동기화 방법에 있어서,
    상기 제1 운영체제를 실행하는 제1운영체제 실행단계;
    상기 제1 운영체제 상에서 동작하는 애플리케이션 실행모듈을 상기 애플리케이션 동기화 시스템이 접근 가능한 저장매체에 저장하는 대기단계; 및
    상기 저장매체로부터 상기 애플리케이션 실행모듈을 입력받아 상기 제2 운영체제 상에서 동작하도록 제어하는 제2운영체제 실행단계를 포함하는 것을 특징으로 하는 애플리케이션 동기화 방법.
  10. 제 9항에 있어서,
    상기 제2운영체제 실행단계에서는,
    대기모드로 저장되어 있는 애플리케이션 실행모듈에 대하여 이전 실행위치에서부터 상기 제2 운영체제 상에서 재실행되도록 제어하는 것을 특징으로 하는 애플리케이션 동기화 방법.
  11. 애플리케이션 동기화 시스템에 의한 제1 운영체제 및 제2 운영체제 사이의 애플리케이션 동기화 방법에 있어서,
    상기 제1 운영체제를 실행하는 제1운영체제 실행단계;
    상기 제1 운영체제, 및 상기 제1 운영체제 상에서 동작하는 애플리케이션 실행모듈을 상기 애플리케이션 동기화 시스템이 접근 가능한 저장매체에 저장하는 대기단계; 및
    상기 저장매체로부터 상기 애플리케이션 실행모듈을 입력받아 상기 제2 운영체제 상에서 동작하도록 제어하는 제2운영체제 실행단계를 포함하는 것을 특징으로 하는 애플리케이션 동기화 방법.
KR1020110130290A 2011-12-07 2011-12-07 애플리케이션 동기화 방법 및 시스템 KR101260934B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110130290A KR101260934B1 (ko) 2011-12-07 2011-12-07 애플리케이션 동기화 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110130290A KR101260934B1 (ko) 2011-12-07 2011-12-07 애플리케이션 동기화 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101260934B1 true KR101260934B1 (ko) 2013-05-06

Family

ID=48665527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110130290A KR101260934B1 (ko) 2011-12-07 2011-12-07 애플리케이션 동기화 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101260934B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105242918A (zh) * 2015-09-10 2016-01-13 天脉聚源(北京)教育科技有限公司 一种功能对象的操作方法及装置
KR101628615B1 (ko) * 2015-04-17 2016-06-08 (주)에이티솔루션즈 보안운영체제를 이용한 안심서명 제공 방법
KR101628614B1 (ko) * 2015-04-17 2016-06-08 (주)에이티솔루션즈 보안운영체제를 이용한 전자서명 처리 방법
CN113467870A (zh) * 2021-06-25 2021-10-01 宁波均联智行科技股份有限公司 基于双系统的app同屏显示方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100879505B1 (ko) 2007-01-10 2009-01-20 재단법인서울대학교산학협력재단 싱글프로세서 운영체제로부터 마스터/슬레이브멀티프로세서 운영체제로 변환하는 효과적인 방법, 및 그변환시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100879505B1 (ko) 2007-01-10 2009-01-20 재단법인서울대학교산학협력재단 싱글프로세서 운영체제로부터 마스터/슬레이브멀티프로세서 운영체제로 변환하는 효과적인 방법, 및 그변환시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628615B1 (ko) * 2015-04-17 2016-06-08 (주)에이티솔루션즈 보안운영체제를 이용한 안심서명 제공 방법
KR101628614B1 (ko) * 2015-04-17 2016-06-08 (주)에이티솔루션즈 보안운영체제를 이용한 전자서명 처리 방법
CN105242918A (zh) * 2015-09-10 2016-01-13 天脉聚源(北京)教育科技有限公司 一种功能对象的操作方法及装置
CN105242918B (zh) * 2015-09-10 2018-11-20 天脉聚源(北京)教育科技有限公司 一种功能对象的操作方法及装置
CN113467870A (zh) * 2021-06-25 2021-10-01 宁波均联智行科技股份有限公司 基于双系统的app同屏显示方法及系统
CN113467870B (zh) * 2021-06-25 2023-10-03 宁波均联智行科技股份有限公司 基于双系统的app同屏显示方法及系统

Similar Documents

Publication Publication Date Title
JP6245532B2 (ja) 先読み技術を利用して行われる、システムのオペレーティングシステムのブート、方法、ストレージデバイス、ブートファイルプリフェッチシステム、プログラム、及び、コンピュータ可読記録媒体
US8635395B2 (en) Method of suspending and resuming virtual machines
JP5911892B2 (ja) ハイバネイトからの多段レジューム
RU2568280C2 (ru) Быстрый запуск компьютера
US8464257B2 (en) Method and system for reducing power loss to backup IO start time of a storage device in a storage virtualization environment
US9141381B2 (en) Version control environment for virtual machines
CN101650660B (zh) 从中央存储装置引导计算机系统
US9053065B2 (en) Method for restoring virtual machine state from a checkpoint file
US8639973B2 (en) System reset
JP2012508932A (ja) キャッシュデータおよびメタデータを管理すること
US9053064B2 (en) Method for saving virtual machine state to a checkpoint file
CN111989656B (zh) 可配置的恢复状态
KR101260934B1 (ko) 애플리케이션 동기화 방법 및 시스템
US20150324209A1 (en) Operating System Switching Method and Dual-Operating System Electronic Device Using the Same
CN101075194A (zh) 程序代码执行方法及系统及固件更新方法
TW201117008A (en) Electronic equipment and boot method, storage medium thereof
KR101212273B1 (ko) 가상화 기술 기반의 고속 부팅 장치 및 방법
CN103984572A (zh) 一种无光驱实现电脑安装和切换操作系统的方法及设备
CN101788913B (zh) 具有内建双可被隐藏操作装置的计算机系统
TWI559227B (zh) 具有內建雙可隨機關閉開啟電源作業裝置的電腦系統
KR101024305B1 (ko) 상태 동기화 시스템 및 방법
CN103677875A (zh) 一种电子设备启动的方法、权限控制方法和电子设备
CN105335248B (zh) 信息处理方法及电子设备
CN111868698B (zh) 空闲空间直通
KR20170105394A (ko) 비결정적인 하드웨어 인터럽트에 대한 요청을 처리하는 에뮬레이션 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160401

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200224

Year of fee payment: 8