(58)【調査した分野】(Int.Cl.,DB名)
前記画面データ取得部は、端末装置別に、前記プロセス識別子を用いて前記共有画面を識別する画面識別子を取得し、取得した画面識別子を用いて前記共有画面の画面データを取得する
請求項1に記載の共有画面管理装置。
前記端末情報取得部は、端末装置別に、通信アドレスが設定されるヘッダを含んだパケットの送信を命令する送信命令をケーブルを介して端末装置に出力し、端末装置から送信されるパケットを前記ネットワークを介して受信し、受信したパケットに含まれるヘッダから通信アドレスを取得する
請求項9に記載の共有画面管理装置。
【発明を実施するための形態】
【0012】
実施の形態1.
端末装置110に表示された画面を複製した画面である共有画面を端末装置別に管理する形態について、
図1から
図8に基づいて説明する。
【0013】
***構成の説明***
図1に基づいて、試験システム100の構成について説明する。
試験システム100は、種類が異なる複数の端末装置110からアクセスされる試験対象システム120を試験するシステムである。
試験システム100は、共有画面管理装置200と、複数の端末装置110と、試験対象システム120とを備える。
それぞれの端末装置110はネットワーク102に接続し、試験対象システム120と共有画面管理装置200とネットワーク102を介して通信する。
端末装置110と試験対象システム120との通信において、ネットワーク102は、試験対象システム120に対する情報処理の処理要求、および、その情報処理の処理結果の通信に利用される。
端末装置110と共有画面管理装置200との通信において、ネットワーク102は、端末画面の画面データの通信に利用される。端末画面は、端末装置110に表示される画面である。
【0014】
それぞれの端末装置110は、ケーブル101を介して、共有画面管理装置200の接続インタフェース201に接続されている。接続インタフェース201はUSBポートである。USBはユニバーサルシリアスバスの略称である。
【0015】
試験対象システム120は、それぞれの端末装置110から処理要求を受け付けて、処理要求に応じて情報処理を行い、処理結果を端末装置110に応答する。開発中のウェブサーバは試験対象システム120の一例である。
【0016】
複数の端末装置110は、OSおよびメーカなどの種類がそれぞれに異なる。OSはオペレーティングシステムの一例である。スマートフォンおよびタブレットは端末装置110の一例である。
それぞれの端末装置110は、共有画面管理装置200からケーブル101を介して出力される操作命令を受け付けて、受け付けた操作命令に従って動作し、動作した結果に応じて端末画面を変化させる。試験対象システム120に情報処理を要求する端末操作の操作命令を受け付けた場合、端末装置110は、ネットワーク102を介して処理要求を試験対象システム120に送信し、ネットワーク102を介して処理結果を試験対象システム120から受信する。そして、端末装置110は処理結果に応じて端末画面を変化させる。
それぞれの端末装置110は、端末画面を表す画面データをネットワーク102を介して共有画面管理装置200に送信する。共有画面管理装置200に送信された画面データは端末画面の複製である共有画面を生成するために用いられ、共有画面は共有画面管理装置200の表示装置に表示される。
【0017】
共有画面管理装置200は、端末装置110別に、操作命令をケーブル101を介して端末装置110に出力する。また、共有画面管理装置200は、端末装置110別に、端末画面の画面データをネットワーク102を介して端末装置110から受信し、受信した画面データを用いて共有画面を表示装置に表示する。そして、共有画面管理装置200は、端末装置110別に、共有画面の画面データを管理する。
共有画面管理装置200は、複数の端末装置110を制御することによって試験対象システム120に対する試験を行う試験制御装置として使用される。
【0018】
図2に基づいて、共有画面管理装置200の機能構成について説明する。
共有画面管理装置200は、テーブル管理部211と、通信アドレス取得部212と、画面転送起動部221と、画面転送実行部222とを備える。
共有画面管理装置200は、試験制御部231と、操作命令部232と、画面データ取得部233と、画面データ管理部234とを備える。
共有画面管理装置200は、管理記憶部270と、プログラム記憶部280と、画面データ記憶部290とを備える。
【0019】
テーブル管理部211は対応管理テーブル272を管理する。
対応管理テーブル272は、端末識別子に、通信アドレスと、ディレクトリ識別子と、画面識別子と、を対応付ける。
端末識別子は端末装置110を識別する。端末識別子はUSBアドレスである。USBアドレスはOSによって管理される。USBアドレスはUSB識別番号ともいう。
通信アドレスはネットワーク102を利用する通信に用いられる。通信アドレスはIPアドレスである。IPはインターネットプロトコルの略称である。
ディレクトリ識別子は、共有画面の画面データが記憶されるディレクトリ291を識別する。
画面識別子は共有画面を識別する。
【0020】
対応管理テーブル272は、テーブル管理部211によって以下のように生成される。
端末識別子、通信アドレスおよびディレクトリ識別子は、端末装置110別に設定ファイル271から取得されて、対応管理テーブル272に登録される。
画面識別子は、端末装置110別に、端末識別子に対応付けて、対応管理テーブル272に登録される。
【0021】
通信アドレス取得部212は、端末装置110別に、端末識別子に対応付いた通信アドレスを端末装置110の通信アドレスとして対応管理テーブル272から取得する。
【0022】
画面転送起動部221は、端末装置110別に、画面転送プログラム281を起動する。
画面転送プログラム281が起動されることによって、画面転送プログラム281として機能する画面転送プロセスが生成される。プロセスはプログラムの起動時にOSによって生成される。
画面転送プログラム281は、端末装置110に表示される端末画面の複製を共有画面として表示装置に表示するためのプログラムである。
【0023】
画面転送実行部222は、端末装置110別に、画面転送プロセスを実行することによって、共有画面を表示装置に以下のように表示する。
画面転送実行部222は、端末装置110別に、端末装置110の通信アドレスを用いて端末装置110と通信することによって、端末画面の画面データをネットワーク102を介して受信する。そして、画面転送実行部222は、受信した画面データを用いて共有画面を表示装置に表示する。
【0024】
試験制御部231は、試験手順ファイル273から試験動作を順番に選択する。
試験手順ファイル273は、端末装置110の操作を意味する端末操作と共有画面の保存を意味する画面保存とのそれぞれを試験動作として含んだ試験手順を示す。
【0025】
操作命令部232は、端末装置110別に、端末装置110を操作する操作命令をケーブル101を介して端末装置110に出力する。
試験制御部231によって選択された試験動作が端末操作である場合に、操作命令部232は、端末操作を命令する操作命令を端末装置110に送信する。
【0026】
画面データ取得部233は、端末装置110別に、画面転送プロセスを識別するプロセス識別子を用いて、表示装置に表示された共有画面の画面データ292を以下のように取得する。
画面データ取得部233は、端末装置110別に、プロセス識別子を用いて共有画面を識別する画面識別子を取得する。そして、画面データ取得部233は、取得した画面識別子を用いて、共有画面の画面データ292を取得する。
【0027】
試験制御部231によって選択された試験動作が画面保存である場合に、画面データ取得部233は共有画面の画面データ292を取得する。
【0028】
画面データ管理部234は、端末装置110別に、端末識別子に対応付いたディレクトリ識別子を対応管理テーブル272から取得し、取得したディレクトリ識別子で識別されるディレクトリ291に共有画面の画面データ292を保存する。
画面データ管理部234によって保存される画面データ292は、操作命令が端末装置110に送信された後に表示装置に表示された共有画面の画面データである。
【0029】
試験制御部231によって選択された試験動作が画面保存である場合に、画面データ管理部234は共有画面の画面データ292を保存する。
【0030】
管理記憶部270は、設定ファイル271と対応管理テーブル272と試験手順ファイル273とを記憶する。
プログラム記憶部280は、端末装置110別の画面転送プログラム281を記憶する。画面転送プログラム281の一例は、TigerVNCおよびRealIVNCである。
画面データ記憶部290は端末装置110別にディレクトリ291を備える。
【0031】
図3に基づいて、設定ファイル271の構成について説明する。
設定ファイル271は、端末装置110別の設定情報271Sを含んでいる。
それぞれの設定情報271Sは、端末識別子と通信アドレスとディレクトリ識別子とを含んでいる。
【0032】
図4に基づいて、対応管理テーブル272の構成について説明する。
対応管理テーブル272は、端末識別子に対応付けて、通信アドレスと、ディレクトリ識別子と、画面識別子とを対応付けている。
【0033】
図5に基づいて、試験手順ファイル273の構成について説明する。
試験手順ファイル273は試験手順を示している。
試験手順は、端末操作と画面保存とを試験動作として含んでいる。
1、3、5、6番目の試験動作は端末操作の内容を示している。
【0034】
図6に基づいて、共有画面管理装置200のハードウェア構成例について説明する。
共有画面管理装置200は、プロセッサ901、補助記憶装置902、メモリ903、通信装置904、入力インタフェース905、出力インタフェース906、接続インタフェース201といったハードウェアを備えるコンピュータである。
プロセッサ901は信号線910を介して他のハードウェアと接続されている。入力インタフェース905はケーブル911を介して入力装置907に接続されている。出力インタフェース906はケーブル912を介して出力装置908に接続されている。
【0035】
プロセッサ901は、プロセッシングを行うICであり、他のハードウェアを制御する。プロセッサ901の一例は、CPU、DSP、GPUである。ICはIntegrated Circuitの略称である。CPUはCentral Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、GPUはGraphics Processing Unitの略称である。
補助記憶装置902はデータを記憶する。補助記憶装置902の一例は、ROM、フラッシュメモリ、HDDである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
メモリ903はデータを記憶する。メモリ903の一例はRAMである。RAMはRandom Access Memoryの略称である。
通信装置904は、データを受信するレシーバ9041と、データを送信するトランスミッタ9042とを備える。通信装置904の一例は、通信チップ、NICである。NICはNetwork Interface Cardの略称である。
入力インタフェース905はケーブル911が接続されるポートである。入力インタフェース905の一例はUSBポートである。
出力インタフェース906はケーブル912が接続されるポートである。出力インタフェース906の一例はUSBポートおよびHDMIポートである。HDMI(登録商標)はHigh Definition Multimedia Interfaceの略称である。
入力装置907はデータ、命令および要求を入力する。入力装置907の一例は、マウス、キーボード、タッチパネルである。
出力装置908はデータ、結果および応答を出力する。出力装置908の一例は、ディスプレイ、プリンタである。ディスプレイの一例はLCDである。LCDはLiquid Crystal Displayの略称である。ディスプレイは表示装置である。
【0036】
補助記憶装置902にはOSが記憶されている。
また、補助記憶装置902には、テーブル管理部211、通信アドレス取得部212、画面転送起動部221、試験制御部231、操作命令部232、画面データ取得部233、画面データ管理部234といった「部」の機能を実現するプログラムが記憶されている。
OSの少なくとも一部はメモリ903にロードされ、プロセッサ901はOSを実行しながら「部」の機能を実現するプログラムを実行する。「部」の機能を実現するプログラムは、メモリ903にロードされ、プロセッサ901に読み込まれ、プロセッサ901によって実行される。
なお、共有画面管理装置200が複数のプロセッサ901を備えて、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
【0037】
「部」の処理の結果を示すデータ、情報、信号値および変数値などは、メモリ903、補助記憶装置902、プロセッサ901内のレジスタ、または、プロセッサ901内のキャッシュメモリに記憶される。
【0038】
「部」は「サーキットリ」で実装してもよい。「部」は「回路」、「工程」、「手順」または「処理」に読み替えてもよい。
「回路」及び「サーキットリ」は、プロセッサ901、ロジックIC、GA、ASIC、FPGAといった処理回路を包含する概念である。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField−Programmable Gate Arrayの略称である。
【0039】
***動作の説明***
共有画面管理装置200の動作は共有画面管理方法に相当する。また、共有画面管理方法は共有画面管理プログラムの処理手順に相当する。
図7に基づいて、共有画面管理方法について説明する。
【0040】
S111は設定情報選択処理である。
S111において、テーブル管理部211は、設定ファイル271から未選択の設定情報271Sを1つ選択する。設定情報271Sは端末識別子と通信アドレスとディレクトリ識別子とを含んでいる。
【0041】
S112は設定情報登録処理である。
S112において、テーブル管理部211は、設定情報271Sを対応管理テーブル272に登録する。
【0042】
S113は通信アドレス取得処理である。
S113において、通信アドレス取得部212は、登録された設定情報271Sから通信アドレスを取得する。
【0043】
S121は画面転送起動処理である。
S121において、画面転送起動部221は、取得された通信アドレスを指定して、画面転送プログラム281を起動する。
画面転送プログラム281が起動されることによって、画面転送プロセスが生成される。
【0044】
S122は画面転送実行処理である。
画面転送実行部222は画面転送プロセスを実行する。
実行された画面転送プロセスは以下の処理を繰り返す。
画面転送プロセスは、指定された通信アドレスを用いてネットワーク102を介して端末装置110と通信を行い、端末装置110から端末画面の画面データを受信する。そして、画面転送プロセスは、受信した画面データを用いて共有画面を生成し、共有画面管理装置200の表示装置に共有画面を表示する。
この処理が繰り返されることによって、端末画面が変化すると共有画面も変化する。
OSがWindows(登録商標)である場合、共有画面はウィンドウである。つまり、端末画面が描画されたウィンドウが共有画面として表示される。
【0045】
S123は画面識別子取得処理である。
S123において、画面データ取得部233は、実行された画面転送プロセスのプロセス識別子をOSから取得する。
そして、画面データ取得部233は、取得したプロセス識別子を用いて、共有画面の画面識別子をOSから取得する。OSがWindows(登録商標)である場合、画面識別子はウィンドウハンドルである。
【0046】
S124は画面識別子登録処理である。
S124において、テーブル管理部211は、取得された画面識別子を設定情報271Sに対応付けて対応管理テーブル272に登録する。
【0047】
S125において、テーブル管理部211は、S111で選択していない未選択の設定情報271Sがあるか判定する。
未選択の設定情報271Sがある場合、処理はS111に戻る。
未選択の設定情報271Sがない場合、処理はS130に進む。このとき、共有画面管理装置200において、複数の端末装置110と同じ数の画面転送プロセスが実行されており、複数の端末装置110と同じ数の共有画面が表示装置に表示されている。
【0048】
S130は試験処理である。
S130において、試験対象システム120を試験するために、それぞれの端末装置110に操作命令が送信されて、端末装置110別に共有画面の画面データが保存される。
試験処理(S130)の詳細については後述する。
【0049】
S141は画面転送停止処理である。
S141において、画面転送実行部222は、全ての画面転送プロセスを停止させる。
S141の後、共有画面管理方法の処理は終了する。
【0050】
図8に基づいて、試験処理(S130)について説明する。
S131はスレッド生成処理である。
S131において、試験制御部231は、対応管理テーブル272に登録さている設定情報271S別に、試験スレッドを生成する。
つまり、設定情報271Sに含まれる端末識別子で識別される端末装置110別に、試験スレッドが生成される。
試験スレッドは試験処理用のスレッドである。試験スレッドはOSによって管理される。
【0051】
S132は試験動作選択処理である。
S132において、試験制御部231は、試験手順ファイル273から試験手順の順番に、未選択の試験動作を1つ選択する。
【0052】
S133は試験動作判定処理である。
S133において、試験制御部231は、選択した試験動作の種類が端末操作と画面保存とのいずれであるか判定する。
試験動作の種類が端末操作である場合、処理はS134に進む。
試験動作の種類が画面保存である場合、処理はS135に進む。
【0053】
S134、S135およびS136は試験スレッド毎に実行される。
【0054】
S134は操作命令処理である。
S134において、操作命令部232は、端末操作の実行を命令する操作命令を生成する。
そして、操作命令部232は、操作命令をケーブル101を介して、設定情報271Sに含まれる端末識別子で識別される端末装置110に出力する。出力された操作命令はケーブル101を介して端末装置110に入力される。
操作命令が入力された端末装置110は、操作命令に従って端末操作を実行し、端末操作の結果に応じて端末画面を変化させる。
操作命令処理(S134)は、Selenium、Appiumといったフレームワークを利用することによって実現できる。
S134の後、処理はS137に進む。
【0055】
S135は画面データ取得処理である。
S135において、画面データ取得部233は、設定情報271Sに含まれる画面識別子を用いて、画面識別子で識別される共有画面の画面データをOSから取得する。
OSがWindows(登録商標)である場合、共有画面はウィンドウであり、画面識別子はウィンドウハンドルである。この場合、GetClientRect APIを使うことによって、ウィンドウのデータを共有画面の画面データとして取得することができる。APIはアプリケーションプログラミングインタフェースの略称である。
【0056】
S136は画面データ保存処理である。
S136において、画面データ管理部234は、設定情報271Sに含まれるディレクトリ識別子で識別されるディレクトリ291に、共有画面の画面データを保存する。
【0057】
S137において、試験制御部231は、S132で選択していない未選択の試験動作があるか判定する。
未選択の試験動作がある場合、処理はS132に戻る。
未選択の試験動作がない場合、試験処理(S130)は終了する。
【0058】
***効果の説明***
端末装置110別に起動された画面転送プログラム281のプロセスのプロセス識別子を用いて端末画面に対応する共有画面の画面データ292を取得することによって、共有画面の画面データ292を端末装置110別のディレクトリに保存することができる。
【0059】
実施の形態2.
設定ファイル271を用いずに設定情報271Sを対応管理テーブル272に登録する形態について、
図9から
図11に基づいて説明する。但し、実施の形態1と重複する説明は省略する。
【0060】
***構成の説明***
試験システム100の構成は実施の形態1と同じである。
但し、共有画面管理装置200の機能構成はが実施の形態1と一部が異なる。
【0061】
図9に基づいて、共有画面管理装置200の機能構成について説明する。
共有画面管理装置200は、端末情報取得部213を備える。
【0062】
端末情報取得部213は、端末装置110別に、端末名と通信アドレスとを含んだ端末情報を端末装置110から以下のように取得する。
端末情報取得部213は、HTTPのリクエストをペイロードとして含んだパケットの送信を命令する送信命令をケーブル101を介して端末装置110に出力し、端末装置110から送信されるパケットをネットワーク102を介して受信する。HTTPはハイパーテキスト転送プロトコルの略称である。
パケットはヘッダおよびペイロードを含んでおり、ヘッダは送信元アドレスを含んでいる。端末装置110から送信されるパケットは、HTTPのリクエストをペイロードとして含んでいる。HTTPのリクエストはユーザエージェントと呼ばれる情報を含んでおり、ユーザエージェントは端末名を含んでいる。
端末情報取得部213は、受信したパケットのヘッダから送信元アドレスを端末装置110の通信アドレスとして取得する。また、端末情報取得部213は、受信したパケットに含まれるリクエストから端末名を取得する。
【0063】
テーブル管理部211は、端末装置110別に、取得された通信アドレスを端末識別子に対応付けて対応管理テーブル272に登録する。
テーブル管理部211は、端末装置110別に、端末名に基づいてディレクトリ識別子を決定し、決定したディレクトリ識別子を端末識別子に対応付けて対応管理テーブル272に登録する。
【0064】
***動作の説明***
図10に基づいて、共有画面管理方法について説明する。
S101は端末識別子取得処理である。
S101において、端末情報取得部213は、共有画面管理装置200に接続されている複数の端末装置110のそれぞれの端末識別子をOSから取得する。端末識別子はOSによって管理されている。
【0065】
S102は端末識別子選択処理である。
S102において、端末情報取得部213は、未選択の端末識別子を1つ選択する。
【0066】
S150は設定情報登録処理である。
S150において、選択された端末識別子を含んだ設定情報271Sが対応管理テーブル272に登録される。
設定情報登録処理(S150)の詳細については後述する。
【0067】
S113からS124は実施の形態1と同じである。
【0068】
S126において、端末情報取得部213は、S102で選択していない未選択の端末識別子があるか判定する。
未選択の端末識別子がある場合、処理はS102に戻る。
未選択の端末識別子がない場合、処理はS130に進む。
【0069】
S130およびS141は実施の形態1と同じである。
【0070】
図11に基づいて、設定情報登録処理(S150)について説明する。
S151は端末識別子登録処理である。
S151において、テーブル管理部211は端末識別子を対応管理テーブル272に登録する。
【0071】
S152において、端末情報取得部213は、ケーブル101を介して送信命令を端末装置110に出力する。送信命令は、HTTPリクエストを含んだパケットの送信を命令する。
そして、端末情報取得部213は、TCPまたはUDPでパケットを待ち受ける。TCPはトランスミッションコントロールプロトコルの略称であり、UDPはユーザデータグラムプロトコルの略称である。
【0072】
S153において、端末情報取得部213は、端末装置110からネットワーク102を介して送信されるパケットを受信する。
【0073】
S154において、端末情報取得部213は、受信したパケットのヘッダから送信元アドレスを端末装置110の通信アドレスとして取得する。
また、端末情報取得部213は、受信したパケットからリクエストを取得し、取得したリクエストから端末名を取得する。
【0074】
S155において、テーブル管理部211は、取得された通信アドレスを端末識別子に対応付けて対応管理テーブル272に登録する。
【0075】
S156において、テーブル管理部211は、取得された端末名を用いてディレクトリ識別子を決定する。例えば、テーブル管理部211は、端末名と同じ名称をディレクトリ識別子に決定する。
【0076】
S157において、テーブル管理部211は、決定されたディレクトリ識別子を端末識別子に対応付けて対応管理テーブル272に登録する。
S157の後、設定情報登録処理(S150)は終了する。
【0077】
***効果の説明***
端末装置110から通信によって取得される端末情報を用いて、設定情報271Sを対応管理テーブル272に登録することができる。これにより、利用者には分かりづらいUSB識別番号を端末識別子として含んだ設定情報271Sを、利用者が設定ファイル271に登録する必要がなくなる。
【0078】
各実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよい。
フローチャート等を用いて説明した処理手順は、共有画面管理装置、共有画面管理方法および共有画面管理プログラムの処理手順の一例である。