(57)【要約】【課題】サブシステム側のハードウェア資源を有効利用することを課題とする。【解決手段】メインシステム側で実行される処理の内、サブシステム側に実行させる処理に対応したサブシステム側の処理機能を特定するための機能番号、データ形式をシステム間で規定する。メインシステムは、サブシステム側に実行させる処理Ｃに対応したサブシステム側の処理機能を特定するための機能番号等を含むデータである処理単位をサブシステムに送信する。サブシステムは、メインシステムから受信した処理単位に含まれる機能番号に対応する処理Ｃを実行し、処理結果をメインシステムに送信する。【選択図】        図２
2010146117.tif 000002
【特許請求の範囲】
【請求項１】
第１の演算処理装置を備える情報処理装置本体と、前記情報処理装置本体の制御を行う第２の演算処理装置を備えるシステム制御装置を有する情報処理装置において、
前記情報処理装置本体は、
前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置に実行させる処理に対応した前記第２の演算処理装置側の処理機能を特定する機能特定情報を予め記憶する機能特定情報記憶部と、
前記機能特定情報記憶部に記憶されている前記機能特定情報を含んだ処理単位を前記システム制御装置へ転送する処理単位転送部とを有し、
前記システム制御装置は、
前記第１の演算処理装置により実行される処理のうち、前記第２の演算処理装置が実行する処理に対応した処理機能を、前記情報処理装置本体へ提供する提供機能として予め記憶する提供機能記憶部と、
前記提供機能記憶部に前記提供機能として記憶されている処理機能のうち、前記情報処理装置本体から受信した処理単位に含まれる機能特定情報に対応した処理機能を用いて処理を実行し、実行した処理結果を前記情報処理装置本体へ転送する処理結果転送部と
を有することを特徴とする情報処理装置。
【請求項２】
前記機能特定情報記憶部は、前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置が実行した方が処理時間の短縮される処理について、前記機能特定情報を記憶することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置は、複数の前記第１の演算処理装置を有するとともに、
前記第１の演算処理装置が実行する処理の一部を前記第２の演算処理装置に実行させる場合に、前記第２の演算処理装置に実行させた実行結果を利用しない前記第１の演算処理装置の処理については、前記複数の第１の演算処理装置に並列に実行させる並列処理部をさらに有することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記情報処理装置本体はさらに、
前記第１の演算処理装置が実行する処理の中から、前記第２の演算処理装置に実行させる処理を新たに追加する場合に、前記第２の演算処理装置が備える処理機能のうち、前記追加する処理に対応した処理機能を前記提供機能として前記提供機能記憶部に追加登録する提供機能追加部をさらに有することを特徴とする請求項１記載の情報処理装置。
【請求項５】
第１の演算処理装置と前記第１の演算処理装置に接続された第１の記憶装置を備える情報処理装置本体と、前記情報処理装置本体の制御を行う第２の演算処理装置に接続された第２の記憶装置を備えるシステム制御装置を有する情報処理装置の情報処理方法において、
前記情報処理装置本体が有する処理単位転送部が、前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置に実行させる処理に対応した前記第２の演算処理装置側の処理機能を特定する機能特定情報を前記第１の記憶装置から読込んで、前記読込まれた機能特定情報を含む処理単位を前記情報処理装置本体から前記システム制御装置へ転送するステップと、
前記システム制御装置が、前記処理単位転送部により転送された処理単位を受信するステップと、
前記システム制御装置が有する処理結果転送部が、前記第１の演算処理装置により実行される処理のうち、前記第２の演算処理装置が実行する処理に対応した処理機能を前記情報処理装置本体へ提供する提供機能として予め記憶する前記第２の記憶装置を参照して、前記提供機能として記憶されている処理機能のうち、前記受信した処理単位に含まれる機能特定情報に対応した処理機能を用いて処理を実行し、実行した処理結果を前記情報処理装置本体へ転送するステップと
を含んだことを特徴とする情報処理方法。
【請求項６】
前記情報処理本体が、前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置が実行した方が処理時間の短縮される処理について、前記機能特定情報を前記記憶装置に予め登録するステップをさらに含んだことを特徴とする請求項５記載の情報処理方法。
【請求項７】
前記情報処理装置本体は、複数の前記第１の演算処理装置と並列処理部を有するとともに、
前記第１の演算処理装置が実行する処理の一部を前記第２の演算処理装置に実行させる場合に、前記第２の演算処理装置に実行させた実行結果を利用しない前記第１の演算処理装置の処理については、前記並列処理部が、前記複数の第１の演算処理装置に並列に実行させるステップをさらに含んだことを特徴とする請求項５記載の情報処理方法。
【請求項８】
前記情報処理装置は、提供機能追加部をさらに有するとともに、
前記提供機能追加部が、前記第１の演算処理装置が実行する処理の中から、前記第２の演算処理装置に実行させる処理を新たに追加する場合に、前記第２の演算処理装置が備える処理機能のうち、前記追加する処理に対応した処理機能を前記提供機能として前記第２の記憶装置に追加登録するステップをさらに含んだことを特徴とする請求項５記載の情報処理方法。
【請求項９】
第１の演算処理装置と前記第１の演算処理装置に接続された第１の記憶装置を備える情報処理装置本体と、前記情報処理装置本体の制御を行う第２の演算処理装置に接続された第２の記憶装置を備えるシステム制御装置を有する情報処理装置に適用される情報処理プログラムにおいて、
前記第１の演算処理装置に、
前記情報処理装置本体が有する処理単位転送部が、前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置に実行させる処理に対応する前記第２の演算処理装置が備える処理機能を特定する機能特定情報を前記第１の記憶装置から読込むステップと、
前記情報処理装置本体が有する処理単位転送部が、前記読込まれた機能特定情報を含む処理単位を前記情報処理装置本体から前記システム制御装置へ転送するステップと、
前記第２の演算処理装置に、
前記システム制御装置が、前記処理単位転送部により転送された処理単位を受信するステップと、
前記システム制御装置が有する処理結果転送部が、前記第１の演算処理装置により実行される処理のうち、前記第２の演算処理装置が実行する処理に対応した処理機能を前記情報処理装置本体へ提供する提供機能として予め記憶する前記第２の記憶装置を参照して、前記提供機能として記憶されている処理機能のうち、前記受信した処理単位に含まれる機能特定情報に対応した処理機能を用いて処理を実行し、実行した処理結果を前記情報処理装置本体へ転送するステップと
を実行させることを特徴とする情報処理プログラム。
【請求項１０】
前記第１の演算処理装置に、
前記情報処理装置本体が、前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置が実行した方が処理時間の短縮される処理について、前記機能特定情報を前記記憶装置に予め登録するステップをさらに実行させることを特徴とする請求項９記載の情報処理プログラム。
【請求項１１】
前記情報処理装置は、複数の前記第１の演算処理装置と並列処理部を有するとともに、
前記第１の演算処理装置に、
前記第１の演算処理装置が実行する処理の一部を前記第２の演算処理装置に実行させる場合に、前記第２の演算処理装置に実行させた実行結果を利用しない前記第１の演算処理装置の処理については、前記並列処理部が、前記複数の第１の演算処理装置に並列に実行させるステップをさらに実行させることを特徴とする請求項９記載の情報処理プログラム。
【請求項１２】
前記情報処理装置は、提供機能追加部をさらに有するとともに、
前記第１の演算処理装置に、
前記提供機能追加部が、前記第１の演算処理装置が実行する処理の中から、前記第２の演算処理装置に実行させる処理を新たに追加する場合に、前記第２の演算処理装置が備える処理機能のうち、前記追加する処理に対応した処理機能を前記提供機能として前記第２の記憶装置に追加登録するステップをさらに実行させることを特徴とする請求項９記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
近年、大規模な情報処理を実行することを目的として、マルチプロセッサより構成される情報処理装置や情報処理システムが一般的に普及している。また、このような従来の情報処理装置や情報処理システムにおいて、通常の業務処理に関わる処理を実行する情報処理装置本体としてのメインシステムとは独立したシステム制御装置などのサブシステムを採用する技術が存在する。このサブシステムは、主に、メインシステム側に発生した故障に対処するための制御処理を司るものであり、具体的にはサービスプロセッサ等が挙げられる。
【０００３】
【特許文献１】特開２００６−２４１２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来の技術では、メインシステム側に発生した故障に対処するための制御処理を実行する場合にのみ、サブシステム側のハードウェア資源が利用されることとなる。このため、性能の向上が著しいサブシステム側のハードウェア資源を有効利用できていない問題点があった。例えば、メインシステム側で実行する処理の一部をサブシステム側のハードウェア資源を利用して処理するなどの有効利用が考えられるが、現状では実現できていない。
【０００５】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、サブシステム側のハードウェア資源を有効利用することが可能な情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、開示の装置は、第１の演算処理装置を備える情報処理装置本体と、前記情報処理装置本体の制御を行う第２の演算処理装置を備えるシステム制御装置を有する情報処理装置において、前記情報処理装置本体は、前記第１の演算処理装置が実行する処理のうち、前記第２の演算処理装置に実行させる処理に対応した前記第２の演算処理装置側の処理機能を特定する機能特定情報を予め記憶する機能特定情報記憶部と、前記機能特定情報記憶部に記憶されている前記機能特定情報を含んだ処理単位を前記システム制御装置へ転送する処理単位転送部とを有し、前記システム制御装置は、前記第１の演算処理装置により実行される処理のうち、前記第２の演算処理装置が実行する処理に対応した処理機能を、前記情報処理装置本体へ提供する提供機能として予め記憶する提供機能記憶部と、前記提供機能記憶部に前記提供機能として記憶されている処理機能のうち、前記情報処理装置本体から受信した処理単位に含まれる機能特定情報に対応した処理機能を用いて処理を実行し、実行した処理結果を前記情報処理装置本体へ転送する処理結果転送部とを有する。
【発明の効果】
【０００７】
開示の装置によれば、サブシステム側のハードウェア資源を有効利用できる。
【発明を実施するための最良の形態】
【０００８】
以下に、情報処理装置、情報処理方法および情報処理プログラムの一実施形態を詳細に説明する。
【実施例１】
【０００９】
図１は、実施例１に係るシステム間で定義される情報例を示す図である。実施例１に係る情報処理装置は、通常の業務処理に関わる処理を実行するメインシステムと、メインシステム側に発生した故障に対処するための制御処理を実行するサブシステムを有する。
【００１０】
そして、実施例１に係る情報処理装置は、図１に示すように、メインシステム側で実行される処理の内、サブシステム側に実行させる処理に対応したサブシステム側の処理機能を特定するための機能番号、データ形式をシステム間で規定する。例えば、サブシステムの処理機能である乱数生成に対応した機能番号「１」と、乱数生成時の「データサイズＡ」および出力データ形式である「乱数データＳ」とを規定する。
【００１１】
以下、図２を用いて、実施例１に係る情報処理装置の骨子について簡単に説明する。メインシステムは、サブシステム側に実行させる処理（例えば、処理Ｃ）に対応したサブシステム側の処理機能を特定するための機能番号を含むデータである処理単位をサブシステムに送信する（同図（１）参照）。サブシステムは、メインシステムから受信した処理単位に含まれる機能番号に対応する処理Ｃ（例えば、乱数生成）を実行し（同図（２）参照）、処理結果をメインシステムに送信する（同図（３）参照）。なお、図２は、実施例１に係る情報処理装置を説明するための図である。
【００１２】
［情報処理装置の構成（実施例１）］
図３は、実施例１に係る情報処理装置の構成例を示す図である。同図に示すように、実施例１に係る情報処理装置としての情報処理システムは、メインシステム１００およびサブシステム２００を有する。なお、以下では、実施例１に係る情報処理装置に密接に関連する部分のみを説明する。
【００１３】
メインシステム１００は、情報処理装置本体であり、ＣＰＵボード１１０と、ＩＯＵボード１２０と、ＸＢＵボード１３０と、ＰＳＵ１４０と、コンセント１５０とを有する。ＣＰＵボード１１０は、第１の演算処理装置としてのメインプロセッサ１１１と、サブコントローラ１１２と、ＦＲＵ−ＲＯＭ１１３を有する。
【００１４】
ＦＲＵ（Field-Replaceable Unit）−ＲＯＭ１１３は、システムを工場や修理庫に戻すことなく「現場で」交換できるように設計されたシステムの構成部品である。
【００１５】
第１の演算処理装置としてのメインプロセッサ１１１は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を主導して実行する。特に、メインプロセッサ１１１は、システム制御装置としてのサブシステム２００側に実行させる処理に対応したサブシステム側の処理機能を特定するための機能番号等を含むデータである処理単位をアプリケーションプログラムを予め内部メモリに記憶している。そして、メインプロセッサ１１１は、サブコントローラ１１２を介して、内部メモリから読込んだアプリケーションプログラムが有する処理単位をサブシステム２００に送信し、サブシステム２００から処理結果を受信する。
【００１６】
システム制御装置としてのサブシステム２００は、図３に示すように、第２の演算処理装置としてのサブプロセッサ２１０と、メインコントローラ２２０と、ＦＲＵ−ＲＯＭ２３０と、メモリ２４０とを有する。
【００１７】
ＦＲＵ（Field-Replaceable Unit）−ＲＯＭ１１３は、システムを工場や修理庫に戻すことなく「現場で」交換できるように設計されたシステムの構成部品である。
【００１８】
メモリ２４０は、サブプロセッサ２１０に利用されるデータとして、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを記憶する。
【００１９】
第２の演算処理装置としてのサブプロセッサ２１０は、所定の制御プログラム、各種の処理手順などを規定したプログラムおよび所要データをメモリ２４０から読込んで、これらによって種々の処理を実行する。特に、サブプロセッサ２１０は、サブシステム上に常駐する機能公開モジュールが有するサブシステム提供機能テーブル（例えば、図１参照）参照し、メインシステム１００側から依頼された処理に対応する処理機能を用いて、メインシステム１００側から依頼された処理を実行し、処理結果をメインシステム１００に送信する。
【００２０】
例えば、機能公開モジュールが有するサブシステム提供機能テーブルには、サブシステム２００がメインシステム１００に提供する機能として、以下のようなものがあらかじめ規定される。例えば、サブシステムの専用処理機能である乱数生成に対応した機能番号「１」、乱数生成時の「データサイズＡ」および出力データ形式である「乱数データＳ」が関連付けられた状態であらかじめ規定される（図１参照）。他には、サブシステムの処理機能である演算処理１（２数の加算）に対応した機能番号「４」、演算処理時の入力データ形式である「演算処理入力データ形式１」、および演算処理完了時の出力データ形式である「演算処理出力データ形式１」が関連付けられた状態であらかじめ規定される（図１参照）。
【００２１】
以下、メインシステム１００において、あるアプリケーションプログラムが実行される場合のメインシステム１００とサブシステム２００との間の動作について説明する。メインシステム１００（実際には、メインプロセッサ１１１上で実行中のアプリケーションプログラム(後述)）は、サブシステム２００（実際には、サブシステムで実行中の機能公開モジュール(後述)）に対し、処理を依頼して良いか確認を行う。
【００２２】
サブシステム２００は、メインシステム１００に対して、処理依頼を受け付けるか否か（許可するか否か）の回答を行う。例えば、システム立ち上げ時などで、サブプロセッサ２１０の負荷が一時的に高い場合、サブシステム２００はメインシステム１００に対して、処理の依頼を「拒否」する回答を出す。これとは反対に、負荷が低い場合は、処理の依頼の「許可」する回答を出す。
【００２３】
メインシステム１００は、サブシステム２００から受けた処理依頼に対する回答に応じて、以下の処理を実行する。具体的には、サブシステム２００から処理依頼の「拒否」の回答を得た場合には、メインシステム１００自身で処理を行う。一方、サブシステム２００から処理依頼の「許可」の回答を得た場合には、サブコントローラ１１２を介して、メインプロセッサ１１１上で実行中のアプリケーションプログラムが有する処理単位をサブシステム２００に送信する。この処理単位は、例えば、図４に示すように、サブシステム２００に依頼する処理の機能番号、処理対象データである入力データ、およびサブシステム２００側で処理された出力データの格納先アドレスとして指定するメインシステム１００側のメインメモリのアドレスで構成されるデータである。なお、図４は、実施例１に係る処理単位の構成例を示す図である。
【００２４】
サブシステム２００は、メインシステム１００から処理単位を受信すると、サブシステム２００上に常駐する機能公開モジュールが有するサブシステム提供機能テーブルを参照して、処理単位に含まれる機能番号に対応した処理機能を特定する。そして、サブシステム２００は、特定した処理機能を用いて、メインシステム１００から受信した処理単位に含まれる入力データの処理を実行し、処理データを生成する。
【００２５】
サブシステム２００は、メインシステム１００から受信した処理単位に含まれる格納先アドレスに基づいて、メインシステム１００からの処理依頼に応じて生成した処理データをメインシステム１００に送信する。サブシステム２００から送信された処理データは、メインプロセッサが使用しているメインメモリに対してＤＭＡ（Direct Memory Access）転送され、転送が完了した時点でメインシステム１００へ処理完了の割り込みが入力される。
【００２６】
メインシステム１００は、サブシステム２００から受けた処理結果を利用して、つづく処理を実行する。
【００２７】
メインシステム１００およびサブシステム２００において、実際に処理を行うのは、以下に説明するようなプログラムである。すなわち、図５に示すように、メインシステム１００からサブシステム２００に対して処理依頼を実際に行うのは、メインシステム１００のメインプロセッサ１１１で実行中の「アプリケーションプログラム」である。また、アプリケーションプログラムはプログラム的に、サブシステム２００に依頼する処理の機能番号等を含んで構成されるデータである「処理単位」を内部に有し、一般的な科学技術計算や業務計算をおこなっているソフトウェアを想定している。
【００２８】
また、図５に示すように、サブシステム２００側で、処理依頼の許可または拒否の判断や、依頼を受けた処理を実行するプログラムは、サブシステム２００のサブプロセッサ２１０上に常駐する「機能公開モジュール」である。また、機能公開モジュールは、メインシステム１００から受信した処理単位内の機能番号に対応した処理機能を特定するための「サブシステム提供機能テーブル」（例えば、図１参照）を内部に有する。なお、図５は、実施例１に係る情報処理装置を説明するための図である。
【００２９】
メインシステム１００のメインプロセッサ１１１で実行中の「アプリケーションプログラム」は、例えば、図６に示すように、アプリケーションプログラム内に「サブシステムを利用する処理」を特定するためのデータである処理単位があらかじめ登録されているものとする。どのタイミングでどの機能を利用するかは、アプリケーションプログラム作成時に自由に決定することができるものとする。なお、図６は、実施例１に係る情報処理装置を説明するための図である。
【００３０】
そして、図７に示すように、メインシステム１００のメインプロセッサ１１１でアプリケーションプログラム実行中に、「サブシステムを利用する処理」にて「処理単位」が機能公開モジュールへ送信される（同図（１）参照）。サブシステム２００のサブプロセッサ２１０で実行中の機能公開モジュールは、メインシステム１００から転送された「処理単位」に対応する処理機能を用いて処理を実行する（同図（２）参照）。処理完了後、機能公開モジュールは、処理結果をメインシステム１００へ送信する（同図（３）参照）。なお、図７は、実施例１に係る情報処理装置を説明するための図である。
【００３１】
［情報処理装置による処理（実施例１）］
図８は、実施例１に係る情報処理装置の処理を説明するための図である。メインシステム１００のメインプロセッサ１１１でアプリケーションプログラム実行中に、「サブシステムを利用する処理」に至った場合に、以下に説明するような処理が実行される。同図に示すように、メインシステム１００は、サブシステム２００に対し、処理を依頼して良いか確認を行う（ステップＳ１）。
【００３２】
サブシステム２００は、メインシステム１００に対して、処理依頼を受け付けるか否か（許可するか否か）を判断し、回答を行う（ステップＳ２）。例えば、システム立ち上げ時などで、サブプロセッサ２１０の負荷が一時的に高い場合、サブシステム２００はメインシステム１００に対して、処理の依頼を「拒否」する回答を出す。これとは反対に、負荷が低い場合は、処理の依頼の「許可」する回答を出す。すなわち、サブシステム２００は、自己の負荷に応じて、メインシステム１００からの処理依頼に対しての「許可」又は「拒否」の回答を行う。
【００３３】
メインシステム１００は、サブシステム２００から受けた処理依頼に対する回答に応じて、以下の処理を実行する。具体的には、サブシステム２００から処理依頼の「拒否」の回答を得た場合には、メインシステム１００自身で処理を行う（ステップＳ３）。一方、サブシステム２００から処理依頼の「許可」の回答を得た場合には、ステップＳ４へ進み（ステップＳ３）、メインプロセッサ１１１上で実行中のアプリケーションプログラムが有する処理単位をサブシステム２００に送信する（ステップＳ４）。この処理単位は、サブシステム２００に依頼する処理の機能番号、処理対象データである入力データ、およびサブシステム２００側で処理された出力データの格納先アドレスとして指定するメインシステム１００側のメインメモリのアドレスを含んで構成されるデータである（図４参照）。
【００３４】
サブシステム２００は、メインシステム１００から依頼される処理の機能番号等を含む処理単位を受信すると、サブシステム２００上に常駐する機能公開モジュールが有するサブシステム提供機能テーブルを参照して、処理単位に含まれる機能番号に対応した処理機能を特定し、特定した処理機能を用いて入力データの処理を実行する（ステップＳ５）。サブシステム２００は、処理結果をメインシステム１００に送信する（ステップＳ６）。
【００３５】
メインシステム１００は、サブシステム２００から受けた処理結果を利用して、つづく処理を実行する（ステップＳ７）。
【００３６】
［実施例１による効果］
実施例１によれば、以下に説明するような効果が得られる。例えば、図９に示すように、サブシステム２００側で処理する方が処理の時間短縮となる処理Ｃを含む処理をメインシステム１００にて実行する。このような場合、例えば、図１０に示すように、処理Ｃをサブシステム２００側に実行させて処理結果をメインシステム１００で利用するようにすれば、情報処理装置におけるトータルの処理時間を短縮することができる（Ｔ２＜Ｔ１）。
【００３７】
また、図１１に示すように、メインシステム１００側で実行される処理の一部をサブシステム２００側に実行させる場合に、サブシステム側の処理結果を利用しないメインシステム側の処理については、メインシステム側で並列に実行する。このようにすることで、情報処理装置におけるトータルの処理時間を短縮することができる。
【００３８】
すなわち、実施例１によれば、サブシステム側のハードウェア資源を有効利用でき、サブシステム側のハードウェア資源を有効利用することで、処理時間を短縮できる。
【００３９】
また、上記の実施例１では、メインシステム１００からサブシステム２００へ依頼する処理に対応するサブシステム内の機能やデータ形式等をあらかじめシステム間で定義する。したがって、アーキテクチャの異なるシステム間であっても、システム間で定義された情報を用いることで、メインシステム１００からの処理の依頼をサブシステム２００に互換性のある形式に加工等する必要もなく、簡易に処理依頼をすることができる。なお、図９〜図１１は、実施例１による効果を説明するための図である。
【実施例２】
【００４０】
図１２は、実施例２に係る情報処理装置を説明するための図である。上記の実施例１で説明してきた実施形態に限定されるものではなく、例えば、メインシステム１００からサブシステム２００に対して、汎用的な計算処理の実行を依頼できるように、サブシステム提供機能テーブルを拡張する仕組みを用意する。
【００４１】
図１３に示すように、メインシステム１００からサブシステム２００に対して、サブシステム２００上で実行できるプログラムコードを転送し、サブシステム２００上で、そのプログラムコードを実行できるようにする。この機能を利用することで、例えば、図１４に示すように、サブシステム２００に対して新たに実行させたい処理に対応する機能（例えば、追加機能Ａ）を、サブシステム提供機能テーブルに追加することができる。なお、図１３は、実施例２に係る情報処理装置を説明するための図である。図１４は、実施例２に係るシステム間で定義される情報の構成例を示す図である。
【００４２】
以下、サブシステムに新たに追加した機能を利用する場合のメインシステムとサブシステムとの間の動作を説明する。図１５に示すように、メインシステム１００からサブシステム２００に対して、追加機能Ａに対する処理依頼を出す（同図（１）参照）。サブシステム２００は、追加機能Ａをサブシステム２００上で実行する（同図（２）参照）。
【００４３】
図１６に示すように、サブシステム２００は、追加機能Ａの処理が完了次第、処理結果をメインシステム１００に対して送信する。メインシステム１００上で実行中のアプリケーションプログラムは、受け取った処理結果を利用する。なお、図１５および図１６は、実施例２に係る情報処理装置を説明するための図である。
【００４４】
上述してきたように、サブシステム提供機能テーブルを拡張する仕組みを用意することで、例えば、サブシステム２００上の暗号化チップを使用するような専用処理だけではなく、サブシステム２００のサブプロセッサ２１０自体の資源も有効利用することができる。
【００４５】
なお、図１７を参照しつつ、上述してきた実施例１および２の実施形態を実現するにあたり、必要な機能の例を以下に示す。なお、図１７は、実施例１および２に必要となる機能例を示す図である。ハードウェア資源の追加せずに、既存のハードウェアに対して、ソフトウェアを新たに追加する。
【００４６】
図１７に示すように、メインシステム１００には、メインシステム１００からサブシステム２００を利用するアプリケーションプログラム（同図（３））を追加する。また、サブコントローラ１１２とメインコントローラ２２０との間で、メインシステム１００からサブシステム２００に依頼する処理の機能番号等を含んで構成されるデータである「処理単位」を転送する機能を、メインシステム１００上のアプリケーションプログラムから利用できるようにするデバイスドライバ(同図（１）)を追加する。また、そのデバイスドライバ機能を、ユーザアプリケーションから使用できるようにするインタフェースを持ったドライバライブラリ（同図（２））を追加する。また、デバイスドライバ機能は、サブシステム２００側から処理結果を受信する。
【００４７】
また、図１７に示すように、サブシステム２００には、サブコントローラ１１２とメインコントローラ２２０との間で、メインシステム１００から依頼される処理の機能番号等を含んで構成されるデータである処理単位を転送する機能を、サブシステム２００上の機能公開モジュール（同図（６））から利用できるようにするデバイスドライバ(同図（４）)を追加する。また、そのデバイスドライバ機能を、ユーザアプリケーションから使用できるようにするインタフェースを持ったドライバライブラリ（同図（５））を追加する。また、デバイスドライバ機能は、メインシステム１００側から処理単位を受信する。
【００４８】
また、サブシステムには、メインシステム１００から「処理単位」を受信した際に、処理単位に含まれる機能番号に対応した処理機能を特定するためのサブシステム提供機能テーブル（同図（７））を有し、サブシステム２００上の資源を使って対応する処理を実行する機能公開モジュール（同図（６））を追加する。また、このモジュールは、処理結果をメインシステム１００に対して送信する機能や、メインシステム１００からの依頼処理の許可/拒否を判断する機能も有する。また、このモジュールは、メインシステム１００からサブシステム２００に対して、新たに実行させたい処理に対応する機能の追加機能も有する（同図（８））。
【実施例３】
【００４９】
以下、情報処理装置、情報処理方法および情報処理プログラムの他の実施形態を説明する。
【００５０】
（１）装置構成等
図３に示した情報処理装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、例えば、メインシステム１００とサブシステム２００とが物理的に統合された単一のアーキテクチャとして構成するなど、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、情報処理装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００５１】
（２）情報処理方法
上記の実施例で説明した情報処理装置により、以下のような情報処理方法が実現される。
【００５２】
すなわち、メインシステム１００が、メインシステム側で実行される処理の内、サブシステム２００側に実行させる処理に対応したサブシステム側の処理機能を特定するための機能番号等を含んで構成されるデータである処理単位をサブシステム２００へ転送するステップと（例えば、図８のステップＳ４参照）、サブシステム２００が、メインシステム１００から受信した処理単位に含まれる機能番号に対応した処理機能を用いて実行した処理結果を、メインシステム１００へ転送するステップと（例えば、図８のステップＳ５およびＳ６参照）を含んだ情報処理方法が実現される。
【図面の簡単な説明】
【００５３】
【図１】実施例１に係るシステム間で定義される情報の構成例を示す図である。
【図２】実施例１に係る情報処理装置を説明するための図である。
【図３】実施例１に係る情報処理装置の構成例を示す図である。
【図４】実施例１に係る処理単位の構成例を示す図である。
【図５】実施例１に係る情報処理装置を説明するための図である。
【図６】実施例１に係る情報処理装置を説明するための図である。
【図７】実施例１に係る情報処理装置を説明するための図である。
【図８】実施例１に係る情報処理装置の処理を説明するための図である。
【図９】実施例１による効果を説明するための図である。
【図１０】実施例１による効果を説明するための図である。
【図１１】実施例１による効果を説明するための図である。
【図１２】実施例２に係る情報処理装置を説明するための図である。
【図１３】実施例２に係る情報処理装置を説明するための図である。
【図１４】実施例２に係るシステム間で定義される情報の構成例を示す図である。
【図１５】実施例２に係る情報処理装置を説明するための図である。
【図１６】実施例２に係る情報処理装置を説明するための図である。
【図１７】実施例１および２に必要となる機能例を示す図である。
【符号の説明】
【００５４】
１００  メインシステム
１１０  ＣＰＵボード
１１１  メインプロセッサ
１１２  サブコントローラ
１１３  ＦＲＵ−ＲＯＭ
１２０  ＩＯＵボード
１３０  ＸＢＵボード
１４０  ＰＳＵ
１５０  コンセント
２００  サブシステム
２１０  サブプロセッサ
２２０  メインコントローラ
２３０  ＦＲＵ−ＲＯＭ
２４０  メモリ
【図１】
2010146117.tif 000003
【図２】
2010146117.tif 000004
【図３】
2010146117.tif 000005
【図４】
2010146117.tif 000006
【図５】
2010146117.tif 000007
【図６】
2010146117.tif 000008
【図７】
2010146117.tif 000009
【図８】
2010146117.tif 000010
【図９】
2010146117.tif 000011
【図１０】
2010146117.tif 000012
【図１１】
2010146117.tif 000013
【図１２】
2010146117.tif 000014
【図１３】
2010146117.tif 000015
【図１４】
2010146117.tif 000016
【図１５】
2010146117.tif 000017
【図１６】
2010146117.tif 000018
【図１７】
2010146117.tif 000019