Patents by Inventor Chandramohan Thekkath

Chandramohan Thekkath 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: 20070171915
    Abstract: Disclosed herein are scheduling techniques for transmitting time-critical data in a cost-aware manner over a network comprising a plurality of heterogeneous transmission interfaces. The scheduling problem is formulated as a linear programming problem with the deliver-by deadlines of the various data blocks as hard constraints and minimizing cost set as an objective (soft) constraint. The problem is simplified by assuming data blocks with the earliest deadlines should be scheduled first and the most aggressive interfaces should be used first. To formulate the linear programming problem, the time domain is divided into bins and various bin-level schedules are enumerated for switching the transmission of the data over various transmission interfaces. The linear programming techniques are applied to the various bin configurations and the least costly of the resulting transmission schedule is selected for submission to a switching layer.
    Type: Application
    Filed: January 26, 2006
    Publication date: July 26, 2007
    Applicant: Microsoft Corporation
    Inventors: Kentaro Toyama, Rohan Murty, Chandramohan Thekkath, Ranveer Chandra
  • Publication number: 20070067576
    Abstract: Balanced prefetching automatically balances the benefits of prefetching data that has not been accessed recently against the benefits of caching recently accessed data, and can be applied to most types of structured data without needing application-specific details or hints. Balanced prefetching is performed in applications in a computer system, such as storage-centric applications, including file systems and databases. Balanced prefetching exploits the structure of the data being prefetched, providing superior application throughput. For a fixed amount of memory, it is automatically and dynamically determined how much memory should be devoted to prefetching.
    Type: Application
    Filed: September 19, 2005
    Publication date: March 22, 2007
    Applicant: Microsoft Corporation
    Inventors: Chandramohan Thekkath, John MacCormick, Lidong Zhou, Nicholas Murphy
  • Publication number: 20060282438
    Abstract: The addition of a layer between a tree data storage structure and a persistent storage is disclosed. The additional layer, called a storage module, generates an identifier and allocates it to a node in the tree data storage structure. The storage module additionally performs a mapping function, allocating the identifier to a location in persistent storage. If the node is later deleted from the tree data storage structure, then the mapping of the identifier to the location in persistent storage is likewise deleted. In this way, if the node is deleted and, concurrently, a lookup or write operation is attempted on the deleted node, the storage module will read the identifier associated with the deleted node but will not be able to map the identifier to a location in persistent storage. Instead, an exception is generated and sent to the tree data storage module.
    Type: Application
    Filed: June 10, 2005
    Publication date: December 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Lidong Zhou, Chandramohan Thekkath
  • Publication number: 20060282481
    Abstract: Tree data storage structures are implemented on respective computers in a distributed environment, such as on a network, so that information associated with nodes of one computer's tree data storage structure may be read or written to by another computer in the network. To promote efficiency, a cache may be employed on the computers in the network such that each computer caches information associated with nodes of tree data storage structures located on the computers in the network. A lock service may implement a caching protocol to provide efficient concurrency of caching operations while ensuring that current information associated with the nodes is available to all computers in the network.
    Type: Application
    Filed: June 10, 2005
    Publication date: December 14, 2006
    Applicant: Microsoft Corporation
    Inventors: Lidong Zhou, Chandramohan Thekkath
  • Publication number: 20060221860
    Abstract: Nodal pattern configuration is described, including generating successive values at a source node, processing the successive values using a plurality of intermediate nodes, sending the processed values from a node in the plurality of intermediate nodes to a destination node, and configuring the plurality of intermediate nodes such that each node of the plurality of intermediate nodes, concurrently performs at least two actions. Also, nodal pattern configuration includes generating a series of data blocks at a source node, processing data blocks from the series of data blocks using a plurality of intermediate nodes in data communication with the source node, each node of the plurality of intermediate nodes being configured to concurrently perform at least two operations, and sending processed data blocks from the plurality of intermediate nodes to a destination node, the destination node being in data communication with the plurality of intermediate nodes.
    Type: Application
    Filed: March 31, 2005
    Publication date: October 5, 2006
    Applicant: Microsoft Corporation
    Inventors: Mark Manasse, Alice Silverberg, Chandramohan Thekkath
  • Publication number: 20060179086
    Abstract: An information management system includes a database comprising a B-Tree data structure. The B-Tree includes a plurality of nodes associated with disk blocks, handles stored in the nodes, and version numbers attached to each of the handles and disk blocks. In addition, a method is provided that can include initially assigning version numbers to disk blocks, wherein the disk blocks are associated with nodes in a B-Tree data structure, and then performing an allocate operation whereby a handle identifying a disk block is returned along with the disk block's version number.
    Type: Application
    Filed: March 16, 2006
    Publication date: August 10, 2006
    Applicant: Microsoft Corporation
    Inventors: Marc Najork, Chandramohan Thekkath
  • Patent number: 7082438
    Abstract: An information management system includes a computer and a database comprising a B-Tree data structure comprising a plurality of nodes associated with disk blocks and handles stored in the nodes. At least one left-link handle, hleft, stored in each node points to a left sibling of that node. A mechanism for performing a lookup operation with respect to a key, k, traverses the B-Tree and refers to the left-link handle, hleft, of a node to access a left sibling of the node if the key k is less than or equal to a value kmin stored in the node. Mechanisms are also provided for performing insert and delete operations, and the lookup, insert, and delete operations detect if the key range of an index node, A, does not include the key k that the operation is trying to locate, and follow a handle A.hleft to the left sibling when k?A.kmin.
    Type: Grant
    Filed: September 1, 2005
    Date of Patent: July 25, 2006
    Assignee: Microsoft Corporation
    Inventors: Marc A. Najork, Chandramohan A. Thekkath
  • Publication number: 20060155781
    Abstract: High-performance, scalable, and fault-tolerant distributed systems include decoupling data replication functions from reconfiguration and read functions to optimize system performance and provide a clean separation between scalability and fault tolerance. Each data object is replicated on multiple servers and a data replication protocol can be used to ensure data consistency. Read requests can be streamlined because any server can satisfy a read request, thus improving read performance, throughput, and overall system performance.
    Type: Application
    Filed: January 10, 2005
    Publication date: July 13, 2006
    Applicant: Microsoft Corporation
    Inventors: John MacCormick, Chandramohan Thekkath, Lidong Zhou
  • Patent number: 7072904
    Abstract: An information management system includes a database comprising a B-Tree data structure. The B-Tree includes a plurality of nodes associated with disk blocks, handles stored in the nodes, and version numbers attached to each of the handles and disk blocks. In addition, the system includes a mechanism for initially assigning each disk block a first prescribed version number (e.g., version number 0), and a mechanism for performing an allocate operation whereby a handle identifying a disk block is returned along with the disk block's version number. The system may also include a mechanism for performing a deallocate operation that increments the disk block's version number, as well as a mechanism for performing a read operation that returns a disk block's version number in addition to the node stored at that disk block. Moreover, a caller of the read operation checks whether the version number returned by the read operation matches the version number of the handle that was read.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: July 4, 2006
    Assignee: Microsoft Corporation
    Inventors: Marc A. Najork, Chandramohan A. Thekkath
  • Publication number: 20060129612
    Abstract: Methods and apparatuses are provided for recovering one or more replicated datasets. In accordance to some embodiments of the invention, this is accomplished by determining whether a log contains one or more entries indicating a corruption in a replicated data item; and recovering the replicated data item if the log contains any such entries. The log, however, is maintained at a higher layer in a software hierarchy than the layer at which the replicated data item is recovered. As a result, there is no need to maintain a separate replication log at the layer where the replicated data item is recovered.
    Type: Application
    Filed: December 14, 2004
    Publication date: June 15, 2006
    Applicant: Microsoft Corporation
    Inventors: John MacCormick, Chandramohan Thekkath, Lidong Zhou
  • Patent number: 7007027
    Abstract: An information management system includes a computer and a database comprising a B-Tree data structure comprising a plurality of nodes associated with disk blocks and handles stored in the nodes. At least one left-link handle, hleft, stored in each node points to a left sibling of that node. A mechanism for performing a lookup operation with respect to a key, k, traverses the B-Tree and refers to the left-link handle, hleft, of a node to access a left sibling of the node if the key k is less than or equal to a value kmin stored in the node. Mechanisms are also provided for performing insert and delete operations, and the lookup, insert, and delete operations detect if the key range of an index node, A, does not include the key k that the operation is trying to locate, and follow a handle A.hleft to the left sibling when k?A.kmin.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: February 28, 2006
    Assignee: Microsoft Corporation
    Inventors: Marc A. Najork, Chandramohan A. Thekkath
  • Publication number: 20060026188
    Abstract: An information management system includes a computer and a database comprising a B-Tree data structure comprising a plurality of nodes associated with disk blocks and handles stored in the nodes. At least one left-link handle, hleft, stored in each node points to a left sibling of that node. A mechanism for performing a lookup operation with respect to a key, k, traverses the B-Tree and refers to the left-link handle, hleft, of a node to access a left sibling of the node if the key k is less than or equal to a value kmin stored in the node. Mechanisms are also provided for performing insert and delete operations, and the lookup, insert, and delete operations detect if the key range of an index node, A, does not include the key k that the operation is trying to locate, and follow a handle A.hleft to the left sibling when k?A.kmin.
    Type: Application
    Filed: September 1, 2005
    Publication date: February 2, 2006
    Applicant: Microsoft Corporation
    Inventors: Marc Najork, Chandramohan Thekkath
  • Publication number: 20050071336
    Abstract: Systems and methods for logging and recovering updates to data structures in the event of failure of an information management system are provided. In exemplary implementations, methods for implementing an efficient redo log for a data structure that is concurrently accessed by multiple clients is provided. The data structure is implemented in two layers: the data structure algorithm layer which sits atop an allocator that provides distributed, persistent, and replicated storage allocation. Both the B-link tree algorithm layer and the allocator use the service of the logging mechanism to implement fault-tolerance and atomicity guarantees. The present invention uses a single log and allows periodic truncation of that log for space efficiency.
    Type: Application
    Filed: September 30, 2003
    Publication date: March 31, 2005
    Inventors: Marc Najork, Chandramohan Thekkath, Lidong Zhou
  • Publication number: 20050036500
    Abstract: A network includes multiple segments and bridges interconnecting the segments, with hosts coupled to the segments. The bridges are smart bridges that each perform a host location initialization function. The host location initialization function in one bridge is performed in corporation with all other bridges in the bridged network via an instance through a propagation order spanning tree (POST). The initialization method includes obtaining prior host location information which is at least a partial representation of the host locations in the bridged network before the network topology change, obtaining hints on host location changes resulting from the network topology change, and modifying the prior host location information according to the hints to construct host location information for initialization. Location information for at least a portion of the hosts in the bridged network is preserved or discovered quickly each time when the network topology changes.
    Type: Application
    Filed: August 15, 2003
    Publication date: February 17, 2005
    Inventors: Thomas Rodeheffer, Mark Lillibridge, Chandramohan Thekkath
  • Publication number: 20040243827
    Abstract: A method for managing access control of a resource includes storing a revocation list containing a list of revoked capabilities and their corresponding groups; storing a group list containing a list of valid groups; receiving a capability revocation request to revoke a specified capability; selecting a revocation method from among a plurality of revocation methods, including an individual capability revocation method and a group revocation method; revoking the specified capability by invalidating the group to which the specified capability belongs if the group revocation method is selected; and revoking the specified capability by invalidating only the specified capability if the individual capability revocation method is selected.
    Type: Application
    Filed: May 30, 2003
    Publication date: December 2, 2004
    Inventors: Marcos K. Aguilera, Minwen Ji, Mark David Lillibridge, John Philip MacCormick, Erwin Oertli, David Godbe Andersen, Michael Burrows, Timothy P. Mann, Chandramohan A. Thekkath
  • Publication number: 20040243828
    Abstract: A system for protecting data integrity in a network attached block-device, such as a disk or a disk array, includes a capability issuer module coupled to a metadata server. The capability-issuer module creates capability data in accordance with a predetermined set of rules, and issues the capability data to the client over a secured channel. The capability data includes a group identifier, a capability identifier, a block-device identifier, a list of extents for specifying a range of blocks to which access is granted, an access mode for indicating the type of access allowed, and a cryptographic string for preventing forgery of capabilities by unauthorized parties. A capability checker module coupled to a network attached block-device verifies that the client's block access request is consistent with the capability data issued, and that the capability data is authentic. Upon verifying the client's capability data, the client's block access request is granted and executed at the network-attached block-device.
    Type: Application
    Filed: May 30, 2003
    Publication date: December 2, 2004
    Inventors: Marcos K. Aguilera, Minwen Ji, Mark Lillibridge, John Philip MacCormick, Erwin Oertli, David Godbe Andersen, Michael Burrows, Timothy P. Mann, Chandramohan A. Thekkath
  • Publication number: 20040107186
    Abstract: An information management system includes a computer and a database comprising a B-Tree data structure comprising a plurality of nodes associated with disk blocks and handles stored in the nodes. At least one left-link handle, hleft, stored in each node points to a left sibling of that node. A mechanism for performing a lookup operation with respect to a key, k, traverses the B-Tree and refers to the left-link handle, hleft, of a node to access a left sibling of the node if the key k is less than or equal to a value kmin stored in the node. Mechanisms are also provided for performing insert and delete operations, and the lookup, insert, and delete operations detect if the key range of an index node, A, does not include the key k that the operation is trying to locate, and follow a handle A.hleft to the left sibling when k≦A.kmin.
    Type: Application
    Filed: December 2, 2002
    Publication date: June 3, 2004
    Applicant: Microsoft Corporation
    Inventors: Marc A. Najork, Chandramohan A. Thekkath
  • Publication number: 20040107185
    Abstract: An information management system includes a database comprising a B-Tree data structure. The B-Tree includes a plurality of nodes associated with disk blocks, handles stored in the nodes, and version numbers attached to each of the handles and disk blocks. In addition, the system includes a mechanism for initially assigning each disk block a first prescribed version number (e.g., version number 0), and a mechanism for performing an allocate operation whereby a handle identifying a disk block is returned along with the disk block's version number. The system may also include a mechanism for performing a deallocate operation that increments the disk block's version number, as well as a mechanism for performing a read operation that returns a disk block's version number in addition to the node stored at that disk block. Moreover, a caller of the read operation checks whether the version number returned by the read operation matches the version number of the handle that was read.
    Type: Application
    Filed: December 2, 2002
    Publication date: June 3, 2004
    Applicant: Microsoft Corporation
    Inventors: Marc A. Najork, Chandramohan A. Thekkath
  • Patent number: 6721275
    Abstract: Managing end stations locations in a bridged network includes providing a smart bridge, and performing communications operations using a network flood active port connections table, a network flood reaching table, a best path forwarding table and a best path sourcing table. An end station locations revision manages a host location (HLOC) table. End stations locations revision is invoked upon detection of changes in any end station location. The end stations locations revision exchanges location revision grandparent (LRG), a location revision child (LRC) table and a location revision wavefront distribution protocol. The locations revision passes the location revision request from the smart bridge over a topology of the bridged network. A location revision wavefront starts at the root and, spreads a location revision request for revising the HLOC of the other smart bridges. The wavefront spreads by wavefront protocol.
    Type: Grant
    Filed: February 1, 2000
    Date of Patent: April 13, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Thomas L. Rodeheffer, Darrell Anderson, Chandramohan A. Thekkath, Raymond P. Stata, Mark D. Lillibridge
  • Patent number: 6614764
    Abstract: A bridged network and a method for performing bridged network topology acquisition. The bridged network includes network segments and smart bridges having one or more ports. The network segments are interconnected by the smart bridges via the ports. Each of the smart bridges being configured to perform steps to accomplish the network topology acquisition. The method also performs steps to accomplish the network topology acquisition. The steps include an inventory construction that compiles a list of the ports that are connected to each of the network segments. Among the ports that are connected to any of the network segments the inventory construction respecting each port operates cooperatively so as to cause the list respecting each of the ports to converge rapidly to the state in which all the lists are similar and yielding a uniform segment inventory.
    Type: Grant
    Filed: February 1, 2000
    Date of Patent: September 2, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Thomas L. Rodeheffer, Darrell Anderson, Chandramohan A. Thekkath, Mark D. Lillibridge