Patents by Inventor Arvind Srinivasan

Arvind Srinivasan 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: 9544232
    Abstract: A system and method can support dynamic provisioning in a network switch environment, such as supporting virtualized switch classification tables in a network switch. The system can provide a plurality of memory blocks that can be used to build one or more classification tables for supporting packet processing. Furthermore, the system can comprise a management entity that operates to monitor traffic profile associated with a network port in the network switch. Then, the management entity can allocate one or more memory blocks in the plurality of memory blocks for a logical classification table, and associate the logical classification table with the network port.
    Type: Grant
    Filed: November 5, 2013
    Date of Patent: January 10, 2017
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Marcelino Dignum
  • Patent number: 9531641
    Abstract: Implementations of the present disclosure involve an apparatus, device, component, and/or method for a virtual output queue linked list management scheme for a high-performance network switch. In general, the linked list management scheme utilizes one or more look-ahead links associated with one or more descriptors in the linked list of descriptors that describe the storage of the incoming data packets to the switch. The look-ahead links allow the switch to schedule reads of memory locations included in the descriptors at the same speed at which the data packets are stored in memory.
    Type: Grant
    Filed: July 29, 2014
    Date of Patent: December 27, 2016
    Assignee: Oracle International Corporation
    Inventor: Arvind Srinivasan
  • Patent number: 9497133
    Abstract: The disclosed embodiments provide a system that operates a switch fabric. During operation, the system creates a set of virtual links for a first set of physical ports in the switch fabric. Next, the system uses a set of virtual port numbers to create a set of mappings between the set of virtual links and a second set of physical ports in the switch fabric, wherein the second set of physical ports is connected to the first set of physical ports using a single physical link. The system then uses the mappings to provide non-blocking behavior in traffic from the first set of physical ports to the second set of physical ports.
    Type: Grant
    Filed: February 3, 2016
    Date of Patent: November 15, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Bjorn Dag Johnsen
  • Patent number: 9489327
    Abstract: A system and method can support efficient packet processing in a network environment. The system can comprise a thread scheduling engine that operates to assign a thread key to each software thread in a plurality of software threads. Furthermore, the system can comprise a pool of direct memory access (DMA) resources that can be used to process packets in the network environment. Additionally, each said software thread operates to request access to a DMA resource in the pool of DMA resources by presenting an assigned thread key, and a single software thread is allowed to access multiple DMA resources using the same thread key.
    Type: Grant
    Filed: November 5, 2013
    Date of Patent: November 8, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Ajoy Siddabathuni, Elisa Rodrigues
  • Publication number: 20160234122
    Abstract: A system for communicating packets through a network switch fabric is described. At an aggregation point in the network switch fabric, the system segregates packet flows from multiple sources into a set of quality-of-service (QoS) buckets. The system also associates packet flows from the multiple sources with a global QoS bucket. The system monitors traffic rates for each QoS bucket in the set of QoS buckets and the global QoS bucket. The system determines a state for each QoS bucket by comparing a traffic rate for the QoS bucket with state-specific thresholds. The system also determines a state for the global QoS bucket by comparing a traffic rate for the global QoS bucket with state-specific global thresholds. When a packet is received for a given QoS bucket, the system performs an action based on a state of the given QoS bucket and a state of the global QoS bucket.
    Type: Application
    Filed: February 10, 2015
    Publication date: August 11, 2016
    Applicant: Oracle International Corporation
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20160226772
    Abstract: The disclosed embodiments relate to a system for communicating packets through a network switch fabric. During operation, at an aggregation point in the network switch fabric, the system segregates packet flows from multiple sources into a set of quality-of-service (QoS) buckets. Next, the system monitors traffic rates for each QoS bucket. The system then determines a state for each QoS bucket by comparing a traffic rate for the QoS bucket with one or more state-specific thresholds. When a packet is subsequently received for a given QoS bucket, the system performs an action based on a state of the given QoS bucket.
    Type: Application
    Filed: February 3, 2015
    Publication date: August 4, 2016
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20160191404
    Abstract: A system and method can support efficient packet switching in a network environment. A networking device, such as a network switch, which includes a crossbar fabric, can be associated with a plurality of input ports and a plurality of output ports. Furthermore, the networking device operates to detect a link state change at an output port on the networking device. The output port can provide one or more credits to an output scheduler, and the output scheduler allows one or more packets targeting the output port to be dequeued from one or more virtual output queues, based on the one or more credits.
    Type: Application
    Filed: December 29, 2014
    Publication date: June 30, 2016
    Inventors: Arvind Srinivasan, Carlos Castil
  • Publication number: 20160191422
    Abstract: A system and method can support packet switching in a network environment. The system can include an ingress buffer on a networking device, wherein the ingress buffer, which includes one or more virtual output queues, operate to store one or more incoming packets that are received at an input port on the networking device. Furthermore, the system can include a packet flush engine, which is associated with the ingress buffer, wherein said packet flush engine operates to flush a packet that is stored in a said virtual output queue in the ingress buffer, and notify one or more output schedulers that the packet is flushed, wherein each output scheduler is associated with an output port.
    Type: Application
    Filed: December 29, 2014
    Publication date: June 30, 2016
    Inventors: Arvind Srinivasan, Carlos Castil
  • Publication number: 20160191424
    Abstract: A system and method can support packet switching in a network environment. A networking device, such as a network switch, which includes a crossbar fabric, can be associated with a plurality of input ports and a plurality of output ports. Furthermore, the networking device can detect a link state change at an output port that is associated with the networking device. Then, the networking device can notify one or more input ports, via the output port, of the link state change at the output port.
    Type: Application
    Filed: December 29, 2014
    Publication date: June 30, 2016
    Inventors: Arvind Srinivasan, Carlos Castil
  • Publication number: 20160191423
    Abstract: A system and method can support efficient packet switching in a network environment. The system can comprise an ingress buffer on a networking device. The ingress buffer operate to store one or more incoming packets that are received at an input port on the networking device, wherein the input port is associated with a plurality of source virtual lanes (VLs). Furthermore, the ingress buffer operate to reallocate buffer resource in the ingress buffer from being associated with a first source VL in the plurality of source VLs to being associated with a second source VL in the plurality of source VLs, and send an initial credit update to the input port for the first source VL and the second source VL.
    Type: Application
    Filed: December 29, 2014
    Publication date: June 30, 2016
    Inventors: Arvind Srinivasan, Carlos Castil
  • Publication number: 20160173365
    Abstract: A system for communicating a multi-destination packet through a network switch fabric is described. The system receives the multi-destination packet at an input port of the network switch fabric, wherein the multi-destination packet is directed to multiple output ports, and wherein the network switch fabric has a virtual output queue (VOQ) architecture, wherein each input port maintains a separate VOQ for each output port. The system sends the multi-destination packet by inserting the multi-destination packet into VOQs associated with the multiple output ports. While inserting the multi-destination packet in each VOQ, if the VOQ is empty, the system inserts the multi-destination packet at a head of the VOQ. Otherwise, if the VOQ is not empty and if the VOQ contains an end of a last complete packet received by the VOQ, the system inserts the multi-destination packet into the VOQ at the end of the last complete packet.
    Type: Application
    Filed: December 16, 2014
    Publication date: June 16, 2016
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20160173401
    Abstract: A system for communicating a multi-destination packet through a network switch fabric with a plurality of input and output ports is described. This system receives the multi-destination packet at an input port, wherein the multi-destination packet includes a multicast packet or a broadcast packet that is directed to multiple output ports, and wherein the network switch fabric maintains a separate virtual output queue (VOQ) for each output port. Next, the system sends the multi-destination packet from the input port to the multiple output ports by inserting the multi-destination packet into VOQs associated with the multiple output ports. The multi-destination packet is inserted into one VOQ at a time, so that after the multi-destination packet is read out of a VOQ and is sent to a corresponding output port, the multi-destination packet is inserted in another VOQ until the multi-destination packet is sent to all of the multiple output ports.
    Type: Application
    Filed: December 16, 2014
    Publication date: June 16, 2016
    Inventors: Arvind Srinivasan, Shimon Muller
  • Publication number: 20160156566
    Abstract: The disclosed embodiments provide a system that operates a switch fabric. During operation, the system creates a set of virtual links for a first set of physical ports in the switch fabric. Next, the system uses a set of virtual port numbers to create a set of mappings between the set of virtual links and a second set of physical ports in the switch fabric, wherein the second set of physical ports is connected to the first set of physical ports using a single physical link. The system then uses the mappings to provide non-blocking behavior in traffic from the first set of physical ports to the second set of physical ports.
    Type: Application
    Filed: February 3, 2016
    Publication date: June 2, 2016
    Applicant: Oracle International Corporation
    Inventors: Arvind Srinivasan, Bjorn Dag Johnsen
  • Patent number: 9306865
    Abstract: The disclosed embodiments provide a system that operates a switch fabric. During operation, the system creates a set of virtual links for a first set of physical ports in the switch fabric. Next, the system uses a set of virtual port numbers to create a set of mappings between the set of virtual links and a second set of physical ports in the switch fabric, wherein the second set of physical ports is connected to the first set of physical ports using a single physical link. The system then uses the mappings to provide non-blocking behavior in traffic from the first set of physical ports to the second set of physical ports.
    Type: Grant
    Filed: March 12, 2014
    Date of Patent: April 5, 2016
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Arvind Srinivasan, Bjorn Dag Johnsen
  • Publication number: 20160087902
    Abstract: Implementations of the present disclosure involve an apparatus, device, component, and/or method for a hardware efficient flow to port affinity management table for link aggregation for a network fabric switch with Ethernet Gateway functionality. Rather than maintaining a state per traffic flow list, the present disclosure utilizes a handle or hash value derived from the traffic flow and associates an output port state to the hash value. The output port state for the hash value is further associated with a portlist that is based on at least a traffic flow policy of the server or group of servers associated with the traffic flow. In addition, the management table may be adjusted based on state changes to one or more of the output ports such that, if a port becomes unavailable, the management table may be adjusted to account for the unavailability of the port.
    Type: Application
    Filed: September 18, 2014
    Publication date: March 24, 2016
    Applicant: Oracle International Corporation
    Inventors: Arvind Srinivasan, Stephen Mark Johnson
  • 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
  • Publication number: 20160036733
    Abstract: Implementations of the present disclosure involve an apparatus and/or method for an efficient packet queue depth sorting scheme for a ‘longest queue first’ based switch fabric device. In general, the sorting scheme compares a data queue length on an incoming port to a sorted queue of available ports based on longest queue. Based at least on the results of the comparison of the data queue length on the input port, a port designator is inserted into a re-sorted longest queue available port list in the proper position based on the incoming or outgoing port data length. The remaining entries are then sorted around the inserted port designator. Because the comparison and insertion of the port designator can occur in one clock cycle of the switch fabric device, efficiency of the switch is improved.
    Type: Application
    Filed: July 29, 2014
    Publication date: February 4, 2016
    Applicant: Oracle International Corporation
    Inventor: Arvind Srinivasan
  • Publication number: 20160036731
    Abstract: Implementations of the present disclosure involve an apparatus, device, component, and/or method for a virtual output queue linked list management scheme for a high-performance network switch. In general, the linked list management scheme utilizes one or more look-ahead links associated with one or more descriptors in the linked list of descriptors that describe the storage of the incoming data packets to the switch. The look-ahead links allow the switch to schedule reads of memory locations included in the descriptors at the same speed at which the data packets are stored in memory.
    Type: Application
    Filed: July 29, 2014
    Publication date: February 4, 2016
    Applicant: Oracle International Corporation
    Inventor: Arvind Srinivasan
  • 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
  • Publication number: 20150278939
    Abstract: A customer may desire to enroll in a transaction, such as a product or a service, offered, managed, and/or owned by an institution, such as a financial institution. The customer may attempt to directly enroll in the product or service or may enroll in the product or service through an agent of the institution. The customer and/or agent may select the product or service (e.g., via a workstation or other device), and a computing device may determine which documents the product or service uses, which documents the customer has on file already, and/or which documents the customer is missing. The computing device may cause the customer and/or agent to be notified of the missing documents. When the customer and/or agent provides all of the documents for the product or service (or an exception applies to one or more missing documents), the computing system may enroll the customer in the selected product or service.
    Type: Application
    Filed: March 27, 2014
    Publication date: October 1, 2015
    Applicant: BANK OF AMERICA CORPORATION
    Inventors: Christina Jasko, Brandon Kane, Albert R. Lupcho, III, Arvind Srinivasan Ramakrishnan, Kelly Ur, Jill Weber, John J. Wilson