Patents by Inventor Surendra Verma

Surendra Verma 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).

  • Publication number: 20110314246
    Abstract: Aspects of the subject matter described herein relate to storage allocation. In aspects, a hierarchical data structure is used to track allocation data for storage managed by a file system. The hierarchical data structure may have multiple levels with each level having data regarding a different granularity of storage. Portions of the hierarchical data structure may be locked independently of other portions of the hierarchical data structure. The hierarchical data structure may indicate that one or more portions of storage are for exclusive use by a directory. Extra space may be reserved in allocated space in anticipation of subsequent operations. Allocation requestors may obtain storage allocation from regions associated with different levels of the hierarchical data structure.
    Type: Application
    Filed: June 16, 2010
    Publication date: December 22, 2011
    Applicant: Microsoft Corporation
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Publication number: 20110314229
    Abstract: Aspects of the subject matter described herein relate to error detection for files. In aspects, before allowing updates to a clean file, a flag marking the file as dirty is written to non-volatile storage. Thereafter, the file may be updated as long as desired. Periodically or at some other time, the file may be marked as clean after all outstanding updates to the file and error codes associated with the file are written to storage. While waiting for outstanding updates and error codes to be written to storage, if additional requests to update the file are received, the file may be marked as dirty again prior to allowing the additional requests to update the file. The request to write a clean flag regarding the file may be done lazily.
    Type: Application
    Filed: June 17, 2010
    Publication date: December 22, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Publication number: 20110276611
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages operations consistent with transactional behavior. Logging and recovery are also facilitated by logging page data separate from the main log with a unique signature that enables the log to determine whether a page was fully flushed to disk prior to a system crash.
    Type: Application
    Filed: July 13, 2011
    Publication date: November 10, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Patent number: 8037033
    Abstract: A processing device and a machine-implemented method may be provided for sequentially aggregating, or writing, data to a log included in a data store. The log may store multiple log entries. Each of the log entries may include an entry metadata portion, describing a respective log entry, and an entry payload data portion. The entry metadata portion may include a log sequence number, corresponding to a log entry at a particular position in the log. A library of log-related processes may be provided, along with an application program interface to permit a calling application program to call any of the log related processes. The log-related processes may be called during a boot mode, a user mode, and a kernel mode.
    Type: Grant
    Filed: September 22, 2008
    Date of Patent: October 11, 2011
    Assignee: Microsoft Corporation
    Inventors: Shi Cong, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Patent number: 8010559
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages operations consistent with transactional behavior. Transactions over a network are facilitated. Remote files may be accessed within a transaction via a redirector protocol. A redirector on a client computer system communicates with an agent on a server computer system to relay and maintain transactional information on both systems.
    Type: Grant
    Filed: October 22, 2009
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Publication number: 20110197016
    Abstract: A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
    Type: Application
    Filed: April 15, 2011
    Publication date: August 11, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Patent number: 7991971
    Abstract: Aspects of the subject matter described herein relate to transactions. In aspects, a consistency requester such as a shadow copy service requests to have a consistent view of a set of resources. In response, transactions that are in a problematic state are allowed to exit the problematic state while new and existing transactions that are not in the problematic state are allowed to perform any work except work that takes them into the problematic state. After no transactions are in the problematic state, a consistent view of the set of resources is available. This view may be used by the consistency requester as desired. Afterwards, the consistency requester may indicate that a consistent view is no longer needed. Transactions are then allowed to enter the problematic state. Transactions may also be allowed to enter the problematic state if a timeout elapses.
    Type: Grant
    Filed: September 5, 2006
    Date of Patent: August 2, 2011
    Assignee: Microsoft Corporation
    Inventors: Dana D. Groff, James E. Johnson, Jonathan M. Cargille, Norbert P. Kusters, Ran Kalach, Surendra Verma
  • Publication number: 20110145527
    Abstract: Aspects of the subject matter described herein relate to maintaining consistency in a storage system. In aspects, one or more objects may be updated in the context of a transaction. In conjunction with updating the objects, logical copies of the objects may be obtained and modified. A request to write the updated logical copies is sent to a storage controller. The logical copies do not overwrite the original copies. In conjunction with sending the request, a data structure is provided for the storage controller to store on the disk. The data structure indicates the one or more objects that were supposed to be written to disk and may include verification data to indicate the content that was supposed to be written to disk. During recovery, this data structure may be used to determine whether all of the object(s) were correctly written to disk.
    Type: Application
    Filed: December 11, 2009
    Publication date: June 16, 2011
    Applicant: Microsoft Corporation
    Inventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
  • Patent number: 7953774
    Abstract: A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
    Type: Grant
    Filed: September 19, 2008
    Date of Patent: May 31, 2011
    Assignee: Microsoft Corporation
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Publication number: 20100199109
    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: Application
    Filed: February 2, 2009
    Publication date: August 5, 2010
    Applicant: Microsoft Corporation
    Inventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
  • Publication number: 20100082550
    Abstract: A method and a processing device are provided for sequentially aggregating data to a write log included in a volume of a random-access medium. When data of a received write request is determined to be suitable for sequentially aggregating to a write log, the data may be written to the write log and a remapping tree, for mapping originally intended destinations on the random-access medium to one or more corresponding entries in the write log, may be maintained and updated. At time periods, a checkpoint may be written to the write log. The checkpoint may include information describing entries of the write log. One or more of the checkpoints may be used to recover the write log, at least partially, after a dirty shutdown. Entries of the write log may be drained to respective originally intended destinations upon an occurrence of one of a number of conditions.
    Type: Application
    Filed: September 19, 2008
    Publication date: April 1, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Publication number: 20100082918
    Abstract: A processing device and a machine-implemented method may be provided for sequentially aggregating, or writing, data to a log included in a data store. The log may store multiple log entries. Each of the log entries may include an entry metadata portion, describing a respective log entry, and an entry payload data portion. The entry metadata portion may include a log sequence number, corresponding to a log entry at a particular position in the log. A library of log-related processes may be provided, along with an application program interface to permit a calling application program to call any of the log related processes. The log-related processes may be called during a boot mode, a user mode, and a kernel mode.
    Type: Application
    Filed: September 22, 2008
    Publication date: April 1, 2010
    Applicant: Microsoft Corporation
    Inventors: Shi Cong, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
  • Publication number: 20100042626
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages operations consistent with transactional behavior. Transactions over a network are facilitated. Remote files may be accessed within a transaction via a redirector protocol. A redirector on a client computer system communicates with an agent on a server computer system to relay and maintain transactional information on both systems.
    Type: Application
    Filed: October 22, 2009
    Publication date: February 18, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Patent number: 7636946
    Abstract: Aspects of the subject matter described herein relate to antivirus protection and transactions. In aspects, a filter detects that a file is participating in a transaction and then may cause the file to be scanned together with any changes that have made to the file during the transaction. After a file is scanned, a cache entry may be updated to indicate that the file is clean. The cache entry may be used subsequently for like-type states. For example, if the file was scanned inside a transaction, the cache entry may be used later in the transaction. If the file was scanned outside a transaction, the cache entry may be used later for requests pertaining to files not in a transaction. Cache entries may be discarded when they are invalid or no longer useful.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: December 22, 2009
    Assignee: Microsoft Corporation
    Inventors: Surendra Verma, Dana D. Groff, Jonathan M. Cargille, Andrew M. Herron, Christian G. Allred, Neal R. Christiansen, Alexey A. Polyakov
  • Patent number: 7613698
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations are to be handled as a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages the operations consistent with transactional behavior. The component handles namespace logging operations in a multiple-level log that facilitates logging and recovery. Page data is logged separate from the main log, with a unique signature that enables the log to determine whether a page was fully flushed to disk prior to a system crash.
    Type: Grant
    Filed: February 14, 2005
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Patent number: 7591015
    Abstract: Kernel objects for implementing a transaction have a security descriptor applied thereto. The kernel objects include, at least, a transaction object, a resource management object, and an enlistment object. The security descriptor, otherwise known as an access control list, identifies at least one user, an operation to be performed on the kernel object to which the security descriptor is applied, and a right indicating that the identified user is permitted or prohibited to perform the operation.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: September 15, 2009
    Assignee: Microsoft Corporation
    Inventors: Jon Cargille, Surendra Verma, Mark J. Zbikowski, William R. Tipton
  • Patent number: 7539999
    Abstract: Transactions among kernel objects utilize application program interfaces (APIs) to implement operations on a transaction object and APIs to implement operations on a resource manager object.
    Type: Grant
    Filed: October 23, 2003
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: Jon Cargille, Surendra Verma, Mark J. Zbikowski, Dexter P. Bradshaw, James E. Johnson, Muhunthan Sivapragasam, Steven J. Malan
  • Publication number: 20090112942
    Abstract: A common logging system (a “virtual logging system”) that presents to one or more log clients the appearance that each log client is interacting with a dedicated logging system. In reality, the virtual logging system is multiplexing virtual log streams, including log records, for each log client into a single transactional log. In particular, the invention is directed at a system and method for decoupling space reservation between a plurality of distributed components and a core component in the virtual logging system.
    Type: Application
    Filed: December 31, 2008
    Publication date: April 30, 2009
    Applicant: Microsoft Corporation
    Inventors: Dexter Paul Bradshaw, Surendra Verma
  • Patent number: 7512636
    Abstract: A transactional file system wherein multiple file system operations may be performed as a transaction. An application specifies that file system-related operations should be handled in a transaction, and the application is given a file handle associated with a transaction context. For file system requests associated with a transaction context, a file system component manages operations consistent with transactional behavior. The component provides data isolation by providing multiple file versions, such that transactional readers do not receive changes until after the transaction commits and the reader reopens the file. The component also handles namespace logging operations in a multiple-level log that facilitates logging and recovery. Namespace isolation is provided until a transaction commits via isolation directories, whereby until committed, a transaction sees the effects of its own operations but not the operations of other transactions.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
  • Publication number: 20090044204
    Abstract: 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.
    Type: Application
    Filed: August 8, 2007
    Publication date: February 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Dana Groff, Jonathan Cargille, Surendra Verma, Andrew Herron, Dragos Sambotin, Christian Allred, William R. Tipton, Karthik Thirumalai