JP5984148B2 - 遠隔手続き呼び出しを制御する装置及び方法 - Google Patents

遠隔手続き呼び出しを制御する装置及び方法 Download PDF

Info

Publication number
JP5984148B2
JP5984148B2 JP2014099583A JP2014099583A JP5984148B2 JP 5984148 B2 JP5984148 B2 JP 5984148B2 JP 2014099583 A JP2014099583 A JP 2014099583A JP 2014099583 A JP2014099583 A JP 2014099583A JP 5984148 B2 JP5984148 B2 JP 5984148B2
Authority
JP
Japan
Prior art keywords
remote procedure
periodic
call
api
client
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
JP2014099583A
Other languages
English (en)
Other versions
JP2015215838A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2014099583A priority Critical patent/JP5984148B2/ja
Priority to US14/689,076 priority patent/US9665417B2/en
Publication of JP2015215838A publication Critical patent/JP2015215838A/ja
Application granted granted Critical
Publication of JP5984148B2 publication Critical patent/JP5984148B2/ja
Priority to US15/412,300 priority patent/US9894183B2/en
Priority to US15/485,506 priority patent/US10084887B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、遠隔手続き呼び出しを制御する装置及び方法に関する。特に、本発明は、クライアントのサーバに対する遠隔手続き呼び出しを制御する装置及び方法に関する。
クライアントのサーバに対する複数の遠隔手続き呼び出しの実行がほぼ同時に要求されることがある。ところが、遠隔手続き呼び出しの同時に実行できる数や、遠隔手続き呼び出しに基づく処理の同時に実行できる数には上限がある場合があり、そのような場合は、遠隔手続き呼び出しの態様や遠隔手続き呼び出しに基づく処理の態様をどのようなものとするかが問題となる。
ここで、同時セッション数を規定されている最大数以上に増やすための技術は、公報記載の技術として知られている(例えば、特許文献1参照)。
特許文献1は、コンピュータが、機器ごとに、リクエストの受信からリプライの発行までのリプライ発行待ち時間を指定し、リプライの受信から次のリクエストの発行までの次回リクエスト発行待ち時間を指定し、いずれかの機器からリクエストを受信した際に、制御要求がない場合は、その機器のリプライ発行待ち時間の経過後に、次回リクエスト発行待ち時間を通知するリプライを送信し、各機器が、リプライの受信の際に、リプライで通知されている次回リクエスト発行待ち時間の経過後に、次のリクエストを送信することを開示する。
また、遠隔手続き呼び出しの一例であるAPI(Application Programming Interface)呼び出しに関する技術も、公報記載の技術として知られている(例えば、特許文献2、3参照)。
特許文献2は、アプリケーションソースコード格納部が、アプリケーション群の各ソースコードを格納し、呼出遷移カウント部が、アプリケーションソースコードをアプリケーションごとに読込み、API関数呼出遷移回数を計数し、呼出遷移カウント格納部が、その計数結果を遷移マトリックスとしてアプリケーションごとに格納し、呼出遷移共通カウント部が、遷移マトリックスに対しアプリケーションごとに読込み比較をしアプリケーション群間で共通するAPI関数呼出遷移候補回数を計数し、呼出遷移共通カウント格納部が、その計数結果を共通遷移マトリックスとして格納することを開示する。
特許文献3は、情報端末が、外部情報提供部から新しいアプリケーションプログラムやミドルウェアをダウンロードしてインストールする際に、アプリケーションプログラムの起動時において、ミドルウェアがアプリケーションプログラムへ提供する機能群の性能値及びユーザのアプリケーションプログラムの使い方の両者を考慮して、ロード可能なミドルウェア群の中からアプリケーションプログラムの実行性能を高めるミドルウェアを優先的に選択してロードすることを開示する。
特開2009−251665号公報 特開平11−212780号公報 特開2008−59494号公報
ところで、上述した、クライアントのサーバに対する複数の遠隔手続き呼び出しの実行がほぼ同時に要求されたような場合には、ユーザの関心を考慮して、遠隔手続き呼び出しの態様や遠隔手続き呼び出しに基づく処理の態様を決定するのが望ましい。
しかしながら、特許文献1〜3の技術は、ユーザの関心を考慮して、遠隔手続き呼び出しの態様や遠隔手続き呼び出しに基づく処理の態様を決定することを開示するものではない。
本発明の目的は、ユーザの関心を考慮して、遠隔手続き呼び出しの態様又は遠隔手続き呼び出しに基づく処理の態様を決定することにある。
かかる目的のもと、本発明は、クライアントのサーバに対する遠隔手続き呼び出しを制御する装置であって、クライアントからサーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しと、不定期的な遠隔手続き呼び出しとを抽出する抽出部と、定期的な遠隔手続き呼び出しから得られる第1の情報と、不定期的な遠隔手続き呼び出しから得られる第2の情報とに基づき、クライアントからサーバに対して実行される遠隔手続き呼び出しについて、遠隔手続き呼び出しの態様及び遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部とを含む、装置を提供する。
この装置において、決定部は、不定期的な遠隔手続き呼び出しが対象とする特定のデータを示す情報を第2の情報として用いる、ものであってよい。その場合、決定部は、定期的な遠隔手続き呼び出しが対象とするデータを示す情報が設定される項目を示す情報を第1の情報として用い、不定期的な遠隔手続き呼び出しにおいて項目に設定された情報が示すデータを特定のデータに決定する、ものであってよい。また、これらの場合において、決定部は、クライアントからサーバに対して実行される定期的な遠隔手続き呼び出しについて、特定のデータを対象とする特定の定期的な遠隔手続き呼び出しが他の定期的な遠隔手続き呼び出しとは区別されるように、定期的な遠隔手続き呼び出しの態様及び定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する、ものであってよい。
更に、決定部は、クライアントからサーバに対して実行される遠隔手続き呼び出しについて、遠隔手続き呼び出しの態様を決定する場合には、態様として、遠隔手続き呼び出しの優先度を決定し、遠隔手続き呼び出しに基づく処理の態様を決定する場合には、態様として、遠隔手続き呼び出しに基づく処理の優先度を決定する、ものであってよい。
また、本発明は、クライアントのサーバに対する遠隔手続き呼び出しを制御する装置であって、クライアントからサーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しと、不定期的な遠隔手続き呼び出しとを抽出する抽出部と、定期的な遠隔手続き呼び出しが対象とするデータを示す値が設定される項目を推定する推定部と、不定期的な遠隔手続き呼び出しにおいて項目に設定された値が示す不定期的な遠隔手続き呼び出しが対象とする特定のデータを認識する認識部と、クライアントからサーバに対して実行される定期的な遠隔手続き呼び出しについて、特定のデータを対象とする特定の定期的な遠隔手続き呼び出しが他の定期的な遠隔手続き呼び出しよりも優先されるように、定期的な遠隔手続き呼び出しの態様及び定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部とを含む、装置も提供する。
更に、本発明は、クライアントのサーバに対する遠隔手続き呼び出しを制御する方法であって、クライアントからサーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しを抽出するステップと、クライアントからサーバに対して実行された遠隔手続き呼び出しから、不定期的な遠隔手続き呼び出しを抽出するステップと、定期的な遠隔手続き呼び出しから得られる第1の情報と、不定期的な遠隔手続き呼び出しから得られる第2の情報とに基づき、クライアントからサーバに対して実行される遠隔手続き呼び出しについて、遠隔手続き呼び出しの態様及び遠隔手続き呼び出しに基づく処理の態様の何れかを決定するステップとを含む、方法も提供する。
更にまた、本発明は、クライアントのサーバに対する遠隔手続き呼び出しを制御する装置として、コンピュータを機能させるプログラムであって、コンピュータを、クライアントからサーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しと、不定期的な遠隔手続き呼び出しとを抽出する抽出部と、定期的な遠隔手続き呼び出しから得られる第1の情報と、不定期的な遠隔手続き呼び出しから得られる第2の情報とに基づき、クライアントからサーバに対して実行される遠隔手続き呼び出しについて、遠隔手続き呼び出しの態様及び遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部として機能させる、プログラムも提供する。
本発明によれば、ユーザの関心を考慮して、遠隔手続き呼び出しの態様又は遠隔手続き呼び出しに基づく処理の態様を決定することができる。
システムの状態を監視するアプリケーションがクライアントに表示するダッシュボードUIの例を示した図である。 本発明の実施の形態におけるクライアントサーバシステムの全体構成例を示した図である。 本発明の実施の形態におけるAPI呼び出し制御部の機能構成例を示したブロック図である。 API呼び出しを一定期間記録することにより得られたAPIの呼び出しのタイミングを示した図である。 リソースを表すパラメータ項目の推定方法を説明するための図である。 リソースを表すパラメータ項目の推定の一例について示した図である。 定期APIの呼び出しの優先度の変更方法を説明するための図である。 本発明の実施の形態におけるAPI呼び出し制御部の動作例を示したフローチャートである。 本発明の実施の形態におけるクライアントのハードウェア構成例を示した図である。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
[本実施の形態の背景]
RESTful API等のステートレスなリモートAPIをウェブブラウザ(以下、単に「ブラウザ」という)から定期的に呼び出すことにより、クライアントがサーバで動作するシステムの状態を監視したいという要求がある。その際、定期的なAPIの呼び出しは同時に行われることが多い。
図1は、このようなシステムの状態を監視するアプリケーションがクライアントに表示するダッシュボードUI600を示した図である。このダッシュボードUI600では、システムの状態を監視したり、監視のための操作を行ったりすることが可能になっている。ダッシュボードUI600は、コンポーネント601a〜601fを含む。そして、コンポーネント601a〜601fは、それぞれ、対応するリソースの状態を表示する表示部602a〜602fと、そのリソースに対してユーザが操作を行うための操作部603a〜603fとを提供している。ここで、表示部602a〜602fは、定期的なAPIの呼び出しにより、リソースの状態を表示する。また、操作部603a〜603fをユーザが操作すると、不定期的なAPIの呼び出しが行われる。このようなアプリケーションにおいて、各コンポーネントはモジュール化されており、同時にタイマがセットされるため、定期的なAPIの呼び出しのタイミングは重なり易い。従って、上述したように、定期的なAPIの呼び出しは同時に行われることが多くなる。
しかしながら、APIの呼び出しが同時に行われることにより、同時に多大なHTTPリクエストが発生すると、ブラウザが同時に処理できるHTTPリクエストの上限に達することがある。その場合、上限に達した後におけるHTTPリクエストは長時間待たされ、所謂詰まった状態が生ずる。具体的には、複数の定期的なAPIが同時に実行される際に、ユーザの関心が高いリソースに関するAPIの実行が後回しになることがあり、ユーザの待ち時間がより長くなる。
そこで、本実施の形態では、まず、繰り返し行われるリモートAPIの呼び出しの履歴に基づいて、リモートAPIを、定期的に呼び出されるリモートAPI(以下、「定期API」という)と、ユーザの要求に応じて不定期に呼び出されるリモートAPI(以下、「不定期API」という)とに分類する。次に、定期APIのパラメータを比較することにより、定期APIが対象とするリソースを表すパラメータを推定する。そして、直近の不定期APIが対象としたリソースはユーザの関心が高いと推定し、このリソースの優先度が高くなるよう、各リソースの優先度を決定する。これにより、複数の定期APIの実行が同時に要求された場合に、各定期APIが対象とするリソースの優先度に基づいて、これらの定期APIの実行順序を決定する。
[本実施の形態のクライアントサーバシステムの構成]
図2は、本実施の形態におけるクライアントサーバシステムの全体構成例を示した図である。図示するように、このクライアントサーバシステムは、サーバ10と、クライアント20とを含み、クライアント20では、アプリケーション30と、ブラウザ40とが動作する。また、このクライアントサーバシステムは、情報を表示するためのディスプレイ60と、情報を入力するための入力デバイス70とを含む。
サーバ10は、APIを実行するコンピュータである。具体的には、サーバ10は、API実行部11を備え、API実行部11が、クライアント20のブラウザ40から呼び出されたAPIを実行し、結果をブラウザ40に返す。
クライアント20は、ブラウザ40を介してアプリケーション30によるサービスを受けるユーザが使用するコンピュータである。具体的には、クライアント20は、アプリケーション30の機能として、タイマイベント処理部31と、入力イベント処理部32と、イベント制御部33とを備え、ブラウザ40の機能として、操作受付部41と、表示制御部42と、API呼び出し部43と、API呼び出し制御部50とを備える。
タイマイベント処理部31は、予め登録されたタイマがタイムアウトすることによってタイマイベントが発生したことが伝えられると、その旨をイベント制御部33に通知する。
入力イベント処理部32は、操作受付部41から入力イベントが発生したことが伝えられると、その旨をイベント制御部33に通知する。
イベント制御部33は、タイマイベントが発生した旨又は入力イベントが発生した旨を受け取り、イベントの内容に応じて、表示制御部42に対するディスプレイ60への表示出力の要求や、API呼び出し部43に対するAPI呼び出しの要求を行う。
操作受付部41は、入力デバイス70を用いたユーザの入力操作を受け付けることによって入力イベントが発生すると、その旨を入力イベント処理部32に伝える。
表示制御部42は、イベント制御部33の要求に従って、ディスプレイ60への表示出力を行う。
API呼び出し部43は、イベント制御部33の要求に従って、サーバ10に対するAPI呼び出しを行う。
API呼び出し制御部50は、複数の呼び出しが同時に要求された場合にAPI呼び出しの優先度を決定し、その優先度に基づいてAPI呼び出し部43によるAPI呼び出しを制御する。
[本実施の形態のAPI呼び出し制御部の構成]
図3は、本実施の形態におけるAPI呼び出し制御部50の機能構成例を示した図である。図示するように、このAPI呼び出し制御部50は、API呼び出し監視部51と、定期API記憶部52と、パラメータ推定部53と、不定期API記憶部54と、優先度決定部55と、優先度記憶部56とを含む。
API呼び出し監視部51は、API呼び出し部43によるAPI呼び出しを監視する。API呼び出しの監視は、最初の定期API呼び出し監視処理と、続く不定期API呼び出し監視処理とに分けられる。まず、API呼び出し監視部51は、定期API呼び出し監視処理において、API呼び出しを一定時間監視し、定期APIの呼び出しがあったかどうかを判定する。そして、定期APIの呼び出しがあったと判定すれば、定期APIの情報を定期API記憶部52に記憶する。次に、API呼び出し監視部51は、不定期API呼び出し監視処理において、API呼び出しを監視し、API呼び出しを検出すると、それが不定期APIの呼び出しであるかどうかを判定する。そして、それが不定期APIの呼び出しであると判定すれば、不定期APIの情報を不定期API記憶部54に記憶する。本実施の形態では、遠隔手続き呼び出しの一例として、API呼び出しを用いており、定期的な遠隔手続き呼び出しと不定期的な遠隔手続き呼び出しとを抽出する抽出部の一例として、API呼び出し監視部51を設けている。
定期API記憶部52は、API呼び出し監視部51による定期APIの呼び出しの監視により得られた定期APIの情報を記憶する。
パラメータ推定部53は、定期API記憶部52に記憶された定期APIの情報に基づいて、APIが対象とするリソースを表すパラメータ項目を推定する。本実施の形態では、データの一例として、リソースを用いており、対象とするデータを示す情報又は値が設定される項目の一例として、パラメータ項目を用いており、項目を推定する推定部の一例として、パラメータ推定部53を設けている。
不定期API記憶部54は、API呼び出し監視部51による不定期APIの呼び出しの監視により得られた不定期APIの情報を記憶する。
優先度決定部55は、不定期API記憶部54に記憶された不定期APIの情報において、パラメータ推定部53により推定されたパラメータ項目に設定されたパラメータ値を調べることにより、不定期APIが対象とするリソースを特定する。そして、定期API記憶部52に記憶された定期APIの情報において、パラメータ推定部53により推定されたパラメータ項目にそのリソースを表すパラメータ値が設定されているものを検索することにより、そのリソースを対象とする定期APIがあるかどうかを判定する。その結果、そのような定期APIがあれば、その優先度が高くなるように、定期APIの優先度を決定する。本実施の形態では、対象とするデータを示す情報又は値の一例として、パラメータ値を用いており、項目に設定された値が示す特定のデータを認識する認識部の一例として、優先度決定部55を設けている。
優先度記憶部56は、優先度決定部55により決定された各定期APIの優先度の情報を記憶する。この優先度の情報は、複数の定期APIの呼び出しの実行が同時に要求された場合にAPI呼び出し部43により参照され、複数の定期APIの呼び出しの実行を優先度の高いものから順に行うことを可能とする。
[API呼び出し監視部の概略動作]
API呼び出し監視部51は、API呼び出し部43によるAPI呼び出しを一定期間記録し、API呼び出しのパターンから定期APIの呼び出しと不定期APIの呼び出しとを判別する。ここで、このような判別は、フーリエ変換等の公知の手法を用いて行えばよい。
図4は、API呼び出しを一定期間記録することにより得られたAPIの呼び出しのタイミングを示した図である。図において、API201,202,203は、定期的に呼び出されているので、定期APIである。一方、API204,205,206は、不定期に呼び出されているので、不定期APIである。
[パラメータ推定部の概略動作]
パラメータ推定部53は、近い時刻に呼び出される定期APIのURLやリクエストボディを比較する。具体的には、URLやリクエストボディに含まれる各パラメータの項目(以下、「パラメータ項目」という)に設定された値(以下、「パラメータ値」という)を比較する。その結果、異なるパラメータ値が設定されたパラメータ項目が1つだけの定期API呼び出しの回数が閾値以上あれば、そのパラメータ項目がリソースを表すパラメータ項目であると推定する。
図5は、このようなリソースを表すパラメータ項目の推定方法を説明するための図である。具体的には、見出し部にパラメータ項目「パラメータ1」,…,「パラメータ4」を示し、データ部に各パラメータ項目に設定されたパラメータ値を示した表である。この表では、データ部の1行目〜4行目が、「パラメータ2」に設定されたパラメータ値のみが異なる定期API呼び出しを表している。「パラメータ2」に設定されたパラメータ値が4行目では省略されているが、例えば、データ部の1行目〜4行目が100回以上の定期API呼び出しを表し、定期API呼び出しの回数の閾値が100であるとすると、「パラメータ2」がリソースを表すと推定する。一方、データ部の5行目及び6行目は、「パラメータ3」に設定されたパラメータ値のみが異なる定期APIを表している。しかしながら、これは2回の定期API呼び出しを表すに過ぎず、定期API呼び出しの回数の閾値100に満たないので、「パラメータ3」がリソースを表すとは推定しない。
図6は、リソースを表すパラメータ項目の推定の一例について示した図である。短時間内に呼び出された定期APIに、図示するような情報が含まれていたとする。すると、この場合は、異なるパラメータ値が設定されている唯一のパラメータ項目である「collectionId」がリソースを表すパラメータ項目であると推定できる。
[優先度決定部の概略動作]
本実施の形態では、不定期APIが呼び出された場合に、その不定期APIが対象とするリソースに対するユーザの関心が高いと考える。そこで、同一のリソースを対象とする定期APIの呼び出しの優先度を高くする。
図7は、このような定期APIの呼び出しの優先度の変更方法を説明するための図である。図示するように、まず、定期API211,212が呼び出されたとする。このとき、定期API211,212の呼び出しの優先度は何れも「中」であるものとする。次に、不定期API213が呼び出されたとする。すると、リソースを表すと推定されたパラメータ項目「collectionId」に設定されたパラメータ値「col_kurokawa」がユーザの関心が高いリソースを表すことが分かる。これにより、その後、定期API214,215が同時に呼び出された場合、「collectionId」に「col_kurokawa」が設定された定期API214の優先度が「高」に変更される。
[本実施の形態のクライアントサーバシステムの動作]
クライアント20では、イベント制御部33が、タイマイベント処理部31からタイマイベントが発生した旨の通知を受け、入力イベント処理部32から入力イベントが発生した旨の通知を受ける。そして、タイマイベント又は入力イベントの内容に応じて、API呼び出し部43に対し、API呼び出しの実行を要求する。すると、API呼び出し部43が、サーバ10に対して、API呼び出しを実行する。これにより、サーバ10では、API実行部11が、クライアント20から呼び出されたAPIを実行する。
クライアントサーバシステムはこのような動作を行うが、本実施の形態では、API呼び出し部43がAPI呼び出しを実行する際に、API呼び出し制御部50による制御を受ける。図8は、このAPI呼び出し制御部50の動作例を示したフローチャートである。この動作は、例えば、図1に示したような画面に遷移したときに開始するものとする。
図示するように、API呼び出し制御部50では、まず、API呼び出し監視部51が、定期API呼び出し監視処理を行う。即ち、API呼び出し部43によるAPI呼び出しを一定時間観測する(ステップ501)。そして、一定時間観測したAPI呼び出しの中に定期APIの呼び出しがあるかどうかを判定する(ステップ502)。定期APIの呼び出しがないと判定すれば、API呼び出し監視部51は、ステップ501を繰り返すが、定期APIの呼び出しがあると判定すれば、API呼び出し監視部51は、その定期APIの情報を定期API記憶部52に記憶する(ステップ503)。このとき、API呼び出し監視部51は、定期APIの呼び出しがあった旨をパラメータ推定部53に伝え、パラメータ推定部53が、定期API記憶部52に記憶された定期APIの情報を参照して、リソースを表すパラメータ項目を推定する(ステップ504)。その後、パラメータ推定部53は、リソースを表すパラメータ項目の推定が完了した旨をAPI呼び出し監視部51に伝え、推定したリソースを表すパラメータ項目を優先度決定部55に通知する。
これにより、API呼び出し監視部51は、不定期API呼び出し監視処理を行う。即ち、API呼び出し部43によるAPI呼び出しを観測する(ステップ505)。そして、観測したAPI呼び出しが不定期APIの呼び出しであるかどうかを判定する(ステップ506)。観測したAPI呼び出しが不定期APIの呼び出しでないと判定すれば、API呼び出し監視部51は、ステップ505を繰り返すが、観測したAPI呼び出しが不定期APIの呼び出しであると判定すれば、API呼び出し監視部51は、その不定期APIの情報を不定期API記憶部54に記憶する(ステップ507)。その後、優先度決定部55は、この不定期APIが対象とするリソースを対象とする定期APIがあるかどうかを判定する(ステップ508)。具体的には、不定期API記憶部54に記憶された不定期APIの情報を参照して、パラメータ推定部53から通知されたパラメータ項目に設定されたパラメータ値を取得する。そして、定期API記憶部52に記憶された定期APIの情報を参照して、このパラメータ値がパラメータ項目に設定された定期APIがあるかどうかを判定する。その結果、不定期APIが対象とするリソースを対象とする定期APIがないと判定すれば、優先度決定部55は、ステップ505を繰り返すようAPI呼び出し監視部51に指示する。一方、不定期APIが対象とするリソースを対象とする定期APIがあると判定すれば、優先度決定部55は、その定期APIの優先度を高くする(ステップ509)。
以上により、クライアントサーバシステムの動作の説明を終了する。尚、このようにして優先度を付加した後、優先度の調整を行ってもよい。優先度の調整としては、例えば、一定時間経過後に優先度をリセットすることが考えられる。或いは、優先度の偏りの発生を防止するための係数を導入することも考えられる。ここで、優先度の偏りとは、ある時期にある定期APIの優先度を高くする処理が集中したことにより、その定期APIの優先度が特に高くなっている状態である。そして、これを防止するには、最近の優先度を高くする処理において、以前に優先度を高くした処理よりも、優先度を高める度合いを大きくすることが考えられる。
以上述べたように、本実施の形態では、クライアント20からサーバ10に対して実行されたAPI呼び出しから定期APIの呼び出しと不定期APIの呼び出しとを抽出し、APIが対象とするリソースを示すパラメータ項目を定期APIに基づいて推定し、不定期APIにおいてそのパラメータ項目に設定されたパラメータ値に基づいて不定期APIが対象とするリソースを特定し、そのリソースを対象とする定期APIの呼び出しの優先度を高くするようにした。これにより、同時に実行が要求される定期APIの呼び出しのうちユーザの関心が高いものを、アプリケーションに関する知識を用いずに特定し、その実行の優先度を上げることが可能となった。
尚、本実施の形態では、定期APIの呼び出しから推定されたリソースを表すパラメータ項目と、不定期APIにおいてそのパラメータ項目に設定されたパラメータ値とに基づいて、定期APIの呼び出しの優先度を決定するようにしたが、この限りではない。定期APIの呼び出しから得られる第1の情報と、不定期APIの呼び出しから得られる第2の情報とに基づいて、定期APIの呼び出しの優先度を決定するようにしてもよい。ここで、第1の情報と第2の情報とは同種の情報であっても異種の情報であってもよい。
また、本実施の形態では、ブラウザ40が同時に呼び出せるAPIの数に上限があるものとし、定期APIの呼び出しの優先度を決定するようにした。しかしながら、ブラウザ40が同時に呼び出せるAPIの数に上限がないものとし、定期APIの呼び出しに基づく処理の優先度を決定するようにしてもよい。即ち、ブラウザ40は、要求された全ての定期APIの呼び出しを実行し、サーバ10側で優先度に従って定期APIに基づく処理を実行できるようにしてもよい。
更に、本実施の形態では、定期APIの呼び出し又は定期APIの呼び出しに基づく処理の優先度を決定するようにしたが、この限りではない。あるリソースを対象とする定期APIが他の定期APIとは区別されるように、定期APIの呼び出し又は定期APIの呼び出しに基づく処理の態様を決定するようにしてもよい。例えば、あるリソースを対象とする定期APIの呼び出しに対しては新たに処理を行うが、別のリソースを対象とする定期APIの呼び出しに対しては既に行った処理の結果を用いる、といったものが考えられる。また、これは更に一般化して、単に、定期APIの呼び出し又は定期APIの呼び出しに基づく処理の態様を決定するものと捉えることも可能である。即ち、本実施の形態では、定期的な遠隔手続き呼び出しの態様及び定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部の一例として、優先度決定部55を設けていると言うことができる。
[本実施の形態のクライアントのハードウェア構成]
図9は、本実施の形態におけるクライアント20のハードウェア構成例を示した図である。図示するように、クライアント20は、演算手段であるCPU(Central Processing Unit)20aと、M/B(マザーボード)チップセット20bを介してCPU20aに接続されたメインメモリ20cと、同じくM/Bチップセット20bを介してCPU20aに接続された表示機構20d(図2のディスプレイ60に対応)とを備える。また、M/Bチップセット20bには、ブリッジ回路20eを介して、ネットワークインターフェイス20fと、磁気ディスク装置(HDD)20gと、音声機構20hと、キーボード/マウス20i(図2の入力デバイス70に対応)と、光学ドライブ20jとが接続されている。
尚、図9において、各構成要素は、バスを介して接続される。例えば、CPU20aとM/Bチップセット20bの間や、M/Bチップセット20bとメインメモリ20cの間は、CPUバスを介して接続される。また、M/Bチップセット20bと表示機構20dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構20dがPCI Express対応のビデオカードを含む場合、M/Bチップセット20bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路20eと接続する場合、ネットワークインターフェイス20fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置20gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス20i、及び、光学ドライブ20jについては、USB(Universal Serial Bus)を用いることができる。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…サーバ、11…API実行部、20…クライアント、30…アプリケーション、31…タイマイベント処理部、32…入力イベント処理部、33…イベント制御部、40…ブラウザ、41…操作受付部、42…表示制御部、43…API呼び出し部、50…API呼び出し制御部、51…API呼び出し監視部、52…定期API記憶部、53…パラメータ推定部、54…不定期API記憶部、55…優先度決定部、56…優先度記憶部

Claims (7)

  1. クライアントのサーバに対する遠隔手続き呼び出しを制御する装置であって、
    前記クライアントから前記サーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しと、不定期的な遠隔手続き呼び出しとを抽出する抽出部と、
    前記クライアントから前記サーバに対して実行される定期的な遠隔手続き呼び出しであって、前記不定期的な遠隔手続き呼び出しが対象とする特定のデータを対象とする定期的な遠隔手続き呼び出しについて、当該定期的な遠隔手続き呼び出しの態様及び当該定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部と
    を含む、装置。
  2. 前記定期的な遠隔手続き呼び出しが対象とするデータを示す情報が設定される項目を推定する推定部を更に備え、
    前記決定部は前記不定期的な遠隔手続き呼び出しにおいて前記項目に設定された情報が示すデータを前記特定のデータに決定する、請求項1の装置。
  3. 前記決定部は、前記クライアントから前記サーバに対して実行される前記定期的な遠隔手続き呼び出しについて、前記特定のデータを対象とする特定の定期的な遠隔手続き呼び出しが他の定期的な遠隔手続き呼び出しとは区別されるように、当該定期的な遠隔手続き呼び出しの態様及び当該定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する、請求項1又は請求項2の装置。
  4. 前記決定部は、前記クライアントから前記サーバに対して実行される前記定期的な遠隔手続き呼び出しについて、当該定期的な遠隔手続き呼び出しの態様を決定する場合には、当該態様として、当該定期的な遠隔手続き呼び出しの優先度を決定し、当該定期的な遠隔手続き呼び出しに基づく処理の態様を決定する場合には、当該態様として、当該定期的な遠隔手続き呼び出しに基づく処理の優先度を決定する、請求項1乃至請求項3の何れかの装置。
  5. クライアントのサーバに対する遠隔手続き呼び出しを制御する装置であって、
    前記クライアントから前記サーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しと、不定期的な遠隔手続き呼び出しとを抽出する抽出部と、
    前記定期的な遠隔手続き呼び出しが対象とするデータを示す値が設定される項目を推定する推定部と、
    前記不定期的な遠隔手続き呼び出しにおいて前記項目に設定された値が示す当該不定期的な遠隔手続き呼び出しが対象とする特定のデータを認識する認識部と、
    前記クライアントから前記サーバに対して実行される定期的な遠隔手続き呼び出しについて、前記特定のデータを対象とする特定の定期的な遠隔手続き呼び出しが他の定期的な遠隔手続き呼び出しよりも優先されるように、当該定期的な遠隔手続き呼び出しの態様及び当該定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部と
    を含む、装置。
  6. クライアントのサーバに対する遠隔手続き呼び出しをコンピュータが制御する方法であって、
    前記コンピュータが、前記クライアントから前記サーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しを抽出するステップと、
    前記コンピュータが、前記クライアントから前記サーバに対して実行された遠隔手続き呼び出しから、不定期的な遠隔手続き呼び出しを抽出するステップと、
    前記コンピュータが、前記クライアントから前記サーバに対して実行される定期的な遠隔手続き呼び出しであって、前記不定期的な遠隔手続き呼び出しが対象とする特定のデータを対象とする定期的な遠隔手続き呼び出しについて、当該定期的な遠隔手続き呼び出しの態様及び当該定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定するステップと
    を含む、方法。
  7. クライアントのサーバに対する遠隔手続き呼び出しを制御する装置として、コンピュータを機能させるプログラムであって、
    前記コンピュータを、
    前記クライアントから前記サーバに対して実行された遠隔手続き呼び出しから、定期的な遠隔手続き呼び出しと、不定期的な遠隔手続き呼び出しとを抽出する抽出部と、
    前記クライアントから前記サーバに対して実行される定期的な遠隔手続き呼び出しであって、前記不定期的な遠隔手続き呼び出しが対象とする特定のデータを対象とする定期的な遠隔手続き呼び出しについて、当該定期的な遠隔手続き呼び出しの態様及び当該定期的な遠隔手続き呼び出しに基づく処理の態様の何れかを決定する決定部と
    して機能させる、プログラム。
JP2014099583A 2014-05-13 2014-05-13 遠隔手続き呼び出しを制御する装置及び方法 Active JP5984148B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014099583A JP5984148B2 (ja) 2014-05-13 2014-05-13 遠隔手続き呼び出しを制御する装置及び方法
US14/689,076 US9665417B2 (en) 2014-05-13 2015-04-17 Device and method for controlling remote procedure call
US15/412,300 US9894183B2 (en) 2014-05-13 2017-01-23 Device and method for controlling remote procedure call
US15/485,506 US10084887B2 (en) 2014-05-13 2017-04-12 Device and method for controlling remote procedure call

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014099583A JP5984148B2 (ja) 2014-05-13 2014-05-13 遠隔手続き呼び出しを制御する装置及び方法

Publications (2)

Publication Number Publication Date
JP2015215838A JP2015215838A (ja) 2015-12-03
JP5984148B2 true JP5984148B2 (ja) 2016-09-06

Family

ID=54538579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014099583A Active JP5984148B2 (ja) 2014-05-13 2014-05-13 遠隔手続き呼び出しを制御する装置及び方法

Country Status (2)

Country Link
US (3) US9665417B2 (ja)
JP (1) JP5984148B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5984148B2 (ja) 2014-05-13 2016-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 遠隔手続き呼び出しを制御する装置及び方法
US10320603B1 (en) 2016-12-02 2019-06-11 Worldpay, Llc Systems and methods for registering computer server event notifications

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185516A (ja) * 1995-12-28 1997-07-15 Hitachi Ltd マルチタスク優先度制御方式
JPH11212780A (ja) 1998-01-26 1999-08-06 Mitsubishi Electric Corp 監視制御システム用アプリケーション群開発方法とアプリケーションテンプレート開発支援装置
JPH11238027A (ja) * 1998-02-24 1999-08-31 Hitachi Ltd 画面更新方法及び画面更新端末装置
JP2000099332A (ja) * 1998-09-25 2000-04-07 Hitachi Ltd 遠隔手続き呼び出し最適化方法とこれを用いたプログラム実行方法
US7069543B2 (en) * 2002-09-11 2006-06-27 Sun Microsystems, Inc Methods and systems for software watchdog support
JP2008059494A (ja) 2006-09-04 2008-03-13 Matsushita Electric Ind Co Ltd ミドルウェア選択制御装置
US8036871B1 (en) * 2006-09-11 2011-10-11 The Mathworks, Inc. Generating and delaying function calls in a discrete event modeling environment
JP4756001B2 (ja) 2007-02-16 2011-08-24 楽天株式会社 情報提供装置、適正判定情報生成方法及び適正判定情報生成処理プログラム
JP2009251665A (ja) 2008-04-01 2009-10-29 Mitsubishi Electric Corp 通信システム
JP4653230B2 (ja) 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
US8607067B1 (en) * 2011-03-01 2013-12-10 Amazon Technologies, Inc. Techniques for attesting to information
JP2013030031A (ja) 2011-07-29 2013-02-07 Hitachi Ltd 不良該非判定手法
KR101773102B1 (ko) * 2011-09-14 2017-08-31 한국전자통신연구원 컴포넌트 기반 로봇 응용 소프트웨어 개발에서의 가상 컴포넌트를 이용한 컴포넌트 조합 장치 및 방법과 이에 관련된 프로그램의 기록매체
US9032380B1 (en) * 2011-12-05 2015-05-12 The Mathworks, Inc. Identifying function calls and object method calls
JP5984148B2 (ja) 2014-05-13 2016-09-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 遠隔手続き呼び出しを制御する装置及び方法

Also Published As

Publication number Publication date
JP2015215838A (ja) 2015-12-03
US9894183B2 (en) 2018-02-13
US20170223141A1 (en) 2017-08-03
US10084887B2 (en) 2018-09-25
US20170134528A1 (en) 2017-05-11
US9665417B2 (en) 2017-05-30
US20150331729A1 (en) 2015-11-19

Similar Documents

Publication Publication Date Title
CN106961454B (zh) 文件下载方法、装置及终端设备
US20150347612A1 (en) Information terminal and control method
WO2016081252A1 (en) Relevant communication mode selection
JP2012521042A (ja) ウェブフロントエンドスロットリング
US9514162B2 (en) Smart polling frequency
US20150095905A1 (en) Method and apparatus for remotely delivering software
JP5984148B2 (ja) 遠隔手続き呼び出しを制御する装置及び方法
JP6351827B2 (ja) ウイルススキャン方法及びウイルススキャン装置
CN109492163B (zh) 一种列表展示的记录方法、装置、终端设备及存储介质
US10289445B1 (en) Automatic deactivation of software application features in a web-based application environment
JP6488903B2 (ja) 画面転送制御システム、画面転送制御プログラム及び画面転送制御方法
US20150156132A1 (en) Determining Available User Interface Functionality Based on Backend Server Load
US20140280719A1 (en) System and method for dynamically loading a webpage
WO2015191894A2 (en) Methods, systems, and media for presenting advertisements during background presentation of media content
CN110457632B (zh) 网页加载的处理方法及装置
WO2017097221A1 (zh) 用于数据呈现以及辅助数据呈现的方法和装置
US20170317940A1 (en) System and Method for Executing a High Bandwidth Network Activity as a Background Activity in a Virtual Desktop Environment
CN112825519A (zh) 一种识别异常登录的方法和装置
CN107209882B (zh) 对于处在管理之下的设备的多阶段撤销注册
US10701178B2 (en) Method and apparatus of web application server for blocking a client session based on a threshold number of service calls
WO2014008590A1 (en) Network selection tool for information handling system
US20240143961A1 (en) Information processing apparatus, method, and storage medium
CN113764025B (zh) 一种故障磁盘的处理方法和装置
JP6531597B2 (ja) 解析処理プログラム、解析処理方法および解析処理装置
JP2013134636A (ja) 計算機負荷制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160105

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160115

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160726

R150 Certificate of patent or registration of utility model

Ref document number: 5984148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150