Patents by Inventor Subramanian Muralidhar
Subramanian Muralidhar 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: 20100293333Abstract: A first portion of an identifier can be used to assign the identifier to a slot in a first directory. The identifier can identify a cache unit in a cache. It can be determined whether assignment of the identifier to the slot in the first directory will result in the identifier and one or more other identifiers being assigned to the same slot in the first directory. If so, then the technique can include (1) using a second portion of the identifier to assign the identifier to a slot in a second directory; and (2) assigning the one or more other identifiers to one or more slots in the second directory. In addition, it can be determined whether a directory in a cache lookup data structure includes more than one pointer. If not, then a parent pointer that points to the subject directory can be removed.Type: ApplicationFiled: May 13, 2009Publication date: November 18, 2010Applicant: Microsoft CorporationInventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
-
Publication number: 20100293338Abstract: A low priority queue can be configured to list low priority removal candidates to be removed from a cache, with the low priority removal candidates being sorted in an order of priority for removal. A high priority queue can be configured to list high priority removal candidates to be removed from the cache. In response to receiving a request for one or more candidates for removal from the cache, one or more high priority removal candidates from the high priority queue can be returned if the high priority queue lists any high priority removal candidates. If no more high priority removal candidates remain in the high priority queue, then one or more low priority removal candidates from the low priority queue can be returned in the order of priority for removal. Write-only latches can also be used during write operations in a cache lookup data structure.Type: ApplicationFiled: May 20, 2009Publication date: November 18, 2010Applicant: Microsoft CorporationInventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
-
Publication number: 20100293332Abstract: In response to a request including a state object, which can indicate a state of an enumeration of a cache, the enumeration can be continued by using the state object to identify and send cache data. Also, an enumeration of cache units can be performed by traversing a data structure that includes object nodes, which correspond to cache units, and internal nodes. An enumeration state stack can indicate a current state of the enumeration, and can include state nodes that correspond to internal nodes in the data structure. Additionally, a cache index data structure can include a higher level table and a lower level table. The higher level table can have a leaf node pointing to the lower level table, and the lower level table can have a leaf node pointing to one of the cache units. Moreover, the lower level table can be associated with a tag.Type: ApplicationFiled: May 21, 2009Publication date: November 18, 2010Applicant: Microsoft CorporationInventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
-
Patent number: 7818292Abstract: Systems and methods that track changes in a database via a change tracking layer that enables separation of change tracking and change enumeration. Such an arrangement enables multiple change enumeration and sync technologies over a single change tracking layer, while reducing amount of tracking information that are maintained.Type: GrantFiled: April 5, 2007Date of Patent: October 19, 2010Inventors: Anil Kumar Nori, Laxmi Narsimha Rao Orugant, Subramanian Muralidhar, Ambrish Mishra, Lev Novik, Manikandan Thangarathnam, Sankara Subramanian, Sudarshan A. Chitre, Sitaram C. V. Raju, Vijay Tandra Sistla
-
Patent number: 7797304Abstract: A query language has support for rich data types. A query language system contains an application configured to generate queries according to the query language. In addition, the system has a platform for handling queries that are generated using the provided query language. The platform contains an object services layer, a map provider layer, and a bridge layer which may ultimately interface with a variety of commercially available databases.Type: GrantFiled: August 21, 2006Date of Patent: September 14, 2010Assignee: Microsoft CorporationInventors: Subramanian Muralidhar, Stephen Frederick Starck, Sean B. House, Simon Cavanagh, Fabio Meireles F. Valbuena, Ramesh Nagarajan
-
Publication number: 20100228749Abstract: Techniques for exchanging data are provided herein. An “open” data type is established on a computer system to define the structure of data. The open data type includes one or more predefined properties, and enables one or more extension properties to be optionally included. Data that is defined according to the open data type includes data values for the predefined properties, and may optionally include data values for extension properties. A second computer system may consider the extension properties to be extension properties or predefined properties of a data type known at the second computer system. In this manner, the type system that is used to exchange data between nodes need not necessarily be commonly known among the nodes, and/or may be dynamically modified, even for a particular data instance. Furthermore, queries may be performed against the data that query against the predefined properties and/or extension properties.Type: ApplicationFiled: June 12, 2009Publication date: September 9, 2010Applicant: MICROSOFT CORPORATIONInventors: Pablo Castro, Andrew Conrad, Michael Flasko, Pratik Patel, Subramanian Muralidhar, Marcelo Lopez Ruiz
-
Patent number: 7676493Abstract: The claimed subject matter relates to an architecture that can facilitate an incremental approach to an Object-Relational mapping solution. The architecture can provide a rich data model that is defined at the value layer. The rich data model can expose an interface that conforms with the interfaces exposed by common storage-specific data providers. The architecture can extend common storage-specific data provider to support common command representations, and provide entity services that work in terms of the rich data model as well as object services such as identity management, updating and change tracking.Type: GrantFiled: February 28, 2006Date of Patent: March 9, 2010Assignee: Microsoft CorporationInventors: Michael J. Pizzo, Chris A. Suver, Pablo Castro, Alyssa Heather Henry, Andrew J. Conrad, Subramanian Muralidhar, Benjamin Albahari, Jose A. Blakeley
-
Publication number: 20090313436Abstract: A cache region can be created in a cache in response to receiving a cache region creation request from an application. A storage request from the application can identify the cache region and one or more objects to be stored in the cache region. Those objects can be stored in the cache region in response to receiving the storage request.Type: ApplicationFiled: May 14, 2009Publication date: December 17, 2009Applicant: Microsoft CorporationInventors: Muralidhar Krishnaprasad, Anil Nori, Subramanian Muralidhar, Sudhir Mohan Jorwekar, Lakshmi Suresh Goduguluru
-
Publication number: 20090313438Abstract: Systems and methods that aggregate memory capacity of multiple computers into a single unified cache, via a layering arrangement. Such layering arrangement is scalable to a plurality of machines and includes a data manager component, an object manager component and a distributed object manager component, which can be implemented in a modular fashion. Moreover, the layering arrangement can provide for an explicit cache tier (e.g., cache-aside architecture) that applications are aware about, wherein decision are made explicitly which objects to put/remove in such applications (as opposed to an implicit cache wherein application do not know the existence of the cache.Type: ApplicationFiled: January 30, 2009Publication date: December 17, 2009Applicant: MICROSOFT CORPORATIONInventors: Muralidhar Krishnaprasad, Anil K. Nori, Subramanian Muralidhar
-
Patent number: 7627547Abstract: A method and apparatus for processing path-based database operations is provided. According to one aspect, a “parent row ID” column is added to a directory links table. For each row in the table, the value of the “parent row ID” column indicates the row ID, in the table, of the node that is that row's node's parent in the file hierarchy. To determine whether a particular node is within a specified path of the file hierarchy, the particular node's pathname is derived by visiting child-to-parent links indicated in the table and prepending, to the front of a pathname being constructed for the particular node, node names indicated in the visited rows. Each parent node's row in the directory links table is located using the “parent row ID” column of the child node's row. The resulting pathname is compared with the specified path to determine whether the particular node exists therein.Type: GrantFiled: November 29, 2004Date of Patent: December 1, 2009Assignee: Oracle International CorporationInventors: Namit Jain, Fei Ge, Ravi Murthy, Subramanian Muralidhar, Nipun Agarwal, Eric Sedlar
-
Patent number: 7512599Abstract: A request to execute a query is received in a database system. In response, the database system determines that a collection of data elements to be returned by the query corresponds to a first data structure not defined within a type dictionary of the database system. The database system obtains attribute values that describe respective data fields within the first data structure, and records, within the type dictionary, a first data type definition that specifies the data fields described by the attribute values.Type: GrantFiled: January 29, 2004Date of Patent: March 31, 2009Assignee: Oracle International CorporationInventors: Qin Yu, Adiel M. Yoaz, Subramanian Muralidhar, Visar Nimani, Susan Kotsovolos
-
Publication number: 20090037394Abstract: Systems and methods that translate queries defined by an entity model, to a dialect recognizable by storage provider (e.g., relational store). A bridge component facilitates translation of a rich object structure into flat relational constructs, which can then be executed by a relational store. Accordingly, queries defined by applications in terms of entity concepts can readily be employed in conjunction with relational data stores. Similarly, results obtained from executing the query can be converted back to a form understandable by the application.Type: ApplicationFiled: July 30, 2007Publication date: February 5, 2009Applicant: MICROSOFT CORPORATIONInventors: Ramesh Nagarajan, Subramanian Muralidhar, Stephen Frederick Starck, Sean B. House, Simon Cavanagh, Fabio Meireles Fernandez Valbuena, Katica Iceva
-
Publication number: 20080319957Abstract: Systems and methods that provide for a canonical representation in a structured form of a query, against a data model platform. A parser component can parse the SQL query to generate the abstract class that represent the query (command tree). Moreover, a view generation component can supply a mapping between a rich structure (e.g., on the client side) and the relational side. Accordingly, a query can be represented by an abstract class in form of a tree structure with nodes, which has metadata tied therewith.Type: ApplicationFiled: June 19, 2007Publication date: December 25, 2008Applicant: MICROSOFT CORPORATIONInventors: Subramanian Muralidhar, Simon Cavanagh, Steve Starck, Sean B. House, Fabio Meireles Fernandez Valbuena, Katica Iceva, Ramesh Nagarajan
-
Patent number: 7451133Abstract: Techniques are provided for processing a database statement that includes a table function capable of parallel execution, where the input of the table function is specified in a subquery. During compilation of the database statement, a global cursor is generated for the database statement. The global cursor includes a first plan component for executing the table function and a second plan component for generating input for the table function. A “dummy” cursor is then generated. When slaves execute the table function, they call the dummy cursor for input. When a slave calls the dummy cursor for input, the dummy cursor causes a context switch back to the global cursor, so that the second plan component within the first cursor generates the input for the slave.Type: GrantFiled: August 30, 2004Date of Patent: November 11, 2008Assignee: Oracle International CorporationInventors: Adiel Yoaz, Thierry Cruanes, Bhaskar Ghosh, Subramanian Muralidhar
-
Publication number: 20080250073Abstract: Systems and methods that track changes in a database via a change tracking layer that enables separation of change tracking and change enumeration. Such an arrangement enables multiple change enumeration and sync technologies over a single change tracking layer, while reducing amount of tracking information that are maintained.Type: ApplicationFiled: April 5, 2007Publication date: October 9, 2008Applicant: MICROSOFT CORPORATIONInventors: Anil Kumar Nori, Laxmi Narsimha Rao Oruganti, Subramanian Muralidhar, Ambrish Mishra, Lev Novik, Manikandan Thangarathnam, Sankara Subramanian, Sudarshan A. Chitre, Sitaram C.V. Raju, Vijay Tandra Sistla
-
Publication number: 20080183725Abstract: A data processing and storage system is provided. The system includes an aggregator component that stores metadata from at least two disparate data domains. A framework component encapsulates the metadata according to an abstraction model that describes the disparate data domains.Type: ApplicationFiled: January 31, 2007Publication date: July 31, 2008Applicant: MICROSOFT CORPORATIONInventors: Jose A. Blakeley, Atul Adya, Subramanian Muralidhar, Sergey Melnik, Shyamalan Pather, Xiaosong Yang, Srikanth Mandadi, Pratik Patel, Brahmnes Tsz Foon Fung, Kawarjit Bedi, Daniel G. Dosen, Timothy I. Mallalieu
-
Patent number: 7320061Abstract: Methods and apparatus for efficiently storing data in a variable array (VARRAY) of a database system are disclosed. A method for storing data in a VARRAY having an associated large object segment in a system having a memory and a kernel includes determining a size of data to be inserted into the VARRAY. The method also includes determining when the size of the data is less than a threshold value, and storing the data as inline raw data in a column of the VARRAY that is present in the memory when the size of the data is less than the threshold value. When the size of the data is not less than the threshold value, the data is stored in a large object that is associated with the VARRAY. Further, when a VARRAY type is evolved to have a larger maximum size, existing data is not migrated or transformed.Type: GrantFiled: August 5, 2004Date of Patent: January 15, 2008Assignee: Oracle International CorporationInventors: Qin Yu, Subramanian Muralidhar
-
Publication number: 20070266041Abstract: The claimed subject matter provides a system and/or a method that facilitates addressing complex modeling. An entity data model that can receive data via an interface and that formalizes a notion of at least one of a Relationship, a Relationship instance, and a Relationship Set in a manner substantially similar to at least one of an Entity type, an Entity instance, and an entity-set respectively, wherein a semantic related to the at least one of the Relationship, the Relationship instance, and the Relationship Set are captured as metadata in the same manner as metadata is captured for at least one of the Entity type, the Entity instance, and the Entity-set, respectively.Type: ApplicationFiled: August 29, 2006Publication date: November 15, 2007Applicant: MICROSOFT CORPORATIONInventors: Brian C. Beckman, Kawarjit Singh Bedi, Jose A. Blakeley, Anil Kumar Nori, Subramanian Muralidhar, Benjamin Albahari
-
Publication number: 20070219976Abstract: Data management between a common data store and multiple applications of multiple disparate application frameworks. A data storage component is provided that facilitates the storage of data, which data includes structured, semi-structured, and unstructured data. A common data platform interfaces to the data storage component to provide data services accessible by a plurality of disparate application frameworks, which data services allow a corresponding application of the different frameworks to access the data.Type: ApplicationFiled: August 21, 2006Publication date: September 20, 2007Applicant: Microsoft CorporationInventors: Subramanian Muralidhar, Stephan Frederick Starck, Sean B. House, Simon Cavanagh, Fabio Meireles F. Valbuena, Ramesh Nagarajan
-
Patent number: 7203672Abstract: Techniques are provided for processing, within a database server, a database statement, where at least one subtask required by the database statement is to be executed in parallel by a slave set. The database server determines whether the database statement includes an external expression, relative to the subtask, that (a) produces information that is required by slave processes in the slave set in order to perform the subtask, and (b) is not to be evaluated by each slave process in the slave set. During execution of the statement, if the database statement includes an external expression, then one or more external values are generated by causing the external expression to be evaluated, and the one or more external values are communicated to slaves of the slave set to allow the slave processes to perform respective portions of the subtask in parallel, without requiring each slave of the slave set to evaluate the external expression.Type: GrantFiled: June 9, 2004Date of Patent: April 10, 2007Assignee: Oracle International CorporationInventors: Thierry Cruanes, Bhaskar Ghosh, Subramanian Muralidhar, William H. Waddington