1. A method implemented by a network device executing a local computation engine and a link state routing protocol, where the local computation engine and the link state protocol support automatic establishment of redundant paths and cautious restoration in a packet network, the method comprising the steps of:
receiving an explicit path (EP) type length value (TLV) via a link state routing protocol;
executing a shortest path algorithm to obtain a shortest path for loose hops of a path identified by the EP TLV, the shortest path to be a primary path;
installing forwarding database entries for the primary path;
updating a network graph to prune links of the primary path or bias links of the primary path;
calculating a backup path using the shortest path algorithm on the updated network graph; and
installing forwarding database entries for the backup path.
2. The method of claim 1, further comprising the step of:
pruning the network graph of the packet network based on constraints specified in the EP TLV.
3. The method of claim 2, further comprising the step of:
checking whether the network graph of the packet network is split by the pruning of the network graph of the packet network.
4. The method of claim 1, wherein biasing links of the primary path includes adjusting metrics of the links of the primary path to bias the shortest path algorithm away from selecting the links of the primary path for the backup path.
5. The method of claim 1, further comprising:
assigning a backup virtual local area network (VLAN) identifier (ID) to the backup path.
6. The method of claim 1, the method comprising the steps of:
detecting a change in the network graph;
checking whether the network graph is stable; and
restoring one of the primary path or the backup path affected by the change to the network graph.
7. The method of claim 6, further comprising:
restoring the other of the primary path or the backup path affected by the change in the network graph after completion of the restoring of the primary path or backup path.
8. A network device executing a local computation engine and a link state routing protocol, where the local computation engine and the link state protocol support automatic establishment of redundant paths and cautious restoration in a packet network, the computing device comprising:
a non-transitory machine-readable storage medium to receive and store a set of explicit path (EP) type length value (TLV) received via a link state routing protocol; and
a processor coupled to the memory device, the processor configured to execute the local computation engine (LCE) module to process the EP TLV, to execute a shortest path algorithm to obtain a shortest path for loose hops of a path identified by the EP TLV, the shortest path to be a primary path, to install forwarding database entries for the primary path, to update a network graph to prune links of the primary path or bias links of the primary path, to calculate a backup path using the shortest path algorithm on the updated network graph, and to install forwarding database entries for the backup path.
9. The network device of claim 8, wherein the processor is further configured to execute the LCE module that is further configured to prune the network graph of the packet network based on constraints specified in the EP TLV.
10. The network device of claim 9, wherein the processor is further configured to execute the LCE module that is further configured to check whether the network graph of the packet network is split by the pruning of the network graph of the packet network.
11. The network device of claim 8, wherein biasing links of the primary path includes adjusting metrics of the links of the primary path to bias the shortest path algorithm away from selecting the links of the primary path for the backup path.
12. The network device of claim 8, wherein the processor is further configured to execute the LCE module that is further configured to assign a backup virtual local area network (VLAN) identifier (ID) to the backup path.
13. The network device of claim 8, wherein the processor is further configured to execute the LCE module that is further configured to detect a change in the network graph, to check whether the network graph is stable, and to restore one of the primary path or the backup path affected by the change to the network graph.
14. The network device of claim 8, wherein the processor is further configured to execute the LCE module that is further configured to restore the other of the primary path or the backup path affected by the change in the network graph after completion of the restoring of the primary path or backup path.
15. A control plane device to execute a path computation element and a link state routing protocol, where the path computation element and the link state protocol support automatic establishment of redundant paths and cautious restoration in a packet network, the control plane device comprising:
a non-transitory machine-readable storage medium to receive and store a set of explicit path (EP) type length value (TLV) received via a link state routing protocol; and
a network processor coupled to the memory device, the network processor configured to execute the path computation element (PCE) module to generate the EP TLV to be sent to local computation engine (LCE) modules in the packet network to direct the LCE modules to execute a shortest path algorithm to obtain a shortest path for loose hops of a path identified by the EP TLV, the shortest path to be a primary path, to install forwarding database entries for the primary path, to update a network graph to prune links of the primary path or bias links of the primary path, to calculate a backup path using the shortest path algorithm on the updated network graph, and to install forwarding database entries for the backup path.
16. The control plane device of claim 15, wherein the PCE generated EP TLV causes the LCE module to prune a network graph of the packet network based on constraints specified in the EP TLV.
17. The control plane device of claim 16, wherein the PCE generated EP TLV causes the LCE module to check whether the network graph of the packet network is split by the pruning of the network graph of the packet network.
18. The control plane device of claim 15, wherein biasing links of the primary path includes adjusting metrics of the links of the primary path to bias the shortest path algorithm away from selecting the links of the primary path for the backup path.
19. The control plane device of claim 15, wherein the PCE generated EP TLV causes the LCE module to assign a backup virtual local area network (VLAN) identifier (ID) to the backup path.
20. The control plane device of claim 15, the PCE generated EP TLV causes the LCE module to detect a change in the network graph, to check whether the network graph is stable, and to restore one of the primary path or the backup path affected by the change to the network graph.
21. The control plane device of claim 15, the PCE generated EP TLV causes the LCE module to restore the other of the primary path or the backup path affected by the change in the network graph after completion of the restoring of the primary path or backup path.
22. A computing device implementing a plurality of virtual machines for implementing network function virtualization (NFV), wherein a virtual machine from the plurality of virtual machines is configured to execute a local computation engine and a link state routing protocol, where the local computation engine and the link state protocol support automatic establishment of redundant paths and cautious restoration in a packet network, the computing device comprising:
a non-transitory machine-readable storage medium to receive and store a set of explicit path (EP) type length value (TLV) received via a link state routing protocol; and
a processor coupled to the memory device, the processor configured to execute the virtual machine that implements the local computation engine (LCE) module that processes the EP TLV, executes a shortest path algorithm to obtain a shortest path for loose hops of a path identified by the EP TLV, the shortest path to be a primary path, installs forwarding database entries for the primary path, to update a network graph to prune links of the primary path or bias links of the primary path, calculates a backup path using the shortest path algorithm on the updated network graph, and installs forwarding database entries for the backup path.
23. The computing device of claim 22, wherein the processor is further configured to execute the virtual machine that implements the LCE module that is further configured to prune the network graph of the packet network based on constraints specified in the EP TLV.
24. The computing device of claim 23, wherein the processor is further configured to execute the virtual machine that implements the LCE module that is further configured to check whether the network graph of the packet network is split by the pruning of the network graph of the packet network.
25. The computing device of claim 22, wherein biasing links of the primary path includes adjusting metrics of the links of the primary path to bias the shortest path algorithm away from selecting the links of the primary path for the backup path.
26. The computing device of claim 22, wherein the processor is further configured to execute the virtual machine that implements the LCE module that is further configured to assign a backup virtual local area network (VLAN) identifier (ID) to the backup path.
27. The computing device of claim 22, wherein the processor is further configured to execute the virtual machine that implements the LCE module that is further configured to detect a change in the network graph, to check whether the network graph is stable, and to restore one of the primary path or the backup path affected by the change to the network graph.
28. The computing device of claim 22, wherein the processor is further configured to execute the virtual machine that implements the LCE module that is further configured to restore the other of the primary path or the backup path affected by the change in the network graph after completion of the restoring of the primary path or backup 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. An image processing apparatus, comprising:
a first determining unit adapted to determine whether or not image data capable of being image-processed is included in an image file including a plurality of pieces of image data obtained from outside;
an adding unit adapted to add device information including information of non-support to a file header of the image file when it is determined by said first determining unit that image data incapable of being image-processed is included;
a second determining unit adapted to determine whether or not the device information is included in file header information of the image file obtained from outside; and
an image-processing unit adapted to image-process the image file which has been determined by said first determining unit to include image data capable of being image-processed, and the image file which has been determined by said second determining unit not to include the device information in the file header information.
2. The image processing apparatus according to claim 1, further comprising:
an outputting unit adapted to output an image for notifying a fact of non-support when it is determined by said first determining unit that image data incapable of being image-processed is included, and when it is determined by said second determining unit that the device information is included in the file header information.
3. The image processing apparatus according to claim 2, wherein
said outputting unit outputs the image for notifying the fact of non-support to at least one of a display unit and a printing unit.
4. The image processing apparatus according to claim 1, further comprising:
a third determining unit adapted to determine whether or not the device information is dedicated to other image processing apparatuses when it is determined by said second determining unit that the device information is included in the file header information; and
a fourth determining unit adapted to determine whether or not the image of the image file including the device information can be processed when it is determined by said third determining unit that the device information is dedicated to other image processing apparatuses,
wherein said image-processing unit image-processes the image of the image file including the device information obtained from outside when it is determined by said fourth determining unit that the image can be processed.
5. The image processing apparatus according to claim 1, wherein
said first determining unit processes each of the image data of a plurality of pages included in the image file obtained from outside.
6. An image processing method, comprising:
a first determining step of determining whether or not image data capable of being image-processed is included in an image file including a plurality of pieces of the image data obtained from outside;
an adding step of adding device information including information of non-support to a file header of the image file when it is determined in said first determining step that image data incapable of being image-processed is included;
a second determining step of determining whether or not the device information is included in file header information of the image file obtained from outside; and
an image-processing step of image-processing the image file which has been determined in said first determining step to include image data capable of being image-processed, and the image file which has been determined in said second determining step not to include the device information in the file header information.
7. A computer-readable storage medium having stored therein a program causing a computer to implement an image processing method, the image processing method comprising:
a first determining step of determining whether or not image data capable of being image-processed is included in an image file including a plurality of pieces of the image data obtained from outside;
an adding step of adding device information including information of non-support to a file header of the image file when it is determined in said first determining step that image data incapable of being image-processed is included;
a second determining step of determining whether or not the device information is included in file header information of the image file obtained from outside; and
an image-processing step of image-processing the image file which has been determined in said first determining step to include image data capable of being image-processed, and the image file which has been determined in said second determining step not to include the device information in the file header information.