KR101795258B1 - 클라우드 네트워크를 통한 스냅샷 부트 - Google Patents

클라우드 네트워크를 통한 스냅샷 부트 Download PDF

Info

Publication number
KR101795258B1
KR101795258B1 KR1020160063039A KR20160063039A KR101795258B1 KR 101795258 B1 KR101795258 B1 KR 101795258B1 KR 1020160063039 A KR1020160063039 A KR 1020160063039A KR 20160063039 A KR20160063039 A KR 20160063039A KR 101795258 B1 KR101795258 B1 KR 101795258B1
Authority
KR
South Korea
Prior art keywords
boot
snapshot
kernel
kernel data
content
Prior art date
Application number
KR1020160063039A
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 KR1020160063039A priority Critical patent/KR101795258B1/ko
Application granted granted Critical
Publication of KR101795258B1 publication Critical patent/KR101795258B1/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/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 스냅샷 부팅 셋톱박스는 시스템의 턴-온 과정에서 스냅샷 부트 이미지를 통해 기존에 재생되고 있었던 콘텐츠를 재생하면서 커널 부트를 수행할 수 있는 관한 것으로, 부팅 시간 절감 효과와 연속성 있는 사용자 환경을 제공할 수 있다.
스냅샷 부팅 셋톱박스는 시스템 종료 직전에 기록한 스냅샷 부트 이미지를 클라우드 서버로부터 수신하는 스냅샷 부트 이미지 수신부, 네트워크를 통해 콘텐츠를 수신하여 디스플레이 장치에 상기 콘텐츠를 제공하는 콘텐츠 재생 루틴을 저장한 비휘발성 로컬 메모리, 상기 직전에 재생되고 있었던 비디오 또는 오디오의 재생을 복구하는 콘텐츠 재생 복구부, 상기 재생의 복구 과정에서 상기 커널 데이터에 관한 부팅-업을 수행하는 커널 부트부를 포함한다.

Description

클라우드 네트워크를 통한 스냅샷 부트{SNAPSHOT BOOT IN CLOUD NETWORK}
본 발명은 셋톱박스 기술에 관한 것으로, 더욱 상세하게는, 시스템의 턴-온 과정에서 스냅샷 부트 이미지를 통해 기존에 재생되고 있었던 콘텐츠를 재생하면서 커널 부트를 수행할 수 있는 스냅샷 부팅 셋톱박스에 관한 것이다.
셋톱박스(Set Top box, STB)는 텔레비전에 연결되어, 외부에서 들어오는 신호를 받고 적절하게 변환하여 텔레비전으로 그 내용을 표시해 주는 장치이다.
셋톱박스 운영 체제(Operating System)는 리눅스 시스템과 윈도우 시스템으로 구분되어 있고, 리눅스 시스템은 상대적으로 보다 우월한 성능을 가지는 것으로 평가되어 최근 시장 규모를 증가시키고 있다.
셋톱박스는 턴-온 과정에서 자신의 커널을 로딩하여 부트-업을 수행하므로 많은 시간을 요구할 수 있다. 특히, 셋톱박스는 다양한 기능이 지원됨에 따라 운영 체제의 크기를 증가시키고 있으며, 이에 따라 운영 체제의 커널 사이즈 및 소프트웨어 플랫폼 크기 또한 커지고 있다. 이러한 운영 체제의 크기 증가는 로딩해야할 커널 데이터의 양을 늘리기 때문에 시스템의 부팅에 소요되는 시간을 증가시킨다.
또한, 셋톱박스는 커널의 업그레이드 과정에서 신규의 커널 데이터를 서버로부터 수신하고 자신의 커널을 업그레이드하는 과정을 요구한다.
한국 공개특허공보 제10-2007-0025530호는 운영 체계를 부팅하는 장치 및 방법에 관한 기술을 개시한다. 임베디드 장치에 있어서 기본적인 운영 체계의 이미지를 저장하고 이를 이용하여 부팅을 수행한 후에 추가적인 운영 체계의 이미지를 네트워크를 통하여 다운로드하고 이를 이용하여 운영 체계의 기능을 수행하게 하는 운영 체계를 부팅하는 장치 빛 방법에 관한 것이다.
한국 공개특허공보 제10-2008-0062862호는 운영체제를 기반으로 한 방송 수신기의 초기 화면 출력방법에 관한 기술을 개시한다. 보다 상세하게는 리눅스 운영체제를 기반으로 하는 방송 수신기의 부팅 시 좀 더 빠른 화면 출력을 가능하게 하는 방송 수신기의 초기 화면 출력 방법에 관한 것으로, 비록 방송 수신기의 시스템 부팅 과정이 모두 완료되지 않은 상태일지라도 방송 영상을 화면상에 출력 가능하게 해줌으로써 전원이 온 된 후에 사용자에게 보다 신속하게 방송 영상을 제공할 수 있도록 해 준다.
한국등록특허 제10-1325025호는 셋톱박스 기반의 클라우드 서비스 방법 및 이를 위한 컴퓨터 판독가능한 기록매체에 관한 기술을 개시한다. 공공 클라우드 서비스에 사설 클라우드의 개념을 결합시킨 혼합형 클라우드를 구성하여 보안성, 저장용량의 확장성, 데이터 관리기능 등을 향상시키되 기존에 디지털 방송서비스를 위해 개인 가정에 보급이 활발하고 오퍼레이터와 네트워크를 통해 연결되어 있는 셋톱박스를 이용하여 사설 클라우드 부분을 담당하도록 구성한 셋톱박스 기반의 클라우드 서비스 기술에 관한 것이다.
한국 공개특허공보 제10-2007-0025530호 (2007.03.08 공개) 한국 공개특허공보 제10-2008-0062862호 (2008.07.03 공개) 한국등록특허 제10-1325025호 (2013.10.29 등록)
본 발명의 일 실시예는 시스템의 턴-온 과정에서 스냅샷 부트 이미지를 통해 기존에 재생되고 있었던 콘텐츠를 재생하면서 커널 부트를 수행할 수 있는 스냅샷 부팅 셋톱박스를 제공하고자 한다.
본 발명의 일 실시예는 긴 부팅 시간이 소요되는 커널 부팅에 앞서 클라우드 서버로부터 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오에 관한 콘텐츠 재생 정보와 커널 데이터를 포함하는 스냅샷 부트 이미지를 수신하고 커널 데이터에 관한 부팅-업을 수행함으로써 부팅 시간을 절감시킬 수 있는 셋톱박스를 제공하고자 한다.
본 발명의 일 실시예는 시스템의 턴-온 과정에서 커널 데이터를 통한 부트-업 이전에 스냅샷 부트 이미지로부터 직전에 재생되고 있었던 비디오 또는 오디오의 재생을 복구 및 재생시킴으로써 사용자 환경의 연속성과 빠른 부팅 체감시간을 제공하고자 한다.
본 발명의 실시예는 종료 직전에 클라우드 서버에 접속하여 커널 데이터 업그레이드 요청 정보를 수신하고 커널 데이터 업그레이드를 수행함으로써 신속한 업그레이드를 제공하고자 한다.
실시예들 중에서, 스냅샷 부팅 셋톱박스는 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오에 관한 콘텐츠 재생 정보와 커널 데이터를 포함하는 스냅샷 부트 이미지를 클라우드 서버로부터 수신하는 스냅샷 부트 이미지 수신부, 네트워크를 통해 콘텐츠를 수신하여 디스플레이 장치에 상기 콘텐츠를 제공하는 콘텐츠 재생 루틴을 저장한 비휘발성 로컬 메모리, 상기 커널 데이터를 통한 부트-업 전에 상기 콘텐츠 재생 루틴을 수행하여 상기 직전에 재생되고 있었던 비디오 또는 오디오의 재생을 복구하는 콘텐츠 재생 복구부, 상기 재생의 복구 과정에서 상기 커널 데이터에 관한 부팅-업을 수행하는 커널 부트부를 포함한다.
상기 스냅샷 부팅 셋톱박스는 상기 시스템 종료 과정에서 현재 재생되고 있는 비디오 또는 오디오에 관한 콘텐츠 정보와 현재의 커널 데이터를 포함하는 현재의 스냅샷 부트 이미지를 상기 클라우드 서버에 기록하는 스냅샷 부트 이미지 기록부를 더 포함할 수 있다.
상기 스냅샷 부트 이미지 기록부는 사용자의 활동을 통해 변경된 시스템 파라미터를 포함하는 커널 데이터를 상기 현재의 커널 데이터로서 갱신할 수 있다.
상기 현재의 커널 데이터는 상기 클라우드 서버를 통해 가장 최근 버전의 커널 데이터로 업그레이드 될 수 있다.
상기 스냅샷 부트 이미지 기록부는 상기 클라우드 서버로부터 상기 커널 데이터에 관한 업그레이드 요청이 수신되었다면 상기 현재의 커널 데이터를 제외한 스냅샷 부트 이미지를 상기 현재의 스냅샷 부트 이미지로서 상기 클라우드 서버에 기록할 수 있다.
상기 커널 부트부는 상기 재생의 복구 완료 후에 백그라운드 프로세스로서 상기 커널 데이터에 관한 부트-업을 수행할 수 있다.
상기 커널 부트부는 상기 커널 데이터에 관한 부트-업이 완료되기 전까지 상기 콘텐츠에 관한 제어를 제외한 사용자의 활동을 삭제(discard)하고 상기 디스플레이 장치에 백그라운드 이미지로서 상기 사용자 활동의 삭제를 표시할 수 있다.
상기 커널 부트부는 상기 클라우드 서버로부터 상기 커널 데이터에 관한 업그레이드 요청이 수신되면 상기 디스플레이 장치의 전원 오프를 검출하여 상기 스냅샷 부트 이미지를 상기 클라우드 서버에 제공하지 않고 리부트-업을 수행할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 스냅샷 부팅 셋톱박스는 시스템의 턴-온 과정에서 스냅샷 부트 이미지를 통해 기존에 재생되고 있었던 콘텐츠를 재생하면서 커널 부트를 수행할 수 있다. 이에 따라 본 발명의 스냅샷 부팅 셋톱박스는 부팅 소요시간을 절감시킬 수 있고, 사용자 환경의 연속성을 제공할 수 있다.
본 발명의 일 실시예에 따른 스냅샷 부팅 셋톱박스은 종료 직전에 클라우드 서버에 접속하여 커널 데이터 업그레이드 요청 정보를 수신하고 가장 최근 버전의 커널 데이터 업그레이드를 수행함으로써 신속한 업그레이드를 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스냅샷 부팅 셋톱박스 시스템을 설명하는 도면이다.
도 2는 도 1에 있는 스냅샷 부팅 셋톱박스를 설명하는 도면이다.
도 3은 도 1에 있는 스냅샷 부팅 셋톱박스 동작을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 스냅샷 부팅 셋톱박스 시스템을 설명하는 도면이다.
도 1을 참조하면, 스냅샷 부팅 셋톱박스 시스템(100)은 스냅샷 부팅 셋톱박스(110)와 클라우드 서버(120)를 포함하고, 이들은 상호 네트워크로 연결될 수 있다.
스냅샷 부팅 셋톱박스(110)는 운영체제 시스템의 부팅시간 개선을 위하여 스냅샷 부팅 이미지를 생성, 저장, 송신 및 수신을 수행할 수 있다. 여기에서, 스냅샷 부팅 이미지란, 스냅샷 부팅 셋톱박스(110)가 어떤 한 순간의 시스템의 상태를 저장해 놓은 일련의 데이터로서, 사람에 의해 읽혀질 수 있는 텍스트 코드 또는 컴퓨터에 의해 읽혀질 수 있는 바이너리 코드로 구현될 수 있다. 스냅샷 부팅 이미지는 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오에 관한 콘텐츠 재생 정보와 커널 데이터를 포함한다. 여기에서, 커널 데이터는 운영 체제의 핵심 데이터, 기억장치, CPU, I/O 장치 등의 상태를 포함할 수 있다.
스냅샷 부팅 셋톱박스(110)는 시스템 종료 직전에 스냅샷 부팅 이미지를 클라우드 서버(120)에 기록해두고, 다음 부팅 시에 정상 부팅을 진행하지 않고 빠른 부트-업을 진행할 수 있다. 여기에서, 부팅은 시스템을 비사용 중인 상태에서 사용 가능 상태로 전환하는 작업을 총칭한다. 본 발명의 일 실시예에서, 빠른 부트-업은 클라우드 서버(120)로부터 기록해둔 스냅샷 부팅 이미지를 읽어올 수 있고, 스냅샷 부팅 이미지에 저장된 시스템 종료 직전의 커널 데이터를 통해 커널 부팅을 진행할 수 있으며, 부트-업 완료 전에 콘텐츠 재생 루틴을 수행하여 직전의 콘텐츠 재생 정보를 복구 및 재생시킬 수 있는 일련의 과정들을 포함할 수 있다.
클라우드 서버(120)는 클라우드 컴퓨팅을 제공할 수 있는 가상 사설 서버로, 하나의 물리적 서버를 나누어 여러 개의 가상 서버로 이용하는 가상화 기술로 구현될 수 있다. 여기에서, 클라우드 컴퓨팅이란, 인터넷 기반의 컴퓨터 기술로, 인터넷 상의 유틸리티 데이터 서버에 프로그램을 두고, 필요할 때마다 컴퓨터나 휴대폰, 셋톱박스 등에 불러와서 사용하는 웹 기반 소프트웨어 서비스를 말한다. 클라우드 서버(120)는 셋톱박스 운영체제 이미지를 포함하는 스냅샷 부팅 이미지 파일을 저장할 수 있다. 또한, 클라우드 서버(120)는 셋톱박스 커널의 버전을 확인하여 가장 최근 버전의 커널 데이터 또는 해당 셋톱박스에 가장 적절한 커널 데이터로 업그레이드 요청 및 진행을 할 수 있다. 일 실시예에서, 현재의 커널 데이터는 클라우드 서버(120)를 통해 가장 최근 버전의 커널 데이터로 업그레이드될 수 있다.
도 2는 도 1에 있는 스냅샷 부팅 셋톱박스를 설명하는 도면이다.
도 2을 참조하면, 스냅샷 부팅 셋톱박스(110)는 스냅샷 부트 이미지 수신부(210), 비휘발성 로컬 메모리(220), 콘텐츠 재생 복구부(230), 커널 부트부(240), 스냅샷 부트 이미지 기록부(250), 디스플레이 장치(260) 및 제어부(270)를 포함한다.
스냅샷 부트 이미지 수신부(210)는 스냅샷 부트 이미지를 클라우드 서버(120)로부터 수신할 수 있다. 여기에서, 스냅샷 부트 이미지는 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오에 관한 콘텐츠 재생 정보와 커널 데이터를 포함한다. 예를 들어, 스냅샷 부트 이미지는 헤더와 바디를 포함하는 바이너리 이미지로 구현될 수 있고, 헤더는 바디에 있는 콘텐츠 재생 정보와 커널 데이터의 위치를 기록할 수 있다. 일 실시예에서, 콘텐츠 재생 정보는 특정 콘텐츠에 관한 식별자와 특정 콘텐츠의 마지막 재생 위치를 포함할 수 있다.
비휘발성 로컬 메모리(220)는 시스템에서 전원이 공급되지 않아도 내부 정보가 지워지지 않는 메모리로서, 스냅샷 부팅 셋톱박스(110)에 설치된 로컬 저장장치를 말한다. 예를 들어, 비휘발성 로컬 메모리(220)는 플래시 메모리, 롬, 마그네틱 컴퓨터 기억장치 등으로 구현될 수 있다. 비휘발성 로컬 메모리(220)는 콘텐츠 재생 루틴을 저장할 수 있다. 여기에서, 콘텐츠 재생 루틴이란, 네트워크를 통해 콘텐츠를 수신하여 디스플레이 장치(260)에 상기 콘텐츠를 제공할 수 있는 기능을 수행하거나 이러한 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
콘텐츠 재생 복구부(230)는 커널 데이터를 통한 부트-업 전에 콘텐츠 재생 루틴을 수행하여 상기 직전에 재생되고 있었던 비디오 또는 오디오의 재생을 복구할 수 있다. 일 실시예에서, 콘텐츠 재생 복구부(230)는 부트스트랩 시, 이렇게 복구한 콘텐츠 재생 동작을 우선하여 실행시키고, 이후 커널 부트부(240)에서 커널 및 다른 시스템 부팅을 진행하도록 할 수 있다. 여기에서 부트스트랩은 전원을 켜거나 재부팅할 때 적재되는 프로그램으로, 시스템을 모든 측면에서 초기화하며 운영 체제를 적재하고 실행시킬 수 있다. 콘텐츠 재생 복구부(230)는 재생 복구 과정에서 콘텐츠 재생 루틴을 실행 및 제어하고, 복구한 콘텐츠 재생 정보를 바탕으로 네트워크로부터 콘텐츠를 이어서 수신할 수 있으며, 디스플레이 장치(260)에 해당 콘텐츠를 제공하도록 할 수 있다.
커널 부트부(240)는 커널을 로드하여 적재할 수 있는 장치를 포함할 수 있고, 디바이스 초기화, 애플리케이션 구동, 스냅샷 로딩에 필요한 장치를 포함할 수 있다. 커널 부트부(240)는 커널 로드를 수행하여 커널 레벨의 스냅샷 부팅을 진행할 수 있는데, 정상 부팅 시에는 비휘발성 로컬 메모리(220)에 저장되어 있는 커널 데이터를 읽어올 수 있고, 빠른 부트-업 시에는 클라우드 서버(12)로부터 수신한 스냅샷 부트 이미지에 포함된 커널 데이터를 읽어올 수 있다. 클라우드 서버(120)로부터 스냅샷 부트 이미지를 수신하는 경우, 커널 부트부(240)는 임시영역에 저장된 스냅샷 부트 이미지를 로드하여 커널 데이터를 원본 주소로 복사할 수 있다. 복사가 진행되면서 기존의 커널 영역을 덮어쓰는 과정이 진행될 수 있고, 임시 영역이 해제되면서 부팅이 완료될 수 있다. 이러한 커널 부트부(240)는 빠른 부트-업 과정에서 커널 데이터에 관한 부트-업을 수행할 수 있고, 특정 시점의 작업 환경을 복구하여 부팅 시간을 단축시킬 수 있다.
또한, 커널 부트부(240)는 커널 데이터에 관한 부트-업이 완료되기 전까지 콘텐츠에 관한 제어를 제외한 사용자의 활동을 삭제(discard)하고 상기 디스플레이 장치에 백그라운드 이미지로서 상기 사용자 활동의 삭제를 표시할 수 있다. 이 외에도 커널 부트부(240)는 상기 클라우드 서버(120)로부터 상기 커널 데이터에 관한 업그레이드 요청이 수신되면 상기 디스플레이 장치의 전원 오프를 검출하여 스냅샷 부트 이미지를 상기 클라우드 서버(120)에 제공하지 않고 리부트-업을 수행할 수 있다.
스냅샷 부트 이미지 기록부(250)는 시스템 종료 과정에서 현재 재생되고 있는 비디오 또는 오디오에 관한 콘텐츠 정보와 현재의 커널 데이터를 포함하는 현재의 스냅샷 부트 이미지를 상기 클라우드 서버(120)에 기록할 수 있다. 시스템 종료 직전에 파워오프 신호가 입력되면, 스냅샷 부트 이미지 기록부(250)는 저장된 스냅샷 부트 이미지의 위치를 읽어오고, 클라우드 서버에 데이터를 송신하도록 제어할 수 있다.
또한, 스냅샷 부트 이미지 기록부(250)는 클라우드 서버(120)를 통해 커널 데이터 버전을 확인하여 업그레이드 가능 여부를 확인할 수 있다. 예를 들어, 스냅샷 부트 이미지는 헤더와 바디를 포함하는 바이너리 이미지로 구현될 수 있고, 헤더는 바디에 있는 커널 데이터의 버전 정보를 기록할 수 있다. 일 실시예에서, 스냅샷 부트 이미지 기록부(250)는 클라우드 서버(120)에 접속하였을 때 스냅샷 부트 이미지를 모두 기록하기에 앞서 헤더의 커널 데이터 버전 정보만을 송신하여 최신 버전과 비교한 결과값을 클라우드 서버(120)에 요청할 수 있고, 업그레이드가 필요한 경우, 디스플레이 장치(260)에 업그레이드 진행 여부를 출력하거나, 자동 업그레이드를 진행하도록 제어할 수 있다. 클라우드 서버(120)로부터 커널 데이터에 관한 업그레이드 요청이 수신되었다면 현재의 커널 데이터를 제외한 스냅샷 부트 이미지를 현재의 스냅샷 부트 이미지로서 클라우드 서버(120)에 기록할 수 있고, 현재의 커널 데이터를 가장 최근 버전의 커널 데이터로 업그레이드하도록 할 수 있다.
제어부(270)는 스냅샷 부트 이미지 수신부(210), 비휘발성 로컬 메모리(220), 콘텐츠 재생 복구부(230), 커널 부트부(240), 스냅샷 부트 이미지 기록부(250), 디스플레이 장치(260) 동작 전반을 제어할 수 있다. 제어부(260)는 재생 콘텐츠 정보와 현재 시스템 상태를 포함한 스냅샷 부트 이미지를 생성할 수 있고, 이를 시스템 메모리의 임시영역에 저장할 수 있다. 스냅샷 부트 이미지는 비휘발성 로컬 메모리(220)에 저장될 수 있고, 클라우드 서버(120)에 데이터 전달 시 빠른 속도를 제공하기 위하여 램에 저장될 수 있다. 후자의 경우, 복수의 스냅샷 부트 이미지 저장에 필요한 비휘발성 로컬 메모리(220) 용량을 절약할 수 있고, 이에 따라 비용을 절감할 수 있다. 제어부(260)는 사용자의 활동을 통해 변경된 시스템 파라미터를 포함하는 커널 데이터를 현재의 커널 데이터로서 갱신할 수 있고, 해당 과정은 스냅샷 부트 이미지 기록부(250)의 의해 대체하여 진행될 수 있다.
디스플레이 장치(260)는 시각적이나 입체적인 수신, 저장, 전달을 위해 정보를 나타내는 장치이다. 그 예로는, 액정 디스플레이(LCD), 발광 다이오드(LED), 플라스마 디스플레이(PDP) 등의 디지털 디스플레이와 음극선관과 같은 아날로그 디스플레이, 영사기와 같은 프로젝터를 포함할 수 있다. 콘텐츠 재생 복구부(230)에 의해 직전의 콘텐츠 재생 정보가 복구되면, 디스플레이 장치(260)는 해당 콘텐츠 정보를 이어서 수신받을 수 있고, 이를 화면에 출력할 수 있다.
도 3a와 도 3b는 도 1에 있는 스냅샷 부팅 셋톱박스 동작을 설명하는 순서도이다.
도 3a를 참조하면, 스냅샷 부팅 셋톱박스(110)는 부팅 과정에서 빠른 부트-업 여부(단계 S310)와 네트워크 사용 여부(단계 S315)를 확인하고, 만일 두 조건을 모두 만족하는 경우, 클라우드 서버(120)에 저장해둔 스냅샷 부트 이미지를 수신할 수 있도록 클라우드 서버(120) 접속을 진행하고(단계 S320), 하나 이상 만족하지 않는 경우, 정상 부팅을 수행할 수 있다(단계 S312).
스냅샷 부트 이미지 수신부(210)는 접속한 클라우드 서버(120)로부터 저장된 스냅샷 부트 이미지가 존재하는지 확인하고(단계 S325), 존재하는 경우, 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오에 관한 콘텐츠 재생 정보와 커널 데이터를 포함하는 스냅샷 부트 이미지를 수신할 수 있다(단계 S330).
콘텐츠 재생 복구부(230)는 수신한 상기 스냅샷 부트 이미지를 바탕으로 콘텐츠 재생 루틴을 수행하여 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오의 재생을 복구할 수 있다. 비휘발성 로컬 메모리(220)에 저장된 상기 콘텐츠 재생 루틴은 네트워크를 통해 콘텐츠를 수신하여 디스플레이 장치(260)에 상기 콘텐츠를 제공할 수 있다. 이에 따라 사용자는 직전 콘텐츠를 자동으로 이어서 화면에 재생할 수 있다(단계 S335).
커널 부트부(240)는 상기 재생의 복구 완료 후에 백그라운드 프로세스로서 스냅샷 부트 이미지에 저장된 커널 데이터를 바탕으로 커널 부팅을 진행 및 완료할 수 있다(단계 S340).
도 3b를 참조하면, 제어부(270)는 전원 오프키가 입력될 경우, 현재 재생되고 있는 비디오 또는 오디오에 관한 콘텐츠 정보와 현재의 커널 데이터 등의 현 상태를 이전 상태와 비교한다(단계 S345 및 S350). 제어부(270)는 두 데이터가 동일하지 않은 경우 현 상태를 스냅샷 부트 이미지로 저장한다(단계 S355). 해당 저장 과정은 스냅샷 부트 이미지 기록부(250)에 의해 대체하여 진행될 수 있다.
스냅샷 부트 이미지 기록부(250)는 클라우드 서버(120)에 접속하고(단계 S360), 커널의 버전 정보를 최근 커널 버전과 비교하여 업그레이드 가능 여부를 확인할 수 있다(단계 S365). 스냅샷 부트 이미지 기록부(250)는 만일 커널 데이터에 관한 업그레이드 요청이 수신되지 않았다면, 저장한 현재의 스냅샷 부트 이미지를 클라우드 서버(120)에 기록할 수 있다(단계 S367).스냅샷 부트 이미지 기록부(250)는 만일 상기 업그레이드 요청이 수신되었다면 현재의 커널 데이터를 제외한 스냅샷 부트 이미지를 현재의 스냅샷 부트 이미지로서 상기 클라우드 서버(120)에 기록할 수 있다(단계 S370). 스냅샷 부트 이미지 기록부(250)는 최신 버전의 커널 데이터를 업그레이드할 수 있고, 리부트-업을 수행하여 커널 데이터 업그레이드의 신속한 적용을 진행할 수 있다(단계 S375 및 S380).
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 스냅샷 부팅 셋톱박스 시스템
110: 스냅샷 부팅 셋톱박스
120: 클라우드 서버
210: 스냅샷 부트 이미지 수신부
220: 비휘발성 로컬 메모리
230: 콘텐츠 재생 복구부
240: 커널 부트부
250: 스냅샷 부트 이미지 기록부
260: 디스플레이 장치
270: 제어부

Claims (8)

  1. 시스템 종료 직전에 재생되고 있었던 비디오 또는 오디오에 관한 콘텐츠 재생 정보와 커널 데이터를 포함하는 스냅샷 부트 이미지를 클라우드 서버로부터 수신하는 스냅샷 부트 이미지 수신부;
    네트워크를 통해 콘텐츠를 수신하여 디스플레이 장치에 상기 콘텐츠를 제공하는 콘텐츠 재생 루틴을 저장한 비휘발성 로컬 메모리;
    상기 커널 데이터를 통한 부트-업 전에 상기 콘텐츠 재생 루틴을 수행하여 상기 직전에 재생되고 있었던 비디오 또는 오디오의 재생을 복구하는 콘텐츠 재생 복구부; 및
    상기 재생의 복구 과정에서 복구되는 콘텐츠의 재생 동작을 우선적으로 실행시키면서 상기 커널 데이터에 관한 부팅-업을 수행하는 커널 부트부를 포함하는 스냅샷 부팅 셋톱박스.
  2. 제1항에 있어서,
    상기 시스템 종료 과정에서 현재 재생되고 있는 비디오 또는 오디오에 관한 콘텐츠 정보와 현재의 커널 데이터를 포함하는 현재의 스냅샷 부트 이미지를 상기 클라우드 서버에 기록하는 스냅샷 부트 이미지 기록부를 더 포함하는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
  3. 제2항에 있어서, 상기 스냅샷 부트 이미지 기록부는
    사용자의 활동을 통해 변경된 시스템 파라미터를 포함하는 커널 데이터를 상기 현재의 커널 데이터로서 갱신하는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
  4. 제2항에 있어서, 상기 현재의 커널 데이터는
    상기 클라우드 서버를 통해 가장 최근 버전의 커널 데이터로 업그레이드되는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
  5. 제2항에 있어서, 상기 스냅샷 부트 이미지 기록부는
    상기 클라우드 서버로부터 상기 커널 데이터에 관한 업그레이드 요청이 수신되었다면 상기 현재의 커널 데이터를 제외한 스냅샷 부트 이미지를 상기 현재의 스냅샷 부트 이미지로서 상기 클라우드 서버에 기록하는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
  6. 제1항에 있어서, 상기 커널 부트부는
    상기 재생의 복구 완료 후에 백그라운드 프로세스로서 상기 커널 데이터에 관한 부트-업을 수행하는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
  7. 제6항에 있어서, 상기 커널 부트부는
    상기 커널 데이터에 관한 부트-업이 완료되기 전까지 상기 콘텐츠에 관한 제어를 제외한 사용자의 활동을 삭제(discard)하고 상기 디스플레이 장치에 백그라운드 이미지로서 상기 사용자 활동의 삭제를 표시하는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
  8. 제1항에 있어서, 상기 커널 부트부는
    상기 클라우드 서버로부터 상기 커널 데이터에 관한 업그레이드 요청이 수신되면 상기 디스플레이 장치의 전원 오프를 검출하여 상기 스냅샷 부트 이미지를 상기 클라우드 서버에 제공하지 않고 리부트-업을 수행하는 것을 특징으로 하는 스냅샷 부팅 셋톱박스.
KR1020160063039A 2016-05-23 2016-05-23 클라우드 네트워크를 통한 스냅샷 부트 KR101795258B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160063039A KR101795258B1 (ko) 2016-05-23 2016-05-23 클라우드 네트워크를 통한 스냅샷 부트

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160063039A KR101795258B1 (ko) 2016-05-23 2016-05-23 클라우드 네트워크를 통한 스냅샷 부트

Publications (1)

Publication Number Publication Date
KR101795258B1 true KR101795258B1 (ko) 2017-11-07

Family

ID=60384932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160063039A KR101795258B1 (ko) 2016-05-23 2016-05-23 클라우드 네트워크를 통한 스냅샷 부트

Country Status (1)

Country Link
KR (1) KR101795258B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101461319B1 (ko) * 2013-05-28 2014-11-12 주식회사 이노피아테크 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101461319B1 (ko) * 2013-05-28 2014-11-12 주식회사 이노피아테크 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
셋톱박스에서 운용 가능한 빠른 부팅 기술의 선택 지침. 한국정보통신기술협회. 2014년.

Similar Documents

Publication Publication Date Title
US8489799B2 (en) Efficient loading of data into memory of a computing system
CN101650660B (zh) 从中央存储装置引导计算机系统
AU2008214236B2 (en) Supporting multiple operating systems in media devices
CN107870968B (zh) 对文件系统卷执行实时更新
US20110213954A1 (en) Method and apparatus for generating minimum boot image
JP5113700B2 (ja) ファームウェア更新装置及び方法
CN102360298B (zh) 一种终端设备的软件升级方法
US8751785B2 (en) Memory tagging and preservation during a hot upgrade
KR20120041384A (ko) 모바일 디바이스의 펌웨어 업데이트 방법 및 장치
CN105830020A (zh) 存储器保留重新引导
US20100268867A1 (en) Method and apparatus for updating firmware as a background task
US20160335080A1 (en) Method and apparatus for patching
US20080114923A1 (en) Apparatus and method for controlling operation processing in nonvolatile memory
CN102521289B (zh) 一种文件同步方法、装置及系统
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
EP3761564A1 (en) Master/standby container system switch
US20110246983A1 (en) Wireless Network Backup Device and Method
WO2011095074A1 (zh) 一种终端设备系统升级方法及终端设备
US20140089653A1 (en) Electronic apparatus, method of restoring guid partition table (gpt) and computer-readable recording medium
US9557980B2 (en) Seamless application integration apparatus and method
EP2557497A1 (en) Method for improving booting of a computing device
CN104866397A (zh) 计算机系统与控制方法
US10007529B2 (en) Data terminal running mode switching method, device, and data terminal
JP2023169287A (ja) コンピューティングデバイス上でアプリケーションを更新するための、メモリ効率のよいソフトウェアパッチング
KR101795258B1 (ko) 클라우드 네트워크를 통한 스냅샷 부트

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant