Claims
- 1. An apparatus comprising:
a) a processor; b) a memory coupled to the processor; c) a network connectivity program residing in the memory and being executed by the processor, the network connectivity program creating a network connectivity plan for a network comprising a plurality of supernodes, each of the plurality of supernodes including at least one candidate link, wherein the network connectivity program:
determines a number of candidate links available for each of the plurality of supernodes at a first time period; determines a time duration of the candidate links available for each of the plurality of supernodes at the first time period; adds each of the plurality of supernodes to the network according to the number of candidate links available, wherein each of the plurality of supernodes is added to the network using a selected candidate link that is selected based on the time duration of the candidate links available.
- 2. The apparatus of claim 1 wherein the network connectivity program adds each of the plurality of supernodes to the network according to the number of candidate links available by adding the supernodes having the fewest number of candidate links first.
- 3. The apparatus of claim 2 wherein the network connectivity program selects the candidate link based on the time duration of the candidate link by selecting the candidate link having the longest duration.
- 4. The apparatus of claim 1 wherein the network connectivity program further:
determines an expiration time period of a expiring link in the network connectivity plan; determines candidate links available to succeed the expiring link; and selects one of the candidate links available to succeed expired candidate based on the time duration of the candidate links available to succeed the expiring link.
- 5. The apparatus of claim 1 wherein the network connectivity program further:
determines when no candidate link is available to connect one of the plurality of nodes; determines unavailable candidate links that can connect the one of the plurality of nodes but are currently unavailable; determines a conflicting link in the network connectivity plan that makes one of the unavailable candidate links unavailable; and selects an alternative candidate link available to replace the conflicting link and having a longest duration of all alternative candidate links.
- 6. The apparatus of claim 5 wherein the network connectivity program compares a duration of the selected alternative candidate link with a duration of truncating the conflicting link at time needed to make the unavailable candidate link available, and selects the alternative candidate link if the selected alternative candidate link duration exceeds the duration of the truncated conflicting link.
- 7. The apparatus of claim 6 wherein the network connectivity program further computes candidate links to succeed the truncated conflicting link when the alternative candidate link duration does not exceed the duration of the truncated conflicting link.
- 8. The apparatus of claim 7 wherein the network connectivity program further computes candidate links to succeed a selected one of the alternative candidate links when the alternative candidate link duration does not exceed the duration of the truncated conflicting link and no successor candidate links to the truncated conflicting link are found.
- 9. The apparatus of claim 8 wherein the network connectivity program further reevaluates alternative candidates when no candidate links to succeed the selected one of the alternative candidate links are found.
- 10. The apparatus of claim 1 wherein the network connectivity program further determines the supernodes in the network using a depth first search algorithm.
- 11. The apparatus of claim 1 wherein the network connectivity program further creates a connection list of dynamic links available in the network.
- 12. The apparatus of claim 11 wherein the connection list comprises a table implemented such that an entry in row i and column j includes time intervals for which links between a node i and a node j are available.
- 13. A method for generating a network connectivity plan for a network comprising a plurality of nodes each having at least one candidate link, the method comprising the steps of:
determining a number of candidate links available for each of the plurality of supernodes at a first time period; determining a time duration of the candidate links available for each of the plurality of supernodes at the first time period; and adding each of the plurality of supernodes to the network according to the number of candidate links available, wherein each of the plurality of supernodes is added to the network using a selected candidate link that is selected based on the time duration of the candidate links available.
- 14. The method of claim 13 wherein the step of adding each of the plurality of supernodes comprises adding the supernodes having the fewest number of candidate links first.
- 15. The method of claim 13 wherein the selected candidate link is selected based on the time duration of the candidate link by selecting the candidate link having the longest duration.
- 16. The method of claim 13 further comprising the steps of:
determining an expiration time period of a expiring link in the network connectivity plan; determining candidate links available to succeed the expiring link; and selecting one of the candidate links available to succeed expired candidate based on the time duration of the candidate links available to succeed the expiring link.
- 17. The method of claim 13 further comprising the steps of:
determining when no candidate link is available to connect one of the plurality of nodes; determining unavailable candidate links that can connect the one of the plurality of nodes but are currently unavailable; determining a conflicting link in the network connectivity plan that makes one of the unavailable candidate links unavailable; and selecting an alternative candidate link available to replace the conflicting link and having a longest duration of all alternative candidate links.
- 18. The method of claim 17 further comprising the step of comparing a duration of the selected alternative candidate link with a duration of truncating the conflicting link at time needed to make the unavailable candidate link available, and selects the alternative candidate link if the selected alternative candidate link duration exceeds the duration of the truncated conflicting link.
- 19. The method of claim 18 further comprising the step of computing candidate links to succeed truncated link when the alternative candidate link duration does not exceed the duration of truncated conflicting link.
- 20. The method of claim 19 further comprising the step of computing candidate links to succeed a selected one of the alternative candidate links when the alternative candidate link duration does not exceed the duration of the truncated conflicting link and no successor candidate links to the truncated conflicting link are found.
- 21. The method of claim 20 further comprising the step of reevaluating alternative candidates when no candidate links to succeed the selected one of the alternative candidate links are found.
- 22. The method of claim 13 further comprising the step of determining the supernodes in the network using a depth first search algorithm.
- 23. The method of claim 13 further comprising the step of creating a connection list of dynamic links available in the network.
- 24. The method of claim 23 wherein the connection list comprises a table implemented such that an entry in row i and column j includes time intervals for which links between a node i and a node j are available.
- 25. A program product comprising:
a) a network connectivity program, the network connectivity program creating a network connectivity plan for a network comprising a plurality of supernodes, each of the plurality of supernodes including at least one candidate link, wherein the network connectivity program:
determines a number of candidate links available for each of the plurality of supernodes at a first time period; determines a time duration of the candidate links available for each of the plurality of supernodes at the first time period; adds each of the plurality of supernodes to the network according to the number of candidate links available, wherein each of the plurality of supernodes is added to the network using a selected candidate link that is selected based on the time duration of the candidate links available; b) signal bearing media beating said program.
- 26. The program product of claim 25 wherein said signal bearing media comprises recordable media.
- 27. The program product of claim 25 wherein said signal bearing media comprises transmission media.
- 28. The program product of claim 25 wherein the network connectivity program selects the candidate link based on the time duration of the candidate link by selecting the candidate link having the longest duration.
- 29. The program product of claim 25 wherein the network connectivity program further:
determines an expiration time period of a expiring link in the network connectivity plan; determines candidate links available to succeed the expiring link; and selects one of the candidate links available to succeed expired candidate based on the time duration of the candidate links available to succeed the expiring link.
- 30. The program product of claim 25 wherein the network connectivity program further:
determines when no candidate link is available to connect one of the plurality of nodes; determines unavailable candidate links that can connect the one of the plurality of nodes but are currently unavailable; determines a conflicting link in the network connectivity plan that makes one of the unavailable candidate links unavailable; and selects an alternative candidate link available to replace the conflicting link and having a longest duration of all alternative candidate links.
- 31. The program product of claim 30 wherein the network connectivity program compares a duration of the selected alternative candidate link with a duration of truncating the conflicting link at time needed to make the unavailable candidate link available, and selects the alternative candidate link if the selected alternative candidate link duration exceeds the duration of the truncated conflicting link.
- 32. The program product of claim 31 wherein the network connectivity program further computes candidate links to succeed the truncated conflicting link when the alternative candidate link duration does not exceed the duration of the truncated conflicting link.
- 33. The program product of claim 32 wherein the network connectivity program further computes candidate links to succeed a selected one of the alternative candidate links when the alternative candidate link duration does not exceed the duration of the truncated conflicting link and no successor candidate links to the truncated conflicting link are found.
- 34. The program product of claim 34 wherein the network connectivity program further reevaluates alternative candidates when no candidate links to succeed the selected one of the alternative candidate links are found.
- 35. The program product of claim 25 wherein the network connectivity program further determines the supernodes in the network using a depth first search algorithm.
- 36. The program product of claim 25 wherein the network connectivity program further creates a connection list of dynamic links available in the network.
- 37. The program product of claim 36 wherein the connection list comprises a table implemented such that an entry in row i and column j includes time intervals for which links between a node i and a node j are available.
STATEMENT OF GOVERNMENT INTEREST
[0001] The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license to others on reasonable terms as provided for by the terms of Contract No. F04701-99-C-0047 awarded by the Department of Defense to TRW Inc., Subcontract No. 61773CD29S to General Dynamics Corporation.