1460769363-dc96d95e-2aaa-4e1f-b00b-e3a36af3e5e3

1. An energy harvester comprising:
a microbial fuel cell comprising an anode and an anode chamber having a check valve, wherein the anode chamber is configured to house the anode such that the anode is exposed to oxygen-reduced, nutrient-rich media and shielded from surrounding oxygen-rich media; and
a pump comprising a flexible diaphragm that is configured to be flexed by fluctuating hydrostatic pressure induced by tides such that with each flexing of the diaphragm nutrient-rich media is pumped past the anode, wherein the diaphragm is a gas-filled balloon that is housed in the anode chamber such that as the hydrostatic pressure decreases the balloon expands thereby forcing nutrient-rich media out the check valve, and as the hydrostatic pressure increases the balloon compresses causing oxygen-reduced nutrient-rich media to be drawn into the anode chamber.
2. The energy harvester of claim 1, wherein the pump further comprises an electroactive polymer (EAP) element operatively coupled to the balloon such that with each expansion and contraction of the balloon the EAP element produces electrical energy and nutrient-rich media is pumped past the anode.
3. The energy harvester of claim 1, wherein the pump contains no rotary components.
4. An energy harvester comprising:
a microbial fuel cell comprising an anode; and
a pump comprising a frame, a flexible diaphragm, a bluff body connected to the frame and operatively coupled to the diaphragm such that when the bluff body is exposed to underwater currents the bluff body vibrates creating flow-induced vibrational energy that causes the diaphragm to alternately expand and contract such that with each flexing of the diaphragm nutrient-rich media is pumped past the anode, and an electroactive polymer (EAP) element operatively coupled to the diaphragm such that with each flexing of the diaphragm the EAP element produces electrical energy.
5. The energy harvester of claim 4, wherein the EAP element is incorporated into the diaphragm.
6. The energy harvester of claim 4, wherein the bluff body is connected to the frame via the EAP element, and wherein the EAP element is a flexible connecting member.
7. The energy harvester of claim 4, further comprising a plurality of anodes, and wherein the pump further comprises a wobble plate and a plurality of diaphragms, each diaphragm corresponding to at least one anode and wherein each diaphragm is connected to the bluff body via the wobble plate such that no matter the direction of current flow at least one diaphragm is expanded and contracted causing nutrient-rich media to be pumped past its corresponding at least one anode.
8. The energy harvester of claim 7, further comprising a plurality of EAP elements and wherein each EAP element is incorporated into a corresponding diaphragm.
9. The energy harvester of claim 7, wherein the wobble plate is connected to the frame via the EAP element, and wherein the EAP element is a flexible connecting member.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method comprising:
determining if a link upon which a cell was received was an expected link in a predetermined round-robin order;
waiting for arrival of the cell on the expected link for up to a value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order;
removing the link from the round-robin order; and
correcting cell synchronization.
2. The method of claim 1, further comprising receiving the cell on the link of a bundle.
3. The method of claim 1, further comprising:
combining multiple parallel links between two or more devices in a computer network into a single channel;
receiving cells on a plurality of links in the round-robin order; and
compensating for variations in flight time between each of the plurality of links using the timer at each receive port of the bundle.
4. The method of claim 1, wherein the value of the timer represents a worst-case flight time of a smallest possible cell across a particular physical link.
5. The method of claim 1, wherein the removing of the link further comprises advancing the expected link of the round-robin order to a next link that receives the cell when a previously expected link does not receive the within the value of the timer.
6. The method of claim 1, wherein the correcting of the cell synchronization is performed by:
emptying port buffers; and
processing a lowest bundle sequence number first.
7. The method of claim 6, further comprising determining the cell synchronization of the link based on an occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
8. The method of claim 7, wherein the number equals a number of links in the bundle.
9. The method of claim 5, further comprising:
sending a signal to a fabric manager to remove failed links from the round-robin order; and
dispatching cells over remaining links until a failed link receives a new bundle configuration or resynchronizes.
10. The method of claim 9, further comprising skipping a bundle sequence number corresponding to the failed link when a transmitter passes the link in the round-robin order.
11. An apparatus comprising:
a central processing unit (CPU); and
a receiver coupled with the CPU, the receiver to
determine if a link upon which a cell was received was an expected link in a predetermined round-robin order,
wait for arrival of the cell on the expected link for up to a value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order,
remove the link from the round-robin order, and
correct cell synchronization.
12. The apparatus of claim 11, wherein the receiver is further to receive the cell on the link of a bundle.
13. The apparatus of claim 11, wherein the receiver is further to combine multiple parallel links between two or more devices in a computer network into a single channel, to receive cells on a plurality of links in the round-robin order, and to compensate for variations in flight time between each of the plurality of links using the timer at each receive port of the bundle.
14. The apparatus of claim 11, wherein the value of the timer represents a worst-case flight time of a smallest possible cell across a particular physical link.
15. The apparatus of claim 11, wherein the receiver is further to advance the expected link of the round-robin order to a next link that receives the cell when a previous expected link does not receive the cell within the value of the timer.
16. The apparatus of claim 11, wherein the receiver is further to correct the cell synchronization by: emptying port buffers; and processing a lowest bundle sequence number first.
17. The apparatus of claim 16, wherein the receiver is further to determine the cell synchronization of the link based on an occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
18. The apparatus of claim 17, wherein the number equals a number of links in the bundle.
19. The apparatus of claim 15, wherein the receiver is further to:
send a signal to a fabric manager to remove failed links from the round-robin order; and
dispatch cells over remaining links until a failed link receives a new bundle configuration or resynchronizes.
20. The apparatus of claim 19, wherein the receiver is further to skip a bundle sequence number corresponding to the failed link when a transmitter passes the link in the round-robin order.
21. A system, comprising:
a central processing unit (CPU);
a receiver coupled with the CPU, the receiver to
determine if a link upon which a cell was received was an expected link in a predetermined round-robin order,
wait for arrival of the cell on the expected link for up to a value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order,
remove the link from the round-robin order, and
correct cell synchronization;

a peripheral device coupled with the CPU; and
a transmitter coupled with the CPU, the transmitter to transmit a plurality of links between the CPU and the peripheral device as a bundle.
22. The system of claim 21, wherein the receiver is further to receive the cell on the link of a bundle.
23. The system of claim 21, wherein the receiver is further to combine multiple parallel links between two or more devices in a computer network into a single channel, to receive cells on the plurality of links in the round-robin order, and to compensate for variations in flight time between each of the plurality of links using the timer at each receive port of the bundle.
24. The system of claim 21, wherein the value of the timer represents a worst-case flight time of a smallest possible cell across a particular physical link.
25. The system of claim 21, wherein the receiver is further to advance the expected link of the round-robin order to a next link that receives the cell when a previously expected link does not receive the cell within the value of the timer.
26. The system of claim 21, wherein the receiver is further to correct the cell synchronization by:
emptying port buffers; and
processing a lowest bundle sequence number first.
27. The system of claim 26, wherein the receiver is further to determine the cell synchronization of the link based on an occurrence of a linear sequence of bundle sequence numbers a number of times in a row.
28. A machine-readable medium having instructions which when executed, cause a machine to:
determine if a link upon which a cell was received was an expected link in a predetermined round-robin order;
wait for arrival of the cell on the expected link for up to a value of a timer for the expected link if the link upon which the cell was received was not the expected link in the round-robin order;
remove the link from the round-robin order; and
correct cell synchronization.
29. The machine-readable medium of claim 28, wherein the instructions which when executed, further cause the machine to receive the cell on the link of a bundle.
30. The machine-readable medium of claim 28, wherein the instructions which when executed by, further cause the machine to:
combine multiple parallel links between two or more devices in a computer network into a single channel;
receive cells on a plurality of links in the round-robin order; and
compensate for variations in flight time between each of the plurality of links using the timer at each receive port of the bundle.
31. The machine-readable medium of claim 28, wherein the value of the timer represents a worst-case flight time of a smallest possible cell across a particular physical link.
32. The machine-readable medium of claim 28, wherein the instructions which when executed to remove the link, further causes the machine to advance the expected link of the round-robin order to a next that receives the cell when a previously expected link does not receive the cell within the value of the timer.
33. The machine-readable medium of claim 28, wherein the instructions which when executed to correct the cell synchronization further causes the machine to:
empty port buffers; and
process a lowest bundle sequence number first.
34. The machine-readable medium of claim 33, wherein the instructions which when executed, further cause the machine to determine the cell synchronization of the link based on an occurrence of a linear sequence of bundle sequence numbers a number of times in a row.