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: 20110314246Abstract: 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: ApplicationFiled: June 16, 2010Publication date: December 22, 2011Applicant: Microsoft CorporationInventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
-
Publication number: 20110314229Abstract: 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: ApplicationFiled: June 17, 2010Publication date: December 22, 2011Applicant: MICROSOFT CORPORATIONInventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
-
Publication number: 20110276611Abstract: 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: ApplicationFiled: July 13, 2011Publication date: November 10, 2011Applicant: MICROSOFT CORPORATIONInventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
-
Patent number: 8037033Abstract: 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: GrantFiled: September 22, 2008Date of Patent: October 11, 2011Assignee: Microsoft CorporationInventors: Shi Cong, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Patent number: 8010559Abstract: 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: GrantFiled: October 22, 2009Date of Patent: August 30, 2011Assignee: Microsoft CorporationInventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
-
Publication number: 20110197016Abstract: 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: ApplicationFiled: April 15, 2011Publication date: August 11, 2011Applicant: MICROSOFT CORPORATIONInventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Patent number: 7991971Abstract: 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: GrantFiled: September 5, 2006Date of Patent: August 2, 2011Assignee: Microsoft CorporationInventors: Dana D. Groff, James E. Johnson, Jonathan M. Cargille, Norbert P. Kusters, Ran Kalach, Surendra Verma
-
Publication number: 20110145527Abstract: 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: ApplicationFiled: December 11, 2009Publication date: June 16, 2011Applicant: Microsoft CorporationInventors: Thomas J. Miller, Jonathan M. Cargille, William R. Tipton, Surendra Verma
-
Patent number: 7953774Abstract: 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: GrantFiled: September 19, 2008Date of Patent: May 31, 2011Assignee: Microsoft CorporationInventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Publication number: 20100199109Abstract: 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: ApplicationFiled: February 2, 2009Publication date: August 5, 2010Applicant: Microsoft CorporationInventors: Soner Terek, Vladimir Sadovsky, Surendra Verma, Avi R. Geiger
-
Publication number: 20100082550Abstract: 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: ApplicationFiled: September 19, 2008Publication date: April 1, 2010Applicant: MICROSOFT CORPORATIONInventors: Shi Cong, Scott Brender, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Publication number: 20100082918Abstract: 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: ApplicationFiled: September 22, 2008Publication date: April 1, 2010Applicant: Microsoft CorporationInventors: Shi Cong, Karan Mehra, Darren G. Moss, William R. Tipton, Surendra Verma
-
Publication number: 20100042626Abstract: 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: ApplicationFiled: October 22, 2009Publication date: February 18, 2010Applicant: MICROSOFT CORPORATIONInventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
-
Patent number: 7636946Abstract: 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: GrantFiled: March 15, 2006Date of Patent: December 22, 2009Assignee: Microsoft CorporationInventors: Surendra Verma, Dana D. Groff, Jonathan M. Cargille, Andrew M. Herron, Christian G. Allred, Neal R. Christiansen, Alexey A. Polyakov
-
Patent number: 7613698Abstract: 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: GrantFiled: February 14, 2005Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
-
Patent number: 7591015Abstract: 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: GrantFiled: October 23, 2003Date of Patent: September 15, 2009Assignee: Microsoft CorporationInventors: Jon Cargille, Surendra Verma, Mark J. Zbikowski, William R. Tipton
-
Patent number: 7539999Abstract: 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: GrantFiled: October 23, 2003Date of Patent: May 26, 2009Assignee: Microsoft CorporationInventors: Jon Cargille, Surendra Verma, Mark J. Zbikowski, Dexter P. Bradshaw, James E. Johnson, Muhunthan Sivapragasam, Steven J. Malan
-
Publication number: 20090112942Abstract: 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: ApplicationFiled: December 31, 2008Publication date: April 30, 2009Applicant: Microsoft CorporationInventors: Dexter Paul Bradshaw, Surendra Verma
-
Patent number: 7512636Abstract: 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: GrantFiled: December 10, 2004Date of Patent: March 31, 2009Assignee: Microsoft CorporationInventors: Surendra Verma, Thomas J. Miller, Robert G. Atkinson
-
Publication number: 20090044204Abstract: 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: ApplicationFiled: August 8, 2007Publication date: February 12, 2009Applicant: Microsoft CorporationInventors: Dana Groff, Jonathan Cargille, Surendra Verma, Andrew Herron, Dragos Sambotin, Christian Allred, William R. Tipton, Karthik Thirumalai