[go: up one dir, main page]

JP2010039861A - Component processor and component processing program - Google Patents

Component processor and component processing program Download PDF

Info

Publication number
JP2010039861A
JP2010039861A JP2008203381A JP2008203381A JP2010039861A JP 2010039861 A JP2010039861 A JP 2010039861A JP 2008203381 A JP2008203381 A JP 2008203381A JP 2008203381 A JP2008203381 A JP 2008203381A JP 2010039861 A JP2010039861 A JP 2010039861A
Authority
JP
Japan
Prior art keywords
processing
request
component
unit
program
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
JP2008203381A
Other languages
Japanese (ja)
Inventor
Yasuhiro Fukuju
康弘 福壽
Susumu Yasuda
進 安田
Toshio Ikeda
敏雄 池田
Masayuki Hagiwara
正幸 萩原
Wataru Araya
渉 荒谷
Takashi Sugiyama
俊 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008203381A priority Critical patent/JP2010039861A/en
Publication of JP2010039861A publication Critical patent/JP2010039861A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】コンポーネントの開発に要するコストを削減する。
【解決手段】コンポーネント処理装置1は、アプリケーションプログラムからの要求を受信し、要求が初期化要求の場合、初期化制御部12を呼び出して、要求が初期化要求以外の場合、処理制御部21を呼び出す要求受信部11を有する。初期化制御部12は、処理実行部23が提供する複数のフック関数に対して、それぞれコンポーネントプログラムにおいて実行する複数の処理の対応付けを行い、処理制御部21は、要求のうち、コンポーネントプログラムに非依存の共通処理を共通処理部22に依頼し、依存する処理を処理実行部23に依頼する。共通処理部22は、コンポーネントプログラムに非依存の共通処理を実行し、処理実行部23は、複数のフック関数のそれぞれに対応付けられている複数の処理の実行に対する要求をコンポーネントプログラムに対して依頼する。
【選択図】図2
The cost of developing a component is reduced.
A component processing apparatus receives a request from an application program, calls an initialization control unit when the request is an initialization request, and calls the processing control unit when the request is other than an initialization request. The request receiving unit 11 is called. The initialization control unit 12 associates a plurality of processes executed in the component program with the plurality of hook functions provided by the process execution unit 23, and the process control unit 21 includes the component program in the request. Independent common processing is requested to the common processing unit 22, and dependent processing is requested to the processing execution unit 23. The common processing unit 22 executes a common process independent of the component program, and the process execution unit 23 requests the component program to execute a plurality of processes associated with each of the plurality of hook functions. To do.
[Selection] Figure 2

Description

本発明は、コンポーネント処理装置及びコンポーネント処理プログラムに関する。   The present invention relates to a component processing apparatus and a component processing program.

従来より、コーデック(Codec)やデマルチプレクサ(Demuxer)などのデータ処理ロジック(以下、コンポーネントという)の再利用性を高めるために、コンポーネントにアクセスするためのAPI(Application Programming Interface)を標準化しようという流れがある。この標準化された規格として、例えば、OpenMAX Integration Layer(以下、OpenMAX ILという)が存在する(例えば、非特許文献1参照)。   Conventionally, a flow of standardizing API (Application Programming Interface) for accessing components in order to improve the reusability of data processing logic (hereinafter referred to as components) such as codecs and demuxers. There is. As this standardized standard, for example, there is an OpenMAX Integration Layer (hereinafter referred to as OpenMAX IL) (see, for example, Non-Patent Document 1).

この標準化に伴い、コンポーネントの再利用性が高くなる一方で、規定された状態遷移や他のコンポーネントとの通信方法を正しく実装する義務が開発者に発生する。そのため、独自の方法でコンポーネントを実装する場合と比較して、コンポーネントの初期開発コストが増大するという問題点があった。   With this standardization, the reusability of components increases, while the developer is obliged to correctly implement the specified state transitions and communication methods with other components. Therefore, there is a problem in that the initial development cost of the component increases as compared with the case where the component is mounted by a unique method.

その課題に対して、状態遷移や通信方法などを共通の実装として代替するフレームワークを提供することが考えられる。しかしながら、コンポーネントの形態は多様であり、コンポーネントに対する一意なインターフェースを提供することは困難であった。
“OpenMAX Integration Layer アプリケーションプログラミングインターフェース仕様書 Version 1.1.1”、平成19年9月14日、インターネット<URL:http://www.khronos.org/files/openmax_il_spec_1_1_1.pdf >
In response to this problem, it is possible to provide a framework that replaces state transitions and communication methods as a common implementation. However, the form of the component is various, and it has been difficult to provide a unique interface for the component.
“OpenMAX Integration Layer Application Programming Interface Specification Version 1.1.1”, September 14, 2007, Internet <URL: http://www.khronos.org/files/openmax_il_spec_1_1_1.pdf>

本発明は、コンポーネントの開発に要するコストを削減することができるコンポーネント処理装置を提供することを目的とする。   An object of this invention is to provide the component processing apparatus which can reduce the cost required for component development.

本発明の一態様によれば、所定の機能の処理を実行するためのコンポーネントプログラムに対して所定のデータ処理を行わせるためのコンポーネント処理装置であって、前記コンポーネントプログラムに設けられる複数の処理のそれぞれに対応する複数の処理I/Fを提供し、前記複数の処理I/Fのそれぞれに対応付けられている前記複数の処理の実行に対する要求を前記コンポーネントプログラムに対して依頼する処理実行部と、前記コンポーネントプログラムに非依存の共通処理を実行する共通処理部と、アプリケーションプログラムからの要求のうち、前記コンポーネントプログラムに非依存の共通処理を前記共通処理部に依頼し、前記コンポーネントプログラムに依存する処理を前記処理実行部に依頼するように制御する処理制御部と、前記処理実行部が提供する前記複数の処理I/Fに対して、それぞれ前記コンポーネントプログラムにおいて実行する前記複数の処理の対応付けを行う初期化制御部と、前記要求を受信し、前記要求が初期化要求の場合、前記初期化制御部を呼び出して、前記処理実行部が提供する前記複数の処理I/Fに対して、それぞれ前記コンポーネントプログラムにおいて実行する前記複数の処理の対応付けを行い、前記要求が前記初期化要求以外の場合、前記処理制御部を呼び出す要求受信部とを有することを特徴とするコンポーネント処理装置を提供することができる。   According to one aspect of the present invention, there is provided a component processing apparatus for causing a component program for executing processing of a predetermined function to perform predetermined data processing, and a plurality of processing provided in the component program. A process execution unit that provides a plurality of process I / Fs corresponding to each of the plurality of process I / Fs, and requests the component program to request execution of the plurality of processes associated with each of the plurality of process I / Fs; A common processing unit that executes common processing independent of the component program, and requests common processing independent of the component program from the application program, and depends on the component program Process control for controlling to request the process execution unit to process An initialization control unit for associating the plurality of processes executed in the component program with respect to the plurality of process I / Fs provided by the process execution unit, and receiving the request, Is an initialization request, the initialization control unit is called to associate the plurality of processes executed in the component program with the plurality of process I / Fs provided by the process execution unit. When the request is other than the initialization request, it is possible to provide a component processing apparatus including a request receiving unit that calls the processing control unit.

本発明のコンポーネント処理装置によれば、コンポーネントの開発に要するコストを削減することができる。   According to the component processing apparatus of the present invention, the cost required for component development can be reduced.

以下、図面を参照して本発明の実施の形態について詳細に説明する。
まず、図1に基づき、本実施の形態に係る情報処理装置の構成について説明する。図1は、本実施の形態に係る情報処理装置の構成を示すブロック図である。図1に示すように、情報処理装置100は、中央処理装置(以下、CPUという)101と、ROM102と、RAM103と、インターフェース(以下、I/Fという)104と、バス105とを有して構成されている。CPU101、ROM102、RAM103及びI/F104は、互いにバス105を介して接続されている。また、I/F104には、モニタ106及びスピーカ107が接続されている。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
First, the configuration of the information processing apparatus according to the present embodiment will be described with reference to FIG. FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to this embodiment. As shown in FIG. 1, the information processing apparatus 100 includes a central processing unit (hereinafter referred to as CPU) 101, a ROM 102, a RAM 103, an interface (hereinafter referred to as I / F) 104, and a bus 105. It is configured. The CPU 101, ROM 102, RAM 103, and I / F 104 are connected to each other via a bus 105. In addition, a monitor 106 and a speaker 107 are connected to the I / F 104.

ROM102には、コンポーネントプログラムとコンポーネント処理プログラムが格納されている。CPU101は、これらのプログラムをROM102から読み出し、RAM103上に展開して実行する。コンポーネントプログラムは、例えば、ビデオのデコード処理またはオーディオのデコード処理などの単機能の処理を行うプログラムである。CPU101は、これらの単機能の処理を組み合わせて、最終的なデータ処理を行い、I/F104を介して、モニタ106またはスピーカ107に出力する。コンポーネントプログラムがCPU101上で実行されることにより、後述するコンポーネントが構成される。   The ROM 102 stores a component program and a component processing program. The CPU 101 reads these programs from the ROM 102, develops them on the RAM 103, and executes them. The component program is a program that performs a single function process such as a video decoding process or an audio decoding process. The CPU 101 combines these single function processes, performs final data processing, and outputs the result to the monitor 106 or the speaker 107 via the I / F 104. By executing the component program on the CPU 101, components described later are configured.

コンポーネント処理プログラムは、規定された状態遷移や他のコンポーネントとの通信方法などの共通処理を行うインターフェースプログラムである。このコンポーネント処理プログラムがCPU101上で実行されることにより、本実施の形態のコンポーネント処理装置が構成される。   The component processing program is an interface program that performs common processing such as prescribed state transitions and communication methods with other components. By executing this component processing program on the CPU 101, the component processing apparatus of the present embodiment is configured.

なお、コンポーネントプログラムの一部がCPU101とは異なるプロセッサやコプロセッサ、専用HWで実行されても良く、本発明の本質に影響を与えるものではない。   A part of the component program may be executed by a processor, a coprocessor, or a dedicated HW different from the CPU 101, and does not affect the essence of the present invention.

図2は、本実施の形態に係るコンポーネント処理装置の構成を示すブロック図である。図2に示すように、コンポーネント処理装置1は、要求受信部11と、初期化制御部12と、コアサポート部13と、複数、ここでは2つの基本処理部14a及び14bと、システム処理要求部15とを有して構成されている。なお、コンポーネント処理装置1は、2つの基本処理部14a及び14bを有しているが、1つあるいは3つ以上の基本処理部を有していてもよい。基本処理部は、後述するコンポーネントとしての特定処理部に対応して生成される。   FIG. 2 is a block diagram showing the configuration of the component processing apparatus according to this embodiment. As shown in FIG. 2, the component processing apparatus 1 includes a request receiving unit 11, an initialization control unit 12, a core support unit 13, a plurality of (here, two basic processing units 14a and 14b), and a system processing requesting unit. 15. The component processing apparatus 1 includes two basic processing units 14a and 14b, but may include one or three or more basic processing units. The basic processing unit is generated corresponding to a specific processing unit as a component described later.

要求受信部11は、コマンドキュー16と、実行判断部17とを有して構成されている。基本処理部14aは、コンポーネント処理装置1が提供する関数18a及び18bと、フック関数19a及び19bとを有して構成されている。一方、基本処理部14bは、関数18c及び18dと、フック関数19c及び19dとを有して構成されている。   The request reception unit 11 includes a command queue 16 and an execution determination unit 17. The basic processing unit 14a includes functions 18a and 18b provided by the component processing apparatus 1 and hook functions 19a and 19b. On the other hand, the basic processing unit 14b includes functions 18c and 18d and hook functions 19c and 19d.

また、コンポーネント処理装置1の外には、API31と、複数、ここでは2つの特定処理部32a及び32bと、システム処理部33とを有している。API31は、複数のAPI関数31aから31dを有して構成されている。API関数31aから31dは、それぞれ関数18aから18dに対応付けられる。これらの対応付けは、初期化制御部12により行われる。   In addition to the component processing apparatus 1, an API 31, a plurality of (here, two) specific processing units 32 a and 32 b, and a system processing unit 33 are included. The API 31 has a plurality of API functions 31a to 31d. API functions 31a to 31d are associated with functions 18a to 18d, respectively. These associations are performed by the initialization control unit 12.

コンポーネントとしての特定処理部32aは、単機能の処理を実行するフック関数の実体34a及び34bと、初期化情報部35aとを有して構成されている。一方、コンポーネントとしての特定処理部32bは、単機能の処理を実行するフック関数の実体34c及び34dと、初期化情報部35bとを有して構成されている。フック関数19aから19dは、それぞれフック関数の実体34aから34dに対応付けられる。これらの対応付けは、初期化制御部により行われる。   The specific processing unit 32a as a component is configured to include hook function entities 34a and 34b that execute processing of a single function, and an initialization information unit 35a. On the other hand, the specific processing unit 32b as a component is configured to include hook function entities 34c and 34d that execute single-function processing, and an initialization information unit 35b. The hook functions 19a to 19d are associated with the hook function entities 34a to 34d, respectively. These associations are performed by the initialization control unit.

要求受信部11には、図示しないアプリケーションからのコマンド、言い換えると、要求が送信される。要求受信部11は、API31を介してアプリケーションからの要求を基本処理部14a又は14bに送信する。アプリケーションからの要求は、API関数31aから31dのAPI呼び出しによって行われる。各API関数31aから31dの種類によって、要求される処理の内容が大別されており、各API関数31aから31dには、引数として各処理に関連するパラメータやデータ、基本処理部14a又は14bを識別するための識別子が付随することがある。各API関数31aから31dと、コンポーネント処理装置1が提供する関数18aから18dとは、上述したように1対1に対応付けられている。この対応付けは、コンポーネント処理装置1に発行される初期化要求によって行われる。初期化要求に対する初期化処理は、初期化制御部12により行われる。即ち、要求受信部11は、API31を介して送信される要求が初期化要求の場合、この初期化要求を初期化制御部12に送信する。   A command from an application (not shown), in other words, a request is transmitted to the request receiving unit 11. The request receiving unit 11 transmits a request from the application to the basic processing unit 14a or 14b via the API 31. Requests from applications are made by API calls of API functions 31a to 31d. Depending on the type of each API function 31a to 31d, the content of the required processing is roughly divided, and each API function 31a to 31d has parameters and data related to each processing as arguments, and the basic processing unit 14a or 14b. An identifier for identification may be attached. The API functions 31a to 31d and the functions 18a to 18d provided by the component processing apparatus 1 are associated one-to-one as described above. This association is performed by an initialization request issued to the component processing apparatus 1. Initialization processing for the initialization request is performed by the initialization control unit 12. That is, when the request transmitted via the API 31 is an initialization request, the request reception unit 11 transmits this initialization request to the initialization control unit 12.

また、要求受信部11のコマンドキュー16は、アプリケーションからの要求を複数格納する。このコマンドキュー16は、アプリケーションからの要求を複数格納可能な要求格納部を構成する。実行判断部17は、コマンドキュー16に格納された要求を実行するか否かを判断する。特に、実行判断部17は、他のコンポーネントの処理などを監視し、実行条件が整ったときのみ、コマンドキュー16に格納された要求を基本処理部14aまたは14bに送信する。   The command queue 16 of the request receiving unit 11 stores a plurality of requests from applications. The command queue 16 constitutes a request storage unit capable of storing a plurality of requests from applications. The execution determination unit 17 determines whether or not to execute the request stored in the command queue 16. In particular, the execution determination unit 17 monitors the processing of other components, and transmits the request stored in the command queue 16 to the basic processing unit 14a or 14b only when the execution condition is satisfied.

このように、要求受信部11内にコマンドキュー16及び実行判断部17を設けることにより、後述する処理制御部が異なるプロセスで動作可能となるので、アプリケーションの処理とデータの処理とを並行して実行することができる。また、処理制御部の起動条件を設けることで、処理の準備が整わない際に不用意にプロセスを動作させることを抑制し、システム性能を向上させることができる。   Thus, by providing the command queue 16 and the execution determining unit 17 in the request receiving unit 11, the processing control unit described later can operate in different processes, so that the application processing and the data processing are performed in parallel. Can be executed. In addition, by providing a start condition for the processing control unit, it is possible to suppress inadvertent operation of the process when preparation for processing is not completed, and to improve system performance.

初期化制御部12は、要求受信部11から初期化要求が送信されると、各API関数31aから31dと、コンポーネント処理装置1が提供する関数18aから18dとをそれぞれ対応付ける。この対応付けを実行するためのテーブルは、初期化制御部12内の図示しない記憶部に別途保持されている。   When the initialization request is transmitted from the request receiving unit 11, the initialization control unit 12 associates the API functions 31a to 31d with the functions 18a to 18d provided by the component processing device 1, respectively. A table for executing this association is separately held in a storage unit (not shown) in the initialization control unit 12.

また、初期化制御部12は、要求受信部11から初期化要求が送信されると、コンポーネント処理装置1の初期化を実行する。この初期化の内容は、コンポーネント処理装置1内で使用される領域の確保及び初期化などである。   In addition, when the initialization request is transmitted from the request receiving unit 11, the initialization control unit 12 performs initialization of the component processing apparatus 1. The contents of the initialization are securing and initializing an area used in the component processing apparatus 1.

更に、初期化制御部12は、要求受信部11から初期化要求が送信されると、特定処理部32a内の初期化情報部35a及び特定処理部32b内の初期化情報部35bを呼び出す。初期化制御部12は、初期化情報部35a及び35bの存在を別途用意される初期化関数テーブルによって確認する。初期化要求には特定処理部32a及び32bの識別子が付与されており、識別子を基に初期化関数テーブルから実行すべき初期化関数を選択する。初期化制御部12は、コンポーネント処理装置1が特定処理部32a及び32bに提供する処理I/Fであるフック関数19aから19dのポインタと、特定処理部32aが用意する関数の実体34aから34dをそれぞれ対応付ける。対応付けは、特定処理部32a及び32bがそれぞれ保持する初期化情報部35a及び35bの情報を用いて行われる。   Further, when the initialization request is transmitted from the request receiving unit 11, the initialization control unit 12 calls the initialization information unit 35a in the specific processing unit 32a and the initialization information unit 35b in the specific processing unit 32b. The initialization control unit 12 confirms the presence of the initialization information units 35a and 35b by using an initialization function table prepared separately. The identifiers of the specific processing units 32a and 32b are given to the initialization request, and an initialization function to be executed is selected from the initialization function table based on the identifier. The initialization control unit 12 includes pointers of hook functions 19a to 19d, which are processing I / F provided by the component processing apparatus 1 to the specific processing units 32a and 32b, and function entities 34a to 34d prepared by the specific processing unit 32a. Correspond to each. The association is performed using information of the initialization information units 35a and 35b held by the specific processing units 32a and 32b, respectively.

例えば、処理I/Fであるフック関数19aは、共通処理の前後及び途中に別の処理を組み込むための関数である。共通処理の前後及び途中にフック関数19aのポインタが記述され、特定処理部32aが提供する関数の実体34aがフック関数19aのポインタと対応付けられる。共通処理では、フック関数19aのポインタに関数の実体34aが対応付けられている場合のみ、フック関数19aを介して対応付けられている関数の実体34aが適宜実行される。   For example, the hook function 19a, which is a processing I / F, is a function for incorporating another processing before, after, and during the common processing. The pointer of the hook function 19a is described before, after, and during the common processing, and the function entity 34a provided by the specific processing unit 32a is associated with the pointer of the hook function 19a. In the common process, only when the function entity 34a is associated with the pointer of the hook function 19a, the function entity 34a associated with the hook function 19a is appropriately executed.

コアサポート部13は、コンポーネント間の通信及び接続に対応する処理を行い、基本処理部14aまたは14bに送信する。また、コアサポート部13は、オペレーティングシステム(以下、OSという)またはハードウエア(以下、HWという)に依存する処理に対する要求をシステム処理要求部15に送信する。   The core support unit 13 performs processing corresponding to communication and connection between components, and transmits the processing to the basic processing unit 14a or 14b. Further, the core support unit 13 transmits a request for processing depending on an operating system (hereinafter referred to as OS) or hardware (hereinafter referred to as HW) to the system processing request unit 15.

基本処理部14aは、規定された状態遷移や他のコンポーネントとの通信方法などの共通処理を行う。基本処理部14bも同様の構成のため説明を省略する。なお、基本処理部14a及び14bの詳細な構成については、後述する図3を用いて説明する。   The basic processing unit 14a performs common processing such as prescribed state transitions and communication methods with other components. Since the basic processing unit 14b has the same configuration, the description thereof is omitted. The detailed configuration of the basic processing units 14a and 14b will be described with reference to FIG.

システム処理要求部15には、OSまたはHWに依存する処理に対する要求がコアサポート部13、基本処理部14a、14bまたはAPI31から供給される。システム処理要求部15は、OSまたはHWに依存する処理に対する要求をシステム処理部33に供給する。システム処理部33は、OSまたはHWに依存する処理、例えば、メモリ領域の確保及びキューの処理、スレッドや排他制御の管理などを実行する。   A request for processing dependent on the OS or HW is supplied to the system processing request unit 15 from the core support unit 13, the basic processing units 14 a and 14 b, or the API 31. The system processing request unit 15 supplies a request for processing depending on the OS or HW to the system processing unit 33. The system processing unit 33 executes processing dependent on the OS or HW, such as memory area reservation and queue processing, thread and exclusive control management, and the like.

メモリ領域の確保及びキューの処理などは、OSまたはHWに依存している処理であるため、呼び出し方法もOSまたはHWによって異なる。そのため、OSまたはHWに依存した関数呼び出しを基本処理部14aまたは14b中に含めると、コンポーネント処理装置1自体の再利用性が悪化する。そのため、OSまたはHWに依存した関数を抽象化する層、ここでは、システム処理要求部15を定めることにより、その層を経由してOSまたはHWに依存した関数を基本処理部14aまたは14bの外に出すことができる。   The allocation of the memory area, the queue processing, and the like are processes that depend on the OS or HW, so that the calling method differs depending on the OS or HW. Therefore, if a function call depending on the OS or HW is included in the basic processing unit 14a or 14b, the reusability of the component processing apparatus 1 itself deteriorates. Therefore, a layer that abstracts a function that depends on the OS or HW, here, the system processing request unit 15 is defined, so that a function that depends on the OS or HW passes through the layer outside the basic processing unit 14a or 14b. Can be put out.

ここで、基本処理部14a及び14bの構成について説明する。なお、基本処理部14a及び14bは、同様の構成のため、代表して基本処理部14aの構成について説明する。図3は、基本処理部の構成を示すブロック図である。図3に示すように、基本処理部14aは、処理制御部21と、共通処理部22と、処理実行部23とを有して構成されている。   Here, the configuration of the basic processing units 14a and 14b will be described. Since the basic processing units 14a and 14b have the same configuration, the configuration of the basic processing unit 14a will be described as a representative. FIG. 3 is a block diagram illustrating a configuration of the basic processing unit. As shown in FIG. 3, the basic processing unit 14 a includes a processing control unit 21, a common processing unit 22, and a processing execution unit 23.

処理制御部21は、要求受信部11からの関数呼び出しによって、呼び出された関数18aまたは18bを実行する。具体的には、API関数31aに対応した関数18aまたはAPI関数31bに対応した関数18bが実行される。各関数の中身では規格で定められた共通処理が実行される。共通処理の前後及び途中にフック関数のポインタが記述されており、特定処理部32aが提供する関数の実体がフック関数のポインタと対応付けられている場合には、フック関数を通して特定処理部32aの関数が適宜実行される。   The process control unit 21 executes the called function 18a or 18b by the function call from the request receiving unit 11. Specifically, the function 18a corresponding to the API function 31a or the function 18b corresponding to the API function 31b is executed. Common processing defined by the standard is executed in the contents of each function. When the hook function pointer is described before and after and during the common processing, and the substance of the function provided by the specific processing unit 32a is associated with the hook function pointer, the hook of the specific processing unit 32a is performed. The function is executed as appropriate.

このように、共通処理の前後及び中途の複数個所にフック関数のポインタを記述するのは、特定処理部32aの多様性を考慮したことによる。例えば、特定処理部32aがソフトウエアのみで動作する場合、共通処理の最後で関数が呼び出される場合があり、特定処理部32aが内部に専用HWを保持する場合、共通処理を実行する前にHWのキックが実行される場合もあるためである。   In this manner, the hook function pointers are described at a plurality of locations before and after the common processing and in the middle because of the diversity of the specific processing unit 32a. For example, when the specific processing unit 32a operates only with software, a function may be called at the end of the common processing. When the specific processing unit 32a holds a dedicated HW therein, the HW is executed before executing the common processing. This is because the kick may be executed.

共通処理部22は、規格に定められた共通処理を実行する。共通処理部22は、共通処理の一例として、他のコンポーネントとプログラムの通信に関する通信処理を実行する。他のコンポーネントとプログラムの通信に関する通信処理は、実装負荷が高い部分であるため共通化の効果が大きい。通信方法は規格で定められており、この通信処理において、共通処理部22は、通信に用いるデータ領域、例えば、バッファの確保を行う。また、共通処理部22は、バッファに付随する情報領域、例えば、バッファヘッダの設定を行う。更に、共通処理部22は、他のコンポーネントとのネゴシエーション、例えば、送受信するデータの属性の確認及び互いの設定情報の確認などを行う。他のコンポーネントもまた、同じAPI規格にあわせて作成されているため、他のコンポーネントに対して要求を出す場合には、API31を通して関数呼び出しを行う。ここでいう、他のコンポーネントプログラムに対する要求とは、バッファ、言い換えると、データの送受信であったり、ネゴシエーションであったりする。   The common processing unit 22 executes common processing defined in the standard. As an example of the common process, the common processing unit 22 executes a communication process related to communication between other components and the program. Since the communication processing related to communication between other components and the program is a part with a high mounting load, the effect of sharing is large. The communication method is defined by the standard, and in this communication process, the common processing unit 22 secures a data area used for communication, for example, a buffer. In addition, the common processing unit 22 sets an information area associated with the buffer, for example, a buffer header. Further, the common processing unit 22 performs negotiation with other components, for example, confirmation of attributes of data to be transmitted / received and confirmation of mutual setting information. Since other components are also created in accordance with the same API standard, when a request is made to another component, a function call is made through the API 31. The request for another component program referred to here is a buffer, in other words, data transmission / reception or negotiation.

また、共通処理部22は、共通処理の他の一例として、コンポーネントプログラムの状態遷移の管理に関する状態遷移処理を実行する。コンポーネントプログラムの状態遷移の管理に関する状態遷移処理は、仕様把握の負荷が高い部分であるため共通化の効果が大きい。遷移すべき状態の種類は規格で定められており、どのAPI関数が呼び出されると、どのような状態に遷移するかもまた規格で定められている。また、明示的に状態を遷移させるためのAPI関数が規格で定められている場合もある。例えば、OpenMAX ILでは、SendCommand(“コマンドの種類は状態遷移”,“遷移させたい状態はA”)といったようなAPI関数とコマンドの種類が定義されている。   In addition, the common processing unit 22 executes a state transition process related to the management of the state transition of the component program as another example of the common process. Since the state transition processing related to the management of the state transition of the component program is a part where the load of grasping the specification is high, the effect of sharing is large. The type of state to be transitioned is defined by the standard, and it is also defined by the standard which API function is called and which state is transitioned to. In some cases, an API function for explicitly changing the state is defined in the standard. For example, OpenMAX IL defines API functions and command types such as SendCommand (“command type is state transition”, “state to be changed is A”).

処理実行部23は、フック関数のポインタに特定処理部32aの関数が対応付けられている場合には、フック関数を通して特定処理部32aの関数を実行する。また、処理実行部23は、フック関数のポインタに特定処理部32aの関数が対応付けられていない場合には、何も処理を実行しない。   When the function of the specific processing unit 32a is associated with the hook function pointer, the process execution unit 23 executes the function of the specific processing unit 32a through the hook function. In addition, the process execution unit 23 does not perform any process when the function of the specific processing unit 32a is not associated with the hook function pointer.

図4は、初期化関数テーブルを説明するための説明図である。図4に示すように初期化関数テーブルには、フック関数名と、そのフック関数のポインタが指し示す特定処理部32a内のアドレスとが対応付けられる。初期化制御部12は、初期化要求を受信した後に、初期化情報部35aを参照することにより、これらの対応付けを実行した初期化関数テーブルを生成する。例えば、図4では、フック関数名が“プロセスデータ”であり、プロセスデータに対応するポインタのアドレスが“A”である。また、“セットパラメータ”に対応するポインタのアドレスは“B”であることも示している。更に“プロセスデータ”の前に実行される“プリプロセスデータ”に対しては関数の実体が対応付けられていないことも示している。   FIG. 4 is an explanatory diagram for explaining the initialization function table. As shown in FIG. 4, the initialization function table associates a hook function name with an address in the specific processing unit 32a pointed to by the hook function pointer. After receiving the initialization request, the initialization control unit 12 refers to the initialization information unit 35a to generate an initialization function table in which these associations are executed. For example, in FIG. 4, the hook function name is “process data”, and the address of the pointer corresponding to the process data is “A”. It also indicates that the address of the pointer corresponding to “set parameter” is “B”. Further, it also indicates that the function entity is not associated with “preprocess data” executed before “process data”.

次に、このように構成されるコンポーネント処理装置1の動作について、暗号処理を例に説明する。特定処理部32aは、DES(Data Encryption Standard)及びAES(Advanced Encryption Standard)の暗号処理を実行するデータ処理ロジック、即ち、コンポーネントであり、制御命令を受け付けることにより処理アルゴリズムが切り替わる。また、特定処理部32aは、図示しないデータ処理プログラム、例えば、ハッシュ計算処理を実行するデータ処理プログラムに対して暗号処理結果を送信する。なお、データ処理プログラムは、標準規格に則ったプログラムであるが、本実施の形態の内容を含んでいなくてもよい。   Next, the operation of the component processing apparatus 1 configured as described above will be described by taking cryptographic processing as an example. The specific processing unit 32a is a data processing logic that executes encryption processing of DES (Data Encryption Standard) and AES (Advanced Encryption Standard), that is, a component, and a processing algorithm is switched by receiving a control command. Further, the specific processing unit 32a transmits the cryptographic processing result to a data processing program (not shown), for example, a data processing program that executes a hash calculation process. Note that the data processing program is a program that complies with the standard, but may not include the contents of the present embodiment.

なお、説明を簡略化するため、標準規格に定められたコマンドを以下の6つのコマンド、ここでは、初期化コマンド、通信確立コマンド、状態遷移コマンド、設定コマンド、データ処理コマンド及び終了コマンドと仮定する。   In order to simplify the description, the commands defined in the standard are assumed to be the following six commands, here, an initialization command, a communication establishment command, a state transition command, a setting command, a data processing command, and an end command. .

また、標準規格に定められたコマンド以外、言い換えると、コンポーネント固有のカスタムコマンドを定義してもよい。カスタムコマンドの定義は、初期化制御部12が上述した初期化の処理を行う際に、初期化制御部によって実行される。コンポーネントによっては、標準規格に定められたコマンド以外のコマンド実行したい場合がある。このように、コンポーネント固有のカスタムコマンドの定義を行うことにより、コンポーネント毎に固有のコマンドを実行することができる。   In addition to the commands defined in the standard, in other words, component-specific custom commands may be defined. The definition of the custom command is executed by the initialization control unit when the initialization control unit 12 performs the initialization process described above. Some components may want to execute commands other than those specified in the standard. In this way, by defining a custom command specific to a component, a command specific to each component can be executed.

初期化コマンドは、コンポーネントの初期化処理を行うためのコマンドである。
通信確立コマンドは、標準規格に則った他のデータ処理プログラム、本実施の形態ではデータ処理プログラムとの通信経路を確立するためのコマンドである。
状態遷移コマンドは、コンポーネントの状態を遷移させるためのコマンドである。本実施の形態では、コンポーネントの状態として「準備中」と「実行可」の2種類の状態を持つものとする。
設定コマンドは、コンポーネントの設定を変更するためのコマンドである。本実施の形態では、使用する暗号アルゴリズムを設定するために用いられる。
データ処理コマンドは、データ処理、ここでは、暗号処理の対象となるデータを入力し、暗号処理の実行を要求するためのコマンドである。なお、データ処理コマンドを発行する際にはコンポーネントの状態が「実行可」でなければならないことが規格によって定められているものとする。
終了コマンドは、コンポーネントの終了処理を行うためのコマンドである。
The initialization command is a command for performing component initialization processing.
The communication establishment command is a command for establishing a communication path with another data processing program conforming to the standard, in this embodiment, the data processing program.
The state transition command is a command for transitioning the component state. In the present embodiment, it is assumed that there are two types of states of the component, “Preparing” and “Executable”.
The setting command is a command for changing the setting of the component. In the present embodiment, it is used to set a cryptographic algorithm to be used.
The data processing command is a command for inputting data to be subjected to data processing, here, encryption processing, and requesting execution of the encryption processing. It is assumed that the standard defines that the component state must be “executable” when issuing a data processing command.
The end command is a command for performing component end processing.

このうち、コンポーネントの設定及びデータ処理は、コンポーネントの内容に影響を与える処理であるため、コンポーネントの開発者は、設定ファイルなどに基づいて、それら2つの処理に対応する設定関数と処理関数を実装し、対応付けるフック関数19a及び19bを選択したものとする。詳しくは、フック関数19aは設定コマンドに対して共通処理部14aが提供するフック関数のうちの1つであり、コンポーネントの開発者は必要とするフック関数に対して特定処理部32aの提供する関数の実体を対応付ける。このとき、複数のフック関数に対して対応付けを行っても良いし、不必要ならば全く対応付けを行わなくても構わない。本実施形態では、フック関数19aに対して関数の実体34a(設定関数)が対応付けられたものとする。また、フック関数19bは処理コマンドに対して共通処理部14aが提供するフック関数のうちの1つであり、同様に、本実施形態では、フック関数19bに対して関数の実体34b(設定関数)が対応付けられたものとする。更に、その他のコマンドに対しても同様にフック関数が提供されるが、本実施形態ではそれらのフック関数に対して関数の対応付けをしないものとする。図2では紙面の都合上、対応付けが行われていないフック関数を図示しない。   Among these, component settings and data processing are processes that affect the contents of the component, so component developers implement setting functions and processing functions corresponding to these two processes based on the configuration file etc. Assume that the hook functions 19a and 19b to be associated are selected. Specifically, the hook function 19a is one of the hook functions provided by the common processing unit 14a for the setting command, and the component developer provides the function provided by the specific processing unit 32a for the hook function required by the component developer. Corresponding entities. At this time, a plurality of hook functions may be associated with each other, or may not be associated at all if unnecessary. In the present embodiment, it is assumed that a function entity 34a (setting function) is associated with the hook function 19a. The hook function 19b is one of the hook functions provided by the common processing unit 14a for the processing command. Similarly, in the present embodiment, the function entity 34b (setting function) for the hook function 19b. Are associated with each other. Furthermore, hook functions are provided in the same manner for other commands, but in this embodiment, no function is associated with these hook functions. In FIG. 2, hook functions that are not associated are not shown for the sake of space.

API31を通して初期化コマンドが要求受信部11に入力される。初期化コマンドを受信した要求受信部11は、初期化制御部12を呼び出す。初期化制御部12は、コンポーネント処理装置1の必要な初期化処理を実施した後、特定処理部32aに要求を発行する。初期化制御部12は、特定処理部32aの設定関数と処理関数とを、それぞれ処理実行部23のフック関数19a及び19bに対して登録する。また、初期化制御部12は、コンポーネントの状態を「準備中」に設定する。   An initialization command is input to the request receiving unit 11 through the API 31. The request receiving unit 11 that has received the initialization command calls the initialization control unit 12. The initialization control unit 12 issues a request to the specific processing unit 32a after performing necessary initialization processing of the component processing apparatus 1. The initialization control unit 12 registers the setting function and the processing function of the specific processing unit 32a in the hook functions 19a and 19b of the processing execution unit 23, respectively. Also, the initialization control unit 12 sets the component state to “in preparation”.

API31を通して通信確立コマンドが要求受信部11に入力される。通信確立コマンドを受信した要求受信部11は、処理制御部21を起動する。処理制御部21は、コマンドの内容を判断し、共通処理部22を実行する。共通処理部22は、データ処理プログラムとの間で使用するデータ領域の確保、例えば、バッファ管理を行い、通信経路を確立する。続いて処理制御部21は、処理実行部23を呼び出す。ここでは、通信確立コマンドに対する処理実行部23のフック関数に関数の実体が対応付けられていないため、処理実行部23は、処理を何も実行しない。   A communication establishment command is input to the request receiving unit 11 through the API 31. The request reception unit 11 that has received the communication establishment command activates the processing control unit 21. The process control unit 21 determines the content of the command and executes the common processing unit 22. The common processing unit 22 secures a data area to be used with the data processing program, for example, performs buffer management, and establishes a communication path. Subsequently, the process control unit 21 calls the process execution unit 23. Here, since the substance of the function is not associated with the hook function of the process execution unit 23 for the communication establishment command, the process execution unit 23 performs no process.

API31を通して設定コマンド、ここでは、AESが要求受信部11に入力される。設定コマンドを受信した要求受信部11は、処理制御部21を起動する。処理制御部21は、コマンドの内容を判断し、共通処理部22を実行する。続いて処理制御部21は、処理実行部23を起動する。ここでは、処理I/Fであるフック関数19aに対して特定処理部32aが提供する関数、ここでは設定関数が対応付けられているため、処理実行部23はフック関数19aを通して特定処理部32aを起動する。特定処理部32aは、自身の処理アルゴリズムをAESに設定する。   A setting command, here AES, is input to the request receiving unit 11 through the API 31. The request receiving unit 11 that has received the setting command activates the processing control unit 21. The process control unit 21 determines the content of the command and executes the common processing unit 22. Subsequently, the process control unit 21 activates the process execution unit 23. Here, since the function provided by the specific processing unit 32a, here the setting function, is associated with the hook function 19a which is the processing I / F, the processing execution unit 23 sets the specific processing unit 32a through the hook function 19a. to start. The specific processing unit 32a sets its processing algorithm to AES.

API31を通して状態遷移コマンドが要求受信部11に入力される。状態遷移コマンドを受信した要求受信部11は、処理制御部21を起動する。処理制御部21は、コマンドの内容を判断し、共通処理部22を実行する。共通処理部22は、状態遷移コマンドの情報からコンポーネントの状態を「実行可」と設定する。続いて処理制御部21は処理実行部23を起動する。ここでは、状態遷移コマンドに対する処理実行部23のフック関数に関数の実体が対応付けられていないため、処理実行部23は、処理を何も実行しない。   A state transition command is input to the request receiving unit 11 through the API 31. The request receiving unit 11 that has received the state transition command activates the processing control unit 21. The process control unit 21 determines the content of the command and executes the common processing unit 22. The common processing unit 22 sets the component state to “executable” from the information of the state transition command. Subsequently, the process control unit 21 activates the process execution unit 23. Here, since the substance of the function is not associated with the hook function of the process execution unit 23 for the state transition command, the process execution unit 23 performs no processing.

API31を通して処理コマンドが要求受信部11に入力される。処理コマンドを受信した要求受信部11は、処理制御部21を起動する。処理制御部21は、コマンドの内容を判断し、共通処理部22を実行する。共通処理部22は、コンポーネントの状態が「実行可」であるかを判断する。続いて処理制御部21は、処理実行部23を起動する。ここでは、処理I/Fであるフック関数19bに対して特定処理部32aが提供する関数、ここでは処理関数が対応付けられているため、処理実行部23は、フック関数19bを通して特定処理部32aを起動する。特定処理部32aは、AESのアルゴリズムを用いた暗号処理を実施する。特定処理部32aの処理結果は、共通処理部22によってデータ処理プログラムに対して送信される。   A processing command is input to the request receiving unit 11 through the API 31. Upon receiving the processing command, the request receiving unit 11 activates the processing control unit 21. The process control unit 21 determines the content of the command and executes the common processing unit 22. The common processing unit 22 determines whether the component state is “executable”. Subsequently, the process control unit 21 activates the process execution unit 23. Here, since the function provided by the specific processing unit 32a, here the processing function, is associated with the hook function 19b that is the processing I / F, the processing execution unit 23 passes the hook function 19b through the specific processing unit 32a. Start up. The specific processing unit 32a performs cryptographic processing using an AES algorithm. The processing result of the specific processing unit 32a is transmitted to the data processing program by the common processing unit 22.

API31を通して終了コマンドが要求受信部11に入力される。終了コマンドを受信した要求受信部11は、処理制御部21を起動する。処理制御部21は、コマンドの内容を判断し、共通処理部22を実行する。共通処理部22は、設定したデータ領域や通信経路、登録した関数の開放処理を実施する。続いて処理制御部21は、処理実行部23を呼び出す。ここでは、終了コマンドに対する処理実行部23のフック関数に関数の実体が対応付けられていないため、処理実行部23は、処理を何も実行しない。   An end command is input to the request receiving unit 11 through the API 31. The request receiving unit 11 that has received the end command activates the processing control unit 21. The process control unit 21 determines the content of the command and executes the common processing unit 22. The common processing unit 22 performs release processing of the set data area, communication path, and registered function. Subsequently, the process control unit 21 calls the process execution unit 23. Here, since the substance of the function is not associated with the hook function of the process execution unit 23 for the end command, the process execution unit 23 performs no processing.

上記フローにおいて、メモリ領域の確保など、OSまたはHWに依存する処理についての要求は、システム処理要求部15を介してシステム処理部33に供給され、システム処理部33において、OSまたはHWに依存する処理が実行される。   In the above flow, a request for processing dependent on the OS or HW, such as securing a memory area, is supplied to the system processing unit 33 via the system processing requesting unit 15, and the system processing unit 33 depends on the OS or HW. Processing is executed.

以上のように、コンポーネント処理装置1は、規定された状態遷移や他のコンポーネントとの通信方法などを共通処理として実装するようにした。また、コンポーネント処理装置1は、共通処理の前後及び途中に別の処理を組み込むためのフック関数を設定し、このフック関数にコンポーネント固有の処理を対応付けるようにした。その結果、コンポーネントの開発者は、規定された状態遷移や他のコンポーネントとの通信方法を考慮してコンポーネントの開発をしなくてもよくなる。即ち、コンポーネントの開発者は、コンポーネント固有のアルゴリズムのみを実装すればよくなる。   As described above, the component processing apparatus 1 is configured to implement prescribed state transitions, communication methods with other components, and the like as common processing. In addition, the component processing apparatus 1 sets a hook function for incorporating another process before and after the common process, and associates a component-specific process with this hook function. As a result, the component developer does not have to develop the component in consideration of the specified state transition and the communication method with other components. That is, the component developer only needs to implement the component-specific algorithm.

よって、本実施の形態のコンポーネント処理装置によれば、コンポーネントの開発に要するコストを削減することができる。   Therefore, according to the component processing apparatus of the present embodiment, the cost required for component development can be reduced.

本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウエアやソフトウエア・ルーチンに1対1には対応しない。従って、本明細書では、以上、実施の形態の各機能を有する仮想的回路ブロック(部)を想定して実施の形態を説明した。   Each “unit” in this specification is a conceptual one corresponding to each function of the embodiment, and does not necessarily correspond to a specific hardware or software routine on a one-to-one basis. Therefore, in the present specification, the embodiment has been described above assuming a virtual circuit block (unit) having each function of the embodiment.

なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、CD−ROM等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムコードがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明のコンポーネント処理装置を実現することができる。   The program for executing the operations described above is recorded or stored as a computer program product in its entirety or in part on a portable medium such as a flexible disk or CD-ROM or a storage medium such as a hard disk. Yes. The program code is read by a computer, and all or part of the operation is executed. Alternatively, all or part of the program can be distributed or provided via a communication network. The user can easily realize the component processing apparatus of the present invention by downloading the program via a communication network and installing the program on the computer, or installing the program from the recording medium on the computer.

本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。   The present invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the scope of the present invention.

本実施の形態に係る情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus which concerns on this Embodiment. 本実施の形態に係るコンポーネント処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the component processing apparatus which concerns on this Embodiment. 基本処理部の構成を示すブロック図である。It is a block diagram which shows the structure of a basic process part. 初期化関数テーブルを説明するための説明図である。It is explanatory drawing for demonstrating the initialization function table.

符号の説明Explanation of symbols

1…コンポーネント処理装置、11…要求受信部、12…初期化制御部、13…コアサポート部、14a,14b…基本処理部、15…システム処理要求部、16…コマンドキュー、17…実行判断部、18a〜18d…関数、19a〜19d…フック関数、21…処理制御部、22…共通処理部、23…処理実行部、31…API、31a〜31d…API関数、32a,32b…特定処理部、33…システム処理部、35a,35b…初期化情報部、100…情報処理装置、101…CPU、102…ROM、103…RAM、104…I/F、105…バス。   DESCRIPTION OF SYMBOLS 1 ... Component processing apparatus, 11 ... Request receiving part, 12 ... Initialization control part, 13 ... Core support part, 14a, 14b ... Basic processing part, 15 ... System processing request part, 16 ... Command queue, 17 ... Execution judgment part , 18a to 18d ... function, 19a to 19d ... hook function, 21 ... processing control unit, 22 ... common processing unit, 23 ... processing execution unit, 31 ... API, 31a-31d ... API function, 32a, 32b ... specific processing unit , 33: System processing unit, 35a, 35b ... Initialization information unit, 100 ... Information processing device, 101 ... CPU, 102 ... ROM, 103 ... RAM, 104 ... I / F, 105 ... Bus.

Claims (6)

所定の機能の処理を実行するためのコンポーネントプログラムに対して所定のデータ処理を行わせるためのコンポーネント処理装置であって、
前記コンポーネントプログラムに設けられる複数の処理のそれぞれに対応する複数の処理I/Fを提供し、前記複数の処理I/Fのそれぞれに対応付けられている前記複数の処理の実行に対する要求を前記コンポーネントプログラムに対して依頼する処理実行部と、
前記コンポーネントプログラムに非依存の共通処理を実行する共通処理部と、
アプリケーションプログラムからの要求のうち、前記コンポーネントプログラムに非依存の共通処理を前記共通処理部に依頼し、前記コンポーネントプログラムに依存する処理を前記処理実行部に依頼するように制御する処理制御部と、
前記処理実行部が提供する前記複数の処理I/Fに対して、それぞれ前記コンポーネントプログラムにおいて実行する前記複数の処理の対応付けを行う初期化制御部と、
前記要求を受信し、前記要求が初期化要求の場合、前記初期化制御部を呼び出して、前記処理実行部が提供する前記複数の処理I/Fに対して、それぞれ前記コンポーネントプログラムにおいて実行する前記複数の処理の対応付けを行い、前記要求が前記初期化要求以外の場合、前記処理制御部を呼び出す要求受信部と、
を有することを特徴とするコンポーネント処理装置。
A component processing device for causing a component program for executing processing of a predetermined function to perform predetermined data processing,
A plurality of process I / Fs corresponding to each of a plurality of processes provided in the component program are provided, and a request for execution of the plurality of processes associated with each of the plurality of process I / Fs is sent to the component A process execution unit that requests the program;
A common processing unit that executes common processing independent of the component program;
Among the requests from the application program, request a common process independent of the component program to the common processing unit, and control a process control unit to control the process execution unit to request the process execution unit,
An initialization control unit that associates the plurality of processes executed in the component program with the plurality of process I / Fs provided by the process execution unit;
When the request is received and the request is an initialization request, the initialization control unit is called, and the plurality of processing I / Fs provided by the processing execution unit are executed in the component program, respectively. A request receiving unit that associates a plurality of processes and calls the process control unit when the request is other than the initialization request; and
A component processing apparatus comprising:
前記初期化制御部は、前記複数の処理I/Fと、前記複数の処理I/Fのそれぞれに対応する前記複数の処理の前記コンポーネント内のアドレスを記憶する初期化関数テーブルを保持し、前記初期化関数テーブルを参照することにより前記対応付けを行うことを特徴とする請求項1に記載のコンポーネント処理装置。   The initialization control unit maintains an initialization function table that stores addresses in the components of the plurality of processes corresponding to the plurality of process I / Fs and the plurality of process I / Fs, The component processing apparatus according to claim 1, wherein the association is performed by referring to an initialization function table. 前記コンポーネントプログラムは前記複数の処理I/Fと、前記複数の処理I/Fのそれぞれに対応する前記複数の処理の前記コンポーネント内のアドレスを記憶する初期化関数テーブルを保持し、前記初期化制御部からの初期化要求に応じて、前記初期化関数テーブルを参照することにより前記対応付けを行うことを特徴とする請求項1に記載のコンポーネント処理装置。   The component program holds an initialization function table that stores the plurality of processing I / Fs and addresses in the components of the plurality of processings corresponding to the plurality of processing I / Fs, and the initialization control. The component processing apparatus according to claim 1, wherein the association is performed by referring to the initialization function table in response to an initialization request from a unit. 前記要求受信部は、受信した前記要求を複数格納可能な要求格納部と、
前記要求が前記処理実行部において実行可能か否かを判断する実行判断部と、
を有し、
前記実行判断部は、前記要求が前記処理実行部において実行可能であると判断した場合、前記要求格納部に格納された前記要求を前記処理制御部にロードすることを特徴とする請求項1から3の何れか1項に記載のコンポーネント処理装置。
The request receiving unit is a request storage unit capable of storing a plurality of received requests;
An execution determination unit that determines whether or not the request can be executed in the process execution unit;
Have
The said execution determination part loads the said request | requirement stored in the said request | requirement storage part to the said process control part, when it judges that the said request | requirement is executable in the said process execution part. 4. The component processing apparatus according to any one of 3.
前記共通処理は、前記コンポーネントの通信経路の確立及び通信系路上で送受信されるデータ領域の管理を実行する通信処理、または前記コンポーネントの状態の遷移を実行する状態遷移処理であることを特徴とする請求項1から4の何れか1項に記載のコンポーネント処理装置。   The common process is a communication process for establishing a communication path of the component and managing a data area transmitted / received on a communication system path, or a state transition process for executing a state transition of the component. The component processing apparatus of any one of Claim 1 to 4. 特定の機能を実行するための処理プログラムに対して特定のデータ処理を行わせるためのコンポーネント処理プログラムであって、
前記コンポーネントプログラムに設けられる複数の処理のそれぞれに対応する複数の処理I/Fを提供し、前記複数の処理I/Fのそれぞれに対応付けられている前記複数の処理の実行に対する要求を前記コンポーネントプログラムに対して依頼する第1のコード部と、
前記コンポーネントプログラムに非依存の共通処理を実行する第2のコード部と、
アプリケーションプログラムからの要求のうち、前記コンポーネントプログラムに非依存の共通処理を前記共通処理部に依頼し、前記コンポーネントプログラムに依存する処理を前記処理実行部に依頼するように制御する第3のコード部と、
前記処理実行部が提供する前記複数の処理I/Fに対して、それぞれ前記コンポーネントプログラムにおいて実行する前記複数の処理の対応付けを行う第4のコード部と、
前記要求を受信し、前記要求が初期化要求の場合、前記初期化制御部を呼び出して、前記処理実行部が提供する前記複数の処理I/Fに対して、それぞれ前記コンポーネントプログラムにおいて実行する前記複数の処理の対応付けを行い、前記要求が前記初期化要求以外の場合、前記処理制御部を呼び出す第5のコード部と、
をコンピュータに実行させることを特徴とするコンポーネント処理プログラム。
A component processing program for causing a processing program for executing a specific function to perform specific data processing,
A plurality of process I / Fs corresponding to each of a plurality of processes provided in the component program are provided, and a request for execution of the plurality of processes associated with each of the plurality of process I / Fs is sent to the component A first code part to request for the program;
A second code unit that executes common processing independent of the component program;
A third code unit that controls to request the common processing unit to perform a common process independent of the component program, and to request the process execution unit to perform a process dependent on the component program. When,
A fourth code unit that associates the plurality of processes executed in the component program with the plurality of process I / Fs provided by the process execution unit;
When the request is received and the request is an initialization request, the initialization control unit is called, and the plurality of processing I / Fs provided by the processing execution unit are executed in the component program, respectively. A plurality of processes associated with each other, and when the request is other than the initialization request, a fifth code section that calls the process control section;
A component processing program for causing a computer to execute.
JP2008203381A 2008-08-06 2008-08-06 Component processor and component processing program Pending JP2010039861A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008203381A JP2010039861A (en) 2008-08-06 2008-08-06 Component processor and component processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008203381A JP2010039861A (en) 2008-08-06 2008-08-06 Component processor and component processing program

Publications (1)

Publication Number Publication Date
JP2010039861A true JP2010039861A (en) 2010-02-18

Family

ID=42012322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008203381A Pending JP2010039861A (en) 2008-08-06 2008-08-06 Component processor and component processing program

Country Status (1)

Country Link
JP (1) JP2010039861A (en)

Similar Documents

Publication Publication Date Title
US10762204B2 (en) Managing containerized applications
EP3074867B1 (en) Managing containerized applications
CN110199271B (en) Method and apparatus for field programmable gate array virtualization
CN101930449B (en) Client, brokerage server and method for providing cloud storage
JP4709166B2 (en) Method and system for a security model for a computer device
RU2327208C2 (en) Driver model, independent of processing mode
KR101066682B1 (en) Notification method for shared resources
US10223321B2 (en) Combining redirected USB interfaces into a single composite device
US20110004916A1 (en) Securely using service providers in elastic computing systems and environments
JP2008165795A (en) Dynamic virtual machine generation
JP2009528620A (en) Move virtual machines with resources such as hardware devices
JP4286798B2 (en) Method for installing driver file on hard drive, computer and computer-readable storage medium
JP2008539484A (en) Universal serial bus function delegation
JP2016526226A (en) Limited driver platform runs drivers in sandbox in user mode
US10114779B2 (en) Isolating a redirected USB device to a set of applications
TW201030623A (en) Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
CN102473100A (en) Method, device and computer program for providing multimedia functionality using software packaging components
US11068613B2 (en) Differentiating and managing identical USB devices
KR20130104958A (en) Apparatus and methods for executing multi-operating systems
JP6070423B2 (en) Information processing apparatus, information processing method, and program
US8769544B2 (en) Method and system for managing parallel resource request in a portable computing device
JP5157520B2 (en) Processing control system, server, and processing control program
US8631480B2 (en) Systems and methods for implementing security services
JP2010039861A (en) Component processor and component processing program
JP2006164266A (en) Improving operating system performance