Per-flow dynamic buffer management

Number of patents in Portfolio can not be more than 2000

United States of America Patent

PATENT NO 7215641
SERIAL NO

10979928

Stats

ATTORNEY / AGENT: (SPONSORED)

Importance

Loading Importance Indicators... loading....

Abstract

See full text

The present invention provides a per-flow dynamic buffer management scheme for a data communications device. With per-flow dynamic buffer limiting, the header information for each packet is mapped into an entry in a flow table, with a separate flow table provided for each output queue. Each flow table entry maintains a buffer count for the packets currently in the queue for each flow. On each packet enqueuing action, a dynamic buffer limit is computed for the flow and compared against the buffer count already used by the flow to make a mark, drop, or enqueue decision. A packet in a flow is dropped or marked if the buffer count is above the limit. Otherwise, the packet is enqueued and the buffer count incremented by the amount used by the newly-enqueued packet. The scheme operates independently of packet data rate and flow behavior, providing means for rapidly discriminating well-behaved flows from non-well-behaved flows in order to manage buffer allocation accordingly. Additionally, the present invention adapts to changing flow requirements by fairly sharing buffer resources among both well-behaved and non-well-behaved flows.

Loading the Abstract Image... loading....

First Claim

See full text

Family

Loading Family data... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
CISCO TECHNOLOGY, INC.SAN JOSE, CA14366

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Bechtolsheim, Andreas V Stanford, CA 27 1513
Cheriton, David R Palo Alto, CA 77 1858

Cited Art Landscape

Patent Info (Count) # Cites Year
 
RPX CLEARINGHOUSE LLC (1)
6584111 ABR flow control using single bit congestion indication and wavelet transform filtering 24 1998
 
THING TANK, THE (1)
* 5546389 Method of controlling access to a buffer and a device for temporary storage of data packets and an exchange with such a device 134 1994
 
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP (1)
6175871 Method and apparatus for real time communication over packet networks 62 1997
 
CISCO TECHNOLOGY, INC. (7)
5088032 Method and apparatus for routing communications among computer networks 366 1988
5224099 Circuitry and method for fair queuing and servicing cell traffic using hopcounts and traffic classes 184 1991
5359592 Bandwidth and congestion control for queue channels in a cell switching communication controller 175 1993
5473607 Packet filtering for data networks 343 1993
5561663 Method and apparatus for performing communication rate control using geometric weighted groups 63 1994
* 6034945 Method and apparatus for per traffic flow buffer management 69 1996
6515963 Per-flow dynamic buffer management 87 1999
 
AVAYA INC. (1)
6201755 Method and system for storing and retrieving information in a communications node 12 1998
 
GLOBALFOUNDRIES INC. (1)
6292483 Apparatus and method for generating an index key for a network switch routing table using a programmable hash function 36 1997
 
FUJITSU LIMITED (1)
5898671 Transmitter controlled flow control for buffer allocation in wide area ATM networks 25 1996
 
SUN MICROSYSTEMS, INC. (1)
* 6094435 System and method for a quality of service in a multi-layer network element 184 1997
 
HERE GLOBAL B.V. (1)
* 6073076 Memory management for navigation system 76 1998
 
AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. (1)
5708659 Method for hashing in a packet network switching system 202 1995
* Cited By Examiner

Patent Citation Ranking

Forward Cite Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (3)
* 7801042 Maximum lifetime routing in wireless ad-hoc networks 1 2002
* 2006/0206,857 Maximum lifetime routing in wireless ad-hoc networks 10 2002
* 2007/0156,879 Considering remote end point performance to select a remote end point to use to transmit a task 3 2006
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (1)
9325640 Wireless network device buffers 0 2012
 
HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP (1)
* 7333498 Method and apparatus for separating data packets in a memory buffer 1 2002
 
CISCO TECHNOLOGY, INC. (32)
* 7369557 Distribution of flows in a flow-based multi-processor system 35 2004
7509431 Performing message and transformation adapter functions in a network element on behalf of an application 16 2004
* 2006/0106,941 Performing message and transformation adapter functions in a network element on behalf of an application 45 2004
7664879 Caching content and state data at a network element 61 2004
* 2006/0167,975 Caching content and state data at a network element 53 2004
7987272 Performing message payload processing functions in a network element on behalf of an application 6 2004
* 2006/0123,467 Performing message payload processing functions in a network element on behalf of an application 60 2004
7725934 Network and application attack protection based on application layer message inspection 34 2004
7496750 Performing security functions on a message payload in a network element 28 2004
* 2006/0123,479 Network and application attack protection based on application layer message inspection 86 2004
* 2006/0123,226 Performing security functions on a message payload in a network element 42 2004
8082304 Guaranteed delivery of application layer messages by a network element 3 2004
7606267 Reducing the sizes of application layer messages in a network element 6 2004
* 2006/0129,689 Reducing the sizes of application layer messages in a network element 76 2004
* 2006/0129,650 Guaranteed delivery of application layer messages by a network element 48 2004
* 7551567 Interpreting an application message at a network element using sampling and heuristics 5 2005
* 2006/0146,879 Interpreting an application message at a network element using sampling and heuristics 44 2005
* 2006/0155,862 Data traffic load balancing based on application layer messages 102 2005
7698416 Application layer message-based server failover management by a network element 29 2005
* 2006/0168,334 Application layer message-based server failover management by a network element 114 2005
8549171 Method and apparatus for high-speed processing of structured application messages in a network device 2 2005
7996556 Method and apparatus for generating a network topology representation based on inspection of application messages at a network device 93 2005
* 2006/0123,477 Method and apparatus for generating a network topology representation based on inspection of application messages at a network device 194 2005
8060623 Automated configuration of network device ports 12 2005
8843598 Network based device for providing RFID middleware functionality 0 2007
8799403 Caching content and state data at a network element 3 2009
* 2010/0094,945 CACHING CONTENT AND STATE DATA AT A NETWORK ELEMENT 32 2009
8312148 Performing message payload processing functions in a network element on behalf of an application 6 2011
8824471 Maintained message delivery during routing domain migration 2 2011
8601143 Automated configuration of network device ports 0 2011
9380008 Method and apparatus for high-speed processing of structured application messages in a network device 0 2013
9154407 Maintained message delivery during routing domain migration 1 2014
 
ALCATEL LUCENT (2)
* 8300534 Programmable packet processor with flow resolution logic 0 2010
* 2010/0150,158 Programmable Packet Processor With Flow Resolution Logic 7 2010
 
GLOBALFOUNDRIES INC. (2)
9178838 Hash perturbation with queue management in data communication 0 2013
9374325 Hash perturbation with queue management in data communication 0 2013
 
FUJITSU LIMITED (2)
* 7961744 Frame multiplexing device 0 2006
* 2007/0230,492 Frame multiplexing device 8 2006
 
RPX CLEARINGHOUSE LLC (2)
* 7394808 Method and apparatus for implementing scheduling algorithms in a network element 5 2004
* 2005/0259,574 Method and apparatus for implementing scheduling algorithms in a network element 12 2004
 
AT&T INTELLECTUAL PROPERTY I, L.P. (1)
* 7860004 Systems and methods for proactive surge protection 1 2008
 
CRAY UK LIMITED (2)
* 8542686 Ethernet forwarding database method 0 2009
* 2011/0188,503 Ethernet Forwarding Database Method 16 2009
 
NETRONOME SYSTEMS, INC. (2)
8908693 Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket 0 2012
* 2014/0153,571 FLOW KEY LOOKUP INVOLVING MULTIPLE SIMULTANEOUS CAM OPERATIONS TO IDENTIFY HASH VALUES IN A HASH BUCKET 7 2012
 
MICROSOFT TECHNOLOGY LICENSING, LLC (2)
8024417 Simple flow control protocol over RDMA 10 2008
* 2009/0319,701 Simple Flow Control Protocol Over RDMA 8 2008
 
BROCADE COMMUNICATIONS SYSTEMS, INC. (2)
8824294 Source-based congestion detection and control 4 2011
* 2011/0235,518 SOURCE-BASED CONGESTION DETECTION AND CONTROL 4 2011
 
TELLABS OPERATIONS, INC. (1)
* 8169915 Method and apparatus for network load balancing using indirection RAM during classification 2 2008
 
TELEFONAKTIEBOLAGET L M ERICSSON (PUBL), A CORPORATION OF SWEDEN (2)
* 8233390 Priority and source aware packet memory reservation and flow control in forwarding planes 0 2010
* 2011/0205,897 PRIORITY AND SOURCE AWARE PACKET MEMORY RESERVATION AND FLOW CONTROL IN FORWARDING PLANES 5 2010
 
AT&T CORP. (2)
* 2010/0020,687 Proactive Surge Protection 3 2008
* 2010/0020,688 Systems and Methods for Proactive Surge Protection 0 2008
* Cited By Examiner

Maintenance Fees

Fee Large entity fee small entity fee micro entity fee due date
11.5 Year Payment $7400.00 $3700.00 $1850.00 Nov 8, 2018
Fee Large entity fee small entity fee micro entity fee
Surcharge - 11.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge after expiration - Late payment is unavoidable $700.00 $350.00 $175.00
Surcharge after expiration - Late payment is unintentional $1,640.00 $820.00 $410.00