1461146230-f507a09f-1bd1-4ac9-aa68-b6279fb9b7a0

1. A communication control device that is included in a connecting part of a plurality of rings in a ring network, the communication control device comprising:
a detecting unit that detects failure in the connecting part;
a receiving unit that receives data transmitted from another communication control device on a ring to which the communication control device belongs;
a setting unit that determines, when the failure has been detected by the detecting unit, whether to pass the data or return the data in reverse direction from the communication control device depending on a destination to transfer the data received by the receiving unit, and sets a transmission path of the data based on a result of the determination; and
a transfer unit that transfers the data in accordance with the transmission path set by the setting unit.
2. The communication control device according to claim 1, wherein
the connecting part includes a plurality of links that connect a plurality of communication control devices on the same ring as the communication control device and the plurality of communication control devices on a different ring from the ring in shape of reciprocally-crossed diagonal lines.
3. The communication control device according to claim 2, wherein
the detecting unit detects failure in a link connecting the plurality of rings out of the connecting part, and
when a failure in the link has been detected by the detecting unit, the setting unit sets a path making the link redundant through a ring on the side of a communication control device set to a master out of a plurality of communication control devices connected by the link.
4. The communication control device according to claim 1, further comprising a storage unit that updatably stores therein identification information of the data, a transmission path of the data, and a destination to transfer the data with respect to each location of failure in an associated manner, wherein
the setting unit sets a transmission path of the data so that a destination to transfer the data is a transfer destination corresponding to a location of the failure by reference to the storage unit.
5. A communication control method implemented by a communication control device that is included in a connecting part of a plurality of rings in a ring network, the communication control method comprising:
detecting failure in the connecting part;
receiving data transmitted from another communication control device on a ring to which the communication control device belongs;
upon detection of the failure, determining whether to pass the data or return the data in reverse direction from the communication control device depending on a destination to transfer the received data and setting a transmission path of the data based on a result of the determination; and
transferring the data in accordance with the set transmission path.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method of generating an application topology, the method comprising:
determining, by one or more processors, a first application profile based, at least in part, on a first network packet;
determining, by the one or more processors, a second application profile based, at least in part, on a second network packet;
determining, by the one or more processors, a link between a first application and a second application based, at least in part, on address information of the first network packet;
generating, by the one or more processors, a topology comprising the first and second application profiles based, at least in part, on the link, the first application profile and the second application profile; and
updating, by the one or more processors, the first and second application profiles based, at least in part, on matching the first application profile and second application profile with an application deployment template.
2. The method of claim 1, wherein the first application profile and second application profile comprise a protocol of the respective first network packet and second network packet.
3. The method of claim 1, wherein the first application profile and second application profile comprise a port number of the respective first network packet and second network packet.
4. The method of claim 1, wherein the first application profile and second application profile comprise an application payload of the respective first network packet and second network packet.
5. The method of claim 1, wherein the address information comprises a source address and a destination IP address of the first network packet.
6. The method of claim 1, wherein the application deployment template comprises one or more protocols, port numbers or application payloads of a predetermined network traffic pattern.
7. The method of claim 1, wherein the application deployment template comprises one or more protocols, port numbers or application payloads of a user defined network traffic pattern.

1461146220-c0784cff-c9a0-4e39-91e9-315044a14c23

1. A system for analyzing entity performance, the system comprising:
a memory device that stores a set of instructions;
one or more processors configured to execute the set of instructions that cause the one or more processors to:
receive a request with one or more filter selections;
access a data structure comprising a plurality of categories of information showing interactions associated with multiple entities, wherein the set of categories includes location information associated with the multiple entities, and wherein the location information is based on a computed affinity score;
identify a set of categories of the plurality of categories within the data structure based on the one or more filter selections;
process the information of the identified categories to analyze a performance of one or more entities of the multiple entities in accordance with the one or more filter selections; and
provide the processed information to display the performance of the one or more entities on a user interface.
2. The system of claim 1, wherein a first entity of the one or more entities is a provisioning entity.
3. The system of claim 1, wherein the plurality of categories of the data structure include at least one of: an interaction number category, a consuming entity identification category, a consuming entity location category, a provisioning entity identification category, a provisioning entity location category, a type of provisioning entity category, an interaction amount category, and a time of interaction category.
4. The system of claim 1, wherein the user interface includes one or more of:
a representation of a geographic region;
a representation of one or more locations of the one or more entities overlaid on the geographic region; and
a representation of sub-geographic regions overlaid on the geographic region.
5. The system of claim 1, wherein the one or more filter selections are mapped to one or more of the several categories of the data structure.
6. The system of claim 1, wherein the set of instructions further cause the one or more processors to analyze performance of a first entity or a first group of entities of the one or more entities, and a second entity or a second group of entities of the one or more entities.
7. A method for analyzing entity performance, the method being performed by one or more processors and comprising:
receiving a request with one or more filter selections;
accessing a data structure comprising a plurality of categories of information showing interactions associated with multiple entities;
identifying a set of categories of the plurality of categories within the data structure based on the one or more filter selections, wherein the set of categories includes location information associated with the multiple entities, and wherein the location information is based on a computed affinity score;
processing the information of the identified categories to analyze a performance of one or more entities of the multiple entities in accordance with the one or more filter selections; and
providing the processed information to display the performance of the one or more entities on a user interface.
8. The method of claim 7, wherein a first entity of the one or more entities is a provisioning entity.
9. The method of claim 7, wherein the plurality of categories of the data structure include at least one of: an interaction number category, a consuming entity identification category, a consuming entity location category, a provisioning entity identification category, a provisioning entity location category, a type of provisioning entity category, an interaction amount category, and a time of interaction category.
10. The method of claim 7, wherein the user interface includes one or more of:
a representation of a geographic region;
a representation of one or more locations of the one or more entities overlaid on the geographic region; and
a representation of sub-geographic regions overlaid on the geographic region.
11. The method of claim 7, wherein the one or more filter selections are mapped to one or more of the several categories of the data structure.
12. The method of claim 7, wherein the one or more filter selections are associated with a particular user interface of a plurality of user interfaces, the particular user interface displays a representation associated with the one or more filter selections overlaid on a geographic region.
13. The method of claim 7, further comprising analyzing performance of a first entity or a first group of entities of the one or more entities, and a second entity or a second group of entities of the one or more entities.
14. A non-transitory computer-readable medium storing a set of instructions that are executable by one or more processors of one or more servers to cause the one or more servers to perform a method for discovering application compatibility status, the method comprising:
receiving a request with one or more filter selections;
accessing a data structure comprising a plurality of categories of information showing interactions associated with multiple entities;
identifying a set of categories of the plurality of categories within the data structure based on the one or more filter selections, wherein the set of categories includes location information associated with the multiple entities, and wherein the location information is based on a computed affinity score;
processing the information of the identified categories to analyze a performance of one or more entities of the multiple entities in accordance with the one or more filter selections; and
providing the processed information to display the performance of the one or more entities on a user interface.
15. The computer-readable medium of claim 14, wherein a first entity of the one or more entities is a provisioning entity.
16. The computer-readable medium of claim 14, wherein the plurality of categories of the data structure include at least one of: an interaction number category, a consuming entity identification category, a consuming entity location category, a provisioning entity identification category, a provisioning entity location category, a type of provisioning entity category, an interaction amount category, and a time of interaction category.
17. The computer-readable medium of claim 14, wherein the user interface includes one or more of:
a representation of a geographic region;
a representation of one or more locations of the one or more entities overlaid on the geographic region; and
a representation of sub-geographic regions overlaid on the geographic region.
18. The computer-readable medium of claim 14, wherein the one or more filter selections are mapped to one or more of the several categories of the data structure.
19. The computer-readable medium of claim 14, wherein the one or more filter selections are associated with a particular user interface of a plurality of user interfaces, the particular user interface displays a representation associated with the one or more filter selections overlaid on a geographic region.
20. The computer-readable medium of claim 14, wherein the instructions further cause the one or more servers to analyze performance of a first entity or a first group of entities of the one or more entities, and a second entity or a second group of entities of the one or more entities.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method in a computer system for building binary decision diagrams of a circuit design comprising:
building a binary decision diagram for at least one node in a netlist graph representation of a circuit design;
selecting at least one variable for case-splitting from a plurality of variables in said netlist graph representation of a circuit design;
building a first binary decision diagram for the case of said at least one variable having a constant logical value of zero;
building a second binary decision diagram for the case of said at least one variable having a constant logical value of one;
determining whether said at least one variable is scheduled to be existentially quantified, universally quantified, or not quantified at all;
in response to determining that said at least one variable is scheduled to be existentially quantified, building a third binary decision diagram equal to the logical disjunction of said first binary decision diagram and said second binary decision diagram;
in response to determining that said at least one variable is scheduled to be universally quantified, building a third binary decision diagram equal to the logical conjunction of said first binary decision diagram and said second binary decision diagram;
in response to determining that said at least one variable is not scheduled to be quantified, building a third binary decision diagram by logically combining said first binary decision diagram with said second binary decision diagram, whereby said variable is introduced into said third binary decision diagram;
generating said binary decision diagrams in said computer system;
storing one or more of said binary decision diagrams in a computer-readable storage device, whereby said one or more binary decision diagrams has a reduced number of peak live nodes;
selecting a variable for a comparison with a reduction threshold, wherein said variable is included in the greatest number of nodes among all live binary decision diagrams;
comparing the reduction of nodes obtained by setting said variable to a constant value with said reduction threshold;
in response to determining that said reduction is greater than said reduction threshold, selecting said variable for case-splitting; and
in response to determining that said reduction is less than said reduction threshold, selecting a different variable for a comparison with said reduction threshold.
2. The method according to claim 1, wherein at least one variable is selected for case-splitting when the step of building a binary decision diagram for at least one node in a netlist graph representation of a circuit design exceeds a predefined resource limit of said computer system.
3. The method according to claim 1, further comprising:
in response to selecting more than one variable for case-splitting,
storing a state of all live binary decision diagrams for each case-split on a stack in a system memory of said computer system; and
reading said state of all live binary decision diagrams for each case-split from said memory stack in said computer system.
4. The method according to claim 3, wherein the storing and reading steps are performed in a first-in first-out (FIFO) manner.
5. The method according to claim 1, wherein the step of selecting a variable for case-splitting is biased toward selecting a variable that is scheduled to be quantified out.
6. The method according to claim 1, wherein the step of selecting a variable for case-splitting is biased toward selecting a variable that, when assigned a constant value, results in the reduction of the greatest number of nodes among all live binary decision diagrams.
7. A system for building binary decision diagrams of a circuit design comprising:
a processor;
a data bus coupled to the processor; and
a computer-usable storage device embodying computer program code, the computer-usable storage device being coupled to the data bus, the computer program code comprising instructions executable by the processor and configured for:
building a binary decision diagram for at least one node in a netlist graph representation of a circuit design;
selecting at least one variable for case-splitting from a plurality of variables in said netlist graph representation of a circuit design;
building a first binary decision diagram for the case of said at least one variable having a constant logical value of zero;
building a second binary decision diagram for the case of said at least one variable having a constant logical value of one;
determining whether said at least one variable is scheduled to be existentially quantified, universally quantified, or not quantified at all;
in response to determining that said at least one variable is scheduled to be existentially quantified, building a third binary decision diagram equal to the logical disjunction of said first binary decision diagram and said second binary decision diagram;
in response to determining that said at least one variable is scheduled to be universally quantified, building a third binary decision diagram equal to the logical conjunction of said first binary decision diagram and said second binary decision diagram;
in response to determining that said at least one variable is not scheduled to be quantified, building a third binary decision diagram by logically combining said first binary decision diagram with said second binary decision diagram, whereby said variable is introduced into said third binary decision diagram;
storing one or more of said binary decision diagrams in said computer-readable storage device, whereby said one or more binary decision diagrams has a reduced number of peak live nodes;
selecting a variable for a comparison with a reduction threshold, wherein said variable is included in the greatest number of nodes among all live binary decision diagrams;
comparing the reduction of nodes obtained by setting said variable to a constant value with said reduction threshold;
in response to determining that said reduction is greater than said reduction threshold, selecting said variable for case-splitting; and
in response to determining that said reduction is less than said reduction threshold, selecting a different variable for a comparison with said reduction threshold.
8. The system according to claim 7, wherein at least one variable is selected for case-splitting when the step of building a binary decision diagram for at least one node in a netlist graph representation of a circuit design exceeds a predefined resource limit of said computer system.
9. The system according to claim 7, further comprising:
in response to selecting more than one variable for case-splitting:
storing a state of all live binary decision diagrams for each case-split on a stack in a system memory of said computer system; and
reading said state of all live binary decision diagrams for each case-split from said memory stack in said computer system.
10. The system according to claim 9, wherein the storing and reading steps are performed in a first-in first-out (FIFO) manner.
11. The system according to claim 7, wherein the step of selecting a variable for case-splitting is biased toward selecting a variable that is scheduled to be quantified out.
12. The system according to claim 7, wherein the step of selecting a variable for case-splitting is biased toward selecting a variable that, when assigned a constant value, results in the reduction of the greatest number of nodes among all live binary decision diagrams.
13. A computer-readable storage device encoded with a computer program that, when executed by a computer, performs the steps of:
building a binary decision diagram for at least one node in a netlist graph representation of a circuit design;
selecting at least one variable for case-splitting from a plurality of variables in said netlist graph representation of a circuit design;
building a first binary decision diagram for the case of said at least one variable having a constant logical value of zero;
building a second binary decision diagram for the case of said at least one variable having a constant logical value of one;
determining whether said at least one variable is scheduled to be existentially quantified, universally quantified, or not quantified at all;
in response to determining that said at least one variable is scheduled to be existentially quantified, building a third binary decision diagram equal to the logical disjunction of said first binary decision diagram and said second binary decision diagram;
in response to determining that said at least one variable is scheduled to be universally quantified, building a third binary decision diagram equal to the logical conjunction of said first binary decision diagram and said second binary decision diagram;
in response to determining that said at least one variable is not scheduled to be quantified, building a third binary decision diagram by logically combining said first binary decision diagram with said second binary decision diagram, whereby said variable is introduced into said third binary decision diagram;
generating said binary decision diagrams in said computer system;
storing one or more of said binary decision diagrams in said computer-readable storage device, whereby said one or more binary decision diagrams has a reduced number of peak live nodes;
selecting a variable for a comparison with a reduction threshold, wherein said variable is included in the greatest number of nodes among all live binary decision diagrams;
comparing the reduction of nodes obtained by setting said variable to a constant value with said reduction threshold;
in response to determining that said reduction is greater than said reduction threshold, selecting said variable for case-splitting; and
in response to determining that said reduction is less than said reduction threshold, selecting a different variable for a comparison with said reduction threshold.
14. The computer-readable storage device according to claim 13, wherein at least one variable is selected for case-splitting when the step of building a binary decision diagram for at least one node in a netlist graph representation of a circuit design exceeds a predefined resource limit of said computer system.
15. The computer-readable storage device according to claim 13, further comprising:
in response to selecting more than one variable for case-splitting,
storing a state of all live binary decision diagrams for each case-split on a stack in a system memory of said computer system; and
reading said state of all live binary decision diagrams for each case-split from said memory stack in said computer system.
16. The computer-readable storage device according to claim 15, wherein the storing and reading steps are performed in a first-in first-out (FIFO) manner.
17. The computer-readable storage device according to claim 13, wherein the step of selecting a variable for case-splitting is biased toward selecting a variable that is scheduled to be quantified out.