Patent application number | Description | Published |
20090044204 | Application programming interfaces for transacted file and registry operations - A set of application programming interfaces (“APIs”) is provided that enables an application to perform operations on multiple system resources as a single logical unit of work through a transaction. The application can then commit or roll back the entire group of changes as a single unit in a coordinated manner. The APIs expose functions and methods that take a reference to a transaction context, such as a handle, name, or pointer, as one of their parameters so that the application can manipulate the resource as a transacted operation. The transaction is bound to all created handles so that all operations on the resource using those handles are also transacted. In an illustrative example, the set of APIs are transacted name-based WIN32 APIs that take a transaction handle. The transacted APIs expose transacted operations to the application for durable system resources in the OS kernel, including the NTFS file system (New Technology File System) and registry. | 02-12-2009 |
20090328134 | LICENSING PROTECTED CONTENT TO APPLICATION SETS - The present invention extends to methods, systems, and computer program products for licensing protected content to application sets. Embodiments of the invention permit a local machine to increase its participation in authorizing access to protected content. For example, an operating system within an appropriate computing environment is permitted to determine if an application is authorized to access protected content. Thus, the application is relieved from having to store a publishing license. Further, authorization decisions are partially distributed, easing the resource burden on a protection server. Accordingly, embodiments of the invention can facilitate more robust and efficient authorization decisions when access to protected content is requested. | 12-31-2009 |
20100082714 | NESTED FILE SYSTEM SUPPORT - A processing device and a machine-implemented method may be provided for tracking file system dependencies with respect to a volume residing on a storage device and guest volumes residing on virtual storage devices nested within the volume. A shim driver may receive an indication of a virtual storage device being surfaced and may parse contents to surface partitions and volumes contained within the virtual storage device to a system. The shim driver may open a guest volume nested within a host volume and may send a register request, regarding the guest volume, to a virtual disk mini-filter associated with the host volume. The virtual disk mini-filter may save information regarding a relationship between the host volume and the guest volume. The saved information may be used to prevent file system corruption when the host volume is dismounted or unexpectedly removed. | 04-01-2010 |
20100125705 | USING DELETE NOTIFICATIONS TO FREE RELATED STORAGE RESOURCES - A storage stack delete notification can be received at a storage stack filter. The delete notification can indicate deletion of primary data in a primary storage region. Secondary data that is taking up storage resources managed by the storage stack filter can be identified. The secondary data can be associated with the primary storage region, and the storage resources can be resources other than the primary storage region. It can be determined whether it is useful to have the secondary data continue taking up the storage resources. If having the secondary data continue taking up the storage resources is not useful, then the storage resources can be freed. | 05-20-2010 |
20100125714 | DELETE NOTIFICATIONS FOR AN ENTIRE STORAGE VOLUME - A delete notification can be received at a storage stack filter in a storage stack. It can be determined whether the delete notification applies to an entire storage volume. If the delete notification does not apply to the entire storage volume, a first set of actions can be taken with the storage stack filter in response to the delete notification. If the delete notification does apply to the entire storage volume, a second set of actions can be taken with the storage stack filter in response to the delete notification. | 05-20-2010 |
20100281080 | Use of Delete Notifications By File Systems And Applications To Release Storage Space - In accordance with one or more aspects, one or more portions of each of multiple files that have been freed are determined. One or more delete notifications are generated identifying the one or more portions of the multiple files. Each portion is identified as a range of data on a storage device, and each delete notification includes one or more ranges of data on the storage device. These generated delete notifications are then sent to a storage stack. Additionally, an application can determine that one or more ranges of data of a storage device are to be freed and send a delete notification, in the absence of a file system on the device, to the storage stack identifying the one or more ranges of data of the storage device that are to be freed. | 11-04-2010 |
20110010569 | Adaptive Flushing of Storage Data - Methods and a processing device are provided for monitoring a level of power in a power supply of a processing device and changing a data flushing policy, with respect to data to be written to a non-volatile storage device, based on a predicted amount of time until power loss. When the predicted amount of time until power loss is higher than a threshold, as defined by a flushing policy, requests from applications for data flushes of data to a non-volatile storage device may be discarded. When the predicted amount of time remaining until power loss drops below the threshold, the requests from the applications for data flushes of the data to the non-volatile storage device may be honored and the data may be flushed to the non-volatile storage device. In some embodiments, the flushing policy may define additional thresholds. | 01-13-2011 |
20110107042 | FORMATTING DATA STORAGE ACCORDING TO DATA CLASSIFICATION - A set of data can be classified into a data level of multiple possible data levels. Additionally, an indicator of the data level for the set of data can be transmitted to a storage device. In response to receiving the indicator, a storage area in the device can be formatted to store data at a storage quality level. The set of data can be stored in the storage area at the storage quality level. | 05-05-2011 |
20110113213 | PACKED STORAGE COMMANDS AND STORAGE COMMAND STREAMS - A packed command can be received at a storage device. The packed command can include an indicator of a source data location in the storage device and an indicator of a destination data location in the storage device. In response to receiving the packed command, a storage map table in the storage device can be updated. Also, a storage processing guide can be sent to a storage device. The processing guide can include a stream indicator associating the processing guide with a storage command stream. A set of storage commands can also be sent to the storage device. One or more of the commands in the set can each include a stream indicator that matches the stream indicator in the processing guide and identifies the command with the stream. | 05-12-2011 |
20120311278 | DELETE NOTIFICATIONS FOR AN ENTIRE STORAGE DEVICE - A delete notification can be received at a storage stack filter in a storage stack. It can be determined whether the delete notification applies to an entire storage device. If the delete notification does not apply to the entire storage device, a first set of actions can be taken with the storage stack filter in response to the delete notification. If the delete notification does apply to the entire storage device, a second set of actions can be taken with the storage stack filter in response to the delete notification. | 12-06-2012 |
20130185341 | USE OF DELETE NOTIFICATIONS BY FILE SYSTEMS AND APPLICATIONS TO RELEASE STORAGE SPACE - In accordance with one or more aspects, one or more portions of at least one file that have been freed are determined. One or more delete notifications are generated that identify the one or more portions of the at least one file. Each portion is identified as a range of data on a storage device, and each delete notification includes one or more ranges of data on the storage device. A determination is made as to when to send the generated delete notifications based on one or more threshold-based criteria. These generated delete notifications are then sent to a storage stack. | 07-18-2013 |
20140149693 | PACKED STORAGE COMMANDS - A packed command can be received at a storage device. The packed command can include an indicator of a source data location in the storage device and an indicator of a destination data location in the storage device. In response to receiving the packed command, a storage map table in the storage device can be updated. | 05-29-2014 |
20140258672 | DEMAND DETERMINATION FOR DATA BLOCKS - The positioning a block of data within a storage hierarchy. For the given block of data, demand statistics are accumulated for each of multiple time periods by evaluating input/output operations on the block of data during the time period and assigning a resulting demand value to the time period for that time period. This is done for multiple time periods so that the accumulated demand for a given point of time may be calculated using the assigned demand values for the previous time periods. The accumulated demand may then be used to determine a level in the storage hierarchy that the block of data should be placed. This allows for the more in-demand memory blocks to be placed in higher in the storage hierarchy. Thus, the principles described herein allow for efficient use of computing resources. | 09-11-2014 |
20140279966 | VOLUME HAVING TIERS OF DIFFERENT STORAGE TRAITS - A volume system that presents a volume having an extent of logical addresses to a file system. A volume exposure system exposes the volume to the file system in a manner that the volume has multiple tiers, each offering storage of different traits. This is performed using multiple heterogenic underlying storage systems, each having different storage system-specific traits. Each underlying storage system may be hardware, software, or a combination thereof that permits each storage system to expose storage having the particular storage system-specific traits to the file system. The volume system supports each tier by mapping logical addresses of the tier to portions of underling storage systems that are consistent with the tier traits. | 09-18-2014 |
20140280392 | FILE SYSTEM OPERATION ON MULTI-TIERED VOLUME - A file system that operates on an underlying volume that has multiple tiers, each tier including a particular trait set. Upon creating or otherwise identifying a file system namespace (such as a directory or file) that is in a volume or that is to be included within the volume, a storage trait set to be applied corresponding to the file system namespace is identified. Then, the storage trait set is compared against the trait sets for the multiple tiers to identify a tier into which to store the file system namespace. The file system namespace is then caused to be stored within the identified tier. Thus, the file system is provided with a volume that has multiple tiers (each having different trait sets) to choose from in storing files. | 09-18-2014 |
20140280397 | HETEROGENIC VOLUME GENERATION AND USE SYSTEM - A system in which a file system may operate on a volume in which the logical address extent of the volume is divided into multiple tiers, each tier providing storage having a distinct trait set by mapping the logical addresses of the volume to appropriate underlying storage systems. A volume system exposes the volume to the file system in a manner that the file system itself has awareness of the tiers, and is aware of the trait sets of each tier. The file system may thus store file system namespaces (such as directories and files) into the tiers as appropriate for the file system namespace. A provisioning system may also be provided and be configured to provision the volume to include such tiers, and if desired, to extend the tiers. | 09-18-2014 |
20140281227 | PROVISIONING IN HETEROGENIC VOLUME OF MULTIPLE TIERS - The provisioning of a volume that has multiple tiers corresponding to different trait sets. The volume to be provisioned is identified along with multiple tiers that are to be in the volume. For each of the tiers that are to be provisioned within the volume, a corresponding trait set is identified as to be applied to each tier. This corresponding trait set may be based on underlying storage systems that are available at the time of provisioning, or which are anticipated to be available. The volume is then caused to be provisioned with the corresponding tiers having the corresponding trait sets. Also, the provisioning of a file, which is determined to have one or more storage traits. Based on these storage traits, the file is then caused to be assigned to an appropriate tier. | 09-18-2014 |