(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024027330
(43)【公開日】2024-03-01
(54)【発明の名称】中継システム、情報記録方法及び情報記録プログラム
(51)【国際特許分類】
G06F 11/07 20060101AFI20240222BHJP
G06F 11/34 20060101ALI20240222BHJP
【FI】
G06F11/07 157
G06F11/34 176
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022130044
(22)【出願日】2022-08-17
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】金丸 将平
(72)【発明者】
【氏名】大石 亮介
(72)【発明者】
【氏名】小久保 伸治
(72)【発明者】
【氏名】亀澤 寛之
(72)【発明者】
【氏名】浜野 真也
(72)【発明者】
【氏名】山路 敏
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ23
5B042JJ29
5B042MA08
5B042MC40
(57)【要約】
【課題】通信遅延があったときに生じたトラブルの発生原因を特定しやすくする。
【解決手段】端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間を中継する中継システムが、端末と処理装置とが接続されている間、端末に表示される操作画面を録画して第1の録画データ(通常録画データ)を蓄積し、端末からのリクエストを送信した時刻と、当該リクエストに対応するレスポンスを処理装置から受信した時刻との間の時間差が基準値を超えた場合に、第1の録画データのうちリクエストを送信した時刻の所定時間前以降に録画された録画データを複製して(
図13(a)の両矢印)、第2の録画データを生成し、時間差が基準値を超えている間に操作画面を録画することにより得られる録画データを第2の録画データに追加する(
図13(b)の破線矢印)。
【選択図】
図13
【特許請求の範囲】
【請求項1】
端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間を中継する中継システムであって、
前記端末と前記処理装置とが接続されている間、前記端末に表示される操作画面を録画して第1の録画データを蓄積する録画装置と、
前記端末から前記処理装置へのリクエストを受信した場合に、前記処理装置に前記リクエストを送信するとともに、前記リクエストに対応するレスポンスを前記処理装置から受信した場合に、前記端末に前記レスポンスを送信する送受信装置と、を備え、
前記録画装置は、
前記送受信装置がリクエストを送信した時刻と、当該リクエストに対応するレスポンスを受信した時刻との間の時間差が基準値を超えた場合に、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成し、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する、ことを特徴とする中継システム。
【請求項2】
前記録画装置は、予め定められた種類のリクエストを送信した時刻と、当該リクエストに対応するレスポンスを受信した時刻との間の時間差が基準値を超えた場合に、前記第2の録画データを生成する、ことを特徴とする請求項1に記載の中継システム。
【請求項3】
前記予め定められた種類のリクエストは、前記操作画面の遷移が生じるリクエストであることを特徴とする請求項2に記載の中継システム。
【請求項4】
前記基準値は、前記リクエストの内容ごとに設定されていることを特徴とする請求項1~3のいずれか一項に記載の中継システム。
【請求項5】
端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間を中継する中継システムが、
前記端末と前記処理装置とが接続されている間、前記端末に表示される操作画面を録画して第1の録画データを蓄積し、
前記端末からのリクエストを送信した時刻と、当該リクエストに対応するレスポンスを前記処理装置から受信した時刻との間の時間差が基準値を超えた場合に、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成し、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する、
処理を実行することを特徴とする情報記録方法。
【請求項6】
端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間における前記リクエストと前記レスポンスの送受信を行う送受信装置に、
前記端末と前記処理装置とが接続されている間、前記送受信装置に接続された録画装置に指示を出し、前記端末に表示される操作画面を録画して第1の録画データを蓄積し、
前記端末からのリクエストを送信した時刻と、当該リクエストに対応するレスポンスを前記処理装置から受信した時刻との間の時間差が基準値を超えた場合に、前記録画装置に指示を出し、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成するとともに、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する、
処理を実行させることを特徴とする情報記録プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継システム、情報記録方法及び情報記録プログラムに関する。
【背景技術】
【0002】
近年、在宅勤務やテレワークの利用が増えてきており、ユーザが操作するクライアント端末から、オフィスPCやクラウドサーバ等(以下、各種サーバと呼ぶ)に指示を行う技術として、webポータルを利用する技術が知られている。
【0003】
この技術において、webポータルは、インターネットを介してクライアント端末と各種サーバとの間を中継し、各種サーバから送信される操作画面をクライアント端末に配信する。また、クライアント端末を操作するユーザはブラウザ上で操作画面を閲覧し、キーボードやマウスを用いて操作する。
【0004】
このようなシステムにおいては、Webポータルと各種サーバ間の通信遅延が発生することがある。通信遅延が発生した場合、ユーザがある操作を行ったのにその操作が反映されないため、再度同じ操作を行ってしまうなどして、誤操作によるトラブルが発生しやすい。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2018-195209号公報
【特許文献2】特開2021-56763号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
通常、トラブルが発生した場合には、管理者等はトラブルの原因を特定するために、各種サーバの動作プログラムが生成したログを参照することが多い。
【0007】
しかしながら、上記のように通信遅延に起因する誤操作によりトラブルが生じた場合、各種サーバは操作に対応する処理を正常に行っているため、ログにトラブルに関する情報が記録されないことが多い。このため、ログからはトラブルの原因を特定できない可能性がある。
【0008】
1つの側面では、本発明は、通信遅延があったときに生じたトラブルの発生原因を特定しやすくすることが可能な中継システム、情報記録方法及び情報記録プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
一つの態様では、中継システムは、端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間を中継する中継システムであって、前記端末と前記処理装置とが接続されている間、前記端末に表示される操作画面を録画して第1の録画データを蓄積する録画装置と、前記端末から前記処理装置へのリクエストを受信した場合に、前記処理装置に前記リクエストを送信するとともに、前記リクエストに対応するレスポンスを前記処理装置から受信した場合に、前記端末に前記レスポンスを送信する送受信装置と、を備え、前記録画装置は、前記送受信装置がリクエストを送信した時刻と、当該リクエストに対応するレスポンスを受信した時刻との間の時間差が基準値を超えた場合に、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成し、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する。
【発明の効果】
【0010】
通信遅延があったときに生じたトラブルの発生原因を特定しやすくすることができる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態に係る業務システムの構成を概略的に示す図である。
【
図2】webポータルのハードウェア構成の一例を示す図である。
【
図5】
図5(a)は、操作情報テーブルの一例を示す図であり、
図5(b)は、画面情報テーブルの一例を示す図である。
【
図6】
図6は、ユーザ端末の処理を示すフローチャートである。
【
図7】
図6のステップS12の処理が実行された後のwebポータル(画面提供部)、サーバ、録画サーバの処理を示すフローチャートである。
【
図8】リモート接続後にユーザがキーボードやマウスを操作し、ユーザ端末からwebポータルに操作情報が送信されたときの画面提供部、遅延監視部、サーバの処理を示すフローチャートである。
【
図9】操作情報テーブルに操作情報データを登録した状態を示す図である。
【
図10】
図8の遅延監視部の処理に続く処理を示すフローチャートである。
【
図11】
図11(a)は、画面情報テーブルに画面情報データを登録した状態を示す図であり、
図11(b)は、操作情報テーブルのレスポンスIDに
図11(a)のIDを登録した状態を示す図である。
【
図12】動画抽出部及び録画サーバの処理を示すフローチャートである。
【
図14】
図14(a)、
図14(b)は、遅延によるトラブルについて説明するための図である。
【発明を実施するための形態】
【0012】
以下、業務システムの一実施形態について、
図1~
図14に基づいて詳細に説明する。
【0013】
図1には、一実施形態に係る業務システム100の構成が概略的に示されている。業務システム100は、ユーザが自宅や会社、サテライトオフィス等で利用する端末としてのユーザ端末10と、ユーザ端末10のリモート接続先である処理装置としてのサーバ70と、中継システム50と、を備える。中継システム50は、インターネットを介してユーザ端末10とサーバ70との間の仲介を行う送受信装置としてのwebポータル20と、webポータル20と協働して処理を行う録画装置としての録画サーバ60と、を備える。
【0014】
ユーザ端末10は、PC(Personal Computer)等の情報処理装置であり、ユーザの操作に応じて各種処理を実行する。また、サーバ70は、ユーザ端末10からのリクエストに応じた処理を実行する情報処理装置である。
【0015】
ユーザが、ユーザ端末10に対してサーバ70とのリモート接続をリクエストすると、webポータル20は、ユーザ端末10とサーバ70との間をリモート接続する。このようにリモート接続された状態では、ユーザ端末10の表示部上には、サーバ70が作成した画面が表示され、当該画面上での操作を行うと、webポータル20は、その操作に応じた操作情報(操作リクエスト)をサーバ70へ送信する。また、操作リクエストを受信したサーバ70は、操作リクエストに応じた処理を実行し、更新された画面の情報を画面レスポンスとしてweb20に送信する。そして、webポータル20は、画面レスポンスをユーザ端末10に送信し、ユーザ端末10の表示部上に更新された画面を表示する(画面更新を行う)。
【0016】
webポータル20は、ユーザ端末10とサーバ70との間を中継する機能を有し、1又は複数の情報処理装置を含んでいる。なお、本実施形態では、説明の簡素化のため、webポータル20が1つの情報処理装置により実現されている場合について説明する。
【0017】
図2には、webポータル20のハードウェア構成の一例が示されている。
図2に示すように、webポータル20は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではSSD(Solid State Drive)やHDD(Hard Disk Drive))96、ネットワークインタフェース97、及び可搬型記憶媒体用ドライブ99等を備えている。これらwebポータル20の構成各部は、バス98に接続されている。webポータル20では、ROM92あるいは記憶部96に格納されているプログラム(情報記録プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラムをCPU90が実行することにより、
図3に示す各部の機能が実現される。なお、
図3の各部の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0018】
図3に示すように、webポータル20は、画面提供部22、遅延監視部24、動画抽出部26、の機能を有している。
【0019】
画面提供部22は、ユーザ端末10からの操作リクエストをサーバ70に送信したり、サーバ70からの画面レスポンスがあったときにユーザ端末10に送信する。
【0020】
遅延監視部24は、操作リクエストを送信してから、画面レスポンスを受信するまでの間の時間差をモニタリングし、時間差が予め定めた閾値を超えている場合に遅延が発生していると判定する。また、遅延監視部24は、判定結果に応じて、動画抽出部26に遅延が発生している期間(遅延期間)における画面の録画を動画抽出部26に依頼する。
【0021】
なお、遅延監視部24は、操作リクエストに係る操作が、予め定められている「特徴的な操作」である場合に、時間差をモニタリングすることとしている。特徴的な操作は、通信遅延が発生しているか否かの判断に利用可能な操作であり、例えば、画面の更新が必要となる操作(当該操作により画面が更新される操作)である。
図4には、遅延監視部24が参照する特徴的操作テーブルの一例が示されている。
図4の特徴的操作テーブルには、特徴的な操作の種類と、各操作に対応する閾値と、が紐づけられている。特徴的な操作には、
図4に示すように、「キーボード上の文字キー」を押す操作や、「キーボード上のエンターキー」を押す操作や、「CtrlやShift等の修飾キー」を押す操作、マウスの「右クリック」操作や「左クリック」操作が含まれる。閾値は、リモート接続時に人間が遅延を許容できる上限(例えば250ms)や、遅延監視部24の割り込み処理の速度等を考慮して、500msを基準として、各操作それぞれに対し設定されている。例えば、「キーボード上の文字キー」を押す操作や、「右クリック」、「左クリック」の場合、サーバ70で動作するアプリ側の処理は入力内容を反映する処理のみであることがほとんどであるため、閾値が短く設定されている。一方、「キーボード上のエンターキー」を押す操作の場合、入力と共にサーバ70のアプリに処理を求めることが多いため、閾値が長めに設定されている。また、「CtrlやShift等の修飾キー」を押す操作の場合、修飾キー単体を押しただけでは特に作用せず、他のキーとの組み合わせによってサーバ70に処理を求めることが多いため、閾値が長めに設定されている。なお、サーバ70において起動されているアプリによって、特徴的な操作に応じた処理が異なることもあるため、
図4の特徴的操作テーブルをアプリごとに用意しておいてもよい。例えば、ダイアログ上で「左クリック」を行った場合には、サーバ70のアプリにおいて比較的負荷の高い処理が実行されることがあるため、この場合には、閾値を長め(2000msなど)に設定しておくものとする。
【0022】
なお、リモート接続時に人間が遅延を許容できる上限(例えば250ms)の詳細については、‘Pedro Casas, Michael Seufert, Sebastian Egger, and Raimund Schatz, “Quality of Experience in Remote Virtual Desktop Services”, https://ieeexplore.ieee.org/document/6573191, (2021-12-21)’に記載されている。
【0023】
また、遅延監視部24は、時間差をモニタリングする際に、
図5(a)に示す操作情報テーブルと、
図5(b)に示す画面情報テーブルを適宜生成する。
【0024】
具体的には、遅延監視部24は、ユーザ端末10において特徴的な操作が行われたことを契機として、
図5(a)の操作情報テーブルを生成する。ここで、
図5(a)の操作情報テーブルには、「ID」、「接続ID」、「送信時刻」、「操作者」、「接続先サーバ情報」、「レスポンスID」、「操作内容」の各情報が格納される。「ID」は、操作情報を識別するための識別情報である。「接続ID」は、操作情報が生成されたリモート接続の識別情報である。「送信時刻」は、操作が記録された時刻であり、「操作者」は、操作を行ったユーザのユーザ名であり、「接続先サーバ情報」は、ユーザがリモート接続中のサーバのサーバ名である。「レスポンスID」は、この操作に対応して生成された画面に対応する画面情報テーブルのIDである。なお、ユーザによる特徴的な操作があった段階では、「レスポンスID」の欄は空であるが、特徴的な操作に対応する画面レスポンスがサーバ70から送信されてきた段階で、「レスポンスID」の欄にデータが入力される。「操作内容」は、ユーザによってキーボードやマウスがどのように操作されたかを示す情報である。例えば、リモート接続の場合には、操作内容をX11 KeySym準拠で識別したカンマ区切りのテキスト形式で記録する。例えば、‘ff52’で識別されるキーを押した場合には、‘key,ff52,1’と記録される。また、例えば、画面上の座標(865,312)において左クリックした(‘fd11’で識別されるボタンを押した)場合には、‘mouse,865,312,fd11,1’と記録される。
【0025】
また、遅延監視部24は、リモート接続先のサーバ70から更新された画面の情報(画面更新情報)のレスポンスを受信したことを契機として、
図5(b)の画面情報テーブルを生成する。ここで、
図5(b)の画面情報テーブルには、「ID」、「受信時刻」、「画面更新内容」の各情報が格納される。「ID」は、画面更新情報を識別するための識別情報である。「受信時刻」は、画面更新情報を受信した時刻である。「画面更新内容」は、更新された画面情報であり、カンマ区切りのテキストファイル形式で表現される。更新された画面情報は、画面中において更新のあった箇所を差し替える情報であり、更新のない箇所については、前の画面情報を複製するものとしている。例えば、起動時のレイヤーサイズを定義する場合、‘4,size,1.0.4,1024,768’のように記録され、画像タイプやレイヤー設定を紐づける場合、‘3,img,1.3.2,12,<meta>,image/png:’のように記録される。また、更新のない箇所を複製する場合には、‘4,copy,2.-2,1.0.1.0.2,’のように記録され、更新のあった箇所を差し替える場合には、‘4,arc,1.3.2,12,<meta>’のように記録される。なお、実際には、‘4,size,1.0.4,1024,768’や‘3,img,1.3.2,12,<meta>,image/png:’などの記載が改行無しで連結されたテキストファイルとして記録される。
【0026】
図3に戻り、動画抽出部26は、遅延監視部24からの依頼に応じて、録画サーバ60に対して遅延期間における画面録画の指示を出す。
【0027】
録画サーバ60は、ユーザ端末10とサーバ70とのリモート接続が行われている間、ユーザ端末10の表示部上に表示される画面を録画して、通常録画データ(第1の録画データ)を生成する。また、録画サーバ60は、動画抽出部26からの指示に応じて、通常録画データの録画と並行して、遅延期間においてユーザ端末10に表示される画面を録画して、遅延期間録画データ(第2の録画データ)を生成する。
【0028】
(各装置の処理について)
以下、各装置の処理について詳細に説明する。
【0029】
(ユーザ端末10の処理について)
まず、ユーザ端末10の処理について説明する。
図6には、ユーザ端末10の処理がフローチャートにて示されている。
【0030】
図6の処理が開始されると、まず、ステップS10において、ユーザ端末10は、ユーザによってリモート接続のリクエストが入力されるまで待機する。ユーザがサーバ70のいずれかを指定してリモート接続のリクエストを入力すると、ステップS12に移行し、ユーザ端末10は、webポータル20に対し、リモート接続をリクエストする。
【0031】
次いで、ステップS14では、ユーザ端末10は、webポータル20から画面変更情報を受信するまで待機する。なお、画面変更情報には、リモート接続後にサーバ70から送信されてくる画面の情報や、サーバ70から送信されてきた画面において操作を行った結果、サーバ70において更新された画面の情報が含まれる。webポータル20から画面変更情報を受信すると、ステップS16に移行する。
【0032】
ステップS16に移行すると、ユーザ端末10は、受信した画面変更情報に基づいて画面を更新する。
【0033】
次いで、ステップS18では、ユーザ端末10は、ユーザによるキーボードやマウスの操作があるまで待機する。ユーザがキーボードやマウスを操作すると、ステップS20に移行し、ユーザ端末10は、操作情報をwebポータル20に送信する。
【0034】
次いで、ステップS22では、ユーザ端末10が、リモート接続終了のリクエストが入力されたか否かを判断する。すなわち、ユーザ端末10は、ステップS18の操作がリモート接続終了のリクエストを入力する操作であったか否かを判断する。このステップS22の判断が否定された場合には、ステップS14に戻り、上述したステップS14以降の処理を繰り返し実行する。一方、ステップS22の判断が肯定された場合には、
図6の全処理を終了する。
【0035】
(リモート接続のリクエストがあった場合の処理)
次に、
図6のステップS12の処理が実行された後のwebポータル20(画面提供部22)、サーバ70、録画サーバ60の処理について、
図7のフローチャートに沿って説明する。
【0036】
図7の処理においては、webポータル20の画面提供部22が、ユーザ端末10からリモート接続開始のリクエストを受信するまで待機している(ステップS102)。ユーザ端末10からリクエストが送信されてくると、画面提供部22は、ステップS104に移行し、リモート接続開始のリクエストを作成し、ステップS106において、作成したリクエストを接続先のサーバ70及び録画サーバ60に送信する。
【0037】
一方、サーバ70及び録画サーバ60では、リクエストを受信するまで待機している(ステップS502、S602)。したがって、画面提供部22がステップS106を実行した段階で、サーバ70はステップS504に移行し、録画サーバ60は、ステップS604に移行する。
【0038】
録画サーバ60は、ステップS604において、ユーザ端末10の表示部に表示される画面の録画、すなわち通常録画データの記録、を開始する。一方、サーバ70は、画面変更情報(例えばリモート接続後の初期画面の情報)を生成し、画面提供部22に送信する。
【0039】
画面提供部22の説明に戻り、画面提供部22は、ステップS106の後、ステップS108において画面変更情報を受信するまで待機している。したがって、画面提供部22は、サーバ70がステップS504を実行した段階で、ステップS110に移行する。
【0040】
ステップS110に移行すると、画面提供部22は、サーバ70から受信した画面変更情報をユーザ端末10に送信する。なお、ユーザ端末10では、前述したように画面変更情報を受信すると(S14:肯定)、受信した画面変更情報で画面を更新する(S16)。
【0041】
(ユーザが操作を行った場合の処理)
次に、リモート接続後にユーザがキーボードやマウスを操作したとき(webポータル20に操作情報が送信されたとき)のwebポータル20及びサーバ70の処理について、
図8、
図10のフローチャートに沿って説明する。
【0042】
図8の処理においては、webポータル20の画面提供部22と遅延監視部24は、ユーザ端末10から操作情報を受信するまで待機している(ステップS120、S202)。したがって、ユーザ端末10から操作情報が送信されてくると、画面提供部22は、ステップS122に移行し、操作リクエストを作成する。また、画面提供部22は、ステップS124において、作成した操作リクエストを接続先のサーバ70に送信する。
【0043】
また、遅延監視部24は、ユーザ端末10から操作情報が送信されてくると、ステップS204に移行し、ユーザの操作が特徴的な操作であるか否かを判断する。このとき、遅延監視部24は、
図4の特徴的操作テーブルを参照して、受信した操作情報に係る操作が特徴的操作テーブルに記載されている操作と一致するかを判断する。このステップS204の判断が否定された場合には、遅延監視部24は、
図8の処理を終了するが、ステップS204の判断が肯定された場合には、ステップS206に移行する。
【0044】
ステップS206に移行すると、遅延監視部24は、操作情報テーブル(
図5(a)参照)を作成し、ステップS208において、操作情報テーブルに操作情報データを登録する。例えば、
図9に示すように、操作情報テーブルにデータが登録される。なお、
図9の操作情報テーブルには、2022年2月2日14時6分16秒409に、ユーザ「user-001」がサーバ「WorkServer-001」から提供されている画面の座標(865,312)においてマウスを左クリックしたという操作情報が登録されている。なお、この段階では、操作情報テーブルの「レスポンスID」の欄は空である。遅延監視部24は、ステップS208の後は、
図10の処理に移行する。
【0045】
一方、サーバ70では、操作リクエストを受信するまで待機している(ステップS510)。したがって、画面提供部22がステップS124を実行した段階で、サーバ70は、ステップS512に移行し、操作リクエストに従って処理を実行する。また、サーバ70は、次のステップS514において、ステップS512の処理の結果生成された画面変更情報をwebポータル20に送信する。サーバ70は、ステップS514の後は、
図8の処理を終了する。
【0046】
これに対し、画面提供部22では、ステップS124の後、ステップS126において画面変更情報を受信するまで待機している。したがって、サーバ70においてステップS514の処理が実行されると、画面提供部22は、ステップS128に移行し、受信した画面変更情報をユーザ端末10に送信する。これにより、ユーザ端末10の表示部には、ユーザの操作に応じて更新された画面が表示されるようになっている(
図6のステップS16)。
【0047】
遅延監視部24は、
図8の処理の後、
図10のステップS210において、画面変更情報を受信するまで待機している。したがって、サーバ70においてステップS514の処理が実行されると、遅延監視部24は、ステップS212に移行する。
【0048】
ステップS212に移行すると、遅延監視部24は、画面変更情報から画面情報データを作成する。次いで、ステップS214では、遅延監視部24が、画面情報データを画面情報テーブル(
図5(b))に登録する。これにより、画面情報テーブルは、
図11(a)に示すようになる。なお、
図11(a)は、2022年2月2日14時6分19秒343に受信した画面変更情報から得られた画面情報データの画面情報テーブルである。
【0049】
次いで、ステップS216では、遅延監視部24が、操作情報テーブルのレスポンスIDを更新する。このとき、レスポンスIDが空の操作情報テーブルが複数存在している場合もある。この場合、遅延監視部24は、それらの操作情報テーブルのうち、送信時刻が最も古い操作情報テーブルのレスポンスIDの欄に、ステップS214において画面情報テーブルに登録したレスポンスIDを格納する。例えば、
図9の操作情報テーブルに、
図11(a)のレスポンスIDを登録すると、
図11(b)のようになる。
【0050】
次いで、ステップS218では、遅延監視部24は、タイムスタンプの時間差を算出する。具体的には、遅延監視部24は、画面情報テーブル(
図11(a))の受信時刻と、当該画面情報テーブルに対応する(レスポンスIDが一致している)操作情報テーブル(
図11(b))の送信時刻との時間差を算出する。
図11(a)、
図11(b)の例では、時間差は2934msと算出される。
【0051】
次いで、ステップS220に移行すると、遅延監視部24は、時間差が閾値を超えているか否かを判断する。この場合、遅延監視部24は、
図4の特徴的操作テーブルを参照して、算出した時間差が閾値(本例では、左クリックに対応する閾値(500ms))を超えているか否かを判断する。
【0052】
このステップS220の判断が否定された場合には、遅延監視部24は、ステップS230に移行する。ステップS230に移行すると、遅延監視部24は、遅延フラグがONであるか否かを判断する。なお、遅延フラグとは、現時点においてwebポータル20とサーバ70との間で処理遅延が生じているかを示すフラグであり、ONの場合には遅延が生じていることを意味する。なお、初期段階では遅延フラグはOFFである。遅延フラグがOFFであり、ステップS232の判断が否定されると、
図10の全処理が終了する。
【0053】
一方、ステップS220の判断が肯定された場合には、遅延監視部24は、ステップS222に移行する。ステップS222に移行すると、遅延監視部24は、遅延フラグがONであるか否かを判断する。ここでの判断が否定された場合、すなわち、これまで処理が遅延していなかったにもかかわらず、今回処理が遅延していると判断された場合には、ステップS224に移行する。
【0054】
ステップS224に移行すると、遅延監視部24は、遅延期間の動画抽出のリクエストを作成する。また、遅延監視部24は、ステップS226において、作成した動画抽出のリクエストを動画抽出部26に送信する。更に、遅延監視部24は、ステップS228において、遅延フラグをOFFからONに変更する。ステップS228の処理が行われた後は、
図10の処理を終了する。
【0055】
一方、時間差が閾値を超えており(S220:肯定)、かつ、遅延フラグがONであった場合は、遅延が継続していることを意味する。この場合、ステップS222の判断が肯定されるため、遅延監視部24は、それ以上処理を行わずに
図10の処理を終了する。
【0056】
これに対し、時間差が閾値を超えておらず(S220:否定)、かつ、遅延フラグがONであった場合には、これまで継続していた遅延が解消したことを意味する。この場合、ステップS230の判断が肯定されるので、遅延監視部24は、ステップS232に移行する。
【0057】
ステップS232に移行すると、遅延監視部24は、遅延期間の録画終了のリクエストを作成する。また、遅延監視部24は、ステップS234において、作成した遅延期間の録画終了のリクエストを動画抽出部26に送信する。更に、遅延監視部24は、ステップS236において、遅延フラグをONからOFFに変更する。ステップS236の処理が行われた後は、
図10の処理を終了する。
【0058】
(動画抽出部26及び録画サーバ60の処理)
次に、動画抽出部26及び録画サーバ60の処理について、
図12のフローチャートに沿って説明する。
【0059】
図12の処理が開始されると、動画抽出部26は、まずステップS302において、遅延期間の動画抽出のリクエストを受信するまで待機する。すなわち、遅延監視部24が、
図10のステップS226の処理を実行した段階で、動画抽出部26は、ステップS304に移行する。
【0060】
ステップS304に移行すると、動画抽出部26は、操作情報テーブル(
図11(b))の送信時刻(タイムスタンプ)の所定時間前(例えば3分前)の時刻を算出する。なお、本実施形態では、ここで算出された時刻を、遅延期間の始期としている。なお、所定時間は、遅延を監視するのに十分な時間であればよく、3分以外の時間であってもよい。
【0061】
次いで、動画抽出部26は、ステップS306において、遅延期間の録画データの複製リクエストと録画開始リクエストを作成する。また、動画抽出部26は、ステップS308において、作成した複製リクエストと録画リクエストを録画サーバ60に送信する。
【0062】
録画サーバ60では、ステップS610において、複製リクエスト、録画開始リクエストを受信するまで待機している。したがって、動画抽出部26においてステップS308が実行された段階で、録画サーバ60は、ステップS612に移行する。
【0063】
ステップS612に移行すると、録画サーバ60は、通常録画データから遅延期間の録画データを複製する。すなわち、
図13(a)において両矢印で示す、遅延期間の始期から現在までの録画データを通常録画データから複製する。
【0064】
次いで、ステップS614では、録画サーバ60は、通常録画と並行して、遅延期間の録画を開始する。すなわち、複製した録画データ(第2の録画データ)に、新たに録画した録画データを追加していく。
【0065】
一方、動画抽出部26では、ステップS308の後に、ステップS310において、遅延期間の録画終了のリクエストを受信するまで待機している。したがって、遅延監視部24が
図10のステップS234を実行した段階で、動画抽出部26は、ステップS312に移行する。
【0066】
動画抽出部26は、ステップS312に移行すると、録画終了のリクエストを作成する。また、動画抽出部26は、ステップS314において、録画終了のリクエストを録画サーバ60に送信する。ステップS314が行われた後は、動画抽出部26は、
図12の処理を終了する。
【0067】
これに対し、録画サーバ60では、ステップS614の後に、ステップS616において、録画終了のリクエストを受信するまで待機している。したがって、動画抽出部26がステップS314を実行した段階で、録画サーバ60は、ステップS618に移行する。ステップS618に移行すると、録画サーバ60は、遅延期間の録画を終了し、保存する。この処理の結果、録画サーバ60では、
図13(b)において破線矢印で示すように、遅延期間の始期から遅延解消を検知するまでの間の画面の録画データを保存することが可能となっている。
【0068】
ステップS618の処理が行われた後は、録画サーバ60は、
図12の処理を終了する。
【0069】
なお、
図6において、ユーザ端末10に対し、ユーザからリモート接続終了のリクエストが入力された場合(S22:肯定)には、当該リモート接続終了のリクエストがwebポータル20に送信される。webポータル20は、当該リクエストを受信すると、ユーザ端末10とサーバ70のリモート接続を終了するとともに、録画サーバ60に対して通常録画の終了を指示する。
【0070】
ここで、ユーザ端末10がサーバ70にリモート接続している場合に遅延が生じると、ユーザからの操作(入力)の受け付けや、画面の更新が停止してしまう。こうした場合、ユーザは、自身の操作の誤り(クリックミス等)によって画面が更新されないのか、遅延のために画面が更新されないのかを即座に判断することができない。このような場合、ユーザは、更新されない画面に対して同じ操作を繰り返してしまうことがある。
【0071】
このようにユーザが同じ操作を繰り返してしまうと、遅延解消後には、ユーザ端末10は、それまでに入力された操作を一度にサーバ70に送信してしまう。例えば、
図14(a)に示す画面が表示された状態で遅延が発生し、ユーザが左クリックを複数回繰り返してしまったとする。そして、その後に遅延が解消して、
図14(b)の画面が表示されたとする。この場合、
図14(b)のSkipボタンをクリックしたという操作情報がユーザ端末10からサーバ70に送信されることとなり、ユーザが意図していた処理が行われずトラブルが発生する可能性がある。本実施形態では、このような処理遅延が発生した期間(遅延期間)の画面を録画しておくことができるため、遅延期間の録画データを参照することで、トラブルの原因を簡易に特定することができる。また、クリック操作に関わらず、文字列の入力やチェックボックスの指定などでも、遅延に起因して同様のトラブルが発生する可能性があるため、遅延期間の録画データを録画しておくことにより、トラブルの原因を簡易に特定することが可能となる。
【0072】
以上、詳細に説明したように、本実施形態によると、業務システム100は、ユーザ端末10とサーバ70とがリモート接続されている間、ユーザ端末10に表示される画面を録画する録画サーバ60を備えている。また、業務システム100は、ユーザ端末10とサーバ70のリモート接続を中継するwebポータル20と、を備えている。そして、録画サーバ60は、リクエスト(操作情報)の送信時刻とレスポンス(画面変更情報)の受信時刻との時間差が閾値を超えた場合に、遅延期間の録画データを蓄積する。遅延期間の録画データには、リクエスト(操作情報)の送信時刻の所定時間(例えば3分)前以降に録画されたデータと、当該データに引き続き、遅延が解消するまで録画されたデータが含まれる。このように、遅延期間の録画データを録画しておくことにより、サーバ70とwebポータル20との間の通信遅延に起因するトラブルが発生した場合に、管理者は遅延期間の録画データを参照することができる。これにより、簡易にトラブルの原因を特定することができる。また、本実施形態では、遅延を検知するより前の録画データが遅延期間の録画データに含まれるようにしているので、当該録画データを確認することで、遅延が発生したことを検知する前に遡ってトラブルの原因を究明することができる。
【0073】
また、本実施形態では、ユーザの操作が
図4に示す特徴的な操作である場合に、操作情報テーブル(
図9)を作成する。これにより、通信遅延が発生しているかの判断に利用可能な操作に限定して、操作情報テーブルが作成されるため、操作情報テーブルが過大に作成されるのを抑制することができる。また、ユーザの操作がある度に遅延しているか否かを判定する場合と比べ、処理量を低減することができる。
【0074】
なお、上記実施形態では、一例として、webポータル20が1つの情報処理装置から構成される場合について説明したが、前述のように複数の情報処理装置を含んでいてもよい。この場合、複数の情報処理装置のそれぞれが、
図3の画面提供部22、遅延監視部24、動画抽出部26を有していてもよい。また、
図3の画面提供部22、遅延監視部24、動画抽出部26の機能を別々の情報処理装置が有していてもよい。
【0075】
なお、上記実施形態のサーバ70は、ユーザ端末10からのリモート接続が可能なオフィスPC等の他の情報処理装置であってもよい。
【0076】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記憶媒体(ただし、搬送波は除く)に記録しておくことができる。
【0077】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記憶媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0078】
プログラムを実行するコンピュータは、例えば、可搬型記憶媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記憶媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0079】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【0080】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
(付記1) 端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間を中継する中継システムであって、
前記端末と前記処理装置とが接続されている間、前記端末に表示される操作画面を録画して第1の録画データを蓄積する録画装置と、
前記端末から前記処理装置へのリクエストを受信した場合に、前記処理装置に前記リクエストを送信するとともに、前記リクエストに対応するレスポンスを前記処理装置から受信した場合に、前記端末に前記レスポンスを送信する送受信装置と、を備え、
前記録画装置は、
前記送受信装置がリクエストを送信した時刻と、当該リクエストに対応するレスポンスを受信した時刻との間の時間差が基準値を超えた場合に、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成し、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する、ことを特徴とする中継システム。
(付記2) 前記録画装置は、予め定められた種類のリクエストを送信した時刻と、当該リクエストに対応するレスポンスを受信した時刻との間の時間差が基準値を超えた場合に、前記第2の録画データを生成する、ことを特徴とする付記1に記載の中継システム。
(付記3) 前記予め定められた種類のリクエストは、前記操作画面の遷移が生じるリクエストであることを特徴とする付記2に記載の中継システム。
(付記4) 前記基準値は、前記リクエストの内容ごとに設定されていることを特徴とする付記1~3のいずれかに記載の中継システム。
(付記5) 端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間を中継する中継システムが、
前記端末と前記処理装置とが接続されている間、前記端末に表示される操作画面を録画して第1の録画データを蓄積し、
前記端末からのリクエストを送信した時刻と、当該リクエストに対応するレスポンスを前記処理装置から受信した時刻との間の時間差が基準値を超えた場合に、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成し、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する、
処理を実行することを特徴とする情報記録方法。
(付記6) 予め定められた種類のリクエストを送信した時刻と、当該リクエストに対応するレスポンスを受信した時刻との間の時間差が基準値を超えた場合に、前記第2の録画データを生成する、ことを特徴とする付記5に記載の情報記録方法。
(付記7) 前記予め定められた種類のリクエストは、前記操作画面の遷移が生じるリクエストであることを特徴とする付記6に記載の情報記録方法。
(付記8) 前記基準値は、前記リクエストの内容ごとに設定されていることを特徴とする付記5~7のいずれかに記載の情報記録方法。
(付記9) 端末と、前記端末からのリクエストに応じた処理を実行し、レスポンスを前記端末に送信する処理装置と、の間における前記リクエストと前記レスポンスの送受信を行う送受信装置に、
前記端末と前記処理装置とが接続されている間、前記送受信装置に接続された録画装置に指示を出し、前記端末に表示される操作画面を録画して第1の録画データを蓄積し、
前記端末からのリクエストを送信した時刻と、当該リクエストに対応するレスポンスを前記処理装置から受信した時刻との間の時間差が基準値を超えた場合に、前記録画装置に指示を出し、前記第1の録画データのうち前記リクエストを送信した時刻の所定時間前以降に録画された録画データを複製して第2の録画データを生成するとともに、前記時間差が前記基準値を超えている間に前記操作画面を録画することにより得られる録画データを前記第2の録画データに追加する、
処理を実行させることを特徴とする情報記録プログラム。
【符号の説明】
【0081】
10 ユーザ端末(端末)
20 webポータル(送受信装置)
50 中継システム
60 録画サーバ(録画装置)
70 サーバ(処理装置)