JP7732249B2 - Terminal device, information processing device, information processing system, and information processing method - Google Patents
Terminal device, information processing device, information processing system, and information processing methodInfo
- Publication number
- JP7732249B2 JP7732249B2 JP2021114207A JP2021114207A JP7732249B2 JP 7732249 B2 JP7732249 B2 JP 7732249B2 JP 2021114207 A JP2021114207 A JP 2021114207A JP 2021114207 A JP2021114207 A JP 2021114207A JP 7732249 B2 JP7732249 B2 JP 7732249B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- information processing
- parallel
- unit
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、端末装置、情報処理装置、情報処理システム、及び情報処理方法に関する。 The present invention relates to a terminal device, an information processing device, an information processing system, and an information processing method.
近年、画像形成装置などの機器を用いたスキャンやプリント、およびメール配信などの複数の機能を組み合わせた機能を提供するサービスが知られるようになった。例えば、スキャンにより生成された画像ファイルに所定の処理を行った上で、印刷やメール配信するサービスなどが知られている。このような機能を実現するアプリケーションは、複数のパラメータに対して機能テストや負荷テストを実行する必要がある。従来技術として、特許文献1には、アプリケーションの負荷テストのパラメータを自動設定する構成が開示されている。 In recent years, services that combine multiple functions, such as scanning and printing using devices like image forming devices, and email delivery, have become popular. For example, a service is known that performs predetermined processing on image files generated by scanning, before printing or emailing them. Applications that implement such functions require functional testing and load testing of multiple parameters. Patent Document 1 (JP-A-2005-102526) discloses a conventional technique for automatically setting parameters for load testing of applications.
しかしながら、従来の技術では、負荷テストによりアプリケーションの性能目標値を自動的に設定することができなかった。性能目標値は、負荷が過大にならない範囲で実現可能なアプリケーションの性能に関する情報である。 However, conventional technology was unable to automatically set application performance targets through load testing. Performance targets are information about the application's achievable performance without excessive load.
本発明の実施形態は、上記課題に鑑み、アプリケーションの性能目標値を自動的に設定することを目的とする。 In consideration of the above issues, an embodiment of the present invention aims to automatically set performance target values for applications.
上述した課題を解決するために、本発明は、端末装置からの要求に応じてアプリケーションの負荷テストを実行する情報処理装置を有する情報処理システムであって、前記負荷テストの実行画面を表示する表示制御部と、前記実行画面に対するユーザによる前記負荷テストの実行要求を受け付ける操作受付部と、前記アプリケーションに基づいて作成された負荷テスト用の処理フローの負荷を予め定めた割合で増加させる制御部と、前記負荷に関する情報及び前記処理フローの実行要求を前記情報処理装置に送信する通信部と、を有し、前記制御部は、前記負荷として、前記処理フローの並列実行可能数を予め定めた割合で増加させる、前記端末装置と、前記端末装置からの前記負荷に関する情報及び前記実行要求を受け付けて、前記負荷を与えて前記処理フローを実行する処理部と、前記負荷テストの実行結果が成功である場合の前記負荷に関する情報を性能目標値として記憶する記憶部と、を有し、前記処理部は、前記実行要求に基づいて、前記並列実行可能数の前記処理フローを並列に実行し、前記記憶部は、前記実行結果が成功である場合の最大の前記並列実行可能数を記憶し、前記記憶部は、前記処理フローが有する各処理に対応したコンポーネントのオペレーションごとに最大の並列実行可能数を記憶する、前記情報処理装置と、を有することを特徴とする。
In order to solve the above-mentioned problems, the present invention provides an information processing system having an information processing device that executes a load test of an application in response to a request from a terminal device, the information processing system including: a display control unit that displays an execution screen for the load test; an operation reception unit that receives a request for execution of the load test from a user on the execution screen; a control unit that increases the load of a process flow for a load test created based on the application at a predetermined rate; and a communication unit that transmits information regarding the load and an execution request for the process flow to the information processing device , wherein the control unit increases the number of parallel executables of the process flow at a predetermined rate as the load. The information processing device is characterized by having the terminal device, a processing unit that receives information about the load and the execution request from the terminal device, applies the load, and executes the processing flow, and a memory unit that stores information about the load when the execution result of the load test is successful as a performance target value , wherein the processing unit executes the number of processing flows that can be executed in parallel based on the execution request, and the memory unit stores the maximum number that can be executed in parallel when the execution result is successful, and the memory unit stores the maximum number that can be executed in parallel for each operation of a component corresponding to each process in the processing flow .
本発明の実施形態によれば、アプリケーションの性能目標値を自動的に設定することができる。 According to an embodiment of the present invention, performance targets for applications can be automatically set.
以下、添付図面を参照しながら、本発明に係る端末装置、情報処理装置、情報処理システム、情報処理方法の実施形態を詳細に説明する。 Embodiments of a terminal device, information processing device, information processing system, and information processing method according to the present invention will be described in detail below with reference to the accompanying drawings.
[第1の実施形態]
<システム概要>
図1は、本発明の第1の実施形態に係る情報処理システムの概略図の一例を示す図である。情報処理システム1は、機器5、端末装置3、およびサーバ2を備えており、各々の装置が通信ネットワーク4を介して通信を行うことが可能である。
[First embodiment]
<System Overview>
1 is a diagram showing an example of a schematic diagram of an information processing system according to a first embodiment of the present invention. The information processing system 1 includes a device 5, a terminal device 3, and a server 2, and each device can communicate with each other via a communication network 4.
サーバ2は、一台以上の情報処理装置で実現され、通信ネットワーク4を介して、種々の機能をそれぞれ実現する複数の処理のうちの1以上の処理を組み合わせた一連の処理により実現される各種のサービスを提供する。アプリケーションは、一連の処理を実行するために作成され、情報処理システム1に登録される。機能は、例えば、プリント、スキャン、ファクシミリ送信、メール配信、OCR(Optical Character Recognition)、ファイル処理(データ形式の変換、加工、圧縮、解凍、バーコード付与、クラウドストレージへのファイルの保存やアップロードなど)が挙げられる。ここで、「一連の処理」は、「処理フロー」や「ジョブ」のように表現することもできる。また、コンポーネントは、所定の機能を実現する処理を実行するためのプログラムやモジュール等により実現されるものであり、例えばクラスや関数等で定義される。また、コンポーネントが実行する処理をオペレーションと呼ぶ。 The server 2 is implemented by one or more information processing devices and provides various services via the communication network 4, realized by a series of processes that combine one or more processes from among multiple processes that each realize a variety of functions. Applications are created to execute a series of processes and registered in the information processing system 1. Functions include, for example, printing, scanning, faxing, email distribution, OCR (Optical Character Recognition), and file processing (data format conversion, processing, compression, decompression, barcoding, saving or uploading files to cloud storage, etc.). Here, a "series of processes" can also be expressed as a "processing flow" or "job." Furthermore, components are realized by programs or modules that execute processes that realize a specific function, and are defined, for example, by classes or functions. Furthermore, the processes executed by components are called operations.
機器5は、例えば、MFP(Multifunction Peripheral)等の画像形成装置9、PC(パーソナルコンピュータ)、プロジェクタ、電子黒板、デジタルカメラ等である。ユーザは、機器5を用いて、情報処理システム1が提供する各種アプリケーションおよびサービスを利用することができる。なお、以降では、複数の機器5について、各々を区別するときは、「機器5a」、「機器5b」等と添え字を用いて記載する。 Device 5 is, for example, an image forming device 9 such as an MFP (Multifunction Peripheral), a PC (Personal Computer), a projector, an electronic whiteboard, a digital camera, etc. A user can use device 5 to access various applications and services provided by information processing system 1. Note that hereinafter, when multiple devices 5 are to be distinguished from one another, they will be referred to using subscripts such as "device 5a" and "device 5b."
端末装置3は、例えば、ユーザが使用するデスクトップPC、ノート型PC、スマートフォン、タブレット端末等である。ユーザは、端末装置3を用いて、情報処理システム1が提供する各種のサービスを利用することができる。なお、以降では、複数の端末装置3について、各々を区別するときは、「端末装置3a」、「端末装置3a」等と添え字を用いて記載する。 The terminal device 3 is, for example, a desktop PC, notebook PC, smartphone, tablet device, etc. used by the user. The user can use the terminal device 3 to access various services provided by the information processing system 1. Note that hereafter, when multiple terminal devices 3 are to be distinguished from one another, they will be referred to using subscripts such as "terminal device 3a," "terminal device 3a," etc.
図1に示す情報処理システム1の構成は一例であって、他の構成であっても良い。本実施形態に係る情報処理システム1は、電子データの入力及び出力の少なくとも一方を行う各種機器が含まれ、これらの機器がサーバ2により提供される各種サービスを利用する。 The configuration of the information processing system 1 shown in FIG. 1 is an example, and other configurations are also possible. The information processing system 1 according to this embodiment includes various devices that input and/or output electronic data, and these devices use various services provided by the server 2.
<ハードウェア構成例(サーバ2および端末装置3)>
図2は、本発明の実施形態に係るサーバ2および端末装置3のハードウェア構成の一例を示す図である。図2に示されるように、サーバ2および端末装置3はコンピュータによって構築されており、CPU501、ROM502、RAM503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)508、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、DVD-RW(Digital Versatile Disk Rewritable)ドライブ514、メディアI/F516を備えている。
<Hardware Configuration Example (Server 2 and Terminal Device 3)>
2 is a diagram showing an example of the hardware configuration of the server 2 and the terminal device 3 according to an embodiment of the present invention. As shown in Fig. 2, the server 2 and the terminal device 3 are constructed by a computer, and include a CPU 501, a ROM 502, a RAM 503, a hard disk (HD) 504, a hard disk drive (HDD) controller 505, a display 506, an external device connection interface (I/F) 508, a network I/F 509, a bus line 510, a keyboard 511, a pointing device 512, a digital versatile disk rewritable (DVD-RW) drive 514, and a media I/F 516.
これらのうち、CPU501は、サーバ2および端末装置3全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、ネットワークN2を利用してデータ通信をするためのインターフェースである。バスライン510は、図2に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。 Of these, the CPU 501 controls the overall operation of the server 2 and terminal device 3. The ROM 502 stores programs used to drive the CPU 501, such as IPL. The RAM 503 is used as a work area for the CPU 501. The HDD 504 stores various data, such as programs. The HDD controller 505 controls the reading and writing of various data from the HDD 504 under the control of the CPU 501. The display 506 displays various information, such as a cursor, menus, windows, characters, or images. The external device connection I/F 508 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memory and printers. The network I/F 509 is an interface for data communication using the network N2. The bus line 510 is an address bus, data bus, etc. for electrically connecting the various components, such as the CPU 501, shown in FIG. 2.
また、キーボード511は、文字、数値、又は各種指示などの入力に使用される複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ514は、着脱可能な記録媒体の一例としてのDVD-RW513に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWドライブ514は、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。 The keyboard 511 is a type of input device equipped with multiple keys used to input characters, numbers, and various instructions. The pointing device 512 is a type of input device used to select and execute various instructions, select processing targets, move the cursor, and so on. The DVD-RW drive 514 controls the reading and writing of various data from a DVD-RW 513, which is an example of a removable recording medium. Note that the DVD-RW drive 514 is not limited to a DVD-RW, and may be a DVD-R or the like. The media I/F 516 controls the reading and writing (storage) of data from a recording medium 515, such as a flash memory.
<ハードウェア構成例(画像形成装置9)>
図3は、本発明の実施形態に係る機器5の一例である画像形成装置9のハードウェア構成の一例を示す図である。図3に示されているように、画像形成装置9(MFP、Multifunction Peripheral/Product/Printer)は、コントローラ910、近距離通信回路920、エンジン制御部930、操作パネル940、ネットワークI/F950を備えている。
<Hardware Configuration Example (Image Forming Apparatus 9)>
3 is a diagram showing an example of the hardware configuration of an image forming apparatus 9, which is an example of the device 5 according to an embodiment of the present invention. As shown in FIG. 3, the image forming apparatus 9 (MFP, Multifunction Peripheral/Product/Printer) includes a controller 910, a short-range communication circuit 920, an engine control unit 930, an operation panel 940, and a network I/F 950.
これらのうち、コントローラ910は、コンピュータの主要部であるCPU901、システムメモリ(MEM-P)902、ノースブリッジ(NB)903、サウスブリッジ(SB)904、ASIC(Application Specific Integrated Circuit)906、ローカルメモリ(MEM-C)907、HDDコントローラ908、及び、HD909を有し、NB903とASIC906との間をAGP(Accelerated Graphics Port)バス921で接続した構成となっている。 Of these, the controller 910 includes the CPU 901, which is the main part of the computer, system memory (MEM-P) 902, north bridge (NB) 903, south bridge (SB) 904, ASIC (Application Specific Integrated Circuit) 906, local memory (MEM-C) 907, HDD controller 908, and HD 909, with the NB 903 and ASIC 906 connected via an AGP (Accelerated Graphics Port) bus 921.
これらのうち、CPU901は、画像形成装置9の全体制御を行う制御部である。NB903は、CPU901と、MEM-P902、SB904、及びAGPバス921とを接続するためのブリッジであり、MEM-P902に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。 Of these, the CPU 901 is a control unit that performs overall control of the image forming device 9. The NB 903 is a bridge that connects the CPU 901 with the MEM-P 902, SB 904, and AGP bus 921, and includes a memory controller that controls reading and writing to the MEM-P 902, a PCI (Peripheral Component Interconnect) master, and an AGP target.
MEM-P902は、コントローラ910の各機能を実現させるプログラムやデータの格納用メモリであるROM902a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM902bとからなる。なお、RAM902bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。 MEM-P902 consists of ROM902a, which is memory for storing programs and data that realize the various functions of controller 910, and RAM902b, which is used for expanding programs and data and as drawing memory during memory printing. The programs stored in RAM902b may also be provided by being recorded in installable or executable files on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD.
SB904は、NB903とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC906は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス921、PCIバス922、HDD908およびMEM-C907をそれぞれ接続するブリッジの役割を有する。このASIC906は、PCIターゲットおよびAGPマスタ、ASIC906の中核をなすアービタ(ARB)、MEM-C907を制御するメモリコントローラ、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部931及びプリンタ部932との間でPCIバス922を介したデータ転送を行うPCIユニットとからなる。なお、ASIC906には、USB(Universal Serial Bus)のインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしてもよい。 SB904 is a bridge connecting NB903 with PCI devices and peripheral devices. ASIC906 is an integrated circuit (IC) for image processing applications that contains hardware elements for image processing and acts as a bridge connecting AGP bus 921, PCI bus 922, HDD 908, and MEM-C 907. This ASIC 906 consists of a PCI target and AGP master, an arbiter (ARB) that forms the core of ASIC 906, a memory controller that controls MEM-C 907, multiple DMACs (Direct Memory Access Controllers) that rotate image data using hardware logic, and a PCI unit that transfers data between scanner unit 931 and printer unit 932 via PCI bus 922. A USB (Universal Serial Bus) interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers 1394) interface may also be connected to the ASIC 906.
<機能について>
図4は、本発明の実施形態に係る情報処理システム1の機能ブロックの構成図の一例を示す図である。各機能ブロックは、例えば、サーバ2、端末装置3、および機器5にインストールされた1以上のプログラムに含まれる命令をCPU501、901が実行することで実現される機能又は手段である。
<About the function>
4 is a diagram showing an example of a configuration diagram of functional blocks of the information processing system 1 according to an embodiment of the present invention. Each functional block is a function or means realized by, for example, the CPU 501, 901 executing instructions contained in one or more programs installed in the server 2, the terminal device 3, and the device 5.
デバイス20は、ブラウザ21を介して機能する操作受付部22、表示制御部23、第2通信部24、および制御部25を有する。デバイス20は、例えば、操作パネル940を有する画像形成装置9などの機器5、あるいは、ディスプレイ506、キーボード511、ポインティングデバイス512などを有するPCなどの端末装置3である。また、デバイス20は、画像形成装置9が持つ機能であるスキャンやプリントなどを実行する電子機器などであってもよい。 Device 20 has an operation reception unit 22, a display control unit 23, a second communication unit 24, and a control unit 25 that function via a browser 21. Device 20 is, for example, a device 5 such as an image forming device 9 having an operation panel 940, or a terminal device 3 such as a PC having a display 506, a keyboard 511, a pointing device 512, etc. Device 20 may also be an electronic device that performs functions such as scanning and printing that are possessed by image forming device 9.
操作受付部22は、情報処理システム1におけるアプリケーション(以降、アプリと略する場合もある)やサービスの設定、および負荷テストの実行などの操作に関するユーザの入力を受け付ける。 The operation reception unit 22 receives user input regarding operations such as configuring applications (hereinafter sometimes abbreviated as apps) and services in the information processing system 1, and running load tests.
表示制御部23は、Webサービス処理部30の画面構成部31から受信した画面情報などをデバイス20の表示画面である操作パネル940やディスプレイ506に表示する。 The display control unit 23 displays screen information received from the screen configuration unit 31 of the web service processing unit 30 on the operation panel 940 or display 506, which are the display screens of the device 20.
第2通信部24は、第1通信部33を介してサーバ2とデータの送受信を行うものであり、例えば、Webサービス処理部30に、アプリ設定の取得要求や処理フローの実行要求を送信し、Webサービス処理部30から要求に対する処理結果を受信する。 The second communication unit 24 sends and receives data with the server 2 via the first communication unit 33. For example, it sends requests to the web service processing unit 30 to obtain app settings or execute processing flows, and receives processing results in response to the requests from the web service processing unit 30.
制御部25は、アプリケーションの負荷テストにおける並列実行可能な処理フロー数(Cの値)の制御を行う。この値は、処理フローの並列実行可能数と呼んでもよい。 The control unit 25 controls the number of process flows (value of C) that can be executed in parallel in a load test of an application. This value may also be called the number of process flows that can be executed in parallel.
Webサービス処理部30は、画面構成部31とアプリ実行部32を有し、ユーザがデバイス20のブラウザ21を用いて各種サービスを利用、あるいは負荷テストを実行するための処理を行なう。 The web service processing unit 30 has a screen configuration unit 31 and an application execution unit 32, and performs processing to allow the user to use various services or run load tests using the browser 21 of the device 20.
画面構成部31は、ブラウザ21からの要求に応じて、アプリ設定情報に基づいてアプリ画面情報を作成し、アプリ設定情報とアプリ画面情報をブラウザ21に送信する。 In response to a request from the browser 21, the screen configuration unit 31 creates app screen information based on the app setting information and transmits the app setting information and app screen information to the browser 21.
アプリ実行部32は、ブラウザ21からの要求に応じて、アプリケーションの実行要求を入出力サービス処理部50に送信する。また、アプリ実行部32は、ブラウザ21からの要求に応じて、コンポーネント情報の取得要求を処理部52に送信する。 In response to a request from the browser 21, the application execution unit 32 sends an application execution request to the input/output service processing unit 50. In addition, in response to a request from the browser 21, the application execution unit 32 sends a component information acquisition request to the processing unit 52.
ポータルサービス部40は、UI提供部41とアプリ登録部42を有し、ユーザが端末装置3などのブラウザ21を用いてアプリケーションの登録などを行うための処理を行う。 The portal service unit 40 has a UI provision unit 41 and an application registration unit 42, and performs processing that allows the user to register applications using a browser 21 on a terminal device 3 or the like.
UI提供部41は、ブラウザ21からの要求に応じて、ポータル画面情報DB82に記憶されているポータル画面情報を返信する。ここで、ポータルとは、ブラウザ21を用いて、アプリケーションの登録などを行うことができるWebサイトである。なお、ポータル画面情報とは、ポータルのトップ画面(ポータルトップ画面)やアプリケーション登録画面などの各種画面が定義された情報である。ポータル画面情報は、例えば、HTML、XML、CSS、JavaScript(商標)などのブラウザ21で各種画面が定義された情報である。これにより、端末装置3などのブラウザ21により、ポータルトップ画面やアプリケーション登録画面が表示される。したがって、端末装置3などのユーザは、アプリケーション登録画面において、アプリケーションの登録操作を行うことができる。 In response to a request from the browser 21, the UI providing unit 41 replies with portal screen information stored in the portal screen information DB 82. Here, a portal is a website where applications can be registered using the browser 21. The portal screen information is information that defines various screens such as the portal's top screen (portal top screen) and application registration screen. The portal screen information is information that defines various screens in the browser 21 using, for example, HTML, XML, CSS, JavaScript (trademark), etc. As a result, the portal top screen and application registration screen are displayed by the browser 21 of the terminal device 3, etc. Therefore, the user of the terminal device 3, etc. can perform application registration operations on the application registration screen.
アプリ登録部42は、UI提供部41からの要求に応じて、アプリケーションの登録をアプリ管理部51に要求する。すなわち、アプリ登録部42は、アプリケーション登録画面において、アプリケーションの登録操作が行われると、アプリケーションの登録をアプリ管理部51に要求する。 In response to a request from the UI providing unit 41, the app registration unit 42 requests the app management unit 51 to register an application. In other words, when an application registration operation is performed on the application registration screen, the app registration unit 42 requests the app management unit 51 to register the application.
入出力サービス処理部50は、アプリ管理部51、処理部52、および記憶部53を有し、情報処理システム1が提供するサービスに関する処理を行う。 The input/output service processing unit 50 has an application management unit 51, a processing unit 52, and a memory unit 53, and performs processing related to the services provided by the information processing system 1.
アプリ管理部51は、要求に応じて、アプリ情報DB80に格納されているアプリ設定情報を取得する。また、アプリ管理部51は、アプリケーションの実行要求に応じて、処理フローの実行要求をキュー上で管理することで負荷制御を行ながら、処理フローの実行要求を処理部52に送信する。また、アプリ管理部51は、アプリケーションの負荷テストの結果情報を負荷テスト結果情報DB81に格納する。負荷テストは、例えば、アプリケーションを新規に登録する場合や登録済のアプリケーションの設定が修正された場合などに、アプリケーションが正常に動作するか否かを確認するために実行するものである。 In response to a request, the application management unit 51 retrieves application setting information stored in the application information DB 80. In addition, in response to an application execution request, the application management unit 51 performs load control by managing the processing flow execution request in a queue, and sends the processing flow execution request to the processing unit 52. The application management unit 51 also stores application load test result information in the load test result information DB 81. A load test is performed to check whether an application operates normally, for example, when a new application is registered or when the settings of a registered application are modified.
処理部52は、要求に応じて、コンポーネント情報の取得、処理フローの実行、および処理フローの実行要求をキュー上で管理することによる負荷制御を行う。また、処理部52は、コンポーネントのオペレーション処理を実行した負荷テストの結果情報を負荷テスト結果情報DB81に格納する。 In response to requests, the processing unit 52 obtains component information, executes processing flows, and performs load control by managing processing flow execution requests in a queue. The processing unit 52 also stores the results information of the load test in which the component's operation processing was executed in the load test result information DB 81.
記憶部53は、並列実行可能な処理フロー数であるCの値などを含む負荷テストの結果情報を負荷テスト結果情報DB81に登録(保存、記憶)する。 The memory unit 53 registers (saves, stores) the load test result information, including the value of C, which is the number of processing flows that can be executed in parallel, in the load test result information DB 81.
コンポーネント部60は、OCR61、メール送信62、ファイルDL63、バーコード付与64などのコンポーネントを管理する。 The component unit 60 manages components such as OCR 61, email sending 62, file download 63, and barcode assignment 64.
OCR61は、OCR(Optical Character Recognition)を実行するコンポーネントであり、画像データに含まれる文字データを認識して取得する機能を実行するコンポーネントである。 OCR61 is a component that performs OCR (Optical Character Recognition) and performs the function of recognizing and acquiring character data contained in image data.
メール送信62は、指定されたアドレスに電子メールを送信する機能を実行するコンポーネントである。 Mail Send 62 is a component that performs the function of sending an email to a specified address.
ファイルDL63は、クラウドストレージなどに保存されたファイルをダウンロード(DL)して取得する機能を実行するコンポーネントである。 File DL63 is a component that performs the function of downloading (DL) and obtaining files stored in cloud storage, etc.
バーコード付与64は、指定されたファイルにバーコードを付与する機能を実行するコンポーネントである。 Barcode assignment 64 is a component that performs the function of assigning a barcode to a specified file.
アプリデータ管理部70は、UI提供部71とアプリデータ登録部72を有し、ユーザが端末装置3などのブラウザ21を用いて、アプリケーションで用いる文書ファイルや画像ファイルなどのアプリデータの登録などを行うための処理を行う。 The application data management unit 70 has a UI provision unit 71 and an application data registration unit 72, and performs processing that allows a user to use a browser 21 on a terminal device 3 or the like to register application data such as document files and image files used in applications.
UI提供部71は、ポータルサービス部のUI提供部41が実行する処理と同様の処理を実行することにより、ブラウザ21からの要求に応じて、アプリデータを登録するためのポータル画面情報を返信する。したがって、端末装置3などのユーザは、アプリデータ登録画面において、アプリデータの登録操作を行うことができる。 The UI providing unit 71 performs processing similar to that performed by the UI providing unit 41 of the portal service unit, thereby returning portal screen information for registering app data in response to a request from the browser 21. Therefore, a user of the terminal device 3 or the like can perform app data registration operations on the app data registration screen.
アプリデータ登録部72は、UI提供部71からの要求に応じて、アプリデータの登録を入出力サービス処理部50のアプリ管理部51に要求する。すなわち、アプリデータ登録部72は、アプリデータ登録画面において、アプリデータの登録操作が行われると、アプリデータの登録をアプリ管理部51に要求する。 In response to a request from the UI providing unit 71, the application data registration unit 72 requests the application management unit 51 of the input/output service processing unit 50 to register application data. In other words, when an application data registration operation is performed on the application data registration screen, the application data registration unit 72 requests the application management unit 51 to register application data.
アプリ情報DB80は、アプリケーションの処理に関する情報であるアプリ処理情報、アプリケーションの設定に関する情報であるアプリ設定情報、およびアプリケーションで用いるデータを格納するためのデータベース(DB)である。 The application information DB 80 is a database (DB) for storing application processing information, which is information related to application processing, application setting information, which is information related to application settings, and data used by the application.
負荷テスト結果情報DB81は、アプリケーションやコンポーネントのオペレーションに関する負荷テストのテスト結果に関する情報を格納するためのデータベース(DB)である。 The load test result information DB81 is a database (DB) for storing information regarding the test results of load tests related to the operation of applications and components.
ポータル画面情報DB82は、アプリケーションやアプリケーションで用いるデータを登録するためのポータルのWebサイトの画面に関する情報を格納するためのデータベース(DB)である。 The portal screen information DB82 is a database (DB) for storing information about portal website screens for registering applications and data used in applications.
<アプリケーションの負荷テスト処理>
図5は、本発明の実施形態に係るアプリケーションを負荷テストの対象とした場合における負荷テストの処理の一例を示すシーケンス図である。以下、各ステップについて説明する。
<Application load testing process>
5 is a sequence diagram showing an example of a load test process when an application according to an embodiment of the present invention is subjected to the load test. Each step will be described below.
ステップS100:ユーザは、画像形成装置9などの機器5、あるいはPCなどの端末装置3であるデバイス20のブラウザ21を操作して、負荷テストを実行する。表示制御部23は、デバイス20の画面に図6に示す負荷テスト実行画面200を表示する。図6に示すように、負荷テスト実行画面200には、負荷テスト実行ボタン201が表示されている。図5に戻って説明する。操作受付部22は、ユーザによる負荷テスト実行ボタン201の押下を受け付ける。実行されるアプリケーションは、画像形成装置9がスキャンした画像データを電子メールで送信する「Scan to Email」、クラウドストレージに保存された電子文書を印刷する「Print My Cloud Storage」などである。 Step S100: The user operates the browser 21 of the device 20, which is a device 5 such as the image forming device 9 or a terminal device 3 such as a PC, to perform a load test. The display control unit 23 displays the load test execution screen 200 shown in FIG. 6 on the screen of the device 20. As shown in FIG. 6, the load test execution screen 200 displays a load test execution button 201. Returning to FIG. 5, the explanation will be given below. The operation reception unit 22 receives a press of the load test execution button 201 by the user. The applications executed include "Scan to Email," which sends image data scanned by the image forming device 9 via email, and "Print My Cloud Storage," which prints an electronic document stored in cloud storage.
ステップS101:デバイス20のブラウザ21の第2通信部24は、Webサービス処理部30の画面構成部31に、アプリ設定の取得要求を送信する。あるいは、第2通信部24は、アプリ設定の取得要求を第1通信部33に送信し、第1通信部33が、受信した取得要求を画面構成部31に送信するようにしてもよい。以降、デバイス20とWebサービス処理部30の間の通信において、第1通信部33を介した処理についての説明は省略するが、第1通信部33を介するように処理を実行してもよい。 Step S101: The second communication unit 24 of the browser 21 of the device 20 sends an application setting acquisition request to the screen composition unit 31 of the web service processing unit 30. Alternatively, the second communication unit 24 may send the application setting acquisition request to the first communication unit 33, and the first communication unit 33 may send the received acquisition request to the screen composition unit 31. Hereinafter, a description of the processing via the first communication unit 33 in the communication between the device 20 and the web service processing unit 30 will be omitted, but the processing may also be performed via the first communication unit 33.
ステップS102:画面構成部31は、アプリ設定の取得要求を入出力サービス処理部50のアプリ管理部51に送信する。 Step S102: The screen configuration unit 31 sends a request to obtain app settings to the app management unit 51 of the input/output service processing unit 50.
ステップS103:アプリ管理部51は、アプリ情報DB80からアプリ設定情報を取得する。 Step S103: The app management unit 51 obtains app setting information from the app information DB 80.
ステップS104:アプリ管理部51は、アプリ設定情報を画面構成部31に送信する。 Step S104: The app management unit 51 sends the app setting information to the screen configuration unit 31.
ステップS105:画面構成部31は、受信したアプリ設定情報に基づいて、アプリ画面情報を作成する。 Step S105: The screen configuration unit 31 creates app screen information based on the received app setting information.
ステップS106:画面構成部31は、アプリ画面情報とアプリ設定情報をデバイス20のブラウザ21の第2通信部24に送信する。表示制御部23は、受信したアプリ画面情報を用いて、アプリの画面をデバイス20の画面に表示する。 Step S106: The screen configuration unit 31 transmits the app screen information and app setting information to the second communication unit 24 of the browser 21 of the device 20. The display control unit 23 uses the received app screen information to display the app screen on the screen of the device 20.
ステップS107:第2通信部24は、コンポーネント情報取得要求をWebサービス処理部30のアプリ実行部32に送信する。 Step S107: The second communication unit 24 sends a component information acquisition request to the application execution unit 32 of the web service processing unit 30.
ステップS108:アプリ実行部32は、コンポーネント情報取得要求を入出力サービス処理部50の処理部52に送信する。 Step S108: The application execution unit 32 sends a component information acquisition request to the processing unit 52 of the input/output service processing unit 50.
ステップS109:処理部52は、コンポーネント部60からコンポーネント情報を取得する。 Step S109: The processing unit 52 obtains component information from the component unit 60.
ステップS110:処理部52は、取得結果をアプリ実行部32に送信する。 Step S110: The processing unit 52 sends the acquired results to the application execution unit 32.
ステップS111:アプリ実行部32は、受信した取得結果をデバイス20のブラウザ21の第2通信部24に送信する。 Step S111: The application execution unit 32 transmits the received acquisition result to the second communication unit 24 of the browser 21 of the device 20.
ステップS112:デバイス20は、Webサービス処理部30から受信したアプリ設定情報とコンポーネント情報に基づいて、テストケースを生成する。テストケースの生成方法については、後に説明する。 Step S112: The device 20 generates a test case based on the application setting information and component information received from the web service processing unit 30. The method for generating a test case will be described later.
ステップS113:デバイス20は、負荷設定の初期化を実行する。例として、並行して(同時に、並列して)実行する処理フロー数Cの初期値を1、Cの最大値Cmaxを64、任意のCに対して負荷テストを実行する時間Tを600秒、負荷テストのトータル実行時間Tallを4200秒に設定する。ここで、Cmax、T、およびTallの値は、アプリを実行するプラットフォームの性能に基づいて決定してもよく、あるいはアプリ開発者が指定してもよい。Cの値は、ループ処理(1)を実行する毎に値を2倍し、CがCmaxの値を超える、あるいは負荷テストのトータル実行時間がTallを超えた場合に、ループ処理(1)を終了する。ループ処理(1)内では、ループ処理(2)として、ステップS114~S118において、C個の処理フローを同時に実行する処理を時間Tの間、繰り返し実行する。 Step S113: The device 20 initializes the load settings. For example, the initial value C of the number of process flows to be executed in parallel (simultaneously, in parallel) is set to 1, the maximum value Cmax of C is set to 64, the time T for executing a load test for any C is set to 600 seconds, and the total execution time Tall of the load test is set to 4200 seconds. Here, the values of Cmax, T, and Tall may be determined based on the performance of the platform on which the app is executed, or may be specified by the app developer. The value of C is doubled each time loop process (1) is executed, and loop process (1) is terminated when C exceeds the value of Cmax or the total execution time of the load test exceeds Tall. Within loop process (1), steps S114 to S118 are executed as loop process (2), repeatedly executing C process flows simultaneously for time T.
ステップS114:デバイス20の第2通信部24は、C個の処理フローに対する実行要求をWebサービス処理部30のアプリ実行部32に送信する。 Step S114: The second communication unit 24 of the device 20 sends an execution request for the C processing flows to the application execution unit 32 of the web service processing unit 30.
ステップS115:アプリ実行部32は、受信した処理フローの実行要求を入出力サービス処理部50の処理部52に送信する。 Step S115: The application execution unit 32 sends the received processing flow execution request to the processing unit 52 of the input/output service processing unit 50.
ステップS116:処理部52は、受信した処理フローの実行要求に基づいて、処理フローを実行する。処理部52は、実行するアプリケーションに応じて、コンポーネント部60に処理フローの実行を要求する。処理部52は、コンポーネント部60に、例えば、実行するアプリケーションが「Scan to Email」であれば、メール送信62を実行する要求を送信する。あるいは、実行するアプリケーションが「Print My Cloud Storage」であれば、ファイルDL63を実行する要求を送信する。また、アプリケーションに応じて、例えば、「Scan to Email」の場合、デバイス20の第2通信部24は、画像形成装置9でスキャンした画像ファイルをサーバ2の第1通信部33に送信する。あるいは、「Print My Cloud Storage」の場合、サーバ2の第1通信部33は、ダウンロードしたファイルをデバイス20の第2通信部24に送信する。 Step S116: The processing unit 52 executes the processing flow based on the received processing flow execution request. The processing unit 52 requests the component unit 60 to execute the processing flow depending on the application to be executed. For example, if the application to be executed is "Scan to Email," the processing unit 52 sends a request to the component unit 60 to execute email transmission 62. Alternatively, if the application to be executed is "Print My Cloud Storage," the processing unit 52 sends a request to execute file download 63. Also, depending on the application, for example, in the case of "Scan to Email," the second communication unit 24 of the device 20 sends the image file scanned by the image forming apparatus 9 to the first communication unit 33 of the server 2. Alternatively, in the case of "Print My Cloud Storage," the first communication unit 33 of the server 2 sends the downloaded file to the second communication unit 24 of the device 20.
ステップS117:処理部52は、処理結果をWebサービス処理部30のアプリ実行部32に送信する。ここで、処理結果は、処理が成功(OK)、あるいは処理が失敗(NG)であったかを示す情報を含むものである。 Step S117: The processing unit 52 sends the processing result to the application execution unit 32 of the web service processing unit 30. Here, the processing result includes information indicating whether the processing was successful (OK) or unsuccessful (NG).
ステップS118:アプリ実行部32は、デバイス20の第2通信部24に処理結果を送信する。 Step S118: The application execution unit 32 sends the processing result to the second communication unit 24 of the device 20.
ステップS119:デバイス20は、受信した処理結果を確認して、1つでも処理結果が失敗(NG)であれば、ループ処理(1)を終了して、ステップS121の処理に遷移する。 Step S119: The device 20 checks the received processing results, and if any of the processing results is a failure (NG), it ends loop processing (1) and proceeds to processing in step S121.
ステップS120:デバイス20は、Cの値を2倍して、ループ処理(2)(ステップS114~S118の繰り返し)を実行する。 Step S120: The device 20 doubles the value of C and executes loop processing (2) (repeating steps S114 to S118).
ステップS121:デバイス20は、CがCmaxの値を超える、あるいは負荷テストのトータル実行時間がTallを超えた場合、あるいは処理結果に1つでも失敗があった場合、ループ処理(1)を終了して、負荷テストを終了する。さらに、現在のCの値を2で除算した値とする。 Step S121: If C exceeds the value of Cmax, or if the total execution time of the load test exceeds Tall, or if there is even one failure in the processing results, the device 20 ends loop processing (1) and terminates the load test. Furthermore, the current value of C is divided by 2.
ステップS122:Cの値が1より小さい場合、デバイス20は、負荷テストの失敗を報告する。デバイス20の表示制御部23は、負荷テストの結果として、図7に示す実行結果画面202をデバイス20の画面に表示する。実行結果画面210には、「テストに失敗しました」のメッセージ211が表示されている。また、実行結果画面210には、実行した負荷テストの情報として、「テストケース名」212、「実行時間」213、「App ID」214、「App Name」215、「Cの値」216、「パラメータ情報」217が表示されている。ここで、「App ID」214と「App Name」215は、負荷テストで実行したアプリケーションのIDと名前である。IDとはIdentificationの略であり、アプリケーションを特定するために予め設定された番号や記号などで示されるものである。 Step S122: If the value of C is less than 1, the device 20 reports a failure of the load test. The display control unit 23 of the device 20 displays the execution result screen 202 shown in FIG. 7 on the screen of the device 20 as the result of the load test. The execution result screen 210 displays a message 211 saying "Test Failed." The execution result screen 210 also displays information about the executed load test, such as "Test Case Name" 212, "Execution Time" 213, "App ID" 214, "App Name" 215, "Value of C" 216, and "Parameter Information" 217. Here, "App ID" 214 and "App Name" 215 are the ID and name of the application executed in the load test. "ID" is an abbreviation for "Identification" and is indicated by a preset number or symbol to identify the application.
図5に戻って説明する。 Let's go back to Figure 5 for further explanation.
ステップS123:Cの値が1以上の場合、デバイス20は、ステップS123~S126の処理を実行する。デバイス20の第2通信部24は、Cの値を入出力サービス処理部50のアプリ管理部51に送信(報告)する。ここで、第2通信部24は、Cの値とともに負荷テストで実行したアプリケーションのIDや名前などの情報を送信するようにしてもよい。 Step S123: If the value of C is 1 or greater, the device 20 executes steps S123 to S126. The second communication unit 24 of the device 20 transmits (reports) the value of C to the application management unit 51 of the input/output service processing unit 50. Here, the second communication unit 24 may transmit information such as the ID and name of the application executed in the load test along with the value of C.
ステップS124:アプリ管理部51は、受信したCの値を記憶部53に記憶する。図8は、本発明の実施形態に係る負荷テストの結果情報の一例を示す図である。図8に示す負荷テスト結果情報220には、アプリケーションのIDである「App ID」221、アプリケーションの名前である「App Name」222、および「Cの値」223に関して、2組の情報が登録されている。 Step S124: The application management unit 51 stores the received value of C in the storage unit 53. Figure 8 is a diagram showing an example of load test result information according to an embodiment of the present invention. The load test result information 220 shown in Figure 8 registers two sets of information: "App ID" 221, which is the application ID; "App Name" 222, which is the application name; and "Value of C" 223.
図5に戻って説明する。 Let's go back to Figure 5 for further explanation.
ステップS125:アプリ管理部51は、Cの値の登録が成功(OK)したことを知らせる成功通知をデバイス20に送信する。 Step S125: The app management unit 51 sends a success notification to the device 20 informing that the registration of the value of C was successful (OK).
ステップS126:デバイス20の表示制御部23は、負荷テストが成功したことを報告するために、図9に示す実行結果画面230をデバイス20の画面に表示する。実行結果画面230には、「テストに成功しました!」のメッセージ231が表示されている。また、実行結果画面230には、実行した負荷テストの情報として、「テストケース名」232、「実行時間」233、「App ID」234、「App Name」235、「Cの値」236、「パラメータ情報」237が表示されている。ここで、「App ID」234と「App Name」235は、負荷テストで実行したアプリケーションのIDと名前である。さらに、処理結果として、C×2≦Cmax(Cを2倍した値がCmax以下)の場合に、負荷テストが失敗(NG)となった時(Cの値を最終値の2倍の値で実行した時)の処理結果を表示してもよい。 Step S126: The display control unit 23 of the device 20 displays the execution result screen 230 shown in FIG. 9 on the screen of the device 20 to report that the load test was successful. The execution result screen 230 displays a message 231 saying "Test successful!". The execution result screen 230 also displays information about the executed load test, such as "Test Case Name" 232, "Execution Time" 233, "App ID" 234, "App Name" 235, "Value of C" 236, and "Parameter Information" 237. Here, "App ID" 234 and "App Name" 235 are the ID and name of the application executed in the load test. Furthermore, if C×2≦Cmax (the value obtained by multiplying C by two is less than or equal to Cmax), the processing result when the load test fails (NG) (when the value of C is twice the final value) may be displayed.
以上の処理により、情報処理システム1は、並行して(並列して、同時に)実行する処理フローの数(Cの値)を徐々に増加させて(負荷を徐々に増加させて)、負荷テストを実行することことが可能である。負荷テストにおけるアプリケーションの性能目標値は、負荷テストの実行が成功した時点における同時実行処理フロー数(Cの値)として、自動的に設定される。従って、負荷テストにおいて、アプリ開発者などが性能目標値を設定する作業は不要である。なお、Cの値を増加させる方法として、1を超える予め定めた値を乗算してもよいし、予め定めた値を加算させる、あるいは、予め定めた割合(または規則、方法)でCの値を増加させるようにしてもよい。 Through the above processing, the information processing system 1 can execute a load test by gradually increasing the number of processing flows (the value of C) executed in parallel (simultaneously) (by gradually increasing the load). The performance target value of the application in the load test is automatically set as the number of concurrently executing processing flows (the value of C) at the time the load test is successfully executed. Therefore, there is no need for the application developer or others to set the performance target value in the load test. The value of C can be increased by multiplying it by a predetermined value greater than 1, by adding a predetermined value, or by increasing the value of C at a predetermined rate (or rule or method).
<アプリケーションを負荷対象とした運用時の負荷制御処理>
図10は、本発明の実施形態に係るアプリケーションを負荷テストの対象として運用時に負荷制御する処理の一例を示すシーケンス図である。ここで、デバイス20は、画像形成装置9(MFP)であり、スキャンした画像ファイルにバーコードを付与した後、印刷を実行するアプリケーションを実行する。以下、各ステップについて説明する。
<Load control process during operation with application as load target>
10 is a sequence diagram showing an example of a process for load control during operation of an application as a load test target according to an embodiment of the present invention. Here, the device 20 is an image forming apparatus 9 (MFP), which executes an application that adds a barcode to a scanned image file and then executes printing. Each step is described below.
ステップS130:デバイス20のブラウザ21の操作受付部22は、ユーザによるアプリ画面の表示を要求する操作を受け付ける。 Step S130: The operation reception unit 22 of the browser 21 of the device 20 receives an operation by the user requesting the display of an app screen.
ステップS131:デバイス20のブラウザ21の第2通信部24は、Webサービス処理部30の画面構成部31に、アプリ画面の表示要求を送信する。あるいは、第2通信部24は、アプリ画面の表示要求を第1通信部33に送信し、第1通信部33が、受信した表示要求を画面構成部31に送信するようにしてもよい。以降、デバイス20とWebサービス処理部30の間の通信において、第1通信部33を介した処理についての説明は省略するが、第1通信部33を介するように処理を実行してもよい。 Step S131: The second communication unit 24 of the browser 21 of the device 20 sends a display request for the app screen to the screen composition unit 31 of the web service processing unit 30. Alternatively, the second communication unit 24 may send the display request for the app screen to the first communication unit 33, and the first communication unit 33 may send the received display request to the screen composition unit 31. Hereinafter, a description of the processing via the first communication unit 33 in the communication between the device 20 and the web service processing unit 30 will be omitted, but the processing may also be performed via the first communication unit 33.
ステップS132:画面構成部31は、アプリ設定の取得要求を入出力サービス処理部50のアプリ管理部51に送信する。 Step S132: The screen configuration unit 31 sends a request to obtain app settings to the app management unit 51 of the input/output service processing unit 50.
ステップS133:アプリ管理部51は、アプリ情報DB80からアプリ設定情報を取得する。 Step S133: The app management unit 51 obtains app setting information from the app information DB 80.
ステップS134:アプリ管理部51は、アプリ設定情報を画面構成部31に送信する。 Step S134: The app management unit 51 sends the app setting information to the screen configuration unit 31.
ステップS135:画面構成部31は、受信したアプリ設定情報に基づいて、アプリ画面情報を作成する。 Step S135: The screen configuration unit 31 creates app screen information based on the received app setting information.
ステップS136:画面構成部31は、アプリ画面情報とアプリ設定情報をデバイス20のブラウザ21の第2通信部24に送信する。 Step S136: The screen configuration unit 31 transmits the app screen information and app setting information to the second communication unit 24 of the browser 21 of the device 20.
ステップS137:表示制御部23は、受信したアプリ画面情報を用いて、アプリの画面をデバイス20の画面に表示する。 Step S137: The display control unit 23 uses the received app screen information to display the app screen on the screen of the device 20.
ステップS138:操作受付部22は、ユーザによるアプリ実行の操作を受け付ける。 Step S138: The operation reception unit 22 receives an operation by the user to execute the app.
ステップS139:デバイス20(画像形成装置9)は、スキャン処理を実行する。 Step S139: The device 20 (image forming device 9) performs the scan process.
ステップS140:第2通信部24は、アプリケーションの実行要求をWebサービス処理部30のアプリ実行部32に送信する。 Step S140: The second communication unit 24 sends an application execution request to the application execution unit 32 of the web service processing unit 30.
ステップS141:アプリ実行部32は、アプリケーションの実行要求を入出力サービス処理部50のアプリ管理部51に送信する。 Step S141: The application execution unit 32 sends an application execution request to the application management unit 51 of the input/output service processing unit 50.
ステップS142:アプリ管理部51は、アプリケーションごとに用意されているキューに処理フローの実行要求Rを追加する。キューには、実行中または実行開始待ちの処理フローに対する実行要求が要求された順に格納されている。 Step S142: The application management unit 51 adds a processing flow execution request R to a queue prepared for each application. The queue stores execution requests for processing flows that are currently running or waiting to start execution in the order in which they were requested.
ステップS143:キューにおける実行要求Rの位置が、並列実行可能である処理フロー数Cよりも大きい(キューの先頭位置から遠い)場合、アプリ管理部51は、高負荷状態であることを知らせる通知をアプリ実行部32に送信する。この場合は、実行要求Rよりも前にキューに格納されている実行要求の数がC以上ある状態である。ここで、並列実行可能である処理フロー数Cは、図5のステップS124で、負荷テスト結果情報DB81に登録した対応するアプリケーションのCの値である。また、本シーケンスで実行されるアプリケーションに対応するCの値は登録されているものとする。 Step S143: If the position of execution request R in the queue is greater than the number C of process flows that can be executed in parallel (farther from the head of the queue), the application management unit 51 sends a notification to the application execution unit 32 informing it of a high load state. In this case, the number of execution requests stored in the queue ahead of execution request R is C or more. Here, the number C of process flows that can be executed in parallel is the value of C for the corresponding application registered in the load test result information DB 81 in step S124 of Figure 5. It is also assumed that the value of C corresponding to the application executed in this sequence has been registered.
ステップS144:アプリ実行部32は、高負荷状態であることを知らせる通知をデバイス20に送信する。 Step S144: The application execution unit 32 sends a notification to the device 20 informing it that it is in a high load state.
ステップS145:表示制御部23は、高負荷状態であることを通知する通知画面をデバイス20の画面に表示する。図11は、本発明の実施形態に係る高負荷状態を通知する通知画面の一例を示す図である。図11の通知画面240には、「処理に時間がかかっています。しばらくお待ちいただくか、時間を置いて再度お試しください。」という内容のメッセージ241が表示されている。 Step S145: The display control unit 23 displays a notification screen on the screen of the device 20 to notify the user that a high load state has occurred. Figure 11 is a diagram showing an example of a notification screen for notifying the user that a high load state has occurred according to an embodiment of the present invention. The notification screen 240 in Figure 11 displays a message 241 stating, "Processing is taking a long time. Please wait a while or try again later."
図10に戻って説明する。 Let's go back to Figure 10 for further explanation.
ステップS146:アプリ管理部51は、キューにおける実行要求Rの位置が、Cよりも小さい(キューの先頭に近い)状態、すなわち、実行中または実行開始待ちの処理フローの数がCよりも小さくなるまで、処理フローの実行を行わずに待機する。 Step S146: The app management unit 51 waits without executing the process flow until the position of the execution request R in the queue is smaller than C (closer to the top of the queue), i.e., until the number of process flows that are being executed or waiting to start execution is smaller than C.
ステップS147:アプリ管理部51は、キューにおける実行要求Rの位置が、Cよりも小さく(キューの先頭に近く)なったことを検知した時、処理フローの実行要求を処理部52に送信する。この場合は、並行可能ジョブ数の上限までには余裕があることを意味する。 Step S147: When the application management unit 51 detects that the position of execution request R in the queue is smaller than C (closer to the top of the queue), it sends a processing flow execution request to the processing unit 52. In this case, this means that there is still room before the upper limit on the number of jobs that can be run in parallel.
ステップS148:処理部52は、処理フローを実行する。ここで、実行する処理フローは、ステップS139でスキャンした画像データにバーコードを付与する処理である。ここで、画像データをデバイス20(画像形成装置9)からサーバ2に送信するために、第2通信部24は、画像データを第1通信部33に送信する。処理部52は、コンポーネント部60にバーコード付与64を実行する要求を送信する。 Step S148: The processing unit 52 executes a processing flow. Here, the processing flow executed is a process of adding a barcode to the image data scanned in step S139. Here, in order to send the image data from the device 20 (image forming apparatus 9) to the server 2, the second communication unit 24 sends the image data to the first communication unit 33. The processing unit 52 sends a request to the component unit 60 to execute barcode addition 64.
ステップS149:処理部52は、処理フローの実行が終了した後、処理結果をアプリ管理部51に送信する。ここで、処理フローの実行は成功(OK)したものとし、処理結果の内容は成功(OK)とする。 Step S149: After the execution of the processing flow is completed, the processing unit 52 sends the processing result to the application management unit 51. Here, the execution of the processing flow is considered to be successful (OK), and the content of the processing result is considered to be successful (OK).
ステップS150:アプリ管理部51は、処理結果を受信した後、キューから実行要求Rを取り出す。これは、次に実行される処理フローのために、キューに空きを作ることとなる。 Step S150: After receiving the processing results, the application management unit 51 removes the execution request R from the queue. This frees up space in the queue for the next processing flow to be executed.
ステップS151:アプリ管理部51は、受信した処理結果をアプリ実行部32に送信する。 Step S151: The app management unit 51 transmits the received processing results to the app execution unit 32.
ステップS152:アプリ実行部32は、受信した処理結果をデバイス20の第2通信部24に送信する。 Step S152: The application execution unit 32 transmits the received processing result to the second communication unit 24 of the device 20.
ステップS153:デバイス20(画像形成装置9)は、処理フローの実行によって、バーコードが付与された画像ファイルの印刷を実行する。 Step S153: The device 20 (image forming device 9) executes the processing flow to print the image file to which the barcode has been added.
以上の処理により、情報処理システム1は、負荷テストの結果として得られた、耐えられる負荷上限であり、並列実行可能である処理フロー数Cをアプリケーションや処理フローの実行時に参照して(紐づけて)利用できる。これにより、情報処理システム1は、運用時に、負荷上限を超えないように、処理実行要求(リクエスト)をキューイングして管理することで、動的に負荷を制御することが可能である。また、アプリケーションや処理フローを管理するサーバ2とコンポーネント部60の各コンポーネント(OCR61など)を実行するサーバ2が、それぞれ別々の装置であれば、それぞれの負荷は独立したものとなる。従って、例えば、あるコンポーネントの処理が高負荷の状態になったとしても、負荷制御の処理がその高負荷の影響を受けることはない。 Through the above processing, the information processing system 1 can refer to (link) the number C of processing flows that can be executed in parallel, which is the tolerable load limit obtained as a result of the load test, when executing an application or processing flow. This allows the information processing system 1 to dynamically control the load during operation by queuing and managing processing execution requests so that the load limit is not exceeded. Furthermore, if the server 2 that manages the application or processing flow and the server 2 that executes each component (OCR 61, etc.) of the component unit 60 are separate devices, the loads on each will be independent. Therefore, for example, even if the processing of a certain component becomes highly loaded, the load control processing will not be affected by that high load.
<コンポーネントの負荷テスト処理>
図12は、本発明の実施形態に係るコンポーネントのオペレーションを負荷テストの対象とした場合における負荷テストの処理の一例を示すシーケンス図である。図5では、アプリケーションの負荷テストの処理について説明したが、負荷テストの対象をアプリケーションの代わりに、コンポーネントのオペレーションとすることができる。この場合、負荷上限はコンポーネントのオペレーションに対して測定される。また、負荷テストに用いるテストケースは、処理フローのパラメータの組み合わせではなく、それを構成するコンポーネントのオペレーションのパラメータの組み合わせとなる。テストケースの作成方法は、後に別途説明する。
<Component load test processing>
12 is a sequence diagram showing an example of load test processing when the load test targets the operations of a component according to an embodiment of the present invention. While FIG. 5 describes the load test processing of an application, the load test can also target the operations of a component instead of the application. In this case, the upper load limit is measured for the operations of the component. Furthermore, the test cases used in the load test are not combinations of parameters for the processing flow, but combinations of parameters for the operations of the components that make up the flow. A method for creating test cases will be described separately later.
以下、コンポーネントのオペレーションを負荷テスト対象とした場合における負荷テストの処理の一例を説明するにあたり、図5で示したアプリケーションの負荷テストの処理のシーケンス図との差分(図5との差分(1)、図5との差分(2))についてのみを説明する。 Below, we will explain an example of load testing processing when component operations are the target of the load test. We will only explain the differences from the sequence diagram of the application load testing processing shown in Figure 5 (differences from Figure 5 (1) and (2)).
図5との差分(1):負荷テストの対象がアプリケーションではなく、コンポーネントのオペレーションであることから、図5で示したステップS101~S106の処理が実行されない。 Difference (1) from Figure 5: Because the load test targets component operations rather than applications, steps S101 to S106 shown in Figure 5 are not executed.
図5との差分(2):同時実行処理フロー数(Cの値)が、アプリではなくコンポーネントのオペレーションに紐づくことから、Cの値を登録する処理は、アプリ管理部51ではなく処理部52が実行する。従って、図5で示したステップS123~S125の処理は、次のステップS123'~ S125'となる。 Difference (2) from Figure 5: Because the number of concurrently executing process flows (the value of C) is linked to the operation of a component rather than an application, the process of registering the value of C is performed by the processing unit 52 rather than the application management unit 51. Therefore, the processes of steps S123 to S125 shown in Figure 5 become the following steps S123' to S125'.
ステップS123':デバイス20の第2通信部24は、Cの値を入出力サービス処理部50の処理部52に送信(報告)する。ここで、第2通信部24は、Cの値とともに負荷テストで実行したアプリケーションのIDや名前などの情報を送信するようにしてもよい。 Step S123': The second communication unit 24 of the device 20 transmits (reports) the value of C to the processing unit 52 of the input/output service processing unit 50. Here, the second communication unit 24 may transmit information such as the ID and name of the application executed in the load test along with the value of C.
ステップS124':処理部52は、受信したCの値を記憶部53に記憶する。図13は、本発明の実施形態に係るコンポーネントのオペレーションを対象とした負荷テストの結果情報の一例を示す図である。図13に示す負荷テスト結果情報250には、コンポーネントの名前である「Component Name」251、コンポーネントのオペレーション名である「Operation Name」252、および「Cの値」253に関して、2組の情報が登録されている。 Step S124': The processing unit 52 stores the received value of C in the storage unit 53. Figure 13 is a diagram showing an example of result information of a load test targeting the operation of a component according to an embodiment of the present invention. The load test result information 250 shown in Figure 13 registers two sets of information: "Component Name" 251, which is the name of the component, "Operation Name" 252, which is the name of the component's operation, and "Value of C" 253.
図12に戻って説明する。 Let's go back to Figure 12 for further explanation.
ステップS125':処理部52は、Cの値の登録が成功(OK)したことを知らせる成功通知をデバイス20に送信する。 Step S125': The processing unit 52 sends a success notification to the device 20 indicating that the registration of the value of C was successful (OK).
以上の処理により、情報処理システム1は、コンポーネントのオペレーションを負荷テスト対象とした場合における負荷テストにおいても、並行して実行する処理フローの数を徐々に増加させて、負荷テストを実行することことが可能である。また、情報処理システム1は、負荷テストにおけるアプリケーションの性能目標値を自動的に設定することが可能である。 Through the above processing, the information processing system 1 can gradually increase the number of processing flows executed in parallel to perform a load test, even when the load test targets the operations of a component. The information processing system 1 can also automatically set the target performance values for applications in a load test.
<運用時におけるコンポーネントの負荷制御処理>
図14は、本発明の実施形態に係るコンポーネントのオペレーションを負荷テストの対象として運用時に負荷制御する処理の一例を示すシーケンス図である。図10では、アプリケーションを負荷テスト対象として運用時に負荷制御する処理について説明したが、ここでは、負荷テストの対象をアプリケーションの代わりに、コンポーネントのオペレーションとすることができる。
<Component load control processing during operation>
14 is a sequence diagram showing an example of a process for controlling a load during operation by using a component operation as a load test target according to an embodiment of the present invention. While the process for controlling a load during operation by using an application as a load test target has been described in FIG. 10, the load test target can be the operation of a component instead of an application.
以下、コンポーネントのオペレーションを負荷テスト対象とした場合における負荷テストの処理の一例を説明するにあたり、図10で示したアプリケーションの負荷テストの処理のシーケンス図との差分についてのみを説明する。図10で示した処理と異なる点は、ステップS141で、アプリ実行部32は、アプリ管理部51ではなく、処理部52に、アプリケーションの実行要求を転送(送信)する点である。図14のシーケンス図では、図10のステップS141~S143、およびステップS146~S151が、以下のステップS141'~S143'、およびステップS146'~S151'となる。 Below, we will explain an example of load test processing when component operations are the target of the load test, and will only explain the differences from the sequence diagram of the application load test processing shown in Figure 10. The difference from the processing shown in Figure 10 is that in step S141, the application execution unit 32 transfers (sends) the application execution request to the processing unit 52, rather than the application management unit 51. In the sequence diagram of Figure 14, steps S141 to S143 and steps S146 to S151 in Figure 10 become steps S141' to S143' and steps S146' to S151' below.
ステップS141':アプリ実行部32は、アプリケーションの実行要求を入出力サービス処理部50の処理部52に送信する。 Step S141': The application execution unit 32 sends an application execution request to the processing unit 52 of the input/output service processing unit 50.
ステップS142':処理部52は、オペレーションごとに用意されているキューに処理フローの実行要求Rを追加する。キューには、実行中または実行開始待ちの処理フローに対する実行要求が要求された順に格納されている。 Step S142': The processing unit 52 adds a processing flow execution request R to a queue prepared for each operation. The queue stores execution requests for processing flows that are currently being executed or waiting to start execution in the order in which they were requested.
ステップS143':キューにおける実行要求Rの位置が、並列実行可能である処理フロー数Cよりも大きい(キューの先頭位置から遠い)場合、処理部52は、高負荷状態であることを知らせる通知をアプリ実行部32に送信する。この場合は、実行要求Rよりも前にキューに格納されている実行要求の数がC以上ある状態である。ここで、並列実行可能である処理フロー数Cは、ステップS124'で、負荷テスト結果情報DB81に登録した図13に示す対応するコンポーネントのオペレーションのCの値である。 Step S143': If the position of execution request R in the queue is greater than the number C of process flows that can be executed in parallel (farther from the top of the queue), the processing unit 52 sends a notification to the application execution unit 32 notifying that a high load state exists. In this case, the number of execution requests stored in the queue ahead of execution request R is C or more. Here, the number C of process flows that can be executed in parallel is the value C of the operation of the corresponding component shown in Figure 13 that was registered in the load test result information DB 81 in step S124'.
ステップS146':処理部52は、キューにおける実行要求Rの位置が、Cよりも小さい(キューの先頭に近い)状態、すなわち、実行中または実行開始待ちの処理フローの数がCよりも小さくなるまで、処理フローの実行を行わずに待機する。ここで、処理フローのうち、高負荷状態であるオペレーションの結果に依存しないオペレーションは、他のオペレーションの高負荷状態の解消を待機せずに実行されてもよい。例えば、スキャンしたドキュメントをOCR処理して、Cloud Driveにアップロードするアプリケーションを実行する場合を想定する。ここで、図13に示すように、OCR処理とCloud Driveのオペレーションに対する並列実行可能である処理フロー数(Cの値)は、それぞれ16と4である。このアプリケーションの処理フローが既に4並列以上で実行中であれば高負荷状態が通知され、次の処理フローは待機となる。ただし、OCR処理は、Cloud Driveへのアップロード結果に依存しないことから、負荷に余裕があるOCR処理のみを実行してもよい。しかし、OCR処理が16並列以上で実行中であれば、OCR処理も含めて待機となる。このアプリケーションの処理フローが4並列未満であれば、アプリケーションの処理フロー全体が実行可能である。 Step S146': The processing unit 52 waits without executing the processing flow until the position of the execution request R in the queue is smaller than C (closer to the top of the queue), i.e., until the number of processing flows currently being executed or waiting to start execution is smaller than C. Here, among the processing flows, operations that do not depend on the results of operations in a high-load state may be executed without waiting for the high-load state of other operations to be resolved. For example, consider the case where an application is executed that performs OCR processing on scanned documents and uploads them to a Cloud Drive. Here, as shown in Figure 13, the number of processing flows (value C) that can be executed in parallel for OCR processing and Cloud Drive operations is 16 and 4, respectively. If four or more processing flows of this application are already running in parallel, a high-load state is notified, and the next processing flow is put on hold. However, since OCR processing does not depend on the results of uploading to the Cloud Drive, only OCR processing that has sufficient load may be executed. However, if OCR processing is running at 16 or more parallel processes, the OCR processing will also be put on hold. If the processing flow of this application is running at less than 4 parallel processes, the entire processing flow of the application can be executed.
ステップS147':ここでは、処理部52が処理フローを実行しているため、本ステップは実行されない。 Step S147': At this point, the processing unit 52 is executing the processing flow, so this step is not executed.
ステップS148':処理部52は、処理フローを実行する。 Step S148': The processing unit 52 executes the processing flow.
ステップS149':処理部52は、処理フローの実行が終了した後、処理結果をアプリ管理部51に送信する。ここで、処理フローの実行は成功(OK)したものとし、処理結果の内容は成功(OK)とする。 Step S149': After the execution of the processing flow is completed, the processing unit 52 sends the processing result to the application management unit 51. Here, the execution of the processing flow is considered to have been successful (OK), and the content of the processing result is considered to have been successful (OK).
ステップS150':処理部52は、処理結果を受信した後、キューから実行要求Rを取り出す。これは、次に実行される処理フローのために、キューに空きを作ることとなる。 Step S150': After receiving the processing results, the processing unit 52 removes the execution request R from the queue. This frees up space in the queue for the next processing flow to be executed.
ステップS151':処理部52は、受信した処理結果をアプリ実行部32に送信する。 Step S151': The processing unit 52 transmits the received processing result to the application execution unit 32.
以上の処理により、情報処理システム1は、負荷テストの対象がコンポーネントのオペレーションの場合であっても、負荷テストの結果として得られた並列実行可能である処理フロー数Cをアプリケーションや処理フローの実行時に参照して(紐づけて)利用できる。これにより、情報処理システム1は、運用時に、負荷上限を超えないように、処理実行要求(リクエスト)をキューイングして管理することで、動的に負荷を制御することが可能である。 Through the above processing, the information processing system 1 can refer to (link) and use the number C of process flows that can be executed in parallel obtained as a result of the load test when executing an application or process flow, even if the target of the load test is the operation of a component. This allows the information processing system 1 to dynamically control the load during operation by queuing and managing process execution requests so as not to exceed the load upper limit.
<テストケースの生成方法>
図5のステップS112などの処理で実行したテストケースの生成方法(作成方法)について説明する。負荷テストでは、アプリケーションのパラメータ設定からテストケース(処理フローのパラメータの組み合わせ)を生成し、負荷テスト用の処理フローとしてそれらを全て実行する。パラメータの組み合わせの数が少なければ全通りの組み合わせを生成し、数が膨大になる場合はオールペア法(ペアワイズ法)などのテストケースを選抜する手法を用いて数を削減する。全通りにするか、数を削減するかは、生成されるテストケースの数で閾値を設けたり、処理フローの実行に要する時間からトータルのテスト時間を予測するなどすることにより、テスト時間で閾値を設けたりして決定する。また、テストケースの生成は、図5のステップS112などの処理で実行したように、デバイス20が実行する以外に、サーバ2でテストケースを生成して、生成したテストケースをデバイス20に送信するようにしてもよい。
<How to generate test cases>
A method for generating (creating) test cases executed in processes such as step S112 in FIG. 5 will now be described. In a load test, test cases (combinations of process flow parameters) are generated from application parameter settings, and all of these test cases are executed as a process flow for load testing. If the number of parameter combinations is small, all possible combinations are generated. If the number is enormous, the number is reduced using a test case selection method such as the all-pairs method (pairwise method). Whether to generate all possible combinations or reduce the number is determined by setting a threshold for the number of test cases to be generated or by setting a threshold for test time by predicting the total test time from the time required to execute the process flow. Furthermore, in addition to being generated by the device 20 as executed in processes such as step S112 in FIG. 5, test cases may also be generated by the server 2 and transmitted to the device 20.
図15は、本発明の実施形態に係るサーバ側でテストケースを生成する処理の一例を示すシーケンス図である。以下、各ステップについて説明する。 Figure 15 is a sequence diagram showing an example of the process of generating test cases on the server side according to an embodiment of the present invention. Each step is explained below.
ステップS160:ユーザは、画像形成装置9などの機器5、あるいはPCなどの端末装置3であるデバイス20のブラウザ21を操作して、負荷テストを実行する。 Step S160: The user operates the browser 21 on the device 20, which is a device 5 such as an image forming device 9 or a terminal device 3 such as a PC, to perform a load test.
ステップS161:デバイス20のブラウザ21の第2通信部24は、Webサービス処理部30の画面構成部31に、テストケース生成要求を送信する。 Step S161: The second communication unit 24 of the browser 21 of the device 20 sends a test case generation request to the screen configuration unit 31 of the web service processing unit 30.
ステップS162:画面構成部31は、テストケース生成要求を入出力サービス処理部50のアプリ管理部51に送信する。 Step S162: The screen configuration unit 31 sends a test case generation request to the application management unit 51 of the input/output service processing unit 50.
ステップS163:アプリ管理部51は、アプリ情報DB80からアプリ設定情報を取得する。 Step S163: The app management unit 51 obtains app setting information from the app information DB 80.
ステップS164:アプリ管理部51は、テストケースを生成する。 Step S164: The application management unit 51 generates a test case.
ステップS165:アプリ管理部51は、テストケースを画面構成部31に送信する。 Step S165: The application management unit 51 sends the test case to the screen configuration unit 31.
ステップS166:画面構成部31は、テストケースをデバイス20のブラウザ21の第2通信部24に送信する。 Step S166: The screen configuration unit 31 sends the test case to the second communication unit 24 of the browser 21 of the device 20.
以降の処理は、例えば、図5のステップS113以降の処理を実行することにより、サーバ2で生成したテストケースを用いて負荷テストを実行することが可能である。 Subsequent processing, for example, by executing the processing from step S113 onwards in Figure 5, makes it possible to perform a load test using the test cases generated on server 2.
次に、スキャンしたドキュメントに対して、OCRを実行して生成されたPDFファイルをページ分割するアプリケーション(アプリAと呼ぶ)の例を用いて、テストケースの生成方法を説明する。図16は、アプリAのアプリケーション情報の一例を示す図である。図16に示すアプリケーション情報260において、デフォルトパラメータ(defaultParameters)設定261として、言語が英語(language:"English")に設定されている。さらに、ユーザ入力パラメータ(userInputParameters)設定262として、分割ページ範囲(divisionPageRange)263と分割ページ数(divisionPageNumbers)267の2つの設定項目がある。分割ページ範囲263の設定項目は、入力タイプ(inputType)が選択型(select)264となっており、各ページ(Each Page)265と指定ページ(Specified Page)の2つの選択肢の中からユーザが選択する設定となっている。分割ページ数267の設定項目は、入力タイプ(inputType)がテキスト入力型(text)268となっており、ユーザが入力したテキストを設定する。ここで、分割ページ数267の最大値(max)269と最小値(min)270の値が、それぞれ100と0に設定されている。 Next, we will explain how to generate test cases using the example of an application (called app A) that performs OCR on a scanned document and divides the generated PDF file into pages. Figure 16 is a diagram showing an example of application information for app A. In the application information 260 shown in Figure 16, the language is set to English (language: "English") as the default parameter (defaultParameters) setting 261. Furthermore, the user input parameter (userInputParameters) setting 262 has two setting items: division page range (divisionPageRange) 263 and number of division pages (divisionPageNumbers) 267. The setting item for the page division range 263 has an input type (inputType) of select 264, and the user can select from two options: each page (Each Page) 265 and specified page (Specified Page). The setting item for the number of pages divided 267 has an input type (inputType) of text input (text) 268, and the text entered by the user is set. Here, the maximum value (max) 269 and minimum value (min) 270 for the number of pages divided 267 are set to 100 and 0, respectively.
このようなアプリケーション情報260に対してテストケースを生成するために、デフォルトパラメータ設定261、分割ページ範囲263、および分割ページ数267に対するパラメータの組み合わせを決定する。デフォルトパラメータ設定261は、設定値(英語)のまま固定とし、分割ページ範囲263は、2つの選択肢を共に用い、分割ページ数267は、最大値(=10)と最小値(=0)の2つの値を用いる。これらのパラメータの組み合わせの数は、1(デフォルトパラメータ設定261)×2(分割ページ範囲263)×2(分割ページ数267)=4となる。図17は、これら4種類のパラメータ設定の組み合わせ271~274を示す図である。図17に示すように、全ての組み合わせにおいて、デフォルトパラメータ設定261は、英語(English)となっている。また、分割ページ範囲263に関して、組み合わせ271、272は、各ページ(Each Page)となっており、組み合わせ273、274は、指定ページ(Specified Page)となっている。また、分割ページ数267に関して、組み合わせ271、273は、最小値(0)となっており、組み合わせ272、274は、最大値(100)となっている。 To generate test cases for this application information 260, parameter combinations are determined for the default parameter setting 261, page division range 263, and number of pages divided 267. The default parameter setting 261 is fixed at the setting value (English), the page division range 263 uses both options, and the number of pages divided 267 uses two values: the maximum value (=10) and the minimum value (=0). The number of combinations of these parameters is 1 (default parameter setting 261) x 2 (page division range 263) x 2 (number of pages divided 267) = 4. Figure 17 shows combinations 271 to 274 of these four types of parameter settings. As shown in Figure 17, the default parameter setting 261 is English for all combinations. Furthermore, with regard to the divided page range 263, combinations 271 and 272 are each page (Each Page), and combinations 273 and 274 are specified pages (Specified Page). Furthermore, with regard to the number of divided pages 267, combinations 271 and 273 are the minimum value (0), and combinations 272 and 274 are the maximum value (100).
図18は、本発明の実施形態に係るコンポーネント情報の一例を示す図である。図18は、図16に示したアプリケーション情報における設定ではなく、コンポーネント情報の設定値であり、OCRコンポーネント280のデフォルト値として、出力サイズ(outputSize)281が「A4」、Pdfコンポーネント282のデフォルト値として、分割ページ数(divisionPageNumbers)283が「2」に設定されている。テストケースの生成において、このようなコンポーネント情報のデフォルト値も参照して、パラメータの組み合わせに含めるようにする。 Figure 18 is a diagram showing an example of component information according to an embodiment of the present invention. Figure 18 shows the setting values of component information, rather than the settings in the application information shown in Figure 16, with the output size (outputSize) 281 set to "A4" as the default value for the OCR component 280, and the number of division pages (divisionPageNumbers) 283 set to "2" as the default value for the PDF component 282. When generating test cases, these default values of component information are also referenced and included in the parameter combinations.
図19は、本発明の実施形態に係る選択型のパラメータ設定の一例を示す図である。図19には、図16に示した選択型(select)264とは別の例として、英語(English)285、フランス語(French)286、ドイツ語(German)287の3つから選択する設定が示されている。このような場合、テストケースに3種類の組み合わせを含めるようにする。 Figure 19 is a diagram showing an example of a selection-type parameter setting according to an embodiment of the present invention. As an example different from the selection type (select) 264 shown in Figure 16, Figure 19 shows a setting to select from three languages: English 285, French 286, and German 287. In such a case, the test case should include three combinations.
図20は、本発明の実施形態に係るテキスト入力型のパラメータ設定の一例を示す図である。図20には、図16に示したテキスト入力型(text)268とは別の例として、ファイル名(filename)290に対して、ユーザが入力したテキストを設定する。図16に示した例と同様に、最大値(max=100)291と最小値(min=0)292が設定されている。ここで、ファイル名290の文字列を設定する場合は、テストケースにおけるパラメータ値として、最大値から最小値の間の文字数のランダムな文字列を生成して設定する。 Figure 20 is a diagram showing an example of text input type parameter settings according to an embodiment of the present invention. As an example different from the text input type (text) 268 shown in Figure 16, Figure 20 shows a file name (filename) 290 to which text entered by the user is set. As with the example shown in Figure 16, a maximum value (max = 100) 291 and a minimum value (min = 0) 292 are set. Here, when setting the character string for file name 290, a random character string with a number of characters between the maximum and minimum values is generated and set as the parameter value in the test case.
図21は、本発明の実施形態に係る自動テストの結果情報の一例を示す図である。図21に示す結果情報295は、アプリケーションID296、テスト実施日297、およびテスト結果298を有する。アプリケーションID296は、自動テストを実行したアプリケーションを特定するIDである。テスト実施日297は、自動テストを実行した日付である。テスト結果298は、自動テストの結果であり、成功の場合「OK」、失敗の場合「NG」、何等かの理由で自動テストを実施しなかった場合、あるいは実施予定の場合は、「未実施」を表示する。情報処理システム1において、テスト結果298が「OK」であるアプリケーションのみ登録することが可能である。 Figure 21 is a diagram showing an example of result information for an automatic test according to an embodiment of the present invention. The result information 295 shown in Figure 21 includes an application ID 296, a test implementation date 297, and a test result 298. The application ID 296 is an ID that identifies the application that executed the automatic test. The test implementation date 297 is the date on which the automatic test was executed. The test result 298 is the result of the automatic test, and displays "OK" if successful, "NG" if unsuccessful, or "Not executed" if the automatic test was not executed for some reason or is scheduled to be executed. Only applications for which the test result 298 is "OK" can be registered in the information processing system 1.
[第2の実施形態]
図22は、本発明の第2の実施形態に係る情報処理システム1の概略図の一例を示す図である。図1に示した第1の実施形態に係る情報処理システム1との構成の違いは、第2の実施形態においては、画像形成装置9(MFP)のみが、通信ネットワーク4を介してサーバ2と接続する点である。従って、図4で示した機能ブロックの構成図、および図5、図10、図12、図14に示したシーケンス図におけるデバイス20は、画像形成装置9に限定される。
Second Embodiment
Fig. 22 is a diagram showing an example of a schematic diagram of an information processing system 1 according to a second embodiment of the present invention. The difference in configuration from the information processing system 1 according to the first embodiment shown in Fig. 1 is that in the second embodiment, only the image forming apparatus 9 (MFP) is connected to the server 2 via the communication network 4. Therefore, the device 20 in the functional block configuration diagram shown in Fig. 4 and the sequence diagrams shown in Figs. 5, 10, 12, and 14 is limited to the image forming apparatus 9.
以上、本発明を実施するための幾つかの形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。 Although several embodiments for implementing the present invention have been described above, the present invention is in no way limited to these embodiments, and various modifications and substitutions can be made without departing from the spirit and scope of the present invention.
例えば、図4の機能ブロックの構成図の一例は、情報処理システム1による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理システム1の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。 For example, the example functional block diagram in Figure 4 is divided according to main functions to make it easier to understand the processing by information processing system 1. The method of dividing the processing units or their names does not limit the present invention. The processing of information processing system 1 can also be divided into even more processing units depending on the processing content. It can also be divided so that one processing unit includes even more processes.
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。 Furthermore, each function of the embodiments described above can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes processors programmed to perform each function by software, such as processors implemented in electronic circuits, as well as devices such as ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), FPGAs (Field Programmable Gate Arrays), and conventional circuit modules designed to perform each of the functions described above.
また、記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、情報処理システム1は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。 Furthermore, the described devices represent only one of several computing environments for implementing the embodiments disclosed herein. In one embodiment, information processing system 1 includes multiple computing devices, such as a server cluster. The multiple computing devices are configured to communicate with each other via any type of communication link, including a network, shared memory, etc., and to perform the processes disclosed herein.
また、第1通信部33、第2通信部24は、単に通信部と呼ばれることもある。 The first communication unit 33 and the second communication unit 24 are sometimes simply referred to as communication units.
1 情報処理システム
2 サーバ
3 端末装置
4 通信ネットワーク
5 機器
9 画像形成装置
20 デバイス
21 ブラウザ
22 操作受付部
23 表示制御部
24 第2通信部
30 Webサービス処理部30
31 画面構成部
32 アプリ実行部
33 第1通信部
40 ポータルサービス部
41 UI提供部
42 アプリ登録部
50 入出力サービス処理部
51 アプリ管理部
52 処理部
53 記憶部
60 コンポーネント部
61 OCR
62 メール送信
63 ファイルDL
64 バーコード付与
70 アプリデータ管理部
71 UI提供部
72 アプリデータ登録部
80 アプリ情報DB
81 負荷テスト結果情報DB
82 ポータル画面情報DB
1 Information processing system 2 Server 3 Terminal device 4 Communication network 5 Equipment 9 Image forming apparatus 20 Device 21 Browser 22 Operation reception unit 23 Display control unit 24 Second communication unit 30 Web service processing unit 30
31 Screen configuration unit 32 Application execution unit 33 First communication unit 40 Portal service unit 41 UI providing unit 42 Application registration unit 50 Input/output service processing unit 51 Application management unit 52 Processing unit 53 Storage unit 60 Component unit 61 OCR
62 Send email 63 Download file
64 Barcode assignment 70 Application data management unit 71 UI provision unit 72 Application data registration unit 80 Application information DB
81 Load test result information DB
82 Portal screen information DB
Claims (6)
前記負荷テストの実行画面を表示する表示制御部と、
前記実行画面に対するユーザによる前記負荷テストの実行要求を受け付ける操作受付部と、
前記アプリケーションに基づいて作成された負荷テスト用の処理フローの負荷を予め定めた割合で増加させる制御部と、
前記負荷に関する情報及び前記処理フローの実行要求を前記情報処理装置に送信する通信部と、
を有し、
前記制御部は、前記負荷として、前記処理フローの並列実行可能数を予め定めた割合で増加させる、
前記端末装置と、
前記端末装置からの前記負荷に関する情報及び前記実行要求を受け付けて、前記負荷を与えて前記処理フローを実行する処理部と、
前記負荷テストの実行結果が成功である場合の前記負荷に関する情報を性能目標値として記憶する記憶部と、
を有し、
前記処理部は、前記実行要求に基づいて、前記並列実行可能数の前記処理フローを並列に実行し、
前記記憶部は、前記実行結果が成功である場合の最大の前記並列実行可能数を記憶し、
前記記憶部は、前記処理フローが有する各処理に対応したコンポーネントのオペレーションごとに最大の並列実行可能数を記憶する、
前記情報処理装置と、
を有する情報処理システム。 An information processing system having an information processing device that executes a load test of an application in response to a request from a terminal device,
a display control unit that displays an execution screen of the load test;
an operation reception unit that receives a request to execute the load test from a user on the execution screen;
a control unit that increases the load of a process flow for load testing created based on the application at a predetermined rate;
a communication unit that transmits information about the load and a request to execute the process flow to the information processing device;
and
the control unit increases the number of processes that can be executed in parallel at a predetermined rate as the load;
the terminal device;
a processing unit that receives information about the load and the execution request from the terminal device, and applies the load to execute the processing flow;
a storage unit that stores information about the load when the execution result of the load test is successful as a performance target value;
and
the processing unit executes the parallel executable number of the process flows in parallel based on the execution request;
the storage unit stores the maximum number of parallel executable processes when the execution result is successful;
the storage unit stores a maximum number of operations that can be executed in parallel for each operation of a component corresponding to each process included in the process flow;
the information processing device;
An information processing system having the above.
前記端末装置からの負荷に関する情報及び実行要求を受け付けて、前記負荷を与えて処理フローを実行する処理部と、
前記負荷テストの実行結果が成功である場合の前記負荷に関する情報を性能目標値として記憶する記憶部と、
を有し、
前記処理部は、前記実行要求に基づいて、要求された並列実行可能数の前記処理フローを並列に実行し、
前記記憶部は、前記実行結果が成功である場合の最大の前記並列実行可能数を記憶し、
前記記憶部は、前記処理フローが有する各処理に対応したコンポーネントのオペレーションごとに最大の並列実行可能数を記憶する、
情報処理装置。 An information processing device that executes a load test of an application in response to a request from a terminal device,
a processing unit that receives information about a load and an execution request from the terminal device, and applies the load to execute a processing flow;
a storage unit that stores information about the load when the execution result of the load test is successful as a performance target value;
and
the processing unit executes the requested number of process flows in parallel based on the execution request;
the storage unit stores the maximum number of parallel executable processes when the execution result is successful;
the storage unit stores a maximum number of operations that can be executed in parallel for each operation of a component corresponding to each process included in the process flow;
Information processing device.
前記負荷テストの実行画面を表示する表示制御部と、
前記実行画面に対するユーザによる前記負荷テストの実行要求を受け付ける操作受付部と、
前記アプリケーションに基づいて作成された負荷テスト用の処理フローの負荷を予め定めた割合で増加させる制御部と、
前記負荷に関する情報及び前記処理フローの実行要求を前記情報処理装置に送信する通信部と、
を有し、
前記制御部は、前記負荷として、前記処理フローの並列実行可能数を予め定めた割合で増加させ、
前記通信部は、前記処理フローの並列実行の実行結果が成功である場合の最大の前記並列実行可能数を前記情報処理装置が記憶するために、該並列実行可能数を前記情報処理装置に送信し、
前記通信部は、前記処理フローが有する各処理に対応したコンポーネントのオペレーションごとに最大の並列実行可能数を前記情報処理装置が記憶するために、該並列実行可能数を前記情報処理装置に送信する、
端末装置。 A terminal device that requests an information processing device to perform a load test on an application,
a display control unit that displays an execution screen of the load test;
an operation reception unit that receives a request to execute the load test from a user on the execution screen;
a control unit that increases the load of a process flow for load testing created based on the application at a predetermined rate;
a communication unit that transmits information about the load and a request to execute the process flow to the information processing device;
and
the control unit increases the number of processes that can be executed in parallel at a predetermined rate as the load;
the communication unit transmits the maximum number of parallel executables to the information processing device when the parallel execution of the process flow is successful, so that the information processing device stores the maximum number of parallel executables;
the communication unit transmits the maximum number of operations that can be executed in parallel to the information processing device so that the information processing device stores the maximum number of operations that can be executed in parallel for each of the operations of the components corresponding to each process included in the processing flow;
Terminal device.
前記負荷テストの実行画面を表示するステップと、
前記実行画面に対するユーザによる前記負荷テストの実行要求を受け付けるステップと、
前記アプリケーションに基づいて作成された負荷テスト用の処理フローの負荷を予め定めた割合で増加させるステップと、
前記負荷に関する情報及び前記処理フローの実行要求を前記情報処理装置に送信するステップと、
前記負荷として、前記処理フローの並列実行可能数を予め定めた割合で増加させるステップと、
前記端末装置からの前記負荷に関する情報及び前記実行要求を受け付けて、前記負荷を与えて前記処理フローを実行するステップと、
前記負荷テストの実行結果が成功である場合の前記負荷に関する情報を性能目標値として記憶するステップと、
前記実行要求に基づいて、前記並列実行可能数の前記処理フローを並列に実行するステップと、
前記実行結果が成功である場合の最大の前記並列実行可能数を記憶するステップと、
前記処理フローが有する各処理に対応したコンポーネントのオペレーションごとに最大の並列実行可能数を記憶するステップと、
を有する情報処理方法。 1. An information processing method executed by an information processing system having an information processing device that executes a load test of an application in response to a request from a terminal device, comprising:
displaying an execution screen of the load test;
receiving a request to execute the load test from a user on the execution screen;
increasing the load of a process flow for load testing created based on the application at a predetermined rate;
transmitting information about the load and a request to execute the process flow to the information processing device;
increasing the number of processes that can be executed in parallel at a predetermined rate as the load;
receiving information about the load and the execution request from the terminal device, and applying the load to execute the processing flow;
storing information about the load when the execution result of the load test is successful as a performance target value;
executing the parallel executable number of the process flows in parallel based on the execution request;
storing the maximum number of parallel executable programs when the execution result is successful;
storing the maximum number of operations that can be executed in parallel for each operation of a component corresponding to each process included in the process flow;
An information processing method comprising:
前記負荷テストの実行画面を表示するステップと、
前記実行画面に対するユーザによる前記負荷テストの実行要求を受け付けるステップと、
前記アプリケーションに基づいて作成された負荷テスト用の処理フローの負荷を予め定めた割合で増加させるステップと、
前記負荷に関する情報及び前記処理フローの実行要求を前記情報処理装置に送信するステップと、
前記負荷として、前記処理フローの並列実行可能数を予め定めた割合で増加させるステップと、
前記処理フローの並列実行の実行結果が成功である場合の最大の前記並列実行可能数を前記情報処理装置が記憶するために、該並列実行可能数を前記情報処理装置に送信するステップと、
前記処理フローが有する各処理に対応したコンポーネントのオペレーションごとに最大の並列実行可能数を前記情報処理装置が記憶するために、該並列実行可能数を前記情報処理装置に送信するステップと、
を有する情報処理方法。 1. An information processing method executed by a terminal device that requests an information processing device to perform a load test on an application, comprising:
displaying an execution screen of the load test;
receiving a request to execute the load test from a user on the execution screen;
increasing the load of a process flow for load testing created based on the application at a predetermined rate;
transmitting information about the load and a request to execute the process flow to the information processing device;
increasing the number of processes that can be executed in parallel at a predetermined rate as the load;
transmitting the maximum number of parallel executable processes to the information processing device when the parallel execution of the process flow is successful, so that the information processing device can store the maximum number of parallel executable processes;
transmitting the maximum number of operations that can be executed in parallel to the information processing device so that the information processing device can store the maximum number of operations that can be executed in parallel for each process of a component that corresponds to each process included in the process flow;
An information processing method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021114207A JP7732249B2 (en) | 2021-07-09 | 2021-07-09 | Terminal device, information processing device, information processing system, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021114207A JP7732249B2 (en) | 2021-07-09 | 2021-07-09 | Terminal device, information processing device, information processing system, and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023010224A JP2023010224A (en) | 2023-01-20 |
JP7732249B2 true JP7732249B2 (en) | 2025-09-02 |
Family
ID=85118599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021114207A Active JP7732249B2 (en) | 2021-07-09 | 2021-07-09 | Terminal device, information processing device, information processing system, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7732249B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014038578A (en) | 2012-08-16 | 2014-02-27 | Fujitsu Ltd | Program, analytical method, and information processor |
JP2018067144A (en) | 2016-10-19 | 2018-04-26 | 株式会社リコー | System, information processing method, information processing apparatus, and program |
JP2018156591A (en) | 2017-03-21 | 2018-10-04 | 株式会社リコー | Information processing apparatus, information processing program, information processing system, and information processing method |
-
2021
- 2021-07-09 JP JP2021114207A patent/JP7732249B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014038578A (en) | 2012-08-16 | 2014-02-27 | Fujitsu Ltd | Program, analytical method, and information processor |
JP2018067144A (en) | 2016-10-19 | 2018-04-26 | 株式会社リコー | System, information processing method, information processing apparatus, and program |
JP2018156591A (en) | 2017-03-21 | 2018-10-04 | 株式会社リコー | Information processing apparatus, information processing program, information processing system, and information processing method |
Non-Patent Citations (1)
Title |
---|
山岡英明,榑松谷仁,小宮山 晃,特集2 負荷テストと検証がカギとなるWebシステム性能問題解決へのアプローチ,Part2 負荷テストツールを利用してWebアプリの性能テストを実施する,DB Magazine,日本,株式会社翔泳社,2008年01月01日,第17巻,第9号 ,pp.77-85 |
Also Published As
Publication number | Publication date |
---|---|
JP2023010224A (en) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10122870B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US11853627B2 (en) | Server system for obtaining a token for accessing a service | |
US10416940B2 (en) | Image processing apparatus, image processing system, and image processing method for interpreting content obtained from a web browser and displaying a screen based on the interpreted content | |
US20190369924A1 (en) | Printing Assistant System and Chatbot Device | |
US9794447B2 (en) | Service providing system, cooperation processing method, and information processing system | |
US10379797B2 (en) | Image forming apparatus that notifies a server, based on data size information, whether a portable document format is supported, and related method of controlling printing and printing system | |
US20160259933A1 (en) | Information processing system, information processing apparatus, and information processing method | |
US20170346981A1 (en) | Information processing system, information processing apparatus, and information processing method | |
JP7196600B2 (en) | Information processing system, server device, information processing method, and program | |
US11281411B2 (en) | Printing apparatus determines user information attached to print data and returns an authentication failure response to information processing apparatus, method for controlling printing apparatus, server system, and program | |
US20230388425A1 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
US11256455B2 (en) | Server generates URL and one time key | |
US20200396344A1 (en) | Information processing method, information processing apparatus, and storage medium | |
US11748173B2 (en) | Information processing system, information processing method, and storage medium for controlling virtual server that executes program | |
JP7732249B2 (en) | Terminal device, information processing device, information processing system, and information processing method | |
US10572580B2 (en) | Information processing apparatus, information processing method and information processing system | |
US20220053050A1 (en) | Information processing system, process executing system, process executing method, and recording medium | |
US20220303401A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US8760703B2 (en) | Job control system and job control method | |
US20220107767A1 (en) | Information processing system, server, and information processing method | |
JP2015056078A (en) | Information processing system, information processing method, and program | |
US12101451B2 (en) | Facsimile transmission system, facsimile transmission method, and non-transitory recording medium for determining which facsimile transmission is performed based on attribute | |
JP6417656B2 (en) | DATA PROCESSING DEVICE, DATA PROCESSING DEVICE CONTROL METHOD, AND DATA PROCESSING DEVICE CONTROL PROGRAM | |
US20230134065A1 (en) | Information processing system, service providing system, and application execution method | |
US20250247478A1 (en) | Storage medium storing application program, information processing apparatus, and method of controlling information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250430 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250627 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250722 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250804 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7732249 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |