JP2009098800A - 情報処理装置及び情報処理方法 - Google Patents
情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2009098800A JP2009098800A JP2007268209A JP2007268209A JP2009098800A JP 2009098800 A JP2009098800 A JP 2009098800A JP 2007268209 A JP2007268209 A JP 2007268209A JP 2007268209 A JP2007268209 A JP 2007268209A JP 2009098800 A JP2009098800 A JP 2009098800A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- subsystem
- information
- processing
- execution time
- 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
Links
Images
Abstract
【課題】複数のプログラムからなるアプリケーションシステムにおいて各プログラムの実行時間を確実に確保でき、かつプログラムの移植性、再利用性等を高くしてシステムの開発効率を向上することができる情報処理装置及び情報処理方法を提供する。
【解決手段】情報処理装置であるアプリケーションシステム1は、複数のプログラムが階層構造で構成されたアプリケーションプログラムにおいて、階層構造の上位階層プログラムに設けられ、複数の下位階層プログラムの実行時間を決定する実行時間決定部と、実行時間決定部によって決定された実行時間だけ、複数の下位階層プログラムを実行するプログラム実行部とを有する。
【選択図】図3
【解決手段】情報処理装置であるアプリケーションシステム1は、複数のプログラムが階層構造で構成されたアプリケーションプログラムにおいて、階層構造の上位階層プログラムに設けられ、複数の下位階層プログラムの実行時間を決定する実行時間決定部と、実行時間決定部によって決定された実行時間だけ、複数の下位階層プログラムを実行するプログラム実行部とを有する。
【選択図】図3
Description
本発明は、情報処理装置及び情報処理方法に関する。
従来より、普及型のオペレーティングシステム(以下、OSという)上に、普及型のプログラミング言語を用いて特定用途のシステム、すなわちアプリケーションシステム、の構築を行う場合、原則としてシステム全体の単独の大きな実行単位に対応する、記憶装置の大きな記憶領域が使用される。通常、相当規模の処理を行うシステムは、多数の小さな処理プログラム、ルーチン等から構成され、各処理プログラム等の呼び出しを適宜行うことによってシステム全体としての大きな処理を実現する。
従来、多数の小さな処理プログラムは、それぞれ、所定の表現形式によるコマンドによって直接的かつ即座に呼び出されることによって実行される。普及型のOSを利用する形で新しいシステムを構築するシステム開発者は、所定の条件を満たした場合にのみ行うべき処理プログラムを呼び出すために、その条件を満たすかどうかを常に監視するように全体のプログラムを作成しなければならない。開発者は、通常、そのような監視プログラムをシステム中の多数の箇所に記述するか、あるいは、その条件を判定する小さな監視プログラムの呼び出しを多数記述する。開発者にとって多数の箇所にそのようなプログラムを記述する、あるいは多数の呼び出しプログラムを記述することは、システム全体のプログラムを作成する上で、大きな作業負担となる。また、このようなシステムでは、小さな処理プログラムの連続する処理が必要な場合、原則として先行する小さな処理プログラムを完結させなければ後続の小さな処理プログラムを実行させることができず、連続処理を実現するためには、システム開発上の大きな制約がある。
以上の問題を解決する一つの手段として、多くのOSでは、割込みによる処理と、マルチプロセス(もしくはマルチタスク、マルチスレッド)と呼ばれる細かい実行単位の利用を可能にしている。
割込処理は、突然に呼び出されて実行されるが、それまで実行されていた処理を直接の契機としないものであり、何らかの条件に基づいて実行させることができ、かつそれまで行われていた処理を完結させることなくその新たな割込処理を開始することを可能とする機構である。しかし、多くの割込処理は、システムの内部時計あるいはシステムに接続されている外部装置からシステム内部に送信された信号によって起動されて実行される。また、割込処理は、OSによって直接管理されなければならないという制約を持つため、システム開発者が監視すべき条件を新たに定義することが困難である。
割込処理は、突然に呼び出されて実行されるが、それまで実行されていた処理を直接の契機としないものであり、何らかの条件に基づいて実行させることができ、かつそれまで行われていた処理を完結させることなくその新たな割込処理を開始することを可能とする機構である。しかし、多くの割込処理は、システムの内部時計あるいはシステムに接続されている外部装置からシステム内部に送信された信号によって起動されて実行される。また、割込処理は、OSによって直接管理されなければならないという制約を持つため、システム開発者が監視すべき条件を新たに定義することが困難である。
さらにまた、上記以外の割込処理としては、他の処理単位による特定の内部信号の発生によって起動されて実行されるソフトウェア割込みがある。ソフトウェア割込みは記述可能な任意の条件によって呼び出すことができるが、上述したように、その条件を常時監視しなければならないという制約を有するという問題が残る。
一方、マルチプロセスは、単独のシステムにおいて多数定義することができ、それぞれに個別の処理が可能な実行単位である。各プロセスは、OSから与えられた記憶装置の区画領域を利用できる。マルチプロセスは、プロセスの再利用あるいは個別処理の独立化を可能にする一方、必要に応じてプロセス同士またはプロセスとシステムとの間で情報を送受信することができるので、互いに連係した処理を行うことができる。
しかし、マルチプロセスは、OSによって直接管理されなければならないという制約がある。そのため、マルチプロセスの挙動はOSに大きく依存するうえ、その挙動を規定する手段もOSの制約を受けるため、システム開発者が、呼び出し条件の追加などの新たな手順を定義することは困難である。加えて、マルチプロセスは、プロセスの停止、停止からの再開が行われるための条件の設定、周期的な実行の設定、セキュリティを保つための実行条件の認証、さらに、プロセス外部との関連を伴う処理において、OSの規定する処理限界による制約を受ける。制約の一例として、その処理が中央演算装置(CPU)を占有する時間および手順の制限があり、各処理におけるCPUの効率的な時間配分が妨げられる虞れがある。
さらに、特定のOSの管理下でソフトウェアとしてインストールされるOS、あるいは、逆に特定のOSを管理させるためにさらにハードウェアに近い論理階層においてインストールされるOS、等のマルチOSの技術があり、現在広く実用化されている(例えば、特許文献1参照)。しかし、マルチOSは、1台のコンピュータに複数のOSをインストールできるようにすることによる利便性の向上やコストの削減、計算機資源の効率的利用を主目的とするものであり、システム開発がし易くなるものではない。さらに、当該計算機をサポートしていないOSの移植を容易にする目的で仮想OSの技術がある(例えば、非特許文献1参照)。仮想OSも、大きなシステムの開発を容易にするものではない。
さらに、開発済みのシステムのプログラムを再利用した類似のシステム開発において、プログラムの移植性、再利用性等が高くないため、システムの開発効率を向上させることができなかった。
特開2004-259106号公報
平初 他著「仮想化技術完全攻略ガイド」インプレスジャパン、2006年10月
そこで、本発明は、複数のプログラムからなるアプリケーションシステムにおいて各プログラムの実行時間を確実に確保でき、かつプログラムの移植性、再利用性等を高くしてシステムの開発効率を向上することができる情報処理装置及び情報処理方法を提供することを目的とする。
本発明の一態様によれば、複数のプログラムが階層構造で構成されたアプリケーションプログラムにおいて、前記階層構造の上位階層プログラムに設けられ、複数の下位階層プログラムの実行時間を決定する実行時間決定部と、該実行時間決定部によって決定された前記実行時間だけ、前記複数の下位階層プログラムを実行するプログラム実行部と、を有する情報処理装置を提供することができる。
本発明によれば、複数のプログラムからなるアプリケーションシステムにおいて各プログラムの実行時間を確実に確保でき、かつプログラムの移植性、再利用性等を高くしてシステムの開発効率を向上することができる情報処理装置及び情報処理方法を実現することができる。
以下、図面を参照して本発明の実施の形態を説明する。
まず図1に基づき、本実施の形態に係わるシステムの構成を説明する。図1は、本実施の形態に係わるアプリケーションシステムのハードウェア構成を示すブロック構成図である。
まず図1に基づき、本実施の形態に係わるシステムの構成を説明する。図1は、本実施の形態に係わるアプリケーションシステムのハードウェア構成を示すブロック構成図である。
図1に示すように、開発対象のアプリケーションシステム1は、複数の、ここでは3つの、中央処理装置(以下、CPUという)11と、後述する階層構造を有するアプリケーションプログラムが記憶される記憶部12と、計時用のタイマー等を含む計時部13と、マウス、キーボード、プリンタ等の外部機器との接続インターフェースを有する外部接続部14とを含んで、互いにバス15を介して接続されるように、構成されているコンピュータ装置である。
計算機システムであるアプリケーションシステム1は、例えば、後述するようなマルチメディアのデジタル情報を処理するシステムでもよいし、企業において利用される業務システム等であってもよい。
計算機システムであるアプリケーションシステム1は、例えば、後述するようなマルチメディアのデジタル情報を処理するシステムでもよいし、企業において利用される業務システム等であってもよい。
図2は、本実施の形態に係わるアプリケーションシステム1のソフトウェア構成を説明するためのブロック構成図である。図2に示すように、ハードウェアとしてのCPU11の上に、OS21が搭載され、そのOS21の上でアプリケーションプログラム22が実行される。OS21は、マルチCPU対応のOSである。アプリケーションプログラム22は、以下に説明する、階層構造を有する複数のサブシステムから構成されている。
図3と図4は、アプリケーションプログラム22の階層構造を説明するための図である。図3は、その階層構造を有する複数のサブシステムを説明するための図である。ここでは、説明を簡単にするために、2階層の複数のサブシステムを有するアプリケーションプログラム22の例を示す。アプリケーションシステム1のソフトウェアは、最上位システム31の下に、サブシステム32が位置し、そのサブシステム32の下にさらに複数のサブシステム33が位置し、さらにその各サブシステム33も複数のサブシステムを含むように構成されている。サブシステム32は、後述する実行管理部32aを有している。
図2との対応では、最上位システム31は、OS21であり、第1階層のサブシステム32は、アプリケーションプログラム22であり、第2階層のサブシステム33は、アプリケーションプログラム22内の複数のプログラムである。
図4は、アプリケーションプログラム22が、さらに多くの階層の構造を有する複数のプログラムを説明するための図である。
アプリケーションプログラム22は、3階層以上の階層構造を有し、最上位のプログラム41は、3つのサブプログラム42を含んで構成されている。サブプログラム42の一つは、さらに一つのサブプログラム43を含み、サブプログラム42の他の一つは、3つのサブプログラム44を含んで構成されている。サブプログラム44の一つは、2つのサブプログラム45を含んで構成されている。さらに、サブプログラム45の一つは、3つのサブプログラム46を含んで構成されている。以下、同様にして、上位階層プログラムである各サブプログラムが、1以上の、下位階層プログラムであるサブプログラムを含んで構成されている。
アプリケーションプログラム22は、3階層以上の階層構造を有し、最上位のプログラム41は、3つのサブプログラム42を含んで構成されている。サブプログラム42の一つは、さらに一つのサブプログラム43を含み、サブプログラム42の他の一つは、3つのサブプログラム44を含んで構成されている。サブプログラム44の一つは、2つのサブプログラム45を含んで構成されている。さらに、サブプログラム45の一つは、3つのサブプログラム46を含んで構成されている。以下、同様にして、上位階層プログラムである各サブプログラムが、1以上の、下位階層プログラムであるサブプログラムを含んで構成されている。
図4におけるサブプログラム41が、図3のサブシステム32に対応し、サブプログラム42が、図3のサブシステム33に対応するものとする。本実施の形態では、3つのCPU11に対して、それぞれ3つのサブシステム33が割り当てられる。
各CPU11は、対応する割り当てられたサブシステム33を連続的に実行する。本実施の形態では、3つのCPU11に対して3つのサブシステム33が割り当てられるが、サブシステム33の数がCPU11の数よりも多い場合は、計時部13の計時に基づき、適切な時分割処理の割り当てによって、一つのCPU11に対して、複数のサブシステム33の連続的な実行が割り当てられる。この場合の時分割処理では、最上位システム31の状態あるいは各サブシステム33の状態、サブシステム33間もしくは最上位システム31とサブシステム33間における通信の状態、記憶部12および外部接続部14に接続された外部機器の状態に応じて、時分割によって割り当てられる時間の多寡の決定が行われ、その決定された時間に基づいて各サブシステムの動作の継続・中断・停止が行われる。
従って、下位のサブシステムを有する各サブシステムは、自己に割り当てられた時間内で、下位のサブシステム毎に割り当てる実行時間を決定する実行時間決定部を有する。
従って、下位のサブシステムを有する各サブシステムは、自己に割り当てられた時間内で、下位のサブシステム毎に割り当てる実行時間を決定する実行時間決定部を有する。
また、サブシステム33の数がCPU11の数よりも少ない場合は、サブシステム33のいずれの処理も割り当てられていないCPU11は、演算処理を行わないで、休止状態となる。
そして、下位の複数のサブシステムを有する上位のサブシステムは、下位の複数のサブシステムを、実行時間決定部により決定されて割り当てられたそれぞれの実行時間で、時分割で実行させるプログラム実行部を有する。
図4に示すように、例えば、サブシステム41は、下位の複数のサブシステム42の実行管理を行うための実行管理部41aを有し、サブシステム42の一つは、下位のサブシステム43の実行管理を行うための実行管理部42a1を有し、サブシステム42の他の一つは、下位の複数のサブシステム44の実行管理を行うための実行管理部42a2を有する。以下、同様にして、下位のサブシステムを有する上位の各サブシステムは、実行管理部を有する。
各サブシステムは、上位のサブシステムの機能を部分的に受け継ぐ。すなわち、最上位システム31の有するスケジュール管理の機能の内、時分割で複数のプログラム、プロセス等を実行する機能を、サブシステム32の実行管理部32aが受け継いでいる。図3において、サブシステム32は、1以上のサブシステム33を含むが、サブシステム32の実行管理部32aは、各サブシステム33に対するサブシステム32の管理する記憶部12の部分的な利用、サブシステム33間での情報の送受信、実行管理部32aの決定したタイミングでの情報処理、および各サブシステム33の連続的な動作状態の保持、図1の外部接続部14により間接的にサブシステム部32に接続されている外部機器の操作、等の処理の実行を管理する。なお、その実行管理機能の中には、サブシステム32の上位の最上位システム31に接続されている外部機器の操作をサブシステム33に行わせることも含まれる。よって、サブシステム32は、サブシステム32自体の自発的な動作を行うことに加えて、最上位システム31、外部機器、下位のサブシステム33、および他のサブシステムからの情報の受信に基づく動作をするように下位のサブシステム33を管理する。すなわち、各サブシステムが、下位のサブシステムを再帰的に構築することによって、図4のように多数のサブシステムが樹状に連なる階層的なサブシステム群を含むシステムを構築することができる。
以上のように、アプリケーションプログラム22は、階層構造を有し、各階層において、上位のサブシステムが下位の複数のサブシステムを含むように構成されている。そして、外部装置からの起動信号によって、上位のサブシステムが下位の各サブシステムを起動して実行可能となっている。言い換えると、上位のサブシステムの実行管理部は、外部装置からの起動信号の受信、下位のサブシステムと外部装置間のデータの送受信、等を管理する。
樹状のサブシステム群に対して、階層的にCPU11の割り当てを行うことによって、すべてのサブシステムを逐次的に動作させることができる。例えば、あるサブシステムに、その上位のサブシステムからの継承により一つのCPU11が割り当てが行われているとき、自己に割り当てられているCPU11の割当時間、すなわち実行時間、をさらに分割して、下位の1以上のサブシステムに割り当てることにより、下位の1以上のサブシステムを動作させる。よって、あるサブシステム42にCPU11の一つが割り当てられるとき、上位のサブシステム42からそのサブシステム42に至る、樹状に連なるすべての下位のサブシステムのそれぞれに、階層的にその割り当てられたCPU11の実行時間が割り当てられている。なお、実行時間の割り当ては、上位のサブシステムから継承された実行時間に加えて、各サブシステムにおいてプログラムが実行された結果に基づく処理に掛かる時間等の、各サブシステムによって独自に定義された時間も加味して行われるようにしてもよい。よって、各CPU11の実行時間の割り当てとして、上位のサブシステムから時分割方式で実行時間が継承されているとき、下位のサブシステムに対しても同様の時分割方式による実行時間の承継が行われる。なお、複数のCPU11を、一つのサブシステムに割り当てるようにしてもよく、その場合は、上位階層のサブシステムは、下位階層の複数のサブシステムに対して、それぞれ複数のCPU11の実行時間を割り当てる。
また、実行管理部は、サブシステム毎の処理に必要な記憶部12内の記憶領域の区画を決定し、割り当てられたCPU11の実行時間と、サブサブシステム毎に決定された記憶領域のみを用いて、各サブシステムを実行する。従って、CPU11は、計時部13の時刻に応じて、実行するサブシステムについて決定された記憶領域の区画を変更しながら、複数のサブプログラムを実行する。
CPU11は、記憶領域の区画を変更しながら、複数のサブプログラムを実行するため、記憶部12は、全てのサブシステムについて決定された全記憶領域の記憶容量を有する。
CPU11は、記憶領域の区画を変更しながら、複数のサブプログラムを実行するため、記憶部12は、全てのサブシステムについて決定された全記憶領域の記憶容量を有する。
さらにまた、各サブシステム間において、情報の送受信を行うことができる。情報の送受信を行う各サブシステム、および各サブシステムを管理する上位のサブシステムに対して、必要に応じて、情報の通信を行わせるための必要な量の記憶領域も、記憶部12内に割り当てられ、各サブシステムは、情報の送受信を通知するための処理を行うことができる。その通知の処理は、情報の受信をトリガーとしてCPU11の割り当てを行うようにすることができる。この場合、情報を受信したサブシステムは、受信した情報をただちに処理する。
なお、受信した情報をただちに処理しなくてもよく、割り当てられた記憶領域の許す限りにおいて受信した情報を蓄積し、後で処理するようにしてもよい。その場合、情報の送受信に応じてCPU11の割り当てを行う必要はなく、それ以外の事由に応じて、CPU11の割り当てを行い、それまでに受信し続け蓄積された情報の一部またはすべてを処理させる。時分割によりCPU11を割り当る方法以外の事由としては、後述するマルチメディア情報、等の受信情報の蓄積量、もしくは受信情報の蓄積状況のいずれかから選択される。この事由の選択は、情報を受信するサブシステムの上位のサブシステムによって行われる。
各サブシステムは、必要に応じて、下位のサブシステムへの使用する記憶領域の割り当ての追加と削減の機能、および下位のサブシステムによる外部接続機器への操作の仲介の機能を行う。また逆に、各サブシステムは、下位のサブシステムの記憶領域の割当、及び外部接続機器への操作を制限する機能も有する。これらの機能を用いて、上位のサブシステムは、下位のサブシステムの計算機資源の適切な管理運用を行う。この管理運用機能は、一般のOSが行っている、計算機資源のアクセスのための認証に基づく計算機資源へのアクセスの許諾と制限により実現することができる。一般のOSは、計算機の使用者もしくは他の計算機が外部機器を通じて供給した認証情報が妥当であればユーザ名を与え、その計算機利用において、あらかじめそのユーザに認められた範囲での計算機資源の利用を許諾する機能を有する。この機能と同様のことを行うために、各サブシステムは、下位のサブシステムから受信した認証情報を適切に判定した上で、下位のサブシステムによる計算機資源の利用を許諾する。
上述した構成を有する計算機システムの利用者である開発者は、樹状に連なるサブシステム群を要求仕様に応じて多様に構築することで、従来のシステムが有していた制約を排除し、計算機システムに行わせるべきさまざまな処理を柔軟に行わせることができる。
次に、上述した構成に係るアプリケーションシステムの具体的な構成例を説明する。図5は、アプリケーションシステムの具体例な例としてのマルチメディア端末システムのハードウェア構成を示すブロック図である。図5のマルチメディア端末システム1Aは、音声と動画の出力が可能なシステムである。マルチメディア端末システム1Aは、CPU11Aと、階層構造を有するアプリケーションプログラムが記憶される記憶部12Aと、計時部13Aと、外部接続部14Aとを含んで、互いにバス15Aを介して接続されるように、構成されているコンピュータ装置である。外部接続部14Aは、マルチメディア情報受信部51、音声出力部52及び映像出力部53の外部機器との接続インターフェースである。
マルチメディア情報受信部51は、映画等のいわゆるコンテンツに関わる圧縮された音声信号と映像信号が交互にかつ時系列的に配列されたデジタル情報を連続的に受信し、内部記憶装置に一時記憶させる機能を有する。また音声出力部52および映像出力部53は、それぞれ、圧縮された状態で受信された音声信号および映像信号を復号したものを連続的に受信し、マルチメディア端末システム1Aの利用者すなわち視聴者によって知覚可能な音声および動画を出力する機能を有する。
システム開発者は、図5に示す機器構成を有するシステムであって、受信したデジタル情報の音声信号と映像信号を連続的に復号し、音声および映像のそれぞれの出力装置を経て、デジタル情報の制作者が意図したとおりに音声と動画を同期させて連続的に出力するマルチメディア端末システム1Aを開発するものとする。なお、音声と動画の同期に必要な時刻情報は、所定の形式によりデジタル情報に適宜記録されている。マルチメディア端末システム1Aは、例えばDVD再生機、デジタルテレビジョン装置である。
図6は、開発者が開発するマルチメディア端末システム1Aのアプリケーションプログラム22Aの階層構造を説明するための図である。図6に示すように、アプリケーションプログラム22Aは、階層構造を有し、複数のサブシステムを含む。マルチメディア端末システム1Aのソフトウェアは、OSである最上位システム部31Aの下に、サブシステムとしてのマルチメディアシステム部32Aが位置し、そのマルチメディアシステム部32Aの下にさらに複数のサブシステムとして、ここでは、情報分離部61、音声復号部62及び映像復号部63を含むように構成されている。
図2との対応では、最上位システム31Aが、OS21であり、マルチメディアシステム部22Aが、アプリケーションプログラム22である。図3との対応では、マルチメディアシステム部22Aが、第1階層のサブシステム32であり、アプリケーションプログラム22A内の複数のプログラムである、情報分離部61、音声復号部62、映像復号部63が、第2階層のサブシステム33である。
システム開発者は、マルチメディア端末システム1Aのソフトウェアを、図6のように定義して開発する。
システム開発者は、マルチメディア端末システム1Aのソフトウェアを、図6のように定義して開発する。
最上位システム部31Aのスケジューリング機能を継承したマルチメディアシステム部32Aは、マルチメディア情報受信部51によって受信されたデジタル情報を音声信号と映像信号とに分離するサブシステムである情報分離部61と、圧縮された音声信号を復号するサブシステムである音声復号部62と、圧縮された映像信号を復号するサブシステムである映像復号部63とを、自己が直接管理するサブシステムとして、有する。
システム開発者は、次のようにしてこのマルチメディア端末システム1Aを開発する。マルチメディアシステム部32Aが、最上位システム部31Aへの適切な認証情報の提示によって、最上位システム部31Aによる外部接続部14Aへの操作によりマルチメディア情報受信部51、音声出力部52、映像出力部53への操作が可能になるように設定する。また、マルチメディアシステム部32Aにおける適切な認証と仲介によって、情報分離部61によるマルチメディア情報受信部51でのデジタル情報の受信とその読み込み、音声復号部62から音声出力部52への復号後の音声データの出力、映像復号部63から映像出力部53への復号後の映像データの出力が可能になるように各サブシステムを設定する。システム開発者は、以上のようなサブシステム間の設定あるいは定義に基づいて、情報分離部61にはデジタル情報を音声と映像の各信号に仕分ける処理を、音声復号部62及び映像復号部63には、圧縮された音声および映像の信号をそれぞれ展開する処理を実装する。
図6に示すように、マルチメディアシステム部32Aは、実行管理部32Aaを有し、実行管理部32Aaは、それぞれが下位の複数のサブシステムである、情報分離部61と音声復号部62と映像復号部63のそれぞれの実行時間を決定する実行時間決定部32Bと、実行時間決定部32Bにより決定されて割り当てられたそれぞれの実行時間で、各サブシステムを時分割で実行させるプログラム実行部32Cを有する。
図7は、システム内のマルチメディア情報の移動に関係する部分を、仲介する処理単位を省略した形式で表現した図である。なお、図7において、情報分離部61、音声復号部62及び映像復号部63は、それぞれ2つの処理部間での情報の入力と出力の受け渡しを行うための、入力バッファとしての情報蓄積部61a、62a、63aを有する。その際、一時的に未処理となる入力された情報を滞留させるために必要となる記憶領域は、最上位システム部31Aからマルチメディアシステム部32Aへの記憶部12Aの記憶領域の割り当てによって確保される。情報蓄積部61a、62a、63aは、それぞれが接続されているサブシステムによる情報の読み込み、書き込みが可能なように配置されるとともに、マルチメディアシステム部32Aによっても、それぞれの情報蓄積部の内部の情報の蓄積量が監視される。
図5及び図6に示したマルチメディア端末システム1Aの動作を、図8のフローチャートを用いて説明する。図8は、時間管理に関する制御については省略し、システム全体が直列的に動作しているものとみなした場合において、受信されるデジタル情報に交互に含まれる音声もしくは映像信号の処理の流れの例を示すフローチャートである。
まず、コンテンツのマルチメディア情報を受信すると(ステップS1)、音声信号と映像信号の仕分けが行われる(ステップS2)。一般に、ステップS1で受信するデジタル情報は、細かく区分けされた音声もしくは映像信号の小単位が連続する形で送信されており、ステップS2において、受信したデジタル情報から音声信号と映像信号の仕分けが行われる。小単位が音声信号ならば、音声信号を復号し(ステップS3)、音声出力が行われる(ステップS4)。小単位が映像信号ならば、映像信号を復号し、動画出力が行われる(ステップS6)。その結果、映画等のコンテンツが出力、すなわち上映され、マルチメディア端末システム1Aの視聴者により観賞される。
なお、音声出力部52と映像出力部53での出力タイミングを適切にするために、デジタル情報に付加されている時刻情報によって示された時間間隔ごとに音声および動画の出力が行われるようタイミングの調整が行われる。そのため、システムとしては、マルチメディア情報のある小単位の情報の受信から出力までの処理時間を確保すべく充分な待機時間を設定した上で、待機時間後にデジタル情報に付加されている時刻情報に忠実な上映が適切に行われるよう、ステップS4及びS6の直前で出力すべきタイミングを待つ処理を挿入しなければならない。そのためには、ステップS3及びS5によって復号化されて出力された音声および映像のデータを出力時まで一時的に蓄える機構が、必要になる。すなわち、音声および映像のデータの蓄積最大量が非現実的もしくは非効率的な量にならないよう、ステップS3及びS5における復号処理を、充分に出力時刻に近づくまで待たなければならない。そのため、ステップS3及びS5の処理の直前に、音声および映像の信号を復号時まで一時的に蓄える機構が必要になる。さらにステップS2では、仕分け処理とステップS1での受信におけるデジタルデータの処理量の誤差を吸収するため一時的に蓄える機構が必要になる。
従って、図7に示すように、情報蓄積部61a、62a、63aにおいて、情報伝達の過程で一定の容量を持つ一時的な情報の蓄積が行われる。その結果、必ずしも図8で示されているような流れの順序で、実際の処理が行われず、ステップS2からS6の処理がめまぐるしく順序を入れ替えながら、もしくは部分的には同時に処理が行われることを意味している。すなわち、マルチメディア端末システム1Aの実際の処理は、図8のような単独の処理の流れのみがあるのではなく、情報分離部61、音声復号部62、映像復号部63の内部においてもそれぞれの処理の流れがある。
図9は、情報の蓄積を行うサブシステムの処理を説明するための図である。図10は、情報の蓄積を行うサブシステムの処理の流れを示すフローチャートである。図9に示すサブシステム71は、図10に示す処理を行う。サブシステム71は、情報分離部61、音声復号部62及び映像復号部63のそれぞれに対応し、サブシステム71は、情報入力があると、サブシステム71の情報蓄積部71aによって情報の蓄積を行う。サブシステム71は、処理タイミングが来たか否かを判断し(ステップS11)、所定の処理のタイミングが来るまで、処理は行わず待機し、処理は行なわず、情報の蓄積を継続する。処理タイミングが来ると、ステップS11でYESの場合となり、サブシステム71は、情報蓄積部71aに蓄積された情報の一部を先頭から取り出し(ステップS12)、取り出した情報を各々の所定の方法で処理する(ステップS13)。処理されるデータは、他のサブシステムに出力され(ステップS14)、他のサブシステムの情報蓄積部に既に蓄積されたデータの末尾に新たなデータとして追加される。なお、マルチメディア情報受信部51は出力のみ、音声出力部52と映像出力部53は入力のみであるが、情報の入力と出力については、それぞれ図10の対応する処理を行う。従って、図7に示すシステムは、それぞれの処理の順序を変えながらもデータの順序を変えずに、図10に示すような繰り返し処理を行う。
マルチメディア端末システム1Aのアプリケーションプログラム22Aは、図6に示す階層構造を有する。そして、マルチメディアシステム部32Aは、図4において説明した実行管理部32Aaを有する。実行管理部32Aaは、3つのサブシステムである、情報分離部61、音声復号部62及び映像復号部63の実行管理を行う。
この例では、CPUは1つであることから、各サブシステムへのCPU11Aの実行時間の適切な割り当てによって全体の処理を行う必要がある。そのため、システム開発者は、実行管理部32Aaにおいて、CPU11Aの割り当ての優先度及びその割り当て方法を規定する。最優先に処理すべき場合として、音声または映像のいずれかのデータが出力されるべき時刻が到来したとき、音声出力部52もしくは映像出力部53にCPU11Aの使用権が割り当てられ、出力処理を行わせる。それ以外の場合、実行時間決定部32Bは、情報蓄積部61a、62a、63aにおける各々の情報蓄積量を調べ、蓄積量が各々の容量を越えないように、かつ、処理の遅滞の原因となる容量の欠乏をも生じないよう、各サブシステムについてのCPU11Aの実行時間の割り当てを行う。本例では、情報蓄積部61a、62a、63aに対する各々の情報充足率が調べられ、充足率がもっとも高い情報蓄積部のデータを入力するサブシステムに情報を消費すなわち処理させることにより、情報蓄積部の容量超過を防止しつつ、その出力となる次のサブシステムの情報蓄積部の情報欠乏が避けられる。この割り当ては、時分割機能とサブシステム管理機能を最上位システム部31Aから引き継いだマルチメディアシステム部32Aの実行管理部32Aaによって行われる。
図11は、実行管理部のスケジューリング処理の流れの例を示すフローチャートである。まず、実行管理部32Aaは、最上位システム部31Aから、マルチメディアシステム部32Aの実行コマンドを受信すると、サブシステム毎の実行時間を決定する(ステップS21)。同時に、実行管理部32Aaは、サブシステム毎の記憶部12Aの使用する記憶領域を決定する。実行管理部32Aaは、例えば、与えられた全体のCPU11Aの使用時間を、サブシステムの数で、ここでは3で、除算した時間を、各サブシステムの実行時間として決定する。記憶領域も、サブシステムの数で除算した大きさが、各サブシステムに割り当てられる記憶領域として決定される。
次に、実行管理部32Aaは、各サブシステムが処理すべき、蓄積された情報量すなわちデータ量が所定の閾値以上か否かを判定する(ステップS22)。
いずれかサブシステムにおいて、所定の閾値以上に処理すべき情報があるときは、ステップS22においてYESとなって、実行管理部32Aaは、ステップS21において一旦決定された各サブシステムの実行時間及び記憶領域の大きさを修正する(ステップS23)。修正の方法としては、例えば、各実行時間の長さ及び各記憶領域の大きさを各サブシステムの処理すべき情報量の比率に応じた時間及び大きさにする、等の方法がある。
そして、実行管理部32Aaは、ステップS22においてNOの場合及びステップS23の後は、各サブシステムを実行する(ステップS24)。各サブシステムは、それぞれに割り当てられた実行時間と記憶領域を用いてそれぞれの処理を実行する。
以上のようにして、サブシステムであるマルチメディアシステム部32Aは、下位のサブシステムに対して、CPU11Aの使用時間の割り付けを行う。
なお、最上位システム部31Aからマルチメディアシステム部32Aに引き継がれた機能のうち、サブシステムへのCPU11Aの使用時間の割り当て手順は、以下のように変更してもよい。マルチメディアシステム部32Aは、情報分離部61、音声復号部62、および映像復号部63からの所定の情報と、計時部12Aでの計時に基づいて最上位システム部31Aを介して行われる定期的な情報を受信したときに情報蓄積部61a、62a、63aの情報の蓄積量を計測し、充足率がもっとも高い情報蓄積部を入力とするサブシステムに、CPU11Aの使用時間の割り当てを行うようにしてもよい。すなわち、計時部12Aによる定期的な情報受信に加え、必要に応じて、音声出力部52が予め備える記憶装置監視機能によってもたらされる信号に基づいて、各サブシステムのCPU11Aの使用時間の割り当てが変更される。
さらに、ユーザ等の指定により、音声信号処理よりも映像信号処理を優先するように、映像出力部53のもつ同期信号発信機能によってもたらされる信号の発生タイミングを、最上位システム部31Aを介してマルチメディアシステム部32Aによる時分割処理のタイミングとするようにしてもよい。
また、上述した図6の構成では、サブシステムであるマルチメディアシステム部32Aは、3つの下位のサブシステムを有し、3つの下位のサブシステムはそれぞれ、実行管理部32Aaによって割り当てられたCPU11Aの使用時間だけ、自己の処理を実行する。しかし、図4に示したように、下位のサブシステムがさらにより下位のサブシステムを有して構成される場合は、下位のサブシステムの実行管理部は図11に示す処理を実行するが、ステップS24のサブシステムの実行処理は行わず、より下位のサブシステムのCPU11Aの使用時間等の割り当てだけを行う。よって、下位のサブシステムを有する各サブシステムは、図11の処理を実行し、最終的に、下位のサブシステムを有さないサブシステムは、ステップS24によって実行される。
以上のようにして開発されたマルチメディア端末システム1Aのうち、情報分離部61、音声復号部62、映像復号部63は、図9に示される単純な処理体系を有し、さらに内部に記憶装置の操作機能を除いて外部の状況に依存する処理要素を有しないので、他のシステムに容易に移植可能である。これは、情報蓄積部から情報を受け取ると同時に処理をする同期的処理とは異なり、情報の流通状況に直接影響されない非同期処理を導入したからである。また、以上のようなシステムが開発された後、形式が異なるデジタル情報を受信できる別のシステムを新たに開発する場合、対応するサブシステムを変更または交換するだけで対応が可能となる。交互に送信されるデジタル情報の混合形式が異なる情報を受信する場合は情報分離部61を変更し、音声圧縮形式が異なる情報を受信する場合は音声復号部62を変更し、映像圧縮形式が異なる情報を受信する場合は映像復号部63を変更するだけで対応することができる。よって、システムの開発効率の向上を図ることができる。
上述した本実施の形態に係るシステムは、他の新たなシステムを構築する基盤となるシステムとなるものである。そして、上述したシステムは、上述したマルチメディア端末システムだけでなく、その他の、OS、一般的なコンピュータシステム、ネットワークに接続されて情報処理を行うシステム等にも再利用できる。
以上のように、本実施の形態のシステムによれば、複数のプログラムからなるアプリケーションシステムにおいて各プログラムの実行時間を確実に確保でき、かつプログラムの移植性、再利用性等を高くしてシステムの開発効率を向上することができる。
次に、上述したマルチメディア端末システム1Aを利用した種々の変形システムについて説明する。
(システムの変形例1)
上述したように、上述した構造を有する計算機システムによれば、システム開発者は、過去に開発した一定以上の規模のシステムにおけるサブシステムを部品化して利用することにより、効率的な他のシステムの開発を行うことができる。
例えば、上述したマルチメディア端末システム1Aを、動画を1/2の速度で表示するシステムに変更することができる。図6におけるマルチメディアシステム部32Aにおいて、最上位システム部31Aから引き継がれた、計時部12Aで計時された時刻を取得する処理において、時刻の増分が1/2になるようにするとともに、定期的な時刻情報の受信時間間隔が2倍になるよう変更を加える。これにより、マルチメディアシステム部32Aの下位の小システムである情報分離部61、音声復号部62、映像復号部63にとっての時刻の経過が2倍遅いものになるため、このような変更だけで動画を1/2の速度で表示するシステムに、マルチメディア端末システム1Aを変更することができる。なお、音声出力の速度が1/2になることにより音声サンプリング周波数が1/2になる状況になるため、試聴者にきこえる再生音声が低くならないようにするための周波数変換処理を加える必要が生じるが、そのような周波数変換処理を行うサブシステムを追加するだけでよい。また、映像出力は、静止画を短時間に次々と変化させ表示させることで実現している動画システムであるかぎり、特に既存のサブシステムの変更や他のサブシステムの追加を行う必要はない。
上述したように、上述した構造を有する計算機システムによれば、システム開発者は、過去に開発した一定以上の規模のシステムにおけるサブシステムを部品化して利用することにより、効率的な他のシステムの開発を行うことができる。
例えば、上述したマルチメディア端末システム1Aを、動画を1/2の速度で表示するシステムに変更することができる。図6におけるマルチメディアシステム部32Aにおいて、最上位システム部31Aから引き継がれた、計時部12Aで計時された時刻を取得する処理において、時刻の増分が1/2になるようにするとともに、定期的な時刻情報の受信時間間隔が2倍になるよう変更を加える。これにより、マルチメディアシステム部32Aの下位の小システムである情報分離部61、音声復号部62、映像復号部63にとっての時刻の経過が2倍遅いものになるため、このような変更だけで動画を1/2の速度で表示するシステムに、マルチメディア端末システム1Aを変更することができる。なお、音声出力の速度が1/2になることにより音声サンプリング周波数が1/2になる状況になるため、試聴者にきこえる再生音声が低くならないようにするための周波数変換処理を加える必要が生じるが、そのような周波数変換処理を行うサブシステムを追加するだけでよい。また、映像出力は、静止画を短時間に次々と変化させ表示させることで実現している動画システムであるかぎり、特に既存のサブシステムの変更や他のサブシステムの追加を行う必要はない。
また、上述したマルチメディア端末システム1Aは、時刻関連処理の変更比率の値をさまざまな値に変更できるようにするだけで、動画再生速度の変更が可能なシステムに発展することができる。例えば、マルチメディア端末システム1Aは、視聴者にきこえる再生音声が不自然にならないようにするための音声周波数変換処理の変更に加え、映像出力部53の同期信号の変更に対応する処理を追加するだけで、非整数倍のスロー再生に対応するシステムに変更することができる。また、マルチメディア情報受信部51で受信する情報を、外部記憶装置に既に蓄積されたデータの再生用途に限り、さらに性能を維持するためCPU11Aと記憶部12Aの性能を向上させれば、マルチメディア端末システム1Aは、高速な再生にも対応する装置にすることも可能である。その場合も、高性能の機器の導入が容易であるという前提があれば、処理内容の変更はわずかで済む。
これは、図6におけるマルチメディアシステム部32Aが、情報分離部61、音声復号部62、映像復号部63にとって、あたかも、時分割のスケジュール管理を行うスケジュール管理部であるかのように振る舞うように構成されているからである。また、マルチメディアシステム部32Aは、最上位システム部31Aのスケジュール管理の機能を継承し、最小限のスケジュール管理のみを行っているため、変更システムの開発工程の大幅な増加をもたらすことはない。結果として、システム開発の効率の向上が達成される。
(システムの変形例2)
また、マルチメディア端末システム1Aにおいて、特定の処理を実現しているサブシステムを複数用意し、それぞれを実行されることにより、同じ処理を複数同時に実行させるようにした、システムを構築することができる。これは、その特定の処理を実現するサブシステムの上位のサブシステムが、複数のサブシステムを有するように構成するだけで実現できる。例えば、上述した変形例1の再生速度可変なマルチメディア端末システムの機能を、CPU11Aと記憶部12Aの性能と、マルチメディア情報受信部51、音声出力部52、映像出力部53の個数が許す限りにおいて、1つの端末装置で複数実現することができる。
また、マルチメディア端末システム1Aにおいて、特定の処理を実現しているサブシステムを複数用意し、それぞれを実行されることにより、同じ処理を複数同時に実行させるようにした、システムを構築することができる。これは、その特定の処理を実現するサブシステムの上位のサブシステムが、複数のサブシステムを有するように構成するだけで実現できる。例えば、上述した変形例1の再生速度可変なマルチメディア端末システムの機能を、CPU11Aと記憶部12Aの性能と、マルチメディア情報受信部51、音声出力部52、映像出力部53の個数が許す限りにおいて、1つの端末装置で複数実現することができる。
また、CPUの数を増やす等、CPUの性能の増強と、記憶部12Aの性能の増強をすることで、多チャンネル端末の実現が可能であるとともに、一方のチャンネルでは高速再生、他方でスロー再生を行わせるなど、それぞれを独立して操作することができる。
さらにまた、マルチメディア情報受信部51、音声出力部52、映像出力部53が各々一つしかない機器においても、多チャンネルの信号を複数のサブシステムに振り分けるサブシステムと、複数の音声を混合出力するための変換処理を行うサブシステムと、単一の画面に複数のチャンネルの映像を出力できるような画像の変換を行うサブシステムを追加することで、比較的少ない開発項目の追加により、マルチメディア端末システム1Aを利用して、同時再生システムの開発が可能となる。
なお、上記のように作成された同種の複数のシステム同士を連携させることもできる。例えば、上位のサブシステムが、一階層だけ下位のサブシステムを有するのではなく、マルチメディアシステム部32Aのスケジュール管理の機能を継承した2階層下位のサブシステムを複数設けるようにしても、上述したような1つの端末で多チャンネルに対応した処理を実行できるシステムを実現することができる。加えて、マルチメディアシステム部32Aに、マルチメディアシステム部32Aを介してサブシステム間で情報を共有する機能を追加することで、サブシステム間での処理の連携が可能になる。一例として、マルチメディアシステム部32Aにおいて、マルチメディア端末の視聴者による早送り、スロー再生、コマ送り、一時停止を含む特殊な再生を指示するための入力装置の管理機能を、マルチメディアシステム部32Aのサブシステムに継承させず、他の別のサブシステムにおいて実現するようにする。マルチメディアシステム部32Aは、入力装置から受け付けた視聴者からの指示に基づいて、サブシステムに継承させる時刻情報を制御し、時間経過速度の変更もしくは停止を行う。結果として、複数のサブシステムはすべて同じ時刻を共有することとなり、多チャンネルを同一の時間軸で同期させる特殊再生の機能が実現可能となる。このような構成によれば、同時刻にて複数の映像に生じていた現象を検証する、等の興味深い機能を視聴者に提供することができる。
本変形例も、システムそのものを再利用性の高い部品として扱えるとともに、その内部動作を柔軟に変更できるように構成されていることに起因する。
(システムの変形例3)
以上のような実施の形態及び各変形例に係る計算機システムは、大規模なシステムを含む複数のサブシステムを有することを可能としている。変形例1では、サブシステムが一種のOSのように、下位のサブシステムのスケジュール管理を行っている。図12は、複数のOSを含むシステムの場合の構成を示すブロック図である。
以上のような実施の形態及び各変形例に係る計算機システムは、大規模なシステムを含む複数のサブシステムを有することを可能としている。変形例1では、サブシステムが一種のOSのように、下位のサブシステムのスケジュール管理を行っている。図12は、複数のOSを含むシステムの場合の構成を示すブロック図である。
従って、図12に示すように、OS管理システム部82は、最上位システム81のサブシステムとして構成され、さらに下位のサブシステムとして他のOS部83を有するように複数のOSをインストールし、管理する。OS管理システム部82は、管理下の複数のOS部83が処理の対象とするハードウェアを仮想的に実現し、かつCPU11Aと記憶部12Aの割り当てを適切に行って、複数のOS部83の動作を実現する。この構成は、限られた汎用OSでしか動作しない複数のソフトウェアを、単独の機器で同時に実行させたり、複数のOSの動作比較を可能にする。
また、OS管理システム部82によって各々のOS83に割り当てられたCPU11Aの消費時間や記憶部12Aの容量を計算するサブシステムをOS管理システム部82に追加することによって、各OSの性能を計測し比較することもできる。
(システムの変形例4)
上述した実施の形態及び各変形例に係る計算機システムは、一定以上の規模のシステムを部品として扱うと同時に、部品をシステムとして実装することを許容する。図13は、図6の映像復号部をシステム化するとともに、外部機器である直交変換部を計算に利用するように変更した構成を示すブロック図である。
上述した実施の形態及び各変形例に係る計算機システムは、一定以上の規模のシステムを部品として扱うと同時に、部品をシステムとして実装することを許容する。図13は、図6の映像復号部をシステム化するとともに、外部機器である直交変換部を計算に利用するように変更した構成を示すブロック図である。
マルチメディアシステム部32Bは、サブシステムとして情報分離部61と映像復号部63を含んで構成されている。圧縮された映像信号は、特定の文法によって記述されたビット列となっているため、本変形例では、図6で情報分離部61から映像復号部63に送信されている映像信号は、実際には映像復号部63のサブシステムである圧縮文法解析部91に送られている。ここで圧縮文法解析部91は、図1の外部接続部14を操作している上位のシステムを介して、外部接続部14を経由して本計算機システムに接続されている直交変換部92に、文法解析によって直交変換前の状態に変換した映像データを区画に分けて送信する。
多くの動画圧縮形式では、直交変換と、連続する画像データの類似性の利用による画像の圧縮を採用している。これを効率的に復号するため、圧縮文法解析部91は、連続する画像データの類似性を利用するための情報を文法解析の過程で取得し、それを差分蓄積部93に送信し、その前の処理によってすでに差分蓄積部93に蓄積されている直前の画像データから類似性情報を取り出させると同時に、前述の直交変換部92へのデータ送信をも行っている。ここで圧縮文法解析部91は、図7と同様の非同期的データ送信を用いて2種類の解析データを差分蓄積部93と直交変換部92に送信することにより、差分蓄積部93の処理はCPU11Aに処理させ、同時に直交変換は直交変換部92に並列処理させるようにして、処理完了までの時間を短縮し、高速化を実現している。さらに、特徴的な演算である直交変換を専用機器で行うことにより、演算効率の向上も実現している。これが外部機器である直交変換部92を導入する最大の利点である。両方の処理結果は映像合成部97に送信されて合成され、その結果作成された映像は映像出力部53に出力されるとともに、差分蓄積部93に送られることにより差分情報が更新される。
本変形例も、映像復号部63の内部処理の並列化が可能になったことは、映像復号部63をシステム化できたことに起因する。
以上のように、上述した実施の形態及び各変形例に係る計算機システムは、複数のプログラムからなるアプリケーションシステムにおいて各プログラムの実行時間を確実に確保でき、さらに、再利用性を有し、既に開発されたシステムに機能を追加することがシステム開発者にとって容易に可能なシステムである。その計算機システムは、その処理の内部における部分的な動作単位として、システムの最上位システムの有するスケジューリング機能とデバイス管理機能をに継承した1以上のサブシステムを含んで構築されている。
特に、上述した実施の形態及び各変形例に係る計算機システムは、多数の詳細処理を内包するシステムであり、すべての詳細処理を、それぞれ、記憶装置の記憶領域の区画に割り当て、詳細処理間の非同期的な情報伝達によって連係を行うようにしたので、各処理状態が重層的な連係関係を構築することにより、詳細処理の各プログラムの実行時間を確実に確保でき、各詳細処理の再利用性と交換可能性を高められ、柔軟かつ効率的なシステム開発を可能とするシステムである。
以上のように、上述した実施の形態及び各変形例に係る計算機システムによれば、プログラムの処理単位を細分化し、かつ階層化して、各処理単位のひとつ上位の処理単位のみに、各処理単位の直接の挙動の制約を受けるようにしたので、従来のOSに該当するシステム上の制約を除去し、各処理単位の自由かつ容易に、各処理単位の挙動を規定することできる。さらに、その細分化された処理単位は、外部からの挙動の制約が限定的であることから、その制約部分のみを変更することにより、既に開発済みのシステムのプログラムを、他のシステムに容易に移植可能となる。すなわち、多数の処理単位を部品化し、それらの再利用をしやすくなっている。よって、部品化された処理単位の一部のみを他の部品に交換するだけで、類似したシステムの開発を完了させることができるので、システム開発効率を向上させることができる。
以上のように上述した実施の形態と各変形例によれば、複数のプログラムからなるアプリケーションシステムにおいて各プログラムの実行時間を確実に確保でき、多数の詳細処理を内包するシステムを効率的に開発でき、さらに、内部の詳細処理の再利用性と交換可能性を高めることによっても開発効率を向上させることができる。
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
1 アプリケーションシステム、1A マルチメディア端末システム、11、11A CPU、12、12A 記憶部、13、13A 計時部、14、14A 外部接続部、15、15A バス、21 OS、22、22A アプリケーションプログラム、32A マルチメディアシステム部、32Aa 41a〜48a 実行管理部、32B 実行時間決定部、32C プログラム実行部、 61a〜63a 情報蓄積部
Claims (5)
- 複数のプログラムが階層構造で構成されたアプリケーションプログラムにおいて、前記階層構造の上位階層プログラムに設けられ、複数の下位階層プログラムの実行時間を決定する実行時間決定部と、
該実行時間決定部によって決定された前記実行時間だけ、前記複数の下位階層プログラムを実行するプログラム実行部と、
を有することを特徴とする情報処理装置。 - 前記実行時間決定部は、前記複数の下位階層プログラムの数に応じて前記実行時間を決定することを特徴とする請求項1に記載の情報処理装置。
- 前記実行時間決定部は、前記複数の下位階層プログラムの処理すべきデータ量に応じて前記実行時間を決定することを特徴とする請求項1に記載の情報処理装置。
- 前記実行時間決定部は、ユーザの指定により前記実行時間を決定することを特徴とする請求項1に記載の情報処理装置。
- 複数のプログラムが階層構造で構成されたアプリケーションプログラムにおいて、前記階層構造の上位階層プログラムが複数の下位階層プログラムの実行時間を決定し、
決定された前記実行時間だけ、前記複数の下位階層プログラムを実行することを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007268209A JP2009098800A (ja) | 2007-10-15 | 2007-10-15 | 情報処理装置及び情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007268209A JP2009098800A (ja) | 2007-10-15 | 2007-10-15 | 情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009098800A true JP2009098800A (ja) | 2009-05-07 |
Family
ID=40701768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007268209A Pending JP2009098800A (ja) | 2007-10-15 | 2007-10-15 | 情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009098800A (ja) |
-
2007
- 2007-10-15 JP JP2007268209A patent/JP2009098800A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110769278B (zh) | 一种分布式视频转码方法及系统 | |
KR100628492B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
CN101405712B (zh) | 利用虚拟化技术来加速域特定运行时环境的框架 | |
US7464379B2 (en) | Method and system for performing real-time operation | |
US8069446B2 (en) | Parallel programming and execution systems and techniques | |
KR100591727B1 (ko) | 스케줄링 방법과 이 방법을 실행하기 위한 프로그램을 기록한 기록매체 및 정보처리시스템 | |
US7356666B2 (en) | Local memory management system with plural processors | |
US20040268354A1 (en) | Method and system for performing real-time operation using processors | |
US20050060709A1 (en) | Method and system for performing real-time operation | |
KR20190020073A (ko) | 가속 자원 처리 방법 및 장치, 및 네트워크 기능 가상화 시스템 | |
CN104142858A (zh) | 阻塞任务调度方法及装置 | |
EP2078249A1 (en) | Middleware framework | |
JPH10283199A (ja) | 標準クロック・メカニズムを用いて、多重データ・ストリームの処理の同期と異なる処理速度のマッチングを行う方法、コンピュータ・プログラム・プロダクツ、およびシステム | |
WO2020186836A1 (zh) | 任务调度 | |
US11714654B2 (en) | Method and apparatus for stateless parallel processing of tasks and workflows | |
EP4350515A1 (en) | Load balancing method for multi-thread forwarding, and related apparatus | |
He et al. | Fecaffe: Fpga-enabled caffe with opencl for deep learning training and inference on intel stratix 10 | |
JP2009098800A (ja) | 情報処理装置及び情報処理方法 | |
Rutten et al. | Dynamic reconfiguration of streaming graphs on a heterogeneous multiprocessor architecture | |
JP5856453B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US8250404B2 (en) | Process integrity of work items in a multiple processor system | |
JP4285307B2 (ja) | データ処理装置およびその方法 | |
US20030074389A1 (en) | Scheme for dynamic process network reconfiguration | |
JP2022065555A (ja) | 情報処理装置、配備単位配備方法及び配備単位配備プログラム | |
WO2018107860A1 (zh) | 业务的操作方法、装置及云计算系统 |