(57)【要約】【課題】情報処理装置が、情報装置自ら実行可能な処理について、他の装置を利用可能な場合と自ら処理を行う場合との切り替えを自動的に行えるようにする。【解決手段】情報処理装置が、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する他機器有無判定部と、他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部と、前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、前記要求された処理を前記対象処理実行部に行わせる実行インタフェース部と、を備える。【選択図】図１
2018142224.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する他機器有無判定部と、
他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部と、
前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、前記要求された処理を前記対象処理実行部に行わせる実行インタフェース部と、
を備える情報処理装置。
【請求項２】
他機器の検出処理を行い、前記検出処理にて他機器を検出した場合、検出した他機器に対応付けられたメタ情報を取得する管理ドライバ機能部と、
前記メタ情報に基づいて前記実行ドライバを構成する実行ドライバ機能部と、
を備える請求項１に記載の情報処理装置。
【請求項３】
他機器自らが備える回路を更新可能な他機器が検出された場合、前記他機器に回路情報を通知して回路の更新を行わせる更新制御部を備え、
前記管理ドライバ機能部は、更新後の回路に対応付けられたメタ情報を取得し、
前記実行ドライバ機能部は、更新後の回路に対応付けられた前記メタ情報に基づいて前記実行ドライバを構成する、
請求項２に記載の情報処理装置。
【請求項４】
処理を実行可能な他機器と、
アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する他機器有無判定部と、
他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部と、
前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、前記要求された処理を前記対象処理実行部に行わせる実行インタフェース部と、
を備える情報処理システム。
【請求項５】
アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定し、
前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部に前記要求された処理を行わせる、
ことを含む情報処理方法。
【請求項６】
情報処理装置に、
アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定させ、
前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせるように当該他機器を制御させ、前記要求された処理を実行可能な他機器無しと判定された場合、他機器での実行対象処理をソフトウェア的に実行させる、
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置（コンピュータ）が他の装置に処理を行わせる場合がある。例えば、特許文献１には、モバイルコンピューティング装置がプリンタに印刷を行わせることが記載されている。具体的には、論理装置である印刷サービスが、ＬＡＮに接続された各印刷装置に対応するドライバセットを予めロードしておく。ドライバは、モバイルコンピューティング装置により生成された汎用印刷コマンドを、プリンタ使用可能データに変換する。プリンタ使用可能データは、プリンタにより使用され、モバイルコンピューティング装置内に格納されている情報のハードコピー表現を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２８０８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
情報処理装置が他の装置に行わせる処理は、特許文献１に記載されている印刷に限らない。特に、情報処理装置が、処理速度向上又は負荷軽減等の目的で、情報処理装置自ら実行可能な処理を他の装置に行わせる場合がある。このように情報装置自ら実行可能な処理について、情報処理装置が、他の装置を利用可能な場合と自ら処理を行う場合との切り替えを自動的に行えることが好ましい。
【０００５】
本発明は、上述の課題を解決することのできる情報処理装置、情報処理システム、情報処理方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、情報処理装置は、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する他機器有無判定部と、他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部と、前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、前記要求された処理を前記対象処理実行部に行わせる実行インタフェース部と、を備える。
【０００７】
本発明の第２の態様によれば、情報処理システムは、処理を実行可能な他機器と、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する他機器有無判定部と、他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部と、前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、前記要求された処理を前記対象処理実行部に行わせる実行インタフェース部と、を備える。
【０００８】
本発明の第３の態様によれば、情報処理方法は、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定し、前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせ、前記要求された処理を実行可能な他機器無しと判定された場合、他機器での実行対象処理をソフトウェア的に実行可能な対象処理実行部に前記要求された処理を行わせる、ことを含む。
【０００９】
本発明の第４の態様によれば、プログラムは、情報処理装置に、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定させ、前記要求された処理を実行可能な他機器有りと判定された場合、他機器に処理を実行させるためのプログラムである実行ドライバを用いて前記要求された処理を当該他機器に行わせるように当該他機器を制御させ、前記要求された処理を実行可能な他機器無しと判定された場合、他機器での実行対象処理をソフトウェア的に実行させる、ためのプログラムである。
【発明の効果】
【００１０】
この発明によれば、情報処理装置が、情報装置自ら実行可能な処理について、他の装置を利用可能な場合と自ら処理を行う場合との切り替えを自動的に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る情報処理システムの機能構成を示す概略ブロック図である。
【図２】同実施形態に係る情報処理装置が外部装置を利用するための準備を行う場合のデータの流れの例を示す図である。
【図３】同実施形態に係る情報処理装置上のメタ情報を用いてドライバの自動生成を行う場合のデータの流れの例を示す図である。
【図４】同実施形態に係る情報処理装置が外部装置を利用して負荷軽減対象処理を行う場合のデータの流れの例を示す図である。
【図５】同実施形態で負荷軽減対象処理を実行可能な半導体回路が無い場合のデータの流れの例を示す図である。
【図６】同実施形態に係るメタ情報の例を示す図である。
【図７】同実施形態に係る情報処理システムが半導体回路を用いて負荷軽減対象処理を実行する場合の処理手順の例を示す図である。
【図８】同実施形態に係る情報処理システムが対象処理実行部を用いて負荷軽減対象処理を実行する場合の処理手順の例を示す図である。
【図９】同実施形態に係る情報処理システムが半導体回路の回路を更新する場合の処理手順の例を示す図である。
【図１０】本発明に係る情報処理装置の最小構成の例を示す図である。
【図１１】本発明に係る情報処理システムの最小構成の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、本発明の実施形態に係る情報処理システムの機能構成を示す概略ブロック図である。図１に示すように、情報処理システム１は、情報処理装置１００と、外部装置２００とを備える。情報処理装置１００は、記憶部１８０と、制御部１９０とを備える。記憶部１８０は、回路情報記憶部１８１を備える。制御部１９０は、アプリケーション機能部１９１と、オフロードインタフェース部１９２と、操作ドライバ機能部１９５とを備える。オフロードインタフェース部１９２は、対象処理実行部１９３と、実行インタフェース部１９４とを備える。操作ドライバ機能部１９５は、管理ドライバ機能部１９６と、実行ドライバ機能部１９７とを備える。外部装置２００は、記憶部２１０と、半導体回路２２０とを備える。記憶部２１０は、メタ情報記憶部２１１を備える。
【００１３】
情報処理装置１００は、アプリケーションプログラムを実行して各種機能をユーザに提供する。
アプリケーションプログラムを実行する際、情報処理装置１００は、外部装置２００が実行可能な処理を外部装置２００に行わせることで情報処理装置１００自らの負荷の軽減を図る。具体的には、アプリケーションプログラム実行時に行う処理のうち負荷軽減対象の処理が定められており、情報処理装置１００は、負荷軽減対象の処理の実行時に、その処理を実行可能な外部装置２００が情報処理装置１００に通信接続されているか否かを判定する。該当する処理を実行可能な外部装置２００が通信接続されていると判定した場合、情報処理装置１００は、該当する処理をその外部装置２００に行わせる。以下では、負荷軽減対象となっている処理を負荷軽減対象処理と称する。
情報処理装置１００は、例えばサーバ装置又はパソコン（Personal Computer；ＰＣ）等のコンピュータを用いて構成される。
【００１４】
記憶部１８０は、各種情報を記憶する。記憶部１８０は、情報処理装置１００が備える記憶デバイスを用いて構成される。
回路情報記憶部１８１は、外部装置２００の半導体回路２２０が更新可能である場合に半導体回路２２０を更新するための回路情報を記憶する。情報処理装置１００が回路情報を外部装置２００に送信して半導体回路２２０を更新させることで、外部装置２００が実行可能な処理を切り替えることができる。
【００１５】
制御部１９０は、情報処理装置１００の各部を制御して各種処理を実行する。制御部１９０は、情報処理装置１００が備えるＣＰＵ（Central Processing Unit、中央処理装置）が記憶部１８０からプログラムを読み出して実行することで構成される。
アプリケーション機能部１９１は、情報処理装置１００が備えるＣＰＵがアプリケーションプログラムを実行することで構成され、アプリケーションプログラムに規定された各種機能を提供する。
【００１６】
オフロードインタフェース部１９２は、アプリケーションプログラムで負荷軽減対象となっている処理の実行要求を受け付ける。
負荷軽減対象処理の実行要求を受けたオフロードインタフェース部１９２は、要求された処理を外部装置２００の半導体回路２２０又は対象処理実行部１９３の何れかに実行させる。
【００１７】
対象処理実行部１９３は、負荷軽減対象処理をソフトウェア的に実行する。後述するように、負荷軽減対象処理は、半導体回路２２０での実行対象の処理である。従って、対象処理実行部１９３は、半導体回路２２０での実行対象処理をソフトウェア的に実行する。
対象処理実行部１９３が負荷軽減対象処理を実行する場合、情報処理装置１００の負荷を軽減させることはできないが、この負荷軽減対象処理を実行可能な半導体回路２２０が情報処理装置１００に通信接続されていない場合でも処理を中断せずに済む。
【００１８】
実行インタフェース部１９４は、負荷軽減対象処理の実行要求をアプリケーション機能部１９１から受けると、外部装置２００の半導体回路２２０又は対象処理実行部１９３の何れかを選択して負荷軽減対象処理を行わせる。
具体的には、実行インタフェース部１９４は、負荷軽減対象処理の実行要求をアプリケーション機能部１９１から受けると、要求された処理を実行可能な半導体回路２２０の有無を操作ドライバ機能部１９５へ問い合わせる。操作ドライバ機能部１９５が、要求された処理を実行可能な半導体回路２２０有りと判定した場合、実行インタフェース部１９４は、その半導体回路２２０に処理を実行させる。一方、操作ドライバ機能部１９５が、要求された処理を実行可能な半導体回路２２０無しと判定した場合、実行インタフェース部１９４は、対象処理実行部１９３に処理を実行させる。
【００１９】
ここでの処理を実行可能な半導体回路２２０の有無は、情報処理装置１００が、その処理を半導体回路２２０に実行させることが可能か否かである。具体的には、その処理を実行可能な半導体回路２２０（を備えた外部装置２００）が、情報処理装置１００に通信接続されているか否かである。
要求された処理を半導体回路２２０に行わせるために、実行インタフェース部１９４は実行ドライバを用いる。実行ドライバは、要求された処理を半導体回路２２０に行わせるためのプログラムである。実行インタフェース部１９４が、メタ情報記憶部２１１が負荷軽減対象処理に応じて記憶しているメタ情報を取得し、取得したメタ情報に基づいて負荷軽減対象処理毎の実行ドライバを構成する。
【００２０】
操作ドライバ機能部１９５は、半導体回路２２０を操作するためのドライバとして機能する。
管理ドライバ機能部１９６は、半導体回路２２０を管理する。
具体的には、負荷軽減対象処理の実行要求をアプリケーション機能部１９１から受けた場合、管理ドライバ機能部１９６は他機器有無判定部として機能し、要求された処理を実行可能な半導体回路２２０（を備える外部装置２００）の有無を判定する。管理ドライバ機能部１９６は、半導体回路２２０の検出処理を例えば一定周期毎に行い、検出処理で検出した半導体回路２２０が実行可能な処理を可能処理リストに登録する。ここでいう可能処理リストは、半導体回路２２０で実行可能な処理のリストである。そして、管理ドライバ機能部１９６は、実行要求された負荷軽減対象処理が可能処理リストに載っているか否かを判定することで、要求された処理を実行可能な半導体回路２２０の有無を判定する。
【００２１】
また、管理ドライバ機能部１９６は、検出処理にて半導体回路２２０を検出した場合、検出した半導体回路２２０に対応付けられたメタ情報を取得する。実行ドライバ機能部１９７が、このメタ情報を用いて実行ドライバを構成する。
また、回路を更新可能な半導体回路２２０が検出された場合、管理ドライバ機能部１９６は更新制御部として機能し、半導体回路２２０に回路情報を通知して回路の更新を行わせる。そして、管理ドライバ機能部１９６は、更新後の回路に対応付けられたメタ情報を取得する。この場合も実行ドライバ機能部１９７が、このメタ情報を用いて実行ドライバを構成する。
実行ドライバ機能部１９７は、管理ドライバ機能部１９６が取得するメタ情報に基づいて実行ドライバを構成する。
【００２２】
外部装置２００は、情報処理装置１００に通信接続された状態で情報処理装置１００から処理実行要求を受け、要求された処理を実行する。外部装置２００は、他機器の例に該当する。但し、ここでいう他機器は、情報処理装置１００の外部にある機器に限らない。他機器が情報処理装置１００のスロットに挿入されるなど、情報処理装置１００に組み込まれていてもよい。
外部装置２００は、例えば外部装置２００自らが実行可能な処理を示す情報を記憶しており、情報処理装置１００からの問い合わせに応じてこの情報を情報処理装置１００に送信する。情報処理装置１００の管理ドライバ機能部１９６は、この情報を参照して外部装置２００が実行可能な処理を検出し、可能処理リストを生成または更新することができる。
【００２３】
記憶部２１０は、外部装置２００が備える記憶デバイスを用いて構成され、各種情報を記憶する。
メタ情報記憶部２１１は、負荷軽減対象処理に対応付けられたメタ情報を記憶する。メタ情報記憶部２１１が記憶するメタ情報は、情報処理装置１００が外部装置２００に負荷軽減対象処理を実行させるためのインタフェースを構成する際に用いられる。但し、メタ情報を記憶する記憶領域が情報処理装置１００内に設けられていてもよいし、外部装置２００内と情報処理装置１００内とに設けられていてもよい。
【００２４】
半導体回路２２０は、負荷軽減対象処理を実行する。ここでいう半導体回路は、例えばＩＣ等の半導体を含む回路である。ここでいう半導体回路は、情報処理装置１００が行う処理の一部を実行可能であればよく、特定の回路に限定されない。
半導体回路２２０が、回路を変更可能に構成されていてもよい。この場合、半導体回路２２０が、回路変更前と回路変更後とで異なる負荷軽減対象処理を実行可能であってもよい。
【００２５】
図２は、情報処理装置１００が外部装置２００を利用するための準備を行う場合のデータの流れの例を示す図である。
外部装置２００を検出すると、管理ドライバ機能部１９６は、外部装置２００のメタ情報記憶部２１１からメタ情報を読み出し、実行ドライバ機能部１９７を起動する。管理ドライバ機能部１９６が外部装置２００を検出する処理のタイミングは特定のタイミングに限定されない。例えば、管理ドライバ機能部１９６が、所定周期毎に利用可能な半導体回路２２０を検出して可能処理リストを更新するようにしてもよい。
【００２６】
実行ドライバ機能部１９７はメタ情報を基に、半導体回路２２０を操作するための処理プログラムを構築し、待機状態となる。ここでの半導体回路２２０を操作するための処理プログラムは、特定の半導体回路２２０を操作するための実行ドライバである。
管理ドライバ機能部１９６は、特定の半導体回路２２０を操作するための実行ドライバの構築完了を検出すると、半導体回路２２０で実行可能な処理を可能処理リストに登録する。例えば、回路情報記憶部１８１が可能処理リストを記憶する。
【００２７】
メタ情報の格納場所は外部装置２００内に限定されない。例えば、情報処理装置１００の記憶部１８０がメタ情報の全部又は一部を記憶するようにしてもよい。
図３は、情報処理装置１００上のメタ情報を用いてドライバの自動生成を行う場合のデータの流れの例を示す図である。
図３に示す情報処理システム１の構成では、外部装置２００はメタ情報記憶部２１１を備えておらず、代わりに情報処理装置１００の記憶部１８０がメタ情報記憶部１８２を備えている点が、図２の場合と異なる。それ以外の構成は、図２の場合と同様である。データの流れに関しては、管理ドライバ機能部１９６がメタ情報記憶部１８２からめた情報を読み出す点が、図２の場合と異なる。それ以外は、図２の場合と同様である。
【００２８】
図４は、情報処理装置１００が外部装置２００を利用して負荷軽減対象処理を行う場合のデータの流れの例を示す図である。
実行インタフェース部１９４は、負荷軽減対象処理の実行要求をアプリケーション機能部１９１から受けると、要求された負荷軽減対象処理を実行可能な半導体回路２２０の有無を管理ドライバ機能部１９６に問い合わせる。実行インタフェース部１９４からの問い合わせを受けた管理ドライバ機能部１９６は、回路情報記憶部１８１が記憶している可能処理リストを参照して、要求された負荷軽減対象処理を実行可能な半導体回路２２０の有無を判定する。そして、管理ドライバ機能部１９６は、判定結果を実行インタフェース部１９４へ応答する。
【００２９】
該当する半導体回路２２０有りの応答を受けた場合、実行インタフェース部１９４は、実行ドライバ機能部１９７に対して処理の要求を行う。実行ドライバ機能部１９７は、半導体回路２２０を操作して処理を実行させ、処理結果を実行インタフェース部１９４に返却する。実行インタフェース部１９４は、実行ドライバ機能部１９７から受けた処理結果をアプリケーション機能部１９１に返却する。
【００３０】
図５は、負荷軽減対象処理を実行可能な半導体回路２２０が無い場合のデータの流れの例を示す図である。
実行インタフェース部１９４は、負荷軽減対象処理の実行要求をアプリケーション機能部１９１から受けると、要求された負荷軽減対象処理を実行可能な半導体回路２２０の有無を管理ドライバ機能部１９６に問い合わせる。実行インタフェース部１９４からの問い合わせを受けた管理ドライバ機能部１９６は、回路情報記憶部１８１が記憶している可能処理リストを参照して要求された負荷軽減対象処理を実行可能な半導体回路２２０の有無を判定する。そして、管理ドライバ機能部１９６は、判定結果を実行インタフェース部１９４へ応答する。
【００３１】
図５の例では、図４の場合と異なり、管理ドライバ機能部１９６は、該当する半導体回路２２０が無い旨を実行インタフェース部１９４へ応答する。該当する半導体回路２２０無しの応答を受けた実行インタフェース部１９４は、対象処理実行部１９３に対して処理の要求を行う。対象処理実行部１９３は、要求された処理を実行し、処理結果を実行インタフェース部１９４に返却する。実行インタフェース部１９４は、対象処理実行部１９３から受けた処理結果をアプリケーション機能部１９１に返却する。
【００３２】
図６は、メタ情報の例を示す図である。実行ドライバ機能部１９７が備える実行ドライバテンプレートプログラムは、複数の負荷軽減対象処理に共通するドライバの部分を基に、負荷軽減対象処理毎に固有の部分をパラメータ化して構成されている。実行ドライバ機能部１９７がメタ情報に基づいて実行ドライバテンプレートプログラムのパラメータにパラメータ値を設定することで、特定の負荷軽減対象処理用の実行ドライバが構成される。
半導体回路２２０で実行可能な負荷軽減対象処理が複数ある場合、実行ドライバ機能部１９７は、これら複数の負荷軽減対象処理それぞれ用の実行ドライバを含んで構成される。
【００３３】
次に、図７及び図８を参照して情報処理システム１の動作について説明する。
図７は、情報処理システム１が半導体回路２２０を用いて負荷軽減対象処理を実行する場合の処理手順の例を示す図である。
シーケンスＳ１１１及びＳ１１２は、図２を参照して説明した、情報処理装置１００が外部装置２００を利用するための準備処理の例に該当する。
【００３４】
管理ドライバ機能部１９６は、外部装置２００を検出すると、外部装置２００のメタ情報記憶部２１１からメタ情報を読み出し、読み出したメタ情報を実行ドライバ機能部１９７へ転送する（シーケンスＳ１１１）。
図６を参照して説明したように、実行ドライバ機能部１９７は、このメタ情報の転送が示すパラメータ値を実行ドライバテンプレートプログラムのパラメータに設定することで、特定の負荷軽減対象処理用のドライバとして構成させる（シーケンスＳ１１２）。
図２を参照して説明したように、管理ドライバ機能部１９６は、特定の負荷軽減対象処理用のドライバの構築完了を検出すると、半導体回路２２０で実行可能な処理を可能処理リストに登録する。
【００３５】
シーケンスＳ１２１〜Ｓ１２４は、図４を参照して説明した、情報処理装置１００が外部装置２００を利用して負荷軽減対象処理を行う場合の処理の例に該当する。シーケンスＳ１２１〜Ｓ１２４で情報処理システム１が行う負荷軽減対象処理を処理Ａと表記する。
実行インタフェース部１９４は、処理Ａの実行要求をアプリケーション機能部１９１から受けると、要求された処理Ｂを実行可能な半導体回路２２０の有無を管理ドライバ機能部１９６に問い合わせる（シーケンスＳ１２１）。
【００３６】
実行インタフェース部１９４からの問い合わせを受けた管理ドライバ機能部１９６は、回路情報記憶部１８１が記憶している可能処理リストを参照して要求された処理Ａを実行可能な半導体回路２２０の有無を判定する。そして、管理ドライバ機能部１９６は、判定結果を実行インタフェース部１９４へ応答する（シーケンスＳ１２２）。
図７の例では、実行インタフェース部１９４は、該当する半導体回路２２０有りの応答を受けている。この場合、実行インタフェース部１９４は、要求された処理Ａに対応する実行ドライバ機能部１９７に対して処理Ａの実行要求を行う（シーケンスＳ１２３）。
実行ドライバ機能部１９７は、半導体回路２２０を操作して処理を実行させ、処理結果を実行インタフェース部１９４に返却する（シーケンスＳ１２３及びＳ１２４）。実行インタフェース部１９４は、実行ドライバ機能部１９７から受けた処理結果をアプリケーション機能部１９１に返却する（シーケンスＳ１２１）。
【００３７】
図８は、情報処理システム１が対象処理実行部１９３を用いて負荷軽減対象処理を実行する場合の処理手順の例を示す図である。図８に示す処理Ａ、処理Ｂのいずれも負荷軽減対象処理の例に該当する。図８では、情報処理システム１が、半導体回路２２０を用いて処理Ａを実行している状態から、対象処理実行部１９３を用いての処理Ｂの実行に切り替える場合の例を示している。
【００３８】
シーケンスＳ２１１、Ｓ２１２、Ｓ２１３は、それぞれ図７のシーケンスＳ１２１、Ｓ１２３、Ｓ１２４と同様である。シーケンスＳ２１１〜Ｓ２１３により、半導体回路２２０が、アプリケーション機能部１９１からの要求に応じて処理Ａを実行し、実行ドライバ機能部１９７及び実行インタフェース部１９４を介して処理結果をアプリケーション機能部１９１へ返却する。
【００３９】
シーケンスＳ２２１〜Ｓ２２３は、図５を参照して説明した、負荷軽減対象処理を実行可能な半導体回路２２０が無い場合の情報処理システム１の処理手順の例に該当する。
実行インタフェース部１９４は、処理Ｂの実行要求（処理Ａから処理Ｂへの切替要求）をアプリケーション機能部１９１から受けると、要求された処理Ｂを実行可能な半導体回路２２０の有無を管理ドライバ機能部１９６に問い合わせる（シーケンスＳ２２１）。
【００４０】
実行インタフェース部１９４からの問い合わせを受けた管理ドライバ機能部１９６は、回路情報記憶部１８１が記憶している可能処理リストを参照して要求された処理Ｂを実行可能な半導体回路２２０の有無を判定しする。そして、管理ドライバ機能部１９６は、判定結果を実行インタフェース部１９４へ応答する（シーケンスＳ２２２）。
図８の例では、実行インタフェース部１９４は、該当する半導体回路２２０無しの応答を受けている。この場合、実行インタフェース部１９４は、対象処理実行部１９３に対して処理Ｂの実行を要求し、対象処理実行部１９３は、要求された処理Ｂを実行して処理結果を実行インタフェース部１９４に返却する（シーケンスＳ２２３）。実行インタフェース部１９４は、対象処理実行部１９３から受けた処理結果をアプリケーション機能部１９１に返却する（シーケンスＳ２２１）。
【００４１】
図９は、情報処理システム１が半導体回路２２０の回路を更新する場合の処理手順の例を示す図である。図９に示す処理Ａ、処理Ｃのいずれも負荷軽減対象処理の例に該当する。図９では、情報処理システム１が、半導体回路２２０の回路を処理Ａ用の回路から処理Ｃ用の回路に更新する場合の例を示している。
図９の処理を行う情報処理装置１００では、図３に示される構成例のように、記憶部１８０がメタ情報記憶部１８２を備えている。このメタ情報記憶部１８２は、処理Ｃのように半導体回路２２０を更新した後の実行ドライバを構成するためのメタ情報を記憶している。
【００４２】
図９のシーケンスＳ３１１〜Ｓ３１３は、図８のシーケンスＳ２１１〜Ｓ２１３と同様である。
アプリケーションプログラムの実行にて半導体回路２２０を処理Ｃ用の回路に更新する要求が生じると（シーケンスＳ３２１）、管理ドライバ機能部１９６は、処理Ｃ用の回路情報を回路情報記憶部１８１から読み出して外部装置２００へ通知する。これにより管理ドライバ機能部１９６は、半導体回路２２０を更新させる（シーケンスＳ３２２）。
【００４３】
また、管理ドライバ機能部１９６は、処理Ｃ用の回路情報と対応付けて記憶されているメタ情報をメタ情報記憶部１８２からの読み出し、読み出したメタ情報を実行ドライバ機能部１９７へ転送する（シーケンスＳ３２３）。
図６を参照して説明したように、実行ドライバ機能部１９７は、このメタ情報の転送が示すパラメータ値を実行ドライバテンプレートプログラムのパラメータに設定することで、特定の負荷軽減対象処理用のドライバとして構成させる（シーケンスＳ３２４）。
【００４４】
図２を参照して説明したように、管理ドライバ機能部１９６は、特定の負荷軽減対象処理用のドライバの構築完了を検出すると、半導体回路２２０で実行可能な処理を可能処理リストに登録する。
シーケンスＳ３３１〜Ｓ３３４は、半導体回路２２０に実行させる処理が処理Ｃである点以外は、図７のシーケンスＳ１２１〜Ｓ１２４の場合と同様である。
【００４５】
以上のように、管理ドライバ機能部１９６は、アプリケーションプログラムの実行にて外部装置２００での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な外部装置２００の有無を判定する。要求された処理を実行可能な外部装置２００有りと判定された場合、実行インタフェース部１９４は、実行ドライバを用いて要求された処理を外部装置２００に行わせる。要求された処理を実行可能な外部装置２００無しと判定された場合、実行インタフェース部１９４は、要求された処理を対象処理実行部１９３に行わせる。
【００４６】
このように、情報処理装置１００では、情報処理装置１００自ら実行可能な処理について、他の装置を利用可能な場合と自ら処理を行う場合との切り替えを自動的に行うことができる。負荷軽減対象処理（外部装置２００での実行対象処理）を実行可能な外部装置２００が情報処理装置１００に通信接続されている場合、情報処理装置１００は、この外部装置２００に処理を行わせることで、情報処理装置１００自らの負荷を軽減することができる。一方、負荷軽減対象処理を実行可能な外部装置２００が情報処理装置１００に通信接続されていない場合、情報処理装置１００は、対象処理実行部１９３に処理を行わせることで、処理を継続することができる。
情報処理装置１００によれば、外部装置２００を検出して負荷軽減対象処理を実行させるための仕組みをアプリケーションプログラムに組み込む必要がなく、この点で、アプリケーションプログラムを設計する負荷を低減させることができる。
【００４７】
また、管理ドライバ機能部１９６は、外部装置２００の検出処理を行う。検出処理にて他機器を検出した場合、管理ドライバ機能部１９６は、検出した外部装置２００に対応付けられたメタ情報を取得する。実行ドライバ機能部１９７は、メタ情報に基づいて実行ドライバを構成する。
これにより、情報処理装置１００では、情報処理装置１００自らに通信接続された外部装置２００を操作するためのドライバを自動的に生成することができる。
【００４８】
また、管理ドライバ機能部１９６は、回路を更新可能な外部装置２００が検出された場合、外部装置２００に回路情報を通知して回路の更新を行わせる。そして管理ドライバ機能部１９６は、更新後の回路に対応付けられたメタ情報を取得する。実行ドライバ機能部１９７は、更新後の回路に対応付けられたメタ情報に基づいて実行ドライバを構成する。
これにより、情報処理装置１００によれば、外部装置２００の回路を更新して、更新前と更新後とで異なる処理を実行させることができる。情報処理装置１００は、この外部装置２００の回路の更新を自動的に行うことができる。
【００４９】
次に、図１０〜図１１を参照して、本発明の最小構成について説明する。
図１０は、本発明に係る情報処理装置の最小構成の例を示す図である。図１０に示す情報処理装置１０は、他機器有無判定部１１と、対象処理実行部１２と、実行インタフェース部１３とを備える。
かかる構成にて、他機器有無判定部１１は、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する。対象処理実行部１２は、他機器での実行対象処理をソフトウェア的に実行する。要求された処理を実行可能な他機器有りと判定された場合、実行インタフェース部１３は、他機器に処理を実行させるためのプログラムである実行ドライバを用いて要求された処理を当該他機器に行わせる。一方、要求された処理を実行可能な他機器無しと判定された場合、実行インタフェース部１３は、前記要求された処理を前記対象処理実行部に行わせる。
これにより、情報処理装置１０では、情報処理装置１０自ら実行可能な処理について、他の装置を利用可能な場合と自ら処理を行う場合との切り替えを自動的に行うことができる。
【００５０】
図１１は、本発明に係る情報処理システムの最小構成の例を示す図である。図１１に示す情報処理システム２０は、情報処理装置２１と、他機器２５とを備える。情報処理装置２１は、他機器有無判定部１１と、対象処理実行部１２と、実行インタフェース部１３とを備える。
かかる構成にて、他機器有無判定部１１は、アプリケーションプログラムの実行にて他機器での実行対象処理の実行要求が生じた場合、要求された処理を実行可能な他機器の有無を判定する。対象処理実行部１２は、他機器での実行対象処理をソフトウェア的に実行する。要求された処理を実行可能な他機器有りと判定された場合、実行インタフェース部１３は、他機器に処理を実行させるためのプログラムである実行ドライバを用いて要求された処理を当該他機器に行わせる。一方、要求された処理を実行可能な他機器無しと判定された場合、実行インタフェース部１３は、前記要求された処理を前記対象処理実行部に行わせる。
これにより、情報処理装置１０では、情報処理装置１０自ら実行可能な処理について、他の装置を利用可能な場合と自ら処理を行う場合との切り替えを自動的に行うことができる。
【００５１】
なお、制御部１９０の機能の全部または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行させるようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００５２】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００５３】
１、２０  情報処理システム
１０、２１、１００  情報処理装置
１１、２２  他機器有無判定部
１２、２３、１９３  対象処理実行部
１３、２４、１９４  実行インタフェース部
２５  他機器
１８０  記憶部
１８１  回路情報記憶部
１８２  メタ情報記憶部
１９０  制御部
１９１  アプリケーション機能部
１９２  オフロードインタフェース部
１９５  操作ドライバ機能部
１９６  管理ドライバ機能部
１９７  実行ドライバ機能部
２００  外部装置
２１０  記憶部
２１１  メタ情報記憶部
２２０  半導体回路
【図１】
2018142224.tif 000003
【図２】
2018142224.tif 000004
【図３】
2018142224.tif 000005
【図４】
2018142224.tif 000006
【図５】
2018142224.tif 000007
【図６】
2018142224.tif 000008
【図７】
2018142224.tif 000009
【図８】
2018142224.tif 000010
【図９】
2018142224.tif 000011
【図１０】
2018142224.tif 000012
【図１１】
2018142224.tif 000013