JP6413779B2 - Information processing system, information processing method, and program - Google Patents

Information processing system, information processing method, and program Download PDF

Info

Publication number
JP6413779B2
JP6413779B2 JP2015006527A JP2015006527A JP6413779B2 JP 6413779 B2 JP6413779 B2 JP 6413779B2 JP 2015006527 A JP2015006527 A JP 2015006527A JP 2015006527 A JP2015006527 A JP 2015006527A JP 6413779 B2 JP6413779 B2 JP 6413779B2
Authority
JP
Japan
Prior art keywords
request
application
time
unit
response
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.)
Expired - Fee Related
Application number
JP2015006527A
Other languages
Japanese (ja)
Other versions
JP2016133867A (en
Inventor
安藤 光男
光男 安藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015006527A priority Critical patent/JP6413779B2/en
Publication of JP2016133867A publication Critical patent/JP2016133867A/en
Application granted granted Critical
Publication of JP6413779B2 publication Critical patent/JP6413779B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理システム、情報処理方法、及びプログラムに関する。   The present invention relates to an information processing system, an information processing method, and a program.

例えば、オフィス等に設置されている複合機等の共用機器は、複数のユーザによって入れ替わり立ち替わり利用される。また、近年では、インターネット等のネットワークを介して提供されているサービス(例えば、クラウドサービス等)にアクセス可能な機器も有る。   For example, shared devices such as multifunction peripherals installed in offices are replaced and used by a plurality of users. In recent years, there are devices that can access services (for example, cloud services) provided via a network such as the Internet.

上記のような利用形態を有する機器のアプリケーションは、ユーザによる操作に対する応答性が低下する場合が有る。このような機器は、並列的にタスクが実行される場合が多く、タスクの並列実行によって機器自体が高負荷状態になる可能性が有るからである。例えば、複合機であれば、大量の印刷やスキャン等の様々なタスクが並行的に実行されることにより、高負荷状態になる。   In the application of the device having the above usage form, the responsiveness to the operation by the user may be reduced. This is because such devices often execute tasks in parallel, and there is a possibility that the devices themselves will be in a high load state due to the parallel execution of tasks. For example, in the case of a multi-function peripheral, various tasks such as mass printing and scanning are executed in parallel, resulting in a high load state.

しかしながら、ネットワークを介して提供されているサービスと連携しているアプリケーションの応答性の低下の原因は、必ずしも機器自体が高負荷状態であることに限られない。例えば、機器自体は低負荷状態であるにも拘わらず、ネットワークの通信性能が低い若しくはネットワークの通信負荷が高いことも考えられる。又は、ネットワークを介して提供されているサービスへのアクセスが集中し、当該サービスの負荷が高まっていることも考えられる。   However, the cause of the decrease in the responsiveness of the application linked with the service provided via the network is not necessarily limited to the high load state of the device itself. For example, it is conceivable that the communication performance of the network is low or the communication load of the network is high although the device itself is in a low load state. Alternatively, it may be possible that access to services provided via a network is concentrated and the load on the services is increasing.

このように、応答性の低下に関して複数の原因が考えられる状況において、機器とネットワークを介して連携する情報処理システムとの通信環境の状態を知ることは、応答性の低下の原因の切り分けを行う上で有意義であると考えられる。   As described above, in a situation where a plurality of causes can be considered for the decrease in responsiveness, knowing the state of the communication environment between the device and the information processing system linked via the network identifies the cause of the decrease in responsiveness. It is considered significant above.

本発明は、上記の点に鑑みてなされたものであって、機器と情報処理システムとの間の通信環境の状態を推定可能とすることを目的とする。   SUMMARY An advantage of some aspects of the invention is that it is possible to estimate a state of a communication environment between a device and an information processing system.

そこで上記課題を解決するため、1以上の情報処理装置を含む情報処理システムは、ネットワークを介して接続される機器から第1の要求が受信されると、前記第1の要求に対する応答の返信時から前記第1の要求の後に前記機器から送信される第2の要求の受信時までの経過時間を、前記第1の要求と前記応答との通信時間の推定値として計測する計測部を有する。   Therefore, in order to solve the above problem, an information processing system including one or more information processing apparatuses receives a first request from a device connected via a network and returns a response to the first request. A measuring unit that measures an elapsed time from when the first request is received to when the second request transmitted from the device is received as an estimated value of a communication time between the first request and the response.

機器と情報処理システムとの間の通信環境の状態を推定可能とすることができる。   It is possible to estimate the state of the communication environment between the device and the information processing system.

第一の実施の形態における情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system in 1st embodiment. 第一の実施の形態における機器のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the apparatus in 1st embodiment. 第一の実施の形態におけるサービス提供装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the service provision apparatus in 1st embodiment. 第一の実施の形態における機器の機能構成例を示す図である。It is a figure which shows the function structural example of the apparatus in 1st embodiment. 機器側応答性監視アプリの機能構成例を示す図である。It is a figure which shows the function structural example of an apparatus side responsiveness monitoring application. 実待機時間計測部の状態遷移を示す図である。It is a figure which shows the state transition of a real waiting time measurement part. 第一の実施の形態におけるサービス提供装置の機能構成例を示す図である。It is a figure which shows the function structural example of the service provision apparatus in 1st embodiment. 第一の実施の形態における情報処理システムが実行する処理手順の一例を説明するための図である。It is a figure for demonstrating an example of the process sequence which the information processing system in 1st embodiment performs. 応答性設定記憶部の構成例を示す図である。It is a figure which shows the structural example of a responsiveness setting memory | storage part. 高負荷閾値記憶部の構成例を示す図である。It is a figure which shows the structural example of a high load threshold value memory | storage part. 機器側応答性監視アプリによって記録される情報の一例を示す図である。It is a figure which shows an example of the information recorded by the apparatus side responsiveness monitoring application. 各経過時間における印刷アプリのアプリ状態及びソケット通信状態を説明するための図である。It is a figure for demonstrating the application state and socket communication state of a printing application in each elapsed time. 各経過時間におけるスキャンアプリのアプリ状態及びソケット通信状態を説明するための図である。It is a figure for demonstrating the application state and socket communication state of a scanning application in each elapsed time. 呼び出し元のアプリ名の特定方法を説明するための図である。It is a figure for demonstrating the identification method of the caller's application name. 機器側応答性監視アプリによって記録される情報をグラフ化した図である。It is the figure which graphed the information recorded by the apparatus side responsiveness monitoring application. 遅延時間に対する閾値が二つである例を示す図である。It is a figure which shows the example whose threshold value with respect to delay time is two. 実待機時間の計測処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of the measurement process of real waiting time. pingコマンドを使用した通信環境の計測を説明するための図である。It is a figure for demonstrating the measurement of the communication environment using a ping command. 第二の実施の形態におけるサービス提供装置の機能構成例を示す図である。It is a figure which shows the function structural example of the service provision apparatus in 2nd embodiment. 第二の実施の形態におけるサーバ応答時間の推定方法を説明するための図である。It is a figure for demonstrating the estimation method of the server response time in 2nd embodiment. サーバ応答時間の推定に用いられるシーケンスの所要時間の内訳を示す図である。It is a figure which shows the breakdown of the required time of the sequence used for estimation of a server response time. 第二の実施の形態における情報処理システムが実行する処理手順の一例を説明するための図である。It is a figure for demonstrating an example of the process sequence which the information processing system in 2nd Embodiment performs. サーバ応答時間の計測処理の処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the process sequence of a server response time measurement process. 監視要求記憶部の構成例を示す図である。It is a figure which shows the structural example of the monitoring request | requirement memory | storage part. 第三の実施の形態におけるサービス提供装置の機能構成例を示す図である。It is a figure which shows the function structural example of the service provision apparatus in 3rd embodiment. 第三の実施の形態における情報処理システムが実行する処理手順の一例を説明するための図である。It is a figure for demonstrating an example of the process sequence which the information processing system in 3rd Embodiment performs.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態における情報処理システムの構成例を示す図である。図1に示される情報処理システム1において、サービス提供環境E2及びユーザ環境E1は、インターネット等の広域的なネットワークを介して通信可能とされている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the first embodiment. In the information processing system 1 shown in FIG. 1, the service providing environment E2 and the user environment E1 are communicable via a wide area network such as the Internet.

サービス提供環境E2は、ネットワークを介してクラウドサービスを提供する組織におけるシステム環境である。なお、本実施の形態では、クラウドサービスを具体例に採用して説明するが、ASP(Application Service Provider)によって提供されるサービスやWebサービス等、ネットワークを介して提供される他の形態のサービスに関して、本実施の形態が適用されてもよい。   The service providing environment E2 is a system environment in an organization that provides a cloud service via a network. In the present embodiment, a cloud service will be described as a specific example, but other forms of service provided via a network, such as a service provided by an ASP (Application Service Provider) or a Web service, will be described. The present embodiment may be applied.

サービス提供環境E2は、サービス提供装置20を有する。サービス提供装置20は、ネットワークを介して所定のサービスを提供する。サービス提供装置20が提供するサービスの一つとして、「クラウドスキャンサービス」を例示する。クラウドスキャンサービスとは、機器10においてスキャンされ、機器10より転送された画像データを、所定のストレージに配信するサービスをいうが、特にその呼称に限定されるものではない。なお、サービス提供装置20は、ユーザ環境E1に設置されてもよい。すなわち、サービス提供環境E2は、ユーザ環境E1に包含されてもよい。   The service providing environment E2 includes a service providing device 20. The service providing device 20 provides a predetermined service via a network. As one of the services provided by the service providing apparatus 20, a “cloud scan service” is exemplified. The cloud scan service refers to a service that distributes image data scanned by the device 10 and transferred from the device 10 to a predetermined storage, but is not particularly limited to the name. Note that the service providing apparatus 20 may be installed in the user environment E1. That is, the service providing environment E2 may be included in the user environment E1.

ユーザ環境E1は、機器10のユーザ企業等の組織におけるシステム環境である。ユーザ環境E1において、一台以上の機器10と管理者端末30とはLAN(Local Area Network)等のネットワークを介して接続されている。本実施の形態の機器10は、スキャン、印刷、コピー、及びファクス(FAX)通信等のうちの2以上の機能を1台の筐体で実現する複合機である。但し、上記のうちの1つの機能のみ、或いは他の機能を有する画像形成装置が機器10として利用されてもよい。また、プロジェクタ、電子黒板、又はテレビ会議システム等の画像形成装置以外の機器が、機器10として利用されてもよい。   The user environment E1 is a system environment in an organization such as a user company of the device 10. In the user environment E1, one or more devices 10 and the administrator terminal 30 are connected via a network such as a LAN (Local Area Network). The device 10 according to the present embodiment is a multifunction device that realizes two or more functions of scanning, printing, copying, fax (FAX) communication, and the like with a single casing. However, an image forming apparatus having only one of the above functions or another function may be used as the device 10. A device other than the image forming apparatus such as a projector, an electronic blackboard, or a video conference system may be used as the device 10.

管理者端末30は、ユーザ環境E1における機器10の管理者が使用する端末である。管理者端末30の一例として、PC(Personal Computer)、PDA(Personal Digital Assistance)、タブレット型端末、スマートフォン、又は携帯電話等が挙げられる。   The administrator terminal 30 is a terminal used by the administrator of the device 10 in the user environment E1. Examples of the administrator terminal 30 include a PC (Personal Computer), a PDA (Personal Digital Assistance), a tablet terminal, a smartphone, or a mobile phone.

図2は、第一の実施の形態における機器のハードウェア構成例を示す図である。図2において、機器10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。   FIG. 2 is a diagram illustrating a hardware configuration example of the device according to the first embodiment. In FIG. 2, the device 10 includes hardware such as a controller 11, a scanner 12, a printer 13, a modem 14, an operation panel 15, a network interface 16, and an SD card slot 17.

コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記憶されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記憶される。NVRAM115には、各種の設定情報等が記憶される。   The controller 11 includes a CPU 111, a RAM 112, a ROM 113, an HDD 114, an NVRAM 115, and the like. The ROM 113 stores various programs and data used by the programs. The RAM 112 is used as a storage area for loading a program, a work area for the loaded program, and the like. The CPU 111 realizes various functions by processing a program loaded in the RAM 112. The HDD 114 stores a program and various data used by the program. The NVRAM 115 stores various setting information and the like.

スキャナ12は、原稿より画像データを読み取るためのハードウェア(画像読取手段)である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア(印刷手段)である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段(表示装置)等を備えたハードウェアである。液晶パネルは、タッチパネル機能を有していてもよい。この場合、当該液晶パネルは、入力手段の機能をも兼ねる。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記憶されたプログラムを読み取るために利用される。すなわち、機器10では、ROM113に記憶されたプログラムだけでなく、SDカード80に記憶されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。   The scanner 12 is hardware (image reading means) for reading image data from a document. The printer 13 is hardware (printing means) for printing print data on printing paper. The modem 14 is hardware for connecting to a telephone line, and is used to execute transmission / reception of image data by FAX communication. The operation panel 15 is hardware including input means such as buttons for receiving input from a user, display means (display device) such as a liquid crystal panel, and the like. The liquid crystal panel may have a touch panel function. In this case, the liquid crystal panel also functions as an input unit. The network interface 16 is hardware for connecting to a network such as a LAN (whether wired or wireless). The SD card slot 17 is used for reading a program stored in the SD card 80. That is, in the device 10, not only the program stored in the ROM 113 but also the program stored in the SD card 80 can be loaded into the RAM 112 and executed. The SD card 80 may be replaced by another recording medium (for example, a CD-ROM or a USB (Universal Serial Bus) memory). That is, the type of recording medium corresponding to the positioning of the SD card 80 is not limited to a predetermined one. In this case, the SD card slot 17 may be replaced by hardware corresponding to the type of recording medium.

図3は、第一の実施の形態におけるサービス提供装置のハードウェア構成例を示す図である。図3のサービス提供装置20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205とを有する。   FIG. 3 is a diagram illustrating a hardware configuration example of the service providing apparatus according to the first embodiment. The service providing device 20 of FIG. 3 includes a drive device 200, an auxiliary storage device 202, a memory device 203, a CPU 204, and an interface device 205, which are mutually connected by a bus B.

サービス提供装置20での処理を実現するプログラムは、CD−ROM等の記録媒体201によって提供される。プログラムを記憶した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。   A program for realizing processing in the service providing apparatus 20 is provided by a recording medium 201 such as a CD-ROM. When the recording medium 201 storing the program is set in the drive device 200, the program is installed from the recording medium 201 to the auxiliary storage device 202 via the drive device 200. However, it is not always necessary to install the program from the recording medium 201, and the program may be downloaded from another computer via a network. The auxiliary storage device 202 stores the installed program and stores necessary files and data.

メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってサービス提供装置20に係る機能を実行する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。   The memory device 203 reads the program from the auxiliary storage device 202 and stores it when there is an instruction to start the program. The CPU 204 executes functions related to the service providing apparatus 20 in accordance with a program stored in the memory device 203. The interface device 205 is used as an interface for connecting to a network.

なお、サービス提供装置20は、図3に示されるようなハードウェアを有する複数のコンピュータによって構成されてもよい。すなわち、後述においてサービス提供装置20が実行する処理は、複数のコンピュータに分散されて実行されてもよい。   The service providing apparatus 20 may be configured by a plurality of computers having hardware as shown in FIG. That is, the process executed by the service providing apparatus 20 in the later description may be executed by being distributed to a plurality of computers.

図4は、第一の実施の形態における機器の機能構成例を示す図である。図4において、機器10は、SDKアプリ120、SDKプラットフォーム130、コントロールサービス141、ソケットサービス142、ソケットフック部143、及びイベントフック部144等を有する。   FIG. 4 is a diagram illustrating a functional configuration example of the device according to the first embodiment. 4, the device 10 includes an SDK application 120, an SDK platform 130, a control service 141, a socket service 142, a socket hook unit 143, an event hook unit 144, and the like.

SDKアプリ120は、機器10の出荷後において、機器10の機能拡張を図るために追加的にインストールされるアプリケーションプログラム(又はプラグイン、Browserアプリなどともいう。)である。同図では、SDKアプリ120の一例として、スキャンアプリ120a、印刷アプリ120b、及び機器側応答性監視アプリ120c等が示されている。   The SDK application 120 is an application program (or a plug-in or a browser application) that is additionally installed after the device 10 is shipped in order to expand the functions of the device 10. In the figure, as an example of the SDK application 120, a scan application 120a, a print application 120b, a device-side response monitoring application 120c, and the like are illustrated.

スキャンアプリ120aは、原稿からの画像データの読み取りと、当該画像データのサービス提供装置20へアップロードとを機器10に実行させるSDKアプリ120である。サービス提供装置20へアップロードされた画像データは、所定の宛先に配信される。   The scan application 120 a is an SDK application 120 that causes the device 10 to read image data from a document and upload the image data to the service providing apparatus 20. The image data uploaded to the service providing device 20 is distributed to a predetermined destination.

印刷アプリ120bは、サービス提供装置20へ事前にアップロードされている印刷データのダウンロードと、当該印刷データの印刷とを機器10に実行させるSDKアプリ120である。なお、本実施の形態において、印刷データとは、印刷対象のデータを意味する。したがって、印刷データは、必ずしも、PDL(Page Description Language)等の特定の言語によって記述されたデータに限定されない。例えば、文書データ等、PDLデータに変換前のデータが、印刷データであってもよい。   The print application 120b is an SDK application 120 that causes the device 10 to download print data uploaded in advance to the service providing apparatus 20 and print the print data. In the present embodiment, the print data means data to be printed. Therefore, the print data is not necessarily limited to data described in a specific language such as PDL (Page Description Language). For example, data before conversion into PDL data, such as document data, may be print data.

機器側応答性監視アプリ120cは、機器10において起動されている各SDKアプリ120の状態監視や、機器10の負荷状態の計測等を機器10に実行させるSDKアプリ120である。   The device-side responsiveness monitoring application 120c is an SDK application 120 that causes the device 10 to perform status monitoring of each SDK application 120 activated in the device 10, measurement of the load state of the device 10, and the like.

なお、機器10には、SDKアプリ120以外に、標準的なアプリケーションプログラムが、出荷時に予め実装されていてもよい。   In addition to the SDK application 120, a standard application program may be preinstalled in the device 10 at the time of shipment.

SDKプラットフォーム130は、SDKアプリ120を開発するためのAPI(Application Program Interface)を備え、SDKアプリ120の実行環境を提供する。APIの形態は、例えば、関数であってもよいし、オブジェクト指向プログラミングにおけるクラスのメソッド等であってもよい。以下、SDKプラットフォーム130が提供するAPIを、「SDKAPI」という。例えば、SDKプラットフォーム130は、スキャン機能に関するSDKAPI、印刷機能に関するSDKAPI、コピー機能に関するSDKAPI、通信に関するAPI等をSDKアプリ120に提供する。SDKAPIは公開されており、サードベンダ等によってもSDKアプリ120は開発されうる。なお、SDKプラットフォーム130は、Java(登録商標)VM(Virtual Machine)(以下、単に、「JavaVM」という。)を含んでいてもよい。この場合、SDKアプリ120は、Java(登録商標)言語によって実装される。例えば、SDKアプリ120は、Xletアプリとして実装されてもよい。   The SDK platform 130 includes an API (Application Program Interface) for developing the SDK application 120 and provides an execution environment for the SDK application 120. The form of the API may be, for example, a function or a class method in object-oriented programming. Hereinafter, the API provided by the SDK platform 130 is referred to as “SDKAPI”. For example, the SDK platform 130 provides the SDK application 120 with an SDK API related to the scan function, an SDK API related to the print function, an SDK API related to the copy function, an API related to communication, and the like. The SDK API is open to the public, and the SDK application 120 can be developed by a third vendor or the like. The SDK platform 130 may include a Java (registered trademark) VM (Virtual Machine) (hereinafter simply referred to as “Java VM”). In this case, the SDK application 120 is implemented in the Java (registered trademark) language. For example, the SDK application 120 may be implemented as an Xlet application.

図4において、SDKプラットフォーム130は、アプリ管理部131、パネル管理部132、パネルサービス部133、スキャンサービス部134、及び印刷サービス部135等を含む。   4, the SDK platform 130 includes an application management unit 131, a panel management unit 132, a panel service unit 133, a scan service unit 134, a print service unit 135, and the like.

アプリ管理部131は、各SDKアプリ120のライフサイクルを管理する。すなわち、SDKアプリ120は、明確に定義されたライフサイクルモデルに従って動作する。ライフサイクルとは、例えば、起動状態、アクティブ状態、一時停止状態、及び終了状態の状態遷移を意味する。起動状態は、SDKアプリ120の起動時において初期化処理が実行される状態である。アクティブ状態は、SDKアプリ120が有する機能が実行される状態である。一時停止状態は、SDKアプリ120が有する機能が一時的に停止される状態である。終了状態は、SDKアプリ120が終了する状態である。   The application management unit 131 manages the life cycle of each SDK application 120. That is, the SDK application 120 operates according to a clearly defined life cycle model. The life cycle means, for example, a state transition of an activated state, an active state, a paused state, and an end state. The activated state is a state in which initialization processing is executed when the SDK application 120 is activated. The active state is a state in which the function of the SDK application 120 is executed. The temporary stop state is a state in which the function of the SDK application 120 is temporarily stopped. The end state is a state in which the SDK application 120 ends.

図4には、スキャンアプリ120a及び印刷アプリ120bのそれぞれの内部に、状態遷移図が示されている。それぞれの状態遷移図において、アクティブ状態の内部は、操作画面の遷移を示す。例えば、スキャンアプリ120aの操作画面は、スキャン指定画面、スキャン実行画面、スキャン配信画面の順で遷移することが示されている。スキャン指定画面は、スキャンの設定情報等を受け付けるための画面である。スキャン実行画面は、スキャンの実行中に表示される画面である。スキャン配信画面は、スキャンされた画像データの配信中(アップロード中)に表示される画面である。また、印刷アプリ120bの操作画面は、印刷指定画面、印刷データ取得画面、及び印刷中画面の順で遷移することが示されている。印刷指定画面は、印刷の設定情報等を受け付けるための画面である。印刷データ取得画面は、印刷データのダウンロード中に表示される画面である。印刷中画面は、印刷の実行中に表示される画面である。   FIG. 4 shows a state transition diagram inside each of the scan application 120a and the print application 120b. In each state transition diagram, the inside of the active state indicates the transition of the operation screen. For example, the operation screen of the scan application 120a is shown to transition in the order of a scan designation screen, a scan execution screen, and a scan distribution screen. The scan designation screen is a screen for receiving scan setting information and the like. The scan execution screen is a screen displayed during the execution of the scan. The scan distribution screen is a screen displayed during distribution (uploading) of scanned image data. Further, it is shown that the operation screen of the print application 120b transitions in the order of a print designation screen, a print data acquisition screen, and a printing screen. The print designation screen is a screen for accepting print setting information and the like. The print data acquisition screen is a screen displayed during download of print data. The printing screen is a screen displayed during execution of printing.

パネル管理部132は、アプリ管理部131の指示に従い、操作パネル15の利用権限(以下、「パネル利用権限」という。)を管理する。すなわち、SDKアプリ120間において、操作パネル15の利用(操作パネル15への操作画面の表示)は、排他的である。したがって、基本的に、或る瞬間において、パネル利用権限が与えられるSDKアプリ120は一つであり、斯かるパネル利用権限の授与及び回収等が、パネル管理部132によって行われる。本実施の形態では、アクティブ状態に遷移したSDKアプリ120に、パネル利用権限が授与される。したがって、基本的に、アクティブ状態への遷移は排他的である。また、アクティブ状態でないことは(例えば、一時停止状態であること)、パネル利用権限を有さないこと、すなわち、バックグラウンドで動作中であることを示す。なお、一時停止状態は、必ずしも処理が完全に停止する状態であるとは限らない。パネル利用権限を有さなくても実行可能な機能を有するSDKアプリ120については、一時停止状態において、当該機能に係る処理が実行される場合が有る。例えば、印刷アプリ120bは、印刷指定後において、バックグラウンドで印刷データの取得及び印刷を実行可能である。したがって、印刷アプリ120bは、一時停止状態において、印刷データの取得及び印刷を実行する場合がある。そうすることで、例えば、印刷が完了するまで他のSDKアプリ120(例えば、スキャンアプリ120a)を利用できないといった不都合の発生を回避することができる。したがって、或るSDKアプリ120のアクティブ状態と他のSDKアプリ120の一時停止状態とが並行することで、2以上のSDKアプリ120の処理が並列的に実行される可能性が有る。   The panel management unit 132 manages the usage authority (hereinafter referred to as “panel usage authority”) of the operation panel 15 in accordance with the instruction of the application management unit 131. That is, use of the operation panel 15 (display of the operation screen on the operation panel 15) is exclusive between the SDK applications 120. Therefore, basically, there is one SDK application 120 to which panel usage authority is given at a certain moment, and such panel usage authority is given and collected by the panel management unit 132. In the present embodiment, panel use authority is granted to the SDK application 120 that has transitioned to the active state. Therefore, basically, the transition to the active state is exclusive. In addition, being not in an active state (for example, being in a suspended state) indicates that the user does not have panel use authority, that is, operating in the background. Note that the pause state is not necessarily a state where the process is completely stopped. With respect to the SDK application 120 having a function that can be executed without having the panel use authority, processing related to the function may be executed in a paused state. For example, the print application 120b can acquire and print print data in the background after print designation. Accordingly, the print application 120b may execute acquisition and printing of print data in a paused state. By doing so, for example, it is possible to avoid the inconvenience that other SDK application 120 (for example, the scan application 120a) cannot be used until printing is completed. Therefore, there is a possibility that the processing of two or more SDK applications 120 may be executed in parallel because the active state of a certain SDK application 120 and the suspended state of another SDK application 120 are in parallel.

パネルサービス部133は、操作パネル15に対する操作画面等の描画に関するSDKAPIを提供する。パネルサービス部133は、パネル管理部132によってパネル利用権限が授与されたSDKアプリ120による当該SDKAPIの呼び出しに応じ、当該SDKアプリ120の操作画面の描画等を行う。   The panel service unit 133 provides SDKAPI related to drawing of an operation screen or the like for the operation panel 15. The panel service unit 133 renders the operation screen of the SDK application 120 in response to the SDK API 120 being called by the SDK application 120 to which the panel use authority is granted by the panel management unit 132.

スキャンサービス部134は、スキャンの実行に関するSDKAPIを提供し、SDKアプリ120による当該SDKAPIの呼び出しに応じ、スキャンの実行制御等を行う。当該実行制御に関して、スキャンサービス部134からコントロールサービス141に対してスキャンの実行要求が入力される。スキャンサービス部134は、複数のSDKアプリ120からの要求について、排他制御を行う。   The scan service unit 134 provides SDKAPI related to scan execution, and performs scan execution control and the like in response to the SDK API call by the SDK application 120. Regarding the execution control, a scan execution request is input from the scan service unit 134 to the control service 141. The scan service unit 134 performs exclusive control on requests from the plurality of SDK applications 120.

印刷サービス部135は、印刷の実行に関するSDKAPIを提供し、SDKアプリ120による当該SDKAPIの呼び出しに応じ、印刷の実行制御等を行う。当該実行制御に関して、印刷サービス部135からコントロールサービス141に対して印刷の実行要求が入力される。印刷サービス部135は、複数のSDKアプリ120からの要求について、排他制御を行う。   The print service unit 135 provides SDKAPI related to execution of printing, and performs execution control of printing in response to the calling of the SDKAPI by the SDK application 120. Regarding the execution control, a print execution request is input from the print service unit 135 to the control service 141. The print service unit 135 performs exclusive control on requests from the plurality of SDK applications 120.

コントロールサービス141は、各種のハードウェアリソース等を制御するための機能(API)を上位ソフトウェア等(ここでは、SDKプラットフォーム130等)に対して提供するソフトウェアモジュール群である。例えば、コントロールサービス141は、スキャナ12の制御機能、プリンタ13の制御機能、メモリ(RAM112、ROM113、及びNVRAM115等)の管理機能等を有する。なお、本実施の形態において、コントロールサービス141は、C又はC++によるAPIを提供する。一方、SDKAPIは、Java(登録商標)言語によるAPIである。SDKAPIは、コントロールサービス141が提供するAPIについて、機種の相違に対して平滑化されたJava(登録商標)によるAPIであってもよい。その結果、各SDKアプリ120の機種に対する依存度を低下させることができる。   The control service 141 is a software module group that provides functions (API) for controlling various hardware resources and the like to higher-level software and the like (here, the SDK platform 130 and the like). For example, the control service 141 has a control function of the scanner 12, a control function of the printer 13, a management function of memories (such as the RAM 112, the ROM 113, and the NVRAM 115). In the present embodiment, the control service 141 provides an API based on C or C ++. On the other hand, SDKAPI is an API in Java (registered trademark) language. The SDK API may be an API based on Java (registered trademark) that is smoothed with respect to a difference in model for the API provided by the control service 141. As a result, the dependency of each SDK application 120 on the model can be reduced.

ソケットサービス142は、ソケット通信に関するAPIを提供し、当該APIの呼び出しに応じた処理を実行する。   The socket service 142 provides an API related to socket communication, and executes processing according to the API call.

ソケットフック部143は、ソケットサービス142が含むソケットモジュールの呼び出しを監視し、ソケット通信が行われたことを、予めソケットフック部143に対して登録されている通知先に通知する。本実施の形態では、機器側応答性監視アプリ120cが通知先として登録される。斯かる通知先の登録は、イベントリスナーを用いて実現されてもよい。イベントリスナーとは、イベントの通知を受け付けるためのメソッドを有するオブジェクトをいう。イベントの通知を受けたい側(ここでは、機器側応答性監視アプリ120c)は、イベントの通知元(ここでは、ソケットフック部143)が呼び出し可能なメソッドを有するイベントリスナーを生成し、当該イベントリスナーを、イベントの通知元に登録する。イベントの通知元は、通知すべきイベント(ここでは、ソケット通信)を検知すると、登録されているイベントリスナーのメソッドを呼び出すことで、当該イベントの発生を、通知先に通知する。なお、以下に示されるようなJava(登録商標)言語の関数を利用して、ソケットフック部143が実装されてもよい。   The socket hook unit 143 monitors the calling of the socket module included in the socket service 142 and notifies the notification destination registered in advance with respect to the socket hook unit 143 that the socket communication has been performed. In the present embodiment, the device-side responsiveness monitoring application 120c is registered as a notification destination. Such notification destination registration may be realized using an event listener. An event listener is an object having a method for receiving notification of an event. The side that wants to receive the event notification (here, the device-side responsiveness monitoring application 120c) generates an event listener having a method that can be called by the event notification source (here, the socket hook unit 143). Is registered in the event notification source. When the event notification source detects an event to be notified (here, socket communication), the event notification source notifies the notification destination of the occurrence of the event by calling a registered event listener method. Note that the socket hook unit 143 may be mounted using a Java (registered trademark) language function as described below.

public static void Socket.setSocketImplFactory(SocketImplFactory fac)
イベントフック部144は、SDKプラットフォーム130とコントロールサービス141とのやりとりを(通信)監視し、当該やりとりが行われたことを、予めイベントフック部144に登録されている通知先に通知する。当該通知先についても、イベントフック部144に対応したイベントリスナーが用いられて実現されてもよい。なお、コントロールサービス141は、SDKプラットフォーム130より下層に位置するため、機器10のハードウェアにより近い位置に存在する。したがって、機器10のハードウェアに関して発生したイベント(例えば、キー操作)は、コントロールサービス141からSDKプラットフォーム130に通知される。また、SDKプラットフォーム130が、機器10のハードウェアを利用したい場合、コントロールサービス141に対して当該ハードウェアの利用に関する要求が行われる。このようなやりとりが、イベントフック部144によって監視される。
public static void Socket.setSocketImplFactory (SocketImplFactory fac)
The event hook unit 144 monitors (communication) the exchange between the SDK platform 130 and the control service 141 and notifies the notification destination registered in the event hook unit 144 in advance that the exchange has been performed. The notification destination may also be realized using an event listener corresponding to the event hook unit 144. Since the control service 141 is located below the SDK platform 130, the control service 141 is located closer to the hardware of the device 10. Therefore, an event (for example, key operation) that has occurred with respect to the hardware of the device 10 is notified from the control service 141 to the SDK platform 130. In addition, when the SDK platform 130 wants to use the hardware of the device 10, a request for using the hardware is made to the control service 141. Such an exchange is monitored by the event hook unit 144.

機器側応答性監視アプリ120cについて更に詳しく説明する。図5は、機器側応答性監視アプリの機能構成例を示す図である。図5に示されるように、機器側応答性監視アプリ120cは、実待機時間計測部121、遅延時間算出部122、負荷抑制部123、キー操作監視部124、ソケット監視部125、及び状態監視部126等として、機器10を機能させる。なお、これら各部は、それぞれ異なるスレッドとして起動されてもよい。   The device side responsiveness monitoring application 120c will be described in more detail. FIG. 5 is a diagram illustrating a functional configuration example of the device-side response monitoring application. As shown in FIG. 5, the device-side responsiveness monitoring application 120c includes an actual standby time measurement unit 121, a delay time calculation unit 122, a load suppression unit 123, a key operation monitoring unit 124, a socket monitoring unit 125, and a state monitoring unit. The device 10 is caused to function as 126 or the like. Note that these units may be activated as different threads.

実待機時間計測部121は、実待機時間計測部121として機器10を機能させるスレッドについて、待機状態の所要時間を計測する。すなわち、実待機時間計測部121は、指定された待機時間(以下、「指定時間」という。)の待機と、待機からの復帰への状態遷移とを繰り返し、当該待機の開始から復帰までの経過時間(以下、「実待機時間」という。)を計測する。なお、実待機時間計測部121に係るスレッドの優先度は、他のSDKアプリ120のスレッドの優先度と同等とされるのが望ましい。当該優先度は、OS(Operating System)において管理される優先度である。   The actual standby time measuring unit 121 measures the time required for the standby state for the thread that causes the device 10 to function as the actual standby time measuring unit 121. That is, the actual standby time measurement unit 121 repeats standby for a specified standby time (hereinafter referred to as “specified time”) and state transition from standby to return, and the elapsed time from the start of standby to return. Time (hereinafter referred to as “actual standby time”) is measured. Note that the priority of the thread related to the actual standby time measuring unit 121 is preferably equal to the priority of the thread of the other SDK application 120. The priority is a priority managed in an OS (Operating System).

図6は、実待機時間計測部の状態遷移を示す図である。図6に示される状態遷移図において、Running状態は、上記での実行状態である。TimedWaiting状態は、上記での待機状態である。   FIG. 6 is a diagram illustrating state transition of the actual standby time measurement unit. In the state transition diagram shown in FIG. 6, the Running state is the execution state described above. The Timed Waiting state is the standby state described above.

実待機時間計測部121は、Running状態からTimedWaiting状態へ遷移する際に、Running状態の退出時の時刻を記録しておく。TimedWaiting状態へ遷移すると、実待機時間計測部121は、指定時間分の待機を開始する。TimedWaiting状態において指定時間経過後、実待機時間計測部121は、Running状態へ遷移する。但し、機器10の負荷状態によっては、Running状態へ遷移が指定時間に対して遅れる場合が有る。実待機時間計測部121は、Running状態への遷移時に、前回のRunning状態の退出時刻から現在時刻までの経過時間(実待機時間)を計測し、計測結果を、例えば、RAM112に記録する。ここで、Running状態へ遷移が指定時間に対して遅れた場合、実待機時間は、指定時間よりも長くなる。   The actual standby time measuring unit 121 records the time when the running state is exited when the running state transits from the running state to the timed waiting state. When transitioning to the Timed Waiting state, the actual standby time measuring unit 121 starts standby for a specified time. After the specified time has elapsed in the Timed Waiting state, the actual standby time measurement unit 121 transitions to the Running state. However, depending on the load state of the device 10, the transition to the Running state may be delayed with respect to the specified time. The actual standby time measuring unit 121 measures the elapsed time (actual standby time) from the exit time of the previous Running state to the current time at the time of transition to the Running state, and records the measurement result in the RAM 112, for example. Here, when the transition to the Running state is delayed with respect to the specified time, the actual waiting time becomes longer than the specified time.

すなわち、一般的に、非リアルタイムOSの場合、決められた時間に処理が完了することは保障されていない。スレッドのスケジュールは、OSが担っており、システムが高負荷で無い場合は、遅延が大きくなることがないが、高負荷の場合は遅延が大きくなる。例えば、相対的に高い優先度のプロセス(スレッド)が優先して実行されている場合や、低い優先度のプロセス(スレッド)がリソースを占有し、高い優先度のプロセス(スレッド)による当該リソースへのアクセスがブロックされる場合等において、遅延が大きくなる。   That is, generally, in the case of a non-real-time OS, it is not guaranteed that the processing is completed at a predetermined time. The OS is responsible for the thread schedule. When the system is not under high load, the delay does not increase, but when the system is under high load, the delay increases. For example, when a relatively high priority process (thread) is preferentially executed, or when a low priority process (thread) occupies a resource, the high priority process (thread) moves to the resource. When access is blocked, the delay increases.

そこで、SDKアプリ120と同一の優先度のスレッドについて、図6に示される状態遷移の遅延(≒スレッドスケジュールの遅延)を測定することで、SDKアプリ120の応答の遅延が予測できると考えられる。なお、OSのプロセス(スレッド)スケジューラは、スレッドの優先順位に応じて公平に処理順番を決めるが、低い優先度のスレッドが高い優先度のスレッドをブロックする場合もあるので、実行される順番は、OSのスケジューラの仕様で決まる。   Therefore, it is considered that the delay of the response of the SDK application 120 can be predicted by measuring the state transition delay (≈delay of thread schedule) shown in FIG. 6 for the thread having the same priority as the SDK application 120. Note that the OS process (thread) scheduler determines the processing order fairly according to the priority of the threads, but the low priority threads may block the high priority threads, so the execution order is , Determined by OS scheduler specifications.

遅延時間算出部122は、機器10(SDKアプリ120)の応答の遅延時間とスレッドの状態遷移の遅延時間とについて、以下の式(1)で示される相関に着目して、実待機時間に基づいて、機器10の負荷の程度を示す指標値を生成する。   The delay time calculation unit 122 focuses on the correlation indicated by the following formula (1) for the response delay time of the device 10 (SDK application 120) and the delay time of the thread state transition, and based on the actual standby time. Thus, an index value indicating the degree of load on the device 10 is generated.

機器10の応答の遅延時間≒スレッドの状態遷移の遅延時間 ・・・(1)
ここで、スレッドの状態遷移の遅延時間は、以下の式(2)によって求められる。
Delay time of response of device 10 ≈ Delay time of thread state transition (1)
Here, the delay time of the thread state transition is obtained by the following equation (2).

スレッドの状態遷移の遅延時間=現時点のRunning状態入場時刻−前回のRunning状態退出時刻−指定時間 ・・・(2)
スレッドの状態遷移の遅延時間は、機器10の負荷の程度を示す指標値の一例である。すなわち、遅延時間算出部122は、実待機時間計測部121によって計測される実待機時間と、実待機時間計測部121に対する指定時間との比較に基づいて、機器10の負荷の程度を示す指標値を生成する。
Thread state transition delay time = current running state entry time-previous running state exit time-designated time (2)
The delay time of the state transition of the thread is an example of an index value indicating the degree of load on the device 10. That is, the delay time calculation unit 122 is an index value indicating the degree of load on the device 10 based on a comparison between the actual standby time measured by the actual standby time measurement unit 121 and the specified time for the actual standby time measurement unit 121. Is generated.

負荷抑制部123は、遅延時間算出部122によって算出される遅延時間と、遅延時間に対する閾値とを継続的に比較し、比較結果が所定の条件を満たす場合(例えば、遅延時間が閾値以上である場合)に、機器10が高負荷状態であると判定する。負荷抑制部123は、機器10が高負荷状態であると判定された場合に、機器10の負荷を低下させるための処理を実行して、当該高負荷状態の解消を試みる。機器10の負荷を低下させる処理の一例として、機器10おいて起動されている一部のプログラムに係る処理の制限が挙げられる。   The load suppression unit 123 continuously compares the delay time calculated by the delay time calculation unit 122 with a threshold value for the delay time, and the comparison result satisfies a predetermined condition (for example, the delay time is equal to or greater than the threshold value). Case), it is determined that the device 10 is in a high load state. When it is determined that the device 10 is in a high load state, the load suppressing unit 123 performs a process for reducing the load on the device 10 and tries to eliminate the high load state. As an example of processing for reducing the load on the device 10, there is a limitation on processing related to a part of programs activated in the device 10.

キー操作監視部124は、機器10の操作パネル15に対するハードウェアキーの操作を監視し、検出されたキー操作の履歴を記録する。例えば、キー操作監視部124は、イベントフック部144に対してイベントリスナーを登録しておくことにより、キー操作の発生を検知することができる。   The key operation monitoring unit 124 monitors hardware key operations on the operation panel 15 of the device 10 and records a history of detected key operations. For example, the key operation monitoring unit 124 can detect the occurrence of a key operation by registering an event listener in the event hook unit 144.

ソケット監視部125は、各SDKアプリ120によるソケット通信を監視し、ソケット通信の履歴を記録する。例えば、ソケット監視部125は、ソケットフック部143にイベントリスナーを登録しておくことにより、ソケット通信の発生を検知することができる。   The socket monitoring unit 125 monitors socket communication by each SDK application 120 and records a history of socket communication. For example, the socket monitoring unit 125 can detect the occurrence of socket communication by registering an event listener in the socket hook unit 143.

状態監視部126は、各SDKアプリ120の起動状態、アクティブ状態、一時停止状態、及び終了状態等に関する状態遷移等を監視し、状態遷移の履歴を記録する。例えば、状態監視部126は、アプリ管理部131に対してイベントリスナーを登録しておくことにより、各SDKアプリ120の状態遷移を検知することができる。また、状態監視部126は、パネル管理部132にイベントリスナーを登録しておくことにより、いずれかのSDKアプリ120によるパネル利用権限の獲得を検知することができる。更に、状態監視部126は、パネルサービス部133にイベントリスナーを登録しておくことにより、各SDKアプリ120の操作画面の画面遷移を検知することができる。   The state monitoring unit 126 monitors state transitions and the like related to the activation state, active state, suspension state, end state, and the like of each SDK application 120, and records a history of state transitions. For example, the state monitoring unit 126 can detect the state transition of each SDK application 120 by registering an event listener in the application management unit 131. Further, the state monitoring unit 126 can detect acquisition of the panel use authority by any of the SDK applications 120 by registering an event listener in the panel management unit 132. Furthermore, the state monitoring unit 126 can detect a screen transition of the operation screen of each SDK application 120 by registering an event listener in the panel service unit 133.

図7は、第一の実施の形態におけるサービス提供装置の機能構成例を示す図である。図7において、サービス提供装置20は、スキャンサーバアプリ21a、印刷サーバアプリ21b、及び機器側応答性監視サーバアプリ21c等のサーバアプリ21を有する。各サーバアプリ21は、機器10におけるSDKアプリ120と連携するための処理を、サービス提供装置20のCPU204に実行させるアプリケーションプログラムである。スキャンサーバアプリ21aは、スキャンアプリ120aと連携する。印刷サーバアプリ21bは、印刷アプリ120bと連携する。機器側応答性監視サーバアプリ21cは、機器側応答性監視アプリ120cと連携する。   FIG. 7 is a diagram illustrating a functional configuration example of the service providing apparatus according to the first embodiment. In FIG. 7, the service providing apparatus 20 includes server applications 21 such as a scan server application 21a, a print server application 21b, and a device-side responsiveness monitoring server application 21c. Each server application 21 is an application program that causes the CPU 204 of the service providing apparatus 20 to execute processing for linking with the SDK application 120 in the device 10. The scan server application 21a cooperates with the scan application 120a. The print server application 21b cooperates with the print application 120b. The device-side responsiveness monitoring server application 21c cooperates with the device-side responsiveness monitoring application 120c.

サービス提供装置20は、また、印刷データ記憶部211、応答性設定記憶部221、高負荷閾値記憶部222、高負荷情報記憶部223、及び負荷低下情報記憶部224等を利用する。これら各記憶部は、補助記憶装置202、又はサービス提供装置20にネットワークを介して接続可能な記憶装置等を用いて実現可能である。   The service providing apparatus 20 also uses a print data storage unit 211, a responsiveness setting storage unit 221, a high load threshold storage unit 222, a high load information storage unit 223, a load reduction information storage unit 224, and the like. Each of these storage units can be realized by using a storage device that can be connected to the auxiliary storage device 202 or the service providing device 20 via a network.

印刷データ記憶部211は、機器10の印刷アプリ120bによって印刷される印刷データを記憶する。応答性設定記憶部221、高負荷閾値記憶部222、高負荷情報記憶部223、及び負荷低下情報記憶部224は、機器側応答性監視アプリ120cに関する設定情報や、機器側応答性監視アプリ120cから通知される情報等を記憶する。   The print data storage unit 211 stores print data to be printed by the print application 120b of the device 10. The responsiveness setting storage unit 221, the high load threshold storage unit 222, the high load information storage unit 223, and the load reduction information storage unit 224 are set from the setting information related to the device side responsiveness monitoring application 120c or the device side responsiveness monitoring application 120c. Information to be notified is stored.

以下、情報処理システム1において実行される処理手順について説明する。図8は、第一の実施の形態における情報処理システムが実行する処理手順の一例を説明するための図である。   Hereinafter, a processing procedure executed in the information processing system 1 will be described. FIG. 8 is a diagram for explaining an example of a processing procedure executed by the information processing system according to the first embodiment.

ステップS101において、ユーザ環境E1の管理者が、管理者端末30に表示されている画面を介して、機器10の応答性設定について、機器10ごとに選択を行う。応答性設定とは、高負荷時における機器10の振る舞い(対処方法)に関する設定をいう。選択肢としては、例えば、以下の(1)及び(2)が有る。   In step S <b> 101, the administrator of the user environment E <b> 1 selects the responsiveness setting of the device 10 for each device 10 via the screen displayed on the administrator terminal 30. The responsiveness setting is a setting related to the behavior (coping method) of the device 10 at the time of high load. For example, there are the following (1) and (2).

(1)操作レスポンス優先
高負荷時にバックグランド処理を休止させ、操作パネル15の操作に対する応答性を優先させる。バックグラウンド処理の休止は、例えば、当該バックグラウンド処理に係るスレッドの優先度を低下させることによって行われてもよい。又は、当該処理自体が停止されてもよい。
(1) Operation response priority The background processing is suspended at high load, and the response to the operation of the operation panel 15 is prioritized. The suspension of the background process may be performed, for example, by reducing the priority of the thread related to the background process. Alternatively, the process itself may be stopped.

(2)同一優先
高負荷時でもバックグランド処理の休止は行わない。すなわち、高負荷時において特段の対処は行われない。
(2) Same priority The background processing is not suspended even under high load. That is, no special measures are taken at high loads.

ここでは、(1)が選択されたこととする。管理者端末30は、機器10ごとの選択結果をサービス提供装置20に送信する。すなわち、機器10ごとに、当該機器10の識別情報(以下、「機体番号」という。)と、当該機器10に関する応答性設定の選択結果とを含む設定要求が、サービス提供装置20に送信される。当該設定要求には、また、ユーザ環境E1ごとの識別情報も含まれる。当該識別情報を、以下「テナントID」という。   Here, it is assumed that (1) is selected. The administrator terminal 30 transmits the selection result for each device 10 to the service providing apparatus 20. That is, for each device 10, a setting request including identification information (hereinafter referred to as “machine number”) of the device 10 and a response setting selection result regarding the device 10 is transmitted to the service providing apparatus 20. . The setting request also includes identification information for each user environment E1. The identification information is hereinafter referred to as “tenant ID”.

サービス提供装置20の機器側応答性監視サーバアプリ21cは、当該設定要求を受信すると、当該設定要求に含まれているテナントID,機体番号、及び選択結果を対応付けて、応答性設定記憶部221に記憶する(S102)。   When the device-side responsiveness monitoring server application 21c of the service providing apparatus 20 receives the setting request, the device-side responsiveness monitoring server application 21c associates the tenant ID, the machine number, and the selection result that are included in the setting request, and responsiveness setting storage unit 221 (S102).

図9は、応答性設定記憶部の構成例を示す図である。図9に示されるように、応答性設定記憶部221は、テナントID及び機体番号に対応付けて、応答性設定の選択結果を記憶する。   FIG. 9 is a diagram illustrating a configuration example of the responsiveness setting storage unit. As illustrated in FIG. 9, the responsiveness setting storage unit 221 stores the responsiveness setting selection result in association with the tenant ID and the machine number.

続いて、ユーザ環境E1において、いずれかの機器10が起動されると、当該機器10の機器側応答性監視アプリ120cの実待機時間計測部121は、当該機器10に対する応答性設定の照会要求を、サービス提供装置20に送信する(S121)。当該照会要求には、当該機器10において起動されているSDKアプリ120の識別情報(以下、「アプリ名」という。)の一覧、当該機器10の機種名、及び当該機器10の機体番号等が含まれる。   Subsequently, when any device 10 is activated in the user environment E1, the actual standby time measurement unit 121 of the device-side responsiveness monitoring application 120c of the device 10 sends a response setting inquiry request to the device 10. And transmitted to the service providing apparatus 20 (S121). The inquiry request includes a list of identification information (hereinafter referred to as “application name”) of the SDK application 120 activated in the device 10, a model name of the device 10, a machine number of the device 10, and the like. It is.

サービス提供装置20の機器側応答性監視サーバアプリ21cは、当該照会要求を受信すると、当該照会要求に含まれている機体番号に対応するレコードが、応答性設定記憶部221に記憶されているか否かを判定する。該当するレコードが有る場合、機器側応答性監視サーバアプリ21cは、当該レコードに含まれている応答性設定の値を、照会要求の送信元の機器10に返信する(S123)。なお、応答性設定の値と共に、機器10が高負荷であることを判定するための、実待機時間に対する閾値(以下、「高負荷閾値」という。)と、負荷を低下させるための方法を示す情報(以下、「負荷低下方法」という。)とが返信される。高負荷閾値及び負荷低下方法は、高負荷閾値記憶部222に記憶されている。   When the device-side responsiveness monitoring server application 21c of the service providing apparatus 20 receives the inquiry request, whether or not a record corresponding to the machine number included in the inquiry request is stored in the responsiveness setting storage unit 221. Determine whether. When there is a corresponding record, the device-side responsiveness monitoring server application 21c returns the responsiveness setting value included in the record to the device 10 that has transmitted the inquiry request (S123). A threshold value for the actual standby time (hereinafter referred to as “high load threshold value”) and a method for reducing the load for determining that the device 10 has a high load are shown together with the value of the responsiveness setting. Information (hereinafter referred to as “load reduction method”) is returned. The high load threshold and the load reduction method are stored in the high load threshold storage unit 222.

図10は、高負荷閾値記憶部の構成例を示す図である。図10に示されるように、高負荷閾値記憶部222は、機種名に対応付けて、高負荷閾値及び負荷低下方法を記憶する。高負荷閾値が、機種名ごとに設定されるのは、機種に応じて処理性能が異なることにより、高負荷時の実待機時間の大きさが異なる可能性が有るからである。また、負荷低下方法が、機種名ごとに設定されるのは、例えば、機種に応じて、各種の負荷低下方法の実施の可否が異なるからである。図10では、負荷低下方法の一例として、「サービス停止」及び「優先度低下」が示されている。「サービス停止」は、バックグラウンドで実行されているSDKアプリ120が利用するサービス(本実施の形態では、スキャンサービス部134又は印刷サービス部135)の処理を一時的に停止させることを示す。「サービス停止」は、サービス側が一時停止用のインタフェース及び実装を備えている必要が有るため、特定の機種において実行可能な負荷低下方法である。優先度低下は、バックグラウンドで実行されているSDKアプリ120のスレッドの優先度を低下させることを示す。   FIG. 10 is a diagram illustrating a configuration example of the high load threshold storage unit. As illustrated in FIG. 10, the high load threshold storage unit 222 stores a high load threshold and a load reduction method in association with the model name. The reason why the high load threshold is set for each model name is that there is a possibility that the actual standby time at the time of high load differs depending on the processing performance depending on the model. The reason why the load reduction method is set for each model name is because, for example, whether or not various load reduction methods can be performed differs depending on the model. In FIG. 10, “service stop” and “priority reduction” are shown as examples of the load reduction method. “Service stop” indicates that processing of a service (in this embodiment, the scan service unit 134 or the print service unit 135) used by the SDK application 120 executed in the background is temporarily stopped. “Service stop” is a load reduction method that can be executed in a specific model because the service side needs to have a temporary stop interface and implementation. The decrease in priority indicates that the priority of the thread of the SDK application 120 that is executed in the background is decreased.

ステップS123において返信されるのは、照会要求に含まれている機種名に対応付けられて高負荷閾値記憶部222に記憶されている高負荷閾値及び負荷低下方法である。   In step S123, the high load threshold value and the load reduction method stored in the high load threshold value storage unit 222 in association with the model name included in the inquiry request are returned.

実待機時間計測部121が、機器側応答性監視サーバアプリ21cから返信された情報を受信し、当該情報に含まれている応答性設定の値が(1)である場合、機器側応答性監視アプリ120cは、機器10の負荷状態の監視を開始する。   When the actual standby time measurement unit 121 receives information returned from the device-side response monitoring server application 21c and the value of the response setting included in the information is (1), the device-side response monitoring The application 120c starts monitoring the load state of the device 10.

例えば、ステップS125において、実待機時間計測部121は、図6に示した状態遷移を実行することにより実待機時間を計測する。遅延時間算出部122は、実待機時間が計測されるたびに、式(2)に基づいて遅延時間を算出する(S126)。この際、遅延時間算出部122は、今回の遅延時間の期間において、FullGC(ガベージコレクション)等、図6の状態遷移を遅延させる既知の要因が発生した場合、遅延時間の算出を行わなくてもよい。すなわち、当該期間において計測された実待機時間は、無効とされてもよい。FullGCの場合、大きな遅延を引き起こす場合が有り、このような要因によって機器10の負荷状態を判定するのは、適切でないからである。   For example, in step S125, the actual standby time measuring unit 121 measures the actual standby time by executing the state transition shown in FIG. The delay time calculation unit 122 calculates a delay time based on Expression (2) every time the actual standby time is measured (S126). At this time, the delay time calculation unit 122 does not calculate the delay time when a known factor that delays the state transition of FIG. 6 such as Full GC (garbage collection) occurs during the current delay time period. Good. That is, the actual standby time measured during the period may be invalidated. In the case of FullGC, a large delay may be caused, and it is not appropriate to determine the load state of the device 10 based on such factors.

遅延時間が算出された場合、負荷抑制部123は、算出された遅延時間と、ステップS124において受信された高負荷閾値とを比較して、機器10が高負荷状態であるか否かを判定する(S127)。例えば、当該遅延時間が当該高負荷閾値以上であれば、機器10が高負荷状態であると判定される。   When the delay time is calculated, the load suppression unit 123 compares the calculated delay time with the high load threshold received in step S124 to determine whether or not the device 10 is in a high load state. (S127). For example, if the delay time is equal to or greater than the high load threshold, it is determined that the device 10 is in a high load state.

機器10が高負荷状態でないと判定された場合、ステップS125が繰り返される。機器10が高負荷状態であると判定された場合、負荷抑制部123は、当該機器10に係るテナントID及び機体番号と、各SDKアプリ120の状態を示す情報と、遅延時間とを含む通知を、サービス提供装置20に送信する(S128)。サービス提供装置20の機器側応答性監視サーバアプリ21cは、当該通知を受信すると、当該通知に含まれている情報を、高負荷情報記憶部223に記憶する(S129)。   If it is determined that the device 10 is not in a high load state, step S125 is repeated. When it is determined that the device 10 is in a high load state, the load suppression unit 123 sends a notification including the tenant ID and machine number related to the device 10, information indicating the state of each SDK application 120, and the delay time. And transmitted to the service providing apparatus 20 (S128). Upon receiving the notification, the device-side responsiveness monitoring server application 21c of the service providing apparatus 20 stores the information included in the notification in the high load information storage unit 223 (S129).

続いて、負荷抑制部123は、負荷を低下させるための処理を実行する(S130)。例えば、当該処理は、ステップS124において受信された負荷低下方法に従って実行される。負荷低下方法が「サービス停止」である場合、負荷抑制部123は、現在バックグラウンド状態にあるSDKアプリ120が利用するサービス(スキャンサービス部134又は印刷サービス部135)に対して、処理の一時停止を要求する。すなわち、該当するSDKアプリ120がスキャンアプリ120aである場合、スキャンサービス部134に対して一時停止が要求される。該当するSDKアプリ120が印刷アプリ120bである場合、印刷サービス部135に対して一時停止が要求される。一時停止を要求されたサービスは、SDKアプリ120から既に要求されて実行中の処理、又はSDKアプリ120から今後要求される処理について実行を停止する。その結果、CPU111等の負荷が低下し、操作パネル15を介した入力に対する応答性の向上を期待することができる。   Subsequently, the load suppression unit 123 executes a process for reducing the load (S130). For example, this process is executed according to the load reduction method received in step S124. When the load reduction method is “service stop”, the load suppression unit 123 temporarily stops the process for the service (scan service unit 134 or print service unit 135) used by the SDK application 120 currently in the background state. Request. That is, when the corresponding SDK application 120 is the scan application 120a, the scan service unit 134 is requested to pause. When the corresponding SDK application 120 is the print application 120b, the print service unit 135 is requested to pause. The service requested to be paused stops execution of a process that has already been requested by the SDK application 120 and is being executed, or a process that will be requested in the future from the SDK application 120. As a result, the load on the CPU 111 and the like is reduced, and an improvement in responsiveness to input via the operation panel 15 can be expected.

また、負荷低下方法が「優先度低下」である場合、負荷抑制部123は、現在バックグラウンド状態にあるSDKアプリ120のスレッドの優先度を低下させる。その結果、パネル利用権限を有するSDKアプリ120の優先度が相対的に高くなり、CPU111等の資源が当該SDKアプリ120に対して優先的に割り当てられる。したがって、操作パネル15を介した当該SDKアプリ120への入力に対する応答性の向上を期待することができる。   When the load reduction method is “priority reduction”, the load suppression unit 123 reduces the priority of the thread of the SDK application 120 currently in the background state. As a result, the priority of the SDK application 120 having the panel use authority is relatively high, and resources such as the CPU 111 are preferentially assigned to the SDK application 120. Therefore, it is possible to expect an improvement in responsiveness to an input to the SDK application 120 via the operation panel 15.

なお、いずれのSDKアプリ120がバックグラウンド状態であるかについては、状態監視部126によって記録される情報を参照することにより特定可能である。すなわち、ステップS130の時点において、当該情報が一時停止状態を示すSDKアプリ120が、バックグラウンド状態であるSDKアプリ120として特定されてもよい。   Note that which SDK application 120 is in the background state can be specified by referring to information recorded by the state monitoring unit 126. That is, at the time of step S130, the SDK application 120 whose information indicates a paused state may be specified as the SDK application 120 in the background state.

負荷抑制部123は、また、当該機器10に係るテナントID及び機体番号と、実行した負荷低下処理の内容とを含む情報(以下、「負荷低下情報」という。)を、サービス提供装置20へ送信する。サービス提供装置20の機器側応答性監視サーバアプリ21cは、当該負荷低下情報を負荷低下情報記憶部224に記憶する(S131)。続いて、ステップS125以降が繰り返される。なお、負荷低下情報記憶部224に記憶された負荷低下情報と、その後のステップS128において機器10から送信される高負荷状態の通知とに基づいて、負荷低下情報が示す負荷低下方法の効果について評価が行われてもよい。例えば、負荷の低下効果が低い負荷低下方法については、見直し等が行われてもよい。   The load suppression unit 123 also transmits information including the tenant ID and machine number related to the device 10 and the content of the executed load reduction process (hereinafter referred to as “load reduction information”) to the service providing apparatus 20. To do. The device-side responsiveness monitoring server application 21c of the service providing apparatus 20 stores the load reduction information in the load reduction information storage unit 224 (S131). Subsequently, step S125 and subsequent steps are repeated. The effect of the load reduction method indicated by the load reduction information is evaluated based on the load reduction information stored in the load reduction information storage unit 224 and the notification of the high load state transmitted from the device 10 in the subsequent step S128. May be performed. For example, a review or the like may be performed on a load reduction method having a low load reduction effect.

機器側応答性監視アプリ120cによって、ステップS125以降が繰り返し実行されている状況において、ユーザは、機器10の操作パネル15を介して印刷アプリ120bに対して印刷指示を入力する(S111)。続いて、印刷アプリ120bは、印刷指示において選択された印刷データを、サービス提供装置20の印刷サーバアプリ21bから取得(ダウンロード)する(S112)。なお、ステップS112においては、まず、ユーザがアクセス可能な印刷データの一覧情報が、印刷サーバアプリ21bから取得される。当該一覧情報の中から選択された印刷データが、印刷サーバアプリ21b経由で印刷データ記憶部211から取得される。印刷アプリ120bは、印刷データを取得すると、当該印刷データに関して印刷ジョブを開始する(S113)。   In a situation where step S125 and subsequent steps are repeatedly executed by the device-side responsiveness monitoring application 120c, the user inputs a print instruction to the print application 120b via the operation panel 15 of the device 10 (S111). Subsequently, the print application 120b acquires (downloads) the print data selected in the print instruction from the print server application 21b of the service providing apparatus 20 (S112). In step S112, first, print data list information accessible by the user is acquired from the print server application 21b. Print data selected from the list information is acquired from the print data storage unit 211 via the print server application 21b. When acquiring the print data, the print application 120b starts a print job for the print data (S113).

ユーザは、また、印刷指示の後、印刷の完了を待たずにスキャンアプリ120aの利用を開始する。例えば、操作パネル15を介してスキャンアプリ120aの操作画面の表示指示が入力されると、操作パネル15に、スキャンアプリ120aの操作画面(スキャン指定画面)が表示される。したがって、このタイミングで、印刷アプリ120bは、バックグラウンド状態となる。   In addition, after the print instruction, the user starts using the scan application 120a without waiting for the completion of printing. For example, when an instruction to display the operation screen of the scan application 120 a is input via the operation panel 15, the operation screen (scan designation screen) of the scan application 120 a is displayed on the operation panel 15. Accordingly, at this timing, the print application 120b enters the background state.

ユーザは、スキャン指定画面を介してスキャンの実行指示を入力する(S114)。スキャンの実行指示には、画像データの読み取り設定や、読み取られた画像データの配信先の指定等が含まれる。続いて、スキャンアプリ120aは、読み取り設定に従って、原稿からの画像データの読み取り(スキャン)を開始する(S115)。画像データの読み取りが完了すると、スキャンアプリ120aは、当該画像データに関するアップロード要求を、サービス提供装置20のスキャンサーバアプリ21aに送信する(S116)。画像データのアップロードが完了すると、スキャンアプリ120aは、ユーザによって指定された配信先を示す情報を含む配信要求を、スキャンサーバアプリ21aに送信する(S117)。スキャンサーバアプリ21aは、アップロードされた画像データを、当該配信要求に含まれている情報が示す配信先へ配信する。   The user inputs a scan execution instruction via the scan designation screen (S114). The scan execution instruction includes image data reading setting, designation of a distribution destination of the read image data, and the like. Subsequently, the scan application 120a starts reading (scanning) image data from the document according to the reading setting (S115). When the reading of the image data is completed, the scan application 120a transmits an upload request regarding the image data to the scan server application 21a of the service providing apparatus 20 (S116). When the upload of the image data is completed, the scan application 120a transmits a distribution request including information indicating the distribution destination designated by the user to the scan server application 21a (S117). The scan server application 21a distributes the uploaded image data to the distribution destination indicated by the information included in the distribution request.

図8に示されるような処理が実行される場合、機器側応答性監視アプリ120cは、例えば、図11に示されるような情報を記録する。図11は、機器側応答性監視アプリによって記録される情報の一例を示す図である。   When the process as shown in FIG. 8 is executed, the device-side responsiveness monitoring application 120c records information as shown in FIG. 11, for example. FIG. 11 is a diagram illustrating an example of information recorded by the device-side responsiveness monitoring application.

図11に示されるテーブルの1行は、1秒毎のレコードである。各レコードは、経過時間、メモリ消費量、遅延時間、並びに各SDKアプリ120のアプリ状態及びソケット通信状態等を含む。なお、図11は、各情報が一つのテーブルに記録されなければならないことを示すものではない。図11は、機器側応答性監視アプリ120cの各部によって記録される各情報を時刻に基づいて同期させると、当該テーブルに示されるような情報が得られることを示すものである。   One row of the table shown in FIG. 11 is a record every second. Each record includes elapsed time, memory consumption, delay time, and application status and socket communication status of each SDK application 120. Note that FIG. 11 does not indicate that each piece of information must be recorded in one table. FIG. 11 shows that information shown in the table can be obtained by synchronizing each piece of information recorded by each unit of the device-side response monitoring application 120c based on time.

経過時間は、或る時点(例えば、印刷指示の開始時)からの経過時間を示す。メモリ消費量は、当該経過時間におけるメモリ消費量である。例えば、メモリ消費量は、OSに問い合わせることにより取得可能である。遅延時間は、遅延時間算出部122によって算出及び記録される遅延時間である。単位は、ミリ秒である。   The elapsed time indicates an elapsed time from a certain point in time (for example, at the start of a print instruction). The memory consumption is a memory consumption during the elapsed time. For example, the memory consumption can be acquired by inquiring the OS. The delay time is a delay time calculated and recorded by the delay time calculation unit 122. The unit is milliseconds.

各SDKアプリ120(図11では、スキャンアプリ120a及び印刷アプリ120b)のアプリ状態は、当該経過時間における各SDKアプリ120のパネル利用権限の有無(すなわち、フォアグラウンド状態かバックグラウンド状態か)及び画面遷移を示す。すなわち、「:」の前の「B」は、パネル利用権限を有さないバックグランド状態を意味する。「F」は、パネル利用権限を有するフォアグラウンド状態を意味する。また、「B−>F」は、バックグラウンド状態からフォアグラウンド状態への移行を意味し、「F−>B」は、フォアグラウンド状態からバックグラウンド状態への移行を意味する。「:」の後は、表示中の操作画面を示す。アプリ状態は、機器側応答性監視アプリ120cの状態監視部126によって記録される。すなわち、「B」、「F」、「B−>F」、及び「F−>B」は、パネル管理部132から通知されるパネル利用権限の授与又は回収に基づいて記録される。パネル管理部132からの通知には、パネル利用権限の授与又は回収を示す情報と、パネル利用権限の授与先又は回収元のSDKアプリ120のアプリ名とが含まれる。画面遷移は、パネルサービス部133からの画面の描画の通知に基づいて記録される。   The application state of each SDK application 120 (in FIG. 11, the scan application 120a and the print application 120b) is the presence / absence of panel usage authority (that is, foreground state or background state) of each SDK application 120 during the elapsed time and screen transition. Indicates. That is, “B” before “:” means a background state in which the panel use authority is not granted. “F” means a foreground state having panel use authority. “B-> F” means a transition from the background state to the foreground state, and “F-> B” means a transition from the foreground state to the background state. After “:”, an operation screen being displayed is shown. The application state is recorded by the state monitoring unit 126 of the device-side responsiveness monitoring application 120c. That is, “B”, “F”, “B-> F”, and “F-> B” are recorded based on the grant or collection of the panel use authority notified from the panel management unit 132. The notification from the panel management unit 132 includes information indicating the grant or collection of the panel use authority, and the application name of the SDK application 120 that is the destination or collection source of the panel use authority. The screen transition is recorded based on a screen drawing notification from the panel service unit 133.

ソケット通信状態は、ソケット通信の状態を示す情報である。「:」の前の「C」は、通信相手がサービス提供装置20であることを示す。通信相手の識別は、IPアドレスに基づいて行われてもよい。「:」の後の「R」又は「W」は、通信の方向を示す。「R」は、受信を示す。「W」は、送信を示す。「R」又は「W」に続く括弧内の値は、通信データのサイズと通信回数とを示す。ソケット通信状態は、機器側応答性監視アプリ120cのソケット監視部125によって記録される。すなわち、ソケット通信状態は、ソケットフック部143からソケット監視部125へ通知される情報である。なお、アプリ状態及びソケット状態について、「↓」は、直前の経過時間における状態が継続していることを示す。   The socket communication state is information indicating the state of socket communication. “C” before “:” indicates that the communication partner is the service providing apparatus 20. The communication partner may be identified based on the IP address. “R” or “W” after “:” indicates the direction of communication. “R” indicates reception. “W” indicates transmission. The value in parentheses following “R” or “W” indicates the size of communication data and the number of times of communication. The socket communication state is recorded by the socket monitoring unit 125 of the device-side response monitoring application 120c. That is, the socket communication state is information notified from the socket hook unit 143 to the socket monitoring unit 125. For the application state and the socket state, “↓” indicates that the state at the previous elapsed time is continuing.

各経過時間における印刷アプリ120bのアプリ状態及びソケット通信状態の記録について説明する。図12は、各経過時間における印刷アプリのアプリ状態及びソケット通信状態を説明するための図である。図12において、括弧内の数字は、図11の経過時間に対応する。また、以下の説明における括弧内の数字も、図11の経過時間に対応する。   The recording of the application state and socket communication state of the print application 120b at each elapsed time will be described. FIG. 12 is a diagram for explaining the application state and socket communication state of the printing application at each elapsed time. In FIG. 12, the numbers in parentheses correspond to the elapsed time in FIG. Also, the numbers in parentheses in the following description also correspond to the elapsed time in FIG.

(1)印刷アプリ120bは、アクティブ状態に遷移してパネル利用権限を獲得し、印刷指定画面を操作パネル15に表示させている。アプリ管理部131は、印刷アプリ120bのアクティブ状態への遷移を、状態監視部126に通知する。また、パネル管理部132は、印刷アプリ120bにパネル利用権限を授与したことを状態監視部126に通知する。更に、パネルサービス部133は、印刷指定画面の描画を状態監視部126に通知する。状態監視部126は、これらの通知に基づいて、「F:印刷指定」を記録する。   (1) The print application 120b transitions to an active state, acquires panel use authority, and causes the operation panel 15 to display a print designation screen. The application management unit 131 notifies the state monitoring unit 126 of the transition of the print application 120b to the active state. Further, the panel management unit 132 notifies the status monitoring unit 126 that the panel use authority has been granted to the print application 120b. Further, the panel service unit 133 notifies the state monitoring unit 126 of drawing of the print designation screen. Based on these notifications, the state monitoring unit 126 records “F: print designation”.

(2)印刷アプリ120bは、印刷サーバアプリ21bに対して、印刷データの一覧情報をソケット通信経由で要求する。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:R(1KB/1回)」を記録する。   (2) The print application 120b requests print data list information from the print server application 21b via socket communication. The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. The socket monitoring unit 125 records “C: R (1 KB / 1 time)” based on the notification.

(3)印刷アプリ120bは、一覧情報の中から選択された印刷データについて、ソケット通信経由で印刷サーバアプリ21bに対して取得要求を送信し、印刷指定画面から印刷データ取得画面へ操作画面を遷移させる。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:W(1KB/1回)」を記録する。また、パネルサービス部133は、印刷データ取得画面の描画を状態監視部126に通知する。状態監視部126は、当該通知に基づいて、「F:印刷データ取得」を記録する。   (3) The print application 120b transmits an acquisition request for print data selected from the list information to the print server application 21b via socket communication, and the operation screen is changed from the print designation screen to the print data acquisition screen. Let The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. Based on the notification, the socket monitoring unit 125 records “C: W (1 KB / 1 time)”. In addition, the panel service unit 133 notifies the state monitoring unit 126 of drawing of the print data acquisition screen. Based on the notification, the state monitoring unit 126 records “F: print data acquisition”.

(4)機器10は、ユーザからのアプリケーションの切り替え指示に応じ、操作パネル15へスキャンアプリ120aの操作画面を表示させる。この際、アプリ管理部131は、印刷アプリ120bを一時停止状態に遷移させ、当該遷移を状態監視部126に通知する。また、パネル管理部132は、印刷アプリ120bからパネル利用権限を回収し、当該回収を状態監視部126に通知する。状態監視部126は、これらの通知に基づいて「F−>B:画面切替」を記録する。但し、印刷アプリ120bは、一時停止状態へ移行してもソケット通信経由で印刷データの取得(ダウンロード)を実行する。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:R(4MB/4回)」を記録する。   (4) The device 10 displays the operation screen of the scan application 120a on the operation panel 15 in response to an application switching instruction from the user. At this time, the application management unit 131 causes the printing application 120b to transition to the temporary stop state and notifies the state monitoring unit 126 of the transition. In addition, the panel management unit 132 collects the panel use authority from the print application 120b and notifies the status monitoring unit 126 of the collection. The state monitoring unit 126 records “F-> B: screen switching” based on these notifications. However, the print application 120b acquires (downloads) print data via socket communication even when the print application 120b shifts to the pause state. The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. The socket monitoring unit 125 records “C: R (4 MB / 4 times)” based on the notification.

(5)印刷アプリ120bは、ソケット通信経由での印刷データの取得を継続する。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:R(4MB/4回)」を記録する。(6)〜(8)も同様である。   (5) The print application 120b continues to acquire print data via socket communication. The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. The socket monitoring unit 125 records “C: R (4 MB / 4 times)” based on the notification. The same applies to (6) to (8).

(9)印刷アプリ120bは、取得した印刷データに関して印刷を開始する。   (9) The print application 120b starts printing for the acquired print data.

続いて、各経過時間におけるスキャンアプリ120aのアプリ状態及びソケット通信状態の記録について説明する。図13は、各経過時間におけるスキャンアプリのアプリ状態及びソケット通信状態を説明するための図である。図13において、括弧内の数字は、図11の経過時間に対応する。また、以下の説明における括弧内の数字も、図11の経過時間に対応する。   Next, recording of the application state and socket communication state of the scan application 120a at each elapsed time will be described. FIG. 13 is a diagram for explaining the application state and socket communication state of the scan application at each elapsed time. In FIG. 13, the numbers in parentheses correspond to the elapsed time in FIG. Also, the numbers in parentheses in the following description also correspond to the elapsed time in FIG.

(4)機器10は、ユーザからのアプリケーションの切り替え指示に応じ、操作パネル15へスキャンアプリ120aの操作画面(スキャン指定画面)を表示させる。この際、アプリ管理部131は、スキャンアプリ120aを一時停止状態からアクティブ状態に遷移させ、当該遷移を状態監視部126に通知する。また、パネル管理部132は、印刷アプリ120bから回収したパネル利用権限をスキャンアプリ120aに授与し、当該授与を状態監視部126に通知する。状態監視部126は、これらの通知に基づいて「B−>F:画面切替」を記録する。   (4) The device 10 displays the operation screen (scan designation screen) of the scan application 120a on the operation panel 15 in response to an application switching instruction from the user. At this time, the application management unit 131 causes the scan application 120a to transition from the paused state to the active state, and notifies the state monitoring unit 126 of the transition. Further, the panel management unit 132 grants the panel use authority collected from the print application 120b to the scan application 120a, and notifies the status monitoring unit 126 of the grant. The state monitoring unit 126 records “B-> F: screen switching” based on these notifications.

(5)スキャンアプリ120aは、ソケット通信経由でスキャンサーバアプリ21aから配信先候補情報受信する。配信先候補情報は、画像データの配信先の候補を示す情報である。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:R(1KB/1回)」を記録する。配信先候補の受信は、(6)においても継続される。配信先情報の受信が完了すると、スキャンアプリ120aは、配信先候補情報をスキャン指定画面に表示する。   (5) The scan application 120a receives distribution destination candidate information from the scan server application 21a via socket communication. The distribution destination candidate information is information indicating image data distribution destination candidates. The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. The socket monitoring unit 125 records “C: R (1 KB / 1 time)” based on the notification. Reception of the delivery destination candidate is continued also in (6). When the reception of the distribution destination information is completed, the scan application 120a displays the distribution destination candidate information on the scan designation screen.

続いて、ユーザによって、スキャン指定画面を介して、読み取り設定及び配信先指定等が入力され、スキャンの実行が指示される。   Subsequently, the user inputs reading settings and delivery destination designation via the scan designation screen, and instructs execution of the scan.

(8)機器10は、原稿の読み取りを開始し、操作画面をスキャン実行画面へ遷移させる。この際、パネルサービス部133は、スキャン実行画面を描画し、当該描画を状態監視部126に通知する。状態監視部126は、当該通知に基づいて、「F:スキャン実行」を記録する。   (8) The device 10 starts reading the document and changes the operation screen to the scan execution screen. At this time, the panel service unit 133 draws the scan execution screen and notifies the state monitoring unit 126 of the drawing. The state monitoring unit 126 records “F: scan execution” based on the notification.

(9)スキャンアプリ120aは、原稿から読み取られた画像データを、ソケット通信経由でスキャンサーバアプリ21aに送信する。スキャンアプリ120aは、また、操作画面をスキャン配信画面へ遷移させる。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:W(1KB/4回)」を記録する。パネルサービス部133は、スキャン配信画面を描画し、当該描画を状態監視部126へ通知する。状態監視部126は、当該通知に基づいて、「F:スキャン配信」を記録する。(10)から(11)において、画像データの送信は継続する。なお、送信される画像データのサイズは、12MBあり、1MB単位で分割されて送信される。   (9) The scan application 120a transmits the image data read from the document to the scan server application 21a via socket communication. The scan application 120a also transitions the operation screen to the scan distribution screen. The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. The socket monitoring unit 125 records “C: W (1 KB / 4 times)” based on the notification. The panel service unit 133 draws the scan distribution screen and notifies the state monitoring unit 126 of the drawing. The state monitoring unit 126 records “F: scan delivery” based on the notification. In (10) to (11), transmission of image data continues. The size of the image data to be transmitted is 12 MB, and the image data is divided and transmitted in units of 1 MB.

(12)スキャンアプリ120aは、画像データの配信先を示す情報を、ソケット通信経由でスキャンサーバアプリ21aに送信する。ソケットフック部143は、当該ソケット通信に関する情報を、ソケット監視部125に通知する。ソケット監視部125は、当該通知に基づいて、「C:W(1KB/1回)」を記録する。   (12) The scan application 120a transmits information indicating the distribution destination of the image data to the scan server application 21a via socket communication. The socket hook unit 143 notifies the socket monitoring unit 125 of information related to the socket communication. Based on the notification, the socket monitoring unit 125 records “C: W (1 KB / 1 time)”.

なお、ソケットフック部143によって検知されるソケット通信の通信元のが、いずれのSDKアプリ120であるかについては、例えば、次のように特定されてもよい。   For example, the SDK application 120 that is the communication source of the socket communication detected by the socket hook unit 143 may be specified as follows.

SDKアプリ120が、Java(登録商標)アプリケーションである場合、例えば、Java(登録商標)の標準クラスであるスレッドグループ(ThreadGroup)を用いて、各SDKアプリ120を識別することができる。スレッドグループとは、スレッド(Thread)やスレッドグループの集合であり、一つ以上のスレッドをスレッドグループに関連付けることができる。また、スレッドグループには、名前(スレッドグループ名)を付加することができる。そして、各スレッド内では、当該スレッドが属するスレッドグループを識別することができる。なお、本実施の形態において、SDKプラットフォーム130の各部、ソケットフック部143、及びイベントフック部144等は、独立したプロセス又は独立したスレッドとして起動されるものではなく、SDKAPIの呼び出し元のSDKアプリ120のスレッド上で動作する。   When the SDK application 120 is a Java (registered trademark) application, for example, each SDK application 120 can be identified using a thread group (ThreadGroup) which is a standard class of Java (registered trademark). A thread group is a set of threads or thread groups, and one or more threads can be associated with a thread group. A name (thread group name) can be added to the thread group. In each thread, the thread group to which the thread belongs can be identified. In this embodiment, each part of the SDK platform 130, the socket hook part 143, the event hook part 144, and the like are not started as independent processes or independent threads, but are the SDK applications 120 that call SDKAPI. Works on threads.

斯かる仕組みに基づけば、例えば、ソケットフック部143では、以下のように呼び出し元のSDKアプリ120のアプリ名を特定することができる。図14は、呼び出し元のアプリ名の特定方法を説明するための図である。   Based on such a mechanism, for example, the socket hook unit 143 can specify the application name of the calling SDK application 120 as follows. FIG. 14 is a diagram for explaining a method of identifying the caller application name.

図中、GPx(xはa〜c)は、スレッドグループを示す。thx(xは、a〜d)は、スレッドを示す。図14の例では、スキャンアプリ120aには、スレッドグループGPbが関連付けられており、スレッドグループ名としてスキャンアプリ120aのアプリ名が付加されている。また、スキャンサービス部134にはスレッドグループGPcが関連付けられている。   In the figure, GPx (x is a to c) indicates a thread group. thx (x is ad) indicates a thread. In the example of FIG. 14, a thread group GPb is associated with the scan application 120a, and the application name of the scan application 120a is added as the thread group name. The scan service unit 134 is associated with a thread group GPc.

スキャンアプリ120aには、メソッドAを実行中のスレッドthaと、メソッドBを実行中のスレッドthbとが存在する。ここで、スレッドthaとスレッドthbとは、スレッドグループGPbに属する。例えば、スキャンアプリ120aのメソッドB内より、スキャンサービス部134のメソッドCが呼び出された場合、メソッドCは、スレッドthb上で動作する。更に、メソッドCよりソケット通信に関するAPIが呼び出された場合、当該呼び出しを検知したソケットフック部143は、スレッドthb上で動作する。したがって、ソケットフック部143が、ソケット通信を検知した時点のスレッドを確認するとスレッドthbが特定される。更に、ソケットフック部143が、スレッドthbが属するスレッドグループを確認すると、スレッドグループGPbが特定される。そこで、ソケットフック部143が、スレッドグループGPbのスレッドグループ名を取得すると、取得されるスレッドグループ名は、ソケット通信元のSDKアプリ120のアプリ名に該当する。   The scan application 120a includes a thread th that is executing the method A and a thread thb that is executing the method B. Here, the thread tha and the thread thb belong to the thread group GPb. For example, when the method C of the scan service unit 134 is called from within the method B of the scan application 120a, the method C operates on the thread thb. Furthermore, when an API related to socket communication is called from the method C, the socket hook unit 143 that has detected the call operates on the thread thb. Therefore, when the socket hook unit 143 confirms the thread at the time of detecting socket communication, the thread thb is specified. Further, when the socket hook unit 143 confirms the thread group to which the thread thb belongs, the thread group GPb is specified. Therefore, when the socket hook unit 143 acquires the thread group name of the thread group GPb, the acquired thread group name corresponds to the application name of the SDK application 120 of the socket communication source.

なお、図15は、機器側応答性監視アプリによって記録される情報をグラフ化した図である。図15に示される折れ線グラフの縦軸は遅延時間であり、横軸は経過時間である。遅延時間が大きい時期に、機器10の応答性が低下していることが推定される。   FIG. 15 is a graph of information recorded by the device-side responsiveness monitoring application. The vertical axis of the line graph shown in FIG. 15 is the delay time, and the horizontal axis is the elapsed time. It is estimated that the responsiveness of the device 10 is reduced at the time when the delay time is large.

グラフの下側には、スキャンアプリ120a及び印刷アプリ120bのおおよその状態が経過時間に同期して図示されている。画面切り替えが発生した期間(すなわち、印刷データの取得が行われている期間)や、画像データのアップロードと印刷とが並行して実行される期間において、遅延時間が大きくなっている。このような期間では、スキャンアプリ120aの操作画面の応答性が低下することが推測される。そこで、画面切り替え後において、印刷アプリ120bに関して負荷低下処理が実行されることで、スキャンアプリ120aの操作画面の応答性の改善を期待することができる。   Below the graph, the approximate states of the scan application 120a and the print application 120b are shown in synchronization with the elapsed time. The delay time increases in a period in which screen switching occurs (that is, a period in which print data is acquired) and a period in which image data upload and printing are performed in parallel. In such a period, it is estimated that the responsiveness of the operation screen of the scan application 120a decreases. Therefore, after the screen is switched, load reduction processing is executed for the print application 120b, so that it is possible to expect an improvement in the responsiveness of the operation screen of the scan application 120a.

図15には、高負荷閾値の一例が示されている。高負荷閾値が、図15に示されるような値である場合、経過時間(4)において、負荷低下処理が実行される。但し、図15のグラフには、負荷低下処理の効果は反映されていない。   FIG. 15 shows an example of the high load threshold. When the high load threshold is a value as shown in FIG. 15, the load reduction process is executed at the elapsed time (4). However, the effect of the load reduction process is not reflected in the graph of FIG.

なお、遅延時間に対する閾値は、2つ以上であってもよい。図16は、遅延時間に対する閾値が二つである例を示す図である。図16では、高負荷閾値に加え、中負荷閾値が追加され、機器10の負荷状態が、低負荷状態、中負荷状態、及び高負荷状態の3つの状態に分類される例が示されている。例えば、負荷抑制部123は、中負荷状態を検知した場合と、高負荷状態を検知した場合とで、相互に異なる負荷低下処理を実行してもよい。高負荷状態の方が、相対的に負荷の低下効果が高い負荷低下処理が実行されてもよい。   Note that the threshold for the delay time may be two or more. FIG. 16 is a diagram illustrating an example in which there are two thresholds for the delay time. FIG. 16 shows an example in which a medium load threshold is added in addition to a high load threshold, and the load state of the device 10 is classified into three states of a low load state, a medium load state, and a high load state. . For example, the load suppression unit 123 may execute different load reduction processes depending on whether a medium load state is detected or a high load state is detected. Load reduction processing may be executed in which the load reduction effect is relatively high in the high load state.

なお、負荷抑制部123は、高負荷状態又は中負荷状態が検知された時点において、図アプリ状態の値(図11参照)の先頭が「B」であるSDKアプリ120を、負荷低下処理の対象として選択する。   Note that the load suppression unit 123 applies the SDK application 120 whose value of the figure application state (see FIG. 11) starts with “B” at the time when the high load state or the medium load state is detected, to the load reduction processing target. Choose as.

続いて、図8のステップS125の詳細について説明する。図17は、実待機時間の計測処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S125 in FIG. 8 will be described. FIG. 17 is a flowchart for explaining an example of a processing procedure of actual standby time measurement processing.

実待機時間計測部121は、待機の開始時(Running状態の退出時)に、現在時刻を変数T0に代入する(S201)。続いて、実待機時間計測部121は、指定時間分の待機を実行する(S202)。指定時間は、予め指定されている。例えば、wait関数が用いられる場合、wait関数の引数に指定時間が指定される。指定時間分の待機から復帰すると、実待機時間計測部121は、現在時刻を変数T1に代入する(S203)。続いて、実待機時間計測部121は、T1−T0を実待機時間として算出する(S204)。   The actual standby time measuring unit 121 assigns the current time to the variable T0 at the start of standby (when leaving the Running state) (S201). Subsequently, the actual standby time measuring unit 121 executes standby for a specified time (S202). The designated time is designated in advance. For example, when a wait function is used, a specified time is specified as an argument of the wait function. When returning from standby for the designated time, the actual standby time measuring unit 121 substitutes the current time for the variable T1 (S203). Subsequently, the actual standby time measurement unit 121 calculates T1-T0 as the actual standby time (S204).

上述したように、本実施の形態によれば、機器側応答性監視アプリ120cが実行する処理は、図6又は図17に示されるように、負荷の低い処理である。したがって、機器10の負荷状態を比較的低負荷な処理によって推定可能とすることができる。   As described above, according to the present embodiment, the process executed by the device-side responsiveness monitoring application 120c is a process with a low load, as shown in FIG. 6 or FIG. Therefore, the load state of the device 10 can be estimated by a relatively low load process.

また、遅延時間が閾値を超える場合、バックグラウンド処理に関して、負荷を低下させるための処理が実行される。その結果、操作パネル15を介したユーザによる操作に対する応答性を向上させることができ、ユーザに対してストレスの小さい操作性を提供できる可能性を高めることができる。   Further, when the delay time exceeds the threshold value, a process for reducing the load is executed with respect to the background process. As a result, it is possible to improve the responsiveness to the operation by the user via the operation panel 15, and to increase the possibility that the operability with less stress can be provided to the user.

なお、既存のSDKアプリ120(スキャンアプリ120a及び印刷アプリ120b等)内において、ユーザからの操作要求を受け付ける箇所と、当該操作要求に対する応答を返却する箇所のそれぞれに、時間測定の監視コードを埋め込むことも考えられる。また、CPU及びI/Oのトラフィックをカーネルレベルで監視することで負荷を監視することも可能である。しかし、これらの方法では、既存の各SDKアプリ120を改変する必要が有ったり、監視するために多くのCPUリソースが消費されてしまったりする可能性が高い。本実施の形態によれば、このような問題を回避しつつ、機器10の負荷状態を推定することができる。   In the existing SDK application 120 (such as the scan application 120a and the print application 120b), a time measurement monitoring code is embedded in each of a part that receives an operation request from a user and a part that returns a response to the operation request. It is also possible. It is also possible to monitor the load by monitoring the CPU and I / O traffic at the kernel level. However, in these methods, there is a high possibility that it is necessary to modify each existing SDK application 120 or that many CPU resources are consumed for monitoring. According to the present embodiment, it is possible to estimate the load state of the device 10 while avoiding such a problem.

次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。   Next, a second embodiment will be described. In the second embodiment, differences from the first embodiment will be described. Accordingly, points not particularly mentioned may be the same as those in the first embodiment.

第二の実施の形態では、機器10(例えば、スキャンアプリ120a)からサービス提供装置20(例えば、スキャンサービス部134アプリ)に対する要求に対して応答が返却されるまでの時間(以下、「サーバ応答時間」という。)等を計測する例について説明する。サーバ応答時間は、以下の式(3)によって規定される。   In the second embodiment, the time until a response is returned from the device 10 (for example, the scan application 120a) to the request for the service providing apparatus 20 (for example, the scan service unit 134 application) (hereinafter referred to as “server response”). An example of measuring "time") will be described. The server response time is defined by the following equation (3).

サーバ応答時間=サービス実行時間+往復の通信時間 ・・・(3)
サービス実行時間は、機器10からの要求に応じてサービス提供装置20側で実行される処理の所要時間である。往復の通信時間は、機器10からの要求と、サービス提供装置20からの応答とのそれぞれの通信時間の合計である。通信時間は、ユーザ環境E1の通信環境(例えば、通信性能)に依存する。通信環境を計測するための手段として、pingコマンド(Packet Internet Groper)を用いることが考えられる。
Server response time = service execution time + round trip communication time (3)
The service execution time is a time required for processing executed on the service providing apparatus 20 side in response to a request from the device 10. The round-trip communication time is the sum of the communication times of the request from the device 10 and the response from the service providing apparatus 20. The communication time depends on the communication environment (for example, communication performance) of the user environment E1. It is conceivable to use a ping command (Packet Internet Groper) as a means for measuring the communication environment.

図18は、pingコマンドを使用した通信環境の計測を説明するための図である。図18では、サービス提供装置20を対象(宛先)として、機器10において実行されるpingコマンドc1と、機器10を対象(宛先)として、サービス提供装置20において実行されるpingコマンドc2とが示されている。   FIG. 18 is a diagram for explaining measurement of the communication environment using the ping command. FIG. 18 shows a ping command c1 executed in the device 10 with the service providing apparatus 20 as a target (destination) and a ping command c2 executed in the service providing apparatus 20 with the device 10 as a target (destination). ing.

一般的に、pingコマンドc1に対しては、サービス提供装置20からの応答が正常に返信される。したがって、機器10においては、ユーザ環境E1の通信環境を計測することができる。一方、pingコマンドc2に関するパケットは、ユーザ環境E1に設置されているファイアウォールによって、通過が許可されない。したがって、サービス提供装置20において、pingコマンドを使用して、ユーザ環境E1の通信環境を計測することは困難である。   Generally, a response from the service providing apparatus 20 is normally returned to the ping command c1. Therefore, the device 10 can measure the communication environment of the user environment E1. On the other hand, the packet related to the ping command c2 is not allowed to pass by the firewall installed in the user environment E1. Therefore, it is difficult for the service providing apparatus 20 to measure the communication environment of the user environment E1 using the ping command.

したがって、各機器10においてpingコマンドを実行させれば、各機器10の通信環境を計測することができる。しかし、既に利用されている全ての機器に対して、通信環境を計測するためのプログラムをインストールするのは経済的ではない。   Therefore, if the ping command is executed in each device 10, the communication environment of each device 10 can be measured. However, it is not economical to install a program for measuring the communication environment for all devices already used.

そこで、第二の実施の形態では、pingコマンドを用いずに、ユーザ環境E1の通信環境をサービス提供装置20側で計測し、更に、機器10から見た場合の、サービス提供装置20の応答時間(すなわち、サーバ応答時間)を、サービス提供装置20側で推定する例について説明する。   Therefore, in the second embodiment, the communication environment of the user environment E1 is measured on the service providing apparatus 20 side without using the ping command, and the response time of the service providing apparatus 20 when viewed from the device 10 is used. An example in which (that is, the server response time) is estimated on the service providing apparatus 20 side will be described.

図19は、第二の実施の形態におけるサービス提供装置の機能構成例を示す図である。図19中、図7と同一部分には同一符号を付し、その説明は省略する。図19において、サービス提供装置20は、サーバ応答性監視部230を有する。サービス提供装置20は、また、監視機器記憶部231及び監視要求記憶部232を利用する。監視機器記憶部231及び監視要求記憶部232は、補助記憶装置202、又はサービス提供装置20にネットワークを介して接続可能な記憶装置等を用いて実現可能である。   FIG. 19 is a diagram illustrating a functional configuration example of the service providing apparatus according to the second embodiment. In FIG. 19, the same parts as those of FIG. In FIG. 19, the service providing apparatus 20 includes a server responsiveness monitoring unit 230. The service providing apparatus 20 also uses the monitoring device storage unit 231 and the monitoring request storage unit 232. The monitoring device storage unit 231 and the monitoring request storage unit 232 can be realized using a storage device that can be connected to the auxiliary storage device 202 or the service providing device 20 via a network.

サーバ応答性監視部230は、各機器10から各サーバアプリ21への要求と、各サーバアプリ21から各機器10への応答とを監視して、サーバ応答時間等を推定する。監視機器記憶部231は、サーバ応答時間の推定対象とする監視対象の機器10の機体番号を記憶する。監視要求記憶部232は、監視対象とする要求及び応答を識別するための情報を記憶する。なお、本実施の形態では、監視対象とする要求及び応答が、全ての機器10に対して共通である例を説明するが、機器10ごとに、監視対象とする要求及び応答が異なってよい。   The server responsiveness monitoring unit 230 monitors a request from each device 10 to each server application 21 and a response from each server application 21 to each device 10 to estimate server response time and the like. The monitoring device storage unit 231 stores the machine number of the monitoring target device 10 that is the target of server response time estimation. The monitoring request storage unit 232 stores information for identifying requests and responses to be monitored. In this embodiment, an example in which the request and response to be monitored are common to all the devices 10 will be described. However, the request and response to be monitored may be different for each device 10.

図20は、第二の実施の形態におけるサーバ応答時間の推定方法を説明するための図である。サーバ応答性監視部230は、機器10のSDKアプリ120からの、サーバアプリ21に対する要求の順番の規則性に着目して、サーバ応答時間等を推定する。すなわち、或る要求については、必ず特定の要求の次に送信されるという規則性が有り、当該規則性を利用して、サーバ応答時間等が推定される。図20では、スキャンアプリ120aからスキャンサーバアプリ21aに対して、要求Aの後には、要求Bが送信されることが示されている。   FIG. 20 is a diagram for explaining a server response time estimation method according to the second embodiment. The server responsiveness monitoring unit 230 estimates the server response time and the like by paying attention to the regularity of the order of requests to the server application 21 from the SDK application 120 of the device 10. That is, there is a regularity that a certain request is always transmitted after a specific request, and the server response time is estimated using the regularity. FIG. 20 shows that the request B is transmitted after the request A from the scan application 120a to the scan server application 21a.

すなわち、スキャンアプリ120aが、スキャンサーバアプリ21aに対して要求Aを送信すると(S301)、スキャンサーバアプリ21aは、要求Aに応じた処理(サービスA)を実行し、その処理結果を含む応答A'を返信する(S302)。スキャンアプリ120aは、応答A'を受信すると、応答A'に含まれている情報を利用した処理を実行する(S303)。続いて、スキャンアプリ120aが、要求Bをスキャンサーバアプリ21aに送信すると(S304)、スキャンサーバアプリ21aは、要求Bに応じた処理(サービスb)を実行し、その処理結果を含む応答B'を返信する(S305)。   That is, when the scan application 120a transmits a request A to the scan server application 21a (S301), the scan server application 21a executes a process (service A) according to the request A, and a response A including the processing result. 'Is returned (S302). When receiving the response A ′, the scan application 120a executes a process using information included in the response A ′ (S303). Subsequently, when the scan application 120a transmits the request B to the scan server application 21a (S304), the scan server application 21a executes processing (service b) according to the request B, and a response B ′ including the processing result. Is returned (S305).

スキャンアプリ120aからスキャンサーバアプリ21aへの要求に関して、このような規則性が有る場合、サーバ応答性監視部230は、要求Aの受信を検知すると、要求Aが受信されてから応答A'が返信されるまでの時間(サービス実行時間)を計測する。サーバ応答性監視部230は、また、応答A'が返信されてから、要求Bが受信されるまでの時間を計測する。なお、応答A'が返信されてから、要求Bが受信されるまでの時間を、「サービス待機時間」という。すなわち、サービス待機時間は、以下の式(4)によって規定される。   When there is such regularity with respect to the request from the scan application 120a to the scan server application 21a, when the server responsiveness monitoring unit 230 detects the reception of the request A, the response A ′ is returned after the request A is received. Measure the time until service (service execution time). The server responsiveness monitoring unit 230 also measures the time from when the response A ′ is returned until the request B is received. The time from when the response A ′ is returned until the request B is received is referred to as “service waiting time”. That is, the service standby time is defined by the following equation (4).

サービス待機時間=応答A'の通信時間+応答A'利用処理時間+要求Bの通信時間 ・・・(4)
図20に示されるシーケンスの所要時間の内訳は、例えば、図21に示される通りである。図21は、サーバ応答時間の推定に用いられるシーケンスの所要時間の内訳を示す図である。図21において、横軸は、処理が実行される箇所を示し、縦軸は、時間を示す。縦軸に示されている時間t1〜t15は、各処理の所要時間を示す。
Service waiting time = communication time of response A ′ + response processing time of response A ′ + communication time of request B (4)
The breakdown of the time required for the sequence shown in FIG. 20 is, for example, as shown in FIG. FIG. 21 is a diagram showing a breakdown of the required time of the sequence used for estimating the server response time. In FIG. 21, the horizontal axis indicates a place where processing is executed, and the vertical axis indicates time. Times t1 to t15 shown on the vertical axis indicate the time required for each process.

時間t1は、ユーザによる入力から要求Aが送出されるまでに機器10内で実行される処理の所要時間である。時間t2は、機器10から要求Aが送出されてから、サービス提供装置20において要求Aが受信されたことがサーバ応答性監視部230によって検知されるまでの所要時間である。時間t3は、サーバ応答性監視部230によって要求Aの受信が検知されてから、スキャンサーバアプリ21aが要求Aを受信するまでの所要時間である。時間t4は、スキャンサーバアプリ21aによる、要求Aに応じた処理(サービスA)の所要時間である。時間t5は、スキャンサーバアプリ21aが応答A'を出力してから、サービス提供装置20による応答A'の送出をサーバ応答性監視部230が検知するまでの所要時間である。なお、例えば、時間t3〜t5が、要求Aに係るサービス実行時間である。   The time t1 is a time required for processing executed in the device 10 from the input by the user until the request A is transmitted. The time t <b> 2 is a time required from when the request A is transmitted from the device 10 to when the server response monitoring unit 230 detects that the request A is received by the service providing apparatus 20. The time t3 is a time required from when the server responsiveness monitoring unit 230 detects the reception of the request A until the scan server application 21a receives the request A. Time t4 is the time required for processing (service A) according to request A by the scan server application 21a. Time t5 is a time required from when the scan server application 21a outputs the response A ′ to when the server response monitoring unit 230 detects the transmission of the response A ′ by the service providing apparatus 20. For example, times t3 to t5 are service execution times related to the request A.

時間t6は、サーバ応答性監視部230が応答A'の送出を検知してから、機器10において応答A'が受信されるまでの所要時間である。時間t7は、機器10において応答A'が受信されてから、応答A'を利用した処理が開始されるまでの所要時間である。時間t8は、応答A'に応じて機器10が実行する処理の所要時間である。時間t9は、当該処理の完了から、要求Bが送出されるまでの所要時間である。なお、例えば、時間t7〜t9は、応答A'利用処理時間である。時間t10は、機器10から要求Aが送出されてから、サービス提供装置20において要求Aが受信されたことがサーバ応答性監視部230によって検知されるまでの所要時間である。なお、例えば、時間t6〜時間t10までが、サービス待機時間である。   The time t6 is a time required from when the server responsiveness monitoring unit 230 detects the transmission of the response A ′ to when the device 10 receives the response A ′. The time t7 is a required time from when the response A ′ is received by the device 10 until processing using the response A ′ is started. Time t8 is the time required for the process executed by the device 10 in response to the response A ′. Time t9 is the time required from the completion of the processing to the transmission of request B. For example, the times t7 to t9 are response A ′ usage processing times. The time t10 is a time required from when the request A is transmitted from the device 10 to when the server response monitoring unit 230 detects that the request A is received by the service providing apparatus 20. For example, the time from time t6 to time t10 is the service standby time.

時間t11以降の説明については、時間t3〜t7に関する説明により自明であるため省略する。   The description after the time t11 is omitted because it is obvious from the description regarding the times t3 to t7.

本実施の形態では、式(3)によって規定されるサーバ応答時間を、サービス提供装置20において算出可能とするために、以下の式(5)及び式(6)によって示される前提が導入される。   In the present embodiment, in order to make it possible for the service providing apparatus 20 to calculate the server response time defined by the equation (3), the premise represented by the following equations (5) and (6) is introduced. .

(機器10の低負荷時の)応答A'利用処理時間<<サービス待機時間 ・・・(式5)
要求の通信量及び通信速度=応答の通信量及び通信速度 ・・・(式6)
式(5)は、サービス待機時間に対して、応答A'利用処理時間が十分小さい(無視できる程度に小さい)ことを示す。換言すれば、本実施の形態では、単に、相互に前後関係にあるという条件を満たすだけでなく、式(5)及び式(6)を満たすような要求が、要求A及び要求Bとして選択される。すなわち、要求A又は要求Bに該当する要求の識別情報が、監視要求記憶部232に登録される。
Response A ′ usage processing time (when the load of the device 10 is low) << service waiting time (Expression 5)
Requested communication volume and communication speed = Response communication volume and communication speed (Expression 6)
Expression (5) indicates that the response A ′ use processing time is sufficiently small (small enough to be ignored) with respect to the service standby time. In other words, in the present embodiment, requests that satisfy not only the condition that they are in the context of each other but also satisfy the expressions (5) and (6) are selected as the requests A and B. The That is, identification information of a request corresponding to the request A or the request B is registered in the monitoring request storage unit 232.

式(5)及び式(6)が満たされる場合、サービス待機時間を、機器10とサービス提供装置20との間の往復の通信時間としてみなすことができるため、式(3)によって規定されるサーバ応答時間は、式(3')によって近似することができる。   When Expression (5) and Expression (6) are satisfied, the service standby time can be regarded as a round-trip communication time between the device 10 and the service providing apparatus 20, and thus the server defined by Expression (3) The response time can be approximated by equation (3 ′).

サーバ応答時間≒サービス実行時間+サービス待機時間 ・・・(3')
ここで、サービス実行時間及びサービス待機時間は、サーバ応答性監視部230によって計測可能な時間である。したがって、第二の実施の形態によれば、機器10から見たサービス提供装置20の応答時間(すなわち、サーバ応答時間)を、サービス提供装置20において推定することができる。なお、機器10ごとに通信速度は異なるため、サービス待機時間は、機器10ごとに異なる。したがって、サーバ応答時間は、機器10ごとに計測(推定)される。
Server response time ≒ service execution time + service standby time (3 ')
Here, the service execution time and the service standby time are times that can be measured by the server responsiveness monitoring unit 230. Therefore, according to the second embodiment, the service providing device 20 can estimate the response time of the service providing device 20 viewed from the device 10 (that is, the server response time). Since the communication speed is different for each device 10, the service standby time is different for each device 10. Therefore, the server response time is measured (estimated) for each device 10.

図22は、第二の実施の形態における情報処理システムが実行する処理手順の一例を説明するための図である。図22中、図8と同一処理には同一ステップ番号を付し、その説明は適宜省略する。   FIG. 22 is a diagram for explaining an example of a processing procedure executed by the information processing system according to the second embodiment. In FIG. 22, the same processes as those in FIG. 8 are denoted by the same step numbers, and the description thereof is omitted as appropriate.

ステップS401において、ユーザ環境E1の管理者が、管理者端末30に表示されている画面を介して、サーバ応答時間の計測対象とする機器10の選択を行うと、管理者端末30は、当該ユーザ環境E1のテナントIDと、選択された機器10の機体番号とを含む、サーバ応答時間の計測要求を、サービス提供装置20に送信する。   In step S401, when the administrator of the user environment E1 selects the device 10 to be measured for the server response time via the screen displayed on the administrator terminal 30, the administrator terminal 30 A server response time measurement request including the tenant ID of the environment E1 and the machine number of the selected device 10 is transmitted to the service providing apparatus 20.

サーバ応答性監視部230は、当該計測要求を受信すると、当該計測要求に含まれているテナントID及び機体番号をサービス提供装置20の監視機器記憶部231に記憶し、当該テナントID及び機体番号に係る機器10からの要求の監視を開始する(S402)。すなわち、機器10からの各要求には、テナントID及び機体番号そのもの、又はテナントID及び機体番号に関連付けられてサービス提供装置20において管理されている情報が含まれている。なお、複数の機器10が監視対象とされてもよい。   Upon receiving the measurement request, the server responsiveness monitoring unit 230 stores the tenant ID and the machine number included in the measurement request in the monitoring device storage unit 231 of the service providing apparatus 20, and stores the tenant ID and the machine number. Monitoring of the request from the device 10 is started (S402). That is, each request from the device 10 includes tenant ID and machine number itself, or information managed in the service providing apparatus 20 in association with the tenant ID and machine number. A plurality of devices 10 may be monitored.

続いて、監視対象とされた機器10に関して、ステップS114〜S117が実行される。ステップS114〜S117については、図8において説明した通りでよい。   Subsequently, steps S114 to S117 are executed for the device 10 to be monitored. Steps S114 to S117 may be as described in FIG.

サーバ応答性監視部230は、ステップS116において機器10から送信されたアップロード要求がサービス提供装置20において受信されたことを検知すると、サーバ応答時間の計測処理を開始する(S411)。すなわち、本実施の形態では、スキャンアプリ120aからのアップロード要求が、図20において説明した要求Aに相当する。したがって、ステップS411では、アップロード要求に対する応答や、当該応答に応じてステップS117において機器10から送信される配信要求等が監視される。サーバ応答性監視部230は、監視対象とされた要求又は応答が検知された時刻を、例えば、メモリ装置203に機器10別に記録し、記録された時刻に基づいて、サービス実行時間、サービス待機時間、及びサーバ応答時間等を、監視対象とされた機器10ごとに算出する。ここでのサービス実行時間は、アップロード要求の受信が検知されてから、アップロード要求に対する応答が返信されるまでの経過時間である。また、ここでのサービス待機時間は、アップロード要求に対する応答が返信されてから、配信要求が受信されるまでの経過時間である。サービス待機時間は、監視対象の機器10とサービス提供装置20との間のネットワークの通信環境(通信性能)を示す値として利用される。   When detecting that the upload request transmitted from the device 10 is received by the service providing apparatus 20 in step S116, the server responsiveness monitoring unit 230 starts a server response time measurement process (S411). That is, in this embodiment, the upload request from the scan application 120a corresponds to the request A described in FIG. Therefore, in step S411, a response to the upload request, a distribution request transmitted from the device 10 in step S117 according to the response, and the like are monitored. The server responsiveness monitoring unit 230 records the time when the request or response to be monitored is detected, for example, for each device 10 in the memory device 203, and based on the recorded time, the service execution time and the service standby time And the server response time are calculated for each device 10 to be monitored. The service execution time here is an elapsed time from when the reception of the upload request is detected until a response to the upload request is returned. The service waiting time here is an elapsed time from when a response to the upload request is returned until the delivery request is received. The service standby time is used as a value indicating the communication environment (communication performance) of the network between the monitored device 10 and the service providing apparatus 20.

続いて、サーバ応答性監視部230は、例えば、サービス実行時間、サービス待機時間、及びサーバ応答時間と、これらの時間が算出された機器10に係るテナントID及び機体番号とを含む報告情報を、スキャンサーバアプリ21aと、当該機器10が属するユーザ環境E1の管理者端末30とに送信する(S412)。なお、管理者端末30への報告情報の送信は、電子メールを利用して行われてもよい。例えば、サービス提供装置20には、予め、機器10ごとに、管理者端末30に対するメールアドレスが記憶されていてもよい。   Subsequently, the server responsiveness monitoring unit 230 includes, for example, report information including a service execution time, a service standby time, and a server response time, and a tenant ID and a machine number related to the device 10 for which these times are calculated. It transmits to the scan server application 21a and the administrator terminal 30 of the user environment E1 to which the device 10 belongs (S412). Note that the transmission of the report information to the administrator terminal 30 may be performed using electronic mail. For example, the service providing apparatus 20 may store a mail address for the administrator terminal 30 for each device 10 in advance.

スキャンサーバアプリ21aは、報告情報を受信すると、当該報告情報に応じた処理を実行する(S413)。例えば、スキャンサーバアプリ21aは、当該報告情報に含まれているサービス待機時間が閾値を超える場合は、当該報告情報に含まれているテナントID及び機体番号に係る機器10からの要求に関して制限を加えてもよい。すなわち、サービス待機時間は、機器10とサービス提供装置20との間の通信時間の推定値である。したがって、サービス待機時間が長い機器10は、通信性能の低いネットワークに接続されている可能性が高いと考えられる。しかし、機器10のユーザには、サービス提供装置20の性能の劣化の問題であると認識される可能性が有る。   When receiving the report information, the scan server application 21a executes a process according to the report information (S413). For example, when the service waiting time included in the report information exceeds a threshold, the scan server application 21a adds a restriction on the request from the device 10 related to the tenant ID and the machine number included in the report information. May be. That is, the service standby time is an estimated value of the communication time between the device 10 and the service providing apparatus 20. Therefore, it is considered that the device 10 having a long service standby time is likely to be connected to a network having low communication performance. However, there is a possibility that the user of the device 10 may recognize that the problem is a deterioration in performance of the service providing apparatus 20.

そこで、サービス提供装置20の性能について、誤解を受けないようにするための対策として、このような機器10に対しては、アップロード可能な画像データの合計サイズ等を制限することで、サーバ応答時間の長期化が回避されてもよい。   Therefore, as a measure for avoiding misunderstanding about the performance of the service providing apparatus 20, the server response time is limited for such a device 10 by limiting the total size of image data that can be uploaded. The prolongation of may be avoided.

アップロード可能な画像データの合計サイズは、例えば、当該機器10からの次回のスキャンサーバアプリ21aに対する何らかの要求の受信に対する応答に含められて、当該機器10に通知されてもよい。当該機器10は、当該通知を示す情報を、例えば、HDD114に記憶する。スキャンアプリ120aは、次回のジョブの実行の際に、当該情報が示す合計サイズの範囲内となるように、ユーザが指定可能なスキャン枚数及び解像度等を制限してもよい。   The total size of image data that can be uploaded may be included in a response to reception of a request from the device 10 to the next scan server application 21a and notified to the device 10, for example. The device 10 stores information indicating the notification in, for example, the HDD 114. The scan application 120a may limit the number of scans, resolution, and the like that can be specified by the user so that the total size indicated by the information is within the range of the next job execution.

また、管理者端末30に送信される報告情報には、機器10とサービス提供装置20との連携に関するアドバイスが含まれてもよい。例えば、当該報告情報には、ユーザ環境E1に係る通信環境が、サービス提供装置20との連携に適した通信環境であるか否かを示す情報が含まれてもよい。サービス提供装置20との連携に適した通信環境であるか否かは、サービス待機時間と閾値との比較に基づいて判定されてもよい。   Further, the report information transmitted to the administrator terminal 30 may include advice regarding cooperation between the device 10 and the service providing apparatus 20. For example, the report information may include information indicating whether or not the communication environment related to the user environment E1 is a communication environment suitable for cooperation with the service providing apparatus 20. Whether or not the communication environment is suitable for cooperation with the service providing apparatus 20 may be determined based on a comparison between the service standby time and a threshold value.

また、機器10の機体番号ごとに、サーバ応答時間及びサービス待機時間の履歴が時系列に記録されてもよい。斯かる履歴に基づいて、特定の時間帯における通信品質の劣化(すなわち、サービス待機時間の長期化)を示す情報が、管理者端末30に送信される報告情報に含められてもよい。また、推奨可能なアプリケーションを示す情報が報告情報に含まれてもよい。   Moreover, the history of the server response time and the service standby time may be recorded in time series for each machine number of the device 10. Based on such history, information indicating deterioration of communication quality in a specific time zone (that is, longer service standby time) may be included in the report information transmitted to the administrator terminal 30. In addition, information indicating a recommended application may be included in the report information.

更に、報告情報は、機器10に対して送信されてもよい。機器10は、ジョブの実行前に、当該報告情報を参照して、サーバ応答時間の予測値を表示してもよい。   Further, the report information may be transmitted to the device 10. The device 10 may display the predicted value of the server response time with reference to the report information before executing the job.

続いて、ステップS411の詳細について説明する。図23は、サーバ応答時間の計測処理の処理手順の一例を説明するためのフローチャートである。   Next, details of step S411 will be described. FIG. 23 is a flowchart for explaining an example of a processing procedure of server response time measurement processing.

サーバ応答性監視部230は、機器10からの要求の受信、又はサーバアプリ21からの応答の返信を待機している(S501、S502)。サーバ応答性監視部230は、機器10からの要求がサービス提供装置20において受信されたことを検知すると(S501でYes)、当該要求(以下、「対象要求」という。)の送信元の機器10が監視対象であるか否かを判定する(S503)。当該判定は、対象要求に含まれている情報に基づいて特定される当該機器10のテナントID及び機体番号が、監視機器記憶部231に記憶されているか否かに基づいて行うことができる。   The server responsiveness monitoring unit 230 is on standby for receiving a request from the device 10 or returning a response from the server application 21 (S501, S502). When the server responsiveness monitoring unit 230 detects that the request from the device 10 has been received by the service providing apparatus 20 (Yes in S501), the device 10 that is the transmission source of the request (hereinafter referred to as “target request”). Is determined to be monitored (S503). The determination can be made based on whether the tenant ID and the machine number of the device 10 specified based on the information included in the target request are stored in the monitoring device storage unit 231.

当該テナントID及び機体番号が監視機器記憶部231に記憶されている場合(S503でYes)、サーバ応答性監視部230は、当該要求が監視対象の要求であるか否かを、監視要求記憶部232を参照して判定する(S504)。   When the tenant ID and the machine number are stored in the monitoring device storage unit 231 (Yes in S503), the server responsiveness monitoring unit 230 determines whether or not the request is a request to be monitored. The determination is made with reference to 232 (S504).

図24は、監視要求記憶部の構成例を示す図である。図24において、監視要求記憶部232は、計測開始要求と計測終了要求とのそれぞれの識別情報を記憶する。   FIG. 24 is a diagram illustrating a configuration example of the monitoring request storage unit. In FIG. 24, the monitoring request storage unit 232 stores identification information of each measurement start request and measurement end request.

計測開始要求は、サーバ応答時間等の計測の開始の契機となる要求である。図24では、スキャンサーバアプリ21aに対するアップロード要求が、計測開始要求である例が示されている。計測終了要求は、サーバ応答時間等の計測の終了の契機となる要求である。図24では、スキャンサーバアプリ21aに対する配信要求が、計測終了要求である例が示されている。なお、計測開始要求は、図20の要求Aに相当し、計測終了要求は、図20の要求Bに相当する。   The measurement start request is a request that triggers the start of measurement such as server response time. FIG. 24 shows an example in which the upload request to the scan server application 21a is a measurement start request. The measurement end request is a request that triggers the end of measurement such as server response time. FIG. 24 shows an example in which the distribution request to the scan server application 21a is a measurement end request. The measurement start request corresponds to the request A in FIG. 20, and the measurement end request corresponds to the request B in FIG.

ステップS504では、対象要求に含まれている要求の内容が、計測開始要求又は計測終了要求に該当するか否かが判定される。すなわち、機器10からの要求には、要求先のサーバアプリ21の識別情報と、要求の識別情報とが含まれている。   In step S504, it is determined whether the content of the request included in the target request corresponds to a measurement start request or a measurement end request. That is, the request from the device 10 includes the identification information of the requested server application 21 and the identification information of the request.

対象要求が、監視対象に該当し(S504Yes)、かつ、対象要求が計測開始要求である場合(S505でYes)、サーバ応答性監視部230は、変数T0(機体番号)に、現在時刻を代入する(S506)。なお、変数T0(機体番号)における「(機体番号)」は、対象要求の送信元の機器10の機体番号を示す。すなわち、変数T0(機体番号)は、機体番号別に用意される変数T0のうち、対象要求に係る機体番号に対応する変数T0を意味する。後述される変数T1及びT2についても同様である。   If the target request corresponds to the monitoring target (S504 Yes) and the target request is a measurement start request (Yes in S505), the server responsiveness monitoring unit 230 substitutes the current time for the variable T0 (airframe number). (S506). Note that “(machine number)” in the variable T0 (machine number) indicates the machine number of the device 10 that is the transmission source of the target request. That is, the variable T0 (machine number) means the variable T0 corresponding to the machine number related to the target request among the variables T0 prepared for each machine number. The same applies to variables T1 and T2, which will be described later.

サーバ応答性監視部230は、また、いずれかのサーバアプリ21からの応答の送信を検知すると(S512でYes)、当該応答の送信先が、監視対象の機器10であるか否かを判定する(S513)。斯かる判定は、当該応答(以下、「対象応答」という。)に含まれている情報に基づいて特定されるテナントID及び機体番号が、監視機器記憶部231に記憶されているか否かに基づいて行うことができる。   When the server response monitoring unit 230 detects the transmission of a response from any of the server applications 21 (Yes in S512), the server response monitoring unit 230 determines whether the transmission destination of the response is the device 10 to be monitored. (S513). Such determination is based on whether or not the tenant ID and the machine number specified based on the information included in the response (hereinafter referred to as “target response”) are stored in the monitoring device storage unit 231. Can be done.

当該テナントID及び機体番号が監視機器記憶部231に記憶されている場合(S513でYes)、サーバ応答性監視部230は、対象応答が監視対象の応答であるか否かを、監視要求記憶部232を参照して判定する(S514)。すなわち、対象応答が計測開始要求に対する応答であれば、対象応答は、監監視対象であると判定される。なお、対象応答には、いずれの要求に対する応答であるのかを識別するための情報が含まれている。   When the tenant ID and the machine number are stored in the monitoring device storage unit 231 (Yes in S513), the server responsiveness monitoring unit 230 determines whether the target response is a response to be monitored. Determination is made with reference to 232 (S514). That is, if the target response is a response to the measurement start request, it is determined that the target response is a monitoring target. The target response includes information for identifying which request is the response.

対象応答が監視対象である場合(S514でYes)、サーバ応答性監視部230は、変数T1(機体番号)に、現在時刻を代入する(S515)。   When the target response is a monitoring target (Yes in S514), the server responsiveness monitoring unit 230 substitutes the current time for the variable T1 (machine number) (S515).

また、ステップS501において受信された要求(以下、「対象要求」という。)が、計測終了要求に該当する場合(S505でNo)、サーバ応答性監視部230は、変数T2(機体番号)に、現在時刻を代入する(S507)。続いて、サーバ応答性監視部230は、T2(機体番号)−T1(機体番号)の演算結果をサービス待機時間(機体番号)に代入する(S508)。続いて、サーバ応答性監視部230は、T1(機体番号)−T0(機体番号)の演算結果をサービス実行時間(機体番号)に代入する(S509)。続いて、サーバ応答性監視部230は、T2(機体番号)−T0(機体番号)の演算結果を、サーバ応答時間(機体番号)に代入する(S510)。なお、ステップS508〜S5109に関して、変数T0、T1、及びT2の添え字である「(機体番号)」は、対象要求の送信元の機器10の機体番号を示す。   When the request received in step S501 (hereinafter referred to as “target request”) corresponds to a measurement end request (No in S505), the server responsiveness monitoring unit 230 sets the variable T2 (airframe number) to The current time is substituted (S507). Subsequently, the server responsiveness monitoring unit 230 substitutes the calculation result of T2 (machine number) −T1 (machine number) for the service standby time (machine number) (S508). Subsequently, the server responsiveness monitoring unit 230 substitutes the calculation result of T1 (machine number) −T0 (machine number) for the service execution time (machine number) (S509). Subsequently, the server responsiveness monitoring unit 230 substitutes the calculation result of T2 (machine number) −T0 (machine number) into the server response time (machine number) (S510). Regarding steps S508 to S5109, “(machine number)” which is a subscript of the variables T0, T1, and T2 indicates the machine number of the device 10 that is the transmission source of the target request.

続いて、サーバ応答性監視部230は、サービス待機時間(機体番号)及びサーバ応答時間(機体番号)を、例えば、補助記憶装置202に記録する(S511)。   Subsequently, the server responsiveness monitoring unit 230 records the service standby time (machine number) and the server response time (machine number) in, for example, the auxiliary storage device 202 (S511).

上述したように、第二の実施の形態によれば、機器10からの要求と、当該要求に対するサービス提供装置20による応答との通信時間を、サービス提供装置20において機器10ごとに推定することができる。また、当該通信時間の推定値に基づいて、サーバ応答時間をサービス提供装置20において推定することもできる。その結果、例えば、サービス提供装置20の運用者は、機器10ごとに、サービス提供装置20の応答性を把握することができる。   As described above, according to the second embodiment, the communication time between the request from the device 10 and the response from the service providing device 20 to the request can be estimated for each device 10 in the service providing device 20. it can. In addition, the server response time can be estimated by the service providing device 20 based on the estimated value of the communication time. As a result, for example, the operator of the service providing apparatus 20 can grasp the responsiveness of the service providing apparatus 20 for each device 10.

次に、第三の実施の形態について説明する。第三の実施の形態では第一の実施の形態又は第二の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態又は第二の実施の形態と同様でもよい。   Next, a third embodiment will be described. In the third embodiment, differences from the first embodiment or the second embodiment will be described. Therefore, the points not particularly mentioned may be the same as those in the first embodiment or the second embodiment.

図25は、第三の実施の形態におけるサービス提供装置の機能構成例を示す図である。図25中、図3又は図19と同一部分には同一符号を付し、その説明は省略する。   FIG. 25 is a diagram illustrating a functional configuration example of the service providing apparatus according to the third embodiment. In FIG. 25, the same parts as those in FIG. 3 or FIG.

第三の実施の形態において、サービス提供装置20は、第一の実施の形態における構成と第二の実施の形態における構成とを含む構成を有する。   In the third embodiment, the service providing apparatus 20 has a configuration including the configuration in the first embodiment and the configuration in the second embodiment.

なお、機器10は、例えば、図4において説明した構成を有する。   In addition, the apparatus 10 has the structure demonstrated in FIG. 4, for example.

図26は、第三の実施の形態における情報処理システムが実行する処理手順の一例を説明するための図である。図26中、図8又は図22と同一ステップには同一ステップ番号を付し、その説明は省略する。   FIG. 26 is a diagram for explaining an example of a processing procedure executed by the information processing system according to the third embodiment. In FIG. 26, the same step numbers are assigned to the same steps as those in FIG. 8 or FIG.

第三の実施の形態では、基本的に、第一の実施の形態における処理手順と第二の実施の形態における処理手順とが組み合わされた処理手順が実行される。但し、図26では、図22のステップS412の代わりに、ステップS451が実行される。ステップS451において、サーバ応答性監視部230は、機器10から受信された遅延時間や、当該機器10に係るサービス待機時間、及びサーバ応答時間等に基づいて、応答性の低下の要因の分析処理を実行する。ここでいう応答性は、ユーザから見た場合の機器10及びサービス提供装置20による応答性をいう。当該分析処理は、サーバ応答時間が閾値以上である場合に行われてもよい。   In the third embodiment, basically, a processing procedure in which the processing procedure in the first embodiment and the processing procedure in the second embodiment are combined is executed. However, in FIG. 26, step S451 is executed instead of step S412 of FIG. In step S451, the server responsiveness monitoring unit 230 performs an analysis process of the cause of the decrease in responsiveness based on the delay time received from the device 10, the service standby time related to the device 10, the server response time, and the like. Run. The responsiveness here refers to the responsiveness of the device 10 and the service providing apparatus 20 when viewed from the user. The analysis process may be performed when the server response time is equal to or greater than a threshold value.

例えば、機器10から受信された遅延時間が所定値以上である場合には、機器10における並列処理が、応答性の低下の要因であると判定されてもよい。また、サービス実行時間が所定値以上である場合には、サービス提供装置20の負荷の増加が、応答性の低下の要因であると判定されてもよい。また、サービス待機時間が所定値以上である場合は、ユーザ環境E1の通信環境が、応答性の低回の要因であると判定されてもよい。なお、遅延時間、サービス実行時間、及びサービス待機時間等は、機器10ごとに計測される。したがって、応答性の判定は、機器10ごとに実行される。   For example, when the delay time received from the device 10 is equal to or greater than a predetermined value, the parallel processing in the device 10 may be determined to be a cause of a decrease in responsiveness. Further, when the service execution time is equal to or greater than a predetermined value, it may be determined that an increase in the load of the service providing apparatus 20 is a factor of a decrease in responsiveness. Further, when the service standby time is equal to or greater than a predetermined value, it may be determined that the communication environment of the user environment E1 is a factor of low responsiveness. The delay time, service execution time, service standby time, and the like are measured for each device 10. Therefore, the determination of responsiveness is executed for each device 10.

なお、解析結果が、機器10における並列処理が要因であることを示す場合には、サーバ応答性監視部230は、当該解析結果を当該機器10に送信してもよい。この場合、当該機器10は、負荷低下処理を実行してもよい。   When the analysis result indicates that the parallel processing in the device 10 is a factor, the server responsiveness monitoring unit 230 may transmit the analysis result to the device 10. In this case, the device 10 may execute a load reduction process.

また、解析結果が、サービス提供装置20の負荷の増加を示す場合には、サービス提供装置20において利用頻度の低いサーバアプリ21や、現在利用されていないサーバアプリ21等が停止されてもよい。また、リアルタイムでの実行が要求されていない処理が、後回しにされてもよい。   When the analysis result indicates an increase in the load on the service providing apparatus 20, the server application 21 that is not frequently used in the service providing apparatus 20 or the server application 21 that is not currently used may be stopped. Further, a process that is not requested to be executed in real time may be postponed.

また、解析結果が、ユーザ環境E1の通信環境が要因であることを示す場合には、第二の実施の形態において説明した通りの対策が行われてもよい。   Further, when the analysis result indicates that the communication environment of the user environment E1 is a factor, the measures as described in the second embodiment may be performed.

上述したように、第三の実施の形態によれば、機器10側において計測される遅延時間と、サービス提供装置20側で計測されるサービス実行時間及びサービス待機時間等に基づいて、機器10とサービス提供装置20との連携によって実現される処理に関する応答性の低下について、要因(原因)の切り分けを行うことができる。   As described above, according to the third embodiment, based on the delay time measured on the device 10 side, the service execution time measured on the service providing device 20 side, the service standby time, and the like, Factors (causes) can be identified for a decrease in responsiveness related to processing realized by cooperation with the service providing apparatus 20.

なお、上記各実施の形態において、サービス提供装置20は、情報処理システムの一例である。サーバ応答性監視部230は、計測部の一例である。   In each of the above embodiments, the service providing apparatus 20 is an example of an information processing system. The server responsiveness monitoring unit 230 is an example of a measurement unit.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

1 情報処理システム
10 機器
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 サービス提供装置
21 サーバアプリ
21a スキャンサーバアプリ
21b 印刷サーバアプリ
21c 機器側応答性監視サーバアプリ
30 管理者端末
80 SDカード
111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
120 SDKアプリ
120a スキャンアプリ
120b 印刷アプリ
120c 機器側応答性監視アプリ
121 実待機時間計測部
122 遅延時間算出部
123 負荷抑制部
124 キー操作監視部
125 ソケット監視部
126 状態監視部
130 SDKプラットフォーム
131 アプリ管理部
132 パネル管理部
133 パネルサービス部
134 スキャンサービス部
135 印刷サービス部
141 コントロールサービス
142 ソケットサービス
143 ソケットフック部
144 イベントフック部
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
211 印刷データ記憶部
221 応答性設定記憶部
222 高負荷閾値記憶部
223 高負荷情報記憶部
224 負荷低下情報記憶部
230 サーバ応答性監視部
231 監視機器記憶部
232 監視要求記憶部
B バス
DESCRIPTION OF SYMBOLS 1 Information processing system 10 Device 11 Controller 12 Scanner 13 Printer 14 Modem 15 Operation panel 16 Network interface 17 SD card slot 20 Service providing device 21 Server application 21a Scan server application 21b Print server application 21c Device side response monitoring server application 30 Administrator Terminal 80 SD card 111 CPU
112 RAM
113 ROM
114 HDD
115 NVRAM
120 SDK application 120a Scan application 120b Print application 120c Device side responsiveness monitoring application 121 Real standby time measurement unit 122 Delay time calculation unit 123 Load suppression unit 124 Key operation monitoring unit 125 Socket monitoring unit 126 Status monitoring unit 130 SDK platform 131 Application management Unit 132 panel management unit 133 panel service unit 134 scan service unit 135 print service unit 141 control service 142 socket service 143 socket hook unit 144 event hook unit 200 drive device 201 recording medium 202 auxiliary storage device 203 memory device 204 CPU
205 Interface device 211 Print data storage unit 221 Responsiveness setting storage unit 222 High load threshold storage unit 223 High load information storage unit 224 Load reduction information storage unit 230 Server response monitoring unit 231 Monitoring device storage unit 232 Monitoring request storage unit B bus

特開2014−32659号公報JP 2014-32659 A

Claims (10)

1以上の情報処理装置を含む情報処理システムであって、
ネットワークを介して接続される機器から第1の要求が受信されると、前記第1の要求に対する応答の返信時から前記第1の要求の後に前記機器から送信される第2の要求の受信時までの経過時間を、前記第1の要求と前記応答との通信時間の推定値として計測する計測部を有することを特徴とする情報処理システム。
An information processing system including one or more information processing devices,
When a first request is received from a device connected via a network, from when a response to the first request is returned, when receiving a second request transmitted from the device after the first request An information processing system comprising: a measuring unit that measures an elapsed time until an estimated value of a communication time between the first request and the response.
前記第2の要求は、前記第1の要求の次に受信される要求である、
ことを特徴とする請求項1記載の情報処理システム。
The second request is a request received next to the first request;
The information processing system according to claim 1.
前記計測部は、更に、前記第1の要求の受信時から前記第2の要求の受信時までの経過時間を、前記第1の要求に対する応答時間の推定値として計測する、
ことを特徴とする請求項1又は2記載の情報処理システム。
The measuring unit further measures an elapsed time from the time of receiving the first request to the time of receiving the second request as an estimated value of a response time to the first request.
The information processing system according to claim 1 or 2.
前記情報処理システムは、ネットワークを介して複数の機器に接続され、
前記計測部は、機器別に前記経過時間を計測する、
ことを特徴とする請求項1乃至3いずれか一項記載の情報処理システム。
The information processing system is connected to a plurality of devices via a network,
The measurement unit measures the elapsed time for each device,
The information processing system according to any one of claims 1 to 3.
1以上の情報処理装置を含む情報処理システムが、
ネットワークを介して接続される機器から第1の要求が受信されると、前記第1の要求に対する応答の返信時から前記第1の要求の後に前記機器から送信される第2の要求の受信時までの経過時間を、前記第1の要求と前記応答との通信時間の推定値として計測する計測手順を実行することを特徴とする情報処理方法。
An information processing system including one or more information processing devices is provided.
When a first request is received from a device connected via a network, from when a response to the first request is returned, when receiving a second request transmitted from the device after the first request An information processing method comprising: executing a measurement procedure that measures an elapsed time until the estimated time of communication between the first request and the response.
前記第2の要求は、前記第1の要求の次に受信される要求である、
ことを特徴とする請求項5記載の情報処理方法。
The second request is a request received next to the first request;
The information processing method according to claim 5.
前記計測手順は、更に、前記第1の要求の受信時から前記第2の要求の受信時までの経過時間を、前記第1の要求に対する応答時間の推定値として計測する、
ことを特徴とする請求項5又は6記載の情報処理方法。
The measurement procedure further measures an elapsed time from reception of the first request to reception of the second request as an estimated value of a response time to the first request.
The information processing method according to claim 5 or 6.
情報処理装置に、
ネットワークを介して接続される機器から第1の要求が受信されると、前記第1の要求に対する応答の返信時から前記第1の要求の後に前記機器から送信される第2の要求の受信時までの経過時間を、前記第1の要求と前記応答との通信時間の推定値として計測する計測手順を実行させることを特徴とするプログラム。
In the information processing device,
When a first request is received from a device connected via a network, from when a response to the first request is returned, when receiving a second request transmitted from the device after the first request A program for executing a measurement procedure for measuring an elapsed time until the estimated time of communication between the first request and the response.
前記第2の要求は、前記第1の要求の次に受信される要求である、
ことを特徴とする請求項8記載のプログラム。
The second request is a request received next to the first request;
The program according to claim 8, wherein:
前記計測手順は、更に、前記第1の要求の受信時から前記第2の要求の受信時までの経過時間を、前記第1の要求に対する応答時間の推定値として計測する、
ことを特徴とする請求項8又は9記載のプログラム。
The measurement procedure further measures an elapsed time from reception of the first request to reception of the second request as an estimated value of a response time to the first request.
10. The program according to claim 8 or 9, wherein
JP2015006527A 2015-01-16 2015-01-16 Information processing system, information processing method, and program Expired - Fee Related JP6413779B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015006527A JP6413779B2 (en) 2015-01-16 2015-01-16 Information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015006527A JP6413779B2 (en) 2015-01-16 2015-01-16 Information processing system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2016133867A JP2016133867A (en) 2016-07-25
JP6413779B2 true JP6413779B2 (en) 2018-10-31

Family

ID=56438130

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015006527A Expired - Fee Related JP6413779B2 (en) 2015-01-16 2015-01-16 Information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP6413779B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112018007081B4 (en) * 2018-03-19 2021-04-08 Mitsubishi Electric Corporation Information processing apparatus and information processing method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078956A (en) * 1997-09-08 2000-06-20 International Business Machines Corporation World wide web end user response time monitor
AU2002318115A1 (en) * 2001-05-04 2002-11-18 Netqos, Inc. Server-site response time computation for arbitrary applications
JP2009289163A (en) * 2008-05-30 2009-12-10 Toshiba Corp Server device and communication system

Also Published As

Publication number Publication date
JP2016133867A (en) 2016-07-25

Similar Documents

Publication Publication Date Title
US9400693B2 (en) Controlling application programs based on memory usage of a process and right of application programs to use display unit
JP5991104B2 (en) Information processing apparatus, information processing method, and program
KR20150055474A (en) Image forming apparatus and method for controlling display of pop-up window thereof
JP5177181B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
US10601904B2 (en) Cooperation system
JP2015146518A (en) Information apparatus, computer program and memory sharing method
US8527535B2 (en) Information processing apparatus, information processing method, and program
JP5998849B2 (en) Electronic device, information processing system, information management apparatus, information processing method, and information processing program
JP6413779B2 (en) Information processing system, information processing method, and program
JP2016151892A (en) Information processing apparatus, installation method, and installation program
US9917968B2 (en) Image processing device and terminal device using application programming interface corresponding to specific function
JP2011197990A (en) Information processor and program
US11093104B2 (en) Icon display control apparatus that prevents messy display of icons, method of controlling same, and storage medium
JP6413778B2 (en) Apparatus, information processing system, information processing method, and program
JP6044248B2 (en) Information processing apparatus, application program introduction apparatus, and program
JP5691329B2 (en) Job management apparatus, image processing apparatus, printing system, and job management program
JP2011186821A (en) Virtual-environment management system, device, method, and program
JP5678556B2 (en) Job execution system, job execution device, and program
JP6299200B2 (en) Apparatus, information processing system, control method, and program
JP2019168845A (en) Information processing apparatus and its control method
JP6341016B2 (en) Image forming system, image forming apparatus, and program
US11442673B2 (en) Image processing device configured to send setting data to a terminal device
JP6481666B2 (en) Image processing device
JP2018142205A (en) Information processing apparatus and information processing method
JP2011101071A (en) Facsimile driver program and facsimile system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180814

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: 20180904

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180917

R151 Written notification of patent or utility model registration

Ref document number: 6413779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees