Claims
- 1. A method of selecting an adapter of multiple adapters of a switch node for transmission of a message, said method comprising:
employing a first filter to initially test whether a previously used adapter of the multiple adapters should be used to send a message; and if the first filter fails to select the previously used adapter, then employing a second filter to determine which adapter of the multiple adapters should be used to send the message.
- 2. The method of claim 1, wherein the first filter comprises a first set of tests, and wherein the second filter comprises a second set of tests, and wherein the second set of tests is more time consuming than the first set of tests.
- 3. The method of claim 1, wherein the first filter includes determining whether the previously used adapter has sufficient resources to handle the message at this time.
- 4. The method of claim 1, wherein the first filter comprises ascertaining a switch count to determine whether the message should be sent through the previously used adapter or whether a different adapter of the multiple adapters should be employed.
- 5. The method of claim 1, wherein the first filter comprises confirming that the message does not comprise a first message of a group of messages.
- 6. The method of claim 1, wherein the first filter comprises determining that the previously used adapter is currently operational.
- 7. The method of claim 1, wherein the first filter comprises a first set of tests, the first set of tests comprising at least some of:
determining whether the previously used adapter has sufficient resources to handle the message at this time; determining a switch count to ascertain whether the message should be sent through the previously used adapter; ascertaining that the message is not a first message of a group of messages; and determining that the previously used adapter is currently operational.
- 8. The method of claim 7, wherein the first filter comprises determining that each test of the first set of tests is true, and if so, selecting the previously used adapter for transmission of the message without employing the second filter.
- 9. The method of claim 1, wherein the first filter comprises selecting the previously used adapter for transmission of the message unless at least one condition of multiple predefined conditions exists which dictates that the second filter is to be employed.
- 10. The method of claim 1, wherein the second filter comprises determining whether the previously used adapter is currently down, and if so, selecting another adapter of the multiple adapters which is operational, has space available, and does not have significantly less space than any other operational adapter of the multiple adapters.
- 11. The method of claim 10, wherein upon selecting another adapter for transmission of the message, the method further comprises setting a switch count variable to a number of messages that should be written before switching to a new adapter of the multiple adapters.
- 12. The method of claim 10, wherein the second filter further comprises determining whether there is a preferred adapter for transmission of the message, and if so, determining availability of the preferred adapter.
- 13. The method of claim 10, wherein the second filter includes determining a lack of a preferred adapter, and if so, selecting the previously used adapter unless there is no available space in the previously used adapter, the switch count indicates it is time to switch to another adapter, or this is the first message in a group of messages, and there are no unflushed messages in the previously used adapter, in which case the method includes selecting another adapter which is operational, has space available, and does not have significantly less space available than any other adapter of the multiple adapters, wherein the previously used adapter is selected if it is the only adapter that fulfills these conditions.
- 14. The method of claim 1, further comprising employing a send_test variable, the send_test variable being initialized when a switch is made to a new adapter as the lesser of a count of message space available in the new adapter and a switch_count variable corresponding to a defined number of messages that should be written before switching to another adapter of the multiple adapters.
- 15. The method of claim 14, further comprising setting an adapter pointer to NULL whenever the send_test variable becomes less than or equal to zero, indicating that the second filter is to be employed.
- 16. The method of claim 15, further comprising setting the adapter pointer to NULL when the previously used adapter goes down, and returning a valid pointer that can be used for a current write operation.
- 17. A system for selecting an adapter of multiple adapters of a switch node for transmission of a message, said system comprising:
means for employing a first filter to initially test whether a previously used adapter of the multiple adapters should be used to send a message; and means for employing a second filter to determine which adapter of the multiple adapters should be used to send the message when the first filter fails to select the previously used adapter.
- 18. The system of claim 17, wherein the first filter comprises a first set of tests, and wherein the second filter comprises a second set of tests, and wherein the second set of tests is more time consuming than the first set of tests.
- 19. The system of claim 17, wherein the first filter includes means for determining whether the previously used adapter has sufficient resources to handle the message at this time.
- 20. The system of claim 17, wherein the first filter comprises means for ascertaining a switch count to determine whether the message should be sent through the previously used adapter or whether a different adapter of the multiple adapters should be employed.
- 21. The system of claim 17, wherein the first filter comprises means for confirming that the message does not comprise a first message of a group of messages.
- 22. The system of claim 17, wherein the first filter comprises means for determining that the previously used adapter is currently operational.
- 23. The system of claim 17, wherein the first filter comprises a first set of tests, the first set of tests comprising at least some of:
means for determining whether the previously used adapter has sufficient resources to handle the message at this time; means for determining a switch count to ascertain whether the message should be sent through the previously used adapter; means for ascertaining that the message is not a first message of a group of messages; and means for determining that the previously used adapter is currently operational.
- 24. The system of claim 23, wherein the first filter comprises means for determining that each test of the first set of tests is true, and if so, for selecting the previously used adapter for transmission of the message without employing the second filter.
- 25. The system of claim 17, wherein the first filter comprises means for selecting the previously used adapter for transmission of the message unless at least one condition of multiple predefined conditions exists which dictates that the second filter is to be employed.
- 26. The system of claim 17, wherein the second filter comprises means for determining whether the previously used adapter is currently down, and if so, for selecting another adapter of the multiple adapters which is operational, has space available, and does not have significantly less space than any other operational adapter of the multiple adapters.
- 27. The system of claim 26, wherein upon selecting another adapter for transmission of the message, the system further comprises means for setting a switch count variable to a number of messages that should be written before switching to a new adapter of the multiple adapters.
- 28. The system of claim 26, wherein the second filter further comprises means for determining whether there is a preferred adapter for transmission of the message, and if so, for determining availability of the preferred adapter.
- 29. The system of claim 26, wherein the second filter includes means for determining a lack of a preferred adapter, and if so, for selecting the previously used adapter unless there is no available space in the previously used adapter, the switch count indicates it is time to switch to another adapter, or this is the first message in a group of messages, and there are no unflushed messages in the previously used adapter, in which case the system further includes means for selecting another adapter which is operational, has space available, and does not have significantly less space available than any other adapter of the multiple adapters, wherein the previously used adapter is selected if it is the only adapter that fulfills these conditions.
- 30. The system of claim 17, further comprising means for employing a send_test variable, the send test variable being initialized when a switch is made to a new adapter as the lesser of a count of message space available in the new adapter and a switch_count variable corresponding to a defined number of messages that should be written before switching to another adapter of the multiple adapters.
- 31. The system of claim 30, further comprising means for setting an adapter pointer to NULL whenever the send_test variable becomes less than or equal to zero, indicating that the second filter is to be employed.
- 32. The system of claim 31, further comprising means for setting the adapter pointer to NULL when the previously used adapter goes down, and for returning a valid pointer that can be used for a current write operation.
- 33. A system for selecting an adapter for transmission of a message in a distributed computing environment, said system comprising:
a switch node of the distributed computing environment having multiple adapters, wherein the switch node is adapted to:
employ a first filter to initially test whether a previously used adapter of the multiple adapters should be used to send a message; and employ a second filter to determine which adapter of the multiple adapters should be used to send the message if the first filter fails to select the previously used adapter.
- 34. At least one program storage device readable by machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of selecting an adapter of multiple adapters of a switch node for transmission of a message, the method comprising:
employing a first filter to initially test whether a previously used adapter of the multiple adapters should be used to send a message; and if the first filter fails to select the previously used adapter, then employing a second filter to determine which adapter of the multiple adapters should be used to send the message.
- 35. The at least one program storage device of claim 34, wherein the first filter comprises a first set of tests, and wherein the second filter comprises a second set of tests, and wherein the second set of tests is more time consuming than the first set of tests.
- 36. The at least one program storage device of claim 34, wherein the first filter includes determining whether the previously used adapter has sufficient resources to handle the message at this time.
- 37. The at least one program storage device of claim 34, wherein the first filter comprises ascertaining a switch count to determine whether the message should be sent through the previously used adapter or whether a different adapter of the multiple adapters should be employed.
- 38. The at least one program storage device of claim 34, wherein the first filter comprises confirming that the message does not comprise a first message of a group of messages.
- 39. The at least one program storage device of claim 34, wherein the first filter comprises determining that the previously used adapter is currently operational.
- 40. The at least one program storage device of claim 34, wherein the first filter comprises a first set of tests, the first set of tests comprising at least some of:
determining whether the previously used adapter has sufficient resources to handle the message at this time; determining a switch count to ascertain whether the message should be sent through the previously used adapter; ascertaining that the message is not a first message of a group of messages; and determining that the previously used adapter is currently operational.
- 41. The at least one program storage device of claim 40, wherein the first filter comprises determining that each test of the first set of tests is true, and if so, selecting the previously used adapter for transmission of the message without employing the second filter.
- 42. The at least one program storage device of claim 34, wherein the first filter comprises selecting the previously used adapter for transmission of the message unless at least one condition of multiple predefined conditions exists which dictates that the second filter is to be employed.
- 43. The at least one program storage device of claim 34, wherein the second filter comprises determining whether the previously used adapter is currently down, and if so, selecting another adapter of the multiple adapters which is operational, has space available, and does not have significantly less space than any other operational adapter of the multiple adapters.
- 44. The at least one program storage device of claim 43, wherein upon selecting another adapter for transmission of the message, the method further comprises setting a switch count variable to a number of messages that should be written before switching to a new adapter of the multiple adapters.
- 45. The at least one program storage device of claim 43, wherein the second filter further comprises determining whether there is a preferred adapter for transmission of the message, and if so, determining availability of the preferred adapter.
- 46. The at least one program storage device of claim 43, wherein the second filter includes determining a lack of a preferred adapter, and if so, selecting the previously used adapter unless there is no available space in the previously used adapter, the switch count indicates it is time to switch to another adapter, or this is the first message in a group of messages, and there are no unflushed messages in the previously used adapter, in which case the method includes selecting another adapter which is operational, has space available, and does not have significantly less space available than any other adapter of the multiple adapters, wherein the previously used adapter is selected if it is the only adapter that fulfills these conditions.
- 47. The at least one program storage device of claim 34, further comprising employing a send_test variable, the send_test variable being initialized when a switch is made to a new adapter as the lesser of a count of message space available in the new adapter and a switch_count variable corresponding to a defined number of messages that should be written before switching to another adapter of the multiple adapters.
- 48. The at least one program storage device of claim 47, further comprising setting an adapter pointer to NULL whenever the send_test variable becomes less than or equal to zero, indicating that the second filter is to be employed.
- 49. The at least one program storage device of claim 48, further comprising setting the adapter pointer to NULL when the previously used adapter goes down, and returning a valid pointer that can be used for a current write operation.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application contains subject matter which is related to the subject matter of the following application, which is assigned to the same assignee as this application and filed on the same day as this application. The below-listed application is hereby incorporated herein by reference in its entirety:
[0002] “TECHNIQUE FOR CONTROLLING SELECTION OF A PEEK ADAPTER OR A READ ADAPTER FROM MULTIPLE ADAPTERS CONNECTED TO A HIGH SPEED SWITCH”, by William S. Cadden, Ser. No. ______, (Attorney Docket No. POU920020015US1).