(57)【要約】【課題】  リソース部を電文処理のリソース消費量の大小に関わらず適切に割り当て、その処理能力を最大化することができる電文処理装置等を提供する。【解決手段】  電文処理装置２００は、電文の処理を実行する、仮想的に複数に分割されたリソースを備えるリソース部２０１と、リソース毎の使用履歴を格納する記憶部２０２と、電文の処理に使用されるリソース使用量を、記憶部に格納される使用履歴から求め、求められたリソース使用量を基に、分割されたリソースのいずれに電文を格納すべきか判断する計算部２０３と、判断の結果に従い、分割されたリソースに紐付けられたキューに電文を格納する分割部２０４とを備える。【選択図】      図８
2017167728.tif 000002
【特許請求の範囲】
【請求項１】
電文の処理を実行する、仮想的に複数に分割されたリソースを備えるリソース手段と、
前記リソース毎の使用履歴を格納する記憶手段と、
前記電文の処理に使用されるリソース使用量を、前記記憶手段に格納される前記使用履歴から求め、求められた前記リソース使用量を基に、前記分割されたリソースのいずれに前記電文を格納すべきか判断する計算手段と、
前記判断の結果に従い、前記分割されたリソースに紐付けられたキューに前記電文を格納するキュー分割手段
とを備える電文処理装置。
【請求項２】
前記記憶手段に格納された前記使用履歴を基に、前記リソース手段における各分割されたリソースの量を変更するリソース分割手段
を更に備える請求項１に記載の電文処理装置。
【請求項３】
前記分割されたリソースは、前記リソース手段の物理量を複数の指標値を用いて示される、
請求項１または請求項２に記載の電文処理装置。
【請求項４】
前記複数の指標値は、ＣＰＵ使用率、メモリ使用率、ディスク使用率のいずれかを少なくとも含む、
請求項１乃至請求項３のいずれかに記載の電文処理装置。
【請求項５】
前記分割されたリソースは、前記複数の指標値の各々を、多次元空間の各軸に対応させて表示される
請求項１乃至請求項４のいずれかに記載の電文処理装置。
【請求項６】
電文の処理を実行するリソース手段を仮想的な複数のリソースに分割し、
前記電文の処理に使用されるリソース使用量を、記憶手段に格納される前記リソース毎の使用履歴から求め、求められた前記リソース使用量を基に、前記分割されたリソースのいずれに前記電文を格納すべきか判断し、
前記判断の結果に従い、前記分割されたリソースに紐付けられたキューに前記電文を格納する
電文処理方法。
【請求項７】
電文の処理を実行するリソース手段を仮想的な複数のリソースに分割し、
前記電文の処理に使用されるリソース使用量を、記憶手段に格納される前記リソース毎の使用履歴から求め、求められた前記リソース使用量を基に、前記分割されたリソースのいずれに前記電文を格納すべきか判断し、
前記判断の結果に従い、前記分割されたリソースに紐付けられたキューに前記電文を格納する
機能をコンピュータに実現させるための電文処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務等において大量の電文を処理するための技術に関する。
【背景技術】
【０００２】
勘定系システムに代表される、大量な電文を処理し、複数種類の業務を行うシステムがある。このようなシステムにおいては、電文の量によっては、処理時間が膨大にかかる場合が有る。このため、重要な電文から処理可能なように、各電文に優先度を付し、優先度の高い電文から処理することで作業の効率性を向上させる手法がある。しかし、この手法では、大量の電文が発生した場合、システムが高負荷状態となる。これにより、処理の待ち時間が増大し、処理能力が著しく低下するという問題がある。
【０００３】
この問題を解消するため特許文献１は、共有資源の消費量が少ない順に処理を実行するよう定めることで、待ち時間を減少させる技術を開示する。
【０００４】
特許文献２は、２次元の効用等高線の接線を活用して、処理の効率を上げる技術を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６３−１３６１４０号公報
【特許文献２】特許第５５９６３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術では、処理能力が、共有するリソースの消費量の大小に左右され、使用するリソース（ＣＰＵ（Central Processing Unit）、メモリ、ディスク、Ｉ／Ｏ（Input/Output）頻度等を指す。本願において以下同様。）を有効に活用できない場合がある。
【０００７】
特許文献２の技術では、２次元の効用等高線の接線を利用するが、３次元等の多次元における処理能力の最大化については開示していない。
【０００８】
本発明は、上記の問題点を解決するべくなされた。本発明は、共有するリソースを、電文処理のリソース消費量の大小に関わらず適切に割り当て、その処理能力を最大化する電文処理装置等を提供することを主たる目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の第１の観点に係る電文処理装置は、
電文の処理を実行する、仮想的に複数に分割されたリソースを備えるリソース部と、
リソース毎の使用履歴を格納する記憶部と、
電文の処理に使用されるリソース使用量を、記憶部に格納される使用履歴から求め、求められたリソース使用量を基に、分割されたリソースのいずれに電文を格納すべきか判断する計算部と、
判断の結果に従い、分割されたリソースに紐付けられたキューに電文を格納するキュー分割部
とを備える。
【００１０】
本発明の第２の観点に係る電文処理方法は、
電文の処理を実行するリソース部を仮想的な複数のリソースに分割し、
電文の処理に使用されるリソース使用量を、記憶部に格納されるリソース毎の使用履歴から求め、求められたリソース使用量を基に、分割されたリソースのいずれに電文を格納すべきか判断し、
判断の結果に従い、分割されたリソースに紐付けられたキューに電文を格納する
ことを備える。
【００１１】
本発明の第３の観点に係る電文処理プログラムは、
電文の処理を実行するリソース部を仮想的な複数のリソースに分割し、
電文の処理に使用されるリソース使用量を、記憶部に格納されるリソース毎の使用履歴から求め、求められたリソース使用量を基に、分割されたリソースのいずれに電文を格納すべきか判断し、
判断の結果に従い、分割されたリソースに紐付けられたキューに電文を格納する
機能をコンピュータに実現させる。
【発明の効果】
【００１２】
本発明によれば、共有するリソースを、電文処理のリソース消費量の大小に関わらず適切に割り当て、その処理能力を最大化する電文処理装置等を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態における電文処理装置の構成例を示す図である。
【図２】第１の実施形態におけるリソース部および仮想リソースを模式的に示した概念図である。
【図３】仮想リソースのリソース情報を数値データで示した図である。
【図４】本発明の第１の実施形態における電文処理装置の電文の流れを模式的に示した概念図である。
【図５】使用履歴記憶部内リソース情報の表を示す図である。
【図６】本発明の第１の実施形態における電文処理装置の動作を示すフローチャートである。
【図７】使用履歴記憶部内リソース情報の表を示す図である。
【図８】本発明の第２の実施形態における電文処理装置の構成例を示す図である。
【図９】本発明の実施形態において使用可能な情報処理装置の構成例を示す図である。
【発明を実施するための形態】
【００１４】
次に図面を参照して、本発明の実施形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は本発明の実施形態における構成を模式的に表している。更に以下に記載される本発明の実施形態は一例であり、その本質を同一とする範囲において適宜変更可能である。
【００１５】
＜第１の実施形態＞
（電文処理装置）
本発明の第１の実施形態に係る電文処理装置１００の構成例について図１を参照して説明する。
【００１６】
本発明の第１の実施形態に係る電文処理装置１００は、電文処理部１１０、キュー分割部１２０、キュー１３０ａ〜１３０ｃ、使用履歴管理部１４０、計算部１５０、リソース部１６０、リソース分割部１７０および使用履歴記憶部１８０を備える。
【００１７】
リソース部１６０は、電文処理を実行するリソースである。電文処理に必要となるリソース量は電文毎にそれぞれ異なるため、リソース部１６０は様々なサイズ（領域）に分割されている。分割されたリソース部の各々が、例えば、物理リソースから仮想的に割り当てられたＣＰＵ、メモリ、ディスクを含む仮想リソース１６０ａ〜１６０ｃであるとする。仮想リソース１６０ａ〜１６０ｃは、キュー１３０ａ〜１３０ｃに格納されている電文を読み出し、所定の処理を実行する。リソース部１６０は、リソース分割部１７０の指示に従い、処理部を任意の数に分割したり、リソース量を増減させたりすることが可能である。
【００１８】
電文処理部１１０は、外部のシステムから処理すべき電文を受け付け、キュー分割部１２０へ引き渡す。
【００１９】
キュー分割部１２０は、電文処理部１１０から電文を受け付けると、使用履歴管理部１４０に問い合わせて、当該電文の使用が予定されるリソース情報を取得し、当該リソース情報を計算部１５０に通知する。更に、キュー分割部１２０は、計算部１５０から電文を処理する仮想リソース１６０ａ〜１６０ｃを通知されると、当該電文を、通知された仮想リソース１６０ａ〜１６０ｃに紐付けられたキュー１３０ａ〜１３０ｃに当該電文を格納する。尚、電文が長い場合、所定のサイズに電文を区切ってから各キュー１３０ａ〜１３０ｃに振り分けても良い。
【００２０】
キュー１３０ａ〜１３０ｃは、仮想リソース１６０ａ〜１６０ｃへ電文を渡すための格納領域である。キュー１３０ａ〜１３０ｃに格納されるデータは先入先出（First in First out）となる。キュー１３０ａ〜１３０ｃは、仮想リソース１６０ａ〜１６０ｃの分割数と同じ数存在し、キュー１３０ａ〜１３０ｃの各々は対応する仮想リソース１６０ａ〜１６０ｃの各々と紐づけられている。図１においては、仮想リソース１６０ａとキュー１３０ａ、仮想リソース１６０ｂとキュー１３０ｂおよび仮想リソース１６０ｃとキュー１３０ｃとが紐づけられている。
【００２１】
使用履歴管理部１４０は、電文を処理した際に使用した仮想リソースを監視し、リソース情報として使用履歴記憶部１８０に格納する。また、使用履歴管理部１４０は、キュー分割部１２０から、処理対象である電文の処理に使用される予定の仮想リソースについて問い合わせを受けると、使用履歴記憶部１８０からリソース情報を取得し、当該取得したリソース情報を、キュー分割部１２０に返信する。
【００２２】
計算部１５０は、リソース部１６０の分割状況から処理対象である電文に適切な仮想リソース１６０ａ〜１６０ｃを判定する。適切な仮想リソース１６０ａ〜１６０ｃを判定する手法としては、例えば、集合被覆問題として解く手法が考えられる。
【００２３】
リソース分割部１７０は、使用履歴記憶部１８０に格納されたリソース情報を基に、電文処理に必要となるリソースに合わせて、仮想リソース１６０ａ〜１６０ｃの各部を任意の数に分割したり、リソース量を増減させたりする。
【００２４】
使用履歴記憶部１８０は、電文を処理した際に使用したリソース情報を格納する。リソース情報は、使用履歴としても用いられる。
【００２５】
図２は、仮想リソース１６０ａ〜１６０ｃの構造のイメージを示す概念図である。本実施形態において、物理リソース２１０とは、リソース部１６０の物理量であり、３次元ベクトルグラフ２１１によって示される３次元オブジェクトである。３次元ベクトルグラフ２１１の各軸は、ＣＰＵ（ｘ軸）、メモリ（ｙ軸）、ディスク（ｚ軸）等のリソースを表す。以下、この各軸に対応するリソースをリソース指標と称呼する。尚、図２は一例を示しており、各軸に対応させるリソースはこれに限られない。物理リソース２１０は、リソース分割部１７０により、複数の仮想リソースに分割される。一例として、仮想リソース１６０ａ、仮想リソース１６０ｂ、仮想リソース１６０ｃに分割される。リソース指標は図３に示すようにデータとして表されても良い。
【００２６】
図４は、電文が各キュー１３０ａ〜１３０ｃに格納されて、各仮想リソース１６０ａ〜１６０ｃに格納されるイメージを示す概念図である。図４左側に示す電文群（電文１、電文２、電文３、電文４、電文５）は、必要なリソースのサイズに応じて、電文キュー１３０ａ〜１３０ｃへ振り分けられ、各仮想リソース１６０ａ〜１６０ｃにて格納または実行される。
【００２７】
図５は、使用履歴記憶部１８０に格納されているリソース情報の一例を示す。リソース情報は、データ項目として、各電文を識別可能な情報、各電文のリソース指標（ＣＰＵ、メモリ、ディスク）を示す値を備えるレコードである。本図において、これらの値の単位は、リソース指標毎の総使用可能量内の使用率（％：パーセンテージ）である。
【００２８】
（電文処理装置の動作）
電文処理装置１００の動作について図６に示すフローチャートを参照して説明する。尚、以下の説明においては、前提としてリソース部１６０は予め初期分割されているものとする。初期分割においては、全ての仮想リソースを均等に割り当てる。または、処理する電文のサイズに応じて、設計者や管理者が仮想リソースの適正な大きさを予測し、当該予測値を用いてリソース部１６０の初期分割を行っても良い。
【００２９】
ステップＳ１０１において、電文処理部１１０は、外部から処理対象である電文を受信する。電文処理部１１０は、受信した電文をキュー分割部１２０に引き渡す。
【００３０】
ステップＳ１０２において、キュー分割部１２０は、当該電文のリソース情報について使用履歴管理部１４０に問い合わせる。
【００３１】
ステップＳ１０３において、使用履歴管理部１４０は、当該電文の使用が予定されるリソース情報を使用履歴記憶部１８０から取得し、取得したリソース情報をキュー分割部１２０に返す。キュー分割部１２０は、当該電文のリソース情報を、計算部１５０に通知する。
【００３２】
ステップＳ１０４において、計算部１５０は、通知されたリソース情報と、現在のリソース部１６０の分割状況とを基に、当該電文に適切な仮想リソース１６０ａ〜１６０ｃを決定する。決定された仮想リソース１６０ａ〜１６０ｃは、キュー分割部１２０に通知される。
【００３３】
ステップＳ１０５において、キュー分割部１２０は、決定された仮想リソース１６０ａ〜１６０ｃを通知されると、当該電文を、通知されたキュー１３０ａ〜１３０ｃに格納する。
【００３４】
ステップＳ１０６において、使用履歴管理部１４０は、当該電文を処理した際に使用したリソースの指標値を監視し、監視された各指標値を、リソース情報として、電文毎に使用履歴記憶部１８０に格納する。
【００３５】
ステップＳ１０７において、リソース分割部１７０は、使用履歴記憶部１８０に格納されたリソース情報からの変更、即ちリソース部１６０の分割の変更、各リソース部のリソース量の変更がそれぞれ必要かを判断する。変更が必要と判断されると処理はＳ１０８に進められる。変更は不要と判断されると、本フローチャートの処理を終了させる。
【００３６】
ステップＳ１０８においては、リソース分割部１７０は、使用履歴記憶部１８０に格納されたリソース情報からリソース部１６０の分割、各リソース部のリソース量の変更を実行する。尚、ステップＳ１０７およびＳ１０８の処理は所定間隔毎（例えば、日毎、週毎、月毎等）に行ってよい。または、必要に応じて（例えば、リソースの使用率が設定された閾値を越える等）行っても良い。
【００３７】
以上により、電文処理装置の動作を終了する。
【００３８】
（具体例）
本発明の第１の実施形態に係る電文処理装置１００の動作の具体例について説明する。キュー分割部１２０は、電文処理部１１０から、電文３を受け取ると、使用履歴管理部１４０から電文３のリソース情報（使用量）を取得する。図５を参照すると、電文３のリソース情報は、「ＣＰＵ  ３０％」、「メモリ  ４０％」、「ディスク  ４０％」である。キュー分割部１２０は、このリソース情報を計算部１５０に送信する。計算部１５０は、受信した電文３のリソース情報と、現在のリソース部１６０の分割状況とを考慮し、最適な仮想リソース（１６０ａ〜１６０ｃのいずれか）を選択する。本具体例においては、電文３のリソース情報のリソースを満足できる仮想リソース１６０ｂが選択されたとする。次に、計算部１５０は、選択された仮想リソース１６０ｂに紐付けられたキュー１３０ｂを決定し、キュー分割部１２０にこの決定を通知する。決定を受けたキュー分割部１２０は、電文３をキュー１３０ｂに格納する。使用履歴管理部１４０は、これらの決定を図７に示すように、リソース情報（履歴情報）として使用履歴記憶部１８０に格納する。リソース情報には、電文を識別可能な情報（図７では電文３）、リソース指標値（ＣＰＵ、メモリ、ディスクの使用率）および使用する仮想リソースを識別可能な情報（図７では「１６０ｂ」）が含まれる。尚、図７に示すリソース情報は一例であり、これ以外の項目を使用しても良い。
【００３９】
本発明の第１の実施形態によると、リソース部１６０を電文処理のリソース消費量の大小に関わらず適切に割り当て、その処理能力を最大化することができる。これは、使用履歴を基に、計算部１５０が処理対象の電文にとって最適な仮想リソース１６０ａ〜１６０ｃを決定するからである。
【００４０】
更に、本発明の第１の実施形態によると、処理対象である電文を、使用履歴に応じて分割された仮想リソースに紐付けられたキュー１３０ａ〜１３０ｃに、適切に割り当てる。これにより電文処理前の待ち時間を少なくし、更に、各リソースの処理能力を向上させることができる。更に、使用履歴からリソース部１６０を分割するため、リソース部１６０内において仮想リソース１６０ａ〜１６０ｃを割り当てるためのコストを削減することができる。
【００４１】
＜第２の実施形態＞
本発明の第２の実施形態に係る電文処理装置２００は、リソース部２０１と、記憶部２０２と、計算部２０３および分割部２０４を備える。
【００４２】
リソース部２０１は、電文の処理を実行する、仮想的に複数に分割されたリソースを備える。
【００４３】
記憶部２０２は、リソース毎の使用履歴を格納する。
【００４４】
計算部２０３は、電文の処理に使用されるリソース使用量を、記憶部に格納される使用履歴から求め、求められたリソース使用量を基に、分割されたリソースのいずれに電文を格納すべきか判断する。
【００４５】
分割部２０４は、判断の結果に従い、分割されたリソースに紐付けられたキューに電文を格納する。
【００４６】
本発明の第２の実施形態によると、リソース部２０１を電文処理のリソース消費量の大小に関わらず適切に割り当て、その処理能力を最大化することができる。これは、使用履歴を基に、計算部２０３が処理対象の電文にとって最適な仮想リソース１６０ａ〜１６０ｃを決定するからである。
【００４７】
（情報処理装置）
本発明の各実施形態において、電文処理装置の各構成要素 は、機能単位のブロックを示している。電文処理装置の各構成要素の一部又は全部は、例えば図９に示すような情報処理装置５００とプログラムとの任意の組み合わせにより実現される。情報処理装置５００は、一例として、以下のような構成を含む。
【００４８】
・ＣＰＵ５０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３
・ＲＡＭ５０３にロードされるプログラム５０４
・プログラム５０４を格納する記憶装置５０５
・記録媒体５０６の読み書きを行うドライブ装置５０７
・通信ネットワーク５０９と接続する通信インタフェース５０８
・データの入出力を行う入出力インタフェース５１０
・各構成要素を接続するバス５１１
各実施形態における電文処理装置の各構成要素は、これらの機能を実現するプログラム５０４をＣＰＵ５０１が取得して実行することで実現される。電文処理装置の各構成要素の機能を実現するプログラム５０４は、例えば、予め記憶装置５０５やＲＡＭ５０３に格納されており、必要に応じてＣＰＵ５０１が読み出す。なお、プログラム５０４は、通信ネットワーク５０９を介してＣＰＵ５０１に供給されてもよいし、予め記録媒体５０６に格納されており、ドライブ装置５０７が当該プログラムを読み出してＣＰＵ５０１に供給してもよい。
【００４９】
電文処理装置の実現方法には、様々な変形例がある。例えば、電文処理装置は、構成要素毎にそれぞれ別個の情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つの情報処理装置５００とプログラムとの任意の組み合わせにより実現されてもよい。
【００５０】
また、電文処理装置の各構成要素の一部又は全部は、その他の汎用または専用の回路 、プロセッサ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
【００５１】
電文処理装置の各構成要素の一部又は全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００５２】
電文処理装置の各構成要素の一部又は全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は、集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【符号の説明】
【００５３】
１          ：電文
２          ：電文
３          ：電文
４          ：電文
５          ：電文
１００      ：電文処理装置
１１０      ：電文処理部
１２０      ：キュー分割部
１３０ａ    ：キュー
１３０ｂ    ：キュー
１３０ｃ    ：キュー
１４０      ：使用履歴管理部
１５０      ：計算部
１６０      ：リソース部
１６０ａ    ：仮想リソース
１６０ｂ    ：仮想リソース
１６０ｃ    ：仮想リソース
１７０      ：リソース分割部
１８０      ：使用履歴記憶部
２００      ：電文処理装置
２０１      ：リソース部
２０２      ：記憶部
２０３      ：計算部
２０４      ：分割部
２１０      ：物理リソース
２１１      ：３次元ベクトルグラフ
５００      ：情報処理装置
５０１      ：ＣＰＵ
５０３      ：ＲＡＭ
５０４      ：プログラム
５０５      ：記憶装置
５０６      ：記録媒体
５０７      ：ドライブ装置
５０８      ：通信インタフェース
５０９      ：通信ネットワーク
５１０      ：入出力インタフェース
５１１      ：バス
【図１】
2017167728.tif 000003
【図２】
2017167728.tif 000004
【図３】
2017167728.tif 000005
【図４】
2017167728.tif 000006
【図５】
2017167728.tif 000007
【図６】
2017167728.tif 000008
【図７】
2017167728.tif 000009
【図８】
2017167728.tif 000010
【図９】
2017167728.tif 000011