(57)【要約】【課題】プログラム管理を効率良く正確に行うこと。【解決手段】他の端末装置、もしくは管理装置から送信された、端末装置を管理するための指示を含む管理情報を受信し（Ｓ２００）、受信した管理情報を参照し、該当する指示に従った処理を行い（Ｓ２１０〜Ｓ２９０）、管理情報を過去に受信していない端末装置を検索し、検索した端末装置に対して、管理情報を転送する（Ｓ３１０）。【選択図】  図６
2004151888.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された管理装置、及び複数の端末装置により構成されるシステムにおける端末装置の制御方法であって、
他の端末装置、もしくは当該管理装置から送信された、前記複数の端末装置を管理するための指示を含む管理情報を受信する受信工程と、
受信した当該管理情報を参照し、該当する指示に従った処理を行う処理工程と、
前記複数の端末装置のうち、前記管理情報を過去に受信していない端末装置を検索する検索工程と、
当該検索工程により検索した端末装置に対して、前記管理情報を転送する転送工程と
を有することを特徴とする端末装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続された管理装置、及び複数の端末装置により構成されるシステムの管理技術に関するものである。
【０００２】
【従来の技術】
ネットワークの発達、ＣＰＵの高性能化、メモリや外部記憶装置の大容量化、ソフトウェア環境の発達により、従来はネットワークに接続されなかったような装置がネットワークに接続され始めている。さらに従来からネットワークに接続されてきた装置も、高機能化、多機能化が進み、これらの装置上で実行するプログラムを、装置の稼動後に追加したり、バージョンアップなどを実施したいという要求がある。さらに、導入するアプリケーションプログラムを一元的に管理したいという目的や、特に印刷装置や機器制御装置など、通常のコンピュータと違いＣＤ−ＲＯＭやフロッピー（登録商標）ディスクなどの外部記憶媒体を持たない装置に対しては、ネットワークを介したアプリケーションプログラムの導入に対する要求がある。
【０００３】
例えば、従来では、ネットワークを介してアプリケーションプログラムをホストコンピュータから端末装置にダウンロードし、導入するものがある（例えば特許文献１を参照）。また、他の従来例では、管理ゲートウェイを介してインターネット上のダウンロードサイトからアプリケーションプログラムをダウンロードし、装置に導入するものがある（例えば特許文献２を参照）。
【０００４】
さらに、官公庁や学校などの公共施設、企業のオフィスや工場などにおいて、ネットワークに接続された装置上のアプリケーションプログラムを、一括して管理、運用したいという要求もある。
【０００５】
【特許文献１】
特開平０８−１９０４７２号公報
【特許文献２】
特開２００１−２２２５００公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上記の従来技術では、ネットワークを介したアプリケーションプログラムの導入は、アプリケーションプログラムを管理する管理装置と導入先の端末装置との間で一対一で行われるため、導入する端末装置が複数あると、管理装置を導入先となる夫々の端末装置に接続して導入作業を実施しなければならず、煩雑なものとなり、効率が悪いものとなっていた。
【０００７】
また、上記端末装置の台数が増えてくると、導入作業の負荷が増大するとともに、導入するアプリケーションプログラムを間違えたり、一部の端末装置への導入作業を忘れるなど人為的なミスを起こす可能性が高いものとなり、プログラムの管理に正確さを欠くものとなっていた。
【０００８】
また、上記もう一方の従来技術では、アプリケーションプログラムの導入についてのみ考慮されており、ネットワークを介して端末装置に対してアプリケーションプログラムの削除や、起動や停止、アプリケーションプログラムの実行環境の設定等を行わせることついては考慮されておらず、ネットワークに接続された装置上のアプリケーションプログラムを、一括して管理、運用したいという要求に応えるものではなかった。
【０００９】
本発明は以上の問題に鑑みてなされたものであり、プログラム管理を効率良く正確に行う技術を提供することを目的とする。
【００１０】
【課題を解決するための手段および作用】
本発明の目的を達成するために例えば本発明の端末装置の制御方法は以下の構成を備える。
【００１１】
すなわち、ネットワークに接続された管理装置、及び複数の端末装置により構成されるシステムにおける端末装置の制御方法であって、
他の端末装置、もしくは当該管理装置から送信された、前記複数の端末装置を管理するための指示を含む管理情報を受信する受信工程と、
受信した当該管理情報を参照し、該当する指示に従った処理を行う処理工程と、
前記複数の端末装置のうち、前記管理情報を過去に受信していない端末装置を検索する検索工程と、
当該検索工程により検索した端末装置に対して、前記管理情報を転送する転送工程と
を有することを特徴とする。
【００１２】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１３】
［第１の実施形態］
ここで、プログラム管理装置や管理対象となる端末装置などの動作・機能について既に広く知られている点に関しては、適宜、説明を省略する。
【００１４】
図１は、本実施形態におけるプログラム管理システムの機能構成を示すブロック図である。ネットワーク１にはプログラム管理装置１００、および複数の管理対象装置（端末装置）３００、４００、５００が接続されている。
【００１５】
本実施形態ではプログラム管理装置１００が管理する対象の端末装置は同図の３つとし、プログラム管理装置１００は３つの端末装置に対するプログラム管理を行うために後述のプログラム管理情報を端末３００に送信する。送信する先の端末装置は他の端末でも良い。また端末装置はの数は３つに限定されるものではない。端末装置３００は受信したプログラム管理情報を参照して、プログラム管理情報に従った処理を行い、処理が終了するとプログラム管理情報を他の端末装置（同図では端末装置４００，５００）に送信する処理を行う。他の端末装置も同様に受信したプログラム管理情報を参照して、プログラム管理情報に従った処理を行う。このようにして本実施形態におけるプログラム管理システムは全ての端末装置に対するプログラム管理を一括して行う。
【００１６】
以上の構成及び動作を行う本実施形態におけるプログラム管理システムについて更に詳細に説明する。
【００１７】
１００はプログラム管理装置であり、以下に示す構成を備える。すなわち、プログラム管理装置全体を制御する装置制御部１０１、オペレーティングシステムやプログラム管理装置１００で実行されるプログラム、管理対象となる夫々の端末装置に配信されるプログラムなどを格納するために利用される記憶装置１０２、管理対象となる夫々の端末装置に対する指示を入力するためのＧＵＩ（グラフィカルユーザインターフェース）部１０３、ＧＵＩ部１０３を介して入力された指示に従い、プログラム管理の種別、管理対象となる夫々の端末装置に対して送られるプログラム、プログラムの識別名などを含むプログラム管理情報６００を作成するプログラム管理情報作成部１０４、作成したプログラム管理情報を、管理対象の夫々の端末装置のうち１つの端末装置に送るプログラム管理情報配信部１０５、管理対象となる端末装置からの結果を受け取るプログラム管理結果受信部１０６、ネットワーク１とのインタフェース部分となる通信部１０７により上記プログラム管理装置１００は構成されている。なお、上述した各部において、記憶装置１０２以外はハードウェアにより構成されていてもよいし、ソフトウェアにて構成されていても良い。
【００１８】
３００は管理対象となる端末装置であり、以下に示す構成を備える。すなわち、ネットワーク１とのインタフェース部分となる通信部３０１、プログラム管理情報６００を受け取るプログラム管理情報受信部３０２、プログラム管理の結果をプログラム管理装置１００に送るプログラム管理結果送信部３０３、プログラム管理情報６００を他の管理対象となる端末装置に転送するプログラム管理情報転送部３０４、プログラム管理情報６００を分析し、分析結果に従った処理を装置制御部３０６に指示するプログラム管理部管理部３０５、端末装置３００全体を制御する装置制御部３０６、オペレーティングシステムや端末装置３００で実行されるプログラム、データなどを格納するために利用される記憶装置３０７により構成されている。記憶装置３０７には、プログラム管理装置１００から送信されたプログラムを格納するためのプログラム登録部３０８が設けられている。なお、上述した端末装置３００の各部において、記憶装置３０７以外はハードウェアにより構成されていてもよいし、ソフトウェアにて構成されていても良い。なお、その他の端末装置４００、５００も同様な機能構成を備える。
【００１９】
図８に上記プログラム管理装置１００、及び端末装置３００の基本構成を示す。まずプログラム管理装置１００の基本構成について説明する。８０１はＣＰＵで、ＲＡＭ８０２やＲＯＭ８０３に格納されたプログラムやデータを用いてプログラム管理装置１００全体の制御を行うと共に、プログラム管理情報６００の作成や、作成したプログラム管理情報６００を管理対象の夫々の端末装置のうち１つの端末装置に対して送信する等の処理を行う。８０２はＲＡＭで、外部記憶装置８０７や記憶媒体ドライブ８０８からロードされたプログラムやデータを一時的に記憶するエリアを備えると共に、ＣＰＵ８０１が各処理を行うために使用するワークエリアをも備える。
【００２０】
８０３はＲＯＭで、プログラム管理装置１００全体を制御するためのプログラムやデータを格納する。８０４、８０５は夫々キーボード、マウスで、夫々ポインティングデバイスとして用いられ、各種の指示をＣＰＵ８０１に対して入力するためのユーザＩ／Ｆとして機能するものである。８０６は表示部で、ＣＲＴや液晶画面などにより構成されており、各種の画像や文字情報などを表示する。８０７は外部記憶装置で、ハードディスクなどの大容量情報記憶装置として機能し、オペレーティングシステムやプログラム管理情報６００の作成、作成したプログラム管理情報６００を管理対象となる夫々の端末装置のうち１つの端末装置に対して送信する等の処理を行うためのプログラム（図１に示したプログラム管理装置１００において記憶装置１０２以外がソフトウェアにより構成されている場合には、このソフトウェアのプログラム）やデータを保存している。
【００２１】
８０８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体からプログラムやデータなどを読み出し、ＲＡＭ８０２や外部記憶装置８０７に出力する。８０９はネットワークＩ／Ｆで、ネットワーク１に接続された他の装置（同図では端末装置）とデータ通信を行うためのＩ／Ｆとして用いられ、ネットワークＩ／Ｆ８０９を介してプログラムやデータが送受信される。８１０は上述の各部を繋ぐバスである。
【００２２】
次に端末装置３００の基本構成について説明する。８５１はＣＰＵで、ＲＡＭ８５２やＲＯＭ８５３に格納されたプログラムやデータを用いて端末装置３００全体の制御を行うと共に、受信したプログラム管理情報６００に従った処理や、プログラム管理情報６００を他の端末装置に転送したりする処理などを行う。８５２はＲＡＭで、外部記憶装置８５７や記憶媒体ドライブ８５８からロードされたプログラムやデータ、ネットワークＩ／Ｆ８５９を介して受信したプログラム管理情報６００等を一時的に記憶するエリアを備えると共に、ＣＰＵ８５１が各処理を行うために使用するワークエリアをも備える。
【００２３】
８５３はＲＯＭで、端末装置３００全体を制御するためのプログラムやデータを格納する。８５４、８５５は夫々キーボード、マウスで、夫々ポインティングデバイスとして用いられ、各種の指示をＣＰＵ８５１に対して入力するためのユーザＩ／Ｆとして機能するものである。なお、端末装置３００が例えばコピーやファックスなどの複合機である場合にはこれらキーボード８５４，マウス８５５は備わっていないので、これらキーボード８５４，マウス８５５は端末装置３００の種別によっては必ず必要なものではない。８５６は表示部で、ＣＲＴや液晶画面などにより構成されており、各種の画像や文字情報などを表示する。８５７は外部記憶装置で、ハードディスクなどの大容量情報記憶装置として機能し、オペレーティングシステムや受信したプログラム管理情報６００に従った処理や、プログラム管理情報６００を他の端末装置に転送したりする処理を行うためのプログラム（図１に示した端末装置３００において記憶装置３０７以外がソフトウェアにより構成されている場合には、このソフトウェアのプログラム）やデータを保存している。
【００２４】
８５８は記憶媒体ドライブで、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体からプログラムやデータなどを読み出し、ＲＡＭ８５２や外部記憶装置８５７に出力する。８５９はネットワークＩ／Ｆで、ネットワーク１に接続された他の装置（同腕は端末装置）とデータ通信を行うためのＩ／Ｆとして用いられ、ネットワークＩ／Ｆ８５９を介してプログラムやデータが送受信される。８６０は上述の各部を繋ぐバスである。なお、その他の端末装置４００、５００も同様な構成を備える。
【００２５】
次に上記プログラム管理装置と端末装置群とで構成されるプログラム管理システムにおいて扱われるプログラム管理情報について以下説明する。図２はプログラム管理情報の構成の一例を示す図である。
【００２６】
プログラム管理情報６００は、プログラム管理情報をネットワーク上で一意に識別するためのプログラム管理情報ＩＤ６０５と、管理する対象の夫々の端末装置に既に導入（インストール）されている夫々のプログラムを識別するためのプログラム識別子や、プログラム管理の種別などを含むプログラム管理属性６２０と、管理対象となる端末装置の夫々を識別するための装置識別子（例えばネットワーク１上における各端末装置のＩＰアドレス等、ネットワーク上で各端末装置が特定できる情報と端末名とがセットで記述されている）などを含む対象装置一覧６３０と、管理対象となる夫々の端末装置に導入されるプログラム（必要に応じてデータもこれに含まれるものとする）６４０とで構成される。
【００２７】
プログラム管理情報ＩＤ６０５は、プログラム管理装置１００のＩＰアドレスと、プログラム管理情報作成部１０４によってプログラム管理情報が作成された時刻を表すタイムスタンプとに基づいて作成されるものであり、ネットワーク上で一意に識別できるようにするためのものである。
【００２８】
プログラム管理属性６２０と、対象装置一覧６３０と、プログラム６４０とは１組のデータ６１０として扱われ、必要に応じて組み合わせて構成される。この１組のデータはプログラム管理情報６００に複数組含めることも出来る。
【００２９】
プログラム管理属性６２０には上述の通り、管理する対象の夫々の端末装置に既に導入されている夫々のプログラムを識別するためのプログラム識別子６２１と、「プログラムの導入」、「プログラムの削除」、「プログラムの起動」、「プログラムの停止」、「プログラムの環境設定」、「プログラムの状態通知」等のプログラム管理の種別を表すプログラム管理種別６２２と、管理すべきプログラムの導入元を特定する情報であるプログラム導入元６２３と、管理すべきプログラムの導入先もしくは削除するプログラムの端末装置内における位置を表す情報であるプログラム導入先６２４と、プログラムの環境設定に用いるプログラム環境設定６２５とが１組となって含まれており、必要に応じて組み合わせて構成される。なお、プログラムの導入元６２３には例えばネットワーク上におけるプログラム管理装置１００のＵＲＬが使用される。また、プログラムの導入先６２４には例えば夫々の端末装置におけるディレクトリが使用される。
【００３０】
また対象装置一覧６３０には、管理する対象となる端末装置の夫々を識別するための装置識別子６３１と、夫々の端末装置に対してプログラム管理情報６００が送信されたか否かを示す完了符号６３３とが各端末装置毎に含まれている。装置識別子はネットワーク１に接続されている端末装置を操作者が調べて予め外部記憶装置８０７に格納しておいても良いし、プログラム管理装置１００がネットワーク１にアクセスし、接続されている端末を検索し、プログラム管理装置１００が作成しても良い。後者の場合、この処理を予め行って、その結果（装置識別子）を外部記憶装置８０７に保存しておいても良いし、プログラム管理情報を作成する際に行っても良い。また全ての完了符号には予め「完了していない」旨を示す符号（例えば０）をセットしておく。
【００３１】
なお図２に示したプログラム管理情報の構成において、例えばプログラム導入元６２３、プログラム導入先６２４、プログラムは管理対象となる端末に対してプログラム導入を行わない場合にはプログラム管理情報に含める必要はなく、また管理対象となる端末に対して後述のプログラム環境設定を行わない場合には、プログラム環境設定６２５をプログラム管理情報に含める必要はない。
【００３２】
次に、上記プログラム管理システムが行う処理において、プログラム管理装置１００が端末装置３００に対してプログラム管理情報６００を送信する処理について図４，５を用いて以下説明する。図４はプログラム管理装置１００がプログラム管理情報６００を端末装置３００に対して送信するために行う処理のフローチャート、図５はプログラム管理装置１００がプログラム管理情報６００を端末装置３００に送信した後に図４に示したフローチャートに従った処理とは別に平行して行われる処理のフローチャートである。
【００３３】
まずステップＳ１００では、プログラム管理装置１００の表示部８０６の表示画面上に表示されているプログラム管理画面（ＧＵＩ部１０３）を介して、操作者によってキーボード８０４やマウス８０５から、管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力を受け付ける。
【００３４】
図３Ａ、３Ｂは夫々管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力するためのプログラム管理画面（ＧＵＩ）の表示例を示す図である。図３Ａに示す画面では、アプリケーション「ＣＯＰＹ」と「ＦＡＸ」を「導入」し、且つ「起動」することが指定されている。指定されている箇所は黒丸で示されている。
【００３５】
一方図３Ｂに示す画面では、アプリケーション「ＣＯＰＹ」、「ＦＡＸ」、「ＰｒｉｎｔＳｅｒｖｅｒ」、および「ＭａｉｌＳｅｒｖｅｒ」を「起動」することが指定されている。
【００３６】
ステップＳ１１０では、ＣＰＵ８０１（プログラム管理情報作成部１０４）がプログラム管理情報ＩＤ６０５、プログラム管理属性６２０、対象装置一覧６３０、プログラム６４０を必要に応じて含んだプログラム管理情報６００を作成する。
【００３７】
ステップＳ１２０では、管理する対象となる端末装置のうち１つをネットワーク１で検索し、検索した端末装置（本実施形態では端末装置３００）に対してプログラム管理情報６００を送信する。
【００３８】
そしてステップＳ１３０では、端末装置３００がプログラム管理情報６００を受け取ったことを示す旨が、端末装置３００から送信されたか否かをチェックする。端末装置３００からプログラム管理情報６００を受け取ったことを示す旨を受け取った場合には処理をステップＳ１４０に進め、ＣＰＵ８０１にこの旨を通知する。
【００３９】
一方、端末装置３００からプログラム管理情報６００を受け取ったことを示す旨が一定時間内に受け取れなかった場合、例えばネットワーク上の送信エラーなどにより端末装置３００がプログラム管理情報６００を受け取らなかった場合、処理をステップＳ１５０に進め、ＣＰＵ８０１にこの旨を通知すると共に、ステップＳ１２０以降の処理を行う。なおステップＳ１５０ではプログラム管理情報６００の送信が失敗したことを表示部８０６に表示して操作者に通知しても良い。
【００４０】
なおステップＳ１２０における処理が終了すると、図４に示したフローチャートに従った処理と平行してステップＳ１６０以降の処理が行われる。ステップＳ１６０では端末装置３００を含む管理対象の端末装置からプログラム管理情報６００に従った処理が完了したか否かの通知を受け付けており、ステップＳ１７０で完了した旨の通知を受け取った場合には、ステップＳ１８０でこの旨をＣＰＵ８０１に通知し、ＣＰＵ８０１は表示部８０６にこの旨を表示し、操作者に対して通知する。
【００４１】
次に、端末装置３００が行う処理について説明する。図６は端末装置３００がプログラム管理装置１００からプログラム管理情報６００を受信し、受信したプログラム管理情報６００を参照して行う処理のフローチャートである。
【００４２】
まずステップＳ１９５でＣＰＵ８５１は、ネットワークＩ／Ｆ８５９を介して受信したプログラム管理情報６００に含まれるプログラム管理情報ＩＤ６０５を参照し、ステップＳ１９７でＣＰＵ８５１は、受信したプログラム管理情報が過去に処理したプログラム管理情報か否かを判断する。端末装置は過去に受信したプログラム管理情報のＩＤを保持するので（しかも夫々のＩＤは夫々のプログラム管理情報固有のものであって、互いに重複したものではないため）、新たにプログラム管理情報を受信すると、これに含まれるプログラム管理情報ＩＤを参照し、保持しておいたＩＤと比較し、今回受信したプログラム管理情報が過去に処理したものであるか否かを判断することが出来る。
【００４３】
過去に処理したものであると判断した場合には処理を終了し、過去に処理したものでない場合にはステップＳ２００で受信したプログラム管理情報を受け付ける。すなわち以下の処理対象とする。
【００４４】
次にＣＰＵ８５１はステップＳ２１０でプログラム管理情報６００に含まれるプログラム管理属性６２０内のプログラム管理種別６２２を参照し、プログラム管理装置１００がプログラム管理情報６００を用いて端末装置３００に対して「プログラムの導入」、「プログラムの削除」、「プログラムの起動」、「プログラムの停止」、「プログラムの環境設定」、「プログラムの状態通知」のいずれの処理を要求しているのかを判断する。
【００４５】
プログラム管理種別が「プログラムの導入」の場合には、ステップＳ２２０においてＣＰＵ８５１は、プログラム管理属性６２０に含まれるプログラム導入先６２４を参照し、例えば外部記憶装置８５７においてプログラム導入先６２４で指定されるディレクトリにプログラム管理属性６２０に含まれるプログラム（必要に応じてデータを含む）６４０を導入する。
【００４６】
プログラム管理種別が「プログラムの削除」の場合には、ステップＳ２３０においてＣＰＵ８５１は、プログラム管理属性６２０に含まれるプログラム導入先６２４を参照して、例えば外部記憶装置８５７においてプログラム導入先６２４で指定されるディレクトリのプログラムを削除する（データがあればデータも削除する）。
【００４７】
プログラム管理種別が「プログラムの起動」の場合には、ステップＳ２４０においてＣＰＵ８５１は、プログラム管理属性６２０に含まれるプログラム環境設定６２５を参照して、既に端末装置３００に導入されているプログラム、もしくはステップＳ２２０で導入されたプログラムのうちプログラム環境設定６２５によって指定されたプログラムを起動する。
【００４８】
プログラム管理種別が「プログラムの停止」の場合には、ステップＳ２５０においてＣＰＵ８５１は、プログラム管理属性６２０に含まれるプログラム環境設定６２５を参照して、既に端末装置３００に導入されており、既に実行されているプログラムのうちプログラム環境設定６２５によって指定されたプログラムの実行停止を行う。
【００４９】
プログラム管理種別が「プログラムの環境設定」の場合には、ステップＳ２６０においてＣＰＵ８５１は、管理属性６２０に含まれるプログラム環境設定６２５を参照して、既に端末装置３００に導入されているプログラムの環境設定を行う。
【００５０】
プログラム管理種別が「プログラムの状態通知」の場合には、ステップＳ２７０においてＣＰＵ８５１は、プログラム識別子６２１で示されるプログラムの状態を取得し、プログラム管理装置１００にその結果を通知する。
【００５１】
プログラム管理情報６００には複数の組のデータ６１０が設定可能であるので、ステップＳ２９０において。全てのプログラム管理種別を処理したかを判定し、まだ残っているのであれば、処理をステップＳ２１０に進め、以降の処理を行う。一方、全てのプログラム管理種別を処理した場合には、ステップＳ３００においてＣＰＵ８５１は全てのプログラム管理種別を処理した旨をネットワークＩ／Ｆ８５９を介してプログラム管理装置１００に通知する。
【００５２】
そして最後にＣＰＵ８５１はステップＳ３１０で、ネットワーク１上の他の端末装置を検索する。具体的には、ＣＰＵ８５１はプログラム管理情報ＩＤ６０５をブロードキャストなどによって、ネットワーク１上に送出する。そしてプログラム管理情報ＩＤ６０５をまだ処理していない他の端末装置が応答を返すことにより、管理対象となる他の端末装置を探索することが出来る。そして、検索した他の端末装置にプログラム管理情報６００を転送して、端末装置３００は処理を終了する。なお、どこからも応答が無い場合、プログラム管理装置１００から配信されたプログラム管理情報６００を、ネットワーク１上の管理対象となる端末装置がすべて処理をすませ、プログラム管理装置１００によって開始した一連のプログラム管理処理が実施されたことになる。
【００５３】
以上説明したように、本実施形態におけるプログラム管理システムによれば、プログラム管理装置と、管理対象となる複数の端末装置とがネットワークを介して接続されたプログラム管理システムにおいて、プログラム管理装置からは、管理対象となる端末装置を指定しなくても、ネットワーク上の管理対象となる端末装置のうちのいずれか１台にプログラムの導入や起動、停止などのプログラムの管理指示を送信することで、ネットワーク上の他の管理対象となる各端末装置へもプログラムの管理指示を送信することが出来る。これにより、オペレータの負荷を軽減できるとともに、プログラムの運用管理を、効率良く、正確に行うことが可能になる。
【００５４】
なお本実施形態では全ての端末装置に対して管理情報に従った処理を行わせているが、これに限定されるものではなく、プログラム管理装置上で管理情報を生成する際に処理対象外の端末装置を指定しても良い。
【００５５】
［第２の実施形態］
第１の実施形態のプログラム管理システムでは、プログラム管理情報内に端末装置に導入するプログラムを含めていたが、本実施形態におけるプログラム管理システムでは、端末装置に導入するプログラムはプログラム管理装置、端末装置とは別の装置（サーバ装置）に格納しておき、プログラム導入元６２３にはサーバ装置のアドレス、例えばＵＲＬを登録しておく。
【００５６】
このようにすることで端末装置はプログラム管理情報を受信すると、プログラム管理情報に含まれるプログラム導入元を参照してサーバ装置のＵＲＬを特定することが出来るので、特定したＵＲＬからプログラムをダウンロードすることが出来る。
【００５７】
よって本実施形態におけるプログラム管理システムの機能は第１の実施形態におけるシステムに加えて上記サーバ装置がネットワーク１に接続されている。よってそれ以外は第１の実施形態と同じであるのでその説明を省略する。以下、本実施形態におけるプログラム管理システムについて説明する。
【００５８】
本実施形態では装置識別子６３１により、明示的に、管理対象となる端末装置を指定する構成とする。すなわち上記第１の実施形態では、ネットワーク上の管理対象となる端末装置を探索し、検索した端末装置にプログラム管理情報を送信／転送するようになっているが、本実施形態では、装置識別子６３１を指定することによって、ネットワーク上を探索せず、装置識別子６３１で指定された端末装置にプログラム管理情報を配信／転送する。
【００５９】
次に本実施形態におけるプログラム管理システムが行う処理について説明する。本実施形態におけるプログラム管理装置１００がプログラム管理情報６００を端末装置３００に対して送信するために行う処理のフローチャート、本実施形態におけるプログラム管理装置１００がプログラム管理情報６００を端末装置３００に送信した後に図４に示したフローチャートに従った処理とは別に平行して行われる処理のフローチャートは夫々基本的には図４，５に示したものとなるが、第１の実施形態で説明した処理と異なる部分について以下説明する。
【００６０】
まずステップＳ１００で、例えば、プログラム管理装置１００の表示部８０６の表示画面上に表示されているプログラム管理画面（ＧＵＩ部１０３）を介して、操作者によってキーボード８０４やマウス８０５から、管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力を受け付ける。
【００６１】
図７は管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力するためのプログラム管理画面（ＧＵＩ）の表示例を示す図である。図７に示す画面では、管理対象となる端末装置「１Ｆ−ＭＦＰ１」ではアプリケーション「ＣＯＰＹ」と「ＦＡＸ」を「導入」し、且つ「起動」することが指定されている。おなじく、管理対象となる端末装置「１Ｆ−ＭＦＰ２」ではアプリケーション「ＰｒｉｎｔＳｅｒｖｅｒ」と「ＭａｉｌＳｅｒｖｅｒ」の「起動」することが指定されている。そして、管理対象となる端末装置「２Ｆ−ＭＦＰ１」ではアプリケーション「ＣＯＰＹ」と「ＰｒｉｎｔＳｅｒｖｅｒ」と「ＭａｉｌＳｅｒｖｅｒ」を「起動」することが指定されている。
【００６２】
ステップＳ１１０ではＣＰＵ８０１（プログラム管理情報作成部１０４）がプログラム管理情報ＩＤ６０５、プログラム管理属性６２０、対象装置一覧６３０、プログラム６４０を必要に応じて含んだプログラム管理情報６００を作成する。ステップＳ１２０ではＣＰＵ８０１（プログラム管理情報配信部１０５）が、最初にプログラム管理情報６００を配信する先の端末装置の装置識別子を装置識別子６３１を参照して決める。
【００６３】
ここでは、例えば装置識別子６３１に記述されている各端末装置名の一覧の先頭にある端末装置を最初の配信とするが、それに限ったものでなく、アルファベット順、導入するプログラムの多い順等、任意の順番を考えることができる。図７では、「１Ｆ−ＭＦＰ１」が先頭であるので、先ず「１Ｆ−ＭＦＰ１」に、プログラム管理情報６００を配信する。そして、プログラム管理情報６００を受信した端末装置は基本的には第１の実施形態の端末装置と同じ処理を行う。
【００６４】
端末装置における処理が終了し、この旨をこの端末装置からステップＳ１８０で受け取ると、ＣＰＵ８０１（プログラム管理情報転送部３０４）は、この端末装置に対応する完了符号６３２に処理済を示す符号をセットし、まだ処理済みでない端末装置に対してプログラム管理情報６００を送信する処理を行う。
【００６５】
次にプログラム管理情報６００を受け取った端末装置が端末装置３００であるとした場合に、本実施形態における端末装置３００が行う処理について以下説明する。本実施形態における端末装置３００が行う処理のフローチャートは基本的には図６に示したフローチャートに従うものであるが、ステップＳ２１０における処理で受信したプログラム管理情報６００の端末装置３００に対するプログラム管理種別が「プログラムの導入である場合」のみが第１の実施形態とは異なる。
【００６６】
ステップＳ２２０では、プログラム管理属性６２０に含まれるプログラム導入元６２３に指定されたＵＲＬを参照して上記サーバ装置のネットワーク上におけるアドレスを特定し、特定したアドレスにおけるサーバ装置からプログラムをダウンロードし、プログラム導入先６２４で指定されるディレクトリに導入する。
【００６７】
以上説明したように、本実施形態におけるプログラム管理システムによれば、プログラム管理装置と、管理対象となる複数の端末装置とがネットワークを介して接続されたプログラム管理システムにおいて、プログラム管理装置において、管理対象となる端末装置を明示的に指定することができる。また、一回の指示で、ネットワーク上の管理対象となる端末装置の１台にプログラムの導入や起動、停止などのプログラムの管理指示を配信し、ネットワーク上の他の管理対象となる各端末装置へもプログラムの管理指示が配信することができる。これにより、各端末装置上でプログラム管理が自動的に実施されるので、オペレータの負荷を軽減できるとともに、ネットワークのトラフィックを増やすこと無く、プログラムの運用管理を効率良く、一括して行うことが可能になる。さらに、プログラム導入元にＵＲＬを指定できるようにしたので、プログラムの保管用にプログラム管理装置とは別のサーバ装置を用いるので、プログラム管理装置が行う処理の負荷を軽減することができる。
【００６８】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６９】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７０】
また上記記憶媒体には、インターネットやＬＡＮなどのネットワークに使用される通信ケーブルなどの通信媒体が含まれる。すなわち、前述した実施形態のプログラムコードがネットワーク上のサーバ装置に保持されている場合には、このサーバ装置から上記ネットワークを介してコンピュータにダウンロードすることで、コンピュータにプログラムを導入することができる。よって、導入されたプログラムはコンピュータ上のＣＰＵやＭＰＵなどの制御回路により実行され、その結果、コンピュータは前述した実施形態に機能が実現されるわけであるから、前述した記憶媒体に上記ネットワークに使用される通信ケーブルなどの通信媒体が含まれることはいうまでもない。
【００７１】
【発明の効果】
以上の説明により、本発明によって、プログラム管理を効率良く正確に行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態におけるプログラム管理システムの機能構成を示すブロック図である。
【図２】プログラム管理情報の構成の一例を示す図である。
【図３Ａ】管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力するためのプログラム管理画面（ＧＵＩ）の表示例を示す図である。
【図３Ｂ】管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力するためのプログラム管理画面（ＧＵＩ）の表示例を示す図である。
【図４】プログラム管理装置１００がプログラム管理情報６００を端末装置３００に対して送信するために行う処理のフローチャートである。
【図５】プログラム管理装置１００がプログラム管理情報６００を端末装置３００に送信した後に図４に示したフローチャートに従った処理とは別に平行して行われる処理のフローチャートである。
【図６】端末装置３００がプログラム管理装置１００からプログラム管理情報６００を受信し、受信したプログラム管理情報６００を参照して行う処理のフローチャートである。
【図７】管理する対象となる端末装置に送信するアプリケーションプログラムとその管理属性を入力するためのプログラム管理画面（ＧＵＩ）の表示例を示す図である。
【図８】プログラム管理装置１００、及び端末装置３００の基本構成を示す図である。
【図１】
2004151888.tif 000003
【図２】
2004151888.tif 000004
【図３Ａ】
2004151888.tif 000005
【図３Ｂ】
2004151888.tif 000006
【図４】
2004151888.tif 000007
【図５】
2004151888.tif 000008
【図６】
2004151888.tif 000009
【図７】
2004151888.tif 000010
【図８】
2004151888.tif 000011