Patents by Inventor Yousef A. Khalidi

Yousef A. Khalidi 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: 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: 5860153
    Abstract: A bit map is maintained by a provider object of a name server to keep track of names cached by a cache object of the client. The bit map is indexed by performing a hash of the name. When a name is looked up by the server on behalf of a client, the server hashes the name, and sets the bit in the bit map indexed by the result of the hash modulo the size of the bit map. The result of the hash is returned to the client and is stored with the entry in the cache. A bit "set" in the bit map indicates that the client caches at least one name that hashes into the bit. When the server invalidates a name, a hash of the name to be invalidated is used to find the corresponding bit in the bit mask. If the bit is set, the server sends an invalidation request to the client. The invalidation request includes the result of the hash, and the size of the provider's bit map. The client invalidates all entries that hash into the specified bit in the bitmap on the server.
    Type: Grant
    Filed: November 22, 1995
    Date of Patent: January 12, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Vladimir Matena, Jose M. Bernabeu-Auban, Yousef A. Khalidi, Kenneth W. Shirriff, Moti N. Thadani
  • 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: 5805572
    Abstract: Transparent routing within the cluster is achieved (without changing the networking code on each node of the cluster) by using a pair of modules interposed appropriately on the networking stack. In a "clustered" system built out of several computers, using the present invention, the networking subsystem appears to applications as if the applications are running on a single computer. In addition, no modifications to the networking code is needed. The present invention is extensible to a variety of networking protocols, not just TCP/IP as the packet filter allows the routing within the cluster to be done dynamically. No modifications to the applications is needed (same binaries will work). A packet filter and remote communication between the modules through IDL enable the modules to do their job. A name server that maintains the port name space is used.
    Type: Grant
    Filed: November 22, 1995
    Date of Patent: September 8, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Jose M. Bernabeu-Auban, Yousef A. Khalidi, Vladimir Matena, Kenneth W. Shirriff
  • 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: 5764897
    Abstract: This disclosure describes a solution to this basic problem of transaction management for systems which use the object metaphor to define the interfaces between different components of a system. An elegant solution is described which defines a transaction manager protocol and process, which is independent of the operating system micro-kernel's interprocess communication activities. The object-oriented transaction manager ("TM") creates transactions, keeps track of all object managers (servers) that are a part of a transaction, and coordinates transaction termination among all objects that are involved in the transaction. In addition, operations by naive applications can be made to execute under transaction control without modifying the applications.
    Type: Grant
    Filed: October 28, 1996
    Date of Patent: June 9, 1998
    Assignee: Sun Microsystems, Inc.
    Inventor: Yousef A. Khalidi
  • Patent number: 5648965
    Abstract: A packet filter can be programmed by a remote controller to detect packets meeting a particular criterion and to report detection of these packets to the controller. The reports from the packet filter are collected and analyzed by the remote controller. A streams module that incorporates the packet filter is used within a Solaris operating system environment that has been enhanced to support an object framework. The streams module exports a programming interface to the packet filter defined in an interface definition language (IDL). The streams module can be pushed onto a network device in a similar fashion to other streams modules. The streams module responds to requests from one remote controller or to requests from more than one remote controller. These remote controller requests arrive as remote procedure call (RPC) requests on the IDL object references exported by the module.
    Type: Grant
    Filed: July 7, 1995
    Date of Patent: July 15, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Moti N. Thadani, Jose M. Bernabeu-Auban, Yousef A. Khalidi, Vladimir Matena, Kenneth W. Shirriff
  • 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: 5584014
    Abstract: An apparatus and method to dynamically partition a set-associative memory device is described. The apparatus includes a set identification device to specify a group of set-associative data blocks in a cache memory or translation-lookaside buffer. A block replacement logic circuit is used to identify replaceable blocks within the set-associative data blocks that can store new information. The block replacement logic circuit is also used to identify un-replaceable blocks within the set-associative data blocks that cannot store new information. The block replacement logic circuit only writes new information to the replaceable blocks of the set-associative data blocks. The block replacement logic circuit can be implemented using a block replacement mask to identify within the set-associative data blocks the replaceable blocks and the un-replaceable blocks.
    Type: Grant
    Filed: December 20, 1994
    Date of Patent: December 10, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Basem A. Nayfeh, Yousef A. Khalidi
  • Patent number: 5566302
    Abstract: The present invention provides an elegant and simple way to provide mechanisms for invocation of objects by client applications and for argument passing between client applications and object implementations, without the client application or the operating system knowing the details of how these mechanisms work. Moreover, these mechanisms functions in a distributed computer environment with similar ease and efficiency, where client applications may be on one computer node and object implementations on another. The invention includes a new type of object, termed a "spring object," which includes a method table, a subcontract mechanism and a data structure which represents the subcontract's local private state. This application is directed to a Shared Memory subcontract whereby a client and a server can share a memory region for argument and results passing in certain circumstances without the intervention of the kernel and with no restrictions on the type or complexity of the arguments being exchanged.
    Type: Grant
    Filed: July 29, 1994
    Date of Patent: October 15, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Graham Hamilton, Panagiotis S. Kougiouris
  • Patent number: 5561799
    Abstract: In this disclosure an architecture for extensible file systems is described. Also disclosed is an implementation of the architecture. The architecture enables the extension of file system functionality by stacking (or composing) new file systems (layers) on top of existing file systems. The implementor of a new layer has the option of keeping the files exported by the new layer coherent with files of the underlying layer, as well as the option of sharing the same cached memory with the files of the underlying layer. A flexible framework is also disclosed for arranging the file systems' name spaces. Composing of new layers on top of existing ones can be done statically (at compile/configuration time) or dynamically (at boot/run time). In addition, the file system layers can reside in the same address space or in different address spaces, and be implemented on a local computer node or on a remote computer node.
    Type: Grant
    Filed: January 11, 1996
    Date of Patent: October 1, 1996
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Michael N. Nelson
  • 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: 5452447
    Abstract: A method and apparatus are described for a caching file server ("CFS") system which permits end user client programs on a local node of a distributed computer system, to issue requests to read/write data to a remote file and to query/set attributes of the remote file, and to have these requests serviced by the CFS in a way which minimizes the caching resources used as well as minimizes the related network communications. The CFS establishes CFS file programs to interface with the client programs, and sets up a common CFS cache for the file attributes, which cache is kept current via a communications link to a file program in a file server at the remote node containing the file, wherein the file program automatically updates the common CFS cache whenever any attributes change. The CFS also caches the results of bind operations in order to further minimize network calls and redundant cache usage.
    Type: Grant
    Filed: December 21, 1992
    Date of Patent: September 19, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Michael N. Nelson, Yousef A. Khalidi
  • 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
  • Patent number: 5396614
    Abstract: The present invention is a method and apparatus for efficiently using existing cache memory in a virtual memory computer system for servicing different demands for such memory. Moreover, the method and apparatus of the present invention, provides a way for authenticating untrusted virtual memory managers (VMMs) and untrusted pagers, which use and supply such caching services. The method and apparatus for authenticating the VMM and pagers can be practiced in an object oriented programming environment or in a non-object oriented environment.
    Type: Grant
    Filed: June 25, 1992
    Date of Patent: March 7, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Yousef A. Khalidi, Michael N. Nelson