KR20090051088A - 네트워크 환경에서의 공간의 개인화 - Google Patents

네트워크 환경에서의 공간의 개인화 Download PDF

Info

Publication number
KR20090051088A
KR20090051088A KR1020097004980A KR20097004980A KR20090051088A KR 20090051088 A KR20090051088 A KR 20090051088A KR 1020097004980 A KR1020097004980 A KR 1020097004980A KR 20097004980 A KR20097004980 A KR 20097004980A KR 20090051088 A KR20090051088 A KR 20090051088A
Authority
KR
South Korea
Prior art keywords
file
model
block
storage unit
regular
Prior art date
Application number
KR1020097004980A
Other languages
English (en)
Other versions
KR101203830B1 (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 KR20090051088A publication Critical patent/KR20090051088A/ko
Application granted granted Critical
Publication of KR101203830B1 publication Critical patent/KR101203830B1/ko

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Abstract

기계 판독가능한 매체들, 방법들, 장치들 및 시스템이 개시된다. 일 실시예에서, 모델 클라이언트 플랫폼은, 모델 클라이언트 플랫폼의 모델 저장 유닛의 제1 모델 블럭에 저장된 점증 파일을 포함하는 파일 이미지를 생성하고; 모델 저장 유닛의 제2 모델 블럭에 저장된 파일 디스크립션을 포함하는 파일 디스크립션 이미지를 생성할 수 있으며, 파일 디스크립션은, 모델 저장 유닛 내에서의 제1 모델 블럭의 위치를 포함하며; 파일 이미지 및 파일 디스크립션 이미지를, 모델 클라이언트 플랫폼과 연결되어 있는 서버에 업로드한다. 정규 클라이언트 플랫폼은, 정규 클라이언트 플랫폼의 정규 저장 유닛의 각 정규 블럭에 대한 사용 상태를 나태는 정규 블럭 비트맵을 생성할 수 있으며; 정규 클라이언트 플랫폼에 연결되어 있는 서버로부터 파일 디스크립션 이미지를 수신할 수 있다.
Figure P1020097004980
모델 클라이언트 플랫폼, 서버, 정규 클라이언트 플랫폼, 파일 이미지, 파일 디스크립션 이미지

Description

네트워크 환경에서의 공간의 개인화{PERSONALIZING SPACE IN A NETWORK ENVIRONMENT}
컴퓨터를 개인화하는 능력은 플랫폼의 중요한 특성이다. 일반적으로, 개인화에는, 특정 사용자에게 적합하게 하도록 컴퓨터의 설정을 변경하는 것이 수반된다. 예를 들면, 퍼스널 컴퓨터(PC)는, 배경 이미지를 변경하거나, 텍스트 폰트들, 혹은 운영 체제에 대한 컬러 스킴(color scheme)을 선택함으로써 개인화될 수 있다. PC가 서로 다른 사용자들에 의해 공유되는 경우, 개개의 사용자는 이들 기본적 개인 설정을 PC 상에 사용자 계정으로 저장할 수 있다. 그러면 이 설정은 나중에 로그인함으로써 액세스될 수 있다.
여기에서 설명되는 본 발명은 예로서 예시되는 것이며 첨부 도면들로 제한되는 것이 아니다. 예시의 간단성 및 명확성을 위해, 도면들 내에 예시된 엘리먼트들을 반드시 일정한 비율로 그리지는 않았다. 예를 들면, 일부 엘리먼트들의 치수는 명확성을 위해 다른 엘리먼트들에 비해 과장되어 있을 수 있다. 또한, 적절한 것으로 간주되는 경우, 도면들에서 대응되거나 유사한 엘리먼트들을 가리키기 위해 동일한 참조 부호들을 이용하였다.
도 1은 서버 플랫폼, 및 이 서버 플랫폼과 접속된 복수의 클라이언트 플랫폼 들을 포함하는 네트워크 환경의 일 실시예를 나타낸 도면.
도 2는 네트워크 환경 내의 정규 클라이언트 플랫폼, 모델 클라이언트 플랫폼, 및 서버 플랫폼의 구조들의 일 실시예를 나타낸 도면.
도 3A는 복수의 블럭들로 분할된 저장 유닛의 일 실시예를 나타낸 도면.
도 3B는 점증 파일 이미지 및 점증 파일 디스크립션 이미지의 일 실시예를 나타낸 도면.
도 3C는 모델 클라이언트 플랫폼에 의해 생성된 모델 블럭 비트맵의 일 실시예를 나타낸 도면.
도 3D는 정규 클라이언트 플랫폼에 의해 생성된 정규 블럭 비트맵의 일 실시예를 나타낸 도면.
도 4는 모델 클라이언트 플랫폼을 인스톨하는 방법의 일 실시예를 나타낸 도면.
도 5는 정규 클라이언트 플랫폼을 초기화하는 일 실시예를 나타낸 도면.
도 6은 정규 클라이언트 플랫폼에서의 입/출력 요청을 처리하는 일 실시예를 나타낸 도면.
도 7은 네트워크 환경 내의 클라이언트 플랫폼의 클라이언트에 대한 저장 유닛 공간을 저장하는 일 실시예를 나타낸 도면.
도 8은 일반적 플랫폼의 일 실시예를 나타낸 도면.
이하의 설명에서는, 네트워크 환경에서의 공간을 개인화하기 위한 기술들을 개시한다. 이하의 설명에서는, 본 발명에 대한 보다 철저한 이해를 제공하기 위해, 논리 구현, 의사 코드(pseudo-code), 오퍼랜드를 지정하기 위한 수단, 자원 구획/공유/복제 구현, 시스템 컴포넌트들의 타입들 및 상호관계들, 및 논리 구획/통합 선택이 제시된다. 그러나, 본 발명은 이러한 특정 상세사항없이도 실시될 수 있다. 다른 경우들에서는, 본 발명을 불명확하게 하지 않기 위해, 제어 구조들, 게이트 레벨 회로들 및 전체 소프트웨어 인스트럭션 시퀀스들은 상세하게 나타내지 않았다. 본 기술 분야에 통상의 지식을 가진 자라면, 본원에 포함된 설명을 이용하여, 과도한 실험없이도 적절한 기능을 구현할 수 있을 것이다.
본 명세서에서 "일 실시예", "실시예", "예시적인 실시예" 등의 언급은, 개시된 실시예가 특정 특성, 구조, 혹은 특징을 포함할 수도 있지만 모든 실시예가 반드시 이 특정 특성, 구조, 혹은 특징을 포함하는 것은 아닐 수 있음을 가리킨다. 또한, 이러한 구(phrase)는 반드시 동일한 실시예를 칭하는 것은 아니다. 또한, 특정 특성, 구조, 혹은 특징이 일 실시예와 관련하여 개시되는 경우, 이는, 명시적으로 개시되었는지 여부에 관계없이, 본 기술 분야에 통상의 지식을 가진 자가, 다른 실시예들과 연관된 이러한 특성, 구조 혹은 특징을 달성하는 것을 알고 있는 것으로 간주한다.
본 발명의 실시예들은 하드웨어, 펌웨어, 소프트웨어, 혹은 이들의 임의의 조합으로 구현될 수 있다. 본 발명의 실시예들은 또한, 하나 이상의 프로세서에 의해 판독 및 실행될 수 있는, 기계 판독가능한 매체에 저장된 인스트럭션들로서 구현될 수 있다. 기계 판독가능한 매체는, 기계(예를 들면, 컴퓨팅 장치)에 의해 판독가능한 형태로 정보를 저장하거나 혹은 전송하기 위한 임의의 메커니즘을 포함할 수 있다. 예를 들면, 기계 판독가능한 매체는, 판독 전용 메모리(ROM); 랜덤 액세스 메모리(RAM); 자기 저장 유닛 저장 매체; 광 저장 매체; 플래시 메모리 장치; 전기, 광, 음향 또는 다른 형태의 전파 신호(예를 들면, 반송파, 적외선 신호, 디지털 신호 등) 및 그 밖의 것들을 포함할 수 있다.
도 1에는 네트워크 환경(10)의 일 실시예가 도시되어 있다. 네트워크 환경(10)은 서버 플랫폼(12), 및 이더넷, 파이버 채널(fiber channel) 또는 그 밖의 유사한 통신 링크 등의 네트워크(13)를 통하여 서버 플랫폼(12)과 접속되어 있는 복수의 클라이언트 플랫폼들(111-11N)을 포함할 수 있다. 이 실시예에서, 네트워크 환경(10)은 임의의 수의 클라이언트 플랫폼들 및 서버 플랫폼들을 포함할 수 있다.
네트워크 환경(10)은, 서로 다른 클라이언트들의 그룹들에게 서로 다른 컨텐트를 제공하여서, 이들의 개인화 요건들을 만족시킬 수 있다. 예를 들면, 어린 학생들은 교육 컨텐트를 요구할 수도 있으며, 반면에 성인들은 엔터테인먼트 컨텐트를 선호할 수도 있다. 이들 요구를 만족시키기 위해, 클라이언트 플랫폼들(111-11N) 각각에는, 운영 체제 및/또는 이 운영 체제 상에서 실행되는 베이스 소프트웨어 애플리케이션들 등의 베이스 소프트웨어 이미지들 및/또는 가능성이 있는 다른 소프트웨어 이미지들이 인스톨될 수 있다.
클라이언트 플랫폼들 중 하나(예를 들면, 클라이언트 플랫폼(111))가, 베이스 파일과는 다를 수 있는 점증 소프트웨어 이미지들(incremental software images)이 인스톨될 모델 클라이언트 플랫폼으로서 선택될 수 있다. 예를 들면, 이 점증 파일은, 개인화된 서비스들을 특정 클라이언트들의 그룹(예를 들면, 어린 학생들)에 제공할 수 있는 프로그램들(예를 들면, 교육 컨텐트)을 포함할 수 있다. 다른 예의 경우, 이 점증 파일은 베이스 파일의 업데이트된 버전일 수 있다. 그러면, 모델 클라이언트 플랫폼은, 서버에 업로드되는, 점증 소프트웨어 이미지들 및 이들의 디스크립션 정보를 포함하는 점증 패키지를 생성할 수 있다. 이 점증 패키지는 점증 소프트웨어 이미지들을 저장하고 있는 블럭들을 묘사하기 위한 블럭 디스크립션을 더 포함할 수 있다. 일 실시예에서, 블럭 디스크립션은 모델 플랫폼의 저장 유닛 내에서의 블럭들의 위치를 포함할 수 있다.
모델 클라이언트 플랫폼은 또한, 저장 유닛의 블럭들 내에 저장되어 있는 점증 소프트웨어 이미지들이 서버로부터 이용가능한지 여부를 나타내는 정보를 생성하고 이 정보를 서버(12)에 업로드할 수 있다. 일 실시예에서, 이 정보는, 모델 클라이언트 플랫폼의 저장 유닛의 각 블럭의 사용 상태를 나타내는 모델 블럭 비트맵일 수 있다.
전술한 구성은, 이전에 점증 소프트웨어 이미지들이 인스톨되지 않았을 수 있는, 네트워크 환경(10) 내의 정규 클라이언트 플랫폼(예를 들면, 클라이언트 플랫폼((112))이, 클라이언트로부터의 요청시 서버로부터 점증 소프트웨어 이미지들을 다운로드함으로써 그 그룹의 클라이언트에게 개인화된 컨텐츠를 제공할 수 있게 해줄 수 있다.
네트워크 환경(10) 내의 모델 클라이언트 플랫폼(예를 들면, 클라이언트 플랫폼(111), 정규 클라이언트 플랫폼(예를 들면, 클라이언트 플랫폼(112)), 및 서버 플랫폼(12)의 구조들의 일 실시예가 도 2에 도시되어 있다.
도시된 바와 같이, 모델 클라이언트 플랫폼(예를 들면, 클라이언트 플랫폼(111))은, 하드웨어 머신(20), 이 하드웨어 머신(20) 위에서 실행되는 펌웨어(21), 및 이 펌웨어(21) 위에서 실행되는 운영 체제(22) 및 애플리케이션들(23)을 비롯한 소프트웨어 이미지들을 포함할 수 있다.
하드웨어 머신(20)은 또한, 하나 이상의 프로세서(201), 메모리(202), 저장 유닛(203), 및 네트워크 인터페이스(204) 등을 포함할 수 있다. 저장 유닛(203)은, 클라이언트 플랫폼의 내부에 상주하는 내부 저장 유닛(예를 들면, 하드 디스크), 및 클라이언트 플랫폼의 외부에 상주하는 외부 저장 유닛(예를 들면, 플로피 디스크, 광 디스크 등)을 포함할 수 있다. 이 실시예에서, 저장 유닛(203)은 데이터 저장을 위한 복수의 블럭들로 분할될 수 있다.
펌웨어(21)는, 시스템 시동 동안 플랫폼이 실행하는 기본 입출력 시스템(BIOS) 루틴들(210), 및 펌웨어(21)와 운영 체제(22) 간의 인터페이싱을 위한 확장된 펌웨어 인터페이스(extended firmware interface; EFI) 루틴들(211)을 저장하고 있을 수 있으며, 운영 체제(22)의 부팅을 위한 표준 환경을 제공할 수 있다. 운영 체제(22)는, 클라이언트 플랫폼이 수행하는 태스크들을 제어하고, 성능을 최적화하도록 시스템 자원들을 관리할 수 있다. 운영 체제(22)는, 저장 유닛(203) 상의 파일들 및 딕셔너리들(dictionaries)의 추적 등의 기본 태스크들을 수행할 수 있다.
이 실시예에서, 두 가지 종류의 파일들, 즉 베이스 파일들 및 점증 파일들이 존재할 수 있다. 베이스 파일들은, 운영 체제(22)를 위한 프로그램들 및/또는 데이터베이스 프로그램들, 워드 프로세서, 스프레드시트 등의 베이스 애플리케이션들을 위한 프로그램들을 포함할 수 있다. 점증 파일들은 베이스 파일들과는 다른 파일들을 포함할 수 있다. 예를 들면, 점증 파일들은, 어린 학생들을 위한 교육 프로그램들 또는 성인들을 위한 게임들 등의, 클라이언트들의 그룹을 위해 설계된 프로그램들을 포함할 수 있다. 운영 체제(22)는, 저장 유닛(203)에 파일을 기입하거나 혹은 저장 유닛(203)으로부터 파일을 판독하라는 요구(calls)를 애플리케이션(23)으로부터 수신하기 위한 I/0 핸들러(220), 저장 유닛(203) 상의 파일들을 체계화하고 이들 파일들을 추적하기 위한 파일 시스템(221), 및 저장 유닛(203)과의 사이에서 파일들을 입/출력하기 위한 드라이버들(222)을 포함할 수 있다. 드라이버들(222)은, 저장 유닛 상의 베이스 파일들이 파괴되는 것을 방지하기 위한 저장 유닛 보호(storage unit protection; SUP) 드라이버(2220)를 더 포함할 수 있다.
애플리케이션(23)은 운영 체제(22)에 의해 제공되는 소프트웨어 플랫폼에서 실행될 수 있으며, 사용자 상호작용을 위한 사용자 인터페이스(230)를 제공하기 위한 소프트웨어 프로그램들을 포함할 수 있다.
정규 클라이언트 플랫폼(예를 들면, 클라이언트 플랫폼(112))은, 하드웨어 머신(24), 이 하드웨어 머신(24) 위에서 실행되는 펌웨어(25), 및 이 펌웨어(25) 위에서 실행되는 운영 체제(26) 및 애플리케이션들(27)을 비롯한 소프트웨어 이미지들을 포함할 수 있다.
정규 클라이언트 플랫폼의 구성은, 정규 클라이언트 플랫폼의 운영 체제(26)가, 클라이언트에 의해 요구될 때 저장 유닛(243) 또는 서버(12)로부터 파일들을 검색하기 위한 POD(provisioning on-demand) 드라이버(2621)를 더 포함할 수 있다는 점을 제외하고는, 모델 클라이언트 플랫폼의 구성과 유사하다.
서버(12)는 하드웨어 머신(120), 어카운트 서버(121), 패키지 서버(122) 및 이미지 서버(123)를 포함할 수 있다. 하드웨어 머신(120)은, 하나 이상의 프로세서(1201), 메모리(1202), 저장 유닛(1203), 네트워크 인터페이스(1204) 등을 포함할 수 있다. 어카운트 서버(121)는 클라이언트 플랫폼으로부터 수신된 어카운트 정보를 검증할 수 있다. 패키지 서버(122)는, 어카운트 서버(121)로부터의 검증 결과에 기초하여 클라이언트 플랫폼으로부터 점증 패키지들을 수신하고 클라이언트 플랫폼에 패키지들을 송신할 수 있다.
개인화된 서비스들을 클라이언트들의 그룹에 제공하기 위하여, 사전 인스톨 기간(pre-installation period) 동안, 운영 체제 및/또는 베이스 애플리케이션들을 포함하는 베이스 파일들이 각 클라이언트 플랫폼의 저장 유닛 상에 사전 인스톨될 수 있다. 그러나, 이 베이스 파일은 다른 방식으로 인스톨될 수도 있다. 예를 들면, 베이스 파일들은 모델 클라이언트 플랫폼의 저장 유닛(203) 내에 사전 인스톨될 수 있다. 그러면, 모델 클라이언트 플랫폼의 EFI(221)는, 베이스 파일들 및 베 이스 파일 디스크립션들(예를 들면, 파일 명, 파일 사이즈 및 파일 구조)을 포함하는 베이스 패키지를 생성하고, 이 베이스 패키지를 서버(12)의 이미지 서버(123)에 업로드할 수 있다.
베이스 패키지는 또한, 모델 클라이언트 플랫폼의 저장 유닛(203) 내에서의 블럭들의 위치들 등의, 베이스 파일들을 저장하고 있는 블럭들을 묘사하기 위한 블럭 디스크립션들을 포함할 수 있다. 그러면, 이미지 서버(123)는 사전 인스톨 기간 동안 다른 클라이언트 플랫폼들 각각으로 베이스 패키지를 다운로드하여서, 이 다른 클라이언트 플랫폼들 각각이 베이스 파일들을, 모델 클라이언트 플랫폼과 동일한 블럭 위치들에 사전 인스톨할 수 있게 된다.
교육 자료 혹은 게임 등의, 클라이언트들의 그룹을 위해 의도된 점증 파일들은 모델 클라이언트 플랫폼의 저장 유닛(203)에 인스톨될 수 있다. 이 인스톨 동안, SUP 드라이버(2220)는, 베이스 파일들이 파손되지 않도록 하기 위해 베이스 파일들에 의해 사용되지 않는 저장 유닛(203)의 블럭들 내에 이 점증 파일들을 보낼 수 있다. SUP 드라이버(2220)는 또한, 점증 파일이 베이스 파일의 업데이트된 버전인지 여부를 판정하고, 이 점증 파일이 업데이트된 베이스 파일인 경우, 이 점증 파일을 저장하고 있는 블럭들이, 베이스 파일을 저장하고 있는 블럭들과 맵핑되는 것을 나타내는 맵핑 정보를 기록할 수 있다.
그러면, EFI(211)는, 점증 파일들 및 이용가능한 맵핑 정보에 기초하여 점증 패키지를 생성할 수 있다. 그 후 이 점증 패키지는 서버에 업로드될 수 있다. 이 패키지는, 점증 파일들의 콘텐트를 갖는 점증 파일 이미지, 및 이 점증 파일들에 대한 파일 디스크립션을 갖는 점증 파일 디스크립션 이미지를 포함할 수 있다. 이 파일 디스크립션의 예들에는, 파일 명, 파일 사이즈 및 파일 구성(예를 들면, 파일 시스템의 트리 구조)이 포함될 수 있다. 이 실시예에서, 파일 디스크립션은 또한, 저장 유닛(203) 내에서의 블럭 위치 등의, 점증 파일을 저장할 수 있는 저장 유닛(203)의 블럭들에 대한 정보를 포함할 수 있다. EFI(211)는 또한, 저장 유닛(203)의 각 블럭의 사용 상태를 나타내는 모델 블럭 비트맵을 생성할 수 있으며, 모델 블럭 비트맵을 서버(12)에 업로드할 수 있다.
도 3A는, 복수의 블럭들, 예를 들면, 블럭 1,....블럭 n으로 분할된 저장 유닛(203)의 일 실시예를 나타낸 도면이다.
도 3B는, 점증 파일 이미지(301) 및 점증 파일 디스크립션 이미지(302)를 갖는 점증 패키지(300)의 일 실시예를 나타낸 도면이다. 점증 파일 이미지(301)는, 각각이 저장 유닛(203)의 블럭에 대응하는 복수의 엔트리들을 포함할 수 있다. 점증 파일 이미지(301)의 각 엔트리는 두 개의 부분을 포함할 수 있는데, 그 중 하나는 블럭 내에 저장되는 점증 파일의 콘텐트를 위한 것이며 다른 하나는 그 블럭과 관련된 디스크립션 정보를 위한 것이다.
예를 들면, 점증 파일 이미지(301)의 엔트리 1은, 저장 유닛(203)의 블럭 1에 저장된 점증 파일 1의 콘텐트와, 블럭 1과 관련된 디스크립션 정보(예를 들면, 저장 유닛(203) 내에서의 블럭 위치)를 포함할 수 있다. 저장을 위해 두 개 이상의 블럭을 필요로 할 수도 있는 점증 파일의 경우, 그 대응하는 점증 파일 이미지는 두 개 이상의 엔트리를 포함할 수도 있다.
마찬가지로, 점증 파일 디스크립션 이미지(302)는, 각각이 저장 유닛(203)의 블럭에 대응하는 복수의 엔트리들을 포함할 수 있다. 점증 파일 디스크립션 이미지(302)의 각 엔트리는 두 개의 부분을 포함할 수 있는데, 그 중 하나는 블럭에 저장된 파일 디스크립션 정보를 위한 것이며, 다른 하나는 그 블럭과 관련된 디스크립션 정보를 위한 것이다.
예를 들면, 점증 파일 디스크립션 이미지(302)의 엔트리 1'은, 저장 유닛(203)의 블럭 20에 저장된 파일 디스크립션 정보와, 블럭 20과 관련된 블럭 디스크립션 정보(예를 들면, 저장 유닛(203) 내에서의 블럭 위치)를 포함할 수 있다. 전술한 바와 같이, 파일 디스크립션 정보는, 파일 명, 파일 사이즈, 파일 구성, 및 점증 파일들을 저장하는 저장 유닛(203)의 블럭들(예를 들면, 점증 파일들 1 및 2를 저장하는 블럭들 4, 5 및 10) 등의, 점증 파일들(예를 들면, 점증 파일들 1 및 2)과 관련된 디스크립션 정보를 포함할 수 있다.
도 3C는 모델 블럭 비트맵의 일 실시예를 도시한 도면으로, 여기서 비트맵의 각 비트는 저장 유닛(203)의 각 블럭에 대응할 수 있으며, 비트 '1' 또는 비트 '0'은, 대응 블럭이 이용되었음을 나타낼 수 있으며, 그 반대의 경우도 가능하다. 그러나, 다른 기술들도 모델 블럭 비트맵에 적용될 수 있음을 알아야 한다. 예를 들면, 모델 블럭 비트맵은, 저장 유닛(203)의 각 블럭에 저장된 컨텐츠가 서버에 업로드되었는지 여부를 나타낼 수 있다. 이러한 경우, 비트 '1' 또는 비트 '0'은, 대응 블럭의 컨텐트가 업로드되었음을 나타낼 수 있으며, 그 반대의 경우도 가능하다.
다시 도 2를 참조하면, 그 그룹의 클라이언트(예를 들면, 어린 학생)가, 베이스 파일들이 사전 인스톨되어 있는 정규 클라이언트 플랫폼에 로그 온하면, EFI(251)는 사용자 인터페이스(270)를 통해 클라이언트에 의해 입력되는 어카운트 정보를 수신할 수 있다. 이 어카운트 정보는 그 후, 플랫폼의 초기화 동안, 그리고 운영 체제(26)의 부팅 전에 검증을 위해 어카운트 서버(121)에 전송될 수 있다.
검증 후에, 어카운트 서버(121)는, 패키지 서버(122)에게 어카운트 정보와 매칭되는 모델 블럭 비트맵을 EFI(251)에 전송하게 할 수 있다. 모델 블럭 비트맵은, 모델 클라이언트 플랫폼의 EFI(211)에 의해 제공되어 모델 클라이언트 플랫폼의 저장 유닛(203)의 각 블럭의 사용 상태를 나타낼 수 있다. EFI(251)는 또한 정규 클라이언트 플랫폼의 저장 유닛(243)의 각 블럭의 사용 상태를 나타내는 정규 블럭 비트맵을 생성할 수 있다.
도 3D는 정규 블럭 비트맵(304)의 일 실시예를 나타낸 도면이다. 도시된 바와 같이, 저장 유닛(243)의 블럭들 1-3은, 정규 클라이언트 플랫폼을 사전 인스톨할 때 베이스 파일들을 저장하는 데에 이용될 수 있다.
운영 체제(26)가 정규 클라이언트 플랫폼에서 부팅 완료되고 SUP 드라이버(2620) 및 POD 드라이버(2621)를 포함하는 드라이버들(262)이 셋업된 후, 패키지 서버(121)는 클라이언트를 위한 점증 파일 디스크립션 이미지를 POD 드라이버(2621)에 전송할 수 있다. POD 드라이버(2621)는 점증 파일 디스크립션 이미지로부터 파일 디스크립션 정보 및 블럭 디스크립션 정보를 검색할 수 있다. POD 드라이버(2621)는 또한, 블럭 디스크립션 정보에 기술되어 있는 블럭 위치들에 관한 파일 디스크립션 정보를 저장하고 EFI(251)로부터 검색된 정규 블럭 비트맵을 업데이트할 수 있다. 정규 블럭 비트맵은, 점증 파일 디스크립션 정보를 저장하는 저장 유닛(243)의 블럭들이 이용됨을 가리킴으로써 업데이트될 수 있다.
서버(12) 및 그 밖의 다른 정보(예를 들면, 베이스 파일 디스크립션 정보)로부터 검색된 점증 파일 디스크립션 정보를 이용함으로써, 운영 체제(26)는, 파일 구성을 나타내는 파일 시스템(261)을 구축할 수 있다. 이 실시예에서, 파일 시스템(261)은 또한, 파일들, 특히 점증 파일들에 대응하는 블럭들과 관련된 정보를 제공할 수 있다. 점증 파일들의 콘텐트가 정규 플랫폼의 저장 유닛(243)에 인스톨되지 않았을지라도, 파일 시스템(261)은, 운영 체제(26)가 점증 파일들 및/또는 베이스 파일들의 아이콘들을 사용자 인터페이스(270)의 스크린 상에 제공하는 것을 도울 수 있다. 예를 들면, 사용자 스크린(270)은 e-클래스 아이콘들을 어린 학생들에게 제공하거나 혹은 게임 아이콘들을 성인들에게 제공할 수 있다.
클라이언트가 사용자 인터페이스(270) 상의 파일 아이콘을 클릭함으로써 파일을 열 때, I/O 핸들러(260)가 사용자 인터페이스(270)로부터 I/O 요구를 수신할 수 있으며, 파일 시스템(261)이, 저장 유닛(243)의 어떤 블럭들이 선택된 파일에 대응할 수 있는지를 분석할 수 있다. POD 드라이버(2621)는, 정규 블럭 비트맵을 참조함으로써, 선택된 파일이 저장 유닛(243) 내에 저장되어 있는지 여부를 판정할 수 있다. 정규 블럭 비트맵이, 대응하는 블럭들이 이용됨을 가리키는 경우, POD 드라이버(2621)는 저장 유닛(243)의 블럭들로부터 그 파일을 검색하고 그 파일을 사용자 인터페이스(270)에 출력할 수 있다. 그러나, 정규 블럭 비트맵이, 대응하 는 블럭들이 사용되지 않음을 가리키는 경우, POD 드라이버(2621)는, 모델 블럭 비트맵을 참조함으로써, 선택된 파일이 서버(12)로부터 이용가능한지 여부를 판정할 수 있다. 예를 들면, 대응 블럭들이 모델 블럭 비트맵에서 이용된 것으로 가리켜진 것은, 선택된 파일이 서버로부터 이용가능함을 나타내는 것일 수 있다.
선택된 파일이 서버(12)로부터 이용가능한 것으로 판정된 것에 응답하여, POD 드라이버(2621)는 선택된 파일의 다운로딩의 요청을 서버(12)에 전송할 수 있다. 패키지 서버(122)는, 선택된 파일을 저장하는 점증 파일 이미지의 엔트리들을 검색하고, 점증 파일 이미지 엔트리들을 POD 드라이버(2621)에 다운로드하여서, POD 드라이버(2621)가 점증 파일 이미지 엔트리들로부터 검색된 파일을 저장 유닛(243)의 대응 블럭들에 저장할 수 있게 되며 대응 블럭들이 사용됨을 가리킴으로써 정규 블럭 비트맵을 업데이트할 수 있게 된다. 최종적으로, POD 드라이버(2621)는 선택된 파일을 사용자 인터페이스(270)에 출력할 수 있다.
클라이언트가 새로운 파일을 저장 유닛(243) 상에 다운로드할 것을 선택하는 경우, SUP 드라이버(2620)는 이 새로운 파일을, 베이스 파일들에 의해 사용되지 않은 저장 유닛(243)의 블럭들에 저장하여서 베이스 파일들을 보호할 수 있다. SUP 드라이버(2620)는 또한, 이 새로운 파일이 베이스 파일의 업데이트된 버전인지 여부를 판정할 수 있다. 이 새로운 파일이 업데이트된 베이스 파일인 경우, SUP 드라이버(2620)는, 이 새로운 파일을 저장하는 블럭들을 베이스 파일을 저장하는 블럭들과 맵핑시키기 위한 맵핑 정보를 기록할 수 있다.
클라이언트가 떠나기 전에 현재의 저장 유닛 구성을 저장할 것을 결심한 경 우, 정규 클라이언트 플랫폼은 재부팅될 수 있으며 EFI(251)는 정규 클라이언트 플랫폼의 저장 유닛(243) 상에 저장된 점증 파일들 및/또는 맵핑 정보에 기초하여 점증 패키지를 생성할 수 있으며, 이 점증 패키지를 서버(12)에 업로드할 수 있다. EFI(251)는 또한 정규 블럭 비트맵을 서버에 업로드할 수 있으며, 이에 따라 이 클라이언트가 다른 정규 클라이언트 플랫폼에 로그 온할 때, 서버(12)로부터 다운로드된 이 정규 블럭 비트맵 및 점증 패키지가 동일한 저장 유닛 환경을 생성하는 데에 이용될 수 있다.
도 2에 도시된 바와 같은 구조들에 대해 다른 실시예들이 다른 기술들을 구현할 수도 있다. 예를 들면, 모델 플랫폼은 또한, 다른 클라이언트들의 그룹들을 위한 점증 파일들을 인스톨하는 데에 이용될 수 있다. 이러한 환경에서, EFI(211)는 각 클라이언트들의 그룹에 대한 각각의 점증 패키지들 및 블럭 비트맵들을 생성할 수 있다. 다른 예에서는, 대응하는 파일 디스크립션이 정규 클라이언트 플랫폼에 인스톨된 경우, EFI(211)는, 점증 파일 디스크립션 이미지들을 서버(12)에 업로드하지 않을 수 있다. 또다른 예에서는, 모델 블럭 비트맵이 생략될 수 있으며, 점증 파일들을 저장하는 블럭들과 관련된 정보가, 대응 블럭들에 저장된 점증 파일이 서버(12)로부터 이용가능한지 여부를 가리키기 위한 지시자 등의 점증 파일 디스크립션 이미지들과 통합될 수 있다.
도 4는 모델 클라이언트 플랫폼을 인스톨하는 방법의 일 실시예를 나타낸 도면이다. 도시된 바와 같이, 블럭 401에서, IT 관리자 또는 적절한 장치가 베이스 파일들을 클라이언트 플랫폼(111-11N) 중 하나 이상의 플랫폼에 인스톨할 수 있으며, 여기서 베이스 파일들은 운영 체제 및/또는 임의의 베이스 애플리케이션 파일들을 포함할 수 있다.
블럭 402에서, IT 관리자 또는 적절한 장치가, 모델 클라이언트 플랫폼에 새로운 클라이언트들의 그룹을 위한 점증 파일들을 인스톨할지 여부를 판정할 수 있다. 인스톨할 것으로 판정한 경우, 블럭 403에서, IT 관리자 또는 적절한 장치가 네트워크 환경(10)으로부터의 클라이언트 플랫폼을 모델 클라이언트 플랫폼으로서 선택할 수 있으며, 블럭 404에서, 클라이언트들의 그룹을 위한 점증 파일들을 결정할 수 있으며, 블럭 405에서, 이 점증 파일들을, 선택된 모델 클라이언트 플랫폼의 저장 유닛에 인스톨할 수 있다.
점증 파일들을 인스톨하는 동안, 블럭 406에서, 모델 클라이언트 플랫폼의 SUP 드라이버(2220)는, 점증 파일이, 모델 클라이언트 플랫폼의 저장 유닛 내에 인스톨된 베이스 파일의 업데이트된 버전인지 여부를 판정할 수 있다. 이 점증 파일이 업데이트된 베이스 파일인 것으로 판정한 것에 응답하여, 블럭 407에서, SUP 드라이버는, 이 점증 파일을 베이스 파일들에 의해 사용되지 않은 블럭들에 저장할 수 있으며 이 점증 파일을 저장하는 블럭들을 베이스 파일을 저장하는 블럭들과 맵핑시킬 수 있다. 그 후, 블럭 408에서, EFI(211)는, 점증 파일 이미지들 및 점증 파일 디스크립션 이미지들을 포함하는 점증 패키지, 및 모델 클라이언트 플랫폼의 저장 유닛(203)의 블럭들의 사용 상태를 나타내는 모델 블럭 비트맵을 생성할 수 있다. 최종적으로, 블럭 409에서, 모델 클라이언트 플랫폼의 EFI(211) 또는 다른 적절한 장치가 점증 패키지 및 모델 블럭 비트맵을 서버(12)에 업로드할 수 있다.
도 5는 정규 클라이언트 플랫폼을 초기화하는 일 실시예를 나타낸 도면이다. 블럭 501에서, 정규 클라이언트 플랫폼이 시작되며, 펌웨어 루틴들이, 운영 체제를 부팅시키기 전에 BIOS 프로그램들을 실행시킬 수 있다. 블럭 502에서, EFI((251)는 클라이언트에게, 사용자 인터페이스(270)를 통하여 어카운트 정보를 입력할 것을 재촉할 수 있다. 그 후, 블럭 503에서, EFI(251)는 어카운트 정보를 서버(12)에 전송하여, 블럭 503에서 어카운트 서버(121)가 이 어카운트 정보를 검증할 수 있게 한다. 검증시, 블럭 504에서, 패키지 서버(122)가, 어카운트 정보와 매칭되는 모델 블럭 비트맵을 EFI(251)에 전송할 수 있다. 모델 블럭 비트맵은, 클라이언트를 위한 점증 파일들이 인스톨된 모델 클라이언트 플랫폼에 의해 생성될 수 있다.
블럭 505에서, EFI(251)는, 정규 클라이언트 플랫폼의 저장 유닛(243)의 블럭들의 사용 상태를 나타내는 정규 블럭 비트맵을 생성할 수 있다. 그 후, 블럭 506에서, 운영 체제(26)가 부팅되며, SUP 드라이버(2620) 및 POD 드라이버(2621)를 포함하는 드라이버들이 셋업된다. 블럭 507에서, 패키지 서버(122)는, 모델 클라이언트 플랫폼에 의해 업로드된 점증 파일 디스크립션 이미지를 POD 드라이버(2621)에 전송할 수 있는데, 여기서 점증 파일 디스크립션 이미지는, 점증 파일들과 관련된 디스크립션 정보, 및 모델 플랫폼 내의, 점증 파일을 저장하는 블럭들 과 관련된 블럭 디스크립션을 포함할 수 있다.
그 후, 블럭 508에서, 점증 파일들이 실제로는 정규 클라이언트 플랫폼에 로드되지 않을 수 있을지라도, 정규 클라이언트 플랫폼의 운영 체제(26)는, 점증 파일 디스크립션 이미지를 이용하여 파일 시스템을 셋업하고, 사용자 인터페이스(270) 상에 점증 파일들의 아이콘들을 제공할 수 있다.
도 6은 정규 클라이언트 플랫폼에서 입/출력 요구를 핸들링하는 일 실시예를 나타낸 도면이다. 블럭 601에서, 정규 클라이언트 플랫폼의 I/O 핸들러(260)는, 저장 유닛(243)으로부터 파일을 판독하거나 혹은 저장 유닛(243)에 파일을 기입하라는 I/O 요구를 수신할 수 있다. 블럭 602에서, I/O 핸들러(260)는, 이 요구가 판독 요구인지 혹은 기입 요구인지를 판정할 수 있다. 판독 요구인 경우, I/O 핸들러(260)는 이 요구를 POD 드라이버(2621)에 전달할 수 있다. 그 후, 블럭 603에서, POD 드라이버(2621)는 요구된 파일을 파일 시스템(261)에서 체크하여서, 파일을 저장하고 있는 블럭들과 관련된 정보 등의 파일 관련 정보를 찾아낼 수 있다.
블럭 604에서, POD 드라이버(2621)는, EFI(251)로부터 검색된 정규 블럭 비트맵을 참조함으로써, 요구된 파일이 저장 유닛(243)의 블럭들에 이미 로드되어 있는지 여부를 판정할 수 있다. 이 파일이 저장 유닛(243)의 블럭들에 로드되어 있는 경우, POD 드라이버(2621)는 저장 유닛(243)으로부터 이 파일을 판독하고 사용자 인터페이스(270)에 출력하고, I/O 요구를 완료할 수 있다. 이 파일이 저장 유닛(243)의 블럭들에 로드되어 있지 않은 경우, POD 드라이버(2621)는, 모델 블럭 비트맵을 참조함으로써, 이 요구된 파일이 서버(12)로부터 이용가능한지 여부를 판 정할 수 있다.
요구된 파일이 서버(12)로부터 이용가능한 것으로 판정된 것에 응답하여, POD 드라이버(2621)는 파일 이미지 다운로드 요구를 서버(12)에 전송할 수 있으며, 패키지 서버(122)는, 요구된 파일을 갖는 점증 파일 이미지의 엔트리들을 찾아내고 이 점증 파일 이미지 엔트리들을 POD 드라이버(2621)에 전송할 수 있다. 그 후, POD 드라이버(2621)는, 블럭 606에서, 점증 파일 이미지 엔트리들로부터 그 파일을 검색할 수 있으며, 블럭 607에서, 그 파일을 저장 유닛(243)의 대응 블럭들에 로드할 수 있다. 블럭 608에서, POD 드라이버(2621)는, 요구된 파일을 저장하는 블럭들이 사용되고 있음을 가리킴으로써 정규 블럭 비트맵을 업데이트할 수 있다. 블럭 609에서, POD 드라이버(2621)는 파일을 사용자 인터페이스(270)에 출력하고 I/O 요구를 완료할 수 있다.
블럭 602에서, I/O 요구가 새로운 파일을 저장 유닛(243)에 기입하라는 요구인 것으로 판정된 것에 응답하여, I/O 핸들러(260)는 이 요구를 SUP 드라이버(2620)에 전달할 수 있다. 그 후, 블럭 610에서, SUP 드라이버(2620)는 이 새로운 파일을, 베이스 파일들에 의해 사용되지 않은 저장 유닛(243)의 블럭들에 저장할 수 있다. 블럭 611에서, SUP 드라이버(2620)는, 이 새로운 파일을 저장하기 위한 블럭들이 사용되고 있음을 가리킴으로써 정규 블럭 비트맵을 업데이트할 수 있다. 블럭 612에서, SUP 드라이버(2620)는 또한, 이 새로운 파일이, 저장 유닛(243)에 저장된 베이스 파일의 업데이트된 버전인지 여부를 판정할 수 있다. 그러한 경우, 블럭 613에서, SUP 드라이버(2620)는 새로운 파일을 저장하는 블럭들을 베이스 파일을 저장하는 블럭들과 맵핑시키기 위한 맵핑 정보를 기록할 수 있다.
도 7은, 네트워크 환경에서의 클라이언트 플랫폼의 클라이언트에 대한 저장 유닛 공간을 저장하는 일 실시예를 나타낸 도면이다. 블럭 701에서, 클라이언트는 클라이언트 플랫폼에서 로그아웃할 수 있으며, 현재의 저장 유닛 환경을 저장하는 옵션을 제공받을 수 있다. 이 환경을 저장하기 위해서, 블럭 703에서, 클라이언트 플랫폼은 플랫폼을 재부팅할 수 있으며, 클라이언트 플랫폼의 EFI(251) 혹은 다른 적절한 장치가 점증 패키지 및 블럭 비트맵을 생성할 수 있다. 점증 패키지는, 저장 유닛에 저장된 점증 파일들에 대응하는 점증 파일 이미지들, 및 점증 파일들과 관련된 디스크립션 정보를 갖는 점증 파일 디스크립션 이미지들을 포함할 수 있다. 블럭 비트맵은 저장 유닛의 블럭들의 사용 상태를 나타낼 수 있다. 전술한 바와 같이, 블럭 비트맵은 생략될 수 있으며, 블럭들과 관련된 이러한 정보는 점증 파일 디스크립션 이미지들에 통합될 수 있다.
그 후, 블럭 705에서, EFI(251)는 이 점증 패키지 및 블럭 비트맵을 서버(12)에 업로드할 수 있다. 블럭 706에서, EFI(251)는 클라이언트 플랫폼의 저장 유닛으로부터 점증 파일들을 제거하고 로그아웃할 수 있다.
다른 실시예들에서는, 도 7에 도시된 방법에 대해 다른 기술들을 구현할 수도 있다. 예를 들면, VIP 클라이언트만이 이러한 서비스들에 대한 자격이 있을 수 있는 것으로 가정한다면, 클라이언트 플랫폼은, 저장 유닛 환경 저장/복원 서비스를 제공하기 전에, 클라이언트가 VIP 클라이언트인지 여부를 판정할 수 있다.
도 8은, 도 1의 네트워크 환경(10)에서의 클라이언트 플랫폼 또는 서버로서 기능할 수 있는 일반적 플랫폼의 일 실시예를 나타낸 도면이다. 이 플랫폼은 하나 이상의 프로세서(850), 메모리(851), 칩셋(852), I/O 장치(853), 펌웨어(854), 및 저장 유닛(855)을 포함할 수 있다. 프로세서(850)는, 프로세서 버스 등의 하나 이상의 버스를 통하여 다른 컴포넌트들에 통신가능하게 결합되어 있다. 프로세서(850)는, 예를 들어 미국 캘리포니아주 산타클라라 소재의 인텔사로부터 입수가능한 Intel®XeonTM, Intel®PentiumTM, Intel®ItaniumTM 아키텍처들을 비롯한 적절한 아키텍처 하에서 코드들을 실행시킬 수 있는 하나 이상의 프로세싱 코어를 갖는 집적 회로(IC)로서 구현될 수 있다.
일 실시예에서, 메모리(851)는 프로세서(850)에 의해 실행될 코드들을 저장할 수 있다. 메모리(851)에 대한 철저하지 않은 예들의 리스트에는, SDRAM(synchronous dynamic random access memory) 장치들, RAMBUS 동적 랜덤 액세스 메모리(RDRAM) 장치들, DDR(double data rate) 메모리 장치들, SRAM(static random access memory), 및 플래시 메모리 장치들 등의 반도체 장치들 중 하나 혹은 이들의 조합이 포함될 수 있다.
일 실시예에서, 칩셋(852)은, 프로세서(850), 메모리(851) 및 각종 컴포넌트들, 예를 들면 I/O 장치(853), 펌웨어(854) 및 저장 유닛(855) 간에 하나 이상의 통신 경로를 제공할 수 있다. I/O 장치들(853)의 예에는, 키보드, 마우스, 네트워크 인터페이스, 저장 장치, 카메라, 블루투스, 및 안테나가 포함될 수 있다.
펌웨어(854)는, 프로세서(850), 칩셋(852), 및 플랫폼의 다른 구성요소들을 초기화하기 위해 시스템 시동 동안 플랫폼이 실행하는 BIOS 루틴들, 및/또는 펌웨어(1054)와 플랫폼의 운영 체제와의 인터페이싱을 하기 위한 EFI 루틴들을 저장하며, 운영 체제를 부팅시키기 위한 표준 환경을 제공할 수 있다.
저장 유닛(855)은, 플랫폼의 내부에 상주하고 있는 내부 저장 유닛(예를 들면, 하드 디스크) 및/또는 클라이언트 플랫폼의 외부에 상주하고 있는 외부 저장 유닛(예를 들면, 플로피 디스크, 광 디스크 등)을 포함할 수 있다. 도 8에 도시된 바와 같은 플랫폼이 클라이언트 플랫폼으로서 실행될 수 있는 경우, 저장 유닛(855)은 베이스 파일들, 점증 파일들, 파일 디스크립션 또는 가능성 있는 다른 데이터를 저장할 수 있다. 도 8에 도시된 바와 같은 플랫폼이 서버(12)로서 실행될 수 있는 경우, 저장 유닛(855)은 점증 파일 이미지들, 점증 파일 디스크립션 이미지들, 블럭 비트맵 또는 가능성 있는 다른 데이터를 저장할 수 있다.
본 발명의 소정의 특성들이 예시적인 실시예들을 참조하여 설명되었지만, 이 설명은 제한의 의미로 해석되어서는 않된다. 이 예시적인 실시예들의 각종 변형들과, 본 발명과 관련있는 기술 분야에 통상적인 지식을 가진 자에게 명백한 본 발명의 다른 실시예들은 본 발명의 정신 및 범주 내에 있는 것으로 간주된다.

Claims (30)

  1. 모델 클라이언트 플랫폼의 방법으로서,
    상기 모델 클라이언트 플랫폼의 모델 저장 유닛의 제1 모델 블럭에 저장된 점증 파일(incremental file)을 포함하는 파일 이미지를 생성하는 단계;
    상기 모델 저장 유닛의 제2 모델 블럭에 저장된 파일 디스크립션(file description)을 포함하는 파일 디스크립션 이미지를 생성하는 단계 ― 상기 파일 디스크립션은 상기 모델 저장 유닛 내에서의 상기 제1 모델 블럭의 위치를 포함함 ―; 및
    상기 파일 이미지 및 상기 파일 디스크립션 이미지를 서버에 업로드하는 단계
    를 포함하는, 모델 클라이언트 플랫폼의 방법.
  2. 제1항에 있어서,
    상기 모델 저장 유닛의 각 모델 블럭에 저장된 데이터가 상기 서버로부터 이용가능한지 여부를 나타내는 모델 블럭 비트맵을 생성하는 단계를 더 포함하는, 모델 클라이언트 플랫폼의 방법.
  3. 제1항에 있어서,
    상기 모델 저장 유닛의 각 모델 블럭의 사용 상태를 나타내는 모델 블럭 비 트맵을 생성하는 단계를 더 포함하는, 모델 클라이언트 플랫폼의 방법.
  4. 제1항에 있어서,
    상기 파일 이미지는, 상기 모델 저장 유닛 내에서의 상기 제1 모델 블럭의 위치를 더 포함하는, 모델 클라이언트 플랫폼의 방법.
  5. 제1항에 있어서,
    상기 파일 디스크립션 이미지는, 상기 모델 저장 유닛 내에서의 상기 제2 모델 블럭의 위치를 더 포함하는, 모델 클라이언트 플랫폼의 방법.
  6. 제1항에 있어서,
    상기 모델 저장 유닛의 제3 모델 블럭에 저장된 베이스 파일(base file), 및 상기 모델 저장 유닛 내에서의 상기 제3 모델 블럭의 위치를 포함하는 다른 파일 이미지를 생성하는 단계; 및
    상기 다른 파일 이미지를 상기 서버에 업로드하는 단계를 더 포함하는, 모델 클라이언트 플랫폼의 방법.
  7. 제1항에 있어서,
    상기 점증 파일이, 상기 모델 저장 유닛의 제3 모델 블럭에 저장된 베이스 파일의 업데이트된 버전인 것을 판정하는 단계;
    상기 점증 파일을 저장하는 상기 제1 모델 블럭을, 상기 베이스 파일을 저장하는 상기 제3 모델 블럭과 맵핑시키기 위한 맵핑 정보를 기록하는 단계; 및
    상기 맵핑 정보를 상기 서버에 업로드하는 단계를 더 포함하는, 모델 클라이언트 플랫폼의 방법.
  8. 정규 클라이언트 플랫폼(ordinary client platform)의 방법으로서,
    상기 정규 클라이언트 플랫폼의 정규 저장 유닛의 각 정규 블럭의 사용 상태를 나타내는 정규 블럭 비트맵을 생성하는 단계; 및
    파일 디스크립션을 포함하는 파일 디스크립션 이미지를 서버로부터 다운로드하는 단계
    를 포함하며,
    상기 파일 디스크립션은 모델 클라이언트 플랫폼의 모델 저장 유닛 내에서의 제1 모델 블럭의 위치를 포함하며, 상기 제1 모델 블럭은 점증 파일을 저장하는, 정규 클라이언트 플랫폼의 방법.
  9. 제8항에 있어서,
    모델 블럭 비트맵을 상기 서버로부터 다운로드하는 단계를 더 포함하며, 상기 모델 블럭 비트맵은 상기 모델 저장 유닛의 각 모델 블럭의 사용 상태를 나타내는, 정규 클라이언트 플랫폼의 방법.
  10. 제9항에 있어서,
    상기 점증 파일이, 상기 정규 블럭 비트맵 및 상기 모델 블럭 비트맵에 기초하여 상기 서버로부터 이용가능한지 여부를 판정하는 단계;
    상기 점증 파일을 상기 서버로부터 다운로드하는 단계;
    상기 점증 파일을, 상기 모델 저장 유닛 내에서의 상기 제1 모델 블럭의 위치에 대응하는, 상기 정규 저장 유닛의 제1 정규 블럭에 저장하는 단계; 및
    상기 제1 정규 블럭이 이용됨을 나타내도록 상기 정규 블럭 비트맵을 업데이트하는 단계를 더 포함하는, 정규 클라이언트 플랫폼의 방법.
  11. 제10항에 있어서,
    상기 제1 모델 블럭의 위치에 기초하여, 상기 서버에 저장되어 있는 파일 이미지로부터 상기 점증 파일을 검색하는 단계를 더 포함하며, 상기 파일 이미지는 상기 점증 파일을 상기 제1 모델 블럭의 위치와 연결시키는, 정규 클라이언트 플랫폼의 방법.
  12. 제9항에 있어서,
    상기 파일 디스크립션 이미지는, 상기 모델 저장 유닛 내에서의 제2 모델 블럭의 위치를 더 포함하며, 상기 제2 모델 블럭은 상기 파일 디스크립션을 저장하는, 정규 클라이언트 플랫폼의 방법.
  13. 제12항에 있어서,
    상기 파일 디스크립션을, 상기 제2 모델 블럭의 위치에 대응하는, 상기 정규 저장 유닛의 제2 정규 블럭에 저장하는 단계; 및
    상기 제2 정규 블럭이 사용됨을 나타내도록 상기 정규 블럭 비트맵을 업데이트하는 단계를 더 포함하는, 정규 클라이언트 플랫폼의 방법.
  14. 제9항에 있어서,
    상기 서버로부터 베이스 파일 이미지를 다운로드하는 단계 ― 상기 베이스 파일 이미지는, 베이스 파일, 및 상기 모델 저장 유닛 내에서의 제3 모델 블럭의 위치를 포함하며, 상기 제3 모델 블럭은 상기 베이스 파일을 저장함 ―; 및
    상기 베이스 파일을, 상기 제3 모델 블럭의 위치에 대응하는, 상기 정규 저장 유닛의 제3 정규 블럭에 저장하는 단계를 더 포함하는, 정규 클라이언트 플랫폼의 방법.
  15. 제14항에 있어서,
    상기 정규 저장 유닛의 제4 정규 블럭에 새로운 파일을 저장하는 단계; 및
    상기 새로운 파일이 상기 베이스 파일의 업데이트된 버전인 경우, 상기 제4 정규 블럭을 상기 제3 정규 블럭과 맵핑시키기 위한 맵핑 정보를 기록하는 단계를 더 포함하는, 정규 클라이언트 플랫폼의 방법.
  16. 복수의 인스트럭션들을 포함하는 기계 판독가능 매체로서,
    상기 복수의 인스트럭션들은, 실행될 때 클라이언트 플랫폼이,
    상기 클라이언트 플랫폼의 저장 유닛의 제1 블럭에 점증 파일을 저장하고,
    상기 클라이언트 플랫폼을 재부팅시키고,
    상기 점증 파일을 포함하는 파일 이미지 및 상기 점증 파일에 대한 파일 디스크립션을 포함하는 파일 디스크립션 이미지를 생성하게 하고,
    상기 파일 디스크립션은 상기 저장 유닛 내에서의 상기 제1 블럭의 위치를 포함하는 기계 판독가능 매체.
  17. 제16항에 있어서,
    상기 복수의 인스트럭션들은,
    상기 파일 이미지 및 상기 파일 디스크립션 이미지를 서버에 업로드하는 것;
    상기 점증 파일을 상기 저장 유닛에서 제거하는 것; 및
    상기 클라이언트 플랫폼을 로그아웃하는 것을 더 포함하는 기계 판독가능 매체.
  18. 제16항에 있어서,
    상기 복수의 인스트럭션들은,
    상기 저장 유닛의 각 블럭의 사용 상태를 나타내기 위한 블럭 비트맵을 생성하는 것; 및
    상기 블럭 비트맵을 서버에 업로드하는 것을 더 포함하는 기계 판독가능 매체.
  19. 모델 클라이언트 플랫폼으로서,
    점증 파일을 저장하기 위한 제1 모델 블럭, 및 상기 점증 파일에 대한 파일 디스크립션을 저장하기 위한 제2 모델 블럭을 포함하는 모델 저장 유닛; 및
    상기 점증 파일을 포함하는 파일 이미지, 및 상기 파일 디스크립션을 포함하는 파일 디스크립션 이미지를 생성하기 위한 모델 펌웨어 컴포넌트
    를 포함하며,
    상기 파일 디스크립션은 상기 모델 저장 유닛 내에서의 상기 제1 모델 블럭의 위치를 포함하는 모델 클라이언트 플랫폼.
  20. 제19항에 있어서,
    상기 파일 이미지 및 파일 디스크립션 이미지를 서버에 업로드하기 위한 모델 네트워크 인터페이스를 더 포함하는 모델 클라이언트 플랫폼.
  21. 제20항에 있어서,
    상기 모델 펌웨어 컴포넌트는 또한, 상기 모델 저장 유닛의 각 모델 블럭의 사용 상태를 나타내기 위한 모델 블럭 비트맵을 생성하며,
    상기 모델 네트워크 인터페이스는 또한, 상기 모델 블럭 비트맵을 상기 서버 에 업로드하는 모델 클라이언트 플랫폼.
  22. 제19항에 있어서,
    상기 모델 저장 유닛은, 베이스 파일을 저장하기 위한 제3 모델 블럭을 더 포함하는 모델 클라이언트 플랫폼.
  23. 제20항에 있어서,
    상기 모델 펌웨어 컴포넌트는 또한, 베이스 파일, 및 상기 모델 저장 유닛 내에서의 상기 제3 모델 블럭의 위치를 포함하는 다른 파일 이미지를 생성하며,
    상기 모델 네트워크 인터페이스는 또한, 상기 다른 파일 이미지를 상기 서버에 업로드하는 모델 클라이언트 플랫폼.
  24. 제23항에 있어서,
    상기 점증 파일이 상기 베이스 파일의 업데이트된 버전인 경우, 상기 점증 파일을 저장하고 있는 상기 제1 모델 블럭을, 상기 베이스 파일을 저장하고 있는 상기 제3 모델 블럭과 맵핑시키기 위한 맵핑 정보를 기록하기 위한 드라이버를 더 포함하는 모델 클라이언트 플랫폼.
  25. 정규 클라이언트 플랫폼으로서,
    복수의 정규 블럭들을 포함하는 정규 저장 유닛;
    서버로부터 파일 디스크립션을 포함하는 파일 디스크립션 이미지를 다운로드하기 위한 정규 네트워크 인터페이스 ― 상기 파일 디스크립션은, 모델 클라이언트 플랫폼의 모델 저장 유닛 내에서의 제1 모델 블럭의 위치를 포함하고, 상기 제1 모델 블럭은 상기 점증 파일을 저장함 ―; 및
    상기 정규 블럭들의 사용 상태를 나타내는 정규 블럭 비트맵을 생성하기 위한 정규 펌웨어 컴포넌트
    를 포함하는 정규 클라이언트 플랫폼.
  26. 제25항에 있어서,
    상기 정규 네트워크 인터페이스는 또한, 모델 블럭 비트맵을 상기 서버로부터 다운로드하고, 상기 모델 블럭 비트맵은, 상기 모델 저장 유닛의 각 모델 블럭의 사용 상태를 나타내는 정규 클라이언트 플랫폼.
  27. 제25항에 있어서,
    상기 정규 블럭 비트맵 및 상기 모델 블럭 비트맵에 기초하여, 상기 점증 파일이 상기 서버로부터 이용가능한지 여부를 판정하고,
    상기 점증 파일을 상기 서버로부터 다운로드하고,
    상기 점증 파일을, 상기 제1 모델 블럭의 위치에 대응하는, 상기 복수의 정규 블럭들 중 제1 정규 블럭에 저장하고,
    상기 제1 정규 블럭이 사용되고 있음을 나타내도록 상기 정규 블럭 비트맵을 업데이트하기 위한 제1 드라이버를 더 포함하는 정규 클라이언트 플랫폼.
  28. 제25항에 있어서,
    상기 파일 디스크립션 이미지는 상기 모델 저장 유닛 내에서의 제2 모델 블럭의 위치를 더 포함하며, 상기 제2 모델 블럭은 상기 파일 디스크립션을 저장하며,
    상기 정규 저장 유닛은 또한, 상기 파일 디스크립션을, 상기 제2 모델 블럭의 위치에 대응하는, 상기 복수의 정규 블럭들 중 제2 정규 블럭에 저장하는 정규 클라이언트 플랫폼.
  29. 제25항에 있어서,
    베이스 파일 이미지를 상기 서버로부터 수신하고 ― 상기 베이스 파일 이미지는 베이스 파일, 및 상기 모델 저장 유닛 내에서의 제3 모델 블럭의 위치를 포함하고, 상기 제3 모델 블럭은 상기 베이스 파일을 저장함 ―,
    상기 베이스 파일을, 상기 제3 모델 블럭의 위치에 대응하는, 상기 복수의 정규 블럭들 중 제3 정규 블럭에 저장하기 위한 제2 드라이버를 더 포함하는 정규 클라이언트 플랫폼.
  30. 제29항에 있어서,
    상기 복수의 정규 블럭들 중 제4 정규 블럭에 새로운 파일을 저장하고,
    상기 새로운 파일이 상기 베이스 파일의 업데이트된 버전인 경우, 상기 제4 정규 블럭을 상기 제3 정규 블럭과 맵핑시키기 위한 맵핑 정보를 기록하기 위한 제2 드라이버를 더 포함하는 정규 클라이언트 플랫폼.
KR1020097004980A 2006-09-11 2006-09-11 네트워크 환경에서의 공간의 개인화 KR101203830B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2006/002349 WO2008031273A1 (en) 2006-09-11 2006-09-11 Personalizing space in a network environment

Publications (2)

Publication Number Publication Date
KR20090051088A true KR20090051088A (ko) 2009-05-20
KR101203830B1 KR101203830B1 (ko) 2012-11-23

Family

ID=39183356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097004980A KR101203830B1 (ko) 2006-09-11 2006-09-11 네트워크 환경에서의 공간의 개인화

Country Status (6)

Country Link
US (1) US8316107B2 (ko)
EP (1) EP2067306A4 (ko)
JP (1) JP5070286B2 (ko)
KR (1) KR101203830B1 (ko)
CN (1) CN101512972A (ko)
WO (1) WO2008031273A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112973A1 (en) * 2013-01-15 2014-07-24 Hewlett-Packard Development Company, L.P. Server-platform simulation service

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101203830B1 (ko) 2006-09-11 2012-11-23 인텔 코오퍼레이션 네트워크 환경에서의 공간의 개인화
US20090157841A1 (en) * 2007-12-14 2009-06-18 Microsoft Corporation Encapsulation of online storage providers
US8478909B1 (en) 2010-07-20 2013-07-02 Qlogic, Corporation Method and system for communication across multiple channels
US10826790B2 (en) * 2016-01-27 2020-11-03 Starry, Inc. Premises networking device with interactive display and method of operation
US11132047B2 (en) * 2018-12-07 2021-09-28 Ati Technologies Ulc Performance and power tuning user interface

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219311A (ja) * 1998-02-04 1999-08-10 Hitachi Ltd ファイルアクセス方法
JPH11306121A (ja) * 1998-04-17 1999-11-05 Toshiba Corp コンピュータシステム及びコンピュータ
WO2002075571A1 (en) * 2001-03-16 2002-09-26 Otg Software, Inc. Network file sharing method and system
JP4170742B2 (ja) 2002-11-29 2008-10-22 株式会社エヌ・ティ・ティ・ドコモ ダウンロードシステム、通信端末、サーバ、ダウンロード方法
JP4088581B2 (ja) * 2003-11-11 2008-05-21 京楽産業.株式会社 パチンコ遊技機
JP2005165493A (ja) 2003-12-01 2005-06-23 Nippon Telegr & Teleph Corp <Ntt> シェアードコンピュータ、その制御プログラム、および記録媒体
JP4604543B2 (ja) * 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
US7613875B2 (en) 2004-12-29 2009-11-03 Intel Corporation Apparatus and method for incremental package deployment
JP2006209505A (ja) 2005-01-28 2006-08-10 Nec Personal Products Co Ltd 管理装置、管理方法、情報処理装置、情報通知方法およびプログラム
WO2007068147A1 (en) 2005-12-17 2007-06-21 Intel Corporation Installing and executing shared applications in shared folders
KR101203830B1 (ko) 2006-09-11 2012-11-23 인텔 코오퍼레이션 네트워크 환경에서의 공간의 개인화

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112973A1 (en) * 2013-01-15 2014-07-24 Hewlett-Packard Development Company, L.P. Server-platform simulation service

Also Published As

Publication number Publication date
EP2067306A1 (en) 2009-06-10
KR101203830B1 (ko) 2012-11-23
JP2010500671A (ja) 2010-01-07
JP5070286B2 (ja) 2012-11-07
WO2008031273A1 (en) 2008-03-20
US8316107B2 (en) 2012-11-20
US20110125872A1 (en) 2011-05-26
CN101512972A (zh) 2009-08-19
EP2067306A4 (en) 2011-12-21

Similar Documents

Publication Publication Date Title
JP5414814B2 (ja) ネットワーク環境におけるスペースのカスタマイズ
US8402437B2 (en) System and method for updating initialization parameters for application software from within a software development environment
CN1794171B (zh) 用于软件设置的语言中立和语言专用安装包
US8601470B2 (en) Symbiotic smart peripherals
CN101960446B (zh) 基于安全浏览器的应用
KR101203830B1 (ko) 네트워크 환경에서의 공간의 개인화
US9614931B2 (en) Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system
US8626919B1 (en) Installer-free applications using native code modules and persistent local storage
US20130227539A1 (en) Updating applications
US9047103B2 (en) Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions
US20150074386A1 (en) Boot method and boot system
JP2009509265A (ja) パーソナルインターネットコミュニケータ用のハードドライブのためのブート性能最適化
CN1755619A (zh) 提供文档预览的方法、系统和装置
US8856365B2 (en) Computer-implemented method, computer system and computer readable medium
KR20080031488A (ko) Pic에 대한 검증된 컴퓨팅 환경
JP2010500671A5 (ko)
US20090307680A1 (en) Side-by-side driver installation
US7272712B1 (en) Data structure and method for managing modules associated with a kernel
US20050273584A1 (en) Locating environment variables in non-volatile memory
JP2014179081A (ja) フォント配信サービス
US20040243385A1 (en) Emulation of hardware devices in a pre-boot environment
US20080256514A1 (en) Side-by-side application manifests for single-purpose applications
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN107667343B (zh) 用于加载按需加载资源的系统和方法
CA2878759A1 (en) Methods and systems for providing software applications

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
LAPS Lapse due to unpaid annual fee