Patents by Inventor Emanuel Paleologu

Emanuel Paleologu 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: 11620136
    Abstract: Data is identified that defines a known good state for a current operating system. The identified data includes read-only sets that are not updated during operation of the computing device, and modifiable sets that can be updated during operation of the computing device. The read-only sets are captured on an opportunistic basis and the modifiable sets are captured when the computing device is to be rebooted. A first and second virtual disk are allocated as snapshots of the identified data. The first virtual disk is updated to generate an updated state. The updates to the first virtual disk are isolated from the second virtual disk. The second virtual disk is maintained as an immutable snapshot of the identified data. In response to a failed reboot with the updated state, the computing device reverts to the known good state using the snapshot of the identified data.
    Type: Grant
    Filed: May 13, 2019
    Date of Patent: April 4, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Vinod R. Shankar, Taylor Alan Hope, Karan Mehra, Emanuel Paleologu
  • Publication number: 20200364058
    Abstract: Data is identified that defines a known good state for a current operating system. The identified data includes read-only sets that are not updated during operation of the computing device, and modifiable sets that can be updated during operation of the computing device. The read-only sets are captured on an opportunistic basis and the modifiable sets are captured when the computing device is to be rebooted. A first and second virtual disk are allocated as snapshots of the identified data. The first virtual disk is updated to generate an updated state. The updates to the first virtual disk are isolated from the second virtual disk. The second virtual disk is maintained as an immutable snapshot of the identified data. In response to a failed reboot with the updated state, the computing device reverts to the known good state using the snapshot of the identified data.
    Type: Application
    Filed: May 13, 2019
    Publication date: November 19, 2020
    Inventors: Vinod R. SHANKAR, Taylor Alan Hope, Karan Mehra, Emanuel PALEOLOGU
  • Publication number: 20200341746
    Abstract: Data is stored that defines a known good state for a current operating system that can launch the computing device to the known good state in response to a reboot of a computing device. The data is associated with an indication that the data is usable to reboot the computing device. The operating system is updated to generate an updated state that can launch the computing device to the updated state in response to a reboot. The updated state is associated with an indication that the data is usable to reboot the computing device for a limited number of attempts. In response to a failed reboot, the reboot is retried until the known good state is to be used for reboot. When the known good state is to be used for reboot, the known good state is reverted to and the computing device is rebooted using the known good state.
    Type: Application
    Filed: April 29, 2019
    Publication date: October 29, 2020
    Inventors: Karan MEHRA, Emanuel PALEOLOGU
  • Patent number: 10585588
    Abstract: Virtual storage free space management techniques may calculate a data allocation value of a virtual storage entity based on a number of storage slabs allocated with data. The virtual storage free space management techniques may further analyze a physical storage entity to determine a storage allocation value associated with the physical storage entity. The storage allocation value may be obtained by summing the storage amount in bytes associated with each of the storage slabs of the physical storage entity that is allocated to one or more virtual storage entities. A free space value associated with the virtual storage entity may be determined based on the storage allocation value and the data allocation value.
    Type: Grant
    Filed: December 19, 2017
    Date of Patent: March 10, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karan Mehra, Neal R. Christiansen, Emanuel Paleologu
  • Patent number: 10452445
    Abstract: The techniques disclosed herein provide a dynamically configurable cluster of storage devices. In some configurations, the dynamically configurable cluster is associated with a fault domain. The cluster may include a plurality of computing devices that each include at least a storage device. The plurality of storage devices in the cluster may be configured to support a plurality of workloads coupled to the dynamically configurable cluster. The plurality of storage devices in the dynamically configurable cluster may be allocated to one or more of the plurality of workloads based on metadata identified resiliency requirements, performance requirements, and/or cost factors linked to the one or more of the plurality of workloads.
    Type: Grant
    Filed: August 30, 2017
    Date of Patent: October 22, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karan Mehra, Emanuel Paleologu, Vinod R. Shankar
  • Publication number: 20190146678
    Abstract: Virtual storage free space management techniques may calculate a data allocation value of a virtual storage entity based on a number of storage slabs allocated with data. The virtual storage free space management techniques may further analyze a physical storage entity to determine a storage allocation value associated with the physical storage entity. The storage allocation value may be obtained by summing the storage amount in bytes associated with each of the storage slabs of the physical storage entity that is allocated to one or more virtual storage entities. A free space value associated with the virtual storage entity may be determined based on the storage allocation value and the data allocation value.
    Type: Application
    Filed: December 19, 2017
    Publication date: May 16, 2019
    Inventors: Karan MEHRA, Neal R. CHRISTIANSEN, Emanuel PALEOLOGU
  • Publication number: 20190138407
    Abstract: A computing device that runs an operating system (OS) in a resilient OS mode in which configuration parameters of the OS are accessible from multiple physical drives so that the computing device can continue to operate notwithstanding a failure to any one of the multiple physical drives. The computing device may be configured with a Virtual Drive to store duplicative copies of the OS and associated configuration parameters across at least two physical drives. The computing device may further be configured with a firmware interface that is deployable to initialize the OS by accessing the Virtual Drive to load the OS and associated configuration parameters into a memory of the computing device. Once initialized, the OS may be operated from the Virtual Drive so that interruption from a failure of any one of the at least two physical drives storing the OS is mitigated.
    Type: Application
    Filed: December 22, 2017
    Publication date: May 9, 2019
    Inventors: Karan MEHRA, Emanuel PALEOLOGU, Tarun RAMANI
  • Patent number: 10178174
    Abstract: Embodiments are directed to modifying storage capacity within a data store and to modifying resiliency for a data store. In one scenario, a computer system receives a request to move data. The computer system may determine that data is to be moved from an allocation on one data store to a new allocation on another data store. The computer system may create a new allocation on the other data store, where the new allocation is configured to receive data from the first data store. The computer system then moves the data to the new allocation on the second data store as data I/O requests are received at the first data store. Data store access requests are synchronized with the data movement by directing the data store access requests to the first data store, to the second data store or to both data stores depending on the type of access request.
    Type: Grant
    Filed: July 10, 2017
    Date of Patent: January 8, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Surendra Verma, Emanuel Paleologu, Erik Gregory Hortsch, Karan Mehra
  • Publication number: 20190004860
    Abstract: The techniques disclosed herein provide a dynamically configurable cluster of storage devices. In some configurations, the dynamically configurable cluster is associated with a fault domain. The cluster may include a plurality of computing devices that each include at least a storage device. The plurality of storage devices in the cluster may be configured to support a plurality of workloads coupled to the dynamically configurable cluster. The plurality of storage devices in the dynamically configurable cluster may be allocated to one or more of the plurality of workloads based on metadata identified resiliency requirements, performance requirements, and/or cost factors linked to the one or more of the plurality of workloads.
    Type: Application
    Filed: August 30, 2017
    Publication date: January 3, 2019
    Inventors: Karan MEHRA, Emanuel PALEOLOGU, Vinod R. SHANKAR
  • Publication number: 20170310757
    Abstract: Embodiments are directed to modifying storage capacity within a data store and to modifying resiliency for a data store. In one scenario, a computer system receives a request to move data. The computer system may determine that data is to be moved from an allocation on one data store to a new allocation on another data store. The computer system may create a new allocation on the other data store, where the new allocation is configured to receive data from the first data store. The computer system then moves the data to the new allocation on the second data store as data I/O requests are received at the first data store. Data store access requests are synchronized with the data movement by directing the data store access requests to the first data store, to the second data store or to both data stores depending on the type of access request.
    Type: Application
    Filed: July 10, 2017
    Publication date: October 26, 2017
    Inventors: Surendra Verma, Emanuel Paleologu, Erik Gregory Hortsch, Karan Mehra
  • Publication number: 20160080490
    Abstract: Embodiments are directed to modifying storage capacity within a data store and to modifying resiliency for a data store. In one scenario, a computer system receives a request to move data. The computer system may determine that data is to be moved from an allocation on one data store to a new allocation on another data store. The computer system may create a new allocation on the other data store, where the new allocation is configured to receive data from the first data store. The computer system then moves the data to the new allocation on the second data store as data I/O requests are received at the first data store. Data store access requests are synchronized with the data movement by directing the data store access requests to the first data store, to the second data store or to both data stores depending on the type of access request.
    Type: Application
    Filed: September 15, 2014
    Publication date: March 17, 2016
    Inventors: Surendra Verma, Emanuel Paleologu, Erik Gregory Hortsch, Karan Mehra
  • Patent number: 9081753
    Abstract: Techniques for recovery and redistribution of data from a virtual disk storage system are described herein. In one or more implementations, a storage scheme derived for a virtual disk configuration is configured to implement various recovery and redistribution designed to improve recovery performance. The storage scheme implements one or more allocation techniques to produce substantially uniform or nearly uniform distributions of data across physical storage devices associated with a virtual disk. The allocation facilitates concurrent regeneration and rebalancing operations for recovery of data in the event of failures. Additionally, the storage scheme is configured to implements parallelization techniques to perform the concurrent operations including but not limited to controlling multiple parallel read/writes during recovery.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 14, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Emanuel Paleologu, Shiv K. Rajpal, Karan Mehra, Surendra Verma, Nandagopal Kirubanandan
  • Patent number: 9069468
    Abstract: A set of storage devices may interoperate to share a pool of storage space, such as in a Redundant Array of Inexpensive Disks (RAID) scheme. However, the details of the representation of the pool and the allocation of capacity to the pool may enable advantages and/or impose limitations on the storage set. Presented herein are techniques for generating a representing a pooled partition on one or more storage devices featuring a pool configuration representing the pool as a set of spaces manifested by the pool; a set of storage devices sharing the pool; and a set of extents that map physical areas of the storage devices to logical areas of the spaces. The flexibility of these pooling techniques may enable such features as flexible capacity allocation, delayed binding, thin provisioning, and the participation of a storage device in two or more distinct pools shared with different sets of storage devices.
    Type: Grant
    Filed: September 11, 2011
    Date of Patent: June 30, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Karan Mehra, Emanuel Paleologu
  • Patent number: 9003103
    Abstract: A storage set (e.g., an array of hard disk drives) may experience a failure, such as a loss of power, a software crash, or a disconnection of a storage device, while writes to the storage set are in progress. Recover from the failure may involve scanning the storage set to detect and correct inconsistencies (e.g., comparing mirrors of a data set or testing checksums). However, lacking information about the locations of pending writes to the storage set during the failure, this “cleaning” process may involve scanning the entire storage set, resulting in protracted recovery processes. Presented herein are techniques for tracking writes to the storage set by apportioning the storage set into regions of a region size (e.g., one gigabyte), and storing on the nonvolatile storage medium descriptors of “dirty” regions comprising in-progress writes. The post-failure recovery process may then be limited to the regions identified as dirty.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: April 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Emanuel Paleologu, Karan Mehra, Darren Moss
  • Publication number: 20140281692
    Abstract: Techniques for recovery and redistribution of data from a virtual disk storage system are described herein. In one or more implementations, a storage scheme derived for a virtual disk configuration is configured to implement various recovery and redistribution designed to improve recovery performance. The storage scheme implements one or more allocation techniques to produce substantially uniform or nearly uniform distributions of data across physical storage devices associated with a virtual disk. The allocation facilitates concurrent regeneration and rebalancing operations for recovery of data in the event of failures. Additionally, the storage scheme is configured to implements parallelization techniques to perform the concurrent operations including but not limited to controlling multiple parallel read/writes during recovery.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Emanuel Paleologu, Shiv K. Rajpal, Karan Mehra, Surendra Verma, Nandagopal Kirubanandan
  • Patent number: 8793463
    Abstract: A storage device set may allocate capacity for spaces (e.g., logical volumes) according to an allocation strategy, e.g., allocating capacity from the storage device having the greatest available capacity, or maximizing the distribution of allocated capacity across the storage devices. However, such allocation strategies may be inefficient (e.g., limiting the capability of the storage device set to satisfy subsequent requests with constraints such as a minimum distribution of capacity across several storage devices). The techniques presented herein achieve efficient allocation by first allocating capacity on storage devices having ample available capacity using a round-robin technique, and if such storage devices do not satisfy the capacity request, allocating capacity on storage devices having limited available capacity.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: July 29, 2014
    Assignee: Microsoft Corporation
    Inventors: Darren Moss, Karan Mehra, Emanuel Paleologu
  • Publication number: 20130067187
    Abstract: A storage device set may allocate capacity for spaces (e.g., logical volumes) according to an allocation strategy, e.g., allocating capacity from the storage device having the greatest available capacity, or maximizing the distribution of allocated capacity across the storage devices. However, such allocation strategies may be inefficient (e.g., limiting the capability of the storage device set to satisfy subsequent requests with constraints such as a minimum distribution of capacity across several storage devices). The techniques presented herein achieve efficient allocation by first allocating capacity on storage devices having ample available capacity using a round-robin technique, and if such storage devices do not satisfy the capacity request, allocating capacity on storage devices having limited available capacity.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Darren Moss, Karan Mehra, Emanuel Paleologu
  • Publication number: 20130067179
    Abstract: A storage set (e.g., an array of hard disk drives) may experience a failure, such as a loss of power, a software crash, or a disconnection of a storage device, while writes to the storage set are in progress. Recover from the failure may involve scanning the storage set to detect and correct inconsistencies (e.g., comparing mirrors of a data set or testing checksums). However, lacking information about the locations of pending writes to the storage set during the failure, this “cleaning” process may involve scanning the entire storage set, resulting in protracted recovery processes. Presented herein are techniques for tracking writes to the storage set by apportioning the storage set into regions of a region size (e.g., one gigabyte), and storing on the nonvolatile storage medium descriptors of “dirty” regions comprising in-progress writes. The post-failure recovery process may then be limited to the regions identified as dirty.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Emanuel Paleologu, Karan Mehra, Darren Moss
  • Publication number: 20130067191
    Abstract: A set of storage devices may interoperate to share a pool of storage space, such as in a Redundant Array of Inexpensive Disks (RAID) scheme. However, the details of the representation of the pool and the allocation of capacity to the pool may enable advantages and/or impose limitations on the storage set. Presented herein are techniques for generating a representing a pooled partition on one or more storage devices featuring a pool configuration representing the pool as a set of spaces manifested by the pool; a set of storage devices sharing the pool; and a set of extents that map physical areas of the storage devices to logical areas of the spaces. The flexibility of these pooling techniques may enable such features as flexible capacity allocation, delayed binding, thin provisioning, and the participation of a storage device in two or more distinct pools shared with different sets of storage devices.
    Type: Application
    Filed: September 11, 2011
    Publication date: March 14, 2013
    Applicant: Microsoft Corporation
    Inventors: Karan Mehra, Emanuel Paleologu
  • Patent number: 8370919
    Abstract: A host firewall can determine and consider whether unsolicited traffic is inbound from beyond the edge of the network and allow or block such traffic based at least in part upon this characteristic. In one implementation, an edge traversal parameter can be set on a host firewall rule, which typically includes other parameters such as port, protocol, etc. If the unsolicited traffic received via an edge traversal interface matches a host firewall rule that has the edge traversal criterion, then the firewall does not block the traffic. On the other hand, if the unsolicited traffic received via an edge traversal interface fails to satisfy the edge traversal criterion on any firewall rule, then the firewall blocks the traffic.
    Type: Grant
    Filed: June 26, 2007
    Date of Patent: February 5, 2013
    Assignee: Microsoft Corporation
    Inventors: David Abzarian, Michael R. Surkan, Salahuddin C. J. Khan, Amit A. Sehgal, Eran Yariv, Emanuel Paleologu, Gerardo Diaz Cuellar