Patents by Inventor Shimon Muller

Shimon Muller 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: 9258254
    Abstract: An input/output (I/O) switch fabric includes input physical ports that convey packets associated with at least a first network flow. Moreover, virtual routers in the I/O switch fabric, which have associated routing tables, provide types of service and/or routes for different source-destination pairs based on link-layer information and network-layer information in the packets. Note that different virtual routers can provide different types of service and/or different routes. For example, a type of service associated with a first virtual router may include changing packet headers when crossing service domains in a global network, and a type of service associated with a second virtual router may avoid changing packet headers when providing connectivity in the network. Furthermore, the I/O switch fabric includes output physical ports that convey packets associated with at least a second network flow. The virtual routers may facilitate InfiniBand inter-subnet crossing.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: February 9, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Shimon Muller
  • Patent number: 9232028
    Abstract: An apparatus that recursively classifies packets includes a hierarchical set of classification engines that perform parallel classification of the packets in a packet processing queue. In particular, a first classification engine separates the packets based on physical-layer information and/or link-layer information in the packets. Then, second classification engines further separate the packets into multiple parallel pipelines based on layer information in the packets that is other than the physical-layer information and the link-layer information. The first classification engine and the second classification engines maintain a relative ordering of the packets in network sub-flows while allowing changes in relative ordering among different network flows.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: January 5, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Shimon Muller
  • Patent number: 9055005
    Abstract: An input/output (I/O) switch fabric includes first physical ports that convey multiple network flows. Moreover, classifiers in the I/O switch fabric separate packets for network flows associated with different types of service. Then, the I/O switch fabric conveys the packets to different virtual switch ports without interference between the separated packets associated with different network flows. Furthermore, second physical ports in the I/O switch fabric output the packets, where a given second physical port outputs packets for at least some of the network flows associated with different types of service. In this way, the given second physical port can output packets having: the same source and destination; different sources and the same destination; or the same source and different destinations.
    Type: Grant
    Filed: June 4, 2013
    Date of Patent: June 9, 2015
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20140269743
    Abstract: An input/output (I/O) switch fabric includes first physical ports that convey multiple network flows. Moreover, classifiers in the I/O switch fabric separate packets for network flows associated with different types of service. Then, the I/O switch fabric conveys the packets to different virtual switch ports without interference between the separated packets associated with different network flows. Furthermore, second physical ports in the I/O switch fabric output the packets, where a given second physical port outputs packets for at least some of the network flows associated with different types of service. In this way, the given second physical port can output packets having: the same source and destination; different sources and the same destination; or the same source and different destinations.
    Type: Application
    Filed: June 4, 2013
    Publication date: September 18, 2014
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20140269686
    Abstract: An input/output (I/O) switch fabric includes input physical ports that convey packets associated with at least a first network flow. Moreover, virtual routers in the I/O switch fabric, which have associated routing tables, provide types of service and/or routes for different source-destination pairs based on link-layer information and network-layer information in the packets. Note that different virtual routers can provide different types of service and/or different routes. For example, a type of service associated with a first virtual router may include changing packet headers when crossing service domains in a global network, and a type of service associated with a second virtual router may avoid changing packet headers when providing connectivity in the network. Furthermore, the I/O switch fabric includes output physical ports that convey packets associated with at least a second network flow. The virtual routers may facilitate InfiniBand inter-subnet crossing.
    Type: Application
    Filed: June 4, 2013
    Publication date: September 18, 2014
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20140269311
    Abstract: An apparatus that recursively classifies packets includes a hierarchical set of classification engines that perform parallel classification of the packets in a packet processing queue. In particular, a first classification engine separates the packets based on physical-layer information and/or link-layer information in the packets. Then, second classification engines further separate the packets into multiple parallel pipelines based on layer information in the packets that is other than the physical-layer information and the link-layer information. The first classification engine and the second classification engines maintain a relative ordering of the packets in network sub-flows while allowing changes in relative ordering among different network flows.
    Type: Application
    Filed: June 4, 2013
    Publication date: September 18, 2014
    Inventors: Arvind Srinivasan, Shimon Muller
  • Patent number: 8762595
    Abstract: A method for sharing a network interface among multiple hosts and includes providing a network interface, associating a first set of the plurality of memory access channels with a first host, and associating a second set of the plurality of memory access channels with a second host is disclosed. The network interface including a plurality of memory access channels.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: June 24, 2014
    Assignee: Oracle America, Inc.
    Inventors: Shimon Muller, Ariel Hendel, Yatin Gajjar, Michael Wong
  • Patent number: 8443051
    Abstract: Disclosed are systems and methods for reclaiming posted buffers during a direct memory access (DMA) operation executed by an input/output device (I/O device) in connection with data transfer across a network. During the data transfer, the I/O device may cancel a buffer provided by a device driver thereby relinquishing ownership of the buffer. A condition for the I/O device relinquishing ownership of a buffer may be provided by a distance vector that may be associated with the buffer. The distance vector may specify a maximum allowable distance between the buffer and a buffer that is currently fetched by the I/O device. Alternatively, a condition for the I/O device relinquishing ownership of a buffer may be provided by a timer. The timer may specify a maximum time that the I/O device may maintain ownership of a particular buffer. In other implementations, a mechanism is provided to force the I/O device to relinquish some or all of the buffers that it controls.
    Type: Grant
    Filed: August 28, 2009
    Date of Patent: May 14, 2013
    Assignee: Oracle America, Inc.
    Inventors: Ajoy Siddabathuni, Arvind Srinivasan, Shimon Muller
  • Patent number: 8023528
    Abstract: A method of resolving mutex contention within a network interface unit which includes providing a plurality of memory access channels, and moving a thread via at least one of the plurality of memory access channels, the plurality of memory access channels allowing moving of the thread while avoiding mutex contention when moving the thread via the at least one of the plurality of memory access channels is disclosed.
    Type: Grant
    Filed: January 21, 2010
    Date of Patent: September 20, 2011
    Assignee: Oracle America, Inc.
    Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
  • Patent number: 8006016
    Abstract: A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.
    Type: Grant
    Filed: January 18, 2011
    Date of Patent: August 23, 2011
    Assignee: Oracle America, Inc.
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Patent number: 7987306
    Abstract: A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: July 26, 2011
    Assignee: Oracle America, Inc.
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Patent number: 7970963
    Abstract: Some embodiments of the present invention provide a system for receiving packets on a multi-threaded computing device which uses a memory-buffer-usage scorecard (MBUS) to enable multiple hardware threads to share a common pool of memory buffers. During operation, the system can identify a memory-descriptor location for posting a memory descriptor for a memory buffer. Next, the system can post the memory descriptor for the memory buffer at the memory-descriptor location. The system can then update the MBUS to indicate that the memory buffer is in use. Next, the system can store a packet in the memory buffer, and post a completion descriptor in a completion-descriptor location to indicate that the packet is ready to be processed. If the completion-descriptor indicates that the memory buffer is ready to be reclaimed, the system can reclaim the memory buffer, and update the MBUS to indicate that the memory buffer has been reclaimed.
    Type: Grant
    Filed: June 29, 2009
    Date of Patent: June 28, 2011
    Assignee: Oracle America, Inc.
    Inventor: Shimon Muller
  • Publication number: 20110110380
    Abstract: A method for addressing system latency within a network system which includes providing a network interface and moving data within each of the plurality of memory access channels independently and in parallel to and from a memory system so that one or more of the plurality of memory access channels operate efficiently in the presence of arbitrary memory latencies across multiple requests is disclosed. The network interface includes a plurality of memory access channels.
    Type: Application
    Filed: January 18, 2011
    Publication date: May 12, 2011
    Inventors: Shimon Muller, Rahoul Puri, Michael Wong
  • Publication number: 20110055346
    Abstract: Disclosed are systems and methods for reclaiming posted buffers during a direct memory access (DMA) operation executed by an input/output device (I/O device) in connection with data transfer across a network. During the data transfer, the I/O device may cancel a buffer provided by a device driver thereby relinquishing ownership of the buffer. A condition for the I/O device relinquishing ownership of a buffer may be provided by a distance vector that may be associated with the buffer. The distance vector may specify a maximum allowable distance between the buffer and a buffer that is currently fetched by the I/O device. Alternatively, a condition for the I/O device relinquishing ownership of a buffer may be provided by a timer. The timer may specify a maximum time that the I/O device may maintain ownership of a particular buffer. In other implementations, a mechanism is provided to force the I/O device to relinquish some or all of the buffers that it controls.
    Type: Application
    Filed: August 28, 2009
    Publication date: March 3, 2011
    Applicant: Sun Microsystems, Inc.
    Inventors: Ajoy Siddabathuni, Arvind Srinivasan, Shimon Muller
  • Patent number: 7865624
    Abstract: A method of performing a lookup within a network interface unit which includes providing a plurality of memory access channels, performing a multilayer lookup operation on a packet, and refining a selection of one of the plurality of memory access channels based upon the multilayer lookup operation is disclosed.
    Type: Grant
    Filed: April 4, 2005
    Date of Patent: January 4, 2011
    Assignee: Oracle America, Inc.
    Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
  • Publication number: 20100332698
    Abstract: Some embodiments of the present invention provide a system for receiving packets on a multi-threaded computing device which uses a memory-buffer-usage scorecard (MBUS) to enable multiple hardware threads to share a common pool of memory buffers. During operation, the system can identify a memory-descriptor location for posting a memory descriptor for a memory buffer. Next, the system can post the memory descriptor for the memory buffer at the memory-descriptor location. The system can then update the MBUS to indicate that the memory buffer is in use. Next, the system can store a packet in the memory buffer, and post a completion descriptor in a completion-descriptor location to indicate that the packet is ready to be processed. If the completion-descriptor indicates that the memory buffer is ready to be reclaimed, the system can reclaim the memory buffer, and update the MBUS to indicate that the memory buffer has been reclaimed.
    Type: Application
    Filed: June 29, 2009
    Publication date: December 30, 2010
    Applicant: SUN MICROSYSTEMS, INC.
    Inventor: Shimon Muller
  • Patent number: 7843926
    Abstract: A network system which includes a plurality of separate processing entities, an input output bus, and a network interface unit shared among the plurality of separate processing entities is disclosed. The network interface unit is coupled to the plurality of separate processing entities via the input output bus. The network interface unit has a plurality of memory access channels and each memory access channel is assigned to one processing entity.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: November 30, 2010
    Assignee: Oracle America, Inc.
    Inventors: Shimon Muller, Ariel Hendel, Yatin Gajjar, Michael Wong, Andreas Bechtolsheim, David Cheriton, Mohammad Issa, Aly Orady, Raju Penumatcha
  • Publication number: 20100118884
    Abstract: A method of resolving mutex contention within a network interface unit which includes providing a plurality of memory access channels, and moving a thread via at least one of the plurality of memory access channels, the plurality of memory access channels allowing moving of the thread while avoiding mutex contention when moving the thread via the at least one of the plurality of memory access channels is disclosed.
    Type: Application
    Filed: January 21, 2010
    Publication date: May 13, 2010
    Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
  • Patent number: 7664127
    Abstract: A method of resolving mutex contention within a network interface unit which includes providing a plurality of memory access channels, and moving a thread via at least one of the plurality of memory access channels, the plurality of memory access channels allowing moving of the thread while avoiding mutex contention when moving the thread via the at least one of the plurality of memory access channels is disclosed.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: February 16, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
  • Patent number: 7567567
    Abstract: A network system which includes a plurality of processing entities, an interconnect device coupled to the plurality of processing entities, a memory system coupled to the interconnect device and the plurality of processing entities, a network interface unit coupled to the plurality of processing entities and the memory system via the interconnect device. The network interface includes a memory access module and a packet classifier. The memory access module includes a plurality of parallel memory access channels. The packet classifier provides a flexible association between packets and the plurality of processing entities via the plurality of memory access channels.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: July 28, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Ariel Hendel, Yatin Gajjar, Michael Wong, Rahoul Puri, May Lin