KR102123701B1 - 네트워크 부트 시스템 - Google Patents

네트워크 부트 시스템 Download PDF

Info

Publication number
KR102123701B1
KR102123701B1 KR1020147003729A KR20147003729A KR102123701B1 KR 102123701 B1 KR102123701 B1 KR 102123701B1 KR 1020147003729 A KR1020147003729 A KR 1020147003729A KR 20147003729 A KR20147003729 A KR 20147003729A KR 102123701 B1 KR102123701 B1 KR 102123701B1
Authority
KR
South Korea
Prior art keywords
client terminal
data
cache
virtual disk
revision
Prior art date
Application number
KR1020147003729A
Other languages
English (en)
Other versions
KR20150058092A (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 KR20150058092A publication Critical patent/KR20150058092A/ko
Application granted granted Critical
Publication of KR102123701B1 publication Critical patent/KR102123701B1/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
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/224Disk storage

Abstract

(과제) 가상 디스크에 단말이 직접 기록하는 프라이빗 모드로 단말의 2 회째 이후의 기동이더라도 단말의 기동 속도나 동작이 저하되는 것을 억제한다.
(해결 수단) 네트워크 부트 시스템 (100) 은, 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크 (22b) 로 하여 제공하는 네트워크 부트 서버 (10) 와 기억 장치 (21a) 를 구비한 단말 (20a) 이 네트워크 (30) 을 통하여 접속되고, OS 는 서버로부터 판독출력한 데이터를 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비한다. 세대 관리 데이터 (M) 와 재기록 관리 테이블 (T2) 을 구비하고, 리드 캐시 기구는 가상 디스크에 단말이 직접 기록하는 프라이빗 모드로 클라이언트 단말의 2 회째 이후의 기동시에는, 재기록 관리 테이블을 세대 관리 데이터로 치환하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시킨다.

Description

네트워크 부트 시스템{NETWORK BOOT SYSTEM}
본 발명은 네트워크를 통하여 오퍼레이팅 시스템을 기동시키는 네트워크 부트 시스템에 관한 것이다.
최근 네트워크를 통하여 오퍼레이팅 시스템 (이하, 「OS」라고 한다) 을 기동시키는 시스템 (이하, 「네트워크 부트 시스템」이라고 한다) 에 있어서, 네트워크 부트 서버에 대한 부하를 경감시키기 위해서, 클라이언트 단말측의 물리적인 기억 장치의 일부에 판독출력 전용의 캐시 (이하, 「리드 캐시 기구」라고 한다) 를 구비하는 것이 일반적으로 알려져 있다.
특허문헌 1 에는, 네트워크 부트 시스템에 있어서, 최종 사용자가 사용하는 PC (클라이언트 단말) 의 로컬 디스크 내에 네트워크 부트 서버 상의 가상 디스크를 캐시함으로써 서버에 대한 네트워크 액세스를 줄일 수 있는 리드 캐시 기구를 구비한 네트워크 부트 시스템이 개시되어 있다. 가상 디스크는 개정 정보 (이하, 「리비젼」이라고 한다) 를 이용하여 세대 관리되고 있으며, 업데이트·프로그램의 인스톨이나 설정 변경과 같은 가상 디스크의 개정에 수반하여 그 리비젼이 갱신된다. 리드 캐시 기구는, 각 단말에 가상 디스크의 리비젼에 대응한 캐시 관리 테이블을 가지며, 그 관리 테이블을 사용함으로써 캐시 데이터의 유무를 판별하고 있다.
그리고, 상기 서술한 네트워크 부트 시스템에서는, 기록 정보를 캐시하기 위한 라이트 캐시 영역과 기록 관리 플래그를 추가로 가지고 있다. 이 기록 관리 플래그에 의해 어느 섹터 내의 데이터가 기록이 완료되었는지의 여부를 판별할 수 있고, 리드 캐시 기구는 기록이 완료된 섹터 내에 유지되어 있는 캐시 데이터를 사용하지 않도록 하고 있다. 이와 같이, 리드 캐시 기구가 캐시 데이터를 유효하게 이용함으로써 네트워크 부하가 경감된다. 그 때문에, 이와 같은 네트워크 부트 시스템에서는 다수의 클라이언트 단말을 일제히 기동시킨 경우라도 2 회째 이후의 기동에서는 네트워크에 대한 액세스가 거의 없어 클라이언트 단말의 기동이 고속화된다.
상기 서술한 네트워크 부트 시스템에서는, 쉐어 모드 (스탠다드 모드) 와 프라이빗 모드를 가지고 있다. 쉐어 모드는 복수의 클라이언트 단말이 네트워크 부트 서버 상의 가상 디스크를 공유하여 사용하는 모드로, 시스템을 통상적인 운용 환경에서 동작시키기 위한 모드이다. 한편, 프라이빗 모드는 1 대의 클라이언트 단말이 서버 상의 가상 디스크에 클라이언트가 직접 기록할 수 있는 모드로, 시스템을 보수 (메인터넌스) 환경에서 동작시키기 위한 모드이다. 프라이빗 모드 상태에서 클라이언트 단말을 기동시킴으로써, OS 나 프로그램의 업데이트나 신규 인스톨 혹은 설정 변경을 실시하는 등 가상 디스크의 데이터에 변경을 가할 수 있다.
국제 공개 제2009/145274호
그러나, 상기 서술한 바와 같은 종래의 네트워크 부트 시스템에서는, 프라이빗 모드로 보수 작업 중인 클라이언트 단말을 재기동시킨 경우나 그 단말의 전원을 일단 OFF 로 하고 다른 단말로 다시 기동시킨 경우, 즉 프라이빗 모드로 단말을 2 회째 이후에 기동시킨 경우에는, 그 클라이언트 단말의 기동이나 동작이 늦어진다는 문제가 있었다.
프라이빗 모드에서의 단말의 「1 회째」의 기동시에는, 그 기동 순간에 있어서는 가상 디스크의 내용은 특정 리비젼의 상태와 동등하기 때문에 단말 내의 캐시 데이터를 이용할 수 있다. 그러나, 프라이빗 모드에서의 단말의 「2 회째 이후」의 기동시에는, 가상 디스크의 상태가 특정 리비젼과는 상이하기 때문에, 그대로는 특정 리비젼의 데이터를 갖는 단말 내의 캐시를 이용할 수는 없다. 그 때문에, 프라이빗 모드에서의 단말의 「2 회째 이후」의 기동시에는, 네트워크 부트 서버 상의 가상 디스크의 데이터와 단말의 캐시 데이터의 불일치에 의해 클라이언트 단말의 OS 가 기동하지 않거나 이상 정지하거나 하는 중대한 트러블이 발생하지 않도록 리드 캐시 기구를 정지시키고 있다. 이 리드 캐시 기구의 정지가 프라이빗 모드에서의 단말의 기동이나 동작이 늦어진다는 문제의 하나의 요인이었다.
본 발명은 상기를 감안하여 이루어진 것으로, 리드 캐시 기구를 구비한 네트워크 부트 시스템에 있어서 클라이언트 단말이 서버 상의 가상 디스크에 클라이언트가 직접 기록하는 프라이빗 모드로 클라이언트 단말의 2 회째 이후의 기동이더라도 클라이언트 단말의 기동 속도나 동작이 저하되는 것을 억제하는 것을 주된 기술적 과제로 한다.
본 발명에 관련된 네트워크 부트 시스템은, 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와 물리적인 기억 장치를 구비한 클라이언트 단말이 네트워크를 통하여 접속되고, 상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 상기 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비한 네트워크 부트 시스템으로서, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와 상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고, 상기 리드 캐시 기구는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록할 수 있는 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에는, 상기 재기록 관리 테이블을 상기 세대 관리 데이터로 치환하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 것을 특징으로 한다.
세대 관리 데이터는, 가상 디스크 (디스크 이미지) 의 리비젼의 천이에 의해, 구체적으로는 가상 디스크에 있어서의 OS, 프로그램의 업데이트나 신규 인스톨 혹은 설정 변경, 삭제 등을 실시하여 가상 디스크의 어느 영역이 변경되었는지를 나타내는 데이터이다. 가상 디스크의 영역이 캐시 데이터가 보존된 영역에 대응지어짐으로써 캐시 데이터의 변경된 영역을 알 수 있다.
이 구성에 의해, 프라이빗 모드로 클라이언트 단말을 2 회째 이후에 기동시켜도, 리드 캐시 기구는 세대 관리 데이터를 재기록 관리 테이블로서 사용함으로써, 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시킬 수 있어, 클라이언트 단말로부터 네트워크 부트 서버에 대한 네트워크 액세스를 경감시켜 클라이언트 단말의 기동 속도나 동작이 저하되는 것을 억제할 수 있다.
상기 네트워크 부트 시스템에 있어서, 상기 재기록 관리 테이블은 상기 클라이언트 단말 측에 보존되고, 상기 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에는, 상기 세대 관리 데이터가 상기 재기록 관리 테이블에 카피되어 있도록 해도 된다.
상기 네트워크 부트 시스템에 있어서, 상기 가상 디스크의 일부에, 상기 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P 를, 상기 프라이빗 모드 종료시에 일정값 P 이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고, 상기 리드 캐시 기구는, 상기 보존 영역의 값이 일정값 P 인 경우에는, 상기 프라이빗 모드로 상기 클라이언트 단말의 2 회째 이후의 기동이라고 판정하여 리드 캐시를 기동시키도록 하는 것이 바람직하다. 이로써, 프라이빗 모드로 클라이언트 단말의 2 회째 이후의 기동을 용이하게 판정할 수 있다.
본 발명에 관련된 네트워크 부트 서버는, 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 상기 단말에 네트워크를 통하여 제공하는 네트워크 부트 서버로서, 상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 보존하는 리드 캐시 기구를 구비하고, 상기 클라이언트 단말은, 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고, 상기 네트워크 부트 서버는, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터를 가지며, 상기 세대 관리 데이터는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에, 상기 재기록 관리 테이블에 카피되는 것을 특징으로 한다.
본 발명에 관련된 클라이언트 단말은, 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와 네트워크를 통하여 접속된 네트워크 부트 시스템에 있어서의 클라이언트 단말로서, 상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 상기 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비하고, 상기 네트워크 부트 서버는, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터를 가지며, 상기 클라이언트 단말은, 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고, 상기 재기록 관리 테이블에는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에, 상기 세대 관리 데이터가 카피되는 것을 특징으로 한다.
상기 네트워크 부트 시스템의 네트워크 부트 서버 또는 클라이언트 단말을 이용하여 네트워크 부트 시스템을 구성함으로써, 프라이빗 모드로 클라이언트 단말을 2 회째 이후에 기동시켜도, 리드 캐시 기구는 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시킬 수 있어, 클라이언트 단말로부터 네트워크 부트 서버에 대한 네트워크 액세스를 경감시켜 클라이언트 단말의 기동 속도나 동작이 저하되는 것을 억제할 수 있다.
본 발명에 관련된 리드 캐시 기구의 기동 방법은, 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와 클라이언트 단말이 네트워크를 통하여 접속되고, 상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 단말에 보존하는 리드 캐시 기구를 구비하고, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와, 상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비한 네트워크 부트 시스템의 리드 캐시 기구의 기동 방법으로서, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록할 수 있는 프라이빗 모드로서, 상기 클라이언트 단말이 2 회째 이후의 기동인지의 여부를 판정하는 판정 공정과, 상기 프라이빗 모드로 상기 클라이언트 단말의 2 회째 이후의 기동인 경우, 상기 세대 관리 데이터를 상기 클라이언트 단말의 재기록 관리 테이블로서 치환하는 공정과, 상기 재기록 관리 테이블을 이용하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 공정을 포함하는 것을 특징으로 한다.
상기 리드 캐시 기구의 기동 방법에 있어서, 상기 가상 디스크의 일부에, 상기 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P 를, 상기 프라이빗 모드 종료시에 일정값 P 이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고, 상기 판정 공정은, 상기 보존 영역의 값이 일정값 P 인 경우에 상기 클라이언트 단말의 기동이 상기 프라이빗 모드로서 상기 클라이언트 단말이 2 회째 이후의 기동이라고 판정하는 공정을 포함하는 것을 특징으로 한다.
본 발명에 관련된 네트워크 부트 시스템에서는, 클라이언트 단말이 서버 상의 가상 디스크에 클라이언트가 직접 기록하는 프라이빗 모드 상태에서 클라이언트 단말의 2 회째 이후의 기동이더라도 클라이언트 단말의 기동 속도나 동작이 저하되는 것을 억제할 수 있다.
도 1 은 본 실시형태의 네트워크 부트 시스템의 기본 구성을 설명하기 위한 개념도.
도 2 는 본 실시형태의 네트워크 부트 시스템에 있어서의 변경 영역 맵에 대하여 설명하기 위한 개념도.
도 3 은 본 실시형태의 네트워크 부트 시스템에 있어서 재기록 관리 테이블을 캐시 관리 테이블에 적용하는 방법을 설명하는 개념도, 도 3(a) 는 리비젼 (8) 의 캐시 관리 테이블의 일례를 나타내는 도면이고, 도 3(b) 는 변경 영역 맵 (M) 이 카피된 재기록 관리 테이블의 일례를 나타내는 도면이며, 도 3(c) 는 재기록 관리 테이블을 캐시 관리 테이블에 적용하는 방법의 일례를 나타내는 도면.
도 4 는 본 실시형태의 네트워크 부트 시스템에 있어서 리드 캐시 기구가 기동하는 흐름의 일례를 나타내는 플로우 차트.
이하, 본 실시형태의 네트워크 부트 시스템에 대하여 도면을 참조하여 상세히 서술한다. 우선, 본 발명이 전제로 하는 리드 캐시 기구를 구비한 네트워크 부트 시스템의 일 실시양태를 예시하여 설명한다. 각 실시형태의 기재는 본 발명의 기술적 사상을 이해하기 위해서 합목적적으로 해석되며, 실시형태의 기재에 한정 해석되어야 하는 것은 아니다.
도 1 은 본 실시형태의 네트워크 부트 시스템의 기본 구성을 설명하기 위한 개념도이다. 도 1 에 나타내는 바와 같이, 네트워크 부트 시스템 (100) 은, 서버 (10) 과 복수 대의 클라이언트 단말 (20) (20a, …) 이 네트워크 (30) 를 통하여 접속되어 있다. 서버 (10) 는 물리 디스크 (11) 를, 클라이언트 단말 (20a) 은 물리적인 기억 장치로서의 물리 디스크 (21a) 와 가상 디스크 (22b) 와 물리 메모리 (23a) 를 각각 구비하고, 모두 도시되지 않은 CPU 등의 기본적인 구성을 구비하고 있다. 물리 디스크 (11) 에는, 각 클라이언트 단말 (20) (20a, …) 이 최초의 기동시에 판독입력하는 OS 의 디스크 이미지 (22a) 가 보존되어 있다. 또한, 물리 디스크는 실체를 수반하는 하드 디스크 그 밖의 기억 수단을 가리킨다. 물리 디스크 (21a) 는, 논리적인 레벨로 인식되는 제 1 파티션 (P1) 과 물리적인 레벨로 인식되는 제 2 파티션 (P2) 을 갖는다. 제 1 파티션 (P1) 에는 주로 라이트 캐시 영역이 할당되고, 제 2 파티션 (P2) 에는 주로 판독출력 캐시 영역과 캐시 관리 영역이 할당된다.
클라이언트 단말 (20a) 의 기본적인 동작으로는, 단말 (20a) 의 필터 드라이버는 가상적으로 단말 (20a) 에 접속되어 있는 가상 디스크 (22b) 에 대한 액세스를 네트워크를 통하여 서버 (10) 측의 가상 디스크 (22a) 에 액세스한다. 단말 (20a) 은 리드 캐시 기구를 기능시키기 위한 리드 캐시 드라이버를 구비한다. 리드 캐시 드라이버는 프로그램으로, 물리 디스크 (21a) 에 있어서의 판독출력 캐시 영역에 대한 데이터의 액세스 (기록 및 판독출력) 를 주로 실시한다. 리드 캐시 드라이버는 서버 (10) 로부터 판독출력된 데이터를 물리 디스크 (21a) 의 판독출력 캐시 영역에 리드 캐시로서 보존하여 판독출력 캐시시키는 기능을 한다. 또한, 판독출력 캐시 영역은 디스크 이미지 (22a) 와 1 대 1 로 대응지어져 있다.
또, 클라이언트 단말 (20a) 에서는, OS 등의 기록 요구 신호에 대한 기록 데이터를 물리 디스크 (21a) 의 라이트 캐시 영역에 보존하고, 그 기록 데이터를 라이트 캐시로서 사용한다. 이 라이트 캐시를 사용하면, 단말 (20a) 의 갱신 정보 (사용자 데이터 등) 를 단말 (20a) 측에 보존할 수 있기 때문에, 네트워크 부하를 경감시킬 수 있는 이점이 있다. 리드 캐시 드라이버는 이 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 가지고 있다.
네트워크 부트 시스템 (100) 은, 「스탠다드 모드」와 「프라이빗 모드」라는 2 개의 동작 모드를 가지고 있다. 스탠다드 모드란, 복수의 클라이언트 단말 (20) (20a, …) 에서 서버 (10) 상의 가상 디스크 (22b) 를 공유하여 사용하는 모드로, 시스템을 통상적인 운용 환경에서 동작시키기 위한 모드이다. 한편, 프라이빗 모드란, 서버 (10) 상의 가상 디스크 (22b) 에 1 대의 클라이언트 단말이 직접 기록할 수 있는 모드로, 시스템을 보수 (메인터넌스) 환경에서 동작시키기 위한 모드이다. 프라이빗 모드로 설정된 상태에서 단말을 기동시킴으로써, OS 나 프로그램의 업데이트나 신규 인스톨 혹은 설정 변경을 실시하는 등 가상 디스크의 데이터에 변경을 가할 수 있다. 스탠다드 모드에서는, 라이트 캐시가 유효하며, 단말 (20) 이 기록을 실시해도 서버 (10) 상의 가상 디스크 (22b) 가 변경되지 않고, 단말 (20a) 이 재기동될 때마다 일반적으로는 초기 상태의 가상 디스크 (22b) 로 기동한다. 재기동시에 초기화를 함으로써, 가상 디스크의 내용이 쉽게 변경되지 않는다. 또, 프라이빗 모드에서는, 라이트 캐시가 무효하며, 클라이언트 단말 (20) 이 기록을 실시하면 서버 (10) 상의 가상 디스크 (22b) 가 변경된다.
도 2 는 본 실시형태의 네트워크 부트 시스템에 있어서의 변경 영역 맵을 설명하기 위한 개념도이다. 도 2 에 나타내는 바와 같이, 서버 (10) 의 물리 디스크 (11) 상에는 각 리비젼 (…, Rev.8, Rev.9) 으로 관리된, 클라이언트 단말 (20a) 의 디스크 이미지와, 그 디스크 이미지의 세대 관리 데이터로서의 변경 영역 맵과, 관리 플래그로서의 더티 플래그가 보존되어 있다. 예를 들어, 단말 (20a) 의 리비젼 (8) 의 디스크 이미지 (22a) 와, 디스크 이미지 (22a) 의 세대 관리 데이터로서의 변경 영역 맵 (M) 과, 더티 플래그 (D) 가 보존되어 있다. 또, 단말 (20a) 의 물리 디스크 (21a) 상에는, 상기 서술한 리드 캐시 드라이버가 판독출력한 캐시 데이터와, 리비젼 (8) 의 캐시 관리 테이블 (T1) 이 보존되어 있다. 일반적으로 단말 (20a) 의 물리 메모리 상에는 재기록 관리 테이블 (T2) 이 보존된다. 재기록 관리 테이블 (T2) 은 물리 디스크 (21a) 상에 보존되어 있어도 된다.
리비젼 (8) 의 캐시 관리 테이블 (T1) 은, 판독출력 캐시 영역 (Ac) 내에 리비젼 (8) 의 디스크 이미지 (22a) 의 캐시 데이터가 존재하는지의 여부를 나타내는 데이터로, 예를 들어 캐시 데이터가 있는 영역 (섹터) 을 1 로, 캐시 데이터가 없는 영역을 0 으로 각각 나타내는 비트열이다. 또한, 리비젼 (8) 의 캐시 관리 테이블 (T1) 은 리비젼 (8) 의 캐시 데이터를 관리하고 있으며, 그 리비젼 (8) 의 캐시 데이터는 리비젼 (8) 의 디스크 이미지 (22a) 에 대응지어져 있다. 캐시 관리 테이블 (T1) 은, 단말 (20a) 의 물리 메모리에 판독입력되어 정기적으로 캐시 관리 영역으로 재기록된다.
재기록 관리 테이블 (T2) 은, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 대하여 기록 요구 신호가 있었는지의 여부를 나타내는 데이터로서, 판독출력 캐시 영역 (Ac) 내에 보존된 리비젼 (8) 의 디스크 이미지 (22a) 의 캐시 데이터에 대응지어져 있다. 예를 들어, 기록 요구 신호가 있었던 디스크 이미지 (22a) 의 데이터에 대응하는 판독출력 캐시 영역 (Ac) 내의 영역 (섹터) 을 1 로, 기록 요구 신호가 없었던 디스크 이미지 (22a) 의 데이터에 대응하는 판독출력 캐시 영역 (Ac) 내의 영역을 0 으로 각각 나타내는 비트열이다. 재기록 관리 테이블 (T2) 은, 단말 (20a) 의 물리 메모리에 판독입력된다.
변경 영역 맵 (M) 은, 클라이언트 단말 (20a) 의 가상 디스크 (22b) (서버 (10) 상의 디스크 이미지 (22a)) 의 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터로, 주로 2 개의 상이한 리비젼 사이에서 디스크 이미지 (22a) 내의 어느 영역의 데이터가 변경되었는지를 나타내는 데이터이다. 또, 2 개의 상이한 리비젼 사이가 아니더라도 기준으로 하는 리비젼으로부터 디스크 이미지 (22a) 내의 어느 영역의 데이터가 변경되었는지를 나타내는 데이터여도 된다. 변경 영역 맵 (M) 은, 예를 들어 리비젼 (8) 의 디스크 이미지 (22a) 를 기준으로 변경된 영역을 1 로, 변경되지 않은 영역을 0 으로 각각 나타내는 비트열이다. 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터를 변경할 때에는, 변경 영역 맵 (M) 에서는 그 변경하는 데이터에 대응하는 영역이 1 로 갱신된다. 여기서, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 대한 기록 요구 신호에 의해 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터가 변경되었다고 생각하면, 변경 영역 맵 (M) 은 재기록 관리 테이블 (T2) 과 동일한 사이즈로 동일하게 취급할 수 있다.
더티 플래그 (D) 는, 주로 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터가 변경 작업 중의 것인지의 여부를 나타내는 데이터로, 예를 들어 디스크 이미지 (22a) 의 데이터가 변경 작업 중의 것인 경우에는 1 을, 디스크 이미지 (22a) 의 데이터가 변경 작업 중의 것이 아닌 경우에는 0 을 각각 나타내는 1 비트 데이터이다. 리비젼 (8) 의 디스크 이미지 (22a) 의 일부에 보존 영역이 형성되고, 더티 플래그 (D) 는 그 보존 영역에 보존된다. 더티 플래그 (D) 는, 리비젼 (8) 의 디스크 이미지 (22a) 가 변경 작업 중인 것을 모든 클라이언트 단말에 전하는 수단으로서 기능한다. 클라이언트 단말 (20a) 의 리드 캐시 드라이버는, 더티 플래그 (D) 의 값이 1 인 경우, 즉 리비젼 (8) 의 디스크 이미지 (22a) 가 변경 작업 중이면, 단말 (20a) 내의 캐시를 이용하지 않는다. 또, 더티 플래그 (D) 의 값이 0 인 경우, 즉 리비젼 (8) 의 디스크 이미지 (22a) 가 변경 중이 아닌 클린한 상태이면, 단말 (20a) 내의 캐시를 이용한다.
서버 (10) 측에서 리비젼 (8) 의 디스크 이미지 (22a) 를 리비젼 (9) 의 디스크 이미지 (22a) 로 개정하는 경우나 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터를 변경하는 경우, 우선 프라이빗 모드로 클라이언트 단말 (20a) 을 기동시킨다. 이 때, 더티 플래그 (D) 를 1 로 한다. 또한, 더티 플래그 (D) 가 1 이더라도 디스크 이미지 (22a) 의 데이터는 변경되어 있지 않아도 된다. 이로써, 이후 클라이언트 단말 (20a) 의 기동시에 더티 플래그 (D) 가 1 인 경우에는, 프라이빗 모드로 2 회째 이후의 기동인 것을 확인할 수 있어, 서버측 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 어떤 변경이 가해지고 있는 것으로 판단할 수 있다.
그래서, 클라이언트 단말 (20a) 의 기동시에 더티 플래그 (D) 가 1 인 경우, 리드 캐시 기구는 재기록 관리 테이블 (T2) 을 변경 영역 맵 (M) 으로 치환하여, 구체적으로는 재기록 관리 테이블 (T2) 에 변경 영역 맵 (M) 을 카피하여, 그 재기록 관리 테이블 (T2) 을 캐시 관리 테이블 (T1) 에 적용함으로써 디스크 이미지 (22a) 가 변경되지 않은 영역, 즉 리비젼 (8) 의 디스크 이미지 (22a) 의 캐시 데이터를 그대로 이용할 수 있는 영역을 특정하고, 그 캐시 데이터를 유효하게 이용할 수 있다. 이로써, 클라이언트 단말 (20a) 로부터 서버 (10) 에 대한 네트워크 액세스를 저감시켜 클라이언트 단말 (20a) 의 기동 속도나 동작이 저하되는 것을 억제할 수 있다. 다음으로, 변경 영역 맵 (M) 이 카피된 재기록 관리 테이블 (T2) 을 캐시 관리 테이블 (T1) 에 적용하는 방법에 대하여 설명한다.
도 3 은 본 실시형태의 네트워크 부트 시스템에 있어서 재기록 관리 테이블이 적용된 캐시 관리 테이블을 설명하는 개념도이다. 도 3(a) 는 리비젼 (8) 의 캐시 관리 테이블의 일례를 나타내는 도면이고, 도 3(b) 는 변경 영역 맵 (M) 이 카피된 재기록 관리 테이블의 일례를 나타내는 도면이며, 도 3(c) 는 재기록 관리 테이블을 캐시 관리 테이블에 적용하는 방법의 일례를 나타내는 도면이다.
도 3(a) 에 나타내는 바와 같이, 리비젼 (8) 의 캐시 관리 테이블 (T1) 은 섹터 A 에서 1, 섹터 B 에서 0, 섹터 C 에서 1 이다. 이는 단말 (20a) 의 판독출력 캐시 영역의 섹터 A 및 C 에서 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터가 이미 캐시 데이터로서 보존되어 있는 (캐시가 완료된) 것, 및 섹터 B 에서 캐시 데이터가 없는 (미캐시인) 것을 나타내고 있다. 리드 캐시 기구는, 이 리비젼 (8) 의 캐시 관리 테이블 (T1) 을 참조함으로써, 캐시가 완료된 섹터의 캐시 데이터에 액세스할 수 있고, 리비젼 (8) 의 디스크 이미지 (22a) 에 있어서 미캐시의 영역에 대응하는 데이터를 판독입력했을 때에는 캐시 데이터로서 보존할 수 있다.
도 3(b) 에 나타내는 바와 같이, 변경 영역 맵 (M) 이 카피된 재기록 관리 테이블 (T2) 은 섹터 A 에서 1, 섹터 B 에서 1, 섹터 C 에서 0 과 그 이외의 섹터에서 0 이다. 이는 프라이빗 모드로 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 변경이 가해졌을 때에, 판독출력 캐시 영역의 섹터 A 및 B 가 변경이 가해진 영역 (변경 영역) 인 것, 및 섹터 C 와 그 이외의 섹터가 변경되지 않은 영역 (미변경 영역) 인 것을 나타내고 있다.
변경 영역 맵 (M) 및 재기록 관리 테이블 (T2) 은, 모두 디스크 이미지 (가상 디스크) (22a) 에 대한 기록에 의해 변경된 영역에 대응하는 판독출력 캐시 영역, 예를 들어 하드 디스크에서는 섹터를 나타낼 뿐으로, 그 영역 내의 데이터의 내용에 대해서는 일체 정보를 유지하지 않는다. 이 때문에, 변경 영역 맵 (M) 및 재기록 관리 테이블 (T2) 의 용량 사이즈는 모두 디스크 이미지 (22a) 의 사이즈보다 훨씬 작게 할 수 있다. 예를 들어, 현상황의 하드 디스크 등의 기록 단위를 예로 들어, 1 섹터에 512 바이트의 데이터가 보존된다면, 512 바이트 (=4096 비트) 당 1 비트가 되기 때문에, 가상 디스크의 용량의 1/4096 (=1 비트/512 바이트) 의 사이즈이면 되는 것을 알 수 있다.
도 3(c) 에 나타내는 바와 같이, 리비젼 (8) 의 캐시 데이터를 이용할 수 있는지의 여부를 나타내는 테이블 (T3) 은 섹터 A 에서 0, 섹터 B 에서 0, 섹터 C 에서 1 이다. 이는 클라이언트 단말 (20a) 의 판독출력 캐시 영역의 섹터 A 에서는, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터가 이미 캐시 데이터로서 보존되어 있지 (캐시가 완료되었지) 만, 변경이 가해진 영역이기 때문에 이용할 수 없는 것을 나타내고 있다. 섹터 B 에서는, 캐시 데이터는 없지만 (미캐시이지만), 변경이 가해진 영역이기 때문에 이용할 수 없는 것을 나타내고 있다. 섹터 C 에서는, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터가 이미 캐시 데이터로서 보존되고 (캐시가 완료되고), 변경이 가해지지 않은 영역이기 때문에 이용할 수 있는 것을 나타내고 있다. 또한, 0 으로 되어 있는 다른 섹터에서는, 캐시 데이터가 없고 (미캐시이고), 변경도 가해지지 않은 영역인 경우도 포함된다. 어쨌든 리비젼 (8) 의 디스크 이미지 (22a) 의 캐시 데이터를 이용할 수 있는 섹터는 1 이고, 캐시 데이터를 이용할 수 없는 섹터는 0 으로 나타나 있다.
테이블 (T3) 은, 재기록 관리 테이블 (T2) 에 있어서의 판독출력 캐시 영역의 변경이 있었던 섹터 A 및 B 를 추출하여, 리비젼 (8) 의 캐시 관리 테이블 (T1) 의 섹터 A 및 B 를 0 (캐시를 이용할 수 없는 상태) 으로 하는, 즉 캐시 관리 테이블 (T1) 과 재기록 관리 테이블 (T2) 의 부정의 논리곱을 구함으로써 얻을 수 있다. 리드 캐시 기구는, 테이블 (T3) 을 사용함으로써 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 변경이 가해지지 않은 리비젼 (8) 의 캐시 데이터를 유효하게 이용할 수 있다.
본 실시형태의 네트워크 부트 시스템 (100) 은, 프라이빗 모드로 클라이언트 단말 (20a) 의 2 회째 이후의 기동이더라도 재기록 관리 테이블 (T2) 을 변경 영역 맵 (M) 으로 치환하여 캐시 관리 테이블 (T1) 에 적용함으로써, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 변경이 가해지지 않은 리비젼 (8) 의 캐시 데이터를 유효하게 이용할 수 있다. 그 때문에, 클라이언트 단말 (20a) 의 기동 속도나 동작이 저하되는 것을 억제할 수 있다.
도 4 는 본 실시형태의 네트워크 부트 시스템에 있어서 리드 캐시 기구가 기동하는 흐름의 일례를 나타내는 플로우 차트이다. 우선, 프라이빗 모드로 클라이언트 단말이 2 회째 이후의 기동인지의 여부를 판정한다 (S1). 이 때, 플래그 보존 영역에 보존된 더티 플래그를 확인함으로써 용이하게 판정할 수 있다. 또한, 변경 영역 맵을 확인하여 판정해도 된다. 다음으로, 프라이빗 모드로 클라이언트 단말이 2 회째 이후의 기동인 경우, 재기록 관리 테이블을 변경 영역 맵으로 치환한다 (S2). 이 때, 재기록 관리 테이블에 변경 영역 맵을 카피하도록 해도 된다. 다음으로, 재기록 관리 테이블을 캐시 관리 테이블에 적용한다 (S3). 이로써, 캐시 데이터의 이용할 수 있는 영역 또는 이용할 수 없는 영역을 판별할 수 있어, 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시킨다 (S4). 리드 캐시 기구가 이상의 순서를 처리하는 프로그램을 구비함으로써, 리드 캐시 기구는 프라이빗 모드로 클라이언트 단말 (20a) 의 2 회째 이후의 기동이더라도 클라이언트 단말에 보존된 캐시 데이터를 유효하게 이용할 수 있다.
본 실시형태의 네트워크 부트 시스템은, 프라이빗 모드로 기동한 후, 스탠다드 모드로 변경한 바와 같은 경우라도 「리비젼을 갱신하지 않고」스탠다드 모드로 기동하면, 클라이언트 단말에 보존된 캐시 데이터를 유효하게 이용할 수 있다. 구체적으로는, 리비젼의 갱신을 잊었을 경우, 리비젼의 갱신이 불필요할 정도의 경미한 디스크 이미지의 데이터의 변경 작업인 경우, 리비젼의 갱신에 어떠한 의미를 갖게 하여 각 단말에서 작업을 하는 경우, 또 프라이빗 모드로 디스크의 갱신 작업을 하는 과정에 있어서 일시적으로 스탠다드 모드로 변경하여 복수의 단말에서의 동작 시험을 실시하고자 하는 경우 등을 생각할 수 있다.
도 1 및 도 2 에 나타내는 바와 같이, 본 실시형태의 네트워크 부트 시스템 (100) 은, 프라이빗 모드로 클라이언트 단말 (20a) 을 기동시킨 후에 클라이언트 단말 (20a) 의 전원을 일단 OFF 로 하고 스탠다드 모드로 변경하고, 리비젼을 8 에서 9 로 갱신하지 않고 그 후 클라이언트 단말 (20) (20a, …) 중 어느 것에서 기동하도록 해도, 상기 순서와 마찬가지로 예를 들어, 클라이언트 단말 (20a) 에 있어서 재기록 관리 테이블 (T2) 을 변경 영역 맵 (M) 으로 치환하여 캐시 관리 테이블 (T1) 에 적용함으로써 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터에 변경이 가해지지 않은 리비젼 (8) 의 캐시 데이터를 유효하게 이용할 수 있다. 그 때문에, 클라이언트 단말 (20) (20a, …) 의 기동 속도나 동작이 저하되는 것을 억제할 수 있다. 특히, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터의 변경 작업에 시간을 필요로 하는 경우에는, 상기 서술한 프라이빗 모드로 클라이언트 단말 (20a) 의 2 회째 이후의 기동시의 기동 방법과 병용함으로써, 프라이빗 모드 또는 스탠다드 모드로 적절히 변경해도 각 단말에서 리드 캐시를 기동시켜 캐시 데이터를 유효하게 이용할 수 있다.
본 실시형태의 네트워크 부트 시스템에서는, 더티 플래그 (D) 의 값에 의해 각 리비젼의 디스크 이미지의 데이터가 변경 작업 중의 것인지의 여부, 구체적으로는 프라이빗 모드로 클라이언트 단말의 2 회째 이후의 기동인지의 여부를 판정하고 있지만, 동일하게 더티 플래그 (D) 를 이용하여 「프라이빗 모드로 기동시킨 후에, 리비젼을 갱신하지 않고 스탠다드 모드로 변경한 후의 기동인지의 여부」를 판정하도록 해도 된다. 예를 들어, 더티 플래그 (D) 는, 프라이빗 모드로 기동시에 1 의 값이 기록되고, 리비젼의 갱신시에 0 의 값이 기록되는 데이터로서, 리비젼 (8) 의 디스크 이미지 (22a) 의 데이터가 변경 작업 중의 것인 경우에는 1 을, 디스크 이미지 (22a) 의 데이터가 변경 작업 중의 것이 아닌 경우에는 0 을 각각 나타내는 1 비트 데이터로 하고, 스탠다드 모드로 기동하고 있음에도 불구하고 더티 플래그 (D) 가 1 인 경우, 「프라이빗 모드로 기동한 후에, 리비젼을 갱신하지 않고 스탠다드 모드로 변경한 후의 기동이다」라고 판정한다. 또, 더티 플래그 (D) 외에 플래그를 이용하여 판정하도록 해도 된다.
본 실시형태의 네트워크 부트 시스템은, 다수의 클라이언트 단말이 데스크톱 환경을 이용하는 VDI (Virtual Desktop Infrastructure) 의 환경하에 있어서도 매우 유효하다. 종래의 VDI 의 환경하에서는, 서버 상에 각 클라이언트 단말에 대응하는 가상화된 데스크톱 OS 가 각각 보존되어 있고, 보수 작업에서는 그 가상화된 데스크톱 OS 를 각각 대상으로 하여 실시되고 있었다.
본 실시형태의 네트워크 부트 시스템에서는, 프라이빗 모드로 서버 상에 집약된 가상화된 데스크톱 OS 를 보수하는 것만으로 충분하고, 또한 어느 클라이언트 단말로부터라도 프라이빗 모드로 보수 작업을 실시할 수 있어, 그 보수 작업시에는 클라이언트 단말에 보존된 캐시 데이터를 유효하게 이용할 수 있기 때문에 보다 효율적으로 보수 작업을 실시할 수 있다.
회사 등의 개인용 단말을 가상 PC 환경으로 이행시키는 것을 목적으로 한 VDI 환경에 있어서는, 단말을 재기동시켜 단말의 환경이 초기 상태로 복원되는 것이 반드시 요구되지는 않으며, 오히려 단말을 재기동시켜도 단말의 환경이 전회의 작업 종료시의 환경과 동일할 것이 요구된다. 또, 개개의 가상 PC 에 대하여 하드 디스크의 영역을 할당하는 바와 같은 시스템에서는, 각각의 가상 PC 에 대하여 OS 나 어플리케이션을 위한 필요한 물리 디스크 용량이 커져, 물리 디스크에 공통의 데이터가 다수 분산되게 되어 버린다.
그 때문에, 본 실시형태의 네트워크 부트 시스템에서는, VDI 환경에 있어서 단말 (20) 을 재기동시켜도 전회의 작업 종료시의 환경과 동일한 환경이 유지되도록, 도 2 에 나타내는 바와 같이 상기 기록 관리 테이블 (T2) 을 클라이언트 단말 (20a) 내의 물리 메모리 (23a) 상이 아니라 디스크 (21a) 상에 보존해 둔다. 이로써, 각각의 가상 PC 에 대하여 OS 나 어플리케이션을 위한 필요한 물리 디스크 용량을 억제하여, 단말 (20) 의 전원을 꺼도 기록 관리 테이블 (T2) 과 라이트 캐시의 데이터는 디스크 (21a) 상에 유지되어, 단말 (20) 의 다음번 기동시에는 기록 관리 테이블 (T2) 과 라이트 캐시의 데이터를 계속하여 이용할 수 있다.
10 서버 (네트워크 부트 서버)
11 물리 디스크 (하드 디스크)
20 클라이언트 단말
20a 클라이언트 단말
21a 물리 디스크
22b 가상 디스크 (vDisk)
23a 물리 메모리
30 네트워크
100 네트워크 부트 시스템
Ac 판독출력 캐시 영역
D 더티 플래그
M 변경 영역 맵 (세대 관리 데이터)
T1 캐시 관리 테이블
T2 재기록 관리 테이블
T3 리비젼 (8) 의 캐시 데이터를 이용할 수 있는지의 여부를 나타내는 테이블

Claims (15)

  1. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와, 물리적인 기억 장치를 구비한 클라이언트 단말이 네트워크를 통하여 접속되고,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 상기 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비한 네트워크 부트 시스템으로서,
    상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와 상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고,
    상기 리드 캐시 기구는,
    상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에는,
    상기 재기록 관리 테이블을 상기 세대 관리 데이터로 치환하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 것을 특징으로 하는 네트워크 부트 시스템.
  2. 제 1 항에 있어서,
    상기 재기록 관리 테이블은 상기 클라이언트 단말 측에 보존되고,
    상기 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에는,
    상기 세대 관리 데이터가 상기 재기록 관리 테이블에 카피되어 있는 것을 특징으로 하는 네트워크 부트 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 가상 디스크의 일부에, 상기 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P 를, 상기 프라이빗 모드 종료시에 일정값 P 이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고,
    상기 리드 캐시 기구는,
    상기 보존 영역의 값이 일정값 P 인 경우에는,
    상기 프라이빗 모드로 상기 클라이언트 단말의 2 회째 이후의 기동이라고 판정하여 리드 캐시를 기동시키는 것을 특징으로 하는 네트워크 부트 시스템.
  4. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 상기 단말에 네트워크를 통하여 제공하는 네트워크 부트 서버로서,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 보존하는 리드 캐시 기구를 구비하고,
    상기 클라이언트 단말은, 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고,
    상기 네트워크 부트 서버는, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터를 가지며,
    상기 세대 관리 데이터는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에, 상기 재기록 관리 테이블에 카피되는 것을 특징으로 하는 네트워크 부트 서버.
  5. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와 네트워크를 통하여 접속된 네트워크 부트 시스템에 있어서의 클라이언트 단말로서,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비하고,
    상기 네트워크 부트 서버는, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터를 가지며,
    상기 클라이언트 단말은, 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고,
    상기 재기록 관리 테이블에는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동시에, 상기 세대 관리 데이터가 카피되는 것을 특징으로 하는 클라이언트 단말.
  6. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와, 클라이언트 단말이 네트워크를 통하여 접속되고,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 단말에 보존하는 리드 캐시 기구를 구비하고,
    상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와,
    상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비한 네트워크 부트 시스템의 리드 캐시 기구의 기동 방법으로서,
    상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로서 상기 클라이언트 단말이 2 회째 이후의 기동인지의 여부를 판정하는 판정 공정과,
    상기 프라이빗 모드로서 상기 클라이언트 단말의 2 회째 이후의 기동인 경우, 상기 세대 관리 데이터를 상기 클라이언트 단말의 재기록 관리 테이블로서 치환하는 공정과,
    치환된 재기록 관리 테이블을 이용하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 공정을 포함하는 것을 특징으로 하는 리드 캐시 기구의 기동 방법.
  7. 제 6 항에 있어서,
    상기 가상 디스크의 일부에, 상기 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P 를, 상기 프라이빗 모드 종료시에 일정값 P 이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고,
    상기 판정 공정은, 상기 보존 영역의 값이 일정값 P 인 경우에 상기 클라이언트 단말의 기동이 상기 프라이빗 모드로서 상기 클라이언트 단말이 2 회째 이후의 기동이라고 판정하는 공정을 포함하는 것을 특징으로 하는 리드 캐시 기구의 기동 방법.
  8. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와, 물리적인 기억 장치를 구비한 클라이언트 단말이 네트워크를 통하여 접속되고,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 상기 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비한 네트워크 부트 시스템으로서,
    상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와 상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고,
    상기 리드 캐시 기구는,
    상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 가상 디스크를 공유하여 사용하는 스탠다드 모드로 변경한 후의 기동시에는,
    상기 재기록 관리 테이블을 상기 세대 관리 데이터로 치환하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 것을 특징으로 하는 네트워크 부트 시스템.
  9. 제 8 항에 있어서,
    상기 재기록 관리 테이블은 상기 클라이언트 단말 측에 보존되고,
    상기 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 스탠다드 모드로 변경한 후의 기동시에는,
    상기 세대 관리 데이터가 상기 재기록 관리 테이블에 카피되어 있는 것을 특징으로 하는 네트워크 부트 시스템.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 가상 디스크의 일부에, 상기 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P'를, 리비젼의 갱신시에 일정값 P'이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고,
    상기 리드 캐시 기구는,
    상기 스탠다드 모드로 기동 중에 상기 보존 영역의 값이 일정값 P'인 경우에는,
    상기 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 스탠다드 모드로 변경한 후의 기동이라고 판정하여 리드 캐시를 기동시키는 것을 특징으로 하는 네트워크 부트 시스템.
  11. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 상기 단말에 네트워크를 통하여 제공하는 네트워크 부트 서버로서,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 보존하는 리드 캐시 기구를 구비하고,
    상기 클라이언트 단말은, 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고,
    상기 네트워크 부트 서버는, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터를 가지며,
    상기 세대 관리 데이터는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 가상 디스크를 공유하여 사용하는 스탠다드 모드로 변경한 후의 기동시에, 상기 재기록 관리 테이블에 카피되는 것을 특징으로 하는 네트워크 부트 서버.
  12. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와 네트워크를 통하여 접속된 네트워크 부트 시스템에 있어서의 클라이언트 단말로서,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 기억 장치에 캐시 데이터로서 보존하는 리드 캐시 기구를 구비하고,
    상기 네트워크 부트 서버는, 상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터를 가지며,
    상기 클라이언트 단말은, 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비하고,
    상기 재기록 관리 테이블에는, 상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 가상 디스크를 공유하여 사용하는 스탠다드 모드로 변경한 후의 기동시에, 상기 세대 관리 데이터가 카피되는 것을 특징으로 하는 클라이언트 단말.
  13. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와, 클라이언트 단말이 네트워크를 통하여 접속되고,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 단말에 보존하는 리드 캐시 기구를 구비하고,
    상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와,
    상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비한 네트워크 부트 시스템의 리드 캐시 기구의 기동 방법으로서,
    상기 가상 디스크에 상기 클라이언트 단말이 직접 기록하는 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 가상 디스크를 공유하여 사용하는 스탠다드 모드로 변경한 후의 기동인지의 여부를 판정하는 판정 공정과,
    상기 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 스탠다드 모드로 변경한 후의 기동인 경우, 상기 세대 관리 데이터를 상기 클라이언트 단말의 재기록 관리 테이블로서 치환하는 공정과,
    치환된 재기록 관리 테이블을 이용하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 공정을 포함하는 것을 특징으로 하는 리드 캐시 기구의 기동 방법.
  14. 제 13 항에 있어서,
    상기 가상 디스크의 일부에, 상기 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P'를, 리비젼의 갱신시에 일정값 P'이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고,
    상기 판정 공정은, 상기 스탠다드 모드로 기동 중에 상기 보존 영역의 값이 일정값 P'인 경우에 상기 프라이빗 모드로 기동한 후에 리비젼을 갱신하지 않고 상기 스탠다드 모드로 변경한 후의 기동이라고 판정하는 공정을 포함하는 것을 특징으로 하는 리드 캐시 기구의 기동 방법.
  15. 클라이언트 단말 상에서 동작하는 오퍼레이팅 시스템을 포함하는 디스크 이미지를 가상 디스크로서 제공하는 네트워크 부트 서버와, 클라이언트 단말이 네트워크를 통하여 접속되고,
    상기 오퍼레이팅 시스템은, 상기 서버로부터 판독출력한 데이터를 캐시 데이터로서 단말에 보존하는 리드 캐시 기구를 구비하고,
    상기 가상 디스크의 개정 정보를 나타내는 리비젼의 천이를 세대 관리하기 위한 세대 관리 데이터와,
    상기 클라이언트 단말 측의 라이트 캐시를 관리하기 위한 재기록 관리 테이블을 구비한 네트워크 부트 시스템의 리드 캐시 기구의 기동 방법으로서,
    상기 가상 디스크의 변경 작업 중의 기동인지의 여부를 판정하는 판정 공정과,
    상기 가상 디스크의 변경 작업 중의 기동인 경우, 상기 세대 관리 데이터를 상기 클라이언트 단말의 재기록 관리 테이블로서 치환하는 공정과,
    치환된 재기록 관리 테이블을 이용하여 변경이 있었던 캐시 데이터를 이용하지 않게 하면서 리드 캐시를 기동시키는 공정을 포함하고,
    상기 가상 디스크의 일부에, 프라이빗 모드로 상기 클라이언트 단말의 기동시에 일정값 P 를, 리비젼의 갱신시에 일정값 P 이외의 값을 각각 기록하기 위한 적어도 1 비트의 보존 영역을 구비하고,
    상기 판정 공정은, 상기 보존 영역의 값이 일정값 P 인 경우에 상기 가상 디스크의 변경 작업 중의 기동이라고 판정하는 것을 특징으로 하는 리드 캐시 기구의 기동 방법.
KR1020147003729A 2012-09-18 2013-09-18 네트워크 부트 시스템 KR102123701B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012203793 2012-09-18
JPJP-P-2012-203793 2012-09-18
PCT/JP2013/075094 WO2014046105A1 (ja) 2012-09-18 2013-09-18 ネットワークブートシステム

Publications (2)

Publication Number Publication Date
KR20150058092A KR20150058092A (ko) 2015-05-28
KR102123701B1 true KR102123701B1 (ko) 2020-06-16

Family

ID=50341415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147003729A KR102123701B1 (ko) 2012-09-18 2013-09-18 네트워크 부트 시스템

Country Status (6)

Country Link
US (1) US9372700B2 (ko)
JP (1) JP5660557B2 (ko)
KR (1) KR102123701B1 (ko)
CN (1) CN104205048B (ko)
HK (1) HK1200226A1 (ko)
WO (1) WO2014046105A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664189B2 (en) * 2018-08-27 2020-05-26 International Business Machines Corporation Performance in synchronous data replication environments
US11243781B2 (en) * 2020-03-04 2022-02-08 Citrix Systems, Inc. Provisioning services (PVS) cloud streaming with read cache file storing preboot data including a network driver
CN113900716B (zh) * 2021-09-29 2023-05-30 武汉噢易云计算股份有限公司 桌面启动的管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009145274A1 (ja) 2008-05-29 2009-12-03 株式会社シー・オー・コンヴ ネットワークブートシステム
WO2013129420A1 (ja) 2012-02-28 2013-09-06 株式会社シー・オー・コンヴ ネットワークブートシステム
WO2014010566A1 (ja) 2012-07-09 2014-01-16 株式会社シー・オー・コンヴ ネットワークブートシステム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170423A (zh) * 2007-11-15 2008-04-30 曙光信息产业(北京)有限公司 一种面向服务的机群部署方法
WO2009069326A1 (ja) * 2007-11-26 2009-06-04 Co-Conv, Corp. ネットワークブートシステム
US8799362B2 (en) * 2010-03-09 2014-08-05 Avistar Communications Corporation Scalable high-performance interactive real-time media architectures for virtual desktop environments
US9928091B2 (en) * 2010-09-30 2018-03-27 Microsoft Technology Licensing, Llc Techniques for streaming virtual machines from a server to a host

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009145274A1 (ja) 2008-05-29 2009-12-03 株式会社シー・オー・コンヴ ネットワークブートシステム
WO2013129420A1 (ja) 2012-02-28 2013-09-06 株式会社シー・オー・コンヴ ネットワークブートシステム
WO2014010566A1 (ja) 2012-07-09 2014-01-16 株式会社シー・オー・コンヴ ネットワークブートシステム

Also Published As

Publication number Publication date
US20150331696A1 (en) 2015-11-19
CN104205048B (zh) 2017-07-14
JP5660557B2 (ja) 2015-01-28
JPWO2014046105A1 (ja) 2016-08-18
HK1200226A1 (en) 2015-07-31
KR20150058092A (ko) 2015-05-28
CN104205048A (zh) 2014-12-10
WO2014046105A1 (ja) 2014-03-27
US9372700B2 (en) 2016-06-21

Similar Documents

Publication Publication Date Title
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
TWI388983B (zh) 用於促進快閃記憶體系統之快速喚起的方法及系統
CN103098043B (zh) 随需虚拟机映像流式传输的方法和系统
KR101250574B1 (ko) 네트워크 부트 시스템
JP4808275B2 (ja) ネットワークブートシステム
US9665496B2 (en) Non-volatile memory write mechanism
US8745342B2 (en) Computer system for controlling backups using wide area network
KR20100110652A (ko) 메모리 장치 및 메모리 장치의 펌웨어 업데이트 방법
JPWO2010055937A1 (ja) 計算機システム、データ保存方法およびプログラム
JP5821393B2 (ja) 情報処理装置、起動方法、プログラム
KR102123701B1 (ko) 네트워크 부트 시스템
CN110888769B (zh) 数据处理方法及计算机设备
JP2010108253A (ja) 不揮発性メモリを主記憶に用いた装置
JP2009053993A (ja) ファイルシステム管理装置
KR101618999B1 (ko) 네트워크 부트 시스템
JP5012599B2 (ja) メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
US11748259B2 (en) System and method to conserve device lifetime for snapshot generation
WO2014045453A1 (ja) 環境変数保存方法、情報処理装置およびプログラム
JP2008065589A (ja) 計算機システム
JP2012088817A (ja) データ処理システム、データ移動方法、およびデータ移動プログラム

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