CN101960442A - 使用虚拟技术输入/输出数据的方法和设备 - Google Patents
使用虚拟技术输入/输出数据的方法和设备 Download PDFInfo
- Publication number
- CN101960442A CN101960442A CN2008801271450A CN200880127145A CN101960442A CN 101960442 A CN101960442 A CN 101960442A CN 2008801271450 A CN2008801271450 A CN 2008801271450A CN 200880127145 A CN200880127145 A CN 200880127145A CN 101960442 A CN101960442 A CN 101960442A
- Authority
- CN
- China
- Prior art keywords
- virtual
- data
- virtual memory
- storer
- storing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
提供了一种用于通过使用虚拟技术输入输出数据的方法和设备。所述方法包括:基于连接到主机的外部装置中存储的虚拟操作***(OS)信息,为外部装置产生虚拟操作***;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输入和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。
Description
技术领域
与本发明一致的方法和设备涉及输入和输出数据,更具体地讲,涉及通过使用虚拟技术输入和输出数据。
背景技术
在虚拟技术(virtualization technique)中,硬件资源(例如,处理器、存储器、网络、装置、图形功能)关于操作***(OS)被虚拟。大多OS在所述OS专有地占用计算机资源的情况下运行。因此,由于安装在计算机中的多个OS相互竞争,通常不可能在计算机中并发地执行多个OS。在虚拟技术中,在硬件与OS之间提供了虚拟接口。因此,可在计算机中并发地执行多个OS。
发明内容
技术问题
本发明提供了一种用于输出和输出数据的方法和设备,以提高在虚拟环境中输入和输出数据的速度,并提供了一种记录有用于执行所述方法的计算机程序的计算机可读记录介质。
技术方案
根据本发明的一方面,提供了一种输入和输出数据的方法,所述方法包括:基于连接到主机的外部装置中存储的OS信息,为外部装置产生虚拟OS;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。
根据本发明的另一方面,提供了一种记录有用于执行输入和输出数据的方法的计算机程序的计算机可读记录介质,所述方法包括:基于连接到主机的外部装置中存储的OS信息,为外部装置产生虚拟OS;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。
根据本发明的另一方面,提供了一种用于输入和输出数据的设备,所述设备被连接到包括主机OS和主机存储器的主机,所述设备包括:应用程序存储单元,存储至少一个应用程序;虚拟环境单元,存储用于设置虚拟环境的用户偏好信息和OS信息;存储器;虚拟层,进行操作,从而通过基于OS信息来从主机OS产生虚拟OS,并将主机的存储器的部分区域设置为虚拟存储器,响应于虚拟OS的用于输入和输出数据的请求,将数据存储在虚拟存储器或存储器中。
有益效果
根据本发明的示例性实施例,可通过基于连接到主机的外部装置中存储的OS信息来为外部装置产生虚拟OS,将主机的存储器的部分区域设置为外部装置的虚拟存储器,并响应于来自虚拟OS的用于输入和输出数据的请求而将数据存储在外部装置的存储器或虚拟存储器中,来提高在虚拟环境中输入和输出数据的速度。
此外,可通过选择性地将数据存储在外部装置的存储器或虚拟存储器中减少将数据输入到外部装置和从外部装置输出数据的次数,来增加外部装置的寿命。因此,可通过使用具有短寿命和低价格的多级信元(MLC)闪存实现可拆卸存储装置,来降低可拆卸存储装置的价格。
附图说明
通过参照附图对本发明的示例性实施例进行的详细描述,本发明的上述和其它方面将会变得更加清楚,在附图中:
图1示出一般主机的分层结构;
图2示出未应用虚拟技术的用于输入和输出数据的***;
图3是示出根据本发明的示例性实施例的可拆卸存储装置的框图;
图4示出应用了虚拟技术的用于输入和输出数据的***;
图5是示出根据本发明的示例性实施例的输入和输出数据的方法的流程图。
具体实施方式
在下文中,将通过参照附图解释本发明的示例性实施例来详细地描述本发明。附图中相同的标号表示相同的元件。将省略对相同元件的重复描述。
图1示出一般主机的分层结构。
参照图1,主机包括硬件11、操作***(OS)12和多个应用程序13。硬件11可包括中央处理单元(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、硬盘等。OS 12是用于管理计算机资源的程序。OS 12用作硬件11与应用程序13之间的接口。
图2示出未应用虚拟技术的用于输入和输出数据的***。
参照图2,用于输入和输出数据的***20用来在未应用虚拟技术的主机和可拆卸存储装置之间输入和输出数据。主机包括硬件21、OS 22和多个应用程序23。
可拆卸存储装置24包括发射器(launcher)25和多个应用程序26。如果可拆卸存储装置被***到主机,则发射器25和多个应用程序26被加载到主机的存储器中,并在主机中被执行。发射器25是主机中用于建立这样的环境的接口程序,在所述环境中通过设置可拆卸存储装置中存储的用户环境来执行应用程序26。因此,在连接有可拆卸存储装置的主机中,仅通过可拆卸存储装置而非主机的存储装置来输入和输出数据。
然而,由于可拆卸存储装置24与主机相比具有小容量和低性能,因此与使用主机的存储装置来输入和输出数据的情况相比,通过使用可拆卸存储装置输入和输出数据花费更多的时间。例如,主机的硬盘可具有500千兆字节(GB)的容量,但通用串行总线(USB)存储装置可具有8GB的容量。因此,硬盘的容量远大于USB存储装置的容量。
具体地说,在需要快速写入和读取文件的情况下(例如,在可拆卸存储装置中存储临时互联网文件),应用程序的操作被延迟。例如,在打开使用互联网的网页的情况下,花费大量时间来将对应的数据存储在可拆卸存储装置中。此外,在可拆卸存储装置使用闪存的情况下,通过连续地写入和删除大小较小的文件会极大地降低可拆卸存储装置的寿命。
图3是示出根据本发明的示例性实施例的可拆卸存储装置的框图。
参照图3,可拆卸存储装置33通过有线和/或无线数据通信网络32连接到主机31。这里,可拆卸存储装置33仅是示例性实施例。本发明还可应用到通过网络连接到主机31的另外的装置。在下文中,为了方便描述,作为USB便携式存储装置的USB闪存驱动器将被描述为可拆卸存储装置33的示例。
可拆卸存储装置33包括通信单元331、应用程序存储单元332、虚拟层存储单元333、虚拟环境单元334、存储器335、加密密匙存储单元336和通信总线337。
通信单元331可被实现为诸如通用接口的物理装置,以用作用于与通信网络进行通信的单元。通信总线337与可拆卸存储装置中的各种组件(例如,应用程序存储单元332、虚拟层存储单元333、虚拟环境单元334、存储器335、加密密匙存储单元336和通信331)进行通信。
应用程序存储单元332存储各种应用程序(例如,Microsoft Word、PowerPoint等)。如果可拆卸存储装置33被***到主机31,则将多个应用程序加载到主机31的存储器中,并在主机31中执行所述多个应用程序。
虚拟层存储单元333存储作为用于提供虚拟环境的程序的虚拟层。更具体地讲,虚拟层可以是诸如虚拟机监视器或虚拟机管理程序的程序。如果可拆卸存储装置33被***到主机31,则将虚拟层加载到主机31的存储器中。因此,在主机硬件或主机OS中执行虚拟层来产生虚拟OS。虚拟层通过将资源提供给虚拟OS来提供虚拟环境。
虚拟环境单元334是存储用于设置虚拟环境的用户偏好信息和虚拟OS产生新的用户环境所需的OS信息的数据库。这里,用户偏好信息可包括桌面、主题、图标、快捷方式、语言、字体等。如果可拆卸存储装置33被***到主机31,则根据用户偏好信息建立用户环境。
此外,OS产生新的用户环境所需的OS信息可包括注册表、文件***、组件、动态链接库(DLL)等。如果可拆卸存储装置33被***到主机31,则可建立这样一个虚拟环境,在所述虚拟环境中,主机31中未安装的注册表、文件***、组件、DLL等存在于主机31的存储器中。这里,注册表是当安装Windows时产生的多条信息的列表文件。注册表包括硬件、软件、用户、计算机和网络的属性。此外,文件***包括文件名和文件的逻辑位置,以便能够存储和搜索文件。
存储器335存储在用于通过使用应用程序执行任务的过程中新近产生的数据。例如,当用户通过使用Microsoft Word编辑文档时,存储器335存储文档的改变或新编写的文档。
加密密匙存储单元336存储由用户设置的唯一的加密密匙。如果可拆卸存储装置33被***到主机31,则虚拟层可从主机硬件产生通过使用虚拟OS可访问的虚拟存储器。在这种情况下,由于通过使用加密密匙来加密产生的虚拟存储器,因此主机OS不能访问虚拟存储器,因此,保持了虚拟存储器的安全性。在这种情况下,可通过使用可拆卸存储装置的唯一信息或用户提供的其他信息来加密虚拟存储器。
图4示出应用了虚拟技术的用于输入和输出数据的***。
参照图4,显示了用于输入和输出数据的***40,所述***40通过使用虚拟技术用来在主机与可拆卸存储装置之间输入和输出数据。主机包括主机硬件41、主机OS 42和多个应用程序43。
可拆卸存储装置44包括多个应用程序45和虚拟层46。如果可拆卸存储装置44被***到主机,则将多个应用程序45和虚拟层46加载到主机的存储器中,并在主机中执行所述多个应用程序45和虚拟层46。
虚拟层46基于OS信息从主机OS 42产生虚拟OS 47,并从主机提供虚拟OS 47必需的资源。更具体地讲,虚拟OS 47基于可拆卸存储单元44中存储的OS信息中所包括的注册表和文件***,独立于主机OS 42运行。
此外,虚拟层46将主机存储器48的部分区域设置为作为专用于虚拟OS47的存储装置的虚拟存储器49。更具体地讲,虚拟层46可将通过对主机存储器48进行分区获得的部分区域设置为虚拟存储器49。在这种情况下,通过加密虚拟存储器49,不能通过主机OS 42来访问虚拟存储器49,只有虚拟OS 47被允许访问虚拟存储器49。可通过使用可拆卸存储装置44中存储的加密密匙从主机OS 42加密虚拟存储器49。当从主机移除可拆卸存储装置44时,终止虚拟层46。可自动地删除虚拟存储器。
在执行应用程序的过程中产生的虚拟OS 47可请求运行应用程序45,或请求输入和输出虚拟OS 47所必需的数据。虚拟层46通过分析来自虚拟OS 47的用于输入和输出数据的请求,确定数据是被输入到产生的虚拟存储器49还是可拆卸存储装置44的存储器,以及确定是从产生的虚拟存储器49还是可拆卸存储装置44的存储器输出数据。即,虚拟层46通过分析来自虚拟OS 47的用于输入和输出数据的请求,确定是从产生的虚拟存储器49还是可拆卸存储装置44的存储器读取数据,或者是将数据写入产生的虚拟存储器49还是可拆卸存储装置44的存储器。
更具体地讲,作为分析用于输入和输出数据的请求的结果,当将数据存储到虚拟存储器49中所花费的时间小于将数据存储到移动存储装置44中所花费的时间时,虚拟层46可通过将数据存储在虚拟存储器49来提高输入和输出数据的速度。通常来说,主机的存储装置比可拆卸存储装置具有更大的容量。因此,尽管通过使用可拆卸存储装置在新的虚拟环境中执行任务,在对特定数据执行任务的情况下,可通过将数据存储在主机的存储装置中而非将数据直接存储在可拆卸存储装置中来提高执行所述任务的速度。
然而,当从主机移除可拆卸存储装置44时,主机不需要再存储数据。因此,当从主机移除可拆卸存储装置44时,虚拟层46删除虚拟存储器49中存储的数据,或将数据清理(flush)到可拆卸存储装置44中。此外,即使在可拆卸存储装置被***到主机的情况下,虚拟层46可周期性地删除虚拟存储装置49中存储的数据,或将数据清理到可拆卸存储装置44中。此外,虚拟层46可将数据存储在虚拟存储器49中,并同时产生用于表示必须同步可拆卸存储装置44与虚拟存储器49的信息。
具体地讲,在数据是缓存文件(例如,互联网临时文件)的情况下,可拆卸存储装置44不再需要存储数据。因此,虚拟层46周期性地删除虚拟存储器49中存储的数据,或者在从主机移除可拆卸存储装置44时删除数据。另一方面,在数据与特定程序相关的情况下,可拆卸存储装置44需要存储所述数据。因此,虚拟层46周期性地将虚拟存储器49中存储的数据清理到可拆卸存储装置44中,或者在从主机移除可拆卸存储装置44时,将数据清理到可拆卸存储装置44中。
另一方面,作为分析用于输入和输出数据的请求的结果,当将数据存储到虚拟存储器49中所花费的时间等于或大于将数据存储到可拆卸存储装置44中所花费的时间时,虚拟层46可通过将数据直接存储在可拆卸存储装置44中来提高输入和输出数据的速度。在这种情况下,将数据存储到虚拟存储器49中花费太多的时间,并且当可拆卸存储装置44从主机断开连接时,虚拟存储器49中存储的数据必须被清理到可拆卸存储装置44中。因此,花费了不必要长的时间。因此,将数据直接存储在可拆卸存储装置44中。
然而,上述描述仅是示例性实施例。虚拟层46不需要根据输入和输出数据花费的时间,响应于来自虚拟OS 47的用于输入和输出数据的请求来确定是将数据存储在虚拟存储器49中还是可拆卸存储装置44中。
例如,如果在用于安装特定程序的过程中,大小小于预定值的数据被接连地存储在可拆卸存储装置44中,则由于频繁地访问可拆卸存储装置44,可拆卸存储装置的寿命会降低。因此,在这种情况下,可通过将数据连续地存储在虚拟存储器49中来完成特定程序的安装。此时,在完成了特定程序的安装的情况下,虚拟存储器49中存储的数据被周期性地清理到可拆卸存储装置44中,或在从主机移除可拆卸存储装置44时被清理到可拆卸存储装置44。例如,在通过使用应用程序编辑文档来改变数据的情况下,可直接将数据存储在可拆卸存储装置44中。
然而,上述描述仅是示例性实施例。在用户认为数据的安全性是重要的因素的情况下,可将在用于执行任务的过程中产生的所有数据存储在可拆卸存储装置44中。此外,在用户认为任务的性能是重要因素的情况下,可将用于执行任务的过程中产生的数据存储在虚拟存储器49中。因此,用户可确定是将数据存储在虚拟存储器49中,还是存储在可拆卸存储装置44中。
在可拆卸存储装置44被***到主机的同时,虚拟层46通过周期性地检查虚拟存储器49来同步虚拟存储器49和可拆卸存储装置44。另一方面,当从主机移除可拆卸存储装置44时,终止虚拟层,并可自动地删除虚拟存储器49。
图5是示出根据本发明的示例性实施例的输入和输出数据的方法的流程图。
参照图5,根据本示例性实施例的输入和输出数据的方法包括图4的用于输入和输出数据的***中执行的一系列操作。因此,尽管省略了对图4中显示的用于输入和输出数据的***的上述描述,但用于输入和输出数据的***的描述还将被应用到根据本示例性实施例的输入和输出数据的方法。
在操作51,虚拟层46从主机OS 42产生用于管理至少一个应用程序45的虚拟OS 47。
在操作52,虚拟层46从主机存储器48产生通过产生的虚拟OS 47可访问的虚拟存储器。
在操作53中,虚拟层46响应于虚拟OS 47的用于输入和输出数据的请求,选择性地将数据存储在虚拟存储器49中或可拆卸存储装置44中。
此外,根据本发明的示例性实施例的输入和输出数据的方法还可包括通过使用可拆卸存储装置的唯一信息或包括在可拆卸存储装置中的密匙值来加密虚拟存储器49的过程。因此,无法通过主机OS 42访问虚拟存储器49。仅可通过虚拟OS 47访问虚拟存储器49。
此外,根据本发明的示例性实施例的输入和输出数据的方法还可包括:在可拆卸存储装置从主机断开连接时,通过使用虚拟层46来删除虚拟存储器49中存储的数据或将数据清理到可拆卸存储装置的过程。
本发明还可被实施为计算机可读记录介质上的计算机可读代码。所述计算机可读记录介质可以是任何可存储其后可以被计算机***读取的数据的数据存储装置。所述计算机可读记录介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储装置。所述计算机可读记录介质也可以被分布在联网的计算机***上,从而所述计算机可读代码以分布式方式被存储和执行。
本发明还可被实施为通过载波(例如,通过互联网的数据传输)发送的计算机可读代码。
尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的普通技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (18)
1.一种输入和输出数据的方法,所述方法包括:
基于连接到主机的外部装置中存储的虚拟操作***OS信息,为外部装置产生虚拟OS;
将主机的存储器的部分区域设置为外部装置的虚拟存储器;
响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。
2.如权利要求1所述的方法,其中,存储数据的步骤包括:
比较将数据存储到虚拟存储器中花费的时间和将数据存储到存储器中花费的时间;
基于比较的结果来确定是将数据存储在虚拟存储器还是存储在存储器中;
基于确定的结果来将数据存储在虚拟存储器或存储器中。
3.如权利要求1所述的方法,其中,存储数据的步骤包括:
确定数据是否是仅在执行程序时存在的临时文件;
基于确定的结果来将数据存储在虚拟存储器或存储器中。
4.如权利要求3所述的方法,其中,周期性地删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到存储器。
5.如权利要求1所述的方法,其中,存储数据的步骤包括:
确定数据的大小是否小于预定值;
基于确定的结果来将数据存储在虚拟存储器或存储器中。
6.如权利要求5所述的方法,其中,周期性地删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到存储器。
7.如权利要求1所述的方法,其中,使用外部装置的唯一信息或包括在外部装置中的密匙值来加密虚拟存储器,从而所述虚拟存储器仅能通过虚拟OS被访问。
8.如权利要求1所述的方法,还包括:如果外部装置将从主机断开连接,则删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到外部装置。
9.如权利要求1所述的方法,其中,所述OS信息包括:注册表、文件***、组件和动态链接库中的至少一个,
其中,在产生虚拟OS的步骤中,基于所述OS信息产生独立于主机的OS的虚拟OS。
10.一种记录有用于执行输入和输出数据的方法的计算机程序的计算机可读记录介质,所述方法包括:
基于连接到主机的外部装置中存储的OS信息,为外部装置产生虚拟操作***OS;
将主机的存储器的部分区域设置为外部装置的虚拟存储器;
响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。
11.一种用于输入和输出数据的设备,所述设备被连接到包括主机操作***OS和主机存储器的主机,所述设备包括:
应用程序存储单元,存储至少一个应用程序;
虚拟环境单元,存储用于设置虚拟环境的用户偏好信息和OS信息;
存储器;
虚拟层,进行操作,从而通过基于OS信息从主机OS产生虚拟OS,以及将主机的存储器的部分区域设置为虚拟存储器,响应于虚拟OS的用于输入和输出数据的请求,将数据存储在虚拟存储器或存储器中。
12.如权利要求11所述的设备,其中,虚拟层比较将数据存储到虚拟存储器中花费的时间和将数据存储到存储器中花费的时间,基于比较的结果来确定是将数据存储在虚拟存储器还是存储在存储器中,并基于确定的结果来将数据存储在虚拟存储器或存储器中。
13.如权利要求11所述的设备,其中,虚拟层确定所述数据是否是仅在执行程序时存在的临时文件,并基于确定的结果来将数据存储在虚拟存储器或存储器中。
14.如权利要求11所述的设备,其中,虚拟层确定数据的大小是否小于预定值,并基于确定的结果来将数据存储在虚拟存储器或存储器中。
15.如权利要求11所述的设备,还包括:加密密匙存储单元,存储用于加密虚拟存储器的密匙值。
16.如权利要求11所述的设备,其中,所述虚拟层周期性地同步虚拟存储器中存储的数据和存储器中存储的数据。
17.如权利要求11所述的设备,其中,所述虚拟层周期性地删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到存储器中。
18.如权利要求11所述的设备,其中,如果所述设备将从主机断开连接,则所述虚拟层删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到存储器中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080017888A KR101478619B1 (ko) | 2008-02-27 | 2008-02-27 | 가상화 기술을 이용한 데이터 입출력 방법 및 장치 |
KR10-2008-0017888 | 2008-02-27 | ||
PCT/KR2008/007239 WO2009107926A1 (en) | 2008-02-27 | 2008-12-08 | Method and apparatus for inputting/outputting data using virtualization technique |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101960442A true CN101960442A (zh) | 2011-01-26 |
CN101960442B CN101960442B (zh) | 2013-01-02 |
Family
ID=40999417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880127145.0A Expired - Fee Related CN101960442B (zh) | 2008-02-27 | 2008-12-08 | 使用虚拟技术输入/输出数据的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8966142B2 (zh) |
EP (1) | EP2260399A4 (zh) |
JP (1) | JP5426576B2 (zh) |
KR (1) | KR101478619B1 (zh) |
CN (1) | CN101960442B (zh) |
WO (1) | WO2009107926A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101636878B1 (ko) * | 2010-02-18 | 2016-07-06 | 삼성전자주식회사 | 가상화 환경에서의 데이터 처리 방법 및 드라이버 |
JP5684815B2 (ja) * | 2010-04-30 | 2015-03-18 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
KR101763426B1 (ko) * | 2010-08-20 | 2017-07-31 | 삼성전자주식회사 | 외부기기 제어장치 및 방법 |
US20130091197A1 (en) | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Mobile device as a local server |
FR2983599A1 (fr) | 2011-12-01 | 2013-06-07 | Thomson Licensing | Procede de stockage de donnees de contenu d'un recepteur de contenus dans un equipement de stockage portable, et dispositif de controle associe |
US9092247B2 (en) | 2012-03-29 | 2015-07-28 | Microsoft Technology Licensing, Llc | Persistent and resilient worker processes |
US10339328B1 (en) | 2014-07-15 | 2019-07-02 | Cru Acquisition Group, Llc | Securing stored computer files from modification |
KR101916856B1 (ko) * | 2017-01-10 | 2018-11-08 | 주식회사 시큐아이 | 패킷 처리 장치 및 방법 |
DE102019106281A1 (de) * | 2019-03-12 | 2020-09-17 | tooz technologies GmbH | System, Verfahren, Computerprogramm, mobile Vorrichtung und Kit zum Betreiben einer Vorrichtung mit niedriger Rechenleistung |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0333948A (ja) | 1989-06-29 | 1991-02-14 | Nec Eng Ltd | ファイル管理方式 |
JPH0482103A (ja) | 1990-07-25 | 1992-03-16 | Matsushita Electric Ind Co Ltd | 誘電体磁器組成物 |
JPH0675836A (ja) | 1992-08-25 | 1994-03-18 | Nippon Densan Corp | 補助記憶装置 |
US5555385A (en) * | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
JPH09282103A (ja) | 1995-12-22 | 1997-10-31 | Ricoh Co Ltd | 情報処理装置 |
US6658526B2 (en) * | 1997-03-12 | 2003-12-02 | Storage Technology Corporation | Network attached virtual data storage subsystem |
US6405362B1 (en) * | 1998-11-13 | 2002-06-11 | Microsoft Corporation | Automatic software installation and cleanup |
US6529992B1 (en) * | 1999-07-26 | 2003-03-04 | Iomega Corporation | Self-contained application disk for automatically launching application software or starting devices and peripherals |
US7373656B2 (en) * | 2000-10-27 | 2008-05-13 | Sandisk Il Ltd. | Automatic configuration for portable devices |
US20020135613A1 (en) * | 2001-03-21 | 2002-09-26 | O'hara Sean M. | Transfer of personal information between computing systems |
US6996582B2 (en) * | 2002-10-03 | 2006-02-07 | Hewlett-Packard Development Company, L.P. | Virtual storage systems and virtual storage system operational methods |
US7089395B2 (en) * | 2002-10-03 | 2006-08-08 | Hewlett-Packard Development Company, L.P. | Computer systems, virtual storage systems and virtual storage system operational methods |
US7620667B2 (en) * | 2003-11-17 | 2009-11-17 | Microsoft Corporation | Transfer of user profiles using portable storage devices |
US20050235045A1 (en) * | 2004-03-05 | 2005-10-20 | International Business Machines Corporation | Portable personal computing environment server |
US20050204013A1 (en) * | 2004-03-05 | 2005-09-15 | International Business Machines Corporation | Portable personal computing environment technologies |
US7600216B2 (en) * | 2004-04-22 | 2009-10-06 | Gteko, Ltd | Method for executing software applications using a portable memory device |
US8032674B2 (en) * | 2004-07-19 | 2011-10-04 | Marvell International Ltd. | System and method for controlling buffer memory overflow and underflow conditions in storage controllers |
JP4697936B2 (ja) | 2005-01-17 | 2011-06-08 | 大日本印刷株式会社 | カード型記憶媒体のデータをキャッシュするコンピュータシステムおよびキャッシュ方法 |
US7680643B2 (en) | 2005-11-17 | 2010-03-16 | International Business Machines Corporation | Method for carrying multiple suspended runtime images |
JP4819521B2 (ja) * | 2006-02-17 | 2011-11-24 | 株式会社日立製作所 | 記憶システム及び仮想化方法並びにストレージ装置 |
US7926054B2 (en) * | 2006-03-03 | 2011-04-12 | Novell, Inc. | System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device |
KR20070111603A (ko) * | 2006-05-18 | 2007-11-22 | 이상규 | 클라이언트 및 서버의 보안시스템 |
US8738786B2 (en) * | 2006-05-18 | 2014-05-27 | Sanggyu Lee | Method for protecting client and server |
US8041863B2 (en) * | 2006-11-16 | 2011-10-18 | International Business Machines Corporation | Automated solution to provide personalized user environment on any public computer using portable storage devices with personalized user settings uploaded to local registry of public computer |
KR100892417B1 (ko) * | 2006-12-04 | 2009-04-10 | 한국전자통신연구원 | 이동식 컴퓨팅 체제를 지원하는 이동식 저장 장치 및 이를이용한 이동식 컴퓨팅 체제 시스템 |
CN101196889A (zh) * | 2006-12-08 | 2008-06-11 | 国际商业机器公司 | 优化存储***中的文件放置的方法及装置 |
US8112603B2 (en) * | 2007-10-19 | 2012-02-07 | International Business Machines Corporation | Methods, systems, and computer program products for file relocation on a data storage device |
US8738854B2 (en) * | 2010-09-03 | 2014-05-27 | Hitachi, Ltd. | Storage apparatus and control method of storage apparatus |
-
2008
- 2008-02-27 KR KR20080017888A patent/KR101478619B1/ko not_active IP Right Cessation
- 2008-06-19 US US12/142,406 patent/US8966142B2/en active Active
- 2008-12-08 JP JP2010547554A patent/JP5426576B2/ja not_active Expired - Fee Related
- 2008-12-08 CN CN200880127145.0A patent/CN101960442B/zh not_active Expired - Fee Related
- 2008-12-08 WO PCT/KR2008/007239 patent/WO2009107926A1/en active Application Filing
- 2008-12-08 EP EP08872870A patent/EP2260399A4/en not_active Withdrawn
-
2015
- 2015-01-15 US US14/597,761 patent/US9164919B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20150127955A1 (en) | 2015-05-07 |
JP5426576B2 (ja) | 2014-02-26 |
US20090216916A1 (en) | 2009-08-27 |
US8966142B2 (en) | 2015-02-24 |
US9164919B2 (en) | 2015-10-20 |
KR101478619B1 (ko) | 2015-01-06 |
WO2009107926A1 (en) | 2009-09-03 |
EP2260399A4 (en) | 2011-06-29 |
EP2260399A1 (en) | 2010-12-15 |
KR20090092570A (ko) | 2009-09-01 |
CN101960442B (zh) | 2013-01-02 |
JP2011514992A (ja) | 2011-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101960442B (zh) | 使用虚拟技术输入/输出数据的方法和设备 | |
CN103970585B (zh) | 创建虚拟机的方法及装置 | |
US8788471B2 (en) | Matching transactions in multi-level records | |
US20090234809A1 (en) | Method and a Computer Program Product for Indexing files and Searching Files | |
US8458232B1 (en) | Systems and methods for identifying data files based on community data | |
MX2007014899A (es) | Mecanismo de concesion para busqueda. | |
US20120102453A1 (en) | Multi-dimensional objects | |
JP2010117885A (ja) | アクセス制御装置、アクセス制御装置のアクセス制御方法およびアクセス制御プログラム | |
US20210209057A1 (en) | File system quota versioning | |
CN102289513A (zh) | 获取虚拟机内部文件的方法及*** | |
US9971789B2 (en) | Selective disk volume cloning for virtual disk creation | |
KR20060060668A (ko) | 저장소 디바이스를 제어하는 시스템, 장치 및 방법 | |
US10083065B2 (en) | Creating multiple rules for a device to allow concurrent access to the device by different virtual machines | |
US9535713B2 (en) | Manipulating rules for adding new devices | |
US9886271B2 (en) | Change method, apparatus, and recording medium | |
US8131972B2 (en) | Method and apparatus for improving memory coalescing in a virtualized hardware environment | |
Lee et al. | High-speed search using Tarari content processor in digital forensics | |
US20210110038A1 (en) | Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence | |
US10776376B1 (en) | Systems and methods for displaying search results | |
CN103514089B (zh) | 软件管理器的软件安装检测方法和*** | |
US9223814B2 (en) | Scalable selection management | |
CN106293897B (zh) | 组件自动化调度*** | |
US20090138523A1 (en) | Content engine asynchronous upgrade framework | |
WO2023188092A1 (ja) | 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体 | |
US10558680B2 (en) | Efficient data retrieval in big-data processing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130102 Termination date: 20181208 |