KR102107294B1 - Netwrok topology formation for mobile sensor networks based on network coding - Google Patents
Netwrok topology formation for mobile sensor networks based on network coding Download PDFInfo
- Publication number
- KR102107294B1 KR102107294B1 KR1020180052349A KR20180052349A KR102107294B1 KR 102107294 B1 KR102107294 B1 KR 102107294B1 KR 1020180052349 A KR1020180052349 A KR 1020180052349A KR 20180052349 A KR20180052349 A KR 20180052349A KR 102107294 B1 KR102107294 B1 KR 102107294B1
- Authority
- KR
- South Korea
- Prior art keywords
- link
- nodes
- node
- network
- network topology
- Prior art date
Links
- 230000015572 biosynthetic process Effects 0.000 title claims description 57
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000007423 decrease Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 28
- 230000009471 action Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000004904 shortening Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- -1 heart rate Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/127—Shortest path evaluation based on intermediate node capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Abstract
일 실시예에 따르면, 분산 네트워크에 대한 최적의 네트워크 토폴로지를 형성하기 위해 효용 함수를 이용할 수 있다. 보다 구체적으로 분산 네트워크 토폴로지에 대한 네트워크 토폴로지 형성 방법에 있어서, 특정 노드들의 주변에 존재하는 복수의 이웃 노드들 각각에 대한 효용 함수를 결정하는 단계; 상기 효용 함수에 기초하여, 상기 특정 노드와 링크를 연결할 이웃 노드를 선택하는 단계를 포함하는 네트워크 토폴로지 형성 방법일 수 있다.According to one embodiment, a utility function may be used to form an optimal network topology for a distributed network. More specifically, a method for forming a network topology for a distributed network topology, the method comprising: determining a utility function for each of a plurality of neighboring nodes that exist around specific nodes; Based on the utility function, it may be a method of forming a network topology including selecting a neighbor node to connect the link with the specific node.
Description
아래 실시예들은 네트워크 코딩에 기반하는 모바일 센서 네트워크를 위한 네트워크 토폴로지 형성 방법에 관한 것으로, 보다 구체적으로는 거리단축이득(reward) 및 링크형성비용(cost)를 고려하는 효용 함수를 이용한 네트워크 토폴로지 형성 방법에 관한 것이다. The following embodiments relate to a method for forming a network topology for a mobile sensor network based on network coding, and more specifically, a method for forming a network topology using a utility function that considers a distance reduction cost and a link formation cost. It is about.
스마트 폰, 태블릿 등과 같은 최신 모바일 기기는 향상된 센서 기능을 갖춘 정교한 컴퓨팅 및 네트워킹 플랫폼이다. 모바일 기기가 대중화됨에 따라 이제는 모바일 기기 간의 연결을 통해 즉각적인 대규모 애드혹 네트워크를 형성 할 수 있게 되었다. 따라서 모바일 기기는 센서에서 수집한 데이터를 전송하고 다른 장치의 데이터를 중계함으로써 네트워크에 참여하고 있으므로 최적화 할 수 있는 최적의 네트워크 토폴로지를 구성하는 것이 중요해 지고 있다.Modern mobile devices such as smartphones and tablets are sophisticated computing and networking platforms with enhanced sensor capabilities. With the popularization of mobile devices, it is now possible to form an immediate large-scale ad hoc network through connections between mobile devices. Therefore, as mobile devices participate in the network by transmitting data collected by sensors and relaying data from other devices, it is important to configure an optimal network topology that can be optimized.
최적의 네트워크 토폴로지를 구성할 때, 중앙 집권화된 최적화(centralized optimization)은 모든 가능한 토폴로지를 계산하여 매우 높은 계산 복잡도를 요구할 수 있다. 또한, 멀티캐스트 플로우에 의해 병목 현상이 발생될 수 있다. When constructing an optimal network topology, centralized optimization can calculate all possible topologies and require very high computational complexity. In addition, a bottleneck may be caused by the multicast flow.
따라서, 계산 복잡도를 낮추면서 병목 현상이 발생되지 않는, 네트워크 토폴로지를 형성하는 방법이 필요할 수 있다.Accordingly, a method of forming a network topology that reduces bottlenecks while reducing computational complexity may be needed.
일 실시예에 따르면, 거리단축이득과 링크형성비용을 고려하는 효용 함수를 이용하여 각각의 노드에서 다른 노드와의 링크를 결정함으로써 네트워크 토폴로지 형성 방법을 제공할 수 있다.According to an embodiment, a method for forming a network topology may be provided by determining a link with each other node from each node using a utility function that considers a distance shortening gain and a link formation cost.
일 실시예에 따르면, 네트워크 코딩에 의해 링크 독립적인 데이터를 생성함으로써 형성된 네트워크 토폴로지를 이용하여 데이터를 전송하는 방법을 제공할 수 있다. According to an embodiment, a method of transmitting data using a network topology formed by generating link-independent data by network coding may be provided.
일 실시예에 따르면, 분산 네트워크 토폴로지에 대한 네트워크 토폴로지 형성 방법에 있어서, 특정 노드들의 주변에 존재하는 복수의 이웃 노드들 각각에 대한 효용 함수를 결정하는 단계; 상기 효용 함수에 기초하여, 상기 특정 노드와 링크를 연결할 이웃 노드를 선택하는 단계를 포함하는 네트워크 토폴로지 형성 방법일 수 있다. According to an embodiment, a method of forming a network topology for a distributed network topology, comprising: determining a utility function for each of a plurality of neighboring nodes that exist around specific nodes; Based on the utility function, it may be a method of forming a network topology including selecting a neighbor node to connect the link with the specific node.
상기 효용 함수는, 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리(Euclidean distance)에 따라 결정되는 거리단축이득(reward)를 고려하는 네트워크 토폴로지 형성 방법일 수 있다.The utility function may be a method of forming a network topology in consideration of a distance shortening gain determined according to the Euclidean distance from the specific node to the destination node.
상기 거리단축이득은, 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리가 감소될수록 증가하거나, 또는 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리가 증가할수록 감소하는 네트워크 토폴로지 형성 방법일 수 있다.The shortening gain may be a method of forming a network topology that increases as the Euclidean distance from the specific node to the destination node decreases or decreases as the Euclidean distance from the specific node to the destination node increases.
상기 효용 함수는, 상기 특정 노드에서 아웃고잉 링크를 형성하는데 필요한 링크형성비용(cost)을 고려하는 네트워크 토폴로지 형성 방법일 수 있다.The utility function may be a method of forming a network topology considering a link formation cost required to form an outgoing link at the specific node.
상기 링크형성비용은, 상기 특정 노드와 이웃 노드 간의 일방향 링크가 연결된 경우 보다 상기 특정 노드와 이웃 노드 간의 쌍방향 링크가 연결된 경우 감소하는 네트워크 토폴로지 형성 방법일 수 있다.The link formation cost may be a method of forming a network topology that decreases when a bidirectional link between the specific node and a neighbor node is connected, rather than when a one-way link between the specific node and a neighbor node is connected.
상기 네트워크 코딩은, 상기 특정 노드로 전송된 모든 패킷을 조합하여 하나의 패킷을 생성함으로써, 링크 독립적인 데이터를 생성하는 네트워크 토폴로지 형성 방법일 수 있다.The network coding may be a network topology forming method that generates link-independent data by combining all packets transmitted to the specific node to generate one packet.
일 실시예에 따르면, 분산 네트워크 토폴로지에서 특정 노드와 링크로 연결된 복수의 이웃 노드들로부터 인커밍 데이터를 수신하는 단계; 상기 복수의 이웃 노드들로부터 수신한 인커밍 데이터를 네트워크 코딩하여 하나의 아웃고잉 데이터를 생성하는 단계; 상기 인커밍 데이터를 전송한 상기 이웃 노드들보다 목적지 노드에 가까이 위치한 이웃 노드에 상기 아웃고잉 데이터를 전송하는 단계; 를 포함하고, 상기 분산 네트워크 토폴로지는, 상기 특정 노드와 상기 특정 노드 주변에 존재하여 상기 아웃고잉 데이터를 수신하는 상기 복수의 이웃 노드 각각에 대한 효용 함수를 결정하고, 상기 결정된 효용 함수에 기초하여 상기 아웃고잉 데이터를 전송할 상기 이웃 노드를 선택함으로써 결정되는 데이터 전송 방법일 수 있다.According to an embodiment, in the distributed network topology, receiving incoming data from a plurality of neighbor nodes linked by a specific node; Network coding the incoming data received from the plurality of neighbor nodes to generate one outgoing data; Transmitting the outgoing data to a neighbor node located closer to a destination node than the neighbor nodes that have transmitted the incoming data; And the distributed network topology determines utility functions for each of the plurality of neighbor nodes that receive the outgoing data by being present around the specific node and the specific node, and based on the determined utility function. It may be a data transmission method determined by selecting the neighbor node to transmit outgoing data.
상기 효용 함수는, 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리(Euclidean distance)에 따라 결정되는 거리단축이득(reward)를 고려하는 데이터 전송 방법일 수 있다.The utility function may be a data transmission method that considers a distance shortening gain determined according to a Euclidean distance from the specific node to a destination node.
상기 효용 함수는, 상기 특정 노드에서 아웃고잉 링크를 형성하는데 필요한 링크형성비용(cost)을 고려하는 데이터 전송 방법일 수 있다.The utility function may be a data transmission method considering a link formation cost required to form an outgoing link at the specific node.
상기 네트워크 코딩은, 상기 특정 노드로 전송된 모든 인커밍 데이터를 조합하여 하나의 아웃고잉 데이터를 생성함으로써, 링크 독립적인 데이터를 생성하는 데이터 전송 방법일 수 있다.The network coding may be a data transmission method that generates link-independent data by combining all incoming data transmitted to the specific node to generate one outgoing data.
일 실시예에 따르면, 분산 네트워크 토폴로지에 대한 네트워크 토폴로지 형성 방법을 수행하는 노드에 있어서, 상기 노드는 프로세서를 포함하고, 상기 프로세서는, 특정 노드들의 주변에 존재하는 복수의 이웃 노드들 각각에 대한 효용 함수를 결정하고, 상기 효용 함수에 기초하여 상기 특정 노드와 링크를 연결할 이웃 노드를 선택하는 노드일 수 있다.According to an embodiment, in a node performing a network topology forming method for a distributed network topology, the node includes a processor, and the processor is effective for each of a plurality of neighboring nodes that exist around specific nodes. It may be a node that determines a function and selects a neighbor node to connect a link with the specific node based on the utility function.
일 실시예에 따르면, 분산 네트워크 토폴로지를 이용하여 데이터를 전송하는 노드에 있어서, 상기 노드는 프로세서를 포함하고, 상기 프로세서는, 상기 분산 네트워크 토폴로지에서 특정 노드와 링크로 연결된 복수의 이웃 노드들로부터 인커밍 데이터를 수신하고, 상기 복수의 이웃 노드들로부터 수신한 인커밍 데이터를 네트워크 코딩하여 하나의 아웃고잉 데이터를 생성하고, 상기 인커밍 데이터를 전송한 상기 이웃 노드들보다 목적지 노드에 가까이 위치한 이웃 노드에 상기 아웃고잉 데이터를 전송하며, 상기 분산 네트워크 토폴로지는, 상기 특정 노드와 상기 특정 노드 주변에 존재하여 상기 아웃고잉 데이터를 수신하는 상기 복수의 이웃 노드 각각에 대한 효용 함수를 결정하고, 상기 결정된 효용 함수에 기초하여 상기 아웃고잉 데이터를 전송할 상기 이웃 노드를 선택함으로써 결정되는 노드일 수 있다.According to an embodiment, in a node that transmits data using a distributed network topology, the node includes a processor, and the processor is configured from a plurality of neighboring nodes linked by a specific node in the distributed network topology. A neighbor node that receives commuting data, network-codes incoming data received from the plurality of neighbor nodes to generate one outgoing data, and is located closer to a destination node than the neighbor nodes that have transmitted the incoming data. To the outgoing data, and the distributed network topology determines a utility function for each of the plurality of neighbor nodes that receive the outgoing data by being present around the specific node and the specific node, and the determined utility The outgoing data is transmitted based on a function It may be a node determined by selecting the neighbor node to be.
일 실시예에 따르면, 네트워크 토폴로지 형성 방법을 제공하는 것으로서, 거리단축이득과 링크형성비용을 고려하는 효용 함수를 이용하여 각각의 노드에서 다른 노드와의 링크를 결정하여 네트워크 토폴로지를 형성하는 방법을 제공할 수 있다.According to an embodiment, as a method of forming a network topology, a method of forming a network topology by determining a link with each other node from each node using a utility function that considers a distance shortening gain and a link formation cost is provided. can do.
일 실시예에 따르면, 데이터 전송 방법을 제공하는 것으로서, 네트워크 코딩에 의해 링크 독립적인 데이터(link independent data)를 생성함으로써 형성된 네트워크 토폴로지를 이용하여 데이터를 전송하는 방법을 제공할 수 있다. According to an embodiment, as a method of transmitting data, a method of transmitting data using a network topology formed by generating link independent data by network coding may be provided.
도 1은 일 실시예에 따른, 분산 네트워크 토폴로지를 나타낸 도면이다.
도 2는 일 실시예에 따른, 네트워크 코딩이 적용되지 않은 상태에서 데이터가 전송되는 네트워크 토폴로지를 나타낸다.
도 3은 일 실시예에 따른, 네트워크 코딩이 적용된 상태에서 데이터가 전송되는 네트워크 토폴로지를 나타낸다.
도 4는 일 실시예에 따른, 네트워크 형성 게임이 링크 형성 게임으로 분해되는 것을 나타낸다.
도 5는 일 실시예에 따른, 링크 형성 게임에 기반하여 분산된 네트워크 토폴로지를 디자인하는 알고리즘을 나타낸다.
도 6은 일 실시예에 따른, Nv=50일 때 노드 마다 아웃고잉 링크의 수를 나타낸 도면이다.
도 7은 일 실시예에 따른, 다양한 네트워크 사이즈에서 단위 링크형성비용에 대한 활성화 링크의 수를 나타낸 도면이다.
도 8은 일 실시예에 따른, 다양한 네트워크 사이즈에서 단위 링크형성비용에 대한 연결 실패 비율을 나타낸 도면이다.
도 9는 일 실시예에 따른, 네트워크 토폴로지에 포함된 노드의 수 및 단위 링크형성비용에 대한 네트워크 효용을 나타낸 도면이다.
도 10은 일 실시예에 따른, 3가지의 각기 다른 전략을 사용할 때 네트워크 토폴로지에 포함된 노드의 수에 대한 네트워크 효용을 나타낸 도면이다.
도 11은 일 실시예에 따른, 3가지의 각기 다른 전략을 사용할 때 네트워크 토폴로지에 포함된 노드의 수에 대한 탐색 공간을 나타낸 도면이다.1 is a diagram illustrating a distributed network topology according to an embodiment.
2 illustrates a network topology in which data is transmitted without network coding applied, according to an embodiment.
3 illustrates a network topology in which data is transmitted while network coding is applied, according to an embodiment.
4 illustrates that a network forming game is broken down into a link forming game, according to one embodiment.
5 shows an algorithm for designing a distributed network topology based on a link formation game, according to an embodiment.
6 is a diagram illustrating the number of outgoing links per node when Nv = 50 according to an embodiment.
7 is a diagram showing the number of active links for a unit link formation cost in various network sizes according to an embodiment.
8 is a diagram illustrating a connection failure ratio with respect to a unit link formation cost in various network sizes according to an embodiment.
9 is a diagram showing network utility for the number of nodes and unit link formation cost included in a network topology according to an embodiment.
FIG. 10 is a diagram illustrating network utility for the number of nodes included in a network topology when using three different strategies according to an embodiment.
11 is a diagram illustrating a search space for the number of nodes included in a network topology when using three different strategies according to an embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다. Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be implemented in various forms. Accordingly, the embodiments are not limited to a specific disclosure form, and the scope of the present specification includes modifications, equivalents, or substitutes included in the technical spirit.
제 1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소는 제 1 구성요소로도 명명될 수 있다.The terms first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. When an element is said to be "connected" to another element, it should be understood that other elements may be present, either directly connected to or connected to the other element.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as “include” or “have” are intended to designate the existence of a described feature, number, step, action, component, part, or combination thereof, one or more other features or numbers, It should be understood that the existence or addition possibilities of steps, actions, components, parts or combinations thereof are not excluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined herein. Does not.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른, 분산 네트워크 토폴로지를 나타낸 도면이다. 1 is a diagram illustrating a distributed network topology according to an embodiment.
스마트 폰, 태블릿 등과 같은 최신 모바일 기기는 향상된 센서 기능(예: 사용자 위치 감지, 대기 온도 및 습도 측정)을 갖춘 정교한 컴퓨팅을 수행할 수 있다. 또한 최근의 모바일 기기는 ECG 신호, 체온, 혈당(blood glucose), 심박수, 혈중 산소 포화도(blood oxygen saturation)와 같은 측정을 위한 센서(예를 들면, 의료 센서)를 장착할 수 있다. 모바일 기기가 대중화되면서, 모바일 기기를 연결하여 즉석 대규모 애드혹 네트워크(instantaneous large-scale ac-hoc network)는 형성될 수 있다. 네트워크를 구성하는 모바일 기기는 센서로부터 수집된 데이터를 전송할 수 있을 뿐만 아니라, 다른 모바일 기기로부터 수신한 데이터를 릴레이(relay)할 수 있다. Modern mobile devices, such as smartphones and tablets, can perform sophisticated computing with enhanced sensor capabilities (eg, user position sensing, atmospheric temperature and humidity measurements). In addition, recent mobile devices may be equipped with sensors (eg, medical sensors) for measurements such as ECG signals, body temperature, blood glucose, heart rate, and blood oxygen saturation. As mobile devices become popular, instantaneous large-scale ac-hoc networks can be formed by connecting mobile devices. The mobile device constituting the network can not only transmit data collected from sensors, but also relay data received from other mobile devices.
이때, 소스 노드에서 목적지 노드로 데이터를 전송할 때, 최적의 네트워크 토폴로지를 형성하는 것이 중요하다. 여기서, 모바일 기기는 소스 노드 또는 목적지 노드 일 수 있다. 또는 모바일 기기는 소스 노드로부터 데이터를 수신하는 특정 노드 일 수 있으며, 특정 노드는 수신한 데이터를 주변에 존재하는 이웃 노드에 전송하거나 목적지 노드에 전송할 수 있다. At this time, when transmitting data from the source node to the destination node, it is important to form an optimal network topology. Here, the mobile device may be a source node or a destination node. Alternatively, the mobile device may be a specific node that receives data from the source node, and the specific node may transmit the received data to a neighboring node or a destination node.
최적의 네트워크 토폴로지를 디자인할 때, 대규모 네트워크의 경우 높은 계산 복잡도가 요구된다. 모바일 기기에 의해 구성되는 네트워크 토폴로지는 다수의 노드로 구성될 수 있으므로, 노드에 의해 형성가능한 잠재적인 네트워크 토폴로지의 수는 기하급수적으로 증가할 수 있다. 여기서, 노드는 예를 들면, 스마트폰, 태블릿 또는 PDA와 같은 모바일 기기를 나타낼 수 있다. 따라서, 최적화 문제(예를 들어, 컨벡스(convex) 최적화 문제)로 공식화되지 않는 한, 최적의 네트워크 토폴로지를 최적화하는 것은 매우 높은 계산 복잡도를 요구한다. 또한, 모바일 기기가 이동할 경우, 동적인 요소를 고려하는 최적의 네트워크 토폴로지의 최적화는 보다 높은 계산 복잡도를 요구한다. When designing the optimal network topology, a large network requires high computational complexity. Since the network topology configured by the mobile device may be composed of multiple nodes, the number of potential network topologies that can be formed by the nodes can increase exponentially. Here, the node may represent, for example, a mobile device such as a smart phone, a tablet, or a PDA. Therefore, optimizing the optimal network topology requires very high computational complexity, unless formulated as an optimization problem (eg, a convex optimization problem). In addition, when a mobile device moves, optimization of an optimal network topology considering dynamic factors requires higher computational complexity.
네트워크 토폴로지에 포함된 소스 노드는 센서로부터 측정된 데이터를 이용하여 데이터를 생성하고, 생성된 데이터를 목적지 노드 또는 주변에 존재하는 특정 노드에 전송할 수 있다. 이때, 네트워크 토폴로지는 복수의 소스 노드 및/또는 목적지 노드를 포함할 수 있으므로, 멀티캐스트 플로우가 발생될 수 있다. 다만, 병목 현상(bottleneck problem)으로 인해 멀티캐스트 플로우 중에서 하나의 플로우만 한번에 전송될 수 있다. 따라서, 병목 현상을 피하기 위한 방법에 대해, 이하 도 2 및 도 3에서 자세히 설명한다. The source node included in the network topology may generate data using the measured data from the sensor, and transmit the generated data to a destination node or a specific node in the vicinity. At this time, since the network topology may include a plurality of source nodes and / or destination nodes, a multicast flow may be generated. However, due to a bottleneck problem, only one flow among multicast flows may be transmitted at a time. Therefore, a method for avoiding the bottleneck will be described in detail in FIGS. 2 and 3 below.
네트워크 토폴로지를 형성하기 위해, 네트워크 형성 게임이 적용될 수 있다. 이때, 네트워크 토폴로지를 구성하는 각각의 노드는 효용 함수의 거리단축이득(reward)및 링크형성비용(cost)를 고려하여 이웃 노드와의 연결을 결정할 수 있다. 예를 들면, 네트워크 토폴로지를 구성하는 각각의 노드는 거리단축이득 및 링크형성비용을 고려하여 아웃고잉 링크(out-going link)를 위한 액션(action)을 결정할 수 있다. To form a network topology, a network forming game can be applied. At this time, each node constituting the network topology may determine a connection with a neighbor node in consideration of a distance shortening gain and a link formation cost of the utility function. For example, each node constituting the network topology may determine an action for an out-going link in consideration of a distance shortening gain and a link formation cost.
여기서, 액션은 각각의 노드에서의 아웃고잉 링크가 활성인지 비활성인지 여부를 포함할 수 있다. 예를 들면, 액션이 1인 경우 아웃고잉 링크는 활성(active)을 나타낼 수 있으며, 액션이 0인 경우 아웃고잉 링크는 비활성(inactive)을 나타낼 수 있다. Here, the action may include whether the outgoing link at each node is active or inactive. For example, when the action is 1, the outgoing link may indicate active, and when the action is 0, the outgoing link may indicate inactive.
일 실시예에 따른, 도 1은 7개의 노드로 구성된 네트워크 토폴로지 를 나타낸다. 1 is a network topology composed of 7 nodes according to an embodiment. Indicates.
는 노드의 세트를 나타내며, 는 연결된 링크의 세트를 나타낸다. 예를 들면, 도 1에서 이고, 를 나타낼 수 있다. 또한, V4 노드에 대해서, V4 노드가 데이터를 수신하는 인커밍 링크는 로 나타낼 수 있고, V4 노드로부터 데이터가 전송되는 아웃고잉 링크는 로 나타낼 수 있다. 이때, 도 1에 나타난 모든 노드는 한번에 하나의 인커밍 링크만 가질 수 있다. Denotes a set of nodes, Indicates a set of linked links. For example, in FIG. 1 ego, Can represent In addition, for the V4 node, the incoming link through which the V4 node receives data is And an outgoing link through which data is transmitted from the V4 node Can be represented as At this time, all nodes shown in FIG. 1 may have only one incoming link at a time.
여기서, 인커밍 링크(incoming link)는 주변 노드로부터 특정 노드로 데이터가 전송되는 링크를 나타내며, 예를 들면, 주변의 노드로부터 V4 노드로 전송되는 인커밍 링크는 일 수 있다. 또한, 아웃고잉 링크(outgoing link)는 특정 노드로부터 주변 노드로 데이터가 전송되는 링크를 나타내며, 예를 들면, V4 노드로부터 주변 노드로 데이터가 전송되는 아웃고잉 링크는 일 수 있다. 이때, 인커밍 링크를 통해 전송되는 데이터는 인커밍 데이터(incoming data)일 수 있으며, 아웃고잉 링크를 통해 전송되는 데이터는 아웃고잉 데이터(outgoing data)일 수 있다. Here, the incoming link (incoming link) represents a link from which data is transmitted from a neighboring node to a specific node. For example, an incoming link transmitted from a neighboring node to a V4 node is Can be In addition, the outgoing link (outgoing link) represents a link through which data is transmitted from a specific node to a peripheral node. For example, an outgoing link through which data is transmitted from a V4 node to a peripheral node is Can be In this case, data transmitted through the incoming link may be incoming data, and data transmitted through the outgoing link may be outgoing data.
일 실시예에 따르면, 에 포함된 Vi 노드는 소스 노드, 목적지 노드, 소스 노드와 목적지 노드 사이에 위치하여 데이터를 릴레이 하는 특정 노드를 모두 포함할 수 있다. 에 포함된 노드의 수는 로 나타날 수 있다. 또한, 와 같이, vi의 목적지 노드는 노드의 세트에 포함될 수 있으며, 목적지 노드의 세트 는 와 같이 나타날 수 있다.According to one embodiment, The Vi node included in the source node, the destination node, may be located between the source node and the destination node may include all of the specific nodes to relay data. The number of nodes included in Can appear as In addition, As such, the destination node of vi may be included in the set of nodes, and the set of destination nodes The May appear as
이때, Vi 노드에서 Vj 노드로 연결된 링크는 와 같이 나타날 수 있으며, 이때, 인 경우 Vi 노드와 Vj 노드 간의 링크는 데이터를 전송할 수 있는 활성화 상태를 나타내고, 인 경우 Vi 노드 와 Vj 노드 간의 링크는 데이터를 전송할 수 없는 비활성화 상태를 나타낸다. At this time, the link from the Vi node to the Vj node is It may appear as In the case of, the link between the Vi node and the Vj node represents an active state capable of transmitting data, In this case, the link between the Vi node and the Vj node represents an inactive state in which data cannot be transmitted.
여기서, 연결된 링크 는 Vi 노드에서 Vj 노드로 연결된 것을 나타낸다. 즉, Vi 노드는 테일 노드(tail node)로서 연결된 링크가 시작되는 노드를 나타낼 수 있으며, Vj 노드는 헤드 노드(head node)로서 연결된 링크가 끝나는 노드를 나타낼 수 있다. 따라서, 와 달리, 는 테일 노드와 헤드 노드가 반대인 경우를 나타낸다. Here, linked link Indicates a connection from the Vi node to the Vj node. That is, the Vi node is a link connected as a tail node. May indicate a node from which the Vj node is connected as a head node. May indicate a node ending. therefore, Unlike, Indicates a case where the tail node and the head node are opposite.
는 Vj 노드의 인커밍 링크를 나타내거나 또는 Vi 노드의 아웃고잉 링크를 나타낼 수 있다. 또한, 연결된 링크의 세트 는 활성화된 링크만 포함할 수 있으며, 는 네트워크 토폴로지 의 활성화된 링크의 개수를 나타낼 수 있다. May indicate the incoming link of the Vj node or the outgoing link of the Vi node. Also, a set of linked links Can only contain active links, Network topology It may indicate the number of active links.
또한, 는 Vi 노드와 Vj 노드간의 유클리디안 거리를 나타낼 수 있다. 예를 들면, Vi 노드와 Vj 노드가 동일한 경우 를 나타내며, Vi 노드와 Vj 노드가 도달할 수 없는 경우 를 나타낼 수 있다. 이때, Vi 노드의 이웃 노드의 세트 는 로서 나타날 수 있으며, 는 연결 경계(connection boundary)를 나타낼 수 있다. 따라서, 인 경우, Vi 노드와 Vj 노드 간의 연결은 형성될 수 없으므로 =0 이며 또한 =0 이다. 그리고, 병목 현상을 피하기 위해, 는 활성화된 인커밍 링크를 가진 Vj 노드의 이웃 노드의 세트를 나타내며, 와 같이 노드는 한번에 하나의 인커밍 링크를 가질 수 있다. In addition, Can represent the Euclidean distance between the Vi node and the Vj node. For example, if the Vi node and the Vj node are the same And Vi node and Vj node cannot be reached Can represent At this time, the set of neighbor nodes of the Vi node The May appear as, May indicate a connection boundary. therefore, In the case of, since the connection between the Vi node and the Vj node cannot be formed, = 0 and also = 0. And, to avoid bottlenecks, Denotes a set of neighbor nodes of the Vj node with an active incoming link, As such, a node can have one incoming link at a time.
도 2는 일 실시예에 따른, 네트워크 코딩이 적용되지 않은 상태에서 데이터가 전송되는 네트워크 토폴로지를 나타낸다. 반면에, 도 3은 일 실시예에 따른, 네트워크 코딩이 적용된 상태에서 데이터가 전송되는 네트워크 토폴로지를 나타낸다. 2 illustrates a network topology in which data is transmitted without network coding applied, according to an embodiment. On the other hand, Figure 3 shows a network topology in which data is transmitted while network coding is applied, according to an embodiment.
여기서, 도 2와 도 3은 모두 도 1을 기반으로 한다. 즉, 도 1을 참고할 때, 도 2와 도 3에서 V4 노드의 이웃 노드는 V2, V3, V5, V6, V7 노드 일 수 있다. Here, FIGS. 2 and 3 are both based on FIG. 1. That is, referring to FIG. 1, neighbor nodes of the V4 node in FIGS. 2 and 3 may be V2, V3, V5, V6, and V7 nodes.
도 2에서 가 Vi 노드에서 수집된 데이터인 경우, 데이터는 특정 노드에서 타겟 노드로 전송될 수 있다. 여기서, 특정 노드는 소스 노드일 수 있으며, 또한 소스 노드와 목적지 노드 사이에 위치하여 데이터를 전송하는 노드 중에서 한 노드일 수 있다. 그리고 타겟 노드는 목적지 노드일 수 있으며, 또한 소스 노드와 목적지 노드 사이에 위치하며 데이터를 수신하는 이웃 노드 중의 한 노드일 수 있다. In Figure 2 When is a data collected from a Vi node, data may be transmitted from a specific node to a target node. Here, the specific node may be a source node, or may be a node located between a source node and a destination node to transmit data. In addition, the target node may be a destination node, or may be a node located between a source node and a destination node and among neighboring nodes receiving data.
는 연결된 링크 에서 전송되는 링크 종속적인 데이터(link dependent data)를 나타낼 수 있다. 네트워크 토폴로지 의 네트워크 상태는 상호 종속성 조건에서 로 표현될 수 있고, 는 아래의 수학식 1과 같이 정의될 수 있다. Linked link It may indicate link dependent data transmitted in (link dependent data). Network topology The network state of Can be expressed as Can be defined as in
도 2에서, 일 경우, 를 만족할 수 있지만, 그렇지 않을 경우 일 수 있다. In Figure 2, If it is, Can be satisfied, but if not Can be
그러나, 네트워크 토폴로지 에 네트워크 코딩이 적용될 경우, 네트워크의 상태는 로서 표현될 수 있고, 는 아래의 수학식 2와 같이 정의될 수 있다. However, the network topology If network coding is applied to the Can be expressed as Can be defined as
여기서, 는 Vi 노드에서 노드로 전송되는 네트워크 코딩된 패킷(또는 데이터)을 나타낼 수 있다. 이때, 는 헤더로서의 글로벌 코딩 계수 의 벡터이고 페이로드로서의 일 수 있다. 는 아래의 수학식 3과 같이 정의될 수 있다. 여기서 연산은 갈로이스 필드(GF)에서의 합 및 곱을 나타낼 수 있다. here, In the Vi node It may represent a network coded packet (or data) transmitted to a node. At this time, Is a global coding factor as a header Is a vector of and as a payload Can be Can be defined as in
따라서, 네트워크 코딩 함수 는 노드로 전송되는 모든 패킷을 조합하여 하나의 단일 패킷 를 생성할 수 있다. 그러므로 네트워크 코딩은 수학식 1에서 링크 종속성을 제거할 수 있으며, 링크 종속적인 데이터 를 링크 독립적인 데이터(link independent data) 로 변환할 수 있다. 이와 같이 네트워크 코딩 함수 가 적용된 일 실시예는 도 3과 같을 수 있다.Therefore, the network coding function The Combines all packets sent to a node, resulting in a single packet Can generate Therefore, network coding can remove link dependency in
도 4는 일 실시예에 따른, 네트워크 형성 게임이 링크 형성 게임으로 분해되는 것을 나타낸다. 4 illustrates that a network forming game is broken down into a link forming game, according to one embodiment.
네트워크 형성 게임(network formation game) 에 포함된 노드 간의 연결은 엣지-디스조인트 서브그래프 에 의한 2 노드 간의 독립적인 게임으로 분해될 수 있다. 엣지-디스조인트 서브그래프에 의한 2 노드 간의 연결은, 링크 형성 게임에 의한 2 노드 간의 연결로 분해될 수 있다.Network formation game Connections between nodes included in the edge-disjoint subgraph It can be decomposed into an independent game between 2 nodes. Edge-disjoint subgraph The connection between 2 nodes by, link formation game It can be decomposed into a connection between 2 nodes.
여기서, 엣지-디스조인트 서브그래프에 의한 2 노드 간의 연결은 목적지 노드의 인덱스 세트 D에 의해 여러 목적지 노드를 향하는 링크를 포함할 수 있다. 예를 들면, 도 4에서 확인가능하듯이 V4 노드와 V5 노드 간의 연결은 목적지 노드로서 V6 노드와 V7 노드를 향하는 링크를 포함할 수 있다.Here, the edge-disjoint subgraph The connection between the two nodes by may include links to various destination nodes by index set D of the destination node. For example, as can be seen in FIG. 4, the connection between the V4 node and the V5 node may include a link to the V6 node and the V7 node as the destination node.
반면에, 링크 형성 게임 에 의한 2 노드 간의 연결은 하나의 목적지 노드를 향하는 링크를 포함할 수 있다. 예를 들면, 도 4에서 확인가능하듯이 V4 노드와 V5 노드 간의 연결은 목적지 노드로서 V7 노드를 향하는 링크를 포함할 수 있다. On the other hand, link formation game The connection between the two nodes by may include a link to one destination node. For example, as can be seen in FIG. 4, the connection between the V4 node and the V5 node may include a link to the V7 node as a destination node.
<네트워크 형성 게임 ><Network formation game >
노드의 세트 , 목적지 노드의 인덱스의 세트 일 때, 네트워크 형성 게임은 아래의 수학식 4와 같이 표현될 수 있다. 여기서 로서, Vi 노드의 목적지 노드를 위한 인덱스 벡터를 나타낼 수 있다. Set of nodes , The set of indexes of the destination node In this case, the network formation game may be expressed as
여기서, 는 플레이어(즉, 노드)의 유한한 세트를 나타내며,는 Vi 노드의 액션의 유한한 세트를 나타내며, 는 Vi 노드의 효용 함수를 나타낸다. here, Denotes a finite set of players (i.e. nodes), Denotes a finite set of actions of the Vi node, Denotes the utility function of the Vi node.
이때, Vi 노드는 노드의 세트 에 포함되며, 이웃 노드 Vj와 링크 형성하는 결정을 하는 네트워크 형성 게임의 플레이어로서 고려될 수 있다. 그리고, Vi 노드의 액션은 와 같이 표현될 수 있고, 이는 플레이어의 이웃 노드를 향한 아웃고잉 링크의 활성화 또는 비활성화를 나타낼 수 있다.At this time, the Vi node is a set of nodes And may be considered as a player in a network forming game that makes a decision to link with a neighbor node Vj. And the action of Vi node It may be expressed as, which may indicate activation or deactivation of the outgoing link toward the player's neighbor node.
Vi 노드의 효용 함수는 아래의 수학식 5와 같이 표현될 수 있다. 이때, 는 Vi 노드를 제외한 플레이어(즉, 노드)의 액션의 세트를 나타낼 수 있다. The utility function of the Vi node can be expressed as
수학식 5에서 플레이어 Vi의 액션 에 대한 거리단축이득(reward)는 아래의 수학식 6과 같이 표현될 수 있다. 이때, 는 액션 에 의해 결정될 수 있다. Player Vi's action in equation (5) The distance reduction gain for can be expressed as
수학식 6에서 거리단축이득(reward)은 액션 에 의해서 목적지 노드를 향하는 거리 감소(distance reduction)를 나타낼 수 있다. 여기서, 는 Vi 노드에서 Vj 노드로 향하는 거리의 벡터를 나타낼 수 있으며, 는 거리의 벡터 에 반비례(inversely proportional)할 수 있다.In
예를 들면, 노드 Vi에서 목적지 노드 Vd로 데이터를 전송할 때, 이웃 노드 Vk와 Vj중에서 목적지 노드 Vd에 보다 거리가 가까운 Vj 노드로 데이터가 전송될 수 있다. 즉, Vi 노드에서 Vj 노드로 데이터가 전송되고, Vj 노드에서 Vd 노드로 데이터가 전송될 수 있다. For example, when transmitting data from the node Vi to the destination node Vd, data may be transmitted from a neighbor node Vk and Vj to a Vj node that is closer to the destination node Vd. That is, data may be transmitted from the Vi node to the Vj node, and data may be transmitted from the Vj node to the Vd node.
위 수학식 5의 선택된 액션 에서, 링크형성비용(cost)은 아래의 수학식 7과 같이 표현될 수 있다. 여기서, 는 링크 형성하기 위한 단위 링크형성비용(unit cost)를 나타낼 수 있다. Selected Action in
수학식 7의 는 노드 Vi가 형성하는 아웃고잉 링크를 위해 필요한 총 지출(total payment)을 나타낼 수 있다. 여기서, 총 지출은 아웃고잉 링크를 통해 데이터가 전송될 때 필요한 링크형성비용을 나타낼 수 있다. Equation (7) Can represent the total payment required for the outgoing link formed by node Vi. Here, the total expenditure may represent a link formation cost required when data is transmitted through the outgoing link.
예를 들면, 인 경우 는 일 수 있다. 다른 예를 들면, Vi 노드와 Vj 노드 간의 링크를 모두 형성한 경우, 일 수 있다. 또 다른 예를 들면, 인 경우, 일 수 있다. For example, If The Can be For another example, when all the links between the Vi node and the Vj node are formed, Can be Another example: If it is, Can be
일 실시예에 따르면, 네트워크 형성 게임은 복수의 링크 형성 게임으로 분해될 수 있다. 따라서, 네트워크 코딩에 기초하는 링크 형성 게임에 의할 경우, 계산 복잡도를 낮출 수 있다.According to an embodiment, the network forming game may be decomposed into a plurality of link forming games. Therefore, in the case of a link formation game based on network coding, computational complexity can be reduced.
<네트워크 코딩><Network coding>
는 네트워크 토폴로지 를 구성하는 엣지-디스조인트 서브그래프(edge-disjoint subgraphs)일 수 있다. 이때, 엣지-디스조인트 서브그래프 는 일 때,를 만족하며, 및 를 만족할 수 있다. Network topology It may be edge-disjoint subgraphs constituting (edge). At this time, the edge-disjoint subgraph The when, Satisfying, And Can be satisfied.
즉, 엣지-디스조인트 서브그래프의 합집합(union)으로 네트워크 토폴로지 를 나타낼 수 있다. 목적 노드 인덱스 세트 D를 갖는 엣지-디스조인트 서브그래프 을 위한 네트워크 형성 게임은 아래의 수학식 8과 같이 표현될 수 있다. In other words, the network topology as the union of the edge-disjoint subgraph. Can represent Edge-disjoint subgraph with target node index set D The network formation game for can be expressed as
여기서, 네트워크 형성 게임을 수행하는 플레이어들에 의해 결정되는 액션들은 네트워크 토폴로지에서 활성화(active) 및 비활성화(inactive)를 나타내는 링크의 합집합(union)으로 표현될 수 있다. 따라서, 복수개의 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임들을 동시에 고려하는 것을 표현하는 곱셉연산(product operation)은 아래의 수학식 9와 같이 표현되며, 이는 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임의 결과 네트워크 상태들의 합집합으로서 고려될 수 있다. Here, actions determined by players performing a network formation game may be expressed as a union of links representing active and inactive in a network topology. Therefore, the product operation representing the simultaneous consideration of network forming games for a plurality of edge-disjoint subgraphs is expressed as
일 실시예에 따르면, 아래의 수학식 10과 같이, 네트워크 코딩에 기초하여 네트워크 토폴로지를 위한 네트워크 형성 게임 은 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임로 분해될 수 있다. According to an embodiment, as shown in
만약 네트워크 코딩이 적용되지 않을 경우, 아래의 수학식 11과 같을 수 있다. If network coding is not applied, it may be as shown in
그러나 네트워크 코딩이 적용될 경우, 수학식 11은 수학식 12와 같이 표현될 수 있다. 따라서, 수학식 11의 링크 상호간 종속성(inter-link dependency)이 수학식 12에서는 제거될 수 있다.However, when network coding is applied,
다른 일 실시예에 따르면, 수학식 11은 복수의 목적지 노드를 갖는 네트워크 형성 게임 이 하나의 목적지 노드 Vd를 갖는 링크 형성 게임로 분해될 수 있음을 나타낼 수 있다. 따라서, 네트워크 코딩에 기초하여 멀티캐스트 플로우(multicast flow)를 갖는 네트워크 형성 게임은 유니캐스트 플로우를 갖는 독립적인 링크 형성 게임으로 분해될 수 있다. According to another embodiment,
가 노드 Vi의 가상의 서브 노드(virtual subnode)이며, Vd는 목적지 노드를 나타낼 수 있다. 목적지 노드 Vd를 갖는 의 가상의 서브 링크는 로 표시될 수 있다. 목적지 노드 Vd를 위한 가상의 서브그래프는 로 표현될 수 있다. 이때, 가상의 서브그래프 는 일 때,를 만족하며, 및 를 만족할 수 있다. 여기서, 가상의 서브그래프는 엣지-디스조인트 서브그래프(Edge-disjoint subgraphs)일 수 있다. Is a virtual subnode of node Vi, and Vd can represent a destination node. With destination node Vd The virtual sublink of It may be indicated by. The hypothetical subgraph for the destination node Vd Can be expressed as At this time, a virtual subgraph The when, Satisfying, And Can be satisfied. Here, the virtual subgraphs may be edge-disjoint subgraphs.
이때, 아래의 수학식 13과 같이 네트워크 코딩에 기초하여 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임는 링크 형성 게임 으로 분해될 수 있다.At this time, the network forming game for the edge-disjoint subgraph based on network coding as shown in
따라서, 수학식 13및 수학식 12에 기초하여 아래의 수학식 14가 유도될 수 있다. Accordingly,
그러므로 멀티캐스트 플로우를 갖는 엣지-디스조인트 서브그래프를 위한 네트워크 형성 게임 는 유니캐스트 플로우를 갖는 링크 형성 게임 를 갖는 독립적인 링크로 분해될 수 있다. Hence, a network-forming game for edge-disjoint subgraphs with multicast flows. Is a link formation game with unicast flow It can be disassembled into independent links with.
<링크 형성 게임 및 분산된 네트워크 토폴로지의 설계><Design of link formation game and distributed network topology>
링크 형성 게임은 유니캐스트 플로우를 갖는 2 플레이어(노드)로 구성될 수 있다. 이때, 링크 형성 게임은 아래의 수학식 15와 같이 표현될 수 있다. 여기서, 로서 두 플레이어(노드)들의 집합을 나타내며, 로서 플레이어 Vi의 가능한 액션 집합을 나타낼 수 있다. 예를 들면, ai=1인 경우 플레이어 Vi는 활성화 링크를 가지면, ai=0인 경우 플레이어 Vi는 비활성화 링크를 가질 수 있다. The link formation game may consist of 2 players (nodes) having a unicast flow. At this time, the link formation game may be expressed as
이때, 효용 함수(utility function)는 아래의 수학식 16과 같이 표현될 수 있다. 여기서, 는 거리를 나타내는 에 반비례(inversely proportional)할 수 있다.In this case, the utility function may be expressed as Equation 16 below. here, Indicating the distance Can be inversely proportional to.
링크 형성 게임에서, 효용 함수(utility function)의 링크형성비용(cost)는 아래의 수학식 17과 같이 표현될 수 있다. In the link formation game, the link formation cost of the utility function may be expressed as Equation 17 below.
링크 형성 게임을 위한 Nash equilibrium(NE)는 아래의 수학식 18과 같이 표현될 수 있다. 여기서, 및 는 NE를 만족하는 Vi와 Vj의 액션을 각각 나타낸다. 예를 들면, 링크 형성 게임에 대한 ai가 0 또는 1을 갖는 경우, 은 ai중에서 NE을 만족하는 액션으로서 '0' 또는 '1' 또는 '0, 1' 둘 다일 수 있다. The Nash equilibrium (NE) for the link formation game can be expressed as Equation 18 below. here, And Denotes actions of Vi and Vj satisfying NE, respectively. For example, if a i for a link formation game has 0 or 1, Is an action that satisfies NE among a i , and may be both '0' or '1' or '0, 1'.
복수개의 NE가 존재하는 경우, 링크 형성 게임은 로 표현되는 복수개의 NE를 가질 수 있다. 복수개의 NE중에서 선택된 NE는 Vi 노드 및 Vj 노드의 아웃고잉 링크를 활성화(active) 및 비활성화(inactive)하는 최적화 결정을 가능하도록 할 수 있다. If there are multiple NEs, the link formation game It may have a plurality of NE represented by. The NE selected from the plurality of NEs may enable optimization decisions to activate (active) and inactive (active) the outgoing links of the Vi node and the Vj node.
도 5는 일 실시예에 따른, 링크 형성 게임에 기반하여 분산된 네트워크 토폴로지를 디자인하는 알고리즘을 나타낸다.5 shows an algorithm for designing a distributed network topology based on a link formation game, according to an embodiment.
알고리즘은 다음의 순서로 진행될 수 있다. The algorithm can proceed in the following order.
일 때, 노드의 세트 , 이웃 노드의 세트 , 목적지 노드의 인덱스 세트 , 효용 함수 일 수 있다. If is, set of nodes , Set of neighbor nodes , The index set of the destination node , Utility function Can be
모든 연결된 링크 상태를 초기화()할 수 있다. 이후 노드의 세트 를 유니캐스트 플로우를 가지는 2개의 플레이어(노드)로 분해하고, 현재의 링크의 액션을 임시 저장할 수 있다. Reset all connected link states ( )can do. Set of nodes after Decomposes into 2 players (nodes) with unicast flow, and the action of the current link Can be temporarily stored.
분해된 각각의 플레이어, 예를 들면 ,에 대해 링크 형성 게임을 만족하는 및 를 식별할 수 있다. 여기서, 는 아래의 수학식 19를 만족할 수 있다. 이때, 는 Vi 노드에서 Vj 노드로의 연결된 링크()일 수 있으며, 는 Vj 노드에서 Vi 노드로의 연결된 링크()일 수 있다. Each disassembled player, for example About to satisfy the link formation game, And Can be identified. here, Can satisfy Equation 19 below. At this time, Is the connected link from the Vi node to the Vj node ( ), Is the linked link from the Vj node to the Vi node ( ).
식별된 및 는 NE을 만족하는 것으로서, 알고리즘에 의해 적어도 하나의 및 는 식별될 수 있다. 또한, 복수개의 및 가 식별된 경우, 최적화 및 는 선택될 수 있다. 및 에 의해 의 링크는 결정될 수 있다.Identified And Is satisfied with NE, at least one by algorithm And Can be identified. Also, multiple And If is identified, optimization And Can be selected. And By The link of can be determined.
일 실시예에 따르면, 수학식 19을 만족하는 를 임시 저장된 와 비교할 수 있다. 는 제1 링크상태를 나타낼 수 있고, 는 제2 링크상태를 나타낼 수 있다. 이때, 제1 링크상태는 현재의 링크상태일 수 있고, 제2 링크상태는 검출된 링크상태일 수 있다. According to one embodiment, Equation 19 is satisfied Temporarily stored Can be compared with Can indicate the first link state, May indicate the second link state. At this time, the first link state may be the current link state, and the second link state may be the detected link state.
이때, 임시 저장된 제1 링크상태와 검출된 제2 링크상태를 비교한 결과, 제2 링크상태와 제1 링크상태 가 동일하지 않은 경우 임시 저장된 를 대신하여 로 변경하여 저장할 수 있다. 이때, 제2 링크상태에 기초하여, 다시 제3의 링크상태를 검출할 수 있다. 마찬가지로, 제2 링크상태와 제3의 링크상태를 비교하는 과정을 반복할 수 있다. At this time, as a result of comparing the temporarily stored first link state with the detected second link state, the second link state And first link status Temporarily stored if is not the same On behalf of You can save it by changing to. At this time, the second link state Based on this, the third link state can be detected again. Similarly, the process of comparing the second link state and the third link state can be repeated.
또는, 임시 저장된 제1 링크상태와 검출된 제2 링크상태를 비교한 결과, 제2 링크상태와 제1 링크상태 가 동일한 경우, 검출된 제2 링크상태에 기초하여 네트워크 토폴로지를 구성하는 노드 간의 링크를 결정할 수 있다. Alternatively, as a result of comparing the temporarily stored first link state with the detected second link state, the second link state And first link status If is the same, the link between nodes constituting the network topology may be determined based on the detected second link state.
또한, 네트워크 토폴로지를 구성하는 복수의 노드에 대해 각각 링크 형성 게임을 만족하는 및 를 식별하여, 노드 간의 링크를 결정될 수 있다. 이로 인해, 복수의 노드로 구성되는 네트워크 토폴로지는 형성될 수 있다.In addition, each of the plurality of nodes constituting the network topology satisfies the link formation game. And By identifying the link between the nodes can be determined. Due to this, a network topology composed of a plurality of nodes can be formed.
도 6은 일 실시예에 따른, Nv=50일 때 노드 마다 아웃고잉 링크의 수를 나타낸 도면이다. 6 is a diagram illustrating the number of outgoing links per node when Nv = 50 according to an embodiment.
반지름 R의 셀 안에 Nv의 노드가 있다고 가장할 때, Vi 노드는 데이터를 목적지 노드로 전송할 수 있다. 이때, 연결 경계(connection boundary)는 로 설정될 수 있으며, Vi 노드의 이웃 노드는 로서 결정될 수 있다. 여기서, 각각의 노드는 도 5의 알고리즘에 기초하여 이웃 노드를 향한 아웃고잉 링크를 결정할 수 있다. Assuming that there is a node of Nv in the cell of radius R, the Vi node can send data to the destination node. At this time, the connection boundary (connection boundary) Can be set to, the neighbor node of the Vi node It can be determined as. Here, each node may determine an outgoing link to a neighbor node based on the algorithm of FIG. 5.
이때, 수학식 16의 는 아래의 수학식 20와 같이 표현될 수 있으며, 수학식 20에 표현된 대로 노드의 위치가 고려될 수 있다.At this time, the equation (16) May be expressed as in
는 에 반비례하는 관계로서, 일 때 일 수 있다. 따라서, Vi 노드가 목적지 노드에 가까이 있는 Vj 노드로 아웃고잉 링크를 연결할 경우, 양의 거리단축이득(positive rewards)가 Vi 노드에 주어질 수 있다. The Inversely proportional to, when Can be Therefore, when the Vi node connects the outgoing link to the Vj node close to the destination node, positive rewards may be given to the Vi node.
일 실시예에 따르면, 소스 노드에서 목적지 노드로 데이터가 전송되는 네트워크 토폴로지를 형성할 때, 목적지 노드에서 멀리 있는 노드의 아웃고잉 링크보다 목적지 노드에서 가까이 있는 노드의 아웃고잉 링크가 보다 중요할 수 있다. 이는 목적지 노드에서 보다 먼 곳에 위치한 노드는 경로 다양성(path diversity)을 가질 확률이 보다 높기 때문이다. According to an embodiment, when forming a network topology in which data is transmitted from a source node to a destination node, an outgoing link of a node closer to the destination node may be more important than an outgoing link of a node remote from the destination node. . This is because a node located farther from the destination node has a higher probability of having path diversity.
예를 들면, 2개의 노드 페어(node pairs) 및 를 고려할 때, 2개의 노드 페어는 ⅰ) 다음 수학식 21과 같이 각각의 노드 페어에서 노드 간의 거리가 동일한 경우이고 ⅱ) 다음 수학식 22과 같이 다른 위치일 수 있다. For example, two node pairs And Considering, the two node pairs may be ⅰ) the distance between nodes in each node pair is the same as in the following Equation 21, and ii) may be different positions as in the following Equation 22.
이러한 경우, 노드 간의 수학식 20에 따른 차이는 아래의 수학식 23과 같다.In this case, the difference according to
그러므로, 2개의 노드 페어 중에서 보다 가 목적지 노드에 보다 가까우며 보다 많은 거리단축이득(reward)를 가질 수 있음을 알 수 있다. 이때, 효용 함수는 아래의 수학식 24와 같이 표현될 수 있다.Therefore, of the two node pairs see It can be seen that is closer to the destination node and can have more distance reduction. At this time, the utility function may be expressed as Equation 24 below.
그러므로, 형성된 네트워크 토폴로지의 성능(performance)을 평가하기 위한 네트워크 유틸리티는 아래의 수학식 25과 같이 표현될 수 있다. Therefore, the network utility for evaluating the performance of the formed network topology can be expressed as
이는 모든 목적지 노드로부터의 총 거리단축이득과 네트워크 토폴로지를 구성하는 링크를 형성하는데 필요한 총 링크형성비용을 포함할 수 있다. 그러므로, 네트워크 유틸리티는 링크 형성하는 링크형성비용을 줄이는 노드로부터 획득되는 거리단축이득이 어느 정도인지를 측정하는데 사용될 수 있다. This may include the total shortening gain from all destination nodes and the total link formation cost required to form the links constituting the network topology. Therefore, the network utility can be used to measure the distance reduction gain obtained from the node, which reduces the link formation cost of link formation.
도 6은 연결 경계 R=10이며, 1000번의 독립적인 실험의 평균값을 나타낸 그래프로서, 목적지 노드는 2개()인 경우를 전제로 할 수 있다. 6 is a connection boundary R = 10, and is a graph showing the average value of 1000 independent experiments, with two destination nodes ( ).
그래프(610, NEAR)은 목적지 노드에 가까운 경우이며, 그래프(620, MID)는 목적지 노드에 중간 정도 위치한 경우이며, 그래프(630, FAR)는 목적지 노드에 멀리 위치한 경우를 나타낼 수 있다. The
그래프 (610~630)에서 확인가능하듯이, 목적지 노드에 가까이 있을수록, 보다 많은 아웃고잉 링크를 가짐을 확인할 수 있다. 이는, 효용 함수에 있는 는 소스 노드와 목적지 노드 간의 거리를 고려하기 때문이다. As can be seen from the
도 7은 일 실시예에 따른, 다양한 네트워크 사이즈에서 단위 링크형성비용에 대한 활성화 링크의 수를 나타낸 도면이다.7 is a diagram showing the number of active links for a unit link formation cost in various network sizes according to an embodiment.
그래프(710)은 네트워크 사이즈 Nv=10인 경우, 그래프(720)은 네트워크 사이즈 Nv=20인 경우, 그래프(730)은 네트워크 사이즈 Nv=30인 경우, 그래프(740)은 네트워크 사이즈 Nv=40인 경우, 그래프(750)은 네트워크 사이즈 Nv=50인 경우를 나타낼 수 있다. When the
도 7을 통해, 네트워크 사이즈의 수가 증가할수록, 네트워크 토폴로지에 포함된 활성화 링크의 수도 증가하는 것을 확인할 수 있다. 또한, 동일한 네트워크 사이즈에서도 더 작은 활성화 링크의 수를 포함할 경우, 단위 링크형성비용이 증가함을 확인할 수 있다. 7, it can be seen that as the number of network sizes increases, the number of activation links included in the network topology also increases. In addition, it can be seen that when the number of smaller active links is included even in the same network size, the unit link formation cost increases.
도 8은 일 실시예에 따른, 다양한 네트워크 사이즈에서 단위 링크형성비용에 대한 연결 실패 비율을 나타낸 도면이다. 8 is a diagram illustrating a connection failure ratio with respect to a unit link formation cost in various network sizes according to an embodiment.
네트워크 토폴로지에 포함된 활성화 링크의 수는 소스 노드에서 목적지 노드로의 성공적인 연결에 중요한 영향을 미칠 수 있다. 이때, 활성화 링크의 수가 성공적인 연결에 미치는 영향을 평가하기 위해, 연결 실패 비율(connection failure ratio)를 측정할 수 있다.The number of active links included in the network topology can have a significant impact on a successful connection from the source node to the destination node. At this time, in order to evaluate the effect of the number of active links on a successful connection, a connection failure ratio may be measured.
단위 링크형성비용이 0.8~1인 경우, 네트워크 토폴로지의 연결 실패 비율은 매우 가파르게 증가함으로써, 데이터 전송이 성공적으로 수행되지 않을 가능성이 높음을 확인할 수 있다. When the unit link formation cost is 0.8 to 1, the connection failure rate of the network topology is very steeply increased, so it can be confirmed that there is a high possibility that data transmission is not successfully performed.
도 9는 일 실시예에 따른, 네트워크 토폴로지에 포함된 노드의 수 및 단위 링크형성비용에 대한 네트워크 효용을 나타낸 도면이다. 9 is a diagram showing network utility for the number of nodes and unit link formation cost included in a network topology according to an embodiment.
네트워크 토폴로지에 포함된 노드의 수 가 증가하거나 또는 단위 링크형성비용 이 감소하는 경우, 네트워크 유틸리티는 증가할 수 있다. 이는 보다 많은 거리단축이득이 획득되거나 또는 링크 형성하는 링크형성비용이 감소될수록 네트워크 유틸리티가 증가하기 때문이다. 예를 들면, 단위 링크형성비용 =1인 경우, 어떠한 링크도 형성되지 않아 네트워크 유틸리티는 0일 수 있다. Number of nodes in the network topology Increases or the cost of unit link formation If this decreases, network utilities can increase. This is because network utility increases as more distance reduction gain is obtained or link formation cost of link formation is reduced. For example, unit link formation cost If = 1, no link is formed and the network utility may be 0.
도 10은 일 실시예에 따른, 3가지의 각기 다른 전략을 사용할 때 네트워크 토폴로지에 포함된 노드의 수에 대한 네트워크 효용을 나타낸 도면이다. 도 11은 일 실시예에 따른, 3가지의 각기 다른 전략을 사용할 때 네트워크 토폴로지에 포함된 노드의 수에 대한 탐색 공간을 나타낸 도면이다.FIG. 10 is a diagram illustrating network utility for the number of nodes included in a network topology when using three different strategies according to an embodiment. 11 is a diagram illustrating a search space for the number of nodes included in a network topology when using three different strategies according to an embodiment.
도 5의 알고리즘의 성능은 네트워크 유틸리티 및 계산 복잡성 관점에서 다른 2개의 전략과 비교하여 평가될 수 있다. 2개의 전략은 다음과 같다:The performance of the algorithm of FIG. 5 can be evaluated in comparison with two other strategies in terms of network utility and computational complexity. The two strategies are:
1. Non-NC Centralized 전략1. Non-NC Centralized Strategy
네트워크 코딩이 적용되지 않아, 링크 상호간 종속성을 만족하는 전략으로서 다음의 수학식 26와 같이 표현될 수 있다.Since network coding is not applied, it can be expressed as Equation 26 below as a strategy that satisfies inter-link dependency.
2. NC Centralized 전략2. NC Centralized Strategy
네트워크 코딩이 적용되고, 링크 상호간 종속성이 무시되는 전략으로서 다음의 수학식 27와 같이 표현될 수 있다. 여기서, NC-Centralized 전략은 모든 플레이어가 가질 수 있는 액션의 경우의 수를 모두 고려하여, 네트워크 토폴로지의 전체 효용 함수가 최대화 되는 액션을 선택하는 방법을 나타낸다. 그러나, Proposed 전략은 각각의 플레이어가 선택할 수 있는 액션들 중에서, 플레이어 자신의 효용 함수가 최대화될 수 있는 액션을 선택하는 방법을 나타낸다. As a strategy in which network coding is applied and dependencies between links are ignored, it can be expressed as Equation 27 below. Here, the NC-Centralized strategy represents a method of selecting an action in which the entire utility function of the network topology is maximized, taking into account all the number of action cases that all players can have. However, the proposed strategy represents a method of selecting an action from which each player's own utility function can be maximized, from among actions selectable by each player.
NC-Centralized 전략은 가장 높은 네트워크 유틸리티를 가지며, Non-NC Centralized 전략은 가장 낮은 네트워크 유틸리티를 가지고 있다. The NC-Centralized strategy has the highest network utility, and the Non-NC Centralized strategy has the lowest network utility.
Non-NC Centralized 전략은 링크 상호간 종속성을 제약 조건으로 고려하여 최적화 해야 하므로, 최적의 네트워크 토폴로지는 복수 개의 아웃고잉 링크를 만드는 다른 네트워크 코딩 기반 전략보다 높은 거리단축이득을 얻을 수 없다.Since the Non-NC Centralized strategy needs to be optimized by considering link interdependencies as constraints, the optimal network topology cannot achieve a higher shortening gain than other network coding-based strategies that create multiple outgoing links.
각각의 전략의 계산 복잡성은 링크 형성을 위해 이용가능한 액션의 사이즈에 의해 결정되는 탐색 공간의 크기에 의해 측정될 수 있다. The computational complexity of each strategy can be measured by the size of the search space determined by the size of the action available for link formation.
Non-NC Centralized 전략에서, 각각의 노드는 아웃고잉 링크를 최대로 1개 만듦으로써, 노드는 많으면 Nv개의 링크 형성 선택을 가질 수 있다. 따라서, 네트워크 토폴로지에 Nv의 노드가 있으므로, 최대로 선택 가능한 수는 일 수 있다.In the Non-NC Centralized strategy, each node creates at most one outgoing link, so if there are many nodes, Nv links can be selected. Therefore, since there are Nv nodes in the network topology, the maximum selectable number is Can be
NC-Centralized 전략에서, 개의 이웃 노드가 링크를 만들 수 있고 각각의 링크는 활성화 비활성화 2가지 선택을 가지고 있으므로, 각각의 노드는 최대로 선택을 가질 수 있다. 따라서, 네트워크 토폴로지에 Nv의 노드가 있으므로, 최대로 선택가능한 수는 일 수 있다. In the NC-Centralized strategy, Since two neighbor nodes can create a link, and each link has two choices of active and inactive, each node is maximized. You can have a choice. Therefore, since there are Nv nodes in the network topology, the maximum selectable number is Can be
도 5의 proposed 알고리즘 전략에서, 최대로 개의 이웃 노드 페어가 있을 수 있고 각각의 노드 페어는 4개의 액션 선택을 가질 수 있다. 따라서, 각각의 노드 페어는 액션을 독립적으로 선택할 수 있으므로, 탐색 공간(search space)의 크기는 일 수 있다. 여기서, 탐색 공간은 네트워크 토폴로지의 전체 효용 함수가 최대화 되는 액션을 선택할 때, 모든 플레이어가 가질 수 있는 액션조합의 경우의 수에 대응할 수 있다. In the proposed algorithm strategy of Figure 5, to the maximum There may be four neighbor node pairs, and each node pair may have four action selections. Therefore, each node pair can independently select an action, so the size of the search space Can be Here, the search space may correspond to the number of action combinations that all players can have when selecting an action in which the entire utility function of the network topology is maximized.
NC-Centralized 전략은 계산 복잡도가 높으므로 실제로 적용되기 어려울 수 있다. 그러나 도 5의 proposed 알고리즘의 경우 계산 복잡도는 로서 대규모의 네트워크에 실제로 적용될 수 있다. The NC-Centralized strategy can be difficult to apply in practice due to its high computational complexity. However, in the case of the proposed algorithm of Figure 5, the computational complexity is As it can be applied to large-scale networks.
이와 같은 계산 복잡도는 아래의 표 1에 기재되어 있으며, 이는 도 11을 통해서도 확인될 수 있다.The calculation complexity is described in Table 1 below, which can also be confirmed through FIG. 11.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments include, for example, a processor, controller, arithmetic logic unit (ALU), digital signal processor (micro signal processor), microcomputer, field programmable gate (FPGA). It can be implemented using one or more general purpose computers or special purpose computers, such as arrays, programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may run an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Or even if replaced or substituted by equivalents, appropriate results can be achieved
Claims (12)
상기 분해된 서브그래프들 각각에 대해 효용 함수를 이용한 링크 형성 게임을 수행함으로써 상기 서브그래프들 각각에 존재하는 두 개의 노드들 간 링크를 결정하는 단계; 및;
상기 결정된 서브그래프들 각각에 대한 두 개의 노드들 간의 링크에 기초하여 상기 복수의 노드들로 구성된 전체 네트워크의 토폴리지를 형성하는 단계
를 포함하는 네트워크 토폴로지 형성 방법.Decomposing the entire network composed of a plurality of nodes having a multicast flow into a plurality of subgraphs pairing two adjacent nodes having a unicast flow;
Determining a link between two nodes present in each of the subgraphs by performing a link formation game using a utility function for each of the decomposed subgraphs; And;
Forming a topology of the entire network composed of the plurality of nodes based on a link between two nodes for each of the determined subgraphs
Network topology forming method comprising a.
상기 분해하는 단계는,
목적지 노드로 전송되는 모든 패킷을 조합하여 링크 독립적인 하나의 단일 패킷을 생성하는 네트워크 코딩을 통해 상기 전체 네트워크를 복수의 서브그래프들로 분해하는 네트워크 토폴로지 형성 방법.According to claim 1,
The decomposing step,
A method of forming a network topology that decomposes the entire network into a plurality of subgraphs through network coding that combines all packets transmitted to a destination node to generate a single link-independent single packet.
상기 분해하는 단계는,
상기 두 개의 노드들 각각은 목적지 노드에 따라 가상의 서브 노드들을 포함하고, 동일한 목적지 노드를 가지는 가상의 서브 노드들끼리 서브그래프를 구성하는 네트워크 토폴로지 형성 방법.According to claim 1,
The decomposing step,
Each of the two nodes includes virtual sub-nodes according to a destination node, and a method of forming a network topology comprising virtual sub-nodes having the same destination node.
상기 효용 함수는,
상기 전체 네트워크를 구성하는 복수의 노드들 각각에서 아웃고잉 링크를 형성하는데 필요한 링크형성비용(cost)을 고려하는 네트워크 토폴로지 형성 방법.According to claim 1,
The utility function,
A method of forming a network topology considering a link formation cost required to form an outgoing link in each of a plurality of nodes constituting the entire network.
상기 링크형성비용은,
상기 전체 네트워크를 구성하는 복수의 노드들 중 인접한 두 개의 노드 간의 일방향 링크가 연결된 경우 보다 상기 인접한 두 개의 노드 간의 쌍방향 링크가 연결된 경우 감소하는 네트워크 토폴로지 형성 방법.According to claim 4,
The link formation cost,
A method of forming a network topology that decreases when a two-way link between two adjacent nodes is connected than when a one-way link between two adjacent nodes is connected among a plurality of nodes constituting the entire network.
상기 서브그래프들 각각에 존재하는 두 개의 노드들 간 링크를 결정하는 단계는,
모든 링크 상태를 초기화하고, 현재의 제1 링크 상태를 저장하는 단계;
상기 분해된 서브그래프들 각각에 대해 링크 형성 게임을 수행하여 네트워크 토폴리지의 성능을 평가하기 위한 유틸리티 값을 만족하는 제2 링크 상태를 검출하는 단계;
상기 저장된 제1 링크 상태와 상기 검출된 제2 링크 상태를 비교한 결과에 기초하여 최종적인 두 개의 노드들 간 링크를 식별하는 단계
를 포함하는 네트워크 토폴로지 형성 방법.According to claim 1,
Determining a link between two nodes present in each of the subgraphs,
Initializing all link states and storing the current first link state;
Performing a link formation game for each of the decomposed subgraphs to detect a second link state that satisfies a utility value for evaluating the performance of a network topology;
Identifying a link between two final nodes based on a result of comparing the stored first link state with the detected second link state.
Network topology forming method comprising a.
상기 최종적인 두 개의 노드들 간 링크를 식별하는 단계는,
상기 저장된 제1 링크 상태와 상기 검출된 제2 링크 상태의 비교 결과 동일하면, 상기 검출된 제2 링크 상태를 상기 최종적인 두 개의 노드들 간 링크로 결정하는 네트워크 토폴로지 형성 방법.The method of claim 6,
The step of identifying the link between the final two nodes is:
If the result of comparing the stored first link state and the detected second link state is the same, the network topology forming method determines the detected second link state as a link between the final two nodes.
상기 최종적인 두 개의 노드들 간 링크를 식별하는 단계는,
상기 저장된 제1 링크 상태와 상기 검출된 제2 링크 상태의 비교 결과 동일하지 않으면, 상기 검출된 제2 링크 상태를 상기 현재의 제1 링크 상태로 변경하여 저장하고, 상기 제2 링크 상태를 재검출함으로써 상기 최종적인 두 개의 노드들 간 링크를 결정하는 네트워크 토폴로지 형성 방법.The method of claim 6,
The step of identifying the link between the final two nodes is:
If the comparison between the stored first link state and the detected second link state is not the same, the detected second link state is changed to the current first link state and stored, and the second link state is detected again Thereby determining the link between the two final nodes.
상기 서브그래프들 각각에 존재하는 두 개의 노드들 간 링크를 결정하는 단계는,
내쉬 평형(Nash Equilibrium, NE)을 통해 상기 두 개의 노드들 각각의 아웃고잉 링크의 활성 여부를 결정하는 네트워크 토폴로지 형성 방법.
The method of claim 6,
Determining a link between two nodes present in each of the subgraphs,
A method of forming a network topology for determining whether an outgoing link of each of the two nodes is active through Nash Equilibrium (NE).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180052349A KR102107294B1 (en) | 2018-05-08 | 2018-05-08 | Netwrok topology formation for mobile sensor networks based on network coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180052349A KR102107294B1 (en) | 2018-05-08 | 2018-05-08 | Netwrok topology formation for mobile sensor networks based on network coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190128326A KR20190128326A (en) | 2019-11-18 |
KR102107294B1 true KR102107294B1 (en) | 2020-05-06 |
Family
ID=68727754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180052349A KR102107294B1 (en) | 2018-05-08 | 2018-05-08 | Netwrok topology formation for mobile sensor networks based on network coding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102107294B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080013465A1 (en) | 2002-12-11 | 2008-01-17 | Nippon Telegraph And Telephone Corp. | Multicast communication path calculation method and multicast communication path calculation apparatus |
US20100082838A1 (en) * | 2008-09-30 | 2010-04-01 | Microsoft Corporation | Isp-friendly rate allocation for p2p applications |
US8310957B1 (en) | 2010-03-09 | 2012-11-13 | Juniper Networks, Inc. | Minimum-cost spanning trees of unicast tunnels for multicast distribution |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101507602B1 (en) * | 2013-07-05 | 2015-04-07 | 경희대학교 산학협력단 | Method for optimal relay node selection and wireless body area network system the method applied thereto |
-
2018
- 2018-05-08 KR KR1020180052349A patent/KR102107294B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080013465A1 (en) | 2002-12-11 | 2008-01-17 | Nippon Telegraph And Telephone Corp. | Multicast communication path calculation method and multicast communication path calculation apparatus |
US20100082838A1 (en) * | 2008-09-30 | 2010-04-01 | Microsoft Corporation | Isp-friendly rate allocation for p2p applications |
US8310957B1 (en) | 2010-03-09 | 2012-11-13 | Juniper Networks, Inc. | Minimum-cost spanning trees of unicast tunnels for multicast distribution |
Non-Patent Citations (1)
Title |
---|
Minhae Kwon 외 1명, "Distributed network formation strategy for network coding based wireless networks.", IEEE Signal Processing Letters 24.4 (2017): 432-436.* |
Also Published As
Publication number | Publication date |
---|---|
KR20190128326A (en) | 2019-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100310257A1 (en) | Systems and Methods for Transmitting Signals in Communication Networks | |
US10257076B2 (en) | Apparatus and method transmitting packets | |
Hu et al. | TMSE: A topology modification strategy to enhance the robustness of scale-free wireless sensor networks | |
TW202119398A (en) | Network system and decision method | |
Carrabs et al. | Exact and heuristic approaches for the maximum lifetime problem in sensor networks with coverage and connectivity constraints | |
US20080147881A1 (en) | System and method for placing computation inside a network | |
Yalçın et al. | A mobile sink path planning for wireless sensor networks based on priority‐ordered dependent nonparametric trees | |
Wenxing et al. | Design of multi-energy-space-based energy-efficient algorithm in novel software-defined wireless sensor networks | |
KR102107294B1 (en) | Netwrok topology formation for mobile sensor networks based on network coding | |
Affane et al. | Energy enhancement of routing protocol with hidden Markov model in wireless sensor networks | |
Mangla et al. | An energy-efficient and secure framework for IoMT: An application of smart cities | |
Rana et al. | Energy-efficient routing for wireless sensor network using genetic algorithm and particle swarm optimisation techniques | |
US9876708B2 (en) | Network-on-chip computing systems with wireless interconnects | |
Biabani et al. | REFIT: Robustness enhancement against cascading failure in IoT networks | |
CN112073983A (en) | Wireless data center network topology optimization method and system based on flow prediction | |
JP7119699B2 (en) | Route selection device, route selection method and program | |
US20120023260A1 (en) | Diagonally enhanced concentrated hypercube topology | |
Prabha et al. | Building optimal topologies for real-time wireless sensor networks | |
Nwadiugwu et al. | Neural-Network Assisted Packet Accelerators for Internet of Things Network Systems | |
Wang et al. | Keeping desired qos by a partial coverage algorithm for cluster-based wireless sensor networks | |
Sert et al. | Fuzzy processing in surveillance wireless sensor networks | |
KR20200096102A (en) | Processing computational models in parallel | |
Juneja | Energy Adaptive and Max-Min based BFS Model for Route Optimization in Sensor Network | |
US8774195B2 (en) | Using probabilistic values for routing data packets on a data center network | |
CN113806270B (en) | Path planning method and device for rapidIO network, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |