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: 20100293333
    Abstract: 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: Application
    Filed: May 13, 2009
    Publication date: November 18, 2010
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
  • Publication number: 20100293338
    Abstract: 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: Application
    Filed: May 20, 2009
    Publication date: November 18, 2010
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
  • Publication number: 20100293332
    Abstract: 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: Application
    Filed: May 21, 2009
    Publication date: November 18, 2010
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Sudhir Mohan Jorwekar, Sharique Muhammed, Subramanian Muralidhar, Anil K. Nori
  • Patent number: 7818292
    Abstract: 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: Grant
    Filed: April 5, 2007
    Date of Patent: October 19, 2010
    Inventors: 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: 7797304
    Abstract: 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: Grant
    Filed: August 21, 2006
    Date of Patent: September 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Subramanian Muralidhar, Stephen Frederick Starck, Sean B. House, Simon Cavanagh, Fabio Meireles F. Valbuena, Ramesh Nagarajan
  • Publication number: 20100228749
    Abstract: 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: Application
    Filed: June 12, 2009
    Publication date: September 9, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Pablo Castro, Andrew Conrad, Michael Flasko, Pratik Patel, Subramanian Muralidhar, Marcelo Lopez Ruiz
  • Patent number: 7676493
    Abstract: 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: Grant
    Filed: February 28, 2006
    Date of Patent: March 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Michael J. Pizzo, Chris A. Suver, Pablo Castro, Alyssa Heather Henry, Andrew J. Conrad, Subramanian Muralidhar, Benjamin Albahari, Jose A. Blakeley
  • Publication number: 20090313436
    Abstract: 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: Application
    Filed: May 14, 2009
    Publication date: December 17, 2009
    Applicant: Microsoft Corporation
    Inventors: Muralidhar Krishnaprasad, Anil Nori, Subramanian Muralidhar, Sudhir Mohan Jorwekar, Lakshmi Suresh Goduguluru
  • Publication number: 20090313438
    Abstract: 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: Application
    Filed: January 30, 2009
    Publication date: December 17, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Muralidhar Krishnaprasad, Anil K. Nori, Subramanian Muralidhar
  • Patent number: 7627547
    Abstract: 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: Grant
    Filed: November 29, 2004
    Date of Patent: December 1, 2009
    Assignee: Oracle International Corporation
    Inventors: Namit Jain, Fei Ge, Ravi Murthy, Subramanian Muralidhar, Nipun Agarwal, Eric Sedlar
  • Patent number: 7512599
    Abstract: 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: Grant
    Filed: January 29, 2004
    Date of Patent: March 31, 2009
    Assignee: Oracle International Corporation
    Inventors: Qin Yu, Adiel M. Yoaz, Subramanian Muralidhar, Visar Nimani, Susan Kotsovolos
  • Publication number: 20090037394
    Abstract: 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: Application
    Filed: July 30, 2007
    Publication date: February 5, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ramesh Nagarajan, Subramanian Muralidhar, Stephen Frederick Starck, Sean B. House, Simon Cavanagh, Fabio Meireles Fernandez Valbuena, Katica Iceva
  • Publication number: 20080319957
    Abstract: 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: Application
    Filed: June 19, 2007
    Publication date: December 25, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Subramanian Muralidhar, Simon Cavanagh, Steve Starck, Sean B. House, Fabio Meireles Fernandez Valbuena, Katica Iceva, Ramesh Nagarajan
  • Patent number: 7451133
    Abstract: 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: Grant
    Filed: August 30, 2004
    Date of Patent: November 11, 2008
    Assignee: Oracle International Corporation
    Inventors: Adiel Yoaz, Thierry Cruanes, Bhaskar Ghosh, Subramanian Muralidhar
  • Publication number: 20080250073
    Abstract: 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: Application
    Filed: April 5, 2007
    Publication date: October 9, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 20080183725
    Abstract: 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: Application
    Filed: January 31, 2007
    Publication date: July 31, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 7320061
    Abstract: 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: Grant
    Filed: August 5, 2004
    Date of Patent: January 15, 2008
    Assignee: Oracle International Corporation
    Inventors: Qin Yu, Subramanian Muralidhar
  • Publication number: 20070266041
    Abstract: 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: Application
    Filed: August 29, 2006
    Publication date: November 15, 2007
    Applicant: MICROSOFT CORPORATION
    Inventors: Brian C. Beckman, Kawarjit Singh Bedi, Jose A. Blakeley, Anil Kumar Nori, Subramanian Muralidhar, Benjamin Albahari
  • Publication number: 20070219976
    Abstract: 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: Application
    Filed: August 21, 2006
    Publication date: September 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Subramanian Muralidhar, Stephan Frederick Starck, Sean B. House, Simon Cavanagh, Fabio Meireles F. Valbuena, Ramesh Nagarajan
  • Patent number: 7203672
    Abstract: 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: Grant
    Filed: June 9, 2004
    Date of Patent: April 10, 2007
    Assignee: Oracle International Corporation
    Inventors: Thierry Cruanes, Bhaskar Ghosh, Subramanian Muralidhar, William H. Waddington