KR100317123B1 - 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법 - Google Patents

선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법 Download PDF

Info

Publication number
KR100317123B1
KR100317123B1 KR1019990047540A KR19990047540A KR100317123B1 KR 100317123 B1 KR100317123 B1 KR 100317123B1 KR 1019990047540 A KR1019990047540 A KR 1019990047540A KR 19990047540 A KR19990047540 A KR 19990047540A KR 100317123 B1 KR100317123 B1 KR 100317123B1
Authority
KR
South Korea
Prior art keywords
request
request signal
output
input
round robin
Prior art date
Application number
KR1019990047540A
Other languages
English (en)
Other versions
KR20010039236A (ko
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 KR1019990047540A priority Critical patent/KR100317123B1/ko
Publication of KR20010039236A publication Critical patent/KR20010039236A/ko
Application granted granted Critical
Publication of KR100317123B1 publication Critical patent/KR100317123B1/ko

Links

Classifications

    • 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/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Abstract

본 발명은 두 개 이상의 입력이 동시에 하나의 출력장치에 대해 데이터통신을 요구할 때 공유 통신선로를 공정하게 중재하는 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법에 관한 것이다.
이러한 선형 시스톨릭 라운드로빈 스케줄러는, 각 클라이언트들의 요청신호들을 조합하여 N×N의 2차원 요청 매트릭스를 만드는 요청 매트릭스 생성수단과; 상기 2차원 요청 매트릭스를 입력받아 입력포트별 각 출력포트들에 대한 요청신호들을 추출하여 우선순위 순으로 재배열하는 요청 배열 생성수단; 상기 우선순위 순으로 재배열된 1차원 요청 배열 중 우선순위 순으로 하나의 요청신호를 출력포트 정보와 함께 출력하는 N단의 요청신호 전파수단들; 쌍을 이루는 요청신호 전파수단으로부터 상기 요청신호와 출력포트 정보를 입력받고 전단의 프로세싱수단으로부터 요청허가 결과를 입력받아, 상기 요청신호에 대한 요청허가 여부를 결정하여 후단의 프로세싱수단에게 전파하는 N단의 프로세싱수단들; 및 해당 라운드로빈 스케줄링 사이클에서 요청 허가된 상호 독립적인 입력포트들 정보와 출력포트들 정보를 출력하는 수집수단을 포함한 것을 특징으로 한다.

Description

선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법 { Linear systolic round-robin scheduler and scheduling method }
본 발명은 정보통신망(Information Communication Network)에서 많은 클라이언트들이 다중 공유 통신선로(Multiple Shared Communication Links)를 이용할 수 있도록 스케줄링하기 위한 장치 및 방법에 관한 것으로서, 보다 상세하게 설명하면 두 개 이상의 입력이 동시에 하나의 출력장치에 대해 데이터통신을 요구할 때 공유 통신선로를 공정하게 중재하는 시스톨릭 라운드로빈 스케줄러 및 스케줄링방법에 관한 것이다.
현존하는 많은 데이터 통신망 시스템(Data Communication System)에는 임의의 입력 통신선로를 임의의 출력 통신선로에 연결하여 메시지 트래픽을 전송 가능하게 하는 라우터(Router)라고 불리는 장치가 사용된다. 이때, 하나의 입력 통신선로에서 또 다른 하나의 출력 통신선로로만 메시지 트래픽을 요구한다면 전혀 문제될게 없다. 그렇지만, 여러 입력 통신선로(Plurality Input Communication Links)에서 하나의 출력 통신선로(Output Communication Link)로의 메시지 트래픽(Message Traffic)을 요구(Request)한다면 어느 입력 통신선로에게 서비스를제공해야 되는가라는 문제가 발생한다. 특히, 이러한 문제는 데이터 통신망(Data Communication Network)의 전송 용량(Transmission Capacity)이 커지고 전송선로(Communication Link)가 많아질수록 더욱 커지기 때문에 더욱 고속의 대용량 라우터(Router)가 필요해진다.
이러한 라우터에서, 메시지 트래픽 요구가 경합할 때 공유 통신선로를 공정하게 중재하는 스케줄링방법으로서, 라운드로빈 스케줄링(Round-Robin Scheduling)방법이 있다. 이러한 라운드로빈 스케줄링방법은, 모든 입력 통신선로(Input Communication Link)의 클라이언트(Clients)들을 공정하게 미리 정해진 순서에 따라 공유 출력 통신선로(Shared Output Communication Link)에 할당해 주는 방법으로서, 매우 간단하면서도 효율적인 스케줄링 방법(Scheduling Method)이다.
서비스 요구가 경합되면, 미리 정해진 순서에 따라 높은 우선 순위(High Priority)의 입력 통신선로가 낮은 우선 순위(Low Priority)의 입력 통신선로보다 먼저 출력 통신선로를 이용할 수 있게 할당된다. 그리고, 현재 최우선 순위(Highest Priority)로 할당된 입력 통신선로가 서비스를 제공받은 다음에는, 다음 라운드로빈 스케줄링에서는 가장 낮은 우선 순위(Lowest Priority)의 입력 통신선로가 된다. 또한, 현재 최우선으로 할당된 입력 통신선로 바로 다음의 입력 통신선로가 다음 라운드로빈 스케줄링에서 최우선 순위의 입력 통신선로가 된다.
이러한, 라운드로빈 스케줄링방법은, 공유 통신선로의 수가 증가할수록 스케줄링을 하는데 많은 시간이 걸리기 때문에 고속 스케줄링(High-Sped Scheduling)을 위해 여러 가지 다른 방법들이 시도되었다. 이러한 다른 방법으로서,계층적인(Hierarchical) 라운드로빈 스케줄링(Round-Robin Scheduling)방법과 트리(Tree) 형태의 라운드로빈 스케줄링방법이 있다.
이러한 라운드로빈 스케줄링방법은 공유 버스(Shared BUS) 구조의 멀티 프로세서(Multiprocessor) 시스템이나 여러 종류의 공유 자원(Shared Resource)을 많은 클라이언트(Clients)들이 공유하는 서버시스템(Server System)에서도 사용된다. 특히, 고속의 하드웨어 스위치(Hardware Switch)가 필요한 ATM 스위치와 같은 시스템에서는 도 1에 도시된 바와 같이 N개의 클라이언트 그룹(Clients Group)들이 N개의 다중 통신선로(Multiple Communication Link)를 공유하는 구조의 스위치 네트워크(Switching Network)가 필요하고, 모든 입력 클라이언트 그룹(Input Clients Group)들이 공정하게 공유 통신선로를 이용하게 하는 고속의 스케줄러가 필요하다.
많은 공유 통신선로들을 고속으로 라운드로빈 스케줄링하기 위한 종래의 기술로서, 도 2에 도시된 바와 같이 2차원 시스톨릭 라운드로빈 스케줄러(Two Dimensional Systolic Round-Robin Scheduler)가 제안되었다.
도 2는 2차원 라운드로빈 스케줄링(2-D Round-Robin Scheduling)을 고속으로 처리하기 위한 2차원 구조의 시스톨릭 라운드로빈 스케줄러가 제시되었는 바, 2차원 구조의 시스톨릭 어레이 프로세서(Systolic Array Processor)를 사용한다.
이러한 2차원 구조의 시스톨릭 라운드로빈 스케줄러는, 2차원 라운드로빈 스케줄링을 하기 위해 N2개의 프로세서(Processor)(P0,0∼ PN-1,N-1)를 구비한다. 임의의 한 라운드로빈 스케줄링 사이클(Round-Robin Scheduling Cycle) 별로 보면 N개의 프로세서들만 실제 동작하고, 나머지 프로세서들은 동작하지 않기 때문에 프로세서들의 낭비를 초래한다. 또한, 하나의 행을 이루는 프로세서들(예를 들어, P0,0∼ P0,N-1)과 하나의 열을 이루는 프로세서들(예를 들어, P0,0∼ PN-1,0)은 원통(Torus) 형으로 연결되어 있기 때문에 프로세서들의 수에 대한 확장성(Scalability)이 크지 않다.
또한, 프로세서(Processor) 내부 구조에는 수직 및 수평으로 데이터를 전달(Propagation)하기 위해 비동기 회로(Asynchronous Circuit)가 삽입되어 있기 때문에 대용량 공유 통신선로(Shared Communication Link)의 고속 라운드로빈 스케줄링(High-Speed Round-Robin Scheduling)에 적합하지 않는 문제를 가지고 있다.
따라서, 본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로서, 작은 회로 크기로 많은 공유 통신선로를 고속 스케줄링하도록 하는 선형 시스톨릭 어레이 구조의 라운드로빈 스케줄러를 제공하기 위한 것이다.
또한, 본 발명은 모듈방식(Modularity)으로 설계를 가능하게 하여 회로의 확장성(Scalability)이 뛰어난 선형 시스톨릭 라운드로빈 스케줄러를 제공하기 위한 것이다.
도 1은 일반적인 2차원 라운드로빈 스케줄링방법이 적용되는 다중 공유 통신선로를 가지는 통신망 시스템의 구조도,
도 2는 종래기술에 따른 2차원 시스톨릭 라운드로빈 스케줄러를 도시한 구조도,
도 3은 본 발명의 한 실시예에 따른 선형 시스톨릭 라운드로빈 스케줄러를 도시한 구성도,
도 4는 본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러의 데이터 흐름도,
도 5 내지 도 8은 본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러를 이용하여 라운드로빈 스케줄링시 각 사이클별 독립 입출력 통신선로의 조합의 예를 도시한 도면이다.
※ 도면의 주요 부분에 대한 부호의 설명 ※
310 : 라운드 로버 320 : 요청 매트릭스 레지스터블록
330 : 회전블록 341, 342, 343 : 요청 전파블록
344, 345, 346 : 프로세싱 엘리먼트
350 : 수집블록
상기한 목적을 달성하기 위한 본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러는, N개의 입력 통신선로들과 N개의 출력 통신선로들을 가지는 통신시스템에서, 매 라운드로빈 스케줄링 사이클들마다 서비스 요청신호가 있는 상호 독립적인 입, 출력포트들을 선택하여 서비스 요청 허가하는 스케줄러에 있어서, 각 클라이언트들의 요청신호들을 조합하여 N×N의 2차원 요청 매트릭스를 만드는 요청 매트릭스 생성수단과; 상기 2차원 요청 매트릭스를 입력받아 입력포트별 각 출력포트들에 대한 요청신호들을 추출하고, 상기 추출된 1차원 요청 배열을 우선순위 순으로 재배열하는 요청 배열 생성수단; 상기 우선순위 순으로 재배열된 1차원 요청 배열을 파이프라인방식으로 후단의 요청신호 전파수단에게 전파하면서 우선순위 순으로 하나의 요청신호를 출력포트 정보와 함께 출력하는 N단의 요청신호 전파수단들; 상기 하나의 요청신호 전파수단과 한 쌍을 이루고, 상기 쌍을 이루는 요청신호 전파수단으로부터 상기 요청신호와 출력포트 정보를 입력받고 전단의 프로세싱수단으로부터 요청허가 결과를 입력받아, 상기 요청신호에 대한 요청허가 여부를 결정하여 후단의 프로세싱수단에게 전파하는 N단의 프로세싱수단들; 및 상기 최후단의 요청신호 전파수단과 최후단의 프로세싱수단으로부터 요청허가된 요청신호의 입력포트 정보와 출력포트 정보를 입력받아 해당 라운드로빈 스케줄링 사이클에서 요청 허가된 상호 독립적인 입력포트들 정보와 출력포트들 정보를 출력하는 수집수단을 포함한 것을 특징으로 한다.
양호하게는, 상기 요청 배열 생성수단은, 요청 매트릭스를 구성하는 모든 요청신호들이 N×N번의 라운드로빈 스케줄링 사이클들마다 적어도 한 번은 최우선순위 요청신호가 될 수 있도록 상기 1차원 요청 배열을 재배열하는 것을 특징으로 한다.
보다 양호하게는, 상기 매 라운드로빈 스케줄링 사이클마다 1씩 증가하는 출력 시작주소와 N번의 라운드로빈 스케줄링 사이클들마다 1씩 증가하는 입력 시작주소를 생성하여 상기 요청 배열 생성수단에게 제공하는 시작주소 발생수단을 더 포함한 것을 특징으로 한다. 상기 시작주소 발생수단은 N-계수 카운터로 구현되는 것을 특징으로 한다.
보다 양호하게는, 상기 요청 배열 생성수단은 상기 입력 시작주소의 입력포트별 1차원 요청 배열을 추출한 후 입력포트 주소를 1씩 증가시키면서 모든 입력포트별 1차원 요청 배열들을 추출하고, 상기 출력 시작주소의 출력포트에 대한 요청신호가 최상위비트가 되도록 상기 모든 1차원 요청 배열들을 재배열하는 것을 특징으로 한다.
보다 양호하게는, 상기 요청신호 전파수단은, 상기 요청 배열 생성수단 또는 전단 요청신호 전파수단으로부터 입력받은 입력포트 주소를 후단 요청신호 전파수단에게 전달하는 수단과, 상기 요청 배열 생성수단 또는 전단 요청신호 전파수단으로부터 입력받은 출력포트 주소를 쌍을 이루는 프로세싱수단에게 전달하는 동시에 1 증가시킨 후 후단 요청신호 전파수단에게 전달하는 가산수단, 상기 요청 배열 생성수단 또는 전단 요청신호 전파수단으로부터 입력받은 1차원 요청 배열의 최상위비트를 쌍을 이루는 프로세싱수단에게 전달하는 동시에 상위비트로 1 비트씩 천이시킨 후 후단 요청신호 전파수단에게 전달하는 회전수단을 더 포함한 것을 특징으로 한다.
보다 양호하게는, 상기 프로세싱수단은, 전단 프로세싱수단으로부터 요청허가 결과와 요청허가된 출력포트 정보를 입력받아 저장하는 제1입력버퍼수단과, 상기 쌍을 이루는 요청신호 전파수단으로부터 요청신호와 출력포트 정보를 입력받아 저장하는 제2입력버퍼수단, 상기 제1입력버퍼수단과 제2입력버퍼수단에 저장된 데이터를 이용하여 상기 요청신호에 대한 요청허가 여부를 결정하는 선택수단, 및 상기 선택수단에 의해 결정된 요청허가 결과와 요청허가된 출력포트 정보를 저장하여 출력하는 출력버퍼수단을 포함한 것을 특징으로 한다.
보다 양호하게는, 상기 선택수단은, 상기 전단 프로세싱수단으로부터 활성상태의 요청허가 결과가 입력되면 상기 전단 프로세싱수단으로부터 입력된 활성상태의 요청허가 결과와 요청허가된 출력포트 정보를 상기 출력버퍼수단에게 제공하고, 상기 전단 프로세싱수단으로부터 비활성상태의 요청허가 결과가 입력되고 상기 요청신호가 비활성화상태이면 비활성상태의 요청허가 결과를 상기 출력버퍼수단에게 제공하며, 상기 전단 프로세싱수단으로부터 비활성상태의 요청허가 결과가 입력되고 상기 요청신호가 활성상태이면 활성상태의 요청허가 결과와 현재 출력포트 정보를 상기 출력버퍼수단에게 제공하며, 상기 전단 프로세싱수단으로부터 비활성상태의 요청허가 결과가 입력되고 상기 요청신호가 활성상태이더라도 같은 라운드로빈 스케줄링 사이클 내에서 이전 클럭에 이미 활성상태의 요청허가 결과와 해당 출력포트 정보가 출력된 프로세싱수단인 경우에는 비활성상태의 요청허가 결과를 상기 출력버퍼수단에게 제공하는 것을 특징으로 한다.
또한, 본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러의 스케줄링방법은, N개의 입력 통신선로들과 N개의 출력 통신선로들을 가지는 통신시스템에서, 매 라운드로빈 스케줄링 사이클들마다 서비스 요청신호가 있는 상호 독립적인 입, 출력포트들을 선택하여 서비스 요청 허가하는 스케줄러의 스케줄링방법에 있어서, 각 클라이언트들의 요청신호들을 조합하여 N×N의 2차원 요청 매트릭스를 만드는 요청 매트릭스 생성단계와; 상기 2차원 요청 매트릭스를 입력받아 입력포트별 각 출력포트들에 대한 요청신호들을 추출하고, 상기 추출된 상기 입력포트별 1차원 요청 배열을 우선순위 순으로 재배열하는 요청 배열 생성단계; 상기 우선순위 순으로 재배열된 1차원 요청 배열로부터 하나의 요청신호를 우선순위에 따라 하나씩 추출하여 해당 요청신호의 출력포트 정보와 함께 출력하는 요청신호 전파단계; 상기 하나씩 추출되는 요청신호와 해당 출력포트 정보를 입력받아 상기 입력포트별 1차원 요청 배열의 활성상태 요청신호들 중 우선순위가 높은 요청신호에게 요청허가하는 프로세싱단계; 상기 모든 입력포트별 1차원 요청 배열들에 대해 상기 요청 배열 생성단계와 요청신호 전파단계 및 프로세싱단계를 반복 수행하는 반복 수행단계; 및 상기 각 입력포트별 요청허가된 요청신호들에 대한 출력포트가 겹쳐지지 않도록 해당 라운드로빈 스케줄링 사이클 내의 각 클럭에서 요청허가된 상호 독립적인 입력포트들과 출력포트들을 출력하는 출력단계를 포함한 것을 특징으로 한다.
양호하게는, 상기 요청 배열 생성단계는, 요청 매트릭스를 구성하는 모든 요청신호들이 N×N번의 라운드로빈 스케줄링 사이클들마다 적어도 한 번은 최우선순위 요청신호가 될 수 있도록 상기 1차원 요청 배열을 재배열하는 것을 특징으로 한다.
보다 양호하게는, 상기 요청 배열 생성수단은, 매 라운드로빈 스케줄링 사이클마다 1씩 증가하는 출력 시작주소와 N번의 라운드로빈 스케줄링 사이클들마다 1씩 증가하는 입력 시작주소를 생성하여 우선순위 정보로 사용하는 것을 특징으로 한다.
보다 양호하게는, 상기 요청 배열 생성단계는, 상기 입력 시작주소의 입력포트별 1차원 요청 배열을 추출한 후 입력포트 주소를 1씩 증가시키면서 모든 입력포트별 1차원 요청 배열들을 추출하고, 상기 출력 시작주소의 출력포트에 대한 요청신호가 최상위비트가 되도록 상기 모든 1차원 요청 배열들을 재배열하는 것을 특징으로 한다.또한, 본 발명에 따르면 선형 시스톨릭 라운드로빈 스케줄러에 상술한 스케줄링방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
이하, 첨부된 도면을 참조하면서 본 발명의 한 실시예에 따른 '선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법'을 보다 상세하게 설명하면 다음과 같다.
도 1은 본 발명이 적용되는 다중 공유 통신선로를 가지는 통신망 시스템의 구조도이다. 이러한 통신망 시스템에서는, N개의 클라이언트 그룹(Clients Group)이 N개의 다중 공유 통신선로(Shared Communication Links)를 공유한다.
본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러는, 상기한 통신망 시스템에서 모든 클라이언트 그룹들이 공유 통신선로를 공정하게 사용할 수 있는 기회를 주기 위해 사용한다.
도 3은 본 발명의 한 실시예에 따른 선형 시스톨릭 라운드로빈 스케줄러를도시한 구성도이다. 이는 라운드 로버(310)와, 요청 매트릭스 레지스터블록(320), 회전블록(330), N개의 요청전파블록(341, 342, 343), N개의 프로세싱 엘리먼트(344, 345, 346), 및 수집블록(350)으로 구성된다.
각 클라이언트 그룹(Clients Group) 별로 N개의 서비스 요청신호(Request Signal)를 스케줄러(Scheduler)로 보내오면, 스케줄러는 모든 클라이언트 그룹으로부터 발생된 요청신호를 전체 데이터 저장장치인 요청 매트릭스(Request Matrix) 레지스터(Register)블록(320)에 저장한다.
라운드로버(Round Rover)(310)는 라운드로빈 스케줄링(Round-Robin Scheduling) 사이클마다 1씩 증가하는 출력 라운드로빈 시작주소(Round-Robin Seed Address)(o-seed)를 출력한다. 또한, N번의 라운드로빈 스케줄링 사이클마다 1씩 증가하는 입력 라운드로빈 시작주소(i-seed)를 출력한다. 즉, 라운드로버는 N-계수 카운터(Modulo-N Counter)에 의한 라운드로빈 스케줄링 사이클(Round-Robin Cycle)을 위한 시작주소를 발생시킨다.
요청 매트릭스 레지스터블록(320)은 한 입력 포트의 모든 출력 포트로의 요청(Request) 데이터를 한번에 읽어서 회전(Rotation)블록(330)으로 전파한다. 즉, 요청 매트릭스에서 한 행의 요청신호들(r0,0, r0,1, ..., r0,n-1)이 한번에 회전블록(330)으로 전파된다. 회전블록(330)은 요청 매트릭스 레지스터블록(320)으로부터 매 라운드로빈 스케줄링 사이클마다 행 단위로 읽혀지는 요청신호들을 출력 라운드로빈 시작주소를 이용하여 회전시킨다. 즉, 출력 라운드로빈 시작주소의요청신호가 최상위 비트에 위치하고, 그 하위비트들에 순차적으로 다음 주소의 요청신호들이 위치하도록 회전한다.
예를들어, 임의의 한 라운드로빈 스케줄링 사이클에서, 입력 라운드로빈 시작주소가 2이고, 출력 라운드로빈 시작주소가 3일 경우, 회전블록으로는 요청신호들(r2,0, r2,1, ..., r2,n-1)이 입력되고, 회전블록은 요청신호들을 최상위비트로부터 r2,3, r2,4, ..., r2,n-1, r2,0, r2,1, r2,2가 되도록 회전시킨다.
이렇게 회전된 요청신호들이 요청 전파블록들(341, 342, 343)로 전파된다. 각각의 요청 전파블록들(341, 342, 343)에는 프로세싱 엘리먼트들(344, 345, 346)이 각각 연결되어 쌍을 이룬다. 요청 전파블록과 프로세싱 엘리먼트가 하나의 파이프라인 스테이지를 이룬다. 회전블록(330)으로부터 전파된 요청신호들은 제1요청 전파블록(341)으로부터 제n요청 전파블록(343)까지 전파되는데, 각 요청 전파블록에서 요청신호들은 최상위비트가 최하위비트로 한 비트씩 회전되면서 파이프라인 방식으로 전파된다. 또한, 요청 전파블록에는 증가기가 포함되는 바, 출력 라운드로빈 주소가 증가기를 통해 1씩 증가하면서 다음 요청 전파블록으로 전달된다. 요청 전파블록은 회전되기 전의 최상위비트의 요청신호와, 증가되기 전의 출력 라운드로빈 주소를 쌍을 이루는 프로세싱 엘리먼트에게 전달한다.
각 프로세싱 엘리먼트는 쌍을 이루는 요청 전파블록으로부터 최상위비트의 요청신호와 출력 라운드로빈 주소를 입력받아, 해당 요청에 대한 공유 통신선로의 사용을 허가할 것인지를 결정한다. 이때, 프로세싱 엘리먼트는 이전 파이프라인스테이지의 프로세싱 엘리먼트에서 해당 입력 통신선로가 이미 선택되었는 지에 대한 허가 정보를 전달받는다. 즉, 이전 파이프라인 스테이지에서 이미 해당 입력 통신선로에 대한 사용 허가(grant)가 되었으면, 현재 해당 입력 통신선로에 대한 사용 요청이 있더라도 사용 허가되지 않는다. 이 경우, 프로세싱 엘리먼트는 전단 프로세싱 엘리먼트로부터 전달되는 허가된 입력 라운드로빈 주소와 활성상태의 허가신호를 다음 프로세싱 엘리먼트에게 전달한다.
또한, 같은 라운드로빈 스케줄링 사이클에서 이전 클럭에 이미 해당 출력 통신선로에 대한 사용 허가가 되었으면, 현재 해당 출력 통신선로에 대한 사용 요청이 있더라도 사용 허가되지 않는다. 즉, 각 프로세싱 엘리먼트는 한 라운드로빈 스테줄링 사이클에서 동일한 출력 통신선로에 대한 사용 허가를 결정하는 데, 임의의 클럭에서 사용 요청에 대한 허가를 한 후, 다음 클럭부터는 사용 요청이 있더라도 허가하지 않는다.
전체 파이프라인 스테이지(Pipeline Stage)의 마지막에는 수집(Aggregator)블록(350)이 위치한다. 이 수집블록은 각 파이프라인 스테이지 및 각 라운드로빈 사이클(Cycle) 별로 선택된 모든 입력 공유 통신선로 및 출력 공유 통신선로(Shared Communication Link)의 사용 허가를 결정하고, 공간분할스위치(Space Division Switch)를 설정(Configuration)하기 위한 데이터를 생성한다.
따라서, 선형 시스톨릭 라운드로빈 스케줄러(Linear Systolic Round-Robin Scheduler)가 다음 요청 매트릭스(Request Matrix)에 대한 라운드로빈 스케줄링을하는 동안 공간분할스위치는 현재 설정(Configuration)된 공유 통신선로(Shared Communication Link) 간의 메시지 트래픽(Message Traffic)을 서비스한다.
도 4는 본 발명의 한 실시예에 따른 선형 시스톨릭 라운드로빈 스케줄러(Linear Systolic Round-Robin Scheduler)의 데이터 흐름(Data Flow)을 도시한다. 하나의 라운드로빈 스케줄링을 위한 모든 프로세싱 엘리먼트들에게 병렬로 동시에 입력되는 요청신호는 모두 2차원 요청 매트릭스의 대각선 상에 위치하는 독립성을 가지는 요청이 되며, 모든 프로세싱 엘리먼트들이 병렬 처리할 수 있도록 하는 데이터 흐름 구조를 가진다. 즉, 제1라운드로빈 스케줄링 사이클(RRC1)에서, 첫 번째 클럭에서는 제1프로세싱 엘리먼트(PE0)가 r0,0를 처리하고, 두 번째 클럭에서는 제1프로세싱 엘리먼트(PE0)는 r1,0, 제2프로세싱 엘리먼트(PE1)는 r0,1을 동시에 처리한다. 또한, n번째 클럭에서는 제1프로세싱 엘리먼트(PE0)는 rn-1,0, 제2프로세싱 엘리먼트(PE1)는 rn-2,1, ..., 제n프로세싱 엘리먼트는 r0,n-1을 동시에 처리한다. 그리고, 그 다음번째 클럭부터는 제2라운드로빈 스케줄링 사이클(RRC2)과 중첩되는 바, 2n-1번째 클럭이 되면 제1라운드로빈 스케줄링 사이클(RRC1)이 종료한다. 하나의 라운드로빈 스케줄링 사이클이 종료하면 최종 결과가 수집블록(350)에 집결되어 공간분할스위치가 메시지 트래픽을 서비스하도록 한다. 제1라운드로빈 스케줄링 사이클은 2n-1 클럭만에 종료하지만, n-1클럭동안에는 제2라운드로빈 스케줄링 사이클이 동시에 수행되기 때문에 최종적으로 라운드로빈 스케줄링시간을 단축시킬 수 있는 효과가 있다.
도 5 내지 도 8은 본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러를 이용하여 라운드로빈 스케줄링시 각 사이클별 독립 입출력 통신선로의 조합의 예를 도시한 도면이다. 라운드로빈 스케줄링을 위해 4×4 공유 통신선로를 이용한다. 도 5는 1회 라운드로빈 스케줄링 사이클부터 4회 라운드로빈 스케줄링 사이클까지, 도 6은 5회 라운드로빈 스케줄링 사이클부터 8회 라운드로빈 스케줄링 사이클까지, 도 7은 9회 라운드로빈 스케줄링 사이클부터 12회 라운드로빈 스케줄링 사이클까지, 도 8은 13회 라운드로빈 스케줄링 사이클부터 16회 라운드로빈 스케줄링 사이클까지의 요청 매트릭스 조합이다. 17회 라운드로빈 스케줄링 사이클의 경우 1회 라운드로빈 스케줄링 사이클과 동일하다.
이러한 요청 매트릭스(Request Matrix)의 데이터 조합을 순차적으로 선형 시스톨릭 라운드로빈 스케줄러(Linear Systolic Round-Robin Scheduler)에 인가하며, 다음 요청 매트릭스에 대한 라운드로빈 스케줄링은 입력 및 출력 라운드로빈 시작주소에서부터 시작하는 N-계수 카운터(Modulo-N Counter)를 사용하여 각각 1씩 증가시켜서 전체 요청 매트릭스에 대한 라운드로빈 스케줄링을 함으로써 모든 클라이언트들의 공유 통신선로 요청에 대해 공정한 스케줄링(Fair Scheduling)을 할 수 있도록 한다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는첨부된 청구범위에 의해서만 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 따른 선형 시스톨릭 라운드로빈 스케줄러는, 대용량 공유 통신선로들(Many Shared Communication Links)를 간단하고 모듈성(Modularity)이 뛰어난 회로 구조로 구현 가능하고, 고 처리율(High Throughput)의 2차원 라운드로빈 스케줄링을 수행할 수 있는 효과가 있다.
즉, 본 발명에 따르면, 대용량 공유 통신선로를 간단한 회로 구조로 고속 스케줄링(High-Speed Scheduling)할 수 있고, 병렬 시스톨릭 동작(Parallel Systolic Operation)으로 인해 높은 처리율(High Throughput)을 지원할 수 있고, 뛰어난 모듈성(Modularity)으로 확장성(Scalability)이 크다는 효과가 있다.

Claims (13)

  1. N개의 입력 통신선로들과 N개의 출력 통신선로들을 가지는 통신시스템에서, 매 라운드로빈 스케줄링 사이클들마다 서비스 요청신호가 있는 상호 독립적인 입, 출력포트들을 선택하여 서비스 요청 허가하는 스케줄러에 있어서,
    각 클라이언트들의 요청신호들을 조합하여 N×N의 2차원 요청 매트릭스를 만드는 요청 매트릭스 생성수단과;
    상기 2차원 요청 매트릭스를 입력받아 입력포트별 각 출력포트들에 대한 요청신호들을 추출하고, 상기 추출된 1차원 요청 배열을 우선순위 순으로 재배열하는 요청 배열 생성수단;
    상기 우선순위 순으로 재배열된 1차원 요청 배열을 파이프라인방식으로 후단의 요청신호 전파수단에게 전파하면서 우선순위 순으로 하나의 요청신호를 출력포트 정보와 함께 출력하는 N단의 요청신호 전파수단들;
    상기 하나의 요청신호 전파수단과 한 쌍을 이루고, 상기 쌍을 이루는 요청신호 전파수단으로부터 상기 요청신호와 출력포트 정보를 입력받고 전단의 프로세싱수단으로부터 요청허가 결과를 입력받아, 상기 요청신호에 대한 요청허가 여부를 결정하여 후단의 프로세싱수단에게 전파하는 N단의 프로세싱수단들; 및
    상기 최후단의 요청신호 전파수단과 최후단의 프로세싱수단으로부터 요청허가된 요청신호의 입력포트 정보와 출력포트 정보를 입력받아 해당 라운드로빈 스케줄링 사이클에서 요청 허가된 상호 독립적인 입력포트들 정보와 출력포트들 정보를출력하는 수집수단을 포함한 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  2. 제 1 항에 있어서, 상기 요청 배열 생성수단은, 요청 매트릭스를 구성하는 모든 요청신호들이 N×N번의 라운드로빈 스케줄링 사이클들마다 적어도 한 번은 최우선순위 요청신호가 될 수 있도록 상기 1차원 요청 배열을 재배열하는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  3. 제 1 항에 또는 제 2 항에 있어서, 상기 매 라운드로빈 스케줄링 사이클마다 1씩 증가하는 출력 시작주소와 N번의 라운드로빈 스케줄링 사이클들마다 1씩 증가하는 입력 시작주소를 생성하여 상기 요청 배열 생성수단에게 제공하는 시작주소 발생수단을 더 포함한 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  4. 제 3 항에 있어서, 상기 시작주소 발생수단은 N-계수 카운터로 구현되는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  5. 제 3 항에 있어서, 상기 요청 배열 생성수단은 상기 입력 시작주소의 입력포트별 1차원 요청 배열을 추출한 후 입력포트 주소를 1씩 증가시키면서 모든 입력포트별 1차원 요청 배열들을 추출하고, 상기 출력 시작주소의 출력포트에 대한 요청신호가 최상위비트가 되도록 상기 모든 1차원 요청 배열들을 재배열하는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  6. 제 5 항에 있어서, 상기 요청신호 전파수단은,
    상기 요청 배열 생성수단 또는 전단 요청신호 전파수단으로부터 입력받은 입력포트 주소를 후단 요청신호 전파수단에게 전달하는 수단과,
    상기 요청 배열 생성수단 또는 전단 요청신호 전파수단으로부터 입력받은 출력포트 주소를 쌍을 이루는 프로세싱수단에게 전달하는 동시에 1 증가시킨 후 후단 요청신호 전파수단에게 전달하는 가산수단,
    상기 요청 배열 생성수단 또는 전단 요청신호 전파수단으로부터 입력받은 1차원 요청 배열의 최상위비트를 쌍을 이루는 프로세싱수단에게 전달하는 동시에 상위비트로 1 비트씩 천이시킨 후 후단 요청신호 전파수단에게 전달하는 회전수단을 더 포함한 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  7. 제 1 항, 제 2 항, 제 4 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 프로세싱수단은, 전단 프로세싱수단으로부터 요청허가 결과와 요청허가된 출력포트 정보를 입력받아 저장하는 제1입력버퍼수단과,
    상기 쌍을 이루는 요청신호 전파수단으로부터 요청신호와 출력포트 정보를 입력받아 저장하는 제2입력버퍼수단,
    상기 제1입력버퍼수단과 제2입력버퍼수단에 저장된 데이터를 이용하여 상기 요청신호에 대한 요청허가 여부를 결정하는 선택수단, 및
    상기 선택수단에 의해 결정된 요청허가 결과와 요청허가된 출력포트 정보를 저장하여 출력하는 출력버퍼수단을 포함한 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  8. 제 7 항에 있어서, 상기 선택수단은, 상기 전단 프로세싱수단으로부터 활성상태의 요청허가 결과가 입력되면 상기 전단 프로세싱수단으로부터 입력된 활성상태의 요청허가 결과와 요청허가된 출력포트 정보를 상기 출력버퍼수단에게 제공하고, 상기 전단 프로세싱수단으로부터 비활성상태의 요청허가 결과가 입력되고 상기 요청신호가 비활성화상태이면 비활성상태의 요청허가 결과를 상기 출력버퍼수단에게 제공하며, 상기 전단 프로세싱수단으로부터 비활성상태의 요청허가 결과가 입력되고 상기 요청신호가 활성상태이면 활성상태의 요청허가 결과와 현재 출력포트 정보를 상기 출력버퍼수단에게 제공하며, 상기 전단 프로세싱수단으로부터 비활성상태의 요청허가 결과가 입력되고 상기 요청신호가 활성상태이더라도 같은 라운드로빈 스케줄링 사이클 내에서 이전 클럭이 이미 활성상태의 요청허가 결과와 해당 출력포트 정보가 출력된 프로세싱수단인 경우에는 비활성상태의 요청허가 결과를 상기 출력버퍼수단에게 제공하는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러.
  9. N개의 입력 통신선로들과 N개의 출력 통신선로들을 가지는 통신시스템에서, 매 라운드로빈 스케줄링 사이클들마다 서비스 요청신호가 있는 상호 독립적인 입, 출력포트들을 선택하여 서비스 요청 허가하는 스케줄러의 스케줄링방법에 있어서,
    각 클라이언트들의 요청신호들을 조합하여 N×N의 2차원 요청 매트릭스를 만드는 요청 매트릭스 생성단계와;
    상기 2차원 요청 매트릭스를 입력받아 입력포트별 각 출력포트들에 대한 요청신호들을 추출하고, 상기 추출된 상기 입력포트별 1차원 요청 배열을 우선순위 순으로 재배열하는 요청 배열 생성단계;
    상기 우선순위 순으로 재배열된 1차원 요청 배열로부터 하나의 요청신호를 우선순위에 따라 하나씩 추출하여 해당 요청신호의 출력포트 정보와 함께 출력하는 요청신호 전파단계;
    상기 하나씩 추출되는 요청신호와 해당 출력포트 정보를 입력받아 상기 입력포트별 1차원 요청 배열의 활성상태 요청신호들 중 우선순위가 높은 요청신호에게 요청허가하는 프로세싱단계;
    상기 모든 입력포트별 1차원 요청 배열들에 대해 상기 요청 배열 생성단계와 요청신호 전파단계 및 프로세싱단계를 반복 수행하는 반복 수행단계; 및
    상기 각 입력포트별 요청허가된 요청신호들에 대한 출력포트가 겹쳐지지 않도록 해당 라운드로빈 스케줄링 사이클 내의 각 클럭에서 요청허가된 상호 독립적인 입력포트들과 출력포트들을 출력하는 출력단계를 포함한 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러의 스케줄링방법.
  10. 제 9 항에 있어서, 상기 요청 배열 생성단계는, 요청 매트릭스를 구성하는 모든 요청신호들이 N×N번의 라운드로빈 스케줄링 사이클들마다 적어도 한 번은 최우선순위 요청신호가 될 수 있도록 상기 1차원 요청 배열을 재배열하는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러의 스케줄링방법.
  11. 제 9 항에 또는 제 10 항에 있어서, 상기 요청 배열 생성수단은, 매 라운드로빈 스케줄링 사이클마다 1씩 증가하는 출력 시작주소와 N번의 라운드로빈 스케줄링 사이클들마다 1씩 증가하는 입력 시작주소를 생성하여 우선순위 정보로 사용하는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러의 스케줄링방법.
  12. 제 11 항에 있어서, 상기 요청 배열 생성단계는, 상기 입력 시작주소의 입력포트별 1차원 요청 배열을 추출한 후 입력포트 주소를 1씩 증가시키면서 모든 입력포트별 1차원 요청 배열들을 추출하고, 상기 출력 시작주소의 출력포트에 대한 요청신호가 최상위비트가 되도록 상기 모든 1차원 요청 배열들을 재배열하는 것을 특징으로 하는 선형 시스톨릭 라운드로빈 스케줄러의 스케줄링방법.
  13. N개의 입력 통신선로들과 N개의 출력 통신선로들을 가지는 통신시스템에서, 매 라운드로빈 스케줄링 사이클들마다 서비스 요청신호가 있는 상호 독립적인 입, 출력포트들을 선택하여 서비스 요청 허가하는 선형 시스톨릭 라운드로빈 스케줄러에,
    각 클라이언트들의 요청신호들을 조합하여 N×N의 2차원 요청 매트릭스를 만드는 요청 매트릭스 생성단계와;
    상기 2차원 요청 매트릭스를 입력받아 입력포트별 각 출력포트들에 대한 요청신호들을 추출하고, 상기 추출된 상기 입력포트별 1차원 요청 배열을 우선순위 순으로 재배열하는 요청 배열 생성단계;
    상기 우선순위 순으로 재배열된 1차원 요청 배열로부터 하나의 요청신호를 우선순위에 따라 하나씩 추출하여 해당 요청신호의 출력포트 정보와 함께 출력하는 요청신호 전파단계;
    상기 하나씩 추출되는 요청신호와 해당 출력포트 정보를 입력받아 상기 입력포트별 1차원 요청 배열의 활성상태 요청신호들 중 우선순위가 높은 요청신호에게 요청허가하는 프로세싱단계;
    상기 모든 입력포트별 1차원 요청 배열들에 대해 상기 요청 배열 생성단계와 요청신호 전파단계 및 프로세싱단계를 반복 수행하는 반복 수행단계; 및
    상기 각 입력포트별 요청허가된 요청신호들에 대한 출력포트가 겹쳐지지 않도록 해당 라운드로빈 스케줄링 사이클 내의 각 클럭에서 요청허가된 상호 독립적인 입력포트들과 출력포트들을 출력하는 출력단계를 포함하는 스케줄링방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019990047540A 1999-10-29 1999-10-29 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법 KR100317123B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990047540A KR100317123B1 (ko) 1999-10-29 1999-10-29 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990047540A KR100317123B1 (ko) 1999-10-29 1999-10-29 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법

Publications (2)

Publication Number Publication Date
KR20010039236A KR20010039236A (ko) 2001-05-15
KR100317123B1 true KR100317123B1 (ko) 2001-12-24

Family

ID=19617671

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990047540A KR100317123B1 (ko) 1999-10-29 1999-10-29 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법

Country Status (1)

Country Link
KR (1) KR100317123B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299190A (en) * 1992-12-18 1994-03-29 International Business Machines Corporation Two-dimensional round-robin scheduling mechanism for switches with multiple input queues
JPH1093586A (ja) * 1996-03-26 1998-04-10 Digital Equip Corp <Dec> 個別レート及び比例レートスケーリングを用いて相対的エラーをスケジューリングする方法及び装置
JPH1155292A (ja) * 1997-06-03 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> グループ通信レート制御方法、ネットワーク資源共用方法、レート制御スケジューリング方法及び通信システム
JPH11239151A (ja) * 1998-02-24 1999-08-31 Nec Corp ラウンドロビン制御装置および方法
KR20000047434A (ko) * 1998-12-08 2000-07-25 가네코 히사시 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299190A (en) * 1992-12-18 1994-03-29 International Business Machines Corporation Two-dimensional round-robin scheduling mechanism for switches with multiple input queues
JPH1093586A (ja) * 1996-03-26 1998-04-10 Digital Equip Corp <Dec> 個別レート及び比例レートスケーリングを用いて相対的エラーをスケジューリングする方法及び装置
JPH1155292A (ja) * 1997-06-03 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> グループ通信レート制御方法、ネットワーク資源共用方法、レート制御スケジューリング方法及び通信システム
JPH11239151A (ja) * 1998-02-24 1999-08-31 Nec Corp ラウンドロビン制御装置および方法
KR20000047434A (ko) * 1998-12-08 2000-07-25 가네코 히사시 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링

Also Published As

Publication number Publication date
KR20010039236A (ko) 2001-05-15

Similar Documents

Publication Publication Date Title
KR900006791B1 (ko) 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법
KR900006793B1 (ko) 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
Dally Virtual-channel flow control
EP0623880B1 (en) Crossbar switch for multiprocessor system
EP0334954B1 (en) Layered network
EP0966123B1 (en) Rotator switch data path structures
JP2781623B2 (ja) メモリアクセススイッチネットワーク
US7801033B2 (en) System of virtual data channels in an integrated circuit
CN1056968A (zh) 数据单元交换机
Sivaram et al. HIPIQS: A high-performance switch architecture using input queuing
JP3206126B2 (ja) 分散クロスバー・スイッチ・アーキテクチャにおけるスイッチング・アレイ
US6700899B1 (en) Bit slice arbiter
Li et al. Efficient deterministic and probabilistic simulations of PRAMs on linear arrays with reconfigurable pipelined bus systems
Trahan et al. Optimally scaling permutation routing on reconfigurable linear arrays with optical buses
KR100317123B1 (ko) 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법
WO2017111780A1 (en) Apparatus and method for distribution of congestion information in a switch
EP4323878A1 (en) Event-driven readout system with non-priority arbitration for multichannel data sources
Nikolic et al. Distributed arbitration scheme for on‐chip CDMA bus with dynamic codeword assignment
Lee A variable round-robin arbiter for high speed buses and statistical multiplexers
Boianov et al. Higher speed transputer communication using shared memory
EP1675015B1 (en) Reconfigurable multiprocessor system particularly for digital processing of radar images
JP3031591B2 (ja) アクセス調停方式
RU2153775C1 (ru) Способ арбитража доступа группы абонентов к общим ресурсам
KR20010035805A (ko) 3차원 고속 라운드로빈 스케줄링방법
KR100236968B1 (ko) 비동기 전달 모드 상호접속 버스를 접속하기 위한 버스 중재 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee