Certain aspects of the present disclosure relates to a system having a virtual desktop server (VDS), which may be electrically powered by an electric power supply and an uninterruptable power supply (UPS). The VDS has a processor, a memory, and a storage device storing computer executable code. When executed at processor, the computer executable code is configured to: allocate a portion of storage device to create a data store, allocate a portion of memory to create a random access memory (RAM) disk, detect power status of the VDS, and perform write through cache operations based on the detected power status. In certain embodiments, the write through cache operations include: disabling data write through from RAM disk to data store, when VDS is powered by the EPS and the UPS; and enabling data write through from RAM disk to data store when VDS is electrically powered by UPS only.
Drawings
Claims19
A system, comprising:
a virtual desktop server configured to be electrically powered by an electric power supply and an uninterruptible power supply (UPS), the virtual desktop server comprising:
a processor;
a memory;
and
a storage device storing computer executable code,
wherein the computer executable code, when executed at the processor, is configured to:
allocate a portion of the storage device to create a data store for preserving data from a plurality of virtual machines (VMs);
allocate a portion of the memory to create a random access memory (RAM) disk for hosting the plurality of VMs and writing through the data from the plurality of VMs to the data store;
detect a power status of the virtual desktop server;
and
perform a plurality of data write through operations based on the detected power status of the virtual desktop server, the data write through operations comprising:
disabling data write through from the RAM disk to the data store when the virtual desktop server is electrically powered by the electric power supply and the UPS;
enabling the data write through from the RAM disk to the data store when the virtual desktop server is electrically powered by the UPS only;
and
when the virtual desktop server is electrically powered by the UPS only and a power level of the UPS reaches a critical condition defined as a remaining time period that the UPS is capable of powering the virtual desktop server being below a threshold period dynamically updated and determined by an amount of data pending in the RAM disk and an input/output operations per second (IOPS) value of the data store as throughput, efficiently copying the data in the RAM disk to the data store.
12 more elements
A method of performing on-demand write through operations, comprising:
allocating, at a virtual desktop server, a portion of a storage device of the virtual desktop server to create a data store for preserving data from a plurality of virtual machines (VMs), wherein the virtual desktop server is configured to be electrically powered by an electric power supply and an uninterruptible power supply (UPS);
allocating, at the virtual desktop server, a portion of a memory of the virtual desktop server to create a random access memory (RAM) disk for hosting the plurality of VMs and writing through the data from the plurality of VMs to the data store;
detecting a power status of the virtual desktop server;
performing a plurality of data write through operations based on the detected power status of the virtual desktop server, the data write through operations comprising:
disabling data write through from the RAM disk to the data store, when the virtual desktop server is electrically powered by the electric power supply and the UPS;
enabling the data write through from the RAM disk to the data store, when the virtual desktop server is electrically powered by the UPS only;
and
when the virtual desktop server is electrically powered by the UPS only and a power level of the UPS reaches a critical condition defined as a remaining time period that the UPS is capable of powering the virtual desktop server being below a threshold period dynamically updated and determined by an amount of data pending in the RAM disk and an input/output operations per second (IOPS) value of the data store as throughput, efficiently copying the data in the RAM disk to the data store.
5 more elements
A non-transitory computer readable medium storing computer executable code, wherein the computer executable code, when executed at a processor of a virtual desktop server, is configured to:
allocate a portion of a storage device of the virtual desktop server to create a data store for preserving data from a plurality of virtual machines (VMs), wherein the virtual desktop server is configured to be electrically powered by an electric power supply and an uninterruptible power supply (UPS);
allocate a portion of a memory of the virtual desktop server to create a random access memory (RAM) disk for hosting the plurality of VMs and writing through the data from the plurality of VMs to the data store;
detect a power status of the virtual desktop server;
and
perform a plurality of data write through operations based on the detected power status of the virtual desktop server, the data write through operations comprising:
disabling data write through from the RAM disk to the data store when the virtual desktop server is electrically powered by the electric power supply and the UPS;
enabling the data write through from the RAM disk to the data store when the virtual desktop server is electrically powered by the UPS only;
and
when the virtual desktop server is electrically powered by the UPS only and a power level of the UPS reaches a critical condition defined as a remaining time period that the UPS is capable of powering the virtual desktop server being below a threshold period dynamically updated and determined by an amount of data pending in the RAM disk and an input/output operations per second (IOPS) value of the data store as throughput, efficiently copying the data in the RAM disk to the data store.
30 Jan 2035Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Means for saving power: power management, i.e. event-based initiation of a power-saving mode
Life of this patent
About 8 years 3 months of term left · ends 30 Jan 2035 (estimated)
Priority30 Jan 2015
Published4 Aug 2016
Granted26 Dec 2017
Today12 Oct 2026
Term ends30 Jan 2035
Priority30 Jan 2015
Granted26 Dec 2017
Term ends30 Jan 2035
Application filedUS 14/610,425
Assigned to American Megatrends, Inc.assignment of assignor's interest
Assigned to American Megatrends, Inc.assignment of assignor's interest
PublishedUS 2016/0224359 A1
GrantedUS 9,851,990 B2
Assigned to American Megatrends International, LLCchange of name
Assigned to Amzetta Technologies, LLC,assignment of assignor's interest
TodayWithin its term
Term endsEstimated
Description9,520 words
Summary2,646 words
#The present disclosure relates generally to virtual desktop infrastructure (VDI) technology, and more particularly to systems and methods of performing on-demand data write through in a VDI system using a random access memory (RAM) disk based on power status of an uninterruptible power supply (UPS).
#The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
#A RAM disk is a block of volatile random access memory that computer software is treating as if the memory is a disk drive (non-volatile storage space). The performance of a RAM disk is in general much faster than other forms of storage media, such as a solid state drive (SSD), hard drive (HD), or optical drive (CD or DVD drives). The performance gain is due to access time, maximum throughput, and type of file systems, among other things. The RAM disk is used as if it is a non-volatile storage device to store persistent data. Cache is often used in connection to the RAM disk. A copy of data temporarily is stored in rapidly-accessible storage media such as memory local to the processor or central processing unit (CPU) such that when this data is accessed by the processor, the processor can retrieve the data from the local memory instead of non-volatile storage devices such as the SSDs, the HDs, CD or DVD drives. In virtual desktop infrastructure, the RAM disks are frequently used to store data from various virtual machines running on a virtual desktop server. In certain applications, the RAM disk is used with write through cache to store temporary data indiscriminately, and certain data may not need to be stored in the RAM disk.
Brief description of the drawings4 figures
#The present disclosure will become more fully understood from the detailed description and the accompanying drawings FIGS. 1-4. These accompanying drawings illustrate one or more embodiments of the present disclosure and, together with the written description, serve to explain the principles of the present disclosure. Wherever possible, the same reference numbers are used throughout the drawings to refer to the same or like elements of an embodiment, and wherein:
#FIG. 1 schematically depicts an exemplary virtual desktop infrastructure (VDI) system according to certain embodiments of the present disclosure.
#FIG. 2 schematically depicts the virtual desktop server according to certain embodiments of the present disclosure.
Detailed description6,724 words
#The present disclosure is more particularly described in the following examples that are intended as illustrative only since numerous modifications and variations therein will be apparent to those skilled in the art. Various embodiments of the disclosure are now described in detail. Referring to the drawings, like numbers, if any, indicate like components throughout the views. As used in the description herein and throughout the claims that follow, the meaning of “a”, “an”, and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Moreover, titles or subtitles may be used in the specification for the convenience of a reader, which shall have no influence on the scope of the present disclosure. Additionally, some terms used in this specification are more specifically defined below.
#The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Certain terms that are used to describe the disclosure are discussed below, or elsewhere in the specification, to provide additional guidance to the practitioner regarding the description of the disclosure. For convenience, certain terms may be highlighted, for example using italics and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that same thing can be said in more than one way. Consequently, alternative language and synonyms may be used for any one or more of the terms discussed herein, nor is any special significance to be placed upon whether or not a term is elaborated or discussed herein. Synonyms for certain terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any terms discussed herein is illustrative only, and in no way limits the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
#Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the case of conflict, the present document, including definitions will control.