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: 9258254Abstract: 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: GrantFiled: June 4, 2013Date of Patent: February 9, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Arvind Srinivasan, Shimon Muller
-
Patent number: 9232028Abstract: 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: GrantFiled: June 4, 2013Date of Patent: January 5, 2016Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Arvind Srinivasan, Shimon Muller
-
Patent number: 9055005Abstract: 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: GrantFiled: June 4, 2013Date of Patent: June 9, 2015Assignee: ORACLE INTERNATIONAL CORPORATIONInventors: Arvind Srinivasan, Shimon Muller
-
Publication number: 20140269743Abstract: 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: ApplicationFiled: June 4, 2013Publication date: September 18, 2014Inventors: Arvind Srinivasan, Shimon Muller
-
Publication number: 20140269686Abstract: 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: ApplicationFiled: June 4, 2013Publication date: September 18, 2014Inventors: Arvind Srinivasan, Shimon Muller
-
Publication number: 20140269311Abstract: 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: ApplicationFiled: June 4, 2013Publication date: September 18, 2014Inventors: Arvind Srinivasan, Shimon Muller
-
Patent number: 8762595Abstract: 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: GrantFiled: April 5, 2005Date of Patent: June 24, 2014Assignee: Oracle America, Inc.Inventors: Shimon Muller, Ariel Hendel, Yatin Gajjar, Michael Wong
-
Patent number: 8443051Abstract: 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: GrantFiled: August 28, 2009Date of Patent: May 14, 2013Assignee: Oracle America, Inc.Inventors: Ajoy Siddabathuni, Arvind Srinivasan, Shimon Muller
-
Patent number: 8023528Abstract: 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: GrantFiled: January 21, 2010Date of Patent: September 20, 2011Assignee: Oracle America, Inc.Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
-
Patent number: 8006016Abstract: 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: GrantFiled: January 18, 2011Date of Patent: August 23, 2011Assignee: Oracle America, Inc.Inventors: Shimon Muller, Rahoul Puri, Michael Wong
-
Patent number: 7987306Abstract: 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: GrantFiled: April 4, 2005Date of Patent: July 26, 2011Assignee: Oracle America, Inc.Inventors: Shimon Muller, Rahoul Puri, Michael Wong
-
Patent number: 7970963Abstract: 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: GrantFiled: June 29, 2009Date of Patent: June 28, 2011Assignee: Oracle America, Inc.Inventor: Shimon Muller
-
Publication number: 20110110380Abstract: 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: ApplicationFiled: January 18, 2011Publication date: May 12, 2011Inventors: Shimon Muller, Rahoul Puri, Michael Wong
-
Publication number: 20110055346Abstract: 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: ApplicationFiled: August 28, 2009Publication date: March 3, 2011Applicant: Sun Microsystems, Inc.Inventors: Ajoy Siddabathuni, Arvind Srinivasan, Shimon Muller
-
Patent number: 7865624Abstract: 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: GrantFiled: April 4, 2005Date of Patent: January 4, 2011Assignee: Oracle America, Inc.Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
-
Publication number: 20100332698Abstract: 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: ApplicationFiled: June 29, 2009Publication date: December 30, 2010Applicant: SUN MICROSYSTEMS, INC.Inventor: Shimon Muller
-
Patent number: 7843926Abstract: 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: GrantFiled: April 5, 2005Date of Patent: November 30, 2010Assignee: Oracle America, Inc.Inventors: Shimon Muller, Ariel Hendel, Yatin Gajjar, Michael Wong, Andreas Bechtolsheim, David Cheriton, Mohammad Issa, Aly Orady, Raju Penumatcha
-
Publication number: 20100118884Abstract: 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: ApplicationFiled: January 21, 2010Publication date: May 13, 2010Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
-
Patent number: 7664127Abstract: 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: GrantFiled: April 5, 2005Date of Patent: February 16, 2010Assignee: Sun Microsystems, Inc.Inventors: Ariel Hendel, Michael Wong, Yatin Gajjar, Shimon Muller
-
Patent number: 7567567Abstract: 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: GrantFiled: April 5, 2005Date of Patent: July 28, 2009Assignee: Sun Microsystems, Inc.Inventors: Shimon Muller, Ariel Hendel, Yatin Gajjar, Michael Wong, Rahoul Puri, May Lin