JP2014096159A - Event acquisition control method and event acquisition control system - Google Patents
Event acquisition control method and event acquisition control system Download PDFInfo
- Publication number
- JP2014096159A JP2014096159A JP2013262775A JP2013262775A JP2014096159A JP 2014096159 A JP2014096159 A JP 2014096159A JP 2013262775 A JP2013262775 A JP 2013262775A JP 2013262775 A JP2013262775 A JP 2013262775A JP 2014096159 A JP2014096159 A JP 2014096159A
- Authority
- JP
- Japan
- Prior art keywords
- service
- event
- execution
- acquisition
- requesting
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
Description
本発明は、イベントの取得を制御する制御方法、イベントの取得を要求する要求装置、及び、サービスを実行する実行装置に関する。 The present invention relates to a control method for controlling acquisition of an event, a requesting device that requests acquisition of an event, and an execution device that executes a service.
クライアント同士でイベントを共有するネットワークシステムがある。例えば、クライアントがネットワークを介して接続されたサーバ上のサービスを実行し、サービスで発生したイベントを他のクライアントがサーバから取得する。その際、イベントの取得を行うクライアントは、ポーリングすなわち定期的にサーバに問い合わせを行うことによって所望のイベントを取得する。 There are network systems that share events between clients. For example, a client executes a service on a server connected via a network, and another client acquires an event generated by the service from the server. At that time, a client that acquires an event acquires a desired event by polling, that is, by periodically making an inquiry to the server.
従来、ポーリングによってデータを取得する際、データ取得のリアルタイム性を高めるためにはサーバへの問い合わせを短い間隔で行う必要があるが、それによって通信負荷が増大してしまうという問題があった。このような問題を解決するために、例えば、サーバがクライアントの通信記録に基づいて次のポーリングに好適な時間を算出し、クライアントに通知するといった試みがなされている(特許文献1)。 Conventionally, when acquiring data by polling, in order to improve the real-time property of data acquisition, it is necessary to make an inquiry to the server at a short interval, but there is a problem in that the communication load increases. In order to solve such a problem, for example, an attempt has been made in which the server calculates a time suitable for the next polling based on the communication record of the client and notifies the client (Patent Document 1).
従来の方法は、サーバまたはクライアントにおいてあらかじめ登録されているスケジュールや通信状態といったシステム管理情報に基づいてポーリング間隔もしくはポーリング時間を決定している。しかしながら、ユーザが操作を行うことによって処理が開始された場合には、従来の方法ではユーザの操作に応じてポーリング制御を対応させることはできないという課題があった。 In the conventional method, the polling interval or polling time is determined based on system management information such as a schedule or communication state registered in advance in the server or client. However, when the process is started by the user performing an operation, there is a problem that the conventional method cannot make the polling control correspond to the user's operation.
本発明は上述した問題を解決するためになされたものであり、ポーリングのリアルタイム性および負荷軽減を実現することを目的とする。 The present invention has been made to solve the above-described problems, and an object thereof is to realize real-time performance of polling and load reduction.
上記目的を達成するために、本発明のイベント取得制御方法は、サービスの実行を要求する要求装置と、ネットワークを介して要求された前記サービスを実行するサービス実行装置と、前記サービスの実行により発生したイベントの取得を要求するイベント取得装置と、から構成されるシステムのイベント取得制御方法において、前記要求装置に対してサービスの実行を要求するための操作中であるか、判断手段が判断する判断工程と、前記判断工程において、前記操作中であると判断した場合は、前記操作中でないと判断した場合よりも、前記イベント取得装置がイベントの取得を要求する間隔を、間隔設定手段が短く設定する間隔設定工程と、を有することを特徴とする。 In order to achieve the above object, an event acquisition control method of the present invention is generated by a request device that requests execution of a service, a service execution device that executes the service requested via a network, and the execution of the service. In the event acquisition control method of the system configured to request acquisition of an event that has been performed, the determination unit determines whether an operation for requesting execution of a service to the requesting device is in progress In the step and the determination step, the interval setting means sets the interval at which the event acquisition device requests acquisition of the event shorter than when determining that the operation is being performed, than when determining that the operation is not being performed. And an interval setting step.
本発明によれば、サービスにおいて発生するイベント取得のためのポーリングを実行する際に、リアルタイム性確保のための負荷を軽減することが可能となる。 According to the present invention, it is possible to reduce a load for securing real-time properties when performing polling for acquiring an event that occurs in a service.
図1は、本発明の実施形態に係るネットワークシステムのハードウェア構成を示すブロック図である。ネットワーク100を介し、クライアント装置101とサーバ装置102が接続されている。ネットワーク100は、メッセージを通信できれば、どのような形態でもよく、例えばインターネット、WAN、LANなどである。
FIG. 1 is a block diagram showing a hardware configuration of a network system according to an embodiment of the present invention. A
クライアント装置101は、制御部103、通信部104、記憶部105、ユーザ操作部106、表示部107を備える。クライアント装置101は、サーバ装置102上のサービスを実行するサービス実行側と、サービスで発生したイベントをサーバ装置102から取得するイベント取得側のどちらにもなり得る。
The
制御部103は、クライアント装置101における各処理部の処理を実行する。通信部104は、ネットワーク100を使用して通信するためのインタフェースを含み、サーバ装置102との通信を制御する。記憶部105は、クライアント装置101における各処理部の作業領域やデータの格納場所となる記憶装置である。ユーザ操作部106は、ユーザからの操作を受信するための入力装置であり、例えばマウスやキーボード等である。表示部107は、クライアント装置101の処理結果を画面表示するための出力装置であり、例えば液晶ディスプレイ等である。
The
サーバ装置102は、制御部108、記憶部109、通信部110を備える。制御部108は、サーバ装置102における各処理部の処理を実行する。記憶部109は、サーバ装置102における各処理部の作業領域やデータの格納場所となる記憶装置である。通信部110は、ネットワーク100を使用して通信するためのインタフェースを含み、クライアント装置101との通信を制御する。
The
図2は、本発明の第一の実施形態に係るネットワークシステムのソフトウェア構成を示す図である。サービス実行クライアント201、イベント取得クライアント203は、図1のクライアント装置101のソフトウェア構成を示し、サーバ202は、図1のサーバ装置102のソフトウェア構成を示す。サービス実行クライアント201、サーバ202、イベント取得クライアント203は、ネットワーク100を介して接続される。
FIG. 2 is a diagram showing a software configuration of the network system according to the first embodiment of the present invention. The
サービス実行クライアント201、イベント取得クライアント203は、クライアント装置101の制御部103が記憶部105に記憶されたプログラムを実行することにより実現される。また、サーバ202は、サーバ装置102の制御部108が記憶部109に記憶されたプログラムを実行することにより実現される。制御部103、108は、コンピュータである。記憶部105、109は、制御部103、108が読出すことができるように、図2を実現するためのプログラムを記憶している。サービス実行クライアント201がサーバ202上のサービスを実行することによってイベントが発生し、そのイベントをイベント取得クライアント203がポーリングで取得する。
The
なお、図1の同一のクライアント装置内にサービス実行クライアント201およびイベント取得クライアント203の両方が存在していてもよい。例えば、図1のネットワーク100に接続された複数のクライアント装置101は、サービス実行クライアント201とイベント取得クライアント203の両方を備える。
Note that both the
複数のクライアント装置101のうち、サーバ202のサービス208の実行を要求するクライアント装置101がサービス実行クライアント201として動作する。そして、ネットワーク100に接続された複数のクライアント装置101がイベント取得クライアント203として動作する。サービス実行クライアントとして動作するクライアント装置101は、イベント取得クライアント203としても動作し、サーバ202で発生したイベントを取得する。
Among the plurality of
サービス実行装置205は、サービスの実行を要求する要求装置である。サービス管理装置209は、サービス実行装置205からネットワーク100を介して要求されたサービスを実行するサービス実行装置である。また、イベント取得装置216は、サービスの実行により発生したイベントの取得を要求するイベント要求装置である。サービス管理装置209は、イベント取得装置216にネットワーク100を介して要求されたイベントを通知する。サービス実行装置205、サービス管理装置209、イベント取得装置216は、ネットワーク100に接続される。イベント取得装置216からネットワーク100を介して要求されたイベントをイベント取得装置216にネットワーク100を介して通知する。
The
サービス208は、例えば、議事録作成サービスであり、サービス実行クライアント201のアプリケーション204は、例えば、議事録入力アプリケーションである。また、イベント取得クライアント203のアプリケーション215は、議事録表示アプリケーションである。議事録入力アプリケーションと議事録表示アプリケーションは、同一の議事録アプリケーションが実現する機能として構成してもよい。
The
図2を参照して、本実施形態のイベント取得制御方法を説明する。 With reference to FIG. 2, the event acquisition control method of this embodiment will be described.
サービス実行クライアント201は、アプリケーション204へのユーザ操作に応じてサーバ202上のサービスを実行するサービス実行装置205を備える。サービス実行装置205では、サービス実行のためのユーザ操作の入力を受信するユーザ操作受信部206が、現在の(ユーザ)操作状態が入力処理中か入力待機中かをアプリケーションごとに判断する。
The
ユーザ操作受信部206は、図1のユーザ操作部106からのユーザ操作を受信する。当該操作状態が入力処理中の場合には、入力処理中であることを、リクエスト通知部207を通じて定期的にサーバ202に通知する。入力処理中とはアプリケーションに対してサービス実行のためのユーザ操作が行われている状態を指し、入力待機中とはユーザ操作が行われていない状態を指す。
The user operation reception unit 206 receives a user operation from the
サービス実行のリクエストメッセージを通知するリクエスト通知部207は、アプリケーション204へのサービス実行のためのユーザ操作が確定されると、サービス実行リクエストをサーバ202に通知する。リクエスト通知部207は、サービス実行リクエストを図1の通信部104を介してサーバ202に通知する。
A
操作状態を判断するユーザ操作受信部206が管理する情報は、例えば、図3(A)に示すように、登録アプリケーション301ごとの、利用サービス情報302、最終入力受信時間情報303、操作状態304である。この情報は図1の記憶部105に格納される。登録アプリケーション301は、当該サービス実行クライアントにインストールされ、サービス実行装置205に登録されているアプリケーション204についての情報である。
Information managed by the user operation receiving unit 206 that determines the operation state includes, for example,
利用サービス情報302は、アプリケーション204が利用するサービスについての情報である。最終入力受信時間情報303は、アプリケーション204を使用するユーザがサービスを実行するために行った操作の入力を受信した最終時間についての情報である。操作状態304は、ユーザ操作受信部206が判断した操作状態についての情報である。
The used
サーバ202は、サービス実行クライアント201からのサービス実行リクエストに応じてサービス208を実行するサービス管理装置209を備える。サービス管理装置209では、リクエスト受信部210がサービス実行クライアント201からのサービス実行リクエストを受信し、サービス実行部211に対応するサービスの実行を指示する。また、リクエスト受信部210は、サービス実行クライアント201から受信した操作状態を(サービス状態)管理部212に通知する。リクエスト受信部210は、サービス実行クライアント201からの情報を、通信部110を介して受信する。
The
サービス実行部211は、リクエスト受信部210からの指示に応じてサービス208を実行し、実行の結果生じたイベント情報をデータ記憶部213に格納し管理する。データ記憶部213は、図1の記憶部109内に設けられる。
The
管理部212は、リクエスト受信部210から通知される操作状態に応じて、現在の操作状態が実行処理中か実行待機中かをサービスごとに設定する。現在の操作状態は、図1の記憶部109内に設定される。実行処理中とは当該サービスに対し入力処理中のサービス実行クライアントが存在する状態を指し、実行待機中とはそうでない状態を指す。入力処理中とは、サービス208に対して通知するデータをユーザが入力している状態である。このユーザから入力されたデータは、ユーザ操作受信部206で受信される。
The
管理部212は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断し、サービスの実行を要求するための入力中であると判断すると、そのサービスの操作状態を実行処理中に設定する。管理部212は、サービスを利用しているクライアントを管理し、さらに、クライアントごとに、入力中であるか、待機中であるか管理する。
The
イベント取得クライアント203からのイベント取得のためのポーリングは、ポーリング受信部214が受信する。ポーリング受信部214は、ポーリングを図1の通信部110を介して受信する。ポーリング受信部214は、ポーリングを受信すると、サービス実行部211が管理するイベント情報、管理部212が管理する操作状態を取得し、それらの情報をメッセージに付加して応答する。
Polling for event acquisition from the
サービス管理装置209は、この操作状態により、イベント取得クライアント203のポーリング間隔を設定する。サービス実行装置205がサービスの実行を要求するための入力中であると判断した場合は、サービス実行装置205がサービスの実行を要求するための入力中でないと判断した場合よりも、イベント取得装置216がイベントの取得を要求する間隔を短く設定する。
The
サービス208が議事録作成サービスであり、イベント取得クライアント203のアプリケーション215が議事録表示アプリケーションである場合は、以下のような動作が行われる。すなわち、ポーリング受信部214は、イベント取得クライアント203からポーリングを受信する。すると、ポーリング受信部214は、イベント取得クライアント203が議事録表示アプリケーションで表示すべき議事録と、サービス実行クライアント201の操作状態をイベント取得クライアント203に送信する。議事録表示アプリケーションで表示すべき議事録は、イベント情報である。
When the
操作状態を判断する管理部212が管理する情報は、例えば、登録サービス401ごとの、図3(B)に示す情報である。すなわち、利用クライアント情報402、最終通知受信時間情報403、クライアント操作状態情報404、操作状態405である。
The information managed by the
登録サービス401は、当該サーバにデプロイされ、サービス管理装置209に登録されているサービス208についての情報である。利用クライアント情報402は、サービス208を利用するサービス実行クライアント201についての情報である。最終通知受信時間情報403は、サービス208を使用するサービス実行クライアント201からの操作状態の通知メッセージを受信した最終時間についての情報である。クライアント操作状態情報404は、各クライアントの操作状態についての情報である。操作状態405は、管理部212が判断した操作状態についての情報である。
The
本形態では、実行可能なサービス208は、ネットワーク100上に複数存在する。この場合、管理部212は、サービス実行装置205が実行を要求するための入力中であるか、サービスごとに判断する。サービス実行装置205がサービスの実行を要求するための入力中であると判断したサービスの実行により発生したイベントの取得を要求する間隔を、入力中でないと判断した場合よりも、管理部212は短く設定する。
In this embodiment, a plurality of
また、図3(B)の場合、サービス実行クライアント201(または要求装置であるサービス実行装置205)がネットワーク100上に複数存在する。このような場合、サービス管理装置209は、複数のサービス実行装置205の少なくとも1つがサービスの実行を要求するための入力中であるか判断する。そして、複数のサービス実行装置205の少なくとも1つが入力中であると判断した場合は、サービス実行装置205の全てがサービスの実行を要求するための入力中でないと判断した場合よりも、サービス管理装置209は、イベント取得装置216がイベントの取得を要求する間隔を、短く設定する。
In the case of FIG. 3B, a plurality of service execution clients 201 (or
イベント取得クライアント203は、ポーリングでサーバ202からイベントを取得し、アプリケーション215に通知するイベント取得装置216を備える。イベント取得装置216では、ポーリング実行部217がポーリング頻度決定部218の決定したポーリング頻度に従ってサーバ202に対してポーリングを行い、サーバ202上のサービスで発生したイベントを取得する。ポーリング実行部217は、図1の通信部104を介してポーリングの実行及びイベントの取得を行う。ポーリング実行部217は、ポーリングの返答メッセージに付加されたイベント情報をアプリケーション215に通知し、操作状態をポーリング頻度決定部218に通知する。
The
ポーリング頻度決定部218は、通知された操作状態を基にポーリング頻度を設定する。すなわち、ポーリング頻度決定部218は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断する。そして、ポーリング頻度決定部218は、サービス実行装置205がサービスの実行を要求するための入力中であると判断した場合は、入力中でないと判断した場合よりも、イベントの取得を要求する間隔を短く設定する。なお、イベント取得装置216は、サービス実行装置205から要求されたサービスをサービス管理装置209が実行することにより発生したイベントの取得を要求するイベント要求装置である。
The polling
ポーリング実行部217は、ポーリング頻度決定部218が設定したポーリング頻度に応じてポーリング間隔を制御する。すなわち、ポーリング頻度が高いサービスに対してポーリング間隔を短くし、ポーリング頻度が低いサービスに対してポーリング間隔を長くする。この制御では、複数のサービスのそれぞれに対するポーリング間隔は独立に設定される。ポーリング頻度が高いサービスに対するポーリング頻度は、例えば、0.1秒間隔であり、ポーリング頻度が低いサービスに対するポーリング頻度は、例えば、10秒間隔である。
The
また、ポーリング実行部217は、ポーリング頻度に応じてポーリング割り当てを制御する。すなわち、ポーリング頻度が高いサービスに対して割り当てを多くし、ポーリング頻度が低いサービスに対して割り当てを少なくする。この制御では、所定の間隔(例えば、0.04秒間隔)で、複数のサービスのいずれかに対し、ポーリングを行う。そして、どのサービスにポーリングを行うか決定する際に、ポーリング頻度の高いサービスを優先する。すなわち、サービス実行装置205が実行を要求するための入力中であると判断したサービスの実行により発生したイベントの取得を要求する頻度を、入力中でないと判断したサービスの実行により発生したイベントの取得を要求する頻度よりも、管理部212は高く設定する。
Also, the
実施においては、上述の制御のいずれか一つあるいは二つを組み合わせて使用する。例えば、ポーリング頻度が高いサービスが1つまたは2つであれば、前者の制御を、ポーリング頻度が高いサービスが3つ以上であれば、後者の制御を行う。 In implementation, any one or a combination of the above-described controls is used. For example, if one or two services have a high polling frequency, the former control is performed. If there are three or more services having a high polling frequency, the latter control is performed.
図4は、本発明の実施形態に係るネットワークシステムにおける各装置間での処理の流れを示す図である。なお、サービス実行装置205は、サービスの実行を要求する要求装置である。サービス管理装置209は、サービス実行装置205からネットワーク100を介して要求されたサービスを実行するサービス実行装置である。また、イベント取得装置216は、サービスの実行により発生したイベントの取得を要求するイベント要求装置である。
FIG. 4 is a diagram showing a flow of processing between devices in the network system according to the embodiment of the present invention. The
イベント取得装置216を備えるイベント取得クライアント203は、サービスで発生したイベントを取得するために、サービス管理装置209を備えるサーバ202に定期的にポーリングを行う(L501)。このポーリングの頻度は低く(例えば10秒)設定されているものとする。
The
サーバ202は、ポーリングを受信すると、通知するイベント情報、操作状態を返答するが、通知するイベントがない場合には操作状態のみをメッセージに含める。なお、現時点においては操作状態が入力処理中のクライアントが存在しないため、サービスの操作状態は実行待機中であるとする(L502)。なお、操作状態が実行待機中であるサービスのポーリング頻度は、低く設定されたままにする。
When receiving the polling, the
サービス実行装置205を備えるサービス実行クライアント201が、サービス実行のためのユーザ操作の入力を受信する(L503)。サービス実行クライアント201は、対象となるサービスに対して操作状態が入力処理中であることをリクエスト通知部207からサーバ202に通知する(L504)。
The
通知を受信したサーバ202は、当該サービスの操作状態を実行処理中に設定する。すなわち、管理部212は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断する。入力中であると判断すると、そのサービスの操作状態を実行処理中に設定する。
The
サービス実行クライアント201は、操作状態が入力処理中である間は、定期的にサーバ202に操作状態(入力処理中)を通知する(不図示)。サービス管理装置209は、クライアントがサービスの利用を開始すると、管理部212により、そのクライアントがそのサービスを利用していること、及び、そのクライアントの操作状態を管理する。
The
イベント取得クライアント203は、サーバ202にポーリングを行う(L505)。サーバ202は、ポーリングに対して操作状態を含むメッセージを返答する(L506)。返答メッセージを受信したイベント取得クライアント203は、操作状態が実行処理中であるサービスのポーリング頻度を高く(例えば0.1秒)設定する(L507)。サービス実行装置205がサービスの実行を要求するための入力中であると判断した場合は、サービス実行装置205がサービスの実行を要求するための入力中でないと判断した場合よりも、イベント取得装置216がイベントの取得を要求する間隔を短く設定する。
The
サービス実行クライアント201でサービス実行のためのユーザ操作が確定する(L508)。サービス実行クライアント201は、サービス実行リクエストをサーバ202に通知する。(L509)。サービス実行リクエストを受信したサーバ202は、対応するサービスを実行し、それによりイベントが発生する。イベント取得クライアント203は、サーバ202にポーリングを行う(L510)。このポーリングは、L507で高く設定されたポーリング頻度で行われる。サーバ202は、ポーリングに対してイベント情報を含めたメッセージを返答する(L511)。
The user operation for executing the service is confirmed on the service execution client 201 (L508). The
サーバ202は、実行したサービスの結果を必要があればサービス実行クライアント201に返す(不図示)。
The
図5は、サービス実行装置205がサービス管理装置209に送信するメッセージがSOAPメッセージである場合の一例を示した図である。SOAPメッセージ601は、ヘッダ部602およびボディ部603から構成される。ヘッダ部602は、ポーリング情報604を含む。ポーリング情報604は、サービス実行クライアント201におけるサービス実行のための操作状態を表す情報であり、例えば、サービス識別子605および当該サービスに対する操作状態606を含む。なお、この例ではボディ部603にサービス実行リクエストが含まれているが、操作状態のみを通知する場合には、ボディ部603は空でもよい。
FIG. 5 is a diagram illustrating an example in which the message transmitted from the
図6(A)は、サービス管理装置209がイベント取得装置216に送信するメッセージがSOAPメッセージである場合の一例を示した図である。SOAPメッセージ701は、ヘッダ部702およびボディ部703から構成される。ヘッダ部702は、ポーリング情報704を含む。ポーリング情報704は、サーバ202におけるサービスの操作状態を表す情報であり、例えば、サービス識別子705および当該サービスの操作状態706を含む。なお、この例ではボディ部703にイベント情報が含まれているが、通知するイベントがなく操作状態のみを通知する場合には、ボディ部703は空でもよい。
FIG. 6A is a diagram illustrating an example in which the message transmitted from the
図7は、サービス実行装置205における操作状態設定処理を示すフローチャートである。
FIG. 7 is a flowchart showing an operation state setting process in the
まず、サービス実行装置205は、アプリケーション204に対するサービス実行のためのユーザ操作の入力を受信する(S801)。対応するサービスの操作状態(図3(A))を入力処理中に設定する(S802)。その後、定期的に(例えば、1分毎)、前回のユーザ操作の入力を受信してから設定時間が経過したか否かを判定する(S803)。S803において設定時間が経過していると判定された場合には、操作状態を入力待機中に戻す(S804)。
First, the
一方、S803において設定時間が経過していないと判定された場合には、操作状態を入力処理中のまま変更せずに、再び一定時間後にS803の判定を行う。この設定時間の計時中に、アプリケーション204に対するサービス実行のためのユーザ操作の入力が受信されると、その入力から設定時間の経過を計時する。
On the other hand, if it is determined in S803 that the set time has not elapsed, the operation state is not changed during the input process, and the determination in S803 is performed again after a predetermined time. When an input of a user operation for executing a service for the
このような操作状態設定処理方法により、ユーザがサービス実行のための操作を行っている間は、操作状態が入力処理中に保たれることになる。サービス実行装置205は、サービス管理装置209へ操作状態の通知メッセージを、S803の判定が行われる度に送信する。また、この送信は、別途設定された間隔に従って送信してもよい。
With such an operation state setting processing method, the operation state is maintained during the input process while the user is performing an operation for service execution. The
図8は、サービス管理装置209における操作状態設定処理を示すフローチャートである。
FIG. 8 is a flowchart showing an operation state setting process in the
まず、サービス管理装置209は、サービス実行装置205からサービスごとの操作状態の通知メッセージを受信する(S901)。受信した通知メッセージに応じて、当該サービス実行装置の操作状態がサービス実行のための入力処理中か否かの判定する(S902)。すなわち、管理部212は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断する(判断手順)。S902において操作状態が入力処理中であると通知されたサービスに対しては、当該サービスの操作状態(図3(B))を実行処理中に設定する(S903)。
First, the
その後、定期的に、操作状態が入力処理中である通知メッセージの前回の受信から設定時間が経過したか否かを判定する(S904)。S904において設定時間が経過していると判定された場合には、操作状態を実行待機中に戻す(S905)。この設定時間(例えば2分)は、サービス実行装置205がサービス実行のための入力処理中であることを通知するメッセージを送信する間隔(例えば1分)より長く設定される。
Thereafter, it is periodically determined whether or not a set time has elapsed since the previous reception of a notification message whose operation state is input processing (S904). If it is determined in S904 that the set time has elapsed, the operation state is returned to execution standby (S905). This set time (for example, 2 minutes) is set longer than the interval (for example, 1 minute) at which the
一方、S904において設定時間が経過していないと判定された場合には、操作状態を実行処理中のまま変更せずに、再び一定時間後にS904の判定を行う。 On the other hand, if it is determined in S904 that the set time has not elapsed, the operation state is not changed during execution processing, and the determination in S904 is performed again after a predetermined time.
また、S902において操作状態が入力待機中であると通知されたサービスについては、当該サービスに対する操作状態が入力処理中となっているクライアントが他に存在するか否かの判定を行う(S906)。S906において対象クライアントが存在する場合には、操作状態は実行処理中となっている状態のまま変更せずに、S904の処理を実施する。一方、S906において対象クライアントが存在しない場合には、S905の処理を実施し、操作状態を実行待機中に戻す。 In addition, for the service notified that the operation state is waiting for input in S902, it is determined whether or not there is another client whose operation state for the service is input processing (S906). If there is a target client in S906, the operation state remains unchanged in the execution process, and the process in S904 is performed. On the other hand, if the target client does not exist in S906, the processing of S905 is performed, and the operation state is returned to waiting for execution.
このような操作状態設定処理方法により、ユーザがサービス実行のための操作を行っているクライアントが存在する間は、当該サービスの操作状態が実行処理中に保たれることになる。 With such an operation state setting processing method, the operation state of the service is maintained during the execution process while there is a client on which the user is performing an operation for executing the service.
ポーリング受信部214は、イベント取得装置216からのポーリングに応じて、イベント及び操作状態をイベント取得装置216に送信する。操作状態は、サービス実行装置205がサービスの実行を要求するための入力中であるか否かを示す。サービス管理装置209は、この操作状態をイベント取得装置216に設定することにより、イベント取得装置216が行うポーリングの間隔を指示する(指示手順)。サービスを実行するための入力中の場合には、入力中でない場合より、ポーリング間隔が短くなるように間隔設定される。
The
図9は、本発明の第一の実施形態においてイベント取得装置216がポーリング頻度を設定する際の処理を示すフローチャートである。
FIG. 9 is a flowchart showing processing when the
まず、イベント取得装置216は、サービス管理装置209へのポーリングの返答メッセージとして操作状態を含むポーリング情報を取得する(S1001)。取得したポーリング情報を基に各サービスの操作状態を判断する(S1002)(判断手順)。S1002において操作状態が実行処理中のサービスに対してはポーリング頻度を高く設定する(S1003)。一方、S1002において操作状態が実行待機中のサービスに対してはポーリング頻度を低く設定する(S1004)(間隔を短縮する短縮手順)。
First, the
すなわち、ポーリング頻度決定部218は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断する。そして、ポーリング頻度決定部218は、サービス実行装置205がサービスの実行を要求するための入力中であると判断した場合は、入力中でないと判断した場合よりも、イベントの取得を要求する間隔を短く設定する。
That is, the polling
次に、本発明の第二の実施形態について説明する。第一の実施形態においては、イベント取得クライアント203で操作状態を基にポーリング頻度を決定する場合を示した。本実施形態においては、サーバ202で操作状態を基にポーリング頻度を設定し、ポーリング情報としてイベント取得クライアント203に通知する場合を示す。
Next, a second embodiment of the present invention will be described. In the first embodiment, the
本発明の第二の実施形態に係るイベント共有システムのソフトウェア構成を説明する。なお、本システムのハードウェア構成は、図1と共通である。 The software configuration of the event sharing system according to the second embodiment of the present invention will be described. The hardware configuration of this system is the same as that in FIG.
サービス管理装置209の管理部212は、ポーリング頻度の算出を行う。管理部212は、管理部212が管理する操作状態を基にポーリング頻度を算出する。ポーリング受信部214は、管理部212からポーリング頻度情報を取得し、イベント取得装置216からのポーリングに対してそのポーリング頻度情報を付加したメッセージを応答する。ポーリング実行部217は受信したポーリング頻度情報に応じてポーリングを実行する。
The
サービス実行装置205は、サービスの実行を要求する要求装置である。サービス管理装置209は、サービス実行装置205からネットワーク100を介して要求されたサービスを実行するサービス実行装置である。イベント取得装置216は、サービスの実行により発生したイベントの取得を要求するイベント要求装置である。また、サービス管理装置209は、イベント取得装置216にネットワーク100を介して要求されたイベントを通知する。
The
サービス状態管理部212は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断する。そして、サービス実行装置205がサービスの実行を要求するための入力中であると判断した場合は、入力中でないと判断した場合よりも、イベント取得装置216がイベントの取得を要求する間隔を短くするように、イベント取得装置216に指示する。
The service
図6(B)は、本発明の第二の実施形態に係るイベント共有システムにおいて、サービス管理装置209がイベント取得装置216に送信するメッセージがSOAPメッセージである場合の一例を示した図である。ポーリング情報704は、例えば、サービス識別子705に対応するサービスへのポーリング間隔情報1201を含む。
FIG. 6B is a diagram illustrating an example in which the message transmitted from the
次に、本発明の第三の実施形態について説明する。第一および第二の実施形態においては、操作状態のみを基にポーリング頻度を決定する場合を示した。本実施形態においては、操作状態の他に、イベント取得装置における操作状態、サービス優先度、サーバでの通信負荷状態等の情報を基にポーリング頻度を設定する場合を示す。本形態におけるイベント取得制御方法を説明する。 Next, a third embodiment of the present invention will be described. In the first and second embodiments, the case where the polling frequency is determined based only on the operation state is shown. In the present embodiment, a case in which the polling frequency is set based on information such as an operation state in the event acquisition apparatus, a service priority, a communication load state in the server, in addition to the operation state is shown. An event acquisition control method in this embodiment will be described.
図10は、本発明の第三の実施形態に係るイベント共有システムのソフトウェア構成を示す図である。なお、本システムのハードウェア構成は、図1と共通である。 FIG. 10 is a diagram showing a software configuration of the event sharing system according to the third embodiment of the present invention. The hardware configuration of this system is the same as that in FIG.
サービス管理装置209の管理部212は、通信負荷算出部1301を備える。通信負荷算出部1301は、サービス管理装置209におけるポーリングによる通信負荷状態を管理する。通信負荷状態は、通信データ量などにより定まる。ポーリング受信部214は、ポーリングを受信すると、サービス実行部211が管理するイベント情報、管理部212が管理する操作状態および通信負荷状態を取得し、それらの情報をメッセージに付加して応答する。
The
イベント取得装置216は、クライアント状態管理部1302を備える。クライアント状態管理部1302は、操作状態管理部1303、アプリ優先度管理部1304を備える。操作状態管理部1303は、イベント取得のための現在の操作状態が取得処理中か取得待機中かをアプリケーションごとに管理する。取得処理中とはアプリケーションに対してイベント取得のためのユーザ操作が行われている状態を指し、取得待機中とはユーザ操作が行われていない状態を指す。例えば、取得処理中は、サービス208から取得したデータを表示するアプリケーションをユーザがアクティブにしている状態である。アプリ優先度管理部1304は、サービスへのイベント取得に係る優先度設定をアプリケーションごとに管理する。
The
ポーリング頻度決定部218は、サービス管理装置209から通知された操作状態および通信負荷状態、クライアント状態管理部1302が管理する操作状態およびアプリ優先度を基にポーリング頻度を決定する。
The polling
すなわち、サービス実行装置205は、サービスの実行を要求する要求装置である。サービス管理装置209は、サービス実行装置205から要求されたサービスを実行するサービス実行装置である。イベント取得装置216は、サービス管理装置209によるサービスの実行により発生したイベントの取得をネットワーク100を介して要求するイベント要求装置である。
That is, the
ポーリング頻度決定部218は、サービス実行装置205がサービスの実行を要求するための入力中であるか判断する。そして、サービス実行装置205がサービスの実行を要求するための入力中であると判断した場合は、入力中でないと判断した場合よりも、イベントの取得を要求する間隔を、ポーリング頻度決定部218が短く設定する。
The polling
あるいは、入力中であると判断したサービスの実行により発生したイベントの取得を要求する頻度を、入力中でないと判断したサービスの実行により発生したイベントの取得を要求する頻度よりも、ポーリング頻度決定部218が高く設定する。 Alternatively, the polling frequency determination unit determines the frequency of requesting acquisition of an event that has occurred due to execution of a service that has been determined to be input, rather than the frequency of requesting acquisition of an event that has occurred due to execution of a service that has been determined not to be input. 218 is set high.
図11は、本発明の第三の実施形態においてイベント取得装置216が、ポーリング頻度を設定する際に使用するポーリング頻度設定テーブルを示す図である。ポーリング頻度は、操作状態、イベント取得クライアント203における操作状態、サービス優先度に応じて設定される。操作状態1401が実行処理中、操作状態1402が取得処理中、サービス優先度1403が高優先度の場合に、もっとも高いポーリング頻度T01でポーリングを実施する。一方、操作状態1401が実行待機中、操作状態1402が取得待機中、サービス優先度1403が低優先度の場合に、もっとも低いポーリング頻度T12でポーリングを実施する。
FIG. 11 is a diagram showing a polling frequency setting table used when the
図11では操作状態1401、イベント取得クライアント203における操作状態1402、サービス優先度1403に応じたポーリング頻度決定テーブルを示した。本実施例においては、これらに加えてサービス管理装置209から通知される通信負荷情報に応じて、通信負荷が高い場合はポーリング頻度を低く、通信負荷が低い場合はポーリング頻度を高く調整してもよい。
FIG. 11 shows a polling frequency determination table according to the
本実施形態においては、サービス管理装置209に当該サーバに係る状態を管理する管理部212を備え、イベント取得装置216に当該クライアントに係る状態を管理するクライアント状態管理部1302を備える例を示した。それにより、サービス実行のための操作状態をより有効に使用してポーリング頻度を決定する。なお、ポーリング頻度決定部218は、管理部212およびクライアント状態管理部1302が管理する任意の情報でポーリング頻度を決定可能であり、本実施例で説明した情報に限らなくてもよい。
In the present embodiment, the
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
201 サービス実行クライアント
202 サーバ
203 イベント取得クライアント
201
Claims (6)
前記要求装置に対してサービスの実行を要求するための操作中であるか、判断手段が判
断する判断工程と、
前記判断工程において、前記操作中であると判断した場合は、前記操作中でないと判断
した場合よりも、前記イベント取得装置がイベントの取得を要求する間隔を、間隔設定手
段が短く設定する間隔設定工程と、を有することを特徴とするイベント取得制御方法。 A system comprising: a request device that requests execution of a service; a service execution device that executes the service requested via a network; and an event acquisition device that requests acquisition of an event generated by the execution of the service In the event acquisition control method of
A determination step in which a determination unit determines whether an operation for requesting execution of a service to the requesting device is being performed;
In the determination step, when it is determined that the operation is being performed, the interval setting unit sets the interval at which the event acquisition device requests acquisition of the event shorter than the case where it is determined that the operation is not being performed. And an event acquisition control method comprising the steps of:
前記複数の要求装置の少なくとも1つに対して前記操作中であると判断した場合は、前記間隔設定工程において、前記要求装置の全てに対して前記操作中でないと判断した場合よりも、前記イベント取得装置がイベントの取得を要求する間隔を、前記間隔設定手段が短く設定することを特徴とする請求項1記載のイベント取得制御方法。 When there are a plurality of the requesting devices on the network, in the determining step, the determining unit determines whether the operation is being performed on at least one of the plurality of requesting devices,
When it is determined that the operation is being performed for at least one of the plurality of requesting devices, the event is more than when it is determined that the operation is not being performed for all of the requesting devices in the interval setting step. The event acquisition control method according to claim 1, wherein the interval setting unit sets a short interval at which the acquisition device requests acquisition of an event.
前記間隔設定工程において、前記要求装置に対して前記操作中であると判断したサービスの実行により発生したイベントの取得を要求する間隔を、前記要求装置に対して前記操作中でないと判断した場合よりも、前記間隔設定手段が短く設定することを特徴とする請求項1記載のイベント取得制御方法。 When there are a plurality of services that can be executed, in the determination step, the determination unit determines, for each service, whether the requesting device is inputting for requesting execution,
In the interval setting step, an interval for requesting acquisition of an event generated by execution of a service determined to be in operation for the requesting device is greater than a case in which it is determined that the requesting device is not in operation. The event acquisition control method according to claim 1, wherein the interval setting means sets a short time.
前記要求装置に対してサービスの実行を要求するための操作中であるか、判断手段が複数のサービスのそれぞれについて判断する判断工程と、
前記操作中であると判断したサービスの実行により発生したイベントの取得を要求する頻度を、前記操作中でないと判断したサービスの実行により発生したイベントの取得を要求する頻度よりも、頻度設定手段が高く設定する頻度設定工程とを有することを特徴とするイベント取得制御方法。 A system comprising: a request device that requests execution of a service; a service execution device that executes the service requested via a network; and an event acquisition device that requests acquisition of an event generated by the execution of the service In the event acquisition control method of
A determination step in which a determination unit determines whether each of a plurality of services is in operation for requesting execution of a service to the requesting device;
The frequency setting means has a frequency of requesting acquisition of an event generated by execution of a service determined to be in operation as compared to a frequency of requesting acquisition of an event generated by execution of a service determined not to be in operation. An event acquisition control method comprising: a frequency setting step for setting a high frequency.
前記要求装置に対してサービスの実行を要求するための操作中であるか、判断手段が判
断する判断手段と、
前記判断手段において、前記操作中であると判断した場合は、前記操作中でないと判断
した場合よりも、前記イベント取得装置がイベントの取得を要求する間隔を、間隔設定手
段が短く設定する間隔設定手段と、を有することを特徴とするイベント取得制御システム。 An event comprising: a requesting device that requests execution of a service; a service execution device that executes the service requested via a network; and an event acquisition device that requests acquisition of an event generated by the execution of the service In the acquisition control system,
A determination unit that determines whether the request unit is performing an operation for requesting execution of a service;
When the determination unit determines that the operation is being performed, the interval setting unit sets the interval at which the event acquisition device requests acquisition of an event shorter than when determining that the operation is not being performed. And an event acquisition control system.
前記要求装置に対してサービスの実行を要求するための操作中であるか、判断手段が複数のサービスのそれぞれについて判断する判断手段と、
前記操作中であると判断したサービスの実行により発生したイベントの取得を要求する頻度を、前記操作中でないと判断したサービスの実行により発生したイベントの取得を要求する頻度よりも、頻度設定手段が高く設定する頻度設定手段とを有することを特徴とするイベント取得制御システム。 An event comprising: a requesting device that requests execution of a service; a service execution device that executes the service requested via a network; and an event acquisition device that requests acquisition of an event generated by the execution of the service In the acquisition control system,
A determination unit for determining whether each of the plurality of services is determined whether an operation for requesting the execution of a service to the requesting device;
The frequency setting means has a frequency of requesting acquisition of an event generated by execution of a service determined to be in operation as compared to a frequency of requesting acquisition of an event generated by execution of a service determined not to be in operation. An event acquisition control system comprising frequency setting means for setting a high frequency.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013262775A JP2014096159A (en) | 2013-12-19 | 2013-12-19 | Event acquisition control method and event acquisition control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013262775A JP2014096159A (en) | 2013-12-19 | 2013-12-19 | Event acquisition control method and event acquisition control system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009260107A Division JP5441631B2 (en) | 2009-11-13 | 2009-11-13 | Event acquisition control method, event acquisition device, and service execution device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014096159A true JP2014096159A (en) | 2014-05-22 |
Family
ID=50939134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013262775A Pending JP2014096159A (en) | 2013-12-19 | 2013-12-19 | Event acquisition control method and event acquisition control system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014096159A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03179943A (en) * | 1989-12-08 | 1991-08-05 | Toshiba Corp | Subscriber broadcasting system |
JP2005135442A (en) * | 2005-01-28 | 2005-05-26 | Ntt Data Corp | Management server and program |
JP2005309891A (en) * | 2004-04-23 | 2005-11-04 | Fuji Xerox Co Ltd | Document sharing system and its terminal |
-
2013
- 2013-12-19 JP JP2013262775A patent/JP2014096159A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03179943A (en) * | 1989-12-08 | 1991-08-05 | Toshiba Corp | Subscriber broadcasting system |
JP2005309891A (en) * | 2004-04-23 | 2005-11-04 | Fuji Xerox Co Ltd | Document sharing system and its terminal |
JP2005135442A (en) * | 2005-01-28 | 2005-05-26 | Ntt Data Corp | Management server and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9069606B2 (en) | Autonomous application-level auto-scaling in a cloud | |
CN107241380B (en) | Method and apparatus for time-based adjusted load balancing | |
EP3479249B1 (en) | Technologies for managing application configurations and associated credentials | |
JP5441631B2 (en) | Event acquisition control method, event acquisition device, and service execution device | |
JP2018537756A (en) | System and method for storing and transferring message data | |
US20170126582A1 (en) | Idle Worker-Process Page-Out | |
JP2018525760A (en) | Scalable real-time messaging system | |
US20170094065A1 (en) | Information reminding method and apparatus, and electronic terminal | |
RU2595622C1 (en) | Method and device for dynamic message reception | |
JP5320440B2 (en) | Client hypervisor-based terminal device and operation method thereof | |
JP2018063672A (en) | Message execution server, control method, and program | |
JP2013169736A (en) | Information processing apparatus, program, and information processing system | |
JP2017049745A (en) | Authentication server, authentication method and program | |
CN102420861A (en) | Message monitoring method, device and system of server | |
JP2018097837A (en) | Service system and control method and program thereof | |
JP2014096159A (en) | Event acquisition control method and event acquisition control system | |
CN105745911A (en) | Methods, systems and computer readable media for providing real time data network usage information using subscription profile repository (SPR) | |
CN112169312A (en) | Queuing scheduling method, device, equipment and storage medium for cloud game service | |
JP6503884B2 (en) | Data management system, information management device, and program | |
CN109284275A (en) | A kind of cloud platform virtual machine file system monitoring method and apparatus | |
JP2020091825A (en) | System, managing device, method, and program | |
JP2009237807A (en) | Vulnerability diagnosis conducting apparatus and diagnostic schedule generating program | |
JP2012099017A (en) | Session management device, session management system, session management method, and program | |
JP2013115654A (en) | Conference system and conference method | |
KR20180000502A (en) | Cloud-based device for processing data, and user device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150707 |