(57)【要約】      （修正有）【課題】入力データの数が多くなった場合でも、処理の遅延を短縮できる情報処理システム、処理サーバ、情報処理方法およびプログラムを提供する。【解決手段】託送業務処理システムにおいて、複数の処理サーバ２００の各々は、データベースサーバに記憶されている複数の第１データを取得する取得部２０２と、取得部２０２が取得した複数の第１データを記憶するインメモリ領域２５８を有する記憶部と、入力データを受け付け、受け付けた入力データを、記憶部に記憶されている複数の第１データのうち、入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成し、作成した出力データを出力する第１処理部２０４２を有する処理とを備える。管理サーバ１００は、入力データを受け付け、受け付けた入力データを、複数の処理サーバのいずれかへ振り分ける振分部１０２を備える。【選択図】図３
2020126515.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理サーバと、管理サーバとを備える情報処理システムであって、
複数の前記処理サーバの各々は、
データベースサーバに記憶されている複数の第１データを取得する取得部と、
前記取得部が取得した複数の前記第１データを記憶する記憶部と、
入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成する処理部と、
前記処理部が作成した前記出力データを出力する出力部と
を備え、
前記管理サーバは、
入力データを受け付け、受け付けた前記入力データを、複数の前記処理サーバのいずれかへ振り分ける振分部
を備える、情報処理システム。
【請求項２】
前記管理サーバは、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の第１データが正しいか否かを判定する判定部を
さらに備える、請求項１に記載の情報処理システム。
【請求項３】
前記振分部は、複数の前記処理サーバのうち、前記判定部が正しいと判定した複数の第１データを記憶している記憶部を備える処理サーバへ、前記入力データを振り分ける、請求項２に記載の情報処理システム。
【請求項４】
前記処理部が出力した前記出力データを受け付け、受け付けた前記出力データで、前記データベースサーバを更新する更新部
を備える更新サーバを備える、請求項１から請求項３のいずれか一項に記載の情報処理システム。
【請求項５】
データベースサーバに記憶されている複数の第１データを取得する取得部と、
前記取得部が取得した複数の前記第１データを記憶する記憶部と、
入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成する処理部と、
前記処理部が作成した前記出力データを出力する出力部と
を備える、処理サーバ。
【請求項６】
複数の処理サーバと、管理サーバとを備える情報処理システムが実行する情報処理方法であって、
複数の前記処理サーバの各々が、データベースサーバに記憶されている複数の第１データを取得するステップと、
複数の前記処理サーバの各々が、前記取得するステップで取得した複数の前記第１データを、記憶部に記憶するステップと、
前記管理サーバが、入力データを受け付け、受け付けた前記入力データを、複数の前記処理サーバのいずれかへ振り分けるステップと、
複数の前記処理サーバのうち、前記管理サーバが振り分けた処理サーバが、前記入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、
前記管理サーバが振り分けた前記処理サーバが、前記作成するステップで作成した前記出力データを出力するステップと
を有する、情報処理方法。
【請求項７】
処理サーバが実行する情報処理方法であって、
データベースサーバに記憶されている複数の第１データを取得するステップと、
前記取得するステップで取得した複数の前記第１データを記憶部に記憶するステップと、
入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、
前記作成するステップで作成した前記出力データを出力するステップと
を有する情報処理方法。
【請求項８】
複数の処理サーバの各々のコンピュータに、
データベースサーバに記憶されている複数の第１データを取得するステップと、
前記取得するステップで取得した複数の前記第１データを、記憶部に記憶するステップと、
入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、
前記作成するステップで作成した前記出力データを出力するステップと
を実行させ、
管理サーバのサーバに、
入力データを受け付け、受け付けた前記入力データを、複数の前記処理サーバのいずれかへ振り分けるステップ
を実行させる、プログラム。
【請求項９】
処理サーバのコンピュータに、
データベースサーバに記憶されている複数の第１データを取得するステップと、
前記取得するステップで取得した複数の前記第１データを記憶部に記憶するステップと、
入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、
前記作成するステップで作成した前記出力データを出力するステップと
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システム、処理サーバ、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
電力自由化によって、卸電力取引所が開設され、送配電事業者、発電事業者、小売電気事業者の間で電力取引が、中立機関の監視の下で、実施されている。また、電力の小売市場についても自由化され、島嶼を除く全ての需要家が開放されている。このため、供給したいエリアに自らの送電ネットワークを有していなくとも、また他の地域の既存発電会社（他電力会社）のように自らの送電ネットワークにて直接電力供給できない需要家に対しても、送配電事業者の送電サービス（託送）を用いて、需要家に対して電力供給が行われている。小売電気事業者が需要家に供給する電力量、および発電事業者が発電する発電電力量は、３０分単位に計画値として提出される。小売電気事業者、発電事業者は、この計画値に３０分単位の実績を近づける義務があり、送配電事業者はその支援として小売電気事業者毎の顧客の３０分単位の検針データを速やかに算出・集約し公開することがルール化されている。 
【０００３】
送配電事業者が実行する電力託送業務に関して、電力託送業務を実施するシステムが知られている(例えば、特許文献１参照)。このシステムは、電力託送を利用する小売電気事業者についての検針データ及び当該小売電気事業者の顧客の検針データを取得し、検針データ格納部に格納する手段と、検針データ格納部に格納されたデータを用いて、小売電気事業者の発電量データと顧客の需要量データとを生成し、データベースに登録する手段と、データベースに登録されたデータのうち需要量データを小売電気事業者に配信する手段と、 データベースに登録されたデータを用いて、発電量と需要量のインバランスを特定すると共に、さらに停電管理システムから取得した送電状態データを用いて、小売電気事業者に対する託送料金を算出し、料金データ格納部に格納する手段と、小売電気事業者のコンピュータから発電計画データを受信し、発電計画データの妥当性が確認された場合には、電力託送事業を実施する送配電事業者の給電制御部門に当該発電計画データを送信する手段とを有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１３４２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
小売電気事業者数、および当該小売電気事業者の顧客の検針データなどの入力データの数が増加した場合について考える。
入力データの受け付けの度に、データベースに記憶されている複数のデータを用いて速やかに算出および集約し、その処理結果を小売電気事業者に配信するため、入力データの数が増加した場合に処理の遅延が懸念される。
この懸念は、電力託送業務を実施するシステムに限らず、情報処理システムで、入力データが多くなった場合についても当てはまる。
本発明は、前述した点に鑑みてなされたものであり、その目的は、入力データの数が多くなった場合でも、処理の遅延を短縮できる情報処理システム、処理サーバ、情報処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、複数の処理サーバと、管理サーバとを備える情報処理システムであって、複数の前記処理サーバの各々は、データベースサーバに記憶されている複数の第１データを取得する取得部と、前記取得部が取得した複数の前記第１データを記憶する記憶部と、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成する処理部と、前記処理部が作成した前記出力データを出力する出力部とを備え、前記管理サーバは、入力データを受け付け、受け付けた前記入力データを、複数の前記処理サーバのいずれかへ振り分ける振分部を備える、情報処理システムである。
本発明の一態様の情報処理システムにおいて、前記管理サーバは、複数の前記処理サーバの各々が備える前記記憶部に記憶されている複数の第１データが正しいか否かを判定する判定部をさらに備える。
本発明の一態様の情報処理システムにおいて、前記振分部は、複数の前記処理サーバのうち、前記判定部が正しいと判定した複数の第１データを記憶している記憶部を備える処理サーバへ、前記入力データを振り分ける。
本発明の一態様の情報処理システムにおいて、前記処理部が出力した前記出力データを受け付け、受け付けた前記出力データで、前記データベースサーバを更新する更新部を備える更新サーバを備える。
【０００７】
本発明の一態様は、データベースサーバに記憶されている複数の第１データを取得する取得部と、前記取得部が取得した複数の前記第１データを記憶する記憶部と、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成する処理部と、前記処理部が作成した前記出力データを出力する出力部とを備える、処理サーバである。
【０００８】
本発明の一態様は、複数の処理サーバと、管理サーバとを備える情報処理システムが実行する情報処理方法であって、複数の前記処理サーバの各々が、データベースサーバに記憶されている複数の第１データを取得するステップと、複数の前記処理サーバの各々が、前記取得するステップで取得した複数の前記第１データを、記憶部に記憶するステップと、前記管理サーバが、入力データを受け付け、受け付けた前記入力データを、複数の前記処理サーバのいずれかへ振り分けるステップと、複数の前記処理サーバのうち、前記管理サーバが振り分けた処理サーバが、前記入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、前記管理サーバが振り分けた前記処理サーバが、前記作成するステップで作成した前記出力データを出力するステップとを有する、情報処理方法である。
【０００９】
本発明の一態様は、処理サーバが実行する情報処理方法であって、データベースサーバに記憶されている複数の第１データを取得するステップと、前記取得するステップで取得した複数の前記第１データを記憶部に記憶するステップと、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、前記作成するステップで作成した前記出力データを出力するステップとを有する情報処理方法である。
【００１０】
本発明の一態様は、複数の処理サーバの各々のコンピュータに、データベースサーバに記憶されている複数の第１データを取得するステップと、前記取得するステップで取得した複数の前記第１データを、記憶部に記憶するステップと、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、前記作成するステップで作成した前記出力データを出力するステップとを実行させ、管理サーバのサーバに、入力データを受け付け、受け付けた前記入力データを、複数の前記処理サーバのいずれかへ振り分けるステップを実行させる、プログラムである。
【００１１】
本発明の一態様は、処理サーバのコンピュータに、データベースサーバに記憶されている複数の第１データを取得するステップと、前記取得するステップで取得した複数の前記第１データを記憶部に記憶するステップと、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成するステップと、前記作成するステップで作成した前記出力データを出力するステップとを実行させる、プログラムである。
【発明の効果】
【００１２】
本発明の実施形態によれば、入力データの数が多くなった場合でも、処理の遅延を短縮できる情報処理システム、処理サーバ、情報処理方法およびプログラムを提供できる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態の託送業務処理システムの一例を示す図である。
【図２】第１の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとのハードウェア構成の一例を示す図である。
【図３】第１の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。
【図４】第１の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
【図５】第１の実施形態の変形例の託送業務処理システムの一例を示す図である。
【図６】第１の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。
【図７】第１の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。
【図８】第１の実施形態の変形例の託送業務処理システムの動作の一例を示すシーケンス図である。
【図９】第２の実施形態の託送業務処理システムの一例を示す図である。
【図１０】第２の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。
【図１１】第２の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとを示すブロック図である。
【図１２】第２の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
次に、本実施形態の情報処理システム、処理サーバ、情報処理方法およびプログラムを、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「ＸＸに基づいて」とは、「少なくともＸＸに基づく」ことを意味し、ＸＸに加えて別の要素に基づく場合も含む。また、「ＸＸに基づいて」とは、ＸＸを直接に用いる場合に限定されず、ＸＸに対して演算や加工が行われたものに基づく場合も含む。「ＸＸ」は、任意の要素（例えば、任意の情報）である。
【００１５】
（実施形態）
（託送業務処理システム）
図１は、第１の実施形態の託送業務処理システムの一例を示す図である。
本実施形態の託送業務処理システム１０は、管理サーバ１００と、処理サーバ２００−１〜処理サーバ２００−ｎ（ｎは、ｎ＞０の整数）と、データベースサーバ３００と、更新サーバ４００−１〜更新サーバ４００−ｎとを含む。さらに、図１には、外部システム５０も示されている。
以下、処理サーバ２００−１〜処理サーバ２００−ｎのうち、任意の処理サーバを、処理サーバ２００と記載する。更新サーバ４００−１〜更新サーバ４００−ｎのうち、任意の処理サーバを、更新サーバ４００と記載する。
データベースサーバ３００は、処理サーバ２００−１〜処理サーバ２００−ｎの各々と接続され、複数のユーザの各々のユーザデータを、ユーザの識別情報と関連付けて記憶している。ここで、ユーザデータの一例は、顧客の契約情報である。
処理サーバ２００−１〜処理サーバ２００−ｎの各々は、管理サーバ１００と、更新サーバ４００−１〜更新サーバ４００−ｎの各々と接続される。処理サーバ２００−１〜処理サーバ２００−ｎの各々は、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、処理サーバ２００−１〜処理サーバ２００−ｎの各々が処理を行っているときに不変であるデータ（以下「不変データ」という）を取得し、取得した複数のユーザの各々の不変データを、処理サーバ２００−１〜処理サーバ２００−ｎの各々が備えるインメモリ領域に記憶する。
複数のユーザの各々の不変データを、処理サーバ２００−１〜処理サーバ２００−ｎの各々が備えるインメモリ領域に記憶することによって、仮に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータを、インメモリ領域に記憶した場合に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータと、インメモリ領域に記憶した情報との間に差異が生じることによって、リカバリが複雑になること、処理自体の有効性が失われることがなくなる。
【００１６】
管理サーバ１００は、外部システム５０と接続され、外部システム５０が送信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００−１〜処理サーバ２００−ｎのいずれかへ送信する。入力ファイルに含まれる情報の一例は、検針値と、ユーザの識別情報とである。
処理サーバ２００−１〜処理サーバ２００−ｎのうち、管理サーバ１００が送信した入力ファイルの宛先である処理サーバ２００（以下、「処理サーバ２００−ｍ（ｍは、ｎ≧ｍ＞０の整数）」という）は、管理サーバ１００が送信した入力ファイルを受信する。処理サーバ２００−ｍは、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得する。処理サーバ２００−ｍは、取得した不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理の一例は、電力使用量の導出、電力単価の導出である。処理サーバ２００−ｍは、作成した出力ファイルを公開し、出力ファイルを公開したことを示す情報（以下「公開完了連絡」という）を作成し、作成した公開完了連絡を、管理サーバ１００へ送信する。公開完了連絡には、ユーザの識別情報が含まれる。処理サーバ２００−ｍは、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、更新サーバ４００−１〜更新サーバ４００−ｎのうち、処理サーバ２００−ｍと関連付けられている更新サーバ４００−ｍへ送信する。
【００１７】
更新サーバ４００−１〜更新サーバ４００−ｎは、管理サーバ１００と、データベースサーバ３００と接続される。更新サーバ４００−１〜更新サーバ４００−ｎのうち、更新サーバ４００−ｍは、処理サーバ２００−ｍが送信した出力情報を受信し、受信した出力情報に含まれるユーザの識別情報と、出力ファイルとを取得する。更新サーバ４００−ｍは、取得したユーザの識別情報と、出力ファイルとを含む更新情報を、データベースサーバ３００へ送信することによって、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータを更新する。更新サーバ４００−ｍは、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータの更新が終了した場合に、ユーザの識別情報を含む更新が終了したことを示す情報（以下「更新完了連絡」という）を、管理サーバ１００へ送信する。
管理サーバ１００は、更新サーバ４００−ｍが送信した更新完了連絡を受信し、受信した更新完了連絡に含まれるユーザの識別情報に基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータの更新状況を管理する。
以下、託送業務処理システム１０を構成する管理サーバ１００と、処理サーバ２００と、データベースサーバ３００と、更新サーバ４００とのうち、管理サーバ１００と、処理サーバ２００と、更新サーバ４００とについて、図２と図３とを参照して、詳細に説明する。
【００１８】
（本実施形態の託送業務処理システムのハードウェア構成）
図２は、第１の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ１００と、処理サーバ２００と、更新サーバ４００の順に、ハードウェア構成について説明する。
（管理サーバ１００）
管理サーバ１００は、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
管理サーバ１００は、ＣＰＵ１５２と、メモリ１５４と、記憶部１５６と、通信部１６６と、内部バス１５０とを備えている。
ＣＰＵ１５２は、例えば記憶部１５６に格納されるプログラム１５６２とアプリ１５６３とを実行し、メモリ１５４をワークメモリとして使用して、管理サーバ１００の各部を制御する。
メモリ１５４は、半導体素子を利用した揮発性のメモリなどのＲＡＭによって構成され、ＣＰＵ１５２のワークメモリとして使用される。
記憶部１５６は、例えばフラッシュメモリ等によって構成される。
記憶部１５６には、ＣＰＵ１５２によって実行されるプログラム１５６２と、アプリ１５６３と、処理管理情報１５６５とが格納される。
プログラム１５６２は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
【００１９】
アプリ１５６３は、管理サーバ１００に、処理サーバ２００−１〜処理サーバ２００−ｎの各々にデータベースサーバ３００から不変データを読み込ませる命令である不変データ読込命令を作成させ、作成させた不変データ読込命令を、処理サーバ２００−１〜処理サーバ２００−ｎの各々へ送信させる。
アプリ１５６３は、管理サーバ１００に、外部システム５０が送信した入力ファイルを取得させ、取得させた入力ファイルを、処理サーバ２００−１〜処理サーバ２００−ｎのいずれかへ振り分けさせる。
アプリ１５６３は、管理サーバ１００に、処理サーバ２００−１〜処理サーバ２００−ｎのうち、振り分けの対象である処理サーバ２００−ｍへ、入力ファイルを送信させる。
アプリ１５６３は、管理サーバ１００に、処理サーバ２００−ｍが送信した公開完了連絡を受信させ、受信させた公開完了連絡に基づいて、処理サーバ２００−ｍにおいて、出力ファイルの公開が完了したことを管理させる。
アプリ１５６３は、管理サーバ１００に、更新サーバ４００−ｍが送信した更新完了連絡を取得させ、取得させた更新完了連絡に基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータの更新状況を管理させる。
処理管理情報１５６５は、複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報である。
通信部１６６は、ネットワークに接続された外部システム５０、処理サーバ２００、更新サーバ４００などと通信して、データの送受信を行うためのインターフェースである。具体的には、通信部１６６は、ワイファイ（登録商標）等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部１６６は、有線ＬＡＮ等の通信技術で通信を行うデバイスによって構成されてもよい。  内部バス１５０は、ＣＰＵ１５２、メモリ１５４、記憶部１５６、及び通信部１６６を互いに接続する。内部バス１５０に接続される各部は、内部バス１５０を介して互いにデータのやり取りを行うことができるようにされている。
【００２０】
（処理サーバ２００）
処理サーバ２００は、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
処理サーバ２００は、ＣＰＵ２５２と、メモリ２５４と、記憶部２５６と、通信部２６６と、内部バス２５０とを備えている。
ＣＰＵ２５２は、例えば記憶部２５６に格納されるプログラム２５６２とアプリ２５６３とを実行し、メモリ２５４をワークメモリとして使用して、処理サーバ２００の各部を制御する。
メモリ２５４は、半導体素子を利用した揮発性のメモリなどのＲＡＭによって構成され、ＣＰＵ２５２のワークメモリとして使用される。メモリ２５４は、インメモリ領域２５８を有し、インメモリ領域２５８には、不変データ２５８２が記憶される。不変データ２５８２には、複数のユーザの各々の不変データが含まれる。
記憶部２５６は、例えばフラッシュメモリ等によって構成される。記憶部２５６には、ＣＰＵ２５２によって実行されるプログラム２５６２と、アプリ２５６３とが格納される。
プログラム２５６２は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
アプリ２５６３は、処理サーバ２００に、管理サーバ１００が送信した不変データ読込命令を受信させる。アプリ２５６３は、処理サーバ２００に、受信させた不変データ読込命令に基づいて、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ３００を宛先とする不変データ要求を作成させ、作成させた不変データ要求を送信させる。アプリ２５６３は、処理サーバ２００に、送信させた不変データ要求に対して、データベースサーバ３００が送信した不変データ応答を受信させる。ここで、不変データ応答には、複数のユーザの各々の不変データが含まれる。
アプリ２５６３は、処理サーバ２００に、不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ２５４のインメモリ領域２５８に記憶させる。アプリ２５６３は、処理サーバ２００に、管理サーバ１００が送信した入力ファイルを受信させる。アプリ２５６３は、処理サーバ２００に、受信させた入力ファイルに含まれるユーザの識別情報に基づいて、メモリ２５４のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得させる。
アプリ２５６３は、処理サーバ２００に、取得させた不変データと入力ファイルとに基づいて、処理を行わせることによって、出力ファイルを作成させる。アプリ２５６３は、処理サーバ２００に、作成させた出力ファイルを公開させる。アプリ２５６３は、処理サーバ２００に、公開完了連絡を作成させ、作成させた公開完了連絡を、管理サーバ１００へ送信させる。アプリ２５６３は、処理サーバ２００に、公開させた出力ファイルと、ユーザの識別情報とを含む出力情報を作成させ、作成させた出力情報を、更新サーバ４００へ送信させる。
通信部２６６は、ネットワークに接続された管理サーバ１００、データベースサーバ３００、更新サーバ４００などと通信して、データの送受信を行うためのインターフェースである。具体的には、通信部２６６は、ワイファイ（登録商標）等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部２６６は、有線ＬＡＮ等の通信技術で通信を行うデバイスによって構成されてもよい。
内部バス２５０は、ＣＰＵ２５２、メモリ２５４、記憶部２５６、及び通信部２６６を互いに接続する。内部バス２５０に接続される各部は、内部バス２５０を介して互いにデータのやり取りを行うことができるようにされている。
【００２１】
（更新サーバ４００）
更新サーバ４００は、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
更新サーバ４００は、ＣＰＵ４５２と、メモリ４５４と、記憶部４５６と、通信部４６６と、内部バス４５０とを備えている。
ＣＰＵ４５２は、例えば記憶部４５６に格納されるプログラム４５６２とアプリ４５６３とを実行し、メモリ４５４をワークメモリとして使用して、更新サーバ４００の各部を制御する。
メモリ４５４は、半導体素子を利用した揮発性のメモリなどのＲＡＭによって構成され、ＣＰＵ４５２のワークメモリとして使用される。
記憶部４５６は、例えばフラッシュメモリ等によって構成される。記憶部４５６には、ＣＰＵ４５２によって実行されるプログラム４５６２と、アプリ４５６３とが格納される。
プログラム４５６２は、例えば、オペレーティングシステムであり、ユーザやアプリケーションプログラムとハードウェアの中間に位置し、ユーザやアプリケーションプログラムに対して標準的なインターフェースを提供すると同時に、ハードウェアなどの各リソースに対して効率的な管理を行う。
アプリ４５６３は、更新サーバ４００に、処理サーバ２００−１〜処理サーバ２００−ｎのいずれかが送信した出力情報を受信させる。アプリ４５６３は、更新サーバ４００に、受信させた出力情報に基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、出力ファイルに該当するユーザのユーザデータを更新させるための更新情報を作成させる。アプリ４５６３は、作成させた更新情報を、データベースサーバ３００へ送信させる。
アプリ４５６３は、更新サーバ４００に、データベースサーバ３００へ更新情報を送信させることによって、データベースサーバ３００の更新を終了させた場合に、更新完了連絡を作成させ、作成させた更新完了連絡を、管理サーバ１００へ送信させる。
通信部４６６は、ネットワークに接続された管理サーバ１００、処理サーバ２００、データベースサーバ３００などと通信して、データの送受信を行うためのインターフェースである。具体的には、通信部４６６は、ワイファイ（登録商標）等の無線通信技術で無線通信を行う無線デバイスによって構成される。また、通信部４６６は、有線ＬＡＮ等の通信技術で通信を行うデバイスによって構成されてもよい。
内部バス４５０は、ＣＰＵ４５２、メモリ４５４、記憶部４５６、及び通信部４６６を互いに接続する。内部バス４５０に接続される各部は、内部バス４５０を介して互いにデータのやり取りを行うことができるようにされている。
【００２２】
（本実施形態の託送業務システムの機能構成）
図３は、第１の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。以下、管理サーバ１００と、処理サーバ２００と、データベースサーバ３００と、更新サーバ４００とのうち、管理サーバ１００と、処理サーバ２００と、更新サーバ４００とについて順次説明する。
（管理サーバ）
管理サーバ１００は、振分部１０２と、管理部１０４とを有している。これらの各部は、図２に示されている各構成要素のいずれかが、記憶部１５６からメモリ１５４上に展開されたプログラム１５６２と、アプリ１５６３とを実行するＣＰＵ１５２からの命令によって動作することで実現される機能である。
図２及び図３を用いて、管理サーバ１００の各機能構成について詳細に説明する。
外部システム５０は、３０分などの所定の周期で、管理サーバ１００に、入力ファイルを送信する。
管理サーバ１００の振分部１０２は、ＣＰＵ１５２からの命令、及び通信部１６６によって実現される。振分部１０２は、通信部１６６と処理サーバ２００の通信部２６６との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、処理サーバ２００−１〜処理サーバ２００−ｎの各々へ送信する。
振分部１０２は、通信部１６６と外部システム５０との間でセッションが構築された後に、外部システム５０が送信した入力ファイルを、通信部１６６から取得し、取得した入力ファイルを、処理サーバ２００−１〜処理サーバ２００−ｎのいずれかへ振り分ける。例えば、処理サーバ２００−１〜処理サーバ２００−ｎの各々と、乱数とを予め関連付ける。振分部１０２は、入力ファイルを取得した場合に、乱数を発生し、発生した乱数に関連付けられている処理サーバ２００−ｍに、入力ファイルを振り分けるようにしてもよい。振分部１０２は、振り分け先である処理サーバ２００−ｍを宛先とする入力ファイルを、通信部１６６へ出力する。通信部１６６は、振分部１０２が出力した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００−ｍへ送信する。
【００２３】
管理部１０４は、ＣＰＵ１５２からの命令、及び通信部１６６によって実現される。通信部１６６は、処理サーバ２００が送信した公開完了連絡を受信する。管理部１０４は、通信部１６６が受信した公開完了連絡を取得し、取得した公開完了連絡に含まれるユーザの識別情報に基づいて、処理サーバ２００が、出力ファイルを公開したことを管理する。
通信部１６６は、更新サーバ４００が送信した更新完了連絡を受信する。管理部１０４は、通信部１６６が受信した更新完了連絡を取得し、取得した更新完了連絡に基づいて、記憶部１５６に記憶されている処理管理情報１５６５を更新する。具体的には、管理部１０４は、受信した更新完了連絡に基づいて、記憶部１５６の処理管理情報１５６５に含まれる複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報のうち、更新完了連絡に含まれるユーザの識別情報に該当するユーザのユーザデータの更新状況を更新する。また、管理部１０４は、受信した更新完了連絡に基づいて、記憶部１５６の処理管理情報１５６５に含まれる複数のユーザの識別情報の各々と、ユーザデータの更新状況を示す情報とを関連付けた情報のうち、更新完了連絡に含まれるユーザの識別情報に該当するユーザのユーザデータの更新状況を登録することで、ログを取るようにしてもよい。
【００２４】
（処理サーバ２００）
処理サーバ２００は、取得部２０２と、処理部２０４とを有している。これらの各部は、図２に示されている各構成要素のいずれかが、記憶部２５６からメモリ２５４上に展開されたプログラム２５６２と、アプリ２５６３とを実行するＣＰＵ２５２からの命令によって動作することで実現される機能である。
図２及び図３を用いて、処理サーバ２００の各機能構成について詳細に説明する。
処理サーバ２００の取得部２０２は、ＣＰＵ２５２からの命令、及び通信部２６６によって実現される。取得部２０２は、処理サーバ２００が起動し、通信部２６６と管理サーバ１００との間でセッションが構築された後に、管理サーバ１００が送信した不変データ読込要求を、通信部２６６から取得する。取得部２０２は、取得した不変データ読込要求に基づいて、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ３００を宛先とする不変データ要求を作成し、作成した不変データ要求を、通信部２６６へ出力する。
通信部２６６は、通信部２６６とデータベースサーバ３００との間でセッションが構築された後に、取得部２０２が出力した不変データ要求を、送信する。通信部２６６は、不変データ要求に対して、データベースサーバ３００が送信した複数のユーザの各々の不変データを含む不変データ応答を受信する。取得部２０２は、通信部２６６が受信した不変データ応答を取得し、取得した不変データ応答に含まれる複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、メモリ２５４のインメモリ領域２５８に記憶する。
処理部２０４は、ＣＰＵ２５２からの命令、及び通信部２６６によって実現される。通信部２６６は、管理サーバ１００との間でセッションが構築された後に、管理サーバ１００が送信した入力ファイルを受信する。処理部２０４は、通信部２６６が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、メモリ２５４のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。処理部２０４は、取得した不変データと、入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理部２０４は、作成した出力ファイルを出力することによって公開する。例えば、処理部２０４は、出力ファイルを、一般送配電事業者へ、通信部２６６から送信することによって公開してもよい。
【００２５】
処理部２０４は、複数の処理を行うようにしてもよい。具体的には、処理部２０４が二種類の処理を行う場合には、処理部２０４は、第１処理を行う第１処理部２０４２と、第２処理を行う第２処理部２０４４とを有する。第１処理部２０４２は、通信部２６６が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、メモリ２５４のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。第１処理部２０４２は、取得した不変データと、入力ファイルとに基づいて、第１処理を行うことによって、出力ファイルを作成する。第１処理の一例は、電力使用量を導出する処理である。電力使用量を導出する処理には、様々な手法を適用できる。第１処理部２０４２は、作成した出力ファイルを公開する。
第２処理部２０４４は、通信部２６６が受信した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。第２処理部２０４４は、取得した不変データと、入力ファイルとに基づいて、第２処理を行うことによって、出力ファイルを作成する。第２処理の一例は、電力単価を導出する処理である。電力単価を導出する処理には、様々な手法を適用できる。第２処理部２０４４は、作成した出力ファイルを公開する。処理部２０４は、出力ファイルを公開した後に、公開完了連絡を作成し、作成した公開完了連絡を、通信部２６６へ出力する。通信部２６６は、処理部２０４が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ１００へ送信する。
処理部２０４は、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した出力情報を取得し、更新サーバ４００との間でセッションが構築された後に、取得した出力情報を、更新サーバ４００へ送信する。
【００２６】
（更新サーバ４００）
更新サーバ４００は、更新部４０２を有している。これらの各部は、図２に示されている各構成要素のいずれかが、記憶部４５６からメモリ４５４上に展開されたプログラム４５６２と、アプリ４５６３とを実行するＣＰＵ４５２からの命令によって動作することで実現される機能である。
図２及び図３を用いて、更新サーバ４００の各機能構成について詳細に説明する。
更新サーバ４００の更新部４０２は、ＣＰＵ４５２からの命令、及び通信部４６６によって実現される。通信部４６６は、処理サーバ２００との間でセッションが構築された後に、処理サーバ２００が送信した出力情報を受信する。
更新部４０２は、通信部４６６が受信した出力情報を取得し、取得した出力情報に含まれるユーザの識別情報と、出力ファイルとを取得する。更新部４０２は、取得したユーザの識別情報と、出力ファイルとに基づいて、更新サーバ４００を宛先とし、ユーザの識別情報と、出力ファイルとを含む更新情報を作成し、作成した更新情報を、通信部４６６に出力する。
通信部４６６は、データベースサーバ３００との間でセッションが構築された後に、更新部４０２が出力した更新情報を送信する。
また、更新部４０２は、通信部４６６に更新情報を出力した後に、出力ファイルを出力したことを示す情報と、ユーザの識別情報とを含み、管理サーバ１００を宛先とする更新完了連絡を作成し、作成した更新完了連絡を、通信部４６６に出力する。通信部４６６は、管理サーバ１００との間でセッションが構築された後に、更新部４０２が出力した更新完了連絡を送信する。
【００２７】
（託送業務処理システム１０の動作）
図４は、第１の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
図４を参照して、実施形態の託送業務処理システム１０の動作について説明する。
（ステップＳ１）
管理サーバ１００の振分部１０２は、通信部１６６と処理サーバ２００−１の通信部２６６との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、通信部２６６へ出力する。通信部２６６は、振分部１０２が出力した不変データ読込命令を取得し、取得した不変データ読込命令を、処理サーバ２００−１へ送信する。
管理サーバ１００の振分部１０２は、通信部１６６と処理サーバ２００−２〜処理サーバ２００−ｎ−１の各々の通信部２６６との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、通信部２６６へ出力する。通信部２６６は、振分部１０２が出力した不変データ読込命令を取得し、取得した不変データ読込命令を、処理サーバ２００−２〜処理サーバ２００−ｎ−１へ送信する。
（ステップＳ２）
管理サーバ１００の振分部１０２は、通信部１６６と処理サーバ２００−ｎの通信部２６６との間でセッションが構築された後に、不変データ読込命令を作成し、作成した不変データ読込命令を、通信部２６６へ出力する。通信部２６６は、振分部１０２が出力した不変データ読込命令を取得し、取得した不変データ読込命令を送信する。
（ステップＳ３）
処理サーバ２００−１において、通信部２６６は、管理サーバ１００が送信した不変データ読込命令を受信し、受信した不変データ読込命令を、ＣＰＵ２５２に出力する。ＣＰＵ２５２は、通信部２６６が出力した不変データ読込命令を取得し、取得した不変データ読込命令に基づいて、取得部２０２として機能することによって、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ３００を宛先とする不変データ要求を作成し、作成した不変データ要求を、通信部２６６へ出力する。通信部２６６は、取得部２０２が出力した不変データ要求を取得し、取得した不変データ要求を、データベースサーバ３００へ送信する。
（ステップＳ４）
データベースサーバ３００は、処理サーバ２００−１が送信した不変データ要求を受信し、受信した不変データ要求に基づいて、複数のユーザの各々の不変データを含む不変データ応答を作成し、作成した不変データ応答を、処理サーバ２００−１へ送信する。例えば、データベースサーバ３００は、受信した不変データ要求に基づいて、スナップショットなどのファイルを複製する技術を使用してデータベースの複製を作成し、作成したデータベースの複製を含む不変データ応答を作成する。
（ステップＳ５）
処理サーバ２００−１において、通信部１６６は、データベースサーバ３００が送信した不変データ応答を受信し、受信した不変データ応答を、取得部２０２へ出力する。取得部２０２は、通信部１６６が出力した不変データ応答を取得し、取得した不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ２５４のインメモリ領域２５８に記憶する。
【００２８】
（ステップＳ６）
処理サーバ２００−１において、取得部２０２は、不変データを、インメモリ領域２５８に記憶したことを通知するための情報である記憶完了連絡を作成し、作成した記憶完了連絡を、通信部２６６に出力する。通信部２６６は、取得部２０２が出力した記憶完了連絡を取得し、取得した記憶完了連絡を、管理サーバ１００へ送信する。
管理サーバ１００と、処理サーバ２００−２〜処理サーバ２００−ｎ−１と、データベースサーバ３００との間でも、ステップＳ３〜ステップＳ６と同様の処理が行われる。
（ステップＳ７）
処理サーバ２００−ｎにおいて、通信部２６６は、管理サーバ１００が送信した不変データ読込命令を受信し、受信した不変データ読込命令を、ＣＰＵ２５２に出力する。ＣＰＵ２５２は、通信部２６６が出力した不変データ読込命令を取得し、取得した不変データ読込命令に基づいて、取得部２０２として機能することによって、複数のユーザの各々の不変データを要求する情報を含み、データベースサーバ３００を宛先とする不変データ要求を作成し、作成した不変データ要求を、通信部２６６へ出力する。通信部２６６は、取得部２０２が出力した不変データ要求を取得し、取得した不変データ要求を、データベースサーバ３００へ送信する。
（ステップＳ８）
データベースサーバ３００は、処理サーバ２００−ｎが送信した不変データ要求を受信し、受信した不変データ要求に基づいて、複数のユーザの各々の不変データを含む不変データ応答を作成し、作成した不変データ応答を、処理サーバ２００−ｎへ送信する。例えば、データベースサーバ３００は、受信した不変データ要求に基づいて、スナップショットなどのファイルを複製する技術を使用してデータベースの複製を作成し、作成したデータベースの複製を含む不変データ応答を作成する。
（ステップＳ９）
処理サーバ２００−ｎにおいて、通信部２６６は、データベースサーバ３００が送信した不変データ応答を受信し、受信した不変データ応答を、取得部２０２へ出力する。取得部２０２は、通信部２６６が出力した不変データ応答を取得し、取得した不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ２５４のインメモリ領域２５８に記憶する。
（ステップＳ１０）
処理サーバ２００−ｎにおいて、取得部２０２は、不変データを、インメモリ領域２５８に記憶したことを通知するための情報である記憶完了連絡を作成し、作成した記憶完了連絡を、通信部２６６に出力する。通信部２６６は、取得部２０２が出力した記憶完了連絡を取得し、取得した記憶完了連絡を、管理サーバ１００へ送信する。
【００２９】
（ステップＳ１１）
管理サーバ１００において、通信部１６６は、外部システム５０が、所定の周期で送信した入力ファイルを受信し、受信した入力ファイルを、ＣＰＵ１５２へ出力する。ＣＰＵ１５２は、振分部１０２として機能する。振分部１０２は、通信部１６６が受信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００−１〜処理サーバ２００−ｎのいずれかへ振り分ける。振分部１０２は、振り分け先を宛先とする入力ファイルを、通信部１６６へ出力する。通信部１６６は、振分部１０２が出力した入力ファイルを取得し、取得した入力ファイルを、送信する。ここでは、管理サーバ１００が、処理サーバ２００−１へ、入力ファイルを送信した場合について説明を続ける。
（ステップＳ１２）
管理サーバ１００において、通信部１６６は、外部システム５０が、所定の周期で送信した入力ファイルを受信し、受信した入力ファイルを、ＣＰＵ１５２へ出力する。ＣＰＵ１５２は、振分部１０２として機能する。振分部１０２は、通信部１６６が受信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００−１〜処理サーバ２００−ｎのいずれかへ振り分ける。振分部１０２は、振り分け先を宛先とする入力ファイルを、通信部１６６へ出力する。通信部１６６は、振分部１０２が出力した入力ファイルを取得し、取得した入力ファイルを、送信する。ここでは、管理サーバ１００が、処理サーバ２００−ｎへ、入力ファイルを送信した場合について説明を続ける。
（ステップＳ１３）
処理サーバ２００−１において、通信部２６６は、管理サーバ１００が送信した入力ファイルを受信し、受信した入力ファイルを、処理部２０４に出力する。処理部２０４は、通信部２６６が出力した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。処理部２０４は、取得した不変データと、入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。
（ステップＳ１４）
処理サーバ２００−１において、処理部２０４は、作成した出力ファイルを公開する。
（ステップＳ１５）
処理サーバ２００−１において、処理部２０４は、ユーザの識別情報と、作成した出力ファイルとを含み、更新サーバ４００−１を宛先とする出力情報を作成し、作成した出力情報を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した出力情報を取得し、取得した出力情報を、更新サーバ４００−１へ送信する。更新サーバ４００−１の通信部４６６は、処理サーバ２００−１が送信した出力情報を受信し、受信した出力情報を、ＣＰＵ４５２へ出力する。
（ステップＳ１６）
処理サーバ２００−１において、処理部２０４は、公開完了連絡を作成し、作成した公開完了連絡を、通信部２６６へ出力する。通信部２６６は、処理部２０４が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ１００へ送信する。
【００３０】
（ステップＳ１７）
処理サーバ２００−ｎにおいて、通信部２６６は、ステップＳ１２で管理サーバ１００が送信した入力ファイルを受信し、受信した入力ファイルを、処理部２０４に出力する。処理部２０４は、通信部２６６が出力した入力ファイルを取得し、取得した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得する。処理部２０４は、取得した不変データと、入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。
（ステップＳ１８）
処理サーバ２００−ｎにおいて、処理部２０４は、作成した出力ファイルを公開する。
（ステップＳ１９）
処理サーバ２００−ｎにおいて、処理部２０４は、ユーザの識別情報と、作成した出力ファイルとを含み、更新サーバ４００−ｎを宛先とする出力情報を作成し、作成した出力情報を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した出力情報を取得し、取得した出力情報を、更新サーバ４００−ｎへ送信する。更新サーバ４００−ｎの通信部４６６は、処理サーバ２００−ｎが送信した出力情報を受信し、受信した出力情報を、ＣＰＵ４５２へ出力する。
（ステップＳ２０）
処理サーバ２００−ｎにおいて、処理部２０４は、公開完了連絡を作成し、作成した公開完了連絡を、通信部２６６へ出力する。通信部２６６は、処理部２０４が出力した公開完了連絡を取得し、取得した公開完了連絡を、管理サーバ１００へ送信する。
（ステップＳ２１）
更新サーバ４００−１と、更新サーバ４００−ｎとにおいて、ＣＰＵ４５２は、更新部４０２として機能することによって、通信部４６６が出力した出力情報を取得する。ここでは、更新サーバ４００−１の更新部４０２は、処理サーバ２００−１が送信した出力情報を取得し、更新サーバ４００−ｎの更新部４０２は、処理サーバ２００−ｎが送信した出力情報を取得する。
更新部４０２は、取得した出力情報に含まれるユーザの識別情報と、出力ファイルとを含み、データベースサーバ３００を宛先とする更新情報を作成し、作成した更新情報を、通信部４６６へ出力する。ここでは、更新サーバ４００−１において、更新部４０２は、処理サーバ２００−１が送信した出力情報に含まれるユーザの識別情報と、出力ファイルとを含み、データベースサーバ３００を宛先とする更新情報を作成し、作成した更新情報を、通信部４６６へ出力する。更新サーバ４００−ｎにおいて、更新部４０２は、処理サーバ２００−ｎが送信した出力情報に含まれるユーザの識別情報と、出力ファイルとを含み、データベースサーバ３００を宛先とする更新情報を作成し、作成した更新情報を、通信部４６６へ出力する。
更新サーバ４００−１と、更新サーバ４００−ｎとにおいて、通信部４６６は、更新部４０２が出力した更新情報を、データベースサーバ３００へ送信する。
（ステップＳ２２）
データベースサーバ３００は、更新サーバ４００−１と、更新サーバ４００−ｎとが送信した更新情報を受信し、受信した更新情報に含まれるユーザの識別情報と、出力ファイルとに基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。
（ステップＳ２３）
更新サーバ４００−１と、更新サーバ４００−ｎとにおいて、更新部４０２は、更新が完了したことを通知する情報である更新完了連絡を作成し、作成した更新完了連絡を、通信部４６６へ出力する。通信部４６６は、更新部４０２が出力した更新完了連絡を取得し、取得した更新完了連絡を、管理サーバ１００へ送信する。
その後、管理サーバ１００の通信部１６６は、更新サーバ４００−１と、更新サーバ４００−ｎとが送信した更新完了連絡を受信し、受信した更新完了連絡を、ＣＰＵ１５２へ出力する。ＣＰＵ１５２は、管理部１０４として機能する。管理部１０４は、通信部１６６が受信した更新完了連絡を取得し、取得した更新完了連絡に含まれるユーザの識別情報に基づいて、記憶部１５６に記憶されている処理管理情報１５６５を更新する。
図４に示されるシーケンスチャートにおいて、更新サーバ４００−１は、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータの更新を、ステップＳ１５とステップＳ２０との間に行ってもよい。つまり、更新サーバ４００−１は、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータの更新を、処理サーバ２００−１から、出力情報を受信したタイミングで行ってもよい。
【００３１】
前述した実施形態では、託送業務処理システムが、管理サーバ１００を一台備える場合について説明したがこの限りでない。例えば、託送業務処理システムが、複数の管理サーバを備えていてもよい。
前述した実施形態では、託送業務処理システムに含まれる管理サーバ１００と、処理サーバ２００−１〜処理サーバ２００−ｎと、データベースサーバ３００と、更新サーバ４００−１〜更新サーバ４００−ｎとが別々の装置で構成される場合について説明したが、この限りでない。例えば、処理サーバ２００−１〜処理サーバ２００−ｎの各々が、管理サーバ１００を備えるようにしてもよいし、処理サーバ２００−１〜処理サーバ２００−ｎの各々が、更新サーバ４００−１〜更新サーバ４００−ｎの各々を備えてもよい。
前述した実施形態では、管理サーバ１００が、外部システム５０が、３０分などの所定の周期で送信した入力ファイルを処理する場合について説明したが、この限りでない。例えば、管理サーバ１００は、外部システム５０が任意のタイミングで送信した入力ファイルを処理するようにしてもよいし、外部システム５０が送信した入力ファイルの一部の入力ファイルを処理してもよい。また、管理サーバ１００が、データベースサーバ３００からファイルを取得し、取得したファイルを処理してもよい。
前述した実施形態では、更新サーバ４００−１から更新サーバ４００−ｎの各々が、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータの更新が終了した場合に、更新完了連絡を、管理サーバ１００へ送信する場合について説明したが、この限りでない。例えば、更新サーバ４００−１から更新サーバ４００−ｎの各々は、処理サーバ２００−１から処理サーバ２００−ｎの各々が送信した出力情報を受信したタイミングで、受信した出力情報に含まれる出力ファイルの更新が終了したことを示す更新完了連絡を、管理サーバ１００へ送信するようにしてもよい。この場合、更新サーバ４００−１から更新サーバ４００−ｎの各々は、更新が終了したことを示す更新完了連絡を、管理サーバ１００に送信した後に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。つまり、出力ファイルの公開と、管理サーバ１００で管理されるユーザデータの更新状況と、データベースサーバ３００の更新状況とが非同期となる。
また、更新サーバ４００−１から更新サーバ４００−ｎの各々が、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータのうち、即時反映が必要なデータの更新が終了した場合に、更新完了連絡を、管理サーバ１００へ送信してもよい。この場合、更新サーバ４００は、更新完了連絡を、管理サーバ１００に送信した後に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、出力ファイルに該当するユーザのユーザデータのうち即時反映が必要でないデータを更新する。つまり、出力ファイルの公開と、管理サーバ１００で管理されるユーザデータの更新状況と、データベースサーバ３００の更新状況とが非同期となる。
前述した実施形態では、処理サーバ２００−１から処理サーバ２００−ｎの各々が、不変データ要求を送信することで、データベースサーバ３００から複数のユーザの各々の不変データを取得する場合について説明したがこの限りでない。例えば、データベースサーバ３００が、処理サーバ２００−１〜処理サーバ２００−ｎの各々から、不変データ要求を受信することなく、複数のユーザの各々の不変データを送信するようにしてもよい。
【００３２】
実施形態の託送業務処理システムによれば、処理サーバ２００−１から処理サーバ２００−ｎの各々は、管理サーバ１００から入力ファイルを取得する前に、データベースサーバ３００から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域２５８に記憶する。処理サーバ２００−１から処理サーバ２００−ｎの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。
このように構成することによって、処理サーバ２００−１から処理サーバ２００−ｎの各々は、入力ファイルを取得する度に、データベースサーバ３００からユーザの識別情報に該当するユーザの不変データを取得しなくても処理を行うことができる。このため、処理サーバ２００−１から処理サーバ２００−ｎの各々が、データベースサーバ３００へアクセスする回数を減らすことができるため、処理の遅延を短縮できる。
さらに、データベースサーバ３００から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域２５８に記憶することによって、インメモリ領域２５８に記憶される不変データの多重度を向上できるため、データベースサーバ３００へアクセスする回数を減らすことができる。このため、処理の遅延を短縮できる。
また、実施形態の託送業務処理システムによれば、更新サーバ４００−１から更新サーバ４００−ｎの各々は、処理サーバ２００−１〜処理サーバ２００−ｎの各々が送信した出力情報に含まれる出力ファイルに基づいて、出力ファイルの公開とは非同期に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータを更新する。このように構成することによって、処理サーバ２００−１から処理サーバ２００−ｎの各々は、最優先に、出力ファイルを公開できる。
また、実施形態の託送業務処理システムによれば、処理サーバ２００−１から処理サーバ２００−ｎの各々は、インメモリ領域２５８に同じ不変データを記憶する。このように構成することによって、管理サーバ１００が、処理サーバ２００−１から処理サーバ２００−ｎのいずれに入力ファイルを振り分けても、入力ファイルに対して、同じ処理を行わせることができるため、管理サーバ１００の振分処理を単純にできる。
【００３３】
（変形例）
（託送業務処理システム）
図５は、第１の実施形態の変形例の託送業務処理システムの一例を示す図である。変形例の託送業務処理システム１０ａは、本実施形態の託送業務処理システム１０と比較して、管理サーバ１００の代わりに管理サーバ１００ａを備え、処理サーバ２００の代わりに処理サーバ２００ａを備える。さらに、管理サーバ１００ａと、データベースサーバ３００とが接続される。
託送業務処理システム１０ａでは、管理サーバ１００ａは、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が記憶した不変データの整合性をチェックする。
託送業務処理システム１０ａは、管理サーバ１００ａと、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎ（ｎは、ｎ＞０の整数）と、データベースサーバ３００と、更新サーバ４００−１〜更新サーバ４００−ｎとを含む。さらに、図５には、外部システム５０も示されている。
処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々は、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、不変データを取得し、取得した複数のユーザの各々の不変データを、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が備えるインメモリ領域に記憶する。
管理サーバ１００ａは、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が取得した複数のユーザの各々の不変データと同様のデータであるチェックデータを取得し、取得したチェックデータを記憶する。
【００３４】
処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々は、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成し、作成したチェック情報を、管理サーバ１００ａへ送信する。ここで、データの状況を示す情報の一例は、インメモリ領域２５８に記憶されているユーザデータの件数、インメモリ領域に記憶されているデータのサイズ、ハッシュ値である。
管理サーバ１００ａは、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が送信したチェック情報を受信し、受信したチェック情報に基づいて、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。
管理サーバ１００ａは、外部システム５０が送信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎのうち、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しい処理サーバへ送信する。
処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎのうち、管理サーバ１００ａが送信した入力ファイルの宛先である処理サーバ２００ａ（以下、「処理サーバ２００ａ−ｍ（ｍは、ｎ≧ｍ＞０の整数）」という）は、管理サーバ１００ａが送信した入力ファイルを受信する。処理サーバ２００ａ−ｍは、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得する。処理サーバ２００ａ−ｍは、取得した不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理サーバ２００ａ−ｍは、作成した出力ファイルを公開し、公開完了連絡を作成し、作成した公開完了連絡を、管理サーバ１００ａへ送信する。処理サーバ２００ａ−ｍは、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、更新サーバ４００−１〜更新サーバ４００−ｎのうち、処理サーバ２００ａ−ｍと関連付けられている更新サーバ４００−ｍへ送信する。
以下、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎのうち、任意の処理サーバを、処理サーバ２００ａと記載する。
託送業務処理システム１０ａを構成する管理サーバ１００ａと、処理サーバ２００ａと、データベースサーバ３００と、更新サーバ４００とのうち、前述した実施形態と異なる管理サーバ１００ａと、処理サーバ２００ａとについて、図５〜図７を参照して、詳細に説明する。
【００３５】
（本実施形態の変形例の託送業務処理システムのハードウェア構成）
図６は、第１の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ１００ａと、処理サーバ２００ａとの順に、ハードウェア構成について説明する。
（管理サーバ１００ａ）
管理サーバ１００ａは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
管理サーバ１００ａは、ＣＰＵ１５２と、メモリ１５４と、記憶部１５６ａと、通信部１６６と、内部バス１５０とを備えている。
ＣＰＵ１５２は、例えば記憶部１５６ａに格納されるプログラム１５６２とアプリ１５６３ａとを実行し、メモリ１５４をワークメモリとして使用して、管理サーバ１００ａの各部を制御する。
【００３６】
記憶部１５６ａには、ＣＰＵ１５２によって実行されるプログラム１５６２と、アプリ１５６３ａと、処理管理情報１５６５とが格納される。
アプリ１５６３ａは、管理サーバ１００ａに、データベースサーバ３００が送信したチェックデータを受信させ、受信させたチェックデータを記憶させる。アプリ１５６３ａは、管理サーバ１００ａに、処理サーバ２００ａ−１〜処理サーバ２００ａ―ｎの各々が送信したチェック情報を受信させ、受信させたチェック情報と、記憶したチェックデータとに基づいて、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々のインメモリ領域に記憶されている複数のユーザの各々の不変データが正しいか否かを判定させる。アプリ１５６３ａは、管理サーバ１００ａに、外部システム５０が送信した入力ファイルを取得させ、取得させた入力ファイルを、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎのうち、インメモリ領域に記憶されている複数のユーザの各々の不変データが正しい処理サーバ２００ａのいずれかへ振り分けさせる。
アプリ１５６３ａは、管理サーバ１００ａに、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しい処理サーバ２００ａのうち、振り分けさせた処理サーバ２００−ｍに、入力ファイルを送信させる。アプリ１５６３ａは、管理サーバ１００ａに、処理サーバ２００ａ−ｍが送信した公開完了連絡を受信させ、受信させた公開完了連絡に含まれるユーザの識別情報に基づいて、処理サーバ２００ａ−ｍにおいて、出力ファイルの公開が完了したことを管理させる。アプリ１５６３ａは、管理サーバ１００ａに、更新サーバ４００−ｍが送信した更新完了連絡を取得させ、取得させた更新完了連絡に基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータの更新状況を管理させる。
【００３７】
（処理サーバ２００ａ）
処理サーバ２００ａは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
処理サーバ２００ａは、ＣＰＵ２５２と、メモリ２５４と、記憶部２５６ａと、通信部２６６と、内部バス２５０とを備えている。
ＣＰＵ２５２は、例えば記憶部２５６ａに格納されるプログラム２５６２とアプリ２５６３ａとを実行し、メモリ２５４をワークメモリとして使用して、処理サーバ２００ａの各部を制御する。
記憶部２５６ａは、例えばフラッシュメモリ等によって構成される。記憶部２５６ａには、ＣＰＵ２５２によって実行されるプログラム２５６２と、アプリ２５６３ａとが格納される。
アプリ２５６３ａは、処理サーバ２００ａに、管理サーバ１００ａが送信した不変データ読込命令を受信させる。アプリ２５６３ａは、処理サーバ２００ａに、受信させた不変データ読込命令に基づいて、不変データ要求を作成させ、作成させた不変データ要求を送信させる。アプリ２５６３ａは、処理サーバ２００ａに、送信させた不変データ要求に対して、データベースサーバ３００が送信した不変データ応答を受信させる。アプリ２５６３ａは、処理サーバ２００ａに、不変データ応答に含まれる複数のユーザの各々の不変データを、メモリ２５４のインメモリ領域２５８に記憶させる。
アプリ２５６３ａは、処理サーバ２００ａに、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成させ、作成させたチェック情報を、管理サーバ１００ａへ送信させる。アプリ２５６３ａは、処理サーバ２００ａに、管理サーバ１００ａが送信した入力ファイルを受信させる。アプリ２５６３ａは、処理サーバ２００ａに、受信させた入力ファイルに含まれるユーザの識別情報に基づいて、メモリ２５４のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得させる。
アプリ２５６３ａは、処理サーバ２００ａに、取得させた不変データと入力ファイルとに基づいて、処理を行わせることによって、出力ファイルを作成させる。アプリ２５６３ａは、処理サーバ２００ａに、作成させた出力ファイルを公開させる。アプリ２５６３ａは、処理サーバ２００ａに、公開完了連絡を作成させ、作成させた公開完了連絡を、管理サーバ１００ａへ送信させる。アプリ２５６３ａは、処理サーバ２００ａに、公開させた出力ファイルと、ユーザの識別情報とを含む出力情報を作成させ、作成させた出力情報を、更新サーバ４００へ送信させる。
【００３８】
（本実施形態の変形例の託送業務システムの機能構成）
図７は、第１の実施形態の変形例の託送業務処理システムに含まれる管理サーバと、処理サーバと、更新サーバとを示すブロック図である。以下、管理サーバ１００ａと、処理サーバ２００ａと、データベースサーバ３００と、更新サーバ４００とのうち、前述した実施形態と異なる管理サーバ１００ａと、処理サーバ２００ａとについて順次説明する。
（管理サーバ１００ａ）
管理サーバ１００ａは、判定部１０１と、振分部１０２ａと、管理部１０４とを有している。これらの各部は、図６に示されている各構成要素のいずれかが、記憶部１５６ａからメモリ１５４上に展開されたプログラム１５６２と、アプリ１５６３ａとを実行するＣＰＵ１５２からの命令によって動作することで実現される機能である。
図６及び図７を用いて、管理サーバ１００ａの各機能構成について詳細に説明する。
管理サーバ１００ａの判定部１０１は、ＣＰＵ１５２からの命令、及び通信部１６６によって実現される。通信部１６６は、データベースサーバ３００が送信したチェックデータを受信する。判定部１０１は、通信部１６６が受信したチェックデータを取得し、取得したチェックデータを、記憶部１５６ａに記憶する。
通信部１６６は、処理サーバ２００ａ−１〜処理サーバ２００ａ―ｎの各々が送信したチェック情報を受信し、受信したチェック情報を、判定部１０１へ出力する。
判定部１０１は、ＣＰＵ１５２からの命令によって実現される。判定部１０１は、通信部１６６が出力した、チェック情報を取得し、取得したチェック情報に含まれるインメモリ領域に記憶されているデータの状況を示す情報を取得する。判定部１０１は、取得したインメモリ領域２５８に記憶されているデータの状況を示す情報と、記憶部１５６ａに記憶したチェックデータとに基づいて、データの状況を示す情報と、チェックデータとが整合するか否かを判定することによって、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。
具体的には、判定部１０１は、インメモリ領域２５８に記憶されているデータの状況を示す情報に含まれるインメモリ領域２５８に記憶されている不変データの件数、サイズ、ハッシュ値が、記憶部１５６ａに記憶したチェックデータに含まれる複数のユーザの各々の不変データの件数、サイズ、ハッシュ値と一致するか否かを判定し、一致する場合には整合するため、インメモリ領域２５８に記憶されている不変データが正しいと判定し、一致しない場合には整合しないため、インメモリ領域２５８に記憶されている不変データが正しくないと判定する。判定部１０１は、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々のインメモリ領域２５８に記憶されているデータが正しいか否かの判定結果を、振分部１０２ａに出力する。
振分部１０２ａは、ＣＰＵ１５２からの命令、及び通信部１６６によって実現される。振分部１０２ａは、判定部１０１が出力した処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々のインメモリ領域２５８に記憶されているデータが正しいか否かの判定結果を取得する。振分部１０２ａは、通信部１６６と外部システム５０との間でセッションが構築された後に、外部システム５０が送信した入力ファイルを、通信部１６６から取得し、取得した入力ファイルを、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎのうち、判定部１０１が、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいと判定した処理サーバ２００ａのいずれかへ振り分ける。例えば、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいと判定した処理サーバ２００ａの各々と、乱数とを予め関連付ける。振分部１０２ａは、入力ファイルを取得した場合に、乱数を発生し、発生した乱数に関連付けられている処理サーバ２００ａ−ｍに、入力ファイルを振り分けるようにしてもよい。振分部１０２ａは、振り分け先である処理サーバ２００−ｍを宛先とする入力ファイルを、通信部１６６へ出力する。通信部１６６は、振分部１０２ａが出力した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００−ｍ送信する。
【００３９】
（処理サーバ２００ａ）
処理サーバ２００ａは、取得部２０２と、処理部２０４と、作成部２０６とを有している。これらの各部は、図６に示されている各構成要素のいずれかが、記憶部２５６ａからメモリ２５４上に展開されたプログラム２５６２と、アプリ２５６３ａとを実行するＣＰＵ２５２からの命令によって動作することで実現される機能である。
図６及び図７を用いて、処理サーバ２００ａの各機能構成について詳細に説明する。
処理サーバ２００ａの作成部２０６は、ＣＰＵ２５２からの命令、及び通信部２６６によって実現される。作成部２０６は、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成し、作成したチェック情報を、通信部２６６へ出力する。
【００４０】
（託送業務処理システム１０ａの動作）
図８は、第１の実施形態の変形例の託送業務処理システムの動作の一例を示すシーケンス図である。
図８を参照して、実施形態の変形例の託送業務処理システム１０ａの動作について説明する。
（ステップＳ３１）
データベースサーバ３００は、チェックデータを、管理サーバ１００ａへ送信する。
（ステップＳ３２）
管理サーバ１００ａの通信部１６６は、データベースサーバ３００が送信したチェックデータを受信し、受信したチェックデータを、ＣＰＵ１５２へ出力する。ＣＰＵ１５２は、判定部１０１として機能することによって、通信部１６６が出力したチェックデータを取得し、取得し卓チェックデータを、記憶部１５６ａに記憶する。
ステップＳ３３〜ステップＳ３７は、前述したステップＳ１〜ステップＳ５を適用できる。
（ステップＳ３８）
処理サーバ２００ａ−１の作成部２０６は、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成し、作成したチェック情報を、通信部２６６へ出力する。通信部２６６は、作成部２０６が出力したチェック情報を取得し、取得したチェック情報を、管理サーバ１００ａに送信する。
【００４１】
（ステップＳ３９）
管理サーバ１００ａにおいて、通信部１６６は、処理サーバ２００ａ−１が送信したチェック情報を受信し、受信したチェック情報を、ＣＰＵ１５２へ出力する。
ＣＰＵ１５２は、判定部１０１として機能することによって、通信部１６６が出力したチェック情報を取得する。判定部１０１は、取得したチェック情報に含まれるインメモリ領域２５８に記憶されているデータの状況を示す情報を取得する。
判定部１０１は、取得した処理サーバ２００ａ−１のインメモリ領域２５８に記憶されているデータの状況を示す情報と、記憶部１５６ａに記憶したチェックデータとに基づいて、処理サーバ２００ａ−１のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。判定部１０１は、処理サーバ２００ａ−１のインメモリ領域２５８に記憶されている不変データの判定結果を、振分部１０２ａに出力する。
ここでは、判定部１０１が、処理サーバ２００ａ−１のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいと判定した場合について説明を続ける。
（ステップＳ３０）
管理サーバ１００ａにおいて、振分部１０２ａは、判定部１０１が出力した不変データの判定結果を取得する。振分部１０２ａは、通信部１６６と外部システム５０との間でセッションが構築された後に、外部システム５０が送信した入力ファイルを、通信部１６６から取得し、取得した入力ファイルを、処理サーバ２００ａ−１から処理サーバ２００ａ−ｎのうち、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいと判定した処理サーバ２００ａ−１へ振り分ける。
振分部１０２ａは、振り分け先である処理サーバ２００ａ−１を宛先とする入力ファイルを、通信部１６６へ出力する。通信部１６６は、振分部１０２ａが出力した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００ａ−１へ送信する。
ステップＳ４１〜ステップＳ４６は、ステップＳ３５〜ステップＳ４０を適用できる。
ステップＳ４０より後の処理は、前述したステップＳ１３からＳ２３を適用できる。
【００４２】
前述した変形例では、託送業務処理システムが、管理サーバ１００aを一台備える場合について説明したがこの限りでない。例えば、託送業務処理システムが、複数の管理サーバを備えていてもよい。
前述した変形例では、託送業務処理システムに含まれる管理サーバ１００ａと、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎと、データベースサーバ３００と、更新サーバ４００−１〜更新サーバ４００−ｎとが別々の装置で構成される場合について説明したが、この限りでない。例えば、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が、管理サーバ１００ａを備えるようにしてもよいし、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が、更新サーバ４００−１〜更新サーバ４００−ｎの各々を備えてもよい。
前述した変形例では、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が、チェック情報を送信する場合について説明したが、この例に限られない。例えば、管理サーバ１００ａが、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々を宛先とし、チェック情報を要求する情報を含むチェック情報要求を作成し、作成したチェック情報要求を送信してもよい。この場合、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々は、管理サーバ１００ａが送信したチェック情報要求を受信し、受信したチェック情報要求に基づいて、チェック情報を作成し、送信する。
【００４３】
変形例の託送業務処理システムによれば、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々は、管理サーバ１００ａから入力ファイルを取得する前に、データベースサーバ３００から複数のユーザの各々のチェックデータを取得し、取得した複数のユーザの各々のチェックデータを、インメモリ領域２５８に記憶する。また、管理サーバ１００ａは、データベースサーバ３００から複数のユーザの各々のチェックデータを取得し、取得した複数のユーザの各々のチェックデータを記憶する。さらに、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々は、管理サーバ１００ａから入力ファイルを取得する前に、チェック情報を作成し、作成したチェック情報を、管理サーバ１００ａに送信する。管理サーバ１００ａは、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々が送信したチェック情報と、記憶した複数のユーザの各々のチェックデータとに基づいて、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの各々のインメモリ領域２５８に記憶されている不変データが正しいか否かを判定する。
管理サーバ１００ａは、外部システム５０が送信した入力ファイルを受信し、受信した入力ファイルを、処理サーバ２００−１〜処理サーバ２００−ｎのうち、インメモリ領域２５８に記憶されているデータが正しい処理サーバ２００ａへ送信する。
処理サーバ２００−１〜処理サーバ２００−ｎの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、入力ファイルに該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。このように構成することによって、管理サーバ１００ａは、インメモリ領域に記憶されているデータが正しくない処理サーバ２００ａには、入力ファイルを送信しないため、出力ファイルの信頼性を向上できる。
【００４４】
（第２の実施形態）
（託送業務処理システム）
図９は、第２の実施形態の託送業務処理システムの一例を示す図である。第２の実施形態の託送業務処理システム１０ｂは、第１の実施形態の変形例の託送業務処理システム１０ａと比較して、処理サーバ２００ａ−１〜処理サーバ２００ａ−ｎの代わりに処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎを備える。さらに、更新サーバ４００−１〜更新サーバ４００−ｎが省略される。
託送業務処理システム１０ｂでは、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、出力ファイルを公開した場合に、出力情報を、データベースサーバ３００に直接送信する。データベースサーバ３００は、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々が送信した出力情報を受信し、受信した出力情報に基づいて、記憶している複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータを更新する。
託送業務処理システム１０ｂは、管理サーバ１００ａと、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎと、データベースサーバ３００とを含む。さらに、図９には、外部システム５０も示されている。
処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々は、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、不変データを取得し、取得した複数のユーザの各々の不変データを、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が備えるインメモリ領域に記憶する。
管理サーバ１００ａは、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が取得した複数のユーザの各々の不変データと同様のデータであるチェックデータを取得し、取得したチェックデータを記憶する。
【００４５】
処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々は、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成し、作成したチェック情報を、管理サーバ１００ａへ送信する。ここで、データの状況を示す情報の一例は、インメモリ領域２５８に記憶されているユーザデータの件数、インメモリ領域に記憶されているデータのサイズ、ハッシュ値である。
管理サーバ１００ａは、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が送信したチェック情報を受信し、受信したチェック情報に基づいて、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しいか否かを判定する。
管理サーバ１００ａは、外部システム５０が送信した入力ファイルを取得し、取得した入力ファイルを、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎのうち、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データが正しい処理サーバへ送信する。
処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎのうち、管理サーバ１００ａが送信した入力ファイルの宛先である処理サーバ２００ｂ（以下、「処理サーバ２００ｂ−ｍ（ｍは、ｎ≧ｍ＞０の整数）」という）は、管理サーバ１００ａが送信した入力ファイルを受信する。処理サーバ２００ｂ−ｍは、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得する。処理サーバ２００ｂ−ｍは、取得した不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成する。処理サーバ２００ａ−ｍは、作成した出力ファイルを公開し、公開完了連絡を作成し、作成した公開完了連絡を、管理サーバ１００ａへ送信する。処理サーバ２００ａ−ｍは、公開した出力ファイルと、ユーザの識別情報とを含む出力情報を作成し、作成した出力情報を、データベースサーバ３００へ送信する。
データベースサーバ３００は、処理サーバ２００ｂ−ｍが送信した出力情報を受信し、受信した出力情報に基づいて、複数のユーザの各々のユーザデータを更新する。
以下、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎのうち、任意の処理サーバを、処理サーバ２００ｂと記載する。
託送業務処理システム１０ｂを構成する管理サーバ１００ａと、処理サーバ２００ｂと、データベースサーバ３００とのうち、主に処理サーバ２００ｂについて、図９〜図１１とを参照して、詳細に説明する。
【００４６】
（第２の実施形態の託送業務処理システムのハードウェア構成）
図１０は、第２の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとのハードウェア構成の一例を示す図である。以下、管理サーバ１００ａと、処理サーバ２００ｂとのうち、主に処理サーバ２００ｂのハードウェア構成について説明する。
（処理サーバ２００ｂ）
処理サーバ２００ｂは、パーソナルコンピュータ、サーバ、又は産業用コンピュータ等の装置によって実現される。
処理サーバ２００ｂは、ＣＰＵ２５２と、メモリ２５４と、記憶部２５６ｂと、通信部２６６と、内部バス２５０とを備えている。
ＣＰＵ２５２は、例えば記憶部２５６ｂに格納されるプログラム２５６２とアプリ２５６３ｂとを実行し、メモリ２５４をワークメモリとして使用して、処理サーバ２００ｂの各部を制御する。
記憶部２５６ｂは、例えばフラッシュメモリ等によって構成される。記憶部２５６ｂには、ＣＰＵ２５２によって実行されるプログラム２５６２と、アプリ２５６３ｂとが格納される。
アプリ２５６３ｂは、処理サーバ２００ｂに、管理サーバ１００ａが送信した不変データ読込命令を受信させる。アプリ２５６３ｂは、処理サーバ２００ｂに、受信させた不変データ読込命令に基づいて、不変データ要求を作成させ、作成させた不変データ要求を送信させる。アプリ２５６３ｂは、処理サーバ２００ｂに、送信させた不変データ要求に対して、データベースサーバ３００が送信した不変データ応答を受信させる。アプリ２５６３ｂは、処理サーバ２００ｂに、不変データ応答に含まれる複数のユーザの各々の不変データを、インメモリ領域２５８に記憶させる。
アプリ２５６３ｂは、処理サーバ２００ｂに、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成させ、作成させたチェック情報を、管理サーバ１００ａへ送信させる。アプリ２５６３ｂは、処理サーバ２００ｂに、管理サーバ１００ａが送信した入力ファイルを受信させる。アプリ２５６３ｂは、処理サーバ２００ｂに、受信させた入力ファイルに含まれるユーザの識別情報に基づいて、メモリ２５４のインメモリ領域２５８に記憶されている複数のユーザの各々の不変データから、ユーザの識別情報に該当する不変データを取得させる。
アプリ２５６３ｂは、処理サーバ２００ｂに、取得させた不変データと入力ファイルとに基づいて、処理を行うことによって、出力ファイルを作成させる。アプリ２５６３ｂは、処理サーバ２００ｂに、作成させた出力ファイルを公開させる。アプリ２５６３ｂは、処理サーバ２００ｂに、公開完了連絡を作成させ、作成させた公開完了連絡を、管理サーバ１００ａへ送信させる。アプリ２５６３ｂは、処理サーバ２００ｂに、公開させた出力ファイルと、ユーザの識別情報とを含む出力情報を作成させ、作成させた出力情報を、データベースサーバ３００へ送信させる。
【００４７】
（第２の実施形態の託送業務システムの機能構成）
図１１は、第２の実施形態の託送業務処理システムに含まれる管理サーバと、処理サーバとを示すブロック図である。以下、管理サーバ１００ａと、処理サーバ２００ｂとについて説明する。
（管理サーバ１００ａ）
管理サーバ１００ａの通信部１６６は、処理サーバ２００ｂが送信した公開・更新完了連絡を受信し、受信した公開・更新完了連絡を、ＣＰＵ１５２へ出力する。ＣＰＵ１５２は、管理部１０４として機能する。管理部１０４は、通信部１６６が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡に基づいて、処理サーバ２００ｂが、出力ファイルを公開したことと、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータの更新が終了したこととを管理する。
（処理サーバ２００ｂ）
処理サーバ２００ｂは、取得部２０２と、処理部２０４と、作成部２０６と、インメモリ領域２５８とを有している。これらの各部は、図１０に示されている各構成要素のいずれかが、記憶部２５６ａからメモリ２５４上に展開されたプログラム２５６２と、アプリ２５６３ｂとを実行するＣＰＵ２５２からの命令によって動作することで実現される機能である。
図９〜図１１を用いて、処理サーバ２００ｂの各機能構成について詳細に説明する。
処理サーバ２００ｂの作成部２０６は、ＣＰＵ２５２からの命令、及び通信部２６６によって実現される。作成部２０６は、インメモリ領域２５８に記憶されているデータの状況を示す情報を含み、管理サーバ１００ａを宛先とするチェック情報を作成し、作成したチェック情報を、通信部２６６へ出力する。
処理部２０４は、公開した出力ファイルと、ユーザの識別情報とを含み、データベースサーバ３００を宛先とする出力情報を作成し、作成した出力情報を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した出力情報を取得し、データベースサーバ３００との間でセッションが構築された後に、取得した出力情報を、データベースサーバ３００へ送信する。
処理部２０４は、管理サーバ１００に出力ファイルを公開したことと、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に関連付けて記憶されているユーザのユーザデータの更新が終了したこととを通知するための情報である公開・更新完了連絡を作成し、作成した公開・更新完了連絡を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡を、管理サーバ１００ａへ送信する。
【００４８】
（託送業務処理システム１０ｂの動作）
図１２は、第２の実施形態の託送業務処理システムの動作の一例を示すシーケンス図である。
図１２を参照して、第２の実施形態の託送業務処理システム１０ｂの動作について説明する。ステップＳ５１〜ステップＳ５９は、前述したステップＳ３１〜ステップＳ３９を適用できる。ステップＳ６０〜ステップＳ６４は、前述したステップＳ４１〜ステップＳ４５を適用できる。ステップＳ６５〜ステップＳ６８は、前述したステップＳ１１〜ステップＳ１４を適用できる。
（ステップＳ６９）
処理サーバ２００ｂ−１において、処理部２０４は、ユーザの識別情報と、作成した出力ファイルとを含み、データベースサーバ３００を宛先とする出力情報を作成し、作成した出力情報を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した出力情報を取得し、取得した出力情報を、データベースサーバ３００へ送信する。データベースサーバ３００は、処理サーバ２００ｂ−１が送信した出力情報を受信する。
（ステップＳ７０）
処理サーバ２００ｂ−１において、処理部２０４は、公開・更新完了連絡を作成し、作成した公開・更新完了連絡を、通信部２６６へ出力する。通信部２６６は、処理部２０４が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡を、管理サーバ１００ａへ送信する。
（ステップＳ７１）
データベースサーバ３００は、処理サーバ２００ｂ−１が送信した出力情報を受信し、受信した出力情報に含まれるユーザの識別情報と、出力ファイルとに基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。
ステップＳ７２〜ステップＳ７３は、前述したステップＳ１７〜ステップＳ１８を適用できる。
（ステップＳ７４）
処理サーバ２００ｂ−ｎにおいて、処理部２０４は、ユーザの識別情報と、作成した出力ファイルとを含み、データベースサーバ３００を宛先とする出力情報を作成し、作成した出力情報を、通信部２６６に出力する。通信部２６６は、処理部２０４が出力した出力情報を取得し、取得した出力情報を、データベースサーバ３００へ送信する。データベースサーバ３００は、処理サーバ２００ｂ−ｎが送信した出力情報を受信する。
（ステップＳ７５）
処理サーバ２００ｂ−ｎにおいて、処理部２０４は、公開・更新完了連絡を作成し、作成した公開・更新完了連絡を、通信部２６６へ出力する。通信部２６６は、処理部２０４が出力した公開・更新完了連絡を取得し、取得した公開・更新完了連絡を、管理サーバ１００ａへ送信する。
（ステップＳ７６）
データベースサーバ３００は、処理サーバ２００ｂ−ｎが送信した出力情報を受信し、受信した出力情報に含まれるユーザの識別情報と、出力ファイルとに基づいて、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータを更新する。
図１２に示されるシーケンスチャートにおいて、ステップＳ６９とステップＳ７０との順序を入れ替えてもよいし、ステップＳ７４とステップＳ７５との順序を入れ替えてもよい。
【００４９】
前述した第２の実施形態では、託送業務処理システムが、管理サーバ１００ａを一台備える場合について説明したがこの限りでない。例えば、託送業務処理システムが、複数の管理サーバを備えていてもよい。
前述した第２の実施形態では、託送業務処理システムに含まれる管理サーバ１００ａと、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎとが別々の装置で構成される場合について説明したが、この限りでない。例えば、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が、管理サーバ１００ａを備えるようにしてもよい。
前述した第２の実施形態では、管理サーバ１００ａが、外部システム５０が、３０分などの所定の周期で送信した入力ファイルを処理する場合について説明したが、この限りでない。例えば、管理サーバ１００ａは、外部システム５０が任意のタイミングで送信した入力ファイルを処理するようにしてもよいし、外部システム５０が送信した入力ファイルの一部の入力ファイルを処理してもよい。また、管理サーバ１００ａが、データベースサーバ３００からファイルを取得し、取得したファイルを処理してもよい。
前述した第２の実施形態では、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々が、データベースサーバ３００へ、出力情報を送信したタイミングで、公開・更新完了連絡を、管理サーバ１００ａへ送信する場合について説明したが、この例に限られない。例えば、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々が、出力ファイルを公開したタイミングで、公開・更新完了連絡を、管理サーバ１００ａへ送信し、公開・更新完了連絡を送信した後に、出力情報を送信してもよい。つまり、管理サーバ１００ａで管理されるユーザデータの更新状況と、データベースサーバ３００の更新状況とが非同期となる。
また、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々が、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、ユーザの識別情報に該当するユーザのユーザデータのうち、即時反映が必要なデータの更新が終了した場合に、公開・更新完了連絡を、管理サーバ１００ａへ送信してもよい。この場合、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、公開・更新完了連絡を、管理サーバ１００ａに送信した後に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータのうち、出力ファイルに該当するユーザのユーザデータのうち即時反映が必要でないデータを更新する。つまり、出力ファイルの公開と、管理サーバ１００ａで管理されるユーザデータの更新状況と、データベースサーバ３００の更新状況とが非同期となる。
前述した第２の実施形態では、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々が、不変データ要求を送信することで、データベースサーバ３００から複数のユーザの各々の不変データを取得する場合について説明したがこの限りでない。例えば、データベースサーバ３００が、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々から、不変データ要求を受信することなく、複数のユーザの各々の不変データを送信するようにしてもよい。
前述した第２の実施形態では、管理サーバ１００ａが、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が記憶した不変データの整合性をチェックする場合について説明したが、この例に限られない。例えば、管理サーバ１００ａが、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が記憶した不変データの整合性をチェックする処理を省略してもよい。
【００５０】
第２の実施形態の託送業務処理システムによれば、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、管理サーバ１００ａから入力ファイルを取得する前に、データベースサーバ３００から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域２５８に記憶する。処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、入力ファイルを受信した場合に、受信した入力ファイルに含まれるユーザの識別情報に基づいて、インメモリ領域２５８に記憶されている複数のユーザの各々の不変データのうち、ユーザの識別情報に該当する不変データを取得し、取得した不変データと、入力ファイルとに基づいて、処理を行う。
このように構成することによって、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、入力ファイルを取得する度に、データベースサーバ３００からユーザの識別情報に該当するユーザの不変データを取得しなくても処理を行うことができる。このため、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々が、データベースサーバ３００へアクセスする回数を減らすことができるため、処理の遅延を短縮できる。さらに、データベースサーバ３００から複数のユーザの各々の不変データを取得し、取得した複数のユーザの各々の不変データを、インメモリ領域２５８に記憶することによって、インメモリ領域２５８に記憶される不変データの多重度を向上できるため、データベースサーバ３００へアクセスする回数を減らすことができる。このため、処理の遅延を短縮できる。
また、第２の実施形態の託送業務処理システムによれば、データベースサーバ３００は、処理サーバ２００ｂ−１〜処理サーバ２００ｂ−ｎの各々が送信した出力情報に含まれる出力ファイルに基づいて、出力ファイルの公開とは非同期に、データベースサーバ３００に記憶されている複数のユーザの各々のユーザデータを更新する。このように構成することによって、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、最優先に、出力ファイルを公開できる。
また、第２の実施形態の託送業務処理システムによれば、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎの各々は、インメモリ領域２５８に同じ不変データを記憶する。このように構成することによって、管理サーバ１００ａが、処理サーバ２００ｂ−１から処理サーバ２００ｂ−ｎのいずれに入力ファイルを振り分けても、入力ファイルに対して、同じ処理を行わせることができるため、管理サーバ１００ａの振分処理を単純にできる。
【００５１】
＜構成例＞
一構成例として、複数の処理サーバと、管理サーバとを備える情報処理システム（実施形態では、託送業務システム）であって、複数の処理サーバの各々は、データベースサーバ（実施形態では、データベースサーバ３００）に記憶されている複数の第１データ（実施形態では、不変データ）を取得する取得部と、取得部が取得した複数の第１データを記憶する記憶部（実施形態では、インメモリ領域２５８）と、入力データを受け付け、受け付けた入力データを、前記記憶部に記憶されている複数の前記第１データのうち、前記入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成する処理部と、処理部が作成した出力データを出力する出力部とを備え、管理サーバは、入力データを受け付け、受け付けた入力データを、複数の処理サーバのいずれかへ振り分ける振分部を備える、情報処理システムである。
一構成例として、管理サーバは、複数の処理サーバの各々が備える記憶部に記憶されている複数の第１データが正しいか否かを判定する判定部をさらに備える。
一構成例として、振分部は、複数の処理サーバのうち、判定部が正しいと判定した複数の第１データを記憶している記憶部を備える処理サーバへ、入力データを振り分ける。
一構成例として、処理部が出力した出力データを受け付け、受け付けた出力データで、データベースサーバを更新する更新部を備える更新サーバを備える。
一構成例として、データベースサーバに記憶されている複数の第１データを取得する取得部と、取得部が取得した複数の第１データを記憶する記憶部と、入力データを受け付け、受け付けた入力データを、記憶部に記憶されている複数の第１データのうち、入力データに関連付けられる第１データに基づいて処理することによって、出力データを作成する処理部と、処理部が作成した出力データを出力する出力部とを備える、処理サーバである。
【００５２】
以上、実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合せを行うことができる。これら実施形態は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、上述した管理サーバ１００と、管理サーバ１００ａと、処理サーバ２００と、処理サーバ２００ａと、データベースサーバ３００と、更新サーバ４００とは、コンピュータで実現するようにしてもよい。その場合、各機能ブロックの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録する。この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、ＣＰＵが実行することで実現してもよい。ここでいう「コンピュータシステム」とは、ＯＳ(Operating System)や周辺機器などのハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭなどの可搬媒体のことをいう。また、「コンピュータ読み取り可能な記録媒体」は、コンピュータシステムに内蔵されるハードディスクなどの記憶装置を含む。
【００５３】
さらに「コンピュータ読み取り可能な記録媒体」とは、短時間の間、動的にプログラムを保持するものを含んでいてもよい。短時間の間、動的にプログラムを保持するものは、例えば、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムを送信する場合の通信線である。
また、「コンピュータ読み取り可能な記録媒体」には、サーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよい。また、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。また、上記プログラムは、プログラマブルロジックデバイスを用いて実現されるものであってもよい。プログラマブルロジックデバイスは、例えば、ＦＰＧＡ(Field Programmable Gate Array)である。
【００５４】
なお、上述の管理サーバ１００と、管理サーバ１００ａと、処理サーバ２００と、処理サーバ２００ａと、データベースサーバ３００と、更新サーバ４００とは内部にコンピュータを有している。そして、上述した管理サーバ１００と、管理サーバ１００ａと、処理サーバ２００と、処理サーバ２００ａと、データベースサーバ３００と、更新サーバ４００との各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリなどをいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００５５】
１０、１０ａ、１０ｂ…託送業務処理システム、５０…外部システム、１００、１００ａ…管理サーバ、２００−１〜２００−ｎ、２００、２００ａ−１〜２００ａ−ｎ、２００ａ、２００ｂ−１〜２００ｂ−ｎ、２００ｂ…処理サーバ、３００…データベースサーバ、４００−１〜４００−ｎ、４００…更新サーバ、１０１…判定部、１０２、１０２ａ…振分部、１０４…管理部、２０２…取得部、２０４…処理部、２０６…作成部、１５２、２５２、４５２…ＣＰＵ、１５４、２５４、４５４…メモリ、１５６、１５６ａ、２５６、２５６ａ、２５６ｂ、４５６…記憶部、１６６、２６６、４６６…通信部、２５８…インメモリ領域、１５６２、２５６２、４５６２…プログラム、２０４２…第１処理部、２０４４…第２処理部、１５６３、１５６３ａ、２５６３、２５６３ａ、２５６３ｂ、４５６３…アプリ、１５６５…処理管理情報、２５８２…不変データ
【図１】
2020126515.tif 000003
【図２】
2020126515.tif 000004
【図３】
2020126515.tif 000005
【図４】
2020126515.tif 000006
【図５】
2020126515.tif 000007
【図６】
2020126515.tif 000008
【図７】
2020126515.tif 000009
【図８】
2020126515.tif 000010
【図９】
2020126515.tif 000011
【図１０】
2020126515.tif 000012
【図１１】
2020126515.tif 000013
【図１２】
2020126515.tif 000014