JP2014170596A - 処理装置、及びプログラム - Google Patents
処理装置、及びプログラム Download PDFInfo
- Publication number
- JP2014170596A JP2014170596A JP2014132407A JP2014132407A JP2014170596A JP 2014170596 A JP2014170596 A JP 2014170596A JP 2014132407 A JP2014132407 A JP 2014132407A JP 2014132407 A JP2014132407 A JP 2014132407A JP 2014170596 A JP2014170596 A JP 2014170596A
- Authority
- JP
- Japan
- Prior art keywords
- script
- time
- unit
- program
- execution date
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
【課題】装置を制御する複数の制御プログラムの動作スケジュールを、他の制御プログラムと動作が両立しない制御プログラムを明示した形で提示する。
【解決手段】端末装置20において、操作受付部27がユーザ操作を受け付け、送信部25がスケジュール表の送付指示を送信する。すると、画像処理装置10において、受信部16がスケジュール表の送付指示を受信し、実行日時情報管理部12が実行日時情報記憶部11から実行日時情報を読み出し、スケジュール情報管理部14が実行日時情報に基づいてスケジュール表を生成してスケジュール情報記憶部13に記憶し、スクリプト解析部17がスクリプト間の競合を判定してスケジュール表に付加し、送信部15がスケジュール表を送信する。そして、端末装置20では、受信部26がスケジュール表を受信し、表示部28がスケジュール表を表示する。
【選択図】図2
【解決手段】端末装置20において、操作受付部27がユーザ操作を受け付け、送信部25がスケジュール表の送付指示を送信する。すると、画像処理装置10において、受信部16がスケジュール表の送付指示を受信し、実行日時情報管理部12が実行日時情報記憶部11から実行日時情報を読み出し、スケジュール情報管理部14が実行日時情報に基づいてスケジュール表を生成してスケジュール情報記憶部13に記憶し、スクリプト解析部17がスクリプト間の競合を判定してスケジュール表に付加し、送信部15がスケジュール表を送信する。そして、端末装置20では、受信部26がスケジュール表を受信し、表示部28がスケジュール表を表示する。
【選択図】図2
Description
本発明は、処理装置、及びプログラムに関する。
複数の情報処理リソースの処理状況を互いに連動させて表示する情報処理装置が知られている(例えば、特許文献1参照)。この特許文献1では、リソースを用いて実行するジョブを受け付け、そのジョブに関わるタスクを各リソースに割り付けて実行させ、リソースごとに見積もったタスクの残り処理時間に基づいて、リソースごとにタスクをスケジューリングすると共に、リソースのスケジュールを互いに時間的に対応させて表示している。
本発明の目的は、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することにある。
請求項1に記載の発明は、自装置の電源をオン及びオフにする設定時刻と、自装置で稼働するプログラムの動作時刻とを含む時刻情報を記憶する記憶手段と、前記時刻情報において、自装置の電源がオフである間に前記プログラムの動作時刻がある場合に、当該プログラムが動作しないことを通知する通知手段とを備えたことを特徴とする処理装置である。
請求項2に記載の発明は、自装置で稼働するプログラムの各々とその動作時刻とを関連付けた時刻情報を記憶する記憶手段と、前記時刻情報において、第1のプログラムの動作時刻と、当該第1のプログラムの動作時刻から遡って初めて見つかった、自装置の電源をオフする第2のプログラムの動作時刻との間に、自装置の電源をオンするプログラムの動作時刻がない場合に、当該第1のプログラムが動作しないことを通知する通知手段とを備えたことを特徴とする処理装置である。
請求項3に記載の発明は、前記通知手段は、自装置の電源がオフになる時刻を更に通知することを特徴とする請求項1又は請求項2に記載の処理装置である。
請求項4に記載の発明は、コンピュータに、自装置の電源をオン及びオフにする設定時刻と、自装置で稼働する第1のプログラムの動作時刻とを含む時刻情報を記憶する機能と、前記時刻情報において、自装置の電源がオフである間に前記第1のプログラムの動作時刻がある場合に、当該第1のプログラムが動作しないことを通知する機能とを実現させるためのプログラムである。
請求項5に記載の発明は、コンピュータに、自装置で稼働する複数のプログラムの各々とその動作時刻とを関連付けた時刻情報を記憶する機能と、前記時刻情報において、第1のプログラムの動作時刻と、当該第1のプログラムの動作時刻から遡って初めて見つかった、自装置の電源をオフする第2のプログラムの動作時刻との間に、自装置の電源をオンするプログラムの動作時刻がない場合に、当該第1のプログラムが動作しないことを通知する機能とを実現させるためのプログラムである。
請求項6に記載の発明は、前記通知する機能は、自装置の電源がオフになる時刻を更に通知することを特徴とする請求項4又は請求項5に記載のプログラムである。
請求項2に記載の発明は、自装置で稼働するプログラムの各々とその動作時刻とを関連付けた時刻情報を記憶する記憶手段と、前記時刻情報において、第1のプログラムの動作時刻と、当該第1のプログラムの動作時刻から遡って初めて見つかった、自装置の電源をオフする第2のプログラムの動作時刻との間に、自装置の電源をオンするプログラムの動作時刻がない場合に、当該第1のプログラムが動作しないことを通知する通知手段とを備えたことを特徴とする処理装置である。
請求項3に記載の発明は、前記通知手段は、自装置の電源がオフになる時刻を更に通知することを特徴とする請求項1又は請求項2に記載の処理装置である。
請求項4に記載の発明は、コンピュータに、自装置の電源をオン及びオフにする設定時刻と、自装置で稼働する第1のプログラムの動作時刻とを含む時刻情報を記憶する機能と、前記時刻情報において、自装置の電源がオフである間に前記第1のプログラムの動作時刻がある場合に、当該第1のプログラムが動作しないことを通知する機能とを実現させるためのプログラムである。
請求項5に記載の発明は、コンピュータに、自装置で稼働する複数のプログラムの各々とその動作時刻とを関連付けた時刻情報を記憶する機能と、前記時刻情報において、第1のプログラムの動作時刻と、当該第1のプログラムの動作時刻から遡って初めて見つかった、自装置の電源をオフする第2のプログラムの動作時刻との間に、自装置の電源をオンするプログラムの動作時刻がない場合に、当該第1のプログラムが動作しないことを通知する機能とを実現させるためのプログラムである。
請求項6に記載の発明は、前記通知する機能は、自装置の電源がオフになる時刻を更に通知することを特徴とする請求項4又は請求項5に記載のプログラムである。
請求項1の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
請求項2の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
請求項4の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
請求項5の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
請求項2の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
請求項4の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
請求項5の発明によれば、自装置の電源のオン及びオフとの関係で動作しないプログラムを通知することができる。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、画像処理装置10と、端末装置20とが、ネットワーク80で接続されることにより構成されている。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、画像処理装置10と、端末装置20とが、ネットワーク80で接続されることにより構成されている。
このうち、画像処理装置10は、端末装置20からネットワーク80を介して入力された情報や、直接メディアを挿入したり紙文書をスキャンしたりすることで得られた情報に基づいて、画像処理を行う装置である。例えば、プリンタであり、この観点からは画像形成装置として捉えることができる。また、スキャナであってもよく、この観点からは画像読取装置として捉えることもできる。更に、ファクシミリであってもよく、この観点からは画像送信装置又は画像受信装置として捉えることもできる。
また、端末装置20は、文書の印刷や文書のファクシミリ送信等を画像処理装置10に指示する装置であり、PC(Personal Computer)が例示される。尚、端末装置20は、ウェブブラウザを有することもでき、その場合は、画像処理装置10の各種設定をウェブブラウザから行うことができる。
更に、ネットワーク80は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。
更に、ネットワーク80は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。
ところで、近年、画像処理装置10を利用するためのスクリプトを端末装置20のような外部で作成し、画像処理装置10にインストールできるようになっている。このように外部で作成するスクリプトは、一般的なスクリプト言語で記述され、画像処理装置10の機能を使うためのインターフェイスを簡単な言語で記述することによりその機能を利用できるようにするものである。
また、スクリプトは、決められた日時に自動的に実行することも可能である。この場合、画像処理装置10の限られたリソースを複数のスクリプトが使用しようとする状態(以下、「リソース競合」という)が生じることがある。また、例えば、スクリプト作成者Xが画像処理装置10で1時30分に動作することを期待するスクリプトを作成し登録したが、スクリプト作成者Yが画像処理装置10を0時にシャットダウンして6時に自動起動するスクリプトを作成し登録するかもしれない。このようなスクリプトが作成され登録されると、スクリプト作成者Xが登録したスクリプトが実行日時の関係で動作しないという状態(以下、「日時競合」という)が生じてしまう。
一方で、スクリプトは一般的なスクリプト言語を用いて作成されるため、ユーザが記述したコードは、その記述の仕方によってリソース競合を回避できる場合もある。
一方で、スクリプトは一般的なスクリプト言語を用いて作成されるため、ユーザが記述したコードは、その記述の仕方によってリソース競合を回避できる場合もある。
そこで、本実施の形態では、画像処理装置10にインストールされたスクリプトとその実行日時から自動的にスケジュール表を作成してユーザに提示する。
また、端末装置20から画像処理装置10にスクリプトをインストールするときにリソース競合が発生するか否かを検査する。
更に、リソース競合によって動作しないスクリプトを検出し、ユーザに通知する。
更にまた、コードの記述の仕方によってリソース競合を回避できる場合には、スクリプトのインストール時に、ユーザに対し、予め用意したコードのテンプレートを用いたコード変換を促す。
また、端末装置20から画像処理装置10にスクリプトをインストールするときにリソース競合が発生するか否かを検査する。
更に、リソース競合によって動作しないスクリプトを検出し、ユーザに通知する。
更にまた、コードの記述の仕方によってリソース競合を回避できる場合には、スクリプトのインストール時に、ユーザに対し、予め用意したコードのテンプレートを用いたコード変換を促す。
次に、本実施の形態における画像処理装置10及び端末装置20の機能構成について詳細に説明する。
図2は、画像処理装置10及び端末装置20の機能構成例を示したブロック図である。
まず、画像処理装置10の機能構成について説明する。尚、本実施の形態において、画像処理装置10は、プログラム実行装置の一例である。
図示するように、本実施の形態における画像処理装置10は、実行日時情報記憶部11と、実行日時情報管理部12と、スケジュール情報記憶部13と、スケジュール情報管理部14と、送信部15と、受信部16と、スクリプト解析部17と、スクリプト記憶部18と、スクリプト管理部19とを備える。このうち、スクリプト解析部17は、使用リソース情報記憶部17aと、競合判定部17bと、コード変換情報記憶部17cと、変換コード抽出部17dとを備える。また、画像処理装置10は、スクリプト実行部31と、電源管理部32と、画像処理部33とを備える。尚、これらのうち、実行日時情報記憶部11、スケジュール情報記憶部13、使用リソース情報記憶部17a、コード変換情報記憶部17c、スクリプト記憶部18は、例えばHDDにより実現される。また、実行日時情報管理部12、スケジュール情報管理部14、送信部15、受信部16、競合判定部17b、変換コード抽出部17d、スクリプト管理部19、スクリプト実行部31の各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
図2は、画像処理装置10及び端末装置20の機能構成例を示したブロック図である。
まず、画像処理装置10の機能構成について説明する。尚、本実施の形態において、画像処理装置10は、プログラム実行装置の一例である。
図示するように、本実施の形態における画像処理装置10は、実行日時情報記憶部11と、実行日時情報管理部12と、スケジュール情報記憶部13と、スケジュール情報管理部14と、送信部15と、受信部16と、スクリプト解析部17と、スクリプト記憶部18と、スクリプト管理部19とを備える。このうち、スクリプト解析部17は、使用リソース情報記憶部17aと、競合判定部17bと、コード変換情報記憶部17cと、変換コード抽出部17dとを備える。また、画像処理装置10は、スクリプト実行部31と、電源管理部32と、画像処理部33とを備える。尚、これらのうち、実行日時情報記憶部11、スケジュール情報記憶部13、使用リソース情報記憶部17a、コード変換情報記憶部17c、スクリプト記憶部18は、例えばHDDにより実現される。また、実行日時情報管理部12、スケジュール情報管理部14、送信部15、受信部16、競合判定部17b、変換コード抽出部17d、スクリプト管理部19、スクリプト実行部31の各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
実行日時情報記憶部11は、スクリプトの識別情報とスクリプトの実行日時との対応情報である実行日時情報を記憶する。スクリプトの識別情報は、スクリプトを一意に識別する情報であれば、如何なる情報であってもよいが、以下では、スクリプト名を用いるものとする。本実施の形態では、制御プログラムの一例として、スクリプトを用い、動作時刻情報の一例として、実行日時情報を用いている。また、動作時刻情報を記憶する記憶手段の一例として、実行日時情報記憶部11を設けている。
実行日時情報管理部12は、実行日時情報記憶部11への実行日時情報の新規登録、実行日時情報記憶部11に記憶された実行日時情報の更新や読出し等を行う。本実施の形態では、動作時刻情報を取得する取得手段の一例として、実行日時情報管理部12を設けている。
実行日時情報管理部12は、実行日時情報記憶部11への実行日時情報の新規登録、実行日時情報記憶部11に記憶された実行日時情報の更新や読出し等を行う。本実施の形態では、動作時刻情報を取得する取得手段の一例として、実行日時情報管理部12を設けている。
スケジュール情報記憶部13は、全てのスクリプトの自動実行のスケジュール表を記憶する。
スケジュール情報管理部14は、スケジュール表の生成、生成したスケジュール表のスケジュール情報記憶部13への新規登録、スケジュール情報記憶部13に記憶されたスケジュール表の更新や読出し等を行う。本実施の形態では、スケジュール情報の一例として、スケジュール表を用いており、スケジュール情報を生成する生成手段の一例として、スケジュール情報管理部14を設けている。
スケジュール情報管理部14は、スケジュール表の生成、生成したスケジュール表のスケジュール情報記憶部13への新規登録、スケジュール情報記憶部13に記憶されたスケジュール表の更新や読出し等を行う。本実施の形態では、スケジュール情報の一例として、スケジュール表を用いており、スケジュール情報を生成する生成手段の一例として、スケジュール情報管理部14を設けている。
送信部15は、スケジュール情報記憶部13に記憶されたスケジュール表、スクリプト解析部17によるスクリプト解析結果を端末装置20に送信する。ここで、スケジュール表は、競合判定部17bにおける競合判定で判明した他のスクリプトと競合するスクリプトを明示するマークが付加された形で送信する。本実施の形態では、動作が両立しない制御プログラムの組み合わせに含まれる少なくとも1つの制御プログラムを明示する標識の一例として、マークを用いており、スケジュール情報と標識をスケジュール情報に付加するための付加情報とを出力する出力手段の一例として、また、スケジュール情報と標識をスケジュール情報に付加するための付加情報とを送信する送信手段の一例として、送信部15を設けている。
受信部16は、アップロードの開始メッセージ(スケジュール表の送付指示)、スクリプト解析指示、スクリプトインストール指示を端末装置20から受信する。
受信部16は、アップロードの開始メッセージ(スケジュール表の送付指示)、スクリプト解析指示、スクリプトインストール指示を端末装置20から受信する。
スクリプト解析部17は、CPUがROMに記憶されたプログラムのうち特にスクリプト解析エンジンと呼ばれるプログラムをRAMに読み込んで実行することにより、仮想的に実現される機能である。ここで、スクリプト解析エンジンは、スクリプトを解析する処理をコンピュータに実行させるプログラムであるが、以下に述べる使用リソース情報やコード変換情報を例えばHDDに展開する処理もコンピュータに実行させる。
使用リソース情報記憶部17aは、スクリプトに記述されるインターフェイスとそのインターフェイスで使用される画像処理装置10のリソース(資源)との対応情報である使用リソース情報を記憶する。
競合判定部17bは、スクリプトの実行日時に基づく競合である日時競合や、スクリプトが利用するリソースに基づく競合であるリソース競合の発生を検知する。ここで、日時競合やリソース競合の発生の検知は、既にインストールされており自動実行がスケジュールされているスクリプトについて行われる場合と、インストールしようとしているスクリプトについてインストール前に行われる場合とがある。本実施の形態では、動作が両立しない制御プログラムの組み合わせを決定する決定手段の一例として、また、自装置に新たに組み込むものとして指定された制御プログラムの動作が制限されるかどうかを判定する判定手段の一例として、競合判定部17bを設けている。
コード変換情報記憶部17cは、ユーザが作成したコードとそのコードを変換するために予め用意したコードのテンプレート(変換コード)との対応情報であるコード変換情報を記憶する。
変換コード抽出部17dは、スクリプトの解析時に、リソース競合を回避するための変換コードをコード変換情報記憶部17cから抽出する。
使用リソース情報記憶部17aは、スクリプトに記述されるインターフェイスとそのインターフェイスで使用される画像処理装置10のリソース(資源)との対応情報である使用リソース情報を記憶する。
競合判定部17bは、スクリプトの実行日時に基づく競合である日時競合や、スクリプトが利用するリソースに基づく競合であるリソース競合の発生を検知する。ここで、日時競合やリソース競合の発生の検知は、既にインストールされており自動実行がスケジュールされているスクリプトについて行われる場合と、インストールしようとしているスクリプトについてインストール前に行われる場合とがある。本実施の形態では、動作が両立しない制御プログラムの組み合わせを決定する決定手段の一例として、また、自装置に新たに組み込むものとして指定された制御プログラムの動作が制限されるかどうかを判定する判定手段の一例として、競合判定部17bを設けている。
コード変換情報記憶部17cは、ユーザが作成したコードとそのコードを変換するために予め用意したコードのテンプレート(変換コード)との対応情報であるコード変換情報を記憶する。
変換コード抽出部17dは、スクリプトの解析時に、リソース競合を回避するための変換コードをコード変換情報記憶部17cから抽出する。
スクリプト記憶部18は、ユーザが作成しインストールされたスクリプトを記憶する。
スクリプト管理部19は、スクリプト記憶部18へのスクリプトの新規登録、スクリプト記憶部18に記憶されたスクリプトの読出し等を行う。
スクリプト管理部19は、スクリプト記憶部18へのスクリプトの新規登録、スクリプト記憶部18に記憶されたスクリプトの読出し等を行う。
スクリプト実行部31は、スクリプト記憶部18に記憶されたスクリプトを、実行日時情報記憶部11に記憶された実行日時情報に基づいて、指定した日時に動作させる。
電源管理部32は、スクリプト実行部31により自動実行されるスクリプトによる制御の対象であり、電源のオン/オフ(投入及び遮断)や、節電モードへの移行等を管理する。
画像処理部33は、電源管理部32と同様、スクリプト実行部31により自動実行されるスクリプトによる制御の対象であり、外部から入力された画像データに基づいて画像処理を行う。ここで、画像処理としては、スキャナによる画像読取り、例えば電子写真方式を用いた画像形成、ファクシミリ機構による画像送信や画像受信が考えられる。
電源管理部32は、スクリプト実行部31により自動実行されるスクリプトによる制御の対象であり、電源のオン/オフ(投入及び遮断)や、節電モードへの移行等を管理する。
画像処理部33は、電源管理部32と同様、スクリプト実行部31により自動実行されるスクリプトによる制御の対象であり、外部から入力された画像データに基づいて画像処理を行う。ここで、画像処理としては、スキャナによる画像読取り、例えば電子写真方式を用いた画像形成、ファクシミリ機構による画像送信や画像受信が考えられる。
次に、端末装置20の機能構成について説明する。
図示するように、本実施の形態における端末装置20は、送信部25と、受信部26と、操作受付部27と、表示部28とを備える。尚、これらの各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
図示するように、本実施の形態における端末装置20は、送信部25と、受信部26と、操作受付部27と、表示部28とを備える。尚、これらの各機能は、CPUがROMに記憶されたプログラムをRAMに読み込んで実行することにより、実現される。
送信部25は、アップロードの開始メッセージ(スケジュール表の送付指示)、スクリプト解析指示、スクリプトインストール指示を画像処理装置10に送信する。
受信部26は、スケジュール表やスクリプト解析結果を画像処理装置10から受信する。ここで、スケジュール表は、他のスクリプトと競合するスクリプトを明示するマークが付加された形で受信する。
操作受付部27は、アップロード開始、スクリプト解析、スクリプトの実行日時やコードの変更、アップロード実行に関するユーザ操作を受け付ける。
表示部28は、受信部26が受信したスケジュール表やスクリプト解析結果をディスプレイに表示する。
受信部26は、スケジュール表やスクリプト解析結果を画像処理装置10から受信する。ここで、スケジュール表は、他のスクリプトと競合するスクリプトを明示するマークが付加された形で受信する。
操作受付部27は、アップロード開始、スクリプト解析、スクリプトの実行日時やコードの変更、アップロード実行に関するユーザ操作を受け付ける。
表示部28は、受信部26が受信したスケジュール表やスクリプト解析結果をディスプレイに表示する。
次に、実行日時情報記憶部11に記憶された実行日時情報、使用リソース情報記憶部17aに記憶された使用リソース情報、コード変換情報記憶部17cに記憶されたコード変換情報について具体的に説明する。
図3は、実行日時情報の具体例を示した図である。
図示するように、実行日時情報は、スクリプト名と、開始日時と、終了日時と、繰り返しとを対応付けたものになっている。
スクリプト名は、前述の通り、スクリプトを一意に識別する識別情報の一例である。
開始日時は、スクリプトの動作を開始する日時であり、終了日時は、スクリプトの動作を終了する日時である。例えば、「節電」のように節電モードを継続的に維持するといったスクリプトもあるので、開始日時及び終了日時を設けている。これに対し、電源オン、電源オフ、画像処理に関する各種動作は、ある瞬間に開始することのみが指定される動作である。従って、このような動作を行うスクリプトについては、例えば、開始日時のみに日時を設定したり、開始日時及び終了日時に同じ日時を設定したりすればよい。
また、繰り返しには、スクリプトが毎日動作するのか、毎週動作するのか等が設定される。
尚、実行日時情報には、各スクリプトの使用リソースの情報を含めてもよい。後述する動作では、競合判定部17bがリソース競合の判定を行う際に各スクリプトの使用リソースの情報を取得するが、これを事前に取得し、実行日時情報に含めて記憶してもよい。
図3は、実行日時情報の具体例を示した図である。
図示するように、実行日時情報は、スクリプト名と、開始日時と、終了日時と、繰り返しとを対応付けたものになっている。
スクリプト名は、前述の通り、スクリプトを一意に識別する識別情報の一例である。
開始日時は、スクリプトの動作を開始する日時であり、終了日時は、スクリプトの動作を終了する日時である。例えば、「節電」のように節電モードを継続的に維持するといったスクリプトもあるので、開始日時及び終了日時を設けている。これに対し、電源オン、電源オフ、画像処理に関する各種動作は、ある瞬間に開始することのみが指定される動作である。従って、このような動作を行うスクリプトについては、例えば、開始日時のみに日時を設定したり、開始日時及び終了日時に同じ日時を設定したりすればよい。
また、繰り返しには、スクリプトが毎日動作するのか、毎週動作するのか等が設定される。
尚、実行日時情報には、各スクリプトの使用リソースの情報を含めてもよい。後述する動作では、競合判定部17bがリソース競合の判定を行う際に各スクリプトの使用リソースの情報を取得するが、これを事前に取得し、実行日時情報に含めて記憶してもよい。
図4は、使用リソース情報の具体例を示した図である。
図示するように、使用リソース情報は、インターフェイス(図では「I/F」と表記)と、使用リソースとを対応付けたものになっている。
インターフェイスは、前述の通り、画像処理装置10の機能を使うための関数である。
使用リソースは、インターフェイスが呼び出されたときに使用される画像処理装置10のリソースである。
図には、一例として、インターフェイス「copy」は、画像読取部及び画像形成部をリソースとして使用し、インターフェイス「scan」は、画像読取部をリソースとして使用することを示している。
図示するように、使用リソース情報は、インターフェイス(図では「I/F」と表記)と、使用リソースとを対応付けたものになっている。
インターフェイスは、前述の通り、画像処理装置10の機能を使うための関数である。
使用リソースは、インターフェイスが呼び出されたときに使用される画像処理装置10のリソースである。
図には、一例として、インターフェイス「copy」は、画像読取部及び画像形成部をリソースとして使用し、インターフェイス「scan」は、画像読取部をリソースとして使用することを示している。
図5は、コード変換情報の具体例を示した図である。
図示するように、コード変換情報は、ユーザ作成コードと、変換コードとを対応付けたものになっている。
ユーザ作成コードは、ユーザが最初に作成したスクリプトにおいて記述したコードである。
変換コードは、ユーザ作成コードに基づくリソース競合を回避するために予め用意されたコードのテンプレートである。
図には、一例として、スキャナでスキャンするという動作を意味するコードを2つの変換コードの何れかで置き換えることでリソース競合を回避できることを示している。尚、2つの変換コードのうち、1行目の変換コードは、スキャナが使用中であった場合にスキャナが空くまで無制限に待つという動作を意味するコードであり、2行目の変換コードは、スキャナが使用中であった場合にスキャナが空くまで10分を限度として待つという動作を意味するコードである。
図示するように、コード変換情報は、ユーザ作成コードと、変換コードとを対応付けたものになっている。
ユーザ作成コードは、ユーザが最初に作成したスクリプトにおいて記述したコードである。
変換コードは、ユーザ作成コードに基づくリソース競合を回避するために予め用意されたコードのテンプレートである。
図には、一例として、スキャナでスキャンするという動作を意味するコードを2つの変換コードの何れかで置き換えることでリソース競合を回避できることを示している。尚、2つの変換コードのうち、1行目の変換コードは、スキャナが使用中であった場合にスキャナが空くまで無制限に待つという動作を意味するコードであり、2行目の変換コードは、スキャナが使用中であった場合にスキャナが空くまで10分を限度として待つという動作を意味するコードである。
次いで、本実施の形態における画像処理装置10及び端末装置20の動作について詳細に説明する。
まず、端末装置20が画像処理装置10にスクリプトをアップロードするときの画像処理装置10と端末装置20の情報交換の流れについて説明する。
図6は、このときの情報交換の流れを示したシーケンス図である。
端末装置20では、まず、ユーザが作成したスクリプトを画像処理装置10にアップロードする手続きを開始する操作を行う。すると、操作受付部27が、その操作を受け付け、送信部25に伝える(ステップ201)。そして、送信部25が、アップロードの開始メッセージを画像処理装置10に送信する(ステップ202)。
まず、端末装置20が画像処理装置10にスクリプトをアップロードするときの画像処理装置10と端末装置20の情報交換の流れについて説明する。
図6は、このときの情報交換の流れを示したシーケンス図である。
端末装置20では、まず、ユーザが作成したスクリプトを画像処理装置10にアップロードする手続きを開始する操作を行う。すると、操作受付部27が、その操作を受け付け、送信部25に伝える(ステップ201)。そして、送信部25が、アップロードの開始メッセージを画像処理装置10に送信する(ステップ202)。
これにより、画像処理装置10では、受信部16が、アップロードの開始メッセージを受信し、実行日時情報管理部12に伝える(ステップ101)。すると、実行日時情報管理部12は、実行日時情報記憶部11に記憶された既にインストールされているスクリプトに関する実行日時情報を読み出し、競合判定部17b及びスケジュール情報管理部14に渡す(ステップ102)。
そして、競合判定部17bは、実行日時情報管理部12から渡された実行日時情報に基づいて、既にインストールされているスクリプトについて、スクリプト間で競合が発生していないかどうかを判定する競合判定処理を行う(ステップ103)。尚、競合判定処理の詳細は後述する。
また、スケジュール情報管理部14は、実行日時情報管理部12から渡された実行日時情報に基づいてスケジュール表を生成し、競合判定部17bによる競合判定処理の結果を反映させてスケジュール情報記憶部13に記憶する(ステップ104)。その後、このスケジュール表は送信部15に送信され、送信部15が、スケジュール表を端末装置20に送信する(ステップ105)。
そして、競合判定部17bは、実行日時情報管理部12から渡された実行日時情報に基づいて、既にインストールされているスクリプトについて、スクリプト間で競合が発生していないかどうかを判定する競合判定処理を行う(ステップ103)。尚、競合判定処理の詳細は後述する。
また、スケジュール情報管理部14は、実行日時情報管理部12から渡された実行日時情報に基づいてスケジュール表を生成し、競合判定部17bによる競合判定処理の結果を反映させてスケジュール情報記憶部13に記憶する(ステップ104)。その後、このスケジュール表は送信部15に送信され、送信部15が、スケジュール表を端末装置20に送信する(ステップ105)。
これにより、端末装置20では、受信部26が、競合判定処理の結果が反映されたスケジュール表を受信する(ステップ203)。そして、表示部28が、スケジュール表をディスプレイに表示する(ステップ204)。
その後、ユーザは、スケジュール表を見ながら自分が作成したスクリプトをアップロードして競合が発生しないかどうか検討する。但し、スケジュール表にスクリプト名とその実行日時しか表示しないような場合には、実際にスクリプトをアップロードしてリソース競合が発生しないかどうかが一見して分からないこともある。また、スケジュール表を入手した時点における画像処理装置10のインストール状況を考えれば競合が発生しないような場合でも、その後のインストール状況の変化により、実際にスクリプトをアップロードすると競合が発生することも考えられる。
そこで、本実施の形態では、ユーザがアップロードしようとするスクリプトとその時点で画像処理装置10にインストールされているスクリプトとの間に競合が発生しないかのスクリプト解析を、アップロード前に画像処理装置10が行うようにしている。
そこで、本実施の形態では、ユーザがアップロードしようとするスクリプトとその時点で画像処理装置10にインストールされているスクリプトとの間に競合が発生しないかのスクリプト解析を、アップロード前に画像処理装置10が行うようにしている。
このようなスクリプト解析を依頼する場合、ユーザは、例えば、端末装置20に表示された画面上でスクリプト解析を選択する操作を行う。すると、操作受付部27が、その操作を受け付け、スクリプト及びその実行日時を送信部25に受け渡す(ステップ205)。そして、送信部25が、スクリプト及びその実行日時を伴うスクリプト解析指示を画像処理装置10に送信する(ステップ206)。
これにより、画像処理装置10では、受信部16が、スクリプト解析指示を受信し、スクリプト及びその実行日時を実行日時情報管理部12に受け渡す(ステップ106)。すると、実行日時情報管理部12は、実行日時情報記憶部11から実行日時情報を読み出して、ステップ106で受け取ったスクリプト及び実行日時情報と共に競合判定部17bに渡し、競合判定部17bは、実行日時情報管理部12から渡された実行日時情報等に基づいて、これからインストールされるスクリプトと、既にインストールされているスクリプトの間で競合が発生していないかどうかを判定する競合判定処理を行う(ステップ107)。尚、競合判定処理の詳細は後述する。
その後、変換コード抽出部17dが、リソース競合を回避してスクリプトが動作するよう、ユーザ作成コードを変換するために予め用意した変換コードを抽出する変換コード抽出処理を行い、競合判定の結果及び変換コードをスクリプト解析結果として送信部15に受け渡す(ステップ108)。尚、変換コード抽出処理の詳細も後述する。そして、送信部15は、スクリプト解析結果を端末装置20に送信する(ステップ109)。
その後、変換コード抽出部17dが、リソース競合を回避してスクリプトが動作するよう、ユーザ作成コードを変換するために予め用意した変換コードを抽出する変換コード抽出処理を行い、競合判定の結果及び変換コードをスクリプト解析結果として送信部15に受け渡す(ステップ108)。尚、変換コード抽出処理の詳細も後述する。そして、送信部15は、スクリプト解析結果を端末装置20に送信する(ステップ109)。
これにより、端末装置20では、受信部26が、スクリプト解析結果を受信し、表示部28に受け渡す(ステップ207)。そして、表示部28が、スクリプト解析結果をディスプレイに表示して、スクリプト作成者に通知する(ステップ208)。
ユーザは、ここで表示されたスクリプト解析結果を見て、スクリプトの実行日時を変更する操作、又は、変換コードを用いてスクリプトのコードを変更する操作を行う。すると、操作受付部27が、その操作を受け付ける(ステップ209)。そして、変更後のスクリプト及びその実行日時をアップロードする場合、ユーザは、例えば、端末装置20に表示された画面上でアップロードを選択する操作を行う。すると、操作受付部27が、その操作を受け付け、変更後のスクリプト及びその実行日時を送信部25に受け渡す(ステップ210)。そして、送信部25は、変更後のスクリプト及びその実行日時を伴うスクリプトインストール指示を画像処理装置10に送信する(ステップ211)。
これにより、画像処理装置10では、受信部16が、スクリプトインストール指示を受信し、スクリプトをスクリプト管理部19に、スクリプト名と実行日時との対応を実行日時情報管理部12に受け渡す(ステップ110)。そして、スクリプトを受け渡されたスクリプト管理部19は、スクリプト記憶部18にスクリプトを記憶する(ステップ111)。また、スクリプト名と実行日時との対応を受け渡された実行日時情報管理部12は、スクリプト名と実行日時との対応を実行日時情報として実行日時情報記憶部11に記憶する(ステップ112)。
ここで、この動作において端末装置20に表示される画面例について説明する。
図7は、図6のステップ204で表示される画面の第1の例である。
この画面には、スクリプトA〜Dが、YYYY年MM月DD日の何時に如何なる動作を行うかを示したスケジュール表が表示されている。そして、このスケジュール表では、画像処理装置10に対し、スクリプトCが2時に電源オフし、スクリプトDが6時半に電源オンすることが設定されているにも関わらず、スクリプトBが3時にファクシミリ送信を行うことが設定されている。この場合、競合判定処理を行うことにより、このファクシミリ送信は動作しないことが分かるため、そのことを示すマーク41が表示されている。
図7は、図6のステップ204で表示される画面の第1の例である。
この画面には、スクリプトA〜Dが、YYYY年MM月DD日の何時に如何なる動作を行うかを示したスケジュール表が表示されている。そして、このスケジュール表では、画像処理装置10に対し、スクリプトCが2時に電源オフし、スクリプトDが6時半に電源オンすることが設定されているにも関わらず、スクリプトBが3時にファクシミリ送信を行うことが設定されている。この場合、競合判定処理を行うことにより、このファクシミリ送信は動作しないことが分かるため、そのことを示すマーク41が表示されている。
図8は、図6のステップ204で表示される画面の第2の例である。
この画面には、複数のスクリプトが、YYYY年MM月の何日の何時に如何なる動作を行うかを示したスケジュール表が表示されている。そして、このスケジュール表では、画像処理装置10が、YYYY年MM月5日の23時に電源オフし、YYYY年MM月7日の6時に電源オンすることが設定されているにも関わらず、YYYY年MM月6日の7時にファクシミリ送信を行うことが設定されている。この場合、競合判定処理を行うことにより、このファクシミリ送信は動作しないことが分かるため、そのことを示すマーク42が表示されている。
この画面には、複数のスクリプトが、YYYY年MM月の何日の何時に如何なる動作を行うかを示したスケジュール表が表示されている。そして、このスケジュール表では、画像処理装置10が、YYYY年MM月5日の23時に電源オフし、YYYY年MM月7日の6時に電源オンすることが設定されているにも関わらず、YYYY年MM月6日の7時にファクシミリ送信を行うことが設定されている。この場合、競合判定処理を行うことにより、このファクシミリ送信は動作しないことが分かるため、そのことを示すマーク42が表示されている。
尚、図7及び図8では、日時競合が発生した場合にマークを表示することのみを示したが、リソース競合が発生した場合にマークを表示するようにしてもよい。その場合、具体的にどのリソースで競合が発生しているかを、マーク41、42の中にリソースを表す絵を表示することで表現するようにするとよい。
図9は、図6のステップ205又はステップ210で選択操作を行う際に表示される画面の例である。
この画面では、スクリプト名入力欄51に「節電」と入力されており、節電モードへの移行を行うスクリプトをアップロードしようとしていることが分かる。
また、この画面において、開始日時設定欄52及び終了日時設定欄53には、YYYY年MM月DD日HH時MM分と設定されている。但し、この画面が、例えば、図8のYYYY年MM月7日の欄の「新規」というリンク文字列43をクリックしたときに表示される画面であるとすると、開始日時設定欄52にはYYYY年MM月7日H1時M1分と設定され、終了日時設定欄53にはYYYY年MM月7日H2時M2分と設定されることになる。即ち、YYYY年MM月7日のH1時M1分からH2時M2分まで節電モードを維持する動作を行うことが設定される。
更に、繰り返し設定欄54には、「毎日」と設定されている。これは、開始日時設定欄52及び終了日時設定欄53に対する設定にかかわらず、毎日H1時M1分からH2時M2分まで節電モードを維持する動作を行うことを意味する。
この画面では、スクリプト名入力欄51に「節電」と入力されており、節電モードへの移行を行うスクリプトをアップロードしようとしていることが分かる。
また、この画面において、開始日時設定欄52及び終了日時設定欄53には、YYYY年MM月DD日HH時MM分と設定されている。但し、この画面が、例えば、図8のYYYY年MM月7日の欄の「新規」というリンク文字列43をクリックしたときに表示される画面であるとすると、開始日時設定欄52にはYYYY年MM月7日H1時M1分と設定され、終了日時設定欄53にはYYYY年MM月7日H2時M2分と設定されることになる。即ち、YYYY年MM月7日のH1時M1分からH2時M2分まで節電モードを維持する動作を行うことが設定される。
更に、繰り返し設定欄54には、「毎日」と設定されている。これは、開始日時設定欄52及び終了日時設定欄53に対する設定にかかわらず、毎日H1時M1分からH2時M2分まで節電モードを維持する動作を行うことを意味する。
また、この画面の右上のスクリプト設定欄55には、スクリプトの所在が設定される。
更に、ボタン56はスクリプトの内容を参照するためのボタン、ボタン57はステップ205でスクリプト解析を指示するためのボタン、ボタン58はステップ210でスクリプトのアップロードを指示するためのボタンである。
更に、ボタン56はスクリプトの内容を参照するためのボタン、ボタン57はステップ205でスクリプト解析を指示するためのボタン、ボタン58はステップ210でスクリプトのアップロードを指示するためのボタンである。
次に、図6のステップ103、ステップ107、ステップ108の動作をより詳細に説明する。
図10は、図6のステップ103又はステップ107における競合判定処理の流れを詳細に示したフローチャートである。尚、一般には、1つのスクリプトに複数のインターフェイスが記述されることがあるが、ここでは簡単のために1つのスクリプトには1つのインターフェイスのみが記述されることとする。また、「節電」のように動作が一定期間継続するような場合は、開始日時及び終了日時に異なる日時が設定されるが、ここでは簡単のために一定時間継続するような動作は考えないものとする。つまり、例えば、ある瞬間に開始される動作のみを考え、その動作が開始される日時を「実行日時」と呼ぶことにする。
図10は、図6のステップ103又はステップ107における競合判定処理の流れを詳細に示したフローチャートである。尚、一般には、1つのスクリプトに複数のインターフェイスが記述されることがあるが、ここでは簡単のために1つのスクリプトには1つのインターフェイスのみが記述されることとする。また、「節電」のように動作が一定期間継続するような場合は、開始日時及び終了日時に異なる日時が設定されるが、ここでは簡単のために一定時間継続するような動作は考えないものとする。つまり、例えば、ある瞬間に開始される動作のみを考え、その動作が開始される日時を「実行日時」と呼ぶことにする。
まず、競合判定部17bは、競合が発生することにより動作しなくなるかどうかを判定する対象のスクリプト(以下、「判定対象スクリプト」という)及びその実行日時を取得する(ステップ121)。図6のステップ103の場合であれば、既にインストールされた複数のスクリプトの中から何らかの基準で選択された1つのスクリプトが判定対象スクリプトとなる。具体的には、スクリプト記憶部18に記憶されたスクリプトをスクリプト管理部19を介して取得し、実行日時情報記憶部11に記憶されたそのスクリプトの実行日時を実行日時情報管理部12を介して取得する。そして、幾つかの判定対象スクリプトについて、これから述べる動作を繰り返し行えばよい。また、図6のステップ107の場合であれば、新たにインストールされるスクリプトが判定対象スクリプトとなる。具体的には、受信部16が受信したスクリプト及びその実行日時を実行日時情報管理部12を介して取得する。
次に、競合判定部17bは、判定対象スクリプトとの間で競合が発生するかという点で比較する対象のスクリプト(以下、「比較対象スクリプト」という)を読み出して、以下に述べる競合判定を行う。
ここで、先に述べた通り、競合には、日時競合とリソース競合とがある。従って、競合判定もこれらの2つの種類の競合について行う。
ここで、先に述べた通り、競合には、日時競合とリソース競合とがある。従って、競合判定もこれらの2つの種類の競合について行う。
第一に、競合判定部17bは、日時競合の判定を行う。尚、ここでは、電源をオフするスクリプトの実行日時から電源をオンするスクリプトの実行日時までの間に画像処理を行うスクリプトの実行日時がある状態のみを、日時競合として考えるものとする。
この場合、競合判定部17bは、まず、判定対象スクリプトの実行日時よりも1つ前の実行日時が指定された比較対象スクリプトを読み出す(ステップ122)。具体的には、実行日時情報記憶部11に記憶された実行日時情報を参照して、判定対象スクリプトの実行日時よりも早くかつ最も近い実行日時が対応付けられたスクリプトを特定し、スクリプト記憶部18に記憶されたスクリプトの中からこのスクリプトを読み出す。
次いで、競合判定部17bは、比較対象スクリプトの内容を解析し、電源をオフする動作を表すインターフェイスが記述されているかどうかを判定する(ステップ123)。その結果、電源をオフする動作を表すインターフェイスが記述されていなければ、更に1つ前の実行日時が指定された比較対象スクリプトが他にあるかどうかを判定する(ステップ124)。そして、そのような比較対象スクリプトがあれば、その比較対象スクリプトについて、ステップ122〜123を繰り返す。また、そのような比較対象スクリプトがなければ、リソース競合の判定処理に移る。
この場合、競合判定部17bは、まず、判定対象スクリプトの実行日時よりも1つ前の実行日時が指定された比較対象スクリプトを読み出す(ステップ122)。具体的には、実行日時情報記憶部11に記憶された実行日時情報を参照して、判定対象スクリプトの実行日時よりも早くかつ最も近い実行日時が対応付けられたスクリプトを特定し、スクリプト記憶部18に記憶されたスクリプトの中からこのスクリプトを読み出す。
次いで、競合判定部17bは、比較対象スクリプトの内容を解析し、電源をオフする動作を表すインターフェイスが記述されているかどうかを判定する(ステップ123)。その結果、電源をオフする動作を表すインターフェイスが記述されていなければ、更に1つ前の実行日時が指定された比較対象スクリプトが他にあるかどうかを判定する(ステップ124)。そして、そのような比較対象スクリプトがあれば、その比較対象スクリプトについて、ステップ122〜123を繰り返す。また、そのような比較対象スクリプトがなければ、リソース競合の判定処理に移る。
一方、ステップ123で電源をオフする動作を表すインターフェイスが記述されていると判定されれば、競合判定部17bは、その比較対象スクリプトの実行日時の次の実行日時が指定された比較対象スクリプトを読み出す(ステップ125)。具体的には、実行日時情報記憶部11に記憶された実行日時情報を参照して、電源をオフする動作を表すインターフェイスが記述された比較対象スクリプトの実行日時よりも遅くかつ最も近い実行日時が対応付けられたスクリプトを特定し、スクリプト記憶部18に記憶されたスクリプトの中からこのスクリプトを読み出す。
その後、競合判定部17bは、読み出した比較対象スクリプトの実行日時が判定対象スクリプトの実行日時よりも後であるかどうかを判定する(ステップ126)。そして、後でなければ、比較対象スクリプトの内容を解析し、電源をオンする動作を表すインターフェイスが記述されているかどうかを判定する(ステップ127)。その結果、電源をオンする動作を表すインターフェイスが記述されていなければ、更に1つ後の実行日時が指定された比較対象スクリプトについて、ステップ125〜127を繰り返す。一方、電源をオンする動作を表すインターフェイスが記述されていれば、リソース競合の判定処理に移る。
また、ステップ126で比較対象スクリプトの実行日時が判定対象スクリプトの実行日時よりも後であると判定されれば、競合判定結果に電源がオフされる日時をセットし(ステップ128)、処理を終了する。
また、ステップ126で比較対象スクリプトの実行日時が判定対象スクリプトの実行日時よりも後であると判定されれば、競合判定結果に電源がオフされる日時をセットし(ステップ128)、処理を終了する。
即ち、この日時競合の判定処理では、判定対象スクリプトの実行日時から遡って、電源をオフするスクリプトを探し、そのようなスクリプトが見つからなければ、判定対象スクリプトの実行日時において電源はオンになっているので、日時競合は発生しないと判定する。
また、電源をオフするスクリプトが見つかれば、今度は逆にそのスクリプトの実行日時から判定対象スクリプトの実行日時までの間で電源をオンするスクリプトを探す。そして、電源をオンするスクリプトが見つかれば、一旦電源がオフされた後にオンされて判定対象スクリプトが動作することになるので、日時競合は発生しないと判定する。また、電源をオンするスクリプトが見つからなければ、判定対象スクリプトの実行日時において電源はオフになっているので、日時競合が発生すると判定する。
また、電源をオフするスクリプトが見つかれば、今度は逆にそのスクリプトの実行日時から判定対象スクリプトの実行日時までの間で電源をオンするスクリプトを探す。そして、電源をオンするスクリプトが見つかれば、一旦電源がオフされた後にオンされて判定対象スクリプトが動作することになるので、日時競合は発生しないと判定する。また、電源をオンするスクリプトが見つからなければ、判定対象スクリプトの実行日時において電源はオフになっているので、日時競合が発生すると判定する。
第二に、競合判定部17bは、リソース競合の判定を行う。
この場合、競合判定部17bは、まず、判定対象スクリプトの実行日時の近傍の実行日時が指定された比較対象スクリプトを読み出す(ステップ129)。具体的には、実行日時情報記憶部11に記憶された実行日時情報を参照して、判定対象スクリプトの実行日時の前後の予め定められた時間内の実行日時が対応付けられたスクリプトを特定し、スクリプト記憶部18に記憶されたスクリプトの中からこのスクリプトを読み出す。
次いで、競合判定部17bは、判定対象スクリプトの使用リソースを特定する(ステップ130)。具体的には、判定対象スクリプトに記述されたインターフェイスをキーとして使用リソース情報記憶部17aを検索し、使用リソースの情報を取得する。また、競合判定部17bは、比較対象スクリプトの使用リソースを特定する(ステップ131)。具体的には、比較対象スクリプトに記述されたインターフェイスをキーとして使用リソース情報記憶部17aを検索し、使用リソースの情報を取得する。
この場合、競合判定部17bは、まず、判定対象スクリプトの実行日時の近傍の実行日時が指定された比較対象スクリプトを読み出す(ステップ129)。具体的には、実行日時情報記憶部11に記憶された実行日時情報を参照して、判定対象スクリプトの実行日時の前後の予め定められた時間内の実行日時が対応付けられたスクリプトを特定し、スクリプト記憶部18に記憶されたスクリプトの中からこのスクリプトを読み出す。
次いで、競合判定部17bは、判定対象スクリプトの使用リソースを特定する(ステップ130)。具体的には、判定対象スクリプトに記述されたインターフェイスをキーとして使用リソース情報記憶部17aを検索し、使用リソースの情報を取得する。また、競合判定部17bは、比較対象スクリプトの使用リソースを特定する(ステップ131)。具体的には、比較対象スクリプトに記述されたインターフェイスをキーとして使用リソース情報記憶部17aを検索し、使用リソースの情報を取得する。
その後、競合判定部17bは、ステップ130で特定した使用リソースと、ステップ131で特定した使用リソースとの間に、重複部分があるかどうかを判定する(ステップ132)。その結果、重複部分がないと判定された場合は、判定対象スクリプトの実行日時の近傍の実行日時が指定された比較対象スクリプトが他にあるかどうかを判定する(ステップ133)。そして、そのような比較対象スクリプトが他にあれば、その比較対象スクリプトについて、ステップ129〜132を繰り返す。また、そのような比較対象スクリプトが他になければ、処理を終了する。
一方、ステップ132で重複部分があると判定された場合は、競合判定結果にインターフェイスと使用リソースとの対応情報をセットし(ステップ134)、処理を終了する。
一方、ステップ132で重複部分があると判定された場合は、競合判定結果にインターフェイスと使用リソースとの対応情報をセットし(ステップ134)、処理を終了する。
即ち、このリソース競合の判定処理では、判定対象スクリプトの実行日時の近傍の実行日時が指定されたスクリプトの中で、判定対象スクリプトが使用するリソースと同じリソースを使用するスクリプトを探す。そして、同じリソースを使用するスクリプトが見つかれば、リソース競合が発生すると判定する。
図11は、図6のステップ108における変換コード抽出処理の流れを詳細に示したフローチャートである。
まず、変換コード抽出部17dは、競合判定部17bから競合判定結果を受け取る(ステップ141)。そして、競合判定結果に情報がセットされているかどうかを判定し(ステップ142)、情報がセットされていなければ、競合が発生していない旨を送信部15に出力する(ステップ143)。
まず、変換コード抽出部17dは、競合判定部17bから競合判定結果を受け取る(ステップ141)。そして、競合判定結果に情報がセットされているかどうかを判定し(ステップ142)、情報がセットされていなければ、競合が発生していない旨を送信部15に出力する(ステップ143)。
また、競合判定結果に情報がセットされていれば、変換コード抽出部17dは、その情報が、図10のステップ134でセットされたインターフェイスと使用リソースとの対応情報であるかどうかを判定する(ステップ144)。
その結果、インターフェイスと使用リソースとの対応情報であれば、変換コード抽出部17dは、インターフェイスをキーとしてコード変換情報記憶部17cを検索し、変換コードを抽出する(ステップ145)。例えば、図5の場合、明示していないが、ユーザ作成コードにインターフェイス「scan」が紐付けられており、インターフェイス「scan」をキーとして、図示する2種類の変換コードが抽出される。そして、リソース競合が発生している旨と、競合するリソースの情報と、変換コードとを送信部15に出力する(ステップ146)。
その結果、インターフェイスと使用リソースとの対応情報であれば、変換コード抽出部17dは、インターフェイスをキーとしてコード変換情報記憶部17cを検索し、変換コードを抽出する(ステップ145)。例えば、図5の場合、明示していないが、ユーザ作成コードにインターフェイス「scan」が紐付けられており、インターフェイス「scan」をキーとして、図示する2種類の変換コードが抽出される。そして、リソース競合が発生している旨と、競合するリソースの情報と、変換コードとを送信部15に出力する(ステップ146)。
一方、インターフェイスと使用リソースとの対応情報でなければ、つまり、図10のステップ128でセットされた電源オフの日時であれば、日時競合が発生している旨と、電源オフされる日時の情報とを送信部15に出力する(ステップ147)。
以上により、本実施の形態の動作は終了する。
ところで、本実施の形態では、画像処理装置10でスクリプト解析を行ったが、画像処理装置10から端末装置20へスクリプト解析エンジンを送付し、端末装置20でスクリプト解析を行うようにしてもよい。即ち、図2のスクリプト解析部17を端末装置20内で実現するようにしてもよい。この場合は、動作時刻情報を受信する受信手段の一例として、受信部26を設けたことになり、動作時刻情報を受け付ける受付手段の一例として、操作受付部27を設けたことになり、プログラム実行装置に組み込むものとして指定された制御プログラムの動作が制限されるかどうかを判定する判定手段の一例として、競合判定部を設けたことになり、判定手段による判定結果を表示する表示手段の一例として、表示部28を設けたことになる。
ところで、本実施の形態では、画像処理装置10でスクリプト解析を行ったが、画像処理装置10から端末装置20へスクリプト解析エンジンを送付し、端末装置20でスクリプト解析を行うようにしてもよい。即ち、図2のスクリプト解析部17を端末装置20内で実現するようにしてもよい。この場合は、動作時刻情報を受信する受信手段の一例として、受信部26を設けたことになり、動作時刻情報を受け付ける受付手段の一例として、操作受付部27を設けたことになり、プログラム実行装置に組み込むものとして指定された制御プログラムの動作が制限されるかどうかを判定する判定手段の一例として、競合判定部を設けたことになり、判定手段による判定結果を表示する表示手段の一例として、表示部28を設けたことになる。
また、本実施の形態では、画像処理装置10へのスクリプトのインストールを端末装置20から行い、画像処理装置10で生成されたスケジュール表や画像処理装置10におけるスクリプト解析の結果を端末装置20に送信して表示するようにしたが、このような態様には限られない。例えば、画像処理装置10に設けられた操作パネルからスクリプトのインストールを指示し、画像処理装置10に設けられたディスプレイにスケジュール表やスクリプト解析の結果を表示するようにしてもよい。
更に、本実施の形態では、端末装置20からアップロードの開始メッセージを受信すると、画像処理装置10はスケジュール表を送付するようにしたが、このスケジュール表の送付タイミングもこれには限らない。例えば、ユーザが新たなスクリプトのインストールが完了した時点で、その完了報告としてスケジュール表を送付するようにしてもよい。或いは、スクリプトに対して指定された実行日時の前にスケジュール表を送付し、ユーザがスクリプトの実行日時をその時点で変更できるようにすることも考えられる。
更にまた、本実施の形態の変形例としては、次のような構成も考えられる。
第一に、画像処理装置10のディスプレイにスケジュール表を表示する場合に、画像処理装置10へのログイン情報に基づいて、ログインしたユーザが登録したスクリプトに関するスケジュール表を表示する、といった構成である。
第二に、画像処理装置10にスクリプトをインストールした際のユーザ情報に基づいて、スクリプトにリソース競合が発生した場合にはそのユーザに通知する、といった構成である。
第三に、スクリプトがリソース競合を生じさせそうな場合に、スケジュール表にその旨を表示する、といった構成である。例えば、新たなスクリプトをインストールしようとするときにこのような表示を行うことが考えられる。
第四に、スクリプトがリソース競合を生じさせた場合に、画像処理装置10が、何れかのスクリプトに対して、リソース競合を回避するための処理を自動的に行う、といった構成である。
第一に、画像処理装置10のディスプレイにスケジュール表を表示する場合に、画像処理装置10へのログイン情報に基づいて、ログインしたユーザが登録したスクリプトに関するスケジュール表を表示する、といった構成である。
第二に、画像処理装置10にスクリプトをインストールした際のユーザ情報に基づいて、スクリプトにリソース競合が発生した場合にはそのユーザに通知する、といった構成である。
第三に、スクリプトがリソース競合を生じさせそうな場合に、スケジュール表にその旨を表示する、といった構成である。例えば、新たなスクリプトをインストールしようとするときにこのような表示を行うことが考えられる。
第四に、スクリプトがリソース競合を生じさせた場合に、画像処理装置10が、何れかのスクリプトに対して、リソース競合を回避するための処理を自動的に行う、といった構成である。
尚、本実施の形態では、スクリプトとは別に実行日時を指定したが、スクリプト中に実行日時の指定を記述してもよい。この場合は、スクリプト中の実行日時が上記実施の形態における実行日時に相当し、スクリプト中の動作の記述が上記実施の形態におけるスクリプトに相当することになる。
また、本実施の形態では、スクリプトを処理対象として説明したが、一般的なプログラムを処理対象としてもよい。
また、本実施の形態では、スクリプトを処理対象として説明したが、一般的なプログラムを処理対象としてもよい。
ところで、本実施の形態では、画像処理装置10がスケジュール表を生成して出力し、画像処理装置10又は端末装置20がスクリプト解析を行うことを前提とした。しかしながら、画像処理装置10で行われる処理、及び、端末装置20で行われる処理は、汎用のコンピュータで行うようにしてもよい。
そこで、これらの処理をコンピュータ90で行うものとして、コンピュータ90のハードウェア構成について説明する。
そこで、これらの処理をコンピュータ90で行うものとして、コンピュータ90のハードウェア構成について説明する。
図12は、コンピュータ90のハードウェア構成を示した図である。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)91と、記憶手段であるメインメモリ92及び磁気ディスク装置(HDD:Hard Disk Drive)93とを備える。ここで、CPU91は、OS(Operating System)やアプリケーション等の各種ソフトウェアを実行し、上述した各機能を実現する。また、メインメモリ92は、各種ソフトウェアやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置93は、各種ソフトウェアに対する入力データや各種ソフトウェアからの出力データ等を記憶する記憶領域である。
更に、コンピュータ90は、外部との通信を行うための通信I/F94と、ビデオメモリやディスプレイ等からなる表示機構95と、キーボードやマウス等の入力デバイス96とを備える。
尚、本実施の形態を実現するプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供するようにしてもよい。
10…画像処理装置、11…実行日時情報記憶部、12…実行日時情報管理部、13…スケジュール情報記憶部、14…スケジュール情報管理部、15,25…送信部、16,26…受信部、17…スクリプト解析部、18…スクリプト記憶部、19…スクリプト管理部、20…端末装置、27…操作受付部、28…表示部
Claims (6)
- 自装置の電源をオン及びオフにする設定時刻と、自装置で稼働するプログラムの動作時刻とを含む時刻情報を記憶する記憶手段と、
前記時刻情報において、自装置の電源がオフである間に前記プログラムの動作時刻がある場合に、当該プログラムが動作しないことを通知する通知手段と
を備えたことを特徴とする処理装置。 - 自装置で稼働するプログラムの各々とその動作時刻とを関連付けた時刻情報を記憶する記憶手段と、
前記時刻情報において、第1のプログラムの動作時刻と、当該第1のプログラムの動作時刻から遡って初めて見つかった、自装置の電源をオフする第2のプログラムの動作時刻との間に、自装置の電源をオンするプログラムの動作時刻がない場合に、当該第1のプログラムが動作しないことを通知する通知手段と
を備えたことを特徴とする処理装置。 - 前記通知手段は、自装置の電源がオフになる時刻を更に通知することを特徴とする請求項1又は請求項2に記載の処理装置。
- コンピュータに、
自装置の電源をオン及びオフにする設定時刻と、自装置で稼働する第1のプログラムの動作時刻とを含む時刻情報を記憶する機能と、
前記時刻情報において、自装置の電源がオフである間に前記第1のプログラムの動作時刻がある場合に、当該第1のプログラムが動作しないことを通知する機能と
を実現させるためのプログラム。 - コンピュータに、
自装置で稼働する複数のプログラムの各々とその動作時刻とを関連付けた時刻情報を記憶する機能と、
前記時刻情報において、第1のプログラムの動作時刻と、当該第1のプログラムの動作時刻から遡って初めて見つかった、自装置の電源をオフする第2のプログラムの動作時刻との間に、自装置の電源をオンするプログラムの動作時刻がない場合に、当該第1のプログラムが動作しないことを通知する機能と
を実現させるためのプログラム。 - 前記通知する機能は、自装置の電源がオフになる時刻を更に通知することを特徴とする請求項4又は請求項5に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014132407A JP2014170596A (ja) | 2014-06-27 | 2014-06-27 | 処理装置、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014132407A JP2014170596A (ja) | 2014-06-27 | 2014-06-27 | 処理装置、及びプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013109280A Division JP2013157040A (ja) | 2013-05-23 | 2013-05-23 | スケジュール生成装置、画像処理装置、コンピュータシステム、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014170596A true JP2014170596A (ja) | 2014-09-18 |
Family
ID=51692871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014132407A Pending JP2014170596A (ja) | 2014-06-27 | 2014-06-27 | 処理装置、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014170596A (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007118404A1 (fr) * | 2006-04-17 | 2007-10-25 | Huawei Technologies Co., Ltd. | Procédé, système et dispositif de traitement de tâches dans un gestionnaire de dispositif |
-
2014
- 2014-06-27 JP JP2014132407A patent/JP2014170596A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007118404A1 (fr) * | 2006-04-17 | 2007-10-25 | Huawei Technologies Co., Ltd. | Procédé, système et dispositif de traitement de tâches dans un gestionnaire de dispositif |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5743671B2 (ja) | 情報処理装置およびその制御方法 | |
US10564906B2 (en) | Information processing device, information processing system, and information processing method for prioritizing an installation of print drivers on information processing device | |
JP2012048467A (ja) | デバイス、ヘルプサーバ、及びプログラム | |
JP2012014280A (ja) | 情報送信装置、情報送信装置の制御方法及びコンピュータプログラム | |
JP2014006571A (ja) | 情報処理装置、プログラム更新方法及びプログラム | |
JP2015219890A (ja) | 管理装置、その制御方法およびプログラム | |
US10025578B2 (en) | Information processing system and method on a client server environment for software download | |
US20160057295A1 (en) | Server, image forming device and communication system | |
US10182167B2 (en) | Apparatus and method for obtaining update information via a network to display data | |
KR20160026574A (ko) | 웨어러블 디바이스를 이용하여 화상 형성 장치의 동작을 제어하는 방법 및 시스템. | |
JP2017123610A (ja) | 画像形成装置、画像形成システム、画像形成方法およびプログラム | |
EP2998910A1 (en) | System and method for retrieving and processing maintenance information for a multifunction peripheral | |
JP2009140401A (ja) | データ処理システム、データ処理装置、データ処理方法、及びデータ処理プログラム | |
JP6464712B2 (ja) | 情報処理装置および情報処理方法 | |
JP2013157040A (ja) | スケジュール生成装置、画像処理装置、コンピュータシステム、及びプログラム | |
JP2011136488A (ja) | プリンタ | |
JP5309830B2 (ja) | スケジュール生成装置、画像処理装置、コンピュータシステム、及びプログラム | |
JP2014170596A (ja) | 処理装置、及びプログラム | |
JP6048134B2 (ja) | 中継装置、中継装置のプログラムおよび通信方法 | |
JP2017073640A (ja) | 情報処理装置とその制御方法、及びプログラム | |
JP2016159427A (ja) | 機器、情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
JP2005301608A (ja) | インストールプログラム、インストール装置および周辺機器ドライバのインストール方法 | |
US20210096910A1 (en) | Remote operation system, management client, and non-transitory computer-readable recording medium storing management client program | |
JP2018097473A (ja) | 情報処理装置及び情報処理システム | |
JP6123109B2 (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150602 |