(57)【要約】      （修正有）【課題】複数のコンポーネントを有するシステムにおいて、シーケンス管理部を修正することなく、システムの機能変更を実現する。【解決手段】子処理部１０２を識別可能な識別情報と、子処理部１０２が他の子処理部１０２に優先して処理を実行するか否かを表す優先度を示す優先度情報と、のセットを保持し、複数の子処理部１０２のそれぞれからセットを取得する取得手段１０４と、取得手段が取得したセットのうち、より高い優先度を示す優先度情報を含むセットから順に参照し、参照したセットに含まれる識別情報によって特定される子処理部１０２に対して動作指示を送信することで、子処理部１０２を動作させる制御手段１０５とを備える。【選択図】図１
2011209948.tif 000002
【特許請求の範囲】
【請求項１】
子処理部を識別可能な識別情報と、当該子処理部が他の子処理部に優先して処理を実行するか否かを表す優先度を示す優先度情報と、のセットを保持している複数の前記子処理部と通信可能な情報処理装置であって、
前記複数の子処理部のそれぞれから前記セットを取得する取得手段と、
前記取得手段が取得した前記セットのうち、より高い前記優先度を示す前記優先度情報を含むセットから順に参照し、当該参照したセットに含まれる識別情報によって特定される前記子処理部に対して動作指示を送信することで、当該子処理部を動作させる制御手段と
を備えることを特徴とする、情報処理装置。
【請求項２】
前記制御手段は、
前記情報処理装置に入力された１番目のデータを取得し、
１番目に動作させる前記子処理部に前記１番目のデータ及び前記動作指示を送信し、
前記１番目に動作させる子処理部が前記１番目のデータを処理した結果得られる２番目のデータを、前記１番目に動作させる子処理部から取得し、
ｉ番目に動作させる前記子処理部に、ｉ番目（ｉ＝２，…，Ｎ；Ｎは動作させる子処理部の数）のデータ及び前記動作指示を送信し、
前記ｉ番目に動作させる子処理部が前記ｉ番目のデータを処理した結果得られる（ｉ＋１）番目のデータを、前記ｉ番目に動作させる子処理部から取得し、
Ｎ番目に動作させる前記子処理部から取得した（Ｎ＋１）番目のデータを、前記１番目のデータの処理結果として出力することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記優先度情報は、前記子処理部自身が処理可能なデータの種類毎に前記セットに含められており、
前記情報処理装置は、前記情報処理装置に入力された処理対象データの種類を特定する特定手段をさらに備え、
前記制御手段は、前記特定手段が特定した種類に対応する優先度情報を含むセットのうち、前記特定手段が特定した種類に対応する前記優先度情報がより高い優先度を示すセットから順に参照することを特徴とする、請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御手段は、より高い前記優先度を示す前記優先度情報を含むセットを順に参照することで、それぞれの前記子処理部に対する前記動作指示の送信順序を決定し、当該決定した送信順序に従って前記動作指示を送信し、
前記情報処理装置に新しい前記子処理部が追加された場合、
前記取得手段は前記新しい子処理部から前記セットをさらに取得し、
前記制御手段は、前記取得手段が取得した全ての前記セットを順に参照することで、それぞれの前記子処理部に対する前記動作指示の送信順序を再び決定することを特徴とする、請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
第１の子処理部でエラーが生じると第２の子処理部の処理を実行できない場合、前記第１の子処理部が前記第２の子処理部よりも早く実行されるように、前記優先度情報が定められていることを特徴とする、請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
子処理部を識別可能な識別情報と、当該子処理部が他の子処理部に優先して処理を実行するか否かを表す優先度を示す優先度情報と、のセットを保持している複数の前記子処理部と通信可能な情報処理装置が行う情報処理方法であって、
前記複数の子処理部のそれぞれから前記セットを取得する取得工程と、
前記取得工程で取得した前記セットのうち、より高い前記優先度を示す前記優先度情報を含むセットから順に参照し、当該参照したセットに含まれる識別情報によって特定される前記子処理部に対して動作指示を送信することで、当該子処理部を動作させる制御工程と
を備えることを特徴とする、情報処理方法。
【請求項７】
請求項１乃至５の何れか１項に記載の情報処理装置が備える各手段としてコンピュータを機能させるためのコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムを格納した、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンポーネントを用いる情報処理技術に関する。
【背景技術】
【０００２】
従来から、大規模なソフトウェアシステムを構築する場合には、それぞれ固有の機能を持つ複数のソフトウェアコンポーネントに分割して開発する手法がとられる。システム内では、関連する複数のコンポーネント間で処理の依頼が行われ、各コンポーネントが互いに協調することにより１つの大きな処理を実現する。
【０００３】
システム全体の機能を複数のコンポーネントに分割する方法の１つとして、入力されたデータに変換を加えて出力する処理（以降この処理をフィルタ処理と称す）を一機能と考え、データの流れに沿って機能を分割する方法が従来から知られている。このような分割方法のメリットは、コンポーネントの追加、コンポーネントの交換及び／又は組合せ変更により、そのシステムの機能の増減及び／又は将来の機能拡張ができることである。
【０００４】
例えば、スキャナからの入力画像に対して様々な画像処理を行うシステムにおいて、異なる画像処理を行う複数のコンポーネントを設け、コンポーネントの実行順序を変更することで、機能変更を行うシステムが提案されている（特許文献１）。特許文献１のシステムでは、ユーザやアプリケーションから要求される処理条件に基づいて、コンポーネント間の実行順を決定するシーケンス管理部が存在する。このシーケンス管理部は、処理条件に対応する、使用されるコンポーネントと各コンポーネントの処理順とを予め記憶している。そしてこのシーケンス管理部は、記憶している順序に従って各コンポーネントを順に実行させる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１７２９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献１の方法によれば、新たな種類のデータにシステムを対応させる場合、そのデータに対応する処理順序をシーケンス管理部に記憶させる必要がある。また、既に対応している種類のデータに対する処理方法を変更するために、新たなコンポーネントの追加及び／又は処理順の変更が必要となる場合がある。これらの場合に、コンポーネントだけでなくシーケンス管理部の機能をも変更する必要があり、手間がかかるという問題があった。
本発明は、上記事情に鑑みなされたものであり、複数のコンポーネントを有するシステムにおいて、シーケンス管理部を修正することなく、システムの機能変更を実現することを可能とすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。すなわち、
子処理部を識別可能な識別情報と、当該子処理部が他の子処理部に優先して処理を実行するか否かを表す優先度を示す優先度情報と、のセットを保持している複数の前記子処理部と通信可能な情報処理装置であって、
前記複数の子処理部のそれぞれから前記セットを取得する取得手段と、
前記取得手段が取得した前記セットのうち、より高い前記優先度を示す前記優先度情報を含むセットから順に参照し、当該参照したセットに含まれる識別情報によって特定される前記子処理部に対して動作指示を送信することで、当該子処理部を動作させる制御手段とを備えることを特徴とする。
【発明の効果】
【０００８】
複数のコンポーネントを有するシステムにおいて、シーケンス管理部を修正することなく、システムの機能変更を実現することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係るシステムの構成を示すブロック図。
【図２】第１の実施形態に係るコンポーネントの内部構成を示すブロック図。
【図３】第１の実施形態に係るコンポーネントの組合せ例。
【図４】第１の実施形態に係るシステムの構成の一例。
【図５】第１の実施形態に係るコンポーネントが保持する情報の一例。
【図６】第１の実施形態に係るフィルタリストの一例。
【図７】第１の実施形態に係るストリーム毎のコンポーネントの組合せ例。
【図８】第１の実施形態に係るフローチャート。
【図９】第２の実施形態に係るコンポーネントの組合せ例。
【図１０】第２の実施形態に係るコンポーネントが保持する情報の一例。
【図１１】第２の実施形態に係るコンポーネントが保持する情報の一例。
【図１２】第４の実施形態に係るコンピュータのハードウェア構成の一例。
【図１３】第２の実施形態に係るコンポーネントの組合せ例。
【図１４】第２の実施形態に係るフィルタリストの一例。
【図１５】第２の実施形態に係るフローチャート。
【図１６】第３の実施形態に係るエラーが発生した状態を示す。
【図１７】第３の実施形態に係るエラーのコンポーネントへの影響を示す。
【図１８】第３の実施形態に係るフローチャート。
【図１９】第３の実施形態に係る処理中の優先度の変化を示す。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面およびフローチャートを用いて説明する。ただし、本発明の範囲は以下の実施形態に限定されるものではない。各実施形態においては主にストリームデータの処理が例として説明されるが、一回だけ入力されるデータに対して本発明のシステムが用いられてもよい。
【００１１】
本発明においてコンポーネント又はフィルタとは、データの入力と出力との少なくとも一方をするものであれば何でもよい。例えば１つのコンポーネントは、外部から放送ストリームを取得して出力してもよい。１つのコンポーネントは、取得したデータを外部の表示装置に出力してもよい。コンポーネントの例として、データの復号を行うコンポーネント、画像に色補正を行うコンポーネント、などが挙げられる。
【００１２】
このようなコンポーネント又はフィルタは、様々な形態で実現することができる。例えば、コンポーネントは、プログラムとして実現することができる。また、コンポーネントを、データ処理システムに対して取り付け及び取り外しが可能な拡張ボードとして実現することもできる。
【００１３】
［第１の実施形態］
図１は本実施形態に係るシステムの実施形態の構成を示すブロック図である。図１において、１０１はシーケンス管理部（情報処理装置）であり、取得部１０４、制御部１０５、及び特定部１０６を含む。取得部１０４は、情報処理システムの外部から、又はアプリケーション１０３から、処理を行うデータを取得する。制御部１０５は、適切なコンポーネント１０２を選択し、コンポーネント１０２の実行順序を管理する。特定部１０６は、アプリケーション１０３からのデータ処理要求を受け取る。コンポーネント１０２（子処理部）は、入力されたデータに何らかのデータ変換処理を施し、変換したデータを出力する。以下で、このデータ変換処理のことをフィルタ処理と称する。そしてコンポーネント１０２は、シーケンス管理部１０１と通信可能である。処理するデータに対応する１以上のコンポーネント１０２を使用して、データを複数回変換することにより、例えばアプリケーション１０３からのデータに対する所望の処理を行うことができる。アプリケーション１０３は、シーケンス管理部１０１にストリーム処理要求を出し、シーケンス管理部に処理対象データの種類を通知する。データの種類は、ユーザが指示してもよいし、データの例えばヘッダ部分に含まれる情報から判断してもよい。
【００１４】
図２は、本実施形態に係るコンポーネントの内部構成を示すブロック図である。図２において、優先度保持部１０２１は、コンポーネント１０２が処理可能なストリームの種類を示す対応情報と、処理順序に関する情報を保持している。これらの情報の内容については後述する。１０２２はフィルタ処理部であり、データ変換処理を実行する。
【００１５】
図３は、コンポーネントの組合せの一例である。図３、放送ストリームを受信しデコードするストリーム処理システムに関する。３０２１〜３０２４はコンポーネントの具体例である。チューナ制御フィルタ３０２１は、放送の電波信号に対して復調などのデータ変換処理を行うことにより、トランスポートストリームを出力する。デマルチプレクスフィルタ３０２２は、トランスポートストリームに対して処理を行うことにより、所望のＰＩＤのトランスポートストリームパケットを出力する。ＣＡ制御フィルタ３０２３は、トランスポートストリームパケットに対して限定受信情報に基づいてデスクランブル処理を行うことにより、デスクランブルされたトランスポートストリームパケットを出力する。
【００１６】
ＭＰＥＧデコードフィルタ３０２４は、デスクランブルされたトランスポートストリームパケットに対してＭＰＥＧデコード処理を行い、映像及び音声を出力する。３０２１〜３０２４が変換処理を行うことにより、放送波を映像及び音声に変換できる。放送ストリームアプリケーション３０３は、ユーザからの指示を受け、放送を受信する要求をシーケンス管理部１０１に送る。シーケンス管理部１０１は、アプリケーション３０３からの放送受信要求を受け取り、コンポーネント３０２１〜３０２４に順番に処理依頼を出す。シーケンス管理部１０１がこうして処理順序を制御することにより、放送ストリームが処理できる。
【００１７】
図４は、本実施形態に係る、複数の種類のストリームを処理するストリーム処理システムの構成の一例である。図４のシステムは、放送、１３９４入力、ＨＤＭＩ入力の３つストリームを処理できる。図４において、４０２１はチューナ制御フィルタであり、チューニングと復調処理を行う。デマルチプレクスフィルタ４０２２は、トランスポートストリームからパケットを分離する。１３９４入力フィルタ４０２３は、ＩＥＥＥ１３９４ポートからのデータを取得する。ＨＤＭＩ入力フィルタ４０２４は、ＨＤＭＩポートからのデータを取得する。ＣＡ制御フィルタ４０２５は、限定受信情報に基づいてデスクランブル処理を行う。ＤＴＣＰデクリプトフィルタ４０２６は、ＤＴＣＰ規格に基づいてデクリプトを行う。ＨＤＣＰデクリプトフィルタ４０２７は、ＨＤＣＰ規格に基づいてデクリプト処理を行う。ＭＰＥＧデコードフィルタ４０２８は、ＭＰＥＧデコード処理を行う。
【００１８】
各コンポーネントは、図２に示した優先度保持部１０２１を有する。図５は、図４の各コンポーネントが有する優先度情報の一例を示す。５０１〜５０８は各コンポーネントが有する対応情報と優先度情報である。５０１はチューナ制御フィルタ４０２１が有する情報であり、チューナ制御フィルタ４０２１が放送ストリームの処理で使用されること、及びチューナ制御フィルタ４０２１の優先度が１０であることを示す。５０２はデマルチプレクスフィルタ４０２２が有する情報であり、デマルチプレクスフィルタ４０２２が放送ストリーム及び１３９４ストリームの処理で使用されること、デマルチプレクスフィルタ４０２２の優先度が８であることを示す。他の情報についても同様である。すなわち優先度情報は、コンポーネント自身（子処理部自身）が処理可能なデータの種類毎に存在する。
【００１９】
ここでは、数値が大きい方が優先度が高く、より高い優先度を有するフィルタがより早く実行されるものとする。各コンポーネントは、シーケンス管理部に上記の対応情報及び優先度情報を登録する。この登録はいつ行われてもよく、例えばストリーム処理を実行する前の初期化段階において行われてもよい。また、ストリーム処理を行うプログラムが起動した際に行われてもよく、このプログラムの実行中に行われてもよい。
【００２０】
図６は、各コンポーネントからシーケンス管理部１０１に登録された情報を、ストリーム種別ごとに展開したリストの例である。図６のリストは説明のための一例であって、シーケンス管理部１０１は図６とは別の形式で情報を保持してもよい。図６において６０１〜６０３は、ストリーム種別毎に、用いるコンポーネントを実行順に並べたリストであり、以降フィルタリストと呼ぶ。
【００２１】
６０１は、放送ストリームの処理に用いるコンポーネントとその実行順である。６０１は、放送ストリームの処理のためには、チューナ制御、デマルチプレクス、ＣＡ制御、ＭＰＥＧデコーダの順にフィルタを実行することを示している。６０２は１３９４ストリームの処理用のフィルタリストであり、６０３はＨＤＭＩストリームの処理用のフィルタリストである。シーケンス管理部１０１はフィルタリストを使用することで、アプリケーションからのストリーム処理要求を受けた際に、適切なコンポーネントを選択し、適切な送信順序で動作指示を送信することが可能となる。図７は、フィルタリストを参照してフィルタを実行順に並べた結果である。図７（ａ）は放送ストリーム処理用の構成である。図７（ｂ）は１３９４ストリーム処理用の構成である。図７（ｃ）はＨＤＭＩストリーム処理用の構成である。
【００２２】
図８は、シーケンス管理部１０１がストリーム種別ごとのフィルタリストを作成する手順を示すフローチャートである。ステップＳ８０１でシーケンス管理部１０１は、システム内のコンポーネントの中から、対応情報と優先度情報とをシーケンス管理部１０１に登録していないコンポーネントを探す。未登録のコンポーネントが無い場合、シーケンス管理部１０１は処理を終了する。未登録のコンポーネントがある場合、ステップＳ８０２においてシーケンス管理部１０１はそのコンポーネントを処理対象として選択する。
【００２３】
ステップＳ８０３でシーケンス管理部１０１は、選択したコンポーネントの優先度保持部１０２１が保持する情報を取得する。ステップＳ８０４でシーケンス管理部１０１は、取得した情報の中から１つ目の対応情報と優先度情報とを選択する。以降シーケンス管理部１０１は、ステップＳ８０５からステップＳ８０９を選択したコンポーネントが有する情報の数だけ繰り返す。
【００２４】
ステップＳ８０５でシーケンス管理部１０１は、選択された対応情報が、今まで登録されていない新規のストリーム種別を示すかどうかを判定する。新規のストリーム種別である場合には、ステップＳ８０６でシーケンス管理部１０１は、そのストリーム種別用のフィルタリストを作成する。新規のストリーム種別ではない場合には、処理はステップＳ８０７に進む。ステップＳ８０７でシーケンス管理部１０１は、対応情報が示すストリーム種別用のフィルタリストに、選択されているコンポーネントを追加する。ここでシーケンス管理部１０１は、追加されたコンポーネントを含むフィルタリスト内のコンポーネントを、優先度順にソートする。
【００２５】
ステップＳ８０８でシーケンス管理部１０１は、選択されたフィルタに次の対応情報があるかどうかを判断する。次の対応情報がある場合には、ステップＳ８０９でシーケンス管理部１０１は次の対応情報を選択し、処理はステップＳ８０５に戻る。次の対応情報がない場合には、処理はステップＳ８０１に戻る。そして、ステップＳ８０１からステップＳ８０９までの処理が、コンポーネントの数だけ繰り返される。
【００２６】
図８の処理でシーケンス管理部１０１が作成したフィルタリストに基づき、シーケンス管理部１０１と各コンポーネントとが協調してストリーム処理を実行する例を図１、図６、図７を参照して説明する。図１のアプリケーション１０３は、ユーザの指示を受けて、システムが対応するストリーム種別の中から１つのストリーム種別を選択し、シーケンス管理部１０１にストリーム処理要求を出す。ここでは仮に、ユーザがアプリケーション１０３に放送ストリームを受信する指示を出し、アプリケーション１０３が放送ストリームの受信要求をシーケンス管理部１０１に送るものとする。
【００２７】
シーケンス管理部１０１は、アプリケーション１０３からの要求を受け、図６のフィルタリストの中から、放送用のフィルタリスト６０１を選択する。このフィルタリストに従って、シーケンス管理部１０１は順番に各コンポーネントに処理を開始させる。例えば、シーケンス管理部１０１は順番に各コンポーネントに動作指示を送信する。フィルタリスト６０１においては、チューナ制御フィルタ４０２１が１番目のフィルタなので、シーケンス管理部１０１はチューナ制御フィルタ４０２１に処理を開始させる。チューナ制御フィルタ４０２１は処理を実行し、処理結果をシーケンス管理部１０１に送る。チューナ制御フィルタ４０２１は、処理の実行が可能な場合に、処理が成功したという応答をシーケンス管理部１０１に送ってもよい。
【００２８】
チューナ制御フィルタ４０２１からの応答を受け取ると、シーケンス管理部１０１は、フィルタリスト６０１における２番目のフィルタであるデマルチプレクスフィルタ４０２２に動作指示を送信し、処理を開始させる。このとき、チューナ制御フィルタ４０２１が処理を行った結果得られる、チューナ制御フィルタ４０２１から送られたデータを、デマルチプレクスフィルタ４０２２に送信してもよい。デマルチプレクスフィルタ４０２２は処理を実行し、処理結果をシーケンス管理部１０１に送る。チューナ制御フィルタ４０２１と同様に、デマルチプレクスフィルタ４０２２は処理が成功したという応答を送ってもよい。同様にシーケンス管理部１０１は、あるコンポーネントからの応答を受けると、フィルタリスト６０１において次に位置するコンポーネントに処理を開始させる。最後に位置するフィルタからの応答を受信することで、シーケンス管理部１０１は処理の終了を認識できる。
【００２９】
アプリケーション１０３が異なる種別のストリームの処理要求をシーケンス管理部１０１に送った場合、シーケンス管理部１０１は、その種別のストリーム用のフィルタリストを選択する。そして、シーケンス管理部１０１が各コンポーネントに順に処理を開始させることにより、ストリーム処理を実行させる。
【００３０】
以上の例としての処理をまとめると、次のようになる。シーケンス管理部１０１は１番目のデータを取得する。１番目のデータは、例えば処理が行われるデータでもよいし、処理の開始時刻などのパラメータであってもよい。シーケンス管理部１０１はフィルタリストを参照し、１番目に動作させるコンポーネント（子処理部）に１番目のデータ及び動作指示を送信する。１番目に動作させるコンポーネントはデータ処理を行い、その結果得られる２番目のデータをシーケンス管理部１０１に送信する。その後シーケンス管理部１０１は、ｉ番目に動作させるコンポーネントに、ｉ番目（ｉ＝２，…，Ｎ；Ｎは動作させるコンポーネントの数）のデータ及び動作指示を送信する。そして、ｉ番目に動作させるコンポーネントがｉ番目のデータを処理した結果得られる（ｉ＋１）番目のデータを、ｉ番目に動作させる子処理部から取得する。最後に、Ｎ番目に動作させる子処理部から取得した（Ｎ＋１）番目のデータを、１番目のデータの処理結果として出力する。（Ｎ＋１）番目のデータは最終的な処理結果であってもよいし、例えばアプリケーション１０３に対する終了通知などの通知であってもよい。
【００３１】
本実施形態ではシーケンス管理部１０１が各コンポーネントの処理結果を受信すると、受信した処理結果を次のコンポーネントに送るものとする。例えば上記の例において、チューナ制御フィルタ４０２１からの処理結果を受け取ると、シーケンス管理部１０１はデマルチプレクスフィルタ４０２２に受け取った処理結果を送り、処理を開始させる。しかしながら、シーケンス管理部１０１が処理結果を受け取る必要は必ずしもない。
【００３２】
例えばシーケンス管理部１０１は、チューナ制御フィルタ４０２１に処理を開始させる際に、次に実行するコンポーネントがデマルチプレクスフィルタ４０２２であることを、チューナ制御フィルタ４０２１に通知する。チューナ制御フィルタ４０２１は、処理を終了すると、結果を次に実行するデマルチプレクスフィルタ４０２２に送る。このようにしても、シーケンス管理部１０１が各コンポーネントに順に処理を実行させることが可能である。
【００３３】
また、シーケンス管理部１０１は、１番目のコンポーネントに対して、各コンポーネントの実行順を通知する。そして、各コンポーネントは次のコンポーネントに対して実行順をさらに通知する。このようにすれば、シーケンス管理部１０１が３つ以上のコンポーネントを順に実行させることも可能である。各コンポーネントからの処理が成功したという通知に応答して、シーケンス管理部１０１がそのコンポーネントに対して、処理結果を送信すべきコンポーネントを指示してもよい。
【００３４】
以上の本実施形態におけるデータ処理システム、例えばストリーム処理システムにおいては、対応するデータの種別、例えばストリームの種別と、コンポーネントの実行順序に関する情報とを、各コンポーネントは保持する。そして、シーケンス管理部がこれらの情報を動的に取得することにより、データの種別毎の各コンポーネントの実行順が決定される。本実施形態に従えば、データ処理システムの機能を、容易に向上させ又は削減することができる。例えば、データ処理システムの機種毎に異なる機能を持たせることが容易に可能である。この際、各種のデータ（ストリーム）を処理する際に共通して用いられるシーケンス管理部に対して変更を加える必要はない。コンポーネントの選択、追加、及び／又は削除を行えば十分である。
【００３５】
［第２の実施形態］
本実施形態においては、コンポーネントを動的に追加及び／又は変更し、システムを新しい種類のデータに対応させる。本実施形態に係るデータ処理システムの構成は第１の実施形態と同様であり、図１及び図２に示される。本実施形態においては、データ処理システムを、第１の実施形態で説明された３種類のストリームに加えて、ＩＰストリーミングの受信にも対応させる。
【００３６】
図９は、ＩＰストリーミング受信のためのコンポーネントの組合せの例である。図９において、９０２１はＩＰ入力フィルタであり、ＩＰ網からの所望のパケット受信処理を行う。ＩＰストリームデクリプトフィルタ９０２２は、ＩＰストリーミング規格に基づいたデクリプト処理を行う。デマルチプレクスフィルタ９０２３は、トランスポートストリームからパケットを分離する。ＭＰＥＧデコードフィルタ９０２４は、ＭＰＥＧデコード処理を行う。各コンポーネントは、第１の実施形態と同様に、図２に示される優先度保持部１０２１を有する。
【００３７】
図１０は、ＩＰストリーミングの受信に対応させる前のデータ処理システムが有する、各コンポーネントの優先度保持部１０２１が保持している情報の一例を示す。図１０において、１００１〜１００８は各コンポーネントが保持している情報であり、対応情報、優先度情報、及びコンポーネントＩＤ情報（識別情報）のセットとなっている。対応情報と優先度は、第１の実施形態において説明されたものと同様である。さらに各コンポーネントには、コンポーネントを識別可能なＩＤが割り当てられている。各コンポーネントは、このコンポーネントＩＤ情報を保持している。コンポーネントＩＤは、異なる種類のコンポーネントが異なるコンポーネントＩＤを有するように割り当てられる。
【００３８】
図１１は、ＩＰストリーミングの受信のために用いる各コンポーネントの優先度保持部１０２１が保持する情報の一例を示す。図１１において、１１０１〜１１０４は各コンポーネントが保持している情報である。１１０１〜１１０４は、図１０の１００１〜１００８と同様のものであり、説明は省略する。デマルチプレクスフィルタ９０２３は、デマルチプレクスフィルタ４０２２の機能を変更し、ＩＰストリーミングに対応させたものである。このため、デマルチプレクスフィルタの持つ情報１１０３には、対応情報としてＩＰストリーミングが追加されている。
【００３９】
ＭＰＥＧデコードフィルタ１１０４も同様に、ＭＰＥＧデコードフィルタ１００８の機能を変更し、ＩＰストリーミングに対応させたものである。もちろん、機能を変更するのではなく、例えば、放送ストリーム、１３９４ストリーム、及びＩＰストリーミングに対応するデマルチプレクスフィルタ４０２２を新たに設計してもよい。
【００４０】
ＩＰストリーミングの受信に対応するために、図１１に示したコンポーネントは、本実施形態のデータ処理システムに導入される。例えばコンポーネントがソフトウェアとして実装される場合、本実施形態のデータ処理システムにダウンロードされることができる。ダウンロードは当業者に周知の方法によって行うことができる。例えば、放送電波によるダウンロードや、リムーバブルメモリによるダウンロードなどの方法が考えられる。さらに、データ処理システムが処理できないデータの処理要求を受けた場合に、本発明のデータ処理システムがそのデータを処理するために必要なコンポーネントのダウンロードを開始することもできる。
【００４１】
図１３はＩＰストリーミングを処理するためのコンポーネントが追加された後の、本実施形態のデータ処理システムの構成例を示す。ＩＰ入力フィルタ９０２１とＩＰストリームデクリプトフィルタ９０２２が新しくに追加されている。また、デマルチプレクスフィルタ４０２２が、デマルチプレクスフィルタ９０２３で置き換えられる。さらに、ＭＰＥＧデコードフィルタ４０２８が、ＭＰＥＧデコードフィルタ９０２４で置き換えられる。デマルチプレクスフィルタ９０２３は、図１１に示すようにコンポーネントＩＤ情報として「２」を有する。また、デマルチプレクスフィルタ４０２２も、図１０に示すようにコンポーネントＩＤ情報として「２」を有する。このように、同じ種類のコンポーネントが同じＩＤ情報を持ってもよい。すると、ＩＤ情報を参照してどのコンポーネントを置き換えるかを判断することができる。
【００４２】
図１４は、コンポーネントを追加した後の、第１の実施形態で説明されたフィルタリストの例である。図１４において、１２０１〜１２０３は、図６の６０１〜６０３と同等である。ＩＰストリーミングの処理に用いられるコンポーネントとその実行順が記載されているフィルタリスト１２０４が新たに追加される。
【００４３】
図１５は、新しい種類のストリームの処理に用いるコンポーネントがダウンロードされた時に、シーケンス管理部１０１がフィルタリストを更新する手順を示すフローチャートである。図１５のフローチャートの開始時には、１３９４ストリーム、及びＨＤＭＩストリーム用のフィルタリストが既に存在している。これらのフィルタリストの生成手順は、既に第１の実施形態で説明されている。ただし、第１の実施形態とは異なり、図１４に示すように、フィルタリストにはコンポーネントＩＤ情報が含まれている。
【００４４】
ステップＳ１３０１でシーケンス管理部１０１は、新しくダウンロードされたコンポーネントの有無を判断する。新しくダウンロードされたコンポーネントが無い場合、処理は終了する。例えば、各コンポーネントの優先度保持部１０２１が、そのコンポーネントが新しくダウンロードされたか否かを示すフラグ情報を有することにより、このような処理が実現されてもよい。また、シーケンス管理部１０１が各コンポーネントを識別可能な情報を保持することにより、コンポーネントが新しくダウンロードされたか否か、又はコンポーネントが更新されたか否か、を認識することも可能である。新しくダウンロードされたコンポーネントがある場合、処理はステップＳ１３０２に進む。ステップＳ１３０２において、シーケンス管理部１０１はそのコンポーネントを処理対象として選択する。
【００４５】
ステップＳ１３０３でシーケンス管理部１０１は、選択したコンポーネントからコンポーネントＩＤ、対応情報、及び優先度情報を取得する。ステップＳ１３０４でシーケンス管理部１０１は、１つ目の対応情報と優先度情報との組を選択する。以降シーケンス管理部１０１は、ステップＳ１３０５〜ステップＳ１３１０の処理を、選択されたコンポーネントが有する情報の数だけ繰り返す。
【００４６】
ステップＳ１３０５でシーケンス管理部１０１は、選択された対応情報が示すストリーム種別のフィルタリストが存在するか否かを判断する。フィルタリストが存在しない場合、シーケンス管理部１０１は選択された対応情報が示すストリーム種別のフィルタリストを作成する。フィルタリストが存在する場合、処理はステップＳ１３０７に進む。
【００４７】
ステップＳ１３０７でシーケンス管理部１０１は、選択された対応情報が示すストリーム種別のフィルタリストを選択する。そしてシーケンス管理部１０１は、選択されたコンポーネントが選択されたフィルタリストに含まれているか否かを判断する。この際、コンポーネントＩＤを使用することができる。すなわち、選択されたコンポーネントのＩＤが選択されたフィルタリストに含まれていれば、選択されたコンポーネントは既にフィルタリストに含まれていると判断することができる。
【００４８】
選択されたコンポーネントが選択されたフィルタリストに含まれている場合には、処理はステップＳ１３０９に進む。選択されたコンポーネントが選択されたフィルタリストに含まれてない場合には、処理はステップＳ１３０８に進む。ステップＳ１３０８でシーケンス管理部１０１は、選択されたフィルタリストに、選択されたコンポーネントを追加する。この時、第１の実施形態と同様にシーケンス管理部１０１は、追加されたコンポーネントを含むフィルタリスト内のコンポーネントを、優先度順にソートする。
【００４９】
本実施形態では、選択されたコンポーネントが選択されたフィルタリストに既に含まれている場合、シーケンス管理部１０１はフィルタリストの更新を行わない。しかしながら、選択されたコンポーネントが選択されたフィルタリストに既に含まれている場合に、シーケンス管理部１０１が、選択されたフィルタリストに含まれている選択されたコンポーネントの情報を更新してもよい。この構成によれば、コンポーネントを変更した際に優先度を変更することが可能である。
【００５０】
ステップＳ１３０９でシーケンス管理部１０１は、選択されたコンポーネントに次の対応情報と優先度情報との組が存在するか否かを判断する。次の対応情報と優先度情報との組が存在する場合には、処理はステップＳ１３１０に進む。次の対応情報と優先度情報との組が存在しない場合には、処理はステップＳ１３０１に戻る。ステップＳ１３１０でシーケンス管理部１０１は、次の対応情報と優先度情報との組を選択し、そして処理はステップＳ１３０５に戻る。以上のステップＳ１３０１〜Ｓ１３１０の処理が、新しくダウンロードされたコンポーネントの数だけ繰り返される。
【００５１】
本実施形態では、コンポーネントが追加された場合に、フィルタリストの更新が開始される。コンポーネントの追加を検出するために、様々な方法を採用することができる。例えば、本実施形態の情報処理システムが処理できないデータの処理をアプリケーション１０３に指示された場合、シーケンス管理部１０１はそのデータの処理に必要なコンポーネントをダウンロードする。あるいは、シーケンス管理部１０１は新たなコンポーネントの取り付けが必要なことをユーザに通知する。このダウンロードが終了し、又はユーザによって取り付けの終了が通知された場合、フィルタリストの更新を開始することができる。
【００５２】
別の方法として、シーケンス管理部１０１は、フィルタリストに登録されていない新しいコンポーネントを定期的に探索することもできる。すなわち、本実施形態のデータ処理システムに含まれるコンポーネントのそれぞれが持つコンポーネントＩＤが、フィルタリストに登録されているか否かを判断する。フィルタリストに登録されていないコンポーネントを発見した場合に、フィルタリストの更新を開始しても良い。シーケンス管理部１０１による新しいコンポーネントの探索は、どんなタイミングで行われてもよいが、例えば単純に所定時間毎に行われてもよい。あるいは、アプリケーション１０３からの処理開始要求をシーケンス管理部１０１が受け取った時に開始されてもよい。
【００５３】
さらにはシーケンス管理部１０１は、新しいコンポーネントを探索する際に、フィルタリストに登録されているコンポーネントが、本実施形態の情報処理システムから取り除かれていることを検出するかもしれない。この場合シーケンス管理部１０１は、フィルタリストをさらに更新することもできるし、コンポーネントが取り除かれているという警告をユーザに対して発することもできる。またシーケンス管理部１０１は、コンポーネントが取り除かれていることを示す情報を、フィルタリストに保存してもよい。すると、アプリケーション１０３からの処理開始要求を受け取った時に、要求されたデータ処理に必要なコンポーネントが存在しているか否かをシーケンス管理部１０１が判断することができる。この時、必要なコンポーネントが存在しないならば、ユーザに対してエラーを通知することができる。
【００５４】
本実施形態では、コンポーネントが追加された場合には既存のフィルタリストを更新するものとして説明した。しかしながら、コンポーネントが追加された場合に、新しくフィルタリストを作り直してもよい。本実施形態のデータ処理システムによれば、各コンポーネントが、対応するデータを示す対応情報、実行順を示す優先度情報、及びコンポーネントＩＤを保持する。これらの情報が、シーケンス管理部に動的に登録されることにより、ストリーム種別毎に各コンポーネントの実行順が決定される。従って、コンポーネントが動的に追加及び／又は変更される場合にも、共用部分であるシーケンス管理部を変更することなく、更新されたシステムでデータを処理することができる。例えば、システムが新しい種類のデータを処理することもできる。
【００５５】
また本実施形態では、コンポーネントＩＤは、異なる種類のコンポーネントが異なるコンポーネントＩＤを有するように割り当てられるものとした。しかしながら、同じ種類のコンポーネントが違うコンポーネントＩＤを有してもよい。この場合、コンポーネントが追加された時には、新しくフィルタリストを作り直せばよい。
【００５６】
［第３の実施形態］
本実施形態においては、各コンポーネントの優先度の決定方法を説明する。本実施形態に係る優先度の決定処理は、例えばコンピュータなどの、普通の情報処理装置が行うことができる。上述の実施形態に係るデータ処理システムにおいては、第２のコンポーネントは通常、第１のコンポーネントが出力したデータを処理する。従って、第１のコンポーネントの処理が終了しない限り、第２のコンポーネントはデータを処理することができない。言い換えれば、第１のコンポーネント（第１の子処理部）でエラーが発生すると、第２のコンポーネント（第２の子処理部）は影響を受ける。
【００５７】
連続して入力されるストリームデータを処理する場合、いずれかのコンポーネントがエラーのために処理を実行できない場合がある。しかしながら、エラーが発生したコンポーネントの上流に位置するコンポーネントが次のデータの処理を続けることにより、エラーから復旧した際により早くデータを出力することができる。
【００５８】
例えば図１６（Ａ）において、ＣＡ制御フィルタ３０２３において、契約が存在しないためにデスクランブルできないというエラーが発生する場合がある。この場合、下流のＭＰＥＧデコードフィルタ３０２４は動作できない。ところが、例えば有料放送ストリームから無料放送ストリームへとデータが変化することにより、エラーが解消される場合がある。この場合、無料放送への変化を認識し、かつ正しく処理するためには、上流のチューナ制御フィルタ３０２１、デマルチプレクスフィルタ３０２２、及びＣＡ制御フィルタ３０２３は、エラー発生中にも処理を続行する必要がある。同様に図１６（Ｂ）のように、例えば電波強度が変動することにより、チューナ制御フィルタ３０２１がチューニングできないというエラーが発生する場合もある。この場合も、チューナ制御フィルタ３０２１は動作を続行し、電波を監視し続けることができる。
【００５９】
よって、各フィルタ処理の実行を管理するシーケンス管理部１０１は、正常時の各コンポーネントの実行順を管理するだけでなく、エラーが発生した場合のコンポーネントの停止及び開始処理を管理する必要もある。この要件を満たしながら、シーケンス管理部１０１を複数のストリームへ対応させ、かつシーケンス管理部１０１にコンポーネントの停止及び開始処理を行わせようとする場合、シーケンス管理部１０１の処理が複雑になってしまう。本実施形態の方法によれば、シーケンス管理部１０１の処理負担を軽減しながら、シーケンス管理部１０１にフィルタの停止処理及び開始処理を行わせることができる。
【００６０】
本実施形態の方法によれば、各コンポーネントが保持する優先度情報は、エラーが発生した際に与える影響に基づき決定される。図１７（Ａ）は放送ストリーム処理における、各コンポーネントで発生するエラーとそのエラーに影響されるコンポーネントとの関係の一例を示す。図１７（Ｂ）は、１３９４ストリームの処理における、同様の関係の一例を示す。放送ストリームの処理においては、チューナ制御フィルタで「チューニングできない」エラーが発生した場合、デマルチプレクスフィルタ、ＣＡ制御フィルタ、及びＭＰＥＧデコードフィルタが動作できない。同様に、デマルチプレクスフィルタで「サービス休止中」エラーが発生した場合、ＣＡ制御フィルタ及びＭＰＥＧデコードフィルタは動作できない。このように、あるコンポーネントにおけるエラーに影響されるコンポーネントは、ストリームの種類に応じて一義的に決定できる。
【００６１】
図１８は、あるコンポーネントにおけるエラーに影響されるコンポーネントを示す、例えば図１７に示されるような情報に基づいて、ストリームの種類ごとに各コンポーネントの優先度を決定する手順を示すフローチャートである。図１７（Ａ）の放送ストリームの処理に関する情報を用いる場合が、例として以下で説明される。図１９は、図１８の処理中に優先度がどのように変化するかを示す。本実施形態では例として、図１２に示すコンピュータが以下の処理を行うものとする。
【００６２】
ステップＳ１７０１でＣＰＵ１９０１は、図１７（Ａ）の情報から優先度を割り当てるコンポーネントの数を確認し、全てのコンポーネントに仮の実行優先度を割り当てる。例として図１９（Ａ）のように、ＣＰＵ１９０１は、チューナ制御フィルタに１、デマルチプレクスフィルタに２、ＣＡ制御フィルタに３、ＭＰＥＧデコードフィルタに４を、それぞれ割り当て、コンポーネントと優先度との組を一次記憶１９０２に格納する。
【００６３】
ステップＳ１７０２でＣＰＵ１９０１は、最初のコンポーネントを選択する。ここではチューナ制御フィルタを選択する。次にステップＳ１７０３でＣＰＵ１９０１は、選択したコンポーネントで発生するエラーの情報と、そのエラーに影響されるコンポーネントの情報とを取得する。ステップＳ１７０４でＣＰＵ１９０１は、取得したエラーの情報から、最初の情報を選択する。ここでは、「チューニングできない」エラーを選択する。
【００６４】
ステップＳ１７０５でＣＰＵ１９０１は、選択されたコンポーネントと、選択されたエラーに影響を受けるコンポーネントとの優先度を比較する。影響を受けるコンポーネントの中に、選択されたコンポーネントの優先度より高いものがあれば、処理はステップＳ１７０６に進む。そうでなければ、処理はステップＳ１７０７に進む。ステップＳ１７０６でＣＰＵ１９０１は、選択されたコンポーネントの優先度を変更する。ここでは、チューナ制御フィルタの優先度よりも、デマルチプレクスフィルタ、ＣＡ制御フィルタ、及びＭＰＥＧデコードフィルタの優先度の方が高い。このうち最も高い優先度は、ＭＰＥＧデコードフィルタが持つ「４」である。従って、チューナ制御フィルタの優先度を「４」よりも大きくすればよい。例えば、チューナ制御フィルタの優先度を「４」よりも１つ大きい「５」としてもよい。図１９（Ｂ）は、この変更後の状態を示す。
【００６５】
ステップＳ１７０７でＣＰＵ１９０１は、次のエラー状態があるか否かを判断する。次のエラー状態がある場合には、処理はステップＳ１７０８に進む。次のエラー状態がない場合には、処理はステップＳ１７０９に進む。ステップＳ１７０８でＣＰＵ１９０１は、次のエラー状態を選択し、処理はステップＳ１７０５に戻る。ここでは、チューナ制御フィルタには１つのエラー状態しか無いので、処理はステップＳ１７０９に進む。
【００６６】
ステップＳ１７０９でＣＰＵ１９０１は、次のコンポーネントがあるか否かを判断する。次のコンポーネントがある場合には、処理はステップＳ１７１０に進む。次のコンポーネントがない場合には、優先度情報を一次記憶１９０２に登録して、優先度決定処理を終了する。ステップＳ１７１０でＣＰＵ１９０１は次のコンポーネントを選択し、処理はステップＳ１７０３に戻る。ここでは、次のデマルチプレクスフィルタを選択して、デマルチプレクスフィルタの優先度を変更する。デマルチプレクスフィルタの「サービス休止中」エラーに影響を受けるコンポーネントはＣＡ制御フィルタ及びＭＰＥＧデコードフィルタである。そして、図１９（Ｂ）を参照すると、デマルチプレクスフィルタの優先度よりも、ＣＡ制御フィルタ及びＭＰＥＧデコードフィルタの方が大きい。
【００６７】
これらのコンポーネントのうち、より優先度が大きいのはＭＰＥＧデコードフィルタの「４」である。しかし、チューナ制御フィルタの優先度を変更する際に確認したように、チューナ制御フィルタの優先度はデマルチプレクスフィルタの優先度よりも高くする必要がある。このためには、例えば「４」よりも大きい優先度を１つ大きくすればよい。すなわち、チューナ制御フィルタの優先度を「５」から「６」に変更し、デマルチプレフィルタの優先度を「５」にすればよい。図１９（Ｃ）は、この変更後の状態を示す。
【００６８】
次に、ＣＡ制御フィルタについても同様の処理を行い、ＣＡ制御フィルタの優先度を５、デマルチプレクスフィルタの優先度を６、チューナ制御フィルタの優先度を７に変更する。ＭＰＥＧデコードフィルタについても同様の処理を行う。しかし、ＭＰＥＧデコードフィルタのエラーは他のコンポーネントには影響しないので、優先度は変更されない。図１９（Ｄ）は、最終的な優先度を示す。
【００６９】
このようにして決定された優先度情報は、各コンポーネントの優先度保持部１０２１に登録され、上述の各実施形態で用いられる。本実施形態の方法によれば、エラーがコンポーネントに与える影響を考慮して、各コンポーネントの実行順を決定することができる。シーケンス管理部は、エラーの発生のために処理を止める必要がある時には、エラーが発生したコンポーネントの下流の処理を止めれば十分である。すなわち、シーケンス管理部のエラーに対する処理を、単純で、ストリーム種類に依存しない共通の処理とすることができる。コンポーネントの追加及び／又は変更を行う場合にも、共用部分であるシーケンス管理部の変更をする必要はない。
【００７０】
本実施形態ではエラーがコンポーネントに与える影響を考慮して優先度を決定した。しかしながら、コンポーネントの他の依存関係を考慮して優先度を決定することもできる。また、本実施形態で説明した優先度の決定方法は一例にすぎない。例えば、本実施形態のコンポーネント間の関係は木構造又はグラフ構造で表すことができる。従って、ノード間の依存関係を優先度として表現できる、既知の方法を採用することもできる。また、本実施形態では、上述の各実施形態とは独立なコンピュータが優先度を決定した。しかしながら、上述の各実施形態のデータ処理システムの例えばシーケンス管理部１０１が優先度を決定してもよい。また、エラーが他のコンポーネントに与える影響を示す情報を、各コンポーネントが有してもよい。この場合シーケンス管理部１０１は、各コンポーネントが有するこの情報を参照して、動的にフィルタリストを生成することもできる。
【００７１】
［第４の実施形態］
本実施形態では、上述の各実施形態に係る処理をコンピュータにより行わせる。図１２はコンピュータの基本構成を示す図である。このコンピュータにおいて上述の各実施形態の機能を実行するためには、各機能構成をコンピュータプログラムにより表現し、このコンピュータに読み込ませればよい。こうして、このコンピュータで上述の実施形態の全ての機能を実現することができる。この場合、図１をはじめとする構成要素の各々は関数、若しくはＣＰＵが実行するサブルーチンで機能させればよい。
【００７２】
また、コンピュータプログラムは通常、ＣＤ−ＲＯＭ等のコンピュータが読み取り可能な記憶媒体に格納されている。この記憶媒体を、コンピュータが有する読み取り装置（ＣＤ−ＲＯＭドライブ等）にセットし、システムにコピー若しくはインストールすることで実行可能になる。従って、係るコンピュータが読み取り可能な記憶媒体も本発明の範疇にあることは明らかである。
【００７３】
図１２においてＣＰＵ１９０１は、コンピュータ全体の動作をコントロールする。例えばＣＰＵ１９０１は、一次記憶１９０２に格納されたプログラムの実行等を行う。一次記憶１９０２は、主にＲＡＭ等のメモリであり、二次記憶１９０３に記憶されたプログラム等を読み込んで格納する。二次記憶１９０３は、例えばハードディスク、ＣＤ−ＲＯＭ等がこれに該当する。本実施形態では、実施形態の処理手順を実現するプログラムは二次記憶１９０３に格納し、プログラム実行時に一次記憶１９０２に読み込んで、ＣＰＵ１９０１が実行処理を行う。
【００７４】
入力デバイス１９０４とはコンピュータに情報を入力するデバイスであって、例えばマウスやキーボード等がこれに該当する。入力デバイス１９０４を用いることにより、ユーザがコンピュータに情報を入力することが可能であってもよい。出力デバイス１９０５とはコンピュータが情報を出力するデバイスであって、モニタ及びプリンタを含む。読込デバイス１９０６は、外部の情報を取得するためのデバイスである。読込デバイス１９０６は、メモリカードリーダ及びネットワークカードを含む。バス１９０８は、上述の各部を接続し、データのやりとりを可能とする。
【００７５】
［その他の実施形態］
上述の各実施形態においては、各コンポーネントの優先度情報が互いに異なる場合について説明した。しかしながら、同じ値の優先度情報を有するコンポーネントが、１つの種類のデータについて存在することも考えられる。この場合、同じ値の優先度情報を有するコンポーネントは並列に実行されてもよい。また、製造者の異なるコンポーネントが各実施形態のデータ処理システムに加えられた場合、意図せずに異なるコンポーネントが同じ値の優先度情報を有することが考えられる。この問題に対処するために、同じ値の優先度情報を有するコンポーネントをシーケンス管理部１０１が発見した場合、処理を行わないようにしてもよい。
【００７６】
さらには、同じ値の優先度情報を有するコンポーネントをシーケンス管理部１０１が発見した場合、データ処理を行うか否かをユーザに問い合わせてもよい。また、アプリケーション１０３又はユーザが、各コンポーネントに格納されている優先度情報を更新できてもよい。このようにして、意図せずに異なるコンポーネントが同じ値の優先度情報を有する場合にも、正しくデータ処理を行うことができる。
【００７７】
コンポーネントの選択、追加、及び／又は削除が可能な各実施形態において、データを処理するために必要なコンポーネントが、データ処理システムに欠けている場合が考えられる。この問題に対処するために、各コンポーネントが、優先度情報の他に、それぞれの種類のデータを処理するために必要な他のコンポーネントを示す情報を保持していてもよい。また、アプリケーション１０３が、それぞれの種類のデータを処理するために必要なコンポーネントを、シーケンス管理部１０１に指示してもよい。このようにして、シーケンス管理部１０１は、データ処理を実行するために必要なコンポーネントが全て存在するか否かを確認することができる。必要なコンポーネントが全て存在しない場合には、シーケンス管理部１０１はユーザに対して警告を発してもよい。
【００７８】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2011209948.tif 000003
【図２】
2011209948.tif 000004
【図３】
2011209948.tif 000005
【図４】
2011209948.tif 000006
【図５】
2011209948.tif 000007
【図６】
2011209948.tif 000008
【図７】
2011209948.tif 000009
【図８】
2011209948.tif 000010
【図９】
2011209948.tif 000011
【図１０】
2011209948.tif 000012
【図１１】
2011209948.tif 000013
【図１２】
2011209948.tif 000014
【図１３】
2011209948.tif 000015
【図１４】
2011209948.tif 000016
【図１５】
2011209948.tif 000017
【図１６】
2011209948.tif 000018
【図１７】
2011209948.tif 000019
【図１８】
2011209948.tif 000020
【図１９】
2011209948.tif 000021