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: 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