JP2003521775A - Method of efficiently performing scheduling process in electronic equipment - Google Patents

Method of efficiently performing scheduling process in electronic equipment

Info

Publication number
JP2003521775A
JP2003521775A JP2001556434A JP2001556434A JP2003521775A JP 2003521775 A JP2003521775 A JP 2003521775A JP 2001556434 A JP2001556434 A JP 2001556434A JP 2001556434 A JP2001556434 A JP 2001556434A JP 2003521775 A JP2003521775 A JP 2003521775A
Authority
JP
Japan
Prior art keywords
scheduling
task
manager
request
execution interval
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001556434A
Other languages
Japanese (ja)
Inventor
ジェームス、デビッド、ブイ
ストーン、グレン、ディ
Original Assignee
ソニー エレクトロニクス インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー エレクトロニクス インク filed Critical ソニー エレクトロニクス インク
Publication of JP2003521775A publication Critical patent/JP2003521775A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 電子機器(112)においてスケジューリング処理を効率的に実行する装置及び方法においては、割当マネージャ(314)は、まず、要求パラメータに基づいて、タスクスケジューリング要求を評価する。スケジューリング要求は、例えば、実行間隔(514)及びリソース要求(516)を含む。タスクスケジューリング要求が許可されると、割当マネージャ(314)は、対応するタスク(512)を優先順位が定められたタスクテーブルに登録する。スケジューリングマネージャ(316)は、タスクテーブルを参照して、電子機器(112)においてスケジューリング及び実行すべき次のタスク(512)を効率的に特定する。 (57) Summary In an apparatus and method for efficiently performing a scheduling process in an electronic device (112), an assignment manager (314) first evaluates a task scheduling request based on a request parameter. The scheduling request includes, for example, an execution interval (514) and a resource request (516). When the task scheduling request is granted, the assignment manager (314) registers the corresponding task (512) in the task table in which the priority is determined. The scheduling manager (316) refers to the task table to efficiently identify the next task (512) to be scheduled and executed in the electronic device (112).

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】TECHNICAL FIELD OF THE INVENTION

本発明はスケジューリング処理に関し、より詳しくは、電子機器において効率
的にスケジューリング処理を行う装置及び方法に関する。
The present invention relates to a scheduling process, and more particularly, to an apparatus and method for efficiently performing a scheduling process in an electronic device.

【0002】[0002]

【従来の技術】[Prior art]

電子機器において、様々な処理タスクを効率的に実行する方法を実現すること
は、現代の電子機器の設計者及び製造業者にとって重要な課題である。例えば、
電子機器は、電子ネットワーク内の他の機器と通信を行い、データを共有し、こ
れにより、個々の電子機器内の機器能力及び機能が実質的に向上する。幾つかの
具体例においては、電子ネットワークは、家庭内環境(home environment)にお
いて実現され、例えば、パーソナルコンピュータ、デジタルビデオディスク(di
gital video disc)、デジタル放送用デジタルセットトップボックス、高機能テ
レビジョンセット、オーディオ再生装置等の様々な民生用機器間で、データ及び
機器リソースが柔軟且つ効果的に共有されている。
Realizing a method for efficiently performing various processing tasks in electronic devices is an important issue for designers and manufacturers of modern electronic devices. For example,
The electronic device communicates with and shares data with other devices in the electronic network, which substantially improves the device capabilities and functionality within the individual electronic device. In some embodiments, the electronic network is implemented in a home environment, such as a personal computer, digital video disc (di).
Data and device resources are flexibly and effectively shared between various consumer devices such as digital video discs), digital set top boxes for digital broadcasting, high-performance television sets, and audio playback devices.

【0003】[0003]

【発明が解決しようとする課題】[Problems to be Solved by the Invention]

電子機器のネットワークにおいて、タスクスケジューリング処理を効率的に管
理することは、電子機器の設計者にとって重要な課題である。例えば、機器の機
能及び性能の向上に対する要求が高まると、より大きな処理能力及び更なるリソ
ースが必要となる。処理又はハードウェアに対する要求が厳しくなると、製造コ
ストが高くなり、及び処理の効率が低下するといった、経済的問題が生じる。
Efficient management of task scheduling processing in a network of electronic devices is an important issue for designers of electronic devices. For example, the increasing demand for improved functionality and performance of equipment requires greater processing power and additional resources. The stringent requirements for processing or hardware raise economic costs such as increased manufacturing costs and reduced processing efficiency.

【0004】 ネットワークのサイズも電子機器のスケジューリング処理に影響を与える要因
の1つである。電子ネットワークにおける通信は、個別の機器又はノードの数が
多くなる程、より複雑になる。ここで、電子ネットワーク内の特定の機器をロー
カルソフトウェアエレメントを有するローカル機器と定義し、電子ネットワーク
内の他の機器をリモートソフトウェアエレメントを有するリモート機器と定義す
る。ローカル機器のローカルソフトウェアモジュールは、電子ネットワークを介
して、リモート機器内の様々なリモートソフトウェアエレメントにデータを転送
する必要がある。ここで、ネットワークに亘って実質的な数の電子機器を効率的
に管理することにより、システムユーザに大きな利益をもたらすことができる。
The size of the network is also one of the factors that affect the scheduling process of electronic devices. Communication in electronic networks becomes more complex as the number of individual devices or nodes increases. Here, a specific device in the electronic network is defined as a local device having a local software element, and another device in the electronic network is defined as a remote device having a remote software element. The local software module of the local device needs to transfer the data via the electronic network to the various remote software elements in the remote device. Here, by effectively managing a substantial number of electronic devices across a network, system users can be greatly benefited.

【0005】 さらに、様々な高度な処理タスクを実行するために機器の機能を拡張すること
はユーザにとって有益であるが、これにより、電子ネットワーク内の様々な機器
を制御及び管理するための負担も大きくなる。例えば、デジタルテレビジョン番
組のデータに効率的にアクセスし、デジタルテレビジョン番組のデータを処理し
、デジタルテレビジョン番組を表示する高度な機能を有する電子ネットワークの
分野では、処理するデジタルデータの量及び複雑さのために、効率的なネットワ
ーク通信技術の実現が望まれる。
Moreover, while extending the capabilities of devices to perform various sophisticated processing tasks is beneficial to users, it also adds a burden to control and manage various devices in electronic networks. growing. For example, in the field of electronic networks with advanced capabilities to efficiently access data of digital television programs, process data of digital television programs, and display digital television programs, the amount of digital data to be processed and Due to the complexity, realization of efficient network communication technology is desired.

【0006】 システム処理リソースに対する要求が厳しくなり及びデータ量が実質的に増加
しているため、スケジューリング処理タスクを管理する新たな効率的な方法の実
現は、関連する電子技術における重要な課題である。上述した課題に鑑み、本発
明の目的は、現代の電子機器の設計者、製造業者及びユーザのために、電子機器
における処理タスクを効率的に実行する方法を提供することである。
Due to the increasing demands on system processing resources and the substantial increase in the amount of data, realization of a new and efficient way of managing scheduling processing tasks is an important issue in the related electronic technology. . In view of the above-mentioned problems, it is an object of the present invention to provide a method for efficiently performing processing tasks in electronic devices for designers, manufacturers and users of modern electronic devices.

【0007】[0007]

【課題を解決するための手段】[Means for Solving the Problems]

本発明は、電子機器においてスケジューリング処理を効率的に実行する装置及
び方法を提供する。一具体例においては、まず、機器ソフトウェアは、スケジュ
ーリング要求を生成して割当マネージャに供給し、これにより特定のタスクのス
ケジューリング及び実行を要求する。このスケジューリング要求は、好ましくは
、要求されるタスクに対応する実行間隔T及びリソース要求を含む。
The present invention provides an apparatus and method for efficiently executing a scheduling process in an electronic device. In one embodiment, the instrument software first generates a scheduling request and supplies it to the assignment manager, which requests scheduling and execution of a particular task. This scheduling request preferably includes an execution interval T and a resource request corresponding to the requested task.

【0008】 実行間隔Tは、好ましくは、電子機器においてタスク実行を完了すべき期間を
特定する情報を含む。リソース要求は、例えば、対応するタスクを実行するため
に全体の機器リソースのうちのどれ程の割合のリソースが使用されるかを特定す
る情報を含む。
The execution interval T preferably includes information specifying a period in which task execution should be completed in the electronic device. The resource request includes, for example, information specifying how much of the total device resources are used to perform the corresponding task.

【0009】 割当マネージャは、スケジューリング要求に応じて、利用可能な機器リソース
に鑑み、要求されたタスクのスケジューリングが許可できるものであるか否かを
判定する。さらに、割当マネージャは、要求パラメータを評価し、実行間隔Tの
期間が所定の実行条件を確実の満たすようにする。一具体例において、この実行
条件は、例えば、各タスクの実行間隔が基準となる基本サイクルの2の累乗倍と
なることを要求する。
In response to the scheduling request, the assignment manager considers the available device resources and determines whether or not the scheduling of the requested task can be permitted. Furthermore, the allocation manager evaluates the request parameters and ensures that the duration of the execution interval T fulfills a predetermined execution condition. In one embodiment, this execution condition requires that the execution interval of each task be a power of 2 times the reference basic cycle, for example.

【0010】 十分なリソースが利用可能であり、実行間隔Tが実行条件を満たす場合、割当
マネージャは、要求されたタスクを優先順位が定められたタスクテーブルに登録
する。一具体例において、割当マネージャは、タスクの実行優先レベルが各タス
クの実行間隔に反比例するように、タスクテーブルにおいてタスクをランク付け
する。
If sufficient resources are available and the execution interval T satisfies the execution condition, the allocation manager registers the requested task in a task table with priorities. In one implementation, the assignment manager ranks the tasks in the task table such that the task execution priority level is inversely proportional to the execution interval of each task.

【0011】 スケジューリングマネージャは、タスクテーブルを参照して、電子機器におい
て次にスケジューリング及び実行すべきタスクを特定する。スケジューリングマ
ネージャは、現在の基本サイクルにおいて、割り当てられたリソースを使い切っ
ていないタスクであって、最も高い優先順位を有する(最も短い実行間隔を有す
る)タスクを特定することにより、次にスケジューリング及び実行すべきタスク
を選択する。
The scheduling manager refers to the task table to specify the next task to be scheduled and executed in the electronic device. The scheduling manager then schedules and executes the next basic cycle by identifying the tasks that have not exhausted their allocated resources and have the highest priority (the one with the shortest execution interval). Select the task to be done.

【0012】 次にスケジューリング及び実行すべきタスクが特定されると、スケジューリン
グマネージャは、「実行準備完了」テーブルを参照して、特定された次のタスク
の実行準備が完了しているか否かを判定する。次のタスクの実行準備が完了して
いる場合、スケジューリングマネージャは、電子機器においてそのタスクをスケ
ジューリングし、そのタスク実行を開始する。一具体例において、スケジューリ
ングマネージャは、継続的に更新され、現在のタスクを実行するために使用され
ているリソースの量を示す「リソース消費」テーブルを参照する。
When the task to be scheduled and executed next is specified, the scheduling manager refers to the “ready for execution” table to determine whether the specified next task is ready for execution. To do. If the next task is ready to be executed, the scheduling manager schedules the task in the electronic device and starts executing the task. In one implementation, the scheduling manager consults a "resource consumption" table that is continuously updated and indicates the amount of resources used to perform the current task.

【0013】 これにより、スケジューリングマネージャは、使用されているリソースと、割
り当てられているリソースとを比較し、現在のタスクに割り当てられているリソ
ースが限界に達している場合、現在のタスクを終了し、これにより他のタスクを
スケジューリング及び実行できるようにする。このように、本発明によれば、割
当マネージャ、タスクテーブル及びスケジューリングマネージャを効果的に使用
して、電子機器におけるタスクのシーケンスを効率的にスケジューリングするこ
とができる。
This allows the scheduling manager to compare the used resources with the allocated resources and terminate the current task if the resources allocated to the current task have reached the limit. , Which allows other tasks to be scheduled and executed. As described above, according to the present invention, it is possible to effectively use the allocation manager, the task table, and the scheduling manager to efficiently schedule a sequence of tasks in an electronic device.

【0014】[0014]

【発明の実施の形態】DETAILED DESCRIPTION OF THE INVENTION

本発明は、電子機器の改良に関する。以下の説明は、特許出願の方式及びその
要求に基づき、当業者が本発明を実施及び使用することができる程度に詳細に本
発明を開示するものである。当業者は、以下の好ましい実施の形態の様々な変形
を容易に想到することができ、ここに説明する原理は、他の実施の形態にも適用
することができる。すなわち、本発明は、以下に説明する実施の形態に限定され
るものではなく、以下に説明する原理及び特徴に対応する最も広い範囲を包含す
るものと解釈される。
The present invention relates to improvements in electronic equipment. The following description discloses the present invention in such details that those skilled in the art can make and use the present invention based on the method of patent application and its requirements. Those skilled in the art can easily devise various modifications of the following preferred embodiments, and the principles described herein can be applied to other embodiments. That is, the present invention is not limited to the embodiments described below, but is construed to include the widest range corresponding to the principles and features described below.

【0015】 本発明は、電子機器においてスケジューリング処理を効率的に実行する装置及
び方法、並びに所定の要求パラメータに基づいてタスクスケジューリング要求を
初期的に評価する割当マネージャを提供する。要求パラメータは、例えばリソー
ス要求及び実行間隔を含む。タスクスケジューリング要求が許諾されると、割当
マネージャは、優先順位を有するタスクテーブルに対応するタスクを追加する。
スケジューリングマネージャは、タスクテーブルを参照し、電子機器におけるス
ケジューリング及び実行のための次のタスクを効率的に特定する。
The present invention provides an apparatus and method for efficiently executing a scheduling process in an electronic device, and an allocation manager that initially evaluates a task scheduling request based on predetermined request parameters. Request parameters include, for example, resource requirements and execution intervals. When the task scheduling request is granted, the assignment manager adds the corresponding task to the task table with priority.
The scheduling manager refers to the task table to efficiently identify the next task for scheduling and execution on the electronic device.

【0016】 図1は、本発明を適用した電子機器のネットワーク110の構成を示すブロッ
ク図である。この具体例においては、ネットワーク110は、特にこのような構
成に限定されるものではないが、機器112(機器A112(a)、機器B11
2(b)、ルート機器114、機器C112(c)、機器D112(d)、機器
E112(e))を備える。変形例においては、電子機器のネットワーク110
は、図1に示すこれらの機器に加えて、又はこれらの機器に代えて、他の様々な
機器又はコンポーネントを備えていてもよい。また、変形例においては、ネット
ワーク110は、他の適切且つ適当な手法により接続及び構成されていてもよい
FIG. 1 is a block diagram showing the configuration of a network 110 of electronic equipment to which the present invention is applied. In this specific example, the network 110 is not particularly limited to such a configuration, but the device 112 (device A112 (a), device B11).
2 (b), root device 114, device C112 (c), device D112 (d), device E112 (e)). In a modification, the network 110 of electronic devices
May include various other devices or components in addition to or instead of these devices shown in FIG. In addition, in a modification, the network 110 may be connected and configured by another appropriate and appropriate method.

【0017】 図1に示す具体例においては、ネットワーク110における機器112は、こ
れらに限定されるものではないが、例えばパーソナルコンピュータ、プリンタ、
デジタルビデオディスク装置、テレビジョンセット、オーディオシステム、ビデ
オテープレコーダ、デジタル放送用セットトップボックス等、いかなる種類の電
子機器であってもよい。また、図1に示す具体例において、機器112は、ネッ
トワークバス132を用いて相互に通信を行う。ネットワークバス132は、パ
ス132(a)、パス132(b)、パス132(c)、パス132(d)、パ
ス132(e)を有する。例えば、機器B112(b)は、パス132(a)を
介して機器A112(a)に接続されているとともに、パス132(b)を介し
てルート機器114に接続されている。同様に、ルート機器114は、パス13
2(c)を介して機器C112(c)に接続されているとともに、パス132(
d)を介して機器D112(d)に接続されている。さらに、機器D112(d
)は、パス132(e)を介して、コンピュータ116に接続されている。図1
に示す具体例においては、ネットワークバス132は、好ましくは、IEEEに
おける高性能シリアルバス用のP1394規格(1995年版)に準拠したもの
であり、この規格は、参照することにより本願に組み込まれるものとする。なお
、変形例においては、ネットワーク110は、他の様々なネットワーク相互接続
方式を用いて通信及び機能してもよく、このような形態も同様に本発明の範囲内
にある。
In the specific example shown in FIG. 1, the devices 112 in the network 110 include, but are not limited to, personal computers, printers,
It may be any kind of electronic device such as a digital video disc device, a television set, an audio system, a video tape recorder, a set top box for digital broadcasting. In the specific example shown in FIG. 1, the devices 112 communicate with each other using the network bus 132. The network bus 132 has a path 132 (a), a path 132 (b), a path 132 (c), a path 132 (d), and a path 132 (e). For example, the device B 112 (b) is connected to the device A 112 (a) via the path 132 (a) and is also connected to the root device 114 via the path 132 (b). Similarly, the root device 114 uses the path 13
2 (c) to the device C112 (c) and the path 132 (
device D112 (d) through device d112). Further, the device D112 (d
) Is connected to computer 116 via path 132 (e). Figure 1
In the specific example shown in FIG. 3, the network bus 132 is preferably based on the P1394 standard (1995 edition) for high performance serial bus in IEEE, which standard is incorporated herein by reference. To do. It should be noted that in variations, the network 110 may communicate and function using various other network interconnection schemes, and such forms are also within the scope of the invention.

【0018】 図1に示す具体例において、ネットワーク110内の任意の機器112は、他
の機器112と通信を行うことができる。例えば、機器E112(e)が機器B
112(b)と通信を行う場合、機器E112(e)は、パス132(e)を介
して機器D112(d)に転送データを送信し、この機器D112(d)がパス
132(d)を介してルート機器114に転送データを送信する。これに応じて
、ルート機器114は、パス132(b)を介して、機器B112(b)に転送
データを送信する。図1に示す具体例において、ルート機器114は、ネットワ
ーク110内の機器112に対し、アイソクロノス処理を同期させるためのマス
タサイクルスタート信号を供給する。他のネットワークの具体例においては、他
のいかなるネットワーク機器112がルート機器又はサイクルマスタとして機能
するよう設計してもよい。
In the specific example shown in FIG. 1, any device 112 in the network 110 can communicate with other devices 112. For example, the device E112 (e) is the device B.
When communicating with 112 (b), the device E112 (e) transmits the transfer data to the device D112 (d) via the path 132 (e), and the device D112 (d) takes the path 132 (d). The transfer data is transmitted to the root device 114 via. In response to this, the root device 114 transmits the transfer data to the device B 112 (b) via the path 132 (b). In the specific example shown in FIG. 1, the root device 114 supplies a master cycle start signal for synchronizing the isochronous process to the device 112 in the network 110. In other network implementations, any other network device 112 may be designed to act as a root device or cycle master.

【0019】 図2は、本発明に基づくネットワーク110内の機器112の構成の具体例を
示すブロック図である。機器112は、これらに限定されるものではないが、プ
ロセッサ212と、入出力(I/O)インタフェース214と、メモリ216と
、共通機器バス226と、バスインタフェース220とを備える。プロセッサ2
12、I/Oインタフェース214、メモリ216及びバスインタフェース22
0は、それぞれ共通機器バス226を介して接続されている。
FIG. 2 is a block diagram showing a specific example of the configuration of the device 112 in the network 110 according to the present invention. The device 112 includes, but is not limited to, a processor 212, an input / output (I / O) interface 214, a memory 216, a common device bus 226, and a bus interface 220. Processor 2
12, I / O interface 214, memory 216 and bus interface 22
0 are connected to each other via the common device bus 226.

【0020】 図2に示す具体例では、プロセッサ212は、いかなる適切な多目的マイクロ
プロセッサデバイス(multipurpose microprocessor device)により実現しても
よい。メモリ216は、これらに限定されるものではないが、読出専用メモリ、
ランダムアクセスメモリ、及びフロッピーディスク装置(登録商標)やハードデ
ィスク装置等の様々な種類の不揮発性メモリを含む1つ以上の適切なストレージ
デバイスにより実現してもよい。I/Oインタフェース214は、互換性を有す
る様々なソース及び/又は相手機器との通信におけるインタフェースを司る。
In the embodiment shown in FIG. 2, processor 212 may be implemented with any suitable multipurpose microprocessor device. Memory 216 includes, but is not limited to, read-only memory,
It may be implemented by one or more suitable storage devices, including random access memory and various types of non-volatile memory such as floppy disk drives or hard disk drives. The I / O interface 214 controls an interface for communication with various compatible sources and / or partner devices.

【0021】 本発明においては、バスインタフェース220は、機器112とネットワーク
110との間のインタフェースを司る。図2に示す具体例では、バスインタフェ
ース220は、ネットワークバス132を介して、ネットワーク110上の他の
機器112と通信を行う。また、バスインタフェース220は、共通機器バス2
26を介して、プロセッサ212、I/Oインタフェース214及びメモリ21
6と通信を行う。
In the present invention, the bus interface 220 controls the interface between the device 112 and the network 110. In the specific example shown in FIG. 2, the bus interface 220 communicates with another device 112 on the network 110 via the network bus 132. Further, the bus interface 220 is the common device bus 2
26, the processor 212, the I / O interface 214, and the memory 21.
6. Communicate with 6.

【0022】 図2に示す具体例において、機器112は、アイソクロノスデータ及びアイソ
クロノス処理を含む様々なタスクを実行する能力を有している。アイソクロノス
データは、通常、時間的な制約を有する情報を含み、このため、アイソクロノス
データは、適切なタイミングで転送及び処理する必要がある。例えば、即時的に
表示されるビデオデータは、ジッタ又は表示中の対応する画像の中断等が発生し
ないように、適切な機器に適切なタイミングで配信する必要がある。このため、
機器112は、「サイクル」と呼ばれる時間的セグメントにおいて、アイソクロ
ノス処理及び他の種類の処理を実行することが望ましい。
In the embodiment shown in FIG. 2, the instrument 112 is capable of performing various tasks including isochronous data and isochronous processing. The isochronous data usually includes information having a time constraint, and therefore the isochronous data needs to be transferred and processed at an appropriate timing. For example, video data that is displayed immediately needs to be delivered to an appropriate device at an appropriate timing so that jitter or interruption of the corresponding image being displayed does not occur. For this reason,
Equipment 112 preferably performs isochronous processing and other types of processing in temporal segments called "cycles."

【0023】 アイソクロノス処理のスケジューリングは、通常、「オーバヘッド」と呼ばれ
る有限の期間を要求する。サイクルタイム期間が短くなると、実際のアイソクロ
ノス転送を実行するための時間が短くなるため、サイクルタイム期間が短くなる
程、オーバヘッドは、より重要な要素となる。図2に示す具体例では、サイクル
周波数は約8kHzであり、サイクルタイム期間は、約125μsである。
Scheduling isochronous processing usually requires a finite period called “overhead”. The shorter the cycle time period, the shorter the time for performing the actual isochronous transfer. Therefore, the shorter the cycle time period, the more important the overhead becomes. In the example shown in FIG. 2, the cycle frequency is about 8 kHz and the cycle time period is about 125 μs.

【0024】 図3は、本発明に基づく図2に示すメモリ216の構成の具体例を示す図であ
る。図3に示す具体例においては、メモリ216は、これらに限定されるもので
はないが、機器ソフトウェア312と、割当マネージャ(allocation manager)
314と、スケジューリングマネージャ316と、タスクテーブル318とを有
する。変形例においては、メモリ216は、図3に示す要素とは異なる要素を追
加的に又は代替的に有していてもよい。
FIG. 3 is a diagram showing a specific example of the configuration of the memory 216 shown in FIG. 2 according to the present invention. In the specific example shown in FIG. 3, memory 216 includes, but is not limited to, device software 312 and an allocation manager.
314, a scheduling manager 316, and a task table 318. In variants, the memory 216 may additionally or alternatively have elements different from those shown in FIG.

【0025】 図3に示す具体例において、機器ソフトウェア312は、プロセッサ212に
より実行されて、機器112において様々な機能及び動作を実現するためのソフ
トウェアインストラクションを有する。機器ソフトウェア312の性質及び機能
は、ホストとなる機器112の種類及び用途等の要素に応じて変化する。
In the embodiment shown in FIG. 3, the instrument software 312 has software instructions that are executed by the processor 212 to implement various functions and operations in the instrument 112. The properties and functions of the device software 312 change depending on factors such as the type and usage of the host device 112.

【0026】 図3に示す具体例において、割当マネージャ314は、様々なスケジューリン
グ要求パラメータを分析し、特定のタスク又は処理が機器ソフトウェア312等
のエンティティの代理としてインスタンス化されているか否かを判定する。図3
に示す具体例においては、スケジューリングマネージャ316は、割当マネージ
ャ314により許可された所定のタスクのスケジューリング及び実行を制御する
。本発明の一具体例においては、割当マネージャ314は、タスクテーブル31
8を管理及び更新し、スケジューリングマネージャ316は、様々なタスクスケ
ジューリング及びタスク実行処理において、タスクテーブル318を参照する。
割当マネージャ314、スケジューリングマネージャ316、タスクテーブル3
18については、図4〜図9を用いて後に説明する。
In the embodiment shown in FIG. 3, the allocation manager 314 analyzes various scheduling request parameters to determine whether a particular task or process is instantiated on behalf of an entity such as the appliance software 312. . Figure 3
In the illustrated example, the scheduling manager 316 controls the scheduling and execution of certain tasks authorized by the allocation manager 314. In one embodiment of the invention, allocation manager 314 uses task table 31
8 manages and updates 8 and the scheduling manager 316 references the task table 318 in various task scheduling and task execution processes.
Allocation manager 314, scheduling manager 316, task table 3
Item 18 will be described later with reference to FIGS.

【0027】 図4は、図3に示す本発明に基づくタスクテーブル318の具体例を示す図で
ある。図4に示す具体例においては、タスクテーブル318は、タスク#1(5
12(a))〜タスク#N(512(d))を含んでいる。図4に示す各タスク
#1(512(a))〜タスク#N(512(d))は、機器112により実行
される特定のタスク、処理又は機能に対応している。例えば、これらのタスクは
、プロセッサ処理、メモリアクセス、データ転送、信号処理等の所望の処理又は
機能を含んでいてもよい。
FIG. 4 is a diagram showing a concrete example of the task table 318 according to the present invention shown in FIG. In the specific example shown in FIG. 4, the task table 318 has task # 1 (5
12 (a)) to task #N (512 (d)). Each of task # 1 (512 (a)) to task #N (512 (d)) illustrated in FIG. 4 corresponds to a specific task, process, or function executed by the device 112. For example, these tasks may include desired processing or functions such as processor processing, memory access, data transfer, signal processing, and the like.

【0028】 図4に示す具体例において、各タスク#1(512(a))〜タスク#N(5
12(d))は、実行間隔(execution interval)、ダンビット("done" bit)
及び対応するリソース要求を含んでいる。すなわち、各タスク#1(512(a
))〜タスク#N(512(d))は、例えば、それぞれに対応する実行間隔#
1(514(a))〜#N(514(d))、それぞれに関連付けられたダンビ
ット#1(518(a))〜#N(518(d))、及びそれぞれに関連付けら
れたリソース要求#1(516(a))〜#N(516(d))を含む。変形例
においては、タスクテーブル318は、図4に示す要素に加えて又はこれらに代
えて他の様々な要素を含んでいてもよい。
In the specific example shown in FIG. 4, each of task # 1 (512 (a)) to task #N (5
12 (d)) is an execution interval, "done" bit
And the corresponding resource requirements. That is, each task # 1 (512 (a
)) To task #N (512 (d)), for example, the execution interval #
1 (514 (a)) to #N (514 (d)), Danbit # 1 (518 (a)) to #N (518 (d)) associated with each, and Resource Request # associated with each. 1 (516 (a)) to #N (516 (d)). In a modification, the task table 318 may include various other elements in addition to or instead of the elements shown in FIG.

【0029】 図4に示す具体例においては、各実行間隔#1(514(a))〜#N(51
4(d))は、それぞれタスク#1(512(a))〜タスク#N(512(d
))の実行を完了すべき期間を特定する値「T」を含んでいる。リソース要求#
1(516(a))〜#N(516(d))は、対応する各タスク#1(512
(a))〜タスク#N(512(d))の実行に必要なリソース量に関する情報
が格納されている。リソース要求は、これらに限定されるものではないが、バス
帯域幅要求、処理パワー要求、メモリ要求等であってもよい。
In the specific example shown in FIG. 4, the execution intervals # 1 (514 (a)) to #N (51).
4 (d)) is task # 1 (512 (a)) to task #N (512 (d)).
)) Contains the value “T” that specifies the period during which execution should be completed. Resource request #
1 (516 (a)) to #N (516 (d)) correspond to the corresponding task # 1 (512).
(A))-Information about the amount of resources required to execute task #N (512 (d)) is stored. Resource requests may be, but are not limited to, bus bandwidth requests, processing power requests, memory requests, and the like.

【0030】 図4に示す具体例において、リソース要求#1(516(a))〜#N(51
6(d))は、機器112において利用可能なリソースの総量に対するパーセン
テージとして表現してもよい。なお、変形例においては、リソース要求#1(5
16(a))〜#N(516(d))は、要求される適切ないかなる形式で表現
してもよい。
In the specific example shown in FIG. 4, resource requests # 1 (516 (a)) to #N (51
6 (d)) may be expressed as a percentage of the total amount of resources available on the device 112. In the modification, resource request # 1 (5
16 (a)) to #N (516 (d)) may be expressed in any suitable format required.

【0031】 図4に示す具体例においては、機器112は、適切なダンビット518を設定
し、これにより現在のアイソクロノスサイクルにおいて、対応するタスク512
が実行されたことを指示する。リソース要求516、ダンビット518、実行間
隔514については、図5〜図9を用いて後に詳細に説明する。
In the embodiment shown in FIG. 4, the instrument 112 sets the appropriate dambit 518 so that the corresponding task 512 in the current isochronous cycle.
Is executed. The resource request 516, the dambit 518, and the execution interval 514 will be described in detail later with reference to FIGS.

【0032】 本発明に基づくスケジューリング処理を行う装置のブロックを図5に示す。変
形例においては、本発明に基づくスケジューリング処理は、他の様々な手法及び
構成を用いて実現してもよい。
FIG. 5 shows a block diagram of an apparatus for performing a scheduling process according to the present invention. In variations, the scheduling process according to the present invention may be implemented using various other techniques and configurations.

【0033】 図5に示す具体例においては、機器ソフトウェア312は、まず、パス412
を介して、割当マネージャ314にスケジューリング要求を供給し、これにより
、機器112に特定のタスクをスケジューリング及び実行させる。このスケジュ
ーリング要求には、好ましくは、1つ以上の要求パラメータが含まれる。図5に
示す具体例において、この要求パラメータは、例えば、要求タスクに対応する実
行間隔T及びリソース要求を含む。
In the specific example shown in FIG. 5, the device software 312 first sets the path 412.
To the allocation manager 314, which causes the device 112 to schedule and perform a particular task. The scheduling request preferably includes one or more request parameters. In the specific example shown in FIG. 5, this request parameter includes, for example, the execution interval T corresponding to the request task and the resource request.

【0034】 図4を用いて説明したように、実行間隔Tは、機器112において、対応する
要求されたタスクを実行するべき期間を特定する情報を含んでいる。また、リソ
ース要求は、好ましくは、対応するタスクを実行するにあたり、機器112にお
ける全体のリソースのうちのどれ程の量のリソースが使用されるかを表す情報を
含んでいる。図5に示す具体例においては、リソース要求の要求パラメータは、
例えば、対応するタスクに必要なリソースの長い期間の平均値(long-term aver
age)としている。
As described with reference to FIG. 4, the execution interval T includes information that specifies the period in which the corresponding requested task should be executed in the device 112. The resource request also preferably includes information that represents how much of the total resources in device 112 are used to perform the corresponding task. In the specific example shown in FIG. 5, the request parameter of the resource request is
For example, the long-term average value of the resources required for the corresponding task (long-term averaging
age).

【0035】 これに応じて、割当マネージャ314は、機器112において利用可能なリソ
ースの観点から、要求されたタスクのスケジューリングを許可できるか否かを判
定する。図5に示す具体例において、割当マネージャ314は、新たなリソース
要求パラメータを機器112の現在のリソース割当値に加算し、現在のスケジュ
ーリング要求が機器112において利用可能なリソースの総量の100パーセン
ト以上を要求するか否か判定して、現在のスケジューリング要求を許可するか否
かを決定することにより、割り当てられたリソースを100パーセント以内に制
限する。
In response, the allocation manager 314 determines whether the scheduling of the requested task can be allowed in terms of the resources available on the device 112. In the specific example shown in FIG. 5, the allocation manager 314 adds new resource request parameters to the current resource allocation value of the device 112 so that the current scheduling request is 100% or more of the total amount of resources available at the device 112. Limit the allocated resources to within 100 percent by determining whether to request and deciding whether to grant the current scheduling request.

【0036】 さらに、割当マネージャ314は、要求パラメータを評価し、これにより、実
行間隔Tが確実に所定の実行条件(execution specifications)を満たすように
する。本発明に基づき、実行間隔に課せられる制約については、図6〜図9を用
いて後に説明する。
In addition, the allocation manager 314 evaluates the request parameters, thereby ensuring that the execution interval T meets predetermined execution specifications. The restrictions imposed on the execution intervals according to the present invention will be described later with reference to FIGS. 6 to 9.

【0037】 十分なリソースが利用可能ではない場合、又は実行間隔Tが実行条件を満たし
ていない場合、割当マネージャ314は、スケジューリング要求を拒絶し、パス
412を介して、機器ソフトウェアある機器アプリケーション312にエラーメ
ッセージを戻す。一方、十分なリソースが利用可能であり、実行間隔Tが実行条
件を満たしている場合、割当マネージャ314は、パス414を介して、タスク
テーブル318に要求されたタスクを追加する。図5に示す具体例においては、
割当マネージャ314は、要求パラメータとして、実行間隔514及びリソース
要求516をタスクテーブル318に供給する(図4)。
If sufficient resources are not available, or if the execution interval T does not meet the execution conditions, the allocation manager 314 rejects the scheduling request and, via path 412, to the device software, a device application 312. Returns an error message. On the other hand, when sufficient resources are available and the execution interval T satisfies the execution condition, the allocation manager 314 adds the requested task to the task table 318 via the path 414. In the specific example shown in FIG.
The allocation manager 314 supplies the task table 318 with the execution interval 514 and the resource request 516 as request parameters (FIG. 4).

【0038】 図5に示す具体例において、割当マネージャ314は、好ましくは、タスクテ
ーブル318において、タスク#1(512(a))〜タスク#N(512(d
))の実行の優先順位を指定するランク付けを行う。図5に示す具体例において
は、割当マネージャ314は、タスク#1(512(a))〜タスク#N(51
2(d))の各実行間隔#1(514(a))〜#N(514(d))に基づき
、実行間隔514が最も短いタスク512の優先順位を最も高くし、実行間隔5
14が最も短いタスク512の優先順位を最も低くすることにより、タスク#1
(512(a))〜タスク#N(512(d))をランク付けする。割当マネー
ジャ314は、機器アプリケーション312からのスケジューリング要求を許可
し、パス412を介して、機器アプリケーション312に要求許可メッセージを
戻す。
In the specific example shown in FIG. 5, the assignment manager 314 preferably uses task # 1 (512 (a)) to task #N (512 (d) in the task table 318.
)) Is performed to specify the priority of execution. In the specific example shown in FIG. 5, the allocation manager 314 uses the task # 1 (512 (a)) to the task #N (51).
2 (d)) based on the execution intervals # 1 (514 (a)) to #N (514 (d)), the task 512 having the shortest execution interval 514 is given the highest priority and the execution interval 5
14 gives the shortest task 512 the lowest priority, so that task # 1
(512 (a)) to task #N (512 (d)) are ranked. The allocation manager 314 grants the scheduling request from the device application 312 and returns a request grant message to the device application 312 via path 412.

【0039】 図5に示す具体例において、機器112は、あらゆる任意の時刻において、単
一のタスクのみを実行し、このタスクは、好ましくは、それぞれが正確に同じ期
間を有する一連の連続的な基本サイクルのコンテキストにおいて実行される。図
2を用いて説明したように、図5に示す具体例においては、基本サイクル期間は
、125μsのアイソクロノスサイクルからなる。
In the embodiment shown in FIG. 5, the instrument 112 performs only a single task at any given time, which task is preferably a series of consecutive, each having exactly the same duration. It is executed in the context of the basic cycle. As described with reference to FIG. 2, in the specific example shown in FIG. 5, the basic cycle period consists of an isochronous cycle of 125 μs.

【0040】 図5に示す具体例においては、タスク実行の間、スケジューリングマネージャ
316は、パス415を介してタスクテーブル318を参照し、機器112にお
いてスケジューリング及び実行すべき次のタスクを特定する。上述のように、ス
ケジューリングマネージャ316は、現在の基本サイクルにおいて割り当てられ
たリソースを消費していない最も高い優先順位(最も短い実行間隔)を有するタ
スク512を識別することにより、次にスケジューリング及び実行するタスクを
選択する。
In the example shown in FIG. 5, during task execution, the scheduling manager 316 references task table 318 via path 415 to identify the next task to schedule and execute in device 112. As described above, the scheduling manager 316 next schedules and executes by identifying the task 512 with the highest priority (shortest execution interval) that does not consume the allocated resources in the current base cycle. Select a task.

【0041】 スケジューリング及び実行のための次のタスクが特定されると、スケジューリ
ングマネージャ316は、「実行準備完了(ready-to-run)」テーブルを参照し
、特定された次のタスクが準備状態にあるか否かを判定する。タスクが「実行準
備完了」テーブルに登録されていない場合、スケジューリングマネージャ316
は、タスクテーブル318にリストされているタスクが直ちに実行できる準備が
できていないと判定する。
When the next task for scheduling and execution is identified, the scheduling manager 316 looks up the “ready-to-run” table to put the identified next task in a ready state. Determine if there is. If the task is not registered in the "ready to run" table, the scheduling manager 316
Determines that the tasks listed in task table 318 are not ready for immediate execution.

【0042】 特定された次のタスクの準備が完了している場合、スケジューリングマネージ
ャ316は、機器112において、そのタスクをスケジューリングし、実行を開
始する。図5に示す具体例においては、スケジューリングマネージャ316は、
好ましくは、継続的に更新され、現在のタスクを実行するために使用されている
リソースの量を示す「リソース消費(resources-consumed)」テーブルを監視す
る。スケジューリングマネージャ316は、現在使用されいているリソース量と
、リソース要求516に割り当てられているリソース量とを比較し、リソース割
当量が限界に達している場合、現在のタスクを終了する。
If the next task identified is ready, the scheduling manager 316 schedules the task at the device 112 and begins execution. In the specific example shown in FIG. 5, the scheduling manager 316 is
Preferably, it monitors a "resources-consumed" table that shows the amount of resources that are continuously updated and used to perform the current task. The scheduling manager 316 compares the resource amount currently used with the resource amount allocated to the resource request 516, and if the resource allocation amount reaches the limit, terminates the current task.

【0043】 図5に示す具体例において、スケジューリングマネージャ316は、好ましく
は、各基本サイクルの開始時に以前の処理をリセットする。換言すれば、リソー
ス要求516により指示されているリソースは、好ましくは、サイクル単位で提
供される。したがって、各基本サイクルの開始時において、スケジューリングマ
ネージャ316は、好ましくは、パス415を介してタスクテーブル318を参
照し、タスクの優先順位又は実行間隔に基づいて、タスクのスケジューリング及
び実行を再開する。このように、本発明の具体例においては、割当マネージャ3
14、タスクテーブル318、スケジューリングマネージャ316を用いて、機
器112におけるタスクのシーケンスを効率的にスケジューリングすることがで
きる。
In the embodiment shown in FIG. 5, the scheduling manager 316 preferably resets previous processing at the beginning of each basic cycle. In other words, the resources indicated by resource request 516 are preferably provided on a cycle-by-cycle basis. Therefore, at the beginning of each basic cycle, the scheduling manager 316 preferably references the task table 318 via path 415 and resumes task scheduling and execution based on task priority or execution interval. Thus, in the embodiment of the present invention, the allocation manager 3
14, the task table 318 and the scheduling manager 316 can be used to efficiently schedule a sequence of tasks on the device 112.

【0044】 図6は、本発明の一具体例における、3つのタスクの実行間隔のタイミングチ
ャートである。図6に示すタイミングチャートは、図6(A)612、図6(B
)614、図6(C)616から構成されている。図6に示すタイミングチャー
トは、例示的なものであり、本発明は、他の様々な波形、実行間隔、タスク及び
タイミング関係(timing relationships)のコンテキストにおいて実現すること
ができる。
FIG. 6 is a timing chart of the execution intervals of the three tasks in the specific example of the present invention. The timing charts shown in FIG. 6 are shown in FIGS.
) 614 and FIG. 6 (C) 616. The timing chart shown in FIG. 6 is exemplary, and the invention may be implemented in the context of various other waveforms, execution intervals, tasks and timing relationships.

【0045】 図6に示すタイミングチャートは、様々なタスクを実行するためのタイミング
基準として、機器112において規則的に発生する一連の切れ目のない連続的な
基本サイクルを表している。図6(A)、図6(B)、図6(C)は、それぞれ
機器112においてスケジューリング及び実行される異なる種類のタスクを表し
ている。なお、上述のように、この具体例では、機器112は、あらゆる任意の
時刻において、図6に示すタスクのうちの1つのみを実行する。
The timing chart shown in FIG. 6 represents a series of uninterrupted continuous basic cycles that occur regularly in device 112 as a timing reference for performing various tasks. 6 (A), 6 (B), and 6 (C) respectively represent different types of tasks scheduled and executed in the device 112. As described above, in this specific example, the device 112 executes only one of the tasks shown in FIG. 6 at any arbitrary time.

【0046】 図6(A)612の波形は、各基本サイクルの開始時に確実に実行することが
望ましい一連のタスクa1〜a4を示している。図6に示す具体例においては、
図6(A)612の波形は、基本サイクルに等しい実行間隔T1(630)内に
完了する。この具体例においては、タスクa1〜a4は、最も短い実行間隔T1
(630)を有するため、上述のように、タスクa1〜a4は、スケジューリン
グに関して最も高い優先順位を有している。
The waveform in FIG. 6A 612 illustrates a series of tasks a1-a4 that it is desirable to reliably execute at the beginning of each basic cycle. In the specific example shown in FIG.
The waveform of FIG. 6A 612 completes within the execution interval T1 (630) equal to the basic cycle. In this specific example, tasks a1 to a4 have the shortest execution interval T1.
Since it has (630), the tasks a1 to a4 have the highest priority with respect to scheduling, as described above.

【0047】 一方、図6(B)614の波形は、タスクb1、b2を示している。図6に示
す具体例においては、図6(B)614に示す波形は、基本サイクルの2の1乗
倍に等しい実行間隔T2(632)内に完了する。この具体例においては、タス
クb1、b2は、2番目に短い実行間隔T2(632)を有するため、タスクb
1、b2は、スケジューリングに関して2番目に高い優先順位を有している。
On the other hand, the waveform in FIG. 6B 614 indicates tasks b1 and b2. In the example shown in FIG. 6, the waveform shown in FIG. 6B 614 is completed within the execution interval T2 (632) equal to 2 to the power of 1 of the basic cycle. In this specific example, tasks b1 and b2 have the second shortest execution interval T2 (632), so task b
1, b2 has the second highest priority for scheduling.

【0048】 また、図6(C)616の波形は、タスクc1を示している。図6に示す具体
例においては、図6(C)616の波形は、基本サイクルの2の2乗倍に等しい
実行間隔T3(634)内に完了する。この具体例においては、タスクc1は、
最も長い実行間隔T3(634)を有しているため、タスクc1は、スケジュー
リングに関して最も低い優先順位を有している。
The waveform in FIG. 6C 616 indicates the task c1. In the example shown in FIG. 6, the waveform of FIG. 6 (C) 616 completes within an execution interval T3 (634) equal to 2 squared of the basic cycle. In this specific example, task c1 is
Having the longest execution interval T3 (634), task c1 has the lowest priority with respect to scheduling.

【0049】 図5及びこのタイミングチャートを用いて説明したように、割当マネージャ3
14は、機器ソフトウェア312から受け取ったスケジューリング要求パラメー
タを評価し、実行期間Tが厳密な実行条件を確実に満たすようにする。図6に示
す具体例においては、上述の実行条件は、各タスクの実行間隔が例えば基本サイ
クルの2の累乗倍となることを要求している。
As described using FIG. 5 and this timing chart, the allocation manager 3
14 evaluates the scheduling request parameters received from the device software 312 and ensures that the execution period T fulfills strict execution conditions. In the specific example shown in FIG. 6, the above execution condition requires that the execution interval of each task be, for example, a power of 2 times the basic cycle.

【0050】 すなわち、図6に示す具体例においては、各実行期間Tは、以下の式により表
すことができる。 T=(tbase)2 ここで、tbaseは基本サイクルの期間を表し、Tは、機器112において
タスクをスケジューリング及び実行するために必要な実行間隔を表す。
That is, in the specific example shown in FIG. 6, each execution period T can be expressed by the following equation. T = (t base ) 2 n Here, t base represents the period of the basic cycle, and T represents the execution interval required for scheduling and executing the task in the device 112.

【0051】 変形例においては、様々なタスクの実行間隔は、様々な実行間隔の間で対称的
関係が維持される適切ないかなる手法により基本サイクルに関連付けてもよい。
例えば、機器112の実行条件は、各タスクの実行期間が基本サイクル期間の整
数(例えば、3又は4)の累乗倍に対応することを要求してもよい。
In variants, the execution intervals of the various tasks may be associated with the basic cycle in any suitable way that maintains a symmetric relationship between the various execution intervals.
For example, the execution condition of the device 112 may require that the execution period of each task corresponds to an integral multiple (eg, 3 or 4) of the basic cycle period.

【0052】 このように、本発明は、機器112において実行するためにスケジューリング
されるタスクの実行期間に対して制約を課すことにより、スケジューリングの効
率を高めている。すなわち、本発明に基づき、実行間隔を制限することにより、
様々なタスクの開始時刻間のずれ(skew)を解消し、これによりスケジューリン
グ処理は、対称的なスケジューリングフォーマットにおいて、より予測可能な形
式で機能する。
As described above, the present invention enhances the efficiency of scheduling by imposing a constraint on the execution period of a task scheduled to be executed in the device 112. That is, according to the present invention, by limiting the execution interval,
It eliminates the skew between the start times of various tasks, which allows the scheduling process to work in a more predictable manner in a symmetric scheduling format.

【0053】 図7は、本発明の具体例として図6に示した3つのタスクのスケジューリング
シーケンスを示すタイミングチャートである。なお、本発明は、変形例において
、この図7に示すスケジューリングシーケンスとは異なる様々なスケジューリン
グシーケンスを生成することができる。
FIG. 7 is a timing chart showing a scheduling sequence of the three tasks shown in FIG. 6 as a specific example of the present invention. In the modification, the present invention can generate various scheduling sequences different from the scheduling sequence shown in FIG. 7.

【0054】 図7は、上述した図6と同様、様々なタスクのスケジューリング及び実行のた
めのタイミング基準として機器112において発生する一連の連続的な基本サイ
クルを示している。図7に示す具体例においては、上述した各基本サイクルは、
時刻618、620、622、624、626から開始する。
FIG. 7, like FIG. 6 described above, illustrates a series of consecutive basic cycles that occur at the instrument 112 as a timing reference for the scheduling and execution of various tasks. In the specific example shown in FIG. 7, each basic cycle described above is
Start at times 618, 620, 622, 624, 626.

【0055】 図7に示す具体例では、時刻618において、タスクa1(最も高い優先順位
及び最も短い実行間隔を有する)の実行がスケジューリングされる。タスクa1
が割り当てられたリソースを使用すると、タスクa1に続いてタスクb1(2番
目の優先順位を有する)の最初の部分が開始される。時刻620において、次の
基本サイクルが開始されると、サイクルリセットが発生し、タスクa2(最も高
い優先順位及び最も短い実行間隔を有する)の実行がスケジューリングされる。
In the specific example shown in FIG. 7, at time 618, the execution of task a1 (having the highest priority and the shortest execution interval) is scheduled. Task a1
Using the resources allocated to it, the first part of task b1 (having the second priority) is started following task a1. At time 620, when the next basic cycle begins, a cycle reset occurs and task a2 (with highest priority and shortest execution interval) is scheduled for execution.

【0056】 タスクa2が割り当てられたリソースを使用すると、タスクa2に続いて、タ
スクb1(2番目の優先順位を有する)の最後の部分が実行される。タスクb1
が割り当てられたリソースを使用すると、タスクb1に続いて、タスクc1(最
も低い優先順位を有する)の最初の部分が開始される。
When the resource allocated by task a2 is used, the last part of task b1 (having the second priority) is executed following task a2. Task b1
Using the allocated resources, the first part of task c1 (having the lowest priority) is started following task b1.

【0057】 時刻622において、次の基本サイクルが開始されると、サイクルリセットが
発生し、タスクa3(最も高い優先順位及び最も短い実行間隔を有する)の実行
がスケジューリングされる。タスクa3が割り当てられたリソースを使用すると
、タスクa3に続いてタスクc1(最も低い優先順位を有する)の第2の部分が
実行される。
At time 622, when the next basic cycle begins, a cycle reset occurs and task a3 (with highest priority and shortest execution interval) is scheduled for execution. When task a3 uses the allocated resources, task a3 is followed by the second part of task c1 (which has the lowest priority).

【0058】 ステップ624において次の基本サイクルが開始されると、サイクルリセット
が発生し、タスクa4(最も高い優先順位及び最も短い実行間隔を有する)の実
行がスケジューリングされる。タスクa4が割り当てられたリソースを使用する
と、タスクa4に続いてタスクc1(最も低い優先順位を有する)の最後の部分
が実行される。タスクc1が割り当てられたリソースを使用すると、機器112
は、時刻626において次の基本サイクルが開始されるまで、様々なシステムタ
スクを実行する。
When the next basic cycle is started in step 624, a cycle reset occurs and task a4 (with highest priority and shortest execution interval) is scheduled for execution. When task a4 uses the allocated resources, task a4 is followed by the last part of task c1 (which has the lowest priority). When the resource allocated to the task c1 is used, the device 112
Performs various system tasks until the next basic cycle begins at time 626.

【0059】 図8は、本発明に基づいてスケジューリング要求を取り扱う処理を説明するフ
ローチャートである。変形例においては、本発明に基づき、図8とは異なるステ
ップ及びシーケンスによりスケジューリング要求を処理してもよい。
FIG. 8 is a flowchart illustrating a process of handling a scheduling request according to the present invention. Alternatively, according to the present invention, the scheduling request may be processed by a different step and sequence from FIG.

【0060】 図8に示す具体例においては、まず、ステップ812において、エンティティ
(例えば、機器アプリケーション312)は、割当マネージャ314にスケジュ
ーリング要求及び要求パラメータを送り、特定のタスクのスケジューリング及び
実行を要求する。続いて、ステップ814において、割当マネージャ314は、
図5を用いて説明した判定基準を含む様々な判定基準に基づいて、このスケジュ
ーリング要求を許可するか否かを決定する。
In the example shown in FIG. 8, first, in step 812, the entity (eg, device application 312) sends a scheduling request and request parameters to the allocation manager 314 to request scheduling and execution of a particular task. . Subsequently, in step 814, the allocation manager 314
Whether or not to permit this scheduling request is determined based on various criteria including the criteria described with reference to FIG.

【0061】 割当マネージャ314がスケジューリング要求を許可しなかった場合、ステッ
プ816において、割当マネージャ314は、スケジューリング要求を行ったエ
ンティティにエラーメッセージを送り、スケジューリング要求を拒絶する。一方
、割当マネージャ314がスケジューリング要求を許可した場合、ステップ81
8において、割当マネージャ314は、対応するタスクをタスクテーブル318
(図4)に追加する。さらに、ステップ820において、割当マネージャ314
は、スケジューリング要求を行ったエンティティに要求許可メッセージを送り、
図8に示す処理が終了する。
If the allocation manager 314 does not grant the scheduling request, then in step 816, the allocation manager 314 sends an error message to the entity that made the scheduling request and rejects the scheduling request. On the other hand, if the allocation manager 314 grants the scheduling request, step 81
8, the assignment manager 314 assigns the corresponding task to the task table 318.
(Fig. 4). Further, in step 820, the allocation manager 314
Sends a request grant message to the entity that made the scheduling request,
The process shown in FIG. 8 ends.

【0062】 図9は、本発明に基づきタスクをスケジューリング及び実行する処理を示すフ
ローチャートである。変形例においては、本発明に基づき、図9とは異なるステ
ップ及びシーケンスによりタスクをスケジューリング及び実行してもよい。
FIG. 9 is a flowchart showing the process of scheduling and executing a task according to the present invention. Alternatively, according to the present invention, tasks may be scheduled and executed according to steps and sequences different from those in FIG.

【0063】 図9に示す具体例においては、まず、ステップ920において、スケジューリ
ングマネージャ316は、タスクテーブル318を参照して、例えば図5を用い
て説明した優先順位付与法等の優先順位付与法に基づいて、次にスケジューリン
グすべきタスクを特定する。次のタスクが特定されると、スケジューリングマネ
ージャ316は、特定されたタスクが「実行準備完了」テーブルに登録されてい
るか否かを判定する。
In the specific example shown in FIG. 9, first, in step 920, the scheduling manager 316 refers to the task table 318 and determines the priority assigning method such as the priority assigning method described with reference to FIG. Based on that, the next task to be scheduled is identified. When the next task is identified, the scheduling manager 316 determines whether the identified task is registered in the “ready for execution” table.

【0064】 このタスクが「実行準備完了」テーブルに登録されている場合、ステップ92
4において、スケジューリングマネージャ316は、特定されたタスクをスケジ
ューリング及び実行する。ステップ928において、スケジューリングマネージ
ャ316は、「リソース消費」テーブルと、タスクに元から割り当てられている
リソースとを比較することにより、使用されるリソースが特定のタスクに対する
リソースの限界に到達しているか否かを判定する。
If this task is registered in the “ready for execution” table, step 92
At 4, the scheduling manager 316 schedules and executes the identified task. In step 928, the scheduling manager 316 compares the "resource consumption" table with the resources originally assigned to the task to determine whether the resource used has reached the resource limit for the particular task. To determine.

【0065】 リソースの限界に到達している場合、ステップ930において、スケジューリ
ングマネージャ316は、現在のタスクを終了し、図9に示す処理はステップ9
20に戻る。一方、割り当てられているリソースが限界に到達していない場合、
ステップ932において、スケジューリングマネージャ316は、新たな基本サ
イクルの開始がスケジューリングされているか否かを判定する。新たな基本サイ
クルが直ちに開始されるようスケジューリングされていない場合、図9に示す処
理は、ステップ928に戻る。一方、新たな基本サイクルが直ちに開始されるよ
うスケジューリングされている場合、図9に示す処理は、ステップ920に戻り
、上述したタスクのスケジューリング及び実行処理が繰り返される。
If the resource limit has been reached, in step 930 the scheduling manager 316 terminates the current task and the process shown in FIG.
Return to 20. On the other hand, if the allocated resources have not reached their limit,
In step 932, the scheduling manager 316 determines whether the start of a new basic cycle is scheduled. If the new basic cycle is not scheduled to start immediately, the process shown in FIG. 9 returns to step 928. On the other hand, if the new basic cycle is scheduled to be started immediately, the processing shown in FIG. 9 returns to step 920, and the task scheduling and execution processing described above is repeated.

【0066】 以上、本発明の好ましい実施の形態に基づいて本発明を説明した。上述の開示
により、当業者は、この他の実施の形態を容易に想到することができる。例えば
、本発明は、上述の好ましい実施の形態に開示した構成及び手法とは異なる構成
及び手法を用いても実現することができる。さらに、本発明は、上述の好ましい
実施の形態に示すシステムとは異なるシステムに対しても効果的に適用すること
ができる。したがって、好ましい実施の形態に対するこれらの及びこの他の変形
は、本発明の範囲内にあり、本発明の範囲は、添付の請求の範囲によってのみ定
義される。
The present invention has been described above based on the preferred embodiments of the present invention. From the above disclosure, those skilled in the art can easily devise other embodiments. For example, the present invention can be realized by using a configuration and a method different from the configurations and methods disclosed in the above-described preferred embodiments. Further, the present invention can be effectively applied to a system different from the system shown in the above-described preferred embodiment. Therefore, these and other variations on the preferred embodiments are within the scope of the invention, which is defined only by the appended claims.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明を適用した電子ネットワークの構成を示すブロック図である。[Figure 1]   It is a block diagram which shows the structure of the electronic network to which this invention is applied.

【図2】 図1に示す本発明に基づく機器の構成を示すブロック図である。[Fig. 2]   It is a block diagram which shows the structure of the apparatus based on this invention shown in FIG.

【図3】 図2に示す本発明に基づくメモリの構成を示す図である。[Figure 3]   It is a figure which shows the structure of the memory based on this invention shown in FIG.

【図4】 図3に示す本発明に基づくタスクテーブルの一例を示す図である。[Figure 4]   It is a figure which shows an example of the task table based on this invention shown in FIG.

【図5】 本発明に基づくスケジューリング処理を説明するブロック図である。[Figure 5]   It is a block diagram explaining the scheduling process based on this invention.

【図6】 本発明に基づく3つのタスクの実行間隔を示すタイミングチャートである。[Figure 6]   It is a timing chart which shows the execution interval of three tasks based on this invention.

【図7】 本発明の一具体例における、図6に示す3つのタスクのスケジューリングシー
ケンスを示すタイミングチャートである。
FIG. 7 is a timing chart showing a scheduling sequence of the three tasks shown in FIG. 6 in a specific example of the present invention.

【図8】 本発明に基づいてスケジューリング要求を処理する手順を示すフローチャート
である。
FIG. 8 is a flowchart showing a procedure for processing a scheduling request according to the present invention.

【図9】 本発明に基づきタスクをスケジューリング及び実行する処理の手順を示すフロ
ーチャートである。
FIG. 9 is a flowchart showing a procedure of processing for scheduling and executing a task according to the present invention.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,CA,C H,CN,CR,CU,CZ,DE,DK,DM,EE ,ES,FI,GB,GD,GE,GH,GM,HR, HU,ID,IL,IN,IS,JP,KE,KG,K P,KR,KZ,LC,LK,LR,LS,LT,LU ,LV,MA,MD,MG,MK,MN,MW,MX, NO,NZ,PL,PT,RO,RU,SD,SE,S G,SI,SK,SL,TJ,TM,TR,TT,TZ ,UA,UG,UZ,VN,YU,ZA,ZW Fターム(参考) 5B098 AA09 GA04 GA08 ─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE, TR), OA (BF , BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, G M, KE, LS, MW, MZ, SD, SL, SZ, TZ , UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, CA, C H, CN, CR, CU, CZ, DE, DK, DM, EE , ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP, KE, KG, K P, KR, KZ, LC, LK, LR, LS, LT, LU , LV, MA, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, S G, SI, SK, SL, TJ, TM, TR, TT, TZ , UA, UG, UZ, VN, YU, ZA, ZW F-term (reference) 5B098 AA09 GA04 GA08

Claims (42)

【特許請求の範囲】[Claims] 【請求項1】 スケジューリング処理を実行するスケジューリング装置におい
て、 要求パラメータを分析することによりスケジューリング要求を処理する割当マ
ネージャ(314)と、 上記割当マネージャ(314)により許可されたタスク(512)をスケジュ
ーリングするスケジューリングマネージャ(316)と、 上記割当マネージャ(314)及び上記スケジューリングマネージャ(316
)を制御して上記スケジューリング処理を実行するプロセッサ(212)とを備
えるスケジューリング装置。
1. A scheduling device for executing a scheduling process schedules an allocation manager (314) for processing a scheduling request by analyzing request parameters and a task (512) permitted by the allocation manager (314). A scheduling manager (316), the allocation manager (314) and the scheduling manager (316)
And a processor (212) for executing the scheduling process.
【請求項2】 上記タスク(512)は、決定的及び保証された性能を要求す
る1つ以上のアイソクロノス処理を含むことを特徴とする請求項1記載のスケジ
ューリング装置。
2. The scheduling device of claim 1, wherein the task (512) includes one or more isochronous operations requiring deterministic and guaranteed performance.
【請求項3】 上記スケジューリング処理は、IEEE1394シリアルバス
相互接続規格に準拠した電子機器ネットワーク(110)において実行されるこ
とを特徴とする請求項1記載のスケジューリング装置。
3. The scheduling device according to claim 1, wherein the scheduling process is executed in an electronic equipment network (110) conforming to the IEEE 1394 serial bus interconnection standard.
【請求項4】 上記タスク(512)は、民生用電子機器、オーディオ/ビジ
ュアル装置、セットトップボックス、コンピュータ装置のいずれかを含む機器(
112)において実行されることを特徴とする請求項1記載のスケジューリング
装置。
4. The task (512) is an appliance including any of consumer electronics, audio / visual equipment, set top boxes, and computing equipment (
The scheduling device according to claim 1, wherein the scheduling device is executed in 112).
【請求項5】 上記タスク(512)は、データ転送処理、プロセッサ処理、
メモリアクセス処理、信号処理のいずれかを含むことを特徴とする請求項1記載
のスケジューリング装置。
5. The task (512) includes data transfer processing, processor processing,
The scheduling device according to claim 1, further comprising one of memory access processing and signal processing.
【請求項6】 上記要求パラメータは、少なくとも上記タスク(512)を実
行するためのリソース要求(516)及び実行間隔(514)のいずれかを含む
ことを特徴とする請求項1記載のスケジューリング装置。
6. The scheduling device according to claim 1, wherein the request parameter includes at least one of a resource request (516) and an execution interval (514) for executing the task (512).
【請求項7】 上記タスク(512)のためのスケジューリング要求を上記割
当マネージャ(314)に供給する機器ソフトウェア(312)を備える請求項
6記載のスケジューリング装置。
7. A scheduling device according to claim 6, comprising equipment software (312) for supplying a scheduling request for the task (512) to the allocation manager (314).
【請求項8】 上記割当マネージャ(314)は、上記リソース要求(516
)を分析し、割り当てられる機器リソースの総量を利用可能な機器リソースの1
00パーセント以内に制限することを特徴とする請求項6記載のスケジューリン
グ装置。
8. The allocation manager (314) is configured to request the resource (516).
) Is analyzed, and the total amount of allocated device resources is 1 of the available device resources.
7. The scheduling apparatus according to claim 6, wherein the scheduling is limited to within 100%.
【請求項9】 上記スケジューリング処理は、連続的な基本サイクルシーケン
スの一部を構成し、上記タスク(512)を実行するためのタイミング基準とし
て機能する基本サイクルに同期することを特徴とする請求項6記載のスケジュー
リング装置。
9. The scheduling process is synchronized with a basic cycle that forms part of a continuous basic cycle sequence and serves as a timing reference for performing the task (512). 6. The scheduling device according to 6.
【請求項10】 上記割当マネージャ(314)は、上記実行間隔(514)
を分析し、実行間隔Tが対称的な実行間隔条件の要求を確実に満たすようにする
ことを特徴とする請求項9記載のスケジューリング装置。
10. The allocation manager (314) is configured to perform the execution interval (514).
10. The scheduling apparatus according to claim 9, wherein the execution interval T is analyzed to ensure that the execution interval T satisfies the requirement of a symmetrical execution interval condition.
【請求項11】 上記対称的な実行間隔条件の要求は、基本サイクルの期間を
baseとし、上記タスク(512)をスケジューリング及び実行するために
必要な実行間隔Tとして、以下の式により表されることを特徴とする請求項10
記載のスケジューリング装置。 T=(tbase)2
11. The request for the symmetrical execution interval condition is represented by the following formula, where t base is a period of a basic cycle, and T is an execution interval required for scheduling and executing the task (512). 11. The method according to claim 10, wherein
A scheduling device as described. T = (t base ) 2 n
【請求項12】 上記割当マネージャ(314)は、上記スケジューリング要
求を分析し、エラーメッセージ及び要求許可メッセージのいずれかを戻すことを
特徴とする請求項6記載のスケジューリング装置。
12. The scheduling device according to claim 6, wherein the allocation manager (314) analyzes the scheduling request and returns either an error message or a request grant message.
【請求項13】 上記割当マネージャ(314)は、上記リソース要求(51
6)及び実行間隔(514)の少なくとも一方とともに、上記タスク(512)
をタスクテーブルに追加することを特徴とする請求項6記載のスケジューリング
装置。
13. The allocation manager (314) is configured to provide the resource request (51).
6) and / or the execution interval (514) together with the task (512).
7. The scheduling apparatus according to claim 6, wherein the task table is added to the task table.
【請求項14】 上記割当マネージャ(314)は、上記実行間隔(514)
に反比例するスケジューリング優先レベルを上記タスク(512)に割り当てる
ことを特徴とする請求項13記載のスケジューリング装置。
14. The allocation manager (314) is configured to perform the execution interval (514).
14. The scheduling device according to claim 13, wherein a scheduling priority level inversely proportional to is assigned to the task (512).
【請求項15】 上記スケジューリングマネージャ(316)は、上記タスク
テーブルを参照し、上記スケジューリング優先レベルに基づいて、スケジューリ
ングすべきタスク(512)を特定することを特徴とする請求項14記載のスケ
ジューリング装置。
15. The scheduling apparatus according to claim 14, wherein the scheduling manager (316) refers to the task table and identifies a task (512) to be scheduled based on the scheduling priority level. .
【請求項16】 上記スケジューリングマネージャ(316)は、実行準備完
了テーブルを参照し、上記タスク(512)を直ちにスケジューリング及び実行
できるか否かを判定することを特徴とする請求項15記載のスケジューリング装
置。
16. The scheduling apparatus according to claim 15, wherein the scheduling manager (316) refers to the execution preparation table to determine whether the task (512) can be immediately scheduled and executed. .
【請求項17】 上記スケジューリングマネージャ(316)は、上記タスク
(512)をスケジューリングし、及び該タスク(512)の実行を開始するこ
とを特徴とする請求項15記載のスケジューリング装置。
17. The scheduling device according to claim 15, wherein the scheduling manager (316) schedules the task (512) and starts execution of the task (512).
【請求項18】 上記スケジューリングマネージャ(316)は、リソース消
費テーブルを参照し、上記タスク(512)が割り当てられている全てのリソー
スを使用しているか否かを判定し、割り当てられているリソースが限界に到達し
ている場合、該タスク(512)を終了することを特徴とする請求項17記載の
スケジューリング装置。
18. The scheduling manager (316) refers to a resource consumption table to determine whether the task (512) is using all the allocated resources, and the allocated resources are 18. The scheduling device according to claim 17, characterized in that the task (512) is terminated when the limit is reached.
【請求項19】 上記プロセッサ(212)は、新たな基本サイクルが開始さ
れると、上記スケジューリング処理をリセットすることを特徴とする請求項17
記載のスケジューリング装置。
19. The processor (212) resets the scheduling process when a new basic cycle is started.
A scheduling device as described.
【請求項20】 上記スケジューリング処理は、連続的にスケジューリングさ
れ実行される複数のタスク(512)を含み、任意の時刻においては、該複数の
タスク(512)のうちの1つのタスクのみが実行されることを特徴とする請求
項1記載のスケジューリング装置。
20. The scheduling process includes a plurality of tasks (512) that are continuously scheduled and executed, and at any time, only one task of the plurality of tasks (512) is executed. The scheduling device according to claim 1, wherein:
【請求項21】 スケジューリング処理を実行するスケジューリング方法にお
いて、 割当マネージャ(314)により、要求パラメータを分析することによりスケ
ジューリング要求を処理するステップと、 スケジューリングマネージャ(316)を用いて、上記割当マネージャ(31
4)により許可されたタスク(512)をスケジューリングするステップと、 プロセッサ(212)により、上記割当マネージャ(314)及び上記スケジ
ューリングマネージャ(316)を制御して上記スケジューリング処理を実行す
るステップとを有するスケジューリング方法。
21. A scheduling method for executing a scheduling process, comprising: processing a scheduling request by analyzing a request parameter by an allocation manager (314); and using the scheduling manager (316), the allocation manager (31).
4) Scheduling the task (512) permitted by the processor, and the processor (212) controlling the allocation manager (314) and the scheduling manager (316) to execute the scheduling process. Method.
【請求項22】 上記タスク(512)は、決定的及び保証された性能を要求
する1つ以上のアイソクロノス処理を含むことを特徴とする請求項21記載のス
ケジューリング方法。
22. The scheduling method of claim 21, wherein the task (512) comprises one or more isochronous operations requiring deterministic and guaranteed performance.
【請求項23】 上記スケジューリング処理は、IEEE1394シリアルバ
ス相互接続規格に準拠した電子機器ネットワーク(110)において実行される
ことを特徴とする請求項21記載のスケジューリング方法。
23. The scheduling method according to claim 21, wherein the scheduling process is executed in an electronic device network (110) conforming to the IEEE 1394 serial bus interconnection standard.
【請求項24】 上記タスク(512)は、民生用電子機器、オーディオ/ビ
ジュアル装置、セットトップボックス、コンピュータ装置のいずれかを含む機器
(112)において実行されることを特徴とする請求項21記載のスケジューリ
ング方法。
24. The task (512) is performed on a device (112) that includes any of consumer electronics, audio / visual devices, set top boxes, or computing devices. Scheduling method.
【請求項25】 上記タスク(512)は、データ転送処理、プロセッサ処理
、メモリアクセス処理、信号処理のいずれかを含むことを特徴とする請求項21
記載のスケジューリング方法。
25. The task (512) includes any one of data transfer processing, processor processing, memory access processing, and signal processing.
The described scheduling method.
【請求項26】 上記要求パラメータは、少なくとも上記タスク(512)を
実行するためのリソース要求(516)及び実行間隔(514)のいずれかを含
むことを特徴とする請求項21記載のスケジューリング方法。
26. The scheduling method according to claim 21, wherein the request parameter includes at least one of a resource request (516) and an execution interval (514) for executing the task (512).
【請求項27】 機器ソフトウェア(312)により、上記タスク(512)
のためのスケジューリング要求を上記割当マネージャ(314)に供給するステ
ップを有する請求項26記載のスケジューリング方法。
27. The task (512) is performed by the device software (312).
27. The scheduling method according to claim 26, comprising the step of providing a scheduling request for the allocation manager (314).
【請求項28】 上記割当マネージャ(314)は、上記リソース要求(51
6)を分析し、割り当てられる機器リソースの総量を利用可能な機器リソースの
100パーセント以内に制限することを特徴とする請求項26記載のスケジュー
リング方法。
28. The allocation manager (314) comprises the resource request (51).
27. The scheduling method according to claim 26, wherein 6) is analyzed, and the total amount of assigned device resources is limited to within 100% of available device resources.
【請求項29】 上記スケジューリング処理は、連続的な基本サイクルシーケ
ンスの一部を構成し、上記タスク(512)を実行するためのタイミング基準と
して機能する基本サイクルに同期することを特徴とする請求項26記載のスケジ
ューリング方法。
29. The scheduling process is part of a continuous basic cycle sequence and is synchronized with a basic cycle that serves as a timing reference for performing the task (512). 26. The scheduling method according to 26.
【請求項30】 上記割当マネージャ(314)は、上記実行間隔(514)
を分析し、実行間隔Tが対称的な実行間隔条件の要求を確実に満たすようにする
ことを特徴とする請求項29記載のスケジューリング方法。
30. The allocation manager (314) is configured to perform the execution interval (514).
30. The scheduling method according to claim 29, wherein the execution interval T is analyzed to ensure that the execution interval T satisfies the requirement of a symmetrical execution interval condition.
【請求項31】 上記対称的な実行間隔条件の要求は、基本サイクルの期間を
baseとし、上記タスク(512)をスケジューリング及び実行するために
必要な実行間隔Tとして、以下の式により表されることを特徴とする請求項30
記載のスケジューリング方法。 T=(tbase)2
31. The request for the symmetrical execution interval condition is represented by the following formula, where t base is a period of a basic cycle, and T is an execution interval required for scheduling and executing the task (512). 31. The method according to claim 30,
The described scheduling method. T = (t base ) 2 n
【請求項32】 上記割当マネージャ(314)は、上記スケジューリング要
求を分析し、エラーメッセージ及び要求許可メッセージのいずれかを戻すことを
特徴とする請求項26記載のスケジューリング方法。
32. The scheduling method of claim 26, wherein the allocation manager (314) analyzes the scheduling request and returns either an error message or a request grant message.
【請求項33】 上記割当マネージャ(314)は、上記リソース要求(51
6)及び実行間隔(514)の少なくとも一方とともに、上記タスク(512)
をタスクテーブルに追加することを特徴とする請求項26記載のスケジューリン
グ方法。
33. The allocation manager (314) further comprises the resource request (51).
6) and / or the execution interval (514) together with the task (512).
27. The scheduling method according to claim 26, characterized in that is added to the task table.
【請求項34】 上記割当マネージャ(314)は、上記実行間隔(514)
に反比例するスケジューリング優先レベルを上記タスク(512)に割り当てる
ことを特徴とする請求項33記載のスケジューリング方法。
34. The allocation manager (314) is configured to perform the execution interval (514).
The scheduling method according to claim 33, characterized in that a scheduling priority level inversely proportional to is assigned to the task (512).
【請求項35】 上記スケジューリングマネージャ(316)は、上記タスク
テーブルを参照し、上記スケジューリング優先レベルに基づいて、スケジューリ
ングすべきタスク(512)を特定することを特徴とする請求項34記載のスケ
ジューリング方法。
35. The scheduling method according to claim 34, wherein the scheduling manager (316) refers to the task table and identifies a task (512) to be scheduled based on the scheduling priority level. .
【請求項36】 上記スケジューリングマネージャ(316)は、実行準備完
了テーブルを参照し、上記タスク(512)を直ちにスケジューリング及び実行
できるか否かを判定することを特徴とする請求項35記載のスケジューリング方
法。
36. The scheduling method according to claim 35, wherein the scheduling manager (316) refers to the execution preparation table to determine whether the task (512) can be immediately scheduled and executed. .
【請求項37】 上記スケジューリングマネージャ(316)は、上記タスク
(512)をスケジューリングし、及び該タスク(512)の実行を開始するこ
とを特徴とする請求項35記載のスケジューリング方法。
37. The scheduling method according to claim 35, wherein the scheduling manager (316) schedules the task (512) and starts execution of the task (512).
【請求項38】 上記スケジューリングマネージャ(316)は、リソース消
費テーブルを参照し、上記タスク(512)が割り当てられている全てのリソー
スを使用しているか否かを判定し、割り当てられているリソースが限界に到達し
ている場合、該タスク(512)を終了することを特徴とする請求項37記載の
スケジューリング方法。
38. The scheduling manager (316) refers to a resource consumption table to determine whether the task (512) is using all the allocated resources, and the allocated resources are 38. The scheduling method according to claim 37, characterized in that the task (512) is terminated if a limit is reached.
【請求項39】 上記プロセッサ(212)は、新たな基本サイクルが開始さ
れると、上記スケジューリング処理をリセットすることを特徴とする請求項37
記載のスケジューリング方法。
39. The processor (212) resets the scheduling process when a new basic cycle is started.
The described scheduling method.
【請求項40】 上記スケジューリング処理は、連続的にスケジューリングさ
れ実行される複数のタスク(512)を含み、任意の時刻においては、該複数の
タスク(512)のうちの1つのタスクのみが実行されることを特徴とする請求
項21記載のスケジューリング方法。
40. The scheduling process includes a plurality of tasks (512) that are sequentially scheduled and executed, and at any time, only one task of the plurality of tasks (512) is executed. 22. The scheduling method according to claim 21, wherein:
【請求項41】 スケジューリング処理を実行するためのプログラムインスト
ラクションが格納されたコンピュータにより読取可能な媒体において、該プログ
ラムインストラクションは、 割当マネージャ(314)により、要求パラメータを分析することによりスケ
ジューリング要求を処理するステップと、 スケジューリングマネージャ(316)を用いて、上記割当マネージャ(31
4)により許可されたタスク(512)をスケジューリングするステップと、 プロセッサ(212)により、上記割当マネージャ(314)及び上記スケジ
ューリングマネージャ(316)を制御して上記スケジューリング処理を実行す
るステップとを実行させることを特徴とするコンピュータにより読取可能な媒体
41. On a computer readable medium having program instructions for performing a scheduling process stored therein, the program instructions process a scheduling request by analyzing a request parameter by an allocation manager (314). Using the steps and the scheduling manager (316), the allocation manager (31
4) Scheduling the task (512) permitted by the processor, and causing the processor (212) to control the allocation manager (314) and the scheduling manager (316) to execute the scheduling process. A computer-readable medium characterized by the above.
【請求項42】 スケジューリング処理を実行するスケジューリング装置にお
いて、 要求パラメータを分析することによりスケジューリング要求を処理するスケジ
ューリング要求処理手段と、 上記スケジューリング要求処理手段により許可されたタスク(512)をスケ
ジューリングするスケジューリング手段と、 上記スケジューリング要求処理手段及び上記スケジューリング手段を制御して
上記スケジューリング処理を実行する制御手段とを備えるスケジューリング装置
42. In a scheduling device for executing a scheduling process, a scheduling request processing means for processing a scheduling request by analyzing request parameters, and a scheduling means for scheduling a task (512) permitted by the scheduling request processing means. And a control unit that controls the scheduling request processing unit and the scheduling unit to execute the scheduling process.
JP2001556434A 2000-02-02 2001-01-30 Method of efficiently performing scheduling process in electronic equipment Pending JP2003521775A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/496,323 2000-02-02
US09/496,323 US6928646B1 (en) 2000-02-02 2000-02-02 System and method for efficiently performing scheduling operations in an electronic device
PCT/US2001/003048 WO2001057650A1 (en) 2000-02-02 2001-01-30 System and method for efficiently performing scheduling operations in an electronic device

Publications (1)

Publication Number Publication Date
JP2003521775A true JP2003521775A (en) 2003-07-15

Family

ID=23972133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001556434A Pending JP2003521775A (en) 2000-02-02 2001-01-30 Method of efficiently performing scheduling process in electronic equipment

Country Status (5)

Country Link
US (1) US6928646B1 (en)
EP (1) EP1257908A4 (en)
JP (1) JP2003521775A (en)
AU (1) AU2001233140A1 (en)
WO (1) WO2001057650A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510817A (en) * 2005-09-26 2009-03-12 深▲せん▼市朗科科技有限公司 Multitasking method in media player

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174359B1 (en) * 2000-11-09 2007-02-06 International Business Machines Corporation Apparatus and methods for sequentially scheduling a plurality of commands in a processing environment which executes commands concurrently
EP1514182A2 (en) * 2002-06-20 2005-03-16 Matsushita Electric Industrial Co., Ltd. Multitask control device and music data reproduction device
FI116166B (en) 2002-06-20 2005-09-30 Nokia Corp A method and system for performing application sessions on an electronic device, and an electronic device
US8086365B2 (en) 2002-07-29 2011-12-27 Robert Bosch Gmbh Prioritization method of information transmitters, particularly for executing the coordinated drive train control of a motor vehicle
US20040136720A1 (en) * 2003-01-15 2004-07-15 Mahowald Peter H. Task prioritization in firmware controlled optical transceiver
US7448022B1 (en) 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
KR100641238B1 (en) * 2004-07-09 2006-11-02 엘지전자 주식회사 Device management system and device management command scheduling method thereof
KR100723831B1 (en) * 2004-12-09 2007-05-31 한국전자통신연구원 Method and storage media for scheduling hardwares and softwares in system-on-chip design
US20070076228A1 (en) * 2005-10-04 2007-04-05 Jacob Apelbaum System and method for providing data services via a network
US7292254B1 (en) 2005-12-05 2007-11-06 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with reduced sensitivity to vertex ordering
US7616218B1 (en) 2005-12-05 2009-11-10 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives
US7439988B1 (en) 2005-12-05 2008-10-21 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with respect to a clipping plane
US7420572B1 (en) 2005-12-19 2008-09-02 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives with accelerated context switching
US7714877B1 (en) 2005-12-19 2010-05-11 Nvidia Corporation Apparatus, system, and method for determining clipping distances
TW200805047A (en) * 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
US20070156641A1 (en) * 2005-12-30 2007-07-05 Thomas Mueller System and method to provide system independent configuration references
JP2007188398A (en) * 2006-01-16 2007-07-26 Seiko Epson Corp Multiprocessor system, and program for making computer execute control method of multiprocessor system
KR101285886B1 (en) * 2006-01-25 2013-07-11 엘지전자 주식회사 Method for reporting to server and terminal thereof
US8438572B2 (en) * 2006-03-15 2013-05-07 Freescale Semiconductor, Inc. Task scheduling method and apparatus
US20090025004A1 (en) * 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
US20090160867A1 (en) * 2007-12-19 2009-06-25 Advance Micro Devices, Inc. Autonomous Context Scheduler For Graphics Processing Units
US20090216707A1 (en) * 2008-02-26 2009-08-27 International Business Machines Corporation File resource usage information in metadata of a file
US8326666B2 (en) * 2008-09-29 2012-12-04 Fisher-Rosemount Systems, Inc. Event synchronized reporting in process control systems
US8522244B2 (en) 2010-05-07 2013-08-27 Advanced Micro Devices, Inc. Method and apparatus for scheduling for multiple memory controllers
US8667493B2 (en) 2010-05-07 2014-03-04 Advanced Micro Devices, Inc. Memory-controller-parallelism-aware scheduling for multiple memory controllers
US8819687B2 (en) 2010-05-07 2014-08-26 Advanced Micro Devices, Inc. Scheduling for multiple memory controllers
US8505016B2 (en) * 2010-08-05 2013-08-06 Advanced Micro Devices, Inc. Enhanced shortest-job-first memory request scheduling
US8850131B2 (en) 2010-08-24 2014-09-30 Advanced Micro Devices, Inc. Memory request scheduling based on thread criticality
US9069610B2 (en) 2010-10-13 2015-06-30 Microsoft Technology Licensing, Llc Compute cluster with balanced resources
KR102032367B1 (en) * 2012-10-05 2019-10-16 한국전자통신연구원 Apparatus and method for processing task
WO2015046790A1 (en) * 2013-09-27 2015-04-02 Samsung Electronics Co., Ltd. Electronic device and method of operating the same
US10437643B2 (en) * 2017-11-10 2019-10-08 Bank Of America Corporation Independent storage and processing of data with centralized event control

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371752A (en) 1979-11-26 1983-02-01 Ecs Telecommunications, Inc. Electronic audio communication system
US4972314A (en) 1985-05-20 1990-11-20 Hughes Aircraft Company Data flow signal processor method and apparatus
US5276684A (en) * 1991-07-22 1994-01-04 International Business Machines Corporation High performance I/O processor
US6424989B1 (en) * 1991-09-20 2002-07-23 Venson M. Shaw Object-oriented transaction computing system
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US6041354A (en) 1995-09-08 2000-03-21 Lucent Technologies Inc. Dynamic hierarchical network resource scheduling for continuous media
US5832262A (en) 1995-09-14 1998-11-03 Lockheed Martin Corporation Realtime hardware scheduler utilizing processor message passing and queue management cells
US6385638B1 (en) * 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
US6567840B1 (en) * 1999-05-14 2003-05-20 Honeywell Inc. Task scheduling and message passing
US6587938B1 (en) * 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
FI116166B (en) * 2002-06-20 2005-09-30 Nokia Corp A method and system for performing application sessions on an electronic device, and an electronic device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009510817A (en) * 2005-09-26 2009-03-12 深▲せん▼市朗科科技有限公司 Multitasking method in media player

Also Published As

Publication number Publication date
EP1257908A1 (en) 2002-11-20
WO2001057650A1 (en) 2001-08-09
AU2001233140A1 (en) 2001-08-14
EP1257908A4 (en) 2008-01-23
US6928646B1 (en) 2005-08-09

Similar Documents

Publication Publication Date Title
JP2003521775A (en) Method of efficiently performing scheduling process in electronic equipment
US6453376B1 (en) Method for implementing scheduling mechanisms with selectable resource modes
US7069558B1 (en) System and method for interactively utilizing a user interface to manage device resources
Rajkumar et al. Resource kernels: A resource-centric approach to real-time and multimedia systems
CN1120598C (en) Domestic system resource access priority management method and device for the implementation thereof
Nieh et al. A SMART scheduler for multimedia applications
US20060168586A1 (en) System and method for interactively utilizing a user interface to manage device resources
KR100621093B1 (en) Channel Time Allocating Apparatus And Method for Applications in the Wireless PAN
US20050013267A1 (en) Apparatus and method for allocating channel time to applications in wireless PAN
US6973653B1 (en) Method for utilizing resource characterizations to optimize performance in an electronic device
JP4201071B2 (en) Isochronous data transfer system and method
JP2001022597A (en) Resource management system
JPH07281911A (en) Method and system for synchronization of resource allocationin parallel processing
KR20020010334A (en) Pre-arbitration Method For Global Bus
JP2001166943A (en) Method for distributing software
JP2000020323A (en) Device and method for scheduling and storage medium
JP2007512592A (en) Limited bucket usage and system
US6952826B1 (en) Method for implementing a multi-level system model for deterministically handling selected data
JP3975795B2 (en) Task management apparatus, method and program
JP2003515265A (en) Method for quantifying available system resources in electronic devices
WO2001082087A1 (en) System for providing deterministic performance from a non-deterministic device
WO2001030002A1 (en) System and method for interactively utilizing a user interface to manage device resources
CN115884229B (en) Transmission delay management method, electronic device and storage medium
Bartolini et al. Using priority inheritance techniques to override the size limit of CAN messages
US20230413316A1 (en) Wireless communication network access for wireless user equipment based on their wireless network slices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070109