맞춤기술찾기

이전대상기술

동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치 및 이를 이용한 프로세싱 방법

  • 기술번호 : KST2015083842
  • 담당센터 : 대전기술혁신센터
  • 전화번호 : 042-610-2279
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 본 발명은 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크에 관한 것으로, 본 발명은, 특정 어플리케이션으로부터 전달된 단위 작업들을 그 단위 작업에 포함된 단위 작업 정보에 따라 그 처리 순서를 재정의하고, 재정의된 처리 순서에 따라 단위 작업들을 쓰레드 풀에 전달하여 병렬 처리하는 작업 스케줄러와, 특정 어플리케이션이 수행되는 장치를 검출하여 그 어플리케이션 내부에서 사용되는 리소스를 정의하는 디바이스 나열자와, 작업 스케줄러 또는 디바이스 나열자를 통해 수행되는 특정 어플리케이션에 관련된 리소스를 관리하는 리소스 매니저와, 특정 어플리케이션에 관련된 각종 기능들을 수행하는 다수의 모듈들을 플러그인 형태로 관리하고, 이러한 플러그인 모듈을 상기 작업 스케줄러로 제공하는 플러그인 매니저를 포함하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 구현함으로써, 병렬 처리 기반의 응용 프로그램 개발 시간 및 비용을 단축하고, 병렬 처리 프레임워크의 재활용성을 극대화할 수 있는 것이다. 멀티 쓰레딩 프레임워크(Multi-threading Framework), 동적 로드 밸런싱(Dynamic Load-Balancing)
Int. CL G06F 9/46 (2006.01)
CPC
출원번호/일자 1020070128076 (2007.12.11)
출원인 한국전자통신연구원
등록번호/일자 10-0962531-0000 (2010.06.03)
공개번호/일자 10-2009-0061177 (2009.06.16) 문서열기
공고번호/일자 (20100615) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 소멸
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2007.12.11)
심사청구항수 20

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 손강민 대한민국 경기 안산시 단원구
2 정용남 대한민국 서울 동작구
3 류성원 대한민국 대전 유성구
4 박창준 대한민국 대전 유성구
5 양광호 대한민국 충남 계룡시

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 장성구 대한민국 서울특별시 서초구 마방로 ** (양재동, 동원F&B빌딩)(제일특허법인(유))
2 김원준 대한민국 서울특별시 서초구 마방로 ** (양재동, 동원F&B빌딩)(제일특허법인(유))

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국전자통신연구원 대한민국 대전광역시 유성구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2007.12.11 수리 (Accepted) 1-1-2007-0888770-54
2 선행기술조사의뢰서
Request for Prior Art Search
2008.06.11 수리 (Accepted) 9-1-9999-9999999-89
3 선행기술조사보고서
Report of Prior Art Search
2008.07.15 수리 (Accepted) 9-1-2008-0045514-87
4 의견제출통지서
Notification of reason for refusal
2009.04.08 발송처리완료 (Completion of Transmission) 9-5-2009-0149966-33
5 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2009.05.14 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2009-0289735-07
6 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2009.05.14 수리 (Accepted) 1-1-2009-0289736-42
7 출원인정보변경(경정)신고서
Notification of change of applicant's information
2009.08.04 수리 (Accepted) 4-1-2009-5150899-36
8 의견제출통지서
Notification of reason for refusal
2009.10.19 발송처리완료 (Completion of Transmission) 9-5-2009-0429249-16
9 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2009.12.14 수리 (Accepted) 1-1-2009-0770824-12
10 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2009.12.14 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2009-0770820-30
11 심사처리보류(연기)보고서
Report of Deferment (Postponement) of Processing of Examination
2010.04.30 발송처리완료 (Completion of Transmission) 9-6-2010-0005562-51
12 등록결정서
Decision to grant
2010.05.28 발송처리완료 (Completion of Transmission) 9-5-2010-0228717-82
13 출원인정보변경(경정)신고서
Notification of change of applicant's information
2015.02.02 수리 (Accepted) 4-1-2015-0006137-44
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
멀티 쓰레드 프로그래밍을 수행하기 위한 멀티 쓰레딩 프레임워크를 수행하는 장치로서, 특정 어플리케이션으로부터 전달된 단위 작업들을 단위 작업 정보에 따라 처리 순서를 재정의하고, 상기 재정의된 처리 순서에 따라 상기 단위 작업들을 쓰레드 풀에 전달하여 병렬 처리하는 작업 스케줄러와, 상기 특정 어플리케이션이 수행되는 장치를 검출하여 그 내부에서 사용되는 리소스를 정의하는 디바이스 나열자와, 상기 디바이스 나열자를 통해 정의된 상기 리소스를 관리하는 리소스 매니저와, 상기 특정 어플리케이션을 수행하는 다수의 모듈들을 플러그인 형태로 관리하고, 상기 플러그인 형태로 관리되는 플러그인 모듈을 상기 작업 스케줄러로 제공하는 플러그인 매니저 를 포함하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
2 2
제 1 항에 있어서, 상기 멀티 쓰레딩 프레임워크를 수행하는 장치는, 상기 멀티 쓰레딩 프레임워크의 메모리 단편화(memory fragmentation)를 포함하는 메모리 관련 문제를 방지하기 위한 메모리 관리를 수행하는 메모리 매니저 를 더 포함하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
3 3
제 1 항 또는 제 2 항에 있어서, 상기 특정 어플리케이션은, 작성된 게임 코드를 이용하여 상기 멀티 쓰레딩 프레임워크에 가상함수(virtual function)로 오버라이딩(over-writing)하여 사용하며, 각종 어플리케이션에 대한 초기화, 입력값 갱신, 입력값 가공 처리, 상태 업데이트 및 종료와 관련된 기능을 수행하고, 이로부터 필요한 단위 작업을 구성하여 상기 작업 스케줄러로 제공하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
4 4
제 3 항에 있어서, 상기 특정 어플리케이션은, 상기 멀티 쓰레딩 프레임워크를 기반으로 동작하는 각종 어플리케이션에 대한 초기화 기능을 수행하는 초기화부와, 상기 특정 어플리케이션에 대한 각 루프마다 입력값을 갱신하고, 상기 갱신된 입력값을 상기 특정 어플리케이션에 따라 가공 처리하며, 게임 관련 상태의 업데이트를 수행하는 게임 루프부와, 상기 특정 어플리케이션의 종료 시 메모리 정리 및 네트워크 접속 종료를 포함하는 종료 프로세스를 처리하는 종료부 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
5 5
제 4 항에 있어서, 상기 게임 루프부는, 상기 특정 어플리케이션에 대한 매 루프마다 사용자의 입력 및 네트워크 입력을 포함하는 입력값을 갱신하는 업데이트 입력부와, 상기 업데이트 입력부로부터 수거된 입력값을 어플리케이션에 따라 가공 처리하는 프로세스 입력부와, 상기 특정 어플리케이션에 대한 게임 애니메이션, 물리 시뮬레이션, 인공지능 업데이트 및 화면 갱신을 포함하는 게임 관련 상태의 업데이트를 수행하는 게임 업데이트부 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
6 6
제 1 항 또는 제 2 항에 있어서, 상기 작업 스케줄러는, 플랫폼의 코어 개수에 따라 싱글 쓰레드 모드 또는 멀티 쓰레드 모드를 수행하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
7 7
제 6 항에 있어서, 상기 작업 스케줄러는, 상기 싱글 쓰레드 모드에서 기 설정된 초당 프레임수에 따라 런타임 옵션 레벨을 증가 또는 감소시킨 후에, 해당 단위 작업의 옵션 레벨과 상기 증가 또는 감소된 런타임 옵션 레벨을 비교하여 상기 단위 작업을 수행 또는 취소하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
8 8
제 6 항에 있어서, 상기 작업 스케줄러는, 상기 멀티 쓰레드 모드에서 상기 멀티 쓰레딩 프레임워크의 동작 종료, 단위 작업의 유효성 검사 및 입력된 단위 작업의 저장을 수행함과 동시에 작업 큐의 검사, 사용 가능한 쓰레드 존재 여부 체크 및 작업 스케줄링을 수행하여 병렬 처리하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
9 9
제 8 항에 있어서, 상기 작업 스케줄링은, 기 설정된 초당 프레임수와 CPU 부하에 따라 상기 쓰레드 풀의 용량을 증가 또는 감소시키거나 런타임 옵션 레벨을 증가 또는 감소시킨 후에, 상기 옵션 레벨 및 런타임 옵션 레벨을 비교하여 상기 단위 작업을 수행 또는 취소하는 방식으로 수행되는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
10 10
제 9 항에 있어서, 상기 단위 작업들은, 글로벌 시리얼 번호, 로컬 시리얼 번호, 상기 옵션 레벨 및 정의된 작업 정보를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
11 11
제 1 항 또는 제 2 항에 있어서, 상기 플러그인 모듈은, 상기 단위 작업들에 사용하는 기능들을 모듈 단위로 구현 및 배치하여 특정 엔진을 구성하는 것을 특징으로 하는 동적 로드 배런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
12 12
제 11 항에 있어서, 상기 플러그인 모듈은, 상기 특정 어플리케이션에 대해 DirectX 또는 OpenGL을 포함하는 그래픽 라이브러리를 통해 화면에 폴리곤을 랜더링하는 기능을 수행하는 플러그인과, 상기 특정 어플리케이션에 대한 사실적 표현을 수행하도록 물리 시뮬레이션을 담당하는 역할을 수행하는 플러그인과, 상기 특정 어플리케이션에 사용되는 NPC(Non-Player Character)의 자동 제어를 수행하는 플러그인과, 상기 특정 어플리케이션의 구성을 소스 코드의 수정 없이 외부에서 변형 가능하도록 하는 인터페이스를 제공하고, 스크립트 언어를 사용할 수 있도록 다양한 인터페이스를 지원하는 역할을 수행하는 플러그인과, 상기 특정 어플리케이션에 대한 부가 기능들을 정의한 플러그인 을 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 수행하는 장치
13 13
멀티 쓰레드 프로그래밍을 수행하기 위한 멀티 쓰레딩 프레임워크를 이용하여 프로세싱을 수행하는 방법으로서, 상기 멀티 쓰레딩 프레임워크의 플랫폼의 코어 개수에 따라 싱글 쓰레드 모드 또는 멀티 쓰레드 모드로 전환하는 제 1 단계와, 상기 싱글 쓰레드 모드일 경우 기 설정된 초당 프레임수에 따라 런타임 옵션 레벨을 증가 또는 감소시킨 후에, 해당 단위 작업의 옵션 레벨과 상기 증가 또는 감소된 런타임 옵션 레벨을 비교하여 상기 단위 작업을 수행 또는 취소하는 제 2 단계와, 상기 멀티 쓰레드 모드일 경우 상기 멀티 쓰레딩 프레임워크의 동작 종료, 단위 작업의 입력 유무 검사 및 입력된 단위 작업의 저장을 수행함과 동시에 작업 큐의 검사, 사용 가능한 쓰레드 존재 여부 체크 및 작업 스케줄링을 수행하는 제 3 단계 를 포함하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
14 14
제 13 항에 있어서, 상기 프로세싱 방법은, 상기 제 3 단계 이후에, 상기 기 설정된 초당 프레임수와 CPU 부하에 따라 상기 쓰레드 풀의 용량을 증가 또는 감소시키거나 상기 런타임 옵션 레벨을 증가 또는 감소시킨 후에, 상기 옵션 레벨 및 런타임 옵션 레벨을 비교하여 상기 단위 작업을 수행 또는 취소하는 제 4 단계 를 더 포함하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
15 15
제 13 항 또는 제 14 항에 있어서, 상기 제 1 단계는, 상기 멀티 쓰레딩 프레임워크의 초기화 모드에서 특정 어플리케이션이 동작할 경우 현재 플랫폼의 코어 개수를 측정하는 1-1단계와, 상기 측정된 현재 플랫폼의 코어 개수가 1보다 큰 값인지를 체크하는 1-2단계와, 상기 측정된 현재 플랫폼의 코어 개수가 1인 경우 상기싱글 쓰레드 모드로 동작하는 1-3단계와, 상기 측정된 현재 플랫폼의 코어 개수가 1보다 큰 값인 경우 상기 특정 어플리케이션이 동작 중인 메인 쓰레드를 제외한 n-1개의 쓰레드를 쓰레드 풀에 생성한 후, 상기 멀티 쓰레드 모드로 동작하는 1-4단계 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
16 16
제 13 항 또는 제 14 항에 있어서, 상기 제 2 단계는, 상기 기 설정된 초당 프레임수에 따라 상기 런타임 옵션 레벨을 증가 또는 감소시킨 후에, 상기 멀티 쓰레딩 프레임워크의 작업 큐에 상기 단위 작업의 입력이 있는지를 체크하는 2-1 단계와, 상기 단위 작업의 입력이 있을 경우 해당 단위 작업의 옵션 레벨과 상기 증가 또는 감소시킨 런타임 옵션 레벨을 비교하는 2-2 단계와, 상기 단위 작업의 옵션 레벨이 상기 런타임 옵션 레벨을 초과하지 않은 경우 상기 단위 작업을 실행하고, 상기 단위 작업의 옵션 레벨이 상기 런타임 옵션 레벨을 초과한 경우 상기 단위 작업을 취소하는 2-3 단계 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
17 17
제 16 항에 있어서, 상기 제 2-1 단계는, 상기 멀티 쓰레딩 프레임워크의 초당 프레임수가 상기 기 설정된 초당 프레임수보다 낮은지를 체크하는 단계와, 상기 초당 프레임수가 낮지 않고, 일정 수준의 초당 프레임수를 유지하면 상기 런타임 옵션 레벨을 증가시키는 단계와, 상기 초당 프레임수가 상기 기 설정된 초당 프레임수보다 낮으면 상기 런타임 옵션 레벨을 감소시키는 단계 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
18 18
제 13 항 또는 제 14 항에 있어서, 상기 제 3 단계는, 상기 멀티 쓰레딩 프레임워크의 동작 종료 신호 여부를 체크한 후에 상기 동작 종료 신호가 없을 경우 상기 단위 작업의 입력이 있는지를 체크하는 제 3-1 단계와, 상기 단위 작업의 입력이 없을 경우 상기 동작 종료 신호 여부의 체크를 재수행하고, 상기 단위 작업의 입력이 있을 경우 상기 단위 작업을 작업 큐에 저장하는 제 3-2 단계와, 상기 제 3-1 단계 및 제 3-2 단계의 수행과 동시에 상기 작업 큐에 수행될 단위 작업이 있는지를 체크하는 제 3-3 단계와, 상기 작업 큐에 수행될 단위 작업이 존재할 경우 상기 쓰레드 풀에 사용 가능한 유휴 쓰레드(idle thread)가 있는지를 체크하는 제 3-4 단계와, 상기 쓰레드 풀에 사용 가능한 쓰레드가 있을 경우 상기 유휴 쓰레드를 이용하여 작업 스케줄링을 수행하는 제 3-5 단계 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
19 19
제 14 항에 있어서, 상기 제 4 단계는, 상기 멀티 쓰레딩 프레임워크의 초당 프레임수가 상기 기 설정된 초당 프레임수보다 낮은 경우 상기 멀티 쓰레딩 프레임워크의 CPU 부하에 여유가 있는지를 체크하는 제 4-1 단계와, 상기 CPU 부하에 여유가 없을 경우 상기 쓰레드 풀의 용량이 '최초 설정된 코어 개수-1'을 초과했는지 체크하는 제 4-2 단계와, 상기 쓰레드 풀의 용량이 '최초 설정된 코어 개수-1'을 초과하지 않은 경우 상기 런타임 옵션 레벨을 감소시키는 제 4-3 단계와, 상기 쓰레드 풀의 용량이 '최초 설정된 코어 개수-1'을 초과한 경우 상기 쓰레드 풀의 용량을 감소시키는 제 4-4 단계와, 상기 CPU 부하에 여유가 있을 경우 상기 쓰레드 풀 용량을 증가시키는 제 4-5 단계와, 상기 초당 프레임수가 낮지 않고 일정 수준의 초당 프레임수를 유지하는 경우 상기 CPU 부하에 여유가 있을 경우에만 선택적으로 상기 런타임 옵션 레벨을 증가시키는 제 4-6 단계와, 상기 옵션 레벨과 상기 증가 또는 감소된 런타임 옵션 레벨을 비교하여 상기 단위 작업을 수행 또는 취소하는 제 4-7 단계 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
20 20
제 19 항에 있어서, 상기 제 4-7 단계는, 상기 쓰레드 풀의 용량 및 런타임 옵션 레벨을 조정한 후에 상기 작업 큐에 저장된 상기 단위 작업을 추출하는 단계와, 상기 추출된 단위 작업의 옵션 레벨이 상기 런타임 옵션 레벨을 초과하는지를 체크하는 단계와, 상기 단위 작업의 옵션 레벨이 상기 런타임 옵션 레벨을 초과하지 않은 경우 상기 단위 작업을 유휴 쓰레드에 할당하여 수행하는 단계와, 상기 단위 작업의 옵션 레벨이 상기 런타임 옵션 레벨을 초과한 경우 상기 단위 작업을 취소하는 단계 를 포함하는 것을 특징으로 하는 동적 로드 밸런싱을 지원하는 멀티 쓰레딩 프레임워크를 이용한 프로세싱 방법
지정국 정보가 없습니다
순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - 패밀리정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 US20090150898 US 미국 FAMILY

DOCDB 패밀리 정보

순번, 패밀리번호, 국가코드, 국가명, 종류의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 패밀리정보 - DOCDB 패밀리 정보 표입니다.
순번 패밀리번호 국가코드 국가명 종류
1 US2009150898 US 미국 DOCDBFAMILY
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 정보통신부 한국전자통신연구원 IT성장동력기술개발 멀티코아 CPU 및 MPU기반 크롯플랫폼 게임기술 개발