# Function-Oriented Networking and On-Demand Routing System in Network Using Ant Colony Optimization Algorithm

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Related Works

#### 2.1. OpenFlow

#### 2.2. NFV

#### 2.3. Network Slicing

#### 2.4. Quagga

## 3. Function-Oriented Networking

#### 3.1. FON Identifier

#### 3.2. FON Forwarding Table

#### 3.3. Design and Processing of FON Packet

#### 3.4. Telecommunication Design between FON and FON Function

#### 3.4.1. For Synchronous Message

#### 3.4.2. For Asynchronous Message

#### 3.5. Processing and Exchanging FON Data Packets between FON Switches

(1) | A network user sends a FON packet to FON Switch 1. |

(2) | FON Switch1 sends it to proper FON Function through func_type of FON Packet. |

(3) | After proper process, requests FON to send FON Packet. |

(4) | Deliver packet to FON Switch 2. |

… | Repeat (2)–(4). |

## 4. FON Function—Ant Colony Optimization Routing in Network

#### 4.1. Background

#### 4.1.1. Ant Density

#### 4.1.2. Ant Quality

#### 4.1.3. Ant System

#### 4.1.4. Ant-Q

#### 4.1.5. Ant Colony System

#### 4.1.6. The Structure of the Pheromone Table

#### 4.1.7. Source Update

#### 4.2. Previous Works

#### 4.2.1. Ant Local

#### 4.2.2. Simple Backtracking Update

Algorithm 1 Simple Backtracking Update |

1: Ant packet has been received |

2: if Ant is a backtracked from a neighbor node I then |

3: ${\mathsf{\tau}}_{\mathrm{D},\mathrm{i}}\leftarrow 0$ Where $\mathrm{D}$ is the destination of an ant. |

4: else |

5: Do nothing |

6: end if |

#### 4.2.3. The Fast Path Recovery Algorithm

Algorithm 2 The Fast Path Recovery Algorithm |

1: For all neighbor nodes i |

2: Visited ← False |

3: Endurance ← MAX Endurance |

4: Pheromone ← 0 |

5: End for |

#### 4.3. Design of ACO Packet

#### 4.4. Design of ACO Packet Packet Transmission Process

(1) | Packet in |

(2) | If the ant is not registered in the node’s pheromone table, it registers in the pheromone table. |

(3) | If the ant is backtracked, perform the Simple Backtracking algorithm. Then proceed to step (5). |

(4) | Updates RX statistical information of the pheromone table. The received number, the byte, and the shortest distance to the transmission destination. |

(5) | Update the pheromone concentration for the destination entry in the pheromone table using the Source Update algorithm and the Ant Colony System algorithm. |

(6) | When you reach the destination, change the ant type from Forward (Request) to Backward (Response). |

(7) | Decrease TTL. |

(8) | If TTL is 0, go to step (11) and finish. |

(9-1) | If it is a Forward type |

(9-2) | If it is Backward type |

(10) | And updates the TX information of the pheromone table. |

(11) | End |

#### 4.5. Decision of Ant Model

## 5. Performance Evaluation and Analysis

#### 5.1. Performance Evaluation of Each ACO Model

#### 5.1.1. Control Groups

#### 5.1.2. Simple Backtracking Update

#### 5.1.3. Source Update

#### 5.2. Network-Related Performance Measure

#### 5.2.1. Definition of Network Performance Measure

- (1)
- All ants travel only through a single path.
- (2)
- There is no loss, so 100% of the response (backward ant) is received.

#### 5.2.2. Relation of Overhead and Recovery Time

**T**is variable. But the upper bound of Link Overhead ${O}_{\mathrm{upper}}$ can be easily obtained by substituting MTU from

**T**.

**R**can be expressed using ACO parameters listed in Table 7. First, Link-error detection time ${\mathit{T}}_{\mathit{e}}$ and Shortest Path Search time ${\mathit{T}}_{\mathit{s}}$ are random variables. Both Link-error detection time and Shortest Path Search time can be expressed in multiples cycle. This is because the computation time of the ACO algorithm is proportional to the cycle. ${\mathit{T}}_{\mathit{e}}$ and ${\mathit{T}}_{\mathit{s}}$ are expressed as

#### 5.3. Network Performance Measure

## 6. Conclusions

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## References

- Xia, F.; Yang, L.T.; Wang, L.; Vinel, A. Internet of things. Int. J. Commun. Syst.
**2012**, 25, 1101. [Google Scholar] [CrossRef] - Alliance, N. NGMN 5G White Paper; NGMN: Frankfurt am Main, Germany, 2015. [Google Scholar]
- METIS 2020. Available online: https://www.metis2020.com (accessed on 1 August 2017).
- Ashton, K. That Internet of Things Thing. Available online: http://www.rfidjournal.com/articles/view?4986 (accessed on 1 August 2017).
- Gubbi, J.; Buyya, R.; Marusic, S.; Palaniswami, M. Internet of things (IoT): A vision, architectural elements, and future directions. Future Gener. Comput. Syst.
**2013**, 29, 1645–1660. [Google Scholar] [CrossRef] - Fettweis, G.P. The tactile internet: Applications and challenges. IEEE Veh. Technol. Mag.
**2014**, 9, 64–70. [Google Scholar] [CrossRef] - Maier, M.; Chowdhury, M.; Rimal, B.P.; Van, D.P. The tactile internet: Vision, recent progress, and open challenges. IEEE Commun. Mag.
**2016**, 54, 138–145. [Google Scholar] [CrossRef] - European Telecommunications Standards Institute. Network Functions Virtualization; ETSI: Sophia Antipolis, France, 2012. [Google Scholar]
- McKeown, N.; Anderson, T.; Balakrishnan, H.; Parulkar, G.; Peterson, L.; Rexford, J.; Shenker, S.; Turner, J. Openflow: Enabling Innovation in Campus Networks. ACM SIGCOMM Comput. Commun. Rev.
**2008**, 38, 69–74. [Google Scholar] [CrossRef] - Onos. Available online: http://onosproject.org (accessed on 1 August 2017).
- Opendaylight. Available online: https://www.opendaylight.org (accessed on 1 August 2017).
- NFV White Paper. Available online: https://portal.etsi.org/nfv/nfv_white_paper.pdf (accessed on 1 August 2017).
- GENI. Available online: https://www.geni.net (accessed on 1 August 2017).
- Alliance, N. Description of Network Slicing Concept; NGMN: Frankfurt am Main, Germany, 2016. [Google Scholar]
- Quagga. Available online: http://www.nongnu.org/quagga (accessed on 1 August 2017).
- Dorigo, M.; Maniezzo, V.; Colorni, A. Ant system: Optimization by a colony of cooperating agents. IEEE Trans. Syst. Man Cybern. Part B
**1996**, 26, 29–41. [Google Scholar] [CrossRef] [PubMed] - Dorigo, M.; Gambardella, L.M. Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Trans. Evol. Comput.
**1997**, 1, 53–66. [Google Scholar] [CrossRef] - Wang, J.; Osagie, E.; Thulasiraman, P.; Thulasiram, R.K. HOPNET: A hybrid ant colony optimization routing algorithm for mobile ad hoc network. Ad Hoc Netw.
**2009**, 7, 690–705. [Google Scholar] [CrossRef] - Gunes, M.; Sorges, U.; Bouazizi, I. Ara-the ant-colony based routing algorithm for MANETS. In Proceedings of the International Conference on Parallel Processing Workshops, Vancouver, BC, Canada, 21 August 2002; pp. 79–85. [Google Scholar]
- Islam, M.T.; Thulasiraman, P.; Thulasiram, R.K. A parallel ant colony optimization algorithm for all-pair routing in MANETS. In Proceedings of the Parallel and Distributed Processing Symposium, Nice, France, 22–26 April 2003. [Google Scholar]
- Singh, G.; Kumar, N.; Verma, A.K. Oantalg: An orientation based ant colony algorithm for mobile ad hoc networks. Wirel. Pers. Commun.
**2014**, 77, 1859–1884. [Google Scholar] [CrossRef] - Prabaharan, S.; Ponnusamy, R. Energy aware ant colony optimization based dynamic random routing strategy for MANET. Energy
**2016**, 5, 1–5. [Google Scholar] - Chatterjee, S.; Das, S. Ant colony optimization based enhanced dynamic source routing algorithm for mobile ad-hoc network. Inf. Sci.
**2015**, 295, 67–90. [Google Scholar] [CrossRef] - Sutariya, D.; Kamboj, P. A survey of ant colony based routing algorithms for MANET. Eur. Sci. J.
**2014**, 9, 82–91. [Google Scholar] - Oranj, A.; Alguliev, R.; Yusifov, F.; Jamali, S. Routing algorithm for vehicular ad hoc network based on dynamic ant colony optimization. Int. J. Electron. Elect. Eng.
**2016**, 4, 79–83. [Google Scholar] [CrossRef] - Broch, J.; Maltz, D.A.; Johnson, D.B.; Hu, Y.-C.; Jetcheva, J. A performance comparison of multi-hop wireless ad hoc network routing protocols. In Proceedings of the 4th Annual ACM/IEEE International Conference on Mobile Computing and Networking, Dallas, TX, USA, 25–30 October 1998; pp. 85–97. [Google Scholar]
- Di Caro, G.; Ducatelle, F.; Gambardella, L.M. Anthocnet: An adaptive nature-inspired algorithm for routing in mobile ad hoc networks. Trans. Emerg. Telecommun. Technol.
**2005**, 16, 443–455. [Google Scholar] [CrossRef] - Di Caro, G.; Dorigo, M. Antnet: Distributed stigmergetic control for communications networks. J. Artif. Intell. Res.
**1998**, 9, 317–365. [Google Scholar] - Maniezzo, A. Distributed optimization by ant colonies. In Toward a Practice of Autonomous Systems: Proceedings of the First European Conference on Artificial Life; MIT Press: Cambridge, MA, USA, 1992; p. 134. [Google Scholar]
- Liu, Z.; Liu, T.; Gao, X. An improved ant colony optimization algorithm based on pheromone backtracking. In Proceedings of the IEEE 14th International Conference on Computational Science and Engineering (CSE), Dalian, China, 24–26 August 2011; pp. 658–661. [Google Scholar]
- Li, W.; Dong, L. Special factor backtracking algorithm for optimizing. In Proceedings of the 2010 International Conference on Intelligent Computing and Integrated Systems (ICISS), Guilin, China, 22–24 October 2010; pp. 27–30. [Google Scholar]
- Yu, Y.; Li, Y.; Li, J. Nonparametric modeling of magnetorheological elastomer base isolator based on artificial neural network optimized by ant colony algorithm. J. Intell. Mater. Syst. Struct.
**2015**, 26, 1789–1798. [Google Scholar] [CrossRef] - Dorigo, M.; Gambardella, L. Ant-q: A reinforcement learning approach to the traveling salesman problem. In Proceedings of the Twelfth International Conference on Machine Learning, Tahoe City, CA, USA, 9–12 July 2016; pp. 252–260. [Google Scholar]
- Du, K.-L.; Swamy, M. Ant colony optimization. In Search and Optimization by Metaheuristics; Springer: New York, NY, USA, 2016; pp. 191–199. [Google Scholar]
- Sim, Y.-B.; SeungGwan, L.; SungWon, L. The ACO routing agent implementation for the real network. In Proceedings of the 2016 Eighth International Conference on Ubiquitous and Future Networks (ICUFN), Vienna, Austria, 5–8 July 2016. [Google Scholar]
- Ant Colony Optimization Routing Agent for the Real Network (Ethernet). Available online: https://github.com/MobileConvergenceLab/AntColonyOptimization (accessed on 1 August 2017).
- Mininet. Available online: http://mininet.org (accessed on 1 August 2017).

**Figure 16.**Ant Colony System with simple backtracking algorithm. (

**a**) Time series graph; (

**b**) Histogram.

Field | Description |
---|---|

sid | Source FON identifier |

did | Destination FON identifier |

type | Field for identifying FON Function. 2 byte |

Paylen | Payload length. 2 byte |

Payload | Variable length |

Field | Description |
---|---|

func_type | Represents Identifier in FON Function. FON can recognize in which FON function the message generated through this Field. |

msg_type | Represents types of message. Refer [Table 1]. |

tot_len | Represents the length of message including message’s header length in bytes. |

data | Include Payload matched with given message type (func_type). |

Value of msg_type | Description |
---|---|

MSG_TYPE_REG = 0 | For registering a new FON Function on FON |

MSG_TYPE_DEREG = 1 | For deregistering a new FON Function on FON |

MSG_TYPE_SENDTO = 2 | Request to Request FON for Transmitting FON Packet |

MSG_TYPE_TABLE_ADD = 3 | Add (modify) Entry to FON’s Forward Table |

MSG_TYPE_TABLE_DEL = 4 | Remove Entry in FON’s Forward Table |

MSG_TYPE_TABLE_GET = 5 | Acquire All entries in FON’s Forward Table |

MSG_TYPE_HOST_GET = 6 | Check current FON ID in FON |

Field | Description |
---|---|

result | Inform success of failure to the request. 0 for success, error codes for failure |

tot_len | Inform entire response length including header |

error_string | Inform specific error type in text when occurring an error |

data | notify all other information except success or failure to FON Function (filled in target field) |

Field | Description |
---|---|

source | The node that generates an ant packet. |

destination | The node that an ant packet should reach. |

direction | It means the type of ant. There are two types of ant; forward is a request packet. backward is a response packet. |

init_ttl | It is an initial time-to-live. Using this filed, each node can calculate the distance between source and current node. |

cur_ttl | Current time-to-live. |

nwalks | The length of walks field. |

npath | The length of path field. |

nvisted | The length of visited field. |

ndists | The length of dists field. |

padding | This field is a 2 bytes padding for a 4 bytes-align. |

walks | The array of FON ID. This field records all nodes that ant (packet) dropped by. So, this field includes all nodes that backtracked nodes. |

path | The array of FON ID. This field records all nodes that ant (packet) dropped by, but does not include backtracked node. Using this field, the shortest path from source to destination can be calculated. |

visited | Visited field is the array of node IDs and where all visited nodes will be recorded in. It is used to confirm that duplicate visits have been made and to prevent the graph cycle. |

dists | Visited field is the array of the distance. Each element has 2 byte length. And nth element is the distance between source and nth visited’ element. In other words, dists[i] == Dist(source, visited[i]) where i is the index of array. |

Parameter | Value |
---|---|

Source | 0 |

Destination | 15 |

The least distance of Source and Destination | 14 hop |

Probability of packet loss | 0% |

The number of packets per evaporation cycle | 10 |

Total cycles per each experiment | 100 |

Total packets (ants) per each experiment | 1000 |

The number of repetitions of the same experiment | 100 times |

Variable | Description |
---|---|

M | Number of messages per second (Times/s) |

C | Pheromone evaporation cycle (s/cycle) |

N | Number of ant per each cycle (Times/cycle) |

T | Size of the packet (Byte) |

O | Link overhead (bps or Mbps) |

R | Recovery time (s) |

${\mathit{T}}_{\mathit{e}}$ | Link-error detection time (s) |

${\mathit{T}}_{\mathit{s}}$ | Shortest Path Search time (s) |

© 2017 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Sim, Y.-B.; Lee, S.; Lee, S.
Function-Oriented Networking and On-Demand Routing System in Network Using Ant Colony Optimization Algorithm. *Symmetry* **2017**, *9*, 272.
https://doi.org/10.3390/sym9110272

**AMA Style**

Sim Y-B, Lee S, Lee S.
Function-Oriented Networking and On-Demand Routing System in Network Using Ant Colony Optimization Algorithm. *Symmetry*. 2017; 9(11):272.
https://doi.org/10.3390/sym9110272

**Chicago/Turabian Style**

Sim, Young-Bo, SeungGwan Lee, and Sungwon Lee.
2017. "Function-Oriented Networking and On-Demand Routing System in Network Using Ant Colony Optimization Algorithm" *Symmetry* 9, no. 11: 272.
https://doi.org/10.3390/sym9110272