KR100541847B1 - Dynamic priority queueing engine and method in a home gateway system and data service system using it - Google Patents
Dynamic priority queueing engine and method in a home gateway system and data service system using it Download PDFInfo
- Publication number
- KR100541847B1 KR100541847B1 KR1020020077584A KR20020077584A KR100541847B1 KR 100541847 B1 KR100541847 B1 KR 100541847B1 KR 1020020077584 A KR1020020077584 A KR 1020020077584A KR 20020077584 A KR20020077584 A KR 20020077584A KR 100541847 B1 KR100541847 B1 KR 100541847B1
- Authority
- KR
- South Korea
- Prior art keywords
- service
- real
- time
- packet
- priority
- Prior art date
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/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/283—Processing of data at an internetworking point of a home automation network
- H04L12/2834—Switching of information between an external network and a home network
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및 방법과 그를 이용한 홈게이트웨이의 데이터 서비스 시스템에 관한 것으로서, 그 큐잉엔진은 홈 네트워크의 입력패킷을 큐잉하는 수신큐; 큐잉된 패킷에 동적 우선순위를 부여하는 프로세싱큐; 및 동적 우선순위에 따라 서비스를 받기 위해 대기하는 실행큐를 포함함을 특징으로 하고, 그 데이터 서비스 시스템은 홈게이트웨이 시스템에 내장되며, 시스템을 구동하고 운영하는 비실시간 운영체제; 비실시간 운영체제에 포팅되며, 하드웨어 인터페이스를 통해 실시간 서비스를 지원하는 실시간 운영체제; 실시간 운영체제에 포팅되며, 실시간 서비스와 비실시간 서비스가 혼재하는 홈 네트워크에서 실시간 서비스를 지원하고 비실시간 서비스의 서비스 기회에 대한 공정성을 보장하는 큐잉엔진; 및 큐잉엔진에 의해 동적 우선순위가 부여된 패킷을 처리하는 실시간 스케쥴러를 포함함을 특징으로 한다. The present invention relates to a dynamic priority queuing engine and method in a home gateway system and a data service system of a home gateway using the same, the queuing engine comprising: a reception queue for queuing an input packet of a home network; A processing queue for assigning dynamic priority to queued packets; And an execution queue waiting to receive a service according to a dynamic priority, wherein the data service system is embedded in a home gateway system, and includes a non-real time operating system that runs and operates the system. A real time operating system ported to the non real time operating system and supporting a real time service through a hardware interface; A queuing engine that is ported to a real-time operating system and supports real-time services in a home network where real-time services and non-real-time services are mixed and guarantees fairness for service opportunities of non-real-time services; And a real-time scheduler for processing the packets given the dynamic priority by the queuing engine.
본 발명에 의하면, 홈게이트웨이 시스템에 다양한 서비스 클래스의 패킷에 대해, 비실시간 서비스 데이터의 기아현상을 해결하며, 각 서비스 클래스에 대한 서비스 공정성을 보장하고, 홈게이트웨이 시스템의 성능을 향상시킨다.The present invention solves starvation of non-real-time service data for packets of various service classes in the home gateway system, guarantees service fairness for each service class, and improves the performance of the home gateway system.
Description
도 1은 다양한 인터페이스와 응용 서비스를 갖는 홈게이트웨이 시스템 구성을 블록도로 도시한 것이다.1 is a block diagram illustrating a configuration of a home gateway system having various interfaces and application services.
도 2는 홈게이트웨이 시스템에 내장되는 일반 리눅스 커널, 실시간 리눅스 커널 및 큐잉엔진에 대한 구성을 블록도로 도시한 것이다.2 is a block diagram illustrating a configuration of a general Linux kernel, a real-time Linux kernel, and a queuing engine embedded in a home gateway system.
도 3은 실시간 리눅스 커널에 설계되는 큐잉엔진의 기능 블록도를 도시한 것이다.3 shows a functional block diagram of a queuing engine designed in a real-time Linux kernel.
도 4A 및 도 4B는 홈게이트웨이 시스템에 A, B, C, D 4개의 응용 서비스 클래스에 해당하는 패킷이 큐잉엔진에 의해 동적 우선순위를 할당받고, 서비스를 받는 절차를 내타내는 예시도이다.4A and 4B are exemplary diagrams illustrating a procedure in which a packet corresponding to four application service classes A, B, C, and D is assigned a dynamic priority by a queuing engine and receives a service in a home gateway system.
본 발명은 홈게이트웨이 시스템에 관한 것으로서, 더욱 상세하게는 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및 방법과 이를 이용한 홈게이트웨이 의 데이터 서비스 시스템에 관한 것이다.The present invention relates to a home gateway system, and more particularly, to a dynamic priority queuing engine and method in a home gateway system and a data service system of a home gateway using the same.
기존의 홈게이트웨이 시스템에서 리눅스와 같은 일반 운영체제만을 내장하는 경우에는 실시간(realtime) 서비스와 비실시간 서비스에 대해 동일한 우선순위가 부여되고, 라운드 로빈(round robin) 스케줄링 방법에 의해 서비스되기 때문에 실시간 서비스에 대한 지원을 보장할 수 없다. 그리고 실시간 서비스의 일종인 VoIP(Voice of IP)나 영상 서비스를 할 때에는 서비스 도중 패킷의 지연에 따른 손실이 발생하여 서비스에 대한 QoS를 보장하지 못한다.In the existing home gateway system, if only the general operating system such as Linux is embedded, the same priority is given to the real-time service and the non-real-time service, and it is serviced by the round robin scheduling method. There is no guarantee of support. In addition, when performing VoIP (Voice of IP) or video service, which is a kind of real-time service, loss due to packet delay occurs during service, and thus QoS of the service cannot be guaranteed.
일반 리눅스에 실시간 리눅스를 포팅(porting)한 커널을 내장하는 경우에는 실시간 서비스를 지원할 수는 있지만, 하나 이상의 실시간 서비스가 요구되는 경우에는 동일한 우선순위를 갖는 서비스에 대해 라운드 로빈 스케줄링 방법이 적용되고 각 실시간 서비스에 대한 QoS를 보장하지 못하며, 실시간 서비스에 의해 우선순위 경쟁에서 지연을 겪게 되는 비실시간 서비스의 경우에는 장기간 동안 서비스를 받지 못하는 기아(starvation)현상이 발생하게 되고 홈게이트웨이 시스템에서 각 서비스 클래스에 대한 공정성을 보장하지 못하게 된다.Real-time services can be supported by embedding a kernel with real-time Linux ported to regular Linux, but when more than one real-time services are required, round robin scheduling is applied to services with the same priority. In case of the non-real-time service that does not guarantee QoS for real-time service and suffers a delay in priority competition by real-time service, starvation phenomenon occurs that does not receive service for a long time, and each service class in home gateway system There is no guarantee of fairness.
본 발명이 이루고자 하는 기술적 과제는, 실시간 서비스에 대한 지원과 비실시간 서비스에 대한 서비스 지원을 보장하며 각 서비스 클래스에 대한 공정성을 보장할 수 있는 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및 방법을 제공하는 것이다. The present invention provides a dynamic priority queuing engine and method in a home gateway system that guarantees support for real-time services and service support for non-real-time services, and guarantees fairness for each service class. It is.
그리고 본 발명이 이루고자 하는 다른 기술적 과제는 상기 동적 우선순위 큐 잉 엔진을 이용한 홈게이트웨이의 데이터 서비스 시스템을 제공하는 것이다.Another object of the present invention is to provide a data service system of a home gateway using the dynamic priority queuing engine.
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진은, 홈 네트워크에서 서비스를 받기 위해 들어오는 패킷을 큐잉하는 수신큐; 상기 수신큐에 큐잉된 패킷에 대해 동적 우선순위를 부여하는 프로세싱큐; 및 상기 프로세싱큐에 의해 할당된 동적 우선순위에 따라 서비스를 받기위해 대기하는 실행큐를 포함함을 특징으로 한다.In order to achieve the above technical problem, a dynamic priority queuing engine in a home gateway system according to the present invention comprises: a reception queue for queuing an incoming packet to receive a service in a home network; A processing queue for assigning dynamic priority to packets queued to the receive queue; And an execution queue waiting to receive a service according to the dynamic priority assigned by the processing queue.
상기 프로세싱큐의 동적 우선순위는 서비스 클래스에 따라 부여되는 우선순위, 패킷의 도착율 및 큐에서 기다리는 시간을 고려하여 정하여짐을 특징으로 한다. 상기 서비스 클래스는 영상 실시간 서비스, 음성 실시간 서비스, 비실시간서비스 및 제어용 비실시간서비스 클래스를 포함함을 특징으로 한다. 상기 패킷의 도착율은 소정시간 동안 수신큐에 들어오는 패킷의 수, 현재 패킷에서 다음패킷까지의 시간간격 및 해당 패킷의 서비스 대역폭을 고려하여 계산함을 특징으로 한다.The dynamic priority of the processing queue is determined in consideration of the priority given according to the service class, the arrival rate of the packet, and the waiting time in the queue. The service class may include a video real time service, a voice real time service, a non real time service, and a non real time service class for control. The arrival rate of the packet is calculated by considering the number of packets entering the reception queue for a predetermined time, the time interval from the current packet to the next packet, and the service bandwidth of the packet.
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 방법은, 홈 네트워크에서 서비스를 받기 위해 들어오는 패킷을 큐잉하는 단계; 상기 큐잉된 패킷에 대해 동적 우선순위를 부여하는 단계; 및 상기 부여된 동적 우선순위에 따라 서비스를 받기위해 대기하는 단계를 포함함을 특징으로 한다.In order to achieve the above technical problem, a dynamic priority queuing method in a home gateway system includes: queuing an incoming packet to receive a service in a home network; Assigning a dynamic priority to the queued packet; And waiting to receive a service according to the assigned dynamic priority.
상기 동적 우선순위 부여 단계는 상기 패킷이 들어와 대기한 시간과 상기 패킷의 서비스 클래스에 따라 부여되어 있는 우선순위를 고려하여 우선순위를 새로 결정하는 단계; 및 상기 새로 결정된 우선순위와 패킷의 큐로의 도착율을 고려하여 우선순위를 다시 부여하는 단계로 이루어짐을 특징으로 한다.The dynamic prioritizing step may include: newly determining a priority in consideration of the time at which the packet enters and waits and a priority given according to a service class of the packet; And re-prioritizing the priority in consideration of the newly determined priority and the arrival rate of the packet.
상기 다른 기술적 과제를 달성하기 위하여 본 발명에 따른 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진을 이용한 홈게이트웨이의 데이터 서비스 시스템은 홈게이트웨이 시스템에 내장되며, 상기 시스템을 구동하고 운영하는 비실시간 운영체제; 상기 비실시간 운영체제에 포팅되며, 보조 운영체제로서 하드웨어 인터페이스를 통해 실시간 서비스를 지원하는 실시간 운영체제; 상기 실시간 운영체제에 포팅되며, 실시간 서비스와 비실시간 서비스가 혼재하는 홈 네트워크에서 실시간 서비스를 지원하고 비실시간 서비스의 서비스기회에 대한 공정성을 보장하는 큐잉엔진; 및 상기 큐잉엔진에 의해 동적 우선순위가 부여된 패킷을 처리하는 실시간 스케쥴러를 포함함을 특징으로 한다. 상기 비실시간 운영체제는 비실시간 리눅스이고, 상기 실시간 운영체제는 실시간 리눅스 임을 특징으로 한다.In order to achieve the above technical problem, a data service system of a home gateway using a dynamic priority queuing engine in a home gateway system according to the present invention is embedded in a home gateway system, and includes a non-real time operating system operating and operating the system; A real-time operating system which is ported to the non-real-time operating system and supports a real-time service through a hardware interface as an auxiliary operating system; A queuing engine that is ported to the real-time operating system and supports a real-time service in a home network in which real-time and non-real-time services are mixed and guarantees fairness for service opportunities of the non-real-time service; And a real time scheduler for processing a packet to which dynamic priority is given by the queuing engine. The non-real-time operating system is a non-real-time Linux, the real-time operating system is characterized in that the real-time Linux.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체을 제공한다.A computer readable recording medium having recorded thereon a program for executing the invention described above is provided.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명한다. 도 1은 다양한 인터페이스와 응용 서비스를 갖는 홈게이트웨이 시스템의 구성을 블록도로 도시한 것이다. 홈게이트웨이 시스템은 외부 액세스망과 댁내 홈네트워크를 연결시켜주는 접속장치로서 다양한 인터페이스와 다양한 응용 어플리케이션을 포함한다. Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention. 1 is a block diagram illustrating a configuration of a home gateway system having various interfaces and application services. The home gateway system is an access device that connects the external access network with the home network, and includes various interfaces and various application applications.
상기 홈게이트웨이 시스템의 인터페이스는 다음과 같다. ADSL/VDSL(100)은 홈게이트웨이 시스템이 전화선을 통해 외부망에 접속할 때 사용되며, Fast Ethernet(102)은 홈게이트웨이 시스템이 LAN을 통해 외부망에 접속할 때 사용된다. 그리고 HPNA(Home Phoneline Networking Alliance, 104)는 홈네트워크 내에 존재하는 정보가전 단말이 전화선을 이용하여 홈게이트웨이 시스템과 통신하며, Fast Ethernet(스위칭 허브,106)은 홈네트워크 내에 존재하는 정보가전단말과 LAN을 이용하여 홈게이트웨이 시스템과 통신하며, WLAN(Wireless Local Area Network)과 BT(Bluetooth, 108)는 홈네트워크 내에 존재하는 정보단말이 클라이언트가 되고 홈게이트웨이 시스템이 AP가 되어 무선으로 통신할 수 있으며, VoIP(Voice over Internet Protocol, 110)는 인터넷망을 통해 상대방과 전화통화를 가능하게 하며, IEEE1394(112)는 영상서비스와 같은 고속의 대용량 서비스 통신을 위해 사용되고, PLC(Power Line Control, 114)는 홈네트워크 내에 존재하는 정보가전기기와 전력선을 이용하여 저속의 정보가전기기 제어 서비스를 가능하게 한다.The interface of the home gateway system is as follows. The ADSL / VDSL 100 is used when the home gateway system connects to an external network through a telephone line, and the Fast Ethernet 102 is used when the home gateway system connects to an external network through a LAN. In addition, HPNA (Home Phoneline Networking Alliance) 104 communicates with the home gateway system using an information appliance terminal in the home network using a telephone line, and Fast Ethernet (switching hub) 106 uses an information appliance terminal and a LAN in the home network. It communicates with the home gateway system using the Wireless Local Area Network (WLAN) and BT (Bluetooth, 108). The information terminal existing in the home network becomes a client and the home gateway system becomes an AP so as to communicate wirelessly. Voice over Internet Protocol (VoIP) 110 enables telephone calls with the other party through the Internet network, IEEE1394 (112) is used for high-speed, high-capacity service communication, such as video services, PLC (Power Line Control, 114) Information existing in the home network uses electric devices and power lines to enable low speed information electric control services.
홈네트워크 내에는 다양한 정보단말들이 접속될 수 있으며 다양한 서비스 클래스가 존재하게 된다. VoIP나 영상서비스의 경우에는 실시간 서비스를 요구하며, 전력선통신의 경우에는 제어 메시지의 교환을 위한 저속 통신서비스를 요구한다. VoIP서비스는 VoIP 인터페이스(110)를 통하여 홈네트워크에 존재하는 일반전화기와 연결되며 전화기를 통해 송수신되는 아날로그 신호는 홈게이트웨이 시스템의 VoIP 하드웨어 모듈을 통하여 디바이스 드라이버와 커널(150)에 전달되게 된다. 디바이스 드라이버는 음성 칩 디바이스를 제어하며 송수신되는 패킷을 커널에 전달하고, 커널은 디바이스 드라이버의 API를 통하여 VoIP 응용 어플리케이션(160)에 해당되 는 패킷을 송수신한다. 영상서비스는 IEEE1394 인터페이스(112)를 통하여 홈네트워크에 존재하는 IEEE1394 정보단말과 통신한다. Various information terminals can be connected in the home network, and various service classes exist. In case of VoIP or video service, real time service is required, and in case of power line communication, low speed communication service is required for exchange of control messages. The VoIP service is connected to a general telephone in the home network through the
그리고 본 발명에 의한 홈게이트웨이 시스템에 내장되는 프로그램의 구성은 다음과 같다. 커널(150)은 실시간 서비스를 지원하기 위해 일반 리눅스와 실시간 리눅스를 포팅하고, 동적 우선순위를 부여하기 위한 큐잉엔진이 구현된 커널로서 서비스를 받기 위해 들어오는 패킷에 대해 동적 우선순위를 할당하여 실시간 서비스에 대한 지원과 각 서비스에 대한 공정성을 보장한다. The configuration of the program embedded in the home gateway system according to the present invention is as follows. Kernel 150 is a kernel that implements porting general Linux and real-time Linux to support real-time service, and allocates dynamic priority to incoming packets to receive service as kernel that implements queuing engine to give dynamic priority. Ensure support and fairness for each service.
VPN(Virtual Private Network, 170)은 홈게이트웨이 시스템을 통해 홈네트워크에 존재하는 단말의 정보를 보호하기 위한 보안 응용 어플리케이션이며, VoIP(160)는 홈게이트웨이 시스템을 통해 홈네트워크에 존재하는 사용자에게 인터넷 전화 서비스를 가능하게해 주는 VoIP 응용 어플리케이션이다.VPN (Virtual Private Network, 170) is a security application for protecting the information of the terminal existing in the home network through the home gateway system, VoIP 160 is an Internet phone to the user in the home network through the home gateway system It is a VoIP application that enables services.
SNMP(Simple Network Management Protocol, 180)는 홈게이트웨이 시스템을 통해 홈네트워크의 트래픽 상태, 장애요인등을 분석하는 망관리 응용 어플리케이션이며, UPnP(Universal Plug and Play, 190)는 홈게이트웨이 시스템을 통하여 홈네트워크에 존재하는 정보단말의 존재를 인식하고 현재의 상태를 파악하며 정보단말을 제어할 수 있게 한다.SNMP (Simple Network Management Protocol, 180) is a network management application that analyzes the traffic status, obstacles, etc. of the home network through the home gateway system, and UPnP (Universal Plug and Play, 190) is the home network through the home gateway system. It recognizes the existence of the information terminal present in the system, grasps the current state and controls the information terminal.
도 2는 홈게이트웨이 시스템에 내장되는 리눅스 커널, 실시간 리눅스 커널 및 큐잉엔진에 대한 구성을 블록도로 도시한 것이다. 홈게이트웨이 시스템의 구성은 크게 하드웨어, 리눅스 커널, 정보가전 미들웨어, 망관리, 보안, VoIP로 분류할 수 있다.2 is a block diagram illustrating a configuration of a Linux kernel, a real-time Linux kernel, and a queuing engine embedded in a home gateway system. The configuration of home gateway system can be classified into hardware, Linux kernel, information appliance middleware, network management, security, and VoIP.
하드웨어(200)는 CPU와 메모리를 포함한 기본적인 플랫폼에 각각의 서비스를 위한 기능 모듈을 포함한다. 리눅스 커널은 일반 리눅스 커널(230)에 실시간 리눅스 커널(205)을 포팅한다. 일반 리눅스는 홈게이트웨이 시스템에 내장되어 시스템을 구동하고 운영하는 운영체제이며, 실시간 리눅스는 하드웨어 인터페이스를 통해 실시간 서비스를 지원하기 위한 보조적인 운영체제이다. The
상기 실시간 리눅스 커널내에 큐잉엔진(210)을 구현하여 하드웨어로 송수신되는 패킷을 큐잉엔진에서 서비스 클래스의 우선순위와 패킷 도착율 그리고 큐에서 기다리는 시간등을 고려하여 동적 우선순위를 할당한다. 상기 큐잉엔진은 실시간 서비스와 비실시간 서비스가 혼재되어 존재하는 홈네트워크에서 실시간 서비스 지원을 보장하고 비실시간 서비스가 기아현상을 겪는 문제를 해결하여 서비스의 공정성을 보장한다.The queuing
실시간 스케줄러(215)는 큐잉엔진에 의해 동적 우선순위가 부여된 패킷을 처리하며, 실시간 서비스를 요구하는 패킷에 대해서는 실시간 타스크(220)로 비실시간 서비스 패킷의 경우에는 일반 리눅스 타스크(235)로 전달한다.The real-
도 3은 실시간 리눅스 커널에 설계되는 큐잉엔진의 기능 블록도를 도시한 것이다. 홈게이트웨이 시스템에 내장되는 실시간 리눅스 커널에 구현되는 큐잉엔진은 수신 큐(300), 프로세싱 큐(310) 및 실행 큐(320)으로 이루어진다.3 shows a functional block diagram of a queuing engine designed in a real-time Linux kernel. The queuing engine implemented in the real-time Linux kernel embedded in the home gateway system includes a
상기 수신 큐(300)는 서비스를 받기위해 들어오는 패킷을 큐잉(queuing)한다. 상기 프로세싱 큐(310)는 패킷이 생성될 때 서비스 클래스에 따라 부여되는 우선순위와 수신 큐에 큐잉되는 패킷의 도착율 그리고 수신 큐(300)에서 기다리는 시간에 따라 우선순위를 높여주는 가중치를 고려하여 상기 수신 큐의 패킷에 대해 동적 우선순위를 할당한다. 상기 실행 큐(320)는 상기 프로세싱 큐(310)의 패킷의 동적 우선순위에 따라 실제적인 서비스를 받기 위해 대기한다.The receive
상기 서비스 클래스에 따라 부여되는 우선순위는 영상 실시간 서비스, 음성실시간 서비스, 비실시간 서비스와 제어용 비실시간 서비스 클래스로 나눈다. 패킷의 도착율은 일정시간 수신큐에 들어오는 패킷의 수와 현재 패킷에서 다음 패킷까지의 시간 간격 그리고 해당 패킷의 서비스 대역폭등을 고려하여 계산한다. 수신 큐에서 기다리는 시간에 따라 우선순위를 높여주는 가중치는 서비스 우선순위 경쟁에서 지연을 겪은 패킷은 다음 서비스 우선순위 경쟁에서 가중치를 더한 우선순위를 통해 경쟁함으로써 보다 높은 동적 우선순위를 부여받을 수 있게 되고, 실시간 서비스 패킷과의 우선순위 경쟁에서 지연을 겪어 기아현상에 빠지는 문제를 해결할 수 있다. The priority given according to the service class is divided into a video real time service, a voice real time service, a non real time service, and a control non real time service class. The arrival rate of a packet is calculated by considering the number of packets entering the reception queue for a given time, the time interval from the current packet to the next packet, and the service bandwidth of the packet. Weights that increase priority over time spent in the receive queue allow packets that experience delays in service priority contention to be given higher dynamic priority by competing over weighted priority in the next service priority contention. Therefore, it is possible to solve the problem of starvation due to delay in priority competition with real-time service packets.
도 4A 및 4B는 홈게이트웨이 시스템에 A, B, C, D 4개의 응용 서비스 클래스에 해당하는 패킷이 큐잉엔진에 의해 동적 우선순위를 할당 받고 서비스를 받는 절차를 내타내는 예시도 이다.4A and 4B illustrate an example of a procedure in which packets corresponding to four application service classes A, B, C, and D are allocated to a dynamic priority and received by a queuing engine in a home gateway system.
홈게이트웨이 시스템의 다양한 인터페이스로부터 영상 실시간 서비스 클래스 패킷 A, 음성 실시간 서비스 클래스 패킷 B, 비실시간 서비스 클래스 패킷 C, 그리고, 제어용 비실시간 서비스 클래스 패킷 D가 들어온다면 큐잉엔진의 수신 큐에는 도 4A 및 도 4B의 수신큐와 같이 나타난다. 각각 수신 큐에 들어와서 동적 우선순위를 부여받기까지 기다린 시간을 1~10까지 임의로 부여하고, 만일 도 4a에서 패킷 의 생성시 부여받는 서비스 클래스별 우선순위가 A는 4, B는 3, C는 2, D는 1이라면, 우선순위와 각각의 대기 시간를 곱하여 계산한 값을 비교하여 값의 크기에 따라 서비스를 받는 순서를 나열한 것이 프로세싱 큐에 나타나게 된다. 만일, 프로세싱 큐에 정렬된 패킷들에 대해 패킷도착율이 A는 4, B는 3, C는 2, D는 1이라면, 프로세싱 큐에 정렬된 패킷들이 갖는 값에 패킷 도착율로 표시되는 값을 곱하여 계산한 값이 동적 우선순위를 결정하는 값이 되고 이를 비교하여 값의 크기에 따라 서비스를 받는 순서를 나열하면 최종 서비스를 받기위해 실행 큐에 정렬되는 서열이 정해진다. 실행 큐를 살펴보면, 서비스 클래스에 따라 할당되는 우선순위가 높고, 수신 큐에서의 패킷의 도착율이 큰 패킷일수록 실행 큐에서 보다 높은 동적 우선순위를 할당받아 서비스를 받는다.If the real-time service class packet A, the voice real-time service class packet B, the non-real-time service class packet C, and the control non-real-time service class packet D come from various interfaces of the home gateway system, the receiving queue of the queuing engine is shown in FIGS. It appears like the reception queue of 4B. Each of them enters a reception queue and arbitrarily assigns a wait time until the dynamic priority is given, from 1 to 10. If the priority of each service class given at the time of packet generation is 4, B is 3, and C is If 2 and D are 1, the order of receiving the service according to the size of the value is compared to the value calculated by multiplying the priority and each waiting time, and the processing queue appears. If the packet arrival rate is A, 4, B is 3, C is 2, and D is 1 for the packets arranged in the processing queue, the packet arrival rate is calculated by multiplying the packet arrival rate by the value indicated by the packet arrival rate. A value is the value that determines the dynamic priority, which is then compared and lists the order in which the services are served according to the size of the value, which determines the order in which the queue is queued for final service. Looking at the execution queue, the higher the priority assigned according to the service class and the larger the arrival rate of the packet in the receive queue, the higher the dynamic priority is assigned in the run queue to receive the service.
도 4B는 도 4A와 동일한 서열의 패킷이 수신 큐에 들어오고, 서비스 클래스에 따라 부여받는 우선순위가 A는 3, B는 4, C는 2, D는 1이고, 패킷의 도착율은 도 4a와 동일한 경우일 때, 큐잉엔진에 의해 각 서비스 클래스별 우선순위와 패킷의 도착율 그리고 큐에 대기시간등을 고려하여 계산된 값의 크기에 따라 서비스를 받는 순서를 나열하면 최종 서비스를 받기 위해 실행 큐에 정렬되는 서열이 정해진다. FIG. 4B shows that packets of the same sequence as those of FIG. 4A enter the reception queue, and the priority given according to the service class is 3 for A, 4 for B, 2 for C, and 1 for D, and the arrival rate of the packet is shown in FIGS. In the same case, list the order by which the queuing engine receives the service according to the size of the calculated value considering the priority of each service class, the arrival rate of the packet, and the waiting time in the queue. The sequence to be aligned is determined.
홈게이트웨이 시스템에 내장되는 실시간 리눅스 커널에 큐잉엔진을 구현함으로써, 실시간 서비스에 대한 지원을 보장하고, 비실시간 서비스가 우순순위 경쟁에서 겪는 기아현상을 제거하며, 각 서비스 클래스에 대한 공정성을 보장함으로써, 홈게이트웨이 시스템의 성능이 향상된다.By implementing a queuing engine in the real-time Linux kernel embedded in the home gateway system, it guarantees support for real-time services, eliminates starvation caused by non-real-time services, and ensures fairness for each service class. The performance of the home gateway system is improved.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서 설명한 본 발명은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로, 전술한 예 및 도면에 한정하는 것은 아니다. As described above, the present invention can be variously substituted, modified, and changed without departing from the technical spirit of the present invention by those skilled in the art. It is not.
상술한 본 발명에 의한 동적 우선순위 큐잉 방법에 의하면, 다양한 인터페이스를 갖는 홈게이트웨이 시스템에 다양한 서비스 클래스를 갖는 패킷이 들어올 때, 홈게이트웨이 시스템에 내장되는 커널내에 큐잉엔진을 구현함으로써, 실시간 서비스 클래스 패킷에 더 높은 동적 우선순위를 할당하고, 우선순위 경쟁에서 밀려 지연을 겪는 비실시간 서비스 클래스 패킷에는 큐에서의 대기시간에 따라 우선순위 가중치를 높여줌으로써 장시간 서비스를 받지못하는 기아현상 문제를 해결하며, 각 서비스 클래스에 대한 서비스 공정성을 보장하고, 홈게이트웨이 시스템의 성능 향상을 가능하게 한다.According to the dynamic priority queuing method according to the present invention described above, when a packet having various service classes enters a home gateway system having various interfaces, a real-time service class packet is implemented by implementing a queuing engine in a kernel embedded in the home gateway system. In the case of non-real-time service class packets that are assigned higher dynamic priorities and delayed due to priority races, the priority weight is increased according to the waiting time in the queue, which solves the problem of starvation that does not receive long service. It ensures service fairness for service class and enables performance improvement of home gateway system.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020077584A KR100541847B1 (en) | 2002-12-07 | 2002-12-07 | Dynamic priority queueing engine and method in a home gateway system and data service system using it |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020077584A KR100541847B1 (en) | 2002-12-07 | 2002-12-07 | Dynamic priority queueing engine and method in a home gateway system and data service system using it |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040049732A KR20040049732A (en) | 2004-06-12 |
KR100541847B1 true KR100541847B1 (en) | 2006-01-11 |
Family
ID=37344104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020077584A KR100541847B1 (en) | 2002-12-07 | 2002-12-07 | Dynamic priority queueing engine and method in a home gateway system and data service system using it |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100541847B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101046597B1 (en) * | 2009-01-20 | 2011-07-06 | 국방과학연구소 | Data processing method, data transceiver and computer readable recording medium in network environment |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100705956B1 (en) * | 2004-12-30 | 2007-04-11 | 지멘스 오토모티브 주식회사 | Method for controlling engin of car |
KR100705955B1 (en) * | 2004-12-30 | 2007-04-11 | 지멘스 오토모티브 주식회사 | Method for controlling engin of car |
KR100653454B1 (en) * | 2005-11-03 | 2006-12-04 | 한국전자통신연구원 | Apparatus and method for dynamic traffic management of qos to an each service in homenetwork environment |
KR20070101621A (en) * | 2006-04-11 | 2007-10-17 | 주식회사 케이티 | Internal system interlocking module of ubiquitous platform |
KR100852222B1 (en) * | 2006-12-08 | 2008-08-13 | 한국전자통신연구원 | ENUM system and method for allocating dynamic connection priority |
CN117155883B (en) * | 2023-10-31 | 2024-01-30 | 国网湖北省电力有限公司电力科学研究院 | TSN network card device, method and medium for realizing message timing transmission |
-
2002
- 2002-12-07 KR KR1020020077584A patent/KR100541847B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101046597B1 (en) * | 2009-01-20 | 2011-07-06 | 국방과학연구소 | Data processing method, data transceiver and computer readable recording medium in network environment |
Also Published As
Publication number | Publication date |
---|---|
KR20040049732A (en) | 2004-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pattara-Atikom et al. | Distributed mechanisms for quality of service in wireless LANs | |
US6483846B1 (en) | Middleware-based real-time communication system | |
Cicconetti et al. | Quality of service support in IEEE 802.16 networks | |
EP1864445B1 (en) | Method to prioritize videos distributed in a wireless lan and device implementing the method | |
CA2552398A1 (en) | Packet scheduling in a wireless local area network | |
KR101413571B1 (en) | Wireless service access method and apparatus | |
JPH08274793A (en) | Delay minimization system provided with guaranteed bandwidthdelivery for real time traffic | |
CN101436987A (en) | Method and apparatus for scheduling and configuring QoS service | |
US20060140146A1 (en) | Method for controlling data circuits | |
KR100541847B1 (en) | Dynamic priority queueing engine and method in a home gateway system and data service system using it | |
Moraes et al. | Assessment of the IEEE 802.11 e EDCA protocol limitations when dealing with real-time communication | |
US7155533B2 (en) | Procedure and controller for a packet-oriented data network for the transmission of data in variable time slots | |
JP2024507298A (en) | Methods, computer programs and apparatus implemented in packet-switched networks for scheduling transmission of Ethernet frames | |
CN113347113B (en) | Flow control method, device, equipment and computer storage medium | |
Fukuda et al. | Unfair and inefficient share of wireless LAN resource among uplink and downlink data traffic and its solution | |
US7346080B2 (en) | Procedure and controller for the allocation of variable time slots for a data transmission in a packet-oriented data network | |
Lei et al. | QoS-aware residential gateway | |
KR100523996B1 (en) | Packet scheduling system and a packet scheduling method in a mobile communication system | |
US7684318B2 (en) | Shared-communications channel utilization for applications having different class of service requirements | |
Mico et al. | QoS in IEEE 802.11 wireless LAN: current research activities | |
Visoottiviseth et al. | Adaptive bandwidth allocation for per-station fairness on wireless access router | |
Mishra et al. | An 802.11 based mac protocol for providing qos to real time applications | |
Micó et al. | QoS mechanisms for IEEE 802.11 wireless LANs | |
WO2024011907A1 (en) | Data scheduling method, and electronic device and storage medium | |
Meerja et al. | Analysis of enhanced collision avoidance scheme proposed for IEEE 802.11 e-enhanced distributed channel access protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121206 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20131209 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |