KR101600743B1 - 데이터 처리 장치 및 방법 - Google Patents

데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR101600743B1
KR101600743B1 KR1020150027110A KR20150027110A KR101600743B1 KR 101600743 B1 KR101600743 B1 KR 101600743B1 KR 1020150027110 A KR1020150027110 A KR 1020150027110A KR 20150027110 A KR20150027110 A KR 20150027110A KR 101600743 B1 KR101600743 B1 KR 101600743B1
Authority
KR
South Korea
Prior art keywords
user
resource
data
service
resource slot
Prior art date
Application number
KR1020150027110A
Other languages
English (en)
Inventor
김미숙
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020150027110A priority Critical patent/KR101600743B1/ko
Application granted granted Critical
Publication of KR101600743B1 publication Critical patent/KR101600743B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/627Queue scheduling characterised by scheduling criteria for service slots or service orders policing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

데이터 처리 장치 및 방법이 개시된다. 일 실시예에 따른 데이터 처리 장치는 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 관리하는 스케줄링 정책 관리부; 사용자의 데이터를 수신하는 데이터 수신부; 및 상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 수신된 상기 데이터를 처리할 리소스 슬롯을 선택하는 스케줄링 제어부를 포함한다.

Description

데이터 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING DATA}
본 발명의 실시예들은 대용량 데이터를 효율적으로 처리하기 위한 기술과 관련된다.
최근 사물 인터넷의 발달로 인해 다양한 디바이스 및 인프라 장비에서 발생되는 대용량 데이터를 실시간으로 분석하기 위한 기술에 대한 수요가 증가하였다. 대용량 데이터의 실시간 분석 시스템의 경우, 데이터 처리 결과의 정확성뿐만 아니라, 사용자 요구에 맞는 서비스 응답 시간의 보장 또한 요구된다.
대용량 데이터의 실시간 처리를 위한 방법 중 하나로서 실시간 분산 쿼리 기법을 들 수 있다. 실시간 분산 쿼리 기법은 복수 개의 노드로 클러스터를 구성하고, 클러스터를 구성하는 각 노드들이 병렬로 데이터를 처리하도록 함으로써 응답 시간을 실시간 수준으로 높이는 방식이다. 실시간으로 유입되는 데이터의 처리 응답 시간을 보장하기 위해서는 끊임없이 들어오는 데이터를 적절한 처리 노드에 맵핑하기 위한 스케줄링이 필요하다. 적절한 작업 스케줄링이 이루어지지 않으면 머신의 작업들은 중앙처리장치(CPU), 메모리, 디스크 입출력(I/O)를 서로 차지하려고 경합하게 되기 때문이다. 이에 따라 사용자가 요청한 서비스 품질을 보장하면서 클러스터 자원을 효율적으로 이용하기 위한 수단이 필요하게 되었다.
대한민국 공개특허공보 제10-2012-0041899호 (2012.05.03.)
본 발명의 실시예들은 대용량 데이터를 처리하기 위한 분산 시스템에서 사용자가 요청한 서비스 품질을 보장하면서 클러스터 자원을 효율적으로 이용하기 위한 수단을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 관리하는 스케줄링 정책 관리부; 사용자의 데이터를 수신하는 데이터 수신부; 및 상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 수신된 상기 데이터를 처리할 리소스 슬롯을 선택하는 스케줄링 제어부를 포함하는 데이터 처리 장치가 제공된다.
상기 스케줄링 정책 관리부는, 상기 사용자의 서비스 계약 정보로부터 획득되는 상기 사용자의 서비스 수준 정보에 따라 상기 스케줄링 정책 테이블에 상기 사용자의 정보를 업데이트할 수 있다.
상기 스케줄링 정책 관리부는, 상기 사용자와의 서비스 계약 해지시 상기 사용자의 정보를 상기 스케줄링 정책 테이블에서 삭제할 수 있다.
상기 스케줄링 제어부는, 상기 사용자의 서비스 수준에 대응되는 하나 이상의 리소스 슬롯 중 상기 데이터를 처리할 리소스 슬롯을 선택하고, 선택된 리소스 슬롯과 대응되는 큐(queue)에 상기 데이터를 저장할 수 있다.
상기 데이터 처리 장치는, 상기 하나 이상의 리소스 슬롯의 서비스 품질 지표를 모니터링하는 모니터링부를 더 포함할 수 있다.
상기 서비스 품질 지표는, 각 리소스 슬롯 별 데이터 처리 응답 시간, 리소스 사용량, 및 각 리소스 슬롯과 대응되는 큐의 사용률 중 하나 이상을 포함할 수 있다.
상기 스케줄링 제어부는, 상기 하나 이상의 리소스 슬롯의 서비스 품질 지표에 따라 상기 데이터를 처리할 리소스 슬롯을 선택할 수 있다.
상기 스케줄링 제어부는, 상기 서비스 품질 지표에 기 설정된 우선 순위를 적용하여 상기 데이터를 처리할 리소스 슬롯을 선택할 수 있다.
상기 모니터링부는, 특정 서비스 수준에 대응되는 리소스 슬롯의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우 경고 메시지를 생성할 수 있다.
상기 데이터 처리 장치는, 특정 서비스 수준에 대응되는 리소스 슬롯의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우, 상기 특정 서비스 수준에 대응되는 리소스 슬롯을 추가 또는 삭제하는 리소스 관리부를 더 포함할 수 있다.
상기 스케줄링 정책 관리부는, 상기 리소스 관리부에 의하여 리소스 슬롯이 추가 또는 삭제되는 경우, 추가 또는 삭제되는 리소스 슬롯 정보를 상기 스케줄링 정책 테이블에 업데이트할 수 있다.
다른 예시적인 실시예에 따르면, 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 생성하는 단계; 사용자의 데이터를 수신하는 단계; 및 상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 수신된 상기 데이터를 처리할 리소스 슬롯을 선택하는 스케줄링 제어 단계를 포함하는 데이터 처리 방법이 제공된다.
상기 스케줄링 정책 테이블을 생성하는 단계는, 상기 사용자의 서비스 계약 정보로부터 상기 사용자의 서비스 수준 정보를 획득하는 단계; 및 상기 사용자의 서비스 수준 정보에 따라 상기 스케줄링 정책 테이블에 상기 사용자의 정보를 업데이트하는 단계를 더 포함할 수 있다.
상기 스케줄링 정책 테이블을 생성하는 단계는, 상기 사용자와의 서비스 계약 해지시 상기 사용자의 정보를 상기 스케줄링 정책 테이블에서 삭제하는 단계를 더 포함할 수 있다.
상기 스케줄링 제어 단계는, 상기 사용자의 서비스 수준에 대응되는 하나 이상의 리소스 슬롯 중 상기 데이터를 처리할 리소스 슬롯을 선택하는 단계; 및 선택된 리소스 슬롯과 대응되는 큐(queue)에 상기 데이터를 저장하는 단계를 더 포함할 수 있다.
상기 스케줄링 제어 단계는, 상기 하나 이상의 리소스 슬롯 각각에 대하여 수집된 서비스 품질 지표에 따라 상기 데이터를 처리할 리소스 슬롯을 선택하도록 구성될 수 있다.
상기 서비스 품질 지표는, 각 리소스 슬롯 별 데이터 처리 응답 시간, 리소스 사용량, 및 각 리소스 슬롯과 대응되는 큐의 사용률 중 하나 이상을 포함할 수 있다.
상기 스케줄링 제어 단계는, 상기 서비스 품질 지표에 기 설정된 우선 순위를 적용하여 상기 데이터를 처리할 리소스 슬롯을 선택하도록 구성될 수 있다.
상기 데이터 처리 방법은, 특정 서비스 수준에 대응되는 리소스 슬롯의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우, 상기 특정 서비스 수준에 대응되는 리소스 슬롯을 추가 또는 삭제하는 단계; 및 추가 또는 삭제되는 리소스 슬롯 정보를 상기 스케줄링 정책 테이블에 업데이트하는 단계를 더 포함할 수 있다.
다른 예시적인 실시예에 따르면, 하드웨어와 결합되어, 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 생성하는 단계; 사용자의 데이터를 수신하는 단계; 및 상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 수신된 상기 데이터를 처리할 리소스 슬롯을 선택하는 스케줄링 제어 단계를 포함하는 단계들을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램이 제공된다.
본 발명의 실시예들에 따를 경우, 대용량 데이터를 처리하기 위한 분산 시스템에서 사용자가 요청한 서비스 품질을 보장하면서 클러스터 자원을 효율적으로 이용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템을 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 스케줄러의 상세 구성을 설명하기 위한 블록도
도 3은 본 발명의 일 실시예에 따른 주 노드에서의 데이터 스케줄링 과정(300)을 설명하기 위한 흐름도
도 4는 본 발명의 일 실시예에 따른 스케줄러에서의 리소스 슬롯 관리 과정을 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)을 설명하기 위한 블록도이다. 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)은 사용자의 요청에 따라 입력된 데이터를 처리하여 그 결과를 제공하기 위한 시스템이다. 예를 들어, 데이터 처리 시스템(100)은 수신되는 미디어 데이터를 실시간으로 인코딩하거나, 또는 소셜 미디어(Social Media) 등과 관련된 데이터를 실시간으로 분석하는 데 사용될 수 있다. 그러나 본 발명의 실시예들에서, 데이터 처리 시스템(100)은 특정한 용도 또는 분야에 한정되는 것은 아니다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 데이터 처리 시스템(100)은 주 노드(102) 및 하나 이상의 처리 노드(104-1, 104-2, ..., 104-N)를 포함한다.
주 노드(102)는 데이터를 수신하고 수신된 데이터를 하나 이상의 처리 노드(104-1, 104-2, ..., 104-N) 중 하나에 할당한다. 하나 이상의 처리 노드(104-1, 104-2, ..., 104-N)는 주 노드(102)로부터 할당된 데이터를 처리하고, 처리가 완료되면 이를 주 노드(102)로 통지한다. 도시된 실시예에서는 N개(N은 1보다 큰 자연수)의 처리 노드(104-1, 104-2, ..., 104-N)가 존재하는 것으로 도시하였으나, 처리 노드(104)의 개수는 처리 대상 데이터의 특성 및 각 처리 노드(104)의 성능 등에 따라 가변될 수 있다.
주 노드(102)는 데이터 수신부(106) 및 스케줄러(108)를 포함한다. 데이터 수신부(106)는 사용자 단말(110) 또는 사용자 단말(110)로부터 지정된 데이터 소스(112)로부터 처리 대상 데이터를 수신한다. 일 실시예에서, 사용자 단말(110)은 데이터의 처리를 요청하는 사용자가 사용하는 단말로서, 퍼스널 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 등 유무선 네트워크를 통한 데이터 송수신이 가능한 모든 종류의 컴퓨터 장치들을 포함할 수 있다.
데이터 소스(112)는 처리 대상 데이터가 저장되어 있는 컴퓨터 장치이다. 일 실시예에서, 데이터 소스(112)는 사용자 단말(110)과 동일한 컴퓨터 장치일 수 있다. 즉, 사용자 단말(110)은 자신의 내부에 저장된 데이터의 처리를 요청할 수 있다. 다른 실시예에서, 데이터 소스(112)는 네트워크에 연결된 센서(온도 센서, 습도 센서 등) 등의 사물인터넷(IoT; Internet of Things) 디바이스일 수 있다. 이 경우, 상기 데이터는 상기 사물인터넷 디바이스에서 수집되는 온도 또는 습도 등의 센싱값일 수 있다. 또 다른 실시예에서, 데이터 소스(112)는 사용자가 저장한 파일 등이 저장된 온라인상의 스토리지 서버 또는 클라우드 스토리지일 수 있다. 또한, 상기 처리 대상 데이터는 실시예에 따라 소정 사이즈의 파일 또는 패킷의 형태를 가질 수도 있고, 연속적인 스트림 형태를 가질 수도 있다.
스케줄러(108)는 데이터 수신부(106)에서 수신한 처리 대상 데이터를 복수 개의 큐(queue; 114-1, 114-2, ..., 114-K)) 중 하나에 저장한다. 일 실시예에서, 주 노드(102)에 구비된 복수 개의 큐(114-1, 114-2, ..., 114-K)는 각각 처리 노드(104-1, 104-2, ..., 104-N) 내의 리소스 슬롯(116-1, 116-2, ..., 116-K)과 일대일 대응되며, 각 리소스 슬롯(116-1, 116-2, ..., 116-K)은 자신과 대응되는 큐(114-1, 114-2, ..., 114-K)에 저장된 데이터를 순차적으로 읽어 들여 이를 처리하게 된다.
앞서 설명한 바와 같이, 하나 이상의 처리 노드(104-1, 104-2, ..., 104-N)는 각각 하나 이상의 리소스 슬롯(116-1, 116-2, ..., 116-K)을 포함하도록 구성된다(이때, K는 1 이상의 자연수). 일 실시예에서 리소스 슬롯(116-1, 116-2, ..., 116-K)은 입력되는 데이터의 처리를 위한 기본 단위로서, 각각 중앙처리장치(CPU), 메모리, 저장 매체 등의 하드웨어 자원 및 입력 데이터의 처리를 위한 소프트웨어 자원을 포함할 수 있다. 각 처리 노드(104-1, 104-2, ..., 104-N)는 성능 등을 고려하여 하나 이상의 리소스 슬롯(116-1, 116-2, ..., 116-K)을 가질 수 있다. 도 1에 도시된 실시예의 경우, 처리 노드 1(104-1)은 리소스 슬롯 1(116-1) 및 리소스 슬롯 2(116-2)를 포함하는 두 개의 리소스 슬롯을, 처리 노드 2(104-2)는 리소스 슬롯 3(116-3)으로 지칭되는 한 개의 리소스 슬롯을 각각 가지도록 구성된다. 또한, 전술한 바와 같이, 복수 개의 리소스 슬롯(116-1, 116-2, ..., 116-K)은 주 노드 내(102) 내의 복수 개의 큐(114-1, 114-2, ..., 114-K)와 각각 일대일 대응된다. 이에 따라, 주 노드(102)의 스케줄러(108)는 입력된 데이터를 복수 개의 큐(114-1, 114-2, ..., 114-K)로 분배하여 저장하고, 복수 개의 리소스 슬롯(116-1, 116-2, ..., 116-K)은 자신과 맵핑된 복수 개의 큐(114-1, 114-2, ..., 114-K)에 저장된 데이터를 순차적으로 인출하여 이를 처리하게 된다.
도 2는 본 발명의 일 실시예에 따른 스케줄러(108)의 상세 구성을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 스케줄러(108)는 스케줄링 정책 관리부(202), 스케줄링 제어부(204), 모니터링부(206) 및 리소스 제어부(208)를 포함한다.
스케줄링 정책 관리부(202)는 스케줄링 정책 테이블을 저장 및 관리하며, 사용자와의 서비스 계약 정보에 따라 스케줄링 정책 테이블에 사용자 정보를 업데이트한다.
아래의 표 1은 일 실시예에 따른 스케줄링 정책 테이블을 예시한 것이다. 표 1에 나타낸 바와 같이, 스케줄링 정책 테이블은 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함할 수 있다.
서비스 수준 스케줄링 대상 리소스 슬롯
사용자 1
사용자 2
큐 1 A
큐 2 B
큐 3 C
사용자 3 큐 4 D
큐 5 E
사용자 4
사용자 5
사용자 6
큐 6 F
일 실시예에서, 서비스 수준은 데이터 처리 서비스 제공자의 제공 가능 서비스 품질 등급을 나타내는 것으로서, 제공되는 서비스의 품질에 따라 여러 등급으로 나뉘어질 수 있다. 상기 표 1에서는 서비스 수준이 상, 중, 하의 세 가지 등급을 가지도록 구성되나, 서비스 수준의 등급 개수 및 서비스 수준의 종류 등은 필요에 따라 적절히 가변될 수 있다.
다음으로, 스케줄링 대상은 각 서비스 수준 별로 서비스를 제공할 대상의 사용자 정보를 의미한다. 예를 들어, 상기 스케줄링 대상은 서비스를 제공받을 사용자의 아이디, 입력 데이터의 네트워크상의 위치 또는 URL 등으로 표현될 수 있다. 스케줄링 정책 관리부(202)는 사용자와의 서비스 계약이 완료되면, 사용자 계약 정보로부터 해당 사용자의 서비스 수준 정보를 획득하고, 획득된 정보를 스케줄링 정책 테이블에 업데이트한다. 또한 스케줄링 정책 관리부(202)는 사용자와의 서비스 계약 해지시 해당 사용자와 대응되는 서비스 수준 정보를 스케줄링 정책 테이블에서 삭제한다.
또한, 스케줄링 정책 테이블은 각 서비스 수준 별로 할당된 리소스 슬롯 및 해당 리소스 슬롯에 대응되는 큐 정보를 포함할 수 있다. 표 1의 경우 서비스 수준 "상"에 할당된 리소스 슬롯은 리소스 슬롯 A, B, C, "중"에 할당된 리소스 슬롯은 D, E, "하"에 할당된 리소스 슬롯은 F이 된다. 이 경우, 예를 들어 서비스 수준이 "상"인 사용자 1 또는 사용자 2로부터 수신되는 데이터는 리소스 슬롯 A, B, 또는 C 중 어느 하나의 리소스 슬롯에서 처리된다.
스케줄링 제어부(204)는 상기 스케줄링 정책 테이블을 참조하여 데이터 수신부(106)에서 수신된 데이터를 처리할 리소스 슬롯(116-1, 116-2, ..., 116-K)을 선택하고, 선택된 리소스 슬롯과 대응되는 큐(114-1, 114-2, ..., 114-K)에 수신된 데이터를 저장한다. 전술한 바와 같이 큐(114-1, 114-2, ..., 114-K)에 저장된 데이터는 각각 맵핑된 리소스 슬롯(116-1, 116-2, ..., 116-K)의 입력 데이터로 사용된다. 각 리소스 슬롯(116-1, 116-2, ..., 116-K)은 자신과 대응되는 큐(114-1, 114-2, ..., 114-K)로부터 데이터를 읽고 이에 대한 처리 작업을 수행한다. 처리가 완료되면 리소스 슬롯(116-1, 116-2, ..., 116-K)은 주 노드(102)로 처리 완료 신호를 송신하며, 이에 따라 큐(114-1, 114-2, ..., 114-K)는 해당 데이터를 삭제한다.
모니터링부(206)는 하나 이상의 리소스 슬롯(116-1, 116-2, ..., 116-K) 별 서비스 품질 지표를 모니터링한다. 상기 서비스 품질 지표는 각 리소스 슬롯(116-1, 116-2, ..., 116-K)이 사용자가 요청한 서비스 품질 수준을 만족하고 있는지를 평가하는 데 기초가 되는 지표이다. 예를 들어, 상기 서비스 품질 지표는 각 리소스 슬롯(116-1, 116-2, ..., 116-K) 별 데이터 처리 응답 시간, 리소스 사용량, 및 각 리소스 슬롯(116-1, 116-2, ..., 116-K)과 대응되는 큐(114-1, 114-2, ..., 114-K) 의 사용률 중 하나 이상을 포함할 수 있다.
이중, 각 리소스 슬롯(116-1, 116-2, ..., 116-K) 별 데이터 처리 응답 시간은 데이터가 큐(114-1, 114-2, ..., 114-K)에 입력된 시간 및 해당 데이터에 대한 처리 완료 신호가 리소스 슬롯(116-1, 116-2, ..., 116-K)으로부터 수신된 시간의 차이로부터 계산될 수 있다. 또한, 리소스 사용량은 각 리소스 슬롯(116-1, 116-2, ..., 116-K) 별 하드웨어 자원, 예를 들어 중앙처리장치 또는 메모리의 사용량 등이 될 수 있다.
일 실시예에서, 스케줄링 제어부(204)는 모니터링부(206)에서 수집된 하나 이상의 리소스 슬롯(116-1, 116-2, ..., 116-K)의 서비스 품질 지표에 따라 상기 데이터를 처리할 리소스 슬롯(116-1, 116-2, ..., 116-K)을 선택하도록 구성될 수 있다.
표 2는 스케줄링 제어부(206)에서 리소스 슬롯(116-1, 116-2, ..., 116-K)을 선택하기 위하여 참조하기 위한 모니터링 테이블을 예시한 것이다. 표 2의 모니터링 테이블에서, 서비스 수준, 큐 및 리소스 슬롯과 관련된 정보는 스케줄링 정책 테이블에 저장된 것과 동일하다. 또한 모니터링 테이블은 모니터링부(206)에서 수집된 각 리소스 슬롯(116-1, 116-2, ..., 116-K) 별 중앙처리장치 사용률, 메모리 사용률, 및 처리 응답 시간을 포함하도록 구성되나, 본 발명은 특정한 종류의 서비스 품질 지표에 한정되는 것은 아니다. 모니터링부(206)는 기 설정된 주기에 따라 상기 모니터링 테이블의 정보를 업데이트하도록 구성될 수 있다.
서비스 수준 리소스 슬롯 중앙처리장치 사용률 메모리 사용률 처리 응답 시간(초)
큐 1 A 20% 20% 0.01
큐 2 B 10% 40% 0.02
큐 3 C 15% 30% 0.03
큐 4 D 30% 50% 0.05
큐 5 E 60% 30% 0.03
큐 6 F 70% 50% 0.10
스케줄링 제어부(204)는, 상기 모니터링 테이블에 저장된 서비스 품질 지표에 기 설정된 우선 순위를 적용하여 데이터를 처리할 리소스 슬롯(116-1, 116-2, ..., 116-K)을 선택할 수 있다. 예를 들어, 스케줄링 제어부(204)는 중앙처리장치 우선 스케줄링, 메모리 우선 스케줄링, 처리 응답 시간 우선 스케줄링 등의 우선 순위를 적용할 수 있다. 상기 우선 순위는 처리 대상 데이터 및 해당 데이터의 처리 작업의 특성 등을 고려하여 결정될 수 있으며, 사용자마다 서로 다른 우선 순위가 적용될 수 있다. 예를 들어, 서비스의 스케줄링 우선순위가 중앙처리장치 우선 스케줄링이면서, 서비스 수준이 "상"인 입력 데이터가 수신되는 경우, 스케줄링 제어부(204)는 서비스 수준 "상"에 할당된 리소스 슬롯 A, B, C 중 중앙처리장치 사용률이 낮은 가장 리소스 슬롯 B에 해당 데이터의 처리를 할당하기 위하여 입력 데이터를 큐 2에 삽입한다. 마찬가지로, 서비스의 스케줄링 우선순위가 메모리 우선 스케줄링이면서, 서비스 수준이 "중"인 입력 데이터가 수신되는 경우, 스케줄링 제어부(204)는 서비스 수준 "중"에 할당된 리소스 슬롯 D, E 중 메모리 사용률이 가장 낮은 리소스 슬롯 E에 해당 데이터의 처리를 할당하기 위하여 입력 데이터를 큐 5에 삽입한다. 만약 우선순위에 해당하는 서비스 품질 지표가 동일한 리소스 슬롯이 두 개 이상 존재하는 경우, 스케줄링 제어부(204)는 라운드 로빈(round robin) 등의 형태로 번갈아가며 큐를 선택할 수 있다.
한편, 모니터링부(206)는 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우 경고 메시지를 생성하고, 이를 관리자 등에게 통지할 수 있다.
리소스 관리부(208)는 모니터링부(206)의 모니터링 결과 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우, 상기 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)을 추가 또는 삭제한다. 상기 허용 범위는 각 서비스 수준 별로 사용자와 맺은 서비스 수준 규약 등으로부터 도출될 수 있다. 예를 들어, 리소스 관리부(208)는 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)의 처리 응답 시간이 기 설정된 임계치를 초과하는 경우 해당 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)을 추가할 수 있다. 또한, 리소스 관리부(208)는 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)의 중앙처리장치 또는 메모리 사용률이 기 설정된 임계치 미만인 경우 해당 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K) 중 일부를 삭제할 수 있다.
이와 같이 리소스 관리부(208)에 의하여 리소스 슬롯(116-1, 116-2, ..., 116-K)이 추가 또는 삭제되는 경우, 리소스 관리부(208)는 추가 또는 삭제되는 리소스 슬롯에 대응하여 큐를 새로 추가하거나, 또는 삭제된 리소스 슬롯에 해당하는 큐를 삭제한다.
또한, 리소스 관리부(208)에 의하여 리소스 슬롯(116-1, 116-2, ..., 116-K)이 추가 또는 삭제되는 경우, 스케줄링 정책 관리부(202)는 추가 또는 삭제되는 리소스 슬롯(116-1, 116-2, ..., 116-K) 정보를 상기 스케줄링 정책 테이블에 업데이트한다.
도 3은 본 발명의 일 실시예에 따른 주 노드(102)에서의 데이터 스케줄링 과정(300)을 설명하기 위한 흐름도이다.
단계 302에서, 스케줄링 정책 관리부(202)는 사용자의 서비스 계약 정보로부터 상기 사용자의 서비스 수준 정보를 획득한다.
단계 304에서, 스케줄링 정책 관리부(202)는 상기 사용자의 서비스 수준 정보에 따라 스케줄링 정책 테이블에 상기 사용자의 정보를 업데이트한다. 전술한 바와 같이, 스케줄링 정책 테이블은 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함한다.
단계 306에서, 데이터 수신부(106)는 데이터 소스(112)로부터 처리 대상 데이터를 수신한다.
단계 308에서, 스케줄링 제어부(204)는 상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여, 상기 사용자의 서비스 수준에 대응되는 하나 이상의 리소스 슬롯 중 상기 데이터를 처리할 리소스 슬롯을 선택한다. 리소스 슬롯의 선택과 관련된 상세한 사항에 대해서는 전술하였다.
단계 310에서, 스케줄링 제어부(204)는 선택된 리소스 슬롯과 대응되는 큐(queue)에 상기 데이터를 저장한다.
도 4는 본 발명의 일 실시예에 따른 스케줄러(108)에서의 리소스 슬롯 관리 과정(400)을 설명하기 위한 흐름도이다.
단계 402에서, 모니터링부(206)는 각 리소스 슬롯(116-1, 116-2, ..., 116-K)의 서비스 품질 지표를 수집한다.
단계 404에서, 리소스 관리부(208)는 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는지, 다시 말해 서비스 품질 지표가 해당 서비스 수준과 관련된 규약을 만족하는지의 여부를 판단한다.
만약 상기 404 단계의 판단 결과 서비스 품질 지표가 서비스 수준 규약을 만족하는 경우에는 별도로 리소스 슬롯(116-1, 116-2, ..., 116-K)을 변경할 필요가 없으므로, 이 경우는 단계 402로 되돌아가 상기 과정들을 기 설정된 주기마다 반복 수행한다.
만약 상기 404 단계의 판단 결과 서비스 품질 지표가 서비스 수준 규약을 만족하지 못하는 경우, 단계 406에서 리소스 관리부(208)는 상기 특정 서비스 수준에 대응되는 리소스 슬롯(116-1, 116-2, ..., 116-K)을 추가 또는 삭제한다.
단계 408에서, 스케줄링 정책 관리부(202)는 상기 406 단계에서 추가 또는 삭제되는 리소스 슬롯(116-1, 116-2, ..., 116-K) 정보를 스케줄링 정책 테이블에 업데이트하고, 402 단계로 되돌아가 상기 과정들을 기 설정된 주기마다 반복 수행한다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 데이터 처리 시스템
102: 주 노드
104-1, 104-2, ..., 104-N: 처리 노드
106: 데이터 수신부
108: 스케줄러
110: 사용자 단말
112: 데이터 소스
114-1, 114-2, ..., 114-K: 큐
116-1, 116-2, ..., 116-K: 리소스 슬롯
202: 스케줄링 정책 관리부
204: 스케줄링 제어부
206: 모니터링부
208: 리소스 관리부

Claims (20)

  1. 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 관리하는 스케줄링 정책 관리부;
    사용자의 데이터를 수신하는 데이터 수신부; 및
    상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 상기 사용자의 서비스 수준에 대응되는 하나 이상의 리소스 슬롯 중 상기 데이터를 처리할 리소스 슬롯을 선택하고, 선택된 리소스 슬롯과 대응되는 큐(queue)에 상기 데이터를 저장하는 스케줄링 제어부를 포함하는 데이터 처리 장치.
  2. 청구항 1에 있어서,
    상기 스케줄링 정책 관리부는, 상기 사용자의 서비스 계약 정보로부터 획득되는 상기 사용자의 서비스 수준 정보에 따라 상기 스케줄링 정책 테이블에 상기 사용자의 정보를 업데이트하는, 데이터 처리 장치.
  3. 청구항 2에 있어서,
    상기 스케줄링 정책 관리부는, 상기 사용자와의 서비스 계약 해지시 상기 사용자의 정보를 상기 스케줄링 정책 테이블에서 삭제하는, 데이터 처리 장치.
  4. 삭제
  5. 청구항 1에 있어서,
    상기 하나 이상의 리소스 슬롯의 서비스 품질 지표를 모니터링하는 모니터링부를 더 포함하는, 데이터 처리 장치.
  6. 청구항 5에 있어서,
    상기 서비스 품질 지표는, 각 리소스 슬롯 별 데이터 처리 응답 시간, 리소스 사용량, 및 각 리소스 슬롯과 대응되는 큐의 사용률 중 하나 이상을 포함하는, 데이터 처리 장치.
  7. 청구항 5에 있어서,
    상기 스케줄링 제어부는, 상기 하나 이상의 리소스 슬롯의 서비스 품질 지표에 따라 상기 데이터를 처리할 리소스 슬롯을 선택하는, 데이터 처리 장치.
  8. 청구항 7에 있어서,
    상기 스케줄링 제어부는, 상기 서비스 품질 지표에 기 설정된 우선 순위를 적용하여 상기 데이터를 처리할 리소스 슬롯을 선택하는, 데이터 처리 장치.
  9. 청구항 5에 있어서,
    상기 모니터링부는, 특정 서비스 수준에 대응되는 리소스 슬롯의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우 경고 메시지를 생성하는, 데이터 처리 장치.
  10. 청구항 5에 있어서,
    특정 서비스 수준에 대응되는 리소스 슬롯의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우, 상기 특정 서비스 수준에 대응되는 리소스 슬롯을 추가 또는 삭제하는 리소스 관리부를 더 포함하는, 데이터 처리 장치.
  11. 청구항 10에 있어서,
    상기 스케줄링 정책 관리부는, 상기 리소스 관리부에 의하여 리소스 슬롯이 추가 또는 삭제되는 경우, 추가 또는 삭제되는 리소스 슬롯 정보를 상기 스케줄링 정책 테이블에 업데이트하는, 데이터 처리 장치.
  12. 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 생성하는 단계;
    사용자의 데이터를 수신하는 단계;
    상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 상기 사용자의 서비스 수준에 대응되는 하나 이상의 리소스 슬롯 중 수신된 상기 데이터를 처리할 리소스 슬롯을 선택하는 단계; 및
    선택된 리소스 슬롯과 대응되는 큐(queue)에 상기 데이터를 저장하는 단계를 포함하는 데이터 처리 방법.
  13. 청구항 12에 있어서,
    상기 스케줄링 정책 테이블을 생성하는 단계는,
    상기 사용자의 서비스 계약 정보로부터 상기 사용자의 서비스 수준 정보를 획득하는 단계; 및
    상기 사용자의 서비스 수준 정보에 따라 상기 스케줄링 정책 테이블에 상기 사용자의 정보를 업데이트하는 단계를 더 포함하는, 데이터 처리 방법.
  14. 청구항 13에 있어서,
    상기 스케줄링 정책 테이블을 생성하는 단계는,
    상기 사용자와의 서비스 계약 해지시 상기 사용자의 정보를 상기 스케줄링 정책 테이블에서 삭제하는 단계를 더 포함하는, 데이터 처리 방법.
  15. 삭제
  16. 청구항 12에 있어서,
    상기 선택하는 단계는, 상기 하나 이상의 리소스 슬롯 각각에 대하여 수집된 서비스 품질 지표에 따라 상기 데이터를 처리할 리소스 슬롯을 선택하도록 구성되는, 데이터 처리 방법.
  17. 청구항 16에 있어서,
    상기 서비스 품질 지표는, 각 리소스 슬롯 별 데이터 처리 응답 시간, 리소스 사용량, 및 각 리소스 슬롯과 대응되는 큐의 사용률 중 하나 이상을 포함하는, 데이터 처리 방법.
  18. 청구항 16에 있어서,
    상기 선택하는 단계는, 상기 서비스 품질 지표에 기 설정된 우선 순위를 적용하여 상기 데이터를 처리할 리소스 슬롯을 선택하도록 구성되는, 데이터 처리 방법.
  19. 청구항 16에 있어서,
    특정 서비스 수준에 대응되는 리소스 슬롯의 서비스 품질 지표가 기 설정된 허용 범위를 벗어나는 경우,
    상기 특정 서비스 수준에 대응되는 리소스 슬롯을 추가 또는 삭제하는 단계; 및
    추가 또는 삭제되는 리소스 슬롯 정보를 상기 스케줄링 정책 테이블에 업데이트하는 단계를 더 포함하는, 데이터 처리 방법.
  20. 하드웨어와 결합되어, 하나 이상의 서비스 수준 및 각각의 서비스 수준과 대응되는 하나 이상의 리소스 슬롯 정보를 포함하는 스케줄링 정책 테이블을 생성하는 단계;
    사용자의 데이터를 수신하는 단계;
    상기 사용자의 서비스 수준 및 상기 스케줄링 정책 테이블을 참조하여 상기 사용자의 서비스 수준에 대응되는 하나 이상의 리소스 슬롯 중 수신된 상기 데이터를 처리할 리소스 슬롯을 선택하는 단계; 및
    선택된 리소스 슬롯과 대응되는 큐(queue)에 상기 데이터를 저장하는 단계를 포함하는 단계들을 실행시키기 위하여 기록매체에 저장된 컴퓨터 프로그램.
KR1020150027110A 2015-02-26 2015-02-26 데이터 처리 장치 및 방법 KR101600743B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150027110A KR101600743B1 (ko) 2015-02-26 2015-02-26 데이터 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150027110A KR101600743B1 (ko) 2015-02-26 2015-02-26 데이터 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101600743B1 true KR101600743B1 (ko) 2016-03-07

Family

ID=55540433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150027110A KR101600743B1 (ko) 2015-02-26 2015-02-26 데이터 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101600743B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102261042B1 (ko) * 2020-04-24 2021-06-04 마루아이티 주식회사 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체
CN113141590A (zh) * 2021-03-24 2021-07-20 中国科学院沈阳计算技术研究所有限公司 一种面向工业物联网的无线通信调度方法及装置
KR102519005B1 (ko) * 2022-12-29 2023-04-06 주식회사 에스티씨랩 데이터베이스 상태를 이용한 디지털 기반 데이터 송수신 제어 서버, 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218923A (ja) * 2001-11-19 2003-07-31 Matsushita Electric Ind Co Ltd パケット送信装置及びパケット送信処理方法
KR20040035195A (ko) * 2002-10-18 2004-04-29 한국과학기술정보연구원 자원할당 시스템 및 방법과 그 프로그램을 저장한 기록매체
KR20100084911A (ko) * 2009-01-19 2010-07-28 주식회사 케이티 M2m 어플리케이션의 가입자 트래픽 데이터에 대한 서비스제어 방법 및 그 시스템
KR20120041899A (ko) 2010-10-22 2012-05-03 삼성전자주식회사 무선통신 시스템에서 스케줄링 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003218923A (ja) * 2001-11-19 2003-07-31 Matsushita Electric Ind Co Ltd パケット送信装置及びパケット送信処理方法
KR20040035195A (ko) * 2002-10-18 2004-04-29 한국과학기술정보연구원 자원할당 시스템 및 방법과 그 프로그램을 저장한 기록매체
KR20100084911A (ko) * 2009-01-19 2010-07-28 주식회사 케이티 M2m 어플리케이션의 가입자 트래픽 데이터에 대한 서비스제어 방법 및 그 시스템
KR20120041899A (ko) 2010-10-22 2012-05-03 삼성전자주식회사 무선통신 시스템에서 스케줄링 방법 및 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102261042B1 (ko) * 2020-04-24 2021-06-04 마루아이티 주식회사 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체
CN113141590A (zh) * 2021-03-24 2021-07-20 中国科学院沈阳计算技术研究所有限公司 一种面向工业物联网的无线通信调度方法及装置
CN113141590B (zh) * 2021-03-24 2023-09-19 中国科学院沈阳计算技术研究所有限公司 一种面向工业物联网的无线通信调度方法及装置
KR102519005B1 (ko) * 2022-12-29 2023-04-06 주식회사 에스티씨랩 데이터베이스 상태를 이용한 디지털 기반 데이터 송수신 제어 서버, 시스템 및 방법

Similar Documents

Publication Publication Date Title
US10178173B2 (en) Cloud service utilization
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN108089921B (zh) 用于云端大数据运算架构的服务器及其运算资源最佳化方法
JP5954074B2 (ja) 情報処理方法、情報処理装置、及びプログラム。
US10178046B1 (en) Reducing quota access
US20150363229A1 (en) Resolving task dependencies in task queues for improved resource management
US8171060B2 (en) Storage system and method for operating storage system
KR101941282B1 (ko) 가상 데스크톱 서비스 제공 방법 및 장치
US9853906B2 (en) Network prioritization based on node-level attributes
US20130035107A1 (en) System and method for adaptive traffic prioritization and bandwidth allocation on mobile data networks
US8606905B1 (en) Automated determination of system scalability and scalability constraint factors
CN107911399B (zh) 一种基于负载预测的弹性伸缩方法及系统
CN109144697B (zh) 一种任务调度方法、装置、电子设备及存储介质
CN109696889B (zh) 数据收集装置及数据收集方法
JP5609730B2 (ja) 情報処理プログラム及び方法、転送処理装置
Kim et al. A framework for the assessment of collaborative en route resource allocation strategies
KR20110080735A (ko) 컴퓨팅 시스템 및 방법
US20100008377A1 (en) Queue management based on message age
JP2014508970A (ja) クラウドストレージシステムのデータ暗号化処理装置及び方法
KR101600743B1 (ko) 데이터 처리 장치 및 방법
JP2012199644A (ja) 仮想ネットワーク管理システム、仮想ネットワーク管理方法および仮想ネットワーク管理用プログラム
JP2016024612A (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
KR101448413B1 (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
US10146584B2 (en) Weight adjusted dynamic task propagation
US11206673B2 (en) Priority control method and data processing system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 5