A method and system for designing a network includes generating a representation of a candidate network. The representation includes vertices and edges, where each vertex represents a path and each edge couples at least two vertices representing paths of which at most one path can be included in a network. A set of a maximum number of vertices, where no two vertices are coupled by an edge, is determined. The paths represented by the vertices of the set are included in the network.
|
23. A network designed according to the following:
generating a representation of a candidate network, the representation comprising a plurality of vertices and a plurality of edges, wherein each vertex represents a path between at least two end nodes within the candidate network and each edge couples at least two vertices representing paths of which at most one path can be included in a network; determining a maximum independent set comprising a maximum number of vertices, wherein no two vertices are coupled by an edge; and including the paths represented by the vertices of the set in the network.
1. A method for designing a network, the method comprising:
generating a representation of a candidate network, the representation comprising a plurality of vertices and a plurality of edges, wherein each vertex represents a path between at least two end nodes within the candidate network and each edge couples at least two vertices representing paths of which at most one path can be included in a network; determining a maximum independent set comprising a maximum number of vertices, wherein no two vertices are coupled by an edge; and including the paths represented by the vertices of the set in the network.
12. A system for designing a network, the system comprising:
a computer-processable medium; and logic encoded in the computer-processable medium, the logic operable to: generate a representation of a candidate network, the representation comprising a plurality of vertices and a plurality of edges, wherein each vertex represents a path between at least two end nodes within the candidate network and each edge couples at least two vertices representing paths of which at most one path can be included in a network; determine a maximum independent set comprising a maximum number of vertices, wherein no two vertices are coupled by an edge; and include the paths represented by the vertices of the set in the network. 2. The method of
each path comprises at least one of a plurality of resources; and the edges comprise a conflict edge, the conflict edge coupling at least two vertices representing paths comprising a conflicting resource.
3. The method of
5. The method of
6. The method of
receiving a demand link coupling at least two end nodes; and generating the representation, wherein the representation comprises a vertex representing a path comprising the end nodes.
7. The method of
the vertices comprise a first vertex representing a first path and a second vertex representing a second path, each path having at least two end nodes, the first path having the same end nodes as the second path; and the edges comprise a routing edge coupling the first vertex and the second vertex.
8. The method of
coupling a resource elimination vertex to at least one vertex representing a path comprising an eliminable resource; selecting the resource elimination vertex as a member of the set; and eliminating the eliminable resource from the network.
9. The method of
coupling a resource elimination vertex to at least one vertex representing a path comprising a candidate resource; determining whether the resource elimination vertex is a member of the set; and including the candidate resource in the network if the resource elimination vertex is not a member of the set.
10. The method of
the representation comprises a first layer having a first vertex and a second layer having a second vertex, the vertices comprising the first vertex and the second vertex; the first vertex represents a first path slot of a path; the second vertex represents a second path slot of the path; and the edges comprise a routing edge coupling the first vertex and the second vertex.
11. The method of
the representation comprises a working layer having a first vertex and a protection layer having a second vertex, the vertices comprising the first vertex and the second vertex; the first vertex represents a working path; and the second vertex represents a protection path, the protection path operable to transmit data in place of the working path.
13. The system of
each path comprises at least one resource; and the edges comprise a conflict edge coupling at least two vertices representing paths comprising a conflicting resource.
14. The system of
16. The system of
17. The system of
receive a demand link coupling at least two end nodes; and generate the representation, wherein the representation comprises a vertex representing a path comprising the end nodes.
18. The system of
the vertices comprise a first vertex representing a first path and a second vertex representing a second path, each path having at least two end nodes, the first path having the same end nodes as the second path; and the edges comprise a routing edge coupling the first vertex and the second vertex.
19. The system of
couple a resource elimination vertex to vertices representing paths comprising an eliminable resource; select the resource elimination vertex as a member of the set; and eliminate the eliminable resource from the network.
20. The system of
couple a resource elimination vertex to vertices representing paths comprising a candidate resource; determine whether the resource elimination vertex is a member of the set; and include the candidate resource if the resource elimination vertex is not a member of the set.
21. The system of
the representation comprises a first layer having a first vertex and a second layer having a second vertex, the vertices comprising the first vertex and the second vertex; the first vertex represents a first path slot of a path; the second vertex represents a second path slot of the path; and the edges comprise a routing edge coupling the first vertex and the second vertex.
22. The system of
the representation comprises a working layer having a first vertex and a protection layer having a second vertex, the vertices comprising the first vertex and the second vertex; the first vertex represents a working path; and the second vertex represents a protection path, the protection path operable to transmit data in place of the working path.
24. The network of
each path comprises at least one of a plurality of resources; and the edges comprise a conflict edge, the conflict edge coupling at least two vertices representing paths comprising a conflicting resource.
25. The network of
27. The network of
28. The network of
receiving a demand link coupling at least two end nodes; and generating the representation, wherein the representation comprises a vertex representing a path comprising the end nodes.
29. The network of
the vertices comprise a first vertex representing a first path and a second vertex representing a second path, each path having at least two end nodes, the first path having the same end nodes as the second path; and the edges comprise a routing edge coupling the first vertex and the second vertex.
30. The network of
coupling a resource elimination vertex to at least one vertex representing a path comprising an eliminable resource; selecting the resource elimination vertex as a member of the set; and eliminating the eliminable resource from the network.
31. The network of
coupling a resource elimination vertex to at least one vertex representing a path comprising a candidate resource; determining whether the resource elimination vertex is a member of the set; and including the candidate resource in the network if the resource elimination vertex is not a member of the set.
32. The network of
the representation comprises a first layer having a first vertex and a second layer having a second vertex, the vertices comprising the first vertex and the second vertex; the first vertex represents a first path slot of a path; the second vertex represents a second path slot of the path; and the edges comprise a routing edge coupling the first vertex and the second vertex.
33. The network of
the representation comprises a working layer having a first vertex and a protection layer having a second vertex, the vertices comprising the first vertex and the second vertex; the first vertex represents a working path; and the second vertex represents a protection path, the protection path operable to transmit data in place of the working path.
|
This invention relates generally to the field of telecommunications and more specifically to a method and system for designing a network.
Telecommunications networks allow parties and systems at different locations to communicate with each other. A network includes an arrangement of nodes and links. The nodes serve as points of contact into the network and perform switching, control, and other functions of the network. The links provide communication between the nodes. Data travels along paths that include the links and nodes.
Known methods for network design include exhaustive methods and tree-finding methods. Exhaustive methods generate multiple routing assignments for the paths, individually check the routing assignments for optimal assignments, and select a routing assignment. These methods, however, are generally inefficient and slow. Tree-finding methods utilize heuristics to select a tree representing a network and then attempt to adjust the tree to satisfy network demands. These methods, however, typically fail to provide optimal solutions that satisfy network demands.
In accordance with the present invention, a method and system for designing a network are provided that substantially eliminate or reduce the disadvantages and problems associated with previous systems and methods.
According to one embodiment of the present invention, a method and system for designing a network includes generating a representation of a candidate network. The representation includes vertices and edges, where each vertex represents a path. Each edge couples at least two vertices representing paths of which only one path can included in a network. A set of a maximum number of vertices, where no two vertices are coupled by an edge, is determined. The paths represented by the vertices of the set are included in the network.
Technical advantages of the present invention include providing an improved method and system for designing networks. In a particular embodiment, network demands are represented to design an optimized network. The optimized network meets the network demands while using minimal node and link resources. Other embodiments of the invention may provide additional technical advantages. In one embodiment, an improved method and system for upgrading an existing network to meet new network demands are provided. In the embodiment, existing resources are fixed in the representation, while candidate resources are added if selected.
Another technical advantage of one embodiment is a method and system for designing a network that satisfies path protection demands are provided. In the embodiment, a representation of the candidate network represents both working and protection paths. An optimized arrangement of the working and protection paths are determined from the representation.
Other technical advantages are readily apparent to one skilled in the art from the following figures, descriptions, and claims.
For a more complete understanding of the present invention and for further features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
In one embodiment, the network includes an optical network, such as a wavelength division multiplexing (WDM) network, that includes optical fiber for transmitting signals. A WDM link includes an optical fiber connection with a wavelength multiplexer at the origin node and a wavelength demultiplexer at the destination node. An optical network may have optical and/or electrical switching devices.
As described in more detail below, system 100 receives initial conditions for a network and designs a network that satisfies the initial conditions. The network includes an arrangement of nodes, links, and paths of the network. A path, which includes nodes and links, is a route on which data travels through a network.
Referring to
The initial conditions may also include candidate paths or conditions for generating candidate paths. Candidate paths are paths that may be used to satisfy the demand links. Conditions for generating candidate paths may include, for example, links and/or nodes that may be used in the candidate paths and a maximum number of links per candidate path. Initial conditions may also specify the number of slots per path available to carry traffic and/or path protection requirements. Input 112 transmits the received information to designer module 110.
Designer module 110 includes a processor 114 that processes the input information in order to generate a network that satisfies the network demands. A candidate path module 116 stores the candidate paths, and may be used to generate candidate paths given the initial conditions for the network.
A representation module 118 generates a path conflict graph representation from the candidate paths. In the representation, vertices represent candidate paths, and edges couple the vertices. At most one path represented by vertices coupled by an edge may be included in a network. Examples of paths that are not all included in a network include paths that share the same resource, that is, paths that have a conflicting resource, where the resource is limited to one path. Paths that satisfy the same demand, where only one path is needed to satisfy the demand, also examples of paths that are not all included in a network.
A resource elimination vertex represents a link or node that may be eliminated if the vertex is selected, or a link or node that may be added if the vertex is not selected. Each resource elimination vertex is coupled to vertices representing paths that include the resource. "Each" means all of at least a subset of the identified items. The representation may also represent tandem nodes of a network, and working and protection paths of a network.
Maximum independent set module 120 determines a maximum independent set of vertices of the path conflict graph representation. The maximum independent set represents optimized paths that can be included in a network while satisfying the demands of the network. A network module 122 derives a network from the maximum independent set of path conflict graph representation. Paths represented by vertices that are members of the maximum independent set are included in the network. Links that are represented by link elimination vertices that are members of the maximum independent set are eliminated from the network. An output 124 provides the design for the network. Output 124 may be, for example, a video display, a printer, a port, or any other suitable device for providing the network design. The operations of system 100 may be carried out by any suitable combination of hardware and/or software and by any suitable combination of computers.
Proceeding to step 134, representation module 118 generates a representation of the candidate network from the candidate paths and links. The representation may have single or multiple layers. In the representation, vertices represent candidate paths, and edges couple the vertices. An edge may couple two vertices, or an edge such as a hyperedge may couple more than two vertices. At step 136, maximum independent set module 120 determines a maximum independent set of the vertices of the representation. The maximum independent set represents optimized paths that can be included in a network while satisfying the demands of the network. At step 138, network module 122 derives a network from the maximum independent set. At step 140, output 124 provides the design for constructing and/or updating a network that satisfies the network demands. After presenting the design, the method terminates.
Thus, the system and method efficiently design an optimized network by generating a representation that includes the demands of the network. The system and method select an optimized network that satisfies network demands while using minimal node and link resources.
where functions f(p) and g(l) are 1-to-1 functions. Set E includes edges coupling the vertices, and is initialized at E={ }. Set G represents the path conflict graph of the links of set L and the paths of set P. Set G includes vertices and edges, and is represented by Equation (2):
Steps 154 through 166 compare a first path Pi and a second path Pk to determine whether the paths share a resource or satisfy the same demand. At step 154, a first path counter i is initialized. At step 156, it is determined whether the first path counter i is equal to the size of set P. If the first path counter i is not the size of set P, the method proceeds to step 158, where a second path counter k is initialized. At step 160, it is determined whether the second path counter k is the size of set P. If the second path counter k is not the size of set P, the method proceeds to step 162, where it is determined whether paths Pi and Pk share the same resource or satisfy the same demand. If paths Pi and Pk share the same resource or satisfy the same demand, the method moves to step 164, where an edge for paths Pi and Pk is added to set E, as described by Equation (3):
At step 166, second path counter k is incremented. If paths Pi and Pk do not share any resource or satisfy the same demand at step 162, the method proceeds to step 166, where the second path counter k is incremented.
If at step 160, the second path counter k is equal to the size of set P, that is, path Pi has been compared with the paths Pk of set P, the method proceeds to step 168, where link counter m is initialized. Steps 170 through 176 determine whether path Pi uses link Lm and adds an edge for a link elimination vertex for link Lm if path Pi uses link Lm. At step 170, it is determined whether link counter m is equal to the size of set L. If link counter m is not equal to the size of set L, the method proceeds to step 172, where it is determined whether path Pi uses link Lm. If path Pi uses link Lm, a link elimination edge is added for link Lm at step 174. At step 176, link counter m is incremented. If at step 172, path Pl does not use link Lm, the method proceeds to step 176, where the link counter m is incremented.
If at step 170, link counter m is equal to the size of set L, that is, if path Pi has been checked with all links of Lm of set L, the method proceeds to step 178, where first path counter i is incremented. The method then proceeds to step 156.
If at step 156, first path counter i is equal to the size of set P, the method moves to step 180, where a maximum independent set F of the vertices vls and vps of sets Vl and Vp, respectively, is determined. At step 182, sets Ls and Ps of paths represented by the vertices of set F are derived. Sets Ls and Ps are derived using Equation (4):
At step 184, a design for a network is provided. The network includes sets Ls and Ps. After providing the design, the method terminates.
Initial conditions specify demand links 204, which designate desired data traffic. For example, a network is required to send data between nodes A 202a and B 202b, between nodes B 202b and C 202c, between node C 202c and D 202d, and between nodes D 202d and A 202a, which is designated by demand links 204. Initial conditions also specify routing links 206, which may be fixed or candidate links. A fixed link is fixed and cannot be removed, for example, an existing link. A candidate link is a link that can be added, perhaps at a cost. Both fixed and candidate links are associated with wavelength sets that the link can accommodate. The set may be expressed as a set of wavelength grids given in the International Telecommunication Union-Telecommunications (ITU-T) standards.
Candidate paths 208 are used to satisfy demand links 204, and a candidate path 208 may satisfy more than one demand link 204. Candidate paths 208 may be included in the initial conditions, or may be determined from demand links 204 and restrictions on the maximum number of links for a candidate path 208. For example, demand links 204 may be accommodated by the following candidate paths 208:
(A,B)→AB, ACB, ADB
(A,C)→AC, ABC, ADC
(B,D)→BD, BAD, BCD
(C,D)→CD, CAD, CBD
For simplicity, only the paths 208 between node A 202a and node B 202b are shown in FIG. 4B. Paths 208 are limited to paths with two or fewer links 204. Thus, ACDB is not considered for demand link 204a (A, B).
To design a network, a set of routing links 206 and a set of candidate paths 208 with a minimum associated cost is determined, where each demand link 204 is satisfied by a candidate path 208, and each candidate path 208 is accommodated by one or more routing links 206.
Edges couple vertices 302, for example, each edge couples a pair of vertices. One type of edge, conflict edges 310, couples vertices 302 that represent paths with one or more conflicting links. For example, conflict edge 310a couples vertices 302a and 302h which represent paths AB and BAD. Paths AB and BAD each include link (A,B) 206a between nodes A 202a and B 202b. A clique is a set of vertices 302 that represent paths that include the same conflicting link. For example, vertices 302a 302e, and 302h represent paths AB, ABC, and BAD. Each of these paths include link (A,B) 206a, so vertices 302a, 302e, and 302h form a clique.
A set of independent vertices 302 includes vertices 302 that are not coupled by edges, for example, conflict edges 310. For example, vertices 302a, 302f, and 302l form a set of independent vertices, because no two vertices 302 of the set are coupled by any conflict edge 310. Vertices 302a, 302c, and 302e, however, do not form a set of independent vertices because conflict edge 310b couples vertices 302a and 302e. A set of independent vertices coupled by conflict edges 310 represents paths 208 that have no conflicting links 204 and 206, because if the vertices of the set are independent, then only one vertex is selected from each clique. For example, vertices 302a, 302f, and 302l represent paths ACB, ADC, and CBD, which have no conflicting links 204 or 206.
A maximum independent set is the largest set of independent vertices 302 of a path conflict graph 300. For example, for path conflict graph layer 300, vertices 302a, 302d, 302g, and 302j form a maximum independent set. A maximum independent set represents the maximum number of paths 208 of candidate network 200 having no conflicting links 204 and 206. For example, vertices 302a, 302d, 302g, and 302j represent paths AB, AC, BD, and CD, the maximum number of paths of candidate network 200 having no conflicting links 204 and 206.
Routing edges 312, a type of edge, couple vertices that represent paths that satisfy the same demand link 104, that is, have the same end nodes. For example, routing edge 312a couples vertices 302a and 302b, which represent paths AB 208a and ACB 208b with nodes A 202a and B 202b as end nodes. For simplicity, only the routing edges 312 that couple vertices 302a-c and 304a-c, which represent paths with end nodes A 202a and B 202b, are shown. An independent set of vertices coupled by routing edges 312 represent a set of paths 208 that includes at most one path for each set of end nodes.
Link elimination vertex 320 represents a candidate link (A, B) 206a of candidate network 200 that may be eliminated from the network if link elimination vertex 320 is selected as a member of an independent set. A link elimination vertex 320 is coupled to vertices 302 and 304 that represent paths that include the same link. For example, link elimination vertex 320 is coupled to vertices 302a, 302e, 302h, 304a, 304e, and 304h, which represent paths that include the link (A, B) 206a. Link elimination vertex 320 may be associated with a cost for adding the link. If link elimination vertex 320 is * selected as a member of an independent set, then no path that has link (A, B) 206a is also selected, indicating that the link (A, B) 206a is not needed. For simplicity, only one link elimination vertex is shown in FIG. 5C.
The method proceeds to steps 410 through 419, where a path conflict graph 301 is generated. At step 410, paths 208 are represented using vertices 302. At step 412, conflict edges 310 couple vertices 302 that represent paths 208 with conflicting resources such as conflicting links. Conflict edges 310 ensure that paths 208 selected using an independent set do not include conflicting resources. At step 414, layers 301 are added to represent slots accommodated by paths 208. The maximum number of slots per path is provided in the initial conditions.
At step 416, routing edges 312 are added to couple vertices 302 and 304 that represent paths that satisfy the same demand link 204. Routing edges 312 are used to ensure that at most one path 208 is selected by an independent set for each demand link 204. At step 418, link elimination vertex 320 is added to couple vertices that represent paths with a conflicting link. Link elimination vertex 320 represents a link that may be eliminated if the vertex is selected as a member of an independent set. At step 419, node elimination vertex 322 is added to couple vertices that represent paths with a conflicting node. Node elimination vertex 322 represents a node that may be eliminated if the vertex is selected as a member of an independent set.
At step 420, a maximum independent set of path conflict graph 300 is determined. The maximum independent set is determined using any suitable maximum independent set search, for example, the greedy algorithm, polynomially tractable approximation scheme, simulated annealing genetic method, or branch-and-bound find facets. The search considers any costs or earnings associated with a vertex when determining the multiple independent set. Examples of search procedures are given in Approximation Algorithms for NP-Hard Problems, Dorit S. Hochbaum, Editor.
At step 422, paths 208 are selected according to the maximum independent set. A path 208 represented by a vertex 302 or 304 of the maximum independent set is selected for the network. If a link elimination vertex 320 is a member, the link represented by vertex 320 is eliminated from the network. For example, the maximum independent set consists of vertices 302d, 302g, 302j, 304d, 304g, and 304j, which represent two slots of paths AC, BD, and CD, and link elimination vertex 320, which represents the elimination of link AB. The network includes paths AC, BD, and CD with two slots each, but does not include link (A,B).
At step 424, the network is determined from the selected paths 208 and eliminated nodes 320. The network includes links (A,C) 206b, (B,D) 206d, and (C,D) 206e 206 and nodes A 202a, B 202b, C 202c, and D 202d of the selected paths 208, but does not include the eliminated link (A,B) 206a. After determining the network, the method terminates. Thus, the method generates representation 301 of candidate network 200 and efficiently selects vertices 302 and 304 of representation 301 that are used to design a network that satisfies given initial conditions.
At step 503, candidate paths are determined, as described in more detail in connection with step 408 of FIG. 6. At step 504, path conflict graph 303 is generated for candidate network 201, as described in more detail in connection with steps 410-416. At step 506, link elimination vertices 320 are assigned to represent the elimination of candidate links 206b-c and 206g-h. The assignment of link elimination vertices 320 is described in more detail in connection with step 418 of FIG. 6. At step 507, node elimination vertices 322 are assigned to represent the elimination of candidate tandem node E 202e. The assignment of node eliminate vertices 322 is described in more detail in connection with step 419 of FIG. 6.
At step 508, a maximum independent set for path conflict graph 300 is determined, which is described in more detail in connection with step 420 of FIG. 6. At step 510, paths are selected according to the maximum independent set, which is described in more detail in connection with step 422 of FIG. 6. At step 512, candidate links that have not been eliminated by a link elimination vertex are selected to be installed in the upgrade of the network. For example, link 204a is link of a path selected at step 510, and has not been eliminated by a link elimination vertex, so link 204a is selected to be installed in an upgrade of the network.
At step 514, tandem nodes 202e that have not been eliminated by a node elimination vertex are selected to be installed to upgrade the network. For example, link elimination node 322 representing tandem node E 202e is selected as a member of the maximum independent set, so node E 202e is not selected to be installed to upgrade the network. After determining the network, the method terminates. Thus, the method generates a representation of candidate network 201 that represents fixed nodes 202 and links 204 and 206 and candidate nodes 202 and links 204 and 206. The method efficiently selects candidate nodes 202 and links 204 and 206 that may be added to a network.
At steps 606 through 610, path conflict graph 303 of
At step 612, a maximum independent set for path conflict graph 310 is determined. At step 614, a network is determined from the maximum independent set. After determining the network, the method terminates. Thus, the method generates a network that satisfies protection demands.
Although an embodiment of the invention and its advantages are described in detail, a person skilled in the art could make various alterations, additions, and omissions without departing from the spirit and scope of the present invention as defined by the appended claims.
Patent | Priority | Assignee | Title |
10261412, | Apr 04 2014 | Synopsys, Inc. | Categorized stitching guidance for triple-patterning technology |
10311195, | Jan 15 2016 | Synopsys, Inc | Incremental multi-patterning validation |
10354886, | Feb 22 2013 | Synopsys, Inc | Hybrid evolutionary algorithm for triple-patterning |
10372037, | Oct 30 2015 | Synopsys, Inc | Constructing fill shapes for double-patterning technology |
10395001, | Nov 25 2015 | Synopsys, Inc.; Synopsys, Inc | Multiple patterning layout decomposition considering complex coloring rules |
10791045, | Feb 20 2019 | ARM Limited | Virtual channel assignment for topology constrained network-on-chip design |
10902176, | Aug 15 2013 | Synopsys, Inc | Detecting and displaying multi-patterning fix guidance |
10977092, | Oct 16 2015 | Qualcomm Incorporated | Method for efficient task scheduling in the presence of conflicts |
11018016, | Feb 22 2013 | Synopsys, Inc. | Hybrid evolutionary algorithm for triple-patterning |
11050672, | Jul 22 2019 | ARM Limited | Network-on-chip link size generation |
7289428, | Aug 13 2001 | TELECOM HOLDING PARENT LLC | Inter-working mesh telecommunications networks |
7349351, | Nov 10 2004 | Lucent Technologies Inc | Method for determining a master ring for an optical communications network |
7366114, | Aug 28 2002 | Electronics and Telecommunications Research Institute | Method for providing QoS (quality of service)—guaranteeing multi-path and method for providing disjoint path using the same |
7379981, | Jan 02 2002 | F2VS TECHNOLOGIES, LLC | Wireless communication enabled meter and network |
7385936, | Sep 15 2000 | British Telecommunications public limited company | Design of communications networks |
7406033, | Feb 28 2002 | CIENA LUXEMBOURG S A R L ; Ciena Corporation | Methods, devices and software for combining protection paths across a communications network |
7580991, | Jan 07 2002 | Oracle America, Inc | Methods and apparatuses to configure and deploy servers |
7660527, | Apr 27 2006 | Fujitsu Limited | Optical network design method |
7720086, | Mar 19 2007 | Microsoft Technology Licensing, LLC | Distributed overlay multi-channel media access control for wireless ad hoc networks |
7751345, | Sep 29 2006 | Fujitsu Limited | Optical network design method and storage medium for storing design program |
7860506, | Oct 07 2003 | ZHIGU HOLDINGS LIMITED | Model and method for computing performance bounds in multi-hop wireless networks |
8019836, | Jan 02 2002 | F2VS TECHNOLOGIES, LLC | Wireless communication enabled meter and network |
8138934, | Nov 25 2007 | TRILLIANT NETWORKS, INC | System and method for false alert filtering of event messages within a network |
8139507, | Sep 15 2004 | Hewlett Packard Enterprise Development LP | Network graph for alternate routes |
8144596, | Nov 25 2007 | TRILLIANT NETWORKS, INC | Communication and message route optimization and messaging in a mesh network |
8171364, | Nov 25 2007 | TRILLIANT NETWORKS, INC | System and method for power outage and restoration notification in an advanced metering infrastructure network |
8289182, | Nov 21 2008 | TRILLIANT NETWORKS, INC | Methods and systems for virtual energy management display |
8319658, | Mar 11 2009 | Trilliant Networks, Inc. | Process, device and system for mapping transformers to meters and locating non-technical line losses |
8332055, | Nov 25 2007 | TRILLIANT NETWORKS, INC | Energy use control system and method |
8334787, | Oct 25 2007 | TRILLIANT NETWORKS, INC | Gas meter having ultra-sensitive magnetic material retrofitted onto meter dial and method for performing meter retrofit |
8370697, | Nov 25 2007 | Trilliant Networks, Inc. | System and method for power outage and restoration notification in an advanced metering infrastructure network |
8502640, | Nov 25 2007 | TRILLIANT NETWORKS, INC | System and method for transmitting and receiving information on a neighborhood area network |
8509099, | Jan 15 2008 | Microsoft Technology Licensing, LLC | Load aware resource allocation in wireless networks |
8699377, | Sep 04 2008 | Trilliant Networks, Inc. | System and method for implementing mesh network communications using a mesh network protocol |
8700749, | Jan 31 2000 | F2VS TECHNOLOGIES, LLC | Wireless communication enabled meter and network |
8725274, | Nov 25 2007 | Trilliant Networks, Inc. | Energy use control system and method |
8781462, | Sep 28 2009 | Itron, Inc | Methodology and apparatus for validating network coverage |
8832428, | Nov 15 2010 | Trilliant Holdings Inc.; TRILLIANT HOLDINGS INC | System and method for securely communicating across multiple networks using a single radio |
8855019, | Jan 31 2000 | F2VS TECHNOLOGIES, LLC | Wireless communication enabled meter and network |
8856323, | Feb 10 2011 | TRILLIANT HOLDINGS, INC | Device and method for facilitating secure communications over a cellular network |
8891338, | Jan 29 2009 | Itron, Inc | Measuring the accuracy of an endpoint clock from a remote device |
8970394, | Jan 25 2011 | Trilliant Holdings Inc. | Aggregated real-time power outages/restoration reporting (RTPOR) in a secure mesh network |
8977123, | Aug 17 2011 | NEC Corporation | 2-step-optimization procedure for routing and wavelength assignment with combined dedicated shared protections in multi-cable multi-fiber optical WDM networks |
9001787, | Sep 20 2011 | TRILLIANT NETWORKS INC | System and method for implementing handover of a hybrid communications module |
9013173, | Sep 13 2010 | Trilliant Networks, Inc. | Process for detecting energy theft |
9041349, | Mar 08 2011 | Trilliant Networks, Inc.; TRILLIANT NETWORKS, INC | System and method for managing load distribution across a power grid |
9072098, | Jan 15 2008 | Microsoft Technology Licensing, LLC | Load aware resource allocation in wireless networks |
9084120, | Aug 27 2010 | Trilliant Networks Inc. | System and method for interference free operation of co-located transceivers |
9189822, | Mar 11 2009 | Trilliant Networks, Inc. | Process, device and system for mapping transformers to meters and locating non-technical line losses |
9282383, | Jan 14 2011 | TRILLIANT HOLDINGS INC | Process, device and system for volt/VAR optimization |
9384319, | Aug 15 2013 | Synopsys, Inc. | Detecting and displaying multi-patterning fix guidance |
9621457, | Sep 04 2008 | Trilliant Networks, Inc. | System and method for implementing mesh network communications using a mesh network protocol |
9747407, | Apr 04 2014 | Synopsys, Inc. | Categorized stitching guidance for triple-patterning technology |
Patent | Priority | Assignee | Title |
5170482, | Aug 14 1987 | Regents of the University of Minnesota | Improved hypercube topology for multiprocessor computer systems |
5297137, | Jan 30 1991 | International Business Machines Corporation | Process for routing data packets around a multi-node communications network |
5533016, | May 16 1994 | TTI Inventions A LLC | Communications network ring router |
6108311, | Apr 29 1996 | TELECOM HOLDING PARENT LLC | Multichannel ring and star networks with limited channel conversion |
6122283, | Nov 01 1996 | Google Technology Holdings LLC | Method for obtaining a lossless compressed aggregation of a communication network |
6331905, | Apr 01 1999 | TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK, THE | Network switch failure restoration |
6646989, | Jun 29 1998 | WSOU Investments, LLC | Hop-by-hop routing with node-dependent topology information |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 18 2000 | Hitachi Telecom (U.S.A.), Inc. | (assignment on the face of the patent) | / | |||
Aug 18 2000 | NAKATA, TSUNEO | HITACHI TELECOM U S A , INC , A CORP OF DELAWARE | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011055 | /0318 | |
Jan 04 2001 | HITACHI TELECOM USA , INC | Hitachi America, Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011505 | /0265 |
Date | Maintenance Fee Events |
Jun 16 2008 | REM: Maintenance Fee Reminder Mailed. |
Dec 07 2008 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Dec 07 2007 | 4 years fee payment window open |
Jun 07 2008 | 6 months grace period start (w surcharge) |
Dec 07 2008 | patent expiry (for year 4) |
Dec 07 2010 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 07 2011 | 8 years fee payment window open |
Jun 07 2012 | 6 months grace period start (w surcharge) |
Dec 07 2012 | patent expiry (for year 8) |
Dec 07 2014 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 07 2015 | 12 years fee payment window open |
Jun 07 2016 | 6 months grace period start (w surcharge) |
Dec 07 2016 | patent expiry (for year 12) |
Dec 07 2018 | 2 years to revive unintentionally abandoned end. (for year 12) |