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).
-
Patent number: 10204235Abstract: Applications are stored on removable storage of a mobile device in an encrypted form to provide isolation and piracy protection. In one implementation, each application is encrypted using its own associated encryption key that is generated based on an identifier of the application and a master key that is associated with a trusted platform module of the mobile device. In another implementation, each application is encrypted using two associated encryption keys. One key is used to encrypt binary data associated with the application such as source code, and the other key is used to encrypt application data such as graphics and configuration files. The encryption keys are each generated using the identifier of the application, the master key, and identifiers of the folders where the corresponding data types are stored on the mobile device. The removable storage includes SD cards formatted using the FAT or exFAT file systems.Type: GrantFiled: June 28, 2016Date of Patent: February 12, 2019Assignee: Microsoft Technology Licensing, LLCInventors: David Callaghan, Ravisankar Pudipeddi, Geir Olsen, Sachin Patel, JianMing Zhou, Dylan D'Silva
-
Publication number: 20160306992Abstract: Applications are stored on removable storage of a mobile device in an encrypted form to provide isolation and piracy protection. In one implementation, each application is encrypted using its own associated encryption key that is generated based on an identifier of the application and a master key that is associated with a trusted platform module of the mobile device. In another implementation, each application is encrypted using two associated encryption keys. One key is used to encrypt binary data associated with the application such as source code, and the other key is used to encrypt application data such as graphics and configuration files. The encryption keys are each generated using the identifier of the application, the master key, and identifiers of the folders where the corresponding data types are stored on the mobile device. The removable storage includes SD cards formatted using the FAT or exFAT file systems.Type: ApplicationFiled: June 28, 2016Publication date: October 20, 2016Inventors: David Callaghan, Ravisankar Pudipeddi, Geir Olsen, Sachin Patel, JianMing Zhou, Dylan D'Silva
-
Patent number: 9405925Abstract: Applications are stored on removable storage of a mobile device in an encrypted form to provide isolation and piracy protection. In one implementation, each application is encrypted using its own associated encryption key that is generated based on an identifier of the application and a master key that is associated with a trusted platform module of the mobile device. In another implementation, each application is encrypted using two associated encryption keys. One key is used to encrypt binary data associated with the application such as source code, and the other key is used to encrypt application data such as graphics and configuration files. The encryption keys are each generated using the identifier of the application, the master key, and identifiers of the folders where the corresponding data types are stored on the mobile device. The removable storage includes SD cards formatted using the FAT or exFAT file systems.Type: GrantFiled: February 9, 2014Date of Patent: August 2, 2016Assignee: Microsoft Technology Licensing, LLCInventors: David Callaghan, Ravisankar Pudipeddi, Geir Olsen, Sachin Patel, JianMing Zhou, Dylan D'Silva
-
Publication number: 20150227753Abstract: Applications are stored on removable storage of a mobile device in an encrypted form to provide isolation and piracy protection. In one implementation, each application is encrypted using its own associated encryption key that is generated based on an identifier of the application and a master key that is associated with a trusted platform module of the mobile device. In another implementation, each application is encrypted using two associated encryption keys. One key is used to encrypt binary data associated with the application such as source code, and the other key is used to encrypt application data such as graphics and configuration files. The encryption keys are each generated using the identifier of the application, the master key, and identifiers of the folders where the corresponding data types are stored on the mobile device. The removable storage includes SD cards formatted using the FAT or exFAT file systems.Type: ApplicationFiled: February 9, 2014Publication date: August 13, 2015Applicant: Microsoft CorporationInventors: David Callaghan, Ravisankar Pudipeddi, Geir Olsen, Sachin Patel, JianMing Zhou, Dylan D'Silva
-
Patent number: 8949590Abstract: A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently.Type: GrantFiled: April 19, 2013Date of Patent: February 3, 2015Assignee: Microsoft CorporationInventors: Christopher D. Russell, Eric P. Traut, Ravisankar Pudipeddi, Adam D. Stritzel, Suyash Sinha
-
Publication number: 20140019954Abstract: A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently.Type: ApplicationFiled: April 19, 2013Publication date: January 16, 2014Inventors: Christopher D. Russell, Eric P. Traut, Ravisankar Pudipeddi, Adam D. Stritzel, Suyash Sinha
-
Patent number: 8429395Abstract: A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently.Type: GrantFiled: June 12, 2009Date of Patent: April 23, 2013Assignee: Microsoft CorporationInventors: Christopher D. Russell, Eric P. Traut, Ravisankar Pudipeddi, Adam D. Stritzel, Suyash Sinha
-
Patent number: 8065276Abstract: 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: GrantFiled: October 15, 2007Date of Patent: November 22, 2011Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Ran Kalach
-
Publication number: 20100319050Abstract: A request is received from a software component of a software product to access a value of a public setting of the software component. A check is made as to whether the request conforms to an appropriate format for the public setting. If the request conforms to the appropriate format, then the requested access is performed. However, if the request does not conform to the appropriate format, then the requested access is denied. Multiple values for the public setting can be received and maintained concurrently.Type: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Microsoft CorporationInventors: Christopher D. Russell, Eric P. Traut, Ravisankar Pudipeddi, Adam D. Stritzel, Suyash Sinha
-
Patent number: 7779425Abstract: 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: GrantFiled: January 30, 2006Date of Patent: August 17, 2010Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Eileen C. Brown, Neal Christiansen, Ravinder Thind, Brian K. Dewey, David P. Golds, Mark J. Zbikowski
-
Patent number: 7571288Abstract: 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: GrantFiled: July 3, 2006Date of Patent: August 4, 2009Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Neill Clift, Neal R. Christiansen
-
Patent number: 7496609Abstract: 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: GrantFiled: September 1, 2005Date of Patent: February 24, 2009Assignee: Microsoft CorporationInventors: Neal R. Christiansen, Ravinder S. Thind, Ravisankar Pudipeddi, Sarosh Cyrus Havewala
-
Patent number: 7444317Abstract: Described is a method and system that manages filenames for filter drivers in a file system. The present invention includes a filter manager that handles filename queries from the filter drivers. The filter manager returns a pointer to the requesting filter driver that points to a filename information structure corresponding to the type of filename requested. The filter manager also manages a cache of filename information structures that include information that can be shared among the various filter drivers, amortizing the filename queries for filter drivers. The caching functionality of the filter manager increases the efficiency and reduces the overhead of filename queries within the file system by reducing the number of filename operations required for a file system filter driver to retrieve a desired portion of the filename.Type: GrantFiled: June 28, 2002Date of Patent: October 28, 2008Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Eileen C. Brown, Neal R. Christiansen
-
Publication number: 20080091702Abstract: 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. The directory entry types can define whether a cluster chain corresponding to a file can be contiguously allocated.Type: ApplicationFiled: May 23, 2007Publication date: April 17, 2008Applicant: MICROSOFT CORPORATIONInventors: Ravisankar Pudipeddi, Vishal Ghotge, Sarosh Havewala, Ravinder Thind, Mark Zbikowski
-
Patent number: 7343446Abstract: 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: GrantFiled: March 16, 2005Date of Patent: March 11, 2008Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Ran Kalach
-
Publication number: 20080040393Abstract: 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: ApplicationFiled: October 15, 2007Publication date: February 14, 2008Applicant: Microsoft CorporationInventors: Ravisankar Pudipeddi, Ran Kalach
-
Patent number: 7318132Abstract: 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: GrantFiled: June 13, 2003Date of Patent: January 8, 2008Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Neal R. Christiansen, Eileen C. Brown
-
Patent number: 7284015Abstract: 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: GrantFiled: September 8, 2004Date of Patent: October 16, 2007Assignee: Microsoft CorporationInventors: Ravisankar Pudipeddi, Ran Kalach
-
Publication number: 20070198458Abstract: Aspects of the subject matter described herein relate to distributed namespace aggregation. In aspects, a distributed file system is extended to allow multiple servers to seamlessly host files associated with aggregated links and/or aggregated roots. A request for a directory listing of an aggregated link or root may cause a server to sniff multiple other servers that host files associated with the link or root to create and return a concatenated result. Sniffing may also be used to determine which servers host the file to which the client is requesting access. Altitude may be used to determine which servers to make visible to the client and may also be used to determine which servers are in the same replica group and which are not.Type: ApplicationFiled: February 6, 2006Publication date: August 23, 2007Applicant: Microsoft CorporationInventor: Ravisankar Pudipeddi
-
Publication number: 20070143563Abstract: Described is a technology by which a new volume or partition may be created on a disk, e.g., by running a shrink program and then reclaiming freed space. Shrink occurs online, while the user or system processes may be otherwise using the disk for reads and writes. Further, the technology operates while protecting snapshot versions of the volume. To shrink, upon receiving a request to shrink a volume to within a boundary, new allocations are restricted such that any allocation is to a volume area within the boundary. Data is moved from outside the boundary to within the boundary, and the shrink is committed when no volume data remains outside the boundary. A reduced-size volume or partition that does not include the specified region is committed when the data has been moved out of the specified region. A new volume or partition may be freed that corresponds to the region.Type: ApplicationFiled: December 16, 2005Publication date: June 21, 2007Applicant: Microsoft CorporationInventors: Ravisankar Pudipeddi, Kevin Seng, Garret Buban