(57)【要約】【課題】ユーザが、既に作成したアプリケーションに対して、容易に機能を追加することができる情報処理装置、情報処理システム、制御方法、及びプログラムを提供すること【解決手段】被対象アプリケーション６０２が起動すると、当該被対象アプリケーション６０２に対応するアドオン機能６０４が起動し、被対象アプリケーション６０２の表示状態（表示位置、可視化、不可視化、表示形態等）が変更するに伴い、当該アドオン機能６０４の表示状態（表示位置、可視化、不可視化、表示形態等）を、コントローラ６００を介して変更する。【選択図】図８
2017010190.tif 000002
【特許請求の範囲】
【請求項１】
操作指示を行うための画面を表示する情報処理装置であって、
前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、
前記画面の表示状態の変更に応じて前記設定手段で設定された機能の表示状態を変更する制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記設定手段は、前記画面と独立して処理を実行する複数の機能を当該画面に対して設定を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記画面に対して設定された機能と同一の機能を、前記画面とは異なる画面に対して設定し、
前記制御手段は、表示状態の変更された画面に対して、当該画面に対応する前記機能の表示状態を変更することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記設定手段は、起動中の前記画面に対して前記画面と独立して処理を実行する機能を設定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、前記画面に表示されたデータを用いて前記画面と独立して処理を実行する機能を当該画面に対して設定し、
前記制御手段は、前記機能の実行指示を受付けると、前記設定手段によって設定された前記画面に表示されたデータを用いて処理を実行することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記機能の実行指示を受付けると、当該機能によって当該実行指示にかかる情報を共有の記憶領域へ記憶する第１の記憶手段と、
前記記憶手段によって実行指示にかかる情報が記憶されると、前記画面及び前記機能とは独立して処理を実行する機能によって前記記憶手段から当該実行指示にかかる情報を取得する取得手段と、
前記取得手段によって取得した前記実行指示にかかる情報に基づいて、前記設定手段によって設定された画面に表示されたデータを、前記画面及び前記機能とは独立して処理を実行する機能によって取得する画面情報取得手段と、
前記画面情報取得手段によって取得したデータを、前記画面及び前記機能とは独立して処理を実行する機能によって前記共有の記憶領域へ記憶する第２の記憶手段と、
前記第２の記憶手段に記憶されたデータを、第１の記憶手段によって実行指示にかかる情報を記憶した前記機能によって取得するデータ取得手段と、
前記データ取得手段によって取得したデータを用いて前記機能における処理を実行する実行手段と、
を備えたことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
操作指示を行うための画面を表示するクライアント端末とサーバとがネットワークを介して接続可能な情報処理システムであって、
前記クライアント端末は、
前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、
前記サーバの記憶手段に記憶した前記画面に対する機能及び当該機能の表示位置にかかる情報を取得する取得手段と、
前記画面の表示状態の変更に応じて、前記取得手段によって取得した機能の表示位置に基づいて前記機能の表示状態を変更する制御手段と、
を備え、
前記サーバは、
前記設定手段によって設定した前記画面に対する機能及び当該機能の表示位置にかかる情報を記憶する記憶手段
を備えたことを特徴とする情報処理システム。
【請求項８】
操作指示を行うための画面を表示する情報処理装置の制御方法であって、
前記情報処理装置を、
前記画面と独立して処理を実行する機能を当該画面に対して設定する設定ステップと、
前記画面の表示状態の変更に応じて前記設定ステップで設定された機能の表示状態を変更する制御ステップと、
を備えたことを特徴とする情報処理装置の制御方法。
【請求項９】
操作指示を行うための画面を表示する情報処理装置で読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、
前記画面の表示状態の変更に応じて前記設定手段で設定された機能の表示状態を変更する制御手段と、
して機能させることを特徴とするプログラム。
【請求項１０】
操作指示を行うための画面を表示するクライアント端末とサーバとがネットワークを介して接続可能な情報処理システムの制御方法であって、
前記クライアント端末は、
前記画面と独立して処理を実行する機能を当該画面に対して設定する設定ステップと、
前記サーバの記憶ステップに記憶した前記画面に対する機能及び当該機能の表示位置にかかる情報を取得する取得ステップと、
前記画面の表示状態の変更に応じて、前記取得ステップによって取得した機能の表示位置に基づいて前記機能の表示状態を変更する制御ステップと、
を実行し、
前記サーバは、
前記設定ステップによって設定した前記画面に対する機能及び当該機能の表示位置にかかる情報を記憶する記憶ステップ
を実行することを特徴とする情報処理システムの制御方法。
【請求項１１】
操作指示を行うための画面を表示するクライアント端末とサーバとがネットワークを介して接続可能な情報処理システムで読み取り実行可能なプログラムあって、
前記クライアント端末を、
前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、
前記サーバの記憶手段に記憶した前記画面に対する機能及び当該機能の表示位置にかかる情報を取得する取得手段と、
前記画面の表示状態の変更に応じて、前記取得手段によって取得した機能の表示位置に基づいて前記機能の表示状態を変更する制御手段と、
して機能させ、
前記サーバを、
前記設定手段によって設定した前記画面に対する機能及び当該機能の表示位置にかかる情報を記憶する記憶手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション開発方法に関する発明であり、特に、既に作成した画面への機能追加を容易に行うことが可能な方法に関する。
【背景技術】
【０００２】
現在、既に作成したアプリケーションに対して機能を追加するには、このアプリケーションのソースコードを改修した後、コンパイル処理等を施すことで追加された機能を動作させなければならないため、開発者へ作業負荷がかかるという問題が生じ得る。
【０００３】
そこで、複数のウィンドウ上でそれぞれ動作するアプリケーションに関して、あるウィンドウと他のウィンドウとを重畳し、前面のウィンドウに重畳される部分の背後のウィンドウ上のアプリケーションを操作できるように、前面のウィンドウの重畳部分を透明化しつつ背後のウィンドウ上のアプリケーションを操作可能な技術が存在する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２２２３３６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の発明は、既に作成したアプリケーションに対して機能を追加するというよりは、既に作成した複数のアプリケーションが重畳されることにより使用することが難しくなるという問題を解決することに重きをおいている。
【０００６】
そのため、既に作成したアプリケーションに対して機能を追加するには、あらたにウィンドウ上に追加したい機能をのせて開発を行う必要性が生じる。
【０００７】
特に、追加したい機能が多数にわたる場合、その数分のウィンドウを準備し、１ウィンドウに対して１機能をそれぞれ開発する手間が生じ、多くのウィンドウが表示されることからも見栄え等の問題もある。
【０００８】
あるいは、同じように、追加したい機能が多数にわたる場合、１ウィンドウに該複数の機能をのせるように開発を行うことも想定しうるが、既に作成したアプリケーションのどの位置に各機能を表示するかを考慮しながら開発する必要があるため非常に手間がかかり、かつ、汎用的な機能であれば、他の既に作成したアプリケーションへ搭載することを考えると、柔軟性にかけるという問題が生じる。
【０００９】
そこで、本発明では、ユーザが、既に作成したアプリケーションに対して、容易に機能を追加することができる情報処理装置、情報処理システム、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための第１の発明は、操作指示を行うための画面を表示する情報処理装置であって、前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、前記画面の表示状態の変更に応じて前記設定手段で設定された機能の表示状態を変更する制御手段と、を備えたことを特徴とする。
【００１１】
上記課題を解決するための第２の発明は、操作指示を行うための画面を表示するクライアント端末とサーバとがネットワークを介して接続可能な情報処理システムであって、前記クライアント端末は、前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、前記サーバの記憶手段に記憶した前記画面に対する機能及び当該機能の表示位置にかかる情報を取得する取得手段と、前記画面の表示状態の変更に応じて、前記取得手段によって取得した機能の表示位置に基づいて前記機能の表示状態を変更する制御手段と、を備え、前記サーバは、前記設定手段によって設定した前記画面に対する機能及び当該機能の表示位置にかかる情報を記憶する記憶手段を備えたことを特徴とする情報処理システム。
【００１２】
上記課題を解決するための第３の発明は、操作指示を行うための画面を表示する情報処理装置の制御方法であって、前記情報処理装置を、前記画面と独立して処理を実行する機能を当該画面に対して設定する設定ステップと、前記画面の表示状態の変更に応じて前記設定ステップで設定された機能の表示状態を変更する制御ステップと、を備えたことを特徴とする。
【００１３】
上記課題を解決するための第４の発明は、操作指示を行うための画面を表示する情報処理装置で読み取り実行可能なプログラムであって、前記情報処理装置を、前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、前記画面の表示状態の変更に応じて前記設定手段で設定された機能の表示状態を変更する制御手段と、して機能させることを特徴とする。
【００１４】
上記課題を解決するための第５の発明は、操作指示を行うための画面を表示するクライアント端末とサーバとがネットワークを介して接続可能な情報処理システムの制御方法であって、前記クライアント端末は、前記画面と独立して処理を実行する機能を当該画面に対して設定する設定ステップと、前記サーバの記憶ステップに記憶した前記画面に対する機能及び当該機能の表示位置にかかる情報を取得する取得ステップと、前記画面の表示状態の変更に応じて、前記取得ステップによって取得した機能の表示位置に基づいて前記機能の表示状態を変更する制御ステップと、を実行し、前記サーバは、前記設定ステップによって設定した前記画面に対する機能及び当該機能の表示位置にかかる情報を記憶する記憶ステップを実行することを特徴とする。
【００１５】
上記課題を解決するための第６の発明は、操作指示を行うための画面を表示するクライアント端末とサーバとがネットワークを介して接続可能な情報処理システムで読み取り実行可能なプログラムあって、前記クライアント端末を、前記画面と独立して処理を実行する機能を当該画面に対して設定する設定手段と、前記サーバの記憶手段に記憶した前記画面に対する機能及び当該機能の表示位置にかかる情報を取得する取得手段と、前記画面の表示状態の変更に応じて、前記取得手段によって取得した機能の表示位置に基づいて前記機能の表示状態を変更する制御手段と、して機能させ、前記サーバを、前記設定手段によって設定した前記画面に対する機能及び当該機能の表示位置にかかる情報を記憶する記憶手段として機能させることを特徴とする。
【発明の効果】
【００１６】
本発明では、ユーザが、既に作成したアプリケーションとは、開発環境的に独立して追加すべき機能を作成することができるので、容易に機能を追加することができる、という効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態にかかる情報処理システムの概略構成を示す構成図である。
【図２】本発明の実施形態にかかる情報処理装置のハードウェアの概略構成を示す構成図である。
【図３】本発明の実施形態において被対象アプリケーションに関わる画面の構成を示す構成図である。
【図４】本発明の実施形態においてアドオン機能が追加された被対象アプリケーションに関わる画面の構成を示す構成図である。
【図５】本発明の実施形態においてアドオン機能画面に関わる画面の構成を示す構成図である。
【図６】本発明の実施形態においてアドオン情報テーブルの構成を示す構成図である。
【図７】本発明の実施形態において披対象アプリケーションとアドオン機能とが連携する機能に関しての構成図である。
【図８】本発明の実施形態において、披対象アプリケーションとアドオン機能との連携処理を示すフローチャートである。
【図９】本発明の実施形態においてアドオン機能が追加された被対象アプリケーションに関わる画面の構成を示す構成図である。
【図１０】本発明の実施形態においてアドオン機能が追加された被対象アプリケーションに関わる画面の構成を示す構成図である。
【図１１】本発明の実施形態において披対象アプリケーションとアドオン機能とが連携する機能に関しての構成図である。
【図１２】本発明の実施形態において項目情報テーブルの構成を示す構成図である。
【図１３】本発明の実施形態において、披対象アプリケーションとアドオン機能とのデータの連携処理を示すフローチャートである。
【図１４】本発明の実施形態において、披対象アプリケーションとアドオン機能とのデータの連携処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
[第１の実施形態]
【００１９】
図１には、本発明の実施形態に係る情報処理システムの概略構成を示す構成図が示されている。
【００２０】
情報処理システム１００は、ユーザが、表示部へ表示されたアプリケーションに対して操作入力を行うことで、当該操作に応じた結果を表示する等の処理を行うクライアント端末１０２や、アプリケーションや当該アプリケーションで処理を行う際に必要となるデータを記憶管理等するためのサーバ１０４を備えており、これらの各情報処理装置は、ネットワーク１０６を介して通信可能となっている。
【００２１】
図２には、クライアント端末１０２のハードウェアの概略構成を示す構成図が示されている。
【００２２】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、クライアント端末１０２の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００２３】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２４】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００２５】
２０７はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２６】
２０８は通信Ｉ／Ｆコントローラで、ネットワーク（例えば、図１に示したＬＡＮ６００）を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２７】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２８】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。
【００２９】
尚、サーバ１０４もクライアント端末１０２のハードウェアの概略構成については、ほぼ同様な構成を有するため説明は省略する。
【００３０】
図３には、既に作成されたアプリケーション（以下、披対象アプリケーション）のうち、画面例の構成図が示されている。
【００３１】
被対象アプリケーション３００は、開発者が開発ツールなどを用いてソースコードを作成して、開発ツールに備えられた機能を用いて当該ソースコードを実行形式にビルドすることで作成されたものである。
【００３２】
図４には、既に作成された被対象アプリケーション３００に対して機能が追加された画面例の構成図が示されている。
【００３３】
被対象アプリケーション３００には、新たに追加する機能を実現するボタンとしてアドオンボタン４００、アドオンボタン４０２、及び被対象アプリケーション３００を補助するための画面として補助画面４０４を備えている（以下、アドオン機能）。
【００３４】
これらのアドオン機能の実行内容が入力されたファイルは、披対象アプリケーション３００を実行するためのファイルとは、別のファイルとしてそれぞれ作成しておき、アドオン機能に対する操作などを検知すると、それぞれ独立して作成されたファイルが操作内容に応じて実行される。
【００３５】
また、アドオン機能を作成する際、披対象アプリケーション３００を作成した言語とは異なる言語でプログラムを作成することも可能としており、披対象アプリケーション３００とアドオン機能とを作成する言語が異なる言語であっても、披対象アプリケーション３００とアドオン機能とは連携することが可能である（詳細後述）。
【００３６】
これによって、例えば、被対象アプリケーション３００を他社、または他事業所などから譲り受けて改修するような場合、まず、被対象アプリケーション３００の開発言語用の環境を構築しなければならないが、場合によっては、多額の費用や言語習得のための期間が必要となる事があるため、被対象アプリケーション３００とは、ある程度独立してアドオン機能を開発することで、開発にかかるコスト等を軽減することができる。
【００３７】
このようなアドオン機能をそれぞれ作成して、図５に示すように、アドオン機能画面５００に備える態様をとることが可能であり、アドオン機能画面５００には、アドオンボタン４００、アドオンボタン４０２、及び補助画面４０４などの機能を備えることが可能である。
【００３８】
被対象アプリケーション３００にアドオン機能を追加する方法としては、図３に示す被対象アプリケーション３００を表示した状態で、アドオン機能画面５００を表示し、ユーザが追加を所望する機能をアドオン機能画面５００に備えたアドオン機能に対応するボタンを、マウス等を用いて選択した状態で（ドラッグ状態）追加したい場所へ移動させて、選択した状態を解除（ドロップ状態）すると、当該場所へアドオン機能を追加する。
【００３９】
例えば、アドオン機能画面５００のアドオンボタン４００を選択した状態で、図３に示す披対象アプリケーション３００の領域３０２の位置まで移動させて選択を解除すると、図４に示す披対象アプリケーション３００のアドオンボタン４００が表示される。
【００４０】
他にもアドオン機能画面５００のアドオンボタン４０２を選択した状態で、図３に示す披対象アプリケーション３００の領域３０４の位置まで移動させて選択を解除すると、図４に示す披対象アプリケーション３００のアドオンボタン４０２が表示される。
【００４１】
さらに、アドオン機能画面５００の補助画面４０４を選択した状態で、図３に示す披対象アプリケーション３００の領域３０６の位置まで移動させて選択を解除すると、図４に示す披対象アプリケーション３００の補助画面４０４が表示される。
【００４２】
尚、これらのアドオン機能を披対象アプリケーション３００に追加した後も、これらのアドオン機能は独自に移動することが可能である。例えば、移動したいアドオン機能に対して、マウスの右クリック操作等して移動モードへ選択変更した後、移動しても良い。
【００４３】
アドオン機能画面５００を表示することなく、アドオン機能を表示する態様をとることも可能である。
【００４４】
アドオン機能画面５００やアドオン機能は、被対象アプリケーション３００を表示した状態で、表示あるいは非表示を指示することが可能である。例えば、被対象アプリケーション３００を表示した状態で、マウスの右クリック操作等して、表示、非表示を切り替えことが可能である。
【００４５】
ここで、披対象アプリケーション３００にアドオン機能が追加されると、披対象アプリケーション３００に対応するアドオン機能にかかる情報が登録されるが、登録するタイミングとしては、披対象アプリケーション３００に対してアドオン機能（ボタン）を選択した状態を解除した（ドロップ）際に登録する、さらに、アドオン機能の移動が発生した場合、移動後に登録する。
【００４６】
あるいは、選択した状態を解除、さらには、移動後に登録する旨のポップアップ画面（不図示）を表示し、登録ボタン（不図示）が押下されたタイミングで登録を行う。
【００４７】
この登録にかかる情報を記憶するテーブル（以下、アドオン情報テーブル）の構成例を図６に示している。登録する情報としては、披対象アプリケーションが一意となるようなアプリケーション名、披対象アプリケーションを構成する画面名、また、当該アプリケーション名及び画面名に対応して、披対象アプリケーションに対して追加したアドオン機能の名称を示すアドオン機能名、当該アドオン機能を配置した当該画面に対する表示位置などが登録される情報としてあげられる。
【００４８】
尚、アプリケーション名及びアドオン機能名については、それぞれの機能を実行するためのファイルの名称を登録する。
【００４９】
また、披対象アプリケーションにおいて複数の画面を備えている場合は、図６に示すようにアプリケーション名に対応して複数の画面名を備える構成を有する。
【００５０】
図７には、披対象アプリケーションとアドオン機能とが連携する仕組みに関しての構成が示されている。
【００５１】
本発明の実施形態においては、披対象アプリケーションとアドオン機能との連携を司るコントローラ６００が、前述した披対象アプリケーション３００のような披対象アプリケーション６０２と前述したアドオン機能を示すアドオン機能６０４とが接続されている。
【００５２】
尚、アドオン機能６０４については、複数のアドオン機能を備えた構成をとることも可能であり、例えば、アドオンボタン４００、アドオンボタン４０２、補助画面４０４に対応するそれぞれのアドオン機能６０４を備えることも可能である（破線で示される部分）。
【００５３】
コントローラ６００は、情報処理システム１００において、本発明に係るシステムが起動されたタイミング等で起動され、披対象アプリケーション６０２の起動を検知すると、披対象アプリケーション６０２に対応するアドオン機能６０４を起動させる。
【００５４】
そして、コントローラ６００が、披対象アプリケーション６０２の状態変化、例えば、披対象アプリケーション６０２の表示位置の移動、披対象アプリケーション６０２の不可視化、不可視である披対象アプリケーション６０２の可視可、表示形態に変更などに応じて、アドオン機能６０４の表示状態も変化させる。
【００５５】
アドオン機能６０４は、披対象アプリケーション６０２に組み込まれたロジックではないため、例えば、披対象アプリケーション６０２を移動させると、アドオン機能６０４（ボタン）も一緒に移動することができないため、ユーザにとって操作性に欠けるという問題が生じうる。
【００５６】
また、同様な理由から、披対象アプリケーション６０２を不可視化すると、アドオン機能６０４（ボタン）は不可視化されずに、披対象アプリケーション６０２が可視状態で表示されていた大きさそのままで残ってしまう。
【００５７】
反対に、披対象アプリケーション６０２を可視化すると、アドオン機能６０４（ボタン）は、披対象アプリケーション６０２が不可視状態時に不可視状態であったため、そのまま不可視状態となってしまう。
【００５８】
さらには、披対象アプリケーション６０２を拡大、縮小したにもかかわらず、アドオン機能６０４の大きさはそのまま維持されるため、披対象アプリケーション６０２にもともと備えられたボタン等と重畳し、ユーザにとって操作性に欠けるという問題が生じうる。
【００５９】
コントローラ６００は、披対象アプリケーション６０２の終了を検知すると、披対象アプリケーション６０２に対応するアドオン機能６０４を終了させる。
【００６０】
次に、図８に示すフローチャートを用いて、本発明の実施形態における披対象アプリケーションとアドオン機能との連携処理について説明する。尚、各ステップにおける処理は、コントローラ６００で実行されるものであるが、クライアント端末１０２におけるＣＰＵ２０１の制御の下、処理が実行される。
【００６１】
ステップＳ１００では、アドオン情報テーブルより、披対象アプリケーションのアプリケーション名及び画面名を取得し、ステップＳ１０２では、アドオン情報テーブルより、アドオン機能のアドオン機能名及び表示位置を取得する。
【００６２】
ステップＳ１０４では、披対象アプリケーションが起動しているか否かを判定し、起動していると判定した場合は、ステップＳ１０６へ処理を進める。
【００６３】
本ステップにおける判定方法の一例として、まず、オペレーティングシステムが起動中のアプリケーションを監視しているため、起動中のアプリケーションに関する情報（ファイル名や画面名など）をオペレーティングシステムから提供されるＡＰＩを用いて取得する。
【００６４】
そして、この取得したファイル名と、ステップＳ１００において取得した披対象アプリケーションのアプリケーション名と、比較して、一致すれば、起動していると判定し、一致していないと判定すれば、起動していないと判定する。
【００６５】
ステップＳ１０６では、ステップＳ１０４において起動中の被対称アプリケーション及び表示された画面名に対応するアドオン機能名及び表示位置を取得して、アドオン機能名に該当するファイル名称を備えたファイルを実行し、被対象アプリケーションの画面に対して取得した表示位置にボタン等を配置する。尚、実行ファイルに表示すべきボタン等にかかる情報が含まれている。
【００６６】
ステップＳ１０８では、ステップＳ１０６において起動したアドオン機能を実行する際にオペレーティングシステムで一意に割り当てられるプロセスＩＤを取得して、ステップＳ１１０では、被対象アプリケーションのアプリケーション名及び画面名に対応して、ステップＳ１０８において取得したプロセスＩＤ及びアドオン機能名をＲＡＭ２０３へ記憶する。
【００６７】
ここで、プロセスＩＤを用いる理由としては、同じクライアント端末１０２においても、異なる被対象アプリケーション（含む、画面）において、同じアドオン機能を用いる際に、コントローラ側では、何れの被対象アプリケーションに追加したアドオン機能かが判別不可能となるためである。
【００６８】
ステップＳ１１２では、起動している被対象アプリケーションの画面の表示状態が変更されたか否かを判定し、変更されたと判定した場合は、ステップＳ１１４へ処理を進め、変更されたと判定しない場合は、ステップＳ１３２へ処理を進める。
【００６９】
この表示状態の変更については、前述したように、例えば、被対象アプリケーションの画面の表示位置が移動した、可視状態の被対象アプリケーションの画面が非可視化された、非可視状態の被対象アプリケーションの画面が可視化された、被対象アプリケーションの画面が拡大あるいは縮小等の表示形態が変更されたなどがあげられる。
【００７０】
ステップＳ１１４では、被対象アプリケーションの画面の表示状態に関する情報を取得する。表示状態に関する情報としては、例えば、移動前後の被対象アプリケーションの画面の表示位置、被対象アプリケーションの画面が可視化あるいは非可視化された、被対象アプリケーションの画面が拡大あるいは縮小されたなどの表示形態の変更等に関する情報があげられる。
【００７１】
ステップＳ１１６では、ステップＳ１１４で取得した表示状態に関する情報に基づいて、被対象アプリケーションの画面の表示位置が変更されたか否かを判定し、表示位置が変更されたと判定した場合は、ステップＳ１１８へ処理を進め、表示位置が変更されたと判定しない場合は、ステップＳ１２０へ処理を進める。
【００７２】
ステップＳ１１８では、被対象アプリケーションの画面に対応するアドオン機能を、ステップＳ１１０でＲＡＭ２０３に記憶したプロセスＩＤ及びアドオン機能名から特定し、当該アドオン機能を表示する位置を、ステップＳ１０２で取得した表示位置を用いて変更して表示を行う。
【００７３】
ステップＳ１２０では、被対象アプリケーションの画面が最小化して表示されたか否かを判定し、最小化して表示されたと判定した場合は、ステップＳ１２２へ処理を進め、最小化して表示されたと判定しない場合は、ステップＳ１２４へ処理を進める。
【００７４】
本ステップにおける判定方法の一例としては、被対象アプリケーションの画面を最小化して表示するために、キーボード上のキーや被対象アプリケーションの画面上のボタンが押下されたことを検知すると、最小化して表示されたと判定する。
【００７５】
ステップＳ１２２では、被対象アプリケーションの画面に対応するアドオン機能を、ステップＳ１１０でＲＡＭ２０３に記憶したプロセスＩＤ及びアドオン機能名から特定し、当該アドオン機能を非表示とする。
【００７６】
ステップＳ１２４では、被対象アプリケーションの画面の最小化が解除されたか否かを判定し、最小化が解除されたと判定した場合は、ステップＳ１２６へ処理を進め、最小化が解除されたと判定しない場合は、ステップＳ１２８へ処理を進める。
【００７７】
本ステップにおける判定方法の一例としては、被対象アプリケーションの画面の最小化を解除するために、キーボード上のキーや被対象アプリケーション上のボタンが押下されたことを検知すると、最小化が解除されたと判定する。
【００７８】
ステップＳ１２６では、被対象アプリケーションの画面名に対応するアドオン機能を、ステップＳ１１０でＲＡＭ２０３に記憶したプロセスＩＤ及びアドオン機能名から特定し、当該アドオン機能を再表示する。
【００７９】
尚、再表示を行う場合、最小化の表示を指示されたときの表示状態で表示を行うため、最小化の表示を指示されたときのアドオン機能の表示位置を記憶しておくことが好ましい。
【００８０】
ステップＳ１２８では、被対象アプリケーションの画面の表示形態が変更されたか否かを判定し、変更されたと判定した場合、ステップＳ１３０へ処理を進め、変更されたと判定しない場合、ステップＳ１３２へ処理を進める。
【００８１】
本ステップにおける判定方法の一例としては、被対象アプリケーションの画面が拡大あるいは縮小されたこと等を検知した場合、被対象アプリケーションの画面の表示形態が変更されたと判定する。
【００８２】
ステップＳ１３０では、被対象アプリケーションの画面を拡大あるいは縮小等した場合、当該表示位置は、被対象アプリケーションの画面に対する相対位置を表しているため、拡大あるいは縮小等にあたり、その率に応じて座標系を換算して相対位置を定めて、当該相対位置に対してアドオン機能を表示する。
【００８３】
被対象アプリケーションの画面に対応するアドオン機能を特定するには、前述したように、ステップＳ１１０でＲＡＭ２０３に記憶したプロセスＩＤ及びアドオン機能名から特定する。
【００８４】
ステップＳ１３２では、被対象アプリケーションの画面が起動しているか否かを判定し、起動していないと判定した場合、つまり、被対象アプリケーションの画面が終了された場合、ステップＳ１３４へ処理を進め、被対象アプリケーションの画面が起動している場合、つまり、被対象アプリケーションの画面が終了していない場合、ステップＳ１１２へ処理を進める。
【００８５】
ステップＳ１３４では、被対象アプリケーションの画面に対応するアドオン機能を、ステップＳ１１０でＲＡＭ２０３に記憶したプロセスＩＤ及びアドオン機能名から特定し、当該アドオン機能を終了する。
[第２の実施形態]
【００８６】
第１の実施形態では、被対象アプリケーションとアドオン機能とが機能的に連携する構成を説明したが、第１の実施形態では、データの連携を行う構成について説明する。尚、第１の実施形態と同様な構成、及び処理を行う場合には、同一の符号を用いて、詳細な説明は省略するものとする。
【００８７】
図９に示される被対象アプリケーション３００では、当該被対象アプリケーション３００に備えられた項目７００に表示されたデータを用いて補助画面４０４に対して表示を行うことが可能である。
【００８８】
つまり、アドオン機能として補助画面４０４を作成する際に、項目７００に表示されたデータを用いて処理を行うように作成することが可能である。
【００８９】
この作成手順について、図１０及び図１１に示す被対象アプリケーション３００及び構成図を用いて説明する。
【００９０】
被対象アプリケーション３００の項目に表示されたデータに対して、それぞれのアドオン機能で用いられるものを特定して登録を行う。登録の方法としては、登録画面（不図示）において、登録対象とする被対象アプリケーション３００の項目をマウス等で選択して登録しても良いし、項目の名称や被対象アプリケーション３００に対する表示位置を登録画面（不図示）から入力して登録しても良い。また、画面を介さず、テーブル（図１２参照）へ直接、登録しても良い。
【００９１】
図１２には、被対象アプリケーションの項目に表示されたデータのうち、アドオン機能で利用し得る項目を登録するためのテーブルの構成が示されている（項目情報テーブル）。
【００９２】
項目情報テーブルは、披対象アプリケーションが一意となるようなアプリケーション名、披対象アプリケーションを構成する画面名、また、当該アプリケーション名及び画面名に対応して、披対象アプリケーションの項目を一意とするような項目名、及び披対象アプリケーションに対する項目の表示位置などを備えて構成されている。
【００９３】
図１０に示す被対象アプリケーション３００において、項目１、項目２、及び項目３を登録すると、図１２に示すように項目情報テーブルには、項目１、項目２、及び項目３の項目名と各項目の表示位置が登録される。
【００９４】
図１１には、図７と同様に、披対象アプリケーションとアドオン機能とが連携する仕組みに関しての構成が示されている。
【００９５】
まず、図１１の最上段に示すように、アドオン機能６０４は、コントローラ６００に対して、被対象アプリケーション６０２の項目のうち、取得したい項目を指定して、当該項目に表示されたデータの取得要求を行う。
【００９６】
次に、図１１の真ん中の段に示すように、コントローラ６００は、項目情報テーブルを参照し、アドオン機能６０４からデータの取得依頼を受けた項目に対応する表示位置を取得して、取得した表示位置に表示された項目のデータを被対象アプリケーション６０２から取得する。
【００９７】
そして、最下段に示すように、コントローラ６００は、被対象アプリケーション６０２から取得したデータを、アドオン機能６０４に対して渡す。
【００９８】
ただし、上記に示す構成と別の構成として、コントローラ６００とアドオン機能６０４とデータの連携を行う際には、共有メモリや中間ファイル（以下、共有メモリ等）を用いて連携を行う態様をとることが可能である。
【００９９】
つまり、アドオン機能６０４からデータの取得要求を行ったことを示す情報を共有メモリ等に記憶すると、コントローラ６００は、常時、共有メモリ等を監視することで、当該共有メモリ等に記憶された情報を読み取り（図１１の最上段）、この読み取った情報を用いて被対象アプリケーション６０２からデータを取得する。
【０１００】
そして、コントローラ６００は、被対象アプリケーション６０２から取得したデータを共有メモリ等へ記憶すると、アドオン機能６０４は、データの取得要求後、共有メモリ等を監視することで、当該共有メモリ等に記憶されたデータを取得することが可能である。
【０１０１】
これによって、アドオン機能６０４は、被対象アプリケーション６０２とは、独立して作成する、例えば、異なるプログラム言語で作成したとしても、相互に、データの連携を行うことが可能となるので、ユーザは、簡易にアドオン機能を作成することができる。
【０１０２】
次に、図１３及び図１４に示すフローチャートを用いて、本発明の実施形態における披対象アプリケーションとアドオン機能とのデータの連携処理について説明する。
【０１０３】
尚、図１３に示す各ステップにおける処理は、アドオン機能６０４で実行されるものであり、図１４に示す各ステップにおける処理は、コントローラ６００で実行されるものであるが、両フローチャートにおける処理は、クライアント端末１０２におけるＣＰＵ２０１の制御の下、並列して実行される。
【０１０４】
尚、本処理を行う前に、図８に示す処理が実行されており、被対象アプリケーション及びアドオン機能が起動された状態で処理が開始される。
【０１０５】
ステップＳ２００では、データの取得要求にかかる情報を作成する。このデータ取得要求情報は、要求対象となる項目名とアドオン機能に割り当てられたプロセスＩＤ及びアドオン機能名を含む情報を示す。
【０１０６】
ステップＳ２０２では、ステップＳ２００において作成したデータ取得要求情報を共有メモリ等に記憶する。
【０１０７】
ステップＳ２０４では、データの取得要求に対して、コントローラ６００で取得して共有メモリ等へ記憶されたデータの取得結果が存在するか否かを判定し、存在すると判定した場合は、ステップＳ２０６へ処理を進める。
【０１０８】
ステップＳ２０６では、共有メモリ等からデータの取得結果を取得して、ステップＳ２０８では、取得したデータの取得結果を削除する。
【０１０９】
尚、ステップＳ２０４からステップＳ２０８において、アドオン機能６０４は、複数存在する場合、自身のデータ取得要求に対するデータの取得結果か否かが判別不可能となるため、アドオン機能６０４に割り当てられたプロセスＩＤ及びアドオン機能名を用いて、アドオン機能６０４は、自身のデータ取得要求に対するデータの取得結果を共有メモリ等において特定することが可能である。
【０１１０】
ステップＳ２１０では、ステップＳ２１０で取得したデータを用いて、アドオン機能６０４で実行すべく処理を行う。
【０１１１】
次に、図１４に示すステップＳ３００では、データ取得要求情報が共有メモリ等に記憶されているか否かを判定し、記憶されていると判定した場合は、ステップＳ３０２へ処理を進める。
【０１１２】
ステップＳ３０２では、データ取得要求情報を共有メモリ等から取得し、ステップＳ３０４では、取得した当該データ取得要求情報を削除する。
【０１１３】
ステップＳ３０６では、項目情報テーブルからデータ取得要求情報に含まれる項目名に該当する項目の表示位置を取得し、ステップＳ３０８では、ステップＳ３０６において取得した表示位置の被対象アプリケーションの項目からデータを取得する。
【０１１４】
ステップＳ３１０では、ステップＳ３０８において取得したデータをプロセスＩＤ及びアドオン機能名に対応させて、データ取得結果として共有メモリ等へ記憶する。
[第３の実施形態]
【０１１５】
第１の実施形態及び第２の実施形態では、被対象アプリケーションの画面に対してアドオン機能を追加した後、被対象アプリケーションを起動させて、当該被対象アプリケーションに対応するアドオン機能を起動する態様を有するが、第３の実施形態では、被対象アプリケーションが起動している状態で、アドオン機能を追加する態様について説明する。
【０１１６】
尚、第３の実施形態は、第１の実施形態及び第２の実施形態と同様な構成を備えるため、同一の構成及び処理については同一の符号を用いて説明を行い、詳細な説明については説明を省略する。
【０１１７】
第３の実施形態では、図８に示す披対象アプリケーションとアドオン機能との連携処理において、ステップＳ１１０の処理の直後に、被対象アプリケーションの画面に対して、アドオン機能が重畳されて置かれた否かを判定し、重畳されて置かれたと判定した場合は、図６に示すアドオン情報テーブルに対して、当該被対象アプリケーション名及び当該被対象アプリケーションの画面名に対応して、被対象アプリケーションの画面に対してアドオン機能を追加した位置を登録する。
【０１１８】
そして、アドオン機能を起動させ、当該アドオン機能に割り振られたプロセスＩＤ及びアドオン機能名を、被対象アプリケーションのアプリケーション名及び画面名に対応させてＲＡＭ２０３へ記憶する。
【０１１９】
尚、アドオン機能が被対象アプリケーションに対して重畳されて置かれた際に、ポップアップ画面（不図示）を表示し、登録ボタン（不図示）が押下されたタイミングで追加しても良い。
【０１２０】
尚、これらのアドオン機能を披対象アプリケーション３００に追加した後も、これらのアドオン機能は独自に移動することが可能である。例えば、移動したいアドオン機能に対して、マウスの右クリック操作等して移動モードへ選択変更した後、移動しても良い。
【０１２１】
その場合、アドオン機能の移動が発生した場合、移動後にアドオン情報テーブルに前述した情報の登録を行う。尚、移動後に登録する旨のポップアップ画面（不図示）を表示し、登録ボタン（不図示）が押下されたタイミングで登録を行っても良い。
【０１２２】
さらに、披対象アプリケーション３００からアドオン機能に重畳しない箇所へ移動したタイミングで、当該アドオン機能の選択を解除すると、当該アドオン機能に関する情報をアドオン情報テーブルから削除し、当該アドオン機能を停止する。
【０１２３】
以上、第１の実施形態及び第２の実施形態と異なる箇所について説明したが、他の処理については、第１の実施形態及び第２の実施形態の処理に準じるものとする。
[第４の実施形態]
【０１２４】
第１の実施形態乃至第３の実施形態では、アドオン情報テーブル及び項目情報テーブルをクライアント端末１０２に備えた構成について説明したが、必ずしもこのような構成を備えずに、アドオン情報テーブル及び項目情報テーブルの何れも、あるいは、一方をサーバ１０４に備える構成としても良い。
【０１２５】
この場合、クライアント端末１０２では、各テーブルから情報を取得する、あるいは登録する際に、サーバ１０４に備えられた各テーブルから各情報を取得する、あるいは登録する処理を行うものとする。
【０１２６】
さらに、アドオン情報テーブル及び項目情報テーブルをサーバ１０４に備えた場合、各テーブルに登録する情報は、クライアント端末１０２を一意に特定する情報や利用ユーザを一意に特定する情報に対応させて各情報を記憶していくことで、クライアント端末１０２あるいはクライアント端末１０２を利用するユーザに応じて、被対象アプリケーションに対応するアドオン機能を利用することが可能となる。
【０１２７】
従って、本発明では、ユーザが、既に作成したアプリケーションとは、開発環境的に独立して追加すべき機能を作成することができるので、容易に機能を追加することができる。
【０１２８】
また、本発明は、例えば、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。
【０１２９】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることができる。
【０１３０】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータで稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１３３】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステム、あるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３４】
１００    情報処理システム
１０２    クライアント端末
１０２    ユーザ管理者用端末
１０４    サーバ
１０６    ネットワーク
２０１    ＣＰＵ
２０２    ＲＡＭ
２０３    ＲＯＭ
２０４    システムバス
２０５    入力コントローラ
２０６    ビデオコントローラ
２０７    メモリコントローラ
２０８    通信Ｉ／Ｆ（インターフェース）コントローラ
２０９    ＫＢ
２１０    ＣＲＴ
２１１    外部メモリ
【図１】
2017010190.tif 000003
【図２】
2017010190.tif 000004
【図３】
2017010190.tif 000005
【図４】
2017010190.tif 000006
【図５】
2017010190.tif 000007
【図６】
2017010190.tif 000008
【図７】
2017010190.tif 000009
【図８】
2017010190.tif 000010
【図９】
2017010190.tif 000011
【図１０】
2017010190.tif 000012
【図１１】
2017010190.tif 000013
【図１２】
2017010190.tif 000014
【図１３】
2017010190.tif 000015
【図１４】
2017010190.tif 000016