Claims
- 1. A carrier medium which stores program instructions for dynamically determining routing for a measurement task, wherein the program instructions are executable to perform:
receiving input specifying a source terminal and a destination terminal in a measurement system; programmatically determining a plurality of possible routes from the source terminal to the destination terminal; and storing the plurality of possible routes; at runtime of the measurement task,
programmatically determining a first route of the plurality of possible routes; and configuring the measurement system with the first route, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
- 2. The carrier medium of claim 1, wherein the first route is programmatically determined based on routing resource availability.
- 3. The carrier medium of claim 1, wherein each of the plurality of routes comprises a single device route, and wherein the source terminal and the destination terminal are both comprised in a single device in the measurement system.
- 4. The carrier medium of claim 1, wherein each of the plurality of routes comprises a multi-device route, wherein the source terminal is comprised in a first device in the measurement system, and wherein the destination terminal is comprised in a second device in the measurement system.
- 5. The carrier medium of claim 1, wherein each of the plurality of routes traverses one or more public buses in the measurement system.
- 6. The carrier medium of claim 4, wherein the one or more public buses comprise one or more trigger buses.
- 7. The carrier medium of claim 5, wherein the one or more trigger buses comprise one or more of:
a RTSI bus; a PXI trigger backplane; and an external trigger bus.
- 8. The carrier medium of claim 4, wherein the program instructions are further executable to perform:
performing one or more reservation protocols for the computed routes to prevent resource conflicts on the one or more public buses.
- 9. The carrier medium of claim 1, wherein the program instructions are further executable to perform:
receiving at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; wherein said programmatically computing the plurality of routes is performed based on the topography description.
- 10. The carrier medium of claim 9, wherein the topography description further comprises:
configuration information specifying one or more operational parameters for respective components of the device.
- 11. The carrier medium of claim 10, wherein said storing the plurality of routes comprises storing the routes in a run-time specification, wherein the run-time specification is usable to configure one or more devices in the measurement system to perform the measurement task.
- 12. The carrier medium of claim 11, wherein, in being usable to configure one or more devices to perform the measurement task, the run-time specification is usable to configure each of the plurality of routes in the device.
- 13. The carrier medium of claim 12,
wherein said storing the routes in the run-time specification comprises storing the operational parameters for components of the device included in the plurality of routes; and wherein the run-time specification is usable to configure the components of the device using the one or more operational parameters to implement the first route.
- 14. The carrier medium of claim 13, wherein said configuring the measurement system with the first route comprises:
analyzing the run-time specification; selecting the first route from the plurality of routes based on routing resource availability; and configuring the first route in the device based on said analyzing.
- 15. The carrier medium of claim 13, wherein the program instructions are further executable to perform:
analyzing the run-time specification; and generating a run-time based on said analyzing, wherein the run-time is executable to perform the measurement task.
- 16. The carrier medium of claim 13, wherein the run-time specification comprises a specification of the one or more operational parameters of one or more measurement routing primitives, wherein each measurement routing primitive comprises a software object and corresponding configuration settings, and wherein each measurement routing primitive is operable to implement at least a portion of the plurality of routes.
- 17. The carrier medium of claim 1, wherein the program instructions are further executable to perform:
receiving at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; and preprocessing the topography description to generate a graph, wherein the graph comprises a representation of possible routes in the device; wherein the graph is usable to determine the plurality of routes from the source terminal to the destination terminal.
- 18. The carrier medium of claim 17, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing the graph to determine the plurality of routes from the source terminal to the destination terminal.
- 19. The carrier medium of claim 17, wherein the graph comprises a weighted graph, and wherein edges in the graph are weighted in accordance with one or more metrics.
- 20. The carrier medium of claim 19, wherein said traversing the graph to determine a plurality of routes from the source terminal to the destination terminal is performed using Dijkstra's shortest path algorithm.
- 21. The carrier medium of claim 1, wherein each of the plurality of routes comprises a multi-device route, wherein the source terminal is comprised in a first device, and wherein the destination terminal is comprised in a second device, wherein the program instructions are further executable to perform:
receiving a first topography description, wherein the first topography description indicates a plurality of components in the first device, and connectivity between each of the plurality of components in the first device; receiving a second topography description, wherein the second topography description indicates a plurality of components in the second device, and connectivity between each of the plurality of components in the second device; preprocessing the first topography description to generate a first graph, wherein the first graph comprises a representation of possible routes in the first device; and preprocessing the second topography description to generate a second graph, wherein the second graph comprises a representation of possible routes in the second device; wherein the first graph and the second graph are usable to determine the plurality of routes from the source terminal to the destination terminal.
- 22. The carrier medium of claim 21, wherein the first device is coupled to the second device through a bus, and wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing the first graph to determine a plurality of routes from the source terminal to an input terminal of the bus; traversing the second graph to determine a plurality of routes from an output terminal of the bus to the destination terminal; and combining the plurality of routes from the source terminal to the input terminal of the bus and the plurality of routes from the output terminal of the bus to the destination terminal to determine the plurality of routes from the source terminal to the destination terminal.
- 23. The carrier medium of claim 1, wherein each of the plurality of routes comprises a multi-device route through a plurality of devices, wherein the source terminal is comprised in a first device of the plurality of devices, and wherein the destination terminal is comprised in a second device of the plurality of devices, wherein the first device is coupled to the second device through one or more other devices of the plurality of devices, wherein the program instructions are further executable to perform:
receiving a plurality of device topography descriptions, wherein each of the device topography descriptions indicates a plurality of components in a respective device of the plurality of devices, and connectivity between each of the plurality of components in the respective device; preprocessing each of the plurality of device topography descriptions to generate a respective plurality of graphs, wherein each graph comprises a representation of possible routes in the respective device; and wherein the plurality of graphs are usable to determine the plurality of routes from the source terminal to the destination terminal.
- 24. The carrier medium of claim 23, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing each of the plurality of graphs to determine a respective one or more sub-routes through each of the plurality of graphs; and combining the respective one or more sub-routes to generate the plurality of routes from the source terminal to the destination terminal.
- 25. The carrier medium of claim 24, wherein the first device is coupled to a first bus, wherein the first bus is coupled to the second device through the one or more other devices of the plurality of devices and corresponding one or more buses, wherein said traversing each of the plurality of graphs to determine a plurality of routes from the source terminal to the destination terminal comprises:
traversing a first graph of the plurality of graphs to determine a plurality of routes from the source terminal to an input terminal of the first bus; traversing each of one or more other graphs of the plurality of graphs to determine a plurality of routes from an output terminal of the first bus to the destination terminal; and combining the plurality of routes from the source terminal to the input terminal of the first bus and the plurality of routes from the output terminal of the first bus to the destination terminal to determine the plurality of routes from the source terminal to the destination terminal.
- 26. The carrier medium of claim 23, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
combining the plurality of graphs to generate a combined graph, wherein the combined graph represents possible routes from the source terminal to the destination terminal; and traversing the combined graph to determine the plurality of routes from the source terminal to the destination terminal.
- 27. The carrier medium of claim 26, wherein the first device is coupled to a first bus, wherein the first bus is coupled to the second device through the one or more other devices of the plurality of devices and corresponding one or more buses, and wherein said combining the plurality of graphs to generate a combined graph comprises:
linking respective pairs of graphs of the plurality of graphs via respective nodes, wherein each respective node represents a respective bus of the corresponding one or more buses, and wherein the respective bus couples a respective pair of devices of the plurality of devices corresponding to the respective pair of graphs.
- 28. The carrier medium of claim 23, wherein the program instructions are further executable to perform:
receiving a system topography description, wherein the system topography description indicates connectivity between the plurality of devices; preprocessing the system topography description to generate a system graph, wherein the system graph comprises a representation of possible routes through the plurality of devices; and traversing the system graph to determine a plurality of routes from the first device to the second device, wherein each of the plurality of routes from the first device to the second device passes through zero or more of the one or more other devices of the plurality of devices.
- 29. The carrier medium of claim 28, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing each of the plurality of graphs to determine a respective one or more sub-routes through each of the plurality of graphs; and combining the respective one or more sub-routes based on the determined plurality of routes from the first device to the second device to generate the plurality of routes from the source terminal to the destination terminal.
- 30. The carrier medium of claim 28, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
combining the plurality of graphs based on the determined plurality of routes from the first device to the second device to generate a combined graph, wherein the combined graph represents possible routes from the source terminal to the destination terminal; and traversing the combined graph to determine the plurality of routes from the source terminal to the destination terminal.
- 31. The carrier medium of claim 1, wherein said programmatically determining the first route of the plurality of possible routes further comprises:
selecting a primary route from the plurality of routes based on a metric; detecting a resource conflict on the primary route; and determining if a secondary route of the plurality of routes exists which circumvents the resource conflict; if said secondary route exists, selecting said secondary route as the first route; and if said secondary route does not exist, returning an error.
- 32. A carrier medium which stores program instructions for dynamically determining routing for a measurement task, wherein the carrier medium stores a plurality of possible routes from a source terminal to a destination terminal, wherein the program instructions are executable to perform:
receiving an indication that the measurement task is to be executed; programmatically determining a first route of the plurality of possible routes in response to the indication; and configuring the measurement system with the first route after said programmatically determining, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
- 33. The carrier medium of claim 32, wherein said programmatically determining the first route from the plurality of routes comprises:
selecting the first route from the plurality of routes based on routing resource availability.
- 34. The carrier medium of claim 32,
wherein the measurement system comprises a plurality of devices; and wherein said configuring the measurement system comprises writing route configuration information to each of at least a subset of the plurality of devices to configure each of the at least a subset of the plurality of devices with at least a portion of the first route.
- 35. A carrier medium which stores program instructions for dynamically determining routing for a measurement task, wherein the program instructions are executable to perform:
receiving input specifying a source terminal and a destination terminal in a measurement system; receiving at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; programmatically computing a plurality of possible routes from the source terminal to the destination terminal based on the topography description; and storing the plurality of possible routes in a memory.
- 36. The carrier medium of claim 35,
wherein one of the plurality of possible routes is operable to be selected at runtime of the measurement task to configure the measurement system.
- 37. The carrier medium of claim 36,
wherein each of the plurality of possible routes comprises a respective one or more routing resources in the measurement system; and wherein one of the plurality of possible routes is operable to be selected at runtime of the measurement task based on routing resource availability.
- 38. A carrier medium which stores program instructions for dynamically determining routing for a measurement task, wherein the program instructions are executable to perform:
receiving input specifying a source terminal and a destination terminal in a measurement system; programmatically computing a plurality of possible routes from the source terminal to the destination terminal; and storing the plurality of possible routes in a memory; wherein one of the plurality of possible routes is operable to be selected at runtime of the measurement task to configure the measurement system.
- 39. The carrier medium of claim 38, wherein each of the plurality of routes comprises a single device route, and wherein the source terminal and the destination terminal are both comprised in a single device in the measurement system.
- 40. The carrier medium of claim 38, wherein each of the plurality of routes comprises a multi-device route, wherein the source terminal is comprised in a first device in the measurement system, and wherein the destination terminal is comprised in a second device in the measurement system.
- 41. The carrier medium of claim 38,
wherein each of the plurality of possible routes comprises a respective one or more routing resources in the measurement system; and wherein one of the plurality of possible routes is operable to be selected at runtime of the measurement task based on routing resource availability.
- 42. A computer-implemented method for dynamically determining routing for a measurement task, the method comprising:
receiving input specifying a source terminal and a destination terminal in a measurement system; programmatically determining a plurality of possible routes from the source terminal to the destination terminal; and storing the plurality of possible routes; at runtime of the measurement task,
programmatically determining a first route of the plurality of possible routes; and configuring the measurement system with the first route, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
- 43. The method of claim 42, wherein the first route is programmatically determined based on based on routing resource availability.
- 44. The method of claim 42, wherein each of the plurality of routes comprises a single device route, and wherein the source terminal and the destination terminal are both comprised in a single device in the measurement system.
- 45. The method of claim 42, wherein each of the plurality of routes comprises a multi-device route, wherein the source terminal is comprised in a first device in the measurement system, and wherein the destination terminal is comprised in a second device in the measurement system.
- 46. The method of claim 42, wherein each of the plurality of routes traverses one or more public buses in the measurement system.
- 47. The method of claim 46, wherein the one or more public buses comprise one or more trigger buses.
- 48. The method of claim 47, wherein the one or more trigger buses comprise one or more of:
a RTSI bus; a PXI trigger backplane; and an external trigger bus.
- 49. The method of claim 46, further comprising:
performing one or more reservation protocols for the computed routes to prevent resource conflicts on the one or more public buses.
- 50. The method of claim 42, further comprising:
receiving at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; wherein said programmatically computing the plurality of routes is performed based on the topography description.
- 51. The method of claim 50, wherein the topography description further comprises:
configuration information specifying one or more operational parameters for respective components of the device.
- 52. The method of claim 51, wherein said storing the plurality of routes comprises storing the routes in a run-time specification, wherein the run-time specification is usable to configure one or more devices to perform the measurement task.
- 53. The method of claim 52, wherein, in being usable to configure one or more devices to perform the measurement task, the run-time specification is usable to configure each of the plurality of routes in the device.
- 54. The method of claim 53,
wherein said storing the routes in the run-time specification comprises storing the operational parameters for components of the device included in the plurality of routes; and wherein the run-time specification is usable to configure the components of the device using the one or more operational parameters to implement the first route.
- 55. The method of claim 54, further comprising:
analyzing the run-time specification; selecting the first route from the plurality of routes based on routing resource availability; and configuring the first route in the device based on said analyzing.
- 56. The method of claim 54, further comprising:
analyzing the run-time specification; and generating a run-time based on said analyzing, wherein the run-time is executable to perform the measurement task.
- 57. The method of claim 54, wherein the run-time specification comprises a specification of the one or more operational parameters of one or more measurement routing primitives, wherein each measurement routing primitive comprises a software object and corresponding configuration settings, and wherein each measurement routing primitive is operable to implement at least a portion of the plurality of routes.
- 58. The method of claim 42, further comprising:
receiving at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; and preprocessing the topography description to generate a graph, wherein the graph comprises a representation of possible routes in the device; wherein the graph is usable to determine the plurality of routes from the source terminal to the destination terminal.
- 59. The method of claim 58, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing the graph to determine the plurality of routes from the source terminal to the destination terminal.
- 60. The method of claim 58, wherein the graph comprises a weighted graph, and wherein edges in the graph are weighted in accordance with one or more metrics.
- 61. The method of claim 60, wherein said traversing the graph to determine a plurality of routes from the source terminal to the destination terminal is performed using Dijkstra's shortest path algorithm.
- 62. The method of claim 58, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal further comprises:
traversing the graph to determine a plurality of routes from the source terminal to the destination terminal; and selecting said plurality of routes from said plurality of routes based on a metric.
- 63. The method of claim 42, wherein each of the plurality of routes comprises a multi-device route, wherein the source terminal is comprised in a first device, and wherein the destination terminal is comprised in a second device, the method further comprising:
receiving a first topography description, wherein the first topography description indicates a plurality of components in the first device, and connectivity between each of the plurality of components in the first device; receiving a second topography description, wherein the second topography description indicates a plurality of components in the second device, and connectivity between each of the plurality of components in the second device; preprocessing the first topography description to generate a first graph, wherein the first graph comprises a representation of possible routes in the first device; and preprocessing the second topography description to generate a second graph, wherein the second graph comprises a representation of possible routes in the second device; wherein the first graph and the second graph are usable to determine the plurality of routes from the source terminal to the destination terminal.
- 64. The method of claim 63, wherein the first device is coupled to the second device through a bus, and wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing the first graph to determine a plurality of routes from the source terminal to an input terminal of the bus; traversing the second graph to determine a plurality of routes from an output terminal of the bus to the destination terminal; and combining the plurality of routes from the source terminal to the input terminal of the bus and the plurality of routes from the output terminal of the bus to the destination terminal to determine the plurality of routes from the source terminal to the destination terminal.
- 65. The method of claim 42, wherein each of the plurality of routes comprises a multi-device route through a plurality of devices in the measurement system, wherein the source terminal is comprised in a first device of the plurality of devices, and wherein the destination terminal is comprised in a second device of the plurality of devices, wherein the first device is coupled to the second device through one or more other devices of the plurality of devices, the method further comprising:
receiving a plurality of device topography descriptions, wherein each of the device topography descriptions indicates a plurality of components in a respective device of the plurality of devices, and connectivity between each of the plurality of components in the respective device; preprocessing each of the plurality of device topography descriptions to generate a respective plurality of graphs, wherein each graph comprises a representation of possible routes in the respective device; and wherein the plurality of graphs are usable to determine the plurality of routes from the source terminal to the destination terminal.
- 66. The method of claim 65, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing each of the plurality of graphs to determine a respective one or more sub-routes through each of the plurality of graphs; and combining the respective one or more sub-routes to generate the plurality of routes from the source terminal to the destination terminal.
- 67. The method of claim 66, wherein the first device is coupled to a first bus, wherein the first bus is coupled to the second device through the one or more other devices of the plurality of devices and corresponding one or more buses, wherein said traversing each of the plurality of graphs to determine a plurality of routes from the source terminal to the destination terminal comprises:
traversing a first graph of the plurality of graphs to determine a plurality of routes from the source terminal to an input terminal of the first bus; traversing each of one or more other graphs of the plurality of graphs to determine a plurality of routes from an output terminal of the first bus to the destination terminal; and combining the plurality of routes from the source terminal to the input terminal of the first bus and the plurality of routes from the output terminal of the first bus to the destination terminal to determine the plurality of routes from the source terminal to the destination terminal.
- 68. The method of claim 65, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
combining the plurality of graphs to generate a combined graph, wherein the combined graph represents possible routes from the source terminal to the destination terminal; and traversing the combined graph to determine the plurality of routes from the source terminal to the destination terminal.
- 69. The method of claim 68, wherein the first device is coupled to a first bus, wherein the first bus is coupled to the second device through the one or more other devices of the plurality of devices and corresponding one or more buses, and wherein said combining the plurality of graphs to generate a combined graph comprises:
linking respective pairs of graphs of the plurality of graphs via respective nodes, wherein each respective node represents a respective bus of the corresponding one or more buses, and wherein the respective bus couples a respective pair of devices of the plurality of devices corresponding to the respective pair of graphs.
- 70. The method of claim 65, the method further comprising:
receiving a system topography description, wherein the system topography description indicates connectivity between the plurality of devices; preprocessing the system topography description to generate a system graph, wherein the system graph comprises a representation of possible routes through the plurality of devices; and traversing the system graph to determine a plurality of routes from the first device to the second device, wherein each of the plurality of routes from the first device to the second device passes through zero or more of the one or more other devices of the plurality of devices.
- 71. The method of claim 70, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing each of the plurality of graphs to determine a respective one or more sub-routes through each of the plurality of graphs; and combining the respective one or more sub-routes based on the determined plurality of routes from the first device to the second device to generate the plurality of routes from the source terminal to the destination terminal.
- 72. The method of claim 70, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
combining the plurality of graphs based on the determined plurality of routes from the first device to the second device to generate a combined graph, wherein the combined graph represents possible routes from the source terminal to the destination terminal; and traversing the combined graph to determine the plurality of routes from the source terminal to the destination terminal.
- 73. The method of claim 42, wherein said programmatically determining the first route of the plurality of possible routes comprises:
selecting a primary route from the plurality of routes based on a metric; detecting a resource conflict on the primary route; and determining if a secondary route of the plurality of routes exists which circumvents the resource conflict; if said secondary route exists, selecting said secondary route as the first route; and if said secondary route does not exist, returning an error.
- 74. A computer-implemented method for dynamically determining routing for a measurement task, wherein the carrier medium stores a plurality of possible routes from a source terminal to a destination terminal, wherein the program instructions are executable to perform:
receiving an indication that the measurement task is to be executed; programmatically determining a first route of the plurality of possible routes in response to the indication; and configuring the measurement system with the first route after said programmatically determining the first route, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
- 75. The method of claim 74, wherein said programmatically determining the first route from the plurality of routes comprises:
selecting the first route from the plurality of routes based on routing resource availability.
- 76. A computer-implemented method for dynamically determining routing for a measurement task, wherein the program instructions are executable to perform:
receiving input specifying a source terminal and a destination terminal in a measurement system; receiving at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; programmatically computing a plurality of possible routes from the source terminal to the destination terminal based on the topography description; and storing the plurality of possible routes in a memory.
- 77. The method of claim 76,
wherein one of the plurality of possible routes is operable to be selected at runtime of the measurement task to configure the measurement system.
- 78. A computer-implemented method for dynamically determining routing for a measurement task, wherein the program instructions are executable to perform:
receiving input specifying a source terminal and a destination terminal in a measurement system; programmatically computing a plurality of possible routes from the source terminal to the destination terminal; and storing the plurality of possible routes in a memory; wherein one of the plurality of possible routes is operable to be selected at runtime of the measurement task to configure the measurement system.
- 79. A system for dynamically determining routing for a measurement task, comprising:
a processor; and a memory medium, coupled to the processor; and an input, coupled to the memory medium, wherein the input is operable to receive input information specifying a source terminal and a destination terminal in a measurement system; wherein the memory medium stores program instructions which are executable by the processor to perform:
programmatically determining a plurality of possible routes from the source terminal to the destination terminal; and storing the plurality of possible routes; at runtime of the measurement task,
programmatically determining a first route of the plurality of possible routes; and configuring the measurement system with the first route, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
- 80. The system of claim 79, wherein the first route is programmatically determined based on based on routing resource availability.
- 81. The system of claim 79,
wherein the input is further operable to receive at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; and wherein said programmatically computing the plurality of routes is performed based on the topography description.
- 82. The system of claim 81, wherein said storing the plurality of routes comprises storing the routes in a run-time specification, wherein the run-time specification is usable to configure the plurality of routes in the device.
- 83. The system of claim 82,
wherein said storing the routes in the run-time specification comprises storing one or more operational parameters for components of the device included in the plurality of routes; and wherein the run-time specification is usable to configure the components of the device using the one or more operational parameters to implement the plurality of routes.
- 84. The system of claim 79,
wherein the input is further operable to receive at least one topography description, wherein the topography description indicates a plurality of components in at least one device in the measurement system, and connectivity between each of the plurality of components in the device; and wherein the program instructions are further executable to perform:
preprocessing the topography description to generate a graph, wherein the graph comprises a representation of possible routes in the device; wherein the graph is usable to determine the plurality of routes from the source terminal to the destination terminal.
- 85. The system of claim 84, wherein said programmatically determining the plurality of routes from the source terminal to the destination terminal comprises:
traversing the graph to determine a plurality of routes from the source terminal to the destination terminal; and selecting said plurality of routes from said plurality of routes based on one or more metrics.
- 86. The system of claim 79, wherein each of the plurality of routes comprises a multi-device route through a plurality of devices, wherein the source terminal is comprised in a first device of the plurality of devices, and wherein the destination terminal is comprised in a second device of the plurality of devices, wherein the first device is coupled to the second device through one or more other devices of the plurality of devices,
wherein the input is further operable to receive a plurality of device topography descriptions, wherein each of the device topography descriptions indicates a plurality of components in a respective device of the plurality of devices, and connectivity between each of the plurality of components in the respective device; wherein the program instructions are further executable to perform:
preprocessing each of the plurality of device topography descriptions to generate a respective plurality of graphs, wherein each graph comprises a representation of possible routes in the respective device; and wherein the plurality of graphs are usable to determine the plurality of routes from the source terminal to the destination terminal.
- 87. A system for dynamically determining routing for a measurement task, comprising:
a processor; and a memory medium, coupled to the processor; and an input, coupled to the memory medium, wherein the input is operable to receive input information specifying a source terminal and a destination terminal in a measurement system; wherein the memory medium stores program instructions which are executable by the processor to perform:
receiving an indication that the measurement task is to be executed; programmatically determining a first route of the plurality of possible routes in response to the indication; and configuring the measurement system with the first route after said programmatically determining the first route, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
- 88. A system for dynamically determining routing for a measurement task, comprising:
a processor; and a memory medium, coupled to the processor; and an input, coupled to the memory medium, wherein the input is operable to receive input information specifying a source terminal and a destination terminal in a measurement system; wherein the memory medium stores program instructions which are executable by the processor to perform:
programmatically computing a plurality of possible routes from the source terminal to the destination terminal based on the topography description; and storing the plurality of possible routes in a memory.
- 89. A system for dynamically determining routing for a measurement task, comprising:
means for receiving input specifying a source terminal and a destination terminal in a measurement system; means for programmatically determining a plurality of routes from the source terminal to the destination terminal; and means for storing the plurality of routes; means for performing, at runtime of the measurement task,
programmatically determining a first route of the plurality of possible routes; and configuring the measurement system with the first route, wherein said configuring produces a signal path in the measurement system from the source terminal to the destination terminal.
CONTINUATION DATA
[0001] This application is a Continuation In Part (CIP) of U.S. application Ser. No. 10/008,792 titled “Measurement System Software Architecture for Easily Creating High-Performance Measurement Applications” filed Nov. 13, 2001, whose inventors were Geoffrey Schmit, Brent Schwan, Jonathan Brumley, Thomas A. Makowski and Christopher T. Bartz, which claims benefit of priority of U.S. Provisional Application Serial No. 60/301,785 titled “Measurement System Software Architecture for Easily Creating High-Performance Measurement Applications” filed Jun. 29, 2001, whose inventors were Geoffrey Schmit, Brent Schwan, Jonathan Brumley, Thomas A. Makowski and Christopher T. Bartz.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60301785 |
Jun 2001 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10008792 |
Nov 2001 |
US |
Child |
10174157 |
Jun 2002 |
US |