KR102074704B1 - Distributed upgrade Method used daisy chain and system thereof - Google Patents
Distributed upgrade Method used daisy chain and system thereof Download PDFInfo
- Publication number
- KR102074704B1 KR102074704B1 KR1020190151445A KR20190151445A KR102074704B1 KR 102074704 B1 KR102074704 B1 KR 102074704B1 KR 1020190151445 A KR1020190151445 A KR 1020190151445A KR 20190151445 A KR20190151445 A KR 20190151445A KR 102074704 B1 KR102074704 B1 KR 102074704B1
- Authority
- KR
- South Korea
- Prior art keywords
- node
- upgrade
- seed
- nodes
- seed node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 데이지 체인에 관한 것으로, 보다 상세하게는 각종 산업용 자동제어 장비의 업그레이드 시 최상위에 위치하는 서버가 각 노드 중 업그레이드 이미지를 수신할 시드노드의 개수 및 위치를 선정한 후 컨트롤러를 통하여 선정된 시드노드에 업그레이드 이미지를 전송하여 업그레이드하고, 업그레이드 된 시드노드가 그에 인접한 나머지 노드들에 대한 업그레이드를 담당하도록 이루어지는 데이지 체인 분산 업그레이드 방법 및 그에 따른 시스템에 관한 것이다.The present invention relates to a daisy chain, and more particularly, a seed selected by a controller after selecting a number and location of seed nodes to receive an upgrade image among each node by a server located at the top when upgrading various industrial automatic control equipment. The present invention relates to a daisy chain distributed upgrade method and system according to which upgrades are performed by sending an upgrade image to nodes, and upgraded seed nodes are in charge of upgrading the remaining nodes adjacent thereto.
일반적으로, 각종 산업용 자동제어 장비들은 하나의 서버(Server)를 통하여 여러 장비들이 통신망으로 연결되어 중앙통제적인 하나의 시스템으로 구축된다.In general, various industrial automatic control equipment is connected to a communication network through a server (Server) is built as a central control system.
이러한 복수개의 장비들은 상호 체인을 구성하여 직렬로 연결되는 형태의 데이지 체인 토폴로지(Daisy Chain Topology) 구조로 상호 연결된다.The plurality of devices are interconnected in a daisy chain topology structure in which a plurality of devices are connected to each other in series.
여기서, 데이지 체인(Daisy Chain)은 허브에 집중되는 형태가 아닌, 버스 토폴로지와 같이 직렬로 연결되는 형식으로서, 배선이 덜 복잡하여 각종 장비들의 업그레이드 등에 많이 적용되고 있다.Here, the daisy chain is not connected to a hub but is connected in series like a bus topology, and wiring is less complicated, and thus, the daisy chain is applied to upgrade of various equipments.
상술한 바와 같은, 데이지 체인방식을 통한 일반적인 장비들은 도 1에서 도시하고 있는 바와 같이, 복수개의 장비들이 체인으로 구성되어 직렬로 연결되고, 서버(Server)와 컨트롤러(Controller)의 연결 구간은 사용 시 과금이 발생되는 일반적인 인터넷 연결구간이며, 컨트롤러와 각 장비의 노드는 사용 시 과금이 발생되지 않는 로컬망으로 구성되되, 이더넷(RJ45) 케이블로 연결구성된다.As described above, the general devices through the daisy chain method are shown in FIG. 1, and a plurality of devices are configured in a chain and connected in series, and a connection period between a server and a controller is used when using the devices. It is a general internet connection section where billing occurs. The controller and each node of the device are configured as a local network that does not incur billing when used, and is connected by Ethernet (RJ45) cable.
이렇게, 서버와 컨트롤러, 컨트롤러와 모든 노드는 노드에 이웃되는 노드 또는 양 옆의 노드에 통신가능하게 연결된다.In this way, the server and the controller, the controller and all nodes are communicatively connected to the node neighboring the node or to both nodes.
이렇게 통신가능하게 연결되는 기존 데이지 체인방식을 통한 원격 업그레이드 방법은, 도 2에서 도시하고 있는 바와 같이, 최상위에 위치하는 서버(Server)가 업그레이드를 직접 관여하는 방식으로, 각 노드를 1 : 1로 업그레이드하는 방식으로 진행되거나, 또한 최상위에 위치하는 서버에서 업그레이드 이미지를 컨트롤러(Controller)가 업그레이드를 진행하도록 하는 방식으로 진행되었다.As described above, the remote upgrade method through the existing daisy chain method, which is communicatively connected, connects each node to 1: 1 in such a manner that a server located at the top is directly involved in the upgrade. The upgrade process was performed or the controller upgraded the upgrade image from the server located at the top.
그러나, 상술한 바와 같은 방식으로 원격 업그레이드 시 서버가 각 노드를 1 : 1로 직접 업그레이드함으로써 전체 업그레이드 진행 시간이 상당하다는 문제점이 있었다.However, when the remote upgrade in the manner described above, the server directly upgrades each node to 1: 1 so that the total upgrade progress time is considerable.
다시 말하면, 네트워크의 규모가 커질 경우, 즉 노드의 개수 및 수량이 증가할 수록 서버에서 각 노드의 업그레이드 시간이 비례하여 증가된다는 문제점이 있었다.In other words, when the network size increases, that is, as the number and quantity of nodes increase, there is a problem that the upgrade time of each node in the server increases proportionally.
이렇게 서버(Server)와 컨트롤러(Controller)를 연결하는 연결 구간은 비용이 발생되는 일반적인 인터넷 연결구간이므로, 서버를 통해 1 : 1로 직접 각 노드의 업그레이드 시 과도한 통신비용이 발생될 수 있다는 문제점이 있었다.Since the connection section connecting the server and the controller is a general Internet connection section that incurs a cost, there is a problem that excessive communication cost may be generated when each node is directly upgraded to 1: 1 through the server. .
또한, 서버 또는 컨트롤러가 각 노드의 업그레이드를 전담함으로써 서버 및 컨트롤러에 부하가 증가하고, 이로 인해 부하를 효과적으로 분산시키기 어렵다는 문제점이 있었다.In addition, since the server or controller is dedicated to the upgrade of each node, the load on the server and the controller increases, which makes it difficult to effectively distribute the load.
이렇게 부하가 서버 및 컨트롤러에 집중됨으로써 시스템 전체 통신에 문제가 발생될 수 있으며, 이로 인해 통신의 안정성을 확보하기 위한 노력이 요구되고 있는 실정이다.As the load is concentrated on the server and the controller, a problem may occur in the entire system communication, which requires efforts to secure communication stability.
본 발명은 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 데이지 체인방식으로 연결되는 각종 산업용 자동제어 장비의 업그레이드 시 최상위에 위치하는 서버가 각 노드 중 업그레이드 이미지를 수신할 시드노드의 개수 및 위치를 선정하고, 선정된 시드노드에 컨트롤러를 통하여 업그레이드 이미지를 전송하면 각 시드노드가 그 양 측에 인접도록 나머지 노드들에 대한 업그레이드를 담당함으로써 각 장치의 리소스를 효율적으로 관리 및 사용할 수 있는 데이지 체인 분산 업그레이드 방법 및 그에 따른 시스템을 제공하는 것을 목적으로 한다.The present invention has been made to solve the problems described above, the number and location of the seed node to receive the upgrade image of each node, the server located at the top when upgrading the various industrial automatic control equipment connected in a daisy chain method If you send the upgrade image to the selected seed nodes through the controller, the daisy chain can efficiently manage and use the resources of each device by in charge of upgrading the remaining nodes so that each seed node is adjacent to both sides. An object of the present invention is to provide a distributed upgrade method and system accordingly.
그리고, 본 발명은, 최상위에 위치하는 서버가 각 노드의 업그레이드를 직접 전담하여 진행하거나, 컨트롤러가 서버로부터 전송받은 업그레이드 이미지를 통해 각 노드의 업그레이드를 진행하지 않고, 일부 노드를 시드노드로 설정하고, 설정된 시드노드가 나머지 노드를 업그레이드 하되, 네트워크의 규모, 노드의 수량 및 개수에 비례하여 시드노드의 개수 및 위치를 설정함으로써 각 노드의 업그레이드 진행 시간을 단축시킬 수 있으며, 기존 서버 또는 컨트롤러를 통해 각 노드의 업그레이드 진행 대비 서버 및 컨트롤러의 부하를 분산시켜 효과적으로 감소시킬 수 있으며, 업그레이드 횟수를 최소화하여 업그레이드 시간을 최소화할 수 있도록 시드노드의 개수를 산출하고, 나머지 노드들을 업그레이드하기 위한 시드노드를 최적화된 위치에 배치함으로써 데이지 체인방식으로 연결된 각 노드의 업그레이드 발생될 수 있는 통신비용을 최소화하고, 데이터의 지연없는 통신의 수행이 가능하여 통신의 안정성을 확보할 수 있는 데이지 체인 분산 업그레이드 방법 및 그에 따른 시스템을 제공하는 것을 목적으로 한다.In addition, in the present invention, the server located at the top of the node directly proceeds with the upgrade of each node or the controller does not proceed with the upgrade of each node through the upgrade image received from the server, and set some nodes as seed nodes, The set seed node upgrades the remaining nodes, but by setting the number and location of seed nodes in proportion to the size of the network, the number and number of nodes, the upgrade progress time of each node can be shortened. It can effectively reduce the load of servers and controllers as the upgrade progress of each node, calculate the number of seed nodes to minimize the upgrade time by minimizing the number of upgrades, and optimize the seed nodes for upgrading the remaining nodes. In place By minimizing the communication cost that can be upgraded by each node connected in the daisy-chain method, and performing the delay-free communication of data to provide a daisy chain distributed upgrade method and system that can ensure the stability of the communication For the purpose of
더불어, 본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.In addition, the technical problems to be achieved by the present invention are not limited to the technical problems mentioned above, other technical problems not mentioned are clearly understood by those skilled in the art from the following description. Could be.
상기한 바와 같은 목적을 달성하기 위하여 본 발명은, 서버와 컨트롤러 및 적어도 하나 이상의 노드를 포함하여 구성되되, 네트워크에 의해 데이지 체인 방식으로 상호 연결되는 자동제어 장비의 업그레이드 방법에 있어서, 서버가 컨트롤러로 업그레이드 이미지를 전송하는 단계; 컨트롤러가 전체 노드에서 업그레이드 이미지를 전송할 시드노드의 개수를 산출하는 단계; 산출된 개수의 시드노드를 통하여 업그레이드 횟수를 산출하는 단계; 산출된 업그레이드 횟수에 대응되도록 업그레이드를 진행할 시드노드의 위치를 선정하는 단계; 선정된 시드노드에 업그레이드 이미지를 전송하는 단계; 및 시드노드가 전송된 업그레이드 이미지를 다른 노드에 전송하는 단계; 를 포함하고, 시드노드로부터 업그레이드 이미지를 전송받은 노드는 업그레이드되지 않은 다른 노드로 업그레이드 이미지를 반복적으로 전송하도록 이루어지는 것을 특징으로 한다.In order to achieve the object as described above, the present invention comprises a server, a controller and at least one or more nodes, in the upgrade method of automatic control equipment interconnected in a daisy chain by a network, the server to the controller Transmitting the upgrade image; Calculating, by the controller, the number of seed nodes to transmit the upgrade image in all nodes; Calculating the number of upgrades through the calculated number of seed nodes; Selecting a location of a seed node to be upgraded to correspond to the calculated number of upgrades; Transmitting the upgrade image to the selected seed node; And transmitting, by the seed node, the upgrade image transmitted to another node. Included, the node receiving the upgrade image from the seed node is characterized in that it is made to repeatedly transmit the upgrade image to another node that has not been upgraded.
바람직하게는, 전체 노드에서 업그레이드 이미지를 전송할 시드노드의 개수를 산출하는 단계에서, 시드노드의 개수는 하기 공식에 의해 산출된다.Preferably, in calculating the number of seed nodes to transmit the upgrade image in all nodes, the number of seed nodes is calculated by the following formula.
그리고, 산출된 개수의 시드노드의 위치를 선정하는 단계에서, 첫 번째 시드노드의 위치의 선정은 하기 공식에 의해 산출된다.Then, in the step of selecting the position of the calculated number of seed nodes, the selection of the position of the first seed node is calculated by the following formula.
또한, 첫 번째 시드노드의 위치에서 그 다음 시드노드의 위치 선정은 하기 공식에 의해 산출된다.In addition, the positioning of the next seednode at the position of the first seednode is calculated by the following formula.
여기서, 전체 노드에서 업그레이드 이미지를 전송할 시드노드의 개수를 산출하는 단계에서, 컨트롤러에서 각 시드노드로 업그레이드 이미지를 전송하는 횟수를 각 1회로 간주하고, 시드노드에서 나머지 노드로 업그레이드 이미지를 전송하는 횟수는 네트워크 대역폭을 전용하는 상황이므로 1회로 간주하며, 산출된 시드노드의 개수 및 시드노드의 위치는 전체 노드를 업그레이드하기 위한 최소 업그레이드 진행 횟수로 산출 및 선정하도록 이루어진다.In the calculating of the number of seed nodes to which the upgrade image is to be transmitted in all nodes, the number of times that the controller transmits the upgrade image to each seed node is considered as one, and the number of times that the upgrade image is transmitted from the seed node to the remaining nodes. Is considered to be one time because it dedicates network bandwidth, and the calculated number of seed nodes and the position of the seed nodes are calculated and selected as the minimum number of upgrades for upgrading the entire node.
한편, 서버와 컨트롤러 및 적어도 하나 이상의 노드를 포함하여 구성되되, 네트워크에 의해 데이지 체인 방식으로 상호 연결되는 자동제어 장비의 업그레이드 시스템에 있어서, 컨트롤러는 네트워크로 연결되는 전체 노드의 업그레이드 시 전체 노드에서 시드노드의 개수를 산출하는 시드노드 개수 산출부와, 시드노드 개수 산출부를 통하여 산출된 시드노드로 업그레이드 횟수를 산출하는 업그레이드 횟수 산출부와, 업그레이드 횟수 산출부를 통하여 산출된 업그레이드 횟수에 대응되도록 시드노드를 전체 노드에서 어떤 위치에 배치시킬지 여부를 선정하는 시드노드 배치부, 및 시드노드 배치부를 통하여 배치된 시드노드에 업그레이드 이미지를 전송하여 업그레이드를 실행하는 업그레이드 실행부를 포함하여 구성된다.On the other hand, in the upgrade system of the automatic control equipment configured to include a server, a controller and at least one node, which are interconnected in a daisy chain by a network, the controller is seeded from the entire node when upgrading the entire node connected to the network A seed node counting unit calculating a number of nodes, an upgrade count calculating unit calculating a number of upgrades to seed nodes calculated through the seed node counting unit, and a seed node corresponding to the upgrade count calculated through the upgrade count calculating unit. And a seed node arranging unit which selects a position at all nodes, and an upgrade execution unit which transmits an upgrade image to the seed nodes arranged through the seed node arranging unit and executes the upgrade.
바람직하게는, 시드노드 배치부는 첫 번째 시드노드의 위치를 선정하는 첫 번째 시드노드 선정부와, 첫 번째 시드노드 선정부를 통하여 위치가 선정된 첫 번째 시드노드에서 다음 또는/및 그 다음 시드노드와의 간격을 순차적으로 결정하는 시드노드 간격 결정부를 더 포함하여 구성된다.Preferably, the seednode arrangement includes a first seednode selector for selecting a location of the first seednode, a next seednode and / or a next seednode at a first seednode positioned through the first seednode selector. It further comprises a seed node interval determiner for sequentially determining the interval of.
이상에서 설명한 바와 같이 상기와 같은 구성을 갖는 본 발명은, 각종 산업용 자동제어 장비의 업그레이드가 선정된 일부 시드노드를 통해 먼저 진행된 후 선정된 시드노드가 나머지 노드들을 업그레이드하도록 이루어짐으로써 각 노드의 업그레이드 진행 시간을 단축시킬 수 있으며, 네트워크의 규모, 즉 노드의 수량 및 개수에 비례하여 시드노드의 개수를 조절함으로써 각 노드의 업그레이드 진행 시간을 단축시킬 수 있는 효과를 거둘 수 있다.As described above, the present invention having the configuration as described above, the upgrade of the various industrial automatic control equipment is performed through some selected seed node first, then the selected seed node is made to upgrade the remaining nodes by the upgrade progress of each node Time can be shortened, and by adjusting the number of seed nodes in proportion to the size of the network, that is, the number and number of nodes, the upgrade progress time of each node can be shortened.
그리고, 본 발명은, 업그레이드 진행 시간을 단축시킬 수 있도록 시드노드의 개수를 산출하고, 산출된 시드노드를 최적의 위치에 배치함으로써 체인방식으로 연결된 각 노드의 업그레이드 횟수를 최소화함과 동시에 업그레이드 시간을 최소화할 수 있으며, 과금이 부가되는 인터넷 연결구간을 통한 업그레이드를 최소화하고, 과금이 부가되지 않는 이더넷 연결구간을 통해 대부분의 업그레이드가 진행되도록 이루어짐으로써 업그레이드 시 통신비용을 절감할 수 있는 효과를 거둘 수 있다.In addition, the present invention calculates the number of seed nodes so as to shorten the upgrade progress time and arranges the calculated seed nodes at an optimal position, thereby minimizing the number of upgrades of each node connected in a chain and upgrading the upgrade time. It can minimize the upgrade through the Internet connection section where charging is added, and most upgrades are made through the Ethernet connection section without charging. have.
또한, 본 발명은, 서버 및 컨트롤러가 아닌, 노드가 다른 노드의 업그레이드를 전담하는 등 서버 또는 컨트롤러가 모든 업그레이드를 전담했던 기존의 부담감을 각 노드에 위임함으로써 서버 및 컨트롤러의 부하를 감소시키고, 부하를 효과적으로 분산시킬 수 있으며, 각 장치의 리소스를 보다 효율적으로 관리 및 사용할 수 있고, 시스템 전체 통신의 안정성을 확보할 수 있는 효과를 거둘 수 있다.In addition, the present invention reduces the load on the server and the controller by delegating to each node the existing burden that the server or the controller is responsible for all upgrades, such as the node is responsible for the upgrade of other nodes, not the server and the controller. Can be effectively distributed, manage and use the resources of each device more efficiently, and ensure the stability of the system-wide communication.
도 1은 일반적인 데이지 체인 토폴로지를 통해 각종 장비들이 연결된 모습을 개략적으로 나타내는 구성도,
도 2는 종래 기술에 따른 데이지 체인 업그레이드 방법을 개략적으로 나타내는 구성도,
도 3은 본 발명에 의한 데이지 체인 분산 업그레이드 방법을 개략적으로 나타내는 구성도,
도 4는 본 실시예에 의한 데이지 체인 분산 업그레이드 방법에서 시드노드를 선정하는 알고리즘을 개략적으로 나타내는 구성도,
도 5는 본 실시예에 의한 데이지 체인 분산 업그레이드 방법에서 선정된 시드노드를 통한 업그레이드 횟수를 개략적으로 나타내는 구성도,
도 6은 본 발명에 의한 데이지 체인 분산 업그레이드 방법을 개략적으로 나타내는 흐름도,
도 7은 본 발명에 의한 데이지 체인 분산 업그레이드 시스템을 개략적으로 나타낸 블록구성도.1 is a configuration diagram schematically showing how various devices are connected through a general daisy chain topology;
2 is a configuration diagram schematically showing a daisy chain upgrade method according to the prior art;
3 is a configuration diagram schematically showing a daisy chain distributed upgrade method according to the present invention;
4 is a block diagram schematically illustrating an algorithm for selecting seed nodes in a daisy chain distributed upgrade method according to the present embodiment;
5 is a configuration diagram schematically showing the number of upgrades through a seed node selected in the daisy chain distributed upgrade method according to the present embodiment;
6 is a flowchart schematically illustrating a daisy chain distributed upgrade method according to the present invention;
Figure 7 is a block diagram schematically showing a daisy chain distributed upgrade system according to the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, without excluding other components, unless specifically stated otherwise, one or more other features It is to be understood that the present disclosure does not exclude the possibility of adding or presenting numbers, steps, operations, components, parts, or combinations thereof.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.As used throughout the specification, the terms "about", "substantially", and the like, are used at, or in close proximity to, numerical values when manufacturing and material tolerances inherent in the meanings indicated are intended to aid the understanding of the invention. Accurate or absolute figures are used to assist in the prevention of unfair use by unscrupulous infringers. As used throughout the specification of the present invention, the term "step of" or "step of" does not mean "step for".
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.In the present specification, the term 'unit' includes a unit realized by hardware, a unit realized by software, and a unit realized by both. In addition, one unit may be realized using two or more pieces of hardware, and two or more units may be realized by one piece of hardware.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described as being performed by the terminal, the apparatus, or the device may be performed instead in the server connected to the terminal, the apparatus, or the device. Similarly, some of the operations or functions described as being performed by the server may be performed by the terminal, apparatus or device connected to the server.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In the present specification, some of the operations or functions described as mapping or matching with the terminal mean that the identification number of the terminal or identification information of the individual, which is identification data of the terminal, is mapped or matched. Can be interpreted as
본 명세서에 있어서, "적어도 하나의"라는 단어는 단수 및 복수를 지칭할 수 있는 용어로 정의한다. 그리고, "적어도 하나의"라는 용어가 사용될 수도 있지만 생략될 수도 있고, 그 의미는 상술한 바와 같다.In this specification, the word "at least one" is defined as a term that can refer to the singular and plural. In addition, the term "at least one" may be used but may be omitted, and the meaning is as described above.
이하, 첨부된 도면을 참고로 본 발명의 바람직한 실시 예에 대하여 설명한다. 도 3은 본 발명에 의한 데이지 체인 분산 업그레이드 방법을 개략적으로 나타내는 구성도이고, 도 4는 본 실시예에 의한 데이지 체인 분산 업그레이드 방법에서 시드노드를 선정하는 알고리즘을 개략적으로 나타내는 구성도이며, 도 5는 본 실시예에 의한 데이지 체인 분산 업그레이드 방법에서 선정된 시드노드를 통한 업그레이드 횟수를 개략적으로 나타내는 구성도이고, 도 6은 본 발명에 의한 데이지 체인 분산 업그레이드 방법을 개략적으로 나타내는 흐름도이고, 도 7은 본 발명에 의한 데이지 체인 분산 업그레이드 시스템을 개략적으로 블록구성도이다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the present invention. 3 is a block diagram schematically illustrating a daisy chain distributed upgrade method according to the present invention, FIG. 4 is a block diagram schematically illustrating an algorithm for selecting seed nodes in a daisy chain distributed upgrade method according to the present embodiment, and FIG. 5. Is a block diagram schematically illustrating the number of upgrades through a seed node selected in the daisy chain distributed upgrade method according to the present embodiment, FIG. 6 is a flowchart schematically showing a daisy chain distributed upgrade method according to the present invention, and FIG. The daisy chain distributed upgrade system according to the present invention is a schematic block diagram.
도면에서 도시하고 있는 바와 같이, 본 발명에 의한 데이지 체인 분산 업그레이드 시스템은 각종 산업용 자동제어 장비에 서버(도번 미도시)와 컨트롤러(100) 및 적어도 하나 이상의 노드(도번 미도시)를 포함하여 구성되되, 데이지 체인방식으로 상호 연결된다.As shown in the drawings, the daisy chain distributed upgrade system according to the present invention comprises a server (not shown) and the
여기서, 각 구성요소는 일반적인 네트워크를 통하여 연결되되, 상기 서버와 컨트롤러(100)는 광역통신망(WAN : Wide Area Network)을 포함하는 일반적인 인터넷 라인으로 연결되고, 상기 컨트롤러(100)와 각 노드는 근거리통신망(LAN : Local Area Network)으로 연결된다.Here, each component is connected through a general network, the server and the
이때, 상기 서버와 컨트롤러(100)의 연결구간은 비용이 발생되는 과금구간이고, 상기 컨트롤러(100)와 각 노드의 연결구간은 비용이 발생되지 않는 무과금구간이다.In this case, the connection section of the server and the
상기 서버는 업그레이드 발생 시 해당 업그레이드 이미지를 컨트롤러(100)에 전송한다.When the upgrade occurs, the server transmits the upgrade image to the
그리고, 상기 컨트롤러(100)는 서버로부터 전송된 업그레이드 이미지를 전송할 시드노드의 개수를 산출하고, 산출된 개수의 시드노드의 위치를 선정하며, 선정된 시드노드에 업그레이드 이미지를 전송한다.The
이를 위하여 상기 컨트롤러(100)는 네트워크로 연결되는 전체 노드를 업그레이드 하기 위하여 시드노드 개수 산출부(110)와 업그레이드 횟수 산출부(130)와 시드노드 배치부(150) 및 업그레이드 실행부(170)를 포함하여 구성된다.To this end, the
여기서, 상기 시드노드 개수 산출부(110)는 컨트롤러(100)를 통하여 업그레이드 이미지를 처음으로 전송할 시드노드의 개수를 산출한다.Here, the seed
그리고, 상기 업그레이드 횟수 산출부(130)는 상기 시드노드 개수 산출부(110)를 통하여 산출된 개수의 시드노드로 전체 노드를 업그레이드 하기 위한 횟수를 산출한다.In addition, the
또한, 상기 시드노드 배치부(150)는 상기 업그레이드 횟수 산출부(130)를 통하여 산출된 업그레이드 횟수에 대응되도록 시드노드를 전체 노드에서 어떤 위치에 배치시킬 지 여부를 선정한다.In addition, the seed
더불어, 상기 업그레이드 실행부(170)는 상기 시드노드 배치부(150)를 통하여 배치된 시드노드에 업그레이드 이미지를 전송하여 업그레이드를 실행한다.In addition, the
즉, 상기 컨트롤러(100)는 네트워크로 연결되는 전체 노드의 업그레이드 시 업그레이드 횟수를 최소화 하기 위하여 전체 노드에서 시드노드의 개수를 산출하는 시드노드 개수 산출부(100)와 상기 시드노드 개수 산출부(110)를 통하여 산출된 갯수의 시드노드로 업그레이드 횟수를 산출하되, 최소화된 업그레이드 횟수를 산출하는 업그레이드 횟수 산출부(130)와 상기 업그레이드 횟수 산출부(130)를 통하여 산출된 업그레이드 횟수에 대응되도록 시드노트를 전체 노드에서 어떤 위치에 배치시킬지 여부를 선정하는 시드노드 배치부(150) 및 상기 시드노드 배치부(150)를 통하여 배치된 시드노드에 업그레이드 이미지를 전송하여 업그레이드를 실행하는 업그레이드 실행부(170)를 포함하여 구성된다.That is, the
여기서, 상기 업그레이드 실행부(170)를 통하여 시드노드로 전송된 업그레이드 이미지는 각 시드노드를 통하여 그 양 측에 인접되게 위치 및 배치되는 다른 노드로 반복적 및 순차적으로 전송되어 전체 노드의 업그레이드가 완료된다.Here, the upgrade image transmitted to the seed nodes through the
여기서, 상기 시드노드 배치부(150)는 상기 컨트롤러(100)를 통하여 첫 번째 시드노드의 위치를 선정하는 첫 번째 시드노드 선정부(151)와 상기 첫 번째 시드노드 선정부(151)를 통하여 위치가 선정된 첫 번째 시드노드에서 다음 또는/및 그 다음 시드노드와의 간격을 순차적으로 결정하는 시드노드 간격 결정부(153)를 포함하여 구성된다.Here, the seed
여기서, 상기 컨트롤러(100)에 연결되는 각 노드는 동일한 운영체제로 이루어지는 것을 기본으로 하고 있으며, 만약 각 노드의 운영체제가 각기 다를 경우, 먼저 동일한 운영체제로 그룹핑하고, 동일한 운영체제로 그룹핑된 노드들 중에서 시드노드의 개수 및 시드노드의 위치를 산정하며, 시드노드에 우선적으로 업그레이드 이미지를 전송한 후 나머지 노드들을 업그레이드 하도록 이루어지는 것이 바람직하나, 이에 한정하지 아니하며, 다양하게 변경실시가능하다.Here, each node connected to the
상기한 바와 같은 구조에 의하여, 도 3에 도시하고 있는 바와 같이, 전체 노드의 개수가 5인 경우로 예를 들 경우, 업그레이드의 발생 시 상기 서버는 컨트롤러(100)에 업그레이드 이미지를 전송하고, 상기 컨트롤러(100)는 업그레이드 이미지를 전송할 시드노드의 개수를 산출한다.With the above structure, as shown in FIG. 3, when the total number of nodes is 5, for example, when the upgrade occurs, the server transmits the upgrade image to the
그리고, 상기 시드노드의 개수가 2개로 산출될 경우, 산출된 2개의 시드노드의 위치를 선정하고, 노드 2 및 노드 4를 시드노드로 선정할 경우, 노드 2 및 노드 4에 우선적으로 업그레이드 이미지를 전송하여 노드 2 및 노드 4의 업그레이드를 완료하고, 그 후 노드 2는 아직 업그레이드가 진행되지 않되, 노드 2의 양 측에 인접한 나머지 노드 1 및 노드 3에 대한 업그레이드를 진행하고, 노드 4는 아직 업그레이드가 진행되지 않되, 노드 4에 인접한 나머지 노드 5에 대한 업그레이드를 진행한다.When the number of seed nodes is calculated as two, the calculated positions of the two seed nodes are selected, and when the
본 발명의 일 실시예에서는 상기 컨트롤러(100)가 각 노드 중 노드 2 및 노드 4를 시드노드롤 선정한 후 노드 2에 업그레이드 이미지를 전송하고, 노드 4에 업그레이드 이미지를 전송한 다음, 노드 2 및 노드 4를 통해 노드 1, 노드 3 및 노드 5를 업그레이드 하도록 이루어짐으로써 시드노드인 노드 2 및 노드 4에 중첩되는 노드 3의 경우, 먼저 업그레이드 이미지가 전송되는 노드 2를 통하여 업그레이드가 진행되도록 이루어져 있으나, 상기 시드노드로 선정된 노드 2 및 노드 4에 인접되어 중첩되는 노드 3의 경우, 노드 2 또는 노드 4를 통하여 업그레이드가 이루어지되, 노드 2 또는 노드 4 중 먼저 업그레이드 이미지를 전송하는 노드를 통하여 업그레이드가 진행되도록 이루어지는 것이 바람직하다.In an embodiment of the present invention, the
즉, 상기 노드 3의 경우, 좌측에는 시드노드인 노드 2가 배치되어 연결되고, 우측에는 시드노드인 노드 4가 배치되어 연결되도록 이루어짐으로써 노드 2 또는 노드 4를 통하여 업그레이드가 가능하고, 이때 시드노드인 노드 2를 통하여 업그레이드 이미지가 먼저 전송될 경우, 노드 2를 통하여 업그레이드가 진행되며, 노드 4를 통하여 업그레이드 이미지가 먼저 전송될 경우, 노드 4를 통하여 업그레이드가 진행되도록 이루어지는 것이 바람직하나, 이에 한정하지 아니한다.That is, in the case of the
한편, 상기 컨트롤러(100)는 전체 노드의 개수에 따른 시드노드의 개수를 산출한 후 산출된 개수의 시드노드를 적절하게 배치하기 위한 시드노드의 위치를 선정하여야 한다.On the other hand, the
여기서, 최우선적으로 고려되어야 하는 사항은, 전체 노드를 업그레이드 하기 위한 최소 업그레이드 횟수이며, 노드 간의 업그레이드 횟수는 네트워크 대역폭을 전용하는 상황이므로 1회의 횟수로 간주한다.Here, the most important thing to consider is the minimum number of upgrades for upgrading the entire node, and the number of upgrades between nodes is regarded as one time since it is a situation of dedicating network bandwidth.
즉, 도 4에서 도시하고 있는 바와 같이, 전체 노드의 개수가 6개인 경우로 예를 들면, 상기 컨트롤러(100)를 통하여 노드 2에 업그레이드 이미지의 전송을 1회로 간주하고, 상기 컨트롤러(100)를 통하여 노드 5에 업그레이드 이미지의 전송을 다시 1회로 간주하며, 상기 노드 2에서 그 양 측의 노드 1 및 노드 3에 업그레이드 이미지의 전송과 노드 5에서 그 양 측의 노드 4 및 노드 6에 업그레이드 이미지의 전송은 네트워크 대역폭을 전용하도록 이루어짐으로써 상기 노드 2에서 노드 1 및 노드 3에 업그레이드 이미지의 전송과 노드 5에서 노드 4 및 노드 6에 업그레이드 이미지의 전송을 1회로 간주한다.That is, as shown in FIG. 4, in the case where the total number of nodes is six, for example, the transmission of the upgrade image to the
상기한 바와 같이, 상기 컨트롤러(100)를 통하여 노드 2에 업그레이드 이미지 전송을 1회째로 간주하고, 상기 컨트롤러(100)를 통하여 노드 5에 업그레이드 이미지 전송을 2회째로 간주하며, 상기 노드 2에서 그 양 측의 노드 1 및 노드 3에 업그레이드 이미지 전송과 노드 5에서 그 양 측의 노드 4 및 노드 6에 업그레이드 이미지 전송을 3회째로 간주한다.As described above, the upgrade image transmission to the
또한, 도 5에서 도시하고 있는 바와 같이, 전체 노드의 개수가 10개인 경우로 예를 들면, 시드노드의 개수가 2개로 산출되고, 산출된 시드노드가 노드 3과 노드 8로 선정될 경우, 상기 컨트롤러(100)를 통하여 시드노드인 노드 3으로 전송된 업그레이드 이미지를 그 양 측의 노드 2 및 4에 전송하고, 업그레이드 이미지가 전송된 노드 2는 이를 노드 1에 전송하며, 업그레이드 이미지가 전송된 노드 4는 이를 노드 5에 전송하고, 상기 컨트롤러(100)를 통하여 시드노드인 노드 8로 전송된 업그레이드 이미지를 그 양 측의 노드 7 및 노드 9에 전송하며, 업그레이드 이미지가 전송된 노드 7은 이를 노드 6에 전송하고, 업그레이드 이미지가 전송된 노드 9는 이를 노드 10에 전송하게 된다.In addition, as shown in FIG. 5, when the total number of nodes is 10, for example, when the number of seed nodes is calculated as two, and the calculated seed nodes are selected as
이렇게, 시드노드인 노드 3에서 노드 2 및 3으로 업그레이드 이미지를 전송하는 횟수와 시드노드인 노드 8에서 노드 7 및 노드 9로 업그레이드 이미지를 전송하는 횟수를 1회째로 간주하고, 노드 2에서 노드 1로 업그레이드 이미지를 전송하는 횟수와 노드 4에서 노드 5로 업그레이드 이미지를 전송하는 횟수와 노드 7에서 노드 6으로 업그레이드 이미지를 전송하는 횟수 및 노드 9에서 노드 10으로 업그레이드 이미지를 전송하는 횟수를 2회째로 간주함으로써 2회의 업그레이드 진행으로 2개의 시드노드를 통하여 나머지 8개의 노드에 대한 업그레이드 진행을 완료할 수 있다.In this way, the number of times that an upgrade image is transmitted from
이때, 상기 컨트롤러(100)에서 시드노드인 노드 3으로 업그레이드 이미지를 전송하는 횟수 1회와 상기 컨트롤러(100)에서 시드노드인 노드 8로 업그레이드 이미지를 전송하는 횟수 1회를 더하여 전체 노드의 개수가 10개인 경우, 총 4회의 업그레이드를 진행함으로써 10개의 노드에 대한 업그레이드를 진행할 수 있다.In this case, the number of total nodes is increased by adding one time of transmitting the upgrade image from the
이렇게, 본 발명에 의한 데이지 체인 분산 업그레이드 방법에 의해 전체 노드의 개수가 6개인 상황에서 업그레이드의 진행 시에는 전체 업그레이드의 발생 횟수가 3회로 완료되고, 전체 노드의 개수가 10개 상황에서 업그레이드 진행시에는 전체 업그레이드 발생 횟수가 4회로 완료할 수 있으며, 이로 인해 컨트롤러(100)가 전담으로 노드 1에서 노드 6까지 6회의 횟수로 각 노드를 순차적으로 업그레이드 하거나, 컨트롤러(100)가 전담으로 노드 1에서 노드 10까지 10회의 횟수로 각 노드를 순차적으로 업그레이드 하는 기존 업그레이드 방식에 비해 업그레이드 횟수를 현저히 감소시킬 수 있어 전체 업그레이드 진행 시간을 단축시킬 수 있다.Thus, by the daisy chain distributed upgrade method according to the present invention, when the upgrade is performed in a situation where the total number of nodes is six, the number of occurrences of the entire upgrade is completed three times, and when the upgrade is performed in the situation where the total number of nodes is ten. In this case, the total number of upgrades can be completed four times, which causes the
또한, 컨트롤러(100)가 아닌, 업그레이드된 시드노드가 다른 노드를 업그레이드함으로써 전체 네트워크의 트래픽을 최소화할 수 있으며, 데이지 체인으로 구성된 네트워크의 특정 구간의 네트워크 대역폭을 전용하여 업그레이드를 진행함으로써 분산처리 효과를 얻을 수 있다.In addition, the upgraded seed node, other than the
이하, 본 발명에 의한 데이지 체인 분산 업그레이드 방법을 설명한다.Hereinafter, a daisy chain distributed upgrade method according to the present invention will be described.
먼저, 서버에서 컨트롤러(100)로 업그레이드 이미지를 전송하고, 상기 컨트롤러(100)는 시드노드 개수 산출부(110)를 통하여 전체 노드의 개수에 따라 이에 최적화된 시드노드의 개수를 산출한다. 즉, 네트워크를 구성하는 전체 노드의 개수에 따른 시드노드의 개수를 산출하고, 이에 따라 상기 업그레이드 횟수 산출부(130)를 통하여 최소 업그레이드 진행 횟수를 산출한다.First, the server transmits an upgrade image to the
이를 위하여 하기 [표 1]을 바탕으로 규칙성을 찾고, 이를 수식으로 나타내었다.To this end, the regularity was found based on the following [Table 1], and this is represented by a formula.
[표 1]은 시드노드의 개수와 전체 노드의 개수에 따른 업그레이드 횟수의 상관 관계를 나타내는 것으로서, 가로축은 컨트롤러(100)를 통하여 최초 업그레이드 이미지를 전송받기 위한 시드노드의 개수를 의미하고, 세로축은 네트워크로 연결되는 전체 시드의 개수를 의미하며, 가로축과 세로축이 만나는 지점은 업그레이드 진행 횟수를 나타낸다.[Table 1] shows the correlation between the number of seed nodes and the number of upgrades according to the total number of nodes. The horizontal axis indicates the number of seed nodes for receiving the initial upgrade image through the
예를 들어, 세로축의 값이 6이고, 가로축의 값이 2이며, 세로축과 가로축이 만나는 지점의 값이 3일 경우, 이는 네트워크로 연결되는 전체 노드의 개수가 6개이고, 6개의 노드 중 컨트롤러(100)를 통하여 업그레이드 이미지를 전송받는 시드노드의 개수가 2개이며, 전체 노드의 개수가 6개이고 시드노드의 개수가 2개일 경우, 총 3회의 횟수로 업그레이드가 진행됨을 알 수 있다.For example, if the value of the vertical axis is 6, the value of the horizontal axis is 2, and the value of the point where the vertical axis and the horizontal axis meet is 3, this means that the total number of nodes connected to the network is 6, and among the six nodes, the controller ( When the number of seed nodes receiving the upgrade image is 2, the total number of nodes is 6, and the number of seed nodes is 2 through 100), it can be seen that the upgrade is performed three times.
또한, 세로축의 값이 15이고, 가로축의 값이 3이며, 세로축과 가로축이 만나는 지점의 값이 5일 경우, 이는 네트워크로 연결되는 전체 노드의 개수가 15개이고, 15개의 노드 중 컨트롤러(100)를 통하여 업그레이드 이미지를 전송받는 시드노드의 개수가 3개이며, 전체 노드의 개수가 15개이고 시드노드의 개수가 3개일 경우, 총 5회의 횟수로 업그레이드가 진행됨을 알 수 있다. In addition, when the value of the vertical axis is 15, the value of the horizontal axis is 3, and the value of the point where the vertical axis and the horizontal axis meet is 5, this means that the total number of nodes connected to the network is 15, and among the 15 nodes, the
여기서, 검정색 박스로 표시된 숫자는 전체 노드의 개수가 동일한 그룹일 경우, 시드노드의 개수가 늘어남으로써 업그레이드를 진행하는 최소화된 횟수를 나타내는 것이다.Here, the number indicated by the black box indicates the minimum number of upgrades by increasing the number of seed nodes when the total number of nodes is the same group.
이렇게, 전체 노드의 개수에 따른 시드노드의 개수 및 그에 따라 최소화된 업그레이드 횟수를 하기 [표 2]에 나타낸다.Thus, the number of seed nodes according to the total number of nodes and the number of upgrades minimized accordingly are shown in the following [Table 2].
[표 2]에서 나타내고 있는 바와 같이, 전체 노드의 개수가 6개일 경우, 시드노드의 개수는 2개이며, 이를 통해 업그레이드 횟수를 3번으로 최소화할 수 있으며, 전체 노드의 개수가 15일 경우, 시드노드의 개수는 3개이며, 이를 통해 업그레이드 횟수를 5회로 최소화할 수 있다.As shown in [Table 2], when the total number of nodes is six, the number of seed nodes is two, through which the number of upgrades can be minimized to three, and when the total number of nodes is 15, The number of seed nodes is three, which minimizes the number of upgrades to five.
한편, [표 1]에서 나타내고 있는 바와 같이, 전체 노드의 개수가 2개 내지 5개일 경우, 시드의 개수는 1개이고, 이를 통해 업그레이드 횟수를 2회 또는 3회로 최소화할 수 있으며, 전체 노드의 개수가 7개 내지 14개일 경우, 시드의 개수는 2개이고, 이를 통해 업그레이드 횟수를 4회 또는 5회로 최소화할 수 있다.On the other hand, as shown in Table 1, when the total number of nodes is 2 to 5, the number of seeds is 1, through which the number of upgrades can be minimized twice or three times, the total number of nodes Is 7 to 14, the number of seeds is two, thereby minimizing the number of upgrades four or five times.
여기서, 전체 노드에서 단순히 시드노드의 개수를 증가시키는 것만으로 업그레이드 횟수가 최소화되지 않음을 알 수 있다.Here, it can be seen that the number of upgrades is not minimized simply by increasing the number of seed nodes in all nodes.
즉, 전체 노드의 개수가 4개이고, 시드노드의 개수를 3개 적용할 경우, 컨틀롤러에서 4개의 노드 중 3개의 시드노드에 순차적으로 3회 업그레이드 이미지를 전송하고, 3개의 시드노드 중 어느 하나의 시드노드가 업그레이드 되지 않은 나머지 1개의 노드에 업그레이드 이미지를 전송하도록 이루어짐으로써 총 4회의 업그레이드를 진행하게 되나, 이는 전체 노드의 개수가 4개이고, 시드노드의 개수를 2개로 적용하여 총 3회의 업그레이드를 진행하는 방법에 비해 업그레이드 횟수가 증가함을 알 수 있다.That is, if the total number of nodes is four, and if the number of seed nodes is applied to three, the controller transmits the upgrade image three times sequentially to three of the four nodes, and any one of the three seed nodes. A total of four upgrades will be performed by sending the upgrade image to one remaining non-upgraded node, but the total number of nodes is four and three upgrades are applied by applying two seed nodes. It can be seen that the number of upgrades increases compared to the method of proceeding.
따라서, 전체 노드의 개수에 따라 최적화된 개수의 시드노드가 요구된다.Therefore, an optimal number of seed nodes is required according to the total number of nodes.
이를 위하여, 전체 노드의 개수를 상수 A로 나타내고, 시드노드의 개수를 n으로 나타내며, 업그레이드 횟수를 2n-1로 나타내고, 이를 수식으로 나타내면 하기 공식과 같다.To this end, the total number of nodes is represented by a constant A, the number of seed nodes is represented by n, the number of upgrades is represented by 2n-1, and this is represented by the following formula.
즉, In other words,
이다.to be.
예를 들면, 네트워크로 연결되는 전체 노드의 개수(A)가 7인 경우, 시드노드의 개수(n)의 결과값은 2.13이고, 이때 소수점을 제외한 나머지 숫자 2는 [표 1]에 나타난 바와 같이, 최적화된 시드노드의 개수임으로 알 수 있다.For example, when the total number of nodes A connected to the network is 7, the result value of the number n of seed nodes is 2.13, where the remaining
상기한 바와 같이, 공식 (1) 및 공식 (2)를 통하여 네트워크로 연결되는 전체 노드의 개수 A로부터 n개의 시드노드 개수를 산출할 수 있으며, 산출된 시드노드의 개수를 통해 네트워크로 연결되는 전체 노드 중 어느 위치의 노드를 시드노드로 선정해야 하는 지를 알아본다.As described above, the number of n seed nodes can be calculated from the number A of all nodes connected to the network through formulas (1) and (2), and the total number of seed nodes connected to the network through the calculated number of seed nodes. Find out which of the nodes should be selected as the seed node.
먼저, 상기 컨트롤러(100)의 시드노드 배치부(150)를 통하여 업그레이드 이미지가 전송될 첫 번째 시드노드의 위치를 선정하되, 하기의 공식을 통해서 구할 수 있다.First, the location of the first seed node to which the upgrade image is to be transmitted through the seed
여기서, 공식 (3)에서 사용되는 대괄호([ ])는 천장 함수 기호로서, 하기의 수식을 의미한다.Here, square brackets ([]) used in formula (3) are ceiling function symbols, and mean the following formula.
상기 시드노드 배치부(150)의 첫 번째 시드노드 선정부(151)는 상기 공식 (3)을 통해 시드노드의 기준점이 되는 첫 번째 시드노드의 위치를 선정 및 결정할 수 있으며, 시드노드 간격 결정부(153)를 통하여 하기 공식 (4)를 통해 첫 번째로 선정된 시드노드에서 얼마 만큼의 거리에 위치하는 노드를 시드노드로 선정할 지 알 수 있다.The first
여기서, 공식 (4)에 사용되는 대괄호([ ])는 바닥 함수 기호로서, 하기의 수식을 의미하며, +0.5 값은 대괄호 내의 값을 반올림하겠다는 의미이다.Here, square brackets ([]) used in Formula (4) are floor function symbols, and the following formulas are used, and a +0.5 value means rounding a value in square brackets.
이때, 공식 (4)를 통하여 도출된 값은 공식 (3)에서 도출된 값에 더해지는 증가분이다. 즉, 공식 (3)에서 도출된 값을 기준으로 공식 (4)에서 도출된 값만큼 증가시키며, 공식 (3)을 통해 선정된 첫 번째 시드노드에서 공식 (4)를 통해 도출된 값 만큼 증가시킨 위치의 노드를 두 번째 또는 세 번째 등의 시드노드로 선정한다.At this time, the value derived through formula (4) is an increment added to the value derived from formula (3). That is, it increases by the value derived from formula (4) based on the value derived from formula (3), and increases by the value derived through formula (4) in the first seed node selected through formula (3). Select the node of the position as the seed node of the second or third etc.
예를 들면, 공식 (3)에서 도출된 값이 3이고, 공식 (4)로부터 도출된 값이 7일 경우, 네트워크로 연결되는 전체 노드 중 3번째에 위치하는 노드가 시드노드가고, 시드노드로부터 7번째 이격된 노드가 그 다음 시드노드로 선정해야 최소의 업그레이드 횟수를 통해 전체 노드의 업드레이드를 진행할 수 있다.For example, if the value derived from formula (3) is 3 and the value derived from formula (4) is 7, the node located in the third of all nodes connected to the network is the seed node, and from the seed node. The seventh spaced node must be selected as the next seed node to upgrade the entire node with the minimum number of upgrades.
상기한 바와 같이, 상기 컨트롤러(100)의 시드노드 개수 산출부(110)를 통하여 시드노드의 개수를 산출한 후 시드노드 배치부(150)를 통하여 시드노드의 위치를 선정하되, 상기 시드노드 배치부(150)의 첫 번째 시드노드 선정부(151)를 통해 컨트롤러(100)의 업그레이드 이미지를 첫 번째로 전송받을 시드노드를 선정하고, 시드노드 간격 결정부(153)를 통해 첫 번째로 업그레이드 이미지를 전송받을 시드노드에서 다음 또는/및 그 다음으로 업그레이드 이미지를 전송받을 시드노드와의 간격을 결정하며, 시드노드의 개수 및 시드노드의 위치가 선정 및 결정될 경우, 상기 컨트롤러(100)의 업그레이드 실행부(170)를 통해 업그레이드 이미지를 시드노드로 전송한 후 각 시드노드가 이에 인접한 양 측의 노드에 업그레이드를 진행한다.As described above, after calculating the number of seed nodes through the number of seed
이렇게, 상기 컨트롤러(100)가 네트워크로 연결되는 전체 노드 중 업그레이드 이미지가 전송될 시드노드의 개수 및 위치를 선정하고, 선정된 시드노드에 업그레이드 이미지를 전송하면, 각 시드노드가 그 양 측에 인접된 나머지 노드들에 대한 업그레이드를 분산하여 담당함으로써 각 장치의 리소스를 효율적으로 사용할 수 있다.As such, when the
이상, 본 발명은 특정의 실시예와 관련하여 도시 및 설명하지만, 첨부 특허청구의 범위에 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것은 당업계에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.While the invention has been shown and described in connection with particular embodiments, it will be appreciated that various modifications and variations can be made without departing from the spirit and scope of the invention as set forth in the appended claims. Anyone who owns it can easily find out.
100 : 컨트롤러,
110 : 시드노드 개수 산출부,
130 : 업그레이드 횟수 산출부,
150 : 시드노드 배치부,
151 : 첫 번째 시드노드 선정부,
153 : 시드노드 간격 결정부,
170 : 업그레이드 실행부.100: controller,
110: seed node counting unit,
130: upgrade count calculation unit,
150: seed node arrangement,
151: the first seed node selection unit,
153: seed node spacing determiner,
170: upgrade execution unit.
Claims (7)
상기 서버가 컨트롤러로 업그레이드 이미지를 전송하는 단계;
상기 컨트롤러가 전체 노드에서 업그레이드 이미지를 전송할 시드노드의 개수를 산출하는 단계;
상기 산출된 개수의 시드노드를 통하여 업그레이드 횟수를 산출하는 단계;
상기 산출된 업그레이드 횟수에 대응되도록 업그레이드를 진행할 시드노드의 위치를 선정하는 단계;
상기 선정된 시드노드에 업그레이드 이미지를 전송하는 단계; 및
상기 시드노드가 전송된 업그레이드 이미지를 다른 노드에 전송하는 단계;
를 포함하고,
상기 시드노드로부터 업그레이드 이미지를 전송받은 노드는 업그레이드되지 않은 다른 노드로 업그레이드 이미지를 반복적으로 전송하도록 이루어지는 것을 특징으로 하는 데이지 체인 분산 업그레이드 방법.
In the upgrade method of the automatic control equipment comprising a server, a controller and at least one node, which are interconnected in a daisy chain by a network,
The server transmitting an upgrade image to a controller;
Calculating, by the controller, the number of seed nodes that will transmit an upgrade image in all nodes;
Calculating the number of upgrades through the calculated number of seed nodes;
Selecting a location of a seed node to be upgraded to correspond to the calculated number of upgrades;
Transmitting an upgrade image to the selected seed node; And
Transmitting, by the seed node, the upgrade image transmitted to another node;
Including,
The node receiving the upgrade image from the seed node repeatedly transmits the upgrade image to another node that is not upgraded.
상기 전체 노드에서 업그레이드 이미지를 전송할 시드노드의 개수를 산출하는 단계에서,
상기 시드노드의 개수는 하기 공식에 의해 산출되는 것을 특징으로 하는 데이지 체인 분산 업그레이드 방법.
The method according to claim 1,
In the step of calculating the number of seed nodes to transmit the upgrade image in all the nodes,
Daisy chain distributed upgrade method, characterized in that the number of seed nodes is calculated by the following formula.
상기 산출된 개수의 시드노드의 위치를 선정하는 단계에서,
상기 첫 번째 시드노드의 위치의 선정은 하기 공식에 의해 산출되는 것을 특징으로 하는 데이지 체인 분산 업그레이드 방법.
The method according to claim 2,
In selecting the position of the calculated number of seed nodes,
Daisy chain distributed upgrade method, characterized in that the selection of the position of the first seed node is calculated by the following formula.
상기 첫 번째 시드노드의 위치에서 그 다음 시드노드의 위치 선정은 하기 공식에 의해 산출되는 것을 특징으로 하는 데이지 체인 분산 업그레이드 방법.
The method according to claim 3,
And the positioning of the next seed node at the position of the first seed node is calculated by the following formula.
상기 전체 노드에서 업그레이드 이미지를 전송할 시드노드의 개수를 산출하는 단계에서,
상기 컨트롤러에서 각 시드노드로 업그레이드 이미지를 전송하는 횟수를 각 1회로 간주하고,
상기 시드노드에서 나머지 노드로 업그레이드 이미지를 전송하는 횟수는 네트워크 대역폭을 전용하는 상황이므로 1회로 간주하며,
상기 산출된 시드노드의 개수 및 시드노드의 위치는 전체 노드를 업그레이드하기 위한 최소 업그레이드 진행 횟수로 산출 및 선정하도록 이루어지는 것을 특징으로 하는 데이지 체인 분산 업그레이드 방법.
The method according to claim 1,
In the step of calculating the number of seed nodes to transmit the upgrade image in all the nodes,
Consider the number of times that the upgrade image is sent to each seed node from the controller once,
The number of times the upgrade image is transmitted from the seed node to the remaining nodes is regarded as one time because it dedicates network bandwidth.
The calculated number of seed nodes and the position of the seed node is calculated and selected as the minimum number of upgrade progress for upgrading the entire node, characterized in that the daisy chain distributed upgrade method.
상기 컨트롤러는 네트워크로 연결되는 전체 노드의 업그레이드 시 전체 노드에서 시드노드의 개수를 산출하는 시드노드 개수 산출부와, 상기 시드노드 개수 산출부를 통하여 산출된 시드노드로 업그레이드 횟수를 산출하는 업그레이드 횟수 산출부와, 상기 업그레이드 횟수 산출부를 통하여 산출된 업그레이드 횟수에 대응되도록 시드노드를 전체 노드에서 어떤 위치에 배치시킬지 여부를 선정하는 시드노드 배치부, 및 상기 시드노드 배치부를 통하여 배치된 시드노드에 업그레이드 이미지를 전송하여 업그레이드를 실행하는 업그레이드 실행부를 포함하여 구성되는 것을 특징으로 하는 데이지 체인 분산 업그레이드 시스템.
In the upgrade system of automatic control equipment comprising a server, a controller and at least one node, which are interconnected in a daisy chain by a network,
The controller may include a seed node number calculating unit that calculates the number of seed nodes in all nodes when upgrading all nodes connected to a network, and an upgrade count calculating unit that calculates the number of upgrades to seed nodes calculated through the seed node number calculating unit. And a seed node arranging unit configured to select a position of the seed node at all nodes so as to correspond to the number of upgrades calculated through the upgrade number calculating unit, and an upgrade image to the seed node disposed through the seed node arranging unit. Daisy chain distributed upgrade system, characterized in that configured to include an upgrade execution unit for transmitting and performing the upgrade.
상기 시드노드 배치부는 상기 첫 번째 시드노드의 위치를 선정하는 첫 번째 시드노드 선정부와, 상기 첫 번째 시드노드 선정부를 통하여 위치가 선정된 첫 번째 시드노드에서 다음 또는/및 그 다음 시드노드와의 간격을 순차적으로 결정하는 시드노드 간격 결정부를 더 포함하여 구성되는 것을 특징으로 하는 데이지 체인 분산 업그레이드 시스템.
The method according to claim 6,
The seed node placement unit is configured to select a position of the first seed node, a first seed node selection unit, and a first seed node positioned through the first seed node selection unit. Daisy chain distributed upgrade system, characterized in that further comprises a seed node interval determination unit for determining the interval sequentially.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190151445A KR102074704B1 (en) | 2019-11-22 | 2019-11-22 | Distributed upgrade Method used daisy chain and system thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190151445A KR102074704B1 (en) | 2019-11-22 | 2019-11-22 | Distributed upgrade Method used daisy chain and system thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102074704B1 true KR102074704B1 (en) | 2020-02-07 |
Family
ID=69570148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190151445A KR102074704B1 (en) | 2019-11-22 | 2019-11-22 | Distributed upgrade Method used daisy chain and system thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102074704B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070005291A (en) | 2005-07-06 | 2007-01-10 | 엘지전자 주식회사 | Device upgrade method for device link system |
KR20120106043A (en) * | 2011-03-17 | 2012-09-26 | (주)누리텔레콤 | Method for remote upgrade of remote meter reading system |
KR20140130907A (en) * | 2013-05-02 | 2014-11-12 | (주)누리텔레콤 | Method for upgrading of nodes in remote meter reading system and apparatus thereof |
KR20140133242A (en) * | 2013-05-10 | 2014-11-19 | (주)누리텔레콤 | Method for upgrading firmware using remote meter reading system and apparatus thereof |
KR101525811B1 (en) * | 2014-03-28 | 2015-06-09 | 유틸라이팅(주) | System and method for upgrading firmware in wireless sensor network |
-
2019
- 2019-11-22 KR KR1020190151445A patent/KR102074704B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070005291A (en) | 2005-07-06 | 2007-01-10 | 엘지전자 주식회사 | Device upgrade method for device link system |
KR20120106043A (en) * | 2011-03-17 | 2012-09-26 | (주)누리텔레콤 | Method for remote upgrade of remote meter reading system |
KR20140130907A (en) * | 2013-05-02 | 2014-11-12 | (주)누리텔레콤 | Method for upgrading of nodes in remote meter reading system and apparatus thereof |
KR20140133242A (en) * | 2013-05-10 | 2014-11-19 | (주)누리텔레콤 | Method for upgrading firmware using remote meter reading system and apparatus thereof |
KR101525811B1 (en) * | 2014-03-28 | 2015-06-09 | 유틸라이팅(주) | System and method for upgrading firmware in wireless sensor network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101053262B (en) | Method and apparatus for patch panel patch cord documentation and revision | |
CN106020136B (en) | Method and system for defining slot bit address | |
CN102486739B (en) | Method and system for distributing data in high-performance computer cluster | |
CN101986278B (en) | Automatic testing method and system for electronic equipment | |
CN105518620B (en) | A kind of network card configuration method and resource management center | |
CN110032382A (en) | A kind of vehicle electronic control unit upgrade method, system and terminal device | |
CN108449286A (en) | Network bandwidth resources distribution method and device | |
CN102279756A (en) | CPLD (Complex Programmable Logic Device) firmware updating method | |
CN109445839A (en) | A kind of module management packet dissemination method, device and terminal device | |
CN109447355A (en) | Dispatching optimization method, device, medium and the calculating equipment of articles from the storeroom | |
WO2012134101A2 (en) | Multiple plc simulation system | |
CN102622247A (en) | Basic input / output system (BIOS) information allocation system and method of server | |
CN104811979A (en) | Pressure testing method and device based on FOTA upgrading | |
EP0692753A2 (en) | Control device | |
US7716386B1 (en) | Component identification and transmission system | |
KR102074704B1 (en) | Distributed upgrade Method used daisy chain and system thereof | |
CN104125166A (en) | Queue scheduling method and computing system | |
CN102970335B (en) | Communication system | |
JPH0936858A (en) | Information transfer method/device | |
CN103109269A (en) | A low or medium voltage electric power distribution network | |
CN105487621A (en) | Electronic device | |
US20190095190A1 (en) | Method for distributing software upgrade in a communication network | |
CN104079631B (en) | A kind of method for edition management and relevant apparatus | |
CN111034126B (en) | Station number setting device for network device | |
CN105281944B (en) | Method for setting network protocol address and service management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |