KR101985899B1 - System, method, and computer program for assigning tasks - Google Patents
System, method, and computer program for assigning tasks Download PDFInfo
- Publication number
- KR101985899B1 KR101985899B1 KR1020170128314A KR20170128314A KR101985899B1 KR 101985899 B1 KR101985899 B1 KR 101985899B1 KR 1020170128314 A KR1020170128314 A KR 1020170128314A KR 20170128314 A KR20170128314 A KR 20170128314A KR 101985899 B1 KR101985899 B1 KR 101985899B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- job
- hold message
- node
- list
- Prior art date
Links
Images
Classifications
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1025—Dynamic adaptation of the criteria on which the server selection is based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/78—Architectures of resource allocation
-
- 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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명의 일 실시예에 따른 작업 할당 시스템은 네트워크를 구성하는 하나의 노드는, 상기 네트워크를 구성하는 다른 노드들에 작업 리스트 및 제1 작업 홀드 메시지를 전송하고, 상기 다른 노드들 중 적어도 하나로부터 제2 작업 홀드 메시지를 수신하는 통신 인터페이스; 작업 지시서에 기초하여 상기 작업 리스트를 생성하고, 상기 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제1 작업 홀드 메시지를 생성하고, 상기 제1 작업 홀드 메시지와 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하고, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 프로세서; 및 상기 작업 리스트를 저장하는 데이터베이스;를 포함한다.A task allocation system according to an embodiment of the present invention is a system in which a node constituting a network transmits a task list and a first task hold message to other nodes constituting the network, A communication interface for receiving a second job hold message; Generating at least one job included in the job list, generating the first job hold message for the at least one job, generating the first job hold message and the second job hold message, A processor for determining whether to perform the at least one task based on a result of comparing the second task hold message for the at least one task and updating the task list if performing or holding the at least one task; And a database for storing the task list.
Description
본 발명의 실시예들은 메쉬 네트워크(mesh network)에서의 작업 할당 시스템, 방법, 및 컴퓨터 프로그램에 관한 것이다.Embodiments of the present invention relate to a task assignment system, method, and computer program in a mesh network.
네트워크는 구조에 따라 허브 앤 스포크 네트워크(hub and spoke network)와 메쉬 네트워크로 구분될 수 있다.A network can be divided into a hub and spoke network and a mesh network depending on the structure.
허브 앤 스포크 네트워크에서는 스포크 노드 간의 연결이 허브 노드를 통해 이루어지며, 메쉬 네트워크에서는 노드 간의 연결이 직접 이루어진다.In a hub-and-spoke network, the connections between the spoke nodes are made through the hub node, and the connections between the nodes are made directly in the mesh network.
클라우드 컴퓨팅 환경은 메쉬 네트워크를 기반으로 대용량 데이터를 수집할 수 있다. 따라서, 허브 노드가 부재한 메쉬 네트워크에 보다 적합한 데이터 수집을 위한 작업 할당 기법의 개발이 필요하다.The cloud computing environment can collect large amounts of data based on mesh networks. Therefore, it is necessary to develop a task allocation scheme for data collection that is more suitable for a mesh network without a hub node.
본 발명의 실시예들은 메쉬 네트워크에 적합한 작업 할당 시스템, 방법, 및 컴퓨터 프로그램을 제공하고자 한다.Embodiments of the present invention seek to provide a task assignment system, method, and computer program suitable for a mesh network.
본 발명의 일 실시예에 따른 작업 할당 시스템이 구현된 네트워크를 구성하는 하나의 노드는, 상기 네트워크를 구성하는 다른 노드들에 작업 리스트 및 제1 작업 홀드 메시지를 전송하고, 상기 다른 노드들 중 적어도 하나로부터 제2 작업 홀드 메시지를 수신하는 통신 인터페이스; 작업 지시서에 기초하여 상기 작업 리스트를 생성하고, 상기 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제1 작업 홀드 메시지를 생성하고, 상기 제1 작업 홀드 메시지와 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하고, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 프로세서; 및 상기 작업 리스트를 저장하는 데이터베이스;를 포함한다.One node constituting a network in which a task allocation system according to an embodiment of the present invention is implemented transmits a task list and a first task hold message to other nodes constituting the network, A communication interface for receiving a second job hold message from one; Generating at least one job included in the job list, generating the first job hold message for the at least one job, generating the first job hold message and the second job hold message, A processor for determining whether to perform the at least one task based on a result of comparing the second task hold message for the at least one task and updating the task list if performing or holding the at least one task; And a database for storing the task list.
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.In the present exemplary embodiment, the comparison result between the first and second job hold messages is obtained by comparing the elapsed time from the first job hold message transmission time and the second job hold message reception time Lt; / RTI >
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 생성 시간과 제2 작업 홀드 메시지 생성 시간을 비교한 결과일 수 있다.In this embodiment, the result of comparing the first and second job hold messages may be a result of comparing the first and second job hold message generation times.
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간과, 제2 작업 홀드 메시지 전송 시간 또는 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.In the present exemplary embodiment, the comparison result of the first and second job hold messages may be compared with the first and second job hold message transmission times or the second job hold message reception times It can be a result.
본 실시예에서, 상기 작업 리스트는 상기 작업 지시서에 포함된 작업들 각각에 대한 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)일 수 있다.In the present embodiment, the work list may be a Bloom filter in which at least one of an identifier and a status code for each of the jobs included in the work instruction sheet is inserted.
본 실시예에서, 상기 프로세서에 의해, 상기 적어도 하나의 작업을 수행하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)으로 변경함으로써 상기 작업 리스트를 갱신하고, 상기 적어도 하나의 작업을 홀드하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경함으로써 상기 작업 리스트를 갱신할 수 있다.In the present embodiment, the processor updates the task list by performing the at least one task to change the status code corresponding to the at least one task from none to done, When a job is held, the job list can be updated by changing the status code corresponding to the at least one job from none to hold.
본 실시예에서, 상기 통신 인터페이스에 의해, 상기 다른 노드들에 제1 리소스 정보를 전송하고, 상기 다른 노드들 중 적어도 하나로부터 제2 리소스 정보를 수신하고, 상기 프로세서에 의해, 상기 제1 리소스 정보에 포함시킨 제1 리소스 성능이 상기 제2 리소스 정보에 포함된 제2 리소스 성능보다 좋은 경우 상기 작업 리스트를 생성할 수 있다.In this embodiment, by the communication interface, first resource information is transmitted to the other nodes, second resource information is received from at least one of the other nodes, and the first resource information If the first resource performance included in the second resource information is better than the second resource performance included in the second resource information.
본 발명의 일 실시예에 따른 작업 할당 시스템이 구현된 네트워크를 구성하는 하나의 노드는, 상기 네트워크를 구성하는 다른 노드로부터 작업 리스트 및 제1 작업 홀드 메시지를 수신하고, 상기 다른 노드에 제2 작업 홀드 메시지를 전송하는 통신 인터페이스; 상기 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 생성하고, 상기 적어도 하나의 작업에 대한 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하고, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 프로세서; 및 상기 작업 리스트를 저장하는 데이터베이스;를 포함한다.One node constituting the network in which the task assignment system according to an embodiment of the present invention is implemented may receive a task list and a first task hold message from another node constituting the network, A communication interface for transmitting a hold message; Selecting at least one job included in the job list, generating the second job hold message for the at least one job, and generating the first job hold message for the at least one job and the second job hold message for the at least one job, A processor for determining whether to perform the at least one task based on a result of comparing the message and updating the task list when performing or holding the at least one task; And a database for storing the task list.
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 전송 시간을 비교한 결과일 수 있다.In the present exemplary embodiment, the comparison result between the first and second job hold messages is obtained by comparing the time elapsed from the reference time and the transmission time of the second job hold message from the reception time of the first job hold message Lt; / RTI >
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 생성 시간과 제2 작업 홀드 메시지 생성 시간을 비교한 결과일 수 있다.In this embodiment, the result of comparing the first and second job hold messages may be a result of comparing the first and second job hold message generation times.
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제2 작업 홀드 메시지 전송 시간과, 제1 작업 홀드 메시지 전송 시간 또는 제1 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.In the present exemplary embodiment, the comparison result between the first and second job hold messages indicates that the second job hold message transmission time is compared with the first job hold message transmission time or the first job hold message reception time It can be a result.
본 실시예에서, 상기 작업 리스트는 작업 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)일 수 있다.In the present embodiment, the task list may be a Bloom filter in which at least one of the task identifier and the status code is inserted.
본 실시예에서, 상기 프로세서에 의해, 상기 적어도 하나의 작업을 수행하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)으로 변경함으로써 상기 작업 리스트를 갱신하고, 상기 적어도 하나의 작업을 홀드하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경함으로써 상기 작업 리스트를 갱신할 수 있다.In the present embodiment, the processor updates the task list by performing the at least one task to change the status code corresponding to the at least one task from none to done, When a job is held, the job list can be updated by changing the status code corresponding to the at least one job from none to hold.
본 실시예에서, 상기 통신 인터페이스에 의해 상기 다른 노드로부터 상기 적어도 하나의 작업에 대한 작업 완료 메시지를 수신하고, 상기 프로세서에 의해 상기 작업 완료 메시지에 대응하여 상기 적어도 하나의 작업에 대응하는 상태코드를 상기 미완료 또는 상기 홀드에서 완료(done)로 변경함으로써 상기 작업 리스트를 갱신할 수 있다.In the present embodiment, a task completion message for the at least one task is received from the other node by the communication interface, and a status code corresponding to the at least one task The task list can be updated by changing from the above-mentioned incomplete or the hold to done.
본 발명의 일 실시예에 따른 작업 할당 방법은 상기 제1 노드에 의해, 작업 지시서에 기초하여 작업 리스트를 생성하는 단계; 상기 제1 노드에 의해, 상기 작업 리스트를 상기 제2 노드에 전송하는 단계; 상기 제1 노드에 의해, 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 제1 작업 홀드 메시지를 생성하고, 상기 제1 작업 홀드 메시지를 상기 제2 노드에 전송하는 단계; 상기 제1 노드에 의해, 상기 제2 노드로부터 상기 적어도 하나의 작업에 대한 제2 작업 홀드 메시지를 수신하는 단계; 상기 제1 노드에 의해, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하는 단계; 및 상기 제1 노드에 의해, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 단계;를 포함한다.According to an embodiment of the present invention, there is provided a method of assigning a task, the method comprising: generating a task list by a first node based on a task instruction sheet; Sending, by the first node, the task list to the second node; Selecting, by the first node, at least one task included in the task list, generating a first task hold message for the at least one task, and transmitting the first task hold message to the second node step; Receiving, by the first node, a second job hold message for the at least one job from the second node; Determining, by the first node, whether to perform the at least one task based on a result of comparing the first task hold message and the second task hold message; And updating the task list by performing or holding the at least one task by the first node.
본 실시예에서, 상기 제2 노드에 의해, 상기 작업 리스트에 포함된 상기 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 생성하는 단계; 상기 제2 노드에 의해, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하는 단계; 상기 제2 노드에 의해, 상기 제1 노드로부터 상기 적어도 하나의 작업에 대한 작업 완료 메시지를 수신하는 단계; 및 상기 제2 노드에 의해, 상기 적어도 하나의 작업에 대한 수행, 홀드, 또는 상기 작업 완료 메시지에 대응하여 상기 작업 리스트를 갱신하는 단계;를 포함할 수 있다.Selecting, by the second node, the at least one task included in the task list and generating the second task hold message for the at least one task in the present embodiment; Determining, by the second node, whether to perform the at least one task based on a result of comparing the first job hold message and the second job hold message; Receiving, by the second node, a task completion message for the at least one task from the first node; And updating, by the second node, the task list in response to performing, holding, or the task completion message for the at least one task.
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.In the present exemplary embodiment, the comparison result between the first and second job hold messages is obtained by comparing the elapsed time from the first job hold message transmission time and the second job hold message reception time Lt; / RTI >
본 실시예에서, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간과, 제2 작업 홀드 메시지 전송 시간 또는 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.In the present exemplary embodiment, the comparison result of the first and second job hold messages may be compared with the first and second job hold message transmission times or the second job hold message reception times It can be a result.
본 실시예에서, 상기 작업 리스트는 상기 작업 지시서에 포함된 작업들 각각에 대한 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)이고, 상기 작업 리스트를 갱신하는 단계는, 상기 제1 노드에 의해, 상기 적어도 하나의 작업을 수행하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)으로 변경하고, 상기 적어도 하나의 작업을 홀드하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경하는 단계일 수 있다.In the present embodiment, the work list is a Bloom filter in which at least one of an identifier and a status code for each of the jobs included in the work instruction sheet is inserted, and the step of updating the work list comprises: Wherein performing at least one task by the node changes a status code corresponding to the at least one task from none to done and if the at least one task is held, And changing the corresponding status code from none to hold.
본 발명의 일 실시예에 따른 컴퓨터 프로그램은, 컴퓨터를 이용하여 본 발명의 일 실시예에 따른 작업 할당 방법을 실행하기 위하여 기록매체에 저장된다.A computer program according to an embodiment of the present invention is stored in a recording medium to execute a job assignment method according to an embodiment of the present invention using a computer.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the following drawings, claims, and the detailed description of the invention.
본 발명의 실시예들에 따르면, 메쉬 네트워크에 적합한 작업 할당 시스템, 방법, 및 컴퓨터 프로그램을 제공할 수 있다.According to embodiments of the present invention, a task assignment system, method, and computer program suitable for a mesh network can be provided.
본 발명의 실시예들에 따르면, 메쉬 네트워크를 구성하는 모든 노드들이 임시 허브 노드로서 동작할 수 있으므로, 고장난 노드가 존재하는 경우에도 데이터를 원활하게 수집할 수 있다.According to embodiments of the present invention, all the nodes constituting the mesh network can operate as a temporary hub node, so that data can be smoothly collected even in the presence of a failed node.
본 발명의 실시예들에 따르면, 블룸 필터를 이용하여 메쉬 네트워크를 구성하는 노드들에게 작업을 효율적으로 할당할 수 있으므로, 대용량 데이터를 보다 빠르고 체계적으로 수집할 수 있다.According to the embodiments of the present invention, work can be efficiently allocated to the nodes constituting the mesh network using the Bloom filter, so that the large-capacity data can be collected more quickly and systematically.
도 1은 본 발명의 일 실시예에 따른 네트워크를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 작업 할당 시스템을 개략적으로 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 임시 허브 노드 결정 방법을 설명하기 위한 흐름도이다.
도 4a, 도 4b, 및 도 4c는 일 실시예에 따른 작업 리스트를 설명하기 위한 도면이다.
도 5 및 도 6은 각각 본 발명의 일 실시예에 따른 작업 할당 방법을 상세하게 설명하기 위한 흐름도이다.1 is a diagram for explaining a network according to an embodiment of the present invention.
2 is a block diagram schematically illustrating a task assignment system according to an embodiment of the present invention.
3 is a flowchart illustrating a method of determining a temporary hub node according to an exemplary embodiment of the present invention.
4A, 4B, and 4C are views for explaining a task list according to an embodiment.
5 and 6 are flowcharts for explaining a task allocation method according to an embodiment of the present invention in detail.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
이하의 실시예에서, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.In the following embodiments, the terms first, second, etc. may be used to describe various elements, but the elements should not be limited by terms. Terms are used only for the purpose of distinguishing one component from another.
이하의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 다수의 표현을 포함한다. 이하의 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the following examples are used only to illustrate specific embodiments and are not intended to limit the invention. The singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. In the following description, the terms " comprises " or " having ", and the like, specify that the presence of stated features, integers, steps, operations, elements, But do not preclude the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.
본 발명의 실시예들은 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 본 발명의 실시예의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 발명의 실시예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 발명의 실시예들은 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. 매커니즘, 요소, 수단, 구성과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.Embodiments of the present invention may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in a wide variety of hardware and / or software configurations that perform particular functions. For example, embodiments of the invention may be embodied directly in hardware, such as memory, processing, logic, look-up tables, etc., that can perform various functions by control of one or more microprocessors or by other control devices Circuit configurations can be employed. Similar to the components of an embodiment of the present invention may be implemented with software programming or software components, embodiments of the present invention include various algorithms implemented with a combination of data structures, processes, routines, or other programming constructs , C, C ++, Java, assembler, and the like. Functional aspects may be implemented with algorithms running on one or more processors. Embodiments of the present invention may also employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as mechanisms, elements, means, and configurations are widely used and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.
도 1은 본 발명의 일 실시예에 따른 네트워크를 설명하기 위한 도면이다.1 is a diagram for explaining a network according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 네트워크(10)는 제1 노드(1n) 내지 제N 노드(Nn)를 포함한다.Referring to FIG. 1, a
네트워크(10)는 유선 네트워크 또는 무선 네트워크를 포함할 수 있다. 무선 네트워크는 2G(Generation) 또는 3G 셀룰러 통신 시스템, 3GPP(3rd Generation Partnership Project), 4G 통신 시스템, LTE(Long-Term Evolution), WiMAX(World Interoperability for Microwave Access) 등이 될 수 있다.The
제1 노드(1n) 내지 제N 노드(Nn)는 데이터를 수집하는 작업을 수행할 수 있다. 상세하게는, 제1 노드(1n) 내지 제N 노드(Nn)는 작업 리스트를 공유하고, 작업 리스트에 포함된 모든 작업을 나누어 수행할 수 있다.The
제1 노드(1n) 내지 제N 노드(Nn)는 각각 임시 허브 노드로서 동작할 수 있다. 예를 들어, 제1 노드(1n) 내지 제N 노드(Nn) 중 리소스 성능이 가장 좋은 제1 노드(1n)가 임시 허브 노드로서 동작할 수 있다. 리소스 성능은 변동될 수 있으므로, 임시 허브 노드가 되는 노드 역시 변동될 수 있다.The
임시 허브 노드는 작업 지시서에 기초하여 작업 리스트를 생성하고, 작업 리스트를 브로드캐스팅할 수 있다. 예를 들어, 임시 허브 노드인 제1 노드(1n)가 작업 지시서에 기초하여 작업 리스트를 생성하고, 제2 노드(2n) 내지 제N 노드(Nn)에 작업 리스트를 브로드캐스팅할 수 있다. 따라서, 제1 노드(1n) 내지 제N 노드(Nn)가 작업 리스트를 공유할 수 있다.The temporary hub node can create a work list based on the work instruction and broadcast the work list. For example, the
제1 노드(1n) 내지 제N 노드(Nn)는 각각 작업 리스트에 포함된 적어도 하나의 작업을 수행할 수 있다. 이를 위해, 제1 노드(1n) 내지 제N 노드(Nn)는 적어도 하나의 작업에 대한 작업 홀드 메시지를 서로 주고 받을 수 있다. 제1 노드(1n) 내지 제N 노드(Nn)는 각각 전송한 작업 홀드 메시지와 수신한 작업 홀드 메시지를 비교한 결과에 기초하여, 적어도 하나의 작업에 대한 수행 여부를 판단할 수 있다.The
즉, 제1 노드(1n) 내지 제N 노드(Nn)는 각각 작업 리스트에 포함된 일부 작업을 동적으로 할당 받아 수행할 수 있다. 이에 따라, 제1 노드(1n) 내지 제N 노드(Nn)는 중복 없이 작업 리스트에 포함된 모든 작업을 수행함으로써, 대용량 데이터를 원활하게 수집할 수 있다.That is, the
도 2는 본 발명의 일 실시예에 따른 작업 할당 시스템을 개략적으로 도시한 블록도이다.2 is a block diagram schematically illustrating a task assignment system according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 작업 할당 시스템(100)은 통신 인터페이스(110), 프로세서(130), 및 데이터베이스(150)를 포함한다.Referring to FIG. 2, a
네트워크(10)를 구성하는 하나의 노드에 포함된 통신 인터페이스(110)는 네트워크(10)를 구성하는 다른 노드들에 작업 리스트 및 제1 작업 홀드 메시지를 전송하고, 다른 노드들 중 적어도 하나로부터 제2 작업 홀드 메시지를 수신한다.The
예를 들어, 제1 노드(1n)의 통신 인터페이스(110)는 제2 노드(2n) 내지 제N 노드(Nn)에 작업 리스트 및 제1 작업 홀드 메시지를 전송하고, 제2 노드(2n)로부터 제2 작업 홀드 메시지를 수신할 수 있다.For example, the
한편, 네트워크(10)를 구성하는 하나의 노드에 포함된 통신 인터페이스(110)는 네트워크(10)를 구성하는 다른 노드로부터 작업 리스트 및 제1 작업 홀드 메시지를 수신하고, 다른 노드에 제2 작업 홀드 메시지를 전송한다.On the other hand, the
예를 들어, 제2 노드(2n)의 통신 인터페이스(110)는 제1 노드(1n)로부터 작업 리스트 및 제1 작업 홀드 메시지를 수신하고, 제1 노드(1n)에 제2 작업 홀드 메시지를 전송할 수 있다.For example, the
네트워크(10)를 구성하는 하나의 노드에 포함된 통신 인터페이스(110)는 네트워크(10)를 구성하는 다른 노드에 적어도 하나의 작업에 대한 작업 완료 메시지를 전송하거나, 네트워크(10)를 구성하는 다른 노드로부터 적어도 하나의 작업에 대한 작업 완료 메시지를 수신할 수 있다.The
작업 완료 메시지는 작업 식별자, 노드 식별자, 작업 완료 알림 중 적어도 하나를 포함할 수 있다.The task completion message may include at least one of a task identifier, a node identifier, and a task completion notification.
네트워크(10)를 구성하는 하나의 노드에 포함된 통신 인터페이스(110)는 네트워크(10)를 구성하는 다른 노드들에 제1 리소스 정보를 전송하고, 다른 노드들 중 적어도 하나로부터 제2 리소스 정보를 수신할 수 있다.The
리소스 정보는 작업을 수행하는데 필요한 노드의 유선 자원 또는 무선 자원에 대한 정보를 의미할 수 있다.The resource information may mean information about a wired resource or a wireless resource of a node necessary for performing an operation.
한편, 네트워크(10)를 구성하는 하나의 노드에 포함된 프로세서(130)는 제1 노드(1n) 내지 제n 노드(Nn)의 리소스 성능을 비교하고, 리소스 성능이 가장 좋은 노드를 임시 허브 노드로 결정할 수 있다.The
예를 들어, 제1 노드(1n)의 프로세서(130)는 제1 리소스 정보에 포함시킨 제1 리소스 성능이 제2 리소스 정보에 포함된 제2 리소스 성능보다 좋은 경우 제1 노드(1n)를 임시 허브 노드로 결정하고, 작업 지시서에 기초하여 작업 리스트를 생성할 수 있다.For example, when the first resource performance included in the first resource information is better than the second resource performance included in the second resource information, the
네트워크(10)를 구성하는 하나의 노드에 포함된 프로세서(130)는 작업 지시서에 기초하여 작업 리스트를 생성하고, 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 적어도 하나의 작업에 대한 제1 작업 홀드 메시지를 생성하고, 제1 작업 홀드 메시지와 적어도 하나의 작업에 대한 제2 작업 홀드 메시지를 비교한 결과에 기초하여 적어도 하나의 작업의 수행 여부를 결정하고, 적어도 하나의 작업을 수행 또는 홀드하면 작업 리스트를 갱신한다.The
예를 들어, 제1 노드(1n)의 프로세서(130)는 작업 지시서에 기초하여 작업 리스트를 생성하고, 작업 리스트에 포함된 작업 A를 선택하고, 작업 A에 대한 제1 작업 홀드 메시지를 생성할 수 있다. 제2 노드(2n)로부터의 제2 작업 홀드 메시지가 작업 A에 대한 메시지인 경우, 제1 노드(1n)의 프로세서(130)는 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과에 기초하여 작업 A의 수행 여부를 결정하고, 작업 A를 수행 또는 홀드한 경우 작업 A에 대한 수행 또는 홀드 결과가 반영되도록 작업 리스트를 갱신할 수 있다.For example, the
한편, 네트워크(10)를 구성하는 하나의 노드에 포함된 프로세서(130)는 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 적어도 하나의 작업에 대한 제2 작업 홀드 메시지를 생성하고, 적어도 하나의 작업에 대한 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과에 기초하여 적어도 하나의 작업의 수행 여부를 결정하고, 적어도 하나의 작업을 수행 또는 홀드하면 작업 리스트를 갱신한다.On the other hand, the
예를 들어, 제2 노드(2n)의 프로세서(130)는 작업 리스트에 포함된 작업 A를 선택하고, 작업 A에 대한 제2 작업 홀드 메시지를 생성할 수 있다. 제1 노드(1n)로부터의 제1 작업 홀드 메시지가 작업 A에 대한 메시지인 경우, 제2 노드(2n)의 프로세서(130)는 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과에 기초하여 작업 A의 홀드 여부를 결정하고, 작업 A를 홀드한 경우 작업 A에 대한 홀드 결과가 반영되도록 작업 리스트를 갱신할 수 있다.For example, the
작업 지시서는 수집의 대상이 되는 데이터의 범위를 가리킬 수 있다. 작업 지시서에 포함된 작업들 각각은 수집의 대상이 되는 데이터의 전체 범위 중 일부를 가리킬 수 있다. 수집의 대상이 되는 데이터의 범위는 데이터의 식별자, 데이터의 주소, 데이터가 저장된 서버의 식별자, 데이터가 저장된 서버의 주소 등일 수 있으며, 이에 한정하지 않는다.The work order can indicate the range of data to be collected. Each of the tasks included in the work instruction sheet may indicate some of the entire range of data to be collected. The scope of the data to be collected may be an identifier of the data, an address of the data, an identifier of the server where the data is stored, an address of the server where the data is stored, and the like.
작업 리스트는 작업 지시서에 포함된 작업들 각각에 대한 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)일 수 있다. 작업 리스트에 포함된 식별자 및 상태코드는 서로 대응될 수 있다.The work list may be a Bloom filter in which at least one of an identifier and a status code for each of the jobs included in the work instruction sheet is inserted. The identifiers and status codes included in the task list may correspond to each other.
상태코드는 작업의 수행 여부를 가리킬 수 있다. 상태 코드는 예를 들어, 미완료(none), 홀드(hold), 및 완료(done) 중 하나일 수 있다. 미완료(none)는 해당 작업이 아직 수행되지 않은 상태임을 나타낼 수 있다. 홀드(hold)는 해당 작업이 소정 노드에 의해 할당 요청된 상태임을 나타낼 수 있다. 완료(done)는 해당 작업이 수행된 상태임을 나타낼 수 있다.The status code can indicate whether or not the task is performed. The status code may be, for example, one of none, hold, and done. Incomplete (none) may indicate that the job has not yet been performed. A hold may indicate that the job is in a state requested to be allocated by a predetermined node. Done can indicate that the job has been performed.
작업 홀드 메시지는 작업 식별자, 작업 홀드 메시지 생성 시간, 작업 홀드 메시지 전송 시간, 작업 홀드 요청 중 적어도 하나를 포함할 수 있다.The operation hold message may include at least one of a job identifier, a job hold message generation time, a job hold message transmission time, and a job hold request.
제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다. 이때, 제2 작업 홀드 메시지 수신 시간은 제1 노드(1n) 등이 제2 작업 홀드 메시지를 수신한 시간을 가리킬 수 있다.The result of comparing the first operation hold message and the second operation hold message may be a result of comparing the time elapsed from the reference time and the reception time of the second operation hold message from the first operation hold message transmission time. At this time, the second task hold message reception time may indicate the time when the
예를 들어, 제1 노드(1n)의 프로세서(130)는 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간이 제2 작업 홀드 메시지 수신 시간 이전인 경우, 작업 A를 수행할 수 있다. 이때, 제1 노드(1n)의 프로세서(130)는 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과하면, 제2 작업 홀드 메시지를 수신하기 이전에도 작업 A를 수행할 수 있다.For example, the
예를 들어, 제1 노드(1n)의 프로세서(130)는 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간이 제2 작업 홀드 메시지 수신 시간 이후인 경우, 작업 A를 홀드할 수 있다.For example, the
제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 전송 시간을 비교한 결과일 수 있다. 이때, 제1 작업 홀드 메시지 수신 시간은 제2 노드(2n) 등이 제1 작업 홀드 메시지를 수신한 시간을 가리킬 수 있다.The result of comparing the first operation hold message and the second operation hold message may be a result of comparing the time elapsed from the reference time and the transmission time of the second operation hold message from the reception time of the first operation hold message. At this time, the first task hold message reception time may indicate the time when the
예를 들어, 제2 노드(2n)의 프로세서(130)는 제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과한 시간이 제2 작업 홀드 메시지 전송 시간 이전인 경우, 작업 A를 홀드할 수 있다. 이때, 제2 노드(2n)의 프로세서(130)는 제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과하면, 제2 작업 홀드 메시지를 전송하기 이전에도 작업 A를 홀드할 수 있다.For example, the
예를 들어, 제2 노드(2n)의 프로세서(130)는 제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과한 시간이 제2 작업 홀드 메시지 전송 시간 이후인 경우, 작업 A를 수행할 수 있다. 이때, 제2 노드(2n)의 프로세서(130)는 제2 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과하면, 제1 작업 홀드 메시지를 수신하기 이전 또는 제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과하기 이전에도 작업 A를 수행할 수 있다.For example, the
제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 생성 시간과 제2 작업 홀드 메시지 생성 시간을 비교한 결과일 수 있다.The result of comparing the first operation hold message and the second operation hold message may be a result of comparing the first operation hold message generation time and the second operation hold message generation time.
예를 들어, 제1 작업 홀드 메시지 생성 시간이 제2 작업 홀드 메시지 생성 시간 이전인 경우, 제1 노드(1n)의 프로세서(130)는 작업 A를 수행할 수 있고, 제2 노드(2n)의 프로세서(130)는 작업 A를 홀드할 수 있다.For example, if the first task hold message creation time is before the second task hold message creation time, the
예를 들어, 제1 작업 홀드 메시지 생성 시간이 제2 작업 홀드 메시지 생성 시간 이후인 경우, 제1 노드(1n)의 프로세서(130)는 작업 A를 홀드할 수 있고, 제2 노드(2n)의 프로세서(130)는 작업 A를 수행할 수 있다.For example, if the first task hold message generation time is after the second task hold message generation time, the
제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간과 제2 작업 홀드 메시지 전송 시간을 비교한 결과일 수 있다.The result of comparing the first operation hold message and the second operation hold message may be a result of comparing the first operation hold message transmission time and the second operation hold message transmission time.
예를 들어, 제1 작업 홀드 메시지 전송 시간이 제2 작업 홀드 메시지 전송 시간 이전인 경우, 제1 노드(1n)의 프로세서(130)는 작업 A를 수행할 수 있고, 제2 노드(2n)의 프로세서(130)는 작업 A를 홀드할 수 있다.For example, if the first task hold message transmission time is before the second task hold message transmission time, the
예를 들어, 제1 작업 홀드 메시지 전송 시간이 제2 작업 홀드 메시지 전송 시간 이후인 경우, 제1 노드(1n)의 프로세서(130)는 작업 A를 홀드할 수 있고, 제2 노드(2n)의 프로세서(130)는 작업 A를 수행할 수 있다.For example, if the first job hold message transmission time is after the second job hold message transmission time, the
제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간 또는 제1 작업 홀드 메시지 수신 시간과, 제2 작업 홀드 메시지 전송 시간 또는 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.The result of comparing the first operation hold message with the second operation hold message may include a first operation hold message transmission time or a first operation hold message reception time and a second operation hold message transmission time or a second operation hold message reception time, May be the result of comparison.
예를 들어, 제1 노드(1n)의 프로세서(130)는 제1 작업 홀드 메시지 전송 시간이 제2 작업 홀드 메시지 수신 시간 이전인 경우, 작업 A를 수행할 수 있다.For example, the
예를 들어, 제1 노드(1n)의 프로세서(130)는 제1 작업 홀드 메시지 전송 시간이 제2 작업 홀드 메시지 수신 시간 이후인 경우, 작업 A를 홀드할 수 있다.For example, the
예를 들어, 제2 노드(2n)의 프로세서(130)는 제1 작업 홀드 메시지 수신 시간이 제2 작업 홀드 메시지 전송 시간 이전인 경우, 작업 A를 홀드할 수 있다.For example, the
예를 들어, 제2 노드(2n)의 프로세서(130)는 제1 작업 홀드 메시지 수신 시간이 제2 작업 홀드 메시지 전송 시간 이후인 경우, 작업 A를 수행할 수 있다.For example, the
프로세서(130)는 적어도 하나의 작업을 수행하면, 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)로 변경함으로써 작업 리스트를 갱신할 수 있다.When the
예를 들어, 제1 노드(1n)의 프로세서(130)는 작업 A를 수행한 후, 작업 A의 상태코드를 미완료(none)에서 완료(done)로 변경할 수 있다.For example, the
프로세서(130)는 적어도 하나의 작업을 홀드하면, 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경함으로써 작업 리스트를 갱신할 수 있다.The
예를 들어, 제2 노드(2n)의 프로세서(130)는 작업 A를 홀드한 후, 작업 A의 상태코드를 미완료(none)에서 홀드(hold)로 변경할 수 있다.For example, the
프로세서(130)는 통신 인터페이스(110)를 통해 수신한 작업 완료 메시지에 대응하여, 적어도 하나의 작업에 대응하는 상태코드를 미완료(none) 또는 홀드(hold)에서 완료(done)로 변경함으로써 작업 리스트를 갱신할 수 있다.The
예를 들어, 제1 노드(1n)의 프로세서(130)는 작업 A를 수행한 후, 작업 A에 대한 작업 완료 메시지를 제2 노드(2n)에 전송할 수 있다. 이때, 제2 노드(2n)의 프로세서(130)는 작업 완료 메시지에 대응하여 작업 A의 상태코드를 홀드(hold)에서 완료(done)로 변경할 수 있다.For example, the
이와 같이, 제1 노드(1n) 내지 제N 노드(Nn)는 작업 리스트의 상태코드를 갱신함으로써 중복 없이 효율적으로 작업 리스트에 포함된 작업을 수행할 수 있다.In this manner, the
데이터베이스(150)는 작업 리스트를 저장할 수 있다. 프로세서(130)는 데이터베이스(150)에 저장된 작업 리스트를 갱신할 수 있다.The
도 2의 작업 할당 시스템(100)은 도 1의 제1 노드(1n) 내지 제N 노드(Nn)에 각각 구현될 수도 있고, 일부는 제1 노드(1n) 내지 제N 노드(Nn)에 구현되고 일부는 네트워크(10)의 게이트웨이(미도시)에 구현될 수도 있고, 제1 노드(1n) 내지 제N 노드(Nn)에 나누어 구현될 수도 있으며, 이에 한정하지 않는다.The
이하에서는, 도 3을 참조하여 일 실시예에 따른 임시 허브 노드 결정 방법을 보다 상세하게 설명한다. 도 3에 도시된 제1 노드(1n), 제2 노드(2n), 및 제3 노드(3n)는 하나의 네트워크(10)를 구성하며, 동일한 도메인 네임 시스템(DNS, domain name system)을 사용할 수 있다.Hereinafter, a method of determining a temporary hub node according to an embodiment will be described in more detail with reference to FIG. The
도 3은 본 발명의 일 실시예에 따른 임시 허브 노드 결정 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method of determining a temporary hub node according to an exemplary embodiment of the present invention.
도 3을 참조하면, 제1 노드(1n)는 제1 리소스 정보를 생성하고(S101), 제1 리소스 정보를 제2 노드(2n)와 제3 노드(3n)에 전송한다(S103, S105).3, the
한편, 제2 노드(2n)는 제2 리소스 정보를 생성하고(S107), 제2 리소스 정보를 제1 노드(1n)와 제3 노드(3n)에 전송한다(S109, S111).On the other hand, the
한편, 제3 노드(3n)는 제3 리소스 정보를 생성한다(S113).Meanwhile, the
네트워크(10)에 포함된 노드들은 주기적으로 리소스 정보를 주고받을 수 있다. 예를 들어, 제1 노드(1n) 및 제2 노드(2n)는 250ms(millisecond)마다 제1 리소스 정보 및 제2 리소스 정보를 브로드캐스팅할 수 있다.The nodes included in the
이때, 리소스 정보를 브로드캐스팅하지 않는 제3 노드(3n)는 네트워크(10)에서 제외될 수 있다. 도시하지 않았으나, 제3 노드(3n)의 리소스 정보 전송 주기가 250ms(millisecond)를 초과하는 경우에도, 제3 노드(3n)는 네트워크(10)에서 제외될 수 있다.At this time, the
제1 노드(1n)는 제1 리소스 정보에 포함시킨 제1 리소스 성능이 제2 리소스 정보에 포함된 제2 리소스 성능보다 좋으면(S115), 제1 노드(1n)를 임시 허브 노드로 결정한다(S117).If the first resource performance included in the first resource information is better than the second resource performance included in the second resource information (S115), the
제2 노드(2n)는 제1 리소스 정보에 포함된 제1 리소스 성능이 제2 리소스 정보에 포함시킨 제2 리소스 성능보다 좋으면(S119), 제1 노드(1n)를 임시 허브 노드로 결정한다(S121).If the first resource performance included in the first resource information is greater than the second resource performance included in the second resource information (S119), the
한편, 제1 노드(1n)는 제2 리소스 성능이 제1 리소스 성능보다 좋으면(S115), 제2 노드(2n)를 임시 허브 노드로 결정한다(S118).On the other hand, if the second resource performance is better than the first resource performance (S115), the
제2 노드(2n)는 제2 리소스 성능이 제1 리소스 성능보다 좋으면(S119), 제2 노드(2n)를 임시 허브 노드로 결정한다(S122).The
이어서, 제1 노드(1n)와 제2 노드(2n)는 각각 작업 지시서를 수신한다(S123, S125). 이때, 임시 허브 노드로 동작하는 제1 노드(1n)는 작업 지시서에 기초하여 작업 리스트를 생성한다(S127). 작업 리스트는 블룸 필터의 형태로 생성될 수 있다.Subsequently, the
이어서, 제1 노드(1n)는 네트워크(10)에 속한 제2 노드(2n)에 작업 리스트를 전송한다(S129). 예를 들어, 제1 노드(1n)는 작업 지시서에 포함된 작업에 대한 정보가 나열된 블룸 필터를 제2 노드(2n)에 전송할 수 있다.Subsequently, the
도시하지 않았으나, 제2 노드(2n)가 임시 허브 노드로 결정된 경우, 제2 노드(2n)는 작업 지시서에 기초하여 작업 리스트를 생성하고, 네트워크(10)에 속한 제1 노드(1n)에 작업 리스트를 전송할 수 있다.Although not shown, when the
이에 따라, 제1 노드(1n)와 제2 노드(2n)는 작업 리스트를 공유할 수 있다. 이때, 제1 노드(1n)는 네트워크(10)에 속하지 않은 제3 노드(3n)에는 작업 리스트를 전송하지 않을 수 있다.Accordingly, the
이어서, 제1 노드(1n)와 제2 노드(2n)는 작업 리스트에 포함된 적어도 하나의 작업을 수행한다(S131, S133).Then, the
이처럼, 제1 노드(1n), 제2 노드(2n), 및 제3 노드(3n)는 동적으로 임시 허브 노드로 동작할 수 있고, 네트워크(10)에 포함되거나 네트워크(10)로부터 제외될 수 있다. 따라서, 본 발명의 실시예들에 따르면, 작업 할당이 효율적이고 작업 속도가 빨라지므로, 대용량 데이터를 수집하는데 있어 보다 효과적이다.As such, the
이하에서는, 도 4a, 도 4b, 및 도 4c 내지 도 6을 참조하여 각 노드에 의해 작업 리스트에 포함된 작업을 수행하는 동작에 대하여 보다 상세하게 설명한다.Hereinafter, the operation of performing the tasks included in the task list by each node will be described in more detail with reference to Figs. 4A, 4B, and 4C to 6.
도 4a, 도 4b, 및 도 4c는 일 실시예에 따른 작업 리스트를 설명하기 위한 도면이다.4A, 4B, and 4C are views for explaining a task list according to an embodiment.
도 4a를 참조하면, 작업 A의 상태코드는 미완료(none)이다. 이는, 현재 작업 A가 어느 노드에도 할당되지 않고 수행되지 않은 상태임을 가리킨다. 따라서, 상태코드가 미완료(none)인 작업 A는 할당의 대상이 될 수 있다.Referring to FIG. 4A, the status code of task A is incomplete (none). This indicates that the current task A is not assigned to any node and is not executed. Thus, job A with a status code of incomplete (none) can be the object of allocation.
도 4b를 참조하면, 작업 A의 상태코드는 홀드(hold)이다. 이는, 현재 작업 A가 노드에 의해 선택 중인 상태임을 가리킨다. 따라서, 상태코드가 홀드(hold)인 작업 A는 아직 수행되지 않은 작업임을 알 수 있다.Referring to FIG. 4B, the status code of task A is a hold. This indicates that task A is currently being selected by the node. Therefore, it can be seen that job A having a status code hold is an operation that has not been performed yet.
도 4c를 참조하면, 작업 A의 상태코드는 완료(done)이다. 이는, 현재 작업 A가 이미 수행된 상태임을 가리킨다. 따라서, 상태코드가 완료(done)인 작업 A는 할당의 대상이 될 필요가 없다.Referring to FIG. 4C, the status code of task A is done. This indicates that the current task A has already been performed. Therefore, task A, whose status code is done, need not be the object of assignment.
도 5 및 도 6은 각각 본 발명의 일 실시예에 따른 작업 할당 방법을 상세하게 설명하기 위한 흐름도이다.5 and 6 are flowcharts for explaining a task allocation method according to an embodiment of the present invention in detail.
도 5를 참조하면, 제1 노드(1n)는 작업 리스트의 작업 A를 선택하고(S201). 작업 A에 대한 작업 홀드 메시지를 생성한다(S203).Referring to FIG. 5, the
이어서, 제1 노드(1n)는 작업 홀드 메시지를 제2 노드(2n)에 전송한다(S205). 이때, 제2 노드(2n)는 작업 A에 대한 작업 홀드 메시지를 전송하지 않을 수 있다.Subsequently, the
제1 노드(1n)는 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과하면(S207), 작업 A를 수행한다(S209). 즉, 제1 노드(1n)는 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과하면, 작업 A를 할당 받을 수 있다.When the reference time elapses from the job hold message transmission time (S207), the first node (1n) performs job A (S209). That is, the
도시하지 않았지만, 제2 노드(2n)에 의해 작업 A에 대한 작업 홀드 메시지가 전송된 경우라면, 제1 노드(1n)는 제1 노드(1n)의 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간이 제2 노드(2n)로부터의 작업 홀드 메시지 수신 시간보다 빠른 경우, 작업 A를 수행할 수 있다.Although not shown, if a job hold message for job A is transmitted by the
한편, 제2 노드(2n)는 제1 노드(1n)로부터의 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과하면(S211), 작업 A를 홀드한다(S213). 이때, 제2 노드(2n)는 작업 리스트 상에서의 작업 A의 상태코드를 미완료(none)에서 홀드(hold)로 변경할 수 있다.Meanwhile, when the reference time has elapsed from the reception time of the job hold message from the
이처럼, 제2 노드(2n)의 작업 리스트 상에 현재 작업 A가 노드에 의해 선택 중인 상태임을 나타냄으로써, 작업 A를 제2 노드(2n)의 선택 대상에서 제외시킬 수 있다. 따라서, 작업 A의 중복 할당을 방지함으로써, 작업 할당을 보다 효율적으로 수행하고, 작업 속도를 향상 시킬 수 있다.Thus, by indicating that the current job A is being selected by the node on the job list of the
제2 노드(2n)는 작업 리스트의 작업 B를 선택한다(S215). 다시 말해, 제2 노드(2n)는 작업 리스트 상에서의 상태코드가 미완료(none)인 작업 B를 선택할 수 있다. 도시하지 않았으나, 제2 노드(2n)는 작업 B에 대한 작업 홀드 메시지를 브로드캐스팅할 수 있다.The
한편, 제1 노드(1n)는 작업 A를 완료하고, 작업 리스트를 갱신한다(S217). 즉, 제1 노드(1n)는 작업 A가 완료되면, 작업 리스트 상에서의 작업 A의 상태코드를 미완료(none)에서 완료(done)로 변경할 수 있다.On the other hand, the
이어서, 제1 노드(1n)는 작업 A에 대한 작업 완료 메시지를 제2 노드(2n)에 전송한다(S219). 제2 노드(2n)는 작업 완료 메시지에 대응하여 작업 리스트를 갱신한다(S221). 즉, 제2 노드(2n)는 작업 A에 대한 작업 완료 메시지에 대응하여, 작업 리스트 상에서의 작업 A의 상태코드를 홀드(hold)에서 완료(done)로 변경할 수 있다.Subsequently, the
이하에서는, 앞서 설명한 부분과 동일한 부분에 대한 설명은 생략하거나 간략히 한다.Hereinafter, the same parts as those described above will be omitted or briefly described.
도 6을 참조하면, 제1 노드(1n)는 작업 리스트의 작업 A를 선택하고(S301). 작업 A에 대한 제1 작업 홀드 메시지를 생성하고(S303), 제1 작업 홀드 메시지를 제2 노드(2n)에 전송한다(S305).Referring to FIG. 6, the
제2 노드(2n)는 작업 리스트의 작업 A를 선택하고(S307). 작업 A에 대한 제2 작업 홀드 메시지를 생성하고(S309), 제2 작업 홀드 메시지를 제1 노드(1n)에 전송한다(S311). 이에 따라, 제1 노드(1n)는 제2 노드(2n)로부터 작업 A에 대한 제2 작업 홀드 메시지를 수신할 수 있다.The
한편, 제1 노드(1n) 및 제2 노드(2n)는 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과에 기초하여 작업 A의 수행 여부를 결정할 수 있다.On the other hand, the
일 실시예에 따르면, 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는 제1 작업 홀드 메시지 생성 시간과 제2 작업 홀드 메시지 생성 시간을 비교한 결과일 수 있다.According to an exemplary embodiment, a result of comparing the first and second task hold messages may be a result of comparing the first task hold message generation time and the second task hold message generation time.
다른 실시예에 따르면, 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는 제1 작업 홀드 메시지 전송 시간과, 제2 작업 홀드 메시지 전송 시간 또는 제2 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.According to another embodiment, the result of comparing the first and second job hold messages is a result of comparing the first job hold message transmission time with the second job hold message transmission time or the second job hold message reception time Lt; / RTI >
다른 실시예에 따르면, 제1 작업 홀드 메시지와 제2 작업 홀드 메시지를 비교한 결과는 제2 작업 홀드 메시지 전송 시간과, 제1 작업 홀드 메시지 전송 시간 또는 제1 작업 홀드 메시지 수신 시간을 비교한 결과일 수 있다.According to another embodiment, the result of comparing the first operation hold message with the second operation hold message is a result of comparing the second operation hold message transmission time with the first operation hold message transmission time or the first operation hold message reception time Lt; / RTI >
즉, 제1 작업 홀드 메시지 생성 시간이 제2 작업 홀드 메시지 생성 시간보다 빠르면(S313, S317), 제1 노드(1n)는 작업 A를 수행하고(S315), 제2 노드(2n)는 작업 A를 홀드한다(S319). 즉, 제1 작업 홀드 메시지 생성 시간이 제2 작업 홀드 메시지 생성 시간보다 빠른 경우, 제1 노드(1n)가 작업 A를 할당 받을 수 있다.That is, if the first task hold message creation time is earlier than the second task hold message creation time (S313, S317), the
도시하지 않았으나, 제1 작업 홀드 메시지 전송 시간이 제2 작업 홀드 메시지 전송 시간보다 빠르면, 제1 노드(1n)는 작업 A를 수행하고(S315), 제2 노드(2n)는 작업 A를 홀드한다(S319).Although not shown, if the first task hold message transmission time is earlier than the second task hold message transmission time, the
한편, 제1 작업 홀드 메시지 생성 시간이 제2 작업 홀드 메시지 생성 시간보다 느리면(S313, S317), 제1 노드(1n)는 작업 A를 홀드하고(S316), 제2 노드(2n)는 작업 A를 수행한다(S321). 즉, 제2 작업 홀드 메시지 생성 시간이 제1 작업 홀드 메시지 생성 시간보다 빠른 경우, 제2 노드(2n)가 작업 A를 할당 받을 수 있다.On the other hand, if the first task hold message generation time is slower than the second task hold message generation time (S313, S317), the
제1 노드(1n)가 작업 A를 할당 받은 경우, 제1 노드(1n)는 작업 A를 완료하고, 작업 리스트를 갱신한다(S327).When the
제1 노드(1n)가 작업 A에 대한 작업 완료 메시지를 제2 노드(2n)에 전송하면(S329), 제2 노드(2n)는 작업 완료 메시지에 대응하여 작업 리스트를 갱신한다(S331).When the
도시하지 않았으나, 제2 노드(2n)가 작업 A를 할당 받은 경우, 제2 노드(2n)는 작업 A를 완료하고, 작업 리스트를 갱신할 수 있다. 제2 노드(2n)가 작업 A에 대한 작업 완료 메시지를 제1 노드(1n)에 전송하면, 제1 노드(1n)는 작업 완료 메시지에 대응하여 작업 리스트를 갱신할 수 있다.Although not shown, if the
본 발명의 실시예들에 따르면, 메쉬 네트워크를 구성하는 모든 노드들이 임시 허브 노드로서 동작할 수 있으므로, 고장난 노드가 존재하는 경우에도 데이터를 원활하게 수집할 수 있다.According to embodiments of the present invention, all the nodes constituting the mesh network can operate as a temporary hub node, so that data can be smoothly collected even in the presence of a failed node.
본 발명의 실시예들에 따르면, 블룸 필터를 이용하여 메쉬 네트워크를 구성하는 노드들에게 작업을 효율적으로 할당할 수 있으므로, 대용량 데이터를 보다 빠르고 체계적으로 수집할 수 있다.According to the embodiments of the present invention, work can be efficiently allocated to the nodes constituting the mesh network using the Bloom filter, so that the large-capacity data can be collected more quickly and systematically.
결과적으로, 본 발명의 실시예들에 따르면, 메쉬 네트워크에 적합한 작업 할당 시스템, 방법, 및 컴퓨터 프로그램을 제공할 수 있다.As a result, according to embodiments of the present invention, it is possible to provide a task allocation system, method, and computer program suitable for a mesh network.
이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다.The present invention has been described above with reference to preferred embodiments. It will be understood by those skilled in the art that the present invention may be embodied in various other forms without departing from the spirit or essential characteristics thereof.
그러므로 상기 개시된 실시예는 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 특허청구범위에 의해 청구된 발명 및 청구된 발명과 균등한 발명들은 본 발명에 포함된 것으로 해석되어야 한다.Therefore, the above-described embodiments should be considered in a descriptive sense rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and the inventions claimed by the claims and the inventions equivalent to the claimed invention are to be construed as being included in the present invention.
10: 네트워크
1n: 제1 노드
2n: 제2 노드
3n: 제3 노드
Nn: 제n 노드10: Network
1n: first node
2n: second node
3n: third node
Nn: Control node
Claims (20)
상기 네트워크를 구성하는 다른 노드들에 작업 리스트 및 제1 작업 홀드 메시지를 전송하고, 상기 다른 노드들 중 적어도 하나로부터 제2 작업 홀드 메시지를 수신하는 통신 인터페이스;
작업 지시서에 기초하여 상기 작업 리스트를 생성하고, 상기 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제1 작업 홀드 메시지를 생성하고, 상기 제1 작업 홀드 메시지와 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하고, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 프로세서; 및
상기 작업 리스트를 저장하는 데이터베이스;를 포함하는, 작업 할당 시스템.One node, which constitutes a network,
A communication interface for transmitting a work list and a first job hold message to other nodes constituting the network and receiving a second job hold message from at least one of the other nodes;
Generating at least one job included in the job list, generating the first job hold message for the at least one job, generating the first job hold message and the second job hold message, A processor for determining whether to perform the at least one task based on a result of comparing the second task hold message for the at least one task and updating the task list if performing or holding the at least one task; And
And a database for storing the task list.
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 수신 시간을 비교한 결과인, 작업 할당 시스템.The method according to claim 1,
Wherein the result of comparing the first job hold message with the second job hold message is a result of comparing a time elapsed from a reference time and a reception time of a second job hold message from a transmission time of the first job hold message, .
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는,
제1 작업 홀드 메시지 생성 시간과 제2 작업 홀드 메시지 생성 시간을 비교한 결과인, 작업 할당 시스템.The method according to claim 1,
The result of comparing the first job hold message and the second job hold message,
And a result of comparing the generation time of the first job hold message with the generation time of the second job hold message.
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는,
제1 작업 홀드 메시지 전송 시간과, 제2 작업 홀드 메시지 전송 시간 또는 제2 작업 홀드 메시지 수신 시간을 비교한 결과인, 작업 할당 시스템.The method according to claim 1,
The result of comparing the first job hold message and the second job hold message,
And a result of comparing a first job hold message transmission time with a second job hold message transmission time or a second job hold message reception time.
상기 작업 리스트는 상기 작업 지시서에 포함된 작업들 각각에 대한 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)인, 작업 할당 시스템.The method according to claim 1,
Wherein the work list is a Bloom filter in which at least one of an identifier and a status code for each of the jobs included in the work instruction sheet is inserted.
상기 프로세서에 의해,
상기 적어도 하나의 작업을 수행하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)으로 변경함으로써 상기 작업 리스트를 갱신하고,
상기 적어도 하나의 작업을 홀드하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경함으로써 상기 작업 리스트를 갱신하는, 작업 할당 시스템.The method of claim 5,
By the processor,
Performing the at least one task to update the task list by changing the status code corresponding to the at least one task from none to done,
Wherein the task list is updated by holding the at least one task and changing the status code corresponding to the at least one task from none to hold.
상기 통신 인터페이스에 의해, 상기 다른 노드들에 제1 리소스 정보를 전송하고, 상기 다른 노드들 중 적어도 하나로부터 제2 리소스 정보를 수신하고,
상기 프로세서에 의해, 상기 제1 리소스 정보에 포함시킨 제1 리소스 성능이 상기 제2 리소스 정보에 포함된 제2 리소스 성능보다 좋은 경우 상기 작업 리스트를 생성하는, 작업 할당 시스템.The method according to claim 1,
Wherein the communication interface transmits first resource information to the other nodes, receives second resource information from at least one of the other nodes,
Wherein the processor generates the task list when the first resource capability included in the first resource information is better than the second resource capability included in the second resource information.
상기 네트워크를 구성하는 다른 노드로부터 작업 리스트 및 제1 작업 홀드 메시지를 수신하고, 상기 다른 노드에 제2 작업 홀드 메시지를 전송하는 통신 인터페이스;
상기 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 생성하고, 상기 적어도 하나의 작업에 대한 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하고, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 프로세서; 및
상기 작업 리스트를 저장하는 데이터베이스;를 포함하는, 작업 할당 시스템.One node, which constitutes a network,
A communication interface for receiving a work list and a first job hold message from another node constituting the network and transmitting a second job hold message to the other node;
Selecting at least one job included in the job list, generating the second job hold message for the at least one job, and generating the first job hold message for the at least one job and the second job hold message for the at least one job, A processor for determining whether to perform the at least one task based on a result of comparing the message and updating the task list when performing or holding the at least one task; And
And a database for storing the task list.
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는,
제1 작업 홀드 메시지 수신 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 전송 시간을 비교한 결과인, 작업 할당 시스템.The method of claim 8,
The result of comparing the first job hold message and the second job hold message,
Wherein a result of comparing a time at which a reference time elapses from a reception time of a first job hold message and a transmission time of a second job hold message.
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는,
제1 작업 홀드 메시지 생성 시간과 제2 작업 홀드 메시지 생성 시간을 비교한 결과인, 작업 할당 시스템.The method of claim 8,
The result of comparing the first job hold message and the second job hold message,
And a result of comparing the generation time of the first job hold message with the generation time of the second job hold message.
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는,
제2 작업 홀드 메시지 전송 시간과, 제1 작업 홀드 메시지 전송 시간 또는 제1 작업 홀드 메시지 수신 시간을 비교한 결과인, 작업 할당 시스템.The method of claim 8,
The result of comparing the first job hold message and the second job hold message,
Wherein the second job hold message transmission time is a result of comparing the second job hold message transmission time with the first job hold message transmission time or the first job hold message reception time.
상기 작업 리스트는 작업 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)인, 작업 할당 시스템.The method of claim 8,
Wherein the task list is a Bloom filter in which at least one of a task identifier and a status code is inserted.
상기 프로세서에 의해,
상기 적어도 하나의 작업을 수행하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)으로 변경함으로써 상기 작업 리스트를 갱신하고,
상기 적어도 하나의 작업을 홀드하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경함으로써 상기 작업 리스트를 갱신하는, 작업 할당 시스템.The method of claim 12,
By the processor,
Performing the at least one task to update the task list by changing the status code corresponding to the at least one task from none to done,
Wherein the task list is updated by holding the at least one task and changing the status code corresponding to the at least one task from none to hold.
상기 통신 인터페이스에 의해 상기 다른 노드로부터 상기 적어도 하나의 작업에 대한 작업 완료 메시지를 수신하고,
상기 프로세서에 의해 상기 작업 완료 메시지에 대응하여 상기 적어도 하나의 작업에 대응하는 상태코드를 상기 미완료 또는 상기 홀드에서 완료(done)로 변경함으로써 상기 작업 리스트를 갱신하는, 작업 할당 시스템.14. The method of claim 13,
Receive a task completion message for the at least one task from the other node by the communication interface,
And updates the task list by changing the status code corresponding to the at least one task from the unfinished or the hold to done in response to the task completion message by the processor.
상기 제1 노드에 의해, 작업 지시서에 기초하여 작업 리스트를 생성하는 단계;
상기 제1 노드에 의해, 상기 작업 리스트를 상기 제2 노드에 전송하는 단계;
상기 제1 노드에 의해, 작업 리스트에 포함된 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 제1 작업 홀드 메시지를 생성하고, 상기 제1 작업 홀드 메시지를 상기 제2 노드에 전송하는 단계;
상기 제1 노드에 의해, 상기 제2 노드로부터 상기 적어도 하나의 작업에 대한 제2 작업 홀드 메시지를 수신하는 단계;
상기 제1 노드에 의해, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하는 단계; 및
상기 제1 노드에 의해, 상기 적어도 하나의 작업을 수행 또는 홀드하면 상기 작업 리스트를 갱신하는 단계;를 포함하는, 작업 할당 방법.1. A method for assigning a job to a first node and a second node constituting a network,
Generating, by the first node, a work list based on the work instruction sheet;
Sending, by the first node, the task list to the second node;
Selecting, by the first node, at least one task included in the task list, generating a first task hold message for the at least one task, and transmitting the first task hold message to the second node step;
Receiving, by the first node, a second job hold message for the at least one job from the second node;
Determining, by the first node, whether to perform the at least one task based on a result of comparing the first task hold message and the second task hold message; And
And updating the task list by performing or holding the at least one task by the first node.
상기 제2 노드에 의해, 상기 작업 리스트에 포함된 상기 적어도 하나의 작업을 선택하고, 상기 적어도 하나의 작업에 대한 상기 제2 작업 홀드 메시지를 생성하는 단계;
상기 제2 노드에 의해, 상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과에 기초하여 상기 적어도 하나의 작업의 수행 여부를 결정하는 단계;
상기 제2 노드에 의해, 상기 제1 노드로부터 상기 적어도 하나의 작업에 대한 작업 완료 메시지를 수신하는 단계; 및
상기 제2 노드에 의해, 상기 적어도 하나의 작업에 대한 수행, 홀드, 또는 상기 작업 완료 메시지에 대응하여 상기 작업 리스트를 갱신하는 단계;를 포함하는, 작업 할당 방법.16. The method of claim 15,
Selecting, by the second node, the at least one task included in the task list and generating the second task hold message for the at least one task;
Determining, by the second node, whether to perform the at least one task based on a result of comparing the first job hold message and the second job hold message;
Receiving, by the second node, a task completion message for the at least one task from the first node; And
And updating, by the second node, the task list in response to performing, holding, or the task completion message for the at least one task.
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는, 제1 작업 홀드 메시지 전송 시간으로부터 기준 시간이 경과한 시간과 제2 작업 홀드 메시지 수신 시간을 비교한 결과인, 작업 할당 방법.16. The method of claim 15,
Wherein a result of comparing the first job hold message and the second job hold message is a result of comparing a time when a reference time elapses from a first job hold message transmission time and a reception time of a second job hold message, .
상기 제1 작업 홀드 메시지와 상기 제2 작업 홀드 메시지를 비교한 결과는,
제1 작업 홀드 메시지 전송 시간과, 제2 작업 홀드 메시지 전송 시간 또는 제2 작업 홀드 메시지 수신 시간을 비교한 결과인, 작업 할당 방법.16. The method of claim 15,
The result of comparing the first job hold message and the second job hold message,
Wherein the first task hold message transmission time is a result of comparing a first task hold message transmission time and a second task hold message transmission time or a second task hold message reception time.
상기 작업 리스트는 상기 작업 지시서에 포함된 작업들 각각에 대한 식별자 및 상태코드 중 적어도 하나가 삽입된 블룸 필터(Bloom filter)이고,
상기 작업 리스트를 갱신하는 단계는,
상기 제1 노드에 의해, 상기 적어도 하나의 작업을 수행하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 완료(done)으로 변경하고, 상기 적어도 하나의 작업을 홀드하면 상기 적어도 하나의 작업에 대응하는 상태코드를 미완료(none)에서 홀드(hold)로 변경하는 단계인, 작업 할당 방법.16. The method of claim 15,
Wherein the work list is a Bloom filter in which at least one of an identifier and a status code for each of the jobs included in the work instruction sheet is inserted,
The step of updating the task list comprises:
Performing at least one task by the first node to change a status code corresponding to the at least one task from none to done and holding the at least one task, Is changed from an imperfect (none) to a hold state.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170128314A KR101985899B1 (en) | 2017-09-29 | 2017-09-29 | System, method, and computer program for assigning tasks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170128314A KR101985899B1 (en) | 2017-09-29 | 2017-09-29 | System, method, and computer program for assigning tasks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190038195A KR20190038195A (en) | 2019-04-08 |
KR101985899B1 true KR101985899B1 (en) | 2019-06-04 |
Family
ID=66164373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170128314A KR101985899B1 (en) | 2017-09-29 | 2017-09-29 | System, method, and computer program for assigning tasks |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101985899B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012049247A1 (en) | 2010-10-13 | 2012-04-19 | Partec Cluster Competence Center Gmbh | A computer cluster arrangement for processing a computation task and method for operation thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5392129B2 (en) * | 2010-02-08 | 2014-01-22 | 富士通株式会社 | Program and information processing apparatus |
-
2017
- 2017-09-29 KR KR1020170128314A patent/KR101985899B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012049247A1 (en) | 2010-10-13 | 2012-04-19 | Partec Cluster Competence Center Gmbh | A computer cluster arrangement for processing a computation task and method for operation thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20190038195A (en) | 2019-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4020252A1 (en) | Data analysis method and device, apparatus, and storage medium | |
US11895577B2 (en) | Network slice selection method and apparatus | |
CN110121180B (en) | Data analysis device, system and method | |
US11093296B2 (en) | System, virtualization control apparatus, method for controlling a virtualization control apparatus, and program | |
CN115525438A (en) | Method, device and system for allocating resources and tasks in distributed system | |
EP3185516A1 (en) | Address processing method, related device and system | |
US20150301814A1 (en) | Application deployment method and scheduler | |
EP3871091B1 (en) | Distributed database-driven resource management and locking in a cloud native mobile core network node architecture | |
CN108123820B (en) | Network equipment information acquisition method and device | |
EP3386169B1 (en) | Address allocation method, gateway and system | |
EP3329657B1 (en) | A method a server and a client for policy based control of m2m devices | |
KR20120066116A (en) | Web service information processing method and web service compositing method and apparatus using the same | |
CN112019581B (en) | Method and device for scheduling task processing entities | |
EP4068725B1 (en) | Topology-based load balancing for task allocation | |
US20200136929A1 (en) | Virtual network function bus-based auto-registration | |
KR20220043651A (en) | A method and apparatus for renewing subscription for network data analysis in a wireless communication system | |
CN112672421B (en) | Method, system, device and storage medium for positioning terminal in communication network | |
JP2019525676A (en) | Method and apparatus for managing terminal mobility pattern | |
US20190289067A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
CN112672420A (en) | Method, system, device and storage medium for positioning terminal in communication network | |
CN103581273A (en) | Service executing method, device and system for distributed system | |
KR101985899B1 (en) | System, method, and computer program for assigning tasks | |
JP6981419B2 (en) | Information processing equipment, gateway equipment, information processing methods and information processing programs | |
WO2022022910A1 (en) | Service request handling | |
US20150271775A1 (en) | Method and Device for Deregistering Terminal Peripheral |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |