(57)【要約】【課題】適切なタイミングでクライアントとサーバの接続状態を変更し，クライアントを操作する利用者の処理状態や保持されるデータに不整合は生じないように接続状態の管理をする。【解決手段】本発明の接続状態管理装置は，接続状況の変更要求があった際に，利用者の利用中の機能が強制的に接続状況を変更可能な機能であるかどうかを機能情報から取得し，変更可能な機能である場合は接続状態を変更する，第１の接続状況変更処理実行部と，クライアントアプリケーションからサーバアプリケーションの機能に接続要求があった際に，利用者の利用中の機能と，接続履歴情報の接続状況を参照し，変更可能である場合には接続状況を変更する，第２の接続状況変更処理実行部とを有する。【選択図】        図１
2014021812.tif 000002
【特許請求の範囲】
【請求項１】
クライアントアプリケーションから接続要求されたサーバアプリケーションの機能を利用履歴情報として記憶する利用履歴情報記憶部と，
クライアントアプリケーションのサーバアプリケーションへの接続状況を接続履歴情報として記憶する接続履歴情報記憶部と，
前記サーバアプリケーションの機能を利用中に強制的に接続状況を変更可能かどうかの機能情報を記憶するアプリケーション情報記憶部と，
前記接続状況の変更要求を受け付ける接続状況変更処理受付部と，
前記接続状況の変更要求を受付けた場合に，前記利用履歴情報，機能情報から，変更する接続状況を決定し，前記接続履歴情報に記録する第１の接続状況変更処理実行部と，
前記クライアントアプリケーションから前記サーバアプリケーションの機能に接続要求があった場合に，要求があった機能を前記利用履歴情報として記録する利用状況取得部と，
前記利用状況取得部において利用履歴情報が記録された際に，前記利用履歴情報，接続履歴情報，機能情報から，前記接続状況を変更するかどうか判定し，変更する場合は，変更した接続状況を接続履歴情報に記録する第２の接続状況変更処理実行部と
から構成される接続状況管理装置。
【請求項２】
請求項１に記載の接続状況管理装置において
前記利用状況取得部は，前記クライアントアプリケーションから前記サーバアプリケーションの機能に接続要求があった場合に，前記接続履歴情報から接続要求を処理できるかどうかを判定し，接続要求があった機能の処理を抑制する機能を有する
ことを特徴とする接続状況管理装置。
【請求項３】
請求項１または請求項２に記載の接続状況管理装置において
前記接続履歴情報を前記クライアントアプリケーションに送信する接続状況情報提供部をさらに備え，
前記接続状況処理受付部は，複数の接続状況の変更要求を同時に受付ける機能を有する
ことを特徴とする接続状況管理装置。
【請求項４】
コンピュータを，請求項１から請求項３までのいずれか１項に記載の接続状況管理装置が備える各処理部として機能させるための接続状況管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，接続状態管理装置およびそのプログラムに関し，特に，クライアントサーバ型のアプリケーションにおいて，クライアントアプリケーションとサーバアプリケーションの接続状態をセッション情報として管理することによって接続状態を管理する接続状態管理技術に関するものである。
【背景技術】
【０００２】
近年，コンピュータによるアプリケーションの実行方式として，コンピュータネットワークを介したクライアントサーバ型のアプリケーション実行モデルが数多く採用されている。クライアントサーバ型のアプリケーション実行モデルでは，アプリケーションの処理はクライアント端末とサーバ装置とで分散して行われる。一般的には，クライアント端末のアプリケーションでは，アプリケーションの処理要求の入力や，実行結果の表示処理が行われる。クライアント端末装置で入力された処理要求はコンピュータネットワークを経由して，サーバ装置に送信され，サーバ装置では処理要求に応じてアプリケーション機能の処理が実行される。サーバ装置での処理結果は再びコンピュータネットワークを経由して，クライアント端末に送信され，クライアント端末のアプリケーションではサーバ装置による処理結果の表示が行われる。
【０００３】
このようなネットワークを利用したクライアントサーバ型のアプリケーション実行モデルとして，例えば，ＷＥＢ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）アプリケーションのような仕組みが知られている。ＷＥＢアプリケーションでは，クライアント端末にはクライアントアプリケーションとしてＷＥＢブラウザがあれば，必要に応じて処理を行うサーバ装置であるＷＥＢサーバにＷＥＢブラウザから接続し，ＷＥＢサーバでアプリケーション処理を実行させることによって，クライアント端末側にはＷＥＢブラウザ以外のアプリケーションを導入することなしに，ＷＥＢサーバで提供されるさまざまなアプリケーションのサービスを受けることができる。
【０００４】
サーバアプリケーションはネットワークを経由して不特定多数のクライアントアプリケーションから利用される可能性があるため，通常はサーバアプリケーションを利用するために認証処理が必要となる場合が多い。認証処理が必要なクライアントサーバ型のアプリケーションでは，サーバアプリケーションでクライアントアプリケーションからの認証処理を受付け，認証処理の結果を接続状態として管理する。認証処理が正しく行われたクライアントアプリケーションはサーバアプリケーションと接続状態にあると管理され，サーバアプリケーションの利用が可能となる。認証処理が行われてないとクライアントアプリケーションとサーバアプリケーションは接続状態にないと管理され，サーバアプリケーションの利用を行う事ができない。
【０００５】
このような接続状態などのクライアントアプリケーションの状態をサーバアプリケーション側で保持するために，セッションと呼ばれる識別子を用いてサーバアプリケーション側でクライアントアプリケーションの状態を管理する技術が広く利用されている。セッションとは，サーバで保持されるクライアントの接続情報を管理するための情報のことである。例えば，ＷＥＢアプリケーションにおいては，クライアントからサーバに接続されると，サーバ側で接続クライアント別に一意のセッション識別子が割り当てられ，セッション識別子に対応してセッション情報がサーバ側に作成される。セッション情報には，クライアントとサーバの「接続，通信，切断」の状態を管理するための情報が記録される。具体的には，セッション情報として，「クライアントがサーバに接続した時刻」「クライアントの接続時間」「クライアントがサーバとの接続を切断した時刻」「サーバアプリケーションの処理結果」「クライアントアプリケーションで入力された情報」などの様々な情報が保存される。
【０００６】
サーバ側で作成されたセッション識別子はクライアントアプリケーションに送信される。クライアントアプリケーションでは，このセッション識別子をサーバに処理を要求する都度，処理要求と合わせてサーバに送信する。サーバではセッション識別子と対応付けてセッション情報を保存しているため，セッション識別子を元にクライアントアプリケーションの前回の接続情報をセッション情報から取得することができる。
【０００７】
このような仕組みによりセッション情報がサーバで管理され，先に述べた接続状態もセッションによって管理される事が一般的である。セッション情報はサーバ側に保存されるため，削除せずに保存し続けると，サーバ側のディスク容量の圧迫や，データ量増大による処理能力の低下につながる恐れがある。そこで，通常は，セッション情報は無限に保存されるのではなく，一定時間クライアントアプリケーションからの接続が無かった場合には，サーバ側でセッションタイムアウト処理が発生し，セッション情報を削除する処理が行われる。
【０００８】
しかし，クライアントが接続状態であるにも関わらず，一定時間処理を中断してしまうと，セッションタイムアウト処理により，これまでにクライアントからの要求に応じてサーバ側で行ってきた処理が，途中で中断されてしまう事となる。そうなると，処理中のデータが突然に失われてしまう事となり，サーバ側で行ってきた処理に不整合が生じたり，保持しているサーバデータの一貫性に矛盾が生じたりする危険性がある。
【０００９】
このように，クライアント側で処理を行っている最中に，セッションタイムアウト処理によりセッション情報が破棄されてしまい，処理の不整合やデータの矛盾が生じないようにするために，クライアントの操作状況に応じて，サーバにダミーリクエストを送信し，セッションタイムアウト時間を自動延長する技術が知られている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−０２６９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
従来技術において，セッションタイムアウト処理を発生させないことによって，セッション情報が破棄される事を防止することが可能である。しかし，サーバ装置のメンテナンスを行う場合においては，たとえサーバに接続中のクライアントがあったとしてもサーバの停止や再起動を行わなければならない。このような場合においては，サーバ側で保持しているセッション情報を参照し，接続中のクライアントがある場合には，サーバの停止や再起動を行わないようしなければならない。
【００１２】
例えば，ＷＥＢアプリケーションにおいては，クライアントを利用する利用者がサーバアプリケーションにログイン処理を行うことによってセッション情報が作成され，ログアウト処理を行うことによってセッション情報は破棄される。そして，セッション情報の中に接続状態が記録されている。そのため，セッション情報が参照できれば，接続中のユーザが居る場合にはサーバの停止や再起動は行わずに，全ての利用者がログアウト処理を行い接続中で無くなるのを待ってサーバの停止や再起動を行うようにすることができる。
【００１３】
しかし，利用者がどのタイミングでログアウト処理を行うか不定なため，利用者がログアウト処理を長時間行わないと，何時まで経ってもサーバの停止や再起動を行うことができない。そのため，強制的に利用者のログアウト処理を実行し，セッション情報を破棄したり，接続状態を変更したりする事も可能ではあるが，利用者は操作を行っている途中で突然に処理が中断されるという不具合がある。さらには，処理が途中で中断されることによりこれまで行ってきた処理に不整合が発生したり，データの矛盾が発生したりという問題が発生する可能性もある。
【００１４】
本発明は上記の課題を解決する事を可能としたものであり，適切なタイミングでクライアントとサーバの接続状態を変更し，クライアントを操作する利用者の処理状態や保持されるデータに不整合は生じないように接続状態の管理をすることを可能とするものである。
【課題を解決するための手段】
【００１５】
上記課題を解決するために，本発明における接続状態管理装置は，クライアントアプリケーションから接続要求されたサーバアプリケーションの機能を利用履歴情報として記憶する利用履歴情報記憶部と，クライアントアプリケーションのサーバアプリケーションへの接続状況を接続履歴情報として記憶する接続履歴情報記憶部と，前記サーバアプリケーションの機能を利用中に強制的に接続状況を変更可能かどうかの機能情報を記憶するアプリケーション情報記憶部と，前記接続状況の変更要求を受け付ける接続状況変更処理受付部と，前記接続状況の変更要求を受付けた場合に，前記利用履歴情報，接続履歴情報，機能情報から，変更する接続状況を決定し，接続履歴情報に記録する第１の接続状況変更処理実行部と，前記クライアントアプリケーションから前記サーバアプリケーションの機能に接続要求があった場合に，要求があった機能を前記利用履歴情報として記録する利用状況取得部と，前記利用状況取得部において利用履歴情報が記録された際に，前記利用履歴情報，接続履歴情報，機能情報から，前記接続状況を変更するかどうか判定し，変更する場合は，変更した接続状況を接続履歴情報に記録する第２の接続状況変更処理実行部とから構成される。
【００１６】
この接続状態管理装置の概要は次の通りである。
（１）利用履歴情報記憶部は，クライアントアプリケーションから接続要求されたサーバアプリケーションの機能を利用履歴情報として記憶する。利用履歴情報とは，クライアントアプリケーションを利用する利用者別に，サーバアプリケーション上で稼働するどの機能をクライアントアプリケーションから利用中であるのかを記録するものである。利用者は利用者ＩＤ又はセッションＩＤによって特定され，利用中の機能は機能ＩＤによって特定される。
【００１７】
（２）接続履歴情報記憶部は，クライアントアプリケーションのサーバアプリケーションへの接続状況をログイン履歴情報として記憶している。接続履歴情報とは，クライアントアプリケーションを利用する利用者別に，クライアントアプリケーションとサーバアプリケーションとの接続状況がどのような状態であるのかを記録するものである。接続状況としては例えば「オンライン」「強制ログアウト」「ログアウト」の様な接続状態がある。「オンライン」とはクライアントアプリケーションがサーバアプリケーションを利用中であることを表し，「強制ログアウト」とはクライアントアプリケーションがサーバアプリケーションを利用中ではあるが，ログアウト処理（切断処理）の待ち状態であることを表し，「ログアウト」とはクライアントアプリケーションがサーバアプリケーションを利用中していない状態，すなわち切断中であることを表す。
【００１８】
（３）アプリケーション情報記録部は，サーバアプリケーションの機能が強制的に接続状況を変更可能かどうかの機能情報を記憶している。強制的に接続状況を変更可能かどうかの機能情報とは，サーバアプリケーションの有する機能別に，各機能を利用中の利用者の接続状況の変更を行ってもよいかどうかを設定した情報のことである。
【００１９】
（４）接続状況変更処理受付部は，接続状況の変更要求の受付けを行う。すなわち，サーバアプリケーションを利用中の利用者を利用者ＩＤやセッションＩＤを指定して特定し，特定した利用者の接続状況の変更要求を受け付ける。利用者の特定は，例えば，機能ＩＤを指定して指定された機能ＩＤを利用する利用者を利用履歴情報から取得することで特定してもよい。
【００２０】
（５）第１の接続状況変更処理実行部は，接続状況変更処理受付部が接続状況変更処理要求を受付けた場合に，利用履歴情報，機能情報から，変更する接続状況を決定し，前記接続履歴情報に記録する処理を行う。具体的には，第１の接続状況変更処理実行部は，利用履歴情報からクライアントアプリケーションが利用中のサーバアプリケーションの機能が何であるかを取得し，利用中の機能が強制的に接続状況を変更可能な機能であるかどうかを機能情報から取得する。例えば，強制的に接続状況を変更可能な機能である場合は，接続履歴情報の接続状況を「ログアウト」として記録し，強制的に接続状況を変更可能な機能でない場合は，接続履歴情報の接続状況を「強制ログアウト」として記録する。
【００２１】
（６）利用状況取得部は，クライアントアプリケーションからサーバアプリケーションの機能に接続要求があった場合に，要求があった機能を利用履歴情報に記録する。これによって，利用履歴情報には，クライアントアプリケーションが利用中のサーバアプリケーションの機能が記録されることとなる。
【００２２】
（７）第２の接続状況変更処理実行部は，利用状況取得部において利用履歴情報が記録された際に，利用履歴情報，接続履歴情報，機能情報から，前記接続状況を変更するかどうか判定し，変更する場合は，変更した接続状況を接続履歴情報に記録する。例えば，第２の接続状況変更処理実行部は，クライアントアプリケーションからサーバアプリケーションの機能に接続要求があり，利用状況取得部において利用履歴情報が記録された際に，接続履歴情報の接続状況を参照し「強制ログアウト」状態になっていた場合は，利用履歴情報からクライアントアプリケーションが利用中のサーバアプリケーションの機能が何であるかを取得し，利用中の機能が強制的に接続状況を変更可能な機能であるかどうかを機能情報から取得する，強制的に接続状況を変更可能な機能である場合は，接続履歴情報の接続状況を「ログアウト」として記録する。
【００２３】
また，本発明の一態様においては，前記利用状況取得部は，前記クライアントアプリケーションから前記サーバアプリケーションの機能に接続要求があった場合に，前記接続履歴情報から接続要求を処理できるかどうかを判定し，接続要求があった機能の処理を抑制する機能を有する。例えば，利用状況取得部は，クライアントアプリケーションからサーバアプリケーションの機能に接続要求があった場合に，接続履歴情報の接続状況を取得し，接続状況が「ログアウト」であった場合には，接続要求があった機能の処理を行わないことにより，クライアントアプリケーションとサーバアプリケーションの接続状態が接続中でない場合には，サーバアプリケーションの利用を抑制することができる。
【００２４】
さらに，本発明における接続状態管理装置の他の構成として，前記接続状態管理装置の構成において，前記利用接続履歴情報を前記クライアントアプリケーションに送信する接続状況提供部をさらに備え，前記接続状況変更処理受付部は，複数の接続状況の変更要求を同時に受付ける機能を有する接続状態管理装置としてもよい。すなわち，接続状況提供部は，接続履歴情報記憶部に記録されている接続履歴情報をクライアントアプリケーションに送信する。これによってクライアントアプリケーションの利用者は，現在サーバアプリケーションを利用している利用者の接続状況を知ることができる。そして，接続状況変更処理受付部は，複数の接続状況の変更要求を同時に受付けることによって，クライアントアプリケーションの利用者は，現在サーバアプリケーションを利用している複数の利用者の接続状況を一括して変更することができる。
【発明の効果】
【００２５】
本発明によれば，接続状態管理装置は，接続状況の変更要求があった場合であっても，即座に接続状況を変更するのではなく，接続状況の変更要求があった利用者の利用中のサーバアプリケーションの機能が接続状況の変更をしても問題無い機能である場合のみ接続状況を変更するため，利用者がサーバアプリケーションの機能を利用中であるにも関わらず，処理の途中で接続状況が変更され，処理を続行できなくなるという事態を回避することが可能となる。さらには，利用者の接続状況を変更したいが，利用中の機能が接続状況の変更を許可されていない機能である場合であっても，利用者のサーバアプリケーションの機能を利用する処理が完了し，接続状況を変更しても問題が発生しない状態となると，自動的に接続状況を変更することができるため，利用者の処理を中断させることなく，利用者の処理状況に応じて問題が発生しない状況となった場合に利用者の接続状況を安全に変更させることが可能となる。
【図面の簡単な説明】
【００２６】
【図１】接続状況管理装置が用いられるシステムの全体構成図である。
【図２】従来のセッション情報管理を表す処理フローチャートである。
【図３】従来の接続状態の管理方法を表す処理フローチャートである。
【図４】ログイン状況の変更を指示する画面の例である。
【図５】接続状況変更の指示を行う処理フローチャートである。
【図６】接続状況変更の処理を行う処理フローチャートである。
【図７】接続状況変更の処理を行う処理フローチャートである。
【図８】ログイン履歴情報の例を示す図である。
【図９】利用履歴情報の例を示す図である。
【図１０】アプリケーション情報の例を示す図である。
【図１１】セッション管理情報の例を示す図である。
【発明を実施するための形態】
【００２７】
以下に，本願の開示する接続状況管理装置およびそのプログラムの実施例を図面に基づいて詳細に説明する。なお，以下に示す実施例では，クライアントサーバ型のアプリケーション実行方式において，クライアントアプリケーションを操作してサーバアプリケーションの機能を利用する利用者からのログイン処理によってクライアントアプリケーションとサーバアプリケーションの接続が確立され，利用者からのログアウト処理によって接続が切断される場合に，利用者以外のサーバアプリケーションの管理を行うシステム管理者が強制的に強制ログアウト処理を実行し，クライアントアプリケーションとサーバアプリケーションの接続を切断させる場合の例について説明する。しかしながら，本願の開示する接続状況管理装置およびそのプログラムの実施例は，以下で説明するものに限られるわけではなく，クライアントアプリケーションとサーバアプリケーションの接続状況を管理する各種装置にも同様に適用することが可能である。
【実施例】
【００２８】
最初に，本実施例に係る接続状況管理装置の全体構成の概要について説明する。図１は，本実施例に係る接続状況管理装置の全体構成を示す図である。接続状況管理装置１は，サーバアプリケーション３から制御されることによってクライアントアプリケーション２とサーバアプリケーション３との接続状況を管理する。接続状況管理装置１は，アプリケーション情報記憶部１１０，接続履歴情報記憶部１２０，利用履歴情報記憶部１３０，及び，接続状況変更処理受付部１０１，利用状況取得部１０２，接続状況変更処理実行部１０３，接続状況提供部１０４から構成される。
【００２９】
まず，接続状況管理装置１の有する各記憶部について説明する。
【００３０】
アプリケーション情報記憶部１１０は，サーバアプリケーション３が有する機能と当該機能を利用中の利用者の接続状況を強制的に変更することができるかどうかのアプリケーション情報を記憶する。図１０は本実施例におけるアプリケーション情報の例を示す図である。アプリケーション情報記憶部１１０は，図１０に示されるように「機能画面ID」「機能画面名」「接続状況変更可否」の情報を有する。「機能画面ID」はサーバアプリケーション３が有する機能を一意に識別するための識別子であり，「機能画面名」は「機能画面ID」に対応して付けられる機能の名称である。「接続状況変更可否」は，当該機能画面IDの機能を利用している最中の利用者の接続状況を強制的に変更できるかどうかを記憶するものである。
【００３１】
例えば，「機能画面ID」が”Top010"，「機能画面名」が”トップ画面”，「接続状況変更可否」が"可能”と記憶されている場合は，機能画面名”トップ画面”の識別子は”Top010”であり，トップ画面を利用中の利用者の接続状況を強制的に変更できることを意味し，「機能画面ID」が”JyuEntry002"，「機能画面名」が”受注入力画面”，「接続状況変更可否」が"不可”と記憶されている場合は，機能画面名”受注入力画面”の識別子は”JyuEntry002”であり，受注入力画面を利用中の利用者の接続状況を強制的に変更できることはできない事を意味する。
【００３２】
接続履歴情報記憶部１２０は，利用者が操作するクライアントアプリケーション２とサーバアプリケーション３との接続状況を記憶する。図８は本実施例における接続履歴情報の例を示す図である。接続履歴情報は，図８に示されるように「利用者ID」「利用者名」「会社名」「接続元ＩＰアドレス」「ログイン日時」「接続状況」の情報を有する。「利用者ID」はクライアントアプリケーション２を操作してサーバアプリケーション３の機能を利用する利用者を一意に識別する識別子である，「利用者名」は「利用者ID」に対応して付けられる利用者の名称であり，「会社名」は利用者の属する会社の名称である。「接続元ＩＰアドレス」は利用者が操作するクライアントアプリケーション２に設定されているＩＰアドレスを表す。「接続状況」は利用者の操作するクライアントアプリケーション２とサーバアプリケーション３との接続状況を表す。
【００３３】
例えば，「利用者ID」が”User0001”，「利用者名」が”テストユーザー１”，「会社名」が”テスト株式会社”，「接続元ＩＰアドレス」が”192.168.10.5”，「ログイン日時」が”2012/04/07 18:21:31”，「接続状況」が”オンライン”と記憶されている場合は，利用者IDが”User0001”で利用者名”テストユーザー１”，会社名”テスト株式会社”の利用者が操作するクライアントアプリケーション２に設定されているＩＰアドレスは”192.168.10.5”であり，当該利用者はサーバアプリケーションに”2012/04/07 18:21:31”にログイン処理を行い，現在の利用者の操作するクライアントアプリケーション２とサーバアプリケーション３との接続状況は”オンライン”であることを表す。
【００３４】
「接続状況」には”オンライン”，”強制ログアウト”，”ログアウト”などの状況が記憶される。”オンライン”とはクライアントアプリケーション２からサーバアプリケーション３のログイン処理が実行され接続状態であること，すなわち利用中であることを表し，”強制ログアウト”とはクライアントアプリケーション２とサーバアプリケーション３が接続状態，すなわち利用中ではあるが，ログアウト処理（切断処理）の待ち状態であることを表し，”ログアウト”とはクライアントアプリケーション２がサーバアプリケーション３を利用中していない状態，すなわち切断中であることを表す。
【００３５】
利用履歴情報記憶部１３０は，利用者がサーバアプリケーション３のどの機能を利用中であるのかを記憶する。図９は本実施例における利用履歴情報の例を示す図である。利用履歴情報記憶部１３０は，図９に示されるように「利用者ID」「利用者名」「機能画面ID」「機能画面名」「処理時刻」の情報を有する。「利用者ID」はクライアントアプリケーション２を操作してサーバアプリケーション３の機能を利用する利用者を一意に識別する識別子である，「利用者名」は「利用者ID」に対応して付けられる利用者の名称である。「機能画面ID」は「利用者ID」に対応する利用者が現在，クライアントアプリケーション２を操作して利用中のサーバアプリケーション３の機能を特定するための識別子となる「機能画面ID」であり，「機能画面名」は「機能画面ID」に対応する機能画面の名称である。「処理時刻」は利用者が当該機能を使い始めた処理開始時刻を表す。
【００３６】
例えば，「利用者ID」が”User0001”，「利用者名」が”テストユーザー１”，「機能画面ID」が”JyuEntry002”，「機能画面名」が”受注入力画面”，「処理時刻」が”2012/04/07 19:30:43”と記憶されている場合は，利用者IDが”User0001”で利用者名”テストユーザー１”の利用者は機能画面IDが”JyuEntry002”で機能画面名が”受注入力画面”のサーバアプリケーション３の機能を処理時刻”2012/04/07 19:30:43”から利用中であることを表す。利用履歴情報は利用者IDごとに作成され，利用者の利用する機能が替わると「機能画面ID」「機能画面名」が利用者の利用中の機能画面IDと機能画面名に書き換えられ，「処理時刻」に当該機能の利用を開始した時刻が記録される。
【００３７】
次に，接続状況管理装置１の有する各処理部について説明する。  
【００３８】
接続状況変更処理受付部１０１は，サーバアプリケーション３からの接続状況の変更要求の受付けを行う。具体的には，利用者がクライアントアプリケーション２を操作してサーバアプリケーション３のログイン処理機能を実行しログイン処理が成功すると，サーバアプリケーション３は接続状況変更処理受付部１０１に対して，接続状況を”オンライン”に変更する要求を行う。同様に，利用者がクライアントアプリケーション２を操作してサーバアプリケーション３のログアウト処理機能を実行し，ログアウト処理が成功すると，サーバアプリケーション３は接続状況変更処理受付部１０１に対して，接続状況を”ログアウト”に変更する要求を行う。また，利用者は自分自身の接続状況の変更しか行えないが，システム管理者はクライアントアプリケーション２を操作してサーバアプリケーションの強制ログアウト処理機能を実行して，任意の利用者の接続状況の変更を接続状況変更処理受付部１０１に要求する事もできる。この場合，システム管理者は接続状況を”ログアウト”に変更する利用者ＩＤの一覧をクライアントアプリケーション２より入力し，サーバアプリケーション３に送信する。サーバアプリケーション３は，受け取った利用者ＩＤの接続状況を”ログアウト”に変更する要求を接続状況変更処理受付部１０１に送信する。
【００３９】
接続状況変更処理受付部１０１は，接続状況の変更要求の受付けを行うと，受付けを行った変更処理要求を接続状況変更処理実行部１０３に送信する。接続状況変更処理実行部１０３は，接続状況変更処理受付部１０１から接続状況の変更要求の受付けると，接続状態を変更する利用者ＩＤを変更要求から特定し，接続履歴情報記憶部１２０に記憶される当該利用者ＩＤの接続履歴情報の接続状況の変更処理を行う。例えば，接続状況を”オンライン”に変更する要求の場合は，接続履歴情報記憶部１２０に記憶される接続履歴情報に当該利用者ＩＤの接続履歴情報として，接続状況の変更要求から取得される「利用者ＩＤ」「利用者名」「会社名」「接続元ＩＰアドレス」などを記録し，接続状況を”オンライン”として記録し，接続状況を”オンライン”に変更する処理日時を「ログイン日時」として記録する。ここで，接続状況を”オンライン”に変更する要求を受け取った場合であっても，例えば，サーバアプリケーション３がメンテナンスモードである場合や，サーバアプリケーション３の利用ができない状態に設定されている場合などは，接続状況を”オンライン”への変更は行わないようにすることもできる。これによって，ログイン処理が成功した場合であってもサーバアプリケーションの状態によっては接続状況を”オンライン”には変更しないことによってサーバアプリケーション３の利用を抑制することができるようになる。
【００４０】
次に，例えば，接続状況を”ログアウト”に変更する要求の場合は，接続状況変更処理実行部１０３は利用履歴情報記憶部１３０から当該利用者ＩＤに対応する利用履歴情報を参照し，当該利用者が利用中の機能画面ＩＤを取得する。そして，アプリケーション情報記憶部１１０から当該機能画面ＩＤに対応するアプリケーション情報を取得し，当該機能画面ＩＤの接続状況変更可否の情報を取得する。取得した接続状況変更可否が”可能”となっていた場合は，接続履歴情報記憶部１２０に記憶される当該利用者ＩＤの接続履歴情報の接続状況を”オフライン”として記録する。取得した接続状況変更可否が”不可”となっていた場合は，接続履歴情報記憶部１２０に記憶される当該利用者ＩＤの接続履歴情報の接続状況を”強制ログアウト”として記録する。
【００４１】
利用状況取得部１０２は，利用者がクライアントアプリケーション２を操作してサーバアプリケーション３の機能の利用要求を行うと，サーバアプリケーション３からの要求により，クライアントアプリケーション２を操作する利用者を特定する利用者IDおよび利用要求があったサーバアプリケーション３の機能画面ＩＤ，要求の処理時刻等の情報を利用履歴情報記憶部１３０に記憶する。利用履歴情報は利用者ＩＤごとに一意の情報として作成されるため，クライアントアプリケーション２からサーバアプリケーション３に機能の処理要求がある都度，該当する利用者ＩＤに対応する利用履歴情報が更新される事となる。さらには，利用状況取得部１０２は，利用者がクライアントアプリケーション２を操作してサーバアプリケーション３の機能の利用要求があった際に，当該要求を行った利用者ＩＤに対応する接続履歴情報を接続履歴情報記憶部１２０から参照し，当該利用者ＩＤの接続状況を確認する。ここで，確認した接続状況が利用者の接続状態の変更を行う状態となっていた場合，例えば，接続状況が”強制ログアウト”であった場合は，利用状況取得部１０２は，接続状況変更処理実行部１０３に対して，当該利用者ＩＤに対応する接続履歴情報記憶部１２０の接続状況を”ログアウト”に変更する要求を行う。
【００４２】
その後，利用状況取得部１０２はサーバアプリケーション３に利用状況を通知する。接続状況変更処理実行部１０３に対して接続状況の変更要求を行った場合に接続状況が変更されていた場合は，変更後の接続状況が通知される。接続状況を通知されたサーバアプリケーション３は通知された接続状況に応じて，クライアントアプリケーション２からの機能の利用要求にたいしてどのような処理を行うかを決定する。例えば，接続状況が”オンライン”または”強制ログアウト”である場合は，サーバアプリケーション３はクライアントアプリケーション２から利用要求があった機能の処理を行い，処理結果をクライアントアプリケーション２に返却する。また，接続状況が”ログアウト”の場合は，クライアントアプリケーション２の認証処理が行われてない状況であり，サーバアプリケーション３とクライアントアプリケーション２が接続状態に無いということであるので，サーバアプリケーション３は，クライアントアプリケーション２からの機能の利用要求に対して，要求機能の処理は行わずに認証要求機能画面を返却するなどといった，認証を促す処理や，機能が実行できない旨のメッセージ画面を返却するなどの処理を行う。
【００４３】
接続状況提供部１０４は，サーバアプリケーション３から接続状況の取得要求を受け取ると，接続履歴情報記憶部１２０から接続履歴情報の一覧を取得し，サーバアプリケーション３に返却する。
【００４４】
次にフローチャートを用いて，接続状況管理装置がどのように接続状況の管理を行うのか，具体的な処理フローを説明する。
【００４５】
接続状況管理装置１では，クライアントアプリケーション２の操作を行っている利用者の利用者ＩＤを特定する為にセッション管理情報を利用する。セッション管理情報はクライアントアプリケーション２からサーバアプリケーション３に最初に処理要求があった際に生成され，サーバアプリケーション３からクライアントアプリケーション２にセッションＩＤが通知される。
【００４６】
図２は，一般的なセッション管理情報の生成を行う際の処理フローチャートである。サーバアプリケーション３はクライアントアプリケーション２からサーバアプリケーション３の有する機能の処理要求としてリクエスト要求を受付ける（Ｓ２０１）。そして，サーバアプリケーション３はクライアントアプリケーション２からセッションＩＤが送信されなかった場合，クライアントアプリケーション毎に一意となるユニークなセッションＩＤを生成する（Ｓ２０２）。セッションＩＤを生成したら，セッションＩＤに対応するセッション管理情報を生成する（Ｓ２０３）。セッション管理情報は例えば，図１１に示すような情報であり，セッションＩＤと対応する様に，例えば，「利用者ＩＤ」「利用者名」などが記録される。生成されたセッションＩＤをクライアントアプリケーション２に通知され，以降，クライアントアプリケーション２は，サーバアプリケーション３に対して処理要求を行う際にセッションＩＤを処理要求と合わせて送信する。このような構成を取ることによって，サーバアプリケーション３はクライアントアプリケーション２から送信されたセッションＩＤを元にセッション管理情報からクライアントアプリケーション２を利用する利用者ごとに一意な情報を管理し，利用することができる。
【００４７】
例えば，認証処理機能を行うサーバアプリケーション３の機能をクライアントアプリケーション２から利用する場合，クライアントアプリケーション２から利用者ＩＤを含む認証処理に必要な情報がサーバアプリケーション３に送信されると認証処理機能の処理が行われ，その処理結果によって図１１に示すように，セッションＩＤと対応する形で利用者ＩＤがセッション管理情報として記録される。
【００４８】
また，図３は一般的なセッション管理情報を利用して接続状態管理を行う場合の処理フローである。セッション管理情報を利用して接続状況を管理することによって，認証処理が行われている場合は接続状態とみなして，クライアントアプリケーション２から処理要求があったサーバアプリケーション３の機能の処理を行い，認証処理が行われていない場合は接続状態にないものとして，クライアントアプリケーション２から処理要求があったサーバアプリケーション３の機能の処理を抑制するといった制御が行われる。
【００４９】
このような制御がどのように行われるかについて，図３の処理フローに従って説明する。まず，サーバアプリケーション３はクライアントアプリケーション２より処理要求のリクエストを受け取ると，処理要求からセッションＩＤを取得する（Ｓ３０１）。そして，セッションＩＤに対応する利用者ＩＤをセッション管理情報から取得する（Ｓ３０２）。次に，取得した利用者ＩＤの接続状況がどのような状況であるかを取得する（Ｓ３０３）。例えば，利用者の接続状況が図８に示す様な接続履歴情報として記録されているとすると，取得した利用者ＩＤから接続状況として”オンライン”，”ログアウト”等の情報を取得することができる。接続状況が取得できたら，接続状況からログイン状態であるかどうかを判定する（Ｓ３０４）。例えば，接続状況が”オンライン”であった場合，クライアントアプリケーション２はサーバアプリケーション３にログイン状態であると判断し（Ｓ３０４，ＹＥＳ），サーバアプリケーション３はクライアントアプリケーション２から処理要求があった機能の処理を実行し，実行結果の機能画面をクライアントアプリケーション２に送信して表示する（Ｓ３０６）。接続状況が”オフライン”であった場合は，クライアントアプリケーション２はサーバアプリケーション３にログイン状態にないと判断し（Ｓ３０４，ＮＯ），サーバアプリケーション３はクライアントアプリケーション２から処理要求があった機能の処理は実行せずに，例えば，認証処理機能画面に強制的に遷移する処理などを行うことによってサーバアプリケーション３の機能が処理されることを抑制する（Ｓ３０５）。
【００５０】
以上，図２および図３を用いて，一般的に行われているセッション管理情報を利用した接続状況を管理する実施例について説明した。本発明における接続状況管理装置においてもセッション管理情報を利用して利用者の接続履歴情報，利用履歴情報等を特定することによって，管理者による接続状況の管理を行い，適切なタイミングでの接続状況の変更処理を行う事を実現している。次に，本発明における接続状況を変更する処理フローについて説明する。
【００５１】
図５は，接続状況管理装置１における強制ログアウト処理フローの全体処理のフローである。強制ログアウト処理を行う指示は，例えば，サーバアプリケーションの起動や停止，利用状況の監視等を行う役割を担ったシステム管理者によって行われる。システム管理者は，クライアントアプリケーション２を操作して，サーバアプリケーション３に対してサーバアプリケーション３を利用する権限を有する利用者一覧を表示する要求を行う。そうすると，サーバアプリケーション３は接続状況提供部１０４に利用者の接続状況一覧の問い合わせを行い，接続状況提供部１０４は接続履歴情報記憶部１２０を参照して，利用者毎の接続状況を取得する。取得した利用者毎の接続状況はサーバアプリケーション３に返却され，サーバアプリケーション３では返却された利用者毎の接続状況の情報を元に，図４に示すように利用者毎の接続状況をクライアントアプリケーション２に返却し，クライアントアプリケーション２では接続状況情報表示画面を表示する（Ｓ５０１）。接続状況情報表示画面では，接続状況を表示する対象の利用者を「会社名」「ユーザ名」などで絞り込んで表示する事もできる。
【００５２】
システム管理者は接続状況情報表示画面の情報を参照し，一覧から「利用者ＩＤ」「ログイン日時」「接続状況」等の情報を元に強制ログアウト処理を実行する対象の利用者ＩＤを選択する（Ｓ５０２）。そして，強制ログアウト処理の実行指示を，例えば強制切断ボタンを押す事によってサーバアプリケーション３を経由して接続状況管理装置１に対して行う（Ｓ５０３）。
【００５３】
図６は，強制ログアウト処理の対象となる利用者ＩＤ一覧を受け取った後に，接続状況管理装置１で行われる強制ログアウトの処理フローである。サーバアプリケーション３はクライアントアプリケーション２より強制ログアウト処理を行う対象の利用者ＩＤ一覧を受け取ると，対象の利用者ＩＤ一覧を接続状況変更処理受付部１０１に送信し，送信した利用者ＩＤの接続状況をログアウトに変更する要求を行う。接続状況変更処理受付部１０１は受け取った利用者ＩＤ一覧を接続状況変更処理実行部１０３に送信し，接続状況をログアウトに変更する処理の実行を依頼する。接続状況変更処理実行部１０３では受け取った利用者ＩＤの各利用者ＩＤについて，接続履歴情報記憶部１２０に記憶されている利用者ＩＤに対応する接続状況の情報を「強制ログアウト」に変更する処理を実行する（Ｓ６０１）。ここで，接続状況が「ログアウト」である場合には，すでにログアウト処理済みであるため，接続状況の情報を「強制ログアウト」に変更する処理は行わない。
【００５４】
次に，接続状況変更処理受付部１０１は受け取った利用者ＩＤ一覧について，全ての利用者ＩＤについて処理を行うまで繰返し利用者ＩＤ毎に処理を実行する（Ｓ６０２）。まず，処理対象の利用者ＩＤが利用中の機能が何であるか，利用履歴情報記憶部１３０を参照して，利用者ＩＤに対応する機能ＩＤを取得する（Ｓ６０３）。そして，取得した機能ＩＤの機能が強制ログアウト可能な機能であるかどうか，アプリケーション情報記憶部１１０を参照して，機能ＩＤに対応する接続状況変更可否の情報を取得することによって確認する（Ｓ６０４）。取得した接続状況変更可否が「可能」であった場合（Ｓ６０４，ＹＥＳ），接続履歴情報記憶部１２０に記憶されている利用者ＩＤに対応する接続状況の情報を「ログアウト」に変更する。取得した接続状況変更可否が「不可」であった場合（Ｓ６０４，ＮＯ），接続履歴情報記憶部１２０に記憶されている利用者ＩＤに対応する接続状況の情報の変更は行わず「強制ログアウト」のままとなる。１つの利用者ＩＤに対する処理が終わり，対象利用者ＩＤの全てについて処理がされた場合は（Ｓ６０６，ＹＥＳ），強制ログアウトの処理を完了する。対象利用者ＩＤの処理が全て完了していない場合は（Ｓ６０６，ＮＯ），Ｓ６０２に戻り，次の利用者ＩＤの処理を行う。
【００５５】
以上の処理フローにより，接続状況をログアウトに変更する要求を受けた利用者ＩＤの接続状況は「強制ログアウト」又は「ログアウト」に変更される。次に「強制ログアウト」の状態にある接続状況を「ログアウト」に変更する処理について説明する。接続状況が「強制ログアウト」の接続状況を「ログアウト」に変更するかどうかを判断し変更を行う，強制ログアウト状態管理処理は，先に図３の処理フローを用いて説明した従来の一般的なセッション管理情報を利用して接続状態管理を行う場合の処理に，接続状態の変更判断を組み入れることによって実現される。
【００５６】
すなわち，利用者がクライアントアプリケーション２よりサーバアプリケーション３にたいして機能の利用要求を行った際に，セッション管理情報を利用して接続状況を管理することによって，認証処理が行われている場合は接続状態とみなして，クライアントアプリケーション２から処理要求があったサーバアプリケーション３の機能の処理を行い，認証処理が行われていない場合は接続状態にないものとして，クライアントアプリケーション２から処理要求があったサーバアプリケーション３の機能の処理を抑制するといった制御が行われるが，この処理に接続状態の変更判断を組み入れることによって実現される。
【００５７】
このような制御がどのように行われるかについて，図７の処理フローに従って説明する。まず，サーバアプリケーション３はクライアントアプリケーション２より処理要求のリクエストを受け取ると，処理要求からセッションＩＤを取得する（Ｓ７０１）。そして，セッションＩＤに対応する利用者ＩＤをセッション管理情報から取得する（Ｓ７０２）。次に，取得した利用者ＩＤの接続状況がどのような状況であるかを取得する（Ｓ７０３）。例えば，利用者の接続状況が図８に示す様な接続履歴情報として記録されているとすると，取得した利用者ＩＤから接続状況として”オンライン”，”強制ログアウト”，”ログアウト”等の情報を取得することができる。接続状況が取得できたら，接続状況からログイン状態であるかどうかを判定する（Ｓ７０４）。例えば，接続状況が”オンライン”又は”強制ログアウト”であった場合，クライアントアプリケーション２はサーバアプリケーション３にログイン状態であると判断し（Ｓ７０４，ＹＥＳ），接続状況が”オフライン”である場合は，クライアントアプリケーション２はサーバアプリケーション３にログイン状態にないと判断する（Ｓ７０４，ＮＯ）。
【００５８】
接続状況からログイン状態にないと判断された場合には（Ｓ７０４，ＮＯ），サーバアプリケーション３はクライアントアプリケーション２から処理要求があった機能の処理は実行せずに，例えば，認証処理機能画面に強制的に遷移する処理などを行うことによってサーバアプリケーション３の機能が処理されることを抑制する（Ｓ７１０）。
【００５９】
接続状況からログイン状態であると判断された場合は（Ｓ７０４，ＹＥＳ），接続状況の変更を行うかどうかの判断を行い，要求があった機能の処理を行うかどうかの判断を行う。これら判断を行う前に，利用者がどの機能を利用中であるのかを管理するために"利用者ＩＤ”，要求があった”利用機能”，”アクセス時刻”等の情報を利用履歴情報として利用履歴情報記憶部１３０に記録する（Ｓ７０５）。この処理により，利用者がサーバアプリケーション３の有するどの機能を利用中であるかを常に管理することができるようになる。
【００６０】
次に，利用者の接続状態が”強制ログアウト”の状態であるかどうかを，接続履歴情報記憶部１２０に記憶されている利用者ＩＤに対応する接続状況を参照することによって確認する。接続状況が”強制ログアウト”でなかった場合は，接続状況を”ログアウト”に変更する必要は無いため（Ｓ７０６，ＮＯ），サーバアプリケーション３はクライアントアプリケーション２から処理要求があった機能の処理を実行し，実行結果の機能画面をクライアントアプリケーション２に送信して表示する（Ｓ７０９）。
【００６１】
接続状況が”強制ログアウト”であった場合は（Ｓ７０６，ＹＥＳ），接続状況を”ログアウト”に変更するかどうかの判断を行う。具体的には，接続履歴情報記憶部１２０に記憶されている利用者ＩＤに対応する機能画面ＩＤを参照することによって，利用者が現在どの機能を利用中であるのかを取得する。そして，利用中の機能が強制ログアウト処理可能な機能であるかどうかを確認するために，アプリケーション情報記憶部１１０に記録されている機能画面ＩＤに対応する接続状況変更可否を参照する事によって，利用中の機能が接続状況を変更可能かどうか判断する。参照した接続情報変更可否が”不可”であった場合は（Ｓ７０７，ＮＯ），接続状況の変更は行わずに，サーバアプリケーション３はクライアントアプリケーション２から処理要求があった機能の処理を実行し，実行結果の機能画面をクライアントアプリケーション２に送信して表示する（Ｓ７０９）。
【００６２】
参照した接続情報変更可否が”可能”であった場合は（Ｓ７０７，ＹＥＳ），接続履歴情報記憶部１２０に記憶されている利用者ＩＤに対応する接続状況の情報を「ログアウト」に変更する（Ｓ７０８）。この場合は，サーバアプリケーション３はクライアントアプリケーション２から処理要求があった機能の処理は実行せずに，例えば，認証処理機能画面に強制的に遷移する処理などを行うことによってサーバアプリケーション３の機能が処理されることを抑制する（Ｓ７１０）。
【００６３】
以上の様な処理が接続状況管理装置１に行われることによって利用者の接続状況の管理が行われる。このような処理によって，管理者によって利用者の強制ログアウト処理が要求された場合であっても，即座に接続状態が変更されるのではなく，利用者の利用状況に応じて適切なタイミングで接続状況をログアウト状態に変更することできる。これによって，利用者が入力した情報や業務情報が失われる事を防止することができる。さらには，強制ログアウト処理が必要な利用者を選択して強制ログアウト処理の指示が行えるため，ログアウトが必要な利用者だけを強制ログアウトさせることができ，利用者のログイン状況を管理者が把握できるため，適切なメンテナンスのタイミングを知ることができる。
【００６４】
また，接続状況管理装置は，コンピュータとソフトウェアプログラムとによって実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。また，図示した各装置の各構成要素は機能概念的なものであり，必ずしも物理的に図示の如く構成されていることを要しない。すなわち，各装置の分散・統合の具体的形態は図示のものに限られず，その全部または一部を，処理単位や使用状況などに応じて，任意の単位で機能的または物理的に分散・統合して構成することができる。さらに，各装置にて行なわれる各処理機能は，その全部または任意の一部が，ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され，あるいは，ワイヤードロジックによるハードウェアとして実現され得る。
【符号の説明】
【００６５】
１      接続状況管理装置
２      クライアントアプリケーション
３      クライアントアプリケーション
１０１      接続状況変更処理受付部
１０２      利用状況取得部
１０３      接続状況変更処理実行部
１０４      接続状況提供部
１１０      アプリケーション情報記憶部
１２０      接続履歴情報記憶部
１３０      利用履歴情報記憶部
【図１】
2014021812.tif 000003
【図２】
2014021812.tif 000004
【図３】
2014021812.tif 000005
【図４】
2014021812.tif 000006
【図５】
2014021812.tif 000007
【図６】
2014021812.tif 000008
【図７】
2014021812.tif 000009
【図８】
2014021812.tif 000010
【図９】
2014021812.tif 000011
【図１０】
2014021812.tif 000012
【図１１】
2014021812.tif 000013