KR101349553B1 - Data communication method and data communication module using the same - Google Patents
Data communication method and data communication module using the same Download PDFInfo
- Publication number
- KR101349553B1 KR101349553B1 KR1020110134365A KR20110134365A KR101349553B1 KR 101349553 B1 KR101349553 B1 KR 101349553B1 KR 1020110134365 A KR1020110134365 A KR 1020110134365A KR 20110134365 A KR20110134365 A KR 20110134365A KR 101349553 B1 KR101349553 B1 KR 101349553B1
- Authority
- KR
- South Korea
- Prior art keywords
- priority
- data
- transmission data
- queue
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
데이터 통신 방법 및 이를 이용한 데이터 통신 모듈이 개시된다. 본 발명에 따른 데이터 통신 방법은 복수의 버퍼 및 우선순위가 설정된 복수의 큐를 포함하는 통신 모듈의 데이터 통신 방법에 있어서, 상기 복수의 버퍼 중 데이터가 저장되어 있지 않아 사용 가능한 버퍼가 존재하는지를 판단하는 단계, 사용 가능한 버퍼가 존재하는 경우 해당 버퍼에 송신 데이터를 저장하는 단계 및 상기 해당 버퍼를 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결하는 단계를 포함한다. 이에 의하여 우선 순위가 높은 데이터 순서대로 데이터 송신이 가능하게 되어 정해진 시간 내에 데이터를 전송할 수 있어 통신의 신뢰성을 높이게 된다. A data communication method and a data communication module using the same are provided. The data communication method according to the present invention is a data communication method of a communication module including a plurality of buffers and a plurality of queues having a priority setting, the method comprising: determining whether there is a buffer available because data is not stored among the plurality of buffers; And storing the transmission data in the buffer if there is an available buffer, and connecting the buffer to a queue set to the same priority as the priority of the stored transmission data. As a result, data can be transmitted in order of high priority data, so that data can be transmitted within a predetermined time, thereby improving communication reliability.
Description
본 발명은 데이터 통신 방법 및 이를 이용한 데이터 통신 모듈에 관한 것으로, 더욱 상세하게는 우선 순위에 따라 데이터 통신을 수행함으로써 데이터 통신의 신뢰성을 높일 수 있는 데이터 통신 방법 및 이를 이용한 데이터 통신 모듈에 관한 것이다.
The present invention relates to a data communication method and a data communication module using the same. More particularly, the present invention relates to a data communication method and a data communication module using the same, which can increase the reliability of data communication by performing data communication according to priority.
종래의 통신 모듈은 큐(QUEUE)에 들어간 순서대로 데이터를 송신하는 방식으로 우선 순위가 높은 데이터가 우선 수위가 낮은 데이터보다 뒤쪽에 존재하는 경우 정해진 시간 안에 데이터를 전송하지 못하는 문제점이 있었다. 이는 큐의 구조 자체에서 발생하는 문제점이다. The conventional communication module has a problem in that data cannot be transmitted within a predetermined time when data having a high priority exists behind data having a low priority level by transmitting data in the order of entering a queue. This is a problem with the structure of the queue itself.
큐는 추가되는 자료를 차례대로 저장한다. 큐의 가장 큰 특징으로는 FIFO(First-In-First-Out)을 들 수 있다. 즉 먼저 저장된 자료가 나중 저장된 자료보다 항상 앞서서 나온다. 큐의 이러한 특성 때문에 상술한 바와 같이 우선 순위에도 불구하고 먼저 입력된 데이터 먼저 전송해야하는 불편함이 있었다.The queue stores the data as it is added. The biggest feature of the queue is FIFO (First-In-First-Out). That is, the first stored data always comes before the later stored data. Due to this characteristic of the queue, it is inconvenient to transmit the first input data first despite the priority as described above.
도 1은 종래 통신 모듈의 구성을 나타낸다. 종래의 통신 모듈은 저장 태스크와 송신 태스크를 수행하며, 통신 모듈은 복수의 버퍼(buffer)를 포함하는 메모리 풀(pool)(10)과 큐(20)를 포함한다.1 shows a configuration of a conventional communication module. The conventional communication module performs a storage task and a transmission task, and the communication module includes a
도 2a는 종래 통신 모듈의 저장 태스크를 수행하는 과정을 나타내는 흐름도이다. 도 2a에 도시된 바와 같이 메모리 풀(10)에 사용하지 않는 버퍼가 존재하지 않는 경우(S30-No), 저장 태스크를 종료하고, 버퍼가 존재하면(S30-Yes), 버퍼에 송신 데이터를 저장한다(S32). 그리고 버퍼를 큐(20)에 연결하여(S34) 저장 태스크를 수행한다. 즉 큐(20)는 송신할 데이터를 저장하고 있는 버퍼를 가리키는 포인터 배열이다. 이렇게 저장된 데이터를 송신하는 송신 태스크는 큐(20)에서 버퍼를 가져와 송신한다. 이를 도 2b에 도시하였다.2A is a flowchart illustrating a process of performing a storage task of a conventional communication module. As shown in FIG. 2A, when there is no buffer in the memory pool 10 (S30-No), the storing task is terminated. If the buffer exists (S30-Yes), the transmission data is stored in the buffer. (S32). The buffer is connected to the queue 20 (S34) to perform a storage task. In other words, the
큐(20)에 데이터가 존재하지 않으면(S40-No) 송신 태스크를 수행하지 않는다. 큐(20)에 데이터가 존재하면(S40-Yes), 큐에서 버퍼를 분리한다(S42). 버퍼가 분리되면 버퍼에 저장된 데이터를 전송한다(S44).If there is no data in the queue 20 (S40-No), the transmission task is not performed. If data exists in the queue 20 (S40-Yes), the buffer is separated from the queue (S42). If the buffer is separated, the data stored in the buffer is transmitted (S44).
이렇게 종래 통신 모듈에 있어서는 하나의 큐를 사용하기 때문에 저장 태스크에 의해 순서대로 저장된 데이터는 송신 태스크에서 저장된 순서대로만 송신이 가능하다. 따라서 우선순위가 존재하는 경우에도 그에 무관하게 데이터를 전송하기 때문에 정해진 시간 내에 데이터를 전송하지 못하는 문제점이 있다.
Thus, in the conventional communication module, since one queue is used, data stored in order by the storage task can be transmitted only in the order stored in the transmission task. Therefore, even if a priority exists, the data is transmitted irrespective of it, so there is a problem in that data cannot be transmitted within a predetermined time.
본 발명은 상술한 문제점을 감안하여 안출된 것으로, 본 발명의 목적은 우선 순위가 높은 데이터 순서대로 데이터 송신이 가능한 데이터 통신 방법 및 이를 이용한 데이터 통신 모듈을 제공함에 있다.
The present invention has been made in view of the above-described problems, and an object of the present invention is to provide a data communication method and a data communication module using the same in which data can be transmitted in order of high priority data.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 통신 방법은, 복수의 버퍼 및 우선순위가 설정된 복수의 큐를 포함하는 통신 모듈의 데이터 통신 방법에 있어서, 상기 복수의 버퍼 중 데이터가 저장되어 있지 않아 사용 가능한 버퍼가 존재하는지를 판단하는 단계; 사용 가능한 버퍼가 존재하는 경우 해당 버퍼에 송신 데이터를 저장하는 단계; 및 상기 해당 버퍼를 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결하는 단계;를 포함한다.In the data communication method according to an embodiment of the present invention for achieving the above object, in the data communication method of the communication module comprising a plurality of buffers and a plurality of queues set priority, the data of the plurality of buffers are stored Determining whether there is a buffer available because of no use; Storing the transmission data in the buffer if an available buffer exists; And connecting the corresponding buffer to a queue set to the same priority as that of the stored transmission data.
그리고 상기 큐에 연결하는 단계는, 우선 상기 저장된 송신 데이터의 우선순위가 제1 우선순위인지를 판단하는 단계; 및 상기 송신 데이터의 우선순위가 제1 우선순위가 아닌 경우 차순위 우선순위인지를 반복하여 판단하는 단계;를 포함할 수 있다.The step of connecting to the queue may include: determining whether a priority of the stored transmission data is a first priority; And repeatedly determining whether a priority of the transmission data is a next priority if the priority of the transmission data is not the first priority.
또한 상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 판단하는 단계; 상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는 경우 상기 제1 우선순위와 연결된 버퍼에 저장된 송신 데이터를 추출하는 단계; 및 상기 추출된 송신 데이터를 전송하는 단계;를 더 포함할 수 있다.Determining whether transmission data exists in a queue set to the first priority; Extracting transmission data stored in a buffer connected with the first priority when transmission data exists in the queue set as the first priority; And transmitting the extracted transmission data.
그리고 상기 송신 데이터를 전송하는 단계 이후, 제2 우선순위로 설정된 큐부터 그 차순위 우선순위로 설정된 큐에 상기 송신 데이터가 존재하는지를 차례로 판단하여, 상기 송신 데이터가 존재하는 경우 우선순위 순서대로 송신 데이터를 추출하여 전송하는 단계;를 더 포함할 수 있다.After transmitting the transmission data, the transmission data is sequentially determined whether the transmission data exists in the queue set as the second priority from the queue set as the second priority, and when the transmission data exists, the transmission data is ordered in the order of priority. Extracting and transmitting; may further include.
한편 상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 통신 모듈은 송신 데이터를 저장하기 위한 복수의 버퍼; 우선순위가 설정된 복수의 큐; 및 상기 복수의 버퍼 중 데이터가 저장되어 있지 않아 사용 가능한 버퍼가 존재하는지를 판단하고, 사용 가능한 버퍼가 존재하는 경우 해당 버퍼에 송신 데이터를 저장한 후 상기 해당 버퍼를 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결하는 제어부;를 포함한다.Meanwhile, a data communication module according to an embodiment of the present invention for achieving the above object includes a plurality of buffers for storing transmission data; A plurality of queues having priorities set; And determining whether there is a buffer available because no data is stored among the plurality of buffers, and if the buffer is available, storing the transmission data in the buffer and then setting the corresponding buffer as the priority of the stored transmission data. It includes a control unit for connecting to the queue set to the priority.
그리고 상기 제어부는, 상기 저장된 송신 데이터의 우선순위가 제1 우선순위인지를 판단하고, 상기 송신 데이터의 우선순위가 제1 우선순위가 아닌 경우 차순위 우선순위인지를 반복하여 판단하면서, 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결할 수 있다.The controller determines whether a priority of the stored transmission data is a first priority and repeatedly determines whether a priority of the transmission data is a next priority when the priority of the transmission data is not the first priority. You can connect to a queue set to the same priority as the.
또한 상기 송신 데이터를 외부로 전송하기 위한 통신부;를 더 포함하며, 상기 제어부는, 상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 판단하고, 상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는 경우 상기 제1 우선순위와 연결된 버퍼에 저장된 송신 데이터를 추출하여, 상기 추출된 송신 데이터를 전송하도록 상기 통신부를 제어할 수 있다.The apparatus may further include a communication unit for transmitting the transmission data to the outside, wherein the controller determines whether transmission data exists in the queue set as the first priority, and transmits data to the queue set as the first priority. If present, the communication unit may be controlled to extract transmission data stored in a buffer connected with the first priority and transmit the extracted transmission data.
그리고 상기 제어부는, 제2 우선순위로 설정된 큐부터 그 차순위 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 차례로 판단하여, 상기 송신 데이터가 존재하는 경우 우선순위 순서대로 송신 데이터를 추출하여 외부로 전송하도록 상기 통신부를 제어할 수 있다.
The controller sequentially determines whether transmission data exists in the queue set as the second priority from the queue set as the second priority, and extracts the transmission data in order of priority when the transmission data exists and transmits it to the outside. The communication unit may be controlled.
상기 구성에 따른 데이터 통신 방법 및 이를 이용한 데이터 통신 모듈에 의하면 우선 순위가 높은 데이터 순서대로 데이터 송신이 가능하게 되어 정해진 시간 내에 데이터를 전송할 수 있어 통신의 신뢰성을 높이게 된다.
According to the data communication method and the data communication module using the same according to the above configuration, data can be transmitted in the order of high priority data, so that data can be transmitted within a predetermined time, thereby increasing the reliability of communication.
도 1은 종래 통신 모듈의 구성을 나타내는 도면,
도 2a는 종래 통신 모듈의 저장 태스크를 수행하는 과정을 나타내는 도면,
도 2b는 종래 통신 모듈의 송신 태스크를 수행하는 과정을 나타내는 도면,
도 3은 본 발명의 일 실시예에 따른 통신 모듈의 동작을 설명하기 위한 도면,
도 4는 본 발명의 일 실시예에 따른 데이터 통신 방법 중 저장 태스크 동작을 나타내는 흐름도,
도 5는 본 발명의 일 실시예에 따른 데이터 통신 방법 중 송신 태스크 동작을 나타내는 흐름도, 그리고
도 6은 본 발명의 일 실시예에 따른 데이터 통신 모듈의 구성을 나타내는 블록도이다.1 is a view showing the configuration of a conventional communication module,
2A is a diagram illustrating a process of performing a storage task of a conventional communication module;
2B is a diagram illustrating a process of performing a transmission task of a conventional communication module;
3 is a view for explaining the operation of the communication module according to an embodiment of the present invention;
4 is a flowchart illustrating a storage task operation in a data communication method according to an embodiment of the present invention;
5 is a flowchart illustrating a transmission task operation in a data communication method according to an embodiment of the present invention;
6 is a block diagram illustrating a configuration of a data communication module according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. 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.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이하에서는 첨부된 도면을 참조하면서 본 발명을 더욱 상세히 설명하기로 한다.In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, the present invention will be described in more detail with reference to the accompanying drawings.
도 3은 본 발명의 일 실시예에 따른 통신 모듈의 동작을 설명하기 위한 도면이다.3 is a view for explaining the operation of the communication module according to an embodiment of the present invention.
도 3에 도시된 바와 같이 본 발명의 일 실시예에 따른 통신 모듈의 동작은 저장 태스크(task)와 송신 태스크로 나뉠 수 있다. 이와 관련해서는 도 4 및 도 5의 흐름도를 참조하면서 구체적으로 설명하기로 하고, 도 3에서는 통신 모듈(100)의 동작 방법을 전반적으로 설명하기로 한다.As shown in FIG. 3, an operation of a communication module according to an embodiment of the present invention may be divided into a storage task and a transmission task. This will be described in detail with reference to the flowcharts of FIGS. 4 and 5, and an operation method of the
통신 모듈(100)은 복수의 버퍼로 이루어진 메모리 풀(pool)(110)과 우선순위가 설정된 복수의 큐(Queue)(120-1,120-2,…,120-n)를 포함한다. 여기서 복수의 큐(120-1,120-2,…,120-n)는 제1큐(120-1), 제2큐(120-2) 순으로 우선순위가 높게 설정되어 있다. 우선순위란 통신모듈을 통해 외부로 전송되는 데이터의 송신 순서를 말한다. 즉 중요도에 따라, 혹은 사용자의 설정에 따라 우선적으로 송신되어야 할 데이터가 저장되는 큐의 우선순위가 설정될 수 있다.The
통신 모듈(100)은 송신할 데이터를 저장하는 저장 태스크를 먼저 수행한다. 우선 메모리풀(110)에 포함된 복수의 버퍼 중에 사용 가능한 버퍼가 존재하는지를 판단한다. 즉 메모리풀(110)의 버퍼들이 모두 데이터를 저장하고 있다면 저장 태스크를 수행하지 않는다.The
버퍼에 사용 공간이 존재한다면 송신할 데이터를 저장한다. 다음으로 송신 데이터의 우선순위를 판단한다. 송신 데이터의 우선순위란 먼저 송신되어야 할 순서를 의미하며, 사용자에 의하여 설정될 수 있다. 우선순위를 판단한 후 제1 우선순위를 가지면, 제1 우선순위를 갖는 큐인 제1큐(120-1)에 버퍼를 연결한다. 만약 제2 우선순위를 갖는 송신 데이터라면 제2큐(120-2)에 연결하며, 제n 우선순위를 갖는 송신 데이터라면 제n큐(120-n)에 연결한다. If there is space available in the buffer, it stores the data to be sent. Next, the priority of transmission data is determined. The priority of the transmission data means an order to be transmitted first and may be set by the user. After determining the priority and having the first priority, the buffer is connected to the first queue 120-1, which is a queue having the first priority. If the transmission data having the second priority is connected to the second queue 120-2, and if the transmission data having the nth priority is connected to the nth queue 120-n.
이와 같은 방식으로 통신 모듈(100)은 저장 태스크를 수행하여 송신할 데이터들을 우선순위에 맞게 저장한다. 다음은 이러한 방식으로 저장된 데이터를 송신하는 송신 태스크의 동작을 설명한다.In this manner, the
먼저 통신 모듈(100)은 가장 우선순위가 높은 제1큐(120-1)에 데이터가 존재하는지를 판단하고 제1큐(120-1)에 데이터가 존재한다면 존재하는 데이터를, 연결된 버퍼로부터 분리하여 차례차례 외부로 송신한다.First, the
다음으로 제2큐(120-2)에 존재하는 데이터를 차례차례 외부로 송신하고, 제n큐(120-n)에 존재하는 데이터까지 모두 송신하면 송신 태스크가 종료된다. 이렇게 복수의 큐(120-1,120-2,…,120-n)를 이용하여 데이터를 송신하게 되면 가장 우선순위가 높은 데이터부터 차례로 송신할 수 있어 정해진 시간 내에 데이터를 전송할 수 있게 되어 통신의 신뢰성을 높이는 효과를 갖는다.Next, if the data existing in the second queue 120-2 is sequentially transmitted to the outside, and all the data existing in the nth queue 120-n is transmitted, the transmission task is terminated. When data is transmitted using the plurality of queues 120-1, 120-2,..., 120-n in this manner, the data with the highest priority can be transmitted in order, thereby allowing data to be transmitted within a predetermined time. Height has an effect.
도 4는 본 발명의 일 실시예에 따른 데이터 통신 방법 중 저장 태스크 동작을 나타내는 흐름도이다.4 is a flowchart illustrating a storage task operation in a data communication method according to an embodiment of the present invention.
먼저 메모리풀(110)에 현재 사용하지 않는 버퍼가 존재하는지를 판단한다(S200). 메모리풀(110)에는 n개의 버퍼를 가지고 있고, 데이터 통신 방법에 있어서 저장 태스크를 수행하는 데 이용된다. 만약 현재 모든 버퍼가 사용된 경우(S200-No)에는 작업을 종료한다.First, it is determined whether a buffer that is not currently used exists in the memory pool 110 (S200). The
메모리풀(110)에 현재 사용하지 않는 버퍼가 존재한다면(S200-Yes), 외부로 송신할 데이터를 버퍼에 저장한다(S210). 다음 상기 송신할 데이터의 우선순위가 1인지를 판단한다(S220). 만약 그렇다면(S220-Yes), 버퍼를 우선순위 1큐, 즉 제1큐(120-1)에 연결한다. 우선순위 1큐는 우선순위가 1인 데이터의 저장 버퍼를 가리키는 배열이다.If a buffer that is not currently used exists in the memory pool 110 (S200-Yes), data to be transmitted to the outside is stored in the buffer (S210). Next, it is determined whether the priority of the data to be transmitted is 1 (S220). If so (S220-Yes), the buffer is connected to the priority 1 queue, that is, the first queue 120-1. The priority 1 queue is an array that points to the storage buffer of data with priority 1.
송신할 데이터의 우선순위가 1이 아닌 경우에는 우선순위가 2인지를 판단하고, 그렇지 않다면 우선순위가 3인지를 판단하는 과정을 거친다. 즉, 우선순위가 1이 아닌 경우(S220-No)에는 버퍼를 차순위 큐에 연결한다(S240). 이와 같은 과정을 거치게 되면 우선순위가 1인 송신 데이터의 경우 우선순위가 1인 제1큐(120-1)와 해당 버퍼가 연결되고, 우선순위가 2인 송신 데이터의 경우 우선순위가 2인 제2큐(120-2)와 해당 버퍼가 연결되며, 우선순위가 n인 송신 데이터의 경우 우선순위가 n인 제n큐(120-n)와 해당 버퍼가 연결된다.If the priority of the data to be transmitted is not 1, it is determined whether the priority is 2, otherwise, it is determined whether the priority is 3. That is, when the priority is not 1 (S220-No), the buffer is connected to the next priority queue (S240). Through this process, the priority data of the first queue 120-1 and the corresponding buffer are connected in the case of the transmission data of priority 1, and the priority 2 of the transmission data in the case of the transmission data of priority 2 The two queues 120-2 and the corresponding buffer are connected, and in the case of transmission data having a priority of n, the nth queue 120-n having a priority of n and the corresponding buffer are connected.
이러한 방식으로 송신할 데이터를 저장한 버퍼를 우선순위에 따라 각기 다른 큐에 연결할 수 있다.In this way, buffers containing data to be sent can be connected to different queues in order of priority.
도 5는 본 발명의 일 실시예에 따른 데이터 통신 방법 중 송신 태스크 동작을 나타내는 흐름도이다.5 is a flowchart illustrating a transmission task operation in a data communication method according to an embodiment of the present invention.
먼저 제1큐(120-1)에 데이터가 존재하는지를 판단한다(S300). 상술한 바와 같이 제1큐(120-1)는 우선순위가 1인 큐를 나타내며, 이는 송신 우선순위가 1인 데이터를 포함하는 버퍼와 연결되어 있다.First, it is determined whether data exists in the first queue 120-1 (S300). As described above, the first queue 120-1 represents a queue having a priority of 1, which is connected to a buffer including data having a transmission priority of 1.
제1큐(120-1)에 데이터가 존재한다면(S300-Yes), 제1큐(120-1)의 데이터를 분리한 후 전송한다. 즉 제1큐(120-1)와 연결된 버퍼로부터 송신 데이터를 분리한 후 전송하는 동작을 수행한다. 그리고 다시 제1큐(120-1)에 송신 데이터가 남아 있는지를 판단한다(S300). 만약 여전히 제1큐(120-1)에 송신 데이터가 남아 있다면(S300-Yes), 이는 우선순위가 1인 데이터가 여전히 존재함을 의미하므로 다시 제1큐(120-1)의 데이터를 분리하여 전송한다(S310). 이와 같은 과정을 반복하여 제1큐(120-1)와 연결된 버퍼가 포함하는 송신 데이터를 모두 전송한다.If data exists in the first queue 120-1 (S300-Yes), the data of the first queue 120-1 is separated and then transmitted. That is, the data is transmitted after separating the transmission data from the buffer connected to the first queue 120-1. In operation S300, it is determined whether transmission data remains in the first queue 120-1. If there is still transmission data in the first queue 120-1 (S300-Yes), this means that data with priority 1 still exists, and thus separates data from the first queue 120-1 again. Transmit (S310). This process is repeated to transmit all transmission data included in the buffer connected to the first queue 120-1.
이렇게 제1큐(120-1)의 모든 데이터를 전송하고 더 이상 데이터가 존재하지 않는다면(S300-No), 제2큐(120-2)에 데이터가 존재하는지를 판단한다(S320). 제2큐(120-2)에서도 제1큐(120-1)에서와 마찬가지로 동작한다. 즉 제2큐(120-2)에 데이터가 존재한다면(S320-Yes), 제2큐(120-2)의 데이터를 분리한 후 전송하고(S330), 다시 제2큐(120-2)에 데이터가 존재하는지를 판단하여(S320), 제2큐(120-2)와 연결된 버퍼에 포함된 제2 우선순위를 갖는 송신 데이터들을 모두 전송한다.If all the data of the first queue 120-1 is transmitted as described above and no more data exists (S300-No), it is determined whether data exists in the second queue 120-2 (S320). The second queue 120-2 also operates in the same manner as the first queue 120-1. That is, if data exists in the second queue 120-2 (S320-Yes), the data of the second queue 120-2 is separated and transmitted (S330), and the second queue 120-2 is again transmitted. It is determined whether the data exists (S320), and transmits all transmission data having the second priority included in the buffer connected to the second queue 120-2.
제2큐(120-2)에 데이터가 더 이상 존재하지 않으면(S320-No), 제3큐, 제4큐, …로 넘어가 동일한 동작을 반복한다. 마지막 큐인 제n큐(120-n)의 경우 역시 제n큐에 데이터가 존재하는지를 판단하고(S340), 제n큐(120-n)에 데이터가 존재한다면(S340-Yes), 제n큐(120-n)과 연결된 버퍼에 존재하는 데이터를 분리한 후 전송한다(S350). 이와 같은 과정을 제n큐(120-n)에 데이터가 존재하지 않을 때까지 판단한다. If data no longer exists in the second queue 120-2 (S320-No), the third queue, the fourth queue,... Go on and repeat the same operation. In the case of the last queue, the nth queue 120-n, it is also determined whether data exists in the nth queue (S340), and if the data exists in the nth queue 120-n (S340-Yes), the nth queue ( 120-n) and separates the data present in the buffer connected to the transmission (S350). This process is determined until there is no data in the n-th queue 120-n.
이와 같은 과정을 거치면 우선순위에 따라 정렬된 제1큐(120-1)부터 제n큐(120-n)에 저장된 데이터들을 차례로 전송할 수 있게 된다. 즉 우선순위에 따라 데이터들을 전송할 수 있게 된다.Through this process, data stored in the first queue 120-1 to the nth queue 120-n arranged according to the priority can be sequentially transmitted. In other words, data can be transmitted according to priority.
마지막으로 도 6은 본 발명의 일 실시예에 따른 데이터 통신 모듈의 구성을 나타내는 블록도이다. 도 6에 도시된 바와 같이 본 발명의 일 실시예에 따른 데이터 통신 모듈(100)은 메모리풀(110), 복수의 큐(120), 제어부(130) 및 통신부(140)를 포함한다. 본 발명의 일 실시예에 따른 데이터 통신 모듈(100)의 동작과 관련해서는 위에서 설명한 바와 동일하기 때문에 구체적인 설명은 생략하고, 각 구성의 기능을 위주로 설명하기로 한다.6 is a block diagram illustrating a configuration of a data communication module according to an embodiment of the present invention. As shown in FIG. 6, the
메모리풀(110)은 복수의 버퍼(1,2,…,n)를 구비하며 송신 데이터를 저장하는 기능을 갖는다. 각각의 버퍼는 후술할 큐와 연결된다.The
복수의 큐(120)는 우선순위가 설정되며, 상술한 메모리풀(110)의 각 버퍼와 연결된다.The plurality of
제어부(130)는 메모리풀(110)에 구비된 복수의 버퍼 중 사용하지 않는 버퍼가 존재하는지를 판단하고, 사용하지 않는 버퍼가 존재하는 경우 해당 버퍼에 송신 데이터를 저장한 후 상기 해당 버퍼를 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐(120)에 연결하는 기능을 갖는다. The
또한 제어부(130)는 저장된 송신 데이터의 우선순위가 제1 우선순위인지를 판단하고, 상기 송신 데이터의 우선순위가 제1 우선순위인가 아닌 경우 차순위 우선순위인지를 반복하여 판단하면서, 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐(120)에 연결한다.In addition, the
통신부(140)는 송신 데이터를 외부로 전송하는 기능을 가지며, 데이터 송신과 관련해서는 어떠한 통신 수단(방법)을 이용해도 무방하다. 제어부(130)는 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 판단하고, 상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는 경우 상기 제1 우선순위와 연결된 버퍼에 저장된 송신 데이터를 추출하여, 상기 추출된 송신 데이터를 전송하도록 통신부(140)를 제어하게 된다.The
또한 제어부(130)는 제2 우선순위로 설정된 큐부터 그 차순위 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 차례로 판단하여, 상기 송신 데이터가 존재하는 경우 우선순위 순서대로 송신 데이터를 추출하여 외부로 전송하도록 상기 통신부(140)를 제어한다.In addition, the
상기 구성에 따른 데이터 통신 방법 및 이를 이용한 데이터 통신 모듈에 의하면 우선 순위가 높은 데이터 순서대로 데이터 송신이 가능하게 되어 정해진 시간 내에 데이터를 전송할 수 있어 통신의 신뢰성을 높이게 된다.According to the data communication method and the data communication module using the same according to the above configuration, data can be transmitted in the order of high priority data, so that data can be transmitted within a predetermined time, thereby increasing the reliability of communication.
상기한 바에서, 다양한 실시예에서 설명한 각 구성요소 및/또는 기능은 서로 복합적으로 결합하여 구현될 수 있으며, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
In the foregoing description, each component and / or function described in various embodiments may be implemented in combination with each other, and those skilled in the art may recognize the present invention described in the claims below. It will be understood that various modifications and variations can be made in the present invention without departing from the spirit and scope.
100.............................................통신 모듈
110.............................................메모리풀
120.............................................큐
130.............................................제어부
140.............................................통신부100 ....................................... Communication module
110 ....................................................... Memory Pool
120 ........................................ Cue
130 .....................
140 ............................................
Claims (8)
상기 복수의 버퍼 중 데이터가 저장되어 있지 않아 사용 가능한 버퍼가 존재하는지를 판단하는 단계;
사용 가능한 버퍼가 존재하는 경우 해당 버퍼에 송신 데이터를 저장하는 단계; 및
상기 해당 버퍼를 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결하는 단계;를 포함하는 데이터 통신 방법.In the data communication method of a communication module including a plurality of buffers and a plurality of queues set priority,
Determining whether a buffer exists because data is not stored among the plurality of buffers;
Storing the transmission data in the buffer if an available buffer exists; And
Connecting the corresponding buffer to a queue set to a priority equal to that of the stored transmission data.
상기 큐에 연결하는 단계는,
우선 상기 저장된 송신 데이터의 우선순위가 제1 우선순위인지를 판단하는 단계; 및
상기 송신 데이터의 우선순위가 제1 우선순위가 아닌 경우 차순위 우선순위인지를 반복하여 판단하는 단계;를 포함하는 것을 특징으로 하는 데이터 통신 방법.The method of claim 1,
Connecting to the queue,
First determining whether a priority of the stored transmission data is a first priority; And
And repeatedly determining whether the priority of the transmission data is a next priority if the priority of the transmission data is not the first priority.
상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 판단하는 단계;
상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는 경우 상기 제1 우선순위와 연결된 버퍼에 저장된 송신 데이터를 추출하는 단계; 및
상기 추출된 송신 데이터를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 통신 방법.3. The method of claim 2,
Determining whether transmission data exists in the queue set to the first priority;
Extracting transmission data stored in a buffer connected with the first priority when transmission data exists in the queue set as the first priority; And
And transmitting the extracted transmission data.
상기 송신 데이터를 전송하는 단계 이후,
제2 우선순위로 설정된 큐부터 그 차순위 우선순위로 설정된 큐에 상기 송신 데이터가 존재하는지를 차례로 판단하여, 상기 송신 데이터가 존재하는 경우 우선순위 순서대로 송신 데이터를 추출하여 전송하는 단계;를 더 포함하는 것을 특징으로 하는 데이터 통신 방법.The method of claim 3, wherein
After transmitting the transmission data,
Judging whether the transmission data exists in the queue set as the second priority from the queue set as the second priority, and extracting and transmitting the transmission data in order of priority when the transmission data exists. Data communication method, characterized in that.
우선순위가 설정된 복수의 큐; 및
상기 복수의 버퍼 중 데이터가 저장되어 있지 않아 사용 가능한 버퍼가 존재하는지를 판단하고, 사용 가능한 버퍼가 존재하는 경우 해당 버퍼에 송신 데이터를 저장한 후 상기 해당 버퍼를 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결하는 제어부;를 포함하는 데이터 통신 모듈.A plurality of buffers for storing transmission data;
A plurality of queues having priorities set; And
It is determined whether there is a buffer available because data is not stored among the plurality of buffers, and if there is an available buffer, the transmission data is stored in the buffer and the corresponding buffer has a priority equal to that of the stored transmission data. And a controller for connecting to a queue set to a priority.
상기 제어부는,
상기 저장된 송신 데이터의 우선순위가 제1 우선순위인지를 판단하고, 상기 송신 데이터의 우선순위가 제1 우선순위가 아닌 경우 차순위 우선순위인지를 반복하여 판단하면서, 상기 저장된 송신 데이터의 우선순위와 동일한 우선순위로 설정된 큐에 연결하는 것을 특징으로 하는 데이터 통신 모듈.6. The method of claim 5,
The control unit,
It is determined whether the priority of the stored transmission data is the first priority, and if the priority of the transmission data is not the first priority, it is repeatedly determined whether it is the next priority, and the same as the priority of the stored transmission data. Data communication module, characterized in that for connecting to the queue set to the priority.
상기 송신 데이터를 외부로 전송하기 위한 통신부;를 더 포함하며,
상기 제어부는,
상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 판단하고, 상기 제1 우선순위로 설정된 큐에 송신 데이터가 존재하는 경우 상기 제1 우선순위와 연결된 버퍼에 저장된 송신 데이터를 추출하여, 상기 추출된 송신 데이터를 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 데이터 통신 모듈.The method according to claim 6,
Further comprising: a communication unit for transmitting the transmission data to the outside,
The control unit,
It is determined whether transmission data exists in the queue set as the first priority, and when transmission data exists in the queue set as the first priority, the transmission data stored in the buffer connected with the first priority is extracted, and the extraction is performed. And controlling the communication unit to transmit the transmitted data.
상기 제어부는,
제2 우선순위로 설정된 큐부터 그 차순위 우선순위로 설정된 큐에 송신 데이터가 존재하는지를 차례로 판단하여, 상기 송신 데이터가 존재하는 경우 우선순위 순서대로 송신 데이터를 추출하여 외부로 전송하도록 상기 통신부를 제어하는 것을 특징으로 하는 데이터 통신 모듈.
8. The method of claim 7,
The control unit,
Determining whether transmission data exists in the queue set as the second priority from the queue set as the second priority, and if the transmission data exists, controlling the communication unit to extract transmission data in order of priority and transmit the data to the outside; Data communication module, characterized in that.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110134365A KR101349553B1 (en) | 2011-12-14 | 2011-12-14 | Data communication method and data communication module using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020110134365A KR101349553B1 (en) | 2011-12-14 | 2011-12-14 | Data communication method and data communication module using the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20130067622A KR20130067622A (en) | 2013-06-25 |
| KR101349553B1 true KR101349553B1 (en) | 2014-01-09 |
Family
ID=48863414
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020110134365A Active KR101349553B1 (en) | 2011-12-14 | 2011-12-14 | Data communication method and data communication module using the same |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101349553B1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030045857A (en) * | 2000-11-17 | 2003-06-11 | 인피니언 테크놀로지스 노쓰 아메리카 코포레이션 | Priority handling of voice over data in a voice-over-internet protocol processor |
| KR20030055416A (en) * | 2001-12-26 | 2003-07-04 | 한국전자통신연구원 | A telecommunication apparatus among the data process in a dispersive process circumstances and a telecommunicational method thereof |
| KR20050061226A (en) * | 2003-12-18 | 2005-06-22 | 한국전자통신연구원 | Scheduling method and apparatus in dynamic multiplex channel network |
| KR20060092316A (en) * | 2005-02-17 | 2006-08-23 | 삼성전자주식회사 | Home Network and Channel Allocation Method |
-
2011
- 2011-12-14 KR KR1020110134365A patent/KR101349553B1/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030045857A (en) * | 2000-11-17 | 2003-06-11 | 인피니언 테크놀로지스 노쓰 아메리카 코포레이션 | Priority handling of voice over data in a voice-over-internet protocol processor |
| KR20030055416A (en) * | 2001-12-26 | 2003-07-04 | 한국전자통신연구원 | A telecommunication apparatus among the data process in a dispersive process circumstances and a telecommunicational method thereof |
| KR20050061226A (en) * | 2003-12-18 | 2005-06-22 | 한국전자통신연구원 | Scheduling method and apparatus in dynamic multiplex channel network |
| KR20060092316A (en) * | 2005-02-17 | 2006-08-23 | 삼성전자주식회사 | Home Network and Channel Allocation Method |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20130067622A (en) | 2013-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3255553B1 (en) | Transmission control method and device for direct memory access | |
| US20170295112A1 (en) | Apparatus and method for buffering data in a switch | |
| JP2019095861A (en) | Neural network device | |
| JP4992296B2 (en) | Transfer processing device | |
| US8131949B2 (en) | Memory access control device equipped with memory access request generating modules/arbitrator and control method thereof | |
| KR101262313B1 (en) | Deferred Memory Access Requests | |
| JP2012064021A (en) | Communication system, master device and slave device, and communication method | |
| US9213660B2 (en) | Receiver based communication permission token allocation | |
| US9736529B2 (en) | USB sharing method for combo TV set, combo TV set and computer readable storage medium | |
| US8811418B2 (en) | Information processing apparatus, information processing method, and storage medium | |
| US10292181B2 (en) | Information communication method and information processing apparatus | |
| US8812787B2 (en) | Router and many-core system | |
| CN104765701A (en) | Data access method and device | |
| KR20170074759A (en) | Queuing of decoding tasks according to priority in nand flash controller | |
| US8930601B2 (en) | Transaction routing device and method for routing transactions in an integrated circuit | |
| KR101052809B1 (en) | Memory control device, memory control method and information processing device | |
| KR101349553B1 (en) | Data communication method and data communication module using the same | |
| JP6552864B2 (en) | How to select one of multiple queues | |
| US8953469B2 (en) | Communication device and computer program product | |
| JP5652866B2 (en) | Bus arbitration circuit and bus arbitration method | |
| US20140281091A1 (en) | Method and apparatus for identifying cause of interrupt | |
| JP6127872B2 (en) | Arithmetic processing device and control method of arithmetic processing device | |
| CN105610814A (en) | Method and system for reducing packet forwarding delay | |
| JP2005094249A (en) | Packet relay method and packet relay apparatus | |
| JP2010044703A (en) | Method and program for switching task in multi task os |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20111214 |
|
| PA0201 | Request for examination | ||
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130617 Patent event code: PE09021S01D |
|
| PG1501 | Laying open of application | ||
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20131230 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140102 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20140102 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20170102 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20170102 Start annual number: 4 End annual number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20180102 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20180102 Start annual number: 5 End annual number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20190102 Start annual number: 6 End annual number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20200102 Start annual number: 7 End annual number: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20210104 Start annual number: 8 End annual number: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20220103 Start annual number: 9 End annual number: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20221226 Start annual number: 10 End annual number: 10 |
|
| PR1001 | Payment of annual fee |
Payment date: 20231226 Start annual number: 11 End annual number: 11 |
|
| PR1001 | Payment of annual fee |
Payment date: 20241224 Start annual number: 12 End annual number: 12 |