Patents by Inventor Prashant Anand

Prashant Anand 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).

  • Publication number: 20160301601
    Abstract: In one embodiment, a packet from a SDN controller is received at a network device. The packet is processed according to a flow table, which contains at least two entries that each matches the packet. The entries contain instructions to forward the packet according to group tables, and the entries are to expire after different time durations. The packet is to be forwarded according to a first group table and gets duplicated into two: one is transmitted to a first packet queue that transmits packets in a fixed interval to a loopback port that loops back the packets, while the other is forwarded to a first packet buffer that randomly drops packets at a probability prior to transmitting the remaining packets to generate a traffic pattern. The packet is received from the loopback port, and then forwarded according to a second group table to generate another traffic pattern.
    Type: Application
    Filed: April 9, 2015
    Publication date: October 13, 2016
    Inventors: Prashant ANAND, Vinayak JOSHI
  • Patent number: 9456030
    Abstract: A method of operating a load balancing switch may include providing a flow entry in a flow table, the flow entry may include a match pattern that is satisfied by a data flow identification, and the flow entry may identify a first server. A first data packet including a first data flow identification may be received, and the first data packet may be transmitted to the first server responsive to the first data flow identification satisfying the match pattern. After transmitting the first data packet to the first server, the flow entry may be modified so that the flow entry identifies the first server and a second server. After modifying the flow entry, a second data packet including a second data flow identification may be received, and the second data packet may be transmitted to the first and second servers responsive to the second data flow identification satisfying the match pattern.
    Type: Grant
    Filed: September 15, 2014
    Date of Patent: September 27, 2016
    Assignee: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
    Inventors: Ashutosh Bisht, Prashant Anand, Rajesh Ishwariah Balay, Mustafa Arisoylu, Brian Alleyne
  • Publication number: 20160261497
    Abstract: Exemplary methods for performing service chaining include generating a plurality of service chaining (SC) next hops (NHs) by, for each SC NH hop, generating a plurality of SC maps, each SC map identifying a chain of one or more service modules, wherein each service module is to apply a corresponding service on a packet. The methods further include generating a plurality of hosted NHs, each hosted NH including forwarding information that causes the packet to be forwarded to a corresponding service module. The methods further include in response to receiving a first packet, identifying a SC NH of the plurality of SC NHs based on an Internet Protocol (IP) address of the first packet, and forwarding the first packet to a service module based on the identified SC NH.
    Type: Application
    Filed: March 6, 2015
    Publication date: September 8, 2016
    Inventors: Mustafa Arisoylu, Ramanathan Lakshmikanthan, Albert Jining Tian, Himanshu Asnani, Prashant Anand
  • Patent number: 9432295
    Abstract: A method of generating network traffic in a network device of a data communication network includes providing traffic generation parameters in the network device that describe a desired traffic pattern to be generated by the network device, generating a trigger packet in the network device, the trigger packet specifying a drop precedence for packets generated by the network device in a state defined by the trigger packet, replicating the trigger packet to provide a packet train, selectively dropping one or more packets in the packet train based on the drop precedence specified in the trigger packet, and transmitting the packet train from the network device.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: August 30, 2016
    Assignee: Telefonaktiebolaget LM Ericsson (Publ)
    Inventors: Prashant Anand, Arun Balachandran, Vinayak Joshi
  • Publication number: 20160248656
    Abstract: A method for generating a high-precision packet train includes configuring an initial packet generation flow of duration T in a network node and sending a packet to a loopback port to initiate the initial packet generation flow in the network node, where the loopback port loops packets back to the network node or recirculates packets within the network node, and where the loopback port is configured for traffic shaping that establishes a pre-determined inter-packet gap for packets output by the loopback port. The method further includes configuring a main packet generation flow having a duration t1 that commences on expiration of the duration T. Looped back packets in the network node are sent to the loopback port for the entirety of durations T and t1, while one copy of each looped back packet in the network node is sent to a network port during the duration t1.
    Type: Application
    Filed: February 20, 2015
    Publication date: August 25, 2016
    Inventors: Prashant ANAND, Vinayak JOSHI, Vivek SRIVASTAVA
  • Patent number: 9426085
    Abstract: In some embodiments, an apparatus comprises a switch from a set of switches associated with a stage of a multi-stage switch fabric. The switch is configured to receive a data packet having a destination address of a destination device from a source device, and then store the data packet in a queue of the switch. The switch is configured to define a message based on the queue having an available capacity less than a threshold, and include a congestion root indicator in the message if the switch is a congestion root. The switch is then configured to send the message to the source device such that the source device sends another data packet having the destination address of the destination device to another switch from the set of switches and not to the previous switch if the message includes the congestion root indicator.
    Type: Grant
    Filed: August 6, 2014
    Date of Patent: August 23, 2016
    Assignee: Juniper Networks, Inc.
    Inventors: Prashant Anand, Hardik Bhalala
  • Publication number: 20160234112
    Abstract: In one embodiment, a packet is processed by three flow tables in a network device of a software-defined networking (SDN) system. In the first flow table, upon finding a match based at least partially on an IP address value of the packet, the network device adds a first identifier based on the IP address value to metadata of the packet and forwards the packet to a second flow table, where upon finding a match based at least partially on a port value of the packet, the network device adds a second identifier based on the port value to the metadata and forwards the packet to a third flow table. At the third flow table, upon finding a match based at least partially on a combination of the first and second identifiers, the network device performs one set of instructions of the matching entry on the packet.
    Type: Application
    Filed: February 6, 2015
    Publication date: August 11, 2016
    Inventor: Prashant Anand
  • Publication number: 20160218973
    Abstract: In one embodiment, a method implemented in a software-defined networking (SDN) system includes determining that a packet is to be forwarded by a flow table that includes at least two sets of instructions in flow table entries. The method continues with determining values of a plurality of match key components extracted from the packet to match the flow table, where the plurality of match key components contains at least a pair of match key components in a same type, wherein values of the pair are determined based on numerical measures of the pair. The method continues with searching the flow table to find a matching entry for the packet and, upon finding it, selecting one of the at least two sets of instructions of the matching entry following the determination of the values of the plurality of match key components, and perform the selected set of instructions on the packet.
    Type: Application
    Filed: January 23, 2015
    Publication date: July 28, 2016
    Inventor: Prashant ANAND
  • Publication number: 20160182379
    Abstract: A method for forwarding packets in a network device is disclosed. The method comprises receiving a packet; mapping the packet to a bucket, where the bucket is associated with a packet processing thread from a plurality of packet processing threads; and determining whether the packet processing thread is oversubscribed. The method continues with, in response to determining that the packet processing thread is not oversubscribed, mapping the packet to the packet processing thread; and in response to determining that the packet processing thread is oversubscribed, the method comprises distributing the packet to one of the plurality of packet processing threads based on a predefined load balancing scheme, processing the packet in the one of the plurality of packet processing threads, and forwarding the packet according to a predetermined order, where the predetermined order is based on a position of the packet relative to other packets at their receipt.
    Type: Application
    Filed: December 22, 2014
    Publication date: June 23, 2016
    Inventors: Ashwani Kumar MEHRA, Prashant ANAND
  • Publication number: 20160182380
    Abstract: A method of forwarding packets in a network device is disclosed. The method comprises assigning a packet to a first packet processing thread; and determining a state of the first packet processing thread. Responsive to determining that the state of the first packet processing thread is a backlogged state, mapping the packet to a second packet processing thread from a pool of packet processing threads based on a load balancing scheme, wherein the pool of packet processing threads includes a subset of threads from the plurality of packet processing threads, and the state of each one of the packet processing threads from the pool is the backlogged state, processing the packet in the second packet processing thread, and forwarding the packet according to a predetermined order that is based on a position of the packet relative to positions of other packets at their receipt in the network device.
    Type: Application
    Filed: April 7, 2015
    Publication date: June 23, 2016
    Inventors: Ashwani Kumar MEHRA, Prashant ANAND
  • Publication number: 20160182378
    Abstract: In one embodiment, a method for load balancing in a software-define networking (SDN) system includes, upon receiving a packet, determining whether a matching entry for the packet in a server distribution table contains both a current and new server selection. If the matching entry contains both, it is determined whether there is a matching entry for the packet in a transient flow table, where the transient flow table maintains server selections when at least one of the plurality of servers is reconfigured. Upon determining that there is no matching entry for the packet in the transient flow table, the method determines whether the packet is a first packet of a traffic flow. If the packet is the first packet of a traffic flow, the packet is forwarded according to the new server selection of the matching entry in the server distribution table, and the transient flow table is updated.
    Type: Application
    Filed: December 18, 2014
    Publication date: June 23, 2016
    Inventors: Rohith BASAVARAJA, Prashant ANAND, Mustafa ARISOYLU, Himanshu ASNANI, Myna VAJHA, Arvind MUKUNDAN
  • Publication number: 20160142301
    Abstract: In one embodiment, a method is implemented in a network element coupled to the SDN system, which contains a set of network elements processing traffic flows and a SDN controller managing the set of network elements. The method includes creating a set of virtual tables for processing packets of traffic flows at the network element based on a set of flow tables of the network element, where the set of flow tables is ordered in a sequence. The method further includes mapping each of the set of virtual tables to a single flow table of the set of flow tables, where the mapping causes at least one flow table being mapped to a plurality of the set of virtual tables. The method also includes forwarding packets of traffic flows to the set of virtual tables for processing.
    Type: Application
    Filed: November 17, 2014
    Publication date: May 19, 2016
    Inventor: Prashant Anand
  • Patent number: 9338097
    Abstract: A method of load balancing implemented at a data network is disclosed. The data network contains a number of data plane nodes and a number of clusters of a control node. The method starts with deriving a graph from a topology of the data plane nodes, where the graph contains vertices, each representing one of the data plane nodes, and edges, each representing a connection between a pair of data plane nodes. The method continues with partitioning the graph into a number of sub-graphs, where the partition aims at minimizing connectivity among the number of sub-graphs, and where the number of sub-graphs equal to the number of clusters. The control node then assigns each cluster to one of the data plane nodes, where each cluster is assigned to one or more data plane node partitioned into the same sub-graph.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: May 10, 2016
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Prashant Anand, Srikar Rajamani
  • Publication number: 20160112328
    Abstract: A method for implementing Ethernet operation, administration, and management (OAM) function in a network element coupled to a software-defined networking (SDN) system is disclosed. The method comprises adding a flow table entry for an OAM traffic flow to a flow table of the network element. The method continues with adding a group table entry for the OAM traffic flow to a group table of the network element, where the group table entry includes an instruction to send the packet to a set of ports, including a loopback port. The method continues with receiving the packet directing to the group table entry from the SDN controller, and sending the packet to the set of ports of the network element according to the group table entry, where the packet is to be looped back through the loopback port to the flow table periodically at a predetermined interval.
    Type: Application
    Filed: October 21, 2014
    Publication date: April 21, 2016
    Inventor: Prashant Anand
  • Publication number: 20160080481
    Abstract: A method of operating a load balancing switch may include providing a flow entry in a flow table, the flow entry may include a match pattern that is satisfied by a data flow identification, and the flow entry may identify a first server. A first data packet including a first data flow identification may be received, and the first data packet may be transmitted to the first server responsive to the first data flow identification satisfying the match pattern. After transmitting the first data packet to the first server, the flow entry may be modified so that the flow entry identifies the first server and a second server. After modifying the flow entry, a second data packet including a second data flow identification may be received, and the second data packet may be transmitted to the first and second servers responsive to the second data flow identification satisfying the match pattern.
    Type: Application
    Filed: September 15, 2014
    Publication date: March 17, 2016
    Inventors: Ashutosh Bisht, Prashant Anand, Rajesh Ishwariah Balay, Mustafa Arisoylu, Brian Alleyne
  • Patent number: 9203763
    Abstract: Aspects of a high-precision packet train generation process are distributed among several distinct processing elements. In some embodiments a control processor configures a packet-processing unit with a packet train context that includes details such as the number of packets to be generated and the headers to be included in the packets. The packet-processing unit takes a packet to be used in the packet train and recirculates it a number of times, as specified by the packet train context. The recirculated packets, with the appropriate headers inserted, are forwarded to a traffic-shaping queue in queuing hardware. The traffic-shaping queue is configured to output the forwarded packets with a constant inter-packet gap. Thus, the generation of the multiple packets in the packet train is handled by the packet-processing unit, while the precise inter-packet timing is provided by the traffic-shaping queue in the queuing hardware.
    Type: Grant
    Filed: November 20, 2014
    Date of Patent: December 1, 2015
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Prashant Anand, Vinayak Joshi, Ashish Anand
  • Publication number: 20150312155
    Abstract: A packet distribution scheme for forwarding incoming packets to servers in a network. Depending on a hash value of the incoming flow's identification parameters, a hash flow table or database is queried to determine the server to which the packet is to be forwarded. If multiple flows have the same hash index and are associated with different servers, a secondary flow table or database is queried for determining the server. In an example implementation, only the secondary flow table is configured to store fully qualified flow identification parameters whereas the hash flow table is operative to store reduced or compressed state information.
    Type: Application
    Filed: April 25, 2014
    Publication date: October 29, 2015
    Applicant: Telefonaktiebolaget L M Ericsson (PUBL)
    Inventors: Prashant Anand, Ashutosh Bisht, Mustafa Arisoylu, Ashish Anand
  • Patent number: 9137165
    Abstract: A first data packet of a data flow may be addressed to a primary address and include information for the data flow and a bucket ID may be computed based on the information. Responsive to the bucket ID mapping to first and second servers and the first data packet being addressed to the primary address, the first data packet may be transmitted to the first server. A second data packet may be received addressed to a stand-by address and including the information for the data flow, and a bucket ID may be computed based on the information with the bucket IDs for the first and second packets being the same. Responsive to the bucket ID for the second data packet mapping to first and second servers and the second data packet being addressed to the stand-by address, the second data packet may be transmitted to the second server.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: September 15, 2015
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Prashant Anand, Mustafa Arisoylu, Jayasenan Sundara Ganesh, Nandan Mahadeo Sawant
  • Patent number: 9118567
    Abstract: A network device to detect large flows includes a card to receive packets of flows. The device includes a large flow detection module including a serial multiple-stage filter module including series filter modules including a lead filter module and a tail filter module. Each filter module includes counters. The serial filter module is to serially increment the counters to reflect the flows, and is to increment counters that correspond to flows of subsequent filter modules only after all counters that correspond to the flows of all prior filter modules have been incremented serially up to maximum values. The serial filter module is to detect flows that correspond to counters of the tail filter module that have been incremented up to maximum values as the large flows. The large flow detection module includes a lead filter removal module to remove the lead filter module from the start of the series.
    Type: Grant
    Filed: July 15, 2013
    Date of Patent: August 25, 2015
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Ashutosh Bisht, Prashant Anand
  • Patent number: 9118571
    Abstract: A load balancing system may include a switch coupled with a plurality of servers and a controller. A flow table may include default flow entries with each default flow entry including a different match pattern. At least one of the default flow entries may include a match pattern with an unrestricted character so that the match pattern having the unrestricted character is satisfied by a plurality of data flow identifications. Each of the default flow entries may include an action to be performed for data packets having data flow identifications that satisfy its match pattern. A data packet including a data flow identification for a data flow may be received from a client device. A default flow entry having a match pattern that is satisfied by the data flow identification is identified, and the data packet is processed in accordance with the action for the identified default flow entry.
    Type: Grant
    Filed: July 8, 2013
    Date of Patent: August 25, 2015
    Assignee: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
    Inventors: Ashutosh Bisht, Prashant Anand