KR100654414B1 - 태스크관리장치 및 그 방법, 태스크관리프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 - Google Patents
태스크관리장치 및 그 방법, 태스크관리프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 Download PDFInfo
- Publication number
- KR100654414B1 KR100654414B1 KR1020047014864A KR20047014864A KR100654414B1 KR 100654414 B1 KR100654414 B1 KR 100654414B1 KR 1020047014864 A KR1020047014864 A KR 1020047014864A KR 20047014864 A KR20047014864 A KR 20047014864A KR 100654414 B1 KR100654414 B1 KR 100654414B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- guarantee
- controllable
- tasks
- determination
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 태스크의 지연보증과 태스크의 효율적인 실행을 양립하는 것이다. 태스크(A1, A2, A3) 그 자체를 보증부분과 제어가능부분으로 나누어, 후자를 제어가능, 즉 경우에 따라 삭제할 수 있는 부분으로서 처리한다. 예약이 끝난 태스크(A1, A2)의 처리레벨을, 제어가능부분을 포함하는 경우와 포함하지 않는 경우의 양자 사이에서 가상적으로 변경하면서 신규로 예약요구가 이루어진 태스크(A3)의 실행 가능성을 판정함과 동시에, 실행가능하다고 판정된 처리레벨에서 실행대상이 되는 태스크 (A1, A2, A3)의 선택을 실행하도록 하였다. 예약이 끝난 태스크(A1, A2)에 대하여 품질을 조정함으로써, 신규로 예약요구가 이루어진 태스크(A3)를 접수하여 실행할 수 있어, 태스크의 지연보증과 태스크의 효율적인 실행을 양립할 수 있다.
Description
본 발명은, 멀티 태스크시스템에 있어서, 시스템의 리소스량에 따른 실행보증기능을 가지는 태스크관리장치 및 프로그램의 실행 가능성을 판정하는 장치에 관한 것이다.
컴퓨터간 통신에 있어서, 동화상이나 음성이라는 실시간정보의 통신을 행하고 싶다는 요구는 최근 한층 더 증가하고 있다. 동화상이나 음성을 처리하는 실시간 통신단말에서는, 예를 들면 상대측의 단말로부터 동화상이나 음성이라는 정보를 수신하는 태스크, 수신한 정보를 표시하는 태스크, 상대측의 단말에 대하여 정보를 송신하는 태스크 등의 복수의 태스크를 실행하지 않으면 안된다. 따라서 이 단말은 실시간 처리를 필요로 하는 복수의 태스크를 실행하는 멀티 태스크시스템이 되어, 이와 같은 멀티 태스크시스템에 있어서 서비스품질(Qos ; Quality of service)의 보증이 필요하게 된다.
이와 같은 멀티 태스크시스템에 있어서, 서비스품질을 보증하는 기술로서는 OS(0perating system)의 태스크 우선도 설정기능을 사용하여 동화상이나 음성이라 는 정보를 처리하는 실시간성을 요구받는 태스크의 우선도를 다른 태스크보다 높게 설정하여 지연요구가 엄격한 태스크의 처리를 우선시킨다는 방법이 일반적으로 사용되고 있다. 또 서비스품질을 보증하는 다른 기술로서 실행종료 목표시각이 설정된 태스크에 대하여 그 실행종료 목표시각이 가까워질수록 우선도를 올려 우선적으로 처리함으로써 태스크처리를 실행종료 목표시각까지 완료시킨다는 방법도 제안되어 있다(일본국 특개소62-284437호 공보).
또, 지연보증이 필요한 모든 태스크의 지연을 보증하여 태스크의 실행을 제어함으로써, 어플리케이션프로그램의 서비스품질을 제어하는 태스크관리방법으로서, 주기적인 실행 및 실행시로부터의 지연보증이 필요한 태스크를 실행하는 멀티 태스크시스템(예를 들면 일본국 특개평10-171667호 공보)이 제안되어 있다. 또 멀티 태스크시스템에 있어서, 실제의 태스크의 처리시간에 의거하여 각 태스크에 설정된 요구처리시간과 허용지연시간을 자동적으로 수정하여 태스크를 실행하는 멀티 태스크시스템(일본국 특개평11-259311호 공보)도 제안되어 있다. 또한 동작 중인 태스크의 실제의 주기 및 처리시간에 의거하여 그 태스크의 실행에 사용하는 주기, 요구처리시간 및 허용지연시간을 새롭게 산출하도록 한 것도 있다(일본국 특개2000-56989호 공보).
그러나 어느 쪽의 종래기술도 실행의 예약이 요구되어 있는 태스크의 소요 리소스량의 합계가, 그 시점에서 시스템이 제공 가능한 리소스량을 상회하는 경우에는 처리능력을 초과한 태스크를 시스템이 실행하려고 하여 우선도가 낮은 태스크나 신규로 실행의 예약이 요구된 태스크를 실행할 수 없는, 또는 모든 태스크를 실 행할 수 없거나, 지연이 허용되는 소정의 데드라인 내에 실행할 수 없게 된다.
예를 들면, 도 9(a)에 나타내는 바와 같이, 어느 시점에서 시스템을 제공할 수 있는 리소스량(R1)이, 요구되어 있는 태스크의 합계의 소요 리소스량이 r1 + r2보다 큰 경우에는, 시스템은 실행이 요구되어 있는 모든 태스크를 실행할 수 있다. 그러나 이 상태로부터, 도 9(b)에 나타내는 바와 같이 소요 리소스량(r3)의 추가 태스크의 처리가 요구된 경우에는, 합계의 소요 리소스량(r1 + r2 + r3)을 제공할 수 있는 리소스량(R1)을 상회하기 때문에, 추가 태스크의 접수가 거부(reject)되거나, 또는 모든 태스크의 접수가 거부되게 된다.
또 도 10(a) ∼ 도 10(c)에 나타내는 바와 같이, 주기가 S1, 요구처리시간이T1, 데드라인(그 시간 내에서 처리가 완료되면 품질이 만족되는 허용시간, 허용지연시간)이 H1로 설정된 태스크(A1, A2, A3)가 있는 경우에 대하여 보면, 태스크(A1) 및 태스크(A2)는, 양자를 이 순서로 실행하는 경우에 각각의 데드라인을 만족(데드라인이전에 처리를 종료)할 수 있기 때문에, 모두 실행 가능하다. 그러나 태스크(A1, A2, A3)를 이 순서로 실행하는 경우에는, 태스크(A1, A2)의 데드라인을 만족할 수 있어도 태스크(A3)의 데드라인을 만족할 수 없기 때문에, 태스크(A3)는 실행할 수 없게 된다.
또, 어느 어플리케이션이 실제로 동작하였다 하여도, 예를 들면 신규의 태스크[상기 태스크(A3)]가 추가된 경우나, 일부의 태스크[상기 태스크(A1, A2)]가 수정된 경우 등, 그 어플리케이션에 있어서의 태스크구성에 변경이 가해진 경우에는 변경후의 어플리케이션을 실제로 그 멀티 태스크시스템으로 동작시키지 않으면 각 태스크의 실행 가능성은 판정할 수 없다. 이 때문에 어플리케이션의 개발단계에 있어서는 시작품의 인스톨과 동작확인을 몇번이나 반복하여 행할 필요가 있어, 개발기간의 장기화의 요인이 되고, 특히 어플리케이션의 다운로드기능을 가지는 휴대전화기의 경우와 같이 송수신측이 모두 다양한 하드웨어구성을 가지는 경우에 매우 번잡하였다.
그래서, 본 발명은 태스크의 지연보증과 태스크의 효율적인 실행을 양립할 수 있는 수단을 제공하는 것을 목적으로 한다.
또, 어플리케이션 등의 판정대상 프로그램의 실행 가능성을 신속하게 판정할 수 있는 수단을 제공하는 것을 목적으로 한다.
제 1의 본 발명은, 청구항 1에 기재된 바와 같이, 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량 에 의거하여 각 태스크의 실행 가능성을 판정하는 판정수단과, 판정수단의 판정결과 에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택수단을 구비한 태스크관리장치로서, 적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분과의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득수단을 더 구비하고, 상기 판정수단은, 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하고, 상기 태스크선택수단은, 실행 가능하다고 판정된 처리레벨에서 상기 선택을 실행하는 것을 특징으로 하는 태스크관리장치이다.
태스크 중에는 예를 들면 화상에 있어서의 해상도나, 동화상에 있어서의 프레임레이트(초당 묘획수) 등, 어느 정도의 실행품질의 저하를 사용자에게 허용할 수 있는 경우가 적지 않다. 따라서, 우선도가 높은 태스크나 현재 실행 중인 태스크에 이른바 줄일 수 있는 부분이 있음에도 불구하고, 우선도가 낮은 태스크나 신규로 예약요구가 된 태스크가 거부되는 것에서는 불합리하다고 할 수 있다.
이점, 제 1의 본 발명에서는 태스크 그 자체를 보증부분과 제어가능부분으로 나누어 단계적으로 설정하고, 후자를 제어가능, 즉 경우에 따라 부가, 삭제, 증가 또는 감소할 수 있는 부분으로서 처리하기로 하였다. 즉 제 1의 본 발명에서는 판정수단이 각 태스크의 소요 리소스량에 의거하여 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 제어가능부분의 범위 내에서 가상적으로 변경하여 각 태스크의 실행 가능성을 판정함과 동시에, 태스크선택수단이, 실행 가능하다고 판정된 처리레벨에서 실행대상이 되는 태스크의 선택을 실행하도록 하였기 때문에, 시스템의 리소스량, 각 태스크의 데드라인이나 실행주기 등의 외적제약이 있는 경우에도 예약이 끝난 태스크에 대하여 품질을 조정함으로써, 우선도가 낮은 태스크나 신규로 예약요구가 된 태스크를 접수하여 실행할 수 있어, 태스크의 지연보증과 태스크의 효율적인 실행을 양립할 수 있다.
제 2의 본 발명은, 청구항 2에 기재된 바와 같이 청구항 1에 기재된 태스크관리장치에 있어서, 상기 판정수단은 적어도 어느 하나의 예약이 끝난 태스크에 있어서의 보증부분과 제어가능부분과의 양자가 실행 가능한지를 판정하는 제 1 판정수단과, 제 1 판정수단에 의하여 불가라는 판정이 있었던 경우에, 상기 예약이 끝 난 태스크에 있어서의 보증부분이 실행가능한지를 판정하는 제 2 판정수단을 구비하고, 상기 태스크선택수단은, 제 1 판정수단에 의하여 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분과 제어가능부분과의 양자를 선택하여 제 2 판정수단에 의해 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분만을 선택하는 것을 특징으로 하는 태스크관리장치이다.
제 2의 본 발명에서는, 제어가능부분의 부가 또는 삭제에 의하여 판정처리와 품질의 조정을 행하기로 하였다. 즉, 도 4(a)에 나타내는 바와 같이, 각 태스크의 소요 리소스량(r1, r2)을, 미리 보증부분에 관한 소요 리소스량(r1a, r2a)과, 제어가능부분에 대한 소요 리소스량(r1b, r2b)으로 분할하여 설정하여 두고, 예를 들면 소요 리소스량(r3)의 새로운 태스크[도 4(b)]의 등록의 요구가 있었던 경우 등에는 우선 요구되어 있는 전 태스크의 보증부분과 제어가능부분[소요 리소스량(r1 + r2 + r3)]이 실행 가능한지를 판정하여 실행 가능하다고 판정된 경우에는, 그 보증부분과 제어가능부분이 선택된다. 한편, 보증부분과 제어가능부분이 실행 불능이라고 판정된 경우, 다음에 요구되어 있는 전 태스크의 보증부분만[도 4(c), 소요 리소스량(r1 + r2 + r3)]이 실행 가능한지가 판정되어, 실행 가능하다고 판정된 경우에는 전 태스크의 보증부분만이 선택된다. 이와 같이 제 2의 본 발명에서는 제어가능부분의 부가 또는 삭제에 의하여 소요 리소스량을 조정하기 때문에, 간이한 구성에 의하여 제 1의 본 발명과 동일한 효과를 얻을 수 있다.
제 3의 본 발명에서는, 청구항 3에 기재된 바와 같이, 청구항 1에 기재된 태스크관리장치에 있어서, 상기 판정수단이, 모든 예약이 끝난 태스크에 대하여 처리 레벨을 상기 제어 가능부분의 범위 내에서 가상적으로 변경하는 것을 특징으로 하는 태스크관리장치이다.
제 3의 본 발명에서는, 처리레벨의 가상적인 변경을, 모든 예약이 끝난의 태스크에 대하여 행하기로 하였기 때문에, 큰 변경량을 취함으로써 요구 리소스량의 큰 변화를 허용할 수 있다.
본 발명에 있어서의 판정수단에 의한 판정은, 소요 리소스량의 변동이 예상되는 경우에 행하는 것이 특히 적합하며, 제 4의 본 발명과 같이 처리대상이 되는 태스크수의 변경요구가 있었던 경우에 행하기로 하거나, 제 5의 본 발명과 같이 적어도 어느 하나의 태스크에 대하여 파라미터의 변경요구가 있었던 경우에 행하는 것으로 하여도 좋다. 또 제 5의 본 발명에 있어서의 파라미터는, 제 6의 본 발명과 같이 상기적어도 어느 하나의 태스크의 데드라인으로 하거나, 제 7의 본 발명과 같이 상기 적어도 어느 하나의 태스크의 실행주기로 하는 것이 적합하다.
제 8의 본 발명은, 청구항 8에 기재된 바와 같이 청구항 1에 기재된 태스크관리장치에 있어서, 적어도 어느 하나의 태스크에 대하여 그 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 취득하는 보증대상 식별자 취득수단을 더 구비하고, 상기 태스크선택수단이 상기 보증대상 식별자를 이용하여 상기 선택을 행하는 것을 특징으로 하는 태스크관리장치이다.
제 8의 본 발명에서는, 태스크선택수단이 보증대상 식별자의 이용에 의하여 실행대상이 되는 태스크를 선택할 수 있기 때문에, 간이한 구성에 의하여 제 1의 본 발명과 동일한 효과를 얻을 수 있다.
제 9의 본 발명은, 청구항 9에 기재된 바와 같이, 청구항 1에 기재된 태스크관리장치에 있어서, 적어도 어느 하나의 태스크에 포함되는 복수의 제어가능부분에 부여된 이들 복수의 제어가능부분의 선택순위를 식별하기 위한 순위 식별자를 취득하는 순위 식별자 취득수단을 더 구비하고, 상기 판정수단이, 판정대상이 되는 태스크 중 선택되는 제어가능부분을 상기 순위 식별자를 이용하여 그 선택순위에 따라 선택함과 동시에, 그 선택 및 상기 판정을 상기 선택의 대상을 바꾸면서 시행하는 것을 특징으로 하는 태스크관리장치이다.
제 9의 본 발명에서는 판정수단이, 판정대상이 되는 태스크에 있어서의 제어가능부분을 순위 식별자를 이용하여그 선택순위에 따라 선택함과 동시에, 그 선택 및 상기 판정을 선택의 대상을 변경하면서 시행함으로써 그 태스크에 관한 소요 리소스량을 더욱 상세하게 조정할 수 있다.
제 10의 본 발명은, 청구항 10에 기재된 바와 같이, 청구항 1에 기재된 태스크관리장치에 있어서, 소정의 주 태스크와, 상기 주 태스크의 실행이 실행의 조건이 되는 종태스크를 식별하기 위한 주종 태스크 식별자를 취득하는 주종 태스크 식별자 취득수단을 더 구비하고, 상기 판정수단 및 상기 태스크선택수단이, 상기 주종 태스크 식별자를 이용하여, 상기 주 태스크를 상기 보증부분으로서 처리하고, 상기 종 태스크를 상기 제어가능부분으로서 처리하는 것을 특징으로 하는 태스크관리장치이다.
제 10의 본 발명에서는, 서로 주종관계가 있는 복수의 태스크를, 주종 태스크식별자의 이용에 의하여 보증부분이나 제어가능부분으로서 처리할 수 있기 때문 에, 태스크 내에서의 제어가능부분의 처리와 태스크 사이에서의 주종관계의 처리를 공통의 알고리즘으로 실행할 수 있다.
제 11의 본 발명은, 청구항 11에 기재된 바와 같이 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량 에 의거하여 각 태스크의 실행 가능성을 판정하는 판정단계와, 판정단계의 판정결과 에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택단계를 포함하는 태스크관리방법으로서, 적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분과의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득단계를 더 포함하고, 상기 판정단계에서는 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하여, 상기 태스크선택단계에서는 실행 가능하다고 판정된 처리레벨에서 상기 선택을 실행하는 것을 특징으로 하는 태스크관리방법이다. 제 11의 본 발명에 의하면, 제 1의 본 발명과 동일한 효과를 얻을 수 있다.
제 12의 본 발명은, 청구항 12에 기재된 바와 같이, 청구항 11에 기재된 태스크관리방법에 있어서, 적어도 어느 하나의 태스크에 대하여 그 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 취득하는 보증대상 식별자 취득단계를 더 포함하고, 상기 태스크선택단계에서는, 상기 보증대상 식별자를 이용하여 상기 선택을 행하는 것을 특징으로 하는 태스크관리방법이다. 제 12의 본 발명에 의하면, 제 8의 본 발명과 동일한 효과를 얻을 수 있다.
제 13의 본 발명은, 청구항 13에 기재된 바와 같이, 청구항 11에 기재된 태 스크관리방법에 있어서, 적어도 어느 하나의 태스크에 포함되는 복수의 제어가능부분에 부여된 이들 복수의 제어가능부분의 선택순위를 식별하기 위한 순위 식별자를 취득하는 순위 식별자 취득단계를 더 포함하고, 상기 판정단계에서는, 판정대상이 되는 태스크 중 선택되는 제어가능부분을 상기 순위 식별자를 이용하여 그 선택순위에 따라 선택함과 동시에, 그 선택 및 상기 판정을 상기 선택의 대상을 바꾸면서 시행하는 것을 특징으로 하는 태스크관리방법이다. 제 13의 본 발명에 의하면, 제 9의 본 발명과 동일한 효과를 얻을 수 있다.
제 14의 본 발명은, 청구항 14에 기재된 바와 같이, 청구항 11에 기재된 태스크관리방법에 있어서, 소정의 주 태스크와, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 식별하기 위한 주종 태스크 식별자를 취득하는 주종 태스크 식별자취득단계를 더 포함하고, 상기 판정단계 및 상기 태스크선택단계에서는 상기 주종 태스크 식별자를 이용하여, 상기 주 태스크를 상기 보증부분으로서 처리하고, 상기 종태스크를 상기 제어가능부분으로서 처리하는 것을 특징으로 하는 태스크관리방법이다. 제 14의 본 발명에 의하면, 제 10의 본 발명과 동일한 효과를 얻을 수 있다.
제 15의 본 발명은, 청구항 15에 기재된 바와 같이 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량 에 의거하여 각 태스크의 실행 가능성을 판정하는 판정처리와, 판정처리의 판정결과 에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택처리를 상기 시스템에 실행시키기 위한 프로그램에 있어서, 적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분과의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득처리를 더 포함하고, 상기 판정처리에서는 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하고, 상기 태스크선택처리에서는 실행가능하다고 판정된 처리레벨에서 상기 선택을 실행하는 것을 특징으로 하는 프로그램이다. 제 15의 본 발명에서는 제 1 본 발명과 동일한 효과를 얻을 수 있다.
본 발명의 태스크관리방법과 관련하여 사용되는 프로그램은, 제 16의 본 발명과 같이, 태스크의 처리레벨의 변경 전후의 소요 리소스량을 저장하는 소요 리소스량정보저장수단을 구비하는 것으로 하거나, 제 17의 본 발명과 같이, 태스크의 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 구비하는 것으로 하거나, 제18의 본 발명과 같이, 태스크에 포함되는 복수의 제어가능부분의 순위를 식별하기 위한 순위 식별자를 구비하는 것으로 하면, 실행되는 프로그램과 이것에 포함되는 태스크의 여러가지 정보를 쌍으로 하여 처리할 수 있어 아주 적합하다.
또, 본 발명의 태스크관리방법과 관련하여 사용되는 프로그램은, 제 19의 본 발명과 같이, 소정의 주 태스크를 보증부분으로서 상기 시스템에 인식시키고, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 제어가능부분으로서 상기 시스템에 인식시키도록, 상기 보증대상 식별자를 구비하는 것으로 하면, 서로 주종관계가있는 복수의 태스크를, 주종 태스크 식별자의 이용에 의하여 보증부분이나 제어가능부분으로서 처리할 수 있기 때문에, 태스크 내에서의 제어가능부분의 처리와 태스크사이에서의 주종관계의 처리를 공통의 알고리즘으로 실행할 수 있다. 한편 제 20의 본 발명과 같이, 보증대상 식별자 대신에, 주종관계의 처리를 위한 주종 태스크 식별자를 구비하는 것으로 하여도 좋다.
제 21의 본 발명은, 청구항 21에 기재된 바와 같이, 복수의 태스크를 포함하는 프로그램을 대상으로 시스템에 있어서의 실행 가능성을 판정하는 동작판정장치에 있어서, 판정대상 프로그램을 구성하는 태스크의 정보를 구성정보로서 취득하는 구성정보 취득수단과, 상기 구성정보에 의거하여 동시에 실행됨으로써 단일기능이 될 수 있는 상기 태스크의 조합을 추출하는 기능 추출수단과, 상기 태스크의 각각에 대하여 실행에 필요한 리소스량의 정보를 취득하는 소요 리소스량 정보 취득수단과, 상기 추출된 태스크의 조합과, 상기 소요 리소스량 정보에 의거하여 상기 판정대상 프로그램이가지는 모든 기능에 대하여 실행 가능성을 판정하는 판정수단을 구비한 동작판정장치이다.
제 21의 본 발명에서는, 판정대상 프로그램에 있어서의 구성정보, 즉 태스크사이의 관련성에 관한 정보와, 각 태스크의 소요 리소스량 정보를 취득하여 두고, 이들 정보에 의거하여, 기능 추출수단이 동시에 실행됨으로써 단일기능이 될 수 있는 태스크의 조합을 추출한다. 그리고 판정수단은 추출된 태스크의 조합과, 소요 리소스량 정보에 의거하여 판정대상 프로그램이 가지는 모든 기능에 대하여 실행 가능성을 판정한다. 따라서 제 21의 본 발명에서는, 판정대상 프로그램의 동작을 실제로 행하는 일 없이 실행 가능성을 판정할 수 있기 때문에, 실행 가능성의 판정을 신속화할 수 있다.
제 22의 본 발명은, 청구항 22에 기재된 바와 같이 청구항 21에 기재된 동작 판정장치에 있어서, 상기 복수의 태스크 중 소요 리소스량이 제어 가능한 가변 태스크에 대하여, 그 소요 리소스량을 보정하는 소요 리소스량 보정수단을 더 구비하고, 상기 판정수단은, 실행 불가능이라는 판정이 있었던 경우에, 상기 추출된 태스크의 조합과, 상기 보정후의 소요 리소스량에 의거하여 상기 판정대상 프로그램이 가지는 모든 기능에 대하여 실행 가능성을 다시 판정하는 것을 특징으로 하는 동작판정장치이다.
제 22의 본 발명에서는, 판정수단에 의하여 실행 불가능이라는 판정이 있었던 경우에, 소요 리소스량 보정수단이 가변 태스크에 대한 소요 리소스량을 보정하고, 보정후의 소요 리소스량에 의거하여 실행 가능성이 다시 판정된다. 따라서 일단 실행 불가능이라는 판정이 이루어진 경우에도, 서비스품질의 약간의 변경에 의하여 실행 가능하게 되는 경우에, 그와 같은 변경의 실현에 의하여 동작확인의 공정수를 줄일 수 있다.
제 23의 본 발명은, 청구항 23에 기재된 바와 같이, 청구항 21에 기재된 동작판정장치에 있어서, 상기 판정수단이 상기 시스템에 있어서 복수의 판정대상프로그램을 병행 동작시키는 경우의 실행 가능성을 판정하는 것을 특징으로 하는 동작판정장치이다.
제 23의 본 발명에서는, 복수의 판정대상프로그램을 병행 동작시키는 경우의 실행 가능성을 판정하기 때문에, 판정대상프로그램의 실행시의 외적조건을 잘 재현할 수 있어 정확한 동작판정을 행할 수 있다.
제 24의 본 발명은, 청구항 24에 기재된 바와 같이, 복수의 태스크를 포함하 는 프로그램을 대상으로 시스템에 있어서의 실행 가능성을 판정하는 동작판정방법에 있어서, 판정대상프로그램을 구성하는 태스크의 정보를 구성정보로서 취득하는 구성정보 취득단계와, 상기 구성정보에 의거하여 동시에 실행됨으로써 단일기능이 될 수 있는 상기 태스크의 조합을 추출하는 기능 추출단계와, 상기 태스크의 각각에 대하여 실행에 필요한 리소스량의 정보를 취득하는 소요 리소스량 정보 취득단계와, 상기 추출된 태스크의 조합과, 상기 소요 리소스량 정보에 의거하여 상기 판정대상프로그램이 가지는 모든 기능에 대하여 실행 가능성을 판정하는 판정단계를 포함하는 동작판정방법이다. 제 24의 본 발명에서는, 제 21의 본 발명과 동일한 효과를 실현할 수 있다.
제 25의 본 발명은, 청구항 25에 기재된 바와 같이, 청구항 24에 기재된 동작판정방법에 있어서, 상기 복수의 태스크 중 소요 리소스량이 제어 가능한 가변 태스크에 대하여, 그 소요 리소스량을 보정하는 소요 리소스량 보정단계를 더 포함하고, 상기 판정단계에서는 실행 불가능이라는 판정이 있었던 경우에, 상기 추출된 태스크의 조합과, 상기 보정후의 소요 리소스량에 의거하여 상기 판정대상프로그램이 가지는 모든 기능에 대하여 실행 가능성을 다시 판정하는 것을 특징으로 하는 동작판정방법이다. 제 25의 본 발명에서는, 제 22의 본 발명과 동일한 효과를 실현할 수 있다.
제 26의 본 발명은, 청구항 26에 기재된 바와 같이 청구항 24에 기재된 동작판정방법에 있어서, 상기 판정단계에서는 상기 시스템에 있어서 복수의 판정대상 프로그램을 병행 동작시키는 경우의 실행 가능성을 판정하는 것을 특징으로 하는 동작판정방법이다. 제 26의 본 발명에서는, 제 23의 본 발명과 동일한 효과를 실현할 수 있다.
제 27의 본 발명은, 청구항 27에 기재된 바와 같이 복수의 태스크를 포함하는 프로그램을 대상으로 시스템에 있어서의 실행 가능성을 컴퓨터에 판정시키기 위한 동작판정 프로그램으로서, 판정대상 프로그램을 구성하는 태스크의 정보를 구성정보로서 취득하는 구성정보 취득처리와, 상기 구성정보에 의거하여, 동시에 실행됨으로써 단일기능이 될 수 있는 상기 태스크의 조합을 추출하는 기능 추출처리와, 상기 태스크의 각각에 대하여 실행에 필요한 리소스량의 정보를 취득하는 소요 리소스량 정보취득처리와, 상기 추출된 태스크의 조합과, 상기 소요 리소스량 정보에 의거하여 상기 판정대상 프로그램이 가지는 모든 기능에 대하여 실행 가능성을 판정하는 판정처리를 컴퓨터에 실행시키기 위한 동작판정프로그램이다. 제 27의 본 발명에서는 제 21의 본 발명과 동일한 효과를 얻을 수 있다.
본 발명의 태스크관리장치와 관련하여 사용되는 프로그램은, 제 28의 본 발명과 같이, 그 판정대상 프로그램의 구성정보를 저장하는 구성정보 저장수단을 구비하는 것으로 하거나, 제 29의 본 발명과 같이, 기능마다 실행에 필요한 리소스량의 정보를 저장하는 소요 리소스량 정보저장수단을 구비하는 것으로 하면, 실행되는 판정대상 프로그램과 이것에 포함되는 태스크의 여러가지 정보를 쌍으로 하여 처리할 수 있어 적합하다.
도 1은 본 발명의 제 1 실시형태에 관한 멀티 태스크시스템의 블럭도,
도 2는 태스크 관리테이블의 일례를 나타내는 설명도,
도 3은 제 1 실시형태에 있어서의 태스크접수처리를 나타내는 플로우도,
도 4는 본 발명의 작용을 나타내는 설명도,
도 5는 제 1 실시형태의 작용을 나타내는 설명도,
도 6은 제 1 실시형태에 있어서의 화상의 표시처리를 나타내는 플로우도,
도 7은 제 2 실시형태에 있어서의 데드라인 변경 접수처리를 나타내는 플로우도,
도 8은 제 3 실시형태에 있어서의 주기 변경 접수처리를 나타내는 플로우도,
도 9는 본 발명에 의한 개량 전의 태스크접수처리의 일례를 나타내는 설명도,
도 10은 본 발명에 의한 개량 전의 태스크접수처리의 다른 일례를 나타내는 설명도,
도 11은 본 발명의 제 4 실시형태에 관한 동작판정장치의 블럭도,
도 12는 태스크 관리테이블의 일례를 나타내는 설명도,
도 13은 제 4 실시형태에 있어서의 태스크구성의 일례를 나타내는 트리도,
도 14는 제 4 실시형태에 있어서의 동작판정처리를 나타내는 플로우도,
도 15는 제 5 실시형태에 있어서의 동작판정처리를 나타내는 플로우도이다.
본 발명의 각 실시형태에 대하여, 이하에 도면을 참조하여 설명한다.
. 제 1 실시형태
도 1에 있어서, 본 발명의 실시형태에 관한 멀티 태스크시스템(1)은, CPU(2),타이머(3), 예를 들면 하드디스크장치 등의 기억장치(4), 메모리(5), 네트워크(11)와의 인터페이스가 되는 네트워크제어부(6)를 구비하고 있다. 이들 CPU(2), 타이머(3), 기억장치(4), 메모리(5), 네트워크제어부(6)는, 내부 버스(7)로 접속되어 있다.
타이머(3)는, 설정된 일정시간까지의 계시를 반복하는 것으로, 설정시간마다 CPU(2)에 인터럽트를 걸음으로써 설정시간의 경과를 CPU(2)에 통지하는 것이 가능하다. 기억장치(4)에는 태스크 프로그램 등이 기록되어 있고, 필요에 따라 메모리(5)에 판독된다.
본 발명에 관한 태스크관리기능을 실현하기 위해서는 CPU 제어가 필요하다. 그것을 위해서는 태스크관리의 기능을 OS(Operating System)에 조립할 필요가 있다. 그래서 메모리(5)상의 OS가 로드되는 영역에는, 뒤에서 설명하는 태스크접수처리를 CPU(2)에 실행시키기 위한 태스크접수 프로그램이 저장되는 태스크접수 프로그램저장부(8)와, 태스크실행처리를 CPU(2)에 실행시키기 위한 태스크실행 프로그램이 저장되는 태스크실행 프로그램저장부(9)가 존재한다. 그리고 이들 프로그램을 기억장치(4)로부터 저장부(8, 9)에 로드함으로써, 본 발명에 관한 태스크관리기능은 0S에 조립된다.
본 실시형태에 있어서의 리소스량으로서는, CPU(2)의 사용시간이 사용된다. 또한 본 발명에 있어서의 리소스량은, CPU(2) 외에 기억장치(4)나 메모리(5), 또는 도시 생략한 비디오메모리의 사용시간 및 기억용량, 네트워크의 통신속도나 네트워 크서버의 기억용량, 메모리용량 등, 특정한 태스크를 실행하기 위하여 필요한 하드웨어자원 및 소프트웨어자원의 모두를 선택적으로 사용할 수 있다. 또 리소스량으로서는 태스크의 종류 및 기능에 따라 다른 것을 이용할 수 있고, 예를 들면 태스크가 데이터판독에 관한 것인 경우에는 CPU(2)의 사용시간, 하드디스크의 기억용량, 메모리의 사용시간과 기억용량, 태스크가 복호처리에 관한 것인 경우에는 CPU(2)의 사용시간, 메모리의 사용시간과 기억용량, 태스크가 영상출력에 관한 것인 경우에는 CPU(2)의 사용시간, 메모리의 사용시간과 기억용량, 비디오메모리의 사용시간과 기억용량을, 각각 리소스량으로서 사용할 수 있다.
본 실시형태에서는, 각 태스크에 대하여 미리 보증부분과 제어가능부분이 설정되어 있다. 예를 들면 태스크가 MP3 음성재생 프로그램인 경우, 보증부분은 복호처리에 관한 처리부분이며, 제어가능부분은 고음질화를 위한 보완처리에 관한 처리부분이다.
또, 태스크가 MPEG 동화상 재생프로그램인 경우, 보증부분은 묘획간격 1/15초의 프레임 레이트에 상당하는 처리부분이고, 제어가능부분은 묘획간격 1/30초의 프레임 레이트에 상당하는 처리부분이다. 또한 태스크가 정지화상 또는 동화상의 재생 프로그램인 경우에는, 수신할 수 있는 최저한의 해상도에 상당하는 처리부분을 보증부분으로 하고, 그것 이상의 해상도에 상당하는 처리부분을 제어가능부분으로 한다 라는 바와 같이 해상도를 조정하는 것도 적합하다.
또, 어플리케이션이 웹브라우저인 경우, 보증부분은 네트워크 타임아웃시간 내의 패킷 통신간격의 통신 레이트에 상당하는 처리부분이고, 제어가능부분은 보다 큰 통신 레이트, 예를 들면 (패킷크기/스루풋)의 통신 레이트에 상당하는 처리부분이다.
또한 본 실시형태에 있어서의 어플리케이션 프로그램에서는 각 태스크의 보증부분의 프로그램문과 제어가능부분의 프로그램문이 서로 분리하여 기술되어 있고, 또보증부분의 메모리 어드레스에는 본 발명에 있어서의 보증대상 식별자로서의 소정의 보증대상 플래그가 첨부되어 있다.
또, 각 태스크의 보증부분, 즉 최저한의 할당을 보증해야 할 리소스량은, 실행되는 하드웨어 및 소프트웨어환경에 있어서의 스케줄러 프로그램의 시간계측기능을 사용하여 계측한다. 구체적으로는 최저한 보증해야 할 리소스량은 할당된 각 주기에 있어서 대상이 되는 처리가 실행을 개시하고 나서 종료되기까지, 각 리소스를 사용하는 시간을 측정함으로써 미리 계측된다. 또 각 태스크의 데드라인은, 할당된 각 주기에 있어서, 처리의 실행개시 타이밍을 뒤쪽으로 물리어 품질을 만족할 수 없게 되기까지의 공백시간을 측정함으로써 계측할 수 있다. 또 제어가능부분의 리소스량은, 각 태스크의 최고의 처리품질에 의한 처리를 실행하면서 동일한 스케줄러 프로그램을 이용한 계측값으로부터 보증부분의 계측값을 감산함으로써 산출할 수 있다. 이들 리소스량 정보는, 이와 같은 측정을 시스템상에서 실제로 행함으로써 취득하여도 좋고, 어플리케이션 프로그램의 벤더로부터 제공되는 제원(諸元)값을 그대로 이용하여도 좋다.
또한 메모리(5)상에는 실시간성이 요구되는 태스크, 즉 지연시간을 작게 할 필요가 있는 태스크(이하, 이와 같은 태스크를 지연보증이 필요한 태스크라 부른 다)를 관리하기 위하여 이들 각 태스크의 정보를 저장하여 두기 위한 태스크 관리테이블(10)이 존재한다.
도 2는 태스크 관리테이블(10)의 일례를 나타내는 도면이다. 태스크 관리테이블(10)은, 태스크정보 관리테이블(21)과 태스크실행 관리테이블(22)로 구성된다.
태스크정보 관리테이블(21)은, 뒤에서 설명하는 태스크접수처리에 의해 접수된 지연보증이 필요한 태스크에 관한 정보를 관리하는 테이블이다.
이 태스크정보 관리테이블(21)에 저장되는 정보에는, 태스크식별자 저장부(21a), 태스크 포인터 저장부(21b), 주기 저장부(21c), 보증부분처리시간 저장부(21d), 제어부분처리시간 저장부(21e) 및 허용지연시간 저장부(21f)에 각각 저장되는 태스크 식별자(ID), 태스크 포인터(P), 주기(S), 보증부분처리시간(G), 제어가능부분처리시간(C) 및 데드라인(H)이 있고, 이들 정보가 각각 태스크마다 저장되어 있다. 또한 도 2에서는 가로 1열이 하나의 태스크에 관한 정보를 나타내고 있다.
태스크식별자(ID)는, 각 태스크를 식별하기 위한 것으로, 태스크 포인터(P)는, 기억장치(4) 또는 메모리(5)상에 존재하는 각 태스크의 프로그램의 위치를 가리키는 것이다. 주기(S)는, 각 태스크에 있어서의 실행개시 시점으로부터 다음의 실행개시 시점까지의 시간이며, 어느 태스크가 실행되면, 설정된 주기(S) 동안, 이 태스크가 새롭게 실행되는 일은 없다.
보증부분처리시간(G)은, 본 발명에 있어서의 보증부분의 소요 리소스량이며, 각 태스크에 있어서의 보증부분의 실행에 요하는 처리시간이다. 제어가능부분처리시간(C)은, 본 발명에 있어서의 제어가능부분의 소요 리소스량이며, 각 태스크에 있어서의 제어가능부분의 실행에 요하는 처리시간이다. 또한 보증부분처리시간(G) 및 제어가능부분처리시간(C)은, 미리 설정되는 샘플값이기 때문에, 실제의 태스크가 이들 값보다 먼저 종료되는 일도 있을 수 있다.
데드라인(H)은, 그 시간 내에서 처리가 완료되면 품질이 만족되는 허용시간으로서, 주기(S)로 나타내는 시간 내에 설정된다. 어느 태스크에 대하여 이벤트가 발행된 상태에서 전회의 실행개시 시점으로부터의 경과시간이 주기(S)를 초과하거나 태스크처리가 중단하거나 하면, 이 태스크에 지연이 생긴다. 이러한 지연의 발생은, 허용지연시간(H)을 소비하는 것을 의미한다. 따라서 이 허용 지연시간(H)이 모두 소비되기 전에 태스크처리가 종료되지 않으면 안된다.
또한 이들 주기(S), 보증부분처리시간(G), 제어가능부분처리시간(C), 데드라인(H)은, 이 태스크예약을 요구한 어플리케이션 프로그램에 미리 저장되어 있고, 이 어플리케이션 프로그램의 외부 기억매체 경유나 네트워크 경유에서의 인스톨에 의하여 기억장치(4)에 기억되고, 뒤에서 설명하는 시스템 콜에 의하여 OS에 건네져 접수가 허가되면 태스크 식별자(ID 3)가 부여되어 태스크정보 관리테이블(21)에 저장되게 된다.
태스크실행 관리테이블(22)은 접수된 태스크, 즉 태스크정보 관리테이블(21)에 등록된 태스크의 실행시에 사용되는 정보를 관리하는 테이블이다. 이 태스크실행관리테이블(22)에 저장되는 정보로서는, 태스크 식별자(ID), 실행식별 플래그(F) 및 부분실행 플래그(FP)가 있고, 이들 정보는 태스크마다, 각각 태스크식별자 저장부(22a), 실행식별 플래그저장부(22b), 부분실행 플래그저장부(22c)에 저장된다.
실행식별 플래그(F)는, 실행 중 또는 실행을 중단하고 있는 태스크를 식별하기 위한 것이다. 이 실행식별 플래그(F)는, 각 태스크가 실행 중 또는 실행 중단상태이면 세트되고(예를 들면 「1」이 된다), 태스크의 실행이 종료된 경우는 리세트된다(예를 들면 「0」이 된다).
부분실행 플래그(FP)는, 실행대상이 보증부분뿐인 태스크를 식별하기 위한 것이다. 이 부분실행 플래그(FP)는, 각 태스크의 실행대상이 보증부분뿐이면 세트되고(예를 들면, 「1」이 된다), 각 태스크의 실행대상이 보증부분과 제어가능부분의 양쪽인 경우에는 리세트된다(예를 들면 「0」이 된다).
다음에 지연보증이 필요한 태스크의 접수처리에 대하여 도 3에 따라 설명한다. 예를 들면 태스크(A1, A2, A3)에 대하여 미리 소요 리소스량 (r1, r2, r3), 보증부분에 관한 리소스량 (r1a, r2a, r3a), 제어가능부분에 관한 소요 리소스량(r1b, r2b, r3b), 데드라인(H1, H2, H3)이 설정되어 있는 경우로서, 태스크(A1, A2)가 이미 예약되어 있는 것으로 한다. 현재 어플리케이션으로부터의 시스템 콜에 의하여 신규 태스크(A3)의 예약이 요구되면 CPU(2)는 태스크접수 프로그램저장부(8)에 저장된 프로그램에 따라 이하와 같은 처리를 실행한다.
도 3에 있어서, 먼저 CPU(2)는 시스템의 현재의 리소스량, 이미 접수된 예약이 끝난의 태스크(A1, A2)의 보증부분 및 제어가능부분의 각 소요 리소스량 및 신규 태스크(A3)의 보증부분 및 제어가능부분의 각 소요 리소스량을 판독한다(S1). 예약이 끝난 태스크(A1, A2)의 각 소요 리소스량은, 태스크정보 관리테이블(21)에 등록된 정보에 의거하여, 태스크관리테이블(10)로부터 추출된다. 또 신규 태스크 (A3)의 각 소요 리소스량은, 시스템 콜과 함께 입력되어, 메모리(5)의 소정영역에 유지되어 있다.
다음에 예약이 끝난 태스크(A1, A2)와, 새롭게 예약이 요구된 태스크(A3)의, 모든 보증부분과 제어가능부분[소요 리소스량(r1 + r2 + r3)]이 실행 가능한지가 외적제약인 각 태스크의 데드라인(H1, H2, H3)과의 비교에 의거하여 판정된다(S2).
단계 S2에서 실행 가능하다고 판정된 경우에는, 이들 태스크(A1, A2, A3)의 보증부분과 제어가능부분이, 실행대상으로서 선택되어, 태스크정보 관리테이블(21)에 등록된다(S3).
한편, 도 5(a)의 예와 같이 각 태스크(A1, A2, A3)의 보증부분과 제어가능부분을 순서대로 실행하였다고 가정한 경우에 태스크(A3)에 대하여 데드라인(H3)을 채울 수 없어 지연시간을 발생한 경우에는, 단계 S2에서 실행불능이라고 판정되고, 다음에 요구되어 있는 전 태스크의 보증부분의 소요 리소스량으로서 각 태스크의 보증부분처리시간(G)의 합계가 각 태스크의 데드라인(H1, H2, H3)과 비교되고, 이에 의하여 모든 태스크[도 5(b), 소요 리소스량(r1a + r2a + r3a)]가 실행 가능한지가 판정된다(S4).
실행 가능하다고 판정된 경우에는, 모든 태스크의 보증부분만이 실행대상으로서 선택되어, 태스크정보 관리테이블(21)에 등록된다(S5). 즉, 요구된 신규 태스크(A3)와 접수가 끝난 태스크(A1, A2)의 지연보증이 가능한 경우라고 하여 접수허가가 되어, 태스크(A1, A2, A3)의 각 태스크 식별자(ID1, ID2, ID3)와, 보증부분만이 실행대상인 취지를 나타내는 부분실행 플래그(FP)가, 메모리(5)의 태스크관리 테이블(10)에 기록되고, 계속해서 보증부분만을 실행대상으로서 접수할 수 있었던 취지가 어플리케이션에 응답되어 접수처리가 종료된다.
단계 S4에서 실행불능이라고 판정된 경우에는, 신규 태스크를 예약할 수 없는 경우라고 하여 그 취지의 등록불가 신호가 출력되고(S6), 또 접수할 수 없는 취지가 어플리케이션측에 통지된다. 또한 어플리케이션의 처리에 의하여 신규 태스크의 등록을 할 수 없는 취지가, 예를 들면 도시 생략한 표시장치에 있어서의 문자 메시지에 의하여 사용자에게 제시되고, 사용자는 불필요한 어플리케이션을 폐쇄하는 등으로 하여 이것에 대처한다.
이상의 처리의 결과, 태스크(A1, A2, A3)가 각각 데드라인(H1, H2, H3)을 만족하면서, 보증부분만의 리소스할당을 확보하여 실행되게 된다. 또한 각 태스크의 실행의 개시 타이밍은, 시스템의 스케줄러로 제어되게 되기 때문에, 예를 들면 태스크가 동화상의 표시에 관한 것인 경우에는, 그 실행은 도 6에 나타내는 바와 같이 해당 프레임의 판독(S11)과 프레임출력(S12)과 같이 기능별로 구성하면 충분하고, 타이머 등을 이용한 각 태스크의 실행 타이밍관리를 어플리케이션측에서 행할 필요는 없다.
이상과 같이 제 1 실시형태에서는 태스크(A1, A2, A3) 그 자체를 보증부분과 제어가능부분으로 나누어, 후자를 제어가능, 즉 경우에 따라 삭제할 수 있는 부분으로서 처리하는 것으로 하였다. 즉 본 실시형태에서는 예약이 끝난 태스크(A1, A2)의 처리레벨을 제어가능부분을 포함하는 경우(S1)와 포함하지 않는 경우(S4)의 양자사이에서 가상적으로 변경하면서 신규로 예약요구가 된 태스크(A3)의 실행 가 능성을 판정함과 동시에, 실행 가능하다고 판정된 처리레벨에서 실행대상이 되는 태스크(A1, A2, A3)의 선택을 실행하도록 하였다. 따라서 본 실시형태에서는 예약이 끝난 태스크(A1, A2)에 대하여 품질을 조정함으로써, 신규로 예약요구가 된 태스크(A3)를 접수하여 실행할 수 있어, 태스크의 지연보증과 태스크의 효율적인 실행을 양립할 수 있다.
또 본 실시형태에서는, 제어가능부분의 부가 또는 삭제에 의하여 판정처리와 품질의 조정을 행하는 것으로 하였기 때문에, 간이한 구성에 의하여 본 발명에 소기의 효과를 얻을 수 있다.
또 본 실시형태에서는, 태스크의 처리레벨의 가상적인 변경을, 모든 예약이 끝난 태스크(A1, A2)와 예약이 요구되어 있는 태스크(A3)에 대하여 행하는 것으로 하였기 때문에, 요구 리소스량의 큰 변화를 허용할 수 있다.
또 본 실시형태에서는, 보증대상 식별자의 이용에 의하여 실행대상이 되는 태스크를 선택할 수 있기 때문에, 간이한 구성에 의하여 본 발명에 소기의 효과를 얻을 수 있다.
또한 본 실시형태에서는, 각 태스크의 상호간의 우선도를 특별히 고려하지 않고 이것을 선택하는 구성에 대하여 설명하였으나, 각 태스크는 소정의 우선도(예를 들면, 요구처리시간과 허용 지연시간과의 합이 큰 태스크일수록 처리의 우선도를 내리는, 우선도가 높은 태스크의 요구처리시간이 우선도가 낮은 태스크의 허용 지연시간 내에 수습되지 않으면 안되는 등)에 따라 등록되는 것으로 하여도 좋다.
. 제 2 실시형태
다음에, 제 2 실시형태에 대하여 설명한다. 상기 제 1 실시형태에서는 처리대상이 되는 태스크수의 변경요구가 있었던 경우에, 소요 리소스량을 가상적으로 변경하면서 실행 가능성의 판정을 행하는 것으로 하였다. 그러나, 태스크수의 변경요구가 없더라도, 예를 들면 영상이나 음성의 빠른 이송재생의 경우 등, 소요 리소스량의 변동이 예상되는 경우가 있고, 그와 같은 경우이면 본 발명에 있어서의 판정수단에 의한 판정, 즉 소요 리소스량을 가상적으로 변경하면서의 실행 가능성의 판정을 적합하게 실시할 수 있다. 제 2 실시형태는 적어도 어느 하나의 태스크에 대하여 파라미터의 변경요구, 특히 데드라인의 변경요구가 있었던 경우에, 이와 같은 판정을 행하는 것이다. 또한 제 2 실시형태에 있어서도, 멀티 태스크시스템의 구성은 상기제 1 실시형태의 것과 동일하기 때문에 그 설명은 생략한다.
예를 들면 태스크(A1, A2, A3)의 실행 중에, 어플리케이션으로부터의 시스템 콜에 의하여 태스크(A3)의 데드라인의 변경(예를 들면 표준값으로부터의 소정값의 감산)이 요구되면 CPU(2)는 태스크접수 프로그램저장부(8)에 저장된 프로그램에 따라 이하와 같은 처리를 실행한다.
도 7에 있어서, 먼저 CPU(2)는 시스템의 현재의 리소스량, 실행 중인 태스크(A1, A2, A3)의 데드라인, 보증부분 및 제어가능부분의 각 소요 리소스량을 판독한다(S21).
다음에 현재의 소요 리소스량 설정으로 데드라인의 변경이 가능한지가 데드라인을 가상적으로 변경한 경우의 태스크(A1, A2, A3)의 소요 리소스량(보증부분과 제어가능부분의 양자에 대한 것)과, 외적 제약인 각 태스크의 데드라인(변경 후의 것)과의 비교에 의거하여 판정된다(S22).
단계 S22에서 실행 가능하다고 판정된 경우에는 현재의 소요 리소스량 설정[즉, 태스크(A1, A2, A3)의 보증부분과 제어가능부분이 선택된 상태)으로 태스크(A3)의 데드라인이 변경되어 태스크정보 관리테이블(21)에 등록된다(S23).
한편, 단계 S22에서 실행 불능이라고 판정된 경우에는, 다음에 제어가능부분의 범위 내에서 감소된 소요 리소스량 설정(즉, 보증부분만에 대한 소요 리소스량)에 있어서, 데드라인의 변경이 가능한지가 이 경우의 최적화 연산 및 각 태스크의 데드라인(변경후의 것)과의 비교에 의거하여 판정된다(S24).
실행 가능하다고 판정된 경우에는, 감소된 소요 리소스량 설정이 채용되고(즉, 모든 태스크의 보증부분만이 실행대상으로서 선택되어), 그 상태에서 데드라인이 변경되어, 태스크정보 관리테이블(21)에 등록된다(S25). 즉, 요구된 데드라인변경이 된 상태에서 태스크(A1, A2, A3)의 지연보증이 가능한 경우라고 하여 접수허가가 되고, 태스크(A1, A2, A3)의 각 태스크 식별자(ID1, ID2, ID3)와, 보증부분만이 실행대상인 취지를 나타내는 부분실행 플래그(FP)가, 메모리(5)의 태스크관리테이블(10)에 기록되고, 계속해서 보증부분만을 실행대상으로서 접수할 수 있었던 취지가 어플리케이션에 응답되어 접수처리가 종료된다.
단계 S24에서 실행 불능이라고 판정된 경우에는, 데드라인을 변경할 수 없는 경우라고 하여, 그 취지의 변경불가 신호가 출력되고(S26), 또 접수할 수 없다는 취지가 어플리케이션측에 통지된다. 또한 어플리케이션의 처리에 의하여 데드라인의 변경을 할 수 없다는 취지가, 예를 들면 도시 생략한 표시장치에 있어서의 문자 메시지에 의하여 사용자에게 제시되고, 사용자는 불필요한 어플리케이션을 폐쇄하는 등으로 하여 이것에 대처한다.
이상의 처리결과, 태스크(A1, A2, A3)가 각각 변경된 데드라인을 만족하면서, 보증부분만의 리소스할당을 확보하여 실행되게 된다. 따라서 제 2 실시형태에서는 상기 제 1 실시형태와 마찬가지로 태스크(A1, A2, A3)에 대하여 품질을 조정함으로써 데드라인을 변경하여 실행을 계속할 수 있어, 태스크의 지연보증과 태스크의 효율적인 실행을 양립할 수 있다.
. 제 3 실시형태
다음에 제 3 실시형태에 대하여 설명한다. 제 3 실시형태는, 상기 제 2 실시형태와 마찬가지로 파라미터의 변경요구에 따른 실행 가능성의 판정을 행하는 것으로서, 이것을 주기의 변경요구가 있었던 경우에 적용한 것이다. 또한 제 3 실시형태에 있어서도 멀티 태스크시스템의 구성은 상기 제 1 실시형태의 것과 동일하기 때문에 그 설명은 생략한다.
예를 들면 태스크(A1, A2, A3)의 실행 중에, 어플리케이션으로부터의 시스템 콜에 의하여 태스크(A3)의 주기의 변경(예를 들면, 표준값으로부터의 소정값의 감산)이요구되면, CPU(2)는 태스크접수 프로그램저장부(8)에 저장된 프로그램에 따라 이하 와 같은 처리를 실행한다.
도 8에 있어서, 먼저 CPU(2)는 시스템의 현재의 리소스량, 실행 중인 태스크(A1, A2, A3)의 주기, 보증부분 및 제어가능부분의 각 소요 리소스량을 판독한다 (S31).
다음에 현재의 소요 리소스량 설정으로 주기의 변경이 가능한지가, 주기를 가상적으로 변경한 경우의 태스크(A1, A2, A3)의 소요 리소스량(보증부분과 제어가능부분의 양자에 대한 것)과, 각 태스크의 실행주기(변경후의 것)와의 비교에 의거하여 판정된다(S32).
단계 S32에서 실행 가능하다고 판정된 경우에는, 현재의 소요 리소스량 설정[즉, 태스크(A1, A2, A3)의 보증부분과 제어가능부분이 선택된 상태]으로 태스크(A3)의 주기가 변경되고, 태스크정보 관리테이블(21)에 등록된다(S33).
한편, 단계 S32에서 실행 불능이라고 판정된 경우에는, 다음에 제어가능부분의 범위 내에서 감소된 소요 리소스량 설정(즉, 보증부분만에 대한 소요 리소스량)에 있어서, 주기의 변경이 가능한지가, 이 경우의 최적화 연산 및 각 태스크의 실행주기(변경후의 것)와의 비교에 의거하여 판정된다(S34).
실행 가능하다고 판정된 경우에는, 감소된 소요 리소스량 설정이 채용되고(즉, 모든 태스크의 보증부분만이 실행대상으로서 선택되고), 그 상태에서 주기가 변경되어 태스크정보 관리테이블(21)에 등록된다(S35). 즉, 요구된 주기의 변경이 이루어진 상태에서 태스크(A1, A2, A3)의 지연보증이 가능한 경우라고 하여 접수허가가 되어, 태스크(A1, A2, A3)의 각 태스크 식별자(ID1, ID2, ID3)와, 보증부분만이 실행대상인 취지를 나타내는 부분실행 플래그(FP)가, 메모리(5)의 태스크관리테이블(10)에 기록되고, 계속해서 보증부분만을 실행대상으로서 접수할 수 있었던 취지가 어플리케이션에 응답되어 접수처리가 종료된다.
단계 S34에서 실행 불능이라고 판정된 경우에는, 주기를 변경할 수 없는 경 우라고 하여, 그 취지의 변경불가 신호가 출력되고(S36), 또 접수할 수 없다는 취지가 어플리케이션측에 통지된다. 또한 어플리케이션의 처리에 의하여 주기의 변경을 할 수 없다는 취지가, 예를 들면 도시 생략한 표시장치에 있어서의 문자 메시지에 의하여 사용자에게 제시되고, 사용자는 불필요한 어플리케이션을 폐쇄하는 등으로 하여 이것에 대처한다.
이상의 처리의 결과, 태스크(A1, A2, A3)가 각각 변경된 주기를 만족하면서, 보증부분만의 리소스할당을 확보하여 실행되게 된다. 따라서 제 3 실시형태에서는 상기 제 2 실시형태와 마찬가지로 태스크(A1, A2, A3)에 대하여 품질을 조정함으로써 주기를 변경하여 실행을 계속할 수 있어, 태스크의 지연보증과 태스크의 효율적인 실행을 양립할 수 있다.
또한 상기 각 실시형태에서는, 각 태스크에 대한 제어가능부분을 하나로 하고, 그 보증부분에 대한 부가의 유무에 의하여 소요 리소스량을 변경하는 구성으로 하였으나, 각 태스크에 대한 제어가능부분은 복수이어도 좋다. 이 경우에는 다시 복수 설치된 제어가능부분에 상호의 선택순위를 설정(부여)하고, 이들 복수의 제어가능부분이 이 선택순위에 따라 선택되는 것으로 하는 것이 적합하다. 특히 복수 설치된 제어가능부분 중의 선택순위를 식별하기 위한 소정의 순위 식별자(예를 들면, 소정의 순위 플래그)를, 각 태스크의 프로그램문에 있어서의 각 대응하는 부분에 부착함과 동시에, 그 각 제어가능부분의 소요 리소스량 정보를 미리 태스크정보관리테이블(21)에 기억시켜 두고, 동작시에는 판정대상이 되는 태스크에 대하여 제어가능부분을 그 순위 식별자가 나타내는 선택순위에 따라 선택함과 동시에, 그 선 택 및 판정을 선택의 대상을 바꾸면서(예를 들면, 선택되는 제어가능부분의 개수를 바꾸면서) 시행하는 것으로 하는 것이 적합하다. 이러한 구성으로 하면, 동작상의 중요도가 낮은 부분으로부터 처리대상을 삭제하여 감으로써 처리량을 단계적으로 감소시키면서, 실행 가능성의 판단을 반복함으로써 그 태스크에 관한 소요 리소스량을 더욱 세밀하게 조정할 수 있고, 또 시스템의 리소스량의 유효이용을 도모할 수 있다.
또, 상기 제 1 내지 제 3 실시형태에서는, 태스크 내에서의 제어가능부분을 이용한 증감에 의하여 소요 리소스량을 조정하였으나, 이와 같은 소요 리소스량의 조정은, 실행순서에 의존관계가 있어 서로 주종관계에 있는 복수의 태스크 사이에서의 동작의 조정에도 적용할 수 있다.
즉, 소정의 주 태스크와, 이 주 태스크의 실행이 실행의 조건이 되는 종 태스크가 있는 경우에, 상기 제 1 실시형태에 있어서 사용되고 있었던 것과 동일한 보증대상 플래그를 주 태스크의 전체에 부착하고, 또 종 태스크에는 보증대상 플래그를 부착하지 않는 구성으로 한다. 이와 같은 주 태스크와 종 태스크에 대하여, 상기 제 1 실시형태에 있어서의 태스크접수 프로그램을 그대로 실행시킨 경우에는, 주 태스크의 전체가 보증부분으로서, 또 종 태스크의 전체가 제어가능부분으로서 각각 시스템에 인식되게 된다. 그 결과, 리소스량에 여유가 있는 경우에는 주 태스크와 종 태스크의 양쪽이 실행되고, 또 리소스량에 여유가 없는 경우에는, 주 태스크만이 실행되게 되어, 이것에 의하여 태스크 내에서의 제어가능부분의 처리와 태스크 사이에서의 주종관계의 처리를 공통의 알고리즘으로 실행할 수 있고, 또 주 태스크와 종 태스크를 아울러 하나의 태스크로서 처리할 수 있기 때문에 태스크수의 절약을 도모할 수 있다.
또한 이와 같이 태스크 내에서의 보증부분과 제어가능부분과의 식별에 사용되는 보증대상 식별자로서의 보증대상 플래그를 이용하는 구성 대신에, 오로지 주 태스크와 종 태스크와의 식별을 위해 이용되는 소정의 주종 태스크 식별자(예를 들면, 주종 플래그)를, 주 태스크와 종 태스크의 한쪽 또는 양쪽에 설치하고, 또 태스크접수 프로그램이 주 태스크를 보증부분으로서 처리하고, 종 태스크를 제어가능부분으로서 처리하는 것으로 하여도 되어, 동일한 효과를 얻을 수 있다.
본 발명의 태스크관리장치와 관련하여 사용되는 프로그램은, 제 12의 본 발명과 같이, 태스크의 처리 레벨의 변경 전후의 소요 리소스량을 저장하는 소요 리소스량 정보 저장수단을 구비하는 것으로 하거나, 제 13의 본 발명과 같이, 태스크의 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 구비하는 것으로 하거나, 제 14의 본 발명과 같이, 태스크에 포함되는 복수의 제어가능부분의 순위를 식별하기 위한 순위 식별자를 구비하는 것으로 하면, 실행되는 프로그램과 이것에 포함되는 태스크의 여러가지 정보를 쌍으로서 처리할 수 있어 적합하다.
또, 본 발명의 태스크관리장치와 관련하여 사용되는 프로그램은, 제 15의 본 발명과 같이, 소정의 주 태스크를 보증부분으로서 상기 시스템에 인식시키고, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 제어가능부분으로서 상기 시스템에 인식시키도록 상기 보증대상 식별자를 구비하는 것으로 하면, 서로 주종관계가 있는 복수의 태스크를, 주종 태스크 식별자의 이용에 의하여 보증부분이나 제 어가능부분으로서 처리할 수 있기 때문에, 태스크 내에서의 제어가능부분의 처리와 태스크사이에서의 주종관계의 처리를 공통의 알고리즘으로 실행할 수 있다. 한편, 제 16의 본 발명과 같이, 보증대상 식별자 대신에, 주종관계의 처리를 위한 주종 태스크 식별자를 구비하는 것으로 하여도 좋다.
또한 상기 각 실시형태에서는 제어가능부분을 전체로 하여 가상적으로 삭제 함으로써 처리량을 조정하는 구성으로 하였으나, 반대로 리소스량에 여유가 있는 경우(즉, 예를 들면 현재의 제공 가능한 리소스량과 현재의 모든 태스크의 소요 리소스량의 합계와의 차가 소정값을 상회하는 경우)에, 처리품질을 올리는 추가적인 제어가능부분을, 모든 태스크에 부가하는 구성으로 하여도 좋다. 또 상기 각 실시형태에서는 리소스량의 여유의 유무에 따라 태스크의 처리품질을 단계적으로 증감 변경하는 구성에 대하여 설명하였으나, 태스크의 처리품질은 무단계적으로 증감 변경하는 것으로 하여도 좋다.
또, 상기 각 실시형태에서는 모든 태스크에 대하여 처리품질을 변경하는 것으로 하였기 때문에, 요구 리소스량의 큰 변화를 허용할 수 있다는 이점이 있으나, 본 발명에 있어서의 처리품질의 변경은 일부의 태스크에 대하여 실행하는 것으로 하여도 되고, 이와 같은 구성에 의해서도 본 발명에 소기의 효과를 상당정도로 실현할 수 있다.
또, 본 발명에 있어서의 태스크접수 프로그램은, 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량에 의거하여 각 태스크의 실행 가능성을 판정하는 판정처리와, 판정처리의 판정 결과에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택처리를 상기 시스템에 실행시키기 위한 프로그램으로서, 적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득처리를 더 포함하고, 상기 판정처리에서는 적어도 어느 하나의 예약이 끝난 태스크의 처리 레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하고, 상기 태스크선택처리에서는 실행 가능하다고 판정된 처리레벨에서 상기 선택을 실행하는 것을 특징으로 하는 프로그램으로서 구성할 수 있으며, 이것을 CD-ROM 등의 공지의 기록매체에 기록한 상태로, 또는 네트워크 경유의 다운로드에 의해 거래할 수 있어, 본 발명의 효과를 실현하기 위한 유용한 수단으로서 사용할 수 있다.
. 제 4 실시형태
상기 각 실시형태에 있어서는 멀티 태스크시스템에 태스크관리기능을 부여함으로써 본 발명에 관한 태스크관리장치로서 동작시켰다. 이것 이후의 실시형태에 있어서는 멀티 태스크시스템에 동작판정기능을 부여함으로써 본 발명에 관한 동작판정장치로서 동작시키는 경우에 대하여 설명한다.
도 11에 있어서, 본 발명의 실시형태에 관한 멀티 태스크시스템(31)은, CPU(2), 타이머(3), 예를 들면 하드디스크장치 등의 기억장치(4), 메모리(5), 네트워크(11)와의 인터페이스가 되는 네트워크제어부(6)를 구비하고 있다. 이들 CPU(2), 타이머(3), 기억장치(4), 메모리(5), 네트워크제어부(6)는, 내부 버스(7)로 접속되어 있다.
타이머(3)는, 설정된 일정시간까지의 계시를 반복하는 것으로, 설정시간마다 CPU(2)에 인터럽트를 걸음으로써, 설정시간의 경과를 CPU(2)에 통지하는 것이 가능하다. 기억장치(4)에는 본 발명에 관한 동작판정 프로그램 외에, 태스크 프로그램으로서의 판정대상 프로그램 등이 기록되어 있고, 필요에 따라 메모리(5)에 판독된다.
메모리(5)상에는 지연보증이 필요한 태스크를 관리하기 위하여 이들 각 태스크의 정보를 저장하여 두기 위한 태스크관리테이블(32)이 존재한다.
도 12는 태스크관리테이블(32)의 일례를 나타내는 도면이다. 태스크관리테이블(32)은, 태스크정보 관리테이블(34)과 구성정보 관리테이블(35)로 구성된다.
태스크정보 관리테이블(34)은, 지연보증이 필요한 태스크에 관한 정보를 관리하는 테이블이다. 이 태스크정보 관리테이블(34)에 저장되는 정보에는, 태스크 식별자 저장부(34a), 태스크 포인터 저장부(34b), 주기 저장부(34c), 요구처리시간 저장부(34d) 및 허용지연시간 저장부(34e)에 각각 저장되는 태스크 식별자(ID), 태스크 포인터(P), 주기(S), 요구처리시간(T) 및 데드라인(H)이 있고, 이들 정보가 각각 태스크마다 저장되어 있다. 또한 도 12에서는 가로 1열이 하나의 태스크에 관한 정보를 나타내고 있다.
태스크식별자(ID)는, 각 태스크를 식별하기 위한 것이고, 태스크 포인터(P)는, 기억장치(4) 또는 메모리(5)상에 존재하는 각 태스크의 프로그램의 위치를 가리키는 것이다. 주기(S)는, 각 태스크에 있어서의 실행개시 시점으로부터 다음의 실행개시 시점까지의 시간이며, 어느 태스크가 실행되면, 설정된 주기(S) 동안, 이 태스크가 새롭게 실행되는 일은 없다.
요구처리시간(T)은, 각 태스크의 실행에 요하는 처리시간이며, 본 발명에 있어서의 소요 리소스량을 구성한다. 또한 이 요구처리시간(T)은 미리 설정되는 샘플값이기 때문에, 실제의 태스크가 이들의 값보다 먼저에 종료되는 일도 있을 수 있다.
데드라인(H)은 그 시간 내에서 처리가 완료되면 품질이 만족되는 허용시간으로서, 주기(S)에서 표시되는 시간 내에 설정된다. 어느 태스크에 대하여 이벤트가 발행된 상태에서 전회의 실행개시 시점으로부터의 경과시간이 주기(S)를 초과하거나, 태스크처리가 중단되거나 하면, 이 태스크에 지연이 생긴다. 이와 같은 지연의 발생은, 허용 지연시간(H)를 소비하는 것을 의미한다. 따라서 이 허용 지연시간(H)이 모두 소비되기 전에 태스크처리가 종료되지 않으면 안된다.
또한 이들 주기(S), 요구처리시간(T), 데드라인(H)의 각 정보는, 이 태스크를 포함하고 있는 어플리케이션 프로그램에 미리 데이터로서 저장되어 있고, 이 어플리케이션 프로그램의 외부 기억매체 경유나 네트워크(11) 경유에서의 인스톨에 의하여 기억장치(4)에 기억되고, 뒤에서 설명하는 동작판정요구의 시스템 콜에 따라 OS에 건네져 태스크식별자(ID)가 부여되어 태스크정보 관리테이블(34)에 저장되게 된다.
구성정보 관리테이블(35)은, 어플리케이션의 구성정보, 즉 그 어플리케이션에 있어서의 각 태스크의 상호관계의 정보가 저장된다. 구체적으로는 구성정보 관리테이블(35)에는 기준 태스크 식별자 저장부(35a)와, 전제 태스크 식별자 저장부 (35b)가 설치되어, 어느 태스크(이하 적절히 기준 태스크라 함)의 태스크 식별자(ID)와, 그 실행의 전제가 되는 태스크(이하 적절히 전제 태스크라 함)의 태스크식별자(ID)가, 각각 저장되어 있다.
예를 들면 동작판정의 대상이 되는 어플리케이션이, 도 13에 나타내는 바와 같이 태스크(1∼5)로 구성되어 있고, 이 중 태스크(2, 4)의 실행개시가 태스크(1)의 실행완료를 전제로 하고, 태스크(3)의 실행개시가 태스크(2)의 실행완료를 전제로 하며, 태스크(5)의 실행개시가 태스크(4)의 실행완료를 전제로 하는 경우에는, 구성정보 관리테이블(35)의 내용은 도 12와 같아진다. 이 구성정보 관리테이블(35)을 이용하여 모든 전제 태스크의 요구처리시간(T)과, 그 전제 태스크를 기준 태스크로 하는 모든 전제 태스크의 요구처리시간(T)을 더하여 넣음으로써 동시에 실행될 가능성이 있는 모든 태스크를 망라적으로 추출할 수 있다.
메모리(5)상에는 또한 어플리케이션의 사용환경의 리소스량 정보를 관리하기위하여 리소스량 정보저장부(33)가 설치되어 있다. 이 리소스량 정보는, 동작판정의 대상이 되는 어플리케이션이 설치되는 환경의 리소스량을 가상적인 정보로서 유지한 것으로, 미리 기억장치(4)에 기억되어 적절히 메모리(5)에 판독된다.
리소스량 정보는, 그 어플리케이션의 사용환경(하드웨어환경 및 소프트웨어환경)이 이미 존재하는 경우에는 그 사용환경의 실측에 의하여 미리 취득한다. 또 사용환경이 존재하지 않는 경우에는, 그 사용환경의 하드웨어 및 소프트웨어의 벤더로부터 제공되는 제원값을 그대로 이용하는 것으로 한다.
본 실시형태에 있어서의 리소스량으로서는, 사용환경에 있어서의 CPU의 사용 시간이사용된다. 또한 본 발명에 있어서의 리소스량은, CPU 외에 기억장치나 메모리, 또는 도시 생략한 비디오메모리의 사용시간 및 기억용량, 네트워크의 통신속도나 네트워크서버의 기억용량, 메모리용량 등, 특정한 태스크를 실행하기 위하여 필요한 하드웨어자원 및 소프트웨어자원의 모두를 선택적으로 사용할 수 있다. 또 리소스량으로서는 태스크의 종류 및 기능에 따라 다른 것을 이용할 수 있고, 예를 들면 태스크가 데이터판독에 관한 것인 경우에는 CPU의 사용시간, 하드디스크의 기억용량, 메모리의 사용시간과 기억용량, 태스크가 복호처리에 관한 것인 경우에는 CPU의 사용시간, 메모리의 사용시간과 기억용량, 태스크가 영상출력에 관한 것인 경우에는 CPU의 사용시간, 메모리의 사용시간과 기억용량, 비디오메모리의 사용시간과 기억용량을, 각각 리소스량으로서 사용할 수 있다.
다음에 본 실시형태에 있어서의 동작판정처리에 대하여 도 14에 따라 설명한다. 현재 어플리케이션의 동작판정요구가 입력되면 CPU(2)는 동작판정 프로그램저장부(8)에 저장된 동작판정 프로그램에 따라 이하의 처리를 실행한다.
먼저 CPU(2)에 의하여 태스크정보 관리테이블(34) 및 구성정보 관리테이블(35)로부터, 각 태스크의 소요 리소스량 정보[여기서는, 요구처리시간(T)]와, 어플리케이션의 구성정보가 각각 판독된다(S41). 또 리소스량 정보저장부(33)로부터 설치환경의 리소스량 정보가 판독된다(S42).
다음에 단계 S41에서 판독된 어플리케이션의 구성정보와, 각 태스크의 소요 리소스량 정보 등에 의거하여, 동시에 실행됨으로써 단일기능이 될 수 있는 태스크의 조합이 추출된다(S43). 상기한 도 13의 예에서는 태스크(2)와 태스크(4), 태스 크(3)와 태스크(5)가 각각 동시에 실행됨으로써 단일기능이 될 수 있는 태스크로서 여기서 추출된다.
그리고 추출된 모든 조합이 실행가능한지가, 먼저 단계 S42에서 판독되어져 있는 리소스량 정보와의 비교에 의해 판단된다(S44). 구체적으로는 추출된 모든 조합에 대하여 설치환경에 있어서의 부하의 계측과, Qos의 검증이 행하여져, 부하가 소정의 기준값을 하회하고 또한 Qos가 소정의 기준값을 상회하고 있는 경우에 실행 가능하다고 판정되고, 그렇지 않은 경우에 부정 판정이 된다. 이 단계 S44에서의 판단의 결과, 실행 가능하다고 판정된 경우(S45) 및 실행 불가능하다고 판정된 경우(S46)에는 그 취지가 어플리케이션에 응답되어 처리가 종료된다. 또한 단계 S45, S46에서의 출력에 의거하여 소정의 표시처리에 의하여 대응하는 문자 메시지가 표시장치(도시 생략)에 표시된다.
이상과 같이 제 4 실시형태에서는, 판정대상 프로그램인 어플리케이션에 있어서의 구성정보, 즉 어플리케이션에 있어서의 태스크 사이의 관련성(실행순서와 실행 타이밍)에 관한 정보와, 각 태스크의 소요 리소스량 정보를 취득하여 두고, 이들 정보에 의거하여 동시에 실행됨으로써 단일기능이 될 가능성이 있는 태스크의 조합을 추출한다. 그리고 추출된 태스크의 조합과, 소요 리소스량 정보에 의거하여 추출된 태스크 조합의 모두에 대한(즉, 그 어플리케이션이 가지는 모든 기능에 대한) 실행 가능성을 판정한다. 따라서 본 실시형태에서는 어플리케이션의 동작을 실제로 행하는 일 없이 실행 가능성을 판정할 수 있기 때문에, 실행 가능성의 판정을 신속화할 수 있다.
또 본 실시형태에서는 어플리케이션이 그 구성정보와, 태스크마다 실행이 필요한 리소스량의 정보를 저장하는 것으로 하였기 때문에, 실행되는 어플리케이션과 이것에 포함되는 태스크의 여러가지 정보를 쌍으로 하여 처리할 수 있어 적합하다.
. 제 5 실시형태
다음에 제 5 실시형태에 대하여 설명한다. 상기 제 4 실시형태에서는 단계 S44에서의 처리의 결과, 실행 불가능이라는 판정이 이루어진 경우에는, 그 취지의 출력을 행하는 것으로 하였으나, 제 5 실시형태는 다시 실행 불가능한 경우에 처리량을 보정하여 판정을 재시행하는 것이다. 또한 제 5 실시형태에 있어서의 시스템의 하드웨어구성은, 상기 제 4 실시형태의 것과 동일하기 때문에, 그 설명은 생략한다.
제 5 실시형태에서는 각 태스크에 대하여 미리 보증부분과 제어가능부분이 설정되어 있다. 예를 들면 태스크가 MP3 음성재생 프로그램인 경우, 보증부분은 복호처리에 관한 처리부분이며, 제어가능부분은 고음질화를 위한 보완처리에 관한 처리부분이다.
또, 태스크가 MPEG 동화상 재생프로그램인 경우, 보증부분은 묘획간격 1/15초의 프레임 레이트에 상당하는 처리부분이며, 제어가능부분은 묘획간격 1/30초의 프레임 레이트에 상당하는 처리부분이다. 또한 태스크가 정지화상 또는 동화상의 재생 프로그램인 경우에는 수인(受認)할 수 있는 최저한의 해상도에 상당하는 처리부분을 보증부분으로 하고, 그것 이상의 해상도에 상당하는 처리부분을 제어가능부분으로 한다 라는 바와 같이 해상도를 조정하는 것도 적합하다.
또, 어플리케이션이 웹브라우저인 경우, 보증부분은 네트워크 타임아웃시간 내의 패킷 통신간격의 통신 레이트에 상당하는 처리부분이며, 제어가능부분은 보다 큰 통신 레이트, 예를 들면 (패킷크기/스루풋)의 통신 레이트에 상당하는 처리부분이다.
또한 본 실시형태에 있어서의 어플리케이션 프로그램에서는 각 태스크의 보증부분의 프로그램문과 제어가능부분의 프로그램문이 서로 분리하여 기술되어 있고, 또보증부분의 메모리 어드레스에는 보증대상 식별자로서의 소정의 보증대상 플래그가 첨부되어 있다. 이 보증대상 플래그는, 뒤에서 설명하는 단계 S57의 처리에 의하여 설치시의 서비스품질의 설정이 변경된 경우에, 변경된 설정으로 어플리케이션을 실행할 때의 보증부분의 추출에 사용되는 것이다.
또, 각 태스크의 보증부분의 리소스량, 즉 최저한의 할당이 보증되는 리소스량은, 그 어플리케이션이 설치되는 하드웨어 및 소프트웨어환경 또는 이것을 모의한 에뮬레이터에 있어서의 스케줄러 프로그램의 시간계측기능을 사용하여 계측한다. 구체적으로는 최저한 보증해야 할 리소스량은, 할당된 각 주기에 있어서 대상이 되는 처리가 실행을 개시하고 나서 종료되기까지, 각 리소스를 사용하는 시간을 측정함으로써 미리 계측된다. 또 각 태스크의 데드라인은 할당된 각 주기에 있어서 처리의 실행개시 타이밍을 뒤쪽으로 물리어 품질을 만족할 수 없게 되기까지의 공백시간을 측정함으로써 계측할 수 있다. 또 제어가능부분의 리소스량은, 각 태스크의 최고의 처리품질에 의한 처리를 실행하면서 동일한 스케줄러 프로그램을 이용한 계측값으로부터 보증부분의 계측값을 감산함으로써 산출할 수 있다. 이들 리 소스량 정보는, 이와 같은 시행과 측정을 시스템상에서 실제로 행함으로써 취득하여도 좋고, 어플리케이션 프로그램의 벤더로부터 제공되는 제원값을 그대로 이용하여도 좋다.
도 15는 제 5 실시형태에 있어서의 동작판정처리를 나타낸다. 도 15에 있어서 단계 S51 내지 S55까지의 처리는, 상기 제 4 실시형태에 있어서의 단계 S41 내지 S45까지의 처리와 동일하다.
단계 S54에서 부정된 경우, 구체적으로는 추출된 태스크 조합의 모두(즉, 동시에 실행됨으로써 단일기능이 될 수 있는 태스크 조합의 모두)에 대하여, 설치환경에 있어서의 부하의 계측과 Qos의 검증이 행하여진 결과, 부하가 소정의 기준값을 상회하거나, 또는 Qos가 소정의 기준값을 하회하는 태스크의 조합(태스크군)이 존재한다고 판단된 경우에는, 다음에 그와 같은 태스크의 조합에 대하여 서비스품질의 변경이 가능한지가, 판정대상으로 되어 있는 태스크의 조합 중에 제어가능부분을 포함하는 태스크가 있는지에 의하여 판단된다(S56).
이 판단의 결과, 서비스품질의 변경이 가능, 즉 판정대상으로 되어 있는 태스크의 조합 중에 제어가능부분을 포함하는 태스크가 있는 경우에는, 다음에 그 서비스품질 변경 가능한 태스크의 리소스량 정보를 보정하여 재설정한다(S57). 구체적으로는 판정대상으로 되어 있는 태스크군 중의 제어가능부분을 포함하는 태스크에 대하여 처리대상으로부터 제어가능부분이 가상적으로 제외되고, 그 취지가 메모리(5)의 소정의 기억영역에, 예를 들면 소정의 플래그에 의하여 기억된다.
그리고 이와 같이 하여 제어가능부분을 포함하는 태스크로부터 제어가능부분 이 제외된 설정에 대하여 보정후의 소요 리소스량에 의거하여 그 태스크군의 실행 가능성이 다시 판정되어(S54), 실행 가능한 경우에는 단계 S55로 이행한다. 또한 이들단계 S53, S54, S56, S57의 각 처리는, 예를 들면 단계 S57에 있어서 제어가능부분을 가지는 태스크가 복수개 있는 경우에, 그 중에서 보정대상이 되는 일부의 태스크를 소정의 우선도로 순차 선택함으로써 복수회 반복하여 실행할 수 있다.
단계 S56에 있어서 부정인 경우, 즉 어느 태스크군이 실행 불능이고, 또한 서비스품질의 변경(조정, 삭감)의 여지도 없는 경우에는, 그 취지가 어플리케이션에 응답되어(S58), 처리가 종료된다. 또한 단계 S55, S56에서의 출력에 의거하여 소정의 표시처리에 의하여 대응하는 문자 메시지가 표시장치(도시 생략)에 표시되는 점은, 상기 제 4 실시형태와 동일하다.
이상과 같이 제 5 실시형태에서는 동시에 실행될 가능성이 있는 복수의 태스크로 이루어지는 태스크군 중 어느 하나에 대하여 시스템의 제공 가능한 리소스량으로 보아 실행 불가능하다는 판정이 있었던 경우에, 가변 태스크에 대한 소요 리소스량이 보정되고(S57), 보정후의 소요 리소스량에 의거하여 실행 가능성이 판정된다(S54). 따라서, 일단 실행 불가능이라는 판정이 이루어진 경우에도, 서비스품질의 약간의 변경에 의하여 실행 가능하게 되는 경우에, 그와 같은 변경의 실현에 의하여 동작확인의 공정수를 줄일 수 있다.
또한 제 5 실시형태에서는, 제어가능부분을 전체로 하여 가상적으로 삭제함으로써 처리량을 조정하는 구성으로 하였으나, 반대로 리소스량에 여유가 있는 경우(즉, 예를 들면 제공 가능한 리소스량과 모든 태스크의 조합의 소요 리소스량의 합계와의 차가 소정값을 상회하는 경우)에, 처리품질을 올리는 추가적인 제어가능부분을 모든 태스크에 부가하는 구성으로 하여도 좋다. 또 상기 제 4, 제 5 실시형태에서는 리소스량의 여유의 유무에 따라 태스크의 처리품질을 단계적으로 증감 변경하는 구성에 대하여 설명하였으나, 태스크의 처리품질은 무단계적으로 증감 변경하는 것으로 하여도 좋다.
또한 상기 제 4, 제 5 실시형태에서는 단일의 어플리케이션에 있어서의 태스크의 상호관계(구성정보)에 의거하여, 실행 가능성을 판정하는 예에 대하여 설명하였으나, 본 발명은 복수의 어플리케이션을 병렬하여 동작시키는 경우나, 마찬가지로 판정대상 프로그램인 미들웨어와 그 미들웨어상에서 동작하는 어플리케이션을 병렬하여 동작시키는 경우의 실행가능성 판단에도 적용할 수 있다.
즉, 어느 어플리케이션(이하, 제 1의 어플리케이션이라 함)에 대하여 실행 가능성이 확인되어 있는 경우에, 그 제 1의 어플리케이션과 다른 어플리케이션(이하, 제 2의 어플리케이션이라 함)을 병렬로 동작시킴과 동시에 실행시키는 것을 생각한 경우에, 제 2의 어플리케이션에 있어서의 개개의 태스크의 실행 타이밍이 제 1의 어플리케이션에 있어서의 어느 하나의 태스크의 실행 타이밍에 의존하고 있고, 또한 제 2의 어플리케이션의 각 태스크의 소요 리소스량을 이미 알고 있으면 이 제 2의 어플리케이션에 있어서의 각 태스크의 실행 타이밍과 소요 리소스량의 각 정보를 상기 제 4 실시형태에 있어서의 태스크정보 관리테이블(34) 및 구성정보 관리테이블(35)에 추가하여 저장함으로써 상기 제 4 실시형태에 있어서의 것과 동일한 처리에 의하여 그 동작 가능성을 판정할 수 있다.
이와 같이 하여 소정의 멀티 태스크시스템에 있어서 복수의 어플리케이션을 병행 동작시키는 경우의 실행 가능성을, 본 발명에 관한 동작 판정기능을 이용하여 판정하는 것으로 하면, 제 1 및 제 2의 어플리케이션의 실행시의 외적조건을 보다 충실하게 재현할 수 있어, 정확한 동작판정을 행할 수 있다. 또한 이 경우에는 다시 제 1의 어플리케이션에 있어서의 각 태스크에 관한 소요 리소스정보와 구성정보를, 미리 기억장치(4)에 저장한 형으로 제공하면, 어플리케이션의 벤더가 이것에 적합한 제 2의 어플리케이션을 개발하는 경우에도, 본 발명에 관한 동작 판정기능을 유효하게 이용할 수 있다.
또, 상기 제 4, 제 5 실시형태에서는 리소스량 정보저장부(33)에, 단일종류의 설치환경(하드웨어환경, 소프트웨어환경)의 리소스량 정보를 저장하는 것으로 하였으나, 이와 같은 구성 대신에, 리소스량 정보저장부(33)에 서로 다른 복수종류의 설치환경의 리소스량 정보를 저장함과 동시에, 이들 복수종류의 리소스량 정보에 대하여 동작판정처리를 순차 시행하는 것으로 하거나, 이들 복수종류의 리소스량 정보를 앤드조건으로 만족하는 것을 실행 가능판정의 조건으로 하는 것으로 하여도 좋다. 이와 같은 구성으로 하면, 어플리케이션의 다운로드기능을 가지는 휴대전화기의 경우와마찬가지로 송수신측이 모두 다양한 하드웨어구성을 가지는 경우 등에 본 발명을 유효하게 적용할 수 있다.
또, 본 발명에 있어서의 동작판정기능은, 이것을 주지의 퍼스널 컴퓨터에 착탈 자유롭게 접속함으로써 그 일부의 기능을 실현하는 부하계측 보드 또는 검증 보드로서 제공하는 것도 가능하다. 즉, CPU, ROM, RAM, 입출력 인터페이스를 버스라 인으로 상호 접속하여 이루어지는 주지의 원칩 마이크로 프로세서 보드에, 태스크관리테이블(32) 및 리소스량 정보저장부(33)에 상당하는 각 정보와, 상기 제 4, 제 5 실시형태 또는 그 변형예의 처리프로그램을 저장한 형으로 제공하여도 좋고, 본 발명에 의한 소기의 효과를 얻을 수 있다.
또, 본 발명에 관한 동작판정 프로그램은, 복수의 태스크를 포함하는 프로그램을 대상으로 시스템에 있어서의 실행 가능성을 컴퓨터에 판정시키기 위한 동작판정 프로그램으로서, 상기 판정대상 프로그램을 구성하는 태스크의 정보를 구성정보로서 취득하는 구성정보취득처리와, 상기 구성정보에 의거하여 동시에 실행됨으로써 단일기능이 될 수 있는 상기 태스크의 조합을 추출하는 기능추출처리와, 상기 태스크의 각각에 대하여 실행에 필요한 리소스량의 정보를 취득하는 소요 리소스량 정보취득처리와, 상기 추출된 태스크의 조합과, 상기 소요 리소스량 정보에 의거하여 상기 판정대상 프로그램이 가지는 모든 기능에 대하여 실행 가능성을 판정하는 판정처리를 컴퓨터에 실행시키기 위한 동작판정 프로그램으로서 구성할 수 있고, 이것을 CD-ROM 등의 공지의 기록매체에 기록한 상태로, 또는 네트워크 경유의 다운로드에 의하여 거래할 수 있어, 본 발명의 효과를 실현하기 위한 유용한 수단으로서 사용할 수 있다.
Claims (29)
- 삭제
- 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량에 의거하여 각 태스크의 실행 가능성을 판정하는 판정수단과, 판정수단의 판정결과에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택수단을 구비한 태스크관리장치로서,적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분과의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득수단을 더 구비하고,상기 판정수단은, 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하고,상기 태스크선택수단은, 실행 가능하다고 판정된 처리레벨에서 상기 선택을 실행하되,상기 판정수단은,적어도 어느 하나의 예약이 끝난 태스크에 있어서의 보증부분과 제어가능부분과의 양자가 실행 가능한지를 판정하는 제 1 판정수단과,제 1 판정수단에 의하여 불가라는 판정이 있었던 경우에, 상기 예약이 끝난 태스크에 있어서의 보증부분이 실행가능한지를 판정하는 제 2 판정수단을 구비하고,상기 태스크선택수단은,제 1 판정수단에 의하여 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분과 제어가능부분과의 양자를 선택하고,제 2 판정수단에 의해 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분만을 선택하는 것을 특징으로 하는 태스크관리장치.
- 제 2항에 있어서,상기 판정수단이, 모든 예약이 끝난 태스크에 대하여, 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하는 것을 특징으로 하는 태스크관리장치.
- 제 2항에 있어서,상기 판정수단에 의한 판정이, 처리대상이 되는 태스크 수의 변경요구가 있었던 경우에 실행되는 것을 특징으로 하는 태스크관리장치.
- 제 2항에 있어서,상기 판정수단에 의한 판정이, 적어도 어느 하나의 태스크에 대하여 파라미터의 변경요구가 있었던 경우에 실행되는 것을 특징으로 하는 태스크관리장치.
- 제 5항에 있어서,상기 파라미터가 상기 적어도 어느 하나의 태스크의 데드라인인 것을 특징으 로 하는 태스크관리장치.
- 제 5항에 있어서,상기 파라미터가 상기 적어도 어느 하나의 태스크의 실행주기인 것을 특징으로 하는 태스크관리장치.
- 제 2항에 있어서,적어도 어느 하나의 태스크에 대하여 그 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 취득하는 보증대상 식별자 취득수단을 더 구비하고,상기 태스크선택수단이, 상기 보증대상 식별자를 이용하여 상기 선택을 행하는 것을 특징으로 하는 태스크관리장치.
- 제 2항에 있어서,적어도 어느 하나의 태스크에 포함되는 복수의 제어가능부분에 부여된 이들 복수의 제어가능부분의 선택순위를 식별하기 위한 순위 식별자를 취득하는 순위 식별자 취득수단을 더 구비하고,상기 판정수단이, 판정대상이 되는 태스크 중 선택되는 제어가능부분을 상기 순위 식별자를 이용하여 그 선택순위에 따라 선택함과 동시에, 그 선택 및 상기 판정을 상기 선택의 대상을 바꾸면서 시행하는 것을 특징으로 하는 태스크관리장치.
- 제 2항에 있어서,소정의 주 태스크와, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 식별하기 위한 주종 태스크 식별자를 취득하는 주종 태스크 식별자 취득수단을 더 구비하고,상기 판정수단 및 상기 태스크선택수단이, 상기 주종 태스크 식별자를 이용하여, 상기 주 태스크를 상기 보증부분으로서 처리하고, 상기 종 태스크를 상기 제어가능부분으로서 처리하는 것을 특징으로 하는 태스크관리장치.
- 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량에 의거하여 각 태스크의 실행 가능성을 판정하는 판정단계와, 판정단계의 판정결과에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택단계를 포함하는 태스크관리방법으로서,적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분과의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득단계를 더 포함하고,상기 판정단계에서는 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하고,상기 태스크선택단계에서는 실행 가능하다고 판정된 처리레벨에서 상기 선택을 실행하되,상기 판정단계는,적어도 어느 하나의 예약이 끝난 태스크에 있어서의 보증부분과 제어가능부분과의 양자가 실행 가능한지를 판정하는 제 1 판정단계와,제 1 판정단계에 의하여 불가라는 판정이 있었던 경우에, 상기 예약이 끝난 태스크에 있어서의 보증부분이 실행가능한지를 판정하는 제 2 판정단계를 구비하고,상기 태스크선택단계는,제 1 판정단계에 의하여 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분과 제어가능부분과의 양자를 선택하고,제 2 판정단계에 의해 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분만을 선택하는 것을 특징으로 하는 태스크관리방법.
- 제 11항에 있어서,적어도 어느 하나의 태스크에 대하여 그 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 취득하는 보증대상 식별자 취득 단계를 더 포함하고,상기 태스크선택단계에서는, 상기 보증대상 식별자를 이용하여 상기 선택을 행하는 것을 특징으로 하는 태스크관리방법.
- 제 11항에 있어서,적어도 어느 하나의 태스크에 포함되는 복수의 제어가능부분에 부여된 이들 복수의 제어가능부분의 선택순위를 식별하기 위한 순위 식별자를 취득하는 순위 식별자 취득단계를 더 포함하고,상기 판정단계에서는, 판정대상이 되는 태스크 중 선택되는 제어가능부분을 상기 순위 식별자를 이용하여 그 선택순위에 따라 선택함과 동시에, 그 선택 및 상기 판정을 상기 선택의 대상을 바꾸면서 시행하는 것을 특징으로 하는 태스크관리방법.
- 제 11항에 있어서,소정의 주 태스크와, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 식별하기 위한 주종 태스크 식별자를 취득하는 주종 태스크 식별자 취득단계를 더 포함하고,상기 판정단계 및 상기 태스크선택단계에서는 상기 주종 태스크 식별자를 이용하여, 상기 주 태스크를 상기 보증부분으로서 처리하고, 상기 종 태스크를 상기 제어가능부분으로서 처리하는 것을 특징으로 하는 태스크관리방법.
- 복수의 태스크 중 어느 하나를 선택적으로 실행하는 멀티 태스크시스템에 있어서, 각 태스크의 소요 리소스량에 의거하여 각 태스크의 실행 가능성을 판정하는 판정처리와, 판정처리의 판정결과에 의거하여 실행대상이 되는 태스크를 선택하는 태스크선택처리를 상기 시스템에 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,적어도 어느 하나의 태스크에 대하여 규정된 보증부분과 제어가능부분과의 소요 리소스량 정보를 취득하는 소요 리소스량 정보 취득처리를 더 포함하고,상기 판정처리에서는 적어도 어느 하나의 예약이 끝난 태스크의 처리레벨을 상기 제어가능부분의 범위 내에서 가상적으로 변경하여 상기 판정을 실행하고,상기 태스크선택처리에서는 실행가능하다고 판정된 처리레벨에서 상기 선택을 실행하되,상기 판정처리는,적어도 어느 하나의 예약이 끝난 태스크에 있어서의 보증부분과 제어가능부분과의 양자가 실행 가능한지를 판정하는 제 1 판정처리와,제 1 판정처리에 의하여 불가라는 판정이 있었던 경우에, 상기 예약이 끝난 태스크에 있어서의 보증부분이 실행가능한지를 판정하는 제 2 판정처리를 구비하고,상기 태스크선택처리는,제 1 판정처리에 의하여 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분과 제어가능부분과의 양자를 선택하고,제 2 판정처리에 의해 실행 가능하다고 판정된 상기 예약이 끝난 태스크에 대하여 그 보증부분만을 선택하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 11항에 기재된 태스크관리방법과 관련하여 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,그 적어도 어느 하나의 태스크의 처리 레벨의 변경 전후의 소요 리소스량을 저장하는 소요 리소스량 정보저장수단을 구비한 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 12항에 기재된 태스크관리방법과 관련하여 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,그 적어도 어느 하나의 태스크의 보증부분과 제어가능부분을 식별하기 위한 보증대상 식별자를 구비한 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 13항에 기재된 태스크관리방법과 관련하여 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,그 적어도 어느 하나의 태스크에 포함되는 복수의 제어가능부분의 선택순위를 식별하기 위한 순위 식별자를 구비한 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 12항에 기재된 태스크관리방법과 관련하여 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,소정의 주 태스크를 보증부분으로서 상기 시스템에 인식시키고, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 제어가능부분으로서 상기 시스템에 인식시키도록, 상기 보증대상 식별자를 구비한 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 14항에 기재된 태스크관리방법과 관련하여 사용되는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,소정의 주 태스크와, 상기 주 태스크의 실행이 실행의 조건이 되는 종 태스크를 식별하기 위한 주종 태스크 식별자를 구비한 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2002-00080549 | 2002-03-22 | ||
JPJP-P-2002-00080799 | 2002-03-22 | ||
JP2002080799A JP3975795B2 (ja) | 2002-03-22 | 2002-03-22 | タスク管理装置、同方法およびプログラム |
JP2002080549A JP2003280927A (ja) | 2002-03-22 | 2002-03-22 | 動作判定装置、同方法、同プログラムおよび判定対象プログラム |
PCT/JP2003/003172 WO2003081429A1 (fr) | 2002-03-22 | 2003-03-17 | Procede et dispositif de gestion de taches, procede et dispositif d'evaluation de fonctionnement et programme devant etre evalue |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040097196A KR20040097196A (ko) | 2004-11-17 |
KR100654414B1 true KR100654414B1 (ko) | 2006-12-05 |
Family
ID=28456223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020047014864A KR100654414B1 (ko) | 2002-03-22 | 2003-03-17 | 태스크관리장치 및 그 방법, 태스크관리프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8589930B2 (ko) |
EP (1) | EP1489508B1 (ko) |
KR (1) | KR100654414B1 (ko) |
CN (1) | CN1332310C (ko) |
AU (1) | AU2003213406A1 (ko) |
DE (1) | DE60318560T2 (ko) |
WO (1) | WO2003081429A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4682513B2 (ja) | 2003-12-05 | 2011-05-11 | トヨタ自動車株式会社 | タスク管理システム |
JP4325466B2 (ja) * | 2004-03-31 | 2009-09-02 | トヨタ自動車株式会社 | タスク実行システム |
JP4539168B2 (ja) | 2004-05-18 | 2010-09-08 | トヨタ自動車株式会社 | ドアロック制御装置 |
US8112507B2 (en) * | 2005-09-27 | 2012-02-07 | Intel Corporation | Remote node list searching mechanism for storage task scheduling |
US7644308B2 (en) * | 2006-03-06 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Hierarchical timestamps |
US8010396B2 (en) | 2006-08-10 | 2011-08-30 | International Business Machines Corporation | Method and system for validating tasks |
US8005705B2 (en) * | 2006-09-07 | 2011-08-23 | International Business Machines Corporation | Validating a baseline of a project |
US7904324B2 (en) | 2006-09-28 | 2011-03-08 | International Business Machines Corporation | Method and system for assessing schedule performance issues of a project |
EP1975794B1 (en) | 2007-03-28 | 2012-07-11 | Research In Motion Limited | System and method for controlling processor usage according to user input |
US8789052B2 (en) | 2007-03-28 | 2014-07-22 | BlackBery Limited | System and method for controlling processor usage according to user input |
US20090216602A1 (en) * | 2008-02-21 | 2009-08-27 | Henderson Mark E | Schedule Analyzer |
JP5482052B2 (ja) * | 2009-09-24 | 2014-04-23 | 富士通株式会社 | 観測分析装置および観測分析方法 |
US8423799B2 (en) * | 2009-11-30 | 2013-04-16 | International Business Machines Corporation | Managing accelerators of a computing environment |
US8776066B2 (en) * | 2009-11-30 | 2014-07-08 | International Business Machines Corporation | Managing task execution on accelerators |
US8819303B2 (en) * | 2011-07-25 | 2014-08-26 | General Instrument Corporation | Deferred transfer of content to optimize bandwidth usage |
US8639546B2 (en) * | 2012-06-29 | 2014-01-28 | International Business Machines Corporation | Using a force-based paradigm for managing operational fulfillment |
ITMI20130942A1 (it) | 2013-06-07 | 2014-12-08 | Ibm | Pianificazione dell'esecuzione di attivita' con risoluzione di dipendenze |
CN103365728B (zh) * | 2013-07-10 | 2016-09-14 | 国睿集团有限公司 | 面向硬实时服务组合的主机资源可满足性检测方法 |
US9848242B2 (en) * | 2015-09-30 | 2017-12-19 | Rovi Guides, Inc. | Systems and methods for adjusting the priority of media assets scheduled to be recorded |
KR102566171B1 (ko) * | 2016-01-06 | 2023-08-11 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
WO2017119663A1 (en) | 2016-01-06 | 2017-07-13 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the same |
CN107291548B (zh) * | 2016-03-31 | 2021-04-13 | 阿里巴巴集团控股有限公司 | 任务的资源调度方法及装置 |
EP3264267A1 (de) * | 2016-06-30 | 2018-01-03 | Siemens Aktiengesellschaft | Verfahren und anordnung zur darstellung oder aktualisierung einer graphischen benutzeroberfläche eines industriellen bedien- und beobachtungssystems |
CN107291566B (zh) * | 2017-06-15 | 2020-06-05 | 北京京东尚科信息技术有限公司 | 延迟任务执行的方法和装置 |
KR20240154084A (ko) * | 2018-05-07 | 2024-10-24 | 구글 엘엘씨 | 연결 디바이스를 제어하기 위한 복합 그래픽 어시스턴트 인터페이스를 제공하는 방법, 시스템, 및 장치 |
US11107020B2 (en) * | 2019-03-15 | 2021-08-31 | Microsoft Technology Licensing, Llc | Intelligent task suggestions based on automated learning and contextual analysis of user activity |
US11245538B2 (en) * | 2019-09-28 | 2022-02-08 | Intel Corporation | Methods and apparatus to aggregate telemetry data in an edge environment |
EP3822770A1 (en) * | 2019-11-15 | 2021-05-19 | Nvidia Corporation | Techniques for modifying an executable graph to perform a workload associated with a new task graph |
WO2023034221A1 (en) * | 2021-09-03 | 2023-03-09 | Groq, Inc. | Scale computing in deterministic cloud environments |
CN114003314A (zh) * | 2021-11-01 | 2022-02-01 | 联想(北京)有限公司 | 一种处理方法及装置 |
CN115454590A (zh) * | 2022-08-09 | 2022-12-09 | 北京机电工程研究所 | 一种面向活动图的仿真调度方法和系统 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4318173A (en) | 1980-02-05 | 1982-03-02 | The Bendix Corporation | Scheduler for a multiple computer system |
JPS62284437A (ja) | 1986-05-31 | 1987-12-10 | Nec Corp | タスク管理方式 |
US4807228A (en) | 1987-03-18 | 1989-02-21 | American Telephone And Telegraph Company, At&T Bell Laboratories | Method of spare capacity use for fault detection in a multiprocessor system |
JPH02139630A (ja) | 1988-11-21 | 1990-05-29 | Toshiba Corp | オンラインタスク入替え装置 |
JPH05307478A (ja) | 1992-04-30 | 1993-11-19 | Nippon Telegr & Teleph Corp <Ntt> | データベース管理システムの構成法 |
US5513354A (en) | 1992-12-18 | 1996-04-30 | International Business Machines Corporation | Fault tolerant load management system and method |
US5357512A (en) | 1992-12-30 | 1994-10-18 | Intel Corporation | Conditional carry scheduler for round robin scheduling |
US5919266A (en) | 1993-04-02 | 1999-07-06 | Centigram Communications Corporation | Apparatus and method for fault tolerant operation of a multiprocessor data processing system |
JPH0738510A (ja) * | 1993-07-09 | 1995-02-07 | Matsushita Electric Ind Co Ltd | Atrac用リアルタイム・タスクのスケジュール方法 |
CA2131406C (en) * | 1993-09-21 | 2002-11-12 | David D'souza | Preemptive multi-tasking with cooperative groups of tasks |
US5437032A (en) | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
JPH07262025A (ja) | 1994-03-18 | 1995-10-13 | Fujitsu Ltd | 実行制御システム |
JP3244982B2 (ja) | 1995-01-30 | 2002-01-07 | 株式会社日立製作所 | 分散制御システム |
JPH08212064A (ja) | 1995-01-31 | 1996-08-20 | Hitachi Ltd | 共用サブルーチンの入れ替えシステム及び共用サブルーチン入れ替え方法 |
JP3898789B2 (ja) * | 1996-12-05 | 2007-03-28 | 富士通株式会社 | 周期プロセス負荷制御システムおよび周期プロセス負荷制御方法 |
JPH10171667A (ja) | 1996-12-13 | 1998-06-26 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク管理方法 |
JP3898264B2 (ja) | 1997-02-21 | 2007-03-28 | 本田技研工業株式会社 | 車両用ネットワークシステム |
JPH10240548A (ja) | 1997-03-03 | 1998-09-11 | Toshiba Corp | タスクスケジューリング装置及び方法 |
US6304866B1 (en) * | 1997-06-27 | 2001-10-16 | International Business Machines Corporation | Aggregate job performance in a multiprocessing system by incremental and on-demand task allocation among multiple concurrently operating threads |
US6385638B1 (en) * | 1997-09-04 | 2002-05-07 | Equator Technologies, Inc. | Processor resource distributor and method |
JPH11237995A (ja) | 1998-02-23 | 1999-08-31 | Matsushita Electric Ind Co Ltd | イベント制御装置 |
JPH11259311A (ja) | 1998-03-06 | 1999-09-24 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク管理方法 |
US6061709A (en) | 1998-07-31 | 2000-05-09 | Integrated Systems Design Center, Inc. | Integrated hardware and software task control executive |
JP2000056989A (ja) | 1998-08-03 | 2000-02-25 | Chokosoku Network Computer Gijutsu Kenkyusho:Kk | タスク設計方法 |
US6964048B1 (en) * | 1999-04-14 | 2005-11-08 | Koninklijke Philips Electronics N.V. | Method for dynamic loaning in rate monotonic real-time systems |
KR100727901B1 (ko) | 1999-07-10 | 2007-06-14 | 삼성전자주식회사 | 마이크로 스케듈링 방법 및 운영체제 커널 장치 |
US6658595B1 (en) | 1999-10-19 | 2003-12-02 | Cisco Technology, Inc. | Method and system for asymmetrically maintaining system operability |
US6961934B2 (en) | 2000-05-08 | 2005-11-01 | Microtune (San Diego), Inc. | Portable thread environment |
GB2367913A (en) | 2000-09-16 | 2002-04-17 | Motorola Inc | Processor resource scheduler |
DE10065498B4 (de) | 2000-12-28 | 2005-07-07 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms |
JP2003067201A (ja) | 2001-08-30 | 2003-03-07 | Hitachi Ltd | コントローラとオペレーティングシステム |
US20040064829A1 (en) | 2002-09-30 | 2004-04-01 | Kim Pallister | Method for identifying processor affinity and improving software execution |
US20040181707A1 (en) | 2003-03-11 | 2004-09-16 | Hitachi, Ltd. | Method and apparatus for seamless management for disaster recovery |
CN100455161C (zh) | 2004-12-07 | 2009-01-21 | 鸿富锦精密工业(深圳)有限公司 | 一种印刷电路板设计方法及印刷电路板 |
-
2003
- 2003-03-17 KR KR1020047014864A patent/KR100654414B1/ko not_active IP Right Cessation
- 2003-03-17 EP EP03708645A patent/EP1489508B1/en not_active Expired - Lifetime
- 2003-03-17 WO PCT/JP2003/003172 patent/WO2003081429A1/ja active IP Right Grant
- 2003-03-17 CN CNB038067021A patent/CN1332310C/zh not_active Expired - Fee Related
- 2003-03-17 AU AU2003213406A patent/AU2003213406A1/en not_active Abandoned
- 2003-03-17 US US10/504,189 patent/US8589930B2/en not_active Expired - Fee Related
- 2003-03-17 DE DE60318560T patent/DE60318560T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR20040097196A (ko) | 2004-11-17 |
EP1489508A1 (en) | 2004-12-22 |
CN1643498A (zh) | 2005-07-20 |
EP1489508A4 (en) | 2005-07-27 |
CN1332310C (zh) | 2007-08-15 |
DE60318560T2 (de) | 2009-01-08 |
WO2003081429A1 (fr) | 2003-10-02 |
US20050149927A1 (en) | 2005-07-07 |
DE60318560D1 (de) | 2008-02-21 |
EP1489508B1 (en) | 2008-01-09 |
AU2003213406A1 (en) | 2003-10-08 |
US8589930B2 (en) | 2013-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100654414B1 (ko) | 태스크관리장치 및 그 방법, 태스크관리프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 | |
US20200218582A1 (en) | System and method for processing task resources | |
JP5065566B2 (ja) | リソースマネージャアーキテクチャ | |
US7137119B1 (en) | Resource manager architecture with resource allocation utilizing priority-based preemption | |
JP3942941B2 (ja) | 通信装置及びプラグインモジュール制御方法及びコンピュータに実行させるためのプログラム及びコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
WO2023045467A1 (zh) | 容器cpu资源调度与隔离方法和装置、存储介质及电子设备 | |
CN109995669A (zh) | 分布式限流方法、装置、设备及可读存储介质 | |
CN101741751A (zh) | 流量整形调度方法、流量整形调度装置及路由设备 | |
CN113051053A (zh) | 异构资源调度方法、装置、设备和计算机可读存储介质 | |
KR20200054368A (ko) | 전자 장치 및 이의 제어방법 | |
CN112631780A (zh) | 资源调度方法和装置、存储介质及电子设备 | |
CN114327881A (zh) | 任务调度方法及装置 | |
CN113742111A (zh) | 一种微服务rpc自适应调度方法及相关装置 | |
CN111694517A (zh) | 分布式数据迁移方法、系统和电子设备 | |
CN110620754B (zh) | Nf所需资源的部署方法、装置、存储介质及电子装置 | |
US8140552B2 (en) | Method and apparatus for optimizing lead time for service provisioning | |
JP3975795B2 (ja) | タスク管理装置、同方法およびプログラム | |
CN111614526A (zh) | 一种hinoc链路快速维护方法、装置、存储介质及终端 | |
CN114936089A (zh) | 资源调度方法、系统、设备及存储介质 | |
WO2002023329A2 (en) | Processor resource scheduler and method | |
CN114745338A (zh) | 流量控制方法、装置、存储介质以及服务器 | |
CN107329819A (zh) | 一种作业管理方法及装置 | |
Reumann et al. | Adaptive quality-of-service session management for multimedia servers | |
KR100471746B1 (ko) | 연성 실시간 태스크 스케줄링 방법 및 그 기록매체 | |
JP2003280927A (ja) | 動作判定装置、同方法、同プログラムおよび判定対象プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20121114 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131031 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141103 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |