Patents by Inventor Vladimir Sadovsky

Vladimir Sadovsky has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9261933
    Abstract: Power consumption of a device (e.g., flash storage driver, hard drive, etc.) connected to a host computer system is managed to promote efficient power usage and improved service. Communication between a host computer system (e.g., an operating system) and a device is enabled so that the host system can ascertain a power footprint of the device. Taking the power footprint of the device into consideration, along with the power consumption of the system as a whole (e.g., including the power consumption needs of other devices), a power manager can provide a power budget to the device based upon an informed decision. This allows for improved system power management through a coordination of the device's power consumption by the host system, specifically during operation allowing device performance to be enhanced for the task at hand.
    Type: Grant
    Filed: April 8, 2013
    Date of Patent: February 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Burg, Nathan Steven Obr, Vladimir Sadovsky
  • Patent number: 9111103
    Abstract: An access control device can be communicationally coupled to a storage device and can control access thereto. The access control device can comprise information, such as identities of authorized entities, to enable the access control device to independently determine whether to provide access to an associated storage device. Alternatively, the access control device can comprise information to establish a secure connection to an authorization computing device and the access control device can implement the decisions of the authorization computing device. The access control device can control access by instructing a storage device to execute specific firmware instructions to prevent meaningful responses to data storage related requests. The access control device can also comprise storage-related cryptographic information utilized by the storage device to encrypt and decrypt data.
    Type: Grant
    Filed: November 26, 2012
    Date of Patent: August 18, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vladimir Sadovsky, Sompong Paul Olarig, Chris Lionetti, James Robert Hamilton
  • Patent number: 9104534
    Abstract: Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: August 11, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Patent number: 8990634
    Abstract: Methods and a computing device are disclosed. A computing device may include a managed device having embedded firmware. When a failure occurs with respect to the managed device, drivers within the computing device may collect failure data from a driver stack of the computing device and from the managed device. The computing device may send the collected failure data to one or more second computing devices to be stored and analyzed. The computing device may include a health monitor for periodically collecting telemetry data from the computing device and the managed device. When the health monitor becomes aware of conditions indicative of a possible impending failure, the health monitor may trigger collection of sickness telemetry data from the computing device and the managed device. Collected data from the managed device may be made available to a vendor of the managed device.
    Type: Grant
    Filed: November 3, 2010
    Date of Patent: March 24, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Vladimir Sadovsky, Vincent Orgovan, Jr., Nathan Steven Obr, Scott Chao-Chueh Lee
  • Publication number: 20150040206
    Abstract: Processes for identifying and recovering a lost transient storage device are provided. In some processes, information regarding the owner of the device is obtained. The device ownership information may be stored on a remote service with which the device is registered and/or may be stored on the device itself. In one process, the remote service provides the device with customized device-executable code when the device is registered. The device may also contain information regarding trusted systems. The process includes obtaining status information indicating whether a device is lost when the device is connected to a host system. In some processes, the status is determined by a remote service. In other processes, the status is determined by the device. If the device is lost then a device recovery plan is executed. Portions of a device recovery plan may be executed on the remote service, the host system, and/or the device.
    Type: Application
    Filed: October 15, 2014
    Publication date: February 5, 2015
    Inventors: Janet Schneider, Emily Wilson, Vladimir Sadovsky, Robin Alexander
  • Publication number: 20140359206
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Application
    Filed: August 15, 2014
    Publication date: December 4, 2014
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Patent number: 8881309
    Abstract: Processes for identifying and recovering a lost transient storage device are provided. In some processes, information regarding the owner of the device is obtained. The device ownership information may be stored on a remote service with which the device is registered and/or may be stored on the device itself. In one process, the remote service provides the device with customized device-executable code when the device is registered. The device may also contain information regarding trusted systems. The process includes obtaining status information indicating whether a device is lost when the device is connected to a host system. In some processes, the status is determined by a remote service. In other processes, the status is determined by the device. If the device is lost then a device recovery plan is executed. Portions of a device recovery plan may be executed on the remote service, the host system, and/or the device.
    Type: Grant
    Filed: March 4, 2008
    Date of Patent: November 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Janet Schneider, Emily Wilson, Vladimir Sadovsky, Robin Alexander
  • Publication number: 20140310451
    Abstract: Techniques for block storage using a hybrid memory device are described. In at least some embodiments, a hybrid memory device includes a volatile memory portion, such as dynamic random access memory (DRAM). The hybrid memory device further includes non-volatile memory portion, such as flash memory. In at least some embodiments, the hybrid memory device can be embodied as a non-volatile dual in-line memory module, or NVDIMM. Techniques discussed herein employ various functionalities to enable the hybrid memory device to be exposed to various entities as an available block storage device.
    Type: Application
    Filed: April 12, 2013
    Publication date: October 16, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Scott Chao-Chueh Lee, Robin A. Alexander, Lee E. Prewitt, Chiuchin Chen, Vladimir Sadovsky
  • Patent number: 8812970
    Abstract: Processes for presenting a current state of a device having device storage connected with a host system are provided. In some processes, device manufacturers or vendors define a set of operational states of a device and provide user interface (UI) elements of a custom representation of each state through information stored in the device storage. Initially, the set of states of the device and UI elements associated with each state are received from the device storage. Information regarding a current state is received from the device, and a representation of the current state, which includes the received UI elements, is presented on the host system. In other processes, UI elements of a representation of each state are obtained from a remote system using device identification information. In other processes, UI elements from the device, from the host system, and/or from a remote system are combined to form a state representation.
    Type: Grant
    Filed: February 27, 2008
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Robin Alexander, Vladimir Sadovsky, Narasimhan Ramasubramanian
  • Patent number: 8812770
    Abstract: Methods and devices are provided for adapting an I/O pattern, with respect to a processing device using a non-volatile block storage device based on feedback from the non-volatile block storage device. The feedback may include information indicating a status of the non-volatile block storage device. In response to receiving the feedback, a storage subsystem, included in an operating system executing on processing device, may change a behavior with respect to the non-volatile block storage device in order to avoid, or reduce, a negative impact to the non-volatile block storage device or to enhance an aspect of the non-volatile block storage device. The feedback may include performance information and/or operating environmental information of the non-volatile block storage device. When the non-volatile block storage device is not capable of providing the feedback, the processing device may request information about the non-volatile block storage device from a database service.
    Type: Grant
    Filed: July 13, 2009
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Nathan Steven Obr, James C. Bovee, Robin A. Alexander
  • Patent number: 8806114
    Abstract: A data block may be moved between a first medium and a second medium. The movement of the data block involves measuring the access characteristic of the data block as the data block is stored on the first medium. The performance characteristics of the first medium and the second medium are then determined, in which each performance characteristic has a static performance characteristic component and a dynamic performance characteristic component. Alternatively or concurrently, the static performance characteristic components of the first medium and the second medium may be compared, and the dynamic performance characteristic components of the first medium and the second medium are compared. Accordingly, the data block is moved from the first medium to the second medium when at least one of these comparisons indicate that the second medium is more suitable for storing the data block having the access characteristic than the first medium.
    Type: Grant
    Filed: January 11, 2013
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: James R. Hamilton, Vladimir Sadovsky
  • Patent number: 8713090
    Abstract: Enhancing user experiences using aggregated device usage data includes receiving aggregated usage data for a device, such as a computing device and/or a peripheral device. A current user context for the device is identified, and based on the aggregated usage data and the current user context an enhanced user interface is generated.
    Type: Grant
    Filed: December 15, 2006
    Date of Patent: April 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Michael D. Stokes, Jonathan R. Schwarz
  • Publication number: 20140089278
    Abstract: Embodiments of the present disclosure provide for a method and system for storing content based on one or more attributes associated with the content. Specifically, the present disclosure provides for determining storage capabilities of one or more storage devices associated with a computing device and also determining a retention policy associated with the content. In certain embodiments, the retention policy is identified by the one or more attributes. When the retention policy and the capabilities of the one or more storage devices have been determined, the content is written to the one or more storage devices based on the retention policy.
    Type: Application
    Filed: September 24, 2012
    Publication date: March 27, 2014
    Applicant: Microsoft Corporation
    Inventors: Dan Lovinger, Spencer Shepler, Vladimir Sadovsky
  • Patent number: 8566689
    Abstract: An integrity unit can be calculated from a first data unit, and a first storage device can be requested to store the first data unit. A second storage device, which can be separate from and/or a different type of device from the first storage device, can be requested to store metadata, which includes the integrity unit, in nonvolatile memory. Also, a second data unit can be received from the first storage device in response to a request for the first data unit. The integrity unit can be received from the second storage device, and the second data unit and the integrity unit can be analyzed to determine whether the second data unit matches the first data unit. Alternatively, a first integrity unit can be stored in a metadata region of a nonvolatile memory block, where the block also stores the data from which the first integrity unit was calculated.
    Type: Grant
    Filed: October 22, 2009
    Date of Patent: October 22, 2013
    Assignee: Microsoft Corporation
    Inventors: Shiv K. Rajpal, Vladimir Sadovsky, Robin A. Alexander
  • Patent number: 8433931
    Abstract: Power consumption of a device (e.g., flash storage driver, hard drive, etc.) connected to a host computer system is managed to promote efficient power usage and improved service. Communication between a host computer system (e.g., an operating system) and a device is enabled so that the host system can ascertain a power footprint of the device. Taking the power footprint of the device into consideration, along with the power consumption of the system as a whole (e.g., including the power consumption needs of other devices), a power manager can provide a power budget to the device based upon an informed decision. This allows for improved system power management through a coordination of the device's power consumption by the host system, specifically during operation allowing device performance to be enhanced for the task at hand.
    Type: Grant
    Filed: May 13, 2009
    Date of Patent: April 30, 2013
    Assignee: Microsoft Corporation
    Inventors: David Burg, Nathan Steven Obr, Vladimir Sadovsky
  • Patent number: 8375190
    Abstract: The invention relates to an architecture for optimization that can leverage the several advantages of flash memory or hard disk technology, while simultaneously compensating for associated disadvantages. In a system with a flash module and a hard disk, respective memory can be dynamically allocated as a function of demand, preference, or utilization of respective applications in order to optimize overall system performance.
    Type: Grant
    Filed: December 11, 2007
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: James R. Hamilton, Vladimir Sadovsky
  • Patent number: 8375227
    Abstract: Providing for a paradigm shift in block-level abstraction for storage devices is described herein. At a block-level, storage is characterized as a variable size data record, rather than a fixed size sector. In some aspects, the variable size data record can comprise a variable binary key-data pair, for addressing and identifying a variable size block of data, and for dynamically specifying the size of such block in terms of data storage. By changing the key or data values, the location, identity or size of block-level storage can be modified. Data records can be passed to and from the storage device to facilitate operational commands over ranges of such records. Block-level data compression, space management and transactional operations are provided, mitigating a need of higher level systems to characterize underlying data storage for implementation of such operations.
    Type: Grant
    Filed: February 2, 2009
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Patent number: 8332751
    Abstract: In accordance with certain aspects of the removal of redundant information from electronic documents, a package for an electronic document includes a plurality of parts. The package is accessed, and redundant information in one or more of the plurality of parts is identified. The identified redundant information is removed from the package.
    Type: Grant
    Filed: November 14, 2006
    Date of Patent: December 11, 2012
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Michael D. Stokes, Joseph D. Ternasky, Hubert Van Hoof
  • Patent number: 8321956
    Abstract: An access control device can be communicationally coupled to a storage device and can control access thereto. The access control device can comprise information, such as identities of authorized entities, to enable the access control device to independently determine whether to provide access to an associated storage device. Alternatively, the access control device can comprise information to establish a secure connection to an authorization computing device and the access control device can implement the decisions of the authorization computing device. The access control device can control access by instructing a storage device to execute specific firmware instructions to prevent meaningful responses to data storage related requests. The access control device can also comprise storage-related cryptographic information utilized by the storage device to encrypt and decrypt data.
    Type: Grant
    Filed: June 17, 2009
    Date of Patent: November 27, 2012
    Assignee: Microsoft Corporation
    Inventors: Vladimir Sadovsky, Sompong Paul Olarig, Chris Lionetti, James Robert Hamilton
  • Patent number: 8286015
    Abstract: A multi-device storage system can be arranged into power saving systems by placing one or more storage devices into a reduced power consuming state when the storage activity associated with the system is sufficiently reduced that an attendant decrease in throughput will not materially affect users of the storage system. Where data redundancy is provided for, a redundant storage device can be placed into the reduced power consuming state and its redundancy responsibilities can be transitioned to a partition of a larger storage device. Such transitions can be based on specific parameters, such as write cycles or latency, crossing thresholds, including upper and lower thresholds, they can also be based on pre-set times, or a combination thereof. Lifecycle information, including lifecycle information collected in real-time by storage devices on a block-by-block basis, can be utilized to obtain historical empirical data from which to select the pre-set times.
    Type: Grant
    Filed: June 3, 2009
    Date of Patent: October 9, 2012
    Assignee: Microsoft Corporation
    Inventors: Sompong Paul Olarig, Chris Lionetti, Shiv Rajpal, Vladimir Sadovsky