Source: http://www.google.com/patents/US7668103?dq=U.S.+Patent+
Timestamp: 2016-02-08 22:43:15
Document Index: 665287698

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 60', 'art 2', 'art 3', 'art 2', 'art 3', 'art 3', 'art 3', 'art 3', 'art 3', 'art 3', 'art 3', 'art 3', 'art 3']

Patent US7668103 - Inter-device flow control - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsA system with switching capability comprises a controlling device, a first switching device, and first and second ports. The first port communicates with the controlling device. A control module selectively instructs the second port to assert flow control when a flow control message is received from...http://www.google.com/patents/US7668103?utm_source=gb-gplus-sharePatent US7668103 - Inter-device flow controlAdvanced Patent SearchPublication numberUS7668103 B1Publication typeGrantApplication numberUS 11/291,476Publication dateFeb 23, 2010Filing dateDec 1, 2005Priority dateOct 29, 2004Fee statusPaidAlso published asUS7668104, US7680053, US7957285, US8391144, US8705355Publication number11291476, 291476, US 7668103 B1, US 7668103B1, US-B1-7668103, US7668103 B1, US7668103B1InventorsDonald Pannell, Hong Yu ChouOriginal AssigneeMarvell International Ltd.Export CitationBiBTeX, EndNote, RefManPatent Citations (25), Non-Patent Citations (18), Referenced by (12), Classifications (9), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetInter-device flow control
US 7668103 B1Abstract
A system with switching capability comprises a controlling device, a first switching device, and first and second ports. The first port communicates with the controlling device. A control module selectively instructs the second port to assert flow control when a flow control message is received from the first port if the received flow control message designates the second port as a target.
1. A system with switching capability, comprising:
a controlling device; and
a first switching device comprising:
first and second ports, wherein said first port communicates with said controlling device, and said second port communicates with a second switching device that is distinct from said first switching device; and
a control module that is distinct from said controlling device and that selectively instructs said second port to assert flow control comprising adjusting transmission rate of frames from said second port to said second switching device when a flow control message is received from said first port if said received flow control message designates said second port as a target,
wherein said controlling device is distinct from said second switching device.
2. The system of claim 1, wherein said controlling device sends flow control messages to said first switching device to limit a rate of data flow to said controlling device.
3. The system of claim 1, further comprising a timer, wherein said second port asserts flow control until said timer expires, and wherein said control module selectively resets said timer to a reset time when a flow control message is received.
4. The system of claim 3, wherein said received flow control message contains remote port speed information, and wherein said reset time is based upon said remote port speed information.
5. The system of claim 3, further comprising a first table, wherein said received flow control message contains remote port speed information, and wherein said reset time is selected from said first table using said remote port speed information.
6. The system of claim 3, wherein said control module selectively resets said timer when said reset time is greater than a current value of said timer.
7. The system of claim 1, wherein said flow control is asserted for a predetermined period, and wherein said predetermined period is based upon at least one of a parameter contained within said received flow control message and selected from a table based upon said parameter.
8. The system of claim 1, further comprising a third port, wherein if a trunk includes said second and third ports, said control module instructs both of said second and third ports to assert flow control.
9. The system of claim 1, wherein said flow control comprises one of a MAC PAUSE and backpressure.
10. The system of claim 1, wherein said first switching device further comprises an input buffer for said second port, wherein said flow control comprises storing frames received by said second port in said input buffer.
11. The system of claim 1, wherein said controlling device communicates with said first port via at least one of a network link and a dedicated interconnection link.
12. The system of claim 1, wherein said controlling module includes a central processing unit (CPU).
13. The system of claim 1, further comprising a queue that communicates with said second port, that stores frames for later output by said second port, and that generates a congestion signal when filled above a threshold, wherein said control module selectively sends an outgoing flow control message to said first port when said congestion signal is present.
14. The system of claim 13, wherein said threshold is dynamically set based upon a number of free buffers within said switching device.
15. The system of claim 13, wherein said threshold is set to a predetermined value based upon experimental results.
16. The system of claim 13, wherein said control module selectively sends an outgoing flow control message when a flow control enable flag is set.
17. The system of claim 13, wherein said outgoing flow control message is based on an IEEE 802.3 frame.
18. The system of claim 13, wherein said outgoing flow control message includes a speed of said second port.
19. The system of claim 18, wherein said outgoing flow control message is based on an IEEE 802.3 frame, and said speed is stored in a four-byte IEEE 802.3ac frame extension.
20. The system of claim 13, wherein a priority of said outgoing flow control message is selectively set to high priority when a priority forcing flag is set.
21. A system with switching capability, comprising:
controlling device means for controlling; and
first switching means for switching comprising:
first and second port means for communicating, wherein said first port means communicates with said controlling means and said second port means communicates with a switching device that is distinct from said first switching means; and
control means for selectively instructing said second port means to assert flow control comprising adjusting transmission rate of frames from said second port means to said switching device when a flow control message is received from said first port means if said received flow control message designates said second port means as a target,
wherein said control means is distinct from said controlling device means, and
wherein said controlling device means is distinct from said switching device.
22. The system of claim 21, wherein said controlling means sends flow control messages to said first switching means to limit a rate of data flow to said controlling means.
23. The system of claim 21, further comprising timing means for timing, wherein said second port means asserts flow control until said timing means expires, and wherein said control means selectively resets said timing means to a reset time when a flow control message is received.
24. The system of claim 23, wherein said received flow control message contains remote port speed information, and wherein said reset time is based upon said remote port speed information.
25. The system of claim 23, further comprising first storing means for storing, wherein said received flow control message contains remote port means speed information, and wherein said reset time is selected from said first storing means using said remote port speed information.
26. The system of claim 23, wherein said control means selectively resets said timing means when said reset time is greater than a current value of said timing means.
27. The system of claim 21, wherein said flow control is asserted for a predetermined period, and wherein said predetermined period is based upon at least one of a parameter contained within said received flow control message and selected from a table based upon said parameter.
28. The system of claim 21, further comprising third port means for communicating, wherein if a trunk includes said second and third port means, said control means instructs both of said second and third port means to assert flow control.
29. The system of claim 21, wherein said flow control comprises one of a MAC PAUSE and backpressure.
30. The system of claim 21, wherein said first switching means further comprises input buffer means for storing data for said second port means, wherein said flow control comprises storing frames received by said second port means in said input buffer.
31. The system of claim 21, wherein said controlling means communicates with said first port means via at least one of a network link and a dedicated interconnection link.
32. The system of claim 21, wherein said controlling means includes a central processing unit (CPU).
33. The system of claim 21, further comprising queue means that communicates with said second port means for storing frames for later output by said second port means, and for generating a congestion signal when filled above a threshold, wherein said control means selectively sends an outgoing flow control message to said first port means when said congestion signal is present.
34. The system of claim 33, wherein said threshold is dynamically set based upon a number of free buffers within said switching means.
35. The system of claim 33, wherein said threshold is set to a predetermined value based upon experimental results.
36. The system of claim 33, wherein said control means selectively sends an outgoing flow control message when a flow control enable flag is set.
37. The system of claim 33, wherein said outgoing flow control message is based on an IEEE 802.3 frame.
38. The system of claim 33, wherein said outgoing flow control message includes a speed of said second port means.
39. The system of claim 38, wherein said outgoing flow control message is based on an IEEE 802.3 frame, and said speed is stored in a four-byte IEEE 802.3ac frame extension.
40. The system of claim 33, wherein a priority of said outgoing flow control message is selectively set to high priority when a priority forcing flag is set.
41. The system of claim 1, wherein said first switching device is distinct from said controlling device.
42. The system of claim 1, wherein said first port receives frames that are outputted by said second port, and
wherein said flow control message is generated by said controlling device.
43. The system of claim 1, wherein generation of flow control congestion messages of said first switching device is disabled, and
wherein said first switching device executes flow control based on said flow control message received from said controlling device.
44. The system of claim 2, wherein:
said first switching device receives said frames at a first rate; and
said controlling device sends said flow control message to said first switching device to adjust transmission rate of said frames to a second rate that is greater than zero and less than said first rate.
45. The system of claim 44, wherein said first switching device transmits said frames to said second switching device, and
wherein said first switching device adjusts said transmission rate of said frames to said second switching device based on said flow control message.
46. The system of claim 1, wherein said received flow control message comprises a speed of a queue, and
wherein said control module selects a delay based on said speed of said queue, adjusts a timer based on said delay, and asserts said flow control based on said timer.
47. The system of claim 46, wherein a second switching device comprises said queue.
48. The system of claim 47, wherein said first switching device transmits said frames to said second switching device at a rate that is based on said timer. Description
This application is a continuation of U.S. patent application Ser. No. 11/254,588 entitled “Inter-Device Flow Control”, filed on Oct. 20, 2005, which claims priority on 35 U.S.C. � 119(e) on U.S. Provisional Application No. 60/724,942, entitled “Inter-Device Flow Control,” filed Oct. 7, 2005, which claims priority on 35 U.S.C. � 119(e) of U.S. Provisional Application No. 60/679,845, entitled “Inter-Device Flow Control,” filed May 11, 2005, which claims priority on 35 U.S.C. � 119(e) on U.S. Provisional Application No. 60/623,557, entitled “Inter-Device Flow Control,” filed Oct. 29, 2004, the entire contents of each of which are hereby incorporated by reference herein.
A switching system comprises first and second switching devices. The first port means of the first switching device communicates with the first port means of the second switching device via a first channel. The first channel is one of a network link and a specialized interconnection link.
In other features, the computer program comprises designating a target of the outgoing flow control message to be a port of a device corresponding to a frame that filled the queue above the threshold. The target of the outgoing flow control message is the port of the device corresponding to the frame that filled the queue above the threshold. The outgoing flow control message includes a layer three switch. The outgoing flow control message includes trunk information of a port of a device corresponding to a frame that filled the queue above the threshold. The outgoing flow control message is based on an IEEE 802.3 frame, and the target device and target port information is stored in a four-byte IEEE 802.3ac frame extension. The computer program comprises selectively setting the outgoing flow control message to high priority. The priority of the outgoing flow control message is selectively set to the high priority when a priority forcing flag is set.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4736363Oct 11, 1985Apr 5, 1988Northern Telecom LimitedPath oriented routing system and method for packet switching networksUS5187591Jan 24, 1991Feb 16, 1993Micom Communications Corp.System for transmitting and receiving aural information and modulated dataUS5621726Feb 24, 1992Apr 15, 1997International Business Machines CorporationPoint-to-point communication network and method and adapter for virtualizing a LAN systemUS5742604Mar 28, 1996Apr 21, 1998Cisco Systems, Inc.Interswitch link mechanism for connecting high-performance network switchesUS5790554Oct 4, 1995Aug 4, 1998Bay Networks, Inc.Method and apparatus for processing data packets in a networkUS5959990Mar 12, 1996Sep 28, 1999Bay Networks, Inc.VLAN frame formatUS6035105Jan 2, 1996Mar 7, 2000Cisco Technology, Inc.Multiple VLAN architecture systemUS6049528Jun 30, 1997Apr 11, 2000Sun Microsystems, Inc.Trunking ethernet-compatible networksUS6111876Aug 30, 1996Aug 29, 2000Nortel Networks LimitedVLAN frame formatUS6151322Dec 18, 1997Nov 21, 2000Advanced Micro Devices, Inc.Multiport data switch having data frame VLAN tagging and VLAN strippingUS6192397May 19, 1997Feb 20, 2001Nortel Networks LimitedMethod for establishing a master-slave relationship in a peer-to-peer networkUS6252849 *Jun 30, 1998Jun 26, 2001Sun Microsystems, Inc.Flow control using output port buffer allocationUS6405258 *May 5, 1999Jun 11, 2002Advanced Micro Devices Inc.Method and apparatus for controlling the flow of data frames through a network switch on a port-by-port basisUS6515993May 28, 1999Feb 4, 2003Advanced Micro Devices, Inc.Method and apparatus for manipulating VLAN tagsUS6590861Mar 18, 1999Jul 8, 20033Com CorporationCombining virtual local area networks and load balancing with fault tolerance in a high performance protocolUS7243171 *Nov 10, 2003Jul 10, 2007Intel CorporationData flow management apparatus, systems, and methodsUS7424012 *Aug 31, 2001Sep 9, 2008Broadcom CorporationLinked network switch configurationUS20020138628Jan 22, 2002Sep 26, 2002Crescent Networks, Inc.Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networksUS20020176357 *Mar 16, 2001Nov 28, 2002Altima Communications, Inc.Switch having flow control managementUS20030185157 *Mar 11, 2003Oct 2, 2003Via Technologies, Inc.Ethernet switch with rate control and associated methodUS20030210651 *Jun 7, 2002Nov 13, 2003Altima Communications Inc.Fairness scheme method and apparatus for pause capable and pause incapable portsEP1227623A2Jan 18, 2002Jul 31, 2002Alcatel Internetworking (PE), Inc.VLAN tunneling protocolEP1271856A1 *Jun 18, 2001Jan 2, 2003AlcatelFlow and congestion control in a switching networkWO1996041456A1 *Apr 4, 1996Dec 19, 1996Advanced Micro Devices IncFlow control method and apparatus for ethernet packet switched hubWO2002088984A1 *Apr 26, 2002Nov 7, 2002Enterasys Networks IncFlow control system to reduce memory buffer requirements and to establish priority servicing between networks* Cited by examinerNon-Patent CitationsReference1802.3-2002 Part 2-information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements-Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and physical layer specifications; Section Two; This section includes Clauses 21 through 33 and Annexes 22A through 32A.2802.3-2002 Part 2—information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements-Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and physical layer specifications; Section Two; This section includes Clauses 21 through 33 and Annexes 22A through 32A.3802.3-2002 Part 3-Information technology- Telecommunications and information exchange between systems- Local and metropolitan area networks- Specific requirements-Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and physical layer specifications- Section Three: This section includes Clauses 34 through 43 and Annexes 36A through 43C.4802.3-2002 Part 3—Information technology- Telecommunications and information exchange between systems- Local and metropolitan area networks- Specific requirements-Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and physical layer specifications- Section Three: This section includes Clauses 34 through 43 and Annexes 36A through 43C.5 *D Lee et al, "FLORAX-Flow-Rate Based Hop by Hop Backpressure Control for IEEE 802.3x," 5th IEEE International Conference on High Speed Networks and Multimedai Communications, Jul. 2002, pp. 202-207.6IEEE Std 802.10-1998 (Revision IEEE Std 802.10-1992, incorporating IEEE Std 802.10b-1992, 802.10e-1993, 802.10f-1993, 802,10g-1995, and 802.10h-1997) IEEE Standards for Local and Metropolitan Area Networds: Standard for Interoperable LAN/MAN Security (SILS); LAN MAN Standards Committee of the IEEE Computer Society, Approved Sep. 17, 1998 by the IEEE SA-Standards Board, 116 pages.7IEEE Std 802.10ef-1993 and IEEE Std 802.10f-1993 (Supplements to IEEE Std 802.10-1992) IEEE Standards for Local and Metropolitan Area Networks: Supplements to Standard for Interoperable LAN/MAN Security (SILS), Secure Data Exchange (SDE) Sublayer Management (Subclause 2.8) and Recommended Practice for SDE on Ethernet V2.0 in IEEE 802 LANs (Annex 2H); Technical Committee on Computer Communications of the IEEE Computer Society; Approved Dec. 2, 1993 by the IEEE Standards Board; 48 pages.8IEEE Std 802.10g-1995 (Supplement to IEEE Std 802.10-1992) IEEE Standard for Local and Metropolitan Area Networks: Supplement to Standard for Interoperable LAN/MAN Security (SILS): Secure Data Exchange (SDE)-Security Label (Annexes 2I, 2J, and 2K), IEEE Computer Society, Apr. 16, 1996, 34 pages.9IEEE Std 802.10g-1995 (Supplement to IEEE Std 802.10-1992) IEEE Standard for Local and Metropolitan Area Networks: Supplement to Standard for Interoperable LAN/MAN Security (SILS): Secure Data Exchange (SDE)—Security Label (Annexes 2I, 2J, and 2K), IEEE Computer Society, Apr. 16, 1996, 34 pages.10IEEE Std 802.3-2002 (Revision of IEEE Std 802.3 2000 Edition) IEEE Standard for Information technology-Telecommunications and information exchange between systems Local and metropolitan area networks-Specific requirements, Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications; IEEE Computer Society; LAN/MAN Standards Committee; Mar. 8, 2002; 578 pages.11IEEE Std 802.3-2002 (Revision of IEEE Std 802.3 2000 Edition) IEEE Standard for Information technology—Telecommunications and information exchange between systems Local and metropolitan area networks—Specific requirements, Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications; IEEE Computer Society; LAN/MAN Standards Committee; Mar. 8, 2002; 578 pages.12IEEE Std 802.3ac-1998 (Supplement to IEEE Std 802.3 1998 Edition) Information technology-Telecommunications and information exchange between systems-Local and metropolitan area networks-Specific requirements-Supplement to Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications-Frame Extensions for Virtual Bridged Local Area Network (VLAN) Tagging on 802.3 Networks; LAN MAN Standards Committee of the IEEE Computer Society; Approved Sep. 16, 1998 by the IEEE-SA Standards Board; 19 pages.13IEEE Std 802.3ac-1998 (Supplement to IEEE Std 802.3 1998 Edition) Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements—Supplement to Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications—Frame Extensions for Virtual Bridged Local Area Network (VLAN) Tagging on 802.3 Networks; LAN MAN Standards Committee of the IEEE Computer Society; Approved Sep. 16, 1998 by the IEEE-SA Standards Board; 19 pages.14ISO/IEC Final CD 15802-3, IEEE P802.1D/D15, Nov. 24, 1997, Information technology-Telecommunications and information exchange between systems-ocal and metropolitan area networks-Common specifications-Part 3: Media Access Control (MAC) Bridges: Revision (Incorporating IEEE 802.1p: Traffic Class Expediting and Dynamic Multicast Filtering), LAN MAN Standards Committee of the IEEE Computer Society; 381 pages.15ISO/IEC Final CD 15802-3, IEEE P802.1D/D15, Nov. 24, 1997, Information technology—Telecommunications and information exchange between systems—ocal and metropolitan area networks—Common specifications—Part 3: Media Access Control (MAC) Bridges: Revision (Incorporating IEEE 802.1p: Traffic Class Expediting and Dynamic Multicast Filtering), LAN MAN Standards Committee of the IEEE Computer Society; 381 pages.16MP0377 Application entitled: Method and Apparatus for Managing Packets in a Packet Switched Network; 77 pages.17 *O Feuser et al, "On the Effects of the IEEE 802.3x Flow Control in Full-Duplex Ethernet LANs," Conference on Local Computer Networks, Oct. 1999, pp. 160-161.18 *W Noureddine et al, "Selective Back-Pressure in Switched Ethernet LANs," Global Telecommunications Conference, 1999, vol. 2, pp. 1256-1263.* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS8238250 *Oct 16, 2009Aug 7, 2012Hei Tao FungQoS-aware flow-based dynamic load balancing for link aggregationUS8385210 *Dec 18, 2008Feb 26, 2013Cisco Technology, Inc.System and method for detection and delay control in a network environmentUS8908524 *Mar 30, 2010Dec 9, 2014Telefonaktiebolaget L M Ericsson (Publ)Method of congestion detection in a cellular radio systemUS9030935 *Mar 7, 2012May 12, 2015International Business Machines CorporationDevice and method for adjusting rate limits for transmission rates of data flows having a certain priority in a transmitterUS9219693 *Feb 21, 2013Dec 22, 2015Marvell World Trade Ltd.Network devices with time aware medium access controllerUS9246835Mar 16, 2015Jan 26, 2016Marvell World Trade Ltd.Method and apparatus for deblocking and blocking transmission of frames from a network deviceUS20110090789 *Oct 16, 2009Apr 21, 2011Hei Tao FungQoS-aware Flow-based Dynamic Load Balancing for Link AggregationUS20120250507 *Oct 4, 2012International Business Machines CorporationDevice and method for adjusting rate limits for transmission rates of data flows having a certain priority in a transmitterUS20130058211 *Mar 30, 2010Mar 7, 2013Telefonaktiebolaget L M Ericsson (Publ)Method of Congestion Detection in a Cellular Radio SystemUS20130215743 *Feb 21, 2013Aug 22, 2013Marvell World Trade Ltd.Network devices with time aware medium access controllerEP2911352A3 *Feb 24, 2015Sep 9, 2015Broadcom CorporationEnd to end flow controlWO2011122999A1 *Mar 30, 2010Oct 6, 2011Telefonaktiebolaget L M Ericsson (Publ)A method of congestion detection in a cellular radio system* Cited by examinerClassifications U.S. Classification370/237, 370/235International ClassificationG08C15/00Cooperative ClassificationH04L47/10, H04L49/506, H04L47/26European ClassificationH04L49/50C2, H04L47/26, H04L47/10Legal EventsDateCodeEventDescriptionAug 23, 2013FPAYFee paymentYear of fee payment: 4RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services