KR20190128326A - 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
- KR20190128326A KR20190128326A KR1020180052349A KR20180052349A KR20190128326A KR 20190128326 A KR20190128326 A KR 20190128326A KR 1020180052349 A KR1020180052349 A KR 1020180052349A KR 20180052349 A KR20180052349 A KR 20180052349A KR 20190128326 A KR20190128326 A KR 20190128326A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- link
- network topology
- data
- nodes
- Prior art date
Links
- 230000015572 biosynthetic process Effects 0.000 title claims description 49
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000009467 reduction Effects 0.000 claims description 17
- 230000007423 decrease Effects 0.000 claims description 5
- 238000004904 shortening Methods 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 28
- 230000009471 action Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 239000008280 blood Substances 0.000 description 2
- 210000004369 blood Anatomy 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005259 measurement Methods 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
- 230000004913 activation Effects 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 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
- 238000002474 experimental method Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- -1 heart rate Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
- 238000007493 shaping process Methods 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
Description
아래 실시예들은 네트워크 코딩에 기반하는 모바일 센서 네트워크를 위한 네트워크 토폴로지 형성 방법에 관한 것으로, 보다 구체적으로는 거리단축이득(reward) 및 링크형성비용(cost)를 고려하는 효용 함수를 이용한 네트워크 토폴로지 형성 방법에 관한 것이다. The following embodiments relate to a network topology forming method for a mobile sensor network based on network coding, and more specifically, to a network topology forming method using a utility function considering a distance reduction gain and a link forming cost. It is about.
스마트 폰, 태블릿 등과 같은 최신 모바일 기기는 향상된 센서 기능을 갖춘 정교한 컴퓨팅 및 네트워킹 플랫폼이다. 모바일 기기가 대중화됨에 따라 이제는 모바일 기기 간의 연결을 통해 즉각적인 대규모 애드혹 네트워크를 형성 할 수 있게 되었다. 따라서 모바일 기기는 센서에서 수집한 데이터를 전송하고 다른 장치의 데이터를 중계함으로써 네트워크에 참여하고 있으므로 최적화 할 수 있는 최적의 네트워크 토폴로지를 구성하는 것이 중요해 지고 있다.Modern mobile devices, such as smartphones and tablets, are sophisticated computing and networking platforms with advanced sensor capabilities. With the popularity of mobile devices, it is now possible to form large ad hoc networks immediately through the connection between mobile devices. Therefore, since mobile devices participate in the network by transmitting data collected from sensors and relaying data from other devices, it is important to construct 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, bottlenecks may occur due to the multicast flow.
따라서, 계산 복잡도를 낮추면서 병목 현상이 발생되지 않는, 네트워크 토폴로지를 형성하는 방법이 필요할 수 있다.Accordingly, there may be a need for a method of forming a network topology that reduces computational complexity and does not cause bottlenecks.
일 실시예에 따르면, 거리단축이득과 링크형성비용을 고려하는 효용 함수를 이용하여 각각의 노드에서 다른 노드와의 링크를 결정함으로써 네트워크 토폴로지 형성 방법을 제공할 수 있다.According to an embodiment, a network topology forming method may be provided by determining a link from one node to another node using a utility function that considers distance reduction gain and 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, there is provided a network topology forming method 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; The network topology forming method may include selecting a neighbor node to connect a link with the specific node based on the utility function.
상기 효용 함수는, 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리(Euclidean distance)에 따라 결정되는 거리단축이득(reward)를 고려하는 네트워크 토폴로지 형성 방법일 수 있다.The utility function may be a network topology forming method that considers a distance reduction gain determined according to an Euclidean distance from the specific node to a destination node.
상기 거리단축이득은, 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리가 감소될수록 증가하거나, 또는 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리가 증가할수록 감소하는 네트워크 토폴로지 형성 방법일 수 있다.The shortening gain may be a network topology forming method 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 network topology forming method that considers a link forming 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 a specific node and a neighbor node is connected than when the one-way link between the specific node and a neighbor node is connected.
상기 네트워크 코딩은, 상기 특정 노드로 전송된 모든 패킷을 조합하여 하나의 패킷을 생성함으로써, 링크 독립적인 데이터를 생성하는 네트워크 토폴로지 형성 방법일 수 있다.The network coding may be a network topology forming method of generating link independent data by generating one packet by combining all packets transmitted to the specific node.
일 실시예에 따르면, 분산 네트워크 토폴로지에서 특정 노드와 링크로 연결된 복수의 이웃 노드들로부터 인커밍 데이터를 수신하는 단계; 상기 복수의 이웃 노드들로부터 수신한 인커밍 데이터를 네트워크 코딩하여 하나의 아웃고잉 데이터를 생성하는 단계; 상기 인커밍 데이터를 전송한 상기 이웃 노드들보다 목적지 노드에 가까이 위치한 이웃 노드에 상기 아웃고잉 데이터를 전송하는 단계; 를 포함하고, 상기 분산 네트워크 토폴로지는, 상기 특정 노드와 상기 특정 노드 주변에 존재하여 상기 아웃고잉 데이터를 수신하는 상기 복수의 이웃 노드 각각에 대한 효용 함수를 결정하고, 상기 결정된 효용 함수에 기초하여 상기 아웃고잉 데이터를 전송할 상기 이웃 노드를 선택함으로써 결정되는 데이터 전송 방법일 수 있다.According to one embodiment, receiving incoming data from a plurality of neighboring nodes linked with a specific node in a distributed network topology; Generating one outgoing data by network coding the incoming data received from the plurality of neighbor nodes; Transmitting the outgoing data to a neighboring node located closer to a destination node than the neighboring nodes which transmitted the incoming data; The distributed network topology includes: determining a utility function for each of the specific node and the plurality of neighboring nodes present around the particular node to receive the outgoing data, and based on the determined utility function; The data transmission method may be determined by selecting the neighbor node to transmit outgoing data.
상기 효용 함수는, 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리(Euclidean distance)에 따라 결정되는 거리단축이득(reward)를 고려하는 데이터 전송 방법일 수 있다.The utility function may be a data transmission method considering a distance reduction gain determined according to an Euclidean distance from the specific node to a destination node.
상기 효용 함수는, 상기 특정 노드에서 아웃고잉 링크를 형성하는데 필요한 링크형성비용(cost)을 고려하는 데이터 전송 방법일 수 있다.The utility function may be a data transmission method that considers a link formation cost required to form an outgoing link at the specific node.
상기 네트워크 코딩은, 상기 특정 노드로 전송된 모든 인커밍 데이터를 조합하여 하나의 아웃고잉 데이터를 생성함으로써, 링크 독립적인 데이터를 생성하는 데이터 전송 방법일 수 있다.The network coding may be a data transmission method of generating link independent data by generating one outgoing data by combining all incoming data transmitted to the specific node.
일 실시예에 따르면, 분산 네트워크 토폴로지에 대한 네트워크 토폴로지 형성 방법을 수행하는 노드에 있어서, 상기 노드는 프로세서를 포함하고, 상기 프로세서는, 특정 노드들의 주변에 존재하는 복수의 이웃 노드들 각각에 대한 효용 함수를 결정하고, 상기 효용 함수에 기초하여 상기 특정 노드와 링크를 연결할 이웃 노드를 선택하는 노드일 수 있다.According to an embodiment, in a node performing a method for forming a network topology for a distributed network topology, the node includes a processor, and the processor is useful for each of a plurality of neighboring nodes that exist in the vicinity of specific nodes. The node 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 for transmitting data using a distributed network topology, the node includes a processor, the processor being connected to a plurality of neighbor nodes that are linked with a specific node in the distributed network topology. A neighboring node that receives incoming data, network-codes incoming data received from the plurality of neighboring nodes, generates one outgoing data, and is located closer to a destination node than the neighboring nodes that have transmitted the incoming data. And transmit the outgoing data to the network, wherein the distributed network topology determines a utility function for the particular node and each of the plurality of neighboring nodes that exist around the particular node and receive the outgoing data, and determine the determined utility. Send the outgoing data based on a function It may be a node determined by selecting the neighbor node to be.
일 실시예에 따르면, 네트워크 토폴로지 형성 방법을 제공하는 것으로서, 거리단축이득과 링크형성비용을 고려하는 효용 함수를 이용하여 각각의 노드에서 다른 노드와의 링크를 결정하여 네트워크 토폴로지를 형성하는 방법을 제공할 수 있다.According to an embodiment, there is provided a method of forming a network topology, and a method of forming a network topology by determining a link with another node at each node by using a utility function that considers distance reduction gain and link formation cost. can do.
일 실시예에 따르면, 데이터 전송 방법을 제공하는 것으로서, 네트워크 코딩에 의해 링크 독립적인 데이터(link independent data)를 생성함으로써 형성된 네트워크 토폴로지를 이용하여 데이터를 전송하는 방법을 제공할 수 있다. According to one embodiment, as a data transmission method, 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, according to an embodiment.
3 illustrates a network topology in which data is transmitted in a state where 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 an embodiment.
5 illustrates an algorithm for designing a distributed network topology based on a link formation game, according to one embodiment.
6 is a diagram illustrating the number of outgoing links per node when Nv = 50 according to an embodiment.
7 is a diagram illustrating the number of active links for unit link formation costs in various network sizes according to an embodiment.
8 is a diagram illustrating a connection failure rate with respect to a unit link formation cost in various network sizes according to an embodiment.
FIG. 9 is a diagram illustrating a network utility of the number of nodes included in a network topology and a unit link formation cost according to an embodiment.
10 is a diagram illustrating network utility of the number of nodes included in a network topology when using three different strategies, according to one embodiment.
11 illustrates a search space for the number of nodes included in a network topology when using three different strategies, according to one embodiment.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다. Specific structural or functional descriptions of the embodiments are disclosed for purposes of illustration only, and may be practiced in various forms. Accordingly, the embodiments are not limited to the specific disclosure, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea.
제 1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소는 제 1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but such terms should be interpreted only for the purpose of distinguishing one component from another component. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. When a component is referred to as being "connected" to another component, it should be understood that there may be a direct connection or connection to that other component, but there may be other components in between.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but includes one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, exemplary 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 advanced sensor capabilities such as user location sensing, air temperature and humidity measurement. Modern mobile devices can also 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 devices constituting the network may not only transmit data collected from the 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 a source node, and the specific node may transmit the received data to neighboring nodes that exist around or to a destination node.
최적의 네트워크 토폴로지를 디자인할 때, 대규모 네트워크의 경우 높은 계산 복잡도가 요구된다. 모바일 기기에 의해 구성되는 네트워크 토폴로지는 다수의 노드로 구성될 수 있으므로, 노드에 의해 형성가능한 잠재적인 네트워크 토폴로지의 수는 기하급수적으로 증가할 수 있다. 여기서, 노드는 예를 들면, 스마트폰, 태블릿 또는 PDA와 같은 모바일 기기를 나타낼 수 있다. 따라서, 최적화 문제(예를 들어, 컨벡스(convex) 최적화 문제)로 공식화되지 않는 한, 최적의 네트워크 토폴로지를 최적화하는 것은 매우 높은 계산 복잡도를 요구한다. 또한, 모바일 기기가 이동할 경우, 동적인 요소를 고려하는 최적의 네트워크 토폴로지의 최적화는 보다 높은 계산 복잡도를 요구한다. When designing optimal network topologies, high computational complexity is required for large networks. Since the network topology configured by the mobile device can consist of multiple nodes, the number of potential network topologies that can be formed by the nodes can increase exponentially. Here, the node may represent a mobile device such as, for example, a smartphone, a tablet or a PDA. Thus, optimizing an optimal network topology requires very high computational complexity, unless formulated as an optimization problem (e.g., a convex optimization problem). Also, as mobile devices move, optimization of optimal network topologies that take dynamic factors into account requires higher computational complexity.
네트워크 토폴로지에 포함된 소스 노드는 센서로부터 측정된 데이터를 이용하여 데이터를 생성하고, 생성된 데이터를 목적지 노드 또는 주변에 존재하는 특정 노드에 전송할 수 있다. 이때, 네트워크 토폴로지는 복수의 소스 노드 및/또는 목적지 노드를 포함할 수 있으므로, 멀티캐스트 플로우가 발생될 수 있다. 다만, 병목 현상(bottleneck problem)으로 인해 멀티캐스트 플로우 중에서 하나의 플로우만 한번에 전송될 수 있다. 따라서, 병목 현상을 피하기 위한 방법에 대해, 이하 도 2 및 도 3에서 자세히 설명한다. The source node included in the network topology may generate data using the data measured from the sensor, and transmit the generated data to a destination node or a specific node present in the vicinity. In this case, since the network topology may include a plurality of source nodes and / or destination nodes, a multicast flow may occur. However, due to a bottleneck problem, only one flow of the multicast flow may be transmitted at a time. Therefore, a method for avoiding bottlenecks will be described in detail with reference to FIGS. 2 and 3 below.
네트워크 토폴로지를 형성하기 위해, 네트워크 형성 게임이 적용될 수 있다. 이때, 네트워크 토폴로지를 구성하는 각각의 노드는 효용 함수의 거리단축이득(reward)및 링크형성비용(cost)를 고려하여 이웃 노드와의 연결을 결정할 수 있다. 예를 들면, 네트워크 토폴로지를 구성하는 각각의 노드는 거리단축이득 및 링크형성비용을 고려하여 아웃고잉 링크(out-going link)를 위한 액션(action)을 결정할 수 있다. To form a network topology, a network formation game can be applied. In this case, each node constituting the network topology may determine the connection with the neighboring node in consideration of the distance reduction gain and the 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 distance reduction gain and 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 consisting of seven nodes, according to one embodiment. Indicates.
는 노드의 세트를 나타내며, 는 연결된 링크의 세트를 나타낸다. 예를 들면, 도 1에서 이고, 를 나타낼 수 있다. 또한, V4 노드에 대해서, V4 노드가 데이터를 수신하는 인커밍 링크는 로 나타낼 수 있고, V4 노드로부터 데이터가 전송되는 아웃고잉 링크는 로 나타낼 수 있다. 이때, 도 1에 나타난 모든 노드는 한번에 하나의 인커밍 링크만 가질 수 있다. Represents a set of nodes, Represents a set of connected links. For example, in FIG. ego, Can be represented. In addition, for a V4 node, an incoming link through which the V4 node receives data is The outgoing link through which data is transmitted from the V4 node It 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)일 수 있다. Herein, an incoming link refers to a link through which data is transmitted from a neighbor node to a specific node. For example, an incoming link transmitted from a neighbor node to a V4 node may be Can be. In addition, an outgoing link refers to 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 may be used. Can be. In this case, the data transmitted through the incoming link may be incoming data, and the data transmitted through the outgoing link may be outgoing data.
일 실시예에 따르면, 에 포함된 Vi 노드는 소스 노드, 목적지 노드, 소스 노드와 목적지 노드 사이에 위치하여 데이터를 릴레이 하는 특정 노드를 모두 포함할 수 있다. 에 포함된 노드의 수는 로 나타날 수 있다. 또한, 와 같이, vi의 목적지 노드는 노드의 세트에 포함될 수 있으며, 목적지 노드의 세트 는 와 같이 나타날 수 있다.According to one embodiment, The Vi node included in may include a source node, a destination node, and a specific node located between the source node and the destination node to relay data. The number of nodes in the May appear. Also, As such, the destination node of vi can be included in the set of nodes, and the set of destination nodes Is May appear as:
이때, Vi 노드에서 Vj 노드로 연결된 링크는 와 같이 나타날 수 있으며, 이때, 인 경우 Vi 노드와 Vj 노드 간의 링크는 데이터를 전송할 수 있는 활성화 상태를 나타내고, 인 경우 Vi 노드 와 Vj 노드 간의 링크는 데이터를 전송할 수 없는 비활성화 상태를 나타낸다. In this case, the link from the Vi node to the Vj node May appear as follows, , The link between the Vi node and the Vj node indicates an active state that can transmit data. In this case, the link between the Vi node and the Vj node indicates an inactive state in which data cannot be transmitted.
여기서, 연결된 링크 는 Vi 노드에서 Vj 노드로 연결된 것을 나타낸다. 즉, Vi 노드는 테일 노드(tail node)로서 연결된 링크가 시작되는 노드를 나타낼 수 있으며, Vj 노드는 헤드 노드(head node)로서 연결된 링크가 끝나는 노드를 나타낼 수 있다. 따라서, 와 달리, 는 테일 노드와 헤드 노드가 반대인 경우를 나타낸다. Where the linked link Indicates the connection from the Vi node to the Vj node. That is, the Vi node is a link connected as a tail node. Can represent the node from which the Vj node is connected as a head node It can represent a node ending with. therefore, Unlike, Indicates the case where the tail node and the head node are opposite.
는 Vj 노드의 인커밍 링크를 나타내거나 또는 Vi 노드의 아웃고잉 링크를 나타낼 수 있다. 또한, 연결된 링크의 세트 는 활성화된 링크만 포함할 수 있으며, 는 네트워크 토폴로지 의 활성화된 링크의 개수를 나타낼 수 있다. May represent an incoming link of the Vj node or an outgoing link of the Vi node. Also, a set of connected links Can only contain active links. Network topology It may indicate the number of active links of the.
또한, 는 Vi 노드와 Vj 노드간의 유클리디안 거리를 나타낼 수 있다. 예를 들면, Vi 노드와 Vj 노드가 동일한 경우 를 나타내며, Vi 노드와 Vj 노드가 도달할 수 없는 경우 를 나타낼 수 있다. 이때, Vi 노드의 이웃 노드의 세트 는 로서 나타날 수 있으며, 는 연결 경계(connection boundary)를 나타낼 수 있다. 따라서, 인 경우, Vi 노드와 Vj 노드 간의 연결은 형성될 수 없으므로 =0 이며 또한 =0 이다. 그리고, 병목 현상을 피하기 위해, 는 활성화된 인커밍 링크를 가진 Vj 노드의 이웃 노드의 세트를 나타내며, 와 같이 노드는 한번에 하나의 인커밍 링크를 가질 수 있다. Also, Denotes the Euclidean distance between the Vi node and the Vj node. For example, if the Vi node and the Vj node are the same If the Vi and Vj nodes are unreachable Can be represented. Where the set of neighboring nodes of the Vi node Is Can appear as May represent a connection boundary. therefore, If, the connection between the Vi node and the Vj node cannot be formed. = 0 and also = 0 And to avoid bottlenecks, Represents a set of neighboring nodes of the Vj node with an active incoming link, As such, a node may have one incoming link at a time.
도 2는 일 실시예에 따른, 네트워크 코딩이 적용되지 않은 상태에서 데이터가 전송되는 네트워크 토폴로지를 나타낸다. 반면에, 도 3은 일 실시예에 따른, 네트워크 코딩이 적용된 상태에서 데이터가 전송되는 네트워크 토폴로지를 나타낸다. 2 illustrates a network topology in which data is transmitted without network coding, according to an embodiment. On the other hand, FIG. 3 illustrates a network topology in which data is transmitted in a state where network coding is applied, according to an embodiment.
여기서, 도 2와 도 3은 모두 도 1을 기반으로 한다. 즉, 도 1을 참고할 때, 도 2와 도 3에서 V4 노드의 이웃 노드는 V2, V3, V5, V6, V7 노드 일 수 있다. 2 and 3 are both based on FIG. 1. That is, referring to FIG. 1, neighboring nodes of the node V4 in FIGS. 2 and 3 may be nodes V2, V3, V5, V6, and V7.
도 2에서 가 Vi 노드에서 수집된 데이터인 경우, 데이터는 특정 노드에서 타겟 노드로 전송될 수 있다. 여기서, 특정 노드는 소스 노드일 수 있으며, 또한 소스 노드와 목적지 노드 사이에 위치하여 데이터를 전송하는 노드 중에서 한 노드일 수 있다. 그리고 타겟 노드는 목적지 노드일 수 있으며, 또한 소스 노드와 목적지 노드 사이에 위치하며 데이터를 수신하는 이웃 노드 중의 한 노드일 수 있다. In Figure 2 If data is collected at the Vi node, the data may be transmitted from the specific node to the target node. Herein, the specific node may be a source node or may be one node among nodes that are located between the source node and the destination node to transmit data. In addition, the target node may be a destination node, and may be one of neighbor nodes located between the source node and the destination node and receiving data.
는 연결된 링크 에서 전송되는 링크 종속적인 데이터(link dependent data)를 나타낼 수 있다. 네트워크 토폴로지 의 네트워크 상태는 상호 종속성 조건에서 로 표현될 수 있고, 는 아래의 수학식 1과 같이 정의될 수 있다. Is a linked link It may indicate link dependent data transmitted from. Network topology Network state in interdependence conditions Can be expressed as May be defined as in
도 2에서, 일 경우, 를 만족할 수 있지만, 그렇지 않을 경우 일 수 있다. In Figure 2, If, Can be satisfied, but if not Can be.
그러나, 네트워크 토폴로지 에 네트워크 코딩이 적용될 경우, 네트워크의 상태는 로서 표현될 수 있고, 는 아래의 수학식 2와 같이 정의될 수 있다. However, the network topology Network coding is applied to the network, Can be expressed as May be defined as in
여기서, 는 Vi 노드에서 노드로 전송되는 네트워크 코딩된 패킷(또는 데이터)을 나타낼 수 있다. 이때, 는 헤더로서의 글로벌 코딩 계수 의 벡터이고 페이로드로서의 일 수 있다. 는 아래의 수학식 3과 같이 정의될 수 있다. 여기서 연산은 갈로이스 필드(GF)에서의 합 및 곱을 나타낼 수 있다. here, On the Vi node It may represent a network coded packet (or data) transmitted to a node. At this time, Is the global coding coefficient as a header As a vector and payload Can be. May be defined as in
따라서, 네트워크 코딩 함수 는 노드로 전송되는 모든 패킷을 조합하여 하나의 단일 패킷 를 생성할 수 있다. 그러므로 네트워크 코딩은 수학식 1에서 링크 종속성을 제거할 수 있으며, 링크 종속적인 데이터 를 링크 독립적인 데이터(link independent data) 로 변환할 수 있다. 이와 같이 네트워크 코딩 함수 가 적용된 일 실시예는 도 3과 같을 수 있다.Thus, network coding function Is One single packet, combining all packets sent to the node Can be generated. Therefore, network coding can remove the link dependency in
도 4는 일 실시예에 따른, 네트워크 형성 게임이 링크 형성 게임으로 분해되는 것을 나타낸다. 4 illustrates that a network forming game is broken down into a link forming game according to an embodiment.
네트워크 형성 게임(network formation game) 에 포함된 노드 간의 연결은 엣지-디스조인트 서브그래프 에 의한 2 노드 간의 독립적인 게임으로 분해될 수 있다. 엣지-디스조인트 서브그래프에 의한 2 노드 간의 연결은, 링크 형성 게임에 의한 2 노드 간의 연결로 분해될 수 있다.Network formation game The connections between nodes contained in the edge-disjoint subgraph Can be broken down into independent games between 2 nodes. Edge to Disjoint Subgraph Connection between 2 nodes by, link formation game Can be broken down into a connection between two nodes.
여기서, 엣지-디스조인트 서브그래프에 의한 2 노드 간의 연결은 목적지 노드의 인덱스 세트 D에 의해 여러 목적지 노드를 향하는 링크를 포함할 수 있다. 예를 들면, 도 4에서 확인가능하듯이 V4 노드와 V5 노드 간의 연결은 목적지 노드로서 V6 노드와 V7 노드를 향하는 링크를 포함할 수 있다.Where edge-disconnect joint subgraph The connection between the two nodes by may include links to several destination nodes by the index set D of the destination node. For example, as can be seen in FIG. 4, the connection between node V4 and node V5 may include a link to the node V6 and node V7 as a destination node.
반면에, 링크 형성 게임 에 의한 2 노드 간의 연결은 하나의 목적지 노드를 향하는 링크를 포함할 수 있다. 예를 들면, 도 4에서 확인가능하듯이 V4 노드와 V5 노드 간의 연결은 목적지 노드로서 V7 노드를 향하는 링크를 포함할 수 있다. On the other hand, link formation games The connection between two nodes by may include a link towards one destination node. For example, as can be seen in FIG. 4, the connection between node V4 and node V5 may include a link to node V7 as a destination node.
<네트워크 형성 게임 >Network formation game >
노드의 세트 , 목적지 노드의 인덱스의 세트 일 때, 네트워크 형성 게임은 아래의 수학식 4와 같이 표현될 수 있다. 여기서 로서, Vi 노드의 목적지 노드를 위한 인덱스 벡터를 나타낼 수 있다. Set of nodes The set of indices of the destination node In this case, the network formation game may be expressed as
여기서, 는 플레이어(즉, 노드)의 유한한 세트를 나타내며,는 Vi 노드의 액션의 유한한 세트를 나타내며, 는 Vi 노드의 효용 함수를 나타낸다. here, Represents a finite set of players (ie nodes), Represents a finite set of actions of the Vi node, Denotes the utility function of the Vi node.
이때, Vi 노드는 노드의 세트 에 포함되며, 이웃 노드 Vj와 링크 형성하는 결정을 하는 네트워크 형성 게임의 플레이어로서 고려될 수 있다. 그리고, Vi 노드의 액션은 와 같이 표현될 수 있고, 이는 플레이어의 이웃 노드를 향한 아웃고잉 링크의 활성화 또는 비활성화를 나타낼 수 있다.Where the Vi node is a set of nodes It can be considered as a player of a network-forming game, which is included in, and makes a decision to link with a neighbor node Vj. And the action of the Vi node It can be expressed as, which may indicate the activation or deactivation of the outgoing link towards the player's neighbor node.
Vi 노드의 효용 함수는 아래의 수학식 5와 같이 표현될 수 있다. 이때, 는 Vi 노드를 제외한 플레이어(즉, 노드)의 액션의 세트를 나타낼 수 있다. The utility function of the Vi node can be expressed as
수학식 5에서 플레이어 Vi의 액션 에 대한 거리단축이득(reward)는 아래의 수학식 6과 같이 표현될 수 있다. 이때, 는 액션 에 의해 결정될 수 있다. Action of Player Vi in
수학식 6에서 거리단축이득(reward)은 액션 에 의해서 목적지 노드를 향하는 거리 감소(distance reduction)를 나타낼 수 있다. 여기서, 는 Vi 노드에서 Vj 노드로 향하는 거리의 벡터를 나타낼 수 있으며, 는 거리의 벡터 에 반비례(inversely proportional)할 수 있다.In
예를 들면, 노드 Vi에서 목적지 노드 Vd로 데이터를 전송할 때, 이웃 노드 Vk와 Vj중에서 목적지 노드 Vd에 보다 거리가 가까운 Vj 노드로 데이터가 전송될 수 있다. 즉, Vi 노드에서 Vj 노드로 데이터가 전송되고, Vj 노드에서 Vd 노드로 데이터가 전송될 수 있다. For example, when data is transmitted from the node Vi to the destination node Vd, the data may be transmitted from the neighbor node Vk and Vj to the Vj node 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 of
수학식 7의 는 노드 Vi가 형성하는 아웃고잉 링크를 위해 필요한 총 지출(total payment)을 나타낼 수 있다. 여기서, 총 지출은 아웃고잉 링크를 통해 데이터가 전송될 때 필요한 링크형성비용을 나타낼 수 있다. Of equation (7) May 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 Is Can be. In another example, if you have formed both links between Vi and Vj nodes, Can be. Another example is If 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, the computational complexity can be reduced.
<네트워크 코딩><Network coding>
는 네트워크 토폴로지 를 구성하는 엣지-디스조인트 서브그래프(edge-disjoint subgraphs)일 수 있다. 이때, 엣지-디스조인트 서브그래프 는 일 때,를 만족하며, 및 를 만족할 수 있다. Network topology It may be edge-disjoint subgraphs constituting the sub-disjoint subgraphs. Edge-Disjoint Subgraph Is when, Satisfying And Can be satisfied.
즉, 엣지-디스조인트 서브그래프의 합집합(union)으로 네트워크 토폴로지 를 나타낼 수 있다. 목적 노드 인덱스 세트 D를 갖는 엣지-디스조인트 서브그래프 을 위한 네트워크 형성 게임은 아래의 수학식 8과 같이 표현될 수 있다. That is, the network topology with the union of the edge-disjoint subgraphs. Can be represented. Edge-Disjoint Subgraph with Destination Node Index Set D The network forming game for may be expressed as
여기서, 네트워크 형성 게임을 수행하는 플레이어들에 의해 결정되는 액션들은 네트워크 토폴로지에서 활성화(active) 및 비활성화(inactive)를 나타내는 링크의 합집합(union)으로 표현될 수 있다. 따라서, 복수개의 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임들을 동시에 고려하는 것을 표현하는 곱셉연산(product operation)은 아래의 수학식 9와 같이 표현되며, 이는 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임의 결과 네트워크 상태들의 합집합으로서 고려될 수 있다. Here, the actions determined by the players who play the network-forming game may be expressed as a union of links indicating active and inactive in the network topology. Therefore, a product operation representing the simultaneous consideration of network forming games for a plurality of edge-disjoint subgraphs is expressed as
일 실시예에 따르면, 아래의 수학식 10과 같이, 네트워크 코딩에 기초하여 네트워크 토폴로지를 위한 네트워크 형성 게임 은 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임로 분해될 수 있다. According to one embodiment, a network formation game for a network topology based on network coding, as shown in
만약 네트워크 코딩이 적용되지 않을 경우, 아래의 수학식 11과 같을 수 있다. If network coding is not applied,
그러나 네트워크 코딩이 적용될 경우, 수학식 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 may represent a destination node. With destination node Vd The hypothetical sublink of It may be represented as. The hypothetical subgraph for the destination node Vd is It can be expressed as. At this time, the virtual subgraph Is when, Satisfying And Can be satisfied. Here, the virtual subgraphs may be edge-disjoint subgraphs.
이때, 아래의 수학식 13과 같이 네트워크 코딩에 기초하여 엣지-디스조인트 서브그래프를 위한 네트워크 형성게임는 링크 형성 게임 으로 분해될 수 있다.At this time, the network formation game for the edge-disjoint subgraph based on the network coding as shown in
따라서, 수학식 13및 수학식 12에 기초하여 아래의 수학식 14가 유도될 수 있다. Therefore,
그러므로 멀티캐스트 플로우를 갖는 엣지-디스조인트 서브그래프를 위한 네트워크 형성 게임 는 유니캐스트 플로우를 갖는 링크 형성 게임 를 갖는 독립적인 링크로 분해될 수 있다. Therefore, a network shaping game for edge-disjoint subgraphs with multicast flows Link Forming Game Having Unicast Flow It can be broken down into independent links having
<링크 형성 게임 및 분산된 네트워크 토폴로지의 설계>Design of Link Forming Game and Distributed Network Topology
링크 형성 게임은 유니캐스트 플로우를 갖는 2 플레이어(노드)로 구성될 수 있다. 이때, 링크 형성 게임은 아래의 수학식 15와 같이 표현될 수 있다. 여기서, 로서 두 플레이어(노드)들의 집합을 나타내며, 로서 플레이어 Vi의 가능한 액션 집합을 나타낼 수 있다. 예를 들면, ai=1인 경우 플레이어 Vi는 활성화 링크를 가지면, ai=0인 경우 플레이어 Vi는 비활성화 링크를 가질 수 있다. The link formation game may consist of two players (nodes) with unicast flows. In this case, the link formation game may be expressed as in
이때, 효용 함수(utility function)는 아래의 수학식 16과 같이 표현될 수 있다. 여기서, 는 거리를 나타내는 에 반비례(inversely proportional)할 수 있다.In this case, the utility function may be expressed as in Equation 16 below. here, Indicates the distance Can be inversely proportional.
링크 형성 게임에서, 효용 함수(utility function)의 링크형성비용(cost)는 아래의 수학식 17과 같이 표현될 수 있다. In the link forming game, the link forming cost of the utility function may be expressed as in 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 may be expressed as Equation 18 below. here, And Represents the actions of Vi and Vj satisfying NE, respectively. For example, if a i for a link forming game has 0 or 1, May be '0' or '1' or '0, 1' as an action satisfying NE among a i .
복수개의 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 among the plurality of NEs may enable an optimization decision to activate and inactivate outgoing links of the Vi node and the Vj node.
도 5는 일 실시예에 따른, 링크 형성 게임에 기반하여 분산된 네트워크 토폴로지를 디자인하는 알고리즘을 나타낸다.5 illustrates an algorithm for designing a distributed network topology based on a link formation game, according to one embodiment.
알고리즘은 다음의 순서로 진행될 수 있다. The algorithm may proceed in the following order.
일 때, 노드의 세트 , 이웃 노드의 세트 , 목적지 노드의 인덱스 세트 , 효용 함수 일 수 있다. Set of nodes when Set of neighbor nodes Set of indexes on the destination node , Utility function Can be.
모든 연결된 링크 상태를 초기화()할 수 있다. 이후 노드의 세트 를 유니캐스트 플로우를 가지는 2개의 플레이어(노드)로 분해하고, 현재의 링크의 액션을 임시 저장할 수 있다. Initialize all connected link states ( )can do. Set of subsequent nodes Is decomposed into two players (nodes) with unicast flow, and the current link action Can be stored temporarily.
분해된 각각의 플레이어, 예를 들면 ,에 대해 링크 형성 게임을 만족하는 및 를 식별할 수 있다. 여기서, 는 아래의 수학식 19를 만족할 수 있다. 이때, 는 Vi 노드에서 Vj 노드로의 연결된 링크()일 수 있으며, 는 Vj 노드에서 Vi 노드로의 연결된 링크()일 수 있다. Each player disassembled, for example , About to meet the link formation game And Can be identified. here, May satisfy Equation 19 below. At this time, Is the connected link from the Vi node to the Vj node ( ), Is the connected link from the Vj node to the Vi node ( May be).
식별된 및 는 NE을 만족하는 것으로서, 알고리즘에 의해 적어도 하나의 및 는 식별될 수 있다. 또한, 복수개의 및 가 식별된 경우, 최적화 및 는 선택될 수 있다. 및 에 의해 의 링크는 결정될 수 있다.Identified And Is equal to NE, and is determined by at least one And Can be identified. Also, a plurality of And If is identified, optimize And Can be selected. And By The link of can be determined.
일 실시예에 따르면, 수학식 19을 만족하는 를 임시 저장된 와 비교할 수 있다. 는 제1 링크상태를 나타낼 수 있고, 는 제2 링크상태를 나타낼 수 있다. 이때, 제1 링크상태는 현재의 링크상태일 수 있고, 제2 링크상태는 검출된 링크상태일 수 있다. According to one embodiment, satisfying Equation 19 Temporarily saved Can be compared with May indicate a first link state, May indicate a second link state. In this case, the first link state may be a current link state, and the second link state may be a 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 state Is not the same On behalf of Can be changed and saved. At this time, the second link state Based on the above, the third link state can be detected again. Similarly, the process of comparing the second link state with 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 state Is equal, 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 satisfy the link formation game. And By identifying the link between the nodes can be determined. As a result, a network topology consisting 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 a cell of radius R, the Vi node can send data to the destination node. In this case, the connection boundary is Can be set to the neighbor node of the Vi node Can be determined as Here, each node may determine the outgoing link towards the neighboring node based on the algorithm of FIG. 5.
이때, 수학식 16의 는 아래의 수학식 20와 같이 표현될 수 있으며, 수학식 20에 표현된 대로 노드의 위치가 고려될 수 있다.At this time, Equation 16 May be expressed as
는 에 반비례하는 관계로서, 일 때 일 수 있다. 따라서, Vi 노드가 목적지 노드에 가까이 있는 Vj 노드로 아웃고잉 링크를 연결할 경우, 양의 거리단축이득(positive rewards)가 Vi 노드에 주어질 수 있다. Is As inversely proportional to when Can be. Thus, if the Vi node connects an outgoing link to a Vj node close to the destination node, positive positive rewards can be given to the Vi node.
일 실시예에 따르면, 소스 노드에서 목적지 노드로 데이터가 전송되는 네트워크 토폴로지를 형성할 때, 목적지 노드에서 멀리 있는 노드의 아웃고잉 링크보다 목적지 노드에서 가까이 있는 노드의 아웃고잉 링크가 보다 중요할 수 있다. 이는 목적지 노드에서 보다 먼 곳에 위치한 노드는 경로 다양성(path diversity)을 가질 확률이 보다 높기 때문이다. According to one 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 far 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 In consideration of the above, the two node pairs may be i) when the distance between nodes in each node pair is the same as in Equation 21 below, and ii) another position as shown in Equation 22 below.
이러한 경우, 노드 간의 수학식 20에 따른 차이는 아래의 수학식 23과 같다.In this case, the difference according to
그러므로, 2개의 노드 페어 중에서 보다 가 목적지 노드에 보다 가까우며 보다 많은 거리단축이득(reward)를 가질 수 있음을 알 수 있다. 이때, 효용 함수는 아래의 수학식 24와 같이 표현될 수 있다.Therefore, out of two node pairs see It can be seen that is closer to the destination node and can have more distance reduction gain. In this case, 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 by
이는 모든 목적지 노드로부터의 총 거리단축이득과 네트워크 토폴로지를 구성하는 링크를 형성하는데 필요한 총 링크형성비용을 포함할 수 있다. 그러므로, 네트워크 유틸리티는 링크 형성하는 링크형성비용을 줄이는 노드로부터 획득되는 거리단축이득이 어느 정도인지를 측정하는데 사용될 수 있다. This may include the total distance reduction gains from all destination nodes and the total link formation costs required to form the links that make up the network topology. Therefore, the network utility can be used to measure how much distance shortening gain is obtained from the node which reduces link forming cost.
도 6은 연결 경계 R=10이며, 1000번의 독립적인 실험의 평균값을 나타낸 그래프로서, 목적지 노드는 2개()인 경우를 전제로 할 수 있다. 6 is a graph showing the average value of 1000 independent experiments with a connection boundary R = 10, with two destination nodes ( Can be assumed.
그래프(610, NEAR)은 목적지 노드에 가까운 경우이며, 그래프(620, MID)는 목적지 노드에 중간 정도 위치한 경우이며, 그래프(630, FAR)는 목적지 노드에 멀리 위치한 경우를 나타낼 수 있다. The
그래프 (610~630)에서 확인가능하듯이, 목적지 노드에 가까이 있을수록, 보다 많은 아웃고잉 링크를 가짐을 확인할 수 있다. 이는, 효용 함수에 있는 는 소스 노드와 목적지 노드 간의 거리를 고려하기 때문이다. As can be seen in the graphs 610-630, the closer to the destination node, the more outgoing links it has. This is because the utility function This is because the distance between the source node and the destination node is considered.
도 7은 일 실시예에 따른, 다양한 네트워크 사이즈에서 단위 링크형성비용에 대한 활성화 링크의 수를 나타낸 도면이다.7 is a diagram illustrating the number of active links for unit link formation costs in various network sizes according to an embodiment.
그래프(710)은 네트워크 사이즈 Nv=10인 경우, 그래프(720)은 네트워크 사이즈 Nv=20인 경우, 그래프(730)은 네트워크 사이즈 Nv=30인 경우, 그래프(740)은 네트워크 사이즈 Nv=40인 경우, 그래프(750)은 네트워크 사이즈 Nv=50인 경우를 나타낼 수 있다.
도 7을 통해, 네트워크 사이즈의 수가 증가할수록, 네트워크 토폴로지에 포함된 활성화 링크의 수도 증가하는 것을 확인할 수 있다. 또한, 동일한 네트워크 사이즈에서도 더 작은 활성화 링크의 수를 포함할 경우, 단위 링크형성비용이 증가함을 확인할 수 있다. 7, it can be seen that as the number of network sizes increases, the number of active links included in the network topology increases. In addition, it can be seen that the unit link formation cost increases when the number of smaller active links is included in the same network size.
도 8은 일 실시예에 따른, 다양한 네트워크 사이즈에서 단위 링크형성비용에 대한 연결 실패 비율을 나타낸 도면이다. 8 is a diagram illustrating a connection failure rate 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 the successful connection from the source node to the destination node. In this case, 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인 경우, 네트워크 토폴로지의 연결 실패 비율은 매우 가파르게 증가함으로써, 데이터 전송이 성공적으로 수행되지 않을 가능성이 높음을 확인할 수 있다. If the unit link formation cost is 0.8 ~ 1, the connection failure rate of the network topology increases very rapidly, indicating that there is a high possibility that the data transmission will not be performed successfully.
도 9는 일 실시예에 따른, 네트워크 토폴로지에 포함된 노드의 수 및 단위 링크형성비용에 대한 네트워크 효용을 나타낸 도면이다. FIG. 9 is a diagram illustrating a network utility of the number of nodes included in a network topology and a unit link formation cost according to an embodiment.
네트워크 토폴로지에 포함된 노드의 수 가 증가하거나 또는 단위 링크형성비용 이 감소하는 경우, 네트워크 유틸리티는 증가할 수 있다. 이는 보다 많은 거리단축이득이 획득되거나 또는 링크 형성하는 링크형성비용이 감소될수록 네트워크 유틸리티가 증가하기 때문이다. 예를 들면, 단위 링크형성비용 =1인 경우, 어떠한 링크도 형성되지 않아 네트워크 유틸리티는 0일 수 있다. The number of nodes included in the network topology Increase or unit link formation cost If this decreases, the network utility may increase. This is because the network utility increases as more distance reduction gain is obtained or the 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 zero.
도 10은 일 실시예에 따른, 3가지의 각기 다른 전략을 사용할 때 네트워크 토폴로지에 포함된 노드의 수에 대한 네트워크 효용을 나타낸 도면이다. 도 11은 일 실시예에 따른, 3가지의 각기 다른 전략을 사용할 때 네트워크 토폴로지에 포함된 노드의 수에 대한 탐색 공간을 나타낸 도면이다.10 is a diagram illustrating network utility of the number of nodes included in a network topology when using three different strategies, according to one embodiment. 11 illustrates a search space for the number of nodes included in a network topology when using three different strategies, according to one embodiment.
도 5의 알고리즘의 성능은 네트워크 유틸리티 및 계산 복잡성 관점에서 다른 2개의 전략과 비교하여 평가될 수 있다. 2개의 전략은 다음과 같다:The performance of the algorithm of FIG. 5 can be evaluated in comparison to the other two strategies in terms of network utility and computational complexity. The two strategies are as follows:
1. Non-NC Centralized 전략1. Non-NC Centralized Strategy
네트워크 코딩이 적용되지 않아, 링크 상호간 종속성을 만족하는 전략으로서 다음의 수학식 26와 같이 표현될 수 있다.Since network coding is not applied, it can be expressed as Equation 26 as a strategy for satisfying inter-link dependencies.
2. NC Centralized 전략2. NC Centralized Strategy
네트워크 코딩이 적용되고, 링크 상호간 종속성이 무시되는 전략으로서 다음의 수학식 27와 같이 표현될 수 있다. 여기서, NC-Centralized 전략은 모든 플레이어가 가질 수 있는 액션의 경우의 수를 모두 고려하여, 네트워크 토폴로지의 전체 효용 함수가 최대화 되는 액션을 선택하는 방법을 나타낸다. 그러나, Proposed 전략은 각각의 플레이어가 선택할 수 있는 액션들 중에서, 플레이어 자신의 효용 함수가 최대화될 수 있는 액션을 선택하는 방법을 나타낸다. Network coding is applied, and as a strategy in which inter-link dependency is ignored, the following equation (27) may be expressed. Here, the NC-Centralized strategy represents a method of selecting an action in which the total utility function of the network topology is maximized in consideration of all the number of cases of actions that all players can have. However, the Proposed strategy shows how to select among the actions that each player can select, the action in which the player's own utility function can be maximized.
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 must be optimized by considering link interdependencies as constraints, the optimal network topology cannot achieve higher distance reduction gains 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 actions available for link formation.
Non-NC Centralized 전략에서, 각각의 노드는 아웃고잉 링크를 최대로 1개 만듦으로써, 노드는 많으면 Nv개의 링크 형성 선택을 가질 수 있다. 따라서, 네트워크 토폴로지에 Nv의 노드가 있으므로, 최대로 선택 가능한 수는 일 수 있다.In a non-NC centralized strategy, each node makes up to one outgoing link, so that the node can have as many Nv link formation choices as possible. 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 each neighbor node can create links and each link has two choices: active, inactive, each node can 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 FIG. There may be four neighbor node pairs and each node pair may have four action selections. Thus, 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 cases of action combinations that all players may have when selecting an action in which the overall utility function of the network topology is maximized.
NC-Centralized 전략은 계산 복잡도가 높으므로 실제로 적용되기 어려울 수 있다. 그러나 도 5의 proposed 알고리즘의 경우 계산 복잡도는 로서 대규모의 네트워크에 실제로 적용될 수 있다. NC-Centralized strategies can be difficult to apply in practice because of their high computational complexity. However, in the case of the proposed algorithm of FIG. It can be actually applied to large networks.
이와 같은 계산 복잡도는 아래의 표 1에 기재되어 있으며, 이는 도 11을 통해서도 확인될 수 있다.Such calculation complexity is described in Table 1 below, which can also be confirmed through FIG.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 as hardware components, software components, and / or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gates (FPGAs). It may be implemented using one or more general purpose or special purpose computers, such as an array, a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on 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 embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. 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.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다Although the embodiments have been described with reference to the accompanying drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Alternatively, even if replaced or replaced by equivalents, appropriate results can be achieved.
Claims (12)
특정 노드들의 주변에 존재하는 복수의 이웃 노드들 각각에 대한 효용 함수를 결정하는 단계;
상기 효용 함수에 기초하여, 상기 특정 노드와 링크를 연결할 이웃 노드를 선택하는 단계
를 포함하는 네트워크 토폴로지 형성 방법.
In the network topology forming method for a distributed network topology,
Determining a utility function for each of the plurality of neighboring nodes that exist in the vicinity of the particular nodes;
Selecting a neighbor node to connect a link with the specific node based on the utility function
Network topology forming method comprising a.
상기 효용 함수는,
상기 특정 노드에서 목적지 노드까지의 유클리디안 거리(Euclidean distance)에 따라 결정되는 거리단축이득(reward)를 고려하는 네트워크 토폴로지 형성 방법.
The method of claim 1,
The utility function is
And a network topology forming method considering distance reduction gains determined according to Euclidean distance from the specific node to a destination node.
상기 거리단축이득은,
상기 특정 노드에서 목적지 노드까지의 유클리디안 거리가 감소될수록 증가하거나, 또는 상기 특정 노드에서 목적지 노드까지의 유클리디안 거리가 증가할수록 감소하는 네트워크 토폴로지 형성 방법.
The method of claim 2,
The distance shortening gain,
And increasing the Euclidean distance from the specific node to the destination node or decreasing as the Euclidean distance from the specific node to the destination node increases.
상기 효용 함수는,
상기 특정 노드에서 아웃고잉 링크를 형성하는데 필요한 링크형성비용(cost)을 고려하는 네트워크 토폴로지 형성 방법.
The method of claim 1,
The utility function is
And a method for forming a network topology considering a link formation cost required to form an outgoing link at the specific node.
상기 링크형성비용은,
상기 특정 노드와 이웃 노드 간의 일방향 링크가 연결된 경우 보다 상기 특정 노드와 이웃 노드 간의 쌍방향 링크가 연결된 경우 감소하는 네트워크 토폴로지 형성 방법.
The method of claim 4, wherein
The link formation cost,
The method for forming a network topology decreases when a bidirectional link between the specific node and the neighboring node is connected than when the one-way link between the specific node and the neighboring node is connected.
상기 네트워크 코딩은,
상기 특정 노드로 전송된 모든 패킷을 조합하여 하나의 패킷을 생성함으로써, 링크 독립적인 데이터를 생성하는 네트워크 토폴로지 형성 방법.
The method of claim 1,
The network coding is,
And generating link independent data by combining all the packets transmitted to the specific node to generate one packet.
상기 복수의 이웃 노드들로부터 수신한 인커밍 데이터를 네트워크 코딩하여 하나의 아웃고잉 데이터를 생성하는 단계
상기 인커밍 데이터를 전송한 상기 이웃 노드들보다 목적지 노드에 가까이 위치한 이웃 노드에 상기 아웃고잉 데이터를 전송하는 단계;
를 포함하고,
상기 분산 네트워크 토폴로지는,
상기 특정 노드와 상기 특정 노드 주변에 존재하여 상기 아웃고잉 데이터를 수신하는 상기 복수의 이웃 노드 각각에 대한 효용 함수를 결정하고, 상기 결정된 효용 함수에 기초하여 상기 아웃고잉 데이터를 전송할 상기 이웃 노드를 선택함으로써 결정되는
데이터 전송 방법.
Receiving incoming data from a plurality of neighboring nodes linked with a particular node in a distributed network topology;
Generating one outgoing data by network coding the incoming data received from the plurality of neighbor nodes.
Transmitting the outgoing data to a neighboring node located closer to a destination node than the neighboring nodes which transmitted the incoming data;
Including,
The distributed network topology is,
Determine a utility function for the particular node and each of the plurality of neighboring nodes that exist around the particular node and receive the outgoing data, and select the neighboring node to transmit the outgoing data based on the determined utility function Determined by
Data transfer method.
상기 효용 함수는,
상기 특정 노드에서 목적지 노드까지의 유클리디안 거리(Euclidean distance)에 따라 결정되는 거리단축이득(reward)를 고려하는 데이터 전송 방법.
The method of claim 7, wherein
The utility function is
And a distance reduction gain determined according to an Euclidean distance from the specific node to a destination node.
상기 효용 함수는,
상기 특정 노드에서 아웃고잉 링크를 형성하는데 필요한 링크형성비용(cost)을 고려하는 데이터 전송 방법.
The method of claim 7, wherein
The utility function is
And a link forming cost required to form an outgoing link at the specific node.
상기 네트워크 코딩은,
상기 특정 노드로 전송된 모든 인커밍 데이터를 조합하여 하나의 아웃고잉 데이터를 생성함으로써, 링크 독립적인 데이터를 생성하는 데이터 전송 방법.
The method of claim 7, wherein
The network coding is,
And generating link-independent data by combining all incoming data transmitted to the specific node to generate one outgoing data.
상기 노드는 프로세서를 포함하고,
상기 프로세서는,
특정 노드들의 주변에 존재하는 복수의 이웃 노드들 각각에 대한 효용 함수를 결정하고, 상기 효용 함수에 기초하여 상기 특정 노드와 링크를 연결할 이웃 노드를 선택하는 노드.
In a node that performs a method for forming a network topology for a distributed network topology,
The node comprises a processor,
The processor,
Determining a utility function for each of a plurality of neighboring nodes that exist in the vicinity of particular nodes, and selecting a neighbor node to connect a link with the specific node based on the utility function.
상기 노드는 프로세서를 포함하고,
상기 프로세서는,
상기 분산 네트워크 토폴로지에서 특정 노드와 링크로 연결된 복수의 이웃 노드들로부터 인커밍 데이터를 수신하고, 상기 복수의 이웃 노드들로부터 수신한 인커밍 데이터를 네트워크 코딩하여 하나의 아웃고잉 데이터를 생성하고, 상기 인커밍 데이터를 전송한 상기 이웃 노드들보다 목적지 노드에 가까이 위치한 이웃 노드에 상기 아웃고잉 데이터를 전송하며,
상기 분산 네트워크 토폴로지는,
상기 특정 노드와 상기 특정 노드 주변에 존재하여 상기 아웃고잉 데이터를 수신하는 상기 복수의 이웃 노드 각각에 대한 효용 함수를 결정하고, 상기 결정된 효용 함수에 기초하여 상기 아웃고잉 데이터를 전송할 상기 이웃 노드를 선택함으로써 결정되는 노드.
In a node transmitting data using a distributed network topology,
The node comprises a processor,
The processor,
Receive incoming data from a plurality of neighboring nodes linked to a specific node in the distributed network topology, and generate one outgoing data by network coding the incoming data received from the plurality of neighboring nodes. Transmitting the outgoing data to a neighboring node located closer to a destination node than the neighboring nodes which transmitted incoming data,
The distributed network topology is,
Determine a utility function for the particular node and each of the plurality of neighboring nodes that exist around the particular node and receive the outgoing data, and select the neighboring node to transmit the outgoing data based on the determined utility function Nodes determined by
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 true KR20190128326A (en) | 2019-11-18 |
KR102107294B1 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 (4)
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 |
KR20150005356A (en) * | 2013-07-05 | 2015-01-14 | 경희대학교 산학협력단 | 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 (4)
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 |
KR20150005356A (en) * | 2013-07-05 | 2015-01-14 | 경희대학교 산학협력단 | Method for optimal relay node selection and wireless body area network system the method applied thereto |
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 |
---|---|
KR102107294B1 (en) | 2020-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105430707B (en) | A kind of wireless sense network multiple-objection optimization method for routing based on genetic algorithm | |
KR101593344B1 (en) | Speculative rendering using historical player data | |
Bhatele et al. | Identifying the culprits behind network congestion | |
US11960815B2 (en) | Automated network-on-chip design | |
CN109684087B (en) | Operation method, device and related product | |
US10257076B2 (en) | Apparatus and method transmitting packets | |
CN108052347A (en) | A kind of device for executing instruction selection, method and command mappings method | |
Xie et al. | How to stop consensus algorithms, locally? | |
US20080147881A1 (en) | System and method for placing computation inside a network | |
CA2743466A1 (en) | Path calculation order deciding method, program and calculating apparatus | |
KR102107294B1 (en) | Netwrok topology formation for mobile sensor networks based on network coding | |
Tyagi et al. | GM-WOA: a hybrid energy efficient cluster routing technique for SDN-enabled WSNs | |
Kusetogullari et al. | A reduced uncertainty-based hybrid evolutionary algorithm for solving dynamic shortest-path routing problem | |
US20120023260A1 (en) | Diagonally enhanced concentrated hypercube topology | |
KR20190120057A (en) | Stochastic Routing Algorithm for Load-balancing Interconnection Network System | |
JP5655188B2 (en) | Traffic control device and traffic control method | |
JP5645738B2 (en) | Network management apparatus, network management method, and program | |
JP7199600B2 (en) | MOVEMENT CONTROL DEVICE AND MOVEMENT CONTROL METHOD | |
Nwadiugwu et al. | Neural-Network Assisted Packet Accelerators for Internet of Things Network Systems | |
KR20200096102A (en) | Processing computational models in parallel | |
Bueno et al. | Four-objective formulations of multicast flows via evolutionary algorithms with quality demands | |
Wierzowiecki et al. | Efficient and correct trust propagation using closelook | |
Rezaei-Ravari et al. | Dynamic clustering-based routing scheme for 2D-mesh networks-on-chip | |
Wei et al. | G-Routing: Graph Neural Networks-Based Flexible Online Routing | |
US11716151B2 (en) | Routing methods for quantum communication paths across a mesh quantum network |
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 |