IP Library Granted Patent US 7,293,058
Granted Patent B2
US 7,293,058 · App. 10/231,504 · Granted Nov 6, 2007

Shared routing in a measurement system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,293,058
App. No.
10/231,504
Granted
Nov 6, 2007
Kind
B2
Abstract

System and method for managing routing resources for a measurement task. The system includes a computer and one or more measurement devices. The legs of a route for routing signals in performing the measurement task are created by, for each respective leg: determining if a routing resource for the respective leg is not currently used in an existing route. If not, then the resource is configured with a desired configuration of the respective leg, and a resource reservation indicated, e.g., by incrementing a resource usage count. If the resource is currently used, the desired configuration is compared with the resource's current configuration. If the current configuration conforms to the desired configuration, a resource reservation is indicated, otherwise, an error message indicating that the leg failed is returned, and optionally, an alternative leg for the route is created which includes a different resource than the respective leg. The route is stored.

Claims (113)

1. A computer-implemented method for managing routing resources in a measurement device, the method comprising:

creating one or more legs of a circuit-switched route from a source within the measurement device to a destination within the measurement device, wherein, for each respective leg of said one or more legs, said creating includes:

determining if a routing resource for the respective leg is reserved for use by another route, wherein the routing resource has a usage count, and wherein said determining if the routing resource for the respective leg is reserved for use by another route comprises determining if the usage count has a non-zero value;

if the routing resource for the respective leg is reserved for use by another route, then:

comparing a desired configuration of the respective leg with the current configuration of the routing resource; and

reserving the routing resource if the current configuration of the routing resource conforms to the desired configuration of the respective leg, wherein said reserving the routing resource comprises incrementing the usage count of the routing resource by one, and wherein the routing resource is shared by the route and the other route;

if the routing resource for the respective leg is not reserved for use by another route, then:

configuring the routing resource in accordance with the desired configuration of the respective leg; and reserving the routing resource; and

storing the route in a memory;

wherein the route is operable to route signals in the measurement device.

2. The computer-implemented method of claim 1 , further comprising:

returning an error message indicating that the respective leg failed if the desired configuration of the respective leg does not match the current configuration of the routing resource.

3. The computer-implemented method of claim 2 , further comprising:

creating an alternative leg for the route if the desired configuration of the respective leg does not match the current configuration of the routing resource;

wherein the alternative leg includes a different routing resource than the respective leg.

4. The computer-implemented method of claim 1 ,

wherein the measurement device is configured to perform at least a portion of a measurement task; and

wherein the route is created to perform signal routing functions in the measurement task, the method further comprising:

after performance of the measurement task, releasing the route.

5. The computer-implemented method of claim 4 ,

wherein each respective routing resource has a usage count;

wherein said releasing the route comprises decrementing the usage count of the respective routing resource of each leg of the route by one; and

wherein the respective routing resource of each leg is freed when the usage count is zero.

6. The computer-implemented method of claim 4 ,

wherein each respective routing resource has a usage count which indicates the number of routes which have reserved the respective routing resource;

wherein reserving the respective routing resource comprises incrementing the usage count;

wherein releasing the respective routing resource comprises decrementing the usage count; and

wherein a usage count of zero indicates that the respective routing resource is free.

7. The computer-implemented method of claim 6 ,

wherein the measurement device is configured to perform at least a portion of a

wherein the route is created to perform signal routing functions in the measurement task,

wherein said creating and said storing are performed in a verify stage; and

wherein the measurement device is comprised in a measurement system, and

wherein the usage count of the respective routing resource is a temporary usage count indicating the number of routes in the measurement system which have reserved the respective routing resource for the measurement task.

8. The computer-implemented method of claim 6 ,

wherein said creating and said storing are performed in a runtime stage; and

wherein the measurement device is comprised in a measurement system, and

wherein the usage count of the respective routing resource indicates the number of routes in the measurement system which have reserved the respective routing resource; and

wherein the usage count of the respective routing resource represents an actual state of respective routing resource hardware.

9. The computer-implemented method of claim 6 ,

wherein the route is a task-independent route;

wherein said creating and said storing are performed in a verify stage; and

wherein the measurement device is comprised in a measurement system, and

wherein the usage count of the respective routing resource indicates the number of routes in the measurement system which have reserved the respective routing resource; and

wherein the usage count of the respective routing resource represents an actual state of respective routing resource hardware.

10. The computer-implemented method of claim 9 , the method further comprising:

determining if a prior task-independent route has not already been created from the source to the destination;

wherein said creating and said storing are performed if a prior task-independent route has not already been determined from the source to the destination.

11. The computer-implemented method of claim 10 ,

wherein the measurement device is comprised in a measurement system, wherein the measurement system includes a routing table which stores source/destination pairs for task-independent routes;

wherein said determining if a prior task-independent route has not already been determined from the source to the destination comprises:

searching the routing table for a source/destination pair that matches the source and destination of the route; and

wherein said storing includes storing the source and the destination of the route as a source/destination pair in the routing table.

12. The computer-implemented method of claim 11 , further comprising:

receiving a request to release the route;

determining if the source/destination pair of the route is in the routing table; and

if the source/destination pair of the route is in the routing table, releasing the route.

13. The computer-implemented method of claim 1 , wherein the measurement device is comprised in a measurement system that also includes one or more additional devices, and wherein the route is part of another route that includes routing resources in the measurement device and at least one of the one or more additional devices.

14. The computer-implemented method of claim 1 , wherein the routing resource for at least one of the one or more legs comprises one or more of:

a multiplexer (MUX); or

a signal inverter.

15. A computer-accessible memory medium that stores program instructions for managing routing resources in a measurement device, wherein the program instructions are executable by a processor to perform:

creating one or more legs of a circuit-switched route from a source within the measurement device to a destination within the measurement device, wherein, for each respective leg of said one or more legs, said creating includes:

determining if a routing resource for the respective leg is reserved for use by another route, wherein the routing resource has a usage count, and wherein said determining if the routing resource for the respective leg is reserved for use by another route comprises determining if the usage count has a non-zero value;

if the routing resource for the respective leg is reserved for use by another route, then:

comparing a desired configuration of the respective leg with the current configuration of the routing resource; and

reserving the routing resource if the current configuration of the routing resource conforms to the desired configuration of the respective leg, wherein said reserving the routing resource comprises incrementing the usage count of the routing resource by one, and wherein the routing resource is shared by the route and the other route;

if the routing resource for the respective leg is not reserved for use by another route, then:

configuring the routing resource in accordance with the desired configuration of the respective leg; and reserving the routing resource; and

storing the route in a memory;

wherein the route is operable to route signals in the measurement device.

16. The computer-accessible memory medium of claim 15 , wherein the program instructions are further executable to perform:

creating an alternative leg for the route if the desired configuration of the respective leg does not match the current configuration of the routing resource;

wherein the alternative leg includes a different routing resource than the respective leg.

17. The computer-accessible memory medium of claim 15 ,

wherein the measurement device is configured to perform at least a portion of a measurement task; and

wherein the route is created to perform signal routing functions in the measurement task, and wherein the program instructions are further executable to perform:

after performance of the measurement task, releasing the route.

18. The computer-accessible memory medium of claim 15 ,

wherein each respective routing resource has a usage count which indicates the number of routes which have reserved the respective routing resource;

wherein reserving the respective routing resource comprises incrementing the usage count;

wherein releasing the respective routing resource comprises decrementing the usage count; and

wherein a usage count of zero indicates that the respective routing resource is free.

19. The computer-accessible memory medium of claim 18 ,

wherein the route is a task-independent route;

wherein said creating and said storing are performed in a verify stage; and

wherein the measurement device is comprised in a measurement system, wherein

the usage count of the respective routing resource indicates the number of routes in the measurement system which have reserved the respective routing resource; and

wherein the usage count of the respective routing resource represents an actual state of respective routing resource hardware.

20. A system for managing routing resources in a measurement device, 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 and a destination in a measurement device;

wherein the memory medium stores program instructions which are executable by the processor to:

creating one or more legs of a circuit-switched route from a source within the measurement device to a destination within the measurement device, wherein, for each respective leg of said one or more legs, said creating includes:

determining if a routing resource for the respective leg is reserved for use by another route, wherein the routing resource has a usage count, and wherein said determining if the routing resource for the respective leg is reserved for use by another route comprises determining if the usage count has a non-zero value;

if the routing resource for the respective leg is reserved for use by another route, then:

comparing a desired configuration of the respective leg with the current configuration of the routing resource; and

reserving the routing resource if the current configuration of the routing resource conforms to the desired configuration of the respective leg, wherein said reserving the routing resource comprises incrementing the usage count of the routing resource by one, and wherein the routing resource is shared by the route and the other route;

if the routing resource for the respective leg is not reserved for use by another route, then:

configuring the routing resource in accordance with the desired configuration of the respective leg; and reserving the routing resource; and

storing the route in a memory;

wherein the route is operable to route signals in the measurement device.

21. A system for managing routing resources in a measurement device, comprising:

means for creating one or more legs of a circuit-switched route from a source within the measurement device to a destination within the measurement device, wherein, for each respective leg of said one or more legs, said creating includes:

determining if a routing resource for the respective leg is reserved for use by another route, wherein the routing resource has a usage count, and wherein said determining if the routing resource for the respective leg is reserved for use by another route comprises determining if the usage count has a non-zero value;

if the routing resource for the respective leg is reserved for use by another route, then:

comparing a desired configuration of the respective leg with the current configuration of the routing resource; and

reserving the routing resource if the current configuration of the routing resource conforms to the desired configuration of the respective leg, wherein said reserving the routing resource comprises incrementing the usage count of the routing resource by one, and wherein the routing resource is shared by the route and the other route;

if the routing resource for the respective leg is not reserved for use by another route, then:

configuring the routing resource in accordance with the desired configuration of the respective leg; and reserving the routing resource; and

means for storing the route in a memory;

wherein the route is operable to route signals in the measurement device.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →