التفاصيل البيبلوغرافية
العنوان: |
Translating Between An Ethernet Protocol And A Converged Enhanced Ethernet Protocol |
Document Number: |
20110299394 |
تاريخ النشر: |
December 8, 2011 |
Appl. No: |
13/150507 |
Application Filed: |
June 01, 2011 |
مستخلص: |
Translating between an Ethernet protocol used by a first network component and a Converged Enhanced Ethernet (CEE) protocol used by a second network component, the first and second components coupled through a CEE Converter that translates by: for data flow from the first network component to the second network component: receiving, by the CEE converter, traffic flow definition parameters for a single CEE protocol data flow; calculating, by a credit manager, available buffer space in an outbound frame buffer of the CEE converter for the data flow; communicating, by the credit manager to a CEE credit driver of the first component, the calculated size of the buffer space together with a start sequence number and a flow identifier; and responding, by the CEE credit driver to the CEE converter, with Ethernet frames comprising a private header that includes the flow identifier and a sequence number. |
Inventors: |
Basso, Claude (Raleigh, NC, US); Pothireddy, Anil (Bangalore, IN); Raisch, Christoph (Gerlingen, DE); Sethuraman, Saravanan (Bangalore, IN); Srivastava, Vibhor K. (Sitapur, IN); Themann, Jan-Bernd (Tuebingen, DE); Verplanken, Fabrice J. (Lagaude, FR) |
Assignees: |
INTERNATIONAL BUSINESS MACHINES CORPORATION (Armonk, NY, US) |
Claim: |
1. A method for translating between an Ethernet protocol used by a first network component and a Converged Enhanced Ethernet (CEE) protocol used by a second network component, the first network component coupled to the second network component through a CEE Converter, the CEE converter implemented independently and separate from the first and second network components and offloading credit based flow management among the first and second network components, the method comprising: for data flow from the first network component to the second network component: receiving, by the CEE converter, traffic flow definition parameters for a single CEE protocol data flow; calculating, by a credit manager implemented as part of the CEE converter, available buffer space in an outbound frame buffer of the CEE converter for the data flow; communicating, by the credit manager to a CEE credit driver executing in the first network component, the calculated size of the buffer space together with a start sequence number and a flow identifier; and responding, by the CEE credit driver to the CEE converter, with Ethernet frames comprising a private header that includes the flow identifier and a sequence number. |
Claim: |
2. The method according to claim 1, further comprising: checking, by the CEE converter, whether a local link Media Access Control (MAC) address matches the CEE protocol data flow; and dropping, by the CEE converter, a frame of the CEE protocol data flow if the frame would exceed the outbound frame buffer space. |
Claim: |
3. The method according to claim 1, further comprising: storing, by CEE converter, frames in the outbound frame buffer, if the frames would exceed the defined CEE protocol data flow. |
Claim: |
4. The method according to claim 1, further comprising: determining, by the CEE converter, whether the sequence numbers are monotonically increasing; if the sequence numbers are not monotonically increasing: sending, by the CEE converter to the CEE credit driver, a first message and dropping, by the CEE converter, all further frames with bad sequence numbers; if the sequence numbers are monotonically increasing: sending, by the CEE converter to the CEE credit driver, a second message to restore credit, including using, by the CEE converter when internal engines are overrun, local pause frames and marking, by the CEE credit driver, packets as “sent” after receiving the second message from the CEE converter. |
Claim: |
5. The method according to claim 1, further comprising: for data flow from the second network component to the first network component: receiving, by the CEE converter from the second network component, traffic flow definition parameters for a single CEE protocol data flow; calculating, by the credit manager, available buffer space in an inbound frame buffer of the CEE converter for the data flow; and communicating, by the credit manager to the CEE credit driver, the calculated size of buffer space. |
Claim: |
6. The method according to claim 5, further comprising: allocating, by the CEE credit driver, the communicated amount of buffer space; communicating, by the CEE credit driver to the credit manager for the CEE protocol data flow, a start sequence number and a flow identifier, receiving, by the CEE converter, an Ethernet frame to the inbound frame buffer, forwarding, by the CEE converter, the Ethernet frame directly in parallel to storing the Ethernet frame, if the inbound frame buffer of the CEE credit driver is empty and a connection to the CEE credit driver is currently unused, signaling, by the CEE converter to the second network component, a back pressure if the inbound frame buffer fills up, identifying, by a northside frame scheduler of the CEE converter, an Ethernet frame to send next to the CEE credit driver based on a CEE flow algorithm and CEE credit driver fill state; adding, by the northside frame scheduler to the Ethernet frame, a private header including the flow identifier and the sequence number; and sending the Ethernet frame out. |
Claim: |
7. The method according to claim 6, further comprising: receiving, by the CEE credit driver, Ethernet frames asynchronously; checking sequence number and flow identifier of the Ethernet frames if messages have been lost, determining, by the CEE credit driver, whether at least one sequence number is missing; if at least one sequence number is missing, sending, by the CEE credit driver to the CEE converter, a first message; if at least one sequence number is not missing, sending, by the CEE credit driver to the CEE converter, a second message to restore credit. |
Claim: |
8. The method according to claim 7, further comprising: marking, by the CEE converter, packets as “sent” after receiving the second message from the CEE credit driver; and freeing, by the CEE converter, buffer space in the inbound frame buffer. |
Claim: |
9. A network engine adapter arranged in a communication path between a first network component using an Ethernet protocol and a second network component using a CEE protocol to translate between the Ethernet protocol and the CEE protocol, the network engine adapter comprising a CEE converter and a CEE driver, the first network component coupled to the second network component through a CEE Converter, the CEE converter implemented independently and separate from the first and second network components and offloading credit based flow management among the first and second network components, the network engine adapter comprising one or more processors and computer memory storing computer program instructions that, when executed by one or more of the processors, causes the network engine adapter to carry out the steps of: for data flow from the first network component to the second network component: receiving, by the CEE converter, traffic flow definition parameters for a single CEE protocol data flow; calculating, by a credit manager implemented as part of the CEE converter, available buffer space in an outbound frame buffer of the CEE converter for the data flow; communicating, by the credit manager to a CEE credit driver executing in the first network component, the calculated size of the buffer space together with a start sequence number and a flow identifier; and responding, by the CEE credit driver to the CEE converter, with Ethernet frames comprising a private header that includes the flow identifier and a sequence number. |
Claim: |
10. The network engine adapter according to claim 9, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the steps of: checking, by the CEE converter, whether a local link Media Access Control (MAC) address matches the CEE protocol data flow; and dropping, by the CEE converter, a frame of the CEE protocol data flow if the frame would exceed the outbound frame buffer space. |
Claim: |
11. The network engine adapter according to claim 9, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the step of: storing, by CEE converter, frames in the outbound frame buffer, if the frames would exceed the defined CEE protocol data flow. |
Claim: |
12. The network engine adapter according to claim 9, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the steps of: determining, by the CEE converter, whether the sequence numbers are monotonically increasing; if the sequence numbers are not monotonically increasing: sending, by the CEE converter to the CEE credit driver, a first message and dropping, by the CEE converter, all further frames with bad sequence numbers; if the sequence numbers are monotonically increasing: sending, by the CEE converter to the CEE credit driver, a second message to restore credit, including using, by the CEE converter when internal engines are overrun, local pause frames and marking, by the CEE credit driver, packets as “sent” after receiving the second message from the CEE converter. |
Claim: |
13. The network engine adapter according to claim 9, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the steps of: for data flow from the second network component to the first network component: receiving, by the CEE converter from the second network component, traffic flow definition parameters for a single CEE protocol data flow; calculating, by the credit manager, available buffer space in an inbound frame buffer of the CEE converter for the data flow; and communicating, by the credit manager to the CEE credit driver, the calculated size of buffer space. |
Claim: |
14. The network engine adapter according to claim 13, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the steps of: allocating, by the CEE credit driver, the communicated amount of buffer space; communicating, by the CEE credit driver to the credit manager for the CEE protocol data flow, a start sequence number and a flow identifier, receiving, by the CEE converter, an Ethernet frame to the inbound frame buffer, forwarding, by the CEE converter, the Ethernet frame directly in parallel to storing the Ethernet frame, if the inbound frame buffer of the CEE credit driver is empty and a connection to the CEE credit driver is currently unused, signaling, by the CEE converter to the second network component, a back pressure if the inbound frame buffer fills up, identifying, by a northside frame scheduler of the CEE converter, an Ethernet frame to send next to the CEE credit driver based on a CEE flow algorithm and CEE credit driver fill state; adding, by the northside frame scheduler to the Ethernet frame, a private header including the flow identifier and the sequence number; and sending the Ethernet frame out. |
Claim: |
15. The network engine adapter according to claim 14, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the steps of: receiving, by the CEE credit driver, Ethernet frames asynchronously; checking sequence number and flow identifier of the Ethernet frames if messages have been lost, determining, by the CEE credit driver, whether at least one sequence number is missing; if at least one sequence number is missing, sending, by the CEE credit driver to the CEE converter, a first message; if at least one sequence number is not missing, sending, by the CEE credit driver to the CEE converter, a second message to restore credit. |
Claim: |
16. The network engine adapter according to claim 15, further comprising computer program instructions that, when executed, cause the network engine adapter to carry out the steps of: marking, by the CEE converter, packets as “sent” after receiving the second message from the CEE credit driver; and freeing, by the CEE converter, buffer space in the inbound frame buffer. |
Claim: |
17. A computer program product for translating between an Ethernet protocol used by a first network component and a Converged Enhanced Ethernet (CEE) protocol used by a second network component, the first network component coupled to the second network component through a CEE Converter, the CEE converter implemented independently and separate from the first and second network components and offloading credit based flow management among the first and second network components, the computer program product comprising computer program instructions stored on a computer readable medium, the computer program instructions, when executed, carry out the steps of: for data flow from the first network component to the second network component: receiving, by the CEE converter, traffic flow definition parameters for a single CEE protocol data flow; calculating, by a credit manager implemented as part of the CEE converter, available buffer space in an outbound frame buffer of the CEE converter for the data flow; communicating, by the credit manager to a CEE credit driver executing in the first network component, the calculated size of the buffer space together with a start sequence number and a flow identifier; and responding, by the CEE credit driver to the CEE converter, with Ethernet frames comprising a private header that includes the flow identifier and a sequence number. |
Claim: |
18. The computer program product according to claim 17, further comprising computer program instructions that, when executed, carry out the steps of: checking, by the CEE converter, whether a local link Media Access Control (MAC) address matches the CEE protocol data flow; and dropping, by the CEE converter, a frame of the CEE protocol data flow if the frame would exceed the outbound frame buffer space. |
Claim: |
19. The computer program product according to claim 17, further comprising computer program instructions that, when executed, carry out the step of: storing, by CEE converter, frames in the outbound frame buffer, if the frames would exceed the defined CEE protocol data flow. |
Claim: |
20. The computer program product according to claim 17, further comprising computer program instructions that, when executed, carry out the steps of: determining, by the CEE converter, whether the sequence numbers are monotonically increasing; if the sequence numbers are not monotonically increasing: sending, by the CEE converter to the CEE credit driver, a first message and dropping, by the CEE converter, all further frames with bad sequence numbers; if the sequence numbers are monotonically increasing: sending, by the CEE converter to the CEE credit driver, a second message to restore credit, including using, by the CEE converter when internal engines are overrun, local pause frames and marking, by the CEE credit driver, packets as “sent” after receiving the second message from the CEE converter. |
Claim: |
21. The computer program product according to claim 17, further comprising computer program instructions that, when executed, carry out the steps of: for data flow from the second network component to the first network component: receiving, by the CEE converter from the second network component, traffic flow definition parameters for a single CEE protocol data flow; calculating, by the credit manager, available buffer space in an inbound frame buffer of the CEE converter for the data flow; and communicating, by the credit manager to the CEE credit driver, the calculated size of buffer space. |
Claim: |
22. The computer program product according to claim 21, further comprising computer program instructions that, when executed, carry out the steps of: allocating, by the CEE credit driver, the communicated amount of buffer space; communicating, by the CEE credit driver to the credit manager for the CEE protocol data flow, a start sequence number and a flow identifier, receiving, by the CEE converter, an Ethernet frame to the inbound frame buffer, forwarding, by the CEE converter, the Ethernet frame directly in parallel to storing the Ethernet frame, if the inbound frame buffer of the CEE credit driver is empty and a connection to the CEE credit driver is currently unused, signaling, by the CEE converter to the second network component, a back pressure if the inbound frame buffer fills up, identifying, by a northside frame scheduler of the CEE converter, an Ethernet frame to send next to the CEE credit driver based on a CEE flow algorithm and CEE credit driver fill state; adding, by the northside frame scheduler to the Ethernet frame, a private header including the flow identifier and the sequence number; and sending the Ethernet frame out. |
Claim: |
23. The computer program product according to claim 22, further comprising computer program instructions that, when executed, carry out the steps of: receiving, by the CEE credit driver, Ethernet frames asynchronously; checking sequence number and flow identifier of the Ethernet frames if messages have been lost, determining, by the CEE credit driver, whether at least one sequence number is missing; if at least one sequence number is missing, sending, by the CEE credit driver to the CEE converter, a first message; if at least one sequence number is not missing, sending, by the CEE credit driver to the CEE converter, a second message to restore credit. |
Claim: |
24. The computer program product according to claim 23, further comprising computer program instructions that, when executed, carry out the steps of: marking, by the CEE converter, packets as “sent” after receiving the second message from the CEE credit driver; and freeing, by the CEE converter, buffer space in the inbound frame buffer. |
Current U.S. Class: |
370/235 |
Current International Class: |
04 |
رقم الانضمام: |
edspap.20110299394 |
قاعدة البيانات: |
USPTO Patent Applications |