Patents by Inventor Omid Ahmadian

Omid Ahmadian 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: 7269608
    Abstract: An object cache stores objects in a cyclic buffer to provide highly efficient creation of cache entries. The cache efficiently manages storage of a large number of small objects because the cache does not write objects into a file system as individual files, rather the cache utilizes cyclical buffers in which to store objects as they are added to the cache. Because of the use of a cyclic buffer, the high-overhead process of purging cache entries never needs to be performed. Cache entries are automatically purged as they are overwritten when the cyclic buffer becomes full and the input pointer wraps around from the end of a cyclic buffer to the beginning of a cyclic buffer. Additionally, in the event of a system crash or disk subsystem malfunction, inspect and repair time is independent of the size of the cache, as opposed to conventional file systems in which the time is proportional to the size of the file system.
    Type: Grant
    Filed: May 3, 2002
    Date of Patent: September 11, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas K. Wong, Panagiotis Tsirigotis, Sanjay R. Radia, Rajeev Chawla, Omid Ahmadian
  • Patent number: 7123613
    Abstract: A transparent proxy server is implemented by directing particular client packets to a proxy server that handles communications between the client and an origin server. When a client sends a packet to an origin server, a router transparently redirects the packet to the proxy server by storing the proxy server address in the destination field and the origin server address in the record route options field. The proxy server sends connection setup requests to the origin server and forwards acknowledgement packets to the client. For other requests, the proxy server determines whether the requested information is stored in the proxy server cache. If so, the information is retrieved from the cache; if not, the information is retrieved from the origin server. All acknowledgement and information packets are sent to the client with the origin server address in the source field, making it appear that the origin server sent the packets.
    Type: Grant
    Filed: April 7, 2000
    Date of Patent: October 17, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Rajeev Chawla, Thomas K. Wong, Panagiotis Tsirigotis, Omid Ahmadian, Sanjay R. Radia, Ashvin Kamaraju
  • Patent number: 6807615
    Abstract: An apparatus and method for creating and maintaining a cyclic or circular buffer are implemented using logical blocks corresponding to the physical blocks of the buffer. The logical blocks are mapped to the physical blocks of the cyclic buffer, and are used to create an index table for the buffer. Each entry in the index table corresponds to one or more blocks in the buffer, and has a logical block number respectively associated with a buffer block. When information from the buffer is accessed, the index table is consulted to determine if the requested information is stored in the buffer. If the information is stored in the buffer, the logical block number corresponding to the information is retrieved from the entry and translated into a corresponding physical block number. Using logical block numbers allows simple determination of whether the buffer block is valid, and how new or fresh the buffer block is without requiring a generation or cycle number.
    Type: Grant
    Filed: April 8, 1999
    Date of Patent: October 19, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas K. Wong, Panagiotis Tsirigotis, Rajeev Chawla, Omid Ahmadian, Sanjay R. Radia
  • Publication number: 20040111443
    Abstract: An object cache stores objects in a cyclic buffer to provide highly efficient creation of cache entries. The cache efficiently manages storage of a large number of small objects because the cache does not write objects into a file system as individual files, rather the cache utilizes cyclical buffers in which to store objects as they are added to the cache. Because of the use of a cyclic buffer, the high-overhead process of purging cache entries never needs to be performed. Cache entries are automatically purged as they are overwritten when the cyclic buffer becomes full and the input pointer wraps around from the end of a cyclic buffer to the beginning of a cyclic buffer. Additionally, in the event of a system crash or disk subsystem malfunction, inspect and repair time is independent of the size of the cache, as opposed to conventional file systems in which the time is proportional to the size of the file system.
    Type: Application
    Filed: May 3, 2002
    Publication date: June 10, 2004
    Inventors: Thomas K. Wong, Panagiotis Tsirigotis, Sanjay R. Radia, Rajeev Chawla, Omid Ahmadian
  • Publication number: 20020184441
    Abstract: An object cache stores objects in a cyclic buffer to provide highly efficient creation of cache entries. The cache efficiently manages storage of a large number of small objects because the cache does not write objects into a file system as individual files, rather the cache utilizes cyclical buffers in which to store objects as they are added to the cache. Because of the use of a cyclic buffer, the high-overhead process of purging cache entries never needs to be performed. Cache entries are automatically purged as they are overwritten when the cyclic buffer becomes full and the input pointer wraps around from the end of a cyclic buffer to the beginning of a cyclic buffer. Additionally, in the event of a system crash or disk subsystem malfunction, inspect and repair time is independent of the size of the cache, as opposed to conventional file systems in which the time is proportional to the size of the file system.
    Type: Application
    Filed: June 19, 2001
    Publication date: December 5, 2002
    Inventors: Thomas K. Wong, Panagiotis Tsirigotis, Sanjay R. Radia, Rajeev Chawla, Omid Ahmadian