IP Library › Granted Patent US 8,966,142
Granted Patent B2
US 8,966,142 · App. 12/142,406 · Granted Feb 24, 2015

Method and apparatus for inputting/outputting virtual operating system from removable storage device on a host using virtualization technique

Inventors: Min-sung Jang (Seoul, KR); Seong-yeol Park (Yongin-si, KR); Jae-min Park (Seoul, KR); Sang-Bum Suh (Seoul, KR); Sung-kwan Heo (Seoul, KR); Byung-woan Kim (Seoul, KR)
Assignee: Samsung Electronics Co., Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,966,142
App. No.
12/142,406
Granted
Feb 24, 2015
Kind
B2
Abstract

A method and apparatus for inputting and outputting data by using a virtualization technique are provided. The method includes generating a virtual operating system (OS) for the external device, which is connected to a host, based on OS information stored in the external device, setting a partial area of a storage of the host as virtual storage for the external device, and storing the data in the virtual storage or a memory of the external device in response to a request for inputting and outputting the data from the virtual OS.

Claims (40)

1. A method of inputting and outputting data, the method comprising:

generating a virtual operating system (OS) on a host OS of a host for a removable storage device, which is connected to the host, based on OS information stored in the removable storage device;

setting a partial area of a storage of the host as a virtual storage for the removable storage device;

selecting one of the virtual storage and a memory of the removable storage device for storing the data in response to a request for inputting and outputting the data from the virtual OS; and

storing the data in the selected one of the virtual storage and the memory of the removable storage device,

wherein the selecting of one of the virtual storage and the memory of the removable storage device for storing the data comprises:

determining whether the data is a temporary file that exists only while a program is being executed; and

selecting the virtual storage for storing the data when the data is the temporary file, or one of the virtual storage and the memory of the removable storage device by comparing a time taken to store the data in the virtual storage with a time taken to store the data in the memory when the data is not a temporary file.

2. The method of claim 1 , wherein the data stored in the virtual storage is periodically deleted or flushed to the memory.

3. The method of claim 1 , wherein the selecting one of the virtual storage and the memory of the removable storage device comprises:

determining whether a size of the data is less than a predetermined value; and

selecting one of the virtual storage and the memory based on a result of the determining.

4. The method of claim 3 , wherein the data stored in the virtual storage is periodically deleted or flushed to the memory.

5. The method of claim 1 , wherein the virtual storage is encrypted using unique information of the removable storage device or a key value included in the removable storage device so that the virtual storage is accessible only through the virtual OS.

6. The method of claim 1 , further comprising deleting the data stored in the virtual storage or flushing the data stored in the virtual storage to the removable storage device, if the removable storage device is to be disconnected from the host.

7. The method of claim 1 , wherein the OS information comprises at least one of a registry, a file system, a component, and a dynamic link library, and

wherein in the generating of the virtual OS, the virtual OS independent of an OS of the host is generated based on the OS information.

8. A computer-readable recording medium having embodied therein a computer program for executing a method of inputting and outputting data, the method comprising:

generating a virtual operating system (OS) on a host OS of a host for a removable storage device, which is connected to the host, based on OS information stored in the removable storage device;

setting a partial area of a storage of the host as a virtual storage for the removable storage device;

selecting one of the virtual storage and a memory of the removable storage device for storing the data in response to a request for inputting and outputting the data from the virtual OS; and

storing the data in the selected one of the virtual storage and the memory of the removable storage device,

wherein the selecting one of the virtual storage and the memory of the removable storage device for storing the data comprises:

determining whether the data is a temporary file that exists only while a program is being executed; and

selecting the virtual storage for storing the data when the data is the temporary file, or one of the virtual storage and the memory of the removable storage device by comparing a time taken to store the data in the virtual storage with a time taken to store the data in the memory when the data is not a temporary file.

9. A system for inputting and outputting data, the system comprising:

a host which includes a host operating system (OS) and a host storage; and

a removable storage device which is connectable to the host,

wherein the host comprises:

an application storage unit which stores at least one application;

a virtual environment unit which stores user preference information for setting a virtual environment and OS information;

a memory; and

a virtualization layer which operates so that the data is stored in a virtual storage or the memory in response to a request for inputting and outputting the data of a virtual OS by generating the virtual OS from the host OS based on the OS information and setting a partial area of a storage of the host as the virtual storage,

wherein the virtualization layer selects one of the virtual storage and the memory of the removable storage device to store the data in response to the request for inputting and outputting the data from the virtual OS, and stores the data in the selected one of the virtual storage and a memory of the removable storage device, and

wherein the virtualization layer determines whether the data is a temporary file that exists only while a program is being executed, and selects the virtual storage for storing the data when the data is the temporary file, or one of the virtual storage and the memory of the removable storage device by comparing a time taken to store the data in the virtual storage with a time taken to store the data in the memory when the data is not a temporary file.

10. The apparatus of claim 9 , wherein the virtualization layer determines whether a size of the data is less than a predetermined value and selects one of the virtual storage and the memory based on a result of the determination to store the data.

11. The apparatus of claim 9 , further comprising an encryption key storage unit which stores a key value for encrypting the virtual storage.

12. The apparatus of claim 9 , wherein the virtualization layer periodically synchronizes data stored in the virtual storage with data stored in the memory.

13. The apparatus of claim 9 , wherein the virtualization layer periodically deletes data stored in the virtual storage or flushes the data stored in the virtual storage to the memory.

14. The apparatus of claim 9 , wherein if the apparatus is to be disconnected from the host, the virtualization layer deletes data stored in the virtual storage or flushes the data stored in the virtual storage to the memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2008
From: JANG, MIN-SUNG; PARK, SEONG-YEOL; PARK, JAE-MIN; SUH, SANG-BUM; HEO, SUNG-KWAN; KIM, BYUNG-WOAN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 021122/0211 →
Priority Claims (1)
KR 10-2008-0017888 · Feb 27, 2008 · national
Continuity (1)
Related Publication 20090216916A1 · Aug 27, 2009