Micro-scheduling method and operating system kernel
First Claim
1. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
- (a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein said step (a) further comprises;
executing an availability test;
implementing an admission control and a resource reservation;
describing a policy to decide default resources and a maximum scope of each of said application on system resources;
measuring CPU-bound performance;
and measuring I/O-bound performance, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
2 Assignments
0 Petitions
Accused Products
Abstract
A scheduling method implemented in an operating system kernel for supporting multimedia applications is provided. The micro-scheduling method includes the steps of determining a performance parameter by measuring I/O-bound job performance and CPU-bound job performance in a given application, and appropriately adjusting the performance parameter according to a policy set by a system administrator when carrying out job admission control. Determining an order of priority for processing application classes based on the performance measuring and job admission control by scheduling the periodical execution of I/O jobs of data which need not be moved to a user space due to the characteristics of multimedia applications, and executing a special I/O system call according to the order of priority for processing is also provided. The micro-scheduling method enables the support of accurate QoS for any operating system which supports multimedia applications.
53 Citations
20 Claims
-
1. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein said step (a) further comprises;
executing an availability test;
implementing an admission control and a resource reservation;
describing a policy to decide default resources and a maximum scope of each of said application on system resources;
measuring CPU-bound performance;
and measuring I/O-bound performance, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
2. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein said step (a) further comprises;
executing an availability test;
implementing an admission control and a resource reservation;
describing a policy to decide default resources and a maximum scope of each of said application on system resources;
measuring CPU-bound performance;
and measuring I/O-bound performance, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 2 executes the steps of;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)/User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system; and
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
3. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein the performance measuring includes the steps of;
(pm-a) identifying each application as a plurality of classes; and
(pm-b) measuring said performance parameters using test programs appropriate for said application classes, and wherein said step (pm-b) includes the steps of;
(pm-b-1) measuring how many transactions can be processed by using a benchmark program appropriate to said characteristics of an application, and deciding a minimum and a maximum number of transactions to process in a system for a mission critical job;
(pm-b-2) measuring a number of encoding or decoding executions per second after a user describes relevant information and QoS parameters, and interactive applications for a multimedia application that requires a resource reservation and interactive applications; and
(pm-b-3) omitting measuring said performance of said applications that do not require real-time processing. - View Dependent Claims (4)
-
-
5. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said file buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
6. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, wherein said special I/O class 2 executes the steps comprising;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)/User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system;
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
7. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein the performance measuring includes the steps;
(pm-a) identifying each application as a plurality of classes; and
(pm-b) measuring said performance parameters using test programs appropriate for said application classes, and wherein said step (pm-b) includes the steps comprising;
(pm-b-1) measuring how many transactions can be processed by using a benchmark program appropriate to said characteristics of an application, and deciding a minimum and a maximum number of transactions to process in a system for a mission critical job;
(pm-b-2) measuring a number of encoding or decoding executions per second after a user describes relevant information and QoS parameters for a multimedia application that requires a resource reservation and interactive applications, and (pm-b-3) omitting measuring said performance of said applications that do not require real-time processing. - View Dependent Claims (8)
-
-
9. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein said step (b) is implemented by enterprise quality of service (E-QoS) modeling based on the determined performance parameters, said processing priority of said application class, and a predetermined resource allocation in a policy description table, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
10. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein in said step (a), said performance parameters are determined by measuring said I/O-bound job performance and said CPU-bound job performance required for said application with a test program appropriate for the class of application for which the determination is being made, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
11. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled 1O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
12. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein said step (b) is implemented by enterprise quality of service (E-QoS) modeling based on the determined performance parameters, said processing priority of said application class, and a predetermined resource allocation in a policy description table, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 2 executes the steps of;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)/User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system; and
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
13. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein in said step (a), said performance parameters are determined by measuring said I/O-bound job performance and said CPU-bound job performance required for said application with a test program appropriate for the class of application for which the determination is being made, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 2 executes the steps of;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system; and
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
14. A micro-scheduling method for implementation on an operating system kernel for supporting multimedia applications, said micro-scheduling method comprising the steps of:
-
(a) determining performance parameters of a plurality of applications by measuring an I/O-bound job performance and a CPU-bound job performance in said applications;
(b) adjusting said performance parameters according to a predetermined policy when executing a job admission control;
(c) determining processing priority of each of a plurality of application classes by scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
(d) executing a special I/O system call according to an order of the determined priority, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/O to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 2 executes the steps of;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)/User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system; and
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
15. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein said E-QOS resource managing means manages resources by E-QoS modeling based on the measured performance parameters of an application, said order of priority according to an application class, and resource allocation in a predetermined policy description table, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said file buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
16. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein the performance measuring uses a test program appropriate for said application class, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said file buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
17. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, an availability test means for executing an availability test;
an admission control and resource reservation means for executing admission control and resource reservation;
a CPU-bound performance measuring means for measuring CPU-bound performance; and
an I/O-bound performance measuring means for measuring I/O-bound performance, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 1 executes the steps of;
(a-1) allocating a file buffer;
(b-1) reading n bytes from said file buffer, wherein n is a positive integer;
(c-1) checking in a protocol data unit (PDU) whether said file buffer is empty;
(d-1) executing a fork by waking up a disk device from which data is to be read if said file buffer is empty;
(e-1) storing the result in an HQ if said file buffer is empty;
(f-1) forwarding data stored in said HQ if said file buffer is not empty, and maintaining said disk in a sleep state;
(g-1) forwarding a user data protocol (UDP) data to a network system;
(h-1) storing the received UDP data in a buffer of said network system; and
(i-1) forwarding said UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (a-1) through (f-1).
-
-
18. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein said E-QoS resource managing means manages resources by E-QoS modeling based on the measured performance parameters of an application, said order of priority according to an application class, and resource allocation in a predetermined policy description table, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 2 executes the steps comprising;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)/User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system;
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
19. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, wherein the performance measuring uses a test program appropriate for said application class, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, wherein said special I/O class 2 executes the steps comprising;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system;
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
-
20. An operating system kernel for supporting multimedia applications, said operating system kernel comprising:
-
an enterprise QoS (E-QoS) resource managing means for determining performance parameters by measuring an I/O-bound job performance and a CPU-bound job performance in said application, and executing a job admission control to adjust said performance parameters according to a predetermined policy;
a special I/O scheduling means for scheduling periodical executions of I/O jobs of data that are not required to be moved to a user space due to characteristics of multimedia application data; and
a special I/O service routine means for executing a special I/O system call according to an order of the determined priority, an availability test means for executing an availability test;
an admission control and resource reservation means for executing admission control and resource reservation;
a CPU-bound performance measuring means for measuring CPU-bound performance; and
an I/O-bound performance measuring means for measuring I/O-bound performance, wherein a special I/O system call is responsible for implementing periodical I/O according to resources allocated by the scheduled I/O jobs if a job in an application corresponds to a special I/O after it is determined that an I/O service class 4 corresponds to at least one of four special I/O jobs, wherein said special I/O jobs includes I/O service class 1 which moves data from a user space to a system, I/O service class 2 which moves data from a user space to another user space, I/O service class 3 which moves data from a system to a user space, and I/O service class 4 which moves data from a system to another system, wherein said I/O service class 4 includes special I/O class 1 which carries out I/O between a disk file and a network, special I/O class 2 which carries out I/O between an I/O unit and a network, and special I/O class 3 which carries out I/Os to and from an application, between threads, or in a loop-back method, and wherein said special I/O class 2 executes the steps comprising;
(a-2) inputting an external voice through a microphone;
(b-2) transforming the input external voice into an electrical signal;
(c-2) converting the transformed voice signal into digital voice data in a hardware vocoder;
(d-2) storing said digital voice data in a buffer;
(e-2) encapsulating said digital voice data stored in said buffer into packets;
(f-2) storing the packetized data in a high queue (HQ);
(g-2) forwarding Real-time Transport Protocol (RTP)/User Data Protocol (UDP) data to a network system;
(h-2) storing the received RTP/UDP data in a buffer of a network system;
(i-2) forwarding said RTP/UDP data stored in said buffer to said network system using medium access control, wherein said special I/O system call manages the steps (e-2) through (g-2).
-
Specification