(57)【要約】【課題】可能な限り多く、しかも可能な限り最新の明細データに対応した配信ファイルを作成するためのジョブ管理システム、ジョブ管理方法及びジョブ管理プログラムを提供する。【解決手段】配信処理サーバ２０の制御部２１は、顧客毎の明細発生パターン及び過去実績から明細予測数を算出する。制御部２１は、この明細予測数に基づいてジョブ起動時刻を算出して、スケジューリングを行なう。編集ジョブを実行する時間が重複する場合には、顧客企業の優先度に応じて重複するジョブ実行時間を分割する。そして、この分割に応じて、以降の編集ジョブのジョブ起動時刻を再計算する。このスケジュールに基づいて各顧客企業の編集ジョブを実行する。更に、編集ジョブの待機中に、現在の明細数が明細予測数以上になった場合、この明細数から新ジョブ起動時刻を算出し、ジョブ実行予定を変更する。【選択図】図１
2008217457.tif 000002
【特許請求の範囲】
【請求項１】
明細データから配信ファイルを作成する編集ジョブ毎にジョブ属性及び配信時刻に関するデータを記録した配信条件記憶手段と、
前記編集ジョブ毎に、起動するジョブ起動時刻に関するデータを記録するスケジュール記憶手段と、
各編集ジョブのジョブ実行予定データを生成する制御手段とを備えたジョブ管理システムであって、
前記制御手段が、
前記配信条件記憶手段に記録された配信時刻に配信するファイルを編集する各編集ジョブにおいて処理する明細予測数を算出する手段と、
前記算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する手段と、
前記各編集ジョブにおいて編集されるファイルの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する手段と、
前記算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定し、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻の再計算処理を実行する手段と、
この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成し、この生成したジョブ実行予定データを前記スケジュール記憶手段に記録する手段と
を備えたことを特徴とするジョブ管理システム。
【請求項２】
前記制御手段が、
前記ジョブ実行予定データにおいてジョブ実行時間が重複する場合、同じ属性の後続ジョブと、この後続ジョブの直前の他の編集ジョブを特定し、この編集ジョブのジョブ終了時刻と前記後続ジョブのジョブ起動時刻との差分から追加実行可能時間を算出し、
前記追加実行可能時間に応じて、重複する編集ジョブの優先度を決定する手段と、
前記優先度に応じて、重複した編集ジョブのジョブ実行時間を分割する手段とを更に備えたことを特徴とする請求項１に記載のジョブ管理システム。
【請求項３】
前記制御手段が、
前記スケジュール記憶手段に記録されたジョブ実行予定データに基づいて、次に実行する編集ジョブを特定し、
前記編集ジョブにおいて処理対象の明細の現在数を取得し、
前記現在数が、前記編集ジョブの明細予測数を超えている場合には、前記現在数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出し、
前記各編集ジョブの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブの新ジョブ起動時刻を再計算し、前記編集ジョブのジョブ実行予定データのジョブ起動時刻を更新する手段を更に備えたことを特徴とする請求項１又は２に記載のジョブ管理システム。
【請求項４】
前記ジョブ属性に関連付けて明細発生パターンが記録されている明細発生パターン記憶手段を更に備え、
前記制御手段が、
実行予定の編集ジョブのジョブ属性を取得し、前記明細発生パターン記憶手段に記録された明細発生パターンを用いて、編集ジョブ毎に明細予測数を算出することを特徴とする請求項１〜３のいずれか１項に記載のジョブ管理システム。
【請求項５】
終了した編集ジョブにおいて処理した実績明細数をジョブ属性毎に記録する実績記憶手段を更に備え、
前記制御手段が、
実行予定の編集ジョブのジョブ属性を取得し、
前記実績記憶手段から前記ジョブ属性の実績明細数を取得し、
前記実績明細数に対して前記明細発生パターン記憶手段から記録された明細発生パターンを適用して明細予測数を算出することを特徴とする請求項４に記載のジョブ管理システム。
【請求項６】
明細データから配信ファイルを作成する編集ジョブ毎にジョブ属性及び配信時刻に関するデータを記録した配信条件記憶手段と、
前記編集ジョブ毎に、起動するジョブ起動時刻に関するデータを記録するスケジュール記憶手段と、
各編集ジョブのジョブ実行予定データを生成する制御手段とを備えたジョブ管理システムを用いてジョブを管理する方法であって、
前記制御手段が、
前記配信条件記憶手段に記録された配信時刻に配信するファイルを編集する各編集ジョブにおいて処理する明細予測数を算出する段階と、
前記算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する段階と、
前記各編集ジョブにおいて編集されるファイルの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する段階と、
前記算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定し、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻の再計算処理を実行する段階と、
この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成し、この生成したジョブ実行予定データを前記スケジュール記憶手段に記録する段階と
を実行することを特徴とするジョブ管理方法。
【請求項７】
明細データから配信ファイルを作成する編集ジョブ毎にジョブ属性及び配信時刻に関するデータを記録した配信条件記憶手段と、
前記編集ジョブ毎に、起動するジョブ起動時刻に関するデータを記録するスケジュール記憶手段と、
各編集ジョブのジョブ実行予定データを生成する制御手段とを備えたジョブ管理システムを用いてジョブを管理するプログラムであって、
前記制御手段を、
前記配信条件記憶手段に記録された配信時刻に配信するファイルを編集する各編集ジョブにおいて処理する明細予測数を算出する手段と、
前記算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する手段と、
前記各編集ジョブにおいて編集されるファイルの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する手段と、
前記算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定し、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻の再計算処理を実行する手段と、
この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成
し、この生成したジョブ実行予定データを前記スケジュール記憶手段に記録する手段
として機能することを特徴とするジョブ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行するジョブを管理するジョブ管理システム、ジョブ管理方法及びジョブ管理プログラムに係わり、特に金融機関のホストコンピュータに記憶されている金融取引に関する情報を提供するためのジョブのスケジュール管理に関する。
【背景技術】
【０００２】
顧客に対して大量のデータを提供する場合、これらのデータを１つにまとめたファイルを作成して提供することがある。また、このようなファイルの配信には、予め配信時刻を決定しておくこともある。例えば、銀行等の金融機関が提供するファームバンキングサービスにおいても、顧客の口座への入出金の明細データをまとめて配信ファイルを作成して提供する場合がある。そして、顧客企業システムからの配信要求に応じて、この顧客企業に関連する配信ファイルを顧客企業システムに提供する。
【０００３】
このような配信ファイルを、顧客企業システムにおいて効率的に受信するための金融取引情報取得装置が検討されている（例えば、特許文献１参照。）。この文献記載の金融取引情報取得装置には、顧客によって設定された「実行間隔」や「開始時刻」等のタイマー条件が登録される。そして、タイマー条件に基づき受信処理の実行タイミングの到来を監視し、実行タイミングが到来すると受信処理を自動的に起動させる。
【特許文献１】特開２００４−１２６７３４号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１記載の金融取引情報取得装置に提供する配信ファイルの作成には、データベースに蓄積されている明細データを１つの配信ファイルに編集するための時間（ジョブ所要時間）が必要である。このため、従来は、顧客が希望する配信時刻に間に合うように、この配信時刻に対して予め定められた時間前に配信ファイルを作成するためのジョブを起動させていた。一方、このような配信ファイルにおいては、可能な限り多く、しかも可能な限り最新の明細データに対応したファイルを生成することが望ましい。
【０００５】
しかし、このジョブ所要時間は明細数に応じて異なり、この明細数は顧客や日程に応じた条件によって大きく変動するため、従来のように予めジョブ起動時刻を定めた方法では柔軟な対応ができなかった。例えば、明細数が多い場合には、所定時間内に多くの明細データに対応しきれず、処理が完了しない場合があった。一方、時間的に余裕をもって編集ジョブを起動していたのでは、明細数が少ない場合、配信時刻よりも早い時刻に編集ジョブが終わってしまうことがあり、配信ファイルに最新の明細データを含めることができない場合がある。
【０００６】
本発明は、上述した問題に鑑みてなされ、その目的は、可能な限り多く、しかも可能な限り最新の明細データに対応した配信ファイルを作成するためのジョブ管理システム、ジョブ管理方法及びジョブ管理プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、請求項１に記載の発明は、明細データから配信ファイルを作成する編集ジョブ毎にジョブ属性及び配信時刻に関するデータを記録した配信条件記憶手段と、前記編集ジョブ毎に、起動するジョブ起動時刻に関するデータを記録するスケジュール記憶手段と、各編集ジョブのジョブ実行予定データを生成する制御手段とを備えたジョブ管理システムであって、前記制御手段が、前記配信条件記憶手段に記録された配
信時刻に配信するファイルを編集する各編集ジョブにおいて処理する明細予測数を算出する手段と、前記算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する手段と、前記各編集ジョブにおいて編集されるファイルの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する手段と、前記算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定し、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻の再計算処理を実行する手段と、この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成し、この生成したジョブ実行予定データを前記スケジュール記憶手段に記録する手段とを備えたことを要旨とする。
【０００８】
請求項２に記載の発明は、請求項１に記載のジョブ管理システムにおいて、前記制御手段が、前記ジョブ実行予定データにおいてジョブ実行時間が重複する場合、同じ属性の後続ジョブと、この後続ジョブの直前の他の編集ジョブを特定し、この編集ジョブのジョブ終了時刻と前記後続ジョブのジョブ起動時刻との差分から追加実行可能時間を算出し、前記追加実行可能時間に応じて、重複する編集ジョブの優先度を決定する手段と、前記優先度に応じて、重複した編集ジョブのジョブ実行時間を分割する手段とを更に備えたことを要旨とする。
【０００９】
請求項３に記載の発明は、請求項１又は２に記載のジョブ管理システムにおいて、前記制御手段が、前記スケジュール記憶手段に記録されたジョブ実行予定データに基づいて、次に実行する編集ジョブを特定し、前記編集ジョブにおいて処理対象の明細の現在数を取得し、前記現在数が、前記編集ジョブの明細予測数を超えている場合には、前記現在数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出し、前記各編集ジョブの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブの新ジョブ起動時刻を再計算し、前記編集ジョブのジョブ実行予定データのジョブ起動時刻を更新する手段を更に備えたことを要旨とする。
【００１０】
請求項４に記載の発明は、請求項１〜３のいずれか１項に記載のジョブ管理システムにおいて、前記ジョブ属性に関連付けて明細発生パターンが記録されている明細発生パターン記憶手段を更に備え、前記制御手段が、実行予定の編集ジョブのジョブ属性を取得し、前記明細発生パターン記憶手段に記録された明細発生パターンを用いて、編集ジョブ毎に明細予測数を算出することを要旨とする。
【００１１】
請求項５に記載の発明は、請求項４に記載のジョブ管理システムにおいて、終了した編集ジョブにおいて処理した実績明細数をジョブ属性毎に記録する実績記憶手段を更に備え、前記制御手段が、実行予定の編集ジョブのジョブ属性を取得し、前記実績記憶手段から前記ジョブ属性の実績明細数を取得し、前記実績明細数に対して前記明細発生パターン記憶手段から記録された明細発生パターンを適用して明細予測数を算出することを要旨とする。
【００１２】
請求項６に記載の発明は、明細データから配信ファイルを作成する編集ジョブ毎にジョブ属性及び配信時刻に関するデータを記録した配信条件記憶手段と、前記編集ジョブ毎に、起動するジョブ起動時刻に関するデータを記録するスケジュール記憶手段と、各編集ジョブのジョブ実行予定データを生成する制御手段とを備えたジョブ管理システムを用いてジョブを管理する方法であって、前記制御手段が、前記配信条件記憶手段に記録された配信時刻に配信するファイルを編集する各編集ジョブにおいて処理する明細予測数を算出する段階と、前記算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する段階と、前記各編集ジョブにおいて編集されるファイルの
配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する段階と、前記算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定し、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻の再計算処理を実行する段階と、この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成し、この生成したジョブ実行予定データを前記スケジュール記憶手段に記録する段階とを実行することを要旨とする。
【００１３】
請求項７に記載の発明は、明細データから配信ファイルを作成する編集ジョブ毎にジョブ属性及び配信時刻に関するデータを記録した配信条件記憶手段と、前記編集ジョブ毎に、起動するジョブ起動時刻に関するデータを記録するスケジュール記憶手段と、各編集ジョブのジョブ実行予定データを生成する制御手段とを備えたジョブ管理システムを用いてジョブを管理するプログラムであって、前記制御手段を、前記配信条件記憶手段に記録された配信時刻に配信するファイルを編集する各編集ジョブにおいて処理する明細予測数を算出する手段と、前記算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する手段と、前記各編集ジョブにおいて編集されるファイルの配信時刻に対して、前記算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する手段と、前記算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定し、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻の再計算処理を実行する手段と、この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成し、この生成したジョブ実行予定データを前記スケジュール記憶手段に記録する手段として機能することを要旨とする。
【００１４】
（作用）
請求項１、６又は７に記載の発明によれば、制御手段は、配信条件記憶手段に記録された配信時刻の各編集ジョブにおいて処理する明細予測数を算出する。次に、算出した明細予測数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する。そして、各編集ジョブの配信時刻に対して、算出したジョブ所要時間を適用して、各編集ジョブのジョブ起動時刻を算出し、ジョブ実行予定データを生成する。これにより、配信時刻の直前に編集ジョブが完了するように起動するスケジュールを生成することができる。従って、この編集ジョブにより最新の明細をできる限り多く含めた配信ファイルを作成することができる。
【００１５】
更に、算出したジョブ実行予定データにおいてジョブ実行時間が重複する場合には、重複する編集ジョブと同じ属性の後続ジョブを特定する。次に、重複したジョブ実行時間の少なくとも一部を後続ジョブのジョブ実行予定データに加算してジョブ起動時刻を再計算する。この再計算処理によって算出したジョブ起動時刻を用いてジョブ実行予定データを生成する。これにより、重複した編集ジョブのジョブ起動時刻を調整することができる。
【００１６】
請求項２に記載の発明によれば、ジョブ実行予定データにおいてジョブ実行時間が重複する場合、同じ属性の後続ジョブと、この後続ジョブの直前の他の編集ジョブを特定する。そして、この編集ジョブのジョブ終了時刻と後続ジョブのジョブ起動時刻との差分から追加実行可能時間を算出する。次に、追加実行可能時間に応じて、重複する編集ジョブの優先度を決定し、優先度に応じて、重複した編集ジョブのジョブ実行時間を分割する。これにより、追加実行可能時間を用いて後続ジョブにおける余裕を評価し、この評価に応じて、重複する編集ジョブの負荷を分配することができる。
【００１７】
請求項３に記載の発明によれば、制御手段は、編集ジョブにおいて処理対象の明細の現在数を取得する。ここで、現在数が、編集ジョブの明細予測数を超えている場合には、現在数及び単位時間処理可能数を用いて、各編集ジョブにおけるジョブ所要時間を算出する。そして、各編集ジョブの配信時刻に対して、算出したジョブ所要時間を適用して、各編集ジョブの新ジョブ起動時刻を再計算し、編集ジョブのジョブ実行予定データのジョブ起動時刻を更新する。これにより、明細の蓄積状況に応じて柔軟にスケジュールを変更して、編集ジョブを実行させることができる。
【００１８】
請求項４に記載の発明によれば、制御手段は、実行予定の編集ジョブのジョブ属性を取得し、明細発生パターン記憶手段に記録された明細発生パターンを用いて、編集ジョブ毎に明細予測数を算出する。これにより、顧客の明細発生パターンを用いて、的確にジョブ所要時間を予測することができる。
【００１９】
請求項５に記載の発明によれば、実行予定の編集ジョブのジョブ属性を取得し、実績記憶手段からジョブ属性の実績明細数を取得し、実績明細数に対して明細発生パターン記憶手段から記録された明細発生パターンを適用して明細予測数を算出する。これにより、実績に応じた明細予測数を算出することができ、的確にジョブ所要時間を予測することができる。
【発明の効果】
【００２０】
本発明によれば、可能な限り多く、しかも可能な限り最新の明細データに対応した配信ファイルを作成するためのジョブ管理システム、ジョブ管理方法及びジョブ管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を具体化した一実施形態を図１〜図１０に基づいて説明する。本実施形態においては、顧客企業毎に逐次発生した複数の明細データをまとめて１つの配信ファイルに編集して配信サービスを提供する場合を想定する。ここでは、取引はリアルタイムで逐次発生するため、１つの配信ファイルに編集する明細データ数は、編集ジョブを開始する直前までわからない状況にある。この配信サービスの提供の際には、顧客企業との間で配信契約を締結する。この契約の中では、配信を行なう時刻（配信時刻）や、配信ファイルの形式（例えば、登録口座毎に明細データを分類して生成）等を定める。そして、これらの契約データ（配信時刻や形式に関するデータ）は、各顧客を特定するための顧客識別子に関連付けられて配信契約データ記憶部（図示せず）に格納される。
【００２２】
図１に示すように、本実施形態の配信処理サーバ２０は、例えば、銀行などの勘定系システムにおいて、入出金が行なわれた取引明細を管理する取引明細管理システムに接続されている。この取引明細管理システムは、個々の取引処理に関する明細データを蓄積している明細データベース３０を備えている。この明細データには、顧客企業の口座に対して取引先口座からの入金や、顧客企業の口座から取引先口座への出金についての取引明細に関するデータが含まれる。この明細データには、顧客口座識別子、取引先口座識別子、取引内容及び取引金額等に関するデータを含む。この顧客口座識別子を用いることにより顧客企業を特定するための顧客識別子を取得することができる。なお、後述する編集ジョブを行なった明細データについては、明細データベース３０において、この明細データに対して処理済みフラグデータが関連付けられて記録される。
【００２３】
更に、配信処理サーバ２０は、ネットワーク（図示せず）を介して、顧客企業システムに接続可能となっている。そして、本実施形態では、配信処理サーバ２０は、顧客企業システムに対して、全銀フォーマットで作成された配信ファイル４０を送信する。なお、この配信ファイル４０は、複数の取引明細データと、「ヘッダ」、「トレーラ」及び、「エ
ンド」に関するデータとを含んで構成される。「エンド」は、配信ファイル４０の最後に付される。「ヘッダ」は、配信ファイル全体又は所定の取引明細データのまとまり（例えば、配信契約データ記憶部において複数の口座を登録している場合には、口座毎の取引明細データの集合体）の先頭に付される。「トレーラ」は、「ヘッダ」に対応して取引明細データのまとまりの後に付される。顧客企業システムは、決められた配信時刻になると、この金融ネットワークを介して配信ファイル４０を配信処理サーバ２０から取得する。
【００２４】
また、配信処理サーバ２０は、顧客企業システムに提供する配信ファイル４０を作成する編集ジョブを実行する。この場合、この配信処理サーバ２０は、「可能な限り多く」そして「可能な限り最新」の取引明細を含めた配信ファイル４０を作成するためのスケジューリングシステムとして機能する。
【００２５】
この配信処理サーバ２０は、編集ジョブを管理する制御手段としての制御部２１を備える。制御部２１は、図示しないＣＰＵ、ＲＡＭ及びＲＯＭ等を有し、後述する処理（明細予測数算出段階、ジョブ所要時間算出段階、ジョブ実行予定データ生成段階、ジョブ起動時刻再計算段階及びジョブ実行予定データ記録段階等を含む処理）を行なう。そして、このためのジョブ管理プログラムを実行することにより、制御部２１は、明細予測数算出手段、ジョブ所要時間算出手段、ジョブ実行予定データ生成手段、ジョブ起動時刻再計算手段及びジョブ実行予定データ記録手段等として機能する。
【００２６】
この制御部２１は、単位時間処理可能数及びバッファ時間に関するデータをメモリに保持している。ここで、単位時間処理可能数とは単位時間当たりに編集できる明細数である。また、バッファ時間とは編集ジョブを終了してから配信時刻までの余裕時間である。
【００２７】
更に、制御部２１のメモリには、起動時刻算出式及びジョブ所要時間算出式に関するデータが保持されている。ここで、起動時刻算出式とは、ジョブ起動時刻を算出するための関数である。具体的には、以下の算出式を用いる。
〔ジョブ起動時刻〕＝〔配信時刻〕−〔バッファ時間〕−〔ジョブ所要時間〕
また、ジョブ所要時間算出式とは、編集ジョブに要する時間を算出するための式である。具体的には、以下の算出式を用いる。
〔ジョブ所要時間〕＝〔明細数〕／〔単位時間処理可能数〕
更に、制御部２１のメモリには、顧客優先度算出式及び分割実行時間算出式に関するデータが保持されている。この顧客優先度算出式は、スケジューリングにおいて編集ジョブが重複した時間（重複ジョブ実行時間）が存在する場合に、各顧客企業の優先度を算出するための関数である。具体的には、以下の算出式を用いる。
〔顧客優先度〕＝〔重複ジョブ実行時間〕／〔顧客企業の追加実行可能時間の和〕
ここで、追加実行可能時間とは、重複している編集ジョブに関する各顧客企業において、同日の他の配信における編集ジョブにおいて処理を追加することができる時間（調整可能な時間）である。この追加実行可能時間としては、ジョブが重複した顧客企業のジョブであって、重複ジョブよりも後に行なわれるジョブ（後続対象ジョブ）の開始時刻と、この後続対象ジョブの直前に実行される編集ジョブの終了時刻との差分を用いる。本実施形態の顧客優先度算出式においては、追加実行可能時間が長い場合には、優先度が低くなるように構成されている。
【００２８】
分割実行時間算出式は、重複ジョブ実行時間を、編集ジョブが重複している顧客企業毎に分割する関数である。具体的には、以下の算出式を用いる。
〔分割実行時間〕＝〔重複ジョブ実行時間〕×（〔各顧客優先度〕／〔重複顧客の優先度の和〕）
更に、制御部２１は、顧客情報データベース２２、明細発生パターンデータベース２３、明細発生予測データベース２４、明細発生実績データベース２５及びジョブ実行スケジ
ュールデータベース２６に接続されている。制御部２１は、これらデータベース（２２〜２６）に対してデータの読出及び書込を行なう。
【００２９】
顧客情報データベース２２は配信条件記憶手段として機能し、この配信サービスを利用する顧客企業に関するデータが記録されている。この顧客情報は、この配信サービスの利用契約がなされた場合に登録される。この顧客情報には、この顧客識別子、顧客口座識別子、顧客企業名、配信時刻に関するデータが含まれる。
【００３０】
顧客識別子データ領域には、顧客企業を特定するための識別子データが記録されている。本実施形態では、この顧客識別子によりジョブ属性が特定される。
顧客口座識別子データ領域には、顧客企業の口座を特定するための識別子データが記録されている。
【００３１】
顧客企業名データ領域には、この顧客企業の名称に関するデータが記録されている。
配信時刻データ領域には、この顧客企業に対する配信時刻に関するデータが記録されている。この配信時刻は配信契約データ記憶部に記録された契約データに基づいて設定される。具体的には、配信サービスの提供日（営業日）において、顧客企業システムにデータ配信を行なう時刻である。本実施形態においては、配信ファイル４０は、１日１回から複数回に亘って配信される。このため、配信時刻データ領域には、配信する回数に応じた数の配信時刻が記録されている。
【００３２】
一方、明細発生パターンデータベース２３は明細発生パターン記憶手段として機能し、顧客企業毎に明細データの発生傾向を示した明細発生パターンデータが記録されている。この明細発生パターンデータは、定期的に顧客企業の取引明細数に基づいて明細発生パターンを算出した場合に記録される。この明細発生パターンデータは、顧客識別子、パターン識別子及びルール条件に関するデータを含む。
【００３３】
顧客識別子データ領域には、顧客企業を特定するための識別子に関するデータが記録されている。この顧客識別子を用いることにより、明細発生パターンデータと顧客情報データベース２２の顧客情報とが関連付けられる。
【００３４】
パターン識別子データ領域には、明細発生のパターンを特定するためのデータが記録されている。本実施形態では、以下のパターンを用いる。
・第１パターン：一定値のパターン
・第２パターン：週単位でピーク日があるパターン
・第３パターン：月単位でピーク日があるパターン
・第４パターン：年単位でピーク日があるパターン
・第５パターン：複数の条件によってピーク日があるパターン
・第６パターン：ランダムなパターン
【００３５】
ルール条件データ領域には、各パターン識別子に対応して明細予測数を算出するための適用ルールや条件に関するデータが記録されている。
第１パターンを適用する場合には、一定値を算出するためのルール（例えば、過去の所定期間の平均値を算出する関数等）が記録される。
また、第２パターンの場合には、週単位でのピーク日の条件（例えば、曜日、週初営業日、週末営業日、週初第××営業日等）と、この条件日における明細数を算出するためのルールが記録される。
【００３６】
第３パターンの場合には、月単位でのピーク日の条件（例えば、月初営業日、月末営業日、月初第××営業日等）と、この条件日における明細数を算出するためのルールが記録
される。
【００３７】
第４パターンの場合には、年単位でのピーク日の条件（例えば、××月××日等）と、この条件日における明細数を算出するためのルールが記録される。
第５パターンの場合には、ピーク日を特定するための複数の条件と、この条件日における明細数を算出するためのルールが記録される。
第６パターンの場合には、顧客企業の過去の明細発生データを利用して乱数を用いて明細数を算出するためのルールが記録される。
【００３８】
また、明細発生予測データベース２４には、顧客企業毎に各配信時刻において編集ジョブの対象となる明細予測数に関する明細発生予測データが記録される。この明細発生予測データは、発生明細数の予測処理を行なった場合に記録される。明細発生予測データは、顧客識別子、配信時刻及び明細予測数に関するデータを含む。
【００３９】
顧客識別子データ領域には、予測対象となる顧客企業を特定するための顧客識別子に関するデータが記録される。
配信時刻データ領域には、予測対象となる配信時刻に関するデータが記録される。
明細予測数データ領域には、この顧客企業においてこの配信時刻に配信するファイルの編集ジョブの対象となる明細の予測数（明細予測数）に関するデータが記録される。
【００４０】
更に、明細発生実績データベース２５は実績記憶手段として機能し、図２に示すように、過去に発生した明細に関する明細発生実績データ２５０が記録される。この明細発生実績データ２５０を用いることにより、営業日条件（曜日や第××営業日等）から各明細発生パターンの条件ルールに基づく明細数を算出することができる。この明細発生実績データ２５０は、配信ファイル４０を作成したときに記録される。この明細発生実績データ２５０は、発生日時、顧客識別子及び明細数に関するデータを含む。
【００４１】
発生日時データ領域には、明細が発生した年月日及び時刻に関するデータが記録されている。本実施形態では、時刻として「分」単位で記録されている。
顧客識別子データ領域には、この発生日時において発生した明細の対象顧客を特定するための識別子に関するデータが記録される。
明細数に関するデータ領域には、この顧客に対してこの発生日時に発生した明細の数に関するデータが記録される。
【００４２】
ジョブ実行スケジュールデータベース２６はスケジュール記憶手段として機能し、サービスを提供する営業日の編集ジョブのジョブ実行予定データ２６０が記録される。このジョブ実行予定データ２６０は、後述するスケジューリング処理が行なわれた場合に記録される。このジョブ実行予定データ２６０は、図３に示すように、配信時刻、顧客識別子、ジョブ起動時刻及びジョブ終了時刻に関するデータを含む。
【００４３】
配信時刻データ領域には、この編集ジョブによって作成した配信ファイル４０を配信する時刻に関するデータが記録される。
顧客識別子データ領域には、この編集ジョブにおいて作成する配信ファイル４０の対象顧客を特定するための識別子に関するデータが記録される。
【００４４】
ジョブ起動時刻データ領域には、この編集ジョブを起動する時刻に関するデータが記録される。
ジョブ終了時刻データ領域には、この編集ジョブを打ち切る時刻に関するデータが記録される。このジョブ終了時刻は、初期値として、配信時刻に対してバッファ時間だけ早い時刻を用いる。なお、本実形態では、バッファ時間は短くして、ジョブ終了時刻の初期値
と配信時刻とはほぼ一致する場合を想定する。
【００４５】
更に、配信処理サーバ２０には、図示しない日付テーブルデータベースが接続されている。この日付テーブルデータベースには、編集ジョブを実行する当日の条件（日付、曜日、週初、週末営業日、月初営業日、月末営業目、月初第××営業日、週初第××営業日等の条件）に関するデータが記録されている。
【００４６】
次に、このシステムを用いた処理手順について、図４〜図７を用いて説明する。以下に説明する処理は、サービスを提供する営業日毎に実行される。
図４は、各営業日における処理の処理手順の概略についての説明図である。配信サービスを提供する前に、配信処理サーバ２０の制御部２１は、まず、発生明細数の予測処理を実行する（ステップＳ１−１）。更に、制御部２１は、この予測数に基づいてスケジューリング処理を実行する（ステップＳ１−２）。そして、制御部２１は、このスケジュールに基づいて、編集ジョブを実行する（ステップＳ１−３）。この編集ジョブによって、配信契約データ記憶部に記録された契約データによって定められた配信ファイルの形式を用いて配信ファイル４０が作成される。更に、制御部２１は、起動時刻の調整処理を行なう（ステップＳ１−４）。以下、各処理について詳述する。
【００４７】
（発生明細数の予測処理）
ここでは、サービス提供前に行なう発生明細数の予測処理（ステップＳ１−１）について図５を用いて説明する。この予測処理において、各顧客企業の明細発生パターン及び明細発生実績を用いて営業日の各配信時刻において編集ジョブの対象となる明細予測数を算出する。この発生明細数の予測処理は、顧客企業毎に繰り返して実行される。
【００４８】
まず、配信処理サーバ２０の制御部２１は、営業日条件の受入処理を実行する（ステップＳ２−１）。具体的には、配信処理サーバ２０の制御部２１は、日付テーブルデータベースから、これに記録されている当日の条件を取得する。
【００４９】
以下の処理は、顧客企業毎に繰り返して実行される。このため、まず、繰り返し処理の対象となる顧客企業の顧客識別子を特定する。
そして、制御部２１は、明細発生パターンルールの取得処理を実行する（ステップＳ２−２）。具体的には、制御部２１は、対象顧客の顧客識別子に関連付けられている明細発生パターンデータを、明細発生パターンデータベース２３から取得する。
【００５０】
次に、制御部２１は、過去の実績に基づいて明細発生の予測処理を実行する（ステップＳ２−３）。ここで、制御部２１は、取得した明細発生パターンデータと、ステップＳ２−１において取得した営業日条件とを照合する。そして、制御部２１は、営業日条件によって特定されたルール条件を取得する。
【００５１】
次に、制御部２１は、この繰り返し処理の対象顧客の顧客識別子についての明細発生実績データ２５０を明細発生実績データベース２５から取得する。
そして、この明細発生実績データ２５０に対して、取得したルール条件を適用して、当日の各配信時刻における明細予測数を算出する。具体的には、制御部２１は、当日のルール条件に一致する年月日の明細発生実績データ２５０を特定し、この特定した明細発生実績データ２５０から、予測する配信時刻に対応する明細数を取得する。ここで、配信時刻に対応する明細数は、予測する配信時刻の１つ前の配信時刻を過ぎてからこの配信時刻までの時間で発生した明細の数である。このため、制御部２１は、予測する配信時刻の１つ前の配信時刻からこの配信時刻までの発生日時に関連付けられている明細数を、明細発生実績データ２５０から取得する。そして、制御部２１は、取得した明細の数を合計し、この合計数を、各配信時刻における明細予測数とする。例えば、予測する配信時刻が１１時
であり、この１つ前の配信時刻が１０時の場合には、制御部２１は、営業日条件に一致する過去の日の１０時０１分〜１１時までの発生日時を有する明細発生実績データ２５０を取得し、これに含まれる明細数を合計する。なお、営業日条件に一致する年月日が複数ある場合には、各日における明細数の合計を算出し、これらの平均を明細予測数として用いる。
【００５２】
そして、算出した明細予測数を、その配信時刻及び対象顧客の顧客識別子に関連付けて、明細発生予測データベース２４に記録する。
そして、上記ステップＳ２−２〜Ｓ２−３の処理を各顧客企業について繰り返して行なう。その結果、すべての顧客企業の明細発生予測データが明細発生予測データベース２４に記録された場合、発生明細数の予測処理を終了する。
【００５３】
（予測数に基づくスケジューリング処理）
上述した発生明細数の予測処理（ステップＳ１−１）に続けて、制御部２１は、予測数に基づくスケジューリング処理を実行する（ステップＳ１−２）。このスケジューリング処理において、制御部２１は、算出した明細予測数及び顧客企業の配信時刻に基づき、可能な限り多くかつ最新の明細を提供できるように、各編集ジョブの起動スケジューリングを行なう。具体的な処理手順を、図６を用いて説明する。
【００５４】
まず、制御部２１は、配信時刻の取得処理を実行する（ステップＳ３−１）。具体的には、制御部２１は、顧客情報データベース２２に記録されている顧客情報（配信時刻、顧客識別子）を取得する。
【００５５】
次に、制御部２１は、配信時刻毎に、ジョブ起動時刻の算出処理を実行する（ステップＳ３−２）。ここでは、まず、制御部２１は、顧客企業毎の明細発生予測データを取得する。具体的には、制御部２１は、ジョブ起動時刻を算出する配信時刻を特定し、配信時刻に関連付けられた顧客識別子を特定する。次に、制御部２１は、明細発生予測データベース２４から、この顧客識別子の各配信時刻に関連付けられた明細予測数を取得する。
【００５６】
次に、制御部２１は、明細予測数を明細数としてジョブ所要時間算出式に代入して編集ジョブの実行時間を算出する。そして、制御部２１は、算出した編集ジョブの所要時間と、この顧客企業の顧客識別子に関連付けられて顧客情報データベース２２に記録された配信時刻とを起動時刻算出式に代入して、ジョブ起動時刻を算出する。更に、ジョブ終了時刻の初期値として、配信時刻に対してバッファ時間だけ早い時刻を算出する。そして、制御部２１は、配信時刻、配信先の顧客識別子、ジョブ起動時刻及びジョブ終了時刻を含む仮のジョブ実行予定データを生成して一時的に記憶する。
【００５７】
このようにして、すべての配信時刻に対してジョブ起動時刻を算出し、仮のジョブ実行予定データを生成して、各ジョブ実行予定データからなる仮スケジュールデータを生成する。
【００５８】
次に、制御部２１は、配信時刻を基準にしてジョブ実行予定データのソート処理を実行する（ステップＳ３−３）。具体的には、制御部２１は、仮スケジュールデータの各ジョブ実行予定データの配信時刻を比較し、配信時刻が早い順番に並び替える。
【００５９】
次に、制御部２１は、ジョブ実行予定について重複の有無の判断処理を実行する（ステップＳ３−４）。この場合、まず、制御部２１は、各編集ジョブのジョブ終了時刻を算出する。そして、制御部２１は、先行の編集ジョブのジョブ終了時刻と後行の編集ジョブのジョブ起動時刻とを比較する。そして、先行編集ジョブのジョブ終了時刻に対して、後行編集ジョブのジョブ起動時刻が早い場合には、ジョブ実行予定に重複があると判断する。
【００６０】
例えば、すべてのジョブ起動時刻が、先行編集ジョブのジョブ終了時刻以降の場合には、図８（ａ）に示すように重複がないことになる。このようにジョブ実行予定に重複がない場合（ステップＳ３−４において「ＮＯ」の場合）には、制御部２１は、ジョブ実行スケジュールを確定する（ステップＳ３−５）。具体的には、制御部２１は、仮スケジュールデータのジョブ実行予定データをジョブ実行スケジュールデータベース２６に記録することによりスケジュールを確定する。
【００６１】
一方、ジョブ起動時刻が、先行編集ジョブのジョブ終了時刻よりも早いジョブ実行予定データが存在する場合には、ジョブ実行予定に重複があることになる。図８（ｂ）では、重複するジョブ実行予定がある場合のスケジュールを示している。このスケジュールにおいては、先行編集ジョブ（顧客Ｃの編集ジョブ）の配信時刻が９時５０分であり、後行編集ジョブ（顧客Ｄの編集ジョブ）のジョブ起動時刻が９時４０分となっている場合を想定する。この場合、顧客Ｄの編集ジョブのジョブ起動時刻（９時４０分）は、先行編集ジョブの配信時刻（９時５０分）よりも早いので、ジョブ実行予定に重複があると判断する。
【００６２】
このようにジョブ実行予定に重複がある場合（ステップＳ３−４において「ＹＥＳ」の場合）、制御部２１は、ジョブ実行予定が重複する各顧客企業についての顧客優先度を算出する（ステップＳ３−６）。具体的には、まず、制御部２１は、編集ジョブが重複している時間（重複ジョブ実行時間）を算出する。ここでは、制御部２１は、先行の編集ジョブのジョブ終了時刻と、後行の編集ジョブのジョブ起動時刻との差分から重複時間を算出する。図８（ｂ）の例では、顧客Ｃの編集ジョブのジョブ終了時刻（９時５０分）と、顧客Ｄの編集ジョブのジョブ起動時刻（９時４０分）との差分として、重複時間「１０分」が算出される。
【００６３】
次に、制御部２１は、重複している編集ジョブの各顧客企業について追加実行可能時間を算出する。具体的には、制御部２１は、仮スケジュールデータにおいて、重複している編集ジョブの各顧客識別子に関連付けられているジョブ実行予定データであって、この重複している編集ジョブよりも後の配信時刻のジョブ実行予定データを特定する。次に、制御部２１は、このジョブ実行予定データの編集ジョブ（同一顧客後続ジョブ）の直前の編集ジョブを特定する。そして、制御部２１は、同一顧客後続ジョブのジョブ起動時刻と、その直前の編集ジョブについてのジョブ終了時刻との差分により、追加実行可能時間を算出する。なお、同一顧客後続ジョブが複数ある場合には、それぞれ算出した差分を合計して追加実行可能時間を算出する。
【００６４】
例えば、図８（ｂ）の場合、編集ジョブが重複した時刻以降において、顧客Ｄについては別の編集ジョブの予定が存在する。この編集ジョブのジョブ起動時刻と、この直前の編集ジョブ（顧客Ｂのジョブ）の配信時刻との差分ｔａが、追加実行可能時間となる。
【００６５】
そして、制御部２１は、重複ジョブ実行時間と追加実行可能時間の和とを顧客優先度算出式に代入して、顧客企業毎に顧客優先度を算出する。
次に、制御部２１は、顧客優先度に応じて重複ジョブ実行時間の分割処理を実行する（ステップＳ３−７）。具体的には、制御部２１は、算出した顧客優先度と、重複ジョブ実行時間とを分割実行時間算出式に代入する。ここで、例えば、図９に示すように、算出した顧客Ｃの優先度が「６」、顧客Ｄの優先度が「４」の場合を想定する。この場合、顧客Ｃの分割実行時間は、「１０×６／（４＋６）＝６分」になる。また、顧客Ｄの分割実行時間は、「１０×４／（４＋６）＝４分」になる。そして、制御部２１は、重複している編集ジョブにおいて、先行の編集ジョブ（顧客Ｃの編集ジョブ）については４分早く打ち切り、後行の編集ジョブの起動開始時刻を６分遅らせて起動するように、仮スケジュールのジョブ実行予定データを構成する。具体的には、制御部２１は、先行のジョブ実行予定
データのジョブ終了時刻から、後行編集ジョブの分割実行時間だけ前倒した時刻を算出し、ジョブ終了時刻として更新する。上述の例では、顧客Ｃのジョブ実行予定データにおいて、ジョブ起動終了時刻を「９時４６分」に変更する。更に、制御部２１は、後行のジョブ実行予定データのジョブ起動時刻から、先行編集ジョブの分割実行時間だけ遅らせた時刻を算出し、ジョブ起動時刻として更新する。上述の例では、顧客Ｄのジョブ実行予定データにおいて、ジョブ起動時刻を「９時４７分」に変更する。そして、制御部２１は、生成したスケジュールの各ジョブ実行予定データを用いて仮スケジュールを更新する。
【００６６】
次に、制御部２１は、この配信時刻の編集ジョブにおいて処理できない明細を次回以降に変更する変更処理を実行する（ステップＳ３−８）。具体的には、制御部２１は、重複ジョブ実行時間を分割したことにより生じた不足時間（＝重複ジョブ実行時間−分割実行時間）を算出する。顧客Ｃの不足時間は、「４分（＝「１０分」―「６分」）」と算出され、顧客Ｄの不足時間は、「６分（＝「１０分―４分」）」と算出される。
【００６７】
次に、制御部２１は、重複したジョブ実行予定よりも後の編集ジョブの起動時刻について再計算処理を実行する（ステップＳ３−９）。ここで、制御部２１は、各顧客企業の不足時間を、この顧客企業に関する次の編集ジョブの実行時間に加算する処理を行なう。具体的には、制御部２１は、ステップＳ３−７において分割処理を行なった編集ジョブの次の同一顧客後続ジョブのジョブ起動時刻を、仮スケジュールデータを用いて特定する。そして、制御部２１は、特定したジョブ起動時刻に対して不足時間分だけ早めたジョブ起動時刻を算出する。次に、制御部２１は、仮スケジュールデータにおいて、算出したジョブ起動時刻を用いて、対応するジョブ実行予定データを更新する。
【００６８】
そして、制御部２１は、順次、ステップＳ３−４〜Ｓ３−９の処理を繰り返して実行する。すなわち、再計算した編集ジョブのジョブ起動時刻に基づいて、ジョブ実行予定の重複がなくなるまで、ステップＳ３−４の処理を繰り返して実行する。そして、ジョブ実行予定の重複がなくなった場合（ステップＳ３−４において「ＮＯ」になる）、制御部２１は、ジョブ実行スケジュールを確定する（ステップＳ３−５）。なお、その営業日の最後の編集ジョブにおいても、まだ重複がある場合には、翌日に繰り越すこともできる。
【００６９】
上述したスケジューリング処理（ステップＳ１−２）が終了すると、配信処理サーバ２０の制御部２１は、配信サービスの提供を開始する。この配信サービス提供中においては、制御部２１は、ジョブ実行予定データ２６０に基づいて編集ジョブを実行する（ステップＳ１−３）。なお、編集ジョブの合間には、後述するように、起動時刻の調整処理（ステップＳ１−４）を実行することにより、ジョブ起動時刻の変更を行なう。以下、編集ジョブの実行処理、起動時刻の調整処理の順番に説明する。
【００７０】
（編集ジョブの実行処理）
配信処理サーバ２０は、現在時刻がジョブ実行予定データ２６０に記録されているジョブ起動時刻になった場合、編集ジョブを起動する。具体的には、配信処理サーバ２０の制御部２１は、ジョブ実行スケジュールデータベース２６から、この起動時刻に関連付けられている顧客識別子を取得する。そして、制御部２１は、取得した顧客識別子に対応する顧客口座識別子を顧客情報データベース２２から取得する。そして、この顧客口座識別子に基づいて、未配信の顧客企業の明細データを明細データベース３０から抽出し、この明細データを用いて配信ファイル４０を作成する。次に、制御部２１は、配信ファイル４０を作成した明細データに対して処理済みフラグを付与して明細データベース３０に記録する。更に、制御部２１は、配信ファイル４０に含めた明細データの発生日時に基づいて、その顧客毎に、発生日時（「分」単位）毎の明細の数を算出する。そして、制御部２１は、明細の発生日時と、顧客識別子と、この発生日時毎で顧客毎に算出した明細数とに関するデータを含めた明細発生実績データ２５０を生成し、明細発生実績データベース２５に
記録する。
【００７１】
そして、制御部２１は、作成した配信ファイル４０を配信可能状態にする。例えば、制御部２１は、顧客企業システムからアクセス可能なデータベースに、作成した配信ファイル４０を記録する。その後、配信時刻になった場合、顧客企業システムから配信ファイル４０の要求を受信する。この要求に応じて配信処理サーバ２０は、この顧客企業の配信ファイル４０を顧客企業システムに対して提供する。
【００７２】
（起動時刻の調整処理）
この起動時刻の調整処理は、図１０に示すように、編集ジョブの終了時刻から次の編集ジョブの起動までの待機時間ｔｓに実行される。
【００７３】
この調整処理を、図７を用いて説明する。
まず、配信処理サーバ２０の制御部２１は、次の編集ジョブについての対象顧客の特定処理を実行する（ステップＳ４−１）。具体的には、制御部２１は、現在時刻を用いて、ジョブ実行スケジュールデータベース２６から、直近のジョブ起動時刻が記録されたジョブ実行予定データ２６０を取得する。これにより、次の編集ジョブの対象顧客を特定することができる。
【００７４】
次に、制御部２１は、この対象顧客について現在の明細数の取得処理を実行する（ステップＳ４−２）。ここで、制御部２１は、明細データベース３０において、この対象顧客の顧客識別子に基づいて特定される未送信の明細データ（処理済みフラグが関連付けられていない明細データ）の現在数を計数する。
【００７５】
そして、制御部２１は、現在数と明細予測数との比較処理を実行する（ステップＳ４−３）。具体的には、制御部２１は、明細発生予測データベース２４から、対象顧客の顧客識別子及び配信時刻に基づいて、次の配信時刻の明細予測数に関するデータを取得する。そして、制御部２１は、ステップＳ４−２において取得した現在数と明細予測数とを比較する。
【００７６】
ここで、現在数が明細予測数より小さい場合（ステップＳ４−３において「ＹＥＳ」の場合）には、制御部２１は、所定時間の待機処理を実行する（ステップＳ４−８）。そして、制御部２１は、所定時間の経過後に、再びステップＳ４−２以降の処理を開始する。
【００７７】
一方、現在数が明細予測数以上の場合（ステップ４−３において「ＮＯ」の場合）には、制御部２１は、新ジョブ起動時刻の算出処理を実行する（ステップＳ４−４）。具体的には、制御部２１は、現在数をジョブ所要時間算出式の明細数に代入してジョブ所要時間を算出する。そして、制御部２１は、算出したジョブ所要時間とバッファ時間と配信時刻とを起動時刻算出式に代入してジョブ起動時刻（新ジョブ起動時刻）を算出する。
【００７８】
次に、制御部２１は、算出した新ジョブ起動時刻と現在時刻との比較処理を実行する（ステップＳ４−５）。ここで、現在時刻が新ジョブ起動時刻を経過している場合（ステップＳ４−５において「ＮＯ」の場合）には、制御部２１は、直ちに編集ジョブを起動する（ステップＳ４−６）。
【００７９】
一方、現在時刻が新ジョブ起動時刻を経過していない場合（ステップＳ４−５において「ＹＥＳ」の場合）には、新ジョブ起動時刻をスケジュールに更新登録する処理を実行する（ステップＳ４−７）。具体的には、制御部２１は、新ジョブ起動時刻を、この編集ジョブのジョブ起動時刻として、ジョブ実行スケジュールデータベース２６に記録する。
【００８０】
そして、制御部２１は待機処理を実行する（ステップＳ４−８）。
なお、制御部２１は、現在時刻がジョブ起動時刻になった場合には、この調整処理を終了して、上述のように編集ジョブを実行する（ステップＳ１−３）。
【００８１】
本実施形態によれば、以下のような効果を得ることができる。
・  本実施形態では、制御部２１は、明細予測数及び単位時間処理可能数をジョブ所要時間算出式に代入して、ジョブ所要時間を算出する。そして、制御部２１は、算出したジョブ所要時間と配信時刻とを起動時刻算出式に代入して、配信時刻毎に、ジョブ起動時刻の算出処理を実行する（ステップＳ３−２）。起動時刻算出式は、配信時刻に対してバッファ時間及びジョブ所要時間だけ早い起動時刻を算出する。これにより、明細予測数に応じて、配信時刻の直前に編集ジョブが終了するようにジョブ起動時刻を決定するので、可能な限り多くかつ最新の明細データを用いて編集ファイルを作成することができる。
【００８２】
・  本実施形態では、スケジューリングしたジョブ実行予定に重複がある場合（ステップＳ３−４において「ＹＥＳ」の場合）には、制御部２１は、ジョブ実行予定が重複する各顧客企業について顧客優先度を算出する（ステップＳ３−６）。次に、制御部２１は、顧客優先度に応じて重複ジョブ実行時間の分割処理を実行し（ステップＳ３−７）、処理できない明細を次回以降にする変更処理を実行する（ステップＳ３−８）。そして、重複したジョブ実行よりも後の編集ジョブの起動時刻について再計算処理を実行する（ステップＳ３−９）。すなわち、優先度に応じて重複ジョブ実行時間を分割し、編集ができなかった明細データを、後続ジョブにより編集して顧客企業に対して配信することができる。
【００８３】
・  本実施形態では、制御部２１は、顧客優先度を「顧客の追加実行可能時間の和」を用いて算出する。これにより、追加実行可能時間が多い場合には、各顧客企業の顧客優先度が低く算出される。また、追加実行可能時間が短く、調整可能な時間が少ない顧客企業に対して優先的により多くの明細を含めた配信ファイルを作成することができる。従って、顧客に対する配信スケジュールを考慮して、バランスよく配信することができる。
【００８４】
・  本実施形態では、制御部２１は、待機時間ｔｓにおいて調整処理を実行する。この調整処理においては、対象顧客について現在数が明細予測数以上の場合（ステップ４−３において「ＮＯ」の場合）には、制御部２１は、算出した新たな起動時刻を、現在時刻が経過していないか否かを判断する（ステップＳ４−５）。そして、現在時刻が新ジョブ起動時刻を経過している場合（ステップＳ４−５において「ＮＯ」の場合）には、制御部２１は、直ちに編集ジョブを起動する（ステップＳ４−６）。すなわち、制御部２１は、予測より多い明細があると判断した場合には、直ちにジョブを開始する。これにより、待機中の明細の蓄積状況に応じて柔軟に編集ジョブを起動し、より多くの明細を含めた配信ファイルを提供することができる。
【００８５】
・  本実施形態では、制御部２１は、現在時刻が、算出した新たな起動時刻を経過していない場合（ステップＳ４−５において「ＹＥＳ」の場合）には、新ジョブ起動時刻をスケジュールに更新登録する処理を実行する（ステップＳ４−７）。これにより、待機中の明細の蓄積状況に応じて柔軟にジョブ起動時刻を変更し、より多くかつ最新の明細を含めた配信ファイルを提供することができる。従って、明細予測数よりも多い現在数に基づいて算出した新ジョブ起動時刻に編集ジョブを起動するので、顧客企業に対して、より多くの明細を提供することができる。
【００８６】
・  本実施形態では、制御部２１は、過去実績に基づいて、明細発生の予測処理を実行する（ステップＳ２−３）。ここで、制御部２１は、明細発生パターンデータベース２３に記録した顧客企業のルール条件を用いて明細予測数を算出する。そして、制御部２１は、この明細予測数から編集ジョブの実行時間を算出し、ジョブ起動時刻を算出する（ステ
ップＳ３−２）。これにより、顧客企業の過去の実績から、発生する明細数を予測するので、実際に編集ジョブの対象となる明細数に近い明細予測数を算出することが期待できる。この結果、顧客や当日の条件に応じてより的確なジョブ起動時刻を算出することができる。
【００８７】
・  本実施形態では、明細発生実績データベース２５には、過去に発生した明細に関する明細発生実績データ２５０が記録される。この明細発生実績データ２５０には、「分」単位の発生日時毎で顧客毎の明細数が含まれている。制御部２１は、当日のルール条件に一致する年月日の明細発生実績データ２５０を特定し、この特定した明細発生実績データ２５０から、予測する配信時刻に対応するデータを取得する。そして、該当した明細データの数を合計し、この合計数を明細予測数として用いる。このため、顧客企業において１日の内でも時刻帯によって明細数に変動がある場合には、この変動を考慮して、明細予測数を算出することができる。
【００８８】
また、上記実施形態は、以下のように変更してもよい。
○  上記実施形態において、顧客優先度は、追加実行可能時間に基づいて決定した。優先度の決定方法は、これに限定されるものではなく、他の方法により決定してもよい。例えば、配信回数に応じて優先度を決定するようにしてもよい。具体的には、制御部２１は、配信回数の逆数を顧客優先度として用いる。この場合、配信回数が多い場合には、配信する明細を分散させて、全体のバランスを考慮して配信することができる。
【００８９】
また、追加実行可能時間について、編集ジョブが重複した配信時刻からの遠近によって重み付けを行なって優先度を決定することも可能である。この場合には、制御部２１は、編集ジョブが重複した配信時刻から追加実行可能時間を設定可能な時刻までの時間差を算出する。そして、この時間差が大きい場合には優先度を高くする重み付けを行なう関数を用いる。これにより、追加実行可能時間の設定可能であっても、この追加実行可能時間を設定することができる時刻が遅い場合には、先の配信のための編集ジョブを優先的に実行させることができる。
【００９０】
○  上記実施形態において、制御部２１は、顧客企業毎の明細発生パターンと明細発生過去実績に基づいて明細予測数を算出した。明細予測数の算出方法は、これに限定されるのではなく、他の方法によって算出してもよい。例えば、顧客企業の過去における最低量に対して、配信サービスの提供日（営業日）の条件に応じた増加量を積算して、明細予測数を算出してもよい。具体的には、明細発生パターンデータベース２３に、顧客識別子に関連付けて、追加該当条件データ及び追加明細予測数データを記録する。追加該当条件とは、通常よりも明細量が増加する場合の条件である。追加該当条件として、例えば「月曜日」や、いわゆる「五十日（ごとおび）」を特定するためのデータが記録される。そして、追加明細予測数は、その顧客企業のピーク日に追加される予測量であり、各ピーク日に増加する平均値を用いる。そして、制御部２１は、営業日が顧客企業の追加該当条件に一致するときには、これに対応する追加明細予測数を取得し、取得した追加明細予測数を加算して明細予測数を算出する。これにより、ピーク日になる複数の条件が重なっている場合にも、より的確に明細予測数を算出することができる。
【００９１】
○  上記実施形態において、顧客企業の明細発生パターンデータは、定期的に顧客企業の取引明細数に基づいて明細発生パターンを算出した場合に記録した。この場合、明細発生実績データベース２５に顧客企業のデータが所定量蓄積されたときに、顧客情報データベース２２に記録されているパターンによる算出が適切か否かを検証するように構成してもよい。具体的には、制御部２１は、蓄積されたデータ実績と、明細発生パターンデータベース２３に記録したルール条件に基づいて算出したデータとを営業日毎に比較する。そして、この比較結果において所定以上の誤差がある場合には、新たなルール条件を再計算
するように、アラームを出力させる。これにより、より的確な明細発生パターンを生成することができる。
【００９２】
○  上記実施形態において、１つの編集ジョブにより処理を実行する場合について説明したが、複数の編集ジョブを同時に実施可能なリソース（ジョブ実行手段）を用いて処理を実行する場合にも適用できる。例えば、制御部２１は、各顧客企業についてジョブ実行予定データ２６０を作成する。生成したジョブ実行予定データ２６０において、編集ジョブ実行予定が重複した場合には、他のジョブ実行手段に並行させて編集ジョブを実行させる。この場合、制御部２１は、同じ時間帯のジョブを抽出し、先行するジョブ又は後行ジョブを変更したときの重複時間を算出し、この重複時間が最小となる組み合わせを特定する。この調整によっても、ジョブ実行予定の重複がある場合には、制御部２１は、上記実施形態のステップＳ３−６以降の処理を行なって、処理できない明細データを次回以降に変更し（ステップＳ３−８）、以降の編集ジョブのジョブ起動時刻を再計算する。そして、再計算したジョブ起動時刻に基づいて、ジョブ実行予定が重複する場合には、他のリソースのジョブと入れ替えることにより、ジョブ実行予定の重複がなくなる又は少なくなるスケジューリングを調整する。これにより、複数のリソースを有効に利用できるとともに、重複するジョブを少なくすることができるので、より最新の明細を顧客企業に配信することができる。
【００９３】
○  上記実施形態においては、配信処理サーバ２０が、ジョブのスケジューリングを行なう（ステップＳ１−２）とともに、編集ジョブの実行を行なった（ステップＳ１−３）。この場合、配信処理サーバ２０は編集ジョブのスケジューリングのみを実行し、他のシステムがこのスケジュールに応じて編集ジョブを実行するように構成することも可能である。
【図面の簡単な説明】
【００９４】
【図１】実施形態におけるシステムの概略図。
【図２】明細発生実績データベースに記録されたデータ構成の説明図。
【図３】ジョブ実行スケジュールデータベースに記録されたデータ構成の説明図。
【図４】各営業日における処理の処理手順の概略図。
【図５】発生明細数の予測処理の処理手順を説明するための流れ図。
【図６】スケジューリング処理の処理手順を説明するための流れ図。
【図７】起動時刻の調整処理の処理手順を説明するための流れ図。
【図８】スケジュールされたジョブ実行予定の説明図であり、（ａ）は重複するジョブ実行予定がない場合、（ｂ）は重複するジョブ実行予定がある場合を示す。
【図９】重複したジョブ実行予定におけるスケジュールの仕方を説明する説明図。
【図１０】起動時刻を実行する待機時間を説明する説明図。
【符号の説明】
【００９５】
２０…スケジューリングシステムとしての配信処理サーバ、２１…制御手段としての制御部、２２…顧客情報データベース、２３…明細発生パターンデータベース、２４…明細発生予測データベース、２５…明細発生実績データベース、２６…ジョブ実行スケジュールデータベース、４０…配信ファイル、２６０…ジョブ実行予定データ、ｔａ…差分。
【図１】
2008217457.tif 000003
【図２】
2008217457.tif 000004
【図３】
2008217457.tif 000005
【図４】
2008217457.tif 000006
【図５】
2008217457.tif 000007
【図６】
2008217457.tif 000008
【図７】
2008217457.tif 000009
【図８】
2008217457.tif 000010
【図９】
2008217457.tif 000011
【図１０】
2008217457.tif 000012