Patents by Inventor Madhusudhan Talluri

Madhusudhan Talluri 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: 6144999
    Abstract: A file disaster recovery system that employs geographical replication of data from a local site to remote site in a such a manner that file requests from clients of the local site can be handled by a file server on the remote site following a failover from the local site to the remote site. Geographical data replication software running on a local server checkpoints to a log in local stable storage all information on file operations that change the file state of the local file system. According to a selected mode, the local geographical data replication software flushes information in the log pertaining to the file operations since the last flush to the remote site. At the remote site, compatible remote geographical data replication software running on a remote file server receives the flushed log and replicates in sequence order the file operations represented in the flushed log. The results of the operations are stored on remote stable storage. The local and remote servers can be clusters or single servers.
    Type: Grant
    Filed: May 29, 1998
    Date of Patent: November 7, 2000
    Assignee: Sun Microsystems, Incorporated
    Inventors: Yousef A. Khalidi, Madhusudhan Talluri, David Dion, Anil Swaroop
  • Patent number: 6138251
    Abstract: The present invention pertains to a system and method for tracking object references in an object-oriented computing system including a number of independent computing nodes interconnected by a communications link. The reference counting mechanism tracks references to an object through the use of a messaging protocol. A server node keeps a foreign reference count for each of its objects. The foreign reference count indicates the number of remote nodes having a reference to one of the servers objects. A server node increments the foreign reference count for each object reference that it exports prior to sending it to an intended client node. A client node will send a message to the server node when it has already received the exported object reference and in response to this message, the server node decrements the appropriate foreign reference count.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: October 24, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Declan J. Murphy, Andrew G. Tucker, Madhusudhan Talluri, Jose Bernabeu-Auban, Yousef A. Khalidi
  • Patent number: 6074427
    Abstract: The present invention pertains to a system and method for simulating multiple clusters of independent computer nodes in a single machine. A cluster contains one or more computer nodes interconnected by a communications link. A user can simulate a cluster of n nodes by generating n user-level procedures where each user-level procedure represents the kernel of a respective node. An additional mechanism is provided which allows a user to exercise the operation of any intended function in any of the nodes in any of the clusters.
    Type: Grant
    Filed: August 30, 1997
    Date of Patent: June 13, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Steven K. Fought, Madhusudhan Talluri, Declan J. Murphy
  • Patent number: 6049808
    Abstract: When a client computer requests data from a disk or similar device at a server computer, the client exports the memory associated with an allocated read buffer by generating and storing one or more incoming MMU (IMMU) entries that map the read buffer to an assigned global address range. The remote data read request, along with the assigned global address range is communicated to the server node. At the server, the request is serviced by performing a memory import operation, in which one or more outgoing MMU (OMMU) entries are generated and stored for mapping the global address range specified in the read request to a corresponding range of local physical addresses. The mapped local physical addresses in the server are not locations in the server's memory. The server then performs a DMA operation for directly transferring the data specified in the request message from the disk to the mapped local physical addresses.
    Type: Grant
    Filed: December 18, 1998
    Date of Patent: April 11, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhusudhan Talluri, Marshall C. Pease, Srinivasan Viswanathan
  • Patent number: 6014710
    Abstract: A first computer sends a sequence of messages to a second computer using remote write operations to directly store each message in a corresponding memory location in the second computer, without performing remote read operations to confirm storage of each message in the second computer's memory. The first computer detects message transmission errors, if any, during the transmission of each message to the second computer and when a message transmission error is detected, resends the message to the second computer. The first computer also sends trigger messages to the second computer to prompt the second computer to process messages stored in the second computer's memory. The second computer processes each received message and uses a remote write operation to store an acknowledgment message in a corresponding memory location in the first computer.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: January 11, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhusudhan Talluri, Marshall C. Pease
  • Patent number: 5961606
    Abstract: In a distributed computer system, a sending node prompts a receiving node to allocate and export to the sending node one or more memory "segments". Each allocated segment is sufficiently large to hold multiple receive buffers whose size fall within a predefined range of receive buffer sizes. Once a segment has been allocated and exported, the sending node allocates receive buffers within the segment, using sequentially contiguous portions for successive receive buffers, without any interaction with the receiving node. Messages are transmitted to the receiving node by remotely writing the data portion of each message to an allocated receive buffer and writing a control message with a pointer to the corresponding receive buffer to a message queue in the receiving node. The receiving node processes messages within the portions of the allocated segments specified by each control message and does not keep track of the used and/or unused portions of each segment.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: October 5, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhusudhan Talluri, Marshall C. Pease
  • Patent number: 5956756
    Abstract: A method and apparatus for translating a virtual address to a physical address. A virtual address to be translated has a virtual page offset and a virtual page number. The virtual address to be translated addresses a page of memory. The size of this page is unknown. There are L different possible page sizes where L is a positive integer greater than one. Each of the L different page sizes is selected to be a test page size and a test is performed. During the test, a pointer into a translation storage buffer is calculated. The pointer is calculated from the virtual address to be translated by assuming that the virtual address to be translated corresponds to a mapping of the test page size. The pointer points to a candidate translation table entry of the translation storage buffer. The candidate translation table entry has a candidate tag and candidate data.
    Type: Grant
    Filed: June 6, 1997
    Date of Patent: September 21, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Glen R. Anderson, Stephen A. Chessin, Shing Ip Kong, Charles E. Narad, Madhusudhan Talluri
  • Patent number: 5953522
    Abstract: A devtmp device driver provides the functionality of temporary files by representing a virtual device and including the virtual device among several devices within which a file system can store files. Rather than storing data in and retrieving data from a physical device, the devtmp device driver stores data in and retrieves data from anonymous storage through a swap file system which manages anonymous storage for a virtual memory system. A file system uses the devtmp device driver in the same manner the file system uses conventional device drivers which store data in and retrieve data from secondary storage devices. Since the devtmp device driver represents a virtual device whose data are stored in anonymous storage managed by the swap file system, the total amount of storage available for storing data of temporary files is shared among the various components of a computer process to successfully satisfy various needs of various computer processes.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: September 14, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Kevin C. Fox, Timothy P. Marsland, Michael L. Federwisch, James J. Voll, Madhusudhan Talluri
  • Patent number: 5884313
    Abstract: When a client computer requests data from a disk or similar device at a server computer, the client exports the memory associated with an allocated read buffer by generating and storing one or more incoming MMU (IMMU) entries that map the read buffer to an assigned global address range. The remote data read request, along with the assigned global address range is communicated to the server node. At the server, the request is serviced by performing a memory import operation, in which one or more outgoing MMU (OMMU) entries are generated and stored for mapping the global address range specified in the read request to a corresponding range of local physical addresses. The mapped local physical addresses in the server are not locations in the server's memory. The server then performs a DMA operation for directly transferring the data specified in the request message from the disk to the mapped local physical addresses.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: March 16, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhusudhan Talluri, Marshall C. Pease, Srinivasan Viswanathan
  • Patent number: 5808911
    Abstract: The present invention pertains to a system and method for tracking object references in an object-oriented computing system including a number of independent computing nodes interconnected by a communications link. The reference counting mechanism tracks references to an object at three levels. At a first level, the server handler associated with an object is used to track local references to the object by other user applications within the same domain. At a second level, the inter-process communications facility (i.e., door facility) is used to track object references that are exported to different domains within the same node. At a third level, the kernel object request broker (ORB) is used to track object references that are exported outside the node. When all external object references are released, the ORB notifies the object's server handler of this occurrence. Similarly, the door facility notifies the object's server handler when all inter-domain references have been released.
    Type: Grant
    Filed: June 19, 1997
    Date of Patent: September 15, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Andrew G Tucker, Madhusudhan Talluri, Declan Murphy, Yousef A. Khalidi
  • Patent number: 5784707
    Abstract: A computer system having virtual memory that can be mapped using multiple page sizes onto logically addressable physical memory. An intermediate addressing scheme permits the mapping of several non-contiguous small pages in physical memory onto a bigger sized virtual memory page. Rather than translating a virtual address directly into a physical address, a virtual address is translated into an intermediate address that may or may not be a physical address. If the virtual page is backed by physical memory that is contiguous and aligned on a proper boundary for the page size, then the intermediate address will be the physical address and no second translation is required. If the intermediate address is not a physical address, it is then translated into a physical address. This is the case where a big page in virtual memory is backed by more than one smaller page in physical memory.
    Type: Grant
    Filed: April 19, 1996
    Date of Patent: July 21, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Vikram P. Joshi, Madhusudhan Talluri
  • Patent number: 5630087
    Abstract: A method and apparatus to share virtual memory translations in a computer is described. The apparatus includes an operating system that runs in conjunction with a central processing unit. The operating system is programmed to include an address identification routine to identify distinct virtual memory translation entries, associated with a plurality of distinct processes running on the computer, that map to one or more common physical memory page addresses. The operating system also includes a mask assignment routine to assign a first mask value to the distinct virtual memory translation entries, and a write routine to write, to a translation-lookaside buffer or a page table, the distinct virtual memory translation entries as a single address associated with the first mask value. A comparison mechanism is used to compare a second mask value of a translation-request virtual memory translation value to the first mask value to determine whether the second mask value corresponds to said first mask value.
    Type: Grant
    Filed: November 2, 1994
    Date of Patent: May 13, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Madhusudhan Talluri, Yousef A. Khalidi
  • Patent number: 5479627
    Abstract: A method and apparatus for translating a virtual address to a physical address. A virtual address to be translated has a virtual page offset and a virtual page number. The virtual address to be translated addresses a page of memory. The size of this page is unknown. There are L different possible page sizes where L is a positive integer greater than one. Each of the L different page sizes is selected to be a test page size and a test is performed. During the test, a pointer into a translation storage buffer is calculated. The pointer is calculated from the virtual address to be translated by assuming that the virtual address to be translated corresponds to a mapping of the test page size. The pointer points to a candidate translation table entry of the translation storage buffer. The candidate translation table entry has a candidate tag and candidate data.
    Type: Grant
    Filed: September 8, 1993
    Date of Patent: December 26, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Glen R. Anderson, Stephen A. Chessin, Shing I. Kong, Charles E. Narad, Madhusudhan Talluri
  • Patent number: 5446854
    Abstract: A method and apparatus for providing address translations for a computer system having a virtual memory that is mapped onto physical memory. The apparatus has at least one page frame descriptor (PFD) for describing a contiguous portion of physical memory, at least one translation block (TB) for describing a contiguous portion of virtual memory and a hash list. Each PFD has a base physical address (PA), a PA range beginning at the base PA and a translation entry pointer. Each TB has a base virtual address (VA), a VA range beginning at the base VA, and a page size used to map the VA range of the TB. Each TB also has a header and at least one translation entry. Each header has a TB pointer and each translation entry has a backward pointer. Each translation entry of the TB corresponds to a different equalsized translation range of the VA range of the TB.
    Type: Grant
    Filed: October 20, 1993
    Date of Patent: August 29, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Madhusudhan Talluri, Dock G. Williams, Vikram P. Joshi