(57)【要約】【課題】ソフトウェア間において、補完的・相互的な利用を目的とした機能連携が行える統合管理装置、統合管理システム、統合管理方法、統合管理プログラム、及びそのプログラムを記録した記録媒体を提供する。【解決手段】統合管理装置１００は、外部にプログラムインタフェースを公開し機能を実現する１又は複数のソフトウェア３１が動作する情報処理装置３００と、所定のデータ伝送路で接続される装置であって、ソフトウェア３１から、機能連携用の設定情報３２１や拡張プログラムを３２２含む連携ソフトウェア部品３２を取得する取得手段４１と、取得手段４１により取得した連携ソフトウェア部品３２を解析し、解析結果を得る解析手段４３と、機能提供要求に応じて、解析手段４３により得た解析結果に基づき、拡張プログラム３２２を実行し、ソフトウェア３１が提供するプログラムインタフェースを利用した機能連携を行う実行手段４５と、を有している。【選択図】図５
2014006928.tif 000002
【特許請求の範囲】
【請求項１】
外部にプログラムインタフェースを公開し機能を実現する１又は複数のソフトウェアが動作する情報処理装置と、所定のデータ伝送路で接続される統合管理装置であって、
前記ソフトウェアから、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得する取得手段と、
前記取得手段により取得した連携ソフトウェア部品を解析し、解析結果を得る解析手段と、
機能提供要求に応じて、前記解析手段により得た解析結果に基づき、前記拡張プログラムを実行し、前記ソフトウェアが提供するプログラムインタフェースを利用した機能連携を行う実行手段と、を有することを特徴とする統合管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のソフトウェアを統合管理する統合管理装置、制御方法及びプログラムに関し、特に、ソフトウェアにより実現される機能を連携する技術に関するものである。
【背景技術】
【０００２】
近年、オフィス環境には、サーバ・クライアント型のソフトウェア製品が導入され、様々な機能が提供されている。その中には、ＭＦＰ（Multifunction Peripheral）やＬＰ（Laser Printer）などの導入機器の運用・保守を支援する機能がある。例えば、収集した機器情報を基に導入機器を管理する機器管理機能、導入機器を用いたデータ配信ワークフローを実現する配信機能、導入機器の利用許可を制御する認証機能などがそれにあたる。これらの機能を実現するソフトウェア製品は、同一ソフトウェアベンダ内における異なる開発部門や異なるソフトウェアベンダで開発され提供されている。
【０００３】
オフィス環境では、このような様々な環境で開発され提供される複数のソフトウェア製品による機能を連携し、統合管理することが望まれる。
【０００４】
そこで、例えば、特許文献１には、連携対象の登録・変更を容易にすることを目的として、連携対象となる外部システム用のメニューを追加・削除する手段を有し、追加メニューから該当する外部システムを起動・実行することができる統合管理サーバに係る技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の統合管理では、ソフトウェアにより実現される機能の補完的・相互的な利用を目的とした機能連携が困難であった。
【０００６】
補完的な利用とは、複数のソフトウェアにおいて実現される同一機能を補完利用することである。一方、相互的な利用とは、複数のソフトウェアにより実現される異なる機能を相互利用することである。
【０００７】
ソフトウェアベンダが提供するソフトウェア製品は、多様化するユーザの要求に応える手段としてコンポーネント化され、サードベンダや導入企業のＩＴ（Information Technology）部門などの外部に対して、プログラムインタフェースを公開することで提供されている。このように提供されるプログラムインタフェースは、ソフトウェアベンダが提供するプラットフォーム上を動作環境としているものが多い。
【０００８】
そのため、提供されるプログラムインタフェースの動作環境の違いから、上記補完的・相互的な利用を目的とした機能連携を実現することは困難である。
【０００９】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、ソフトウェア間において、補完的・相互的な利用を目的とした機能連携が行える統合管理装置、制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明に係る統合管理装置は、外部にプログラムインタフェースを公開し機能を実現する１又は複数のソフトウェアが動作する情報処理装置と、所定のデータ伝送路で接続される統合管理装置であって、前記ソフトウェアから、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得する取得手段と、前記取得手段により取得した連携ソフトウェア部品を解析し、解析結果を得る解析手段と、機能提供要求に応じて、前記解析手段により得た解析結果に基づき、前記拡張プログラムを実行し、前記ソフトウェアが提供するプログラムインタフェースを利用した機能連携を行う実行手段と、を有している。
【００１１】
このような構成によって、本発明に係る統合管理装置は、機能を実現するソフトウェアから、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得する。統合管理装置は、取得した連携ソフトウェア部品を解析し、連携情報の解析結果を得る。統合管理装置は、機能提供要求に応じて、解析結果に基づき拡張プログラムを実行し、ソフトウェアが提供するプログラムインタフェースを利用した機能連携を行う。
【００１２】
これによって、本発明に係る統合管理装置は、ソフトウェアが提供するプログラムインタフェースの動作環境の違いを意識することなく機能連携を実現できる。その結果、ソフトウェア間において、補完的・相互的な利用を目的とした機能連携が行える。
【発明の効果】
【００１３】
本発明によれば、機能を実現するソフトウェアから、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得し、取得した連携ソフトウェア部品を解析することで、ソフトウェア間において、補完的・相互的な利用を目的とした機能連携が行える統合管理装置、制御方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態に係る統合管理システムの構成例を示す図である。
【図２】本発明の第１の実施形態に係る統合管理装置のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係るソフトウェア統合による機能連携の動作例を示す図である。
【図４】本発明の第１の実施形態に係るソフトウェア統合を実現するソフトウェア構成例を示す図である。
【図５】本発明の第１の実施形態に係るソフトウェア統合管理機能の構成例を示す図である。
【図６】本発明の第１の実施形態に係る連携情報の解析を行う処理手順例を示すフローチャートである。
【図７】本発明の第１の実施形態に係る連係情報を解析する動作例を示す図である。
【図８】本発明の第１の実施形態に係るソフトウェア統合により機能連携を行う処理手順例を示すシーケンス図である。
【図９】本発明の変形例に係る統合管理システムの構成例（その１）を示す図である。
【図１０】本発明の変形例に係るソフトウェア統合管理機能の構成例（その１）を示す図である。
【図１１】本発明の変形例に係る統合管理システムの構成例（その２）を示す図である。
【図１２】本発明の変形例に係るソフトウェア統合管理機能の構成例（その２）を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明の好適な実施の形態（以下「実施形態」と言う）について、図面を用いて詳細に説明する。
【００１６】
［第１の実施形態］
＜システム構成＞
本実施形態に係る複数のソフトウェアを統合管理するシステムの構成について説明する。
【００１７】
図１は、本実施形態に係る統合管理システム１の構成例を示す図である。
図１には、各種ソフトウェアを搭載したサーバＡ３００ａ，サーバＢ３００ｂ，サーバＮ３００ｎなどの複数のサーバ（情報処理装置）３００と、ユーザが情報閲覧や操作要求を行うユーザ端末Ａ２００ａ，ユーザ端末Ｂ２００ｂ，ユーザ端末Ｎ２００ｎなどの複数のユーザ端末（情報処理装置）２００との間に、統合管理装置（統合管理サーバ）１００が介在する統合管理システム１の構成例が示されている。このような構成により、統合管理装置１００は、ユーザに対して、サーバ３００が搭載ソフトウェアにより実現する機能を統合・管理でき、一元的なサービス提供を実現する。つまり、ユーザは、ユーザ端末２００を介して統合管理装置１００にアクセスすることで、システム上で動作する各種ソフトウェアにより提供されるサービスを受けることができる。
【００１８】
よって、ソフトウェアの統合は、統合管理装置１００により行われ、統合管理装置１００は、ユーザに対して、一元化されたソフトウェア管理に係るサービス（ソフトウェア統合管理機能）を提供することができる。
【００１９】
なお、図１には、システム内に複数のサーバ３００が設置されている例を示したが、この構成に本発明は限定されるものではない。本実施形態において統合管理を行う対象は、ソフトウェアである。そのため、１つのサーバ内に、複数のソフトウェアがインストールされている場合もある。このような場合、統合管理装置１００は、サーバ上で動作する複数のソフトウェアを統合管理する。
【００２０】
＜ハードウェア構成＞
次に、上記ソフトウェア統合管理機能が動作する統合管理装置１００のハードウェア構成について説明する。
【００２１】
図２は、本実施形態に係る統合管理装置１００のハードウェア構成例を示す図である。図２に示すように、統合管理装置１００は、入力装置１０１、表示装置１０２、ドライブ装置１０３、ＲＡＭ（Random Access Memory）１０４、ＲＯＭ（Read Only Memory）１０５、ＣＰＵ（Central Processing Unit）１０６、インタフェース装置１０７、及びＨＤＤ（Hard Disk Drive）１０８などを備え、それぞれがバスＢで相互に接続されている。
【００２２】
入力装置１０１は、キーボード及びマウスなどを含み、統合管理装置１００に各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイなどを含み、統合管理装置１００による処理結果（例えば「ソフトウェア統合管理に係る情報」）などを表示する。
【００２３】
インタフェース装置１０７は、統合管理装置１００をネットワークなどの所定のデータ伝送路に接続するインタフェースである。よって、統合管理装置１００は、インタフェース装置１０７を介して、ユーザ端末２００やサーバ３００とデータ通信を行うことができる。
【００２４】
ＨＤＤ１０８は、各種プログラム及びデータを格納している不揮発性の記憶装置である。格納されるプログラム及びデータには、例えば、統合管理装置１００全体を制御する情報処理システム（例えば「Ｗｉｎｄｏｗｓ（登録商標）」や「ＵＮＩＸ（登録商標）」などの基本ソフトウェアであるＯＳ（Operating System））、及び情報処理システム上において各種機能（例えば「ソフトウェア統合管理機能」）を提供するアプリケーションなどがある。また、ＨＤＤ１０８は、格納している上記プログラム及びデータを、所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００２５】
ドライブ装置１０３は、着脱可能な記録媒体１０３ａとのインタフェースである。これにより、統合管理装置１００は、ドライブ装置１０３を介して、記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。
【００２６】
ＲＯＭ１０５は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１０５には、統合管理装置１００が起動されるときに実行されるＢＩＯＳ（Basic Input/Output System）や、統合管理装置１００のシステム設定及びネットワーク関連設定などのデータが格納されている。
【００２７】
ＲＡＭ１０４は、上記各種記憶装置から読み出されたプログラム及びデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１０６は、上記ＲＡＭ１０４上に読み出したプログラムを実行することにより、統合管理装置１００の全体制御及び各種搭載機能の動作を実現する。
【００２８】
このようなハードウェア構成により、統合管理装置１００は、例えば、ＨＤＤ１０８からＲＡＭ１０４上に読み出したプログラム（搭載機能を実現するソフトウェア部品）をＣＰＵ１０６により実行し、搭載機能を実現することができる。
【００２９】
また統合管理装置１００は、上記ハードウェア構成からも分かるようにＰＣ（Personal Computer）などと略同一の構成をしている。
【００３０】
＜ソフトウェア統合管理機能＞
本実施形態に係るソフトウェア統合管理機能について説明する。
【００３１】
本実施形態に係る統合管理装置１００では、機能を実現するソフトウェアから、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得する。統合管理装置１００は、取得した連携ソフトウェア部品を解析し、解析結果を得る。統合管理装置１００は、機能提供要求に応じて、解析結果に基づき拡張プログラムを実行し、ソフトウェアが提供するプログラムインタフェースを利用した機能連携を行う。統合管理装置１００は、このような機器管理機能を有している。
【００３２】
ここで、ソフトウェア統合による機能連携について説明する。
【００３３】
図３は、本実施形態に係るソフトウェア統合による機能連携の動作例を示す図である。図３には、補完的な利用を目的とした機能連携の動作例が示されている。例えば、図３に示す統合管理装置１００は、サーバＡ３００ａ（スキャン文書配信サーバ）が有するスキャン文書配信機能と、サーバＢ３００ｂ（機器管理サーバ）が有する機器管理機能とを、ユーザに対して提供する。
【００３４】
このシステム環境下で、ユーザが、ユーザ端末Ａ２００ａから統合管理装置１００に対して、スキャン文書配信機能の機器一覧表示を要求したとする。
【００３５】
このような場合、図３（Ａ）に示すように、統合管理装置１００は、サーバＡ３００ａ（スキャン文書配信サーバ）に対して、保有する機器一覧情報に基づく一覧表示画面の生成を要求し、生成された画面をユーザ端末Ａ２００ａに送信する。これにより、ユーザは、スキャン文書配信機能の機器一覧を閲覧することができる。
【００３６】
このようにして閲覧可能な機器一覧情報は、機器管理機能が動作するサーバＢ３００ｂ（機器管理サーバ）も保有している。つまり、図３に示すシステム１では、各サーバ３００ａ，３００ｂにおいて、機器一覧情報が多重管理されている。これは、記憶リソースの無駄な消費に繋がり、かつ情報の管理作業を複雑にする。また、サーバＢ３００ｂ（機器管理サーバ）は、定期的に各機器から機器情報を取得し、当該機器情報を更新することで、機器を管理しているため、最新の機器一覧情報を保有している。このことから、サーバ３００ａ（スキャン文書配信サーバ）が保有する機器一覧情報を、サーバＢ３００ｂ（機器管理サーバ）が保有する最新の機器一覧情報と同期させる必要がある。
【００３７】
そこで、本実施形態では、図３（Ｂ）に示すようなソフトウェア統合による機能連携を実現する。
【００３８】
統合管理装置１００は、ユーザからスキャン文書配信機能の機器一覧表示要求を受け付けると、機能連携に係る設定に従って、サーバＢ３００ｂ（機器管理サーバ）から機器一覧情報を取得する。続いて、統合管理装置１００は、取得した機器一覧情報を、サーバＡ３００ａ（スキャン文書配信サーバ）に送信し、送信した機器一覧情報に基づく一覧表示画面の生成を要求する。その結果、統合管理装置１００は、サーバＡ３００ａ（スキャン文書配信サーバ）から生成された画面を受信し、ユーザ端末Ａ２００ａに送信する。
【００３９】
このように、図３（Ｂ）に示すシステム１では、統合管理装置１００を介して、サーバＢ３００ｂ（機器管理サーバ）が保有する機器一覧情報を、サーバＡ３００ａ（スキャン文書配信サーバ）が補完利用できる。本実施形態では、このようなソフトウェア統合による機能連携を実現する。なお、ここでは補完的な利用についてのみ図を用いて説明を行ったが、本実施形態では、相互的な利用を目的とした機能連携も実現する。
【００４０】
ここで問題となるのが、機能を実現するソフトウェアが提供するプログラムインタフェースの動作環境の違いである。ここで言う「プログラムインタフェース」とは、例えば、ＡＰＩ（Application Program Interface）などである。
【００４１】
例えば、上記スキャン文書配信機能を実現するソフトウェア製品と上記機器管理機能を実現するソフトウェア製品とを提供するソフトウェアベンダが異なる場合には、これらのソフトウェアが提供するプログラムインタフェースの動作環境も異なる。また、同一ベンダであっても、それぞれのソフトウェア製品の開発部門が異なり、互いの動作環境の互換性を考慮して開発していない場合には、同様のことが考えられる。
【００４２】
上述したような機能連携は、機能を実現するソフトウェアが提供するプログラムインタフェースを介する（利用する）ことにより実現される。例えば、統合管理装置１００は、スキャン文書配信機能が機器一覧表示の際に、機器管理機能が用いる機器一覧情報を利用する場合、次のようなプログラムインタフェースを利用した処理を行わなければならない。統合管理装置１００は、機器管理機能を実現するソフトウェアが提供するプログラムインタフェースを利用して機器一覧情報を取得し、取得した機器一覧情報を、スキャン文書配信機能を実現するソフトウェアが提供するプログラムインタフェースに渡し、一覧画面の生成を要求する。このような場合、プログラムインタフェースの動作環境の違いは、上記機能連携の実現を困難なものとする。
【００４３】
そこで、本実施形態に係る統合管理装置１００では、機能を実現するソフトウェアから、機能連携用の設定情報や拡張プログラムを含む連携ソフトウェア部品を取得し、取得した連携ソフトウェア部品の解析結果により、プログラムインタフェースの動作環境の違いを吸収する。
【００４４】
これによって、本実施形態に係る統合管理装置１００では、ソフトウェア間において、補完的・相互的な利用を目的とした機能連携を実現する。
【００４５】
以下に、上記ソフトウェア統合管理機能の構成とその動作について説明する。
【００４６】
図４は、本実施形態に係るソフトウェア統合を実現するソフトウェア構成例を示す図である。図４に示すように、サーバ３００は、外部に公開するプログラムインタフェースを有する機能実現プログラムであるソフトウェア３１と、連携ソフトウェア部品３２とを有している。連携ソフトウェア部品３２は、ソフトウェア３１が提供するプログラムインタフェースを統合管理装置１００における機能連携で利用するために必要な設定情報や拡張プログラムを含む。具体的には、機能連携に必要な各種情報が設定されている連携設定ファイル３２１（機能連携用の設定情報）、及びソフトウェア３１が提供するプログラムインタフェースを利用した機能連携処理を行う拡張プログラムである連携プラグイン３２２（機能連携用の拡張プログラム）が含まれる。
【００４７】
統合管理装置１００は、ソフトウェア統合による機能連携を実現するための動作環境を提供する統合管理プラットフォーム２１を有している。統合管理プラットフォーム２１は、起動時にサーバ３００から上記連携ソフトウェア部品３２をロードする。これにより、統合管理プラットフォーム２１では、例えば、上記連携設定ファイル３２１の設定情報に基づき上記連携プラグイン３２２を動作させることができる。
【００４８】
本実施形態に係る統合管理システム１では、上記ソフトウェア構成により、ソフトウェア統合管理機能を実現する。なお、本実施形態では、上述のように、連携対象の機能を実現するソフトウェアの提供側から、連携ソフトウェア部品３２を提供してもらうことを前提としている。そのため、統合管理プラットフォーム２１の仕様について、上記ソフトウェアの提供側に開示する必要がある。
【００４９】
図５は、本実施形態に係るソフトウェア統合管理機能の構成例を示す図である。本実施形態に係る統合管理装置１００は、上記統合管理プラットフォーム２１を動作させることで、連携ソフトウェア部品取得部４１、連携情報保持部４２、連携情報解析部４３、要求受付部４４、連携動作実行部４５、及び機能提供部４６などの各機能部を有する。
【００５０】
これらの機能部は、主に「機能連携に係る情報の取得・解析を行う機能」と「機能連携を実行する機能」とに大別される。
【００５１】
「機能連携に係る情報の取得・解析を行う機能」は、連携ソフトウェア部品取得部４１、連携情報保持部４２、及び連携情報解析部４３により行われる。
【００５２】
連携ソフトウェア部品取得部４１は、所定のデータ伝送路を介して、サーバ３００で動作するソフトウェア３１から、連携ソフトウェア部品３２を取得する機能部である。これにより、統合管理装置１００には、各ソフトウェア３１に対応してソフトウェアベンダが用意した連携設定ファイル３２１及び連携プラグイン３２２が取得される。連携ソフトウェア部品取得部４１は、例えば、統合管理システム１に新たなサーバ３００が導入された場合や、サーバ３００に新たなソフトウェア３１がインストールされた場合など、所定のタイミングで連携ソフトウェア部品３２を取得する。
【００５３】
このようにして取得された連携ソフトウェア部品３２は、連携ソフトウェア部品取得部４１により、機能連携に係る情報を保持する連携情報保持部４２に格納され保持される。
【００５４】
連携情報保持部４２は、統合管理装置１００が備える記憶装置（例えば「ＨＤＤ」）の所定の記憶領域にあたる。連携情報保持部４２には、例えば、上記連携ソフトウェア部品３２、及び連携ソフトウェア部品３２の解析結果などが、ソフトウェア３１ごとに関連付けて保持される。
【００５５】
連携情報解析部４３は、連携情報保持部４２で保持する連携ソフトウェア部品３２を解析し、解析結果を得る機能部である。連携情報解析部４３による具体的な解析処理については、図６及び図７を用いて説明する。
【００５６】
図６は、本実施形態に係る連携情報の解析を行う処理手順例を示すフローチャートである。図６に示すように、まず、連携情報解析部４３は、連携情報保持部４２にアクセスし、保持する連携ソフトウェア部品３２の中に、未解析の連携設定ファイル３２１が存在するか否かを判定する（ステップＳ１０１）。上述したように、連携情報保持部４２には、連携ソフトウェア部品３２が解析済みの場合、連携ソフトウェア部品３２と解析結果とが関連付けて保持されている。このことから、連携情報解析部４３は、連携情報保持部４２にアクセスし、解析結果が関連付けられていない連携ソフトウェア部品３２の存在を確認することで上記判定を行う。
【００５７】
連携情報解析部４３は、未解析の連携設定ファイル３２１が存在しないと判定された場合（ステップＳ１０１：ＮＯ）、処理を終了する。
【００５８】
一方、連携情報解析部４３は、未解析の連携設定ファイル３２１が存在すると判定された場合（ステップＳ１０１：ＹＥＳ）、該当する連携設定ファイル３２１をロードする（ステップＳ１０２）。
【００５９】
連携情報解析部４３は、ロードした連携設定ファイル３２１の内容を解析する（ステップＳ１０３）。
【００６０】
図７は、本実施形態に係る連係情報を解析する動作例を示す図である。図７には、スキャン文書配信機能の連携設定ファイル３２１ａ、及び機器管理機能の連携設定ファイル３２１ｂを解析対象とした場合の動作例が示されている。
【００６１】
図７に示すように、スキャン文書配信機能の連携設定ファイル３２１ａには、ＩＰ（Internet Protocol）アドレス、ＵＲＬ（Uniform Resource Locator）、認証と言った機能連携時のアクセスに必要な情報が設定されている。また、連携設定ファイル３２１ａには、スキャン文書配信機能の機器一覧表示が機器管理機能により補完される連携処理が設定されている。この連携処理の設定に対応して、スキャン文書配信機能の連携ソフトウェア部品３２ａでは、入力された機器一覧情報を、スキャン文書配信機能で使用するのに適したデータ形式に変換する処理が規定された連携プラグイン３２２ａを有している。
【００６２】
また、機器管理機能の連携設定ファイル３２１ｂには、上記スキャン文書配信機能の連携設定ファイル３２１ａと同様に、機能連携時のアクセスに必要な情報が設定されている。また、連携設定ファイル３２１ｂには、スキャン文書配信機能の機器一覧表示を補完する連携処理が設定されている。この連携処理の設定に対応して、機器管理機能の連携ソフトウェア部品３２ｂでは、機器一覧情報をスキャン文書配信機能が利用可能な汎用的なデータ形式に変換する処理が規定された連携プラグイン３２２ｂを有している。
【００６３】
連携情報解析部４３は、このような連携設定ファイル３２１ａ，３２１ｂの上記設定内容を解析する。その結果、連携情報解析部４３は、解析結果５１を得る。図７には、「スキャン文書配信機能の機器一覧表示が、機器管理機能が有する機器一覧情報により補完され、このとき、連携プラグイン３２２ｂの出力を、連携プラグイン３２２ａに入力する」と言う、上記設定内容の解析結果５１の例が示されている。なお、連携プラグイン３２２をＪａｖａ（登録商標）により実装することを前提とした場合には、ＰＯＪＯ（Plain Old Java Object）のみを利用してデータ形式の受け渡しを実現している。
【００６４】
このようにして、連携情報解析部４３は、上記設定内容の解析により、ソフトウェア３１の提供側からの機能連携に係る設定（「要求機能実現のために利用される連携機能の有無」や「具体的な連携方法」を含む設定）を得る。
【００６５】
図６に戻り、ステップＳ１０４からの処理手順について説明する。連携情報解析部４３は、解析により得られた機能連携に係る設定を保存する（ステップＳ１０４）。連携情報解析部４３は、解析結果５１を、解析対象である連携ソフトウェア部品３２と関連付けて連携情報保持部４２に格納する。
【００６６】
連携情報解析部４３は、解析対象である連携ソフトウェア部品３２に含まれる連携プラグイン３２２をロードし（ステップＳ１０５）、ステップＳ１０１の判定手順へと移行する。よって、連携情報解析部４３は、未解析の連携設定ファイル３２１が存在する間、順に上記解析処理を行い、解析結果５１を得る。
【００６７】
なお、連携ソフトウェア部品３２は、ソフトウェア３１の提供側（ソフトウェアベンダ）により変更・更新される場合がある。このような場合、連携情報解析部４３は、例えば、フラグ制御により、ステップＳ１０１の判定を行う。連携情報保持部４２は、連携ソフトウェア部品３２に関連付けて更新フラグを保持している。連携ソフトウェア部品取得部４１が、更新された連携ソフトウェア部品３２を取得した場合、連携ソフトウェア部品３２を連携情報保持部４２に格納するときに、更新フラグをたてる。これにより、連携情報解析部４３では、更新フラグを参照し、未解析の連携設定ファイル３２１が存在するか否かを判定できる。
【００６８】
図５に戻り、「機能連携を実行する機能」について説明する。「機能連携を実行する機能」は、要求受付部４４、連携動作実行部４５、及び機能提供部４６により行われる。
【００６９】
要求受付部４４は、ユーザからの機能提供に係る要求を受け付ける機能部である。機能提供に係る要求には、上述したように、スキャン文書配信機能の機器一覧表示要求などがあり、ユーザ端末２００から要求される。
【００７０】
連携動作実行部４５は、連携情報解析部４３による解析結果５１に基づき、該当する連携プラグイン３２２（機能連携用の拡張プログラム）を実行することで、ソフトウェア３１が提供するプログラムインタフェースを利用した機能連携を行う機能部である。連携動作実行部４５は、要求受付部４４により受け付けた機能提供要求に応じて機能連携を実行する。連携動作実行部４５は、要求を受け付けると、連携情報保持部４２にアクセスし、保持される解析結果５１を参照する。連携動作実行部４５は、解析結果５１に基づき、要求機能実現のために、補完的・相互的に利用される連携機能（ソフトウェア３１が提供する機能）が存在するか否かを判定する。連携動作実行部４５は、連携機能が存在する場合、機能連携に係る設定に従って、該当する連携プラグイン３２２（機能連携用の拡張プログラム）を実行し、ソフトウェア３１が提供するプログラムインタフェースを利用した機能連携を行う。
【００７１】
機能提供部４６は、連携動作実行部４５により実行された機能連携で実現した要求機能を、要求元に提供する機能部である。機能提供部４６は、例えば、要求受付部４４が、スキャン文書配信機能の機器一覧表示要求を受け付けた場合、連携動作実行部４５による機能連携で生成された機器一覧情報の表示画面データをユーザ端末２００に送信することで機能提供を行う。
【００７２】
このように、本実施形態に係るソフトウェア統合管理機能は、上記各機能部が連係動作することにより実現される。
【００７３】
次に、ソフトウェア統合管理機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。
【００７４】
ソフトウェア統合管理機能は、統合管理装置１００に搭載（インストール）されるプログラム（ソフトウェア統合管理機能に係るソフトウェア部品）が、ＣＰＵ１０６により、格納先（例えば「ＲＯＭ」など）からＲＡＭ１０４上に読み出され、以下の処理が実行されることで実現される。
【００７５】
図８は、本実施形態に係るソフトウェア統合により機能連携を行う処理手順例を示すシーケンス図である。なお、図８には、ユーザからスキャン文書配信機能の機器一覧表示要求を受けて、機器管理機能との機能連携により、機器一覧表示を行う場合を想定した処理手順例が示されている。
【００７６】
図８に示すように、統合管理装置１００は、要求受付部４４により、スキャン文書配信機能の機器一覧表示要求を受け付ける（ステップＳ２０１）。
【００７７】
統合管理装置１００は、受け付けた要求を要求受付部４４から連携動作実行部４５に渡す（ステップＳ２０２）。これにより、統合管理装置１００では、連携動作実行部４５により、ユーザからの機器一覧表示要求に応じた機能連携に係る処理が実行される。
【００７８】
連携動作実行部４５は、連携情報保持部４２にアクセスし、保持される解析結果５１を参照する（ステップＳ３０１）。
【００７９】
連携動作実行部４５は、参照した解析結果５１に基づき、スキャン文書配信機能の機器一覧表示を補完する連携機能（ソフトウェア３１が提供する機能）が存在するか否かを判定する（ステップＳ３０２）。その結果、連携動作実行部４５は、該当する連携機能として、機器管理機能が存在すると判定する。
【００８０】
なお、連携動作実行部４５は、該当する連携機能が存在しない場合（ステップＳ３０２：ＮＯ）、スキャン文書配信機能を有するサーバＡ３００ａに機器一覧表示の画面生成を要求する（ステップＳ３０３）。このとき、連携動作実行部４５は、スキャン文書配信機能を実現するソフトウェア３１ａが提供するプログラムインタフェースを利用して、機器一覧表示の画面生成を要求する。その結果、サーバＡ３００ａでは、スキャン文書配信機能を実現するソフトウェア３１ａにより、機器一覧の表示画面が生成される（ステップＳ３０４）。
【００８１】
連携動作実行部４５は、該当する連携機能が存在する場合（ステップＳ３０２：ＹＥＳ）、解析結果５１の機能連携に係る設定に従って、機器管理機能を実現するソフトウェア３１ｂから取得しロードした連携プラグイン３２２ｂに対して、機器管理機能が有する機器一覧情報のデータを要求する（ステップＳ３０５）。
【００８２】
連携プラグイン３２２ｂは、機器管理機能を実現するソフトウェア３１ｂが提供するプログラムインタフェースを利用して、ソフトウェア３１ｂに、機器一覧情報のデータを要求する（ステップＳ３０６）。その結果、ソフトウェア３１ｂは、要求された機器一覧情報のデータを生成し、連携プラグイン３２２ｂに生成結果［一覧データ］を応答する。
【００８３】
連携プラグイン３２２ｂは、受け取った［一覧データ］を、汎用的なデータ形式に変換し（ステップＳ３０８）、変換結果［汎用データ］を、機器一覧情報のデータを要求した連携動作実行部４５に応答する。
【００８４】
連携動作実行部４５は、連携プラグイン３２２ｂを実行することで受け取った機器管理機能が有する機器一覧情報の［汎用データ］を、スキャン文書配信機能を実現するソフトウェア３１ａから取得しロードした連携プラグイン３２２ａに入力する（ステップＳ３０９）。
【００８５】
連携プラグイン３２２ａは、入力された［汎用データ］を、スキャン文書配信機能で使用するのに適したデータ形式に変換する（ステップＳ３１０）。
【００８６】
連携プラグイン３２２ａは、スキャン文書配信機能を実現するソフトウェア３１ａが提供するプログラムインタフェースを利用して、ソフトウェア３１ａに、変換結果［適合データ］を渡すことで、機器一覧表示の画面生成を要求する（ステップＳ３１１）。その結果、サーバＡ３００ａでは、スキャン文書配信機能を実現するソフトウェア３１ａにより、［適合データ］から機器一覧の表示画面が生成される（ステップＳ３１２）。生成結果［画面データ］は、機器一覧表示の画面生成を要求した連携プラグイン３２２ａに応答され、さらに、連携プラグイン３２２ａから、機器一覧情報の［汎用データ］を入力した連携動作実行部４５に渡される。このようにして、連携動作実行部４５は、機能連携により生成された、スキャン文書配信機能における機器一覧の表示画面を受け取る。
【００８７】
統合管理装置１００は、連携動作実行部４５が受け取った［画面データ］を機能提供部４６に渡し、機能提供を要求する（ステップＳ４０１）。
【００８８】
統合管理装置１００は、所定のデータ伝送路を介して、機能提供部４６が［画面データ］をユーザ端末２００に送信し、スキャン文書配信機能における機器一覧表示を提供する（ステップＳ４０２）。
【００８９】
＜まとめ＞
以上のように、本実施形態に係る統合管理装置１００によれば、連携ソフトウェア部品取得部４１により、機能を実現するソフトウェア３１から、機能連携に必要な設定情報や機能連携用の拡張プログラムを含む連携ソフトウェア部品を取得する。
【００９０】
統合管理装置１００は、連携情報解析部４３により、取得した連携ソフトウェア部品（連携設定ファイル３２１）を解析し、解析結果５１を得る。連携情報解析部４３は、連携情報保持部４２にアクセスし、保持する連携ソフトウェア部品３２の中に、未解析の連携設定ファイル３２１が存在するか否かを判定する。連携情報解析部４３は、未解析の連携設定ファイル３２１が存在する場合、該当する連携設定ファイル３２１（機能連携用の設定情報）をロードし、ファイル内の設定内容を解析することで解析結果５１を得る。連携情報解析部４３は、解析対象である連携ソフトウェア部品３２に含まれる連携プラグイン３２２（機能連携用の拡張プログラム）をロードする。
【００９１】
統合管理装置１００は、連携動作実行部４５により、機能提供要求に応じて、解析結果５１（機能連携に係る設定）に基づき拡張プログラム（連携プラグイン３２２）を実行し、ソフトウェア３１が提供するプログラムインタフェースを利用した機能連携を行う。連携動作実行部４５は、要求を受け付けると、連携情報保持部４２にアクセスし、保持される解析結果５１を参照する。連携動作実行部４５は、解析結果５１に基づき、要求機能実現のために、補完的・相互的に利用される連携機能（ソフトウェア３１が提供する機能）が存在するか否かを判定する。連携動作実行部４５は、連携機能が存在する場合、機能連携に係る設定に従って、該当する連携プラグイン３２２を実行し、ソフトウェア３１が提供するプログラムインタフェースを利用した機能連携を行う。
【００９２】
これによって、統合管理装置１００は、ソフトウェアが提供するプログラムインタフェースの動作環境の違いを意識することなく機能連携を実現できる。その結果、ソフトウェア間において、補完的・相互的な利用を目的とした機能連携が行える。
【００９３】
［変形例］
上記各実施形態に係る統合管理システム１では、メーカが提供する、ソフウェア統合管理機能を実現するソフトウェアをインストールした統合管理装置１００を導入する構成について説明を行った。ユーザへの上記ソフトウェア統合管理機能の提供方法については、この限りでない。統合管理装置１００を提供する以外には、ソフトウェア統合管理機能を実現するソフトウェアを提供する方法などがある。
【００９４】
例えば、図９〜図１２に、ソフトウェアを提供することにより、ユーザ環境においてソフトウェア統合管理機能を実現するシステム及びその機能構成例を示す。以下に、これらの図を用いて、上記各実施形態に係る変形例について説明する。
【００９５】
《その１》
図９は、本変形例に係る統合管理システムの構成例（その１）を示す図である。図９に示すように、ソフトウェア統合管理機能を実現するソフトウェアを、ユーザ端末２００にインストールし、ユーザ端末２００を統合管理装置とする構成であってもよい。この場合、例えば図１０に示すような機能構成となる。
【００９６】
図１０は、本変形例に係るソフトウェア統合管理機能の構成例（その１）を示す図である。
【００９７】
本変形例に係るソフトウェア統合機能は、図１０に示すように、図５に示す機能構成と同じである。上記実施形態で説明したソフトウェア統合管理機能を実現するソフトウェアをユーザ端末２００にインストールすることで、ユーザ端末単位で同一の機能を実現することができる。
【００９８】
《その２》
図１１は、本変形例に係る統合管理システムの構成例（その２）を示す図である。図１１に示すように、ソフトウェア統合管理機能を実現するソフトウェアを、ユーザ端末２００にインストールし、ユーザ端末２００を統合管理装置とするとともに、サーバ３００で動作するソフトウェア３１からの連携ソフトウェア部品３２を取得・保存する機能のみを情報収集装置４００（データ管理サーバ）で一元管理する構成であってもよい。
【００９９】
図１２は、本変形例に係るソフトウェア統合管理機能の構成例（その２）を示す図である。図１０に示す機能構成との違いは、図１２に示すように、本変形例に係るソフトウェア統合機能では、情報収集装置４００が連携ソフトウェア部品取得部４１、連携情報保持部４２、及び連携情報解析部４３を有し、統合管理装置であるユーザ端末２００が、要求受付部４４、連携動作実行部４５、及び機能提供部４６を有する構成となっている点である。
【０１００】
以上のように、ソフトウェア統合管理機能は、ソフトウェアにより実現できることから、ユーザ環境に応じた機能提供が可能である。
【０１０１】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る統合管理装置１００が有する「ソフトウェア統合管理機能」は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、ＣＰＵ１０６により実行されることで実現される。
【０１０２】
上記プログラムは、コンピュータが読み取り可能な記録媒体１０３ａに格納することができる。上記記録媒体１０３ａには、例えば、フロッピー（登録商標）ディスク、ＣＤ（Compact Disk）、及びＤＶＤ（Digital Versatile Disk）、ならびにＳＤメモリカード（SD Memory Card）及びＵＳＢ（Universal Serial Bus）メモリなどがある。
【０１０３】
よって、上記プログラムは、上記記録媒体１０３ａに記憶させることで、記録媒体１０３ａを読み取り可能なドライブ装置１０３などを介して統合管理装置１００にインストールすることができる。また、統合管理装置１００は、インタフェース装置１０７を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０１０４】
また、上記実施形態では、サーバ３００で動作するソフトウェアを統合管理するシステム１について説明を行ったが、このサーバ３００には、ＭＦＰやＬＰと言った画像処理装置などの機器も含まれる。このような場合、機器管理機能を実現するソフトウェアを統合管理対象とすると、統合管理システム１では、統合管理装置１００と１又は複数の機器とが接続され、統合管理装置１００で上記機器管理機能を実現するソフトウェアが動作する構成（統合管理装置が機器管理機能を有する構成）であればよい。
【０１０５】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１０６】
１      統合管理システム
２１    統合管理プラットフォーム
３１    ソフトウェア（機能実現プログラム）
３２    連携ソフトウェア部品
３２１  連携設定ファイル
３２２  連携プラグイン
４１    連携ソフトウェア部品取得部
４２    連携情報保持部
４３    連携情報解析部
４４    要求受付部
４５    連携動作実行部
４６    機能提供部
５１    解析結果
１００  統合管理装置（統合管理サーバ）
１０１  入力装置
１０２  表示装置
１０３  ドライブ装置（ａ：記録媒体）
１０４  ＲＡＭ（揮発性の半導体メモリ）
１０５  ＲＯＭ（不揮発性の半導体メモリ）
１０６  ＣＰＵ（中央処理装置）
１０７  インタフェース装置（ＮＩＣ：Network I/F Card）
１０８  ＨＤＤ（不揮発性の記憶装置）
２００  ユーザ端末（情報処理装置）
３００  サーバ（情報処理装置）
４００  情報収集装置（データ管理サーバ）
【先行技術文献】
【特許文献】
【０１０７】
【特許文献１】特開２００６−５８９２１号公報
【図１】
2014006928.tif 000003
【図２】
2014006928.tif 000004
【図３】
2014006928.tif 000005
【図４】
2014006928.tif 000006
【図５】
2014006928.tif 000007
【図６】
2014006928.tif 000008
【図７】
2014006928.tif 000009
【図８】
2014006928.tif 000010
【図９】
2014006928.tif 000011
【図１０】
2014006928.tif 000012
【図１１】
2014006928.tif 000013
【図１２】
2014006928.tif 000014
【手続補正書】
【提出日】平成25年10月1日(2013.10.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部にプログラムインタフェースを公開しスキャン文書配信機能を実現するソフトウェアが動作するスキャン文書配信サーバ及び外部にプログラムインタフェースを公開し機器管理機能を実現するソフトウェアが動作する機器管理サーバとネットワークを介して接続される統合管理装置であって、
前記機器管理機能を実現するソフトウェアから取得したプラグインに対して、該機器管理機能が有する機器一覧情報のデータを要求する手段と、
前記プラグインに、前記機器管理機能を実現するソフトウェアが提供するプログラムインタフェースを利用して、前記機器管理機能を実現するソフトウェアに対して機器一覧情報のデータを要求する手順を実行させる手段と、
前記プラグインに、要求された機器一覧情報のデータを生成する前記機器管理機能を実現するソフトウェアからの生成結果の応答を受け取る手順を実行させる手段と、
前記プラグインに、受け取った前記機器一覧情報のデータを所定のデータ形式に変換する手順を実行させ、変換結果を前記スキャン文書配信機能を実現するソフトウェアが提供するプログラムインタフェースを利用して入力することで、前記スキャン文書配信機能を実現するソフトウェアから取得したプラグインに対して、機器一覧表示の画面生成を要求する手段と
を有することを特徴とする統合管理装置。
【請求項２】
機能連携の有無若しくは機能連携の方法が予め設定された設定ファイルを参照することで、ユーザから要求されたスキャン文書配信機能の機器一覧表示に関する連携機能が存在するか否かを判定する手段をさらに有することを特徴とする請求項１に記載の統合管理装置。
【請求項３】
前記判定の結果、前記連携機能が存在する場合に、前記機器一覧情報のデータを要求することを特徴とする請求項２に記載の統合管理装置。
【請求項４】
外部にプログラムインタフェースを公開しスキャン文書配信機能を実現するソフトウェアが動作するスキャン文書配信サーバ及び外部にプログラムインタフェースを公開し機器管理機能を実現するソフトウェアが動作する機器管理サーバとネットワークを介して接続される統合管理装置のコンピュータを、
前記機器管理機能を実現するソフトウェアから取得したプラグインに対して、該機器管理機能が有する機器一覧情報のデータを要求する手段と、
前記プラグインに、前記機器管理機能を実現するソフトウェアが提供するプログラムインタフェースを利用して、前記機器管理機能を実現するソフトウェアに対して機器一覧情報のデータを要求する手順を実行させる手段と、
前記プラグインに、要求された機器一覧情報のデータを生成する前記機器管理機能を実現するソフトウェアからの生成結果の応答を受け取る手順を実行させる手段と、
前記プラグインに、受け取った前記機器一覧情報のデータを所定のデータ形式に変換する手順を実行させ、変換結果を前記スキャン文書配信機能が実現するソフトウェアが提供するプログラムインタフェースを利用して入力することで、前記スキャン文書配信機能を実現するソフトウェアから取得したプラグインに対して、機器一覧表示の画面生成を要求する手段
として機能させることを特徴とするプログラム。
【請求項５】
外部にプログラムインタフェースを公開しスキャン文書配信機能を実現するソフトウェアが動作するスキャン文書配信サーバ及び外部にプログラムインタフェースを公開し機器管理機能を実現するソフトウェアが動作する機器管理サーバとネットワークを介して接続される統合管理装置の制御方法であって、
前記機器管理機能を実現するソフトウェアから取得したプラグインに対して、該機器管理機能が有する機器一覧情報のデータを要求する手順と、
前記プラグインに、前記機器管理機能を実現するソフトウェアが提供するプログラムインタフェースを利用して、前記機器管理機能を実現するソフトウェアに対して機器一覧情報のデータを要求する手順を実行させる手順と、
前記プラグインに、要求された機器一覧情報のデータを生成する前記機器管理機能を実現するソフトウェアからの生成結果の応答を受け取る手順を実行させる手順と、
前記プラグインに、受け取った前記機器一覧情報のデータを所定のデータ形式に変換する手順を実行させ、変換結果を前記スキャン文書配信機能を実現するソフトウェアが提供するプログラムインタフェースを利用して入力することで、前記スキャン文書配信機能を実現するソフトウェアから取得したプラグインに対して、機器一覧表示の画面生成を要求する手順と
を有することを特徴とする統合管理装置の制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記目的を達成するため、本発明に係る統合管理装置は、外部にプログラムインタフェースを公開しスキャン文書配信機能を実現するソフトウェアが動作するスキャン文書配信サーバ及び外部にプログラムインタフェースを公開し機器管理機能を実現するソフトウェアが動作する機器管理サーバとネットワークを介して接続される統合管理装置であって、前記機器管理機能を実現するソフトウェアから取得したプラグインに対して、該機器管理機能が有する機器一覧情報のデータを要求する手段と、前記プラグインに、前記機器管理機能を実現するソフトウェアが提供するプログラムインタフェースを利用して、前記機器管理機能を実現するソフトウェアに対して機器一覧情報のデータを要求する手順を実行させる手段と、前記プラグインに、要求された機器一覧情報のデータを生成する前記機器管理機能を実現するソフトウェアからの生成結果の応答を受け取る手順を実行させる手段と、前記プラグインに、受け取った前記機器一覧情報のデータを所定のデータ形式に変換する手順を実行させ、変換結果を前記スキャン文書配信機能を実現するソフトウェアが提供するプログラムインタフェースを利用して入力することで、前記スキャン文書配信機能を実現するソフトウェアから取得したプラグインに対して、機器一覧表示の画面生成を要求する手段とを有する。