JP7139721B2 - 制御プログラム、制御方法および制御装置 - Google Patents

制御プログラム、制御方法および制御装置 Download PDF

Info

Publication number
JP7139721B2
JP7139721B2 JP2018121857A JP2018121857A JP7139721B2 JP 7139721 B2 JP7139721 B2 JP 7139721B2 JP 2018121857 A JP2018121857 A JP 2018121857A JP 2018121857 A JP2018121857 A JP 2018121857A JP 7139721 B2 JP7139721 B2 JP 7139721B2
Authority
JP
Japan
Prior art keywords
processes
order
storage unit
execution request
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018121857A
Other languages
English (en)
Other versions
JP2020004000A (ja
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018121857A priority Critical patent/JP7139721B2/ja
Publication of JP2020004000A publication Critical patent/JP2020004000A/ja
Application granted granted Critical
Publication of JP7139721B2 publication Critical patent/JP7139721B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、制御プログラム、制御方法および制御装置に関する。
Webサービスの提供において、サーバは、クライアントからの要求に応じて、複数の処理を順番に実行する場合がある。例えば、Webショッピングにおいて、サーバは、商品をカートに追加する処理、住所を入力する処理、支払い方法を選択する処理、購入を確定する処理といった一連の処理を、それぞれクライアントからのAPI(Application Programming Interface)リクエストに応じて順番に行う。
このとき、一連の処理が途切れてしまうと、ユーザの満足度の低下やサーバの負荷の増加が起こることがある。例えば、Webショッピングにおいて、前述の一連の処理がエラーやタイムアウト等により途中で途切れてしまうと、ユーザは既に行った操作を最初からやり直すことになる。これにより、サーバへのリクエストが増加し、さらにはユーザの目的の商品が売り切れてしまうことが考えられる。
これに対し、従来、サーバが、リクエスト成功時にレスポンスにトークンを付与し、次回トークンを持つリクエストを優先処理することで、一連の処理が途切れることを防止する方法が知られている。また、サーバを複数用意し、クライアントとサーバとの間に設置したリバースプロキシが、トークンを付与したリクエストを複数のサーバのいずれかに振り分けることで負荷を軽減する方法が知られている。
特開2003-87312号公報 特開2007-329617号公報
しかしながら、従来の方法では、一連の処理の実行を保証するために、サーバの負荷が増加することがある。例えば、従来のトークンを付与する方法には、トークンの管理または整合性の確認をサーバが行うことから、サーバの負荷がかえって増加するという問題がある。
一つの側面では、一連の処理の実行を保証することによるサーバ負荷の軽減をはかることができる制御プログラム、制御方法および制御装置を提供することにある。
一つの態様では、制御プログラムは、順序付けられた複数の処理のうち、いずれかの処理の実行要求を受け付ける処理をコンピュータに実行させる。また、制御プログラムは、複数の処理のうち、実行要求を受け付ける前に実行要求の要求元から受け付けた実行要求に応じて実行された処理を記憶する記憶部を参照する処理をコンピュータに実行させる。また、制御プログラムは、受け付けたいずれかの処理と、記憶部に記憶された処理との間の順序関係が特定関係であるか否かの判定を行う処理をコンピュータに実行させる。また、制御プログラムは、判定の結果に基づき、受け付けたいずれかの処理の実行順序に関する優先度を制御する処理をコンピュータに実行させる。
一連の処理の実行を保証することによるサーバ負荷の軽減をはかることができる。
図1は、実施例の制御システムの構成の一例を示すブロック図である。 図2は、実施例の制御装置の構成の一例を示すブロック図である。 図3は、処理情報記憶部の一例を示す図である。 図4は、トークン記憶部の一例を示す図である。 図5は、トークンの登録を説明するための図である。 図6は、優先制御を説明するための図である。 図7は、実施例のレスポンス受け付け時の処理の一例を示すフローチャートである。 図8は、実施例のリクエスト受け付け時の処理の一例を示すフローチャートである。 図9は、制御プログラムを実行するコンピュータの一例を示す図である。
以下、図面に基づいて、本願の開示する制御プログラム、制御方法および制御装置の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1を用いて、制御システム1の構成について説明する。図1は、実施例の制御システムの構成の一例を示すブロック図である。図1に示すように、制御システム1は、制御装置10、端末20およびサーバ30を有する。
例えば、端末20は、スマートフォンおよびパーソナルコンピュータである。また、例えば、サーバ30は、Webショッピング等のサービスを提供するためのWebサーバである。また、制御装置10は、AGW(API Gateway)として機能する装置である。制御装置10は、端末20からのリクエストをサーバ30に転送し、サーバ30から返却されたレスポンスを端末20に転送する。その際、制御装置10は、サーバ30の負荷を軽減しつつ、一連の処理を保証するための制御を実行する。なお、一連の処理とは、順序付けられた複数の処理である。
図2を用いて、制御装置10の構成について説明する。図2は、実施例の制御装置の構成の一例を示すブロック図である。図2に示すように、制御装置10は、通信部11と、記憶部12と、制御部13とを有する。なお、制御装置10は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。通信部11は、ネットワークを介して有線または無線で接続された端末20、サーバ30および他の装置との間で情報の通信を司る通信インタフェースである。
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部12は、処理情報記憶部121およびトークン記憶部122を有する。また、記憶部12は、制御部13での処理に用いる情報を記憶する。
処理情報記憶部121は、一連の処理を定義するための情報を記憶する。図3は、処理情報記憶部の一例を示す図である。図3に示すように、処理情報記憶部121は、複数の処理のそれぞれについて、順序、リクエストおよび処理名を記憶する。順序は、一連の処理の中で各処理が実行される順序である。また、リクエストは、各処理が実行される際に、端末20から送信されるリクエストのコマンドである。また、処理名は、各処理の名称である。
図3の例では、処理情報記憶部121は、一連の処理の中で1番目に実行される、処理名が「カート追加」である処理のリクエストのコマンドが「[POST]/cart」であることを記憶する。また、図3の例では、処理情報記憶部121は、一連の処理の中で3番目に実行される、処理名が「支払い選択」である処理のリクエストのコマンドが「[POST]/payment」であることを記憶する。図3の例では、「カート追加」、「住所入力」、「支払い選択」および「購入確定」は、Webショッピングにおける一連の処理である。
トークン記憶部122は、端末20を利用するユーザごとに、一連の処理の進捗状況を示す情報であるトークンを記憶する。トークン記憶部122は、実行要求の要求元から受け付けた実行要求に応じて実行された処理を記憶する記憶部の一例である。なお、実行要求の要求元とは、リクエストを送信した端末20である。
図4は、トークン記憶部の一例を示す図である。図4に示すように、トークン記憶部122は、ユーザID、処理進捗および有効期限を記憶する。ユーザIDは、端末20を利用するユーザを識別する情報である。また、処理進捗は、一連の処理における処理の進捗状況を示す情報であり、実行された処理の処理名およびリクエストである。また、有効期限は、トークン記憶部122に記憶された各情報を使用可能な期限を示す情報である。
図2の説明に戻って、制御部13は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部13は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部13は、受付部131、転送部132、管理部133、判定部134、優先度制御部135を有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部13の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
受付部131は、端末20からサーバ30に宛てられるリクエストを受け付ける。また、受付部131は、サーバ30から端末20に返却されるレスポンスを受け付ける。ここで、受付部131は、受け付けたリクエストおよびレスポンスをキューに追加する。また、受付部131は、優先度制御部135による制御に従って、リクエストおよびレスポンスをキューに追加する。また、転送部132は、キューに従ってリクエストおよびレスポンスを、それぞれサーバ30および端末20に転送する。
管理部133は、トークンの管理を行う。管理部133は、判定部134による判定の結果に従って、トークン記憶部122へのトークンの登録およびトークン記憶部122に記憶されたトークンの更新を行う。
判定部134は、順序付けられた複数の処理のうち、受け付けたいずれかの処理の実行要求を受け付けると、複数の処理のうち、実行要求を受け付ける前に実行要求の要求元から受け付けた実行要求に応じて実行された処理を記憶するトークン記憶部122を参照する。また、判定部134は、いずれかの処理と、トークン記憶部122に記憶された処理との間の順序関係が特定関係であるか否かの判定を行う。例えば、判定部134は、各処理の順序が連続しているか否かの判定を行う。
また、トークン記憶部122は、実行に成功した処理についてトークンを記憶するようにしてもよい。その場合、判定部134は、実行要求の要求元から受け付けた実行要求に応じて実行された処理であって、実行に成功した処理を記憶するトークン記憶部122を参照する。
また、判定部134は、実行要求の要求元から受け付けた実行要求に応じて実行された処理および期限を示す日時を記憶するトークン記憶部122を参照して、期限を経過しているか否かの判定をさらに行うことができる。
また、判定部134は、実行要求の要求元から受け付けた実行要求に応じて実行された処理および当該処理に対応するユーザを識別する情報を記憶するトークン記憶部122を参照する。また、判定部134は、いずれかの処理に対応するユーザと、トークン記憶部122に記憶された処理に対応するユーザとが同一であるか否かの判定をさらに行う。
優先度制御部135は、判定の結果に基づき、受け付けたいずれかの処理の実行順序に関する優先度を制御する。また、優先度制御部135は、判定部134によって、順序関係が特定関係であって、かつ期限を経過していると判定された場合、受け付けたいずれかの処理の実行順序に関する優先度を制御することができる。
また、優先度制御部135は、順序関係が特定関係であって、いずれかの処理に対応するユーザとトークン記憶部122に記憶された処理に対応するユーザとが同一であると判定された場合、いずれかの処理の実行順序に関する優先度を制御することができる。
優先度制御部135は、受け付けたいずれかの処理ごとに定められた回数を上限として、いずれかの処理の実行順序に関する優先度を制御する。優先度制御部135は、判定の結果に基づき、受け付けたいずれかの処理を実行するサーバへ、いずれかの処理の実行要求を転送する順序を変更することにより優先度を制御することができる。
ここで、図5を用いて、制御装置10がトークンを登録する処理について説明する。図5は、トークンの登録を説明するための図である。図5の例では、端末20は、ユーザIDが「123」であるユーザによって利用されているものとする。また、初期状態では、トークン記憶部122は、ユーザIDが「123」であるユーザのトークンを記憶していないものとする。なお、本実施形態では、サーバ30は、REST APIを用いてコマンドの受け付けおよび処理の実行を行うものとする。
端末20は、Webショッピングにおいて、商品をカートに追加するために、「[POST]/cart?item=aaa」というコマンドをリクエストとして送信する。このとき、制御装置10の受付部131は、端末20によって送信されたリクエストを受け付ける。ここで、転送部132は、受付部131によって受け付けられたリクエストをサーバ30に転送する。
その後、受付部131は、さらに、転送部132によって転送されたリクエストに対する処理が成功したことを示す「200 OK」というレスポンスを、サーバ30から受け付ける。ここで、管理部133は、レスポンスから処理が成功したことを確認できた場合、対応するトークンをトークン記憶部122に登録する。具体的には、管理部133は、ユーザIDが「123」、処理進捗が「カート追加:[POST]/cart」、有効期限が「2018/6/12 19:12」であるトークンをトークン記憶部122に登録する。
管理部133は、処理情報記憶部121を参照し、成功した処理のリクエストの処理名およびリクエストを合わせた情報をトークンの処理進捗に設定することができる。また、管理部133は、レスポンスが受け付けられた時刻から所定時間後の時刻を、トークン記憶部122の有効期限とすることができる。例えば、レスポンスが受け付けられた時刻が「2018/6/12 19:02」であった場合、管理部133は、10分後の「2018/6/12 19:12」を、トークン記憶部122の有効期限とすることができる。
次に、図6を用いて、制御装置10が行う優先制御について説明する。図6は、優先制御を説明するための図である。図6の例では、端末20aは、ユーザIDが「123」であるユーザによって利用されているものとする。また、端末20bは、ユーザIDが「456」であるユーザによって利用されているものとする。なお、端末20aおよび端末20bの構成は、端末20の構成と同様であるものとする。
また、初期状態では、トークン記憶部122は、ユーザIDが「123」、処理進捗が「カート追加:[POST]/cart」、有効期限が「2018/6/12 19:12」であるトークンを記憶しているものとする。
端末20aは、Webショッピングにおいて、商品をカートに追加した後、住所を入力するために、「[POST]/address」というコマンドをリクエストとして送信する。このとき、制御装置10の受付部131は、端末20aによって送信されたリクエストを受け付ける。
ここで、判定部134は、受付部131によって受け付けられたリクエストが、優先制御の対象であるか否かを判定する。判定部134は、端末20aからリクエストを送信したユーザのユーザIDが、トークン記憶部122に記憶されているトークンのユーザIDと合致しているか否かを判定する。さらに、判定部134は、処理情報記憶部121を参照し、受付部131によって受け付けられたリクエストが、トークン記憶部122に記憶されているトークンの処理進捗の次の順序のものであるか否かを判定する。また、判定部134は、トークン記憶部122に記憶されているトークンの有効期限が経過しているか否かを確認する。
例えば、図6の例では、リクエストを送信したユーザのユーザIDは「123」であり、トークンのユーザIDと合致する。また、図3によれば、処理名が「住所入力」である処理の順序は2であり、処理名が「カート追加」である処理の次の順序である。また、リクエストがあった日時は、「2018/6/12 19:08」であるものとする。このとき、判定部134は、当該リクエストが優先制御の対象であると判定する。
優先度制御部135は、判定部134によって優先制御の対象であると判定されたリクエストが、既にキューにあるリクエストに優先して、キューの先頭に設定されるように制御する。ここで、受付部131は、優先度制御部135による優先制御に従って、リクエストをキューに追加する。
つまり、優先制御の対象であると判定されたリクエストはキューの先頭に追加されるので、転送部132は、キューの先頭に追加された当該リクエストを他のリクエストに優先してサーバ30に転送する。その結果、優先制御の対象であると判定されたリクエストは、サーバ30において優先して処理されることになる。
その後、受付部131は、さらに、転送部132によって転送されたリクエストに対する処理が成功したことを示す「200 OK」というレスポンスを、サーバ30から受け付ける。ここで、管理部133は、レスポンスから処理が成功したことを確認できた場合、トークン記憶部122のトークンを更新する。具体的には、管理部133は、ユーザIDが「123」、処理進捗が「カート追加:[POST]/cart」、有効期限が「2018/6/12 19:12」であるトークンの処理進捗を「住所入力:[POST]/address」に更新し、有効期限を「2018/6/12 19:22」に更新する。
一方、ユーザIDが「456」であるユーザから、「[POST]/cart?item=bbb」というコマンドがリクエストとして送信された場合、当該リクエストに対応するトークンはトークン記憶部122に存在しない。このため、判定部134は、当該リクエストを優先対象でないものと判定する。この場合、当該リクエストは、キューの最後尾に設定される。
また、優先度制御部135は、トークンが登録または更新された後、当該トークンが次に更新されるまでの間、特定の回数だけ優先制御を行うようにしてもよい。例えば、優先度制御部135は、トークンが登録または更新された後、1回だけ優先制御を行うようにすることができる。
また、リクエストとトークンの処理進捗の順序が特定の関係にない場合、判定部134は、リクエストを優先制御の対象と判定しない。例えば、ユーザが住所入力画面に進んだ後に「back space」ボタンを押すことで、再度、商品選択画面に戻り、新たに商品をカートに追加する処理を行ったとしても、判定部134は、当該カート追加に関する処理を優先制御の対象と判定しない。これは、トークンの処理進捗である「住所入力」の次の処理は、「支払い選択」であることから、「支払い選択」以外の処理は優先対象とならないためである。
次に、実施例の制御装置10の動作について説明する。図7は、実施例のレスポンス受け付け時の処理の一例を示すフローチャートである。また、図8は、実施例のリクエスト受け付け時の処理の一例を示すフローチャートである。
図7に示すように、制御装置10は、サーバ30からレスポンスを受け付ける(ステップS11)。ここで、制御装置10は、処理情報記憶部121を参照し、当該レスポンスに対応するリクエストが一連の処理に含まれていて、かつ処理が成功しているか否かを判定する(ステップS12)。
制御装置10は、リクエストが一連の処理に含まれていて、かつ処理が成功している場合(ステップS12:肯定)、トークンを登録し(ステップS13)、レスポンス受け付け時の処理を終了する。一方、制御装置10は、リクエストが一連の処理に含まれていないか、処理が成功していない場合(ステップS12:否定)、トークンを登録せずにステップS11に戻り、次のリクエストを受け付ける。なお、制御装置10は、処理が成功しているか否かにかかわらずトークンを登録するようにしてもよい。これにより、制御装置10は、優先制御に使用されるトークンを登録することができる。
次に、図8に示すように、制御装置10は、端末20からリクエストを受け付ける(ステップS21)。ここで、制御装置10は、受け付けたリクエストが一連の処理の2つ目以降の処理であるか否かを判定する(ステップS22)。このとき、制御装置10は、受け付けたリクエストが一連の処理の2つ目以降の処理でない場合(ステップS22:否定)、ステップS21に戻り、次のリクエストを受け付ける。
一方、制御装置10は、受け付けた処理が一連の処理の2つ目以降の処理である場合(ステップS22:肯定)、受け付けた処理が優先制御の対象であるか否かを判定する(ステップS23)。つまり、制御装置10は、受け付けた処理に対応するトークンが存在し、かつ受け付けた処理がトークンに対応する処理の次の順序の処理であるか否かを判定する。
制御装置10は、受け付けた処理のトークンが存在しない場合、または受け付けた処理がトークンが存在する処理の次の順序の処理でない場合(ステップS23:否定)、ステップS21に戻り、次のリクエストを受け付ける。一方、制御装置10は、受け付けた処理のトークンが存在し、かつ受け付けた処理がトークンが存在する処理の次の順序の処理である場合(ステップS23:肯定)、優先制御を行う(ステップS24)。
ここで、制御装置10は、優先制御を行った処理が成功したか否かを判定する(ステップS25)。制御装置10は、優先制御を行った処理が成功した場合(ステップS25:肯定)、トークンを更新し(ステップS26)、リクエスト受け付け時の処理を終了する。一方、制御装置10は、優先制御を行った処理が成功しなかった場合(ステップS25:否定)、トークンを更新せず、リクエスト受け付け時の処理を終了する。これにより、制御装置10は、トークンを使ってリクエストの優先制御を行うことができる。
このように、制御装置10は、順序付けられた複数の処理のうち、いずれかの処理の実行要求を受け付け、複数の処理のうち、実行要求を受け付ける前に実行要求の要求元から受け付けた実行要求に応じて実行された処理を記憶する記憶部を参照する。また、制御装置10は、受け付けたいずれかの処理と、記憶部に記憶された処理との間の順序関係が特定関係であるか否かの判定を行う。また、制御装置10は、判定の結果に基づき、受け付けたいずれかの処理の実行順序に関する優先度を制御する。このように、制御装置10は、一連の処理に含まれるリクエストが優先制御の対象であるか否かを判定した上で、優先制御を行うことができる。このため、サーバ30は、優先制御に関する処理を行う必要がない。その結果、制御装置10は、一連の処理の実行を保証することによるサーバ負荷の軽減をはかることができる。
制御装置10は、実行要求の要求元から受け付けた実行要求に応じて実行された処理であって、実行に成功した処理を記憶する記憶部を参照する。その結果、制御装置10は、一連の処理の進行に合わせて優先制御を行うことができる。
制御装置10は、実行要求の要求元から受け付けた実行要求に応じて実行された処理および期限を示す日時を記憶する記憶部を参照して、期限を経過しているか否かの判定をさらに行う。また、制御装置10は、順序関係が特定関係であって、かつ期限を経過していると判定した場合、受け付けたいずれかの処理の実行順序に関する優先度を制御する。この結果、制御装置10は、トークンがいつまでも残り、特定のユーザが優先され続けることを防止し、ユーザ間の不公平感を解消することができる。
制御装置10は、実行要求の要求元から受け付けた実行要求に応じて実行された処理および当該処理に対応するユーザを識別する情報を記憶する記憶部を参照する。また、制御装置10は、いずれかの処理に対応するユーザと、記憶部に記憶された処理に対応するユーザとが同一であるか否かの判定をさらに行う。また、制御装置10は、順序関係が特定関係であって、いずれかの処理に対応するユーザと記憶部に記憶された処理に対応するユーザとが同一であると判定した場合、いずれかの処理の実行順序に関する優先度を制御する。この結果、制御装置10は、ユーザごとにトークンを管理し、優先制御を行うことができる。
制御装置10は、受け付けたいずれかの処理ごとに定められた回数を上限として、いずれかの処理の実行順序に関する優先度を制御する。この結果、制御装置10は、トークンが何度も利用され、特定のユーザが優先され続けることを防止し、ユーザ間の不公平感を解消することができる。
制御装置10は、判定の結果に基づき、受け付けたいずれかの処理を実行するサーバへ、いずれかの処理の実行要求を転送する順序を変更することにより優先度を制御する。このため、サーバ30は、転送されてきたリクエストを順に処理していくだけでよい。この結果、制御装置10は、サーバの負荷を軽減することができる。
なお、上記の実施例では、各順序に1つの処理が対応した一連の処理について説明したが、一連の処理の各処理の順序は重複していてもよい。例えば、「カート追加」の順序が1であり、「住所入力」および「支払い選択」の両方の順序が2であってもよい。この場合、制御装置10は、カートの追加が行われた後、次のリクエストが住所入力および支払いのいずれであっても、優先制御の対象とする。
図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、制御装置10の判定部134と優先度制御部135とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図9は、制御プログラムを実行するコンピュータの一例を示す図である。
図9に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201~208は、バス209に接続される。
ハードディスク装置208には、図2に示した受付部131、転送部132、管理部133、判定部134および優先度制御部135の各処理部と同様の機能を有する制御プログラムが記憶される。また、ハードディスク装置208には、処理情報記憶部121、トークン記憶部122および記憶部12を実現するための各種データが記憶される。
入力装置202は、例えば、コンピュータ200の管理者から操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200の管理者に対して出力画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、ネットワークを介して端末20、サーバ30および他の装置と接続され、各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図2に示した受付部131、転送部132、管理部133、判定部134および優先度制御部135として機能させることができる。
なお、上記の制御プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの制御プログラムを記憶させておき、コンピュータ200がこれらから制御プログラムを読み出して実行するようにしてもよい。
1 制御システム
10 制御装置
11 通信部
12 記憶部
13 制御部
20、20a、20b 端末
30 サーバ
121 処理情報記憶部
122 トークン記憶部
131 受付部
132 転送部
133 管理部
134 判定部
135 優先度制御部

Claims (8)

  1. 順序付けられた複数の処理のうち、いずれかの処理の実行要求を受け付け、
    前記複数の処理のうち、前記実行要求を受け付ける前に前記実行要求の要求元から受け付けた実行要求に応じて実行された処理と前記複数の処理の順序とを記憶する記憶部を参照して、受け付けた前記いずれかの処理の順序が前記複数の処理の順序において前記記憶部に記憶された前記実行された処理の順序の次の順序であるか否かの判定を行い、
    受け付けた前記いずれかの処理の順序が、前記複数の処理の順序における前記記憶部に記憶された前記実行された処理の次の順序である場合のみに、受け付けた前記いずれかの処理の実行順序に関する優先度を制御する、
    処理をコンピュータに実行させることを特徴とする制御プログラム。
  2. 前記判定を行う処理は、前記実行要求の要求元から受け付けた実行要求に応じて実行された処理であって、実行に成功した処理を記憶する記憶部を参照することを特徴とする請求項1に記載の制御プログラム。
  3. 前記判定を行う処理は、前記実行要求の要求元から受け付けた実行要求に応じて実行された処理および期限を示す日時を記憶する記憶部を参照して、前記期限を経過しているか否かの判定をさらに行い、
    前記制御する処理は、前記判定を行う処理によって、さらに前記期限を経過していると判定された場合、受け付けた前記いずれかの処理の実行順序に関する優先度を制御することを特徴とする請求項1又は2に記載の制御プログラム。
  4. 前記判定を行う処理は、前記実行要求の要求元から受け付けた実行要求に応じて実行された処理および当該処理に対応するユーザを識別する情報を記憶する記憶部を参照して、前記いずれかの処理に対応するユーザと、前記記憶部に記憶された前記処理に対応するユーザとが同一であるか否かの判定をさらに行い、
    前記制御する処理は、前記判定を行う処理によって、さらに前記いずれかの処理に対応するユーザと、前記記憶部に記憶された前記処理に対応するユーザとが同一であると判定された場合、受け付けた前記いずれかの処理の実行順序に関する優先度を制御することを特徴とする請求項1~3のいずれか一項に記載の制御プログラム。
  5. 前記制御する処理は、受け付けた前記いずれかの処理ごとに定められた回数を上限として、前記いずれかの処理の実行順序に関する優先度を制御することを特徴とする請求項1~4のいずれか一項に記載の制御プログラム。
  6. 前記制御する処理は、前記判定の結果に基づき、受け付けた前記いずれかの処理を実行するサーバへ、前記いずれかの処理の実行要求を転送する順序を変更することにより優先度を制御することを特徴とする請求項1~5のいずれか一項に記載の制御プログラム。
  7. 順序付けられた複数の処理のうち、いずれかの処理の実行要求を受け付け、
    前記複数の処理のうち、前記実行要求を受け付ける前に前記実行要求の要求元から受け付けた実行要求に応じて実行された処理と前記複数の処理の順序とを記憶する記憶部を参照して、受け付けた前記いずれかの処理の順序が、前記複数の処理の順序において前記記憶部に記憶された前記実行された処理の順序の次の順序であるか否かの判定を行い、
    受け付けた前記いずれかの処理の順序が、前記複数の処理の順序における前記記憶部に記憶された前記実行された処理の次の順序である場合のみに、受け付けた前記いずれかの処理の実行順序に関する優先度を制御する、
    処理をコンピュータが実行することを特徴とする制御方法。
  8. 順序付けられた複数の処理のうち、いずれかの処理の実行要求を受け付け、
    前記複数の処理のうち、前記実行要求を受け付ける前に前記実行要求の要求元から受け付けた実行要求に応じて実行された処理と前記複数の処理の順序とを記憶する記憶部を参照して、受け付けた前記いずれかの処理の順序が、前記複数の処理の順序において前記記憶部に記憶された前記実行された処理の順序の次の順序であるか否かの判定を行う判定部と、
    受け付けた前記いずれかの処理の順序が、前記複数の処理の順序における前記記憶部に記憶された前記実行された処理の次の順序である場合のみに、受け付けた前記いずれかの処理の実行順序に関する優先度を制御する優先度制御部と、
    を有することを特徴とする制御装置。
JP2018121857A 2018-06-27 2018-06-27 制御プログラム、制御方法および制御装置 Active JP7139721B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018121857A JP7139721B2 (ja) 2018-06-27 2018-06-27 制御プログラム、制御方法および制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018121857A JP7139721B2 (ja) 2018-06-27 2018-06-27 制御プログラム、制御方法および制御装置

Publications (2)

Publication Number Publication Date
JP2020004000A JP2020004000A (ja) 2020-01-09
JP7139721B2 true JP7139721B2 (ja) 2022-09-21

Family

ID=69100195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018121857A Active JP7139721B2 (ja) 2018-06-27 2018-06-27 制御プログラム、制御方法および制御装置

Country Status (1)

Country Link
JP (1) JP7139721B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125942A1 (ja) 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation 負荷制御装置およびその方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007125942A1 (ja) 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation 負荷制御装置およびその方法

Also Published As

Publication number Publication date
JP2020004000A (ja) 2020-01-09

Similar Documents

Publication Publication Date Title
US11550759B2 (en) Saving files from third-party systems directly to a cloud storage system
RU2649788C1 (ru) Способ и система для обработки запроса на транзакцию в распределенных системах обработки данных
WO2013148801A2 (en) Sending recommendation information associated with a business object
US12010194B2 (en) Scalable server-based web scripting with user input
CN109388702B (zh) 阅读互动方法、电子设备及计算机存储介质
US20200089545A1 (en) Managing load in request processing environments
JP7139721B2 (ja) 制御プログラム、制御方法および制御装置
CN109327468A (zh) 一种下线提示方法、装置、设备及存储介质
TW200832150A (en) Variable electronic communication ping time system and method
JP4350098B2 (ja) 実行制御装置および方法
JP6816373B2 (ja) 審査管理システム
US20220122141A1 (en) Train any buddy real-time online matching service
WO2021100118A1 (ja) 契約処理方法、及び契約処理システム
JP7288727B1 (ja) 行列最適化システム、行列最適化方法、及びプログラム
JP6938883B2 (ja) 制御プログラム、装置、及び方法
US20230188350A1 (en) Methods, Systems and Computer Program Products for Generation and Transfer of Non-Fungible Tokens
JP7250945B2 (ja) コンテンツデータ管理装置、及びコンテンツデータ管理方法
JP2002352115A (ja) オークション制御装置及び方法、並びにそのプログラム
US10728167B2 (en) Interrupt distribution of a single flow across multiple processors
JP6883009B2 (ja) 価格決定装置、価格決定方法及び価格決定プログラム
US20220164847A1 (en) Borrow backs mobile app
JP2024000054A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP5976579B2 (ja) 情報処理装置、サーバ、および情報処理システム
JP2020057157A (ja) 株主優待システムおよび株主優待方法
JP2009134472A (ja) 電子商取引装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220406

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220822

R150 Certificate of patent or registration of utility model

Ref document number: 7139721

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150