Patents by Inventor Ravisankar Pudipeddi

Ravisankar Pudipeddi 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: 20070118559
    Abstract: Aspects of the subject matter described herein relate to file system filters and transactions. In aspects, a filter may enlist to receive notification of events associated with a transaction. Afterwards, the filter may receive notification of a transaction event for which it has enlisted. In response to receiving notification of the transaction the filter may perform an action as appropriate. Aspects of the subject matter described herein may be applied to stacked and managed filters.
    Type: Application
    Filed: November 18, 2005
    Publication date: May 24, 2007
    Applicant: Microsoft Corporation
    Inventors: Neal Christiansen, Ravinder Thind, Ravisankar Pudipeddi, Dana Groff, Jonathan Cargille
  • Publication number: 20070061279
    Abstract: File system metadata regarding states of a file system affected by transactions is tracked consistently even in the face of dirty shutdowns which might cause rollbacks in transactions which have already been reflected in the metadata. In order to only request time- and resource-heavy rebuilding of metadata for metadata which may have been affected by rollbacks, reliability information is tracked regarding metadata items. When a metadata item is affected by a transaction which may not complete properly in the case of a problematic shutdown or other event, that metadata item's reliability information indicates that it may not be reliable in case of such a problematic (“dirty” or“abnormal”) event. In addition to flag information indicating unreliability, timestamp information tracking a time of the command which has made a metadata item unreliable is also maintained.
    Type: Application
    Filed: September 1, 2005
    Publication date: March 15, 2007
    Applicant: Microsoft Corporation
    Inventors: Neal Christiansen, Ravinder Thind, Ravisankar Pudipeddi, Sarosh Havewala
  • Publication number: 20070050539
    Abstract: A generic disk driver filter may be used to accelerate performance when writing to a disk. The generic disk driver filter may be connected between a file system and a disk driver and may be configured to be extensible and compatible with a variety of different file systems and different disk drivers. The generic disk driver filter has a filter component that intercepts and filters raw sector write commands from the file system before they are received by the disk driver. The generic disk driver filter may also have a cache memory component that stores a checksum for each sector which is written to the disk. The generic disk driver filter may also have a scavenger thread component that detects and removes latent checksum entries from the cache memory so as to preserve memory availability and reduce memory requirements.
    Type: Application
    Filed: August 25, 2005
    Publication date: March 1, 2007
    Applicant: Microsoft Corporation
    Inventor: Ravisankar Pudipeddi
  • Publication number: 20060253655
    Abstract: Object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. Prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero. In an implementation on non-uniform memory access multiprocessor machines, each processor's reference count is additionally allocated in a region of main memory that is physically close to that processor.
    Type: Application
    Filed: July 3, 2006
    Publication date: November 9, 2006
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Neill Clift, Neal Christiansen
  • Patent number: 7133977
    Abstract: A system and method for object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. In an embodiment of the present invention, prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero.
    Type: Grant
    Filed: June 13, 2003
    Date of Patent: November 7, 2006
    Assignee: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Neill Clift, Neal R. Christiansen
  • Publication number: 20060200635
    Abstract: A system and method for object rundown protection that scales with the number of processors in a shared-memory computer system is disclosed. In an embodiment of the present invention, prior to object rundown, a cache-aware reference count data structure is used to prevent cache-pinging that would otherwise result from data sharing across processors in a multiprocessor computer system. In this data structure, a counter of positive references and negative dereferences, aligned on a particular cache line, is maintained for each processor. When an object is to be destroyed, a rundown wait process is begun, during which new references on the object are prohibited, and the total number of outstanding references is added to an on-stack global counter. Destruction is delayed until the global reference count is reduced to zero.
    Type: Application
    Filed: April 11, 2006
    Publication date: September 7, 2006
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Neill Clift, Neal Christiansen
  • Patent number: 7072914
    Abstract: A technique is provided whereby a stream of data located in a first storage location is registered for migration administration and according to preset criteria, portion(s) of the stream of data that are suited to another storage location are migrated to maximize system storage efficiencies. The file system may have use of facilities that enable the monitoring of files/streams that have been registered for migration administration or files/streams may be polled according to preset criteria. If the stream of data has portions to migrate to another storage location, the hierarchical storage management (HSM) system migrates the data to the other storage location, such as to long term or off-line storage, and preserves the data relationships of the stream via metadata. The technique allows for multiple volumes to be spanned by the migration target location, and multiple file systems may service the source and target.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: July 4, 2006
    Assignee: Microsft Corporation
    Inventors: Luis Felipe Cabrera, Deborah C. Jones, Ravisankar Pudipeddi, Stefan R. Steiner
  • Publication number: 20060136460
    Abstract: A model in which filter drivers are managed to receive callbacks for I/O requests in which the filter drivers have registered an interest. Per-volume instances of filter drivers register with a filter manager for pre-callbacks (for I/O to the file system) and post-callbacks (for I/O from the file system), and identify which I/O requests (e.g., create, read, write) they are registering to receive callbacks. The filter manager orders the instances for callbacks. When an I/O request is received, the filter manager converts the I/O request to callback data and calls the interested filters in the callback order, whereby the filter instances can process the I/O data. As the request returns from the file system, filters desiring post callbacks are called in the reverse order. Efficient context management for the filters and other functions, such as non-reentrant file I/O, are also provided by the model.
    Type: Application
    Filed: January 30, 2006
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Eileen Brown, Neal Christiansen, Ravinder Thind, Brian Dewey, David Golds, Mark Zbikowski
  • Publication number: 20060136529
    Abstract: An extensible file system format for portable storage media is provided. The extensible file system format includes the specification of primary and secondary directory entry types that may be custom defined. The primary and secondary directory entry types can be further classified as critical and benign directory entries.
    Type: Application
    Filed: September 16, 2005
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Vishal Ghotge, Sarosh Havewala, Ravinder Thind, Mark Zbikowski
  • Publication number: 20060085428
    Abstract: A system and method for organizing and sorting targets received in a referral response and for realizing a target fail-back and a target priority policy in a distributed file system is provided. In one embodiment, a sorting method includes receiving a referral response in the form of a list of targets that are sorted into bounded sets. Having a sorted referral response in bounded sets provides a basis for implementing a target fail-back and a target priority policy. The computer system may select a target from a sorted list of targets sorted according to site-cost and/or target priority. Then, the computer system may determine if the set target is associated with a more preferred target when compared to all available targets in the sorted list and if not, switch back to a more preferred target.
    Type: Application
    Filed: February 7, 2005
    Publication date: April 20, 2006
    Applicant: Microsoft Corporation
    Inventors: Patrick Bozeman, Scott Colville, Mukul Gupta, Daniel Lovinger, Ravisankar Pudipeddi, Ramesh Shankar, Supriya Wickrematillake
  • Publication number: 20060080367
    Abstract: A method and system for limiting resource usage of a version store. A limit indicates a total amount of resources that may be consumed by in-progress transactions. A running total of the amount of remaining resources is maintained. Before a new transaction is started, a determination is made as to whether there are enough resources remaining to complete the new transaction. If so, the transaction starts and the running total is adjusted. If not, the transaction waits until more resources are available. When a transaction completes, if it is the oldest in-progress transaction, resources are released. Otherwise, the resources associated with the transaction are not released until all transactions that started before the transaction have completed. This ensures that a client of a version store does not exceed the limit of resources that may be consumed by in-progress transactions.
    Type: Application
    Filed: October 7, 2004
    Publication date: April 13, 2006
    Applicant: Microsoft Corporation
    Inventor: Ravisankar Pudipeddi
  • Patent number: 6993603
    Abstract: A model in which filter drivers are managed to receive callbacks for I/O requests in which the filter drivers have registered an interest. Per-volume instances of filter drivers register with a filter manager for pre-callbacks (for I/O to the file system) and post-callbacks (for I/O from the file system), and identify which I/O requests (e.g., create, read, write) they are registering to receive callbacks. The filter manager orders the instances for callbacks. When an I/O request is received, the filter manager converts the I/O request to callback data and calls the interested filters in the callback order, whereby the filter instances can process the I/O data. As the request returns from the file system, filters desiring post callbacks are called in the reverse order. Efficient context management for the filters and other functions, such as non-reentrant file I/O, are also provided by the model.
    Type: Grant
    Filed: December 9, 2002
    Date of Patent: January 31, 2006
    Assignee: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Eileen C. Brown, Neal Christiansen, Ravinder Thind, Brian K. Dewey, David P. Golds, Mark J. Zbikowski
  • Patent number: 6981005
    Abstract: A technique is provided whereby a stream of data located in a first storage location is registered for migration administration and according to preset criteria, portion(s) of the stream of data that are suited to another storage location are migrated to maximize system storage efficiencies. The file system may have use of facilities that enable the monitoring of files/streams that have been registered for migration administration or files/streams may be polled according to preset criteria. If the stream of data has portions to migrate to another storage location, the hierarchical storage management (HSM) system migrates the data to the other storage location, such as to long term or off-line storage, and preserves the data relationships of the stream via metadata. The technique allows for multiple volumes to be spanned by the migration target location, and multiple file systems may service the source and target.
    Type: Grant
    Filed: August 24, 2000
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Luis Felipe Cabrera, Deborah C. Jones, Ravisankar Pudipeddi, Stefan R. Steiner
  • Publication number: 20050165820
    Abstract: A technique for recalling data objects stored on media. A queue is created for each medium on which data objects are located, where each request to recall a data object is placed on the queue corresponding to the medium on which the data object is located. A queue is “active” when its corresponding medium is mounted and being used for recall; otherwise the queue is “non-active.” A thread is created for each active queue, where the thread retrieves from a medium the requested items on the active queue. When plural drives are available for mounting and reading media, plural queues may be active concurrently, so that the plural queues' respective threads may recall items from the plural media in parallel. Preferably, the requests on each queue are organized in an order such that the offset locations of the requested items form two monotonically increasing sequences.
    Type: Application
    Filed: March 16, 2005
    Publication date: July 28, 2005
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Ran Kalach
  • Patent number: 6920447
    Abstract: A technique for recalling data objects stored on media. A queue is created for each medium on which data objects are located, where each request to recall a data object is placed on the queue corresponding to the medium on which the data object is located. A queue is “active” when its corresponding medium is mounted and being used for recall; otherwise the queue is “non-active.” A thread is created for each active queue, where the thread retrieves from a medium the requested items on the active queue. When plural drives are available for mounting and reading media, plural queues may be active concurrently, so that the plural queues' respective threads may recall items from the plural media in parallel. Preferably, the requests on each queue are organized in an order such that the offset locations of the requested items form two monotonically increasing sequences.
    Type: Grant
    Filed: February 15, 2001
    Date of Patent: July 19, 2005
    Assignee: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Ran Kalach
  • Publication number: 20050097126
    Abstract: A technique is provided whereby a stream of data located in a first storage location is registered for migration administration and according to preset criteria, portion(s) of the stream of data that are suited to another storage location are migrated to maximize system storage efficiencies. The file system may have use of facilities that enable the monitoring of files/streams that have been registered for migration administration or files/streams may be polled according to preset criteria. If the stream of data has portions to migrate to another storage location, the hierarchical storage management (HSM) system migrates the data to the other storage location, such as to long term or off-line storage, and preserves the data relationships of the stream via metadata. The technique allows for multiple volumes to be spanned by the migration target location, and multiple file systems may service the source and target.
    Type: Application
    Filed: December 10, 2004
    Publication date: May 5, 2005
    Applicant: Microsoft Corporation
    Inventors: Luis Cabrera, Deborah Jones, Ravisankar Pudipeddi, Stefan Steiner
  • Publication number: 20050097143
    Abstract: Systems and methods are described that facilitate management of file system filters, comprising a filter manager that maps altitudes of minifilters to legacy filter order groups. An aspect of the present invention provides for minifilters that can dynamically load and unload, thus facilitating increased flexibility in filter system management.
    Type: Application
    Filed: November 4, 2003
    Publication date: May 5, 2005
    Inventors: Ravisankar Pudipeddi, Brian Dewey
  • Patent number: 6889232
    Abstract: A method for concurrent data migration includes classifying files to be migrated into plural jobs, selecting media to which to migrate each job, and using plural drives concurrently to write the jobs to the media. The selection of a medium is performed in a way that prevents the number of writeable media from exceeding the number of available drives, unless no allocated medium has sufficient space to store any files in a migration job. A medium is preferentially selected that has already been allocated for writing, has space to store at least one file in the job, is not in use for another job, and can be robotically mounted on a drive. If such a medium does not exist, then the set of available media is canvassed to locate an alternative medium.
    Type: Grant
    Filed: February 15, 2001
    Date of Patent: May 3, 2005
    Assignee: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Ran Kalach
  • Publication number: 20050044353
    Abstract: The invention provides a system and method for dynamically unloading file system filters in a stacked-call-back model where filters are stacked one on top of the other to form a filter stack. A filter manager keeps track of the progress of each I/O operation and calls each filter in turn with the filter returning after it has completed processing the given operation. The filter manager dynamically unloads a filter (or an instance of a filter) that is positioned at any position in the filter stack in a reasonable amount of time while I/O operations are actively being processed. The filter/filter instance can be unloaded with outstanding I/O operations on the filter either hosted by the filter or pended by other filters. I/O operations are canceled, completed or drained in order to unload the filter or filter instance. A filter may veto the unloading of the filter.
    Type: Application
    Filed: June 13, 2003
    Publication date: February 24, 2005
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Neal Christiansen, Eileen Brown
  • Publication number: 20050033932
    Abstract: A method for concurrent data migration includes classifying files to be migrated into plural jobs, selecting media to which to migrate each job, and using plural drives concurrently to write the jobs to the media. The selection of a medium is performed in a way that prevents the number of writeable media from exceeding the number of available drives, unless no allocated medium has sufficient space to store any files in a migration job. A medium is preferentially selected that has already been allocated for writing, has space to store at least one file in the job, is not in use for another job, and can be robotically mounted on a drive. If such a medium does not exist, then the set of available media is canvassed to locate an alternative medium.
    Type: Application
    Filed: September 8, 2004
    Publication date: February 10, 2005
    Applicant: Microsoft Corporation
    Inventors: Ravisankar Pudipeddi, Ran Kalach