(57)【要約】【課題】継続処理を完了させることができる情報処理装置を提供する。【解決手段】業務実行装置１は、端末２から継続処理に関する１回目の要求が送信されたなら、要求に対応する業務ＡＰ部の実行主体を予約する。端末２から継続処理に関する２回目以降の要求に関する処理は、予約された実行主体によって実行される。【選択図】図１
2010231412.tif 000002
【特許請求の範囲】
【請求項１】
端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置であって、
複数の要求および応答からなるセッションごとに当該セッションに関する実行主体の予約状況が記憶される記憶手段と、
受信された要求に対応するセッションに関する前記予約状況に基づいて当該要求を受け付けるか否かを判定する手段と、
受け付けられた要求に対応する処理を実行する実行主体が予約されている状況から当該実行主体が使用されている状況への変化を反映するように当該予約状況を更新する手段と、
作成された応答に対応する処理を実行した実行主体が使用されている状況から当該実行主体が予約されている状況への変化を反映するように当該応答に対応するセッションに関する前記予約状況を更新する手段と
を備えることを特徴とする情報処理装置。
【請求項２】
端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置であって、
処理実行部ごとに、処理実行部の処理実行部識別情報、最大使用実行主体数、使用中実行主体数および予約済実行主体数からなる管理情報が記憶される管理情報記憶部と、
複数の要求および応答からなるセッションのセッション識別情報と処理実行部識別情報とからなる組ごとに、セッション識別情報と処理実行部識別情報と該当のセッションおよび処理実行部に関する予約済実行主体数とからなる予約済実行主体数管理情報が記憶される予約済実行主体数管理情報記憶部と、
要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、要求に対応するセッション識別情報を取得し、取得した処理実行部識別情報とセッション識別情報とを含む予約済実行主体数管理情報があるか否かを判定し、予約済実行主体数管理情報があるなら、取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、予約済実行主体数管理情報がない、または、予約済実行主体数が予め定めた数未満なら、管理情報の使用中実行主体数と予約済実行主体数の和と管理情報の最大使用実行主体数とを比較し、和が最大使用実行主体数未満なら、予約なしで要求を受け付け、予約済実行主体数が予め定めた数以上なら、予約ありで要求を受け付ける要求受け付け判定部と、
要求が受け付けられたなら、要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数に予め定めた数を加算し、予約ありで要求が受け付けられたなら、取得した管理情報の予約済実行主体数から予め定めた数を減算し、取得した処理実行部識別情報と要求に対応するセッション識別情報とを含む予約済実行主体数管理情報を取得し、予約済実行主体数管理情報の予約済実行主体数から予め定めた数を減算する要求受信時実行主体数更新部と、
応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数から予め定めた数を減算し、要求に対応するセッション識別情報を取得し、管理情報の予約済実行主体数に予め定めた数を加算し、取得したセッション識別情報と処理実行部識別情報とを含む予約済実行主体数管理情報を検索し、予約済実行主体数管理情報がないなら、取得したセッション識別情報と処理実行部識別情報と予め定めた予約済実行主体数とを含む予約済実行主体数管理情報を作成し、予約済実行主体数管理情報があるなら、予約済実行主体数管理情報の予約済実行主体数に予め定めた数を加算する応答作成時実行主体数更新部と
を備えることを特徴とする情報処理装置。
【請求項３】
削除されたセッションのセッション識別情報を取得し、セッション識別情報を含む予約済実行主体数管理情報を取得し、取得したセッション識別情報と予約済実行主体数管理情報の処理実行部識別情報とを含む管理情報を検索し、管理情報の予約済実行主体数から予約済実行主体数管理情報の予約済実行主体数を減算し、予約済実行主体数管理情報を削除するセッション削除時実行主体数更新部
を備えることを特徴とする請求項２記載の情報処理装置。
【請求項４】
処理実行部ごとに、処理実行部の処理実行部識別情報と、処理実行部を含む処理実行部グループの処理実行部グループ識別情報とからなる所属グループ情報が記憶される所属グループ情報記憶部を備え、
要求および応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む所属グループ情報を検索し、所属グループ情報があるなら、所属グループ情報内の処理実行部グループ識別情報を処理実行部識別情報として扱う
ことを特徴とする請求項２または３記載の情報処理装置。  
【請求項５】
前記情報処理装置は、
セッション識別情報ごとに、セッション識別情報と該当のセッションに関する使用中実行主体数とからなる使用中実行主体数管理情報が記憶される使用中実行主体数管理情報記憶部を備え、
前記要求受け付け判定部は、
前記予約済実行主体数管理情報があるなら、前記取得したセッション識別情報を含む使用中実行主体数管理情報を取得し、使用中実行主体数管理情報の使用中実行主体数と予め定められた最大使用実行主体数とを比較し、使用中実行主体数が最大使用実行主体数未満なら、前記取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、
前記要求受信時実行主体数更新部は、
要求に対応するセッション識別情報を取得し、セッション識別情報を含む使用中実行主体数管理情報を検索し、使用中実行主体数管理情報の使用中実行主体数に予め定めた数を加算し、
前記応答作成時実行主体数更新部は、
前記取得されたセッション識別情報を含む使用中実行主体数管理情報があるか否かを判定し、使用中実行主体数管理情報がないなら、セッション識別情報と予め定めた使用中実行主体数とを含む使用中実行主体数管理情報を作成し、使用中実行主体数管理情報があるなら、使用中実行主体数管理情報の使用中実行主体数から予め定めた数を減算する
ことを特徴とする請求項２ないし４のいずれかに記載の情報処理装置。  
【請求項６】
端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置の動作方法であって、
前記情報処理装置は、
複数の要求および応答からなるセッションごとに当該セッションに関する実行主体の予約状況が記憶される記憶手段を備え、
前記動作方法は、
前記情報処理装置が、
受信された要求に対応するセッションに関する前記予約状況に基づいて当該要求を受け付けるか否かを判定し、
受け付けられた要求に対応する処理を実行する実行主体が予約されている状況から当該実行主体が使用されている状況への変化を反映するように当該予約状況を更新し、
作成された応答に対応する処理を実行した実行主体が使用されている状況から当該実行主体が予約されている状況への変化を反映するように当該応答に対応するセッションに関する前記予約状況を更新する
ことを特徴とする情報処理装置の動作方法。
【請求項７】
端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置の動作方法であって、
前記情報処理装置は、
処理実行部ごとに、処理実行部の処理実行部識別情報、最大使用実行主体数、使用中実行主体数および予約済実行主体数からなる管理情報が記憶される管理情報記憶部と、
複数の要求および応答からなるセッションのセッション識別情報と処理実行部識別情報とからなる組ごとに、セッション識別情報と処理実行部識別情報と該当のセッションおよび処理実行部に関する予約済実行主体数とからなる予約済実行主体数管理情報が記憶される予約済実行主体数管理情報記憶部とを備え、
前記動作方法は、
前記情報処理装置の要求受け付け判定部が、
要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、要求に対応するセッション識別情報を取得し、取得した処理実行部識別情報とセッション識別情報とを含む予約済実行主体数管理情報があるか否かを判定し、予約済実行主体数管理情報があるなら、取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、予約済実行主体数管理情報がない、または、予約済実行主体数が予め定めた数未満なら、管理情報の使用中実行主体数と予約済実行主体数の和と管理情報の最大使用実行主体数とを比較し、和が最大使用実行主体数未満なら、予約なしで要求を受け付け、予約済実行主体数が予め定めた数以上なら、予約ありで要求を受け付け、
前記情報処理装置の要求受信時実行主体数更新部が、
要求が受け付けられたなら、要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数に予め定めた数を加算し、予約ありで要求が受け付けられたなら、取得した管理情報の予約済実行主体数から予め定めた数を減算し、取得した処理実行部識別情報と要求に対応するセッション識別情報とを含む予約済実行主体数管理情報を取得し、予約済実行主体数管理情報の予約済実行主体数から予め定めた数を減算し、
前記情報処理装置の応答作成時実行主体数更新部が、
応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数から予め定めた数を減算し、要求に対応するセッション識別情報を取得し、管理情報の予約済実行主体数に予め定めた数を加算し、取得したセッション識別情報と処理実行部識別情報とを含む予約済実行主体数管理情報を検索し、予約済実行主体数管理情報がないなら、取得したセッション識別情報と処理実行部識別情報と予め定めた予約済実行主体数とを含む予約済実行主体数管理情報を作成し、予約済実行主体数管理情報があるなら、予約済実行主体数管理情報の予約済実行主体数に予め定めた数を加算する
ことを特徴とする情報処理装置の動作方法。
【請求項８】
前記情報処理装置のセッション削除時実行主体数更新部が、
削除されたセッションのセッション識別情報を取得し、セッション識別情報を含む予約済実行主体数管理情報を取得し、取得したセッション識別情報と予約済実行主体数管理情報の処理実行部識別情報とを含む管理情報を検索し、管理情報の予約済実行主体数から予約済実行主体数管理情報の予約済実行主体数を減算し、予約済実行主体数管理情報を削除する
ことを特徴とする請求項７記載の情報処理装置の動作方法。
【請求項９】
前記情報処理装置は、
処理実行部ごとに、処理実行部の処理実行部識別情報と、処理実行部を含む処理実行部グループの処理実行部グループ識別情報とからなる所属グループ情報が記憶される所属グループ情報記憶部を備え、
前記動作方法は、
前記情報処理装置が、
要求および応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む所属グループ情報を検索し、所属グループ情報があるなら、所属グループ情報内の処理実行部グループ識別情報を処理実行部識別情報として扱う
ことを特徴とする請求項７または８記載の情報処理装置の動作方法。  
【請求項１０】
前記情報処理装置は、
セッション識別情報ごとに、セッション識別情報と該当のセッションに関する使用中実行主体数とからなる使用中実行主体数管理情報が記憶される使用中実行主体数管理情報記憶部を備え、
前記動作方法は、
前記要求受け付け判定部が、
前記予約済実行主体数管理情報があるなら、前記取得したセッション識別情報を含む使用中実行主体数管理情報を取得し、使用中実行主体数管理情報の使用中実行主体数と予め定められた最大使用実行主体数とを比較し、使用中実行主体数が最大使用実行主体数未満なら、前記取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、
前記要求受信時実行主体数更新部が、
要求に対応するセッション識別情報を取得し、セッション識別情報を含む使用中実行主体数管理情報を検索し、使用中実行主体数管理情報の使用中実行主体数に予め定めた数を加算し、
前記応答作成時実行主体数更新部が、
前記取得されたセッション識別情報を含む使用中実行主体数管理情報があるか否かを判定し、使用中実行主体数管理情報がないなら、セッション識別情報と予め定めた使用中実行主体数とを含む使用中実行主体数管理情報を作成し、使用中実行主体数管理情報があるなら、使用中実行主体数管理情報の使用中実行主体数から予め定めた数を減算する
ことを特徴とする請求項７ないし９のいずれかに記載の情報処理装置の動作方法。  
【請求項１１】
請求項１ないし５のいずれかに記載の情報処理装置としてコンピュータを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
情報処理装置の１つとして、ウェブサーバやデータベースサーバやＡＰサーバなどと称される業務実行装置があり、この業務実行装置は、端末から処理を依頼すべく要求が送信され、要求を受け付けたなら、スレッドやプロセスに処理を実行させ、処理の結果を含む応答を作成し、端末に送信する。ここで、要求および応答の送受信を複数回行うことで完了するものを継続処理という。
【０００３】
図１３は、従来の業務実行装置と端末の間のシーケンスの一例を示す図である。端末２Ａは、継続処理における１回目の要求を業務実行装置に送信する（Ｓ２０１）。業務実行装置は、応答にセッションＩＤを付与して、端末２Ａに送信する（Ｓ２０５）。端末２Ａは、２回目の要求とセッションＩＤを業務実行装置に送信する（Ｓ２０７）。業務実行装置は、応答を作成し、セッションＩＤとともに、端末２Ａに送信する（Ｓ２０９）。
【０００４】
端末２Ｂも同様に要求を業務実行装置に送信する（Ｓ２１１）。スレッドやプロセスといった処理の実行主体の同時、又は並列に実行可能な最大数は予め定められており、実行主体の数が最大数に等しくなったとき、端末２Ａが３回目の要求とセッションＩＤを送信した（Ｓ２１５）こととする。この実行主体の数が最大数に等しいので、業務実行装置は、実行主体の数を増やすことはできず、この３回目の要求に対応する処理は実行されない。よって、業務実行装置は、エラー応答を作成し、端末２Ａに送信する（Ｓ２１６）。
【０００５】
例をあげると、商品購入のウェブサーバにアクセスし、商品を選択し（Ｓ２０７）、決済しようとして送信された要求（Ｓ２１５）が拒絶される（Ｓ２１６）ことがある。
【０００６】
ユーザにとっては、このように継続処理が完了しないことがストレスとなり、一方、ウェブサーバの運営者にすれば、上記のようなユーザの不満がサービスの機会損失につながる可能性がある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Paul Hyde, "Java Thread Programming", Sams White Book, 1999,8,30(「Benefits of Thread  Pooling」の項の第３パラグラフ(308ページ))
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上記の課題に鑑みてなされたものであり、その目的とするところは、継続処理を完了させることができる情報処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係る情報処理装置は、端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置であって、複数の要求および応答からなるセッションごとに当該セッションに関する実行主体の予約状況が記憶される記憶手段と、受信された要求に対応するセッションに関する前記予約状況に基づいて当該要求を受け付けるか否かを判定する手段と、受け付けられた要求に対応する処理を実行する実行主体が予約されている状況から当該実行主体が使用されている状況への変化を反映するように当該予約状況を更新する手段と、作成された応答に対応する処理を実行した実行主体が使用されている状況から当該実行主体が予約されている状況への変化を反映するように当該応答に対応するセッションに関する前記予約状況を更新する手段とを備えることを特徴とする。
【００１０】
例えば、前記情報処理装置は、端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置であって、処理実行部ごとに、処理実行部の処理実行部識別情報、最大使用実行主体数、使用中実行主体数および予約済実行主体数からなる管理情報が記憶される管理情報記憶部と、複数の要求および応答からなるセッションのセッション識別情報と処理実行部識別情報とからなる組ごとに、セッション識別情報と処理実行部識別情報と該当のセッションおよび処理実行部に関する予約済実行主体数とからなる予約済実行主体数管理情報が記憶される予約済実行主体数管理情報記憶部と、要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、要求に対応するセッション識別情報を取得し、取得した処理実行部識別情報とセッション識別情報とを含む予約済実行主体数管理情報があるか否かを判定し、予約済実行主体数管理情報があるなら、取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、予約済実行主体数管理情報がない、または、予約済実行主体数が予め定めた数未満なら、管理情報の使用中実行主体数と予約済実行主体数の和と管理情報の最大使用実行主体数とを比較し、和が最大使用実行主体数未満なら、予約なしで要求を受け付け、予約済実行主体数が予め定めた数以上なら、予約ありで要求を受け付ける要求受け付け判定部と、要求が受け付けられたなら、要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数に予め定めた数を加算し、予約ありで要求が受け付けられたなら、取得した管理情報の予約済実行主体数から予め定めた数を減算し、取得した処理実行部識別情報と要求に対応するセッション識別情報とを含む予約済実行主体数管理情報を取得し、予約済実行主体数管理情報の予約済実行主体数から予め定めた数を減算する要求受信時実行主体数更新部と、応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数から予め定めた数を減算し、要求に対応するセッション識別情報を取得し、管理情報の予約済実行主体数に予め定めた数を加算し、取得したセッション識別情報と処理実行部識別情報とを含む予約済実行主体数管理情報を検索し、予約済実行主体数管理情報がないなら、取得したセッション識別情報と処理実行部識別情報と予め定めた予約済実行主体数とを含む予約済実行主体数管理情報を作成し、予約済実行主体数管理情報があるなら、予約済実行主体数管理情報の予約済実行主体数に予め定めた数を加算する応答作成時実行主体数更新部とを備えることを特徴とする。
【００１１】
例えば、情報処理装置は、削除されたセッションのセッション識別情報を取得し、セッション識別情報を含む予約済実行主体数管理情報を取得し、取得したセッション識別情報と予約済実行主体数管理情報の処理実行部識別情報とを含む管理情報を検索し、管理情報の予約済実行主体数から予約済実行主体数管理情報の予約済実行主体数を減算し、予約済実行主体数管理情報を削除するセッション削除時実行主体数更新部を備える。
【００１２】
例えば、情報処理装置は、処理実行部ごとに、処理実行部の処理実行部識別情報と、処理実行部を含む処理実行部グループの処理実行部グループ識別情報とからなる所属グループ情報が記憶される所属グループ情報記憶部を備え、要求および応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む所属グループ情報を検索し、所属グループ情報があるなら、所属グループ情報内の処理実行部グループ識別情報を処理実行部識別情報として扱うことを特徴とする。  
例えば、前記情報処理装置は、セッション識別情報ごとに、セッション識別情報と該当のセッションに関する使用中実行主体数とからなる使用中実行主体数管理情報が記憶される使用中実行主体数管理情報記憶部を備え、前記要求受け付け判定部は、前記予約済実行主体数管理情報があるなら、前記取得したセッション識別情報を含む使用中実行主体数管理情報を取得し、使用中実行主体数管理情報の使用中実行主体数と予め定められた最大使用実行主体数とを比較し、使用中実行主体数が最大使用実行主体数未満なら、前記取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、前記要求受信時実行主体数更新部は、要求に対応するセッション識別情報を取得し、セッション識別情報を含む使用中実行主体数管理情報を検索し、使用中実行主体数管理情報の使用中実行主体数に予め定めた数を加算し、前記応答作成時実行主体数更新部は、前記取得されたセッション識別情報を含む使用中実行主体数管理情報があるか否かを判定し、使用中実行主体数管理情報がないなら、セッション識別情報と予め定めた使用中実行主体数とを含む使用中実行主体数管理情報を作成し、使用中実行主体数管理情報があるなら、使用中実行主体数管理情報の使用中実行主体数から予め定めた数を減算することを特徴とする。  
本発明に係る情報処理装置の動作方法は、端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置の動作方法であって、前記情報処理装置は、複数の要求および応答からなるセッションごとに当該セッションに関する実行主体の予約状況が記憶される記憶手段を備え、前記動作方法は、前記情報処理装置が、受信された要求に対応するセッションに関する前記予約状況に基づいて当該要求を受け付けるか否かを判定し、受け付けられた要求に対応する処理を実行する実行主体が予約されている状況から当該実行主体が使用されている状況への変化を反映するように当該予約状況を更新し、作成された応答に対応する処理を実行した実行主体が使用されている状況から当該実行主体が予約されている状況への変化を反映するように当該応答に対応するセッションに関する前記予約状況を更新することを特徴とする。
【００１３】
例えば、前記動作方法は、端末から受信した要求に対応する処理実行部の実行主体による処理結果を含む応答を端末に送信する情報処理装置の動作方法であって、前記情報処理装置は、処理実行部ごとに、処理実行部の処理実行部識別情報、最大使用実行主体数、使用中実行主体数および予約済実行主体数からなる管理情報が記憶される管理情報記憶部と、複数の要求および応答からなるセッションのセッション識別情報と処理実行部識別情報とからなる組ごとに、セッション識別情報と処理実行部識別情報と該当のセッションおよび処理実行部に関する予約済実行主体数とからなる予約済実行主体数管理情報が記憶される予約済実行主体数管理情報記憶部とを備え、前記動作方法は、前記情報処理装置の要求受け付け判定部が、要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、要求に対応するセッション識別情報を取得し、取得した処理実行部識別情報とセッション識別情報とを含む予約済実行主体数管理情報があるか否かを判定し、予約済実行主体数管理情報があるなら、取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、予約済実行主体数管理情報がない、または、予約済実行主体数が予め定めた数未満なら、管理情報の使用中実行主体数と予約済実行主体数の和と管理情報の最大使用実行主体数とを比較し、和が最大使用実行主体数未満なら、予約なしで要求を受け付け、予約済実行主体数が予め定めた数以上なら、予約ありで要求を受け付け、前記情報処理装置の要求受信時実行主体数更新部が、要求が受け付けられたなら、要求に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数に予め定めた数を加算し、予約ありで要求が受け付けられたなら、取得した管理情報の予約済実行主体数から予め定めた数を減算し、取得した処理実行部識別情報と要求に対応するセッション識別情報とを含む予約済実行主体数管理情報を取得し、予約済実行主体数管理情報の予約済実行主体数から予め定めた数を減算し、前記情報処理装置の応答作成時実行主体数更新部が、応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む管理情報を取得し、管理情報の使用中実行主体数から予め定めた数を減算し、要求に対応するセッション識別情報を取得し、管理情報の予約済実行主体数に予め定めた数を加算し、取得したセッション識別情報と処理実行部識別情報とを含む予約済実行主体数管理情報を検索し、予約済実行主体数管理情報がないなら、取得したセッション識別情報と処理実行部識別情報と予め定めた予約済実行主体数とを含む予約済実行主体数管理情報を作成し、予約済実行主体数管理情報があるなら、予約済実行主体数管理情報の予約済実行主体数に予め定めた数を加算することを特徴とする。
【００１４】
例えば、前記動作方法は、前記情報処理装置のセッション削除時実行主体数更新部が、削除されたセッションのセッション識別情報を取得し、セッション識別情報を含む予約済実行主体数管理情報を取得し、取得したセッション識別情報と予約済実行主体数管理情報の処理実行部識別情報とを含む管理情報を検索し、管理情報の予約済実行主体数から予約済実行主体数管理情報の予約済実行主体数を減算し、予約済実行主体数管理情報を削除することを特徴とする。
【００１５】
例えば、前記情報処理装置は、処理実行部ごとに、処理実行部の処理実行部識別情報と、処理実行部を含む処理実行部グループの処理実行部グループ識別情報とからなる所属グループ情報が記憶される所属グループ情報記憶部を備え、前記動作方法は、前記情報処理装置が、要求および応答に対応する処理実行部の処理実行部識別情報を取得し、処理実行部識別情報を含む所属グループ情報を検索し、所属グループ情報があるなら、所属グループ情報内の処理実行部グループ識別情報を処理実行部識別情報として扱うことを特徴とする。
【００１６】
例えば、前記情報処理装置は、セッション識別情報ごとに、セッション識別情報と該当のセッションに関する使用中実行主体数とからなる使用中実行主体数管理情報が記憶される使用中実行主体数管理情報記憶部を備え、前記動作方法は、前記要求受け付け判定部が、前記予約済実行主体数管理情報があるなら、前記取得したセッション識別情報を含む使用中実行主体数管理情報を取得し、使用中実行主体数管理情報の使用中実行主体数と予め定められた最大使用実行主体数とを比較し、使用中実行主体数が最大使用実行主体数未満なら、前記取得した管理情報の予約済実行主体数が予め定めた数以上かを判定し、前記要求受信時実行主体数更新部が、要求に対応するセッション識別情報を取得し、セッション識別情報を含む使用中実行主体数管理情報を検索し、使用中実行主体数管理情報の使用中実行主体数に予め定めた数を加算し、前記応答作成時実行主体数更新部が、前記取得されたセッション識別情報を含む使用中実行主体数管理情報があるか否かを判定し、使用中実行主体数管理情報がないなら、セッション識別情報と予め定めた使用中実行主体数とを含む使用中実行主体数管理情報を作成し、使用中実行主体数管理情報があるなら、使用中実行主体数管理情報の使用中実行主体数から予め定めた数を減算することを特徴とする。  
ここで、情報処理装置は、例えば、業務実行装置と称されるものである。また、処理実行部は、例えば、業務アプリケーション部と称されるものである。また、処理実行部識別情報は、例えば、業務アプリケーション部名のように使用される業務アプリケーション部の名前である。また、セッション識別情報は、例えば、セッションＩＤ（ＩＤは、Identifierの略称)と称されるものである。また、管理情報は、例えば、業務管理情報と称されるものである。また、グループ識別情報は、例えば、業務アプリケーション部グループ名のように使用される業務アプリケーション部グループの名前である。なお、これらは、一例であり、本発明は、他の態様で実施してもよい。
【発明の効果】
【００１７】
本発明によれば、継続処理の途中で要求が拒絶されず、すなわち、継続処理を完了させることができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施の形態に係る業務実行装置の構成を示すブロック図である。
【図２】業務管理情報記憶部、予約済実行主体数管理情報記憶部、使用中実行主体数管理情報記憶部の構成を示す図である。
【図３】要求受け付け判定部の動作を示すフローチャートである。
【図４】要求受信時実行主体数更新部の動作を示すフローチャートである。
【図５】応答作成時実行主体数更新部の動作を示すフローチャートである。
【図６】セッション削除時実行主体数更新部の動作を示すフローチャートである。
【図７】業務実行装置と端末の間のシーケンスの一例を示す図である。
【図８】第２の実施の形態に係る業務実行装置の構成を示すブロック図である。
【図９】業務管理情報記憶部、予約済実行主体数管理情報記憶部、使用中実行主体数管理情報記憶部、業務アプリケーション部グループ情報記憶部の構成を示す図である。
【図１０】要求受け付け判定部の動作を示すフローチャートである。
【図１１】要求受信時実行主体数更新部の動作を示すフローチャートである。
【図１２】応答受信時実行主体数更新部の動作を示すフローチャートである。
【図１３】従来の業務実行装置と端末の間のシーケンスの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態を図面を参照して説明する。
【００２０】
［第１の実施の形態］
図１は、第１の実施の形態に係る業務実行装置の構成を示すブロック図である。
【００２１】
業務実行装置１は、複数種の業務に関する処理を実行すべく、業務の種類ごとの業務アプリケーション部３（以降の説明および図では、「業務ＡＰ部」という）を備え、業務ＡＰ部は、業務アプリケーション部名（以降の説明および図では、「業務ＡＰ部名」という）を有している。業務実行装置１は、例えばインターネットのようなネットワークＮを介して、複数の端末２に対して通信可能となっている。端末２は、例えば、ウェブブラウザを備えたパーソナルコンピュータのように、ユーザが入力を行う機能を有する端末である。業務実行装置１は、端末２から処理を依頼すべく要求が送信されたなら、要求を受け付けるか否かを判定し、要求を受け付けたなら、対応する業務ＡＰ部を選択する。業務ＡＰ部が選択されたなら、業務ＡＰ部の実行主体であるスレッド（図示せず）による処理がなされる。要求には、要求およびその応答の送受信を複数回行うことで完了する継続処理（セッションという）を示すものと要求およびその応答の送受信を１回行うことで完了する単発処理を示すものとがある。業務実行装置１は、前者の要求を受け付けたなら、応答および次回以降の応答にセッションの識別情報であるセッション識別情報（以下、「セッションＩＤ」という）を付与して端末２に送信する。業務実行装置１は、後者の要求を受け付けたなら、応答を単に端末２に送信する。業務実行装置１は、要求を受け付けずつまり拒絶したなら、その旨の応答を端末２に送信する。
【００２２】
業務実行装置１は、セッションＩＤが記憶されるセッションＩＤ記憶部１０１と、セッションＩＤを払い出すセッションＩＤ払い出し部１０２と、セッションの有効性を判定するセッション有効性判定部１０３と、業務ＡＰ部ごとに業務ＡＰ部に関する情報である業務管理情報が記憶された業務管理情報記憶部１０４と、セッションＩＤと業務ＡＰ部名とからなる組ごとに該当のセッションおよび業務ＡＰ部に関する情報である予約済実行主体数管理情報が記憶された予約済実行主体数管理情報記憶部１０５と、セッションＩＤごとに該当のセッションに関する情報である使用中実行主体数管理情報が記憶された使用中実行主体数管理情報記憶部１０６（以下、各記憶部を総称してデータベースという）と、要求を受け付けるか否かをデータベースを基に判定する要求受け付け判定部１０７と、要求が受け付けられたならデータベースに記憶された実行主体数を更新する要求受信時実行主体数更新部１０８と、応答が作成されたならデータベースに記憶された実行主体数を更新する応答作成時実行主体数更新部１０９と、セッションが削除されたならデータベースに記憶された実行主体数を更新するセッション削除時実行主体数更新部１１０と、応答を端末２に送信する応答送信部１１１とを備える。
【００２３】
予約済実行主体数管理情報記憶部１０５は、セッションごとに当該セッションに関する実行主体の予約状況が記憶される記憶手段として機能する。要求受け付け判定部１０７は、受信された要求に対応するセッションに関する前記予約状況に基づいて当該要求を受け付けるか否かを判定する手段として機能する。要求受信時実行主体数更新部１０８は、受け付けられた要求に対応する処理を実行する実行主体が予約されている状況から当該実行主体が使用されている状況への変化を反映するように当該予約状況を更新する手段として機能する。応答作成時実行主体数更新部１０９は、作成された応答に対応する処理を実行した実行主体が使用されている状況から当該実行主体が予約されている状況への変化を反映するように当該応答に対応するセッションに関する前記予約状況を更新する手段として機能する。
【００２４】
図２は、業務管理情報記憶部１０４、予約済実行主体数管理情報記憶部１０５、使用中実行主体数管理情報記憶部１０６の構成を示す図である。
【００２５】
図２（ａ）に示すように、業務管理情報記憶部１０４には、業務ＡＰ部ごとに業務管理情報が記憶されている。業務管理情報は、業務ＡＰ部の業務ＡＰ部名、最大使用実行主体数、使用中実行主体数および予約済実行主体数からなるものである。図２（ａ）の例では、業務管理情報記憶部１０４には、各業務ＡＰ部名「Ａ」〜「Ｄ」を含む業務管理情報が記憶されている。
【００２６】
最大使用実行主体数は、最大使用実行主体数を含む業務管理情報内の業務ＡＰ部名を有する業務ＡＰ部に対応する種類の業務に関する処理を同時に実行できる実行主体の最大数であり、業務実行装置１の運用開始時に予め定められる。最大使用実行主体数は、運用方法を変更しない限り、一定である。業務実行装置１にかかる負荷を考慮して、最大使用実行主体数を超える数の実行主体がその業務に関する処理を同時に実行することがないようになっている。
【００２７】
使用中実行主体数は、使用中実行主体数を含む業務管理情報内の業務ＡＰ部名を有する業務ＡＰ部に対応する種類の業務に関する処理を同時、又は並列に実行している実行主体の数である。業務実行装置１の運用開始時において、実行主体は処理を実行しておらず、使用中実行主体数は、運用開始時において零（０）に初期化される。使用中実行主体数は、業務実行装置１の運用に伴い増減する。
【００２８】
予約済実行主体数は、予約されている実行主体の数であり、詳しくは、予約済実行主体数を含む業務管理情報内の業務ＡＰ部名を有する業務ＡＰ部に対応する種類の業務に関する処理を実行すべく待機している実行主体の数である。業務実行装置１の運用開始時において、実行主体は予約されておらず、予約済実行主体数は、運用開始時において零（０）に初期化される。予約済実行主体数は、業務実行装置１の運用に伴い増減する。
【００２９】
図２（ｂ）に示すように、予約済実行主体数管理情報記憶部１０５には、セッションＩＤと業務ＡＰ部名とからなる組ごとに予約済実行主体数管理情報が記憶されている。予約済実行主体数管理情報は、セッションＩＤと業務ＡＰ部名と該当のセッションおよび業務ＡＰ部に関する予約済実行主体数とからなる。図２（ｂ）の例では、予約済実行主体数管理情報記憶部１０５には、セッションＩＤ「ＳｅｓＩＤ１」と業務ＡＰ部名「Ａ」とからなる組に関する予約済実行主体数管理情報と、セッションＩＤ「ＳｅｓＩＤ１」と業務ＡＰ部名「Ｂ」とからなる組に関する予約済実行主体数管理情報と、セッションＩＤ「ＳｅｓＩＤ１」と業務ＡＰ部名「Ｃ」とからなる組に関する予約済実行主体数管理情報と、セッションＩＤ「ＳｅｓＩＤ２」と業務ＡＰ部名「Ｄ」とからなる組に関する予約済実行主体数管理情報とが記憶されている。
【００３０】
前述のように、継続処理（セッション）は、複数の要求および応答からなる。これを、そのセッションとそのセッションに関する処理を行う業務ＡＰ部とが組になっているという。実行主体が、組の業務ＡＰ部に対応する業務に関する処理を終え、その処理の結果を含む応答が組のセッションのセッションＩＤとともに送信され、次の要求が同じセッションＩＤを伴って送信されたなら、同じ実行主体が処理をすることになっている場合、実行主体は、組について予約されているという。予約済実行主体数管理情報は、組に関する情報であり、該当のセッションＩＤおよび業務ＡＰ部名、ならびに、このセッションＩＤ及び業務ＡＰ部名の組に予約されている実行主体の数である予約済実行主体数とからなる。業務実行装置１の運用開始時において、そのようなセッションと業務ＡＰ部の組は存在せず、運用開始時における予約済実行主体数管理情報の数は零（０）である。予約済実行主体数管理情報は、そうした組の発生に伴い作成される。その際、予約済実行主体数は、零（０）に初期化され、運用に伴い増減する。また、予約済実行主体数管理情報は、セッションの消滅に伴って、このセッションに対応するセッションＩＤを含む組の消滅に伴い削除される。
【００３１】
図２（ｃ）に示すように、使用中実行主体数管理情報記憶部１０６には、セッションＩＤごとに使用中実行主体数管理情報が記憶されている。図２（ｃ）の例では、使用中実行主体数管理情報記憶部１０６には、各セッションＩＤ「ＳｅｓＩＤ１」、「ＳｅｓＩＤ１」に関する使用中実行主体数管理情報が記憶されている。
【００３２】
実行主体が、処理を開始しており、且つ、処理を終えていない場合、実行主体は使用中であるという。使用中の実行主体による処理の結果を含む応答はセッションＩＤを伴って送信される。これを、そのセッションＩＤに対応するセッションに関して、その実行主体が使用中であるという。使用中実行主体数管理情報は、セッションＩＤと該当のセッションに関する使用中の実行主体の数である使用中実行主体数とを含む。さらに、ここでは、使用中実行主体数管理情報は、使用中の実行主体の最大数である最大使用実行主体数を含んでいる。最大使用実行主体数は、任意のセッションＩＤとは関係なく、同じ値を設定してよい。または、最大使用実行主体数は、セッションＩＤごとに個別に設定してもよい。例えば、プレミアム会員の端末との間に作成したセッションについての最大使用実行主体数を、一般会員の端末との間に作成したセッションについての最大使用実行主体数よりも多くするという運用が考えられる。なお、最大使用実行主体数は、使用中実行主体数管理情報に含めず、別途記憶しておいてもよい。
【００３３】
業務実行装置１の運用開始時において、セッションは存在せず、運用開始時における使用中実行主体数管理情報の数は零（０）である。使用中実行主体数管理情報は、セッションの形成に伴い作成される。その際、使用中実行主体数、最大使用実行主体数は、それぞれ零（０）、予め定められた値に初期化され、使用中実行主体数は運用に伴い増減する。また、使用中実行主体数管理情報は、セッションの消滅に伴い削除される。
【００３４】
（業務実行装置１の動作）
次に、業務実行装置１の動作について説明する。
【００３５】
業務実行装置１は、いずれかの端末２から要求が送信されるのを待機する。
【００３６】
図３は、要求受け付け判定部１０７の動作を示すフローチャートである。
【００３７】
要求受け付け判定部１０７は、要求が送信されたなら（以下、この要求を単に「要求」という）、要求に対応する業務ＡＰ部の業務ＡＰ部名を取得する（Ｓ１）。要求受け付け判定部１０７は、業務ＡＰ部名を取得する処理部（図示せず）に要求し、処理部から返される業務ＡＰ部名を取得する。
【００３８】
次に、要求受け付け判定部１０７は、業務管理情報記憶部１０４から、ステップＳ１で取得した業務ＡＰ部名を含む業務管理情報を取得する（Ｓ３）。次に、要求受け付け判定部１０７は、要求に対応する有効なセッションがあるか否かを判定する（Ｓ５）。要求受け付け判定部１０７は、セッション有効性判定部１０３に要求し、判定結果を取得する。
【００３９】
要求に対応する有効なセッションがないということは、その要求が継続処理に関する要求でなく、単発処理に関する要求ということになる。よって、以降の処理は、単発処理に関する要求に対するものである。
【００４０】
要求受け付け判定部１０７は、有効なセッションがない（Ｓ５：ＮＯ）なら、要求に対応する業務ＡＰ部名に対応する業務管理情報内の予約済実行主体数と使用中実行主体数の和と最大使用実行主体数とを比較する（Ｓ７）。
【００４１】
要求受け付け判定部１０７は、和が最大使用実行主体数未満なら、予約なしで要求を受け付け（Ｓ９）、終了する。要求受け付け判定部１０７は、和が最大使用実行主体数以上なら、予約なしで要求を受け付けることができないので、要求を拒絶し（Ｓ１１）、終了する。なお、応答送信部１１１は、要求を拒絶した旨の応答を端末２に送信する。例えば、これにより、端末２には、本来表示されるページとは異なる代替ページが表示される。代替ページには、要求が拒絶された旨の記載がなされる。以下、要求を拒絶した場合においても同様である。
【００４２】
要求受け付け判定部１０７は、有効なセッションがある（Ｓ５：ＹＥＳ）なら、そのセッションのセッションＩＤを取得する（Ｓ２１）。要求受け付け判定部１０７は、セッション有効性判定部１０３に要求し、セッションＩＤを取得する。
【００４３】
次に、要求受け付け判定部１０７は、予約済実行主体数管理情報記憶部１０５に、ステップＳ１で取得した業務ＡＰ部名とステップＳ２１で取得したセッションＩＤとを含む予約済実行主体数管理情報があるか否かを判定する（Ｓ２３）。つまり、業務ＡＰ部名を有する業務ＡＰ部とセッションＩＤを有するセッションの組に対し、実行主体が予約されているか否かを判定する。
【００４４】
要求受け付け判定部１０７は、予約済実行主体数管理情報がない（Ｓ２３：ＮＯ）なら、制御をステップＳ７に移す。予約済実行主体数管理情報がない（Ｓ２３：ＮＯ）場合、実行主体が予約されていないことになるので、単発処理の扱いにするのである。
【００４５】
要求受け付け判定部１０７は、予約済実行主体数管理情報がある（Ｓ２３：ＹＥＳ）なら、使用中実行主体数管理情報記憶部１０６から、ステップＳ２１で取得したセッションＩＤを含む使用中実行主体数管理情報を取得する（Ｓ２５）。
【００４６】
次に、要求受け付け判定部１０７は、ステップＳ２５で取得した使用中実行主体数管理情報内の使用中実行主体数と最大使用実行主体数とを比較する（Ｓ２７）。要求受け付け判定部１０７は、使用中実行主体数が最大使用実行主体数以上なら、該当のセッションについて使用中である実行主体の数が最大になっているので、要求を拒絶する（Ｓ１１）。要求受け付け判定部１０７は、使用中実行主体数が最大使用実行主体数未満なら、ステップＳ３で取得した業務管理情報内の予約済実行主体数が予め定めた数である１以上か否かを判定する（Ｓ２９）。
【００４７】
要求受け付け判定部１０７は、予約済実行主体数が０なら、制御をステップＳ７に移す。予約済実行主体数が０の場合、実行主体が予約されていないことになるので、単発処理の扱いにするのである。
【００４８】
要求受け付け判定部１０７は、予約済実行主体数が１以上なら、実行主体が予約されていることになるので、予約ありで要求を受け付け（Ｓ３１）、終了する。
【００４９】
なお、セッションＩＤ払い出し部１０２は、要求に対応するセッションがなく（Ｓ５：ＮＯ）、且つ、要求が継続処理（セッション）を示すものなら、要求を含むセッションを示す新たなセッションＩＤを払い出し、セッションＩＤ記憶部１０１に記憶させる。
【００５０】
図４は、要求受信時実行主体数更新部１０８の動作を示すフローチャートである。
【００５１】
要求受信時実行主体数更新部１０８は、要求受け付け判定部１０７が要求を受け付けた（Ｓ９またはＳ３１）なら、要求を取得し、要求に対応する業務ＡＰ部の業務ＡＰ部名を取得する（Ｓ１０１）。要求受信時実行主体数更新部１０８は、業務ＡＰ部名を取得する処理部（図示せず）に要求し、処理部から返される業務ＡＰ部名を取得する。要求受信時実行主体数更新部１０８は、または、要求受け付け判定部１０７から、ステップＳ１０１で取得された業務ＡＰ部名を取得する。
【００５２】
次に、要求受信時実行主体数更新部１０８は、業務管理情報記憶部１０４から、ステップＳ１０１で取得した業務ＡＰ部名を含む業務管理情報を取得する（Ｓ１０３）。次に、要求受信時実行主体数更新部１０８は、ステップＳ１０３で取得した業務管理情報内の使用中実行主体数に１を加算する（Ｓ１０５）。セッションの有無や実行主体の予約の有無に関わらず、業務管理情報内の使用中実行主体数を更新する必要があるのである。
【００５３】
次に、要求受信時実行主体数更新部１０８は、要求に対応する有効なセッションがあるか否かを判定する（Ｓ１０７）。要求受信時実行主体数更新部１０８は、セッション有効性判定部１０３に要求し、判定結果を取得する。要求受信時実行主体数更新部１０８は、または、要求受け付け判定部１０７から、ステップＳ５で取得された判定結果を取得する。
【００５４】
要求受信時実行主体数更新部１０８は、有効なセッションがない（Ｓ１０７：ＮＯ）なら、終了する。有効なセッションがない（Ｓ１０７：ＮＯ）場合、要求に対して実行主体は予約されておらず、さらにデータベースを更新する必要がないので、終了する。
【００５５】
要求受信時実行主体数更新部１０８は、有効なセッションがある（Ｓ１０７：ＹＥＳ）なら、そのセッションのセッションＩＤを取得する（Ｓ１０８）。要求受信時実行主体数更新部１０８は、セッション有効性判定部１０３に要求し、セッションＩＤを取得する。要求受信時実行主体数更新部１０８は、または、要求受け付け判定部１０７から、ステップＳ２１で取得されたセッションＩＤを取得する。
【００５６】
次に、要求受信時実行主体数更新部１０８は、使用中実行主体数管理情報記憶部１０６から、ステップＳ１０８で取得したセッションＩＤを含む使用中実行主体数管理情報を取得する（Ｓ１０９）。次に、要求受信時実行主体数更新部１０８は、ステップＳ１０９で取得した使用中実行主体数管理情報内の使用中実行主体数に予め定めた数である１を加算する（Ｓ１１１）。
【００５７】
次に、要求受信時実行主体数更新部１０８は、要求受け付け判定部１０７が予約なしで要求を受け付けた（Ｓ９）か、予約ありで要求を受け付けた（Ｓ３１）かを判定する（Ｓ１１３）。要求受信時実行主体数更新部１０８は、例えば、要求受け付け判定部１０７に予約の有無を問い合わせる。
【００５８】
有効なセッションがある（Ｓ１０７：ＹＥＳ）場合であっても、図３のステップ２３で、予約済実行主体数管理情報がないと判定されることや、図３のステップＳ２９で、予約済実行主体数が０と判定されることがあり、この場合、予約なしで要求が受け付けられ（Ｓ９）る。このように予約なしで要求を受け付けた場合と、予約あり要求を受け付けた場合とでは、処理を変える必要があるので、上記ステップＳ１１３が必要なのである。
【００５９】
要求受信時実行主体数更新部１０８は、予約なしで要求が受け付けられた（Ｓ９）なら（Ｓ１１３：ＮＯ）、終了する。要求受信時実行主体数更新部１０８は、予約ありで要求が受け付けられた（Ｓ３１）なら（Ｓ１１３：ＹＥＳ）、ステップＳ１０３で取得した業務管理情報内の予約済実行主体数から予め定めた数である１を減算する（Ｓ１１５）。
【００６０】
次に、要求受信時実行主体数更新部１０８は、予約済実行主体数管理情報記憶部１０５から、ステップＳ１０１で取得した業務ＡＰ部名とステップＳ１０８で取得したセッションＩＤとを含む予約済実行主体数管理情報を取得する（Ｓ１１７）。
【００６１】
次に、要求受信時実行主体数更新部１０８は、ステップＳ１１７で取得した予約済実行主体数管理情報内の予約済実行主体数から予め定めた数である１を減算し（Ｓ１１９）、終了する。
【００６２】
処理が終了したなら、要求に対応する業務ＡＰ部は、要求を取得し、要求に対応する処理を実行主体であるスレッドに実行させ、処理の結果を含む応答を作成する。
【００６３】
図５は、応答作成時実行主体数更新部１０９の動作を示すフローチャートである。
【００６４】
応答作成時実行主体数更新部１０９は、応答が作成されたなら（以下、その応答を単に「応答」という）、業務ＡＰ部名を取得する（Ｓ１３１）。応答作成時実行主体数更新部１０９は、業務ＡＰ部名を取得する処理部（図示せず）に要求し、処理部から返される業務ＡＰ部名を取得する。応答作成時実行主体数更新部１０９は、または、要求受け付け判定部１０７から、ステップＳ１０１で取得された業務ＡＰ部名を取得する。応答作成時実行主体数更新部１０９は、または、要求受信時実行主体数更新部１０８から、ステップＳ１０１で取得された業務ＡＰ部名を取得する。
【００６５】
次に、応答作成時実行主体数更新部１０９は、業務管理情報記憶部１０４から、ステップＳ１３１で取得した業務ＡＰ部名を含む業務管理情報を取得する（Ｓ１３３）。次に、応答作成時実行主体数更新部１０９は、実行主体が使用中でなくなったので、業務管理情報内の使用中実行主体数から予め定めた数である１を減算する（Ｓ１３５）。
【００６６】
次に、応答作成時実行主体数更新部１０９は、応答に対応する有効なセッションがあるか否かを判定する（Ｓ１３６）。応答作成時実行主体数更新部１０９は、セッション有効性判定部１０３に要求し、判定結果を取得する。セッションは、要求が送信されてから応答が作成されるまでにタイムアウトなどにより消滅する可能性があるので、応答作成時実行主体数更新部１０９は、ステップＳ５やステップＳ１０７で取得された判定結果を流用しない。
【００６７】
応答作成時実行主体数更新部１０９は、有効なセッションがない（Ｓ１３５：ＮＯ）なら、終了する。なお、応答送信部１１１は、応答を端末２に送信する。
【００６８】
応答作成時実行主体数更新部１０９は、有効なセッションがある（Ｓ１３６：ＹＥＳ）なら、そのセッションのセッションＩＤを取得する（Ｓ１３７）。応答作成時実行主体数更新部１０９は、セッション有効性判定部１０３に要求し、セッションＩＤを取得する。セッションは、要求が送信されてから応答が作成されるまでに消滅する可能性があるので、応答作成時実行主体数更新部１０９は、ステップＳ２１やステップＳ１０８で取得された判定結果を流用しない。
【００６９】
次に、応答作成時実行主体数更新部１０９は、業務管理情報内の予約済実行主体数に予め定めた数である１を加算する（Ｓ１３９）。ここで、こうして実行主体を予約したのは、有効なセッションがある（Ｓ１３６：ＹＥＳ）場合、その後において、要求がそのセッションのセッションＩＤを伴って送信されるので、実行主体を予約しておく必要があるからである。
【００７０】
次に、応答作成時実行主体数更新部１０９は、予約済実行主体数管理情報記憶部１０５から、ステップＳ１３１で取得した業務ＡＰ部名とステップＳ１３７で取得したセッションＩＤとを含む予約済実行主体数管理情報を検索する（Ｓ１４１）。次に、応答作成時実行主体数更新部１０９は、ステップＳ１４１の検索対象であった予約済実行主体数管理情報があるか否かを判定する（Ｓ１４３）。
【００７１】
応答作成時実行主体数更新部１０９は、ステップＳ１４１の検索対象であった予約済実行主体数管理情報がないなら、ステップＳ１３７で取得したセッションＩＤとステップＳ１３１で取得した業務ＡＰ部名と予め定めた予約済実行主体数である１とを含む予約済実行主体数管理情報を作成し、予約済実行主体数管理情報記憶部１０５に記憶させる（Ｓ１４５）。
【００７２】
有効なセッションがある（Ｓ１３６：ＹＥＳ）場合には、予約済実行主体数管理情報内の予約済実行主体数にも加算しておく必要があるが、予約済実行主体数管理情報がないので、予約済実行主体数管理情報を作成したのである（Ｓ１４５）。
【００７３】
応答作成時実行主体数更新部１０９は、ステップＳ１４１の検索対象であった予約済実行主体数管理情報があるなら、その予約済実行主体数管理情報内の予約済実行主体数に予め定めた数である１を加算する（Ｓ１４７）。有効なセッションがある（Ｓ１３６：ＹＥＳ）場合には、予約済実行主体数管理情報内の予約済実行主体数にも加算しておく必要があるのである。
【００７４】
また、応答作成時実行主体数更新部１０９は、使用中実行主体数管理情報記憶部１０６に、ステップＳ１３７で取得したセッションＩＤを含む使用中実行主体数管理情報があるか否かを判定する（Ｓ１４９）。
【００７５】
応答作成時実行主体数更新部１０９は、ステップＳ１４９の判定対象である使用中実行主体数管理情報がないなら、ステップＳ１３７で取得したセッションＩＤと予め定めた使用中実行主体数である０を含む使用中実行主体数管理情報を作成し、使用中実行主体数管理情報記憶部１０６に記憶させ（Ｓ１５３）、終了する。実行主体が使用中でなくなったら、使用中実行主体数管理情報内の使用中実行主体数を減算しておく必要があるが、使用中実行主体数管理情報がないので、使用中実行主体数管理情報を作成したのである（Ｓ１５３）。なお、応答送信部１１１は、応答とセッションＩＤを端末２に送信する。
【００７６】
応答作成時実行主体数更新部１０９は、ステップＳ１４９の判定対象である使用中実行主体数管理情報があるなら、実行主体が使用中でなくなったので、使用中実行主体数管理情報内の使用中実行主体数から予め定めた数である１を減算し（Ｓ１５５）、終了する。なお、応答送信部１１１は、応答とセッションＩＤを端末２に送信する。
【００７７】
図６は、セッション削除時実行主体数更新部１１０の動作を示すフローチャートである。
【００７８】
セッション削除時実行主体数更新部１１０は、要求および応答の送受信が複数回行われて、または、予めセッションが作成されたときに設定された時間が経過（タイムアウト）して、セッションが削除されたならセッションのセッションＩＤを取得する（Ｓ１７１）。
【００７９】
次に、セッション削除時実行主体数更新部１１０は、予約済実行主体数管理情報記憶部１０５から、ステップＳ１７１で取得したセッションＩＤを含む予約済実行主体数管理情報を全て取得する（Ｓ１７３）。
【００８０】
次に、セッション削除時実行主体数更新部１１０は、ステップＳ１７３で取得した全ての予約済実行主体数管理情報からの１つの予約済実行主体数管理情報を取り出す（Ｓ１７５）。
【００８１】
次に、セッション削除時実行主体数更新部１１０は、業務管理情報記憶部１０４から、ステップＳ１７５で取り出した予約済実行主体数管理情報内の業務ＡＰ部名を含む業務管理情報を検索する（Ｓ１７７）。
【００８２】
次に、セッション削除時実行主体数更新部１１０は、ステップＳ１７７で検索した業務管理情報内の予約済実行主体数からステップＳ１７５で取り出した予約済実行主体数管理情報内の予約済実行主体数を減算する（Ｓ１７９）。
【００８３】
要求は、当然ながら、削除されたセッションを介して送信されることはないので、削除されたセッションと組をなす業務ＡＰ部に関する業務管理情報内の予約済実行主体数から当該セッションに関する予約済実行主体数を減算するのである（Ｓ１７９）。
【００８４】
次に、セッション削除時実行主体数更新部１１０は、予約済実行主体数管理情報記憶部１０５から、ステップＳ１７５で取り出した予約済実行主体数管理情報を削除する（Ｓ１８１）。
【００８５】
次に、セッション削除時実行主体数更新部１１０は、ステップＳ１７３で取得した全ての予約済実行主体数管理情報から取り出していない予約済実行主体数管理情報があるか否かを判定する（Ｓ１８３）。
【００８６】
セッション削除時実行主体数更新部１１０は、取り出していない予約済実行主体数管理情報がある（Ｓ１８３：ＹＥＳ）なら、制御をステップＳ１７５に移す。
【００８７】
セッション削除時実行主体数更新部１１０は、取り出していない予約済実行主体数管理情報がない（Ｓ１８３：ＮＯ）なら、使用中実行主体数管理情報記憶部１０６から、ステップＳ１７１で取得したセッションＩＤを含む全ての使用中実行主体数管理情報を削除し（Ｓ１８５）、終了する。
【００８８】
なお、ステップＳ１８５の処理は、ステップＳ１７１とステップＳ１７３の間に行ってもよい。
【００８９】
図７は、業務実行装置１と端末２の間のシーケンスの一例を示す図である。
【００９０】
端末２Ａは、端末２の１つであり、継続処理を示す要求を業務実行装置１に送信する（Ｓ２０１）。
【００９１】
業務実行装置１は、応答を作成し、セッションＩＤとともに端末２Ａに送信する（Ｓ２０５）。
【００９２】
ここで、この要求に対応する業務ＡＰ部に関する業務管理情報内の予約済実行主体数と使用中実行主体数の和が最大使用実行主体数に等しくなったとする。
【００９３】
端末２Ａは、２回目の要求とセッションＩＤを業務実行装置１に送信する（Ｓ２０７）。
【００９４】
この要求は２回目の要求なので、図３のステップＳ５では、有効なセッションがある（ＹＥＳ）と判定される。さらに、２回目の要求なので、予約ありで要求が受け付けられ（Ｓ３１）、ステップＳ７で、予約済実行主体数と使用中実行主体数の和が最大使用実行主体数以上と判定されることはない。
【００９５】
よって、業務実行装置１は、応答を作成し、セッションＩＤとともに、端末２Ａに送信することができる（Ｓ２０９）。
【００９６】
端末２Ｂは、他の端末２であり、同じ種類の業務に関する要求を業務実行装置１に送信する（Ｓ２１１）。
【００９７】
この要求は１回目の要求なので、つまり、実行主体の予約がなく、図３のステップＳ５では、有効なセッションがない（ＮＯ）と判定される。よって、ステップＳ７で、予約済実行主体数と使用中実行主体数の和が最大使用実行主体数以上であると判定され、要求を拒絶した旨の応答（エラー応答）が端末２に送信される（Ｓ２１３）。
【００９８】
端末２Ａは、３回目の要求とセッションＩＤを業務実行装置１に送信する（Ｓ２１５）。
【００９９】
この要求は３回目の要求なので、図３のステップＳ５では、有効なセッションがある（ＹＥＳ）と判定される。さらに、３回目の要求なので、予約ありで要求が受け付けられ（Ｓ３１）、ステップＳ７で、予約済実行主体数と使用中実行主体数の和が最大使用実行主体数以上と判定されることはない。
【０１００】
よって、業務実行装置１は、応答を作成し、セッションＩＤとともに、端末２Ａに送信することができる（Ｓ２１７）。
【０１０１】
すなわち、端末２Ａとの間で、要求およびその応答の送受信を複数回行うことができ、そうした継続処理を確実に完了させることができる。
【０１０２】
なお、第１の実施の形態では、使用中実行主体数管理情報記憶部１０６を用いたが、使用中実行主体数管理情報記憶部１０６を用いない態様での実施も可能である。
【０１０３】
この態様では、要求受け付け判定部１０４は、図３の動作において、予約済実行主体数管理情報がある（Ｓ２３：ＹＥＳ）なら、制御をステップＳ２９に移すのである。
【０１０４】
また、要求受信時実行主体数更新部１０８は、セッションＩＤを取得した（Ｓ１０８）なら、制御をステップＳ１１３に移すのである。
【０１０５】
また、応答作成時実行主体数更新部１０９は、予約済実行主体数管理情報記憶部１０５に記憶させた（Ｓ１４５）、または、予約済実行主体数に１を加算した（Ｓ１４７）なら、処理を終えるのである。
【０１０６】
また、セッション削除時実行主体数更新部１１０は、ステップＳ１８５の処理を行わずに処理を終えるのである。
【０１０７】
また、第１の実施の形態では、セッション削除時実行主体数更新部１１０を業務実行装置１に含めず、別の装置内に設けてもよい。
【０１０８】
したがって、第１の実施の形態によれば、継続処理の途中で要求が拒絶されるのを防止することができる。よって、ユーザにとっては、継続処理中の要求が拒絶されることによるストレスを回避することができる。例えば、商品購入のウェブサーバにアクセスし、商品を選択し、決済しようとしたときに、要求が拒絶されるような不都合を防止することができる。
【０１０９】
また、ウェブサーバの運営者にすれば、上記のようなユーザの不満がサービスの機会損失につながる可能性を低減することができる。また、継続処理を要求するユーザは、継続処理の途中で要求が拒絶されて、再度同じ継続処理をはじめからやり直すという手間を低減できる。さらに、1つの継続処理を途中で拒絶されることが何度も起きると、途中までの処理が無駄となって、再度同じ処理をすることになり、業務実行装置が処理リソースを効率に使用できなくなる問題も、第１の実施の形態によれば、この問題を解消し、途中で要求を拒絶することなく継続処理を完了することができるため、業務実行装置の処理リソースを効率的に使用することができる。
【０１１０】
［第２の実施の形態］
図８は、第２の実施の形態に係る業務実行装置の構成を示すブロック図である。
【０１１１】
第２の実施の形態の業務実行装置１Ａは、第１の実施の形態に係る業務実行装置１に対し、所属グループ情報記憶部１１２を加えた構成を有する。同一の構成要素には同一符号を付与し、以下、差異を中心に説明する。
【０１１２】
第２の実施の形態では、複数の業務ＡＰ部からなる業務ＡＰ部グループも１つの業務ＡＰ部として扱われる。
【０１１３】
また、業務ＡＰ部グループの業務ＡＰ部グループ名も業務ＡＰ部名として扱われる。
【０１１４】
例えば、商品購入に関してログインの処理を行う業務ＡＰ部、その後、商品購入の処理を行う業務ＡＰ部、その後、ログアウトの処理を行う業務ＡＰ部が、１つの業務ＡＰ部グループに属し、その業務ＡＰ部グループが１つの業務ＡＰ部として扱われる。また、その業務ＡＰ部グループの業務ＡＰ部グループ名が業務ＡＰ部名として扱われる。
【０１１５】
図９は、業務管理情報記憶部１０４、予約済実行主体数管理情報記憶部１０５、使用中実行主体数管理情報記憶部１０６、所属グループ情報記憶部１１２の構成を示す図である。
【０１１６】
図９（ａ）に示すように、業務管理情報記憶部１０４には、業務ＡＰ部グループに関する業務管理情報も記憶されている。図９（ａ）の例では、業務管理情報記憶部１０４には、各業務ＡＰ部グループ名「Ｇｒｏｕｐ０１」、「Ｇｒｏｕｐ０２」を含む業務管理情報が記憶されている。
【０１１７】
図９（ｂ）に示すように、予約済実行主体数管理情報記憶部１０５には、セッションＩＤと業務ＡＰ部グループ名とからなる組に関する予約済実行主体数管理情報も記憶されている。図９（ｂ）の例では、予約済実行主体数管理情報記憶部１０５には、セッションＩＤ「ＳｅｓＩＤ１」と業務ＡＰ部グループ名「Ｇｒｏｕｐ０１」とからなる組に関する予約済実行主体数管理情報、セッションＩＤ「ＳｅｓＩＤ２」と業務ＡＰ部グループ名「Ｇｒｏｕｐ０２」とからなる組に関する予約済実行主体数管理情報が記憶されている。
【０１１８】
図９（ｃ）に示すように、使用中実行主体数管理情報記憶部１０６は、第１の実施の形態と同様に、セッションＩＤごとの使用中実行主体数管理情報が記憶されている。
【０１１９】
図９（ｄ）に示すように、所属グループ情報記憶部１１２には、業務ＡＰ部ごとに所属グループ情報が記憶されている。所属グループ情報は、業務ＡＰ部の業務ＡＰ部名と、業務ＡＰ部を含む業務ＡＰ部グループの業務ＡＰ部グループ名とからなる。図９（ｄ）の例では、所属グループ情報記憶部１１２には、業務ＡＰ部名「Ｃ」と業務ＡＰ部グループ名「Ｇｒｏｕｐ０１」とからなる所属グループ情報、業務ＡＰ部名「Ｄ」と業務ＡＰ部グループ名「Ｇｒｏｕｐ０１」とからなる所属グループ情報、業務ＡＰ部名「Ｆ」と業務ＡＰ部グループ名「Ｇｒｏｕｐ０２」とからなる所属グループ情報、業務ＡＰ部名「Ｇ」と業務ＡＰ部グループ名「Ｇｒｏｕｐ０２」とからなる所属グループ情報が記憶されている。つまり、業務ＡＰ部グループ名「Ｇｒｏｕｐ０１」を有する業務ＡＰ部グループは、各業務ＡＰ部名「Ｃ」、「Ｄ」を有する業務ＡＰ部を含み、業務ＡＰ部グループ名「Ｇｒｏｕｐ０２」を有する業務ＡＰ部グループは、各業務ＡＰ部名「Ｆ」、「Ｇ」を有する業務ＡＰ部を含むのである。
【０１２０】
図１０は、要求受け付け判定部１０７の動作を示すフローチャートである。
【０１２１】
要求受け付け判定部１０７は、要求が送信されたなら、第１の実施の形態と同様に、要求に対応する業務ＡＰ部の業務ＡＰ部名を取得する（Ｓ１）。
【０１２２】
次に、要求受け付け判定部１０７は、所属グループ情報記憶部１１２から、業務ＡＰ部名を含む所属グループ情報を検索する（Ｓ２０１）。次に、要求受け付け判定部１０７は、ステップＳ２０１の検索対象であった所属グループ情報があるか否かを判定し（Ｓ２０３）、所属グループ情報がある（Ｓ２０３：ＹＥＳ）なら、所属グループ情報内の業務ＡＰ部グループ名を業務ＡＰ部名として、第１の実施の形態におけるステップＳ３以降の処理を行う（Ｓ２０５）。要求受け付け判定部１０７は、一方、所属グループ情報がない（Ｓ２０３：ＮＯ）なら、第１の実施の形態におけるステップＳ３以降の処理を行う（Ｓ２０７）。
【０１２３】
図１１は、要求受信時実行主体数更新部１０８の動作を示すフローチャートである。
【０１２４】
要求受信時実行主体数更新部１０８は、第１の実施の形態と同様に、要求に対応する業務ＡＰ部の業務ＡＰ部名を取得する（Ｓ１０１）。
【０１２５】
次に、要求受信時実行主体数更新部１０８は、所属グループ情報記憶部１１２から、業務ＡＰ部名を含む所属グループ情報を検索する（Ｓ２１１）。次に、要求受信時実行主体数更新部１０８は、ステップＳ２１１の検索対象であった所属グループ情報があるか否かを判定し（Ｓ２１３）、所属グループ情報がある（Ｓ２１３：ＹＥＳ）なら、所属グループ情報内の業務ＡＰ部グループ名を業務ＡＰ部名として、第１の実施の形態におけるステップＳ１０３以降の処理を行う（Ｓ２１５）。要求受信時実行主体数更新部１０８は、一方、所属グループ情報がない（Ｓ２１３：ＮＯ）なら、第１の実施の形態におけるステップＳ１０３以降の処理を行う（Ｓ２１７）。
【０１２６】
図１２は、応答作成時実行主体数更新部１０９の動作を示すフローチャートである。
【０１２７】
応答作成時実行主体数更新部１０９は、第１の実施の形態と同様に、応答が作成されたなら、業務ＡＰ部名を取得する（Ｓ１３１）。
【０１２８】
次に、応答作成時実行主体数更新部１０９は、所属グループ情報記憶部１１２から、業務ＡＰ部名を含む所属グループ情報を検索する（Ｓ２２１）。次に、応答作成時実行主体数更新部１０９は、ステップＳ２２１の検索対象であった所属グループ情報があるか否かを判定し（Ｓ２２３）、所属グループ情報がある（Ｓ２２３：ＹＥＳ）なら、所属グループ情報内の業務ＡＰ部グループ名を業務ＡＰ部名として、第１の実施の形態におけるステップＳ１３３以降の処理を行う（Ｓ２２５）。応答作成時実行主体数更新部１０９は、一方、所属グループ情報がない（Ｓ２２３：ＮＯ）なら、第１の実施の形態におけるステップＳ１３３以降の処理を行う（Ｓ２２７）。
【０１２９】
図示しないが、セッション削除時実行主体数更新部１１０は、第１の実施の形態と同様に動作する。
【０１３０】
したがって、第２の実施の形態によれば、前述の例で説明すると、商品購入に関してログインの処理を行う業務ＡＰ部、商品購入の処理を行う業務ＡＰ部、ログアウトの処理を行う業務ＡＰ部を含む業務ＡＰ部グループに対して実行主体が予約されるので、ログインの処理を行う業務ＡＰ部が処理を終えた後も実行主体の予約が維持される。よって、次のような不都合つまり商品購入やログアウトの処理を行う業務ＡＰ部が処理を行うときに実行主体の予約が無くて、商品購入やログアウトができないという不都合を防止することができる。
【０１３１】
また、優先したい業務ＡＰ部が複数あった場合、それらを業務ＡＰ部グループにまとめておけば、処理を優先して行える。また、予約済実行主体数を設定や変更する場合にも、これを一括で行うことができる。
【０１３２】
なお、各実施の形態に係る業務実行装置としてコンピュータを機能させるためのコンピュータプログラムは、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどのコンピュータ読み取り可能な記録媒体に格納し、陳列などして流通させたり、当該コンピュータプログラムをインターネットなどの通信網を介して伝送させてもよい。
【符号の説明】
【０１３３】
１、１Ａ…業務実行装置
２…端末
３…業務アプリケーション部
１０１…セッションＩＤ記憶部
１０２…セッションＩＤ払い出し部
１０３…セッション有効性判定部
１０４…業務管理情報記憶部
１０５…予約済実行主体数管理情報記憶部
１０６…使用中実行主体数管理情報記憶部
１０７…要求受け付け判定部
１０８…要求受信時実行主体数更新部
１０９…応答作成時実行主体数更新部
１１０…セッション削除時実行主体数更新部
１１１…応答送信部
１１２…所属グループ情報記憶部
【図１】
2010231412.tif 000003
【図２】
2010231412.tif 000004
【図３】
2010231412.tif 000005
【図４】
2010231412.tif 000006
【図５】
2010231412.tif 000007
【図６】
2010231412.tif 000008
【図７】
2010231412.tif 000009
【図８】
2010231412.tif 000010
【図９】
2010231412.tif 000011
【図１０】
2010231412.tif 000012
【図１１】
2010231412.tif 000013
【図１２】
2010231412.tif 000014
【図１３】
2010231412.tif 000015