(57)【要約】      （修正有）【課題】より簡便に、かつ柔軟に、スケジュールに従って特定のプログラムを実行させる。【解決手段】スケジュール実行部１０３は、データベース１０５に登録された呼び出しリスト記憶するための記憶手段にアクセスし、実行すべきＷｅｂサービス呼び出しの有無を確認する。そして、実行すべきＷｅｂサービス呼び出しの存在が確認された場合、Ｗｅｂサービスのアドレス及び処理内容とを読み出し、Ｗｅｂサービスを呼び出す。このようにして、呼び出される機能を提供する装置と、呼び出しを行う装置とを切り離す。【選択図】図１
2007122189.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂサービスを呼び出すためのアドレス情報と、前記Ｗｅｂサービスの呼び出しを行うべき時間情報と、前記Ｗｅｂサービスで実行すべき処理を記述した処理情報とを含む呼び出し情報を記憶するための記憶手段にアクセスし、実行すべきＷｅｂサービス呼び出しの有無を確認する確認手段と、
前記確認手段により、実行すべきＷｅｂサービス呼び出しの存在が確認された場合、前記アドレス情報及び前記処理情報を前記記憶手段から読み出す読み出し手段と、
前記読み出した処理情報に従って、前記実行すべきＷｅｂサービスを呼び出すためのメッセージを生成し、前記読み出したアドレス情報に従って前記メッセージを送信する呼び出し手段とを有することを特徴とするスケジュール実行装置。
【請求項２】
計時手段をさらに有し、
前記確認手段が、前記記憶装置に、前記計時手段の現在日時より前の日時を示す前記時間情報の存在有無を確認し、
前記読み出し手段が、前記計時手段の現在日時より前の日時を示す前記時間情報に対応する前記アドレス情報及び前記処理情報を読み出すことを特徴とする請求項１記載のスケジュール実行装置。
【請求項３】
前記Ｗｅｂサービスが、前記スケジュール実行装置と通信可能に接続された外部コンピュータ上で稼働することを特徴とする請求項１又は請求項２記載のスケジュール実行装置。
【請求項４】
前記処理情報がＸＭＬにより記述され、前記呼び出し手段が、前記呼び出しメッセージを前記Ｗｅｂサービス宛のＳＯＡＰメッセージとして生成することを特徴とする請求項３記載のスケジュール実行装置。
【請求項５】
請求項１乃至請求項４のいずれか１項に記載のスケジュール実行装置と通信可能に接続され、前記スケジュール実行装置を制御する前記呼び出し情報を前記記憶装置に登録するための登録装置であって、
前記呼び出し情報を入力するためのユーザインタフェースを、外部コンピュータからの要求に従って提供するＵＩ提供手段と、
前記提供したユーザインタフェースを介して入力された情報に基づいて、前記呼び出し情報を生成する呼び出し情報生成手段と、
前記生成した呼び出し情報を前記記憶装置に記憶させる通信手段とを有することを特徴とする登録装置。
【請求項６】
前記ＵＩ提供手段が、前記登録装置上で稼働するＷｅｂサービスの呼び出し情報を入力するためのユーザインタフェースを提供することを特徴とする請求項５記載の登録装置。
【請求項７】
請求項１乃至請求項４のいずれか１項に記載のスケジュール実行装置と通信可能に接続され、前記スケジュール実行装置が呼び出し可能なＷｅｂサービスを実装する機能提供装置であって、
前記スケジュール実行装置から受信した前記呼び出し情報と、前記Ｗｅｂサービスの提供する機能とに基づき、前記呼び出し情報に従った処理が所定時間内に完了するかどうかを判定する判定手段を有し、
前記Ｗｅｂサービスが、前記判定手段により前記処理が前記所定時間内に完了しないと判定された場合には、前記呼び出し情報に従った処理を他のアプリケーションプログラムに委譲し、前記スケジュール実行装置に対してはＷｅｂサービスの終了を通知することを特徴とする機能提供装置。
【請求項８】
請求項１乃至請求項４のいずれか１項に記載のスケジュール実行装置と、請求項５又は請求項６に記載の登録装置と、請求項７記載の機能提供装置とが通信可能に接続されてなるコンピュータネットワークシステム。
【請求項９】
コンピュータを、請求項１乃至請求項４のいずれか１項に記載のスケジュール実行装置として機能させるコンピュータプログラム。
【請求項１０】
コンピュータを、請求項５又は請求項６記載の登録装置として機能させるコンピュータプログラム。
【請求項１１】
コンピュータを、請求項７記載の機能提供装置として機能させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジュールに従って、特定のプログラムを実行するためのスケジュール実行装置に関する。本発明はまた、スケジュール実行装置を制御するための情報を登録するための登録装置に関する。本発明は更に、スケジュール実行装置が呼び出し可能な機能を提供する機能提供装置に関する。
【背景技術】
【０００２】
従来、例えば、ＯＳのアップデータの有無を毎週決まった曜日の決まった時刻に確認したり、毎日決まった時刻にコンピュータを起動させるなど、コンピュータにおいて、予め定めたスケジュールに従って特定の処理を実行するための機能が知られている。具体的には、例えばＵＮＩＸ（登録商標）系のＯＳでは、特定のファイル中に記述されたコマンドを、記述された日時に実行するｃｒｏｎデーモン(daemon)・プログラムが提供されている。
【０００３】
また、複数のメンバで共有する情報を扱うシステムにおいて、共有情報Ｗｅｂページに周知事項などが登録されたことを、設定された時刻にメンバに通知するスケジュール管理サーバも提案されている（特許文献１参照）。特許文献１では、メンバへの周知が必要な事項の登録者が、その事項の具体的な内容に加え、メンバへの通知を行う時刻もスケジュール管理サーバに登録する。そして、スケジュール管理サーバが、設定された時刻になったらメンバへ自動的にメール送信して、少なくとも登録の発生をメンバへ通知する。
【０００４】
【特許文献１】特開２００３−１５０７５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、スケジュールを実行するプログラムと機能を提供する部分とが密接に関連しているため、汎用性に欠け、機能拡張が困難であるという問題点があった。例えば、複数の機能をスケジュールに従って呼び出すような場合、複数のスケジュール呼び出し及び機能提供プログラムの組を作成するか、スケジュール呼び出し及び機能を提供する部分に複数の機能を実装する必要がある。そのため、スケジュールに従って機能呼び出しをするという処理に対して複数のスケジュール呼び出しプログラムを必要とするという問題がある。或いは、単一のプログラムが複数の機能を提供するため、機能を提供するためのプログラムが複雑になるという問題がある。また、スケジュールを実行するプログラムと、機能を提供する外部プログラムが、同一コンピュータ上に存在する必要があるという問題があった。
【０００６】
本発明はこのような従来技術の問題点に鑑みなされたものであり、より簡便に、かつ柔軟に、スケジュールに従って特定のプログラムを実行させることの可能なスケジュール実行装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の目的は、Ｗｅｂサービスを呼び出すためのアドレス情報と、Ｗｅｂサービスの呼び出しを行うべき時間情報と、Ｗｅｂサービスで実行すべき処理を記述した処理情報とを含む呼び出し情報を記憶するための記憶手段にアクセスし、実行すべきＷｅｂサービス呼び出しの有無を確認する確認手段と、確認手段により、実行すべきＷｅｂサービス呼び出しの存在が確認された場合、アドレス情報及び処理情報を記憶手段から読み出す読み出し手段と、読み出した処理情報に従って、実行すべきＷｅｂサービスを呼び出すためのメッセージを生成し、読み出したアドレス情報に従ってメッセージを送信する呼び出し手段とを有することを特徴とするスケジュール実行装置によって達成される。
【０００８】
また、本発明の別の要旨は、本発明のスケジュール実行装置と通信可能に接続され、スケジュール実行装置を制御する呼び出し情報を記憶装置に登録するための登録装置であって、呼び出し情報を入力するためのユーザインタフェースを、外部コンピュータからの要求に従って提供するＵＩ提供手段と、提供したユーザインタフェースを介して入力された情報に基づいて、呼び出し情報を生成する呼び出し情報生成手段と、生成した呼び出し情報を記憶装置に記憶させる通信手段とを有することを特徴とする登録装置に存する。
【０００９】
また、本発明の別の要旨は、本発明のスケジュール実行装置と通信可能に接続され、スケジュール実行装置が呼び出し可能なＷｅｂサービスを実装する機能提供装置であって、スケジュール実行装置から受信した呼び出し情報と、Ｗｅｂサービスの提供する機能とに基づき、呼び出し情報に従った処理が所定時間内に完了するかどうかを判定する判定手段を有し、Ｗｅｂサービスが、判定手段により処理が所定時間内に完了しないと判定された場合には、呼び出し情報に従った処理を他のアプリケーションプログラムに委譲し、スケジュール実行装置に対してはＷｅｂサービスの終了を通知することを特徴とする機能提供装置に存する。
【発明の効果】
【００１０】
このような構成により、本発明によれば、より簡便にかつ柔軟に、スケジュールに従って特定のプログラムを実行させることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
●＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るスケジュール実行装置を適用可能なコンピュータネットワークの構成例を示す図である。
【００１２】
図に示すコンピュータネットワークは、ローカルエリアネットワーク（ＬＡＮ）１０１に、ホストコンピュータ１〜４（１０２、１０４、１０６、１１０）が接続された構成を有する。そして、本実施形態に係るスケジュール実行装置として機能するホストコンピュータ１（１０２）では、指定されたスケジュールに従って機能を呼び出すためのスケジュール実行部１０３が動作している。上述のように、スケジュール実行部１０３は、ホストコンピュータ１（１０２）で動作するプログラム（例えばdaemon或いはサービスと呼ばれる、常駐プログラム）として実現できる。
【００１３】
ホストコンピュータ２（１０４）内には、データベース１０５が稼動しており、データベース１０５内には、スケジュール実行部１０３が呼び出す機能の詳細と、スケジュール情報が格納されている。データベース１０５の実体は、例えばＨＤＤ１１０８に格納したデータファイルを用いるデータベースアプリケーションである。
【００１４】
ホストコンピュータ３（１０６）及びホストコンピュータ４（１１０）内には、Ｗｅｂサービスサーバ機能を提供するためにＷｅｂサーバ（Ｗｅｂサーバアプリケーション）１０７及び１１１が稼動している。そして、Ｗｅｂサーバ１０７及び１１０上で、スケジュール実行部１０３から呼び出し可能な、特定の機能（サービス）を実現するアプリケーションプログラム（Ｗｅｂサービス）１０８、１０９、１１２が動作している。従って、ホストコンピュータ３（１０６）及びホストコンピュータ４（１１０）は、機能提供装置として機能する。
【００１５】
なお、図１において、ホストコンピュータ１〜４（１０２、１０４、１０６、及び１１０）は別個のコンピュータとして描かれているが、必ずしも別個のコンピュータである必要は無い。例えば、スケジュール実行部１０３と、Ｗｅｂサーバ１０７、１１１及びその上で動作するＷｅｂサービス１０８、１０９、１１２が同一のホストコンピュータに存在し、別のホストコンピュータ上のデータベース１０５を利用する、という構成であってもよい。
【００１６】
図１１は、本実施形態に係るホストコンピュータ１〜４（１０２、１０４、１０６、１１０）の構成例を示すブロック図である。なお、本実施形態に係るホストコンピュータ１〜４は、パーソナルコンピュータ等のコンピュータ装置で構成することができる。
図１１において、ディスプレイ１１０１はアプリケーションプログラムによって処理中のデータの情報、各種メッセージメニューなどを表示し、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ(Liquid Crystal Display)等から構成される。ディスプレイコントローラ１１０２は、ディスプレイ１１０１への画面表示制御を行う。キーボード１１０３及びポインティングデバイス１１０４は、文字などを入力したり、ＧＵＩ（Graphical User Interface）におけるアイコンやボタンなどを指し示すためなどに用いられる。ＣＰＵ（Central Processing Unit）１１０５はホストコンピュータ全体の制御を司る。
【００１７】
ＲＯＭ（Read Only Memory）１１０６は、ＣＰＵ１１０５が実行するプログラムやパラメータ等を記憶している。ＲＡＭ（Random Access Memory）１１０７は各種プログラムをＣＰＵ１１０５が実行するときのワークエリア、エラー処理時の一時退避エリア等として用いられる。
【００１８】
ハードディスクドライブ（ＨＤＤ）１１０８、リムーバブルメディアドライブ（ＲＭＤ）１１０９は、外部記憶装置として機能する。リムーバブルメディアドライブは、着脱可能な記録媒体の読み書き又は読み出しを行う装置であり、フレキシブルディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、メモリカードリーダはもとより、着脱式ＨＤＤなどであってもよい。
【００１９】
なお、本実施形態に係るホストコンピュータ１〜４の各種機能を実現するプログラム（スケジュール実行部１０３、Ｗｅｂサーバ１０７、１１１、機能１〜３を提供するＷｅｂサービス１０８〜１１０、データベース１０５を実現するためのプログラム）を始め、ＯＳや、ブラウザ等のアプリケーションプログラム、データ、ライプラリ等は、用途に応じてＲＯＭ１１０６、ＨＤＤ１１０８、ＲＭＤ１１０９（の記録媒体）の１つ以上に記憶される。
【００２０】
拡張スロット１１１０は、例えばＰＣＩ(Peripheral Component Interconnect)バス規格に準拠した拡張カード装着用スロットであり、ビデオキャプチャボードや、サウンドボード、ＧＰＩＢボードなど、様々な拡張ボードを装着することが可能である。
【００２１】
ネットワークインタフェース１１１１は、ＵＳＢ（Universal Serial Bus）規格、ＩＥＥＥ１３９４規格、ＬＡＮ等に準拠した有線通信機能またはＩＥＥＥ８０２．１１ａ／ｂ／ｇ規格、Bluetooth規格等に準拠した無線通信機能を有する。本実施形態に係るホストコンピュータ１〜４（１０２、１０４、１０６、１１０）は、ネットワークインタフェース１１１１を用いてＬＡＮ１０１に接続され、他のホストコンピュータと通信できるように構成されている。バス１１１２はアドレスバス、データバスおよび制御バスからなり、上述した各ユニット間を接続する。また、図示しないカレンダー時計を有し、現在の日時を取得可能に構成されている。
【００２２】
図２は、スケジュール実行部１０３が、記憶装置としてのデータベース１０５に登録されている登録情報に基づいて、Ｗｅｂサービスをスケジュールに従って呼び出す処理の流れを示すフローチャートである。
【００２３】
先ず、スケジュール実行部１０３は、ステップＳ２０１で、データベース１０５から、実行日時がカレンダー時計の現在日時より前で、かつ実行されていない機能呼び出しのリストを取得する。ステップＳ２０２で、リストに要素（レコード）があるか否かを調べ、レコードが存在しない場合は、ステップＳ２０６で一定期間待った後、再びステップＳ２０１の機能呼び出しリストの取得に戻る。
【００２４】
図３は、本実施形態において、データベース１０５に格納される、機能呼び出しリストのレコード構成及びデータの例を示す図である。
図に示すように、リストの各レコードは、機能呼び出しの時間情報としての実行日時３０１、機能を実装したＷｅｂサービスを呼び出すアドレス情報としてのＵＲＩ(Uniform Resource Identifier)アドレス３０２を含んでいる。さらに、各レコードは、Ｗｅｂサービスで実行すべき処理内容を記述した文字列３０３を含んでいる。マークアップ言語（ここではＸＭＬ(eXtensible Markup Language)）で記述された文字列３０３は、機能呼び出し時にＵＲＩアドレス３０２で指定されるＷｅｂサービスに渡される。図３の例では、ＩＰアドレス172.24.59.35のデバイスに対して再起動（リブート）を指示する処理を、Ｗｅｂサービスでの処理内容として記述している。
【００２５】
なお、図３の例では、呼び出すＷｅｂサービスの存在するホストコンピュータ（Ｗｅｂサーバ）をドメイン名により指定しているが、直接ＩＰアドレスで指定しても良い。
ステップＳ２０２で、取得した機能呼び出しリスト内にレコードが存在した場合、ステップＳ２０３でリストからレコードを一つ取り出す。そして、取り出したレコードに記述されたＵＲＩアドレス３０２に従って、機能を提供するＷｅｂサービス１０８、１０９または１１２を呼び出す。
【００２６】
処理内容を記述する文字列３０３を、呼び出したＷｅｂサービスに渡す際には、例えば、ＸＭＬで記述されたメッセージをＨＴＴＰ(HyperText Transfer Protocol)やＦＴＰ(File Transfer Protocol)等のプロトコルによりオブジェクト間で通信するＳＯＡＰ(Simple Object Access Protocol)を利用することができる。
【００２７】
そして、呼び出したＷｅｂサービスから処理が正常に終了した旨の通知を受けると、スケジュール実行部１０３は、ステップＳ２０５で、機能呼び出しが完了したことをデータベース１０５内の機能呼び出しリストに記録する。或いは、機能呼び出しリスト中の、実行済みレコードを削除する等により、ステップＳ２０１の次回実行時に、処理済のレコードが取り出されないようデータベース（機能呼び出しリスト）の更新処理を行う。
【００２８】
以下、ステップＳ２０２、Ｓ２０３、Ｓ２０４の処理を、リストが空になるまで繰り返し、ステップＳ２０６を経て、ステップＳ２０１に戻る。
【００２９】
図４は、呼び出された機能の実行を行うホストコンピュータ３、４（１０６、１１０）側の処理の流れを示すフローチャートである。
Ｗｅｂサーバ（１０７、１１１）は、スケジュール実行部１０３からの機能呼び出しメッセージ（図３）を受信すると、処理を開始し、ステップＳ４０１において、スケジュール実行部１０３の認証や呼び出しの正当性の検査等を行う。受信した機能呼び出しメッセージが正当なものであることが確認されたら、ステップＳ４０２で、受信した機能呼び出しメッセージの中から、ＵＲＩで指定されたＷｅｂサービスに受け渡す処理内容を取り出す。
【００３０】
例えば、上述のように、処理内容を記述した文字列３０３がＳＯＡＰメッセージのアタッチメントとして添付されている場合には、機能呼び出しメッセージのアタッチメントを取り出す。次に、ステップＳ４０３で、処理内容を記述した文字列３０３の解析、例えばＸＭＬ文書のパース等を行い、記載された要求を呼び出されるＷｅｂサービスに対応した要求メッセージに変換して受け渡す。そして、呼び出したＷｅｂサービスから処理結果を受け取ると、最後にステップＳ４０４で処理結果を呼び出し元であるスケジュール実行部１０３に返し、処理を終了する。
【００３１】
このように、本実施形態によれば、スケジュールに従って機能を呼び出すスケジュール実行部と、機能を提供する部分（Ｗｅｂサービス）とを切り分けることができ、処理の軽量化、及び単純化が可能となる。また、スケジュール実行部と機能を提供する部分との配置に関する制限が緩和され、通信可能な任意の場所に互いを配置することが可能になる。また、１つのスケジュール実行部から複数の機能呼び出しを行うことが可能となるため、機能の拡張や変更が容易である。
【００３２】
換言すれば、Ｗｅｂサービスサーバとして実装された機能を、ＷｅｂサービスサーバのＵＲＩ及び、実行すべき機能の内容を記載した文字列と共に、登録された日時に呼び出す。これにより、スケジュールに従って機能を呼び出すプログラムと機能を提供するプログラムを明確に分離することが可能となり、単一のスケジュール実行手段で、複数の機能呼び出しを行うことが可能となり、処理の軽量化、及び単純化が可能となる。また、スケジュールに従って機能を呼び出すプログラムと、機能を提供するプログラムが同一ホスト上にある必要性を無くすことが出来、プログラムの拡張性、利便性を向上させることができる。
【００３３】
●＜第２の実施形態＞
第１の実施形態では、スケジュールに従って実行すべき処理（スケジュール処理）を記述した呼び出し機能リストが予めデータベース１０５に登録されている場合について説明した。これに対し、本実施形態では、ユーザが呼び出し機能リストに新たなレコードを登録可能としたものである。
【００３４】
図５は、本実施形態に係るコンピュータネットワークの構成例を示す図であり、図１と同じ構成要素には同じ参照数字を付してある。本実施形態では、図１に示した構成において、ホストコンピュータ４（１１０）の代わりに、ユーザが用いるＰＣ５０２を設けている。ＰＣ５０２は、例えば、図１１を用いて説明したような構成を有する汎用コンピュータであり、スケジュール実行装置としてのホストコンピュータ１（１０２）を制御する呼び出し情報をデータベース１０５に登録するための登録装置として機能する。
【００３５】
そして、ＰＣ５０２で動作するスケジュール処理登録アプリケーション（ここでは、Ｗｅｂブラウザアプリケーション）から、ホストコンピュータ３（１０６）が提供するＵＩを用いてスケジュール処理を入力する。入力したスケジュール処理は、ホストコンピュータ３（１０６）により、ホストコンピュータ２（１０４）のデータベース１０５に、呼び出し機能リストの新規レコードとして登録される。
【００３６】
図５において、ホストコンピュータ３（１０６）に新たに設けられた、機能１設定用ＵＩ５０１は、ホストコンピュータ３（１０６）に存在する、機能１を提供するＷｅｂサービス（１０８）を呼び出すスケジュール処理をＰＣ５０２から登録するためのユーザインタフェースを提供する。上述のように、本実施形態ではＰＣ５０２で稼働するＷｅｂブラウザアプリケーション（以下、単にＷｅｂブラウザという）をスケジュール処理登録アプリケーションとして用いる。そのため、機能１設定用ＵＩ５０１は、Ｗｅｂブラウザ５０３上で登録用ＵＩを表示するためのデータを、Ｗｅｂブラウザ５０３の要求に従って送信する。具体的にはＨＴＭＬやスクリプト言語で記述されたフォームデータを、Ｗｅｂブラウザ５０３に送信する。
【００３７】
また、提供したフォームデータを介して入力されたスケジュール処理データをＷｅｂブラウザ５０３から受け取ると、機能１設定用ＵＩ５０１は、図３に示した形式のデータを、機能呼び出しリストの新規レコードとしてデータベース１０５に登録する。
本実施形態では、ホストコンピュータ３（１０６）に存在するＷｅｂサービス（１０８）が、ＳＮＭＰ(Simple Network Management Protocol)マネージャとしての機能を機能１として提供するものとする。従って、Ｗｅｂブラウザ５０３からは、ＳＮＭＰを用いた処理を呼び出すスケジュールを設定することができる。
【００３８】
図６は、機能１設定用ＵＩ５０１により、Ｗｅｂブラウザ５０３に提供され、表示される設定用ユーザインタフェースの例を示す図である。
本実施形態では、機能１設定用ＵＩ５０１は、ＳＮＭＰのコマンドを用いて、ＬＡＮ１０１上に存在するＳＮＭＰクライアント（コンピュータ、プリンタ等のデバイスやルータ等）を検索する機能を、所望の日時に呼び出すための設定用ＵＩを提供するものとする。
【００３９】
図６に示す設定用ＵＩ（設定画面とも呼ぶ）において、入力部６０１は、スケジュール実行部１０３により、機能１を呼び出させたい日時を指定する入力部である。
６０２は、ＳＮＭＰのコミュニティ名を入力するためのテキストボックスである。６０３は、機能１を提供するＷｅｂサービスが稼働するホストコンピュータ３（１０６）が属するローカルサブネット上に存在するＳＮＭＰクライアントを検索するために、ローカルブロードキャストを用いるか否かを指示するためのチェックボックスである。６０４は、ユニキャストを用いた検索の対象ＩＰアドレスのリストである。
【００４０】
ＩＰアドレスの範囲を指定する場合は、図で示すように「−」を間にはさみ、開始ＩＰアドレスと終了ＩＰアドレスを指定する。例えば、リスト６０４の第一行は、ＩＰアドレス172.24.159.10から172.24.159.25までの１６個のＩＰアドレスのそれぞれに対して、ＳＮＭＰクライアントを検出することを指定している。
【００４１】
リスト６０４にアドレスまたはアドレス範囲を追加する場合、ユーザは、ＩＰアドレス入力部６０５に追加したいＩＰアドレスまたはＩＰアドレス範囲を入力し、追加ボタン６０６を押下する。逆に、リスト６０４からＩＰアドレスまたはＩＰアドレス範囲を削除する場合、ユーザは、削除したいＩＰアドレスまたはＩＰアドレス範囲をリスト６０４から選択し、削除ボタン６０７を押下する。図の例では、リスト６０４内のＩＰアドレス「172.24.151.20」が選択されており、この状態で、削除ボタン６０７が押下されると、リスト６０４から同アドレスが削除される。なお、ＧＵＩにおけるボタンの押下とは、ＧＵＩ中に含まれるボタンを例えばマウスクリックする操作である。
【００４２】
キャンセルボタン６０８がユーザにより押下されると、入力を破棄して設定画面を閉じる。登録ボタン６０９がユーザにより押下されると、機能１設定用ＵＩ５０１は、６０２から６０４の検索条件を文字列形式（例えばＸＭＬ形式）に変換する。そして、６０１で指定された実行日時と、機能１を提供するＷｅｂサービス１０８のＵＲＩアドレスと共に、データベース１０５に登録する。
【００４３】
図７は、図６の設定画面において入力された検索条件（６０２〜６０４）を、ＸＭＬ形式に変換した例であり、これは図３における文字列３０３に相当する。タグ７０１により、これが検索に関する設定であることを宣言する。タグ７０２によりＳＮＭＰに関する設定であり、更にその中のタグ７０３により、ＳＮＭＰのコミュニティ名が６０２で入力されたｐｕｂｌｉｃであることを規定する。
【００４４】
タグ７０４は、ブロードキャスト検索に関する設定を示し、タグ７０５により、宛先ＩＰアドレスに「255.255.255.255」を指定したローカルブロードキャスト検索を行うことが指定される。これは図６のチェックボックス６０３がチェックされたことに相当する。最後に、タグ７０６で、ユニキャストによるＩＰアドレス指定の検索に関する設定を行う。ここでタグ７０７、７０８、７０９により、それぞれ、図６のリスト６０４で指定されているＩＰアドレス範囲が指定される。
【００４５】
このようにして生成、登録されたスケジュール処理のリストレコードは、第１の実施形態で説明したようにしてスケジュール実行部１０３により指定日時に実行される。
以上説明したように、本実施形態によれば、スケジュール処理の内容をユーザが設定可能であるため、より柔軟なスケジュール処理が実現できる。
【００４６】
●＜第３の実施形態＞
第２の実施形態で例示したような、ネットワーク１０１上に存在するコンピュータ、プリンタ等のデバイスやルータ等を検索する機能を始め、呼び出した機能による処理が短時間に終了せず、例えば数十分から数時間掛かるような場合がある。Ｗｅｂサービスを用いた機能呼び出しでは、予め定められた、比較的短い時間（通常は数十秒程度）内に実行結果をＷｅｂサービスの呼び出し側に返す必要がある。そのため、時間のかかる処理をＷｅｂサービスを用いた機能呼び出しを利用して行うためには、何らかの対策を講じる必要がある。
【００４７】
本実施形態では、処理に時間の掛かる処理を、上述したＷｅｂサービスの呼び出しを用いて実現することを特徴とする。本実施形態においても、第２の実施形態と同様、図５に示すコンピュータネットワークにおける機能呼び出しを例として説明する。
【００４８】
図８は、本実施形態において、データベース１０５に格納される機能呼び出しリストに登録されるレコードデータの例を示す図である。
図３との比較から明らかなように、本実施形態における機能呼び出しリストのレコードには、タスクＩＤ８０１と実行状態フィールド８０２が追加されている。
【００４９】
タスクＩＤ８０１は、データベース１０５内の機能呼び出しリスト内のレコードを一意に識別するための番号（主キー）である。実行状態フィールド８０２は、この機能呼び出しの現在の実行状態を示し、実行状態に応じて例えば「実行待ち」「実行中」「正常終了」「エラー終了」の各値を取る。即ち、図６の設定画面において「登録」ボタン６０９が押下され、ホストコンピュータ３（１０６）の機能１設定用ＵＩ５０１によってデータベース１０５に登録された時点では「実行待ち」の状態にある。
【００５０】
そして、図２のステップＳ２０４にて、例えば機能１の呼び出しが行われると、機能１を提供するＷｅｂサービス１０８が稼働する、ホストコンピュータ３（１０６）のＷｅｂサーバ１０７は、処理時間の判定を行う。つまり、呼び出された機能１による処理が、予め定められた、そのＷｅｂサービスの要求期間内に完了するかどうかを判定する。この判定は、例えば、機能１の内容と、呼び出し先から受信した、処理内容を表す文字列３０３とを解析することによって行うことができる。
【００５１】
そして、処理がＷｅｂサービスの要求期間内に完了すると判定される場合は、第１の実施形態と同様にしてＷｅｂサービスを呼び出す。そして、Ｗｅｂサービスの処理結果を受け取ると、図４のステップＳ４０４で、データベース１０５内の該当レコードデータの実行状態フィールド８０２に、処理結果に応じて「正常終了」または「エラー終了」を書き込む。
【００５２】
この際、タスクＩＤ８０１が、機能呼び出しのパラメタとして、スケジュール実行部１０３から、Ｗｅｂサーバ１０７を通じて、機能１を提供するＷｅｂサービス１０８に渡される。そして、Ｗｅｂサーバ１０７上で稼働するＷｅｂサービス１０８は、データベース１０５中の対応するレコードデータをタスクＩＤ８０１により特定し、実行状態フィールド８０２を更新する。
【００５３】
次に、処理時間がＷｅｂサービスの要求時間内に完了しないと判定された場合の処理について説明する。
図９は、時間のかかる処理をＷｅｂサービス呼び出しを利用して行うの場合の、各モジュールの動作を、時系列で示すシーケンス図である。
【００５４】
スケジュール実行部１０３は、定期的にデータベース１０５を検査し、登録リストの中で、実行日時３０１が現在時刻以前で且つ実行状態フィールド８０２が「実行待ち」のレコードデータを検索する。該当する各レコードデータの、ＵＲＩアドレス３０２に対して、処理内容３０３に格納された文字列を添付して、Ｗｅｂサービス呼び出しを行う（９０２）。Ｗｅｂサービス呼び出しが行われると、Ｗｅｂサーバ１０７は要求を受け取り、ＵＲＩ３０２に対応するＷｅｂサービス１０８を起動する。
【００５５】
起動されたＷｅｂサービス１０８は、機能実行の要求を受けると、例えば同じホストコンピュータ３（１０６）に予め用意された、処理内容３０３を処理するための外部プログラム（機能処理プログラム）９０１を起動し（９０３）、処理を委譲する。そして、自らは仮の処理結果をＷｅｂサービス１０８の呼び出し元であるスケジュール実行部１０３に返してサービスを終了する（９０４）。これにより、Ｗｅｂサービス１０８は、呼び出しから所定時間内に処理結果を応答することができる。
【００５６】
一方、要求された機能の実体的な処理を行う外部プログラム９０１は、処理を開始すると先ず、Ｗｅｂサービス１０８から受け渡されたタスクＩＤ８０１を用い、データベース１０５内の登録リストを検索する。そして、対応するレコードデータの実行状態フィールド８０２を「実行中」に更新し（９０５）、要求された処理内容３０３に従い、処理を実行する（９０６）。処理の実行が終了すると、データベース１０５内の実行状態フィールド８０２を、処理結果に応じて「正常終了」または「エラー終了」に更新してプログラムを終了する（９０７）。
【００５７】
そして、スケジュール実行部１０３は、呼び出した処理の実際の処理結果を、実行状態フィールド８０２を参照することによって把握することができる。
【００５８】
図１０に、処理を実行中である機能処理プログラム９０１に対し、ユーザからの要求等を通知する際のシーケンス図を示す。
この例では、ユーザからの要求は、ＰＣ５０２上で稼働するＷｅｂブラウザ５０３により、ホストコンピュータ３（１０６）が提供する機能１設定用ＵＩ５０１を用いて指示するものとする。
【００５９】
図６に示したＵＩとは異なり、この場合の機能１設定用ＵＩ（モジュール）５０１は、Ｗｅｂブラウザ５０３から呼び出されると、データベース１０５にアクセスする。そして、機能呼び出しリスト中の、現在実行中の機能に対応する実行状態フィールド８０２から、実行状態を取得する。そして、実行状態を表すメッセージと、「中断」ボタンとを少なくとも含むＵＩを、要求指示用画面としてＷｅｂブラウザ５０３へ提供する。
【００６０】
ユーザがＷｅｂブラウザ５０３に表示された要求指示用画面に含まれる「中断」ボタンをクリックし、実行中の機能呼び出しの中断を要求したとすると、この操作は機能１設定用ＵＩ５０１へ通知される。機能１設定用ＵＩ５０１は、「中断」コマンドと共に、Ｗｅｂサービス１０８を呼び出す（１００１）。
【００６１】
Ｗｅｂサービス１０８は中断コマンドを受け取ると、機能処理プログラム９０１とＲＰＣ(Remote Procedure Call)等を用いて通信を行い、機能処理プログラム９０１に対して「中断」要求を送信する（１００２）。「中断」要求を受け取った機能処理プログラム９０１は、要求されたコマンドを処理し（１００３）、結果を呼び出し元であるＷｅｂサービス１０８へ返す（１００４）。Ｗｅｂサービス１０８は受け取った結果を更に、Ｗｅｂサービスの呼び出し元である機能１設定用ＵＩ１０５に返し、ＵＩは必要に応じて結果をＨＴＭＬデータでＷｅｂブラウザ５０３に送信する。これにより、ユーザは要求の結果をＷｅｂブラウザ５０３で確認することができる。最後に、機能処理プログラム９０１は、データベース１０５内の実行状態を、中断された処理の実行状態に応じて「正常終了」または「エラー終了」に更新して終了する（９０７）。
【００６２】
本実施形態によれば、Ｗｅｂサービスが処理を外部プログラムに委譲することで、Ｗｅｂサービスの要求時間内では終了しないような処理であっても、Ｗｅｂサービスの呼び出しを利用して実行することが可能になる。
【００６３】
また、外部プログラムが実際の処理状況（実行状態）をデータベース１０５に反映させ、またこの実行状態をユーザが利用するＰＣのＷｅｂブラウザから確認可能とすることで、実際の処理状況をユーザが確認することができる。また、Ｗｅｂサービスを通じて外部プログラムと通信することが可能であるため、実行中の処理に対してユーザの要求を通知することが可能である。
【００６４】
（他の実施形態）
上述の実施形態は、システム或は装置のコンピュータ（或いはＣＰＵ、ＭＰＵ等）によりソフトウェア的に実現することも可能である。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるコンピュータプログラム自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６５】
この場合、本発明の機能処理をコンピュータで実現するためのコンピュータプログラムは、記憶媒体又は有線／無線通信によりコンピュータに供給される。プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００６６】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）をサーバに記憶しておく。プログラムデータファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【００６７】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムデータファイルをダウンロードすることによって供給する。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルをクライアントコンピュータに提供するサーバ装置も本発明に含む。
【００６８】
また、本発明のコンピュータプログラムを暗号化して格納した記憶媒体をユーザに配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを可能とすることも可能である。鍵情報は例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【００６９】
また、コンピュータにより実施形態の機能を実現するためのコンピュータプログラムが、実施形態の機能を、すでにコンピュータ上で稼働するＯＳの機能を利用して実現しても良い。
【００７０】
さらに、本発明を構成するコンピュータプログラムの少なくとも一部が、コンピュータに装着される拡張ボード等のファームウェアとして提供され、拡張ボード等が備えるＣＰＵを利用して上述の実施形態の機能を実現しても良い。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施形態に係るスケジュール実行装置を適用可能なコンピュータネットワークの構成例を示す図である。
【図２】スケジュール実行部１０３が、データベース１０５に登録されている登録情報に基づいて、Ｗｅｂサービスをスケジュールに従って呼び出す処理の流れを示すフローチャートである。
【図３】第１の実施形態において、データベース１０５に格納される、機能呼び出しリストのレコード構成及びデータの例を示す図である。
【図４】呼び出された機能の実行を行うホストコンピュータ側の処理の流れを示すフローチャートである。
【図５】本発明の第２の実施形態に係るコンピュータネットワークの構成例を示す図である。
【図６】第２の実施形態において、機能１設定用ＵＩ５０１により、Ｗｅｂブラウザ５０３に提供され、表示される設定用ユーザインタフェースの例を示す図である。
【図７】図６の設定画面において入力された検索条件を、ＸＭＬ形式に変換した例を示す図である。
【図８】第３の実施形態において、データベース１０５に格納される機能呼び出しリストに登録されるレコードデータの例を示す図である。
【図９】時間のかかる処理をＷｅｂサービス呼び出しを利用して行うの場合の、各モジュールの動作を、時系列で示すシーケンス図である。
【図１０】処理を実行中である機能処理プログラム９０１に対し、ユーザからの要求等を通知する際のシーケンス図である。
【図１１】実施形態に係るホストコンピュータ１〜４及びＰＣの構成例を示すブロック図である。
【図１】
2007122189.tif 000003
【図２】
2007122189.tif 000004
【図３】
2007122189.tif 000005
【図４】
2007122189.tif 000006
【図５】
2007122189.tif 000007
【図６】
2007122189.tif 000008
【図７】
2007122189.tif 000009
【図８】
2007122189.tif 000010
【図９】
2007122189.tif 000011
【図１０】
2007122189.tif 000012
【図１１】
2007122189.tif 000013