KR20120027219A - 오퍼레이팅 시스템 상태의 캡처링 및 로딩 - Google Patents

오퍼레이팅 시스템 상태의 캡처링 및 로딩 Download PDF

Info

Publication number
KR20120027219A
KR20120027219A KR1020117026397A KR20117026397A KR20120027219A KR 20120027219 A KR20120027219 A KR 20120027219A KR 1020117026397 A KR1020117026397 A KR 1020117026397A KR 20117026397 A KR20117026397 A KR 20117026397A KR 20120027219 A KR20120027219 A KR 20120027219A
Authority
KR
South Korea
Prior art keywords
state
session
file
operating system
computer
Prior art date
Application number
KR1020117026397A
Other languages
English (en)
Other versions
KR101654398B1 (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 KR20120027219A publication Critical patent/KR20120027219A/ko
Application granted granted Critical
Publication of KR101654398B1 publication Critical patent/KR101654398B1/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
    • 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
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

기준 시스템 상태들의 캡처 및 로딩을 포함하는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들이 제공된다. 이것은 일 실시예에서 미래에 복원하기를 원하는 컴퓨터의 오퍼레이팅 시스템 메모리의 상태를 저장함으로써 달성된다. 컴퓨터와 연관된 영구 저장 장치에 대해 어떠한 변경도 허용되지 않는다. 대신에, 금지되지 않았다면 다음번 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해졌을 변경들이 별도의 컴퓨팅 세션 파일에 저장된다. 오퍼레이팅 시스템을 그의 기준 상태로 복원하기를 원할 때마다, 오퍼레이팅 시스템 메모리의 현재 상태들 대신에, 저장된 기준 시스템 메모리 상태들이 오퍼레이팅 시스템 메모리 내에 로딩된다.

Description

오퍼레이팅 시스템 상태의 캡처링 및 로딩{CAPTURING AND LOADING OPERATING SYSTEM STATES}
인터넷 카페들 및 다른 공유 액세스 호스트들은 일관성있고 신뢰성 있는 사용자 경험을 보증하기 위해서 모든 컴퓨팅 세션 후에 공유 컴퓨터들에 대한 기준 시스템 상태(a baseline system condition)의 복원을 원한다. 통상적으로, 이것은 호스트 시스템이 기준 상태를 복원하기 위해 각각의 세션 후에 재부팅되는 것을 필요로 한다.
하이버네이션(hibernation)은 시스템 메모리 및 레지스터들의 내용들(예컨대, 장치 하드웨어 레지스터 상태, 페이지 파일/애플리케이션 및 드라이버 상태 등)이 최종 컴퓨팅 세션과 연관된 상태들의 더 빠른 복원의 목적을 위해 하드 디스크와 같은 영구 저장 장치에 저장되게 한다. 이러한 특징은 컴퓨터의 오퍼레이팅 시스템이 셧다운되게 하여 다음번 시동시에 오퍼레이팅 시스템이 하이버네이션 파일로부터 복원되고, 셧다운된 포인트로부터 다시 시작할 수 있도록 하는데 주로 사용된다.
이러한 하이버네이션 특징은 통상적으로 특징의 개시시에 작성된 단일 파일(예로서, hiberfil.sys)을 사용한다. 이어서, 하이버네이션 파일은 부트 프로세스의 일부로서 오퍼레이팅 시스템을 그의 이전 상태로 복원하는 데 사용된다.
본 요약은 아래의 상세한 설명에서 더 설명되는 개념들의 발췌를 간단한 형태로 소개하기 위해 제공된다. 이 요약은 청구 발명의 중요한 특징들 또는 본질적인 특징들을 식별하는 것을 의도하지 않으며, 청구 발명의 범위를 결정하는 데 있어서의 보조물로서 사용되는 것도 의도하지 않는다.
본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 일반적으로 부트 프로세스 밖에서의 기준 시스템 상태들의 캡처 및 로딩을 적어도 포함한다. 이것은 일 실시예에서 미래에 기준 상태로서 복원하기를 원하는 컴퓨터의 오퍼레이팅 시스템 메모리의 상태들을 먼저 저장함으로써 달성된다. 기준 시스템 메모리 상태들이 저장되면, 컴퓨터와 연관된 영구 저장 장치에 대해 어떠한 변경도 허용되지 않는다. 대신에, 금지되지 않았으면, 다음번 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해졌을 변경들이 별도의 컴퓨팅 세션 파일에 저장된다. 컴퓨팅 세션 파일에 저장된 변경 데이터는 영구 저장 장치에 저장된 데이터와 함께 컴퓨팅 세션 동안에 사용된다.
컴퓨팅 세션의 종료시와 같이 오퍼레이팅 시스템을 그의 기준 상태로 복원하기를 원할 때마다, 오퍼레이팅 시스템 메모리의 현재 상태들 대신에, 저장된 기준 시스템 메모리 상태들이 오퍼레이팅 시스템 메모리 내에 로딩된다. 컴퓨터와 연관된 영구 저장 장치에 대해 변경이 허용되지 않았으므로, 오퍼레이팅 시스템은 이제 그의 기준 상태로 복원된다.
오퍼레이팅 시스템 상태들을 캡처하는 유일한 목적이 오퍼레이팅 시스템을 기준 시스템 상태로 복원하는 것인 경우, 일 실시예에서는 컴퓨팅 세션 파일이 폐기된다. 그러나, 다른 실시예에서는 컴퓨팅 세션 파일이 유지되고, 멈췄던 대응하는 컴퓨팅 세션을 미래에 재개하기 위해 로딩될 수 있다.
이러한 후자의 실시예는 일반적으로 각각의 컴퓨팅 세션의 종료시에 전술한 바와 같은 기준 상태들을 캡처 및 복원하는 것을 필요로 한다. 그러나, 현재의 컴퓨팅 세션이 종료된 것으로 결정될 때마다, 추가적인 액션들이 또한 발생한다. 즉, 컴퓨팅 세션이 종료된 때에 존재하는 컴퓨터의 오퍼레이팅 시스템 메모리의 상태를 나타내는 세션 상태 파일이 저장된다. 영구 저장 장치에 대해 행해진 캡처된 변경들도 컴퓨팅 세션 파일에 저장된다. 이전의 컴퓨팅 세션을 재개하기 위하여, 저장된 컴퓨팅 세션 상태들이 로딩된다. 이것은 먼저 새로운 세션에서 재개하기를 원하는 컴퓨팅 세션에 대응하는 저장된 세션 상태 파일에 액세스하는 것을 필요로 한다. 이어서, 액세스된 세션 상태들이 오퍼레이팅 시스템 메모리의 현재(즉, 기준) 상태들 대신에 컴퓨터의 오퍼레이팅 시스템 메모리 내에 로딩된다. 게다가, 새로운 세션에서 재개하기를 원하는 컴퓨팅 세션에 대응하는 컴퓨팅 세션 파일이 액세스된다. 게다가, 현재의 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해진 변경들이 다시 캡처된다. 캡처된 변경들은 컴퓨팅 세션 파일에 저장된다. 전술한 바와 같이, 캡처된 변경들은 물론, 영구 저장 장치로부터의 다른 데이터는 현재의 컴퓨팅 세션 동안에 사용된다.
본 발명의 특정 특징들, 양태들 및 이점들은 아래의 설명, 첨부된 청구항들 및 첨부 도면들과 관련하여 더 잘 이해될 것이다.
도 1은 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들의 부분들을 구현할 수 있는 오퍼레이팅 시스템 상태 관리 아키텍처의 단순화된 도면이다.
도 2는 기준 시스템 상태들을 캡처 및 로딩하기 위한 프로세스의 일 실시예를 일반적으로 개략적으로 설명하는 흐름도이다.
도 3은 컴퓨팅 세션 시스템 상태들을 캡처하기 위한 프로세스의 일 실시예를 일반적으로 개략적으로 설명하는 흐름도이다.
도 4는 캡처된 컴퓨팅 세션 상태들을 로딩하여, 멈췄던 이전의 컴퓨팅 세션을 새로운 컴퓨팅 세션에서 재개하기 위한 프로세스의 일 실시예를 일반적으로 개략적으로 설명하는 흐름도이다.
도 5a-b는 디버깅 목적을 위해 컴퓨팅 세션 상태들을 점진적으로 로딩하기 위한 프로세스의 일 실시예를 일반적으로 개략적으로 설명하는 흐름도이다.
도 6은 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들을 구현하기 위한 예시적인 시스템을 구성하는 컴퓨팅 장치를 나타내는 도면이다.
오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들에 대한 아래의 설명에서는, 그 일부를 형성하며 기술이 실시될 수 있는 특정 실시예들을 예시적으로 도시하는 첨부 도면들을 참조한다. 본 기술의 범위로부터 벗어나지 않고 다른 실시예들이 이용될 수 있으며, 구조적 변경들이 이루어질 수 있다는 것을 이해한다.
1.0 오퍼레이팅 시스템 상태 관리 아키텍처
오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들이 설명되기 전에, 그의 부분들을 구현할 수 있는 적절한 오퍼레이팅 시스템 상태 관리 아키텍처에 대한 일반 설명이 제공된다. 일반적으로, 기술 실시예들은 본 설명의 후속 섹션에서 더 상세히 설명되는 다양한 범용 또는 특수 목적 컴퓨팅 시스템 환경들에서 동작한다.
이러한 범용 또는 특수 목적 컴퓨터들은 오퍼레이팅 시스템을 이용한다. 오퍼레이팅 시스템의 목적들 중 하나는 오퍼레이팅 시스템 메모리 및 컴퓨터와 관련된 영구 저장 장치 양자를 관리하는 것이다. 도 1에 도시된 바와 같이, 이러한 관리 스킴의 중심부는 파일 시스템 모듈(100)이다. 파일 시스템 모듈(100)은 볼륨 관리 모듈(102)과 통신하고 이를 통해 작동하여, 컴퓨터와 연관된 영구 저장 장치를 제어한다. 영구 저장 장치는 도 1에 도시된 하드 디스크들(106)과 같은 임의의 비휘발성 저장 장치 또는 장치들일 수 있다. 통상적으로, 영구 저장 장치는 장치 관리 모듈을 통해 관리된다. 도 1의 예에서, 이것은 볼륨 관리 모듈(102)과 통신하고 궁극적으로 파일 시스템 모듈(100)에 의해 관리되는 디스크 관리 모듈(104)의 형태를 갖는다.
컴퓨터의 현재의 오퍼레이팅 시스템 상태들은 오퍼레이팅 시스템 메모리에 저장되고, 컴퓨터에서 수행되는 컴퓨팅 세션이 진행함에 따라 변경된다. 통상적으로, 오퍼레이팅 시스템 메모리는 휘발성 저장 장치의 형태를 갖는다. 예컨대, 도 1의 예시적인 아키텍처에서, 오퍼레이팅 시스템 메모리는 랜덤 액세스 메모리(RAM)(108)이다. 현재의 오퍼레이팅 시스템 메모리 상태들은 하이버네이션 이미지 파일이라고 하는 파일 내에 캡처될 수 있다. 이러한 하이버네이션 메커니즘은 시스템 메모리 및 레지스터들의 상태들이 빠른 복원의 목적을 위해 영구 저장 장치에 저장되게 한다. 이것은 주로 컴퓨터 상에서 오퍼레이팅 시스템이 셧다운되게 하고, 이어서 오퍼레이팅 시스템의 재시동시에 하이버네이션 이미지 파일을 이용하여 이전 상태들을 복원하는 데 사용된다. 따라서, 오퍼레이팅 시스템은 그가 셧다운된 포인트로부터 동작들을 재개할 수 있다. 현재의 오퍼레이팅 시스템들에서, 하이버네이션 이미지 파일은 이를 생성하기 위한 사용자 명령에 기초하여 셧다운 동안에 생성된다. 전술한 상태 복원 프로세스는 통상적으로 오퍼레이팅 시스템이 재시동될 때 부트 경로의 일부로서 발생한다. 도 1의 예시적인 아키텍처와 관련하여, 파일 관리 모듈(100)은 하이버네이션 모듈(110)과 통신한다. 하이버네이션 모듈(110)은 하이버네이션 이미지 파일을 생성하도록 지시될 때 이를 생성하고, 파일 시스템 모듈(100)의 도움을 이용하여 파일을 영구 저장 장치에 저장한다. 오퍼레이팅 시스템 메모리 관리 모듈(112)을 이용하여, 오퍼레이팅 시스템 메모리(예로서, 도 1에 도시된 바와 같은 RAM(108))의 현재 상태들을 캡처하고, 이들을 하이버네이션 모듈(110)로 전송한다.
통상의 오퍼레이팅 시스템 관리 아키텍처의 일부는 아니지만, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 상태 관리 파일 시스템 필터(114)를 이용하여, 영구 저장 장치에 대해 일반적으로 행해진 변경들을 "필터 아웃(filter out)" 및 캡처한다. 도 1의 예시적인 아키텍처에서, 상태 관리 파일 시스템 필터(114)는 파일 시스템(100)과 통신하고, 그의 도움을 이용하여, 캡처된 영구 저장 장치의 변경들을 본 명세서에서 컴퓨팅 세션 파일로서 지칭되는 파일에 저장한다. 필터(114)의 동작 및 컴퓨팅 세션 파일의 역할은 이어지는 섹션들에서 더 상세히 설명된다.
전술한 오퍼레이팅 시스템 상태 관리 아키텍처는 적절한 아키텍처의 일례일 뿐, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들의 이용 또는 기능의 범위에 대한 임의의 한정을 시사하는 것을 의도하지 않는다는 점에 유의한다. 또한, 오퍼레이팅 시스템 상태 관리 아키텍처는 도 1에 도시된 컴포넌트들 중 임의의 하나 또는 조합에 관련된 임의의 종속성 또는 요구를 갖는 것으로 해석되지 않아야 한다.
2.0 오퍼레이팅 시스템 상태 캡처 및 로딩
통상의 오퍼레이팅 시스템 컴퓨팅 세션은 전술한 시스템 메모리 및 영구 저장 장치 양자에 대한 변경들을 포함한다. 일반적으로, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 영구 저장 장치 및 시스템 메모리 양자의 상태들을 한 순간에 캡처한 후에 캡처된 시스템 상태들을 로딩하는 것을 가능하게 한다. 이것은 일 구현에서 시스템 메모리의 상태를 캡처하기 위한 하이버네이션 이미지 파일을 이용하여 달성된다. 하이버네이션 이미지 파일이 이용되지만, 이것은 오퍼레이팅 시스템이 통상적인 바와 같이 재부팅 절차를 이용하여 복원되어야 한다는 것을 의미하지 않는다는 점에 유의한다. 오히려, 이어지는 섹션들에서 더 상세히 설명되는 바와 같이, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 표준 하이버네이션 셧다운 및 부트 경로 재시동 절차들 밖에서 동작한다.
변경들의 캡처링과 관련하여, 일 실시예에서는 전술한 상태 관리 파일 시스템 필터를 이용하여, 영구 저장 장치에 대해 일반적으로 행해지는 변경들을 캡처한다. 따라서, 영구 저장 장치에 대해 어떠한 변경도 허용되지 않는다. 캡처된 시스템 상태들을 로딩하는 것은 오퍼레이팅 시스템을 시스템 상태들이 캡처된 때 그가 있었던 상태로 돌아가게 한다. 이것은 시스템 메모리의 상태가 컴퓨팅 세션 동안에 변경된 경우에도 마찬가지이다. 영구 저장 장치는 변경이 금지되었으므로, 시스템 상태들이 캡처된 때 그가 있었던 상태로 유지된다는 점에도 유의한다.
일 실시예에서, 캡처된 시스템 상태는 컴퓨팅 세션의 종료시에 복원될 수 있는 기준 상태를 나타낸다. 이것은 각각의 컴퓨팅 세션의 개시시에 공지의 기준 상태로 새로 시작하는 것을 가능하게 한다. 따라서, 인터넷 카페 또는 다른 공유 액세스 호스트 컴퓨팅 상황의 경우, 모든 컴퓨팅 세션 후에 기준 시스템 상태를 복원하여, 일관되고 신뢰성 있는 사용자 경험을 보장한다.
다른 실시예에서는, 둘 이상의 시스템 상태가 캡처된다. 기준 상태들은 전과 같이 캡처되지만, 추가로 컴퓨팅 세션 시스템 상태들이 캡처된다. 이것은, 사용자가 캡처된 컴퓨팅 세션 시스템 상태들을 미래에 로딩하고, 사용자가 이전의 컴퓨팅 세션에서 멈췄던 곳에서 계속하는 것을 가능하게 한다. 오퍼레이팅 시스템은 각각의 컴퓨팅 세션 후에 그의 기준 상태로 여전히 복귀된다. 따라서, 사용자가 바로 다음 컴퓨팅 세션 동안에 또는 하나 이상의 중간 세션들이 발생한 후에 발생하는 컴퓨팅 세션 동안에 캡처된 컴퓨팅 세션 시스템 상태를 로딩하는가는 중요하지 않다. 이것은 또한 인터넷 카페 또는 다른 공유 액세스 호스트 컴퓨팅 상황의 경우에도 이점들을 갖는다. 기준 시스템 상태가 (통상적으로 다수의 사용자를 포함하는) 각각의 컴퓨팅 세션 후에 복원되는 것만이 아니라, 개별 사용자가 그의 컴퓨팅 세션을 캡처하고, 이어서 나중에 컴퓨팅 세션과 관련된 시스템 상태들로 복귀할 수 있다.
또 다른 실시예에서, 오퍼레이팅 시스템 상태 캡처 및 로딩 기술은 공지된 양호한 기준 상태로의 세션 상태들의 점진적 로딩의 이용을 통해 빠른 디버깅을 가능하게 한다. 예를 들어, 오퍼레이팅 시스템 고장의 경우에, 고장 덤프 파일이 세션 상태 파일로서 이용되고, 문제가 발견될 때까지 점진적으로 로딩될 수 있다.
전술한 실시예들은 물론 다른 실시예들이 이어지는 섹션들에서 더 상세히 설명된다.
2.1 기준 시스템 상태들의 캡처링 및 로딩
기준 시스템 상태들의 캡처를 포함하는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 도 2에 도시된 바와 같은 하나의 구현에서 달성될 수 있다. 먼저, 미래에 로딩하기를 원하는 컴퓨터의 오퍼레이팅 시스템 메모리의 상태들을 저장한다(200). 저장된 상태들은 기준 시스템 상태들로서 참조될 수 있다. 일 버전에서, 오퍼레이팅 시스템 메모리 상태들은 하이버네이션 이미지 파일로서 저장된다. 그러나, 필요에 따라 다른 파일 타입들도 이용될 수 있다.
이 시점으로부터, 컴퓨터와 관련된 영구 저장 장치에 대한 변경들을 금지한다(202). 대신에, 금지되지 않았으면, 다음 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해졌을 변경들을 별도의 컴퓨팅 세션 파일에 저장한다(204). 일 버전에서, 이것은 영구 저장 장치 변경들을 컴퓨팅 세션 파일로 재지향시키는 전술한 상태 관리 파일 시스템 필터를 이용하여 달성된다. 임의의 파일 타입이 컴퓨팅 세션 파일을 위해 사용될 수 있다. 예컨대, 적절한 선택은 가상 하드 디스크(VHD) 파일 타입일 것이다. 컴퓨팅 세션 파일에 저장된 변경 데이터는, 영구 저장 장치에 저장된 데이터와 함께, 변경들이 영구 저장 장치에 대해 실제로 행해진 것처럼 정상적인 방식으로 컴퓨팅 세션 동안에 사용된다.
컴퓨팅 세션 동안에 컴퓨터와 관련된 영구 저장 장치를 변질되지 않은 상태로 유지하는 것은 저장된 기준 시스템 상태들을 시스템 메모리 내에 간단히 로딩함으로써 기준 시스템 상태들이 복원될 수 있게 한다. 영구 저장 장치의 재구성은 필요하지 않다. 즉, 도 2를 한번 더 참조하면, 컴퓨터 오퍼레이팅 시스템을 오퍼레이팅 시스템 메모리 상태들이 저장되었을 때의 상태로 복원하는 것이 필요한지를 결정한다(206). 예를 들어, 이러한 결정을 위한 트리거는 오퍼레이팅 시스템을 기준 상태로 복원하기 위한 사용자 명령, 또는 현재 컴퓨팅 세션의 종료에 대한 소정의 다른 원인일 수 있다. 오퍼레이팅 시스템이 아직 복원되지 않아야 하는 것으로 결정되는 경우, 프로세스 액션 206이 반복된다. 그러나, 오퍼레이팅 시스템이 이전의 저장된 상태로 복원되어야 하는 것으로 결정되는 경우, 오퍼레이팅 시스템 메모리의 현재 상태들 대신에, 저장된 상태들을 오퍼레이팅 시스템 메모리에 로딩한다(208).
오퍼레이팅 시스템 상태들을 캡처하는 유일한 목적이 오퍼레이팅 시스템을 기준 시스템 상태로 복원하는 것인 경우에는 컴퓨팅 세션의 종료시에 컴퓨팅 세션 파일이 간단히 폐기된다는 점에 유의한다. 후속 섹션들에서 설명되는 바와 같이, 다른 실시예들은 컴퓨팅 세션 파일들을 이용할 것이다. 그러한 실시예들에서, 세션 파일들은 폐기되지 않고 유지된다.
기준 시스템 상태들이 캡처된 후의 임의 시기에, 이들을 현재 시스템 상태들로 대체하여, 새로운 기준 상태들을 생성할 수 있다는 점에 더 유의한다. 이러한 작업을 완수하기 위해, 상태 관리 파일 시스템 필터가 일시적으로 불능화되고, 컴퓨팅 세션 파일 내에 캡처된 변경들이 컴퓨터와 관련된 영구 저장 장치 내에 구현된다. 이것은 영구 저장 장치를 현재의 오퍼레이팅 시스템 메모리 상태들과 동기화한다. 이어서, 새로운 기준 시스템 상태들이 전술한 바와 같이 캡처될 수 있고, 새로운 오퍼레이팅 시스템 메모리 상태들이 이전에 저장된 상태들 대신에 저장될 수 있다.
2.2 컴퓨팅 세션 상태들의 캡처링 및 로딩
전술한 바와 같이, 사용자의 컴퓨팅 세션 상태들도 캡처될 수 있다. 이것은 사용자가 캡처된 컴퓨팅 세션 상태들을 나중에 로딩하고, 그가 이전 컴퓨팅 세션에서 멈췄던 곳에서 계속할 수 있게 한다. 기준 상태는 여전히 전술한 바와 같이 캡처되지만, 추가로 개별 컴퓨팅 세션 시스템 상태가 캡처된다.
일 구현에서, 이것은 도 3에 도시된 바와 같이 달성된다. 먼저, 컴퓨터 사용자에 의해 지정된 시간에 존재할 때의 컴퓨터의 오퍼레이팅 시스템 메모리 상태들을 저장하고 기준 상태들로서 지정한다(300). 이어서, 컴퓨팅 세션 동안에 통상적으로 발생하는 변경들이 금지되도록 컴퓨터의 영구 저장 장치를 보호한다(302). 따라서, 전술한 바와 같이, 컴퓨터의 영구 저장 장치는 오퍼레이팅 시스템의 기준 메모리 상태들이 캡처된 때와 동일한 상태로 유지된다. 대신에, 금지되지 않았다면 다음 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해졌을 변경들을 전술한 컴퓨팅 세션 파일에 저장한다(304). 컴퓨팅 세션 파일에 저장된 변경 데이터는 영구 저장 장치에 저장된 데이터와 함께 전술한 바와 같이 통상의 방식으로 컴퓨팅 세션 동안에 사용된다.
이어서, 현재 컴퓨팅 세션이 종료되었는지를 판정한다(306). 세션이 아직 종료되지 않은 것으로 판정되는 경우, 프로세스 액션 306이 반복된다. 그러나, 컴퓨팅 세션이 종료된 것으로 판정되는 경우, 여러 액션들이 발생한다. 먼저, 컴퓨팅 세션이 종료된 때 존재하는 컴퓨터의 오퍼레이팅 시스템 메모리의 상태들을 나타내는 세션 상태 파일을 저장한다(308). 일 버전에서, 이 파일은 기준 상태 파일과 같이 하이버네이션 이미지 파일로서 저장된다. 그러나, 필요에 따라 다른 파일 타입들도 이용될 수 있다. 게다가, 영구 저장 장치에 대해 행해진 캡처된 변경들을 컴퓨팅 세션 파일에 저장한다(310). 여기서 다시, VHD 파일과 같은 임의의 파일 타입이 컴퓨팅 세션 파일을 위해 사용될 수 있다. 세션 상태 파일 및 컴퓨팅 세션 파일은 사용자 및 종료된 컴퓨팅 세션을 식별하는 지시자들과 연관된다는 점에 유의한다. 또한, 이 시점에서, 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해진 변경들의 캡처를 중지한다(312). 이어서, 컴퓨터 오퍼레이팅 시스템은 그의 기준 상태로 복원된다. 이것은 오퍼레이팅 시스템 메모리의 현재 상태들 대신에, 저장된 기준 상태들을 오퍼레이팅 시스템 메모리에 로딩하는 것을 수반한다(314).
위의 절차의 결과로서, 컴퓨터의 오퍼레이팅 시스템이 그의 기준 상태에 있고, 사용자의 컴퓨팅 세션 상태들이 세션 상태 파일 및 컴퓨팅 세션 파일의 형태로 캡처되었다. 이를 가정하고, 이제 사용자의 컴퓨팅 세션 상태들이 어떻게 로딩되어, 사용자가 최종 세션에서 그가 멈췄던 곳에서 계속할 수 있는지에 대해 설명한다. 사용자가 저장된 세션을 컴퓨터 상에서의 다음 발생 세션으로서 또는 여러 다른 세션이 완료된 후에 로딩하는가는 중요하지 않다는 점에 유의한다. 사용자에 의해 중간 세션들이 수행되었을 필요도 없다. 이것은 사용자가 누구였는지 또는 세션들이 어떤 순서로 발생하였는지에 관계없이 컴퓨터의 오퍼레이팅 시스템이 각각의 세션 후에 동일 기준 상태로 복원되기 때문이다.
이제, 도 4를 참조하면, 사용자의 저장된 컴퓨팅 세션 상태들이 다음과 같이 로딩된다. 먼저, 새로운 세션에서 재개하기를 원하는 컴퓨팅 세션에 대응하는 저장된 세션 상태 파일에 액세스한다(400). 이어서, 오퍼레이팅 시스템 메모리의 현재(즉, 기준) 상태들 대신에, 액세스된 세션 상태 파일을 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩한다(402). 또한, 새로운 세션에서 재개하기를 원하는 컴퓨팅 세션에 대응하는 컴퓨팅 세션 파일에 액세스한다(404). 전술한 파일들에 액세스하는 방법들은 본 설명에서 아래에 더 상세히 설명된다. 이어서, 상태 관리 파일 시스템 필터를 활성화하고, 현재 컴퓨팅 세션 동안에 영구 저장 장치에 대해 행해진 변경들을 전술한 방식으로 캡처한다(406). 캡처된 변경들을 컴퓨팅 세션 파일에 저장한다. 전과 같이, 캡처된 변경들은 물론, 영구 저장 장치로부터의 다른 데이터도 현재 컴퓨팅 세션 동안에 사용된다.
컴퓨팅 세션의 종료시에 컴퓨팅 세션과 관련된 세션 상태 파일 및 컴퓨팅 세션 파일을 저장하고, 컴퓨터의 오퍼레이팅 시스템을 그의 기준 상태로 복원하는 것에 관하여 도 3과 관련하여 설명된 액션들은 현재 세션이 종료될 때 한번 더 구현될 것이다. 이러한 방식으로, 사용자는 방금 종료된 세션을 미래의 세션에서 재개하기로 결정할 수 있다. 컴퓨팅 세션 파일은 이전의 세션 파일들과 구별될 수 있도록 새로운 이름으로 저장된다는 점에 유의한다. 이 새로운 컴퓨팅 세션 파일은 방금 종료된 컴퓨팅 세션 동안에 캡처된 변경들의 추가에 의해 갱신된 최후의 이전에 저장된 세션 파일을 나타낸다. 게다가, 세션 상태 파일들은 각각의 컴퓨팅 세션의 종료시에 저장되므로, 사용자는 컴퓨터에 의해 액세스 가능한 다수의 저장된 세션으로부터 선택할 수 있다. 이 때문에, 일 구현에서, 전술한 세션 상태 파일 및 컴퓨팅 세션 파일의 액세스는 액세스 가능한 세션 상태 파일들 및 대응하는 컴퓨팅 세션 파일들의 리스트를 컴퓨팅 세션을 개시하고 있는 사용자에게 제공하는 단계를 포함한다. 이어서, 리스트로부터 사용자에 의해 선택된 이전의 컴퓨팅 세션과 관련된 세션 상태 파일 및 컴퓨팅 세션 파일이 액세스되고 입력된다. 세션 상태 파일들 및 컴퓨팅 세션 파일들은 또한 특정 사용자와 연관되므로, 사용자는 먼저 통상의 방법들을 통해 식별될 수 있고, 이어서 그 사용자와 관련된 파일들만이 리스트 내에 제공될 것이다.
위의 구현에서, 컴퓨터는 세션 상태 파일들 및 컴퓨팅 세션 파일들을 컴퓨터가 액세스할 수 있는 메모리, 이를테면 그의 하드 드라이브에 저장한다. 그러나, 대안 구현에서, 컴퓨터는 이러한 파일들의 사본들을 유지하지 않는다. 예컨대, 인터넷 카페 또는 다른 공유 액세스 호스트들의 예에서는, 컴퓨터의 세션 상태 파일들 및 컴퓨팅 세션 파일들을 공유 컴퓨터에 저장하는 것이 바람직하지 않을 수 있다. 대안 구현에서, 컴퓨팅 세션의 종료시에, 그 세션 동안에 저장된 세션 상태 파일 및 컴퓨팅 세션 파일은 다운로드를 위해 사용자에 의해 이용 가능하게 된다. 이어서, 사용자는 이러한 파일들을 휴대용 메모리 장치(예로서, 플래시 드라이브 등)에 저장하거나, 아마도 (예로서, 이메일 첨부 등을 통해) 파일들을 네트워크 접속을 통해 다른 컴퓨터로 전송하는 옵션을 갖는다. 사용자가 파일들을 다운로드하는지의 여부에 관계없이, 이들은 컴퓨터에 의해 액세스되지 못하게 된다.
세션 상태 파일들 및 컴퓨팅 세션 파일들이 컴퓨터에 의해 유지되지 않는 구현들에서, 사용자가 이전 컴퓨팅 세션을 재개하기 위해 파일들이 제공될 필요가 없다. 이 때문에, 이러한 파일들의 액세스는 컴퓨터가 사용자에게 사용자가 재개하기를 원하는 컴퓨팅 세션에 대응하는 세션 상태 파일 및 컴퓨팅 세션 파일을 입력할 것을 요청하는 것을 필요로 한다. 이어서, 사용자는 요청된 파일들을 이들이 어떻게 저장되었는지에 의존하는 적절한 방법을 통해 입력할 것이다.
세션 상태 파일들 및 컴퓨팅 세션 파일들이 컴퓨터에 의해 유지되지 않는 구현들에서는, 사용자가 이전 컴퓨팅 세션을 재개하기를 원하는 시간에 파일들이 컴퓨터와 여전히 호환되는지에 관한 질문이 발생한다는 점에 더 유의한다. 예컨대, 입력되는 세션 상태 파일 및 컴퓨팅 세션 파일이 캡처된 후에 컴퓨터의 기준 시스템 상태들이 변경된 경우, 이들은 더 이상 호환 가능하지 않을 수 있다. 호환성을 보장하는 하나의 방법은 기준 시스템 상태 파일을 각각의 새로운 기준 상태과 함께 변하는 버전 지시자와 연관시키는 것이다. 따라서, 각각의 기준은 고유하게 식별된다. 이어서, 종료된 컴퓨팅 세션에 대응하는 세션 상태 파일 및 컴퓨팅 세션 파일은 이들이 저장될 때 검증 정보와 연관된다. 검증 정보는 파일들이 도출된 기준 시스템 상태들의 버전에 대응하는 전술한 기준 버전 지시자를 포함한다. 이 지시자는 컴퓨터에 의해 현재 사용되고 있는 기준 시스템 상태들의 기준 버전 지시자와 비교된다. 이들이 일치하는 경우, (컴퓨터는 최종 컴퓨팅 세션의 종료시에 그의 기준 상태로 복원되었으므로) 입력된 파일들은 호환성이 있다. 이들이 일치하지 않는 경우 사용자는 입력된 파일들과 관련된 컴퓨팅 세션이 재개될 수 없다는 것을 보고받을 것이다.
사용자에 의해 컴퓨터에 입력된 세션 상태 파일 및 컴퓨팅 세션 파일이 호환 가능하지 않을 수 있는 또 하나의 이유는 컴퓨터가 파일들을 생성하는 데 사용된 것과 동일한 컴퓨터가 아니라는 것이다. 통상적으로, 상이한 컴퓨터들은 상이한 기준 시스템 상태들을 가질 것이다. 그러나, 둘 이상의 컴퓨터를 동일한 세션 상태 파일 및 컴퓨팅 세션 파일과 호환되도록 구성하는 것이 가능하다. 이것은 일 구현에서 관련된 모든 컴퓨터들 사이에 동일한 기준 버전 지시자를 갖는 공통 기준 시스템 상태들을 생성함으로써 달성될 수 있다. 이러한 방식으로, 하나의 컴퓨터에서 생성된 세션 상태 파일 및 컴퓨팅 세션 파일 세트가 다른 컴퓨터와 호환될 수 있는데, 이는 파일들이 도출된 기준 시스템 상태들이 양 컴퓨터에서 동일하기 때문이다.
전술한 바와 같은 버전 제어형 기준 시스템 상태 스킴에서는, 세션 상태 파일의 크기를 줄일 수 있는 기회가 존재한다. 이 때문에, 일 구현에서는, 오퍼레이팅 시스템 메모리 기준 상태들과 컴퓨팅 세션이 종료된 때 존재하는 오퍼레이팅 시스템 메모리의 상태들 사이의 차이들이 식별된다. 이어서, 이러한 차이들은 전체 오퍼레이팅 시스템 메모리의 현재 상태들 대신에 세션 상태 파일로서 저장된다. 이러한 세션 상태 파일의 변형은 세션 상태 차이 파일로서 참조될 수 있다. 차이 파일은 오퍼레이팅 시스템 메모리를 채우는 데 필요한 상태들의 일부를 갖고 있지 않으므로, 이전 컴퓨팅 세션을 재개하기 위해 오퍼레이팅 시스템 메모리에 로딩되기 전에 완전한 컴퓨팅 세션 상태 구성을 재구축하기 위해 기준 오퍼레이팅 시스템 메모리 상태 파일 내에 통합된다. 이 때문에, 복원된 세션 상태 파일이 입력 세션 상태 차이 파일로부터 생성된다. 이것은 유효성이 검사되는 구현들에서 입력 파일들의 호환성을 성공적으로 검증한 후에 행해질 수 있다. 복원된 세션 상태 파일은 세션 상태 차이 파일 내의 차이들을 오퍼레이팅 시스템 메모리 기준 상태들에 적용함으로써 생성된다. 즉, 차이 파일에서 발견되는 상태들을 이용하여, 기준 상태 파일 내의 대응 상태들을 대체함으로써, 복원된 세션 상태 파일을 생성한다. 세션 상태 파일이 복원되면, 이 파일을 전술한 바와 같이 로딩하여, 관련 컴퓨팅 세션을 재개한다.
2.3 디버깅 목적을 위한 컴퓨팅 세션 상태들의 캡처링 및 점진적 로딩
전술한 바와 같이, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 또한 세션 상태들의 점진적 로딩의 이용을 통해 신속한 디버깅을 가능하게 한다. 일반적으로, 오퍼레이팅 시스템 메모리 상태들의 점진적 부분들을 공지된 양호한 기준 상태 내에 삽입함으로써, 애플리케이션 또는 오퍼레이팅 시스템이 디버깅될 수 있다. 사용자가 애플리케이션 또는 시스템을 디버깅하기로 결정할 수 있거나, 에러로 인한 시스템 고장으로 인해 디버깅 프로세스가 개시될 수 있다. 이러한 후자 시나리오에서는, 고장 시에 생성된 고장 덤프 파일이 세션 상태 파일로서 사용될 것이다. 통상의 디버깅 기술들이 이 실시예의 각각의 반복에서 이용된다.
일 구현에서, 점진적 디버깅 스킴은 다음과 같이 달성된다. 도 5a-b를 참조하면, 공지된 양호한 기준 상태를 설정함으로써 프로세스가 시작된다. 이를 위해 컴퓨터의 사용자에 의해 지정된 시간에 존재할 때 컴퓨터의 오퍼레이팅 시스템 메모리의 상태들이 저장된다(500). 이러한 상태들은 기준 상태 파일에 저장된다. 다른 구현들에서와 같이, 컴퓨팅 세션 동안에 컴퓨터와 관련된 영구 저장 장치에 대한 변경이 금지되며(502), 대신에 영구 저장 장치에 대해 행해졌을 변경들이 캡처된다(504). 전과 같이, 캡처된 변경들은 물론, 영구 저장 장치로부터의 다른 데이터가 컴퓨팅 세션 동안에 사용된다.
이어서, 사용자가 디버깅을 개시하기 위해 세션을 종료하거나, 시스템이 고장난 경우와 같이, 현재의 컴퓨팅 세션이 종료되었는지를 판정한다(506). 세션이 아직 종료되지 않은 것으로 판정되는 경우, 프로세스 액션 506이 반복된다. 그러나, 컴퓨팅 세션이 종료된 경우, 컴퓨팅 세션이 종료된 때 존재하는 컴퓨터의 오퍼레이팅 시스템 메모리의 상태들을 나타내는 세션 상태 파일이 저장된다(508). 시스템 고장 시나리오에서, 이러한 세션 상태 파일은 고장 덤프 파일일 것이다. 또한, 영구 저장 장치에 대해 행해진 변경들의 캡처링이 중지되고, 변경들이 저장된다(510). 이어서, 컴퓨터 오퍼레이팅 시스템은 오퍼레이팅 시스템 메모리의 현재 상태들 대신에 저장된 기준 상태들을 오퍼레이팅 시스템 메모리에 로딩함으로써 오퍼레이팅 시스템 메모리 기준 상태들이 저장되었던 때의 그의 상태로 복원된다(512).
기준 상태가 복원되면, 점진적 디버깅 프로세스가 시작될 수 있다. 이것은 먼저, 저장된 세션 상태 파일로부터 상태들의 규정된 부분에 액세스하고 이를 컴퓨터의 오퍼레이팅 시스템 메모리의 대응하는 현재 상태들 대신에 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩하는 것(514)을 필요로 한다. 이어서, 영구 저장 장치에 대해 행해진 변경들의 캡처링이 재개된다(516). 이어서, 이러한 캡처된 변경들은 물론, 영구 저장 장치로부터의 다른 데이터 및 이전에 저장된 변경들을 현재의 디버깅 반복 동안에 이용하여, 컴퓨터 오퍼레이팅 시스템 또는 특정 애플리케이션을 디버깅한다(518). 디버깅 절차의 종료시에, 컴퓨터의 오퍼레이팅 시스템이 디버깅되었는지를 판정한다(520). 그러한 경우, 프로세스가 종료된다. 그러나, 컴퓨터의 오퍼레이팅 시스템이 디버깅되지 않은 것으로 판정되는 경우, 현재의 디버깅 반복이 종료된다(522). 현재의 디버깅 반복 동안에 영구 저장 장치에 대해 행해진 변경들의 캡처링이 중지되고, 캡처된 변경들이 저장된다(524). 컴퓨터 오퍼레이팅 시스템은 기준 상태 파일로부터의 저장된 상태들을 오퍼레이팅 시스템 메모리의 현재 상태들 대신에 오퍼레이팅 시스템 메모리에 로딩함으로써 그의 기준 상태로 다시 복원된다(526). 이어서, 최종 종료된 디버깅 반복으로부터 규정된 증분만큼 증가된, 저장된 세션 상태 파일로부터의 상태들의 일부가 액세스되고, 컴퓨터의 오퍼레이팅 시스템 메모리의 대응하는 현재 상태들 대신에 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩된다(528). 이어서, 컴퓨터의 오퍼레이팅 시스템이 디버깅될 때까지, 프로세스 액션들 516 내지 528이 적절히 반복된다.
3.0 컴퓨팅 환경
이제, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들의 부분들을 구현할 수 있는 적절한 컴퓨팅 환경의 간단한 일반 설명이 제공된다. 전술한 바와 같이, 기술 실시예들은 다양한 범용 또는 특수 목적 컴퓨팅 시스템 환경들 또는 구성들에서 동작한다. 적절할 수 있는 공지된 컴퓨팅 시스템들, 환경들 및/또는 구성들의 예들은 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드 또는 랩탑 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그래밍 가능한 소비자 전자 장치, 네트워크 PC, 미니 컴퓨터, 메인프레임 컴퓨터, 위의 시스템들 및 장치들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경 등을 포함하지만, 이에 한정되지 않는다.
도 6은 적절한 컴퓨팅 시스템 환경의 일례를 도시한다. 컴퓨팅 시스템 환경은 적절한 컴퓨팅 환경의 일례일 뿐, 본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들의 이용 또는 기능의 범위에 관한 임의의 한정을 시사하는 것을 의도하지 않는다. 또한, 컴퓨팅 환경은 예시적인 운영 환경 내에 도시된 컴포넌트들 중 임의의 하나 또는 조합에 관련된 임의의 종속성 또는 요구를 갖는 것으로 해석되지 않아야 한다. 도 6을 참조하면, 본 명세서에서 설명되는 실시예들을 구현하기 위한 예시적인 시스템은 컴퓨팅 장치(10)와 같은 컴퓨팅 장치를 포함한다. 컴퓨팅 장치(10)는 그의 가장 기본적인 구성에서 통상적으로 적어도 하나의 처리 유닛(12) 및 메모리(14)를 포함한다. 메모리(14)는 (RAM과 같은) 휘발성 및 (ROM, 플래시 메모리 등과 같은) 비휘발성 저장 장치의 조합이다. 이러한 가장 기본적인 구성은 도 6에 파선(16)으로 도시되어 있다. 게다가, 장치(10)는 추가적인 특징들/기능을 더 구비할 수 있다. 예컨대, 장치(10)는 자기 또는 광 디스크 또는 테이프를 포함하지만 이에 한정되지 않는 추가적인 저장 장치(이동식 및/또는 비이동식)를 더 포함할 수 있다. 이러한 추가적인 저장 장치는 도 6에 이동식 저장 장치(18) 및 비이동식 저장 장치(20)로서 도시되어 있다. 컴퓨터 저장 매체들은 컴퓨터 판독 가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체들을 포함한다. 메모리(14), 이동식 저장 장치(18) 및 비이동식 저장 장치(20)는 모두 컴퓨터 저장 매체들의 예들이다. 컴퓨터 저장 매체들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 장치(10)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만 이에 한정되지 않는다. 임의의 그러한 컴퓨터 저장 매체들은 장치(10)의 일부일 수 있다.
장치(10)는 장치가 다른 장치들과 통신할 수 있게 하는 통신 접속(들)(22)도 포함할 수 있다. 장치(10)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 카메라 등과 같은 입력 장치(들)(24)도 구비할 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(26)도 포함될 수 있다. 이러한 모든 장치들은 이 분야에 공지되어 있으며, 본 명세서에서 상세히 설명될 필요가 없다.
본 명세서에서 설명되는 오퍼레이팅 시스템 상태 캡처 및 로딩 기술 실시예들은 컴퓨팅 장치에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터 실행 가능 명령어들과 일반적으로 관련하여 더 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들, 컴포넌트들, 데이터 구조들 등을 포함한다. 본 명세서에 설명되는 실시예들은 통신 네트워크를 통해 링크되는 원격 처리 장치들에 의해 작업들이 수행되는 분산형 컴퓨팅 환경들에서도 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈들은 메모리 저장 장치들을 포함하는 로컬 및 원격 컴퓨터 저장 매체들에 배치될 수 있다.
3.0 다른 실시예들
본 설명의 전반에서 전술한 실시예들 중 임의 또는 전부는 추가적인 혼합 실시예들을 형성하는 데 필요한 임의의 조합으로 이용될 수 있다는 점에 유의한다. 또한, 본 발명은 구조적인 특징들 및/또는 방법 단계들에 고유한 언어로 설명되었지만, 첨부된 청구항들에 정의된 본 발명은 전술한 특정 특징들 또는 단계들로 한정될 필요는 없다. 오히려, 전술한 특정 특징들 및 단계들은 청구항들을 구현하는 예시적인 형태들로서 개시된다.

Claims (15)

  1. 오퍼레이팅 시스템 상태를 캡처하며 로딩하기 위한 컴퓨터 구현 프로세스에 있어서,
    컴퓨터를 이용하여 수행되는
    미래에 로딩하기를 원하는 상기 컴퓨터의 오퍼레이팅 시스템 메모리의 상태를 저장하는 프로세스 액션(200),
    컴퓨팅 세션 동안에 상기 컴퓨터와 관련된 영구 저장 장치에 대한 변경을 금지하는 프로세스 액션(202),
    금지되지 않았다면 상기 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경을 별도의 세션 파일에 저장하며(204), 상기 세션 파일 내에 그리고 상기 영구 저장 장치 내에 저장된 데이터를 상기 컴퓨팅 세션 동안에 이용하는 프로세스 액션, 및
    상기 컴퓨터 오퍼레이팅 시스템을 상기 오퍼레이팅 시스템 메모리 상태가 저장된 때의 상태로 복원하기를 원할 때마다, 상기 오퍼레이팅 시스템 메모리의 현재 상태 대신에, 상기 저장된 상태를 상기 오퍼레이팅 시스템 메모리에 로딩하는 프로세스 액션을 포함하는
    컴퓨터 구현 프로세스.
  2. 오퍼레이팅 시스템 상태를 캡처하고 로딩하기 위한 컴퓨터 구현 프로세스에 있어서,
    컴퓨터를 이용하여 수행되는
    상기 컴퓨터의 사용자에 의해 지정된 시간에 존재하는 상기 컴퓨터의 오퍼레이팅 시스템 메모리의 상태를 저장하는 프로세스 액션(300) - 상기 상태는 상기 오퍼레이팅 시스템 메모리의 기준 상태로서 지정됨 -,
    컴퓨팅 세션 동안에 상기 컴퓨터와 연관된 영구 저장 장치에 대한 변경을 금지하는 프로세스 액션(302),
    금지되지 않았다면 상기 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경을 캡처하고(304), 상기 컴퓨팅 세션 동안에 상기 캡처된 변경은 물론, 상기 영구 저장 장치로부터의 다른 데이터를 이용하는 프로세스 액션, 및
    상기 컴퓨팅 세션이 종료될 때마다,
    상기 컴퓨팅 세션이 종료될 때에 존재하는 상기 컴퓨터의 상기 오퍼레이팅 시스템 메모리의 상기 상태를 나타내는 세션 상태 파일을 저장하고(308), 상기 세션 상태 파일을 상기 사용자 및 종료되는 상기 컴퓨팅 세션과 연관시키는 프로세스 액션,
    상기 캡처된 변경을 별도의 컴퓨팅 세션 파일에 저장하고(310), 상기 컴퓨팅 세션 파일을 상기 사용자 및 종료되는 상기 컴퓨팅 세션과 연관시키는 프로세스 액션,
    상기 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경의 상기 캡처를 중지하는 프로세스 액션(312), 및
    상기 컴퓨터 오퍼레이팅 시스템을 상기 오퍼레이팅 시스템 메모리 기준 상태가 저장된 때의 상태로 복원하는 프로세스 액션(314)을 포함하는
    컴퓨터 구현 프로세스.
  3. 제 2 항에 있어서,
    상기 컴퓨터를 상기 컴퓨팅 세션이 종료된 때의 상태로 복원하고, 현재 컴퓨팅 세션을 개시하기를 원할 때마다,
    컴퓨팅 세션에 대응하는 상기 저장된 세션 상태 파일에 액세스하여, 이 파일을 상기 오퍼레이팅 시스템 메모리의 현재 상태 대신에 상기 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩하는 프로세스 액션,
    상기 컴퓨팅 세션에 대응하는 상기 컴퓨팅 세션 파일에 액세스하는 프로세스 액션,
    상기 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경의 상기 캡처를 재개하며, 상기 캡처된 변경을 상기 컴퓨팅 세션 파일에 저장하는 프로세스 액션, 및
    상기 캡처된 변경은 물론, 상기 영구 저장 장치로부터의 다른 데이터를 상기 현재 컴퓨팅 세션 동안에 이용하는 프로세스 액션을 더 포함하는
    컴퓨터 구현 프로세스.
  4. 제 3 항에 있어서,
    상기 현재 컴퓨팅 세션이 종료될 때마다,
    상기 현재 컴퓨팅 세션이 종료될 때 존재하는 상기 컴퓨터의 상기 오퍼레이팅 시스템 메모리의 상기 상태를 나타내는 세션 상태 파일을 저장하며, 상기 세션 상태 파일을 상기 사용자 및 종료되는 상기 현재 컴퓨팅 세션과 연관시키는 프로세스 액션,
    상기 현재 컴퓨팅 세션 동안에 캡처된 상기 금지된 영구 저장 장치 변경의 추가에 의해 최후의 이전에 저장된 세션 파일을 갱신하는 새로운 컴퓨팅 세션 파일을 생성하고 저장하며, 상기 새로운 컴퓨팅 세션 파일을 상기 사용자 및 종료되는 상기 현재 컴퓨팅 세션과 연관시키는 프로세스 액션,
    상기 현재 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경의 상기 캡처를 중지하는 프로세스 액션, 및
    상기 컴퓨터 오퍼레이팅 시스템을 상기 오퍼레이팅 시스템 메모리 기준 상태가 저장된 때의 상태로 복원하는 프로세스 액션을 더 포함하며,
    상기 복원하는 프로세스 액션은 상기 오퍼레이팅 시스템 메모리의 현재 상태 대신에 상기 저장된 기준 상태를 상기 오퍼레이팅 시스템 메모리에 로딩하는 프로세스 액션을 포함하는
    컴퓨터 구현 프로세스.
  5. 제 4 항에 있어서,
    다수의 컴퓨팅 세션과 연관된 세션 상태 파일 및 컴퓨팅 세션 파일이 상기 컴퓨터에 의해 액세스될 수 있으며, 컴퓨팅 세션에 대응하는 상기 저장된 세션 상태 파일에 액세스하고, 이 파일을 상기 오퍼레이팅 시스템 메모리의 현재 상태 대신에 상기 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩하며, 상기 컴퓨팅 세션에 대응하는 상기 컴퓨팅 세션 파일에 액세스하는 상기 프로세스 액션은
    액세스 가능한 세션 상태 파일 및 컴퓨팅 세션 파일의 리스트를 현재 컴퓨팅 세션을 개시하고 있는 사용자에게 제공하는 액션,
    상기 사용자가 상기 현재 세션으로서 재개하기를 원하는 이전 컴퓨팅 세션에 대응하는 상기 제공된 리스트로부터의 상기 세션 상태 파일 및 컴퓨팅 세션 파일의 사용자 선택을 입력하는 액션, 및
    상기 사용자 선택된 세션 상태 파일 및 컴퓨팅 세션 파일을 이용하여, 상기 컴퓨터를 상기 이전 컴퓨팅 세션이 종료된 때의 상태로 복원하며, 현재 컴퓨팅 세션을 개시하는 액션을 포함하는
    컴퓨터 구현 프로세스.
  6. 제 5 항에 있어서,
    세션 상태 파일 및 컴퓨팅 세션 파일을 저장하는 상기 프로세스 액션은 상기 파일을 상기 컴퓨터가 액세스할 수 있는 비휘발성 메모리에 저장하는 액션을 포함하는
    컴퓨터 구현 프로세스.
  7. 제 4 항에 있어서,
    상기 컴퓨터 오퍼레이팅 시스템을 상기 오퍼레이팅 시스템 메모리 기준 상태가 저장된 때의 상태로 복원하는 상기 프로세스 액션은
    최종 종료된 컴퓨팅 세션에 대응하는 상기 저장된 세션 상태 파일 및 컴퓨팅 세션 파일이 다운로드를 위해 상기 사용자에 의해 이용될 수 있게 하는 액션, 및
    상기 컴퓨터가 액세스할 수 있는 메모리로부터 상기 최종 종료된 컴퓨팅 세션에 대응하는 상기 저장된 세션 상태 파일 및 컴퓨팅 세션 파일을 삭제하는 액션을 더 포함하는
    컴퓨터 구현 프로세스.
  8. 제 7 항에 있어서,
    세션 상태 파일 및 컴퓨팅 세션 파일에 액세스하는 상기 프로세스 액션은
    상기 사용자에게 상기 세션 상태 파일 및 컴퓨팅 세션 파일을 입력하도록 요청하는 액션, 및
    상기 사용자로부터 수신될 때 상기 세션 상태 파일 및 컴퓨팅 세션 파일을 입력하는 액션을 더 포함하는
    컴퓨터 구현 프로세스.
  9. 제 8 항에 있어서,
    세션 상태 파일을 저장하고 컴퓨팅 세션 파일을 저장하는 상기 프로세스 액션은 상기 파일을 상기 파일이 도출된 상기 오퍼레이팅 시스템 메모리 기준 상태의 버전을 식별하는 기준 버전 지시자를 포함하는 검증 정보와 연관시키는 액션을 포함하는
    컴퓨터 구현 프로세스.
  10. 제 9 항에 있어서,
    세션 상태 파일 및 컴퓨팅 세션 파일에 액세스하는 상기 프로세스 액션은
    상기 파일과 연관된 상기 검증 정보에 기초하여, 상기 세션 상태 파일 및 컴퓨팅 세션 파일이 상기 컴퓨터에 의해 이용되는 상기 오퍼레이팅 시스템의 상기 오퍼레이팅 시스템 메모리 기준 상태로부터 도출되었는지를 판정하는 액션,
    상기 세션 상태 파일 및 컴퓨팅 세션 파일이 상기 컴퓨터에 의해 이용되는 상기 오퍼레이팅 시스템의 상기 오퍼레이팅 시스템 메모리 기준 상태로부터 도출된 것으로 판정될 때마다 세션 상태 파일 및 컴퓨팅 세션 파일에 액세스하는 액션, 및
    상기 세션 상태 파일 및 컴퓨팅 세션 파일이 상기 컴퓨터에 의해 이용되는 상기 오퍼레이팅 시스템의 상기 오퍼레이팅 시스템 메모리 기준 상태로부터 도출되지 않은 것으로 판정될 때마다, 상기 세션 상태 파일 및 컴퓨팅 세션 파일이 액세스될 수 없다는 것을 상기 사용자에게 알리는 액션을 더 포함하는
    컴퓨터 구현 프로세스.
  11. 제 4 항에 있어서,
    세션 상태 파일을 저장하는 상기 프로세스 액션은
    상기 오퍼레이팅 시스템 메모리 기준 상태와 최종 수행된 컴퓨팅 세션이 종료된 시간에 존재하는 상기 오퍼레이팅 시스템 메모리의 상태 사이의 차이를 식별하는 액션, 및
    상기 식별된 차이를 세션 상태 차이 파일로서 저장하는 액션을 더 포함하는
    컴퓨터 구현 프로세스.
  12. 제 11 항에 있어서,
    상기 컴퓨팅 세션에 대응하는 상기 저장된 세션 상태 파일에 액세스하는 상기 프로세스 액션은
    상기 세션 상태 차이 파일 내의 상기 차이를 상기 오퍼레이팅 시스템 메모리 기준 상태에 적용함으로써 복원된 세션 상태 파일을 생성하고 저장하는 액션, 및
    상기 복원된 세션 상태 파일을 액세스될 상기 저장된 세션 상태 파일로서 지정하는 액션을 포함하는
    컴퓨터 구현 프로세스.
  13. 오퍼레이팅 시스템 상태를 캡처하고 로딩하기 위한 컴퓨터 구현 프로세스에 있어서,
    컴퓨터를 이용하여 수행되는
    (a) 상기 컴퓨터의 사용자에 의해 지정된 시간에 존재하는 상기 컴퓨터의 오퍼레이팅 시스템 메모리의 상태를 저장하되, 상기 상태는 기준 상태 파일로 저장되는 프로세스 액션(500),
    (b) 컴퓨팅 세션 동안에 상기 컴퓨터와 연관된 영구 저장 장치에 대한 변경을 금지하는 프로세스 액션(502),
    (c) 금지되지 않았다면 상기 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경을 캡처하는 프로세스 액션(504),
    (d) 상기 캡처된 변경 및 상기 영구 저장 장치로부터의 다른 데이터를 현재 컴퓨팅 세션 동안에 이용하는 프로세스 액션,
    (e) 상기 컴퓨팅 세션이 종료될 때마다,
    상기 컴퓨팅 세션이 종료되는 시간에 존재하는 상기 컴퓨터의 상기 오퍼레이팅 시스템 메모리의 상기 상태를 나타내는 세션 상태 파일을 저장하는 프로세스 액션(506),
    상기 현재 컴퓨팅 세션 동안에 상기 영구 저장 장치에 대해 행해졌을 변경의 상기 캡처를 중지하며, 상기 캡처된 변경을 저장하는 프로세스 액션(508), 및
    상기 컴퓨터 오퍼레이팅 시스템을 상기 오퍼레이팅 시스템 메모리 기준 상태가 저장된 때의 상태로 복원하되, 상기 복원하는 프로세스 액션은 상기 오퍼레이팅 시스템 메모리의 현재 상태 대신에 상기 저장된 기준 상태를 상기 오퍼레이팅 시스템 메모리에 로딩하는 프로세스 액션을 포함하는 프로세스 액션(510),
    (f) 상기 저장된 세션 상태 파일로부터 상기 상태의 규정된 부분에 액세스하고, 이 부분을 상기 컴퓨터의 오퍼레이팅 시스템 메모리의 대응하는 현재 상태 대신에 상기 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩하는 프로세스 액션(512),
    (g) 상기 영구 저장 장치에 대해 행해졌을 변경의 상기 캡처를 재개하는 프로세스 액션(514),
    (h) 현재 디버깅 반복 동안에, 상기 캡처된 변경 및 상기 영구 저장 장치로부터의 다른 데이터 및 상기 저장된 변경을 이용하여, 상기 컴퓨터 오퍼레이팅 시스템을 디버깅하는 프로세스 액션(516),
    (i) 상기 컴퓨터의 오퍼레이팅 시스템이 디버깅되었는지를 판정하는 프로세스 액션(518),
    (j) 상기 컴퓨터의 오퍼레이팅 시스템이 디버깅되지 않은 것으로 판정될 때마다,
    상기 현재 디버깅 반복을 종료하는 프로세스 액션(520),
    상기 현재 디버깅 반복 동안에 상기 영구 저장 장치에 대해 행해졌을 변경의 상기 캡처를 중지하고, 상기 캡처된 변경을 저장하는 액션(522),
    상기 컴퓨터 오퍼레이팅 시스템을 상기 오퍼레이팅 시스템 메모리 기준 상태가 저장된 때의 상태로 복원하되, 상기 복원하는 프로세스 액션은 상기 기준 상태 파일로부터의 상기 저장된 상태를 상기 오퍼레이팅 시스템 메모리의 현재 상태 대신에 상기 오퍼레이팅 시스템 메모리에 로딩하는 프로세스 액션을 포함하는 프로세스 액션(524),
    최종 종료된 디버깅 반복에 대응하는 상기 저장된 세션 상태 파일로부터의 상기 상태의 증가된 부분에 액세스하고, 이 부분을 상기 컴퓨터의 오퍼레이팅 시스템 메모리의 대응하는 현재 상태 대신에 상기 컴퓨터의 오퍼레이팅 시스템 메모리에 로딩하되, 상기 저장된 세션 상태 파일로부터의 상기 상태의 상기 증가된 부분은 상기 최종 종료된 디버깅 반복에서 로딩된 상기 저장된 세션 상태 파일로부터의 상기 상태 플러스 상기 저장된 세션 상태 파일로부터의 상기 상태의 규정된 추가 부분을 포함하는 프로세스 액션(526), 및
    (k) 상기 컴퓨터의 오퍼레이팅 시스템이 디버깅될 때까지 액션 (g) 내지 (j)를 반복하는 프로세스 액션를 포함하는
    컴퓨터 구현 프로세스.
  14. 제 13 항에 있어서,
    상기 컴퓨팅 세션은 에러로 인해 상기 컴퓨터의 오퍼레이팅 시스템에 의해 자동으로 종료되며, 상기 세션 상태 파일은 고장 덤프 파일(crash dump file)인
    컴퓨터 구현 프로세스.
  15. 제 13 항에 있어서,
    상기 컴퓨팅 세션은 상기 컴퓨터의 오퍼레이팅 시스템을 디버깅하는 목적을 위해 상기 사용자에 의해 종료되는
    컴퓨터 구현 프로세스.
KR1020117026397A 2009-05-05 2010-04-16 오퍼레이팅 시스템 상태의 캡처링 및 로딩 KR101654398B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/435,737 US8209501B2 (en) 2009-05-05 2009-05-05 Capturing and loading operating system states
US12/435,737 2009-05-05

Publications (2)

Publication Number Publication Date
KR20120027219A true KR20120027219A (ko) 2012-03-21
KR101654398B1 KR101654398B1 (ko) 2016-09-05

Family

ID=43050692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117026397A KR101654398B1 (ko) 2009-05-05 2010-04-16 오퍼레이팅 시스템 상태의 캡처링 및 로딩

Country Status (9)

Country Link
US (1) US8209501B2 (ko)
EP (1) EP2427823B1 (ko)
JP (1) JP5416834B2 (ko)
KR (1) KR101654398B1 (ko)
CN (1) CN102414658B (ko)
BR (1) BRPI1013993B1 (ko)
CA (1) CA2757636C (ko)
RU (1) RU2554851C2 (ko)
WO (1) WO2010129159A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173814A (ja) * 2011-02-17 2012-09-10 Canon Inc 情報処理装置及び情報処理装置を制御する制御方法
US9495173B2 (en) * 2011-12-19 2016-11-15 Sandisk Technologies Llc Systems and methods for managing data in a device for hibernation states
TWI475402B (zh) * 2013-01-09 2015-03-01 Giga Byte Tech Co Ltd 遠端備份系統及其遠端備份方法
US20150120674A1 (en) * 2013-10-29 2015-04-30 Nvidia Corporation Virtual program installation and state restoration
US9572104B2 (en) * 2015-02-25 2017-02-14 Microsoft Technology Licensing, Llc Dynamic adjustment of user experience based on system capabilities
US10521218B2 (en) * 2017-10-09 2019-12-31 Microsoft Technology Licensing, Llc Enhanced techniques for updating software

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020096061A (ko) * 2001-06-14 2002-12-31 남 영 김 스프링장대 놀이기구
US20050132346A1 (en) * 2003-12-10 2005-06-16 Sap Aktiengesellschaft Software interface monitor method and system
KR20050070635A (ko) * 2003-12-30 2005-07-07 삼성전자주식회사 비정상 종료된 시스템의 재부팅 시간을 단축할 수 있는임베디드 컴퓨터 시스템
US20070124573A1 (en) * 2005-10-28 2007-05-31 Walker Phillip M Method for rapid startup of a computer system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3597558B2 (ja) * 1994-03-18 2004-12-08 株式会社日立製作所 情報処理装置
US5715464A (en) * 1995-06-07 1998-02-03 International Business Machines Corporation Computer system having suspend once resume many sessions
JP3853941B2 (ja) * 1996-11-21 2006-12-06 株式会社日立製作所 情報処理装置
US6523125B1 (en) 1998-01-07 2003-02-18 International Business Machines Corporation System and method for providing a hibernation mode in an information handling system
US6209088B1 (en) 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
JP2001014050A (ja) * 1999-06-29 2001-01-19 Casio Comput Co Ltd 情報処理装置及び記憶媒体
CN1293461C (zh) * 1999-07-30 2007-01-03 神基科技股份有限公司 一种将电脑系统状态挂起的方法
JP2002324012A (ja) * 2001-04-25 2002-11-08 Ricoh Co Ltd 情報処理システム
JP2004038546A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
CA2444685A1 (en) 2003-02-07 2004-08-07 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in operating systems, such as for example windows
US7073052B2 (en) 2003-05-22 2006-07-04 International Business Machines Corporation Method and system for storing active files and programs in a hibernation mode
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
US7827558B2 (en) * 2004-06-30 2010-11-02 Devicevm, Inc. Mechanism for enabling a program to be executed while the execution of an operating system is suspended
CN1744039B (zh) * 2004-08-31 2012-01-25 华硕电脑股份有限公司 开机方法、计算机系统及其生产方法
US8024566B2 (en) * 2005-04-29 2011-09-20 Sap Ag Persistent storage implementations for session data within a multi-tiered enterprise network
US20070112899A1 (en) 2005-11-14 2007-05-17 Edwards Matthew F Method and apparatus for fast boot of an operating system
JP2007233815A (ja) * 2006-03-02 2007-09-13 Hitachi Ltd 情報処理システムおよび情報処理装置の割当管理方法
CN100377085C (zh) * 2006-03-31 2008-03-26 浙江大学 嵌入式操作系统硬件镜像启动优化的实现方法
US8352717B2 (en) * 2009-02-09 2013-01-08 Cs-Solutions, Inc. Recovery system using selectable and configurable snapshots

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020096061A (ko) * 2001-06-14 2002-12-31 남 영 김 스프링장대 놀이기구
US20050132346A1 (en) * 2003-12-10 2005-06-16 Sap Aktiengesellschaft Software interface monitor method and system
KR20050070635A (ko) * 2003-12-30 2005-07-07 삼성전자주식회사 비정상 종료된 시스템의 재부팅 시간을 단축할 수 있는임베디드 컴퓨터 시스템
US20070124573A1 (en) * 2005-10-28 2007-05-31 Walker Phillip M Method for rapid startup of a computer system

Also Published As

Publication number Publication date
US8209501B2 (en) 2012-06-26
WO2010129159A3 (en) 2011-02-17
JP5416834B2 (ja) 2014-02-12
US20100287344A1 (en) 2010-11-11
RU2554851C2 (ru) 2015-06-27
JP2012526322A (ja) 2012-10-25
EP2427823A2 (en) 2012-03-14
WO2010129159A2 (en) 2010-11-11
BRPI1013993B1 (pt) 2020-11-17
RU2011144841A (ru) 2013-05-10
KR101654398B1 (ko) 2016-09-05
CA2757636C (en) 2017-01-17
CN102414658B (zh) 2013-10-30
CN102414658A (zh) 2012-04-11
BRPI1013993A2 (pt) 2016-08-16
EP2427823A4 (en) 2013-01-09
EP2427823B1 (en) 2018-10-03
CA2757636A1 (en) 2010-11-11

Similar Documents

Publication Publication Date Title
US9235474B1 (en) Systems and methods for maintaining a virtual failover volume of a target computing system
US10067835B2 (en) System reset
US9336039B2 (en) Determining status of migrating virtual machines
US9678682B2 (en) Backup storage of vital debug information
US10592354B2 (en) Configurable recovery states
US10228993B2 (en) Data dump for a memory in a data processing system
KR101654398B1 (ko) 오퍼레이팅 시스템 상태의 캡처링 및 로딩
US20180349133A1 (en) Software update rollbacks using file system volume snapshots
EP3769225B1 (en) Free space pass-through
US9268576B1 (en) Physical replica utilizing replica virtual storage for computer system

Legal Events

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