JP2022078608A - 情報処理システム - Google Patents
情報処理システム Download PDFInfo
- Publication number
- JP2022078608A JP2022078608A JP2020189408A JP2020189408A JP2022078608A JP 2022078608 A JP2022078608 A JP 2022078608A JP 2020189408 A JP2020189408 A JP 2020189408A JP 2020189408 A JP2020189408 A JP 2020189408A JP 2022078608 A JP2022078608 A JP 2022078608A
- Authority
- JP
- Japan
- Prior art keywords
- server
- application
- control signal
- unit
- calculation
- 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
- Computer And Data Communications (AREA)
Abstract
【課題】ローカルアプリケーションの機能の一部又は全部を、ネットワークに接続される機器でも簡便に利用することができ、上記ローカルアプリケーションの利便性を向上させることができる情報処理システムを提供する。【解決手段】中継装置は、さらに、ユーザ装置において生成された制御信号を受信し、受信した制御信号を処理装置へ転送し、処理装置において出力された計算結果を受信し、受信した計算結果をユーザ装置へ転送する、ように構成される。【選択図】図1
Description
本発明は、情報処理システムに関する。
一般に、据え置きのローカルPC及びサーバ等の機器で動作することを前提としているローカルアプリケーションが存在する。このローカルアプリケーションは、デスクトップアプリケーション、スタンドアロンアプリケーション又はネイティブアプリケーションとも呼ばれる。上記ローカルアプリケーションには、例えば、数値解析ソフト等の膨大な計算を必要とする負荷の大きいアプリケーションが含まれる。一般に、膨大な計算を必要とする負荷の大きいアプリケーションは、当該アプリケーションを動作させるために必要な装置のスペックが非常に高く設定されているため、当該アプリケーションを動作させるために必要な装置のスペックを備える機器で動作することを前提としているものが多い。
一方で、上記ローカルアプリケーションの利便性を向上させるため、上記ローカルアプリケーションの機能の一部又は全部を、当該ローカルアプリケーションをインストールした機器とは独立して存在し、かつネットワークに接続される他の機器(例えば、PC、スマートフォン及びタブレット等の外部端末)でも利用したいという要望がある。例えば、外出先でも上記ローカルアプリケーションにおける高度な計算処理を利用できるようにすることが求められている。ここで、上記要望を実現するために、下記特許文献1のように、RDP(リモートデスクトッププロトコル)を用いて、上記ローカルアプリケーションをインストールしたローカルPC及びサーバ等と、上記外部端末との間の接続を確立して、外部端末によりローカルPC及びサーバ等を遠隔操作可能とすることで、外部端末において、上記ローカルアプリケーションを利用する方法が考えられる。しかしながら、上記外部端末にRDPクライアント等のアプリケーションを改めてインストールする必要があり、上記外部端末によっては、当該RDPクライアントの仕組み及び挙動が変わり、上記外部端末のパフォーマンスが低下するという問題がある。
また、上記ローカルアプリケーションをウェブブラウザで動作するウェブアプリケーションに改修すること、又は上記外部端末での動作を可能とするための改修を行うこと(マルチデバイス対応)も考えられる。しかしながら、上記改修には、膨大な開発期間及びコストが掛かるという問題がある。また、上記改修に伴い、ローカルアプリケーションの機能の一部を削除する等、上記ローカルアプリケーションの仕様変更が必要になる可能性があるという問題がある。
本発明はこのような事情を考慮してなされたものであり、その目的とするところは、ローカルアプリケーションの機能の一部又は全部を、ネットワークに接続される機器でも簡便に利用することができ、かつ上記ローカルアプリケーションの利便性を向上させることができる情報処理システムを提供することにある。
本発明は前述の課題の少なくとも一部を解決するためになされたものであり、以下の態様として実現することができる。
本態様に係る情報処理システムは、ネットワークに接続された機器にインストールされたローカルアプリケーションの機能の一部又は全部を、前記ネットワークに接続された他の機器において利用可能とするための情報処理システムであって、前記ネットワークを介して相互に接続される、処理装置と、中継装置と、ユーザ装置とを具備し、前記処理装置は、前記ローカルアプリケーションを実行するように構成され、前記中継装置は、アプリケーションプログラミングインタフェース(API)として機能させるためのAPIプログラムを実行するように構成され、前記ユーザ装置は、前記中継装置において実行される前記APIプログラムを介して、前記ローカルアプリケーションと連携可能なエンドユーザアプリケーションを実行するように構成され、前記中継装置は、さらに、前記ユーザ装置において生成された制御信号を受信し、前記受信した制御信号を前記処理装置へ転送し、前記処理装置において出力された計算結果を受信し、前記受信した計算結果を前記ユーザ装置へ転送する、ように構成され、前記制御信号は、前記エンドユーザアプリケーションに対応する操作画面を参照したユーザからの前記ユーザ装置に対する所定の入力操作に応じて生成され、前記計算結果は、前記処理装置において、前記制御信号を入力して、前記ローカルアプリケーションにおける計算処理を実行することにより出力される。
本態様に係る情報処理システムは、ローカルアプリケーションの機能の一部又は全部を、ネットワークに接続される機器でも簡便に利用することができ、かつ上記ローカルアプリケーションの利便性を向上させることができる。
本実施形態をより明確に説明するために、以下に実施形態において使用される図面を簡単に説明する。ここで、以下の説明における図面は、単に一実施形態を示すものに過ぎず、当業者であれば、この図面に基づいて創造的な労働を必要としないも、他の図面を想至することが可能であることに留意されたい。
以下、本発明の一実施形態に係る情報処理システムについて、図面を参照して説明する。なお、本実施形態は以下に説明する内容に限定されるものではなく、その要旨を変更しない範囲において任意に変更して実施することが可能である。また、実施形態の説明に用いる図面は、いずれも構成部材を模式的に示すものであって、理解を深めるべく部分的な強調、拡大、縮小、または省略などを行っており、構成部材の縮尺や形状等を正確に表すものとはなっていない場合がある。
(情報処理システムの構成)
図1は、本実施形態に係る情報処理システム1の全体構成図である。図1に示す情報処理システム1は、ネットワーク2に接続された機器にインストールされたローカルアプリケーションの機能の一部又は全部を、当該ローカルアプリケーションをインストールした機器とは独立して存在し、かつネットワーク2に接続された他の機器(例えば、PC、スマートフォン及びタブレット等の外部端末)において利用可能とするためのシステムである。ここで、本実施形態におけるローカルアプリケーションは、ローカルのデスクトップ環境上で動作する(換言すれば、据え置きのローカルPC及びサーバ等で動作することを前提としている)アプリケーションのことである。上記ローカルアプリケーションは、デスクトップアプリケーション、スタンドアロンアプリケーション又はネイティブアプリケーションとも呼ばれる。
図1は、本実施形態に係る情報処理システム1の全体構成図である。図1に示す情報処理システム1は、ネットワーク2に接続された機器にインストールされたローカルアプリケーションの機能の一部又は全部を、当該ローカルアプリケーションをインストールした機器とは独立して存在し、かつネットワーク2に接続された他の機器(例えば、PC、スマートフォン及びタブレット等の外部端末)において利用可能とするためのシステムである。ここで、本実施形態におけるローカルアプリケーションは、ローカルのデスクトップ環境上で動作する(換言すれば、据え置きのローカルPC及びサーバ等で動作することを前提としている)アプリケーションのことである。上記ローカルアプリケーションは、デスクトップアプリケーション、スタンドアロンアプリケーション又はネイティブアプリケーションとも呼ばれる。
また、本実施形態におけるネットワーク2は、例えば、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、キャンパスエリアネットワーク(CAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、広帯域ネットワーク(BBN)及び無線LAN(WLAN)インターネットのうちの少なくとも一つを含む。さらに、ネットワーク2は、上記に限定されず、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スターバスネットワーク、ツリー又は階層ネットワーク等を含むネットワークトポロジを少なくとも一つを含む。
本実施形態に係る情報処理システム1は、例えば、処理装置として機能するローカルアプリケーションサーバ(LAサーバ)3、中継装置として機能するアプリケーションプログラミングインタフェースサーバ(APIサーバ)4及びユーザ装置5を備える。LAサーバ3、APIサーバ4及びユーザ装置5は、ネットワーク2を介して相互に接続されている。
ここで、本実施形態に係る情報処理システム1を構成するLAサーバ3、APIサーバ4及びユーザ装置5の各構成について、図2Aから図2Cを参照して説明する。
(LAサーバ(処理装置))
図2Aは、図1に示すLAサーバ3の構成を示すブロック図である。本実施形態におけるLAサーバ3は、上記ローカルアプリケーションを実行するように構成される。例えば、本実施形態におけるLAサーバ3は、異なるローカルアプリケーションを並行して実行可能である。具体的には、本実施形態におけるLAサーバ3は、後述の通り、異なる種類の計算処理を各々実行するための複数のローカルアプリケーション各々に対応付けて連携サーバ(演算部)31,32を設け、連携サーバ31の制御部311及び連携サーバ32の制御部321各々において、複数のローカルアプリケーション各々を実行している。すなわち、本実施形態におけるLAサーバ3には、1種類のローカルアプリケーションに対して、1つの連携サーバが設置されている。なお、本実施形態では、後述するローカルアプリケーション(A)並びにローカルアプリケーション(B-1)及びローカルアプリケーション(B-2)が、異なる種類の計算処理を各々実行するための複数のローカルアプリケーションに該当する。
図2Aは、図1に示すLAサーバ3の構成を示すブロック図である。本実施形態におけるLAサーバ3は、上記ローカルアプリケーションを実行するように構成される。例えば、本実施形態におけるLAサーバ3は、異なるローカルアプリケーションを並行して実行可能である。具体的には、本実施形態におけるLAサーバ3は、後述の通り、異なる種類の計算処理を各々実行するための複数のローカルアプリケーション各々に対応付けて連携サーバ(演算部)31,32を設け、連携サーバ31の制御部311及び連携サーバ32の制御部321各々において、複数のローカルアプリケーション各々を実行している。すなわち、本実施形態におけるLAサーバ3には、1種類のローカルアプリケーションに対して、1つの連携サーバが設置されている。なお、本実施形態では、後述するローカルアプリケーション(A)並びにローカルアプリケーション(B-1)及びローカルアプリケーション(B-2)が、異なる種類の計算処理を各々実行するための複数のローカルアプリケーションに該当する。
以降、説明の便宜上、ローカルアプリケーション(A)は、単にアプリ(A)と記載する。また、ローカルアプリケーション(B-1)及びローカルアプリケーション(B-2)は、単にアプリ(B-1)及びアプリ(B-2)と記載する。
また、本実施形態におけるLAサーバ3は、同一の計算処理を各々実行するための複数のローカルアプリケーションを並行して実行可能である。具体的には、本実施形態におけるLAサーバ3は、後述の通り、連携サーバ(演算部)32の制御部321において、同一の計算処理を各々実行するための複数のローカルアプリケーション各々を並行して実行している。なお、本実施形態では、後述するアプリ(B-1)及びアプリ(B-2)が、同一の計算処理を各々実行するための複数のローカルアプリケーションに該当する。
ここで、図1に示すLAサーバ3を構成する連携サーバ31,32について各々説明する。まず、本実施形態における連携サーバ31は、アプリ(A)を実行するように構成される。図2Aに示すように、連携サーバ31は、制御部311、記憶部312、入力部313、表示部314及び通信部315を備える。
制御部311は、ハードウェア資源として、所定のプロセッサを含む。制御部311は、記憶部312、入力部313、表示部314及び通信部315と、バス316を介して、電気的又は光学的に相互に接続されている。制御部311は、接続された機器とのデータのやり取り及び当該連携サーバ31に設けられる機器の制御を行う。また、制御部311は、後述する記憶部312に記憶されたローカルアプリケーションプログラム(A)3121(LAプログラム(A)3121)を読み込むことで、アプリ(A)を実行する。
記憶部312は、ハードウェア資源として、所定のメモリを含む。記憶部312は、種々のプログラム及びデータを記憶する。本実施形態における記憶部312は、上記LAプログラム(A)3121を記憶する。
入力部313は、LAサーバ3を管理するユーザからの所定の入力操作を受け付ける。ここで、本実施形態における入力部313は、マウス、キーボード、トラックボール、スイッチボタン、操作面へ触れることで入力操作を行うタッチパッド、手書き入力を行うタッチペン、又は表示画面とタッチパッドとが一体化されたタッチパネルディスプレイのうちの少なくとも一つである。
表示部314は、制御部311による制御に従い、種々のデータを表示する。表示部314は、表示インタフェース回路及び表示機器を有する。表示インタフェース回路は、表示対象を表すデータをビデオ信号に変換する。表示信号は、表示機器に供給される。表示機器は、表示対象を表すビデオ信号を表示する。表示機器としては、例えば、CRTディスプレイ(Cathode Ray Tube Display)、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機ELディスプレイ(OELD:Organic Electro Luminescence Display)、プラズマディスプレイ又は当該技術分野で知られている他の任意のディスプレイが適宜利用可能である。
通信部315は、有線又は無線にて外部装置と通信するための回路である。ここで、本実施形態における通信部315は、WiFi(登録商標)等の近距離での相互通信を可能とする近距離無線通信、5G、LTE、CDMA若しくはWiMAX(Worldwide Interoperability for Microwave Access)(登録商標)等の無線通信又はVDSLモデム若しくは光モデム等の一般に知られているモデムを使用した光回線若しくはADSL回線等の有線通信のように、一般に知られている通信方式によりデータを送受信可能である。
次に、本実施形態における連携サーバ32は、アプリ(B-1)及びアプリ(B-2)を並行して実行するように構成される。図2Aに示すように、連携サーバ32は、制御部321、記憶部322、入力部323、表示部324及び通信部325を備える。なお、アプリ(B-1)及びアプリ(B-2)は、アプリ(A)と異なる種類の計算処理を実行する。また、アプリ(B-1)及びアプリ(B-2)は、同一の計算処理を実行する。すなわち、本実施形態における連携サーバ32は、同一の計算処理を並列に実行する分散コンピューティングを実行可能である。
制御部321は、ハードウェア資源として、所定のプロセッサを含む。制御部321は、記憶部322、入力部323、表示部324及び通信部325と、バス326を介して、電気的又は光学的に相互に接続されている。制御部321は、接続された機器とのデータのやり取り及び当該連携サーバ32に設けられる機器の制御を行う。また、制御部321は、後述する記憶部322に記憶されたローカルアプリケーションプログラム(B-1)3221(LAプログラム(B-1)3221)及びローカルアプリケーションプログラム(B-2)3222(LAプログラム(B-2)3222)を読み込むことで、アプリ(B-1)及びアプリ(B-2)を実行する。なお、本実施形態における制御部321は、アプリ(B-1)及びアプリ(B-2)を仮想的に並行に実行可能である。本実施形態における制御部321には、アプリ(B-1)を実行する仮想的な演算部と、アプリ(B-2)を実行する仮想的な演算部とが含まれていることとする。なお、本実施形態における「仮想的」という文言は、物理的な実体を持たないことを意味する。すなわち、上記仮想的な演算部は、制御部321におけるリソースを意味する。
記憶部322は、ハードウェア資源として、所定のメモリを含む。記憶部322は、種々のプログラム及びデータを記憶する。本実施形態における記憶部322は、上記LAプログラム(B-1)3221及びLAプログラム(B-2)3222を記憶する。
入力部323は、LAサーバ3を管理するユーザからの所定の入力操作を受け付ける。ここで、本実施形態における入力部323は、マウス、キーボード、トラックボール、スイッチボタン、操作面へ触れることで入力操作を行うタッチパッド、手書き入力を行うタッチペン、又は表示画面とタッチパッドとが一体化されたタッチパネルディスプレイのうちの少なくとも一つである。
表示部324は、制御部321による制御に従い、種々のデータを表示する。表示部324は、表示インタフェース回路及び表示機器を有する。表示インタフェース回路は、表示対象を表すデータをビデオ信号に変換する。表示信号は、表示機器に供給される。表示機器は、表示対象を表すビデオ信号を表示する。表示機器としては、例えば、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイ又は当該技術分野で知られている他の任意のディスプレイが適宜利用可能である。
通信部325は、有線又は無線にて外部装置と通信するための回路である。ここで、本実施形態における通信部325は、WiFi(登録商標)等の近距離での相互通信を可能とする近距離無線通信、5G、LTE、CDMA若しくはWiMAX(登録商標)等の無線通信、又はVDSLモデム若しくは光モデム等の一般に知られているモデムを使用した光回線若しくはADSL回線等の有線通信のように、一般に知られている通信方式によりデータを送受信可能である。
(APIサーバ(中継装置))
図2Bは、図1に示すAPIサーバ4の構成を示すブロック図である。本実施形態におけるAPIサーバ4は、アプリケーションプログラミングインタフェース(API)として機能させるためのAPIプログラム421を実行するように構成される。すなわち、APIサーバ4は、連携先のアプリケーションの機能の一部又は全部を利用可能とする等、アプリケーション間の連携を可能とするAPIとして機能する。図2Bに示すように、APIサーバ4は、制御部41、記憶部42、入力部43、表示部44及び通信部45を備える。
図2Bは、図1に示すAPIサーバ4の構成を示すブロック図である。本実施形態におけるAPIサーバ4は、アプリケーションプログラミングインタフェース(API)として機能させるためのAPIプログラム421を実行するように構成される。すなわち、APIサーバ4は、連携先のアプリケーションの機能の一部又は全部を利用可能とする等、アプリケーション間の連携を可能とするAPIとして機能する。図2Bに示すように、APIサーバ4は、制御部41、記憶部42、入力部43、表示部44及び通信部45を備える。
制御部41は、ハードウェア資源として、所定のプロセッサを含む。制御部41は、記憶部42、入力部43、表示部44及び通信部45と、バス46を介して、電気的又は光学的に相互に接続されている。制御部41は、接続された機器とのデータのやり取り及び当該APIサーバ4に設けられる機器の制御を行う。また、制御部41は、後述する記憶部42に記憶されたAPIプログラム421を読み込んで実行する。
記憶部42は、ハードウェア資源として、所定のメモリを含む。記憶部42は、種々のプログラム及びデータを記憶する。本実施形態における記憶部42は、上記APIプログラム421を記憶する。
入力部43は、APIサーバ4を管理するユーザからの所定の入力操作を受け付ける。ここで、本実施形態における入力部43は、マウス、キーボード、トラックボール、スイッチボタン、操作面へ触れることで入力操作を行うタッチパッド、手書き入力を行うタッチペン、又は表示画面とタッチパッドとが一体化されたタッチパネルディスプレイのうちの少なくとも一つである。
表示部44は、制御部41による制御に従い、種々のデータを表示する。表示部44は、表示インタフェース回路及び表示機器を有する。表示インタフェース回路は、表示対象を表すデータをビデオ信号に変換する。表示信号は、表示機器に供給される。表示機器は、表示対象を表すビデオ信号を表示する。表示機器としては、例えば、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイ又は当該技術分野で知られている他の任意のディスプレイが適宜利用可能である。
通信部45は、有線又は無線にて外部装置と通信するための回路である。ここで、本実施形態における通信部45は、WiFi(登録商標)等の近距離での相互通信を可能とする近距離無線通信、5G、LTE、CDMA若しくはWiMAX(登録商標)等の無線通信又はVDSLモデム若しくは光モデム等の一般に知られているモデムを使用した光回線若しくはADSL回線等の有線通信のように、一般に知られている通信方式によりデータを送受信可能である。例えば、通信部45及び後述するユーザ装置5の通信部55は、ウェブソケット等の一般に知られている通信技術を用いて、双方向通信可能である。
(ユーザ装置)
図2Cは、図1に示すユーザ装置5の構成を示すブロック図である。本実施形態におけるユーザ装置5は、上記APIサーバ4において実行されるAPIプログラム421を介して、上記ローカルアプリケーションと連携可能なエンドユーザアプリケーションを実行するように構成される。ここで、本実施形態におけるユーザ装置5は、当該ローカルアプリケーションをインストールした機器とは独立して存在し、かつネットワーク2に接続される他の機器(例えば、PC、スマートフォン及びタブレット等の外部端末)である。また、本実施形態におけるエンドユーザアプリケーションは、APIプログラム421との情報の送受信が可能なアプリケーションであれば、どのようなアプリケーションであってもよい。例えば、上記エンドユーザアプリケーションは、ウェブブラウザを利用するウェブアプリケーション、又はネイティブアプリケーション若しくはデスクトップアプリケーション(スタンドアロンアプリケーション)であってもよい。図2Cに示すように、ユーザ装置5は、制御部51、記憶部52、入力部53、表示部54及び通信部55を備える。
図2Cは、図1に示すユーザ装置5の構成を示すブロック図である。本実施形態におけるユーザ装置5は、上記APIサーバ4において実行されるAPIプログラム421を介して、上記ローカルアプリケーションと連携可能なエンドユーザアプリケーションを実行するように構成される。ここで、本実施形態におけるユーザ装置5は、当該ローカルアプリケーションをインストールした機器とは独立して存在し、かつネットワーク2に接続される他の機器(例えば、PC、スマートフォン及びタブレット等の外部端末)である。また、本実施形態におけるエンドユーザアプリケーションは、APIプログラム421との情報の送受信が可能なアプリケーションであれば、どのようなアプリケーションであってもよい。例えば、上記エンドユーザアプリケーションは、ウェブブラウザを利用するウェブアプリケーション、又はネイティブアプリケーション若しくはデスクトップアプリケーション(スタンドアロンアプリケーション)であってもよい。図2Cに示すように、ユーザ装置5は、制御部51、記憶部52、入力部53、表示部54及び通信部55を備える。
制御部51は、ハードウェア資源として、所定のプロセッサを含む。制御部51は、記憶部52、入力部53、表示部54及び通信部55と、バス56を介して、電気的又は光学的に相互に接続されている。制御部51は、接続された機器とのデータのやり取り及び当該ユーザ装置5に設けられる機器の制御を行う。また、制御部51は、後述する記憶部52に記憶されたエンドユーザアプリケーションプログラム521(EUAプログラム521)を読み込んで、上記エンドユーザアプリケーションを実行する。
記憶部52は、ハードウェア資源として、所定のメモリを含む。記憶部52は、種々のプログラム及びデータを記憶する。本実施形態における記憶部52は、上記EUAプログラム521を記憶する。
入力部53は、ユーザ装置5を所有するユーザからの所定の入力操作を受け付ける。ここで、本実施形態における入力部53は、マウス、キーボード、トラックボール、スイッチボタン、操作面へ触れることで入力操作を行うタッチパッド、手書き入力を行うタッチペン、又は表示画面とタッチパッドとが一体化されたタッチパネルディスプレイのうちの少なくとも一つである。
表示部54は、制御部51による制御に従い、種々のデータを表示する。表示部54は、表示インタフェース回路及び表示機器を有する。表示インタフェース回路は、表示対象を表すデータをビデオ信号に変換する。表示信号は、表示機器に供給される。表示機器は、表示対象を表すビデオ信号を表示する。表示機器としては、例えば、CRTディスプレイ、液晶ディスプレイ、有機ELディスプレイ、プラズマディスプレイ又は当該技術分野で知られている他の任意のディスプレイが適宜利用可能である。
通信部55は、有線又は無線にて外部装置と通信するための回路である。ここで、本実施形態における通信部55は、WiFi(登録商標)等の近距離での相互通信を可能とする近距離無線通信、5G、LTE、CDMA若しくはWiMAX(登録商標)等の無線通信又はVDSLモデム若しくは光モデム等の一般に知られているモデムを使用した光回線若しくはADSL回線等の有線通信のように、一般に知られている通信方式によりデータを送受信可能である。例えば、通信部55及びAPIサーバ4の通信部45は、ウェブソケット等の一般に知られている通信技術を用いて、双方向通信可能である。
(情報処理システムにおける処理の流れ)
ここで、本実施形態に係る情報処理システム1のユーザ装置5において、LAサーバ3にインストールされたエンドユーザアプリケーションの機能の一部又は全部を実行するために必要な処理について、図3A及び図3Bを参照して説明する。図3A及び図3Bは、本実施形態に係る情報処理システム1のユーザ装置5において、ネットワーク2に接続されるLAサーバ3にインストールされたローカルアプリケーションの機能の一部又は全部を実行するための処理の流れを示すシーケンス図である。
ここで、本実施形態に係る情報処理システム1のユーザ装置5において、LAサーバ3にインストールされたエンドユーザアプリケーションの機能の一部又は全部を実行するために必要な処理について、図3A及び図3Bを参照して説明する。図3A及び図3Bは、本実施形態に係る情報処理システム1のユーザ装置5において、ネットワーク2に接続されるLAサーバ3にインストールされたローカルアプリケーションの機能の一部又は全部を実行するための処理の流れを示すシーケンス図である。
まず、図3Aに示すように、ユーザ装置5の表示部54は、上記エンドユーザアプリケーションに対応する操作画面を表示する(ステップSa1)。当該操作画面を参照したユーザは、ユーザ装置5の入力部53において、所定の入力操作を行う。これにより、ユーザ装置5の入力部53は、上記ユーザからの所定の入力操作を受信する(ステップSa2)。ステップSa2の終了後、ユーザ装置5の制御部51は、入力部53における、ユーザからの所定の入力操作を受信することを条件として、当該入力操作に応じた制御信号を生成する(ステップSa3)。ステップSa3の終了後、ユーザ装置5の通信部55は、上記制御部51において生成した制御信号をAPIサーバ4へ送信する(ステップSa4)。
ステップSa4の終了後、APIサーバ4の通信部45は、上記ユーザ装置5から送信された制御信号を受信する(ステップSa5)。ステップSa5の終了後、APIサーバ4の制御部41は、上記ユーザ装置5から送信された制御信号を受信することを条件として、LAサーバ3における当該制御信号の転送先を選定する(ステップSa6)。ステップSa6の終了後、APIサーバ4の通信部45は、制御部41において選定された転送先へ制御信号を転送する(ステップSa7)。
ステップSa7の終了後、LAサーバ3(連携サーバ31,32)の通信部315又は通信部325は、APIサーバ4から転送された制御信号を受信する(ステップSa8)。ステップSa8の終了後、図3Bに示すように、LAサーバ3(連携サーバ31,32)の制御部311又は制御部321は、上記APIサーバ4から転送された制御信号を受信することを条件として、当該制御信号を入力して、ローカルアプリケーションにおける計算処理を実行する(ステップSa9)。ステップSa9において、ローカルアプリケーションにおける計算処理を実行した後、LAサーバ3(連携サーバ31,32)の通信部315又は通信部325は、ローカルアプリケーションにおける計算処理により出力された計算結果をAPIサーバ4へ送信する(ステップSa10)。
ステップSa10の終了後、APIサーバ4の通信部45は、上記LAサーバ3(連携サーバ31,32)から送信された計算結果を受信する(ステップSa11)。さらに、APIサーバ4の通信部45は、上記LAサーバ3から送信された計算結果をユーザ装置5へ転送する(ステップSa12)。
ステップSa12の終了後、ユーザ装置5の通信部55は、上記APIサーバ4から転送された計算結果を受信する(ステップSa13)。さらに、ユーザ装置5の表示部54は、上記APIサーバ4から転送された計算結果を表示する(ステップSa14)。ステップSa14の終了後、一連の処理を終了する。これにより、本実施形態に係る情報処理システム1は、APIサーバ4を介して、ユーザ装置5において、LAサーバ3にインストールされたローカルアプリケーションの機能の一部又は全部を実行して、上記計算結果を表示することができる。
ここで、本実施形態に係る情報処理システム1における処理の流れをより深く理解するために、LAサーバ3において、アプリ(A)を実行する場合の情報処理システム1における処理の流れを第1実施例として詳しく説明する。また、LAサーバ3において、アプリ(B-1)及びアプリ(B-2)各々を実行する場合の情報処理システム1における処理の流れを第2実施例として詳しく説明する。
(第1実施例)
第1実施例では、上述の通り、LAサーバ3において、アプリ(A)を実行する場合の情報処理システム1における処理の流れを詳しく説明する。
第1実施例では、上述の通り、LAサーバ3において、アプリ(A)を実行する場合の情報処理システム1における処理の流れを詳しく説明する。
まず、ユーザ装置5の表示部54は、上記エンドユーザアプリケーションに対応する操作画面を表示する(ステップSa1)。当該操作画面には、例えば、上記アプリ(A)における計算処理を開始するための開始ボタン及び数値の入力欄等が表示されている。当該操作画面を参照したユーザは、ユーザ装置5の入力部53において、所定の入力操作を行う。例えば、ユーザは、当該数値の入力欄に必要な数値を入力し、当該操作画面に表示された開始ボタンをカーソル等で押下する。これにより、ユーザ装置5の入力部53は、上記ユーザからの所定の入力操作を受信する(ステップSa2)。ステップSa2の終了後、ユーザ装置5の制御部51は、入力部53における、ユーザからの所定の入力操作を受信することを条件として、当該入力操作に応じた制御信号を生成する(ステップSa3)。なお、当該制御信号には、上記数値の入力欄に入力された数値情報及び上記アプリ(A)における計算処理の開始指示等が含まれる。ステップSa3の終了後、ユーザ装置5の通信部55は、上記制御部51において生成した制御信号をAPIサーバ4へ送信する(ステップSa4)。
ステップSa4の終了後、APIサーバ4の通信部45は、上記ユーザ装置5から送信された制御信号を受信する(ステップSa5)。ステップSa5の終了後、APIサーバ4の制御部41は、上記ユーザ装置5から送信された制御信号を受信することを条件として、LAサーバ3における当該制御信号の転送先を選定する(ステップSa6)。
具体的には、制御部41は、上記制御信号に対応するローカルアプリケーションの種類を判定する。さらに、制御部41は、判定結果に基づいて、複数のローカルアプリケーション各々に対応付けて設けられた連携サーバ31,32のうちの制御信号を転送する連携サーバ31,32を選定する。上述の通り、上記制御信号には、上記数値の入力欄に入力された数値情報及び上記アプリ(A)における計算処理の開始指示等が含まれる。このため、制御部41は、上記制御信号に対応するアプリ(A)を実行する連携サーバ31を、制御信号の転送先として選定する。ステップSa6の終了後、APIサーバ4の通信部45は、制御部41において選定された連携サーバ31へ制御信号を転送する(ステップSa7)。
ステップSa7の終了後、連携サーバ31の通信部315は、APIサーバ4から転送された制御信号を受信する(ステップSa8)。ステップSa8の終了後、連携サーバ31の制御部311は、上記APIサーバ4から転送された制御信号を受信することを条件として、当該制御信号を入力して、アプリ(A)における計算処理を実行する(ステップSa9)。ステップSa9において、アプリ(A)における計算処理を実行した後、連携サーバ31の通信部315は、アプリ(A)における計算処理により出力された計算結果をAPIサーバ4へ送信する(ステップSa10)。
ステップSa10の終了後、APIサーバ4の通信部45は、上記連携サーバ31から送信された計算結果を受信する(ステップSa11)。さらに、APIサーバ4の通信部45は、上記LAサーバ3から送信された計算結果をユーザ装置5へ転送する(ステップSa12)。
ステップSa12の終了後、ユーザ装置5の通信部55は、上記APIサーバ4から転送された計算結果を受信する(ステップSa13)。さらに、ユーザ装置5の表示部54は、上記APIサーバ4から転送された計算結果を表示する(ステップSa14)。ステップSa14の終了後、一連の処理を終了する。これにより、第1実施例に係る情報処理システム1は、APIサーバ4を介して、ユーザ装置5において、LAサーバ3の連携サーバ31にインストールされたアプリ(A)の機能の一部又は全部を実行して、上記計算結果を表示することができる。
(第2実施例)
第2実施例では、上述の通り、LAサーバ3において、アプリ(B-1)及びアプリ(B-2)のうちの少なくとも一つを実行する場合の情報処理システム1における処理の流れを詳しく説明する。
第2実施例では、上述の通り、LAサーバ3において、アプリ(B-1)及びアプリ(B-2)のうちの少なくとも一つを実行する場合の情報処理システム1における処理の流れを詳しく説明する。
まず、ユーザ装置5の表示部54は、上記エンドユーザアプリケーションに対応する操作画面を表示する(ステップSa1)。当該操作画面には、例えば、上記アプリ(B-1)及びアプリ(B-2)における計算処理を開始するための開始ボタン及び数値の入力欄等が表示されている。当該操作画面を参照したユーザは、ユーザ装置5の入力部53において、所定の入力操作を行う。例えば、ユーザは、当該数値の入力欄に必要な数値を入力し、当該操作画面に表示された開始ボタンをカーソル等で押下する。これにより、ユーザ装置5の入力部53は、上記ユーザからの所定の入力操作を受信する(ステップSa2)。ステップSa2の終了後、ユーザ装置5の制御部51は、入力部53における、ユーザからの所定の入力操作を受信することを条件として、当該入力操作に応じた制御信号を生成する(ステップSa3)。なお、当該制御信号には、上記数値の入力欄に入力された数値情報及び上記アプリ(B-1)及びアプリ(B-2)における計算処理の開始指示等が含まれる。ステップSa3の終了後、ユーザ装置5の通信部55は、上記制御部51において生成した制御信号をAPIサーバ4へ送信する(ステップSa4)。
ステップSa4の終了後、APIサーバ4の通信部45は、上記ユーザ装置5から送信された制御信号を受信する(ステップSa5)。ステップSa5の終了後、APIサーバ4の制御部41は、上記ユーザ装置5から送信された制御信号を受信することを条件として、LAサーバ3における当該制御信号の転送先を選定する(ステップSa6)。
具体的には、制御部41は、上記制御信号に対応するローカルアプリケーションの種類を判定する。さらに、制御部41は、判定結果に基づいて、複数のローカルアプリケーション各々に対応付けて設けられた連携サーバ31,32のうちの制御信号を転送する連携サーバ31,32を選定する。上述の通り、上記制御信号には、上記数値の入力欄に入力された数値情報及び上記アプリ(B-1)及びアプリ(B-2)における計算処理の開始指示等が含まれる。このため、制御部41は、上記制御信号に対応するアプリ(B-1)及びアプリ(B-2)を実行する連携サーバ32を、制御信号の転送先として選定する。
さらに、制御部41は、アプリ(B-1)及びアプリ(B-2)各々に対応付けて設けられた演算部各々における処理状況を監視する。さらに、制御部41は、監視結果に基づいて、アプリ(B-1)及びアプリ(B-2)各々に対応付けて設けられた演算部のうち、制御信号を転送する連携サーバ32の演算部を選定する。上述の通り、本実施形態における制御部321には、アプリ(B-1)を実行する仮想的な演算部と、アプリ(B-2)を実行する仮想的な演算部とが含まれている。また、アプリ(B-1)を実行する仮想的な演算部の処理状況がスタンバイ状態(新たなジョブを受け付ける状況)であり、アプリ(B-2)を実行する仮想的な演算部の処理状況がビジー状態(処理中で、新たなジョブを受け付けない状況)であると仮定する。この場合、制御部41は、スタンバイ状態であるアプリ(B-1)を実行する演算部を、制御信号を転送する連携サーバ32の制御部321の演算部として選定する。ステップSa6の終了後、APIサーバ4の通信部45は、制御部41において選定された連携サーバ31のアプリ(B-1)を実行する演算部へ制御信号を転送する(ステップSa7)。
ステップSa7の終了後、連携サーバ31の通信部315は、APIサーバ4から転送された制御信号を受信する(ステップSa8)。ステップSa8の終了後、連携サーバ31の制御部311は、上記APIサーバ4から転送された制御信号を受信することを条件として、当該制御信号をアプリ(B-1)を実行する演算部へ入力して、アプリ(B-1)における計算処理を実行する(ステップSa9)。ステップSa9において、アプリ(B-1)における計算処理を実行した後、連携サーバ31の通信部315は、アプリ(B-1)における計算処理により出力された計算結果をAPIサーバ4へ送信する(ステップSa10)。
ステップSa10の終了後、APIサーバ4の通信部45は、上記連携サーバ31から送信された計算結果を受信する(ステップSa11)。さらに、APIサーバ4の通信部45は、上記LAサーバ3から送信された計算結果をユーザ装置5へ転送する(ステップSa12)。
ステップSa12の終了後、ユーザ装置5の通信部55は、上記APIサーバ4から転送された計算結果を受信する(ステップSa13)。さらに、ユーザ装置5の表示部54は、上記APIサーバ4から転送された計算結果を表示する(ステップSa14)。ステップSa14の終了後、一連の処理を終了する。これにより、第2実施例に係る情報処理システム1は、APIサーバ4を介して、ユーザ装置5において、LAサーバ3の連携サーバ32にインストールされたアプリ(B-1)の機能の一部又は全部を実行して、上記計算結果を表示することができる。
なお、第2実施例における情報処理システム1は、アプリ(B-1)を実行する仮想的な演算部の処理状況が上記ビジー状態であり、アプリ(B-2)を実行する仮想的な演算部の処理状況が上記スタンバイ状態である場合、制御部41において、スタンバイ状態であるアプリ(B-2)を実行する演算部を、制御信号を転送する連携サーバ32の制御部321の演算部として選定してもよい。また、第2実施例に係る情報処理システム1は、アプリ(B-1)を実行する仮想的な演算部及びアプリ(B-2)を実行する仮想的な演算部両方を、制御信号を転送する連携サーバ32の制御部321の演算部として選定して、当該制御信号を分散して転送してもよい。すなわち、第2実施例に係る情報処理システム1は、分散コンピューティングを実行してもよい。
また、第2実施例における情報処理システム1は、上記ステップSa6のLAサーバ3における当該制御信号の転送先の選定過程において、上記監視結果に基づく、制御信号を転送する連携サーバ32の演算部の選定を省略してもよい。この場合、APIサーバ4は、ローカルアプリケーションの種類により転送先(連携サーバ31,32)を選定し、選定した転送先(連携サーバ31,32)へ当該制御信号を転送することのみを行う。また、LAサーバ3は、上記APIサーバ4において、当該制御信号の転送先として連携サーバ32が選定された場合、上記APIサーバ4から転送された制御信号を受信することを条件として、連携サーバ32において当該制御信号を処理する演算部を選定してもよい。すなわち、LAサーバ3は、連携サーバ32の仮想的な演算部各々における処理状況を監視する。さらに、LAサーバ3は、監視結果に基づいて、当該制御信号を処理する仮想的な演算部を選定する。最後に、連携サーバ32は、選定された仮想的な演算部において当該制御信号を処理してもよい。
(総括)
上述の通り、本実施形態に係る情報処理システム1は、ネットワーク2に接続された機器にインストールされたローカルアプリケーションの機能の一部又は全部を、ネットワーク2に接続された他の機器において利用可能とするためのシステムである。本実施形態に係る情報処理システム1は、ネットワーク2を介して相互に接続される、LAサーバ(処理装置)3、APIサーバ(中継装置)4及びユーザ装置5を備える。LAサーバ3は、ローカルアプリケーションを実行するように構成される。APIサーバ4は、APIとして機能させるためのAPIプログラムを実行するように構成される。ユーザ装置5は、APIサーバ4において実行されるAPIプログラムを介して、ローカルアプリケーションと連携可能なエンドユーザアプリケーションを実行するように構成される。
上述の通り、本実施形態に係る情報処理システム1は、ネットワーク2に接続された機器にインストールされたローカルアプリケーションの機能の一部又は全部を、ネットワーク2に接続された他の機器において利用可能とするためのシステムである。本実施形態に係る情報処理システム1は、ネットワーク2を介して相互に接続される、LAサーバ(処理装置)3、APIサーバ(中継装置)4及びユーザ装置5を備える。LAサーバ3は、ローカルアプリケーションを実行するように構成される。APIサーバ4は、APIとして機能させるためのAPIプログラムを実行するように構成される。ユーザ装置5は、APIサーバ4において実行されるAPIプログラムを介して、ローカルアプリケーションと連携可能なエンドユーザアプリケーションを実行するように構成される。
上記構成によれば、本実施形態に係る情報処理システム1において、APIサーバ4は、ユーザ装置5において、エンドユーザアプリケーションに対応する操作画面を参照したユーザからのユーザ装置5に対する所定の入力操作に応じて生成された制御信号を受信し、受信した制御信号をLAサーバ3へ転送する。また、APIサーバ4は、LAサーバ3において、上記制御信号を入力して、ローカルアプリケーションにおける計算処理を実行することにより出力された計算結果を受信し、受信した計算結果をユーザ装置5へ転送する。これにより、本実施形態に係る情報処理システム1は、ローカルアプリケーション及びエンドユーザアプリケーションの改修を行わなくても、ネットワーク2に接続されたLAサーバ3にインストールされたローカルアプリケーションによる計算結果を、ネットワーク2に接続されたユーザ装置5に表示することができる。
かくして、本実施形態に係る情報処理システム1は、ローカルアプリケーションの機能の一部又は全部を、ネットワークに接続された機器でも簡便に利用することができる。また、本実施形態に係る情報処理システム1は、ローカルアプリケーションの機能の一部又は全部を、ネットワークに接続された機器でも利用可能とすることで、上記ローカルアプリケーションの利便性を向上させることができる。
また、本実施形態に係る情報処理システム1において、LAサーバ3は、異なる種類の計算処理を各々実行するための複数のローカルアプリケーションを並行して実行可能であり、異なる種類の計算処理を各々実行するための複数のローカルアプリケーション各々に対応付けて演算部(上記実施形態では、連携サーバ31,32が該当する)を設けている。さらに、APIサーバ4は、制御信号に対応するローカルアプリケーションの種類を判定し、判定結果に基づいて、複数のローカルアプリケーション各々に対応付けて設けられた演算部のうちの制御信号を転送する演算部を選定し、選定した演算部へ制御信号を転送する。これにより、本実施形態に係る情報処理システム1は、ローカルアプリケーション及びエンドユーザアプリケーションの改修を行わなくても、APIサーバ4側で制御信号の転送先を選定して、制御信号を転送することができる。また、本実施形態に係る情報処理システム1は、APIサーバ4側でローカルアプリケーション及びエンドユーザアプリケーションにより実行される計算処理の内容を把握する必要がなく、単に制御信号の転送先を把握しておけばよいため、様々な用途のアプリケーションに適用することができる。すなわち、本実施形態に係る情報処理システム1は、汎用性の高い。
また、本実施形態に係る情報処理システム1において、LAサーバ3は、同一の計算処理を各々実行するための複数のローカルアプリケーションを並行して実行可能であり、同一の計算処理を各々実行するための複数のローカルアプリケーション各々に対応付けて演算部(上記実施形態では、連携サーバ32の制御部321の仮想的な演算部が該当する)を設けている。さらに、APIサーバ4は、複数のローカルアプリケーション各々に対応付けて設けられた演算部各々における処理状況を監視し、監視結果に基づいて、複数のローカルアプリケーション各々に対応付けて設けられた演算部のうちの制御信号を転送する演算部を選定し、選定した演算部へ制御信号を転送する。これにより、本実施形態に係る情報処理システム1は、演算部各々の処理状況に応じて、ローカルアプリケーションの計算処理を分散することができる。結果として、本実施形態に係る情報処理システム1は、ローカルアプリケーションの計算処理を分散することで計算速度を向上しつつ、演算部各々に掛かる負荷を低減することができる。
また、本実施形態に係る情報処理システム1は、APIサーバ4とは別に、ローカルアプリケーションを実行するための連携サーバ31,32を設置している。これにより、本実施形態に係る情報処理システム1は、連携サーバ31,32各々のロードバランシングを実行することができる。
(他の実施形態)
上記実施形態に係る情報処理システム1において、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理の途中経過を、ユーザ装置5において確認することができるようにしてもよい。図4A及び図4Bは、他の実施形態に係る情報処理システム1のユーザ装置5において、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理の途中経過を確認可能とする処理の流れを示すシーケンス図である。
上記実施形態に係る情報処理システム1において、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理の途中経過を、ユーザ装置5において確認することができるようにしてもよい。図4A及び図4Bは、他の実施形態に係る情報処理システム1のユーザ装置5において、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理の途中経過を確認可能とする処理の流れを示すシーケンス図である。
まず、図4A及び図4Bに示すステップSb1からステップSb9は、図3A及び図3Bに示すステップSa1からステップSa9と同様である。ステップSb9において、ローカルアプリケーションにおける計算処理を実行した後、LAサーバ3(連携サーバ31,32)の通信部315又は通信部325は、ローカルアプリケーションにおける計算処理の途中経過をAPIサーバ4へ送信する(ステップSb10)。
ステップSb10の終了後、APIサーバ4の通信部45は、上記LAサーバ3(連携サーバ31,32)から送信された計算処理の途中経過を受信する(ステップSb11)。さらに、APIサーバ4の通信部45は、上記LAサーバ3から送信された計算処理の途中経過をユーザ装置5へ転送する(ステップSb12)。
ステップSb12の終了後、ユーザ装置5の通信部55は、上記APIサーバ4から転送された計算処理の途中経過を受信する(ステップSb13)。さらに、ユーザ装置5の表示部54は、上記APIサーバ4から転送された計算処理の途中経過を表示する(ステップSb14)。以降、図4Bに示すステップSb15からステップSb19は、図3Bに示すステップSa10からステップSa14と同様である。
これにより、他の実施形態に係る情報処理システム1は、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理の途中経過を、ユーザ装置5において確認することができる。
また、上記実施形態に係る情報処理システム1において、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理を、ユーザ装置5からの指示により、途中で中止することができるようにしてもよい。図5A及び図5Bは、他の実施形態に係る情報処理システム1のユーザ装置5において、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理を、ユーザ装置5からの指示により中止可能とする処理の流れを示すシーケンス図である。
まず、図5A及び図5Bに示すステップSc1からステップSc9は、図3A及び図3Bに示すステップSa1からステップSa9と同様である。ステップSc9において、ローカルアプリケーションにおける計算処理を実行した後、ユーザは、ユーザ装置5の入力部53において、ローカルアプリケーションを中止するための所定の入力操作を行う。これにより、ユーザ装置5の入力部53は、上記ユーザからのローカルアプリケーションを中止するための所定の入力操作を受信する(ステップSc10)。以降、説明の便宜上、上記ユーザからのローカルアプリケーションを中止するための所定の入力操作は、入力操作(中止)と記載する。ステップSc10の終了後、ユーザ装置5の制御部51は、入力部53における、入力操作(中止)を受信することを条件として、当該入力操作(中止)に応じた制御信号を生成する(ステップSc11)。ステップSa3の終了後、ユーザ装置5の通信部55は、上記制御部51において生成した制御信号をAPIサーバ4へ送信する(ステップSc12)。
ステップSc12の終了後、APIサーバ4の通信部45は、上記ユーザ装置5から送信された制御信号を受信する(ステップSc13)。ステップSc13の終了後、APIサーバ4の制御部41は、上記ユーザ装置5から送信された制御信号を受信することを条件として、LAサーバ3における当該制御信号の転送先を選定する(ステップSc14)。ステップSa6の終了後、APIサーバ4の通信部45は、制御部41において選定された転送先へ制御信号を転送する(ステップSc15)。
ステップSc15の終了後、LAサーバ3(連携サーバ31,32)の通信部315又は通信部325は、APIサーバ4から転送された制御信号を受信する(ステップSc16)。ステップSc16の終了後、図3Bに示すように、LAサーバ3(連携サーバ31,32)の制御部311又は制御部321は、上記APIサーバ4から転送された制御信号を受信することを条件として、ローカルアプリケーションにおける計算処理を中止する(ステップSc17)。ステップSc17の終了後、LAサーバ3(連携サーバ31,32)の通信部315又は通信部325は、ローカルアプリケーションにおける計算処理を中止したことを示す中止通知をAPIサーバ4へ送信する(ステップSc18)。
ステップSc18の終了後、APIサーバ4の通信部45は、上記LAサーバ3(連携サーバ31,32)から送信された中止通知を受信する(ステップSc19)。さらに、APIサーバ4の通信部45は、上記LAサーバ3から送信された中止通知をユーザ装置5へ転送する(ステップSc20)。
ステップSc20の終了後、ユーザ装置5の通信部55は、上記APIサーバ4から転送された中止通知を受信する(ステップSc21)。さらに、ユーザ装置5の表示部54は、上記APIサーバ4から転送された中止通知を表示する(ステップSc22)。ステップSa14の終了後、一連の処理を終了する。
これにより、他の実施形態に係る情報処理システム1は、LAサーバ3にインストールされたローカルアプリケーションにおける計算処理を、ユーザ装置5からの指示により、途中で中止することができる。
ここで、上記実施形態に係る情報処理システム1のAPIサーバ4は、LAサーバ3において、新たなローカルアプリケーションがインストールされた場合、APIサーバ4を管理するユーザからのAPIサーバ4の入力部43に対する所定の入力操作の受信を契機として、新たなローカルアプリケーションに対応したAPIプログラム421に更新してもよい。例えば、本実施形態に係る情報処理システム1のAPIサーバ4は、APIプログラム421の更新過程において、少なくとも、ローカルアプリケーションのタイトル、ローカルアプリケーションのエンドポイント(ネットワーク、連携サーバのアクセス)、ローカルアプリケーションが提供する機能(関数のID/関数の引数等)を登録する。これにより、本実施形態に係る情報処理システム1は、LAサーバ3において実行されるローカルアプリケーションに応じて、最適なAPIプログラム421を提供することができる。
換言すれば、本実施形態に係る情報処理システム1は、APIサーバ4にAPIを汎用的な形式で登録するプロトコルを用いている。本実施形態に係る情報処理システム1は、当該プロトコルにより、ローカルアプリケーションの種類が増える場合又は同じ種類のローカルアプリケーションの数が増える場合であっても、LAサーバ3側のローカルアプリケーション管理及び設置を効率よく行うことができる。また、本実施形態に係る情報処理システム1は、汎用的な登録方法(当該プロトコル)を用いているため、ローカルアプリケーションの種類の増加に伴う、APIサーバ4の制御部41の更新(新たなローカルアプリケーションに合わせた制御部41の仕様変更等)を行う必要がない。このため、本実施形態に係る情報処理システム1は、メンテナンスコストを低減することができる。これらのことから、本実施形態に係る情報処理システム1は、システム全体の拡張性(スケーラビリティ)を確保することができる。
また、上記実施形態に係る情報処理システム1は、LAサーバ3及びAPIサーバ4を備える。LAサーバ3は、アプリ(A)を実行する連携サーバ31並びにアプリ(B-1)及びアプリ(B-2)を実行する連携サーバ32を備える。連携サーバ32の制御部321は、アプリ(B-1)及びアプリ(B-2)各々を、仮想的に並行して実行している。しかしながら、図1に示す情報処理システム1の構成並びに図2A及び図2Bに示すLAサーバ3及びAPIサーバ4の構成は、一例として示したものである。本実施形態に係る情報処理システム1は、これに限定されない。
例えば、本実施形態におけるLAサーバ3及びAPIサーバ4は、物理的な実体を有するサーバ、及び仮想的に提供される、物理的な実体を有しないサーバ(クラウドサーバ)のうちの少なくとも一つにより構成してもよい。具体的には、本実施形態に係る情報処理システム1は、図1に示すように、LAサーバ3及びAPIサーバ4各々を物理的な実体を有するサーバとして設置してもよい。また、本実施形態に係る情報処理システム1は、LAサーバ3の機能及びAPIサーバ4の機能を、一つ又は複数のサーバにおいて仮想的に実現してもよい。また、本実施形態に係る情報処理システム1は、図2Aに示すように、連携サーバ31,32を複数のローカルアプリケーション各々に対応付けて物理的な実体を有するサーバとして設置してもよい。また、本実施形態に係る情報処理システム1は、連携サーバ31の機能及び連携サーバ32の機能を、一つ又は複数のサーバにおいて仮想的に実現してもよい。また、本実施形態に係る情報処理システム1は、連携サーバ32の制御部321を複数のローカルアプリケーション各々に対応付けて物理的な実体を有するサーバとして設置してもよい。
また、上記説明において用いた「所定のプロセッサ」という文言は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の専用若しくは汎用のプロセッサ、又は特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、プログラマブル論理デバイス(例えば、単純プログラマブル論理デバイス(SPLD:Simple Programmable Logic Device)、複合プログラマブル論理デバイス(CPLD:Complex Programmable Logic Device))、若しくはフィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)等を意味する。また、本実施形態の各構成要素(各処理部)は、単一のプロセッサに限らず、複数のプロセッサによって実現するようにしてもよい。さらに、複数の構成要素(複数の処理部)を、単一のプロセッサによって実現するようにしてもよい。
また、上記説明において用いた「所定のメモリ」という文言は、上記「所定のプロセッサ」のレジスタ或いはキャッシュメモリ、ROM(Read Only Memory)、主記憶装置(RAM(Random Access Memory))又はHDD(Hard Disc Drive)或いはSSD(Solid State Drive)等の補助記憶装置等、上記LAサーバ3、APIサーバ4及びユーザ装置5に必要な各種記憶媒体を意味する。また、本実施形態に係る情報処理システム1において、上記HDD又はSSD等の機器以外にも、光磁気ディスク、CD(Compact Disc)又はDVD(Digital Versatile Disc)等の光ディスクを利用してもよい。また、本実施形態に係る情報処理システム1の保存領域は、ネットワーク2上に設けられた外部記憶装置(図示せず)内にあってもよい。
以上、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1 情報処理システム
2 ネットワーク
3 ローカルアプリケーション(LA)サーバ/処理装置)
4 アプリケーションプログラミングインタフェース(API)サーバ(中継装置)
5 ユーザ装置
2 ネットワーク
3 ローカルアプリケーション(LA)サーバ/処理装置)
4 アプリケーションプログラミングインタフェース(API)サーバ(中継装置)
5 ユーザ装置
Claims (4)
- ネットワークに接続された機器にインストールされたローカルアプリケーションの機能の一部又は全部を、前記ネットワークに接続された他の機器において利用可能とするための情報処理システムであって、
前記ネットワークを介して相互に接続される、処理装置と、中継装置と、ユーザ装置とを具備し、
前記処理装置は、前記ローカルアプリケーションを実行するように構成され、
前記中継装置は、アプリケーションプログラミングインタフェース(API)として機能させるためのAPIプログラムを実行するように構成され、
前記ユーザ装置は、前記中継装置において実行される前記APIプログラムを介して、前記ローカルアプリケーションと連携可能なエンドユーザアプリケーションを実行するように構成され、
前記中継装置は、さらに、
前記ユーザ装置において生成された制御信号を受信し、
前記受信した制御信号を前記処理装置へ転送し、
前記処理装置において出力された計算結果を受信し、
前記受信した計算結果を前記ユーザ装置へ転送する、
ように構成され、
前記制御信号は、前記エンドユーザアプリケーションに対応する操作画面を参照したユーザからの前記ユーザ装置に対する所定の入力操作に応じて生成され、
前記計算結果は、前記処理装置において、前記制御信号を入力して、前記ローカルアプリケーションにおける計算処理を実行することにより出力される、
情報処理システム。 - 前記処理装置は、
異なる種類の計算処理を各々実行するための複数のローカルアプリケーションを並行して実行可能であり、
前記異なる種類の計算処理を各々実行するための複数のローカルアプリケーション各々に対応付けて演算部を設け、
前記中継装置は、
前記制御信号に対応する前記ローカルアプリケーションの種類を判定し、
判定結果に基づいて、前記複数のローカルアプリケーション各々に対応付けて設けられた前記演算部のうちの前記制御信号を転送する演算部を選定し、
前記選定した演算部へ前記制御信号を転送する、
請求項1に記載の情報処理システム。 - 前記処理装置は、
同一の計算処理を各々実行するための複数のローカルアプリケーションを並行して実行可能であり、
前記同一の計算処理を各々実行するための複数のローカルアプリケーション各々に対応付けて演算部を設け、
前記中継装置は、
前記複数のローカルアプリケーション各々に対応付けて設けられた前記演算部各々における処理状況を監視し、
監視結果に基づいて、前記複数のローカルアプリケーション各々に対応付けて設けられた前記演算部のうちの前記制御信号を転送する演算部を選定し、
前記選定した演算部へ前記制御信号を転送する、
請求項1又は請求項2に記載の情報処理システム。 - 前記中継装置は、前記処理装置において、新たなローカルアプリケーションがインストールされた場合、ユーザからの前記中継装置に対する所定の入力操作の受信を契機として、前記新たなローカルアプリケーションに対応した前記APIプログラムに更新する、請求項1から請求項3のいずれか一項に記載の情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020189408A JP2022078608A (ja) | 2020-11-13 | 2020-11-13 | 情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020189408A JP2022078608A (ja) | 2020-11-13 | 2020-11-13 | 情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022078608A true JP2022078608A (ja) | 2022-05-25 |
Family
ID=81707242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020189408A Pending JP2022078608A (ja) | 2020-11-13 | 2020-11-13 | 情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022078608A (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02275563A (ja) * | 1989-04-17 | 1990-11-09 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理システムにおけるサーバ利用方式 |
JP2002358280A (ja) * | 2001-05-31 | 2002-12-13 | Ricoh Co Ltd | クライアントサーバシステム |
WO2011114536A1 (ja) * | 2010-03-19 | 2011-09-22 | あすなろ株式会社 | サービス仲介システム |
JP2013058163A (ja) * | 2011-09-09 | 2013-03-28 | Forum8 Co Ltd | 管理システム、管理サーバ、クラウドシステム、及びプログラム |
JP2017162312A (ja) * | 2016-03-10 | 2017-09-14 | 富士通株式会社 | 管理装置、管理プログラム及び管理方法 |
US10194001B1 (en) * | 2015-05-27 | 2019-01-29 | Google Llc | Automatic discovery of API information |
-
2020
- 2020-11-13 JP JP2020189408A patent/JP2022078608A/ja active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02275563A (ja) * | 1989-04-17 | 1990-11-09 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理システムにおけるサーバ利用方式 |
JP2002358280A (ja) * | 2001-05-31 | 2002-12-13 | Ricoh Co Ltd | クライアントサーバシステム |
WO2011114536A1 (ja) * | 2010-03-19 | 2011-09-22 | あすなろ株式会社 | サービス仲介システム |
JP2013058163A (ja) * | 2011-09-09 | 2013-03-28 | Forum8 Co Ltd | 管理システム、管理サーバ、クラウドシステム、及びプログラム |
US10194001B1 (en) * | 2015-05-27 | 2019-01-29 | Google Llc | Automatic discovery of API information |
JP2017162312A (ja) * | 2016-03-10 | 2017-09-14 | 富士通株式会社 | 管理装置、管理プログラム及び管理方法 |
Non-Patent Citations (1)
Title |
---|
久保達彦: "大規模インフラ運用最前線 第5回:APIによるサービス間連携", WEB+DB PRESS VOL.96, vol. 初版, JPN6022043729, 25 January 2017 (2017-01-25), JP, pages 152 - 160, ISSN: 0004900181 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6614340B2 (ja) | ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム | |
JP6092381B2 (ja) | ウェブクライアントを介したリモートアプリケーションへのアクセスを提供する方法、システム、及びコンピュータ読取可能記憶媒体 | |
JP6226394B2 (ja) | インスタンス化可能なジェスチャオブジェクト | |
Jia et al. | Improving the performance of distributed tensorflow with RDMA | |
JPWO2008117470A1 (ja) | 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法 | |
JPWO2009104400A1 (ja) | 情報処理装置、情報処理システム、設定プログラム送信方法及びサーバ設定プログラム | |
JPWO2016121754A1 (ja) | システム、仮想化制御装置、仮想化制御装置の制御方法及びプログラム | |
US20120324111A1 (en) | Task allocation in a computer network | |
JP2009054003A (ja) | 画像処理装置及びプログラム | |
JPWO2005116832A1 (ja) | 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム | |
JPWO2004086246A1 (ja) | 分散処理制御装置、分散処理制御方法および分散処理制御プログラム | |
JP2022078608A (ja) | 情報処理システム | |
WO2018181961A1 (ja) | 仮想ネットワーク機能管理装置、仮想インフラストラクチャ管理装置、及び仮想ネットワーク機能構築方法 | |
US20180189090A1 (en) | Exposing Hardware Work Queues as Virtual Devices in Virtual Machines | |
JPWO2017170309A1 (ja) | ネットワークシステム、その管理方法および装置ならびにサーバ | |
Park et al. | An efficient dynamic integration middleware for cyber-physical systems in mobile environments | |
JP2015184909A (ja) | 画像処理システム、データ管理方法及びプログラム | |
JP2018005636A (ja) | 送信制御プログラム、送信制御方法および情報処理装置 | |
JP2019169134A (ja) | 演算量分担機能付きコンピュータ入力システム及びそのコンピュータ入力方法 | |
US11509562B1 (en) | System and method for a system level data sharding analysis of information handling systems | |
US10268529B2 (en) | Parallel processing apparatus and inter-node communication method | |
US20230205448A1 (en) | System and method for a local level data sharding analysis of information handling systems | |
JP2019096244A (ja) | 情報処理システムおよび情報処理方法 | |
JP5992689B2 (ja) | 管理装置、管理装置の制御方法 | |
JP2019046093A (ja) | 情報処理装置およびその処理方法とプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210906 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221019 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230412 |