(19) 대한민국특허청(KR) (12) 등록특허공보(B1) (51) 국제특허분류(Int. Cl.) G06F 9/22 (2006.01) (21) 출원번호 10-2012-0020563 (22) 출원일자 2012년02월28일 심사청구일자 2012년02월28일 (65) 공개번호 10-2013-0098775 (43) 공개일자 2013년09월05일 (56) 선행기술조사문헌 KR1020060124047 A* JP2010541072 A KR1020050106589 A KR1020030011552 A *는 심사관에 의하여 인용된 문헌 (45) 공고일자 2014년05월07일 (11) 등록번호 10-1389977 (24) 등록일자 2014년04월22일 (73) 특허권자 주식회사 팬택 서울특별시 마포구 성암로 179 (상암동,팬택계열 알앤디센터빌딩) (72) 발명자 김성호 서울특별시 마포구 상암동 DMC, 1-2, 팬택빌딩 (74) 대리인 특허법인 신지 전체 청구항 수 : 총 19 항 심사관 : 구대성 (54) 발명의 명칭 다중 운영체제를 지원하는 클라이언트 단말 및 다중 운영체제 지원방법 (57) 요 약 다중 운영체제를 지원하는 클라이언트 단말 및 다중 운영체제 지원방법이 개시된다. 본 발명의 일 실시예에 따 른 클라이언트 단말은 제한된 자원 하에서 운영체제 제공장치의 자원을 이용하여 다중 운영체제를 지원받고, 운 영체제에 기반하여 실행되는 파일을 관리한다. 대 표 도 - 도1-1 -
특허청구의 범위 청구항 1 삭제 청구항 2 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운영체제 제공장치 로부터 제2 운영체제와 함께 상기 제1 운영체제 하에서 사용되던 파일 중 적어도 상기 제2 운영체제에서 실행 가능한 파일을 수신하는 프로세서; 를 포함하며, 상기 메모리에 저장된 파일은 어플리케이션과 같은 프로그램의 실행을 제어하는 실행 파일과, 음악, 동영상, 이 미지, 문서와 같은 멀티미디어 관련 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말. 청구항 3 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운영체제 제공장치 로부터 제2 운영체제와 함께 상기 제1 운영체제 하에서 사용되던 파일 중 적어도 상기 제2 운영체제에서 실행 가능한 파일을 수신하는 프로세서; 를 포함하며, 상기 제2 운영체제에서 실행 가능한 파일은, 운영체제의 종류에 관계없이 실행되는 파일과, 제2 운영체제에서 실행되는 파일과, 현재 제2 운영체제에서 실행될 수 없는 상태이지만 제2 운영체제에서 실행될 수 있도록 변환 이 가능한 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트 단말. 청구항 4 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운영체제 제공장치 로부터 제2 운영체제와 함께 상기 제1 운영체제 하에서 사용되던 파일 중 적어도 상기 제2 운영체제에서 실행 가능한 파일을 수신하는 프로세서; 를 포함하며, 상기 메모리는 제1 운영체제가 저장된 운영체제 영역과, 파일 및 파일분류 기준정보가 저장된 데이터 영역을 포 함하고, 상기 프로세서는 상기 파일분류 기준정보에 따라 파일을 분류하고, 분류된 파일을 상기 운영체제 제공장치로 전 송한 후 상기 운영체제 영역과 데이터 영역을 포맷하며, 상기 제2 운영체제와, 상기 전송된 파일 중에서 상기 제2 운영체제에서 실행 가능한 파일을 상기 운영체제 제공장치로부터 수신하는 것을 특징으로 하는 클라이언트 단말. 청구항 5 제 4 항에 있어서, 상기 프로세서는, 파일을 상기 파일분류 기준정보에 따라 운영체제의 종류에 관계없이 실행되는 파일과, 운영체제에 따라 종속적 으로 실행되고 파일 형식이 변경되지 않는 파일과, 운영체제에 따라 종속적으로 실행되고 파일 형식이 변경 가 능한 파일과, 그 외의 파일로 분류하는 것을 특징으로 하는 클라이언트 단말. 청구항 6-2 -
제 4 항에 있어서, 상기 프로세서는, 상기 파일분류 기준정보에 따라 파일이 어느 운영체제를 기반으로 실행되는지를 알 수 있는 파일 태그를 생성하 여 이를 상기 운영체제 제공장치에 전송하는 것을 특징으로 하는 클라이언트 단말. 청구항 7 제 4 항에 있어서, 상기 프로세서는, 상기 파일분류 기준정보에 따라 분류된 파일들을 상기 데이터 영역의 소정의 영역들에 분리하여 저장하는 것을 특징으로 하는 클라이언트 단말. 청구항 8 제 4 항에 있어서, 상기 프로세서는, 상기 메모리에 저장된 파일을 분석하는 파일 분석부; 상기 파일 분석부를 통해 분석된 파일을, 상기 메모리에 저장된 파일분류 기준정보와 비교하여 분류하는 데이터 베이스 비교부; 상기 메모리로부터 파일을 수신하고, 상기 운영체제 영역과 데이터 영역을 포맷하고 상기 운영체제 제공장치로 부터 수신된 제2 운영체제를 상기 메모리에 설치하는 운영체제 및 파일 처리부; 및 상기 운영체제 및 파일 처리부로부터 파일을 전송받아 상기 운영체제 제공장치에 전송하는 네트워크 통신부; 를 포함하는 것을 특징으로 하는 클라이언트 단말. 청구항 9 제 8 항에 있어서, 상기 프로세서는, 상기 데이터베이스 비교부가 분류한 파일들을 대상으로 각 파일 마다 어느 운영체제를 기반하여 실행될 수 있는 파일인지를 알 수 있는 파일 태그를 생성하는 파일 태그 생성 및 분석부; 를 더 포함하며, 상기 네트워크 통신부는 상기 운영체제 및 파일 처리부로부터 파일과 파일 태그를 전송받아 상기 운영체제 제공 장치에 전송하는 것을 특징으로 하는 클라이언트 단말. 청구항 10 제 9 항에 있어서, 상기 네트워크 통신부는, 상기 운영체제 제공장치로부터 제2 운영체제와 상기 제2 운영체제에서 실행 가능한 파 일을 수신하고, 상기 파일 태그 생성 및 분석부는, 상기 네트워크 통신부를 통해 운영체제 제공장치로부터 수신된 파일이 어느 운영체제를 기반하여 실행될 수 있는 파일인지 검증하며, 상기 운영체제 및 파일 처리부는, 상기 운영체제 제공장치로부터 수신된 제2 운영체제를 상기 메모리에 설치하 고, 상기 설치된 제2 운영체제 하에서 파일을 실행하는 것을 특징으로 하는 클라이언트 단말. 청구항 11 제 8 항에 있어서, 상기 파일 분석부는, 상기 메모리에서 파일을 탐색하고 탐색된 파일을 파싱하여 파일 확장자를 추출하며, 상기 데이터베이스 비교부는, 상기 파일 분석부를 통해 추출된 파일 확장자를 이용하여 파일을 상기 메모리에 저장된 파일분류 기준정보에 따라 분류하는 것을 특징으로 하는 클라이언트 단말. 청구항 12 제 4 항에 있어서, 상기 메모리는, - 3 -
운영체제를 운영하는 부팅관리 영역을 더 포함하며, 상기 프로세서는 포맷 시에 상기 부팅관리 영역과, 데이터 영역 내 운영체제 정보는 포맷 대상에서 제외시켜, 상기 부팅관리 영역이 상기 운영체제 정보를 이용하여 상기 제2 운영체제를 설치 가능하게 하는 것을 특징으로 하는 클라이언트 단말. 청구항 13 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운영체제 제공장치 로부터 제2 운영체제와 함께 상기 제1 운영체제 하에서 사용되던 파일 중 적어도 상기 제2 운영체제에서 실행 가능한 파일을 수신하는 프로세서; 를 포함하며, 상기 프로세서는, 상기 메모리에 저장된 파일을 상기 운영체제 제공장치에 전송하고, 상기 운영체제 제공장치가 상기 전송된 파일 을 파일분류 기준정보에 따라 분류하면, 상기 제2 운영체제와 함께 상기 분류된 파일 중에서 상기 제2 운영체제 에서 실행 가능한 파일을 상기 운영체제 제공장치로부터 수신하는 것을 특징으로 하는 클라이언트 단말. 청구항 14 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 사용자 명령을 입력받는 사용자 인터페이스; 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운영체제 제공장치 로부터 제2 운영체제와 함께 상기 제1 운영체제 하에서 사용되던 파일 중 적어도 상기 제2 운영체제에서 실행 가능한 파일을 수신하며, 상기 사용자 인터페이스를 통해 상기 제1 운영체제에서 상기 제2 운영체제로의 운영체 제 변경 명령을 수신하는 프로세서; 를 포함하는 것을 특징으로 하는 클라이언트 단말. 청구항 15 단일 개의 운영체제를 갖는 클라이언트 단말의 다중 운영체제 지원방법에 있어서, 운영체제 제공장치에 접속하여 상기 운영체제 제공장치로부터 상기 클라이언트 단말에 설치할 제2 운영체제 정 보를 수집하는 단계; 상기 클라이언트 단말의 메모리에 저장된 파일을 분석하고, 분석된 파일을 상기 메모리에 저장된 파일분류 기준 정보와 비교하여 분류하는 단계; 상기 분류된 파일을 운영체제 제공장치에 전송하는 단계; 및 상기 메모리에 저장된 제1 운영체제와 파일을 삭제하고, 제2 운영체제와, 상기 운영체제 제공장치에 전송된 파 일 중에 적어도 상기 제2 운영체제에서 실행 가능한 파일을 상기 운영체제 제공장치로부터 수신하는 단계; 를 포함하는 것을 특징으로 하는 다중 운영체제 지원방법. 청구항 16 제 15 항에 있어서, 상기 분석된 파일을 상기 메모리에 저장된 파일분류 기준정보와 비교하여 분류하는 단계는, 파일을 상기 파일분류 기준정보에 따라 운영체제의 종류에 관계없이 실행되는 파일과, 운영체제에 따라 종속적 으로 실행되고 파일 형식이 변경되지 않는 파일과, 운영체제에 따라 종속적으로 실행되고 파일 형식이 변경 가 능한 파일과, 그 외의 파일로 분류하는 것을 특징으로 하는 다중 운영체제 지원방법. 청구항 17-4 -
제 15 항에 있어서, 상기 분류된 파일을 대상으로 각 파일 마다 어느 운영체제를 기반하여 실행될 수 있는 파일인지를 알 수 있는 파일 태그를 생성하는 단계; 및 상기 분류된 파일을 상기 운영체제 제공장치에 전송 시에 상기 생성된 파일 태그를 함께 상기 운영체제 제공장 치에 전송하는 단계; 를 더 포함하는 것을 특징으로 하는 다중 운영체제 지원방법. 청구항 18 삭제 청구항 19 제 15 항에 있어서, 상기 수신하는 단계는, 상기 클라이언트 단말 내 비휘발성 메모리의 데이터 영역과 운영체제 영역을 포맷하는 단계; 상기 운영체제 제공장치로부터 제2 운영체제를 다운로드 받아 이를 상기 클라이언트 단말 내 휘발성 메모리의 버퍼영역에 복사하는 단계; 및 상기 휘발성 메모리의 버퍼영역에 복사된 제2 운영체제를, 상기 포맷된 비휘발성 메모리의 운영체제 영역에 설 치하는 단계; 를 포함하는 것을 특징으로 하는 다중 운영체제 지원방법. 청구항 20 제 15 항에 있어서, 상기 수신하는 단계는, 상기 운영체제 제공장치로부터 제2 운영체제를 다운로드 받아 이를 휘발성 메모리의 버퍼영역에 복사하는 단계; 상기 클라이언트 단말 내 비휘발성 메모리의 데이터 영역과 운영체제 영역을 포맷하는 단계; 및 상기 휘발성 메모리의 버퍼영역에 복사된 제2 운영체제를, 상기 포맷된 비휘발성 메모리의 운영체제 영역에 설 치하는 단계; 를 포함하는 것을 특징으로 하는 다중 운영체제 지원방법. 청구항 21 제 15 항에 있어서, 상기 수신하는 단계는, 상기 운영체제 제공장치로부터 제2 운영체제를 다운로드 받아 이를 휘발성 메모리의 버퍼영역에 복사하는 단계; 상기 휘발성 메모리의 버퍼영역에 복사된 제2 운영체제를 비휘발성 메모리의 데이터 영역 내 소정의 영역에 저 장하는 단계; 상기 비휘발성 메모리의 운영체제 영역을 포맷하는 단계; 상기 비휘발성 메모리의 데이터 영역 내 소정의 영역에 저장된 제2 운영체제를, 상기 포맷된 비휘발성 메모리의 운영체제 영역에 설치하는 단계; 및 상기 비휘발성 메모리의 데이터 영역을 포맷하는 단계; 를 포함하는 것을 특징으로 하는 다중 운영체제 지원방법. 명 세 서 [0001] 기 술 분 야 본 발명의 일 양상은 운영체제 운용기술 및 데이터 관리기술에 관한 것이다. - 5 -
[0002] [0003] [0004] 배 경 기 술 운영체제(Operating System: 이하 'OS'라 칭함)는 장치를 구별하는 가장 큰 요소 중 하나이다. 특히 작은 컴퓨 터로 불릴 정도로 다양한 작업을 처리해야 하는 스마트폰이나 스마트 패드와 같은 휴대용 다기능 디바이스에 있 어서, 외관 디자인과 더불어 어떤 OS를 탑재했는가가 제품 선택에 중요한 부분을 차지한다. 하나의 장치에 여러 개의 OS가 탑재된 다중 운영체제(multiple Operating System: 이하 '다중 OS'라 칭함) 기 술이 적용 가능하다. 다중 OS가 탑재된 장치는 다중 OS를 운영하기 위한 부팅관리 영역이 OS별로 물리적으로 서로 다른 영역에 형성된다. 또한, 데이터를 포함한 파일은 OS에 종속적인데, 각 OS마다 파일 시스템 구성이 상이하고 프로그램 실행기술도 상이하다. 따라서 각 OS들은 물리적으로 구분되어야 하며, 구분되었다고 할지라 도 각 OS에 기반한 파일만 활성화된다. 결국 하나의 OS가 실행되고 있을 때 다른 OS 기반 파일은 사용될 수 없 다. 다중 OS 기술 적용 시에 장치의 메모리 상에는 각 OS와 OS를 운용하기 위한 자원이 미리 저장되어 있어야 한다. PC와 같이 정형화된 프로세서와 하드웨어로 구성되는 시스템에서는 OS를 운용하기 위한 자원이 많이 필요하지 않으나, 휴대용 단말과 같이 하드웨어 구성이 다양한 시스템에서는 매우 많은 자원이 필요하게 된다. 특히, 다 양한 기능을 수행해야 하는 휴대용 다기능 디바이스에 있어서 다중 OS 운영을 위해 사용 가능한 자원은 더 한정 되게 된다. 발명의 내용 [0005] 해결하려는 과제 일 양상에 따라, 제한된 자원을 가지는 단말이 OS 제공장치의 자원을 이용하여 다중 운영체제를 지원받고, 파일 을 관리할 수 있는 기술을 제안한다. [0006] [0007] 과제의 해결 수단 일 양상에 따른 클라이언트 단말은, 제1 운영체제와 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리와, 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 메모리를 포맷하며, 운영체제 제공장치로부터 제2 운영 체제와 함께 제1 운영체제 하에서 사용되던 파일 중 적어도 제2 운영체제에서 실행 가능한 파일을 수신하는 프 로세서를 포함한다. 다른 양상에 따른 클라이언트 단말의 다중 운영체제 지원방법은, 클라이언트 단말의 메모리에 저장된 파일을 분 석하고, 분석된 파일을 메모리에 저장된 파일분류 기준정보와 비교하여 분류하는 단계와, 분류된 파일을 OS 제 공장치에 전송하는 단계와, 제2 운영체제와, 운영체제 제공장치에 전송된 파일 중에 적어도 제2 운영체제에서 실행 가능한 파일을 운영체제 제공장치로부터 수신하는 단계를 포함한다. [0008] 발명의 효과 일 실시예에 따르면, 하드웨어 자원과 개발비용의 한계로 인해서 다중 OS를 운영하기 어려운 클라이언트 단말에 있어서, 사용자가 제1 OS를 기반으로 동작되는 클라이언트 단말을 제2 OS 기반으로 사용하고자 제 1OS를 제2 OS 로 변경하는 경우, 제1 OS에서 사용했던 데이터는 변경된 제2 OS 상에서는 사용할 수가 없게 되는 비효율성 문 제를 해결하여, OS 변경 시 제1 OS를 기반으로 사용자가 사용했던 파일들 중에서 제2 OS를 기반으로 운영되는 파일들을 재사용할 수 있다. 특히, 본 발명은 가상화를 지원하지 않는 클라이언트 단말이나 하나의 운영체제를 운영하는 일반적인 클라이언트 단말에 적용될 수 있다. [0009] 도면의 간단한 설명 도 1은 본 발명의 일 실시예에 따른 클라이언트 단말과 OS 제공장치를 도시한 참조도, 도 2는 본 발명의 일 실시예에 따른 클라이언트 단말의 구성도, 도 3은 본 발명의 일 실시예에 따른 클라이언트 단말 내 메모리에 저장되는 파일분류 기준정보를 설명하기 위한 데이터 영역 구조도, 도 4는 본 발명의 일 실시예에 따른 프로세서의 세부 구성도, - 6 -
도 5는 본 발명의 일 실시예에 따라 제2 OS 설치 이벤트 발생 시에 클라이언트 단말이 OS 제공장치에 파일을 전 송하는 프로세스를 설명하기 위한 프로세서 구성도, 도 6은 본 발명의 일 실시예에 따라 클라이언트 단말이 OS 제공장치로부터 OS와 파일을 전송받는 프로세스를 설 명하기 위한 프로세서 구성도, 도 7은 본 발명의 일 실시예에 따른 다중 OS 지원방법을 도시한 흐름도, 도 8은 본 발명의 일 실시예에 따라 제2 OS 설치 이벤트가 표시되는 클라이언트 단말의 화면을 도시한 참조도, 도 9는 본 발명의 일 실시예에 따라 클라이언트 단말의 화면에 표시되는 제2 OS 정보를 도시한 참조도, 도 10은 본 발명의 일 실시예에 따라 파일 분석부의 파일 탐색 및 파일 파싱 프로세스를 도시한 흐름도, 도 11은 본 발명의 일 실시예에 따라 클라이언트 단말의 파일 파싱 동작 수행을 위한 소프트웨어 및 하드웨어 구성을 도시한 참조도, 도 12는 본 발명의 일 실시예에 따라 다중 OS 지원을 위해 클라이언트 단말과 OS 제공장치 간의 통신 프로세스 를 도시한 흐름도, 도 13a 및 도 13c는 본 발명의 다양한 실시예에 따라 클라이언트 단말이 OS 제공장치로부터 제2 OS를 다운로드 받아 설치하는 프로세스를 설명하기 위한 참조도, 도 14는 본 발명의 일 실시예에 따라 클라이언트 단말이 OS 제공장치에 파일을 백업하는 프로세스를 설명하기 위한 참조도, 도 15는 본 발명의 일 실시예에 따라 클라이언트 단말이 OS 제공장치에 백업해 둔 파일을 불러와 클라이언트 단 말에 복원하는 프로세스를 설명하기 위한 참조도, 도 16은 본 발명의 일 실시예에 따라 OS 제공장치의 저장공간을 도시한 참조도, 도 17은 본 발명의 일 실시예에 따라 클라이언트 단말의 메모리 내 부팅관리 영역의 기능을 설명하기 위한 참조 도, 도 18은 본 발명의 다른 실시예에 따른 다중 OS 지원방법을 도시한 흐름도이다. [0010] [0011] [0012] [0013] 발명을 실시하기 위한 구체적인 내용 이하에서는 첨부한 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 도 1은 본 발명의 일 실시예에 따른 클라이언트 단말(1)과 운영체제 제공장치 (2)를 도시한 참조도이다. 운영체제 제공장치(이하 'OS 제공장치'라 칭함)(2)는 클라이언트 단말(1)에 OS를 제공할 수 있는 모든 전자장치 를 총칭한다. 예를 들어, OS 제공장치(2)는 개인용 데스크탑이나 노트북 일 수 있다. 또는 운영체제 제공장치 (2)는 서버일 수 있는데, 특히 클라우드 서버(cloud server)일 수 있다. 이하, 본 발명의 일 실시예에 따라 클라우드 서버 형태인 OS 제공장치(2)에 대해 설명하면, OS 제공장치(2)는 클라이언트 단말(1)에 클라우드 컴퓨팅 서비스를 제공하는 서버로서, 클라이언트 단말(1)이 요청하는 컴퓨팅 자 원을 인터넷을 통해 제공해준다. 여기서 컴퓨팅은 데이터 저장, 데이터 처리, 네트워크 사용 등 클라이언트 단 말(1)에서 동작되는 일련의 프로세스 처리를 말한다. 클라우드 컴퓨팅은 인터넷 기반의 컴퓨팅 기술을 의미한 다. 컴퓨터 네트워크 구성도에서 인터넷은 구름으로 표현되며, 이는 숨겨진 복잡한 인프라 구조를 의미한다. 클라우드 컴퓨팅은 IT와 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일이다. 사용자는 클라우드 컴퓨 팅을 이용하여 인터넷을 통해 언제 어디서나 자신이 원하는 컴퓨팅 자원을 제공받을 수 있다. 컴퓨팅 자원은 통상적으로 대량의 데이터 센터와 같이 별도의 자원 제공자에 의해 관리되며, 그 대상은 CPU 능력, 메모리, 스 토리지와 같은 하드웨어 자원이거나 개발 플랫폼, 응용 프로그램 등이 될 수 있다. 컴퓨팅 능력을 클라이언트 단말(1)에서 이용하기 위해 자원 제공자가 제공하는 서비스를 클라우드 컴퓨팅 서비스라고 한다. - 7 -
[0014] [0015] [0016] [0017] [0018] [0019] [0020] [0021] [0022] [0023] [0024] [0025] [0026] 클라이언트 단말(1)은 소정의 OS 상에서 운용되며, OS 제공장치(2)로부터 OS를 추가로 제공받을 수 있는 사용자 단말이다. 클라이언트 단말(1)은 OS 제공장치(2)와 통신 가능한 단말 장치로서, 휴대 전화, PDA, PMP, MP3 플 레이어, 디지털 카메라 등 각종 형태의 장치 등일 수 있다. 클라이언트 단말(1)은 주로 컴퓨팅 능력이 부족한 휴대용 장치들일 수 있다. 특히 클라이언트 단말(1)은 스마트폰, 스마트 패드 등 휴대용 다기능 디바이스 (portable multi function device)일 수 있다. 본 발명에 따르면, 클라이언트 단말(1)에는 제1 운영체제(이하 '제1 OS'라 칭함)가 저장되어 제1 OS를 기반으로 동작하고, OS 제공장치(2)에는 제2 운영체제(이하 '제2 OS'라 칭함)가 저장된다. 제2 OS는 다수 개일 수 있다. 본 발명은 클라이언트 단말(1)이 자원의 한정 또는 개발의 어려움으로 인해 다수의 OS를 운용하기 어려워서 불 가피하게 하나의 OS를 갖는 환경을 전제로 한다. 사용자가 제1 OS를 기반으로 동작되는 클라이언트 단말(1)을 제2 OS 기반으로 사용하고자 제 1OS를 제2 OS로 변 경하는 경우, 일반적으로 제1 OS에서 사용되는 데이터는 삭제되어 버리기 때문에 제1 OS에서 사용했던 데이터는 변경된 제2 OS 상에서는 사용할 수가 없게 된다. 따라서, 본 발명은 OS 변경 때문에 사용자가 그 전에 사용했 던 데이터를 사용할 수 없게 되는 문제를 해결하기 위해, 클라이언트 단말(1)의 제1 OS 상에서 사용되던 파일을 OS 제공장치(2)에 백업한 이후, OS 제공장치(2)로부터 백업 파일 중에 제2 OS에서 실행 가능한 파일과 제2 OS를 제공받는다. 이에 따라, 사용자는 OS 변경 시 제1 OS를 기반으로 사용자가 사용했던 파일들 중에서 제2 OS를 기반으로 운영되는 파일들은 재사용할 수 있게 된다. 클라이언트 단말(1)과 OS 제공장치(2) 간의 데이터 교환은 클라이언트 단말(1)의 모뎀, WLAN, RF 블럭과, USB 등의 주변장치와, 시스템 메모리의 프로세서들에서 처리하는 유무선 통신 프로토콜과 TCP/IP와 같은 인터넷 프 로토콜을 통해 수행될 수 있다. 도 2는 본 발명의 일 실시예에 따른 클라이언트 단말(1)의 구성도이다. 클라이언트 단말(1)은 메모리(10), 프로세서(12) 및 사용자 인터페이스(14)를 포함한다. 도 2에 도시된 클라이언트 단말(1)의 구성은 본 발명의 실시예를 설명하기 위하여 필수적인 구성요소만을 개략 적으로 도시한 것이다. 따라서 클라이언트 단말(1)의 동작을 위하여 필수적인 다른 기능을 수행하기 위한 구성 요소들이 추가로 클라이언트 단말(1)에 포함될 수도 있다. 이때, 추가되는 구성요소들은 클라이언트 단말(1)의 종류나 기능 등에 따라서 달라질 수 있다. 메모리(10)는 부팅관리 영역(100)과 OS 영역(102) 및 데이터 영역(104)을 포함한다. 부팅관리 영역(100)과 OS 영역(102) 및 데이터 영역(104)은 플래시(flash)와 같은 비휘발성 메모리에 형성될 수 있다. 부팅관리 영역(100)은 부트로더, 바이오스 등으로도 불린다. 부팅관리 영역(100)은 클라이언트 단말(1) 시스템 을 초기화하고, 사용자가 클라이언트 단말(1)을 부팅할 때에 OS를 로드하고 가동시킨다. 부팅관리 영역(100)의 기능에 대해서는 도 17에서 더 상세히 후술한다. OS 영역(102)에는 하나의 OS가 존재한다. 예를 들면, 구글의 안드로이드, MS의 윈도우 모바일, 애플의 ios 중 하나일 수 있다. 하나의 OS로 한정하는 이유는 클라이언트 단말(1)이 PC 등과 달리 다수의 OS 운용을 위해서는 많은 자원이 필요하게 되는 등 운용능력이 PC 등에 비해 떨어지기 때문이다. 데이터 영역(104)에는 파일이 저장된다. 파일은 어플리케이션과 같은 프로그램의 실행을 제어하는 실행파일과, 음악, 동영상, 이미지, 문서 등과 같은 멀티미디어 관련 파일을 총칭한다. 예를 들면, 파일은 MS Window CE, Window Mobile과 같은 임베디드 OS에서는 *.EXE 이름을 가지는 애플리케이션 실행파일이 될 수 있다. 또는 안 드로이드와 같은 임베디드 OS에서는 *.APK 이름을 가지는 애플리케이션 실행파일이 될 수 있다. 파일은 클라이 언트 단말(1) 부팅 시 RAM과 같은 XIP(Execute in Place) 메모리에 로드되고 실행될 수 있다. 사용자는 OS 영 역(102)에 설치된 제1 OS를 사용하면서 파일들을 생성할 수 있다. 일 실시예에 따르면, 데이터 영역(104)에는 파일이 어느 OS에서 실행 가능한지를 알 수 있는 파일분류 기준정보 가 저장된 DB가 포함된다. 데이터 영역(104)의 DB에 저장되는 파일분류 기준정보에 대한 상세한 설명은 도 3에 서 후술한다. 프로세서(12)는 클라이언트 단말(1)의 동작에 필요한 전반적인 관리 및 제어 기능을 수행한다. 본 발명의 프로 세서(12)는 메모리(10)에 저장된 파일을 OS 제공장치(2)로 백업한 후 메모리(10)의 OS 영역(102)과 데이터 영역 (104)을 포맷한다. 그리고, 사용자가 요청한 제2 OS를 OS 제공장치(2)로부터 제공받아 이를 메모리(10)의 OS 영역(102)에 설치하며, OS 제공장치(2)로부터 제2 OS 상에서 실행 가능한 파일을 제공받아 사용자가 제2 OS를 - 8 -
기반으로 사용할 수 있게 한다. 일 실시예에 따르면, 프로세서(12)는 메모리(10)에 저장된 파일분류 기준정보 에 따라 파일을 분류하고, 분류된 파일을 OS 제공장치(2)로 백업한다. 프로세서(12)의 세부구성은 도 4 내지 도 6에서 상세히 후술한다. [0027] [0028] [0029] [0030] [0031] [0032] [0033] [0034] [0035] [0036] 사용자 인터페이스(14)는 사용자와 클라이언트 단말(1)의 인터렉션(interaction)을 위한 입출력 수단이다. 사 용자는 사용자 인터페이스(14)를 통해 제2 OS 설치명령을 포함하는 명령이나 데이터를 클라이언트 단말(1)로 입 력할 수 있으며, 클라이언트 단말(1)은 사용자 인터페이스(14)를 통해 정보나 데이터 등을 사용자에게 출력할 수 있다. 클라이언트 단말(1)이 사용자 인터페이스(14)를 통해 사용자로부터 제2 OS 설치명령을 수신하면, 프로세서(12) 는 사용자 인터페이스(14)를 통해 클라이언트 단말(1)이 OS 제공장치(2)에 접속하기 위한 개인 계정정보를 사용 자에게 요청할 수 있다. 이 경우, 사용자로부터 개인 계정정보를 입력받아 OS 제공장치(2)에 접근한다. 제2 OS 설치 이벤트 실시예는 도 8을 통해 후술한다. 도 3은 본 발명의 일 실시예에 따른 클라이언트 단말(1) 내 메모리(10)에 저장되는 파일분류 기준정보를 설명하 기 위한 데이터 영역(104) 구조도이다. 일 실시예에 따르면, 클라이언트 단말(1) 사용자가 제1 OS에서 제2 OS로 OS를 변경하는 경우, 제1 OS를 기반으 로 사용자가 사용했던 파일들 중에서 제2 OS를 기반으로 운영되는 파일들을 재사용할 수 있도록 하기 위해서, 제1 OS 상에서 사용자에 의해 사용되던 파일들을 분류한다. 파일 분류를 위해, 메모리(10)의 데이터 영역(104) 내 데이터베이스(104a)에 파일분류 기준정보가 저장될 수 있다. 파일분류 기준정보는 클라이언트 단말(1) 내 파일이 어느 OS에서 실행 가능한지를 알 수 있는 정보이다. 일 실시예에 따르면, 파일분류 기준정보는 OS의 종 류에 관계없이 실행되는 파일(1042)과, OS에 따라 종속적으로 실행되고 파일 형식이 변경되지 않는 파일(1044) 과, OS에 따라 종속적으로 실행되고 파일 형식이 변경 가능한 파일(1046)과, 그 외의 파일(1048)로 분류하기 위 한 정보이다. OS의 종류에 관계없이 실행되는 파일(1042)은 어느 OS에서도 실행 가능한 파일로서, 예를 들면, *.avi, *.mp4 등의 확장자를 갖는 컨텐츠 파일이다. OS에 따라 종속적으로 실행되고 파일 형식이 변경되지 않는 파일(1044) 은 특정 OS 하에서만 실행 가능한 파일로서, 예를 들면, 애플의 ios에서 실행되는 파일, MS의 모바일 OS에서 실 행되는 파일, 안드로이드에서 실행되는 파일이다. OS에 따라 종속적으로 실행되고 파일 형식이 변경 가능한 파 일(1046)은 특정 OS 하에서 실행 가능하되, 포맷 변경을 통해 다른 OS에서도 실행 가능한 파일이다. 즉, 해당 파일은 현재는 특정 OS에서 실행될 수 없는 상태이지만, 변환 툴(conversion tool)을 이용하여 파일을 변환하면 특정 OS에서도 실행 가능한 파일이다. 전술한 바와 같이 파일을 OS 종속 여부에 따라 분류함에 따라 각 OS 기 반에서 운용되는 파일을 효율적으로 관리할 수 있다. 전술한 파일 분류 기준에 따라 파일을 분류하고 OS 제공장치에 파일 백업 후 OS 제공장치로부터 제2 OS 에서 실행 가능한 파일을 제공받고 OS를 제1 OS에서 제2 OS로 변경하는 경우, 제1 OS 상에서 사용자가 사용했던 파일 중에서, 제2 OS에서 실행 가능한 파일, 예를 들어, OS의 종류에 관계없이 실행되는 파일과, 제2 OS에서 실 행되는 파일과, 현재 제2 OS에서 실행될 수 없는 상태이지만, 변환 툴을 이용하여 파일을 변환하면 제2 OS에서 도 실행 가능한 파일들은 사용자가 재사용할 수 있게 된다. 도 4는 본 발명의 일 실시예에 따른 프로세서(12)의 세부 구성도이다. 프로세서(12)는 파일 분석부(120), 데이터베이스 비교부(122), 파일 태그 생성 및 분석부(124), 운영체제 및 파 일 처리부(126), 네트워크 통신부(128)를 포함한다. 일 실시예에 따르면, 네트워크 통신부(128)는 클라이언트 단말(1)이 OS 제공장치(2)에 접속하기 위한 통신기능 을 제공한다. 그리고, 클라이언트 단말(1)에 설치할 제2 OS 정보를 OS 제공장치(2)로부터 수집할 수 있다. 제 2 OS 정보 수집을 위해 네트워크 통신부(128)는 OS 제공장치(2)에 OS 정보 요청 메시지를 전송하고, OS 제공장 치(2)로부터 이에 대한 응답 메시지를 수신함에 따라, 응답 메시지를 통해 OS 제공장치(2)에 있는 제2 OS 정보 를 확인할 수 있다. 네트워크 통신부(128)를 통해 수집된 제2 OS 정보는 사용자 인터페이스(14)를 통해 화면에 디스플레이될 수 있는데, 이에 대한 실시예는 도 9에서 후술한다. 프로세서(12)는 제2 OS 설치 이전에 메모리(10)에 저장된 파일들을 OS 제공장치(2)에 백업한다. 일 실시예에 따르면, 프로세서(12)는 데이터베이스 비교부(이하 'DB 비교부'라 칭함)(122)를 통해 메모리(10)에 저장된 파일 들을 파일분류 기준정보에 따라 분류한 후, 네트워크 통신부(128)를 통해 분류된 파일을 전송한다. 다른 실시 예에 따르면, 프로세서(12)는 DB 비교부(122)를 통한 파일 분류 없이 파일들을 네트워크 통신부(128)를 통해 OS - 9 -
제공장치(2)에 백업한 후, OS 제공장치(2)가 파일들을 분류하면, OS 제공장치(2)로부터 분류된 파일을 전송받는 다. [0037] [0038] [0039] [0040] [0041] [0042] [0043] [0044] [0045] [0046] [0047] [0048] 네트워크 통신부(128)는 파일분류 기준정보에 따라 분류된 파일을 OS 제공장치(2)에 전송하거나 OS 제공장치 (2)로부터 제2 OS에서 실행 가능한 파일을 전송받는다. 클라이언트 단말(1)의 메모리(10)에 저장된 파일은 OS 에 관계없이 실행되는 파일, OS에 종속적으로 실행되는 파일, OS에 종속적으로 실행되는 파일 중 파일 포맷 변 경 후 제2 OS에서 사용될 수 있는 파일 그룹 등으로 분류된다. 네트워크 통신부(128)는 OS 제공장치(2)에 파일분류 기준정보에 따라 분류된 파일을 전송할 수 있는데, OS 제공 장치(2)의 저장공간에서도 파일분류 기준정보에 따라 분류될 수 있다. 예를 들어, OS에 관계없이 실행되는 파 일은 예를 들면 *.AVI, *.JPG 등의 컨텐츠 파일일 수 있는데, OS 제공장치(2)의 저장공간에서도 동일한 그룹인 OS에 관계없이 실행되는 파일영역에 전송되어 저장될 수 있다. 전술한 바와 같이, OS 제공장치(2)에서도 파일 을 구분함에 따라, 나중에 클라이언트 단말(1)에서 이 정보를 이용하여 해당하는 파일을 다운로드 받거나 분류 할 수 있다. 일 실시예에 따르면, 네트워크 통신부(128)는 OS 제공장치(2)로 모든 파일을 백업한 이후, OS 제공장치(2)로부 터 제2 OS를 다운로드 받는다. 제2 OS를 다운로드 받기 위해, 네트워크 통신부(128)는 OS 요청 메시지를 OS 제 공장치(2)에 전송하고, OS 제공장치(2)로부터 제2 OS를 전송받을 수 있다. 한편, 파일 분석부(120)는 메모리(10)에서 파일을 탐색한다. 파일탐색 결과, 메모리(10)에 파일이 존재하는 경 우, 파일 분석부(120)는 파일의 확장자를 파싱(parsing)하여 파일이 어떤 파일인지를 확인할 수 있다. 파일 확 장자 파싱의 예를 들면, 확장자 앞에 있는. 를 검출하여 확장자를 확인할 수 있다. 파일 분석부(120)의 파 일존재 여부 확인 프로세스와 파일 파싱 프로세스에 대한 실시예는 도 10 및 도 11에서 후술한다. 파일 분석부(120)는 메모리(10)로부터 탐색한 파일이 어느 OS에서 실행되는 파일인지를 확인하기 위해 DB 비교 부(122)에 DB 비교 요청 메시지를 전송하여 응답 메시지를 수신한다. 이때, 파일 분석부(120)는 파일의 확장자 를 DB 비교부(122)에 전송할 수 있다. DB 또한 하나의 프로세스로 구현된다면 파일 분석부(120)와 DB 비교부(122) 간은 파이프, IPC 등의 통신 수단으 로 연결될 수 있다. DB가 단지 메모리 상의 데이터만 가지고 있는 영역으로 만들어진다면 포인터 등의 메모리 접근 방법으로 구현할 수 있다. DB 비교부(122)는 파일 분석부(120)로부터 수신한 파일과 메모리(10)의 데이터 영역 DB에 저장된 파일분류 기준 정보를 비교하여, 해당 파일이 어느 분류기준에 해당하는지를 확인한다. 즉, 파일 분석부(120)로부터 수신한 파일이 운영체제의 종류에 관계없이 실행되는 파일과, 운영체제에 따라 종속적으로 실행되고 파일 형식이 변경 되지 않는 파일과, 운영체제에 따라 종속적으로 실행되고 파일 형식이 변경 가능한 파일과, 그 외의 파일 중 어 느 파일에 해당하는지를 확인한다. 일 실시예에 따르면, DB 비교부(122)가 파일 분석부(120)로부터 분석한 파일이 DB의 파일분류 기준정보에 따라 어느 파일로 분류되는지를 확인하면, 파일 태그 생성 및 분석부(124)가 해당 파일이 어느 파일로 분류되는지를 확인할 수 있는 파일 태그(file tag)를 생성한다. 생성된 파일 태그는 네트워크 통신부(128)를 통해 OS 제공장 치(2)에 파일과 함께 전송된다. 일 실시예에 따르면, 파일 태그 생성 및 분석부(124)는 OS 제공장치(2)로부터 파일 태그를 수신할 경우, 파일 태그를 분석하여 OS 제공장치(2)로부터 수신한 파일이 파일분류 기준정보에 따라 어느 파일로 분류되는지를 확 인한다. 한편, OS 및 파일 처리부(126)는 제2 OS를 설치하기 위해서 클라이언트 단말(1) 내 비휘발성 메모리의 OS 영역 과 데이터 영역을 소거한다. 네트워크 통신부(128)를 통해 OS 제공장치(2)로부터 제2 OS를 다운로드 받으면, OS 및 파일 처리부(126)는 다운로드 받은 제2 OS를 클라이언트 단말(1)의 휘발성 메모리로 가져온 후, 이를 비 휘발성 메모리에 설치할 수 있다. 또한, 네트워크 통신부(128)를 통해 OS 제공장치(2)로부터 파일을 다운로드 받으면, OS 및 파일 처리부(126)는 파일 태그 생성 및 분석부(124)의 태그 분석 결과에 따라 파일을 분류하여 메모리(10)의 데이터 영역에 저장할 수 있다. 전술한 바와 같이 OS 및 파일 처리부(126)가 OS와 파일을 다운로드 받은 후, 클라이언트 단말(1)이 재부팅되면, 클라이언트 단말(1)은 제2 OS 상에서 운용되는 시스템으로 변경되게 된다. 도 5는 본 발명의 일 실시예에 따라 제2 OS 설치 이벤트 발생 시에 클라이언트 단말(1)이 OS 제공장치(2)에 파 - 10 -
일을 전송하는 프로세스를 설명하기 위한 프로세서(12) 구성도이다. [0049] [0050] [0051] [0052] [0053] [0054] [0055] [0056] [0057] [0058] [0059] [0060] [0061] [0062] 일 실시예에 따르면, 제2 OS 설치 이벤트가 발생하면, 클라이언트 단말(1)의 네트워크 통신부(128)는 OS 제공장 치(2)에 접속하여 OS 제공장치(2)로부터 클라이언트 단말(1)에 설치할 제2 OS 정보를 수집한다. 이때, 클라이 언트 단말(1)은 수집한 제2 OS 정보를 사용자 인터페이스(도 2의 14)를 통해 화면에 표시할 수 있다. 이어서, 파일 분석부(120)는 메모리(10)에 저장된 파일을 분석하고, DB 비교부(122)가 파일 분석부(120)를 통해 분석된 파일을, 메모리(10)의 DB(104a)에 저장된 파일분류 기준정보와 비교한다. 파일 분석부(120)는 비교를 통해 파일을 OS의 종류에 관계없이 실행되는 파일과, OS에 따라 종속적으로 실행되고 파일 형식이 변경되지 않 는 파일과, OS에 따라 종속적으로 실행되고 파일 형식이 변경 가능한 파일과, 그 외의 파일로 분류할 수 있다. 이어서, 파일 태그 생성 및 분석부(124)는 DB 비교부(122)가 분류한 파일들을 대상으로 각 파일 마다 어느 OS를 기반하여 실행될 수 있는 파일인지를 알 수 있는 파일 태그를 생성할 수 있다. 이 파일 태그는 OS 및 파일 처 리부(126)로 전송된다. OS 및 파일 처리부(126)는 파일 태그 생성 및 분석부(124)로부터 파일 태그를 수신하고, 메모리(10)로부터 파일 을 수신한 후, 수신한 파일과 파일 태그를 백업을 위해 네트워크 통신부(128)를 통해 OS 제공장치(2)에 전송한 다. 이때, 네트워크 통신부(128)는 파일과 파일 태그 전송을 위해 TCP/IP와 같은 인터넷 프로토콜을 이용할 수 있다. 도 6은 본 발명의 일 실시예에 따라 클라이언트 단말(1)이 OS 제공장치(2)로부터 OS와 파일을 전송받는 프로세 스를 설명하기 위한 프로세서(12) 구성도이다. 클라이언트 단말(1)은 네트워크 통신부(128)를 통해 OS 제공장치(2)로부터 제2 OS와 제2 OS에서 실행 가능한 파 일을 전송받는다. 제2 OS에서 실행 가능한 파일은 예를 들어, OS의 종류에 관계없이 실행되는 파일과, 제2 OS 에서 실행되는 파일과, 현재 제2 OS에서 실행될 수 없는 상태이지만, 변환 툴을 이용하여 파일을 변환하면 제2 OS에서도 실행 가능한 파일을 OS 제공장치(2)로부터 제공받는다. 이때, OS 제공장치(2)로부터 파일 태그를 함께 전송받아, 파일 태그 생성 및 분석부(124)를 통해 파일이 어느 OS를 기반하여 실행될 수 있는 파일인지를 검증할 수 있다. 이어서, OS 및 파일 처리부(126)는 OS 또는 태그 정보를 제외한 파일 데이터를 메모리(10)에 저장한다. 도 7은 본 발명의 일 실시예에 따른 다중 OS 지원방법을 도시한 흐름도이다. 클라이언트 단말(1)은 제2 OS 설치 이벤트가 발생하면, OS 제공장치(2)에 접속하여 OS 제공장치(2)로부터 클라 이언트 단말(1)에 설치할 제2 OS 정보를 수집한다(700). 이어서, 클라이언트 단말(1)은 메모리(10)에 저장된 파일을 분석하고, 분석된 파일을, 메모리(10)의 DB에 저장 된 파일분류 기준정보와 비교한다(710). 이때, 클라이언트 단말(1)은 비교를 통해 파일을 OS의 종류에 관계없 이 실행되는 파일과, OS에 따라 종속적으로 실행되고 파일 형식이 변경되지 않는 파일과, OS에 따라 종속적으로 실행되고 파일 형식이 변경 가능한 파일과, 그 외의 파일로 분류할 수 있다. 이어서, 클라이언트 단말(1)은 분류된 파일들을 대상으로 각 파일 마다 어느 OS를 기반하여 실행될 수 있는 파 일인지를 알 수 있는 파일 태그를 생성한다(720). 그리고, 파일과 파일 태그를 OS 제공장치(2)에 전송하여 OS 제공장치(2)에 저장한다(730). 전술한 프로세스는 데이터 영역 내 저장된 모든 파일을 OS 제공장치(2)에 전송 할 때까지 반복 수행된다(740). 이어서, 클라이언트 단말(1)은 제2 OS를 설치하기 위해 메모리(10)의 데이터 영역과 OS 영역을 포맷한다(750). 그리고, OS 제공장치(2)로부터 제2 OS를 제공받아 포맷된 OS 영역에 설치(760)한 후, OS 제공장치(2)로부터 제2 OS에서 실행될 수 있는 파일과 파일 태그를 전송받는다(770). 이때, 파일이 어느 OS를 기반하여 실행될 수 있 는 파일인지 다시 한 번 검증할 수 있다. 이어서, 클라이언트 단말(1)이 재부팅되면, 클라이언트 단말(1)은 제 2 OS 상에서 운용되는 시스템으로 변경된다(780). 도 8은 본 발명의 일 실시예에 따라 제2 OS 설치 이벤트가 표시되는 클라이언트 단말(1)의 화면을 도시한 참조 도이다. 도 8을 참조하면, 클라이언트 단말(1)은 사용자 인터페이스(14)를 통해 사용자에게 제2 OS 설치 이벤트 실행을 위한 그래픽 사용자 인터페이스(GUI)를 제공할 수 있다. 이때, 사용자가 제2 OS 설치 이벤트 실행명령을 내리 면, 클라이언트 단말(1)은 사용자 인터페이스(14)를 통해 클라이언트 단말(1)이 OS 제공장치(2)에 접속하기 위 - 11 -
한 개인 계정정보를 사용자에게 요청할 수 있다. 이 경우, 사용자로부터 개인 계정정보를 입력받아 OS 제공장 치(2)에 접근할 수 있다. [0063] [0064] [0065] [0066] [0067] [0068] [0069] [0070] [0071] [0072] [0073] 도 9는 본 발명의 일 실시예에 따라 클라이언트 단말(1)의 화면에 표시되는 제2 OS 정보를 도시한 참조도이다. 클라이언트 단말(1)은 클라이언트 단말(1)에 설치할 제2 OS 정보를 OS 제공장치(2)로부터 수집한다. 이를 위해 클라이언트 단말(1)은 네트워크 통신부(128)를 통해 OS 제공장치(2)에 OS 정보 요청 메시지를 전송하고, OS 제 공장치(2)로부터 이에 대한 응답 메시지를 수신함에 따라, 응답 메시지를 통해 OS 제공장치(2)에 있는 제2 OS 정보를 확인할 수 있다. 제2 OS 정보는 사용자 인터페이스(14)를 통해 화면에 디스플레이될 수 있다. 예를 들 면, 도 9에 도시된 바와 같이 OS 제공장치(2)에 저장된 제2 OS인 윈도우 모바일, 안드로이드, ios 등이 화면에 디스플레이된다. 도 10은 본 발명의 일 실시예에 따라 파일 분석부(120)의 파일 탐색 및 파일 파싱 프로세스를 도시한 흐름도이 다. 파일 분석부(120)는 메모리(10)에서 파일을 탐색한다. 우선, 메모리(10)에 폴더가 존재하는지 여부를 탐색 (1000)하여, 폴더가 존재하면 폴더 내 파일이 존재하는지 여부를 탐색한다(1010). 폴더 내 파일이 존재하거나, 폴더는 아니지만 파일이 존재하는 경우, 파일 분석부(120)는 파일 또는 폴더 목록을 작성(1020)하고, 파일의 확 장자를 파싱하여 파일이 어떤 파일인지를 확인한다(1030). 파일 확장자 파싱의 예를 들면, 확장자 앞에 있는. 를 검출하여 확장자를 확인할 수 있다. 전술한 프로세스는 모든 폴더와 폴더 내 파일을 탐색할 때까 지 반복 수행된다(1040). 도 11은 본 발명의 일 실시예에 따라 클라이언트 단말(1)의 파일 파싱 동작 수행을 위한 소프트웨어 및 하드웨 어 구성을 도시한 참조도이다. 일 실시예에 따르면, 클라이언트 단말(1)의 애플리케이션(1100) 단은 API(Application Programming Interface) 함수를 이용하여 파일을 검색한다. API 함수는 API 라이브러리(1110)에서 지원한다. API 함수는 예를 들면, FindFirstFile, FindNextFile 등일 수 있다. 애플리케이션(1100)은 API 함수를 API 라이브러리(1110)에서 가 져오며, 애플리케이션(1100)은 API 함수를 이용하여 커널(1120) 단의 파일 시스템 드라이버(1120a)와 상호 동작 하여 하드웨어(1130) 단의 메모리에 저장된 파일의 확장자를 읽어 들일 수 있다. 이때, 하드웨어(1130) 단의 메모리는 디렉터리에 파일을 저장시키고, 파일명과 파일 확장자를 정의하며, 디렉터리 구조를 통하여 파일까지 가는 경로를 설정하는데, 애플리케이션(1100)은 파일 시스템 드라이버(1120a)와 상호 동작하여 하드웨어(1130) 단의 메모리에 저장된 파일의 파일 경로를 탐색한 후, 경로가 탐색된 파일의 확장자를 읽어 들인다. 예를 들면, 파일명의 첫 문자부터 읽어들여 확장자 앞에 있는. 를 검출하고, 검출된. 뒤에 위치하는 확장자를 확인할 수 있다. 도 12는 본 발명의 일 실시예에 따라 다중 OS 지원을 위해 클라이언트 단말(1)과 OS 제공장치(2) 간의 통신 프 로세스를 도시한 흐름도이다. 클라이언트 단말(1)은 제2 OS 설치 이벤트가 발생하면, OS 제공장치(2)에 접속하여 OS 제공장치(2)에 제2 OS 정 보 요청 메시지를 전송하고, OS 제공장치(2)로부터 클라이언트 단말(1)에 설치할 제2 OS 정보를 수집한다 (1200). 예를 들면, 제2 OS 정보는 구글의 안드로이드일 수 있다. 이어서, 클라이언트 단말(1)은 메모리(10)에 저장된 파일을, 메모리(10)의 DB에 저장된 파일분류 기준정보에 따 라 분류하고, 분류된 파일들을 대상으로 각 파일 마다 어느 OS를 기반하여 실행될 수 있는 파일인지를 알 수 있 는 파일 태그를 생성하며, 파일과 파일 태그를 OS 제공장치(2)에 전송한다(1210). 이어서, 클라이언트 단말(1)은 제2 OS를 설치하기 위해 메모리(10)의 데이터 영역과 OS 영역을 포맷하고, OS 제 공장치(2)로부터 제2 OS를 전송받아 설치한다(1220). 이어서, OS 제공장치(2)로부터 제2 OS에서 실행 가능한 파일과 파일 태그를 전송받아 해당 파일을 메모리(10)에 저장한다(1230). 또는 OS 제공장치(2)에 전송했던 모 든 파일과 파일 태그를 전송받은 후, 제2 OS에서 동작 가능한 파일만 메모리(10)에 저장하고, 나머지 파일은 삭 제할 수도 있다. 추가적으로, 파일이 어느 OS를 기반하여 실행될 수 있는 파일인지 한번 더 검증할 수 있다. 예를 들면, 파일 태그를 통해 안드로이드에서 실행되는 파일인지를 검증할 수 있다. 이어서, 클라이언트 단말 (1)이 재부팅되면, 클라이언트 단말(1)은 제2 OS 상에서 운용되는 시스템으로 변경된다. 도 13a 및 도 13c는 본 발명의 다양한 실시예에 따라 클라이언트 단말(1)이 OS 제공장치(2)로부터 제2 OS를 다 운로드 받아 설치하는 프로세스를 설명하기 위한 참조도이다. - 12 -
[0074] [0075] [0076] [0077] [0078] [0079] [0080] [0081] [0082] [0083] [0084] [0085] [0086] [0087] 도 13a 내지 도 13c에 있어서, 클라이언트 단말(1)의 메모리(10)는 플래시와 같은 비휘발성 메모리(10b)와 RAM 과 같은 휘발성 메모리(10a)를 포함한다. 도 13a를 참조하면, 클라이언트 단말(1)은 OS 제공장치(2)로부터 제2 OS를 다운로드 받아 설치하기 위해, 비휘 발성 메모리(10b)의 데이터 영역과 OS 영역을 포맷한다[1]. 이어서, OS 제공장치(2)로부터 제2 OS를 다운로드 받아 이를 휘발성 메모리(10a)의 버퍼영역에 복사[2]한 후, 휘발성 메모리(10a)의 버퍼영역에 복사된 제2 OS를, 포맷된 비휘발성 메모리(10b)의 OS 영역에 설치한다[3]. 도 13b를 참조하면, 클라이언트 단말(1)은 OS 제공장치(2)로부터 제2 OS를 다운로드 받아 설치하기 위해, OS 제 공장치(2)로부터 제2 OS를 다운로드 받아 이를 휘발성 메모리(10a)의 버퍼영역에 복사한다[1]. 이어서, 비휘발 성 메모리(10b)의 데이터 영역과 OS 영역을 포맷[2]한 후, 휘발성 메모리(10a)의 버퍼영역에 복사된 제2 OS를, 포맷된 비휘발성 메모리(10b)의 OS 영역에 설치한다[3]. 도 13c를 참조하면, 클라이언트 단말(1)은 OS 제공장치(2)로부터 제2 OS를 다운로드 받아 설치하기 위해, OS 제 공장치(2)로부터 제2 OS를 다운로드 받아 이를 휘발성 메모리(10a)의 버퍼영역에 복사한다[1]. 이어서, 휘발성 메모리(10a)의 버퍼영역에 복사된 제2 OS를 비휘발성 메모리(10b)의 데이터 영역 내 소정의 영역에 구분하여 저 장한다[2]. 그리고, 비휘발성 메모리(10b)의 OS 영역을 포맷[3]한 후, 비휘발성 메모리(10b)의 데이터 영역 내 소정의 영역에 저장된 제2 OS를, 포맷된 비휘발성 메모리(10b)의 OS 영역에 설치한다[4]. 이어서, 비휘발성 메 모리(10b)의 데이터 영역을 포맷한다[5]. 한편, 도 13a 내지 도 13c를 통해 전술한 제2 OS 다운로드 및 설치 실시예는 본 발명의 일 실시예일 뿐 이 외의 다양한 실시예가 가능하다. 도 14는 본 발명의 일 실시예에 따라 클라이언트 단말(1)이 OS 제공장치(2)에 파일을 백업하는 프로세스를 설명 하기 위한 참조도이다. 도 14에 있어서, 클라이언트 단말(1)의 메모리(10)는 플래시와 같은 비휘발성 메모리(10b)와 RAM과 같은 휘발성 메모리(10a)를 포함한다. 클라이언트 단말(1)은 파일 백업을 위해, 비휘발성 메모리(10b)의 데이터 영역에 저 장된 파일을 휘발성 메모리(10a)의 버퍼에 복사한다[1]. 그리고, 휘발성 메모리(10a)의 버퍼에 복사된 파일을 OS 제공장치(2)로 전송한다[2]. 도 15는 본 발명의 일 실시예에 따라 클라이언트 단말(1)이 OS 제공장치(2)에 백업해 둔 파일을 불러와 클라이 언트 단말(1)에 복원하는 프로세스를 설명하기 위한 참조도이다. 도 15에 있어서, 클라이언트 단말(1)의 메모리(10)는 플래시와 같은 비휘발성 메모리(10b)와 RAM과 같은 휘발성 메모리(10a)를 포함한다. 클라이언트 단말(1)은 파일 복원을 위해, OS 제공장치(2)로부터 파일을 전송받아 휘 발성 메모리(10a)의 버퍼에 복사한다[1]. 이어서, 휘발성 메모리(10a)의 버퍼에 복사된 파일을 비휘발성 메모 리(10b)의 데이터 영역에 저장한다[2]. 도 16은 본 발명의 일 실시예에 따라 OS 제공장치(2)의 저장공간(20)을 도시한 참조도이다. OS 제공장치(2)는 클라이언트 단말(1)로부터 파일을 전송받아 저장하고, 클라이언트 단말(1) 요청 시에 전송받 은 파일을 다시 클라이언트 단말(1)에 제공한다. 일 실시예에 따르면, OS 제공장치(2)는 클라이언트 단말(1)로부터 파일을 전송받을 때에, 파일이 어느 OS를 기 반으로 실행되는지를 나타내는 파일 태그를 함께 전송받아, 파일 태그에 따라 파일들을 분류하여 분류 기준에 맞게 저장공간(20)에 분리 저장한다. 예를 들면, 도 16에 도시된 바와 같이, 파일을 OS의 종류에 관계없이 실 행되는 파일(1600)과, OS에 따라 종속적으로 실행되고 파일 형식이 변경되지 않는 파일(1610)과, OS에 따라 종 속적으로 실행되고 파일 형식이 변경 가능한 파일(1620)과, 그 외의 파일(1630)로 분류하여 해당 영역에 각각 저장한다. 다른 실시예에 따르면, OS 제공장치(2)는 파일이 어느 OS를 기반으로 실행되는지를 분류할 수 있는 파일분류 기 준정보가 저장된다. 이 경우, OS 제공장치(2)가 클라이언트 단말(1)로부터 파일을 전송받으면, OS 제공장치 (2)에 저장된 파일분류 기준정보에 따라 파일을 분류한다. 클라이언트 단말(1)과 OS 제공장치(2) 간의 파일 전송을 위해 인터넷 프로토콜, 예를 들면 파일 전송 프로토콜 (FTP)를 사용할 수 있다. OS 제공장치(2)의 저장공간(20)에는 제2 OS에서 종속적으로 실행되는 파일 중 현재는 제2 OS에서 실행될 수는 없지만, 파일을 변환하면 제2 OS에서 실행 가능하게 하는 변환 툴을 포함할 수 있다. - 13 -
변환 툴은 클라이언트 단말(1)에 제공할 수도 있다. [0088] [0089] [0090] [0091] [0092] [0093] [0094] [0095] [0096] [0097] [0098] 한편, OS 제공장치(2)의 저장공간(20)은 클라이언트 단말(1)의 주 시스템 메모리를 제외한 공간, 예를 들면 SD 카드의 영역으로 확장될 수 있다. SD 카드는 휴대 가능한 클라이언트 단말(1)에 사용하기 위한 비휘발성 메모 리 카드 포맷이다. 도 17은 본 발명의 일 실시예에 따라 클라이언트 단말(1)의 메모리(10) 내 부팅관리 영역의 기능을 설명하기 위 한 참조도이다. 각 OS에 따라 부팅관리 영역의 기능은 상이할 수 있다. 이는 일반적인 다중 OS 운용 방법과 동일하게 운용된다. 데이터 영역에는 OS 정보가 저장되는데, 부팅관리 영역은 OS 정보에 맞게 시스템 설정을 하고 클라 이언트 단말(1)을 부팅시킬 수 있다. OS 정보는 데이터 영역 중 한 부분에 항상 포맷되지 않고 관리될 수 있도 록 함에 따라, 부팅관리 영역은 이 OS 정보를 이용하여 시스템을 가동시킬 수 있다. 도 18은 본 발명의 다른 실시예에 따른 다중 OS 지원방법을 도시한 흐름도이다. 도 18에 도시된 다중 OS 지원방법과, 도 7을 참조로 설명한 다중 OS 지원방법과의 차이점은 도 7에서는 클라이 언트 단말(1)이 각 파일을 바로 OS 제공장치(2)로 전송하지만, 도 18에서는 클라이언트 단말(1)이 일단 모든 파 일의 위치를 파악한 후 최종적으로 한번에 모든 파일을 OS 제공장치(2)로 전송하게 된다. 이하, 전술한 차이점을 위주로, 다중 OS 지원방법을 후술한다. 클라이언트 단말(1)은 제2 OS 설치 이벤트가 발생하면, OS 제공장치(2)에 접속하여 OS 제공장치(2)로부터 클라 이언트 단말(1)에 설치할 제2 OS 정보를 수집한다(1800). 이어서, 클라이언트 단말(1)은 메모리(10)에 저장된 파일을 분석하고, 분석된 파일을, 메모리(10)의 DB에 저장 된 파일분류 기준정보와 비교한다(1810). 이때, 클라이언트 단말(1)은 비교를 통해 파일을 OS의 종류에 관계없 이 실행되는 파일과, OS에 따라 종속적으로 실행되고 파일 형식이 변경되지 않는 파일과, OS에 따라 종속적으로 실행되고 파일 형식이 변경 가능한 파일과, 그 외의 파일로 분류할 수 있다. 이어서, 클라이언트 단말(1)은 분류된 파일들을 대상으로 각 파일 마다 어느 OS를 기반하여 실행될 수 있는 파 일인지를 알 수 있는 파일 태그를 생성한다(1820). 그리고, 각 파일의 위치를 파악(1830)한 후 최종적으로 한 번에 모든 파일을 OS 제공장치(2)로 전송한다(1840,1850). 이어서, 클라이언트 단말(1)은 제2 OS를 설치하기 위해 메모리(10)의 데이터 영역과 OS 영역을 포맷한다(1860). 그리고, OS 제공장치(2)로부터 제2 OS를 제공받아 포맷된 OS 영역에 설치(1870)한 후, OS 제공장치(2)로부터 제 2 OS에서 실행될 수 있는 파일과 파일 태그를 전송받는다(1880). 이때, 파일이 어느 OS를 기반하여 실행될 수 있는 파일인지 검증한 후, 해당 파일을 메모리(10)에 저장할 수 있다. 이어서, 클라이언트 단말(1)이 재부팅되 면, 클라이언트 단말(1)은 제2 OS 상에서 운용되는 시스템으로 변경된다(1890). 이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식 을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모 든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다. [0099] 부호의 설명 1 : 클라이언트 단말 2 : OS 제공장치 10 : 메모리 12 : 프로세서 14 : 사용자 인터페이스 120 : 파일 분석부 122 : 데이터베이스 비교부 124 : 파일 태그 생성 및 분석부 126 : 운영체제 및 파일 처리부 128 : 네트워크 통신부 - 14 -
도면 도면1 도면2-15 -
도면3-16 -
도면4 도면5 도면6-17 -
도면7-18 -
도면8 도면9-19 -
도면10-20 -
도면11 도면12-21 -
도면13a 도면13b - 22 -
도면13c 도면14-23 -
도면15 도면16-24 -
도면17-25 -
도면18-26 -